El bokeh de la cámara es un efecto de poca profundidad de campo creado al desenfocar partes de una escena para que no estén enfocadas. En las cámaras de dispositivos móviles, el bokeh se logra utilizando información de profundidad adquirida a partir de la visión estéreo de dos cámaras o de fotodiodos duales (PD) de una sola cámara.
A partir de Android 11, la plataforma Android admite implementaciones de bokeh y proporciona API para que la función esté disponible para aplicaciones de terceros.
Implementación
Para que la función bokeh de la cámara esté disponible en su dispositivo, haga lo siguiente:
Publicidad
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
:Esta etiqueta tiene el formato de una matriz de tuplas de tres enteros, con cada tupla en el formato
{mode, maxWidth, maxHeight}
. Además de{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
, la cámara HAL también debe enumerar uno o ambos modosANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE
yANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS
con sus correspondientes tamaños máximos de transmisión.Publicidad
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES
:Esta etiqueta tiene el formato de una matriz
{minZoomRatio, maxZoomRatio}
, que contiene todos los rangos de relación de zoom para un modo de escena extendido habilitado, en el mismo orden que enANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
. Un rango de zoom de[1.0, 1.0]
significa que no se admite el zoom.Complete
ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
enANDROID_CONTROL_AVAILABLE_MODES
.
Para que una aplicación active la función bokeh, la aplicación debe configurar ANDROID_CONTROL_MODE
en ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
y ANDROID_CONTROL_EXTENDED_SCENE_MODE
en uno de los modos de escena extendidos admitidos. Tenga en cuenta que la implementación de bokeh podría provocar un consumo adicional de memoria debido al cálculo estéreo.
Si un modo de escena extendido compatible no se puede aplicar por cuadro y genera retrasos inesperados cuando se habilita o deshabilita, incluya ANDROID_CONTROL_EXTENDED_SCENE_MODE
en ANDROID_REQUEST_AVAILABLE_SESSION_KEYS
. Al mismo tiempo, implemente el método ICameraDeviceSession::isReconfigurationRequired()
para evitar la reconfiguración de modos de escena extendidos que no requieren reconfiguración.
Validación
Para validar la función bokeh en su dispositivo, ejecute las siguientes pruebas CTS, VTS y CTS Verifier:
-
CtsCameraTestCases
-
VtsHalCameraProviderV2_4TargetTest
-
CameraBokehTest
en el verificador CTS
El bokeh de la cámara es un efecto de poca profundidad de campo creado al desenfocar partes de una escena para que no estén enfocadas. En las cámaras de dispositivos móviles, el bokeh se logra utilizando información de profundidad adquirida a partir de la visión estéreo de dos cámaras o de fotodiodos duales (PD) de una sola cámara.
A partir de Android 11, la plataforma Android admite implementaciones de bokeh y proporciona API para que la función esté disponible para aplicaciones de terceros.
Implementación
Para que la función bokeh de la cámara esté disponible en su dispositivo, haga lo siguiente:
Publicidad
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
:Esta etiqueta tiene el formato de una matriz de tuplas de tres enteros, con cada tupla en el formato
{mode, maxWidth, maxHeight}
. Además de{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
, la cámara HAL también debe enumerar uno o ambos modosANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE
yANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS
con sus correspondientes tamaños máximos de transmisión.Publicidad
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES
:Esta etiqueta tiene el formato de una matriz
{minZoomRatio, maxZoomRatio}
, que contiene todos los rangos de relación de zoom para un modo de escena extendido habilitado, en el mismo orden que enANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
. Un rango de zoom de[1.0, 1.0]
significa que no se admite el zoom.Complete
ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
enANDROID_CONTROL_AVAILABLE_MODES
.
Para que una aplicación active la función bokeh, la aplicación debe configurar ANDROID_CONTROL_MODE
en ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
y ANDROID_CONTROL_EXTENDED_SCENE_MODE
en uno de los modos de escena extendidos admitidos. Tenga en cuenta que la implementación de bokeh podría provocar un consumo adicional de memoria debido al cálculo estéreo.
Si un modo de escena extendido compatible no se puede aplicar por cuadro y genera retrasos inesperados cuando se habilita o deshabilita, incluya ANDROID_CONTROL_EXTENDED_SCENE_MODE
en ANDROID_REQUEST_AVAILABLE_SESSION_KEYS
. Al mismo tiempo, implemente el método ICameraDeviceSession::isReconfigurationRequired()
para evitar la reconfiguración de modos de escena extendidos que no requieren reconfiguración.
Validación
Para validar la función bokeh en su dispositivo, ejecute las siguientes pruebas CTS, VTS y CTS Verifier:
-
CtsCameraTestCases
-
VtsHalCameraProviderV2_4TargetTest
-
CameraBokehTest
en el verificador CTS