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 必須產生必要的復原對應,以及JPEG_R
Ultra HDR 規格定義的最終影像。
您可以根據裝置硬體和軟體功能,最佳化及調整最終輸出內容。
導入選項
裝置製造商可以決定裝置支援 Ultra HDR 的程度,包括:
- 最低:在此設定中,相機服務複合串流功能預設會停用 Ultra HDR 輸出。如要啟用
JpegRCompositeStream參考實作,請將ro.camera.enableCompositeAPI0JpegR系統屬性設為true。由於所有程序和編碼都是在軟體中執行,這個選項可能會導致延遲時間增加,並降低效能。 - 中等:這個選項會使用 HAL 提供的 SDR JPEG 檔案做為基礎圖片,並使用 P010 影格計算復原對應。
JpegRCompositeStream這個選項會在資料路徑中進行軟體處理,但與最低選項相比,處理量相對較小。 - 廣泛:相機 HAL 會直接宣傳並支援
JPEG_R輸出串流。裝置製造商可透過這個選項實作裝置專屬的最佳化設定,大幅提升影像品質。
如要停用 JpegRCompositeStream 實作,請將 ro.camera.disableJpegR 建構屬性設為 true。如果未設定這個建構屬性或設為 false,系統會在支援10 位元輸出功能和同步擷取 10 位元和 8 位元內容的裝置上,透過 JpegRCompositeStream 預設啟用 Ultra HDR。
驗證
如要在裝置上驗證 Ultra HDR 功能,請執行下列測試。
CTS 測試
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegRImageReaderTest.java#testJpegRImageReaderTest.java#testJpegRDisplayP3PerformanceTest.java#testSingleCaptureStillCaptureTest.java# testJpegRCapture
ITS 測試
手動測試
如要執行手動測試,請使用 Ultra HDR 圖片擷取的範例實作,其中包含使用 JPEG_R 圖片格式設定及擷取 Ultra HDR 的支援功能。