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

    • Конфигурации дисплея, допускающие более низкий порог включения режима высокой яркости, могут увеличить энергопотребление при работе экрана на более высокой яркости.

  • Из-за увеличения времени работы в режиме высокой яркости может ухудшиться состояние экрана, что может привести к долгосрочным проблемам, таким как выгорание дисплея.

Проверка

Производители оригинального оборудования могут использовать тесты VTS, которые входят в набор тестов HWC, для проверки правильности регулировки яркости и подтверждения входного коэффициента регулировки яркости .

Проверка этой функции зависит от устройства, поэтому для ее подтверждения не существует тестов CTS или GTS.

OEM-производители должны проводить ручные тесты, чтобы убедиться в приемлемом качестве изображения затемнённых SDR-элементов. OEM-производители могут воспроизводить контент в HDR-стандартах, поддерживаемых устройством, через SurfaceView , чтобы убедиться, что SDR-элементы, воспроизводимые одновременно с HDR-контентом, не становятся слишком яркими.

Проблемы

Затемнение SDR-изображений может привести к эффекту «черного сдавливания» (black crushing ), или потере информации в темных областях исходного изображения. Это происходит из-за того, что более темные цветовые значения сжимаются в меньший набор темных кодов.

Реализация затемнения, вызывающая неприемлемое подавление черного, должна реализовывать алгоритмы дизеринга, которые вводят шум в конечное изображение, чтобы уменьшить эффект полос.

Реализации HWC, которые не могут выполнить сглаживание изображения в соответствующем месте цветового конвейера, должны запросить, чтобы SurfaceFlinger применил затемнение и сглаживание на графическом процессоре.

Реализации также могут регулировать значение sdrHdrRatioMap , чтобы ограничить степень затемнения SDR-элементов. Затемнение до очень низких уровней яркости требует использования графического процессора, что улучшает качество изображения, но может сократить время работы от аккумулятора.