资讯详情

ISP 的综述总结

常用的模块配置

ov10640(sensor) ov490(isp) max96705(serializer)

ISP关键作用

主要功能是对前端图像传感器输出的信号进行后处理, ISP 现场细节可以在不同的光学条件下更好地恢复。

ISP硬件(可以认为 ISP 是一个 SOC)

ISP(Image Signal Processor),即图像信号处理器,用于处理图像信号传感器输出的图像信号。它在相机系统中占据核心主导地位,是构成相机的重要设备。

主要内部构成

如下图所示,ISP 内部包含 CPU、SUP IP、IF 事实上,其他设备可以认为 ISP 是一个 SOC,实时处理图像信号可以操作各种算法程序。

在这里插入图片描述 - CPU CPU 中央处理器可以运行 AF、LSC 控制外围设备等各种图像处理算法。 ISP 内部的 CPU 一般都是 ARM Cortex-A 例如,系列 Cortex-A5、Cortex-A7。

  • SUB IP

SUB IP 它是各种功能模块的通称,专业处理图像。 SUB IP 如 DIS、CSC、VRA 等。

  • 图像传输接口

图像传输接口主要分为两种,并口 ITU 和串口 CSI。CSI 是 MIPI CSI 简称,鉴于 MIPI CSI 许多优点已广泛应用于手机相机领域 MIPI-CSI 接口传输图像数据和各种自定义数据。外置 ISP 一般包含 MIPI-CSIS 和 MIPI-CSIM 两个接口。内置 ISP 一般只需要 MIPI-CSIS 接口。

  • 通用外围设备

一般外围设备是指 I2C、SPI、PWM、UART、WATCHDOG 等。ISP 中包含 I2C 读取控制器 OTP 信息,控制 VCM 等等 ISP,ISP 本身还是 I2C 从设备。AP 可以通过 I2C 控制 ISP 工作模式、工作状态等。

主要功能特征

ISP 作为图像处理的核心设备,它具有非常重要的功能,如下图所示 ISP 处理图像数据的基本流程。

3A 算法: AE(Auto Exposure)自动曝光; AF(Auto Focus) 自动对焦; AWB(Auto White Balance) 自动白平衡

算法的具体细节:https://blog.csdn.net/djfjkj52/article/details/115324741

下面针对 ISP 下面介绍一下主要功能特征。

  • DEMOSAIC

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

  • FOCUS

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

  • EXPOSURE

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

  • WB

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

  • LSC

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

  • GAMMA CORRECTION

    伽玛校正。传感器对光的反应不同于人眼对光的反应。伽玛校正使图像看起来符合人眼的特点。

  • CROP/RESIZE

    图像剪裁,即改变图像的大小。可用于输出不同分辨率的图像。

  • VRA

    视觉识别。用于识别特定场景,如人脸识别、车牌识别等。ISP 通过各种 VRA 算法,准确识别特定场景。

  • DRC

    动态范围校正。动态范围是图像的明暗区间。DRC 暗处的景物不会被曝光,亮处的景物不会被曝光。ISP 需要支持 DRC 功能。

  • CSC

    色彩空间转换。ISP 会将 RGB 信号转化为 YUV 信号输出。

  • IS

    图像稳定。IS 主要功能是使图像不要因为手持时轻微抖动而模糊。IS 有很多种,比如 OIS、DIS、EIS。ISP 可以实现 DIS 和 EIS。

事实上,ISP 除上述主要功能外,还需要支持 DENOISE、CONTRAST、SATURATION、SHARPNESS 等待调整功能。

控制方式

这里提到的控制方法是 AP 对 ISP 控制方法。

I2C/SPI  这通常是外部的 ISP 的做法。SPI 一般用于下载固件,I2C 一般用于寄存器控制。在内核的 ISP 外部驱动 ISP 一般实现为 I2C 设备,然后包装成 V4L2-SUBDEV。  MEM MAP  这通常是内置的 ISP 的做法。将 ISP 内部寄存器地址空间映射到核心地址空间,  MEM SHARE  这也是内置 ISP 的做法。AP 在这里分配内存,然后将内存地址传输给 ISP,两者实际上共享相同的内存。因此 AP 将实时反馈共享内存的操作 ISP 端。 

