《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于多源的P2P流媒體傳輸系統(tǒng)的設(shè)計(jì)

基于多源的P2P流媒體傳輸系統(tǒng)的設(shè)計(jì)

2008-03-17
作者:林 強(qiáng), 黃建華, 毛軍鵬

  摘 要: 針對(duì)實(shí)際P2P網(wǎng)絡(luò)中存在的異構(gòu)性問(wèn)題,提出一種基于多源的P2P流媒體" title="流媒體">流媒體傳輸系統(tǒng)" title="傳輸系統(tǒng)">傳輸系統(tǒng),。
  關(guān)鍵詞: P2P 流媒體傳輸? 多描述編碼? 多源

?

  近年來(lái),,隨著B(niǎo)ittorrent、eMule等P2P[1]應(yīng)用軟件的出現(xiàn),,業(yè)界已廣泛展開(kāi)了對(duì)P2P網(wǎng)絡(luò)的研究,。P2P網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)同時(shí)具有服務(wù)器和客戶端功能,,每個(gè)節(jié)點(diǎn)將接收的內(nèi)容緩存并提供給其他請(qǐng)求節(jié)點(diǎn),,這充分挖掘了Internet上被忽視的客戶機(jī)資源,在利用率,、可擴(kuò)展性,、容錯(cuò)等方面具有巨大潛力。把P2P引入流媒體服務(wù),,將打破傳統(tǒng)的C/S模式,,使服務(wù)分散化,從而減輕服務(wù)器負(fù)載并支持更大范圍流媒體發(fā)布,,具有潛在的應(yīng)用前景,。
  現(xiàn)有的基于P2P流媒體系統(tǒng)多采用基于應(yīng)用層[2-3]的組播方式,這種方式通?;趩卧磦鬏?。組播組內(nèi)的Peer必須提供足夠的帶寬來(lái)傳送一個(gè)完整的媒體流" title="媒體流">媒體流。然而在實(shí)際的網(wǎng)絡(luò)環(huán)境中,各個(gè)Peer之間在提供的帶寬,、存儲(chǔ)空間以及CPU能力等方面存在著很大的異構(gòu)性,。有些Peer所提供的出口帶寬通常不能支持一個(gè)完整的媒體流的傳送。例如在ADSL方式下,,Peer的上行帶寬只有幾百kbps左右,,而一部以MPEG-1編碼的視頻流的帶寬是1.5Mbps,單個(gè)Peer無(wú)法傳送完整的媒體流,,因此需要多個(gè)Peer對(duì)一個(gè)Peer進(jìn)行服務(wù),即提供服務(wù)的所有Peer的出口帶寬之和要大于媒體流的編碼帶寬,,Peer之間則以單播的形式通信。
  為了解決上述的流媒體在異構(gòu)的P2P網(wǎng)絡(luò)中存在的問(wèn)題,,本文提出一種基于多源的P2P流媒體傳輸系統(tǒng)PSMTMS(P2P Streaming Media Transmission System Based on Multi-Source),。通過(guò)組群劃分機(jī)制建立起分層集中的PSMTMS網(wǎng)絡(luò)模型。在此模型上采用多描述編碼方式把原始視頻編碼成多個(gè)描述,,形成多個(gè)描述子流(碼流),,每個(gè)描述子流經(jīng)過(guò)不同Peer傳送到用戶端。這種傳輸方式不需要網(wǎng)絡(luò)提供可靠的子信道,,能很好地解決Peer節(jié)點(diǎn)所體現(xiàn)出的異構(gòu)性問(wèn)題,,從而提高視頻傳輸?shù)聂敯粜裕徊⑶乙敕?wù)節(jié)點(diǎn)的選擇策略" title="選擇策略">選擇策略,,用戶端能從品質(zhì)度最佳的Peer下載描述子流,,既充分利用了Peer的資源,又保障了流媒體的服務(wù)質(zhì)量,。
1 PSMTMS網(wǎng)絡(luò)模型
  PSMTMS網(wǎng)絡(luò)模型的設(shè)計(jì)思想是以引入分級(jí)集中和層次化樹(shù)型結(jié)構(gòu)為核心,,從而建立分層集中網(wǎng)絡(luò)體系結(jié)構(gòu)。提出組群劃分和層次化結(jié)構(gòu)的目的是充分考慮節(jié)點(diǎn)網(wǎng)絡(luò)鄰近性特征,。通過(guò)組群劃分機(jī)制將物理距離較近的節(jié)點(diǎn)劃為一組,,以使網(wǎng)絡(luò)中鄰近節(jié)點(diǎn)間的數(shù)據(jù)傳輸盡量都在所在區(qū)域內(nèi)部完成,降低了媒體流傳輸延遲,。
