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