Bokeh de la cámara

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 modos ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE y ANDROID_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 en ANDROID_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 en ANDROID_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 modos ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE y ANDROID_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 en ANDROID_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 en ANDROID_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