Смешанная композиция SDR и HDR

На этой странице описаны требования, конфигурация и проверка функции затемнения контента 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. Для уменьшения яркости до очень низких уровней требуется использование графического процессора, что улучшает качество изображения, но может сократить срок службы батареи.