最終更新:2024-11-27 (水) 02:35:31 (218d)  

JPEG
Top / JPEG

Joint Photographic Experts Group

ファイル全体構造

セグメント名マーカー名マーカー値
イメージ開始SOIFFD8
タイプ0のアプリケーションAPP0FFE0
量子化テーブル定義DQTFFDB
フレームタイプ0開始SOF0FFC0
ハフマン法テーブル定義DHTFFC4
スキャン開始SOSFFDA
イメージ終了EOIFFD9
  • ヘッダ:\xFF\xD8\xFF\xE0
  • フッタ:\xFF\xD9

メモ

  • JPEG ではいろいろなテーブルを「マーカ」から始まる「セグメント」という単位で管理しています。マーカは,必ず 0xFF とそれぞれのマーカ固有の 1 バイトを組み合わせた 2 バイトから始まります。この仕様のため,JPEG ファイルを 0xFF でサーチすることで,その中で用いられているすべてのマーカを検出することができます。
  • ただし,0xFF はヘッダ部分だけではなく,圧縮データの中にも出てきます。この場合には 0xFFの直後に圧縮データとしては意味のない 0x00 を挿入する決まりになっています。「0xFF, 0x00」はマーカではなく,圧縮されたデータ「0xFF」のことを示します。
  • https://www.renesas.com/en/document/man/716276?srsltid=AfmBOopbgpb2Namotd_kDVJE5fH9h0RvB3B3P8C2b7bZr3tgtX2bSA4z

JavaScriptによるJPEGエンコーダ

最適化

参考