国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

動(dòng)態(tài)自適應(yīng)的HTTP流碼率漸進(jìn)切換算法

2019-08-01 01:54涂大喜蔣宇浩徐成余林琛
計(jì)算機(jī)應(yīng)用 2019年4期
關(guān)鍵詞:流媒體

涂大喜 蔣宇浩 徐成 余林琛

摘 要:針對(duì)在動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境和有限緩存容量限制下用戶觀看視頻體驗(yàn)質(zhì)量低的問(wèn)題,提出一種綜合考慮帶寬和緩存因素的動(dòng)態(tài)自適應(yīng)的HTTP流碼率漸進(jìn)切換(DASBS)算法。首先,利用滑動(dòng)窗口分析最近下載分片得到帶寬初步估值;然后,依據(jù)實(shí)時(shí)帶寬波動(dòng)程度和緩存狀態(tài)設(shè)置雙矯正因子進(jìn)一步平滑帶寬估值;最后,設(shè)置緩存閾值使其與當(dāng)前碼率建立相關(guān)關(guān)系,并利用帶寬估值和緩存動(dòng)態(tài)閾值共同控制碼率切換。使用libdash平臺(tái)驗(yàn)證算法性能,DASBS在切換平滑性上優(yōu)于VQCQ(Video Quality Control for QoE)算法,視頻播放平均碼率更高,有效提高了帶寬利用率;平均碼率稍低于EABS(Evolution of Adaptive Bitrate Switching)算法時(shí),切換次數(shù)得到大幅下降,整體切換穩(wěn)定性表現(xiàn)更優(yōu)。實(shí)驗(yàn)結(jié)果表明,所提算法在動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中具有帶寬高利用、切換平滑和切換穩(wěn)定的良好表現(xiàn),能夠有效改善用戶體驗(yàn)。

關(guān)鍵詞:流媒體;碼率自適應(yīng);網(wǎng)絡(luò)帶寬;緩存容量;漸進(jìn)切換

中圖分類號(hào):TP391.41

文獻(xiàn)標(biāo)志碼:A

文章編號(hào):1001-9081(2019)04-1127-06

Abstract: Aiming at the problem of low quality of video viewing experience in dynamic network environment with limited cache capacity, a Dynamic Adaptive Step-wise Bitrate Switching (DASBS) algorithm for HTTP streaming considering network bandwidth and cache capacity was proposed. Firstly, a sliding window was used to analyze the recent downloaded fragments, obtaining the initial bandwidth estimation. Then, according to the real-time bandwidth fluctuation degree and cache state, two correction factors were set to further smooth the bandwidth estimation. Finally, a cache threshold was set to establish a correlation with the current bitrate, and the bandwidth estimation and the cache dynamic threshold were used to jointly control the bitrate switching. Experimental results on platform libdash show that DASBS is better than Video Quality Control for QoE (VQCQ) algorithm in switching smoothness and its average bitrate of video playback is higher, which effectively improves the bandwidth utilization. Although the average bitrate is slightly lower than that of Evolution of Adaptive Bitrate Switching (EABS) algorithm, the number of switching times is greatly reduced, improving the switching stability. The experimental results show that the proposed algorithm has high bandwidth utilization, switching smoothness and switching stability in dynamic network environment, which can effectively improve user experience.

Key words: streaming media; bitrate adaptation; network bandwidth; cache capacity; step-wise switching

0?引言

近年來(lái),隨著移動(dòng)互聯(lián)網(wǎng)和智能手機(jī)技術(shù)的迅速發(fā)展,多媒體業(yè)務(wù)在整個(gè)互聯(lián)網(wǎng)流量中占據(jù)越來(lái)越大的比重,視頻流量已經(jīng)成為互聯(lián)網(wǎng)上主要網(wǎng)絡(luò)流量。目前,由思科可視化網(wǎng)絡(luò)指數(shù)預(yù)測(cè)報(bào)告指出,到2020年,視頻流量將會(huì)占到所有消費(fèi)者流量和內(nèi)容傳輸網(wǎng)絡(luò)流量的82%[1]。

傳統(tǒng)的流媒體傳輸技術(shù)以用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol, UDP)作為傳輸協(xié)議,流媒體報(bào)文穿透防火墻的能力較差,穿越網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Transport, NAT)網(wǎng)絡(luò)較為困難,并且采用特定的流媒體服務(wù)器需要額外的搭建成本[2]。而基于超文本傳輸協(xié)議(HyperText Transfer Protocol, HTTP)的流媒體傳輸技術(shù)采用傳輸控制協(xié)議(Transmission Control Protocol, TCP),利用TCP的可靠性、數(shù)據(jù)包容易通過(guò)防火墻和NAT網(wǎng)絡(luò)、系統(tǒng)部署配置簡(jiǎn)單等特點(diǎn),更易于適用于復(fù)雜的互聯(lián)網(wǎng)環(huán)境。因此近年來(lái),TCP迅速取代了UDP成為了流媒體傳輸?shù)臉?biāo)準(zhǔn)。同時(shí)為了應(yīng)對(duì)大量高用戶體驗(yàn)質(zhì)量(Quality of Experience, QoE)需求的挑戰(zhàn),基于HTTP的動(dòng)態(tài)自適應(yīng)流(Dynamic Adaptive Streaming over HTTP, DASH)媒體技術(shù)作為有前途的解決方案之一,已經(jīng)受到了視頻服務(wù)提供商和學(xué)術(shù)研究的重視[3]。