ISP 架构方案

上面多次提到外置 ISP 和内置 ISP,这实际上是 ISP 架构方案。 外置 ISP 架构

外置 ISP 架构是指在 AP 单独布置外部 ISP 芯片用于图像信号处理。外置 ISP 一般如下:

外置 ISP 架构的主要优点是:

它可以提供更好的图像质量  在激烈的市场竞争下,能够生存到现在的外部 ISP 在这一领域,制造商一般都有深厚的造诣,积累了丰富的图像质量调试经验,可以提供比内置更多 ISP 性能和效果更好。因此,选择高质量的外部 ISP 能提供专业优秀的图像质量。  支持更丰富的设计规划  外置 ISP 基本不受选择 AP 因此,魅族可以从各种优秀中受到影响 ISP 在众多芯片供应商的产品中选择最合适的设备,从而设计出更多优秀的产品。  能够实现产品的差异化  内置 ISP 是封装在 AP 内,和 AP 如果紧密联系在一起,如果 AP 相同,那么 ISP 也就是说。所以基于同样 AP 它生产的手机 ISP 性能相同,调教条件固定,不利于产品差异化。若选外置 ISP,那么同一颗 AP,可搭配不同型号 ISP,为用户提供更丰富、更异化,为用户提供更丰富、更优质的产品。 

外置 ISP 主要缺点有:

成本价格高  外置 ISP 需要单独购买,价格往往很贵,一些特殊功能需要额外支付。使用外置 ISP,需要额外的原理图设计和 LAYOUT,需要使用额外的部件。  开发周期长  外置 ISP 驱动设计需要更多的精力和时间。使用外置 ISP 时,AP 供应商提供的 ISP 驱动不能使用,需要额外设计和编写外部设计 ISP 驱动。另外,为了和 AP 完美搭配,最大化效果,往往需要付出更多的调试精力。上面还提到了外置使用 ISP,需要额外的原理图设计和 LAYOUT,还需要时间来处理额外的组件。 

内置 ISP 架构

内置 ISP 架构是指在 AP 内部嵌入了 ISP IP,直接使用 AP 内部的 ISP 图像信号处理。 内置 ISP 一般如下:

内置 ISP 架构的主要优点是:

降低成本价格  内置 ISP 内嵌在 AP 内部,因此无需像外置 ISP 还需要额外购买,不占用 PCB 不需要单独设计外围电路来节省空间 BOM,降低成本。鉴于大多数用户在选购手机时会将价格因素放在重要的位置,因此降低成本能有效的降低终端成品价格,有利于占领市场。  提高产品上市速度
内置 ISP 和 AP 紧密结合,无需进行原理图设计和 LAYOUT 设计,因此可以减小开发周期,加快产品上市的速度。

能降低开发难度

如果使用内置 ISP,那么 AP 供应商能在前期提供相关资料,驱动开发人员可以有充足的时间熟悉相关资料,而且不会存在软件版本适配问题,也不存在平台架构兼容性问题。但是,如果使用外置 ISP,那么 ISP 供应商往往都不能提供针对某个平台的代码/资料,而且一般都存在软件版本兼容问题,这就需要驱动开发人员付出额的经历和时间。

使用内置 ISP 当然也有相应的不足之处,具体见上文的分析,这里就不赘述了。

事实上,鉴于 ISP 的重要性,为了推广其 AP,提高其 AP 竞争力,现在 AP 内置的 ISP 也越来越强大,其性能足以满足手机市场的需求。再加上其一系列优点,现在使用内置 ISP 方案的手机越来越多。

我们以现在使用的OV490 为例子

逻辑框图

ISP 通过一系列数字图像处理算法完成对数字图像的效果处理。主要包括3A、坏点校正、去噪、强光抑制、背光补偿、色彩增强、镜头阴影校正等处理。ISP 包括逻辑部分以及运行在其上的 firmware。

ISP 的控制结构如图1-1 所示,lens 将光信号投射到sensor 的感光区域后,sensor 经过光电转换,将Bayer RGB格式(或者YCrCb,RAW)的原始图像送给ISP,ISP 经过算法处理,输出RGB 空间域的图像给后端的视频采集单元。

