动态码率分配方法、分组域流媒体服务器的制作方法

文档序号:7683048阅读:221来源:国知局
专利名称:动态码率分配方法、分组域流媒体服务器的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种动态码率分配(DBA, Dynamic Bandwidth Allocation)方法、分组域流媒体服务器。
背景技术
流媒体是一种把影像和声音信息进行压缩处理后,以媒体流的方式提供 给用户观赏的技术,在移动通信领域进行的流媒体业务被称为移动流媒体, 常见的进行移动流媒体的端对端组网结构如图1所示,包括位于分组域的 用户设备(UE, User Equipment) 101 、无线网络控制器(RNC, Radio Network Controller) 102、网关通用分组无线业务支持节点(GGSN, Gateway GPRS Support Node) 103;位于网际协议(IP, Internet Protocol)网的分组域流媒体 月艮务器(PSS, Packet-switched Streaming Server) 104、门户(Portal) 105。UE101受RNC102控制,通过RNC102分配无线资源,包括无线连接的 服务质量(QoS, Quality of Service),通过GGSN103接入IP网络,通过互联 网(Internet)连接到提供移动流媒体业务的服务器PSS104,及展示移动流媒 体业务的服务器Portal105。^L频点播(VOD, Video On Demand)和直4番电一见(Live TV)是两种较 常见的移动流媒体业务,PSS104把媒体流按规定的码率推送到客户端,即 UEIOI。在理想的情况下,UE的接收和处理能力与PSS发送流媒体的码率相 一致才能达到最佳的播放效果。而UE的接收能力是由UE的带宽决定,通常 情况下,由于UE的移动性,决定了 UE带宽会经常波动,因此UE在播放流 媒体业务时质量会时好时坏,为了解决此问题,提出了DBA技术,即根据客 户端所能支持的带宽情况分配不同的码率。现在较为通用的DBA技术是,利用丟包率来决定是否改变码率以及如何 改变码率。在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题说明书第2/15页采用丢包率作为调整码率的依据,在已经发生丟包的情况下才进行切换, 切换较为滞后,往往是出现播放质量比较差的状况并持续一段时间才被调整 过来。特别对于需要向下调整码率,即码率下切的情况,丢包率达到一定程 度时才把码率降低下去,说明此时UE侧的带宽已经低于码率并且有一段时间 产生丢包了,媒体服务器才察觉到把码率切下去,对于用户的感受就是,持 续 一段时间马赛克后画面才恢复正常,带给用户的体验很差。发明内容本发明实施例要解决的技术问题是提供一种动态码率分配方法、分组域 流媒体服务器,使移动流媒体在切换时的播放更加流畅。为解决上述技术问题,本发明实施例一方面,提供了一种动态码率分配方法,包才舌获取发送者报告包的往返时间; 判断所述往返时间是否满足预定条件; 在所述往返时间满足预定条件时,进行码率切换; 发送切换码率后的媒体数据。由以上技术方案可以看出,由于本发明实施例使用发送者报告包的往返 时间进行切换时机的判断,避免了使用丢包率进行判断,导在有数据丢失时, 才进行下切,导致的马赛克现象。另一方面,提供了一种动态码率分配方法,包括根据用户设备的带宽发生变化,判断需要调整码率时,在当前传输帧为 完整帧时,进行码率切换,发送切换码率后的媒体流。由以上技术方案可以看出,由于本发明实施例在切换时选择I帧进行切 换,避免了在B帧或P帧时切换导致的播放不流畅或马赛克等质量问题。另一方面,提供了一种分组域流媒体服务器,包括往返时间获取单元,用于获取发送者报告包的往返时间;第一往返时间判断单元,用于判断所述往返时间是否满足预定条件;第一切换单元,用于在所述往返时间满足预定条件时,进行码率切换;发送单元,用于发送切换码率后的媒体数据。另一方面,提供了一种无线网络控制器,包括带宽判断单元,判断所述无线网络控制器与用户设备之间带宽是否下降;緩冲单元,用于在判断结果为下降时,使用为每一个用户设备预设的緩 冲区緩存数据。由以上技术方案可以看出,由于本发明实施例使用发送者报告包的往返 时间进行切换时机的判断,避免了使用丢包率进行判断,导在有数据丢失时, 才进行下切,导致的马赛克现象。另一方面,提供了一种分组域流媒体服务器,包括带宽判断单元,用于根据用户设备的带宽发生变化,判断是否需要调整 码率;第二完整帧判断单元,用于判断当前传输帧是否为完整帧;第二切换单元,用于在需要调整码率时,且当前传输帧为完整帧时,进 行码率切换,发送切换码率后的媒体数据。由以上技术方案可以看出,由于本发明实施例在切换时选择I帧进行切 换,避免了在B帧或P帧时切换导致的播放不流畅或马赛克等质量问题。


