相機散景

相機散景是一種淺景深效果,可將 而不是讓圖片失焦在行動裝置上的相機中,散景功能會 能夠運用從立體視覺 攝影機或單張相片 (PD)。

從 Android 11 (Android 平台) 開始 支援散景實作,並提供 API 以使用這項功能 第三方應用程式存取權

實作

如要讓裝置使用相機散景功能,請按照下列步驟操作:

  • 宣傳 ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES

    此標記的格式為三整數元組陣列,每個元組每個元組 格式:{mode, maxWidth, maxHeight}。除了 {ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0},相機 HAL 必須 請列出一或兩個 「ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE」和 ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS 種模式,並搭配使用 對應的最大串流大小

  • 刊登廣告 ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:

    這個標記採用 {minZoomRatio, maxZoomRatio} 陣列的格式。 其中包含已啟用的延伸場景的所有縮放比例範圍 模式,順序與 ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES。縮放範圍 [1.0, 1.0] 表示不支援縮放功能。

  • ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE 填入: ANDROID_CONTROL_AVAILABLE_MODES

為了讓應用程式觸發散景功能,應用程式必須設定 ANDROID_CONTROL_MODE 傳送至 ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE 和 將 ANDROID_CONTROL_EXTENDED_SCENE_MODE 轉換為支援的任一擴充場景。 請注意,實作散景可能會導致額外的記憶體用量,這是因為 立體聲計算機

如果無法針對個別影格套用支援的延伸場景模式,但 啟用/停用時非預期的延遲時間,包括 ANDROID_CONTROL_EXTENDED_SCENE_MODE 英吋 ANDROID_REQUEST_AVAILABLE_SESSION_KEYS。同時,請將 應避免的 ICameraDeviceSession::isReconfigurationRequired() 種方法 針對不需要重新設定的延伸場景模式重新設定。

驗證

如要在裝置上驗證散景功能,請執行以下 CTS、VTS 和 CTS Verifier 測試:

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CTS 驗證器中的 CameraBokehTest