在这个过程中,ISP 通过运行在其上的firmware 对ISP逻辑,lens 和sensor 进行相应控制,进而完成自动光圈、自动曝光、自动白平衡3A等功能。

其中,sensor输出的图像信号,sensor的每一像素对应一个彩色滤光片,滤光片按Bayer pattern分布。

其中,firmware 的运转靠视频采集单元的中断驱动。PQ Tools 工具通过网口或者串口完成对ISP 的在线图像质量调节。 ISP 由ISP 逻辑及运行在其上的Firmware 组成,逻辑单元除了完成一部分算法处理外,还可以统计出当前图像的实时信息。Firmware 通过获取ISP 逻辑的图像统计信息,重新计算,反馈控制lens、sensor 和ISP 逻辑,以达到自动调节图像质量的目的。

ISP 的Firmware 包含三部分,一部分是ISP 控制单元和基础算法库,一部分是AE/AWB/AF 算法库,一部分是sensor 库。Firmware 设计的基本思想是单独提供3A 算法库,由ISP 控制单元调度基础算法库和3A 算法库,同时sensor 库分别向ISP 基础算法库和3A 算法库注册函数回调,以实现差异化的sensor 适配。ISP firmware 架构如图1-2 所示。

不同的sensor 都以回调函数的形式,向ISP 算法库注册控制函数。ISP 控制单元调度基础算法库和3A 算法库时,将通过这些回调函数获取初始化参数,并控制sensor,如调节曝光时间、模拟增益、数字增益,控制lens 步进聚焦或旋转光圈等。

3A 算法介绍

https://blog.csdn.net/djfjkj52/article/details/115324741

其他算法介绍

https://blog.csdn.net/a1809032425/article/details/81272965

ISP处理流程

景物通过 Lens 生成的光学图像投射到 sensor 表面上, 经过光电转换为模拟电信号, 消噪声后经过 A/D 转换后变为数字图像信号, 再送到数字信号处理芯片( DSP) 中加工处理。

所以,从 sensor 端过来的图像是 Bayer 图像,经过黑电平补偿 ( black level compensation)、镜头边缘明暗矫正 ( lens shading correction)、坏像素矫正 ( bad pixel correction)、颜色插值 ( demosaic)、Bayer 噪声去除、 白平衡( awb) 矫正、 色彩矫正( color correction) 、 gamma 矫正、 色彩空间转换( RGB 转换为 YUV) 、 在 YUV 色彩空间上彩噪去除与边缘加强、 色彩与对比度加强,中间还要进行自动曝光控制等, 然后输出 YUV( 或者 RGB) 格式的数据, 再通过 I/O 接口传输到 CPU 中处理。

1、Bayer(拜耳滤波器得到彩色)

图像在将实际的景物转换为图像数据时, 通常是将传感器分别接收红、 绿、 蓝三个分量的信息, 然后将红、 绿、 蓝三个分量的信息合成彩色图像。 该方案需要三块滤镜, 这样价格昂贵,且不好制造, 因为三块滤镜都必须保证每一个像素点都对齐。

通过在黑白 cmos 图像传感器的基础上, 增加彩色滤波结构和彩色信息处理模块就可以获得图像的彩色信息, 再对该彩色信息进行处理, 就可以获得色彩逼真的彩色图像。通常把彩色图像传感器表面覆盖的滤波称为彩色滤波阵列(Color Filter Arrays,CFA)。

目前最常用的滤镜阵列是棋盘格式的, 已经有很多种类的, 其中绝大多数的摄像产品采用的是原色贝尔模板彩色滤波阵列(Bayer Pattern CFA)。R、G、B 分别表示透红色、透绿色和透蓝色的滤镜阵列单元。由于人的视觉对绿色最为敏感,所以在 Bayer CFA 中G分量是 R和B 的二倍,在每个像素点上只能获取一种色彩分量的信息,然后根据该色彩分量的信息通过插值算法得到全色彩图像。

