Ultra HDR

Android 14 支持使用 JPEG_R 图像格式捕获 Ultra HDR 压缩图像。此格式向后兼容 SDR JPEG 图像,并支持 HDR 内容渲染。有关 Ultra HDR 格式规范的详细信息,请参阅 Ultra HDR 图像格式 v1.0

实现

本节介绍如何实现 Ultra HDR 功能。

参考实现

AOSP 相机框架和相机服务包含 Ultra HDR 参考实现。

除了相机框架中的参考功能外,您还可以在相机 HAL 中实现 Ultra HDR,并宣传对 JPEG_R 输出的支持,方式与其他相机 HAL 输出流相同。在这种情况下,相机 HAL 必须生成必要的恢复图和最终 JPEG_R 图像,如 Ultra HDR 规范 定义的那样。您可以根据设备硬件和软件功能优化和调整最终输出。

实现选项

设备制造商可以为其设备决定以下级别的 Ultra HDR 支持

  • 最低: 在此配置中,默认情况下禁用通过相机服务复合流功能的 Ultra HDR 输出。要启用 JpegRCompositeStream 参考实现,请将 ro.camera.enableCompositeAPI0JpegR 系统属性设置为 true。由于所有处理和编码都在软件中执行,因此此选项可能会导致延迟增加和性能下降。
  • 中等: 使用此选项,JpegRCompositeStream 实现使用 HAL 提供的 SDR JPEG 文件作为基础图像,并使用 P010 帧来计算恢复图。此选项涉及数据路径中的软件处理,但与最低选项相比相对较小。
  • 广泛: 相机 HAL 直接宣传和支持 JPEG_R 输出流。此选项允许设备制造商实施特定于设备的优化,并可以显著提高图像质量。

要禁用 JpegRCompositeStream 实现,请将 ro.camera.disableJpegR 构建属性设置为 true。如果未设置此构建属性或将其设置为 false,则在支持 10 位输出功能并发 10 位和 8 位捕获 的设备上,默认情况下通过 JpegRCompositeStream 启用 Ultra HDR。

验证

要验证设备上的 Ultra HDR 功能,请运行以下测试。

CTS 测试

ITS 测试

手动测试

要执行手动测试,请使用 Ultra HDR 图像捕获的示例实现,其中包括支持使用 JPEG_R 图像格式配置和捕获 Ultra HDR。