李星亮,吳育寶,田進華
(1.南京森林警察學院 刑事科學技術(shù)學院,江蘇 南京 210023 2.南京森林警察學院 信息技術(shù)學院,江蘇 南京 210023 3.黃淮學院 信息工程學院,河南 駐馬店 463000)
車載網(wǎng)絡(luò)(Vehicular Ad-Hoc Networks, VANETs)是智能交通系統(tǒng)(Intelligent Transportation Systems, ITS)的重要組成部分。美國FCC將位于5.9 Hz的DSRC頻譜75 MHz分配給VANETs中的車間通信(Vehicle-to-Vehicle,V2V)和車與路邊設(shè)施通信(Vehicle-to-Infrastructure,V2I)[1-2]。利用V2V和V2I通信,道路上的車輛能夠相互交互信息,包括道路狀況消息,視頻數(shù)據(jù)等。
相比于文本信息,VANETs內(nèi)的視頻流(Video Streaming, VSG)為行駛?cè)藛T和路人提供了更豐富的信息[3]。依據(jù)安裝于車輛或路邊設(shè)施單元(Road Side Units, RSU)的攝像機,可實時給車輛和政府機構(gòu)傳輸視頻,進而告知道路上所發(fā)生的事件。例如,動物入侵道路、節(jié)日活動,這些事件都可利用VANET的VSG進行廣播。此外,利用VSG也可提高交通安全。如交通事故,通過廣播VSG,使鄰近車輛提前進行預警,避開交通事故發(fā)生地。
然而,車輛的快速移動,網(wǎng)絡(luò)拓撲的動態(tài)變化,給實現(xiàn)可靠、快速地傳輸視頻提出了困難[4]。因此,需強健的通信協(xié)議確保能夠有效地接收VSG。在接收端,通常引用視頻數(shù)據(jù)包傳輸率、傳輸時延、峰值信噪比(Peak Signal to Noise Ratio, PSNR)表征VSG的服務(wù)質(zhì)量QoS(Quality of Service)。
目前,傳輸VSG主要面臨兩個問題:數(shù)據(jù)包丟失和傳輸時延。為此,研究人員進行了較多的研究,并提出不同的策略[5-6]。這些策略工作可分為三類:(1)視頻編碼和差錯恢復;(2)協(xié)作轉(zhuǎn)發(fā);(3)自適應(yīng)策略。其中,視頻編碼和差錯恢復策略是使用于應(yīng)用層,通過編碼和差錯機制提高VSG的服務(wù)質(zhì)量。而協(xié)作轉(zhuǎn)發(fā)策略是使用于網(wǎng)絡(luò)層,通過選擇最可靠路由提高VSG的服務(wù)質(zhì)量。自適應(yīng)策略是使用于MAC層,通過自適應(yīng)地調(diào)整傳輸參數(shù),提高VSG的服務(wù)質(zhì)量。
而傳輸層的用戶數(shù)據(jù)協(xié)議(User Datagram Protocol, UDP)并沒有包含差錯恢復機制,而傳輸控制協(xié)議(Transmission Control Protocol, TCP)采用了重傳機制克服數(shù)據(jù)包丟失或數(shù)據(jù)包傳輸差錯問題,但它增加了額外的時延。
此外,研究人員還提出利用圖像處理領(lǐng)域內(nèi)的視頻技術(shù)和標準對視頻進行編碼,如運動圖象專家組(Moving Picture Experts Group, MPEG),可伸縮視頻編碼(Scalable Video Coding, SVC)、多描述編碼(Multiple Description Coding, MDC)。其中,MPEG標準將視頻編碼成圖片群(Groups of Pictures, GoPs)。每個GoP為一系列的幀[7-8]。MPEG采用三類幀:內(nèi)編碼幀(I幀)、預測幀(P幀)和雙向預測幀(B幀)。相比于B幀,而I幀和P幀更重要。將這些幀結(jié)構(gòu)(I,P,B)也稱為非均衡的幀結(jié)構(gòu)。
而數(shù)據(jù)包轉(zhuǎn)發(fā)差錯校正(Packet Forward Error Correction, PFEC)是基于冗余技術(shù)的差錯恢復機制。PFEC將VSG劃分為多個組,每個組由原始包和冗余包構(gòu)成。此外,子PFEC(Sub-PFEC, SPFEC)是PFEC的特例,其主要由原始和冗余子包構(gòu)成。
為此,本文提出基于UDP的改進協(xié)議EUDP。EUDP引用了SPFEC差錯恢復機制,提高數(shù)據(jù)包傳輸成功率,同時采用基于MPEG標準的非均衡的保護的視頻幀類型(I,P,B),減少網(wǎng)絡(luò)開銷。實現(xiàn)數(shù)據(jù)表明,提出的EUDP協(xié)議有效地降低了數(shù)據(jù)包傳遞率,并提出視頻服務(wù)質(zhì)量。
VANET的視頻流工作多數(shù)是基于UDP或TCP控制協(xié)議。TCP協(xié)議利用重傳機制恢復數(shù)據(jù)包,而UDP沒有引用恢復機制。本文提出的EUDP算法是基于UDP協(xié)議,并進行了改進。首先,引用SPFEC標準,恢復錯失數(shù)據(jù)[9],并減少有效數(shù)據(jù)包出錯率(Effective Packet Error Rate, EPER)和冗余開銷,同時,也減少了端到端傳輸時延。再采用非均衡的視頻幀結(jié)構(gòu)(I,P,B),降低網(wǎng)絡(luò)開銷,進而提高視頻服務(wù)質(zhì)量。
VANET中車輛傳輸視頻流的結(jié)構(gòu)如圖1所示。圖1中紅色車輛為產(chǎn)生視頻的車輛(記為源車輛)。每個視頻數(shù)據(jù)包由源子數(shù)據(jù)包(Originals Sub-Packets, OSP)和冗余子數(shù)據(jù)包(Redundant Sub-Packets, RSP)構(gòu)成。源車輛依據(jù)視頻數(shù)據(jù)包(I,P,B)類型計算RSP數(shù)目。相比于B幀,I和P幀的RSP具有更高的保護級別。
源車輛將視頻數(shù)據(jù)壓縮成實時傳輸協(xié)議(Real-time Transport Protocol, RTP)數(shù)據(jù)包,然后再以多跳傳輸方式其他節(jié)點傳輸[10]。當接收車輛(圖1中的藍色車輛)收到視頻數(shù)據(jù)包后,就從中提取信息,再估計比特誤差率(Bit Error Rate, BER),然后再依據(jù)SPFEC策略,估計子數(shù)據(jù)包差錯率(Sub-Packet Error Rate, SPER)和EPER。最后,依據(jù)EFER,決定是接收視頻數(shù)據(jù),還是丟棄視頻數(shù)據(jù)。
圖1 基于EUDP的視頻流
為了允許接收節(jié)點能夠計算SPER和EPER,在數(shù)據(jù)包首部添加了名為“eudp header”項,如圖2所示。eudp header項由Video_pkt_id、Video_pkt_type、Sub_pkt_size、nb_source_sub_pkts、nb_redundant_sub_pkts組成。其中,Video_pkt_id表示視頻數(shù)據(jù)包的編號。而Video_pkt_type為視頻數(shù)據(jù)包幀(I,P,B)類型;Sub_pkt_size表示視頻數(shù)據(jù)包中子數(shù)據(jù)包的長度;nb_source_sub_pkts表示視頻數(shù)據(jù)包中OSP數(shù)目;nb_redundant_sub_pkts表示視頻數(shù)據(jù)包中RSP數(shù)。
圖2 EUDP協(xié)議中視頻數(shù)據(jù)包格式
當源車輛需要傳輸一個視頻數(shù)據(jù)時,它首先計算基于(I,P,B)幀格式的冗余子數(shù)據(jù)包數(shù)nb_redundant_sub_pkts。采用非均衡的保護策略。因此,假定I幀、P幀和B幀的冗余率分別為PR_I、PR_P和PR_B。然后,再依據(jù)三個幀的冗余率,選擇相應(yīng)的nb_redundant_sub_pkts值。最終,生成視頻數(shù)據(jù)包,再向鄰居節(jié)點傳輸。源車輛產(chǎn)生視頻數(shù)據(jù)包的偽代碼如圖3所示。
圖3 源車輛產(chǎn)生視頻數(shù)據(jù)包的代碼
一旦接收到視頻數(shù)據(jù)包,節(jié)點從中數(shù)據(jù)包中提取數(shù)據(jù)包首部信息,即Sub_pkt_size、nb_redundant_sub_pkts、nb_source_sub_pkts的值。然后,再依據(jù)這些值,并利用SPER標準計算EPER。計算過程如下。
假定視頻數(shù)據(jù)包數(shù)為N。首先,估計BER。EUDP先估計在時間段dt內(nèi)的BER,定義如式(1)所示。
(1)
其中Success(dt)表示在時間段dt內(nèi)成功接收的數(shù)據(jù)包數(shù),相應(yīng)地,Total(dt)表示在時間段dt內(nèi)傳輸?shù)囊曨l數(shù)據(jù)包數(shù)。
接下來,計算SPER,其表示接收車輛不能恢復的子數(shù)據(jù)包視頻的概率,其定義如式(2)所示。
SPER=1-(1-BER)sub_pkt_size
(2)
最后,計算有效數(shù)據(jù)包差錯率(Effective Packet Error Rate, EPER)。EPER表示接收車輛不能恢復視頻數(shù)據(jù)包的概率,定義如式(3)所示。
(3)
其中k、h分別表示數(shù)據(jù)包中OSP、RSP數(shù)。
一旦計算EPER后,接收車輛就隨機地產(chǎn)生一個數(shù)r,且r∈[0,1]。然后將r與EPER進行比較。如果r值大于EPER,則說明接收車輛能夠恢復數(shù)據(jù)包,并接收該數(shù)據(jù)包。否則,就丟棄此數(shù)據(jù)包。接收視頻數(shù)據(jù)包的偽代碼如圖4所示。
圖4 接收視頻數(shù)據(jù)包的處理過程
依據(jù)NS2.35[11]建立仿真平臺,分析EUDP性能。同時,引用Evalvid 框架[12]產(chǎn)生源車輛、接收車輛端的VSG的軌跡文件。同時,再采用SUMO[13]產(chǎn)生車輛移動模型。仿真過程中,選擇AODV作為路由協(xié)議,并選擇視頻數(shù)據(jù)包由400幀構(gòu)成,且采用IBBPBBPBB的GoP結(jié)構(gòu)。
為了更好地分析EUDP性能,選擇EUDP-E、傳統(tǒng)的UDP協(xié)議進行比較。其中EUDP-E是基于UDP,并采用SPFEC策略,但沒有采用非均衡的視頻幀類型。同時,在EUDP-E協(xié)議中,所有視頻數(shù)據(jù)包(I,P,B)中的冗余子數(shù)據(jù)包數(shù)相同。此外,EUDP協(xié)議中I幀、P幀的冗余子數(shù)據(jù)包是B幀冗余子數(shù)據(jù)包數(shù)的兩倍。因為,I幀和P幀的重要性高于B幀。仿真參數(shù)如表1所示。
表11 仿真參數(shù)
仿真參數(shù)值仿真參數(shù)值車輛數(shù)100場景V2V通信視頻文件Foreman.yuv路由協(xié)議AODV視頻數(shù)據(jù)尺寸1024 bits子數(shù)據(jù)包尺寸100 bits通信半徑300m比特誤碼率0-0.005傳播模型TowRayGround視頻幀數(shù)400
首先分析變化的BER對平均EPER和視頻數(shù)據(jù)包傳輸率的影響,數(shù)據(jù)如圖5所示。
從圖5a可知,BER的增加,增加了平均EPER。但是,UDP協(xié)議的平均EPER隨BER的增加上升遠高于EUDP和EUDP-E。原因在于:UDP協(xié)議并沒有采用差錯數(shù)據(jù)包的恢復機制,而EUDP和EUDP-E采用冗余機制去恢復錯誤的子數(shù)據(jù)包。與EUDP-E協(xié)議相比,EUDP協(xié)議的平均EPER得到一定的控制。這主要是因為:EUDP協(xié)議中I幀和P幀的冗余率高于B幀,而EUDP-E協(xié)議采用相同的冗余率,對這些幀并沒有區(qū)分。
圖5 變化的BER對平均EPER和數(shù)據(jù)包傳輸率的影響
圖5b顯示了UDP、EUDP和EUDP-E協(xié)議的數(shù)據(jù)包傳輸率隨BER的變化曲線。從圖5b可知,BER的增加,降低了數(shù)據(jù)包傳輸率。與UDP、EUDP-E協(xié)議相比,提出的EUDP協(xié)議的數(shù)據(jù)包傳輸率得到有效地提高,原因在于:EUDP協(xié)議的平均EPER低于UDP、EUDP-E協(xié)議的EPER。
實驗二分析在BER=0.02時,400幀的PSNR和MOS性能,實驗數(shù)據(jù)如圖6所示。
從圖6a可知,與EUDP-E協(xié)議相比,在400幀視頻數(shù)據(jù)中,EUDP協(xié)議的PSNR得到有效地提高,原因在于:EUDP-E協(xié)議并沒有對I、P幀進行保護策略,這也降低了B幀的視頻服務(wù)質(zhì)量。此外,UDP協(xié)議的PSNR最低,這主要是因為UDP并沒有采用任何差錯恢復機制。
圖6 所有視頻幀對PSNR和MOS的性能影響
與圖6a相似,圖6b也顯示了BER=0.02環(huán)境下的400幀的MOS值。從圖6b可知,EUDP協(xié)議的多數(shù)幀的視頻質(zhì)量是優(yōu)化,MOS值達到4。這遠高于EUDP-E和UDP協(xié)議。例如,UDP協(xié)議的MOS值只為1,而EUDP-E協(xié)議的多數(shù)MOS值也為1。
本次實驗分析在不同BER對平均PSNR和平均MOS的影響,實驗數(shù)據(jù)如圖7所示。
從圖7a可知,在BER的變化區(qū)間,UDP協(xié)議的平均PSNR遠低于EUDP和EUDP-E。原因在于:UDP協(xié)議的數(shù)據(jù)包傳輸率低于EUDP和EUDP-E協(xié)議。此外,EUDP協(xié)議的平均PSNR高于EUDP-E,這主要是因為:EUDP協(xié)議對I幀和P幀提供了更高的保護。
圖7b顯示了BER對平均MOS的影響。從圖可知,當BER低于0.003時,EUDP協(xié)議提供了更高的視頻流的服務(wù)質(zhì)量(平均MOS達到4)。而EUDP-E協(xié)議僅在BER低于0.002時,平均MOS達到4。但是UDP協(xié)議的視頻流服務(wù)質(zhì)量更差,僅在BER低于0.001時,它的平均MOS才達到4。這些數(shù)據(jù)表明,相比于EUDP-E和UDP協(xié)議,EUDP協(xié)議采用了強健的差錯恢復機制。
圖7 BER對平均PSRN和平均MOS的性能影響
本文針對車載網(wǎng)絡(luò)的視頻流傳輸問題,提出基于UDP改進的EUDP協(xié)議。與UDP協(xié)議不同,EUDP協(xié)議采用SPFEC策略恢復錯失子數(shù)據(jù)包,同時引用非均衡的視頻幀格式,提高視頻數(shù)據(jù)包接收端的服務(wù)質(zhì)量。實驗數(shù)據(jù)表明,相比于UDP和EUDP-E協(xié)議,EUDP協(xié)議具有低的EPER和高的數(shù)據(jù)包傳遞率,并且提高了PSRN和MOS。
后期,在EUDP協(xié)議基礎(chǔ)上融入交錯控制技術(shù),避免視頻的突發(fā)差錯,進而提高EUDP協(xié)議的性能。