基于FPGA+SoPC的视频图像处理系统设计

2014-07-19 17:57唐婷婷
现代电子技术 2014年10期
关键词:图像处理

唐婷婷

摘 要: 随着信息科技技术的深入研究与应用,在很多行业领域都应用到视频图像。该文对视频图像处理系统设计分析与研究关键通过SoPC及FPGA两大处理技术。系统采用视频转换芯片SAA7113完成视频图像采集模块的设计,采用CY7C1049 SRAM完成图像数据的存储,设计VGA显示输出控制关联模块,同时重新修改了显示芯片具体运作形式的配置信息,相结合产生VGA具有控制能力的信号;参考VGA显示器的运行原则,实现了VGA帧一致性信号与接口水平的提升。

关键词: 视频图像; 图像处理; FPGA; SoPC

中图分类号: TN919?34; TP271 文献标识码: A 文章编号: 1004?373X(2014)10?0059?05

Abstract: With the further research and application of information technology, video images are applied in many fields. The video image processing system based on two processing technologies of SoPC and FPGA was designed and analyzed. The video conversion chip SAA7113 was adopted in the design of video image acquisition module. CY7C1049 SRAM was used to complete image data storage. VGA display and output control module was designed. The configuration information of the operation mode of the display chip was modified, with which VGA work control signal was generated. According to the industrial standard of VGA display, the improvement of the VGA interface level and frame synchronization signal was realized.

Keywords: video image; image processing; FPGA; SoPC

0 引 言

对视频图像进行处理的过程中,通常图像数据信息具有庞大的运算量与吞吐量,因此需要功能强大的视频图像处理系统。用个人计算机对图像进行处理,并行数据处理不能正常运行,所以不能达到实时性需求;选择DSP芯片对图像信息进行处理,因为处理器在运行时是按照指令顺序执行的,且数据位宽也是固定的,因而资源的利用率不高,限制了处理器的数据吞吐量,还要庞大的数据存储空间[1]。在信息技术不断发展与更新的时代,半导体技术也有了突飞猛进的发展,FPGA不仅拥有强大的功能特性,价格还很合理,并且还在及时的创新与研究,打造成为功能强大的硬件部件,选择FPGA对图像进行处理时,因为可编程逻辑超强的灵活性与庞大的存储空间,适用于图像的并行处理,处理速度很快,实现SoPC运行的目的,不断为用户系统提供便利,提升产品更新的速度,旨在研发具有特性的产品[2]。采用SoPC与FPGA技术对视频图像进行处理,不仅是未来图像处理技术发展的方向,也促进了嵌入型系统推广与应用[3]。因此,本文将会对图像处理技术SoPC与FPGA进行深入的分析与研究。

1 系统总体设计方案

视频采集采用PHILPS公司的SAA7113来实现,通过I2C总线完成了对视频采集卡芯片SAA7113的初始化工作。VGA即输出模块。该输出卡选择使用的是TI企业编号为THS8134的芯片,这个芯片适用于图像处理的D/A器件。实现视频图像的采集,处理,存储和显示等功能。本文所研究的FPGA视频图像处理技术系统模型见图1。其中CCD摄像头主要功能就是搜取图像信息,通过采集卡A/D进行转换,生成格式为720 Pixels YUV4∶2∶2数字化特性的图像信息;基于FPGA图像处理系统采集的模块,就会自动将规格为720×576的全部图像信息存放在SRAM芯片内,图像模块就会实现对图像的处理,VGA显示模块的功能就是将更新同步的控制信号按照顺序进行显示,同时将处理过的图像信息在规定时间实现发送,最终VGA正常显示。

