アカウント名:
パスワード:
「パラメータにはまだまだ余裕があると言っても、そんな圧縮ができるソフトなんて存在しない。もうJPEG圧縮ソフトを自作するしかないかなぁ」って、画像をラズパイの convert -quality 1 コマンドで変換したらダメなのでしょうか?
試しにやってみたconvertの結果より、確かに画質が悪いような気はするけど…
「-quality 1と指定されたときにどう動作するか?」はconvertを作ってる人のさじ加減次第。これ以下の設定を使う奴は居ないだろう、という程度に手加減されてる可能性もある。ちらっとマニュアルを見てみたけど、量子化テーブルがちゃんと最低に落ちるかどうかは不明。
というか、量子化テーブルを直接指定のものにするオプションがあったような気がして探してみたけど、-defineオプション [imagemagick.org]の
>jpeg:q-table=table>q-table=quantization-table.xml Custom JPEG quantization tables.
この辺がそうかも。こいつらで全部1なりにしてやれば、再現できるんじゃないかな。
convertを作ってる人のさじ加減次第
これを言うと記事中の Picamera の API だって実装者の加減次第だから、論点は
量子化テーブルがちゃんと最低に落ちるか
ではなくて、「(いかにも技術的な必然性によって)自作してるがそもそも必然性があるのか。ImageMagick で十分では」という意見だと思うが。
ところでタイトルの「最も圧縮した」も曲者だね。「品質を下げた」なら理解できるが、mozjpeg [github.com] 類の話かと思った。
ふつーソフトからJPEGの読み書きには libJPEG (つまりIJGのリファレンス)を使うし、そうじゃなくてもqualityパラメータを指定するならIJGのリファレンスに合わせるものだから、quality指定時の、利用環境の違いによる画質の違いは考えなくてもいいかと。ImageMagickはlibJPEG(もしくはその眷属)をリンク。picameraはソースを見たところハードウェアでJPEGエンコードしておりその詳細は未公開だが、APIの引数仕様を見る限りではquality指定時はIJGのtableに合わせるみたい。
で、今回の自作カメラは、picameraでquality=1を指定してるから、ImageMagickで quality=1を指定したのと結果はほぼ同じじゃないかな。中間画像を介さない分、picameraの方がちょっと画質は上か?
今回の件は「ImageMagickによる後処理でも要件は実現出来たが、quality=1画質で撮影できるデジカメをでっち上げたことで、より(デイリーポータルZの記事として)面白い結果が得られた」ものだと思う。
元コメに、
>試しにやってみたconvertの結果より、確かに画質が悪いような気はするけど…
とあったので、「convertよりも、Picameraの方がより荒くなるパラメータになっているのかな?」という疑問だと思ったので、画質が違うならこういう理由、と挙げたんだけど。別のコメントによると、同じっぽいので、「気のせい」って結論みたいですね。
GIMPのExport optionでQualityを0、EXIFとかの付加情報を全て無しにすると10M画素の画像が142.5kB保存された画像は、まぁ記事のままです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
ラズパイだってLinuxだよ (スコア:0)
「パラメータにはまだまだ余裕があると言っても、そんな圧縮ができるソフトなんて存在しない。もうJPEG圧縮ソフトを自作するしかないかなぁ」って、画像をラズパイの convert -quality 1 コマンドで変換したらダメなのでしょうか?
試しにやってみたconvertの結果より、確かに画質が悪いような気はするけど…
Re: (スコア:0)
「-quality 1と指定されたときにどう動作するか?」はconvertを作ってる人のさじ加減次第。これ以下の設定を使う奴は居ないだろう、という程度に手加減されてる可能性もある。ちらっとマニュアルを見てみたけど、量子化テーブルがちゃんと最低に落ちるかどうかは不明。
というか、量子化テーブルを直接指定のものにするオプションがあったような気がして探してみたけど、-defineオプション [imagemagick.org]の
>jpeg:q-table=table
>q-table=quantization-table.xml Custom JPEG quantization tables.
この辺がそうかも。こいつらで全部1なりにしてやれば、再現できるんじゃないかな。
Re: (スコア:0)
これを言うと記事中の Picamera の API だって実装者の加減次第だから、論点は
ではなくて、「(いかにも技術的な必然性によって)自作してるがそもそも必然性があるのか。ImageMagick で十分では」という意見だと思うが。
ところでタイトルの「最も圧縮した」も曲者だね。
「品質を下げた」なら理解できるが、mozjpeg [github.com] 類の話かと思った。
Re:ラズパイだってLinuxだよ (スコア:1)
ふつーソフトからJPEGの読み書きには libJPEG (つまりIJGのリファレンス)を使うし、そうじゃなくてもqualityパラメータを指定するならIJGのリファレンスに合わせるものだから、quality指定時の、利用環境の違いによる画質の違いは考えなくてもいいかと。ImageMagickはlibJPEG(もしくはその眷属)をリンク。picameraはソースを見たところハードウェアでJPEGエンコードしておりその詳細は未公開だが、APIの引数仕様を見る限りではquality指定時はIJGのtableに合わせるみたい。
で、今回の自作カメラは、picameraでquality=1を指定してるから、ImageMagickで quality=1を指定したのと結果はほぼ同じじゃないかな。中間画像を介さない分、picameraの方がちょっと画質は上か?
今回の件は「ImageMagickによる後処理でも要件は実現出来たが、quality=1画質で撮影できるデジカメをでっち上げたことで、より(デイリーポータルZの記事として)面白い結果が得られた」ものだと思う。
Re: (スコア:0)
元コメに、
>試しにやってみたconvertの結果より、確かに画質が悪いような気はするけど…
とあったので、「convertよりも、Picameraの方がより荒くなるパラメータになっているのかな?」という疑問だと思ったので、画質が違うならこういう理由、と挙げたんだけど。別のコメントによると、同じっぽいので、「気のせい」って結論みたいですね。
Re: (スコア:0)
GIMPのExport optionでQualityを0、EXIFとかの付加情報を全て無しにすると10M画素の画像が142.5kB
保存された画像は、まぁ記事のままです。