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

?

基于網(wǎng)絡(luò)流量預(yù)測的DASH 系統(tǒng)優(yōu)化

2021-05-17 05:31:26耿俊杰李曉明顏金堯
計算機工程 2021年5期
關(guān)鍵詞:吞吐量客戶端編碼

耿俊杰,李曉明,顏金堯

(1.中國傳媒大學 協(xié)同創(chuàng)新中心,北京 100024;2.北京華宇信息技術(shù)有限公司,北京 100024)

0 概述

隨著網(wǎng)絡(luò)帶寬不斷增加,人們對網(wǎng)絡(luò)媒體的信息需求日益增長。根據(jù)2016 年CISCO 公司發(fā)布的基于網(wǎng)絡(luò)應(yīng)用分類的流量報告[1],網(wǎng)絡(luò)媒體流量占整個網(wǎng)絡(luò)流量的86%,各類媒體應(yīng)用成為人們信息化生活必不可少的一部分。傳統(tǒng)的RTP/RTSP[2-3]流媒體技術(shù)主要基于用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP),其傳輸具有不可靠性,且RTP/RTSP流媒體技術(shù)需要特定的流媒體服務(wù)器CDN,部署成本較高。此外,網(wǎng)絡(luò)帶寬實時波動會影響用戶的視頻播放體驗,為了使用戶獲得更快速、流暢和清晰的媒體服務(wù)體驗,改進流媒體技術(shù)提高用戶的體驗質(zhì)量(Quality of Experience,QoE)成為研究熱點。

用戶的體驗質(zhì)量與重緩沖時長成反比,與視頻清晰度成正比。用戶期望獲得較高的視頻質(zhì)量[4],而視頻質(zhì)量與視頻編碼速率成正比,當網(wǎng)絡(luò)狀況較差、視頻編碼速率較低時,客戶端如果仍選擇較高視頻質(zhì)量,則會造成當前回放的緩沖時長過度消耗而發(fā)生重緩沖,導致播放出現(xiàn)停頓[5],從而降低用戶體驗質(zhì)量。近年來,超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)自適應(yīng)傳輸技術(shù)逐漸興起,2011 年MPEG 組織聯(lián)合3GPP 公司共同發(fā)布關(guān)于HTTP 自適應(yīng)流化的公開草案MPEG-DASH[6],推出基于HTTP 的動態(tài)自適應(yīng)流(Dynamic Adaptive Streaming over HTTP,DASH)[7-8]技術(shù),其可通過感知當前客戶端網(wǎng)絡(luò)和緩沖等狀況,動態(tài)選擇相應(yīng)編碼速率的視頻片段下載播放,在客戶端網(wǎng)絡(luò)狀況較好或緩沖時間較長時會獲得更高的視頻質(zhì)量,是提高用戶體驗質(zhì)量的有效途徑。

ABR 自適應(yīng)比特率算法[9]是一種使用較廣泛的自適應(yīng)流媒體速率算法,其主要分為兩類:第一類算法利用網(wǎng)絡(luò)吞吐量預(yù)測并選擇視頻片段質(zhì)量,即根據(jù)上一個視頻片段平均下載速率選擇下一個視頻片段質(zhì)量;第二類算法僅根據(jù)當前緩沖區(qū)的緩存狀態(tài)選擇視頻片段質(zhì)量。第一類算法對吞吐量的預(yù)測較簡單,常會過高或過低估計網(wǎng)絡(luò)帶寬,導致發(fā)生重緩沖。第二類算法由于未對網(wǎng)絡(luò)吞吐量進行實時預(yù)測,因此網(wǎng)絡(luò)的動態(tài)性和DASH 基于HTTP 的漸進式下載方式會導致提前觸發(fā)拋棄規(guī)則,從而損失帶寬利用率,降低視頻質(zhì)量。拋棄規(guī)則是指在視頻片段下載過程中實時監(jiān)控下載速率,當下載速率無法滿足一定條件時,則放棄當前所選視頻片段,并根據(jù)當前網(wǎng)絡(luò)狀況重新選擇視頻片段。網(wǎng)絡(luò)吞吐量的準確預(yù)測有助于提高用戶的視頻體驗質(zhì)量[10-11]。

