一种通用的基于FPGA的视频和图像处理可重构平台

更新时间:2024-03-06 04:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南京理工大学 毕业设计外文翻译

闫龙

一种通用的基于FPGA的视频和图像处理可重构平台

Jie Li, Haibo He, Hong Man 史蒂文斯科技学院电子与计算机工程系

美国新泽西州07030霍博肯 {jli8,hhe,Hong.Man} @ stevens.edu

Sachi Desai

美国陆军武器研究发展和工程中心(ARDEC) 新泽西州07806皮卡汀尼{ sachi.desai } @ us.army.mil

摘要

本文提出了一种通用的多任务可重构的视频和图像处理的平台。如今在许多视频和图像处理应用中,对处理能力的要求越来越高。所以超越软件实现,提供实时、低成本、高性能、可扩展硬件平台很重要。在本论文中,我们提出一个系统,在现场可编程门阵列(FPGA)中运用强大的并行处理结构来实现这一目标。根据拟议系统的层次体系结构和设计策略,在Xilinx的Virtex - II FPGA的嵌入式一体化处理器,内存控制和接口技术上开发了一个原型系统。我们的系统包括不同的功能模块,如边缘检测,放大和缩小的功能,根据不同的应用要求,它使该系统作为通用的视频处理平台的灵活性很强。最终的系统利用了20%的逻辑资源,50%的片内存储器,总功率消耗约203mw。

关键词

可重构系统,FPGA设计,视频和图像处理,边缘检测,图像缩放。

1、引言

视频和图像处理在当今消费电子产品社会中发挥了重要作用。在过去几十年来,关于这种技术,我们目睹了巨大的技术发展。随着这方面不断的技术革新,在消费类电子产品的研究团体中已经提出许多新的机遇和挑战。例如,视频切换技术从标准清晰度(SD)到高清晰度(HD)处理的数据需要增加6倍[1]。视频监控也在不断变化,从传统的通用中间格式(CIF)到D1的标准。为此,要增加处理能力的要求,如带宽,实时计算,低延迟,高产能和低功耗,一直是学术界和工业界主要努力研究的焦点。

1

南京理工大学 毕业设计外文翻译

闫龙

视频和图像处理传统的计算通常需要高性能的专用硬件实现。虽然这样的专用集成电路(ASIC)通常可以提供高密度节能系统,但它需要一个复杂的设计过程。幸运的是,亚微米和深亚微米技术的发展使FPGA成为许多应用程序的强大的硬件平台[2][3]。例如,一个命名为Winscale的使用区域像素模型的图像缩放算法在FPGA已实施[4]。此实现有五个功能块,包括预分频器、行缓冲器、win滤波器、过滤器窗口内插器和滤波参数发生器。经过综合,最终的系统总共有29000个NAND等效门。在文献[5]中,有一个基于FPGA的 SPIHT算法,一个基于小波的图像压缩编码器。各类离散小波的变换结构,是利用三个Xilinx Virtex 2000E FPGA程序在WildStar处理器板实现。据报道,最终的系统实现了对一个微处理器解决方案450倍提速。在文献[6]中提出了一个基于FPGA的实时光流处理系统。该系统采用流水线结构,并在Xilinx XCV2000E的Virtex FPGA中实现。软件仿真和硬件测试结果都说明了该方法的有效性。在文献[7]中,提出了一种液晶电视视频处理引擎,具有精确的运动检测和人工消除锯齿能力。该系统使用视频领域的时间和空间信息来作精确运动检测,并通过一个窗口扩大搜索方法来低角度边缘检测。并提交了系统级FPGA架构以及各种仿真和验证结果。在文献[8]中,提出一种实施低成本电视机顶盒(STB)的方法能扩大迹象图像,解码非公开字幕的方法。 这个系统的FPGA实现关键包括一个27 MHz的8位微控制器,一个图像扩展器和一个屏幕上显示单元。据报道,该系统能解码泰语和英文字幕。文献[9]中,提出一个多窗口的部分缓冲(MWPB)计划,作为图像和视频处理的二维卷积器。与所有备选计划相比较,MWPB计划使片上资源的利用和外部存储器总线带宽可以良好的平衡。基于FPGA的视频和图像处理系统的其他工程包括运动的数字电影摄影机系统的JPEG2000 [10],在Xilinx的Virtex - II的 FPGA实现的一个完全频率复用平面滤波器模块(FMFPM) [11]等等。

