图像 ISP 功能和实现原理与架构简介 普及
概述
做camera驱动开发,必然离不开ISP这个模块;
但是ISP模块伴随着芯片SOC的发展已经越来越复杂,当然功能也越来越多,导致很多理解模糊;
本文主要对Linux系统下ISP驱动架构进行普及介绍
1. 基本概念
ISP --- Image Signal Processing
作用:即图像信号处理器,用于处理图像信号传感器输出的图像信号。它在相机系统中占有核心主导的地位,是构成相机的重要设备
功能: 图像格式转换、3A、黑电平校正、坏点校正、镜头阴影、2D/3D降噪、色彩增强等;
ISP 内部包含 CPU 、IF等设备,事实上,可以认为 ISP 是一个 SOC ,可以运行各种算法程序,实时处理
图 像信号。
2. ISP使用领域
(1)手机、运动相机SDV等消费电子领域
各大手机方案商,高通、MTK、海思等;
以及SDV相机等领域的安霸(出名的就是GoPro)等
关注点主要是图像的色彩、色域、图像位深等
(2)安防领域
安康、大华、宇视等品牌商,海思的ISP方案绝对是主导地位;
关注点主要是多场景的清晰度、高动态等
(3)ADAS智能驾驶领域
最近这几年新起的智能驾驶,也逐步对ISP依赖越来越大;
单目、双目、环视等;
关注点主要在图像的纹理、轮廓等,反正就是对图像的识别有益的地方
3. ISP架构方案
主要分为外置和内置ISP架构
(1)外置ISP架构
外置 ISP 架构是指在 AP 外部单独布置 ISP 芯片用于图像信号处理
外置 ISP 架构的优点主要有:
- 能够提供更优秀的图像质量
在激烈的市场竞争下,能够存活到现在的外置ISP 生产厂商在此领域一般都有很深的造诣,积累了丰富的影像质量调试经验,能够提供比内置ISP 更优秀的性能和效果。因此,选用优质的外置ISP 能提供专业而且优秀的图像质量。
- 支持更丰富的设计规划
外置 ISP 的选型基本不受AP 的影响,可以从各个优秀ISP 芯片供应商的众多产品中甄选最合适的器件,从而设计出更多优秀的产品
- 实现产品差异化
内置 ISP 是封装在 AP 内部的,是和 AP 紧密的联系在一起,如果 AP 相同,那么 ISP 也就是一样的。因此基于同样 AP 生产出来的手机,其 ISP 的性能也是一样的,可供调教的条件也是固定的,这样就不利于实现产品的差异化。而如果选择外置 ISP,那么同一颗 AP,可以搭配不同型号的 ISP,这样可以实现产品的差异化,为给用户提供更丰富和优质的产品。
外置 ISP 架构的缺点主要有:
- 成本价格高
外置 ISP 需要单独购买(AP端ISP就会浪费掉),其售价往往不菲,而且某些特殊功能还需要额外支付费用。使用外置 ISP,需要进行额外的原理图设计和 LAYOUT ,需要使用额外的元器件
- 额外的硬件开发和驱动开发
外置 ISP 驱动的设计需要多费精力和时间。使用外置 ISP 时, AP 供应商提供的ISP 驱动就无法使用,需要额外设计编写外置 ISP 驱动。上文也提到,使用外置 ISP,需要进行额外的原理图设计和 LAYOUT ,需要使用额外的元器件,这也是需要花费时间进行处理的。
(2)内置ISP架构
内置 ISP 架构是指在 AP 内部嵌入了 ISP IP,直接使用 AP 内部的 ISP 进行图像信号处理
内置 ISP 架构的优点主要有:
- 能降低成本价格
内置 ISP 内嵌在 AP 内部,因此无需像外置 ISP 一样需要额外购买,且不占 PCB空间,无需单独为其设计外围电路,这样就能节省 BOM ,降低成本。鉴于大多数用户在选购手机时会将价格因素放在重要的位置,因此降低成本能有效的降低终端成品价格,有利于占领市场
- 能提高产品的上市速度
置 ISP 和 AP 紧密结合,无需进行原理图设计和 LAYOUT 设计,因此可以减小开发周期,加快产品上市的速度。
- 能降低开发难度
如果使用内置 ISP,那么 AP 供应商能在前期提供相关资料,驱动开发人员可以有充足的时间熟悉相关资料,而且不会存在软件版本适配问题,也不存在平台架构兼容性问题。但是,如果使用外置 ISP,那么 ISP 供应商往往都不能提供针对某个平台的代码 /资料,而且一般都存在软件版本兼容问题,这就需要驱动开发人员付出额的经历和时间。
特别注意: 这些优缺点其实也不一定,主要是手机类消费电子可能是这种特性;
不同的领域产品由于涉及到软硬件限制等,可能更倾向于选外置ISP,
毕竟内置ISP的调试方法是需要原厂全方位支持的
(如果只是小公司做功能的话,在没有量的前提下,这种大厂的支持也是比较困难的)
3. ISP处理流程
黑电平校正: 暗电流指传感器在没有入射光的情况下,存在一定的信号输出,这是由于半导体的热运动造成的
颜色插值:原始像素只包含一种颜色的信息(R 或G 或B),要重建色彩画面,就必须从相邻的像素中得到失去的信息
颜色校正:由于人类眼睛可见光的频谱响应度和半导体传感器频谱响应度之间存在差别,还有透镜等的影响,插补后得到的RGB 值颜色会存在偏差
Gamma 校正:亮度和电流之间的关系并非是线性, 保持线性关系
AWB:果使用过没有白平衡的数码相机,会发现荧光灯的光人眼看起来是白色的,但用数码相机拍摄出来却有点偏绿。同样,如果在白炽灯下,拍出图像的色彩就会明显偏红。人类的眼睛之所以把它们都看成白色,是因为人眼进行了修正
AE:自动控制曝光时间,达到曝光恰到好处的效果
其实还有很多功能,这里就不一一介绍了
4. ISP 3A实现原理
上面介绍了很多ISP的功能,当然一般关注最多当然是3A实现功能模块。
3A算法: 即AE,AWB,AF (自动曝光、自动白平衡、自动对焦),自动对焦我用的较少就不介绍了
5. ISP 驱动架构
一般ISP模块包括软件算法和硬件算法,将固定算法硬件化然后需要变动的用软件算法实现。