中繼資料和控制項

本頁說明中繼資料支援、個別設定控制項和原始感應器資料支援。

中繼資料支援

如要支援 Android 架構儲存原始圖片檔案,必須提供感應器特性的相關中繼資料。包括色彩空間和鏡頭陰影功能等資訊。

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

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

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

因此,如果應用程式需要實作自訂 3A 常式 (例如,為了正確測量 HDR 連拍),就必須瞭解用於擷取最新結果集的設定,以便更新下一個要求的設定。因此,新的 Camera API 會在每個擷取的影格中加入大量動態中繼資料。包括擷取作業所用的要求和實際參數,以及其他每影格中繼資料,例如時間戳記和統計資料產生器輸出內容。

個別設定控制

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

支援原始感應器資料

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