基于無(wú)線多跳網(wǎng)絡(luò)的混合路由視頻傳輸
1 引言:
本文引用地址:http://butianyuan.cn/article/156930.htm無(wú)線多跳網(wǎng)絡(luò)是無(wú)線自組網(wǎng)、無(wú)線網(wǎng)狀網(wǎng)、無(wú)線傳感器網(wǎng)絡(luò)的總稱(chēng)。基于無(wú)線多跳網(wǎng)絡(luò)上的視頻傳輸已得到了廣泛關(guān)注和研究,但所依賴(lài)的底層路由協(xié)議基本上是傳統(tǒng)路由協(xié)議(如AODV,DSDV 等)。近年來(lái)底層的路由協(xié)議有了新發(fā)展,文獻(xiàn)[2]首次提出一種性能更好、被稱(chēng)作機(jī)會(huì)路由的協(xié)議ExOR(Extremely OpportuniSTic Routing)。
傳統(tǒng)的無(wú)線多跳網(wǎng)絡(luò)路由協(xié)議基本思路沒(méi)有脫離有線網(wǎng)絡(luò),將節(jié)點(diǎn)之間人為地規(guī)定是否存在鏈路,并根據(jù)某種路由度量準(zhǔn)則,選擇最好的路由。而機(jī)會(huì)路由協(xié)議認(rèn)為無(wú)線電波的本質(zhì)是廣播的,利用廣播性質(zhì)所帶來(lái)的增益,通過(guò)節(jié)點(diǎn)間的協(xié)作,獲得了高于傳統(tǒng)路由的帶寬。因此,從直觀上, 利用機(jī)會(huì)路由作為支持視頻傳輸的底層路由協(xié)議會(huì)取得比傳統(tǒng)路由協(xié)議更好的性能, 但是機(jī)會(huì)路由為了獲得這種增益而采取的調(diào)度機(jī)制在傳輸實(shí)時(shí)視頻時(shí)會(huì)產(chǎn)生丟失部分I 幀的嚴(yán)重問(wèn)題, 使得視頻傳輸?shù)姆€(wěn)定性受到嚴(yán)重影響。
針對(duì)此問(wèn)題, 筆者提出一種綜合利用傳統(tǒng)路由和機(jī)會(huì)路由進(jìn)行實(shí)時(shí)視頻傳輸?shù)目鐚釉O(shè)計(jì)方法。
2 機(jī)會(huì)路由簡(jiǎn)介:
傳統(tǒng)的無(wú)線多跳網(wǎng)絡(luò)的路由協(xié)議和有線網(wǎng)絡(luò)中的路由協(xié)議十分相似, 即在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間尋找1 組點(diǎn)形成1 條最優(yōu)的路由,然后各節(jié)點(diǎn)依次轉(zhuǎn)發(fā)數(shù)據(jù)。路由上各個(gè)節(jié)點(diǎn)之間被人為地認(rèn)為有1 條鏈路存在, 因此并未有效利用無(wú)線電波的廣播特性。
圖1 機(jī)會(huì)路由原理演示圖
如圖1,假設(shè)源節(jié)點(diǎn)到4 個(gè)中間節(jié)點(diǎn)n1,n2,n3,n4 的鏈路質(zhì)量較差, 且都是數(shù)據(jù)包發(fā)送1 次只有25%的概率可以收到, 節(jié)點(diǎn)n1,n2,n3,n4 到目的節(jié)點(diǎn)的鏈路質(zhì)量很好,且都是數(shù)據(jù)包發(fā)送1 次100%的概率可以收到。那么,按照傳統(tǒng)的路由機(jī)制, 會(huì)從4 個(gè)中間節(jié)點(diǎn)選擇1 個(gè)最優(yōu)的作為中繼節(jié)點(diǎn),由于4 個(gè)中間節(jié)點(diǎn)鏈路狀況一樣,則會(huì)隨機(jī)選1 個(gè)節(jié)點(diǎn)作為路由轉(zhuǎn)發(fā)節(jié)點(diǎn),比如n2。這樣,數(shù)據(jù)包會(huì)沿著源節(jié)點(diǎn)、n2、目的節(jié)點(diǎn)這條路由進(jìn)行轉(zhuǎn)發(fā),那么1個(gè)數(shù)據(jù)包通過(guò)這條路由平均傳送次數(shù)期望ETX(ExpectedTransmissiON Count)為1/0.25+1=5。而由于無(wú)線電波的廣播特性, 源節(jié)點(diǎn)向n2 發(fā)送數(shù)據(jù)時(shí),n1,n3,n4 也會(huì)收到一部分包。有些數(shù)據(jù)包n2 沒(méi)有收到,但n1 可能恰好收到。有些數(shù)據(jù)包n1,n2 都沒(méi)有收到,但n3 可能收到了??梢圆槐卮_定哪個(gè)節(jié)點(diǎn)是中繼節(jié)點(diǎn), 只要目的節(jié)點(diǎn)有數(shù)據(jù)包沒(méi)有收到,那么任何1 個(gè)中繼節(jié)點(diǎn)只要有這個(gè)包,都可以傳給目的節(jié)點(diǎn)。假設(shè)n1,n2,n3,n4 收到包的概率相互獨(dú)立, 經(jīng)過(guò)計(jì)算1 個(gè)數(shù)據(jù)包的平均傳送次數(shù)期望為1/(1-(1-0.25)4)+1≈2.5。這里,充分利用無(wú)線電波的廣播特性可以獲得1 倍的增益。隨著網(wǎng)絡(luò)拓?fù)涞牟煌珽xOR 所獲得的增益也不同,文獻(xiàn)[2]實(shí)驗(yàn)結(jié)果表明ExOR 端到端的平均吞吐量是傳統(tǒng)路由協(xié)議(AODV)的3 倍。
雖然ExOR 帶寬利用效率和端到端吞吐量?jī)?yōu)勢(shì)明顯,但也存在不足之處,尤其在支持實(shí)時(shí)視頻傳輸時(shí)顯得更加明顯,主要體現(xiàn)在以下3 點(diǎn):
1) ExOR 路由算法內(nèi)在地利用了無(wú)線通信的隨機(jī)性,因此其傳輸調(diào)度算法對(duì)每個(gè)數(shù)據(jù)包都是公平的,而視頻傳輸?shù)奶攸c(diǎn)就是不同數(shù)據(jù)包重要性不同, 因此兩者存在一定的矛盾。
2) ExOR 成批發(fā)送,會(huì)造成一定程度的延遲。
3) ExOR 沒(méi)有鏈路級(jí)的差錯(cuò)重傳機(jī)制,最后幾個(gè)數(shù)據(jù)包所需傳輸時(shí)間較長(zhǎng),在實(shí)時(shí)視頻傳輸中,會(huì)導(dǎo)致部分關(guān)鍵幀數(shù)據(jù)包的丟失。
3 混合路由視頻傳輸:
對(duì)于某些實(shí)時(shí)視頻傳輸, 例如視頻轉(zhuǎn)播, 有如下特點(diǎn):對(duì)實(shí)時(shí)性要求較高,系統(tǒng)可以允許一定的延時(shí),但希望視頻盡量是連續(xù)的,抖動(dòng)較小,同時(shí)在保證傳輸?shù)那闆r下視頻質(zhì)量盡量高。由于機(jī)會(huì)路由在端到端吞吐量上與傳統(tǒng)路由相比, 有著明顯的優(yōu)勢(shì), 因此, 可以期望利用ExOR 進(jìn)行實(shí)時(shí)視頻傳輸取得比傳統(tǒng)路由更優(yōu)的性能。
在設(shè)計(jì)具體方案時(shí),以下幾點(diǎn)是必須予以考慮:
1) 由于ExOR 需要將數(shù)據(jù)包成批發(fā)送,因此視頻的延遲將直接和數(shù)據(jù)包數(shù)量的多少相關(guān)。每批次的數(shù)據(jù)包越多,延遲越大;數(shù)據(jù)包越少,延遲越小。
2) ExOR 的性能和每批包的數(shù)量相關(guān),文獻(xiàn)[3]研究結(jié)果表明,每批包的數(shù)量越多,ExOR 的平均端到端吞吐量越高,但數(shù)量高于20 個(gè)后,數(shù)量增加對(duì)端到端吞吐量提升效果不明顯。
3) 視頻的參數(shù)選擇需要考慮到I 幀的數(shù)量,如果I幀過(guò)多,會(huì)影響壓縮效率,如果I 幀過(guò)少,會(huì)影響視頻解碼質(zhì)量。
4) 視頻播放時(shí),I 幀的丟失是不可容忍的,因此要盡量保證播放時(shí)I 幀的數(shù)據(jù)已收到。
綜合以上幾點(diǎn),選擇1 個(gè)合適的編碼參數(shù),若每T s1 個(gè)I 幀,則將每T s 的數(shù)據(jù)作為一個(gè)批次發(fā)送。若傳輸延遲為t s,則初始延遲為(T+t) s。此后為保證視頻播放的實(shí)時(shí)性和流暢性,無(wú)論每批次在T s 內(nèi)是否傳送完畢,都應(yīng)停止當(dāng)前批次的發(fā)送,及時(shí)啟動(dòng)下一批次的發(fā)送。在每批次中,視頻幀的打包應(yīng)遵循IETF 相關(guān)標(biāo)準(zhǔn)[4]規(guī)定。即每一個(gè)數(shù)據(jù)包的長(zhǎng)度應(yīng)滿(mǎn)足不超過(guò)MTU (Maximum TransmissionUnit,最大傳輸單元,一般為1 500 byte)的條件,每個(gè)P 幀單獨(dú)組成1 個(gè)數(shù)據(jù)包,I 幀在每個(gè)限制長(zhǎng)度內(nèi)組成1 個(gè)包, 不足的部分單獨(dú)組成1 個(gè)包。如果只利用ExOR 傳輸數(shù)據(jù),由于無(wú)線多跳網(wǎng)絡(luò)本身的隨機(jī)性和不穩(wěn)定性以及ExOR 最后幾個(gè)包的傳輸延遲較大, 并不一定能保證每T s 的數(shù)據(jù)都能在T s 內(nèi)傳輸完畢。這樣就會(huì)造成某些批次最后幾個(gè)數(shù)據(jù)包的丟失。而ExOR 調(diào)度機(jī)制本身決定了這最后幾個(gè)數(shù)據(jù)包是隨機(jī)的, 如果丟掉的恰好是I 幀的數(shù)據(jù)包,造成I 幀的丟失,就會(huì)導(dǎo)致這T s 的視頻無(wú)法播放, 從而造成視頻觀看的不連續(xù)性和主觀收看質(zhì)量的下降。因此,不能簡(jiǎn)單地將ExOR 直接用于視頻傳輸,必須根據(jù)視頻傳輸?shù)奶厥庑宰鱿鄳?yīng)地調(diào)整。
視頻傳輸與一般數(shù)據(jù)傳輸所不同, 其特殊性之一就在于視頻傳輸中數(shù)據(jù)包的重要性是不同的[5]。關(guān)鍵幀I 幀是重要的,一般要盡量保證I 幀傳輸?shù)目煽啃?。因?yàn)? 個(gè)I 幀將影響并決定其后數(shù)個(gè)P 幀的解碼,1 個(gè)I 幀的丟失將導(dǎo)致2 個(gè)I 幀之間的視頻無(wú)法播放或視頻質(zhì)量急劇下降。而P 幀是非關(guān)鍵幀,丟失個(gè)別P 幀對(duì)視頻質(zhì)量影響不大,一般來(lái)說(shuō),P 幀只是盡量傳輸,并不進(jìn)行差錯(cuò)重傳。因此,必須根據(jù)數(shù)據(jù)包重要性的不同進(jìn)行相應(yīng)處理。對(duì)于I幀,應(yīng)保證無(wú)差錯(cuò)地傳輸,而對(duì)于P 幀,盡力保證一定時(shí)間內(nèi)盡量多的傳送。同時(shí),傳統(tǒng)路由雖然傳輸速率不如機(jī)會(huì)路由, 但是傳統(tǒng)路由網(wǎng)絡(luò)結(jié)構(gòu)清晰, 并且無(wú)須成批發(fā)送,配合差錯(cuò)重傳會(huì)使得某些特定數(shù)據(jù)傳輸更有保障。所以,對(duì)于實(shí)時(shí)視頻傳輸,可以利用傳統(tǒng)路由對(duì)I 幀的數(shù)據(jù)包進(jìn)行差錯(cuò)重傳, 而對(duì)P 幀的數(shù)據(jù)包用機(jī)會(huì)路由進(jìn)行盡力傳輸。這樣,就同時(shí)利用了2 種路由的優(yōu)點(diǎn)根據(jù)不同數(shù)據(jù)包的性質(zhì)選擇相應(yīng)合適的路由協(xié)議進(jìn)行傳輸, 并且解決了I 幀丟失的問(wèn)題。
評(píng)論