O Android 14 oferece suporte à captura de imagens compactas Ultra HDR
usando o
formato de imagem
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 ver detalhes sobre a especificação de 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 streams de saí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:
- Mínimo:nesta configuração, a saída Ultra HDR por meio da funcionalidade de stream
composto do serviço da câmera é 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 executados em software, essa opção pode resultar no aumento da latência e na redução do desempenho. - Moderado:com essa opção, a implementação de
JpegRCompositeStream
usa um arquivo JPEG SDR fornecido pelo HAL como imagem de base e um frame P010 para calcular um mapa de recuperação. Essa opção envolve o processamento de software no caminho dos dados, mas é relativamente pequena em comparação com a opção mínima. - Extenso:a HAL da câmera anuncia e oferece suporte ao
fluxo de saída
JPEG_R
diretamente. Essa opção permite que os fabricantes de dispositivos implementem otimizações específicas para o dispositivo e pode oferecer melhorias significativas na qualidade da imagem.
Para desativar a implementação de 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 pelo
JpegRCompositeStream
em dispositivos com suporte ao
recurso 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, faça os testes abaixo.
Testes 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 imagem Ultra HDR,
que inclui suporte à configuração e captura de Ultra HDR usando o
formato de imagem JPEG_R
.