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