现有的FPGA设计大多集中在实施具体算法领域的具体应用。如果有的话,目前也只有极少数通用硬件平台支持和促进复杂的视频和图像处理。因此,重构、成本低、可扩展的平台对于这一领域是高度可取的。为此,我们

2

南京理工大学 毕业设计外文翻译

闫龙

提出了一个包括嵌入式处理器、内存控制和接口技术的基于FPGA的系统来实现这一目标。

本文的其余部分组织如下。第二节介绍了所提出的FPGA平台的系统高层体系结构。在第三节中,我们提出了详细的实施以及设计出不同功能模块的结构。

第四节给出了在不同的视频处理应用各种实验结果。最后,第五节得出了结论并简单讨论了对今后的研究方向。

2、基于FPGA的视频和图像处理平台

2.1、系统级体系结构

一般来说,一个复杂的视频应用程序需要在不同的模块同步处理数据。为这样一个目的,FPGA的高度并行的数据操作的特点使它的应用具有独特的优势。根据不同的应用需求和规格,不同类别FPGA的芯片可以被使用。在我们目前的设计,我们使用一个低成本高端FPGA产品,以Virtex - II Pro系列(XC2VP30)为原型平台。在0.13微米工艺技术下制备的Virtex - II Pro系列提供一个良好的平台,以满足不同的设计要求。例如, XC2VP30 FPGA包括双电源PC的核心、超过三万逻辑元件和2Mbits嵌入式RAM [12]。相对于传统的DSP,根据设计,XC2VP30 FPGA可以有效地并行实现乘法和累加(MAC)操作,另外,每个处理器的行为或周边核心可定制。图 1提供了所提出的视频处理平台系统级体系结构。

图1所设计的系统级体系结构

3

南京理工大学 毕业设计外文翻译

闫龙

在我们的系统,视频模拟数字转换板(ADC)用于捕获国家电视系统委员会(NTSC)信号及将其数字化成CCIR 601/656格式。图1所示体系结构展示了实施不同的视频和图像处理功能模块的灵活性。在我们目前的设计,我们已经实施了三个处理功能:放大、缩小和边缘检测。图 2显示了所提出系统的数据处理流程。人们可以轻松地扩展此架构,以包括更多的模块,或测试自己的设计理念,或者以此平台为基础的算法。

从图2我们可以看到,所提出系统的FPGA实现包括五大功能模块(突出显示的省略号):用户的特定

图2 所设计系统的数据处理流程

功能模块、视频混合器模块、色彩空间转换器模块、反交错模块和跨集成电路(I2C)的配置模块。用户特定的功能模块根据不同的视频处理应用实施大部分功能。这个功能盒在不同的应用场景均可扩展。视频混合器模块可以运用Alpha混合混频器功能混合不同视频层。该模块对子母画面混合和图像融合都支持。每个视频层可在运行时间独立显示。色彩空间转换器模块在色彩空间之间转换传入的视频数据,这些数据用三个坐标值指定。该模块支持在预先定义的标准颜色之间的空间转换,并允许用户指定系数的两种任何三值的色彩空间的转换。隔行扫描视频是常用的电视标准如相交替线(PAL)和NTSC。然而,液晶显示器需要逐行扫描视频。因此,反交错模块将隔行扫描视频转换成逐行扫描视频。我们使用嵌入式 PowerPC405微处理器,通过编程该模拟装置的运作模式即视屏的ADV7183B解码器在子卡上以实现的I2C配置功能。

4

南京理工大学 毕业设计外文翻译

闫龙

