《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于達(dá)芬奇技術(shù)的視頻監(jiān)控系統(tǒng)設(shè)計(jì)
基于達(dá)芬奇技術(shù)的視頻監(jiān)控系統(tǒng)設(shè)計(jì)
2015年電子技術(shù)應(yīng)用第1期
鄧 娜,,田增山,,袁正午
重慶郵電大學(xué) 無線定位與空間測量研究所,重慶400065
摘要: 結(jié)合實(shí)際應(yīng)用及多媒體技術(shù)的發(fā)展趨勢,,設(shè)計(jì)了一套以TMS320DM6467為核心的硬件平臺(tái),,并借助嵌入式Linux為軟件核心的多通道視頻監(jiān)控系統(tǒng),。系統(tǒng)采用TVP5158實(shí)現(xiàn)對(duì)4通道模擬視頻信號(hào)采集,通過達(dá)芬奇技術(shù)實(shí)現(xiàn)基于H.264的4通道實(shí)時(shí)視頻壓縮,,利用UDP協(xié)議將采集端的視頻數(shù)據(jù)通過局域網(wǎng)發(fā)送至監(jiān)控中心,,用戶可通過監(jiān)控中心控制軟件對(duì)相應(yīng)區(qū)域進(jìn)行實(shí)時(shí)監(jiān)控。系統(tǒng)在單芯片上實(shí)現(xiàn)多通道視頻監(jiān)控系統(tǒng),,具有低成本,、高性能的特點(diǎn),可應(yīng)用于交通,、廠區(qū)防盜,、智能家居監(jiān)控、視頻會(huì)議等領(lǐng)域,。
中圖分類號(hào): TN762,;P715.7
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)01-0025-03
Design of video transmission system based on DaVinci technology
Deng Na,Tian Zengshan,,Yuan Zhengwu
Institute of Wireless Location and Space Measurement,Chongqing University of Posts and Telecommunications,, Chongqing 400065,,China
Abstract: Combined with practical application and development trends of multimedia technology, a set of multi-channel video surveillance system is designed with TMS320DM6467 and embedded Linux software. The system adopts TVP5158 to realize the video signal acquisition of 4 channels, through DaVinci technology to realize the 4 channels real-time video compression based on H.264. Then the data is sent to the monitoring center through a local network with UDP protocol. The user can monitor the region by controlling the monitoring center software. System is implemented on a single chip with low-cost and high-performance features, it can be used in transportation, factory security, smart home monitoring, video conferencing and so on.
Key words : DaVinci;H.264,;video surveillance system,;DM6467

  

0 引言

  隨著互聯(lián)網(wǎng)、多媒體及自動(dòng)控制技術(shù)的飛速發(fā)展,,視頻應(yīng)用的需求也越來越大,。近幾年來,圖像處理技術(shù)已在智能樓宇,、交通監(jiān)控,、智能家居、汽車電子以及航空航天等諸多領(lǐng)域得到了廣泛的應(yīng)用,。芯片技術(shù)的發(fā)展及嵌入式技術(shù)的日趨成熟,,使得視頻監(jiān)控系統(tǒng)越來越小型化、集成化和網(wǎng)絡(luò)化[1],。

  目前,,視頻監(jiān)控仍存在一些問題。諸如監(jiān)控區(qū)域太窄,,一套系統(tǒng)無法完成對(duì)多個(gè)區(qū)域的同時(shí)監(jiān)測,;非網(wǎng)絡(luò)化,大多數(shù)監(jiān)控系統(tǒng)仍然采用模擬信號(hào)傳輸,,導(dǎo)致系統(tǒng)布線復(fù)雜,,無法輕易擴(kuò)容,,成本高。諸多問題無法滿足實(shí)際需求[2],。

  本文立足于解決實(shí)際問題,,設(shè)計(jì)了一套集嵌入式技術(shù)、網(wǎng)絡(luò)技術(shù)及TI達(dá)芬奇技術(shù)為一體的多通道視頻監(jiān)控系統(tǒng),。利用該系統(tǒng),,可實(shí)現(xiàn)對(duì)多個(gè)關(guān)鍵區(qū)域的實(shí)時(shí)遠(yuǎn)程視頻監(jiān)控。系統(tǒng)采用單芯片完成了多通道實(shí)時(shí)圖像采集,、壓縮處理和網(wǎng)絡(luò)傳輸,,節(jié)省成本,管理方便,。

