CN1744592A - 多源流媒体传输QoS控制方法 - Google Patents

多源流媒体传输QoS控制方法 Download PDF

Info

Publication number
CN1744592A
CN1744592A CNA2005100960825A CN200510096082A CN1744592A CN 1744592 A CN1744592 A CN 1744592A CN A2005100960825 A CNA2005100960825 A CN A2005100960825A CN 200510096082 A CN200510096082 A CN 200510096082A CN 1744592 A CN1744592 A CN 1744592A
Authority
CN
China
Prior art keywords
media
transmission
speed
streaming media
source flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100960825A
Other languages
English (en)
Other versions
CN100469072C (zh
Inventor
郑庆华
刘均
彭挺
林杰
伍洋
张帆
王晨旭
吕伟梅
张之明
丁凯
江丕峻
姜山
杨冬
陈洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CNB2005100960825A priority Critical patent/CN100469072C/zh
Publication of CN1744592A publication Critical patent/CN1744592A/zh
Application granted granted Critical
Publication of CN100469072C publication Critical patent/CN100469072C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种多源流媒体传输QoS控制方法,由多源流媒体描述语言解释器、多源流媒体带宽分配、定值带宽检测、数据传输控制以及RTP/RTCP五个模块组成。MSML解释器根据MSML文件获得各路流媒体的URL、传输质量要求;多源流媒体带宽分配模块根据流媒体传输的QoS要求以及检测模块得到的带宽值确定各路流媒体的传输速率与编码速率;数据传输控制模块根据VCR命令与缓冲区状态对媒体传输进行控制;RTP/RTCP模块实现流媒体的实时有序传输。本发明可实现多路多源并发流媒体传输质量的协调控制,以降低传输延迟与丢包率,适用于多窗口视频点播、网络视频监控、网络教育课件点播、多角度/多场景实况转播等应用领域。

Description

多源流媒体传输QoS控制方法
技术领域
本发明属于计算机设计与应用技术领域,涉及计算机软件、数据传输技术、多媒体技术以及IP网络,特别涉及一种多源流媒体传输QoS控制方法。
背景技术
目前,对流媒传输QoS研究的主要对象主要单路流媒体,解决问题的方法主要通过缓冲器调度、网络资源预留等方法。在进行单源流媒体进行传输时,效果较好,然而在进行多源流媒体传输QoS控制时,上述技术效果则并不理想。
针对多源流媒体传输QoS控制方法,申请人经过查新,检索到4篇与本发明相关较为紧密的文献,它们分别是:
1、基于Qos的多路视频回放
2、IP网络VOD中具有QoS保证的流媒体系统结构研究与设计
3、Realtime multimedia transport using multiple paths
4.An application-level QoS comparison of single-stream and multi-streamapproaches in a wireless ad hoc network
上述文献分别提出了多路视频进行回放时所采用的多缓冲区及其调度算法;基于RSVP实现QoS;采用多路径的方式实现多流实时传输及对视音频分成两路流传输并在接收端进行同步控制的方法。其中,多缓冲区控制及调度算法能够在一定程度上解决播放时的抖动问题,但在网络传输方面产无能为力;采用资源预留协议RSVP,可以在流媒体传输之间在网络中预留资源,这需要网络支持,且不能根据网络环境变化进行动态调整;采用多路径传输方法可以屏蔽掉部分网络故障,但并不判断网络能否满足于特定流媒体的传输要求;将音视频分开传输增加了额外开销,在进行多源流媒体传输时会使问题更加复杂。
另外,现有描述多源流媒体的语言SMIL(Synchronized Multimedia IntegrationLanguage,同步多媒体集成语言)侧重于描述多路流媒体的呈现信息,缺少对多源流媒体QoS控制信息的描述。目前的网络带宽测试方法,如Pathchar算法或包对算法,都是通过向网络中输入数据来检测可用带宽,这类主动输入数据的方法会对测试结果造成影响,特别是在高速网络环境中,将会产生较大偏差。此外,这类方法只能获得网络的当前最大可用带宽,无法获得丢包率。目前的带宽分配方法主要针对单路媒体流,不能根据媒体流的类型与QoS要求对并发传输的多路媒体流进行网络带宽的协调分配。此外,现有带宽分配方法是依据最大可用带宽,未考虑在该带宽下的丢包率。
因此,进行流媒体传输特别是多源流媒体传输时,现有技术并不能解决对网络可用带宽进行噢各地区精确检测并在可用网络带宽随时发生变化时对多源流媒体的传输带宽进行动态优化分配的问题,这在一定程度上限制了流媒体传输的服务质量。
发明内容
本发明的目的是提出一种多源流媒体传输QoS控制方法,根据多源流媒体中各路媒体的具体情况及网络可用带宽情况,在整体上降低了数据传输的延迟与丢包率,可对网络资源进行优化利用,以提高多源流媒体的传输质量。
实现上述发明的技术解决方案是:一种多源流媒体传输QoS(Quality ofService)控制方法:按以下步骤进行:
首先,采用多源流媒体语言MSML解释器从MSML文件中获得多源流媒体的元数据信息,该信息中的流媒体类型、传输质量要求将用于流媒体数据传输中的QoS控制;
然后,采用定值带宽检测模块根据RTP/RTCP协议判断当前网络状况所能传输数据的最高速率;根据此结果,多源流媒体带宽分配模块结合流媒体类型、传输质量要求、所支持的码率,获得每路流媒体的在当前网络状况下可用的最高编码速率以及编码速率倍数的传输速率;定值带宽检测模块与多源流媒体带宽分配模块交替运行,随时根据最新的网络可用带宽,获得最高可用的编码速率及倍数传输速率;
最后,数据传输控制模块根据用户的VCR命令与带宽分配结果,向RTP/RTCP模块发送更编码速率及倍数传输速率指令;RTP/RTCP模块在数据传输控制模块的控制下进行流媒体的实时传输。
所述的多源流媒体语言MSML是一种基于XML的、支持多源流媒体传输QoS控制与同步播放的描述语言;MSML描述的信息包括三种类型:一、各路流媒体的基本信息,包括名称、URL、类型;二、各路流媒体的传输质量要求,包括编码速率范围、最大允许延迟、最大允许丢包率;三、各路流媒体播放过程中呈现信息,包括视频窗口初始大小、位置。
所述的定值带宽检测是指采用RTP/RTCP协议检测并获得从媒体所支持的最低速率到网络最高可用传输速率间各速率下流媒体传输丢包率,并将这一丢包率与流媒体传输允许的最大丢包率进行比较,如果比预定丢包率小,则认为当前网络状况能满足该速率下的数据传输,否则就认为当前网络状况不能满足该速率下的数据传输。
所述的多源流媒体带宽分配是指根据定值带宽检测的结果,调整各路流媒体的编码速率与传输速率,调整分以下两种情况处理:一、若某路流媒体来自于与其它流媒体不同的流媒体服务器时,则采用定值带宽检测算法从高到低检测该路流媒体的各级编码速率,直到找到当前网络状态支持的最高编码速率,若缓冲区为空或其中媒体数据包的最大与最小当前呈现时间戳PTS(PresentationTimeStamp)之差小于特定阈值,则检测网络状态所支持该速率的倍速率;若缓冲区为空或其中媒体数据包的最大与最小PTS之差大于特定阈值,将编码速率作为倍速率;最后,将当前网络状态所支持的最高编码速率作为该路流媒体的编码速率,倍速率作为实际传输速率;二、若其中几路流媒体来自于同一流媒体服务器,则根据媒体类型的优先级确定这些媒体流总编码速率的侯选集合,并通过定值带宽检测算法选择最高的总编码速率,若当缓冲区为空或其中媒体数据包的最大与最小PTS之差大于特定阈值还需要用定值带宽检测相应的倍速率,否则,将最高的总编码速率作为总倍速率;最后,将当前网络状态所支持的最高编码速率作为这些媒体的编码速率,并根据总编码速率中各路流媒体速率所占的比重将总倍速率相应地分解到各路媒体作为实际传输速率。
本发明采用上述方法,能根据多源流媒体中各路媒体的基本信息、同步信息、媒体类型、QoS要求以及呈现信息判断当前网络状态能否满足既定速率的媒体传输。在带宽受限的情况下,根据流媒体的类型与QoS需求,对来自不同流媒体服务器的多路并发媒体数据分配带宽,从而在整体上降低数据传输的延迟与丢包率。通过上述策略,对网络资源进行优化利用,以提高多源流媒体的传输质量。
附图说明
图1是本发明控制机制的组成;
图2是本发明控制机制的工作机理。
具体实施方式
为了更清楚地理解本发明,以下结合附图对本发明作进一步的详细描述。
参照图1所示,首先,多源流媒体语言MSML解释器用于从MSML文件中获得多源流媒体的元数据信息,该信息中的流媒体类型、传输质量要求将用于流媒体数据传输中的QoS控制;
然后,定值带宽检测模块采用RTP/RTCP协议判断当前网络状况所能传输数据的最高速率;根据此结果,多源流媒体带宽分配模块结合流媒体类型、传输质量要求,调整每路流媒体的编码速率以及编码速率倍数的传输速率;定值带宽检测模块与多源流媒体带宽分配模块交替运行,随时根据最新网络状况进行带宽分配;
最后,数据传输控制模块根据用户的VCR命令与带宽分配结果,对流媒体传输进行控制;RTP/RTCP模块在数据传输控制模块的控制下进行流媒体的实时传输,并根据缓冲区中的数据量完成丢失数据的重传。
1、多源流媒体传输QoS控制机制的组成
多源流媒体传输QoS控制机制由MSML解释器、定值带宽检测、多源流媒体带宽分配、数据传输控制以及RTP/RTCP五个模块组成。
MSML解释器用于从MSML文件中获得多源流媒体的元数据信息;其中,流媒体类型、传输质量要求将用于传输中的QoS控制。定值带宽检测模块用于判断当前网络状况能否满足某个确定速率的数据传输。多源流媒体带宽分配模块根据定值带宽检测结果以及流媒体类型、传输质量要求确定媒体的编码速率与传输速率。数据传输控制模块根据VCR命令与带宽分配结果对媒体传输进行控制。RTP/RTCP协议模块用于实现流媒体的实时有序传输以及丢失数据包的重传。
2、多源流媒体传输QoS控制机制的工作机理
参照图2所示,多源流媒体传输QoS控制机制主要是以事件驱动方式工作的。在从MSML文件中的流媒体类型与QoS要求信息后,以数据传输控制模块为核心,通过处理用户VCR控制、缓冲区状态以及定时器三类事件完成多源流媒体传输QoS控制;在处理过程中,传输控制模块调用多源流媒体分配模块、RTP/RTCP模块。事件类型与处理过程如下:
■VCR控制
1)当开始播放时,采用RTSP或MMS协议获得各路流媒体的各级编码速率,并以最高速率通知媒体服务器传输数据,同时执行多源流媒体带宽分配;
2)当暂停播放时,采用RTSP或MMS协议通知媒体服务器暂停传输数据;
3)当继续播放时,采用RTSP或MMS协议通知媒体服务器以当前编码速率与传输速率继续传输数据;
4)当停止播放时,采用RTSP或MMS协议通知媒体服务器停止传输数据,并关闭通道。
5)当拖动到某一时刻播放时,清空缓冲区,并以最高速率通知媒体服务器传输数据,同时执行多源流媒体带宽分配。
■缓冲区状态
1)当缓冲区容量中该路媒体时延小于特定阈值(5秒),重新执行多源流媒体带宽分配;
2)当缓冲区容量中该路媒体时延大于特定阈值(30秒),将多源流媒体各路媒体的传输速率设置为编码速率。
■定时器
定时重新执行多源流媒体带宽分配。
在执行多源流媒体带宽分配过程中,调用定值带宽检测模块检验当前网络状态是否满足为各路媒体分配的带宽,根据检测结果,为每路流媒体重新进行带宽分配。
在处理“开始播放”、“拖动到某一时刻播放”、“缓冲区容媒体时延小于特定阈值”事件过程中,为流媒体分配的传输速率一般是所传输媒体编码速率的倍数,这样可以快速填充缓冲区,以减少用户等待时间。
3、多源流媒体传输QoS控制机制各个模块的接口
■多源流媒体带宽分配模块的接口
Bandinfo[]AllotBand(Mediainfo MediaArray[]);
该函数确定多路媒体的传输速率以及所传媒体的编码速率。
函数AllotBand的参数为Mediainfo类型的数组,Mediainfo类型定义如下:
  Struct Mediainfo{
     char[]url,
     int Mediatype,
     int Minband,
     int Maxlost
        }
