鄭 靖,王 鋒
(1.武漢郵電科學研究院光纖通信技術與網絡國家重點實驗室,湖北 武漢 430074;2.武漢虹信通信技術有限責任公司,湖北 武漢 430074)
無線視頻質量衡量的重要指標是流暢性和實時性。無線網絡傳輸的上行帶寬有限,傳輸的視頻圖像往往容易出現馬賽克和延遲等現象[1]。由于視頻監控應用場合的特殊性,某些視頻監控點未必都能采用有線來傳輸,譬如車載移動視頻監控、山區林地火情災害監測、高速公路沿線監視、油田無人區巡視、邊防岸線監控等常規布線方式難以實現,或布線成本過高的地區,就能最大限度地發揮無線視頻監控的優勢。由于無線帶寬的限制和不穩定性,難以保證設備在無線鏈路上傳輸視頻的實時性和流暢性。若沒有合適的處理方法,視頻在無線傳輸過程中很容易丟包,造成馬賽克或視頻畫面較大延時。
本文針對無線網絡帶寬不穩定性的問題,通過高性能的ARM9芯片控制無線模塊,提出了無線視頻傳輸帶寬的自適應算法,在很大程度上避免了無線視頻傳輸過程中出現的馬賽克和視頻畫面延時,基本能保證視頻的流暢性和實時性。
系統從結構上可以劃分為前端設備、無線通信網絡、平臺服務器和客戶端4部分。前端設備主要完成視頻信號的采集、編碼和相應的云臺控制等。無線通信網絡包括TD-SCDMA、WCDMA和CDMA2000無線網絡等。平臺服務器負責無線視頻設備的信令的轉發、視頻流的轉發、硬盤存儲等功能。客戶端主要完成視頻流的解碼顯示。
本方案采用TI的DaVinciTM系列TMS320DM368處理器。該處理器集成了一個ARM926EJ-S內核,一個H.264高清解碼協處理器HDVICP和一個MPEG-4/JPEG高清編解碼協處理器MJCP,能支持H.264/MPEG-4的高清編解碼。本方案通過ARM9的USB連接無線模塊[2],系統硬件框圖如圖1所示。

圖1 系統硬件框圖
本方案基于Linux嵌入式操作系統,采用模塊化的程序設計。其中無線模塊初始化程序和無線模塊狀態維護程序與無線模塊相關。無線模塊的初始化工作主要完成無線模塊的搜索和狀態設置的工作[3]。設備上電時,對多個無線模塊進行初始化,根據AT命令的應答模式判定模塊是否工作正常,從而設定無線模塊狀態(可操作或不可操作)。如圖2所示,無線模塊狀態為不可操作時,控制無線模塊的電源開關,使該模塊斷電,這樣有利于降低整個設備的功耗;無線模塊狀態為可操作時,設定相應運營商的撥號,接入Internet網絡的系統參數,然后啟動無線模塊狀態維護服務。

圖2 無線模塊初始化流程
在無線模塊狀態維護服務中,系統自動檢測無線模塊網絡注冊是否成功,若成功,則根據初始化過程中設定好的參數,對無線模塊進行PPP撥號,并由此獲取與無線模塊一一對應的IP地址,而后建立指向接收視頻數據服務器的目的IP地址的網絡鏈接,并添加該鏈接到路由表,設定無線模塊狀態為在線,如圖3所示。
相關函數說明為:

自適應算法就是根據網絡帶寬的情況,針對當前無線網絡狀況,動態調整發送碼流(包括幀率,關鍵幀間隔等)以提高無線視頻傳輸QoS的方法。

圖3 模塊注冊流程圖
本方案中,自適應算法采用的是碼率自適應切換。實時統計傳輸信道在單位時間內(一般為3 min)的平均數據傳輸速率和RTCP反饋回來的丟包率信息,作為編碼器產生實時視頻數據的編碼參數,統計得到自適應控制的閾值。
丟包率計算方法:由于RTP包在分包時,對于同一幀數據時間戳是一樣的,對于每一RTP小包,幀序號是連續的。因此在接收方,根據這些序列號來判斷丟包的情況。
可以用如下式子計算丟包率