部署在客戶端的自適應(yīng)碼率(Adaptive Bit-Rate)切換算法作為DASH技術(shù)的研究熱點(diǎn),當(dāng)下面臨的最大挑戰(zhàn)就是如何定義碼率自適應(yīng)邏輯來(lái)更好地滿足用戶QoE需求[4]。其研究方向主要分為三大類:基于帶寬的切換算法、基于緩存的切換算法以及基于帶寬和緩存等混合因素的切換算法??紤]單一因素的切換算法可能在充分利用帶寬和充分利用緩存兩者之間選擇一點(diǎn)具有高性能表現(xiàn)[5-8],而考慮混合因素的切換算法則重點(diǎn)在帶寬利用和緩存利用之間取得更佳均衡的表現(xiàn)[9-11]。

本文提出一種綜合考慮帶寬和緩存因素的動(dòng)態(tài)自適應(yīng)的HTTP流碼率漸進(jìn)切換(Dynamic Adaptive Step-wise Bitrate Switching, DASBS)算法,綜合考慮了網(wǎng)絡(luò)帶寬和緩存狀態(tài)兩種因素來(lái)動(dòng)態(tài)選擇最合適的視頻碼率。以盡可能提升用戶QoE為目標(biāo), 本文算法利用滑動(dòng)窗口分析最近下載的前W個(gè)分片,并采用指數(shù)加權(quán)方法對(duì)帶寬進(jìn)行評(píng)估;接著,分別依據(jù)帶寬波動(dòng)程度和緩存實(shí)時(shí)狀態(tài)設(shè)置矯正因子,對(duì)帶寬估值進(jìn)行平滑化。本文算法在碼率切換時(shí)實(shí)現(xiàn)了逐級(jí)切換,并且在保證視頻平均碼率較高的基礎(chǔ)上,同時(shí)也較穩(wěn)定地控制了碼率切換次數(shù)。實(shí)驗(yàn)結(jié)果表明,在模擬網(wǎng)絡(luò)頻繁變化的環(huán)境下,該切換算法具有帶寬高利用、碼率切換平滑和碼率切換穩(wěn)定的良好表現(xiàn)。

1?相關(guān)工作

碼率自適應(yīng)算法在DASH中是一個(gè)新興活躍的研究領(lǐng)域。同時(shí)DASH標(biāo)準(zhǔn)并沒(méi)有提供任何碼率自適應(yīng)邏輯或指定算法,它允許播放客戶端實(shí)現(xiàn)專有優(yōu)化算法來(lái)適應(yīng)終端設(shè)備和網(wǎng)絡(luò)條件。因此,許多商業(yè)和開(kāi)源的DASH客戶端都研究并采用各種不同的碼率適應(yīng)算法[12],其中具有代表性的碼率自適應(yīng)切換算法主要分為三類:基于帶寬的切換算法、基于緩存的切換算法以及基于帶寬和緩存等混合因素的切換算法。

基于帶寬的自適應(yīng)算法如VLC(Video LAN Client)算法[5],它采用當(dāng)前已下載視頻分片下載速度均值作為當(dāng)前帶寬的估算結(jié)果,以帶寬估值為參考因素選擇下一個(gè)分片的最佳碼率。該算法通過(guò)用下載速度均值來(lái)預(yù)測(cè)帶寬,在一定程度上平滑了帶寬抖動(dòng)的影響。但也因?yàn)椴捎镁倒罍y(cè),使得帶寬的變化趨勢(shì)較真實(shí)帶寬具有滯后性。Li等[6]提出的Panda算法則是通過(guò)“探測(cè)和適應(yīng)”機(jī)制在客戶端對(duì)TCP吞吐量進(jìn)行預(yù)測(cè),然后適應(yīng)網(wǎng)絡(luò)帶寬來(lái)選擇合適的分片碼率。該算法顯著提高了碼率選擇的穩(wěn)定性,但在帶寬狀態(tài)持續(xù)良好或急劇惡化時(shí),客戶端緩存區(qū)會(huì)出現(xiàn)溢出。

