一种改进的HTTP自适应流带宽估计方法

2017-04-14 00:59耿立宏朱小勇郭志川
计算机应用与软件 2017年3期
关键词:码率客户端波动

耿立宏 朱小勇 郭志川 潘 梁

1(中国科学院声学研究所国家网络新媒体工程技术研究中心 北京 100190)2(中国科学院大学 北京 100190)

一种改进的HTTP自适应流带宽估计方法

耿立宏1,2朱小勇1郭志川1潘 梁1

1(中国科学院声学研究所国家网络新媒体工程技术研究中心 北京 100190)2(中国科学院大学 北京 100190)

为了解决HTTP自适应流中分段较长时带宽估计不准的问题,提出一种改进的带宽估计方法。该方法包括段内估测和段间估测:段内估测通过指数平均方法平滑段内抽样带宽序列求得该段的即时带宽;段间估测通过逻辑斯谛方程预测即时带宽的变化值来求得下一段的估测带宽。在实际的HTTP Live Streaming (HLS) 系统上对提出方法进行验证,实验结果表明,该方法不但能有效地捕捉到实际带宽的快速变化,迅速地跟随大的网络波动,而且能够较好地平滑小的网络波动。此外,该方法仅需在应用层做控制,实现简单。

HTTP 自适应流 带宽估计 指数平均 逻辑斯谛方程

0 引 言

随着视频设备的扩散以及网络连接的加快,视频传输已经占据互联网流量的主要部分。据Cisco研究报告预测,到2019年,全球视频流量将占到全球网络流量的百分之八十[1]。为了更有效地传输视频,视频流媒体协议应运而生。传统的流媒体协议,如实时传输协议/实时流化协议RTP/RTSP(Real-time Transport Protocol/Real Time Streaming Protocol),直接控制视频的传输速率[2]。通常,这种流媒体协议需要专用的流媒体服务器,配置较复杂[3]。与传统的流媒体协议对应的是HTTP流媒体协议。在HTTP流媒体中,视频文件如同普通网页文件一样,通过HTTP协议进行传输。HTTP流媒体协议有以下优点:1) 服务器简单:只需对普通的Web服务器或者缓存服务器进行简单配置,所以,该协议能最大限度地重用已有的网络基础设施;2) 采用HTTP协议进行视频传输,因此能够完美解决网络穿越NAT(Network Address Translator)问题以及防火墙问题[4]。鉴于以上优点,HTTP流媒体协议成为现今最经济、流行的视频传输方式。近年来,各个互联网巨头纷纷推出自己的HTTP流媒体协议,如:微软的IIS Smooth Streaming[5]、Adobe的HTTP Dynamic Streaming[6]、MPEG的Dynamic Adaptive Streaming over HTTP (DASH)[7]以及苹果的HTTP Live Streaming (HLS)[8]。其中,较为成熟的是苹果公司推出的HLS。

众所周知,HTTP协议基于TCP协议实现。而TCP协议的拥塞控制机制使可用带宽波动很大[9]。其次,当今网络异构性以及不同终端对视频质量的支持能力参差不齐使视频传输面临巨大挑战。为了解决这些问题,视频流必须动态适应网络条件以及终端资源。

近年来,HTTP自适应流已经成为一个研究热点[10]。它的主要思想是:1) 将原始视频编码成多个码率版本;2) 将每个码率版本切分为时间等长的视频段序列,同时为每个视频段生成连接,存在元数据文件中;3) 将这些视频段以及元数据文件存到分发服务器上;4) 客户端根据当前终端资源以及网络情况,选取合适的码率,通过连续地发送HTTP请求下载视频段。为了选择一个最合适的码率,需要准确估计客户端可用资源,本文着重研究网络带宽资源。

在HTTP自适应流中,带宽估计是最基本、最重要的问题,是HTTP自适应算法成功的先决条件[11]。如果估测带宽高于实际带宽,即选取了一个过高的码率,那么,下一段视频的传输时间将大于段长时间,客户端缓存会逐渐减少,可能导致播放停止(缓存下溢)[12];反之,如果估测带宽低于实际带宽,即选取了一个过低的码率,导致不能充分利用网络资源,为用户提供最佳视频质量。因此,带宽估计算法对HTTP自适应流极为重要。

