梅魯海
(浙江機電職業技術學院 電氣電子工程學院, 杭州310053)
流媒體技術指的是視頻和音頻等數據以實時傳輸協議為載體,以連續的流形式從發送源端向目的端傳輸,并在目的端接收到一定緩存數據后,隨即播放出來的多媒體應用技術。移動流媒體技術是把流媒體技術應用到移動網絡上的新技術。無線視頻監控系統則是以流媒體技術為核心,并綜合應用智能傳感器、網絡通信和計算機等多種技術的新型視頻監控系統。
近幾年來,我國的3G 通信網絡開始大規模商用,3G 技術帶來的最直接變化就是移動網絡帶寬不再是視頻業務發展的瓶頸,無線傳輸技術由此被廣泛地應用到了流媒體系統中,基于無線網絡的流媒體實時傳輸技術也成為了目前業界的研究熱點和重點。但由于目前傳輸網上的主機性能差異和帶寬變化,視頻應用的實時傳輸變得非常復雜,網絡常常造成擁塞。又因為數據在特殊的無線信道傳輸中極易受到多徑效應等環境因素的干擾,從而導致較高的誤碼率、傳輸時延和抖動,因此如何在帶寬低、延時長和誤碼高的不穩定無線信道中傳輸實時和高質量的視頻信號是一個需要研究的關鍵課題。無線通信網絡技術自身的發展很難為多媒體應用提供絕對的服務質量保證,但利用終端的一些控制策略則可以盡量改善服務質量。例如,利用發送速率控制和視頻質量控制就可以解決視頻碼率和帶寬的不匹配問題等。
本文在基礎理論、專業知識、實驗設計和應用新技術解決實際問題等方面對一種利用SRUDP 的3G無線網絡視頻監控系統的新型設計做了探討和研究。實驗證明,本設計的創新性強、擴展性好,既可以作為獨立的系統使用,也可以方便地集成到專業級視頻會議和視頻監控等相關應用系統中,例如電力系統監控視頻傳輸、社區安防視頻監控和企業視頻會議等。
本設計的視頻監控系統的總體物理結構如圖1所示。系統主要由視頻監控前端系統、監控中心視頻服務器和監控用戶端3 部分組成。視頻監控前端部分包括攝像機、前端視頻服務器和3G 通信模塊。系統運行時,為適應3G 網絡環境的視頻傳輸,各攝像機首先將采集到的視頻流信號送給前端視頻服務器進行H.264 標準的視頻編碼和壓縮,后經過IP 格式的封裝處理,再通過3G 的通信模塊傳送到監控中心,而監控中心則可以通過3G 網絡或以太網接收和處理視頻數據。監控用戶端可以通過視頻服務器發送控制指令,如控制攝像機鏡頭和云臺等。監控中心視頻服務器的功能是負責轉發和控制監控用戶端請求和調用的視頻流。

圖1 視頻監控系統的總體組成Fig.1 The overall composition of video monitoring system
3G 方式的通信數據傳輸與傳統的網絡數據傳輸相比,可用的帶寬較小,所以容易出現網絡的抖動。因此,當用戶所處的環境變化時,3G 網絡的通信質量也會隨之改變。TCP 協議一般具有擁塞控制和慢啟動的特性,會影響到數據傳輸的速率,而3G通信網絡通過TCP 協議進行數據的傳輸時,也會產生較多的網絡開銷,并占用帶寬。UDP 協議則是一種不可靠的數據傳輸方式,盡管通信的效率較高,在3G 網絡中卻會出現數據丟包的問題,進而會降低視頻傳輸的質量,因此不適合對可靠性要求較高的應用環境[1]。
為解決上述問題, 本設計提出了一種利用SRUDP(Simple Reliable UDP)的3G 無線網絡視頻監控系統的設計方案,系統結構如圖2 所示。