1.1 基本概念
  (1) 媒體管理服務(wù)器(MMS):保存著各個(gè)興趣組內(nèi)所有節(jié)點(diǎn)的相關(guān)信息,,負(fù)責(zé)管理所在興趣組中的節(jié)點(diǎn)的加入、退出,,以及為用戶選擇高品質(zhì)的服務(wù)節(jié)點(diǎn),。每個(gè)媒體文件在MMS中設(shè)立一個(gè)興趣組。
  (2) 流媒體服務(wù)器(SMS):存儲(chǔ)媒體數(shù)據(jù),,傳送媒體數(shù)據(jù)給用戶,,并且能把原始視頻通過(guò)MDC編碼成媒體流數(shù)據(jù)。
  (3) 普通節(jié)點(diǎn)(Peer):類似于C/S結(jié)構(gòu)中的普通用戶,。
1.2 PSMTMS體系結(jié)構(gòu)
  本系統(tǒng)網(wǎng)絡(luò)拓?fù)涫菢?gòu)建于物理網(wǎng)絡(luò)拓?fù)渲系囊粚又丿B網(wǎng)絡(luò),,屬于應(yīng)用層的虛擬網(wǎng)絡(luò)。網(wǎng)絡(luò)拓?fù)浞譃閮蓪樱ㄈ鐖D1所示):底層是由區(qū)域組成的集合,每個(gè)區(qū)域是按組群劃分機(jī)制組織起來(lái)的用戶群,;頂層由一個(gè)媒體管理服務(wù)器(MMS),、一個(gè)或多個(gè)流媒體服務(wù)器(SMS)組成。在圖1中,,Peer12從所在區(qū)域1中選取Peer11和Peer1n以及在區(qū)域n中選取Peern1三個(gè)節(jié)點(diǎn)作為自己的接收節(jié)點(diǎn),。其他節(jié)點(diǎn)依此相互協(xié)作,,實(shí)現(xiàn)多源的媒體流傳輸,。


1.3 組群劃分機(jī)制
  為了實(shí)現(xiàn)媒體流傳送盡量都在網(wǎng)絡(luò)中鄰近節(jié)點(diǎn)間進(jìn)行,本文將物理距離較近的節(jié)點(diǎn)歸為一個(gè)組群,,從而降低了媒體流的傳輸延遲,。
  組群劃分機(jī)制具體描述如下:
  (1)當(dāng)一個(gè)新節(jié)點(diǎn)Peer希望加入網(wǎng)絡(luò)時(shí),它首先向MMS發(fā)送請(qǐng)求加入消息,。
  (2)MMS返回標(biāo)志節(jié)點(diǎn)列表給Peer,。標(biāo)志節(jié)點(diǎn)也是普通節(jié)點(diǎn),它一般是第一個(gè)加入所在區(qū)域的節(jié)點(diǎn),。
  (3)Peer計(jì)算到各個(gè)標(biāo)志節(jié)點(diǎn)的物理網(wǎng)絡(luò)距離,。最簡(jiǎn)單的方法可以使用Ping消息。如果計(jì)算的物理距離小于PSMTMS系統(tǒng)設(shè)定的門限值,,則Peer將通過(guò)向MMS發(fā)送消息加入到標(biāo)志節(jié)點(diǎn)所在的區(qū)域中,,組群劃分過(guò)程結(jié)束;否則,,自動(dòng)成為一個(gè)標(biāo)志節(jié)點(diǎn),,并相應(yīng)添加一個(gè)新區(qū)域。
