FPGA技术在图像处理上的应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

FPGA技术在图像处理上的应用杜翩翩信息学院10310263203【摘要】:随着科技水平的发展和生活质量的提升,在生产生活中,实时图像处理技术被应用得愈来愈广泛。比如,基于实时图像压缩的视频监控系统,和基于实时图像处理的医学图像诊断系统,等等。实时图像处理涉及到大量的运算,通常需要很高的计算速度、存储容量和数据带宽。这对基于传统应用而设计的通用处理器(例如基于x86架构的桌面式计算系统)而言,是个巨大的负担。因此,以往多采用价格比较昂贵的专用图像处理芯片(ASIC)来满足这种需求。诚然,基于ASIC的图像处理系统往往性能比较优秀,但其对于设计灵活性的缺失却在某些情况下成为其一大弊端。譬如,对于研究图像算法的开发人员,往往无法在这种系统上对新算法进行试验或研究;而对于在产品中应用新算法,设备制造商又不得不进行新一轮的设计。为了弥补这个缺点,业界也提出了其他的方案。一种方案是采用DSP(数字信号处理器,digitalsignalprocessor)平台来进行图像处理。由于DSP平台为数字信号处理在架构上做了特别的优化,所以,这种方案有时也能得到理想的结果。但DSP平台的性能受限于相应软件在其内部架构上是否可以高效的实现。另一种方案是基于GPU(图像处理器,graphicprocessingunit)来实现图像处理算法的加速。针对这方面的研究目前非常热门,因为GPU内部的高度并行性,以及出色的带宽指标,是它一个天然的优势。同样,这种方案的性能受限于相应软件在其内部架构上是否可以高效的实现。上述两种方案目前都开始出现越来越多的应用。然而,随着处理能力需求的提升,这两种硬件平台会遇到功率墙的影响。也就是说,为了达到更高的性能,其工作频率,从而功率耗散,将进一步的提升。而这,可能会影响到它们在嵌入式小型设备中的应用。本文将研究FPGA技术在图像处理上的应用。由于FPGA含有丰富的逻辑单元,很容易实现各种电路设计和完成较复杂的运算,对于不同的图象处理要求,设计者只需用软件修改FPGA内部的逻辑功能即可。同时,FPGA的高度集成化,使图象板更简化、布局更紧凑。【关键词】:图像处理;FPGA1.FPGA的介绍1.1FPGA的结构FPGA通常包含三类可编程资源[1]:可编程逻辑功能块、可编程I/O块和可编程内部互连。可编程逻辑功能块是实现用户功能的基本单元,它们通常排列成一个阵列,散布于整个芯片;可编程I/O块完成芯片上逻辑与外部封装脚的接口,常围绕着阵列排列于芯片四周;可编程内部互连包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或I/O块连接起来,构成特定功能电路。FPGA一般用于逻辑仿真。电路设计工程师设计一个电路首先要确定线路,然后进行软件模拟及优化,以确认所设计电路的功能及性能。然后随着电路规模不断的扩大,工作频率的不断提高,将会给电路引入许多分布参数的影响,而这些影响用软件模拟的方法较难反映出来,所以有必要进行硬件电路仿真。FPGA就可以实现硬件仿真以作成模拟机。将软件模拟后经一定处理后下载到FPGA,就可以容易的得到一个模型机,设计者就能很直观地测试其逻辑功能及性能指标。不同厂家生产的FPGA在可编程逻辑块的规模,内部互连的结构和采用的可编程元件上存在较大的差异。较常用的有Altera、Xilinx和Actel公司的FPGA。XilinxFoundationSreialsISE3.1i是Xilinx公司集成开发的FPGA开发工具。XilinxFoundationSreialsISE支持的FPGA芯片有:XC3000A/L、XC3100A/L、XC4000E/L/EX/XL/XLA、XC5200、XC9500、XC9500XL、SPARTAN、APARTANXL、BIRTEX。FoundationSreialsISE采用自动化的,完整的集成设计环境。FoundationSreialsISE项目管理器(FoundationProjectManager)集成了Xilinx实现工具。此外,FoundationSreialsISE集成了Synopsys公司的FPGAExpress的FoundationSreialsISE,可以提供混合语言(VHDL和VerilogHDL)的综合和优化,它的JTAG编程器支持CPLD和FPGA的下载和配置。尽管FPGA/CPLD和其它类型PLD的结构各有其特点和长处,但它们都是由三大部分组成的:(1)一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心;(2)输入/输出块;(3)连接逻辑块的互连资源。连线资源由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。图为一个典型的PLD框图。I/OControlBlock典型的PLD框图可以看出,图中标有LAB的小块为逻辑单元,中间的井字形为互连资源,周围的几条为输入/输出块。1.2特点分析正如可编程数字信号处理器(programmabledigitalprocessor,PDSP)在近20年前出现时的情形一样。如今,现场可编程门阵列(field-programmablegatearray,FPGA)正处于革命性的数字信号处理技术的前沿。过去,前端的可编程数字处理(digitalprocessing,DSP)算法,例如FFT、FIR和IIR滤波器,都是利用ASIC或者PDSP构建的,但现在大多为FPGA所代替。现代的FPGA系列都提供了支持以低系统开销、低成本实现高速乘-累加(Multiply-accumulate,MAC)超前进位链(XilinxXC4000,AlteraFLEX)的DSP算法。以前的FPGA系列大多面向TTL“胶合逻辑”,没有DSP函数需要的大量的门数量。在21世纪初,我们就看到,两个可编程逻辑器件(programmablelogicdevice,PLD)市场的领导者(Altera和Xilinx)都宣称获得了超过10亿美元的收入。在过去的10年中,FPGA一直保持以20%以上的速度稳步增长,超过ASIC和PDSP10%以上。这源于FPGA具有许多与ASIC相同的特点,比如在规模、重量和功耗都降低了,同时还具有更高的吞吐量、更好的防止非授权复制的安全性、降低了元器件的成本,并且还降低了电路板测试成本。此外,还声称具有优于ASIC的优势,例如:开发时间的缩短(快速的原型设计)、在线路中可重复编程的性质、更低的NRE成本,对于需求少于1000个单元的解决方案而言,还可以产生更为经济的设计。与PDSP相比,典型FPGA设计采用的都是并行操作。例如:实现多重乘-累加调用效率、消除零乘积项以及流水线操作。也就是每个LE都有一个存储器,这样流水线操作就不再需要额外的资源了。2FPGA在图像处理上的应用“Table3”[2]是在业界等到公认的美国高级电信标准协议(STSC)定义的广播格式一览表。正如表中所看到的那样,设备制造商可进行众多的选择-高分辨率(HD)还是标准分辨率(SD),16:9还是4:3,逐行还是隔行扫描等。虽然也有ASSP(特定应用标准产品),但经常是每种标准需要不同的芯片。FPGA解决方案可容易地支持超过HDTV要求的数据传输速率,这意味着一个器件可以支持所有这些格式,只需要根据设备的需要进行重新编程就可以了。这可减少企业的用料清单项目,同时还排除了ASSP供应商可能存在的供货风险。需要进行标准选择的另一个例子是色彩空间变换。图像从照相机采集进来以后就利用压缩算法对其进行处理,再通过后期制作直到在电视机显示出来的过程中也是如此。压缩算法利用了这样的事实,即不必传输一幅图像的所有色彩信息就可得到满意的效果。以RGB(红、绿、蓝)格式进行图像处理是可行的。在RGB格式中,每一像素以对应每一原色的三个8或10位字来定义。但由于人眼对光线频谱中某些部分比其它部分反应要小,因此可以利用亮度或(Y)以及色差信号(如CrCb)来表示图像。这样做的好处是需要较小的存储和数据带宽。因此需要一种机制来进行不同色彩格式间的转换,这也称为色彩空间变换。一旦知道从一个色彩空间向另一个色彩空间映射的系数,用硬件实现这些电路就非常简单。例如,在数字电视系统中,YerCb色彩空间可按下式转换至RGB色彩空间:R\'=1.164(Y-16)+1.596(Cr-128)G\'=1.164(Y-16)-0.813(Cr-128)-0.392(Cb-128)B\'=1.164(Y-16)+1.596(Cr-128)其中R\'G\'B\'是伽马(Gamma)校正RGB数值。由于CRT显示器中,接收到的控制信号幅度和输出强度间是非线性关系。显示器前的伽马校正信号可使接收信号幅度和输出强度的关系线性化。输出增益也限制在一定的阈值,从而降低图像暗部由于传输引入的噪声。有多种可能的实现方法,可利用存储器、逻辑或嵌入式乘法器在FPGA中实现所需的乘法功能。当需要在大量色彩空间之间进行转换选择时,采用可编程色彩空间变换器的优点非常明显。正如此处所示的YCrCb与RGB变换一样,YUV以及YPrPb采用与此类似的算法,只是系数有所不同。虽然有标准的色彩空间,但不同设备间的要求有许多不同的地方。高分辨率图片甚至采用与标准定义不同的色彩空间,但具有可编程的变换系数的设备可以容易地支持任何输入分辨率。同时如果需要的话,多通道色彩空间变换支持也可以做到,而如果不采用可编程逻辑的话,这通常需要多块ASSP。当然,利用FPGA器件,系统架构还可根据应用调整相应的算法,从而使性能、效率或两者同时实现最大化。FPGA经常被大型数据和电信企业广泛用作网络接口设备。可编程架构非常适合协议管理和数据流格式处理,而FPGA提供的高速差分I/O如LVDS,使FPGA可以非常快的速度向片上读入和向片外输出数据。FPGA还可用于局域环境,如家庭网络。欧洲DVB(数字电视广播)联盟最近采用IEEE1394高速串行总线作为数字电视产品的标准连接方式。无线标准,如IEEE802.11和HiperLAN2也被提议作为拥有多台电视的家庭网络的连接方案。随着世界许多地区高分辨率广播的出现,视频信号处理要求极大地提高了。例如,采用1920×1080分辨率、24位像素和每秒30帧逐行扫描的高分辨率电视机将需要约1.5Gbps的总的未压缩带宽。即使在还没有实际进行高分辨率图像广播的地区,在直到后期制作的所有阶段中,采用的也是高分辨率图像。现在最新的可编程逻辑器件具有多个可支持此类数据速率的LVDS(低压差分信号)I/O,即使在针对消费市场的低成本器件中也有这样的I/O支持。这意味着未压缩的视频数据可输入和输出器件并进行实时处理。HDTV速率一级的实时视频处理允许设计人员减少需要的外部存储器数量。目前,由于在设计中视频信号处理器部分成为瓶颈,因此现有的数字电视系统中经常采用多个帧存储和数据缓冲器。利用FGPA的并行信号处理能力意味着更小的,甚至单帧存储即可,而数据缓冲器则可完全省掉。标准DSP在性能方面的局限导致不得不开发更为专用的芯片,如媒体处理器,来克服这些问题。然而,事实证明这些器件除了在范围极窄的一些应用中,都有太不灵活的缺点,同时还有性能瓶颈存在。而FPGA器件则可以通过定制,在利用率和性能方面提供最大的效率。设计人员还可以在设计面积和速度之间进行折衷,并且可以比DSP低得多的时钟速率完成给定的功能。如前所述,FPGA过去仅用于专业的广播系统中,但摩尔定律意味着他们正逐渐应用于大批量消费产品中。以数字电视为例,其中机顶盒功能完全集成到电视中,因此数字电视可接收数字广播。通常这都是通过标准天线接收免费的无线信号,但未来的产品将允许接收来自有线电缆、卫星或DSL线路传输的信号。FPGA可应用于数字电视机内的许多部分,如图1所示。做为标准芯片组间的“联结逻辑(gluelogic)”一起是FPGA的强项,但许多图像处理任务(如色彩空间变换)以及网络接口(如IEEE1394)现在也可在低成本可编程逻辑器件内实现。3总结提出的基于FPGA进行图象处理的方法,与用

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功