Intégrer une vidéo Eclipsa

La diffusion de vidéos HDR (High Dynamic Range) sur les appareils mobiles souffre souvent d'un défaut majeur : l'incohérence visuelle entre les différents écrans. Lorsque vous parcourez des flux de contenu mixte où coexistent des éléments SDR (Standard Dynamic Range) et HDR, les pipelines de rendu ont du mal à les équilibrer. Cela entraîne des transitions erratiques et saccadées, ainsi que des pics de luminosité imprévisibles.

Pour les créateurs de contenu, ce manque d'uniformité compromet l'intention artistique. Une vidéo HDR méticuleusement étalonnée sur un écran professionnel peut présenter des hautes lumières écrêtées, des tons délavés ou des ombres écrasées lorsqu'elle est visionnée sur un appareil grand public.

La vidéo Eclipsa est une norme vidéo HDR moderne conçue pour résoudre précisément ces problèmes d'écosystème inter-appareils. Basée sur la spécification SMPTE ST 2094-50, la technologie vidéo Eclipsa permet aux écrans d'adapter dynamiquement le mappage du contenu en fonction des capacités matérielles physiques et des conditions d'éclairage ambiant en temps réel. Soutenue par une intégration intégrée et sans configuration dans les pipelines de capture Jetpack Media3 ExoPlayer et Camera2 standards, la vidéo Eclipsa offre aux équipes d'ingénierie mobile un moyen sans frais et sans friction d'implémenter le streaming vidéo adaptatif au matériel de nouvelle génération qui préserve l'intention artistique sur chaque écran.

Architecture technique de la norme SMPTE ST 2094-50

La marge de luminosité des écrans mobiles varie considérablement. Il s'agit de la luminosité disponible au-dessus du point blanc de référence de l'écran. Lorsque les limites matérielles d'un écran ne correspondent pas aux exigences de mastering d'une vidéo HDR, les zones claires sont écrêtées ou semblent ternes. La marge de luminosité et le point blanc de référence réels d'un écran changent de manière dynamique lorsque les capteurs de luminosité ambiante ajustent le panneau à l'environnement.

La norme SMPTE ST 2094-50 résout ce problème en introduisant des métadonnées à double couche qui garantissent la cohérence visuelle grâce à deux piliers principaux :

Ancre blanche de référence

Cela établit une référence stricte qui mappe la luminosité maximale des éléments SDR directement au point blanc de référence de l'écran. Toute valeur de luminance supérieure à ce point d'ancrage est strictement réservée aux zones lumineuses HDR. Ce mécanisme d'ancrage prévisible garantit que, lorsque les calques SDR et HDR sont composés ensemble à l'écran, ils conservent la relation visuelle prévue sans se délaver mutuellement.

Courbes de gain adaptées à la marge

Au lieu d'imposer une courbe de mappage de tonalités statique, les créateurs intègrent des métadonnées paramétriques qui indiquent au pipeline d'affichage comment effectuer la mise à l'échelle lorsque la marge de luminosité est limitée. La norme offre aux créateurs la flexibilité nécessaire pour choisir si un panneau cible doit écrêter les zones claires, les écrêter de manière abrupte ou compresser les tons moyens et les ombres afin de préserver activement les détails les plus fins dans les régions lumineuses.

Plates-formes compatibles

La prise en charge au niveau de la plate-forme de la lecture et de la capture vidéo Eclipsa est introduite dans Android 17 (niveau d'API 37).

Implémenter la lecture

Pour le développement d'applications standards, Media3 ExoPlayer offre une compatibilité prête à l'emploi avec les vidéos Eclipsa. Lors de l'analyse de fichiers intégrés avec des métadonnées SMPTE 2094-50, ExoPlayer extrait et applique les métadonnées de manière transparente, sans nécessiter de configurations de lecteur personnalisées.

Nous vous recommandons de décharger les pipelines de lecture sur Jetpack Media3. ExoPlayer gère nativement l'extraction de conteneurs de bas niveau, ce qui contourne complètement les artefacts de décodage connus au niveau de la plate-forme présents dans les anciennes couches de rendu d'Android 16 (niveau d'API 36) et versions antérieures.

Implémenter la capture vidéo

Pour enregistrer des vidéos Eclipsa à partir d'un appareil, votre pipeline de caméras doit être configuré pour générer des métadonnées SMPTE 2094-50 en attribuant un profil de plage dynamique compatible.

Une fois la compatibilité de l'appareil validée à l'aide de CameraCharacteristics, routez le flux vers la surface de votre encodeur à l'aide du profil DynamicRangeProfiles.HLG10_SMPTE_2094_50. Pour savoir comment interroger et configurer les profils de plage dynamique dans les sessions de caméras, consultez Capture vidéo HDR.

Aucune configuration explicite du codec n'est requise pour les métadonnées SMPTE 2094-50. Le framework multimédia Android associe et transmet automatiquement les métadonnées si elles existent dans le profil dynamique actif.

Considérations relatives à la compatibilité et aux performances

Pour surveiller les performances, récupérez l'objet Display actif et recherchez LutProperties sur son overlayProperties pour identifier la disponibilité des chemins accélérés par le matériel.

Pour les appareils qui ne disposent pas de fonctionnalités d'accélération matérielle, la possibilité de désactiver le rendu vidéo Eclipsa dans ExoPlayer est en cours de développement.

Ressources supplémentaires