android camera HAL v3.0中元数据及其控制

1.        Metadata support

Android framework层为了支持保存raw图像文件,增加了大量关于sensor特性的元数据。这些元数据包括大量信息,例如颜色空间和lens shading

camera子系统中,大多数元数据信息都是以静态属性的方式存在,因此在配置输出流水线或者提交请求之前获取这些元数据。在新的camera API中,通过getCameraInfo()方法向application极大地扩展了这些元数据信息。

另外,camera子系统的手动控制需要各类设备提供关于设备当前状态和捕获当前帧时所用的参数的反馈。硬件所使用的实际参数值(曝光时间,帧周期,敏感度)必须包括在输出的元数据中。这些信息对application是必须的,它可以知道clamping rounding何时发生,修正图像捕获的配置。

例如,如果application在某个请求中设置的帧周期是0HAL层必须将那个请求中的帧周期强制为真正的最小帧周期,然后将这个最小周期添加到输出结果的元数据中。

如果一个application要实现定制的3A事例(例如,HDR burst的某些检测),它需要知道所返回的结果中最新一帧的配置信息,以更新下一个请求的配置。因此,新的camera API为每一个捕获的帧添加了大量动态元数据。这些元数据包括这次捕获时设置的和实际使用的参数值,也包括每帧其他的元数据,比如时间戳和统计数据。

 

2.        Per-setting control

对于大多数设置,期望它们能够在每一帧都被改变,对输出帧数据流不会引入明显的卡顿或者延迟。理想情况下,输出帧率只受请求中帧周期字段的控制,不依赖于处理模块配置的改变。实际上,一些特殊控制可以使其变慢;这些控制包括camera流水线的输出分辨率和输出格式,以及影响物理设备的控制,例如镜头焦距。对于每个控制,精确的需求如下描述。

 

3.        Raw sensor data support

除了旧API所支持的像素格式,新的API增加了对raw sensor数据(Bayer RAW)的支持,高级camera application还支持raw图像文件的保存。

 

https://source.android.com/devices/camera/camera3_metadata.html#raw-sensor

 

你可能感兴趣的:(android,Camera,Camera,元数据,hal)