其中,url为流媒体的URL;Mediatype为媒体类型,包括音频、视频、屏幕三种类型;Minband、Maxlost为该媒体的QoS要求,分别是允许的最小带宽、最大丢包率。
函数AllotBand返回Bandinfo类型的数组,Bandinfo类型定义如下:
  Struct Bandinfo  {
    int coding_speed,
    int trans_speed
       }
其中,coding_speed为编码速率;trans_speed为传输速率。
■定值带宽检测模块的接口
Int Bandtest(int b,int lmax,int pmax,int pmin);
该函数用于判断当前网络状态是否满足带宽要求。
其中,b为需要检查的某路流媒体定值带宽、该路流媒体允许的最大丢包率lmax、该媒体流在缓冲区中的最大与最小PTS pmax与pmin;返回为丢包率,当返回-1时,说明当前网络状况不能满足带宽b。定值带宽检测算法由多源流媒体带宽分配算法调用。
■RTSP/MMS模块的接口
  接口定义   接口说明
  void get_description();   获得流媒体的各级编码速率。
  void setup();   开启播放器与媒体服务器之间的传输通道。
  void vcr_control(vcr_typevcr);   对媒体传输进行VCR控制,包括暂停、恢复、结束、快进、定位等。
  void close();   关闭播放器与媒体服务器之间的传输通道。
  callbackreceive_control(*bytecontrol)   以回调函数的方式接收控制信息。
