基于FPGA和gamma校正的视频监控系统设计与实现

2016-06-17 09:48刘冰徐文涛
电子设计工程 2016年7期
关键词:视频监控

刘冰,徐文涛

(南京航空航天大学理学院,江苏南京211100)



基于FPGA和gamma校正的视频监控系统设计与实现

刘冰,徐文涛

(南京航空航天大学理学院,江苏南京211100)

摘要:本文针对视频监控系统实时处理速度瓶颈和视频监控图像失真等问题,提出一种基于FPGA和gamma校正的视频监控系统解决方案,充分利用FPGA并行数据处理的优势,很好地满足了视频监控系统实时性和高清晰度的要求;并采用查找表(LUT)的方法实现快速gamma校正,解决了由显示器亮度非线性输出所导致的视频失真问题。实验结果显示视频监控系统运行稳定,图像清晰度高,且经gamma校正后,暗场灰阶的显示明显改善,细节分明,很好地解决了失真的问题。

关键词:视频监控;FPGA;gamma校正;图像失真;查找表

随着视频处理技术的不断发展,视频监控系统在生活中得到了广泛的应用,同时用户对视频监控技术的实时性、稳定性和清晰度也提出了更高的要求。以往基于CPU/DSP的视频监控系统,以程序顺序执行的方式对视频进行采集和处理,限制了视频监控系统的处理速度,不能满足实时性和高清晰度的要求。近些年基于FPGA的数字系统设计得到了迅速的发展,FPGA并行处理能力强[1-2],设计灵活,集成度高,在视频处理方面有巨大的优势,可以满足现今对视频监控的要求[3]。

在监控系统中,由于显示器输出亮度与输入电压不成正比,如果不对数字视频信号进行处理,则会导致图像的失真,影响视频监控质量。对显示器的非线性修正,常常被称为gamma校正[4-6]。

本文基于FPGA设计并实现了一种视频监控系统,在FPGA中,集成了视频数据的采集、解码、颜色空间转换等功能模块,并用FPGA实现了gamma校正,能够通过Verj1og程序对gamma值进行修改,适配不同gamma参数的显示器,该校正方法可以简化电路结构,不需要单独的RAM单元,能够解决图像失真的问题。实验结果表明,该系统可以满足视频监控系统对清晰度和实时性的要求。

1 视频监控系统总体框架

本系统通过CCD摄像头捕捉到PAL格式的模拟视频信号,然后通过ADV7180芯片将其转换为YUV4:2:2数字视频数据。在FPGA中完成对视频信号的处理,通过解码、插值、解交织等过程,将YUV4:2:2转换成YUV4:4:4,,再将其转换成RGB格式。再此过程中需要对数据进行缓存,缓存模块使用SDRAM。在视频信号通过gamma校正模块校正后,由VGA显示器进行显示。系统构成如图1所示。

2 ADV7180视频解码

视频解码芯片ADV7180是一种能将NTSC、PAL等标准模拟视频信号转换为符合ITU-R BT.656标准的数字视频数据的综合视频解码器。在本系统中,FPGA通过I2C总线对

图1 视频监控系统系统构成图

ADV7180的寄存器进行配置,配置完成后,芯片对通过CCD摄像头输入的模拟视频进行视频解码,输出符合ITU-R BT. 656标准的YCrCb4:2:2视频数据。

完成对ADV7180的初始化要通过对ADV7180的寄存器进行配置。在FPGA中设计一个I2C总线配置模块,将要配置的寄存器数据存储在I2C的查找表中,通过调用该模块,完成对ADV7180的配置。寄存器的地址和配置参数值如表1所示。

3 基于FPGA的视频数据处理

视频采集芯片ADV7180输出的视频信息为串行的YCrCb4:2:2格式数据,但是这一格式的数据并不能在VGA显示器上显示,要进一步对此视频数据进行处理,最终转换为RGB格式才能满足VGA显示的要求。本文在FPGA上设计并实现了数据转换模块,该模块具有ITU-R BT.656解码、隔行扫描转逐行扫描、颜色空间变化3个功能。

表1 寄存器地址和参数值

3.1ITU-R BT.656解码

