洪 濤,黃永峰,陳從華
(1.清華大學 電子工程系,北京100084;2.廈門雅迅網絡股份有限公司 福建 廈門361008)
一種車載視頻監控終端流量控制方法的設計
洪 濤1,2,黃永峰1,陳從華2
(1.清華大學 電子工程系,北京100084;2.廈門雅迅網絡股份有限公司 福建 廈門361008)
針對車載實時視頻監控終端的應用特點,為了提高視頻傳輸的可靠性,避免各傳輸鏈路因帶寬搶占而陷入擁塞狀態,設計一種基于視頻通道優先級的流量控制方法。該方法以RTP-RTCP協議為基礎,以視頻通道的優先級為條件,結合各傳輸通道丟包率的統計結果,監測各視頻通道數據的傳輸狀況,進而控制不同優先級的視頻通道的碼率等級,盡量保證高優先級視頻通道的傳輸質量,以達到在帶寬下降時,還能提供對車輛重點區域的監控的目的。
車載終端;實時視頻監控;通道優先級;流量控制;RTP-RTCP;丟包率
車載視頻監控系統在交通運輸行業已經得到了廣泛的應用,它能夠提供位置服務、遠程實時音視頻監控、本地音視頻存儲和行駛記錄等功能,在智能交通建設的過程中發揮了重要作用[1]。近年來,各移動運營商相繼推出第3代第4代移動通信技術,極大的提高了移動通信速率,為實時視頻監控業務的發展提供了基礎。而實時視頻監控作為管理者遠程監視車輛運行狀況的直接手段,也因其具有直觀性和實時性等特點,逐漸成為了智能交通領域內的研究熱點。
在車載實時視頻監控終端的應用中,因其基于帶寬有限且信道時刻變化的移動網絡,且視頻數據量大,視頻傳輸網絡的負載率高,流量控制就顯的至關重要。車載終端往往需要將多個通道的視頻數據同時上傳至視頻服務器,在網絡帶寬充足的情況下,各通道的數據可以互不干擾的傳輸,但當車輛處于移動網絡信號較弱的區域(如基站覆蓋的邊緣),帶寬下降明顯,此時就會出現多通道搶占帶寬資源的現象,這將導致多路視頻畫面同時處于卡頓或停滯狀態,監控系統崩潰。但如果在帶寬下降的情況下,通過基于通道優先級的流量控制,降低甚至關閉相對不重要的視頻通道的數據,從而保證相對重要的視頻通道能夠呈現流暢的畫面,則可以有效的提升用戶體驗。
在實時視頻監控領域,人們通常使用RTP-RTCP協議組[2]來實現視頻數據傳輸和網絡服務質量控制。RTP即實時傳輸協議,它通常是基于UDP協議的,只負責傳輸數據,不保證網絡服務質量;RTCP即實時傳輸控制協議,它在數據發送端和接收端之間定時傳輸,通過攜帶丟包率等信息,實現對網絡狀況的檢測,進而將網絡狀況反饋給RTP會話,RTP作出實時響應。利用RTCP攜帶的丟包率變化進行RTP發送端的網絡負載調整是當前該領域內用來進行流量控制的有效方法。
由此,文中設計一種流量控制方法,該方法以預先設定的視頻通道優先級和通過統計得到的RTP數據包丟包率為依據,設計一個多通道碼率自適應調整機制,該機制能協調控制每個通道的碼率[3]等級,依次保證優先級較高的視頻通道的數據傳輸質量。該方法分別針對每個視頻通道建立一個RTP-RTCP會話組,該會話組中的RTP會話負責將該通道的視頻數據從車載終端傳輸至視頻服務器,而RTCP會話則負責將視頻服務器統計得到的該通道RTP數據包的丟包率反饋至車載終端。車載終端收到各通道的丟包率數據后,分析判斷當前各通道的網絡狀況,當高優先級的視頻通道的丟包率大于某一閥值時,啟動自適應編碼碼率調整機制,當網絡恢復正常時,逐步逆向調整。為了形成反饋控制回路,需要實現以下幾個關鍵模塊:
1)視頻通道優先級的分配模塊。通常,在車載終端和視頻服務器之間,維持著一條TCP鏈路,用于傳輸視頻監控操作指令。用戶通過視頻監控操作界面,選擇好要監控的視頻通道后,操作界面會根據用戶所選擇的通道數量自動生成同數量的優先級級別,比如車載終端總共有4個視頻通道,用戶選擇了其中的通道1、通道2和通道3,操作界面就會從高到低依次生成優先級1、優先級2和優先級3,用戶可以為每個視頻通道指定優先級,然后通過監控指令下發至車載終端。視頻通道優先級分配的示意圖如圖1所示。