■RTP/RTCP模块的接口
  接口函数类   主要的函数   功能描述
  会话(Session)管理类   RTPCreate;RTPDestroy。   建立或释放一个会话的上下文环境,包括空间申请与回收、变量的初始化。
  RTPOpenConnection;RTPCloseConnection。   打开或关闭一个RTP与RTCP连接。
  RTPSessionGetX;RTPSessionSetX。   设置或读取会话的参数。这些参数包括:IP地址、端口、TTL、接入带宽、加密方式、成员列表、CSRC标识列表。
成员管理类   RTPMemberInfoGetX;RTPMemberInfoSetX。   设置或读取成员的信息,这些信息包括SDES、SSRC、NTP时戳、RTP时戳。
  RTPFindMember。   根据成员信息定位某个成员。
  媒体数据传输类   RTPSend;RTPReceive。   发送或接收RTP与RTCP数据包。
 RTPPacketOp;RTCPPacketOp。   此类函数将接收到的字节流转化为结构化数据,并访问结构化数据中的内容。
 RTPSenderInfoGetX;RTPSenderInfoSetX。   设置或读取数据传输中的统计信息,这些信息包括丢包率、抖动、SR时戳。
回调类(Callback)  RTPSetNewMemberCallBack;RTPSetByeMemberCallBack。   当成员加入或退出时,激活此类函数。
 RTPSendCallBack;RTPReceiveCallBack。   当发送或接收到RTP或RTCP数据时,激活此类函数。
 TimedEvents。   用于定时发送RTCP数据包以及检验成员状态。
