摘要:关于视频图画检测与辨认的需求,提出了一种根据FPGA的视频边际检测体系规划方案,并完结体系的硬件规划。通过FPGA操控摄像头进行视频收集,双端口SDRAM对图画数据进行缓存,FPGA再对数据进行实时处理。实践选用DE2-115开发板和CMOS摄像头OV7670为硬件渠道进行验证。成果表明,该体系具有实时性高,检测精确的特色,到达了规划要求。
跟着科技的开展,视频收集体系越来越广泛的应用于各个范畴,如体育直播,视频会议,导弹的电视制导等等。而图画边际是图画的基本特征之一,其间包括了很重要的鸿沟信息,这些信息是图画剖析、方针辨认的根底。在交通信息操控应用范畴中,边际检测已经是车牌辨认、车流量监控、主动导航等技能中的重要环节。通过有用的边际检测,可以大大简化后续图画处理进程对图画信息的剖析作业。关于视频图画的边际检测,若选用软件方法完结由于遭到体系处理速度的约束,简单呈现断帧现象,这关于要求实时处理的情况下将是一个很大的缺点。硬件完结首要有根据专用芯片,根据DSP和根据FPGA的3种处理方法。根据专用芯片方法并不合适前期产品的开发。根据DSP方法在运算速度、数据吞吐量等方面有约束。本规划根据FPGA完结,边际检测选用流水线结构。试验成果表明,该体系非常合适视频数据的处理。
1 体系总体规划
本体系根据一片Altera公司的Cyclone IV系列的EP4CE115F29CN7主控FPGA,体系的全体结构框图如图1所示。首要包括:摄像头I2C装备模块、视频数据收集模块、SDRAM操控模块、Sobel边际检测模块和VGA操控模块。FPGA首要通过I2C总线完结对OV7670的初始化,然后将收集到的数据通过视频数据收集模块转换成RGB565规范的视频数据,图画数据通过FIFO_IN模块在SDRAM中进行缓冲,Sobel边际检测模块通过FIFO _OUT模块读取数据并进行处理,VGA操控模块操控VGA接口的行同步和场同步信号完结VGA显现。
2 视频收集与边际检测子模块
2.1 I2C装备模块
本体系选用OmniVision公司的OV7670这一款CMOS传感器,为体系供给视频信号。通过SCCB(Serial Camera Control Bus)总线对OV7670的共201个操控寄存器进行装备,来改动输出数据的格局、视频分辨率、传输方法,调整图画的白平衡、饱和度、色度、伽玛曲线等。两线制的SCCB总线与I2C总线相同,都是双向两线制同步串行总线。I2C传输时序如图2所示,I2C_SCLK就等同于SCCB中的SIOC、I2C_SDAT就等同于SC CB中的SIOD,模块每次传输24位数据,前8位为从设备地址(0x42代表写寄存器,0x43代表度寄存器),中心8位是从设备寄存器地址,最终8位是对寄存器进行装备的数据。
2.2 视频数据收集模块
视频数据收集模块,首要是通过FPGA合作CMOS摄像头OV7670的行、场同步信号收集图画数据。首要通过装备操控寄存器,操控OV7670输出视频数据为RGB565格局。由于OV7670数据位宽为8,视频数据收集模块首要是将收集到的前后2个8位数据合并成一个16位数据,以便利数据在SDRAM中的缓存以及后续模块的处理。如图3所示为数据收集ModelSim时序仿真图。
2.3 SDRAM操控模块
SDRAM模块首要有FIFO和片外SDRAM两部分组成,由于CMOS摄像头OV7670收集的数据速率和SDRAM读写速率是不一样的,为了匹配这两个不同传输速率的模块,其间有必要增加一个FIFO存储器。其间FIFO不需求独自通过言语描绘得到,只需求通过MegaWizard东西装备得到。本规划中用到的SDRAM为DE2-115开发板上的两个64M字节SDRAM,其间每个SDRAM又包括4个BANK。SDRAM行地址线和列地址线是复用13位的地址总线,在读写时,先要激活某个BANK,接着锁存行地址,最终在读写指令有用时锁存列地址。SDRAM的最高读写速率可到达166 MHz,本体系中应用为100 MHz,一起每个时钟上升沿又可读写16 bit数据,因而SDRAM完全可以完结数据的无缝缓冲作业。
2.4 Sobel边际检测模块
图画边际是一幅图画中灰度改变比较剧烈的区域,核算灰度图画中各区域的梯度幅值可以用来断定图画的边际信息。设图画的亮度为f(x,y),则梯度可以界说如下:
Sobel边际检测便是是根据梯度的检测,其使用Sobel算子如图4所示Gx与Gy,在3×3的图画邻域内和亮度数据做卷积运算,表达式如下:
用硬件左边际检测,由所以实时处理,SDRAM中缓存的数据仅仅接连视频图画中一帧图画,并且视频数据还不断的从摄像头中传过来,因而就不能像软件处理那样先树立一个二维的数据阵列,这样就有必要选用流水线方法进行运算,流水线数目和每次参与运算的像素数目持平,这儿就一共需求9条流水线。为此咱们就专门规划了3条Line_Buffer来完结式(4)与式(5)的运算,3条Line_Buffer由MegaWizard中装备的alts hift_tab完结,altshift_tab实践上便是一个移位寄存器,由于视频分辨率为640×480像素,所以每条Line_Buffer实践是向后移位一整行,也便是640个像素值。这样就等同于3条Line_Buffer中的数据视频图画中相毗连的三行图画数据,这3行数据再与Sobel算子做卷积。如图5所示为卷积运算硬件结构图,其间P9—P1为像素数据,X9–X1为Sobel梯度算子。乘法与并行加法部分别离有MegaWizard装备的altmult_add和parallel_add完结。
2.5 VGA显现模块
VGA显现器的显现选用逐行扫描,从屏幕左上方开端,从左到右,从上到下扫描。每一行的实践遭到行同步信号(HREF)操控,每一帧的信号遭参与同步信号(VSYNC)操控。本体系中CMOS摄像头收集图画分辨率为640×480像素,VGA(640×480)的工业规范为行扫描:Ta(同步脉冲)=96,Tb(行消隐后肩)=40,Tc=8,Td(有用时序)=640,Te=80,Tf(行消隐前肩)=8,Tg(行周期)=800;场扫描:Ta(同步脉冲)=2,Tb(场消隐后肩)=25,Tc=8,Td(有用时序)=480,Te=8,Tf(场消隐前肩)=2,Tg(场周期)=525。图6为由SignalTapII抓取的VGA时序图,其间最终一行数据为当时一帧视频所显现的行数核算。
3 试验成果
由QuartusII软件归纳仿真后可知,体系最高作业频率为100MHz,片上资源使用情况如表1所示。通过DE2-115开发板为验证渠道,对上述体系进行检验,成果如图7所示。其间,图7(a)为对所收集到的视频直接通过液晶显现器显现的五颜六色图画,图7(b)为对收集的视频进行处理得到的灰度图画,图7(c)灰度图画通过Sobel边际检测算法处理后的图画。实践液晶显现五颜六色图画、灰度图画、边际检测图画完好顺利,并没有断祯现象产生。
4 定论
规划了一个根据FPGA的的视频实时边际检测体系,使用FPGA杰出的并行结构,使核算速率得到了很大提高,到达了体系的实时性要求。完结了VGA分辨率视频在液晶屏上的五颜六色显现、灰度显现、边际检测图画显现,在图画纹路杂乱的情况下也能较好的提取图画边际。试验成果表明,该体系具有速度快、精度高级长处,可以很好的应用在方针辨认、方针盯梢、智能视频监控等范畴。