「JPEG/マーカー」の版間の差分
< JPEG
ナビゲーションに移動
検索に移動
imported>Administrator |
imported>Fallout New Tokyo |
||
(2人の利用者による、間の8版が非表示) | |||
1行目: | 1行目: | ||
− | '''マーカー''' | + | [[JPEG]]の'''マーカー'''([[英語]]:maker)とは、JPEGファイルの中に存在する2[[バイト]]の区切りのことである。 |
== 概要 == | == 概要 == | ||
15行目: | 15行目: | ||
|} | |} | ||
− | + | マーカーは2[[バイト]]も使っているが上位1バイトは「0xFF」固定だったりする。 | |
− | |||
− | + | [[JPEG]]と互換性のない[[JPEG2000]]も基本的にはJPEGのファイル構造をベースとしており、新たにマーカーを追加拡張するかたちで実装されている。 | |
− | [[ | + | == マーカーの種類 == |
+ | [[JPEG]]を標準化した標準化団体の[[ITU-T]]は何でもかんでも[[3文字アルファベット]]で表記する決まりがあるため、それぞれのマーカーには[[3文字アルファベット]](+数字の場合もある)が割り当てられている。 | ||
{| class="wikitable" style="width:100%; font-family:monospace" | {| class="wikitable" style="width:100%; font-family:monospace" | ||
30行目: | 30行目: | ||
| 0xFF, 0xC0 | | 0xFF, 0xC0 | ||
| [[JPEG/マーカー/SOF0|SOF0]] | | [[JPEG/マーカー/SOF0|SOF0]] | ||
− | | 基本処理 DCT | + | | 基本処理 DCT 処理のフレーム開始マーカー。一般的なJPEGはこれ。 |
|- | |- | ||
| 0xFF, 0xC1 | | 0xFF, 0xC1 | ||
38行目: | 38行目: | ||
| 0xFF, 0xC2 | | 0xFF, 0xC2 | ||
| [[JPEG/マーカー/SOF2|SOF2]] | | [[JPEG/マーカー/SOF2|SOF2]] | ||
− | | 段階 DCT | + | | 段階 DCT のフレーム開始マーカー、ハフマン符号処理。一般的には[[プログレッシブJPEG]]として知られている。 |
|- | |- | ||
| 0xFF, 0xC3 | | 0xFF, 0xC3 | ||
| [[JPEG/マーカー/SOF3|SOF3]] | | [[JPEG/マーカー/SOF3|SOF3]] | ||
− | | 可逆処理 | + | | 可逆処理 のフレーム開始マーカー、ハフマン符号処理。[[DICOM]]などに多い。 |
|- | |- | ||
| 0xFF, 0xC5 | | 0xFF, 0xC5 | ||
123行目: | 123行目: | ||
| [[JPEG/マーカーRSTm|RST7]] | | [[JPEG/マーカーRSTm|RST7]] | ||
| リスタートインターバルの7番マーカー | | リスタートインターバルの7番マーカー | ||
− | |||
|- | |- | ||
| 0xFF, 0xD8 | | 0xFF, 0xD8 | ||
− | | SOI | + | | [[JPEG/マーカー/SOI|SOI]] |
| ファイルの始まりを示すマーカー | | ファイルの始まりを示すマーカー | ||
|- | |- | ||
| 0xFF, 0xD9 | | 0xFF, 0xD9 | ||
− | | EOI | + | | [[JPEG/マーカー/EOI|EOI]] |
| ファイルの終わりを示すマーカー | | ファイルの終わりを示すマーカー | ||
|- | |- | ||
| 0xFF, 0xDA | | 0xFF, 0xDA | ||
− | | SOS | + | | [[JPEG/マーカー/SOS|SOS]] |
| 画像データ本体の始まりを示すマーカー | | 画像データ本体の始まりを示すマーカー | ||
|- | |- | ||
| 0xFF, 0xDB | | 0xFF, 0xDB | ||
− | | DQT | + | | [[JPEG/マーカー/DQT|DQT]] |
| 量子化表の定義マーカー | | 量子化表の定義マーカー | ||
|- | |- | ||
| 0xFF, 0xDC | | 0xFF, 0xDC | ||
− | | DNL | + | | [[JPEG/マーカー/DNL|DNL]] |
| 行数を定義するマーカー | | 行数を定義するマーカー | ||
|- | |- | ||
| 0xFF, 0xDD | | 0xFF, 0xDD | ||
− | | DRI | + | | [[JPEG/マーカー/DRI|DRI]] |
| [[JPEG/リスタートインターバル|リスタートインターバル]]が出現する[[JPEG/MCU|MCU]]間隔を定義するマーカー | | [[JPEG/リスタートインターバル|リスタートインターバル]]が出現する[[JPEG/MCU|MCU]]間隔を定義するマーカー | ||
|- | |- | ||
| 0xFF, 0xDE | | 0xFF, 0xDE | ||
− | | DHP | + | | [[JPEG/マーカー/DHP|DHP]] |
| 階層化モード時(動画)のキーフレーム(非差分フレーム)を示すマーカー? | | 階層化モード時(動画)のキーフレーム(非差分フレーム)を示すマーカー? | ||
|- | |- | ||
| 0xFF, 0xDF | | 0xFF, 0xDF | ||
− | | EXP | + | | [[JPEG/マーカー/EXP|EXP]] |
| 階層化モード時(動画)の拡張参照成分(差分フレーム)を示すマーカー? | | 階層化モード時(動画)の拡張参照成分(差分フレーム)を示すマーカー? | ||
|- | |- | ||
163行目: | 162行目: | ||
| 0xFF, 0xE1 | | 0xFF, 0xE1 | ||
| APP1 | | APP1 | ||
− | | | + | | アプリケーションが自由に使える領域を示すマーカー、[[Exif]]はここに入れる決まりになっている。APP0やAPP2に入れちゃダメよ。 |
|- | |- | ||
| 0xFF, 0xE2 | | 0xFF, 0xE2 | ||
278行目: | 277行目: | ||
|- | |- | ||
| 0xFF, 0xFE | | 0xFF, 0xFE | ||
− | | COM | + | | [[JPEG/マーカー/COM|COM]] |
| コメントを示すマーカー | | コメントを示すマーカー | ||
|- | |- | ||
| 0xFF, 0x01 | | 0xFF, 0x01 | ||
− | | TEM | + | | [[JPEG/マーカー/TEM|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マーカー、ファイルの終わり) | ||
== 関連項目 == | == 関連項目 == |
2014年3月3日 (月) 06:33時点における最新版
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マーカー、ファイルの終わり)