从图2可以看到,所提出系统的优点之一是它提供了一个可扩展模块,可以根据不同的应用需求实现不同的功能。这提供了运用这种系统作为一个通用的视频和图像处理平台在不同应用程序域的灵活性。在我们目前的研究中,我们实现了边缘检测和缩放(放大和缩小)功能,这些在许多复杂的视频处理应用中是重要的步骤。

2.2四个方向的边缘检测

边缘检测是多数图像处理应用程序中特征提取和对象分割前获得有用信息的根本和关键技术。这个过程在对象与背景之间检测对象轮廓和边界。在本研究中,我们实现了在边缘检测中的四个方向索贝尔算子[13]。在运行时间期间该检测分辨率和滤波器系数可以动态地改变。

一般来说,索贝尔算子是基于一个图片二维空间梯度测量上检测边缘。这是通过运用一个过滤掩饰器(卷积积分)计算图像的卷积来计算近似梯度幅值[13]。通常情况下,卷积核是逐个像素和逐行扫描整个图像,可定义为:

其中,g[i,j]代表卷积核,n和m是卷积内核在两个维度的大小,f[i,j]和h[i,j]分别代表原图像和过滤图像。

在我们的设计中一个3*3内核是用于产生强度梯度图。这是通过运用四个方向的卷积内核源视频帧计算四个方向的梯度。图3说明了这种想法。

图3四个方向的边缘检测

5

南京理工大学 毕业设计外文翻译

闫龙

为了实现这四个方向的边缘检测,图4提出了一般的二维图像过滤器。在这个设计中,两线缓冲器和六个寄存器用于存储数据流并提供访问相邻像素。该传入的像素是通过线缓冲转移从而创造一个延迟线,与所有有关的视频线路像素同时发送到过滤器阵列。在每一个过滤器节点,这个像素乘以适当的滤波器系数,如图3所示。所有的乘数结果加起来在加法器树产考过滤器的中间点输出结果。从图4可以看出,计算的卷积的结果需要四个加法器和九个乘法器。

图4 四个方向的边缘检测的设计

2.3缩放功能:图像放大和缩小

缩放是另一个在许多视频处理应用广泛使用的技术。 在本研究中,我们在扩展功能模块中实现了放大和缩小功能。

目前关于放大功能方面有几种流行的算法,如最近邻法和双线性插值法[14]。我们目前的设计支持这两种方法,可配置更改的方案以及在运行期间设置滤波器系数。图5作为一个例子给出了双线性插值方法详细的设计架构。不失一般性,我们假定高端的因素有两个,一个需要放大为原始图像四倍。图5说明了用来生成图像新的像素和新行的方法。首先, n行 和n +1行之间的新的像素由各行1/2原素结合而成。然后,生成两垂直像素线之间的新像素。在我们的设计,需用两路视频帧缓冲区:一个是用来存储亮度信号,另一个是用来存放色度信号。

6

南京理工大学 毕业设计外文翻译

闫龙

图5视频处理放大功能设计

图6说明了实施缩小功能的设计。为了消除混频效应,传入的图像首先通过一个低通滤波器。然后运用双线性插值方法计算新的像素。假设缩小图像是原始图像的四分之一,图6显示的数据流来实现这一点,其中Cb和Cr代表视频色度数据,Y代表视频亮度数据。

图6视频图像缩小功能的设计

3系统实现与实验结果

3.1系统的实现

我们基于Xilinx Virtex - II Pro的开发系统来实现整个平台。图7显示了硬件平台与主要部件。电路板XC2VP30 FPGA芯片有大约30816个逻辑单元,136个18位乘法器,2,448 KB的RAM块,以及两个PowerPC处理器。DDR SDRAM DIMM内存可分配高达2GB的RAM。此板也有很多有用的接口

7

南京理工大学 毕业设计外文翻译

闫龙