圖1 視頻通道優先級分配示意圖
可以為多個視頻通道指定相同的優先級,擁有相同優先級的通道在流量控制過程中相互獨立。
2)RTP會話模塊。為了實現每個視頻通道的數據能夠獨立傳輸,并將每個通道RTP數據包的丟包率及時反饋回發送端,需要在每個視頻通道和視頻服務器之間建立獨占的RTP-RTCP會話組[4]。車載終端將采集到的視頻數據,封裝成RTP數據包,發送給視頻服務器,視頻服務器收到RTP數據包的同時,開始根據RTP數據包的包序號統計丟包率,并定期(通常為5秒)將統計得到的丟包率封裝成RTCP包,發送至車載終端,這個交互過程一直維持至實時監控退出。以視頻通道1為例,建立RTP會話交互圖如圖2所示。

圖2 RTP會話交互圖
即,車載終端通道1產生的視頻數據包,通過圖2中的RTP鏈路發送至視頻服務器,同時,視頻服務器將統計得到的丟包率等信息,通過圖2中的RTCP鏈路反饋至發送端。
3)視頻編碼碼率分層模塊。為了實現基于視頻通道的流量控制,需要時常調整各通道所處的碼率層次,故建立碼率分層模型。該模型將實時視頻編碼碼率分成零碼流(LA)、基本(LB)、流暢(LC)和清晰(LD)4個等級,LA表示關閉該通道,LB提供基本的視頻畫面,LC是基本畫面的增強版,LD則能保證清晰的畫面,各通道遵循于流量控制方法在這4個碼率層次游離。各碼率等級對應的碼率值需要根據車載終端移動通信模塊(指運營商移動、聯通或電信)的類型和所處的網絡類型(指2G、3G或4G)具體定義,比如聯通的3G網絡上行速度大概為120 kB/s,以此定義的碼率層次如表1所示。

表1 聯通3G網絡碼率分層表
4)流量控制模塊。流量控制模塊負責收集來自視頻服務器的每個視頻通道數據的丟包率信息來監測每個通道的數據傳輸狀況,并結合各通道的優先級和當前所處的碼率層次做出流量控制決策[5]。該模塊運行一個流量控制算法,該算法是本文的核心內容,在下節討論。
實現流量控制算法的基礎是各視頻通道的優先級、RTP數據包的丟包率和碼率等級,由 “視頻通道優先級分配模塊”、“RTP會話模塊”和“視頻編碼碼率分層模塊”分別獲得。以擁有4個視頻通道的車載終端為例,假設通道1至通道4的優先級分別為P1、P2、P3、P4,丟包率為F1、F2、F3、F4,所處的碼率等級為L1、L2、L3、L4。同時定義最小丟包率Fmin,表示當前通道數據傳輸狀態極好,有剩余帶寬,定義最大丟包率Fmax,表示當前通道已經陷入阻塞,而各通道的丟包率維持在Fmin到Fmax之間時,表示該通道處于可接受的丟包率范圍內,則流量控制算法可描述為:
1)只監控一個通道時,預置L1等于LD,然后進行如下判斷:
①當F1大于Fmax,如果L1不等于LA,L1下降一個等級,否則不做調整;
②當F1小于Fmin,如果L1不等于LD,L1上升一個等級,否則不做調整。

