Bokeh della fotocamera

Il bokeh della fotocamera è un effetto di profondità di campo creato sfocando parti di una scena in modo che non sia a fuoco. Sulle fotocamere dei dispositivi mobili, l'effetto bokeh è ottenuto utilizzando informazioni di profondità acquisite dalla visione stereo di due fotocamere o da due fotodiodi (PD) di un'unica fotocamera.

A partire da Android 11, la piattaforma Android supporta le implementazioni in modalità bokeh e fornisce le API per rendere disponibile la funzionalità alle app di terze parti.

Implementazione

Per rendere disponibile la funzionalità bokeh della fotocamera sul tuo dispositivo:

  • Pubblicizza ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES:

    Questo tag è nel formato di un array di tuple di tre interi, con ogni tupla nel formato {mode, maxWidth, maxHeight}. Oltre a {ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}, la videocamera HAL deve elenca una o entrambe le opzioni ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE e ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS con i relativi le dimensioni massime dei flussi di dati corrispondenti.

  • Fai pubblicità ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:

    Questo tag è nel formato di un array {minZoomRatio, maxZoomRatio}, che contiene tutti gli intervalli del rapporto di zoom per una scena estesa abilitata , nello stesso ordine ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES. Un intervallo di zoom di [1.0, 1.0] indica che lo zoom non è supportato.

  • Compila ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE in ANDROID_CONTROL_AVAILABLE_MODES.

Per attivare la funzionalità bokeh, un'app deve impostare ANDROID_CONTROL_MODE a ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE e ANDROID_CONTROL_EXTENDED_SCENE_MODE a una delle modalità scena estese supportate. Tieni presente che l'implementazione della modalità bokeh potrebbe comportare un maggior consumo di memoria a causa del il calcolo stereo.

Se non è possibile applicare una modalità scena estesa supportata a ogni fotogramma ritardi imprevisti in caso di attivazione/disattivazione, includono ANDROID_CONTROL_EXTENDED_SCENE_MODE pollici ANDROID_REQUEST_AVAILABLE_SESSION_KEYS. Allo stesso tempo, implementa ICameraDeviceSession::isReconfigurationRequired() metodo da evitare per le modalità scena estese che non richiedono una riconfigurazione.

Convalida

Per convalidare la funzionalità bokeh sul tuo dispositivo, esegui i seguenti controlli CTS, VTS e Test dello strumento di verifica CTS:

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CameraBokehTest nello strumento di verifica CTS