A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Ultra HDR
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Android 14 proporciona compatibilidad para capturar imágenes comprimidas Ultra HDR usando el formato de imagen JPEG_R
. Este formato es retrocompatible con imágenes JPEG SDR y admite la renderización HDR del contenido.
Para obtener más información sobre la especificación del formato Ultra HDR, consulta Ultra HDR Image Format v1.0.
Implementación
En esta sección, se describe cómo implementar la función Ultra HDR.
Implementación de referencia
El framework y el servicio de la cámara de AOSP incluyen una implementación de referencia de Ultra HDR.
Además de la funcionalidad de referencia en el framework de la cámara, puedes implementar Ultra HDR dentro de la HAL de la cámara y anunciar la compatibilidad con la salida de JPEG_R
de la misma manera que otras transmisiones de salida de la HAL de la cámara. En esta situación, el HAL de la cámara debe generar el mapa de recuperación necesario y la imagen JPEG_R
final como se define en la especificación de Ultra HDR.
Puedes optimizar y ajustar el resultado final según las capacidades de hardware y software del dispositivo.
Opciones de implementación
Los fabricantes de dispositivos pueden decidir los siguientes niveles de compatibilidad con Ultra HDR para sus dispositivos:
- Mínimo: En esta configuración, la salida de Ultra HDR a través de la funcionalidad de transmisión compuesta del servicio de la cámara está inhabilitada de forma predeterminada. Para habilitar la implementación de referencia
JpegRCompositeStream
, establece la propiedad del sistema ro.camera.enableCompositeAPI0JpegR
en true
. Debido a que todos los procesos y la codificación se realizan en software, esta opción puede aumentar la latencia y disminuir el rendimiento.
- Moderado: Con esta opción, la implementación de
JpegRCompositeStream
usa un archivo JPEG SDR proporcionado por HAL como imagen base y un fotograma P010 para calcular un mapa de recuperación. Esta opción implica el procesamiento de software dentro de la ruta de datos, pero es relativamente menor en comparación con la opción mínima.
- Extensiva: El HAL de la cámara anuncia y admite directamente la transmisión de salida
JPEG_R
. Esta opción permite a los fabricantes de dispositivos implementar optimizaciones específicas del dispositivo y puede proporcionar mejoras significativas en la calidad de la imagen.
Para inhabilitar la implementación de JpegRCompositeStream
, establece la propiedad de compilación ro.camera.disableJpegR
en true
. Si esta propiedad de compilación no está establecida o está configurada en false
, Ultra HDR se habilita de forma predeterminada a través de JpegRCompositeStream
en dispositivos compatibles con la capacidad de salida de 10 bits y la captura simultánea de 10 y 8 bits.
Validación
Para validar la función Ultra HDR en tu dispositivo, ejecuta las siguientes pruebas.
Pruebas de CTS
Pruebas de ITS
Pruebas manuales
Para realizar pruebas manuales, usa la
implementación de ejemplo para la captura de imágenes Ultra HDR,
que incluye compatibilidad con la configuración y captura de Ultra HDR con el formato de imagen JPEG_R
.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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."]]