一种无线DASH流媒体码率平滑自适应传输方法与流程

文档序号:16315811发布日期:2018-12-19 05:28阅读:215来源:国知局
一种无线DASH流媒体码率平滑自适应传输方法与流程

本发明涉及流媒体码率自适应技术领域,特别涉及一种无线基于http动态自适应流标准(dynamicadaptivestreamingoverhttp,dash)流媒体码率平滑自适应传输方法。

背景技术

最近的研究表明,视频业务已经占据移动数据总量的66%,就国内而言更是达到了69.3%。而移动视频数据相比其他应用占据相当大的比例,移动视频流量的増长也十分迅速,尤其是近几年的増速,据cisco研究报告预测,到2021年,78%的移动ip流量将由用户观看视频过程中的传输消耗。考虑到视频在移动网络中传输受众多因素的影响,比如无线网络网络状态以及缓冲队列大小等,而移动用户总是希望得到更好的视频质量、更小的延迟、更少的播放中断。故对移动端视频传输的相关研究显得很有意义。

3g和4g移动通信的一个显著差异是多媒体服务取代语音服务成为最引人注目的需求。未来的5g预计将由软件定义网络支撑,主要承载多媒体流量。现在视频流量已经成为移动数据流量的一个重要组成部分,并且未来几年将持续增长。无线网络中带宽资源通常有限并且带宽不稳定,无线信道状况波动将会影响视频数据的传输,严重时数据包将会丢失,这将不能很好地保证用户观看体验。另外,在高密区域的场景,用户可用带宽会随着终端接入数目的变化而受到较大影响。因此,无线和移动网络环境中自适应多媒体技术匹配视频质量与时变的网络带宽的难度更高。因此,如何综合考虑终端的异构性和变化的网络环境,为用户提供良好的qoe是一项具有挑战性的工作。

传统的流媒体协议,实时传输协议/实时流化协议(real-timetransportprotocol/real-timetransportcontrolprotocol,rtp/rtsp)使用面向无连接的用户数据报协议(userdatagramprotocol,udp),在视频传输的过程中丢包率较高,并且难以穿越防火墙以及网络地址转换器(networkingaddresstranslator,nat)。此外,rtp/rtsp协议的流媒体传输需要特定的服务器,部署成本高。因此,基于http动态自适应流标准dash应运而生。dash采用http协议作为传输协议能够很好地解决防火墙、网络地址转换穿越问题,同时能够有效利用现有的网络服务体系架构,现有的http服务器就能提供良好的视频服务,大大减少了部署成本。目前,dash算法的研究主要集中在有线网络应用场景的pc端,而智能移动端上的流媒体自适应算法研究还较少。

由于移动设备使用场景的多变性、复杂性,因此存在着信号传输过程中时延高、丢包率高以及网络类型切换导致的带宽波动幅度大等问题。现有基于有线网环境的http流媒体码率自适应算法如adobe公司的osmf流媒体播放器,其自适应机制是根据最近请求的两个片段的下载时长来估计可用带宽,而下一个片段的码率则是小于该估计带宽的最大等级码率。文献《rateadaptationforadaptivehttpstreaming》(c.liu,i.bouazizi,andm.gabbouj,“rateadaptationforadaptivehttpstreaming,”inproc.acmmmsys,pp.169–174,feb.2011)中提出一种缓存保存速率自适应机制的raahs算法,采用保守的逐级切换策略来提高视频比特率。同时,当下载速率变小时,采用激进的策略迅速降低切片的码率,该算法能够较好地将缓存占用稳定在目标区间,但是带宽变化频繁时,选择的码率等级很不稳定。文献《fuzzy-basedmpeg/dashadaptationalgorithm》(vergadosdj,michalasa,sgoraa,etal.fdash:afuzzy-basedmpeg/dashadaptationalgorithm[j].ieeesystemsjournal,2016,10(2):859-868)所提出的fdash算法则运用模糊逻辑控制器,根据当前播放缓存与目标缓存的差值和播放缓存变化量这两个参数,结合滑动窗口取最近一段时间内切片下载的平均速率数据,按照一定的规则控制输出码率。fdash在缓存控制方面性能很好,但是仅以一段时间内均值作为带宽预测值,存在着估计值迟滞于实时带宽的情况,从而导致码率上升、下降的速度趋于迟缓,不能快速适应波动频率高的网络环境。文献《anovelbandwidthestimationmethodbasedonmacdfordash》(vuvh,mashali,chungty.anovelbandwidthestimationmethodbasedonmacdfordash[j].ksiitransactionsoninternet&informationsystems,2017,11)提出了一种基于带宽估计的模型来选择比特率,利用macd指标判断无线网络的波动趋势并预测带宽,然后相对独立地考虑缓存占用情况保守作出码率机械地上升、保持和下降选择,macd指标选取的数据样本较大,因此对最近的带宽波动趋势感应比较迟钝,切片码率切换时间滞后,虽然视频码率能够比较平稳切换,但是平均码率偏低。



