10 位元相機輸出內容

對於搭載 Android 13 以上版本的裝置,Android 會透過動態範圍設定檔支援 10 位元相機輸出,相機用戶端可在串流設定中設定這些設定檔。裝置製造商可以新增支援 10 位元動態範圍設定檔,例如 HLG10、HDR 10、HDR 10+ 和 Dolby Vision。

10 位元相機輸出支援功能可讓相機用戶端透過呼叫 getSupportedProfiles,找出裝置支援的 10 位元動態範圍設定檔。接著,架構會傳回 DynamicRangeProfiles 的例項,其中包含支援的動態範圍設定檔資訊,以及 (如有) 擷取要求限制。必須支援 HLG10 設定檔。建議的動態範圍設定檔會列於 REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE 欄位中。

攝影機用戶端可以呼叫 setDynamicRangeProfile 來設定串流組合。如要進一步瞭解強制輸出串流組合,請參閱「一般擷取」中的「10 位元輸出額外保證設定」表格。

需求條件

如要支援 10 位元相機輸出,裝置必須具備 10 位元或更高級別的相機感應器,並支援相應的 ISP。如要進一步瞭解 10 位元支援功能的相關相容性規定,請參閱第 7.5 節。CDD 中的攝影機

實作

如要支援 10 位元相機輸出,裝置製造商必須執行下列 Camera 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 nits 以上的顯示器),且影片觀看應用程式 (例如 Google 相簿) 支援 HDR 影片播放。

測試 API 功能正確性

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

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

強烈建議您確保使用第三方應用程式拍攝 10 位元影片的結果與原生相機應用程式相似 (如果不是完全相同)。也就是說,曝光、動態範圍和色彩等調整選項應從原生應用程式沿用至第三方應用程式。如要驗證支援裝置上 10 位元相機輸出的第三方應用程式影片錄製行為,請使用 GitHub 上的 Camera2Video 範例應用程式。下列指南說明 HDR 的視覺效果,不含客觀數字,因為感應器、面板、觀看條件和供應商偏好設定都會有所差異。

建議的比較場景

如要比較原生相機應用程式和第三方應用程式,請使用原生相機應用程式和 Camera2Video 範例應用程式,拍攝多個不同場景的影片。以下是建議用於比較的場景:

  • 中度至低光的場景,其中有明亮的物體,例如蠟燭或小型亮光燈,可產生較大的亮度範圍。這麼做可確認自動曝光行為和動態範圍。
  • 明亮的戶外場景,含有鮮豔色彩和反光物件,例如車上的鍍鉻保險桿,會產生明亮的亮點。這可確認明亮場景的算繪效果,以及更亮的亮部。
  • 中等低動態範圍場景,例如住家或辦公室的室內自然場景。這可證實在光線較不極端的情況下,系統的運作方式與預期一致。

對於所有場景,我們建議您使用人物和臉孔來驗證曝光、色彩和膚色處理方式。減少鏡頭之間的差異,有助於進行背對背比較。

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

為確保使用 10 位元動態範圍設定檔比使用標準動態範圍設定檔更有益,請比較使用 SDR (沒有 HDR 設定檔) 和 HDR 的影片擷取畫面,確認 HDR 的關鍵元素是否出現在擷取畫面中。如要比較 SDR 和 HDR,請使用 Camera2Video 範例應用程式建議的場景,比較原生相機應用程式和第三方應用程式。

以下是建議場景中需要驗證的重要事項。支援 HDR 的螢幕面板亮度等級會有所不同 (以 nit 或流明度為單位),因此以下數字僅供參考:

  • 在中度光源到低光源場景中,燭光或小燈的亮部高光會以 HDR 剪輯片段中的螢幕最高亮度 (可能高達 1000 nit) 算繪,並以 SDR 剪輯片段中的SDR 最高亮度 (約 100 nit) 算繪。在 HDR 短片中,明亮的亮部應會從螢幕上閃爍,捕捉使用者對場景真實動態範圍的感知。相較於 HDR 短片,SDR 短片的色調應較平淡,亮度也較低。
  • 在明亮的輸出場景中,HDR 短片的畫面亮度與 SDR 短片有明顯差異,這取決於裝置的調整方式。對於 HDR 短片,整體場景的螢幕亮度 (取決於預留空間) 應較高,例如最高可達 800 nit,而亮部 (例如鍍鉻保險桿) 的亮度則應更高,可達最大亮度。
  • 在室內拍攝的 HDR 和 SDR 短片,色彩和色調相似,HDR 短片可能會比 SDR 短片更亮。HDR 不應比 SDR 更暗。如果調整選項無法做到這點,請確保第三方應用程式的行為與原生相機應用程式的行為一致。