端口,如10/100以太网端口、CF卡插槽、XSGA视频端口、RS - 232端口,等等。它也有不同的扩展连接器来扩大该板的可用性,以满足不同的视频的要求和图像处理应用。我们对这一系统的主要目的是落实整个硬件平台,以提供一个通用的视频图像处理解决方案,并通过各种应用场景证明其有效性。

图7所提到的FPGA平台

为了验证时序和逻辑功能,整个系统由Xilinx集成软件环境(ISE 9.1i)工具包模拟进行广泛的仿真和逻辑分析。图8显示了系统逻辑快照和时序模拟结果。该系统操作的时钟是27MHz(CLK 27信号)。 pcount信号记录行像素数, firstline数据、secondline数据和thirdline数据是三线输入的视频数据。我们通过fifo wen和fifo ren信号操作行缓冲区,通过从原始输入视频流延迟适当数目的时钟生成background信号(background7)。

图8一个系统的快照逻辑模拟

由混合背景信号与处理视频数据(f数据信号),我们可以得到最后的输出信号(SDI O信号)。从图8可以看到,一个像素的操作需要10个时钟

8

南京理工大学 毕业设计外文翻译

闫龙

脉冲处理时间。表1总结了最终系统的主要资源利用率特点,从中可以看到最后的系统利用大约20%的逻辑资源,50%的片上存储器,总功率消费约203mw。

硬件资源 占用的片数 4输入LUT总数 键合IBO的数量 PPC405的数量 RAM块数量 MULT18X18的数量 CCLK的数量 可用 13696 27392 556 2 136 136 16 已用 2869 5293 42 1 70 5 2 利用率 20% 19% 7% 50% 51% 3% 12%

3.2实验结果

在本节中,我们展示了硬件系统在不同的视频处理应用的效能。输入视频可以通过摄像系统或其他视频设备得到。图9显示的结果是使用相机系统从不同的环境捕捉到的图像数据。图9(a)为原始图像,图9(b)说明了边缘检测功能作用。

图9(c)在同一窗口展示了所有的功能模块,包括边缘检测、放大和缩小。所有这些功能可以通过在FPGA上板按钮简单地控制(系统详细信息见图7)。

图9基于摄像机输入数据的系统性能

4结论和未来工作展望

在本论文中,我们提出了一种基于FPGA的通用的和多任务的视频和图像处理原型系统。本文给出了系统级硬件结构和详细的设计方案。最终的系

9

南京理工大学 毕业设计外文翻译

闫龙

统实施使用具有XC2VP30 FPGA芯片的 Xilinx Virtex - II Pro的开发系统。综合结果表明,整个系统采用了只有约20%的逻辑资源,50%的片上存储器,总功率消耗约为203mw。该系统提供了一个可扩展和实时重构平台,以满足多种视频处理应用的需求。此外,该系统的可重构和可扩展特性,使其易于修改,以将不同的视频和图像处理方案嵌入。各种各种实验结果证实了文中提到的的原型有效性。

在今后的工作中,整合更加复杂视频处理模块到这个平台的将是很有趣的。例如,在本研究中的边缘检测功能的基础上,大物体的识别算法实施到这个系统上是非常有用的。此外,由于计算机学习技术已被广泛用于视频和图像处理,在此原型基础上发展各种学习算法将是很有趣的。例如,我们目前正在设计一个基于FPGA的递增式学习视频应用系统。关键的思想是在硬件上发展增量学习体系结构,以达到学习和积累多样的目标识别和定位知识的目的。通过本文中我们的研究启发,我们相信这样的基于FPGA的系统在现实世界的视频和图像处理应用中将提供一个有力的平台。

致谢

这项工作部分由皮卡汀尼美国陆军装备研究发展和工程中心(ARDEC)支持完成.

根据批准号NO.W15QKN - 05 - D - 0011。

参考文献

1. Video and Image Processing Design Using FPGAs, Altera Corporation, http://www.altera.com/literature/wp/wp-video0306.pdf

2. Benkrid, K., Crookes, D., Benkrid, A.: Towards a General Framework for FPGA Based Image Processing Using Hardware Skeletons. Parallel Computing 28(7-8), 1141–1154 (2002)