本文在傳統(tǒng)基于吞吐量的ABR 自適應(yīng)比特率算法基礎(chǔ)上,提出一種改進自適應(yīng)流媒體速率算法。使用機器學習方法預(yù)測網(wǎng)絡(luò)吞吐量并自適應(yīng)流速率,建立基于瀏覽器緩沖時長和當前網(wǎng)絡(luò)吞吐量預(yù)測的決策模型,將支持向量回歸(Support Vector Regression,SVR)模型和長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)[12]相結(jié)合,在不發(fā)生重緩沖情況下獲得較高的視頻質(zhì)量。同時,將評價指標SSIMPlus[13]作為不同編碼速率下視頻效用的客觀度量,并設(shè)定閾值,當視頻質(zhì)量效用超過閾值時進行切換以減少視頻播放抖動,最終采用帶寬描述文件[14]進行實驗驗證。

1 相關(guān)工作

為提高基于HTTP 的視頻流用戶體驗質(zhì)量,研究人員提出眾多自適應(yīng)比特率算法。其中,傳統(tǒng)基于吞吐量的自適應(yīng)算法[15-17]使用上一個視頻片段的平均下載速率作為下一個視頻片段的選擇標準,然而其吞吐量估計不夠準確。BBA 模型[18]充分利用緩存信息,提出當緩存時間較長時應(yīng)選擇較高的視頻片段下載速率,反之應(yīng)選擇較低的視頻片段下載速率,并將緩存時長與所選速率映射為單調(diào)遞增的分段線性函數(shù)。該模型雖然根據(jù)當前的緩存狀態(tài)選擇速率,但在帶寬的預(yù)測上仍基于上一個視頻片段的平均下載速率選擇下一個視頻片段。PANDA 模型[19]根據(jù)TCP 加窗原理,利用加窗函數(shù)對選擇速率進行微調(diào)來測試網(wǎng)絡(luò)性能。該模型能提高視頻播放速率的穩(wěn)定性,但由于其采用類似TCP 慢啟動的特性,從啟動到達到最高可用帶寬需要一定時間,無法快速利用可用帶寬,導致用戶的體驗質(zhì)量有所降低。QDash-abw 模型[20]利用代理模塊實時測定TCP 的延時特性,用于計算可用網(wǎng)絡(luò)帶寬,在一定程度上加大客戶端的負擔。

BOLA 模型[21]基于李雅普諾夫穩(wěn)定理論證明在已知當前緩存的情況下,無需知道網(wǎng)絡(luò)狀況就可采用最大化效用函數(shù)選擇相應(yīng)的編碼速率,從而達到在緩存穩(wěn)定條件下時間平均效用的最大化。該模型需在緩存達到穩(wěn)定狀態(tài)時觸發(fā)算法,由于前期缺少緩存信息,因此可采用傳統(tǒng)算法選擇合適的比特率。BOLA 模型可降低重緩沖率,并能保證在緩存相對穩(wěn)定的情況下,實現(xiàn)用戶體驗質(zhì)量效用最大化。為保證該模型在網(wǎng)絡(luò)帶寬波動較大時的有效性,在視頻片段下載階段會觸發(fā)BOLA 拋棄規(guī)則,即通過實時監(jiān)控網(wǎng)絡(luò)吞吐量重新選擇視頻片段質(zhì)量。由于TCP 協(xié)議具有慢啟動的特性,因此在實際網(wǎng)絡(luò)中BOLA 拋棄規(guī)則會提前觸發(fā),導致視頻質(zhì)量下降。

