一种流媒体带宽适配的方法

文档序号:7629794阅读:256来源:国知局
专利名称:一种流媒体带宽适配的方法
技术领域
本发明涉及一种计算机网络应用技术领域,特别涉及一种网络带宽适配的方法。
背景技术
流媒体是指视频、声音等数据以实时传输协议承载,并以连续的流的形式从源端向目的端传输,在目的端接收到一定缓存数据后就可以播放出来的多媒体应用。移动流媒体技术有三大特点1.能够实时播放音视频和多媒体内容。这样可以大大缩短启动延时,避免了用户必须等待整个文件全部从服务器源上下载完成后才能观看的缺点。
2.播放的流媒体文件不需要在客户端保存,减少了对客户端存储空间的要求,也减少了缓存容量的需求。
3.由于流媒体文件不在客户端保存,从而从一定程度上解决了媒体文件的版权保护问题。
因为媒体传送到播放终端后即可进行播放,所以流媒体业务形象的被称为“边下载边播放”的业务。实际上流方式和下载方式是不同的,下载方式需要将媒体完全下载到播放终端本地,才能进行播放,需要用户等待较长时间,相比而言,流方式给用户的感受更及时,用户不需要长时间等待。
在流服务器将媒体内容以流方式发送到移动设备终端过程中,理想的情况是传输带宽保持恒定,传输的媒体内容编码带宽比传输带宽略小。这样播放终端将能很好的播放流媒体内容。但实际情况则并非如此。网络环境经常会发生变化,当网络传输带宽低于媒体编码带宽时,拥塞、丢包和传输延迟将会发生,播放终端将会出现中断播放或者马赛克现象,影响用户的媒体播放感受。
在无线网络下,由于移动设备终端的移动,无线传输信号的衰减以及无线带宽随时被语音或者其他优先级更高的业务占用,使得移动设备终端使用的无线链路带宽波动大,传输误码率高。为移动流媒体业务的开展增加了难度,如何能充分利用空中带宽,为用户提供优质流畅的流媒体感受,是本发明方法要解决的问题。

发明内容
本发明所要解决的技术问题在于提供了一种应用于移动设备终端与流服务器之间的流媒体带宽适配的方法。使用本发明方法,可以使流服务器根据移动设备终端用户和网络系统的实际使用状况,提供带宽适配的功能。当用户在播放流媒体内容时,流媒体业务平台能够探测用户当前的实际带宽和终端解码情况,然后把以接近实际带宽速率压缩的内容发送给用户,保障用户能够在不同的带宽情况下都能看到无中断的播放。
为解决上述技术问题,本发明提供了一种应用于移动设备终端与流服务器之间的流媒体带宽适配的方法,其步骤为(1)移动设备终端通过无线网络与有线网络上的流服务器进行数据通讯,获得当前的网络带宽状况,并通知流服务器;(2)流服务器依据当前网络带宽状况,设定媒体文件发送带宽,使用正常速度发送媒体文件;(3)移动设备终端在接收媒体信息的同时,定期向流服务器上报移动设备终端的接收状况;(4)流服务器依据网络带宽状况和媒体接收状况,设定合适的发送带宽和发送速度发送媒体文件。
所述方法中网络带宽状况可以包括无线网络和有线网络的可确保带宽,最大带宽以及最大网络延时。
所述方法中的移动设备终端的接收状况可以包括移动通讯设备终端的接收缓冲区状况、媒体播放延时以及解码速度。
所述方法中的移动设备终端的接收缓冲区状况可以包括移动设备终端的解码前缓冲区的平均空闲比例、解码后缓冲区的平均空闲比例和空闲缓冲区减少速度。
所述方法中的正常发送速度可以是指流服务器最初发送媒体文件时,依据当时网络带宽确定的媒体文件发送速度。
所述方法中,流服务器依据网络带宽状况,设定媒体文件发送带宽的步骤可以是将当前带宽与前两次带宽的平均值做比较,如果前两次带宽的平均值与当前带宽之差在设定误差范围内,则不需要进行带宽改变;如果超过设定的误差范围,则需要进行带宽改变。
所述方法中,流服务器依据媒体接收状况,设定媒体文件的发送速度的步骤可以是如果移动设备终端上报缓冲区平均空闲比例大于一个设定值,而且传输带宽高于媒体带宽,流服务器在保证发送带宽小于传输带宽的前提下缩短前后两个媒体包之间的发送间隔。
所述方法中,流服务器依据媒体接收状况,设定媒体文件发送带宽的步骤可以是如果移动设备终端上报移动设备终端空闲缓冲区减小速度达到或超过数据发送速度的一个设定比例,则流服务器调整媒体带宽,采用较低带宽的媒体文件向移动设备终端发送。
使用本发明方法,流服务器可以根据网络状况和媒体接收状况自动调整媒体文件发送速度和编码带宽,保证了媒体文件在移动设备终端的播放效果。


