ウルトラ HDR 画像形式 v1.0

はじめに

このドキュメントでは、ファイルをエンコードした新しいファイル形式の 対数範囲ゲイン マップ画像(JPEG 画像ファイル)。従来のリーダーが 新しいフォーマットをサポートし 従来の低ダイナミック 範囲画像が作成されます。このフォーマットに対応しているリーダーは、 メインの画像をゲインマップで示し、上部にハイ ダイナミック レンジ画像を 対応ディスプレイです。

このドキュメントの残りの部分では、 この形式を使用します大まかに言えば、イメージに適合性のあるライフサイクルとは、 次のようになります。

  1. エンコード

    1. 地図を生成する
    2. ゲインマップ圧縮
    3. 地図コンテナを生成する
  2. デコード


例
ウルトラ HDR 画像形式のファイル レイアウト(メタデータとオフセットが関連付けられている)
情報

図 1. ファイル レイアウトの例と関連メタデータ。

目的

このファイル形式の目標は、SDR 画像に追加情報をエンコードすることです。 表示技術と併用して使用できるファイルです。 最適な HDR レンダリングを 1 つのファイルにまとめます。

これを実践的に行うには、ファイル形式が次の条件を満たしている必要があります。

  • 下位互換性を確保して、単純な視聴者には従来の SDR 映像を 表示されます。
  • 余分なスペースを占有しません。

また、表示手法は次の要件を満たす必要があります。

  • デコードに大量の処理を必要としない。
  • ディスプレイの HDR と SDR のホワイト ポイントの任意の比率に適応できる。 デバイスによって大きく異なる場合があり ダウンロードします

最後に、手法は前述のアクションをすべて実行できる必要があります。 ありません。

  • クリップのハイライト。
  • 強烈な影。
  • ローカル コントラストの変更または圧縮。
  • 相対的な色調の関係(シーン内のオブジェクト間の関係)を変更する。

依存関係

この仕様の規範的なリファレンスは次のとおりです。

