RAFファイルのRawデータを読み取ってみる その4 CFA領域(Raw領域)

since:2014-7-21
last update:2014-7-21
前のページへ   次のページへ




3.4 CFA領域(Raw領域)

ファイルヘッダー領域で得た情報からCFA領域をパースします。TIFF構造となっていますが、タグ番号は独自のものとなっています。
サンプルでは、アドレス0x0003 CC00から0x0181 5800byte分がこの領域になります。
TIFF構造の内部は、この開始アドレスからの相対アドレスで記載されています。そのため。ここからはこのTIFF構造を別ファイルとして切り出したもの(DSCF0054_CFA.tif)で解説を行ないます。
以下タグの名称はExiftoolでパースされるものについてはそれに従います。



 最初の2バイト(アドレス0x0000 0000-0x0000 0001)はバイトオーダーを示しています。
 今回のサンプルの値は 0x49 0x49 ですので、リトルエンディアンを示しています。

 次の2バイト(アドレス0x0000 0002-0x0000 0003)はTIFFのマジックナンバーでSHORT型で示されます。 値は0x002A (42)です。
 次の4バイト(アドレス0x0000 0004-0x0000 0007)は最初のIFDへのアドレスです。LONG型で示され、値は0x0000 0008 です。

最初のIFDのエントリー数は1です。
エントリーのタグは0xF000で型は0x000Dです。データ数は1で、値は0x0000 001Aです。
タグの値、型とも一般には定義されていませんので、独自型として解釈します。0x0000 001Aから別のIFD(SubIFD)として処理を行ないます。

このIFD(0x0000 001AからのIFD)のエントリー数は0x0010個(16個)です。

これに従いすべてのエントリーをパースします。

サンプルでのCFA領域のSubIFDパース結果
TagID名称概要
0xF001Raw Image Full Width0x0000 1400フォーマット上のRAW画像フルサイズの幅
5120(0x1400)
0xF002Raw Image Full Height0x0000 0CD8フォーマット上のRAW画像フルサイズの高さ
3288(0x0CD8)
0xF003Bits Per Sample0x0000 000C色深度:12bit
0xF004?0x0000 0004? 4 圧縮関連パラメータ?
0xF005?0x0000 0780? 1920 圧縮関連パラメータ?
0xF006?0x0000 0000? 0
0xF007Strip Offsets0x0000 0800Rawデータへのオフセットアドレス
0xF008Strip Byte Counts0x0181 5000Rawデータのデータ長さ。25,251,840byte
0xF009?0x0000 008E? 142
0xF00ABlack Level0x0000 00FF
0x0000 00FF ....
黒レベル配列。0x24個(36個)
CFAに対応?
0xF00B?(略)
0xF00CWB GRB Levels Standard(略)
0xF00DWB GRB Levels Daylight(略)
0xF00EWB GRB Levels(略)
0xF00F?(略)
0xF010?(略)

次ページ:Rawデータの取得

前のページ  [1] [2] [3] [4] [5] [6]  次のページ