研究FPGA视频图像处理技术系统硬件运行方案见图2。系统划分为两大部分,包含可编程逻辑与图像信息采集以及VGA显示输出部分。其中采集模块的主要功能就是对CCD摄像头产生的电视信号进行接收,然后通过编号为SAA7113的处理芯片生成类型为ITU?656 4∶2∶2的数字化性图像。ITU?656具体定义是电信联盟指定的视频图像处理格式[4]。主要是实现信号转换、信号间的分离以及视频信号格式的转换等,最后将需要进行处理的视频数据信息,保存到芯片SRAM内。VGA显示输出就是对数字化图像信息实现D/A转换,最后通过显示器实现正常显示。可编程逻辑不仅可以实现对不同部分的逻辑控制,还能任意定制用户命令,目的是加快处理速度。总体来讲,可编程逻辑功能就是对采集模块与VGA显示输出实现管理与控制。

2 FPGA采集数据控制原理

CCD的模拟信号根据SAA7111A存有的模拟端口AI11,AI12,AI21,AI22实现信号输入,在实现模拟处理之后,直接通过A/D转换器实现数字化亮度信号与色度信号的生成,然后对两种数字化信号进行处理。对亮度信号进行处理获取到的信息就会自动转送到色度信号处理器中,实现整体处理,生成UV与Y信号,信号经过格式化处理会通过VPO实现输出;剩下的就会直接转送到同步分离器,通过数字化PLL后就会生成与之对应的行信号HS与场信号VS,并且PLL驱动型触发器,生成与HS时钟信号相锁定的LLC2与LLC。上述所实现的功能全部由I2C总线控制实现,串行数据信号即SDA,串行时钟信号即SCL。

经过SAA7113实现解码数字码流符合ITU?656标准,这串码流是包含视频信号、定时基准信号和辅助信号[5]。视频信号以YUV 4∶2∶2的数据格式输出,Y分量代表黑白亮度分量,U和V分量表示彩色信息,并被实时保存到存储模块。开始搜取视频过程中,SAA7113视频图像的输出基于8位总线VPO,最后传送到FPGA。因为PAL采用隔行方式实现电视信号的扫描,传送方式分为偶数与奇数,经过数字化处理的数据保持不变,所以想获取全部图像就要把偶数与奇数场的数据进行还原。

此系统关键是对视频图像的解码芯片SAA7113的控制连接电路如图3所示。

2.1 SAA7113时序性

经过数字转换之后的图像信息通过VOP,在像素时钟频率LLC2(13.5 MHz)的同步下并行输出。其中,任何一个时钟都会与16位像素输出相吻合。行与HREF类似,其中高电平即代表一行所有像素,也就是周期为720个LLC2。场与VREF类似,高电平即代表输出的是一行所有图像,每场有286行;低电平代表的场的隐藏信号,分为26个周期。

输出管脚RTS0和RTS1是多功能复用管脚,根据不同的系统要求,通过对子地址寄存器SA12写入不同的控制字可将两输出管脚配置为行同步、帧同步、奇偶场同步等不同信号。本设计中RTS0=1即代表输出类型为奇数场,RTS0=0则为偶数场。FEI代表类型为使能的信号,处于0状态时,表示数据输出正常,处于1状态时,表示数据输出达到高阻标准。

VOP上图像数据格式如表1所示。

3 存储模块设计

3.1 SRAM接口电路的功能设计

FPGA功能特性是把搜集到的图像信息储存到缓存内,为后期处理图像创造条件。该系统图像缓存选择使用2块SRAM,通过PING??PANG缓存控制模式的原理对其进行操作[10]。第一次采样时,FPGA就会自动通过SAA7113获取到第1帧图像数据存储于第一个SRAM内,采样完毕后,第二个SRAM内就会自动存储第2帧图像数据,并且还要处理第1块SRAM内的图像数据,工作结束后,行总线就会自动实现切换,与SRAM自动连接。本文采用了两片型号为CY7C1049的SRAM是对图像帧数据保存,两片缓存与SRAM读写实现切换主要基于软件控制。FPGA将采集到一帧图像数据保存到SRAM1中,同时后端的图像处理模块读出SRAM2中的图像数据进行处理。两块存储方式的SRAM实现行总线的转换,前提是任意1帧图像数据已经被处理或者是保存后,其中SRAM1内数据是为后期图像读出处理提供依据,SRMA2就会自动保存下面的图像数据,也就是任意一个内存状态为写入,剩余内存状态为读出。