圖3 一個通道的流量控制流程圖
2)監控兩個通道時,預置L1等于LD,L2等于LD,然后進行如下判斷:
①當P1大于P2時:
當F1大于Fmax時,如果L2不等于LA,L2下降一個等級;否則判斷L1是否等于LA,如果不等于,L1下降一個等級,否則不做調整。
當F1小于Fmin時,如果L2小于L1,L2上升一個等級;否則判斷L1是否等于LD,如果不等于,L1上升一個等級,否則不做調整。
②當P2大于P1時:
當F2大于Fmax時,如果L1不等于LA,L1下降一個等級;否則判斷L2是否等于LA,如果不等于,L2下降一個等級,否則不做調整。
當F2小于Fmin時,如果L1小于L2,L1上升一個等級;否則判斷L2是否等于LD,如果不等于,L2上升一個等級,否則不做調整。
③當P1等于P2時,兩個通道相互獨立,分別按照一個通道的流量控制流程處理。

圖4 兩個通道的流量控制流程圖
3)監控3個通道時,預置L1、L2和L3都等于LD,然后進行如下判斷:
①當P1同時大于P2和P3時:
當F1大于 Fmax,又P2大于P3時,判斷 L3是否等于LA,不等就將L3下降一級,等于時判斷L2是否等于LA,不等就將L2下降一級,等于時再判斷L1是否等于LA,不等就將L1下降一級,否則不進行調整;
當F1大于 Fmax,又P3大于P2時,判斷 L2是否等于LA,不等就將L2下降一級,等于時判斷L3是否等于LA,不等就將L3下降一級,等于時再判斷L1是否等于LA,不等就將L1下降一級,否則不進行調整。
當F1小于 Fmin,又 P2大于P3時,判斷 L1是否等于LD,不等就將L1上升一級,否則判斷L2是否小于L1,小于時將L2上升一級,否則再判斷L3是否小于L2,小于時將L3上升一個等級,否則不進行調整;
當F1小于 Fmin,又 P3大于P2時,判斷 L1是否等于LD,不等就將L1上升一級,否則判斷L3是否小于L1,小于時將L3上升一級,否則再判斷L2是否小于L3,小于時將L2上升一個等級,否則不進行調整;
②當P2同時大于P1和P3時:
當F2大于Fmax,又P1大于P3時,判斷L3是否等于LA,不等就將L3下降一級,等于時判斷L1是否等于LA,不等就將L1下降一級,等于時再判斷L2是否等于LA,不等就將L2下降一級,否則不進行調整;
當F2大于Fmax,又P3大于P1時,判斷L1是否等于LA,不等就將L1下降一級,等于時判斷L3是否等于LA,不等就將L3下降一級,等于時再判斷L2是否等于LA,不等就將L2下降一級,否則不進行調整。
當F2小于Fmin,又P1大于 P3時,判斷L2是否等于LD,不等就將L2上升一級,否則判斷L1是否小于L2,小于時將L1上升一級,否則再判斷L3是否小于L1,小于時將L3上升一個等級,否則不進行調整;
當F2小于Fmin,又P3大于 P1時,判斷L2是否等于LD,不等就將L2上升一級,否則判斷L3是否小于L2,小于時將L3上升一級,否則再判斷L1是否小于L3,小于時將L1上升一個等級,否則不進行調整;
③當P3同時大于P1和P2時:
當F3大于 Fmax,又P1大于P2時,判斷L2是否等于LA,不等就將L2下降一級,等于時判斷L1是否等于LA,不等就將L1下降一級,等于時再判斷L3是否等于LA,不等就將L3下降一級,否則不進行調整;
當F3大于 Fmax,又P2大于P1時,判斷L1是否等于LA,不等就將L1下降一級,等于時判斷L2是否等于LA,不等就將L2下降一級,等于時再判斷L3是否等于LA,不等就將L3下降一級,否則不進行調整。
當F3小于 Fmin,又P1大于 P2時,判斷L3是否等于LD,不等就將L3上升一級,否則判斷L1是否小于L3,小于時將L1上升一級,否則再判斷L2是否小于L1,小于時將L2上升一個等級,否則不進行調整;
當F3小于 Fmin,又P2大于 P1時,判斷L3是否等于LD,不等就將L3上升一級,否則判斷L2是否小于L3,小于時將L2上升一級,否則再判斷L1是否小于L2,小于時將L1上升一個等級,否則不進行調整;
④當P1等于P2等于P3時,3個通道相互獨立,分別按照一個通道的流量控制流程處理。
按照以上流程,作P1大于P2、P3條件下的流程圖如圖5,同理可畫P2大于P1、P3和P3大于 P1、P3條件下的流程圖,此處省略。
監控4個及4個以上通道的流量控制流程的類似監控3個通道的情況,核心內容是當網絡狀況變差時,以犧牲低優先級的視頻通道的畫面質量來保證高優先級的視頻通道能夠提供清晰可靠的畫面;當網絡狀況好轉時,按照優先級從高到低逐步提升各通道的優先級,實現根據網絡狀況自適應的流量控制策略[6]。

