Métadonnées et contrôles

Prise en charge des métadonnées

Pour permettre l'enregistrement des fichiers image bruts par le framework Android, des des métadonnées sur les caractéristiques du capteur sont requises. Cela inclut des informations telles que les espaces colorimétriques et les fonctions d'ombrage de l'objectif.

La plupart de ces informations sont une propriété statique du sous-système de l'appareil photo et peuvent et doivent donc être interrogées avant de configurer des pipelines de sortie ou d'envoyer requêtes. Les nouvelles API de l'appareil photo enrichissent considérablement les informations fournies par le getCameraInfo() pour fournir ces informations au l'application.

De plus, le contrôle manuel du sous-système de l'appareil photo nécessite un retour d'information divers appareils sur leur état actuel et les paramètres réels utilisés dans pour capturer une image donnée. Les valeurs réelles des contrôles (durée d'exposition, image la durée et la sensibilité) telles qu'elles sont réellement utilisées par le matériel doivent être incluses dans les métadonnées de sortie. C'est essentiel pour que les applications sachent quand de limitation ou d'arrondi, et pour que l'application puisse compenser les paramètres réels utilisés pour la capture d'image.

Par exemple, si une application définit la durée de frame sur 0 dans une requête, le HAL réduire la durée d'affichage à la durée d'image minimale réelle pour cette requête, et signaler la durée minimale limitée dans les métadonnées des résultats de sortie.

Ainsi, si une application doit implémenter une routine 3A personnalisée (par exemple, pour mesure correctement pour une rafale HDR), il doit connaître les paramètres utilisés pour les derniers résultats reçus pour mettre à jour les paramètres de la requête suivante. Par conséquent, la nouvelle API de l'appareil photo ajoute une quantité importante des métadonnées dynamiques à chaque frame capturé. Cela inclut les métriques demandées et réelles des paramètres utilisés pour la capture, ainsi que des métadonnées supplémentaires par image telles que comme la sortie du générateur de codes temporels et de statistiques.

Commande par paramètre

Pour la plupart des paramètres, l’attente est qu’ils peuvent être modifiés à chaque image, sans introduire un stuttering ni un retard important dans le flux de trames de sortie. Dans l'idéal, la fréquence d'images de sortie doit uniquement être contrôlée par de la requête. De plus, elles sont indépendantes de toute modification du traitement blocs configuration. En réalité, certaines commandes sont connues pour être lentes au changement ; la résolution et le format de sortie de l'appareil photo, du pipeline, ainsi que les commandes affectant les appareils physiques, comme la mise au point de l'objectif la distance. Les exigences exactes pour chaque ensemble de contrôle sont détaillées plus loin.

Compatibilité avec les données brutes des capteurs

En plus des formats de pixel pris en charge par l'ancienne API, la nouvelle API exige la compatibilité avec les données brutes des capteurs. (Bayer RAW), pour les applications d'appareil photo avancées et pour les formats RAW d'image.