1 引言
隨著寬帶和無(wú)線網(wǎng)絡(luò)的普及和進(jìn)一步發(fā)展、人們對(duì)視頻通信、視頻播放等數(shù)字媒體服務(wù)的要求越來(lái)越多,而網(wǎng)絡(luò)視頻監(jiān)控就是在這樣的市場(chǎng)環(huán)境下應(yīng)運(yùn)而生。該系統(tǒng)整合了FPGA數(shù)字視頻信號(hào)處理技術(shù)、CDMA網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)的優(yōu)勢(shì),無(wú)論您身在何處、任何時(shí)間,都可以迅速接入系統(tǒng),隨時(shí)隨地的進(jìn)行遠(yuǎn)程監(jiān)控管理。 CDMA無(wú)線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)可以和其他的有線/無(wú)線網(wǎng)絡(luò)多媒體視頻監(jiān)控系統(tǒng)兼容,便于用戶在不同網(wǎng)絡(luò)環(huán)境下的使用。
2 系統(tǒng)整體構(gòu)成
系統(tǒng)整體框圖如圖1所示。
圖1 系統(tǒng)整體框圖
本文實(shí)現(xiàn)的視頻監(jiān)控系統(tǒng)主要分為兩部分:第一部分,利用硬件描述語(yǔ)言實(shí)現(xiàn)視頻采集,視頻VGA顯示,視頻壓縮,視頻緩沖存儲(chǔ)。第二部分,在FPGA中嵌入NiosⅡ軟核,通過(guò)Nios Ⅱ軟核控制,將緩沖區(qū)的壓縮好的視頻數(shù)據(jù)通過(guò)CDMA無(wú)線模塊傳輸?shù)竭h(yuǎn)端服務(wù)器。
系統(tǒng)整體框圖各部分功能如下:
視頻采集部分;將攝像頭采集進(jìn)來(lái)的模擬視頻數(shù)據(jù)轉(zhuǎn)換為數(shù)字視頻數(shù)據(jù),并獲取相應(yīng)視頻控制信號(hào)。視頻格式轉(zhuǎn)換部分;將采集模塊輸出的視頻數(shù)據(jù)轉(zhuǎn)換成需要的視頻格式。視頻緩存部分;將視頻數(shù)據(jù)暫存在FIFO中,然后由FIFO轉(zhuǎn)存在SDRAM中。CDMA模塊部分;將壓縮好的視頻數(shù)據(jù)通過(guò)CDMA傳輸?shù)竭h(yuǎn)端服務(wù)器。VGA視頻顯示部分;將攝像頭采集進(jìn)來(lái)的視頻通過(guò)VGA接口,在本地顯示器顯示。NiosⅡ控制部分;當(dāng)監(jiān)控系統(tǒng)發(fā)現(xiàn)異?,F(xiàn)象時(shí),Nios Ⅱ控制系統(tǒng)控制視頻壓縮、視頻緩存和CDMA模塊三部分協(xié)調(diào)工作,將壓縮好的視頻數(shù)據(jù)由CDMA傳輸給遠(yuǎn)端服務(wù)器。遠(yuǎn)端服務(wù)器將CDMA傳送回來(lái)的圖像數(shù)據(jù)在上位機(jī)上解壓以圖片方式顯示,并記錄事件發(fā)生時(shí)間。
用戶端將CDMA傳回的數(shù)據(jù)經(jīng)由提供的解碼記錄軟件,在PC機(jī)顯示,并記錄事件發(fā)生時(shí)間。
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)設(shè)計(jì)主要包括以下模塊:圖像采集模塊,圖像處理模塊,VGA顯示模塊,CDMA無(wú)線傳輸模塊,遠(yuǎn)端服務(wù)器。
3.1 圖像采集模塊
采集模塊是整個(gè)系統(tǒng)非常重要的前端,采集質(zhì)量的好壞將直接影響整個(gè)系統(tǒng)的識(shí)別效果,同時(shí)采集的速度也是整個(gè)系統(tǒng)設(shè)計(jì)速度的瓶頸所在。
本設(shè)計(jì)中采用了ADV7181來(lái)完成視頻處理。ADV7181對(duì)視頻信號(hào)進(jìn)行采樣解碼后,得到與CCIR656標(biāo)準(zhǔn)兼容的YCrCb 4:2:2格式的輸出編碼。要對(duì)YCrCb 4:2:2格式的數(shù)字圖像數(shù)據(jù)進(jìn)行后續(xù)處理。
彩色CCD攝像頭采集到的模擬視頻信號(hào),經(jīng)過(guò)ADV7181芯片的解碼得到數(shù)字視頻信號(hào)。ADV7181芯片通I2C總線控制,I2C控制模塊是由自定義外設(shè)實(shí)現(xiàn)的,SOPC提供的IP核只需對(duì)其參數(shù)進(jìn)行配置便可加入到該系統(tǒng)中。圖像采集模塊如圖2所示。
圖2 圖像采集模塊
2C20通過(guò)I2C來(lái)控制ADV7181B對(duì)視頻信號(hào)的采樣。ADV7181B芯片產(chǎn)生的數(shù)字視頻信號(hào)、控制信號(hào)和狀態(tài)信號(hào)送入控制芯片F(xiàn)PGA中,即把場(chǎng)同步信號(hào)VREF、行同步信號(hào)HREF、奇偶場(chǎng)標(biāo)志信號(hào)RTS0、片選信號(hào)CE、垂直同步信號(hào)VS、象素時(shí)鐘信號(hào)LLC2以及數(shù)字視頻信號(hào)VPO等管腳連接到FPGA芯片,以獲知各種采集信息。
由于攝像頭輸出模擬信號(hào),需要經(jīng)過(guò)視頻A/D轉(zhuǎn)化后,把模擬視頻信號(hào)轉(zhuǎn)化成數(shù)字視頻信號(hào),輸入進(jìn)FPGA芯片,F(xiàn)PGA根據(jù)狀態(tài)信號(hào)SRTS0把奇偶場(chǎng)圖像信號(hào)分別存儲(chǔ)在SDRAM(ODD)和SDRAM(EVEN)中。
3.2 圖像處理模塊
由圖3可以清楚的看出圖像處理過(guò)程,攝像頭采集信號(hào)經(jīng)A/D轉(zhuǎn)換后送入ITU R656解碼器(Decoder),經(jīng)解碼后分出的Y、Cr、Cb三種基色信號(hào)數(shù)據(jù)線,這三種基色信號(hào)、控制信號(hào)和時(shí)鐘信號(hào)進(jìn)入緩沖器(Buffer)后共同作用輸出Y[7:0]、Cr[7:0]、Cb[7:0]三種基色信號(hào)線給RGB模塊,通過(guò)對(duì)三種基色的混合調(diào)制便可得到彩色的圖像畫面。
圖像傳輸過(guò)程中需要對(duì)圖像信息進(jìn)行壓縮。由于通常無(wú)損壓縮的壓縮比不高,所以在很多情況下,經(jīng)過(guò)無(wú)損壓縮后的數(shù)據(jù)量仍將超過(guò)實(shí)際應(yīng)用所能忍受的負(fù)荷。所以實(shí)現(xiàn)有較高壓縮比的高保真的有損圖像壓縮就很重要。
圖3 圖像處理模塊
本算法的編碼器包括3個(gè)步驟:第1步是對(duì)原始圖像進(jìn)行向量變換,第2步是動(dòng)態(tài)位分配的向量量化VQ(Vector Quantization)編碼,第3步是進(jìn)行一種熵編碼。相應(yīng)的解碼器也包括3個(gè)步驟:解碼器由編碼器的3個(gè)步驟的逆過(guò)程按逆序組成。圖4所示為算法編碼器和解碼器的框架圖。
圖4 編碼器和解碼器的框架
圖像處理部分是整個(gè)系統(tǒng)的核心,需要對(duì)外圍的器件進(jìn)行集中控制和處理。FPGA/CPLD對(duì)圖像信號(hào)的采集、控制、存儲(chǔ)數(shù)據(jù)到SRAM以及從SRAM讀取數(shù)據(jù)都在這里實(shí)現(xiàn)。選用CycloneII EP2C20F484C7芯片,利用Verilog HDL作為硬件描述語(yǔ)言,實(shí)現(xiàn)對(duì)各小模塊的連接控制。
3.3 VGA顯示模塊
如圖5 VGA顯示模塊所示,從攝像頭過(guò)來(lái)的信號(hào)經(jīng)過(guò)視頻解碼后到視頻處理芯片,視頻處理芯片輸出三路的R、G、B數(shù)字信號(hào)到視頻DAC,然后輸出三路的模擬R、 G、B信號(hào)到顯示屏顯示。.這其中,視頻DAC的速度直接決定了輸出圖像的分辨率和刷新率,而其精度則決定了輸出圖像的質(zhì)量。DAC的速度和分辨率的關(guān)系可以通過(guò)下面的關(guān)系式得到:
時(shí)鐘頻率=點(diǎn)速率=(水平分辨率)×(垂直分辨率)×(刷新率)/(回掃系數(shù));
水平分辨率=行的像素?cái)?shù)目;
垂直分辨率=幀的像素?cái)?shù)目。
圖5 VGA顯示模塊
3.4 CDMA無(wú)線模塊
CDMA(Code-Division Multiple Access)技術(shù)是近年來(lái)在數(shù)字移動(dòng)通信進(jìn)程中出現(xiàn)的一種先進(jìn)的無(wú)線擴(kuò)頻通信技術(shù),具有頻譜利用率高、話音質(zhì)量好、保密性強(qiáng)、掉話率低、電磁輻射小、容量大、覆蓋廣等特點(diǎn)。
1)數(shù)據(jù)傳輸方式設(shè)計(jì)
模塊利用DE1的配置串口與CDMA模塊通信,當(dāng)監(jiān)視到有人走過(guò)時(shí),NiosⅡ系統(tǒng)發(fā)出拍照指令,通過(guò)攝像頭記錄下圖像,同時(shí)NiosⅡ系統(tǒng)通過(guò)UART串口向CDMA發(fā)送信息,CDMA模塊向設(shè)定的手機(jī)發(fā)送報(bào)警信息,并向上位機(jī)發(fā)送圖像信息。
NiosⅡ與CDMA的通信是采用AT指令向CDMA模塊發(fā)送命令。當(dāng)監(jiān)視發(fā)現(xiàn)異?,F(xiàn)象時(shí), NiosⅡ系統(tǒng)接收到來(lái)自監(jiān)控模塊產(chǎn)生的異常信號(hào),馬上進(jìn)行拍照命令,同時(shí)向CDMA發(fā)送AT指令,并利用UART的中斷接收CDMA返回的信號(hào),一旦確認(rèn)CDMA模塊接收到AT指令將向CDMA發(fā)送下一條指令,如果NiosⅡ系統(tǒng)沒(méi)有收到CDMA模塊返回來(lái)的OK信號(hào),系統(tǒng)將不斷的向CDMA發(fā)送AT指令直到CDMA響應(yīng)成功。其中NiosⅡ系統(tǒng)接收CDMA返回信號(hào)和向CDMA發(fā)送信號(hào)采用中斷方式。
2)CDMA響應(yīng)過(guò)程
系統(tǒng)向CDMA模塊發(fā)送AT指令初始化CDMA模塊,然后調(diào)用建立PPP連接的函數(shù),先用AT指令A(yù)TD#777接通CDMA,然后初始化PPP連接,當(dāng)PPP連接完成后設(shè)置好相應(yīng)的IP參數(shù)。
然后初始化WAP相關(guān)參數(shù),建立WAP連接,調(diào)用信息發(fā)送函數(shù)將圖像信息發(fā)送到與上位機(jī)相連接的CDMA模塊中,完成數(shù)據(jù)的傳送后,斷開PPP連接。負(fù)責(zé)接收數(shù)據(jù)的CDMA模塊把數(shù)據(jù)通過(guò)串口傳送到上位機(jī)中。
3)TCP/IP協(xié)議
TCP/IP(傳輸控制協(xié)議/網(wǎng)間協(xié)議)是一種網(wǎng)絡(luò)通信協(xié)議,它規(guī)范了網(wǎng)絡(luò)上的所有通信設(shè)備。網(wǎng)絡(luò)傳輸?shù)幕拘畔卧菙?shù)據(jù)包。當(dāng)包經(jīng)由 TCP/IP 協(xié)議棧時(shí),每一層上的協(xié)議都會(huì)在基本頭中添加或刪除字段。
3.5 遠(yuǎn)程服務(wù)上位機(jī)設(shè)計(jì)
該系統(tǒng)利用VB編寫程序,將CDMA接收回來(lái)的圖像數(shù)據(jù)以文本格式進(jìn)行存儲(chǔ),并將圖片在系統(tǒng)界面上顯示,同時(shí)記錄事件發(fā)生時(shí)間。遠(yuǎn)端服務(wù)器監(jiān)控顯示效果如圖6所示。
圖6 遠(yuǎn)端服務(wù)器顯示
遠(yuǎn)端服務(wù)器應(yīng)用程序流程圖如圖7所示:
圖7 遠(yuǎn)端服務(wù)器應(yīng)用程序流程圖
3.6 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)使用了Altera公司的Quartus II、SOPC Buil