本記事は一般的な画像圧縮方式JPEGに着目して,データの構造や圧縮方法を調査し,まとめた.
#JPEGの構造
JPEGファイルは、先頭にSOIマーカ(FFD8)、最終にEOIマーカ(FFD9)というもので挟まれており、その間の領域に複数のセグメントと画像データが有る.マーカはJPEGファイル内の各セグメント先頭に書かれている2Byteのcodeで,FF00以外は,各マーカの1Byte目がFFで始まる.詳しくはこちらを参照.
以下の図はバイナリーエディタを用いてJPEGファイルを開き,FFから始まるマーカーを赤く示している.
#バイナリデータに変換
JPEG形式では画像を圧縮しバイナリデータに変換する際に,一辺が8ピクセルの倍数の小さな画像に分割し,個々の画像をデータに変換する.戻す時は,順番に復元し,個々の画像をつなげ合わせて1枚の大きな画像にする.
本記事ではJPEG形式の圧縮方法の概要理解を促すため,変換過程の一例を以下図にて示す.専門用語については,こちらをご参考下さい.
#参考文献
JPEG画像の中をちょっとだけのぞいてみる
JPEGファイルの理解を深める
画像データの構造
JPEGのハフマン符号 (1) DC成分
マーカ一覧