耿立宏 朱小勇 郭志川 潘 梁
1(中國科學院聲學研究所國家網絡新媒體工程技術研究中心 北京 100190)2(中國科學院大學 北京 100190)
一種改進的HTTP自適應流帶寬估計方法
耿立宏1,2朱小勇1郭志川1潘 梁1
1(中國科學院聲學研究所國家網絡新媒體工程技術研究中心 北京 100190)2(中國科學院大學 北京 100190)
為了解決HTTP自適應流中分段較長時帶寬估計不準的問題,提出一種改進的帶寬估計方法。該方法包括段內估測和段間估測:段內估測通過指數平均方法平滑段內抽樣帶寬序列求得該段的即時帶寬;段間估測通過邏輯斯諦方程預測即時帶寬的變化值來求得下一段的估測帶寬。在實際的HTTP Live Streaming (HLS) 系統上對提出方法進行驗證,實驗結果表明,該方法不但能有效地捕捉到實際帶寬的快速變化,迅速地跟隨大的網絡波動,而且能夠較好地平滑小的網絡波動。此外,該方法僅需在應用層做控制,實現簡單。
HTTP 自適應流 帶寬估計 指數平均 邏輯斯諦方程
隨著視頻設備的擴散以及網絡連接的加快,視頻傳輸已經占據互聯網流量的主要部分。據Cisco研究報告預測,到2019年,全球視頻流量將占到全球網絡流量的百分之八十[1]。為了更有效地傳輸視頻,視頻流媒體協議應運而生。傳統的流媒體協議,如實時傳輸協議/實時流化協議RTP/RTSP(Real-time Transport Protocol/Real Time Streaming Protocol),直接控制視頻的傳輸速率[2]。通常,這種流媒體協議需要專用的流媒體服務器,配置較復雜[3]。與傳統的流媒體協議對應的是HTTP流媒體協議。在HTTP流媒體中,視頻文件如同普通網頁文件一樣,通過HTTP協議進行傳輸。HTTP流媒體協議有以下優(yōu)點:1) 服務器簡單:只需對普通的Web服務器或者緩存服務器進行簡單配置,所以,該協議能最大限度地重用已有的網絡基礎設施;2) 采用HTTP協議進行視頻傳輸,因此能夠完美解決網絡穿越NAT(Network Address Translator)問題以及防火墻問題[4]。鑒于以上優(yōu)點,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]。其次,當今網絡異構性以及不同終端對視頻質量的支持能力參差不齊使視頻傳輸面臨巨大挑戰(zhàn)。為了解決這些問題,視頻流必須動態(tài)適應網絡條件以及終端資源。
近年來,HTTP自適應流已經成為一個研究熱點[10]。它的主要思想是:1) 將原始視頻編碼成多個碼率版本;2) 將每個碼率版本切分為時間等長的視頻段序列,同時為每個視頻段生成連接,存在元數據文件中;3) 將這些視頻段以及元數據文件存到分發(fā)服務器上;4) 客戶端根據當前終端資源以及網絡情況,選取合適的碼率,通過連續(xù)地發(fā)送HTTP請求下載視頻段。為了選擇一個最合適的碼率,需要準確估計客戶端可用資源,本文著重研究網絡帶寬資源。
在HTTP自適應流中,帶寬估計是最基本、最重要的問題,是HTTP自適應算法成功的先決條件[11]。如果估測帶寬高于實際帶寬,即選取了一個過高的碼率,那么,下一段視頻的傳輸時間將大于段長時間,客戶端緩存會逐漸減少,可能導致播放停止(緩存下溢)[12];反之,如果估測帶寬低于實際帶寬,即選取了一個過低的碼率,導致不能充分利用網絡資源,為用戶提供最佳視頻質量。因此,帶寬估計算法對HTTP自適應流極為重要。
通常來說,通過下載數據量除以響應時間的方式計算客戶端的可用帶寬。用這種方法(后稱平均帶寬方法)計算的帶寬是響應時間內的平均帶寬,當段長較長時,該方法不能很好地捕捉到實際帶寬的快速變化[13],造成估測帶寬和實際帶寬的不匹配。在文獻[14-15]中,基于傳輸層參數(如往返時延RTT(Round-Trip Time)、丟包率等)來計算可用帶寬,該方法能較準確地檢測到當前網絡情況,但需要深入傳輸層做控制,實現復雜。為了平衡平均帶寬方法和傳輸層參數方法,文獻[16-17]提出一種基于抽樣帶寬的估測方法,通過對下載數據的等長時間抽樣,在段內采用平均帶寬方法計算多個帶寬抽樣值,然后通過這些抽樣值序列進行帶寬估測。但文獻[17]仍需計算往返時延,實現復雜。文獻[16]中通過應用層參數計算估測帶寬,易于實現,但該方法對細小網絡波動敏感,引起估測帶寬不必要的波動。
為此,本文針對HTTP自適應流中分段較長的情況,提出一種改進的帶寬估計方法。該方法包括段內估測和段間估測,為捕捉到實際帶寬的快速變化,在段內進行等時間間隔抽樣,并采用指數平均方法估測當前即時帶寬;為消除段間細小網絡波動的影響,同時快速跟隨大的網絡波動,采用邏輯斯諦方程預測即時帶寬的變化值,以此來計算下一段的估測帶寬。本文帶寬估計方法僅需在應用層實現,簡化了帶寬估計過程。最后,為了證明所提出方法的有效性,基于一個實際的HLS系統進行實驗驗證。
1.1 段內估測
在HTTP自適應流中,原視頻被切分為一系列時間等長的媒體片段,客戶端按時間順序依次發(fā)送HTTP請求來下載視頻段,實現整部視頻的播放。所有的下載都是非搶占式的[18],即客戶端必須在下載完第i段后才能發(fā)送第i+1段的下載請求。在每下載完一個片段后,客戶端需要估計當前帶寬資源,以此來選擇下一段視頻片段的碼率。通常來說,通過式(1)計算視頻段的可用帶寬:
這次醫(yī)改在一定程度上修改了美國醫(yī)療制度的非全民模式,是社會發(fā)展和進步的結果,它考慮到更多民眾的需求,使整個醫(yī)療保險的覆蓋范圍擴大,采取的是讓非功利的、民營的醫(yī)療保險公司加入進來,政府給予減稅優(yōu)惠的政策。主要內容包括:(1)擴大醫(yī)療保險的覆蓋率;(2)法案對醫(yī)療保險計劃進一步完善;(3)設立福利市場;(4)增加稅收(凱迪拉克計劃);(5)醫(yī)療援助和醫(yī)療照顧計劃增強。
(1)
其中Si和ti分別表示第i個視頻段的數據量和響應時間,響應時間是指從發(fā)出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]可知,一個好的帶寬估計方法應該對小的網絡波動保持穩(wěn)定,而對于大的網絡波動快速跟隨。為達此目標,本文在上述即時帶寬基礎上提出一個段間帶寬估計方法,如下:
(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.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網絡部分為路由器構建的局域網,網絡本身包括了延遲、波動。服務端通過有線方式連接到路由器,客戶端通過無線方式連接到該局域網??蛻舳瞬糠郑_發(fā)平臺為Android4.4.2,并在該客戶端上實現了提出的帶寬估計方法。此外,在視頻開始播放前,將提前緩存三個低碼率(417Kbps)視頻段到客戶端,下一段視頻請求必須在上一段完全下載完后才能發(fā)送。
圖2 實驗平臺
為了在相同網絡條件下對比算法的有效性,本文采用DummyNet[23]工具來控制客戶端的可用帶寬。DummyNet在Windows系統中很容易配置,因此,為方便控制客戶端帶寬,本文將DummyNet工具和客戶端都安裝到Windows系統上。該系統為Windows7 專業(yè)版,配置i3-2100CPU(3.10GHz),4GB的內存。為了在Windows上運行Android客戶端,本文在該Windows系統上安裝了Android虛擬機。
2.2 帶寬估計方法評估
在本實驗中,規(guī)定在歸一化因子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表示節(jié)點的理論帶寬值,由DummyNet控制產生。圖3(a)為兩種方法的帶寬估計結果;(b)為選取碼率,表示小于估測帶寬的最大碼率值;(c)為客戶端緩存大小,對應圖中右邊坐標,表示由選取碼率在當前網絡條件下產生的緩存數據量,以時間秒為單位。
由圖3,可得出以下結論:當網絡波動較大時(74~104 秒,260~290 秒),兩個帶寬估計方法都能快速地捕捉到實際帶寬的快速變化,從而使估測帶寬快速跟隨網絡波動。因此,兩個方法都有相對比較安全的緩存(高于15秒,即1.5個視頻段)。但是,當網絡波動較小時(134~230 秒,320~416 秒),SMO方法對這種小波動很敏感,使得估測帶寬跟隨網絡波動而波動。相比之下,本文方法平滑了這類小波動,實現了平滑的估測。
圖3 SMO方法和本文方法的對比結果
表1是實驗結果的統計數據,從表中數據可得出,本文方法在獲得與SMO方法相近的平均碼率以及緩存大小情況下,大大降低了碼率切換次數,使得碼率更平滑,提升了用戶的體驗。
表1 統計數據對比
綜上,本文提出的帶寬估計方法既有SMO方法處理大的網絡波動的優(yōu)勢,同時克服了SMO方法對小的網絡波動敏感的缺陷,得到平滑的估測。
本文針對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。國家高技術研究發(fā)展計劃項目(2015AA015802)。耿立宏,碩士生,主研領域:多媒體通信。朱小勇,副研究員。郭志川,副研究員。潘梁,副研究員。
TP3
A
10.3969/j.issn.1000-386x.2017.03.019