高动态范围模式

Camera2 API 中提供了各种高动态范围 (HDR) 拍摄形式。本页面介绍了 HDR 的各种功能和模式,以及它们如何因特定 API 而异。

HDR 静态拍摄

HDR 静态拍摄功能封装了各种用于改善移动相机动态范围的算法。

对于 Android 13 及更高版本,10 位相机输出 capability 支持 10 位相机输出。通过 HDR 动态范围 DynamicRangeProfiles 类,相机客户端可以配置能够生成具有实际 10 位像素格式和相应 10 位传递函数的帧的相机输出。使用 HDR 动态范围配置文件的 10 位相机输出配置仅支持扩展后的物理位深。10 位相机输出配置可以将以下模式与 HDR 场景模式结合使用:

  • 使用 P010 像素格式的 10 位未压缩静态拍摄。
  • 根据 Ultra HDR 规范,使用 JPEG_R 像素格式的 HDR 压缩静态拍摄。

对于搭载 Android 12 或更低版本的设备,HDR 静态拍摄方法涉及处理帧,有时它会压缩到标准的 8 位动态范围。下面是 HDR 静态拍摄方法,其中系统会捕获具有不同曝光的多个帧,并通过融合各个图片来生成最终的 HDR 结果:

  • HDR 场景模式:该模式在相机 HAL 层实现。如果受支持,相机客户端可在常规相机拍摄请求中设置此模式。
  • HDR 扩展类型:建议用于高对比度场景。与常规拍摄会话相比,可使用具有有限功能的拍摄会话。在同一设备上,相机扩展程序生成的图片质量可能会高于常规拍摄请求。

HDR 视频录制

与 HDR 静态拍摄相比,HDR 视频仅指 HDR 视频拍摄(10 位视频录制)