2 多描述編碼
  多描述編碼[4]MDC(Multiple Description Coding)將視頻信息(或其他信息源)編碼成多個(gè)獨(dú)立的,、等優(yōu)先級(jí)的碼流,。每個(gè)碼流稱為一個(gè)“描述”。這些無(wú)優(yōu)先級(jí)的碼流可分別通過(guò)獨(dú)立信道傳輸,,不分特殊層,,每個(gè)描述都能被獨(dú)立譯碼。假設(shè)在接收,、發(fā)送端之間有多個(gè)獨(dú)立的并行信道,,各信道中誤碼的發(fā)生是相互獨(dú)立的, 即所有信道同時(shí)發(fā)生誤碼的概率較小,。這樣在接收端至少有部分描述被正確接收,,可以重構(gòu)視頻。若全部描述被正確接收,,接收端能重構(gòu)最佳質(zhì)量的視頻,。這一特性使MDC非常適合分組交換的網(wǎng)絡(luò)。由于多描述編碼可以在支持不同比特率的路徑上傳輸,可以充分利用包交換網(wǎng)絡(luò)的傳輸資源,,所以具有廣泛的應(yīng)用前景,。
  針對(duì)視頻的多描述編碼方法很多,最簡(jiǎn)單的方法是時(shí)域劃分,, 即發(fā)送端依據(jù)采樣時(shí)間分成奇偶兩個(gè)視頻信號(hào),,生成兩個(gè)描述經(jīng)不同信道傳輸[5]。此外,,還有多描述量化,、多描述變換編碼及基于FEC的多描述編碼。
  本文采用的MDC編解碼模型如圖2所示,,對(duì)經(jīng)小波" title="小波">小波變換后的視頻的小波系數(shù)進(jìn)行分割,,采用空間-時(shí)間分塊方法,將小波系數(shù)分成多個(gè)子塊,,分別對(duì)各子塊進(jìn)行3D-SPIHT(三維等級(jí)樹(shù)集合劃分算法)[6]編碼,,得到多個(gè)編碼比特流(描述)。對(duì)每一描述,,以固定長(zhǎng)度k個(gè)比特構(gòu)成一個(gè)信息碼組(在此稱為“打包”),,再分別對(duì)每個(gè)包加循環(huán)冗余碼(CRC)校驗(yàn),加上與Reed-Solomon(RS)編碼糾錯(cuò)碼組合使用,,提高了系統(tǒng)的性能,。編碼后的描述流通過(guò)不同的信道發(fā)往接收者(實(shí)際上在P2P的發(fā)送方式下,不同的描述流是由不同的Peer發(fā)往接收者的),。在接收端,,先對(duì)多個(gè)獨(dú)立信道接收的各描述包進(jìn)行RS解碼,對(duì)每一描述(碼流),,分別進(jìn)行3D-SPIHT解碼,,得到相應(yīng)于各描述(碼流)的小波系數(shù)。CRC檢測(cè)到包被污染,,即停止該包所屬描述的3D-SPIHT解碼,,全部描述3D-SPIHT解碼完成后將各小波系數(shù)合成為一小波系數(shù)矩陣;然后進(jìn)行小波逆變換,,即得到解碼的視頻信號(hào),。


3 PSMTMS傳輸系統(tǒng)實(shí)現(xiàn)方案
  本文提出的流媒體傳輸系統(tǒng)對(duì)原始視頻采用多描述編碼,形成多路碼流(描述),;對(duì)編碼后的多路描述子流采用P2P方式,,使多點(diǎn)(即多個(gè)Peer)相互協(xié)作,實(shí)現(xiàn)多徑傳輸,。
3.1 服務(wù)節(jié)點(diǎn)的選擇策略
  服務(wù)節(jié)點(diǎn)的選擇可以根據(jù)不同的QoS需求采取不同的選擇策略,。如果希望流媒體服務(wù)的延遲小,,可以選擇物理鄰近的節(jié)點(diǎn)作為服務(wù)的節(jié)點(diǎn)以快速建立會(huì)話,如在局域網(wǎng)內(nèi)有提供服務(wù)的節(jié)點(diǎn),,就不選擇Internet上的節(jié)點(diǎn),,這樣可以避開(kāi)Internet上的帶寬波動(dòng)和擁塞;如果希望得到高質(zhì)量的流媒體服務(wù),,則可選擇能夠提供高帶寬,、CPU 能力強(qiáng)的節(jié)點(diǎn),例如在寬帶接入的PC機(jī)和ADSL接入的終端之間選擇前者,。
  本系統(tǒng)結(jié)合以上兩種選擇策略,,對(duì)服務(wù)節(jié)點(diǎn)的選擇采用如下策略:
  (1)優(yōu)先從本區(qū)域中選取Peer作為轉(zhuǎn)發(fā)描述子流(即成為服務(wù)節(jié)點(diǎn))。根據(jù)上述的組群劃分機(jī)制組成的區(qū)域中所有節(jié)點(diǎn)間的物理網(wǎng)絡(luò)距離較近,,這樣數(shù)據(jù)傳輸延遲也較小,。
  (2)不同的描述子流盡量從不同的Peer上接收,,避免了由于所選Peer的離開(kāi)而造成多個(gè)描述子流的丟失,。
  (3)優(yōu)先選取品質(zhì)度好的Peer。根據(jù)Peer的當(dāng)前系統(tǒng)信息(如CPU處理能力,、內(nèi)存信息,、上傳帶寬、下載帶寬,、上傳連接數(shù)和下載連接數(shù)等),,通過(guò)某種算法計(jì)算得到一個(gè)性能評(píng)估值。性能評(píng)估值越大,,Peer的品質(zhì)度越好,。
