朱大偉 陳 瑞 袁 璟 趙蘭博
1(南京工程學(xué)院 江蘇 南京 211167)2(國家電網(wǎng)長春供電公司 吉林 長春 130000)
?
平滑自適應(yīng)視頻播放技術(shù)的研究
朱大偉1陳瑞1袁璟1趙蘭博2
1(南京工程學(xué)院江蘇 南京 211167)2(國家電網(wǎng)長春供電公司吉林 長春 130000)
無線信道時變特性引起的緩沖區(qū)占用度波動對視覺質(zhì)量的影響,使得自適應(yīng)視頻播放算法不僅需要考慮緩沖區(qū)的占用度,還要考慮緩沖區(qū)占用度的波動。提出一種面向安全區(qū)域的平滑自適應(yīng)播放算法SAO-AMP,采用緩沖區(qū)的占用度及其波動程度作為觸發(fā)條件。首先,根據(jù)預(yù)估接收速率和緩沖區(qū)的預(yù)期波動情況設(shè)置播放速率的調(diào)整期,達(dá)到平滑視頻播放速率的目的。其次,調(diào)整播放速率的同時監(jiān)測緩沖區(qū)的占用度,使緩沖區(qū)占用度處于預(yù)設(shè)的安全區(qū)域內(nèi)。實驗結(jié)果表明,SAO-AMP算法不僅平滑了播放速率的變化,還能控制緩沖區(qū)占用度的波動范圍。與基于緩沖區(qū)占用度的AMP算法相比,SAO-AMP算法的速率調(diào)節(jié)次數(shù)和丟包率均減小了30%,且算法在信道狀態(tài)變化較大的情況下,依然能很好地工作。
無線視頻流自適應(yīng)媒體播放線性調(diào)整服務(wù)質(zhì)量
無線網(wǎng)絡(luò)中視頻通信的主要問題是網(wǎng)絡(luò)中視頻數(shù)據(jù)包的傳輸延遲及其抖動。用戶收到初始視頻包后,無線視頻終端將開始播放該視頻。通常,視頻幀之間的播放時間間隔是固定的,每個視頻包都有自己的預(yù)定播放時刻,視頻包必須在它預(yù)定的播放時刻之前到達(dá)播放終端,才能保證播放的連續(xù)性。為了解決無線信道狀態(tài)變化引起的視頻數(shù)據(jù)包延遲及其抖動對接收視頻質(zhì)量的影響,可在視頻終端設(shè)置緩沖機(jī)制[1],可以平滑延遲抖動,保證播放的連續(xù)性,拉長視頻包的傳輸時間和它的預(yù)定播放最后期限之間的時間間隔,降低丟包率,提高視頻質(zhì)量。
但是,緩沖區(qū)的引入也會帶來一些問題。一方面,不斷增大的緩沖會帶來更大的緩沖延遲;另一方面,由于網(wǎng)絡(luò)狀況的影響,緩沖區(qū)的下溢概率會隨著緩沖的增大而減小。自適應(yīng)媒體播放AMP技術(shù)可緩解上述問題。它依據(jù)網(wǎng)絡(luò)狀況動態(tài)調(diào)節(jié)視頻幀播放的時間間隔,可以保證在一定下溢概率的條件下減小緩沖延遲,增強視頻終端緩沖的自適應(yīng)能力,為用戶提供更好的服務(wù)質(zhì)量(QoS)[2]。
通常,AMP算法是根據(jù)緩沖區(qū)的占用度來觸發(fā)的。實施方法大多通過設(shè)定一個緩沖區(qū)門限來表明緩沖區(qū)是否處于“滿”狀態(tài)來調(diào)節(jié)播放速率[3,4]。如果超過這個門限值就觸發(fā)調(diào)節(jié)器;否則,調(diào)節(jié)器不動作。該門限值的大小對算法性能有很大影響:如果門限值太小,會導(dǎo)致在緩沖區(qū)并不太滿的時候進(jìn)行一些不必要的調(diào)節(jié),緩沖區(qū)的狀態(tài)不斷波動,最終導(dǎo)致視頻播放的速率也不斷波動,用戶體驗質(zhì)量下降;反之,如果門限值太大,控制算法的響應(yīng)時間縮短,導(dǎo)致緩沖上溢的概率增加。此外,該門限值還與網(wǎng)絡(luò)的狀態(tài)有關(guān)。網(wǎng)絡(luò)狀況差的時候門限值設(shè)小一些,而網(wǎng)絡(luò)狀況好的時候門限值設(shè)得大一些。但是,網(wǎng)絡(luò)的狀況通常比較難以預(yù)測,特別是無線網(wǎng)絡(luò)。因此,如何根據(jù)網(wǎng)絡(luò)狀況預(yù)估視頻包的接收速率,預(yù)測緩沖區(qū)的波動,并在調(diào)整期內(nèi)使得播放速率的變化最平滑,是提高用戶體驗質(zhì)量的關(guān)鍵[5]。
針對以上問題,本文提出基于安全區(qū)域的平滑自適應(yīng)視頻播放算法SAO-AMP。算法采用緩沖區(qū)的占用度和緩沖區(qū)的波動程度為觸發(fā)條件,通過預(yù)估視頻包的接收速率來獲得緩沖區(qū)的預(yù)期波動情況,最平滑地調(diào)整播放速率。同時,算法還對緩沖區(qū)的占用程度進(jìn)行控制,使之總處在安全區(qū)域內(nèi),減小了緩沖區(qū)的上、下溢概率,提高視頻的播放質(zhì)量。
本文采用如圖1所示的系統(tǒng)模型。此模型主要包括三部分:視頻流服務(wù)器、無線信道和視頻客戶端。

