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

圖1 系統模型
圖1中,視頻服務器以固定幀率R(30 frame/s)發送視頻幀,無線信道采用三狀態Markov模型來描述。Markov模型中的信道狀態用Si(i=0,1,2)表示,丟包率γ(Si)是信道狀態Si的函數。為簡單計,設三種狀態下的丟包率滿足:
γ(Si)<γ(Sj)i,j∈[0,1,2]且i (1) 在視頻應用中,有研究表明播放速率變化幅度≤25%,人眼感覺不到[6]。因此,在實驗中我們將丟包率γ(Si)限定在0.2以內。 系統一直監視接收緩沖區的占用度,如果達到需要控制器的觸發條件,系統會觸發播放速度調節器,采用相應算法來調節播放速度。如果視頻序列的接收速率與播放速率大致相等,則緩沖區的占用度基本穩定在某個值。但實際中,由于接收速率的波動,緩沖區的占用度也隨之波動,從而需要自適應地調整接收端的播放速率。本文提出了基于安全區域的平滑AMP算法,記為SAO-AMP。該算法觸發速率調整的條件不僅僅是基于緩沖區的占用度,還要參考緩沖區的波動幅度。波動幅度定義為當前緩沖區的占用度與設定的緩沖區參考占用度之間的差值。 參考占用度的初始值通常設為緩沖區大小的一半。在PA調整過程中,這個參考值會不斷更新,更新為當前的緩沖區占用度,如圖2所示。從圖中可以看出,在t1、t2和t3時刻,參考占用度的值被不斷更新為當前緩沖區占用度,且在t3時刻,即便此時緩沖區沒有出現下溢,PA調整也被觸發,因為此時緩沖區占用度的波動超過了預定值。 圖2 緩沖區參考占用度的更新過程 當PA調整觸發后,需要確定兩個參數的取值:1) 播放速率調整的最終目標值;2) 速率調整的速度快慢值。播放速率的最終目標值由系統的預估接收速率決定,播放速率調整的快慢由預期變化值決定[10,12]。 為了進一步分析緩沖區的占用度,并參考文獻[10,12],設緩沖區的大小為2M,那么緩沖區占用度處在緩沖區大小的1/2處時,緩沖區的上、下溢概率都是最低的。本文為緩沖區設定一個“安全區域”,如圖3所示。當緩沖區占用度位于[M-τ,M+τ]范圍內時,認為緩沖區處在安全區域,τ是設定的緩沖區占用度的波動門限值。而[0,τ]和[2M-τ,2M]是緩沖區最容易發生上、下溢的區域,也是需要避免出現的“不安全區域”。 圖3 緩沖區的安全區域 2.1預估接收速率RRR 如果不考慮丟包,接收時間間隔等于發送時間間隔Is。如果出現了丟包,則接收間隔大于發送間隔。為簡單計,假設一個視頻幀被封裝到一個數據包中。設p(k)為一個視頻包k次重傳請求后成功傳輸的概率,接收間隔為I,則平均接收時間間隔E{I}可由下式計算: (2) 其中,E{·}是數學期望算子,γ(Si)是總的丟包率。 (z+c-1)E{I} (3) 2.2預期變化值 為了避免播放間隔的突然變化對緩沖區占用度波動的影響,需要在播放質量和緩沖區溢出兩個方面做出權衡,平滑地調整播放速率[11]。本文采用一個預期變化值來控制播放速率調整的速度。這個預期變化值不是指緩沖區占用的預期值,而是緩沖區的預期波動。設當前緩沖區占用度為L,則預期變化值C由下式確定: (4) 當緩沖區占用度在M附近時,預期變化值設定為-2τ。 2.3調整期的設定 預估接收速率和預期變化值確定后,需要確定速率調整期。速率調整期由目標播放間隔I′和預期變化值C來決定。 假設給定了調整期T,播放間隔從I0調整到I′,采用如下線性調整函數進行播放間隔的調整: (5) 其中,t是時間變量,t0是當前時刻,It是t時刻的播放間隔,T是調整期。當前時刻t0的播放間隔I0為: (6) 其中,I0-是t0時刻前的播放間隔,ΔT是固定的時間間隔(本文設定為1 ms)。按照式(6)將播放間隔在調整期內從I0線性調整到I′,使播放間隔的波動最小,從而達到播放間隔的平滑改變。 3.1SAO-AMP實現 在Windows XP操作系統下,用C語言編程實現了面向安全區域的平滑播放算法SAO-AMP,算法流程如圖4所示,主要由以下三個模塊構成: 1) 視頻包/幀處理模塊。該模塊主要是對接收到的視頻包進行一些預處理,并存入緩沖區。 2) 視頻播放控制模塊。視頻播放控制模塊主要是控制視頻幀的播放,視頻幀的播放間隔來自SAO-AMP模塊的輸出ΔI。 3) SAO-AMP策略模塊。SAO-AMP策略模塊首先判斷是否需要PA調整,然后通過對接收速率的預估,根據PA調整持續時間,計算播放間隔的調整值ΔI,PA調整結束。 圖4 SAO-AMP算法流程圖 算法的觸發條件是本模塊的執行條件。在視頻播放前,流媒體終端需要預先緩沖一些視頻數據,直到緩沖區占滿50%才開始播放。系統始終監測視頻包的接收速率和接收緩沖區的占用度,SAO-AMP算法根據緩沖區的占用度及其波動來觸發播放調整策略。當前緩沖區處于不安全區域之外時,根據緩沖區的波動范圍來決定是否進行PA調整:如波動范圍不超過±τ時,不觸發PA調整;否則觸發PA調整。當前緩沖區處在如圖3所示的不安全區域時,觸發PA調整,即此時波動范圍在±τ之間。 3.2實驗結果及分析 為了對播放算法的性能進行比較,本文依然采用文獻[6]中的8組實驗數據作為處理對象。算法的參數初始設置如表1所示。可得設定的緩沖區安全區域為[12,20],不安全區域為[0,4]和[28,32]。AMP算法的平滑度指標采用文獻[4]中提出的短期標準波動σs參數。 表1 算法參數的初始設置 為了進行性能比較,實現了傳統的基于緩沖區狀態的AMP算法(記為SAMP)和本文的SAO-AMP算法。表2中給出了這兩種算法的PA平均調整次數和幀丟失數。可以看出,在8組實驗數據下,SAO-AMP算法的平均調整次數為5.375,而SAMP的平均調整次數為7.75,減少了30%;SAO-AMP算法的平均幀丟失數為34幀,而SAMP的平均幀丟失數為48幀,減少了29%。 表2 PA調整次數和幀丟失數比較 續表2 在表3中,給出第1組實驗數據下PA調整的具體過程。其中,MRI是平均接收時間間隔。實驗時間共81.49 s,起始時刻為0。從起始時刻0到1.63 s這個階段,兩個算法都未進行PA調整;從1.63 s到81.49 s這段時間,SAMP和SAO-AMP算法分別進行了6次和3次PA調整。 表3 根據MRI進行的PA調整 兩種算法的第一次PA調整,以及調整后的緩沖區占用度和調整后的播放間隔如表3所示。SAMP算法中,在1.63 s時,緩沖區占用度的波動超過了設定的±4范圍,則SAMP算法在1.63 s時觸發第一次PA調整;第一次調整后的播放間隔為39.92 ms,本次調整間隔T為2.82-1.63=1.19 s。SAO-AMP算法中,1.63 s時,緩沖區占用度的波動超過了設定的±4范圍,且當前緩沖區占用度為11,處于不安全區域,則SAO-AMP算法也觸發PA調整;第一次調整后的播放間隔為39.97 ms,本次調整間隔T為3.21-1.63=1.58 s。 為了更直觀地表示SAMP和SAO-AMP兩種算法的PA調整過程,以及PA調整過程中緩沖區的占用度和播放間隔的變化,采用圖形表示,如圖5所示。 圖5 PA調整中緩沖區占用度和播放間隔的變化 從圖5可以看出,在時間t=1.6 s時,信道狀態的變化導致緩沖區占用度有較大的波動,此時SAMP和SAO-AMP算法都在1.6 s觸發了一次PA調整。SAO-AMP算法的觸發條件是此時緩沖區占用度為11,超出了設定的安全區域[12, 20]。在t=3 s時,SAO-AMP算法觸發了第二次PA調整,因為此時緩沖區占用度為8,超出了設定的安全區域;在t=32 s時,觸發第三次PA調整,因為此時緩沖區占用度為22,也超出了設定的安全區域。而在此期間,SAMP算法觸發了6次PA調整。 在時間t趨近50 s時,信道狀態突然變化,NS-2的仿真顯示在t為46 s到50 s之間,出現幾個連續丟包。SAMP算法經過前面6次PA調整后,此時緩沖區占用度為8,但波動范圍沒有超過門限值,所以SAMP算法沒有反應,導致緩沖區下溢。而SAO-AMP算法在t=3.2 s時進行了一次PA調整,到t=50 s時,緩沖區占用度為23,經歷t=50 s時信道狀態突然變差,緩沖區占用度降為12,沒有引起下溢。 大多數自適應媒體播放算法都是根據緩沖區的占用度來觸發算法來進行播放速率的調整,而沒有考慮到無線網絡的時變特性而導致緩沖區占用度的波動變化。本文提出了一種新的面向安全區域的平滑AMP算法,稱為SAO-AMP算法。算法的觸發條件不僅是緩沖區的占用度,還包括緩沖區的波動程度。算法為緩沖區設定了安全區域和不安全區域,緩沖區的占用度處在安全區域則緩沖區上、下溢的概率很低;反之,緩沖區占用度處在不安全區域時最容易發生上、下溢。實驗結果表明,提出的SAO-AMP算法不僅能控制緩沖區占用程度的波動在某個范圍內,還能控制緩沖區的占用程度總處在安全區域;不僅平滑了播放速率的變化,還減小了緩沖區的上、下溢概率,提高了視頻的播放質量。 [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] 張輝帥,王勁林,朱小勇,等.基于多步下溢概率估計的自適應媒體播放算法[J].網絡新媒體技術,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] 陳瑞,焦良葆.基于延遲預測的自適應媒體播放算法[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關鍵技術的研究[D].華南理工大學,2012. [8] 陳景良.實時移動視頻網絡自適應QoS技術研究[D].華南理工大學,2014. [9] 陳勇斌.網絡視頻自適應傳輸技術研究與應用[D].西南交通大學,2011. [10] 劉國英,章云,陳泓屺.H.264視頻碼流自適應傳輸的研究與實現[J].廣東工業大學學報,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] 歐巧鳳,鄧謙.無線流媒體系統的多模式自適應緩沖設計[J].南昌航空大學學報:自然科學版,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。國家自然科學基金項目(61471162);江蘇省自然科學基金項目(BK20141389);江蘇省未來產業研究院項目(BY2013095-4-07);南京工程學院青年基金項目(QKJB201407)。朱大偉,實驗師,主研領域:圖像處理與模式識別。陳瑞,副教授。袁璟,副教授。趙蘭博,工程師。 TP399 A 10.3969/j.issn.1000-386x.2016.09.0252 基于安全區域的平滑AMP算法SAO-AMP






3 SAO-AMP算法實現及結果分析






4 結 語