李星亮,吳育寶,田進華
(1.南京森林警察學院 刑事科學技術學院,江蘇 南京 210023 2.南京森林警察學院 信息技術學院,江蘇 南京 210023 3.黃淮學院 信息工程學院,河南 駐馬店 463000)
車載網絡(Vehicular Ad-Hoc Networks, VANETs)是智能交通系統(Intelligent Transportation Systems, ITS)的重要組成部分。美國FCC將位于5.9 Hz的DSRC頻譜75 MHz分配給VANETs中的車間通信(Vehicle-to-Vehicle,V2V)和車與路邊設施通信(Vehicle-to-Infrastructure,V2I)[1-2]。利用V2V和V2I通信,道路上的車輛能夠相互交互信息,包括道路狀況消息,視頻數據等。
相比于文本信息,VANETs內的視頻流(Video Streaming, VSG)為行駛人員和路人提供了更豐富的信息[3]。依據安裝于車輛或路邊設施單元(Road Side Units, RSU)的攝像機,可實時給車輛和政府機構傳輸視頻,進而告知道路上所發生的事件。例如,動物入侵道路、節日活動,這些事件都可利用VANET的VSG進行廣播。此外,利用VSG也可提高交通安全。如交通事故,通過廣播VSG,使鄰近車輛提前進行預警,避開交通事故發生地。
然而,車輛的快速移動,網絡拓撲的動態變化,給實現可靠、快速地傳輸視頻提出了困難[4]。因此,需強健的通信協議確保能夠有效地接收VSG。在接收端,通常引用視頻數據包傳輸率、傳輸時延、峰值信噪比(Peak Signal to Noise Ratio, PSNR)表征VSG的服務質量QoS(Quality of Service)。
目前,傳輸VSG主要面臨兩個問題:數據包丟失和傳輸時延。為此,研究人員進行了較多的研究,并提出不同的策略[5-6]。這些策略工作可分為三類:(1)視頻編碼和差錯恢復;(2)協作轉發;(3)自適應策略。其中,視頻編碼和差錯恢復策略是使用于應用層,通過編碼和差錯機制提高VSG的服務質量。而協作轉發策略是使用于網絡層,通過選擇最可靠路由提高VSG的服務質量。自適應策略是使用于MAC層,通過自適應地調整傳輸參數,提高VSG的服務質量。
而傳輸層的用戶數據協議(User Datagram Protocol, UDP)并沒有包含差錯恢復機制,而傳輸控制協議(Transmission Control Protocol, TCP)采用了重傳機制克服數據包丟失或數據包傳輸差錯問題,但它增加了額外的時延。
此外,研究人員還提出利用圖像處理領域內的視頻技術和標準對視頻進行編碼,如運動圖象專家組(Moving Picture Experts Group, MPEG),可伸縮視頻編碼(Scalable Video Coding, SVC)、多描述編碼(Multiple Description Coding, MDC)。其中,MPEG標準將視頻編碼成圖片群(Groups of Pictures, GoPs)。每個GoP為一系列的幀[7-8]。MPEG采用三類幀:內編碼幀(I幀)、預測幀(P幀)和雙向預測幀(B幀)。相比于B幀,而I幀和P幀更重要。將這些幀結構(I,P,B)也稱為非均衡的幀結構。
而數據包轉發差錯校正(Packet Forward Error Correction, PFEC)是基于冗余技術的差錯恢復機制。PFEC將VSG劃分為多個組,每個組由原始包和冗余包構成。此外,子PFEC(Sub-PFEC, SPFEC)是PFEC的特例,其主要由原始和冗余子包構成。
為此,本文提出基于UDP的改進協議EUDP。EUDP引用了SPFEC差錯恢復機制,提高數據包傳輸成功率,同時采用基于MPEG標準的非均衡的保護的視頻幀類型(I,P,B),減少網絡開銷。實現數據表明,提出的EUDP協議有效地降低了數據包傳遞率,并提出視頻服務質量。
VANET的視頻流工作多數是基于UDP或TCP控制協議。TCP協議利用重傳機制恢復數據包,而UDP沒有引用恢復機制。本文提出的EUDP算法是基于UDP協議,并進行了改進。首先,引用SPFEC標準,恢復錯失數據[9],并減少有效數據包出錯率(Effective Packet Error Rate, EPER)和冗余開銷,同時,也減少了端到端傳輸時延。再采用非均衡的視頻幀結構(I,P,B),降低網絡開銷,進而提高視頻服務質量。
VANET中車輛傳輸視頻流的結構如圖1所示。圖1中紅色車輛為產生視頻的車輛(記為源車輛)。每個視頻數據包由源子數據包(Originals Sub-Packets, OSP)和冗余子數據包(Redundant Sub-Packets, RSP)構成。源車輛依據視頻數據包(I,P,B)類型計算RSP數目。相比于B幀,I和P幀的RSP具有更高的保護級別。
源車輛將視頻數據壓縮成實時傳輸協議(Real-time Transport Protocol, RTP)數據包,然后再以多跳傳輸方式其他節點傳輸[10]。當接收車輛(圖1中的藍色車輛)收到視頻數據包后,就從中提取信息,再估計比特誤差率(Bit Error Rate, BER),然后再依據SPFEC策略,估計子數據包差錯率(Sub-Packet Error Rate, SPER)和EPER。最后,依據EFER,決定是接收視頻數據,還是丟棄視頻數據。

