CN100469072C - 多源流媒体传输QoS控制方法 - Google Patents
多源流媒体传输QoS控制方法 Download PDFInfo
- Publication number
- CN100469072C CN100469072C CNB2005100960825A CN200510096082A CN100469072C CN 100469072 C CN100469072 C CN 100469072C CN B2005100960825 A CNB2005100960825 A CN B2005100960825A CN 200510096082 A CN200510096082 A CN 200510096082A CN 100469072 C CN100469072 C CN 100469072C
- Authority
- CN
- China
- Prior art keywords
- streaming media
- media
- transmission
- rate
- code rate
- 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.)
- Expired - Fee Related
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
技术领域
本发明属于计算机设计与应用技术领域,涉及计算机软件、数据传输技术、多媒体技术以及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(intb,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模块的接口
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标签的属性设置如下:
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;
算法输出:丢包率1;当返回-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∈[l,n]。
算法输出:n路流媒体中每路媒体的编码速率CodingSpeedi,t+1,传输速率与编码速率的倍数Timesi,t+1,i∈[l,n]。
STEP1.设M为n路流媒体的集合,是满足以下条件的集合:对于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;
若Losti,t≤Maxlosti且Timesi,t>2.5且CodingSpeedj,t不是最高的编码速率,设置CodingSpeedj,t+1为比CodingSpeedj,t高一级的编码速率,设置Timesj,t+1为2;
若Losti,t≤Maxlosti且Timesi,t>2.5且CodingSpeedj,t是最高的编码速率,设置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,i+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∈[l,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(Presentation TimeStamp)之差小于特定阈值,则检测网络状态所支持该速率的倍速率;若媒体数据包的最大与最小PTS之差大于特定阈值,将该速率作为倍速率;最后,将当前网络状态所支持的最高编码速率作为该路流媒体的编码速率,倍速率作为实际传输速率;二、若其中几路流媒体来自于同一流媒体服务器,则根据媒体类型的优先级确定这些流媒体总编码速率的侯选集合,并通过定值带宽检测算法选择最高的总编码速率,若当缓冲区为空或其中媒体数据包的最大与最小PTS之差小于特定阈值,采用定值带宽检测相应的倍速率,若媒体数据包的最大与最小PTS之差大于特定阈值,将最高的总编码速率作为总倍速率;最后,将当前网络状态所支持的最高编码速率作为这些流媒体的编码速率,并根据总编码速率中各路流媒体速率所占的比重将总倍速率相应地分解到各路流媒体作为实际传输速率。
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 CN1744592A (zh) | 2006-03-08 |
CN100469072C true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI696961B (zh) * | 2018-12-12 | 2020-06-21 | 財團法人工業技術研究院 | 深度神經網路硬體加速器與其操作方法 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100382549C (zh) * | 2006-04-13 | 2008-04-16 | 中山大学 | 一种实现多数据源流媒体在线浏览的系统 |
CN100588249C (zh) * | 2006-07-27 | 2010-02-03 | 腾讯科技(深圳)有限公司 | 调节视频质量的方法、系统及终端 |
CN101227604B (zh) * | 2007-01-18 | 2010-05-19 | 上海未来宽带技术及应用工程研究中心有限公司 | 一种通过网络损伤度检测网络视频质量的方法 |
CN101030938B (zh) * | 2007-02-05 | 2010-04-14 | 北京大学 | QoS自适应的P2P流媒体数据组织与传输系统及方法 |
KR20090000582A (ko) * | 2007-02-27 | 2009-01-08 | 삼성전자주식회사 | 스트리밍 데이터를 중계하는 방법 및 장치 |
CN101068236B (zh) * | 2007-04-13 | 2011-10-26 | 华为技术有限公司 | 流媒体码率控制方法、系统和设备 |
CN101212647B (zh) * | 2007-07-18 | 2010-06-09 | 中国科学技术大学 | 一种基于hfc双向网络的流媒体业务实现方法及设备 |
CN101287002B (zh) * | 2008-05-21 | 2010-12-29 | 华中科技大学 | 一种提高流媒体服务器并发媒体流数量的方法 |
CN101296184B (zh) * | 2008-05-30 | 2011-04-13 | 华为技术有限公司 | 一种数据传输的方法、系统及装置 |
CN101753985B (zh) * | 2008-11-27 | 2012-10-03 | 北京中星微电子有限公司 | 视频监控系统及该系统中的媒体流传输控制装置和方法 |
JP4650573B2 (ja) * | 2009-01-22 | 2011-03-16 | ソニー株式会社 | 通信装置、通信システム、プログラム、および通信方法 |
CN101635830B (zh) * | 2009-08-18 | 2011-09-28 | 深圳市同洲电子股份有限公司 | 视频点播的方法、服务端及客户端 |
CA3060189C (en) * | 2011-05-12 | 2021-09-21 | Solink Corporation | Video analytics system |
CN110062478A (zh) * | 2011-07-18 | 2019-07-26 | 索尼公司 | 无线数据传输方法和传输系统、客户端与服务端控制器 |
CN105429983B (zh) * | 2015-11-27 | 2018-09-14 | 刘军 | 采集媒体数据的方法、媒体终端及音乐教学系统 |
CN106453306A (zh) * | 2016-10-08 | 2017-02-22 | 广东欧珀移动通信有限公司 | 一种媒体数据传输的同步方法、装置及系统 |
CN111083094B (zh) * | 2018-10-22 | 2022-06-07 | 中国移动通信有限公司研究院 | 一种流媒体的码流切换方法及装置、计算机存储介质 |
CN111917662B (zh) * | 2019-05-07 | 2024-04-26 | 华为技术有限公司 | 一种带宽预留方法及相关设备 |
CN113726562A (zh) * | 2021-08-19 | 2021-11-30 | 中国电子科技集团公司第二十八研究所 | 空管系统间监视信息传输所需网络通信带宽评估方法 |
-
2005
- 2005-09-29 CN CNB2005100960825A patent/CN100469072C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI696961B (zh) * | 2018-12-12 | 2020-06-21 | 財團法人工業技術研究院 | 深度神經網路硬體加速器與其操作方法 |
US11551066B2 (en) | 2018-12-12 | 2023-01-10 | Industrial Technology Research Institute | Deep neural networks (DNN) hardware accelerator and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN1744592A (zh) | 2006-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100469072C (zh) | 多源流媒体传输QoS控制方法 | |
US10904596B2 (en) | Dynamic content delivery routing and related methods and systems | |
CN104956631B (zh) | 用于执行链路感知自适应流传输的设备和方法 | |
KR102024311B1 (ko) | 푸시 메시지 제어를 이용하는 적응적 데이터 스트리밍 방법 | |
KR102110627B1 (ko) | 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들 | |
US20140181266A1 (en) | System, streaming media optimizer and methods for use therewith | |
US8036125B2 (en) | Apparatus and method for transmitting multimedia stream using virtual machines based on a number of transmissions at a data rate | |
EP2360923A1 (en) | Method for selectively requesting adaptive streaming content and a device implementing the method | |
CN105323604B (zh) | 一种QoE驱动的HTTP流媒体点播缓冲区控制方法 | |
EP2696552A1 (en) | Method, system and network for transmitting multimedia data to a plurality of clients | |
WO2018165487A1 (en) | Excess bitrate distribution based on quality gain in sabr server | |
CN104620595A (zh) | 主动式视频帧丢弃 | |
JP7354411B2 (ja) | ビデオプレイバックにおける予測ベースドロップフレームハンドリング論理 | |
KR101863965B1 (ko) | 적응적 멀티미디어 서비스를 제공하는 장치 및 방법 | |
GB2517060A (en) | Adaptive data streaming method with push messages control | |
JP2013214800A (ja) | ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム | |
EP3354033B1 (en) | Dynamic seeking in video delivery systems | |
CN100382549C (zh) | 一种实现多数据源流媒体在线浏览的系统 | |
KR102304476B1 (ko) | 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법 | |
Zhang et al. | A priority-based adaptive scheme for multi-view live streaming over HTTP | |
Zhang et al. | A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http | |
Yu | SVC-based dynamic caching for smart media streaming over the internet of things | |
CN116017037A (zh) | 用于自适应比特率算法的动态参数调整 | |
JP2013214799A (ja) | ストリーミングメディア再生装置、メディアビットレート変更判定方法、及びプログラム | |
CN119155492B (zh) | 基于mpquic和预取的服务器端自适应svc abr方法 |
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 |