3.2 媒體流傳輸網(wǎng)絡(luò)的構(gòu)建
  在PSMTMS系統(tǒng)中,由多個(gè)提供不同帶寬的服務(wù)節(jié)點(diǎn)向一個(gè)接收節(jié)點(diǎn)發(fā)送數(shù)據(jù),。為了保證服務(wù)延遲小以及服務(wù)的連續(xù)性和穩(wěn)定性,,接收節(jié)點(diǎn)根據(jù)所接收到的各描述子流的質(zhì)量,動(dòng)態(tài)地選擇相應(yīng)的服務(wù)節(jié)點(diǎn),。
  本系統(tǒng)每路描述子流采用RTP打包發(fā)送,,在包頭中要包含以下私有字段:原始流惟一標(biāo)識(shí)、子流標(biāo)識(shí)和時(shí)間戳(或幀同步標(biāo)識(shí)),。
3.2.1 Peer節(jié)點(diǎn)的加入過(guò)程
  當(dāng)流媒體服務(wù)器(SMS)有新媒體文件時(shí),,SMS就會(huì)向媒體管理服務(wù)器(MMS)發(fā)布Create消息。MMS收到消息后,,首先創(chuàng)建一個(gè)新的興趣組,,并生成一個(gè)惟一的媒體流標(biāo)識(shí)來(lái)表示此媒體文件;然后向MMS發(fā)送Response消息,,這樣新媒體文件就可以提供給用戶訪問(wèn)了,。


  新節(jié)點(diǎn)Peer加入興趣組的過(guò)程如圖3所示,,其詳細(xì)描述如下:
  (1)當(dāng)新節(jié)點(diǎn)PeerA想要訪問(wèn)某個(gè)媒體文件時(shí),首先根據(jù)PeerA的系統(tǒng)信息,,按照某種算法計(jì)算出品質(zhì)度,;并向MMS發(fā)送請(qǐng)求消息,包括PeerA的IP地址,、品質(zhì)度以及媒體文件的描述信息;
  (2)MMS生成PeerA的唯一標(biāo)識(shí)號(hào)(NodeID)并搜索媒體文件所在的興趣組,,返回PeerA的NodeID和標(biāo)志節(jié)點(diǎn)列表消息;
  (3)PeerA根據(jù)收到的節(jié)點(diǎn)列表信息,按照1.3節(jié)所述的組群劃分機(jī)制,,加入到相應(yīng)的區(qū)域,,并告知MMS;
  (4)MMS根據(jù)上述服務(wù)節(jié)點(diǎn)的選擇策略,選出目前每個(gè)描述子流所對(duì)應(yīng)的品質(zhì)度最佳的服務(wù)節(jié)點(diǎn),,并向PeerA發(fā)送服務(wù)節(jié)點(diǎn)列表消息,。每個(gè)服務(wù)節(jié)點(diǎn)信息包括:NodeID、IP地址,、可轉(zhuǎn)發(fā)的描述子流標(biāo)識(shí),。
  如果興趣組的成員較少(少于描述子流總數(shù))或SMS可用帶寬大于帶寬下界BWbound,可把SMS當(dāng)作服務(wù)節(jié)點(diǎn),,以便用戶獲取數(shù)據(jù),,保證用戶接收到盡可能多的描述子流。
