APP下载

基于DASH标准的码率平滑切换算法

2019-08-01黄胜付园鹏张倩云

计算机应用 2019年4期
关键词:预测值切片一致性

黄胜 付园鹏 张倩云

摘 要:針对现有的基于超文本传输协议的动态自适应流(DASH)码率自适应算法在无线网络环境中码率切换频繁以及平均码率偏低的问题,提出一种基于DASH标准的码率平滑切换(RSS)算法。首先,算法的带宽检测机制利用滑动窗口对历史下载速率进行取样以计算带宽偏移系数,根据带宽偏移系数的大小初步判断带宽的波动情况,并对波动较大的情况进一步确定是否存在一致性变化趋势,从而区分出带宽的持续变化和短暂抖动,同时计算出相应情况下的带宽预测值;其次,算法的码率决策模型综合考虑带宽波动情况、缓存占用和变化情况及带宽预测值等,并且分别采取快速缓冲(FB)、缓慢切换(SS)、快速上升(FR)、约束下降(LD)、稳定保持(SH)策略和休眠机制对码率选择过程进行动态控制。实验结果表明,与基于模糊逻辑的码率自适应算法以及吞吐量调节驱动的码率自适应算法相比,该算法在播放开始时能够在最短时间内将视频码率提升到最佳水平,提高视频播放过程中的平均码率,在播放过程中带宽骤变和交替性频繁波动情况下都能够很好地维持视频码率的稳定,将切换次数降到最低,从而获得良好的无线端视频体验质量。

关键词:无线网络;基于超文本传输协议的动态自适应流;带宽检测;带宽一致性变化趋势;体验质量

中图分类号:TN919.8;TP393

文献标志码:A

文章编号:1001-9081(2019)04-1122-05

Abstract: Concerning the fact that the existing rate adaptation algorithms based on Dynamic Adaptive Streaming over HTTP (DASH) have frequent bitrate switching and low average bitrate in wireless network, a Rate Smooth Switching (RSS) algorithm based on DASH standard was proposed. Firstly, a sliding window was used by the bandwidth detection mechanism of the algorithm to sample the download speed of historical segments to calculate the bandwidth offset coefficient, the fluctuation of the bandwidth was initially determined according to the value of offset coefficient, and the situation of the fluctuation was further determined whether there was a consistent variation trend, thereby distinguishing continuous variation and short-term jitter of the bandwidth, and the bandwidth prediction value corresponding to each circumstance was calculated. Secondly, with bandwidth fluctuation, buffer occupancy and variation, bandwidth prediction value considered, the rate decision model of the algorithm adopted Fast Buffering (FB), Slow Switching (SS), Fast Rising (FR), Limited Declining (LD), Stable Holding (SH) strategies and sleeping mechanism to dynamically control the video bitrate selection process. The experimental results show that compared with fuzzy-based DASH rate adaptation algorithm and modulated throughput driven rate adaptation algorithm, the proposed algorithm can not only increase the bitrate to optimum level in the shortest time at the beginning of video playback to improve the average bitrate, but also minimize the number of bitrates' switching in the case of sudden change and frequent fluctuation of bandwidth, thus obtaining a good quality of experience for wireless video users.

Key words: wireless network; Dynamic Adaptive Streaming over HTTP (DASH); bandwidth detection; consistent variation trend of bandwidth; Quality of Experience (QoE)

0 引言

近年来,以音视频为主的多媒体内容一直是互联网流量的主要增长点,由于在传输视频数据时很少会根据当前的网络环境和终端设备的状态来动态调节传输参数,传统的流媒体技术已经很难满足移动端视频用户的业务需求;于是,基于超文本传输协议(Hyper Text Transfer Protocol, HTTP)的动态自适应流(Dynamic Adaptive Streaming over HTTP, DASH)[1]应运而生,作为一种新兴的流媒体传输技术,DASH通过在服务端存储多种码率的视频切片,使终端用户可以根据自身的需求和网络条件自适应地选择最佳码率的切片进行下载、播放,大幅提高了视频终端的主动性和播放质量。此外,DASH还具有部署成本低、拓展性强、兼容性好等诸多优点[2]。现有基于DASH标准的码率自适应算法主要包括两类:

