??? 摘? 要: 本文提出了基于多描述編碼的Peer to Peer方式視頻流直播方案,,并對該方案中P2P方式視頻發(fā)布與接收策略進行了介紹,。
??? 關鍵詞: MDC? Peer to Peer? 視頻流
?
??? 隨著通信技術,、數(shù)字視頻技術的發(fā)展和網絡基礎設施建設的日益完善,傳統(tǒng)的,、基于文本和圖片瀏覽的Internet服務已逐漸被以音視頻為主體的網絡多媒體服務所取代,。以音視頻為主的多媒體服務對網絡帶寬的占用,以及對網絡服務質量和傳輸實時性的要求是傳統(tǒng)Internet服務業(yè)務所不可比擬的,。如何在現(xiàn)有的Internet環(huán)境下有效地發(fā)送音視頻數(shù)據(jù),,提供用戶滿意的網絡多媒體服務是現(xiàn)今網絡研究的一個熱門領域。本文討論了一種結合多描述編碼的方法,,用P2P方式進行視頻流發(fā)送的方案,。
1? P2P技術介紹
??? P2P技術是一種用于不同PC用戶之間共享計算機資源的技術。位于網絡上的每個用戶都是一個對等實體(Peer),,他們彼此獨立又可以互相協(xié)作,,既是服務的提供者又是享用者。早期的P2P網絡已在分布式計算,、即時通信和文件共享等領域取得了顯著成就,。
??? 這里特別值得一提的是近幾年興起的、采用P2P方式的BT(bit torrent)文件下載,。它的基本思想是將一個大的文件分成許多小的片斷,,下載用戶非順序地從網絡中其他用戶處下載文件的各個分片。當用戶下載完某個完整的分片后,,又可將該分片共享,,供其他用戶下載。與傳統(tǒng)的C/S方式文件下載相比,,這種P2P下載方式的特點是用戶越多下載速度越快,,可以最大限度地發(fā)揮網絡傳輸能力。
??? 但這種文件下載方式不能直接用于視頻流的發(fā)送,,特別是對視頻流直播方式不太適合,。對于直播視頻流來說,,它的數(shù)據(jù)流是實時產生的(不同于文件方式,待發(fā)送的數(shù)據(jù)已經存放于本地存儲內),,同時視頻直播流的接收和觀看必須是實時和順序進行的?,F(xiàn)在基于P2P的視頻直播多采用基于應用層的組播方式,視頻流發(fā)送是通過構建組播樹方式進行的,。每個用戶(組播樹上的一個節(jié)點)從自己的父節(jié)點處獲取完整的視頻流進行收看,,同時向下游的兒子節(jié)點轉發(fā)視頻數(shù)據(jù),。在這種方式下,,對組播樹中的每個Peer節(jié)點的網絡I/O帶寬都有較高要求(在某些用戶接入方式下工作不太理想。如ADSL用戶,,上下行通道不對稱,,上行帶寬很窄)。并且當組播樹的某個節(jié)點,,特別是位于上層的節(jié)點發(fā)生故障時,,組播樹的恢復存在一定難度和時延。
2? 多描述編碼
??? 多描述編碼MDC(Multiple Description Coding)假設在信源和信道之間有多個信道,,各個信道同時出錯的概率非常低,。通過生成多個同等重要、可獨立解碼的關于編碼的描述,,保證在其中一些描述丟失時,,仍可以得到可接受的信號。因此,,多描述編碼在基于包的網絡,、無有效保護機制的Internet、分集通信系統(tǒng)(多天線的無線信道),、語音編碼,、圖像編碼、視頻編碼,、多分布的存儲系統(tǒng)中有很好的應用前景,。
??? 針對視頻的多描述編碼構造方法很多,最簡單直觀的方法是針對空間分辨率,、時間分辨率進行亞抽樣,,編碼成多路描述碼流。此外,,還有多描述量化,、多描述變換編碼及基于FEC的多描述編碼。
3? 基于MDC的P2P視頻直播方案
??? 通過對MDC和P2P技術的分析可知,,這兩項技術在網絡多媒體數(shù)據(jù)傳輸中有顯著的優(yōu)勢和特點,。但將這兩項技術結合起來進行視頻直播,且能發(fā)揮其各自技術優(yōu)勢的方案還未見到。本文提出的視頻直播方案,,對原始視頻采用多描述編碼,,形成多路碼流;對編碼后的多路描述流采用P2P方式,,使多點(即多個Peer)相互協(xié)作,,實現(xiàn)多徑傳輸。具體方案如下,。
3.1 MDC編解碼模型
??? 如圖1所示,,對原始圖像幀進行空間亞抽樣,形成低分辨率的視頻子流,。按2n(n可以取1,,2,3,,……)進行水平和垂直方向的亞抽樣,。這樣一路原始視頻流經空間亞抽樣后可形成4路、16路等22n路視頻子流,。具體的抽樣間隔根據(jù)實際應用情況進行選擇,。對每路視頻子流進行單獨編碼,可得到22n路編碼描述子流,。編碼后的描述子流通過不同的信道發(fā)往接收者(實際上在P2P的發(fā)送方式下,,不同的描述子流是由不同的Peer發(fā)往接收者)。接收者對每路描述子流進行單獨的接收和解碼,,并將解碼后的視頻流合成為原始視頻流,。如果只接收到部分視頻子流,也可以通過相應的插值算法恢復出原始視頻圖像,。
?
3.2 P2P發(fā)布網絡模型
?? ?與目前大多采用的樹狀P2P發(fā)布網絡模型不同(該發(fā)布模型是自上而下分層,,一對多的數(shù)據(jù)分發(fā)模式),本文采用的是自上而下的分層網狀發(fā)布模型,,如圖2所示,。
?
3.3 P2P方式視頻發(fā)送與接收
??? 每路描述子流發(fā)送采用RTP打包,在包頭中要包含以下私有字段:原始流惟一標識,、子流標識,、時間戳(或幀同步標識)。
??? (1)發(fā)布網絡的初始化
??? 最先進入網絡的用戶向發(fā)布服務器發(fā)出視頻傳送請求,,由于此時用戶數(shù)較少,,用戶采用傳統(tǒng)的C/S方式直接從種子服務器(種子服務器為視頻流的“發(fā)源地”)獲取數(shù)據(jù)。
??? (2)新的Peer請求加入過程
??? 第一步:從發(fā)布服務器獲取直播流信息,,直播流信息主要字段包括:直播流標識和流描述信息,。
??? 第二步:用戶選擇自己感興趣的流,,向發(fā)布服務器發(fā)送“流申請”(可選項:與此同時用戶可以向本地局域網廣播申請)。
??? 第三步:發(fā)布服務器返回應答信息(也可是本地Peer用戶返回應答信息),。應答信息主要內容如圖3所示,。
?
??? 第四步:子流轉發(fā)服務器的選擇:①優(yōu)先從本地網絡Peer中選取轉發(fā)描述子流。②不同的子流盡量從不同的Peer上接收,。選擇了轉發(fā)服務器后,,向選擇的Peer發(fā)送請求,要求其傳送各自的描述子流數(shù)據(jù),。
??? (3)接收過程
??? 對不同的描述子流分別啟動單獨的線程進行接收和解碼,。解碼后的多路視頻幀置于合成處理緩沖區(qū)中。對每幀數(shù)據(jù)的處理設置一個最大容忍時間,。當容忍時間到達時,,應根據(jù)處理緩沖區(qū)中收到的解碼后的子幀編號,,選擇相應的原始幀恢復算法對圖像進行恢復并顯示,。如果一路視頻流的所有描述子流都及時收到并解碼,則可完全恢復原始視頻圖像,,否則要經過插值處理來得到原始圖像,。
??? 在整個接收過程中,用戶同時對正確接收到的描述子流進行統(tǒng)計,。對時延和丟包大的子流,,用戶可以啟動搜索線程,尋找新的Peer來獲取該路描述子流,。對于接收狀態(tài)良好的子流,,用戶可以生成報告信息發(fā)往發(fā)布服務器進行“登記”?!案嬖V”發(fā)布服務器,,“自己”可以對該路視頻流的哪些“子流”進行轉發(fā)。
??? (4)連接丟失處理
??? 如果用戶的某路連接丟失(可能是由于網絡故障,,或是作為該路流下載服務器的Peer關機或離開),,則接收者向發(fā)布服務器(或本地用戶)發(fā)出該路子流的下載請求,以尋找新的下載服務器(Peer),。與此同時,,該用戶仍然可以根據(jù)其他可接收到的子流正常收看視頻節(jié)目。
4? 實驗模型介紹
??? 初步的仿真實驗在實驗室內通過路由器連接兩個局域網構成的小型網絡環(huán)境下進行,。模擬實驗共使用15臺PC機,。PC均為PⅢ800,內存128MB以上配置,,并配備100MB快速以太網卡,。其中一臺PC作為種子視頻服務器和內容發(fā)布服務器,,其他分布在兩個局域網內的主機作為客戶機。播出的視頻流以H.263標準編碼模型為基礎,,對CIF格式原始視頻流進行空間亞抽樣分成4路QCIF格式的子流,。對這4路流單獨進行編碼,形成4路單獨的描述子流,,然后進行RTP打包發(fā)送給用戶,。客戶端的接入,、peer搜索,、視頻數(shù)據(jù)的接收和轉發(fā)算法按照上一章介紹的算法實現(xiàn)。同時在客戶端轉發(fā)數(shù)據(jù)時通過隨機丟包和延時傳送方式,,模擬網絡的丟包和傳輸延時,。仿真實驗采用主觀評價方式。實驗表明,,在實驗室環(huán)境下建立的基于MDC編碼的P2P視頻流發(fā)布系統(tǒng)模型可以進行較理想的視頻發(fā)布和接收,。用戶可以收看到清晰流暢的視頻圖像,同時對網絡丟包和連接丟失有一定容錯性,。
5? 總? 結
??? 本文提出的方案能更好地發(fā)揮P2P方式下多用戶協(xié)作特性,,充分利用網絡帶寬進行視頻流發(fā)送。同時由于編碼采用MDC方式,,該方案能更好地適應網絡帶寬變化,,同時對網絡傳輸?shù)膩G包和延時有較好的適應性和容錯性。當然該方案還處于一個較為簡單的模型階段,,今后還將從以下幾個方面進行研究:(1)進一步完善P2P播出算法,。(2)找到效率更高的MDC編碼算法。(3)完善系統(tǒng)實現(xiàn),,在更大范圍的真實環(huán)境中對系統(tǒng)進行測試,。
參考文獻
1?? Tran D A,Hua K A,,Do T T.Zigzag:An efficient peer-to-peer scheme for media streaming.In:IEEE INFOCOM,,San Francisco CA,USA,,2003
2?? 趙誼虹,,余松煜,程國華.多描述編碼的研究現(xiàn)狀及其展望.通信學報,,2005,;(1)
3?? 謝勇均.P2P模式的流媒體服務技術.現(xiàn)代電視技術,2004,;(7)