本文是isp算法学习的第一篇章,主要是讲述ISPPipeline整个流程。

色光三原色RGB可以组成各种颜色,组成了大千世界各种各样的色彩,上图可以看出通过三原色可以组成一只猫。

现实中,我们可以拿到一张图片对应的三个通道,分别是R通道,G通道,B通道。每个通道上不同的像素点有不同的值,经过一个匹配的组合可以得出一张猫的图片。

bayer格式

左边是CMOS的传感器,可以说ISP整个源头的Sensor。他是一个光电器件,右边是一个可视化Bayer格式的立体图形。

Bayer格式和RGB通道的区别,Bayer格式有R|GR|GB|B,GR|R|B|GB,B|GB|GR|R,GB|B|R|GR,即Bayer格式中的每个点只有R,G,B中的一个值(一通道),而RGB会有三个值(三通道)。

ISP PIPELINE

这里的太阳就是自然光,自然光达到物体上,物体反射会经过lens(镜头),经过一个滤光片(filter),达到CMOS的传感器上,其中filter和CMOS构成了Sensor。Sensor会继续到主控芯片去,即ISP/DSP,其中ISP/DSP中处理的一系列过程就是PIPELINE的过程。

最后通过主控芯片输出来即为RGB合成的正常图片。

自然光通过lens达到Sensor,这个过程是一个光电转换的过程,发生在Sensor中。其中Sensor到ISP段又有一个A/D转换,Sensor这边是连续的模拟信号,ISP段是一段数字信号(Digital Signal),这个过程也是发生在Sensor中。

这个PIPELINE流程是A/D转换到output输出之间的一个流程。这里每一个方块都是PIPELINE中的一个环节。

Bayer格式是未经处理的格式,也称为Raw格式。

简称 全程 说明
DPC defect pixel correction 坏点矫正
BLC black level correction 黑点矫正
Denoise/NR 降噪
LSC lens shading correction 亮度和颜色衰减矫正包括luma亮度 color颜色
AWB auto white balance 自动白平衡 让白色更显白色
Demosiac 去马赛克将bayer格式转化为rgb格式
CCM color correction matrix 色彩矫正矩阵
Gamma 亮度调整
EE edge enhance 边缘增强

这个是海思芯片HI3559V200

DPC

DPC为坏点矫正。

设备工作的时候,可能是工艺,或者是工作的时候性能不在正常区域,左边的图会出现随机的白点(极限的话是255)或者暗点(极限的话是0)。

经过DPC,经过算法,可以去掉上面的白点或者黑点。

BLC

对于设置黑色,但没有达到要求的黑色进行调节到正常的黑色。

通常Sensor端会有一个暗电流,或者是Sensor添加了一个基准值。

左侧是未经BLC(有时也称OBC)处理的图片,右侧是经过算法处理的图片

通常调节BLC,需要拿黑胶布裹上镜头,然后打开镜头去拍摄获取一张图片。

Denoise/NR

这个过程即为图像降噪的过程

左边的图片有明显的彩色噪声(电信号),右边图像彩色噪声就没那么明显。

LSC

这个是镜头阴影矫正。

这里镜头中心和四周会分成Luma(亮度)和chroma(彩色)差异,分别为上图左边的两张图。

因为镜头本身会衰减,通过镜头中心会比四周亮,因为RGB本身衰减不同,通常中心会呈现偏红,四周会偏暗绿。经过算法矫正之后,变成右边的图像。

AWB

自动白平衡,使得在不同的光源下呈现的画面会收白,使得画面的白色是比较真实的白色,而不偏色。

左边是在A光源(2850K)的下面拍摄未校正的图像,右边是矫正完成的图片。

Demosiac

这个是去马赛克的过程

开始的时候我们的数据格式是Bayer格式(左图),我们要输出RGB格式(右图)。

CCM

这个是色彩校正矩阵,主要把颜色往真实的色彩颜色靠近。

左边的颜色有点问题,跟我们直接看色卡是不一致的,右边的调解完CCM后,会出现更加接近我们真实看到的颜色。

Gamma

主要调节一个GAMMA曲线,会影响亮度。

亮度变化大了,会感觉整体的颜色色彩不够。

左边是未调节GAMMA曲线的,右边是调节GAMMA曲线的图片

EE

这个是边缘增强处理,类似锐化的过程

左边图像图片的边缘有点模糊,右边的图像的边缘会更加清晰