基于FPGA的CMOS彩色图像变换IP设计【毕业论文+文献综述+开题报告】

基于FPGA的CMOS彩色图像变换IP设计【毕业论文+文献综述+开题报告】

ID:363654

大小:1.15 MB

页数:44页

时间:2017-07-28

上传者:U-944
基于FPGA的CMOS彩色图像变换IP设计【毕业论文+文献综述+开题报告】_第1页
基于FPGA的CMOS彩色图像变换IP设计【毕业论文+文献综述+开题报告】_第2页
基于FPGA的CMOS彩色图像变换IP设计【毕业论文+文献综述+开题报告】_第3页
基于FPGA的CMOS彩色图像变换IP设计【毕业论文+文献综述+开题报告】_第4页
基于FPGA的CMOS彩色图像变换IP设计【毕业论文+文献综述+开题报告】_第5页
资源描述:

《基于FPGA的CMOS彩色图像变换IP设计【毕业论文+文献综述+开题报告】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

( 2011 届)毕业设计题目:基于FPGA的CMOS彩色图像变换IP设计姓  名:            专  业:  电子信息工程班  级:    学号:指导教师:      导师职称:              年 月 日III 基于FPGA的CMOS彩色图像变换IP设计摘要本课题设计基于FPGA的CMOS彩色图像变化IP,利用FPGA处理数据量大、处理速度快,结合CMOS图像传感器MT9M001和BayerCFA格式图像的特点,设计一种基于FPGA的图像数据转化处理IP,实现Bayer格式到RGB格式的转化的设计,研究CFA图像插值算法,实现基于FPGA的实时线性插值算法,对Bayer图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。CMOS图像传感器MT9M001采集到的图像数据,作为CFA插值图像算法输入源,通过FPGA芯片,设计缓存控制模块,缓存模块,插值模块,利用VHDL语言实现实时双线性插值算法。本课题选用的FPGA开发环境是ISE(IntegratedSoftwareEnviroment)6.1d,通过Modeltech_6.1d仿真工具进行仿真。关键词:CMOS图像传感器,CFA插值,RGB格式,FPGA37 IPdesignofCMOScolorimagechangeonFPGAAbstractTheprojectdesignisbasedonFPGAforCMOScolorimagechangeIP,usingFPGAdataprocessingcapacity,processingspeed,combinedwithCMOSimagesensorMT9M001andBayerCFAformatimagefeatures,designofaFPGA-basedprocessingofimagedataintoIP,BayerformattoachieveRGBformatconversiontothedesign,researchCFAimageinterpolationalgorithm,real-timeFPGA-basedlinearinterpolationalgorithm,tointerpolateBayerimageformatfull-colorimagerestoration,restoredhigh-definitionblackandwhiteimagesfromacolorimage.MT9M001CMOSimagesensorimagedatacollectedasaCFAimageinterpolationalgorithminputsource,throughthechip,FPGA,designofthecachecontrolmodule,cachemodule,interpolationmodule,theuseofVHDLlanguageforreal-timebilinearinterpolationalgorithm.ThetopicchosenFPGAdevelopmentenvironmentisISE(IntegratedSoftwareEnviroment)6.1d,throughModeltech_6.1dsimulationtoolforsimulation.Keywords:CMOSimagesenso,CFAInterpolation,RGBformat,FPGA37 目录摘要IIIAbstractIV1绪论11.1CMOS图像传感器及其发展11.2CFA插值算法11.2.1双线性插值算法含义21.3课题研究的主要内容21.4FPGA设计流程与开发环境及简介31.4.1FPGA简介31.4.2FPGA设计流程31.4.3开发环境与仿真工具41.5VHDL硬件描述语言61.6论文完成工作62方案设计与总体设计72.1插值算法方案设计72.2方案评价72.3总体设计82.3.1CMOS图像传感器82.3.2FPGA芯片83实时双线性插值算法的实现(VHDL语言)93.1.CFA插值模块方案设计93.2各个模块103.2.1缓存控制模块103.2.2缓存模块113.2.3插值模块124软硬件调式164.1编程平台和调试软件164.2调试过程164.2.1彩条行显示164.2.2BLOCKRAM读写的说明17结论18参考文献19致谢20附录2137 附录1缓存控制模块程序21附图2缓存控制模块仿真图22附录3缓存模块程序23附图4帧控制时序仿真图24附录5带进位计数器程序24附图6计数器仿真图2637 基于FPGA的CMOS彩色图像变换IP设计1绪论1.1CMOS图像传感器及其发展CMOS是一种采用CMOS(ComplementaryMetal-oxide-semiconductor,互补金属氧化物半导体)工艺制造的图像传感器。相比于CCD器件,具有集成度高、功耗低、体积小、工艺简单、开发周期短等优点,近年来在工业、监控、航空航天等众多领域显示出强劲的发展趋势【1】。利用FPGA处理数据量大、处理速度快,结合CMOS图像传感器MT9M001和BayerCFA格式图像的特点,设计一种基于FPGA的图像数据转换处理系统,提出用硬件实现Bayer格式到RGB格式转换的设计方案,研究CFA图像插值算法,实现基于FPGA的实时线性插值算法,对Bayer图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。整个设计模块能够满足高帧率和高清晰的实时图像处理,占用系统资源很少,用较少的时间完成了图像数据的转换,从而提高了效率【2】。随着CMOS工艺的不断发展,它的系统集成度、动态范围、感光度、功耗等性能大幅提高,使得CMOS传感器越来越多的进入不同领域。CMOS传感器的集成度高、体积小、重量轻,它最大的优势是具有高度系统整合的条件,因为采用数字——模拟信号混合设计,从理论上讲,图像传感器所需的所有功能,如垂直位移、水平位移暂存器、传感器阵列驱动与控制系统(CDS)、模数转换器(ADC)接口电路等完全可以集成在一起,实现单芯片成像,避免使用外部芯片和设备,极大地减小了器件的体积和重量。CMOS-APS使用单一工作电压,功耗低,仅相当于CCD的1/10-1/100,还可以与其他电路兼容,具有功耗低、兼容性好的特点。并且CMOS传感器使用与制造半导体器件90%的相同基本技术和工艺,且成品率高,制造成本低,目前用于摄像的50万像素的CMOS传感器不到10美元【2】。1.2CFA插值算法类似于数码相机这种数字图像设备,考虑到成本和包装,一般输出的是贝尔(Bayer)模板CFA(ColorFilterArray)图像,需要通过CFA插值算法来获得彩色图像。随着半导体技术的发展,FPGA(fieldprogramminggatearray)作为可编程芯片,其集成度已达千万门,FPGA的可编程特性使其在SOC(systemonachip)中发挥越来越重要的作用,这样就产生了用FPGA直接实现算法,而不需要再用价格昂贵的DSP(digitalsignalprocessing)。37 基于FPGA的CMOS彩色图像变换IP设计近几年间,由于数码产品市场的迅速发展,图像处理领域的研究与开发越来越受到各界关注,多种CFA插值算法随之出现,包括最邻近像素插值算法,双线性插值算法,中值插值算法等。本课题主要研究适合FPGA实现的实时双线性插值算法。1.2.1双线性插值算法含义双线性插值算法是非自适应算法的一种,输出的图像使用邻近像素中相同颜色成份做线性平均计算来补偿每个像素丢失的颜色。如图1-1中,像素仅有蓝色成份。因此丢失的绿色部分可通过求其上、下、左、右像素的绿色成份的平均值得到。同样,丢失的红色可通过对相邻四个对角上的像素的红色成份求平均值。这种算法可以被视频所接受,因此人类的眼睛不容易在动态的两帧视频中查觉到模糊。为了得到彩色图像,需要采用插值算法对每个像素所缺少的颜色进行补差,这样的算法就叫做CFA图像插值算法【7】。图1-1.由贝尔模板构成的CFA1.3课题研究的主要内容本课题设计基于FPGA的CMOS彩色图像变化IP,利用FPGA处理数据量大、处理速度快,结合CMOS图像传感器MT9M001和BayerCFA格式图像的特点,设计一种基于FPGA的图像数据转化处理IP,实现Bayer格式到RGB格式的转化的设计,研究CFA图像插值算法,实现基于FPGA的实时线性插值算法,对Bayer图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。CMOS图像传感器采集到的都是经过滤波镜片后的Bayer格式马赛克图像,为了恢复丢失掉的色彩信息,必须经过插值计算。随着大规模/超大规模集成电路以及大规模可编程逻辑器件(CPLD/FPGA)的高速发展和广泛应用,实时图像处理也得到了非常迅速的发展。为了提高图像处理的速度,满足系统实时要求,可以用硬件来实现对图像的处理,FPGA芯片便是目标硬件的理想选择之一,同时FPGA的应用也为提高图像处速度提供了新的思路和解决方法。37 基于FPGA的CMOS彩色图像变换IP设计1.4FPGA设计流程与开发环境及简介1.4.1FPGA简介FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,是在PAL、GAL、CPLD等可编程器件的基础上进一步发展而得到的产物。其作为专用集成电路(ASIC)领域中的一种半定制电路而出现,不但解决了定制电路的不足,而且又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,是可以经过简单的综合与布局,并快速地烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能(比如解码器或数学方程式)。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件(例如触发器(Flip-flop))或者其他更加完整的记忆块【8】。1.4.2FPGA设计流程FPGA的流程可分为设计输入、功能仿真、设计综合、设计实现、时序仿真、下载配置六个步骤。一、设计输入原理图和HDL(HardwareDescriptionLanguage)是常用的两种设计输入方法。原理图输入的特点是在顶层设计、数据通路逻辑、手工最优化电路等方面,图形化强、单元节俭、功能明确。HDL语言描述在状态机、控制逻辑、总线功能方面较强,其特点是描述的电路能在特定综合器作用下以具体硬件单元较好地实现;因此,我们常用的方式是以HDL语言为主,原理图为辅,进行混合设计从而发挥出二者各自特色。注意的是在进行设计时,设计者应当严格遵循自顶向下(Top-down)和自底向上的模块化设计方法。自顶向下是指在设计之初对系统进行充分的分析,首先明确技术条件指标,并将这些指标提炼为算法,转化为结构描述,接着将系统划分为容易实现的子系统,划分之后再进行时资源分配和序调度,逐渐深入,直至问题的最终解决。自底向上则是指在系统划分的基础上分模块进行设计。分开完成各个的模块设计,进而构成整个FPGA【10】。二、功能仿真仿真是指用设计软件包对完成的设计进行测试,模拟出实际物理环境下的工作情况。功能仿真也称为前仿真,是仅对逻辑功能进行测试模拟,以了解其实现的功能能否满足原设计的要求,仿真过程未加入时序信息,不涉及具体器件的硬件特性。37 基于FPGA的CMOS彩色图像变换IP设计三、设计综合综合是针对给定的电路实现功能和实现此电路的约束条件(如速度、功耗、成本及电路类型等),通过计算机的优化处理,获得一个能满足上述要求的最优或者接近最优的电路设计方案。设计综合包括分析、综合和优化三个步骤(以HDL描述为例,分析是采用标准的HDL语法规则对HDL源文件进行分析并纠正语法错误)。综合是以选定的FPGA结构和器件为目标,对HDL和FPGA网表文件进行逻辑综合;优化则是根据用户的设计约束对速度和面积进行逻辑优化,产生一个比较优化的FPGA网表文件,以提供FPGA布局和布线工具的使用。四、设计实现实现是利用FPGA厂商的实现工具,把综合后的方案逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,如选择逻辑与布线通道进行连线,就会产生相应文件(如配置文件与相关报告)。通常可分为五个步骤:转换(Translate)、映射(Map)、布局与布线(PlaceandRoute)、)时序提取(TimeSim)、)配置(Configure)。五、时序仿真时序仿真也称为后仿真,是在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行仿真,它是接近真实器件运行的仿真。六、下载配置下载配置也叫芯片配置,是将设计实现生成的位流下载到FPGA芯片中。因FPGA大多支持IEEE的JTAG(JointTestActionGroup)标准,所以使用芯片上的JTAG口是常用的下载方式。将位流文件下载到FPGA中进行的物理测试即是电路验证。【15】1.4.3开发环境与仿真工具本课题选用的FPGA开发环境是ISE(IntegratedSoftwareEnviroment)6.1d,仿真工具是Modeltech_6.1d。ISE是Xilinx公司的FPGA开发工具,它的版本不断更新,最新的版本功能更强大。ISE6.1i中不提供仿真工具,采用MentorGraphic公司的ModelSim仿真工具。ISE6.1d的功能非常强大,并且提供了非常友好且直观的用户界面。打开ISE后,首先打开工程导航器(ProjectNavigator)界面,在此界面中可以访问各种设计输入、综合及实现工具。工程导航器由四个窗口组成,如图1-2所示,左上角是SourcesnProject窗口,列出了工程中所有的文件;其下是ProcessesforSource窗口,显示相应的运行过程;最下面是Transcript窗口,列出了运行、查询、报错及报警信息;右边是多文件窗口,可以显示文本文件的内容以及HDL测试激励波形【12】。37 基于FPGA的CMOS彩色图像变换IP设计MentorGraphic公司的ModelSim是业界较好的仿真工具,其仿真功能强大,图形化界面友好,而且具有结构、信号、波形、进程、数据流等窗口。在仿真过程中,可以执行性能分析与代码覆盖分析,使设计者可以更方便的找到设计瓶颈。Modeltech_6.1d可以直接被ISE6.1d调用,从而进行BehavioralModel,Post-TranslateVHDLModel,Post-MapVHDLModel和Post-Place&RouteVHDLModel的仿真。图1-2.ISE工程导航器界面图1-3.ModelSim工作界面37 基于FPGA的CMOS彩色图像变换IP设计1.5VHDL硬件描述语言VHDL诞生于1982年,它的英文全名是Very-high-speedintegratedcircuitHardwareDescriptionLanguage。1987年底,VHDL被IEEE(InstituteofElectricalandElectronicsEngineers)和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,有的公司直接宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的认可,且逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从系统描述能力和更高的抽象层次上扩展VHDL的内容,公布了新版本的VHDL标准,即IEEE-1164(简称93版)。现在,VHDL作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域,己成为通用的硬件描述语言。【5】1.6论文完成工作CMOS图像传感器采集图像,通过FPGA实现插值算法,达到彩色图像恢复,本论文主要完成以下工作:(1)FPGA开发平台的硬件实现选用Xilinx公司的FPGA开发工具ISE,采用CMOS图像传感器采集图像,其输出作为CFA图像数据输入源,双口SDRAM作为帧缓存,搭建FPGA的硬件开发平台。(2)用VHDL硬件描述语言实现插值算法分析研究CFA图像插值算法,并实现基于FPGA的实时双线性插值算法,最终能够对每像素为8bit、分辨率为1024x768的CFA贝尔模板图像完成实时重构,且输出每个像素为16bit(RGB565)、分辨率为1024x768的图像数据。37 基于FPGA的CMOS彩色图像变换IP设计2方案设计与总体设计2.1插值算法方案设计整个模块化设计采用自顶向下的方法,代码采用VHDL语言进行编写,顶层模块定义为CFA插值模块,定义输入输出接口信号、复位、时钟信号,并且描述了内部各子模块的逻辑连接关系。顶层的下层是由3个模块构成,如图2-1。控制信号数据输出写信号控制信号读信号控制信号数据输入缓存控制模块插值模块缓存模块数据输入控制信号图2-1.CFA插值模块逻辑框图2.2方案评价CMOS图像传感器采集到的图像数据,作为CFA插值图像算法输入源,其中每个像素都只有一种颜色,因此丢失的其他2色可通过求其上、下、左、右像素的绿色成份的平均值得到。这种算法可以被视频所接受,因此人类的眼睛不容易在动态的两帧视频中查觉到模糊。CMOS图像传感器具有集成度高、功耗低、体积小、工艺简单、开发周期短等优点。为了产生系统所需要的时序,采用现在可编程门阵列器件(FPGA)。FPGA作为专用集成电路(ASIC)领域中的一种半定制电路而出现,不但解决了定制电路的不足,而且又克服了原有可编程器件门电路数有限的缺点。利用FPGA实现插值算法,而不需要再用价格昂贵的DSP,这样可以节省一大部分资金,计算速度也快。37 基于FPGA的CMOS彩色图像变换IP设计2.3总体设计总体设计是内部设计的主要任务之一,也是进行系统技术设计的依据。2.3.1CMOS图像传感器本课题采用CMOS图像传感器MT9M001,其特点是像素尺寸小、填充因子大、可空电子曝光、有抗晕能力和做取景控制等等。主要性能参数如下:(1)光学格式:2英寸(5:4)(2)主动成像大小:6.66mm(H)x5.32mm(V)(3)有效像素:1.280Hx1.24V(4)像素大小:5.2umx5.2um(5)快门类型:电子滚动快门(ERS)(6)ADC分辨率:10bit,片上(7)响应:2.1V/S(8)动态范围:68.2dB2.3.2FPGA芯片FPGA必须满足外围接口的匹配要求。根据这些要求制定芯片规格如下:(1)FPGA所有信号定义为LVTTL;(2)输入的主时钟65.2MHZ,输入的写时钟12MHZ;(3)支持图像分辨率是1024X768、帧频低于20HZ,8bit像素的Bayer模板数据输入;(4)输出图像格式为XGA@60HZ,每像素16bit(RGB565);(5)具有CFA图像实时重构和频率提升功能。37 基于FPGA的CMOS彩色图像变换IP设计3实时双线性插值算法的实现(VHDL语言)3.1.CFA插值模块方案设计图3-1.CFA插值模块设计方案图3-2.CFA插值模块信号描述CFA插值模块由缓存控制、缓存、插值模块组成。具体方案图见图3-1。该设计流程是:外部上电后,当信号write为高电平时,在缓存控制模块控制下,输入的数据先进入缓存模块,然后再进入插值运算模块。在插值模块中,数据经过双线性插值算法的处理,生成所需的图像数据,输出时,由这24bit数据中高8位的高5位、中间8位的高6位、低8位的高5位组成新的16位数据。最后得到的16位数据就是RGB565图像数据,将此数据输出。37 基于FPGA的CMOS彩色图像变换IP设计CFA插值模块的主要功能是实时接收CMOS图像传感器采集的图像数据,经过插值运算,生成每个像素为24bit、分辨率为1024x768、帧频为7.5HZ的彩色图像数据。最后,再将得到的数据转换成RGB565的彩色图像。此模块的信号描述如图3-2。3.2各个模块3.2.1缓存控制模块缓存控制模块的主要功能是产生读、写使能信号和读、写缓存的地址,并将这些控制信息传送给缓存模块。此模块的信号描述如图3-3。图3-3.缓存控制模块信号描述而在缓存控制模块内部,包含了写控制器和读控制器。其中写控制器是一个12位的计数器。它的高两位对4个存储体进行选择,低10位用来产生写操作的地址,根据输入的写使能信号对缓存模块进行写操作。其中读控制器是一个10位的计数器,用来产生对4个存储体进行读操作的地址;两个计数器在信号reset或信号vsync为低电平时复位。复位设定的初始值是4095。这样是为了保证循环计数器产生的地址与输入的每行数据同步,每行的第1个有效数据对应每个存储体的零地址。考虑到实时处理,在每一帧图像进来时先写满两个存储体,每个存储体的长度等于每行有效像素的个数,也就是存储了两行有效像素,在写到第3行的第3个有效像素时,进行存储体的读操作。在同一时刻,写操作只对缓存中的一个存储体进行操作,而读操作对4个存储体同时进行。37 基于FPGA的CMOS彩色图像变换IP设计图3-4.缓存控制模块结构图图3-5.缓存模块信号描述缓存控制模块的设计流程是:上电后,当信号write为高电平时,写控制器工作,生成写地址,并且wena1为高电平;当每写完1024个数据,wena2,wena3,wena4,wenal依次为高电平进行循环。当一帧图像传送结束,读、写控制器中的计数器停止计数,并在vsync信号为低电平时复位。当下一帧图像到来时,新的循环开始。3.2.2缓存模块缓存模块的主要功能是接受缓存控制模块的读、写地址和控制信息实时接受和传送输入的图像数据。此模块的信号描述如图3-5。缓存模块存放数据的顺序为:最先的一帧图像的第1行有效数据存放在1号存储体,依次存放下去,第5行数据再存放到1号存储体,如此循环。存完一帧后,写控制器复位,下一帧来时往复上述操作进行。此模块结构如图3-6。37 基于FPGA的CMOS彩色图像变换IP设计图3-6.缓存模块结构图图3-7.插值模块信号描述缓存模块内部包含4个相同的存储体(1024x8bit),每个存储体是由FPGA内部的两个BlockRAM组成,且支持双口操作。一个端口定义为只写,另一个端口定义为只读。缓存控制模块中的读、写使能信号控制着每个存储体的端口操作。在缓存模块内部,对这4个存储体进行编号,依次为1,2,3,4号存储体。在这里1、3号存储体称为奇行,2、4号存储体称为偶行。3.2.3插值模块插值模块的主要功能是接收缓存模块传来的数据,并在内部对这些数据进行分组,用插值运算块对不同组数据分别进行运算,将每个像素丢失的两种色彩补插出来。此模块的信号描述如图3-7。插值模块内部由插值控制模块和插值运算模块组成。插值控制模块先对输入的数据线组合,得到24位宽的数据线,并对其编组。如图3-8所示,方框内的数字代表各个存储体。以1组为例,数据线线序为存储体4的数据线为最高位,存储体2的数据线为最低位。在这里1,3组称为奇行组,2,4组称为偶行组。37 基于FPGA的CMOS彩色图像变换IP设计SRAM4SRAM1SRAM2SRAM1SRAM2SRAM3SRAM2SRAM3SRAM4SRAM3SRAM4SRAM11组2组3组4组图3-8.数据线组合示意图图3-8.数据线组合示意图插值控制模块内部包含一个12位的计数器,其最高位控制进入插值模块的数据是1,2组还是3,4组。奇、偶行组的数据分别进入各自的3级寄存器组,如图3-8所示。图中,y1,z1,y2,z2,y3,z3分别代表一级寄存器,把从y1输出的24位数据的高8位记作ylh,中间8位记作ylm,低8位记作yll,其余的输出按上述规则分别记作y2h,y2m,y21,y3h,y3m,y31,zlh,zlm,z11,z2h,z2m,z21,z3h,z3m,z31。第11位第1位输出数据00奇行奇列运算块01奇行偶列运算块10偶行奇列运算块11偶行偶列运算块表3-1.数据输出选择表37 基于FPGA的CMOS彩色图像变换IP设计y1y2y3奇行组24位数据线奇行组寄存器组z1z2z3偶行组24位数据线偶行组寄存器组图3-10.寄存器组示意图计数器的第1,11位用来选择数据输出,见表3-1.插值运算模块分成奇行奇列、奇行偶列、偶行奇列、偶行偶列4个运算块。插值处理以图1-1所示的Bayer模板为标准,奇行奇列运算块补插绿色和红色,奇行偶列运算块补插蓝色和红色。各运算块输出数据按高8位红色,中间8位绿色,低8位蓝色进行排列。公式运算见表3-2。名称输出运算公式奇行奇列运算快高8位(y1h+y1l+y3h+y3l)/4中间8位(y1m+y3m+y2h+y2l)/4低8位(y2m)奇行偶列运算快高8位(y2h+y2l)/2中间8位(y2m)低8位(y1m+y3m)/2偶行奇列运算快高8位(z1m+z3m)/2中间8位(z2m)低8位(z2h+z2l)/2偶行偶列运算快高8位(z2m)中间8位(z1m+z3m+z2h+z2l)/4低8位(z1h+z1l+z3h+z3l)/4表3-2.公式运算表插值模块的设计流程是:上电后,模块内部将从缓存模块接收的数据分成奇行组和偶行组,奇行组的数据进入奇行奇列运算块和奇行偶列运算块,偶行组的数据进入偶行奇列运算块和偶行偶列运算块,再由插值控制模块控制,各运算块处的数据处理完后,经选择器选择输出。37 基于FPGA的CMOS彩色图像变换IP设计奇行组24位数据线A11y1y2y3z1z2z3偶行组24位数据线计数器A11控制是1,2组还是3,4组进入插值模块。计算模块:9个八位的数据通过运算公式进行处理。数据选择:通过A11,A0选择输出图3-11.插值运算模块结构图由于插值计算需要用到周围数行的数据,因此运算并不是从有数据输入就立即开始的。以本系统为例,采用改进的双线性插值,有4条输入缓冲RAM:sram1,sram2,ram3,sram4。RAM在简单双端口模式下工作。源数据在外部时钟clk控制下,将第1行,第2行数据,第3行数据先后写入:人sraml,sram2,sram3,当第4行数据半数已经写入到sram4时,内部四个寄存器组在内部时钟clk控制下,开始同时从sraml,sram2,sram3,sram4取数据。当读取完成,read信号置为高,运算模从寄存器组读取数据,开始运算。整个过程中,输入端数据仍在clk控制下连续写入到RAM中去。源数据的写入和读取在两个不同时钟下同时进行,为了保证读出数据的有效性,读取速率即不能太快也不能太慢。每个数据应该在被读取前被写入,在被重新写入新数据前被读出。由于内部处理时钟频率远高于数据输入时钟频率,我们在源数据写入两行半的时候开始从RAM读取数据,读取累计一整行后暂停,等待写入数据再过的时候读取数据。37 基于FPGA的CMOS彩色图像变换IP设计4软硬件调式4.1编程平台和调试软件本课题选用的FPGA开发环境是ISE(IntegratedSoftwareEnviroment)6.1d,采用Xilinx公司的Spartan-II系列的FPGA(Spartan-II系列的FPGA内核电压为2.5V,系统性能可达200MHZ)。由于ISE6.1d不自带仿真软件,所以需要通过Modeltech_6.5b仿真工具进行仿真。4.2调试过程图4-1.部分硬件实物硬件采用Xilinx公司的SpartanII系列器件XC2S100芯片,及NEC的10.4寸NL6448AC33-18工业级液晶屏。37 基于FPGA的CMOS彩色图像变换IP设计4.2.1彩条行显示首先通过FPGA编程对液晶进行测试和显示彩色条形,来确定液晶的好坏。通过FPGA控制液晶显示简单的彩条只需编写正确的行场扫描时序,同时保证在图4-2.液晶彩条显示不同的行扫描段输出不同的RGB数据,即可在液晶屏上显示彩条。在此,我先简单的在液晶上显示不同颜色的屏幕来验证所写时序的正误。然后,再通过修改程序来实现屏幕上显示不同颜色的10列长条。4.2.2BLOCKRAM读写的说明图4-2.基于双口RAM的移位寄存器实现结构图缓存模块内部包含4个相同的存储体(1024x8bit),每个存储体是由FPGA内部的两个BlockRAM组成,且支持双口操作。一个端口定义为只写,另一个端口定义为只读。37 基于FPGA的CMOS彩色图像变换IP设计在Xilinx公司的SpartanII系列的FPGA芯片中,对存储器BLOCKRAM固化了,它只能当作RAM来使用,若设计中没有用到其的BlockRAM,那么这些RAM资源就浪费掉了。在XC2S150FPGA芯片中,有12块BlockRAM,每块容量为4k位,它可以实现单口或双口RAM等功能,可以配置成256×16、512×8、1024×4等多种形式。图4-2是RAM的结构图,写地址产生器和读地址产生器的时序关系如图4-3所示,图4-3.写地址和读地址产生器的时序图在系统初始的复位态,写地址产生器的地址指针指向0x000H,而读地址的地址指针指向0x001H。在每个时钟的上升沿,写地址和读地址都加1,当写地址或读地址为1023时,写地址产生器或读地址产生器复位,地址指针指向0x000H。这种时序关系使系统的读地址指针总是写地址指针加1,当对0x000H单元进行写数据时,0x001单元的内容将被读出。37 基于FPGA的CMOS彩色图像变换IP设计结论本课题以CMOS图像传感器采集图像数据,采用现在可编程门阵列器件(FPGA)产生系统所需要的时序,将采集到的数据图像作为CFA插值算法的输入源,利用VHDL语言实现实时双线性插值算法。具体内容如下:1.通过对大量的有关彩色图像恢复算法的学术论文和资料的学习与分析,对彩色恢复算法的原来、特点及硬件可行性有所掌握,为以后在相关领域开展工作打下基础。2.在FPGA内实现彩色图像恢复算法的时序设计,针对算法中单路径过长导致处理速度下降的情况,提供了8路并行处理的方法,使得实时实现复杂恢复算法成为可能。3.实测时,整个逻辑设计使用VHDL硬件描述语言编写代码,采用Top-down模块化设计方法,使其具有很好的可移植性和可修改性。实验证明,该系统工作稳定,能实现设计要求的彩色恢复算法,基本达到了设计目的。由于时间及条件问题,本人未能完全完成导师所要求的任务,但基本达到要求,能够理解本课题设计的原理,熟悉设计的整个过程,知道设计最后能实现的结果。37 基于FPGA的CMOS彩色图像变换IP设计参考文献[1]胡磊, CCD图像的颜色插值算法研究及其FPGA实现. 通信与信息系统,2009.7.[2]候伯亭,顾新.VHDL硬件描述语言与数电路设计(修订版).西安:西安电子科技大学出版社,1999.1.[3]Microchip Technology Inc. “PIC24H 系列数据手册” (DS70175D_CN) 2007].[4]王诚,薛小刚,钟信潮.FPGA/CPLD设计工具Xilinx ISE使用详解[M].人民邮电出版社,2005(1).[5]彭俊,基于FPGA的彩色恢复系统的研究.中国科学院研究生院,光学工程,2007.[6]来金梅,FPGA现状及其发展趋势[J].2005(8),22(9):33-42.[7]田书成,基于CMOS图像传感器的宽动态、低照度一体化摄像机的设计.太原理工大学,通信与信息系统,2010.[8]XilinxInc.DirectDigitalSynthesizer(DDS)www.support.xilinx.com.[9]Dan Morelli  Modulating Direct Digital Synthesizer in a QuickLogic FPGA[J]. 2006, 11(23):12-24.[10]苏光大. 微机图象处理系统. 北京:清华大学出版社,2000.7.[11]EDA先锋工作室.Altera FPGA/CPLD设计[M].北京:人民邮电出版社,2005(7).[12]韩伟,谢憬,毛志刚.基于FPGA的多功能LCD控制器的设计与实现[J].信息技术.2008年第6期.[13]张洪润,张亚凡.FPGA/CPLD应用设计200例[M].北京航空航天大学出版社.2009.[14]朱耀东,经亚枝,张焕春.基FPGA的一种高速图形帧存设计[J].电子技术应用.2003.[15]成英,FPGA产品市场现状与展望[J].电子设计应用.2004年12期.[16]刘方,基于Bayer彩色滤波阵列插值算法的研究。电子科技大学。2006.[17]梁飞,基于CMOS图像传感器的成像技术与处理方法研究.沈阳航空工业学院,信号与信息处理,2010.[18]杨华,基于FPGA的Bayer到RGB图像格式转化设计.现代电子技术,2010,02期.37 基于FPGA的CMOS彩色图像变换IP设计附录附录1缓存控制模块程序libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;--Uncommentthefollowinglinestousethedeclarationsthatare--providedforinstantiatingXilinxprimitivecomponents.--libraryUNISIM;--useUNISIM.VComponents.all;entitytext3isport(clk:instd_logic;reset:instd_logic;vsync:instd_logic;write:instd_logic;raddl:outstd_logic_vector(9downto0);waddl:outstd_logic_vector(9downto0);renb:outstd_logic;wena1:outstd_logic;wena2:outstd_logic;wena3:outstd_logic;wena4:outstd_logic);endtext3;architectureBehavioraloftext3issignalwrite_count:std_logic_vector(11downto0);signalread_count:std_logic_vector(9downto0);signalr_s:std_logic;--writebeginr_s<=resetANDvsync;process(r_s,write,clk)beginif(r_s='0')thenwrite_count<="111111111111";elsif(clk'eventandclk='1')thenIfwrite='1'thenwrite_count<=write_count+"000000000001";endif;37 基于FPGA的CMOS彩色图像变换IP设计endif;endprocess;process(r_s,write_count)begincasewrite_count(11downto10)iswhen"11"=>wena1<='1';when"00"=>wena2<='1';when"01"=>wena3<='1';when"10"=>wena4<='1';whenothers=>wena1<='0';endcase;endprocess;waddl<=write_count(9downto0);--readprocess(clk,r_s,read_count)beginif(r_s='0')thenread_count<="1111111111";elsif(clk'eventandclk='1')thenread_count<=read_count+"0000000001";endif;endprocess;process(read_count,write_count)beginif(write_count(11downto10)="01")thenif(write_count(9downto0)="0000000011")thenrenb<='1';endif;endif;endprocess;raddl<=read_count;endBehavioral;附图2缓存控制模块仿真图37 基于FPGA的CMOS彩色图像变换IP设计附录3缓存模块程序ibraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;--Uncommentthefollowinglinestousethedeclarationsthatare--providedforinstantiatingXilinxprimitivecomponents.--libraryUNISIM;--useUNISIM.VComponents.all;entitytext4isport(clk:instd_logic;reset:instd_logic;datain:instd_logic_vector(7downto0);--raddr:instd_logic_vector(9downto0);--waddr:instd_logic_vector(9downto0);renb:instd_logic;wena1:instd_logic;wena2:instd_logic;wena3:instd_logic;wena4:instd_logic;rout:outstd_logic_vector(7downto0);sram1:outstd_logic_vector(7downto0);sram2:outstd_logic_vector(7downto0);sram3:outstd_logic_vector(7downto0);sram4:outstd_logic_vector(7downto0));endtext4;architectureBehavioraloftext4issignalwl_count:std_logic_vector(9downto0);--signalwh_count:std_logic_vector(1downto0);signalr_count:std_logic_vector(9downto0);begin--writeprocess(clk)beginifreset='0'thenwl_count<="1111111111";elsif(clk'eventandclk='1')thenwl_count<=wl_count+"0000000001";endif;endprocess;process(clk)begin37 基于FPGA的CMOS彩色图像变换IP设计if(clk'eventandclk='1')thenifwena1='1'thensram1<=datain;elsifwena2='1'thensram2<=datain;elsifwena3='1'thensram3<=datain;elsifwena4='1'thensram4<=datain;endif;endif;endprocess;--readprocess(clk)beginifreset='0'thenr_count<="1111111111";elsif(clk'eventandclk='1')thenr_count<=r_count+"0000000001";endif;endprocess;process(clk)beginif(clk'eventandclk='1')thenifrenb='1'thenrout<=datain;endif;endif;endprocess;endBehavioral;附图4帧控制时序仿真图附录5带进位计数器程序libraryieee;useieee.std_logic_1164.all;37 基于FPGA的CMOS彩色图像变换IP设计useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitycount8isport(clk:instd_logic;rst:instd_logic;en:instd_logic;cm:outstd_logic;wena1,wena2,wena3,wena4:outstd_logic;c_out:outstd_logic_vector(2downto0));endcount8;architecturearcofcount8issignalcnt:std_logic_vector(2downto0);signalccnt:std_logic_vector(1downto0);beginprocess(clk,rst)beginifrst='1'thencnt<=(others=>'0');cm<='0';elsifrising_edge(clk)thenifen='1'thenifcnt="111"thencm<='1';cnt<="000";elsecnt<=cnt+1;cm<='0';endif;endif;endif;endprocess;c_out<=cnt;process(ccnt,cnt(2),cnt(1))beginccnt<=cnt(2)&cnt(1);caseccntiswhen"00"=>wena1<='1';37 基于FPGA的CMOS彩色图像变换IP设计when"01"=>wena2<='1';when"10"=>wena3<='1';when"11"=>wena4<='1';whenothers=>wena1<='0';endcase;endprocess;endarc;附图6计数器仿真图37 基于FPGA的CMOS彩色图像变换IP设计毕业设计(论文)文献综述题目:基于FPGA的CMOS彩色图像变化IP设计专业:电子信息工程1前言部分(阐明课题的研究背景和意义)图像信息是人类获取的最重要的信息之一,图像的采集和处理在现代多生产发展领域中占有重要的地位。在日常生活中,常用于数码相机、可视电话、多媒体IP电话和电话会议等产品;在工业生产中,图像采集可用于材料分析、锅炉火焰监测等;在生物医学领域,图像采集可以用于B超、CT、病理分析等;在金融领域,图像采集可以用于票证处理,柜员机自动检测等;在航空航天领域,可以用于各种运动目标的自动制导、运动物体的经纬度测定以及夜间侦察等【1】。对任意一个图像采集系统而言,周围环境的图像信息都是来自于图像传感器。图像传感器获得的原始图像信息的完整性和正确性,对于整个采集系统是相当重要的,直接决定了最终的成像效果。从原始图像到最终形成的真彩色图像的变换过程,称为色彩恢复,又叫颜色插值。颜色差值在图像压缩、解码和数字图像采集系统彩色实时显示方面有着非常重要的应用,在过去二十年中一直是研究热点,同时也产生了大量有价值的插值算法。目前,采用硬件来实现各种图像处理算法,成为了最新的研究热点。因此,充分利用硬件系统并行运算的速度优势,积极开展基于FPGA的颜色插值算法研究,并将其应用到图像采集系统当中,具有重要的理论和现实意义【3】。随着CMOS工艺的不断发展,它的系统集成度、动态范围、感光度、功耗等性能大幅提高,使得CMOS传感器越来越多的进入不同领域。CMOS传感器的集成度高、体积小、重量轻,它最大的优势是具有高度系统整合的条件,因为采用数字——模拟信号混合设计,从理论上讲,图像传感器所需的所有功能,如垂直位移、水平位移暂存器、传感器阵列驱动与控制系统(CDS)、模数转换器(ADC)接口电路等完全可以集成在一起,实现单芯片成像,避免使用外部芯片和设备,极大地减小了器件的体积和重量。CMOS-APS使用单一工作电压,功耗低,仅相当于CCD的1/10-1/100,还可以与其他电路兼容,具有功耗低、兼容性好的特点。并且CMOS传感器使用与制造半导体器件90%的相同基本技术和工艺,且成品率高,制造成本低,目前用于摄像的50万像素的CMOS传感器不到10美元【2】。37 基于FPGA的CMOS彩色图像变换IP设计如今,追求高速度成为了图像处理的一个重要发展趋势。由于DSP处理器没有摆脱传统CPU的串行指令执行方式,其图像处理的速度问题一直是一个很难突破的设计瓶颈。随着大规模集成电路(ASIC)以及现场可编程门阵列(FPGA)技术的发展,它们在图像领域的应用越来越广泛。这就使图像采集和处理设计朝着速度快、容量大、体积小、重量轻的方向发展,也为图像采集和处理系统的设计与实现提供了新的方法和思路【2】。本课题设计基于FPGA的CMOS彩色图像变化IP,利用FPGA处理数据量大、处理速度快,结合CMOS图像传感器MT9M001和BayerCFA格式图像的特点,设计一种基于FPGA的图像数据转化处理IP,实现Bayer格式到RGB格式的转化的设计,研究CFA图像插值算法,实现基于FPGA的实时线性插值算法,对Bayer图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。2主题部分(阐明课题的国内外发展现状和发展方向,以及对这些问题的评述)FPGA是一种高密度的可编程逻辑器件。自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集成密度最高达500万/片。系统性能可达百兆赫兹。FPGA是在PAL,GAL等可编程逻辑器件的基础上发展起来的大规模可编程逻辑器件。与以往的PAL,GAL等相比较,FPGA的规模较大,集成度高,适合于时序、组合等逻辑电路应用场合,可以替代几十甚至上百片通用LC芯片。FPGA具有可编程性和实现方案容易改动的特点,器件内部的硬件连接关系的描述可以存储在ROM,PROM,EPROM和磁盘中,因而在器件及其外围电路保持不动的情况下,换一片EPROM芯片,就能实现一种新的功能【5】。USB、串口、并口是PC机和外设进行通讯的常用接口,但对于数据量大的图像来说,若利用串行RS-232协议进行数据采集,速度不能达到图像数据采集所需的要求;而用USB进行数据采集,虽能满足所需速度,但要求外设必须支持USB协议,而USB协议与常用工程软件的接口还不普及,给使用带来困难。有些用户为了利用标准并行口(SPP)进行数据采集,但SPP协议的150kb/s传输率对于图像数据采集,同样显得太低【4】。FPGA用于图像处理有比较大的优势。实时图像处理对数据处理能力和吞吐量有很高的要求。以一幅分辨率为640X480的10位彩色图像为例,其数据量达到了384K字节。各种图像处理算法因为计算过程复杂,也需要处理器有足够强大的运算能力。因此,要想保证图像处理的实时性,系统的快速处理能力和大数据量的吞吐能力是其先决条件。目前在图像处理应用的核心芯片主要为DSP或者FPGA,传统的DSP处理器是一个高性能的数字处理器,内部包括一个高性能的中央运算单元,其运行频率可以达到千兆赫兹,但是当进行较复杂的运算时,可能循环几百次才可以完成,从而在一定程度上影响了它的运行速度。而具有较高传输速率的FPGA可以采集37 基于FPGA的CMOS彩色图像变换IP设计数据量大的图像数据,对CMOS图像传感器数据采集,它最高速率可以达到2Mb/s【7】。近几年来,随着大规模可编程逻辑器件的发展和嵌入式技术的不断进步,低成本FPGA不断推陈出新。半导体工艺的进步不仅带来FPGA成本的降低,还使其性能显著提升,同时不断集成一些新的硬件资源,比如内嵌DSP块、内嵌RAM块、锁相环((PLL)、高速外部存储器接口((DDR/DDR2)、高速LuDS接口等。在Altera公司90nm的CycloneIIFPGA内部,还可以集成一种软处理器NiosII及其外设,它是目前FPGA中应用最为广泛的软处理器系统。作为一个平台,FPGA显然己经非常适合于高性能低成本的视频和图像应用。硬件实验平台是为验证时序设计的正确性和在时序驱动下的工作性能而构建的,其组成如图:CMOS图像传感器→PC机图1.电路整体框架37 基于FPGA的CMOS彩色图像变换IP设计FPGA的彩色恢复系统的研究,已知的绿色像素的强度进行估算,对红和蓝色通道亦是如此。其中最典型、应用最多的是双线性法。这一类算法容易实现,在平滑区域内也可以得到比较满意的效果,但在高频区域,尤其是在边界区域却失真明显。第二类则是利用多通道的相关性进行插值,这一类自适应的算法常常结合了对图像细节的分析判断以及颜色通道之间的相关性,插值效果要明显优于前一类,大部分的算法都属于这一类。例如基于边界的算法,加权系数法,交互式插值法,最优化恢复也有部分算法利用了信号变换如小波变换,傅立叶变换等,这些算法通常能得到比较满意的效果,尤其是清晰的边界与细节特征,但往往算法复杂,无法应用于数码相机信号转换系统【8】。CMOS图像传感器采集到的都是经过滤波镜片后的Bayer格式马赛克图像,为了恢复丢失掉的色彩信息,必须经过插值计算。在图像处理领域中,图像插值有着广泛的应用,提高图像分辨率和清晰度是插值算法研究的主要目标。随着多媒体技术和大规模集成电路的发展,利用硬件资源实现图像处理算法以实现对视频实时处理成为图像处理的发展趋势。传统的线性插值算法容易引起边缘锯齿化和细节模糊效应,现有的非线性插值方法在一定程度上可以改善图像质量,但在计算速度和图像性能上仍有待提高,空域上的插值算法在放大倍数较大时容易导致图像模糊和细节失真。为改进插值方法的不足并提高图像质量,本文研究了图像插值算法及其在FPGA上的实现与应用,包括图像空域和变换域内的插值算法,插值算法的硬件实现及用于数字视频分辨率提升的系统实现【10】。本课题主要研究包括:1、研究了空域上常用的图像插值算法。提出了基于图像多方向边缘最大相关性的图像插值算法,引入了边缘保护和最大相关性插值。由于其良好的边缘自适应特性,较好解决了传统方法导致的边缘锯齿化和细节模糊等问题,而且运算量小,适合硬件实现。2、研究了变换域上的图像插值算法。针对空域上插值算法在较大放大倍数时的图像模糊和细节失真现象,在小波域上提出基于小波的保护边缘插值算法,充分利用了小波分解对图像细节的提取特性和自适应滤波理论,较好保持了边缘特征和高频细节,有效改善了图像分辨率和视觉效果。3、结合数字视频实时处理要求,研究了多方向边缘最大相关性插值算法的FPGA设计与实现,可以支持较高频率视频输入下的稳定工作。4、研究CFA 图像插值算法,实现基于FPGA 的实时线性插值算法,对Bayer 图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。视频便携式摄像机、掌上电脑、PDA和保安设备的巨大需求推动了CMOS图像传感器的广泛应用。其中以APS发展最为迅速,过去工艺中各种37 基于FPGA的CMOS彩色图像变换IP设计不易解决的技术问题现在都能找到相应的解决办法,图像质量得到大大改善,像素规模已由最初的几万像素发展到现在的几百万上千万像素。CMOS传感器中光探测部件和输出放大器都是每个像素的一部分,积分电荷在像素内就被转为电压信号,通过X-Y输出线输出,这种行列编址方式使窗口操作成为可能,可以进行在片平移、旋转和缩放,没有拖影、光晕等假信号,图像质量高。高速性是CMOS电路的固有特性,CMOS图像传感器可以极快地驱动成像阵列的列总线,并且ADC在片内工作具有极快的速率,对输出信号和外部接口干扰具有低敏感性,有利于与下一级处理器连接【7】。CMOS图像传感器具有很强的灵活性,可以对局部像素图像进行随机访问,增加了工作灵活性。目前,CMOS图像传感器主要朝着高分辨率、高动态范围、高灵敏度、超微型化、数字化、多功能化的方向发展。随着CMOS图像传感器技术的完善和发展,它的应用范围也会不断拓宽,全球CMOS图像传感器销售量将逐年大幅度增长。3总结部分(将全文主题进行扼要总结,提出自己的见解并对进一步的发展方向做出预测)随着科技技术的飞跃发展,CMOS图像传感器产品技术越来越成熟,其性能已经达到或超过CCD。利用CMOS图像传感器进行彩色图像采集,在保证高质量图像的前提下降低了设计复杂度和产品成本。目前,采用硬件来实现各种图像处理算法,成为了最新的研究热点。因此,充分利用硬件系统并行运算的速度优势,积极开展基于FPGA的颜色插值算法研究,并将其应用到图像采集系统当中,具有重要的理论和现实意义。而利用FPGA对CMOS高速数据采集方法,可以把CMOS的主动器件通过FPGA变成可控制的方式,PC可间接对存储体进行寻址运算。在该系统中用PC的并口实现了CMOS信号的高速采集处理,按前述软硬件方法制作的系统,实际稳定的采样速率达到了15帧/s,该系统已应用在管道无损检测样机中,效果良好【6】。这种信号采集方法还可以在其它诸多需要高速图像数据采集的场合应用。国际应用市场上CMOS图像传感器将超越CCD图像传感器,可以相信一个崭新的数字图像技术时代即将来临。37 基于FPGA的CMOS彩色图像变换IP设计4参考文献[1]胡磊, CCD图像的颜色插值算法研究及其FPGA实现. 通信与信息系统,2009.7.[2]候伯亭,顾新.VHDL硬件描述语言与数电路设计(修订版).西安:西安电子科技大学出版社,1999.1.[3]Microchip Technology Inc. “PIC24H 系列数据手册” (DS70175D_CN) 2007].[4]王诚,薛小刚,钟信潮.FPGA/CPLD设计工具Xilinx ISE使用详解[M].人民邮电出版社,2005(1).[5]彭俊,基于FPGA的彩色恢复系统的研究.中国科学院研究生院,光学工程,2007.[6]来金梅,FPGA现状及其发展趋势[J].2005(8),22(9):33-42.[7]田书成,基于CMOS图像传感器的宽动态、低照度一体化摄像机的设计.太原理工大学,通信与信息系统,2010.[8]XilinxInc.DirectDigitalSynthesizer(DDS)www.support.xilinx.com.[9]Dan Morelli  Modulating Direct Digital Synthesizer in a QuickLogic FPGA[J]. 2006, 11(23):12-24.[10]苏光大. 微机图象处理系统. 北京:清华大学出版社,2000.7.[11]EDA先锋工作室.Altera FPGA/CPLD设计[M].北京:人民邮电出版社,2005(7).[12]韩伟,谢憬,毛志刚.基于FPGA的多功能LCD控制器的设计与实现[J].信息技术.2008年第6期.[13]张洪润,张亚凡.FPGA/CPLD应用设计200例[M].北京航空航天大学出版社.2009.[14]朱耀东,经亚枝,张焕春.基FPGA的一种高速图形帧存设计[J].电子技术应用.2003.[15]成英,FPGA产品市场现状与展望[J].电子设计应用.2004年12期.[16]刘方,基于Bayer彩色滤波阵列插值算法的研究。电子科技大学。2006.[17]梁飞,基于CMOS图像传感器的成像技术与处理方法研究.沈阳航空工业学院,信号与信息处理,2010.[18]杨华,基于FPGA的Bayer到RGB图像格式转化设计.现代电子技术,2010,02期.37 基于FPGA的CMOS彩色图像变换IP设计毕业设计(论文)开题报告题目:   基于FPGA的CMOS彩色图像变化IP设计                      专业:电子信息工程1选题的背景、意义CMOS是一种采用CMOS(ComplementaryMetal-oxide-semiconductor,互补金属氧化物半导体)工艺制造的图像传感器。相比于CCD器件,具有集成度高、功耗低、体积小、工艺简单、开发周期短等优点,近年来在工业、监控、航空和航天等众多领域显示出强劲的发展势头【1】。利用FPGA处理数据量大、处理速度快,结合CMOS图像传感器MT9M001和BayerCFA格式图像的特点,设计一种基于FPGA的图像数据转换处理系统,提出用硬件实现Bayer格式到RGB格式转换的设计方案,研究CFA图像插值算法,实现基于FPGA的实时线性插值算法,对Bayer图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。整个设计模块能够满足高帧率和高清晰的实时图像处理,占用系统资源很少,用较少的时间完成了图像数据的转换,从而提高了效率【2】。FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块【7】。CMOS图像传感器采集到的都是经过滤波镜片后的Bayer格式马赛克图像,为了恢复丢失掉的色彩信息,必须经过插值计算。随着大规模/超大规模集成电路以及大规模可编程逻辑器件(CPLD/FPGA)的高速发展和广泛应用,实时图像处理也得到了非常迅速的发展。为了提高图像处理的速度,满足系统实时要求,可以用硬件来实现对图像的处理,FPGA芯片便是目标硬件的理想选择之一,同时FPGA的应用也为提高图像处速度提供了新的思路和解决方法【11】37 基于FPGA的CMOS彩色图像变换IP设计。本课题设计基于FPGA的CMOS彩色图像变换IP,实现Bayer格式到RGB格式转换的设计,研究CFA图像插值算法,实现基于FPGA的实时线性插值算法,对Bayer图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。2相关研究的最新成果及动态视频便携式摄像机、掌上电脑、PDA和保安设备的巨大需求推动了CMOS图像传感器的广泛应用。其中以APS发展最为迅速,过去工艺中各种不易解决的技术问题现在都能找到相应的解决办法,图像质量得到大大改善,像素规模已由最初的几万像素发展到现在的几百万上千万像素。且CMOS传感器芯片已广泛用于数码相机、保安监控和医疗设备等诸多领域。在低分辨率应用领域中,Pinkhill公司用于娱乐和玩具行业的成像系统,Marshall公司推出的单片照相机,VLSIVision公司生产的用于儿童娱乐即时拍照新概念相机,韩国汉城国立大学电子工程学院集成系统实验室利用64×256阵列传感器开发的指纹识别系统等;在中、高分辨率应用领域,CMOS图像传感器也得到广泛的发展和应用,如VLSIVision生产的单色384×287像素和320×243像素的CMOS摄像机及阵列达1000×800的用于数字相机的彩色图像传感器,美国Omnivision公司开发的CMOS图像传感器系列产品有640×480,1024×768(黑白、彩色)图像传感器及正在开发的高分辨率1280×1024图像传感器,Rockwell半导体系统所研制的用于数字和视频领域的640×480,800×600,960×720阵列高分辨率CMOS图像传感器,美国宇航局喷气实验室设计制造的含有1024×1024阵列CMOS图像传感器的彩色相机,Sunni公司正在开发用于指纹识别和二维条形码识别的高集成度CMOS图像传感器【13】。高速性是CMOS电路的固有特性,CMOS图像传感器可以极快地驱动成像阵列的列总线,并且ADC在片内工作具有极快的速率,对输出信号和外部接口干扰具有低敏感性,有利于与下一级处理器连接。CMOS图像传感器具有很强的灵活性,可以对局部像素图像进行随机访问,增加了工作灵活性【15】。与以往的PAL,GAL等相比较,FPGA的规模较大,集成度高,适合于时序、组合等逻辑电路应用场合,可以替代几十甚至上百片通用lc芯片。FPGA具有可编程性和实现方案容易改动的特点,器件内部的硬件连接关系的描述可以存储在ROM,PROM,EPROM和磁盘中,因而在器件及其外围电路保持不动的情况下,换一片EPROM芯片,就能实现一种新的功能。这种低成本37 基于FPGA的CMOS彩色图像变换IP设计FPGA开辟的新兴市场将是驱动FPGA需求增长的主要动力,新兴市场包括消费电子、汽车和工业应用。未来,FPGA不但会在消费电子市场代替低出货量的ASIC器件,而且还会代替一些汽车应用领域的MCU器件和通信、视频处理领域的DSP器件。在经历了前几年通信市场低迷带来的不景气后,FPGA厂商将应用扩大到了众多的新兴领域,并且路越走越宽,该市场增长率大大高于整体半导体市场的增长率,这令为数不多的FPGA厂商正迈向幸福的生活【13】。所以利用低成本FPGA处理数据量大、处理速度快,再结合CMOS图像传感器MT9M001和BayerCFA格式图像的特点,设计一种基于FPGA的图像数据转换处理系统的方案,即将成为热点话题。3课题的研究内容及拟采取的研究方法(技术路线)、研究难点及预期达到的目标利用FPGA 处理数据量大、处理速度快,结合CMOS 图像传感器MT9M001 和BayerCFA 格式图像的特点,设计一种基于FPGA 的图像数据转换处理IP。本课题硬件实验平台,其组成如图:图1.电路整体框架一、研究内容:1.FoundationISE平台上设计基于xilinxFPGA的图像数据处理IP,要求提供设计源码和测试台文件及相关波形仿真图(modelsim5.5f)。2.利用CMOS 图像传感器MT9M001 和BayerCFA 格式图像的特点,设计一种基于FPGA 的图像数据转换处理IP,实现Bayer型CFA到RGB格式的转换。3.研究CFA 图像插值算法,实现基于FPGA 的实时线性插值算法,对Bayer 图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。37 基于FPGA的CMOS彩色图像变换IP设计4.最后能演示运行,显示简单图形。二、技术路线:第一,了解CMOS图像传感器的工作的原理和功能。CMOS器件的集成度高、体积小、重量轻,它最大的优势是具有高度系统整合的条件,因为采用数字——模拟信号混合设计,从理论上讲,图像传感器所需的所有功能,如垂直位移、水平位移暂存器、传感器阵列驱动与控制系统(CDS)、模数转换器(ADC)接口电路等完全可以集成在一起,实现单芯片成像,避免使用外部芯片和设备,极大地减小了器件的体积和重量。CMOS型固态图像传感器在光检测方面都利用了硅的光电效应原理典型的CMOS像素阵列,是一个二维可编址传感器阵列。传感器的每一列与一个位线相连,行允许线允许所选择的行内每一个敏感单元输出信号送入它所对应的位线上,位线末端是多路选择器,按照各列独立的列编址进行选择。第二,学习Xilinx软件的基本使用,熟悉FPGA的现场可编程特性;学习modelsim仿真工具的使用方法,掌握各种仿真流程与实现方法。熟悉FPGA的设计过程。掌握复杂时序逻辑电路的设计方法,掌握可综合的VHDL语言的设计风格;掌握FPGA下载的设计方法;利用硬件验证设计的正确性。第三,了解Bayer型CFA的特点。在光打在传感芯片之前,它要首先通过一个彩色滤波阵列,即CFA(ColorFilterArray),使得相应的彩色光透过,而滤除其它颜色的光,如图2所示。为了得到全彩色图,必须在每个像素位置测出三种基色光(红、绿、蓝)的强度,但为了降低数字相机的成本与体积,本课题采用单片CMOS图像传感器,通过其表面覆盖的CFA,使得只有一种基色光到达每个像素位置。图2.BayerCFA第四,了解RGB格式的特点。根据人眼的结构,所有的颜色都可以看作是红、绿、蓝三种基色按不同的比例组合而成。由于这三种基色可以由物理手段产生出来,通常也称为物理三基色,它们相互独立,其中任一色均不能由其它二色混合产生。RGB彩色模型可用图3所示的单位立方体模型表示。37 基于FPGA的CMOS彩色图像变换IP设计图3.RGB彩色空间模型第五,了解CFA图像插值算法,实现基于FPGA的实时线性插值算法。双线性(bilinear)法属于单通道独立插值法,作为最传统、简单、基础的插值算法之一,它仍然是理解并设计新型算法的基础,对参考评估其它算法的性能仍具有广泛的意义。第六,对Bayer图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。三、研究难点:1.研究CFA 图像插值算法,实现基于FPGA 的实时线性插值算法,对Bayer 图像格式进行插值恢复全彩色图像,实现从黑白图像还原高清彩色图像。2.在本课题的软件设计中,图像实时采集和后续处理全部在FPGA中进行,需要较大规模的逻辑开发量。对于大规模的逻辑电路,开发的难点就在于时序的设计。3.图像插值算法,应用的是FPGA的实时线性插值算法。这一类算法容易实现,在平滑区域内也可以得到比较满意的效果,但在高频区域,尤其是在边界区域却失真明显。四、预期达到的目标直接用CMOS传感器采集到的原始图像数据,送人FPGA内部,通过插值算法进行处理,得到真彩色图像。4研究工作详细工作进度和安排37 基于FPGA的CMOS彩色图像变换IP设计2010年12月2日-2011年1月10日完成文献综述、外文翻译的撰写;2011年2月25日前完成开题报告;2011年3月1日--3月24日完成系统框架设计;2011年3月25日--4月8日完成系统各模块功能设计;2011年4月9日--5月9日软硬件系统调试、修改完善;2011年5月10日--5月16日撰写论文,完成论文初稿;2011年5月17日--5月25日完成论文修改稿,准备答辩5参考文献[1]梁飞,基于CMOS图像传感器的成像技术与处理方法研究.沈阳航空工业学院,信号与信息处理,2010.[2]杨华,基于FPGA的Bayer到RGB图像格式转化设计.现代电子技术,2010,02期.[3]胡磊, CCD图像的颜色插值算法研究及其FPGA实现. 通信与信息系统,2009.7.[4]候伯亭,顾新.VHDL硬件描述语言与数电路设计(修订版).西安:西安电子科技大学出版社,1999.1.[5]Microchip Technology Inc. “PIC24H 系列数据手册” (DS70175D_CN) 2007].[6]王诚,薛小刚,钟信潮.FPGA/CPLD设计工具Xilinx ISE使用详解[M].人民邮电出版社,2005(1).[7]彭俊,基于FPGA的彩色恢复系统的研究.中国科学院研究生院,光学工程,2007.[8]来金梅,FPGA现状及其发展趋势[J].2005(8),22(9):33-42.[9]田书成,基于CMOS图像传感器的宽动态、低照度一体化摄像机的设计.太原理工大学,通信与信息系统,2010.[10]XilinxInc.DirectDigitalSynthesizer(DDS)www.support.xilinx.com.[11]Dan Morelli  Modulating Direct Digital Synthesizer in  QuickLogicFPGA[J]. 2006, 11(23):12-24.[12]苏光大. 微机图象处理系统. 北京:清华大学出版社,2000.7.[13]EDA先锋工作室.Altera FPGA/CPLD设计[M].北京:人民邮电出版社,2005(7).[14]张洪润,张亚凡.FPGA/CPLD应用设计200例[M].北京航空航天大学出版社.2009.[15]朱耀东,经亚枝,张焕春.基FPGA的一种高速图形帧存设计[J].电子技术应用.2003.[16]成英,FPGA产品市场现状与展望[J].电子设计应用.2004年12期.[17]刘方,基于Bayer彩色滤波阵列插值算法的研究。电子科技大学。2006.37

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