《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > 基于MDC的P2P方式視頻直播方案

基于MDC的P2P方式視頻直播方案

2009-08-17
作者:羅 彬,王宏遠(yuǎn),景 麟,郭

??? 摘? 要: 本文提出了基于多描述編碼的Peer to Peer方式視頻流直播方案,并對(duì)該方案中P2P方式視頻發(fā)布與接收策略進(jìn)行了介紹。
??? 關(guān)鍵詞: MDC? Peer to Peer? 視頻流

?

??? 隨著通信技術(shù)、數(shù)字視頻技術(shù)的發(fā)展和網(wǎng)絡(luò)基礎(chǔ)設(shè)施建設(shè)的日益完善,傳統(tǒng)的、基于文本和圖片瀏覽的Internet服務(wù)已逐漸被以音視頻為主體的網(wǎng)絡(luò)多媒體服務(wù)所取代。以音視頻為主的多媒體服務(wù)對(duì)網(wǎng)絡(luò)帶寬的占用,以及對(duì)網(wǎng)絡(luò)服務(wù)質(zhì)量和傳輸實(shí)時(shí)性的要求是傳統(tǒng)Internet服務(wù)業(yè)務(wù)所不可比擬的。如何在現(xiàn)有的Internet環(huán)境下有效地發(fā)送音視頻數(shù)據(jù),提供用戶滿意的網(wǎng)絡(luò)多媒體服務(wù)是現(xiàn)今網(wǎng)絡(luò)研究的一個(gè)熱門領(lǐng)域。本文討論了一種結(jié)合多描述編碼的方法,用P2P方式進(jìn)行視頻流發(fā)送的方案。
1? P2P技術(shù)介紹
??? P2P技術(shù)是一種用于不同PC用戶之間共享計(jì)算機(jī)資源的技術(shù)。位于網(wǎng)絡(luò)上的每個(gè)用戶都是一個(gè)對(duì)等實(shí)體(Peer),他們彼此獨(dú)立又可以互相協(xié)作,既是服務(wù)的提供者又是享用者。早期的P2P網(wǎng)絡(luò)已在分布式計(jì)算、即時(shí)通信和文件共享等領(lǐng)域取得了顯著成就。
??? 這里特別值得一提的是近幾年興起的、采用P2P方式的BT(bit torrent)文件下載。它的基本思想是將一個(gè)大的文件分成許多小的片斷,下載用戶非順序地從網(wǎng)絡(luò)中其他用戶處下載文件的各個(gè)分片。當(dāng)用戶下載完某個(gè)完整的分片后,又可將該分片共享,供其他用戶下載。與傳統(tǒng)的C/S方式文件下載相比,這種P2P下載方式的特點(diǎn)是用戶越多下載速度越快,可以最大限度地發(fā)揮網(wǎng)絡(luò)傳輸能力。
??? 但這種文件下載方式不能直接用于視頻流的發(fā)送,特別是對(duì)視頻流直播方式不太適合。對(duì)于直播視頻流來說,它的數(shù)據(jù)流是實(shí)時(shí)產(chǎn)生的(不同于文件方式,待發(fā)送的數(shù)據(jù)已經(jīng)存放于本地存儲(chǔ)內(nèi)),同時(shí)視頻直播流的接收和觀看必須是實(shí)時(shí)和順序進(jìn)行的?,F(xiàn)在基于P2P的視頻直播多采用基于應(yīng)用層的組播方式,視頻流發(fā)送是通過構(gòu)建組播樹方式進(jìn)行的。每個(gè)用戶(組播樹上的一個(gè)節(jié)點(diǎn))從自己的父節(jié)點(diǎn)處獲取完整的視頻流進(jìn)行收看,同時(shí)向下游的兒子節(jié)點(diǎn)轉(zhuǎn)發(fā)視頻數(shù)據(jù)。在這種方式下,對(duì)組播樹中的每個(gè)Peer節(jié)點(diǎn)的網(wǎng)絡(luò)I/O帶寬都有較高要求(在某些用戶接入方式下工作不太理想。如ADSL用戶,上下行通道不對(duì)稱,上行帶寬很窄)。并且當(dāng)組播樹的某個(gè)節(jié)點(diǎn),特別是位于上層的節(jié)點(diǎn)發(fā)生故障時(shí),組播樹的恢復(fù)存在一定難度和時(shí)延。
2? 多描述編碼
??? 多描述編碼MDC(Multiple Description Coding)假設(shè)在信源和信道之間有多個(gè)信道,各個(gè)信道同時(shí)出錯(cuò)的概率非常低。通過生成多個(gè)同等重要、可獨(dú)立解碼的關(guān)于編碼的描述,保證在其中一些描述丟失時(shí),仍可以得到可接受的信號(hào)。因此,多描述編碼在基于包的網(wǎng)絡(luò)、無有效保護(hù)機(jī)制的Internet、分集通信系統(tǒng)(多天線的無線信道)、語音編碼、圖像編碼、視頻編碼、多分布的存儲(chǔ)系統(tǒng)中有很好的應(yīng)用前景。
??? 針對(duì)視頻的多描述編碼構(gòu)造方法很多,最簡(jiǎn)單直觀的方法是針對(duì)空間分辨率、時(shí)間分辨率進(jìn)行亞抽樣,編碼成多路描述碼流。此外,還有多描述量化、多描述變換編碼及基于FEC的多描述編碼。
3? 基于MDC的P2P視頻直播方案
??? 通過對(duì)MDC和P2P技術(shù)的分析可知,這兩項(xiàng)技術(shù)在網(wǎng)絡(luò)多媒體數(shù)據(jù)傳輸中有顯著的優(yōu)勢(shì)和特點(diǎn)。但將這兩項(xiàng)技術(shù)結(jié)合起來進(jìn)行視頻直播,且能發(fā)揮其各自技術(shù)優(yōu)勢(shì)的方案還未見到。本文提出的視頻直播方案,對(duì)原始視頻采用多描述編碼,形成多路碼流;對(duì)編碼后的多路描述流采用P2P方式,使多點(diǎn)(即多個(gè)Peer)相互協(xié)作,實(shí)現(xiàn)多徑傳輸。具體方案如下。
3.1 MDC編解碼模型
??? 如圖1所示,對(duì)原始圖像幀進(jìn)行空間亞抽樣,形成低分辨率的視頻子流。按2n(n可以取1,2,3,……)進(jìn)行水平和垂直方向的亞抽樣。這樣一路原始視頻流經(jīng)空間亞抽樣后可形成4路、16路等22n路視頻子流。具體的抽樣間隔根據(jù)實(shí)際應(yīng)用情況進(jìn)行選擇。對(duì)每路視頻子流進(jìn)行單獨(dú)編碼,可得到22n路編碼描述子流。編碼后的描述子流通過不同的信道發(fā)往接收者(實(shí)際上在P2P的發(fā)送方式下,不同的描述子流是由不同的Peer發(fā)往接收者)。接收者對(duì)每路描述子流進(jìn)行單獨(dú)的接收和解碼,并將解碼后的視頻流合成為原始視頻流。如果只接收到部分視頻子流,也可以通過相應(yīng)的插值算法恢復(fù)出原始視頻圖像。

