Android 14 支援使用JPEG_R
影像格式擷取 Ultra HDR 壓縮影像。此格式向後相容於 SDR JPEG 影像,並支援內容的 HDR 渲染。有關 Ultra HDR 格式規範的詳細信息,請參閱Ultra HDR 影像格式 v1.0 。
執行
本節介紹如何實現Ultra HDR功能。
參考實現
AOSP 相機框架和相機服務包括參考 Ultra HDR 實作。
除了相機框架中的參考功能之外,您還可以在相機 HAL 中實現 Ultra HDR,並以與其他相機 HAL 輸出流相同的方式宣傳對JPEG_R
輸出的支援。在這種情況下,相機 HAL 必須產生必要的恢復圖和Ultra HDR 規格定義的最終JPEG_R
影像。您可以根據設備硬體和軟體功能最佳化和調整最終輸出。
實施方案
設備製造商可以為其設備決定以下級別的 Ultra HDR 支援:
- 最小:在此配置中,預設會停用透過相機服務複合流功能的 Ultra HDR 輸出。若要啟用
JpegRCompositeStream
參考實現,請將ro.camera.enableCompositeAPI0JpegR
系統屬性設為true
。由於所有處理和編碼都是在軟體中執行的,因此此選項可能會導致延遲增加和效能下降。 - Moderate:使用此選項,
JpegRCompositeStream
實作使用 HAL 提供的 SDR JPEG 檔案作為基礎影像和 P010 幀來計算恢復圖。此選項涉及資料路徑內的軟體處理,但與最小選項相比相對較小。 - 廣泛:相機HAL直接通告並支援
JPEG_R
輸出流。此選項允許設備製造商實施特定於設備的最佳化,並可顯著提高影像品質。
若要停用JpegRCompositeStream
實現,請將ro.camera.disableJpegR
建置屬性設為true
。如果此建置屬性未設定或設定為false
,則預設情況下,在支援10 位元輸出功能和並發 10 位元和 8 位元擷取的裝置上透過JpegRCompositeStream
啟用 Ultra HDR。
驗證
若要驗證裝置上的 Ultra HDR 功能,請執行下列測試。
CTS測試
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
-
ImageReaderTest.java#testJpegR
-
ImageReaderTest.java#testJpegRDisplayP3
-
PerformanceTest.java#testSingleCapture
-
StillCaptureTest.java# testJpegRCapture
智慧交通系統測試
手動測試
若要執行手動測試,請使用Ultra HDR 影像擷取的範例實現,其中包括對使用JPEG_R
影像格式配置和擷取 Ultra HDR 的支援。