TIFFファイルの構造

TIFFファイルの構造
環境建設技術系 松本 英敏
1.ヘッダ部
ヘッダ部は 8byte で構成されており、エントリ数 2byte を含めると 10byte になる。
00000000
49 49 2A 00 08 00 00 00-10 00
・49:II に相当(インテル系)
,4D:MM は相当(モトローラ系)
※ ascii code 表参照
・002A:区切り
・00000008:offset --- データの開始位置(8bype 目)
・0010:タグエントリ数 16 個(10H)
2.タグエントリ
2.タグエントリ
1つは 12byte で構成されており、16 個存在する。
FE 00 04 00 01 00
00-03 00 01 00 00 00 01 00
00-00 00 00 02 00 00 01 01
02-00 00 02 01 03 00 01 00
01-03 00 01 00 00 00 01 00
00-00 00 01 00 00 00 0D 01
01-00 00 11 01 04 00 20 00
01-03 00 01 00 00 00 01 00
00-00 00 10 00 00 00 17 01
01-00 00 1A 01 05 00 01 00
01-05 00 01 00 00 00 FA 00
00-00 00 01 00 00 00 28 01
00-00 00
以下がタグエントリのデータである。
00000010
00000020
00000030
00000040
00000050
00000060
00000070
00000080
00000090
000000A0
000000B0
000000C0
00
00
04
00
00
02
00
00
04
00
00
03
00
00
00
00
00
00
00
00
00
00
00
00
00
00
01
10
06
10
18
16
20
F2
1C
01
00
01
00
00
01
00
01
01
00
00
01
00
00
04
00
00
03
00
00
04
00
00
03
00
00
00
00
00
00
00
00
00
00
00
00
00
FF
01
00
03
01
08
15
01
98
1B
01
02
タグエントリは 12byte で構成されている。
・2byte:タグ
・2byte:TYPE:1: 8bit integer
2: 8bit ascii code
3:16bit integer
4:32bit integer
5:分数(初め 4byte は分子,残り 4byte は分母)
・4byte:データ個数
・4byte:値/offset
順次、タグの内容を見ていくと
-------------------------------------------------------------------------------------------タグ:TYPE:個数:値/offset:解説
00FE: 4 : 1 :
0H
:標準(新サブファイルタイプ)
00FF: 3 : 1 :
1H
:サブファイルタイプ
0100: 4 : 1 :
200H
:画像幅
512
0101: 4 : 1 :
200H
:画像の高さ 512
0102: 3 : 1 :
10H
:画像の深さ 16bit
0103: 3 : 1 :
1H
:非圧縮
0106: 3 : 1 :
1H
:画像構成(glay),black(0)
010D: 2 : 16 :
108H
: (address) ascii code “Victor”
0111:
0115:
0116:
0117:
011A:
011B:
011C:
0128:
4
3
4
4
5
5
3
3
:
:
:
:
:
:
:
:
32
1
1
32
1
1
1
1
:
:
:
:
:
:
:
:
118H
1H
10H
198H
F2H
FAH
1H
2H
:(address)画像データのポインタ
:コンポネント数
:ストリップ中のライン数 16
:(address)ストリップのデータ量
:(address)画像幅の解像度
300(012CH/1H)
:(address)画像の高さの解像度 300(012CH/1H)
:画像データの並び(点順次)
:解像度の単位(inch)
3.タグからデータまで
次の IFD は、00000000(4byte)であるから、存在し得ない。
address 108H からタグより、ascii code で 56(V),69(i),63(c),74(t),6F(o),72(r)を表す。
また、118H からは画像のデータポインタで、4byte で 32 個存在する。その後、198H から 4byte
で 32 個データ量が入っている。
000000D0 00 00 FF 00 00 00
000000E0 00 00 40 01 03 00
000000F0 00 00 2C 01 00 00
00000100 00 00 08 00 08 00
00000110 00 00 00 00 00 00
00000120 18 82 00 00 18 C2
00000130 18 82 01 00 18 C2
00000140 18 82 02 00 18 C2
00000150 18 82 03 00 18 C2
00000160 18 82 04 00 18 C2
00000170 18 82 05 00 18 C2
00000180 18 82 06 00 18 C2
00000190 18 82 07 00 18 C2
000001A0 00 40 00 00 00 40
000001B0 00 40 00 00 00 40
000001C0 00 40 00 00 00 40
000001D0 00 40 00 00 00 40
000001E0 00 40 00 00 00 40
000001F0 00 40 00 00 00 40
00000200 00 40 00 00 00 40
00000210 00 40 00 00 00 40
3D
FF
01
08
00
00
01
02
03
04
05
06
07
00
00
00
00
00
00
00
00
01-03
00-00
00-00
00-56
00-18
00-18
00-18
00-18
00-18
00-18
00-18
00-18
00-00
00-00
00-00
00-00
00-00
00-00
00-00
00-00
00-
00
00
00
69
02
02
02
02
02
02
02
02
40
40
40
40
40
40
40
40
00 00 00 00 02 00
01 00 00 00 01 00
FF 00 00 00 00 00
2C 01 00 00 01 00
63 74 6F 72 00 00
00 00 18 42 00 00
01 00 18 42 01 00
02 00 18 42 02 00
03 00 18 42 03 00
04 00 18 42 04 00
05 00 18 42 05 00
06 00 18 42 06 00
07 00 18 42 07 00
00 00 00 40 00 00
00 00 00 40 00 00
00 00 00 40 00 00
00 00 00 40 00 00
00 00 00 40 00 00
00 00 00 40 00 00
00 00 00 40 00 00
00 00 00 40 00 00
データのポインタ
最初のデータは
address 218H
ストリップの
データ量
4.画像データ
以降、512×512 個の画像データが存在する。 例ではデータは、9574H=38,260 となる。
74 95 FA 96 69 98 A9 97
00000220 51 96 D4 98 02 98 09 9C-FE 99 1E 99 22 9A EC 96
00000230 78 95 1D 96 93 98 D7 9A-57 95 E7 91 8A 92 D1 92
00000240 14 95 79 93 76 94 4E 91-88 93 AF 93 EF 94 40 94
00000250 D1 97 65 9C 29 9A 28 9A-EB 97 8D 98 F2 98 17 99
:
:
よって、ファイルサイズは、ヘッダ 218H+512×512×2byte=524,824byte
【注】タグエントリにおいて、値か offset かを見極めるものとして、TYPE2,5 は offset で、残り
の TYPE1,3,4 については、個数が 1 なら値で 1 以外なら offset のように思える。