通常来说,通过下载数据量除以响应时间的方式计算客户端的可用带宽。用这种方法(后称平均带宽方法)计算的带宽是响应时间内的平均带宽,当段长较长时,该方法不能很好地捕捉到实际带宽的快速变化[13],造成估测带宽和实际带宽的不匹配。在文献[14-15]中,基于传输层参数(如往返时延RTT(Round-Trip Time)、丢包率等)来计算可用带宽,该方法能较准确地检测到当前网络情况,但需要深入传输层做控制,实现复杂。为了平衡平均带宽方法和传输层参数方法,文献[16-17]提出一种基于抽样带宽的估测方法,通过对下载数据的等长时间抽样,在段内采用平均带宽方法计算多个带宽抽样值,然后通过这些抽样值序列进行带宽估测。但文献[17]仍需计算往返时延,实现复杂。文献[16]中通过应用层参数计算估测带宽,易于实现,但该方法对细小网络波动敏感,引起估测带宽不必要的波动。

为此,本文针对HTTP自适应流中分段较长的情况,提出一种改进的带宽估计方法。该方法包括段内估测和段间估测,为捕捉到实际带宽的快速变化,在段内进行等时间间隔抽样,并采用指数平均方法估测当前即时带宽;为消除段间细小网络波动的影响,同时快速跟随大的网络波动,采用逻辑斯谛方程预测即时带宽的变化值,以此来计算下一段的估测带宽。本文带宽估计方法仅需在应用层实现,简化了带宽估计过程。最后,为了证明所提出方法的有效性,基于一个实际的HLS系统进行实验验证。

1 方法描述

1.1 段内估测

在HTTP自适应流中,原视频被切分为一系列时间等长的媒体片段,客户端按时间顺序依次发送HTTP请求来下载视频段,实现整部视频的播放。所有的下载都是非抢占式的[18],即客户端必须在下载完第i段后才能发送第i+1段的下载请求。在每下载完一个片段后,客户端需要估计当前带宽资源,以此来选择下一段视频片段的码率。通常来说,通过式(1)计算视频段的可用带宽:

这次医改在一定程度上修改了美国医疗制度的非全民模式,是社会发展和进步的结果,它考虑到更多民众的需求,使整个医疗保险的覆盖范围扩大,采取的是让非功利的、民营的医疗保险公司加入进来,政府给予减税优惠的政策。主要内容包括:(1)扩大医疗保险的覆盖率;(2)法案对医疗保险计划进一步完善;(3)设立福利市场;(4)增加税收(凯迪拉克计划);(5)医疗援助和医疗照顾计划增强。

(1)

其中Si和ti分别表示第i个视频段的数据量和响应时间,响应时间是指从发出HTTP请求到接收完这个段最后一个比特数据之间的时间;Ti表示第i段的可用带宽。

但是,当视频分段较长时,通过这种平均带宽方法估测的可用带宽,无法捕捉到实际带宽的快速变化。针对这种情况,为了在应用层获取准确的可用带宽,在段内对较长视频段下载过程进行等时间间隔抽样,如式(2):

TDi={Ti(0),Ti(1),…Ti(k),…Ti(M-1)|θ}

(2)

其中TDi表示第i段视频的抽样序列;Ti(k)表示第i段视频的第k个抽样带宽值,该抽样值采用平均带宽方法计算得到;M为抽样次数;θ表示抽样时间间隔,其值通常比RTT长,而比视频段时间短。由于抽样时间短,因此该抽样值能够很好地反映抽样时刻的实际带宽情况。但这些抽样值容易受到段内带宽瞬时波动的影响,所以,不能简单地采用某一个抽样值来代表该段的可用带宽。为了更准确地预测当前时刻(下载完某一段视频的那一刻)的可用带宽,本文采用指数平均方法来平滑段内抽样带宽序列。

指数平均着重考虑了当前时间序列值的权重,能够很好预测时间序列的走向。公式如下:

(3)

(4)

本文又称Ti为即时带宽,反映了当前时刻的可用带宽。

如果用Ti作为下一段的估测带宽,那么估测带宽将紧紧跟随实际带宽变化而变化,对段间网络的细小波动非常敏感。由文献[19]可知,一个好的带宽估计方法应该对小的网络波动保持稳定,而对于大的网络波动快速跟随。为达此目标,本文在上述即时带宽基础上提出一个段间带宽估计方法,如下:

(5)

(6)

(7)

