首页 > 范文大全 > 正文

网络视频传输技术的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇网络视频传输技术的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文介绍了特别适宜于多媒体通信的实时传输协议和实时传输控制协议―RTP,主要探讨了其在视频传输及传输控制中的应用。

关键词:实时传输协议;实时传输控制协议;视频传输

中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)04-10969-02

1 引言

随着计算机技术、网络技术、视频压缩编码技术等关键技术的飞速发展,网络视频传输技术以其实时性和直观性等到了越来越多的重视。但是网络状况经常变化,在网络上实时传输音频/视频流,必须采取防止拥塞的措施,才能保证其服务质量QoS。

通常采用实时传输协议RTP来调整码流量来匹配网络带宽的变化,利用RTP协议的反馈信息来估计网络状态,然后根据评估的网络状态,调整发送端的传输率,以此来支持网络实时传输服务,提供多媒体数据传输的实时标准,实现自适应网络传输。

2 实时传输协议RTP

RTP协议实际上由实时传输协议RTP(Real-time Transport Protocol)和实时传输控制协议RTCP(Real-time Transport Control Protocol)两部分组成。RTP协议基于多播或单播网络为用户提供连续媒体数据的实时传输服务;RTCP协议是RTP协议的控制部分,用于实时监控数据传输质量,为系统提供拥塞控制和流控制。

由于RTP可以运载在任何协议之上,所以RTP协议的应用可以不仅仅局限在多媒体传输领域,还可以应用于其它领域。虽然在特殊领域应用RTP'协议只需在原来的基础上根据领域的特定应用做进一步限定,但到目前为止,除了一些研究项目以外,RTP协议主要还是应用于音频/视频传输方面。

3 视频数据的传输过程

3.1 媒体数据的分包策略

视频数据在进行网络传输之前,应首先进行数据包大小的分割。这是因为RTP协议通常是基于UDP协议的,而UDP协议对数据包的大小有规定,超过部分可能会丢掉,对于视频数据来说,某些压缩的关键帧很大,很可能超过UDP协议所规定的最大值;另外,媒体数据的关键帧与非关键帧数据量相差很远,而路由器一般都采用支持小包优先的原则,有可能使数据量较小的非关键帧比它前面的数据量大的关键帧更早地到达接收方,而导致乱序。因此媒体数据在进行传输前,要首先进行分包。

对于媒体数据的分包一般基于两个条件:(1)数据包大小的确定。主要根据提供网络带宽、多媒体类型和所采用的传输协议来确定;(2)尽量包含完整的数据块信息。主要和压缩编码方式有关。

3.2 数据包的发送过程

媒体数据的发送过程是将压缩编码器产生的数据流(压缩编码器按照固定的频率产生数据包)送到媒体缓冲区,经过容错处理后,交给RTP层对媒体数据重新组包,加上RTP包头,再送给下层进行传输(如图1所示)。

图1 媒体流的发送过程

媒体数据的发送过程分以下几步:

(1)判断是否有用户需求;

(2)若有,则将压缩编码产生的数据包放入网络传输缓冲区,进行容错处理后,交给RTP层;

(3)RTP层对媒体数据重新组织,加上RTP报文头,生成RTP报文交给下层;

(4)按照系统按定的IP地址发送给相应的用户。

3.3 数据包的接收过程

由于系统采用的传输协议是UDP协议,数据包在传输过程中,可能出现乱序,因此必须在接收方采用一定的措施进行数据接收。一个可行的方法是在接收方建立一个环行缓冲区队列,用于存储接收到的数据信息。其工作过程如图2所示,(a)为初始状态,(b)为接收到第一个数据包,(c)为接收到两个数据包,(d)为读走一个数据包。

图2 缓冲区工作过程

缓冲区队列设置两个指针pEmpty和pData,pEmpty指示环行缓冲区队列中第一个空缓冲区的位置,pData指示环行缓冲区队列第一个数据的位置。在通信前,各队列中的缓区的标志都为“空”,pEmpty指向环行缓冲区队列的队首,pData为空。通信开始后,系统将接收到的数据包存入pEmpty指针所指示的缓冲区中,将该缓冲区标志设置为“非空”,同时,将pEmpty指针移到下一个空缓冲区位置,媒体播放模块每取出一个数据包,就把pData指针指示的缓冲区标志重新设“空”,并将pData指针移到下一个数据缓冲区位置。

(1)接收算法

设置缓冲优先队列Q存放已接收到但还未处理的帧,优先数为帧所带的序号,设Q的元素集合为R,|R|=nQ,Q的容限为NQ(nQ

图3 缓冲区工作过程

其中:(1)为了保证实时性;(2)为了保证传输的不重复性;(3)中选择丢弃优先数最小的帧,能使队列中每一元素的处理时间都提前,这是为了保证实时性。

(2)取视频数据的算法

从缓冲区取数据采取步骤:

①找出缓冲区优先数最小的帧;

②将接收RTP报文的情况告知QoS监控器;

③在RTP层经过解包,去掉RTP报文头;

④送给上层播放;

⑤在缓冲区Q中删除该帧。

4 结束语

本文研究了RTP/UDP在流媒体领域得到了广泛的应用,探讨了其在视频实时传输过程中对视频数据分包策略以及传输过程的应用。网络视频传输的实现无疑会极大地开拓多媒体通信的应用领域,使网络信息更直观、更生动。在信息产业飞速发展的今天,视频等多媒体网络实时传输技术具有广阔的应用前景。

参考文献:

[1]Anthony Jones, Jim Ohlund.网络编程技术[M].北京:机械工业出版社,2000.

[2]Sandawi Tarek N.等著.远程通信网络基础[M],黄岩等译.北京:电子工业出版社,1996.

[3][美]斯坦伯姆著,曾华深等译. 计算机网络(第二版)[M].成都:成都科技大学出版社,1989.

[4]胡晓峰,吴玲达,等编.多媒体系统原理与应用[M].北京:人民邮电出版社,1996.

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。