圖1 基于EUDP的視頻流
為了允許接收節點能夠計算SPER和EPER,在數據包首部添加了名為“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表示視頻數據包的編號。而Video_pkt_type為視頻數據包幀(I,P,B)類型;Sub_pkt_size表示視頻數據包中子數據包的長度;nb_source_sub_pkts表示視頻數據包中OSP數目;nb_redundant_sub_pkts表示視頻數據包中RSP數。

圖2 EUDP協議中視頻數據包格式
當源車輛需要傳輸一個視頻數據時,它首先計算基于(I,P,B)幀格式的冗余子數據包數nb_redundant_sub_pkts。采用非均衡的保護策略。因此,假定I幀、P幀和B幀的冗余率分別為PR_I、PR_P和PR_B。然后,再依據三個幀的冗余率,選擇相應的nb_redundant_sub_pkts值。最終,生成視頻數據包,再向鄰居節點傳輸。源車輛產生視頻數據包的偽代碼如圖3所示。

圖3 源車輛產生視頻數據包的代碼
一旦接收到視頻數據包,節點從中數據包中提取數據包首部信息,即Sub_pkt_size、nb_redundant_sub_pkts、nb_source_sub_pkts的值。然后,再依據這些值,并利用SPER標準計算EPER。計算過程如下。
假定視頻數據包數為N。首先,估計BER。EUDP先估計在時間段dt內的BER,定義如式(1)所示。
(1)
其中Success(dt)表示在時間段dt內成功接收的數據包數,相應地,Total(dt)表示在時間段dt內傳輸的視頻數據包數。
接下來,計算SPER,其表示接收車輛不能恢復的子數據包視頻的概率,其定義如式(2)所示。
SPER=1-(1-BER)sub_pkt_size
(2)
最后,計算有效數據包差錯率(Effective Packet Error Rate, EPER)。EPER表示接收車輛不能恢復視頻數據包的概率,定義如式(3)所示。

(3)
其中k、h分別表示數據包中OSP、RSP數。
一旦計算EPER后,接收車輛就隨機地產生一個數r,且r∈[0,1]。然后將r與EPER進行比較。如果r值大于EPER,則說明接收車輛能夠恢復數據包,并接收該數據包。否則,就丟棄此數據包。接收視頻數據包的偽代碼如圖4所示。

圖4 接收視頻數據包的處理過程
依據NS2.35[11]建立仿真平臺,分析EUDP性能。同時,引用Evalvid 框架[12]產生源車輛、接收車輛端的VSG的軌跡文件。同時,再采用SUMO[13]產生車輛移動模型。仿真過程中,選擇AODV作為路由協議,并選擇視頻數據包由400幀構成,且采用IBBPBBPBB的GoP結構。
為了更好地分析EUDP性能,選擇EUDP-E、傳統的UDP協議進行比較。其中EUDP-E是基于UDP,并采用SPFEC策略,但沒有采用非均衡的視頻幀類型。同時,在EUDP-E協議中,所有視頻數據包(I,P,B)中的冗余子數據包數相同。此外,EUDP協議中I幀、P幀的冗余子數據包是B幀冗余子數據包數的兩倍。因為,I幀和P幀的重要性高于B幀。仿真參數如表1所示。
表11 仿真參數

