На этой странице описаны требования, конфигурация и проверка функции затемнения контента 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, которые перекладывают операции затемнения на графический процессор, могут привести к увеличению использования графического процессора.
Конфигурации дисплея, допускающие более низкий порог включения режима высокой яркости, могут увеличить энергопотребление при работе экрана с более высокой яркостью.
Состояние экрана может ухудшиться из-за увеличения времени, проведенного в режиме высокой яркости, что может вызвать долгосрочные проблемы, такие как выгорание дисплея.
Валидация
OEM-производители могут использовать тесты VTS, которые включены в набор тестов HWC, для проверки правильности регулировки яркости и проверки входного коэффициента регулировки яркости .
Проверка этой функции зависит от устройства, поэтому не существует тестов CTS или GTS для ее поддержки.
OEM-производители должны проводить ручные тесты, чтобы убедиться в приемлемости качества изображения затемненных элементов SDR. OEM-производители могут воспроизводить контент для стандартов HDR, которые поддерживает устройство, через SurfaceView
чтобы убедиться, что любые элементы SDR, воспроизводимые вместе с HDR-контентом, не становятся слишком яркими.
Проблемы
Затемнение изображений SDR может привести к появлению черного цвета или потере информации в более темных областях исходного изображения. Это связано с тем, что более темные цветовые значения сжимаются в меньший набор темных кодов.
Реализация затемнения, вызывающая неприемлемое раздавливание черного цвета, должна реализовывать алгоритмы сглаживания, которые вводят шум в окончательное изображение, чтобы уменьшить эффекты полос.
Реализации HWC, которые не могут выполнять сглаживание изображения в соответствующем месте цветового конвейера, должны запросить, чтобы SurfaceFlinger применял затемнение и сглаживание на графическом процессоре.
Реализации также могут регулировать значение sdrHdrRatioMap
, чтобы ограничить степень затемнения для элементов SDR. Для уменьшения яркости до очень низких уровней требуется использование графического процессора, что улучшает качество изображения, но может сократить срок службы батареи.