玄関コンピュータの部屋各種解説コーナーCGファイル概説

2) 選択タグ

選択タグには色々なものがありますが、ここでは代表的なものだけ解説しておきます。

(i) NewSubfileType

オフセット内容(バイト数)
0タグ(2)
固定値00FEH(254)
2データの型(2)
LONG
4カウントフィールド(4)
8データフィールド(4)
32のフラグビット
          ↓
32のフラグビット
31…2423…1615…876543210
     (2)(1)(0)

このIFDに属するイメージデータが、別のIFDに属するイメージデータと何らかの関係を持つかどうかを表すデータで、その関連性をデータフィールドの32ビットのフラッグで表します。 現在は最下位の3ビットだけが使用されていて、以下のような意味を持っています。

i) ビット0

このビットがセットされている場合は、このイメージデータが別のイメージデータの低解像度版であることを表します。

ii) ビット1

このビットがセットされている場合は、このイメージデータがマルチページイメージセットの中の1ページであることを表します。

iii) ビット2

このビットがセットされている場合は、このイメージデータが他のイメージデータを論理式ANDを使用してマスクした、深さ1ビットのマスクデータであることを表します。

(ii) Thresholding

オフセット内容(バイト数)
0タグ(2)
固定値0107H(263)
2データの型(2)
SHORT
4カウントフィールド(4)
8データフィールド(4)
整数コード1-3

イメージデータがモノクロモデルの場合に、グレースケールを表現するために使用されたディザ処理方法を表すもので、以下のような種類があります。

(iii) CellWidth

オフセット内容(バイト数)
0タグ(2)
固定値0108H(264)
2データの型(2)
SHORT
4カウントフィールド(4)
8データフィールド(4)
ディザ処理グリッドの行数

Thresholdingが2の場合、すなわち順序付けされたディザ処理が使用された場合の、グリッドの行数を保存しています。 このCellWidthと次のCellLengthの2つのデータを用いますと、ディザ処理されたイメージデータをオリジナルのグレースケールに逆変換することができます。

(iv) CellLength

オフセット内容(バイト数)
0タグ(2)
固定値0109H(265)
2データの型(2)
SHORT
4カウントフィールド(4)
8データフィールド(4)
ディザ処理グリッドの列数

Thresholdingが2の場合、つまり順序付けされたディザ処理が使用された場合の、グリッドの列数を保存しています。

(v) FillOrder

オフセット内容(バイト数)
0タグ(2)
固定値010AH(266)
2データの型(2)
SHORT
4カウントフィールド(4)
8データフィールド(4)
整数コード1,2

ビットマップイメージデータにおけるビットの保存順を表し、次のような種類があります。

・コード1…正順

上位ビット→下位ビットの順で保存されます。

メモリ上のビットイメージ
76543210
P0P1P2P3P4P5P6P7
        ↓
ファイル上のビットイメージ
76543210
P0P1P2P3P4P5P6P7
:
・コード2…逆順

下位ビット→上位ビットの順で保存されます。

メモリ上のビットイメージ
76543210
P0P1P2P3P4P5P6P7
        ↓
ファイル上のビットイメージ
76543210
P7P6P5P4P3P2P1P0
:

このデータはBitsPerSampleが1で、しかもコード2の逆順の場合だけ使用され、それ以外の場合は省略されて、デフォールト値のコード1が適用されます。

(vi) ImageDescription

オフセット内容(バイト数)
0タグ(2)
固定値010EH(270)
2データの型(2)
ASCII
4カウントフィールド(4)
32以内の任意の値
8データフィールドまたはデータポインタ(4)
ASCIIテキスト文字による画像の解説
またはデータフィールドへのポインタ
                ↓
画像の解説
オフセット内容(バイト数)
0ASCIIテキスト文字による画像の解説(任意)

画像の解説やコメントを、ヌル文字で終了するASCIIのテキスト文字で表したものです。 ヌル文字まで含めた文字数が4文字以内なら、エントリの最後のフィールドに保存され、5文字以上なら別の場所(普通はIFDの後)に格納され、そのデータフィールドに対するポインタが最後のフィールドに保存されます。