3G視頻監(jiān)控系統(tǒng)中關鍵技術的研究與實現
摘要:描述了基于3G標準的無線視頻監(jiān)控系統(tǒng)關鍵技術的研究與實現方案,主要包括基于H.264的雙碼流模塊、多線程、RTP打包等,它不僅具有傳統(tǒng)監(jiān)控系統(tǒng)穩(wěn)定性高、實時性好、免布線等優(yōu)點,而且用戶可以隨時隨地通過3G網絡進行視頻監(jiān)控和視頻圖像錄制。測試結果表明,各模塊都達到預期指標,3G無線環(huán)境下可進行實時視頻瀏覽,視頻質量與有線局域網相比相差不大。
關鍵詞:視頻監(jiān)控;3G網絡;雙碼流;RTP
0 引言
經過多年的發(fā)展,視頻監(jiān)控技術已由早期模擬設備為主的第一代視頻監(jiān)控系統(tǒng)發(fā)展到目前的數字視頻監(jiān)控,人們已不再滿足于傳統(tǒng)的監(jiān)控系統(tǒng)。隨著3G技術難點的突破以及3G網絡的發(fā)展,使3G無線視頻監(jiān)控的實現成為了可能。在此背景下提出了一個基于3G標準的無線視頻監(jiān)控系統(tǒng)的設計方案并實現了基本功能,本文著重介紹該系統(tǒng)關鍵技術的實現方法,包括雙碼流模塊、多線程通信、RTP封裝及改進,最后討論了無線網絡視頻傳輸健壯性的問題以及解決方案。
1 雙碼流技術的實現
目前,困擾中國網絡視頻監(jiān)控市場發(fā)展的主要因素就是缺乏良好的網絡基礎環(huán)境,而雙碼流正是針對這一問題提出的解決方案,它是對安防行業(yè)的一次提速。
雙碼流,即在視頻編碼端中同時存在兩種碼流。雙碼流是通過在編碼端采用兩種格式或兩個不同的分辨率分別進行編碼來實現的。該監(jiān)控系統(tǒng)基于DM365硬件開發(fā)平臺,由于DM365開發(fā)板屬于DAVINCI系列,必須深入研究DM365應用層調用具體算法的結構,如圖1所示。由圖中可知,應用層調用的接口是DMAI(DaVinci Multimedia Application Interface),它是DSP提供給ARM端應用程序的調用接口。DMAI是各種模塊集合,應用程序可以從中選擇模塊來使用。此外DMAI提供了源碼,便于修改使用,以滿足應用要求。DMAI里面有各種接口實現方式,修改DMAI接口具體實現使其滿足雙碼流。
首先將DM365中兩個編碼通道全部使能,保證了開發(fā)板對雙碼流的支持,然后,在應用程序中采集兩路的數據,分別調用DMAI中的編碼函數Vencl_create,進而對兩路數據進行兩次編碼,這樣就得到兩路不同分辨率大小的編碼數據流。本文實現了一路D1,一路是CIF大小(用于傳輸)的碼流,并且都達到20幀的速率,可以保證視頻流質量。它在現有網絡瓶頸下兼顧了圖像質量和傳輸實時性,可以突破網絡瓶頸,根據網絡帶寬靈活選擇碼流格式,達到本地高清存儲,同時保證一定遠程監(jiān)控質量的低碼流網絡傳輸。
2 多線程技術在3G無線視頻監(jiān)控中的應用
由于視頻圖像傳輸需要做到實時性和良好的傳輸質量,而系統(tǒng)需求的功能又比較復雜,包括視頻數據采集、視頻編碼、RTP打包發(fā)送、視頻數據流保存等工作,而它們的流程又不是簡單的順序執(zhí)行,所以這里引入了多線程。
本論文提出的方案中包括Capture,Video和Writer三個主要線程,分別完成原始數據YUV數據的采集、H.264數據壓縮、視頻數據的寫文件,而在視頻采集線程中加入了異常檢測模塊(該模塊利用原始數據進行檢測異常),在視頻數據壓縮線程中采用了雙碼流技術,并將CIF分辨率的壓縮數據進行RTP協(xié)議封裝,在Writer線程中實現了以時間為文件名的保存方式并將其保存到SD卡中。在此基礎上實現設防、拆防、異常檢測、客戶端與監(jiān)控端通信,又引入了兩個線程,分別完成等待電話、客戶端與監(jiān)控端的SOCKET通信完成命令傳輸功能。整個線程結構與通信方式如圖2所示。
采用了pipe管道進行線程間通信,且設置為阻塞模式,整個流程即Capture線程得到數據,將地址送給Video線程,Video線程經過H.264視頻壓縮把DI分辨率的地址送給Writer,而CIF分辨率根據發(fā)送標記來確定是否發(fā)送,Writer線程完成寫文件操作后,將buffer指針返回,完成一幀采集、編碼、發(fā)送、保存等工作,如此反復循環(huán)。而其他線程通信則采用全局變量來進行傳輸標記位,而無需使用FIFO,降低了實現復雜度。
[!--empirenews.page--]
3 RTP協(xié)議封裝及改進
本文采用RTP協(xié)議,提供了端對端傳輸服務的實時傳輸協(xié)議,用來支持在單播和多播網絡服務中傳輸實時數據,而實際數據的傳輸則由RTCP控制協(xié)議來監(jiān)視和控制。RTP協(xié)議一般要求與RTCP一起使用,來保證數據傳輸質量。這種結構在本次設計無線環(huán)境會遇到兩個問題:
(1)如果增加RTCP,那么增加了復雜度,降低了實時性。
(2)RTP協(xié)議沒有加密信息,容易被非授權用戶瀏覽到視頻數據。
針對第一個問題,本文提出一個策略,即在編碼端RTP打包時,在每個NAL單元頭的前面加上4個字節(jié)的幀的長度,解碼端只要根據NAL單元的長度,即可判斷是否在傳輸中有錯誤,如果有將該NAL單元丟棄,此時無需采用RTCP來向監(jiān)控端反饋信息,從而降低實現復雜度;此時雖然丟棄了一個NAL單元,但是監(jiān)控端的幀率是20幀/s,根據人眼視覺殘留的效應,這基本上不會引起人眼的察覺。這里還要說明,當NAL單元的幀長大于MTU時,為了避免底層驅動將其分包,需要應用層采用分片打包方式,而此時只需在NAL單元的第一個分包增加4個字節(jié)的幀長度信息,而無需在每個分包上都加上該字段。這樣在手機端無需返回RTCP包等反饋信息,降低了實現復雜度,增強了實時性。
針對第二個問題,本文提出了一個簡單加密方案,具體采用的策略是在關鍵幀后加上自定義加密信息,本設計為3 b的自定義信息,在解碼端只要判斷該RTP分包是關鍵幀,去掉RTP頭,然后去掉4個字節(jié)幀長度信息,再去掉自定義3 b信息,而其他幀不做任何改變。當解碼端收到RTP包時,對于非關鍵幀雖然能正常解包,但是它并不能獨立解碼,它必須依賴關鍵幀,因此關鍵幀加密后,只要關鍵幀不解密,其他幀都不能正常播放。這種方法無需在所有幀上都加入加密信息,只在關鍵幀RTP打包增加了幾個bit,就達到了比較好的加密效果,在應用中要注意效率和復雜度的權衡來調整相應方案。
4 無線視頻傳輸的健壯性研究
由于本文提出的視頻監(jiān)控系統(tǒng),需要在3G無線網絡中傳輸,這勢必會受到各種因素的影響,這種干擾,輕微時不會淹沒正常圖像,而嚴重時圖像就無法觀看,或者由于無法捕捉到關鍵信息而無法顯示圖像。下面首先分析這種故障產生的原因:
(1)視頻編碼端本身的問題。視頻編碼端傳輸線屏蔽性能差造成信號產生較大衰減。此外,編碼端也可能受到輻射、設施腐化等不定因素的影響,這也會產生同樣的問題。
(2)無線傳輸環(huán)境的影響。無線信道中存在著Rayleigh衰減和多用戶干擾,會在傳輸位流中產生突發(fā)性錯誤(Burst Error)。但壓縮后的碼流在無線信道中傳輸仍然存在一些棘手的問題,一方面,這些壓縮后的碼流對信道比特誤碼非常敏感;另一方面,無線信道由于多徑反射和衰落引入了大量的隨機誤碼和突發(fā)誤碼,結果在解碼端將失去與編碼端的同步,同時預測編碼技術會將錯誤擴散到整個視頻序列中,降低了重建圖像的質量。因此,為了實現良好質量的視頻傳輸,必須結合無線信道的傳輸特性,采取一定的容錯措施。
基于以上方面的考慮,以及斷續(xù)無法重連的問題,本文提出一種方案,并在實踐中得到良好的驗證,有效地解決了以上問題:即在編碼端得到編碼序列后周期性地發(fā)送兩個參數集,即序列參數集和圖像參數集,由于它們包含了解碼需要的大部分關鍵信息,包括圖像大小、量化參數、NAL單元類型等,因此即使在解碼端第一次無法與編碼端同步,也可以在后續(xù)過程中通過上述兩個參數集重新同步。未插入參數集之前、插入參數集之后的示意圖如圖3,圖4所示。
本文的具體方案是在編碼端周期性地發(fā)送上面的兩個序列集,會遇到一個問題,即發(fā)送間隔設置,這里提出H.264中一個重要概念IDR幀,由于編碼器算法是隔30幀編碼一個IDR幀,那么可以在這一個IDR幀之前加入上述兩個參數集,當然也可以設置間隔為60,90幀,但這會引入更大延時,由于監(jiān)控產品嚴格的實時性要求,所以本文選定了隔30幀周期性發(fā)送,那么實際的關鍵幀間隔則變?yōu)?2幀。同時可以調整RTP協(xié)議里面的時間戳字段,使其配合關鍵幀間隔的變化。[!--empirenews.page--]
5 測試結果
下面是對有線局域網和3G網絡分別在有碼率控制和無碼率控制的條件下得出的測試結果,如表1所示。
下面是在有碼率控制且為80 Kb/s下,實驗室有線、3G網絡狀況下的視頻截圖,如圖5,圖6所示。
實驗結果表明該監(jiān)控系統(tǒng)達到設計的主要指標以及帶寬要求。系統(tǒng)有雙碼流產生,一路保存,一路CIF分辨率的數據發(fā)送并用VLC播放器接收后能實時播放,而且相比有線環(huán)境視頻質量沒有受到很大影響,且可以實現隨機接入,延時2~3s。
6 結語
基于3G標準的無線視頻監(jiān)控綜合了多門技術,主要包括視頻編解碼、3G無線網絡、流媒體協(xié)議等,隨著視頻監(jiān)控產業(yè)的發(fā)展,這些技術也隨之成為很有價值的研究課題。本文介紹了無線視頻監(jiān)控的幾個關鍵技術實現,并用軟件方法實現了視頻流實時傳輸。隨著3G網絡速度的提高和壓縮新技術的實現,可以進一步降低延遲,得到真正的實時傳輸,為人們的生活帶來了更大的便利。