Android 14 permet de capturer des images compressées Ultra HDR
à l'aide du
JPEG_R
format d'image. Ce format est rétrocompatible avec les images JPEG SDR et prend en charge le rendu HDR du contenu.
Pour en savoir plus sur les spécifications du format Ultra HDR, consultez
Ultra HDR Image Format v1.0.
Implémentation
Cette section décrit comment implémenter la fonctionnalité Ultra HDR.
Implémentation de référence
Le framework et le service d'appareil photo AOSP incluent une implémentation Ultra HDR de référence.
En plus de la fonctionnalité de référence dans le framework de l'appareil photo, vous pouvez implémenter Ultra HDR dans la couche HAL de l'appareil photo et annoncer la compatibilité avec la sortie JPEG_R de la même manière que les autres flux de sortie de la couche HAL de l'appareil photo. Dans ce scénario,
la couche HAL de l'appareil photo doit générer la carte de récupération nécessaire et l'image JPEG_R
finale, comme défini par la
spécification Ultra HDR.
Vous pouvez optimiser et ajuster la sortie finale en fonction des capacités matérielles et logicielles de l'appareil.
Options d'implémentation
Les fabricants d'appareils peuvent choisir les niveaux de compatibilité Ultra HDR suivants pour leurs appareils :
- Minimal : dans cette configuration, la sortie Ultra HDR via la fonctionnalité de flux composite du service d'appareil photo 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.enableCompositeAPI0JpegRsurtrue. Étant donné que tous les processus et l'encodage sont effectués dans le logiciel, cette option peut entraîner une latence accrue et une baisse des performances. - Modéré : avec cette option, l'implémentation
JpegRCompositeStreamutilise un fichier JPEG SDR fourni par la couche HAL comme image de base et une trame P010 pour calculer une carte de récupération. Cette option implique un traitement logiciel dans le chemin de données, mais elle est relativement mineure par rapport à l'option minimale. - Étendue : la couche HAL de l'appareil photo annonce et prend en charge directement le flux de sortie
JPEG_R. Cette option permet aux fabricants d'appareils d'implémenter des optimisations spécifiques à l'appareil et peut améliorer considérablement la qualité de l'image.
Pour désactiver l'implémentation JpegRCompositeStream, définissez la propriété de compilation ro.camera.disableJpegR sur true. Si cette propriété de compilation n'est pas
définie ou est définie sur false, Ultra HDR est activé par défaut via
JpegRCompositeStream sur les appareils compatibles avec
une capacité de sortie 10 bits
et
une capture simultanée de 10 et 8 bits.
Validation
Pour valider la fonctionnalité Ultra HDR sur votre appareil, exécutez les tests suivants.
Tests CTS
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegRImageReaderTest.java#testJpegRImageReaderTest.java#testJpegRDisplayP3PerformanceTest.java#testSingleCaptureStillCaptureTest.java# testJpegRCapture
Tests ITS
Tests manuels
Pour effectuer des tests manuels, utilisez l'
implémentation d'exemple pour la capture d'images Ultra HDR,
qui inclut la compatibilité avec la configuration et la capture d'Ultra HDR à l'aide du format d'image
JPEG_R.