相關(guān)研究表明吞吐量的準確預(yù)測有助于提高用戶的視頻體驗[22],然而在網(wǎng)絡(luò)流量預(yù)測方面,許多研究工作集中在如何理解網(wǎng)絡(luò)流量的模式[23-24]以及通過建模來預(yù)測網(wǎng)絡(luò)流量。傳統(tǒng)網(wǎng)絡(luò)流量預(yù)測采用統(tǒng)計學方法,根據(jù)網(wǎng)絡(luò)流量時間序列之間相關(guān)性建立線性預(yù)測模型,例如移動平均模型MA、自回歸模型AR 和自回歸滑動平均模型ARMA 等。由于大部分網(wǎng)絡(luò)的時間序列具有非平穩(wěn)性和非線性的特點,因此研究人員提出基于原有線性預(yù)測模型進行差分處理的ARMA 模型[25]。此外,基于機器學習的時間序列模型也被應(yīng)用于網(wǎng)絡(luò)流量預(yù)測。文獻[26-27]提出一種基于支持向量機(Support Vector Machine,SVM)的流量預(yù)測模型,在此基礎(chǔ)上,研究人員針對視頻流量進行預(yù)測[28]。文獻[29]使用LSTM 深度模型對時間序列進行預(yù)測。文獻[30]提出一種基于SDN 的DASH 模型,通過SDN 的網(wǎng)絡(luò)架構(gòu)實時調(diào)整網(wǎng)絡(luò)服務(wù)質(zhì)量策略,為客戶端提供帶寬保證,從而提高用戶的體驗質(zhì)量。

2 系統(tǒng)模型

傳統(tǒng)DASH 系統(tǒng)結(jié)構(gòu)如圖1 所示。客戶端視頻播放器向媒體服務(wù)器發(fā)送請求獲取媒體文件并展示描述文件MPD,再根據(jù)當前網(wǎng)絡(luò)狀況向媒體服務(wù)器請求相應(yīng)質(zhì)量的視頻片段。由于DASH 服務(wù)器與客戶端之間的網(wǎng)絡(luò)可用帶寬在擁塞或者4G 傳輸?shù)惹闆r下存在實時變化,導致用戶的體驗質(zhì)量發(fā)生變化,包括所看視頻的質(zhì)量降低以及出現(xiàn)重緩沖現(xiàn)象。

圖1 傳統(tǒng)DASH 系統(tǒng)結(jié)構(gòu)Fig.1 Structure of traditional DASH system

2.1 傳統(tǒng)DASH 模型

定義1(視頻質(zhì)量)一個完整的視頻流被編碼為代表不同視頻質(zhì)量的l種比特率,視頻編碼速率集合?={r1,r2,…,rl},?ri∈?,1≤i≤l,ri為視頻編碼速率。各種比特率的視頻流均可劃分為N個視頻片段,即?ChunkSeti={chunki1,chunki2,…,chunkiN},每個視頻片段有相同的時間間隔p,即?chunkij∈ChunkSeti,1≤i≤L,1≤j≤N,Periodofchunkij=p。視頻片段大小Sij=p×r,視頻效用隨視頻片段增大而單調(diào)遞增。其中,ri≤rj,1≤i≤j≤l,ui≤uj(ui為以速率ri編碼的視頻片段效用)。

定義2(網(wǎng)絡(luò)可用帶寬)網(wǎng)絡(luò)可用帶寬在服務(wù)器和客戶端之間隨網(wǎng)絡(luò)波動不斷變化,設(shè)網(wǎng)絡(luò)帶寬是一個隨時間變化的隨機過程bw(t),在t時刻請求選擇下載編碼速率為ri的視頻片段chunkij,則在下載時間段下載的視頻片段大小為:

下載時間為:

DASH 客戶端處理過程為:視頻播放器下載連續(xù)的視頻片段在客戶端進行回放,且每個片段在下載完成后才能播放。播放器根據(jù)當前可用帶寬向服務(wù)器發(fā)送請求HTTP Request 來下載相應(yīng)編碼的視頻片段,視頻片段下載完成后以編碼速率進行解碼播放。視頻播放器采用一個有限的緩存來存儲下載的連續(xù)片段,如果緩存時長為0,則表明無內(nèi)容可播放;如果緩存被占滿已無可用空間,則需等待相應(yīng)時長Δ。

傳統(tǒng)DASH 模型的交互過程如下[31]:

1)以初始化速率下載。初始速率通過預(yù)先設(shè)定的Defaultr∈? 獲得,先根據(jù)視頻片段質(zhì)量量化函數(shù)q(rinit)得到相應(yīng)的視頻質(zhì)量,然后開始下載視頻片段。

2)下載監(jiān)控階段。實時監(jiān)控下載過程的網(wǎng)絡(luò)吞吐量,如果下載相應(yīng)比特率的視頻片段所需時間超過閾值,則拋棄所選比特率,并根據(jù)當前網(wǎng)絡(luò)吞吐量選擇視頻片段質(zhì)量。

