摘 要:
本文提出了基於多描述編碼的Peer to Peer方式視頻流直播方案,並對該方案中P2P方式視頻發布與接收策略進行了介紹。
關鍵詞:
MDC Peer to Peer 視頻流
隨著通訊技術、數位視訊技術的發展和網路基礎設施建設的日益完善,傳統的、基於文本和圖片瀏覽的Internet服務已逐漸被以音視頻為主體的網路多
媒體服務所取代。以音視頻為主的多媒體服務對網路頻寬的佔用,以及對網路服務品質和傳輸即時性的要求是傳統Internet服務業務所不可比擬的。如何在
現有的Internet環境下有效地發送音視頻資料,提供使用者滿意的網路多媒體服務是現今網路研究的一個熱門領域。本文討論了一種結合多描述編碼的方法,
用P2P方式進行視頻流發送的方案。
1 P2P技術介紹
P2P技術是一種用於不同PC使用者之間共用電腦資源的技術。位於網路上的每個使用者都是一個對等實體(Peer),他們彼此獨立又可以互相協作,既是服務的提供者又是享用者。早期的P2P網路已在分散式運算、即時通訊和檔案分享權限設定等領域取得了顯著成就。
這裡特別值得一提的是近幾年興起的、採用P2P方式的BT(bit
torrent)檔案下載。它的基本思想是將一個大的檔案分成許多小的片斷,下載使用者非順序地從網路中其他使用者處下載檔案的各個分區。當使用者下載完某個完
整的分區後,又可將該分區共用,供其他使用者下載。與傳統的C/S方式檔案下載相比,這種P2P下載方式的特點是使用者越多下載速度越快,可以最大限度地發揮
網路傳輸能力。
但這種檔案下載方式不能直接用於視頻流的發送,特別是對視頻流直播方式不太適合。對於直播視頻流來說,它的資料流是即時產生的(不同於檔案方式,待發
送的資料已經存放於本機存放區內),同時ApsaraVideo for Live流的接收和觀看必須是即時和順序進行的。現在基於P2P的ApsaraVideo for Live多採用基於應用程式層的組播方式,視頻流發送
是通過構建組播樹方式進行的。每個使用者(組播樹上的一個節點)從自己的父節點處擷取完整的視頻流進行收看,同時向下遊的兒子節點轉寄視頻資料。在這種方式
下,對組播樹中的每個Peer節點的網路I/O頻寬都有較高要求(在某些使用者接入方式下工作不太理想。如ADSL使用者,上下行通道不對稱,上行頻寬很
窄)。並且當組播樹的某個節點,特別是位於上層的節點發生故障時,組播樹的恢複存在一定難度和時延。
2 多描述編碼
多描述編碼MDC(Multiple Description
Coding)假設在信源和通道之間有多個通道,各個通道同時出錯的機率非常低。通過產生多個同等重要、可獨立解碼的關於編碼的描述,保證在其中一些描述
丟失時,仍可以得到可接受的訊號。因此,多描述編碼在基於包的網路、無有效保護機制的Internet、分集通訊系統(多天線的無線通道)、語音編碼、圖
像編碼、視頻編碼、多分布的儲存系統中有很好的應用前景。
針對視頻的多描述編碼構造方法很多,最簡單直觀的方法是針對空間解析度、時間解析度進行亞抽樣,編碼成多路描述碼流。此外,還有多描述量化、多描述變換編碼及基於FEC的多描述編碼。
3 基於MDC的P2PApsaraVideo for Live方案
通過對MDC和P2P技術的分析可知,這兩項技術在網路多媒體資料轉送中有顯著的優勢和特點。但將這兩項技術結合起來進行視頻直
播,且能發揮其各自技術優勢的方案還未見到。本文提出的ApsaraVideo for Live方案,對原始視頻採用多描述編碼,形成多路碼流;對編碼後的多路描述流採用P2P方式,使
多點(即多個Peer)相互協作,實現多徑傳輸。具體方案如下。
3.1 MDC編解碼模型
1所示,對原始映像幀進行空間亞抽樣,形成低解析度的視頻子流。按2n
(n可以取1,2,3,……)進行水平和垂直方向的亞抽樣。這樣一路原始視頻流經空間亞抽樣後可形成4路、16路等22n
路視頻子流。具體的抽樣間隔根據實際應用情況進行選擇。對每路視頻子流進行單獨編碼,可得到22n
路
編碼描述子流。編碼後的描述子流通過不同的通道發往接收者(實際上在P2P的發送方式下,不同的描述子流是由不同的Peer發往接收者)。接收者對每路描
述子流進行單獨的接收和解碼,並將解碼後的視頻流合成為原始視頻流。如果只接收到部分視頻子流,也可以通過相應的插值演算法恢複出原始視頻映像。
3.2 P2P發布網路模型
與目前大多採用的樹狀P2P發布網路模型不同(該發布模型是自上而下分層,一對多的資料分發模式),本文採用的是自上而下的分層網狀發布模型,2所示。
3.3 P2P方式視頻發送與接收
每路描述子流發送採用RTP打包,在包頭中要包含以下私人欄位:原始流惟一標識、子流標識、時間戳記(或幀同步標識)。
(1)發布網路的初始化
最先進入網路的使用者向發行伺服器發出視頻傳送請求,由於此時使用者數較少,使用者採用傳統的C/S方式直接從種子伺服器(種子伺服器為視頻流的“發源地”)擷取資料。
(2)新的Peer請求加入過程
第一步:從發行伺服器擷取直播流資訊,直播流資訊主要欄位包括:直播流標識和流描述資訊。
第二步:使用者選擇自己感興趣的流,向發行伺服器發送“流申請”(可選項:與此同時使用者可以向本地區域網路廣播申請)。
第三步:發行伺服器返回應答資訊(也可是本地Peer使用者返回應答資訊)。應答資訊主要內容3所示。
第四步:子流轉寄伺服器的選擇:①優先從本網Peer中選取轉寄描述子流。②不同的子流盡量從不同的Peer上接收。選擇了轉寄伺服器後,向選擇的Peer發送請求,要求其傳送各自的描述子流資料。
(3)接收過程
對不同的描述子流分別啟動單獨的線程進行接收和解碼。解碼後的多路視訊框架置於合成處理緩衝區中。對每幀資料的處理設定一個最大容忍時間。當容忍時間到
達時,應根據處理緩衝區中收到的解碼後的子幀編號,選擇相應的原始幀恢複演算法對映像進行恢複並顯示。如果一路視頻流的所有描述子流都及時收到並解碼,則可
完全恢複原始視頻映像,否則要經過插值處理來得到原始映像。
在整個接收過程中,使用者同時對正確接收到的描述子流進行統計。對時延和丟包大的子流,使用者可以啟動搜尋線程,尋找新的Peer來擷取該路描述子流。對
於接收狀態良好的子流,使用者可以產生報告資訊發往發行伺服器進行“登記”。“告訴”發行伺服器,“自己”可以對該路視頻流的哪些“子流”進行轉寄。
(4)串連丟失處理
如果使用者的某路串連丟失(可能是由於網路故障,或是作為該路流下載伺服器的Peer關機或離開),則接收者向發行伺服器(或本機使用者)發出該路子流的下載請求,以尋找新的下載伺服器(Peer)。與此同時,該使用者仍然可以根據其他可接收到的子流正常收看視頻節目。
4 實驗模型介紹
初步的模擬實驗在實驗室內通過路由器串連兩個區域網路構成的小型網路環境下進行。類比實驗共使用15台PC機。PC均為PⅢ
800,記憶體128MB以上配置,並配備100MB快速乙太網路卡。其中一台PC作為種子視頻伺服器和內容發行伺服器,其他分布在兩個區域網路內的主機作為客
戶機。播出的視頻流以H.263標準編碼模型為基礎,對CIF格式原始視頻流進行空間亞抽樣分成4路QCIF格式的子流。對這4路流單獨進行編碼,形成4
路單獨的描述子流,然後進行RTP打包發送給使用者。用戶端的接入、peer搜尋、視頻資料的接收和轉寄演算法按照上一章介紹的演算法實現。同時在用戶端轉寄數
據時通過隨機丟包和延時傳送方式,類比網路的丟包和傳輸延時。模擬實驗採用主觀評價方式。實驗表明,在實驗室環境下建立的基於MDC編碼的P2P視頻流發
布系統模型可以進行較理想的視頻發布和接收。使用者可以收看到清晰流暢的視頻映像,同時對網路丟包和串連丟失有一定容錯性。
5 總 結
本文提出的方案能更好地發揮P2P方式下多使用者協作特性,充分利用網路頻寬進行視頻流發送。同時由於編碼採用MDC方式,該方案
能更好地適應網路頻寬變化,同時對網路傳輸的丟包和延時有較好的適應性和容錯性。當然該方案還處於一個較為簡單的模型階段,今後還將從以下幾個方面進行研
究:(1)進一步完善P2P播出演算法。(2)找到效率更高的MDC編碼演算法。(3)完善系統實現,在更大範圍的真實環境中對系統進行測試。
參考文獻
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 趙誼虹,餘松煜,程國華.多描述編碼的研究現狀及其展望. 通訊學報,2005;(1)
3 謝勇均.P2P模式的流媒體服務技術.現代電視技術,2004;(7)
http://wenku.baidu.com/view/c1a59380d4d8d15abe234ea2.html
http://www.doc88.com/p-91667718706.html
http://www.docin.com/p-34501902.html
http://www.kinghav.com/cpinfo.asp?id=84
http://www.mscto.com/SoftEngin/SOA/2009022146488.html
http://www.dzsc.com/data/html/2008-1-29/60310.html