張 超,郭家虎(安徽理工大學(xué)電氣與信息工程學(xué)院,安徽淮南 232001)
?
家居視頻監(jiān)控及無(wú)線傳輸系統(tǒng)設(shè)計(jì)
張超,郭家虎
(安徽理工大學(xué)電氣與信息工程學(xué)院,安徽淮南232001)
張超(1990—),男,碩士研究生,研究方向?yàn)榍度胧郊夹g(shù)、計(jì)算機(jī)控制等。
摘要:提出了一種基于4G的實(shí)時(shí)視頻監(jiān)控及無(wú)線傳輸系統(tǒng),核心采用S3C2440嵌入式微處理器,內(nèi)部集成的CAMIF攝像頭接口無(wú)需外擴(kuò)其他攝像頭接口,ME3760傳輸模塊可實(shí)現(xiàn)高速視頻無(wú)線傳輸。實(shí)時(shí)視頻監(jiān)控及無(wú)線傳輸系統(tǒng)具有體積小、穩(wěn)定性強(qiáng)、成本低等優(yōu)點(diǎn),能夠?qū)崿F(xiàn)視頻的采集、編碼和傳輸,用戶在移動(dòng)設(shè)備上可實(shí)時(shí)對(duì)家居安全進(jìn)行監(jiān)控。
關(guān)鍵詞:嵌入式系統(tǒng);視頻采集;無(wú)線傳輸; 4G; MPEG-4
郭家虎(1974—),男,教授,碩士生導(dǎo)師,研究方向?yàn)殡娏ψ儞Q、無(wú)線傳感網(wǎng)絡(luò)等。
隨著生活水平的提高,人們對(duì)家居安全越來(lái)越重視。傳統(tǒng)視頻監(jiān)控及傳輸系統(tǒng)通過(guò)以太網(wǎng)傳輸進(jìn)行視頻監(jiān)控,缺點(diǎn)是功能不完善,系統(tǒng)資源浪費(fèi),成本太高且大多選用USB攝像頭。隨著手持設(shè)備的普遍使用及4G網(wǎng)絡(luò)的高速發(fā)展,在移動(dòng)設(shè)備(智能手機(jī))上進(jìn)行無(wú)線視頻監(jiān)控將成為一種發(fā)展趨勢(shì)。本文提出了一種嵌入式視頻監(jiān)控及傳輸系統(tǒng),利用微處理器和4G網(wǎng)絡(luò)技術(shù),實(shí)現(xiàn)對(duì)家居安全的實(shí)時(shí)監(jiān)控。
實(shí)時(shí)視頻監(jiān)控及無(wú)線傳輸系統(tǒng)采用嵌入式技術(shù)、4G網(wǎng)絡(luò)技術(shù)和MPEG-4圖像壓縮編碼技術(shù)。嵌入式芯片選用S3C2440微處理器[1-2],具有ARM920T內(nèi)核及UART、USB等各種豐富接口,使其可以擴(kuò)展更多功能。S3C2440芯片中的CAMIF攝像頭接口無(wú)需外擴(kuò)攝像頭接口,大大降低了系統(tǒng)成本和簡(jiǎn)化了系統(tǒng)設(shè)計(jì)。無(wú)線傳輸模塊選用4G ME3760模塊,能夠快速、無(wú)線傳輸[3]音頻、圖像及視頻等信息。
CMOS圖像傳感器OV9650攝像頭首先采集圖像信息,然后由S3C2440進(jìn)行編碼壓縮處理,最后經(jīng)ME3760無(wú)線傳輸?shù)接脩粢苿?dòng)設(shè)備(如智能手機(jī))。
系統(tǒng)總體設(shè)計(jì)框架如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)框架
2.1攝像頭接口電路設(shè)計(jì)
CAMIF支持ITU-R BT.601/656 YCbCr 8位標(biāo)準(zhǔn),支持最大無(wú)縮放4 096×4 096像素輸入、最大4 096×4 096像素輸出給編碼通道、最大640×480像素輸出給預(yù)覽通道,并且支持圖像鏡像和旋轉(zhuǎn)。OV9650攝像頭的接口為CAMIF接口,各個(gè)引腳對(duì)應(yīng)相接可完成電路連接。攝像頭接口電路原理圖如圖2所示。
圖2 攝像頭接口電路原理圖
圖2中,CAMPCLK為像素時(shí)鐘引腳,CAMVSYNC為幀同步引腳,CAMHREF為水平同步引腳,CAMDATA[7: 0]為像素?cái)?shù)據(jù)引腳,均由攝像頭處理器驅(qū)動(dòng)。CAMCLKOUT為攝像頭處理器提供主時(shí)鐘信號(hào),CAMRESET為攝像頭處理器軟件復(fù)位或掉電引腳。由圖2可知,攝像頭接口電路簡(jiǎn)單,易于連接。
2.24G模塊接口電路設(shè)計(jì)
ME3760芯片具有USB2.0高速總線接口,用于與嵌入式處理器S3C2440的USB HOST接口互連,進(jìn)行高速數(shù)據(jù)通信。4G模塊電路原理如圖3所示。
圖3 4G模塊電路原理
ME3760芯片主要引腳信號(hào)有GND信號(hào)、Vaux信號(hào)(電源接口)、SIM卡信號(hào)組、USB總線接口,支持Windows CE操作系統(tǒng)[4],可用于視頻無(wú)線傳輸應(yīng)用程序的開(kāi)發(fā)。ME3760模塊側(cè)SIM DATA沒(méi)有上拉電阻,電路設(shè)計(jì)時(shí)應(yīng)在系統(tǒng)板側(cè)加上拉電阻,以便USB總線設(shè)計(jì)時(shí)滿足對(duì)地等效電容和阻抗匹配。
3.1攝像頭驅(qū)動(dòng)程序設(shè)計(jì)
攝像頭的主要功能是與S3C2440嵌入式處理器之間進(jìn)行數(shù)據(jù)的收發(fā)和傳輸,所以宜采用流接口驅(qū)動(dòng)方式開(kāi)發(fā)驅(qū)動(dòng)程序。流接口驅(qū)動(dòng)程序使用的是同一組流接口函數(shù),系統(tǒng)攝像頭流接口函數(shù)命名為CAMIF_Init()、CAMIF_IoControl()、CAMIF_Open()、CAMIF_Read()。
CAMIF_Init()函數(shù)用于初始化攝像頭,需要由設(shè)備管理器調(diào)用,當(dāng)調(diào)用API函數(shù)Activate DeviceEx時(shí),CAMIF_Init()函數(shù)被相應(yīng)調(diào)用。該函數(shù)用于配置CAMIF相關(guān)寄存器,如源幀寄存器CISRCFMT、窗口選擇寄存器CIWDOFST、全局控制寄存器CIGCTRL、編碼目標(biāo)格式寄存器CICOTRGFMT、編碼DMA控制寄存器CICOCTRL及與CAMIF接口相關(guān)的寄存器,使其能夠正常初始化。
CAMIF_IoControl()函數(shù)用于向攝像頭發(fā)送命令,當(dāng)調(diào)用API函數(shù)DeviceIoControl時(shí)使用CAMIF_IoControl()驅(qū)動(dòng)函數(shù)。該函數(shù)的具體功能是對(duì)攝像頭進(jìn)行控制,實(shí)現(xiàn)打開(kāi)或關(guān)閉C通道或P通道,改變參數(shù)配置,控制圖像輸出的縮小和放大等功能。
CAMIF_Open()函數(shù)用于在對(duì)攝像頭發(fā)送控制命令或讀取攝像頭視頻信息之前打開(kāi)攝像頭設(shè)備,當(dāng)應(yīng)用程序調(diào)用API函數(shù)CreateFile時(shí)調(diào)用CAMIF_Open()驅(qū)動(dòng)函數(shù)。
CAMIF_Read()函數(shù)用于S3C2440嵌入式處理器讀取攝像頭采集到視頻信息,當(dāng)應(yīng)用程序調(diào)用API函數(shù)ReadFile時(shí)調(diào)用CAMIF_Read()驅(qū)動(dòng)程序。
3.2系統(tǒng)應(yīng)用程序設(shè)計(jì)
嵌入式家居視頻監(jiān)控及無(wú)線傳輸系統(tǒng)的應(yīng)用程序設(shè)計(jì)包括視頻采集、視頻編碼壓縮和視頻4G無(wú)線傳輸三個(gè)部分。系統(tǒng)應(yīng)用程序設(shè)計(jì)的總體方案是創(chuàng)建視頻采集和視頻無(wú)線傳輸兩個(gè)線程。為了使這兩個(gè)線程之間協(xié)調(diào)運(yùn)行,不發(fā)生線程沖突和線程死鎖現(xiàn)象,在創(chuàng)建線程的同時(shí)創(chuàng)建事件對(duì)象,采集事件CEvent和無(wú)線傳輸事件4GEvent;除了這兩個(gè)線程以外,創(chuàng)建視頻編碼壓縮動(dòng)態(tài)鏈接庫(kù)dll,減少系統(tǒng)應(yīng)用程序的代碼量,增加程序的可移植性。視頻編碼壓縮動(dòng)態(tài)鏈接庫(kù)在視頻采集線程工作完畢后調(diào)用,最后將編碼壓縮后的視頻通過(guò)4G無(wú)線傳輸模塊ME3760線程發(fā)送至用戶智能手機(jī),實(shí)現(xiàn)對(duì)家居安全的實(shí)時(shí)無(wú)線監(jiān)控。系統(tǒng)應(yīng)用程序流程如圖4所示。
圖4 系統(tǒng)應(yīng)用程序流程
3.2.1視頻采集
視頻采集使用DirectShow技術(shù),將攝像頭采集到的視頻監(jiān)控信息進(jìn)行相應(yīng)處理,也可以存儲(chǔ)到文件中用于回放或發(fā)送。DirectShow通過(guò)底層設(shè)備驅(qū)動(dòng)程序、高層應(yīng)用程序從攝像頭設(shè)備上獲取視頻監(jiān)控信息,且在顯示器上進(jìn)行回放。
DirectShow[5-6]以COM形式存在,使應(yīng)用軟件開(kāi)發(fā)具有結(jié)構(gòu)性,其技術(shù)核心是過(guò)濾器,執(zhí)行特定任務(wù)都需要這些過(guò)濾器。過(guò)濾器分為有源過(guò)濾器、變換過(guò)濾器和渲染過(guò)濾器。有源過(guò)濾器從OV9650上獲取視頻信息;變換過(guò)濾器用于轉(zhuǎn)換視頻數(shù)據(jù)格式;渲染過(guò)濾器將視頻中的聲音、圖像數(shù)據(jù)分別傳送給聲卡和顯卡,也可輸出到文件存儲(chǔ)。該系統(tǒng)視頻采集主要采用有源過(guò)濾器,通過(guò)直接操作有源過(guò)濾器實(shí)現(xiàn)對(duì)視頻信息的采集。主要步驟如下:
(1)創(chuàng)建IGraphBuilder接口。
(2)利用IGraphBuilder渲染視頻文件。
(3)獲得媒體播放控制接口、媒體播放位置搜索接口、Filter Graph媒體事件接口。
(4)得到視頻播放窗口接口,設(shè)置視頻播放窗口句柄,設(shè)置視頻窗口格式。
(5)得到基礎(chǔ)視頻流接口和基礎(chǔ)音頻流接口。
通過(guò)枚舉所有系統(tǒng)硬件設(shè)備,獲得視頻采集設(shè)備,將視頻采集設(shè)備與有源過(guò)濾器綁定,最后將攝像頭采集到的視頻信息傳入S3C2440嵌入式處理器中進(jìn)行下一步編碼壓縮處理,也可把視頻信息存儲(chǔ)到嵌入式處理芯片外擴(kuò)的存儲(chǔ)器中用于保存和回放。
3.2.2MPEG-4
攝像頭采集到的視頻信息是原始數(shù)據(jù)信息,數(shù)據(jù)量龐大,所以系統(tǒng)設(shè)計(jì)時(shí)采用國(guó)際標(biāo)準(zhǔn)視頻編碼壓縮MPEG-4[7],以降低無(wú)線傳輸?shù)某杀竞涂s小傳輸所需要的時(shí)間。MPEG-4可以根據(jù)不同的視頻對(duì)象選用不同的編碼算法,其編碼算法有零樹(shù)小波算法、文理編碼、形狀編碼等,也可根據(jù)對(duì)象的重要程度來(lái)分配碼率,以便在低碼率的情況下獲得較好的編碼效果,其目標(biāo)編碼率為4~64 Mb/s。
該系統(tǒng)使用源代碼開(kāi)放的JPEG庫(kù)進(jìn)行視頻編碼壓縮。為了減少應(yīng)用程序的代碼量、執(zhí)行效率及節(jié)省系統(tǒng)資源,將移植好的JPEG-4代碼設(shè)計(jì)編寫(xiě)為動(dòng)態(tài)鏈接庫(kù),即JPEG-4.dll。當(dāng)應(yīng)用程序的視頻采集線程采集一定的視頻信息后,系統(tǒng)動(dòng)態(tài)調(diào)用JPEG-4.dll,完成視頻信息的編碼壓縮。視頻編碼壓縮完成后,系統(tǒng)將其移出內(nèi)存,以減少對(duì)內(nèi)存的要求和節(jié)省系統(tǒng)資源。
3.2.3視頻4G無(wú)線傳輸
嵌入式S3C2440處理器通過(guò)與4G模塊ME3760之間的USB接口將編碼壓縮過(guò)的視頻數(shù)據(jù)傳入ME3760中,再使4GEvent處于有信號(hào)狀態(tài),即函數(shù)SetEvent(4GEvent)觸發(fā)4G無(wú)線傳輸線程開(kāi)始工作,用戶的智能手機(jī)就可以收到系統(tǒng)的監(jiān)控畫(huà)面,并能夠隨時(shí)查閱。
嵌入式S3C2440處理器與4G模塊ME3760之間采用AT指令進(jìn)行數(shù)據(jù)交互。AT指令采用一問(wèn)一答的方式,開(kāi)始時(shí)S3C2440發(fā)送AT指令給ME3760,ME3760回復(fù)AT指令給S3C2440,然后判斷回復(fù)的指令是否正確,如果不正確,則返回到上一個(gè)正確的AT指令處繼續(xù)發(fā)送;如果正確,則繼續(xù)發(fā)送下一條AT指令。系統(tǒng)應(yīng)用程序中的無(wú)線傳輸線程主要是ME3760通信初始化和聯(lián)網(wǎng),以便進(jìn)行視頻數(shù)據(jù)傳輸。
在無(wú)線傳輸過(guò)程中,為了保證視頻的連續(xù)性(不發(fā)生抖動(dòng)現(xiàn)象),設(shè)計(jì)了環(huán)形緩沖區(qū)。在內(nèi)存中開(kāi)辟5個(gè)連續(xù)的緩沖區(qū),視頻采集線程采集的視頻數(shù)據(jù)填滿一個(gè)緩沖區(qū)后,采集指針指向下一個(gè)緩沖區(qū),繼續(xù)采集視頻數(shù)據(jù),而發(fā)送指針指向填滿數(shù)據(jù)的緩沖區(qū),無(wú)線發(fā)送線程發(fā)送發(fā)送指針指向的緩沖區(qū)中的視頻數(shù)據(jù)。
本文提出了嵌入式視頻監(jiān)控及無(wú)線傳輸系統(tǒng),模塊化的設(shè)計(jì)方案能提高系統(tǒng)的擴(kuò)展性,代碼能夠重復(fù)利用,通過(guò)使用4G網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)視頻數(shù)據(jù)的無(wú)線高速傳輸,用戶能夠在移動(dòng)設(shè)備(如智能手機(jī))上方便、實(shí)時(shí)地對(duì)家居安全進(jìn)行監(jiān)控。
參考文獻(xiàn)
[1]王建新,張凱,王秀.基于S3C2440的視頻采集及傳輸系統(tǒng)設(shè)計(jì)[J].電子器件,2013,36(3):367-370.
[2]譚云福,張建忠.基于S3C2440微控制器的視頻采集系統(tǒng)設(shè)計(jì)[J].電子器件,2008,31(4):1237-1240.
[3]任守華,王勝華,劉士雷,等.基于3G和H.264技術(shù)的無(wú)線視頻監(jiān)控系統(tǒng)[J].計(jì)算機(jī)應(yīng)用研究,2010,27(4):1554-1556.
[4]黃焱.Windows CE嵌入式開(kāi)發(fā)標(biāo)準(zhǔn)教程[M].修訂版.北京:人民郵電出版社,2010.
[5]戴立誠(chéng),朱桂林.基于DirectShow的視頻采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2005,31(14):187-189.
[6]羅智勇,張會(huì)汀.基于DirectShow與DMO的視頻采集與編碼實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2005,31(14): 193-195.
[7]王曉明.一種MPEG-4視頻采集與傳輸系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2005,13(8):869-871.
[8]張海翔,張華熊,陸斌.基于GM8128的嵌入式4G無(wú)線音視頻傳輸系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].2015,28 (1):67-69.
Design of Home Video Surveillance System and Wireless Transmission System
ZHANG Chao,GUO Jiahu
(College of Electrical and Information Engineering,Anhui University of Science and Technology,Huainan 232001,China)
Abstract:The paper proposed a real-time video surveillance and wireless transmission systems based on 4G.The system selected S3C2440 microprocessor core,and the camera interface was the internal integration CAMIF of S3C2440,which need not external expansion to other camera interface.Transmission module ME3760 can achieve the high-speed wireless transmission of video.The real-time video surveillance and wireless transmission system has advantages of small size,strong stability and low cost,and realizes the capture,encoding and transmission of video.User can concern the home security at any time by APP of video surveillance on smartphone.
Key words:embedded system; video capture; wireless transmission; 4G; MPEG-4
收稿日期:2015-09-10
DOI:10.16618/j.cnki.1674-8417.2016.03.005
中圖分類號(hào):TU 856
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1674-8417(2016)03-0020-04