4、基于XML的多源流媒体语言MSML
MSML是一种简单的基于XML的标记语言,可以用于描述多源流媒体中各路媒体的基本信息、同步信息、媒体类型、QoS要求以及呈现信息。
MSML的显示分成两部分。第一部分是开始部分(Header Section),在这里定义显示的全局特性,比如播放器中的信息窗口要显示的信息,各路流媒体播放器过程中窗口呈现状态,包括视频窗口初始化大小、位置。
第二部分是主体部分(Body Section),这里主要指定流媒体的同步信息,媒体的基本信息,包括名称、URL、类型,设置流媒体的QoS要求,包括编码速率范围、最大延迟时间和最大丢包率。
MSML文件的框架结构如下:
<msml>
      <head>
              <meta/>
                    ...说明各路媒体的基本信息...
              <layout>
                    ...定义流媒体播放过程中呈现时所需的初始化信息...
              </layout>
      </head>
      <body>
              <par>
              ...给定流媒体的基本信息...
              ...设定传输质量所需的相关参数...
              <par>
      </body>
</msml>
标签说明如下表:
  标签   功能
  <meta/>   允许设计者设定媒体元数据
<layout></layout>   如果指定了layout数据,那么它必须包含在这两个标签之间
<root-layout/>   它包含在<layout>和</layout>之间,指定显示的窗口大小
  <region>   设置每路流媒体视频显示的窗口区域
  <par></par>   并行播放在<par>和</par>间的各路流媒体文件
<video>   给出视频文件的相关信息并设置该路视频的传输质量
<audio>   给出音频文件的相关信息并设置该路音频的传输质量
  <screen>   给出屏幕的相关信息并设置屏幕播放的传输质量
meta标签的属性设置如下:
  属性   取值   功能
  id   任何文本字符串   表明是哪路流媒体的信息
  name   title   文件播放时,显示标题
  type   文件播放时,显示媒体类型
  message   文件播放时,显示文件来源
  content   任何文本字符串   该值将赋给特定的name属性
layout标签的属性设置如下:
 属性   取值   功能
 id   任何字符串   说明该窗口的名字
 width   像素点为单位的数值或百分比   规定窗口的宽度
 height   像素点为单位的数值或百分比   规定窗口的高度
left,top   像素点为单位的数值或百分比   确定该区域相对与父窗口的左上角位置
bottom,right   像素点为单位的数值或百分比   确定该区域相对与父窗口的右上角位置
z-index   任何数值   确定每个窗口所处的层次
流媒体文件的属性设置
  属性   取值   功能
url   文件名或者完整的URL路径   指定流媒体文件的位置
  region   显示中定义的任何区域名   为流媒体分配播放区域
  codespeed_from   任何有效数值   指定编码速率取值的起始点
codespeed_to   任何有效数值   指定编码速率取值的终点
  max_delay   任何有效数值   指定最大延迟时间
  max_lose   任何有效数值   指定最大丢包率
  begin   任何合法的定时时间   指定文件的播放时间
  end   任何合法的定时时间   指定文件的结束时间
