Composição com SDR e HDR

Esta página descreve os requisitos, a configuração e a validação do SDR recurso de escurecimento de conteúdo para composição mista em SDR e HDR.

O Android 13 melhora o suporte à visualização simultânea apresentar composições SDR e HDR na tela apresentando os seguintes recursos:

  • Mapeamento de tons da luminância HDR em um intervalo compatível com SDR.

    Usando libtonemap, é possível fazer o mapeamento de tons consistente entre o Hardware Composer (HWC), o SurfaceFlinger e os apps. OEMs podem implementam as próprias curvas de mapeamento de tons para serem compartilhadas os componentes do framework.

  • Escurecimento de conteúdo SDR na tela quando apresentado simultaneamente com HDR conteúdo.

    Quando o conteúdo HDR está na tela, o brilho da tela é aumentado para acomodar o maior intervalo de luminância do conteúdo HDR. Qualquer conteúdo SDR que também está na tela é escurecido conforme o brilho da tela aumenta para que o brilho perceptível do conteúdo SDR não mude. OEMs podem configurar as telas integradas para escurecer o conteúdo SDR na tela quando for apresentado ao lado de conteúdo HDR.

Requisitos de OEM

Para usar a composição aprimorada para conteúdo HDR e SDR usando conteúdo SDR esmaecimento, siga estes requisitos:

  • Implementar a versão AIDL do HWC, que inclui suporte para escurecimento acelerado por hardware no pipeline de cores do dispositivo. Consulte AIDL para HWC para implementar o funcionalidade de armazenamento.

  • O escurecimento preciso de sobreposições de hardware no hardware HWC exige hardware específico para dimensionar a luz linear das sobreposições. Implementações sem valores suficientes hardware é necessário para adiar a composição do SurfaceFlinger para a GPU, causando consumo elevado da bateria e possível escurecimento de baixa qualidade.

  • O dispositivo deve ser compatível com pelo menos uma tecnologia HDR informada por Display.getHdrCapabilities

.

Configuração

O recurso de composição de conteúdo SDR e HDR pode ser configurado de acordo com a as características do dispositivo de exibição integrado, para que a compensação entre duração da bateria, burn-in e fidelidade do conteúdo.

A ativação e o ajuste da composição aprimorada são feitos por meio de uma exibição com um esquema localizado em display-device-config.xsd. Os novos elementos-chave a seguir são importantes na configuração da exibição configuração:

  • O elemento sdrHdrRatioMap ativa o SDR escurecimento e define uma tabela de consulta (LUT) para mapear o brilho da tela para HDR será exibido no ponto branco do SDR quando houver conteúdo HDR na tela.

    Se sdrHdrRatioMap for definido, como parte do controle da tela, brilho, DisplayManagerService comunica o ponto branco SDR desejado ao o SurfaceFlinger para que ele possa enviar a proporção de escurecimento adequada por para a HWC.

    Se sdrHdrRatioMap não estiver definido, o escurecimento SDR não será ativado, mesmo se a implementação de HWC oferece suporte ao escurecimento de SDR.

  • O minimumHdrPercentOfScreen com um valor de 0 a 100, controla quando a alta o modo de brilho pode ser ativado. Com No Android 13, esse limite pode ser ajustado para ativar em mais situações, como em picture-in-picture. As versões anteriores do AOSP fixavam esse valor em 50%.

Confira os principais elementos da configuração de exibição no bloco de código abaixo:

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

Avisos

Ativar os recursos de mapeamento de tom e escurecimento de conteúdo SDR pode levar seguintes situações:

  • A fidelidade do conteúdo HDR reproduzido no dispositivo pode aumentar, à medida que o SDR elementos de conteúdo ficam esmaecidos.

  • A duração da bateria pode diminuir nos seguintes cenários:

    • As implementações de HWC que adiam operações de escurecimento para a GPU podem aumentar o uso da GPU.

    • As configurações de exibição que permitem um limite mais baixo para ativação o modo de alto brilho pode aumentar o consumo de energia ao executar a tela em um brilho.

  • A integridade da tela pode ser afetada devido ao aumento do tempo gasto no modo de brilho, o que pode causar problemas de longo prazo, como burn-in com a tela a integridade dos dados.

Validação

Os OEMs podem usar testes VTS, incluídos como parte do pacote de testes do HWC, para procurar correção de escurecimento e para validar a proporção de escurecimento da entrada.

A validação desse recurso depende do dispositivo. Por isso, não há CTS ou GTS testes para apoiar isso.

Os OEMS precisam executar testes manuais para validar a qualidade da imagem do SDR esmaecido. é aceitável. OEMs podem abrir conteúdo para padrões HDR que o dispositivo oferece suporte a mais de SurfaceView para validar se os elementos SDR foram reproduzidos junto com que o conteúdo em HDR não fique muito claro.

Problemas

Reduzir o brilho das imagens SDR pode resultar em crush negra ou perda de informações em imagens mais escuras áreas da imagem original. Isso ocorre porque os valores de cores mais escuras recolhem um conjunto menor de códigos obscuros.

Uma implementação de esmaecimento que causa esmagamentos pretos inaceitáveis deve implementar algoritmos de pontilhamento, que injetam ruído na imagem final para que efeitos de faixas são reduzidos.

Implementações HWC que não conseguem pontilhar a imagem no formato no pipeline de cores precisa solicitar que o SurfaceFlinger seja aplicado escurecimento e pontilhamento na GPU.

As implementações também podem ajustar o valor de sdrHdrRatioMap para limitar o a quantidade de escurecimento dos elementos SDR. Reduzindo o brilho para níveis de brilho muito baixos requer o uso da GPU, o que melhora a qualidade da imagem, mas pode diminuir duração da bateria.