3.2 SRAM读写控制时序功能设计

SRAM读写控制关键是遵循SRAM时序完成读写工作[11]。在视频图像解码模块正常运行时,SRAM就会根据地址模块生成的写信号与地址信息,实现图像信息的缓存;从缓存中读取图像信息时,就会通过自动运行SRAM生成的读信号与地址实现。SRAM控制模块的除了寻址信号外,还包含写使能信号W与片选信号CE以及输出使能信号OE。控制器为双口数据线接口,其中输入接口为读取数据,输出接口为读写数据,只有实施全方位的管理与控制,SRAM才会实现正常的读写功能。

图像存储器由两块SRAM构成,两者共同协调运行。在SRAM1成功获取到解码模块提供的图像信息时,SRAM2内存有的图像信息就会通过后期图像低级模块实现读取完成处理。两块缓存都正常完成以上工作后,就会实现切换,SRAM1内的图像信息实现读取,SRAM2就会自动获取图像信息。反反复复,成功启动并行操作方式,从而提升系统运作水平与能力。

4 VGA视频显示设计

4.1 VGA显示方案框图展示

通过摄像头获取到图像模拟信号,然后实现数字信号的转换,此类信号格式参考YUV4∶2∶2,怎样将获取到的图像信息实现处理,然后根据SVGA格式800×600@60 Hz正常在VGA显示器上正常显示[12]。

本设计采用TI公司的THS8134作为D/A变换器,THS8134功能就是实现视频与图像格式的转换。此变换器不仅支持3~5 V电压的数字供电,还支持5 V电压的模拟供电。

采样效率为81 MSPS。同时三个D/A转换器与行场消隐信号以及同步信号构成一个THS8134。它的主要功能就是实现FPGA数字信号的转换,同时还支持VGA显示器进行显示。它输入格式主要有消隐控制信号,行场同步,数字时钟CLK与2路或1路ITU?65类型的YpbPr/RGB的4∶2∶2信号及是蓝图像信号的R[7..0],G[7..0],B[7..0],红,绿信号等多种。它输出格式主要是分为模拟的红、蓝色弱信号与亮度信号。FPGA是VGA行场同步信号的主要构成。

4.2 VGA信号转换

采集到的数据是标准的YUV4∶2∶2格式,只有把YUV数据格式转换为RGB数据格式,图像才能正常显示。其中RGB指的是计算机内比较常用的色彩范围。主要是经过蓝、红、绿三种基色的调和生成别种颜色。因为它超强的独立性,所以在彩色电视机、系统成像以及计算机图像中得到大力的推广与应用。下式可以方便地实现数据格式的RGB转换:[R=1 024×1.164Y-16+1.596U-12G=1 024×1.164Y-16-0.813U-128-0.392V-128B=1 024×1.164Y-16+2.017U-128] 1)

值得注意的是,公式当中有很多系数是小数,而FPGA不包含浮点数。采用VerilogHDL编程前,需通过有限精度的方法消除浮点数运算。即先将数据扩大适当的倍数如2n,然后取整运算,最后把结果除以2n(将结果右移2n位)。

4.3 帧频变换

帧频的转换是通过复制帧实现的。PAL制式的信号帧频25 Hz,VGA显示器工作是帧频60 Hz,帧频比为5∶12。要转换为能够满足每秒60帧要求的视频信号,最简单的办法就是复制帧。在本设计中每隔5帧重复1帧。具体方法是,采集图像分辨率为720×572,则每帧图像有527行像素,奇偶各286行。在SRAM存有的帧图像信息被首次读取后,而计数器出现最大数值时,就会从头开始进行计数572×0.2≈114次。循环5个周期之后,此时SRMA内实现读取的图像数据就会达到114×5=570行,也就是添加了一帧数据,从而达到频率转换的目的。

