Metadatos y controles

En esta página, se describe la compatibilidad con metadatos, los controles de configuración individuales y la compatibilidad con datos de sensores sin procesar.

Compatibilidad con metadatos

Para admitir el guardado de archivos de imagen sin procesar con el framework de Android, se requieren metadatos sustanciales sobre las características del sensor. Esto incluye información como espacios de color y funciones de sombreado de lentes.

La mayor parte de esta información es una propiedad estática del subsistema de la cámara y, por lo tanto, se puede consultar antes de configurar cualquier canalización de salida o enviar solicitudes. Las nuevas APIs de la cámara expanden en gran medida la información que proporciona el getCameraInfo método para proporcionar esta información a la app.

Además, el control manual del subsistema de la cámara requiere comentarios de los diversos dispositivos sobre su estado actual y los parámetros reales que se usan para capturar un fotograma determinado. Los valores reales de los controles (tiempo de exposición, duración del fotograma y sensibilidad) que usa el hardware deben incluirse en los metadatos de salida. Esto es esencial para que las apps sepan cuándo se produjo el ajuste o el redondeo, y para que la app pueda compensar la configuración real que se usó para la captura de imágenes.

Por ejemplo, si una app establece la duración del fotograma en 0 en una solicitud, la HAL debe restringir la duración del fotograma a la duración mínima real del fotograma para esa solicitud y mostrar esa duración mínima restringida en los metadatos del resultado de salida.

Por lo tanto, si una app necesita implementar una rutina 3A personalizada (por ejemplo, para medir correctamente una ráfaga HDR), debe conocer la configuración que se usó para capturar el conjunto de resultados más reciente que recibió para actualizar la configuración de la próxima solicitud. Por lo tanto, la nueva API de la cámara agrega una cantidad sustancial de metadatos dinámicos a cada fotograma capturado. Esto incluye los parámetros solicitados y reales que se usan para la captura, así como metadatos adicionales por fotograma, como marcas de tiempo y salida del generador de estadísticas.

Control por configuración

Para la mayoría de las configuraciones, se espera que se puedan cambiar cada fotograma, sin introducir tartamudeo o demora significativos en la transmisión de fotogramas de salida. Lo ideal es que la velocidad de fotogramas de salida solo se controle mediante el campo de duración del fotograma de la solicitud de captura y sea independiente de cualquier cambio en la configuración de los bloques de procesamiento. En realidad, se sabe que algunos controles específicos cambian lentamente ; estos incluyen la resolución de salida y el formato de salida de la canalización de la cámara, así como los controles que afectan a los dispositivos físicos, como la distancia de enfoque de la lente. Los requisitos exactos para cada conjunto de controles se detallan más adelante.

Compatibilidad con datos de sensores sin procesar

Además de los formatos de píxeles compatibles con la API anterior, la nueva API agrega un requisito para la compatibilidad con datos de sensores sin procesar (Bayer RAW), tanto para apps de cámara avanzadas como para admitir archivos de imagen sin procesar.