分享本文至 E-mail 信箱
學術引用格式
MLA
APA
EndNote(.enw)

認識 jpg 相片/圖檔的「中繼資料」 內嵌文字欄位機制

JPG 相片/圖片裡面的欄位分類: IPTC、 IIF、 XMP、 EXIF 之間的關係

JPG 相片/圖片裡面的欄位分類: IPTC、 IIF、 XMP、 EXIF 之間的關係

JPG 相片/圖片裡面的欄位分類: IPTC、 IIF、 XMP、 EXIF 之間的關係

相片/圖片檔 *.jpg 裡面, 其實內含了很多文字資訊, 例如相片的標題、 一段文字描述、 一組標籤、 … 等等。 這些資訊稱為 「中繼資料」 (metadata)。 用 exiftool 命令 可以列出來。 或者用 geeqie 看圖軟體的 「檢視」 => 「exif window」 也可以查看。 這些文字資訊其實混合了 IIM (一般稱為 IPTC)、 XMP、 EXIF 等等多種標準; 裡面又有些某些欄位彼此重複。 到底這些簡寫之間有什關係? 重複的欄位有什麼作用?

IPTC 是新聞界的一個國際組織。 他們在 1990-1997 年之間製定了一個標準 IIM (Information Interchange Model), 裡面定義了相片(文件)的標題、 一段文字描述、 一組分類用的標籤、 攝影師(文件作者)、 著作權、 … 等等許多 描述多媒體用的文字資訊 欄位。 原本是用來傳遞新聞相關資料用的; 後來因為被大家拿來描述相片而廣泛使用。 一般軟體手冊提到 「IPTC 某欄位」 時, 其實指的多半是這個舊版的 「IIM 某欄位」。 指令 exiftool -list -IPTC:All 可以列出 exiftool 所支援的 IIM 欄位清單。

隨著 XML 格式的興起, IPTC 與 Adobe 合作, 將 IIM 重新改用 XML 的格式呈現, 稱為 XMP (Extensible Metadata Platform)。 [ IIM/XMP 4.1 規格書] 指令 exiftool -list -XMP:All 可以列出 exiftool 所支援的 XMP 欄位清單。

另一方面, 日本電子工業發展協會在 1996-2002 年之間, 為了將文字資訊內嵌到數位相片裡面, 製定了一個標準 EXIF (Exchangeable image file format), 裡面包含相機廠牌/型號/儀器特性、 拍照當時相機的光圈 (ApertureValue)、 快門 (ShutterSpeedValue)、 閃光燈 (Flash)、 … 等等技術資訊。 這些資訊多半是拍照當時相機自動產生的。 [ EXIF 2.1 與 2.2 規格書 欄位清單] 指令 exiftool -list -EXIF:All 可以列出 exiftool 所支援的 EXIF 欄位清單。

因為 IPTC 設計 XMP 的目的, 就是要取代 舊的 IIM, 所以兩者的欄位之間有對應關係。 至於 EXIF 的欄位則偏向光學技術辭彙, 所以與前二者沒有太多交集。

一張 jpg 圖片裡面, 可能會同時出現以上三組資料。 超強工具箱 exiftool 可以幫你增/刪/查/改 jpg 圖檔裡面的 IIM、 XMP、 EXIF 以及其他許多組文字資料。 這意思就好像是說你在 SEVEN/家樂福的店裡面, 不只可以買到統一自家/家樂福自家的產品, 也可以買到其他供應商的商品一樣。 不過在 exiftool 的文件及輸入輸出當中, 都是用 「IPTC」 在稱呼 IIM。 事實上多數的軟體和文章都如此混用這兩個名字; 這也是為什麼我花了整個週末才弄懂這些簡稱之間的關係。 就好像: 星戰迷們談到 「星際大戰」 時, 可能指一系列的六部電影; 但也可能是指 (最早上演的) 第四集 「曙光乍現」; 但是非星戰迷們如果聽到 「曙光乍現」 (英文片名: a new hope) 可能完全不知道是什麼東東, 於是星戰迷們乾脆就用 「星際大戰」 這個名字來跟其他人溝通。

舊的 IIM 標準預設只支援 ascii 碼。 如果希望存進相片的中文資料被正確處理, 就必須把 Coded Character Set 欄位設定成 utf8: exiftool -codedcharacterset=utf8 elephant.jpg 從此以後任何軟體看到這張 elephant.jpg, 理論上都應該要以 utf8 編碼解釋其中的 IPTC 文字欄位。

新的 XMP 標準支援 utf8 萬國碼, 也就是說中文都沒問題。 其中某些欄位 (下表打 * 號者) 甚至支援 「同時儲存多國語言」 (不必是完全對等的翻譯)。 例如一張相片可以有中文版的 title-zh-TW、 英文版的 title-en、 西班牙文版的 title-es 三個標題。 常見檔案格式當中, 只有 tiff、 jpg、 png、 gif、 pdf 等等格式支援內嵌文字欄位。 所以 XMP 還定義了 sidecar (「邊車」) — 一個外加的文字檔, 用來幫其他檔案格式 「運送」 圖片相關的文字資訊。

