Metadati e controlli

Supporto dei metadati

Per supportare il salvataggio di file di immagini grezze da parte del framework Android, sono necessari metadati sostanziali sulle caratteristiche del sensore. Ciò include informazioni quali spazi colore e funzioni di ombreggiatura dell'obiettivo.

La maggior parte di queste informazioni sono una proprietà statica del sottosistema della telecamera e possono quindi essere interrogate prima di configurare qualsiasi pipeline di output o inviare richieste. Le nuove API della fotocamera espandono notevolmente le informazioni fornite dal metodo getCameraInfo() per fornire queste informazioni all'applicazione.

Inoltre, il controllo manuale del sottosistema della fotocamera richiede feedback da parte dei vari dispositivi sul loro stato attuale e sui parametri effettivi utilizzati nell'acquisizione di un determinato fotogramma. I valori effettivi dei controlli (tempo di esposizione, durata del fotogramma e sensibilità) effettivamente utilizzati dall'hardware devono essere inclusi nei metadati di output. Ciò è essenziale affinché le applicazioni sappiano quando è avvenuto il bloccaggio o l'arrotondamento e affinché l'applicazione possa compensare le impostazioni reali utilizzate per l'acquisizione dell'immagine.

Ad esempio, se un'applicazione imposta la durata del frame su 0 in una richiesta, l'HAL deve limitare la durata del frame alla durata minima effettiva del frame per quella richiesta e segnalare tale durata minima limitata nei metadati del risultato di output.

Pertanto, se un'applicazione deve implementare una routine 3A personalizzata (ad esempio, per misurare correttamente un burst HDR), deve conoscere le impostazioni utilizzate per acquisire l'ultima serie di risultati ricevuti per aggiornare le impostazioni per la richiesta successiva. Pertanto, la nuova API della fotocamera aggiunge una notevole quantità di metadati dinamici a ciascun fotogramma catturato. Ciò include i parametri richiesti ed 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, l'aspettativa è che possano essere modificate a ogni fotogramma, senza introdurre rallentamenti o ritardi significativi nel flusso di fotogrammi di output. Idealmente, il frame rate di output dovrebbe essere controllato esclusivamente dal campo della durata del frame 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; questi includono la risoluzione di output e il formato di output della pipeline della fotocamera, nonché i controlli che influiscono sui dispositivi fisici, come la distanza di messa a fuoco dell'obiettivo. I requisiti esatti per ciascun set di controlli vengono descritti in dettaglio più avanti.

Supporto dati grezzi del sensore

Oltre ai formati pixel supportati dalla vecchia API, la nuova API aggiunge un requisito per il supporto dei dati grezzi dei sensori (Bayer RAW), sia per applicazioni fotografiche avanzate sia per supportare file di immagini grezze.