Android 14 supporta l'acquisizione di immagini compresse Ultra HDR utilizzando il formato dell'immagine JPEG_R
. Questo formato è compatibile con le immagini JPEG SDR e supporta il rendering HDR dei contenuti.
Per informazioni dettagliate sulla specifica del formato Ultra HDR, consulta
Ultra HDR Image Format v1.0.
Implementazione
Questa sezione descrive come implementare la funzionalità Ultra HDR.
Implementazione dei riferimenti
Il framework e il servizio della fotocamera AOSP includono un'implementazione di riferimento Ultra HDR.
Oltre alla funzionalità di riferimento nel framework della fotocamera, puoi implementare Ultra HDR all'interno dell'HAL della fotocamera e pubblicizzare il supporto dell'output JPEG_R
allo stesso modo di altri stream di output dell'HAL della fotocamera. In questo scenario,
l'HAL della videocamera deve generare la mappa di ripristino necessaria e l'immagine JPEG_R
finale, come definito dalla
specifica Ultra HDR.
Puoi ottimizzare e regolare l'output finale in base alle funzionalità hardware e software del dispositivo.
Opzioni di implementazione
I produttori di dispositivi possono decidere i seguenti livelli di supporto Ultra HDR per i propri dispositivi:
- Minima:in questa configurazione, l'uscita Ultra HDR tramite la funzionalità di stream composito del servizio di assistenza della videocamera è disattivata per impostazione predefinita. Per attivare l'implementazione di riferimento
JpegRCompositeStream
, imposta la proprietà di sistemaro.camera.enableCompositeAPI0JpegR
sutrue
. Poiché tutte le operazioni e la codifica vengono eseguite in software, questa opzione può comportare un aumento della latenza e una diminuzione delle prestazioni. - Moderata: con questa opzione, l'implementazione di
JpegRCompositeStream
utilizza un file JPEG SDR fornito da HAL come immagine di base e un frame P010 per calcolare una mappa di recupero. Questa opzione richiede l'elaborazione del software all'interno del percorso dati, ma è relativamente ridotta rispetto all'opzione minima. - Completa: l'HAL della videocamera pubblicizza e supporta direttamente lo stream di output
JPEG_R
. Questa opzione consente ai produttori di dispositivi di implementare ottimizzazioni specifiche per il dispositivo e può offrire notevoli miglioramenti alla qualità delle immagini.
Per disattivare l'implementazione di JpegRCompositeStream
, imposta la proprietà di compilazione ro.camera.disableJpegR
su true
. Se questa proprietà di build non è impostata o è impostata su false
, Ultra HDR è attivato per impostazione predefinita tramite JpegRCompositeStream
sui dispositivi che supportano la funzionalità di output a 10 bit e la acquisizione simultanea a 10 e 8 bit.
Convalida
Per convalidare la funzionalità Ultra HDR sul tuo dispositivo, esegui i seguenti test.
Test CTS
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
ImageReaderTest.java#testJpegR
ImageReaderTest.java#testJpegRDisplayP3
PerformanceTest.java#testSingleCapture
StillCaptureTest.java# testJpegRCapture
Test ITS
Test manuali
Per eseguire test manuali, utilizza l'implementazione di esempio per l'acquisizione di immagini Ultra HDR, che include il supporto per la configurazione e l'acquisizione di Ultra HDR utilizzando il formato immagine JPEG_R
.