Compatibilidad con metadatos
Para admitir que el framework de Android guarde archivos de imagen sin procesar, se deben considerar sobre las características del sensor. Esto incluye información, como los espacios de color y las funciones de sombreado de los lentes.
La mayor parte de esta información
es una propiedad estática del subsistema de la cámara
por lo que se puede consultar antes de configurar cualquier canalización de salida o enviar cualquier
solicitudes. Las nuevas API de cámara amplían notablemente la información proporcionada por el
getCameraInfo()
para proporcionar esta información al
.
Además, el control manual del subsistema de la cámara requiere comentarios del dispositivos surtidos acerca del estado actual y los parámetros reales que se usan capturar un fotograma determinado. Los valores reales de los controles (tiempo de exposición, fotograma duración y sensibilidad) tal como los usa el hardware deben incluirse los metadatos de salida. Esto es esencial para que las apps sepan se realizó el ajuste 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 de los fotogramas en 0 en una solicitud, la HAL debe restringir la duración del fotograma a la duración mínima real la solicitud y, luego, informa esa duración mínima restringida en los metadatos de salida.
Por lo tanto, si una app necesita implementar una rutina 3A personalizada (por ejemplo, para medir correctamente la ráfaga de HDR), necesita conocer la configuración utilizada para capturar el último conjunto de resultados 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 considerable de metadatos dinámicos a cada fotograma capturado. Esto incluye los datos solicitados parámetros usados para la captura, así como metadatos adicionales por fotograma, como como marcas de tiempo y resultados del generador de estadísticas.
Control por configuración
Para la mayoría de los parámetros de configuración, se espera que se puedan cambiar en cada fotograma, sin introducir saltos o retrasos significativos en la transmisión de fotogramas de salida. Idealmente, la velocidad de fotogramas de salida se debería controlar solo mediante la captura de duración de fotogramas de la solicitud y ser independientes de cualquier cambio en el de bloques configuración. En realidad, se sabe que algunos controles específicos son lentos para cambiar; incluyen la resolución y el formato de salida de la cámara y controles que afectan a los dispositivos físicos, como el foco de lente distancia. 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 que admiten en la API anterior, la API nueva agrega un requisito de compatibilidad con datos de sensores sin procesar (Bayer RAW), tanto para apps de cámara avanzadas como para admitir contenido archivos de imagen.