エグジフ【Exif】
読み方:えぐじふ
《exchangeable image file format》デジタルカメラ用のファイルフォーマット。日本電子工業振興協会(JEIDA)が平成7年(1995)に規格化。撮影日、シャッター速度、絞り値など、撮影時の各種データを格納できる。
Exif
読み方:エグジフ
Exifとは、デジタルカメラで撮影した画像データに、撮影条件に関する情報(メタデータ)を追加して保存できる、画像ファイル形式の規格のことである。
Exifでは、撮影した画像データと併せて、撮影した日時やデジタルカメラの機種、絞り値、画素数、ISO感度、色空間、といった情報をまとめて記録することができる。本体の画像データの他に、サムネイル画像のデータも記録しておくことができる。これらの付加情報によって、データの管理や、機器同士の正しいデータ交換、最適な設定での出力などが実現されている。
Exifでは、画像データそのものは主にJPEG形式で扱われる。Exifに対応していないアプリケーションでは、メタデータを扱うことはできないが、単なるJPEG形式の画像として読み込むことができる。なお、圧縮形式を用いない場合はTIFF形式として扱われることもある。色空間には、バージョンアップ後はRGBの他にsRGBやAdobeRGBなどの規格にも対応している。
Exifは1995年に、今の電子情報技術産業協会(JEITA)の前身である日本電子工業振興協会(JEIDA)によって規格化された。デジタルカメラや周辺機器のメーカー各社がExifを共通規格として採用したことにより、一連のシステム間で高い互換性を得ることが可能となった。今日では、世界中の多くのメーカーが、デジタルカメラの画像形式としてExifを採用している。
Exifに関連する規格として、デジタルカメラにおけるファイルシステムのDCF(Design rule for Camera File system)がある。ExifとDCFを併用することで、互換性のさらなる向上を図ることができる。
参照リンク
ディジタルスチルカメラ用画像ファイル フォーマット規格(Exif) Version 2.1 - (PDF形式)
Exif 関数
導入
exif 拡張モジュールを使用すると、画像のメタデータを扱うことが可能と なります。例えば、デジタルカメラで撮影した画像ファイルから JPEG や TIFF 画像のヘッダ情報を 読み込むために exif 関数を使用することができます。要件
--enable-exif オプションを含めて PHP がコンパイル されている必要があります。exif モジュールを作成するために、追加の ライブラリは一切必要ありません。Windows ユーザは、 mbstring 拡張モジュールを有効に する必要があります。インストール手順
exif サポートを有効にするには、PHP の configure 時に --enable-exif を指定します。Windows ユーザは、php.ini で php_mbstring.dll および php_exif.dll の両方の DLL を有効にする 必要があります。php_mbstring.dll DLL は、必ず php_exif.dll DLL より 先に 読み込まれていなければなりません。そうなるように php.ini で設定 してください。
実行時設定
php.ini の設定により動作が変化します。mbstring が有効になっている場合、 Exif 拡張モジュールはユーザコメントの文字エンコーディングの変換 (Unicode と JIS)を自動的に行います。この処理が行われるのは、 指定した文字セットを使用して最初にコメントをデコードする際です。 その結果は、HTTP 出力用の文字コードにエンコード されます。 表 85. Exif 設定オプション
名前 | デフォルト | 変更の可否 | 変更履歴 |
---|---|---|---|
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | PHP 4.3.0 以降で有効です。 |
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | PHP 4.3.0 以降で有効です。 |
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | PHP 4.3.0 以降で有効です。 |
exif.encode_jis | "" | PHP_INI_ALL | PHP 4.3.0 以降で有効です。 |
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | PHP 4.3.0 以降で有効です。 |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | PHP 4.3.0 以降で有効です。 |
PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
- exif.encode_unicode string
- exif.encode_unicode は、UNICODE ユーザコメント を処理する文字セットを定義します。デフォルトは ISO-8859-15 で、 アジア以外のほとんどの国で動作します。この設定は、空白 あるいは mbstring のサポートするエンコーディングである必要があります。 空白の場合は mbstring の内部エンコーディング設定が使用されます。
- exif.decode_unicode_motorola string
- exif.decode_unicode_motorola は、画像の バイトオーダーがモトローラ形式(ビッグエンディアン)であった場合に Unicode のユーザコメントを扱うための内部文字セットを定義します。 この設定は空白にすることはできず、mbstring がサポートしている エンコーディングの中から指定します。デフォルトは UCS-2BE です。
- exif.decode_unicode_intel string
- exif.decode_unicode_intel は、画像の バイトオーダーがインテル形式(リトルエンディアン)であった場合に Unicode のユーザコメントを扱うための内部文字セットを定義します。 この設定は空白にすることはできず、mbstring がサポートしている エンコーディングの中から指定します。デフォルトは UCS-2LE です。
- exif.encode_jis string
- exif.encode_jis は、JIS ユーザコメントを 処理する文字セットを定義します。デフォルトは空白で、これは mbstring の内部設定を使用させることを意味します。
- exif.decode_jis_motorola string
- exif.decode_jis_motorola は、画像の バイトオーダーがモトローラ形式(ビッグエンディアン)であった場合に JIS のユーザコメントを扱うための内部文字セットを定義します。 この設定は空白にすることはできず、mbstring がサポートしている エンコーディングの中から指定します。デフォルトは JIS です。
- exif.decode_jis_intel string
- exif.decode_jis_intel は、画像の バイトオーダーがインテル形式(リトルエンディアン)であった場合に JIS のユーザコメントを扱うための内部文字セットを定義します。 この設定は空白にすることはできず、mbstring がサポートしている エンコーディングの中から指定します。デフォルトは JIS です。
リソース型
リソース型は定義されていません。定義済み定数
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。- EXIF_USE_MBSTRING (integer)
exif_imagetype() は、関連するいくつかの組み込み定数を 一覧表示します。
目次
- exif_imagetype — イメージの型を定義する
- exif_read_data — JPEG あるいは TIFF から EXIF ヘッダを読み込む
- exif_tagname — インデックスに対応するヘッダ名を取得する
- exif_thumbnail — TIFF あるいは JPEG 形式の画像に埋め込まれたサムネイルを取得する
- read_exif_data — exif_read_data() のエイリアス
Exif
富士写真フイルムが開発、JEIDA(日本電子工業振興協会、現JEITA電子情報技術産業協会)で規格化された画像フォーマット。現在のバージョンは2.2。既存の汎用画像フォーマットであるTIFFとJPEGをベースに、ファイルにさまざまな統一された撮影情報が記録され、さらに個別に情報を書き込むこともできる。その撮影情報をプリンターが読みとってベストのプリントに仕上げることもできる。そうしたプリントシステムを「Exif Print(イグジフプリント)」という愛称で呼んでいる。デジタルカメラの統一カメラフォーマットであるDCFに準拠している。Exif2.2はデジタルカメラ側の情報を参考に、プリンタが独自に判断して画像調整を行ったうえでプリントされる。現行のほとんどのデジタルカメラとプリンタが対応している。
Exchangeable image file format
Exchangeable image file format(エクスチェンジャブル・イメージ・ファイル・フォーマット)は、富士フイルムが開発し、当時の日本電子工業振興協会 (JEIDA)で規格化された、写真用のメタデータを含む画像ファイルフォーマット。デジタルカメラの画像の保存に使われる。略称はExifで「エグジフ」(もしくは「イグジフ」)。
カメラの機種や撮影時の条件情報を画像に埋め込んでいて、ビューワや写真編集ソフトなどで参照、応用することができる。Exif2.2ではExif Printという規格を組み込んでおり、撮影時の条件情報を元に自動的に最適化を行って、的確な状態でプリント出力を可能にしている。また撮影者や著作権情報、コメントなど付随することが出来る。
対応画像形式はJPEG、TIFF、JPEG XR(HD Photo)、PNG。
記録されるメタデータ
以下のようなデータが記録される。撮影日時や場所を後から参照したりそれらによって写真を整理したり、適切なサイズでのプリント、撮影時のカメラの設定情報の参照などユーザーが使う上での利便性がある。
- 撮影日時 -日付と秒までの時刻が付加される。
- 位置情報(ジオタグ) - GPS付きカメラや携帯電子機器の場合、GPSにより自動的に記録された緯度・経度・標高などが記録される。また、GPS受信装置の付いていないカメラでも、GPSロガーという機器やスマートフォンの同様のアプリケーションを利用しカメラと一緒に持ち歩くことにより、後で写真に位置情報を付加することも可能。携帯電話やスマートフォンのカメラにおいてGPS機能が普及した一方、2019年現在においてもカメラでは上位機種においてもGPSは普及していない。カメラの起動からGPS観測までの速度やバッテリーへの影響などの観点から実用性が十分でないことが理由とみられる。
- 撮影方向 -電子コンパス付きのカメラやスマートフォンで撮影した場合に写真を撮影した際のカメラの方角の情報が付加される。
- 撮影機器のメーカー名(製造・販売元)
- 撮影機器のモデル名(カメラ付き携帯電話・スマートフォンの機種名など)
- 画像全体の解像度
- 水平・垂直方向の単位あたり解像度
- シャッター速度
- 絞り(F値)
- ISO感度
- 測光モード
- フラッシュ使用の有無
- 露光補正ステップ値
- 焦点距離
- 色空間(カラースペース)
- サムネイル(160×120画素)
問題点や対策
撮影時のGPSによる位置情報(緯度・経度)や撮影日時など、個人情報を特定できるおそれがある情報が含まれている。例えば、撮影された写真が観光地や市街地などではなく、自宅で撮影した場合はGPSによる緯度・経度がそのまま自宅の位置となる。例えば、ブログやファイルアップローダーなどで写真を公開した際、Exif情報が残ったままだと第三者がExif情報の位置情報から撮影時の緯度・経度で位置を特定され、事件の元になる危険性もある。iPhoneは、iPhoneからSNSへのアップロード時やメッセージへの添付の際に位置情報のみ削除される仕様になっている。一方条件やOSによって仕様は異なるため注意が必要である。
画像内に書かれている住所や名前など、「目に見える画像」にモザイク処理を入れても、「目に見えないExif情報」には位置データが残っており、Exif情報に含まれるサムネイル情報にはモザイクがかけられておらず、住所や名前が観覧できてしまう場合もある。
対策としては、各撮影機器でGPS情報を付加しないように設定したり、アプリケーションでExif情報を参照し削除したりする事などがあげられる。また、スマートフォンでExifをアプリケーションを使わず簡易的かつ確実に削除する方法として、画像をスクリーンショット(通常スクリーンショットにはExifが付かない)しそれをアップロードする手段がある。尚TwitterやInstagram等、一部のSNSやブログでは画像アップロード時に独自の変換を行うことでExif情報や、特に位置情報(ジオタグ)を消している所もある。また、Exif情報はソフトウェアなどで容易に変更可能なため、Exif情報として記録されているGPS情報を意図的に書き換えてあることもある。
撮影日時の情報は、UTCとタイムゾーンを組み合わせたものではなく、機種依存のローカルタイム(現地時刻)のみで記録され、タイムゾーン情報が記録されていないので、海外旅行や出張などタイムゾーンをまたいで移動、生活する際に問題となることもある。なお、タイムゾーン情報が記録できるカメラなどもあるが機種依存の機能である。Exif共通の仕様ではv2.31においてUTCからのオフセット値としてタイムゾーン情報が記録できるようになったが、対応しているカメラやソフトウェアは確認されていない。
関連項目
外部リンク
- CIPA規格類 - カメラ映像機器工業会 (CIPA)
- JEITA規格 - 電子情報技術産業協会 (JEITA)
- Exif standard version 2.32
- Exif standard version 2.3
Exif
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/03 00:39 UTC 版)
Exifフォーマットは、JPEGファイルにカメラ映像機器工業会 (CIPA) によって規定された「ヘッダー」を追加したものである。このヘッダーには、撮影時の機種、レンズ名、焦点距離、絞り、シャッタースピード、ISO感度、露出モード、撮影日時といったメタデータが含まれている。ほとんどのデジタルカメラおよびカメラ付き携帯電話はExifを使用しており、家庭用プリンターもExifデータを認識してそのまま印刷できるものが多い。ExifはRGB各色8 bitの階調しか持たないうえに非可逆圧縮を行うため、元の画像情報の一部は失われる。また、一度失われた情報を再現するのは不可能である。ほとんどのデジタルカメラでは、JPEGの圧縮率を選択できる。圧縮率を下げれば画質は向上するが、一方でファイルサイズが大きくなり、メディアに記録できる枚数は少なくなるトレードオフ関係がある。
※この「Exif」の解説は、「デジタルカメラ」の解説の一部です。
「Exif」を含む「デジタルカメラ」の記事については、「デジタルカメラ」の概要を参照ください。
- Exifのページへのリンク