技术实现要素:

对以上存在的问题,本发明提出了一种无线dash流媒体码率平滑自适应传输方法,包括:

统计前n个切片的下载速率数据,预测无线网络的带宽趋势以及带宽值;

根据预测的带宽趋势、带宽值以及缓存占用情况,切片调度模型自适应选择最优码率。

优选的,预测无线网络的带宽值包括:

利用滑动窗口选定最近n个切片并统计切片的下载速率,计算出下载速率的平均值davg、标准差σn,并得到带宽带宽偏移系数cv;

若带宽偏移系数在集中(0,θ)之间时,则将网络状态看做是长期平稳或者短期波动,使用最近m个切片下载速率平均值作为带宽的预测值,其中θ为带宽偏移系数的稳定阈值,m≤n;

当带宽偏移系数cv>θ时,可以认为带宽具有持续性大幅上升或者下降趋势,考虑到与第i+1个切片越靠近的切片下载速率相关性越大,利用指数平均数指标(exponentialmovingaverage,ema)平滑公式计算带宽的预测值;其中θ表示带宽偏移系数的额稳定阈值。

优选的,带宽带宽偏移系数cv的计算包括:

其中,dj表示第j个切片的下载速率。

优选的,根据预测的带宽趋势、带宽值以及缓存占用情况,切片调度模型自适应选择最优码率包括:

s1、若当前第i个切片时的缓存占用q(t)满足q(t)<qmin,选择第i+1个切片的码率等级为最低码率等级,即li+1=r0;

s2、若当前第i个切片时的缓存占用q(t)满足qmin≤q(t)<qlow,根据带宽变化趋势选择第i+1个切片的码率等级;

s3、若当前第i个切片时的缓存占用q(t)满足qlow≤q(t)<qhigh,根据带宽带宽偏移系数cv和带宽变化趋势选择第i+1个切片的码率等级;

s4、若当前第i个切片时的缓存占用q(t)满足qhigh≤q(t)<qmax,延迟ts直到缓存占用下降到目标区间内后,根据cv和带宽变化趋势选择第i+1个切片的码率等级;

其中,qmin表示第一阈值,qlow表示第二阈值,qhigh表示第三阈值,qmax表示第四阈值。

优选的,步骤s2中根据带宽变化趋势选择第i+1个切片的码率等级包括:

s21、若第i个切片的下载速率小于等于第i-1个切片的下载速率,表示为di≤di-1,则采取保守下降策略,选择切片码率等级;

s22、若第i个切片的下载速率大于第i-1个切片的下载速率,表示为di>di-1,则采取保守上升策略,选择不高于带宽预测值的码率对应的等级。

优选的,步骤s3中根据带宽带宽偏移系数cv和带宽变化趋势选择第i+1个切片的码率等级包括:

s31、若cv>θ且di>di-1,采取激进上升策略,选择不低于带宽预测值的最小码率所对应的等级;

s32、若cv>θ且di≤di-1,采取保守下降策略选择第i+1个切片的码率等级;

s33、若cv≤θ,采取平稳保持策略,选择和第i个切片相同的码率等级;

其中,di表示第i个切片的下载速率。

优选的,采用激进上升策略选择第i+1个切片的码率等级包括:

其中,li+1表示第i+1个切片的码率等级;表示第i+1个切片带宽的预测值,rm表示第m个码率等级,s(rm)表示码率等级rm对应的码率,k表示码率等级的个数,r表示切片码率等级集合。

优选的,所述采取保守下降策略选择第i+1个切片的码率等级包括:

其中,li表示第i个切片的码率等级;s(li)表示第i个等级为li的切片的码率,表示第i+1个切片带宽的预测值。

优选的,所述采取保守上升策略选择第i+1个切片的码率等级包括:

其中,li+1表示第i+1个切片的码率等级;表示第i+1个切片带宽的预测值,rm表示第m个码率等级,s(rm)表示码率等级rm对应的码率,k表示表示码率等级的个数。

