Composition SDR et HDR mixte

Cette page décrit les exigences, la configuration et la validation de la fonctionnalité de diminution de la luminosité du contenu SDR pour la composition mixte SDR et HDR.

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

  • Mappage de la luminance HDR à une plage compatible SDR.

    À l'aide de libtonemap, le mappage de tonalités peut être cohérent entre Hardware Composer (HWC), SurfaceFlinger et les applications. Les OEM peuvent implémenter leurs propres courbes de mappage de tonalités à partager entre les composants du fournisseur et du framework.

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

    Lorsque du contenu HDR est affiché à l'écran, la luminosité de l'écran est augmentée pour s'adapter à la plage de luminance plus élevée du contenu HDR. Tout contenu SDR également affiché à l'écran est automatiquement assombri à mesure que la luminosité de l'écran augmente, de sorte que la luminosité perçue du contenu SDR ne change pas. Les OEM peuvent configurer leurs écrans intégrés pour qu'ils atténuent le contenu SDR à l'écran lorsqu'il est présenté à côté d'un contenu HDR.

Exigences OEM

Pour utiliser la composition améliorée pour les contenus HDR et SDR via la diminution de la luminosité des contenus SDR, vous devez respecter les exigences suivantes :

  • Implémentez la version AIDL du HWC, qui inclut la prise en charge de la diminution de la luminosité accélérée par le matériel dans le pipeline de couleurs de l'appareil. Consultez AIDL pour HWC pour savoir comment implémenter les fonctionnalités requises.

  • Pour atténuer précisément les superpositions matérielles dans le HWC, il faut du matériel spécifique pour mettre à l'échelle la lumière linéaire des superpositions. Les implémentations sans matériel suffisant sont tenues de différer la composition au GPU par SurfaceFlinger, ce qui entraîne une décharge de la batterie et une possible atténuation de faible qualité.

  • L'appareil doit être compatible avec au moins une technologie HDR signalée par Display.getHdrCapabilities.

Configuration

La fonctionnalité de composition de contenu SDR et HDR mixtes peut être configurée en fonction des caractéristiques de l'écran intégré, afin d'établir un compromis entre l'autonomie de la batterie, le burn-in et la fidélité du contenu.

L'activation et l'optimisation de la composition améliorée s'effectuent 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 permet de réduire la luminosité SDR et définit une table de consultation (LUT) pour mapper la luminosité de l'écran pour l'affichage HDR au point blanc SDR lorsqu'un contenu HDR est affiché à l'écran.

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

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

  • L'élément minimumHdrPercentOfScreen, dont la valeur est 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, comme les scénarios Picture-in-picture. 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 diminution de la luminosité des contenus SDR peut entraîner les situations suivantes :

  • La fidélité du contenu HDR lu sur l'appareil peut augmenter, car les éléments de contenu SDR sont assombris.

  • L'autonomie de la batterie peut diminuer dans les cas suivants :

    • Les implémentations HWC qui diffèrent les opérations de diminution de la luminosité au GPU peuvent entraîner une utilisation accrue du GPU.

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

  • La santé de l'écran peut être affectée par le temps passé en mode haute luminosité, ce qui peut entraîner des problèmes à long terme tels que la brûlure d'é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 ratio de gradation d'entrée.

La validation de cette fonctionnalité dépend de l'appareil. Il n'existe donc pas de tests CTS ni 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 atténués est acceptable. Les OEM peuvent lire du contenu pour les normes HDR prises en charge par l'appareil sur SurfaceView afin de vérifier que les éléments SDR lus avec le contenu HDR ne deviennent pas trop lumineux.

Problèmes

L'assombrissement des images SDR peut entraîner un écrasement des noirs, c'est-à-dire une perte d'informations dans les zones les plus sombres de l'image d'origine. En effet, les valeurs de couleur plus foncées sont regroupées dans un ensemble plus petit de codes sombres.

Une implémentation de la diminution de la luminosité qui provoque un écrasement des noirs inacceptable doit implémenter des algorithmes de dithering, qui injectent du bruit dans l'image finale afin de réduire les effets de banding.

Les implémentations HWC qui ne sont pas en mesure de simuler l'image à l'emplacement approprié du pipeline de couleurs doivent demander à SurfaceFlinger d'appliquer la gradation et la simulation sur le GPU.

Les implémentations peuvent également ajuster la valeur de sdrHdrRatioMap pour limiter la quantité d'assombrissement des éléments SDR. La diminution de la luminosité à des niveaux très bas nécessite l'utilisation du GPU, ce qui améliore la qualité de l'image, mais peut réduire l'autonomie de la batterie.