基于緩存的自適應(yīng)算法側(cè)重于對(duì)當(dāng)前緩存狀態(tài)的持續(xù)監(jiān)測(cè),并依據(jù)不同緩存狀態(tài)采取相應(yīng)碼率適應(yīng)策略。Le等[7]利用實(shí)際分段下載時(shí)間和緩沖區(qū)實(shí)時(shí)水平進(jìn)行比較來(lái)進(jìn)行碼率控制;Spiteri等[8]提出一種不需要任何網(wǎng)絡(luò)帶寬預(yù)測(cè),僅通過(guò)當(dāng)前緩存區(qū)大小狀態(tài)來(lái)設(shè)置相關(guān)控制參數(shù)進(jìn)行碼率選擇的算法。這類方法雖然避免了帶寬估計(jì)不準(zhǔn)帶來(lái)的風(fēng)險(xiǎn),卻也同時(shí)會(huì)因?yàn)榫彺鏍顟B(tài)時(shí)刻跌宕變化而經(jīng)常觸發(fā)切換動(dòng)作,這樣頻繁的碼率切換會(huì)造成對(duì)用戶QoE的影響。

基于帶寬和緩存等混合因素的自適應(yīng)算法是指在選擇不同碼率分片時(shí),同時(shí)考慮帶寬和緩存等因素的影響。Lee等[9]提出一種考慮帶寬和緩存的視頻質(zhì)量控制方法——VQCQ(Video Quality Control for QoE),基于帶寬和緩存的碼率切換算法,其通過(guò)比較帶寬估值和當(dāng)前分片碼率、緩存區(qū)剩余時(shí)長(zhǎng)和下一分片預(yù)估下載時(shí)長(zhǎng)兩組判斷條件來(lái)進(jìn)行碼率的上升或下調(diào)。該算法對(duì)帶寬波動(dòng)具有較高敏感度,缺點(diǎn)是在帶寬穩(wěn)定只發(fā)生短暫波動(dòng)時(shí)依舊會(huì)觸發(fā)切換動(dòng)作,算法切換穩(wěn)定性有待提升。Müller等[10]將緩存容量分級(jí),不同級(jí)別對(duì)應(yīng)不同帶寬預(yù)測(cè)系數(shù),通過(guò)前一分片下載速度與當(dāng)前緩存級(jí)別對(duì)應(yīng)預(yù)測(cè)系數(shù)結(jié)合來(lái)決定下一分片的碼率選擇。該算法同時(shí)衡量帶寬因素和緩存因素,提出了一種自適應(yīng)切換算法的改進(jìn)算法——EABS(Evolution of Adaptive Bitrate Switching),有效地提高了帶寬利用率,但緩存利用相對(duì)較低。陳立偉等[11]通過(guò)設(shè)置緩存上溢閾值和緩存下溢閾值,調(diào)節(jié)視頻碼率使緩存狀態(tài)處于均衡范圍內(nèi);并依照帶寬狀況設(shè)置不同碼率調(diào)節(jié)策略:保守方法單級(jí)別提升視頻碼率和利用logistics方程決定碼率下調(diào)幅度。該算法能較好地平衡緩存狀態(tài)和網(wǎng)絡(luò)帶寬之間的關(guān)系來(lái)選擇合適的碼率;但是在網(wǎng)絡(luò)狀況阻塞加劇時(shí),其碼率下調(diào)幅度也會(huì)無(wú)法避免地急劇增大。

本文提出的DASBS算法通過(guò)權(quán)衡帶寬狀態(tài)和緩存狀態(tài)兩種因素來(lái)選擇最合適的視頻碼率。該算法主要分為帶寬評(píng)估和碼率切換兩大模塊。帶寬評(píng)估模塊先通過(guò)滑動(dòng)窗口、指數(shù)加權(quán)等機(jī)制得到初步帶寬估值,然后通過(guò)帶寬波動(dòng)影響因子和緩存狀態(tài)影響因子對(duì)帶寬估值再次進(jìn)行矯正,避免緩存下溢風(fēng)險(xiǎn)和帶寬的不充分利用;碼率切換模塊通過(guò)設(shè)置動(dòng)態(tài)緩存閾值,并將切換策略與緩存閾值建立相關(guān)關(guān)系,動(dòng)態(tài)調(diào)控碼率進(jìn)行漸進(jìn)式上升/下降,實(shí)現(xiàn)碼率平滑切換以及緩存狀態(tài)維持均衡。

2?自適應(yīng)碼率切換算法

2.1?系統(tǒng)模型

