非可逆画像圧縮形式の比較(画像選びの時点で大失敗編)

今回使用したのは、たぶんどっかのお絵かき掲示板で拾ったと思われる画像(400x400)

下の画像は、1段目の左から、0.1%に圧縮。0.3%に圧縮。1.0%に圧縮。2段目が、3.0%に圧縮。10%に圧縮。可逆圧縮。普通10%圧縮くらいのをつかうか。実用を考えるなら、3%から10%の間で詳しく比較すべきなのだけど、超高圧縮萌えな俺の趣味でこんなんなってます。

JPEG形式

http://sea-side-web.hp.infoseek.co.jp/JPG.png
使ったソフト「VIX」
http://homepage1.nifty.com/k_okada/
おなじみの形式。画像を8x8ドットのブロックごとに分割し、離散コサイン変換をかけた後、無駄な周波数成分を間引いたあと圧縮。

JPEG2000形式

http://sea-side-web.hp.infoseek.co.jp/J2K.png
使ったソフト「AtoB Converter」+「JPEG2000出力用XPI」
http://www.asahi-net.or.jp/~kh4s-smz/spi/abc/
http://www.afis.to/~almclock/(閲覧不能。どっか移ったのかな?)
JPEGの後継として作られたけどぜんぜん普及しない形式。ウェーブレット変換とゆーのを使う。

HDphoto

設定別に3つあります。
http://sea-side-web.hp.infoseek.co.jp/HDP_o0_422.pngオーバーラップレベル0
http://sea-side-web.hp.infoseek.co.jp/HDP_o1_422.pngオーバーラップレベル1
http://sea-side-web.hp.infoseek.co.jp/HDP_o2_422.pngオーバーラップレベル2
使ったソフト「WEOX/HDPV」
http://jnc.s21.xrea.com/
マイクロソフトが開発して、vistaから使えるようになった画像形式。で、上のソフトを使えばXPでも扱えるっぽいのでとりあえず試してみた。

HPC形式

http://sea-side-web.hp.infoseek.co.jp/HPC.png
使ったソフト「Bit Map Compressor」
http://hp.vector.co.jp/authors/VA018074/
たぶんこの中で一番マイナーな形式。JPEG2000クラスの性能を持つ。

評価

で、画像選びの時点で失敗した、っていうのは、通常使う10%圧縮のを見るとJPEGが一番画質がいいように見えるとゆー。モスキートノイズを無視すれば。ほかの形式は、左上の部分で波打ちみたいなノイズ*1があるし。モスキートと違って低周波だから目立つし。そもそもお絵かき掲示板で描かれるような絵は、JPEGみたいな非可逆画像圧縮には向かないので、非可逆圧縮じゃなくてPNGみたいな可逆圧縮にするって、その時点で負け確定。ただ、この画像の場合、PNGで圧縮してもなかなか縮まないという困ったちゃんな画像。いや、俺はそういう画像が一番好きなんだけれども。これで、256色くらいに減色した時にマッハバンドがぶぁああって出たら、もう完璧なんですけど。
3%になるとJPEGはブロックノイズが出てきますな。JPEG2000はノイズっぽさがない代わりにディティールも潰れてる。HPCはその逆。HDPはオーバーラップレベル1と2で、波打ちみたいなノイズの広がりかたが違って見える。まぁ、この画質で使うやつはいないだろうけど。それぞれの圧縮の特性がわかりやすく出てるのがこの辺。
1%以下は限界チャレンジみたいなもんです。俺の趣味です。見なくてよし。

*1:これ正式名称なんていうんだ?