林立忠,張惠濤,段麗英
LIN Li-zhong, ZHANG Hui-tao, DUAN Li-ying
(石家莊學院 計算機系,石家莊 050301)
視頻監(jiān)控技術(shù)是一門集計算機技術(shù)、網(wǎng)絡技術(shù)和數(shù)字視頻技術(shù)于一體的綜合技術(shù)。計算機技術(shù)和多媒體技術(shù)的迅速發(fā)展,以及自動控制和多媒體技術(shù)也融入到視頻監(jiān)控系統(tǒng)中,監(jiān)控技術(shù)也得到了迅速發(fā)展。過去的視頻監(jiān)控系統(tǒng)多數(shù)以模擬圖象信息為主,由于對圖象的處理和傳送均采用模擬技術(shù),不僅圖象質(zhì)量低,而且系統(tǒng)資源浪費嚴重,不易組成復雜的網(wǎng)絡結(jié)構(gòu),監(jiān)控功能可擴展性差。該嵌入式網(wǎng)絡視頻監(jiān)控系統(tǒng)結(jié)合了嵌入式、網(wǎng)絡、圖像處理與數(shù)字視頻技術(shù)于一體,意義明顯,不但有助于我們解決傳統(tǒng)監(jiān)控系統(tǒng)的缺點,提高監(jiān)控系統(tǒng)功能,而且更是有實際意義,例如,國際反恐形勢、2008奧運、國內(nèi)城鎮(zhèn)化與城市建設、部分應用領域安全事故頻發(fā)等,這些方面都需要有新一代的監(jiān)控系統(tǒng)保證。
因為要實現(xiàn)網(wǎng)絡遠程視頻監(jiān)控功能,系統(tǒng)軟件結(jié)構(gòu)模型采用了典型的兩層結(jié)構(gòu)的客戶機—服務器(Client-Server)模型,這種形式的C/S結(jié)構(gòu)分為兩層:第一層是在客戶機系統(tǒng)上結(jié)合了用戶界面與業(yè)務邏輯;第二層是通過網(wǎng)絡結(jié)合了數(shù)據(jù)服務器。這種C/S結(jié)構(gòu)中,客戶機直接向服務器提出訪問請求,服務器根據(jù)請求結(jié)果做出相應的反應,并將結(jié)果返回給客戶機。在這種C/S模型結(jié)構(gòu)中,服務端從一開機就啟動服務程序并處于等待狀態(tài),這樣能保證服務器隨時都能接受客戶端的請求[1]。
如圖1所示,本文設計的嵌入式視頻監(jiān)控系統(tǒng)采用C/S結(jié)構(gòu)模型。服務器采用穩(wěn)定的Linux2.6.14作為軟件開發(fā)平臺。根據(jù)系統(tǒng)要求移植了相應的驅(qū)動程序,裁剪了內(nèi)核中其他無用的功能模塊,這樣減少了操作系統(tǒng)的大小,節(jié)省了空間,提高了穩(wěn)定性以及運行的速度。

圖1 嵌入式監(jiān)控系統(tǒng)軟件模型圖
在傳輸協(xié)議方面,采用RTP/RPFCP傳輸視頻數(shù)據(jù),采用TCP傳輸控制指令。
在顯示方面,采用瀏覽器顯示,非常方便,實現(xiàn)了客戶端與平臺無關(guān)。
在Linux操作系統(tǒng)之上的是應用程序模塊,主要包括,視頻服務器管理模塊,圖像采集模塊,編碼模塊,控制模塊,網(wǎng)絡傳送模塊,視頻存儲模塊[2]。

圖2 系統(tǒng)硬件結(jié)構(gòu)圖
由圖2可見其主要分為以下幾個部分:
核心處理器:MCU時鐘頻率需要高于400MHz,它作為系統(tǒng)的中央處理器完成主要的邏輯運算,并提供了基本的外圍接口電路和外圍設備控制器。
存儲設備:存儲設備主要包括了SDRAM、NANDFLASH和NORFLASH。SDRAM相當于PC機的內(nèi)存,操作系統(tǒng)需要加載到SDRAM后才能正常運行,F(xiàn)LASH相當于ROM,用來存貯Bootioader和操作系統(tǒng)。
網(wǎng)卡接口:采用DM9000網(wǎng)絡控制芯片,為遠程網(wǎng)絡控制提供支持。
USB Host接口:用于和USB接口的攝像頭實現(xiàn)連接。
調(diào)試模塊:JTAG用來下載Bootfoader和在線調(diào)試程序,RS232接口用來輸出打印信息。
網(wǎng)絡視頻監(jiān)控的具體實現(xiàn),啟動嵌入式系統(tǒng)上的服務程序,服務程序等待客戶端的連接,如果有客戶端連接請求,服務端不斷的將從攝像頭采集的實時視頻數(shù)據(jù)壓縮處理,然后通過基于JRTPLIB庫的RTP/RTCP協(xié)議傳輸?shù)揭唤M播地址,客戶端加入該組播,不斷獲取視頻數(shù)據(jù),解碼顯示出來從而實現(xiàn)實時監(jiān)控。其流程如圖3所示:

