沈 航 白光偉,3 趙 露 唐振民
(1南京理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京210094)
(2南京大學(xué)計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,南京210093)
(3南京工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系,南京210009)
多跳無(wú)線網(wǎng)絡(luò)包括移動(dòng)自組網(wǎng)(MANETs)、無(wú)線傳感器網(wǎng)絡(luò)(WSNs)、無(wú)線網(wǎng)狀網(wǎng)(WMNs)等.目前,實(shí)時(shí)視頻通信是多跳無(wú)線網(wǎng)絡(luò)支持的主要業(yè)務(wù)之一.然而,在無(wú)線網(wǎng)絡(luò)環(huán)境下為實(shí)時(shí)多媒體應(yīng)用提供有效的QoS支持面臨諸多挑戰(zhàn).一方面,多跳無(wú)線網(wǎng)絡(luò)應(yīng)用環(huán)境的多變性、復(fù)雜性、移動(dòng)性與自組織等特征都會(huì)嚴(yán)重影響無(wú)線通信的質(zhì)量和效率[1-2];另一方面,實(shí)時(shí)視頻通信需要在較長(zhǎng)的時(shí)間內(nèi)傳送連續(xù)的視頻數(shù)據(jù),并在接收方實(shí)時(shí)播放,具有嚴(yán)格的端到端QoS需求[3-4].
現(xiàn)有的視頻通信性能優(yōu)化方法包括流控制[4-5]、區(qū)分服務(wù)[6-7]、分組調(diào)度[8-9]等.對(duì)于無(wú)線實(shí)時(shí)視頻通信而言,端到端時(shí)延是最關(guān)鍵的QoS指標(biāo).一個(gè)高效的視頻流控制協(xié)議應(yīng)能限制超時(shí)和失效數(shù)據(jù)的傳輸,同時(shí)保障關(guān)鍵視頻幀的成功傳輸.然而,無(wú)線通信設(shè)備之間存在的時(shí)鐘不同步問(wèn)題,導(dǎo)致通信協(xié)議無(wú)法準(zhǔn)確計(jì)算數(shù)據(jù)的延遲.大多數(shù)路由協(xié)議和MAC層協(xié)議不具備視頻感知功能,無(wú)法為關(guān)鍵幀提供保護(hù),從而降低了視頻播放質(zhì)量.此外,由于不通部分的視頻幀之間形成了很強(qiáng)的解碼依賴關(guān)系,網(wǎng)絡(luò)傳輸差錯(cuò)造成的部分?jǐn)?shù)據(jù)丟失或損壞會(huì)導(dǎo)致另外一些與之相關(guān)的視頻數(shù)據(jù)幀即便被正確接收也無(wú)法解碼;而現(xiàn)有的流媒體通信協(xié)議沒(méi)有考慮視頻數(shù)據(jù)之間的依賴關(guān)系,導(dǎo)致有效視頻吞吐量降低.
針對(duì)多跳無(wú)線網(wǎng)絡(luò)中典型協(xié)議支持實(shí)時(shí)流媒體應(yīng)用存在的問(wèn)題,本文提出了一種具有時(shí)間意識(shí)的視頻流控制協(xié)議(time-aware control protocol,TACP),以改善實(shí)時(shí)視頻通信性能.
本文采用實(shí)際的多描述編碼(multiple description coding,MDC)以及單描述編碼(single description coding,SDC)視頻片段作為數(shù)據(jù)源.相應(yīng)的視頻比特流可分為視頻序列(sequence)、圖像組(group of picture,GOP)、圖像(picture)等層次.圖像對(duì)應(yīng)于視頻幀,視頻中的GOP作為1個(gè)可以獨(dú)立解碼的單位,由1個(gè)I幀和若干個(gè)依賴于它的P幀組成.根據(jù)發(fā)送順序?yàn)橐曨l幀進(jìn)行編號(hào)(從1開(kāi)始).傳輸層為視頻流分配唯一的流ID,并將視頻幀分割為數(shù)據(jù)包進(jìn)行傳輸.根據(jù)編碼規(guī)則,GOP序列號(hào)和視頻幀類型可表示為
式中,G,F(xiàn),L分別為GOP序列號(hào)、視頻幀序列號(hào)和GOP長(zhǎng)度;T為視頻幀類型,I幀和P幀分別用1和2表示.本文采用的視頻片段GOP長(zhǎng)度為固定值.
視頻接收方通過(guò)設(shè)置緩存來(lái)減輕抖動(dòng)帶來(lái)的影響,用戶可根據(jù)實(shí)時(shí)性需要設(shè)置緩存時(shí)間.將視頻流的接收方緩存時(shí)間記為B,中間節(jié)點(diǎn)接收到數(shù)據(jù)包時(shí)的傳輸時(shí)延記為D.若D>B,則視為超時(shí).
首先,提出了基于跨層設(shè)計(jì)的協(xié)議框架;在此基礎(chǔ)上,對(duì)TACP的視頻同步機(jī)制和時(shí)延估計(jì)方法進(jìn)行描述;最后,研究并探討了一種基于GOP的路徑探測(cè)機(jī)制.
本文在網(wǎng)絡(luò)層的路由子層上增加了一個(gè)新的協(xié)議子層,記為T(mén)ACP層.如圖1所示,TACP的協(xié)議包頭長(zhǎng)度為24 bit,由視頻流ID(I)和視頻幀序列號(hào)(F)2部分組成.
圖1 TACP的協(xié)議包頭(單位:bit)
圖2為基于跨層設(shè)計(jì)的協(xié)議框架.由圖可知,本文設(shè)計(jì)的跨層體系涉及應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和鏈路層.端到端視頻流控制工作在TACP層進(jìn)行.從結(jié)構(gòu)上看,該跨層體系可分為3個(gè)部分:①源節(jié)點(diǎn)將應(yīng)用層和傳輸層的視頻參數(shù)傳遞給網(wǎng)絡(luò)層的TACP模塊,其中參數(shù)M為源節(jié)點(diǎn)最近一次發(fā)出的視頻幀序列號(hào).這些參數(shù)既可用于填充TACP包頭,又可根據(jù)需要通告視頻同步信息.②目的節(jié)點(diǎn)的應(yīng)用層和傳輸層分別用于記錄參數(shù)B和I.當(dāng)B發(fā)生變化時(shí),相應(yīng)的參數(shù)會(huì)被傳遞到TACP模塊.③ 節(jié)點(diǎn)收集鏈路層和路由層失效視頻參數(shù)(包括超時(shí)和因路徑中斷、擁塞等丟棄的視頻數(shù)據(jù)),并傳遞給TACP模塊.在視頻傳輸過(guò)程中,節(jié)點(diǎn)根據(jù)視頻幀之間的依賴關(guān)系以及視頻數(shù)據(jù)的延遲狀況,限制不可解碼和超時(shí)視頻數(shù)據(jù)的傳輸.
圖2 基于跨層設(shè)計(jì)的協(xié)議框架
為了準(zhǔn)確判斷是否超時(shí),節(jié)點(diǎn)需要計(jì)算出傳輸時(shí)延D并掌握相應(yīng)視頻流對(duì)應(yīng)的緩存時(shí)間B.緩存時(shí)間的獲得及更新容易實(shí)現(xiàn),如何準(zhǔn)確計(jì)算傳輸時(shí)延則是研究的難點(diǎn)所在.其原因在于:① 無(wú)線設(shè)備之間時(shí)鐘不同步;②如果通過(guò)獲取節(jié)點(diǎn)相關(guān)參數(shù)(如可用帶寬、隊(duì)列長(zhǎng)度等)逐跳估計(jì)時(shí)延,會(huì)產(chǎn)生額外的開(kāi)銷(xiāo),且容易出現(xiàn)較大誤差.對(duì)于接收到的視頻包(攜帶有參數(shù)I和F),若中間節(jié)點(diǎn)能夠計(jì)算出源節(jié)點(diǎn)當(dāng)前時(shí)刻最新發(fā)出的視頻幀序列號(hào)(記為Mc),則根據(jù)下式可以較為準(zhǔn)確地估計(jì)傳輸延遲:
式中,R為視頻幀發(fā)送速率.本文采用恒定發(fā)送速率.若經(jīng)過(guò)中間節(jié)點(diǎn)的視頻數(shù)據(jù)超時(shí),則丟棄.
TACP工作流程可分為2個(gè)階段:同步階段和控制階段(見(jiàn)圖3).圖中,T1~T5為時(shí)間點(diǎn).在同步階段中,首先目的節(jié)點(diǎn)將參數(shù)B和I以單播形式發(fā)送給源節(jié)點(diǎn);然后,源節(jié)點(diǎn)將同步參數(shù)I,M,L和R進(jìn)行通告,中間節(jié)點(diǎn)收到通告信息后記錄同步參數(shù).該階段的控制消息稱為同步包.同步包一般只在新視頻流被觸發(fā)以及緩存時(shí)間被重新設(shè)定時(shí)才會(huì)被觸發(fā),因而不會(huì)產(chǎn)生較多的開(kāi)銷(xiāo).
圖3 TACP工作流程
進(jìn)入控制階段后,按照如下公式計(jì)算Mc:
式中,Tc表示當(dāng)前時(shí)間;Tr表示信息被記錄的時(shí)間.在一個(gè)理想的狀態(tài)下(即源節(jié)點(diǎn)同步包的傳輸不存在延遲),根據(jù)式(3)和(4)便可準(zhǔn)確定位超時(shí)視頻數(shù)據(jù).然而,數(shù)據(jù)傳輸延遲的存在導(dǎo)致Mc的計(jì)算存在誤差.將該誤差記為E,若滿足
則誤差E處于可容忍的范圍,這是由于采用式(3)得出的傳輸時(shí)延精度為1/F.
下面利用仿真方法對(duì)誤差 E進(jìn)行分析.在1 200×800的區(qū)域內(nèi)設(shè)置60個(gè)IEEE 802.11無(wú)線節(jié)點(diǎn),節(jié)點(diǎn)的最大移動(dòng)速度為10 m/s;隨機(jī)選擇視頻源節(jié)點(diǎn)和接收節(jié)點(diǎn),視頻幀發(fā)送頻率為25幀/s;設(shè)置了5對(duì)干擾源.實(shí)驗(yàn)共統(tǒng)計(jì)了4 062個(gè)端到端同步時(shí)延數(shù)據(jù).按照概率特性對(duì)其進(jìn)行分析,結(jié)果見(jiàn)圖4.由圖可知,統(tǒng)計(jì)數(shù)據(jù)大多小于0.04,滿足式(5)的要求.
圖4 端到端同步時(shí)延的概率特性
將視頻傳輸過(guò)程中出現(xiàn)的失效視頻數(shù)據(jù)分為超時(shí)數(shù)據(jù)和不可解碼數(shù)據(jù)2種.根據(jù)視頻幀的依賴關(guān)系可知,若節(jié)點(diǎn)將后續(xù)失效視頻數(shù)據(jù)全部丟棄,視頻流將出現(xiàn)空洞,即在一段時(shí)間內(nèi)沒(méi)有視頻數(shù)據(jù)傳輸.若屬于I幀的視頻包失效,空洞時(shí)間將達(dá)到上限.視頻傳輸路徑處于空閑狀態(tài)(即沒(méi)有數(shù)據(jù)通過(guò))時(shí),則沒(méi)有反饋信息(例如路由錯(cuò)誤消息)產(chǎn)生,相關(guān)節(jié)點(diǎn)無(wú)法及時(shí)更新路由.當(dāng)屬于下一個(gè)GOP的I幀視頻包到來(lái)時(shí),若無(wú)法成功投遞,就會(huì)導(dǎo)致整個(gè)GOP失效.如此循環(huán),致使視頻通信性能降低.
為此,本文引入了一種基于GOP的路徑探測(cè)機(jī)制,為高優(yōu)先級(jí)視頻包提供有效的通信路徑.工作流程為:當(dāng)失效視頻包出現(xiàn)時(shí),相關(guān)節(jié)點(diǎn)提取其路徑信息;然后,根據(jù)其路徑信息向目的節(jié)點(diǎn)發(fā)送探測(cè)包,檢測(cè)路徑連通性;最后,將失效視頻包丟棄.當(dāng)探測(cè)包無(wú)法投遞時(shí),相關(guān)節(jié)點(diǎn)可以及時(shí)更新路由,以保證下一個(gè)GOP中高優(yōu)先級(jí)I幀的可靠傳輸.探測(cè)包的長(zhǎng)度較短,不會(huì)占用過(guò)多的網(wǎng)絡(luò)帶寬.
探測(cè)包中攜帶有失效視頻信息,相鄰節(jié)點(diǎn)監(jiān)聽(tīng)到傳輸中的探測(cè)包后,保存其中的失效視頻信息,用于過(guò)濾不可解碼視頻包,特別是有利于及時(shí)減少上游通信路徑中不可解碼視頻包的發(fā)送和轉(zhuǎn)發(fā).圖5為路徑探測(cè)和失效視頻參數(shù)反饋過(guò)程.由圖可知,路徑N1—N2—N3—N4正在傳輸屬于一個(gè)GOP的視頻包序列.根據(jù)依賴關(guān)系,若節(jié)點(diǎn)N3出現(xiàn)視頻包失效,則上游節(jié)點(diǎn)正在傳輸?shù)囊曨l包不可解碼,應(yīng)及時(shí)清除.此時(shí),節(jié)點(diǎn)N3會(huì)向下一跳發(fā)送探測(cè)包,其上游節(jié)點(diǎn)N2監(jiān)聽(tīng)到后判斷當(dāng)前發(fā)送視頻包不可解碼,同樣會(huì)發(fā)送探測(cè)包.因此,失效視頻參數(shù)會(huì)快速逐跳反饋到上游節(jié)點(diǎn),從而有效節(jié)約網(wǎng)絡(luò)帶寬.
圖5 路徑探測(cè)和失效視頻參數(shù)反饋過(guò)程
在NS2中實(shí)現(xiàn)了TACP,通過(guò)一系列仿真實(shí)驗(yàn),對(duì)其QoS支持功能進(jìn)行全面分析和評(píng)價(jià).選取了具有代表性的無(wú)線網(wǎng)絡(luò)路由協(xié)議 SMR[10]和DSR與 TACP協(xié)同工作,并將其分別簡(jiǎn)稱為SMR+和DSR+.采用一個(gè)中等質(zhì)量的MDC視頻片段作為SMR的數(shù)據(jù)源,通過(guò)多路徑方式并行傳輸,平均比特率和峰值比特率分別為96和825 kbit/s.采用一個(gè)對(duì)應(yīng)的SDC視頻片段作為DSR的數(shù)據(jù)源,進(jìn)行單路徑傳輸,平均比特率和峰值比特率分別為77和828 kbit/s.在1 200×800的區(qū)域內(nèi)布置60個(gè)IEEE 802.11無(wú)線節(jié)點(diǎn),節(jié)點(diǎn)的最大移動(dòng)速度設(shè)為10 m/s,隨機(jī)選擇一對(duì)視頻源和接收節(jié)點(diǎn),干擾源發(fā)送速率為12 kbit/s.分別考慮負(fù)載變化和視頻緩存時(shí)間變化時(shí)的實(shí)時(shí)視頻通信性能.為了減少隨機(jī)性,每一組數(shù)據(jù)都是在隨機(jī)場(chǎng)景下進(jìn)行10次實(shí)驗(yàn)后計(jì)算的平均值,每次實(shí)驗(yàn)持續(xù)3 700 s.
負(fù)載變化對(duì)實(shí)時(shí)視頻通信性能的影響見(jiàn)圖6.實(shí)驗(yàn)中干擾源數(shù)目從5個(gè)增加到10個(gè),可解碼視頻幀率可以反映有效視頻吞吐量.由圖可知,隨著干擾源數(shù)目的增加,網(wǎng)絡(luò)可用帶寬減少,數(shù)據(jù)發(fā)送時(shí)發(fā)生沖突的可能性隨之增加,可解碼幀率呈下降趨勢(shì)(見(jiàn)圖6(a)).使用TACP后,SMR+和DSR+所提供的可解碼幀率得到了提升.由圖6(b)可知,隨著干擾源數(shù)目的增加,網(wǎng)絡(luò)可用帶寬逐漸減少,4種協(xié)議的失效視頻幀率均呈增長(zhǎng)趨勢(shì).TACP能夠較好地限制失效視頻數(shù)據(jù)的傳輸,因此,相比DSR和SMR,DSR+和SMR+的失效視頻幀率始終維持在一個(gè)較低的數(shù)值.圖6(c)和(d)分別顯示視頻幀平均端到端時(shí)延和抖動(dòng)的變化趨勢(shì).一方面,隨著可用帶寬的降低,DSR和SMR無(wú)法滿足實(shí)時(shí)視頻通信的QoS需求;另一方面,TACP的引入提高了網(wǎng)絡(luò)帶寬利用率,顯著降低了端到端時(shí)延和抖動(dòng).
視頻緩存時(shí)間變化對(duì)實(shí)時(shí)流媒體性能的影響見(jiàn)圖7,這里將緩存時(shí)間的變化范圍設(shè)為0.5~3 s.實(shí)驗(yàn)中干擾源數(shù)目設(shè)定為5個(gè).圖7(a)為緩存時(shí)間變化對(duì)可解視頻碼的影響.由圖可知,TACP使得相關(guān)節(jié)點(diǎn)可以適應(yīng)緩存時(shí)間變化對(duì)實(shí)時(shí)性的要求.緩存時(shí)間的增加,在一定程度上降低了對(duì)視頻傳輸時(shí)延的要求;由圖7(b)可知,將視頻緩存時(shí)間設(shè)為0.5 s時(shí),TACP能夠?qū)⒃糞MR和DSR的失效視頻幀率分別減少約2%和5%.在傳統(tǒng)的分層網(wǎng)絡(luò)體系結(jié)構(gòu)中,網(wǎng)絡(luò)層無(wú)法獲得高層的用于協(xié)調(diào)自身傳輸行為的信息.因此,隨著視頻緩存時(shí)間的增加,SMR和DSR的視頻幀平均端到端時(shí)延和抖動(dòng)沒(méi)有發(fā)生變化(見(jiàn)圖7(c)和(d)).采用TACP后,中間節(jié)點(diǎn)可以根據(jù)時(shí)延需求的變化動(dòng)態(tài)地調(diào)節(jié)視頻傳輸行為,以滿足視頻通信的端到端時(shí)延需求.
圖6 負(fù)載變化對(duì)視頻通信性能的影響
圖7 緩存時(shí)間變化對(duì)視頻通信性能的影響
本文提出了一種用于多跳無(wú)線網(wǎng)絡(luò)中具有時(shí)間意識(shí)的視頻流控制協(xié)議,為實(shí)時(shí)視頻通信提供有效的端到端QoS支持.該協(xié)議通過(guò)跨層設(shè)計(jì)方法,在網(wǎng)絡(luò)層上增加了獨(dú)立的TACP子層,將來(lái)自應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層的視頻參數(shù)映射至該子層.考慮到視頻傳輸對(duì)實(shí)時(shí)性的需求以及視頻幀之間的解碼依賴關(guān)系,采用一種分布式時(shí)延估計(jì)方法來(lái)限制失效視頻數(shù)據(jù)的轉(zhuǎn)發(fā),從而提高了網(wǎng)絡(luò)帶寬利用率.然后,為了保證高優(yōu)先級(jí)視頻數(shù)據(jù)的可靠傳輸,研究了一種基于GOP的路徑探測(cè)機(jī)制,將其與流控制協(xié)議協(xié)同工作以提高視頻播放質(zhì)量.最后,通過(guò)一系列仿真實(shí)驗(yàn),對(duì)其QoS支持功能進(jìn)行全面分析和評(píng)價(jià).實(shí)驗(yàn)結(jié)果表明,TACP可明顯改善視頻流質(zhì)量,提高網(wǎng)絡(luò)帶寬利用率,并能夠適應(yīng)實(shí)時(shí)性需求的變化.
References)
[1]Bai G W,Oladosu K,Williamson C.Performance benchmarking of wireless web servers[J].Ad Hoc Networks,2007,5(3):392-412.
[2]Bai G W,Tao J J,Shen H.A link-lifetime based dynamic source routing protocol(LTDSR)for multimedia over MANETs[J].Journal of the Chinese Institute of Engineers,2010,33(5):761-768.
[3]Tao J J,Bai G W,Shen H,et al.ECBRP:an efficient cluster-based routing protocol for real-time multimedia streaming in MANETs[J].Wireless Personal Communications,2011,61(2):283-302.
[4]Bai G W,Huang X Y.Simulation study of media streaming performance on an IEEE802.11g WLAN[C]//Proceedings of the 7th IASTED International Conference on Wireless and Optical Communications.Montreal,Canada,2007:507-513.
[5]Pham V T.Efficient relaying of video packets over wireless ad hoc devices[C]//Proceedings of 2006 IEEE Wireless and Microwave Technology Conference.Clearwater Beach,F(xiàn)L,USA,2006:1-5.
[6]Mao S W,Lin S N,Panwar S S,et al.Video transport over ad hoc networks:multistream coding with multipath transport[J].IEEE Journal on Selected Areas in Communications,2003,21(10):1721-1737.
[7]Aguilar I M,Carrascal F V.Self-configured multipath routing using path lifetime for video-streaming services over ad hoc networks[J].Computer Communications,2010,33(15):1879-1891.
[8]Lin C H,Shieh C K,Ke C H,et al.An adaptive cross-layer mappingalgorithm for MPEG-4 video transmission over IEEE 802.11e WLAN[J].Telecommunication Systems,2009,42(3):223-234.
[9]Mastronarde N,Andreopoulos Y,van der Schaar M,et al.Cross-layer video streaming over 802.11e-enabled wireless mesh networks[C]//Proceedings of 2006 IEEE International Conference on Acoustics,Speech and Signal Processing.Toulouse,F(xiàn)rance,2006:14-19.
[10]Lee S J,Gerla M.Split multipath routing with maximally disjoint paths in ad hoc networks[C]//Proceedings of 2001 IEEE International Conference on Communications.Helsinki,F(xiàn)inland,2001:3201-3205.