На этой странице описываются требования, конфигурация и проверка функции затемнения контента SDR для смешанной композиции SDR и HDR.
В Android 13 улучшена поддержка одновременного отображения SDR- и HDR-композиций на экране за счет внедрения следующих функций:
Тональное отображение яркости HDR в диапазон, совместимый с SDR.
Используя
libtonemap
, можно добиться согласованности тональной компрессии между Hardware Composer (HWC), SurfaceFlinger и приложениями. OEM-производители могут реализовывать собственные кривые тональной компрессии, которые будут использоваться совместно вендорами и компонентами фреймворка.Затемнение SDR-контента на экране при одновременном отображении с HDR-контентом.
При отображении HDR-контента на экране яркость экрана увеличивается, чтобы соответствовать расширенному диапазону яркости HDR-контента. Любой SDR-контент, также отображаемый на экране, плавно затемняется по мере увеличения яркости экрана, так что воспринимаемая яркость SDR-контента не меняется. OEM-производители могут настроить свои встроенные дисплеи для затемнения SDR-контента при отображении его одновременно с HDR-контентом.
Требования OEM
Чтобы использовать улучшенную композицию для HDR- и SDR-контента посредством затемнения SDR-контента, выполните следующие требования:
Реализуйте версию AIDL HWC, которая включает поддержку аппаратного ускорения диммирования в цветовом конвейере устройства. Для реализации необходимых возможностей обратитесь к AIDL для HWC .
Точное аппаратное затемнение оверлеев в HWC требует специального оборудования для масштабирования линейного освещения оверлеев. Реализации без достаточного аппаратного обеспечения требуют откладывать компоновку на графический процессор с помощью SurfaceFlinger, что приводит к разрядке батареи и возможному низкому качеству затемнения.
Устройство должно поддерживать как минимум одну технологию HDR, указанную
Display.getHdrCapabilities
.
Конфигурация
Функцию составления смешанного SDR- и HDR-контента можно настроить в соответствии с характеристиками встроенного устройства отображения, чтобы установить компромисс между временем работы батареи, выгоранием и точностью воспроизведения контента.
Включение и настройка улучшенной композиции осуществляется через конфигурацию отображения, схема которой находится в display-device-config.xsd
. Следующие новые ключевые элементы важны для настройки конфигурации отображения:
Элемент
sdrHdrRatioMap
включает SDR-димминг и определяет таблицу соответствия (LUT) для сопоставления яркости экрана для отображения HDR с точкой белого SDR при наличии на экране HDR-контента.Если определено
sdrHdrRatioMap
, то в рамках управления яркостью экранаDisplayManagerService
передает желаемую точку белого SDR в SurfaceFlinger, чтобы SurfaceFlinger мог отправить соответствующий коэффициент затемнения для каждого слоя в HWC.Если
sdrHdrRatioMap
не определен, SDR-диммирование не будет включено, даже если реализация HWC поддерживает SDR-диммирование.Элемент
minimumHdrPercentOfScreen
, значение которого может варьироваться от 0 до 100, определяет, когда разрешено включение режима высокой яркости панели. В Android 13 этот порог можно настроить, чтобы включить режим высокой яркости в большем количестве ситуаций, например, в режимах «картинка в картинке». В предыдущих версиях AOSP это значение было фиксированным и составляло 50%.
Ключевые элементы конфигурации дисплея см. в следующем блоке кода:
<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>
Предостережения
Включение функций тональной компрессии и затемнения контента SDR может привести к следующим ситуациям:
Точность воспроизведения HDR-контента на устройстве может повыситься, поскольку элементы SDR-контента затемняются.
Срок службы батареи может сократиться в следующих случаях:
Реализации HWC, которые передают операции по регулированию яркости графическому процессору, могут привести к увеличению его использования.
Конфигурации дисплея, допускающие более низкий порог включения режима высокой яркости, могут увеличить энергопотребление при работе экрана на более высокой яркости.
Из-за увеличения времени работы в режиме высокой яркости может ухудшиться состояние экрана, что может привести к долгосрочным проблемам, таким как выгорание дисплея.
Проверка
Производители оригинального оборудования могут использовать тесты VTS, которые входят в набор тестов HWC, для проверки правильности регулировки яркости и подтверждения входного коэффициента регулировки яркости .
Проверка этой функции зависит от устройства, поэтому для ее подтверждения не существует тестов CTS или GTS.
OEM-производители должны проводить ручные тесты, чтобы убедиться в приемлемом качестве изображения затемнённых SDR-элементов. OEM-производители могут воспроизводить контент в HDR-стандартах, поддерживаемых устройством, через SurfaceView
, чтобы убедиться, что SDR-элементы, воспроизводимые одновременно с HDR-контентом, не становятся слишком яркими.
Проблемы
Затемнение SDR-изображений может привести к эффекту «черного сдавливания» (black crushing ), или потере информации в темных областях исходного изображения. Это происходит из-за того, что более темные цветовые значения сжимаются в меньший набор темных кодов.
Реализация затемнения, вызывающая неприемлемое подавление черного, должна реализовывать алгоритмы дизеринга, которые вводят шум в конечное изображение, чтобы уменьшить эффект полос.
Реализации HWC, которые не могут выполнить сглаживание изображения в соответствующем месте цветового конвейера, должны запросить, чтобы SurfaceFlinger применил затемнение и сглаживание на графическом процессоре.
Реализации также могут регулировать значение sdrHdrRatioMap
, чтобы ограничить степень затемнения SDR-элементов. Затемнение до очень низких уровней яркости требует использования графического процессора, что улучшает качество изображения, но может сократить время работы от аккумулятора.