收藏 分享(赏)

基于MPEG-4和RTP的网络视频监控系统研究.doc

上传人:s36f12 文档编号:9481301 上传时间:2019-08-09 格式:DOC 页数:29 大小:86.50KB
下载 相关 举报
基于MPEG-4和RTP的网络视频监控系统研究.doc_第1页
第1页 / 共29页
基于MPEG-4和RTP的网络视频监控系统研究.doc_第2页
第2页 / 共29页
基于MPEG-4和RTP的网络视频监控系统研究.doc_第3页
第3页 / 共29页
基于MPEG-4和RTP的网络视频监控系统研究.doc_第4页
第4页 / 共29页
基于MPEG-4和RTP的网络视频监控系统研究.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、基于 MPEG-4 和 RTP 的网络视频监控系统研究基于 MPEG-4 和 RTP 的网络视频监控系统研究.txt基于 MPEG-4 和 RTP 的网络视频监控系统研究文/北京邮电大学通信网络综合技术研究所 龚猷龙 刘勇摘 要:随着计算机、网络及多媒体通信技术的发展,视频监控在业界得到了广泛的应用,许多先进的技术被逐渐引入视频监控系统。本文采用了递进的方式,先介绍了 IP 网络视频监控系统的组成及其关键技术,接着阐述了 MPEG-4 视频流的 RTP 分组净荷格式。最后,在视频流的 RTP 传输中,着重分析了 MPEG-4 视频流的封装格式,并给出相应的实现方法。关键词:视频监控,MPEG-

2、4,RTP,视频流封装一、引言随着计算机、网络及通信技术的快速发展和成熟,视频监控系统从模拟视频监控系统逐渐转向以数字化和网络化为特色的网络数字视频监控系统。早期的模拟视频监控系统主要应用于闭路电视的监控,监控的范围仅限于本地网络。近十多年来,市场对视频监控业务的需求量越来越大,特别是需求形式越来越广泛。计算机系统处理能力的提升,图像压缩技术的更加完善,以及互联网应用的蓬勃兴起,这些技术的进步为视频监控的发展提供了保证,给视频监控系统带来了巨大商机。受到市场和技术的驱动,视频监控的应用领域和应用的灵活性也已经远远超出传统的安防监控所定义的范畴,其应用面得到了大大地推广,逐步渗透到许多对视频业务

3、有极大需求的新兴行业市场。如银行监控、交通监控、医疗监护、通信机房监控等系统,给人们的生活和工作带来了极大的便利。视频监控系统既可以采用专线组网,也可用 IP 方式组网。采用专线组网的视频监控系统具有带宽充足、图像质量好、易维护等特点,但是费用高。TCP/IP 网络是面向全球用户,资源共享是 TCP/IP最大的优点。TCP/IP 是目前最流行采用的互联网技术,而且使用价格低廉,满足大众化的需求,其应用前景十分广阔。因此,采用 IP组网是视频监控系统朝网络化发展的趋势。下文主要介绍 IP 网络视频监控系统的特点及其采用的关键技术。二、IP 网络监控系统结构IP 网络视频监控系统主要由视频监控端、

4、服务器端和客户端组成,如图 1 所示。其中视频监控端包括若干台摄像机、一台矩阵切换器和一台 MPEG-4 编码器;服务器端由一个主控中心组成,包括用于业务平台管理和调度的网络服务器,MPEG-4 解码器和显示设备;客户端包括一个接入 IP 网的集线器和各个 PC 机终端。各部分通过以太网相连接。图 1 IP 网络监控系统从网络视频监控系统可以看出,系统中主要存在两种数据流:视频监控端向客户端发送的媒体流和客户端向视频监控端发送的控制信息流。系统的数据流程如图 2 所示。?图 2 系统数据流程图传输两种数据流所采用的协议是不一样的。控制信息流对服务器平台业务管理、客户端与视频端的接入、调度及解码