具体我再总结一篇:色彩滤波阵列(Color Filter Array) https://blog.csdn.net/djfjkj52/article/details/122101164

2.BLC(Black level Correction)(黑电平补偿)

a.暗电流

物理器件不可能是理想的, 由于杂质、 受热等其他原因的影响, 即使没有光照射到象素,象素单元也会产生电荷, 这些电荷产生了暗电流。 而且, 暗电流与光照产生的电荷很难进行区分。

b.Black Level

Black Level 是用来定义图像数据为0时对应的信号电平。由于暗电流的影响, 传感器出来的实际原始数据并不是我们需要的黑平衡(数据不为0)。所以,为减少暗电流对图像信号的影响,可以采用的有效的方法是从已获得的图像信号中减去参考暗电流信号。一般情况下, 在传感器中,实际像素要比有效像素多, 如下图所示, 像素区头几行作为不感光区( 实际上,这部分区域也做了RGB 的 color filter),用于自动黑电平校正,其平均值作为校正值, 然后在下面区域的像素都减去此矫正值,那么就可以将黑电平矫正过来了。

做了black level 矫正与没做black level 矫正的对比,没做black level矫正的图片会比较亮,影响图像的对比度。

3.LSC(Lens Shading Correction)(镜头边缘明暗矫正)

由于镜头本身的物理性质, 造成图像四周亮度相对中心亮度逐渐降低,以及,由于图像光照在透过镜头照射到 pixel 上时,边角处的焦点夹角大于中心焦点夹角,造成边角失光。表现在图像上的效果就是亮度从图像中心到四周逐渐衰减, 且离图像中心越远亮度越暗。 为了补偿四周的亮度, 需要进行 Lens Shading 的矫正。

Lens Shading 的矫正的方法是根据一定的算法计算每个像素对应的亮度矫正值,从而补偿周边衰减的亮度。

矫正方法有二次项矫正、 四次项矫正。

4.BPC(Bad Pixel Correction)(坏点矫正)

a.坏点

坏点为全黑环境下输出图像中的白点,高亮环境下输出图像中的黑点。

b.坏点修复方法

一般情况下, RGB 信号应与景物亮度呈线性响应关系, 但由于 Senor 部分 pixel 不良导致输出的信号不正常, 出现白点或黑点。

坏点修复方法通常有两种:

一种是自动检测坏点并自动修复, 另一种是建立坏点像素链表进行固定位置的坏像素点修复, 这种方式是 OTP 的方式。

5.Demosaic颜色插值 (抵马赛克)

当光线通过 Bayer型 CFA(Color Filter Arrays) 阵列之后, 单色光线打在传感器上,每个像素都为单色光,从而理想的Bayer 图是一个较为昏暗的马赛克图。

首先需要说明的就是demosaiced并不是和字面的意思一样是为了去除电影中的一些打马赛克的图像,而是数字图像处理中用来从不完整的color samples插值生成完整的color samples的方法(因为bayer pattern看起来像一个个马赛克,因此称为去马赛克)。在sensor端通常需要使用CFA滤镜来得到Bayer pattern,而在后面的处理中需要把bayer pattern变成完整的RGB444(真彩色)图像。在ISP中需要有这么一个模块来做。

在传统的ISP中有很多算法可以来做这个插值,包括最近邻域法,bilinear 插值,cubic 插值等。

6.Bayer Denoise(去噪声)

使用 cmos sensor获取图像,光照程度和传感器问题是生成图像中大量噪声的主要因素。同时, 当信号经过ADC 时, 又会引入其他一些噪声。 这些噪声会使图像整体变得模糊, 而且丢失很多细节, 所以需要对图像进行去噪处理空间去噪传统的方法有均值滤波、 高斯滤波等。

但是, 一般的高斯滤波在进行采样时主要考虑了像素间的空间距离关系, 并没有考虑像素值之间的相似程度, 因此这样得到的模糊结果通常是整张图片一团模糊。 所以, 一般采用非线性去噪算法, 例如双边滤波器, 在采样时不仅考虑像素在空间距离上的关系, 同时加入了像素间的相似程度考虑, 因而可以保持原始图像的大体分块, 进而保持边缘。