基于HTTP的動(dòng)態(tài)自適應(yīng)流媒體技術(shù)的系統(tǒng)架構(gòu)如圖1所示,本文提出的自適應(yīng)切換算法也適用于在圖示系統(tǒng)中的DASH流媒體客戶端模塊。在流媒體服務(wù)器端,視頻內(nèi)容被編碼成不同碼率的多個(gè)版本。每種碼率的視頻被分割成多個(gè)小視頻分片,每段分片包含幾秒鐘的視頻;并且在時(shí)間線上各種碼率的視頻分片相互對(duì)齊,以便于客戶端在需要的時(shí)候平穩(wěn)地在不同碼率之間進(jìn)行切換。與視頻分片同時(shí)生成的還有媒體描述文件(Media Presentation Description, MPD),用來(lái)描述每個(gè)視頻分片持續(xù)時(shí)間、有多少個(gè)碼率等級(jí)、視頻資源統(tǒng)一資源定位符(Uniform Resource Locator, URL)等信息[13]。流媒體客戶端通過(guò)接收到MPD后,會(huì)調(diào)用碼率自適應(yīng)切換算法來(lái)評(píng)估網(wǎng)絡(luò)狀況等因素,然后動(dòng)態(tài)地選擇最合適的碼率分片下載到本地進(jìn)行播放。

2.2?算法目標(biāo)

碼率自適應(yīng)的目的是為了在有限網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)狀態(tài)發(fā)生波動(dòng)的環(huán)境下,動(dòng)態(tài)選擇最合適的播放碼率,為用戶提供最佳視頻質(zhì)量服務(wù)的同時(shí),最大化地滿足用戶QoE。而優(yōu)化用戶QoE可以考慮從以下幾個(gè)目標(biāo)著手[14]:1)視頻播放過(guò)程中不能出現(xiàn)卡頓現(xiàn)象;

2)視頻的平均碼率盡量地高,要最大化視頻質(zhì)量;

3)碼率切換次數(shù)盡可能少,碼率選擇要具有穩(wěn)定性;

4)碼率切換時(shí)盡量逐級(jí)切換,切換過(guò)程具有平滑性;

5)視頻的啟動(dòng)時(shí)延盡量低。

其中:視頻卡頓現(xiàn)象對(duì)用戶QoE帶來(lái)的影響最大,所以在網(wǎng)絡(luò)和緩存狀態(tài)惡劣時(shí), 本文算法會(huì)通過(guò)矯正因子適當(dāng)?shù)乜s小帶寬估值、動(dòng)態(tài)增難碼率上調(diào)條件等方式,首先確保客戶端緩存區(qū)容量不會(huì)發(fā)生下溢。同時(shí)為了充分利用帶寬、最大化視頻質(zhì)量來(lái)提升用戶QoE,也設(shè)有矯正因子適當(dāng)?shù)胤糯蠊浪銕挕?dòng)態(tài)增難碼率下調(diào)條件等方式并來(lái)避免緩存區(qū)上溢發(fā)生。同時(shí)提出建立在動(dòng)態(tài)緩存閾值上的碼率切換策略, 對(duì)切換次數(shù)和切換平滑程度進(jìn)行有效控制,保證用戶觀看視頻服務(wù)過(guò)程不會(huì)發(fā)生畫(huà)質(zhì)劇烈變化,在一定程度上優(yōu)化用戶QoE。最后,視頻啟動(dòng)時(shí)延取決于對(duì)前幾視頻分片的選取策略,為了盡可能減小啟動(dòng)時(shí)延并規(guī)避起始帶寬不佳發(fā)生卡頓的風(fēng)險(xiǎn), 本文算法對(duì)最初幾片進(jìn)行最低碼率下載,快速激活算法控制機(jī)制,為用戶QoE提供保障。

2.3?算法提出

本文提出的切換算法將帶寬狀態(tài)和緩存狀態(tài)作為碼率自適應(yīng)的主要參數(shù)。算法由帶寬評(píng)估和碼率切換兩個(gè)主要模塊組成,首先由帶寬評(píng)估模塊根據(jù)已下載視頻分片的下載速率及當(dāng)前緩存區(qū)容量來(lái)對(duì)當(dāng)前的帶寬進(jìn)行評(píng)估;然后,由碼率切換模塊根據(jù)評(píng)估出的帶寬依照碼率切換策略選擇能最大化用戶體驗(yàn)的視頻分片進(jìn)行下載。

帶寬評(píng)估模塊包含了三個(gè)步驟:首先,實(shí)現(xiàn)初始帶寬評(píng)估;其次,衡量真實(shí)帶寬波動(dòng)程度對(duì)于帶寬評(píng)估結(jié)果的影響并對(duì)估值進(jìn)行矯正;最后,衡量緩存區(qū)狀態(tài)對(duì)于帶寬評(píng)估結(jié)果的影響并對(duì)估值進(jìn)行矯正。下面詳細(xì)描述這三個(gè)過(guò)程。

1)初步評(píng)估帶寬。

該模塊設(shè)置可觀察W個(gè)視頻分片的滑動(dòng)窗口,考慮其中最近下載的W個(gè)分片,并且采用指數(shù)權(quán)重的方法為不同視頻分片的下載速率賦予了不同的權(quán)重,剛下載的視頻分片權(quán)重較高,早已下載好的視頻分片權(quán)重則偏低,這樣使評(píng)估結(jié)果更接近真實(shí)帶寬。

