JPEG/マーカー

提供: MonoBook
移動: 案内検索

JPEGマーカー英語:maker)とは、JPEGファイルの中に存在する2バイトの区切りのことである。

概要[編集]

JPEGファイルは基本的に以下のような構造の繰り返しになっている。 ようするにバイナリHTMLタグみたいなものである。

2バイト 2バイト 可変長
マーカー データ長 データ本体

マーカーは2バイトも使っているが上位1バイトは「0xFF」固定だったりする。

JPEGと互換性のないJPEG2000も基本的にはJPEGのファイル構造をベースとしており、新たにマーカーを追加拡張するかたちで実装されている。

マーカーの種類[編集]

JPEGを標準化した標準化団体のITU-Tは何でもかんでも3文字アルファベットで表記する決まりがあるため、それぞれのマーカーには3文字アルファベット(+数字の場合もある)が割り当てられている。

バイト表記 ITU-T表記 概要
0xFF, 0xC0 SOF0 基本処理 DCT 処理のフレーム開始マーカー。一般的なJPEGはこれ。
0xFF, 0xC1 SOF1 拡張順次 DCT のフレーム開始マーカー、ハフマン符号処理
0xFF, 0xC2 SOF2 段階 DCT のフレーム開始マーカー、ハフマン符号処理。一般的にはプログレッシブJPEGとして知られている。
0xFF, 0xC3 SOF3 可逆処理 のフレーム開始マーカー、ハフマン符号処理。DICOMなどに多い。
0xFF, 0xC5 SOF5 差分順次 DCT のフレーム開始マーカー、ハフマン符号処理
0xFF, 0xC6 SOF6 差分段階 DCT のフレーム開始マーカー、ハフマン符号処理
0xFF, 0xC7 SOF7 差分可逆処理のフレーム開始マーカー、ハフマン符号処理
0xFF, 0xC8 JPG JPEG規格拡張のために予約。いわゆる永遠に使われない予約領域
0xFF, 0xC9 SOF9 順次 DCT のフレーム開始マーカー、算術符号処理
0xFF, 0xCA SOF10 段階 DCT のフレーム開始マーカー、算術符号処理
0xFF, 0xCB SOF11 可逆処理のフレーム開始マーカー、算術符号処理
0xFF, 0xCD SOF13 差分順次 DCT のフレーム開始マーカー、算術符号処理
0xFF, 0xCE SOF14 差分段階 DCT のフレーム開始マーカー、算術符号処理
0xFF, 0xCF SOF15 差分可逆処理のフレーム開始マーカー、算術符号処理
0xFF, 0xC4 DHT ハフマン符号表の定義マーカー
0xFF, 0xCC DAC 算術符号処理条件の定義マーカー
0xFF, 0xD0 RST0 リスタートインターバルの0番マーカー
0xFF, 0xD1 RST1 リスタートインターバルの1番マーカー
0xFF, 0xD2 RST2 リスタートインターバルの2番マーカー
0xFF, 0xD3 RST3 リスタートインターバルの3番マーカー
0xFF, 0xD4 RST4 リスタートインターバルの4番マーカー
0xFF, 0xD5 RST5 リスタートインターバルの5番マーカー
0xFF, 0xD6 RST6 リスタートインターバルの6番マーカー
0xFF, 0xD7 RST7 リスタートインターバルの7番マーカー
0xFF, 0xD8 SOI ファイルの始まりを示すマーカー
0xFF, 0xD9 EOI ファイルの終わりを示すマーカー
0xFF, 0xDA SOS 画像データ本体の始まりを示すマーカー
0xFF, 0xDB DQT 量子化表の定義マーカー
0xFF, 0xDC DNL 行数を定義するマーカー
0xFF, 0xDD DRI リスタートインターバルが出現するMCU間隔を定義するマーカー
0xFF, 0xDE DHP 階層化モード時(動画)のキーフレーム(非差分フレーム)を示すマーカー?
0xFF, 0xDF EXP 階層化モード時(動画)の拡張参照成分(差分フレーム)を示すマーカー?
0xFF, 0xE0 APP0 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xE1 APP1 アプリケーションが自由に使える領域を示すマーカー、Exifはここに入れる決まりになっている。APP0やAPP2に入れちゃダメよ。
0xFF, 0xE2 APP2 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xE3 APP3 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xE4 APP4 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xE5 APP5 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xE6 APP6 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xE7 APP7 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xE8 APP8 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xE9 APP9 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xEA APP10 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xEB APP11 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xEC APP12 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xED APP13 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xEE APP14 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xEF APP15 アプリケーションが自由に使える領域を示すマーカー
0xFF, 0xF0 JPG0 将来の拡張のために予約。
0xFF, 0xF1 JPG1 将来の拡張のために予約。
0xFF, 0xF2 JPG2 将来の拡張のために予約。
0xFF, 0xF3 JPG3 将来の拡張のために予約。
0xFF, 0xF4 JPG4 将来の拡張のために予約。
0xFF, 0xF5 JPG5 将来の拡張のために予約。
0xFF, 0xF6 JPG6 将来の拡張のために予約。
0xFF, 0xF7 JPG7 将来の拡張のために予約。
0xFF, 0xF8 JPG8 将来の拡張のために予約。
0xFF, 0xF9 JPG9 将来の拡張のために予約。
0xFF, 0xFA JPG10 将来の拡張のために予約。
0xFF, 0xFB JPG11 将来の拡張のために予約。
0xFF, 0xFC JPG12 将来の拡張のために予約。
0xFF, 0xFD JPG13 将来の拡張のために予約。
0xFF, 0xFE COM コメントを示すマーカー
0xFF, 0x01 TEM 算術符号処理での一時的な補助に用いるマーカー
0xFF, 0xFF NOP 穴埋めマーカー、無視せよ

主な構造[編集]

  • 0xFF, 0xD8(SOIマーカー、ファイルの始まり)
    • 0xFF, 0xE1(APP1マーカー、Exifが入ってる)
    • 0xFF, 0xC4(DHTマーカー)
    • 0xFF, 0xDB(DQTマーカー)
    • 0xFF, 0xC0(SOF0マーカー)
    • 0xFF, 0xDA(SOSマーカー)
      • (画像データ)
  • 0xFF, 0xD9(EOFマーカー、ファイルの終わり)

関連項目[編集]

参考文献[編集]