基于ARM9的嵌入式無線視頻監(jiān)控系統(tǒng)應(yīng)用
2012年07月12日 17:46 點擊量:1398
引言
高性能、低功耗嵌入式CPU和高可靠性網(wǎng)絡(luò)操作系統(tǒng)的面世,使得、視頻會議、遠程視頻監(jiān)控等運算數(shù)據(jù)量大的應(yīng)用在嵌入式設(shè)備中實現(xiàn)成為可能。傳統(tǒng)的基于同軸電纜的視頻監(jiān)控系統(tǒng)結(jié)構(gòu)復(fù)雜、穩(wěn)定性差、可靠性低且價格昂貴,因而出現(xiàn)了嵌入式網(wǎng)絡(luò)視頻服務(wù)器等遠程Web視頻監(jiān)控系統(tǒng)。在本嵌入式無線視頻監(jiān)控系統(tǒng)中,使用高性能ARM9芯片作微處理器,控制video4linux實現(xiàn)USB攝像頭視頻數(shù)據(jù)采集,采集的視頻數(shù)據(jù)經(jīng)JPEG壓縮后,在ARM9芯片的控制下通過2.4GHz無線發(fā)送/接收模塊進行視頻數(shù)據(jù)傳輸;視頻傳輸模塊再將視頻數(shù)據(jù)通過串口或網(wǎng)絡(luò)提交給視頻應(yīng)用服務(wù)端,zui后由視頻應(yīng)用服務(wù)端將接收到的壓縮數(shù)據(jù)幀重組、復(fù)合成視頻圖像,實現(xiàn)無線視頻監(jiān)控。
1系統(tǒng)組成結(jié)構(gòu)
整個系統(tǒng)由視頻采集終端、2.4G無線發(fā)送模塊、2.4G無線接收模塊、視頻傳輸和視頻應(yīng)用服務(wù)端等5個模塊組成。視頻采集終端包括以S3C2410X為核心的中央控制和數(shù)據(jù)處理中心,以及USBCamera數(shù)據(jù)采集單元。中央控制和數(shù)據(jù)處理中心主要完成視頻采集終端控制和視頻圖像壓縮,并將需要傳輸?shù)臄?shù)據(jù)經(jīng)編碼處理后,通過SIO發(fā)送到nRF2401無線發(fā)射模塊。
視頻傳輸模塊主要包括:以S3C2410X為核心的中央控制和數(shù)據(jù)處理中心以及將視頻數(shù)據(jù)傳輸?shù)揭曨l應(yīng)用服務(wù)端的MAC接口和UART接口。視頻傳輸模塊的中央控制和數(shù)據(jù)處理中心主要完成以下任務(wù):nRF2401將接收到的視頻數(shù)據(jù)提交給SIO模塊,S3C2410X先解碼SIO模塊數(shù)據(jù),再通過UART接口或MAC接口將視頻數(shù)據(jù)傳輸?shù)揭曨l應(yīng)用服務(wù)端。
視頻應(yīng)用服務(wù)端從串口或網(wǎng)絡(luò)接口接收視頻數(shù)據(jù),并將其重組、復(fù)合成視頻圖像。
1.1視頻采集終端硬件結(jié)構(gòu)
在本設(shè)計中,充分利用了S3C2410X所繼承的片上資源,只需要擴充SDRAM、NandFlash、4X4ArrayKeyboard、USBHost、EthernetInterface、RS232Interface、JTAG、Power等模塊。視頻采集終端是整個系統(tǒng)的核心模塊之一,主要完成視頻捕獲和圖像壓縮。
2視頻采集模塊設(shè)計與實現(xiàn)
視頻捕獲模塊是整個視頻采集終端的核心。它通過嵌入式Linux操作系統(tǒng)調(diào)度V4L(video4linux)和影像設(shè)備驅(qū)動程序來完成視頻捕獲。V4L是Linux影像系統(tǒng)與嵌入式影像的基礎(chǔ),是Linuxkernel里支持影像設(shè)備的一組APIs,配合適當(dāng)?shù)囊曨l采集卡與視頻采集卡驅(qū)動程序,V4L可以實現(xiàn)影像采集、AM/FM無線廣播、影像CODEC、頻道切換等功能。目前,V4L主要應(yīng)用在影像串流系統(tǒng)與嵌入式影像系統(tǒng)里,其應(yīng)用范圍相當(dāng)廣泛,比如:遠程教學(xué)、遠程醫(yī)療、視頻會議、視頻監(jiān)控、等。V4L為2層式架構(gòu),zui上層為V4L驅(qū)動程序,zui下層則是影像設(shè)備驅(qū)動程序。
在Linux操作系統(tǒng)中,外部設(shè)備都作為設(shè)備文件來管理,因此,對外部設(shè)備的操作就轉(zhuǎn)變成對設(shè)備文件的操作。視頻設(shè)備文件位于/dev/目錄下,一般情況下為video0。當(dāng)攝像頭通過USB接口連接到視頻采集終端后,在程序中調(diào)用V4LAPIs對設(shè)備文件video0的讀操作即可實現(xiàn)攝像頭視頻數(shù)據(jù)采集。其主要過程如下:
1)打開設(shè)備文件:intv4l_open(char*dev,v4l_device*vd){}打開影像源的設(shè)備文件;
2)初始化picture:intv4l_get_picture(v4l_device*vd){}獲取輸入的影像信息;
3)初始化channel:intv4l_get_channels(v4l_device*vd){}獲取每個channel的信息;
4)對channel設(shè)置norm:intv4l_set_norm(v4l_device*vd,intnorm){}對所有的channel設(shè)置norm;
5)設(shè)備地址映射:v4l_mmap_init(v4l_device*vd){}返回存放圖像數(shù)據(jù)的地址;
6)初始化mmap緩沖區(qū):intv4l_grab_init(v4l_device*vd,intwidth,intheight){};
7)視頻捕獲同步:intv4l_grab_sync(v4l_device*vd){};
8)視頻捕獲:intdevice_grab_frame(){}。
通過以上操作,即可將攝像頭視頻數(shù)據(jù)采集到內(nèi)存。采集到內(nèi)存的視頻數(shù)據(jù)既可采用文件的形式保存,也可將其壓縮后封裝進數(shù)據(jù)包,通過網(wǎng)絡(luò)傳輸?shù)綌?shù)據(jù)處理中心。本設(shè)計采用后一種處理方法,即:先將采集的視頻數(shù)據(jù)進行JPEG壓縮,再將其封裝進數(shù)據(jù)包傳輸?shù)揭曨l應(yīng)用服務(wù)端處理。
3視頻壓縮模塊設(shè)計
由于視頻采集模塊采集的視頻數(shù)據(jù)信息量較大,如果直接通過網(wǎng)絡(luò)傳輸,則會增加數(shù)據(jù)傳輸系統(tǒng)的負擔(dān),大大降低數(shù)據(jù)傳輸效率。為此,本設(shè)計采用JPEG—JointPhotographicExpertsGroup壓縮編碼算法對視頻數(shù)據(jù)進行壓縮。JPEG是一個適用于彩色、單色多灰度、連續(xù)色調(diào)靜止數(shù)字圖像的壓縮標準,是靜態(tài)數(shù)字圖像壓縮的標準,不僅適用于靜止圖像壓縮,而且適用于電視圖像序列的幀內(nèi)圖像壓縮。由于JPEG壓縮采用的是全彩影像標準,其主要處理過程包括:色彩模型轉(zhuǎn)換、離散余弦—DCT變換、重排DCT結(jié)果、量化、編碼等。
在本設(shè)計中,采用zui基本的JPEG算法,其主要步驟為:首先,通過離散余弦變換(DCT)去除數(shù)據(jù)冗余;其次,使用量化表對DCT系數(shù)進行量化;zui后,采用Huaffman可變字長編碼對量化后的DCT系數(shù)進行編碼,使其熵達到zui小。通過實驗,數(shù)據(jù)壓縮效果良好,圖像壓縮率可以達到70%左右。
4nRF2401無線發(fā)射、接收模塊設(shè)計
本設(shè)計采用nRF24012.4GHz無線收發(fā)芯片完成視頻數(shù)據(jù)的無線傳輸。nRF2410是一款單片射頻收發(fā)芯片,工作在2.4GHz~2.5GHzISM頻段,該芯片內(nèi)置頻率合成器、功率放大器、晶振和調(diào)制解調(diào)器等功能模塊,其輸出功率和通信頻道等參數(shù)都可以通過程序進行配置。內(nèi)置的DuoCeiver接收器使nRF2401可以使用同一天線同時接收兩個不同頻道的數(shù)據(jù),這為視頻數(shù)據(jù)的傳輸提供了有利條件。
nRF2401在發(fā)送和接收數(shù)據(jù)時主要完成以下操作:
1)初始化發(fā)送端和接收端:主要完成I/O端口的配置,使能發(fā)送器/接收器,啟動計數(shù)器等;
2)發(fā)送器/接收器配置:先打開配置方式,再配置發(fā)送/接收器,zui后使能收發(fā)功能;
3)接收包/接收包處理:
4)發(fā)送/接收數(shù)據(jù):完成數(shù)據(jù)包的發(fā)送/接收操作;
5)讀取A/D轉(zhuǎn)換結(jié)果:等待AD轉(zhuǎn)換完成后,讀取A/D轉(zhuǎn)換結(jié)果數(shù)據(jù),并開始接受新的轉(zhuǎn)換;
5視頻傳輸模塊設(shè)計
視頻傳輸模塊收到無線接收模塊遞交的視頻數(shù)據(jù)后,可以通過串口或網(wǎng)絡(luò)接口將其傳輸?shù)揭曨l應(yīng)用服務(wù)端,本設(shè)計采用網(wǎng)絡(luò)接口進行數(shù)據(jù)傳輸。目前,互聯(lián)網(wǎng)上傳輸視頻數(shù)據(jù)大多采用UDP協(xié)議。UDP協(xié)議提供非連接、不可靠的數(shù)據(jù)傳輸,由于接收端只對收到的UDP數(shù)據(jù)包進行簡單的完整性校驗,丟棄有錯誤的數(shù)據(jù)包,因此數(shù)據(jù)傳輸速度較快。然而,為了提高數(shù)據(jù)傳輸?shù)臏蚀_性和減少因使用UDP協(xié)議而額外增加的、繁瑣的數(shù)據(jù)確認操作,本設(shè)計選用面向連接的、可靠的數(shù)據(jù)傳輸協(xié)議—TCP。視頻傳輸模塊與視頻應(yīng)用服務(wù)端之間的通信過程如圖3所示:
6視頻應(yīng)用服務(wù)端—視頻顯示模塊設(shè)計與實現(xiàn)
視頻應(yīng)用服務(wù)端采用BorlandC++Builder6.0完成監(jiān)控視頻的合成(如果視頻應(yīng)用服務(wù)端采用Linux操作系統(tǒng),則可以使用Kylix完成相同的功能)。由于BCB的Image類可以完成到像素的圖像處理能力,可以將BMP、Drawing、自定義圖形等顯示成圖像。因此,SocketAPI從網(wǎng)絡(luò)接收視頻數(shù)據(jù)后,首先將接收到的JPEG圖像轉(zhuǎn)換成BMP,然后將其傳送給Image對象,Image對象zui后處理視頻數(shù)據(jù)、生成圖像視頻并將其顯示出來。
7結(jié)束語
本文提出了一種基于ARMS3C2410X的嵌入式無線視頻監(jiān)控系統(tǒng)設(shè)計。采用嵌入式Linux操作系統(tǒng)進行視頻采集、壓縮和打包并通過nRF2401無線發(fā)射、接收模塊進行視頻數(shù)據(jù)無線傳輸,zui后通過TCP/IP網(wǎng)絡(luò)將視頻數(shù)據(jù)從視頻傳輸模塊傳輸?shù)揭曨l應(yīng)用服務(wù)端,構(gòu)成一套完整的無線視頻監(jiān)控系統(tǒng)。由于系統(tǒng)的核心工作采用高性能嵌入式處理器完成,因此該系統(tǒng)具有結(jié)構(gòu)簡單、性能穩(wěn)定、成本低廉等優(yōu)點,在油田、油氣井無線視頻監(jiān)控,智能家居等領(lǐng)域具有廣闊的應(yīng)用前景。
版權(quán)與免責(zé)聲明:
凡本網(wǎng)注明“來源:智慧城市網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-智慧城市網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:智慧城市網(wǎng)www.xuelingski.com”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它來源(非智慧城市網(wǎng)www.xuelingski.com)的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或和對其真實性負責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權(quán)等法律責(zé)任。
-
免費注冊后,你可以
了解安防行業(yè)更多資訊查看安防行業(yè)供求信息凸顯安防行業(yè)自身價值
馬上注冊會員
-
想快速被買家找到嗎
只需要發(fā)布一條商機,被買家找到的機會高達90%!還等什么?
馬上發(fā)布信息
-
-
第106屆中國電子展
中國電子信息業(yè)發(fā)展進入新時代,重點產(chǎn)業(yè)鏈高質(zhì)量發(fā)展行動取【詳細】