3. Johnston, C.T., Gribbon, K.T., Bailey, D.G.: Implementing Image Processing Algorithms

on FPGAs. In: Proc. Electronics New Zealand Conference, Palmerston North, New Zealand, pp. 118–123 (2004)

4. Kim, C.H., Seong, S.M., Lee, J.A., Kim, L.S.: An Image-Scaling Algorithm Using

10

南京理工大学 毕业设计外文翻译

闫龙

an

Area Pixel Model. IEEE Trans. Circuits and Systems for Video Technology 13(6), 549–553 (2003)

5. Fry, T.W., Hauck, S.A.: SPIHT Image Compression on FPGAs. IEEE Trans. Circuits and Systems for Video Technology 15(9), 1138–1147 (2005)

6. Daz, J., Ros, E., Pelayo, F., Ortigosa, E.M., Mota, S.: FPGA-Based Real-Time Optical-Flow System. IEEE Trans. Circuits and Systems for Video Technology 16(2), 274–279 (2006)

7. Ku, C.C., Liang, R.K.: Accurate Motion Detection and Sawtooth Artifacts Remove

Video Processing Engine for LCD TV. IEEE Trans. Consumer Electronics 50(4), 1194–1201 (2004)

8. Leelarasmee, E.: A TV Sign Image Expander with Built-in Closed Caption Decoder.

IEEE Trans. Consumer Electronics 51(2), 682–687 (2005)

9. Zhang, H., Xia, M., Hu, G.: A Multiwindow Partial Buffering Scheme for FPGABased

2-D Convolvers. IEEE Trans. Circuits and Systems, Part II 54(2), 200–204 (2007)

10. Fel, S., Fttinger, G., Mohr, J.: Motion JPEG2000 for High Quality Video Systems.

IEEE Trans. Consumer Electronics 49(4), 787–791 (2003)

11. Madanayake, A., Bruton, L.: A Fully Multiplexed First-Order Frequency-Planar Module for Fan, Beam, and Cone Plane-Wave Filters. IEEE Trans. Circuits and Systems, Part II 53(8), 697–701 (2006)

11

南京理工大学 毕业设计外文翻译

闫龙

an

Area Pixel Model. IEEE Trans. Circuits and Systems for Video Technology 13(6), 549–553 (2003)

5. Fry, T.W., Hauck, S.A.: SPIHT Image Compression on FPGAs. IEEE Trans. Circuits and Systems for Video Technology 15(9), 1138–1147 (2005)

6. Daz, J., Ros, E., Pelayo, F., Ortigosa, E.M., Mota, S.: FPGA-Based Real-Time Optical-Flow System. IEEE Trans. Circuits and Systems for Video Technology 16(2), 274–279 (2006)

7. Ku, C.C., Liang, R.K.: Accurate Motion Detection and Sawtooth Artifacts Remove

Video Processing Engine for LCD TV. IEEE Trans. Consumer Electronics 50(4), 1194–1201 (2004)

8. Leelarasmee, E.: A TV Sign Image Expander with Built-in Closed Caption Decoder.

IEEE Trans. Consumer Electronics 51(2), 682–687 (2005)

9. Zhang, H., Xia, M., Hu, G.: A Multiwindow Partial Buffering Scheme for FPGABased

2-D Convolvers. IEEE Trans. Circuits and Systems, Part II 54(2), 200–204 (2007)

10. Fel, S., Fttinger, G., Mohr, J.: Motion JPEG2000 for High Quality Video Systems.

IEEE Trans. Consumer Electronics 49(4), 787–791 (2003)

11. Madanayake, A., Bruton, L.: A Fully Multiplexed First-Order Frequency-Planar Module for Fan, Beam, and Cone Plane-Wave Filters. IEEE Trans. Circuits and Systems, Part II 53(8), 697–701 (2006)

11

本文来源:https://www.bwwdw.com/article/kjba.html

Top