dur   任何合法的定时时间   指定文件播放的持续时间
id   任何字符串   把meta中对应的id赋予这个文件
5、定值带宽检测
在点播过程中,由于媒体数据的编码速率是已知的,因此,我们只需要检验当前网络状况下传输该速率媒体数据的丢包率是否小于该流媒体QoS需求的中最大允许丢包率,即可判断媒体数据的传输效果。
鉴于此,我们设计了一种定值带宽估测算法,用于检测在允许有限次数据重传的情况下,某个特定速率媒体流的丢包率。定值带宽估测算法如下:
算法输入:需要检查的某路流媒体定值带宽bv、该路流媒体允许的最大丢包率lmax、该媒
体流在缓冲区中的最大与最小PTS pmax、pmin
算法输出:丢包率l;当返回-1时,说明当前网络状况不能满足带宽bv,即lmax<lr
中间变量:、送持续时间ts,时间ts接收的RTP包数目m,RTP包大小s,允许重传次数n,重传中固定时延tc
算法描述如下:
STEP1.若缓冲区为空,或(pmax-pmin)/(tc+s/bv)<1,则n=0;否则n=[(pmax-pmin)/(tc+s/bv)],f(x)=[x]为高斯函数,n≥1表示允许数据重传。
STEP2.若n=0,在ts时间内,媒体服务器向播放器发送速率为bv的媒体数据包数目为(ts×bv)/s个,丢包率为l=1-(ts×bv)/(s×m);若l≤lmax,则当前网络状况满足该速率媒体数据的传输,返回l,否则,返回-1;
STEP3.若n≥1,则引入重传机制,此时丢包率为ln,若ln≤lmax,则当前网络状况可满足该速率媒体数据的传输,返回ln;若ln>lmax,当前网络状况不满足该速率媒体数据的传输,返回-1。
和其它算法相比,本方法的主要特点是:
1)获得链路传输某一事先确定的速率带宽的能力,而不必估测链路全部可用带宽;
2)不主动向网络输入数据,测试过程对网络是无扰的;
3)测量过程真实反映了链路数据的传输过程;
4)不存在受链路上其它流量干扰的问题。
6、多源流媒体带宽分配
组成多源流媒体的各路媒体可能来自多个媒体服务器,而且由于媒体类型不同,对媒体传输的要求也不同。对音频流媒体,要求较低的丢包率与抖动,并且在流媒体中占有重要位置;对于屏幕流媒体,要求有高分辨率,但是帧速率要求不高,在流媒体中占有比视频更重要的位置。此外,每路媒体还有具体的QoS要求。
为了在受限的网络状态下,获得好的表现质量,我们设计了一种多源流媒体带宽分配算法,对来自不同流媒体服务器的多路并发媒体数据分配带宽,从而在整体降低数据传输的延迟与丢包率。
多源流媒体带宽分配算法根据媒体的类型、QoS要求、缓冲区与网络状态以试探的方式为每路媒体分类带宽。多源流媒体带宽分配算法如下:
算法输入:n路流媒体中每路媒体的流媒体URLi、媒体类型Mediatypei、最小带宽Minbandi、最大丢包率Maxlosti、当前编码速率CodingSpeedi,t,当前传输速率与编码速率的倍数Timesi,t,n路流媒体中每路媒体的当前丢包率Losti,t,在缓冲区内的时延di,t,di,t=pmax,i,t-pmin,i,t,pmax,i,t与pmin,i,t是该媒体流当前在缓冲区中的最大与最小PTS,i∈[1,n]。
算法输出:n路流媒体中每路媒体的编码速率CodingSpeedi,t+1,传输速率与编码速率的倍数Timesi,t+1,i∈[1,n]。
STEP1.设M为n路流媒体的集合,MEM是满足以下条件的集合:对于ME中任意流媒体,与M中其它任意流媒体来源于不同的媒体服务器。对ME中所有流媒体并行执行以下操作:
设媒体流的序号为j
STEP1.1当缓冲区内媒体的时延dj,t=0时,则CodingSpeedj,t+1设置为将该路媒体支持的最高编码速率、设置Timesj,t+1为2。
STEP1.2当缓冲区内媒体的时延0<dj,t≤d时:
若Losti,t≥Maxlosti且Timesi,t>1.5,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为Timesj,t-0.5;
若Losti,t≥Maxlosti且Timesi,t≤1.5且CodingSpeedj,t>Minbandi,设置CodingSpeedj,t+1为比CodingSpeedj,t低一级的编码速率,设置Timesj,t+1为2;若Losti,t≥Maxlosti且Timesi,t≤1.5且CodingSpeedj,t≤Minbandi,设置CodingSpeedj,t+1为Minbandi,设置Timesj,t+1为1;
若Losti,t≤Maxlosti且Timesi,t≤2.5,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为Timesj,t+0.5;
若Lostj,t≤Maxlosti且Timesi,t>2.5且CodingSpeedj,t不是最高的编码速率,设置CodingSpeedj,t+1为比CodingSpeedj,t高一级的编码速率,设置Timesj,t+1为2;
若Losti,t≤Maxlosti且Timesi,t>2.5且CodingSpeedx是最高的编码速率,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为Timesi,t
当缓冲区内媒体的时延d<dj,t时:
若Losti,t≥Maxlosti且CodingSpeedj,t>Minbandi,设置CodingSpeedj,t+1为比CodingSpeedj,t低一级的编码速率,设置Timesj,t+1为1;
若Losti,t≥Maxlosti且CodingSpeedj,t≤Minbandi,设置CodingSpeedj,t+1为Minbandi,设置Timesj,t+1为1;
若Losti,t≤Maxlosti且CodingSpeedj,t不是最高的编码速率,设置CodingSpeedj,t+1为比CodingSpeedj,t高一级的编码速率,设置Timesj,t+1为1;
若Losti,t≤Maxlosti且Timesi,t>2.5且CodingSpeedj,t是最高的编码速率,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为1。
STEP2.设MM=M-ME,将MM划分成若干个子集MM,k,k∈[1,m]。每个子集中的媒体来源于同一媒体服务器,各个子集中的媒体来源于不同的媒体服务器。
STEP3.在MM,k中,各路媒体应具有相同丢包率,相同的倍速率、在缓冲区具有相同的时延,设MM,k的当前丢包率为LostM,k,t、传输速率与编码速率的倍数为TimesM,k,t、时延为dM,k,t,MM,k中各路媒体当前编码速率之和CodingSpeedM,k,t。LostM,k,t、dM,k,t与MM,k中任意一路媒体的丢包率、缓冲区延迟相同。对每个MM,k并行执行以下操作:
STEP3.1 确定MM,k中每路媒体的优先级,其中音频流优先级为3,屏幕媒体流优先级为2,视频媒体流优先级为1,同一类型的媒体具有相同的优先级。
STEP3.2 当缓冲区内媒体的时延dM,k,t=0时,对MM,k中任意一路媒体j,将CodingSpeedj,t+1设置为将该路媒体支持的最高编码速率、设置Timesj,t+1为2。
STEP3.3 当缓冲区内媒体的时延0<dM,k,t≤d时:
若MM,k中存在一路媒体j,使得LostM,k,t≥Maxlostj且当前Timesj,t>1.5,则保持MM,k中所有媒体的传输速率不变,设置Timesj,t+1为Timesj,t-0.5;
若MM,k中存在一路媒体j,使得LostM,k,t≥Maxlostj且Timesi,t≤1.5,则在所有当前编码速率大于最小允许速率的媒体流中寻找优先级最低的媒体流,假设为媒体l,设置CodingSpeedl,t+1为比CodingSpeedl,t低一级的编码速率,设置MM,k所有媒体的倍速率为2。如果MM,k不存在编码速率大于最小允许速率的媒体流,则设置MM,k中所有媒体的编码速率为对应的最小允许速率,设置MM,k所有媒体的倍速率为1。
若MM,k中任一媒体j,都满足LostM,k,t≥Maxlostj,且Timesi,t≤2.5,设置CodingSpeedj,t+1为CodingSpeedj,t,设置Timesj,t+1为Timesj,t+0.5;
若MM,k中任一媒体j,都满足LostM,k,t≥Maxlostj,且Timesi,t>2.5,则在所有当前编码速率不是最高编码速率的媒体流中寻找优先级最高的媒体流,假设为媒体l,设置CodingSpeedl,t+1为比CodingSpeedl,t高一级的编码速率,设置MM,k所有媒体的倍速率为2。若MM,k所有媒体的当前编码速率都是最高编码速率,保持各路媒体的编码速率与倍速率不变。当缓冲区内媒体的时延d<dM,k,t时:
若MM,k中存在一路媒体j,使得LostM,k,t≥Maxlostj,则在所有当前编码速率大于最小允许速率的媒体流中寻找优先级最低的媒体流,假设为媒体l,设置CodingSpeedl,t+1为比CodingSpeedl,t低一级的编码速率,设置MM,k所有媒体的倍速率为1。如果MM,k不存在编码速率大于最小允许速率的媒体流,则设置MM,k中所有媒体的编码速率为对应的最小允许速率,设置MM,k所有媒体的倍速率为1。
若MM,k中任一媒体j,都满足LostM,k,t≥Maxlostj,则在所有当前编码速率不是最高编码速率的媒体流中寻找优先级最高的媒体流,假设为媒体l,设置CodingSpeedl,t+1为比CodingSpeedl,t高一级的编码速率,设置MM,k所有媒体的倍速率为1。若MM,k所有媒体的当前编码速率都是最高编码速率,保持各路媒体的编码速率,设置MM,k所有媒体的倍速率为1。

