Android 14 fornisce supporto per l'acquisizione di immagini compresse Ultra HDR utilizzando il formato immagine JPEG_R
. Questo formato è retrocompatibile con le immagini JPEG SDR e supporta il rendering HDR dei contenuti. Per dettagli 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 e il servizio della fotocamera AOSP includono un'implementazione Ultra HDR di riferimento.
Oltre alla funzionalità di riferimento nel framework della fotocamera, puoi implementare Ultra HDR all'interno dell'HAL della fotocamera e pubblicizzare il supporto per l'output JPEG_R
allo stesso modo degli altri flussi di output dell'HAL della fotocamera. In questo scenario, l'HAL della fotocamera deve generare la mappa di ripristino necessaria e l'immagine JPEG_R
finale come definito dalla specifica Ultra HDR . È possibile ottimizzare e mettere a punto 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:
- Minimo: in questa configurazione, l'output Ultra HDR tramite la funzionalità di flusso composito del servizio fotocamera è disabilitato per impostazione predefinita. Per abilitare l'implementazione di riferimento
JpegRCompositeStream
, impostare 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. - Moderato: con questa opzione, l'implementazione
JpegRCompositeStream
utilizza un file SDR JPEG fornito da HAL come immagine di base e un frame P010 per calcolare una mappa di ripristino. Questa opzione implica l'elaborazione del software all'interno del percorso dati ma è relativamente minore rispetto all'opzione minima. - Esteso: l'HAL della fotocamera pubblicizza e supporta direttamente il flusso di output
JPEG_R
. Questa opzione consente ai produttori di dispositivi di implementare ottimizzazioni specifiche del dispositivo e può fornire miglioramenti significativi della qualità dell'immagine.
Per disabilitare l'implementazione JpegRCompositeStream
, impostare la proprietà di build ro.camera.disableJpegR
su true
. Se questa proprietà di build non è impostata o è impostata su false
, Ultra HDR è abilitato per impostazione predefinita tramite JpegRCompositeStream
sui dispositivi che supportano funzionalità di output a 10 bit e acquisizione simultanea a 10 e 8 bit .
Validazione
Per convalidare la funzionalità Ultra HDR sul tuo dispositivo, esegui i seguenti test.
Prove CTS
-
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
-
ImageReaderTest.java#testJpegR
-
ImageReaderTest.java#testJpegRDisplayP3
-
PerformanceTest.java#testSingleCapture
-
StillCaptureTest.java# testJpegRCapture
I suoi test
Prove 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
.