背景概述
近年来,数字图像采集系统的应用越来越广泛, 出于对成本与体积的考虑,大部分的数字图像采集系统前端都只采用一块CCD/CMOS作为接收图像的传感器,在其感光表面覆盖颜色滤波阵列(CFA),如下图1所示。
 
图1:图像采集系统前端结构图
CFA上每个格点仅允许通过一种颜色分量,这样采集的图像在每个像素的位置上只有一种颜色分量可以获得,所以要复原另外两种缺少的颜色分量,就必需通过相邻像素来估算,这个过程叫CFA 插值。
目前使用最为广泛的是Bayer型格式的CFA,Bayer型颜色滤波阵列具有很好的颜色信号敏感特性和颜色恢复特性,因此应用十分广泛。选择好的插值方法对获取高质量图像是非常重要的。对于这个系统来说寻找一种适合数字图像采集系统使用的,在处理速度和成像质量方面均达到要求的插值方法就显得十分必要。
图2:Bayer 型色彩滤波阵列
▪ 双线性插值
这种插值法是最简单、基础的插值算法之一,属于单通道独立插值法,每个像素位置上缺少的彩色分量由 3×3 邻域内具有相同颜色分量的像素平均值获得。由于双线性法是单通道之间独立插值,并且始终取 3×3 滤波器的平均值,忽略了细节信息,以及图片三个颜色通道之间的相关性,所以双线性法往往不能得到满意的插值效果,容易在细线状态结构的边缘处产生锯齿形图案。
▪ 梯度检测插值法
这种方法先根据图像边缘的格式对缺少的G分量进行插值。在恢复绿色分量时,先通过计算梯度来检测边界方向,从而选择合适的插值方向。
以图2中的R44为例:假设α为该采样点水平方向的梯度,β为竖直方向的梯度,通过计算亮度分量来确定参考像素点可能的边界方向,其中:
如果α<β,则认为水平方向存在边界的概率比较大, 插值会在水平方向进行,插值公式如下公式所示:
同理可知,当α>β时,
当α=β时,
与双线性插值的方法相比,梯度检测方法有两方面改进:一个是颜色错误像素的数量大量减少,另一个是边缘锐化。但这种方法也有两个缺点:一个是比双线性插值复杂,另一个是只检测垂直和水平的边缘,对非水平和垂直的边缘没有考虑。
▪ 相关性插值算法
前面介绍的两种通用的插值方法,都是用邻域内存在的G分量来计算缺少的G分量,而没有考虑R、G 、B三个分量的相关性。
实际上,R通道与G通道,以及B通道与G通道之间的光强度十分接近,差别不大,同时由于色差图像的灰度没有很明显的变化,说明图像各通道的强度的变化趋势是相似的,但色差图像仍然大致反映了原始图像的轮廓。
除了边界的高频区域,色差图像跟三通道的分量图像相比,灰度的变化更加平滑,在一个相当大的邻域内都基本保持恒定,所以采用色差值来描述图像在一个小邻域内保持恒定比用图像的各通道信息在一个小邻域内保持恒定要更加准确合理。
因此在相邻的小区域内设:
可以认为DR和DB为常数,这样就可以对G分量进行插值计算完成后,用得到的G分量再来得出R和B分量。具体公式如下:
这种利用信号相关的插值方法虽然比双线性插值方法复杂,但计算量比边缘检测少,同时还考虑了图像 R、G、B三个分量的关系,这样就不会因为某个分量变化过大而引起的色彩错误,减少了图像中的奇点。
本设计采用的是Intel公司的Cyclone®IV EP4CE6芯片,其具有6272个逻辑单元,270Kbits内嵌RAM存储资源,并内嵌了15个18×18硬件乘法器和PLL。丰富的硬件逻辑资源可以用来实现多个处理块的并行运算,从而大大提高的系统的整体处理速度。具体的硬件结构设计如下图所示:
图3:色彩复原模块结构图
在用Verilog硬件描述语言编写好色彩复原模块后,利用 Intel公司的Quartus® Prime内部的嵌入式逻辑分析器SignalTap在不影响设计功能的情况下来观察设计的内部信号波形,可以得到硬件实际的输出结果。从波形图可以看出结果基本满足设计要求。
图4:SignalTap测得的信号波形图
接下来我们对前面介绍的三种色彩复原算法进行了插值计算,输出效果如图5所示。从结果图可以直观看出,信号相关插值法较前两种方法,尤其较双线性插值方法锐化了图像边缘,提高了视觉质量。
图5:实验插值结果比较
总结
在利用FPGA进行图像采集系统中的色彩复原时,采用了Intel公司的Cyclone® IV EP4CE6芯片,利用其丰富的内部硬件资源和并行处理的优势,实时、准确的完成了色彩复原的工作。同时对滤波窗口进行了改进,用少量行缓存代替了传统的大容量存储单元,利用改进后的仅使用5×3处理窗口的相关性插值法恢复的彩色图像边缘清晰、平滑,而且节省了大量的硬件资源,从而在图像质量和硬件开销及处理速度之间取得了平衡,满足了图像采集系统的要求。
赵釜,海云捷迅资深架构师。重庆大学光学工程专业硕士研究生,13年FPGA开发设计经验,10年图像视频设备研发经历,开发过多款军用、工业级摄像机与视频采集卡,熟悉Xilinx、Altera、ACtel以及Lattice的开发流程以及开发工具,在高速接口、时序分析与约束、图像视频处理方面有丰富的开发经验。