ウルトラ HDR

Android 14 は JPEG_R 画像形式を使用したウルトラ HDR 圧縮画像のキャプチャをサポートしています。この形式は SDR JPEG の下位互換で、コンテンツの HDR レンダリングをサポートしています。 ウルトラ HDR 形式の仕様について詳しくは、ウルトラ HDR 画像形式 v1.0 をご覧ください。

実装

このセクションでは、ウルトラ HDR 機能を実装する方法について説明します。

リファレンス実装

AOSP のカメラ フレームワークとカメラサービスには、ウルトラ HDR のリファレンス実装が含まれています。

カメラ フレームワークのリファレンス機能に加えて、カメラ HAL 内にウルトラ HDR を実装して、他のカメラ HAL 出力ストリームと同様の方法で JPEG_R 出力のサポートをアドバタイズできます。このシナリオでは、ウルトラ HDR 仕様で定義されているように、カメラ HAL は必要なリカバリマップと、最終的な JPEG_R 画像を生成する必要があります。デバイスのハードウェアとソフトウェアの機能に応じて、最終的な出力を最適化し、調整できます。

実装オプション

デバイス メーカーはデバイスにおけるウルトラ HDR サポートのレベルを次から選択できます。

  • ミニマル: この設定では、カメラサービスの複合ストリーム機能からのウルトラ HDR 出力はデフォルトで無効になっています。JpegRCompositeStream リファレンス実装を有効にするには、ro.camera.enableCompositeAPI0JpegR システム プロパティを true に設定します。すべてのプロセスとエンコードはソフトウェアで実行されるため、このオプションではレイテンシが増加し、パフォーマンスが低下します。
  • 中程度: このオプションでは、JpegRCompositeStream 実装は HAL による SDR JPEG ファイルをベース画像および P010 フレームとして使用し、リカバリマップを計算します。このオプションでは、データパス内のソフトウェア処理が行われますが、ミニマル オプションと比較すると小規模です。
  • 高度: カメラ HAL は直接 JPEG_R 出力ストリームをアドバタイズしてサポートします。このオプションでは、メーカーはデバイス固有の最適化を実装でき、大幅な画像の質の向上を実現できます。

JpegRCompositeStream 実装を無効にするには、ro.camera.disableJpegR ビルド プロパティを true に設定します。このビルド プロパティが設定されていない場合、または false に設定されている場合、10 ビット出力機能10 および 8 ビット同時キャプチャをサポートしているデバイスのウルトラ HDR は JpegRCompositeStream からデフォルトで有効になります。

検証

デバイスのウルトラ HDR 機能を検証するには、次のテストを実行します。

CTS テスト

ITS テスト

手動テスト

手動テストを実行するには、ウルトラ HDR 画像キャプチャのサンプル実装を使用します。これには、JPEG_R 画像形式を使用したウルトラ HDR の設定とキャプチャのサポートが含まれています。