其中,Di表示第i段的估测带宽与即时带宽的差值,反应了段间网络波动程度。δ是修正值,其取值范围为(0,1)。对于大的网络波动,Di值较大,为了让估测带宽快速地跟随网络变化,δ应更趋向于0。类似的,对于小的网络波动,Di值较小;为了让估测带宽对小波动网络保持平滑,δ应更趋向于1。由上分析,δ依赖于段间网络波动Di。本文使用逻辑斯谛方程[20]建立δ和Di间的控制函数:

(8)

(9)

其中,参数m为逻辑斯谛方程的陡峭参数,ρ0为逻辑斯谛方程的中心值,参数ρ为段间网络波动Di的归一化值,而Tnor是用来控制平滑边界的归一化因子。当m=-21,ρ0=0.167时,δ和ρ关系如图1所示。如果Tnor很小,即使是一个小的波动,也会得到一个大的ρ值,而一个大的ρ值会产生一个小的δ值。由上分析可知,如果δ值小,那么估测带宽将更接近即时带宽,即估测带宽对小波动很敏感。所以,当Tnor很小时,会得到一个小的平滑边界。同理,当Tnor比较大时,即使是一个大的波动,通过本文的控制函数,也会产生一个平滑的估测带宽。此种情况下,得到一个较大的平滑边界。控制函数中,参数m控制δ的变化速度,即平滑估测(δ值较大)和快速跟随估测(δ值较小)之间的转换速度。

图1 δ和ρ关系图

2 实 验

本部分,将对实验平台进行简单概述,然后基于该平台对提出的带宽估计方法进行评估。

2.1 实验平台设计

本实验平台为一个实际的HLS系统,如图2所示,主要包括三部分:Web服务器、IP网络以及客户端。在服务端,通过CBR编码模式将原始视频编码为从100到2 000Kbps的20个码率版本,每个码率版本间隔100Kbps。此外,采用苹果系统文件分段工具mediafilesegmenter将每个码率版本切分为一系列长度为10秒的视频段。所有的视频段以及元数据文件存在一个Apache服务器上,该服务器版本为2.4.9,为MacMini10.10.2系统自身集成,采用“sudoapachectlstart”启动[21]。此外,为了避免客户端与服务器频繁建立与断开TCP连接[22],本文将Apache服务器连接超时参数设置为60秒。IP网络部分为路由器构建的局域网,网络本身包括了延迟、波动。服务端通过有线方式连接到路由器,客户端通过无线方式连接到该局域网。客户端部分,开发平台为Android4.4.2,并在该客户端上实现了提出的带宽估计方法。此外,在视频开始播放前,将提前缓存三个低码率(417Kbps)视频段到客户端,下一段视频请求必须在上一段完全下载完后才能发送。

图2 实验平台

为了在相同网络条件下对比算法的有效性,本文采用DummyNet[23]工具来控制客户端的可用带宽。DummyNet在Windows系统中很容易配置,因此,为方便控制客户端带宽,本文将DummyNet工具和客户端都安装到Windows系统上。该系统为Windows7 专业版,配置i3-2100CPU(3.10GHz),4GB的内存。为了在Windows上运行Android客户端,本文在该Windows系统上安装了Android虚拟机。

2.2 带宽估计方法评估

在本实验中,规定在归一化因子Tnor百分之十(ρ=0.1)以内的波动为小的网络波动,超出Tnor百分之二十(ρ=0.2)的波动为大的网络波动。为了达到在小波动时平滑估测并且在大波动时快速跟随估测的需求,本文设置逻辑斯谛方程的陡峭参数m=-21,逻辑斯谛方程的中心值ρ0=0.167。在此设定下,设置归一化因子Tnor为1 000,即对小于100Kbps的网络波动平滑估计,对大于200Kbps波动快速跟随。此外,设置带宽抽样时间间隔θ为0.5秒。

为了验证提出方法的有效性,本文选取文献[16]的带宽估计方法进行对比。该方法通过求抽样带宽序列的滑动平均值来估测带宽,只需要在应用层实现。为方便起见,下文称该方法为SMO方法。同样地,设置带宽抽样时间间隔θ为0.5秒;此外,设置滑动平均的权重系数ω为0.875。

在得到估测带宽后,本文统一采用以下原则选取码率,即选取小于估计带宽的最高码率。

本实验通过DummyNet产生包含剧烈波动和细小波动的网络条件。实验对比结果如图3所示。在图3中,曲线Bandwidth表示节点的理论带宽值,由DummyNet控制产生。图3(a)为两种方法的带宽估计结果;(b)为选取码率,表示小于估测带宽的最大码率值;(c)为客户端缓存大小,对应图中右边坐标,表示由选取码率在当前网络条件下产生的缓存数据量,以时间秒为单位。

