2016年08月13日

JPEGを再圧縮すると劣化するかテスト

 JPEGは非可逆圧縮だから、くり返し保存すると劣化する、保存し直す場合はPSDなどのソースファイルからしないといけない、といわれている。
 実際、どれくらい劣化するのだろうか。

 以下のテストは、Photoshop CS6、画質5(中)、ベースライン(最適化)で行った。

テスト1:劣化しない

 画像をJPEGで保存して閉じ、また開いてJPEGで保存して閉じ、を10回くり返した。


画像は400%に拡大している。ノイズが正確に拡大されるよう、ニアレストネイバー法を選んでいる。

 1回目の保存で一番劣化が進んでいるのは当然で、2回目にも少しノイズが増えている。しかし3回目以降はノイズが増えている様子は見られない。
 同じ画像に対してJPEG圧縮をくり返しても、劣化はほとんど進まないようだ。

テスト2、3:劣化しない

 テスト1で劣化が進まないのは、画像が同じなため同じ圧縮アルゴリズムが毎回適用され、同じ結果になるのだと思われる。
 では画像に手を加えたらどうなるだろう。

 保存1回目の画像に矢印を描き足し、保存(2回目)した。描き足していない保存2回目の画像と比較する。

 描き足した部分のみノイズが増えており、変更されていない部分のノイズは変わらない。

 保存1回目の画像全体を90°回転させて保存(2回目)し、また元の位置に戻して保存(3回目)した。回転させていない保存3回目の画像と比較する。

 ほとんど違いがない。どうやらJPEG圧縮のノイズは近隣のピクセルによって決まるので、ピクセルの相対位置関係が変わらない限りはノイズも変わらないようだ。

テスト4:劣化する

 では画像全体に変更を加えるような加工をするたびに再保存したらどうなるだろう。
 64×64の画像を128×128に拡大して保存し、また64×64に縮小して保存、そしてまた128×128にして保存……という手順を10回くり返した(保存をした回数が10回)。拡縮(拡大・縮小)のくり返しで画質が変化しないよう、ニアレストネイバー法で行った。


比較する都合上、64×64の画像と128×128の画像を同じサイズ(256×256)にしている。

 この場合は再保存するたびに劣化が進んだ。拡縮されるたびにノイズのピクセルの位置関係が変わり、新たにノイズが加えられるからだろう。
 おそらく色調補正などの画像全体を加工するものでも、似た結果になるのではないだろうか。

結論

・画像に大きな加工を加えずに再保存するなら、あまり気にする必要はなし。
・画像全体に加工をするなら、JPEGで再保存しない方が良い。

※今回のテスト結果は Photoshop CS6 を使った場合であり、他のソフトだと同じ結果にならない可能性もある。

posted by 葛 at 10:13 | Comment(0) | その他2Dグラフィック
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]