APP下载

基于DaVinci技术的嵌入式Web视频监控系统的设计

2016-05-21郭翠娟盛雨晴武志刚天津工业大学电子与信息工程学院天津300387

天津工业大学学报 2016年2期
关键词:视频监控

郭翠娟,盛雨晴,武志刚(天津工业大学电子与信息工程学院,天津 300387)



基于DaVinci技术的嵌入式Web视频监控系统的设计

郭翠娟,盛雨晴,武志刚
(天津工业大学电子与信息工程学院,天津300387)

摘要:提出一种基于DaVinci技术的嵌入式Web视频监控系统设计方案,该方案利用TI高速双核信号处理器TMS320DM6467和嵌入式Linux操作系统为平台,完成视频信号的H.264编码、传输和存储,并在此基础上搭建嵌入式Web服务器,用户在浏览器中登录Web服务器后可以进行实时监控;还提出一种基于率失真优化方法的改进型码率控制算法,使用该算法可明显提高视频流的编码速率及改善编码质量.实验结果表明:使用该算法所得平均码率误差比JVT-G012算法低1.2%,而信噪比PSNR提高了1.16 dB.本系统具有很强的实时性、交互性、视频质量高等优点,可广泛应用于远程视频监控.

关键词:DaVinci技术;视频监控;嵌入式Web服务器;码率控制;率失真优化

随着网络技术、通信技术和数字信息技术的不断发展和进步,视频监控系统的模式也处在快速发展过程中.视频监控系统经历了本地模拟信号视频监控系统、基于PC的数字视频监控系统和基于嵌入式系统的网络视频监控系统等3个发展阶段.嵌入式网络视频监控系统是以视频监控为核心,以网络为传输媒介,软硬件可裁剪,适合系统对功能、可靠性、成本、体积等综合要求的专用计算机系统.

由于模拟视频信号的传输距离较近,故传统模拟视频监控系统[1]通常只适合于小范围的局部区域监控,无法进行联网,布线工程量大.目前,中国数字化监控领域正处于极速发展阶段,但市场上的大部分数字视频[2]监控设备的实时性较差且视频编码质量低.

针对以上情况,本文利用TI公司推出的一款音视频数字多媒体处理器TMS320DM6467构建嵌入式网络视频监控系统,其处理能力强,实时性好.另外,基于传统的率失真优化算法提出一种改进型码率控制算法,用来提高视频编码效率和编码质量.

1 系统方案设计与实现

1.1系统总体结构

本设计选用达芬奇系列处理器TMS320DM6467,其集成了一个ARM926EJ-S核与600 MHz的C64X+DSP核,ARM负责运行嵌入式操作系统;DSP负责对采集的视频信号进行压缩编码[3],ARM通过TI提供的Codec Engine(编解码引擎)机制调用DSP侧的codec算法.本设计的总体结构如图1所示.

图1 系统总体结构图Fig.1 Overall diagram of monitoring system

图1中,中心控制端接收摄像头采集的视频信号,进行H.264[2]编码,编码后的数据可以传输到Internet或写成文件存储到硬盘中;客户端通过登录Web服务器[3]可接收网络上的视频码流并在浏览器上解码显示,进行实时监控.

1.2系统的硬件设计

系统的硬件组成由监控端、中心控制端和客户端组成,如图2所示.

图2 系统硬件框图Fig.2 Hardware diagram of monitoring system

图2中,监控端主要完成对监控现场视频信号的实时采集,并把采集到的视频信号传送到中心控制端;中心控制端基于DM6467双核处理器和Linux嵌入式操作系统,对采集到的视频信号进行H.264编码,并根据需要将码流进行存储或传送到网络上;客户端主要完成视频信号的接收和显示.客户端通过HTTP协议[4]向中心控制端发送请求,中心控制端进行相应处理后以HTML文本格式返回应答信息,客户端再将这些接受到的应答信息解释为网页形式并在浏览器中显示.实时传输模块按照RTP(real-time transport protocol)协议和RTSP(real time streaming protocol)协议负责将视频流打包并传送到客户端的VLC(video lan client)播放器中进行解码和显示.视频存储与管理模块负责将编码后的码流写入到数据库中存储以备调用.

1.3系统的软件设计

系统的软件设计主要是应用程序的开发,包括以下5个线程,即主线程、视频采集线程、视频编码线程、传输线程和写线程,线程的关系如图3所示.图3中,编码程序从主线程开始,主线程完成初始化编解码引擎和DMAI(DaVinci multimedia application interface)设备,再设置codec算法的参数,然后打开视频采集线程、视频编码线程、传输线程或写线程.

