Composición mixta SDR y HDR

Esta página describe los requisitos, la configuración y la validación de la función de atenuación de contenido SDR para composición mixta SDR y HDR.

Android 13 mejora la compatibilidad con la presentación simultánea de composiciones SDR y HDR en la pantalla al introducir las siguientes funciones:

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

    Usando libtonemap , el mapeo de tonos puede ser 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.

  • Atenuar el contenido SDR en pantalla cuando se presenta simultáneamente con contenido HDR.

    Cuando hay contenido HDR 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 perfectamente a medida que aumenta el brillo de la pantalla para que el brillo perceptivo del contenido SDR no cambie. Los OEM pueden configurar sus pantallas integradas para atenuar el contenido SDR en pantalla cuando se presenta junto con contenido HDR.

Requisitos OEM

Para utilizar la composición mejorada para contenido HDR y SDR mediante 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 canalización 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 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 mediante SurfaceFlinger, lo que provoca que se agote 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 duración de la batería, duración y fidelidad del contenido.

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

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

    Si se define sdrHdrRatioMap , 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 SDR no está habilitada, incluso si la implementación de HWC admite la atenuación SDR.

  • El elemento minimumHdrPercentOfScreen , con un valor que oscila entre 0 y 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 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 provocar las siguientes situaciones:

  • La fidelidad del contenido HDR reproducido en el dispositivo puede aumentar a medida que los elementos del 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 alto brillo pueden aumentar el consumo de energía para ejecutar la pantalla con un brillo más alto.

  • La salud de la pantalla puede verse afectada debido al mayor tiempo que se pasa en el modo de alto brillo, lo que puede causar problemas a largo plazo, como deterioro de la salud de la pantalla.

Validación

Los OEM pueden utilizar las pruebas VTS, que se incluyen como parte del conjunto de pruebas del 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 existen pruebas CTS o GTS que la respalden.

Los OEM 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 que admite el dispositivo a través de SurfaceView para validar que cualquier elemento SDR reproducido junto con el contenido HDR no se vuelva demasiado brillante.

Asuntos

La atenuación de las imágenes SDR puede provocar que el negro se aplaste o se pierda información en las áreas más oscuras de la imagen original. Esto se debe a que los valores de colores más oscuros colapsan en un conjunto más pequeño de códigos oscuros.

Una implementación de atenuación que provoque un aplastamiento de negros 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 disminuir la duración de la batería.