O Android 14 oferece suporte para captura de imagens compactadas Ultra HDR usando o formato de imagem JPEG_R
. Este formato é compatível com versões anteriores de imagens SDR JPEG e oferece suporte à renderização de conteúdo HDR. Para obter detalhes sobre a especificação do formato Ultra HDR, consulte Ultra HDR Image Format v1.0 .
Implementação
Esta seção descreve como implementar o recurso Ultra HDR.
Implementação de referência
A estrutura de câmera AOSP e o serviço de câmera incluem uma implementação de referência Ultra HDR.
Além da funcionalidade de referência na estrutura da câmera, você pode implementar Ultra HDR no HAL da câmera e anunciar suporte para saída JPEG_R
da mesma forma que outros fluxos de saída HAL da câmera. Neste cenário, o HAL da câmera deve gerar o mapa de recuperação necessário e a imagem JPEG_R
final conforme definido pela especificação Ultra HDR . Você pode 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 seus dispositivos:
- Mínimo: nesta configuração, a saída Ultra HDR por meio da funcionalidade de fluxo composto do serviço de câmera está desabilitada por padrão. Para ativar a implementação de referência
JpegRCompositeStream
, configure a propriedade do sistemaro.camera.enableCompositeAPI0JpegR
comotrue
. Como todos os processos e codificação são executados em software, esta opção pode resultar em aumento de latência e diminuição de desempenho. - Moderado: com esta opção, a implementação
JpegRCompositeStream
usa um arquivo SDR JPEG fornecido pela HAL como imagem base e um quadro P010 para calcular um mapa de recuperação. Esta opção envolve processamento de software dentro do caminho de dados, mas é relativamente menor em comparação com a opção mínima. - Extenso: A câmera HAL anuncia e suporta o fluxo de saída
JPEG_R
diretamente. Esta opção permite que os fabricantes de dispositivos implementem otimizações específicas do dispositivo e pode fornecer melhorias significativas na qualidade da imagem.
Para desativar a implementação JpegRCompositeStream
, configure a propriedade de compilação ro.camera.disableJpegR
como true
. Se esta propriedade de compilação não estiver definida ou estiver definida como false
, o Ultra HDR será habilitado por padrão por meio de JpegRCompositeStream
em dispositivos que suportam 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 seu dispositivo, execute os testes a seguir.
Testes CTS
-
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
-
ImageReaderTest.java#testJpegR
-
ImageReaderTest.java#testJpegRDisplayP3
-
PerformanceTest.java#testSingleCapture
-
StillCaptureTest.java# testJpegRCapture
Testes ITS
Testes manuais
Para realizar testes manuais, use o exemplo de implementação para captura de imagem Ultra HDR , que inclui suporte para configuração e captura de Ultra HDR usando o formato de imagem JPEG_R
.