一类是基于缓存的码率自适应算法,例如文献[3]提出的是一种基于缓存分区的码率自适应算法,其通过对缓存分等级设置不同的倍增系数决定待请求切片的估计码率;文献[4]提出基于模糊逻辑的FDASH(Fuzzy-based DASH)码率自适应算法,根据缓存增量变化以及当前缓存与目标缓存的差值,实现模糊控制系统选择合适码率。

基于缓存的码率自适应算法通过考虑缓存占用率和缓存变化率完成对自适应策略的建模能够有效减少网络条件剧烈变化对视频码率稳定性的负面影响,保证视频流畅播放;但是不能灵活、快速地跟随网络切换视频码率,容易造成带宽资源利用不足、平均码率偏低。

另一类是基于带宽的码率自适应算法,例如文献[5]提出了一种基于MACD(Moving Average Convergence and Divergence)的带宽估计方案,利用股市预测中的EMA(Exponential Moving Average)指数计算可用带宽后进行码率适配;文献[6]中提到Adobe公司的开源媒体框架(Open Source Media Framework,OSMF)流媒体播放器,其自适应机制则是根据最近请求的两个片段的下载时长来估计可用带宽,从而选择不高于该估计值最大码率的切片进行下载。

基于带宽的码率自适应算法研究重点在于如何准确可靠地预测可用带宽,这类方法有效实现了码率的灵活、快速切换;但是在网络状态不稳定的环境下,码率会随着带宽变化频繁切换,导致播放不流畅。无线链路由于是利用电磁波来传输数据,信号传输过程中易受干扰、信道的时变性比较强[7],因此将两类码率自适应算法直接运用于无线端容易造成视频码率切换频繁或平均码率偏低。

针对上述问题,本文综合考虑带宽和缓存两方面因素,提出一种基于DASH标准的码率平滑切换(Rate Smooth Switching, RSS)算法,针对多种网络变化情况制定更加细致、高效的码率自适应策略,提升移动端视频用户体验质量(Quality of Experience, QoE)。

RSS算法主要包括带宽检测机制和码率决策模型两部分。带宽检测机制能够区分带宽的短暂波动和持续变化,对带宽的“尖峰”进行平滑处理并计算带宽预测值;码率决策模型则综合考虑带宽波动情况、带宽预测结果、缓存变化等情况,采取相应的调整策略对切片码率进行自适应选择。

1 DASH流媒体码率平滑切换算法

1.1 带宽检测机制

其中:为最近请求的N(N≥10)个切片的下载速率的平均值;σN为N(N≥10)个切片的下载速率的标准差。

第i个切片的下载速率可以参考文献[9],由第i个切片数据量,即切片码率S(li)与其持续时长 τ 的乘积,除以下载该切片花费的时间得到,如式(4)所示:di=S(li)·τΔti(4)

下载切片所花费时间则近似看作该切片下载完成时刻减去前一切片下载完成的时刻[9],计算公式如式(5)所示:

带宽偏移系数cv显示了最近N个切片实际下载速率值的离散程度,cv的值较小时说明带宽在一段时间内波动变化小,盡管可能存在短暂大幅波动,但链路带宽整体变化趋势是相对平稳的;反之,cv的值较大时说明带宽具有持续性大幅波动。因此,定义一个稳定阈值θ,用来衡量当前带宽的波动程度:若偏移系数cv在(0,θ)内时,当前链路带宽处于平稳状态;否则,带宽存在持续较长时间的大幅度波动。

在完成对带宽波动情况的判断之后,带宽检测机制还需要进一步计算带宽预测值,记作

d ~i+1

