O Android 14 oferece suporte para captura de imagens compactas Ultra HDR
usando o
JPEG_R
formato de imagem. Esse formato é compatível com versões anteriores de imagens SDR JPEG e oferece suporte para renderização de conteúdo HDR.
Para mais detalhes sobre a especificação do formato Ultra HDR, consulte
Ultra HDR Image Format v1.0 (link em inglês).
Implementação
Esta seção descreve como implementar o recurso Ultra HDR.
Implementação de referência
O framework da câmera e o serviço de câmera do AOSP incluem uma implementação de referência do Ultra HDR.
Além da funcionalidade de referência no framework da câmera, é possível implementar o Ultra HDR no HAL da câmera e anunciar o suporte à saída JPEG_R da mesma forma que outros fluxos de saída do HAL da câmera. Nesse cenário,
o HAL da câmera precisa gerar o mapa de recuperação necessário e a imagem JPEG_R
final, conforme definido pela
especificação Ultra HDR.
É possível otimizar e ajustar a saída final dependendo dos recursos de hardware e software do dispositivo.
Opções de implementação
Os fabricantes de dispositivos podem decidir sobre os seguintes níveis de suporte Ultra HDR para os dispositivos deles:
- Mínimo:nessa configuração, a saída Ultra HDR pela funcionalidade de fluxo composto do serviço de câmera fica desativada por padrão. Para ativar a implementação de referência
JpegRCompositeStream, defina a propriedade do sistemaro.camera.enableCompositeAPI0JpegRcomotrue. Como todos os processos e a codificação são realizados no software, essa opção pode resultar em maior latência e menor desempenho. - Moderado:com essa opção, a implementação
JpegRCompositeStreamusa um arquivo SDR JPEG fornecido pelo HAL como uma imagem de base e um frame P010 para calcular um mapa de recuperação. Essa opção envolve o processamento de software no caminho de dados, mas é relativamente menor em comparação com a opção mínima. - Extenso:o HAL da câmera anuncia e oferece suporte ao fluxo de saída
JPEG_Rdiretamente. Essa opção permite que os fabricantes de dispositivos implementem otimizações específicas do dispositivo e pode proporcionar melhorias significativas na qualidade da imagem.
Para desativar a implementação JpegRCompositeStream, defina a propriedade de build ro.camera.disableJpegR como true. Se essa propriedade de build não estiver
definida ou estiver definida como false, o Ultra HDR será ativado por padrão usando
JpegRCompositeStream em dispositivos que oferecem suporte à
capacidade de saída de 10 bits
e
captura simultânea de 10 e 8 bits.
Validação
Para validar o recurso Ultra HDR no dispositivo, execute os seguintes testes.
Testes CTS
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegRImageReaderTest.java#testJpegRImageReaderTest.java#testJpegRDisplayP3PerformanceTest.java#testSingleCaptureStillCaptureTest.java# testJpegRCapture
Testes ITS
Testes manuais
Para realizar testes manuais, use a
implementação de amostra para captura de imagens Ultra HDR,
que inclui suporte para a configuração e captura de Ultra HDR usando o
JPEG_R formato de imagem.