ITU-R BT.656解码工作将串行的YCrCb4:2:2视频数据转换为并行数据,并对YCrCb4:2:2视频数据进行插值,使其转换为YCrCb4:4:4格式。

图2 YCrCb4:2:2视频流转换为YCrCb4:4:4示意图

如图2所示,YCrCb4:2:2格式即水平方向上每两个点采样色差信号Cr、Cb,每一个点采样亮度信号Y,数据顺序为Cb0 Y0 Cr0 Y1 Cb1 Y2 Cr1 Y3……。当有效视频起始标志到来后,FPGA中的解码模块对视频数据进行读入,并将Cb、Cr各复用一次,数据格式转变为Cb0 Y0 Cr0 Cb0 Y1 Cr0 Cb1 Y2 Cr1 Cb1 Y3 Cr1……,即可完成从数据格式YCrCb4:2:2到格式YCrCb4:4:4的转换。

3.2隔行扫描转逐行扫描

PAL制式对视频的扫描方式是隔行扫描的,但是VGA对视频的扫描方式是逐行扫描的。将YCrCb4:2:2为YCrCb4:4:4视频数据转换之后,还需要将隔行扫描数据转换为逐行扫描数据。本系统通过3个FIFO便可完成隔行扫描转逐行扫描的操作,,无需设计专门的功能电路,优化了系统结构,节约了系统资源。

SDRAM控制模块如图3所示,其中包含了3个FIFO和 SDRAM控制器。

图3 隔行扫描转逐行扫描示意图

YCrCb4:4:4视频数据写入SDRAM时是隔行写入的,其占用的地址空间为0-640*585,其中每一行的前24个数据为起始标志,然后依顺序方式依次写入奇数场和偶数场数据。从SDRAM中640x24地址到640x294地址取奇数场的270行数据,从640x315地址到640x585地址取偶数场的270行数据,当从SDRAM读出视频数据时,由两个读出FIFO交替读出奇数场和偶数场的数据,这样的读取的方法最终实现了隔行扫描转换为逐行扫描的目的。

3.3颜色空间变化(YCrCb->RGB)

ITU-R BT.656解码后的视频格式为YCrCb4:4:4,并且每个像素的Y、CB、Cr都是独立的,颜色空间变换就是从YCrCb颜色空间变换到RGB颜色空间,得到像素的RGB值。

YCbCr到RBG空间的变换公式为:

R=1.164(Y-16)+1.59(Cr-128)

G=1.164(Y-16)-0.391(Cb-128)-0.813(Cr-128)

B=1.164(Y-16)+2.018(Cb-128)

用Verj1og编程时,因为以上公式涉及到小数,若直接运用,编译过程中会在ISE综合时报错。因此使用FPGA处理浮点运算时,一般采取放大的方法,先将公式放大512倍得:

R-jnt=512*R=596Y+817Cr-114131

G-jnt=512*G=596Y-200Cb-416Cr+69370

B-jnt=512*B=596Y+1033Cb-141787

计算出R-jnt、G-jnt和B-jnt等之后,均除以512(右移9位),即得到RGB的值。

4 gamma校正

4.1gamma校正原理

对于理想的显示系统,显示信号的电压与显示器亮度应为线性关系,如图4所示。但是由于显示器红蓝绿3色的光电特性不同,导致显示系统的响应曲线是非线性的,输入信号与输出信号关系如图5所示,输入与输出之间呈现以gamma为参数的指数关系。当Gamma值=1的时候,曲线为正比例函数,这个时候输出值等于输入值,为理想系统。当Gamma值>1时,图像变暗;而当Gamma值<1时,图像变亮。一般VGA显示器的gamma值为2.8,导致输出亮度变暗。通过反效果补偿的方法解决显示器非线性失真问题。理想状态下要达到的效果为:其中Loutput为显示器最终输出的值,Linput为输入显示器的值。显示器的亮度相应曲线为:

图4 理想显示系统输入输出关系

图5 实际显示系统输入输出关系

其中M为总的色阶数。

采用反效果补偿法,在数据输出显示器之前,先对数据做补偿处理,设补偿后数据为L′input,则有:将L′input输入显示器后,最终得到:

最终达到和式(1)相同的结果,从而实现gamma值的补偿,这就是gamma校正的原理。