。考虑到带宽预测值与带宽波动情况有很大相关性,因此,对不同波动情况下的带宽预测值进行分类讨论:1)对于cv≤θ,即带宽处于平稳状态的情形,考虑到带宽可能存在短暂波动,利用最近M(M≤N)个切片下载速率的平均值作为带宽预测值,能够较好地降低带宽骤变对视频码率稳定性的不良影响。

2) 对于cv>θ,即带宽处于持续性大幅波动状态的情形,考虑到该情形下切片实际下载速率有可能跟历史数据的平均值相差很大,因此本文引入切片下载速率差值对带宽的一致性变化趋势进行判断,定义为第i个切片下载速率相对第i -1个切片下载速率的增量,如式(6)所示:

通过分析Δdi的值,可以确定短期内带宽的变化趋势是上升还是下降。定义L为带宽一致性变化的动态周期,此外,关于带宽是否存在一致性变化趋势的判断,考虑到L值较小的情况,不能确定带宽是否具有长期一致性变化趋势,因此对于周期L需要设定一个阈值TL,当L ≤ TL时,此时带宽整体变化趋势并不明显,上升和下降情况交替出现,不具有一致性变化特征,仍由M个切片下载速率的平均值作为带宽预测值。

1.2 码率决策模型

算法在执行完带宽检测机制后,接着对切片码率进行选择,本文算法对最大可容纳时长为q的缓存空间设置两个阈值:qmin和qmax,如图1所示。两个缓存阈值之间的区域为目标缓存区间,且目标区间的中值为目标缓存值qtar,即qtar=(qmin+qmax)/2。

2)若cv> θ 且L ≤ TL,即带宽已出现大幅波动但还不能确定具有一致性变化趋势时,考虑带宽可能出现较大幅度的短暂波动,因此,对于码率选择采取稳定保持(Stable Holding, SH)策略,選择和前一切片相同的码率等级,即 li+1=li。

3)若cv>θ且L > TL,即带宽变化趋势具有明显一致性时,考虑带宽具有较大幅度的长期波动,且分两种情况:长期大幅上升及长期大幅下降。对于上升趋势,采取快速上升策略,即选择不高于带宽预测值的最小码率所对应的等级,在最短时间内提升码率等级至可用带宽允许的最佳水平;对于下降趋势,考虑在播放过程中,减小视频码率时切片码率等级不宜一次性下降幅度过大,因此对码率等级向下调节过程采取步长约束方法。以上内容的具体实现方法如下所述:

②若Δdi递减,带宽具有长期大幅下降趋势,采取约束下降(Limited Declining, LD)策略,优先码率等级的下降幅度,即一次性下降的码率等级限定最多不超过3,在此基础上尽可能地选取低于带宽预测值的最佳码率。

情形三 若当前缓存时长q(ti)满足qmax≤q(ti)

1.3 算法执行流程

考虑到本文算法需要利用滑动窗口取N个切片实际下载速率作为带宽检测的数据样本,因此,在初始启动阶段,首先以最低码率等级r0请求前三个切片,之后N-3个切片的下载则采取快速上升策略切换码率,在保证缓存充足的情况下以最快的速度将视频码率提升到当前带宽所允许的最佳水平。

RSS算法的执行流程描述如下:输入 切片序号i、第i个切片的码率等级li、第i个切片下载完成时刻ti以及缓存占用水平q(ti)。

输出 第i+1个切片的码率等级li+1、休眠时长ts。

1)带宽检测机制。

①若i

②启动滑动窗口采集数据样本,计算最近N个切片实际下载速率的cv、和σN。

③判断偏移系数是否小于阈值,若cv≤θ,计算最近M个切片实际下载速率平均值作为d ~i+1并执行步骤⑤;否则,继续向下执行。

④利用下载速率差值判断带宽变化趋势是否具有一致性,若L≤TL,计算最近M个切片实际下载速率平均值作为d ~i+1;否则,计算下载速率差值的预测值与第i个切片下载速率之和,得到d ~i+1。

⑤结束带宽检测。

2)码率决策模型。

