中繼資料和控制項

中繼資料支援

為了支援 Android 架構儲存原始圖片檔案,您必須提供大量關於感應器特性的中繼資料。這類資訊包括色彩空間和鏡頭陰影功能。

這些資訊大多是相機子系統的靜態屬性,因此可以在設定任何輸出管道或提交任何要求之前查詢。新的相機 API 可大幅擴充 getCameraInfo() 方法提供的資訊,並將這項資訊提供給應用程式。

此外,手動控制相機子系統時,需要各種裝置提供的目前狀態回饋,以及在擷取特定影格時使用的實際參數。硬體實際使用的控件實際值 (曝光時間、影格持續時間和感度) 必須納入輸出中繼資料。這項資訊非常重要,可讓應用程式瞭解何時發生了夾取或捨入,並補償用於擷取圖片的實際設定。

舉例來說,如果應用程式在要求中將影格持續時間設為 0,HAL 就必須將影格持續時間限制在該要求的實際影格持續時間下限,並在輸出結果中繼資料中回報該限制的持續時間下限。

因此,如果應用程式需要導入自訂的 3A 例行程序 (例如,為 HDR 連拍功能正確測量),就必須瞭解用於擷取收到的最新結果集的設定,以便更新下次要求的設定。因此,新的相機 API 會在每個擷取的畫面中加入大量動態中繼資料。這包括用於擷取的請求和實際參數,以及額外的個別影格中繼資料,例如時間戳記和統計資料產生器輸出內容。

個別設定控制

對於大多數設定,我們希望您可以在每個影格中變更設定,而不會對輸出影格串流造成明顯的卡頓或延遲。理想情況下,輸出影格速率應由擷取要求的影格時間長度欄位單獨控制,且不受處理區塊設定的任何變更影響。實際上,某些特定控制項的變更速度較慢,包括相機管道的輸出解析度和輸出格式,以及影響實體裝置的控制項 (例如鏡頭對焦距離)。稍後會詳細說明各控制組的確切規定。

支援原始感應器資料

除了舊版 API 支援的像素格式之外,新版 API 還新增了支援原始感應器資料 (Bayer RAW) 的需求,以便支援進階相機應用程式,以及原始圖片檔案。