圖2 利用SRUDP 的3G 無線網絡視頻監控系統結構圖Fig.2 The structure diagram of 3G wireless network video monitoring system using SRUDP
圖2 中,位于視頻發送端的H.264 編碼器對攝取的視頻數據首先進行壓縮和編碼,并進行UDP 報頭、SRUDP 報頭和IP 報頭的封裝,然后經過3G 通信網絡的轉發,用戶視頻接收端收到后先進行視頻信號的解碼處理,QoS 監測模塊則負責對視頻質量和網絡狀況的評測,提供監測信息。監測到的信息則以TCP 的方式傳送和反饋回視頻的發送端。發送端根據反饋的QoS 信息,通過編碼器進行速率的自適應調整,并參考SRUDP 的緩存情況來進行相應的參數修改,這樣可以最大程度地減少網絡擁塞的影響,但TCP 的反饋信息并不是最主要的調整因素。
編碼器視頻傳輸的速率調整方法一般來說是根據編碼的擴展性進行。傳統的速率調節一般采用幀丟棄過濾的方式,但這容易引起視頻數據流的不連貫,從而降低視頻服務質量。本項目的設計則采用一種以VOP 優先級為主的包丟棄控制策略,即VOP數據是封裝在視頻數據包中,發送端具有過濾器,如果擁塞超過了設定的上限值,系統就依照VOP 優先級首先丟掉低優先級的視頻數據。這種方式不是丟棄整個的視頻幀,而是丟棄單個的數據包,因此接收端能夠獲得穩定幀率的視頻數據流。
TCP 和UDP 協議因為本身的缺陷并不能較好地滿足某些對傳輸要求很高的應用環境。例如,移動計算環境就需要采用可靠并且高效的傳輸層協議,RUDP 協議雖然能夠滿足傳輸的可靠性要求,但該協議傳輸的控制機制比較復雜,協議的頭部偏長。而SRUDP 是一種簡化和自定義的、并為UDP 引入了許多可靠的控制機制的協議,可以滿足上述要求。
SRUDP 協議基于UDP 之上,具有2 個字節的協議頭,即1 個字節的后向序號和1 個字節的前向序號。后向序號表示的是帶給對方的證實序號,而前向序號表示的是期望對方下一次發送的SRUDP 包的序號。SRUDP 協議圍繞這2 個字節的協議頭采用了簡單而有效的重發機制、證實機制及序號強制對齊機制,以保證通信雙方傳輸的可靠性[2]。
為提高3G 通信網絡UDP 傳輸數據的可靠性,SRUDP 設計的鏈路連接是使用像TCP 方式一樣的的三次握手方式。發送端在數據發送之前,先與接收端嘗試進行連接,但不傳輸真正的用戶數據,只是用來驗證一下傳輸數據的可行性,以保證傳輸鏈路的正確和可靠。發送端與接收端在視頻傳輸的實際過程中,各設置了一個發送緩存與接收緩存的緩存區。SRUDP 是通過采用滑動窗口機制來進行消息的收發同步和流量控制的。因為無論接收緩存的空間有多大,當發送端的發送速率大于接收端時,有可能造成數溢出,引起數據包的丟失[3]。如圖3 所示,發送端的滑動窗口是由發送窗口、重傳隊列與發送隊列3 部分組成的,而接收端的滑動窗口則是由接收窗口與接收隊列兩部分組成的。