Claims (4)

1、一种多源流媒体传输QoS(Quality of Service)控制方法,其特征在于,按以下步骤进行:
首先,采用多源流媒体语言MSML解释器从MSML文件中获得多源流媒体的元数据信息,该信息中的流媒体类型、传输质量要求将用于流媒体数据传输中的QoS控制;
然后,采用定值带宽检测模块根据RTP/RTCP协议判断当前网络状况所能传输数据的最高速率;根据此结果,多源流媒体带宽分配模块结合流媒体类型、传输质量要求、所支持的码率,获得每路流媒体的在当前网络状况下可用的最高编码速率以及编码速率倍数的传输速率;定值带宽检测模块与多源流媒体带宽分配模块交替运行,随时根据最新的网络可用带宽,获得最高可用的编码速率及倍数传输速率;
最后,数据传输控制模块根据用户的VCR命令与带宽分配结果,向RTP/RTCP模块发送更编码速率及倍数传输速率指令;RTP/RTCP模块在数据传输控制模块的控制下进行流媒体的实时传输。
2、根据权利要求1所述的多源流媒体传输QoS控制方法,其特征在于:所述的多源流媒体语言MSML是一种基于XML的、支持多源流媒体传输QoS控制与同步播放的描述语言;MSML描述的信息包括三种类型:一、各路流媒体的基本信息,包括名称、URL、类型;二、各路流媒体的传输质量要求,包括编码速率范围、最大允许延迟、最大允许丢包率;三、各路流媒体播放过程中呈现信息,包括视频窗口初始大小、位置。
3、根据权利要求1所述的多源流媒体传输QoS控制方法,其特征在于:所述的定值带宽检测是指采用RTP/RTCP协议检测并获得从媒体所支持的最低速率到网络最高可用传输速率间各速率下流媒体传输丢包率,并将这一丢包率与流媒体传输允许的最大丢包率进行比较,如果比预定丢包率小,则认为当前网络状况能满足该速率下的数据传输,否则就认为当前网络状况不能满足该速率下的数据传输。
4、根据权利要求1所述的多源流媒体传输QoS控制方法,其特征在于:所述的多源流媒体带宽分配是指根据定值带宽检测的结果,调整各路流媒体的编码速率与传输速率,调整分以下两种情况处理:一、若某路流媒体来自于与其它流媒体不同的流媒体服务器时,则采用定值带宽检测算法从高到低检测该路流媒体的各级编码速率,直到找到当前网络状态支持的最高编码速率,若缓冲区为空或其中媒体数据包的最大与最小当前呈现时间戳PTS(PresentationTimeStamp)之差小于特定阈值,则检测网络状态所支持该速率的倍速率;若缓冲区为空或其中媒体数据包的最大与最小PTS之差大于特定阈值,将编码速率作为倍速率;最后,将当前网络状态所支持的最高编码速率作为该路流媒体的编码速率,倍速率作为实际传输速率;二、若其中几路流媒体来自于同一流媒体服务器,则根据媒体类型的优先级确定这些媒体流总编码速率的侯选集合,并通过定值带宽检测算法选择最高的总编码速率,若当缓冲区为空或其中媒体数据包的最大与最小PTS之差大于特定阈值还需要用定值带宽检测相应的倍速率,否则,将最高的总编码速率作为总倍速率;最后,将当前网络状态所支持的最高编码速率作为这些媒体的编码速率,并根据总编码速率中各路流媒体速率所占的比重将总倍速率相应地分解到各路媒体作为实际传输速率。
CNB2005100960825A 2005-09-29 2005-09-29 多源流媒体传输QoS控制方法 Expired - Fee Related CN100469072C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100960825A CN100469072C (zh) 2005-09-29 2005-09-29 多源流媒体传输QoS控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100960825A CN100469072C (zh) 2005-09-29 2005-09-29 多源流媒体传输QoS控制方法

