Kombination aus SDR- und HDR-Inhalten

Auf dieser Seite werden die Anforderungen, die Konfiguration und die Validierung der Funktion zum Dimmen von SDR-Inhalten für gemischte SDR- und HDR-Kompositionen beschrieben.

Android 13 verbessert die Unterstützung für die gleichzeitige Darstellung von SDR- und HDR-Kompositionen auf dem Bildschirm durch die Einführung der folgenden Funktionen:

  • Tone Mapping der HDR-Leuchtdichte auf einen SDR-kompatiblen Bereich

    Mit libtonemap kann das Tone Mapping zwischen Hardware Composer (HWC), SurfaceFlinger und Apps konsistent gestaltet werden. OEMs können eigene Tone-Mapping-Kurven implementieren, die zwischen Anbieter- und Framework-Komponenten geteilt werden.

  • Dimmen von SDR-Inhalten auf dem Bildschirm, wenn sie gleichzeitig mit HDR-Inhalten präsentiert werden

    Wenn HDR-Inhalte auf dem Bildschirm angezeigt werden, wird die Helligkeit des Bildschirms erhöht, um den größeren Leuchtdichtebereich der HDR-Inhalte zu berücksichtigen. Alle SDR-Inhalte, die ebenfalls auf dem Bildschirm angezeigt werden, werden nahtlos gedimmt, wenn die Helligkeit des Bildschirms zunimmt, sodass sich die wahrgenommene Helligkeit der SDR-Inhalte nicht ändert. OEMs können ihre integrierten Displays so konfigurieren, dass SDR-Inhalte auf dem Bildschirm gedimmt werden, wenn sie zusammen mit HDR-Inhalten präsentiert werden.

Anforderungen an OEMs

Wenn Sie die verbesserte Komposition für HDR- und SDR-Inhalte durch das Dimmen von SDR-Inhalten verwenden möchten, müssen Sie die folgenden Anforderungen erfüllen:

  • Implementieren Sie die AIDL-Version des HWC, die Unterstützung für hardwarebeschleunigtes Dimmen in der Farbpipeline des Geräts umfasst. Informationen zur Implementierung der erforderlichen Funktionen finden Sie unter AIDL für HWC.

  • Für das genaue Dimmen von Hardware-Overlays im HWC ist spezielle Hardware erforderlich, um das lineare Licht der Overlays zu skalieren. Bei Implementierungen ohne ausreichende Hardware muss die Komposition von SurfaceFlinger an die GPU weitergeleitet werden, was zu schneller Akkuentladung und möglicherweise zu einem Dimmen von geringer Qualität führt.

  • Das Gerät muss mindestens eine HDR-Technologie unterstützen, die von Display.getHdrCapabilities gemeldet wird.

Konfiguration

Die Funktion für die Komposition von gemischten SDR- und HDR-Inhalten kann entsprechend den Merkmalen des integrierten Anzeigegeräts konfiguriert werden, sodass ein Kompromiss zwischen Akkulaufzeit, Einbrennen und Inhaltsgenauigkeit erzielt wird.

Die verbesserte Komposition wird über eine Display konfiguration aktiviert und optimiert, deren Schema sich in display-device-config.xsd befindet. Die folgenden neuen Schlüsselelemente sind wichtig, um die Displaykonfiguration festzulegen:

  • Das sdrHdrRatioMap Element aktiviert das Dimmen von SDR Inhalten und definiert eine Nachschlagetabelle (LUT), um die Helligkeit des Bildschirms für die Anzeige von HDR-Inhalten auf den SDR-Weißpunkt abzubilden, wenn HDR-Inhalte auf dem Bildschirm angezeigt werden.

    Wenn sdrHdrRatioMap definiert ist, teilt DisplayManagerService im Rahmen der Steuerung der Bildschirmhelligkeit SurfaceFlinger den gewünschten SDR-Weißpunkt mit, damit SurfaceFlinger das entsprechende Dimmverhältnis pro Ebene an den HWC senden kann.

    Wenn sdrHdrRatioMap nicht definiert ist, wird das Dimmen von SDR-Inhalten nicht aktiviert, auch wenn die HWC-Implementierung das Dimmen von SDR-Inhalten unterstützt.

  • Das minimumHdrPercentOfScreen Element mit einem Wert zwischen 0 und 100 steuert, wann der Modus für hohe Helligkeit eines Panels aktiviert werden darf. In Android 13 kann dieser Schwellenwert angepasst werden, um den Modus für hohe Helligkeit in mehr Situationen zu aktivieren, z. B. in Bild-in-Bild-Szenarien. In früheren Versionen von AOSP war dieser Wert auf 50 % festgelegt.

Im folgenden Codeblock finden Sie die Schlüsselelemente der Displaykonfiguration:

<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>

Vorsichtsmaßnahmen

Die Aktivierung der Funktionen für Tone Mapping und Dimmen von SDR-Inhalten kann zu den folgenden Situationen führen:

  • Die Genauigkeit von HDR-Inhalten, die auf dem Gerät wiedergegeben werden, kann zunehmen, da die SDR-Inhaltelemente gedimmt werden.

  • Die Akkulaufzeit kann in den folgenden Szenarien abnehmen:

    • Die HWC-Implementierungen, die Dimmvorgänge an die GPU weiterleiten, können zu einer erhöhten GPU-Nutzung führen.

    • Displaykonfigurationen, die einen niedrigeren Schwellenwert für die Aktivierung des Modus mit starker Helligkeit zulassen, können den Stromverbrauch erhöhen, da der Bildschirm mit einer höheren Helligkeit betrieben wird.

  • Die Bildschirmgesundheit kann durch die längere Nutzung des Modus für hohe Helligkeit beeinträchtigt werden, was langfristig zu Problemen wie dem Einbrennen von Inhalten führen kann.

Validierung

OEMs können VTS-Tests verwenden, die in der Testsuite des HWC enthalten sind, um die Korrektheit des Dimmens zu prüfen und das Eingabe-Dimmverhältnis zu validieren.

Die Validierung für diese Funktion ist geräteabhängig. Daher gibt es keine CTS- oder GTS-Tests, die dies unterstützen.

OEMs müssen manuelle Tests durchführen, um zu prüfen, ob die Bildqualität der gedimmten SDR-Elemente akzeptabel ist. OEMs können Inhalte für HDR-Standards, die vom Gerät unterstützt werden, über SurfaceView wiedergeben, um zu prüfen, ob SDR-Elemente, die zusammen mit den HDR-Inhalten wiedergegeben werden, nicht zu hell werden.

Probleme

Das Dimmen von SDR-Bildern kann zu Black Crush oder Informationsverlusten in dunkleren Bereichen des Originalbilds führen. Das liegt daran, dass dunklere Farbwerte auf eine kleinere Anzahl dunkler Codes reduziert werden.

Bei einer Implementierung für das Dimmen, die zu einem inakzeptablen Black Crush führt, müssen Dithering-Algorithmen implementiert werden, die Rauschen in das endgültige Bild einfügen, um Banding-Effekte zu reduzieren.

HWC-Implementierungen, die das Bild nicht an der entsprechenden Stelle in der Farbpipeline dithern können, müssen anfordern, dass SurfaceFlinger das Dimmen und Dithering auf der GPU anwendet.

Implementierungen können auch den Wert von sdrHdrRatioMap anpassen, um den Grad des Dimmens für SDR-Elemente zu begrenzen. Für das Dimmen auf sehr niedrige Helligkeitsstufen ist die Verwendung der GPU erforderlich, was die Bildqualität verbessert, aber die Akkulaufzeit verkürzen kann.