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 sulle specifiche del formato Ultra HDR, consulta
Formato immagine Ultra HDR v1.0.
Implementazione
Questa sezione descrive come implementare la funzionalità Ultra HDR.
Implementazione di riferimento
Il framework della fotocamera e il servizio fotocamera AOSP includono un'implementazione di riferimento di Ultra HDR.
Oltre alla funzionalità di riferimento nel framework della fotocamera, puoi
implementare Ultra HDR all'interno di HAL della fotocamera e pubblicizzare il supporto per l'output JPEG_R
nello stesso modo degli altri stream di output HAL della fotocamera. In questo scenario,
l'HAL della fotocamera deve generare la mappa di recupero necessaria e l'immagine JPEG_R
finale come definita dalla
specifica Ultra HDR.
Puoi ottimizzare e perfezionare l'output finale a seconda dell'hardware
e delle funzionalità software del dispositivo.
Opzioni di implementazione
I produttori di dispositivi possono decidere i seguenti livelli di supporto Ultra HDR per i loro dispositivi:
- Minima:in questa configurazione, l'output Ultra HDR tramite la funzionalità di flusso composito del servizio della videocamera è disattivato per impostazione predefinita. Per attivare l'implementazione di riferimento
JpegRCompositeStream
, imposta la proprietà di sistemaro.camera.enableCompositeAPI0JpegR
sutrue
. Poiché tutti i processi e la codifica vengono eseguiti nel software, questa opzione può comportare un aumento della latenza e una riduzione 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 comporta l'elaborazione del software all'interno del percorso dei dati, ma è relativamente minore rispetto all'opzione minima. - Esteso:la fotocamera HAL pubblicizza e supporta lo stream di output
JPEG_R
direttamente. Questa opzione consente ai produttori di dispositivi di implementare ottimizzazioni specifiche per i dispositivi e può migliorare in modo significativo la qualità delle immagini.
Per disattivare l'implementazione di JpegRCompositeStream
, imposta la proprietà di build 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 capacità di output a 10 bit
e
la registrazione 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
.