+ All Categories
Home > Documents > Ú ¹ û : .) ¿ :!A [ &&' Ò£,XNp8F ¦ 1k©-è0J J)3*$ r) § áÖ6µ ...

Ú ¹ û : .) ¿ :!A [ &&' Ò£,XNp8F ¦ 1k©-è0J J)3*$ r) § áÖ6µ ...

Date post: 25-Nov-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
53
武汉理工大学 硕士学位论文 CCD图像的颜色插值算法研究及其FPGA实现 姓名:胡磊 申请学位级别:硕士 专业:通信与信息系统 指导教师:尹勇 20091201
Transcript

武汉理工大学

硕士学位论文

CCD图像的颜色插值算法研究及其FPGA实现

姓名:胡磊

申请学位级别:硕士

专业:通信与信息系统

指导教师:尹勇

20091201

武汉理工人学硕士学位论文

摘要

论文研究了基于Bayer格式的CCD原始图像的颜色插值算法,并将设计的

改进算法应用到以FPGA为核心的图像采集前端。出于对成本和体积的考虑,

一般的数字图像采集系统采用单片CCD或CMOS图像传感器,然后在感光表面

覆盖一层颜色滤波阵yiJ(CFA),经过CFA后每个像素点只能获得物理三基色(红、

绿、蓝)其中一种分量,形成马赛克图像。为了获得全彩色图像,就要利用周围

像素点的值近似地计算出被滤掉的颜色分量,称这个过程为颜色插值。由于当

前对图像采集系统的实时性要求越来越高,业内已经开始广泛采用FPGA来进

行图像处理,充分发挥硬件并行运算的速度优势,以求在处理速度和成像质量

两方面均达到满意的效果。。主要的工作内容如下:

本文首先介绍了彩色滤波阵列、图像色彩恢复和插值算法的概念,然后分

析和研究了当下常用的颜色插值算法,如双线性插值算法、加权系数法等等,

指出了各个算法的特点和不足;接下来针对硬件系统并行运算的特性和实时性

处理的要求,结合其中两种算法的思路设计了适用于硬件的改进算法,该算法

主要引入了方向标志位的概念以及平滑的边界仲裁法则来检测边界,借鉴利用

梯度的三角函数关系来判断边界方向,通过简化且适用于硬件的方法计算加权

系数,从而选择合适的方向进行插值。

在介绍了FPGA用于图像处理的优势后,针对FPGA的特点采用模块化结

构设计,详细阐述了本文算法的软件实现过程及所使用到的关键技术;文章设

计了一个以FPGA为核心的前端图像采集平台,并将改进插值算法应用到整个

系统当中。详细分析了采集前端的硬件需求,讨论了核心芯片的选型和硬件平

台设计中的注意事项,完成了印制电路板的制作。

文章通过MATLAB仿真得到了量化的性能评估数据,并选取几种算法在硬

件平台上运行,得到了实验图片。最后结合图片的视觉效果和仿真数据对几种

不同算法的效果进行了评估和比较,证明改进的算法对图像质量有所增强,取

得了良好的效果。

关键词:CCD图像;彩色滤波阵列;插值算法;FPGA;高速电路设计

武汉理工大学硕士学位论文

Abstract

This paper discusses CFA interpolation algorithm for Bayer CCD images and its

implement in image acquiring system based on FPGA.Considering the cost and the

complexity,digital image acquisition system usually adopt single CCD or CMOS

SCIISOT,which iS covered with a Color Filter Array(ab.CFA).For each pixel,only one

of the three primary colors(red,green or blue)can pass through the CFA.To get the

full color information,the other two missing color must be calculated by the

surrounding pixels.this iS called interpolation.As the demand for the speed of image

acquisition getting higher,FPGA is now being widely used for image processing to

take the advantages of parallel calculation,aiming at get the images rapidly and

properly.This paper will be focused on the design of an interpolation applicable to

hardware and its application in image acquisition system based on FPGA.The

contents are described as the follows:

The concept of color filter arrays is introduced first,SO as the meaning of color

restore and interpolation algorithm,then the analysis of some interpolations at present,

such as bilinear and weighing coefficient.Advantages and deficiencies of these

algorithms are pointed out,after that,an improved algorithm combined is presented,

which can feed the needs of real—time system and Call be carried out by hardware

easily.The new algorithm introduces a direction flag for each pixel,and a smooth

method for detecting edge direction,the calculations of the weighing coefficients are

executed by trigonometric function of the gradients which is simplified for hardware.

The advantage of FPGA on image processing is given,followed by the

realization of the interpolation algorithm and the detail key technologies.To imply of

the new algorithm in image acquisition system,a hardware platform is designed.The

discussions include the selection of main chip,the consideration of the whole

hardware design,and the layout of printed circuit board as well.

The data for the appraisal of algorithms were gained by the simulation in

MATLAB software;several interpolation algorithms were chosen and operated on the

武汉理工大学硕十学位论文

hardware platform,and pictures were exported.The effects of the algorithms are

judged and compared by experimental data and visual impacts both,and the

enhancement of the proposed interpolation algorithm is proved in the end.

Keywords:CCD Images;Color Filter Array;Interpolation algorithm;FPGA;

Hi曲一speed Circuit Design

IlI

独创性声明

本人声明,所呈交的论文是本人在导师指导下进行的研究工作及

取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,

论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得

武汉理工大学或其它教育机构的学位或证书而使用过的材料。与我一

同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说

明并表示了谢意。

签名:堇盟盘 日期:丝12:!三:!皇

学位论文使用授权书

本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:

学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,

允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的

全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制

手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有

关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息

服务。

(保密的论文在解密后应遵守此规定)

研究生(捌:钥毳导师(㈣:中秀日劬夕.队,7

武汉理T大学硕士学位论文

第1章绪论

1.1课题研究的背景和意义

图像信息是人类获取的最重要的信息之一,图像的采集和处理在现代多媒

体技术中占有重要的地位Ⅲ。在日常生活中,常用于数码相机、可视电话、多媒

体IP电话和电话会议等产品;在工业生产中,图像采集可用于材料分析、锅

炉火焰监测等;在生物医学领域,图像采集可以用于B超、CT、病理分析等;

在金融领域,图像采集可以用于票证处理,柜员机自动检测等;在航空航天领

域,可以用于各种运动目标的自动制导、运动物体的经纬度测定以及夜间侦察

等。

对任意一个图像采集系统而言,周围环境的图像信息都是来自于图像传感

器。图像传感器获得的原始图像信息的完整性和正确性,对于整个采集系统是

相当重要的,直接决定了最终的成像效果。从原始图像到最终形成的真彩色图

像的变换过程,称为色彩恢复,又叫颜色插值。颜色差值在图像压缩、解码和

数字图像采集系统彩色实时显示方面有着非常重要的应用,在过去二十年中一

直是研究热点,同时也产生了大量有价值的插值算法。然而这些插值算法一直

是欧美及日韩等发达国家数码相机制造厂商的高附加值技术,在国内的研究相

对较少。

本文讨论的颜色插值算法已经提出了有一段时间了,其中的一些算法已经

在DSP处理器中得到了实现。如今,追求高速度成为了图像处理的一个重要发

展趋势。由于DSP处理器没有摆脱传统CPU的串行指令执行方式,其图像处理

的速度问题一直是一个很难突破的设计瓶颈。随着大规模集成电路(ASIC)以

及现场可编程门阵列(FPGA)技术的发展,它们在图像领域的应用越来越广泛。

这就使图像采集和处理设计朝着速度快、容量大、体积小、重量轻的方向发展,

也为图像采集和处理系统的设计与实现提供了新的方法和思路旺1。目前,采用硬

件来实现各种图像处理算法,成为了最新的研究热点。因此,充分利用硬件系

统并行运算的速度优势,积极开展基于FPGA的颜色插值算法研究,并将其应用

到图像采集系统当中,具有重要的理论和现实意义。

武汉理工人学硕士学位论文

1.2 Bayer型CFA及插值

在数字图像采集系统的结构中,为了获得客观景象最详尽的描述,最佳的

方案是用三块CCD/CMOS接收红、绿、蓝三种颜色分量的信息,再合成彩色图

像。但是出于对成本与体积的考虑,大部分的数字图像采集系统都只采用一块

CCD/CMOS作为接收图像的传感器。一般是在感光表面覆盖颜色滤波阵列

p1(CFA),每点仅允许通过一种颜色分量,使每个感光单元只产生一个分量的灰

度值。其中,Bayer格式【4】的CFA作为最经典的阵列,应用最为广泛。如图1.1

所示,它交替使用一组红色和绿色滤镜以及一组绿色和蓝色滤镜,其中绿色像

素个数占总像素的1/2,红色和蓝色则只占1/4。这是由于人眼对绿色更为敏感,

能分辨更多的细节,同时,绿色也占据了可见光谱中最重要和最宽的位置。

R G R G R G

G B G B G B

R G R G R G

G B G B G B

R G R G R G

G B G B G B

图1-1 Bayer型CFA

经过Bayer型CFA后的传感器的原始输出是每个像素点只有红、绿或蓝一

种颜色分量的马赛克图像。为了获得全彩色图像,就要用周围像素的颜色灰度

值近似计算出被滤掉的颜色分量,即彩色恢复,又称颜色插值。

彩色恢复在过去二十年中一直是研究热点,同时也产生了大量有价值的插

值算法【5。21】。一般来说算法可以分为两类:第一类是单个颜色通道独立插值算法,

包括邻域插值法、双线性插值法、卷积插值法等,规律是未知的绿色分量值仅

由已知的绿色像素的强度进行估算,对红和蓝色通道亦是如此。其中最典型、

应用最多的是双线性法。这一类算法容易实现,在平滑区域内也可以得到比较

满意的效果,但在高频区域,尤其是在边界区域却失真明显。第二类则是利用

多通道的相关性进行插值,这一类自适应的算法常常结合了对图像细节的分析

判断以及颜色通道之间的相关性,插值效果要明显优于前一类,大部分的算法

都属于这一类。例如基于边界的算法f9H121,加权系数法【13】【14】,交互式插值法【1 51,

最优化恢复‘16卜【1 91,也有部分算法利用了信号变换如小波变换【13】f17】,傅立叶变换

2

武汉理r大学硕士学位论文

120噜,这些算法通常能得到比较满意的效果,尤其是清晰的边界与细节特征

但往往算法复杂,无法适用于硬件系统。

1.3 FPGA用于图像处理的优势

实时图像处理对数据处理能力和吞吐量有很高的要求。以一幅分辨率为

640x480的lO位彩色图像为例,其数据量达到了384K字节。各种图像处理算

法因为计算过程复杂,也需要处理器有足够强大的运算能力。因此,要想保证

图像处理的实时性,系统的快速处理能力和大数据量的吞吐能力是其先决条件。

近几年来,随着大规模可编程逻辑器件的发展和嵌入式技术的不断进步,

低成本FPGA不断推陈出新。半导体工艺的进步不仅带来FPGA成本的降低,

还使其性能显著提升,同时不断集成一些新的硬件资源,比如内嵌DSP块、内

嵌RAM块、锁相环(PLL)、高速外部存储器接口(DDRfDDR2)、高速LVDS接

121等。在Altera公司90rim的Cyclone 1I FPGA内部,还可以集成一种软处理器

Nios II及其外设,它是目前FPGA中应用最为广泛的软处理器系统。作为一个

平台,FPGA显然已经非常适台于高性能低成奉的视频和图像应用。

El前在图像处理应用的核心芯片主要为DSP或者FPGA,传统的DsP处理

器是一个高性能的数字处理器,内部包括一个高性能的中央运算单元,其运行

频率可以达到干兆赫兹,但是当进行较复杂的运算时,可能循环几百次才可以

完成,从而在一定程度上影响了它的运行速度口“。

高计算工作譬

基于FPGA的osP一并行

.“。.。”}4”;”。j。“l。。j““;’

$?黪糯镥姆强镑豫孵●§●驰脚%●0●

瞢遥OSP处理器一串行

毯Z番

图1-2同种运算FPGA和DSP对比图

霉习

武汉理工大学硕士学位论文

图1.2所示为FPGA和DSP进行同一次A/D转换时的速度对比。FPGA是

基于并行处理结构,可以同时进行多路不同性质的运算,FPGA里包含了许多嵌

入式的运算单元如乘法器等,可以把复杂的运算分解成许多通路同时进行,缩

短计算完成的时间。而DSP虽然是基于流水线的形式,但仍然是串行的指令的

执行和存取方式,当进行多种不同性质的运算的时候,流水线的优势几乎发挥

不出来.所以FPGA的运算速度实际上是远远高于传统的DSP。典型的FPGA

和DSP的运算性能对比如图1-3所示。

图1-3 FPGA和DSP的性能对比

1.4课题来源及结构安排

本课题来源于华中数控公司的实时图像采集系统项目。其目的是对工业生

产中数控机床的运彳亍状况进行实时图像的采集和监控。系统采用FPGA作为图像

采集的控制端。在对体积小巧的零件进行精密加1的时候,数控机床生产线上

零件摆放就比较密集,此时采集到的图像干扰信息多,无法分辨各个部件的轮

廓。因此本文在图像处理方面进行了重点研究。

本文针对经过彩色滤波阵列后的马赛克图像的特点,设计了一种适合于硬

件实现的颜色插值算法,并将其应用到以FPGA为核心的图像采集平台当中,

完成了图像采集的前端工作。主要结构和内容安排如下:

第二章介绍了El前常用的几种插值算法及其优缺点,说明了改进算法的设

计思路来源,再结台图像处理的实时性要求以及硬件运算的特性,提出了改进

的新算法,最后从硬件可实现性的角度对该算法进行了分析。

武汉理工大学硕士学位论文

第三章详细讨论了改进的插值算法在FPGA中的实现过程,包括整个软件

设计的模块划分、各子功能模块的具体实现以及所使用到的关键技术。

第四章从仿真数据和视觉效果两方面对改进算法的效果进行验证。为了验

证算法的运行效果,搭建了以FPGA为核心的一个前端图像采集平台,在分析

其硬件需求的基础上,介绍了核心芯片的选型,并对高速电路设计布局布线的

难点做了讨论

第五章总结了全文的工作内容,指出了不足之处,并对下一步的研究给出

展望。

武汉理工大学硕士学位论文

第2章 插值算法的研究及改进

本章主要进行插值算法的理论设计。为了更好地阐述本文改进算法的设计

思路来源,首先有选择性地介绍几种常用的颜色插值算法,包括它们计算过程

和各自优缺点,并在此基础上提出改进方案,以确保改进算法的效果和实时性。

2.1常用插值算法的分析和比较

双线性插值法属于单通道独立插值法,作为最为传统、最为基础的插值算

法之一,它仍然是理解并设计新型算法的基础,对参考评估其它算法的性能仍

具有广泛的意义。参考图2一l,该图为标注了坐标位置的Bayer采样阵列,传感

器只获得相应位置所对应的单色分量的强度。

R1l G12 R13 G14 R15 G16

G2l B22 G23 B24 G25 B26

R31 G32 R33 G34 R35 G36

G41 B42 G43 B44 G45 B46

R51 G52 R53 G54 R55 G56

G61 B62 G63 B64 G65 B66

图2—1 Bayer格式阵歹0

双线性插值的具体计算过程如下-

(1)绿色像素上的R,B值分别由相邻的2个R,B像素的灰度求平均值

得到。以图2-1中的象素点(2,3)为例,该点的R,B值计算公式如下:

如:掣粤(2-1)

哎,:冬粤(2-2)

6

武汉理一[大学硕士学位论文

(2)红、蓝像素上的G值由相邻的4个绿色像素求平均值得到。参考图2.1

中象素A(3,3)和(4,4),这两点的绿色分量值可以表示为:G3,:墅亟掣(2-3)瓯:墅竖掣(2-4)q

(3)红色像素上的B值由对角线上相邻的4个B像素平均得到。观察象素

点(3,3),该点的B值可以表示为:民:墅些掣 (2.5)斗

(4)蓝色像素上的R值由对角线上相邻的4个R像素平均得到。观察象素

点(4,4),该点的R值可以表示为:

R44:—R33—"St"—.R35-+—R5—3+Rs5 (2.6)斗

由于双线性法是单通道之间独立插值,并且始终取3x3滤波器的平均值,

忽略了细节信息,以及图片三个颜色通道之间的相关性,所以双线性法往往不

能得到满意的插值效果,容易在细线状态结构的边缘处产生锯齿形图案。

由于人的视觉系统对色彩的变化以及边界信息敏感,错误的色彩,模糊的

边界都会直接影响用户观察到的图片质量,因此高效的插值算法都会结合边界

进行插值。为合理解决边界的插值问题,研究人员提出了基于梯度的插值算法。

目前常见的有基于一阶微分的Hibbardt91算法、计算二阶微分的Laroche[101算法以

及改进的自适应插值算法【111等。下面以Hibbard算法为例做简要介绍。

在Bayer格式中,绿色像素占了总像素的一半,也反映了更多的细节,因此,

插值都会优先考虑对绿色通道的恢复【231,而红色和蓝色的比例较少,细节信息

少,需要估算的信息多,失真会明显,为改进算法的性能,多会从改善红色与

蓝色通道着手。为保证插值是沿着边界进行,而没有跨越边界,在恢复绿色分

量时,先通过计算梯度来检测边界方向,从而选择合适的插值方向。为恢复出

采样点的绿色分量,先计算出该点水平和竖直方向的梯度算子。以图2.1中点

B44为例,假设仅为该采样点水平方向的梯度,B为竖直方向的梯度,计算一阶

微分得到:

口=l G4,一G4,I (2-7)

∥=I G3。一瓯I (2—8)

7

武汉理工大学硕士学位论文

如果cc<B,即竖直方向的颜色变化比水平方向要大,则认为水平方向存在边

界的概率比较大,插值会沿着最可能的边界进行,即在水平方向进行,而水平

方向的邻域像素与被插值点的像素的相关性也会大于竖直方向的像素。插值结

果如下式所示:

瓯:譬导(2-9)瓯=二箜÷翌

如果0【>D,则认为在竖直方向存在边界的概率大,插值在竖直方向进行。插

值结果为:

瓯:肇导(2-lo)如果两者相比较相等的话,则认为该像素点处在一个平滑区域内,插值在

整个邻域内进行,计算公式如下:瓯:坠竖警(2-11)第二步:在对红色和蓝色通道插值时,用到的基本思想是基于色差的插值

算法【241该算法认为在图片的小平滑区域内,色差恒定的。假设像素点P(ij)邻近

的一个采样点是P(m,n),则有:

心一Gif『=Rm。一G。 (2_12)

岛一岛=吃。一G。 (2-13)

以R通道插值为例,像素点G43在上下两个位置有己知的R色彩值,其红

色分量计算表达式为:

R:——一——+——43 R33+R53 633+653 G,3

2 4 2

在像素点G34中插值R34,在左右两个位置有己知的R色彩值:

足。:姓一633-I-635 q-.634.。。

2 4 2

还有一种情况如B44,该点的两个对角线上有己知的R色彩值:耻坠半一坠半+瓯蓝色通道处理往往是与红色通道一致。经过这两个步骤的处理,

Bayer图片的重构图像。

(2-14)

(2—15)

(2-16)

可以获得

前面介绍的双线性法和Hibbard算法有一个共同的特征,就是它们在插值过

程中都采用了周围象素值平均的方式,这种方式实现起来比较简单,但是由于

武汉理T大学硕十学位论文

在实际图像中,图像的很多细节并非周围象素值平均可以描述,而是侧重于某

一个方向,于是1999年,Ron Killune∥J首先在插值算法中引入了加权系数。前

面描述的插值方法可以看作是加权系数为0.5或0.25的插值算法。Lu[14】在2003

年提出的方法可以看作是对Ron Kimmel方法的改进,与Kimmel的方法类似,

不同的是它在插值过程中运用的是色差规则,而不是色比规则【251。同时对加权

系数的计算有所差异,对不同位置象素的加权系数有不同的计算方法,其算法

性能质量较Kimmel的方法有所提高。限于篇幅,本文不再介绍加权系数法的计

算过程。本文提出的改进插值算法也用到了加权系数的思想。

2.2改进的插值算法

2.2.1边界方向的判断

在2.1节中介绍的基于边界的方法中,插值均是采用了一种平滑的均值插值

法则,每一个插值分量拥有等同的权重(O.5或是0.25)。这样的处理依然忽略了

较多的图片细节。该算法认为图像的边界只存在于水平方向或者竖直方向,但

实际情况并非如此,边界的方向可能是任意的。

G

边界的方向

图2—2梯度向量示意图

如图2.2所示,当像素点在水平和竖直方向的梯度分别为Gh和Gv时,我

们定义G为该点的梯度向量,该向量有两个重要的特性,一是幅值的大小,二

是向量的角度‘261。向量的角度0反映了图像在该处强度变化最快的方向,而边

界则最可能出现在和向量G垂直的方向上,图2.2中红色线条很可能就是实际

9

武汉理1=大学硕士学位论文

的图像边界。对于角0而言,它的值越小时,边界在竖直方向的可能性越大,

竖直方向邻近的像素点在插值计算中应占更大的比重;反之,0的值越大,则

该像素点与水平方向相邻的其他点相关性越强。在此,我们分别用e}l和ev来表

示像素点沿水平以及竖直方向分布的光强度比例系数,称之为加权系数,加权

系数的大小决定了该方向的数据在计算中的比重。在插值运算过程中,首先计

算出每个像素点在水平和竖直方向的梯度,然后根据梯度值分别在两个方向给

出加权系数,再计算得出该点的插值结果。

2.2.2平滑的仲裁方法

最初的设想是将水平方向梯度Gh和竖直方向梯度Gv作为两条直角边,构

成一个直角三角形,然后通过求三角函数值确定加权系数。两个方向的加权系

数的计算公式如式(2.17)和(2.18)所示:仃eh=SinO=T三与 (2-17)

心G’:七G:门

ev=Co妇=了三丝i (2—18)心Gi七G:

然而,由于三角函数的计算过程中有开平方根和除法等较为复杂的运算,

在FPGA中实现起来会相当困难,尤其是开平方根运算,目前还没有比较成熟

的硬件运行方法。因此,本文采取一种手段,避免了三角函数的求值计算。具

体实现方法如下:

首先引入方向标志位的概念。由于每个像素与它邻域内的像素具有相关性,

我们认为每一像素都存在方向标志位,定义符号nag咖为位于第m行n列的像

素P瑚的标志位。如果flag枷=l,认为像素P咖与水平方向的像素的相关性大,

在该方向存在边界的概率比较大;反之flag.。=0,认为该像素在竖直方向存在边

界的概率比较大。以图2.1的B44像素点为例,分别计算其水平与竖直方向的梯

度瓯、Gv.

索贝尔算子‘271(Sobel operator)是图像处理中的算子之一,主要用作边缘检

测。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似

值。在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量。

Sobel算子包含两组3x3的矩阵,分别对应横向及纵向的运算系数,将之与

图像数据作平面卷积,即可分别得出横向及纵向的梯度值。如果以A代表

lO

武汉理工大学硕七学位论文

原始图像,G。及Gv分别代表经横向及纵向边缘检测的图像,则计算公式定

义为:

[-1 o 1] 『_一l一2—1]Gx=I-2 0 2 4,6y=l 0 0 0 lA

卜1 0 1J L 1 2 1 J (2—19)

套用索贝尔算子,则像素点B44处的梯度计算表达式为:

6h=恐5+R55+2G45一(恐3+恐3+2G43) (2—20)

G=恐3+恐5+2G5。一(B3+恐5+2G34) (2-21)

如果6h<Gv,取flag=l,否则flag--0。使用上面的规则,可以获得每个像

素的方向标志位,判断出边界可能存在的方向。然而,本文不是直接以方向标

志位作为判断边界的标准,而是采用一种平滑的仲裁法来检测边界。

对于像素点B“,取其邻域内3x3窗口,将邻域内9个点的标志位都计算

出来,统计它们的总和,定义为total fla944:

total—fla944=fla933+fla934+fla935+fla943+fla914+fla945+flags3+flags4+fla955(2—22)

由式(2.22)可知,total_fla944的取值范围在∞9之间,且为整数。为简化

计算过程,本文给这个变量的每个取值分配一个“近似”的角度值0,也就是将

肚90度的角度进行9等分,每10度为一个步进,然后查三角函数表得到水平方

向和竖直方向的加权系数,避免了复杂的计算。

2.2.3插值运算公式的确定

通过统计标志位和查表,我们得到了像素点B44新的绿色分量计算表达式,

定义为:6,4:(兰I王±警一兰I生妄生)sin口+(兰蔓生掣一皇基‘}墅)c。s0(2-23)由于Sin0和Cos0都是介于0到1之间的小数,而在FPGA中进行浮点乘法

运算比较复杂,占用资源多,会对运行速度造成影响。因此考虑采用一种比较

简单也比较常用的办法,将浮点乘法运算转换整数运算。例如,当0=30‘时,

Sin0=0.5,Cos0=0.866,则取水平方向的加权系数eh=500,竖直方向加权系数cv

为866,计算得到的结果再左移10位(即除以1024),就可以得到近似结果。

该点绿色分量的计算表达式改变为:

瓯.[(墅訾盟一譬净)%+(坠訾盟一墅净溉】<<10(2-24)

武汉理丁大学硕十学位论文

其中eh和ev的取值与total_flag以及0的对应关系如表2-1所示:

表2一l 标志位与加权系数对应表

total——flag 0 eh ev

O 0 O 1024

1 10 173 984

2 20 342 940

3 30 512 866

4 40 642 766

5 50 766 642

6 60 866 512

7 70 940 342

8 80 984 173

9 90 1024 0

由表2.1可知,水平方向加权系数eh的值为对应角度0的正弦值乘以1000

后取整的结果(部分值稍做调整),竖直方向加权系数ev的处理方法相同。

至此就已经完成了对图片绿色分量的恢复,接下来要恢复R通道和B通

道的颜色分量。在对R和B通道插值时,用到的基本思想是基于色差的算法。

假设现在需要恢复R通道信息,根据阵列的排列格式,总共有三种不同的情况:

像素点G43在上下两个位置有己知的R色彩值,其红色分量计算式为:

冠,:—R33+R5—3+643一—G33+—G53 (2—25)¨2 4

、 。

在像素点G34中插值R34,在左右两个位置有已知的R色彩值:

B。=恐3+R35+瓯 G33+G35

(2—26)

还有一种情况如B“,该点的两个对角线上有已知的R色彩值,由于前面的

G通道恢复过程中已经考虑过边界的方向和角度问题,此时就不再进行梯度的计

算和比较,直接取邻域内像素点的灰度平均值:扎:墅监掣一墅竖掣."1-瓯(2-27)斗 ‘.

B通道与R通道的处理一致。经过上面两个步骤的处理,就完成了图片的

插值过程。

12

武汉理|T大学硕士学位论文

2.3改进算法的硬件可行性研究

改进的插值算法能否在FPGA中实现是算法理分析时考虑的重点之一。虽

然FPGA在用于图像处理时有其速度上的优势,但并不是任意一种运算都能在

硬件系统中执行。针对本文设计的改进插值算法,我们从两个方面对其硬件可

执行性进行研究。

2.3.1硬件资源需求分析

由于图像信息的数据量非常大,对硬件的数据吞吐能力有很高的要求。本

文提出的改进插值算法在对每个像素点的插值运算过程中,会用到相邻三行内

的像素数据,而图像数据是连续输入的。因此需要足够的存储空间,至少要缓

存参与计算的三行图像数据。当采集图像的分辨率为640×480时,每一行的图

像数据量为O.8KB,输入缓冲可以采用适当大一些的片内RAM来实现,初步估

计采用2KB的片内RAM。我们称一个用于缓存数据的RAM块为一条line buffer。

同理,由于本文提出了一种平滑的边界检测方法,在考虑和计算边界的方向时

需要参考领域内9个点的标志位,每个标志位数据宽度为lbit,所以一行像素点

的标志位总的数据量为80比特,而为了存储这些flag标志变量,需要再增加三

条1KB的line buffer;加权系数的取值固定,分配一个IKB的查找表足够应付。

初步估算总共需要的片内RAM容量不超过30KB,而本文选择的FPGA芯

片片内RAM容量达到了482KB。虽然后续的设计过程中为了提高运算速度,经

常会采用流水线、并行处理等技术,使得占用的硬件资源量成倍增长,但由于

芯片的资源有较大的剩余,因此完全可以满足需求。

2.3.2计算复杂度分析

在计算复杂性方面,本文采用了近似取值方法,回避了三角函数计算中开

平方根和除法运算,而直接查表来得到结果。这样就使得改进的算法仅仅使用

四则运算实现,由于FPGA芯片内部提供了大量的乘法器资源,文中所提到的

10×10的乘法运算可以顺利完成,不会成为系统运行的速度瓶颈。因此,本文提

出的算法在硬件上是完全可行的。

武汉理工人学硕士学位论文

2.4本章小结

本章选取了几种有代表性的颜色插值算法进行比较和分析,指出了各个算

法的特点和不足。然后以自适应插值算法为基础,参考三角函数法的思想,在

插值计算时考虑到了边界方向的任意性,提出了改进后的插值算法。为了使改

进的算法能在硬件系统中顺利进行,采用平滑的仲裁方式和查表的方法避免了

求三角函数值过程中的复杂计算。最后从硬件资源需求和计算复杂度两方面对

改进算法的硬件可行性做出了分析。

14

武汉理:T=大学硕士学位论文

第3章 改进算法在图像采集中的应用

对于任何一种插值算法,单独地研究其在FPGA中的代码编写和设计是没

有意义的。本文从实际工程的角度出发,将改进的插值算法作为一个单独的图

像处理模块嵌入到实时图像采集软件系统中,并做好前后级的数据接口和时序

设计,以充分发挥FPGA硬件处理图像的速度优势。

3.1软件结构及模块划分

本文设计的图像采集软件系统在功能上可以分为四个部分:图像采集模块、

图像处理模块、图像显示模块和数据存储模块。总体的原理结构框图如图3.1所

示,其中,图像采集模块的主要作用是负责图像传感器的驱动,采集到的原始

图像数据进入FPGA后,大致经过如下几个处理阶段:首先进入输入缓冲,采

用片内RAM暂存起来;再通过缓存输出,送到后级的图像处理模块,进行插值

运算处理;最后传输到实时显示控制模块。显示控制模块为D/A视频转换芯片

提供数据接口和驱动信号,图像数据经DA转换后就可以送至VGA显示设备进

行显示,便于调试观察。

由于本文的重点是对插值算法的研究,因此在设计时没有进行连续图像的

实时存储,而是根据需求保存单幅的图片,分析不同算法对同一幅图片的处理

效果。为了突出工作重点,本章没有讨论存储模块的软件设计。而图像采集模

块的设计和改进插值算法的实现是整个FPGA系统的软件设计关键点,直接关

系到图像采集的质量、系统运行速度等一系列指标。下面的章节将对这两部分

的软件设计和实现过程中采用到的关键技术进行详细讨论,给出实现方法和相

关的仿真波形。总体设计方案如图3.1所示

武汉理T大学硕七学位论文

图3.1总体结构框图

3.2图像采集模块的设计

本设计采用的是MICRON公司的图像传感器MT9M131。它是一种彩色CCD

图像传感器,输出像素达到130万,可以采集静止图像或视频图像,支持多种

显示格式如QVGA、SXGA和VGA,支持的最大分辨率为1280x960。在VGA

图像格式下,~D转换最大可以支持每秒30帧的工作速度【28】。由于MT9M131

是标准的12C总线器件,传感器工作时只有6个控制信号,而且输出的是已经

完成A/D转换的数字信号,因此可以直接和FPGA芯片进行接口,无需外接其

它电路。图像传感器与FPGA芯片的接口信号如表3.1所示:

16

武汉理T大学硕士学位论文

表3.1图像传感器接口

管脚顺序 信号名称 信号定义

l~lO D0~D9 图像数据信号

1l PCLK 像素时钟输出

12 MCLK 工作时钟输入

13 Z溺三 行有效指示信号

14 FVAL 帧有效指示信号

15 SCLK 串行时钟信号

16 SDAT 串行数据信号

上述16个信号中,D0--D9是图像传感器的数据信号,MCLK是传感器工作

时钟输入,由FPGA产生;PCLK是象素同步时钟,FVAL是帧有效信号,它的

上升沿表示一帧数据的开始。LVAL则是行有效信号,它的高电平期间表示一行

数据正在输出。由于本系统采用的图像分辨率为640×480,在FVAL信号的有效

期间内包含了480个行有效信号LVAL,而每个LVAL信号的高电平期间包含了

数据总线上640个像素数据的输出。所以,在FVAL一个周期内,图像传感器正

好输出了完整的一帧图像。仅当FVAL和LVAL信号同时为高电平时,传感器输

出数据D[9:O]有效,FPGA在每个像素时钟PCLK上升沿时将有效数据读入。经

实测,传感器正常工作时,LVAL信号的频率约为14.2KHZ。

3.2.1传感器初始化模块设计

本文采用硬件描述语言(HDL)来编写图像传感器的时序驱动。在实际设

计中,把图像采集模块分成两部分:传感器初始化模块和采样控制模块。初始

化模块在顶层设计中的模块图如图3.2所示,其中,iCLK是模块时钟输入信号,

图像传感器工作时钟为25MHz;iRST N是全局复位信号,用来保证系统各部

分在上电后处于一个己知的状态,iExposure是一个16位的输入向量,它的取值

决定了感光元件的曝光时间。一般而言,曝光时间越长,采集到的图像亮度越

高,但采集的帧率也会相应地下降,本设计参照正常情况下室内的光照条件,

根据实际经验给该向量取一个固定值,实验过程中还可以随时更改。模块的两

个输出信号12C—SCLK和12C—SDAT即为与图像传感器的接口信号。

武汉理上大学硕士学位论文

意[h J能:

口【目㈣I嘲㈨

图3-2初始化模块顶层图及时序仿真图

3.2.2采集控制模块设计

采集控制模块的功能是完成图像传感器与FPGA芯片之问的数据传递,其

顶层模块如图3-3所示。在模块的输入端,iDATA[9 01为传感器图像数据的输入

接口,iFVAL和iLVAL为前面所提到的帧有效和行有效信号.与像素时钟配合,

保证输入数据的有效性;iCLK为系统时钟输入。为达到人机交互的目的,本设

计提供了开始、暂停和系统复位等控制按键,方便随时观察图像处理效果。剧

3-3中的iSTART,lEND,iRST分别为其对应输入信号。当检测到iEND信号的

下降沿时,系统停止进行图像采集,并把此时得到的图像存入SDRAM。

在输出端,oDVAL是数据有效信号,该信号的高电平期间表示输出的图像

数据有效,由前面的分析可知,oDVAL即为iFVAL和iLVAL进行“与”运算的

结果,oX Cont和oY Cont是计数变量,用来标记当前象素点在整幅图像中的

坐标位置,例如:当oX Cont=-200,oY Cont-300时,表明oDATA当前输出的

是第300行200列处的象素点数据,这两个计数变量还可以传送到后级图像处

理模块,参与插值运算;最后一个oFrame Cont是帧计数变量,它的值对应着

从系统开始工作到当前累计处理的总帧数,可以用来计算系统的处理帧率。

图3-3采集控制模块的顶层图

武汉理工大学硕士学位论文

设计中采用硬件描述语言编码来综合出所需要的控制时序。硬件描述语言

的语法是基于并行运算的,与其他的MCU串行执行的软件流程并不相同。编写

代码时参考有限状态机【29】的思想,通过标志位标识当前的处理状态,另外引入

一个请求信号,两者共同决定状态的转移与否。只有在前一帧图像采集完成,

已经输出到下一级模块,并且接收到请求信号时才进行新一帧图像的采集处理。

这样就避免了相邻两帧图像直接产生干扰,确保图像数据的正确性。采集控制

模块软件流程如图3.4所示。

图3.4采集模块软件流程图

19

武汉理工人学硕士学位论文

3.3图像处理模块的设计

本文提出的改进插值算法是采用一种平滑的边界检测手段,整个插值运算

模块的处理主要分为以下几个步骤:首先是根据Sobel算子计算出各个象素点处

的水平和垂直两个方向的梯度,然后两者进行比较得到该点处的标志位;再将

3x3窗口内9个标志位相加求和,查找LUT表得到加权值,最后才能进行插值

运算。插值运算的流程图如图3.5所示,下面将分别介绍该过程中关键模块的设

计思路。

3.3.1数据输入与缓存

图3.5插值运算流程

本文提出的算法是基于3x3窗口矩阵的邻域插值运算,而传感器的图像数

据输入是连续的,因此要对输入数据进行缓存。由运算公式可以看出,每个像

素点的插值运算需要用到自身及上下相邻的共三行像素数据,故将输入数据分

成三个单元进行缓存,每个单元分配一块片内RAM,存储一行的图像数据。

数据分行进行缓存处理的原理框图如图3-6所示。利用Cyclone II系列芯片

的特点,可以在FPGA内部定义三个双口RAM,将图像数据存储到芯片内部的

双口RAM中,这样就省去了外接存储器的麻烦,减少了硬件平台的布线的设计

难度,更重要的是,双口RAM中两套独立的地址、数据及控制信号使得读写操

作能够在一个时钟周期内方便地完成。通过对接收到的图像数据进行乒乓操作

【301,可以扩大数据吞吐量,计算单元采用流水线与并行结合的结构,可以加快

运算速度。

20

武汉理工大学硕士学位论文

图3-6输入缓存原理框图

双口RAM的控制在实际应用中是一个关键,传感器的输出信号在地址信

号,读、写信号的控制下被存入RAM或读出.为了实现后续插值计算的流水线

操作,同时Ⅵ靠地存储、读取三行数据,应使控制电路尽量简单。设计中利用

双口RAM的特点,采用同步逻辑来产生三个片内RAM的使能信号。前面采集

控制模块的输出已经包含了行计数变量oY Cont,该变量每变化一次.表示新一

行数据的输入,因此在设计时将该变量作为缓存控制模块的输入,以它的最低

位作为敏感信号。该部分模块的仿真波形如图3-7所示.其中ovcrenl.owren2,

owren3分别对应三片RAM的写使能信号,三个信号电平轮流置高,表明每个

时刻只有一片RAM被选中进行数据输入,再参考行有效信号iLVAL可以看出,

每次使能信号的高电平持续时间与行有效信号的高电平周期相同,证明图像数

据是以行为单位在三片RAM中分开存储的。

mmm ⋯{P*h ‘目q¨d 喵0 蛔

n t|t qI 1咖j M%㈣∞⋯自1E “tⅡ 573{.1‘B 5,5u

㈣㈣㈣t∞㈣㈣㈣,㈣】!㈣__:iⅢ—————J L—j L—————__———]————__——-_—————广—1——

r——-]’——一———_-

圈3—7输入缓存时序仿真图

武汉理丁大学硕士学位论文

3.3.2邻域窗口的数据获取

如前文所述,图像数据的输入是连续、串行的,而计算每个像素点处的梯

度需要以该点为中心的3×3邻域9个像素点的图像数据同时参与运算。图3.8

给出了三条片内RAM存储情况的示意图,假设现在要计算像素点X22的梯度

值,那么此时RAMl中的X1,X2,X3,RAM3中的Z1~Z3以及RAM2中的

Yl—Y3都需要同时送到后级的运算模块,而RAM在每个像素时钟周期只能输

出一个点的数据,此时就需要进行串并转换。

RAMl X1 X2 X3 X4

RAM2 Y1 Y2 Y3 Y4

RAM3 Z1 Z2 Z3 Z4

图3—8 3x3窗口像素示意图

串并转换是数据流处理的常用手段,也是面积与速度互换思想的直接体现

【2引,通常采用移位寄存器来实现。本设计采用多级D触发器级联达到串并转换

的目的,设计中的顶层连接图如图3-9所示。

设计中将RAMl的数据输出端依次经过三个10位的D触发器进行级联,

每个D触发器和RAMl在同一个系统时钟下工作,然后将三个D触发器的输出

Q端分别引出,并行的送到下一级的计算模块。假设当前计算的是Y2处的梯度,

则此时图3-9中三个D触发器的输出从右至左依次为X1,X2和X3像素点的灰

度值;当下一个时钟周期到达时,像素点X4的图像数据从RAMl输出到触发

器1,而触发器1在上一个时钟周期锁存的数据X3此时被打入dff2,依次类推,

dffl到dff3的输出端分别对应像素点X4、X3和X2处的数据,正好是计算点

Y2梯度所需的三个邻域数据。

其他两条RAM的串并转换原理与图3-9相同,9个D触发器的输出端一起

送入到梯度计算模块,就完成了计算需要的所有数据的获取。虽然多个D触发

器的级联增加了硬件资源的占用率,但可以使整个邻域窗口的数据以像素时钟

为周期向后级模块传递,加快了运算的速度,从而保证了算法的实时性。

武汉理工大学硕士学位论文

图3-9串并转换模块顶层图

图3.10是串并转换模块对应的时序波形仿真图,图中,elk是模块的时钟信

号,也就是像素的同步时钟,data是片内缓存RAM输出的数据,为了验证输出

的正确性.采用计数值,每个周期增加1,outl,out2和out3分别对应的是图

3-9中三个10位D触发器的输出结果,从图中可以看出,三个触发器的输出在

时间上依次滞后了一个时钟周期,在同一个时钟周期内,输出的值对应RAM中

连续三个存储单元的数据,在实际的运算时,也就是进行梯度运算的像素点,

和该点的前后两个相邻像素点的图像灰度数据,正好可以同时输出到梯度运算

模块,满足计算的数据要求。

.]_]__n几n广.几几几n n几n n广_n n『

图3。10串并转换模块的时序仿真圈

武汉理工大学硕士学位论文

3.3.3特殊像素点的处理

在进行串并转换获得运算数据的过程中,有一些像素点情况比较特殊,需

要区别处理。这里指的是每一帧图像最外围的一圈像素点,也就是单幅图像的

第一行、第一列、最后一行和最后-yzJ上的像素点。除这四种特殊的情况,其

它的像素点均可以作为3x3邻域窗口的中心点,按上述方法去计算梯度值。对

于这一类特殊的点而言,由于图像的边缘包含的信息比较少,即便去掉最外围

的一圈,对整体的图像质量也不会有明显的影响。所以,大多数的图像处理的

算法都是将认为这些边乔点的灰度值为零【311。本文也采用这种方法来处理,通

过计数器得到实时的行数和列数,当检测到该像素点位于特殊位置时,将该点

的值清零,并给插值运算模块传递一个控制信号,此时不进行插值运算。这样

就避免了前一帧图像的最后两行和下一帧图像的第一行进行插值而产生的错

误。

在设计过程中采用计数器来实现控制信号的产生。实验中采用的是640x480

的分辨率,对于列数的计数,采用一个同步清零计数器,每次计到639则自动

清零,使用同步像素时钟作为该计数器的时钟输入;同理,对于行的计数,采

用3.2节中的行同步信号iLVAL作为时钟输入,计数深度设定为480。在两个计

数器各自计数的同时对当前值进行比较判断,分别生成使能信号,当两个使能

信号输出都为高电平时,则表示像素点不在特殊位置上,插值正常进行。

图3.11是计数模块部分的仿真波形,从图中可以看出,当列数为0和639

(即像素点位于该行的第一个和最后一个)时,插值使能信号enl为低电平,插

值运算被屏蔽,此时没有数据输出。

同理,en2为行计数器产生的使能信号,它的产生原理和列计数器类似,由

于它的变化周期是列计数器的640倍,因此没有在同一张仿真图片中展示出来,

此处不再详细介绍。图中的en是最终的插值使能信号,由enl和en2做“与"

运算得到,作为控制端送到下一级运算模块。

武汉理下_人学硕十学位论文

^口“ 生pooe’ 剐m }忡t

3.3.4梯度计算的流水线设计

经过串并转换模块以后,就同时得到了梯度计算需要的9个邻域像素点的

数据。以图3 8中的像素点Y2为例,采用索贝尔算子计算该点梯度的过程比较

简单(参见2 2 3节中式2—20),完全可以在一个模块内由硬件描述语言编程实

现。但为了尽量减少计算耗时,设计中采用流水线结构。4进行处理。

图3—12是采用流水线结掏计算水平方向梯度Gh的原理图,设计中全部采

用10位的二输入加法器,在每一级的加法器输出端后面级联一个D触发器,所

有的加法器和D触发器均使用同一个时钟。假设加法器完成一次加法运算需要

的时『自J为T,在没有采用流水线结构|三I前,数据要串行经过三个加/减法器,计

算一次梯度的时间为3T;而在图3—12中,电路被分割为三级流水线,每级的处

理时间为T,因此,整体电路的数据输出频率为i/T,比未采用流水线结构之前

的速率提高了3倍。计算竖直梯度Gv时也使用同样的处理方式,而且两个梯度

的计算过程是并行的,互不干扰,有效地缩短了处理时间。

努直方向的梯度计算也采用这样的处理方式,而且水平方向和竖直方向的

计算是并行处理的,节约了运算时间。在完成了两个梯度计算之后,送入比较

器之前,还可以荐加一级D触发器,从而构成四级的流水线结构。

武汉理工大学硕士学位论文

图3.12梯度计算的流水线设计

3.3.5插值运算的时序控制

在完成了梯度和标志位的计算之后,下一步就要进行插值运算。仍以图3.8

中点Y2为例,依据改进插值算法的设计思想,最终对点Y2处进行运算时,需

要下一行点Z1,Z2和Z3处的梯度和标志位,再查表获得加权值,因此,计算

得到该点处插值结果的时刻相较该点处图像数据的输入时刻要滞后一行像素的

时间。

FIFO(先入先出)电路是解决异步时钟接口的一种简便、快捷的方法,使

用异步FIFO可以在两个不同时钟系统之间快速而方便地传输实时数据,它是一

种先进先出的电路,使用在需要产时数据接口的部分,用来存储、缓冲在两个

异步时钟之间的数据传输。在异步电路中,由于时钟之间周期和相位完全独立,

因而有可能出现数据丢失的情况,一些文献【33.3。7】都详细讨论了FIFO设计的细节

难点及解决办法。而在本设计中,该FIFO的读时钟和写时钟的频率是相同的,

只不过有640个周期的时间差,实际上可以将其转换成同步FIFO,这样就大大

降低了设计难度和资源占有率。设计中采用一个同步计数单元对wrclk计数,当

计数值达到640时停止计数并输出高电平信号,此时多路选择器将写时钟wrclk

信号连到右侧的读时钟,完成异步到同步的转换。

另外,FIFO的读、写操作是相互独立的,这就决定了FIFO的读写地址不

能重叠或交叉,否则将会产生数据丢失错误。本文采用乒乓操作的思路来解决此

问题,将FIFO的深度设计为1280(两个像素行),如图3—13,因为右侧的读操作

总是比写入滞后640个时钟周期,当写地址指向639单元处时,读地址从O单元

3

2

3

2

1

1

l

1

Ⅺ冱

乃冱

ⅪⅥ

扒Ⅵ

武汉理工人学硕十学位论文

处开始读取数据;然后读、写地址同步地向下移动,到达底部后回到起始处重新

开始循环。这样,内部的读、写地址指针将会分别在上下两个半区移动,不会同

时出现在同一个半区内,这样就避免了读写地址重合而导致数据错误的情况。

厂0

l ●————一2 rdaddr

上半区<

L 639

wraddr 640

]>.下半区

1279 jFIFo

图3.13 FIFO读写乒乓操作

图3.14是该FIFO模块的仿真波形图。其中,data in和data out分别对应

FIFO的输入和输出数据端,empty和full是存储状态的指示信号,empty为高电

平时表示FIFO被清空,full为高则表示被写满,这两种情况均发生在内部的读

写地址重合的时候。rclk和wclk分别是读和写的时钟,rclk实际上就是像素时

钟pclk,而wclk是像素时钟经过门控电路后得到,读时钟在经过640个像素时

钟周期(25.6s)后开始作用。为了验证数据传递的正确性,仿真时把输入数据

设计为10位计数值,每一个像素周期增加1。从仿真波形图可以看出,data out

端输出的数据与输入数据data in有一定时间上的间隔,在25.6秒处输出端开始

输出以像素时钟为周期的计数值,正好与640个时钟周期前的输入数据相同,

而在整个仿真波形中,empty和mn信号一直为低电平,表示没有出现读写地址

重合的错误情况。

27

武汉理工大学硕士学位论文

M幽Tm日* a∞m 』陆h 2t81∞ l删∞∞; ‰

6 E 8 q:

强驰疆强雹回回回国雹露‘4 1

0 】 E匹匝Ⅺ][D雹旺)∞Z吲

唧儿呻川讥盯咖1兀肌n删 肌n肌几m州__n』Ⅵ彻删

n『 几叫八r叫u呻盯删U肿删

图3—14 FIfO的仿真波形图

在确保时序正确地配合和数据无丢失的前提下,就可以进行插值运算了。

参考本文2 2小节可知,改进后的插值算法合理地避免了复杂的计算(如求三角

函数等),而只采用适合硬件理解和执彳j:的四则运算。由于本文选取的

EP2C35F672C6芯片提供了18位的内嵌式乘法器,具体计算过程的实现就变得

相对简单,有效地减少了硬件描述语言的代码开发量。以式(2+24)插值计算绿

色通道分量为例,该部分计算模块的RTL(寄存器转移层)结构如图3—15所示。

而红色和蓝色通道的计算过程与此类似,此处不再讨论。R Pm—i’一一~——~~⋯——一———9m’iii一

图3—15插值计算式的RTL级图

3.4时序设计总结

在本文的软件设计中,图像实时采集和后续处理全部在FPGA中进行,需

一m5

1

一M鬣==釜一

一田口

几耐到崩斟目

武汉理J:大学硕十学位论文

要较大规模的逻辑开发量。对于大规模的逻辑电路,开发的难点就在于时序的

设计。时序是同步电路的一个重要概念,分为物理时序和系统时序两种:其中,

物理时序与FPGA芯片的架构和制造工艺密切相关,物理时序设计的实质就是

满足芯片内部每一个触发器的建立和保持时间的要求,防止和消除亚稳态;而

系统时序则是从整体系统的角度来分析,在自顶向下分模块设计的过程中,计

算每个子模块的数据流通时间、前后级模块接口处的建立和保持时间关系,以

及最终系统能够达到的最高运行速度等。在分析系统时序的基础上,找出关键

路径,在后续的实际设计过程中,利用同步电路的特点组织流水线,或者多采

用并行运算,从而提高整体的运行速度。

例如在插值计算的过程中,我们要两次使用到双口RAM,一次是缓存像素

点的灰度,另外一次是缓存标志位,如图3.16所示。根据片内M4K存储器的特

点,考虑到640x10的同步RAM的延时会比较长,再加上后级的处理时间,就

会影响到整个电路的运行速度,难以在一个像素时钟周期内完成。显然640×10

的同步缓存RAM是设计中的关键路径。因此,设计中采用流水线的思想,将电

路划分成两级,在每一个同步RAM之后加一个D触发器,每个RAM都可以按

像素时钟的周期读取数据,这样就缩短了电路数据处理的时间,只是整体的数

据输出滞后了一个像素时钟周期,即40ns。

图3.16关键路径的处理

同步电路的另一个优点在于容易使用寄存器的异步复位、置位端以使整个

电路有一个确定的初始状态。在数字逻辑系统中,各个模块的上电和启动顺序

武汉理工大学硕十学位论文

可能会对整个系统造成重大影响。本系统设计了一个复位延时模块,产生三个

复位信号分别输送到图像采集模块、插值计算控制模块和显示模块。在全局复

位键按下后,三个复位信号均为低电平,分别延时一段时间后恢复为高电平,

从而决定了各部分模块的上电工作的顺序,依次是插值运算模块、 采集模块和

显示模块。反映在硬件上,就是要求核心芯片首先上电,达到稳定的工作状态,

否则图像传感器与FPGA芯片间的数据交换会出现异常,后级的显示电路也无

法得到正确的输出数据,在调试过程中表现为显示器出现白屏、花屏等现象。

3.5本章小结

本章给出了图像采集和处理软件系统的整体架构,采用模块化的设计方法

将改进插值算法在FPGA中实现,并详细阐述了各功能模块具体设计过程和使

用到的关键技术。基于模块化的设计方案也使得系统具有较高的灵活性,方便

后续的更改和升级。

30

武汉理工人学硕士学位论文

第4章算法性能仿真及硬件运行效果

前面的章节详细讨论了改进的插值算法及其在FPGA中的代码设计.接下

柬的任务就是对该算法的性能进行评价。对于图像处理算法而言,最简单、最

直观的评价方式就是直接观察处理后的图像效果。但是这种方法受到不同观察

者、图像类型以及环境的影响较大。因此本文在进行主观视觉评估的同时,也

引入了一些量化的测评方式,辅助进行算法的效果评估。

4.1算法的MATLAB仿真

4.1.1仿真图片的选取

由于多数的插值算法在图像的平滑部分的处理效果相差不大,给人的主观

视觉感受不是很明显,而图像的边界区域和色彩变化比较多的高频区域是鉴定

各种算法性能的关键。不同的算法对这些部分的处理效果经常有很大的差异。

因此,我们在实验过程中特意选取了一些线条较多,细节丰富的场景作为图像

来源。图4一l是用数码相机拍下的实验图片,是一个非常细密的百叶窗,整幅图

像纹理密集,其线条的宽度在CCD上可能只占几个像素,能较明显地区别各算

法的效果。

图4-l实验选取的图片

武汉理丁大学硕士学位论文

4.1.2性能指标及仿真结果

MSE与PSNR是图像处理中评价重构图像质量的最常用的方法【3 81。其中均

方误差MSE(mean squared error)表示原图像与处理图像之间均方误差,其计

算公式定义如式4—1:

脚=二∑∑似(f,j)-fl(i,朋2 (4.1’MN—i=1鲁⋯ ⋯’ V¨

式4一l中的M和N代表图像的尺寸,即该图像的像素矩阵为M行N列,

fa(i,歹)和fb(i,/)分别代表原始图像和重构图像在第i行第J列的数据分量。在通

常应用中,均方误差经常根据与它等价的倒数度量,即峰值信噪比PSNR(peak

signal to noise ratio)来衡量,峰值信噪比是一种评价图像的客观标准,它的关注

点是最大值信号和背景噪音之间的比较。通常在经过影像压缩之后,输出的影

像通常都会有某种程度与原始影像不一样。为了衡量经过处理后的图像品质,

通常使用PSNR值来认定某个处理程序够不够令人满意,其计算方法如式4-2所

示:

PSNR:1012丝。MSE

(4-2)

PSNR可以表示单个通道的值,一幅完整的真彩色图像可以分成红、绿、蓝

三路颜色通道独立进行比较,从而反映原始图像与重构图像相符合的程度。从

数据上来说PSNR越大,则重构图像和原始图像差距越小,也就是图像色彩恢

复的效果越好。实验中选择了双线性插值法、自适应算法和改进算法进行仿真

比较,将图4.1的实验图片输入到MATLAB软件中,计算各性能指标的值。实

际操作中将红、绿、蓝三路颜色通道分开进行独立计算。表4一l为仿真得到的数

据。

表4.1三种算法PSNR值

差值方法 B分量PSNR值 G分量PSNR值 R分量PSNR值

双线性插值算法 30.58 36.18 31.44

自适应插值算法 33.24 39.86 36。48

改进的差值算法 33.53 41.18 36.86

32

武汉理工^学硕十学位论文

根据以往的工程经验,多数的插值算法对图像的平滑区域恢复效果差别不

是特别明显,而在图像的高频区域,也就是图像的边界或色彩变化剧烈的部分

则会产生不同的失真。由于人眼对图像的轮廓更为敏感,当错误发生在图像边

界处时,视觉效果就会显得更差一些。因此,边界信息也是评估算法质量的重

要标准。

本文采用计算边界处的PSNR值来衡量其插值效果。为了区分边界和平滑

区域,实验中使用MATLAB中的edge()函数提取边界,得到一个与原始图像同

样尺q的二值图像。对于任意一个灰度图像,我们可以采用2.2节中介绍的Sobel

算子来提取二值边缘图像,操作方法是在MATLAB程序中输入BW=edge(I,

’sobel’),其中I为输入原始图像,BW则是得到的二值图像输出。对于图4-1所

选取的实验图片,我们在MATLAB仿真软件中先将其转换为黑白的灰度图像,

再通过Sobel算子提取边缘,撮后得到的灰度图像和边界二值图像如图4-2所示。

(a)灰度图像 (b)边界二值图像

图4—2图像的边界提取

二值图像每个像素点的扶度值数据宽度为l位,称之为特征值。边界二值

图像的特点是,当某个像素点Pii位于边界时.其特征值Ei,j-1,否则EiJ=0【州,

反应在图片上的效果就是图像的轮廓处为白色的细线,其余的平滑区域地方为

黑色。二值图像根据边界提取的方法不同而有所区别。在得到二值图像以后,

采用它的特征值参与计算图像边界处的峰值信噪比PESNR,如式4-3所示:

yy2552丘

PESNR=10Ig(iF』』———一) f4-3)

∑∑‰ffo(i,,)一五(t,,))2’

武汉理J:大学硕十学位论文

PESNR反映了原始图像和重构图像在边界部分的符合程度‘401。实验中仍将

三路颜色通道分开进行计算,得到的数据如表4.2所示:

表4.2三种不同算法的PESNR数据

差值方法 B分量PESNR值 G分量PESNR值 R分量PESNR值

双线性插值算法 27.23 35.02 29.07

自适应插值算法 29.86 38.30 32.34

改进的差值算法 29.49 38.5l 31.95

对于表4.1和表4.2得到的实验数据,本文将结合算法实际运行得到的图像

效果对其进行讨论,此处不再单独分析。

4.2算法的硬件运行

4.2.1硬件平台的设计和搭建

本文设计搭建了一个以FPGA为核心的前端图像采集平台,将改进插值算

法应用到该平台中。由于图像处理算法涉及的运算量大、运算过程较为复杂,

因此要达到实时处理这一目的,一方面要在算法的设计和简化上面下功夫,另

一方面要求处理芯片有很高的处理速度和较大的数据吞吐量。

本设计选用的FPGA芯片是美国Altera公司最新推出的超大规模可编程逻

辑器件Cyclone II系列的EP2C35F672C6。该芯片具有35000个逻辑单元、672

个引脚、475个用户自定义I/O接口、35个嵌入式乘法器和4个锁相环,是一个

集成度极高和功能强大的FPGA芯片。

图像采集前端的整体硬件结构框图如图4—3所示。由于本设计采用的是数字

图像传感器,采集的数据已经是经过A/D转换后的数字信号,所以无需添加~D

转换芯片,同时与FPGA接口的还有相关的视频时序信号,如像素时钟同步信

号、行同步、场同步信号;FPGA芯片是硬件平台的核心部分,用来完成传感器

和图像显示电路的驱动,以及图像恢复算法实现等。由于Altera的FPGA是基

于SRAM架构的,为了防止掉电后丢失数据,需采用配置芯片(EPSl6)用来存放

的配置信息,使得每次上电后都能正常工作;JTAG接口是必要的接口之一,在

武汉理:[人学硕士学位论文

硬件调试时可以检测最小系统的焊接是否完好,在软件设计的时候,我们也通

过它将编译好的sof文件下载到FPGA芯片中进行验证,从而减少FLASH配置

芯片的擦写次数;DA芯片是实现数字信号到模拟信号的转化,配合外围电路驱

动图像在显示器上显示;为了方便观察图像采集的效果,系统搭配了一个6寸

的LCD显示屏,采用VGA接口与系统相连;后续的实验过程中需要对不同的

图片进行比较,而采集到的图像的分辨率为640×480,插值完成后每个像素点

上有红、绿、蓝三种颜色分量各10比特的数据,计算得到一帧图像的数据量约

为0.9MB,超过了FPGA片内的存储量。因此,因此核心板上配备了SDRAM

储存芯片,将需要的图片临时保存起来,再通过工具软件读取到PC机上进行相

应处理;另外还有少部分功能按键,以及电源和复位模块,保证系统的正常工

作。

EPSl6 I JTAG接口I

图像 O传感器

\/ EP2C35F672C6

/\

, 弋 7VGA、,

SDRAM DA芯片 夕 显示器

摊眵电源电路 晶振

FPGA核心板

图4.3系统硬件结构框图

图4.4是设计完成的电路板PCB图,正中心部分为FPGA芯片,SDRAM

存储器和FLASH芯片分别置于左右两侧;这部分的器件和FPGA数据交换量大、

对速度要求高,因此在布局设计时将这些芯片与FPGA芯片靠近对齐,各数据

线的走线尽量等长,存储器的每个单元模块都连接到FPGA的相同BANK区。

左下角是电源部分电路,通过5V稳压电源为系统供电;电路板下方两个10针

接口分别是JTAG调试接口和配置下载电路接口,可以进行调试或者下载程序到

配置芯片;配置芯片EPCSl6位于右下角处;两个10针接口的中间处布置了双

武汉理工大学硕士学位论文

排20针的接口,用来连接图像传感器,当然也可以定义到其他通用I/O处进行

连接:VGA视频信号从左上角的缺口处输出,通过外接VGA插头来驱动LCD

显示器;紧靠在下面的是视频D/A转换芯片ADV7123,将FPGA处理完成的图

像数据进行数模转换后输出;电路板的右侧预留了串行接口电路,包括MAX232

电平转换芯片和其他元件,以方便后续升级或调试的需要;电路板的最外侧设

计了三个100针的接口,将FPGA的通用自定义IJO引脚从四周引出,很方便地

实现和扩展板的对接和级联:晟后是频率为2TM和50MHZ的两个有源品振,

它们负责为FPGA内部时序逻辑电路提供全局时钟驱动、锁相环基准频率等。

圈4-4 PCB图

图4-5是为算法的运行所搭建的实验环境。图中左侧为FPGA核心板,一

端通过JTAG口和计算机相连,算法的编码设计在PC机上完成后,通过JTAG

口下载到核心板上运行;另一端经VGA接头与实验用的6寸液晶屏相连,在调

试时可以观察到采集图像的效果。右边是实验室的DE2开发板。由于作者在设

计电路时的经验欠缺,FPGA核心板的通用I/O接口电平不是特别稳定,直接驱

动图像传感器时,会读入错误的高、低电平数据,影响了采集图像的效果。在

实验过程中借用了DE2开发板的接口,给传感器提供稳定的电压和足够的驱动

电流,以保证图像数据的正确读入。右上角是稳流稳压电源,负责为FPGA核

心板提供电源输^。由于电路器件和连线较多,实验时将稳压电源调整到5 5V

左右,并输出30mA以上的驱动电流。

武汉理工大学硕士学位论文

图4—5实验环境的搭建

4.2.2算法运行效果及结论

为了与4 1 2节中的仿真数据结合起来,我们选取了与4 1 1节相同的实验

对象,但是并不用数码相机拍摄百叶窗的照片,而是直接用采集平台上的图像

传感器获取百叶窗的原始图像数据,然后送入FPGA内部,通过相应算法进行

处理,得到真彩色图像。

在FPGA中编写硬件描述语言代码来实现插值算法的工作量是比较大的,

并且很多算法如2 1节中介绍的Ron Kimmel加权系数法由于计算过程复杂,迭

代次数多,甚至无法在硬件中实现。因此,本文有针对性地选取了两种适合于

硬件实现的算法在硬件平台上运行,即双线性法和自适应算法,并将这两种算

法得到的插值图片与改进算法处理后的图片放在一起进行比较,分析其优劣。

由于实验中无法同时展现三种算法的实际效果,因此实验过程中利用了硬

件平台上的SDRAM存储芯片。电路板上提供了暂停功能按键,当该键按下时,

控制图像传感器停止工作,同时将当前显示的图像存储到SDRAM中,在计算

机上使用软件工具把存储在SDRAM中的图像数据读出来。这样就依次得到了

三种不同算法处理后的图片,然后在计算机上进行对比观察。图4-6即为三种不

同算法实际运行得到的图片效果。

武汉理工大学硕士学位论文

(c)

图“几种不同算法的插值结果(a)双线性插值算法(b)自适应插值算法(c)本文的改进算法

综合4 I节中得到的实验数据以及图4-6的视觉效果,我们得出如下结论:

从数据上来看,对任意一种插值算法,其PSNR值总是比PESNR值大。也

就是说,插值算法对于平滑区域的恢复总是比边界部分要好。后续的研究应该

把重点放在图像的高频区域上,选择更合理的边界判断方法。

从图4-6中的图(a)上可以看出,由于插值计算的方法最为简单,双线性法产

生了较多的彩色条纹14”,也就是图中的蓝色和红色的斜条纹。这一类干扰噪声

我们称之为伪彩色,叉叫做虚假色,是指在图像色彩插值过程中出现的原本不

存在的色彩条纹.一般是囡图像重构失真和邻域插值运算设计不合理所致,这

种现象经常出现在图像的边缘及亮度变化剧烈的区域。在进行图像处理时经常

采用中值滤波来滤除这种噪声。

圈彻是自适应插值算法的运行效果。由于自适应算法在计算前检测了每个像素点所处区域的边界方向.插值更为合理,因此得到的PESNR值明显高于双

一㈣一㈣一

武汉理一[人学硕士学位论文

线性法,边界也更清晰。由于在恢复蓝色和红色两个分量的时候考虑了颜色的

相关性,重建图像的色彩过度比双线性法更为合理,反应在图像上的效果则是

伪彩色条纹的面积大量减小。虽然在局部的细窗叶处也出现了颜色失真的现象,

产生了一些彩色斑点,但从图片的总体来看,百叶窗的细密纹路比较清晰,效

果令人满意。

而改进的插值算法对于图像的整体部分恢复比自适应法要好,从表4.1可以

看出,改进算法的PSNR值更高。对比图(b)与图(c)中间两扇窗的结合部分,本

文提出的算法产生的伪彩色更少。然而,在边界部分得到的PESNR值与自适应

算法差别不大,甚至稍低。这是由于而自适应算法在判断边界方向时,只进行

单个像素点的梯度计算和比较,而改进算法在检测边界时采用了平滑的仲裁方

式(参见2.2节),把整个3x3邻域内9个像素点的梯度都考虑在内,于是得到

了与中值滤波算法类似的效果,这也就解释了图(c)中颜色失真最少的原因。因

此,本文提出的算法能进一步地抑制伪彩色噪声;而在图像的细节上改进算法

与自适应法的效果差别不大,总体来说性能更好。

本文利用模块化的设计思路,将改进的插值算法成功应用到了以FPGA为

核心的图像采集前端。实验时,图像传感器工作在25MHZ,图像采集的速率达

到25帧/秒,证明图像处理模块基本没有对采集的速度造成影响,算法拥有很好

的实时性。

4.3本章小结

本章对三种不同的插值算法进行了性能对比。实际操作中分为两步进行,

首先使用MATLAB仿真软件计算得到相应的性能指标,然后以Altera公司的

EP2C35F672C6芯片为核心设计了实时图像采集的硬件平台,并在这个硬件平台

上运行了实验中选择的三种算法。在给出图片视觉效果对比的同时结合量化的

仿真数据对结果进行分析,充分验证了改进算法的性能。

39

武汉理工大学硕士学位论文

第5章 工作总结与展望

5.1全文工作总结

本文针对CCD传感器获取的Bayer型滤波阵列的颜色插值算法进行了研究,

设计了一种适用于硬件的改进算法,并以Altera公司的EP2C35F672C6芯片为

核心搭建了一个图像采集前端,在该平台上成功运行了本文提出的算法。为保

证改进算法的效果和运算速度,通过查阅大量的相关参考文献和技术资料,在

深入了解该领域发展动态的基础上,提出了具有实用性的解决方案。经过大量

软件仿真和硬件调试工作,基本实现了预期目标。回顾全文,主要的工作内容

总结如下:

(1)根据图像传感器的成像原理介绍了彩色滤波阵列、图像色彩恢复和插

值运算等概念。在分析FPGA用于图像处理的优势的基础上,说明了开展基于

FPGA的图像处理算法研究的意义。

(2)有选择性地分析了几种常用插值算法的实现思想,以及各个算法的特

点和不足,目的是为了介绍改进算法的思路来源。然后以自适应插值算法为基

础,借鉴三角函数法则的设计思路,针对硬件的特点给出了改进的插值算法。

在进行算法的FPGA设计之前,从资源需求量和运算复杂性两方面充分讨论了

其硬件可执行性,确保后续工作能顺利完成。

(3)充分利用FPGA的模块化设计特性,完成了改进插值算法的FPGA实

现,以及整个图像采集前端系统的软件设计,并详细分析了所使用到的关键技

术,给出了相关的仿真波形图。

(4)设计了以FPGA为核心的图像采集硬件平台,并完成了印制电路板的

制作,对核心FPGA芯片的选取,以及高速电路设计过程中的布局布线技术进

行了探讨。

(5)选取了两种有代表性的插值算法,与本文提出的改进算法进行了性能

比较。通过MATLAB仿真得到性能评估数据,并将几种算法在硬件平台上运行,

得到了实验图片。最后结合仿真数据和直观的视觉效果对算法效果进行分析,

并给出了结论。

武汉理1=大学硕十学位论文

5.2下一步的研究展望

由于时间的限制和作者水平的不足,本文的工作不可避免的存在着一些问

题,需要进一步的研究和改进:

(1)就算法本身而言,本文提出的改进插值算法在性能上比自适应法有所

提高。但受限于作者对FPGA算法设计的技术功底,还没有完全发挥出FPGA

的并行运算潜力。后续研究中应当把注意力集中在图像边界上,探寻更适合于

高频区域的插值方法。

(2)因为作者在硬件电路设计方面的经验欠缺,初版的PCB还存在着一些

问题,例如4.2.1节中提到的通用I/O口的电平不稳定的现象。改版的过程中将

在FPGA芯片对应的接口前面加入快速肖特基二极管,其作用是将高、低电平

的误差钳制在0.3V以内,以保证数据的正确性。另外,实验过程中出现过几次

烧毁视频AD芯片的现象,表明VGA显示接口电路的阻抗匹配还需要进一步调

整。

(3)由于FPGA的片内存储容量十分有限,Cyclone II系列FPGA配备的

最大片内RAM也只有1.2M。因此本文设计的硬件系统只能作为一个图像采集

前端,并不能完成实时图像的录制或者视频的储存。若要实现一个完整的实时

图像采集系统,还需要加入后级处理器来完成存储功能,并注意使图像数据在

前后级系统中进行协调传输。例如我们可以使用双口RAM将数据传输到由ARM

处理器构成的嵌入式系统,再外接SD卡进行存储。另外还有一种解决办法,就

是在FPGA系统中配置Nios II软核,通过Nios处理器的系统总线挂接存储设备。

这种方案避免了数据在不同硬件系统的跨时钟域传递,抗干扰性更好,同时全

部功能都在一片FPGA中实现,硬件结构也更为紧凑。但采用嵌入式软核会消

耗大量的FPGA内部资源,影响算法的执行速度和系统的实时性。具体方案的

取舍还需仔细商榷。

(4)图像在传输的过程中不可避免地要受到干扰,引入无法预期的噪声信

号。虽然本文提出的改进算法有一定的去噪声效果(参见4.2.2节对伪彩色噪声

的抑制),但本文并没有对去噪声的算法进行单独的讨论和设计。在FPGA内部

资源充足的情况下,还可以增加后续的处理环节,以取得更好的图像效果。

41

武汉理工大学硕士学位论文

致 谢

在此论文完成之际,向所有关心和帮助过我的人们致以衷心的感谢!

首先感谢给予我悉心指导和培养的尹勇老师和刘岚老师。在尹老师和刘老

师的指导下,我在工作中热情饱满,在学业中日渐上进,在生活中轻松愉快,

在为人处事上也受益匪浅。

感谢武汉科技学院的李宇老师,感谢同导师组的刘恒辉、曹理发、王勇、

郑子杰、万芬等学长,感谢实验室王涛、望习才,赵正辉、李少芳等同学的帮

助。同时要特别感谢我的父母和兄弟,他们是我人生最大的财富。

最后感谢各位评审老师的指导。

42

武汉理J:大学硕士学位论文

参考文献

[1】 马宏伟,张军平,基于32位嵌入式系统的实时图像采集模块[J】.电子技术应用,2003

年第4期:1l一13

【2】 余全合,祝忠明,刘勇,罗文渊.基于FPGA和MB86S02的数字图像处理系统设计【J】.

电子元器件应用,2009年02期:3.7

【3】 吴心然,赵群飞,山元康裕.基于小波的Bayer颜色滤波阵列上的插值【J】.计算机工程

与应用,2005,26:64.65

【4】张变莲.一种基于边缘信息的贝尔模板彩色插值方法[J】.科学技术与工程,2009年6月,第9卷第11期:2950—2955

【5】Hur Bong Soo,Kang Moon Gi.Edge-adaptive color interpolation algorithm for progressive

scan charge-coupled device image sensors[C].Optical Engineering,December 2001,vol 40:

2698·2708,

【6】Lee Bongjun,Kim Jaeseok.Hilgh quality image interpolation for color filter arrays[C].

Proceedings of the IEEE International Conference on Systems,Man and Cybernetics,2000

【7】David Alleysson,sabin Susstrunk.Linear Demosaicing Inspired by the human Visual

System.IEEE Transaction Image Proeessing.VOL.14,NO.4,APRIL2005

【8】D.R.Cok.Signal Processing method and Apparatus for Producing interpolated chrominance

Values in a Sampled color image signal.U.S.Patent,No.4642678,1987

[9】R.H.Hibbard.Apparatus and method for adaptively interpolating a full color image utilizing

luminance gradients.U.S.Patent,No.5382976,1995

【10】C.A.Laroche,M.A.Prescott.Apparatus and method for adaptively interpolating a full color

image utilizing chrominance gradients.U.S.Patent,No.5373322,1994

[11】J.EHamilton,J.E.Adams.Adaptive color plane interpolation in single sensor color electronic

camera.U.S.Patent,No.5629734,1997

[12]J.E.Adams.Design ofpractical color filter array interpolation algorithms for digital cameras.

Proc.SPIE,Real Time Imaging.1997,V.01.3028:117—125

【1 3】Chuan—kai Lm.Pixel grouping for color filter array demosaicing.

http://web.tees.pdx.edu/-一cklin/demosaic

【1 4】Wenmiao Lu,Yap—Peng Tan.Color filter array demosaicing:New method and performance

measures.IEEE Transaction Image Processing.2003,V01.12,No.10:1194—1210

【1 5】B.K.Gunturk,Yucel Almnbasak,Russell M.Mersereau.Color plane interpolation using

43

武汉理T大学硕士学位论文

Alternating projections.IEEE Transaction on Image Processing.2002,V01.11,No.9:997—1013

【l6】D.D.Murean,Thomas W.Park.Demosaicing using optimal recovery[C].IEEE Transactions

on Image Processing.2002

【17】D.D.Murean,Thomas W.Park.Optimal recovery demosaicing[C].IASTED Signal and

Image Processing Conference.2002

[18】D.D.Murean.Review ofoptimal recovery[DB].

http://dsplab.ece.comell.edu/papers/technical_reports/review_or.pdf

【1 9】Wang Jhing Fa,Wang Chien Shun.A novel color interpolation algorithm by pre-estimatmg

minimum square error[C].Proceedings·IEEE International Symposium on Circuits and

Systems,P 6288—629 1,2005

[20】David Alleysson,S.Siisstnmk,J.Herault.Color demosaicing by estimating luminance and

opponent chromatic signals in the Fourier domain[DB].http://uvrgwww.epfl.ch/publications/ash02.pdf

【21】Ron Kimmel.Demosaicing:Image reconstruction from color CCD samples[C].IEEE

Transactions on Image Processing.1999,V01.8,NO.9:1221·1228

【22】基于双DSP的实时图像处理系统[OL】

http://www.elecfans.com/article/87/8l/2009/20091208127127.html

【23]李奇,冯华君,徐之海.一种基于绿色分量的CCD颜色插值算法[J].光电子与激光

2001年8月第12卷第8期:843—844

【24】赵星梅,刘建伟,李孝强.数字相机色差空间双线性插值算法的实现[J】.电子科技,2009

年04期:57.59

【25】吴心然,赵群飞,山元康裕.基于小波的Bayer颜色滤波阵列上的插值[J】.计算机工程

与应用.2005.26:64—65

【26]刘方,杜平安.基于Bayer彩色滤波阵列插值算法的研究[D】.西安:电子科技大学,

2006年5月

【27】Rafael C.Gonzalez,Richard E.Woods.Digiml Image Processing Second Edition[M].北京:

电子工业出版社,2005:33-43,225.239,467-475

[28]MT9M 1 3 1 datasheet.

http://download.micron.com/pdf/flyers/mtgml31.pdf

[29】吴继华,王诚编著.Altera FPGA/CPLD设计(高级篇)[M].北京:人民邮电出版社,

2005年7月

【30】林辉,苏振强.一种基于VHDL的乒乓操作控制法的研究[J】.电子测龟技术,2008年

09期:170—173

[311徐艳芳,刘文耀.数字影像输出设备色域边界的插值计算方法[J].光学精密工程,2006

武汉理工大学硕士学位论文

年02期:261.265

【32]吴继华,王诚编著.AlteraFPGA/CPLD设计(高级篇)【M】.北京:人民邮电出版社,

2005年7月

【33】赵震甲.使用FIFO完成数据传输与同步(上)[J】.中国集成电路,2005年第8期:49.51

【34】赵震甲.使用FIFO完成数据传输与同步(中)[J].中国集成电路,2005年第9期:46-49

【35】周敏.高速异步FIFO的设计和实现【J】.计算机工程与科学,2009年第31卷第2期:

85—87

【36】冯春阳,张遂南,王会敏.通用非对称FIFO结构设计[J】.科学技术与工程,2009年9

月第9卷第18期:5388.5390

【37]邹卫军.同步FIFO在高速视频图像采集处理系统中的应用[J】.工业控制计算机,2004

年08期:26,42

【38】Z.Wang,A.C.Bovik,L.Lu.Why is image quality assessment SO diffficult[C].Proceedings

IEEE International Conference Acoustics,Speech,Signal Processing.2002,V01.4

【39]B.Girod.What’S wrong with mean—squared error[C].Di百tal and Human Vision.MA:MIT

Press,1993

【40】郑飞.二值图像的实现过程[J].信息技术,2008年第4期:99—101

【41】刘榴娣,等编著.实用数字图像处理[M】.北京理工大学出版社.1998年10月

45

武汉理上人学硕十学位论文

攻读硕士学位期间发表的论文

【1】 尹勇胡磊.一种改进的Bayer图像彩色恢复差值算法.《计算机科学》,已

录用

【2】 胡磊王涛王艳.太阳能环境参数仪的系统设计.《单片机与嵌入式系统应

用》。2009年第04期

CCD图像的颜色插值算法研究及其FPGA实现作者: 胡磊

学位授予单位: 武汉理工大学

相似文献(10条)

1.期刊论文 曹计昌.杨帆.CAO Jichang.YANG Fan 基于图像增强的灰度插值算法 -计算机辅助工程2006,15(4) 针对传统彩色滤波阵列(Color Filter Array,CFA)插值算法在图像识别前一般需要对彩色图像预处理,其中包括把插值后的彩色图像转化为灰度图像

、平滑内部和锐化边缘,过程较为繁琐的问题,提出一种新的基于图像增强的灰度插值算法,即在插值过程中锐化图像的边缘并平滑内部,插值结果直接是

一幅灰度图像并且保证图像的几何特性不变.实验结果表明此算法的有效性.

2.学位论文 刘方 基于Bayer彩色滤波阵列插值算法的研究 2006 为了降低数字相机的成本与体积,生产厂家通常会采用单片CCD或CMOS图像传感器,并在其表面覆盖一层彩色滤波阵列,也称为CFA,CFA使每个像素

只能获得物理三基色(红、绿、蓝)其中一种分量。其中,Bayer CFA应用最为广泛。为了获得全彩色图像,必须依靠插值获得丢失的两个颜色信息,这个

过程通常被称为彩色插值,或是demosaicing(去马赛克)。现有的文献中也描述了大量有价值的demosaicing算法,包括简单的线性插值法到相对成熟的

自适应插值法,尽管后一种方法的性能表现更出众,但往往计算复杂,硬件实现的难度较大。

本文首先回顾了部分典型的插值算法,并结合对部分典型图片的测试结果,分析了各种方法的优势与不足之处。然后本文先提出了一种改进的硬件

可实现的Bayer彩色滤波阵列的插值方案,该算法主要引入了方向标志位的概念以及平滑的边界仲裁法则来检测边界,从而选择合适的方向进行插值。该

方法简单易行,并适用于实时处理的高速数字相机系统,但插值效果的改进稍嫌不足。鉴于此,本文接着提出了一种基于三次样条函数在相关方向进行

插值以及利用梯度的三角函数关系来计算相关性加权系数的混合型插值方案,并结合考虑不同颜色通道问的相关耦合关系。经测试算法具有良好的性能

为了评估算法质量,本文采用了三类评估手段:一是分别计算原始图像与重构图像在平滑区域与边界区域的峰值信噪比与CIELAB颜色空间的欧氏距

离来分析重构图像的保真度;二是利用数学手段对重构图像的一类主要失真现象—zipper效应进行定量评估;三是对硬件实现的成本与实际可行性进行

了分析。并针对部分典型的测试图片,以及部分代表性算法,给出了相关视觉比较与数据比较的结果。实验证明,算法可行且具有不错的质量。

3.期刊论文 刘方.杜平安.Liu.Fang.Du.Ping'an 一种基于硬件的彩色插值算法 -微计算机信息2006,22(11) 大部分消耗型数字相机都采用单片CCD或CMOS图像传感器,并通过一个彩色滤波阵列来实现,因此在每个像素上只能采集红、绿或蓝一种颜色分量.为

获得全彩色图,必须通过插值恢复丢失的色彩信息,通常这个过程被称为demosaicing。鉴于传统方法颜色失真明显,现有方案算法复杂,不利于硬件实现

.本文提出一种新的插值算法,引入方向标志位的概念,以及一种平滑的边界检测方案.通过该算法,既可得到满意的插值效果,同时适合数字相机硬件实现

,文章最后评估了算法性能.

4.期刊论文 张亚.王元庆.Zhang Ya.Wang Yuanqing 一种有效的数字图像传感器彩色插值算法 -计算机测量与控制

2008,16(4) Bayer彩色滤光片阵列在图像采集设备上的广泛使用,使得必须通过插值的方法恢复每个像素点丢失的另外两个通道的色彩值;文中提出了一种有效的

彩色插值算法,它以基于边缘检测的插值算法为基础,通过相邻像素的相似性进一步得到更为准确的边缘信息;同时还使用了颜色比恒定原理对另外两个丢

失的色彩进行还原;和基于边缘检测的插值算法相比,这种算法可以有效地减少插值错误,同时计算复杂度比较低,满足了实时图像还原的要求;在实验中证

明,这种算法是有效的.

5.期刊论文 罗潇.孙海江.陈秋萍.陈静.王延杰.LUO Xiao.SUN Hai-jiang.CHEN Qiu-ping.CHEN Jing.WANG Yan-

jie Bayer格式图像的实时彩色复原 -中国光学与应用光学2010,03(2) 为了减少算法的计算量,保证系统的实时性,本文针对Bayer格式图像提出了一种有效的彩色复原插值算法.插值过程中利用了人眼的视觉特性,能够更

精确地得到图像的亮度信息和边缘信息.利用彩色图像的边缘特性更精确地复原了边缘处的R、C、B值.算法最终解为一系列5×5大小稀疏的线性滤波器

,其复杂度低,实现简单,能在计算机各种嵌入式处理器中完成实时处理.实验证明,本算法的峰值信噪比(PSNR)比通常采用的舣线性算法高4~6 db,且有效

地减少了插值算法中出现的锯齿现象,使图像彩色的复原性和实时性比双线性算法更优越,具有一定的应用价值.

6.期刊论文 张燕.程永强.ZHANG Yan.CHENG Yong-qiang 基于交替投影滤波器组的插值算法 -科技情报开发与经济

2008,18(35) 在初始插值为边缘检测插值的基础上提出了交替投影滤波器组插值算法,提高了图像的信噪比,锐化了图像的边缘,减少了图像高频信息的错误像素的

数量,提高了视觉质量,而且计算复杂度较低.

7.期刊论文 花樱.彭宏京 一种用于单CCD图像传感器的图像插值算法 -中国图象图形学报A2010,15(4) 由于物理结构的限制,单CCD图像传感器在每个像素位置上只能采集一个颜色分量,其余两个颜色分量只能通过插值的办法得到.提出一种在色差空间

进行插值的算法,利用具有比例线性关系的局部颜色特性和局部协方差求得最小均方误差意义下的最优插值系数.所获取的该捕值系数具有边缘细节保持

性,同时色差空间的插值又考虑了不同颜色分量间的耦合性,因而有效地抑制了图像边缘的模糊和颜色失真.实验结果表明,该算法可获得高质量的插值图

像.

8.期刊论文 刘晓松.杨新.文俊.汪进 一种用于数字图象传感器的彩色插值算法 -中国图象图形学报A辑2003,8(5) 由于物理结构的限制,单片CCD和CMOS彩色图象传感器在每个像素的位置上只能采集一个颜色分量,其余两个颜色分量只能通过插值的办法得到.鉴于

通常的线性插值方法容易使图象的边缘变得模糊,并可能出现较为明显的颜色失真,而一些新方法尽管可以得到较高质量的插值图象,然而运算的复杂性限

制了它们的应用.为此提出了一种在色差空间进行插值的算法,以代替普通颜色空间的插值,同时用基于有理函数的插值算子来代替普通的线性算子,并通

过后处理来进一步提高插值图象的质量.由于色差空间的插值考虑了不同颜色分量间的耦合性,并利用了有理函数插值算子固有的边缘自适应特性,因而得

到了较好的效果.该方法另外的一个优点是计算速度较快.实验结果表明,该该算法是有效的.

9.期刊论文 尹勇.胡磊 一种改进的Bayer图像彩色恢复差值算法 -计算机科学2010,37(4) 图像传感器采集到的都是经过滤波镜·片后的Bayer格式马赛克图像,为了恢复丢失掉的色彩信息,必须经过插值计算.针对图像采集系统处理的实时

性要求,结合自适应插值法和三角函数法则,提出了一种适用于硬件实现的新算法.给出对算法性能的评估数据和MATLAB仿真图片,对比了算法的处理效果

,最后基于实际应用的需求对该算法的硬件实现难度进行了分析.实验结果证明,改进算法在图像边缘的处理上效果更好,基于硬件的实现方式也能保证系

统的实时性.

10.期刊论文 程培岩.梁进勇.程永强.CHENG Pei-yan.LIANG Jin-yong.CHENG Yong-qiang 基于贝尔模板的文本图

像压缩及重构算法的研究 -太原理工大学学报2006,37(2) 针对文本图像提出了直接对CFA原始数据进行压缩的算法,即首先把贝尔CFA图像从RGB色空间转换到YCrCb色空间,然后把不利于压缩的高频分量中比

较多的亮度分量进行低通滤波,再用结构分离法把梅花形的亮度分量转化为矩形,最后分别采用JPEG2000压缩亮度和色度通道.为了估计解压恢复的CFA模

板丢失的彩色分量,应用改进的自适应模糊匹配插值算法,对它周围四个相邻连接的像素分配一个模糊隶属度,从而利用相邻信息,且把这个隶属度作为加

权平均工具来重构全彩图像.通过实验验证,这种贝尔数据直接压缩方法带来的失真很小,插值后恢复的全彩图像在主观视觉和客观质量评价中也能获得令

人满意的效果.

本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1611110.aspx

授权使用:陕西理工学院(sxlgxy),授权号:0a60922e-0122-4e2d-825c-9df2010fb2af

下载时间:2010年9月15日


Recommended