基于多个网络接口的DASH系统设计与实现
2017-08-12周传杰徐跃东
周传杰 陈 哲 张 旭 徐跃东
1(复旦大学计算机科学技术学院 上海 201203) 2(网络信息安全审计与监控教育部工程研究中心 上海 201203) 3(复旦大学电子工程系 上海 200433)
基于多个网络接口的DASH系统设计与实现
周传杰1,2陈 哲1,2张 旭1,2徐跃东3
1(复旦大学计算机科学技术学院 上海 201203)2(网络信息安全审计与监控教育部工程研究中心 上海 201203)3(复旦大学电子工程系 上海 200433)
对基于HTTP协议的动态自适应流媒体来说,客户端可以根据不同的网络状况自适应地调整请求的视频比特率。当前DASH的研究主要集中于单链路的比特率切换算法的设计。而考虑到移动终端拥有多个网络接口以及短视频的播放流行度,开发一个基于LTE/Wi-Fi的多接口DASH系统——PASM(Predictive Adaptive Streaming system over LTE/Wi-Fi Multiple access networks)。PASM从两个互补方面提高了DASH性能,一方面,减少了由于两条链路异构性造成的视频块的乱序到达,充分利用两条链路的带宽之和进行DASH传输,提高了请求视频的质量;另一方面,在剩余请求视频时长不多时,采用一种更加激进的视频比特率请求算法,减少了带宽的不充分利用,提高了视频的平均比特率。实验结果表明,在各种链路带宽差异的网络下,PASM保证了视频比特率的平滑切换,同时提高了视频平均比特率。
DASH 多接口网络 乱序
0 引 言
对于当前的网络接入商和内容服务商来说,如何提供令人满意的流媒体服务质量是一件极具挑战性的工作。其主要困难在于流媒体在传输过程中,由于无线移动网络的信号衰落、干扰和拥塞的影响,吞吐量会不断变化。这促使了流媒体服务从单一比特率的服务向基于HTTP协议的动态自适应流媒体(DASH)转变。DASH是一种客户端驱动的流媒体技术,服务端不需要复杂的体系结构。DASH将同样一个视频编码成多个版本的比特率,并将每个版本无缝分割成许多细小的视频片段(chunk)。片段的长度通常在2~10秒,客户端通过感知网络条件请求合适比特率的视频段,从而较好地避免了视频播放停顿,并提供了相对较高的视频平均比特率。
近年来,DASH已经有了商业化的应用,例如Akamai的HD Streaming,Adobe的OSMF以及Netflix等。这些应用的核心部分就是比特率切换算法的设计,即客户端动态调整请求视频块的比特率策略设计。文献[3]的作者对多个经典的DASH系统在不同的网络变化下进行测量和分析,指出了这些系统在比特率切换算法设计上的局限性。并且他们还在文献[2]中进行了一系列的实验并指出了DASH传输过程中造成比特率波动的根本原因。之前的研究倾向于利用控制或决策理论进行高级的比特率控制器设计,比如文献[7]通过设计比例积分微分(PID)控制器来维持客户端缓冲队列长度的稳定,以此获得更好的用户体验(QoE)。在文献[7]的基础上,文献[4,9]的作者分别使用了PI控制器和PD控制器对 DASH 系统性能进一步优化。文献[11]的作者采用MDP模型进行了比特率切换算法设计,表现了不错的性能。文献[12]的作者则是利用TCP协议中AIMD思想设计了名为PANDA的比特率切换算法。文献[13]的作者对DASH的QoE进行了公式化,同时利用MPC控制器设计了比特率切换算法。近年来,文献[6]采用了一种更加简单有效的比例控制器,只根据缓冲队列长度线性决定请求的视频比特率。而在MobiCom2015上,针对应用层上观察到LTE网络带宽波动的随机性,文献[14]的作者直接根据LTE网络物理层资源块的分配情况做测量分析,非常准确地估计当前用户可拥有的带宽,很好提升了DASH在LTE网络中的性能。以上的工作都是基于HTTP/1.1协议设计DASH系统,随着HTTP/2的正式发布,部分学者也基于HTTP/2协议设计了DASH系统,例如文献[8,15]。
本文设计并实现了基于多个网络接口的DASH系统——PASM,对DASH的QoE做了进一步的优化。PASM主要由两个互补部分组成,第一个部分利用当前移动终端配有多个网络接口这一现状,客户端可以同时通过LTE和Wi-Fi进行视频块的传输,从而获得更高的可利用带宽。然而由于不同网络的异构性,视频块的乱序到达可能会造成客户端缓冲队列的波动,因此,我们设计了一系列简单有效的策略来解决视频块的乱序到达问题,视频块的有序到达保证了视频缓冲队列的稳定,进而保证了视频比特率的平滑切换。与之前其他人在多接口方面的工作[5]相比,PASM采用了标准的DASH协议进行比特率切换逻辑的设计,而不允许将视频块切成更小视频段,进而将视频段请求任务分配到多个链路。第二部分利用了现有工作常被忽略的额外下载时间,当剩余请求视频时长不多的情况下,请求比特率高于当前可用带宽的视频块,这种策略有效地提高了视频平均比特率,同时减少了视频比特率的切换,该策略对于短视频的QoE提升尤为显著。最后,我们在NS-3仿真平台[1]上实现了PASM,之所以采用NS-3作为开发环境,一方面是NS-3比较真实地模拟了网络协议栈,并且该实现更容易移植到真实环境中;另一方面,在NS-3中可以方便地对实验网络进行控制,尤其是LTE网络,而在真实环境中通常没法对于LTE网络加以控制。
1 研究动机
1.1 多网络接口DASH的潜在局限性
在DASH系统中,由比特率切换算法决定每次请求的视频块比特率。目前比特率切换算法的设计主要有两种思路:一种是基于客户端实时估计的可用带宽值决定下一次请求的比特率;另一种是基于客户端缓冲队列长度决定下一次请求的比特率。
基于带宽估计的比特率切换算法根据客户端测量到的实时吞吐量,估计当前可用带宽,继而请求比特率与当前带宽匹配的视频块。这种算法的优点在于可以快速响应网络带宽的变化并做出调整,然而缺点是由于无线网络带宽波动频繁,可能会引起请求视频比特率的频繁波动。
基于客户端缓冲队列长度的比特率切换算法根据客户端缓冲区的状态确定下次请求的视频比特率。客户端缓冲队列越长说明客户端可以支持更高比特率的视频请求。相反,如果客户端缓冲队列减少说明当前的带宽无法维持当前比特率的视频请求,所以请求更低比特率的视频块。
虽然这两种类型的算法被广泛运用于目前的单接口DASH系统中,但是把它们部署于多接口无线网络中仍十分具有挑战性。首先,由于无线网络的不稳定,很难准确地估计出当前的可用带宽,用于确定下次请求的视频比特率;其次,多个网络接口网络的异构性增加多接口请求算法设计的难度。举个例子,如果两条链路的可用带宽相同,系统可以分配给每条链路相同比特率的视频块请求任务。否则,如果两条链路带宽差异明显,每条链路只根据当前链路的可用带宽请求比特率与之匹配的视频块,那会造成严重的比特率波动。而在两条链路差异明显的情况下,每条链路请求的视频块比特率如果又一致,为了保证视频块有序到达客户端,带宽大的链路下载完成当前视频块后必须长时间地等待带宽小的链路完成视频块的请求任务,造成了带宽大的链路的带宽资源不充分利用。
因此,设计基于多无线网络接口的DASH系统时,算法设计即需要对于无线网络变化做出及时调整,同时需要充分考虑每条链路的特性以及总的带宽之和。
1.2 短视频分析
跟国内最大的流媒体服务提供商之一(腾讯视频)合作,我们得到了一段时间用户通过移动终端观看视频的行为记录(从 2014/09/01 至 2014/09/15,超过 30 亿条记录)。通过我们的统计与测量结果(见图1)发现,视频长度小于500 s的观看记录占了52%,在这52%的比例中,又有65%的记录看完了整个视频。因此,不难得出相比于长视频,短视频被用户观看更频繁,被看完的概率也更大。短视频播放时长短的特性表明了用于短视频请求的比特率切换算法没法像长视频一样维持一个非常大的缓存,通过缓存减少网络频繁波动对于视频请求的影响。因此,我们需要设计一种快速响应的比特率切换算法用于优化用户观看短视频的QoE。
图1 观看记录统计
2 系统设计
2.1 设计PASM的挑战与概述
针对多接口的场景,PASM的设计有三个挑战:
1) 视频块有序到达。由于LTE网络与Wi-Fi网络在链路特性上存在明显的差异,如 RTT、带宽等。对于大小相同的数据,两条链路的下载时间可能相差很大。因此,如何确定请求视频块的比特率,如何分配每条链路的视频块下载任务,从而保证视频块的有序到达,是一个极具挑战性的工作。
2) 视频块比特率的确定。考虑到多条链路的带宽差异,如果仅根据每条链路的带宽情况去确定每条链路请求的视频块比特率,对视频平均比特率的提升意义不大,并可能造成视频比特率的频繁波动;而根据多条链路的带宽之和去决定请求的视频块比特率,可能会导致带宽小的链路下载视频块所花的时间太长,出现缓冲区耗竭,视频播放停顿的情况。因此,在多接口环境中,视频比特率的确定是主要挑战之一。
3) 尾阶段的视频请求处理。目前主流的DASH系统为了保证性能,通常在整个请求过程中维持视频缓冲队列的稳定。这导致整个视频请求结束后存在一段较长只播放视频而没有新的下载任务的时间。因此,考虑是否可以在尾阶段(即剩余请求视频块不多的情况下),请求比特率高于当前带宽的视频块,减少这段较长时间,提高带宽的利用率,进而提高视频的平均比特率。这种做法对于短视频的QoE优化尤为显著。然而如何在不影响其他DASH性能指标的前提下,提高视频平均比特率,是PASM设计的第三个挑战。
PASM是一个客户端驱动的流媒体系统,服务器采用的是普通的HTTP服务器。PASM的框架如图2所示。
图2 PASM框架
以下是PASM的基本工作步骤:
步骤1系统初始化——主要包括系统初始配置文件的加载以及MPD文件的请求和解析。MPD文件包括了请求视频的所有信息,比如可请求的比特率版本、视频块长度以及视频块的请求地址等。该文件在客户端请求视频之前被下载。
步骤2带宽估计——在请求视频块前,需要对每条链路的带宽进行估计,本文中采用的带宽估计方法为指数加权移动平均值法[10](EWMA),本文中权值取0.6。
步骤3请求比特率的选择——PASM根据当前缓冲队列长度确定下次请求的视频块比特率。
步骤4链路选择——由于Wi-Fi和LTE的网络异构性,根据各自链路的带宽估计,为每条链路分配不同序号的视频块请求任务,保证视频块的有序到达。
步骤5异常处理——对请求过程中出现的特殊情况进行处理,其中包括乱序处理、饥饿链路带宽探测、视频时长感知分析。
步骤6视频播放——客户端对接收到的视频块进行解码并播放。
其中步骤2至步骤6将重复执行直至整个视频会话结束,而PASM的设计细节在下节会作进一步说明。
2.2 PASM设计
PASM共由多个模块构成(见图2)。接下来,将会详细介绍这些模块如何在多网络接口环境下工作。
2.2.1 比特率选择
在设计逻辑上,我们是先确定请求视频块的比特率,再确定下载链路。这样做的优势在于不需要为每条链路设计一个专门的比特率选择模块,简化了系统设计。同时减少了由于多条链路带宽差异造成对视频比特率确定的影响。当系统中出现至少一条链路处于空闲状态的时候,比特率选择算法会根据已有的信息决定下一次请求的视频比特率。这边比特率选择算法的设计,我们借鉴了文献[12]中的单接口BBA-0算法。而与BBA-0算法不同的是,在我们的算法中视频缓存队列长度指的是可播放视频缓存队列长度。比如缓存区缓存了序号为5、6、7、8、11这5个视频块,那么可播放的视频块为5、6、7、8,播放视频缓存队列长度为5×视频块长度,而序号为11的视频块由于序号为9、10的视频块未被下载或者正在下载,并不能被播放,也不计入视频缓存队列长度中。
虽然BBA-0算法本身是一种单接口的比特率切换算法,但是其简单有效的设计思想非常适合于无线多接口网络的场景。其优势在于以下两点:
1) 由于无线网络带宽波动频繁,带宽估计很难做到非常准确,通过带宽估计决定下次请求视频比特率,很可能会造成视频比特率的频繁切换,更有可能导致播放出现停顿,而BBA-0算法很好避免这个问题。
2) 弱化了多条链路带宽差异的影响。不根据带宽值,而根据缓冲区缓存状态决定视频块的比特率,可以保证两条链路请求的视频块比特率接近,从而不会造成过多的比特率切换。但是可能会引入新的问题——视频块的乱序到达。而如何避免视频块的乱序到达,这个问题的解决将在2.2.2节中做介绍。
2.2.2 链路选择
我们将链路的状态分为空闲、忙碌两种状态。空闲状态是指链路当前没有下载任务,允许该链路发起视频块的请求;忙碌状态是指链路当前正在请求某个视频块。在我们的系统中,一条链路要发起新的请求,必须等待该链路正在请求的视频块下载完成。当系统中出现一条链路为空闲状态时,我们需要判断该链路是否合适于新的视频块请求。如果当前链路处于空闲状态,则只是简单地把序号最小的未下载视频块(视频块的比特率在比特率选择模块已经确定)分配给该链路,很有可能会造成视频块的乱序到达。为了尽可能地避免乱序问题出现,链路选择模块会根据链路的带宽、视频块的大小等信息,预计下载时间,把最合适序号的视频块请求分配给空闲链路。这里简单地举例说明一下如何通过链路选择算法来避免乱序问题。比如,目前客户端有两个网络通信接口Wi-Fi和LTE,其中LTE的带宽远高于Wi-Fi,视频被切成3个比特率相同的视频块{c1,c2,c3}。首先LTE链路和Wi-Fi链路分别请求c1、c2,LTE链路会很快下载完c1,再去请求c3,由于LTE和Wi-Fi链路的带宽差异,可能导致c3比c2先到达客户端,从而造成视频块的乱序到达。而我们的链路选择算法针对这种情况,会事先考虑链路的带宽差异,把c1先分配给LTE链路,c3分配给Wi-Fi链路,然后等c1下载完后,再把c2分配给LTE链路,从而保证了视频块的有序到达。算法1为链路选择算法的伪代码实现。
算法1链路选择算法
输入:bt:忙碌链路的带宽
l: 分配给忙碌链路的视频块未下载完部分的大小
ft: 空闲链路的带宽
m: 等待请求的视频块的大小
cdeg:可以请求的视频块序号范围
输出:id:空闲链路请求的视频块序号
1:// 初始化id,返回-1代表不给空闲链路分配请求
2:id ←-1
3:// 获取空闲链路请求视频块序号
4:for j ←0…cdegdo
6: id←Indicator(j)
7: break
8: end
9:end
其中cdeg表示当前可以请求的视频块(即未被下载的视频块)序号范围。Indicator(j)的功能是返回所有未被下载视频块中,序号为第j+1小的视频块序号。算法1中4-7行用于估计视频块的下载时间,选择合适序号的视频块请求分配给空闲链路或者不分配,尽可能地使序号小的视频块先到达客户端,减少了视频块乱序到达的产生。
2.2.3 乱序处理
虽然在链路选择模块中,可以通过链路选择算法尽可能地避免乱序的产生。但由于诸多原因,视频块的乱序到达仍可能产生。当客户端缓存的乱序视频块的个数超过Ntor(Ntor= 3)时,需要进行乱序处理。乱序处理的策略是两条链路同时请求缺失的视频块,保证乱序问题及时解决。
当系统进行乱序处理时,会造成一定的流量浪费,即两条链路都去下载同一序号的视频块,必然会有一条链路先下载完。当一条链路下载完后,另一条链路就会停止该块的下载(这部分下载数据就没有用了),导致一定流量的浪费。上述乱序处理方法只在乱序问题比较严重的情况下,才进行乱序处理,有效地减少了由于乱序处理造成的流量浪费,降低了系统开销。
2.2.4 饥饿链路探测
饥饿链路是指链路即使处于空闲状态,也没有视频块的请求任务。出现饥饿链路的原因是由于该链路当前的带宽远远小于另一条链路,导致没有合适比特率、合适序号的视频块任务分配给该链路。然而,由于无线网络带宽波动非常剧烈,长时间的不分配下载任务给饥饿链路,可能导致对饥饿链路的带宽估计不准确。因此设计饥饿链路探测模块来解决饥饿链路的带宽估计问题。带宽探测的方法是在每次另一条链路发起视频块请求的时候,饥饿链路也向服务器发起请求,不过请求的内容不是视频块,而是一个大小远小于视频块的文件。比如MPD文件,通过MPD文件的下载情况,分析该链路的带宽情况。
2.2.5 视频时长感知
根据1.2节的统计分析,短视频更加受到用户的青睐,然而目前已有的DASH算法主要针对长视频进行设计,没有对短视频请求做专门的优化。因此为了提升系统的性能,这些算法在用于短视频请求时,参数配置和设计逻辑需要进一步的改进。针对1.2节的用户行为分析和2.1节中的第三个挑战,我们设计了视频时长感知算法(见算法2)。在尾阶段(剩余未被下载视频时长小于等于Dt,Dt=20 s)时,调用视频时长感知算法,用于确定下一次请求的视频块比特率。
算法2视频时长感知算法
输入: bufnow:已缓存的可以播放的视频时长
dt:剩余未被下载的视频时长
Δ:防止缓冲区耗竭的阀值
T1,T2:比特率平滑切换的上下阀值,T1 bwtot:总带宽(LTE和Wi-Fi的带宽之和) sold:客户端上次请求时的状态 Rateprev:上次请求的视频块比特率 输出:Ratenext:下次请求的视频块比特率 1:if bufnow> T1then 2: s←1 3:end 4:else if bufnow> T2then 5: s←2 6:end 7:else 8: s←3 9:end 10:if sold≠ s then 12: Ratenext=max{Ri:Ri< rmax} 13:end 14:else 15: Ratenext= Rateprev 16:end 17:return Ratenext 视频时长感知算法的基本思想是视频块请求进入到尾阶段后,可以通过逐渐消耗已缓存的可播放视频时长的形式,请求更高比特率的视频块。算法2中1-9行用于确定当前缓存区的状态,T1和T2为设置两个上下门阈值,用于保证比特率的平滑切换,rmax是在视频块请求过程中,保证缓冲区不出现耗竭,理论上可以请求的最高比特率。然而由于可请求的视频比特率是离散化的,所有只能选择最接近rmax且不大于rmax的比特率作为了下次请求视频块的比特率。 2.3 实 现 我们在NS-3上部署了PASM,实现代码超过了2 500行。目前PASM只支持HTTP/1.1协议,不支持HTTP/2协议。实现过程中需要注意的是,为了让视频数据可以同时通过客户端的Wi-Fi和LTE接口进行传输,需要对路由表进行专门配置。 本节对PASM算法与另两种多接口DASH算法在多种带宽变化的应用场景下进行对比分析。首先对RR(Round Robin)算法和PWVLA(PASM Without the Video Length Awareness algorithm)算法做简单的介绍。 RR算法:先根据BBA-0算法决定下一次请求的视频块比特率。然后在不考虑链路带宽差异的情况下,将所有未下载的视频块中序号最小的那个视频块分配给空闲链路(若LTE和Wi-Fi都处于空闲状态,先分配给带宽大的空闲链路)。而对于下载过程出现了视频块乱序到达情况,处理机制与2.2.3节一致。 PWVLA算法:没有视频时长感知处理部分,其他部分设计与PASM算法一样。 PASM算法与RR算法对比,主要是分析PASM的链路选择部分中设计的策略是否有效地避免了视频块的乱序到达。PASM算法与PWVLA算法对比,主要是分析在尾阶段,PASM算法是否真正地提高了视频的平均比特率,并且不影响其他DASH性能指标。 接下来,我们将对多接口DASH的性能指标、实验参数配置以及各种带宽变化下的实验结果做进一步的介绍。 3.1 性能指标 我们主要根据以下三个指标进行性能评估: 1) 平均视频播放质量(APQ):即用户观看视频的平均比特率。APQ的定义如下: (1) 其中K表示视频被分成了多少个小视频块,ri表示序号为i的视频块比特率。 2) 视频平均质量波动(AQV):描述了视频比特率切换的平滑度。AQV的定义如下: (2) 3) 流量浪费(WT):由两部分组成,一部分是乱序处理造成的流量浪费;另一部分是饥饿链路带宽探测造成的流量(即请求探测文件产生的流量)浪费。 3.2 实验参数设置 本实验中视频总长度为160 s,视频块长度为2 s,提供了7种比特率版本,如表1所示。客户端的缓冲区最多可以存储30 s的视频,算法1、算法2中其他参数:cdeg=3,Δ=2,T1=10 s,T2=5 s,Dt=20 s。 表1 视频比特率 LTE基站的配置如表2所示,Wi-Fi路由器采用了802.11g协议,信号发射功率为20 dBm。 表2 LTE基站参数 3.3 带宽不变的应用场景 对于带宽不变的应用场景,又进行了细化,分别在Wi-Fi和LTE带宽比为2∶1、3∶1、6∶1的情景下,对PASM、RR、PWVLA算法进行实验分析。 当Wi-Fi和LTE带宽比为2∶1时,PASM算法、RR算法和PWVLA算法性能比较接近,实验结果分别如图3和表3所示。主要原因是在这种带宽差异下,乱序问题不是非常严重,只有RR算法进行了一次乱序处理(TO表示乱序处理的次数)。从表3得知,一旦进行乱序处理,将造成比较严重的流量浪费。 图3 带宽不变:Wi-Fi∶LTE = 2 000 Kbit/s∶1 000 Kbit/s 表3 性能分析: Wi-Fi∶LTE=2 000 kbit/s∶1 000kbit/s 当Wi-Fi和LTE带宽比为3∶1时,可以认为两条链路的带宽差异比较明显,从图4和表4分析,RR算法由于没有设计合适的机制减少带宽差异造成的乱序。因此进行了多次乱序处理,导致整个算法性能不是非常高。而PASM算法和PWVLA算法由于很少进行乱序处理,因此在AQV均明显好于RR算法。PASM算法和PWVLA算法相比,由于PASM算法在尾阶段采用了视频时长感知算法,使得PASM的APQ比PWVLA的APQ提升了约260 Kbit/s。 图4 带宽不变:Wi-Fi∶LTE=3 000 Kbit/s∶1 000 Kbit/s 表4 性能分析:Wi-Fi∶LTE=3 000 kbit/s∶1 000 kbit/s 同时将RR算法在这种带宽比情况下与BBA-0算法在单接口情况下(Wi-Fi = 3 000 Kbit/s)进行性能对比,(分别见图5和表4),发现RR算法并没有因为多链路的使用,性能比单接口BBA-0算法提升多少,在APQ上有所提高。但是由于视频块的乱序问题没有很好的解决,导致视频块的平均比特率波动(AQV)剧烈,这显然与利用多接口传输DASH的初衷相违背。 图5 带宽不变:RR与BBA-0请求对比 当Wi-Fi和LTE的带宽比为6∶1时,实验结果分别如图6和表5所示。在这种情况下,带宽差异已经非常大,3种算法在流量浪费上很接近,原因是RR算法是由于乱序处理造成了大量的流量浪费,而PASM算法、PWVLA算法是由于饥饿链路带宽探测造成了大量的流量浪费。但是相比RR算法造成的流量浪费,饥饿链路带宽探测造成的流量浪费是有意义的,带宽探测确保了客户端对链路带宽的可知性,保证链路带宽在发生巨大变化时,能够及时地调整请求机制。 图6 带宽不变:Wi-Fi∶LTE=6 000 Kbit/s∶1 000 Kbit/s 表5 性能分析:Wi-Fi∶LTE=6 000 kbit/s∶1 000 kbit/s 3.4 带宽变化的应用场景 我们将LTE链路的带宽维持在1 000 Kbit/s,Wi-Fi链路的带宽成ON-OFF状态交替变化(其中,ON状态时,带宽为3 000 Kbit/s,持续40 s;OFF状态时,带宽为1 000 Kbit/s,持续20 s),在这种场景下,对3种算法进行了实验分析,实验结果分别如图7和表6所示。通过图7,可以直观地看到3种算法的性能情况,PASM在最后阶段请求的比特率明显高于PWVLA,而PWVLA和RR相比在视频比特率波动上减少了很多。而通过表6的统计结果,从各个性能指标情况验证了图7看到的结果。我们还发现RR、PWVLA、PASM三种算法对于带宽变化的响应还是非常快,当Wi-Fi带宽从ON状态变为OFF状态或从OFF状态变为ON状态时,3种算法都及时进行了平滑切换,这主要得力于将BBA-0算法作为比特率选择算法。 图7 带宽变化:LTE=1 000 kbit/s Wi-Fi∶ON-OFF变化 表6 带宽变化下性能分析 3.5 存在背景流的应用场景 我们在Wi-Fi链路存在长TCP背景流的应用场景下,对于3种算法进行了实验分析。其中Wi-Fi链路的总带宽仍然是3 000 Kbit/s,LTE链路的带宽为1 000 Kbit/s,实验结果如图8和表7所示。实验分析得到PASM、PWVLA算法在WT和AQV上都明显优于RR算法,PASM算法在APQ上显著好于RR算法和PWVLA算法。从图8,还可以看出这3种算法请求的视频块比特率集中在1 500 Kbit/s和2 500 Kbit/s,说明这3种算法在与长TCP流共享带宽的情况下,表现出了较好的公平性。究其原因:3种算法在整个下载过程中,客户端的视频缓冲区一直处于未饱和状态,客户端不间断地通过两条链路向服务器请求视频块,这种行为非常像长TCP流。 图8 背景流:长TCP背景流 表7 长TCP背景流下性能分析 本文设计并实现了多无线网络接口的DASH系统——PASM。利用多接口进行DASH的传输,一方面可以使客户端获得更多的带宽资源,另一方面也增加了比特率选择的难度,并引入了视频块的乱序到达问题。我们将单接口场景下的BBA-0算法扩展到LTE网络和Wi-Fi网络的多接口应用场景,并设计了一系列策略解决视频块的乱序到达问题。 除此之外,我们还设计了视频时长感知算法,在剩余请求视频时长不多的情况下,通过调用该算法确定下次请求的视频比特率,极大地提高了视频的平均比特率。同时保证了视频播放的流畅性和视频比特率的平滑切换,该算法对于短视频请求的性能优化尤为显著。 [1] Network Simulator Version 3[EB/OL].https://www.nsnam.org/. [2] Akhshabi S,Anantakrishnan L,Begen A C,et al.What happens when HTTP adaptive streaming players compete for bandwidth?[C]//Proceedings of the 22nd international workshop on Network and Operating System Support for Digital Audio and Video.ACM,2012:9-14. [3] Akhshabi S,Begen A C,Dovrolis C.An experimental evaluation of rate-adaptation algorithms in adaptive streaming over HTTP[C]//Proceedings of the Second Annual ACM SIGMM Conference on Multimedia Systems,MMSys 2011,Santa Clara,CA,USA,February 23-25,2011.2011:157-168. [4] De Cicco L,Caldaralo V,Palmisano V,et al.Elastic:a client-side controller for dynamic adaptive streaming over http (dash)[C]//Packet Video Workshop (PV),2013 20th International.IEEE,2013:1-8. [5] Evensen K,Kupka T,Kaspar D,et al.Quality-adaptive scheduling for live streaming over multiple access networks[C]//Proceedings of the 20th international workshop on Network and operating systems support for digital audio and video.ACM,2010:21-26. [6] Huang T Y,Johari R,McKeown N,et al.A buffer-based approach to rate adaptation: Evidence from a large video streaming service[C]//Proceedings of the 2014 ACM conference on SIGCOMM.ACM,2014:187-198. [7] Tian G,Liu Y.Towards agile and smooth video adaptation in dynamic HTTP streaming[C]//Proceedings of the 8th international conference on emerging networking experiments and technologies.ACM,2012:109-120. [8] Xiao M,Swaminathan V,Wei S,et al.DASH2M:Exploring HTTP/2 for Internet Streaming to Mobile Devices[C]//Proceedings of the 2016 ACM on Multimedia Conference.ACM,2016:22-31. [9] Zhu X,Li Z,Pan R,et al.Fixing multi-client oscillations in HTTP-based adaptive streaming:A control theoretic approach[C]//Multimedia Signal Processing (MMSP),2013 IEEE 15th International Workshop on.IEEE,2013:230-235. [10] Jianhui Z,Bin W.Performance analysis of available bandwidth estimation algorithm based on EWMA and Kalman filter[C]//Proceedings of the 2009 International Conference on Multimedia Information Networking and Security.IEEE,2009,1:604-608. [11] Xiang S,Cai L,Pan J.Adaptive scalable video streaming in wireless networks[C]//Proceedings of the 3rd multimedia systems conference.ACM,2012:167-172. [12] Li Z,Zhu X,Gahm J,et al.Probe and adapt:Rate adaptation for http video streaming at scale[J].Selected Areas in Communications,IEEE Journal on,2014,32(4):719-733. [13] Yin X,Sekar V,Sinopoli B.Toward a principled framework to design dynamic adaptive streaming algorithms over http[C]//Proceedings of the 13th ACM Workshop on Hot Topics in Networks.ACM,2014:9. [14] Xie X,Zhang X,Kumar S,et al.piStream:Physical Layer Informed AdaptiveVideo Streaming Over LTE[C]//Proceedings of the 21st Annual International Conference on Mobile Computing and Networking.ACM,2015:413-425. [15] Cherif W,Fablet Y,Nassor E,et al.Dash fast start using http/2[C]//Proceedings of the 25th ACM Workshop on Network and Operating Systems Support for Digital Audio and Video.ACM,2015:25-30. DESIGNANDIMPLEMENTATIONOFDASHSYSTEMBASEDONMULTIPLEACCESSNETWORKS Zhou Chuanjie1,2Chen Zhe1,2Zhang Xu1,2Xu Yuedong3 In dynamic adaptive streaming over HTTP, a client is able to switch between several video bitrates to cope with varying network conditions. The state-of-the-art adaptation algorithms are mainly designed to serve DASH flow on a single link. In view of multiple wireless interfaces equipped in mobile devices and the dominance of short Internet videos, we develop a predictive adaptive streaming system over LTE/Wi-Fi multiple access networks, namely PASM. PASM improves DASH performance through two orthogonal but complementary approaches. On one hand, PASM aggregates the bandwidth of LTE and Wi-Fi links for better video qualities, while inducing out-of-order chunk arrivals due to varying and heterogeneous bandwidth of each link. On the other hand, when the remaining video length is relatively short, we adopt a more aggressive algorithm to determine which chunk bitrate should be chosen, which leads to the increased average bitrate and reduced the number of bit-rate switching. Experimental studies show that PASM can guarantee the smooth video bitrate switching, and meanwhile increases the average video bitrate in various network conditions. DASH Multiple access networks Out-of-order 2016-12-05。国家自然科学基金项目(61402114)。周传杰,讲师,主研领域:动态自适应流媒体。陈哲,博士。张旭,硕士。徐跃东,副教授。 TP3 A 10.3969/j.issn.1000-386x.2017.08.0253 实 验
4 结 语
1(SchoolofComputerScience,FudanUniversity,Shanghai201203,China)2(EngineeringResearchCenterofCyberSecurityAuditingandMonitoring,MinistryofEducation,Shanghai201203,China)3(DepartmentofElectronicEngineering,FudanUniversity,Shanghai200433,China)