邵曉 楊斌 李光 賈π
海軍蚌埠士官學校 安徽 233012
本文提出一種嵌入式智能網絡視頻監(jiān)控系統(tǒng)設計與實現方法,其特點是基于嵌入式系統(tǒng)進行設計與開發(fā),系統(tǒng)體積小、成本低、便于安裝與維護、具備較強的可擴展性。同時系統(tǒng)還具有運動對象檢測功能,可快速檢測出監(jiān)控畫面中的運動物體并發(fā)出報警信號。系統(tǒng)可實現無人值守,非常適合住宅小區(qū)、銀行、倉庫等單位的安全防范。
本系統(tǒng)的總體結構如圖1所示,包括網絡視頻監(jiān)控服務器端、客戶端和控制端三大部分。
整個系統(tǒng)按照B/S模式開發(fā),網絡上的授權用戶只需利用標準的瀏覽器便可訪問該系統(tǒng),不用安裝任何特定的軟件。結合性能和成本的考慮,本系統(tǒng)采用TI公司的TMS320DM642為系統(tǒng)微處理器和自行研制的DSP開發(fā)板。

圖1 系統(tǒng)總體結構圖
視頻監(jiān)控服務器端用來提供監(jiān)控視頻流,圖2描述了它的功能結構。

圖2 視頻監(jiān)控服務器端功能結構圖
圖3描述了視頻監(jiān)控服務器端的工作流程。系統(tǒng)采用運動檢測技術以提高系統(tǒng)的智能化程度。目前運動檢測主要采用光流法、幀差法和背景減法。背景減法是安全監(jiān)控中最常用的運動對象檢測算法,綜合性能最好。考慮速度和穩(wěn)健性兩個方面,本系統(tǒng)采用背景減法實現運動檢測和實時報警功能。
基于自行研制的嵌入式DSPIC開發(fā)平臺(DSP for Picture Processing,圖像處理DSP平臺),我們設計實現了視頻監(jiān)控服務器端。DSPIC開發(fā)平臺采用TI公司TMS320DM642 DSP作為嵌入式處理器,該處理器主頻600MHz,可支持8路指令并行處理。DSPIC平臺集成有32MB外部存儲器,4MB FLASH存儲器,具有視頻信號采集和網絡傳輸模塊。
在DSPIC開發(fā)平臺上,我們采用TVP5150芯片將攝像頭輸出PAL格式的模擬視頻信號轉化為YUV格式的數字信號,圖像大小設置為D1格式(704×576),每秒采集25幀。

圖3 視頻監(jiān)控服務器端工作流程圖
針對YUV信號采用背景減法進行運動對象檢測。考慮到攝像機剛啟動可能造成第一幀圖像失真,系統(tǒng)固定選取第二幀圖像作為背景幀。為了節(jié)省硬件的內存空間和提高運算速度,把背景幀作一個宏塊化的壓縮處理:對于圖像中每個8×8的宏塊取像素平均值,得到只有原圖像1/64大小的小圖像。然后根據背景減法的原理,將每一幀圖像宏塊化之后再和背景幀作差,當連續(xù)有兩個差值大于某個閾值時,則認為當前所處區(qū)域是屬于運動對象的,這樣可以消除一些小的水平方向的噪聲,因為噪聲一般都是孤立的、小范圍的,大多只能引起一個宏塊的變化。最終檢測出的運動對象區(qū)域用一個方框表示,方框位置由左上角點和右下角點確定,這兩點的坐標數據會隨視頻流一并傳送至客戶端。
為了縮短開發(fā)周期,系統(tǒng)采用MJPEG標準進行視頻壓縮。根據不同的網絡狀況和應用需求,可更換DSP的編碼算法。由于DM642性能較高,可以實現實時編碼并使系統(tǒng)具備良好的性能。由于是在嵌入式系統(tǒng)上實現視頻壓縮以及運動對象檢測,受到硬件條件的限制,要保證算法的執(zhí)行速度,需要對程序進行優(yōu)化。該算法通過和硬件相配套的標準匯編語言實現,采用流水線技術和并行技術實現了速度的極大提高,滿足實時性要求。
系統(tǒng)采用TI公司推出的TCP/IP NDK實現網絡服務器模塊。系統(tǒng)啟動時需配置DM642的網絡環(huán)境,包括完成協議棧系統(tǒng)的初始化工作,創(chuàng)建配置文件和為視頻服務添加網頁文件。客戶端所看到的Web頁面以及負責解碼顯示的ActiveX控件均需要添加至視頻服務器中。另外還需編寫CGI程序以實現視頻監(jiān)控控制端與服務器端的交互功能。
視頻監(jiān)控客戶端主要由三部分組成:視頻數據獲取模塊、解壓縮與顯示模塊和顯示參數調節(jié)模塊。主要功能是從服務器端抓取視頻數據并負責解碼顯示。視頻數據獲取模塊的主要功能是通過服務器端的網絡接口不斷從視頻服務器上獲取經過壓縮的視頻數據,然后交由解壓縮與顯示模塊負責解碼和在瀏覽器中顯示;由服務器端的實時時鐘提供的時間信息以及運動對象的位置信息會一并隨著視頻數據傳送至客戶端并在瀏覽器中顯示。顯示參數調節(jié)模塊負責對視頻圖像顯示效果進行調節(jié),如顯示分辨率、亮度與對比度等。
為方便使用起見,我們采用ActiveX技術完成了對客戶端程序的實現,用戶無需安裝任何客戶端軟件,通過IE瀏覽器便可看到監(jiān)控視頻。
ActiveX是Microsoft提出的一組基于組件模型(Component Object Model,COM),且與具體編程語言無關的技術,被廣泛應用于Web服務器以及各種客戶端的應用開發(fā)。將ActiveX控件嵌入監(jiān)控頁面,一并添加至視頻監(jiān)控服務器上的視頻服務器中,即能實現在PC端用IE瀏覽器訪問服務器監(jiān)控頁面時,ActiveX控件自動識別版本、下載、注冊、安裝并運行的功能。客戶端無需任何配置,只要安裝IE3.0以上版本的瀏覽器即可。
為了使生成的控件盡量小,盡量不依賴客戶端環(huán)境,我們選用VC提供的ATL方法開發(fā)ActiveX控件。控件采用了基于套接字(Socket)通信來實現視頻數據獲取模塊,主要是利用了Windows Sockets 1.1提供的API函數與視頻監(jiān)控服務器端建立連接,并發(fā)送HTTP請求以獲取視頻服務器上編碼完成的一幀圖像數據;解壓縮與顯示模塊的主要部分是一高效的JPEG解碼類,當一幀圖像數據全部下載完之后,調用該類對圖像數據進行解碼,并在瀏覽器中顯示。
顯示參數調節(jié)模塊是通過在HTML文件中添加VBScript腳本代碼來實現的。用戶可利用監(jiān)控頁面提供的交互功能來改變控件的各屬性值,從而使用戶在觀看監(jiān)控視頻時可自由設定圖像顯示分辨率,調節(jié)圖像亮度和對比度,選擇是否顯示系統(tǒng)當前時間和幀率等。
視頻監(jiān)控控制端用于設置和修改服務器端的各種運行參數,從功能上主要分為四個模塊:網絡設置模塊主要負責對服務器端的網絡服務器模塊進行操作,主要設置和修改其IP地址等各項網絡參數;圖像設置模塊對服務器端的視頻壓縮與編碼模塊發(fā)生作用,負責設置和修改其壓縮生成的圖像分辨率以及圖像質量,主要是為了增強系統(tǒng)對應用環(huán)境的適應性,如在網絡環(huán)境較差的情況下可選擇較低的編碼質量和較小的圖像分辨率以減少網絡傳輸數據量,以保證系統(tǒng)的正常運行;時鐘設置模塊用于調節(jié)服務器端的實時時鐘,以便給監(jiān)控視頻提供準確的時間信息,并且還負責設定系統(tǒng)報警時段,使得系統(tǒng)只有在特定時間內檢測到運動對象才發(fā)出報警信息,以增強報警機制的靈活性,擴大其適用范圍;云臺控制模塊通過服務器端的串口對云臺產生控制,以調節(jié)攝像頭的位置和方向。視頻監(jiān)控控制端各模塊對服務器端的作用關系如圖4所示。

