本系列主要介绍图像信号处理器 (ISP, image signal processor) 中各核心算法模块的设计以及相关的前沿研究,以典型的相机成像系统为基础,涉及的内容包括各类缺陷校正,去马赛克,去噪,3A算法(自动对焦,自动曝光,自动白平衡),超分,HDR,风格迁移等主题。
随着信息时代到来,信息的获取、处理和传输已经成为时代进步的主题,信息的展现形式有很多种,其中最丰富的展现形式以图像和视频流格式呈现,视频在时间轴上的基本处理单元也是图像形式,因此图像处理至关重要。ISP作为现代相机、手机中数字图像处理单元,其质量好坏直接关系产品的竞争力度。本文主要对ISP流水线中的绿平衡模块和去马赛克模块进行简要介绍。
概论
现代ISP信号处理器的基本流水线如图1.1所示。
图1.1 现代ISP信号处理器的基本结构
按照图像处理域分类,从相机获取Raw图到生成可查看的压缩YUV格式JPEG图像,需要经过Raw域、RGB域和YUV域三个主要处理域。绿平衡模块(GB:Green Balance)处于Raw域,经过绿平衡处理后的图像进入Demosaic模块进行处理后完成Raw格式向RGB格式的转换,Raw格式和RGB格式的相关概念参见资料1[1]。
绿平衡算法
相机中,入射镜头的光线经过光电转换后存储在电荷寄存器中,每个像素位置下面都对应一个电荷存储器;单个时钟周期内,每列像素列向进入列寄存器,在行向顺序扫描生成一行像素,存储在行寄存器中串行移动,如图1.2所示,这样的相机称为单行扫描相机。部分相机单周期内生成两行像素,由于两个行寄存器的制造工艺、温度特性等存在的细微差异,造成生成图像中每两行像素间强度不均匀(单行像素值均偏大或偏小),产生如图1.3所示的迷宫格子效应。绿平衡算法通过统计相邻区域内的像素值强度消除上述迷宫格子效应。
图1.2 相机成像过程中的行列像素扫描过程[2]
图1.3 Raw图及对应的迷宫格子效应[3]
解决迷宫格子现象的思路是均衡Gr和Gb通道之间的亮度差异。对于Raw格式图像中的R/Gr像素,需要减去其与邻近区域中Gb均值的差异;对于B/Gb像素同理,如下图实例所示:
图1.4 四种CFA阵列情况下的Bayer格式
如图1.4(a)、(b)所示,当中心点色度类型为Gr/R色度时,其位置像素值需要减去5*5区域内所有位置邻近Gr/Gb对的差异均值,如式1-1、1-2所示(式中Gr’、Gr分别代表同一位置进行绿平衡处理前后的像素值):
以中心点色度类型R为例(Gr同理),以其为中心5*5区域内的Gr/Gb差异对均值计算如图1.5所示。观察图像可知,实质就是图中各Gr位置与其对角位置的Gb色度计算差异后再取均值。中心点色度类型为B/Gr/Gb等的其余情况同理。
图1.5 中心点色度类型为R时Mean (Gr-Gb) 的计算方式
绿平衡算法效果如图1-6所示。
图1.6 绿平衡算法效果
去马赛克算法
数字相机中,通过镜头的光线要经过CFA阵列滤光(Color Filter Array)后才能投射到CMOS/CCD光电转换器件上进行光电转换,经过CFA阵列的光线在单个成像位置上仅允许和滤光片颜色一致的入射光通过,因此混合白光经CFA阵列后,单个成像位置仅保留单色光成分。CFA阵列按照其构成的基本单元分类有很多种,包括Bayer阵列、CMYK阵列等,关于常见的CFA阵列详细见资料[4],这里以最常见的Bayer格式CFA阵列为例展开去马赛克算法分析,去马赛克算法的实质,就是通过相邻区域插值使单个成像位置从经CFA阵列滤光后的单色光通道恢复至RGB三色通道。
常见的Bayer阵列格式按照RGB的不同排列方式分为4种,总结如图2.1所示。
图2.1 常见的4种CFA Bayer格式阵列
常见去马赛克插值算法的分类可如图2.2所示,接下来根据算法分类,选取典型的Demosaic算法进行简要介绍。
图2.2 常见的Demosaic算法分类
对非自适应插值方式,结合图2.3进行具体介绍(式中R(0,1)表示位置(0,1)处已知色度信息R,其余可类比),主要示例是最邻近插值和双线性插值:
图2.3 非自适应插值示例
以插值(1,1)位置缺失B、R色度为例,介绍最邻近插值思路:
R(1,1)=R(0,1) or R(2,1)
[位置(0,1)/(2,1)与(1,1)距离相同,根据设定规则任取其一]
B(1,1)=B(1,0)or B(1,2)
[位置(1,0)/(1,2)与(1,1)距离相同,根据设定规则任取其一]
对于CFA阵列中的双线性插值,根据待插位置已知的色度信息类型可分为G/RB插值两类。分别介绍如下:
1.待插位置已知色度信息为G时,需要通过双线性插值计算RB。以插值(1,1)位置缺失B、R色度信息为例:
2.待插位置已知色度信息为R或B时,以插值(1,2)位置缺失的G、R色度信息为例:
关于双三次插值和HA插值的相关信息,详见参考资料[5][6]。
相对于非自适应插值,自适应插值具有更大的灵活性,其特点是随插值位置周围色度信息梯度改变而调整插值规则与参数,从而保证对每个待插位置都选取最优的插值组合。以基于边缘的插值方式为例进行介绍,其余类别的非自适应插值可参见资料[7]:
基于边缘的插值首先统计以待插位置为中心,固定模板大小范围内待插位置周围的色度信息;然后根据位置关系对统计信息进行分类(相对待插位置为垂直方向、水平方向或者对角方向);计算不同类别的梯度大小(通常只计算水平方向和垂直方向的梯度大小)后,选取梯度最小的类别加权插值获得最终插值结果。此类方法的代表有3*3模板边缘插值和5*5范围边缘插值。
下面结合实例对这两种插值方式进行具体的介绍:
1.结合图2.4 介绍基于3*3范围模板的边缘插值,其过程可用以下公式总结:
图2.4 3*3模板边缘插值
(式中G1、G2、G4、G5分别代表待插位置3附近3*3范围内的四个已知G分量值,G3为位置3完成插值后的G值)
2.结合图2.5介绍基于5*5模板的边缘插值,其过程可用以下公式总结:
图2.5 5*5模板边缘插值
(式中R1、R3、R7、R9分别代表待插位置5垂直和水平方向上的四个已知R色度值,R5为位置5已知的R色度值;G2、G4、G6、G8分别代表位置5周围的已知G色度值,根据位置5周围同色梯度较小方向的G值信息完成G值插值)
图2.6 去马赛克算法效果
结语
绿平衡模块用于矫正由相机物理和工艺等因素造成的亮度不均匀效应——迷宫格子现象。Demosaic模块是图像Raw域处理到RGB域处理的转换开关, 是ISP流水线中至关重要的模块,其性能好坏直接影响整个ISP流水线信号处理器的生成图像质量。
参考文献:
[1]https://blog.csdn.net/qq_39791130/article/details/109093393ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164532789616780271518011%2522%252C%2522scm%2522%253A%252220140713.130102334.
[2]JunichiNakamura. 数码相机中的图像传感器和信号处理[M]. 清华大学出版社, 2015.
[3]https://blog.csdn.net/gbmaotai/article/details/104519736.
[4]https://blog.csdn.net/cy413026/article/details/100543885?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-
[5]https://blog.csdn.net/qq_34885184/article/details/79163991
[6]J. F. Hamilton and J. E. Adams,“Adaptive Color Plane Interpolation in Single Sensor Color Electronic Camera,”U.S. Patent 5 629 734, 1997.
[7]R. Kimmel, “Demosaicing: Imagereconstruction from color CCD samples,” IEEE Trans. Image Process., vol. 8, pp.1221–1228, 1999.