7.AWB(Automatic White Balance)(自动白平衡)

白平衡的基本原理是在任意环境下, 把白色物体还原成白色物体, 也就是通过找到图像中的白块, 然后调整R/G/B 的比例, 如下关系:

R’= R * R_Gain

G’ = G * G_Gain

B’ = B * B_Gain

R’ = G’= B’

AWB 算法通常包括的步骤如下:

(1)色温统计: 根据图像统计出色温;

(2)计算通道增益: 计算出R 和B 通道的增益;

(3)进行偏色的矫正: 根据给出的增益, 算出偏色图像的矫正。

8.Color Correction(颜色矫正)

由于人类眼睛可见光的频谱响应度和半导体传感器频谱响应度之间存在差别,还有透镜等的影响, 得到的RGB 值颜色会存在偏差, 因此必须对颜色进行校正, 通常的做法是通过一个3x3 的颜色变化矩阵来进行颜色矫正。

9.Gamma Correction(伽马矫正)

人眼对外界光源的感光值与输入光强不是呈线性关系的, 而是呈指数型关系的。 在低照度下,人眼更容易分辨出亮度的变化, 随着照度的增加,人眼不易分辨出亮度的变化。而摄像机感光与输入光强呈线性关系, 为方便人眼辨识图像, 需要将摄像机采集的图像进行gamma 矫正。

Gamma 矫正是对输入图像灰度值进行的非线性操作, 使输出图像灰度值与输入图像灰度值呈指数关系:

out = Vin ^ gamma

这个指数就是 gamma, 横坐标是输入灰度值, 纵坐标是输出灰度值, 蓝色曲线是 gamma 值小于 1 时的输入输出关系, 红色曲线是 gamma 值大于 1 时的输入输出关系。 可以观察到, 当 gamma 值小于 1 时(蓝色曲线), 图像的整体亮度值得到提升, 同时低灰度处的对比度得到增加, 更利于分辩低灰度值时的图像细节。

10.色彩空间转换

YUV 是一种基本色彩空间, 人眼对亮度改变的敏感性远比对色彩变化大很多, 因此, 对于人眼而言, 亮度分量Y 要比色度分量U、V 重要得多。 所以, 可以适当地抛弃部分U、V分量, 达到压缩数据的目的。

YCbCr 其实是YUV 经过缩放和偏移的改动版,Y 表示亮度,Cr、Cb 表示色彩的色差,RGB信号亮度值之间的差异,分别是红色和蓝色的分量。 在YUV 家族中,YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,JPEG、MPEG 均采用此格式。 一般人们所讲的YUV 大多是指YCbCr。YCbCr有许多取样格式,如 4∶4∶4,4∶2∶2, 4∶1∶1和 4∶2∶0。

Cb:反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。 Cr:反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。

在以下两个公式中RGB和YCbCr各分量的值的范围均为0-255。

RGB转换为Ycbcr公式:

Y = 0.257R+0.564G+0.098*B+16

Cb = -0.148R-0.291G+0.439*B+128

Cr = 0.439R-0.368G-0.071*B+128

YCbCr转换为RGB公式:

R = 1.164*(Y-16)+1.596*(Cr-128)

G = 1.164*(Y-16)-0.392*(Cb-128)-0.813*(Cr-128)

B =1.164*(Y-16)+2.017*(Cb-128)

色彩空间转换这个模块, 是将RGB 转换为 YUV444, 然后在YUV 色彩空间上进行后续的彩色噪声去除、 边缘增强等, 也为后续输出转换为jpeg 图片提供方便。

11.Color Denoise

为了抑制图像的彩色噪声, 一般采用低通滤波器进行处理。 例如使用M×N的高斯低通滤波器在色度通道上进行处理。

参考

参考:https://blog.csdn.net/mao_hui_fei/article/details/99544395 http://kernel.meizu.com/camera-isp-intro.html https://source.android.com/devices/camera/index.html https://blog.csdn.net/weijory/article/details/53306545 https://blog.csdn.net/a1809032425/article/details/81272965 https://blog.csdn.net/mao_hui_fei/article/details/99544395

标签: 6x3光电传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台