Publications (2)

Publication Number Publication Date
CN1744592A true CN1744592A (zh) 2006-03-08
CN100469072C CN100469072C (zh) 2009-03-11

Family

ID=36139786

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100960825A Expired - Fee Related CN100469072C (zh) 2005-09-29 2005-09-29 多源流媒体传输QoS控制方法

Country Status (1)

Country Link
CN (1) CN100469072C (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008014707A1 (fr) * 2006-07-27 2008-02-07 Tencent Technology (Shenzhen) Company Limited Procédé, système et écran de réglage de qualité vidéo
CN100382549C (zh) * 2006-04-13 2008-04-16 中山大学 一种实现多数据源流媒体在线浏览的系统
CN101257505A (zh) * 2007-02-27 2008-09-03 三星电子株式会社 中继流传输数据的方法和设备
WO2008125029A1 (fr) * 2007-04-13 2008-10-23 Huawei Technologies Co., Ltd. Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia
WO2009143748A1 (zh) * 2008-05-30 2009-12-03 华为技术有限公司 一种数据传输的方法、系统及装置
CN101030938B (zh) * 2007-02-05 2010-04-14 北京大学 QoS自适应的P2P流媒体数据组织与传输系统及方法
CN101227604B (zh) * 2007-01-18 2010-05-19 上海未来宽带技术及应用工程研究中心有限公司 一种通过网络损伤度检测网络视频质量的方法
CN101212647B (zh) * 2007-07-18 2010-06-09 中国科学技术大学 一种基于hfc双向网络的流媒体业务实现方法及设备
CN101287002B (zh) * 2008-05-21 2010-12-29 华中科技大学 一种提高流媒体服务器并发媒体流数量的方法
CN101635830B (zh) * 2009-08-18 2011-09-28 深圳市同洲电子股份有限公司 视频点播的方法、服务端及客户端
CN101753985B (zh) * 2008-11-27 2012-10-03 北京中星微电子有限公司 视频监控系统及该系统中的媒体流传输控制装置和方法
WO2013010438A1 (zh) * 2011-07-18 2013-01-24 索尼公司 无线数据传输方法和传输系统、客户端与服务端控制器
CN101789943B (zh) * 2009-01-22 2013-06-05 索尼公司 通信装置、通信系统、程序和通信方法
CN103733633A (zh) * 2011-05-12 2014-04-16 索林科集团 视频分析系统
CN105429983A (zh) * 2015-11-27 2016-03-23 刘军 采集媒体数据的方法、媒体终端及音乐教学系统
CN106453306A (zh) * 2016-10-08 2017-02-22 广东欧珀移动通信有限公司 一种媒体数据传输的同步方法、装置及系统
CN111083094A (zh) * 2018-10-22 2020-04-28 中国移动通信有限公司研究院 一种流媒体的码流切换方法及装置、计算机存储介质
CN111917662A (zh) * 2019-05-07 2020-11-10 华为技术有限公司 一种带宽预留方法及相关设备
CN113726562A (zh) * 2021-08-19 2021-11-30 中国电子科技集团公司第二十八研究所 空管系统间监视信息传输所需网络通信带宽评估方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI696961B (zh) * 2018-12-12 2020-06-21 財團法人工業技術研究院 深度神經網路硬體加速器與其操作方法

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100382549C (zh) * 2006-04-13 2008-04-16 中山大学 一种实现多数据源流媒体在线浏览的系统
WO2008014707A1 (fr) * 2006-07-27 2008-02-07 Tencent Technology (Shenzhen) Company Limited Procédé, système et écran de réglage de qualité vidéo
CN101227604B (zh) * 2007-01-18 2010-05-19 上海未来宽带技术及应用工程研究中心有限公司 一种通过网络损伤度检测网络视频质量的方法
CN101030938B (zh) * 2007-02-05 2010-04-14 北京大学 QoS自适应的P2P流媒体数据组织与传输系统及方法
CN101257505A (zh) * 2007-02-27 2008-09-03 三星电子株式会社 中继流传输数据的方法和设备
WO2008125029A1 (fr) * 2007-04-13 2008-10-23 Huawei Technologies Co., Ltd. Procédé, système et dispositif permettant de contrôler le débit de codage du flux multimédia
CN101212647B (zh) * 2007-07-18 2010-06-09 中国科学技术大学 一种基于hfc双向网络的流媒体业务实现方法及设备
CN101287002B (zh) * 2008-05-21 2010-12-29 华中科技大学 一种提高流媒体服务器并发媒体流数量的方法
WO2009143748A1 (zh) * 2008-05-30 2009-12-03 华为技术有限公司 一种数据传输的方法、系统及装置
CN101753985B (zh) * 2008-11-27 2012-10-03 北京中星微电子有限公司 视频监控系统及该系统中的媒体流传输控制装置和方法
CN101789943B (zh) * 2009-01-22 2013-06-05 索尼公司 通信装置、通信系统、程序和通信方法
CN101635830B (zh) * 2009-08-18 2011-09-28 深圳市同洲电子股份有限公司 视频点播的方法、服务端及客户端
CN103733633A (zh) * 2011-05-12 2014-04-16 索林科集团 视频分析系统
US9667752B2 (en) 2011-07-18 2017-05-30 Sony Corporation Method and system for wireless data transmission, client and server controllers
WO2013010438A1 (zh) * 2011-07-18 2013-01-24 索尼公司 无线数据传输方法和传输系统、客户端与服务端控制器
US10397378B2 (en) 2011-07-18 2019-08-27 Sony Corporation Method and system for wireless data transmission, client and server controllers
CN105429983A (zh) * 2015-11-27 2016-03-23 刘军 采集媒体数据的方法、媒体终端及音乐教学系统
CN105429983B (zh) * 2015-11-27 2018-09-14 刘军 采集媒体数据的方法、媒体终端及音乐教学系统
CN106453306A (zh) * 2016-10-08 2017-02-22 广东欧珀移动通信有限公司 一种媒体数据传输的同步方法、装置及系统
CN111083094A (zh) * 2018-10-22 2020-04-28 中国移动通信有限公司研究院 一种流媒体的码流切换方法及装置、计算机存储介质
CN111917662A (zh) * 2019-05-07 2020-11-10 华为技术有限公司 一种带宽预留方法及相关设备
CN111917662B (zh) * 2019-05-07 2024-04-26 华为技术有限公司 一种带宽预留方法及相关设备
CN113726562A (zh) * 2021-08-19 2021-11-30 中国电子科技集团公司第二十八研究所 空管系统间监视信息传输所需网络通信带宽评估方法

Also Published As

Publication number Publication date
CN100469072C (zh) 2009-03-11

Similar Documents

Publication Publication Date Title
CN1744592A (zh) 多源流媒体传输QoS控制方法
US20240007517A1 (en) Situation-dependent dynamic bit rate encoding and distribution of content
KR102072344B1 (ko) 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치
EP2842269B1 (en) QoE-AWARE RADIO ACCESS NETWORK ARCHITECTURE FOR HTTP-BASED VIDEO STREAMING
US9451320B2 (en) Utilizing multi-dimensional resource allocation metrics for concurrent decoding of time-sensitive and non-time-sensitive content
CN1314247C (zh) 带宽适应
EP2920938B1 (en) Processing of multimedia data
CN1875588A (zh) 用于无线网络中的服务管理的流服务质量的快速信令过程
CN1706146A (zh) 流式媒体
CN1820494A (zh) 基于逐步解码器刷新的流切换
CN1156125C (zh) 一种基于客户端反馈的流量控制方法
Zhou et al. A control-theoretic approach to rate adaption for DASH over multiple content distribution servers
US20130179589A1 (en) Constrained fidelity adaptive bit rate encoding systems and methods
CN1753503A (zh) 呈现从媒体流获得的媒体的方法和系统
US20130179588A1 (en) Adaptive streaming to multicast and constrained-fidelity constant bit rate encoding
CN1784674A (zh) 用于流传送媒体的快速启动
CN1993928A (zh) 多播和广播串流方法和系统
CN1951083A (zh) 流传输服务中的改进的质量反馈
CN1969475A (zh) 用于蜂窝广播和通信系统的方法和设备
CN1960260A (zh) 为不同类型的终端提供iptv业务的方法和iptv业务系统
CN1833391A (zh) 降低在流式会话期间传输信道差错所造成的影响
CN1914876A (zh) 定时体验质量的度量
KR20060115216A (ko) 멀티미디어 스트리밍 송신 장치 및 방법
CN102970585B (zh) 一种流媒体快速频道切换的方法
EP3993365A1 (en) Session based adaptive playback profile decision for video streaming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090311

Termination date: 20140929

EXPY Termination of patent right or utility model