图1为根据本发明实施例一种应用于移动设备终端与流服务器之间的流媒体带宽适配的方法的细节流程图;图2为根据本发明实施例一种应用于移动设备终端与流服务器之间的流媒体带宽适配的方法的框架流程图。
具体实施例方式
本发明方法的基本原理是移动设备终端通过内置的无线模块与无线网络建立数据链路连接后,通过无线网络上的无线网关设备与有线网络上的流媒体系统进行数据通讯。移动设备选中某一编码带宽的媒体内容后进行播放。播放过程中移动设备终端可从内置无线模块上获得当时的无线带宽。并通知流服务系统,流服务器依据当时带宽,选择快速发送媒体,或者慢速发送媒体。移动设备在接收媒体信息的同时,定时向流服务器上报接收缓冲区状况以及解码状态。流服务器在进行快速和慢速发送过程中,依据这些信息,调整发送速度,保证媒体在移动设备终端以最好的效果进行播放。这里的快速发送是指增大发送的媒体编码带宽,或者加大发送数据包的速度。慢速发送是指降低发送的媒体编码带宽。正常的发送速度是指依据媒体带宽确定的媒体发送速度。
依据上述原理,本发明方法的处理步骤为1、移动设备终端的带宽检测模块通过无线模块获得当前的带宽状况,带宽状况包括可确保的带宽,最大的带宽,最大的时延。这些信息将在RTSP请求消息的3GPP-LINK-CHAR中携带给流服务器。流服务器的流协议处理模块接收这些信息。
2、流服务器告诉移动设备终端服务器具备带宽适配功能以及移动设备所选媒体内容的多种码率信息。在移动设备与流服务器建立流协议会话时,流服务器在discribe的响应消息中携带上述信息。
3、移动设备终端将自己的缓冲区大小及期望的缓冲时间传送给流服务器。可采用SETUP,SET_PARAMETER消息的3GPP-ADAPTATION字段进行发送。流服务器在响应消息中返回同样的3GPP-ADAPTATION字段信息表示确认。
4、在进行媒体流传送过程中,移动设备终端定时给流服务器返回移动设备终端的缓冲区空闲大小,播放延时,待解码的媒体包对应的下一个RTP包的序列号,带解码的媒体包在RTP包中的序号信息。这些信息在RTCP包中作为应用包进行传递。流服务器的流协议处理模块接收这些信息。
5、移动设备终端接收媒体流并播放时采用缓冲区机制,缓冲区分成解码前缓冲区,解码后缓冲区,同时有两个定时器,一个解码定时器,一个播放定时器。移动设备终端缓冲区接收到媒体流信息后放到解码前缓冲区,当解码定时器到,进行解码,并将内容放置解码后缓冲区,在播放定时器到后,从解码后缓冲区中取出内容,在播放模块中进行播放。
6、流服务器上的流协议处理模块收到信息后,传送到带宽分析模块,带宽分析模块依据无线带宽信息,移动设备终端的解码速度,空闲缓冲区大小确定传送的媒体带宽以及发送速度。如果需要调整媒体带宽,则由带宽选择模块进行同一媒体的相同内容的不同带宽切换。媒体发送模块进行发送。
本发明实施例提供了一种应用于移动设备终端与流服务器之间的流媒体带宽适配的方法。
如图1所示,本发明一实施例为一种应用于移动设备终端与流服务器之间的流媒体带宽适配的方法的细节流程图,其具体流程步骤为1、移动设备终端的带宽检测模块通过无线模块获得当前的带宽状况,带宽状况包括可确保的带宽,最大的带宽,最大的时延。这些信息将在RTSP请求消息的3GPP-LINK-CHAR中携带给流服务器。流服务器的流协议处理模块接收这些信息。
2、移动设备终端的带宽检测模块在需要的时候向缓冲区模块获取缓冲区空闲大小,播放延时,待解码的媒体包对应的下一个RTP包的序列号,待解码的媒体包在RTP包中的序号信息。
3、带宽检测模块将带宽相关信息发送到流协议模块。
4、流协议模块在RTSP协议的SETUP、PLAY、OPTION,SET_PARAMETER方法的3GPP-LINK-CHAR字段向流服务器报告当前带宽情况。对于移动设备终端实时的缓冲区信息(步骤2得到的内容),流协议模块采用RTCP协议向流媒体服务器传送。移动设备终端还采用SETUP,SET_PARAMETER消息的3GPP-ADAPTATION字段将自己的缓冲区大小及期望的缓冲时间传送给流服务器。流服务器在响应消息中返回同样的3GPP-ADAPTATION字段信息表示确认。
5、流媒体服务器的流协议模块将收到的带宽相关信息发送到带宽分析模块,6、带宽分析模块依据一定的规则,决定媒体带宽值,发送给带宽选择模块。
7、依据缓冲区状态,如果需要调整发送速度,带宽分析模块将发送速度信息发送到媒体发送模块。
8、带宽选择模块向文件解析模块请求媒体内容,可以是同一媒体内容的带宽切换,也可是同一媒体内容的同样带宽内容。
9、文件解析模块向带宽分析模块返回媒体内容。
10、带宽分析模块将返回的媒体内容转发给媒体发送模块。
11、媒体发送模块依据发送速度计算发送时间,发送时间到,将媒体媒体内容发送到流协议模块。
12、流协议模块将媒体内容发送到移动设备终端的流协议模块。
13、流协议模块将媒体信息发送缓冲区中。
14、移动设备终端的缓冲区分成解码前缓冲区,解码后缓冲区,同时有两个定时器,一个解码定时器,一个播放定时器。移动设备终端缓冲区接收到媒体流信息后放到解码前缓冲区,当解码定时器到,进行解码,并将内容放置解码后缓冲区,在播放定时器到后,从解码后缓冲区中取出内容,在播放模块中进行播放。媒体信息送到媒体播放模块,进行媒体播放。
如图2所示,本发明另一实施例为一种应用于移动设备终端与流服务器之间的流媒体带宽适配的方法的框架流程图。
本实施例以流媒体协议会话开始为例,在建立流媒体会话,进行媒体流传送的过程中,出现传输带宽变化以及移动设备终端缓冲区变化等,流媒体服务器依据移动设备终端上报的信息,选择合适的媒体内容发送到移动设备终端完成带宽适配。具体流程及步骤如下(步骤301)移动设备终端向流媒体服务器发送DISCRIBE消息,流媒体服务器在SDP文件中返回移动设备终端所选媒体的各种带宽信息。SDP文件格式如3GPP PSS R6 5.3.3节规定。如果流媒体服务器返回的SDP文件不包含3GPP PSS R6 5.3.3节规定的内容,表明不支持动态带宽适配,则不需要后续步骤。
(步骤302)移动设备终端在后续的SETUP消息中,携带3GPP-LINK-CHAR和3GPP-ADAPTATION字段,其中3GPP-LINK-CHAR携带的当前带宽信息是从移动设备终端的无线模块获得,包括最大带宽,可确保带宽,最大延迟。3GPP-ADAPTATION字段携带信息包括现有的缓冲区大小以及期望的缓冲时间。这两个字段的格式符合3GPP PSS R6的5.3.2.1和5.3.2.2标准。
(步骤303)流媒体服务器的带宽分析模块选择移动设备终端提交的可确保带宽为待选择的媒体带宽,带宽选择模块通过文件解析模块从媒体内容中选择合适带宽的媒体内容的信息,由流协议模块在SETUP响应消息中返回给移动设备终端,可选择与此带宽最接近的媒体内容。也就是媒体带宽与可确保带宽之差的绝对值最小的媒体内容。
(步骤304)移动设备终端接收到SETUP响应消息,发送PLAY消息,开始进行媒体播放。在媒体播放过程中,移动设备终端的带宽检测模块定时从无线模块获取当前带宽。
同时,移动设备终端的带宽检测模块在需要发送RTCP包时,向缓冲区模块发送消息获取缓冲区状况以及解码状态,采用RTCP包将这些信息发送到流媒体服务器。并在RTSP消息中定时向流媒体服务器上报带宽信息,移动设备终端的带宽检测模块将带宽信息发送到流媒体服务器。流协议模块采用SET_PARAMETER方法的3GPP-LINK-CHAR字段携带当前带宽信息。
(步骤305)流媒体服务器的流协议模块将3GPP-LINK-CHAR字段的信息发送到带宽分析模块,带宽分析模块取得当前带宽与前两次带宽和的平均值,如果当前带宽的平均值与媒体带宽在设定误差范围内,则不需要进行带宽改变,如果超过设定的误差范围,则需要进行带宽改变。当前值以平均带宽值为准。本实例中仅选择平均值方式,也可采用其他算法。
带宽分析模块将期望的带宽值发送给带宽选择模块,并告知当前播放的时间标记,时间标记采用NPT(正常播放时间)格式。带宽选择模块依据媒体带宽信息以及当前播放时间,向文件解析模块发送消息,获取相应的媒体内容,文件解析模块向带宽选择模块返回媒体内容指针,带宽选择模块将媒体内容指针传送给媒体发送模块,媒体发送模块按照设定的发送速度将媒体内容指针转发给流协议模块,流协议模块将媒体内容发送给移动设备终端。
正常情况下,媒体发送模块依据前后两个媒体包的npt时间间隔为为准,收到要发送的媒体数据包后,设置定时器,定时器长度保证前后发送的两个数据包之间的发送时间之差与两个媒体包的npt时间差相等。
当移动设备终端上报缓冲区空闲空间较大,而且传输带宽高于媒体带宽的情况下,可缩短前后两个媒体包之间的发送间隔,但是保证发送带宽小于传输带宽。可简单的取传输带宽与数据包的大小整除的商值,这样媒体包之间的发送间隔即为商值倒数个秒。按照此时间间隔发送媒体包。
当移动设备终端上报空闲缓冲区大小太小,本实例中以空闲比例占20%为太小,流媒体服务器恢复到正常情况的发送。如果移动设备上报的信息中包含解码延迟增大,并且空闲缓冲区减少速度过快,本实例中以增长速度达到数据发送速度的50%为准。表示是移动设备处理能力太低的原因,则需要调整媒体带宽。
采用较低带宽的媒体内容继续向移动设备终端发送,如果依然发现移动设备终端空闲缓冲区减小速度过快,且解码延迟依然在增大,则进一步降低发送的媒体带宽,直到能保证在正常的发送速度下,移动设备终端空闲缓冲区保持动态平衡。也就是移动设备终端空闲缓冲区大小在一段时间内平均值恒定。
权利要求
1.一种流媒体带宽适配的方法,其特征在于(1)移动设备终端通过无线网络与有线网络上的流服务器进行数据通讯,获得当前的网络带宽状况,并通知流服务器;(2)流服务器依据当前网络带宽状况,设定媒体文件发送带宽,使用正常速度发送媒体文件;(3)移动设备终端在接收媒体信息的同时,定期向流服务器上报移动设备终端的接收状况;(4)流服务器依据网络带宽状况和媒体接收状况,设定合适的发送带宽和发送速度发送媒体文件。
2.根据权利要求1所述方法,其特征在于,网络带宽状况包括无线网络和有线网络的可确保带宽,最大带宽以及最大网络延时。
3.根据权利要求1所述方法,其特征在于,移动设备终端的接收状况包括移动通讯设备终端的接收缓冲区状况、媒体播放延时以及解码速度。
4.根据权利要求3所述方法,其特征在于,移动设备终端的接收缓冲区状况包括移动设备终端的解码前缓冲区的平均空闲比例、解码后缓冲区的平均空闲比例和空闲缓冲区减少速度。
5.根据权利要求1所述方法,其特征在于,正常发送速度是指流服务器最初发送媒体文件时,依据当时网络带宽确定的媒体文件发送速度。
6.根据权利要求1所述方法,其特征在于,流服务器依据网络带宽状况,设定媒体文件发送带宽的步骤是将当前带宽与前两次带宽的平均值做比较,如果前两次带宽的平均值与当前带宽之差在设定误差范围内,则不需要进行带宽改变;如果超过设定的误差范围,则需要进行带宽改变。
7.根据权利要求1所述方法,其特征在于,流服务器依据媒体接收状况,设定媒体文件的发送速度的步骤是如果移动设备终端上报缓冲区平均空闲比例大于一个设定值,而且传输带宽高于媒体带宽,流服务器在保证发送带宽小于传输带宽的前提下缩短前后两个媒体包之间的发送间隔。
8.根据权利要求1所述方法,其特征在于,流服务器依据媒体接收状况,设定媒体文件发送带宽的步骤是如果移动设备终端上报移动设备终端空闲缓冲区减小速度达到或超过数据发送速度的一个设定比例,则流服务器调整媒体带宽,采用较低带宽的媒体文件向移动设备终端发送。
全文摘要
本发明提供了一种应用于移动设备终端与流服务器之间的流媒体带宽适配的方法。本发明方法中,移动设备终端通过无线网络与有线网络上的流媒体系统进行数据通讯,获得当时的网络带宽状况,并通知流服务器。流服务器依据当前网络带宽状况,设定媒体文件发送带宽,使用正常速度发送媒体文件。移动设备终端在接收媒体信息的同时,定期向流服务器上报移动设备终端的接收状况。流服务器依据当前网络带宽状况和当前媒体接收状况的综合情况,计算出合适的编码带宽和媒体文件发送速度发送媒体文件。使用本发明方法,流服务器可以自动调整媒体文件发送速度和编码带宽,保证媒体在移动设备终端以最好的效果进行播放。
文档编号H04N7/24GK1992892SQ20051013545
公开日2007年7月4日 申请日期2005年12月28日 优先权日2005年12月28日
发明者李凤军 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1