前回(-処理工程の話-)見た通り、JPEGに関して万能のソフト、万能の設定というのは基本的に存在しません。
JPEG化の際に行われているのは機械的なデータのカットですが、JPEG化された画像を見て、綺麗、汚いを感じるのは人間の目です。つまり「どこまでぼんやりさせれば汚くなるか」は各画像によって違うので、最終的には人間の目で見ながら調整しないとわからない、ということ。これは前回にも書きました。
ただし、やはり原則としてデータ量と画質はおおむねトレードオフの関係です。例外(※)はあるものの、「高品質設定であるほど保存した画像の質も良い」という原則自体は、まず信頼して良いでしょう。
※とくにドット絵や極端に画素数の少ない画像の場合。
また画質を悪くした結果かえって味が出るという可能性までは排除できません。
前回の画像のぼやかし方の解説に書いたとおり、ダウンサンプリングをかけると、1ピクセル単位での細かい変化は間引かれてしまいます。写真の場合は1ピクセル単位でパッキリ分かれるような変化は普通ないので、(上から文字を書いたりした場合は別)、基本的にたいした問題にはなりません。
実際、デジカメ等でも最初からサンプリング比4:2:0で保存される場合が多いようです。しかしイラストやCGはむしろ意識的に上記のような箇所を作ったりすることが普通に行われますから、そこが潰れると明らかな劣化として非常に目立ってしまうことが多々あり、「JPEG化する際にダウンサンプリングしない」のはセオリーともいえます。
Photosohpの「Web用に保存」を使った場合、画質50以下でダウンサンプリングがかかります。
よって、イラストやCGは51以上をだいたいの目安としておけばよいと思います。むろん、gifやpngを使える場合はそちらの方がいいです。(身も蓋もありませんが)
変化の激しい箇所では、量子化によるぼやかし処理で色が混じってしまうことが多々あります。
これが有名なモスキートノイズというやつで、明暗の変化もそうですが、色が急に変化する箇所(鮮やかな色の上に黒で書いた文字など)でも起こります。
とはいえほとんどの場合は変化に必要な階調が足りてないだけなので、それなりに画質を上げてやれば解消します。逆にもともとボンヤリした…たとえば全体にぼかし処理を施すなどした画像の場合は、かなり思い切って画質を下げても影響は出にくいです。
だからどうしたって程じゃないんだけど、まぁ要は画質調整の際は輪郭部分に注目するといいよ、ってことで…
量子化の処理は8×8のブロックごとに行われるという話を前回書きました。
では1枚の画像を8×8に分割して、あまった端っこはどう処理しているのかというと、ダミーデータで埋めて処理した後、表示するときに切り落としているのです。つまり最初から縦横を8の倍数ピクセルで作っておけば効率が良い、と。
ただ実用上実感できるぐらいすごく恩恵があるかというと、ほとんどの場合そうでもありません。
例えば、サイズが縦横8の倍数サイズだと回転しても画像が劣化しないというような話がよくあります。たしかに8×8のブロックごとに処理しているのですから、同じ量子化テーブルを使う限りはロスなしでもよさそうなのですが、実際は予想に反して回転後に保存した画像は劣化してしまいます(※)。
8の倍数でつくったファイルがそうでないファイルより劇的に軽いわけでもありません。でも処理上のしくみは一応上記のようになってるので、あえて8の倍数を外す理由もないでしょう。ちなみにデジカメの撮影データなどはふつう最初から8の倍数サイズになっています。
※これはPhotoshopの場合。明確に無劣化と謳ってるツールの場合は大丈夫かもしれません。というかPhotoshopはJPEGを開いてそのまま同じ設定で保存するだけでも劣化するので、回転処理が直接の劣化原因ではない可能性も高いですが。
これについては追検証記事をあらためて掲載予定。
(シンヲ)
カテゴリ:画像処理 2013/5/13 12:21