На этой странице описаны требования, конфигурация и проверка функции затемнения SDR-контента для смешанных композиций SDR и HDR.
В Android 13 улучшена поддержка одновременного отображения SDR и HDR-контента на экране за счет внедрения следующих функций:
Преобразование яркости HDR в тональный диапазон, совместимый с SDR.
Использование
libtonemapпозволяет обеспечить согласованность тонального отображения между Hardware Composer (HWC), SurfaceFlinger и приложениями. Производители оборудования могут реализовывать собственные кривые тонального отображения, которые будут использоваться совместно компонентами поставщика и фреймворка.Затемнение отображаемого на экране SDR-контента при одновременном показе с HDR-контентом.
При отображении HDR-контента яркость экрана увеличивается, чтобы соответствовать расширенному диапазону яркости HDR-контента. Любой SDR-контент, также отображаемый на экране, плавно затемняется по мере увеличения яркости экрана, так что воспринимаемая яркость SDR-контента не меняется. Производители могут настроить свои встроенные дисплеи таким образом, чтобы они затемняли отображаемый на экране SDR-контент при одновременном показе HDR-контента.
требования OEM
Для использования улучшенной композиции для контента HDR и SDR с помощью затемнения контента SDR необходимо выполнить следующие требования:
Реализуйте версию HWC на языке AIDL, которая включает поддержку аппаратного ускорения затемнения в цветовом конвейере устройства. Для реализации необходимых возможностей обратитесь к документации 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.
Производители оборудования должны проводить ручные тесты, чтобы убедиться в приемлемом качестве изображения затемненных элементов SDR. Производители могут воспроизводить контент, соответствующий стандартам HDR, поддерживаемым устройством, через SurfaceView , чтобы убедиться, что любые элементы SDR, воспроизводимые одновременно с контентом HDR, не становятся чрезмерно яркими.
Проблемы
Затемнение SDR-изображений может привести к «затемнению черного» или потере информации в более темных областях исходного изображения. Это происходит из-за того, что значения более темных цветов сводятся к меньшему набору темных кодов.
Для реализации затемнения, вызывающей неприемлемое искажение черного цвета, необходимо использовать алгоритмы дизеринга, которые вводят шум в итоговое изображение, чтобы уменьшить полосатость.
В реализациях HWC, которые не могут выполнить дизеринг изображения в соответствующем месте цветового конвейера, необходимо запросить у SurfaceFlinger применение затемнения и дизеринга на графическом процессоре.
В некоторых реализациях также можно регулировать значение параметра sdrHdrRatioMap для ограничения степени затемнения элементов SDR. Затемнение до очень низких уровней яркости требует использования графического процессора, что улучшает качество изображения, но может сократить время работы от батареи.