Composition mixte SDR et HDR

Cette page décrit les exigences, la configuration et la validation de la fonctionnalité de gradation du contenu SDR pour les compositions mixtes SDR et HDR.

Android 13 améliore la prise en charge de la présentation simultanée des compositions SDR et HDR à l'écran en introduisant les fonctionnalités suivantes :

  • Mappage tonal de la luminance HDR sur une plage compatible SDR.

    Grâce à libtonemap , le mappage de tons peut être rendu cohérent entre Hardware Composer (HWC), SurfaceFlinger et les applications. Les OEM peuvent implémenter leurs propres courbes de mappage de tons à partager entre les composants du fournisseur et du framework.

  • Atténuation du contenu SDR à l'écran lorsqu'il est présenté simultanément avec du contenu HDR.

    Lorsque du contenu HDR est à l'écran, la luminosité de l'écran est augmentée pour s'adapter à la plage de luminance accrue du contenu HDR. Tout contenu SDR également affiché à l'écran est atténué de manière transparente à mesure que la luminosité de l'écran augmente, de sorte que la luminosité perceptuelle du contenu SDR ne change pas. Les constructeurs OEM peuvent configurer leurs écrans intégrés pour atténuer le contenu SDR à l'écran lorsqu'il est présenté à côté du contenu HDR.

Exigences OEM

Pour utiliser la composition améliorée pour le contenu HDR et SDR via la gradation du contenu SDR, suivez ces exigences :

  • Implémentez la version AIDL du HWC, qui inclut la prise en charge de la gradation accélérée par le matériel dans le pipeline de couleurs de l'appareil. Reportez-vous à AIDL pour HWC pour implémenter la fonctionnalité requise.

  • L'atténuation précise des superpositions matérielles dans le HWC nécessite un matériel spécifique pour adapter la lumière linéaire des superpositions. Les implémentations sans matériel suffisant sont nécessaires pour reporter la composition au GPU par SurfaceFlinger, provoquant une décharge de la batterie et une éventuelle gradation de mauvaise qualité.

  • L'appareil doit prendre en charge au moins une technologie HDR signalée par Display.getHdrCapabilities .

Configuration

La fonctionnalité de composition de contenu mixte SDR et HDR peut être configurée en fonction des caractéristiques du dispositif d'affichage intégré, de sorte que le compromis entre la durée de vie de la batterie, le burn-in et la fidélité du contenu soit établi.

L'activation et le réglage de la composition améliorée se font via une configuration d'affichage dont le schéma se trouve dans display-device-config.xsd . Les nouveaux éléments clés suivants sont importants pour définir la configuration de l'affichage :

  • L'élément sdrHdrRatioMap active la gradation SDR et définit une table de recherche (LUT) pour mapper la luminosité de l'écran pour que le HDR soit affiché sur le point blanc SDR lorsqu'il y a du contenu HDR à l'écran.

    Si sdrHdrRatioMap est défini, dans le cadre du contrôle de la luminosité de l'écran, DisplayManagerService communique le point blanc SDR souhaité à SurfaceFlinger afin que SurfaceFlinger puisse envoyer le taux de gradation approprié par couche au HWC.

    Si sdrHdrRatioMap n'est pas défini, la gradation SDR n'est pas activée, même si l'implémentation HWC prend en charge la gradation SDR.

  • L'élément minimumHdrPercentOfScreen , avec une valeur comprise entre 0 et 100, contrôle le moment où le mode haute luminosité d'un panneau peut être activé. Avec Android 13, ce seuil est réglable pour activer le mode haute luminosité dans davantage de situations, telles que les scénarios d'image dans l'image. Les versions précédentes d'AOSP ont fixé cette valeur à 50 %.

Consultez le bloc de code suivant pour connaître les éléments clés de la configuration de l'affichage :

<displayConfiguration>
    ...
    <highBrightnessMode>
        ...
        <!--Percentage of the screen that must be covered by HDR layers until high brightness mode is enabled.
        <minimumHdrPercentOfScreen>...</minimumHdrPercentOfScreen>
        <!--sdrHdrRatioMap, backed by spline, must have at least two entries -->
        <sdrHdrRatioMap>
            <point>
                <sdrNits>...</sdrNits>
                <hdrRatio>...</hdrRatio>
            </point>
            <point>
                <sdrNits>...</sdrNits>
                <hdrRatio>...</hdrRatio>
            </point>
            <!--More interpolation points may be added –->
            ...
        </sdrHdrRatioMap>
        ...
    </highBrightnessMode>
    ...
</displayConfiguration>

Mises en garde

L'activation des fonctionnalités de mappage de tonalité et de gradation du contenu SDR peut conduire aux situations suivantes :

  • La fidélité du contenu HDR lu sur l'appareil peut augmenter, à mesure que les éléments du contenu SDR sont grisés.

  • La durée de vie de la batterie peut diminuer dans les scénarios suivants :

    • Les implémentations HWC qui reportent les opérations de gradation au GPU peuvent entraîner une utilisation accrue du GPU.

    • Les configurations d'affichage qui autorisent un seuil inférieur pour activer le mode haute luminosité peuvent augmenter la consommation d'énergie pour faire fonctionner l'écran avec une luminosité plus élevée.

  • La santé de l'écran peut être affectée en raison du temps accru passé en mode haute luminosité, ce qui peut entraîner des problèmes à long terme tels qu'une rémanence avec la santé de l'écran.

Validation

Les OEM peuvent utiliser les tests VTS, qui sont inclus dans la suite de tests HWC, pour vérifier l'exactitude de la gradation et valider le rapport de gradation d'entrée .

La validation de cette fonctionnalité dépend de l'appareil, il n'existe donc aucun test CTS ou GTS pour la prendre en charge.

Les OEM doivent exécuter des tests manuels pour valider que la qualité d’image des éléments SDR grisés est acceptable. Les OEM peuvent lire du contenu pour les normes HDR prises en charge par l'appareil sur SurfaceView pour vérifier que les éléments SDR lus avec le contenu HDR ne deviennent pas trop lumineux.

Problèmes

La gradation des images SDR peut entraîner un écrasement du noir ou une perte d'informations dans les zones plus sombres de l'image originale. Cela est dû au fait que les valeurs de couleurs plus sombres s’effondrent sur un ensemble plus petit de codes sombres.

Une implémentation de gradation qui provoque un écrasement inacceptable du noir doit implémenter des algorithmes de tramage, qui injectent du bruit dans l'image finale afin de réduire les effets de bandes.

Les implémentations HWC qui ne peuvent pas tramer l'image à l'emplacement approprié dans le pipeline de couleurs doivent demander à SurfaceFlinger d'appliquer la gradation et le tramage sur le GPU.

Les implémentations peuvent également ajuster la valeur de sdrHdrRatioMap pour limiter la quantité de gradation des éléments SDR. L'atténuation à des niveaux de luminosité très faibles nécessite l'utilisation du GPU, ce qui améliore la qualité de l'image mais peut réduire la durée de vie de la batterie.