Exif
読み:イグジフ
外語:Exif
デジタルカメラ
用の画像フォーマットの一つ。
元々は富士写真フイルムが提唱したもので、1995(平成7)年に正式な規格(Ver1.0)が日本電子工業振興協会(
JEIDA
)から発表され、そして
ISO
(国際標準化機構)の承認を得た。
目次
概要
特徴
技術
JFIF
IFD
サムネイル画像
概要
基本的には
JFIF
(.JPG)フォーマットに準拠し、さらにカメラの機種名・撮影年月日・
露出
情報などの付加情報の格納法が規定されている。
Exifに未対応なソフトではこれらの情報は無視されるので、通常の.JPGファイルとしても扱える。ファイル拡張子も.JPGが使われる。
特徴
更に、このExifの拡張規格も提唱されている。
新しい画像フォーマット
FlashPix
への変換を簡単に出来るよう考慮された「Exif Ver.2.0」や、ファイルをメモリーカードに記録する際のディレクトリ名や
ファイル名
も規定して再生用機器への
互換性
も確保しようという「SEG細則」などがある。
技術
JFIF
ExifはJFIFであり、情報はAPP1マーカーとして記録される。代わりに通常のJPEGと違いAPP0マーカーがない。
Exif情報は、
TIFF
で使われているIFD(Image File Directory)形式が使われている。
JFIFとしてのよくある形式は次の通り。形式はカメラごとにかなり違っている。
0xFF 0xD8 (SOIマーカー、start of image)
フレーム
0xFF 0xE1 (APP1マーカー)
SIZE (APP1領域のサイズ、2バイト、ビッグエンディアン)
"Exif\0\0" (6バイト)
(Exifデータ)
0xFF 0xC4 (DHTマーカー、define huffman table)
0xFF 0xDB (DQTマーカー、define Quantization table)
0xFF 0xC0/0xC2 (SOF0/SOF2マーカー)
スキャン
0xFF 0xDA (SOS、Start of Stream、JPEG画像データ)
0xFF 0xD9 (EOIマーカー、end of image)
IFD
Exifの実際のデータは、TIFFと同じIFD形式である。TIFFヘッダーから始まり、TIFFと同様にバイトオーダーの選択ができる。
殆どのカメラはインテル形式(リトルエンディアン)を出力するようだが、JPEGがビッグエンディアン固定であるのに、この情報が固定でなく選択式とした理由は謎である。
TIFFヘッダー(8バイト)
バイトオーダー(0x4d4d "MM"ならモトローラ形式、0x4949 "II"ならインテル形式)
タグマーク (2バイト、常に0x002a)
最初のIFDオフセット (4バイト、通常は直後なので0x00000008)
IFD
1番目(IFD0、メイン画像に関する情報)
ディレクトリエントリの数 (2バイト)
エントリ(エントリ数分)
タグ番号(2バイト、データの種類を示す)
データ格納フォーマット(2バイト)
データの個数(4バイト、個数でありバイト数ではない)
データ即値またはデータへのオフセット(4バイト)
次のIFDへのオフセット(4バイト)
(IFD0用のデータ領域)
Exif SubIFD
(IFD構造)
SubIFDのデータ領域
Interoperability IFD
(IFD構造)
Interoperability IFDのデータ領域
Makernote IFD
(IFD構造)
Makernote IFDのデータ領域
2番目(あれば。IFD1、サムネイル画像)
ディレクトリエントリの数 (2バイト)
エントリ(エントリ数分)
タグ番号(2バイト、データの種類を示す)
データ格納フォーマット(2バイト)
データの個数(4バイト、個数でありバイト数ではない)
データ即値またはデータへのオフセット(4バイト)
次のIFDへのオフセット(4バイト、次はないので0x00000000)
(IFD1用のデータ領域。あれば)
(サムネイル画像。あれば)
Exifファイルは、IFD0のみ、またはIFD0とIFD1からなる。
ExifファイルのIFD0には、必ずExif Offset(0x8769)というタグを含んでおり、このデータ領域内にExif SubIFDが格納されている。
Exif SubIFDには、Exif Interoperability Offset(0xa005)や、メーカー独自情報のMakernote(0x927c)などのタグを含むものがある。
Makernoteがどのような形式であるかは定義がなく、メーカーごとに様々である。IFD形式でないものもある。形式を公開しているメーカーは無いが、世界中の人が形式について調査研究し、その解析結果をWebなどで公開している。
Makernoteには、主に撮影条件、カメラの情報、レンズの情報などが格納されるものが多いようだ。キヤノンの場合、
EFレンズ
ではレンズ情報を通信で得られるシステムのため、Makernoteにその使用したレンズ名まで格納される。
サムネイル画像
Exifデータ中には、サムネィル画像を含めることができ、大抵のカメラはサムネイル画像を含める。
カメラにより、JPEG、TIFF-RGB、TIFF-YCbCrのいずれかが使われている。
初期には推奨が無かったようだが、Exif 2.1以降では、160×120ピクセルのJPEGが推奨されるようになったとされる。Exif系の規格
DCF
では、常にこのサイズのJPEGとする、と規定されている。
サムネイルがJPEGであれば、このデータ部はJFIFに準拠し、0xFFD8(SOIマーカー)から始まり、データを含み、0xFFD9(EOIマーカー)で終了する。
TIFFであれば、そのまま無圧縮で格納されている。
再検索