Exif固有のIFD

Exif IFD

Exif固有の付属情報を記載するためのタグの集合で、Exifプライベートタグの値で示されるTIFFヘッダからのオフセットでポイントされる。

同じ例で見てみよう。TIFFヘッダは$000Cから始まり、Exif IFDタグ (0x8769)が$008Eで見つかる。続くデータ形式は0x0004でunsigned long、データ数(4 bytes)は1、Exif SubIFDは$000C+0x00000148=$0154から始まる。$0154からの2バイトは親IFD同様にエントリ数を表わし、ここでは0x001F=31の付属情報がある。続く0x829AはExposureTime(露出時間)、データ形式は0x0005でunsigned rational、データ個数は1、データは8バイト必要なので続く4バイトはポインタである。$000C+0x02C2=$02CEには0x0000000A, 0x00001900が格納されており、分子(4 bytes)が10、分母が6400、つまり全体で1/640秒となる。続く0x829DはFNumber(F値)、データ形式は0x0005でunsigned rational、データ個数は1、$000C+0x02CA=$02D6に0x0000003F, 0x0000000Aが分数として記録され、値は63/10=6.3である。

以下、こうして各付属情報について読み取っていく。

GPS IFD

GPS情報を記載するためのタグの集合で、GPSプライベートタグの値で示されるTIFFヘッダからのオフセットでポイントされる。

付属情報の辿り方は先のExif IFDと同様で、GPS IFDタグ (0x8825)を見つければよい。前ページのExif IFDの例で使用した図で$009Aから始まるタグがGPS IFDタグである。データ形式は0x0004でunsigned long、データ数(4 bytes)は1、GPS SubIFDは$000C+0x0000034A=$0356から始まる(下図)。$0356からの2バイトは親IFD同様にエントリ数を表わし、ここでは0x0004=4の付属情報がある。続く0x0001がGPSLatitudeRefタグであることを表わし、次の0x0002がデータ形式がASCII Stringsで、続く0x00000002がデータ個数が2で、その次の2 bytes (0x4E 00 (‘N’, 0))がデータである。残りの0x00 00 (0, 0)は残り2 bytesを埋めるダミーである。つまり、この次のタグで表わされる“緯度”は「北緯(‘N’)」で表現していることを示す。続く0x0002はGPSLatitudeタグで、データ形式は0x0005でunsigned rational、データ個数は3、つまり4バイトを超えるので次のデータはポインタである。$000C+0x00000380=$038Cからのデータを読むと、0x00000023=35、0x00000001=1により35/1、0x00000025=37、0x00000001=1により37/1、0x00006852=26706、0x000003E8=1000により26.706となり、結局、緯度は北緯35°37’ 26.706” である。続く0x0003はGPSLongitudeRefタグで、データ形式は0x0002 (ASCII Strings)、データ個数が2、その次の2 bytes (0x45 00 (‘E’, 0))がデータである。残りの0x00 00 (0, 0) は残り2 bytesを埋めるダミーである。これは次の経度が「東経(‘E’)」で表現していることを示す。続く0x0004はGPSLongitudeタグで、データ形式は0x0005でunsigned rational、データ個数は3、次のオフセットだけ先のアドレス$000C+0x00000398=$03A4にデータがある。0x0000008B=139、0x00000001=1により139/1、0x0000002E=46、0x00000001=1により37/1、0x00001DF1=7665、0x000003E8=1000により7.665となり、結局、経度は東経139°46’ 7.665” である。

各ディレクトリ・エントリのタグ番号について示す。

TAGID タグ名 説明
256 0x0100 ImageWidth 画像の幅(ピクセル)
257 0x0101 ImageLength 画像の高さ(ピクセル)
258 0x0102 BitsPerSample 画像のビット深さ(ビット/RGB毎)
259 0x0103 Compression 圧縮の種類、'1'が非圧縮、'6':JPEG
262 0x0106 PhotometricInterpretation 画素構成の種類、'2'はRGBカラーモデル
270 0x010E ImageDescription 画像タイトルや説明。漢字等の2バイト文字の使用は禁止。   
271 0x010F Make 画像入力機器のメーカー名
272 0x0110 Model 画像入力機器のモデル名
273 0x0111 StripOffsets 画像データのオフセット      
274 0x0112 Orientation

画像方向。

画像データがどこを起点として、どの向きで格納されているかを示す。

格納されている「0行目」(0th Row)と「0桁目」(0th Column)が画面上のどの位置に配置されるかを表す。

デフォルト値は'1':左上から描画。