定義

  • SDR ディスプレイ

    • 従来のディスプレイであり、HDR コンテンツの表示用には設計されていません。これらの ディスプレイは通常約 400 の公称ピーク輝度を生成します。 cd/m2 以下。
  • HDR ディスプレイ

    • HDR コンテンツ用に設計されたディスプレイ。これらのディスプレイでは通常、 (通常は SDR ディスプレイの公称ピーク輝度よりも高い) 800 cd/m2 以上(通常はコントラストも優れています) 比率になります。
  • メイン画像

    • セカンダリ メディアを含む GContainer ファイル内のイメージの最初のインスタンス ファイルが追加されます。プライマリ イメージには GContainer XMP メタデータが含まれている 後続のセカンダリ メディア アイテムの順序とプロパティを定義します 自動的に作成します。
  • セカンダリ画像

    • メイン画像に追加される後続のメディア アイテム ファイルは、 GContainer ファイル。
  • 範囲圧縮

    • 写真では、現実世界のシーンは多くの場合、 SDR ディスプレイが表すことができます。範囲圧縮などのオペレーションも これは、音声のダイナミック レンジを縮小するために、 説明します。ハイライト部分のクリップやつぶれを避けるため、この削減は必要。 ローカル コントラストをできるだけ維持しながら、シャドウが作成されます。お手数をおかけしますが、 画像の大きな輝度端のサイズを小さくします。これにより、 グローバル コントラストを強くすると同時に、画像のサイズが ディテールを表現しますさまざまな さまざまな実装において、そのような操作は、ほとんどの現代の デジタルカメラを進化させようとしています
  • SDR ホワイト ポイント

    • 特定の条件下でディスプレイに表示された SDR コンテンツの最大線形輝度 決定できます
  • HDR ホワイト ポイント

    • 特定の条件下でディスプレイに表示された HDR コンテンツの最大線形輝度が、 決定できますこの値は通常、SDR ホワイト ポイントよりも大きくなります。
  • ブースト

    • HDR ホワイト ポイントを SDR ホワイト ポイントで割った値。
  • コンテンツ ブースト最大化(数式内の max_content_boost

    • コンテンツ作成者はこの値を使用して、画像の明るさを制限 SDR レンダリングと比べて HDR ディスプレイで表示した場合の再生時間の割合です。
    • この値は、特定の画像の定数です。たとえば、 値が 4 の場合、任意のピクセルに対して、ピクセルの直線輝度が HDR レンディションを表示する場合、リニア輝度の 4 倍以下である必要があります。 変換されますこれは実際には、Google Cloud の 明るさを最大 4 倍に明るくできます。
    • 実際には、この値は通常 1.0 よりも大きくなります。
    • 常にコンテンツの最小ブースト以上です。
  • コンテンツの最小ブースト(計算式で min_content_boost

    • コンテンツ作成者はこの値を使用して、 HDR ディスプレイで表示された場合、SDR より 作成します。この値は、特定の画像の定数です。
    • たとえば、値が 0.5 の場合、どのピクセルに対しても線形は HDR レンダリングを行う際の輝度は、少なくとも 0.5 倍以上であることが必要です。 SDR レンダリングの線形輝度。
    • 実際には、この値は通常 1.0 以下になります。
    • 常に [コンテンツ ブースト最大化] 以下になります。
  • ディスプレイの最大ブースト(計算式で max_display_boost

    • 特定の時点で、ディスプレイがサポートする最大ブースト あります。この値は、デバイスの設定やその他の変更によって 明るさなどの要素に基づいて明るさを調整し 表示されます。
    • たとえば、この値が 4.0 の場合、ディスプレイは SDR の 4 倍以下の明るさのピクセルを表示する できます。この値は常に 1.0 以上になります。これは、ディスプレイに ディスプレイの HDR 白色が SDR 白と同等以上である。
  • ディスプレイ ブースト

    • 最大コンテンツ ブーストとディスプレイ ブーストの最大値のいずれか小さい方と同じです。この 常に 1.0 以上になります。
    • たとえば、コンテンツ ブーストの最大値が 4.0、ディスプレイ ブーストの最大値が 3.0 の場合、 ディスプレイブーストは 3.0 ですピクセルの明るさが最大 3 倍に SDR よりもパフォーマンスに優れています。
    • 別の例として、コンテンツ ブーストの最大値が 4.0 でディスプレイ ブーストの最大値が 4.0 の場合に、 が 5.0 の場合、ディスプレイ ブーストは 4.0 です。ピクセルを 4 倍まで表示 コンテンツの意図が制限要因であるため、SDR よりも明るめです。
  • HDR レンディションをターゲットにする

    • コンテンツ クリエイターによれば、理想的な HDR 映像と
  • 適応型 HDR レンディション

    • ディスプレイに表示される最終的な HDR レンダリングが、 ターゲット HDR レンダリングを現在のディスプレイ ブーストに適応させます。
  • ゲインマップ(計算式で recovery(x, y)

    • SDR レンダリングの各ピクセルをどの程度明るくするかを示すマップ。 ターゲット HDR レンディションを生成します。このマップは、単一チャネルまたは 備えています。マルチチャンネル マップでは、チャンネルごとに個別のゲインが 赤、緑、青などです。このドキュメントでは、 単一チャネルのマップの場合は
  • clamp(x, a, b)

    • 値 x を範囲 [a, b] に収める
  • exp2(x)

    • 2 を底とするべき乗。2
  • floor(x)

    • x 以下の最も近い整数を返します。
  • log2(x)

    • 2 を底とする対数対数2(x)
  • pow(b, x)

    • 指数bx
  • XMP

  • マルチピクチャフォーマット

  • GContainer

    • GContainer は複数の画像を 1 つの画像に格納する方法 ここで、1 つのイメージがプライマリ イメージとみなされます。制限なし 追加画像は代替バージョンまたは補助的画像と見なされます。 XMP メタデータは、あらゆるコンテンツの存在と意味を 追加できます詳細については、GContainer 確認できます。

エンコード

このセクションでは、準拠する JPEG ファイルをエンコードする方法について説明します。T.81 (09/92) 連続階調静止画のデジタル圧縮および符号化 依存関係のセクションにあるイメージをご覧ください。 ご覧ください

地図を生成する

カメラの画像処理パイプラインでは通常、範囲圧縮オペレーションが実行され、 高いダイナミック レンジの輝度データを、 SDR ディスプレイ。ゲインマップは、ゲインマップを実行するのに十分なデータを保存するメカニズムを提供します。 元の高ダイナミック レンジ輝度データを復元します。

このセクションの以下の計算では、浮動小数点演算を使用します。

次の関数が SDR イメージを記述します。

  • SDR'(x, y): 3 チャネルの非線形(通常はガンマエンコード) 選択します。
  • SDR(x, y) は、3 チャンネルのプライマリ画像のリニアバージョンです。 画像のプライマリ カラーを線形バージョンに変換して、 選択します。たとえば、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 でエンコードされた 3 チャネルノンリニア 説明します。
  • HDR(x, y) は 3 チャンネルのリニア HDR 画像です。

Yhdr(x, y) は HDR 画像の特定のポイントでの輝度です。

Yhdr(x, y) = primary_color_profile_to_luminance(HDR(x, y))

Yhdr(x, y) は、0.0 から最大コンテンツ ブーストの範囲で定義されます。

SDR 画像と HDR 画像の解像度は同じである必要があります。SDR のカラー プロファイル image は HDR 画像の色空間を定義します。

たとえば、SDR プライマリ画像のカラー プロファイルが Display-P3 の場合: HDR 画像は、そのプロファイルのプライマリ カラーを基準に定義されます。この HDR 画像に Display-P3 色域もあります。

ゲイン マップは、目的の HDR 画像を含む 2 つのリニア画像から計算されます。 輝度(Yhdr(x, y))、標準範囲の輝度画像(Ysdr(x, y))。

pixel_gain(x, y) 関数は、Yhdr(x, y) と 1 つ目の 関数と Ysdr(x, y) 関数の両方は次のようになります。

pixel_gain(x, y) = (Yhdr(x, y) + offset_hdr) / (Ysdr(x, y) + offset_sdr)

Ysdr(x, y)offset_sdr の場合の pixel_gain(x, y) 関数の動作 ゼロは実装定義です

たとえば、実装は、Ysdr(x, y)pixel_gain(x, y) を 1.0 と定義すると、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) が 0 の場合の 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 ビットの符号なし整数の結果の末尾を丸めます。

このエンコードにより、結果の 8 ビットの符号なし整数表現が生成されます。 recovery(x, y) 値(0.0 ~ 1.0)。エンコードされたゲインマップは、 JPEG としてエクスポートされます実装では、使用するリソースの量と、 使用できます。

ゲインマップはセカンダリ画像に保存された後、プライマリ画像に追加されます。 GContainer XMP メタデータを含むイメージです。プライマリ イメージの GContainer ディレクトリには、ゲインマップ画像のアイテムが含まれている必要があります。

格納されるゲインマップの解像度は実装で定義され、 プライマリ画像の解像度とは異なります。ゲイン レイヤが 地図は、保存のためにプライマリ画像とは異なる解像度に縮小されます。 サンプリング手法はバイリニア以上でなければならず、実装が定義されています。

ゲインマップの向きは、プライマリ画像の向きと一致させる必要があります。条件 EXIF と同様に、格納されているゲインマップ画像内の向きメタデータ。 使用されません。

存在する場合、ゲインマップのカラー プロファイルは使用されません。

ゲインマップ コンテナ

カラー プロファイル

画像のカラー プロファイルは、 選択します。

XMP 属性

プライマリ イメージには、少なくとも 2 つのイメージを定義する XMP メタデータが含まれています。 セマンティック情報が含まれています。

以降のサブセクションには、この形式に固有の詳細情報が含まれます。追加 GContainer への一般的な適合性に関する情報は、 GContainer の詳細セクション。

次の表に示す属性値は、XMP Simple として保存される XMP の基本値の型の値を返します。

アイテムのセマンティック値

Item:Semantic プロパティはアプリケーション固有の意味を定義する 各メディア アイテムのコンテナ ディレクトリに格納されます。

説明
メイン メディア アイテムがメイン画像で、表示可能な状態であることを示します。 渡します。ディレクトリには「プライマリ」が 1 つ含まれている必要があります。表示されます。
ゲインマップ メディア アイテムがゲインマップであることを示します。このディレクトリには、 最大 1 つの“ゲインマップ”です表示されます。

HDR ゲインマップのメタデータ

ゲインマップ メタデータは、ゲインを解釈して適用する方法に関する情報をエンコードします。 プライマリ画像の HDR 表現を生成します。

ゲインマップ メタデータの XMP 拡張機能の XMP 名前空間 URI は次のとおりです。 http://ns.adobe.com/hdr-gain-map/1.0/。デフォルトの名前空間接頭辞は、 hdrgm

このメタデータは、ゲインマップ画像の XMP パケットに格納され、次の プロパティは、ゲインマップ画像の XMP の rdf:Description 内に表示する必要があります。

名前 タイプ 説明
hdrgm:バージョン テキスト 使用されているゲインマップ形式のバージョン。このバージョンは「1.0」です。 必須
hdrgm:BaseRenditionIsHDR ブール値 プライマリ画像のダイナミック レンジを示します。「誤り」は、 プライマリ画像は SDR です。ゲインマップを組み合わせて HDR レンダリング。「正しい」はプライマリ画像が HDR で、ゲイン マップが 組み合わせて SDR レンディションを生成できます。「False」にする必要があります。 省略可、デフォルト値は「False」です。
hdrgm:GetMapMin 実数の実数または順序付けされた配列 map_min_log2 の値を保存します。これは、 コンテンツ ブーストの最小要件の log2(最小許容比率) HDR レンダリングを行う際の線形輝度の、 SDR 画像の特定のピクセルにおける、単一の Real または Reals の順序付き配列。Reals の順序付き配列は、1 つを含むことがあります。 すべてのチャネルに適用される項目、または赤、緑、青の 3 つの項目に それぞれ青のチャネルになります。以下の値を指定してください hdrgm:GainMapMax省略可、デフォルト値は 0.0 です。
hdrgm:ゲインマップ最大 実数の実数または順序付けされた配列 map_max_log2 の値を保存します。これは、 コンテンツ ブーストの最大 log2(最大許容比率) ターゲット HDR レンダリングの線形輝度の SDR 画像の特定のピクセルにおける、単一の Real または Reals の順序付き配列。Reals の順序付き配列は、1 つを含むことがあります。 すべてのチャネルに適用される項目、または赤、緑、青の 3 つの項目に それぞれ青のチャネルになります。以上の値を指定してください hdrgm:GainMapMin必須
hdrgm:ガンマ 実数の実数または順序付けされた配列 map_gamma の値を保存します。これは、トレーニングから 適用されます。単一の Real にすることも、次の順序付き配列にすることもできます。 実数。Reals の順序付き配列には、 すべてのチャネルまたは赤、緑、青のチャネルの 3 項目 できます。0.0 より大きくする必要があります。省略可、デフォルト値は 1.0。
hdrgm:オフセット SDR 実数の実数または順序付けされた配列 offset_sdr の値を保存します。これは、 ゲインマップの生成と適用時に SDR ピクセル値に適用されます。 単一の Real か、Reals の順序付けされた配列とすることができます。順序付きの配列が 実数。すべてのチャンネルに適用される 1 つのアイテム、または 3 つのアイテムを含めることができます。 値が表示されます。0.0 以上の値を指定してください。 省略可、デフォルト値は 0.015625(1/64)です。
hdrgm:オフセット HDR 実数の実数または順序付けされた配列 offset_hdr の値を保存します。これは、 ゲインマップの生成と適用の際に、HDR ピクセル値に適用されます。 単一の Real か、Reals の順序付けされた配列とすることができます。順序付きの配列が 実数。すべてのチャンネルに適用される 1 つのアイテム、または 3 つのアイテムを含めることができます。 値が表示されます。0.0 以上の値を指定してください。 省略可、デフォルト値は 0.015625(1/64)です。
hdrgm:HDRCapacityMin 実際にある hdr_capacity_min の値を保存します。これは、 地図が表示されるディスプレイ ブーストの最小値の log2 適用されません。この値は、ゲインマップ ベースの オンにします0.0 以上の値を指定してください。省略可、デフォルト 値は 0.0 です。
hdrgm: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 で定義されている追加画像として保存する必要があります。 DC-x 007-2009 Multi-Picture Format依存関係セクション。

デコード

このセクションでは、準拠している JPEG ファイルからゲインマップをデコードする方法について説明します。

フォーマットのシグナル

この形式に準拠する JPEG ファイルは、 プライマリ イメージの XMP パケット内の hdrgm:Version="1.0"。ここで、hdrgm は 名前空間 URI http://ns.adobe.com/hdr-gain-map/1.0/

ゲインマップの画像を見つける

画像の解析とデコードの詳細については、次の GContainer 確認できます。「ゲインマップ」XMP 内のセマンティック アイテムです。 rdf:Directory は、ゲインマップ画像の位置を通知するために使用されます。 あるいは、MPF インデックス IFD とスキャン画像のXMP を使用して ゲインマップの位置です。

無効なメタデータを処理する

必須フィールドが存在しない場合、またはなんらかのフィールドがある場合、メタデータは無効とみなされます フィールドに無効な値が指定されています。値が無効なため、指定されていない可能性があります。 指定された型に解析可能であるか、想定範囲外であるためです。

無効なメタデータが検出された場合は、ゲインマップを無視し、SDR を変更する必要があります。 表示されます。

ディスプレイ

HDR ゲインマップ形式でエンコードされたファイルは、 従来の SDR ディスプレイ、または高輝度 HDR 対応の 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 の場合、weight_factor は次のように決定されます。 "False":

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」の場合、2 番目の式は次のようになります。

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 Specification Part 1(XMP の仕様パート 1)および埋め込み プライマリ画像ファイル内にあります(Adobe XMP Specification Part 3 を参照)。 Storage in Files」へようこそ。プライマリ画像ファイルには、 RDF/XML 形式の次のアイテム。

XMP パケットの要件

XMP パケットには、パケット キャプチャによるゲインマップ メタデータの XMP 拡張 名前空間 URI http://ns.adobe.com/hdr-gain-map/1.0/。デフォルトの Namespace 接頭辞は hdrgm です。

XMP パケットで hdrgm:Version="1.0" を定義する必要があります。

コンテナ要素

GContainer XMP 拡張機能の XMP 名前空間は、 http://ns.google.com/photos/1.0/container/。デフォルトの名前空間接頭辞は、 Container

メイン画像の XMP メタデータに Container:Directory 要素が含まれている ファイル内の後続のメディア ファイルの順序とプロパティを されます。コンテナ内の各ファイルには、 Container:Directory。メディア アイテムにはファイル内の場所が記述されています 基本的なプロパティが含まれます。

コンテナ要素はプライマリ画像の XMP メタデータにエンコードされ、 コンテナ内のメディア アイテムのディレクトリを定義します。メディア アイテムは配置する必要があります のメディア アイテム要素と同じ順序で配置する必要があります。 密にパックする必要があります。

ディレクトリに含めることができる「プライマリ」は 1 つのみです。必要があります。これは、最初の画像キャプション ディレクトリにあります。

要素名 タイプ 説明
コンテナ:ディレクトリ 構造体の順序付き配列 それぞれに Container:Item を含む構造体の順序付き配列 コンテナのレイアウトとコンテンツを定義する構造体です。

アイテム要素

アイテム要素は、各メディア アイテムがアプリケーションでどのように使用されるかを示します。

GContainer アイテムの XMP 拡張機能の XMP 名前空間 URI は次のとおりです: http://ns.google.com/photos/1.0/container/item/。デフォルトの名前空間の接頭辞 Item です。

最初のメディア アイテムはメイン画像である必要があります。Item:Semantic = "Primary" と以下に記載されている Item:Mime を指定する必要があります。 アイテムの 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 とみなされます。 値を指定します。

属性名 タイプ 説明
アイテム:マイム テキスト ファイル内のメディア アイテムの MIME タイプを示す単純な文字列 されます。定義については、「アイテムの MIME タイプ値」セクションをご覧ください。 必須
アイテム:セマンティック テキスト アプリ固有のメディアの意味を示すシンプルな文字列 表示されます。定義については、「アイテムのセマンティック値」セクションをご覧ください。 必須
アイテム:長さ 整数 正の整数の長さ(バイト単位)を含むシンプルな文字列。 長さ 0 は、メディア アイテムのリソースが前の 指定します。付随的なメディア アイテムでは必須。プライマリの場合は省略可 画像メディア アイテムです。
項目:ラベル テキスト 複数の項目を明確化するために使用される、実装で定義されている文字列 同じ Item:Semantic を持つ要素を識別します。(省略可)
アイテム:パディング 整数 追加分のバイト単位の正の整数長を含む文字列 メディア アイテムの終わりと次の開始までのパディング 最後のメディア アイテムで使用した場合は、 Container:Directory。存在しない場合は、値 0 とみなされます。 省略可。
アイテム:URI テキスト 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>