ISP(ImageSignalProcessor),即图像信号处理器,用于处理图像信号传感器输出的图像信号。它在相机系统中占有核心主导的地位,是构成相机的重要设备。
主要内部构成
如下图所示,ISP内部包含CPU、SUPIP、IF等设备,事实上,可以认为ISP是一个SOC,可以运行各种算法程序,实时处理图像信号。
ISP架构
CPU即中央处理器,可以运行AF、LSC等各种图像处理算法,控制外围设备。现代的ISP内部的CPU一般都是ARMCortex-A系列的,例如Cortex-A5、Cortex-A7。
SUBIP是各种功能模块的通称,对图像进行各自专业的处理。常见的SUBIP如DIS、CSC、VRA等。
图像传输接口主要分两种,并口ITU和串口CSI。CSI是MIPICSI的简称,鉴于MIPICSI的诸多优点,在手机相机领域,已经广泛使用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处理图像数据的基本流程。
ISP处理流程
下面针对ISP的主要功能特性进行下介绍。
lDenoise-----去除噪声
使用cmossensor获取图像,光照程度和传感器问题是生成图像中大量噪声的主要因素。同时,当信号经过ADC时,又会引入其他一些噪声。这些噪声会使图像整体变得模糊,而且丢失很多细节,所以需要对图像进行去噪处理空间去噪传统的方法有均值滤波、高斯滤波等。
但是,一般的高斯滤波在进行采样时主要考虑了像素间的空间距离关系,并没有考虑像素值之间的相似程度,因此这样得到的模糊结果通常是整张图片一团模糊。所以,一般采用非线性去噪算法,例如双边滤波器,在采样时不仅考虑像素在空间距离上的关系,同时加入了像素间的相似程度考虑,因而可以保持原始图像的大体分块,进而保持边缘。
DEMOSAIC是ISP的主要功能之一。SENSOR的像素点上覆盖着CFA,光线通过CFA后照射到像素上。CFA由R、G、B三种颜色的遮光罩组成,每种遮光罩只允许一种颜色通过,因此每个像素输出的信号只包含R、G、B三者中的一种颜色信息。SENSOR输出的这种数据就是BAYER数据,即通常所说的RAW数据。显而易见,RAW数据所反映的颜色信息不是真实的颜色信息。DEMOSAIC就是通过插值算法将每个像素所代表的真实颜色计算出来。
光线中主要包含三种颜色信息,即R、G、B。但是由于像素只能感应光的亮度,不能感应光的颜色,同时为了减小硬件和资源的消耗,必须要使用一个滤光层,使得每个像素点只能感应到一种颜色的光。目前主要应用的滤光层是bayerGRBG格式。如下图所示:
这样,经过滤色板的作用之后,每个像素点只能感应到一种颜色。必须要找到一种方法来复原该像素点其它两个通道的信息,寻找该点另外两个通道的值的过程就是颜色插补的过程。由于图像是连续变化的,因此一个像素点的R、G、B的值应该是与周围的像素点相联系的,因此可以利用其周围像素点的值来获得该点其它两个通道的值。目前最常用的插补算法是利用该像素点周围像素的平均值来计算该点的插补值。如下图所示,左侧是RAW域原始图像,右侧是经过插值之后的图像。
lCCM(ColorCorrectionMatrix)------颜色校正
颜色校正主要为了校正在滤光板处各颜色块之间的颜色渗透带来的颜色误差。一般颜色校正的过程是首先利用该图像传感器拍摄到的图像与标准图像相比较,以此来计算得到一个校正矩阵。该矩阵就是该图像传感器的颜色校正矩阵。在该图像传感器应用的过程中,可以利用该矩阵对该图像传感器所拍摄的所有图像来进行校正,以获得最接近于物体真实颜色的图像。
一般情况下,对颜色进行校正的过程,都会伴随有对颜色饱和度的调整。颜色的饱和度是指色彩的纯度,某色彩的纯度越高,则其表现的就越鲜明;纯度越低,表现的则比较黯淡。RGB三原色的饱和度越高,则可显示的色彩范围就越广泛。
1)色彩校正原理
人眼对色彩的识别,是基于人眼对光谱存在三种不同的感应单元,不同的感应单元对不同波段的光有不同的响应曲线的原理,通过大脑的合成得到色彩的感知。一般来说,我们可以通俗的用RGB三基色的概念来理解颜色的分解和合成。理论上,如果人眼和sensor对光谱的色光的响应,在光谱上的体现如下的话,基本上对三色光的响应,相互之间不会发生影响,没有所谓的交叉效应。理想R/G/B光谱响应如下:
而实际人眼对R/G/B的光谱响应如下,RGB的响应并不是完全独立的。
某款相机的sensor光谱响应曲线如下:
从上图可以看出,sensor的R/G/B响应曲线和人眼的R/G/B响应曲线是不一致的。而且图像数据经过ISP的AWB处理之后肯定会存在色偏,因此需要RGB域进行色彩矩阵校正。
2)色彩校正策略
我们已看到sensor对光谱的响应,在RGB各分量上与人眼对光谱的响应通常是有偏差的,当然就需要对其进行校正。不光是在交叉效应上,同样对色彩各分量的响应强度也需要校正。通常的做法是通过一个色彩校正矩阵对颜色进行一次校正。校正矩阵如下: