劉曉輝,金志剛,衛(wèi)津津,趙西滿
天津大學(xué) 電子信息工程學(xué)院,天津 300072
立體視頻利用人類(lèi)雙目視差原理,使人眼獲得同一場(chǎng)景具有輕微視角差異的兩個(gè)視圖,從而在大腦中形成立體感。多視點(diǎn)立體視頻支持裸眼觀看,具有獨(dú)特的表現(xiàn)力和強(qiáng)大的震撼力,必將成為互聯(lián)網(wǎng)新的應(yīng)用和業(yè)務(wù)增長(zhǎng)點(diǎn)。但是多視點(diǎn)立體視頻具有很高的碼流速率,同時(shí)立體視頻對(duì)數(shù)據(jù)丟失特別敏感,需要高效、高質(zhì)量的網(wǎng)絡(luò)傳輸。
P2P(Peer-to-Peer)網(wǎng)絡(luò)模式在流媒體傳輸上獲得了巨大成功,其非中心化和負(fù)載均衡等特點(diǎn)同樣適用于多視點(diǎn)立體視頻的傳輸。
P2P的非中心化特點(diǎn)要求每個(gè)對(duì)等體在獲取數(shù)據(jù)的同時(shí)也作為數(shù)據(jù)提供者,因此對(duì)等體之間的數(shù)據(jù)塊調(diào)度對(duì)視頻的傳輸和播放質(zhì)量至關(guān)重要[1]。為了提高傳輸效率,研究人員針對(duì)不同的影響因素提出許多有效的P2P數(shù)據(jù)塊調(diào)度算法[2-6]。文獻(xiàn)[2]提出隨機(jī)獲取算法(RAND);文獻(xiàn)[3]提出數(shù)據(jù)驅(qū)動(dòng)的概念,并提出采用局部最少優(yōu)先算法(Local Rarest First,LRF)改善性能;文獻(xiàn)[4]通過(guò)分析貪婪策略和最少優(yōu)先策略提出一種混合調(diào)度策略(Mixed Rarest First and Greedy,Mixed-RF-G)。該策略將節(jié)點(diǎn)緩沖區(qū)分成兩部分,第一部分用最少優(yōu)先策略調(diào)度數(shù)據(jù)塊,剩下的用貪婪策略,以此來(lái)平衡數(shù)據(jù)的稀有性和緊急性。
上述P2P數(shù)據(jù)調(diào)度算法可以改善節(jié)點(diǎn)吞吐量、帶寬利用率和啟動(dòng)速度等方面發(fā)揮作用。但分析表明:P2P節(jié)點(diǎn)吞吐量的最大化并不能保證視頻的播放質(zhì)量,因?yàn)橐恍╆P(guān)鍵數(shù)據(jù)塊的丟失會(huì)造成視頻的嚴(yán)重失真[7]。尤其是多視點(diǎn)立體視頻,其編碼形式復(fù)雜、同時(shí)包含運(yùn)動(dòng)和深度信息、對(duì)數(shù)據(jù)丟失敏感度高,因此關(guān)鍵數(shù)據(jù)塊的缺失對(duì)多視點(diǎn)立體視頻的影響更大。文獻(xiàn)[8-10]從率失真的角度提出重要性?xún)?yōu)先(Importance First,IF)的傳輸模型,這種方法對(duì)多視點(diǎn)立體視頻的P2P傳輸具有指導(dǎo)意義。但是,采用重要性?xún)?yōu)先模型進(jìn)行數(shù)據(jù)調(diào)度往往會(huì)導(dǎo)致P2P網(wǎng)絡(luò)陷入內(nèi)容瓶頸問(wèn)題[11]。本文首先分析多視點(diǎn)立體視頻的編碼特點(diǎn),然后結(jié)合節(jié)點(diǎn)數(shù)據(jù)的重要性、稀有性以及緊急程度提出面向多視點(diǎn)立體視頻的P2P數(shù)據(jù)塊調(diào)度方案。
為了提高立體視頻播放質(zhì)量和傳輸效率,P2P傳輸調(diào)度算法需要緊密結(jié)合立體視頻的編碼結(jié)構(gòu)。因此,本章首先介紹多視點(diǎn)立體視頻的編碼結(jié)構(gòu),然后對(duì)P2P視頻傳輸系統(tǒng)和其中的數(shù)據(jù)塊調(diào)度問(wèn)題進(jìn)行分析。
在單視點(diǎn)視頻編碼中,去除視頻序列時(shí)間冗余的有效方法是幀間預(yù)測(cè)[12]。對(duì)于多視點(diǎn)立體視頻而言,去除視點(diǎn)間冗余最直接的方式是在編碼當(dāng)前視點(diǎn)圖像時(shí)使用其他視點(diǎn)中的圖像作為參考圖像進(jìn)行位移估值和幀間預(yù)測(cè),這種方法稱(chēng)為視點(diǎn)間預(yù)測(cè)[13]。
多視點(diǎn)視頻編碼(MVC)在H.264編碼的基礎(chǔ)上增加了視點(diǎn)間預(yù)測(cè),目前已經(jīng)成為H.264編碼標(biāo)準(zhǔn)的擴(kuò)展集之一。本文的立體視頻編碼方式就是采用MVC編碼,圖1是一個(gè)全視點(diǎn)圖片組(GOGOP)的MVC編碼結(jié)構(gòu)。水平坐標(biāo)軸為時(shí)間軸,垂直坐標(biāo)軸為視點(diǎn)軸,T0表示第0幀視頻,V0表示第0號(hào)視點(diǎn)。多視點(diǎn)立體視頻采用分層的B幀構(gòu)造可分級(jí)的預(yù)測(cè)結(jié)構(gòu),每幀字母下標(biāo)的數(shù)字表示級(jí)別,0級(jí)優(yōu)先級(jí)最高。V0的第0幀是I幀,V2,V4,V6,V7的第0幀采用視點(diǎn)間P幀預(yù)測(cè),V1,V3,V5的第0幀采用視點(diǎn)間的B幀預(yù)測(cè)。其余都是基于時(shí)域和視點(diǎn)間的B幀預(yù)測(cè)。顯而易見(jiàn),V0視點(diǎn)的I0最為重要,整個(gè)GOGOP中的所有幀圖像都對(duì)它有依賴(lài)關(guān)系,I0的數(shù)據(jù)丟失將影響整個(gè)GOGOP的圖像質(zhì)量。其次是P0幀,P0幀不僅是本視點(diǎn)的參考幀,同時(shí)影響對(duì)應(yīng)的B幀預(yù)測(cè)視點(diǎn)。多視點(diǎn)立體視頻中所有幀類(lèi)型的重要性順序?yàn)镮0>P0>B1>B2>B3>b4,在一個(gè)GOP中其數(shù)目分別為1,4,8,13,26,12。
圖1 八視點(diǎn)立體視頻MVC編碼結(jié)構(gòu)圖
P2P系統(tǒng)由流媒體服務(wù)器、Tracker服務(wù)器以及若干個(gè)節(jié)點(diǎn)組成(Peer)[14]。流媒體服務(wù)器將預(yù)先編碼好的視頻流分組打包,以直播的方式分發(fā)到P2P網(wǎng)絡(luò)中;Tracker服務(wù)器用于維護(hù)在線節(jié)點(diǎn)列表,并為請(qǐng)求節(jié)點(diǎn)提供具有媒體發(fā)布能力的鄰居節(jié)點(diǎn)列表;節(jié)點(diǎn)不僅是媒體內(nèi)容的下載者,而且將媒體內(nèi)容下載并轉(zhuǎn)發(fā)給其他請(qǐng)求節(jié)點(diǎn)。
當(dāng)一個(gè)節(jié)點(diǎn)加入P2P網(wǎng)絡(luò)系統(tǒng)中,它首先向Tracker服務(wù)器請(qǐng)求鄰居節(jié)點(diǎn)列表。獲得鄰居節(jié)點(diǎn)列表后,隨機(jī)選擇節(jié)點(diǎn)建立連接。每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)緩存圖(BufferMap,BM),用于說(shuō)明該節(jié)點(diǎn)的數(shù)據(jù)塊中哪些是已經(jīng)緩存并且可用的。在傳輸過(guò)程中,節(jié)點(diǎn)周期性地與其他的鄰居節(jié)點(diǎn)交換BM,從而得到更多的節(jié)點(diǎn)的緩存信息。當(dāng)節(jié)點(diǎn)收到對(duì)方的數(shù)據(jù)緩存圖BM后,就會(huì)采用一定的數(shù)據(jù)塊調(diào)度策略去請(qǐng)求感興趣的塊。媒體內(nèi)容被分成大小相同的塊,每個(gè)數(shù)據(jù)塊被指定一個(gè)編號(hào),用以表示其播放順序。節(jié)點(diǎn)緩存一定量的數(shù)據(jù)塊以后,就開(kāi)始進(jìn)行視頻播放。
為了維持視頻播放和流媒體數(shù)據(jù)塊請(qǐng)求動(dòng)作,每個(gè)節(jié)點(diǎn)維護(hù)兩個(gè)滑動(dòng)窗口:播放窗口和請(qǐng)求窗口。節(jié)點(diǎn)的播放窗口和請(qǐng)求窗口結(jié)構(gòu)如圖2所示。播放窗口中的是正在參與解碼和播放的數(shù)據(jù)塊,包括已經(jīng)緩存的數(shù)據(jù)塊和少量的丟失數(shù)據(jù)塊。播放窗口中的最后一個(gè)數(shù)據(jù)塊被稱(chēng)為截止期,晚于這個(gè)截止期到達(dá)的數(shù)據(jù)塊將會(huì)被認(rèn)為是數(shù)據(jù)丟失,并會(huì)對(duì)視頻的播放質(zhì)量產(chǎn)生影響。請(qǐng)求窗口為視頻播放緩存數(shù)據(jù),內(nèi)容包含已經(jīng)緩存的數(shù)據(jù)塊、向鄰居節(jié)點(diǎn)請(qǐng)求但尚未收到的數(shù)據(jù)塊、鄰居節(jié)點(diǎn)擁有但尚未請(qǐng)求的數(shù)據(jù)塊,以及鄰居節(jié)點(diǎn)沒(méi)有的數(shù)據(jù)塊。
圖2 節(jié)點(diǎn)的播放窗口和請(qǐng)求窗口
當(dāng)Peer節(jié)點(diǎn)開(kāi)始接收和播放數(shù)據(jù)時(shí),播放窗口和請(qǐng)求窗口同時(shí)向后滑動(dòng)。正常情況下,播放窗口的滑動(dòng)速率與視頻的正常的碼流速率相同。而請(qǐng)求窗口的滑動(dòng)速率只與Peer節(jié)點(diǎn)的數(shù)據(jù)接收速率有關(guān),當(dāng)數(shù)據(jù)塊的接收速率高于播放速率時(shí),播放窗口的截止期與請(qǐng)求窗口的距離會(huì)拉大。當(dāng)網(wǎng)絡(luò)出現(xiàn)阻塞或者P2P網(wǎng)絡(luò)出現(xiàn)傳輸瓶頸時(shí),請(qǐng)求窗口的滑動(dòng)速率會(huì)迅速降低或者停止,此時(shí)截止期與請(qǐng)求窗口的距離會(huì)越來(lái)越小,直至為0。當(dāng)截止期和請(qǐng)求窗口距離為0時(shí),播放窗口無(wú)法正常向后滑動(dòng),視頻播放也會(huì)出現(xiàn)卡頓或停止。
數(shù)據(jù)塊調(diào)度的主要目的包括兩點(diǎn):(1)保證P2P網(wǎng)絡(luò)的高效數(shù)據(jù)傳輸;(2)提高單個(gè)Peer的視頻接收和播放質(zhì)量。
在P2P網(wǎng)絡(luò)系統(tǒng)的角度上,為了提高數(shù)據(jù)的傳輸效率,就必須提高Peer之間的單位時(shí)間數(shù)據(jù)交換量。假設(shè)N個(gè)Peer節(jié)點(diǎn)之間進(jìn)行數(shù)據(jù)交互,而沒(méi)有外部新鮮數(shù)據(jù)進(jìn)入的情況下,它們會(huì)隨著因緩存數(shù)據(jù)的同步,傳輸效率會(huì)越來(lái)越低,最終陷入傳輸瓶頸。因此P2P網(wǎng)絡(luò)中數(shù)據(jù)塊內(nèi)容的多樣性和可用性對(duì)保證P2P系統(tǒng)的傳輸效率至關(guān)重要。
對(duì)于Peer節(jié)點(diǎn)而言,要保證數(shù)據(jù)接收和視頻播放質(zhì)量,必須滿足緊急數(shù)據(jù)塊的優(yōu)先性。Peer的緊急數(shù)據(jù)塊是指請(qǐng)求窗口中靠近播放窗口截止期但尚未接收到的數(shù)據(jù)塊,隨著這類(lèi)數(shù)據(jù)塊逐步接近播放窗口,其緊急程度越來(lái)越高。如果進(jìn)入播放窗口,仍未接收,將會(huì)影響視頻的播放質(zhì)量。
另一方面,由于本文面向的是多視點(diǎn)立體視頻的P2P傳輸,數(shù)據(jù)塊的丟失對(duì)立體視頻播放質(zhì)量影響更為復(fù)雜,關(guān)鍵數(shù)據(jù)塊的丟失會(huì)對(duì)視頻的正常播放產(chǎn)生更大的影響。例如:圖1中I0幀所在的數(shù)據(jù)塊具有最高的重要性,I0幀的數(shù)據(jù)塊丟失會(huì)影響整個(gè)GOGOP中其他所有視點(diǎn)、所有后續(xù)幀的解碼。因此,必須考慮數(shù)據(jù)塊在編碼中的重要程度。
因此,P2P網(wǎng)絡(luò)多視點(diǎn)立體視頻傳輸數(shù)據(jù)塊調(diào)度的主要考慮因素包括:
(1)數(shù)據(jù)塊在視頻編碼結(jié)構(gòu)中的重要程度。
(2)數(shù)據(jù)塊對(duì)視頻播放的緊急程度。
(3)新鮮數(shù)據(jù)和數(shù)據(jù)的局部稀缺性。
MVC采用分級(jí)的B幀預(yù)測(cè)結(jié)構(gòu),其中,B3幀和b4幀在預(yù)測(cè)結(jié)構(gòu)中數(shù)目較多,但它們重要性相對(duì)較低,其數(shù)據(jù)丟失對(duì)立體視頻質(zhì)量的影響相對(duì)較小。而I0P0B1B2幀的數(shù)目和比例雖然較低,但其數(shù)據(jù)丟失對(duì)立體視頻影響較大。有鑒于此,本文將兩類(lèi)分開(kāi)處理。
本文算法中將請(qǐng)求窗口內(nèi)的數(shù)據(jù)塊分為Priority_Chunks和Rand_Chunks兩個(gè)集合,Priority_Chunks主要包含I0P0B1B2四種幀類(lèi)型對(duì)應(yīng)的數(shù)據(jù)塊(也可稱(chēng)為I0P0B1B2集),這些數(shù)據(jù)塊需要優(yōu)先傳輸。而Rand_Chunks主要包含B3b4兩種幀類(lèi)型的數(shù)據(jù)塊(可稱(chēng)為B3b4集)。
確定數(shù)據(jù)塊的請(qǐng)求優(yōu)先級(jí),是提高傳輸效率和播放質(zhì)量的一種有效手段。本文引入重要性、緊急性和稀缺性三種影響因素,確立數(shù)據(jù)塊的請(qǐng)求優(yōu)先級(jí)。本文對(duì)每個(gè)數(shù)據(jù)塊c定義一個(gè)立體視頻經(jīng)驗(yàn)效用函數(shù) P(l,t,λ),P(l,t,λ)值越小,數(shù)據(jù)塊的優(yōu)先級(jí)越高。
為了提高傳輸效率,提高立體視頻質(zhì)量,本文提出一種聯(lián)合優(yōu)先級(jí)傳輸和隨機(jī)傳輸?shù)臄?shù)據(jù)塊調(diào)度方法PR-RAND。具體算法如下:
初始化傳輸以后,Peer節(jié)點(diǎn)i以時(shí)間T為間隔進(jìn)行如下操作:
(1)對(duì)請(qǐng)求窗口中的 N個(gè)數(shù)據(jù)塊計(jì)算其效用函數(shù)Pi(l,t,λ),1≤i≤N 。
(2)將待請(qǐng)求的數(shù)據(jù)塊分為兩個(gè)集合:Priority_Chunks和Rand_Chunks。
I0P0B1B2對(duì)應(yīng)的數(shù)據(jù)塊屬于Priority_Chunks;B3b4對(duì)應(yīng)的數(shù)據(jù)塊屬于Rand_Chunks。
(3)對(duì)于 Priority_Chunks中的數(shù)據(jù)塊,按照 P(l,t,λ)越小,優(yōu)先級(jí)越高的方式進(jìn)行請(qǐng)求。
(4)使用鄰居節(jié)點(diǎn)的傳輸率估計(jì)Peer節(jié)點(diǎn)i的可用數(shù)據(jù)帶寬:
其中,設(shè)節(jié)點(diǎn) Nij(j=1~Neighbors)是節(jié)點(diǎn)i的鄰居節(jié)點(diǎn);oj是節(jié)點(diǎn)Nij的上載帶寬;mj是節(jié)點(diǎn)Nij的鄰居總數(shù)。
若BWi大于多視點(diǎn)立體視頻的平均碼流速率,使用RAND[2]算法傳輸Rand_Chunks中的數(shù)據(jù)塊,否則,對(duì)Rand_Chunks集合中的數(shù)據(jù)塊不做請(qǐng)求。
注 Rand_Chunks中數(shù)據(jù)塊的效用函數(shù)P(l,t,λ)并未實(shí)際使用,在算法實(shí)現(xiàn)中可以省去此部分計(jì)算。
Priority_Chunks按照 P(l,t,λ)越小,優(yōu)先級(jí)越高的方式進(jìn)行傳輸;Rand_Chunks中的數(shù)據(jù)塊優(yōu)先級(jí)相對(duì)較低,對(duì)立體視頻質(zhì)量影響較小,采用RAND[2]算法進(jìn)行傳輸。RAND[2]算法是一種簡(jiǎn)單的數(shù)據(jù)塊請(qǐng)求方法,它是指peer節(jié)點(diǎn)根據(jù)維護(hù)的數(shù)據(jù)塊請(qǐng)求列表和鄰居節(jié)點(diǎn)的可用數(shù)據(jù)塊列表,隨機(jī)地挑選數(shù)據(jù)塊向鄰居節(jié)點(diǎn)發(fā)送請(qǐng)求獲取信息,而不考慮任何優(yōu)先級(jí)信息。其優(yōu)點(diǎn)在于算法簡(jiǎn)單,并能夠增加節(jié)點(diǎn)數(shù)據(jù)塊的多樣性。
使用PR-RAND方法,在保證立體視頻播放質(zhì)量的基礎(chǔ)上,可以充分利用空余網(wǎng)絡(luò)帶寬傳輸隨機(jī)數(shù)據(jù)塊,增加Peer節(jié)點(diǎn)之間數(shù)據(jù)塊的多樣性,能夠一定程度地避免P2P內(nèi)容瓶頸問(wèn)題。
流媒體塊調(diào)度算法和Peer鄰居節(jié)點(diǎn)選擇算法是影響視頻播放質(zhì)量和網(wǎng)絡(luò)傳輸效率的兩大關(guān)鍵因素,本文在固定Peer鄰居節(jié)點(diǎn)的情況下對(duì)本文所提出的PR-RAND算法做出評(píng)估,主要的性能評(píng)價(jià)指標(biāo)包括:
立體視頻回放質(zhì)量:立體視頻的回放質(zhì)量直接關(guān)系到用戶的體驗(yàn)效果,是判定數(shù)據(jù)塊調(diào)度效果的最直接的指標(biāo)。本文采用峰值信噪比(Peek Signal-to-Noise Ratio,PSNR)作為立體視頻傳輸失真的質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)。
數(shù)據(jù)到達(dá)率:立體視頻回放時(shí),節(jié)點(diǎn)實(shí)際獲得的有效立體視頻數(shù)據(jù)占應(yīng)獲得數(shù)據(jù)的比例。由于數(shù)據(jù)塊重要性的區(qū)別,數(shù)據(jù)到達(dá)率并不完全與視頻回放質(zhì)量成正比。
啟動(dòng)延遲:數(shù)據(jù)包從源節(jié)點(diǎn)發(fā)出直到在接收節(jié)點(diǎn)的緩沖區(qū)被回放的時(shí)間,具體指用戶決定觀看到實(shí)際播放的等待時(shí)間,是衡量用戶體驗(yàn)效果良好與否的關(guān)鍵。
網(wǎng)絡(luò)吞吐量:網(wǎng)絡(luò)吞吐量是指Peer節(jié)點(diǎn)平均每秒接收到的數(shù)據(jù)量,網(wǎng)絡(luò)吞吐量能夠直觀地反映P2P系統(tǒng)的網(wǎng)絡(luò)傳輸效率,因此也是衡量P2P數(shù)據(jù)塊調(diào)度策略有效性的重要指標(biāo)。
實(shí)驗(yàn)環(huán)境為:2.13 GHz 4核CPU(Intel Xeon E5606),內(nèi)存4 GB DDR3,操作系統(tǒng)為Suse linux 11。實(shí)驗(yàn)采用Transit-Stub拓?fù)渲械腉T-ITM模型建立網(wǎng)絡(luò)層的拓?fù)浣Y(jié)構(gòu),生成2 000個(gè)路由節(jié)點(diǎn);采用General Peer-to-Peer Simulator[15](General p2p simulator:www.cs.binghamton.Edu/~wyang/gps/)作為仿真工具,模擬對(duì)等體個(gè)數(shù)分別為1 000、3 000、5 000。具體的實(shí)驗(yàn)參數(shù)如表1所示。
表1 實(shí)驗(yàn)參數(shù)設(shè)置
除上述參數(shù)以外,算法中的優(yōu)先級(jí)效用函數(shù)P(l,t,λ)包含3個(gè)權(quán)重因子ω1,ω2,ω3,它們是一種比例關(guān)系。為了比較簡(jiǎn)單地獲取系統(tǒng)性能較好的權(quán)重因子,假設(shè)三種因子彼此獨(dú)立。首先通過(guò)分析節(jié)點(diǎn)吞吐量和啟動(dòng)延遲的變化,確定ω2,ω3之間比例關(guān)系。然后以ω2,ω3為基準(zhǔn),從0開(kāi)始增加ω1的比重,通過(guò)PSNR的變化判斷不同權(quán)重的作用效果。具體方法如下:設(shè)ω3=1,在不考慮ω1的情況下(即ω1=0),調(diào)節(jié)ω2的數(shù)值。由圖3可知,ω2在0.5附近時(shí),節(jié)點(diǎn)的吞吐量較高,同時(shí)啟動(dòng)延遲較低。進(jìn)一步引入重要性因子ω1,設(shè)ω2=0.5,ω3=1,,通過(guò)增加ω1的權(quán)重進(jìn)行比較實(shí)驗(yàn),立體視頻的平均PSNR隨著權(quán)重因子ω1增大先增加后減少,在取值為2.5附近出現(xiàn)峰值。因此,本文在以下實(shí)驗(yàn)中,將權(quán)重因子等比變換為整數(shù),分別設(shè)置為ω1=5,ω2=1,ω3=2。
圖3 ω3=1時(shí),不同ω2對(duì)節(jié)點(diǎn)吞吐量和啟動(dòng)延遲的影響
實(shí)驗(yàn)內(nèi)容包括:平均PSNR;啟動(dòng)延遲;平均數(shù)據(jù)到達(dá)率;節(jié)點(diǎn)平均吞吐量。由于節(jié)點(diǎn)數(shù)量龐大,實(shí)驗(yàn)數(shù)據(jù)的獲得方式是通過(guò)隨機(jī)抽樣的方式,將所有Peer節(jié)點(diǎn)分為5組,每組抽取10個(gè)節(jié)點(diǎn),由5組總計(jì)50個(gè)節(jié)點(diǎn)數(shù)據(jù)獲取平均值作為整體的實(shí)驗(yàn)結(jié)果。為了分析和評(píng)價(jià)所提出的PR-RAND方法的有效性,本文使用三種典型的調(diào)度算法PR-RAND方法與 LRF[3]、Mixed-RF-G[4]、IF-IBP[6]進(jìn)行比較。
(1)平均PSNR:如圖4所示,1 000個(gè)Peer節(jié)點(diǎn)的仿真實(shí)驗(yàn)中,不同算法立體視頻播放的平均PSNR。由實(shí)驗(yàn)結(jié)果可以看出,采用本文提出的PR-RAND方法,立體視頻的平均PSNR高于其他3種方法。LRF和Mixed-RF-G方法不考慮數(shù)據(jù)塊的重要性,因此視頻回放時(shí)不能保證關(guān)鍵數(shù)據(jù)的完整性,造成立體視頻平均PSNR偏低。IF-IBP以重要性為優(yōu)先的原則傳輸立體視頻數(shù)據(jù)塊,但是在200~250 s內(nèi)出現(xiàn)了明顯的內(nèi)容傳輸瓶頸,由于大量缺失數(shù)據(jù),造成視頻質(zhì)量的下降。
圖4 不同算法產(chǎn)生的視頻PSNR
(2)啟動(dòng)延遲:本文設(shè)計(jì)的立體視頻播放窗口大小為20,因此,啟動(dòng)延遲是指接收到前20個(gè)數(shù)據(jù)塊的時(shí)間。從表2中可以看出,由于本文算法考慮了數(shù)據(jù)塊的緊急性,啟動(dòng)延遲低于LRF和IF-IBP,比Mixed-RF-G算法略高。同時(shí),受節(jié)點(diǎn)傳播時(shí)延影響,四者的啟動(dòng)延時(shí)隨著節(jié)點(diǎn)規(guī)模增大略有增加。
表2 啟動(dòng)延遲 s
(3)節(jié)點(diǎn)平均吞吐量和數(shù)據(jù)到達(dá)率:節(jié)點(diǎn)的平均吞吐量和平均數(shù)據(jù)到達(dá)率如圖5所示。從圖5(a)可以看出,LRF方法具有最高的節(jié)點(diǎn)平均吞吐量,其次是PR-RAND和Mixed-RF-G,IF-IBP的吞吐量最低。平均數(shù)據(jù)到達(dá)率如圖5(b)所示,由于考慮了數(shù)據(jù)塊的緊急性,并采用聯(lián)合優(yōu)先級(jí)和隨機(jī)傳輸方法,本文提出的PR-RAND方法的數(shù)據(jù)到達(dá)率高于其他三種方法。
圖5 算法的平均節(jié)點(diǎn)吞吐量和數(shù)據(jù)到達(dá)率對(duì)比
面向多視點(diǎn)立體視頻P2P網(wǎng)絡(luò)傳輸,本文綜合考慮了數(shù)據(jù)塊在視頻編碼中的重要性、播放的緊急程度以及網(wǎng)絡(luò)內(nèi)容的稀有性,提出了一種聯(lián)合優(yōu)先級(jí)和隨機(jī)傳輸?shù)臄?shù)據(jù)塊調(diào)度方案。通過(guò)仿真實(shí)驗(yàn),證明了本文提出的PR-RAND方法能夠提供更優(yōu)越的立體視頻質(zhì)量和較小的啟動(dòng)延遲,同時(shí)克服了IF方法的缺點(diǎn),能夠避免內(nèi)容傳輸瓶頸問(wèn)題,保證較高的網(wǎng)絡(luò)吞吐率。
本文僅僅研究立體視頻P2P數(shù)據(jù)塊請(qǐng)求的調(diào)度問(wèn)題,與P2P Tracker服務(wù)器節(jié)點(diǎn)調(diào)度相結(jié)合,建立一套完整高效的立體視頻P2P傳輸系統(tǒng)是下一步的工作方向。
[1]Zhang M,Xiong Y Q,Zhang Q,et al.On the optimal scheduling for media streaming in data-driven overlay networks[C]//Proc of IEEE GLOBECOM,2006.
[2]Pai V,Kumar K.Chainsaw:eliminating trees from overlay multicast[C]//Proc of IEEE INFOCOM,2005.
[3]Zhang X,Liu J,Li B,et al.CoolStreaming/DONet:a data-driven overlay network for efficient media streaming[C]//Proc of IEEE INFOCOM,2005:2102-2111.
[4]Zhou Y,Chiu D M,Lui J C.A simple model for analyzing P2P streaming protocols[C]//Proc of IEEE ICNP,2007.
[5]任浩,王勁林,尤佳莉.一種分階段的P2P流媒體數(shù)據(jù)調(diào)度算法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(23):1-4.
[6]徐家燕,陸建德,武廣柱.rlncBT:隨機(jī)線性網(wǎng)絡(luò)編碼的P2P內(nèi)容分發(fā)系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(12):110-113.
[7]Chakareski J,Apostolopoulos J,Wee S,et al.Rate-distortion hint tracks for adaptive video streaming[J].IEEE Transactions on Circuits and Systems for Video Technology,2005,15(10):1257-1269.
[8]Chou P A,Miao Z.Rate-distortion optimized streaming of packetized media[J].IEEE Transactions on Multimedia,2006,8(2):390-404.
[9]Miao Z,Ortega A.Expected run-time distortion based scheduling for delivery of scalable media[C]//Proc of Int Packet Video Workshop,2002:829-832.
[10]Chakareski J,Apostolopoulos J.Rate-distortion optimized distributed schediling of multiple video streams over shared communication resources[J].IEEE Transactions on Multimedia,2006,8(2):207-218.
[11]Chang C Y,Chou C F,Chen M H.Striking the balance between content diversity and content importance in swarm-based P2P streaming system[C]//Proc of IEEE HPCC,2002:653-660.
[12]歐陽(yáng)合.H.264和MPEG-4視頻壓縮[M].北京:國(guó)防科技大學(xué)出版社,2004.
[13]MPEG video subgroup.Introduction to multi-view video coding[C]//83rd MPEG Meeting,2008.
[14]謝勇均.P2P視頻直播傳輸系統(tǒng)的研究與實(shí)現(xiàn)[D].北京:中國(guó)科學(xué)院計(jì)算技術(shù)研究所,2006.
[15]Yang W,Abu-Ghazaleh N.GPS:a general peer-to-peer simulator and its use for modeling BitTorrent[J].Mascots,2005:425-434.