①若i<3,返回li+1=r0,直接执行步骤⑨;否则,继续向下执行。

②若3≤i

③判断缓存占用水平,若q(ti)

④确定返回的休眠时长,若q(ti)>qmax,返回ts=q(ti)-qmax并更新q(ti);否则返回ts=0。

⑤判断带宽波动情况,若cv≤ θ,执行步骤⑥;否则执行步骤 ⑦。

⑥计算平滑可用带宽,采取SS策略返回li+1,执行步骤⑨。

⑦判断是否具有一致性变化趋势,若L≤TL,采取SH策略返回li+1并执行步骤⑨;否则,继续向下执行。

⑧判断一致性变化趋势为上升还是下降,若为下降,采取LD策略返回li+1;否则采取FR策略返回li+1。

⑨结束码率选择。

2 性能仿真与分析

2.1 仿真环境与参数

为验证本文算法的自适应效果,采用NS3中DASH模块进行仿真。操作系统为Ubuntu 14.04,主机CPU为2.3GHz,RAM为4GB。

将文献[4]中FDASH码率自适应算法和文献[12]中针对无线网络设计的吞吐量调节驱动的码率自适应(Modulated Throughput Driven Rate Adaptation, MTDRA)算法作为比较对象,对3种码率自适应算法在相同网络环境下进行仿真,并分析其结果。在算法的验证实验中,将RSS算法的滑动窗口长度N设为12,计算带宽预测值所需数据个数M设为10,带宽一致性变化周期阈值TL设为3,播放缓存阈值qmin、qmax分别设置为4s、75s,带宽偏移系数的稳定阈值θ设置为0.2。FDASH算法的目标播放缓存设置为35s,吞吐量估计周期设置为10s,输出成员函数的系数N1、N2、Z、P1、P2分别设置为 0.5、0.25、1、1.5、2。将MTDRA算法的平滑因子γ设置为0.5,缓存阈值Bl、Bh分别设置为20s、60s。本文实验中服务端存储的视频码率设定为500Kb/s、700Kb/s、1000Kb/s、1300Kb/s、1600Kb/s、2000Kb/s、2550Kb/s、3100Kb/s、3650Kb/s、4200Kb/s十种版本,为保证尽可能低的初始播放时延,将初始码率设置为r0[13],即所有的算法初始码率都选择为500Kb/s,视频切片的持续时长τ设置为2s,仿真时长设置为400s。

2.2 仿真结果分析

DASH码率自适应算法动态调整码率的目的是为了让用户在带宽不稳定环境中获得良好QoE。根据文献[14]的研究表明,QoE的主要影响因素为:视频码率、码率切换的频率及幅度、播放停顿次数及停顿时长。其中,视频播放的流畅程度对于用户的QoE影响最大,而视频的平均码率和切换的次数同样会对用户的QoE产生影响,平均码率高则意味着带宽利用率高、视频画质更加清晰,码率切换次数过于频繁则会增加用户的视觉疲劳。另外,播放的初始时延对于用户的体验质量也至关重要,考虑到本文在仿真时将三种算法的初始码率都设置为500Kb/s,因此初始时延相同,而且FDASH算法、MTDRA算法与RSS算法都有相应的缓存控制机制,在仿真过程过程中未出现缓存下溢(表现为播放中断)情况,所以本文选择播放平均码率和码率切换次数作为码率自适应算法的QoE评价指标。