本发明主要包括带宽检测机制和切片调度模型两部分,通过算法中的带宽检测机制,客户端能够区分无线网络的短暂抖动效应以及持续变化趋势,同时预测可用带宽,并将这些信息传递给切片调度模型;切片调度模型,综合考虑带宽波动趋势、带宽预测结果、历史下载速率变化趋势和缓存占用情况,选择出合适等级的切片;本发明的方法考虑多组参数,对无线网络的带宽变化趋势做出准确判断的同时,可以“平滑”处理带宽的短暂波动;因此,本发明在维持较少码率切换次数的同时在视频播放过程中提供较高的平均码率,为观众提供良好的无线端视频体验质量。

附图说明

图1是本发明一种无线dash流媒体码率平滑自适应传输方法流程图;

图2是本发明缓存阈值设置图;

图3是本发明切片调度模型执行流程图;

图4为本发明实施例中带宽变化示意图。

具体实施方式

为使本发明的要解决的技术问题、技术有点和技术成效更佳清晰,以下将结合附图对本发明进行进一步说明,但是不作为本发明的限定。本发明还可通过不同的实施方式进行应用,对于发明中不同的观点和应用,在符合本发明基本精神下可进行合适的改变。

为了在维持较少码率切换次数的同时在视频播放过程中提供较高的平均码率,为观众提供良好的无线端视频体验质量,本发明提供一种无线dash流媒体码率平滑自适应传输方法,如图1,包括:

统计前n个切片的下载速率数据,预测无线网络的带宽趋势以及带宽值;

根据预测的带宽趋势、带宽值以及缓存占用情况,切片调度模型自适应选择最优码率。

若服务端将存储的视频进行切片,每个视频片段均具有k个不同码率等级{rm|r0,r1,…,rk-1},每个码率等级对应的码率为s(rm);

客户端从服务器获取mpd文件并提取相关信息,并完成对缓存区间的第一阈值qmin、第二阈值qlow、第三阈值qhigh、第四阈值qmax的初始化,缓存区间的第一阈值qmin、第二阈值qlow、第三阈值qhigh、第四阈值qmax之间的关系如图2,即0<qmin<qlow<qhigh<qmax;

客户端向服务器发起切片的get请求,以最低码率等级r0请求前三个切片,之后n-3(n≥10)个切片以不高于前一切片下载速率的最大码率下载。

执行带宽检测机制,统计最初n个切片的下载速率数据,在请求下载第n+1个切片之前,计算前n个切片下载期间的下载速率的平均值davg,和前n个切片下载速率数据的标准差σn,最后计算带宽的带宽偏移系数cv,通过判断带宽偏移系数cv是否处于稳定区间(0,θ)内;若带宽偏移系数cv在(0,θ)内,则计算最近m(m≤n)个切片下载速率的平均值作为带宽预测值;否则,使用ema公式计算带宽预测值;其中θ表示带宽偏移系数的稳定阈值。

根据预测的带宽趋势、带宽值以及缓存占用情况,切片调度模型自适应选择最优码率,具体包括:

s1、若当前第i个切片时的缓存占用q(t)满足q(t)<qmin,选择第i+1个切片的码率等级为最低码率等级,即li+1=r0;

s2、若当前第i个切片时的缓存占用q(t)满足qmin≤q(t)<qlow,根据带宽变化趋势选择第i+1个切片的码率等级;

s3、若当前第i个切片时的缓存占用q(t)满足qlow≤q(t)<qhigh,根据带宽带宽偏移系数cv和带宽变化趋势选择第i+1个切片的码率等级;

s4、若当前第i个切片时的缓存占用q(t)满足qhigh≤q(t)<qmax,延迟ts直到缓存占用下降到目标区间内后,根据带宽偏移系数cv和带宽变化趋势选择第i+1个切片的码率等级;

其中,延迟ts直到缓存占用下降到目标区间内再下载第i+1个切片是为了防止缓存上溢,延迟ts可表示为ts=q(t)-qhigh,q(t)表示当前的缓存占用;为了保持码率的平稳变化,同qlow≤q(t)<qhigh情形,考虑带宽偏移系数cv和带宽变化趋势选择码率等级。

在确定码率等级并完成切片下载后,客户端根据用户需要考虑是否继续请求缓存视频,如果是则利用滑动窗口选取最近n个已下载执行带宽检测机制,之后执行切片调度模型选择切片;如此循环,达到视频码率自适应效果。