图1为现有技术进行移动流媒体的端对端组网结构图;图2为本发明实施例提供的动态码率分配方法实施例一进行下切时数据 传输实施例示意图;图3为本发明实施例提供的动态码率分配方法实施例一进行下切时,UE 带宽变化曲线、PSS发包码率变化曲线、RNC緩冲数据变化曲线、UE緩冲数 据变化曲线示意图;图4为本发明实施例提供的分组域流^某体服务器实施例一结构图;图5为本发明实施例提供的分组域流媒体服务器实施例二结构图。
具体实施方式
本发明实施例提供了一种动态码率分配方法、分组域流媒体服务器,可 以有效地提高移动流媒体业务的播放质量。目前流媒体一般使用实时流协议(RTSP, Real Time Streaming Protocol) /实时传输协议(RTP, Real Time Transport Protocol) /RTP控制协议(RTCP, RTP Control Protocol)协议蔟来控制/传输流媒体数据。其中,RTSP被用于建 立和控制连续媒体的时间同步流。RTSP是文本协议并且类似超文本传输协议 (HTTP, Hypertext Transfer Protocol),其主要不同之处在于RTSP是标准的 流媒体协议,并通常利用独立传输协议,例如RTP来传输媒体数据。RTP用 于提供时间信息和实现音频/视频流同步。RTP不处理资源预定,并且不保证 实时服务的服务质量。RTCP的主要功能是为数据的传送情况提供反馈。发送 端在用户点播成功后在发送RTP数据包的同时,每隔一定时间发送一次RTCP 的发送者报告(SR, Sender Report)包进行发送端数据发送情况统计。接收 端定期将报告信息接收者报告(RR, Receiver Report)包发送给发送端。PSS在发送一个SR包时,会在其中加上发送时的时间戳,记录发送该 SR包的时间,UE收到该SR包时,并不会立刻返回RR包,通常要等待一段 时间进行相应处理,再发出RR包,UE在发送RR包时,会在RR包中记录 最后收到的SR包从PSS中发送出来的时间(LSR, Last SR),也就是该SR 包中记录的该SR包发送时间,还会在RR中记录UE收到该SR包后等待了 多长时间发出了该RR包,即最后接收SR包到发送时间的延迟(DLSR, delay since last SR )。从PSS发出 一个SR包到UE经历的时间,加上UE返回RR 包到PSS经历的时间,可以称为SR包的往返时间(RTT, Round-Trip Time ), RTT不包括UE收到SR包后等待的时间,因此假设PSS收到此RR包的当前 时间是A,贝'j RTT的计算公式为RTT = A - LSR - DLSR。本发明实施例中,PSS收到RR包后,读取其中的LSR、 DLSR,计算出 RTT,通过RTT来判断是否需要切换码率。其中,LSR和DLSR均可从标准RTCP的RR包的相应字段直接读取。本发明实施例提供的动态码率分配方法实施例 一可以被分为两个步骤 RTCP分析阶段(RTCP analysis )和带宽状态调整(bandwidth adjust )。在RTCP分析阶段对上报的RTCP包进行分析,计算RTT。在i时间段RTT的计算公式可以表述为RTTi = Ai - LSRi _ DLSRi; i表 示收到第i包RR包。在带宽状态调整阶段,根据RTT大小,选择合适的码率调整策略。根据网络的实际情况设置一个RTT范围,RTT大小在该范围内时,属于 网络的正常状态,可以不作调整,RTT大小在该范围外时,需要根据实际情 况对码率进行调整。假设RTT范围的最大值为RTTmax ,最小值为RTTmin, 在不同情况下调整码率的方法如下所述1 、当连续n次RTTi > RTTmax ,并且RTTi > RTTi-1,表示SR包出现严 重时延并越来越严重,此时,选择向低码率媒体流调整,即进行下切。其中 连续n次RTTi > RTTmax表示连续n个时间段RTT超出了上限,时延较严重 需要进行下切,RTTi > RTTi-1表示本时间段的RTT大于前一个时间段的RTT, 之所以需要增加这个条件,是由于当连续n次RTTi > RTTmax,向低码率媒体 流调整后,RTT并不能在短时间内回复到、于RTTmax,此时通常会有一'■!、段 时间,RTTi仍然大于等于RTTmax,假如不加入RTTi > RTTi-1的条件,系统 有可能继续进行不必要的切换。因此,在判断连续n次RTTi>RTTmax后, 还需判断RTTi是否大于RTTi-1,如果向低码率媒体流调整的下切操作已经 开始进行,则此时RTTi将小于RTTi-1,不要进行下切;如果结果为RTTi大 于RTTi-1,说明SR包出现严重时延,并越来越严重,需要向低码率媒体流调 整进行下切。n是为了防止由于网络的正常抖动而设定的值,可以根据实际情况进行配 置,可以是一次,也可以是多次;n取值大于"1"时,不会在出现RTTi > RTTmax 时就即刻向低码率媒体流调整,防止由于网络的正常抖动带来的影响。2、当连续m次RTTi《RTTmin,表示网络长时间处于畅通状态,此时, 选择向高码率媒体流调整,即进行上切。其中,m是为了防止由于网络的正 常抖动而设定的值,可以根据实际情况进行配置,可以是一次,也可以是多 次;m取值大于"1"时,不会在出现RTTi < RTTmin时就即刻向低码率媒体 流调整,防止由于网络的正常抖动带来的影响。3 、当RTTmin <RTTi < RTTmax时,表示网络处于正常状态,此时,维持 目前码率状态;在n的取值大于"1"时,RTTi > RTTmax的次数低于n次, 可以认为是网络的正常抖动,也可以维持目前码率状态;在m的取值大于"1" 时,RTTi <RTTmin的次数低于n次,同样可以认为是网络的正常抖动,也 可以维持目前码率状态。在实际使用中,n的取值需要考虑RNC与UE的緩冲区大小,尽量使出 现连续n次RTTi > RTTmax后,RNC与UE的緩冲区能够保存全部无法发出 的数据为宜,通常连续n次RTTi>RTTmax所耗费的时间可以为2个或3个 RTCP数据包发送/接收周期。进一步,由于移动流媒体的数据通常包括三种数据帧I帧、P帧、B帧。其中,I帧是整个画面完整编码的帧,又称为内部帧、完整帧、关键帧。 I帧可以独立解码显示。I帧也能为相关的P帧、B帧的解码提供参照。P帧是编码与前一帧差异的帧。只纪录了与前一帧的差异数据,不能独立 解码显示,必须在它参照的I帧预先收到时才能解码显示。B帧是编码与前一帧和后面的I帧的差异的帧。B帧同样不能独立解码显 示,必须在它参照的I帧预先收到时才能解码显示。假如切换时,正在传输B帧,则不会收到该B帧参照的后面的I帧,播 放该B帧时,就会出现播放不流畅或马赛克等质量问题。假如切换时,正在传输P帧,切换后继续传输的为使用切换后的码率进 行编码的P帧,该切换后的P帧由于与前一个I帧的码率不同,很有可能无 法参考前一个I帧解码出完整的图像,此时同样会出现播放不流畅或马赛克等 质量问题。现有技术只考虑了在丢包率达到一定程度时进行切换,在B帧或P帧时 切换的情况非常常见,因此时常会出现由于切换导致的播放不流畅或马赛克 等质量问题。因此,在本发明实施例提供的动态码率分配方法实施例一中给出了在I 帧进行切换的技术方案,在根据RTT大小判断需要切换后,判断当前要传输的帧为I帧时,进行切换,由于I帧是整个画面完整编码的帧,可以独立解码 显示,不要参考前后的数据,也就不会出现无法出完整的图像的问题,避免 了在B帧或P帧时切换导致的播放不流畅或马赛克等质量问题。上文提到了切换的两种形式上切和下切。码率上切,向高码率媒体流 调整表示UE带宽远大于当前码率而要求上调码率,此时只要做到I帧切换, 就可以避免出现播放不流畅或马赛克等质量问题。码率下切,向低码率媒体 流调整表示UE带宽不能满足当前的码率要求而导致下调码率,情况比较复 杂,为了尽可能避免可能会出现的播放不流畅或马赛克等质量问题,本发明 实施例提供的动态码率分配方法实施例一给出的码率下切方法如下所述在无线接入网络(RAN, Radio Access Network)中脂C针对每个UE设 置一个緩冲区,该緩冲大小以可存储RNC实际中可能出现的最大緩冲数据为 较佳的方案,在每一个UE与RNC建立连接关系时设立。RNC实际中可能出 现的最大緩冲数据与RTCP数据包的发送周期,及上文提到的n有关,即在 连续n次RTTi > RTTmax后,RNC可能緩冲到的最大数据。在网络畅通情况 下,传送数据包所消耗的时间认为是很短的, 一般情况下不会超出秒级,但 在网络不畅通情况下,数据包将被塞进緩冲区。为了防止网络抖动或其它稍 微不稳定的因素导致播放不流畅或播放质量下降问题,在UE上也要求设立一 个緩沖区,用来緩冲媒体数据,该緩冲区的大小同样需要可以存储UE实际中 可能出现的最大緩冲数据。同时,在PSS从高码率切换到低码率时,此时SR 包出现严重时延,并越来越严重,RNC的緩沖区已经堆积大量数据,而且UE 的带宽已经下降到无法短时间把上述堆积的数据传送到UE,如果UE没有緩 冲区或緩冲区比较小,肯定会导致UE因无法及时得到要播放的媒体数据而播 放不流畅甚至出现马赛克。现举例说明PSS从高码率切换到低码率,即进行下切时数据传输的状况, 进行下切时数据传输实施例示意图如图2所示图2中坐标纵轴表示缓沖区大小,其单位为Kbit, PSS刚从384Kbit码率 切换到128Kbit码率,RNC接收的媒体数据码率为128Kbit,接收速率为 128Kbit/S,接收到的媒体数据被緩存在RNC的緩冲区,此时UE緩冲区緩存的媒体数据码率仍然为384Kbit,向播放器传送媒体数据的速率仍然为 384Kbit/S,而UE带宽已经下降为150Kbit/S, RNC緩冲区与UE緩冲区之间 传输数据的速率为150Kbit/S。此时,RNC緩冲了 3840Kbit的数据,即緩冲了 10秒的码率为384Kbit 的数据,此时间是PSS用来检测RTT异常而下切码率的时间,即在连续n次 RTTi》RTTmax后緩存的数据。UE緩冲了 1536Kbit数据,即緩冲了 4秒的码 率为384Kbit的数据,由于此数据是384Kbit码率的数据,因此播放速度还是 384Kbit/S。而此时,UE侧带宽已经下降为150Kbit/S, PSS的码率下切为128Kbit/S。 4秒后,UE把最先緩冲的1536Kbit数据播放完毕时,又緩冲了 150 Kbit x 4 =600Kbit的数据,即RNC传输了 600Kbit数据到UE,但RNC同时又緩存 了 128 Kbit x 4 = 512Kbit的数据;如此类推,再过大约600/(384 - 150) = 1.65 秒,UE就能把UE緩冲区的数据全部播放完毕。此时,RNC緩冲区緩存的数 据码率仍然为384Kbit,由于UE緩冲区已经为空,UE接收到用150K码率传 输的384Kbit码率的数据只能立刻播放出去,因此有一段时间会出现384Kbit 码率的数据用150K码率传输的局面,虽然能保证不丢包,但播放肯定不流畅。 PSS把码率再向下调整可以减小出现此情况的时间,为了彻底解决此问题, 需要UE緩冲区与RNC緩冲区大小根据PSS能支持的码率等级以及RAN网 络所支持带宽等级情况配置到一个比例。现举例说明PSS从高码率切换到低码率,即进行下切时,UE带宽变化 曲线、PSS发包码率变化曲线、RNC緩冲数据变化曲线、UE緩沖数据变化曲 线示意图如图3所示曲线①为表示UE带宽变化的曲线,曲线②为表示PSS发包码率变化的 曲线,其所在坐标系,横轴为时间轴,单位为秒,纵轴为带宽/码率,单位为 Kbit/S; UEBWup表示UE在带宽下降前相对较高的带宽,UEBWup也可以被 称为UE的高带宽;PSSBWup表示PSS与UEBWup对应的码率,也即与UE 的高带宽相匹配的较高的码率,PSSBWup也可以;故称为高码率;UEBWlow 表示UE在带宽下降后相对较低的带宽,UEBWlow也可以被称为UE的低带宽;PSSBWlow表示PSS与UEBWlow对应的码率,也即与UE的低带宽相 匹配的较低的码率,PSSBWlow也可以被称为低码率。曲线③为表示RNC緩冲变化的曲线,其所在坐标系,横轴为时间轴,单 位为秒,纵轴为RNC緩存数据量;RNCBUFmax表示RNC最大的緩冲容量, 也即RNC緩冲区的最大容量;RNCRBUFmax表示RNC实际最大的緩冲数据, 也即实际上RNC緩冲区緩沖的最大数据量。曲线④⑤⑥为表示UE緩沖变化的曲线;UEBUFmax表示UE的最大緩 沖容量,也即UE緩沖区的最大容量,UERBUFmax表示UE实际最大的緩冲 数据,也即实际上UE緩冲区緩冲的最大数据量。时间点TO表示UE带宽从高带宽下降到低带宽的时刻,时间点Tl表示 PSS检测到UE的带宽变化主动把码率从高码率切换到低码率的时刻,时间点 T2'表示RNC把高码率数据传输完毕的时刻,时间点T2表示UE把高码率 数据播放完毕同时也把緩沖清空的时刻,时间点T3表示RNC的緩冲被清空 的时刻,此时表示端对端网络正式恢复到正常了 。如图3所示,从TO时刻到T3时刻,即从UE发生带宽变化到PSS及时 调整码率并稳定下来的期间,由于RNCRBUFmax<RNCBUFmax以及 UERBUFmax < UEBUFmax,因此,不会丟失数据包,没能及时发送或者播出 的数据都被存储在緩存区,在数据完整的情况下,只要保证在I帧进行切换, 就可以避免出现马赛克等质量问题。在TO ~ Tl时间段PSS在此时间段内检测到UE带宽发生变化主动调整 码率;在T1 T2'时间段RNC以PSSBWlow的速度接收低码率数据,以 UEBWlow的速度传出高码率数据,因UEBWlow > PSSBWlow, RNC的緩冲 数据逐渐减少,直到T2'时刻才把高码率数率输出完毕;在Tl ~ T2时间段UE以PSSBWup的速度播放高码率数据,以UEBWlow 的速度接收高码率数据,因PSSBWup > UEBWlow, UE的緩冲数据逐渐减少, 直到T2时刻,UE緩沖区减为0。当T2 > T2'时,表示RNC在UE緩冲还没清空前已经把高码率数据传输完毕了 ,在T2'时间点后,UE以UEBWlow的速度接收新的低码率数据,在 再以PSSBWup的速度播放完》爰存的码率为PSSBWup的旧^t据后,以 PSSBWlow的速度播放新的低码率数据,因PSSBWlow < UEBWlow,在T2' 后UE缓沖区緩存的数据就逐渐增加,直到T3时间点以后,RNC把緩冲的数 据清空了 , RNC进多少数据就出多少数据,此时网络通畅了 , UE緩冲稳定了 。 UE在T2'时间点后的UE緩冲变化的曲线走势如图中曲线⑤所示。上述过程 中,对于UE播放器来说,它的数据流一直都是流畅的,因此播放不存在质量 问题。当T2 = T2'时,表示RNC把高码率数据传输完毕的同时,UE刚好把緩冲 清空了,此后UE以UEBWlow的速度接收新的低码率数据,以PSSBWlow 的速度播放新的低码率数据,UE緩冲变化的曲线走势如图中曲线⑥所示。上 述过程中,对于UE播放器来说,它的数据流也是一直流畅的,因此播放不存 在质量问题。当T2〈T2'时,表示RNC在没有把高码率数据传输完毕之前,UE就4巴緩 冲清空了,因此在T2 T2'期间,高码率数据被低带宽传输到UE,并且UE 的緩冲区为空,只能以低码率播放收到的高码率数据,此情况下,播放肯定 不流畅,用户的体验就是播放有停顿。记PSS检测到UE带宽传输异常所需要的时间(DT, Detect Time )为DT, DT使用公式可以表述为DT = T1 TO,从图3可看出DT的大小将影响到 RNCRBUFmax, DT越大,RNCRBUFmax越大,假设RTCP的RR包发包周 期为P,连续n次RTTi>RTTmax时,PSS检测到UE带宽传输异常需要进行 下切,DT、 n、 P的关系可以表述为DT = n x P ( 1 )在TO到Tl期间,脂C緩冲以PSSBWup速度接收高码率数据,以 UEBWlow速度输出数据到UE ,两者之差乘以时间间隔DT即为 RNCRBUFmax,其关系可以表述为RNCRBUFmax = DT x (PSSBWup - UEBWlow) (2)T2前的数据都是码率为的PSSBWup数据,因此UE的播放器播放的速度也是PSSBWup,但此时UE的传输速度已经下降为UEBWlow,因此填充UE緩 冲区的速度为UEBWlow,所以当前UE实际缓冲除以上述2个速度的差值即 UE清空緩冲所需要的时间,记UE清空缓沖所需要的时间为CTuE, CTue可以 表述为CTUE = T2 - TO = UERBUFmax/ ( PSSBWup - UEBWlow ) ( 3 )同理记RNC清空码率为PSSBWup数据所需的时间为CUTRNc, CUTrnc可 以表述为CUT匿=T2' - Tl = RNCRBUFmax / ( UEBWlow - PSSBWlow )( 4 )根据上文分析可知,T2》T2'时播放才能保证不存在质量问题,即CTue》 CUTrnc,根据式(3)、式(4),可得UERBUFmax顺CRBUF應x (PSSBWup -UEBWlow )/ (UEBWlow -PSSBWlow)(5)由于在实际应用中,各等级的码率,如PSSBWup、 PSSBWlow等,是相 对固定的,而UE的接收带宽,如UEBWup 、 UEBWlow是变化的不可控的, 因此,本发明实施例提供的动态码率分配方法实施例一进一步给出了如下解 决方案控制UERBUFmax和RNCRBUFmax的大小,使其满足式(5 )的关系, 通常使UERBUFmax越大或者RNCRBUFmax越小越好。根据式(2 ), RNCRBUFmax大小与PSS检测到UE带宽变化所需的时间 DT有关,PSS是根据接收到RTCP的RR包来检测的,因此DT跟发送RTCP 数据包的周期P和n有关,可以通过减小n的取值,使DT变小,以达到使 RNCRBUFmax减小的目的。在本发明实施例提供的动态码率分配方法实施例一中,根据SR包的往返 时间RTT的大小来判断切换的时机,及如何切换,在需要进行下切时,不会 等待出现丟包的现象时再进行切换,避免了由于丢包带来的马赛克、停顿等 质量问题。进一步,在切换时选择I帧进行切换,避免了在B帧或P帧时切换导致 的播放不流畅或马赛克等质量问题。进一步,为了避免由于UE緩存区在RNC发送完高码率数据之前被清空, 以低码率播放收到的高码率数据,导致的播放不流畅,给出了通过控制RNC 最大的緩冲数据、UE实际最大的緩冲数据,来避免UE緩存区在RNC发送 完高码率数据之前被清空的方法。由于在I帧进行切换即可避免在B帧或P帧时切换导致的播放不流畅或 马赛克等质量问题,因此本发明实施例提供的动态码率分配方法实施例二, 给出了可以在判断UE带宽变化,需要切换时,选择I帧进行切换的方法首先根据用户设备的带宽发生变化,判断是否需要调整码率;判断需要调整码率时,判断当前要传输的帧是否为I帧,在当前传输帧为 完整帧时,进行码率切换。其中,根据用户设备的带宽发生变化,判断需要 调整码率,可能是根据往返时间判断带宽变化,即获取发送者报告包的往返 时间;在所述往返时间满足预定条件时,判断需要调整码率;在这种情况下, 详细的操作方法和上文对本发明实施例提供的动态码率分配方法实施例一的 描述基本一致,在此不再重复。也可能是根据丢包率判断带宽变化,即获取丢包率;在所述丢包率满足 预定条件时,判断需要调整码率。通过丢包率判断带宽变化,进行码率调整的详细方法如下所述流媒体服务器对上报的RTCP包进行分析,计算丢包率。i时间段丢包率算法Ri=f—lost/(Seq_numberi-Seq_numberi-l);其中,f—lost 是相邻RTCP RR字段之间的RTP丢包总数;Seq_numberi是第i个RTCP包 上报收到的RTP包序号;Seq_numberi-1是第i-1个RTCP包上报收到的RTP 包序号;根据丢包程度当连续n次Ri^Rmax, n为预定值,属于严重丢包,选择向低码流调整;当0〈Ri〈-Rmax,或者偶尔Ri-0 ,或者偶尔Ri>=Rmax ,属于轻度丟 包,维持目前码率状态;当连续m次Ri-0 , m为预定值,属于长时无丢包,选择向高码流调整。在本发明实施例提供的动态码率分配方法实施例二中,在切换时选择I 帧进行切换,避免了在B帧或P帧时切换导致的播放不流畅或马赛克等质量 问题。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算才几可读存储介质中,该程序在执行时,包括如下步骤 一种动态码率分配方法,包括 获取发送者报告包的往返时间; 判断所述往返时间是否满足预定条件; 在所述往返时间满足预定条件时,进行码率切换; 发送切换码率后的媒体数据。 一种动态码率分配方法,包括根据用户设备的带宽发生变化,判断需要调整码率时,在当前传输帧为 完整帧时,进行码率切换,发送切换码率后的媒体数。上述提到的存储介质可以是只读存储器,磁盘或光盘等。本发明实施例提供的分组域流媒体服务器实施例一结构如图4所示,包括往返时间获取单元410,用于获取发送者报告包的往返时间; 第一往返时间判断单元420,用于判断所述往返时间是否满足预定条件; 第一切换单元430,用于在所述往返时间满足预定条件时,进行码率切换; 发送单元440,用于发送切换码率后的媒体数据。第一完整帧判断单元450,用于判断当前传输帧是否为完整帧,在当前传 输帧为完整帧时,再控制所述第一切换单元440进行码率切换。其中,往返时间获取单元410包括发送时间获取单元411,用于获取接收者报告包中携带的所述发送者报告 包的发送时间;延迟获取单元412,用于获取接收者报告包中携带的最后接收发送者报告包到发送时间的延迟;处理单元413,用于根据接收者报告包中携带的所述发送者报告包的发送 时间,及最后接收发送者报告包到发送时间的延迟,获取所述发送者报告包 的往返时间。第一往返时间判断单元420包括上切判断单元421,用于判断所述往返时间连续小于等于预设的往返时间 最小值的次数是否达到预定次数;下切判断单元422,用于判断所述往返时间连续大于等于预设的往返时间 最大值的次数是否达到预定次数,本时间段的往返时间是否大于前一个时间 段的往返时间;第一切换单元430包括上切单元431,用于在所述往返时间连续小于等于预设的往返时间最小值 的次数达到预定次数时,向高码率媒体流调整。下切单元432,用于所述往返时间连续大于等于预设的往返时间最大值的 次数达到预定次数,且本时间段的往返时间大于前一个时间段的往返时间时, 向低码率媒体流调整。本发明实施例提供的无线网络控制器实施例包括带宽判断单元,判断所述无线网络控制器与用户设备之间带宽是否下降;緩冲单元,在判断结果为下降时,使用为每一个用户设备预设的緩冲区 缓存数据。本发明实施例提供的分组域流媒体服务器实施例二结构如图5所示,包括带宽判断单元510,用于根据用户设备的带宽发生变化,判断是否需要调 整码率;第二完整帧判断单元520,用于判断当前传输帧是否为完整帧;第二切换单元530,用于在需要调整码率时,且当前传输帧为完整帧时, 进行码率切换,发送切换码率后的媒体数据。 '其中,带宽判断单元510包括第二往返时间判断单元511,用于获取发送者报告包的往返时间;在所述 往返时间满足预定条件时,判断需要调整码率;或,丢包率判断单元512,用于获取丟包率;在所述丢包率满足预定条件 时,判断需要调整码率。本发明实施例提供的分组域流媒体服务器实施例一、分组域流媒体服务 器实施例二、及无线网络控制器实施例的具体使用方式,可参考上文对本发 明实施例提供的动态码率分配方法实施例一、动态码率分配方法实施例二的 描述,在此不再重复。以上对本发明所提供的一种动态码率分配方法、分组域流媒体服务器进对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范 围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种动态码率分配方法,其特征在于,包括获取发送者报告包的往返时间;判断所述往返时间是否满足预定条件;在所述往返时间满足预定条件时,进行码率切换;发送切换码率后的媒体数据。
2、 如权利要求1所述的动态码率分配方法,其特征在于,所述获取发送 者报告包的往返时间包括根据接收者报告包中携带的所述发送者报告包的发送时间,及最后接收 发送者报告包到发送时间的延迟,获取所述发送者报告包的往返时间。
3、 如权利要求1所述的动态码率分配方法,其特征在于,还包括判断所述往返时间满足预定条件后,判断当前传输帧为完整帧时,进行 码率切换。
4、 如权利要求1、 2或3所述的动态码率分配方法,其特征在于,所述 判断所述往返时间满足预定条件时,进行码率切换包括判断所述往返时间连续小于等于预设的往返时间最小值的次数达到预定 次数时,向高码率媒体流调整。
5、 如权利要求1、 2或3所述的动态码率分配方法,其特征在于,所述 判断所述往返时间满足预定条件时,进行码率切换包括判断所述往返时间连续大于等于预设的往返时间最大值的次数达到预定 次数,且本时间段的往返时间大于前一个时间段的往返时间时,向低码率媒 体流调整。
6、 如权利要求5所述的动态码率分配方法,其特征在于,所述方法还包括在所述无线网络控制器与用户设备之间带宽下降后,所述无线网络控制 器使用为每一个用户设备预设的緩冲区緩存数据。
7、 如权利要求6所述的动态码率分配方法,其特征在于,所述方法还包括通过控制所述预定次数,控制无线网络控制器緩存数据实际上緩冲的最 大数据量,使无线网络控制器緩存数据实际上緩冲的最大数据量与用户设备緩存数据实际上緩冲的最大数据量关系满足UERBUFmax > RNCRBUFmax x (PSSBWup — UEBWbw ) / (UEBWlow — PSSBWlow )其中,UERBUFmax为用户设备緩存数据实际上緩沖的最大数据量; RNCRBUFmax为无线网络控制器緩存数据实际上緩沖的最大数据量; PSSBWup为高码率;PSSBWlow为低码率;UEBWlow为所述用户设备的低 带宽。
8、 一种动态码率分配方法,其特征在于,包括根据用户设备的带宽发生变化,判断需要调整码率时,在当前传输帧为 完整帧时,进行码率切换,发送切换码率后的媒体流。
9、 如权利要求8所述的动态码率分配方法,其特征在于,所述根据用户 设备的带宽发生变化,判断需要调整码率包括获取发送者报告包的往返时间;在所述往返时间满足预定条件时,判断 需要调整码率;或,获取丢包率;在所述丢包率满足预定条件时,判断需要调整码率。
10、 一种分组域流媒体服务器,其特征在于,包括 往返时间获取单元,用于获取发送者报告包的往返时间;第 一往返时间判断单元,用于判断所述往返时间是否满足预定条件; 第一切换单元,用于在所述往返时间满足预定条件时,进行码率切换; 发送单元,用于发送切换码率后的媒体数据。
11、 如权利要求IO所述的分组域流媒体服务器,其特征在于,所述往返 时间获取单元包括发送时间获取单元,用于获取接收者报告包中携带的所述发送者"R告包的发送时间;延迟获取单元,用于获取接收者报告包中携带的最后接收发送者报告包到发送时间的延迟;间,及最后接收发送者报告包到发送时间的延迟,获取所述发送者报告包的 往返时间。
12、 如权利要求IO所述的分组域流媒体服务器,其特征在于,还包括第一完整帧判断单元,用于判断当前传输帧是否为完整帧,在当前传输 帧为完整帧时,再控制所述第一切换单元进行码率切换。
13、 如权利要求IO、 11或12所述的分组域流媒体服务器,其特征在于, 所述第 一往返时间判断单元包括上切判断单元,用于判断所述往返时间连续小于等于预设的往返时间最 小值的次数是否达到预定次数;所述第一切换单元包括上切单元,用于在所述往返时间连续小于等于预设的往返时间最小值的 次数达到预定次数时,向高码率媒体流调整。
14、 如权利要求IO、 11或12所述的分组域流媒体服务器,其特征在于, 所述第 一往返时间判断单元包括下切判断单元,用于判断所述往返时间连续大于等于预设的往返时间最 大值的次数是否达到预定次数,本时间段的往返时间是否大于前一个时间段 的往返时间;所述第一切换单元包括下切单元,用于所述往返时间连续大于等于预设的往返时间最大值的次 数达到预定次数,且本时间段的往返时间大于前一个时间段的往返时间时, 向低码率媒体流调整。
15、 一种无线网络控制器,其特征在于,包括带宽判断单元,判断所述无线网络控制器与用户设备之间带宽是否下降;緩冲单元,用于在判断结果为下降时,使用为每一个用户设备预设的緩 冲区緩存数据。
16、 一种分组域流媒体服务器,其特征在于,包括带宽判断单元,用于根据用户设备的带宽发生变化,判断是否需要调整 码率;第二完整帧判断单元,用于判断当前传输帧是否为完整帧;第二切换单元,用于在需要调整码率时,且当前传输帧为完整帧时,进 行码率切换,发送切换码率后的媒体数据。
17、 如权利要求16所述的分组域流媒体服务器,其特征在于,所述带宽 判断单元包括第二往返时间判断单元,用于获取发送者报告包的往返时间;在所述往 返时间满足预定条件时,判断需要调整码率;或,丢包率判断单元,用于获取丟包率;在所述丟包率满足预定条件时, 判断需要调整码率。
全文摘要
本发明实施例公开了一种动态码率分配方法,包括获取发送者报告包的往返时间;判断所述往返时间是否满足预定条件;在所述往返时间满足预定条件时,进行码率切换;发送切换码率后的媒体数据。本发明实施例还公开了一种动态码率分配方法,包括根据用户设备的带宽发生变化,判断需要调整码率时,在当前传输帧为完整帧时,进行码率切换。本发明实施例还公开了相应的分组域流媒体服务器、无线网络控制器。应用本发明可以使移动流媒体在切换时的播放更加流畅。
文档编号H04N7/173GK101242359SQ20081000529
公开日2008年8月13日 申请日期2008年2月27日 优先权日2008年2月27日
发明者刚 仇, 罗泽文 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1