4.4 VGA显示模块功能实现

前面针对VGA显示时序与THS8134时序进行分析与研究,将图像信息根据准确的顺序与帧时序传送到CRT显示器就是VGA显示模块设计目标。具体实现流程:第一步通过显示器的分辨率,按照VGA显示顺序实现帧同步与水平信号的构成,然后根据行与表查询像素的方法确定图像信息的具体位置,将构成完整的图像呈现在监视器。图像数据格式转换采用THS8134,在设计过程中需要提供准确的控制信号。想要图像正常显示在屏幕左上方的首个像素,就需要对显示复位进行设置,从而实现地址与计数的最初复位。

5 结 语

该篇文章通过SoPCA与FPGA两种图像处理技术对视频图像处理系统进行了深入的研究与分析,充分展示了视频图像的显示、存储与采集以及处理等各个功能特性,同时还深入对FPGA内部资源进行挖掘。本设计稍经修改可以用于一定范围内的视频监视系统,即可体现一定的社会作用与价值。如果通过以太网络将采集到的视频信号进行传输,就可以不受距离的限制,实现远程监控。

参考文献

[1] 贺建权.数字化视频监控系统集成工程设计[D].长沙:湖南大学,2007.

[2] 黄再银,宗建华,余健.用FPGA和单片机设计黑白四画面分割器[J].电子技术应用,2002,28(6):49?5l.

[3] 郑金福.视频多画面合成器的设计与实现田[J].中国有线电视,2002(17):36?40.

[4] 张琛,戚文芽.基于TMS320DM642芯片的画面分割和OSD叠加[J].信息工程大学学报,2011,6(1):66?68.

[5] MARPE Detlev, SCHWARZ H, BL?TTERMANN Gabi, et al. Context?based adaptive binary arithmetic coding in JVT/H.26L [J]. EEE Transactions on Circuits And Systems for Video Technology, 2003,13: 620?636.

[6] MENG B, AU O C, WONG Chi?Wah, et al. Efficient intra?prediction mode selection for 4×4 blocks in H.264 [J]. IEEE ICME, 2012, 3: 521?524.

[7] HON M?C, HAHN H?S. A loop/post filter to suppress blocking and ringing artifacts for H.26L video codec [J]. SPIE Proceeding of Visual Communication and Image processing, 2012 (1): 940?947.

[8] MALVAR H, HALLAPURO A, KARCZEWICZ M, et al. Low?comlexity transform and quantization with 16?bit arithmetic for H.26L [C]// Proceedings of IEEE International Conference on Image Processing. [S.l.]: IEEE, 2012, 2: 489?492.

[9] Meng B, Au O C. Fast Intra?Prediction Mode Selection for 4×4 Blocks in H.264 [C]// proceeding of International Conference on Acoustics, Speech, and Signal Processing. [S.l.]: IEEE Xplore, 2003, 3: 389?392.

[10] CASAS J R. Coding of details in very low bit?rate video systems [J]. IEEE Transactions on Circuit and Systems for Video Technology, 2012, 4(3): 317?327.

[11] CORTEZ D. Image segmentation towards new image representation methods [J]. Signal Processing Image Communication, 2012, 6: 485?498.

[12] KUNT M. Recent results in high?compression image coding [J]. IEEE Transaction on Circuits and Systems for Video technology, 2012, 34(11): 1306?1336.

帧频的转换是通过复制帧实现的。PAL制式的信号帧频25 Hz,VGA显示器工作是帧频60 Hz,帧频比为5∶12。要转换为能够满足每秒60帧要求的视频信号,最简单的办法就是复制帧。在本设计中每隔5帧重复1帧。具体方法是,采集图像分辨率为720×572,则每帧图像有527行像素,奇偶各286行。在SRAM存有的帧图像信息被首次读取后,而计数器出现最大数值时,就会从头开始进行计数572×0.2≈114次。循环5个周期之后,此时SRMA内实现读取的图像数据就会达到114×5=570行,也就是添加了一帧数据,从而达到频率转换的目的。