本实施例中,若服务器中存储有某一视频内容的视频切片,服务端将存储的视频切为多个视频片段,每个视频片段具有k个码率等级,本例中k取10,码率等级由0到9,每个等级的码率分别取300kbps,450kbps,700kbps,1050kbps,1400kbps,2100kbps,2800kbps,3600kbps,4750kbps,5500kbps。

客户端从服务器获取mpd文件并提取相关信息:切片播放时长τ(本例取2s)、码率大小和相应等级,完成对缓存阈值(qmin=4s、qlow=50s、qhigh=70s、qmax=80s)的初始化。

本例实施例中n取12,当户端向服务器发起切片的get请求,以最低码率等级0请求前3个切片,之后9个切片以不高于前一切片下载速率的最大码率下载。

完成初始12个切片下载之后,统计它们的下载速率数据,在请求下载第13个切片之前,计算前12个切片的下载速率的平均值davg和标准差σn,最后计算带宽的带宽偏移系数cv,通过判断带宽偏移系数cv是否小于稳定阈值(本例带宽偏移系数的稳定阈值θ取0.2)内。若cv在(0,0.2)内,则计算最近10(本例m取10)个切片下载速率的平均值作为带宽预测值;否则,使用ema公式计算带宽预测值,并将带宽带宽偏移系数cv和带宽预测值传递给切片调度模型。

若需预测第i+1个切片的带宽则需要第(i-n+1)个切片~第i个切片这最近n个切片的下载速率的平均值davg、标准差σn以及带宽偏移系数cv,带宽偏移系数cv在数学理论中称为变异系数,可以认为和极差、标准差和方差一样,都是反映数据离散程度的绝对值。其数据大小不仅受变量值离散程度的影响,而且还受变量值平均水平大小的影响,最近n个切片的下载速率的平均值davg、标准差σn、带宽偏移系数cv表示为:

其中,di为已下载的第i个切片的下载速率,若第i个切片的码率等级为li,码率等级li对应的码率为s(li),第i个切片的播放时长为τ,第i个切片的下载花费的时长为t0,则di表示为

另外,若带宽偏移系数cv在集中(0,θ)之间时,则将网络状态看做是长期平稳或者短期波动,令最近的m个切片下载速率的平均值作为带宽预测值表示为:

若cv>θ,对于下载速率单调递增或者单调递减的情形,利用速率差值计算带宽预测值表示为:

其中,为第i+1个切片的下载速率与第i个切片下载速率差值的估计值,表示为:

其中,α为ema公式的平滑指数,α=2/(1+l),l为下载速率单调周期(单调递增或者单调递减)。其中,l的值根据切片下载速率变化趋势进行确定,通过分析△dj值的正负性,可以得出近期带宽的变化趋势是上升还是下降。若在一段时间内l个切片的下载速率差值都满足△dj≥0且l>3,j∈[i-l-1,i],则带宽变化趋势为持续上升;同理,若在一段时间内l个切片的下载速率差值都满足△dj≤0且l>3,j∈[i-l-1,i],则带宽一致性变化趋势为下降。否则若l≤3,带宽不具有一致性变化趋势,可当做平稳状态以均值作带宽预测值。δdj表示第j个切片的下载速率与第j-1个切片的差值,表示为:

δdj=dj-dj-1

若是在cv>θ时,切片下载速率不满足单调变化,则仍旧利用最近的m个切片下载速率的平均值作为带宽预测值

在计算出带宽偏移系数cv和带宽预测值之后,开始执行切片调度模型,得出第i+1个切片的码率等级,如图3,包括以下情形:

情形一:若当前缓存占用q(t)满足q(t)<4s,选择第i+1个切片的码率等级为li+1=0。

情形二:若当前缓存占用q(t)满足4s≤q(t)<45s,根据网络吞吐量变化趋势选择码率等级,具体表示为:

1)若变化趋势是呈下降,即di≤di-1(实际下载速率降低),则采取保守下降策略,选择切片码率等级,每一次向下切换至多三个等级,保守下降策略选择码率等级,表示为:

2)若变化趋势是呈上升,即di>di-1(实际下载速率升高),采取保守上升策略,选择不高于带宽预测值的码率对应的等级,保守上升策略表示为:

且rm∈r;

其中,r表示切片码率等级集合。

情形三:若当前缓存占用q(t)满足45s≤q(t)<70s,则根据cv和带宽变化趋势选择码率等级:

1)若cv>0.2且di>di-1,采取激进上升策略,选择不低于带宽预测值的最小码率所对应的等级,其中,激进上升策略表示为:

且rm∈r;

