O Android 14 oferece suporte para captura de imagens compactas Ultra HDR
usando o
formato
JPEG_R
. Esse formato é compatível com versões anteriores de imagens SDR JPEG e
oferece suporte para renderização de conteúdo HDR.
Para detalhes sobre a especificação do formato Ultra HDR, consulte
Formato de imagem Ultra HDR v1.0.
Implementação
Esta seção descreve como implementar o recurso Ultra HDR.
Implementação de referência
O framework 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 na HAL da câmera e anunciar o suporte à saída JPEG_R
da mesma forma que outros fluxos de saída da HAL da câmera. Nesse cenário, a 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 ao Ultra HDR para os dispositivos deles:
- Mínima: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.enableCompositeAPI0JpegR
comotrue
. Como todos os processos e a codificação são realizados em software, essa opção pode resultar em aumento da latência e redução do desempenho. - Moderada:com essa opção, a implementação do
JpegRCompositeStream
usa um arquivo JPEG SDR fornecido pela 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 pequena em comparação com a opção mínima. - Extensa:a HAL da câmera anuncia e oferece suporte ao
fluxo de saída
JPEG_R
diretamente. Com essa opção, os fabricantes de dispositivos implementam otimizações específicas do dispositivo e podem oferecer melhorias significativas na qualidade da imagem.
Para desativar a implementação do 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 compatíveis com 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 seguintes testes.
Testes do CTS
ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR
ImageReaderTest.java#testJpegR
ImageReaderTest.java#testJpegRDisplayP3
PerformanceTest.java#testSingleCapture
StillCaptureTest.java# testJpegRCapture
Testes de 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
formato de imagem JPEG_R
.