3)根據(jù)上一個視頻片段的平均下載速率得到網(wǎng)絡(luò)吞吐量估計值,并據(jù)此選擇下一個視頻片段的質(zhì)量。下一個視頻片段的平均下載速率rnext=LastSi(j-1)/downloadtime,通過質(zhì)量量化函數(shù)q(rnext)得到相應(yīng)視頻片段質(zhì)量并開始下載,然后重復(fù)步驟2。

4)調(diào)度階段。如果客戶端在下載第j個視頻片段時緩沖時長B(j)大于最大允許緩沖時長Bmax,則等待且等待時長Δ=B(j)-Bmax,否則直接向服務(wù)器發(fā)送下一次請求HTTP Request,相關(guān)表達式如下:

在傳統(tǒng)DASH 系統(tǒng)中,各個視頻片段采用基于HTTP 的漸進式下載模式,且在全部下載完成后才能回放。當下載下一個視頻片段時,需重新發(fā)送請求HTTP Request,由于網(wǎng)絡(luò)帶寬的波動會觸發(fā)DASH算法中的拋棄規(guī)則,因此會降低視頻質(zhì)量。

2.2 基于預(yù)測和緩沖狀態(tài)的自適應(yīng)算法

由于傳統(tǒng)的DASH 算法未利用緩存狀態(tài)選擇相應(yīng)的比特率,BOLA 模型僅根據(jù)當前緩存狀態(tài)選擇相應(yīng)的比特率,而網(wǎng)絡(luò)的動態(tài)性和基于HTTP 的漸進式下載方式會導致BOLA 觸發(fā)拋棄規(guī)則,從而損失帶寬利用率并降低視頻質(zhì)量,因此本文基于ABR算法使用有時間記憶的機器學習方法預(yù)測網(wǎng)絡(luò)吞吐量,并建立基于緩沖時長和網(wǎng)絡(luò)流量預(yù)測的決策模型,通過對網(wǎng)絡(luò)吞吐量的有效預(yù)測減少拋棄規(guī)則的觸發(fā)概率,從而提高用戶體驗質(zhì)量。網(wǎng)絡(luò)層閥門有遺忘閥門、輸入閥門和輸出閥門3 類。這些閥門可打開或關(guān)閉,用于判斷網(wǎng)絡(luò)的記憶態(tài)在該層的輸出結(jié)果是否達到閾值,從而更好地預(yù)測網(wǎng)絡(luò)流量。LSTM 網(wǎng)絡(luò)是在循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)結(jié)構(gòu)的基礎(chǔ)上增加各層閥門節(jié)點,其結(jié)構(gòu)如圖2 所示。

圖2 LSTM 網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of LSTM network

LSTM 網(wǎng)絡(luò)具體處理流程如下:

1)采用Sigmoid函數(shù)控制遺忘閥門層,根據(jù)上一個時刻的輸出ht-1和當前輸入xt產(chǎn)生一個0 到1 的ft值,并利用上一個時刻學到的信息Ct-1進行計算,對部分信息進行去除或保留。ft的計算公式如下:

2)通過當前輸入xt和上一個時刻的輸出ht-1通知C需要更新的信息,包含兩部分:(1)輸入閥門層通過Sigmoid 函數(shù)確定需更新的信息值;(2)tanh 層用于生成新的候選值,其作為當前層產(chǎn)生的候選值添加到單元狀態(tài)中,相關(guān)計算公式如下:

然后進行單元狀態(tài)更新,將上一個時刻的單元狀態(tài)乘以ft過濾冗余信息,再與相加得到候選值。

3)通過Sigmoid 函數(shù)獲取初始輸出,再與Sigmoid 函數(shù)得到的輸出逐對相乘,從而得到模型的輸出,計算公式如下:

傳統(tǒng)算法僅使用上一個視頻片段的平均下載速率估計網(wǎng)絡(luò)吞吐量來選擇下一個視頻片段的質(zhì)量。本文DASH 系統(tǒng)使用SVR 和LSTM 模型預(yù)測網(wǎng)絡(luò)吞吐量,結(jié)合當前緩存狀態(tài)和優(yōu)化模型選擇合適的視頻編碼速率,同時在下載視頻片段過程中通過預(yù)測模型實時預(yù)測網(wǎng)絡(luò)吞吐量,以判定是否觸發(fā)拋棄規(guī)則,進而決定是否放棄所選質(zhì)量的視頻片段,本文DASH 系統(tǒng)結(jié)構(gòu)如圖3 所示。

