《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 应用于工业监控的视频增强处理算法的FPGA实现

应用于工业监控的视频增强处理算法的FPGA实现

2009-03-02
作者:孙秀芳1,刘 泽2,王 雯3

    摘  要: 应用VerilogHDL在FPGA中实现了视频增强算法,设计了视频增强算法所需的辅助功能,包括视频编解码控制、SRAM访问仲裁控制及色度空间变换控制,用Matlab进行了视频增强的仿真,优化了视频增强算法的参数。 

    关键词: 工业监控;视频增强;视频识别;数字视频;色度空间变换 

 

    视频监控得以广泛应用的主要条件是网络带宽、计算机处理能力和存储容量的迅速提高以及各种视频信息处理技术的涌现[1]。但目前绝大部分视频监控应用缺乏对所记录视频数据的深层处理,其原因是目前视频数据主要靠人工监视分析,人工无法应对大量、实时的视频数据[2]。所以市场迫切呼唤实用的视频识别技术[3],网络巨头Google已经在视频识别上大量投入,时代华纳、迪士尼也正在合作开发新的视频识别应用,微软也宣布将把视频识别技术应用于最新的XBOX游戏引擎,让用户体验全新的“自然控制方式”。但不管采用何种算法,视频质量是影响视频识别的最重要因素,特别是一些高速工业监控、交通流监控,原始视频质量不易提高,而视频增强处理是后期提升视频质量的有效手段。本文论述视频增强处理算法的高速实现方法,即使用现场可编程逻辑器件FPGA的并行逻辑处理能力实时实现视频增强处理的各个环节,为后期视频识别应用提供在线数据前处理。 

1 视频增强处理系统硬件结构 

    视频增强对硬件处理速度的要求较高,使用传统的单CPU或DSP很难获得较高性价比,而FPGA由于内部集成了多个可并行工作的高速有符号乘法器而在视频处理中具有明显的优势。FPGA中资源控制的灵活性和并行特点体现在并行逻辑运算、并行多SRAM访问控制和外围模拟信号解码器件接口的并行控制上。为快速实现并验证本文所述视频增强处理的效果,使用了Xilinx公司的FPGA多媒体开发板(Microblaze & Multimedia Demonstration Board,No.0381112)[4]。开发板集成了测试所用的所有硬件资源,其总体结构如图1所示。 

 

 

    开发板核心器件为Xilinx公司的FPGA芯片Vertex-II(XC2V2000),还包含了多媒体和人机接口所用的外围器件,包括视频输入采集芯片、视频输出驱动芯片、外围SRAM存储器、AC97音频编解码器、以太网接口、RS232接口、LED指示灯和键盘接口。FPGA的配置采用可进行多版本控制的CF卡为存储介质,配置芯片为Xilinx SystemACE。所有的视频增强处理和与外围器件接口的功能使用硬件描述语言VerilogHDL开发,VerilogHDL代码经编译后使用JTAG调试器下载到XC2V2000芯片中,同时也可使用CF卡存储8份测试代码进行自动加载,分版本调试,开发板上没有CPU,所有的逻辑处理由FPGA实现。板上还配置了5块NtSRAM(型号K7N163601M),NtSRAM是三星公司推出的无周转随机存储器,即读写采用单周期操作,提高了存取速度。每块NtSRAM都用单独的地址总线、数据总线和控制总线直接与FPGA连接,保证了5个SRAM可同时作为视频高速缓存区使用,保证了并行性。K7N163601M为100引脚芯片,5片SRAM消耗了480条FPGA引脚,XC2V2000共有896条引脚。开发板提供的视频编解码器件也为算法验证提供了条件。 

2 视频增强处理算法的Matlab仿真 

    视频增强处理算法分为7部分,分别为视频运动补偿、帧内图像的边缘锐化、数字亮度瞬态增强、数字色彩瞬态增强、亮度对比度调整、色度饱和度调整、黑级扩展。这些处理在测试系统中需要并行进行,以保证视频流的实时性。为验证视频增强算法的可行性,在进行VerilogHDL设计实现之前进行了Matlab仿真。仿真程序使用Matlab的图形界面开发环境GUIDE(Graphic User Interface Development Environment)完成,实现的视频增强功能模块如图2所示,其中只有视频运动补偿没有进行仿真。 

 

 

    图2所示各处理环节的功能描述如表1所示。其中峰值滤波算法实现方法如下:以同一行内5个像素点YUV色度空间的亮度信号Y为周期,编号为Y0,Y1,Y2,Y3,Y4,分别设计低通、带通和高通滤波器YLP,YBP,YHP

    YLP=(Y0+4×Y1+6×Y2+4×Y3+Y4)/16                       (1) 

    YBP=(-Y0+2×Y2-Y4)/8                                   (2) 

    YHP=(Y0-4×Y1+6×Y2-4×Y3+Y4)/16                       (3) 

    峰值滤波器的输出为: 

    Y2′=Y2+fC(YHBPS)                                      (4) 

    其中:YHBPS=kbp×YBP+khp×YHP-YBP-YHP 

         kbp=kbpw/2(klp) 

         khp=khpw/2(klp) 

     

