10 位相機輸出

對於運行 Android 13 及更高版本的設備,Android 通過動態範圍配置文件支持 10 位攝像頭輸出,攝像頭客戶端可以將其配置為流配置的一部分。設備製造商可以添加對 10 位動態範圍配置文件的支持,例如 HLG10、HDR 10、HDR 10+ 和杜比視界。

10 位相機輸出支持讓相機客戶端通過調用getSupportedProfiles發現設備支持的 10 位動態範圍配置文件。然後,框架返回DynamicRangeProfiles的一個實例,其中包括有關支持的動態範圍配置文件的信息,如果可用,還包括捕獲請求約束。必須支持HLG10配置文件。推薦的動態範圍配置文件列在REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE字段中。

相機客戶端可以通過調用setDynamicRangeProfile來配置流組合。有關強制輸出流組合的更多信息,請參閱常規捕獲中的10 位輸出附加保證配置表。

要求

要支持 10 位相機輸出,設備必須具有 10 位或更高功能的相機傳感器,並支持相應的 ISP。 10位支持的相關兼容性要求詳見7.5節。 CDD 中的相機

執行

要提供對 10 位相機輸出的支持,設備製造商必須執行以下相機 AIDL HAL 集成:

  • 在相機功能中包括ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
  • 使用所有支持的動態範圍配置文件及其約束位圖填充ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP 。必須支持HLG10配置文件。您還必須包含推薦的動態範圍配置文件,以告知相機客戶端最佳支持格式。
  • 確保在流配置期間支持使用P010格式的流的動態範圍配置文件值或支持實現定義的格式 ( ImageFormat.PRIVATE )。
  • 根據動態範圍配置文件,在通知相機服務之前設置已處理的 Gralloc 4 緩衝區的靜態或動態元數據緩衝區。

有關 Camera HAL 中 10 位相機輸出的更多詳細信息,請參閱metadata_definitions.xml中的以下內容:

有關支持 10 位相機輸出的參考相機 HAL 實現,請參閱/hardware/google/camera/devices/EmulatedCamera/hwl

驗證

為了驗證您的 10 位相機輸出實現並確保第三方應用可以啟用該功能,我們建議執行以下三個驗證階段。

對於 10 位相機輸出的視覺驗證,假設設備支持顯示 HDR(1000+ 尼特顯示),並且視頻查看應用程序(例如,Google 相冊)支持播放 HDR 視頻。

測試 API 功能正確性

要測試 10 位相機輸出的 API 功能正確性,請運行以下 CTS、相機 ITS 和 VTS 測試:

比較原生相機和第三方應用

我們強烈建議確保使用第三方應用程序捕獲 10 位視頻的結果與本機相機應用程序相似(如果不相同)。這意味著調整選項(例如曝光、動態範圍和顏色)應該從本機應用程序轉移到第三方應用程序。要在您的設備上驗證支持 10 位相機輸出的第三方應用程序的視頻錄製行為,請使用 GitHub 上的Camera2Video 示例應用程序。由於傳感器、面板、觀看條件和供應商偏好的可變性,以下指南用於說明 HDR 的可見方面,但沒有客觀數字。

比較推薦場景

要比較原生相機應用程序和第三方應用程序,請使用原生相機應用程序和 Camera2Video 示例應用程序使用多個不同場景捕捉視頻。以下是用於比較的建議場景:

  • 具有明亮物體(例如蠟燭或小亮光)的中光到低光場景,可產生顯著的亮度範圍。這確認了自動曝光行為和動態範圍。
  • 明亮的戶外場景,具有鮮豔的色彩和反光物體,例如汽車上的鍍鉻保險槓,營造出明亮的亮點。這證實了具有更亮亮點的明亮場景的渲染。
  • 中等、低動態範圍的場景,例如家庭或辦公室的室內自然場景。這證實了不太極端的光照條件表現如預期。

對於所有場景,我們建議讓人物和麵部來驗證曝光、顏色和膚色處理。減少鏡頭之間的變化可以簡化背靠背比較。

比較標準動態範圍和高動態範圍

為確保使用 10 位動態範圍配置文件比標準動態範圍配置文件有明顯的好處,請將使用 SDR(無 HDR 配置文件)的視頻捕獲與 HDR 視頻進行比較,以確認 HDR 的關鍵方面出現在捕獲中。要比較 SDR 和 HDR,請使用Camera2Video 示例應用建議的場景來比較原生相機應用和第三方應用。

以下是建議場景中需要驗證的關鍵方面。支持 HDR 的顯示面板的亮度級別(以尼特或流明為單位)有所不同,因此以下給出的數字僅作為示例:

  • 在中光到低光場景中,燭光或小光的高光在 HDR 剪輯中以顯示器的最大亮度(可能高達 1000 尼特)渲染,而在SDR 中以最大亮度(約 100尼特)在 SDR 剪輯中。在 HDR 剪輯中,明亮的高光應該從顯示屏中閃耀出來,捕捉用戶對場景真實動態範圍的感知。與 HDR 剪輯相比,SDR 剪輯應顯得更平坦且不那麼明亮。
  • 在明亮的輸出場景中,根​​據設備的調整,HDR 剪輯與 SDR 剪輯相比顯示出明顯的屏幕亮度差異。對於 HDR 剪輯,整個場景的屏幕亮度(取決於動態餘量)應該更高,例如高達 800 尼特,對於鍍鉻保險槓等明亮高光,在最大亮度附近更是如此。
  • 在中檔、低動態範圍的室內捕捉中,HDR 和 SDR 剪輯的顏色和色調相似,HDR 捕捉可能比 SDR 更亮。 HDR 不應該比 SDR 更暗。如果調整選項無法做到這一點,請確保第三方應用程序行為與本機相機應用程序行為匹配。