2)若cv>0.2且di≤di-1,同情形二中的1)采取保守下降策略选择第i+1个切片的码率等级;

3)若cv≤0.2且di≤di-1,采取平稳保持策略,选择和前一切片相同的码率等级;

情形四:70s≤q<80s,为防止缓存上溢,延迟ts直到缓存占用下降到目标区间内再下载第i+1个切片,其中ts=q(t)-80s;为了保持码率的平稳变化,同qlow≤q(t)<qhigh情形,根据cv和带宽变化趋势选择码率等级。

在确定码率等级并完成切片下载后,客户端根据用户需要考虑是否继续请求缓存视频,如果是则利用滑动窗口选取最近12个已下载执行带宽检测机制,之后执行切片调度模型选择切片;如此循环,达到视频码率自适应效果。

视频传输过程中网络带宽的变化如图4所示,在整个传输过程中,带宽变化有明显的短暂波动(第51秒至第54秒)、上下抖动区间(第154秒至第166秒)以及长期下降趋势(第87秒至第120秒)。

根据本发明的传输方法,将客户端请求的初始码率设置为300kbps。由图4所示,初始的网络带宽设定为3700kbps,而初始码率设定为300kbps,在以最低等级下载完前三个切片后,缓存快速上升,此时缓存占用会超过最低阈值。接着,后面9个切片根据前面切片的下载速率选择切片,视频码率迅速增大,此时缓存上升速率变小,但依旧保持上升。当前12个切片下载完成后,开始执行带宽检测机制,根据初始12个切片的下载速率估计带宽值,并判断带宽的平稳程度。由图4可知,在0s~51s播放启动期间带宽相对稳定,此时带宽带宽偏移系数小于0.2,缓存占用会由4s~45s逐渐过渡到45s~70s区间,视频码率维持在3600kbs水平。当客户端运行到第51秒时,带宽突然变大,但是估计带宽是依据51s之前的下载速率来选择的码率等级,所以选择的码率仍为3600kbps。在51s~54s,带宽急剧上升,但是持续时间不久,这段时间下载速率较大,但是在与前11切片求平均后计算的带宽偏移系数值仍在0.2以内,取最近的10切片的下载速率求平均值,将会超过稳定时期的带宽值3700kbps,但是达不到高于之前等级的码率4750kbps。因此,下一个切片等级仍然同之前,但是缓存占用略微上升。接下来的54s~87s由于带宽稳定在3700kbps,客户端会选择3600kbps的切片,缓存占用维持在比较稳定范围内。

当传输进行到87s秒后,带宽急剧下降至1700kbps,在这期间,最初的2~3切片依旧会按照接近于之前的码率等级来下载。之后,带宽带宽偏移系数明显增大,超过阈值0.2。缓存也开始增加,这时候带宽检测机制切换至ema指数计算带宽估计值,客户端开始以2~3个步长降低视频码率等级,直至降低到当前带宽以下,带宽带宽偏移系数降到0.2以下,宽检测机制切换至以均值作为带宽估计值,码率将稳定在1400kbps。当传输进行到120s秒后,带宽瞬间恢复到3700kbps,同样,最初的2~3切片依旧会按照接近于之前的码率等级来下载。之后,带宽带宽偏移系数明显增大,超过阈值0.2。缓存开始快速下降,这时候带宽检测机制切换至ema指数计算带宽估计值,客户端开始以激进上升策略迅速提升码率等级,恢复到3600kbps水平。

当传输进行到154s秒后,带宽进入到高频振动区间,此时但个切片的下载速率很不稳定,但是平均值相对波动较小,带宽偏移系数仍能够稳定在0.2以下,因此带宽预测值小幅度波动稳定,略低于3700kbps,客户端将选码率下调并稳定在2800kbps的切片。最后,在166s~200s期间,视频码率再次迅速恢复到3600kbps水平。

本发明对无线网络变化特点进行了分析,并通过多组参数来控制码率自适应过程,在保证较少码率切换次数的条件下,为客户提供较高的视频码率,且尽量避免码率阶跃和骤降等情况出现,而码率偏移率的引入能够较快将初始码率切换到高码率上去,同时能够保证较低的初始播放时延,从而提供较好的qoe。

本发明通过综合考虑带宽、缓存以及历史下载速率,在保证平滑无线网络短暂波动的条件下,为客户提供较稳定的视频画质,且尽量避免码率阶跃和骤降等情况出现。同时,考虑激进上升和保守下降策略选择码率能够将视频维持在较高码率,从而提供较好的qoe。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。

以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1