圖3 本文DASH 系統(tǒng)結(jié)構(gòu)Fig.3 Structure of the proposed DASH system

為確保用戶體驗質(zhì)量最大化,根據(jù)預(yù)測的網(wǎng)絡(luò)吞吐量bwest計算所有可選視頻片段的下載時間估計值EDT,即?ri∈?,1≤i≤l,EDT=(ri×p)/bwest,并結(jié)合當前的緩沖狀態(tài)B(j) 構(gòu)建優(yōu)化模型如下:

在當前緩沖狀態(tài)下,采用合適的優(yōu)化目標函數(shù)選擇較高的視頻質(zhì)量,即下載時間估計值EDTj越接近當前緩沖時長B(j)越好。采用約束1 通過調(diào)節(jié)參數(shù)可實現(xiàn)緩存一定程度上的穩(wěn)定性,約束2 可保證不出現(xiàn)再緩沖。

推論1由于B(j+1)=max[0,B(j)-EDTj]+p,為保證不出現(xiàn)再緩沖,應(yīng)滿足EDTj≤B(j),因此B(j+1)=B(j)-EDTj+p。

EDT 隨緩沖相對穩(wěn)定系數(shù)α的變化如圖4 所示??梢钥闯觯S著α不斷增大(0<α1<α2<α3<1),EDT 曲線趨于平緩,表明當α較大時,緩沖相對穩(wěn)定且視頻質(zhì)量較好。

圖4 EDT 隨α 的變化Fig.4 Change of EDT with α

如果p-αB(j)>0,則0 ≤EDTj≤B(j);如果pαB(j)>0,則0 ≤EDTj≤p+(1-α)B(j)。約束2可修改為:

推論2當B(0)=0,B(1)=p,B(N)=0 時,得到:

EDT 隨緩沖時長B(j)的變化如圖5 所示??梢钥闯觯珽DT 隨B(j)的增長呈分段線性變化。當pαB(j)>0 時,選擇的視頻片段所需下載時長EDT 接近B(j),即會耗盡當前緩沖時長;當p-αB(j)<0 時,為保證所選下一個視頻片段具有較高質(zhì)量,不會完全耗盡當前緩沖時長B(j),EDT 增長減緩,即選擇的視頻片段質(zhì)量較低。

圖5 EDT 隨B(j)的變化Fig.5 Change of EDT with B(j)

本文DASH 系統(tǒng)算法如下:

算法1本文DASH 系統(tǒng)算法

上述算法具體步驟如下:

1)初始化速率

通過預(yù)先設(shè)定的Defaultr ∈? 設(shè)置初始速率,根據(jù)量化函數(shù)q(rinit)選擇相應(yīng)的視頻質(zhì)量,等待下載。

2)下載監(jiān)控階段

實時監(jiān)控下載過程的網(wǎng)絡(luò)吞吐量并存儲下載的網(wǎng)絡(luò)軌跡信息,使用預(yù)測模型進行預(yù)測,相關(guān)表達式如下:

在初始階段req.index=1,如果所選視頻片段下載所需時間超過閾值,即ri1×p/recentthoughput >β×p(β為初始下載時間閾值系數(shù)),則拋棄當前所選的比特率,并根據(jù)當前網(wǎng)絡(luò)吞吐量重新選擇視頻片段質(zhì)量qi1=q(recentthoughput)。在非初始階段req.index=j,N≥j>1,如果(Bnow為下載階段的實時緩沖時長),則重新根據(jù)優(yōu)化模型minimizeBnow-EDT選擇視頻質(zhì)量。當視頻片段完全下載后,根據(jù)優(yōu)化模型minimizeBnow-EDT 選擇下一個視頻片段的質(zhì)量,并通過質(zhì)量量化函數(shù)q(rnext)得到相應(yīng)視頻質(zhì)量并開始下載。為減少視頻質(zhì)量變動,假設(shè)當uqij-ulastquality>0.01(qij為以速率ri編碼的第j個視頻片段的質(zhì)量)時,返回新的視頻片段質(zhì)量;否則保持原來的視頻片段質(zhì)量,重復(fù)執(zhí)行步驟2。

