1 引言:
無線多跳網絡是無線自組網、無線網狀網、無線傳感器網絡的總稱?;跓o線多跳網絡上的視頻傳輸已得到了廣泛關注和研究,但所依賴的底層路由協議基本上是傳統路由協議(如AODV,DSDV 等)。近年來底層的路由協議有了新發展,文獻[2]首次提出一種性能更好、被稱作機會路由的協議ExOR(Extremely OpportuniSTic Routing)。
傳統的無線多跳網絡路由協議基本思路沒有脫離有線網絡,將節點之間人為地規定是否存在鏈路,并根據某種路由度量準則,選擇最好的路由。而機會路由協議認為無線電波的本質是廣播的,利用廣播性質所帶來的增益,通過節點間的協作,獲得了高于傳統路由的帶寬。因此,從直觀上, 利用機會路由作為支持視頻傳輸的底層路由協議會取得比傳統路由協議更好的性能, 但是機會路由為了獲得這種增益而采取的調度機制在傳輸實時視頻時會產生丟失部分I 幀的嚴重問題, 使得視頻傳輸的穩定性受到嚴重影響。
針對此問題, 筆者提出一種綜合利用傳統路由和機會路由進行實時視頻傳輸的跨層設計方法。
2 機會路由簡介:
傳統的無線多跳網絡的路由協議和有線網絡中的路由協議十分相似, 即在源節點和目的節點之間尋找1 組點形成1 條最優的路由,然后各節點依次轉發數據。路由上各個節點之間被人為地認為有1 條鏈路存在, 因此并未有效利用無線電波的廣播特性。
圖1 機會路由原理演示圖
如圖1,假設源節點到4 個中間節點n1,n2,n3,n4 的鏈路質量較差, 且都是數據包發送1 次只有25%的概率可以收到, 節點n1,n2,n3,n4 到目的節點的鏈路質量很好,且都是數據包發送1 次100%的概率可以收到。那么,按照傳統的路由機制, 會從4 個中間節點選擇1 個最優的作為中繼節點,由于4 個中間節點鏈路狀況一樣,則會隨機選1 個節點作為路由轉發節點,比如n2。這樣,數據包會沿著源節點、n2、目的節點這條路由進行轉發,那么1個數據包通過這條路由平均傳送次數期望ETX(ExpectedTransmissiON Count)為1/0.25+1=5。而由于無線電波的廣播特性, 源節點向n2 發送數據時,n1,n3,n4 也會收到一部分包。有些數據包n2 沒有收到,但n1 可能恰好收到。有些數據包n1,n2 都沒有收到,但n3 可能收到了。可以不必確定哪個節點是中繼節點, 只要目的節點有數據包沒有收到,那么任何1 個中繼節點只要有這個包,都可以傳給目的節點。假設n1,n2,n3,n4 收到包的概率相互獨立, 經過計算1 個數據包的平均傳送次數期望為1/(1-(1-0.25)4)+1≈2.5。這里,充分利用無線電波的廣播特性可以獲得1 倍的增益。隨著網絡拓撲的不同,ExOR 所獲得的增益也不同,文獻[2]實驗結果表明ExOR 端到端的平均吞吐量是傳統路由協議(AODV)的3 倍。
雖然ExOR 帶寬利用效率和端到端吞吐量優勢明顯,但也存在不足之處,尤其在支持實時視頻傳輸時顯得更加明顯,主要體現在以下3 點:
1) ExOR 路由算法內在地利用了無線通信的隨機性,因此其傳輸調度算法對每個數據包都是公平的,而視頻傳輸的特點就是不同數據包重要性不同, 因此兩者存在一定的矛盾。
2) ExOR 成批發送,會造成一定程度的延遲。
3) ExOR 沒有鏈路級的差錯重傳機制,最后幾個數據包所需傳輸時間較長,在實時視頻傳輸中,會導致部分關鍵幀數據包的丟失。
3 混合路由視頻傳輸:
對于某些實時視頻傳輸, 例如視頻轉播, 有如下特點:對實時性要求較高,系統可以允許一定的延時,但希望視頻盡量是連續的,抖動較小,同時在保證傳輸的情況下視頻質量盡量高。由于機會路由在端到端吞吐量上與傳統路由相比, 有著明顯的優勢, 因此, 可以期望利用ExOR 進行實時視頻傳輸取得比傳統路由更優的性能。
在設計具體方案時,以下幾點是必須予以考慮:
1) 由于ExOR 需要將數據包成批發送,因此視頻的延遲將直接和數據包數量的多少相關。每批次的數據包越多,延遲越大;數據包越少,延遲越小。
2) ExOR 的性能和每批包的數量相關,文獻[3]研究結果表明,每批包的數量越多,ExOR 的平均端到端吞吐量越高,但數量高于20 個后,數量增加對端到端吞吐量提升效果不明顯。
3) 視頻的參數選擇需要考慮到I 幀的數量,如果I幀過多,會影響壓縮效率,如果I 幀過少,會影響視頻解碼質量。
4) 視頻播放時,I 幀的丟失是不可容忍的,因此要盡量保證播放時I 幀的數據已收到。
綜合以上幾點,選擇1 個合適的編碼參數,若每T s1 個I 幀,則將每T s 的數據作為一個批次發送。若傳輸延遲為t s,則初始延遲為(T+t) s。此后為保證視頻播放的實時性和流暢性,無論每批次在T s 內是否傳送完畢,都應停止當前批次的發送,及時啟動下一批次的發送。在每批次中,視頻幀的打包應遵循IETF 相關標準[4]規定。即每一個數據包的長度應滿足不超過MTU (Maximum TransmissionUnit,最大傳輸單元,一般為1 500 byte)的條件,每個P 幀單獨組成1 個數據包,I 幀在每個限制長度內組成1 個包, 不足的部分單獨組成1 個包。如果只利用ExOR 傳輸數據,由于無線多跳網絡本身的隨機性和不穩定性以及ExOR 最后幾個包的傳輸延遲較大, 并不一定能保證每T s 的數據都能在T s 內傳輸完畢。這樣就會造成某些批次最后幾個數據包的丟失。而ExOR 調度機制本身決定了這最后幾個數據包是隨機的, 如果丟掉的恰好是I 幀的數據包,造成I 幀的丟失,就會導致這T s 的視頻無法播放, 從而造成視頻觀看的不連續性和主觀收看質量的下降。因此,不能簡單地將ExOR 直接用于視頻傳輸,必須根據視頻傳輸的特殊性做相應地調整。
視頻傳輸與一般數據傳輸所不同, 其特殊性之一就在于視頻傳輸中數據包的重要性是不同的[5]。關鍵幀I 幀是重要的,一般要盡量保證I 幀傳輸的可靠性。因為1 個I 幀將影響并決定其后數個P 幀的解碼,1 個I 幀的丟失將導致2 個I 幀之間的視頻無法播放或視頻質量急劇下降。而P 幀是非關鍵幀,丟失個別P 幀對視頻質量影響不大,一般來說,P 幀只是盡量傳輸,并不進行差錯重傳。因此,必須根據數據包重要性的不同進行相應處理。對于I幀,應保證無差錯地傳輸,而對于P 幀,盡力保證一定時間內盡量多的傳送。同時,傳統路由雖然傳輸速率不如機會路由, 但是傳統路由網絡結構清晰, 并且無須成批發送,配合差錯重傳會使得某些特定數據傳輸更有保障。所以,對于實時視頻傳輸,可以利用傳統路由對I 幀的數據包進行差錯重傳, 而對P 幀的數據包用機會路由進行盡力傳輸。這樣,就同時利用了2 種路由的優點根據不同數據包的性質選擇相應合適的路由協議進行傳輸, 并且解決了I 幀丟失的問題。
4 實驗結果分析:
為了對算法進行驗證, 在Windows 平臺下利用C/C++語言編寫了無線多跳網絡仿真程序,實 現了傳統路由(AODV)[6]、機會路由(ExOR)、混合路由3 種協議。無線網絡參數基于802.11 b,網絡拓撲如圖2 所示,A 為源節點,E 為目標節點。視頻采用MPEG-4 標準,每秒25 幀,其中有1 幀為I 幀,視頻碼率為220 Kbit/s。為了對3 種方法進行公平的比較,采用以下方法:1)傳統路由對I 幀進行差錯重傳。2)每1 s 的視頻作為一個批次發送,為了保證視頻的連續性,每1 s 時間到時,無論當前批次的數據包是否傳送完畢,都開始下個批次的傳送。3)用報文投遞率(PDR)來衡量效果,考慮到視頻數據的特殊性,規定若I幀沒有收到,由于其他P 幀無法解碼,則報文投遞率為0,即當前1 s 的數據丟失;若I 幀收到,報文投遞率為收到幀數/總幀數。
圖2 實驗仿真網絡拓撲圖(直線上的數字是鏈路分組傳遞率)
實驗結果如圖3 所示, 傳統路由雖然可以保障I 幀的傳送,但由于端到端吞吐量較差,因此總的報文投遞率較低,影響視頻收看質量。機會路由端到端吞吐量高,報文平均投遞率高,但由于內在的調度機制使得某些時間I幀丟失,導致視頻無法播放,影響了視頻播放的連續性。
圖3 3 種方式傳輸視頻結果比較
而混合路由的平均報文投遞率遠高于傳統路由, 與機會路由相差不多,但可以有效減少I 幀的丟失,保障了視頻播放的連續性。
5 小結:
無線多跳網絡中機會路由的端到端吞吐量遠高于傳統路由,但由于機會路由內在的調度機制,單獨利用機會路由傳輸視頻會產生I 幀丟失的問題, 并嚴重影響視頻傳輸質量。筆者提出了一種將I 幀和P 幀分別利用傳統路由和機會路由傳輸的方法, 獲得較高的報文投遞率并降低了I 幀的丟失率, 取得了比單獨利用傳統路由或機會路由更好的性能。
評論
查看更多