图3 系统的线程关系图Fig.3 Thread diagram of monitoring system

在视频采集线程中,通过摄像头采集得到PAL制式的基带视频信号[5]经过A/V接口传送到SiI9125CTU芯片的输入端,该芯片负责将PAL视频解码并数字化后送到DM6467的视频输入接口,通过ioctl()函数设置图像采集格式、为设备分配数据缓存、实现内存地址空间映射,然后开始循环采集视频数据流[6].视频编码线程的主要作用是对视频数据进行H.264编码,压缩后的视频码流可以通过写线程保存成文件,也可以通过传输线程传送到Internet上.传输线程的主要作用是采用分片封包模式[9]将H.264码流封装成RTP数据包,由于IP协议的最大传输单元值为1 500,考虑到IP报头和UDP报头等所占的字节,将RTP数据包的最大负载值设置为1 450个字节,对于字节数超过1450 的NAL(Network Abstract Layer网络抽象层)单元分片封装成多个RTP分组,并采用RTSP协议实现对视频数据传输的控制.

视频编码线程的工作流程图如图4所示.首先调用Engine_open()函数创建一个Codec Engine的实例,并返回一个hEngine的句柄供后续函数调用,根据Venc_getInBufSize()和Venc_getOutBufSize()函数确定输入数据和输出数据所需占用的缓冲区大小,再利用Buffer_create()函数分配内存空间;通过调用编码算法实例的Venc_control()、Venc_process()等API函数对视频数据进行控制和编码,并且将编码后的数据流传送至写线程写入到硬盘文件系统,或通过传输线程发送到Internet.

图4 视频编码流程图Fig.4 Flow chart of video encoding

1.4嵌入式Web服务器

本设计选择支持CGI(common gateway interface)技术且非常适用于嵌入式系统的Web服务器Boa,处理客户端发送的HTTP请求和应答消息,并以网页形式显示在浏览器中.CGI程序各功能模块如图5所示.

图5 CGI程序模块Fig.5 Software module of CGI program

该部分程序运行在服务器端,提供后台服务器与客户端HTML页面的接口,实现用户登录、用户信息管理、系统设备信息管理和视频监控等功能.

Login.html和Login.cgi是用户进入监控系统的第一步,系统通过验证用户输入的用户名和密码来判断是否有登录权限,若有权限,则进入监控界面;反之,发出错误提示. UserControl.cgi和DeviceControl.cgi 2个模块分别对系统用户信息和监控设备资源进行管理和控制,包括监控设备的基本属性、监控设备维护信息、摄像头的IP、子网掩码、网关和DNS等. Video. html和Video.cgi用于视频数据的实时播放,Video.cgi接受用户端通过浏览器传来的控制参数,并启动相应的视频数据采集模块、编码模块、实时传输模块、存储与管理模块,进行视频数据流的传输,进而与网络客户端的VLC播放器建立连接,实现视频流在客户端浏览器页面上的播放.

2 基于率失真优化方法的改进型码率控制算法

传统的基于率失真优化的控制方法,首先要确定码率模型和率失真模型,再根据拉格朗日理论公式获得最优的量化参数.然而使用该方法所得到的PSNR值较小,输出码率不精确,故本文提出了一种基于率失真优化的改进型码率控制算法.

在编码当前帧之前,编码缓冲器中的比特数需按下式更新:

式中:Bprev为编码缓冲器中之前的比特总数;Bactual为已编码帧实际产生的比特数;R为信道速率;F为帧率.

由公式(1)可知,在编码一帧图像之前缓冲器的比特数为:上一帧编码前缓冲器的比特数加上上一帧实际编码产生的比特数,再减去一帧时间间隔内信道传输的比特数.

其次,通过缓冲器的占用情况,按下式分配当前帧一定的目标比特数:

式中:△B的定义为

式中:Z为常数,通常设为0.1;M为一个门限值,设为M = R/F.

由式(2)可以看出,△B是来自缓冲器比特数的一个反馈量,当B超过门限值的一定比例后,目标比特Btarget应减小△B的量.

根据(4)式计算参数H:

式中:N为一帧中宏块的总数目;λi是权重因子;βi的定义为:

式中:Nt为一个宏块中亮度像素的总个数;Nc为色度像素总的个数;Pi(n)为像素值;Pa为整个宏块的像素平均值.

根据计算所得的H值和(5)式计算第m个宏块的量化步长

式中:L =εm- 162NmCm;εm表示第m帧的目标比特数;Nm为第m帧中宏块的总数;设初始的K = 0.5,C = 0.