3.2.2 Peer節(jié)點(diǎn)的退出過(guò)程
  Peer的退出有兩種:正常退出和異常退出,。對(duì)于Peer的正常退出(如用戶正常關(guān)閉程序),,Peer首先檢查是否有下載節(jié)點(diǎn)從Peer那里下載描述子流;如果有,,則向它們分別發(fā)送Leave報(bào)文,,各下載節(jié)點(diǎn)重新獲取相應(yīng)的服務(wù)節(jié)點(diǎn);最后Peer向媒體管理服務(wù)器發(fā)送LeaveGroup報(bào)文,,媒體管理服務(wù)器更新相應(yīng)的信息,。對(duì)于Peer的異常退出(如節(jié)點(diǎn)掉線或死機(jī)等)的處理方式為:Peer周期性地向其下載節(jié)點(diǎn)發(fā)送Keeplive報(bào)文,如果下載節(jié)點(diǎn)在一段時(shí)間內(nèi)沒(méi)收到Peer的報(bào)文,,就認(rèn)為Peer失效,,重新向媒體管理服務(wù)器申請(qǐng)新的服務(wù)節(jié)點(diǎn)以替換Peer。
3.3 媒體流的傳輸過(guò)程
  Peer根據(jù)MMS提供的服務(wù)節(jié)點(diǎn)列表信息,,對(duì)不同的描述子流分別啟用單獨(dú)的線程從不同的服務(wù)節(jié)點(diǎn)進(jìn)行接收和解碼,。先對(duì)接收到的各描述包進(jìn)行RS解碼;然后對(duì)每一描述(碼流)分別進(jìn)行3D-SPIHT解碼,,得到相對(duì)于各描述(碼流)的小波系數(shù),,如果CRC檢測(cè)到包被污染,即停止該包所屬描述的3D-SPIHT解碼,。解碼后的多路視頻塊置于合成處理緩沖區(qū)中,。對(duì)每塊數(shù)據(jù)的處理設(shè)置一個(gè)最大等待時(shí)間,。當(dāng)?shù)却龝r(shí)間到達(dá)時(shí),根據(jù)處理緩沖區(qū)中收到的解碼后的子塊編號(hào),,將各小波系數(shù)合成為一小波系數(shù)矩陣,;最后進(jìn)行小波逆變換,即得到解碼的視頻信號(hào)并顯示出來(lái),。
  在整個(gè)接收過(guò)程中,,Peer節(jié)點(diǎn)同時(shí)對(duì)各個(gè)正確接收到的描述子流進(jìn)行統(tǒng)計(jì)。對(duì)于時(shí)延和丟包率大的子流,,Peer可以向媒體管理服務(wù)器發(fā)送該描述子流的下載請(qǐng)求,,重新獲取新的服務(wù)節(jié)點(diǎn)。對(duì)于接收狀態(tài)良好的子流,,Peer可以生成發(fā)布消息發(fā)往媒體管理服務(wù)器進(jìn)行登記,,通告媒體管理服務(wù)器,自己可以對(duì)該描述子流進(jìn)行轉(zhuǎn)發(fā),,Peer自動(dòng)成為該描述子流的服務(wù)節(jié)點(diǎn),。
  針對(duì)流媒體在異構(gòu)的P2P網(wǎng)絡(luò)中存在的問(wèn)題,本文提出了一種基于多源的P2P流媒體傳輸系統(tǒng),。下一步研究工作是設(shè)計(jì)出一種Peer性能評(píng)估值算法,,進(jìn)一步完善P2P流媒體傳輸系統(tǒng)。
參考文獻(xiàn)
[1] MILOJICIC D S, KALOGERAKI V, et al. Peer-to-Peer Computing .HP Laboratories Palo Alto HPL-2002-57 (R.1) July 3rd, 2003.
[2] DESHPANDE H,,BAWA M,GARCIA M H. Streaming live media over a peer-to-peer network. In Work at CS-Stanford.Submitted for publication,,2002.
[3] TRAN D, HUA K, DO T. Zigzag: An efficient peer-to-peer scheme for media streaming. In: Proc.of IEEE INFOCOM ‘03. San Francisco.CA.USA.IEEE.2003.
[4] GOYAL V K. Multiple description coding: Compression meet the network. IEEE Signal Processing Magazine,2001,18(5):74-93.
[5] BEGEN A C,,AHUNBASAK Y, ERGUN O,et a1. Multi-path selection for multiple description video streaming over ?overlay networks[M].Signal Processing:Image Communica-tion,,2005,(20):39-60.
[6] KIM B J, XIONG Z. WILLIAM A P. Low Bit-Rate scalable video coder with 3-D set partitioning in hier-archical trees(3D-SPIHT)[J]. IEEE Trans on Circuits and System for Video Technology,,2000,10(8):1374-1387.

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