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