仿真參數值仿真參數值車輛數100場景V2V通信視頻文件Foreman.yuv路由協議AODV視頻數據尺寸1024 bits子數據包尺寸100 bits通信半徑300m比特誤碼率0-0.005傳播模型TowRayGround視頻幀數400
首先分析變化的BER對平均EPER和視頻數據包傳輸率的影響,數據如圖5所示。
從圖5a可知,BER的增加,增加了平均EPER。但是,UDP協議的平均EPER隨BER的增加上升遠高于EUDP和EUDP-E。原因在于:UDP協議并沒有采用差錯數據包的恢復機制,而EUDP和EUDP-E采用冗余機制去恢復錯誤的子數據包。與EUDP-E協議相比,EUDP協議的平均EPER得到一定的控制。這主要是因為:EUDP協議中I幀和P幀的冗余率高于B幀,而EUDP-E協議采用相同的冗余率,對這些幀并沒有區分。

圖5 變化的BER對平均EPER和數據包傳輸率的影響
圖5b顯示了UDP、EUDP和EUDP-E協議的數據包傳輸率隨BER的變化曲線。從圖5b可知,BER的增加,降低了數據包傳輸率。與UDP、EUDP-E協議相比,提出的EUDP協議的數據包傳輸率得到有效地提高,原因在于:EUDP協議的平均EPER低于UDP、EUDP-E協議的EPER。
實驗二分析在BER=0.02時,400幀的PSNR和MOS性能,實驗數據如圖6所示。
從圖6a可知,與EUDP-E協議相比,在400幀視頻數據中,EUDP協議的PSNR得到有效地提高,原因在于:EUDP-E協議并沒有對I、P幀進行保護策略,這也降低了B幀的視頻服務質量。此外,UDP協議的PSNR最低,這主要是因為UDP并沒有采用任何差錯恢復機制。

圖6 所有視頻幀對PSNR和MOS的性能影響
與圖6a相似,圖6b也顯示了BER=0.02環境下的400幀的MOS值。從圖6b可知,EUDP協議的多數幀的視頻質量是優化,MOS值達到4。這遠高于EUDP-E和UDP協議。例如,UDP協議的MOS值只為1,而EUDP-E協議的多數MOS值也為1。
本次實驗分析在不同BER對平均PSNR和平均MOS的影響,實驗數據如圖7所示。
從圖7a可知,在BER的變化區間,UDP協議的平均PSNR遠低于EUDP和EUDP-E。原因在于:UDP協議的數據包傳輸率低于EUDP和EUDP-E協議。此外,EUDP協議的平均PSNR高于EUDP-E,這主要是因為:EUDP協議對I幀和P幀提供了更高的保護。
圖7b顯示了BER對平均MOS的影響。從圖可知,當BER低于0.003時,EUDP協議提供了更高的視頻流的服務質量(平均MOS達到4)。而EUDP-E協議僅在BER低于0.002時,平均MOS達到4。但是UDP協議的視頻流服務質量更差,僅在BER低于0.001時,它的平均MOS才達到4。這些數據表明,相比于EUDP-E和UDP協議,EUDP協議采用了強健的差錯恢復機制。

圖7 BER對平均PSRN和平均MOS的性能影響
本文針對車載網絡的視頻流傳輸問題,提出基于UDP改進的EUDP協議。與UDP協議不同,EUDP協議采用SPFEC策略恢復錯失子數據包,同時引用非均衡的視頻幀格式,提高視頻數據包接收端的服務質量。實驗數據表明,相比于UDP和EUDP-E協議,EUDP協議具有低的EPER和高的數據包傳遞率,并且提高了PSRN和MOS。
后期,在EUDP協議基礎上融入交錯控制技術,避免視頻的突發差錯,進而提高EUDP協議的性能。