基于SOPC的视频降噪系统的研究与硬件设计.docx
《基于SOPC的视频降噪系统的研究与硬件设计.docx》由会员分享,可在线阅读,更多相关《基于SOPC的视频降噪系统的研究与硬件设计.docx(38页珍藏版)》请在冰豆网上搜索。
基于SOPC的视频降噪系统的研究与硬件设计
西南科技大学
毕业设计(论文)
题目名称:
基于SOPC的视频降噪系统的研究与硬件设计
年级:
■本科□专科
学生学号:
学生姓名:
指导教师:
学生单位:
信息工程学院技术职称:
副教授
学生专业:
电子信息工程教师单位:
信息工程学院
西南科技大学教务处制
基于SOPC的视频降噪系统的研究与硬件设计
摘要:
图像的复原技术对于人们提取有用信息起到了关键作用。
图像降噪技术属于图像复原技术。
现在的降噪技术有均值滤波、维纳滤波、中值滤波、小波降噪法等。
现在,降噪技术考虑的更多的是图像处理系统的实时性,而用FPGA器件对图像进行处理,则解决了系统的实时性问题。
基于FPGA的可编程片上系统(SOPC)在设计上的灵活性和运算高速性的特点,有利于实现整个系统。
在设计时,选用中值滤波算法对图像进行处理,核心算法的实现则通过VHDL语言实现的。
在SOPCBuilder下添加PIO、JTAGUART、EPCS等组件,并生成系统。
整个系统是由一个CPU进行控制的,这个IP软核是从NiosⅡ中调用的,并结合软件进行调试。
该系统是基于StratixⅡ器件中的EP2S30F484C3芯片,占用了39%的系统资源。
通过对各个模块及系统的调试,可以证明系统处理的速度是比较理想的。
关键词:
图像处理;降噪技术;中值滤波;SOPC
TheResearchandHardwareDesignof
VideoNoiseReductionSystemBasedonSOPC
Abstract:
Imagerecoverytechnologyplaysakeyroleinextractingusefulinformation.Theimagenoisereductiontechnologybelongstoimagerecoverytechnology.Now,thetechnologyofimagenoisereductionincludesmeanfilter,Wienerfilter,medianfilter,noisereductionalgorithmbasedthewaveletandsoon.
Nowadays,noisereductiontechnologyislookeduponasakeytechnologyforreal-timeimageprocessingsystem,andprocessedimageswithFPGAdeviceswillsolvetheproblemofreal-timeapplication.TheSOPCtechnologybasedonFPGA,whichhastheadvantageofflexibilityandhighspeed,isfavorableforrealizingtheentiresystem.Inthedesign,themedianfilterischosetoprocessimages.ThekeyalgorithmisachievedthroughtheVHDL.ThefunctionmodulessuchasPIO,JTAGUARTandEPCSareintercalatedinSOPCBuilder,andthenthesystemisgenerated.ThedesignofthewholesystemiscontrolledbytheCPUcomponent,whichisasoftIPcorecalledNiosIIanddebuggedcombiningsoftware.ThesystemisimplementedintheEP2S30F484C3FPGAchipandthesystemoccupiesonly39%oftheFPGAresources.Throughdebuggingthevariousmodulesandthesystem,itprovesthatthespeedofsystemisrelativelysatisfactory.
Keywords:
Imageprocess,Technologyofnoisereduction,Middlefilter,SOPC
第1章绪论1
1.1题目背景1
1.2图象处理的应用展望3
1.3课题的目的及意义4
1.4论文的主要内容5
第2章SOPC技术介绍6
2.1SOPC技术简介及实现方式6
2.1.1SOPC技术简介6
2.1.2SOPC技术实现的方式6
2.1.3SOPC系统开发流程7
2.2QuartusⅡ的介绍7
2.3硬件语言的介绍8
第3章降噪方案介绍、比较及选择11
3.1均值滤波11
3.2维纳滤波12
3.3标准中值滤波12
3.4图像小波域滤波13
3.5基于图像锐化和平滑的滤波技术13
3.5.1LUM平滑器13
3.5.2LUM锐化器14
3.5.3LUM滤波器15
3.6几种算法的比较及选择15
3.7中值滤波与LUM滤波器的仿真16
第4章中值模块的FPGA实现18
4.1中值滤波模块的设计18
4.1.13×3模板生成模块18
4.1.2中值滤波模块20
第5章系统建立及在SOPC中的模块搭建23
5.1系统的设计23
5.2系统的实现23
5.2.1组件的选择23
5.2.2片上系统的实现30
5.3顶层文件的建立32
第6章功能模块及系统的仿真和调试34
6.1功能模块的仿真34
6.1.1深度为254的FIFO的调试34
6.1.23×3模板生成模块的功能验证34
6.1.3中值选取模块的调试36
6.2系统的调试及功能仿真37
6.3处理结果及分析38
结论39
致谢40
参考文献41
第1章绪论
1.1题目背景
图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。
数字图像处理作为一门学科大约形成于20世纪60年代初期。
早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
首次获得实际成功应用的是美国喷气推进实验室(JPL)。
他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。
随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。
在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。
数字图像处理取得的另一个巨大成就是在医学上获得的成果。
1972年英国EMI公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(ComputerTomograph)。
CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。
1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。
1979年,这项无损伤诊断技术获得了诺贝尔奖,说明它对人类做出了划时代的贡献。
与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。
随着图像处理技术的深入发展,从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。
人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。
很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。
其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。
图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索的新领域。
图像处理主要研究的内容有以下几个方面:
(1)图像变换
由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。
因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理。
(2)图像编码压缩
图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。
压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。
编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。
(3)图像增强和复原
图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。
图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。
如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。
图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立"降质模型",再采用某种滤波方法,恢复或重建原来的图像。
(4)图像分割
图像分割是数字图像处理中的关键技术之一。
图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。
虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。
因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。
(5)图像描述
图像描述是图像识别和理解的必要前提。
作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。
对于特殊的纹理图像可采用二维纹理特征描述。
随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。
(6)图像分类(识别)
图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。
图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。
1.2图像处理的应用展望
图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。
随着科学技术的发展,数字图像处理技术的应用领域也将随之不断扩大。
数字图像处理技术未来应用领域主要有以下七个方面:
(1)航天航空技术方面数字图像处理技术在航天航空技术方面的应用,除JPL对月球、火星照片的处理之外,另一方面是在飞机遥感和卫星遥感技术中。
图像在空中先处理(数字化编码)成数字信号存人磁带中,在卫星经过地面站上空时,再高速传送下来,然后由处理中心分析判读。
这些图像无论是在成像、存储、传输过程中,还是在判读分析中,都必须采用很多数字图像处理方法。
现在世界各国都在利用各类卫星所获取的图像进行资源调查、灾害检测、资源勘察、农业规划、城市规划。
在气象预报和对太空其它星球研究方面,数字图像处理技术也发挥了相当大的作用。
(2)生物医学工程方面数字图像处理技术在生物医学工程方面的应用十分广泛,且很有成效。
除了CT技术之外,还有一类是对医用显微技术的处理分析,如染色体分析、癌细胞识别等。
此外,在X光肺部图像增晰、超声波图像处理、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像处理技术。
(3)通信工程方面当面通信的主要发展方向是声音、文字、图像和数据结合的流媒体通信。
其中以图像通信最为复杂和困难,因图像的数据量十分巨大,如传送彩色电视信号的速率达100M/s以上。
要将这样高速率的数据实时传送出去,必须采用编码技术来压缩信息的比特量。
在一定意义上讲,编码压缩是这些技术成败的关键。
(4)工业工程方面在工业工程领域中图像处理技术有着广泛的应用,它大大提高了工作效率,如自动装配线中质量检测,流体力学图片的阻力和升力分析,邮政信件的自动分拣,在一些恶性环境内识别工件及物体的形状和排列状态,先进设计和制造技术中采用工业视觉等等。
其中值得一提的是研制具备视觉、听觉和触觉功能的智能机器人,将会给工农业生产带来新的面貌,目前已在工业生产中的喷漆、焊接、装配中得到有效的利用。
(5)军事公安方面在军事方面图像处理和识别主要用于导弹的精确制导,各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统和模拟训练系统等;公安方面主要用于指纹识别、人脸鉴别、不完整图片的复原以及交通监控、事故分析等。
目前已投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别就是图像处理技术成功应用的例子[6]。
(6)文化艺术方面的应用目前这类应用有电视画面的数字编辑、动画的制作、电子图像游戏、纺织工艺品设计、服装设计与制作、发型设计、文物资料照片的复制和修复、运动员动作分析和评分等等。
目前正在形成一门新的艺术——计算机美术。
(7)其它方面的应用数字图像处理技术已经渗透到社会生活的各个领域,如地理信息系统中二维、三维电子地图的自动生成、修复等;教育领域各种辅助教学系统研究、制作中;流媒体技术领域等等。
1.3课题的目的及意义
由于视频降噪是属于图像处理中的图像增强和复原技术,由于近年来数字图像的广泛应用,所以视频降噪也是当前研究的热点问题之一。
而本课题主要研究的是视频降噪算法的研究,并提出自己的算法。
在图像采集和传输过程中,信号常常会受到随机噪声的干扰。
因而破坏了图像像素间的结构、纹理、内容等方面的相关性。
使得图像失真,并且难于压缩、识别和理解。
因此,在大多数图像应用场合都需要降低图像中的噪声,使图像恢复本来的面目。
由于低层的图像预处理算法处理的数据量大,用一般的软件来实现会比较慢,而且对于一些实时性要求比较高的系统,如视频图像实时处理系统,处理速度往往是要考虑的关键要素,因为一旦速度跟不上,实时性也就无从谈起。
针对图像预处理阶段运算结构比较简单的特点,所以硬件实现是可以满足这个要求的。
这也是现在图像处理领域的热点问题之一。
1.4论文的主要内容
全文的主要内容共分为六章,分别为:
第一章绪论。
综合介绍了图象处理的背景、应用展望,以及课题选择的目的和意义。
第二章SOPC技术介绍。
首先介绍了SOPC技术及实现的方式,然后介绍试验中所需要用到的软件QuartusⅡ的设计流程,最后介绍了硬件描述语言VHDL。
第三章方案介绍、比较及选择。
首先介绍几种典型的降噪方法,并比较它们的优缺点,然后按照其优缺点进行选择,从中选出自己的方案。
第四章中值滤波的硬件实现。
先介绍了中值滤波实现的总体框架,再具体介绍了框架中各个组件的功能及实现。
第五章在SOPC中建立系统。
先对组件进行选择并生成系统,然后再将生成的片上系统于硬件实现的滤波块进行连接,建立顶层文件。
第六章功能模块与系统的仿真。
先对各个模块进行仿真,然后再对系统进行仿真。
第2章SOPC技术介绍
2.1SOPC技术简介及实现方式
2.1.1SOPC技术简介
SOPC(SystemOnProgrammableChip)即可编程的片上系统,或者说是基于大规模FPGA的单片系统。
SOPC的设计技术是现代计算机辅助设计技术、EDA技术和大规模集成电路技术高度发展的产物。
SOPC技术的目标就是试图将尽可能大而完整的电子系统,包括嵌入式处理器系统、接口系统、硬件协处理器或加速系统、DSP系统、数字通信系统、存储电路以及普通数字系统等,在单一FPGA中实现,使得所设计的电路系统在其规模、可靠性、体积、功耗、功能、性能指标、上市周期、开发成本、产品维护及其硬件升级等多方面实现最优化。
SOPC技术是一门全新的综合性电子设计技术,涉及面广。
2.1.2SOPC技术实现的方式
SOPC技术实现方式一般分为三种:
(1)基于FPGA嵌入IP(IntellectualProperty)硬核的SOPC系统。
目前最常用的嵌入式系统大多采用了含有ARM的32位知识产权处理核的器件。
Altera公司Excalibur系列的FPGA中就植入了ARM922T嵌入式视同处理器;Xilinx的Virtex-ⅡPro系列中则植入了IBMPowePC405处理器。
这样就能使得FPGA灵活的硬件设计和硬件实现与处理器强大的软件功能结合,高效地实现SOPC。
(2)基于FPGA嵌入IP软核的SOPC系统。
在第一种实现方案中,由于硬核是预先植入的,其结构不能改变,功能也相对固定,无法裁减硬件资源,而且此类硬核多来自第三方公司,其知识产权费用导致成本的增加。
如果利用软核嵌入式系统处理器就能有效克服这些不利因素。
最具有代表性的嵌入式软核处理器是Altera公司的NiosⅡ软核处理器。
(3)基于HardCopy技术的SOPC系统。
HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题。
从SOPC实现方式上不难看出,IP核在SOPC系统中占有极其重要的地位,IP核的设计及IP核的复用成为SOPC技术发展的关键所在。
半导体产业的IP定义为用于ASIC、ASSP和PLD等当中预先设计好的电路模块。
在SOPC设计中每一个组件都是一个IP核。
IP核模块有行为、结构和物理三级不同程度的设计,对应描述功能行为的不同分为三类,即完成行为描述的软核(SoftIPCore)、完成结构描述的固核(FirmIPCore)和基于物理描述并经过工艺验证的硬核(HardIPCore)。
2.1.3SOPC系统开发流程
SOPC系统的开发流程一般分为硬件和软件两大部分,如图(2-1)所示:
图2-1SOPC系统开发流程
在图(2-1)中我们可以看出:
硬件开发主要是创建NiosⅡ系统,作为应用程序运行的平台;软件开发主要是根据系统应用的需要,利用C/C++语言和系统所带的API(ApplicationProgrammingInterface,应用程序接口)函数编写实现特定功能的程序。
而这其中用到的主要工具是Altera公司的QuartusⅡ和NiosⅡIDE。
2.2QuartusⅡ介绍
QuartusⅡ是Aleter提供的FPGA/CPLD开发集成环境,Altera是世界最大的可编程逻辑器件供应商之一。
QuartusⅡ在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plusⅡ的更新换代产品,其界面友好,使用便捷。
它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
Altera的QuartusⅡ提供了完整的的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为AlteraDSP开发包进行系统模型设计提供了集成综合环境。
QuartusⅡ设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。
QuartusⅡ也可以利用第三方的综合工具,如LeonardoSpectrun、SynplifyPro、FPGACompiler,并能直接调用这些工具。
同样,QuartusⅡ具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。
此外,QuartusⅡ与MATLAB和DSPBuilder结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。
QuartusⅡ包括模块化的编译器。
编译器包括的功能模块有分析/综合器、适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器和编辑数据接口等。
可以通过StartCompilating来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。
还可以通过选择CompilerTool,在CompilerTool窗口中运行该模块来启动编译器模块。
在CompilerTool,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。
在下图(2-2)中,上面一排是QuartusⅡ编译设计主控界面,它显示了QuartusⅡ自动设计各主要处理环节和设计流程,包括设计输入编译、设计分析与综合、适配、编程文件汇编、时序参数提取以及编程下载几个步骤。
在图(2-2)中,下面一排的流程框图,是与上面的QuartusⅡ设计流程相对照的标准的EDA开发流程。
图2-2QuartusⅡ设计流程
2.3硬件语言介绍
硬件描述语言(hardwaredescriptionlanguage,HDL)是电子系统硬件行为描述、结构描述、数据流描述的语言。
HDL语言在国外有上百种,高等学校、科研单位、EDA公司都有自己的HDL语言,现在影响最大的两种HDL语言是VHDL和VerilogHDL。
下面简要介绍VHDL硬件描述语言。
VHDL语言英文全名是VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,即超高速集成电路硬件描述语言。
它的产生是由于美国政府为了在电子系统承包中降低开发费用,避免重复设计,由美国国防部牵头,联合众多院校、厂商,为他们的高速集成电路提供了一种硬件描述语言,以期望VHDL功能强大、严格、可读性好。
1986年IEEE标准化组织开始工作,讨论VHDL语言标准,历时一年有余,于1987年12月通过标准审查,并宣布实施,即IEEESTD1076—1987[LRM87]。
1993年VHDL重新修订,形成了新的标准,即IEEESTD1076—1993[LRM93]。
最终VHDL标准得到推广、实施和普及。
VHDL语言描述能力强,覆盖面广,抽象能力强,所以用VHDL语言作为硬件模型建模很合适。
设计者的原始描述是非常简练的硬件描述,经过EDA工具综合处理,最终生成付诸生产的电路描述或版图参数描述的工艺文件。
整个过程通过EDA工具自动完成,大大减轻了设计人员的工作强度,提高了设计质量,减少了出错机会。
VHDL语言可读性好。
VHDL既能被人容易读懂,又能被计算机识别,作为技术人员编写的源文件,它既是计算机程序、技术文档和技术人员硬件信息交流的文件,又是签约双方的合同文件。
VHDL语言中的设计实体(des