都思同 黃德昌
摘 要:為了給終端用戶提供更好質量的視頻,本文提出了一種基于H264/AVC擴展的自適應多路徑視頻流可伸縮視頻編碼算法,通過視頻流分發網絡(VDN)提供路徑的多樣性,我們的方法最終適應于各種終端用戶,并且通過在多路徑上的可用帶寬的變化來適應網絡帶寬的波動。實驗表明該算法更能有效地估計網絡擁塞狀況、降低視頻丟包率和減少網絡延遲,從而更有效地保證視頻網絡傳輸質量。
關鍵詞:視頻流分發網絡;可伸縮視頻編碼;多路徑
中圖分類號:TP301 文獻標識碼:A
Abstract:In order to provide better video terminal user,this paper presents an algorithm of adaptive multipath video scalable video coding,which is based on the H264/AVC extension.Through video distribution network (VDN) provides the path of diversity,by using the method of scalable video coding our method finally adapted to the various terminal users,and adapt the undulate of the network bandwidth through the changes of the available bandwidth on the multipath.
Keywords:video distribution network;scalable video coding;multi-path
1 引言(Introduction)
在當今的互聯網中,網絡的異構性、帶寬的波動、終端用戶的多樣性等都是影響視頻流應用的因素[1]。站在視頻編碼的觀點看,可擴展性被認為是一個既涉及視頻編碼又涉及網絡挑戰的解決方案,它把視頻編碼在多個層中,以優化對于給定比特率范圍的視頻質量,而不是一個給定的比特率[2]。它使大量異構的用戶可以在任何時間任何地點查看所需要的視頻流[3]。其中最知名的可擴展標準是H.264/MPEG-4AVC視頻壓縮標準的可伸縮視頻編碼(SVC)[4]。從網絡的角度出發,基于多路視頻流的方法是一個很好的解決方案[5]。在這個領域內一個趨勢是通過視頻分發網絡為視頻流提供利用路徑的多樣性。我們在本文的目標是提供一個系統,為在VDN上的多路徑視頻流提供SVC耦合編碼,以提供最好質量的視頻給終端用戶,同時保持最終用戶的需求和網絡資源消耗之間的平衡。
2 伸縮視頻編碼和VDN視頻流(Scalable video coding and VDN video streaming)
可伸縮性編碼通過增加伸縮功能擴展為可伸縮壓縮編碼架構。基于H.264擴展的SVC架構已被選定為SVC新標準的草案,該架構中有許多的編碼模塊都沿用了H.264標準的功能。其主要特性有:基本層與H.264標準的主要描述級(Main Profile)完全兼容、低解碼復雜度的層間預測、支持自適應性低延遲的時域分解模式、自適應的MCTF更新步驟、精細粒度SNR可伸縮性和靈活的綜合可伸縮性等。
視頻分發網絡是一個基于覆蓋的架構,多個覆蓋節點將被部署在VDN中充當覆蓋的入口/出口或者作為中間節點。然后在出口節點移除VDN包頭并分發視頻流給接收者。文獻提出的方法需要對VDN中間節點預先存儲的視頻文件的副本。以前的一些研究主要集中在視頻編碼方法,以及路徑選擇方法。我們的研究工作是覆蓋路徑選擇的可用帶寬估計和可伸縮視頻編碼。
3 在VDN多路徑上的SVC視頻流解決方案(SVC video streaming solution on VDN multipath)
為了優化在一個給定比特率范圍內的而不是單個比特率的視頻質量,SVC編碼在一個基本層,其中包含所需的最小數據和幾個增強層。不同的SVC層的低比特率使每層都可以用比較小的帶寬傳輸。另一方面,發送多個增強層產生更好的視頻輸出,但需要更多的帶寬。
3.1 多路徑選擇的可用帶寬估計
我們用網絡路徑的可用帶寬指標來評估我們的最佳路徑,因為它可以在本路徑滿載前確定路徑是否有足夠的能力來傳輸視頻流。在我們的方法中,每個VDN節點有一個測量工具來估算從這個點到鄰節點覆蓋鏈接的帶寬。
3.2 SVC多路徑流自適應算法
我們的方法主要步驟有:運行在網絡接入點的NAP方法、可用帶寬的監測方法、運行在服務器上的多路徑流算法。
NAP方法被應用在VDN主機上,由兩部分組成,參數收集和監控增強層中客戶增加/減少數。NAP存儲客戶的屏幕類型、CPU能力以及帶寬等參數信息。增強層中客戶增加/減少數監控在視頻流傳送期間,NAP從服務器接收到授權的SVC層,然后,根據每個客戶端預先存儲能力以及該客戶和NAP之間的可用帶寬。
可用帶寬的監測方法是運行在服務器上測量在SVC服務器和NAP之間的多覆蓋路徑的帶寬的程序。過程中一旦帶寬有變化帶寬監測程序就通知服務器,以便SVC多路徑流算法決定保留或更新相應的數據流策略。
3.3 SVC多路徑流算法
SVC多路徑流算法包括幾個部分,初始化NAP信息、NAP判斷是否接收視頻流的條件、NAP能接收的最大增強流層數、選定增強流層數后視頻流應用什么策略、重新排序路徑列表。
初始化NAP信息作為算法的初始步驟,SVC服務器與網絡接入點通信為每個視頻組播樹以獲得客戶端的最大需求數,主要是獲取客戶端的屏幕樣式、CPU能力、網絡接入點的帶寬。NAP判斷是否接收視頻流的條件是根據NAP帶寬算法決定這個NAP是否可以接收所請求的視頻。
4 實驗結果(Experimental result)
我們使用了電影《臥虎藏龍》60秒的視頻。此流被用SVC標準編碼器編碼,有一個基本層和三個信噪比增強層。從四個信噪比層的數據傳輸率,我們可以看到更高的增強層需要更多的帶寬,還有就是SVC基本層的損失敏感性問題。
實驗的目標是測試算法自適應客戶端的能力,實驗表明 取值為1.5時網絡接入點和三個客戶端之間的最后鏈接帶寬區間如下:
根據以上我們知道NAP發送C1的帶寬作為最大帶寬給服務器的話,如圖1(b),如圖2(b)所示,在不使用我們的算法時如圖1(a)所示。圖2(a)與圖3表明不用本文算法則C2和C3不能解碼低帶寬的視頻。
(a)不用本文算法時的數據傳輸率
(b)SVC傳輸層情況
(a)不用本文算法時的數據傳輸率
(b)SVC傳輸層情況
5 結論(Conclusion)
在本文中,我們提出了一個用于耦合疊加的多路視頻的視頻分配網絡流的方法(VDN),具有H.264/AVC擴展的可伸縮視頻編碼(SVC)。結果表明我們的方法可以觀察在多個覆蓋路徑可用帶寬的變化,適應網絡帶寬的波動,適時改變流策略。然而,SVC基本層的損失靈敏度問題還需要我們進一步去突破。
參考文獻(References)
[1] 路洪運.基于HEVC的質量可伸縮視頻編碼研究[D].北方工業大學,2014.
[2] 吳剛.實時可伸縮視頻編碼及重寫技術研究[D].中國科學技術大學,2014.
[3] 周承濤.HEVC編碼快速算法關鍵技術研究[D].浙江大學,2014.
[4] 田波,楊宜民,蔡述庭.基于自適應遺傳算法的SVC非均等錯誤保護算法[J].計算機應用,2014,01:162-166.
[5] 劉玲玲.SVC-P2P流媒體視頻質量自適應技術研究[D].重慶大學,2014.
作者簡介:
都思同(1993-),男,本科生.研究領域:編碼技術,通信系統.
黃德昌(1983-),男,碩士,中級實驗師.研究領域:編碼技術,通信系統.