2)衡量帶寬狀態(tài)影響。

其中: μs2為本模塊對(duì)評(píng)估帶寬進(jìn)行適當(dāng)矯正之后的結(jié)果。當(dāng)前W個(gè)視頻分片下載速率在均值附近輕微抖動(dòng)時(shí),真實(shí)帶寬比較穩(wěn)定,此時(shí)ρv會(huì)趨向于1,這種情況下式(6)對(duì)評(píng)估出的帶寬μs矯正幅度較小;相反地,當(dāng)θ較大時(shí), ρv會(huì)趨向于其下界ρv,此時(shí)對(duì)評(píng)估出的帶寬μs的矯正幅度較大,能盡量避免帶寬急劇抖動(dòng)時(shí)帶來(lái)的緩存溢出風(fēng)險(xiǎn)。本文算法中ρv取0.3。

3)衡量緩存狀態(tài)影響。

當(dāng)緩存區(qū)容量接近下溢時(shí),為了減小播放卡頓的風(fēng)險(xiǎn)并快速填充緩沖區(qū),需要對(duì)帶寬估值進(jìn)行縮小矯正從而選擇低碼率分片;當(dāng)緩存區(qū)容量接近上溢時(shí),需要對(duì)帶寬估值進(jìn)行放大矯正從而選擇高碼率分片,以避免緩存區(qū)飽和導(dǎo)致無(wú)法充分利用帶寬。

其中: μs3為最終帶寬估值用于碼率切換模塊選擇合適碼率。本文算法中ρb取值1.5,而ρb取值0.4。

碼率切換是本文算法的另一個(gè)重要模塊,完成緩存區(qū)容量閾值的動(dòng)態(tài)設(shè)定和具體切換策略的設(shè)置,下面詳細(xì)描述。

1)緩存區(qū)容量閾值。

在碼率切換模塊中,碼率選擇在以帶寬估值作為判斷條件的同時(shí),還動(dòng)態(tài)設(shè)置了緩存區(qū)容量閾值條件:分別為碼率上切閾值和碼率下切閾值。需要同時(shí)滿足帶寬和緩存的兩組條件時(shí),才會(huì)觸發(fā)碼率切換策略。

其中:Bup代表碼率向上切換的閾值;Rk代表第k個(gè)視頻質(zhì)量級(jí)別所對(duì)應(yīng)的碼率;Bmax代表緩存區(qū)的最大容量;L代表最高的視頻質(zhì)量級(jí)別;RL則是視頻分片碼率集中最高碼率;Rcur表示當(dāng)前碼率值;Rcur+1則表示比當(dāng)前碼率值高一級(jí)的碼率。Bup由當(dāng)前視頻分片碼率動(dòng)態(tài)決定,只有緩存區(qū)容量大于Bup時(shí),碼率切換模塊才可能選擇較高質(zhì)量的視頻分片去下載。

其中:Bdown代表碼率向下切換的動(dòng)態(tài)閾值,只有當(dāng)緩存區(qū)長(zhǎng)度小于Bdown時(shí),碼率切換模塊才可能選擇較低質(zhì)量的視頻分片去下載。

2)碼率切換策略。

定義當(dāng)下載視頻分片的個(gè)數(shù)小于或等于φ時(shí)屬于快啟動(dòng)階段,碼率切換模塊會(huì)直接選擇最低質(zhì)量視頻分片進(jìn)行下載,盡可能去降低啟動(dòng)時(shí)延,同時(shí)也盡快填充緩存區(qū),避免緩存區(qū)下溢。定義當(dāng)下載視頻分片個(gè)數(shù)大于φ時(shí)進(jìn)入漸進(jìn)切換階段,在漸進(jìn)切換階段設(shè)置三組觸發(fā)條件:策略碼率向上逐級(jí)切換條件如下:μs3>Rcur+1 & Bcur[i]>Bup(11)

當(dāng)緩存區(qū)容量比向上切換閾值Bup大,同時(shí)帶寬估算結(jié)果比當(dāng)前播放質(zhì)量高一梯度還高時(shí),此時(shí)才會(huì)選擇比當(dāng)前播放質(zhì)量高一梯度視頻分片進(jìn)行平滑上切。

當(dāng)緩存區(qū)容量比向下切換閾值Bdown小,同時(shí)帶寬估算結(jié)果低于當(dāng)前視頻播放質(zhì)量時(shí),才會(huì)選擇低于當(dāng)前視頻質(zhì)量一個(gè)梯度的視頻分片平滑下切。

3?實(shí)驗(yàn)與結(jié)果分析

3.1?實(shí)驗(yàn)環(huán)境

