鄧娜 黃河明
本文以互聯(lián)網(wǎng)作為數(shù)據(jù)傳輸載體,介紹了基于DM6467視頻監(jiān)控系統(tǒng)的硬件設(shè)計,并詳細(xì)的描述了系統(tǒng)的各功能模塊軟件設(shè)計及流程,實現(xiàn)了實時圖像采集、壓縮、網(wǎng)絡(luò)傳輸和實時顯示等功能??蓱?yīng)用于智能家居、視頻會議等多種場合。
【關(guān)鍵詞】視頻采集 網(wǎng)絡(luò) 監(jiān)控
隨著圖像處理技術(shù)的不斷發(fā)展,視頻監(jiān)控已成為安防的必要手段。同時,網(wǎng)絡(luò)技術(shù)的發(fā)展,使得基于網(wǎng)絡(luò)的視頻監(jiān)控系統(tǒng)成為未來的發(fā)展趨勢,解決了傳統(tǒng)監(jiān)控系統(tǒng)布線復(fù)雜,昂貴等問題。
本文著重對基于嵌入式的網(wǎng)絡(luò)監(jiān)控系統(tǒng)進行研究,設(shè)計并實現(xiàn)了基于DM6467處理器的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。系統(tǒng)采用H.264算法對原始圖像進行壓縮編碼,圖像壓縮比高,節(jié)約了網(wǎng)絡(luò)資源。通過嵌入式Linux對系統(tǒng)進行維護和調(diào)度,可靠性高,穩(wěn)定性好。
1 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件主要由監(jiān)控中心計算機、信號采集核心板、模擬攝像頭等部分構(gòu)成。監(jiān)控中心采用一般的微機,與網(wǎng)絡(luò)連接即可。信號采集板采用TI達芬奇處理器DM6467為控制核心,通過TVP5158對模擬信進行采集。其中還包括256MB SRAM、128MB NAND Flash,以及其他外設(shè)接口。256MB SRAM作為系統(tǒng)運行內(nèi)存,NAND Flash作為系統(tǒng)存儲器。外設(shè)接口包括千兆以外網(wǎng)接口、I2C接口、RS232接口、VPIF接口等。以太網(wǎng)接口負(fù)責(zé)完成網(wǎng)絡(luò)數(shù)據(jù)發(fā)送;RS232接口負(fù)責(zé)配置信息接收,Bootloader、Linux內(nèi)核、文件系統(tǒng)、應(yīng)用程序下載以及調(diào)試信息打印;I2C接口和VPIF接口負(fù)責(zé)TVP5158芯片配置與視頻數(shù)據(jù)交互。
2 系統(tǒng)軟件設(shè)計
視頻監(jiān)控系統(tǒng)軟件設(shè)計包括基于嵌入式Linux的視頻信號處理軟件、基于Windows的監(jiān)控中心視頻接收和顯示軟件。
2.1 視頻信號處理軟件設(shè)計
視頻信號處理軟件主要包括:信號采集模塊、視頻壓縮模塊和網(wǎng)絡(luò)發(fā)送模塊。
2.1.1視頻采集模塊
為了實現(xiàn)視頻信號的網(wǎng)絡(luò)傳輸,首先由TVP5158將模擬視頻信號轉(zhuǎn)化為數(shù)字信號,并通過VPIF接口將數(shù)據(jù)送給DM6467。操作系統(tǒng)采用V4L2驅(qū)動將數(shù)據(jù)從底層讀回到內(nèi)存中,通過如下幾個步驟完成。
創(chuàng)建視頻采集線程,為V4L2分配內(nèi)存空間并初始化EDMA通道,方便數(shù)據(jù)搬移。待初始化完成后,啟動信號采集,并通過MCVIP_v4l2GetBuf(hndl, &v4l2Buf)函數(shù)獲取原始圖像數(shù)據(jù),數(shù)據(jù)存儲在v4l2Buf緩沖區(qū)中。為了內(nèi)存空間的循環(huán)利用,將獲取到的數(shù)據(jù)送入到緩沖隊列中后,通過MCVIP_v4l2PutBuf(hndl, &v4l2Buf)函數(shù)將該部分內(nèi)存空間重新釋放,供V4L2循環(huán)利用。
2.1.2 視頻壓縮模塊
由于原始圖像數(shù)據(jù)為YUV格式,每秒的數(shù)據(jù)量可達23MB,若不進行壓縮處理,很難通過網(wǎng)絡(luò)向外發(fā)送。本文采用H.264算法對原始圖像進行壓縮。該算法具有良好的壓縮性能,壓縮比高且圖像恢復(fù)質(zhì)量好。
在進行壓縮之前,必須先創(chuàng)建一個Codec Engine(CE)來管理DM6467的ARM和DSP,幫助完成二者的通信。CE創(chuàng)建完成后,需要對編碼器圖像參數(shù)進行設(shè)置。隨后調(diào)用MCVIP_getBuf(gCAPTURE_ctrl.info. mcvipHndl, &bufId, OSA_TIMEOUT_ FOREVER)函數(shù)獲取緩沖隊列中的數(shù)據(jù)。其次,通過Venc1_process(hVe1, hDstBuf, hOutBuf)函數(shù)完成原始圖像壓縮。
2.1.3網(wǎng)絡(luò)傳輸模塊
網(wǎng)絡(luò)傳輸模塊負(fù)責(zé)將壓縮后的圖像數(shù)據(jù)送給監(jiān)控中心。由于視頻數(shù)據(jù)量大,若采用TCP協(xié)議,會大大降低傳輸性能。因此本文選擇采用UDP協(xié)議進行發(fā)送。
首先在發(fā)送端創(chuàng)建socket套接字,并完成初始化工作。其次,從壓縮后的緩沖隊列中獲取壓縮后的數(shù)據(jù),并通過sendto()函數(shù)送給監(jiān)控中心。
2.2 監(jiān)控中心軟件設(shè)計
監(jiān)控中心軟件完成網(wǎng)絡(luò)數(shù)據(jù)接收、H.264圖像解碼和實時圖像顯示等功能。軟件采用VC6.0集成開發(fā)環(huán)境進行開發(fā)。
軟件運行后會創(chuàng)建一個socket套接字,并開始監(jiān)聽設(shè)定好的端口。當(dāng)有數(shù)據(jù)收到時,調(diào)用H264Decoder()函數(shù)進行圖像解碼,并將解碼后的圖像格式轉(zhuǎn)換為RGB位圖,最終進行實時顯示。若收到的圖像幀數(shù)據(jù)不完整,則主動丟棄。
3 系統(tǒng)測試
將設(shè)備串口線、網(wǎng)線及電源連接好,啟動開發(fā)板,運行監(jiān)控中心軟件,并設(shè)定相應(yīng)的參數(shù)。開始運行1-2秒后,監(jiān)控中心顯示界面開始播放圖像。
經(jīng)過多次測試統(tǒng)計,各個圖像分辨率系統(tǒng)傳輸時延為0.3-0.5秒,傳輸幀率為不低于28幀/秒。測試表明,系統(tǒng)設(shè)計功能完善,傳輸幀率高,穩(wěn)定性好。
4 結(jié)束語
系統(tǒng)利用DM6467處理器完成了對視頻信號的采集、壓縮和傳輸,監(jiān)控中心軟件可實時接收并播放圖像,達到了預(yù)期效果。此外,監(jiān)控中心可通過網(wǎng)絡(luò)對采集板的幀率、圖像分辨率等參數(shù)進行配置。經(jīng)過長時和多次測試,系統(tǒng)具有良好的穩(wěn)定性和可靠性。
參考文獻
[1]信師國,劉慶磊,劉全賓.網(wǎng)絡(luò)視頻監(jiān)控統(tǒng)現(xiàn)狀和發(fā)展趨勢[J].信息技術(shù)與信息化,2010(01):23-25.
[2]羅霄華,張博.視頻圖像采集及網(wǎng)絡(luò)傳輸系統(tǒng)的設(shè)計[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2011,29(5):424-428.
[3]肖驍.基于DM6467的視頻服務(wù)器設(shè)計與實現(xiàn)[D].華中科技大學(xué),2011.
[4]郝舜.基于DaVinci技術(shù)的數(shù)字視頻系統(tǒng)設(shè)計[D].西安電子科技大學(xué),2012.
[5]盧俊.基于Davinci平臺的視頻服務(wù)器軟件系統(tǒng)的設(shè)計與實現(xiàn)[D].華中科技大學(xué),2013.
[6] 黃如兵.姚茂群,趙武鋒.基于3G技術(shù)的移動監(jiān)控系統(tǒng)研究與實現(xiàn)[J].杭州師范大學(xué)學(xué)報,2014(04):423-428.
作者單位
重慶郵電大學(xué) 無線定位與空間測量研究所 重慶市 400065endprint