式中khpw是高通滤波系数,kbpw是带通滤波系数,klp是低通滤波系统,Ygate是滤波输出阈值。 

    视频增强算法中黑级扩展算法如公式(6)所示,当亮度低于一个域值时,输出亮度信号迅速减小,表现为黑到一定程度后的黑色变得更黑。 

      

其中Yin为输入亮度信号,k为黑级扩展比例系数,YGate为扩展阈值。 

 

 

    Matlab仿真软件界面如图3所示,其中峰值滤波器、DLTI、DCTI、亮度对比度调整、色度饱和度调整、黑级扩展6部分增强算法的系数都可以动态调整来观察增强的效果,从而确定最佳增强参数。为测试对不同类型视频图像的增强效果,软件中设计了图像选择功能,备选图像中有加入各种噪声和模糊化的测试图像,仿真测试表明,当参数调整合适后,增强效果明显。 

 

 

3 视频增强处理算法的VerilogHDL设计 

    测试视频增强所用视频信号源由DVD播放机提供,模拟视频信号通过S端子接入开发板,通过ADV7185解码成数字视频信号接入FPGA,数字视频信号经过增强处理后由FMS3810视频DAC转换为模拟视频信号,输出到SVGA显示器进行观察。SVGA输出仅测试时使用,当视频增强系统作为视频识别前处理方式工作时,增强的数字视频信号将以数字方式直接传输到视频识别单元。视频增强处理算法充分利用了Vertex-II的并行数字信号处理功能,XC2V2000集成了56个18bit高速有符号乘法器和336KB快速分布式RAM,便于实现各种增强算法的并行处理和数据缓冲。视频增强算法及其辅助处理的VerilogHDL实现结构如图4所示,格式为CCIR601标准的视频信号经输入解码处理后存储于三个NtSRAM缓冲区。视频增强系统中设置一个行缓冲区,采用FPGA内部集成的分布式双端口SRAM实现,NtSRAM显示缓冲区中的数据被逐行传输到行缓冲区中,三个NtSRAM缓冲区由三个对应的控制器管理,数据需要通过读请求获得。读请求控制功能由图4中的数据请求控制模块实现,当此模块在消隐期获得经过同步了的NtSRAM缓冲区就绪信号后,开始选定这一缓冲区,并产生数据读请求信号。然后NtSRAM控制器按照请求信号的目的地址、源地址和数据长度将显示数据送到行缓冲区SRAM中。行缓冲区中的数据按照显示器输出信号的时序输出,即在每个有效行产生行缓冲区的连续增量地址信号,将YUV像素信号读出,再送入图像增强模块,图像增强模块的输出信号送入YUV-RGB转换模块中,然后将RGB信号接到SVGA驱动器FMS3810的D/A中,产生模拟的颜色信号。其中显示时序控制由SVGA时序控制模块产生。 

 

 

    图4中YUV信号是位宽为8bit的数字信号,其编码格式符合数字演播室标准ITU- RRec.BT601。YUV信号经色度空间变换算法转换为RGB信号,输出到SVGA,显示像素时钟频率为54MHz。实现上述功能的硬件时间延迟为6个时钟周期,其速度是使用嵌入式处理器或单个DSP系统难以实现的。 

    本文应用VerilogHDL硬件描述语言在Xilinx的XC2V2000-FPGA中实现了视频增强算法。经使用不同画质的视频碟片用DVD播放器作为信号源进行测试,视频增强效果明显,可为后期视频识别提供较好的信息基础。在算法实现中,Matlab软件仿真对视频增强算法的参数优化起到了决定性作用,凸显了仿真对系统实现的指导作用。 

参考文献 

[1] 阮秋琦.数字图像处理学.北京:电子工业出版社,2001. 

[2] TEKALP A.M著;崔之祜,江春,陈丽鑫译.数字视频处理.北京:电子工业出版社,1998. 

[3] BENNETT Eric P,Leonard McMillan,Video enhancement using per-pixel virtual exposures,Proceedings of ACM SIGGRAPH 2005(NY,USA),2005,124(3). 

[4] Data Sheets of Virtex-II FPGA XC2V2000.Xilinx Corporation,2002.
本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。