浅谈一种基于RTCP反馈的3G流媒体速率控制算法
发布时间:2015-07-03 11:25
摘 要:在3g流媒体业务中,缓存数据溢出严重地影响了多媒体画面质量和媒体播放的流畅性,降低了用户对流媒体业务感知的满意度。为了解决这个问题,根据3gpp pss提出的反馈机制,阐述了一种基于rtcp反馈信息的3g流媒体速率控制算法。通过计算机仿真证明,该算法不仅有效防止了缓存数据上溢,而且保证了发送效率,避免了缓存数据欠载,从而实现了高质量的流媒体服务。
关键词:rtcp反馈; 网络缓存上溢; 客户缓存下溢; 速率控制
rate control algorithm for 3g streaming media service based on rtcp feedback
rong wei, kang gui-hua, li hui
(institute of computer & information engineering, hohai university, changzhou 213022, china)
abstract: the buffer data under-run seriously affected the quality of multimedia images and media playback smooth, and reduced the user perceived streaming media business satisfaction in the 3g streaming media services. to solve this problem, the rtcp feedback-based 3g streaming media rate control algorithm according to 3gpp feedback mechanism is introduced. the simulation proves that the algorithm not only effectively prevented the buffer overflow, and ensured the efficiency of transmission to avoid buffer underflow, in order to achieve the high-quality streaming media services.
keywords: rtcp feedback; network buffer overflow; client buffer underflow; rate control
0 引 言
第三代移动通信无线传输技术,在户外环境中能够提供384 kb/s的传输带宽,在室内最高可达2 mb/s[1],因此3g系统能够承载高质量的移动流媒体业务。随着移动用户对影音点播业务的需求增加和运营商对3g网络的大规模推广,流式多媒体服务逐步发展成为最重要的移动增值业务[2]。但是无线链路的时变特性和移动终端的功能限制,使流媒体业务质量遭遇了极大的挑战。研究表明,缓存数据下溢通常会引起画面定格、用户播放中断和经常性的数据缓冲,而上溢则会抛弃接收到超出缓存容量限制的数据包,从而引起丢包率的增加,破坏媒体画面质量,严重影响到用户对业务感知质量的满意度[3]。
如果流媒体服务器能根据当前缓存数据的使用状况及时调整流媒体的发送速率就可以实现对缓存数据的存贮控制,从而避免缓存数据溢出。本文阐述了一种基于rtcp反馈信息的流媒体速率控制算法,它可以有效地实现上述目的,实现流媒体业务的无中断流畅播放,提高用户的感知质量。
1 rtcp反馈机制
3gpp pss规范提供了一个完整的基于移动网络的点对点流媒体结构框架[4],如图1所示。
图1 基于移动网络的点对点流媒体结构框架
服务器实现流媒体内容封包,并经由公共网internet和移动核心网组成的全ip网络发送给用户终端。在核心网中,网络缓存一般存在于sgsn或rnc中,其作用是应对无线链路的吞吐量变化。在媒体会话期间,rtp提供了端到端的实时传输功能,但不保证服务质量,而rtcp提供关于当前网络状况和数据接收质量的反馈。服务器根据这些信息可以实现针对网络状态变化的数据传输控制[5]。在这种反馈机制中,客户端产生rtcp rr(rtcp receiver report,rtcp接收方报告),服务器产生rtcp sr(rtcp sender report,rtcp发送方报告)。它们分别提供了丢包率、间隔抖动、最大接收包序号和最大发送包序号等信息[6]。3gpp pss规范中还定义了nadu(next application data unit,下一个应用数据单元)反馈包,用以描述终端能力,并提供客户端缓存状态的信息[7]。nadu中3个主要部分分别为:
播放延时(play-out delay,pd),它是下一个应用数据单元的预定播放时间和生成nadu包的时间差。
下一个包序号(next sequence number,nsn),它是缓存中下一个即将被解码的数据包序号。
可利用的缓存空间(free buffer space,fbs),它反映了当前缓存可用空间的大小。
基于rtcp的反馈过程,如图2所示。当服务器与客户端完成会话建立之后,服务器便启动流媒体传输过程,rtp协议负责实现媒体数据从服务器到客户端的传输。客户端将统计的丢包率、最大接收包序号(hrsn)、播放延迟、可用的缓存空间和即将送入解码器的包序号(nsn)分别放入rtcp sr和nadu中对应的参数域,构成rtcp混合包。rtcp混合包周期性地发送给服务器,用以估计网络状态以及客户端缓存空间的占用状态。服务器还可以利用发送包序列号的统计值与rtcp rr中的hrsn对sgsn或rnc上的缓存状态做出判断,调整数据包的发送速率,实现发送速率控制[8]。
关键词:rtcp反馈; 网络缓存上溢; 客户缓存下溢; 速率控制
rate control algorithm for 3g streaming media service based on rtcp feedback
rong wei, kang gui-hua, li hui
(institute of computer & information engineering, hohai university, changzhou 213022, china)
abstract: the buffer data under-run seriously affected the quality of multimedia images and media playback smooth, and reduced the user perceived streaming media business satisfaction in the 3g streaming media services. to solve this problem, the rtcp feedback-based 3g streaming media rate control algorithm according to 3gpp feedback mechanism is introduced. the simulation proves that the algorithm not only effectively prevented the buffer overflow, and ensured the efficiency of transmission to avoid buffer underflow, in order to achieve the high-quality streaming media services.
keywords: rtcp feedback; network buffer overflow; client buffer underflow; rate control
0 引 言
第三代移动通信无线传输技术,在户外环境中能够提供384 kb/s的传输带宽,在室内最高可达2 mb/s[1],因此3g系统能够承载高质量的移动流媒体业务。随着移动用户对影音点播业务的需求增加和运营商对3g网络的大规模推广,流式多媒体服务逐步发展成为最重要的移动增值业务[2]。但是无线链路的时变特性和移动终端的功能限制,使流媒体业务质量遭遇了极大的挑战。研究表明,缓存数据下溢通常会引起画面定格、用户播放中断和经常性的数据缓冲,而上溢则会抛弃接收到超出缓存容量限制的数据包,从而引起丢包率的增加,破坏媒体画面质量,严重影响到用户对业务感知质量的满意度[3]。
如果流媒体服务器能根据当前缓存数据的使用状况及时调整流媒体的发送速率就可以实现对缓存数据的存贮控制,从而避免缓存数据溢出。本文阐述了一种基于rtcp反馈信息的流媒体速率控制算法,它可以有效地实现上述目的,实现流媒体业务的无中断流畅播放,提高用户的感知质量。
1 rtcp反馈机制
3gpp pss规范提供了一个完整的基于移动网络的点对点流媒体结构框架[4],如图1所示。
图1 基于移动网络的点对点流媒体结构框架
服务器实现流媒体内容封包,并经由公共网internet和移动核心网组成的全ip网络发送给用户终端。在核心网中,网络缓存一般存在于sgsn或rnc中,其作用是应对无线链路的吞吐量变化。在媒体会话期间,rtp提供了端到端的实时传输功能,但不保证服务质量,而rtcp提供关于当前网络状况和数据接收质量的反馈。服务器根据这些信息可以实现针对网络状态变化的数据传输控制[5]。在这种反馈机制中,客户端产生rtcp rr(rtcp receiver report,rtcp接收方报告),服务器产生rtcp sr(rtcp sender report,rtcp发送方报告)。它们分别提供了丢包率、间隔抖动、最大接收包序号和最大发送包序号等信息[6]。3gpp pss规范中还定义了nadu(next application data unit,下一个应用数据单元)反馈包,用以描述终端能力,并提供客户端缓存状态的信息[7]。nadu中3个主要部分分别为:
播放延时(play-out delay,pd),它是下一个应用数据单元的预定播放时间和生成nadu包的时间差。
下一个包序号(next sequence number,nsn),它是缓存中下一个即将被解码的数据包序号。
可利用的缓存空间(free buffer space,fbs),它反映了当前缓存可用空间的大小。
基于rtcp的反馈过程,如图2所示。当服务器与客户端完成会话建立之后,服务器便启动流媒体传输过程,rtp协议负责实现媒体数据从服务器到客户端的传输。客户端将统计的丢包率、最大接收包序号(hrsn)、播放延迟、可用的缓存空间和即将送入解码器的包序号(nsn)分别放入rtcp sr和nadu中对应的参数域,构成rtcp混合包。rtcp混合包周期性地发送给服务器,用以估计网络状态以及客户端缓存空间的占用状态。服务器还可以利用发送包序列号的统计值与rtcp rr中的hrsn对sgsn或rnc上的缓存状态做出判断,调整数据包的发送速率,实现发送速率控制[8]。
上一篇:浅析有线电视系统的防雷问题
下一篇:通信网电源设备的管理与维护初探