Metadatos y controles

Compatibilidad con metadatos

Para admitir el guardado de archivos de imagen sin procesar por parte del framework de Android, se requieren metadatos sustanciales sobre las características del sensor. Esto incluye información como los espacios de color y las 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 cualquier solicitud. Las nuevas APIs de la cámara expanden en gran medida la información que proporciona el método getCameraInfo() para proporcionarla 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) tal como los usa el hardware deben incluirse en los metadatos de salida. Esto es esencial para que las apps sepan cuándo se produjo el recorte o el redondeo, y para que la app pueda compensar la configuración real que se usa para la captura de imágenes.

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

Por lo tanto, si una app necesita implementar una rutina de 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 siguiente solicitud. Por lo tanto, la nueva API de la cámara agrega una cantidad significativa 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 el resultado del generador de estadísticas.

Control por parámetro de configuración

En la mayoría de los parámetros de configuración, se espera que se puedan cambiar en cada fotograma, sin introducir interrupciones ni retrasos significativos en el flujo de fotogramas de salida. Idealmente, la velocidad de fotogramas de salida solo debe controlarse con el campo de duración de fotogramas de la solicitud de captura y ser independiente de cualquier cambio en la configuración de los bloques de procesamiento. En realidad, se sabe que algunos controles específicos son lentos para cambiar, como la resolución 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 del lente. Más adelante, se detallan los requisitos exactos de cada conjunto de controles.

Compatibilidad con datos de sensores sin procesar

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