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, indem die folgenden Funktionen eingeführt werden:
Tonzuordnung der HDR-Luminanz zu einem SDR-kompatiblen Bereich.
Mit
libtonemap
kann die Tonzuordnung zwischen Hardware Composer (HWC), SurfaceFlinger und Apps konsistent gemacht werden. OEMs können ihre eigenen Tone-Mapping-Kurven implementieren, die von Anbieter- und Framework-Komponenten gemeinsam genutzt werden.Dimmen von SDR-Inhalten auf dem Bildschirm, wenn sie gleichzeitig mit HDR-Inhalten angezeigt werden.
Wenn HDR-Inhalte auf dem Bildschirm angezeigt werden, wird die Bildschirmhelligkeit erhöht, um dem erhöhten Luminanzbereich des HDR-Inhalts Rechnung zu tragen. Alle SDR-Inhalte, die ebenfalls auf dem Bildschirm angezeigt werden, werden bei zunehmender Bildschirmhelligkeit nahtlos gedimmt, 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 neben HDR-Inhalten angezeigt werden.
OEM-Anforderungen
Um die verbesserte Komposition für HDR- und SDR-Inhalte durch Dimmen von SDR-Inhalten zu verwenden, befolgen Sie diese Anforderungen:
Implementieren Sie die AIDL-Version des HWC, die Unterstützung für hardwarebeschleunigtes Dimmen in der Farbpipeline des Geräts enthält. Informationen zur Implementierung der erforderlichen Funktionalität finden Sie unter AIDL für HWC .
Das genaue Dimmen von Hardware-Overlays im HWC erfordert spezielle Hardware, um das lineare Licht der Overlays zu skalieren. Implementierungen ohne ausreichende Hardware sind erforderlich, um die Komposition durch SurfaceFlinger auf die GPU zu verschieben, was zu einer Batterieentladung und möglicherweise zu einer minderwertigen Dimmung führt.
Das Gerät muss mindestens eine von
Display.getHdrCapabilities
gemeldete HDR-Technologie unterstützen.
Aufbau
Die Funktion zur Komposition gemischter SDR- und HDR-Inhalte kann gemäß den Eigenschaften des integrierten Anzeigegeräts konfiguriert werden, sodass ein Kompromiss zwischen Akkulaufzeit, Einbrennen und Inhaltstreue hergestellt wird.
Das Aktivieren und Optimieren der verbesserten Komposition erfolgt über eine Anzeigekonfiguration, deren Schema sich in display-device-config.xsd
. Die folgenden neuen Schlüsselelemente sind bei der Einstellung der Anzeigekonfiguration wichtig:
Das
sdrHdrRatioMap
Element ermöglicht das SDR-Dimmen und definiert eine Nachschlagetabelle (LUT) zum Zuordnen der Bildschirmhelligkeit für HDR, die dem SDR-Weißpunkt angezeigt werden soll, wenn HDR-Inhalte auf dem Bildschirm vorhanden sind.Wenn
sdrHdrRatioMap
definiert ist, übermitteltDisplayManagerService
als Teil der Steuerung der Bildschirmhelligkeit den gewünschten SDR-Weißpunkt an SurfaceFlinger, sodass SurfaceFlinger das entsprechende Dimmverhältnis pro Schicht an das HWC senden kann.Wenn
sdrHdrRatioMap
nicht definiert ist, ist das SDR-Dimmen nicht aktiviert, selbst wenn die HWC-Implementierung SDR-Dimmen 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. Mit Android 13 ist dieser Schwellenwert einstellbar, um den Modus mit hoher Helligkeit in mehr Situationen zu aktivieren, z. B. in Bild-in-Bild-Szenarien. Frühere Versionen von AOSP haben diesen Wert auf 50 % festgelegt.
Siehe den folgenden Codeblock für die Schlüsselelemente der Anzeigekonfiguration:
<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>
Vorbehalte
Das Aktivieren der Tone-Mapping- und SDR-Content-Dimming-Funktionen kann zu folgenden Situationen führen:
Die Wiedergabetreue von HDR-Inhalten, die auf dem Gerät abgespielt werden, kann sich erhöhen, da die SDR-Inhaltselemente gedimmt werden.
Die Akkulaufzeit kann sich in den folgenden Szenarien verkürzen:
Die HWC-Implementierungen, die Dimmvorgänge auf die GPU verschieben, können eine erhöhte GPU-Nutzung verursachen.
Anzeigekonfigurationen, die einen niedrigeren Schwellenwert zum Aktivieren des Modus mit hoher Helligkeit zulassen, können den Stromverbrauch erhöhen, um den Bildschirm mit einer höheren Helligkeit zu betreiben.
Der Zustand des Bildschirms kann aufgrund der längeren Zeit, die im Modus mit hoher Helligkeit verbracht wird, beeinträchtigt werden, was zu langfristigen Problemen wie einem Einbrennen des Zustands des Bildschirms führen kann.
Validierung
OEMs können VTS-Tests verwenden, die Teil der HWC-Testsuite sind, um die Korrektheit der Dimmung zu überprüfen und das Dimmverhältnis des Eingangs 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 bestätigen, dass die Bildqualität von gedimmten SDR-Elementen akzeptabel ist. OEMs können Inhalte für HDR-Standards abspielen, die das Gerät über SurfaceView
unterstützt, um zu validieren, dass alle SDR-Elemente, die neben den HDR-Inhalten abgespielt werden, nicht zu hell werden.
Ausgaben
Das Dimmen von SDR-Bildern kann zu Black Crush oder Informationsverlust in dunkleren Bereichen des Originalbildes führen. Dies liegt daran, dass dunklere Farbwerte auf einen kleineren Satz dunkler Codes zusammenfallen.
Eine Implementierung zum Dimmen, die einen inakzeptablen Black Crush verursacht, muss Dithering-Algorithmen implementieren, die Rauschen in das endgültige Bild einbringen, so dass Banding-Effekte reduziert werden.
HWC-Implementierungen, die das Bild nicht an der entsprechenden Stelle in der Farbpipeline dithern können, müssen anfordern, dass der SurfaceFlinger 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. Das Dimmen auf sehr niedrige Helligkeitsstufen erfordert die Verwendung der GPU, was die Bildqualität verbessert, aber die Akkulaufzeit verringern kann.