圖4 視頻監(jiān)控控制端功能模塊與作用關系
通用網關接口(Common Gateway Interface)是外部擴展應用程序與Web服務器交互的一種通用的接口標準,給Web服務器提供一個執(zhí)行外部程序的通道。系統(tǒng)采用CGI程序實現控制端與服務器端的交互。CGI程序由控制端發(fā)送的基于HTTP協議的請求和命令觸發(fā),然后將控制端的請求和命令傳送給服務器端,服務器端應用程序則執(zhí)行相應的操作。
我們采用Borland公司推出的可視化應用程序開發(fā)工具Borland C++Builder 6開發(fā)控制端軟件。主要利用C++Builder 6提供的HTTP服務客戶端控件TIdHTTP向服務器端相應的CGI程序發(fā)送HTTP請求,CGI程序接收到請求之后根據指令做相應操作。軟件在啟動時將從一配置文件中讀取服務器的MAC地址、IP地址等網絡參數,用戶可根據不同的網絡環(huán)境來修改IP地址。軟件退出時會將新設置的IP地址寫回配置文件,以便下一次啟動時能夠以正確的IP地址來訪問視頻監(jiān)控服務器。
目前該網絡視頻監(jiān)控系統(tǒng)已全部開發(fā)完成,將該系統(tǒng)在局域網上試運行,監(jiān)控視頻的左上角顯示系統(tǒng)時間,右上角顯示幀率。經測試,此時視頻監(jiān)控服務器每秒生成25幀D1格式的視頻圖像,客戶端ActiveX控件抓取并顯示圖像序列的速度為32fps。由該實驗結果可看出,本系統(tǒng)對視頻圖像的壓縮編碼效果良好,監(jiān)控視頻清晰流暢,無抖動現象,視覺效果好。系統(tǒng)可實時檢測出監(jiān)控畫面中的運動對象,用紅色方框標出,并發(fā)出報警信號。經測試,系統(tǒng)可在2ms以內準確檢測出運動對象,具備實時報警的功能。
[1]歐揚,付保川.一種嵌入式智能網絡視頻監(jiān)控終端的研究與設計[J].微計算機信息.2005.
[2]TMS320DM642 Video/Imaging Fixed-Point Digital Signal Processor Data Manual,Literature Number.SPRS200B.Texas Instruments Incorporated.2003.
[3]鄧誠強.實時視頻中運動對象的檢測及跟蹤[D].武漢:華中師范大學.2004.
[4]周霖.DSP信號處理技術應用[M].北京:國防工業(yè)出版社.2004.
[5]汪國有,趙藍蘭.采用DM642平臺設計MPEG-4視頻流傳輸系統(tǒng)[J].電視技術.2005.
[6]王國偉,宋鐵成,陳正石.基于嵌入式Web Server的視頻監(jiān)控服務器[J].計算機工程.2005.