崔華力,孫欽東,張興軍,伍衛(wèi)國
(1.西安理工大學 計算機科學與工程學院, 西安710048; 2.西安交通大學 計算機系, 西安 710049)(*通信作者電子郵箱sqd@xaut.edu.cn)
隨著人們對網絡業(yè)務需求的不斷擴展和深入,通過無線網絡隨時隨地接入Internet進行視頻會議、視頻電話、在線視頻直播/點播以及在線游戲等多媒體應用正逐漸成為目前網絡的主流應用。根據思科網絡預測報告[1],未來五年,視頻媒體流以大約每年30%的幅度增加,將占到互聯(lián)網絡上總流量的80%以上。然而如何在盡力而為(Best-Effort)的Internet上為視頻流傳輸提供服務質量保障一直是網絡研究人員所面臨的難題。隨著無線通信技術的蓬勃發(fā)展和多跳傳輸技術的逐漸成熟,支持多種接入方式的異構無線多跳網絡已成為無線網絡發(fā)展的趨勢;與此同時,越來越多的用戶通過無線網絡獲取各種視頻信息以滿足日常生活和工作的需要。思科報告中也指出,通過無線方式接入網絡的終端用戶數量將占到Internet總用戶數的一半以上,而通過無線終端產生的數據流量將占到總IP流量的55%。因此,研究在各種無線網絡環(huán)境下保障視頻流的傳輸質量,就顯得非常有必要且面臨巨大挑戰(zhàn)。
與數據文件傳輸不同,多媒體視頻流主要特點包括:對數據包丟失敏感;對網絡帶寬和延遲的要求比較高;傳輸的數據量通常都比較大;報文有著不同程度的重要性。根據視頻流的這些特點,傳輸網絡應滿足以下幾個方面的要求。
1)吞吐量:為獲得可接受的播放質量,視頻媒體數據對網絡帶寬有著最低需求。高清視頻流壓縮后數據速率一般為20 ~40 Mb/s。
2)延遲:為實現(xiàn)實時視頻流的連續(xù)播放,必須對流媒體傳輸規(guī)定嚴格的端到端最長延遲時間。即每個流媒體數據包應能夠及時到達目的節(jié)點,連續(xù)地進行解碼和播放。
3)延遲抖動:延遲抖動會影響視頻幀的重構,導致視頻流不能連續(xù)解碼或回放,從而影響視頻質量。
4)丟包率:視頻媒體對于丟包非常敏感。視頻流通常都會經過壓縮后再進行傳輸,因此傳輸過程中很小的丟包都可能會造成接收端視頻畫面明顯的失真。
網絡編碼(Network Coding, NC)由Ahlswede等[2]提出,其基本思想是允許網絡中間節(jié)點對收到的數據包進行再編碼操作,從而能夠有效改善網絡性能,包括提高網絡吞吐量、魯棒性和安全性等。文獻[3]回顧了網絡編碼能夠充分利用網絡多樣性的特點,這包括利用多個源節(jié)點和多條路徑來進行數據傳輸,在分布式系統(tǒng)中,能夠減少控制負載并能避免系統(tǒng)需要協(xié)調的問題。網絡自身性能的提升,一定會有助于視頻流傳輸質量的改進。文獻[4]中,針對視頻流傳輸業(yè)務特性以及網絡特征,就如何優(yōu)化網絡編碼進行了較為全面的討論。
本文首先對網絡編碼的基本概念以及流內和流間網絡編碼(Inter-session NC)、實用網絡編碼等方法進行介紹;接著,針對不等差錯保護策略、降低延遲和抗差錯方法等方面優(yōu)化網絡編碼以提升視頻流傳輸質量的現(xiàn)有研究進行了分析總結;然后,對幾種典型的網絡場景中的應用網絡編碼的視頻流傳輸作了闡述;最后總結探討了網絡編碼用于視頻流傳輸的進一步研究方向。
網絡編碼的本質是利用節(jié)點的計算能力提高鏈路帶寬的利用率,常用的編碼方法有流內網絡編碼(Intra-session NC)和流間網絡編碼兩種類型。
文獻[5]中給出了流內網絡編碼的解釋,是指網絡節(jié)點對屬于同一個會話的數據包進行編碼。這里會話指的是單源單播或單源多播通信。在流內網絡編碼中,每一個節(jié)點的輸出信息都是輸入信息的隨機線性組合,每一個終端節(jié)點的解碼操作也只能在接收到足夠多的源信息的獨立線性組合之后開始,從而提高網絡的抗差錯能力。此外,流內編碼還可以簡化數據包調度。數據包經過流內隨機線性編碼后,彼此變得沒有差異,網絡中間節(jié)點對收到的屬于同一編碼生成段/代的數據包進行再編碼后發(fā)送出去。對于接收端來說,只需要關心收到一個編碼生成段中數據包的數量,而不必去關注某一具體數據包是否接收到,從而大大簡化了發(fā)送端和網絡中間節(jié)點的數據包調度策略。
為降低數據傳輸的帶寬需求、提高網絡吞吐量,在多源數據流共享傳輸鏈路的情況下,通常需要對屬于不同流的數據包進行編碼組合后再進行傳送的方法,即流間網絡編碼。
通常情況下,網絡中的多個會話通過流內網絡編碼并不能達到網絡最大吞吐量,為了達到更優(yōu)的傳輸速率就需要采用流間網絡編碼,即對來自不同會話流的數據包進行編碼。流間編碼不像流內網絡編碼那樣只是對數據包進行隨機線性的組合輸入信息,那樣可能會導致終端節(jié)點無法收到足夠多的編碼數據包來完成解碼。因此,流間網絡編碼必須按照一定的策略進行,以盡可能確保編碼數據包在每一個終端節(jié)點上可解。由于無線鏈路的廣播特性,流間編碼可以很好地應用于無線場景下。
隨機線性網絡編碼(Random Linear NC, RLNC)將網絡編碼推向實用。隨機線性網絡編碼通過設置一個足夠大的伽羅華域,網絡中間節(jié)點不需要獲取任何中央控制信息就可以自主隨機選擇編碼系數。
在RLNC基礎上,Chou等[6]提出了一個可以適用于流媒體傳輸的實用網絡編碼(practical NC)系統(tǒng)。由于編碼系數隨機選擇,定長大小的報頭被添加到每一個報文,有了編碼系數,這樣在接收端就可以解碼恢復出原始的數據報文。實用網絡編碼方法增強了網絡的抗差錯能力,可以很好地應對網絡中由于隨機丟包和延遲帶來的差錯。
在Yu等[7]提出的基于反饋信息的即時解碼網絡編碼(Instantly Decodable NC, IDNC)方法中,發(fā)送端根據收到的來自各個接收端的反饋信息建立一個矩陣,進而根據矩陣信息來確定每一次選擇哪些數據包進行編碼傳輸以使得盡可能多的終端完成解碼。其編解碼過程均采用簡單的XOR操作完成,從而降低了計算復雜性。IDNC使得終端節(jié)點在收到編碼數據包后就可立即進行解碼,且并不需要對編碼包進行緩存。
網絡編碼結合可擴展視頻編碼(Scalable Video Coding, SVC)數據包不同重要等級的特性,采用不等差錯保護機制(Unequal Error Protection, UEP)來發(fā)揮網絡編碼的優(yōu)勢。從編碼角度來看,主要從兩方面來實現(xiàn),包括分代網絡編碼和多代混合網絡編碼。
基于分代網絡編碼的UEP保護如圖1所示,每一個代均有k個數據包,按重要等級不同,對各個代進行冗余添加。將網絡編碼策略和視頻交織技術相結合,在網絡層對經過隨機線性網絡編碼后的視頻流進行不平等保護。
圖1 分代網絡編碼實現(xiàn)UEP
文獻[6]中最早提出基于優(yōu)先級的網絡編碼(priority NC)方法,根據數據塊優(yōu)先級的不同,分配不同的編碼矩陣系數,從而確保優(yōu)先級高的報文獲得高等級的差錯保護。隨后的研究主要集中在編碼階段和解碼階段兩個方面進行:在編碼方面,在應用層上實施交織編碼策略,將視頻編碼單元分成不同的優(yōu)先等級,然后對不同的流采用不同的保護策略,實現(xiàn)視頻傳輸;在解碼方面,針對傳輸過程中數據包丟失可能會造成的接收端全局編碼矩陣秩缺失問題,根據SVC中各層碼流重要等級的不同,添加不同的冗余進行保護,從而優(yōu)先保障接收端收到基本層數據包。
文獻[8]中提出一種分級網絡編碼,給予重要數據包較多的編碼機會,以使其以較高的概率接收到。數據包編碼組合示例通過式(1)給出:
(1)
在基于多代混合的網絡編碼方法中,數據包按優(yōu)先等級不同分入不同的代中,編碼時按照代的重要程度擴展編碼,重要性越高的代所獲得的編碼機會就越多,從而能夠有效提高重要代在接收端解碼概率。圖2中,數據包顏色深度表示重要程度,從左至右逐次降低。初始代包括k個數據包,編碼代分別為g1、g2、g3,其中:g2包含g1,g3包含g2。文獻[9]中全面分析了不等差錯保護隨機線性編碼在丟包環(huán)境下的性能,并對分代和多代混合兩種編碼實現(xiàn)UEP進行了較為詳盡的理論分析和對比。
圖2 多代混合網絡編碼實現(xiàn)UEP
Wang等[10]提出的三角網絡編碼方法中,利用可擴展視頻流不同層之間的依賴,第i級數據包的編碼包含了有i-1級數據包。在此基礎上,文獻[11]在時域層和空域層之間設計編碼,可以分別按垂直方向、水平方向和對角線方向進行二維編碼,如圖3所示。也可以將三者混合編碼,這需要通過搜索算法來實現(xiàn)不同編碼層的優(yōu)化分布。
圖3 斜三角網絡編碼方法
網絡中間節(jié)點的再編碼操作、接收端的解碼過程以及接收端需要收到一定數量的數據包以完成解碼,這些都在一定程度上帶來了時延并增加了處理的復雜性。但由于網絡編碼的使用會帶來數據包傳輸次數的減少,使得總的端到端網絡傳輸延遲在大多數情況下不會超過存儲轉發(fā)情形。而視頻流傳輸對延遲有著更高的要求,因此有必要盡可能降低網絡延遲以進一步保障視頻傳輸質量。
首先可以通過改進網絡編解碼方法以降低編解碼帶來的時間花費。如利用高斯-約旦消元法,始終保持解碼矩陣為一個行規(guī)范形矩陣。這樣帶來的好處是如果收到一個不包含信息的數據包,則在矩陣中會出現(xiàn)一個全零行,便于立即刪除。除此之外,接收端在收到部分數據包即可開始解碼,而不必在整代編碼數據包都到達后才能開始解碼,從而減少了等待時間。一旦接收端收到足夠的相互獨立數據包,那么簡化矩陣的左半部分即成為一個單位矩陣,右半部分即是原始的來自發(fā)送端的未編碼數據。
另一方面,網絡編碼機會也影響著視頻流數據包的傳輸延遲。對于網絡中間節(jié)點而言,收到多個數據包后執(zhí)行再編碼操作,但由于無線網絡的突發(fā)特性、數據包丟失以及數據包在不同路徑上的傳輸延遲不同等因素,從而會導致某一時刻網絡中間節(jié)點沒有足夠的數據包進行編碼的情形。此時,需要考慮對數據包執(zhí)行何種操作。為了提高編碼效率,中間節(jié)點可以選擇繼續(xù)等待收到更多數據包,但這將導致數據包傳輸延遲的增大。
針對上述問題,Seferoglu等[12]提出了一種視頻特性相關的數據包延遲優(yōu)化網絡編碼策略。該策略將視頻失真和數據包的延遲上限等與視頻流相關特性考慮在內,網絡中間節(jié)點按照拉格朗日乘數計算結果值,判斷數據包是否需要等待。其表達式如式(2)所示:
(2)
其中:θ指所執(zhí)行的傳輸策略;D(θ)是指在傳輸策略θ下所有節(jié)點上的預計視頻總失真;R(θ)是指所有節(jié)點的整體速率函數??紤]到視頻流的優(yōu)先等級和網絡傳輸狀況,將D(θ)和R(θ)具體表示如下。
D(θ)的展開式如式(3)所示:
(3)
其中:γ(j)指數據包pj所屬的數據流的重要等級;Δ(j)是指當數據包pj丟失時所帶來的視頻質量失真;P(θn(j))指在傳輸策略θn(j)下數據包pj的丟失率。
(4)
其中:B代表數據包pj的字節(jié)數;ρ(θn(j))指傳輸數據包pj的平均開銷;zn(θn(j))指數據包pj的速率提升因子,它與網絡拓撲、無線鏈路數據包丟失率和路徑延遲相關。
將式(3)和式(4)代入式(2),即可得到:
λBρ(θn(j))zn(θn(j))
(5)
式(5)中,將視頻流的重要等級、視頻失真、網絡丟包率、傳輸開銷,以及網絡延遲都涉及在內。根據計算結果,選擇最優(yōu)的傳輸策略,從而對網絡編碼所帶來的編碼機會問題給出了一個優(yōu)化解決方案。
從網絡整體傳輸結構上來看,并不是網絡中每一個節(jié)點都要執(zhí)行編碼操作,已有一些研究工作針對網絡編碼節(jié)點選擇策略進行。網絡中間節(jié)點在沒有收全整個代內的數據包或者各個不同獨立節(jié)點傳輸相同的數據包時,就一定會產生重復的數據包。隨著網絡中節(jié)點數的增加,解碼延遲以及計算負載也會隨之增長。然而在節(jié)點數眾多的網絡環(huán)境中優(yōu)化的選擇編碼節(jié)點是一個NP難問題。Overlay網絡中,文獻[13]通過選擇在部分節(jié)點上實施隨機網絡編碼操作,在保持一定網絡吞吐量的同時,使傳輸延遲滿足流媒體應用需求。傳輸延遲如式(6)所示:
(6)
其中:G表示一個分代內的數據包數目;bo(u)是指節(jié)點u上累積的輸出帶寬;εc(u)指從中間節(jié)點u客戶端c數據包丟失概率。
然后,通過選擇延遲最小的節(jié)點作為編碼節(jié)點來優(yōu)化整個網絡的視頻流傳輸,優(yōu)化結果如式(7)所示:
(7)
在有反饋的無線廣播場景下,文獻[14]通過構建超圖將傳輸數據包映射到圖的頂點,將各接收端映射到圖的邊。通過構建高效的超圖頂點覆蓋算法和更新策略,在保持數據吞吐量不變的情況下,只需收到編碼塊部分數據包即可開始進行解碼,從而達到進一步降低終端節(jié)點的平均數據包解碼延遲(Average Packet Decoding Delay, APDD)的目的。
利用前向糾錯碼(Forward Error Correction, FEC)提升無線網絡中視頻傳輸質量是一直以來關注的話題。與多跳網絡中的應用層FEC編碼類似,通過添加適當冗余,將網絡編碼以信道編碼的方式實施于網絡中間節(jié)點能夠用于實現(xiàn)網絡糾錯,從而保障視頻流的傳輸可靠性。
與信源信道聯(lián)合編碼類似,網絡編碼和可以與應用層FEC、糾刪碼等相結合,以及流內和流間網絡編碼結合,用來提高丟包環(huán)境下的網絡視頻流傳輸可靠性。源/網絡聯(lián)合編碼策略如圖4所示。
圖4 源/網絡聯(lián)合編碼策略
文獻[15]中,將流內和流間網絡編碼在網絡中間節(jié)點進行了結合。在流內編碼中,根據監(jiān)聽鏈路和直接鏈路的丟包率,來決定冗余添加的多少,利用流內編碼的糾錯能力,提高傳輸的可靠性;同時利用流間編碼來提高網絡吞吐量。
文獻[16]將冗余網絡編碼和流間網絡編碼相結合,源端和網絡中間節(jié)點根據輸出鏈路上的丟包率來決定冗余添加的數量。這兩者相結合帶來的好處是,通過添加冗余以對抗傳輸過程中數據包的丟失,而在中間節(jié)點上實施流間編碼可以增加網絡帶寬,從而減少部分帶寬損耗。文獻[17]中,對將二者結合起來帶來的復雜性和算法有效性的證明從理論上進行了分析。
文獻[18]中,將噴泉碼和流內編碼以及XOR編碼的特點結合進行聯(lián)合編碼,在源節(jié)點,利用在MAC層與IP層之間加入的子層,多來自上層的數據包進行編碼;網絡中繼節(jié)點根據收到數據包的類型決定進行流內編碼或流間編碼;最后在終端節(jié)點完成解碼,通過多種編碼策略相結合,在無線多跳網絡丟包環(huán)境下提高傳輸數據流的可靠性。
文獻[19]對網絡編碼在P2P流媒體傳輸系統(tǒng)的實際應用進行了總結。針對push方式的P2P流媒體系統(tǒng),文獻[20]通過建立一個隨機模型,對某一終端節(jié)點上,流媒體數據包從進入緩沖區(qū)到播放前的整個周期內,一個分塊中的數據包數目在各個時間階段的分布狀態(tài)作了深入分析。由此涉及到的細節(jié)包括如何進行分塊選擇,如何對系統(tǒng)參數進行配置以及如何利用服務器和用戶端的帶寬支撐,從而充分利用網絡編碼的優(yōu)勢、提升視頻流播放的連續(xù)性、降低源到端的傳輸延遲,達到更好的視頻播放效果。
數據包的度分布(degree distribution)在很大程度上決定著編碼效率和解碼復雜度。然而在網絡中間節(jié)點上實施編碼將會改變源節(jié)點上選擇的度分布,這會導致編碼效率下降和復雜度提升。為解決這一問題,文獻[21]中提出了一種應用于P2P移動流媒體的帶編碼(band codes)策略,在這種策略下,編碼包經過源端的編碼、中間節(jié)點的任意組合再編碼后,其度分布都不會發(fā)生改變。帶編碼策略在GF(2)的域上進行編碼,P2P流媒體采用隨機push方式進行,基于編碼窗口的概念實現(xiàn),并且適合于各種網絡拓撲結構。
隨著多跳自組織等分布式網絡拓撲結構的廣泛應用,協(xié)作傳輸為解決視頻傳輸帶來了新的解決途徑。多源視頻流傳輸系統(tǒng)中,客戶端可以從多個源節(jié)點獲取到同一視頻流信息,如圖5所示。
圖5 多節(jié)點協(xié)作視頻流傳輸
在自由視點視頻流傳輸系統(tǒng)中,多個攝像頭從固定視角獲取活動畫面的場景,各終端用戶除了通過主信道獲取其中部分攝像頭的內容外,也進行鄰居信息交互,獲知彼此當前已有的數據信息。在Zhang等[22]提出的方法中,節(jié)點計算每個數據包傳輸所能帶來的視頻質量增益值,利用貪婪算法優(yōu)化編碼策略的選擇,得出網絡編碼后的數據包,然后廣播到相鄰節(jié)點,鄰居節(jié)點在收到編碼數據包后通過高斯-約旦消元法完成解碼,從而使各節(jié)點都能夠獲得更多的傳輸畫面。在VoD(Video on Demand)傳輸系統(tǒng)中,為了緩解中心服務器的負載壓力,可以利用中繼節(jié)點緩存源視頻。文獻[23]中,通過多個AP協(xié)助來提升可擴展視頻流多播服務質量,對視頻流各層的數據包實施層內(Intra-Layer)編碼,同時對不同層的數據包實施Widmer等[24]提出的層間(Inter-Layer)編碼,將層內和層間編碼聯(lián)合起來提升終端用戶的解碼概率,可以進一步減少服務器的傳輸次數,降低負載。
隨著Internet不斷發(fā)展和演化,研究新型網絡體系結構如內容中心網絡(Content-Centric Network, CCN)等已成為熱點。
文獻[25]中指出,在引入網絡編碼后,使得CCN的終端節(jié)點不再需要關注具體的某一數據段,而是獲取足夠的編碼數據段,從而省去了中心的協(xié)調同步。另一方面,網絡編碼能夠進一步提升CCN的抗差錯能力和獲得更大的吞吐量。針對如何利用網絡編碼保障內容中心網絡中的視頻流傳輸質量這一問題正逐步展開研究。
文獻[26]中,針對CCN視頻流多路徑傳輸中的Cache性能和隱私問題,采取多路徑網絡編碼策略,提高不同路徑上Cache內容的多樣性以及擴大為終端用戶服務的匿名服務器Cache集合。較大的編碼生成段能夠增加網絡上緩沖的數據塊的多樣性,提升Cache命中率和隱私性。另一方面,編碼數據塊越大,每個數據包所需要的附加的編碼信息就越多,也需要花費更多時間進行解碼。如何選取編碼數據段的長度,需要對視頻流對實時性和安全性的要求綜合考慮。
網絡編碼在提高網絡吞吐量、增強網絡抗差錯能力等方面有著天然的優(yōu)勢。在將網絡編碼用于視頻流傳輸時,需要針對視頻流的特性進行優(yōu)化改進,以更好地保障視頻流傳輸質量,以及針對不同視頻流傳輸場景,更好地將網絡編碼應用其中。本文就上述問題進行了分析和總結。
綜上所述,利用網絡編碼保障視頻流傳輸的研究受到較多關注并已經取得長足進展。在今后的研究中,在以下幾個問題上還有待進一步深入:
1)視頻流傳輸本身需要耗費較多的網絡帶寬,隨著各種高清視頻的出現(xiàn),對網絡資源的需求會越來越多。在這種情況下,就需要將諸多相關因素統(tǒng)一考慮,以盡可能地對有限的網絡資源充分利用,優(yōu)化分配。除了視頻數據包重要等級不同,以及對延遲和丟包率的要求外,包括傳輸節(jié)點功耗、路徑速率分配和數據包調度策略等都需要考慮在內。優(yōu)化過程中所考慮的因素越多,所建立的模型就更符合實際情況,當然由此帶來的問題是求解復雜性的增加。
2)考慮到視頻流傳輸的實時性需求,更多采取的是無反饋機制。無線傳輸環(huán)境下,網絡動態(tài)性增大,因此各節(jié)點有必要根據當前網絡狀況而不斷調整編碼策略以適應網絡狀況。在編碼方法上,已有的基于反饋消息的IDNC方法主要集中在降低終端節(jié)點的解碼延遲上,還需要進一步結合視頻流的自身特性進行改進。在傳輸策略上,利用反饋信息,在各網絡節(jié)點上設計自適應編碼策略,在保障可靠傳輸的同時需要降低算法的復雜度,以提高算法的實用性。
3)車載網絡、5G技術等受到的關注逐漸增多,信息中心網絡和軟件定義網絡等新型網絡體系結構等不斷涌現(xiàn)。與此同時,用戶終端節(jié)點更多的會是各種手持智能設備,并在多種類型的網絡接入方式之間進行移動。在各種網絡混合覆蓋、終端節(jié)點多樣性增加的網絡場景下,如何充分利用各種網絡自身特性,各網絡節(jié)點及時發(fā)現(xiàn)新加入的或從相鄰接入點切換過來的信息流,并對已有的各種網絡編碼策略進行改進和優(yōu)化,以更好地滿足終端用戶的各種應用需求,是將網絡編碼引入其中需要考慮的問題。
4)現(xiàn)有的用于視頻流傳輸的網絡編碼策略主要集中在應用層。利用跨層設計可以更好地獲知底層網絡狀況,網絡各層之間能夠更好地交互共享信息。將二者結合起來需要考慮如何將網絡編碼實現(xiàn)在不同的網絡協(xié)議層中進行交互,并能及時滿足上層視頻流應用需求和應對網絡狀況的變化。
5)經過網絡編碼的數據包在傳輸過程中容易受到污染攻擊,造成接收端無法正確解碼,需要針對視頻流傳輸設計高效的應對攻擊的方法。此外,保障編碼后視頻流傳輸過程中的用戶個人隱私和信息安全問題在后續(xù)的研究中也值得關注。
參考文獻(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] 楊林, 鄭剛, 胡曉惠.網絡編碼的研究進展[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] 徐進, 李曉峰, 傅志中, 等.應用網絡編碼的P2P流媒體技術研究進展[J]. 計算機科學, 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).