Metadati e controlli

Questa pagina descrive il supporto dei metadati, i controlli delle singole impostazioni e il supporto dei dati dei sensori non elaborati.

Supporto dei metadati

Per supportare il salvataggio dei file di immagini non elaborate da parte del framework Android, sono necessari metadati sostanziali sulle caratteristiche del sensore. Sono incluse informazioni come spazi colore e funzioni di ombreggiatura dell'obiettivo.

La maggior parte di queste informazioni è una proprietà statica del sottosistema della fotocamera e può pertanto essere richiesta prima di configurare qualsiasi pipeline di output o inviare qualsiasi richiesta. Le nuove API della fotocamera espandono notevolmente le informazioni fornite dal getCameraInfo metodo per fornire queste informazioni all' app.

Inoltre, il controllo manuale del sottosistema della fotocamera richiede il feedback dei vari dispositivi sul loro stato attuale e sui parametri effettivi utilizzati per acquisire un determinato frame. I valori effettivi dei controlli (tempo di esposizione, durata del frame e sensibilità) così come vengono effettivamente utilizzati dall'hardware devono essere inclusi nei metadati di output. Questo è essenziale affinché le app sappiano quando si è verificato un blocco o un arrotondamento e affinché l'app possa compensare le impostazioni reali utilizzate per l'acquisizione delle immagini.

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

Pertanto, se un'app deve implementare una routine 3A personalizzata (ad esempio, per misurare correttamente un burst HDR), deve conoscere le impostazioni utilizzate per acquisire l'ultimo set di risultati ricevuti per aggiornare le impostazioni per la richiesta successiva. Di conseguenza, la nuova API della fotocamera aggiunge una quantità sostanziale di metadati dinamici a ogni frame acquisito. Sono inclusi 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, si prevede che possano essere modificate ogni frame, senza introdurre balbuzie o ritardi significativi nel flusso di frame di output. Idealmente, la frequenza fotogrammi di output deve essere controllata 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 da modificare, tra cui la risoluzione di output e il formato di output della pipeline della fotocamera , nonché i controlli che interessano i dispositivi fisici, come la distanza di messa a fuoco dell'obiettivo. I requisiti esatti per ogni set di controlli sono descritti in dettaglio più avanti.

Supporto dei dati dei sensori non elaborati

Oltre ai formati pixel supportati da la vecchia API, la nuova API aggiunge un requisito per il supporto dei dati dei sensori non elaborati (Bayer RAW), sia per le app della fotocamera avanzate sia per supportare i file di immagini non elaborate.