1 系統(tǒng)總體設(shè)計(jì)

  系統(tǒng)以DM6467為核心,,嵌入式Linux作為操作系統(tǒng)平臺(tái),通過TVP5158采集多路視頻數(shù)據(jù)并進(jìn)行壓縮處理,,采用TCP/IP協(xié)議將壓縮處理后的視頻數(shù)據(jù)發(fā)送至監(jiān)控中心,。監(jiān)控中心接收網(wǎng)絡(luò)數(shù)據(jù)并實(shí)時(shí)解析,通過H.264解碼后實(shí)時(shí)顯示,。系統(tǒng)總體方案如圖1所示,。

001.jpg

  本系統(tǒng)主要由視頻處理前端與監(jiān)控中心構(gòu)成。視頻處理前端由處理器,、攝像頭及TVP5158組成,。監(jiān)控中心由PC構(gòu)成。系統(tǒng)運(yùn)行后,,監(jiān)控中心可實(shí)時(shí)配置視頻處理前端信號(hào)參數(shù),,如圖像分辨率、通道數(shù)等,。為了滿足系統(tǒng)需求,,在不影響視覺觀看下的指標(biāo)設(shè)計(jì)如下:

  (1)1-4通道圖像實(shí)時(shí)采集和壓縮處理(基于H.264協(xié)議),圖像制式包括PAL(720×576)和NTSC(720×480),;

  (2)實(shí)時(shí)傳輸幀率不小于15幀/s,;

  (3)系統(tǒng)時(shí)延不大于0.5 s。

2 系統(tǒng)硬件設(shè)計(jì)

  系統(tǒng)主要分為信號(hào)采集平臺(tái)和監(jiān)控中心兩大部分,。監(jiān)控中心在PC上完成,。信號(hào)采集平臺(tái)主控芯片采用TI公司達(dá)芬奇處理器TMS320DM6467,同時(shí)還包括SRAM,、Nand Flash,、TVP5158以及多種外圍接口。Flash中存放有一級(jí)引導(dǎo)文件ubl、U-boot,、Linux內(nèi)核,、文件系統(tǒng)、驅(qū)動(dòng)程序以及應(yīng)用程序等,。SRAM作為系統(tǒng)運(yùn)行內(nèi)存,,TVP5158完成對(duì)多通道模擬信號(hào)的采集。外圍接口中,,串口負(fù)責(zé)應(yīng)用程序調(diào)試,;以太網(wǎng)接口完成對(duì)視頻信號(hào)和控制信息的傳輸;主控制器通過I2C接口對(duì)TVP5158進(jìn)行參數(shù)配置,,同時(shí)通過VPIF接口接收TVP5158傳回的視頻信號(hào)[3],。

  信號(hào)采集平臺(tái)主要實(shí)現(xiàn)對(duì)1~4通道視頻圖像的采集、實(shí)時(shí)圖像壓縮,、網(wǎng)絡(luò)傳輸,、心跳檢測、參數(shù)接收等功能,。采集平臺(tái)硬件結(jié)構(gòu)如圖2所示,。

002.jpg

3 系統(tǒng)軟件設(shè)計(jì)