圖3 網(wǎng)絡視頻監(jiān)控實現(xiàn)流程
根據(jù)上面的流程分析可知,加上以后維護及擴展性的考慮,應用程序模塊主要包括如圖4所示:
各功能模塊說明如下:
1)網(wǎng)絡通信模塊:主要是接收和發(fā)送數(shù)據(jù),并進行解包和封裝,網(wǎng)絡通信模塊對于控制指令及數(shù)據(jù)指令采用不同的方式進行管理。控制指令采用TCP/IP傳輸協(xié)議,數(shù)據(jù)傳送為了保證實時性采用RTP/RTCP傳輸協(xié)議[3]。

圖4 視頻監(jiān)控系統(tǒng)功能模塊
2)管理模塊:主要是對各種各個模塊都需要的資源進行管理,同時還對各模塊之間提供相應的數(shù)據(jù)交換接口。
3)視頻采集模塊,主要任務是:
(1)初始化USB攝像頭,啟動采集線程程序,采集到圖像數(shù)據(jù)后放到一環(huán)行緩沖區(qū),以供視頻壓縮模塊使用。
(2)接受控制管理指令,例如改變采樣速率、分辨率大小,顏色等等。
4)視頻壓縮編碼模塊:主要的任務是接受視頻采集模塊的數(shù)據(jù),進行相應編碼壓縮,壓縮后的視頻數(shù)據(jù)也存放在該模塊的環(huán)形緩沖區(qū)。
5)視頻顯示模塊:在瀏覽器采用Java Applet應用程序顯示視頻,主要代碼有:


6)控制模塊:主要任務是管理控制指令,例如定期發(fā)送“心跳信號”查詢在線客戶端情況、改變采用的顏色等等指令。
7)視頻文件存儲模塊,主要任務是:
(1)保存視頻文件到USB硬盤,如果沒有磁盤空間就不保存,啟動線程刪除過期的視頻文件。
(2)設置定時器,定期檢查硬盤空間使用情況,刪除過期視頻文件。
8)日志管理模塊:對各種操作、程序的狀態(tài)、各種異常情況進行日志一記錄。以方便后來查詢。由于篇幅原因,不詳細介紹每個模塊的實現(xiàn)過程,詳細介紹視頻采集模塊、網(wǎng)絡通信模塊、視頻顯示模塊以及視頻文件保存模塊的實現(xiàn)[4]。
采用C/S結(jié)構(gòu)方案的優(yōu)點在于每一個網(wǎng)絡攝像機都有一個獨立的嵌入式Web服務器,因此每一個網(wǎng)絡攝像機都具有獨立的IP地址,可以被上層系統(tǒng)通過網(wǎng)絡任意訪問。而且每個攝像機都是獨立工作,獨立傳輸,它們之間不存在任何的隸屬關(guān)系,各個單元都能獨立完成各自的任務而不受其它單元的干預,同時,各個單元之間也能較好的保證在線擴展、在線維護和容錯,可靠性高,符合網(wǎng)絡測控的要求。實驗結(jié)果表明該系統(tǒng)具有先進性、可靠性、安全性、可維護性、可擴展性等優(yōu)點,這種視頻監(jiān)控系統(tǒng)除應用于遠程網(wǎng)絡實驗系統(tǒng)中,也可以應用在其它如交通監(jiān)管,醫(yī)院病床監(jiān)護等各種設備之間距離較大的情況,具有廣泛的發(fā)展空間。
[1]何腆舉,陳明,段磊強,等.基于嵌人式Web服務器的遠程視頻監(jiān)控系統(tǒng)[J].測控技術(shù),2004,23(6).
[2]趙方鵬,楊建華,趙忠,等.基于嵌入式Linux的網(wǎng)絡視頻監(jiān)控系統(tǒng)[J].測控技術(shù),2007,26(5):55-57.
[3]康宗明,謝時根,謝攀,等.基于網(wǎng)絡的嵌入式遠程圖像監(jiān)控系統(tǒng)分析與設計[J].電視技術(shù), 2002(8): 79-81.
[4]呂麗剛,謝曉竹.遠程視頻監(jiān)控中的目標檢測和多播傳輸[J].微計算機信息,2007,24(5-3):306-307.