Android 14 以降を搭載しているデバイスでは、Display P3 の広色域キャプチャがサポートされています。デバイスは 10 ビット HDR を使用しなくても、ImageReader クラスを使用して JPEG 形式の広色域画像をキャプチャできます。この機能により、デバイスは SessionConfiguration の setColorSpace パラメータから、広色域色空間でのカメラ キャプチャを Camera2 フレームワークにリクエストできます。
要件
広色域キャプチャをサポートするには、デバイスは広色域機能の付いたカメラにアクセスできる必要があります。
実装
Display P3 の広色域キャプチャ リクエストをサポートするには、次のことを行います。
Stream.aidlのcolorSpace項目を読み、出力ストリームに適用します。android.request.availableColorSpaceProfilesMapメタデータ エントリを実装します。android.request.availableCapabilitiesでCOLOR_SPACE_PROFILES機能を報告します。
P3 の広色域キャプチャをサポートするカメラ HAL リファレンス実装については、/hardware/google/camera/devices/EmulatedCamera/hwl/
configs/emu_camera_back.json の次のものをご覧ください。
カメラ HAL の広色域キャプチャの詳細については、metadata_definitions.xml の次の値をご確認ください。
API
Android 14 以降を搭載し、広色域キャプチャをサポートしているデバイスでは、カメラ クライアントは次の公開 API を使用できます。
ColorSpace パラメータの想定値は ColorSpace.Named クラスから取得されます。Android 14 では、SRGB、DISPLAY_P3、BT2020_HLG をサポートしています。
検証
Display P3 の広色域キャプチャ サポートの実装を検証するには、次のテストを実行します。
CTS
android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#test8BitColorSpaceOutputCharacteristicsandroid.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#test10BitColorSpaceOutputCharacteristicsandroid.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testColorSpaceProfileMapandroid.hardware.camera2.cts.ImageReaderTest#testDisplayP3Jpegandroid.hardware.camera2.cts.ImageReaderTest#testDisplayP3JpegRepeatingandroid.hardware.camera2.cts.ImageReaderTest#testDisplayP3Heicandroid.hardware.camera2.cts.ImageReaderTest#testDisplayP3HeicRepeating
ITS
Camera Image Test Suite(ITS)テストを実行して、次のことを検証します。
- 正しい色度座標の ICC プロファイルが存在する
- 画像に sRGB 色域外のピクセルデータが含まれる