4.4 VGA显示模块功能实现

前面针对VGA显示时序与THS8134时序进行分析与研究,将图像信息根据准确的顺序与帧时序传送到CRT显示器就是VGA显示模块设计目标。具体实现流程:第一步通过显示器的分辨率,按照VGA显示顺序实现帧同步与水平信号的构成,然后根据行与表查询像素的方法确定图像信息的具体位置,将构成完整的图像呈现在监视器。图像数据格式转换采用THS8134,在设计过程中需要提供准确的控制信号。想要图像正常显示在屏幕左上方的首个像素,就需要对显示复位进行设置,从而实现地址与计数的最初复位。

5 结 语

该篇文章通过SoPCA与FPGA两种图像处理技术对视频图像处理系统进行了深入的研究与分析,充分展示了视频图像的显示、存储与采集以及处理等各个功能特性,同时还深入对FPGA内部资源进行挖掘。本设计稍经修改可以用于一定范围内的视频监视系统,即可体现一定的社会作用与价值。如果通过以太网络将采集到的视频信号进行传输,就可以不受距离的限制,实现远程监控。

参考文献

[1] 贺建权.数字化视频监控系统集成工程设计[D].长沙:湖南大学,2007.

[2] 黄再银,宗建华,余健.用FPGA和单片机设计黑白四画面分割器[J].电子技术应用,2002,28(6):49?5l.

[3] 郑金福.视频多画面合成器的设计与实现田[J].中国有线电视,2002(17):36?40.

[4] 张琛,戚文芽.基于TMS320DM642芯片的画面分割和OSD叠加[J].信息工程大学学报,2011,6(1):66?68.

[5] MARPE Detlev, SCHWARZ H, BL?TTERMANN Gabi, et al. Context?based adaptive binary arithmetic coding in JVT/H.26L [J]. EEE Transactions on Circuits And Systems for Video Technology, 2003,13: 620?636.

[6] MENG B, AU O C, WONG Chi?Wah, et al. Efficient intra?prediction mode selection for 4×4 blocks in H.264 [J]. IEEE ICME, 2012, 3: 521?524.

[7] HON M?C, HAHN H?S. A loop/post filter to suppress blocking and ringing artifacts for H.26L video codec [J]. SPIE Proceeding of Visual Communication and Image processing, 2012 (1): 940?947.

[8] MALVAR H, HALLAPURO A, KARCZEWICZ M, et al. Low?comlexity transform and quantization with 16?bit arithmetic for H.26L [C]// Proceedings of IEEE International Conference on Image Processing. [S.l.]: IEEE, 2012, 2: 489?492.

[9] Meng B, Au O C. Fast Intra?Prediction Mode Selection for 4×4 Blocks in H.264 [C]// proceeding of International Conference on Acoustics, Speech, and Signal Processing. [S.l.]: IEEE Xplore, 2003, 3: 389?392.

[10] CASAS J R. Coding of details in very low bit?rate video systems [J]. IEEE Transactions on Circuit and Systems for Video Technology, 2012, 4(3): 317?327.

[11] CORTEZ D. Image segmentation towards new image representation methods [J]. Signal Processing Image Communication, 2012, 6: 485?498.

[12] KUNT M. Recent results in high?compression image coding [J]. IEEE Transaction on Circuits and Systems for Video technology, 2012, 34(11): 1306?1336.