0th Row 0th Col.
1 top left
2 top right
3 bottom right
4 bottom left
5 left top
6 right top
7 right bottom
8 left bottom
277 0x0115 SamplesPerPixel ピクセル毎のコンポーネント数
278 0x0116 RowsPerStrip ストリップ中のライン数
279 0x0117 StripByteCounts 各ストリップのサイズ(バイト)
282 0x011A XResolution 画像の幅方向の解像度(ピクセル) デフォルト値は
1/72 inch(72dpi)
283 0x011B YResolution 画像の高さ方向の解像度(ピクセル)
284 0x011C PlanarConfiguration 画像データの並び
296 0x0128 ResolutionUnit 画像の幅と高さの解像度の単位。
1は単位なし、2はインチ、3はcm。デフォルトは'2'(inch)
301 0x012D TransferFunction 再生階調カーブ特性
305 0x0131 CreatorTool 使用ソフトウェア名
306 0x0132 ModifyDate ファイル変更日時。
形式は"YYYY:MM:DD HH:MM:SS"+0x00で、合計20バイト。
315 0x013B Artist 作者名
318 0x013E WhitePoint 参照白色点の色度座標値
319 0x013F PrimaryChromaticities 原色の色度座標値
513 0x0201 JPEGInterchangeFormat JPEGサムネイルのSOIへのオフセット
514 0x0202 JPEGInterchangeFormatLength JPEGサムネイルデータのサイズ(バイト)
529 0x0211 YCbCrCoefficients 色変換マトリクス係数
530 0x0212 YCbCrSubSampling YCCの画素構成(Cの間引き率)
531 0x0213 YCbCrPositioning YCCの画素構成(YとCの位置)
532 0x0214 ReferenceBlackWhite 参照黒色点値と参照白色点値
33432 0x8298 Copyright 撮影著作権者/編集著作権者    
34665 0x8769 ExifIFDPointer Exif sub IFDへのポインタ
34852 0x8824 SpectralSensitivity スペクトル感度
34853 0x8825 GPSInfoIFDPointer GPS情報IFDへのポインタ
34856 0x8828 OECF 光電変換関数
37396 0x9214 SubjectArea 被写体エリア
41483 0xA20B FlashEnergy フラッシュ強度
41484 0xA20C SpatialFrequencyResponse 空間周波数応答
41486 0xA20E FocalPlaneXResolution 焦点面の幅の解像度
41487 0xA20F FocalPlaneYResolution 焦点面の高さの解像度
41488 0xA210 FocalPlaneResolutionUnit 焦点面解像度単位
41492 0xA214 SubjectLocation 被写体位置
41493 0xA215 ExposureIndex 露出インデックス
41495 0xA217 SensingMethod センシング方式
       
41730 0xA302 CFAPattern CFAパターン
42016 0xA420 0xa420 ユニーク画像ID
42240 0xA500 0xa500 ガンマ値
50706 0xC612 DNGVersion DNGバージョン(DNG: Digital Negative)
50707 0xC613 DNGBackwardVersion DNG backward version
50708 0xC614 DNGUniqueCameraModel カメラ機種名
50709 0xC615 DNGLocalizedCameraModel カメラ機種名
50710 0xC616 DNGCFAPlaneColor CFA plane color
50711 0xC617 DNGCFALayout CFAレイアウト
50712 0xC618 DNGLinearizationTabel Linearization table
50713 0xC619 DNGBlackLevelRepeatDim Black level repeat dim
50714 0xC61A DNGBlackLevel Black level
50715 0xC61B DNGBlackLevelDeltaH Black level delta H
50716 0xC61C DNGBlackLevelDeltaV Black level delta V
50717 0xC61D DNGWhiteLevel White level
50718 0xC61E DNGDefaultscale Default scale
50719 0xC61F DNGDefaultCropOrigin Default crop origin
50720 0xC620 DNGDefaultCropSize Default crop size
50721 0xC621 DNGColorMatrix1 Color matrix1
50722 0xC622 DNGColorMatrix2 Color matrix2
50723 0xC623 DNGCameraCalibration1 Camera calibration1
50724 0xC624 DNGCameraCalibration2 Camera calibration2
50725 0xC625 DNGReductionMatrix1 Reduction matrix1
50726 0xC626 DNGReductionMatrix2 Reduction matrix2
50727 0xC627 DNGAnalogBalance Analog balance
50728 0xC628 DNGAsShotNeutral As shot neutral
50729 0xC629 DNGAsShotWhiteXY As shot white XY
50730 0xC62A DNGBaselineExposure Baseline exposure
50731 0xC62B DNGBaselineNoise Baseline noise
50732 0xC62C DNGBaselineSharpness Baseline sharpness
50733 0xC62D DNGBayerGreenSplit Bayer green split
50734 0xC62E DNGlinearResponseLimit Linear response limit
50735 0xC62F DNGCameraSerialNumber シリアルナンバー
50736 0xC630 DNGLensInfo レンズ情報
50737 0xC631 DNGChromaBlurRadius Chroma blur radius
50738 0xC632 DNGAntiAliasStrength Anti-alias strength
50739 0xC633 DNGShadowScale Shadow scale
50740 0xC634 DNGPrivateData プライベートデータ
50741 0xC635 DNGMakerNoteSafety MakerNote safety
50778 0xC65A DNGCalibrationIlluminant1 Calibration illuminant1
50779 0xC65B DNGCalibrationIlluminant2 Calibration illuminant2
50780 0xC65C DNGBestQualityScale Best quality scale
50781 0xC65D DNGRawDataUniqueID Raw data unique ID
50827 0xC68B DNGOriginalRawFileName オリジナルRAWファイル名
50828 0xC68C DNGOriginalRawFileData オリジナルRAWファイルデータ
50829 0xC68D DNGActiveArea Active area
50830 0xC68E DNGMaskedArea Masked area
50831 0xC68F DNGAsShotICCProfile As shot ICC profile
50832 0xC690 DNGAsShotPreProfileMatrix As shot pre-profile matrix
50833 0xC691 DNGCurrentICCProfile Current ICC profile
50834 0xC692 DNGCurrentPreProfileMatrix Current pre-profile matrix