本文以MPEG-DASH標(biāo)準(zhǔn)的參考平臺(tái)libdash[15]作為算法實(shí)驗(yàn)平臺(tái),通過(guò)在客戶端部署不同的碼率自適應(yīng)算法,分別對(duì)本文DASBS算法、VQCQ算法[9]和EABS算法[10]進(jìn)行比較。

實(shí)驗(yàn)采用的視頻是Big Buck Bunny(https://peach.blender.org/),視頻時(shí)長(zhǎng)為300s,一共150個(gè)視頻分片,每個(gè)視頻分片時(shí)長(zhǎng)2s。流媒體視頻可供選擇的碼率有10種,編碼碼率集合為{200,400,600,800,1000,1200,1400,1600,1800,2000}(單位為kb/s)。實(shí)驗(yàn)采用的最大緩存區(qū)容量為30 s,并且通過(guò)結(jié)合算法理論和實(shí)踐測(cè)試,最終設(shè)置相關(guān)參數(shù)如下:快啟動(dòng)分片數(shù)φ=5,滑動(dòng)窗口W=5,權(quán)值系數(shù)ω=0.4,帶寬矯正因子下界ρv=0.3,緩存矯正因子下界ρb=0.4,緩存矯正因子上界ρb=1.5。

3.2?網(wǎng)絡(luò)設(shè)定

為了模擬用戶在實(shí)際視頻點(diǎn)播過(guò)程中常見(jiàn)的網(wǎng)絡(luò)波動(dòng)情景,實(shí)驗(yàn)定義了兩種帶寬變化曲線。場(chǎng)景1主要用于模擬帶寬階梯上升和帶寬階梯下降的情況。如圖3中實(shí)線所示,該場(chǎng)景的初始帶寬為500kb/s,并將其維持50s;50~100s時(shí),帶寬被更改為1000kb/s;100~200s時(shí)帶寬被設(shè)定為1600kb/s;200~300s這一階段帶寬的變化趨勢(shì)與0~100s的變化趨勢(shì)正好相反,在200~250s的區(qū)間內(nèi),帶寬被設(shè)定為1000kb/s,250~300s時(shí)帶寬則被設(shè)定為500kb/s。場(chǎng)景2模擬了網(wǎng)絡(luò)帶寬發(fā)生突然變化的情況。如圖3虛線所示,在該場(chǎng)景中帶寬在0~60s、66~166s、172~300s為帶寬穩(wěn)定周期,帶寬水平分別保持在800kb/s、1200kb/s、1200kb/s;在60~66s發(fā)生第一次突變,帶寬水平驟降為400kb/s;在166~172s發(fā)生第二次突變,帶寬水平上升為1600kb/s。

3.3?網(wǎng)絡(luò)場(chǎng)景1的實(shí)驗(yàn)結(jié)果

當(dāng)模擬帶寬是第一種情況時(shí),本文DASBS算法與VQCQ算法進(jìn)行比較,運(yùn)行情況如圖4所示,其中圖4(a)為選擇的分片碼率隨時(shí)間的變化曲線,圖4(b)為緩存狀態(tài)隨時(shí)間的變化曲線。

如圖4(a)碼率變化曲線所示,在評(píng)估帶寬階段加入了滑動(dòng)窗口、指數(shù)權(quán)重以及帶寬矯正因子等機(jī)制后,本文DASBS算法動(dòng)態(tài)選擇的碼率能夠隨著帶寬階梯變化而變化。在視頻播放到50s、100s、200s和250s時(shí)網(wǎng)絡(luò)帶寬發(fā)生變化, 本文算法在作出相應(yīng)碼率調(diào)整動(dòng)作時(shí),逐級(jí)上升或者逐級(jí)下降來(lái)過(guò)渡到合適碼率級(jí)別,體現(xiàn)出了本文算法的切換平滑性;而VQCQ算法碼率選擇雖也隨帶寬階梯變化而變化,但其在切換上跨級(jí)較大,不夠平滑,并且整體帶寬利用更低。

如圖4(b)緩存變化曲線所示,VQCQ算法的緩存狀態(tài)會(huì)隨網(wǎng)絡(luò)帶寬下降而更快惡化,緩存下降速率過(guò)快容易導(dǎo)致緩存耗盡,造成播放卡頓;相反地,帶寬變化對(duì)DASBS算法的緩存曲線影響不大,其整體緩存區(qū)容量維持在較好水平,波動(dòng)幅度較小。

同時(shí)在模擬帶寬是第一種情況的同時(shí),將本文DASBS算法與EABS算法[10]對(duì)比。運(yùn)行情況如圖5所示。

如圖5變化曲線所示:EABS算法能夠較好地利用帶寬,甚至選擇的碼率質(zhì)量會(huì)略高于當(dāng)前帶寬,可其也會(huì)隨著緩存狀態(tài)的時(shí)刻變化而產(chǎn)生更多的碼率切換動(dòng)作,所以EABS算法雖然帶寬利用率高,但是切換穩(wěn)定性不足。相比較之下,本文DASBS算法的切換策略能有效避免這些不必要的碼率切換,從DASBS算法碼率曲線就能體現(xiàn)出其在帶寬利用率和切換穩(wěn)定性之間取得較好平衡。在緩存變化方面,兩種算法的緩存曲線都比較穩(wěn)定,但DASBS算法緩存利用率相對(duì)更優(yōu)。

3.4?網(wǎng)絡(luò)場(chǎng)景2的實(shí)驗(yàn)結(jié)果

當(dāng)模擬帶寬是第二種情況時(shí),本文DASBS算法與VQCQ算法[9]對(duì)比,運(yùn)行情況如圖6所示。

如圖6中兩組曲線所示,前30s內(nèi)兩種算法均能快速啟動(dòng),填充緩沖區(qū)使碼率適配到相應(yīng)帶寬水平。但在60s時(shí)帶寬發(fā)生急劇惡化時(shí),VQCQ算法的碼率選擇明顯受到影響致使碼率級(jí)別下調(diào);而本文DASBS算法則表現(xiàn)穩(wěn)定,然后在88s時(shí)刻,帶寬情況良好、緩存容量增加達(dá)到相應(yīng)閾值時(shí)碼率才逐級(jí)上調(diào)。接著在166s時(shí)刻帶寬二次發(fā)生短期波動(dòng),兩種算法均能較好地平滑后期帶寬短暫波動(dòng)的影響;并且更在236s時(shí)DASBS算法因緩存容量持續(xù)增長(zhǎng)達(dá)到下一動(dòng)態(tài)閾值時(shí)碼率再次發(fā)生逐級(jí)上調(diào),能夠適配到更優(yōu)的碼率級(jí)別。相比之下,DASBS算法只犧牲了一點(diǎn)緩存利用,但在碼率切換上表現(xiàn)出更好的穩(wěn)定性,也擁有更好的帶寬利用率。

同時(shí)在模擬帶寬是第二種情況時(shí),將本文DASBS算法與EABS算法[10]對(duì)比。運(yùn)行情況如圖7所示。

從圖7可看出:視頻播放初期,EABS算法由于緩存變化較大致使碼率切換非常頻繁;DASBS算法則能較快填充緩存、逐級(jí)適配碼率到穩(wěn)定水平。后在60s和166s兩次帶寬突然變化時(shí),EABS算法的緩存曲線和碼率曲線均在抖動(dòng)附近發(fā)生明顯變化,而DASBS算法表現(xiàn)穩(wěn)定。同時(shí)整個(gè)播放過(guò)程中,EABS算法雖然具有很高帶寬利用率,但其碼率自適應(yīng)過(guò)程中切換次數(shù)非常頻繁、碼率跨越級(jí)別大,其碼率曲線表現(xiàn)出來(lái)的切換穩(wěn)定性和平滑性較差;而DASBS算法則在帶寬利用和緩存利用之間作出較好權(quán)衡,在稍微降低平均碼率的前提下,在碼率切換上大幅減少了碼率切換次數(shù),并使得碼率選擇逐級(jí)自適應(yīng),表現(xiàn)出了更好的穩(wěn)定性和平滑性。

4?結(jié)語(yǔ)

本文提出一種漸進(jìn)切換的碼率自適應(yīng)切換算法,該算法基于帶寬和緩存兩種因素來(lái)動(dòng)態(tài)選擇碼率;先通過(guò)滑動(dòng)窗口及指數(shù)權(quán)重來(lái)得到初步帶寬估值,再設(shè)置帶寬波動(dòng)矯正因子和緩存狀態(tài)矯正因子對(duì)其作用,使帶寬估值更接近實(shí)時(shí)帶寬;同時(shí)建立緩存閾值與碼率切換條件的相關(guān)關(guān)系,動(dòng)態(tài)調(diào)整切換臨界來(lái)使切換更加穩(wěn)定平滑。實(shí)驗(yàn)結(jié)果表明,在模擬網(wǎng)絡(luò)頻繁變化的環(huán)境下,該切換算法在碼率切換平滑性和穩(wěn)定性上具有顯著優(yōu)勢(shì),同時(shí)也能保證帶寬及緩存較高利用率,這能夠更好地滿足用戶的QoE。但是隨著用戶在同一網(wǎng)絡(luò)下體驗(yàn)自適應(yīng)流媒體視頻的概率提升,用戶間競(jìng)爭(zhēng)資源的可能性提高,未來(lái)在設(shè)計(jì)碼率自適應(yīng)切換算法時(shí)需要盡量提升多用戶競(jìng)爭(zhēng)資源時(shí)的觀看體驗(yàn)。

參考文獻(xiàn)(References)

[1] Cisco. White paper: Cisco VNI forecast and methodology, 2015-2020[EB/OL]. [2017-08-14]. https://www.cisco.com/c/en/us/solutions/collateral/service-provider/.

[2] 夏勃, 林滸, 李鴻彬,等. 一種動(dòng)態(tài)自適應(yīng)HTTP流媒體碼率切換算法[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2015, 36(2): 275-279. (XIA B, LIN H, LI H B, et al. A dynamic adaptive HTTP streaming rate switching algorithm[J]. Journal of Chinese Computer Systems, 2015, 36(2): 275-279.)

[3] ZHAO S, LI Z, MEDHI D, et al. Study of user QoE improvement for dynamic adaptive streaming over HTTP (MPEG-DASH) [C]// Proceedings of the 2017 International Conference on Computing, Networking and Communications. Piscataway, NJ: IEEE, 2017: 566-570.

[4] MOK R K P, LUO X, CHAN E W W, et al. QDASH: a QoE-aware DASH system[C]// MMSys 2012: Proceedings of the 3rd Multimedia Systems Conference. New York: ACM, 2012: 11-22.

[5] TIMMERER C. A test-bed for the dynamic adaptive streaming over HTTP featuring session mobility[C]// MMSys 2011: Proceedings of the 2nd Annual ACM Conference on Multimedia Systems. New York: ACM, 2011: 271-276.

[6] LI Z, ZHU X, GAHM J, et al. Probe and Adapt: Rate adaptation for HTTP video streaming at scale[J]. IEEE Journal on Selected Areas in Communications, 2014, 32(4): 719-733.

[7] LE H T, NGUYEN D V, NGOC N P, et al. Buffer-based bitrate adaptation for adaptive HTTP streaming [C]// ATC 2013: Proceedings of the 2013 International Conference on Advanced Technologies for Communications. Piscataway, NJ: IEEE, 2013: 33-38.

[8] SPITERI K, URGAONKAR R, SITARAMAN R K. BOLA: near-optimal bitrate adaptation for online videos[C]// IEEE INFOCOM 2016: Proceedings of the 35th Annual IEEE International Conference on Computer Communications. Piscataway, NJ: IEEE, 2016: 1-9.

[9] LEE S, YOUN K, CHUNG K. Adaptive video quality control scheme to improve QoE of MPEG DASH[C]// Proceedings of the 2015 IEEE International Conference on Consumer Electronics. Piscataway, NJ: IEEE, 2015: 126-127.

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

[11] 陳立偉, 李國(guó)平, 滕國(guó)偉, 等. 基于HTTP流化的自適應(yīng)碼率混合控制算法[J]. 上海大學(xué)學(xué)報(bào)(自然科學(xué)版), 2014, 20(3): 313-320. (CHEN L W, LI G P, TENG G W, et al. Adaptive code rate hybrid control algorithm based on HTTP streaming[J]. Journal of Shanghai University (Natural Science), 2014, 20(3): 313-320.)

[12] KESAVAN S, JAYAKUMAR J. Improvement of adaptive HTTP streaming using advanced real-time rate adaptation [J]. Computers & Electrical Engineering, 2017, 58: 49-66.

[13] KUA J, ARMITAGE G, BRANCH P. A survey of rate adaptation techniques for dynamic adaptive streaming over HTTP[J]. IEEE Communications Surveys & Tutorials, 2017, 19(3): 1842-1866.

[14] 祝谷喬, 宋皓. MPEG-DASH與HLS流傳輸技術(shù)的比較分析[J]. 電信科學(xué), 2015, 31(4): 23-27. (ZHU G Q, SONG H. Comparative Analysis of MPEG-DASH and HLS streaming technology[J]. Telecommunications Science, 2015, 31(4): 23-27.)

[15] Libdash [EB/OL]. [2016-12-11]. https://github.com/bitmovin/libdash.

猜你喜歡
流媒體
流媒體技術(shù)在廣播傳輸系統(tǒng)中的應(yīng)用
流媒體時(shí)代下時(shí)尚攝影的發(fā)展走向
流媒體傳輸加密技術(shù)研究
基于JSP的流媒體播放的設(shè)計(jì)與實(shí)現(xiàn)
網(wǎng)絡(luò)遠(yuǎn)程教學(xué)系統(tǒng)的設(shè)計(jì)
基于云服務(wù)的P2P流媒體技術(shù)在遠(yuǎn)程教學(xué)視頻傳輸中的應(yīng)用
基于RTMFP協(xié)議的視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于能耗優(yōu)化的協(xié)作式動(dòng)態(tài)自適應(yīng)流媒體系統(tǒng)
我的微課制作與反思
實(shí)時(shí)流媒體數(shù)字水印系統(tǒng)的實(shí)現(xiàn)及其性能評(píng)價(jià)