003.jpg

  系統(tǒng)軟件主要包括采集端和監(jiān)控中心解碼軟件。系統(tǒng)軟件結(jié)構(gòu)如圖3所示,,采集端包括信號(hào)采集子程序,、圖像壓縮子程序、網(wǎng)絡(luò)傳輸子程序,、心跳探測及參數(shù)配置子程序。監(jiān)控中心包括網(wǎng)絡(luò)接收子程序,、圖像解碼子程序,、實(shí)時(shí)顯示子程序、心跳探測及參數(shù)配置子程序,。

  3.1 視頻采集模塊設(shè)計(jì)

  采集端基于Montavista公司Linux-2.6.10操作系統(tǒng),,采用V4L2進(jìn)行視頻數(shù)據(jù)采集。TVP5158與DM6467間采用VPIF接口無縫傳輸,。為了讓數(shù)據(jù)采集更加便捷,,對(duì)V4L2驅(qū)動(dòng)與I2C驅(qū)動(dòng)進(jìn)行二次封裝。同時(shí),,為了提高數(shù)據(jù)傳輸效率,,減少CPU開銷,將底層EDMA驅(qū)動(dòng)也封裝在其中,。面向應(yīng)用層,,3個(gè)接口被抽象為一個(gè)MCVIP接口[4-5]。MCVIP驅(qū)動(dòng)框架如圖4所示。

  采用MCVIP驅(qū)動(dòng)完成視頻信號(hào)采集流程如圖5所示,。其步驟如下:

  (1)打開設(shè)備,。連接各模塊,開啟設(shè)備電源,,通過open()函數(shù)依次打開dev_i2c,、video0和video1 3個(gè)設(shè)備描述符。

  (2)參數(shù)初始化,。初始化主要包括對(duì)TVP5158,、圖像制式、通道數(shù),、內(nèi)存區(qū)域等進(jìn)行設(shè)置,。

  (3)圖像采集。MCVIP底層采用V4L2獲取圖像數(shù)據(jù),。采用如下方式可完成圖像數(shù)據(jù)的采集,。

  調(diào)用二次封裝后的V4L2函數(shù)接口MCVIP_v4l2GetBuf(hndl, &v4l2Buf),抓取一幀圖像,,并存放在v4l2Buf起始的內(nèi)存區(qū)域中,。

  由于TVP5158將多通道數(shù)據(jù)打包為BT.656格式,需要MCVIP_demuxRun()函數(shù)對(duì)該格式進(jìn)行解析,,獲取各通道數(shù)據(jù),。

  抓取處理完成后,通過MCVIP_ v4l2PutBuf()函數(shù)釋放本次讀取數(shù)據(jù)所用的緩沖區(qū),,以便循環(huán)利用,。

  3.2 視頻壓縮模塊設(shè)計(jì)

  視頻壓縮模塊采用一組壓縮線程來完成。系統(tǒng)為4個(gè)通道分別開辟一個(gè)壓縮線程,,并采用達(dá)芬奇技術(shù)提供的DVSDK開發(fā)包完成H.264圖像壓縮,。

  Codec Engine(CE)是達(dá)芬奇技術(shù)的核心,負(fù)責(zé)完成ARM與DSP之間的通信及管理工作,。在各個(gè)壓縮線程中,,調(diào)用Engine_open()函數(shù)創(chuàng)建各自的CE。

  創(chuàng)建圖像壓縮任務(wù),,通過Venc1_create(hEngine, H264ENC_NAME, & params, &dynParams)函數(shù)告知DSP需要執(zhí)行哪一段代碼,。其中,params與dynParams結(jié)構(gòu)體分別存儲(chǔ)有圖像的分辨率,、圖像數(shù)據(jù)大小等參數(shù),。DSP Server收到指令后,對(duì)參數(shù)進(jìn)行解析,,并創(chuàng)建一個(gè)process()實(shí)現(xiàn)壓縮任務(wù),。

  在壓縮任務(wù)創(chuàng)建完成后,,即可從隊(duì)列中獲取一幀原始圖像數(shù)據(jù),并進(jìn)行色彩轉(zhuǎn)換,,最終調(diào)用Venc1_process()函數(shù)完成一幀圖像的壓縮[6],。

  壓縮后的圖像數(shù)據(jù)將送到壓縮線程與網(wǎng)絡(luò)發(fā)送線程之間的緩沖隊(duì)列中,供網(wǎng)絡(luò)模塊調(diào)用及數(shù)據(jù)發(fā)送[6],。壓縮線程處理流程如圖6所示,。

006.jpg

  3.3 傳輸模塊設(shè)計(jì)

  數(shù)據(jù)傳輸主要在局域網(wǎng)中進(jìn)行。為了提高傳輸效率,,圖像數(shù)據(jù)采用面向無連接的UDP協(xié)議進(jìn)行傳輸,。心跳信息及控制信息采用TCP協(xié)議傳輸,保障了心跳及控制信息傳輸?shù)目煽啃?。傳輸模塊流程圖如圖7所示,。

