Metadatos y Controles

Soporte de metadatos

Para respaldar el almacenamiento de archivos de imágenes sin procesar mediante el marco de trabajo 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 tubería de salida o enviar cualquier solicitud. Las nuevas API de cámara amplían enormemente la información proporcionada por el método getCameraInfo() para proporcionar esta información a la aplicación.

Además, el control manual del subsistema de la cámara requiere información de los diversos dispositivos sobre su estado actual y los parámetros reales utilizados para capturar un fotograma determinado. Los valores reales de los controles (tiempo de exposición, duración del cuadro y sensibilidad) tal como los utiliza el hardware deben incluirse en los metadatos de salida. Esto es esencial para que las aplicaciones sepan cuándo se produjo la sujeción o el redondeo, y para que la aplicación pueda compensar la configuración real utilizada para la captura de imágenes.

Por ejemplo, si una aplicación establece la duración del marco en 0 en una solicitud, el HAL debe limitar la duración del marco a la duración mínima real del marco para esa solicitud e informar esa duración mínima limitada en los metadatos del resultado de salida.

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

Control por configuración

Para la mayoría de las configuraciones, la expectativa es que se puedan cambiar en cada cuadro, sin introducir tartamudeos o retrasos significativos en el flujo de cuadros de salida. Idealmente, la velocidad de fotogramas de salida debería estar controlada únicamente por 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 tardan en cambiar; estos incluyen la resolución de salida y el formato de salida de la tubería 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 control se detallan más adelante.

Compatibilidad con datos de sensores sin procesar

Además de los formatos de píxeles admitidos por la antigua API, la nueva API agrega un requisito de compatibilidad con datos de sensores sin procesar (Bayer RAW), tanto para aplicaciones de cámara avanzadas como para admitir archivos de imágenes sin procesar.