式(1)表示在一段時間里對網絡狀況的統計,L表示在當前時間里的丟包率,NLoss表示傳輸過程中丟失的分組數,NSend表示發送的總包數。
統計算法采用的是概率統計的方式,通過在一段時間內,根據不用的丟包等級,來獲得丟包率的情況。比如,在Ti時間內,丟包Li級共占多少時間,由此得到Ti時間內,丟包率為Li級的概率,即P(Li/Ti)。
用丟包率的概率

式(2)表示Ti時間內丟包的概率。其中c表示閾值,將很長時間分為若干小段,也可以統計在很長一段時間(Time)內丟包發生的數學期望。
用Time內丟包發生概率的數學期望E(Loss_Data )=,表示無線網絡的流暢度。E(Loss_Data)越小,說明此時的網絡狀況越好。反之亦然。
通過分析不同時間段的丟包率期望和方差的值,能夠得到幾個理想的丟包等級的閾值L。本文L的值最佳閾值設置為 0.3[4]。
如果丟包率低于閾值時,表明當前網絡狀況好,采用增碼控制處理,即一開始發送碼流成指數速率快速爬升,當到達閾值后,線性增加發送碼率。如果當前丟包率高于閾值時,表明當前網絡擁塞,采用阻塞控制處理,即進行清空緩沖區操作,丟去I幀和其中所有P幀,直到下一個I幀的到來。
通過上述算法,使得碼率的調整能真正適應網絡的變化,從而客戶端能夠得到清晰的圖像。自適應算法流程圖如圖4所示。

圖4 自適應算法流程
測試環境無線設備放在戶外,通過公共移動通信網絡接入到視頻服務器平臺。在接收端顯示視頻圖像。主要測量參數有:視頻圖像馬賽克現象、視頻從前端設備到客戶端延時的時間和視頻質量好壞。測試結果如表1。

表1 測試數據
對比自適應算法和傳統方法,得到的試驗結果如圖5、圖6、圖7 和圖8。




從表1可以看到,當傳輸視頻格式為CIF時,此時帶寬在300~700 bit/s范圍內,系統延遲穩定在200 ms左右。視頻流暢清晰,沒有馬賽克現象。從圖5可以看到,視頻清晰度明顯高于圖6。圖7輸出的波形是標準的視頻信號的波形,而圖8輸出的波形,視頻信號的正程和消隱信號明顯變形。
分析以上試驗數據可知,采用自適應算法時,在接收端得到的視頻輸出波形正程和消隱信號未出現變形,充分證明了此時視頻數據丟包率比較低,視頻數據幀得到正常顯示。
因此自適應算法很好地解決了無線視頻丟包率較高的問題,系統也基本實現了無線視頻傳輸的實時性(延時只有200 ms),加上系統丟包率低,從而實現了監控與傳輸控制的可靠性,系統運行良好。
本文采用TI公司的DM368芯片[5],針對網絡丟包率比較大,運用傳輸帶寬的自適應算法,能很大程度地避免無線視頻傳輸過程中出現的丟包和視頻畫面延時等問題,基本能保證視頻的流暢性和實時性。該模型可以用于任何面向IP網絡的無線視頻傳輸系統,并獲得良好的效果。
[1]胡棟,劉峰,朱秀昌.實時多模式無線視頻傳輸原型系統的實現[J].通信學報,2006,27(10):106-112.
[2]孫天澤,袁文菊,張海峰.嵌入式設計及Linux驅動開發指南——基于ARM9處理器[M].北京:電子工業出版社,2005.
[3]尤盈盈.基于嵌入式系統的無線多媒體傳輸系統終端的研究[D].杭州:浙江工業大學,2005.
[4]翁睿.基于GPRS網絡的自適應碼率視頻傳輸[D].上海:復旦大學,2008.
[5]吳長樹.一種基于公共移動通信的視頻包多鏈路接收和播放方法:中國,200910241583.6[P].2010-05-12.