一种基于dm365的网络视频监控系统及方法

文档序号:8003040阅读:279来源:国知局
一种基于dm365的网络视频监控系统及方法
【专利摘要】一种基于DM365的网络视频监控系统,包括设备端、服务器和客户端,所述设备端用于进行视频数据的捕获、A/D转化、压缩和打包发送;视频数据包通过网络到达服务器后,服务器用于根据用户视频查看请求情况将视频数据转发给指定的用户;用户接收到对应设备的视频数据后利用客户端播放器将数据解码播放,客户端通过向服务器发送请求消息来获得相应设备的视频数据;摄像头采集的视频数据直接从TMS320DM365主处理器的视频处理前端提取并由协处理器HDVICP压缩编码成H.264格式的视频数据用来发送给服务器和客户端。以及提出一种网络视频监控方法。本发明提升视频清晰度和流畅度、提高视频压缩率和降低功耗。
【专利说明】—种基于DM365的网络视频监控系统及方法
【技术领域】
[0001]本发明涉及网络视频监控领域,尤其是一种网络视频监控系统及方法。
【背景技术】
[0002]随着我国大力推进平安城市项目的建设,安防产业也得到迅猛发展。根据IP多媒体系统(IP Multimedia Subsystem或简写IMS)研究,2011年I月最新发布的“中国安防系统集成市场-2011版”估算,中国安防系统集成市场份额2010年达到62亿美元,预计到2014年将超130亿美元。近几年,普通的标清视频监控质量已经无法满足人们生活以及社会治安的需要,720P和1080P格式开始逐渐成为市场的主流。国际上一些知名的数字多媒体处理芯片制造商纷纷推出了具有高清数字媒体处理能力的芯片,比如TI公司的DM36X系列,DM64XX系列、海思公司的Η?3515/3516, NXP的ASC8850、富瀚公司的FH8736。其中TI公司的TMS320DM365芯片最高可以支持720p/30fps的H.264格式的编解码。

【发明内容】

[0003]为了克服已有网络视频监控技术的视频清晰度和流畅度较差、视频压缩率较低、功耗较大的不足,本发明提供一种提升视频清晰度和流畅度、提高视频压缩率和降低功耗的基于DM365的网络视频监控系统及方法。
[0004]本发明解决其技术问题所采用的技术方案是:
[0005]一种基于DM365的网络视频监控系统,所述网络视频监控系统包括设备端、服务器和客户端,所述设备端用于进行视频数据的捕获、A/D转化、压缩和打包发送;视频数据包通过网络到达服务器后,服务器用于根据用户视频查看请求情况将视频数据转发给指定的用户;用户接收到对应 设备的视频数据后利用客户端播放器将数据解码播放,客户端通过向服务器发送请求消息来获得相应设备的视频数据;
[0006]所述设备端包括摄像头和DM365芯片,所述DM365芯片包括TMS320DM365主处理器和协处理器HDVICP,所述摄像头采集的视频数据直接从TMS320DM365主处理器的视频处理前端提取并由协处理器HDVICP压缩编码成H.264格式的视频数据用来发送给服务器和
客户端。
[0007]进一步,所述设备端视频数据被硬件压缩成H.264格式后,通过RTP进行封装并发送。
[0008]更进一步,所述设备端、服务器和客户端之间所有的信令控制都通过SIP完成。
[0009]一种基于DM365的网络视频监控方法,所述监控方法包括以下步骤:
[0010](I)利用摄像头获取初始的PAL制式的模拟视频数据;核心板上的TVP5146芯片捕捉到模拟视频数据并进行A/D转换,得到16-bit4:2:2YCbCr的数字视频数据;TVP5146直接从ISIF接口将视频数据传输进入VPFE,数据在经过一个逻辑缓存区后进入到RAM中;
[0011](2)视频数据的编码:TMS320DM365上的协处理器之一 HDVICP从RAM处获取数字视频数据的地址,然后对其进行Dl分辨率H.264标准的编码压缩处理;[0012](3)编码完成后的H.264数据将被送到RAM中的一块共享内存中等待RTP进程处理;
[0013](4)当视频协处理器HDVICP结束H.264数据的处理后,在RAM中根据RTP进行封装,然后通过有线网络发送给视频转发服务器,由服务器最后将视频数据发送给客户端。
[0014]本发明的技术构思为:以TI公司的TMS320DM365为核心处理器,以实时传送协议(Real-time Transport Protocol 或简写 RTP) / 信令控制协议(Session InitiationProtocol或简写SIP)分别作为视频数据传输/信令交互协议,并将视频数据通过视频服务器进行转发以支持向多名用户提供分辨率为720*576清晰度的实时视频监控画面观看的网络视频监控系统。
[0015]本发明的有益效果主要表现在:(I) TI的TMS320DM365芯片中拥有2个协处理器HDVICP和MJCP,其中HDVICP最高可支持720P/30fps的H.264数据的编解码能力,MJCP支持720P/30fps的MPEG-4数据的编解码能力。在近期内,这种清晰度和速度的编解码能力一直是视频监控行业的主流,值得长期发展和使用;
[0016](2)有中转服务器的视频监控系统可以实现用户和设备之间的多对多实时视频画面查看,而又无需同一个设备向不同用户同时发送一样的视频数据造成网络带宽的浪费;
[0017](3) RTP是一种非常成熟的实时数据传输协议,可靠性强;
[0018](4)SIP采用文本的编码方式,使得该协议实现简单,同时具有很强的可扩展机制,这使得它在保持协议核心简洁的同时又能实现强大的功能。
[0019](5)使用可扩展标记语言(Extensible Markup Language, XML)来做SIP消息体便于开发者对消息内容进行定义,具有很强的扩展性。其极其简单的特性使其易于在任何应用程庄中读写数据,具备一定的通用性。
【专利附图】

