Composición mixta SDR y HDR

En esta página, se describen los requisitos, la configuración y la validación de la función de atenuación de contenido SDR para una composición mixta SDR y HDR.

Android 13 mejora la compatibilidad para presentar simultáneamente la composición SDR y HDR en la pantalla mediante la introducción de las siguientes funciones:

  • Mapeo de tonos de luminancia HDR a un rango compatible con SDR.

    Con libtonemap , el mapeo de tonos se puede hacer consistente entre Hardware Composer (HWC), SurfaceFlinger y las aplicaciones. Los OEM pueden implementar sus propias curvas de mapeo de tonos para compartirlas entre el proveedor y los componentes del marco.

  • Atenuación del contenido SDR en pantalla cuando se presenta simultáneamente con contenido HDR.

    Cuando el contenido HDR está en la pantalla, el brillo de la pantalla aumenta para adaptarse al mayor rango de luminancia del contenido HDR. Cualquier contenido SDR que también esté en la pantalla se atenúa sin problemas a medida que aumenta el brillo de la pantalla para que el brillo perceptible del contenido SDR no cambie. Los OEM pueden configurar sus pantallas integradas para atenuar el contenido SDR en pantalla cuando se presenta junto con el contenido HDR.

Requisitos de OEM

Para usar la composición mejorada para contenido HDR y SDR a través de la atenuación de contenido SDR, siga estos requisitos:

  • Implemente la versión AIDL de HWC, que incluye soporte para atenuación acelerada por hardware en la tubería de color del dispositivo. Consulte AIDL para HWC para implementar la funcionalidad requerida.

  • La atenuación precisa de las superposiciones de hardware en el HWC requiere un hardware específico para escalar la luz lineal de las superposiciones. Se requieren implementaciones sin suficiente hardware para diferir la composición a la GPU de SurfaceFlinger, lo que provoca el agotamiento de la batería y una posible atenuación de baja calidad.

  • El dispositivo debe admitir al menos una tecnología HDR informada por Display.getHdrCapabilities .

Configuración

La función de composición de contenido mixto SDR y HDR se puede configurar de acuerdo con las características del dispositivo de visualización incorporado, de modo que se establezca el equilibrio entre la duración de la batería, el tiempo de grabación y la fidelidad del contenido.

La habilitación y ajuste de la composición mejorada se realiza a través de una configuración de visualización cuyo esquema se encuentra en display-device-config.xsd . Los siguientes elementos clave nuevos son importantes para establecer la configuración de la pantalla:

  • El elemento sdrHdrRatioMap habilita la atenuación SDR y define una tabla de búsqueda (LUT) para mapear el brillo de la pantalla para que HDR se muestre en el punto blanco SDR cuando hay contenido HDR en la pantalla.

    Si se define sdrHdrRatioMap , entonces, como parte del control del brillo de la pantalla, DisplayManagerService comunica el punto blanco SDR deseado a SurfaceFlinger para que SurfaceFlinger pueda enviar la relación de atenuación adecuada por capa al HWC.

    Si sdrHdrRatioMap no está definido, la atenuación de SDR no está habilitada, incluso si la implementación de HWC admite la atenuación de SDR.

  • El elemento minimumHdrPercentOfScreen , con un valor que va de 0 a 100, controla cuándo se permite activar el modo de alto brillo de un panel. Con Android 13, este umbral se puede ajustar para habilitar el modo de alto brillo en más situaciones, como escenarios de imagen en imagen. Las versiones anteriores de AOSP han fijado este valor en un 50 %.

Consulte el siguiente bloque de código para conocer los elementos clave de la configuración de la pantalla:

<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>

Advertencias

Habilitar las funciones de asignación de tonos y atenuación de contenido SDR puede dar lugar a las siguientes situaciones:

  • La fidelidad del contenido HDR reproducido en el dispositivo puede aumentar, ya que los elementos de contenido SDR se atenúan.

  • La duración de la batería puede disminuir en los siguientes escenarios:

    • Las implementaciones de HWC que difieren las operaciones de atenuación a la GPU pueden provocar un mayor uso de la GPU.

    • Las configuraciones de pantalla que permiten un umbral más bajo para habilitar el modo de brillo alto pueden aumentar el consumo de energía para hacer funcionar la pantalla con un brillo más alto.

  • El estado de la pantalla puede verse afectado debido al mayor tiempo que se pasa en el modo de brillo alto, lo que puede causar problemas a largo plazo, como el desgaste del estado de la pantalla.

Validación

Los OEM pueden usar las pruebas VTS, que se incluyen como parte del conjunto de pruebas de HWC, para verificar la corrección de la atenuación y validar la relación de atenuación de entrada .

La validación de esta función depende del dispositivo, por lo que no hay pruebas CTS o GTS que la respalden.

Los OEMS deben ejecutar pruebas manuales para validar que la calidad de imagen de los elementos SDR atenuados es aceptable. Los OEM pueden reproducir contenido para los estándares HDR compatibles con el dispositivo en SurfaceView para validar que los elementos SDR que se reproduzcan junto con el contenido HDR no se vuelvan demasiado brillantes.

Problemas

Atenuar las imágenes SDR puede resultar en un aplastamiento negro o pérdida de información en las áreas más oscuras de la imagen original. Esto se debe a que los valores de color más oscuros colapsan en un conjunto más pequeño de códigos oscuros.

Una implementación para la atenuación que provoque un aplastamiento del negro inaceptable debe implementar algoritmos de tramado, que inyectan ruido en la imagen final para reducir los efectos de bandas.

Las implementaciones de HWC que no pueden difuminar la imagen en la ubicación adecuada en la canalización de color deben solicitar que SurfaceFlinger aplique atenuación y difuminado en la GPU.

Las implementaciones también pueden ajustar el valor de sdrHdrRatioMap para limitar la cantidad de atenuación de los elementos SDR. La atenuación a niveles de brillo muy bajos requiere el uso de la GPU, lo que mejora la calidad de la imagen pero puede reducir la duración de la batería.