A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Ultra HDR
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O Android 14 oferece suporte para 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 saber mais 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 streams 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:
- Mínimo:nessa configuração, a saída Ultra HDR pela funcionalidade de transmissão composta
do serviço de câmera é desativada por padrão. Para ativar a
implementação de referência
JpegRCompositeStream
, defina a
propriedade do sistema ro.camera.enableCompositeAPI0JpegR
como true
. Como todos
os processos e a codificação são realizados no software, essa opção pode resultar em
maior latência e desempenho reduzido.
- 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 de dados, mas é relativamente menor
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 seu dispositivo, execute os seguintes testes.
Testes CTS
Testes de ITS
Testes manuais
Para realizar testes manuais, use a
implementação de exemplo para captura de imagem Ultra HDR,
que inclui suporte para a configuração e captura de Ultra HDR usando o
formato de imagem JPEG_R
.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-26 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-26 UTC."],[],[],null,["# Ultra HDR\n\nAndroid 14 provides support for capturing Ultra HDR\ncompressed images using the\n[`JPEG_R`](https://developer.android.com/reference/kotlin/android/graphics/ImageFormat#jpeg_r)\nimage format. This format is backward compatible with SDR JPEG images and\nsupports HDR rendering of content.\nFor details about the Ultra HDR format specification, see\n[Ultra HDR Image Format v1.0](https://developer.android.com/guide/topics/media/hdr-image-format).\n\nImplementation\n--------------\n\nThis section describes how to implement the Ultra HDR feature.\n\n### Reference implementation\n\nThe AOSP camera framework and camera service includes a reference Ultra HDR\nimplementation.\n\nIn addition to the reference functionality in the camera framework, you can\nimplement Ultra HDR within the camera HAL and advertise support for `JPEG_R`\noutput in the same way as other camera HAL output streams. In this scenario,\nthe camera HAL must generate the necessary recovery map and the final `JPEG_R`\nimage as defined by the\n[Ultra HDR specification](https://developer.android.com/guide/topics/media/hdr-image-format#introduction).\nYou can optimize and tune the final output depending on the device hardware\nand software capabilities.\n\n### Implementation options\n\nDevice manufacturers can decide on the following levels of Ultra HDR support for\ntheir devices:\n\n- **Minimal:** In this configuration, Ultra HDR output through the camera service composite stream functionality is disabled by default. To enable the `JpegRCompositeStream` reference implementation, set the `ro.camera.enableCompositeAPI0JpegR` system property to `true`. Because all processes and encoding is performed in software, this option can result in increased latency and decreased performance.\n- **Moderate:** With this option, the `JpegRCompositeStream` implementation uses a HAL-provided SDR JPEG file as a base image and a P010 frame to calculate a recovery map. This option involves software processing within the data path but is relatively minor compared to the minimal option.\n- **Extensive:** The camera HAL advertises and supports the `JPEG_R` output stream directly. This option lets device manufacturers implement device-specific optimizations and can provide significant image quality improvements.\n\nTo disable the `JpegRCompositeStream` implementation, set the\n`ro.camera.disableJpegR` build property to `true`. If this build property isn't\nset or is set to `false`, Ultra HDR is enabled by default through\n`JpegRCompositeStream` on devices supporting\n[10-bit output capability](https://developer.android.com/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT)\nand\n[concurrent 10 and 8-bit capture](https://developer.android.com/reference/android/hardware/camera2/params/DynamicRangeProfiles#getProfileCaptureRequestConstraints(long)).\n\nValidation\n----------\n\nTo validate the Ultra HDR feature on your device, run the following tests.\n\n### CTS tests\n\n- [`ImageReaderTest.java#testImageReaderBuilderWithBLOBAndJpegR`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#815)\n- [`ImageReaderTest.java#testJpegR`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#503)\n- [`ImageReaderTest.java#testJpegRDisplayP3`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/ImageReaderTest.java#526)\n- [`PerformanceTest.java#testSingleCapture`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/PerformanceTest.java#313)\n- [`StillCaptureTest.java# testJpegRCapture`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/tests/camera/src/android/hardware/camera2/cts/StillCaptureTest.java#192)\n\n### ITS tests\n\n- [`scene4#test_aspect_ratio_and_crop`](https://android.googlesource.com/platform/cts/+/refs/heads/android16-release/apps/CameraITS/tests/scene4/test_aspect_ratio_and_crop.py)\n\n### Manual tests\n\nTo perform manual tests, use the\n[sample implementation for Ultra HDR image capture](https://github.com/android/platform-samples/pull/56),\nwhich includes support for the configuration and capture of Ultra HDR using the\n`JPEG_R` image format."]]