圖3 發送端與接收端的滑動窗口Fig.3 The sliding windows of sending end and receiving end
SRUDP 協議中設置了重傳機制,以減小3G 通信網絡因數據包錯誤和丟失對視頻質量產生的影響。發送端是將已發送的數據包放入到重傳隊列,然后開始計時操作,而接收端在收到發送端的數據后,則會回送一個ACK 的信息確認。如果發送端在約定的時間里沒有收到一個ACK 的信息,則會重傳數據。但是一個數據包的重傳如果超過了限定的次數,發送端會放棄重傳的操作,然后退出重傳的隊列。當發送窗口被重傳隊列整個占滿時,就停止滑動窗口,如果重傳發生超時或收到信息確認,隊列再進行改變[4]。
H.264 編碼標準中含有糾錯工具,可以防止數據包丟失出現的問題,同時也具有較高的編碼效率,能夠合理的降低視頻的編碼碼率,所以H.264 非常適合在3G 的通信網絡環境中處理視頻數據。本設計中的前端視頻服務器采用H.264 的壓縮編碼方式,硬件上使用具備ARM 和DSP 雙核的處理器GM8180,由ARM 核心負責操作系統的運行和外圍設備的協調,DSP 則獨立承擔H.264 標準的視頻編碼。這里,經處理器GM 8180 編碼出來的H.264 視頻數據形式是NAL(Network Abstraction Lay)單元格式。為提高系統的可靠性,本設計將視頻壓縮模塊和SRUDP 組包模塊劃分為2 個獨立的進程來實現。考慮到硬件資源有限,選擇System VIPC 的共享內存來完成進程間的通信。
本設計中,H.264 壓縮編碼的糾錯機制主要體現在以下幾個方面:
(1)組建參數集
為了保證在容易出錯的環境中正確地傳輸視頻信息,增強碼流傳輸的糾錯能力,H.264 把一些會造成解碼嚴重失真的關鍵比特信息分離出來,成為一個參數集的形式。
(2)編碼模式的分層化
一般的H.264 編碼分為NAL 層和VCL 層,在VCL 層,對于平均分布的隨機性位錯誤采用前向糾錯編碼比較有效,但對于高誤碼率或突發性錯誤的糾錯效果卻不好。本設計采用分層模式的H.264 編碼,因為NAL 層的作用,可以較好地提高抗誤碼性和糾正突發錯誤[5]。
(3)靈活的宏塊排序
本設計的圖像內部預測機制是只允許用同一片組在空間上相鄰的宏塊,并通過宏塊分配映射技術和靈活的宏塊順序,把每個宏塊分配到不按掃描順序的片中,這樣一幅圖像就由若干個片組成,每片包含一系列的宏塊,并且每個片都是獨立的解碼,不同片的宏塊不能用于自身片中來作為預測參考。這樣,片的設置就不會使誤碼擴散到一幀中。例如,所有的宏塊被分成了片組0 和片組1,當片組1 丟失,因為其周圍的宏塊都屬于其他片的宏塊,根據相鄰域的相關性,片組0 宏塊的某種加權就可用來代替片組1 的相應宏塊[6]。
為充分利用網絡帶寬資源,保持視頻的最佳傳輸質量,本系統的視頻QoS 控制方式運用了迭代算法,即在發送端根據接收端反饋回來的網絡參數來調整編碼速率,具體方法如下。
(1)運用基于模型的方法LDA(Loss-Delay adjustment A lgorithm), 發送端向接收端發送一組TCP格式的APP(App lication Specific Functions)報文形式的探測數據包,這里,APP 報文的量級較低,對傳輸帶寬影響很小。接收端填充APP 報文中的字段Add(Application-dependent data),把網絡帶寬和數據包丟失率等參數反饋給發送端處理。
(2)收到相關參數后,發送端根據接收端反饋回來的網絡參數,確定初始編碼速率V0,并把編碼后的視頻流通過DM IF 層、同步層和傳輸層傳送出去[7]。
(3)為適應網絡帶寬的持續變化,發送端依據從接收端傳回來的APP 報文不斷動態地調整發送的速率,具體步驟為如下。
首先,發送端在收到下一個反饋的APP 包之前,始終保持一個穩定的發送速率Vn,并創建APP 和SR報文。發送端填充APP 的序號,并將SR 中的LSR 字段復制到APP 中的字段Add。每間隔1 s,發送端發送一次APP 的報文,但不發送創建的報文SR。
其次,當接收端解析收到的APP 報文后, 開始創建APP 和RR 報文,接著發送對應的APP 報文,而不發送RR 報文。然后,接收端要復制包丟失率的字段P 與RR 中的字段DLSR 到APP 的字段Add。
然后,當發送端接收到APP 報文后,通過解析獲得包丟失率p 和網絡傳輸延遲Dn的數值。為確定視頻編碼速率Vn的值,發送端是運用迭代算法來進行計算,具體如下:設定Vmin=0, Vmax=V0,如果Dn減小,則Vn相對于網絡帶寬來講偏小,Vmin=Vn;如果Dn增加,則Vn相對于網絡帶寬來講偏大,Vmax=Vn。由此,當前的視頻編碼速率Vn+1為

當p>0.2 時,說明當前的網絡擁塞狀況比較嚴重,這時Vn會進行快速調整,即Vn=Vn×0.8。當0.1
(4)TCP 的APP 報文會由于各種原因丟失,因為發送和接收端都有一個TCP 報文的緩沖區,因此依據定時器的時間計數,當超過5 s的間隔卻沒有收到APP 的報文時,發送端和接收端將進行自動重發APP 的數據包,并進行Vn=Vn×0.8 的調整。
本設計的仿真實驗裝置選擇在3G 網絡通信的環境中,針對UDP、TCP 與SRUDP 協議進行傳輸性能的對比測試。采用3 個數據源信號發生器,分別輸出1 路基于UDP 協議的2M 數據流、基于TCP 協議的2M 數據流和基于SRUDP 協議和H.264 的2M視頻流。視頻的時長為15 min,分辨率為640×480。發送端使用3G 通信終端,接收端采用ADSL 網絡,收發端網絡接口帶寬10 Mbit/s,傳輸延遲5 ms。每種協議分別測試30 次,計算平均值。以視頻接收端統計的數據包丟失率作為視頻質量的評價標準,實驗結果如表1 所示。