5、显示等都是十分重要的,可见在控制信息流的传输过程中不允许有丢包,因此采用面向连接、可靠传输的 TCP 协议传输控制信息。然而 TCP 传输需要的网络开销较大,通过降低有效性来换取传输的可靠性,不能达到实时传输媒体流的目的。UDP 协议是面向无连接、不可靠传输的控制协议,传输之前不需要先建立连接,在传输时延及带宽利用率方面都要强于 TCP,正好满足了媒体流实时性的特点,通常采用UDP 作为媒体流的传输协议。不过,采用 UDP 传输媒体流同样存在不可靠性的问题:UDP 数据包没有编号,无法提供差错控制,也不保证包不丢失,更不能加载媒体流的时间信息。导致在客户端显示的视频图像存在延时和抖动,在一定程

6、度上仍然不能达到实时传输的效果。表 1 给出的是中国电信有关 IP 承载网络端到端通信质量要求,可供参考。表 1 网络通信质量要求丢包率上限网络延时上限延时抖动上限1/1000150ms50ms为了弥补 UDP 协议存在的缺点,使 IP 网络具有提供媒体流实时传输的能力,IP 网络视频监控系统采用由 IETF 制定的实时传输协议 RTP。RTP 由两个相关协议组成:实时传输协议 RTP 和实时传输控制协议 RTCP。视频压缩编解码技术是视频监控系统的核心技术。视频监控端采集的原始数据量很大,不适合直接在带宽受限的网络中传输,需要先对原始数据进行压缩。视频压缩标准主要有两个系列,一个是由 ITU

7、-T 制定的 H.26x 系列,另一个是由 ISO 制定的 MPEG-x 系列。目前比较看好的国际标准是 H.264 和 MPEG-4。综合考虑算法的复杂度、性能、市场占有率及今后的发展等因素,选择 MPEG-4 作为视频监控系统的压缩编码框架。三、视频监控系统的关键技术1MPEG-4 压缩标准MPEG-4 标准采用的仍然是以前标准(H.261/3 和 MPEG-1/2)的基本编码框架,即典型的三步:预测编码、变换量化和熵编码。新的压缩编码标准都是基于优化的思想进行设计的,将先前标准中的某些技术加以改进,例如在原来的基础上提出 1/4 和 1/8 像素精度的运动补偿技术,使得预测编码的性能大大

8、提高,或加入以前标准中没有的新技术。与 MPEG-1 和 MPEG-2 有很大的不同,MPEG-4 标准不仅仅给出了具体压缩算法,它是针对数字电视、交互式多媒体应用、视频监控等整合及压缩技术的需要而制定的。MPEG-4 将多种多媒体应用集成在一个完整的框架里,为不同的应用提供相应地档次和级别。MPEG-4 标准中最大的特点是:采用了基于对象的编码理念。传统的视频编码方法依照信源编码理论的框架,利用输入信号的随机特性达到压缩的目的,而并没有考虑信息获取者的主观意义和主观特性,还有事件本身的具体含义、重要性及后果等。MPEG-4 标准中引用了视频对象的概念,打破了过去以宏块为单位编码的限制,其目的

9、在于采用现代图像编码方法,利用人眼视觉特性,抓住图像信息传输的本质,从轮廓、纹理的思路出发,支持基于视频内容的交互功能。以上这些都是根据人眼感兴趣的一些特性提出来的。视频序列中每一帧由不同的场景组成,这些场景可以根据人的主观性进行划分,每一个场景可看成是一个 VOP,而同一对象连续的 VOP 称为视频对象 VO。VO 可以是视频序列中的人物或具体的景物,也可以是计算机生成的二维或三维图形。视频监控系统中,视频监控端主要采集的是自然景物的图片,因此这里只考虑 MPEG-4 中自然视频序列的编码档次。MPEG-4 是以 VOP 为单位进行编解码,编解码过程如图 3 所示。图 3 MPEG-4 编解

