數字視頻監控系統是以計算機或嵌入式系統為中心、視頻處理技術為基礎組建的的一種新型監控系統,系統采用符合圖像數據壓縮的國際標準,綜合利用圖像傳感器、計算機網絡、自動控制和人工智能等技術。由于數字 ...
數字視頻監控系統是以計算機或嵌入式系統為中心、視頻處理技術為基礎組建的的一種新型監控系統,系統采用符合圖像數據壓縮的國際標準,綜合利用圖像傳感器、計算機網絡、自動控制和人工智能等技術。由于數字視頻監控系統對視頻圖像進行了數字化,所以與傳統的模擬監控系統相比,數字監控具有許多優點。數字化的視頻系統可以充分利用計算機的快速處理能力,對其進行壓縮、分析、存儲和顯示。數字化視頻處理技術提高了圖像的質量與監控效率,使系統易于管理和維護。整個系統是模塊化結構,體積小,易于安裝、使用和維護。正是由于數字視頻監控技術具有傳統模擬監控技術無法比擬的優點,而且符合當前信息社會中數字化、網絡化和智能化的發展趨勢,所以數字視頻監控技術正在逐步取代模擬監控技術,廣泛應用于各行各業。嵌入式系統以體積小、實時性強、性價比高、穩定性好等特點在社會的各個領域中得到了廣泛應用。筆者設計的一種嵌入式系統,以WinCE操作系統和ARM硬件平臺為核心實現了對現場的實時監控,并通過無線網絡把視頻圖像傳輸到主機端,以實現分析、存儲和顯示等功能。
1系統設計
本系統主要由操作系統定制、視頻圖像采集、視頻圖像無線傳輸三部分組成。系統的核心芯片選用基于ARM920T內核的S3C2410嵌入式微處理器,軟件環境選用MicrosoftWindowsCE操作系統。系統首先通過USB攝像頭采集現場實時視頻信息,并對其進行壓縮。然后,使用兩塊無線網卡在ARM開發板與上位機之間構建一個無線局域網絡,從而將壓縮的視頻數據傳輸到主機端,終端用戶即可在主機端通過流媒體播放程序查看遠程視頻影像。視頻監控系統總體結構框圖如圖l所示。
圖l、視頻監控系統總體結構框圖
2操作系統的定制
系統硬件平臺的核心芯片選用了S3C2410處理器,最高頻率可達203MHz。S3C2410處理器是Samsung公司基于ARM公司的ARM920T處理器核,采用O.18μm制造工藝的32位微控制器。該處理器具有較高的集成度,簡化了應用系統的硬件設計,提高了系統的可靠性。開發扳上還擴展了4MB的NORFlash、64MB的NANDFlash和64MB的DRAM。
系統選用了MicrosoftWilldowsCE(簡稱“WinCE”)操作系統。WinCE是一個緊湊的、高效且可擴展的32位操作系統,適用于各種嵌入式系統和產品。它擁有多線程、多任務和確定性的實時、完全搶占式優先級的操作系統環境,專門面向只有有限資源的硬件系統;同時,它的模塊化設計方式使得系統開發人員和應用開發人員能夠為多種多樣的產品來定制它,可以選擇、組合和配置WinCE的模塊和組件來創建用戶版的操作系統。
在WinCE產品開發中,主要有內核定制和應用程序開發兩項非常重要的工作。微軟在兩方面都提供了良好的開發工具,即內核定制工具PlatformBuilder(簡稱“PB”)和應用程序開發工具EmbeddedVisualC++(簡稱“EVC”)。
在系統定制過程中,各部分的關系如圖2所示。
3視頻圖像采集
3.1攝像頭驅動
圖像采集模塊的硬件資源選用了當前市面上應用最廣泛的USB接口的中星微攝像頭。該款攝像頭造價低廉,成像效果好,用于本系統中體現出了較高的性價比。系統在進行視頻采集前,首先要檢測設定視頻源。系統啟動后,WinCE操作系統會自動檢測攝像頭是否連接好。本系統在定制WinCE操作系統時,通過修改操作系統配置和注冊表?梢允瓜到y自動加載攝像頭在WinCE下的驅動程序ZC030x.dll。
系統自動加載驅動程序時,首先要將驅動程序復制到\WINDOWS文件夾下,然后向注冊表中寫入攝像頭的驅動信息:
其中,prefix為設備文件名,D11為驅動的文件名,Order為設備文件名索引。硬件配置完成后啟動操作系統,就可以自動加載驅動,運行應用程序進行圖像采集了。
3.2圖像采集程序
中星微攝像頭采用了中星微301PLUS快速主控芯片。該芯片是一款高性能圖像壓縮芯片,輸出MIPEG視頻流數據。MIPEG(MotionJPEG)主要是基于靜態視頻壓縮發展起來的技術,特點是基本不考慮視頻流中不同幀之間的變化,只單獨對某一幀進行壓縮,通?蛇_到6:1的壓縮率。它的誤差穩定性非常好,可以獲取清晰度很高的視頻圖像,而且還可以靈活設置各路視頻清晰度,壓縮幀數。
本系統直接從攝像頭驅動中獲取MJPEG視頻流數據,圖像采集流程如圖3所示。
圖像采集模塊用到的主要函數有:
capInitCamera()用來初始化視頻設備,并獲取當前可用的視頻設備數目;
capSetVideoFormat()設置視頻格式和分辨率。本系統使用的視頻格式為RGB24,分辨率為320×240像素;
capGrabFrsme()從驅動中抓取1幀圖像,并存儲在緩存lpFrameBuffer中;
capGetLastJpeg()將抓取的MJPEG格式的圖像轉換成JPEG格式,送到無線發送模塊。
capCloseCamera()關閉視頻設備;
視頻采集部分還有查詢視頻采集格式、設置明暗度、設置對比度等相關函數,不再詳述。
4視頻傳輸部分
4.1配置無線網卡
圖像傳輸模塊主要是通過USB接口的無線網卡來實現的。該無線網卡可與S3C2410集成的USB主機接口直接相連,工作在2.4GHz的ISM頻段,采用直接序列擴頻通信方式,遵從802.11g協議,傳輸速度可達54Mbps,室內有效距離為100m,能夠滿足局域網內視頻傳輸的要求。本系統通過開發板和主機之間的無線網卡構建無線局域網絡,能夠實現點對點的無縫連接,用戶通過此無線網絡可以實現文件傳輸、視頻通信等應用。
開發板端的無線網卡也需要加載驅動才能運行。本系統在定制WinCE操作系統時,首先將無線網卡的驅動程序復制到\WINDOWS文件夾下,然后向注冊表中寫入無線網卡的驅動信息。WinCE操作系統啟動后會自動檢測無線網卡是否連接好,并加載驅動程序,此時,就可以通過應用程序調用此無線網卡了。在無線傳輸時,注意要把開發板和主機設置在同一IP網段。
4.2傳輸視頻數據
實時傳輸協議RTP(RealtimeTransportProtocol)是一種實時流式傳輸協議,能夠保證媒體信號帶寬與當前網絡狀況相匹配,在一對一(umcast,單播)或者一對多(multicast,多播)的網絡環境中實現流媒體數據的實時傳輸。RTP通常使用UDP來進行多媒體數據的傳輸。整個RTP協議由兩個密切相關的部分組成:RTP數據協議和RTCP控制協議。