【技术实现步骤摘要】
分布式DASH系统中服务节点选择、更新和码率自适应方法
本专利技术属于音视频传输
,涉及一种服务节点选择、更新和码率自适应方法,具体涉及一种分布式DASH系统中服务节点选择、更新与码率自适应方法。
技术介绍
随着互联网和移动通信技术的飞速发展,音视频传输业务已经成为互联网上的主流业务,人们通过个人电脑以及移动智能终端可以随时随地获取视频资源。据Cisco公司2017年3月发布的《思科视觉网络指数:全球移动数据流量预测更新(2016-2021白皮书)》指出,到2021年,全球超过四分之三(78%)的移动数据流量将是视频流量。基于HTTP的动态自适应流媒体传输技术(DynamicAdaptiveStreamingoverHTTP,以下简称DASH)由于具有良好的防火墙穿透能力和NAT转换能力,能够适应网络的动态性、终端的异质性,解决不同接入速度、不同终端设备的用户享受不同服务质量的问题,成为当今主流的商业视频服务提供商采用的主要技术。DASH是一种流化和HTTP渐进式下载(ProgressiveDownloaded)的混合分发方法,其基本原理是:同一视频/音频源文件被编码为不同质量级别的媒体副本,每个视频副本又被切分成小的片段(segment)。这些片段的描述信息存储在媒体表示描述文件(MPD)中。视频分段及MPD文件存储在web服务器中。当客户端观看视频时,向web服务器发送HTTPGet请求,web服务器将此视频对应的MPD文件反馈给客户端。客户端解析MPD文件,获取不同质量视频段的描述信息,并根据播放设备能力和网络带宽的变化情况,由服务器或客户端动 ...
【技术保护点】
1.一种分布式DASH系统中服务节点选择、更新和码率自适应方法,所述分布式DASH系统包括单个视频源端、一个入口服务器,若干Web内容服务器和若干客户端;视频源端将视频编码成不同码率的副本并且切割成长度相等的分段,这些分段的描述信息存储在MPD文件中;所述MPD文件存储在入口服务器上,分段视频文件存储在Web内容服务器上;所有的web内容服务器上存储相同的目标视频副本;设同一视频编码为L个具有不同码率的副本,即目标视频副本,其副本码率分别为V1、V2、…、Vk、Vk+1、…、VL,其中V1<V2<…<Vk<Vk+1<…<VL;每个副本被分割成多个分段,每个分段时长为△;设MPD文件中有可供选择的Web内容服务器m个,分别为s1、s2、...、sm,记为集合S;在整个媒体播放的过程中,客户端的缓冲区划分为三个部分,设定三个阈值,分别为初始缓冲区阈值Binit,目标缓冲区阈值Bref,最大缓冲区阈值Bmax;设当前缓冲区大小为Bcurr;将客户端的播放过程定义为三种状态:播放启动状态、播放稳定状态和缓冲满状态,若当前缓冲区大小Bcurr∈[0,Binit]时,则客户端处于播放启动状态;若当 ...
【技术特征摘要】
1.一种分布式DASH系统中服务节点选择、更新和码率自适应方法,所述分布式DASH系统包括单个视频源端、一个入口服务器,若干Web内容服务器和若干客户端;视频源端将视频编码成不同码率的副本并且切割成长度相等的分段,这些分段的描述信息存储在MPD文件中;所述MPD文件存储在入口服务器上,分段视频文件存储在Web内容服务器上;所有的web内容服务器上存储相同的目标视频副本;设同一视频编码为L个具有不同码率的副本,即目标视频副本,其副本码率分别为V1、V2、…、Vk、Vk+1、…、VL,其中V1<V2<…<Vk<Vk+1<…<VL;每个副本被分割成多个分段,每个分段时长为△;设MPD文件中有可供选择的Web内容服务器m个,分别为s1、s2、...、sm,记为集合S;在整个媒体播放的过程中,客户端的缓冲区划分为三个部分,设定三个阈值,分别为初始缓冲区阈值Binit,目标缓冲区阈值Bref,最大缓冲区阈值Bmax;设当前缓冲区大小为Bcurr;将客户端的播放过程定义为三种状态:播放启动状态、播放稳定状态和缓冲满状态,若当前缓冲区大小Bcurr∈[0,Binit]时,则客户端处于播放启动状态;若当前缓冲区大小Bcurr∈(Binit,Bref]时,则客户端处于播放稳定状态;若当前缓冲区大小Bcurr∈(Bref,Bmax]时,则客户端处于缓冲满状态;所述方法包括以下步骤:步骤1:客户端和存储有MPD文件的入口服务器建立HTTP连接,从该入口服务器上获取MPD文件,并解析该文件,获取所有Web内容服务器URL信息;步骤2:MPD文件解析后,客户端进入播放启动状态,向所有Web内容服务器发送HTTPGET请求,下载视频分段;步骤3:当缓冲区长度Bref≥Bcurr>Binit时,进入播放稳定阶段,采用基于概率的服务器选择和码率选择方法选择服务的Web内容服务器和目标视频码率;步骤4:当前缓冲区Bmax≥Bcurr>Bref,进入缓冲满状态,分别选择服务的Web内容服务器和目标视频码率;步骤5:在视频播放的三个状态中,当客户端的调度模块向选中的Web内容服务器Sj发送请求下载目标码率为vi+1的数据分段请求时,相应地启动超时重传机制。2.根据权利要求1所述的分布式DASH系统中服务节点选择、更新和码率自适应方法,其特征在于:所述客户端包括网络监控模块、缓冲监控模块、服务选择模块、码率自适应模块和调度模块;所述网络监控模块负责周期性地评估网络可用带宽,并将结果提交给码率自适应模块;所述缓冲监控模块周期性向调度模块汇报客户端缓冲区状态;所述服务选择模块,基于播放期限,决定哪些服务器接收哪些数据分段的请求;所述码率自适应模块根据网络监控模块和缓冲监控模块提供的网络和缓冲状态决定待下载的视频分段码率;所述调度模块根据网络状态信息、码率自适应模块确定的视频码率,从相应的服务器下载数据分段。3.根据权利要求1所述的分布式DASH系统中服务节点选择、更新和码率自适应方法,其特征在于,步骤2的具体实现包括以下子步骤:步骤2.1:客户端根据解析的MPD文件,获得所有Web内容服务器的URL地址,与这些Web内容服务器建立HTTP连接;步骤2.2:客户端从所有连接的Web内容服务器处同时下载码率为V1的视频分段副本;步骤2.3:客户端同时接收到来自于多个Web内容服务器的码率为V1的视频分段副本,并记下视频分段下载完成的最短时间,用于计算各Web内容服务器与客户之间的网络可用带宽;步骤2.4:客户端根据计算得到各Web内容服务器的网络吞吐量,按照从大到小的顺序对Web内容服务器进行排序,得到候选服务器队列SC;步骤2.5:客户端从候选服务器队列中选出队头节点,即为网络吞吐量最大的Web内容服务器,作为下一数据分段请求的服务节点Snext;步骤2.6:码率自适应模块确定下一个视频分段的码率;步骤2.7:调度模块负责客户端向选中的Web内容服务器Snext发送数据请求,请求下载的目标视频数据分段的码率为vi+1;步骤2.8:缓冲监控模块周期性监控缓冲占有情况,如果Bcurr≤Binit,则客户端依然处于播放启动阶段,则选择候选服务器队列SC队首元素作为下一轮数据分段请求的服务器,并转执行步骤2.6,确定下一分段的视频码率;否则,执行步骤3。4.根据权利要求1所述的分布式DASH系统中服务节点选择、更新和码率自适应方法,其特征在于:步骤2.3中,假设来自服务器Sk的视频分段最先完成下载,下载时长为t1,k,则客户端计算与其连接的所有的Web内容服务器之间的网络吞吐量其中,是客户端在t1,k的时间间隔内从服务器Sj下载第一个视频分段部分数据的长度;从服务器Sk最先完成第一个视频分段副本数据的下载,则其中,V1是第1个视频分段的码率;Δ是视频分段的时长,是第1个视频分段从服务器Sk下载开始的时间,是第1个视频分段从服务器Sk下载完成的时间。5.根据权利要求1所述的分布式DASH系统中服务节点选择、更新和码率自适应方法,其特征在于:步骤2.6中,假定刚下载完成的视频分段的码率为vi=Vk,V1≤Vk≤VL,候选服务器队列队首元素为服务器sa,a∈[1,m],则比较服务器sa评估的网络吞吐量与预设的下一视频分段i+1的码率的大小;如果则下一视频分段i+1的码率否则其中,服务器sa评估的网络吞吐量的计算方法为:(1)对于有视频数据分段下载的服务器,记为源Web内容服务器,采用指数带权移动平均的方法评估网络的吞吐量,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。