1、概述
ISP(Image Signal Processor)图像信号处理器是专门用于处理图像信号的硬件或处理单元,广泛应用于图像传感器(如 CMOS 或 CCD 传感器)与显示设备之间的信号转换过程中。ISP通过一系列数字图像处理算法完成对数字图像的效果处理。主要包括3A、坏点校正、去噪、强光抑制、背光补偿、色彩增强、镜头阴影校正等处理。ISP包括逻辑部分以及运行在其上firmware。
名词解释:
3A表示自动曝光(AE,Auto Exposure)、自动白平衡(AWB,Auto White Balance)、自动对焦(AF,Auto Focus)
1.1功能描述
镜头将光信号投射到sensor的感光区域后, sensor经过光电转换,将Bayer格式的原始图像送给ISP ,ISP经过算法处理,输出RGB空间域的图像给后端的视频采集单元。在这个过程中, ISP通过运行在其上的firmware对ISP逻辑, lens和sensor进行相应控制,进而完成自动光圈、自动曝光、自动白平衡等功能。其中, firmware的运转靠视频采集单元的中断驱动。
1.2基本概念
1)色温:不是色的温度,是表明白光光源光谱成分的标志。
2)白平衡AWB:就是摄像机对白色物体的还原。在不同色温的光源下,白色在传感器中的响应会偏蓝或偏红。白平衡算法通过调整R, G, B三个颜色通道的强度,使白色真实呈现。不通色温值对应的色温渐变如下图所示。
色温是一个被量化的数值,那么就也会存在高低之分,而且在我们的视觉感受上也会存在差异。低色温光源的特征是能量分布中,红辐射相对要多些,通常称为“暖光”;色温提高后,能量分布中,蓝辐射的比例增加,通常称为“冷光”。
二者关系:为了更好的理解白平衡,这边需要引入另外一个概念 —— 色温。色温是表示光线中包含颜色成分的一个计量单位。色温可以理解为以开尔文温度表示色彩。根据马克斯·普朗克的理论,将一个完全吸收与放射能力的标准黑体加热,温度逐渐升高,光度亦随之改变。CIE色度坐标中的黑色曲线显示黑体由红 -> 橙红 -> 黄 -> 黄白 -> 白 -> 蓝白的过程。
不同光线下色温相差十分悬殊,造成摄像机在不同的光线下彩色还原不同。为解决这个问题,现在的摄像机都具有白平衡校正功能,对不同的色温进行补偿,从而真实地还原拍摄物体的色彩。自动白平衡使得摄像机能够在一定色温范围内自动地进行白平衡校正,其能够自动校正的色温范围在2500K-7000K之间,超过此范围,摄像机将无法进行自动校正而造成拍摄画面色彩失真,此时就应当使用手动白平衡功能进行白平衡的校正。
AWB 算法通常包括的步骤如下:
(1)色温统计: 根据图像统计出色温;(2)计算通道增益: 计算出R 和B 通道的增益;(3)进行偏色的矫正: 根据给出的增益, 算出偏色图像的矫正。
3)颜色校正矩阵CCM(Color Correction Matrix):颜色校正的工作原理是通过一个矩阵系数来校正图像传感器获得景物的RGB图像数据,使其接近人眼真实看到的颜色。如下图所示:
4)图像处理模块IMP(Image Processing):
主要包括以下模块:
(1)Sharpen模块:用于增强图像的清晰度,包括调节图像边缘的锐化属性和增强图像的细节和纹理的清晰度,同时还能分别独立控制图像的带方向的边缘和无方向的细节纹理的锐化强度。此外,还能控制锐化后的图像的overshoot(白边白点)和undershoot(黑边黑点),以及抑制噪声的增强。
(2)Gamma模块对图像进行亮度空间非线性转换以适配输出设备。Gamma模块校正R、G、B时调用同一组Gamma表, Gamma表各节点之间的间距相同,节点之间的图像像素值使用线性插值生成。
(3)DRC算法用于对WDR合成后的数据进行动态范围压缩(Dynamic Range Compression)。图像一般需要在显示设备上显示, CRT显示器的动态范围一般只有 <50dB,而WDR合成后的数据的动态范围可以达到120dB,如果直接在CRT显示器上显示,就会由于动态范围不匹配的问题,造成丢失亮度较高或者较低处的细节。 DRC算法的目的就是要使真实场景的观察者和显示设备的观察者都能获得相同的视觉感受。DRC算法将高动态范围的图像压缩到显示器的动态范围,同时尽可能的保留原图像的细节和对比度。
(4)LSC模块主要用来处理由于镜头光学折射不均匀导致的镜头周围出现阴影的情况。目前流行的处理方式有Radial(同轴圆)方式以及Mesh(网格)方式。
(5)Defect Pixel坏点检测模块:DPC算法通过在5x5的窗口中通过某些坏点检测算法找到该窗口中明显异于临近像素的坏点。该模块主要包含以下两种模式:静态坏点标定/校正有两种流程:亮点和暗点流程。在亮点流程中,光圈处于关闭状态,启动坏点标定程序,得到坏点坐标信息。坏点个数的总数由坏点校正模块的memory决定的。得到的坏点通过临近像素的中值滤波进行校正。
(6)Crosstalk Removal模块的主要功能是为了平衡raw数据上临近像素Gr和Gb之间的差异,能够有效防止demosaic插值算法产生的方格或其他类似pattern。由于sensor可能会因为特殊角度的光线入射而产生Crosstalk,形成一些pattern,根本原因就是因为临 近像素值之间Gr和Gb值域不一致。
(7)图像去噪:是数字图像处理中的重要环节和步骤,去噪效果将对后续图像处理产生影响。该去噪模块基于噪声标定结果,建立更符合噪声特性的去噪模型,且可根据不同 sensor做标定模型定制化。 NR在Bayer域进行空域去噪处理和时域去噪处理。利用动静检测机制,对图像分前景和背景分别处理,来抑制噪声,提高整体图像信噪比。
(8)Dehaze:是通过动态的改变图象的对比度和亮度来实现的,将图像分块,统计每块内的像素值,估算出雾的浓度,根据局部自适应曲线调整去雾强度。Dehaze分为手动和自动模式,两种模式下均可调节去雾强度。
(9)去伪彩:高频分量在图像插值时易引起高频混叠。用镜头对准一个分辨率测试卡,当sensor表 面没有OLPF时,在分辨率的高频部分容易出现伪彩。 去除伪彩主要是指去除高频部分因插值错误所导致的伪彩现象。增大去伪彩强度值会减弱伪彩现象,但可能导致正常的颜色灰度化。 该模块原理是计算出伪彩出现区域及范围,通过可配去伪彩强度寄存器值调整去伪彩强度值,将RGB三个通道值灰度化,从而达到减弱伪彩现象的目的。
(10)去马赛克:Demosaic模块实现的功能是:将输入的Bayer数据转化成RGB数据。CFA(Color Filter Array,彩色滤波阵列)得到的Bayer数据,每一像素点只能获得R、G、B三基色中的 一种彩色分量值。为获得彩色图像,需要利用当前像素及周围像素的色彩分量值,估计出当前点缺失的其他两个分量值。 该模块能输出较高的图像分辨率,对弱细节及清晰度有较大提升。
(11)BayerSharpen模块用于增强图像的弱纹理清晰度,同时还能控制锐化后的图像的overshoot和undershoot,以及抑制噪声的增强。
(12)黑电平通常指没有外界光线输入时, sensor仍会输出的亮度值。ISP需要减去这个亮度值,以进行颜色的处理。
(13)去固定模式噪声:Sensor将光信号转换成电信号,再通过数百万个ADC器件后输出图像。每个像素结构 中的光电二极管的尺寸、掺杂浓度、生产过程中的沾污以及MOS场效应管的参数的偏 差等都会造成像素输出信号的变化,由于这些偏差造成的噪声对于给定的单个像素它 是固定的,这种噪声就是固定模式噪声FPN(Fixed Pattern Noise)。
(14)颜色调整模块:支持在YUV空间进行色域调整的操作,这个模块下有两个模式, 一个是CA模式,另外一个是CP模式(热成像上色),工作的时候,两者只能二选一。 在CA模式下,通过下面的公式可以将一个像素点( Y,U,V )映射到另一个像素点 ( Y’,U’,V’)。
(15)色差(Chromatic Aberration)是指光学上透镜无法将各种波长的光聚焦在同一点上的现象,是一种与镜头有关的缺陷,它产生的主要原因是不同波长的光具有不同的折射率 (色散现象)。色差可以分为如下的两类: