Output videocamera a 10 bit

Per i dispositivi con Android 13 e versioni successive, Android supporta l'uscita della videocamera a 10 bit tramite profili di gamma dinamica che possono essere configurati dal client della videocamera nell'ambito della configurazione dello stream. I produttori di dispositivi possono aggiungere il supporto per i profili di gamma dinamica a 10 bit, come HLG10, HDR 10, HDR 10+ e Dolby Vision.

Il supporto dell'output della videocamera a 10 bit consente ai client della videocamera di rilevare i profili a gamma dinamica a 10 bit supportati di un dispositivo chiamando getSupportedProfiles. Il framework restituisce quindi un'istanza di DynamicRangeProfiles, che include informazioni sui profili di intervallo dinamico supportati e, se disponibile, i vincoli delle richieste di acquisizione. Il profilo HLG10 deve essere supportato. Il profilo di intervallo dinamico consigliato è elencato nel campo REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE.

I client della videocamera possono configurare le combinazioni di stream chiamando setDynamicRangeProfile. Per ulteriori informazioni sulle combinazioni obbligatorie di flussi di output, consulta la tabella Ulteriori configurazioni garantite con output a 10 bit in Acquisizione regolare.

Requisiti

Per supportare l'uscita della fotocamera a 10 bit, il dispositivo deve avere un sensore della fotocamera a 10 bit o superiore con il rispettivo supporto ISP. Per informazioni dettagliate sui requisiti di compatibilità correlati per il supporto a 10 bit, consulta la sezione 7.5. Videocamere nel CDD.

Implementazione

Per fornire il supporto per l'output della fotocamera a 10 bit, i produttori di dispositivi devono eseguire le seguenti integrazioni HAL AIDL della fotocamera:

  • Includi ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT nelle funzionalità della fotocamera.
  • Compila ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP con tutti i profili di gamma dinamica supportati e una bitmap dei relativi vincoli. Il profilo HLG10 deve essere supportato. Devi anche includere un profilo di gamma dinamica consigliato per informare i client della videocamera del formato supportato ottimale.
  • Assicurati il supporto del valore del profilo di intervallo dinamico durante la configurazione dello stream per gli stream che utilizzano il formato P010 o il supporto di un formato definito dall'implementazione (ImageFormat.PRIVATE).
  • A seconda del profilo dell'intervallo dinamico, imposta il buffer dei metadati statico o dinamico dei buffer Gralloc 4 elaborati prima di inviare una notifica al servizio della videocamera.

Per ulteriori dettagli sull'uscita della fotocamera a 10 bit nell'HAL della fotocamera, consulta quanto segue in metadata_definitions.xml:

Per un'implementazione di riferimento della fotocamera HAL che supporta l'uscita della fotocamera a 10 bit, consulta /hardware/google/camera/devices/EmulatedCamera/hwl.

Convalida

Per convalidare l'implementazione dell'uscita della fotocamera a 10 bit e assicurarti che le app di terze parti possano attivare la funzionalità, ti consigliamo di eseguire le seguenti tre fasi di convalida.

Per la convalida visiva dell'uscita della fotocamera a 10 bit, si presume che il dispositivo supporti la visualizzazione HDR (display con oltre 1000 nit) e che l'app di visualizzazione video (ad esempio Google Foto) supporti la riproduzione di video HDR.

Verifica la correttezza funzionale dell'API

Per verificare la correttezza funzionale dell'API dell'uscita della fotocamera a 10 bit, esegui i seguenti test CTS, ITS della fotocamera e VTS:

Confrontare l'app Fotocamera nativa e quella di terze parti

Ti consigliamo vivamente di assicurarti che i risultati dell'acquisizione di video a 10 bit con un'app di terze parti siano simili, se non identici, a quelli dell'app nativa della fotocamera. Ciò significa che le scelte di ottimizzazione, come esposizione, gamma dinamica e colore, devono essere trasferite dall'app nativa alle app di terze parti. Per verificare il comportamento della registrazione video di un'app di terze parti che supporta l'uscita della fotocamera a 10 bit sul tuo dispositivo, utilizza l'app di esempio Camera2Video su GitHub. Le seguenti indicazioni servono a illustrare gli aspetti visibili dell'HDR senza numeri obiettivi, a causa della variabilità di sensori, pannelli, condizioni di visualizzazione e preferenze dei fornitori.

Scene suggerite per il confronto

Per fare un confronto tra l'app Fotocamera nativa e un'app di terze parti, acquisite video utilizzando diverse scene sia con l'app Fotocamera nativa sia con l'app di esempio Camera2Video. Di seguito sono riportate le scene suggerite da utilizzare per il confronto:

  • Una scena con illuminazione da media a scarsa con un oggetto luminoso, ad esempio una candela o una piccola luce brillante che crea un'ampia gamma di luminosità. Ciò conferma il comportamento dell'esposizione automatica e la gamma dinamica.
  • Una scena all'aperto luminosa con colori vivaci e oggetti riflettenti come i paraurti cromati di un'auto, che creano riflessi brillanti. Ciò conferma il rendering per scene luminose con punti salienti ancora più luminosi.
  • Una scena di fascia media e bassa, come una scena naturale al chiuso in una casa o in ufficio. Ciò conferma che le condizioni di illuminazione meno estreme si comportano come previsto.

Per tutte le scene, consigliamo di avere persone e volti per verificare l'esposizione, il colore e la gestione del tono della pelle. La riduzione della variazione da inquadratura a inquadratura semplifica i confronti tra le due inquadrature.

Confrontare l'intervallo dinamico standard e l'intervallo dinamico alto

Per assicurarti che l'utilizzo di un profilo di gamma dinamica a 10 bit sia percepito come vantaggioso rispetto a un profilo di gamma dinamica standard, confronta le acquisizioni video utilizzando SDR (senza profilo HDR) con i video HDR per verificare che gli aspetti chiave dell'HDR appaiano nelle acquisizioni. Per confrontare SDR e HDR, utilizza l'app di esempio Camera2Video e le scene suggerite per confrontare l'app Fotocamera nativa e le app di terze parti.

Di seguito sono riportati gli aspetti chiave da verificare nelle scene suggerite. I display compatibili con HDR variano in base ai livelli di luminosità (misurati in nit o lumen), pertanto i seguenti valori sono solo a scopo di esempio:

  • Nella scena con illuminazione da media a scarsa, le alte luci della candela o della piccola luce vengono visualizzate con luminosità massima per il display (fino a 1000 nit) nel clip HDR e con luminosità massima per SDR (circa 100 nit) nel clip SDR. Nel clip HDR, le alte luci devono risaltare sul display, catturando la percezione dell'utente della reale gamma dinamica della scena. Rispetto al clip HDR, il clip SDR dovrebbe apparire più piatto e meno luminoso.
  • Nella scena di output luminosa, a seconda della regolazione del dispositivo, il clip HDR mostra una differenza apparente nella luminosità dello schermo rispetto al clip SDR. Per il clip HDR, la luminosità dello schermo per la scena complessiva (a seconda del margine di manovra) deve essere più elevata, ad esempio fino a 800 nit, e ancora di più per le alte luci come i paraurti cromati, intorno alla luminosità massima.
  • Per le riprese al chiuso con gamma dinamica bassa e di media qualità, i clip HDR e SDR sono simili per colore e tonalità, con la registrazione HDR potenzialmente più luminosa dell'SDR. L'HDR non deve essere più scuro dell'SDR. Se le scelte di ottimizzazione lo rendono impossibile, assicurati che il comportamento dell'app di terze parti corrisponda a quello dell'app nativa della fotocamera.