10、码基本过程编码器包含三个主要部分,形状编码、运动信息编码及纹理编码。(1)? 形状编码VOP 的形状信息有两类:二值形状信息和灰度形状信息。二值形状信息用 0,1 来表示 VOP 的形状;灰度形状信息用 0255 之间的数值表示 VOP 内各像素的透明度。目前的标准中采用矩阵的形式来表示二值或灰度形状信息,称之为位图(或 alpha 平面)。试验表明,位图表示法具有较高的编码效率和较低的运算复杂度。(2)? 运动信息编码VOP 的编码有三种模式,即帧内编码模式(I-VOP),帧间预测编码模式(P-VOP),帧间双向预测编码模式(B-VOP)。为了适应任意形状的 VOP,MPEG-4 引入了图像

11、填充技术和多边形匹配技术。对于标准宏块的运动估计和补偿,可采用传统的基于块的方法。而对于VOP 边界的轮廓宏块,则要采用图像填充技术,再用多边形匹配技术进行运动估计/补偿。(3)? 纹理编码一个视频平面的纹理信息可以表示为亮度 Y 和两个色度成分Cr、Cb。在帧内情况下,纹理信息直接包含亮度和色度成分,在运动补偿的情况下,纹理信息表示经过运动补偿后的残差。2RTP 协议RTP 是由 IETF 音视频工作组制定的实时传输协议,专门用于交互式语音、视频传输等实时多媒体应用。RTP 可以在点对点或点对多点的传输情况下工作,而且通常使用 UDP 来传送数据。当应用程序开始一个 RTP 会话时,同时还要

12、开启 RTCP 协议,因为 RTP 协议并不能提供差错控制和保证的网络的 QoS,需要和 RTCP 配合使用。此时的会话将使用两个端口:一个给 RTP,另一个给 RTCP。RTP 协议的设计目的是提供实时数据传输中的时间戳信息及各数据流的同步功能。RTP 提供序列号以恢复数据包的顺序,实现丢包检测,为实时传输提供网络拥塞等信息;提供时间戳用于媒体同步,使接收端按正确的速率回放数据;提供同步源标志使接收端有可能获得有关发送方的信息。RTCP 的主要功能是提供有关 QoS 的信息反馈。网络终端系统可根据这些反馈信息来调整数据的发送速率。RTCP 包共有五种类型:发送端报告(SR)、接收端报告(RR

13、)、源描述(SDES)、BYE 和 APP。其中,SR 用来描述发送端的发送和接收统计数据;RR 用来描述接收端的接收统计数据。这些统计数据包括发送包数、发送字节数、累计丢包数、已收报文的最大序列号、达到时间间隔抖动等。实时传输协议 RTP 和传输控制协议 RTCP 一起提供流量控制和拥塞控制服务。在 RTP 会话期间,各参与者周期性地传输RTCP 包。服务器利用 RTCP 包中所包含的信息动态地改变传输速率,甚至改变有效载荷类型。因此,RTP 用来传送实时多媒体数据信息,而 RTCP 用来传送控制信息。四、视频监控系统的视频流传输视频监控端采集的视频数据,先被送入 MPEG-4 编码器进行压

14、缩,生成 MPEG-4 视频流,然后将此视频流打包成 RTP 数据包再传输。以下将详细分析这个过程。1RTP 打包传输视频流通过 RTP 打包传输,RTP 数据包由 RTP 包头和不定长的连续媒体数据载荷组成。RTP 数据包如图 4 所示,其中的载荷是MPEG-4 视频流。4 RTP 数据包格式几个关键字段的含义前面已给出,RTP 包头字段的含义与以前的IP 数据包头的类似,这里不再详细说明。其中,MPEG-4 Visual stream 表示 MPEG-4 的视频流,被称为 RTP 分组净荷(payload)。采用 RTP 协议发送 MPEG-4 码流的好处:(1)可以将 MPEG-4 码流

