搜索
 找回密码
 立即注册

简单一步 , 微信登陆

Camera V4L2 驱动概述

作者:laowai_love | 时间:2016-12-22 09:37:56 | 阅读:4814| 只看该作者
1 CAMERA驱动架
Camera驱动基于V4L2框架进行编写。
1.1 V4l2框架结构
V4L2系统中主要由三个核心部分组成:COMIP VIDEO、ISP Device、sensor/V4L2subdevice。COMIP VIDEO直接跟user层进行交互,user层通过文件fd ioctl操作将控制命令发送到COMIP VIDEO中注册的Video Device中,在Video Device的操作集中,会根据当前摄像头是否Bypass以及具体情况把控制命令分发到ISP Device或者sensor中去分别处理。
1.2 SubDevice 操作集1.2.1 core操作集函数说明1.2.1.1 g_chip_ident
获取sensor的ID和Revision信息。
1.2.1.2 g_ctrl
获取sensor control的value值。
1.2.1.3 s_ctrl
设置sensor control的value值。对于bypass类型的sensor,需要在此函数实现各种需要的效果设置。
1.2.1.4 queryctrl
查询某个sensor control的具体属性,包括名字,初始默认值,最小值,最大值等等。
1.2.1.5 reset将sensor复位。
1.2.1.6 init
sensor初始化。
1.2.2 Video操作集函数说明
1.2.2.1 enum_mbus_fmt
枚举sensor支持的所有输出色彩空间的格式,比如rgb或者是yuv422 yuv420等等。
1.2.2.2 try_mbus_fmt
询问设置的输出格式sensor是否能支持,格式信息包括色彩空间、宽高尺寸,如果sensor不能直接支持,会返回一个最相近的支持格式给调用者。
1.2.2.3 s_mbus_fmt
设置输出格式到sensor。
1.2.2.4 s_stream
设置sensor开启/关闭图像数据的输出。
1.2.2.5 cropcap
获取sensor的最大输出尺寸的能力。
1.2.2.6 g_crop
获取sensor当前的输出裁剪状态,包括裁剪的left-top点坐标以及裁剪的长宽。
1.2.2.7 s_parm
设置流参数用来控制实际帧率,具体含义可参考v4l2文档
1.2.2.8 g_parm
获取当前设置的流参数,具体含义可参考v4l2文档。
1.2.2.9enum_frameintervals
枚举sensor所能支持的帧率。
1.2.2.10 enum_framesizes
枚举sensor支持的输出尺寸。
1.3 打开Camera的流程
其工作流程图如下:


2 ISP架构分析2.1 ISP概述
ISP(Image Signal Processor),即图像信号处理器,用于处理图像信号传感器输出的图像信号。它在相机系统中占有核心主导的地位,是构成相机的重要设备。
下面针对 ISP 的主要功能特性进行下介绍。

2.1.1 DEMOSAIC
DEMOSAIC 是 ISP 的主要功能之一。SENSOR 的像素点上覆盖着 CFA,光线通过 CFA 后照射到像素上。CFA 由 R、G、B 三种颜色的遮光罩组成,每种遮光罩只允许一种颜色通过,因此每个像素输出的信号只包含 R、G、B 三者中的一种颜色信息。SENSOR 输出的这种数据就是 BAYER 数据,即通常所说的 RAW 数据。显而易见,RAW 数据所反映的颜色信息不是真实的颜色信息。DEMOSAIC 就是通过插值算法将将每个像素所代表的真实颜色计算出来。

2.1.2 FOCUS
根据光学知识,景物在传感器上成像最清晰时处于合焦平面上。通过更改 LENS 的位置,使得景物在传感器上清晰的成像,是 ISP FOCUS 功能所需要完成的任务。FOCUS 分为手动和自动两种模式。ISP 可以运行 CONTRAST AF、PDAF、LASER AF 等算法实现自动对焦。

2.1.3 EXPOSURE
曝光。EXPOSURE 主要影响图像的明暗程度。ISP 需要实现 AE 功能,通过控制曝光程度,使得图像亮度适宜。

2.1.4 WB
白平衡。白平衡与色温相关,用于衡量图像的色彩真实性和准确性。ISP需要实现 AWB 功能,力求在各种复杂场景下都能精确的还原物体本来的颜色。

2.1.5 LSC
用于消除图像周边和图片中心的不一致性,包含亮度和色度两方面。ISP 需要借助 OTP 中的校准数据完成 LSC 功能。

2.1.6 GAMMA CORRECTION
伽玛校正。传感器对光线的响应和人眼对光线的响应是不同的。伽玛校正就是使得图像看起来符合人眼的特性。

2.1.7 CROP/RESIZE
图像剪裁,即改变图像的尺寸。可用于输出不同分辨率的图像。

2.1.8 VRA
视觉识别。用于识别特定的景物,例如人脸识别,车牌识别。ISP 通过各种 VRA 算法,准确的识别特定的景物。

2.1.9 DRC
动态范围校正。动态范围即图像的明暗区间。DRC 可以使得暗处的景物不至于欠曝,而亮处的景物不至于过曝。ISP 需要支持 DRC 功能。

2.1.10 CSC
颜色空间转换。例如,ISP 会将 RGB 信号转化为 YUV 信号输出。

2.1.11 IS
图像稳定。IS 的主要作用是使得图像不要因为手持时轻微的抖动而模糊不清。IS 有很多种,例如 OIS、DIS、EIS。ISP 可以实现 DIS 和 EIS。
事实上,ISP 除了上面提到的主要功能外,还需要支持 DENOISE、CONTRAST、SATURATION、SHARPNESS 等调整功能。

2.2 ISP常见问题分析







微信扫一扫
关注该公众号










收藏
收藏0
分享
分享
点赞
点赞0
反对
反对0
该会员没有填写今日想说内容.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版