圖1 系統(tǒng)模型
圖1中,視頻服務(wù)器以固定幀率R(30 frame/s)發(fā)送視頻幀,無線信道采用三狀態(tài)Markov模型來描述。Markov模型中的信道狀態(tài)用Si(i=0,1,2)表示,丟包率γ(Si)是信道狀態(tài)Si的函數(shù)。為簡單計,設(shè)三種狀態(tài)下的丟包率滿足:
γ(Si)<γ(Sj)i,j∈[0,1,2]且i (1) 在視頻應(yīng)用中,有研究表明播放速率變化幅度≤25%,人眼感覺不到[6]。因此,在實驗中我們將丟包率γ(Si)限定在0.2以內(nèi)。 系統(tǒng)一直監(jiān)視接收緩沖區(qū)的占用度,如果達(dá)到需要控制器的觸發(fā)條件,系統(tǒng)會觸發(fā)播放速度調(diào)節(jié)器,采用相應(yīng)算法來調(diào)節(jié)播放速度。如果視頻序列的接收速率與播放速率大致相等,則緩沖區(qū)的占用度基本穩(wěn)定在某個值。但實際中,由于接收速率的波動,緩沖區(qū)的占用度也隨之波動,從而需要自適應(yīng)地調(diào)整接收端的播放速率。本文提出了基于安全區(qū)域的平滑AMP算法,記為SAO-AMP。該算法觸發(fā)速率調(diào)整的條件不僅僅是基于緩沖區(qū)的占用度,還要參考緩沖區(qū)的波動幅度。波動幅度定義為當(dāng)前緩沖區(qū)的占用度與設(shè)定的緩沖區(qū)參考占用度之間的差值。 參考占用度的初始值通常設(shè)為緩沖區(qū)大小的一半。在PA調(diào)整過程中,這個參考值會不斷更新,更新為當(dāng)前的緩沖區(qū)占用度,如圖2所示。從圖中可以看出,在t1、t2和t3時刻,參考占用度的值被不斷更新為當(dāng)前緩沖區(qū)占用度,且在t3時刻,即便此時緩沖區(qū)沒有出現(xiàn)下溢,PA調(diào)整也被觸發(fā),因為此時緩沖區(qū)占用度的波動超過了預(yù)定值。 圖2 緩沖區(qū)參考占用度的更新過程 當(dāng)PA調(diào)整觸發(fā)后,需要確定兩個參數(shù)的取值:1) 播放速率調(diào)整的最終目標(biāo)值;2) 速率調(diào)整的速度快慢值。播放速率的最終目標(biāo)值由系統(tǒng)的預(yù)估接收速率決定,播放速率調(diào)整的快慢由預(yù)期變化值決定[10,12]。 為了進(jìn)一步分析緩沖區(qū)的占用度,并參考文獻(xiàn)[10,12],設(shè)緩沖區(qū)的大小為2M,那么緩沖區(qū)占用度處在緩沖區(qū)大小的1/2處時,緩沖區(qū)的上、下溢概率都是最低的。本文為緩沖區(qū)設(shè)定一個“安全區(qū)域”,如圖3所示。當(dāng)緩沖區(qū)占用度位于[M-τ,M+τ]范圍內(nèi)時,認(rèn)為緩沖區(qū)處在安全區(qū)域,τ是設(shè)定的緩沖區(qū)占用度的波動門限值。而[0,τ]和[2M-τ,2M]是緩沖區(qū)最容易發(fā)生上、下溢的區(qū)域,也是需要避免出現(xiàn)的“不安全區(qū)域”。 圖3 緩沖區(qū)的安全區(qū)域 2.1預(yù)估接收速率RRR 如果不考慮丟包,接收時間間隔等于發(fā)送時間間隔Is。如果出現(xiàn)了丟包,則接收間隔大于發(fā)送間隔。為簡單計,假設(shè)一個視頻幀被封裝到一個數(shù)據(jù)包中。設(shè)p(k)為一個視頻包k次重傳請求后成功傳輸?shù)母怕剩邮臻g隔為I,則平均接收時間間隔E{I}可由下式計算: (2) 其中,E{·}是數(shù)學(xué)期望算子,γ(Si)是總的丟包率。 (z+c-1)E{I} (3) 2.2預(yù)期變化值 為了避免播放間隔的突然變化對緩沖區(qū)占用度波動的影響,需要在播放質(zhì)量和緩沖區(qū)溢出兩個方面做出權(quán)衡,平滑地調(diào)整播放速率[11]。本文采用一個預(yù)期變化值來控制播放速率調(diào)整的速度。這個預(yù)期變化值不是指緩沖區(qū)占用的預(yù)期值,而是緩沖區(qū)的預(yù)期波動。設(shè)當(dāng)前緩沖區(qū)占用度為L,則預(yù)期變化值C由下式確定: (4) 當(dāng)緩沖區(qū)占用度在M附近時,預(yù)期變化值設(shè)定為-2τ。 2.3調(diào)整期的設(shè)定 預(yù)估接收速率和預(yù)期變化值確定后,需要確定速率調(diào)整期。速率調(diào)整期由目標(biāo)播放間隔I′和預(yù)期變化值C來決定。 假設(shè)給定了調(diào)整期T,播放間隔從I0調(diào)整到I′,采用如下線性調(diào)整函數(shù)進(jìn)行播放間隔的調(diào)整: (5) 其中,t是時間變量,t0是當(dāng)前時刻,It是t時刻的播放間隔,T是調(diào)整期。當(dāng)前時刻t0的播放間隔I0為: (6) 其中,I0-是t0時刻前的播放間隔,ΔT是固定的時間間隔(本文設(shè)定為1 ms)。按照式(6)將播放間隔在調(diào)整期內(nèi)從I0線性調(diào)整到I′,使播放間隔的波動最小,從而達(dá)到播放間隔的平滑改變。 3.1SAO-AMP實現(xiàn) 在Windows XP操作系統(tǒng)下,用C語言編程實現(xiàn)了面向安全區(qū)域的平滑播放算法SAO-AMP,算法流程如圖4所示,主要由以下三個模塊構(gòu)成: 1) 視頻包/幀處理模塊。該模塊主要是對接收到的視頻包進(jìn)行一些預(yù)處理,并存入緩沖區(qū)。 2) 視頻播放控制模塊。視頻播放控制模塊主要是控制視頻幀的播放,視頻幀的播放間隔來自SAO-AMP模塊的輸出ΔI。 3) SAO-AMP策略模塊。SAO-AMP策略模塊首先判斷是否需要PA調(diào)整,然后通過對接收速率的預(yù)估,根據(jù)PA調(diào)整持續(xù)時間,計算播放間隔的調(diào)整值ΔI,PA調(diào)整結(jié)束。 圖4 SAO-AMP算法流程圖 算法的觸發(fā)條件是本模塊的執(zhí)行條件。在視頻播放前,流媒體終端需要預(yù)先緩沖一些視頻數(shù)據(jù),直到緩沖區(qū)占滿50%才開始播放。系統(tǒng)始終監(jiān)測視頻包的接收速率和接收緩沖區(qū)的占用度,SAO-AMP算法根據(jù)緩沖區(qū)的占用度及其波動來觸發(fā)播放調(diào)整策略。當(dāng)前緩沖區(qū)處于不安全區(qū)域之外時,根據(jù)緩沖區(qū)的波動范圍來決定是否進(jìn)行PA調(diào)整:如波動范圍不超過±τ時,不觸發(fā)PA調(diào)整;否則觸發(fā)PA調(diào)整。當(dāng)前緩沖區(qū)處在如圖3所示的不安全區(qū)域時,觸發(fā)PA調(diào)整,即此時波動范圍在±τ之間。 3.2實驗結(jié)果及分析 為了對播放算法的性能進(jìn)行比較,本文依然采用文獻(xiàn)[6]中的8組實驗數(shù)據(jù)作為處理對象。算法的參數(shù)初始設(shè)置如表1所示。可得設(shè)定的緩沖區(qū)安全區(qū)域為[12,20],不安全區(qū)域為[0,4]和[28,32]。AMP算法的平滑度指標(biāo)采用文獻(xiàn)[4]中提出的短期標(biāo)準(zhǔn)波動σs參數(shù)。 表1 算法參數(shù)的初始設(shè)置 為了進(jìn)行性能比較,實現(xiàn)了傳統(tǒng)的基于緩沖區(qū)狀態(tài)的AMP算法(記為SAMP)和本文的SAO-AMP算法。表2中給出了這兩種算法的PA平均調(diào)整次數(shù)和幀丟失數(shù)。可以看出,在8組實驗數(shù)據(jù)下,SAO-AMP算法的平均調(diào)整次數(shù)為5.375,而SAMP的平均調(diào)整次數(shù)為7.75,減少了30%;SAO-AMP算法的平均幀丟失數(shù)為34幀,而SAMP的平均幀丟失數(shù)為48幀,減少了29%。 表2 PA調(diào)整次數(shù)和幀丟失數(shù)比較 續(xù)表2 在表3中,給出第1組實驗數(shù)據(jù)下PA調(diào)整的具體過程。其中,MRI是平均接收時間間隔。實驗時間共81.49 s,起始時刻為0。從起始時刻0到1.63 s這個階段,兩個算法都未進(jìn)行PA調(diào)整;從1.63 s到81.49 s這段時間,SAMP和SAO-AMP算法分別進(jìn)行了6次和3次PA調(diào)整。 表3 根據(jù)MRI進(jìn)行的PA調(diào)整 兩種算法的第一次PA調(diào)整,以及調(diào)整后的緩沖區(qū)占用度和調(diào)整后的播放間隔如表3所示。SAMP算法中,在1.63 s時,緩沖區(qū)占用度的波動超過了設(shè)定的±4范圍,則SAMP算法在1.63 s時觸發(fā)第一次PA調(diào)整;第一次調(diào)整后的播放間隔為39.92 ms,本次調(diào)整間隔T為2.82-1.63=1.19 s。SAO-AMP算法中,1.63 s時,緩沖區(qū)占用度的波動超過了設(shè)定的±4范圍,且當(dāng)前緩沖區(qū)占用度為11,處于不安全區(qū)域,則SAO-AMP算法也觸發(fā)PA調(diào)整;第一次調(diào)整后的播放間隔為39.97 ms,本次調(diào)整間隔T為3.21-1.63=1.58 s。 為了更直觀地表示SAMP和SAO-AMP兩種算法的PA調(diào)整過程,以及PA調(diào)整過程中緩沖區(qū)的占用度和播放間隔的變化,采用圖形表示,如圖5所示。 圖5 PA調(diào)整中緩沖區(qū)占用度和播放間隔的變化 從圖5可以看出,在時間t=1.6 s時,信道狀態(tài)的變化導(dǎo)致緩沖區(qū)占用度有較大的波動,此時SAMP和SAO-AMP算法都在1.6 s觸發(fā)了一次PA調(diào)整。SAO-AMP算法的觸發(fā)條件是此時緩沖區(qū)占用度為11,超出了設(shè)定的安全區(qū)域[12, 20]。在t=3 s時,SAO-AMP算法觸發(fā)了第二次PA調(diào)整,因為此時緩沖區(qū)占用度為8,超出了設(shè)定的安全區(qū)域;在t=32 s時,觸發(fā)第三次PA調(diào)整,因為此時緩沖區(qū)占用度為22,也超出了設(shè)定的安全區(qū)域。而在此期間,SAMP算法觸發(fā)了6次PA調(diào)整。 在時間t趨近50 s時,信道狀態(tài)突然變化,NS-2的仿真顯示在t為46 s到50 s之間,出現(xiàn)幾個連續(xù)丟包。SAMP算法經(jīng)過前面6次PA調(diào)整后,此時緩沖區(qū)占用度為8,但波動范圍沒有超過門限值,所以SAMP算法沒有反應(yīng),導(dǎo)致緩沖區(qū)下溢。而SAO-AMP算法在t=3.2 s時進(jìn)行了一次PA調(diào)整,到t=50 s時,緩沖區(qū)占用度為23,經(jīng)歷t=50 s時信道狀態(tài)突然變差,緩沖區(qū)占用度降為12,沒有引起下溢。 大多數(shù)自適應(yīng)媒體播放算法都是根據(jù)緩沖區(qū)的占用度來觸發(fā)算法來進(jìn)行播放速率的調(diào)整,而沒有考慮到無線網(wǎng)絡(luò)的時變特性而導(dǎo)致緩沖區(qū)占用度的波動變化。本文提出了一種新的面向安全區(qū)域的平滑AMP算法,稱為SAO-AMP算法。算法的觸發(fā)條件不僅是緩沖區(qū)的占用度,還包括緩沖區(qū)的波動程度。算法為緩沖區(qū)設(shè)定了安全區(qū)域和不安全區(qū)域,緩沖區(qū)的占用度處在安全區(qū)域則緩沖區(qū)上、下溢的概率很低;反之,緩沖區(qū)占用度處在不安全區(qū)域時最容易發(fā)生上、下溢。實驗結(jié)果表明,提出的SAO-AMP算法不僅能控制緩沖區(qū)占用程度的波動在某個范圍內(nèi),還能控制緩沖區(qū)的占用程度總處在安全區(qū)域;不僅平滑了播放速率的變化,還減小了緩沖區(qū)的上、下溢概率,提高了視頻的播放質(zhì)量。 [1] Stockhammer T,Jenkac H,Kuhn G.Streaming video over variable bit-rate wireless channels[J].IEEE Transactions on Multimedia,2004,6(2):268-277. [2] 張輝帥,王勁林,朱小勇,等.基于多步下溢概率估計的自適應(yīng)媒體播放算法[J].網(wǎng)絡(luò)新媒體技術(shù),2012,1(3):19-23. [3] Chuang H C,Huang C Y,Chiang T H.Content-aware adaptive media playout controls for wireless video streaming[J].IEEE Transactions on Multimedia,2007,9(6):1273-1283. [4] Li M,Lin T W,Cheng S H.Arrival process-controlled adaptive media playout with multiple thresholds for video streaming[J].Multimedia Systems,2012,18(5):391-407. [5] 陳瑞,焦良葆.基于延遲預(yù)測的自適應(yīng)媒體播放算法[J].計算機(jī)工程,2009,35(24):225-228. [6] Jian Yang,Han Hu,Hong Sheng,et al.Online Buffer Fullness Estimation Aided Adaptive Media Playout for Video Streaming[J].IEEE Transactions on Multimedia,2011,13(5):1141-1153. [7] 李洪炎.移動視頻QoS關(guān)鍵技術(shù)的研究[D].華南理工大學(xué),2012. [8] 陳景良.實時移動視頻網(wǎng)絡(luò)自適應(yīng)QoS技術(shù)研究[D].華南理工大學(xué),2014. [9] 陳勇斌.網(wǎng)絡(luò)視頻自適應(yīng)傳輸技術(shù)研究與應(yīng)用[D].西南交通大學(xué),2011. [10] 劉國英,章云,陳泓屺.H.264視頻碼流自適應(yīng)傳輸?shù)难芯颗c實現(xiàn)[J].廣東工業(yè)大學(xué)學(xué)報,2013,30(4):83-87.[11] Zhu H Y,Wang S Y,He K Y.Research on Adaptive Transmission of H.264 Video Stream and QoS Guarantee Based on SIP[R].2012 Fourth International Conference on Computational and Information Sciences,2012:41-44. [12] 歐巧鳳,鄧謙.無線流媒體系統(tǒng)的多模式自適應(yīng)緩沖設(shè)計[J].南昌航空大學(xué)學(xué)報:自然科學(xué)版,2010,24(3):11-15. ON SMOOTH ADAPTIVE VIDEO PLAYBACK TECHNOLOGY Zhu Dawei1Chen Rui1Yuan Jing1Zhao Lanbo2 1(Nanjing Institute of Technology,Nanjing 211167,Jiangsu,China)2(StateGridChangchunPowerSupplyCompany,Changchun130000,Jilin,China) The impact of fluctuation in buffer occupancy on visual quality caused by the time-varying characteristics of wireless channel makes the adaptive video playback algorithm not only need to consider the buffer occupancy but also its fluctuation. This paper proposes a safety area-oriented smooth adaptive playback algorithm SAO-AMP, it uses buffer occupancy and its fluctuation level as trigger condition. First, according to the pre-estimated receiving rate and the anticipated fluctuation situation of buffer it sets the adjustment phase of playback rate to achieve the goal of smoothing video playback rate. Secondly, while adjusting the playback rate it also monitors buffer occupancy and controls the occupancy within the default safety area. Experimental results show that the SAO-AMP algorithm not only smoothes the variation of playback rate, but can also control the fluctuation range of buffer occupancy. Compared with the buffer occupancy-based AMP algorithm, the rate adjustment times and packet loss rate of SAO-AMP algorithm all reduce by 30%, and this algorithm can work well when under the condition of bigger channel state variation. Wireless video streamingAdaptive media playbackLine regulationQuality of service 2015-03-27。國家自然科學(xué)基金項目(61471162);江蘇省自然科學(xué)基金項目(BK20141389);江蘇省未來產(chǎn)業(yè)研究院項目(BY2013095-4-07);南京工程學(xué)院青年基金項目(QKJB201407)。朱大偉,實驗師,主研領(lǐng)域:圖像處理與模式識別。陳瑞,副教授。袁璟,副教授。趙蘭博,工程師。 TP399 A 10.3969/j.issn.1000-386x.2016.09.0252 基于安全區(qū)域的平滑AMP算法SAO-AMP






3 SAO-AMP算法實現(xiàn)及結(jié)果分析






4 結(jié) 語