内容が古くなっている場合があります。
難易度
デジタル写真を扱いはじめると画像の圧縮形式の違いによって画質どころか写真そのものが変質するのを知るでしょう。非可逆圧縮を採用し古い形式のJPEGには問題が多く、最近ではサイトやSNSにアップする更に圧縮されるケースもあり、表示された画像にがっかりする経験をした人もいるはずです。
デジタル画像は1ドットずつ明るさと色の情報を持つ、正方形のタイルを敷き詰めたモザイク絵画のような構造をしている。
タイルでつくるモザイク絵画では、何段階かの色調の限られた色数のタイルを使って表現をする。たとえば、赤=100枚、緑=50枚、青=80枚を使って完成させたといった具合だ。デジタルではR(レッド)、G(グリーン)、B(ブルー)の各色を更にこまかく何段階にも分けて記録したり表示したりしている。16bit colorなら理論上65536色の違いを表現できる。
ただし、このまま記録したり表示するため転送したりすると当然だがデータの容量が大きく扱いにくい。ブロードバンドが普及する以前のナローバンドの時代では、同容量でも転送に時間がかかったしストレージに余裕がなければ保存できる量にも制限が大きかかった。
そこで画像を圧縮する必要があった。圧縮後に元データと一致しない別物の画像になっても、人間の目に違いがわからなかったり、たいした違いでないならそれでよしとして開発されたのがJPEGだった。
ところがブロードバンドに時代になりストレージの大きさ余裕が出てきても、一旦事実上の標準になったJPEGはもっと効率よく、もっと画質がよい圧縮形式が開発されてもインターネット上ではいまだ幅を利かしている。もし別の形式をネットにアップしようものなら、特定のブラウザでは表示できても他ではできないといった問題を抱えることになる。
ややこしいのはSNSの普及、Wi-FiやLTEなど無線でインターネットへアクセスして画像を見る人が増えたことで転送量を減らす要求が強くなったことだ。
このためSNSやWEBサイトを動かしているシステムが、アップロードされた画像を再圧縮したり別の画像形式に変えたりするようになった。実は私のサイトにもこうしたシステムを導入していて、WebPを表示できるブラウザにはJPEGをWebP化して送り出している。
自分でやっていて文句をつけるのはおかしいが、できるなら元の画像から情報を間引いて別物にする不可逆圧縮をJPEG、WebPと二度がけしたくない。したくないけれど、従来の液晶ディスプレイより2倍以上精彩なものがスマートフォンやPC用に搭載されて、送り出す画像サイズも表示されるサイズの2倍=面積4倍のものを用意しなくてはならなくなった。だからこんなことをしている。
そもそもJPEGには「赤浮き」問題があった。
なだらかに色、明るさが変化する空に、なぜかうっすら赤い領域ができたりしたことはないだろうか。これはわかりやすい例だが、他の箇所に紛れて目立たないが案外やっかいな状態で赤浮きが発生していたりする。
そして「段付き」。
なだからなグラデーションを描いで明-暗の変化をする領域が、何段階かの段付きで変化するケースだ。
段付きの例を示す。まじまじと観察したい方はクリックまたはタップで画像を拡大できる。
次に同じ元画像から可逆圧縮(圧縮後も元画像と一致する圧縮方式)のPNG24で圧縮した画像を示す。
以前にも例を示して説明したことがあった。
上掲の例では赤浮きも顕著だ。
このような現象が発生するのはカメラやレンズが劣っているからではない。元画像の調子(天候・ライティング・被写体それぞれの状態)に現像時の調整(または特に調整しなくてもソフトウエア固有の調子)に不可逆圧縮がからみあって発生する。コントラストや応答特性(ガンマ値)を穏やかにする=グラデーションの変化が緻密かつゆっくり階調が変化させると発生しやすいし、むしろ階調を丁寧に記録できる機器で発生する例まである。
現像ソフトでは大丈夫だったが、書き出した画像に赤浮き、段付きが発生していた場合はコントラストと応答特性を中心に点検する必要がある。ただし現像ソフト上ではわからないのだから書き出し、圧縮、リサイズなど最終的な使用目的にあわせた画像をつくって結果を見るほかないだろう。赤浮きを色調調整で「赤」を抜く方法でごまかせる場合もあるが、大概は不自然な結果を招くので注意したい。
慣れてくれば、元データの調子、現像方法から不可逆圧縮後に劣化が出る傾向が読み取れるようになるだろう。
ここまでは不可逆圧縮JPEGと可逆圧縮PNG24の比較だった。両者は画像の内容に影響を受けるがPNG24のほうが容量が3倍程度まで大きくなることが多い。それでも段付きや赤浮きよりよいためPNGを採用せざるを得ないのだ。
ダウンロードを速く容易にするため更なる圧縮が求められている例としてWebPを紹介した。もしこのページをWebPを表示できるブラウザで見ているなら、段付きの例を示した画像や赤浮きまでしている段付き見本の画像はWebPで再圧縮されたものが転送されているはずだ。
WebPの圧縮アルゴリズムJPEGよりよほどまともなので、JPEGの二度掛けほど劣化はしない。しかし不可逆圧縮を二度掛けるのは、見かけの保持と容量減の綱渡りのうえで成り立っている。
解決策は、時代遅れのJPEGに引退してもらって進化した不可逆圧縮形式をすべてのブラウザが採用する未来しかない。
サイト側がすべての画像形式(GIF動画以外)をWebPに書き換えるならPNG24でアップロードすれば劣化の度合いは小さいだろう。しかしPNG24は変換するにも、表示するにもマシンパワーを必要とする欠点がある。ほんとうまい話はないのだ。
© Fumihiro Kato.
Unauthorized copying and replication of the contents of this site, text and images are strictly prohibited. All Rights Reserved.