圖5 兩個通道的流量控制流程圖
在實時視頻數據傳輸領域,流量控制方法很多,但多是針對整個傳輸網絡,本方法將流量控制細化到單個視頻通道,并根據優先級在通道之間進行帶寬分配,能在網絡傳輸質量下降時做到“舍輕保重”,避免多通道實時視頻監控業務因帶寬競爭而直接陷入癱瘓的境地,符合車載實時視頻監控系統的應用場景。
[1]梁篤國.網絡視頻監控技術與智能應用[M].北京:人民郵電出版社,2013.
[2]The Internet Engineering Task Force.RFC3550.RTP:A Transport Protocol for Real-Time Applications[S].NewYork: Columbia University,2003.
[3]陳靖,劉京,曹喜信.深入理解視頻編解碼技術[M].北京:北京航空航天大學出版社,2012.
[4]張海軍,楊印根,吳克捷,等.基于RTP/RTCP協議的擁塞控制策略研究[D].南昌:江西師范大學,2008.
[5]徐昌彪,鮮永菊.計算機網絡中的擁塞控制與流量控制[M].北京:人民郵電出版社,2007.
[6]蔣建國,蘇兆品,李 援,等.RTP/RTCP自適應流量控制算法[D].合肥:合肥工業大學,2006.
A flow controlmethod for the video surveillance term inal of vehicle
HONG Tao1,2,HUANG Yong-feng1,CHEN Cong-hua2
(1.Electronic Engineering,Tsinghua University,Beijing 100084,China;2.Xiamen Yaxon Network Co.,Ltd.,Xiamen 361008,China)
According to the featuresof the real-time video surveillance terminalofvehicle,amethod of flow control is designed to improve the reliability of video data transmission and prevent transmission channels from falling into the state of congestion which caused by bandwidth preemption,which is based on priority of video channel.In thismethod,the RTP-RTCP protocol was used,video channel′s priority was considered.It combineswith the packet loss rate statistical results of the transmission channel,itmonitors the transmission status of each video channel data,thus it controls the bitrate levelof different priorities video channels.It try to ensure the high-priority video channel′s transmission quality,and provide high-priority video channel with high-quality transmission data servicewhen the bandwidth is dropping.
terminal of vehicle;real-time video surveillance;channel′s priority;flow control;RTP-RTCP;packet fraction
TN91
A
1674-6236(2016)19-0047-04
2015-08-08稿件編號:201508035
洪 濤(1986—),男,福建廈門人,碩士研究生,工程師。研究方向:音視頻編解碼、存儲、傳輸。