Supporto dei metadati
Per supportare il salvataggio dei file immagine RAW dal framework Android, sono necessari metadati sostanziali sulle caratteristiche del sensore. Sono incluse informazioni come gli spazi di colore e le funzioni di ombreggiatura dell'obiettivo.
La maggior parte di queste informazioni è una proprietà statica del sottosistema della videocamera e pertanto può essere sottoposta a query prima di configurare le pipeline di output o inviare richieste. Le nuove API della videocamera ampliano notevolmente le informazioni fornite dal metodo getCameraInfo()
per fornirle all'app.
Inoltre, il controllo manuale del sottosistema della fotocamera richiede il feedback da parte dei diversi dispositivi sul loro stato corrente e sui parametri effettivi utilizzati per acquisire un determinato frame. I valori effettivi dei controlli (tempo di esposizione, durata del frame e sensibilità) come effettivamente utilizzati dall'hardware devono essere inclusi nei metadati di output. Questo è essenziale per consentire alle app di sapere quando si è verificato il clamping o il arrotondamento e per consentire all'app di compensare le impostazioni reali utilizzate per l'acquisizione delle immagini.
Ad esempio, se un'app imposta la durata del fotogramma su 0 in una richiesta, l'HAL deve limitare la durata del fotogramma alla durata minima reale per quella richiesta e segnalare questa durata minima limitata nei metadati del risultato di output.
Pertanto, se un'app deve implementare una routine 3A personalizzata (ad esempio per misurare correttamente una raffica HDR), deve conoscere le impostazioni utilizzate per acquisire l'ultimo insieme di risultati ricevuti per aggiornare le impostazioni per la richiesta successiva. Pertanto, la nuova API della fotocamera aggiunge una quantità significativa di metadati dinamici a ogni fotogramma acquisito. Sono inclusi i parametri richiesti e effettivi utilizzati per l'acquisizione, nonché metadati aggiuntivi per frame come timestamp e output del generatore di statistiche.
Controllo per impostazione
Per la maggior parte delle impostazioni, si prevede che possano essere modificate in ogni frame, senza introdurre balbuzie o ritardi significativi nello stream di frame di output. Idealmente, la frequenza fotogrammi in uscita dovrebbe essere controllata solo dal campo della durata del fotogramma della richiesta di acquisizione ed essere indipendente da eventuali modifiche alla configurazione dei blocchi di elaborazione. In realtà, è noto che alcuni controlli specifici sono lenti a cambiare, tra cui la risoluzione e il formato di output della pipeline della videocamera, nonché i controlli che influiscono sui dispositivi fisici, come la distanza di messa a fuoco dell'obiettivo. I requisiti esatti per ogni insieme di controlli sono descritti più avanti.
Supporto dei dati non elaborati dei sensori
Oltre ai formati di pixel supportati dalla vecchia API, la nuova API aggiunge il requisito del supporto per i dati dei sensori RAW (Bayer RAW), sia per le app di fotocamera avanzate sia per supportare i file di immagini RAW.