根据(6)式计算所得的量化步长计算第m个宏块的QP值,如下所示:

式中:QPmprev为前一个宏块的QP值.

计算完一个宏块后再作如下更新:

式中:Bm′表示为宏块m编码后产生的比特数.

为了测试基于率失真优化方法的改进型码率控制算法的性能,以H.264/AVC的参考软件JM11.0作为实验平台实现该算法.实验选择多个视频测试序列,从编码比特率、编码质量等方面给出本文方法与JVT[12](jiont video team,联合视频编码组)提案中自适应基本单元级码率控制算法JVT-G012的比较结果,编码比特率用码率控制误差来衡量,编码质量用峰值信号与噪声之比PSNR的值来衡量.

分别测试了Akjyo、Flower、Highway、Waterfall、Foreman和Carphone序列在目标码率分别为36 kbps、72 kbps和128 kbps条件下所得的平均PSNR和码率控制误差,测试结果如表1所示.由表1计算可得使用JVT-G012算法的平均码率控制误差为2.94%,而使用本文算法所得的平均码率控制误差仅为1.74%,由此可见误差大大减小;使用本文算法所得的平均PSNR值为40.71 dB,而使用JVT-G012算法所得值为39.55 dB,由此可得本文算法较JVT-G012算法的PSNR值平均提高了1.16 dB,编码质量明显提高.

图6所示为分别使用本文算法和JVT-G012算法对不同视频序列进行编码得到的PSNR的码率关系.

图6(a)和图6(b)表示在目标码率为72 kbps条件下,分别使用本文提出的算法和使用JVT-G012算法对Akjyo序列以及Waterfall序列的PSNR进行测试的结果;图6(c)和图6(d)表示在目标码率为128 kbps条件下,对Flower序列以及Foreman序列的PSNR进行测试的结果.由图可知,使用本文所提出算法所得的PSNR值大于使用JVT-G012算法所得的PSNR值,编码质量大大提高.

图6(e)和图6(f)分别测试了Carphone序列和Highway序列的码率与信噪比的关系曲线,由图可知,随着码率增大,PSNR也提高,但使用本文算法所得到的码率信噪比曲线明显高于使用JVT-G012算法的曲线,说明有效性大大提高.

3 结论

本文基于达芬奇技术提出了一种嵌入式Web视频监控系统的设计方案,解决了当前视频监控系统中编码效率低、实时性差等问题.基于率失真优化方法,提出一种改进型的码率控制算法,当目标码率分别在36kbps、72kbps、128 kbps条件下测试使用JVT-G012算法和本文所提算法所得的平均误码率,结果分别为2.94%和1.74%,即误码率降低了1.2%,编码的可靠性大大提高;另,本文算法较JVT-G012算法的PSNR平均提高了1.16 dB,编码的有效性大大提高.用户通过登录Web服务器可以对监控现场进行实时监控,具有良好的实时性,可以被广泛应用于智能楼宇、医疗等远程监控系统中.

参考文献:

[1] JIN Xiaocong,HUANG Yiqing,LIU Qin,et al. Fast spatial direct mode decision for B slice based on temporal information in H.264 standard[C]//Intelligent Signal Processing and Communication System,International Symposium on IEEE. [s.l.]:[s.n.],2009:331-334.

[2]刘富强.数字视频监控系统开发及应用[M].北京:机械工业出版社,2003. LIU F Q. The Development and Application of Digital Monitoring System[M]. Beijing:Machinery Industry Press,2003(in Chinese).

[3] TANG Chisun,TSAI Chenhan,CHIEN Shaoyi,et al. Algorithm and hardware architecture design for weighted prediction in H.264[C]//IEEE International Symposium on Circuits and Systems. [s.l.]:Iscas,2006:5014-5018.

[4] KARCZEWICZ M,KURCEREN R. The SP- and SI-frames design for H.264/AVC[J]. IEEE Transactions on Circuits & Systems for Video Technology,2003,13(7):637-644.

[5] STOCKHAMMER T,HANNUKSELA M,WIEGAND T. H.264/AVC in wireless environments [J]. Transactions on Circuits and Systems for Video Technology,2003,13(7):657-673.

[6]沈沛意,张亮,周梦,等.DAVINCI技术剖析及实战应用开发指南[M].西安:西安电子科技大学出版社,2012. SHEN P Y,ZHANG L,ZHOU M,et al. The Analysis and Practical Application Development Guide of DAVINCI technology [M]. Xi′an:Xi′an Electronic and Science University Press,2012(in Chinese).