可惜並非所有軟體都支援新的 XMP 標準。 例如 相片網站架站軟體 zenphoto 與 piwigo預設就只支援 IIM 的 “Keywords" (就是標籤/tag 啦) 而不支援 XMP 的 “Subject" 欄位。 (我找到 zenphoto 和 piwigo 的 XMP 教學文; 但沒試出來。 見下表連結。) 另一方面, 超強超好用、 跨作業平臺的單機版相片整理工具 digikam, 它對舊版 IIM 的 utf8 支援就不太行, 即使設定了 -codedcharacterset=utf8 還是會產生亂碼。 所以較好的相片處理流程可能是:

  1. 用 digikam 在本機處理, 速度快、 介面友善。
  2. 用 exiftool 把 “Subject" 欄位拷貝到 “Keywords" 欄位, 並且指定日後都以 utf8 編碼解讀這張/這些相片的資料: exiftool -Keywords'<'Subject -codedcharacterset=utf8 photos/
  3. 上傳至 zenphoto 或 piwigo 之後, 只做簡單的整理, 不再修改標籤。

下面兩個表格分別是幾套相片軟體對 IIM “Keywords" 與 XMP “Subject" 的支援, 以及 IIM 與 XMP 欄位對照簡單摘要。 後者摘錄自 IPTC Core XMP Schema。 其中黃色部分是相片整理者最有可能有興趣的三個欄位: 標題、 標籤、 一段文字描述。

IIM “Keywords" XMP “Subject"
geeqie 1.0 ok ok
digikam 2.8.0 中文變亂碼 ok
zenphoto 1.4.3 ok 啟動套件:
xmpMetadata
piwigo 2.4.3 ok 安裝並啟動套件:
Advanced Metadata
欄位用途 軟體顯示 IPTC 名稱 XMP 名稱 IIM 代號 IIM 名稱
城市 City City photoshop:
City
2:90 City
著作權 Copyright Notice CopyrightNotice dc:rights * 2:116 Copyright Notice
國家 Country Country photoshop:
Country
2:101 Country/Primary Location Name (64b)
國家代碼 ISO Country Code CountryCode Iptc4xmpCore:
CountryCode
2:100 Country/Primary Location Code
原作者 Creator Creator dc:creator * 2:80 By-line
原作者聯絡資訊 Creator’s Contact info: CreatorContactInfo Iptc4xmpCore:
CreatorContactInfo
原作者職稱 Creator’s Jobtitle CreatorJobtitle photoshop:
AuthorsPosition
2:85 By-line Title
創作日期 Date Created DateCreated photoshop:
DateCreated
2:55 Date Created
詳細描述 Caption/ Description Description dc:description * 2:120 Caption/Abstract
詳細描述的撰寫人 Caption/ Description writer DescriptionWriter photoshop:
CaptionWriter
2:122 Writer/Editor
新聞頭條 Headline Headline photoshop:
Headline
2:105 Headline
操作指示 Instructions Instructions photoshop:
Instructions
2:40 Special Instruction
新聞類別 Intellectual genre IntellectualGenre Iptc4xmpCore:
IntellectualGenre
2:04 Object Attribute Reference
工作流程代號 Job Identifier JobID photoshop:
TransmissionReference
2:103 Original Transmission Reference (32b)
標籤 Keywords Keywords dc:subject 2:25 Keywords
地點 Location Location Iptc4xmpCore:
Location
2:92 Sublocation
提供者 Provider Provider photoshop:
Credit
2:110 Credit
州/省 Province/State Province-State photoshop:
State
2:95 Province/State
授權聲明 Rights Usage Terms RightsUsageTerms xmpRights:UsageTerms
場景 IPTC Scene Scene Iptc4xmpCore:
Scene
來源 Source Source photoshop:
Source
2:115 Source
主題代碼 IPTC Subject Code SubjectCode Iptc4xmpCore:
SubjectCode
2:12 Subject Reference
標題 Title Title dc:title * 2:05 舊 Object Name (64b)

(本文原發表於 玩具烏托邦

「空虛寂寞覺得冷會傳染嗎?」「為什麼人看到可愛的東西就想捏?」「為什麼蚊子喜歡叮穿深色衣服的人?」

科學從不只是冷冰冰的文字,而是存在世界各個角落熱騰騰的知識!不論是天馬行空的想像或日常生活的疑問,都可能從科學的角度來解釋。

本月的泛科選書 《不腦殘科學2》是泛科學作者編輯團隊嘔心瀝血的超級鉅獻!不只能滿足大人與小孩的好奇心,更將拓展你的視野,帶領大家發現一個嶄新的世界!

泛科限時優惠79折(含運),現在就帶一本回家

關於作者