007.jpg

  基于Linux和Windows的網(wǎng)絡(luò)傳輸主要依靠socket套接字完成。發(fā)送端通過sendto()將圖像數(shù)據(jù)發(fā)送到監(jiān)控中心,,接收端對(duì)協(xié)商好的端口進(jìn)行監(jiān)聽,,并調(diào)用recvfrom()函數(shù)接收網(wǎng)絡(luò)數(shù)據(jù)。

  為了讓監(jiān)控中心實(shí)時(shí)掌握采集端運(yùn)行狀態(tài),,采集端設(shè)計(jì)心跳包,,定時(shí)向監(jiān)控中心報(bào)告呼吸狀態(tài)。若監(jiān)控中心連續(xù)2 min沒有收到心跳信息,,則斷定網(wǎng)絡(luò)出現(xiàn)故障或采集端發(fā)生異常,,并報(bào)警告知用戶。

  由于壓縮線程與傳輸線程之間需要訪問同一個(gè)緩沖隊(duì)列,,為了線程安全,,采用互斥量對(duì)該臨界區(qū)進(jìn)行控制。壓縮線程需要將數(shù)據(jù)送入到隊(duì)列中時(shí),,使用pthread_mutex_ lock函數(shù)對(duì)該臨界區(qū)加鎖,,訪問完成后調(diào)用pthread_mutex_unlock函數(shù)釋放該區(qū)域供傳輸模塊訪問[7]。傳輸模塊訪問該區(qū)域時(shí)處理流程同上,。通過互斥量,使得同一時(shí)間只有一個(gè)線程在訪問該段內(nèi)存空間,,保障了內(nèi)存訪問的安全性,。

  3.4 顯示模塊設(shè)計(jì)

  本系統(tǒng)中,顯示模塊采用的集成開發(fā)環(huán)境是Microsoft Visual C++6.0,,實(shí)現(xiàn)4路視頻數(shù)據(jù)的接收和實(shí)時(shí)顯示,。顯示模塊軟件由兩個(gè)子模塊組成:ActiveX控件模塊和實(shí)時(shí)播放模塊,ActiveX控件模塊作為軟件的核心部分,,是集圖像解碼,、圖像播放為一體的功能模塊。主程序調(diào)用ActiveX控件提供的接口函數(shù)將視頻數(shù)據(jù)傳入控件中,控件使用ffmpeg對(duì)視頻數(shù)據(jù)進(jìn)行解碼,,然后顯示,。實(shí)時(shí)播放模塊由4個(gè)ActiveX控件和兩個(gè)按鈕組成,兩個(gè)按鈕的功能分別為開啟和停止,。點(diǎn)擊開啟按鈕,,準(zhǔn)備接收數(shù)據(jù),當(dāng)網(wǎng)絡(luò)中有數(shù)據(jù)時(shí),,接收并解碼和顯示,。顯示模塊的工作流程如圖8所示。

008.jpg

4 系統(tǒng)測試

  系統(tǒng)測試環(huán)境包括信號(hào)采集板,、監(jiān)控中心PC,、4路安防攝像頭、電源,、網(wǎng)線等,。

  將串口線、網(wǎng)線及電源等接口連接好,,啟動(dòng)開發(fā)板,。運(yùn)行監(jiān)控中心顯示軟件,設(shè)定通道數(shù),、圖像制式等信息,。參數(shù)配置完成后,點(diǎn)擊開始后采集端開始采集并傳輸視頻信號(hào),。

009.jpg

  圖9是監(jiān)控中心實(shí)時(shí)解碼顯示效果圖,。經(jīng)過長時(shí)間測試,圖像時(shí)延約為0.3~0.5秒,,監(jiān)控中心可實(shí)時(shí)播放1~4路視頻信號(hào),,圖像幀率最差為每通道22幀/s。測試表明,,在多通道同時(shí)工作時(shí),,傳輸幀率和系統(tǒng)時(shí)延均滿足預(yù)期設(shè)計(jì)指標(biāo)。

5 結(jié)束語

  本文設(shè)計(jì)了一種基于達(dá)芬奇技術(shù)的視頻監(jiān)控系統(tǒng),,實(shí)現(xiàn)了1~4通道實(shí)時(shí)視頻采集,、壓縮、網(wǎng)絡(luò)傳輸及圖像解碼和顯示,。經(jīng)長時(shí)間和多次測試,,系統(tǒng)運(yùn)行穩(wěn)定,能夠連續(xù)對(duì)多個(gè)區(qū)域進(jìn)行監(jiān)控,。同時(shí),,可針對(duì)不同應(yīng)用領(lǐng)域,,稍加改進(jìn)便可投入使用,具有一定的應(yīng)用價(jià)值,。

參考文獻(xiàn)

  [1] 信師國,,劉慶磊,劉全賓.網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)現(xiàn)狀和發(fā)展趨勢[J].信息技術(shù)與信息化,,2010(1):23-25.

  [2] 陳宗成,,鄧華秋.基于ARM11的嵌入式視頻傳輸系統(tǒng)的實(shí)現(xiàn)[J].電視技術(shù),2013,,37(9):210-213.

  [3] 姚春蓮,,郭克友,阮秋琦,,等.基于DM6467的視頻處理軟件設(shè)計(jì)與優(yōu)化[J].北京交通大學(xué)學(xué)報(bào):自然科學(xué)版,,2013,37(5):162-167.

  [4] 盧俊.基于Davinci平臺(tái)的視頻服務(wù)器軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),,2013.

  [5] 文武,,吳勇,張杰.基于TMS320DM6467的視頻采集系統(tǒng)設(shè)計(jì)[J].電視技術(shù),,2011,,35(17):39-41.

  [6] 施現(xiàn)偉.基于ARM11的遠(yuǎn)程視頻監(jiān)控系統(tǒng)設(shè)計(jì)[D].哈爾濱:哈爾濱理工大學(xué),2013.

  [7] 陳榮軍,,余祥云,,譚洪舟.基于S3C6410的遠(yuǎn)程無線環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,,40(5):143-146.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。