4.2gamma校正FPGA实现

如果对每个像素点都执行上述的指数运算,那样运算量十分庞大。我们采取查找表(LUT)的方法实现gamma值的快速校正。

颜色空间变换之后,得到RGB信号均为8位256色,在给定gamma值的情况下,对0-255进行(3)式的计算,得到的值就可以制作为查找表,对于不同的像素值只需通过对表的查找就可以完成校正,这样的方法极大的提高了运算效率。具体的操作为打开quarters II软件,新建一个.mjf文件,将得到的(3)式的结果导入到.mjf中。随后创建一个RAM,并将前面的mjf文件导入到RAM中。

quarters II自带工具即可创建RAM模块,这样省去了复杂的编程过程,实现了快速方便的gamma校正。

5 VGA

经过FPGA处理过的数字视频数据通过VGA接口控制模块在VGA显示器中进行显示。本系统使用的VGA显示器的分辨率为800*600,刷新频率为60 MHz。VGA时序中,行同步信号包括消隐信号区和有效视频信号区[7-8]。其中有效视频信号区为要显示的视频信号,共800个时钟周期,当行同步信号到达有效视频信号区时,每个时钟周期应携带RGB信息。消隐信号区包括同步脉冲、显示后沿和显示前沿,时钟周期数分别128、88和40。每一行的同步脉冲是数据行的结束标志,同时也是下一行的开始标志。列同步信号和行同步信号类似,

表1 VGA时序表

如表2所示。

6 运行结果

本文使用是ALTERA公司的CYCLONE IV系列的EP4CE30F23C8芯片,该芯片运算速度快,LE资源丰富,符合本系统视频图像处理的要求。为了验证gamma校正效果,图6 (a)和图6(b)分别为同一场景下无gamma校正和有gamma校正的视频效果,由图可见,gamma校正前的视频图像对比度低,图像偏暗,亮度较低的地方模糊不清,图像不易分辨。而gamma校正后的视频图像阴影部分细节显示更加清晰。

图6 gamma校正结果

7 结论

本文基于FPGA实现了视频监控系统,通过CCD摄像头输入视频信号,经过ADV7180芯片将模拟信号转换为YUV4:2:2数字视频数据,数字信号在FPGA中经过一系列处理最终转换为可供VGA显示器显示的RGB格式数据,并通过gamma校正解决了视频图像失真的问题。实验结果证明,视频监控系统运行稳定,而且gamma校正后的图像比校正前有明显的改善。该系统实时性强,清晰度高,颜色误差小,细节分明,在监控安防领域有很好的应用前景。

参考文献:

[1]杨海钢,孙嘉斌,王慰. FPGA器件设计技术发展综述[J].电子与信息学报,2010,32(3):714-727.

[2]郭龙,段哲民,陈洋,等.基于FPGA的视频实时边缘检测系统[J].电子设计工程,2014,22(3):183-185.

[3]孙军文,肖金明,王中训.基于FPGA的实时视频信号处理平台的设计[J].电子设计工程,2012,20(14):163-165.

[4]赵建森.视频通信中的伽玛校正[J].电子科技,2006(7):43-46.

[5]续天翔. LED图象显示屏Gamma校正及在FPGA中的实现[J].机械管理开发,2008,23(6):187-188.

[6]杨露,苏秀琴,向静波,等.基于DSP和FPGA的视频图像处理系统设计[J].微计算机信息,2008(21):288-289.

[7]廖永清,丁旭昌,付建国.基于FPGA的VGA图像动态显示控制器的设计与实现[J].电视技术,2011,17:52-54.

[8]李雷,郑为民,刘金刚.基于PMON的龙芯BIOS初始化及VGABIOS模拟器[J].计算机工程》2009,1:204-206.

[9]任君,徐超,李周奎.高清视频VGA模拟差分信号的远距离传输系统设计[J].光学技术,2013,5:433-437.

[10]吴邦忠夏英.EGA/VGA图形方式下FOXBASE+屏幕叠加式菜单的实现[J].计算机应用研究,1992,3:19-21.