?


3.2 P2P發(fā)布網(wǎng)絡(luò)模型
?? ?與目前大多采用的樹狀P2P發(fā)布網(wǎng)絡(luò)模型不同(該發(fā)布模型是自上而下分層,一對(duì)多的數(shù)據(jù)分發(fā)模式),本文采用的是自上而下的分層網(wǎng)狀發(fā)布模型,如圖2所示。

?


3.3 P2P方式視頻發(fā)送與接收
??? 每路描述子流發(fā)送采用RTP打包,在包頭中要包含以下私有字段:原始流惟一標(biāo)識(shí)、子流標(biāo)識(shí)、時(shí)間戳(或幀同步標(biāo)識(shí))。
??? (1)發(fā)布網(wǎng)絡(luò)的初始化
??? 最先進(jìn)入網(wǎng)絡(luò)的用戶向發(fā)布服務(wù)器發(fā)出視頻傳送請(qǐng)求,由于此時(shí)用戶數(shù)較少,用戶采用傳統(tǒng)的C/S方式直接從種子服務(wù)器(種子服務(wù)器為視頻流的“發(fā)源地”)獲取數(shù)據(jù)。
??? (2)新的Peer請(qǐng)求加入過程
??? 第一步:從發(fā)布服務(wù)器獲取直播流信息,直播流信息主要字段包括:直播流標(biāo)識(shí)和流描述信息。
??? 第二步:用戶選擇自己感興趣的流,向發(fā)布服務(wù)器發(fā)送“流申請(qǐng)”(可選項(xiàng):與此同時(shí)用戶可以向本地局域網(wǎng)廣播申請(qǐng))。
??? 第三步:發(fā)布服務(wù)器返回應(yīng)答信息(也可是本地Peer用戶返回應(yīng)答信息)。應(yīng)答信息主要內(nèi)容如圖3所示。

?


