簡介
本文件定義了對對數範圍進行編碼的新檔案格式行為,可在 JPEG 圖片檔中取得地圖圖片。不支援新格式的舊版讀取器,會讀取並顯示圖片檔常見的低動態範圍圖片。支援該格式的讀取器會結合主要圖片和增益圖,並在相容螢幕上顯示高動態範圍圖片。
本文件的其餘部分說明使用這種格式所需的程序方法。符合以下格式的圖片生命週期大致為:
編碼
- 產生地圖
- 增加地圖壓縮
- 產生地圖容器
解碼中
動機
這種檔案格式的目標在於對 SDR 圖片檔的其他資訊進行編碼,以便與顯示技術搭配使用,在單一檔案中產生最佳 HDR 規格。
為了方便起見,檔案格式必須符合下列條件:
- 回溯相容,以便在一般檢視器上顯示傳統的 SDR 圖片。
- 不會佔用太多額外空間。
此外,顯示技巧也必須:
- 無須大量處理即可解碼。
- 可在螢幕的 HDR 和 SDR 白點之間調整任何比例,這在不同裝置間可能大不相同,甚至可能只是暫時在單一裝置上調整。
最後,這項技巧必須能夠執行上述所有動作,而不能:
- 醒目顯示焦點剪輯片段。
- 影子衝刺。
- 變更或壓縮局部對比度。
- 變更相對關係 (在場景中物件之間)。
依附元件
以下是這個規格的常態性參考資料:
- Adobe XMP 規格第 3 部分:檔案儲存空間
- ISO 16684-1:2019 XMP 規格第 1 部分
- ISO/IEC 14496-12 ISO 基本媒體檔案格式
- T.81 (09/92) 數位壓縮及編碼連續色調靜態圖片
- CIPA DC-x 007-2009 多畫面格式白皮書
定義
SDR 螢幕
- 傳統螢幕,並非專為顯示 HDR 內容而設計。這些螢幕通常產生的名峰亮度值通常在 400 cd/m2 以下。
HDR 螢幕
- 專為 HDR 內容設計的螢幕。這些螢幕產生的異常峰值亮度通常會大於 SDR 顯示螢幕 (通常為 800 cd/m2 以上),而且對比度通常也比 SDR 螢幕更好。
主要圖片
- GContainer 檔案中第一個附加次要媒體檔案的映像檔執行個體。主要映像檔包含 GContainer XMP 中繼資料,定義檔案容器中後續次要媒體項目檔案的順序和屬性。
次要映像檔
- 附加至 GContainer 檔案中主要映像檔的後續媒體項目檔案。
範圍壓縮
- 在攝影中,現實生活場景的動態範圍通常比 SDR 顯示畫面更有動態範圍。為了減少圖片的動態範圍,您需要執行範圍壓縮 (也稱為本機色調對應) 的作業。此縮減作業必須避免裁剪亮部或陰影陰影,同時盡可能保留本機對比。您可以嘗試縮減圖片中大型亮度邊緣的大小,進而提高圖像的全域對比,同時嘗試保留小型亮度邊緣的大小,也就是細節。雖然實作方式有許多不同的實作方式,但這種作業也是現今大多數現代數位相機的標準。
SDR 白點
- 螢幕上在特定時間點的 SDR 內容最大線性亮度。
HDR 白點
- 螢幕上在特定時間點的 HDR 內容最大線性亮度。這個值通常高於 SDR 白點。
強化
- HDR 白點除以 SDR 白點所得的值。
最大內容增強 (
max_content_boost
個方程式)- 這個值可讓內容製作者限制圖片在 HDR 螢幕上可顯示時,相對於 SDR 分類的亮度。
- 這個值是特定圖片的常數。例如,如果值為 4,則對於任何特定像素,顯示的 HDR 多樣化線性亮度不得超過 SDR 衍生的線性亮度 4 倍。在實際操作時,這表示場景中較亮的部分最多可顯示 4 倍。
- 實務上,這個值通常大於 1.0。
- 一律大於或等於「最小內容增強」。
內容增值下限 (方程式
min_content_boost
個)- 這個值可讓內容製作者限制圖片在 HDR 螢幕上可顯示時,相對於 SDR 樣式的亮度。這個值是特定圖片的常數。
- 例如,如果值為 0.5,則就任何特定像素而言,顯示的 HDR 多樣化線性亮度必須 (至少) 0.5 倍 (SDR 圖像) 的線性亮度。
- 實務上,這個值通常等於或小於 1.0。
- 務必小於或等於最大內容提升值。
最大螢幕增強程度 (
max_display_boost
個方程式)- 螢幕在指定時間點支援的最大可用增強功能。這個值可能會隨裝置設定和其他因素 (例如環境亮度條件) 或螢幕上的明亮像素數量而改變。
- 舉例來說,如果這個值為 4.0,則顯示螢幕可以顯示比 SDR 白點亮度最多四倍的像素。這個值一律會 >= 1.0,因為顯示螢幕始終可以至少顯示 HDR 白色,至少和 SDR 白色的明亮。
螢幕增強
- 這相當於較少的內容提升和最大螢幕亮度。這個值一律會 >= 1.0。
- 舉例來說,如果內容增強效果上限為 4.0,而螢幕提升量最大值為 3.0,則顯示提升為 3.0。螢幕功能是限制因素,因此像素亮度會是與 SDR 的 3 倍。
- 另外一例,如果內容提升量上限為 4.0,而螢幕提升量上限為 5.0,則顯示提升量為 4.0。由於內容的意圖是限制因素,像素的亮度顯示比 SDR 亮度為 4 倍。
目標 HDR 格式
- 內容創作者指出,這是理想的 HDR 格式。
改編版 HDR 改編版
- 針對目前的螢幕強化項目調整目標 HDR 格式後,螢幕上顯示的最終 HDR 格式。
取得地圖 (
recovery(x, y)
+ 方程式)- 一張地圖,標出每個像素的明亮程度 (以 SDR 格式呈現,以產生目標 HDR 格式)。這張地圖可以是單一管道或多管道。多管道地圖表示每個顏色管道 (例如紅色、綠色和藍色) 的獲利。本文件說明單一管道地圖的案例。
clamp(x, a, b)
- 將值 x 限制在 [a, b] 範圍中。
exp2(x)
- 基本 2 指數;2x。
floor(x)
- 傳回等於或小於 x 的最接近整數。
log2(x)
- 對數為 2;對數2(x)
pow(b, x)
- 指數;bx。
XMP
- 可擴充的中繼資料平台。標準,定義將中繼資料編碼至圖片容器的方法;由 ISO 16684-1:2011(E) XMP 規格第 1 部分所定義。
多畫面格式
- 多畫面格式是相機和影像產品協會 (CIPA) 所開發的技術,可將多張 JPEG 編碼圖片儲存在單一 JPEG 檔案中。
- 詳情請參閱相關依附元件:CIPA DC-x 007-2009 多畫面格式白皮書。
GContainer
- GContainer 是一種在一個映像檔容器中儲存多個映像檔的方法,會將一個映像檔視為主要映像檔。系統會將其他圖片視為替代版本或輔助圖片。XMP 中繼資料可用來傳達其他圖片的顯示狀態和意義。詳情請參閱「GContainer 詳細資料」一節。
編碼
本節說明如何為符合規定的 JPEG 檔案進行編碼。如要進一步瞭解 JPEG 格式,請參閱「依附元件」一節的 T.81 (09/92) 數位壓縮和連續色調靜態圖片編碼相關文章。
產生地圖
相機影像管道通常會執行範圍壓縮作業,將較高範圍的動態範圍亮度資料壓縮到傳統 SDR 顯示幕的較低範圍。增益圖提供一個機制來儲存資料,以復原高動態範圍亮度的原始資料。
本節的下列計算是假設浮點運算。
下列函式說明 SDR 映像檔:
SDR'(x, y)
是三通道非線性 (通常採用 Gamma 編碼) 的主要圖片。SDR(x, y)
是三色主要圖片的線性版本,可透過轉換為主要圖片色空間的線性版本取得。例如,從具有 sRGB 轉場函式的色域,到保留 sRGB 原色的線性色域。
Ysdr(x, y)
函式是在 0.0 到 1.0 的範圍內定義,並且是標準動態範圍主要圖片線性亮度:
Ysdr(x, y) = primary_color_profile_to_luminance(SDR(x, y))
HDR 圖像也有類似的定義。
HDR'(x, y)
是三管道非線性,也就是 PQ 或 HLG 編碼的圖片。HDR(x, y)
是三色線性 HDR 圖片。
Yhdr(x, y)
是 HDR 圖像指定點的亮度:
Yhdr(x, y) = primary_color_profile_to_luminance(HDR(x, y))
「Yhdr(x, y)
」的定義範圍從 0.0 到最大,
SDR 和 HDR 圖像的解析度必須相同。SDR 圖片的顏色設定檔會定義 HDR 圖片的色域。
舉例來說,如果 SDR 主要映像檔有 Display-P3 色彩設定檔,系統就會根據該設定檔的主要顏色定義 HDR 圖片。這表示 HDR 圖像也具有 Display-P3 原始版本。
增益地圖計算依據為兩張線性圖片,其中包含想要的 HDR 圖像亮度 Yhdr(x, y)
和標準範圍亮度圖片 Ysdr(x, y)
。
pixel_gain(x, y)
函式的定義為 Yhdr(x, y)
函式與 Ysdr(x, y)
函式之間的比率:
pixel_gain(x, y) = (Yhdr(x, y) + offset_hdr) / (Ysdr(x, y) + offset_sdr)
pixel_gain(x, y)
函式行為,其中 Ysdr(x, y)
和 offset_sdr
皆為零,是實作定義。
舉例來說,實作可將 pixel_gain(x, y)
定義為 1.0,藉此處理 Ysdr(x, y)
和 offset_sdr
都為零的情況。此外,實作還會使用非零的 offset_sdr
來避免這種情況。
實作方式可能會選擇 offset_sdr
和 offset_hdr
的值。
增益地圖是一個純量函式,可將 pixel_gain(x, y)
編碼在對數空間中 (相對於最大內容增強和最低內容增強):
map_min_log2 = log2(min_content_boost)
map_max_log2 = log2(max_content_boost)
log_recovery(x, y) = (log2(pixel_gain(x, y)) - map_min_log2)
/ (map_max_log2 - map_min_log2)
clamped_recovery(x, y) = clamp(log_recovery(x, y), 0.0, 1.0)
recovery(x, y) = pow(clamped_recovery(x, y), map_gamma)
在 pixel_gain(x, y)
為零的實作中,recovery(x, y)
函式行為,因為 log2(0)
未定義。
map_gamma
是必須大於 0.0 且由實作選擇的浮點數。
內容增強型功能和最低內容增強的值均由實作定義,可由內容創作者自行決定。最大內容增強必須大於或等於 1.0。最小內容增強必須在範圍 (0.0、1.0) 範圍內。
recovery(x, y)
中的值上限為 [0.0, 1.0]。
獲利地圖會儲存在次要圖片 JPEG 中,因此必須使用 8 位元無正負號整數值進行編碼,因此在 [0, 255] 範圍內。每個值都代表一個 recovery(x, y)
值,儲存在次要圖片的一個像素中。
針對 8 位元無正負號整數儲存空間,編碼值的定義如下:
encoded_recovery(x, y) = floor(recovery(x, y) * 255.0 + 0.5)
編碼函式會在浮點值進行計算,並依照指示,在最後轉換成 8 位元無正負號整數結果。
此編碼會產生 recovery(x, y)
值的 8 位元無正負號整數表示法 (從 0.0 到 1.0)。編碼後的獲利地圖必須以 JPEG 格式儲存在次要圖片項目中。實作方式會選擇 JPEG 編碼期間要使用的壓縮量。
將獲益圖儲存在次要映像檔後,系統會將其附加至含有 MPF 和 GContainer XMP 中繼資料的主要映像檔中。主要映像檔 GContainer 目錄必須包含取得地圖映像檔的項目。
儲存的增益圖解析度屬於實作定義,可能會與主要圖片的解析度不同。如果「增益地圖」縮放為與主要圖片不同的解析度,則取樣方法必須是雙線性或更好的,並已定義實作。
獲得地圖的方向必須與主要圖片的方向一致。如果顯示此屬性,系統就不會使用所儲存的取得地圖圖片 (如 EXIF) 所提供的任何方向中繼資料。
如果有,則不會使用取得地圖的色彩設定檔。
取得地圖容器
色彩設定檔
必須透過主要圖片的 ICC 設定檔表示圖片的顏色設定檔。
XMP 屬性
主要圖片包含 XMP 中繼資料,用於定義至少兩張針對 HDR 取得地圖格式額外語意資訊的圖片。
以下子章節包含這種格式專屬的詳細資料。關於符合 GContainer 一般性規定的其他相關資訊,請參閱「GContainer 詳細資料」部分。
下表說明的屬性值會以指定 XMP 基本值類型的 XMP 簡單值的形式儲存。
項目語意值
Item:Semantic
屬性會定義容器目錄中每個媒體項目的應用程式專屬意義。
值 | 說明 |
---|---|
Primary | 表示媒體項目是容器中可供顯示的主要圖片。目錄必須包含一個「主要」項目。 |
增益地圖 | 表示該媒體項目是增益地圖。目錄最多只能包含一個「GetMap」項目。 |
HDR 取得地圖中繼資料
取得地圖中繼資料會將資訊編碼,說明如何解讀及套用取得地圖,以產生主要圖片的 HDR 表示法。
取得地圖中繼資料 XMP 擴充功能的 XMP 命名空間 URI 為 http://ns.adobe.com/hdr-gain-map/1.0/
。預設的命名空間前置字串為 hdrgm
。
這項中繼資料會儲存在取得地圖圖片的 XMP 封包中,且下列屬性必須位於取得地圖圖片 XMP 的 rdf:Description
中:
姓名 | 類型 | 說明 |
---|---|---|
Hdrgm:Version | Text | 使用中的取得地圖格式版本。這個版本為「1.0」。此為「必填」參數。 |
hdrgm:BaseRenditionIsHDR | 布林值 | 用於表示主要圖片的動態範圍。「False」表示主要圖片為 SDR,且可以結合獲益圖來產生 HDR 偏見。「True」表示主要圖片為 HDR,且增益地圖可結合使用,產生 SDR 偏見。必須是「False」。 選用,預設值為「False」。 |
hdrgm:GetMapMin | 實數或序數陣列 | 儲存 map_min_log2 的值。這是內容下限的 log2 ,也就是特定像素相對於 SDR 圖像的線性亮度下限 (除以 SDR 圖像允許值)。可以是單一 Real,或已排序的 Reals 陣列。經排序的 Reals 陣列時,可包含一個項目,且可分別套用至所有頻道或三個項目,分別適用於紅色、綠色和藍色管道。必須小於或等於 hdrgm:GainMapMax 。選用,預設值為 0.0。 |
hdrgm:GetMapMax | 實數或序數陣列 | 儲存 map_max_log2 的值。這是最大內容提升的 log2 。這是指相較於 SDR 圖像在特定像素中的目標 HDR 畫質,相對於 SDR 圖像的線性亮度上限 (除以)。可以是單一 Real,或已排序的 Reals 陣列。經排序的 Reals 陣列時,可包含一個項目,且可分別套用至所有頻道或三個項目,分別適用於紅色、綠色和藍色管道。必須大於或等於 hdrgm:GainMapMin 。此為「必填」參數。 |
hdrgm:Gamma | 實數或序數陣列 | 儲存 map_gamma 的值。這就是要套用至已儲存地圖值的 Gamma。可以是單一 Real,或已排序的 Reals 陣列。經排序的 Reals 陣列時,可包含一個項目,且可分別套用至所有頻道或三個項目,分別適用於紅色、綠色和藍色管道。必須大於 0.0。選用,預設值為 1.0。 |
hdrgm:OffsetSDR | 實數或序數陣列 | 儲存 offset_sdr 的值。這是在取得地圖和應用程式的過程中,要套用至 SDR 像素值的偏移值。可以是單一 Real,也可以是已排序的 Reals 陣列。經過排序的 Reals 陣列時,系統可能會包含一個項目,且可分別套用至所有通路或三個項目,分別適用於紅色、綠色和藍色管道。必須等於或大於 0.0。選用,預設值為 0.015625 (1/64)。 |
hdrgm:OffsetHDR | 實數或序數陣列 | 儲存 offset_hdr 的值。這是在取得地圖和應用程式期間,要套用至 HDR 像素值的偏移值。可以是單一 Real,也可以是已排序的 Reals 陣列。經過排序的 Reals 陣列時,系統可能會包含一個項目,且可分別套用至所有通路或三個項目,分別適用於紅色、綠色和藍色管道。必須等於或大於 0.0。選用,預設值為 0.015625 (1/64)。 |
Hdrgm:HDRCapacityMin | 真的 | 儲存 hdr_capacity_min 的值。這是完全套用地圖的最低螢幕提升值 log2 。這個值也會影響系統根據顯示強化項目套用取得地圖的方式。必須等於或大於 0.0。選用,預設值為 0.0。 |
HDRCapacityMax | 真的 | 儲存 hdr_capacity_max 的值。這是完全套用地圖的最大螢幕提升值 log2 。這個值也會影響系統根據顯示強化項目套用取得地圖的方式。必須大於 hdrgm:HDRCapacityMin 。此為「必填」參數。 |
取得地圖 XMP 的範例
以下有效的獲利對應 XMP 封包範例包含從「簡介」一節所述的範例檔案擷取的中繼資料。
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.5.0"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:hdrgm="http://ns.adobe.com/hdr-gain-map/1.0/" hdrgm:Version="1.0" hdrgm:GainMapMin="-0.57609993" hdrgm:GainMapMax="4.7090998" hdrgm:Gamma="1" hdrgm:OffsetSDR="0.015625" hdrgm:OffsetHDR="0.015625" hdrgm:HDRCapacityMin="0" hdrgm:HDRCapacityMax="4.7090998" hdrgm:BaseRenditionIsHDR="False"/> </rdf:RDF> </x:xmpmeta>
增加地圖的 MPF 儲存空間
取得地圖圖片必須儲存為 CIPA-x 007-2009 多畫面格式中定義的額外圖片,如「依附元件」一節所述。
解碼
本節說明如何從符合規定的 JPEG 檔案將取得地圖解碼。
格式信號
符合此格式的 JPEG 檔案可能會由主要圖片的 XMP 封包中存在 hdrgm:Version="1.0"
來識別,其中 hdrgm
是命名空間 URI http://ns.adobe.com/hdr-gain-map/1.0/
。
找出取得地圖圖片
如要進一步瞭解如何剖析及解碼映像檔,請參閱下列 GContainer 詳細資料一節。XMP rdf:Directory
中的「GetMap」語意項目是用於指出取得地圖圖片的位置。或者,您也可以使用 MPF Index IFD 和掃描圖片的 XMP 來判斷增益地圖的位置。
處理無效的中繼資料
如果必填欄位不存在,或有任何欄位含有無效值,系統就會將中繼資料視為無效。由於無法以指定類型剖析值,或是超出預期範圍,因此可能無效。
如果遇到無效中繼資料,應忽略取得對應,並顯示 SDR 圖片。
螢幕
以 HDR 增益模式編碼的檔案,都可以在傳統 SDR 顯示器上,或是能產生高亮度輸出的 HDR 顯示器上轉譯。
使用增益地圖建立經過調整的 HDR 格式
本節的下列計算是假設浮點數計算。
encoded_recovery(x, y)
是取得地圖圖片中的單通道 8 位元無正負號整數值。
如果增益圖的解析度與主要圖片不同,encoded_recovery(x, y)
應分別根據主要圖片寬度和高度範圍的 x 和 y 經篩選地圖圖片進行篩選,決定該圖片的解析度。篩選方法必須為雙線性或更高線性,且已定義實作。
map_gamma
取決於 hdrgm:Gamma
中繼資料欄位。
log_recovery(x, y)
是對數空間中正規化浮點像素的增益:
recovery(x, y) = encoded_recovery(x, y) / 255.0
log_recovery(x, y) = pow(recovery(x, y), 1.0 / map_gamma)
螢幕最大強化率是純量浮點值,定義為目前 HDR 白點與目前 SDR 白點之間的比率。這個值是由顯示系統提供,可能會隨著時間改變。
hdr_capacity_max
取決於 hdrgm:HDRCapacityMax
中繼資料欄位。hdr_capacity_min
取決於 hdrgm:HDRCapacityMin
中繼資料欄位。
當 hdrgm:BaseRenditionIsHDR
為「False」時,weight_factor
會依照以下方式決定:
unclamped_weight_factor = (log2(max_display_boost) - hdr_capacity_min)
/ (hdr_capacity_max - hdr_capacity_min)
weight_factor = clamp(unclamped_weight_factor, 0.0, 1.0)
當 hdrgm:BaseRenditionIsHDR
為「True」時,第二個方程式會改為:
weight_factor = 1.0 - clamp(unclamped_weight_factor, 0.0, 1.0)
gain_map_max
取決於 hdrgm:GainMapMax
中繼資料欄位。gain_map_min
取決於 hdrgm:GainMapMin
中繼資料欄位。offset_sdr
取決於 hdrgm:OffsetSDR
中繼資料欄位。offset_hdr
取決於 hdrgm:OffsetHDR
中繼資料欄位。
線性調整 HDR 格式的計算方式如下:
log_boost(x, y) = gain_map_min * (1.0f - log_recovery(x, y))
+ gain_map_max * log_recovery(x, y)
HDR(x, y) = (SDR(x, y) + offset_sdr) * exp2(log_boost(x, y) * weight_factor)
- offset_hdr
如有需要,實作作業可能會將轉換套用至 HDR(x, y)
,以將資料放在螢幕預期的空間中。任何這類轉換都必須是顏色正確的。
GContainer 詳細資料
本節會指定其他規定,讓這個格式符合 GContainer XML 中繼資料。中繼資料會依 ISO 166841:2011(E) XMP 規格第 1 部分序列化,並如檔案內的 Adobe XMP 規格第 3 部分儲存空間所述,嵌入主要映像檔中。主要圖片檔包含下列項目,格式為 RDF/XML。
XMP 封包需求
XMP 封包須透過命名空間 URI http://ns.adobe.com/hdr-gain-map/1.0/
納入取得地圖中繼資料 XMP 擴充功能。預設的命名空間前置字串為 hdrgm
。
XMP 封包應定義 hdrgm:Version="1.0"
。
容器元素
GContainer XMP 擴充功能的 XMP 命名空間為 http://ns.google.com/photos/1.0/container/
。預設的命名空間前置字串為 Container
。
主要映像檔的 XMP 中繼資料包含 Container:Directory
元素,定義檔案容器中後續媒體檔案的順序和屬性。容器中的每個檔案在 Container:Directory
中都有對應的媒體項目。媒體項目會說明檔案容器中的位置,以及每個串連檔案的基本屬性。
容器元素會編碼為主要圖片的 XMP 中繼資料,並定義容器中媒體項目的目錄。媒體項目必須位於容器檔案中,其順序必須與目錄中的媒體項目元素相同,且必須緊密封裝。
目錄中只能包含一個「主要」圖片項目,且必須是目錄中的第一個項目。
元素名稱 | 類型 | 說明 |
---|---|---|
容器:目錄 | 已排序的結構陣列 | 已排序的結構體陣列,每個陣列都包含用於定義容器版面配置和內容的 Container:Item 結構體。 |
項目元素
項目元素描述應用程式使用每個媒體項目的方式。
GContainer 項目 XMP 擴充功能的 XMP 命名空間 URI 為 http://ns.google.com/photos/1.0/container/item/
。預設的命名空間前置字串為 Item
。
第一個媒體項目必須是主要圖片。必須指定「項目 MIME 類型值」中列出的 Item:Semantic
= "Primary"
和 Item:Mime
。
主要圖片項目的長度,是由根據檔案容器開頭的 MIME 類型剖析主要圖片來決定。
媒體項目可包含 Item:Padding
屬性,指定媒體項目結尾和下一個媒體項目開頭之間的額外邊框間距。當 Container:Directory
的最後一個媒體項目上時,Item:Padding
表示項目結尾和檔案結尾之間的邊框間距。
每個媒體項目都必須包含 Item:Mime
類型和 Item:Semantic
屬性。次要圖片媒體項目必須包含 Item:Length
屬性。
依序媒體項目可在檔案容器內共用資源資料。第一個媒體項目會決定檔案容器中的資源位置,後續的共用媒體項目會將 Item:Length
設為 0。如果資源資料本身是容器,系統可能會使用 Item:URI
來判斷資源中媒體項目資料的位置。
容器中媒體項目資源的位置,取決於主要圖片編碼的長度、前次要媒體項目資源的 Item:Length
值,以及前面所有 Item:Padding
值。針對未指定其值的媒體項目資源,Item:Padding
會視為 0。
屬性名稱 | 類型 | 說明 |
---|---|---|
項目:麥克風 | Text | 指出容器中媒體項目 MIME 類型的簡單字串。如需定義,請參閱「項目 MIME 類型值」一節。此為「必填」參數。 |
項目:語意 | Text | 指出應用程式特定媒體項目意義的簡單字串。如需定義,請參閱「商品語意值」一節。此為「必填」參數。 |
項目:長度 | 整數 | 包含項目中正整數長度 (以位元組為單位) 的簡單字串。長度 0 表示媒體項目資源已與上一個媒體項目共用。對於次要媒體項目,此為必填屬性。對於主要圖片媒體項目,此為選用元素。 |
項目:標籤 | Text | 實作定義的字串,用來區分多個具有相同 Item:Semantic 的項目元素。這是選填屬性。 |
項目:邊框間距 | 整數 | 字串,包含媒體項目結尾與下一個媒體項目開頭之間額外邊框間距的字串 (以位元組為單位),或者用於 Container:Directory 中的最後一個媒體項目時檔案結尾。如果沒有,系統會假設值為 0。選用。 |
項目:URI | Text | 符合 ISO/IEC 14496-12 第 8.11.9 節規定的 URI 字串,內含媒體項目資源中媒體資料的相對 URI。預設值為主要映像檔資源。如果是 ISO 基本媒體檔案格式 ISO/IEC 14496-12 MIME 類型,此為選填屬性。否則可能無法使用。 |
項目 MIME 類型值
Item:Mime
屬性會定義每個媒體項目資料的 MIME 類型。
值 | 說明 |
---|---|
圖片/jpeg | JPEG 圖片。 |
GContainer XMP 範例
在以下有效的 GContainer XMP 封包範例中,中繼資料取自「簡介」一節所示的範例檔案。
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.1.2"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description xmlns:Container="http://ns.google.com/photos/1.0/container/" xmlns:Item="http://ns.google.com/photos/1.0/container/item/" xmlns:hdrgm="http://ns.adobe.com/hdr-gain-map/1.0/" hdrgm:Version="1.0"> <Container:Directory> <rdf:Seq> <rdf:li rdf:parseType="Resource"> <Container:Item Item:Semantic="Primary" Item:Mime="image/jpeg"/> </rdf:li> <rdf:li rdf:parseType="Resource"> <Container:Item Item:Semantic="GainMap" Item:Mime="image/jpeg" Item:Length="66171"/> </rdf:li> </rdf:Seq> </Container:Directory> </rdf:Description> </rdf:RDF> </x:xmpmeta>