Per i dispositivi con Android 13 e versioni successive, Android supporta l'output della videocamera a 10 bit attraverso profili Dynamic Range che possono essere configurate dal client della videocamera come parte della configurazione dello stream. Dispositivo i produttori possono aggiungere il supporto per profili Dynamic Range 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 la tecnologia supportata
i profili Dynamic Range di un dispositivo chiamando
getSupportedProfiles
Il framework restituisce quindi un'istanza
DynamicRangeProfiles
,
che include informazioni sui profili Dynamic Range supportati e, se
disponibili, per acquisire i vincoli della richiesta. La
HLG10
profilo deve essere supportato. Il profilo dell'intervallo dinamico consigliato è elencato in
il
REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
.
I client delle videocamere possono configurare combinazioni di stream chiamando
setDynamicRangeProfile
Per ulteriori informazioni sulle combinazioni obbligatorie di stream di output, consulta
Tabella delle configurazioni aggiuntive garantite con output a 10 bit in
Acquisizione regolare.
Requisiti
Per supportare l'output della fotocamera a 10 bit, il dispositivo deve avere un'architettura a 10 bit o superiore compatibile con il relativo supporto ISP. Per maggiori dettagli sui relativi requisiti di compatibilità per il supporto del formato a 10 bit, consulta la sezione 7.5 Videocamere nel CDD.
Implementazione
Per fornire supporto per l'output della fotocamera a 10 bit, i produttori devono eseguire le seguenti integrazioni di Camera AIDL HAL:
- Includi
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
in funzionalità della fotocamera. - Compila
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
con tutti profili di intervallo dinamico supportati e una bitmap dei relativi vincoli. LaHLG10
profilo deve essere supportato. Devi anche includere una dimensione dinamica consigliata per informare i client della videocamera del formato ottimale supportato. - Assicurati di supportare il valore del profilo dell'intervallo dinamico durante lo streaming
per i flussi di dati utilizzando
P010
o il supporto di un formato definito dall'implementazione
(
ImageFormat.PRIVATE
). - A seconda del profilo dell'intervallo dinamico, imposta i metadati statici o dinamici buffer dei buffer Gralloc 4 elaborati prima di inviare una notifica al servizio fotocamera.
Per ulteriori dettagli sull'output della videocamera a 10 bit nella videocamera HAL, consulta
seguito in metadata_definitions.xml
:
DYNAMIC_RANGE_TEN_BIT
- Dettagli dell'HAL per
availableDynamicRangeProfilesMap
recommendedTenBitDynamicRangeProfile
10BIT_OUTPUT
Per informazioni sull'implementazione di Camera HAL che supporta l'output della videocamera a 10 bit, vedi
/hardware/google/camera/devices/EmulatedCamera/hwl
Convalida
Per convalidare l'implementazione dell'output della videocamera a 10 bit e assicurarti che app di terze parti possono attivare la funzionalità, ti consigliamo di eseguire le seguenti operazioni: tre fasi della convalida.
- Testare la correttezza funzionale dell'API
- Confronta la fotocamera nativa con l'app di terze parti
- Confronto tra Standard Dynamic Range e High Dynamic Range
Per la convalida visiva dell'output della fotocamera a 10 bit, si presume che il dispositivo supporta la visualizzazione HDR (display da 1000+ nit) e l'app di visualizzazione video (per ad esempio Google Foto) supporta la riproduzione di video HDR.
Testa la correttezza funzionale dell'API
Per testare la correttezza funzionale dell'API dell'output della fotocamera a 10 bit, esegui il comando seguenti test CTS, ITS della videocamera e VTS:
hardware/interfaces/camera/provider/aidl/vts/
: Testa il rilevamento, la configurazione e i flussi di dati di base e verifica la presenza di la presenza di metadati HDR, ove richiesto.tests/camera/src/android/hardware/camera2/cts/
: Assicura che il comportamento della videocamera rispetti le specifiche dell'API AOSP.cts/apps/CameraITS
: Conferma che il comportamento generale del video sia coerente quando vengono utilizzati i profili HDR. Il test specifico ètests/scene4/test_video_aspect_ratio_and_crop.py
Confronta fotocamera nativa e app di terze parti
Ti consigliamo vivamente di verificare che i risultati ottenuti con l'acquisizione di video a 10 bit con un'app di terze parti è simile, se non identica, alle app native per fotocamera. Questo significa che le scelte di correzione, come esposizione, gamma dinamica e colore, trasferire dall'app nativa alle app di terze parti. Per verificare il video: del comportamento di registrazione di un'app di terze parti che supporta l'output della fotocamera a 10 bit sul tuo dispositivo, utilizza Esempio di app Camera2Video su GitHub. Le seguenti indicazioni illustrano gli aspetti visibili della HDR senza numeri di obiettivi, a causa della variabilità di sensori, riquadri condizioni di visualizzazione e preferenze del fornitore.
Scene suggerite per il confronto
Per fare un confronto tra l'app nativa della fotocamera e un'app di terze parti: registrare video usando diverse scene con l'app nativa della fotocamera e l'app di esempio Camera2Video. Di seguito sono riportate alcune scene suggerite per l'utilizzo Confronto:
- Un'immagine in cui l'illuminazione è scarsa o scarsa con un oggetto luminoso, come una candela o piccola luce intensa che crea una gamma significativa di luminosità. Questo Conferma il comportamento dell'esposizione automatica e la gamma dinamica.
- Una luminosa scena all'aperto con colori vivaci e oggetti riflettenti come come paraurti cromati di un'auto, creando luci brillanti. Conferma il rendering per scene luminose con alte luci ancora più luminose.
- Una scena di fascia media e bassa, come una scena naturale al chiuso che casa o ufficio. Ciò conferma che condizioni di illuminazione meno estreme si comportano come previsto.
In tutte le scene, consigliamo di usare persone e volti per verificare l'esposizione, il colore e gestione della tonalità della pelle. La riduzione della variazione da inquadratura a inquadratura per i confronti.
Confronto tra Standard Dynamic Range e High Dynamic Range
Per garantire che venga percepito un vantaggio derivante dall'utilizzo di un intervallo dinamico a 10 bit standard rispetto a un profilo standard Dynamic Range, puoi confrontare le acquisizioni video utilizzando SDR (nessun profilo HDR) nei video HDR per confermare che gli aspetti chiave dell'HDR siano presenti le acquisizioni. Per confrontare SDR e HDR, utilizza la Esempio di app Camera2Video e le scene suggerite per confrontare la videocamera nativa app di terze parti e app di terze parti.
Di seguito sono riportati gli aspetti chiave da verificare nelle scene suggerite. Pannelli di visualizzazione in grado di supportare l'HDR variano nei livelli di luminosità (misurati in nit o lumen), quindi le i seguenti numeri sono da intendersi a titolo di esempio:
- In condizioni di scarsa illuminazione o di scarsa illuminazione, vengono mostrate le luci intense della candela o le luci piccole vengono visualizzate con la luminosità massima per il display (possibilmente superiore a 1000 nit) nel clip HDR e il rendering con la luminosità massima per SDR (circa 100 nit) nel clip SDR. Nel clip HDR, la luminosità gli elementi in evidenza devono risplendere dal display, catturando la percezione dell'utente della vera gamma dinamica della scena. Rispetto al clip HDR, Il clip SDR dovrebbe apparire più piatto e meno luminoso.
- Nella scena con output luminoso, a seconda della regolazione del dispositivo, la tecnologia HDR mostra una differenza apparente nella luminosità dello schermo rispetto alla luminosità Clip SDR. Per il clip HDR, la luminosità dello schermo per la scena complessiva (a seconda del margine di miglioramento) devono essere più alti, ad esempio fino a 800 nit, e lo è ancora di più per le alte luci brillanti come i paraurti di Chrome, luminosità massima.
- Nella fascia media e bassa dell'acquisizione dinamica in ambienti interni, nelle tecnologie HDR e SDR i clip hanno colore e tono simili, con l'acquisizione HDR potenzialmente più luminoso dell'SDR. L'HDR non deve essere più scuro della SDR. Se le scelte di ottimizzazione lo rendono impossibile; assicurati che l'app corrisponde al comportamento dell'app nativa della videocamera.