Ultra HDR 圖片格式 1.0 版

簡介

本文件定義了對對數範圍進行編碼的新檔案格式行為,可在 JPEG 圖片檔中取得地圖圖片。不支援新格式的舊版讀取器,會讀取並顯示圖片檔常見的低動態範圍圖片。支援該格式的讀取器會結合主要圖片和增益圖,並在相容螢幕上顯示高動態範圍圖片。

本文件的其餘部分說明使用這種格式所需的程序方法。符合以下格式的圖片生命週期大致為:

  1. 編碼

    1. 產生地圖
    2. 增加地圖壓縮
    3. 產生地圖容器
  2. 解碼中


Ultra HDR 圖片格式檔案版面配置範例,包含相關中繼資料和偏移資訊

圖 1 檔案版面配置與相關中繼資料範例。

動機

這種檔案格式的目標在於對 SDR 圖片檔的其他資訊進行編碼,以便與顯示技術搭配使用,在單一檔案中產生最佳 HDR 規格。

為了方便起見,檔案格式必須符合下列條件:

  • 回溯相容,以便在一般檢視器上顯示傳統的 SDR 圖片。
  • 不會佔用太多額外空間。

此外,顯示技巧也必須:

  • 無須大量處理即可解碼。
  • 可在螢幕的 HDR 和 SDR 白點之間調整任何比例,這在不同裝置間可能大不相同,甚至可能只是暫時在單一裝置上調整。

最後,這項技巧必須能夠執行上述所有動作,而不能:

  • 醒目顯示焦點剪輯片段。
  • 影子衝刺。
  • 變更或壓縮局部對比度。
  • 變更相對關係 (在場景中物件之間)。

依附元件

以下是這個規格的常態性參考資料:

定義

  • 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

  • 多畫面格式

    • 多畫面格式是相機和影像產品協會 (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_sdroffset_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>