• 検索結果がありません。

JPEG マーカセグメントの内容

ドキュメント内 橡Exif0210JPDFDraftB.PDF (ページ 74-80)

2. Exif 画像ファイル規定

2.7. 使用する JPEG マーカセグメント

2.7.1. JPEG マーカセグメントの内容

- 69 -

B.

量子化テーブル定義 (DQT : Define Quantization Table)

DQT

は量子化テーブルを定義するマーカコードである。

精度

8

ビット(Pq=0)で最大

3

種類のテーブルを記録することができる。量子化テーブルは、すべてを ひとつの

DQT

マーカセグメント内に記録しなければならない(DQTマーカを複数記録してはならない)。

テーブルの値は任意とする(Fig. 16 参照)。DQT、DHT、DRI、SOFの記録順は任意とするが、これら

APP1(APP2

を記録する場合は

APP2)以降、SOS

以前の領域に記録する。

アドレスオフセット コード 意味 (Hex) (Hex)

+00 FF Marker Prefix

+01 DB DQT

+02 00 フィールドの長さ

C5 2+(1+64)*3=197 (Byte)

+04 00 Y: Pq=0, Nq=0

+05 : 量子化テーブル Y:Q0

: :

: :

: 量子化テーブル Y:Q63

+45 01 Cb : Pq=0, Nq=1

+46 : 量子化テーブル Cb:Q0

: :

: :

: 量子化テーブル Cb:Q63

+86 02 Cr : Pq=0, Nq=1

+87 : 量子化テーブル Cr:Q0

: :

: :

: 量子化テーブル Cr:Q63 Fig. 16 DQT構造図 (量子化テーブル3個)

- 70 -

C.

ハフマンテーブル定義 (DHT : Define Huffman Table)

DHT

はハフマンテーブルを定義するマーカコードである。

本規格では

1

つのコンポーネントに対し、DC、

AC 1

組のハフマンテーブルを持つこととし、各コンポー ネントは DHT で定義されるいずれかのハフマンテーブルに対応していなければならない。ハフマンテー ブルは、すべてをひとつの

DHT

マーカセグメント内に記録しなければならない(DHTマーカを複数記 録してはならない)。ハフマンテーブルの値は任意であるが、

JPEG

参考値を基本テーブルとして用いる こともできる。(Fig. 17 参照)

DQT、DHT、DRI、SOF

の記録順は任意とするが、これらは

APP1(APP2

を記録する場合は

APP2

以降、SOS 以前の領域に記録する。

アドレスオフセット コード 意味 (Hex) (Hex)

+00 FF Marker Prefix

+01 C4 DHT

+02 01 フィールドの長さ

A2 2+(1+16+12+1+16+162)*2

= 418Byte +04 00 テーブル番号 Y-DC : 00

+05 :

: :

DHT パラメータ +21 10 テーブル番号 Y-AC : 10

+22 :

: :

DHT パラメータ +D4 01 テーブル番号 C-DC : 01

+D5 :

: :

DHT パラメータ +F1 11 テーブル番号 C-AC : 11

+F2 :

: :

DHT パラメータ

Fig. 17 DHT 構造図

- 71 -

D.

リスタートインターバル (DRI : Define Restart Interval)

DRI

はリスタートマーカ挿入間隔を定義するマーカである(Fig. 18 参照)。DRIの記録およびリスター トマーカの挿入はオプションである。リスタートマーカを挿入する場合は

DRI

を記録し、その値は、色 差サンプリングが

4:2:2、4:2:0

の場合に関わらず

4MCU(Minimum Coding Unit)単位、すなわち 64

画素単位とする(付録 F参照)。DRIはひとつだけ記録する。

DQT、DHT、DRI、SOF

の記録順は任意とするが、これらは

APP1(APP2

を記録する場合は

APP2

以降、SOS 以前の領域に記録する。

アドレスオフセット コード 意味 (Hex) (Hex)

+00 FF Marker Prefix

+00 DD DRI

+02 00 フィールドの長さ 2+2 = 4 (Byte)

+04 XX 00

YY 04

Fig. 18 DRI構造図

- 72 - E.

フレームヘッダ (SOF : Start of Frame)

SOF はフレームセグメントの始まりに位置し、そのフレームに関する各種パラメータを示すマーカコー ドである(Fig. 19 参照)。

DQT、DHT、DRI、SOF

の記録順は任意とするが、これらは

APP1(APP2

を記録する場合は

APP2

以降、SOS 以前の領域に記録する。

アドレスオフセット コード 意味 (Hex) (Hex)

+00 FF Marker Prefix

+00 C0 SOF

+02 00 フィールドの長さ 11 2+1+2+2+1+2*3 = 17 (Byte)

+04 08 データの精度 (bit)

+05 XX 垂直ライン数 YY XXYY(Hex) lines +07 WW 水平画素数

ZZ WWZZ(Hex) 画素

+09 03 コンポーネント数 +0A 01 コンポーネント番号 (1:Y)

+0B 21or22 H0 = 2, V0 = 1(4:2:2) or 2(4:2:0)

+0C 00 量子化テーブル指定 +0D 02 コンポーネント番号 (2:Cb)

+0E 11 H1 =1, V1 = 1

+0F 01 量子化テーブル指定 +10 03 コンポーネント番号 (3:Cr)

+11 11 H2 =1, V2 = 1

+12 02 量子化テーブル指定 Fig. 19 SOF 構造図

- 73 - F.

スキャンヘッダ (SOS : Start of Scan)

SOS

はスキャンに関する各種パラメータを表すマーカコードである(Fig. 20 参照)。

アドレスオフセット コード 意味 (Hex) (Hex)

+00 FF Marker Prefix

+00 DA SOS

+02 00 フィールドの長さ 0C 2+1+3*2+3 = 12 (Byte)

+04 03 スキャン中のコンポーネント数 +05 01 コンポーネントセレクタ Y : 01 +06 00 ハフマンテーブルセレクタ Y : 00 +07 02 コンポーネントセレクタ Cb : 02 +08 11 ハフマンテーブルセレクタ C : 11 +09 03 コンポーネントセレクタ Cr : 03 +0A 11 ハフマンテーブルセレクタ C : 11 +0B 00 ブロック内スキャン開始位置 +0C 3F ブロック内スキャン終了位置 +0D 00 Successive approximation

ビット位置

Fig. 20 SOS 構造図

G.

圧縮データ

圧縮データは、

Y, Cb, Cr

が所定の比率でブロックインターリーブされ、ハフマン符号化されたバイトデー タである。各ブロックの

DCT

係数の最後の値が

0

の場合には

EOB

(エンドオブブロック)が挿入される。

また、

DRI

でリスタートマーカ挿入を定義した場合には、

4MCU

間隔でリスタートマーカが挿入される。

H.

圧縮データ終了 (EOI : End of Image)

EOI

はエントロピー符号化データの終了を表すマーカコードで、

SOI

と対をなしている(Fig. 21 参照)。

EOI

の後に続くデータ列については特に規定しない。

アドレスオフセット コード 意味 (Hex) (Hex)

+00 FF Marker Prefix

+01 D9 EOI

Fig. 21 EOI 構造図

- 74 -

ドキュメント内 橡Exif0210JPDFDraftB.PDF (ページ 74-80)