崔華力,孫欽東,張興軍,伍衛(wèi)國
(1.西安理工大學(xué) 計算機(jī)科學(xué)與工程學(xué)院, 西安710048; 2.西安交通大學(xué) 計算機(jī)系, 西安 710049)(*通信作者電子郵箱sqd@xaut.edu.cn)
隨著人們對網(wǎng)絡(luò)業(yè)務(wù)需求的不斷擴(kuò)展和深入,通過無線網(wǎng)絡(luò)隨時隨地接入Internet進(jìn)行視頻會議、視頻電話、在線視頻直播/點(diǎn)播以及在線游戲等多媒體應(yīng)用正逐漸成為目前網(wǎng)絡(luò)的主流應(yīng)用。根據(jù)思科網(wǎng)絡(luò)預(yù)測報告[1],未來五年,視頻媒體流以大約每年30%的幅度增加,將占到互聯(lián)網(wǎng)絡(luò)上總流量的80%以上。然而如何在盡力而為(Best-Effort)的Internet上為視頻流傳輸提供服務(wù)質(zhì)量保障一直是網(wǎng)絡(luò)研究人員所面臨的難題。隨著無線通信技術(shù)的蓬勃發(fā)展和多跳傳輸技術(shù)的逐漸成熟,支持多種接入方式的異構(gòu)無線多跳網(wǎng)絡(luò)已成為無線網(wǎng)絡(luò)發(fā)展的趨勢;與此同時,越來越多的用戶通過無線網(wǎng)絡(luò)獲取各種視頻信息以滿足日常生活和工作的需要。思科報告中也指出,通過無線方式接入網(wǎng)絡(luò)的終端用戶數(shù)量將占到Internet總用戶數(shù)的一半以上,而通過無線終端產(chǎn)生的數(shù)據(jù)流量將占到總IP流量的55%。因此,研究在各種無線網(wǎng)絡(luò)環(huán)境下保障視頻流的傳輸質(zhì)量,就顯得非常有必要且面臨巨大挑戰(zhàn)。
與數(shù)據(jù)文件傳輸不同,多媒體視頻流主要特點(diǎn)包括:對數(shù)據(jù)包丟失敏感;對網(wǎng)絡(luò)帶寬和延遲的要求比較高;傳輸?shù)臄?shù)據(jù)量通常都比較大;報文有著不同程度的重要性。根據(jù)視頻流的這些特點(diǎn),傳輸網(wǎng)絡(luò)應(yīng)滿足以下幾個方面的要求。
1)吞吐量:為獲得可接受的播放質(zhì)量,視頻媒體數(shù)據(jù)對網(wǎng)絡(luò)帶寬有著最低需求。高清視頻流壓縮后數(shù)據(jù)速率一般為20 ~40 Mb/s。
2)延遲:為實現(xiàn)實時視頻流的連續(xù)播放,必須對流媒體傳輸規(guī)定嚴(yán)格的端到端最長延遲時間。即每個流媒體數(shù)據(jù)包應(yīng)能夠及時到達(dá)目的節(jié)點(diǎn),連續(xù)地進(jìn)行解碼和播放。
3)延遲抖動:延遲抖動會影響視頻幀的重構(gòu),導(dǎo)致視頻流不能連續(xù)解碼或回放,從而影響視頻質(zhì)量。
4)丟包率:視頻媒體對于丟包非常敏感。視頻流通常都會經(jīng)過壓縮后再進(jìn)行傳輸,因此傳輸過程中很小的丟包都可能會造成接收端視頻畫面明顯的失真。
網(wǎng)絡(luò)編碼(Network Coding, NC)由Ahlswede等[2]提出,其基本思想是允許網(wǎng)絡(luò)中間節(jié)點(diǎn)對收到的數(shù)據(jù)包進(jìn)行再編碼操作,從而能夠有效改善網(wǎng)絡(luò)性能,包括提高網(wǎng)絡(luò)吞吐量、魯棒性和安全性等。文獻(xiàn)[3]回顧了網(wǎng)絡(luò)編碼能夠充分利用網(wǎng)絡(luò)多樣性的特點(diǎn),這包括利用多個源節(jié)點(diǎn)和多條路徑來進(jìn)行數(shù)據(jù)傳輸,在分布式系統(tǒng)中,能夠減少控制負(fù)載并能避免系統(tǒng)需要協(xié)調(diào)的問題。網(wǎng)絡(luò)自身性能的提升,一定會有助于視頻流傳輸質(zhì)量的改進(jìn)。文獻(xiàn)[4]中,針對視頻流傳輸業(yè)務(wù)特性以及網(wǎng)絡(luò)特征,就如何優(yōu)化網(wǎng)絡(luò)編碼進(jìn)行了較為全面的討論。
本文首先對網(wǎng)絡(luò)編碼的基本概念以及流內(nèi)和流間網(wǎng)絡(luò)編碼(Inter-session NC)、實用網(wǎng)絡(luò)編碼等方法進(jìn)行介紹;接著,針對不等差錯保護(hù)策略、降低延遲和抗差錯方法等方面優(yōu)化網(wǎng)絡(luò)編碼以提升視頻流傳輸質(zhì)量的現(xiàn)有研究進(jìn)行了分析總結(jié);然后,對幾種典型的網(wǎng)絡(luò)場景中的應(yīng)用網(wǎng)絡(luò)編碼的視頻流傳輸作了闡述;最后總結(jié)探討了網(wǎng)絡(luò)編碼用于視頻流傳輸?shù)倪M(jìn)一步研究方向。
網(wǎng)絡(luò)編碼的本質(zhì)是利用節(jié)點(diǎn)的計算能力提高鏈路帶寬的利用率,常用的編碼方法有流內(nèi)網(wǎng)絡(luò)編碼(Intra-session NC)和流間網(wǎng)絡(luò)編碼兩種類型。
文獻(xiàn)[5]中給出了流內(nèi)網(wǎng)絡(luò)編碼的解釋,是指網(wǎng)絡(luò)節(jié)點(diǎn)對屬于同一個會話的數(shù)據(jù)包進(jìn)行編碼。這里會話指的是單源單播或單源多播通信。在流內(nèi)網(wǎng)絡(luò)編碼中,每一個節(jié)點(diǎn)的輸出信息都是輸入信息的隨機(jī)線性組合,每一個終端節(jié)點(diǎn)的解碼操作也只能在接收到足夠多的源信息的獨(dú)立線性組合之后開始,從而提高網(wǎng)絡(luò)的抗差錯能力。此外,流內(nèi)編碼還可以簡化數(shù)據(jù)包調(diào)度。數(shù)據(jù)包經(jīng)過流內(nèi)隨機(jī)線性編碼后,彼此變得沒有差異,網(wǎng)絡(luò)中間節(jié)點(diǎn)對收到的屬于同一編碼生成段/代的數(shù)據(jù)包進(jìn)行再編碼后發(fā)送出去。對于接收端來說,只需要關(guān)心收到一個編碼生成段中數(shù)據(jù)包的數(shù)量,而不必去關(guān)注某一具體數(shù)據(jù)包是否接收到,從而大大簡化了發(fā)送端和網(wǎng)絡(luò)中間節(jié)點(diǎn)的數(shù)據(jù)包調(diào)度策略。
為降低數(shù)據(jù)傳輸?shù)膸捫枨?、提高網(wǎng)絡(luò)吞吐量,在多源數(shù)據(jù)流共享傳輸鏈路的情況下,通常需要對屬于不同流的數(shù)據(jù)包進(jìn)行編碼組合后再進(jìn)行傳送的方法,即流間網(wǎng)絡(luò)編碼。
通常情況下,網(wǎng)絡(luò)中的多個會話通過流內(nèi)網(wǎng)絡(luò)編碼并不能達(dá)到網(wǎng)絡(luò)最大吞吐量,為了達(dá)到更優(yōu)的傳輸速率就需要采用流間網(wǎng)絡(luò)編碼,即對來自不同會話流的數(shù)據(jù)包進(jìn)行編碼。流間編碼不像流內(nèi)網(wǎng)絡(luò)編碼那樣只是對數(shù)據(jù)包進(jìn)行隨機(jī)線性的組合輸入信息,那樣可能會導(dǎo)致終端節(jié)點(diǎn)無法收到足夠多的編碼數(shù)據(jù)包來完成解碼。因此,流間網(wǎng)絡(luò)編碼必須按照一定的策略進(jìn)行,以盡可能確保編碼數(shù)據(jù)包在每一個終端節(jié)點(diǎn)上可解。由于無線鏈路的廣播特性,流間編碼可以很好地應(yīng)用于無線場景下。
隨機(jī)線性網(wǎng)絡(luò)編碼(Random Linear NC, RLNC)將網(wǎng)絡(luò)編碼推向?qū)嵱?。隨機(jī)線性網(wǎng)絡(luò)編碼通過設(shè)置一個足夠大的伽羅華域,網(wǎng)絡(luò)中間節(jié)點(diǎn)不需要獲取任何中央控制信息就可以自主隨機(jī)選擇編碼系數(shù)。
在RLNC基礎(chǔ)上,Chou等[6]提出了一個可以適用于流媒體傳輸?shù)膶嵱镁W(wǎng)絡(luò)編碼(practical NC)系統(tǒng)。由于編碼系數(shù)隨機(jī)選擇,定長大小的報頭被添加到每一個報文,有了編碼系數(shù),這樣在接收端就可以解碼恢復(fù)出原始的數(shù)據(jù)報文。實用網(wǎng)絡(luò)編碼方法增強(qiáng)了網(wǎng)絡(luò)的抗差錯能力,可以很好地應(yīng)對網(wǎng)絡(luò)中由于隨機(jī)丟包和延遲帶來的差錯。
在Yu等[7]提出的基于反饋信息的即時解碼網(wǎng)絡(luò)編碼(Instantly Decodable NC, IDNC)方法中,發(fā)送端根據(jù)收到的來自各個接收端的反饋信息建立一個矩陣,進(jìn)而根據(jù)矩陣信息來確定每一次選擇哪些數(shù)據(jù)包進(jìn)行編碼傳輸以使得盡可能多的終端完成解碼。其編解碼過程均采用簡單的XOR操作完成,從而降低了計算復(fù)雜性。IDNC使得終端節(jié)點(diǎn)在收到編碼數(shù)據(jù)包后就可立即進(jìn)行解碼,且并不需要對編碼包進(jìn)行緩存。
網(wǎng)絡(luò)編碼結(jié)合可擴(kuò)展視頻編碼(Scalable Video Coding, SVC)數(shù)據(jù)包不同重要等級的特性,采用不等差錯保護(hù)機(jī)制(Unequal Error Protection, UEP)來發(fā)揮網(wǎng)絡(luò)編碼的優(yōu)勢。從編碼角度來看,主要從兩方面來實現(xiàn),包括分代網(wǎng)絡(luò)編碼和多代混合網(wǎng)絡(luò)編碼。
基于分代網(wǎng)絡(luò)編碼的UEP保護(hù)如圖1所示,每一個代均有k個數(shù)據(jù)包,按重要等級不同,對各個代進(jìn)行冗余添加。將網(wǎng)絡(luò)編碼策略和視頻交織技術(shù)相結(jié)合,在網(wǎng)絡(luò)層對經(jīng)過隨機(jī)線性網(wǎng)絡(luò)編碼后的視頻流進(jìn)行不平等保護(hù)。
圖1 分代網(wǎng)絡(luò)編碼實現(xiàn)UEP
文獻(xiàn)[6]中最早提出基于優(yōu)先級的網(wǎng)絡(luò)編碼(priority NC)方法,根據(jù)數(shù)據(jù)塊優(yōu)先級的不同,分配不同的編碼矩陣系數(shù),從而確保優(yōu)先級高的報文獲得高等級的差錯保護(hù)。隨后的研究主要集中在編碼階段和解碼階段兩個方面進(jìn)行:在編碼方面,在應(yīng)用層上實施交織編碼策略,將視頻編碼單元分成不同的優(yōu)先等級,然后對不同的流采用不同的保護(hù)策略,實現(xiàn)視頻傳輸;在解碼方面,針對傳輸過程中數(shù)據(jù)包丟失可能會造成的接收端全局編碼矩陣秩缺失問題,根據(jù)SVC中各層碼流重要等級的不同,添加不同的冗余進(jìn)行保護(hù),從而優(yōu)先保障接收端收到基本層數(shù)據(jù)包。
文獻(xiàn)[8]中提出一種分級網(wǎng)絡(luò)編碼,給予重要數(shù)據(jù)包較多的編碼機(jī)會,以使其以較高的概率接收到。數(shù)據(jù)包編碼組合示例通過式(1)給出:
(1)
在基于多代混合的網(wǎng)絡(luò)編碼方法中,數(shù)據(jù)包按優(yōu)先等級不同分入不同的代中,編碼時按照代的重要程度擴(kuò)展編碼,重要性越高的代所獲得的編碼機(jī)會就越多,從而能夠有效提高重要代在接收端解碼概率。圖2中,數(shù)據(jù)包顏色深度表示重要程度,從左至右逐次降低。初始代包括k個數(shù)據(jù)包,編碼代分別為g1、g2、g3,其中:g2包含g1,g3包含g2。文獻(xiàn)[9]中全面分析了不等差錯保護(hù)隨機(jī)線性編碼在丟包環(huán)境下的性能,并對分代和多代混合兩種編碼實現(xiàn)UEP進(jìn)行了較為詳盡的理論分析和對比。
圖2 多代混合網(wǎng)絡(luò)編碼實現(xiàn)UEP
Wang等[10]提出的三角網(wǎng)絡(luò)編碼方法中,利用可擴(kuò)展視頻流不同層之間的依賴,第i級數(shù)據(jù)包的編碼包含了有i-1級數(shù)據(jù)包。在此基礎(chǔ)上,文獻(xiàn)[11]在時域?qū)雍涂沼驅(qū)又g設(shè)計編碼,可以分別按垂直方向、水平方向和對角線方向進(jìn)行二維編碼,如圖3所示。也可以將三者混合編碼,這需要通過搜索算法來實現(xiàn)不同編碼層的優(yōu)化分布。
圖3 斜三角網(wǎng)絡(luò)編碼方法
網(wǎng)絡(luò)中間節(jié)點(diǎn)的再編碼操作、接收端的解碼過程以及接收端需要收到一定數(shù)量的數(shù)據(jù)包以完成解碼,這些都在一定程度上帶來了時延并增加了處理的復(fù)雜性。但由于網(wǎng)絡(luò)編碼的使用會帶來數(shù)據(jù)包傳輸次數(shù)的減少,使得總的端到端網(wǎng)絡(luò)傳輸延遲在大多數(shù)情況下不會超過存儲轉(zhuǎn)發(fā)情形。而視頻流傳輸對延遲有著更高的要求,因此有必要盡可能降低網(wǎng)絡(luò)延遲以進(jìn)一步保障視頻傳輸質(zhì)量。
首先可以通過改進(jìn)網(wǎng)絡(luò)編解碼方法以降低編解碼帶來的時間花費(fèi)。如利用高斯-約旦消元法,始終保持解碼矩陣為一個行規(guī)范形矩陣。這樣帶來的好處是如果收到一個不包含信息的數(shù)據(jù)包,則在矩陣中會出現(xiàn)一個全零行,便于立即刪除。除此之外,接收端在收到部分?jǐn)?shù)據(jù)包即可開始解碼,而不必在整代編碼數(shù)據(jù)包都到達(dá)后才能開始解碼,從而減少了等待時間。一旦接收端收到足夠的相互獨(dú)立數(shù)據(jù)包,那么簡化矩陣的左半部分即成為一個單位矩陣,右半部分即是原始的來自發(fā)送端的未編碼數(shù)據(jù)。
另一方面,網(wǎng)絡(luò)編碼機(jī)會也影響著視頻流數(shù)據(jù)包的傳輸延遲。對于網(wǎng)絡(luò)中間節(jié)點(diǎn)而言,收到多個數(shù)據(jù)包后執(zhí)行再編碼操作,但由于無線網(wǎng)絡(luò)的突發(fā)特性、數(shù)據(jù)包丟失以及數(shù)據(jù)包在不同路徑上的傳輸延遲不同等因素,從而會導(dǎo)致某一時刻網(wǎng)絡(luò)中間節(jié)點(diǎn)沒有足夠的數(shù)據(jù)包進(jìn)行編碼的情形。此時,需要考慮對數(shù)據(jù)包執(zhí)行何種操作。為了提高編碼效率,中間節(jié)點(diǎn)可以選擇繼續(xù)等待收到更多數(shù)據(jù)包,但這將導(dǎo)致數(shù)據(jù)包傳輸延遲的增大。
針對上述問題,Seferoglu等[12]提出了一種視頻特性相關(guān)的數(shù)據(jù)包延遲優(yōu)化網(wǎng)絡(luò)編碼策略。該策略將視頻失真和數(shù)據(jù)包的延遲上限等與視頻流相關(guān)特性考慮在內(nèi),網(wǎng)絡(luò)中間節(jié)點(diǎn)按照拉格朗日乘數(shù)計算結(jié)果值,判斷數(shù)據(jù)包是否需要等待。其表達(dá)式如式(2)所示:
(2)
其中:θ指所執(zhí)行的傳輸策略;D(θ)是指在傳輸策略θ下所有節(jié)點(diǎn)上的預(yù)計視頻總失真;R(θ)是指所有節(jié)點(diǎn)的整體速率函數(shù)??紤]到視頻流的優(yōu)先等級和網(wǎng)絡(luò)傳輸狀況,將D(θ)和R(θ)具體表示如下。
D(θ)的展開式如式(3)所示:
(3)
其中:γ(j)指數(shù)據(jù)包pj所屬的數(shù)據(jù)流的重要等級;Δ(j)是指當(dāng)數(shù)據(jù)包pj丟失時所帶來的視頻質(zhì)量失真;P(θn(j))指在傳輸策略θn(j)下數(shù)據(jù)包pj的丟失率。
(4)
其中:B代表數(shù)據(jù)包pj的字節(jié)數(shù);ρ(θn(j))指傳輸數(shù)據(jù)包pj的平均開銷;zn(θn(j))指數(shù)據(jù)包pj的速率提升因子,它與網(wǎng)絡(luò)拓?fù)?、無線鏈路數(shù)據(jù)包丟失率和路徑延遲相關(guān)。
將式(3)和式(4)代入式(2),即可得到:
λBρ(θn(j))zn(θn(j))
(5)
式(5)中,將視頻流的重要等級、視頻失真、網(wǎng)絡(luò)丟包率、傳輸開銷,以及網(wǎng)絡(luò)延遲都涉及在內(nèi)。根據(jù)計算結(jié)果,選擇最優(yōu)的傳輸策略,從而對網(wǎng)絡(luò)編碼所帶來的編碼機(jī)會問題給出了一個優(yōu)化解決方案。
從網(wǎng)絡(luò)整體傳輸結(jié)構(gòu)上來看,并不是網(wǎng)絡(luò)中每一個節(jié)點(diǎn)都要執(zhí)行編碼操作,已有一些研究工作針對網(wǎng)絡(luò)編碼節(jié)點(diǎn)選擇策略進(jìn)行。網(wǎng)絡(luò)中間節(jié)點(diǎn)在沒有收全整個代內(nèi)的數(shù)據(jù)包或者各個不同獨(dú)立節(jié)點(diǎn)傳輸相同的數(shù)據(jù)包時,就一定會產(chǎn)生重復(fù)的數(shù)據(jù)包。隨著網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)的增加,解碼延遲以及計算負(fù)載也會隨之增長。然而在節(jié)點(diǎn)數(shù)眾多的網(wǎng)絡(luò)環(huán)境中優(yōu)化的選擇編碼節(jié)點(diǎn)是一個NP難問題。Overlay網(wǎng)絡(luò)中,文獻(xiàn)[13]通過選擇在部分節(jié)點(diǎn)上實施隨機(jī)網(wǎng)絡(luò)編碼操作,在保持一定網(wǎng)絡(luò)吞吐量的同時,使傳輸延遲滿足流媒體應(yīng)用需求。傳輸延遲如式(6)所示:
(6)
其中:G表示一個分代內(nèi)的數(shù)據(jù)包數(shù)目;bo(u)是指節(jié)點(diǎn)u上累積的輸出帶寬;εc(u)指從中間節(jié)點(diǎn)u客戶端c數(shù)據(jù)包丟失概率。
然后,通過選擇延遲最小的節(jié)點(diǎn)作為編碼節(jié)點(diǎn)來優(yōu)化整個網(wǎng)絡(luò)的視頻流傳輸,優(yōu)化結(jié)果如式(7)所示:
(7)
在有反饋的無線廣播場景下,文獻(xiàn)[14]通過構(gòu)建超圖將傳輸數(shù)據(jù)包映射到圖的頂點(diǎn),將各接收端映射到圖的邊。通過構(gòu)建高效的超圖頂點(diǎn)覆蓋算法和更新策略,在保持?jǐn)?shù)據(jù)吞吐量不變的情況下,只需收到編碼塊部分?jǐn)?shù)據(jù)包即可開始進(jìn)行解碼,從而達(dá)到進(jìn)一步降低終端節(jié)點(diǎn)的平均數(shù)據(jù)包解碼延遲(Average Packet Decoding Delay, APDD)的目的。
利用前向糾錯碼(Forward Error Correction, FEC)提升無線網(wǎng)絡(luò)中視頻傳輸質(zhì)量是一直以來關(guān)注的話題。與多跳網(wǎng)絡(luò)中的應(yīng)用層FEC編碼類似,通過添加適當(dāng)冗余,將網(wǎng)絡(luò)編碼以信道編碼的方式實施于網(wǎng)絡(luò)中間節(jié)點(diǎn)能夠用于實現(xiàn)網(wǎng)絡(luò)糾錯,從而保障視頻流的傳輸可靠性。
與信源信道聯(lián)合編碼類似,網(wǎng)絡(luò)編碼和可以與應(yīng)用層FEC、糾刪碼等相結(jié)合,以及流內(nèi)和流間網(wǎng)絡(luò)編碼結(jié)合,用來提高丟包環(huán)境下的網(wǎng)絡(luò)視頻流傳輸可靠性。源/網(wǎng)絡(luò)聯(lián)合編碼策略如圖4所示。
圖4 源/網(wǎng)絡(luò)聯(lián)合編碼策略
文獻(xiàn)[15]中,將流內(nèi)和流間網(wǎng)絡(luò)編碼在網(wǎng)絡(luò)中間節(jié)點(diǎn)進(jìn)行了結(jié)合。在流內(nèi)編碼中,根據(jù)監(jiān)聽鏈路和直接鏈路的丟包率,來決定冗余添加的多少,利用流內(nèi)編碼的糾錯能力,提高傳輸?shù)目煽啃?同時利用流間編碼來提高網(wǎng)絡(luò)吞吐量。
文獻(xiàn)[16]將冗余網(wǎng)絡(luò)編碼和流間網(wǎng)絡(luò)編碼相結(jié)合,源端和網(wǎng)絡(luò)中間節(jié)點(diǎn)根據(jù)輸出鏈路上的丟包率來決定冗余添加的數(shù)量。這兩者相結(jié)合帶來的好處是,通過添加冗余以對抗傳輸過程中數(shù)據(jù)包的丟失,而在中間節(jié)點(diǎn)上實施流間編碼可以增加網(wǎng)絡(luò)帶寬,從而減少部分帶寬損耗。文獻(xiàn)[17]中,對將二者結(jié)合起來帶來的復(fù)雜性和算法有效性的證明從理論上進(jìn)行了分析。
文獻(xiàn)[18]中,將噴泉碼和流內(nèi)編碼以及XOR編碼的特點(diǎn)結(jié)合進(jìn)行聯(lián)合編碼,在源節(jié)點(diǎn),利用在MAC層與IP層之間加入的子層,多來自上層的數(shù)據(jù)包進(jìn)行編碼;網(wǎng)絡(luò)中繼節(jié)點(diǎn)根據(jù)收到數(shù)據(jù)包的類型決定進(jìn)行流內(nèi)編碼或流間編碼;最后在終端節(jié)點(diǎn)完成解碼,通過多種編碼策略相結(jié)合,在無線多跳網(wǎng)絡(luò)丟包環(huán)境下提高傳輸數(shù)據(jù)流的可靠性。
文獻(xiàn)[19]對網(wǎng)絡(luò)編碼在P2P流媒體傳輸系統(tǒng)的實際應(yīng)用進(jìn)行了總結(jié)。針對push方式的P2P流媒體系統(tǒng),文獻(xiàn)[20]通過建立一個隨機(jī)模型,對某一終端節(jié)點(diǎn)上,流媒體數(shù)據(jù)包從進(jìn)入緩沖區(qū)到播放前的整個周期內(nèi),一個分塊中的數(shù)據(jù)包數(shù)目在各個時間階段的分布狀態(tài)作了深入分析。由此涉及到的細(xì)節(jié)包括如何進(jìn)行分塊選擇,如何對系統(tǒng)參數(shù)進(jìn)行配置以及如何利用服務(wù)器和用戶端的帶寬支撐,從而充分利用網(wǎng)絡(luò)編碼的優(yōu)勢、提升視頻流播放的連續(xù)性、降低源到端的傳輸延遲,達(dá)到更好的視頻播放效果。
數(shù)據(jù)包的度分布(degree distribution)在很大程度上決定著編碼效率和解碼復(fù)雜度。然而在網(wǎng)絡(luò)中間節(jié)點(diǎn)上實施編碼將會改變源節(jié)點(diǎn)上選擇的度分布,這會導(dǎo)致編碼效率下降和復(fù)雜度提升。為解決這一問題,文獻(xiàn)[21]中提出了一種應(yīng)用于P2P移動流媒體的帶編碼(band codes)策略,在這種策略下,編碼包經(jīng)過源端的編碼、中間節(jié)點(diǎn)的任意組合再編碼后,其度分布都不會發(fā)生改變。帶編碼策略在GF(2)的域上進(jìn)行編碼,P2P流媒體采用隨機(jī)push方式進(jìn)行,基于編碼窗口的概念實現(xiàn),并且適合于各種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
隨著多跳自組織等分布式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的廣泛應(yīng)用,協(xié)作傳輸為解決視頻傳輸帶來了新的解決途徑。多源視頻流傳輸系統(tǒng)中,客戶端可以從多個源節(jié)點(diǎn)獲取到同一視頻流信息,如圖5所示。
圖5 多節(jié)點(diǎn)協(xié)作視頻流傳輸
在自由視點(diǎn)視頻流傳輸系統(tǒng)中,多個攝像頭從固定視角獲取活動畫面的場景,各終端用戶除了通過主信道獲取其中部分?jǐn)z像頭的內(nèi)容外,也進(jìn)行鄰居信息交互,獲知彼此當(dāng)前已有的數(shù)據(jù)信息。在Zhang等[22]提出的方法中,節(jié)點(diǎn)計算每個數(shù)據(jù)包傳輸所能帶來的視頻質(zhì)量增益值,利用貪婪算法優(yōu)化編碼策略的選擇,得出網(wǎng)絡(luò)編碼后的數(shù)據(jù)包,然后廣播到相鄰節(jié)點(diǎn),鄰居節(jié)點(diǎn)在收到編碼數(shù)據(jù)包后通過高斯-約旦消元法完成解碼,從而使各節(jié)點(diǎn)都能夠獲得更多的傳輸畫面。在VoD(Video on Demand)傳輸系統(tǒng)中,為了緩解中心服務(wù)器的負(fù)載壓力,可以利用中繼節(jié)點(diǎn)緩存源視頻。文獻(xiàn)[23]中,通過多個AP協(xié)助來提升可擴(kuò)展視頻流多播服務(wù)質(zhì)量,對視頻流各層的數(shù)據(jù)包實施層內(nèi)(Intra-Layer)編碼,同時對不同層的數(shù)據(jù)包實施Widmer等[24]提出的層間(Inter-Layer)編碼,將層內(nèi)和層間編碼聯(lián)合起來提升終端用戶的解碼概率,可以進(jìn)一步減少服務(wù)器的傳輸次數(shù),降低負(fù)載。
隨著Internet不斷發(fā)展和演化,研究新型網(wǎng)絡(luò)體系結(jié)構(gòu)如內(nèi)容中心網(wǎng)絡(luò)(Content-Centric Network, CCN)等已成為熱點(diǎn)。
文獻(xiàn)[25]中指出,在引入網(wǎng)絡(luò)編碼后,使得CCN的終端節(jié)點(diǎn)不再需要關(guān)注具體的某一數(shù)據(jù)段,而是獲取足夠的編碼數(shù)據(jù)段,從而省去了中心的協(xié)調(diào)同步。另一方面,網(wǎng)絡(luò)編碼能夠進(jìn)一步提升CCN的抗差錯能力和獲得更大的吞吐量。針對如何利用網(wǎng)絡(luò)編碼保障內(nèi)容中心網(wǎng)絡(luò)中的視頻流傳輸質(zhì)量這一問題正逐步展開研究。
文獻(xiàn)[26]中,針對CCN視頻流多路徑傳輸中的Cache性能和隱私問題,采取多路徑網(wǎng)絡(luò)編碼策略,提高不同路徑上Cache內(nèi)容的多樣性以及擴(kuò)大為終端用戶服務(wù)的匿名服務(wù)器Cache集合。較大的編碼生成段能夠增加網(wǎng)絡(luò)上緩沖的數(shù)據(jù)塊的多樣性,提升Cache命中率和隱私性。另一方面,編碼數(shù)據(jù)塊越大,每個數(shù)據(jù)包所需要的附加的編碼信息就越多,也需要花費(fèi)更多時間進(jìn)行解碼。如何選取編碼數(shù)據(jù)段的長度,需要對視頻流對實時性和安全性的要求綜合考慮。
網(wǎng)絡(luò)編碼在提高網(wǎng)絡(luò)吞吐量、增強(qiáng)網(wǎng)絡(luò)抗差錯能力等方面有著天然的優(yōu)勢。在將網(wǎng)絡(luò)編碼用于視頻流傳輸時,需要針對視頻流的特性進(jìn)行優(yōu)化改進(jìn),以更好地保障視頻流傳輸質(zhì)量,以及針對不同視頻流傳輸場景,更好地將網(wǎng)絡(luò)編碼應(yīng)用其中。本文就上述問題進(jìn)行了分析和總結(jié)。
綜上所述,利用網(wǎng)絡(luò)編碼保障視頻流傳輸?shù)难芯渴艿捷^多關(guān)注并已經(jīng)取得長足進(jìn)展。在今后的研究中,在以下幾個問題上還有待進(jìn)一步深入:
1)視頻流傳輸本身需要耗費(fèi)較多的網(wǎng)絡(luò)帶寬,隨著各種高清視頻的出現(xiàn),對網(wǎng)絡(luò)資源的需求會越來越多。在這種情況下,就需要將諸多相關(guān)因素統(tǒng)一考慮,以盡可能地對有限的網(wǎng)絡(luò)資源充分利用,優(yōu)化分配。除了視頻數(shù)據(jù)包重要等級不同,以及對延遲和丟包率的要求外,包括傳輸節(jié)點(diǎn)功耗、路徑速率分配和數(shù)據(jù)包調(diào)度策略等都需要考慮在內(nèi)。優(yōu)化過程中所考慮的因素越多,所建立的模型就更符合實際情況,當(dāng)然由此帶來的問題是求解復(fù)雜性的增加。
2)考慮到視頻流傳輸?shù)膶崟r性需求,更多采取的是無反饋機(jī)制。無線傳輸環(huán)境下,網(wǎng)絡(luò)動態(tài)性增大,因此各節(jié)點(diǎn)有必要根據(jù)當(dāng)前網(wǎng)絡(luò)狀況而不斷調(diào)整編碼策略以適應(yīng)網(wǎng)絡(luò)狀況。在編碼方法上,已有的基于反饋消息的IDNC方法主要集中在降低終端節(jié)點(diǎn)的解碼延遲上,還需要進(jìn)一步結(jié)合視頻流的自身特性進(jìn)行改進(jìn)。在傳輸策略上,利用反饋信息,在各網(wǎng)絡(luò)節(jié)點(diǎn)上設(shè)計自適應(yīng)編碼策略,在保障可靠傳輸?shù)耐瑫r需要降低算法的復(fù)雜度,以提高算法的實用性。
3)車載網(wǎng)絡(luò)、5G技術(shù)等受到的關(guān)注逐漸增多,信息中心網(wǎng)絡(luò)和軟件定義網(wǎng)絡(luò)等新型網(wǎng)絡(luò)體系結(jié)構(gòu)等不斷涌現(xiàn)。與此同時,用戶終端節(jié)點(diǎn)更多的會是各種手持智能設(shè)備,并在多種類型的網(wǎng)絡(luò)接入方式之間進(jìn)行移動。在各種網(wǎng)絡(luò)混合覆蓋、終端節(jié)點(diǎn)多樣性增加的網(wǎng)絡(luò)場景下,如何充分利用各種網(wǎng)絡(luò)自身特性,各網(wǎng)絡(luò)節(jié)點(diǎn)及時發(fā)現(xiàn)新加入的或從相鄰接入點(diǎn)切換過來的信息流,并對已有的各種網(wǎng)絡(luò)編碼策略進(jìn)行改進(jìn)和優(yōu)化,以更好地滿足終端用戶的各種應(yīng)用需求,是將網(wǎng)絡(luò)編碼引入其中需要考慮的問題。
4)現(xiàn)有的用于視頻流傳輸?shù)木W(wǎng)絡(luò)編碼策略主要集中在應(yīng)用層。利用跨層設(shè)計可以更好地獲知底層網(wǎng)絡(luò)狀況,網(wǎng)絡(luò)各層之間能夠更好地交互共享信息。將二者結(jié)合起來需要考慮如何將網(wǎng)絡(luò)編碼實現(xiàn)在不同的網(wǎng)絡(luò)協(xié)議層中進(jìn)行交互,并能及時滿足上層視頻流應(yīng)用需求和應(yīng)對網(wǎng)絡(luò)狀況的變化。
5)經(jīng)過網(wǎng)絡(luò)編碼的數(shù)據(jù)包在傳輸過程中容易受到污染攻擊,造成接收端無法正確解碼,需要針對視頻流傳輸設(shè)計高效的應(yīng)對攻擊的方法。此外,保障編碼后視頻流傳輸過程中的用戶個人隱私和信息安全問題在后續(xù)的研究中也值得關(guān)注。
參考文獻(xiàn)(References)
[1] Cisco. Cisco visual networking index: forecast and methodology, 2015-2020 [EB/OL]. [2017- 05- 10]. https: //www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/complete-white-paper-c11-481360.html.
[2] AHLSWEDE R, CAI N, LI S Y R, et al. Network information flow [J]. IEEE Transactions on Information Theory, 2000, 46(4): 1204-1216.
[3] 楊林, 鄭剛, 胡曉惠.網(wǎng)絡(luò)編碼的研究進(jìn)展[J]. 計算機(jī)研究與發(fā)展, 2008, 45(3): 400-407.(YANG L, ZHENG G, HU X H. Research on network coding: a survey[J]. Journal of Computer Research and Development, 2008, 45(3): 400-407.)
[4] ENRICO M, WANG M, PASCAL F, et al. Network coding meets multimedia: a review [J]. IEEE Transactions on Multimedia, 2013, 15(5): 1195-1212.
[5] HO T, LUN D S. Network coding: an Introduction [M]. Cambridge: Cambridge University Press, 2008: 87-110.
[6] CHOU P A, WU Y N, JAIN K. Practical network coding [EB/OL]. [2017- 05- 10]. http: //citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.697.
[7] YU M C, SADEGHI P, ABOUTORAB N. Performance characterization and transmission schemes for instantly decodable network coding in wireless broadcast[J]. EURASIP Journal on Advances in Signal Processing, 2015, 2015:94.
[8] NGUYEN K, NGUYEN T, CHEUNG S. Peer-to-peer streaming with hierarchical network coding [C]// Proceedings of the 2007 IEEE International Conference on Multimedia and Expo. Piscataway, NJ: IEEE, 2007: 396-399.
[9] DEJAN V, VLADIMIR S. Unequal error protection random linear coding strategies for erasure channels[J]. IEEE Transactions on Communications, 2012, 60(5): 1243-1252.
[10] WANG D, LIU J, ZHANG Q, et al. Cooperative coding and caching for streaming data in multihop wireless networks [J]. EURASIP Journal of Wireless Communication Networks, 2010, 10(2): 1-13.
[11] OSTOVARI P, WU J. Robust wireless transmission of scalable coded videos using two-dimensional network coding [J]. Computer Networks, 2016, 95: 115-126.
[12] SEFEROGLU H, MARKOPOULOU A. Delay-optimized network coding for video streaming over wireless networks[C]// ICC 2010: Proceedings of the 2010 IEEE International Conference on Communications. Piscataway, NJ: IEEE, 2010: 1-5.
[13] CLEJU N, THOMOS N, FROSSARD P. Selection of network coding nodes for minimal playback delay in streaming overlays [J]. IEEE Transactions on Multimedia, 2011, 13(5): 1103-1115.
[14] YU M C, SPRINTSON A, SADEGHI P. On minimizing the average packet decoding delay in wireless network coded broadcast[C]// NetCod 2015: Proceedings of the 2015 International Symposium on Network Coding. Piscataway, NJ: IEEE, 2015: 1-6.
[15] SEFEROGLU H, MARKOPOULOU A, RAMAKRISHNAN K K. I2NC: intra- and inter-session network coding for unicast flows in wireless networks[C]// Proceedings of the IEEE INFOCOM 2011. Piscataway, NJ: IEEE, 2011: 1035-1043.
[16] ZHANG X J, JING C P, TANG F L, et al. Joint redundant and random network coding for robust video transmission over lossy networks [J]. Mobile Information Systems, 2012, 8(3): 213-230.
[17] KHREISHAH A, KHALIL I, WU J. Low complexity and provably efficient algorithm for joint inter and intrasession network coding in wireless networks[J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 24(10): 2015-2024.
[18] ZHANG H Z, SUN K R, HUANG Q Y, et al. FUN coding: design and analysis[J]. IEEE/ACM Transactions on Networking, 2016, 24(6): 3340-3353.
[19] 徐進(jìn), 李曉峰, 傅志中, 等.應(yīng)用網(wǎng)絡(luò)編碼的P2P流媒體技術(shù)研究進(jìn)展[J]. 計算機(jī)科學(xué), 2012, 39(3): 1-8.(XU J, LI X F, FU Z Z, et al. Recent advances in P2P streaming with network coding[J]. Computer Science, 2012, 39(3): 1-8.)
[20] SALEH B, QIU D, SALEH B, et al. Performance analysis of network-coding-based P2P live streaming systems[J]. IEEE/ACM Transactions on Networking, 2016, 24(4): 2140-2153.
[21] FIANDROTTI A, BIOGLIO V, GRANGETTO M, et al. Band codes for energy-efficient network coding with application to P2P mobile streaming[J]. IEEE Transactions on Multimedia, 2014, 16(2): 521-532.
[22] ZHANG B, LIU Z, CHAN S, et al. Collaborative wireless freeview video streaming with network coding[J]. IEEE Transactions on Multimedia, 2016, 18(3): 521-536.
[23] POUYA O, WU J, KHREISHAH A, et al. Scalable video streaming with helper nodes using random linear network coding[J]. IEEE/ACM Transactions on Networking, 2016, 24(3): 1574-1587.
[24] WIDMER J, CAPALBO A, FERNNDEZ A, et al. Efficient interlayer network codes for fair layered multicast streaming[J]. IEEE/ACM Transactions on Networking, 2015, 23(4): 1107-1120.
[25] JONNAHTAN S, EIRINA B, NIKOLAOS T, et al. NetCodCCN: a network coding approach for content-centric networks[C]// INFOCOM 2016: Proceedings of the 35th Annual IEEE International Conference on Computer Communications. Piscataway, NJ: IEEE, 2016: 1-9.
[26] WU Q H, LI Z Y, GARETH T, et al. Privacy-aware multipath video caching for content-centric networks[J]. IEEE Journal on Selected Areas in Communications, 2016, 34(8): 2219-2230.
This work is partially supported by the National Natural Science Foundation of China (61672423), the Shaanxi Science & Technology Coordination Innovation Project (2016KTZDGY05-09), the Science and Technology Project of Xi’an (2017080CG/RC043XALG031).