??? 第四步:子流轉(zhuǎn)發(fā)服務(wù)器的選擇:①優(yōu)先從本地網(wǎng)絡(luò)Peer中選取轉(zhuǎn)發(fā)描述子流。②不同的子流盡量從不同的Peer上接收。選擇了轉(zhuǎn)發(fā)服務(wù)器后,向選擇的Peer發(fā)送請(qǐng)求,要求其傳送各自的描述子流數(shù)據(jù)。
??? (3)接收過程
??? 對(duì)不同的描述子流分別啟動(dòng)單獨(dú)的線程進(jìn)行接收和解碼。解碼后的多路視頻幀置于合成處理緩沖區(qū)中。對(duì)每幀數(shù)據(jù)的處理設(shè)置一個(gè)最大容忍時(shí)間。當(dāng)容忍時(shí)間到達(dá)時(shí),應(yīng)根據(jù)處理緩沖區(qū)中收到的解碼后的子幀編號(hào),選擇相應(yīng)的原始幀恢復(fù)算法對(duì)圖像進(jìn)行恢復(fù)并顯示。如果一路視頻流的所有描述子流都及時(shí)收到并解碼,則可完全恢復(fù)原始視頻圖像,否則要經(jīng)過插值處理來得到原始圖像。
??? 在整個(gè)接收過程中,用戶同時(shí)對(duì)正確接收到的描述子流進(jìn)行統(tǒng)計(jì)。對(duì)時(shí)延和丟包大的子流,用戶可以啟動(dòng)搜索線程,尋找新的Peer來獲取該路描述子流。對(duì)于接收狀態(tài)良好的子流,用戶可以生成報(bào)告信息發(fā)往發(fā)布服務(wù)器進(jìn)行“登記”。“告訴”發(fā)布服務(wù)器,“自己”可以對(duì)該路視頻流的哪些“子流”進(jìn)行轉(zhuǎn)發(fā)。
??? (4)連接丟失處理
??? 如果用戶的某路連接丟失(可能是由于網(wǎng)絡(luò)故障,或是作為該路流下載服務(wù)器的Peer關(guān)機(jī)或離開),則接收者向發(fā)布服務(wù)器(或本地用戶)發(fā)出該路子流的下載請(qǐng)求,以尋找新的下載服務(wù)器(Peer)。與此同時(shí),該用戶仍然可以根據(jù)其他可接收到的子流正常收看視頻節(jié)目。
4? 實(shí)驗(yàn)?zāi)P徒榻B
??? 初步的仿真實(shí)驗(yàn)在實(shí)驗(yàn)室內(nèi)通過路由器連接兩個(gè)局域網(wǎng)構(gòu)成的小型網(wǎng)絡(luò)環(huán)境下進(jìn)行。模擬實(shí)驗(yàn)共使用15臺(tái)PC機(jī)。PC均為PⅢ800,內(nèi)存128MB以上配置,并配備100MB快速以太網(wǎng)卡。其中一臺(tái)PC作為種子視頻服務(wù)器和內(nèi)容發(fā)布服務(wù)器,其他分布在兩個(gè)局域網(wǎng)內(nèi)的主機(jī)作為客戶機(jī)。播出的視頻流以H.263標(biāo)準(zhǔn)編碼模型為基礎(chǔ),對(duì)CIF格式原始視頻流進(jìn)行空間亞抽樣分成4路QCIF格式的子流。對(duì)這4路流單獨(dú)進(jìn)行編碼,形成4路單獨(dú)的描述子流,然后進(jìn)行RTP打包發(fā)送給用戶??蛻舳说慕尤?、peer搜索、視頻數(shù)據(jù)的接收和轉(zhuǎn)發(fā)算法按照上一章介紹的算法實(shí)現(xiàn)。同時(shí)在客戶端轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)通過隨機(jī)丟包和延時(shí)傳送方式,模擬網(wǎng)絡(luò)的丟包和傳輸延時(shí)。仿真實(shí)驗(yàn)采用主觀評(píng)價(jià)方式。實(shí)驗(yàn)表明,在實(shí)驗(yàn)室環(huán)境下建立的基于MDC編碼的P2P視頻流發(fā)布系統(tǒng)模型可以進(jìn)行較理想的視頻發(fā)布和接收。用戶可以收看到清晰流暢的視頻圖像,同時(shí)對(duì)網(wǎng)絡(luò)丟包和連接丟失有一定容錯(cuò)性。
5? 總? 結(jié)
??? 本文提出的方案能更好地發(fā)揮P2P方式下多用戶協(xié)作特性,充分利用網(wǎng)絡(luò)帶寬進(jìn)行視頻流發(fā)送。同時(shí)由于編碼采用MDC方式,該方案能更好地適應(yīng)網(wǎng)絡(luò)帶寬變化,同時(shí)對(duì)網(wǎng)絡(luò)傳輸?shù)膩G包和延時(shí)有較好的適應(yīng)性和容錯(cuò)性。當(dāng)然該方案還處于一個(gè)較為簡(jiǎn)單的模型階段,今后還將從以下幾個(gè)方面進(jìn)行研究:(1)進(jìn)一步完善P2P播出算法。(2)找到效率更高的MDC編碼算法。(3)完善系統(tǒng)實(shí)現(xiàn),在更大范圍的真實(shí)環(huán)境中對(duì)系統(tǒng)進(jìn)行測(cè)試。
參考文獻(xiàn)
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?? 趙誼虹,余松煜,程國(guó)華.多描述編碼的研究現(xiàn)狀及其展望.通信學(xué)報(bào),2005;(1)
3?? 謝勇均.P2P模式的流媒體服務(wù)技術(shù).現(xiàn)代電視技術(shù),2004;(7)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。