[7]高玉龙,白旭,吴玮,等.达芬奇技术开发基础、原理与实例[M].北京:电子工业出版社,2012. GAO Y L,BAI X,WU W,et al. Fundamentals,Principles and Examples of Davinci Technology [M]. Beijing:Electronic Industry Publishing Press,2012(in Chinese).

[8] GIROD B,FARBER N. Feedback-based error control for mobile video transmission[J]. Proceedings of the IEEE,1999,87(10):1707-1723.

[9]吴军,胡建总,谢斌,等.自适应变长GOP码率控制算法[J].小型微型计算机系统,2015,36(1):188-192. WU J,HU J Z,XIE B. Adaptive variable length GOP rate control algorithm[J]. Small and Micro Computer System,2015,36(1):188-192(in Chinese).

[10]王帅,員卫国.基于DaVinci技术的视频监控系统设计[J].电脑知识与技术,2011,7(8):1897-1899. WANG S,YUAN W G. Design of video surveillance system based on DaVinci technology[J]. Computer Knowledge and Technology,2011,7(8):1897-1899(in Chinese).

[11]宋建勋.基于DaVinci技术的多平台网络视频监控系统的设计与实现[D].南京:南京邮电大学,2011. SONG J X. Design and implementation of multi platform network video surveillance system based on DaVinci technology [D]. Nanjing:Nanjing University of Posts and Telecommunications,2011(in Chinese).

[12]赵振军,沈礼权,胡乾乾,等.基于复杂度HEVC码率控制的算法优化[J].光电子激光,2014,25(9):1715-1720. ZHAO Z J,SHEN L Q,HU Q Q,et al. HEVC rate control algorithm optimization based on complexity [J]. Photoelectron Laser,2014,25(9):1715-1720(in Chinese).

[13]朱威,郑雅羽,陈明,等.低复杂度的多视点视频编码宏块模式决策算法[J].光电子激光,2014,25(5):988-997. ZHU Wei,ZHENG Y Y,CHEN M,et al. Low complexity multi view video encoding macro block mode decision algorithm[J]. Photoelectron Laser,2014,25(5):988-977(in Chinese).

[14] TAKAGI K,TAKISHIMA Y,NAKAJIMA Y. A study on rate distortion optimization scheme for JVT coder [J]. Proceedings of SPIE-The International Society for Optical Engineering,2003,5150:914-923.

[15]熊永华,张因升,陈鑫,等.云视频监控系统的能耗优化研究[J].软件学报,2015,26(3):680-698. XIONG Y H,ZHANG Y S,CHEN X,et al. Research on energy consumption optimization of cloud video surveillance system[J]. Journal of Software,2015,26(3):680-698(in Chinese).

Design of embedded Web video monitoring system based on DaVinci technology

GUO Cui-juan,SHENG Yu-qing,WU Zhi-gang
(School of Electronics and Information Engineering,Tianjin Polytechnic University,Tianjin 300387,China)

Abstract:Based on the newly developed DaVinci technology,a designing scheme of embedded Web video monitoring system is proposed. The scheme combines high-speed and dual-core signal processor(TMS320DM6467)with embedded Linux operating system as the platform to complete the H.264 encoding,transmission and storage of video signal. Building the embedded Web server,user can login into the server and monitor at real -time. According to the method of rate-distortion optimization,an improved rate control algorithm is proposed. The algorithm can significantly improve the coding rate of video stream and the coding quality. It is proved that the average bit rate error of the proposed algorithm is 1.2% lower than that of the JVT-G012 algorithm. Besides,the signal to noise ratio is improved by 1.16 dB. This system has advantages of strong real-time,interactive and high video quality so that it can be used for remote video surveillance.

Key words:DaVinci technology;video monitoring;embedded Web server;rate control;rate-distortion optimization

通信作者:郭翠娟(1975—),女,副教授,硕士生导师,主要研究方向为通信系统. E-mail:guocuijuan@typu.edu.cn

基金项目:国家自然科学青年基金项目(61302062)

收稿日期:2015-07-14

DOI:10.3969/j.issn.1671-024x.2016.02.015

中图分类号:TN919.8

文献标志码:A

文章编号:1671-024X(2016)02-0077-06

猜你喜欢

视频监控
基于特定类型物体检测的药店视频监管系统
基于变电站的微机防误系统的可视化监控技术研究
地铁高清视频存储技术的应用分析
基于视频图像采集移动目标检测系统的设计
数字化监控系统的企业应用
基于嵌入式Linux的视频监控系统的设计与实现
基于HTML5的视频监控微课设计浅析
智能视频检索技术在校园安防建设中的发展应用