10 位元相機輸出內容

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

相機用戶端可呼叫 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 位元相機輸出的參考 Camera 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 nit) 呈現蠟燭或小燈的明亮高光,SDR 短片則會以 SDR 最高亮度 (約 100 nit) 呈現。在 HDR 短片中,明亮的高光部分應從螢幕中發出光芒,捕捉使用者對場景真實動態範圍的感知。與 HDR 短片相比,SDR 短片應會顯得較為平淡且不夠明亮。
  • 在明亮輸出場景中,視裝置的調整方式而定,HDR 短片與 SDR 短片相比,螢幕亮度會出現明顯差異。如果是 HDR 短片,整體場景的螢幕亮度 (視預留空間而定) 應更高,例如最高可達 800 nit,而亮部 (例如鍍鉻保險桿) 應更亮,接近最高亮度。
  • 在中範圍的低動態範圍室內拍攝中,HDR 和 SDR 短片在色彩和色調方面相似,但 HDR 拍攝的亮度可能高於 SDR。HDR 影像不應比 SDR 影像暗。如果調整選項會導致無法達成上述目標,請確保第三方應用程式的行為與原生相機應用程式的行為一致。