由图3,可得出以下结论:当网络波动较大时(74~104 秒,260~290 秒),两个带宽估计方法都能快速地捕捉到实际带宽的快速变化,从而使估测带宽快速跟随网络波动。因此,两个方法都有相对比较安全的缓存(高于15秒,即1.5个视频段)。但是,当网络波动较小时(134~230 秒,320~416 秒),SMO方法对这种小波动很敏感,使得估测带宽跟随网络波动而波动。相比之下,本文方法平滑了这类小波动,实现了平滑的估测。

图3 SMO方法和本文方法的对比结果

表1是实验结果的统计数据,从表中数据可得出,本文方法在获得与SMO方法相近的平均码率以及缓存大小情况下,大大降低了码率切换次数,使得码率更平滑,提升了用户的体验。

表1 统计数据对比

综上,本文提出的带宽估计方法既有SMO方法处理大的网络波动的优势,同时克服了SMO方法对小的网络波动敏感的缺陷,得到平滑的估测。

3 结 语

本文针对HTTP自适应流中分段较长时带宽估计不准的问题,提出了一种改进的带宽估计方法,该方法包括段内估测和段间估测:段内估测即对视频段下载过程进行等时间间隔抽样,并通过指数平均方法估测该段的即时带宽;段间估测即通过逻辑斯谛方程预测即时带宽的变化值,以此来计算下一段的估测带宽。在实际的HLS系统上进行实验,结果表明,本文提出的带宽估计方法不但能够捕捉到实际带宽的快速变化,迅速跟随大的网络波动,而且能够较好地平滑小的网络波动。此外,本文方法仅需在应用层实现,简化了带宽估计过程。

[1]CiscoSystemInc.Ciscovisualnetworkingindex:forecastandmethodology,2014-2019whitepaper[EB/OL].(2015-05-27).http://www.cisco.com/c/en/us/solutions/collateral/service-provider/ip-ngn-ip-next-generation-network/white_paper_c11-481360.html.

[2]TianG,LiuY.TowardsagileandsmoothvideoadaptationindynamicHTTPstreaming[C]//Proceedingsofthe8thinternationalconferenceonEmergingnetworkingexperimentsandtechnologies.ACM,2012:109-120.

[3]LiB,ZhengQ,ZhangW.ArateadaptationsolutionfordistanceeducationsystemoverHTTPstreaming[C]//HighPerformanceComputingandCommunications& 2013IEEEInternationalConferenceonEmbeddedandUbiquitousComputing(HPCC_EUC),2013IEEE10thInternationalConferenceon.IEEE,2013:2385-2389.

[4]KupkaT,HalvorsenP,GriwodzC.AnevaluationofliveadaptiveHTTPsegmentstreamingrequeststrategies[C]//LocalComputerNetworks(LCN),2011IEEE36thConferenceon.IEEE,2011:604-612.

[5]JohnA.SmoothStreamingTransportProtocol[EB/OL].(2009-09-8).http://www.iis.net/learn/media/smooth-streaming/smooth-streaming-transport-protocol.

[6]Adobe.HTTPDynamicStreaming[EB/OL].http://www.adobe.com/products/hds-dynamic-streaming.html.

[7]MPEG.DynamicAdaptiveStreamingoverHTTP[EB/OL].http://mpeg.chiariglione.org/standards/mpeg-dash.

[8]AppleInc.HTTPLiveStreamingdraft-pantos-http-live-streaming-18[EB/OL].(2015-11-9).https://tools.ietf.org/html/draft-pantos-http-live-streaming-18#section-1.

[9]TullimasS,NguyenT,EdgecombR,etal.MultimediastreamingusingmultipleTCPconnections[J].ACMTransactionsonMultimediaComputing,Communications,andApplications(TOMM),2008,4(2):12.

[10]TianG,LiuY.Onadaptivehttpstreamingtomobiledevices[C]//PacketVideoWorkshop(PV),2013 20thInternational.IEEE,2013:1-8.

[11]LazicK,BasicevicI,KovacevicJ.Bandwidthestimationinadapti1vevideostreamingoverHTTP[C]//ConsumerElectronics(ICCE),2015IEEEInternationalConferenceon.IEEE,2015:62-65.

