Il bokeh della fotocamera è un effetto di profondità di campo ridotta creato sfocando parti di una scena in modo che non siano a fuoco. Sulle fotocamere dei dispositivi mobili, il bokeh si ottiene utilizzando le informazioni sulla profondità acquisite dalla visione stereo di due fotocamere o da due fotodiodi (PD) di una singola fotocamera.
A partire da Android 11, la piattaforma Android supporta le implementazioni bokeh e fornisce API per rendere la funzionalità disponibile alle app di terze parti.
Implementazione
Per rendere disponibile la funzionalità bokeh della fotocamera sul tuo dispositivo:
Pubblicità
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES:Questo tag è nel formato di un array di tuple di tre numeri interi, con ogni tupla nel formato
{mode, maxWidth, maxHeight}. Oltre a{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}, l'HAL della videocamera deve elencare anche una o entrambe le modalitàANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTUREeANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUScon le dimensioni di streaming massime corrispondenti.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 modalità scena estesa abilitata, nello stesso ordine diANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES. Un intervallo di zoom di[1.0, 1.0]significa che lo zoom non è supportato.Compila
ANDROID_CONTROL_USE_EXTENDED_SCENE_MODEinANDROID_CONTROL_AVAILABLE_MODES.
Affinché un'app attivi la funzionalità bokeh, deve impostare ANDROID_CONTROL_MODE su ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE e ANDROID_CONTROL_EXTENDED_SCENE_MODE su una delle modalità scena estese supportate.
Tieni presente che l'implementazione del bokeh potrebbe comportare un consumo di memoria aggiuntivo a causa del
calcolo stereo.
Se una modalità di scena estesa supportata non può essere applicata per fotogramma e comporta ritardi imprevisti quando viene attivata/disattivata, includi ANDROID_CONTROL_EXTENDED_SCENE_MODE in ANDROID_REQUEST_AVAILABLE_SESSION_KEYS. Allo stesso tempo, implementa il metodo ICameraDeviceSession::isReconfigurationRequired() per evitare la riconfigurazione per le modalità scena estese che non la richiedono.
Convalida
Per convalidare la funzionalità bokeh sul tuo dispositivo, esegui i seguenti test CTS, VTS e CTS Verifier:
CtsCameraTestCasesVtsHalCameraProviderV2_4TargetTestCameraBokehTestin CTS Verifier