3)調(diào)度階段

如果B(j)>Bmax,則等待且等待時長Δ=B(j)-Bmax,否則直接向服務(wù)器發(fā)送下一次請求HTTP Request,表達式如下:

3 實驗與結(jié)果分析

本文使用mininet2.2 平臺構(gòu)建網(wǎng)絡(luò)拓撲如圖6 所示。DASH 服務(wù)端使用Apache 軟件,采用DASH 數(shù)據(jù)集[32]提供的視頻片段Big Buck Bunny 進行測試,并根據(jù)DASH 提供的網(wǎng)絡(luò)帶寬描述文件,用網(wǎng)絡(luò)性能測試工具Iperf 發(fā)送相應(yīng)的動態(tài)流量作為背景流量。

圖6 網(wǎng)絡(luò)拓撲Fig.6 Network topology

Big Buck Bunny 視頻時長為600 s,被編碼為5 種分辨率和20 種視頻質(zhì)量,視頻片段間隔為10 s,劃分為60 個視頻片段,視頻編碼如表1 所示。采用SSIMPlus 評價指標作為不同編碼速率下視頻效用的客觀度量。

表1 Big Buck Bunny 視頻編碼Table 1 Big Buck Bunny video codings

對不同編碼速率的Big Buck Bunny 視頻進行線下客觀質(zhì)量測定,結(jié)果如圖7 所示??梢钥闯?,視頻的客觀質(zhì)量隨編碼速率的升高呈非線性遞增趨勢。

圖7 Big Buck Bunny 的客觀質(zhì)量Fig.7 Objective quality of Big Buck Bunny

使用開源的DASH.js2.0 作為客戶端視頻播放器,采用Node-webkit.js 作為瀏覽器。由于DASH.js2.0適用于傳統(tǒng)的ABR 算法和新興的BOLA 算法,因此本文在此基礎(chǔ)上進行擴展形成基于預(yù)測的自適應(yīng)算法,并通過文件日志記錄視頻片段質(zhì)量和重緩沖事件,具體參數(shù)設(shè)置如表2 所示。

表2 實驗參數(shù)設(shè)置Table 2 Experimental parameters setting

根據(jù)網(wǎng)絡(luò)帶寬描述文件使用網(wǎng)絡(luò)性能測試工具Iperf 發(fā)送背景流占用帶寬,并采用Mininet 平臺仿真進行網(wǎng)絡(luò)軌跡測試,每隔250 ms 采樣一次,實驗結(jié)果和帶寬描述文件具體信息分別如圖8 和表3 所示。

圖8 不同網(wǎng)絡(luò)軌跡測試指數(shù)下的吞吐量Fig.8 Throughput under different network trajectory test indexes

表3 帶寬描述文件具體信息Table 3 Specific information of bandwidth description file

4 種不同算法得到的60 個視頻片段的質(zhì)量如圖9所示。可以看出傳統(tǒng)算法的視頻片段質(zhì)量的選擇較平穩(wěn)且質(zhì)量較高,這是因為傳統(tǒng)算法只根據(jù)上一個視頻片段的下載速率來確定下一個視頻片段的質(zhì)量,并設(shè)置固定的下載閾值β×p,而本文設(shè)置β=1.5,表示當視頻片段的下載時長估計值超過視頻片段時長的1.5 倍才會觸發(fā)拋棄規(guī)則,此時,客戶端緩沖時長已被過度消耗導致發(fā)生重緩沖。

圖9 4 種算法的視頻質(zhì)量Fig.9 Video quality of four algorithms

4 種算法得到的平均視頻質(zhì)量如圖10 所示??梢钥闯龌贚STM 預(yù)測模型的自適應(yīng)算法的平均視頻質(zhì)量最高,這是因為該算法不僅使用預(yù)測的吞吐量信息,還使用緩存時長作為算法的輸入,當緩存時間較長時會選擇較高的視頻質(zhì)量,同時實時監(jiān)控下載階段的網(wǎng)絡(luò)吞吐量,當網(wǎng)絡(luò)出現(xiàn)波動時觸發(fā)拋棄規(guī)則重新適應(yīng)網(wǎng)絡(luò)狀況。