[12]LiuC,BouaziziI,GabboujM.RateadaptationforadaptiveHTTPstreaming[C]//ProceedingsofthesecondannualACMconferenceonMultimediasystems.ACM,2011:169-174.

[13]ThangTC,LeHT,NguyenHX,etal.AdaptivevideostreamingoverHTTPwithdynamicresourceestimation[J].CommunicationsandNetworks,Journalof,2013,15(6):635-644.

[14]PadhyeJ,FiroiuV,TowsleyD,etal.ModelingTCPthroughput:Asimplemodelanditsempiricalvalidation[J].ACMSIGCOMMComputerCommunicationReview,1998,28(4):303-314.

[15]MokRKP,LuoX,ChanEWW,etal.QDASH:aQoE-awareDASHsystem[C]//Proceedingsofthe3rdMultimediaSystemsConference.ACM,2012:11-22.

[16]SuhD,JangI,PackS.QoE-enhancedadaptationalgorithmoverDASHformultimediastreaming[C]//InformationNetworking(ICOIN),2014InternationalConferenceon.IEEE,2014:497-501.

[17]ThangTC,PhamAT,NguyenHX,etal.VideostreamingoverHTTPwithdynamicresourceprediction[C]//CommunicationsandElectronics(ICCE),2012FourthInternationalConferenceon.IEEE,2012:130-135.

[18]MillerK,QuacchioE,GennariG,etal.AdaptationalgorithmforadaptivestreamingoverHTTP[C]//PacketVideoWorkshop(PV),2012 19thInternational.IEEE,2012:173-178.

[19]ThangTC,HoQD,KangJW,etal.AdaptivestreamingofaudiovisualcontentusingMPEGDASH[J].ConsumerElectronics,IEEETransactionson,2012,58(1):78-85.

[20] 陈立伟,李国平,滕国伟,等.基于HTTP流化的自适应码率混合控制算法[J].JOURNALOFSHANGHAIUNIVERSITY(NATURALSCIENCE),2014,20(3):57-64.

[21] 丁耀.基于HttpLiveStreaming的直播技术研究[J].软件,2014,35(3):129-131.

[22] 林锐,刘峰.一种基于HTTP长连接的自适应流媒体传输系统[J].电视技术,2012,36(7):85-88.

[23]RizzoL.Dummynet:asimpleapproachtotheevaluationofnetworkprotocols[J].ACMSIGCOMMComputerCommunicationReview,1997,27(1):31-41.

AN IMPROVED ADAPTIVE BANDWIDTH ESTIMATION METHODFOR HTTP ADAPTIVE STREAMING

Geng Lihong1,2Zhu Xiaoyong1Guo Zhichuan1Pan Liang1

1(NationalNetworkNewMediaEngineeringResearchCenter,InstituteofAcoustics,ChineseAcademyofSciences,Beijing100190,China)2(UniversityofChineseAcademyofSciences,Beijing100190,China)

In order to solve the problem of inaccurate bandwidth estimation when the segment duration is relatively long in HTTP adaptive streaming, an improved bandwidth estimation method is proposed, including the intra-segment and inter-segment estimation. The intra-segment estimation smooths the sampled bandwidth sequences in the segment by exponential averaging method, and the instantaneous bandwidth of this segment is obtained. The inter-segment estimation predicts the variation value of instantaneous bandwidth by logistic functions, and the estimated bandwidth of the next segment is obtained. The proposed method is verified through the real HTTP live streaming (HLS) system. Experimental results show that the method can not only effectively track the fast fluctuations of actual bandwidth and rapidly follow the large network fluctuations, but also smooth the small network fluctuations. Furthermore, the method can be easily implemented in the application layer.

HTTP Adaptive streaming Bandwidth estimation Exponential average Logistic function

2016-03-14。国家高技术研究发展计划项目(2015AA015802)。耿立宏,硕士生,主研领域:多媒体通信。朱小勇,副研究员。郭志川,副研究员。潘梁,副研究员。

TP3

A

10.3969/j.issn.1000-386x.2017.03.019

猜你喜欢
码率客户端波动
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
基于缓存补偿的视频码率自适应算法
移动视频源m3u8多码率节目源终端自动适配技术
2021年麦市大幅波动概率不大
一种基于HEVC 和AVC 改进的码率控制算法
供需略微宽松 价格波动缩窄
11月汇市:波动率降低 缺乏方向
基于状态机的视频码率自适应算法
新华社推出新版客户端 打造移动互联新闻旗舰