エンコードの深さと信頼度
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
デプスマップは、一連の XMP プロパティとしてシリアル化されます。シリアル化プロセスの一環として、デプスマップはまず従来の画像形式に変換されます。エンコード パイプラインには 3 つの手順があります(図 2 を参照)。
- 入力形式(浮動小数点値や int32 値など)から整数グレースケール画像形式(バイト(8 ビット)やワード(16 ビット)など)に変換します。
- 標準の画像コーデック(JPEG や PNG など)を使用して圧縮します。
- base64 文字列 XMP プロパティとしてシリアル化します。
図 2. デプスマップ エンコード パイプラインの説明。
パイプラインは、元のデプスマップのビット数と、その保存に使用されるビット数(JPEG コーデックの場合は 8 ビット、PNG コーデックの場合は 8 ビットまたは 16 ビットなど)に応じて、ロスレスまたはロッシーになります。
現在、RangeLinear と RangeInverse の 2 つの形式がサポートされています。深度マップがエンコード時に精度を失う場合(浮動小数点数から 8 ビットに変換する場合など)は、RangeInverse 形式をおすすめします。GPU カードの z バッファと同様に、近い深度値には多くのビットを割り当て、遠い値には少ないビットを割り当てます。
深度マップに信頼度マップが添付されている場合、信頼度マップも深度に使用されるものと同様のパイプラインを使用して、従来の画像形式に変換されます。信頼度マップは常に RangeLinear 形式でエンコードされ、信頼度範囲は [0, 1] と想定されます。
RangeLinear
d をピクセルの深度、near と far を考慮される最小深度値と最大深度値とします。深度値は、まず [0, 1] の範囲に正規化されます。
次に、次のように 8 ビットまたは 16 ビットに量子化します。
逆に、量子化された深度 d
8bit が与えられた場合、深度 d は次のように復元できます。
RangeInverse
d をピクセルの深度、near と far を考慮される最小深度値と最大深度値とします。深度値は、まず [0, 1] の範囲に正規化されます。
次に、次のように 8 ビットまたは 16 ビットに量子化します。
逆に、正規化された深度 d
n が与えられた場合、深度 d は次のように復元できます。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-26 UTC。"],[[["Depthmaps are serialized as XMP properties after being converted to a traditional image format (e.g., JPEG or PNG)."],["The encoding pipeline involves converting the depthmap to an integer grayscale image, compressing it, and serializing it as a base64 string."],["Two formats, RangeLinear and the recommended RangeInverse, handle depth value encoding, with RangeInverse optimizing for potential precision loss."],["Confidence maps, if present, are encoded using RangeLinear format with a range of [0, 1]."],["Both formats provide formulas for normalization, quantization, and recovering original depth values."]]],[]]