帧频的转换是通过复制帧实现的。PAL制式的信号帧频25 Hz,VGA显示器工作是帧频60 Hz,帧频比为5∶12。要转换为能够满足每秒60帧要求的视频信号,最简单的办法就是复制帧。在本设计中每隔5帧重复1帧。具体方法是,采集图像分辨率为720×572,则每帧图像有527行像素,奇偶各286行。在SRAM存有的帧图像信息被首次读取后,而计数器出现最大数值时,就会从头开始进行计数572×0.2≈114次。循环5个周期之后,此时SRMA内实现读取的图像数据就会达到114×5=570行,也就是添加了一帧数据,从而达到频率转换的目的。

4.4 VGA显示模块功能实现

前面针对VGA显示时序与THS8134时序进行分析与研究,将图像信息根据准确的顺序与帧时序传送到CRT显示器就是VGA显示模块设计目标。具体实现流程:第一步通过显示器的分辨率,按照VGA显示顺序实现帧同步与水平信号的构成,然后根据行与表查询像素的方法确定图像信息的具体位置,将构成完整的图像呈现在监视器。图像数据格式转换采用THS8134,在设计过程中需要提供准确的控制信号。想要图像正常显示在屏幕左上方的首个像素,就需要对显示复位进行设置,从而实现地址与计数的最初复位。

5 结 语

该篇文章通过SoPCA与FPGA两种图像处理技术对视频图像处理系统进行了深入的研究与分析,充分展示了视频图像的显示、存储与采集以及处理等各个功能特性,同时还深入对FPGA内部资源进行挖掘。本设计稍经修改可以用于一定范围内的视频监视系统,即可体现一定的社会作用与价值。如果通过以太网络将采集到的视频信号进行传输,就可以不受距离的限制,实现远程监控。

参考文献

[1] 贺建权.数字化视频监控系统集成工程设计[D].长沙:湖南大学,2007.

[2] 黄再银,宗建华,余健.用FPGA和单片机设计黑白四画面分割器[J].电子技术应用,2002,28(6):49?5l.

[3] 郑金福.视频多画面合成器的设计与实现田[J].中国有线电视,2002(17):36?40.

[4] 张琛,戚文芽.基于TMS320DM642芯片的画面分割和OSD叠加[J].信息工程大学学报,2011,6(1):66?68.

[5] MARPE Detlev, SCHWARZ H, BL?TTERMANN Gabi, et al. Context?based adaptive binary arithmetic coding in JVT/H.26L [J]. EEE Transactions on Circuits And Systems for Video Technology, 2003,13: 620?636.

[6] MENG B, AU O C, WONG Chi?Wah, et al. Efficient intra?prediction mode selection for 4×4 blocks in H.264 [J]. IEEE ICME, 2012, 3: 521?524.

[7] HON M?C, HAHN H?S. A loop/post filter to suppress blocking and ringing artifacts for H.26L video codec [J]. SPIE Proceeding of Visual Communication and Image processing, 2012 (1): 940?947.

[8] MALVAR H, HALLAPURO A, KARCZEWICZ M, et al. Low?comlexity transform and quantization with 16?bit arithmetic for H.26L [C]// Proceedings of IEEE International Conference on Image Processing. [S.l.]: IEEE, 2012, 2: 489?492.

[9] Meng B, Au O C. Fast Intra?Prediction Mode Selection for 4×4 Blocks in H.264 [C]// proceeding of International Conference on Acoustics, Speech, and Signal Processing. [S.l.]: IEEE Xplore, 2003, 3: 389?392.

[10] CASAS J R. Coding of details in very low bit?rate video systems [J]. IEEE Transactions on Circuit and Systems for Video Technology, 2012, 4(3): 317?327.

[11] CORTEZ D. Image segmentation towards new image representation methods [J]. Signal Processing Image Communication, 2012, 6: 485?498.

[12] KUNT M. Recent results in high?compression image coding [J]. IEEE Transaction on Circuits and Systems for Video technology, 2012, 34(11): 1306?1336.

猜你喜欢
图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
基于图像处理的定位器坡度计算
Photo Shop通道在图像处理中的应用