Android 14 prend en charge la capture d'images compressées Ultra HDR à l'aide du format d'image JPEG_R
. Ce format est rétrocompatible avec les images SDR JPEG et prend en charge le rendu HDR du contenu. Pour plus de détails sur la spécification du format Ultra HDR, consultez Format d'image Ultra HDR v1.0 .
Mise en œuvre
Cette section décrit comment implémenter la fonctionnalité Ultra HDR.
Implémentation de référence
Le framework de caméra et le service de caméra AOSP incluent une implémentation de référence Ultra HDR.
En plus de la fonctionnalité de référence dans le framework de caméra, vous pouvez implémenter Ultra HDR dans le HAL de la caméra et annoncer la prise en charge de la sortie JPEG_R
de la même manière que les autres flux de sortie HAL de la caméra. Dans ce scénario, la caméra HAL doit générer la carte de récupération nécessaire et l'image finale JPEG_R
telle que définie par la spécification Ultra HDR . Vous pouvez optimiser et régler le résultat final en fonction des capacités matérielles et logicielles de l'appareil.
Options de mise en œuvre
Les fabricants d'appareils peuvent décider des niveaux suivants de prise en charge Ultra HDR pour leurs appareils :
- Minimal : dans cette configuration, la sortie Ultra HDR via la fonctionnalité de flux composite du service de caméra est désactivée par défaut. Pour activer l'implémentation de référence
JpegRCompositeStream
, définissez la propriété systèmero.camera.enableCompositeAPI0JpegR
surtrue
. Étant donné que tous les processus et tous les encodages sont effectués par logiciel, cette option peut entraîner une latence accrue et une diminution des performances. - Modéré : avec cette option, l'implémentation
JpegRCompositeStream
utilise un fichier JPEG SDR fourni par HAL comme image de base et une image P010 pour calculer une carte de récupération. Cette option implique un traitement logiciel au sein du chemin de données mais est relativement mineure par rapport à l'option minimale. - Extensif : la caméra HAL annonce et prend directement en charge le flux de sortie
JPEG_R
. Cette option permet aux fabricants d'appareils de mettre en œuvre des optimisations spécifiques à l'appareil et peut apporter des améliorations significatives de la qualité d'image.
Pour désactiver l'implémentation JpegRCompositeStream
, définissez la propriété de build ro.camera.disableJpegR
sur true
. Si cette propriété de construction n'est pas définie ou est définie sur false
, Ultra HDR est activé par défaut via JpegRCompositeStream
sur les appareils prenant en charge la capacité de sortie 10 bits et la capture simultanée 10 et 8 bits .
Validation
Pour valider la fonctionnalité Ultra HDR sur votre appareil, exécutez les tests suivants.
Essais CTS
-
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
-
ImageReaderTest.java#testJpegR
-
ImageReaderTest.java#testJpegRDisplayP3
-
PerformanceTest.java#testSingleCapture
-
StillCaptureTest.java# testJpegRCapture
Tests STI
Tests manuels
Pour effectuer des tests manuels, utilisez l' exemple d'implémentation pour la capture d'images Ultra HDR , qui inclut la prise en charge de la configuration et de la capture d'Ultra HDR à l'aide du format d'image JPEG_R
.