15、和其他的 RTP 净荷相同步;(2)可以通过 RTCP 监视 MPEG-4 的传送性能;(3)使用 RTP 混合器能将从多个终端系统接收到的 MPEG-4 和其他实时数据流复合成一系列合并的码流;(4)通过使用 RTP 转换器实现数据类型的转换。2MPEG-4 视频流格式视频监控系统中,视频压缩编码采用的是 MPEG-4 标准。而MPEG-4 标准定义了 Profiletypedef enum ? RTCP_SDES_END? = 0,? RTCP_SDES_CNAME = 1,? RTCP_SDES_NAME? = 2,? RTCP_SDES_EMAIL = 3,? RTCP_SDES_PH

16、ONE = 4,? RTCP_SDES_LOC? = 5,? RTCP_SDES_TOOL? = 6,? RTCP_SDES_NOTE? = 7,? RTCP_SDES_PRIV? = 8 rtcp_sdes_type_t;/*?* RTP data header?*/typedef struct ? unsigned int version:2;? /* protocol version */? unsigned int p:1;? /* padding flag */? unsigned int x:1;? /* header extension flag */? unsigned int

17、 cc:4;? /* CSRC count */? unsigned int m:1;? /* marker bit */? unsigned int pt:7;? /* payload type */? u_int16 seq;? /* sequence number */? u_int32 ts;? /* timestamp */? u_int32 ssrc;? /* synchronization source */? u_int32 csrc1;? /* optional CSRC list */ rtp_hdr_t;/*?* RTCP common header word?*/typ

18、edef struct ? unsigned int version:2;? /* protocol version */? unsigned int p:1;? /* padding flag */? unsigned int count:5;? /* varies by packet type */? unsigned int pt:8;? /* RTCP packet type */? u_int16 length;? /* pkt len in words, w/o this word */ rtcp_common_t;/*?* Big-endian mask for version,

19、 padding bit and packet type pair?*/#define RTCP_VALID_MASK (0xc000 | 0x2000 | 0xfe)#define RTCP_VALID_VALUE (RTP_VERSION 14) | RTCP_SR)/*?* Reception report block?*/typedef struct ? u_int32 ssrc;? /* data source being reported */? unsigned int fraction:8;? /* fraction lost since last SR/RR */? int

20、lost:24;? /* cumul. no. pkts lost (signed!) */? u_int32 last_seq;? /* extended last seq. no. received */? u_int32 jitter;? /* interarrival jitter */? u_int32 lsr;? /* last SR packet from this source */? u_int32 dlsr;? /* delay since last SR packet */ rtcp_rr_t;/*?* SDES item?*/typedef struct ? u_int

21、8 type;? /* type of item (rtcp_sdes_type_t) */? u_int8 length;? /* length of item (in octets) */? char data1;? /* text, not null-terminated */ rtcp_sdes_item_t;/*?* One RTCP packet?*/typedef struct ? rtcp_common_t common;? /* common header */? union ? /* sender report (SR) */? struct ? u_int32 ssrc;

22、? /* sender generating this report */? u_int32 ntp_sec;? /* NTP timestamp */? u_int32 ntp_frac;? u_int32 rtp_ts;? /* RTP timestamp */? u_int32 psent;? /* packets sent */? u_int32 osent;? /* octets sent */? rtcp_rr_t rr1;? /* variable-length list */? sr;? /* reception report (RR) */? struct ? u_int32

23、 ssrc;? /* receiver generating this report */? rtcp_rr_t rr1;? /* variable-length list */? rr;? /* source description (SDES) */? struct rtcp_sdes ? u_int32 src;? /* first SSRC/CSRC */? rtcp_sdes_item_t item1; /* list of SDES items */? sdes;? /* BYE */? struct ? u_int32 src1;? /* list of sources */? /* cant express trailing text for reason */? bye;? r; rtcp_t;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报