圖10 4 種算法的平均視頻質(zhì)量Fig.10 Average video quality of four algorithms

4 種算法的重緩存率如圖11 所示。可以看出,雖然基于LSTM 的ABR 算法平均視頻質(zhì)量最高,但其與傳統(tǒng)ABR 算法均出現(xiàn)重緩沖現(xiàn)象。這是由于LSTM 算法在實際運行過程中預(yù)測時間約為1.5 s,不能進行實時預(yù)測,無法提前感知判斷,因此導致出現(xiàn)重緩沖現(xiàn)象。BOLA 算法僅使用緩存信息動態(tài)選擇視頻質(zhì)量,雖然未出現(xiàn)重緩沖現(xiàn)象,但由于其不能對網(wǎng)絡(luò)吞吐量進行實時預(yù)測,導致提前觸發(fā)拋棄規(guī)則,在一定程度上降低了平均視頻質(zhì)量。

圖11 4 種算法的重緩存率Fig.11 Recache rates of four algorithms

4 種算法的拋棄規(guī)則觸發(fā)次數(shù)如圖12 所示??梢钥闯?,BOLA 算法觸發(fā)了20 次拋棄規(guī)則,由于其在視頻片段下載初始階段提前認為網(wǎng)絡(luò)變差不符合當前緩存需求,因此過早拋棄當前所選視頻質(zhì)量。結(jié)合圖11 和圖12 可知,本文基于SVR 的自適應(yīng)算法綜合表現(xiàn)最好,通過SVR 預(yù)測模型結(jié)合緩存狀態(tài)選擇的平均視頻質(zhì)量較高,同時通過實時在線預(yù)測減少了拋棄規(guī)則命中次數(shù)且未發(fā)生重緩沖。

圖12 4 種算法的拋棄規(guī)則觸發(fā)次數(shù)Fig.12 Trigger times of discard rule of four algorithms

4 結(jié)束語

本文提出一種基于機器學習的改進自適應(yīng)流媒體速率算法。在分析基于HTTP 動態(tài)自適應(yīng)流媒體技術(shù)標準的基礎(chǔ)上,利用機器學習方法建立網(wǎng)絡(luò)吞吐量預(yù)測模型,并結(jié)合當前緩沖狀態(tài)選擇合適的視頻質(zhì)量,在視頻下載階段實時預(yù)測網(wǎng)絡(luò)吞吐量,降低因TCP 慢啟動提前觸發(fā)拋棄規(guī)則的次數(shù)。實驗結(jié)果表明,該算法可有效提高用戶視頻體驗質(zhì)量。隨著軟件定義網(wǎng)絡(luò)和可編程網(wǎng)絡(luò)等下一代網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)將變得更加智能與可控,后續(xù)將結(jié)合機器學習和下一代網(wǎng)絡(luò)技術(shù)進行研究,進一步提高網(wǎng)絡(luò)吞吐量預(yù)測準確率。

猜你喜歡
吞吐量客戶端編碼
基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達圖像配準
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應(yīng)用
電子制作(2019年22期)2020-01-14 03:16:24
Genome and healthcare
縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
2016年10月長三角地區(qū)主要港口吞吐量
集裝箱化(2016年11期)2017-03-29 16:15:48
2016年11月長三角地區(qū)主要港口吞吐量
集裝箱化(2016年12期)2017-03-20 08:32:27
2014年1月長三角地區(qū)主要港口吞吐量
集裝箱化(2014年2期)2014-03-15 19:00:33
锦州市| 正镶白旗| 岳阳县| 泾阳县| 毕节市| 鄂伦春自治旗| 成武县| 峡江县| 元江| 衡南县| 花莲县| 舞钢市| 波密县| 偏关县| 卢氏县| 遂平县| 大冶市| 丹江口市| 玉门市| 阿图什市| 阜新市| 安新县| 寻甸| 新龙县| 常德市| 瑞丽市| 商城县| 十堰市| 阿克苏市| 保靖县| 托克托县| 同仁县| 固始县| 西和县| 淮南市| 武宣县| 连山| 磐石市| 明溪县| 莱芜市| 剑河县|