圖2(b)显示了三种算法在图2(a)所示带宽缓慢变化过程中的码率选择结果,FDASH 码率自适应算法在仿真开始时将视频切片码率稳定在700Kb/s,仿真持续到80s左右时,FDASH算法选择的码率才攀升至当前带宽允许的最佳水平,即2000Kb/s,在之后的仿真过程中,FDASH算法能够获得很好的自适应效果。考虑到现实网络环境中视频终端接入网络时,带宽并不是由0Kb/s逐渐增大,所以FDASH算法在终端接入网络后,初期的码率自适应过程可能如仿真结果所示,需要花费较长时间将视频码率调节至带宽允许最大可用水平,这将会明显降低视频播放初期的用户体验质量。相比之下,MTDRA算法能够在初始阶段较快地将码率提升到最佳水平,在整个仿真过程中也取得了不低的平均码率,但是由于MTDRA算法努力将缓存控制在目标区间内,所以增加了一些不必要的码率切换次数,降低了播放过程中用户体验质量。至于本文提出的RSS算法,在视频播放的初始阶段则能够在最短时间内将码率提升至最佳的水平,充分利用带宽资源,提高整个播放过程中的平均码率。在仿真的中后期,RSS算法每次切换码率的时刻相对于FDASH算法略微滞后,但也都能准确、及时地跟随带宽变化对视频码率进行相应的调整。

图3(a)中显示了链路实际带宽变化与RSS算法的估计带宽变化的对比效果,RSS算法的带宽检测机制平滑处理了带宽的两次“尖峰”跳变,在150~180s带宽周期性波动期间也能够较好平滑带宽估计值。

图3(b)是三种算法在图3(a)所示带宽剧烈波动过程中码率选择结果,FDASH算法在仿真开初始阶段的码率自适应过程与图2(b)中类似,需要花费较长时间提升码率至最佳水平。在之后带宽周期性波动期间,FDASH算法能够很好地维持码率的稳定,降低码率切换频率,但是在带宽两次短暂跳变过程中,FDASH的码率却出现了明显的抖动。MTDRA算法在带宽两次短暂跳变过程中都能很好地维持码率稳定,降低切换频率,但是在带宽周期性波动的后期,码率发生了明显地上下抖动。同前面带宽缓慢变化情况下一样,RSS算法在仿真初始阶段能迅速将码率调整到最佳水平,在之后带宽两次短暂跳变、周期性波动期间,都能够很好地维持码率稳定,大幅降低带宽剧烈波动环境中码率切换频率。另外,在250~310s链路传输速率处于持续“低迷”情况下,RSS算法能够较长时间维持相对较高的码率水平,从而提高整个仿真过程中的平均码率。

表1显示了三种码率自适应算法分别在图2(a)和图3(a)带宽变化情况下的QoE指标统计结果,可以看出:在带宽缓慢变化情况下,RSS算法能够在切换次数最少的基础上获得最大的平均码率,分别高出MTDRA算法和FDASH算法55.0Kb/s和192.9Kb/s;在带宽剧烈波动情况下,RSS算法的平均码率依然高于另外两种码率自适应算法,在切换频率上,RSS算法在仿真过程中切换了8次码率,少于MTDRA算法和FDASH算法的12次和15次,即在带宽波动幅度较大、频率较高的情况下,RSS算法的码率自适应过程比另外两种算法码率切换次数更少,稳定性更好。

3 结语

针对无线网络环境中,现有DASH码率自适应算法在视频播放过程中码率切换频繁以及带宽利用率偏低的问题,本文提出一种基于DASH的流媒体码率平滑切换算法,利用带宽检测机制对当前可用带宽进行平滑估计,同时利用码率决策模型中的不同码率等级调整策略动态选择视频码率。实验结果表明,本文算法能够较好减少带宽短暂波动时码率切换次数且取得较高平均码率,为无线端视频用户提供良好的QoE。下一步工作将在实际视频传输系统中应用本文算法,对移动客户端码率切换效果进行分析,并对局域网多客户端视频传输算法进行研究。

参考文献(References)

[1] 朱晓晨,沈苏彬. 基于HTTP的动态自适应流技术综述[J]. 系统仿真学报, 2013, 25(11): 2522-2527. (ZHU X C, SHEN S B. Survey of HTTP-based dynamic adaptive flow technology [J]. Journal of System Simulation, 2013, 25(11): 2522-2527.)

[2] STOCKHAMMER T. Dynamic adaptive streaming over HTTP — standards and design principles [C]// Proceedings of the 2011 Annual ACM Conference on Multimedia Systems. New York: ACM, 2011: 133-144.

