JPEG保存で解像感は劣化するか?

投稿日:2014年3月6日 更新日:

デジタルカメラ

まず初めに、解像感評価ソフトをアップデートしたのでダウンロードできるようにしておく。これまでJPEGにしか対応していなかったが、他にもTIFF, PNG, BMPを読めるように改良した。同時にコントラスト基準値のデフォルト値を少し厳しめに変更した。

ダウンロード:Resolution_v102.zip

またソフトが正しく動いていることを確認するために、人工的に作成したテストパターンもダウンロードできるようにしておく。画像は2560x2560ピクセルの大きさがある。サムネイルを右クリックして「リンク先を保存」でダウンロードできるだろう。

sine016正弦波16本

rectangle016矩形波16本

どちらも同じく各辺に16本ずつの白黒線が描かれている。これがいわゆる空間周波数16本の状態だ。斜めにしてあるのは縦横両方向にスキャンして解析するため。どちらも本数は同じなのだが、拡大して見ると正弦波の方は線のエッジがぼやけているのに対し、矩形波の方ははっきり白黒に分かれている。それだけの違いだ。

これをソフトで解析してみると、明確な違いが現れる。まず正弦波の方を解析するとこんなヒストグラムが得られる。

hist_sine16
ヒストグラムの幅は1本あたり32だから、ちょうどその真ん中、一番低周波のところに1本だけピークが現れ、それ以外はほぼゼロになる。つまり高周波成分をまったく含んでいないということだ。

「生データを保存」を使ってCSVファイルに書き出してみると、16番目だけに強いピークが現れていることがおわかりいただけるだろう。

一方、矩形波の方を解析するとまったく異なるヒストグラムが得られる。

hist_rectangle16
すると16本に相当する場所だけでなく、それより高い周波数領域にまでスペクトルが広がっていることがわかる。実際には16本しかないのに、なぜこんなに高周波が出てくるのか不思議に思われるだろう。でもこれが正しいのだ。

そのカラクリは線のエッジにある。エッジが正弦波的にぼやけていると高周波成分はまったく出てこない。しかしエッジがシャープで明暗差が大きいほど、本来の空間周波数の整数倍の高周波成分が多く出てくる。つまりエッジの部分に高周波成分が潜んでいるということなのだ。したがって、この周波数解析を行って高周波成分を多く含んでいる写真ほど鮮鋭度が高いということがおわかりいただけるだろう。

ここまでは前置きなのだが、今回TIFFなどに対応させた理由は、JPEG保存でどのくらい解像度が落ちるのかを知りたかったからである。ご存知のように、JPEGは人間の目に感じにくい高周波成分を切り捨てることによって大幅な圧縮を可能にしている。もし劇的に解像度が落ちてしまうのなら、JPEGで解析をしても意味がないことになるからだ。

またデジタルカメラには画質設定というものがあって、メーカーによって呼び方は異なるが、ペンタックスなら★★★/★★/★、オリンパスならスーパーファイン/ファイン/ノーマル、ニコンならFINE/NORMAL/BASICという名称でおよそ3段階くらいに設定できるようになっている。これを選ぶとき、結構悩むことはないだろうか? 確かに一番低い設定だと明らかに悪いのはわかるのだが、K-30では★★★と★★の違いなど、目で見てもまったくわからないような気がする。その割にファイルサイズが倍くらい違うのだから、★★で十分じゃないか?とも思えてくるのである。

そのことを確認するために、単一のRAWファイルからさまざまな条件で現像してみて解像感の劣化を検証してみた。これならソースは完全に同一だから、厳密な比較が可能なはずである。テストには解像感の検証で使った以下の画像を再利用した。

20140303_142519
K-30 / SIGMA 17-50mmF2.8EX DC 17mm f5.6

まずリファレンスとして、Lightroomで非圧縮のTIFFに出力した場合を解析してみよう。これが一切の間引きをしていない状態である。なおTIFFには16bit形式と8bit形式があるが、本ソフトでは最終的に8bitに丸められるため、どちらを使っても結果は同じである。

sigma1750_17mm_f56_tiff
画像解像度:2560 LW/PH
光学解像度:81.5 LP/mm
ナイキスト周波数に対する割合:78.43%
実効画素数:9.89 Mpixels

この前より数値が下がったと思われるかもしれないが、これはコントラスト基準値を少し厳しくしたためだから気にしないように。このときの数値を覚えておいていただいて、次にJPEGの圧縮率を変えながら出力した結果を画像解像度とファイル容量について示す。

Lightroom JPEG品質100:2590 LW/PH 16.3MB
Lightroom JPEG品質90:2602 LW/PH 10.5MB
Lightroom JPEG品質80:2590 LW/PH 7.73MB
Lightroom JPEG品質70:2546 LW/PH 5.82MB
Lightroom JPEG品質60:2456 LW/PH 3.47MB

すると品質80くらいまではTIFFとほとんど変わらない結果が得られた。むしろわずかに良くなっているくらいである。この理由についてはよくわかってないが、一つにはカラーマネジメントの影響があるかもしれない。LightroomのTIFFにはICCプロファイルが埋め込まれているようなのだが、ソフトではそれは反映されないので微妙に色が変わる。そしてもう一つはJPEG特有の8x8のブロックノイズの影響があるかもしれない。そのため高周波成分が多めに出る可能性はある。しかしまあこのくらいは誤差の範囲と思って問題ないだろう。

以上の結果より、Lightroomでは少なくとも品質80まではほとんど解像度が落ちないことがわかった。したがって、JPEGでも品質80以上で出力してやれば解析に使って問題ないということだろう。またファイル容量の劇的な差を考えると、普通の目的には品質70~80で十分だということもわかる。品質60まで下げると明らかに解像度が落ち始めるようだ。

次にK-30のカメラ内で現像した場合について解析してみよう。こちらも画像解像度とファイル容量についてのみ示す。

K-30 ★★★:2586 LW/PH 7.28MB
K-30 ★★ :2560 LW/PH 4.09MB
K-30 ★  :2476 LW/PH 2.23MB

目で見た限りは明らかにLightroomより精細感が劣るのだが、それでもほぼ同じ結果が出た。やはり★★★と★★はほとんど解像度に差はないようだが、★では明らかに落ち始める。

この結果について、現像エンジンがまったく異なるのだから、同列に評価するのは正しくないと思う。おそらく解像感が落ちた分をシャープネスでエッジを強調し、そのため見かけ上高周波成分が多く出ている可能性もある。

こうやって見ると、品質を下げるとファイル容量が劇的に小さくなる割には解像感はほとんど落ちていないことがわかる。これは意外な発見だった。しかしファイル容量が小さくなるということはそれだけ情報量が減ったわけであり、そのしわ寄せはどこかに来ているはずである。たぶん、それは階調性だろうと推測している。

たとえばカメラ内現像の場合、★まで落とすと空の部分に明確なトーンジャンプが見られる。とても見られたものじゃないレベルだ。これは階調が大きく間引かれていることを意味する。さらによく見ると★★でも空の部分にわずかに色ムラが見られる。解像感は★★★と変わらないのだが、ここだけが微妙に異なる。ファイル容量が倍ほど違うのだから、当然あって不思議ではない劣化である。

このことから推察するに、おそらくJPEGの出力はまず階調を先に間引き、その次に解像感を間引くアルゴリズムになっているのではないだろうか? 要するに解像感優先の設定だ。それは解像感にうるさい人間は多くても、階調には無頓着な人間が多いことと無関係ではないだろう。

-デジタルカメラ
-, ,

Copyright© DEJA VU ~いつか見た光景~ , 2024 All Rights Reserved Powered by STINGER.