表1 UDP、TCP 與SRUDP 傳輸實驗對比Table 1 Transmission experimental comparison of UDP,TCP and SRUDP
測試結果發現,當發送端的UDP 數據流逐漸增大時,在接收端的數據包丟失率也跟著逐漸增大,可以看出UDP 數據流對傳輸帶寬的影響較大,也不能完成對網絡擁塞的自適應調整。但當發送端的TCP流或SRUDP 流逐漸增加時,接收端測得的數據丟包率變化不明顯。這是因為TCP 流或SRUDP 流增加時,雖然會占用較多的網絡帶寬,但發送端卻可以根據網絡可用帶寬的實際狀況適時地改變輸出的速率大小,因此能自適應網絡擁塞的情況,并自動占用較少的網絡資源,由此降低了接收端的包丟失率和傳輸時延,并保證了數據流競爭帶寬資源的公平性。實驗同時也發現,在3G 環境里,在同樣的包丟失率情況下,SRUDP 數據流的傳輸速率是TCP 數據流的1.5 ~2 倍,明顯高于TCP 數據流,由此也體現了基于SRUDP 的視頻應用在3G 通信網絡數據傳輸中的優越性。
在1 路SRUDP 數據流和1 路UDP 數據流的并行發送實驗中,在逐漸增加發送UDP 數據流的同時,發送端也循環發送一定的SRUDP 視頻數據流,實驗中發現接收端的視頻流數據丟包率也逐漸上升。而在1 路SRUDP 數據流和2 路TCP 數據流的并行發送實驗中,TCP 數據流面對擁塞環境會自我進行調整。例如,實驗發現如果1 路TCP 數據流的速率為128 kbit/s,2 路并行時則約為114 kbit/s。因此,本系統的SRUDP 視頻流和TCP 流共享網絡帶寬時,有一定的自適應性。
雖然,目前國內應用的固定視頻采集實時傳輸系統比較廣泛,但由于布線較多,在一些特殊環境中無法應用。3G 網絡的正式商用為我們帶來了真正意義上的移動無線寬帶網絡,無線帶寬及復雜環境的瓶頸再一次被打破,一直跟隨通信技術而發展的視頻監控系統也由此升級到了3G 無線視頻監控的階段[9]。本文提出的一種利用SRUDP 的3G 無線網絡視頻監控系統的新型設計方案很好地解決了在特殊的無線信道中傳輸實時和高質量視頻信號的關鍵問題。實驗表明,在3G 環境里,SRUDP 視頻流可以自適應地與TCP 數據流共享網絡帶寬,而傳輸速率可以提高到TCP 數據流的1.5 ~2 倍,因此本設計在降低視頻數據包丟失率、提高傳輸速率和改善視頻質量等方面具有明顯的優越性。
因為3G 網絡承載的復雜性和多樣性,在實時視頻應用中需要進一步深入研究高效帶寬的捕捉和反饋、傳輸協議的延伸和大流量的視頻應用等課題。
[1] Kang S H,Zakhor A.Packet Scheduling Algorithm for W ireless Video streaming[ C]//Proceeding of International Packet video Workshop 2002.Pittsburgh,Pa,USA:IEEE,2002:53-62.
[2] Ren Zhikao,Liu Minghua,Ye Chen, et al.The real time video transm ission system based on H.264[ C]//Proceedings of 2009 International Conference on Web Information Systems and Mining.Shanghai:IEEE,2009:270-274.
[3] 翟霄宇, 陳釗正,陳啟美.基于3G 網絡的船載視頻傳輸及保障系統[ J] .計算機應用,2011(11):3161-3164.
ZHAI Xiao-yu, CHEN Zhao-zheng, CHEN Qi-mei.Ship video transmission and p rotection system based on 3G network[J] .Journal of Computer Application, 2011(11):3161 -3164.(in Chinese)
[4] 聞恩友, 趙正德, 楊立朝, 等.3G 網絡的移動視頻監控系統[J] .中國圖象圖形學報,2008(10):88-91.
WEN En-you, ZHAO Zheng-de, YANG Li-chao, et al.Mobile Video Surveillance System on 3G Network[ J] .Journal of Image and Graphics,2008(10):88-91.(in Chinese)
[5] 李捷, 周云嫻, 王雨, 等.網絡視頻編碼中的分層技術[J] .計算機工程與應用,1999(8):81-83.
LI Jie,ZHOU Yun-xian,WANG Yu, et al.Layered Coding for Video Over Network[J] .Computer Engineering and App lications,1999(8):81-83.(in Chinese)
[6] Sameh A,Wagh S, Salama Q.Dealing with quality of service in hybrid wired -wireless networks[ C]//Proceeding of the Second International Conference on Network Applications,Protocols and Services.Kedah:IEEE,2010:105-109.
[7] Hammi R, Chen K.Dynamic rate control in wireless video communications[ R] .Villetaneuse, France:Institute Galilee,University Paris,2004.
[8] 梅魯海.電力系統監控視頻傳輸速率自適應控制設計[J] .電力系統及其自動化學報,2012(2):55-58.
MEI Lu-hai.Design of Video Transm ission Rate Adap tive Control in Electric Power Monitoring System[J] .Proceedings of the Chinese Society of Universities for Electric Power System and Automation,2012(2):55-58.(in Chinese)
[9] Widmer J,Mauve M.A survey TCP-friendly congestion contro1[ J] .IEEE Network Magazine,2001,15(3):28-37.