JPEGに絡んでよやさんと話すことになった。発端はここらへん。
予習としてiPhone 5の“slide to unlock”アニメーションで使われている変態JPEGファイル (unlock_001.jpg) について調査したツイートを以下に貼り付ける。
予習として例のJPEGファイル ( d.hatena.ne.jp/yoya/20121030/… ) のDQT/DHTの種類だけ調べておいた。 gist.github.com/4019375
— Ryusuke SEKIYAMAさん (@rsky) 11月 5, 2012
SOSのAlまでもダンプして実際に参照しているハフマン表を確認しておくんだった。しかし時間切れ。
— Ryusuke SEKIYAMAさん (@rsky) 11月 5, 2012
このDHTの割り方を見ると、元のJPEGファイルで上から下に行くにつれて高周波成分が増えている理由も見えてくる
— Ryusuke SEKIYAMAさん (@rsky) 11月 5, 2012
DHTの現れる順番が、輝度DC成分→色差DC成分→輝度AC成分→色差AC成分
— Ryusuke SEKIYAMAさん (@rsky) 11月 5, 2012
ざっくり言うと先頭には輝度・色差の変化が少ないSOSセグメントが配置されており、後になるにつれてハフマン表を追加・更新しつつ変化の大きいSOSセグメントが配置されている。 画像を見れば大体そんな感じかなと察しはつくものの、実際に調べてみるとやっぱりこれを考えた人はかなりキているなと思わざるをを得ない。
ブロックの再配置が許される場合にしか使えない手法で、一般的な画像の高効率圧縮には不適だけど、技術的にはとても刺激になった。