Uscita telecamera a 10 bit

Per i dispositivi con Android 13 e versioni successive, Android supporta l'output della fotocamera a 10 bit tramite profili di intervallo dinamico che possono essere configurati dal client della fotocamera come parte della configurazione dello streaming. I produttori di dispositivi possono aggiungere il supporto per profili di gamma dinamica a 10 bit come HLG10, HDR 10, HDR 10+ e Dolby Vision.

Il supporto dell'output della fotocamera a 10 bit consente ai client della fotocamera di scoprire i profili di intervallo dinamico 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 disponibili, i vincoli della richiesta 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 telecamera possono configurare combinazioni di flussi chiamando setDynamicRangeProfile . Per ulteriori informazioni sulle combinazioni obbligatorie del flusso di output, consulta la tabella delle configurazioni aggiuntive garantite dell'output a 10 bit in Acquisizione regolare .

Requisiti

Per supportare l'output della fotocamera a 10 bit, il dispositivo deve disporre di un sensore della fotocamera con capacità di 10 bit o superiore con il rispettivo supporto ISP. Per dettagli sui requisiti di compatibilità correlati per il supporto a 10 bit, vedere la sezione 7.5. Telecamere nel CDD.

Implementazione

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

  • Includi ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT nelle funzionalità della fotocamera.
  • Popolare ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP con tutti i profili di intervallo dinamico supportati e una bitmap dei relativi vincoli. Il profilo HLG10 deve essere supportato. È inoltre necessario includere un profilo di gamma dinamica consigliato per informare i client della fotocamera del formato supportato ottimale.
  • Garantire il supporto per il valore del profilo dell'intervallo dinamico durante la configurazione del flusso per i flussi che utilizzano il formato P010 o il supporto per un formato definito dall'implementazione ( ImageFormat.PRIVATE ).
  • A seconda del profilo della gamma dinamica, impostare il buffer dei metadati statico o dinamico dei buffer Gralloc 4 elaborati prima di avvisare il servizio della fotocamera.

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

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

Validazione

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

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

Testare la correttezza funzionale dell'API

Per testare la correttezza funzionale dell'API dell'output della telecamera a 10 bit, eseguire i seguenti test CTS, ITS della telecamera e VTS:

Confronta la fotocamera nativa e l'app 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, dovrebbero essere trasferite dall'app nativa alle app di terze parti. Per verificare il comportamento di registrazione video di un'app di terze parti che supporta l'output della fotocamera a 10 bit sul tuo dispositivo, utilizza l' app di esempio Camera2Video su GitHub. La seguente guida serve a illustrare gli aspetti visibili dell'HDR senza numeri oggettivi, a causa della variabilità di sensori, pannelli, condizioni di visualizzazione e preferenze del fornitore.

Scene suggerite per il confronto

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

  • Una scena con luce da media a scarsa con un oggetto luminoso, come una candela o una piccola luce brillante che crea una gamma significativa 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 crea riflessi luminosi. Ciò conferma la resa delle scene luminose con luci ancora più luminose.
  • Una scena con gamma dinamica media e bassa, come una scena naturale in interni di una casa o di un ufficio. Ciò conferma che le condizioni di illuminazione meno estreme si comportano come previsto.

Per tutte le scene, consigliamo di includere persone e volti per verificare l'esposizione, il colore e la gestione della tonalità della pelle. La riduzione della variazione da un colpo all'altro facilita i confronti uno dopo l'altro.

Confronta la gamma dinamica standard e la gamma dinamica elevata

Per garantire che vi sia un vantaggio percepito nell'utilizzo di un profilo di gamma dinamica a 10 bit rispetto a un profilo di gamma dinamica standard, confronta le acquisizioni video utilizzando SDR (nessun profilo HDR) con i video HDR per confermare che gli aspetti chiave dell'HDR appaiono nelle acquisizioni. Per confrontare SDR e HDR, utilizza l' app di esempio Camera2Video e le scene suggerite per confrontare l'app nativa della fotocamera e le app di terze parti.

Di seguito sono riportati gli aspetti chiave da verificare nelle scene suggerite. I pannelli display compatibili con HDR variano in termini di livelli di luminosità (misurati in nit o lumen), quindi i seguenti numeri forniti sono da intendersi come esempi:

  • Nella scena da mezza luce a scarsa illuminazione, i punti luminosi luminosi della candela o della piccola luce vengono renderizzati alla massima luminosità per il display (possibilmente fino a 1000 nit) nella clip HDR e renderizzati alla massima luminosità per SDR (circa 100 nits) nella clip SDR. Nella clip HDR, le luci luminose dovrebbero brillare fuori dal display, catturando la percezione dell'utente di quale fosse la vera gamma dinamica della scena. Rispetto alla clip HDR, la clip SDR dovrebbe apparire più piatta e meno luminosa.
  • Nella scena con output luminoso, a seconda della regolazione del dispositivo, la clip HDR mostra un'apparente differenza nella luminosità dello schermo rispetto alla clip SDR. Per la clip HDR, la luminosità dello schermo per l'intera scena (a seconda dell'headroom) dovrebbe essere più alta, ad esempio fino a 800 nit, e ancora di più per i punti salienti come i paraurti cromati, intorno alla luminosità massima.
  • Nell'acquisizione indoor a gamma dinamica bassa e media, le clip HDR e SDR sono simili per colore e tonalità, con l'acquisizione HDR potenzialmente più luminosa dell'SDR. L'HDR non dovrebbe essere più scuro dell'SDR. Se le scelte di ottimizzazione lo rendono impossibile, assicurati che il comportamento dell'app di terze parti corrisponda al comportamento dell'app nativa della fotocamera.