Exif
一種圖象文件格式
Exif是一種圖象文件格式,它的數據存儲與JPEG格式是完全相同的。實際上Exif格式就是在JPEG格式頭部插入了數碼照片的信息,包括拍攝時的光圈、快門、白平衡、ISO、焦距、日期時間等各種和拍攝條件以及相機品牌、型號、色彩編碼、拍攝時錄製的聲音以及全球定位系統(GPS)、縮略圖等。簡單地說,Exif=JPEG+拍攝參數。因此,你可以利用任何可以查看JPEG文件的看圖軟體瀏覽Exif格式的照片,但並不是所有的圖形程序都能處理Exif信息。
exif
Exif文件實際是JPEG文件的一種,遵從JPEG標準,只是在文件頭信息中增加了有關拍攝信息的內容和索引圖。所以你可以使用任何支持JPEG格式的圖像工具軟體觀看Exif文件,但圖像一旦被修改,Exif 信息可能會永久丟失,故編輯Exif必須使用專門的軟體。
簡單來說,Exif信息就是由數碼相機在拍攝過程中採集一系列的信息,然後把信息放置在我們熟知的JPEG/TIFF文件的頭部,也就是說Exif信息是鑲嵌在JPEG/TIFF圖像文件格式內的一組拍攝參數,它就好像是傻瓜相機的日期列印功能一樣,只不過Exif信息所記錄的資訊更為詳盡和完備。Exif 所記錄的元數據信息非常豐富,主要包含了以下幾類信息:
拍攝日期
拍攝器材(機身、鏡頭、閃光燈等)
拍攝參數(快門速度、光圈F值、ISO速度、焦距、測光模式等)
圖像處理參數(銳化、對比度、飽和度、白平衡等)
圖像描述及版權信息
GPS定位數據
縮略圖
廠商註釋(MakerNote)是儲存在 Exif 中的廠商專有的註釋數據,採用二進位格式,由不同的廠商自行制訂,因此沒有統一的標準,往往只能由生產商讀取。廠商註釋往往記錄了許多 Exif 標準中未被正式定義的標籤,比如快門次數、白平衡微調、人臉偵測信息、連拍序列、對焦數據等等,大大擴展了 Exif 標準的局限性。
由於缺乏統一的行業標準,加之設備生產商往往不對外公布其廠商註釋採用的格式,使得解碼和識別廠商註釋變得十分困難。一般的 Exif 查看軟體並不能解碼廠商註釋數據,目前能夠正確讀取並識別的廠商註釋項目的Exif 查看/編輯軟體比較少,主要有:ExifTool、MagicEXIF(中文支持)、bkviewer、JPEGsnoop(僅限佳能和尼康)等。
Exif 1.0
1995年10月
第一個Exif標準版本,定義了Exif使用的基礎數據結構和標籤格式
Exif 1.1 1997年5月 添加更多Exif標籤
Exif 2.0
1997年11月 添加GPS標籤和縮略圖
Exif 2.1
1998年12月
添加DCF可交換性標籤
Exif 2.2
2002年4月 添加與定位有關的標籤
Exif 2.21 2003年9月 添加並修正一些標籤,加入操作準則
Exif 2.21(統一版本) 2009年9月
合併 Exif 2.2 和 Exif 2.21 的內容,並添加多個附表
Exif 2.3 2010年4月
重新編整文章結構,添加鏡頭和感光度相關標籤
exif
到了2002年3月份,JEITA再次發表了Exif標準的最新版本,增加了一些有利於照片列印的參數支持。
就目前的數字照片列印來看,一般的數字照片列印處理可能會帶來一些質量不好的列印結果,如果印表機從數碼相機中獲得更多的照片拍攝時候的信息,那麼對於效果更好的列印質量是有幫助的。其實這個問題已經被有些廠商所意識到,例如 Epson就已經開發出Print Image Matching (PrintIM) 技術,而Exif 2.2的出現使得 PrintIM技術標準化,這對於協調數碼相機廠商和印表機廠商都是非常有效的做法。
Exif 2.2中最有特色的地方就在於新推出的Exif Print。它裡面包含著有助於數碼照片列印的有效信息,這些增加的信息包含在照片文件頭中,所有這些信息都有助於照片列印,有了這些信息的幫助,印表機就不會再把夜景拍攝照片當作普通風景照片來列印,對於每張照片的處理都可以達到這樣精確的地步。Exif 2.2標準可以準確再現當時拍攝時候的畫面。
Exif 2.21標準在2003年9月正式對外發布,並在2009年9月完成最終的統一修訂,將 Exif 2.2 與 2003 版的Exif2.21進行了合併。新Exif 2.21標準與之前的標準對大的區別在於添加了多個附錄,用以記錄舊版本標準以及更新信息,並提供操作 Exif 的一系列準則。由於其發布時間正值數碼相機普及的年代,這個版本一度成為大部分數碼相機沿用的標準。
直到2010年4月,由於沿用了七年之久的 Exif 2.21 已經不能滿足數碼相機的發展需要,JEITA 發布了 Exif 2.3,這一版本中主要添加和修正了鏡頭、感光度、GPS等相關的標籤,並重新整理了說明文檔的結構。目前各大生產商已經陸續將其下屬的新型號產品遷移到新標準上。
所有的JPEG文件以字元串“0xFFD8”開頭,並以字元串“0xFFD9”結束。文件頭中有一系列“0xFF??”格式的字元串,稱為“JPEG標識”或“JPEG段”,用來標記JPEG文件的信息段。“0xFFD8”表示圖像信息開始,“0xFFD9”表示圖像信息結束,這兩個標識後面沒有信息,而其它標識緊跟一些信息字元。
0xFFE0 -- 0xFFEF之間的標識符稱為“應用標記”,一般稱為APPn,JPEG的編碼和解碼並不會使用這些段,Exif 正是利用這些信息串記錄拍攝信息如快門速度、光圈值等,甚至可以包括全球定位信息。按照 Exif 標準對這些標識符的定義,數碼相機可以把各種拍攝信息記入數碼圖像中,應用軟體可以讀取這些數據,再按照 Exif 標準,檢索出它們的具體含義,一般而言包括以下一些信息:
0x010E ImageDescription 圖像描述 -
0x013B Artist 作者 使用者的名字
0x010F Make 生產商 相機生產廠家
0x0110 Model 型號 相機型號
0x0112 Orientation 方向 有的相機支持,有的不支持
0x011A XResolution 水平方向解析度 -
0x011B YResolution 垂直方向解析度 -
0x0128 ResolutionUnit 解析度單位 -
0x0131 Software 軟體 固件Firmware版本或編輯軟體
0x0132 DateTime 日期和時間 照片最後的修改時間
0x0213 YCbCrPositioning YCbCr定位 色度抽樣方法
0x8769 ExifOffset Exif子IFD偏移量 -
0x829A
ExposureTime 曝光時間 即快門速度
0x829D FNumber 光圈係數 光圈的F值
0x8822 ExposureProgram 曝光程序 自動曝光、光圈優先、快門優先、M檔等
0x8827 ISOSpeedRatings ISO感光度 Exif 2.3 中更新為“PhotographicSensitivity”
0x9000 ExifVersion Exif 版本 參見“歷史版本”一節
0x9003 DateTimeOriginal 拍攝時間 照片拍攝的時間
0x9004 DateTimeDigitized 數字化時間 照片被寫入內存卡的時間
0x9204 ExposureBiasValue 曝光補償 -
0x9205 MaxApertureValue 最大光圈 APEX為單位
0x9207 MeteringMode 測光模式 平均測光、中央重點測光、點測光等
0x9208 Lightsource 光源 一般記錄白平衡設定
0x9209 Flash 閃光燈 記錄閃光燈狀態
0x920A FocalLength 鏡頭焦距 鏡頭物理焦距
0x927C MakerNote 廠商註釋 參見“廠商註釋”一節
0x9286 UserComment 用戶註釋 用戶自定義數據
0xA000 FlashPixVersion FlashPix版本 -
0xA001 ColorSpace 色彩空間 一般為sRGB
0xA002 ExifImageWidth 圖像寬度 圖像橫向像素數
0xA003 ExifImageLength 圖像高度 圖像縱向像素數
0xA433 LensMake 鏡頭生產商 -
0xA434 LensModel 鏡頭型號 -
提高攝影水平
exif
提供編輯依據
很多圖像編輯器會自動讀取Exif數據來對圖像進行優化,最常見的便是從 Exif中讀取出相機姿態信息,從而自動識別出豎拍甚至是顛倒拍攝的照片並對其進行旋轉校正。也有一些軟體可以根據 Exif中的機內處理信息對圖像進行針對性優化,從而保證圖像不會因為過度處理而失真。
方便管理
Exif 除了記錄技術性參數之外,還允許用戶加入自定義的信息。比如通過 GPS 信息可以知道照片具體的拍攝地點,Windows 允許用戶加入圖像關鍵詞便於用戶日後的搜索和歸類,加入圖像描述或者註釋還可以記錄照片拍攝時的有趣故事。
驗證原圖
由於照片經過圖像處理軟體的編輯後會丟失部分或全部的 Exif元數據,因此 Exif信息的完整與否還是判斷照片是否為相機直出的原始圖像的重要依據。比如 Adobe Photoshop 在編輯圖像後會刪除大部分非技術參數,並將一些項目修改為其特有的值,因此很容易能夠得知圖像的編輯歷史。