[1]曹旭东,王程锦,孙云龙.基于FPGA的视频图像画面分割器设计[J].2014,22(1):44-46,50.姜辉.基于FPGA的飞行模拟器通信接口设计[J].2014,22 (3):88-90.

[2]郭龙,段哲民,陈洋,等.基于FPGA的视频实时边缘检测系统[J].2014,22(3):183-185.

[3]马玫,唐娜.视频监控系统与环境监控系统在电力中的整合应用方案[J].2014,22(9):162-164.

[4]李文方,李海霞.基于3G的家用远程视频监控系统研究[J]. 2014,22(18):122-124.

[5]温挺华,林琴,王强,等.基于Wj-Fj的移动视频监控平台[J]. 2015,23(4):130-132.

[6]詹一佳,邓本再,曹宇杰.基于S3C6410的无线视频监控系统设计[J].2015,23(4):172-175.

[7]张海山.基于云存储视频监控系统的研究[J].2015,23(10):169-171.

[8]田甜,林筑英.基于云存储的Androjd手机视频监控和流量共享系统设计[J].2015,23(24):190-193.

[9]邓军勇,蒋林,曾泽沧.2.5Gbps收发器中1:2解复用电路的设计[J].2014,22(9):101-103

[10]李文方,李海霞.基于3G的家用远程视频监控系统研究[J]. 2014,22(18):122-124.

[11]詹一佳,邓本再,曹宇杰.基于S3C6410的无线视频监控系统设计[J].2015,23(4):172-175.

[12]张海山.基于云存储视频监控系统的研究[J].2015,23(10):169-171.

[13]云吉,杨铸,姚严峰.视频监控系统跨浏览器插件的研究与实现[J].2015,23(16):65-67.

[14]宛吉林,沈琼霞.Onvjf双网段开发在视频监控系统中的应用[J].2015,23(16):75-78.

[15]侯操,孙小平.基于ARM的智能车无线视频监控系统设计[J].2015,23(23):190-192.

[16]李南伯,李天志,汪洋.多模式视频监控系统在武器试飞中的应用[J].2016,24(4):94-97.

[17]盛平,韩伟.基于Androjd平台的视频监控客户端的设计与实现[J].2015,23(22):26-28.

[18]赵国开,马洪兵,陈从华.一种无线车载视频监控专用文件系统的设计[J].2016,24(4):10-13.

相关文献:

Deslgn and reallzatlon of vldeo survelllance system based on FPGA and gamma correctlon

LIU Bjng,XU Wen-tao
(College of Science,Nanjing University of Aeronautics and Astronautics,Nanjing 211100,China)

Abstract:Ajmjng at the bott1eneck of rea1-tjme processjng speed of vjdeo survej11ance system and the prob1em of vjdeo djstortjon,a new sett1ement scheme of vjdeo survej11ance system whjch js based on FPGA and gamma correctjon js proposed. In thjs scheme,the requjrements of rea1-tjme and hjgh defjnjtjon are satjsfjed we11 by makjng the utmost of the advantage of the FPGA para11e1 data processjng. Meanwhj1e,the prob1em of vjdeo djstortjon caused by the djsp1ay's non1jnear brjghtness output js reso1ved by the method of rapjd gamma correctjon usjng 1ook-up tab1e. The experjmenta1 resu1t jndjcates that the vjdeo survej1-1ance system js stab1e and hjgh-defjnjtjon. The dark fje1d graysca1e?js jmproved apparent1y,as a resu1t,the djsp1ay shows c1ear detaj1s and the djstortjon prob1em js so1ved effectjve1y.

Key words:vjdeo survej11ance;FPGA;gamma correctjon;vjdeo djstortjon;1ook-up tab1e

中图分类号:TN492

文献标识码:A

文章编号:1674-6236(2016)07-0175-04

收稿日期:2015-05-22稿件编号:201505207

基金项目:2015年国家级大学生创新训练计划项目(201510287038)

作者简介:刘冰(1993—),男,河南登封人。研究方向:视频信号处理。

猜你喜欢
视频监控
基于视频图像采集移动目标检测系统的设计
数字化监控系统的企业应用
基于嵌入式Linux的视频监控系统的设计与实现
基于HTML5的视频监控微课设计浅析
智能视频检索技术在校园安防建设中的发展应用