【附图说明】
[0020]图1是基于D TMS320DM365的网络视频监控系统框图。
[0021]图2是设备端系统框图。
[0022]图3是视频采集驱动框架图。
[0023]图4是基于DMAI的视频采集流程图。
[0024]图5是视频编码流程图。
[0025]图6是设备登录与心跳保活SIP通信示意图。
[0026]图7是视频请求过程SIP通信图。
[0027]图8是SIP通信实现函数流程图。
【具体实施方式】
[0028]下面结合附图对本发明作进一步描述。
[0029]实施例1
[0030]参照图1?图8,一种基于DM365的网络视频监控系统,所述网络视频监控系统包括设备端、服务器和客户端,所述设备端用于进行视频数据的捕获、A/D转化、压缩和打包发送;视频数据包通过网络到达服务器后,服务器用于根据用户视频查看请求情况将视频数据转发给指定的用户;用户接收到对应设备的视频数据后利用客户端播放器将数据解码播放,客户端通过向服务器发送请求消息来获得相应设备的视频数据;
[0031]所述设备端包括摄像头和DM365芯片,所述DM365芯片包括TMS320DM365主处理器和协处理器HDVICP,所述摄像头采集的视频数据直接从TMS320DM365主处理器的视频处理前端提取并由协处理器HDVICP压缩编码成H.264格式的视频数据用来发送给服务器和
客户端。
[0032]进一步,所述设备端视频数据被硬件压缩成H.264格式后,通过RTP进行封装并发送。
[0033]更进一步,所述设备端、服务器和客户端之间所有的信令控制都通过SIP完成。
[0034]本实施例的整个系统包括设备端、视频服务器和客户端三大部分。视频数据的采集过程:首先利用C⑶摄像头获取初始的PAL制式的模拟视频数据;核心板上的TVP5146芯片捕捉到模拟视频数据并进行A/D转换,得到16-bit4:2:2YCbCr的数字视频数据;TVP5146直接从ISIF接口将视频数据传输进入VPFE,数据在经过一个逻辑缓存区后进入到RAM中。视频数据的编码过程相对比较简单:TMS320DM365上的协处理器之一 HDVICP从RAM处获取数字视频数据的地址,然后对其进行Dl分辨率H.264标准的编码压缩处理;编码完成后的H.264数据将被送到RAM中的一块共享内存中等待RTP进程处理。当视频协处理器HDVICP结束H.264数据的处理后,在RAM中根据RTP进行封装,然后通过有线网络发送给视频转发服务器,由服务器最后将视频数据发送给客户端。整个过程,设备端、服务器与客户端之间的信令控制使用SIP实现。
[0035]参照图3?图4,视频采集硬件部分包括视频解码芯片TVP5146和TMS320DM365的视频处理前端(VPFE),所以系统的视频采集驱动程序主要由VPFE驱动程序和TVP5146驱动程序组成。TVP5146作为一个子设备向VPFE注册,VPFE驱动程序调用TVP5146驱动程序中的各种功能函数完成视频采集等操作,相当于在用户应用程序和底层硬件驱动之间加入一个V4L2抽象层,使得应用程序可以忽略底层硬件驱动实现而调用相同的API实现视频解码、采集、内存映射等功能。TI针对DaVinci平台提供了 DMAI。DMAI为我们提供了 Capture模块来实现视频采集,它处于V4L2和应用程序之间,是对V4L2接口的进一步封装。因此,我们的视频采集程序是基于DMAI模块实现的。
[0036]参照图5,最终需要得到的是Dl分辨率的H.264数据,H.264数据的编解码在硬件上是由DSP端的协处理器HDVICP负责处理,HDVICP中固化有H.264标准编码算法库;在应用软件编写方面,只需调用TI提供的Codec Engine的VISA API,就可利用DSP端的处理器进行视频编解码算法的执行,DMAI还提供了一些VISA编解码的代码实例给用户参考;至于H.264的编解码算法方面,HDVICP是一个非公开的模块,TI并没有提供具体的HDVICP接口给普通用户,而是在官方的DVSDK中提供了已经编译好的H.264视频数据的编码实例,此编码实例中包含调用HDVICP的代码。TMS320DM365芯片集成了 ARM处理器+视频图像协处理器,为了解决双核之间的通信以及降低处理器间的数据传输时延,TI推出了 DaVinci软件框架。它提供了系统级代码的整合,使开发人员能够在双核基础上实现完整而复杂的数字视频解决方案。DaVinci软件框架分为三个部分:应用处理层(Application Layer, APL)、信号处理层(Signal Processing Layer, SPL)和输入 / 输出接口层(I/O Layer, 10L)。应用层一般在 ARM —侧运行,通过 Codec Engine 的 VISA (Video, Image, Speech, Audio) API调用 DSP 侧的算法,通过 EPSI (Easy Peripheral Software Interface) API 来访问和操作DaVinci的外设;信号处理层负责信号处理,一般运行在DSP侧,包括Codec Engine、音视频编解码算法、实时操作系统以及处理器间通信模块;输入输出层,即DaVinci外设的驱动程序,主要负责音视频的采集与播放。我们选择压缩效率高、图像质量好和传输可靠的H.264标准作为视频编码标准。TI官方提供了已经编译好的的H.264CodeC算法实例。因此,我们实际需要实现的视频编码程序就是基于Codec Engine,调用这个H.264算法实例的ARM侧应用程序。因为DaVinci软件框架是一个高度模块化的编程框架,每一个DaVinci软件的功能实现都封装成模块,应用程序如果需要使用这个模块,必须通过配置cfg文件,将需要用到的一些模块配置进去,使用的时候就像调用API —样简单。编译的时候,这些模块就会自动编译进应用程序中去了。在cfg文件中配置了 DMAI模块,因为DMAI为我们提供了Video模块来实现视频采集,通过它可以实现对Codec Engine的操作和利用VISA API进行视频编码。
[0037]参照图6,本系统选择UDP对SIP消息进行发送。设备端的SIP应用程序主要需要实现设备登录与心跳保活、视频请求两大功能。此过程只有设备端和SIP服务器参与,由于本文中监控设备的设备号、密码、通信地址等信息都是人工记录到SIP服务器中,所以无须再进行注册步骤。设备登录和心跳保活具体步骤描述如下:设备端首先发送一条REGISTER方法的SIP请求消息到SIP服务器。此消息除了头字段中包含的一些设备端IP地址和端口消息等基本信息外,并未携带任何消息体;SIP服务器接收到第一条REGISTER请求消息后,回复一条状态码为2000K的应答消息表示第一步登录请求成功,并在消息体重携带一串随机码为下一步登录密钥生成做准备;设备端接收到2000K应答消息后,将消息体中的随机码与登录密码混合在一起利用MD5加密算法生成一段密钥,然后再次向SIP服务器发送一条REGISTER方法的请求消息并在消息体中携带密钥;SIP服务器接收到携带密钥的REGISTER请求消息后,根据MD5算法将密钥解密获得密码,然后去数据库里查询此设备的设备号和密码是否匹配。若匹配成功,SIP服务器回复2000K应答消息给设备端,表示设备已成功登录;反之,则回复401unauthorized应答消息表示该设备未授权,登录请求失败;若设备登录成功,设备端再次收到2000K应答消息,接着每隔一段时间,设备端就会向SIP服务器发送REGISTER方法的请求消息并携带心跳包格式的特殊消息体,这个步骤就被称为心跳保活;SIP服务器接收到心跳保活消息后,会回复一个2000K应答消息给设备端表示成功接收心跳保活包。
[0038]参照图7,设备端、SIP服务器和客户端都参与了此过程。整个流程中,设备端只负责响应由客户端发起的SIP请求,其具体步骤描述如下:当用户使用客户端软件点播指定设备的视频图像时,客户端会发送一条INVITE方法的请求消息到SIP服务器,此消息的消息体中携带了各类多媒体会话参数信息:音视频数据格式、码率、分辨率、客户端公网通信地址等;SIP服务器接收到INVITE请求消息后,首先会马上回复客户端一条状态码为IOOTrying的应答消息,告诉客户端它正在处理INVITE请求消息。接着SIP服务器会记录下消息体中的客户端通信地址,并用视频转发服务器的地址信息替换原INVITE请求消息体中携带的客户端公网地址,然后将新的INVITE请求消息发送给设备端;设备端接收到SIP服务器发来的INVITE请求消息后,首先回复一条IOOTrying应答消息给SIP服务器,接着根据INVITE请求消息的消息体中携带的会话参数判断设备本身是否有能力参与此次会话。若有能力参与,则回复2000K应答消息并记录下消息体中携带的视频转发服务器的通信地址信息;反之则回复4XX应答消息报错;SIP服务器接收到此2000K应答消息后,不做任何处理,直接转发给客户端;客户端接收到2000K应答消息后,直接发送ACK方法的请求消息给SIP服务器并转发至设备端处,表示客户端最终确认此次视频会话请求。到此,视频会话请求阶段结束,接下去设备端就根据之前记录的视频服务器地址信息向视频转发服务器传输视频数据。整个过程中,本文使用了在请求消息的消息体中携带各会话成员的公网通信地址,并由请求消息接收端解析消息体后记录下这些地址信息,最后通过视频转发服务器来做为视频数据的中转站的方法解决了视频数据在网络传输过程中会遇到的NAT穿越问题。
[0039]参照图8,本项目利用PJSIP库来实现上述两种SIP通信功能的具体实现。为处理接收到请求消息和响应消息的不同情况,本项目设置了两个回调函数on_request()和on_response O来分别处理以上两种消息。
[0040]实施例2
[0041]一种基于DM365的网络视频监控方法,所述监控方法包括以下步骤:
[0042](I)利用摄像头获取初始的PAL制式的模拟视频数据;核心板上的TVP5146芯片捕捉到模拟视频数据并进行A/D转换,得到16-bit4:2:2YCbCr的数字视频数据;TVP5146直接从ISIF接口将视频数据传输进入VPFE,数据在经过一个逻辑缓存区后进入到RAM中;
[0043](2)视频数据的编码:TMS320DM365上的协处理器之一 HDVICP从RAM处获取数字视频数据的地址,然后对其进行Dl分辨率H.264标准的编码压缩处理;
[0044](3)编码完成后的H.264数据将被送到RAM中的一块共享内存中等待RTP进程处理;
[0045](4)当视频协处理器HDVICP结束H.264数据的处理后,在RAM中根据RTP进行封装,然后通过有线网络发送给视频转发服务器,由服务器最后将视频数据发送给客户端。
【权利要求】
1.一种基于DM365的网络视频监控系统,其特征在于:所述网络视频监控系统包括设备端、服务器和客户端,所述设备端用于进行视频数据的捕获、A/D转化、压缩和打包发送;视频数据包通过网络到达服务器后,服务器用于根据用户视频查看请求情况将视频数据转发给指定的用户;用户接收到对应设备的视频数据后利用客户端播放器将数据解码播放,客户端通过向服务器发送请求消息来获得相应设备的视频数据; 所述设备端包括摄像头和DM365芯片,所述DM365芯片包括TMS320DM365主处理器和协处理器HDVICP,所述摄像头采集的视频数据直接从TMS320DM365主处理器的视频处理前端提取并由协处理器HDVICP压缩编码成H.264格式的视频数据用来发送给服务器和客户端。
2.如权利要求1所述的基于DM365的网络视频监控系统,其特征在于:所述设备端视频数据被硬件压缩成H.264格式后,通过RTP进行封装并发送。
3.如权利要求1或2所述的基于DM365的网络视频监控系统,其特征在于:所述设备端、服务器和客户端之间所有的信令控制都通过SIP完成。
4.一种如权利要求1所述的基于DM365的网络视频监控系统实现的网络视频监控方法,其特征在于:所述监控方法包括以下步骤: (1)利用摄像头获取初始的PAL制式的模拟视频数据;核心板上的TVP5146芯片捕捉到模拟视频数据并进行A/D转换,得到16-bit4:2:2YCbCr的数字视频数据;TVP5146直接从ISIF接口将视频数据传输进入VPFE,数据在经过一个逻辑缓存区后进入到RAM中; (2)视频数据的编码:TMS320DM365上的协处理器之一HDVICP从RAM处获取数字视频数据的地址,然后对其进行Dl分辨率H.264标准的编码压缩处理; (3)编码完成后的H.264数据将被送到RAM中的一块共享内存中等待RTP进程处理; (4)当视频协处理器HDVICP结束H.264数据的处理后,在RAM中根据RTP进行封装,然后通过有线网络发送给视频转发服务器,由服务器最后将视频数据发送给客户端。
【文档编号】H04N7/18GK103442203SQ201310323585
【公开日】2013年12月11日 申请日期:2013年7月26日 优先权日:2013年7月26日
【发明者】孟利民, 周凯, 徐志江, 张江鑫, 华惊宇, 彭宏 申请人:浙江工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1