林立忠,張惠濤,段麗英
LIN Li-zhong, ZHANG Hui-tao, DUAN Li-ying
(石家莊學(xué)院 計(jì)算機(jī)系,石家莊 050301)
視頻監(jiān)控技術(shù)是一門集計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和數(shù)字視頻技術(shù)于一體的綜合技術(shù)。計(jì)算機(jī)技術(shù)和多媒體技術(shù)的迅速發(fā)展,以及自動(dòng)控制和多媒體技術(shù)也融入到視頻監(jiān)控系統(tǒng)中,監(jiān)控技術(shù)也得到了迅速發(fā)展。過(guò)去的視頻監(jiān)控系統(tǒng)多數(shù)以模擬圖象信息為主,由于對(duì)圖象的處理和傳送均采用模擬技術(shù),不僅圖象質(zhì)量低,而且系統(tǒng)資源浪費(fèi)嚴(yán)重,不易組成復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),監(jiān)控功能可擴(kuò)展性差。該嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)結(jié)合了嵌入式、網(wǎng)絡(luò)、圖像處理與數(shù)字視頻技術(shù)于一體,意義明顯,不但有助于我們解決傳統(tǒng)監(jiān)控系統(tǒng)的缺點(diǎn),提高監(jiān)控系統(tǒng)功能,而且更是有實(shí)際意義,例如,國(guó)際反恐形勢(shì)、2008奧運(yùn)、國(guó)內(nèi)城鎮(zhèn)化與城市建設(shè)、部分應(yīng)用領(lǐng)域安全事故頻發(fā)等,這些方面都需要有新一代的監(jiān)控系統(tǒng)保證。
因?yàn)橐獙?shí)現(xiàn)網(wǎng)絡(luò)遠(yuǎn)程視頻監(jiān)控功能,系統(tǒng)軟件結(jié)構(gòu)模型采用了典型的兩層結(jié)構(gòu)的客戶機(jī)—服務(wù)器(Client-Server)模型,這種形式的C/S結(jié)構(gòu)分為兩層:第一層是在客戶機(jī)系統(tǒng)上結(jié)合了用戶界面與業(yè)務(wù)邏輯;第二層是通過(guò)網(wǎng)絡(luò)結(jié)合了數(shù)據(jù)服務(wù)器。這種C/S結(jié)構(gòu)中,客戶機(jī)直接向服務(wù)器提出訪問(wèn)請(qǐng)求,服務(wù)器根據(jù)請(qǐng)求結(jié)果做出相應(yīng)的反應(yīng),并將結(jié)果返回給客戶機(jī)。在這種C/S模型結(jié)構(gòu)中,服務(wù)端從一開(kāi)機(jī)就啟動(dòng)服務(wù)程序并處于等待狀態(tài),這樣能保證服務(wù)器隨時(shí)都能接受客戶端的請(qǐng)求[1]。
如圖1所示,本文設(shè)計(jì)的嵌入式視頻監(jiān)控系統(tǒng)采用C/S結(jié)構(gòu)模型。服務(wù)器采用穩(wěn)定的Linux2.6.14作為軟件開(kāi)發(fā)平臺(tái)。根據(jù)系統(tǒng)要求移植了相應(yīng)的驅(qū)動(dòng)程序,裁剪了內(nèi)核中其他無(wú)用的功能模塊,這樣減少了操作系統(tǒng)的大小,節(jié)省了空間,提高了穩(wěn)定性以及運(yùn)行的速度。
圖1 嵌入式監(jiān)控系統(tǒng)軟件模型圖
在傳輸協(xié)議方面,采用RTP/RPFCP傳輸視頻數(shù)據(jù),采用TCP傳輸控制指令。
在顯示方面,采用瀏覽器顯示,非常方便,實(shí)現(xiàn)了客戶端與平臺(tái)無(wú)關(guān)。
在Linux操作系統(tǒng)之上的是應(yīng)用程序模塊,主要包括,視頻服務(wù)器管理模塊,圖像采集模塊,編碼模塊,控制模塊,網(wǎng)絡(luò)傳送模塊,視頻存儲(chǔ)模塊[2]。
圖2 系統(tǒng)硬件結(jié)構(gòu)圖
由圖2可見(jiàn)其主要分為以下幾個(gè)部分:
核心處理器:MCU時(shí)鐘頻率需要高于400MHz,它作為系統(tǒng)的中央處理器完成主要的邏輯運(yùn)算,并提供了基本的外圍接口電路和外圍設(shè)備控制器。
存儲(chǔ)設(shè)備:存儲(chǔ)設(shè)備主要包括了SDRAM、NANDFLASH和NORFLASH。SDRAM相當(dāng)于PC機(jī)的內(nèi)存,操作系統(tǒng)需要加載到SDRAM后才能正常運(yùn)行,F(xiàn)LASH相當(dāng)于ROM,用來(lái)存貯Bootioader和操作系統(tǒng)。
網(wǎng)卡接口:采用DM9000網(wǎng)絡(luò)控制芯片,為遠(yuǎn)程網(wǎng)絡(luò)控制提供支持。
USB Host接口:用于和USB接口的攝像頭實(shí)現(xiàn)連接。
調(diào)試模塊:JTAG用來(lái)下載Bootfoader和在線調(diào)試程序,RS232接口用來(lái)輸出打印信息。
網(wǎng)絡(luò)視頻監(jiān)控的具體實(shí)現(xiàn),啟動(dòng)嵌入式系統(tǒng)上的服務(wù)程序,服務(wù)程序等待客戶端的連接,如果有客戶端連接請(qǐng)求,服務(wù)端不斷的將從攝像頭采集的實(shí)時(shí)視頻數(shù)據(jù)壓縮處理,然后通過(guò)基于JRTPLIB庫(kù)的RTP/RTCP協(xié)議傳輸?shù)揭唤M播地址,客戶端加入該組播,不斷獲取視頻數(shù)據(jù),解碼顯示出來(lái)從而實(shí)現(xiàn)實(shí)時(shí)監(jiān)控。其流程如圖3所示:
圖3 網(wǎng)絡(luò)視頻監(jiān)控實(shí)現(xiàn)流程
根據(jù)上面的流程分析可知,加上以后維護(hù)及擴(kuò)展性的考慮,應(yīng)用程序模塊主要包括如圖4所示:
各功能模塊說(shuō)明如下:
1)網(wǎng)絡(luò)通信模塊:主要是接收和發(fā)送數(shù)據(jù),并進(jìn)行解包和封裝,網(wǎng)絡(luò)通信模塊對(duì)于控制指令及數(shù)據(jù)指令采用不同的方式進(jìn)行管理??刂浦噶畈捎肨CP/IP傳輸協(xié)議,數(shù)據(jù)傳送為了保證實(shí)時(shí)性采用RTP/RTCP傳輸協(xié)議[3]。
圖4 視頻監(jiān)控系統(tǒng)功能模塊
2)管理模塊:主要是對(duì)各種各個(gè)模塊都需要的資源進(jìn)行管理,同時(shí)還對(duì)各模塊之間提供相應(yīng)的數(shù)據(jù)交換接口。
3)視頻采集模塊,主要任務(wù)是:
(1)初始化USB攝像頭,啟動(dòng)采集線程程序,采集到圖像數(shù)據(jù)后放到一環(huán)行緩沖區(qū),以供視頻壓縮模塊使用。
(2)接受控制管理指令,例如改變采樣速率、分辨率大小,顏色等等。
4)視頻壓縮編碼模塊:主要的任務(wù)是接受視頻采集模塊的數(shù)據(jù),進(jìn)行相應(yīng)編碼壓縮,壓縮后的視頻數(shù)據(jù)也存放在該模塊的環(huán)形緩沖區(qū)。
5)視頻顯示模塊:在瀏覽器采用Java Applet應(yīng)用程序顯示視頻,主要代碼有:
6)控制模塊:主要任務(wù)是管理控制指令,例如定期發(fā)送“心跳信號(hào)”查詢?cè)诰€客戶端情況、改變采用的顏色等等指令。
7)視頻文件存儲(chǔ)模塊,主要任務(wù)是:
(1)保存視頻文件到USB硬盤,如果沒(méi)有磁盤空間就不保存,啟動(dòng)線程刪除過(guò)期的視頻文件。
(2)設(shè)置定時(shí)器,定期檢查硬盤空間使用情況,刪除過(guò)期視頻文件。
8)日志管理模塊:對(duì)各種操作、程序的狀態(tài)、各種異常情況進(jìn)行日志一記錄。以方便后來(lái)查詢。由于篇幅原因,不詳細(xì)介紹每個(gè)模塊的實(shí)現(xiàn)過(guò)程,詳細(xì)介紹視頻采集模塊、網(wǎng)絡(luò)通信模塊、視頻顯示模塊以及視頻文件保存模塊的實(shí)現(xiàn)[4]。
采用C/S結(jié)構(gòu)方案的優(yōu)點(diǎn)在于每一個(gè)網(wǎng)絡(luò)攝像機(jī)都有一個(gè)獨(dú)立的嵌入式Web服務(wù)器,因此每一個(gè)網(wǎng)絡(luò)攝像機(jī)都具有獨(dú)立的IP地址,可以被上層系統(tǒng)通過(guò)網(wǎng)絡(luò)任意訪問(wèn)。而且每個(gè)攝像機(jī)都是獨(dú)立工作,獨(dú)立傳輸,它們之間不存在任何的隸屬關(guān)系,各個(gè)單元都能獨(dú)立完成各自的任務(wù)而不受其它單元的干預(yù),同時(shí),各個(gè)單元之間也能較好的保證在線擴(kuò)展、在線維護(hù)和容錯(cuò),可靠性高,符合網(wǎng)絡(luò)測(cè)控的要求。實(shí)驗(yàn)結(jié)果表明該系統(tǒng)具有先進(jìn)性、可靠性、安全性、可維護(hù)性、可擴(kuò)展性等優(yōu)點(diǎn),這種視頻監(jiān)控系統(tǒng)除應(yīng)用于遠(yuǎn)程網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)中,也可以應(yīng)用在其它如交通監(jiān)管,醫(yī)院病床監(jiān)護(hù)等各種設(shè)備之間距離較大的情況,具有廣泛的發(fā)展空間。
[1]何腆舉,陳明,段磊強(qiáng),等.基于嵌人式Web服務(wù)器的遠(yuǎn)程視頻監(jiān)控系統(tǒng)[J].測(cè)控技術(shù),2004,23(6).
[2]趙方鵬,楊建華,趙忠,等.基于嵌入式Linux的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[J].測(cè)控技術(shù),2007,26(5):55-57.
[3]康宗明,謝時(shí)根,謝攀,等.基于網(wǎng)絡(luò)的嵌入式遠(yuǎn)程圖像監(jiān)控系統(tǒng)分析與設(shè)計(jì)[J].電視技術(shù), 2002(8): 79-81.
[4]呂麗剛,謝曉竹.遠(yuǎn)程視頻監(jiān)控中的目標(biāo)檢測(cè)和多播傳輸[J].微計(jì)算機(jī)信息,2007,24(5-3):306-307.