ISP基本框架及算法
点击下方卡片,关注“新机器视觉”公众号
重磅干货,第一时间送达
本文来自CSDN博主大熊背,
https://blog.csdn.net/lz0499/article/details/71156291
ISP(Image Signal Processor),即图像处理,主要作用是对前端图像传感器输出的信号做后期处理,主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等,依赖于ISP才能在不同的光学条件下都能较好的还原现场细节,ISP技术在很大程度上决定了摄像机的成像质量。它可以分为独立与集成两种形式。
ISP 控制单元和基础算法库
,一部分是AE/AWB/AF 算法库
,一部分是sensor 库
。Firmware 设计的基本思想是单独提供3A 算法库,由ISP 控制单元调度基础算法库和3A 算法库,同时sensor 库分别向ISP 基础算法库和3A 算法库注册函数回调,以实现差异化的sensor 适配。ISP firmware 架构如下图所示。1. TestPattern-测试图像
2. BLC(BlackLevel Correction)-黑电平校正
3.LSC(Lens Shade Correction)-镜头阴影校正
4.DPC(Bad Point Correction)-坏点校正
5.GB(Green Balance)-绿平衡
基于插值的方法
基于平均值的方法
6.Denoise-去除噪声
7.Demosaic-颜色插值
8.AWB(Automatic White Balance)-自动白平衡
9.CCM(Color Correction Matrix)-颜色校正
10.RGB Gamma-Gamma校正
11.RGBToYUV
12.WDR(Wide Dynamic Range)-宽动态
13.3DNR
14.Sharp-锐化
15.AF(Automatic Focus)-自动对焦
16.AE(Automatic Exposure)-自动曝光
当前帧的曝光量,由sensor 曝光时间、sensor 增益、ISP 增益组成。需要注意的是,sensor 的曝光时间和增益通常是非连续的,很可能与AE算法输出的目标参数并不相同,所以当前曝光参数的准确值需要通过sensor 驱动从sensor 寄存器中直接读取,而不能使用AE算法缓存的目标值。 增益系数,g=target/measured, 其中target 为理想画面亮度, measured 为当前画面亮度的实测值。由于sensor 的本质是一个线性元件,若暂不考虑像素饱和等非线性因素,只要在当前曝光总量的基础上乘以系数g,就可以使画面目标亮度达到理想值。因此AE 算法的核心任务就是计算正确的g参数,这个参数能够使画面得到正确的曝光。
调试摄像头曝光很多时候都是以行算的,也就是常说的曝光行。当然算曝光时间是曝光行*每行的时间 一般曝光时间不超过vts,vts就是一帧花的总时间(包含每帧的无效信号)。因此,我们在计算当前帧最大曝光时间的时候,一般会根据VTS计算得出 除了曝光能增加亮度之外,gain也能增加亮度,gian也分为模拟gain和数字gain以及ISPgain 曝光时间引入的噪声最小,数字增益引入的噪声最大 根据上面所说,假如在比较暗的情况下,为了减少噪声,势必先增加曝光时间。因为增加曝光时间引入的噪声最小,可以会略不计。但是当曝光时间超过当前vts时候,曝光时间超过一帧的时间,这样会引起帧率降低,那么这个时候可以增加gain值,模拟gain和数字gain都是有最大限制的,所有的增加gain值都是优先使用模拟gain,当模拟gain增加到最大之后,才考虑使用数字gain。
参考资料:
ISP概述、工作原理及架构
相机系统综述 —— ISP
Understanding Auto Exposure Control
3A+ISP之ISP篇
《CMOS sensor cross-talk compensation for digital cameras》
本文仅做学术分享,如有侵权,请联系删文。
评论