[3] CHRISTOPHER M, LEDERER S, TIMMERER C. An evaluation of dynamic adaptive streaming over HTTP in vehicular environments[C]// Proceedings of the 2012 ACM 4th Workshop on Mobile Video. New York: ACM, 2012:37-42.

[4] VERGADOS D J, MICHALAS A, SGORA A, et al. FDASH: a fuzzy-based MPEG/DASH adaptation algorithm [J]. IEEE Systems Journal, 2016, 10(2): 859-868.

[5] VU V H, CHUNG T Y. Bandwidth estimation based on MACD for DASH [C]// Proceedings of the 2016 10th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing. Piscataway, NJ: IEEE, 2016: 176-181.

[6] AKHSHABI S, BEGEN A C, DOVROLIS C. An experimental evaluation of rate-adaptation algorithms in adaptive streaming over HTTP [C]// Proceedings of the 2011 ACM Conference on Multimedia Systems. New York: ACM, 2011: 157-168.

[7] 李陶深, 蔣波, 葛志辉. 移动流媒体动态自适应速率选择算法研究 [J]. 广西大学学报(自然科学版), 2017, 42(6): 2198-2207. (LI T S, JIANG B, GE Z H. On the dynamic adaptive rate selection algorithm of mobile streaming media [J]. Journal of Guangxi University (Natural Science Edition), 2017, 42(6): 2198-2207.)

[8] 靳雁霞, 马光远, 雷海卫. 基于DASH的混合控制码率算法[J]. 计算机应用, 2017, 37(10): 2907-2911. (JIN Y X, MA G Y, LEI H W. Hybrid control rate algorithm based on DASH protocol[J]. Journal of Computer Applications, 2017, 37(10): 2907-2911.)

[9] SHEN H, LIU Y T, WANG T Y, et al. QoE-optimal rate adaptation for HTTP adaptive streaming [C]// Proceedings of the 2016 IEEE/CIC International Conference on Communications in China. Piscataway, NJ: IEEE, 2016: 1-6.

[10] ZHOU C, ZHANG X G, HUO L S, et al. A control-theoretic approach to rate adaptation for dynamic HTTP streaming [C]// Proceedings of the 2012 Visual Communications and Image Processing. Piscataway, NJ: IEEE, 2012: 1-6.

[11] MILLER K, QUACCHIO E, GENNARI G, et al. Adaptation algorithm for adaptive streaming over HTTP [C]// Proceedings of the 2012 19th International Packet Video Workshop. Piscataway, NJ: IEEE, 2012: 173-178.

[12] VENKATA P K M, MAHAPATRA S. A modulated throughput driven rate adaptation algorithm for dynamic HTTP streaming[C]// Proceedings of the 2016 International Symposium on Wireless Communication Systems. Piscataway, NJ: IEEE, 2016: 143-147.

[13] 黄胜, 胡凌炜, 付园鹏. 基于状态机的视频码率自适应算法[J]. 计算机应用, 2018, 37(7): 2001-2004. (HUANG S, HU L W, FU Y P. State machine based video rate adaptation algorithm [J]. Journal of Computer Applications, 2018, 37(7): 2001-2004.)

[14] SEUFERT M, EGGER S, SLANINA M, et al. A survey on quality of experience of HTTP adaptive streaming [J]. IEEE Communications Surveys & Tutorials, 2015, 17(1): 469-492.

猜你喜欢

预测值切片一致性
离散异构线性多智能体系统的输出一致性
AI讲座:ML的分类方法
新局势下5G网络切片技术的强化思考
基于学科核心素养的“教、学、评”一致性教学实践——以“电解质溶液”教学为例
5G网络切片技术增强研究
自体荧光内镜对消化道肿瘤诊断临床应用分析
基于Paxos的分布式一致性算法的实现与优化
网络切片标准分析与发展现状
5G网络切片管理架构设计探讨
季节模型在某医院月门诊量预测中的研究与应用