
Ryan Haynes / Autoridade Android
DR
- O Google está atualizando a biblioteca Jetpack CameraX para oferecer suporte à captura de imagens Ultra HDR.
- Ultra HDR é um novo formato de imagem introduzido no Android 14 que permite salvar versões SDR e HDR de uma imagem no mesmo arquivo.
- Atualmente, apenas aplicativos de câmera que usam a API Android Camera2 podem capturar imagens Ultra HDR.
Um dos avanços recentes mais interessantes na fotografia de smartphones é o verdadeiro suporte HDR. O processamento HDR em câmeras, com o qual você provavelmente já está familiarizado, usa essencialmente fotografia computacional e empilhamento de imagens para obter um efeito semelhante ao HDR, mas a imagem resultante ainda é SDR. No entanto, a partir do Android 14, alguns smartphones Android agora podem capturar fotos HDR verdadeiras usando um formato chamado Ultra HDR. No entanto, muitos aplicativos de terceiros com funcionalidade de câmera integrada não conseguem capturar fotos em Ultra HDR, mas espera-se que isso mude em breve.
Para quem não conhece, Ultra HDR é um formato de imagem criado pelo Google baseado no popular formato JPEG. Como as imagens Ultra HDR são baseadas em JPEGs, elas podem ser visualizadas em praticamente qualquer dispositivo, tenha ou não uma tela HDR. O que há de especial nas imagens Ultra HDR, entretanto, é que quando visualizadas em um dispositivo com tela HDR, você verá uma versão HDR da imagem, com cores mais vibrantes e contrastantes.
Isso é possível porque as imagens Ultra HDR são arquivos JPEG com mapas de ganho HDR incorporados em seus metadados. O aplicativo pode aplicar esse mapa à versão SDR base da imagem contida no arquivo. Este mapa de ganho HDR deve ser criado e armazenado nos metadados do arquivo JPEG quando a imagem é criada pela primeira vez, portanto, os aplicativos de câmera existentes devem ser atualizados para dar suporte a esta etapa. O Google criou uma API para aplicativos de câmera para fazer isso no Android 14, mas essa API faz parte do Camera2, não do CameraX, portanto sua adoção foi limitada.

Camera2 é uma API incluída na estrutura do sistema operacional Android destinada ao uso por aplicativos que implantam funcionalidades avançadas de câmera. Considere um aplicativo de câmera de terceiros completo que oferece controle de nível profissional sobre várias lentes. CameraX, por outro lado, é uma API que acompanha a biblioteca de suporte do Jetpack e se destina a aplicativos que só precisam de acesso à câmera para funcionalidades adjacentes. Considere um aplicativo de mídia social que permite tirar uma foto instantaneamente e compartilhá-la com seus amigos. Cabe ao desenvolvedor escolher qual API de câmera usar, mas novos recursos de câmera serão desenvolvidos primeiro para Camera2, então os desenvolvedores que dependem do CameraX terão que esperar até que o Google apresente o recurso. Alguns recursos do Camera2 não serão transferidos para o CameraX devido ao seu escopo simplificado, mas felizmente o suporte para captura Ultra HDR não é um desses recursos.
No início deste ano, o Google anunciou em sua conferência de desenvolvedores I/O 2024 que atualizaria sua biblioteca CameraX para oferecer suporte à captura de imagens Ultra HDR. Se você olhar as notas de lançamento da biblioteca CameraX, verá que o suporte inicial para captura Ultra HDR foi adicionado ao CameraX na versão 1.4.0-alpha05, lançada em abril. CameraX versão 1.4.0 apresenta uma nova API de formato de saída. ImageCapture e ImageCaptureCapabilities aula.

Mishal Rahman/Autoridade Android
Essas APIs incluem: getSupportedOutputFormats método de ImageCaptureCapabilities Consulte se o dispositivo pode capturar imagens Ultra HDR. Isso deve ser possível em dispositivos com Android 14 e superior, já que a biblioteca do codificador vem com essa versão do sistema operacional, mas não tenho 100% de certeza. Se o formato de saída for definido da seguinte forma OUTPUT_FORMAT_JPEG_ULTRA_HDR Em dispositivos que suportam captura de imagens Ultra HDR, a biblioteca CameraX captura imagens Ultra HDR no formato de imagem “JPEG/R”. (O “R” em “JPEG/R” significa “Mapa de recuperação” e refere-se ao mapa de ganho HDR incorporado no arquivo JPEG.)
Conforme observado na descrição da API, essas imagens serão exibidas perfeitamente como arquivos JPEG normais em aplicativos e dispositivos mais antigos com telas SDR, mas em aplicativos que foram totalmente atualizados para suportar o formato e os dispositivos serão exibidos como HDR. Poucos aplicativos suportam Ultra HDR no momento. Atualmente, apenas o Google Chrome tem suporte completo para Ultra HDR no Android e no desktop. Os dispositivos que podem exibir melhor imagens Ultra HDR incluem a série Galaxy S24 da Samsung, as séries Pixel 7 e Pixel 8 do Google, OnePlus 12 e Open e vários outros. Alguns PCs Windows mais recentes com telas HDR, como o Lenovo Yoga Slim 7X, também podem exibir imagens Ultra HDR.
É difícil explicar em palavras os benefícios das imagens Ultra HDR, por isso, se você tiver um dispositivo que possa exibi-las, recomendamos conferir algumas imagens pessoalmente. Esta é uma galeria de fotos Ultra HDR tiradas no campus da Qualcomm em San Diego usando o OnePlus Open. Graças ao Ultra HDR, essas imagens não têm a típica aparência “superprocessada” que ocorre com o processamento HDR em câmeras modernas. O aplicativo de câmera padrão no meu OnePlus Open capturou essas imagens Ultra HDR, mas esse recurso só foi adicionado recentemente após uma atualização OTA. Aplicativos de terceiros que usam a biblioteca Jetpack CameraX devem começar a salvar imagens no formato Ultra HDR assim que a versão 1.4.0 da biblioteca for lançada.

