O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Saída de câmera de 10 bits

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Para dispositivos que executam o Android 13 e superior, o Android é compatível com saída de câmera de 10 bits por meio de perfis de faixa dinâmica que podem ser configurados pelo cliente da câmera como parte da configuração de fluxo. Os fabricantes de dispositivos podem adicionar suporte para perfis de faixa dinâmica de 10 bits, como HLG10, HDR 10, HDR 10+ e Dolby Vision.

O suporte de saída de câmera de 10 bits permite que os clientes da câmera descubram os perfis de intervalo dinâmico de 10 bits suportados de um dispositivo chamando getSupportedProfiles . A estrutura então retorna uma instância de DynamicRangeProfiles , que inclui informações sobre perfis de intervalo dinâmico com suporte e, se disponível, restrições de solicitação de captura. O perfil HLG10 deve ser suportado. O perfil de intervalo dinâmico recomendado está listado no campo REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE .

Os clientes de câmera podem configurar combinações de fluxo chamando setDynamicRangeProfile . Para obter mais informações sobre combinações obrigatórias de fluxo de saída, consulte a tabela de configurações garantidas adicionais de saída de 10 bits em Captura regular .

Requisitos

Para suportar a saída de câmera de 10 bits, o dispositivo deve ter um sensor de câmera com capacidade de 10 bits ou superior com o respectivo suporte ao ISP. Para obter detalhes sobre os requisitos de compatibilidade relacionados para suporte de 10 bits, consulte a seção 7.5. Câmeras no CDD.

Implementação

Para fornecer suporte para saída de câmera de 10 bits, os fabricantes de dispositivos devem realizar as seguintes integrações de Camera AIDL HAL:

  • Inclua ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT nos recursos da câmera.
  • Preencha ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP com todos os perfis de intervalo dinâmico com suporte e um bitmap de suas restrições. O perfil HLG10 deve ser suportado. Você também deve incluir um perfil de intervalo dinâmico recomendado para informar os clientes da câmera sobre o formato compatível ideal.
  • Garanta o suporte para o valor do perfil de intervalo dinâmico durante a configuração de fluxo para fluxos usando o formato P010 ou suporte para um formato definido pela implementação ( ImageFormat.PRIVATE ).
  • Dependendo do perfil de alcance dinâmico, defina o buffer de metadados estático ou dinâmico dos buffers Gralloc 4 processados ​​antes de notificar o serviço de câmera.

Para obter mais detalhes sobre a saída da câmera de 10 bits no Camera HAL, consulte o seguinte em metadata_definitions.xml :

Para obter uma implementação de referência de Camera HAL com suporte para saída de câmera de 10 bits, consulte /hardware/google/camera/devices/EmulatedCamera/hwl .

Validação

Para validar sua implementação de saída de câmera de 10 bits e garantir que aplicativos de terceiros possam ativar o recurso, recomendamos realizar os três estágios de validação a seguir.

Para validação visual da saída da câmera de 10 bits, supõe-se que o dispositivo seja compatível com a exibição de HDR (exibição de mais de 1.000 nits) e o aplicativo de visualização de vídeo (por exemplo, Google Fotos) seja compatível com a reprodução de vídeo HDR.

Testar a correção funcional da API

Para testar a correção funcional da API da saída da câmera de 10 bits, execute os seguintes testes CTS, ITS da câmera e VTS:

Compare a câmera nativa e o aplicativo de terceiros

É altamente recomendável garantir que os resultados da captura de vídeos de 10 bits com um aplicativo de terceiros sejam semelhantes, se não idênticos, ao aplicativo de câmera nativo. Isso significa que as opções de ajuste, como exposição, faixa dinâmica e cor, devem ser transferidas do aplicativo nativo para aplicativos de terceiros. Para verificar o comportamento de gravação de vídeo de um aplicativo de terceiros compatível com saída de câmera de 10 bits em seu dispositivo, use o aplicativo de exemplo Camera2Video no GitHub. A orientação a seguir serve para ilustrar os aspectos visíveis do HDR sem números objetivos, devido à variabilidade de sensores, painéis, condições de visualização e preferências do fornecedor.

Cenas sugeridas para comparação

Para fazer uma comparação entre o aplicativo de câmera nativo e um aplicativo de terceiros, capture vídeos usando várias cenas diferentes com o aplicativo de câmera nativo e o aplicativo de exemplo Camera2Video. A seguir estão cenas sugeridas para usar para comparação:

  • Uma cena de luz média a baixa com um objeto brilhante, como uma vela ou uma pequena luz brilhante, que cria uma faixa significativa de brilho. Isso confirma o comportamento da exposição automática e a faixa dinâmica.
  • Uma cena ao ar livre brilhante com cores vibrantes e objetos refletivos, como pára-choques cromados em um carro, que cria destaques brilhantes. Isso confirma a renderização de cenas brilhantes com realces ainda mais brilhantes.
  • Uma cena de alcance médio e baixo alcance dinâmico, como uma cena natural interna em uma casa ou escritório. Isso confirma que condições de iluminação menos extremas se comportam como esperado.

Para todas as cenas, recomendamos ter pessoas e rostos para verificar a exposição, cor e manuseio do tom de pele. Reduzir a variação de tiro a tiro facilita as comparações consecutivas.

Compare a faixa dinâmica padrão e a faixa dinâmica alta

Para garantir que haja um benefício percebido de usar um perfil de faixa dinâmica de 10 bits em um perfil de faixa dinâmica padrão, compare as capturas de vídeo usando SDR (sem perfil HDR) com vídeos HDR para confirmar que os principais aspectos de HDR aparecem nas capturas. Para comparar SDR e HDR, use o aplicativo de exemplo Camera2Video e as cenas sugeridas para comparar o aplicativo de câmera nativo e aplicativos de terceiros.

A seguir, são apresentados os principais aspectos a serem verificados nas cenas sugeridas. Os painéis de exibição capazes de HDR variam em níveis de brilho (medidos em nits ou lúmens), portanto, os números a seguir são exemplos:

  • Na cena de luz média a baixa, os destaques brilhantes da vela ou luz pequena são renderizados com brilho máximo para a tela (possivelmente até 1000 nits) no clipe HDR e renderizados com brilho máximo para SDR (aproximadamente 100 nits) nits) no clipe SDR. No clipe HDR, os destaques brilhantes devem brilhar na tela, capturando a percepção do usuário sobre qual era a verdadeira faixa dinâmica da cena. Comparado ao clipe HDR, o clipe SDR deve parecer mais plano e menos brilhante.
  • Na cena de saída brilhante, dependendo do ajuste do dispositivo, o clipe HDR mostra uma aparente diferença no brilho da tela em comparação com o clipe SDR. Para o clipe HDR, o brilho da tela para a cena geral (dependendo do headroom) deve ser maior, por exemplo, até 800 nits, e ainda mais para os destaques brilhantes, como os pára-choques cromados, em torno do brilho máximo.
  • Na captura interna de alcance médio e baixo alcance dinâmico, os clipes HDR e SDR são semelhantes em cor e tom, com a captura HDR sendo potencialmente mais brilhante que o SDR. O HDR não deve ser mais escuro que o SDR. Se as opções de ajuste tornarem isso impossível, certifique-se de que o comportamento do aplicativo de terceiros corresponda ao comportamento do aplicativo de câmera nativo.