不思議なことですが、Jpegは赤の劣化がひどいとか、にじむとか、そんな話で引き合いに出される画像は、だいたいサブサンプリングした(色差の情報を間引いた)ものが使われています。
サブサンプリング(ダウンサンプリングとかいわれたりする)に関してはその90「JPEGの特徴」 - 槻ノ木隆の「BBっとWORDS」を見て頂いた方が文字だけで説明するより分かりやすいと思います。
(PDFでよければもっと詳しい解説(知っておきたいキーワード 4:4:4と4:2:0もあります)
実際に比べて見れば一目瞭然ですので、色差を間引いてない画像(4:4:4)間引いた画像(4:2:0)のサンプルを作ってみました。
元画像はこちらのPNG
Jpegに変換するのに使用したソフトはiJPEGCompで、表題の「4:4:4」はサンプル4:4:4、「4:2:0」は4:1:1(2x2)で作成後、最適化しています。
YCbCr 4:4:4 | YCbCr 4:2:0 | |
---|---|---|
画質100 | 禺画像] | 禺画像] |
23,122 | 12,019 | |
画質 90 | 禺画像] | 禺画像] |
10,714 | 6,023 | |
画質 80 | 禺画像] | 禺画像] |
8,034 | 4,640 | |
画質 70 | 禺画像] | 禺画像] |
6,561 | 3,896 |
画像の下の数値はファイルサイズ(バイト)になっています。
色差情報を間引かない設定(4:4:4)なら、拡大でもしないと(ブラウザの機能などで拡大して確認してみてください)何処が劣化したのか分からないのではないでしょうか?
(流石に画質70では拡大せずとも、モスキートノイズが見えてますが)
一方4:2:0では画質100であっても、赤、青、緑いずれもおかしいのが分かってもらえると思います。
4:2:0の設定で保存した画像で、「Jpegは赤の劣化がぁ」とか「にじみがぁ」とか言うのはおかしいなっと私は思うわけです。
※このサンプル画像はJpegに不利になるように調整しています。4:2:0で保存しても、画質を落とさなければ、普通は気づかないレベルに収まるはずです。
ところで、iJPEGCompを使えば、比較しながら最適な画質が選べますが、使い慣れたアプリから直接Jpegで保存する場合やバッチ処理ではそうはいきません。
どのくらいの画質が最適か?となると、こればかりは人それぞれ、目的次第、と言わざるえません。
しかしながら、JpegAnalyzer Plusオンラインヘルプに指標になりそうな資料があります。
(資料を前提に)私見を述べると
画質は譲れないという場合、97〜100(PNGを検討すべきレベル)
拡大しないと分からない程度でいい場合、92〜96
バッチ処理でとりあえず処理する場合、90
よく見なければ気にならない程度の場合、85〜91
セコメントをする