回顾上一篇,跟大家介绍了摄像头的 Sensor 图像传感器,它主要把光信号转换为电子信号,决定了图像分辨率、帧率和曝光的策略等属性,本篇将会带大家一起去了解另一个重要器件 – ISP 图像信号处理器。说到 ISP ,很多人会认为是 3A、自动曝光、自动白平衡等,其实这只是 ISP 其中的一些功能,那该如何理解呢?下面让我带大家去认识一番。
ISP 全称 Image Signal Processor,即图像信号处理器,它把 Sensor 输出的 Raw 数据进行处理,使之成为符合人眼真实生理感受的信号,并加以输出,主要包含四个部分:
① Sensor 的控制器,大部份的控制指令还是交由 ISP 来实现。
② 信号处理的算法,Sensor 从光转电的过程中会有一致性不好等问题,需要通过一系列算法还原出图像。
③ 图像算法,从 Sensor 得到图像后,需要调整成像效果以生成人类预期的图片质量。
④ 接口格式,为减少存储空间和传输带宽,需将 Raw data 转成 YUV 等格式输出给后端处理芯片。
图 1 常见的 ISP 功能
由于摄像头模组的镜头与 Sensor 的物理缺陷,导致成像过程中发生一系列影响图像质量的问题,ISP 就是为了解决这些问题而存在,常见有以下处理算法:
① Debayer – 去马赛克:
产生原因:Sensor 上采用了 Bayer 色彩滤波阵列,每个像素点感知的色彩不完全,这在上篇文章中有介绍。
图 2 Bayer 色彩滤波阵列
图 3 经过 Bayer 后的色彩效果
处理方法:在补充图 3 中白色像素点的数值时,可以认为每个白色像素点的值和它附近的同色点值相近,最简单的方法采用内插法。
图 4 内插法原理
② AWB(Automatic White Balance)-- 自动白平衡
产生原因:Sensor 容易受到光源颜色的影响,例如在低色温下偏黄,在高色温下偏蓝。
处理方法:利用 Gray World 算法,调整 R/B 增益,达到 R、G、B 相等。首先检测图像中的白色位置,然后计算 R、B 的调整增益,最后矫正整幅图片的色温。
图 5 自动白平衡效果对比
③ AEC(Automatic Exposure Control)-- 自动曝光
产生原因:不同场景下,光照强度差异大,图像传感器没法自适应。
处理方法:通过统计图像的像素光强及场景分析,设定曝光时间和增益来实现。
④ AF(Auto Focus)-- 自动对焦
产生原因:变焦镜头需要自动调节焦距。
处理方法:先判断图像的模糊程度,通过合适的模糊度评价函数求得采集的每一副图像的评价值,然后通过搜索算法得到评价值的峰值,最后通过电机驱动将采集设备调节到峰值所在的位置,得到最清晰的图像。
⑤ BLC(Black Level Correction)-- 黑电平较正
产生原因:Sensor 有漏电流,导致把 Sensor 放入一个全黑的环境时,输出的原始数据不为 0。
处理方法:设定一个的矫正值,所有像素值都与此值做比较,最后得到一个矫正成功的结果。
⑥ LSC(Lens Shade Correction)-- 镜头阴影校正:
产生原因:通过镜头后,到达 Sensor 中间的光多于边缘的光。
处理方法:检测出图像中间亮度比较均匀的部分,以此为中心,算出周围区域需要补偿的因子。
图 6 LSC 效果前后对比(右图为较正后)
⑦ DPC(Defect Pixel Correction)-- 坏点较正
产生原因:Sensor 上有坏的像素点。
处理方法:在 RGB 域上做 5x5 的评估,如果某个点和周围的点偏离度超过阈值的点为坏点,对找到的坏点做中值滤波,替换原来的值。
⑧ DNS(De-Noise)-- 去除噪声
产生原因:Sensor 的模拟电路难免引入信号噪声。
处理方法:图像降噪处理有均值滤波、高斯滤波、双边滤波等。
⑨ CCM(Color Correction Matrix)-- 颜色较正
产生原因:Sensor 滤光板处各颜色块之间的颜色渗透带来的颜色误差。
处理方法:通过与标准图像相比较,计算得到一个较正矩阵,通常用 3x3 矩阵形式。
图 7 CCM 较正效果(右图为较正后)
⑩ RGB Gamma-- Gamma校正
产生原因:Sensor 是线性感知亮度,人眼对暗部细节比 Sensor 敏感。
处理方法:查表法实现,即根据一个 Gamma 值,将不同亮度范围的理想输出值在查找表中设定好,在处理图像时,再根据输入的亮度得到理想的输出值。
图 8 人眼与 Sensor 对亮度的感知曲线
⑪ RGB TO YUV -- 色彩空间转换
产生原因:在 YVU 色彩空间上进行彩色噪声去除、边缘增强等图像处理更方便。
处理方法:RGB 和 YUV 转换有固定公式,在 YUV 家族中大多指 YCbCr,其转换如下
Y=0.299R+0.587G+0.114B
Cb=0.564(B-Y)
Cr=0.713(R-Y)
R=Y+1.402Cr
G=Y-0.344Cb-0.714Cr
B=Y+1.772Cb
⑫ Color denoise/Sharpness – 色彩降噪和锐化
产生原因:对 YUV 色彩空间降噪处理,同时消除降噪过程中对图像细节的损失。
处理方法:采用低通滤波器进行处理,例如使用 M*N 的高斯低通滤波器在色度通道上处理。
图 9 锐化效果(右图为锐化后)
⑬ HDR(High-Dynamic Range)-- 高动态范围
产生原因:Sensor 在一定曝光量下的较暗部分或较亮部分的细节显示不充分。
处理原理:主要通过 Tone mapping(色调映射)的方法,首先要根据当前的场景推算出
场景的平均亮度,再根据这个平均亮度选取一个合适的亮度域,最后将整个场
景映射到这个亮度域得到正确的结果。
通过以上介绍,相信大家对 ISP 的功能有了重新的认知,以下是典型的 ISP 处理流程图,现在看来,是不是感觉没那么难理解了?
图 10 ISP 处理流程图
ISP 的原理看似简单,但真正要把摄像头图像质量调好,是需要很多调整的策略,加上各功能模块间是相互影响的,比如 3A 算法(上文介绍的 AWB、AEC、AF),这就需要 ISP 工程师大量的经验和反复的调校。
感谢各位关注本期的内容,期待下篇 – Serializer 解串器的介绍还能跟你们相见,待续……
评论
Jackson Chang
2021年8月24日