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