鄭 靖,王 鋒
(1.武漢郵電科學(xué)研究院光纖通信技術(shù)與網(wǎng)絡(luò)國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430074;2.武漢虹信通信技術(shù)有限責(zé)任公司,湖北 武漢 430074)
無線視頻質(zhì)量衡量的重要指標(biāo)是流暢性和實(shí)時性。無線網(wǎng)絡(luò)傳輸?shù)纳闲袔捰邢?,傳輸?shù)囊曨l圖像往往容易出現(xiàn)馬賽克和延遲等現(xiàn)象[1]。由于視頻監(jiān)控應(yīng)用場合的特殊性,某些視頻監(jiān)控點(diǎn)未必都能采用有線來傳輸,譬如車載移動視頻監(jiān)控、山區(qū)林地火情災(zāi)害監(jiān)測、高速公路沿線監(jiān)視、油田無人區(qū)巡視、邊防岸線監(jiān)控等常規(guī)布線方式難以實(shí)現(xiàn),或布線成本過高的地區(qū),就能最大限度地發(fā)揮無線視頻監(jiān)控的優(yōu)勢。由于無線帶寬的限制和不穩(wěn)定性,難以保證設(shè)備在無線鏈路上傳輸視頻的實(shí)時性和流暢性。若沒有合適的處理方法,視頻在無線傳輸過程中很容易丟包,造成馬賽克或視頻畫面較大延時。
本文針對無線網(wǎng)絡(luò)帶寬不穩(wěn)定性的問題,通過高性能的ARM9芯片控制無線模塊,提出了無線視頻傳輸帶寬的自適應(yīng)算法,在很大程度上避免了無線視頻傳輸過程中出現(xiàn)的馬賽克和視頻畫面延時,基本能保證視頻的流暢性和實(shí)時性。
系統(tǒng)從結(jié)構(gòu)上可以劃分為前端設(shè)備、無線通信網(wǎng)絡(luò)、平臺服務(wù)器和客戶端4部分。前端設(shè)備主要完成視頻信號的采集、編碼和相應(yīng)的云臺控制等。無線通信網(wǎng)絡(luò)包括TD-SCDMA、WCDMA和CDMA2000無線網(wǎng)絡(luò)等。平臺服務(wù)器負(fù)責(zé)無線視頻設(shè)備的信令的轉(zhuǎn)發(fā)、視頻流的轉(zhuǎn)發(fā)、硬盤存儲等功能??蛻舳酥饕瓿梢曨l流的解碼顯示。
本方案采用TI的DaVinciTM系列TMS320DM368處理器。該處理器集成了一個ARM926EJ-S內(nèi)核,一個H.264高清解碼協(xié)處理器HDVICP和一個MPEG-4/JPEG高清編解碼協(xié)處理器MJCP,能支持H.264/MPEG-4的高清編解碼。本方案通過ARM9的USB連接無線模塊[2],系統(tǒng)硬件框圖如圖1所示。
圖1 系統(tǒng)硬件框圖
本方案基于Linux嵌入式操作系統(tǒng),采用模塊化的程序設(shè)計(jì)。其中無線模塊初始化程序和無線模塊狀態(tài)維護(hù)程序與無線模塊相關(guān)。無線模塊的初始化工作主要完成無線模塊的搜索和狀態(tài)設(shè)置的工作[3]。設(shè)備上電時,對多個無線模塊進(jìn)行初始化,根據(jù)AT命令的應(yīng)答模式判定模塊是否工作正常,從而設(shè)定無線模塊狀態(tài)(可操作或不可操作)。如圖2所示,無線模塊狀態(tài)為不可操作時,控制無線模塊的電源開關(guān),使該模塊斷電,這樣有利于降低整個設(shè)備的功耗;無線模塊狀態(tài)為可操作時,設(shè)定相應(yīng)運(yùn)營商的撥號,接入Internet網(wǎng)絡(luò)的系統(tǒng)參數(shù),然后啟動無線模塊狀態(tài)維護(hù)服務(wù)。
圖2 無線模塊初始化流程
在無線模塊狀態(tài)維護(hù)服務(wù)中,系統(tǒng)自動檢測無線模塊網(wǎng)絡(luò)注冊是否成功,若成功,則根據(jù)初始化過程中設(shè)定好的參數(shù),對無線模塊進(jìn)行PPP撥號,并由此獲取與無線模塊一一對應(yīng)的IP地址,而后建立指向接收視頻數(shù)據(jù)服務(wù)器的目的IP地址的網(wǎng)絡(luò)鏈接,并添加該鏈接到路由表,設(shè)定無線模塊狀態(tài)為在線,如圖3所示。
相關(guān)函數(shù)說明為:
自適應(yīng)算法就是根據(jù)網(wǎng)絡(luò)帶寬的情況,針對當(dāng)前無線網(wǎng)絡(luò)狀況,動態(tài)調(diào)整發(fā)送碼流(包括幀率,關(guān)鍵幀間隔等)以提高無線視頻傳輸QoS的方法。
圖3 模塊注冊流程圖
本方案中,自適應(yīng)算法采用的是碼率自適應(yīng)切換。實(shí)時統(tǒng)計(jì)傳輸信道在單位時間內(nèi)(一般為3 min)的平均數(shù)據(jù)傳輸速率和RTCP反饋回來的丟包率信息,作為編碼器產(chǎn)生實(shí)時視頻數(shù)據(jù)的編碼參數(shù),統(tǒng)計(jì)得到自適應(yīng)控制的閾值。
丟包率計(jì)算方法:由于RTP包在分包時,對于同一幀數(shù)據(jù)時間戳是一樣的,對于每一RTP小包,幀序號是連續(xù)的。因此在接收方,根據(jù)這些序列號來判斷丟包的情況。
可以用如下式子計(jì)算丟包率
式(1)表示在一段時間里對網(wǎng)絡(luò)狀況的統(tǒng)計(jì),L表示在當(dāng)前時間里的丟包率,NLoss表示傳輸過程中丟失的分組數(shù),NSend表示發(fā)送的總包數(shù)。
統(tǒng)計(jì)算法采用的是概率統(tǒng)計(jì)的方式,通過在一段時間內(nèi),根據(jù)不用的丟包等級,來獲得丟包率的情況。比如,在Ti時間內(nèi),丟包Li級共占多少時間,由此得到Ti時間內(nèi),丟包率為Li級的概率,即P(Li/Ti)。
用丟包率的概率
式(2)表示Ti時間內(nèi)丟包的概率。其中c表示閾值,將很長時間分為若干小段,也可以統(tǒng)計(jì)在很長一段時間(Time)內(nèi)丟包發(fā)生的數(shù)學(xué)期望。
用Time內(nèi)丟包發(fā)生概率的數(shù)學(xué)期望E(Loss_Data )=,表示無線網(wǎng)絡(luò)的流暢度。E(Loss_Data)越小,說明此時的網(wǎng)絡(luò)狀況越好。反之亦然。
通過分析不同時間段的丟包率期望和方差的值,能夠得到幾個理想的丟包等級的閾值L。本文L的值最佳閾值設(shè)置為 0.3[4]。
如果丟包率低于閾值時,表明當(dāng)前網(wǎng)絡(luò)狀況好,采用增碼控制處理,即一開始發(fā)送碼流成指數(shù)速率快速爬升,當(dāng)?shù)竭_(dá)閾值后,線性增加發(fā)送碼率。如果當(dāng)前丟包率高于閾值時,表明當(dāng)前網(wǎng)絡(luò)擁塞,采用阻塞控制處理,即進(jìn)行清空緩沖區(qū)操作,丟去I幀和其中所有P幀,直到下一個I幀的到來。
通過上述算法,使得碼率的調(diào)整能真正適應(yīng)網(wǎng)絡(luò)的變化,從而客戶端能夠得到清晰的圖像。自適應(yīng)算法流程圖如圖4所示。
圖4 自適應(yīng)算法流程
測試環(huán)境無線設(shè)備放在戶外,通過公共移動通信網(wǎng)絡(luò)接入到視頻服務(wù)器平臺。在接收端顯示視頻圖像。主要測量參數(shù)有:視頻圖像馬賽克現(xiàn)象、視頻從前端設(shè)備到客戶端延時的時間和視頻質(zhì)量好壞。測試結(jié)果如表1。
表1 測試數(shù)據(jù)
對比自適應(yīng)算法和傳統(tǒng)方法,得到的試驗(yàn)結(jié)果如圖5、圖6、圖7 和圖8。
從表1可以看到,當(dāng)傳輸視頻格式為CIF時,此時帶寬在300~700 bit/s范圍內(nèi),系統(tǒng)延遲穩(wěn)定在200 ms左右。視頻流暢清晰,沒有馬賽克現(xiàn)象。從圖5可以看到,視頻清晰度明顯高于圖6。圖7輸出的波形是標(biāo)準(zhǔn)的視頻信號的波形,而圖8輸出的波形,視頻信號的正程和消隱信號明顯變形。
分析以上試驗(yàn)數(shù)據(jù)可知,采用自適應(yīng)算法時,在接收端得到的視頻輸出波形正程和消隱信號未出現(xiàn)變形,充分證明了此時視頻數(shù)據(jù)丟包率比較低,視頻數(shù)據(jù)幀得到正常顯示。
因此自適應(yīng)算法很好地解決了無線視頻丟包率較高的問題,系統(tǒng)也基本實(shí)現(xiàn)了無線視頻傳輸?shù)膶?shí)時性(延時只有200 ms),加上系統(tǒng)丟包率低,從而實(shí)現(xiàn)了監(jiān)控與傳輸控制的可靠性,系統(tǒng)運(yùn)行良好。
本文采用TI公司的DM368芯片[5],針對網(wǎng)絡(luò)丟包率比較大,運(yùn)用傳輸帶寬的自適應(yīng)算法,能很大程度地避免無線視頻傳輸過程中出現(xiàn)的丟包和視頻畫面延時等問題,基本能保證視頻的流暢性和實(shí)時性。該模型可以用于任何面向IP網(wǎng)絡(luò)的無線視頻傳輸系統(tǒng),并獲得良好的效果。
[1]胡棟,劉峰,朱秀昌.實(shí)時多模式無線視頻傳輸原型系統(tǒng)的實(shí)現(xiàn)[J].通信學(xué)報(bào),2006,27(10):106-112.
[2]孫天澤,袁文菊,張海峰.嵌入式設(shè)計(jì)及Linux驅(qū)動開發(fā)指南——基于ARM9處理器[M].北京:電子工業(yè)出版社,2005.
[3]尤盈盈.基于嵌入式系統(tǒng)的無線多媒體傳輸系統(tǒng)終端的研究[D].杭州:浙江工業(yè)大學(xué),2005.
[4]翁睿.基于GPRS網(wǎng)絡(luò)的自適應(yīng)碼率視頻傳輸[D].上海:復(fù)旦大學(xué),2008.
[5]吳長樹.一種基于公共移動通信的視頻包多鏈路接收和播放方法:中國,200910241583.6[P].2010-05-12.