基于Windows CE5.0的無(wú)線監(jiān)控系統(tǒng)研究
(3)編寫(xiě)DLL的導(dǎo)出函數(shù)定義文件.DEF。.DEF文件定義了DLL的導(dǎo)出函數(shù)類(lèi)表。.DEF文件可以就用一般的記事本編輯,保存時(shí)后綴名改為.DEF即可,關(guān)于本攝像頭驅(qū)動(dòng)的.DEF文件內(nèi)容如下:
(4)為驅(qū)動(dòng)程序配置注冊(cè)表。在platform.reg中添加以下注冊(cè)項(xiàng)即可:
在攝像頭驅(qū)動(dòng)開(kāi)發(fā)完成后,通過(guò)編寫(xiě)應(yīng)用程序在嵌入式終端的觸摸屏上顯示出來(lái),如圖10所示。首先通過(guò)CreateWindow這個(gè)API函數(shù)創(chuàng)建一個(gè)用來(lái)顯示圖像的窗體,然后創(chuàng)建回調(diào)函數(shù)CaptureThreadProc的線程,在回調(diào)函數(shù)中根據(jù)不同的操作向操作系統(tǒng)發(fā)送不同的消息值,處理圖像的讀取、顯示等。測(cè)試結(jié)果如圖11所示。
4.2 串口驅(qū)動(dòng)開(kāi)發(fā)
在Windows CE中串口的驅(qū)動(dòng)實(shí)現(xiàn)是有固定模型的,基于流驅(qū)動(dòng)模型,采用分層結(jié)構(gòu)。串口驅(qū)動(dòng)的開(kāi)發(fā)的步驟和上面攝像頭驅(qū)動(dòng)開(kāi)發(fā)的步驟一樣,關(guān)鍵是實(shí)現(xiàn)流接口函數(shù),由于這里采用了分層的結(jié)構(gòu),MDD層的代碼可以參考微軟提供的源代碼在%WINCEROOT%\PUBUC\COMMON\OAK\DRIVERS\SERIAL\COMMDD2目錄下,PDD層中的代碼是與硬件相關(guān)的代碼,需要針對(duì)不同的設(shè)備來(lái)編寫(xiě)。MDD層中的代碼調(diào)用PDD層中的代碼來(lái)實(shí)現(xiàn)具體的硬件操作。串口驅(qū)動(dòng)的結(jié)構(gòu)如圖12所示。
5 PC機(jī)端監(jiān)控中心程序的開(kāi)發(fā)
監(jiān)控中心是無(wú)線視頻監(jiān)控系統(tǒng)的核心部分,它負(fù)責(zé)管理整個(gè)系統(tǒng)并顯示監(jiān)控的圖像。在該論文中,監(jiān)控中心的應(yīng)用程序?qū)崿F(xiàn)了實(shí)時(shí)監(jiān)控、定時(shí)錄像、抓拍等功能。在系統(tǒng)中監(jiān)控程序的開(kāi)發(fā),同時(shí)使用了C#語(yǔ)言和WIN32 API,利用C#語(yǔ)言基于事件的編程方法,設(shè)計(jì)了程序圖形界面,利用VFW接口中的API函數(shù)基于消息機(jī)制設(shè)計(jì)了底層圖像數(shù)據(jù)的讀取和顯示。該系統(tǒng)中API函數(shù)主要來(lái)自于VFW軟件工具包。VFW(Video forWindows)提供了一系列應(yīng)用程序編程接口(API),用戶(hù)可以通過(guò)它們很方便地實(shí)現(xiàn)視頻捕獲、視頻編輯及視頻播放等通用功能,還可利用回調(diào)函數(shù)開(kāi)發(fā)更復(fù)雜的視頻應(yīng)用程序。其特點(diǎn)是播放視頻時(shí),不需要專(zhuān)用的硬件設(shè)備,而且應(yīng)用靈活,可以滿(mǎn)足視頻應(yīng)用程序開(kāi)發(fā)的需要。監(jiān)控中心的程序調(diào)試運(yùn)行效果如圖13所示。
6 視頻壓縮編碼和傳輸理論研究
6.1 視頻壓縮編碼研究
圖像和視頻包含巨大數(shù)量的信息,其傳輸和存儲(chǔ)需要很寬的帶寬,多媒體視頻數(shù)據(jù)在無(wú)線傳輸之前,必須進(jìn)行壓縮。常用的數(shù)字壓縮技術(shù)主要包括用于會(huì)議電視系統(tǒng)的H.261壓縮編碼,用于計(jì)算機(jī)靜止圖像壓縮的JPEG和用于活動(dòng)圖像壓縮的MPEG數(shù)字壓縮技術(shù)和近年來(lái)比較熱點(diǎn)的H.263和H.264壓縮編碼技術(shù)。MPEG一4采用新一代視頻編碼技術(shù),它在視頻編碼發(fā)展史上第一次把編碼對(duì)象從圖像幀拓展到具有實(shí)際意義的任意形狀視頻對(duì)象,從而實(shí)現(xiàn)了從基于像素的傳統(tǒng)編碼向基于對(duì)象和內(nèi)容的現(xiàn)代編碼的轉(zhuǎn)變,因而引領(lǐng)著新一代智能圖像編碼的發(fā)展潮流。
由于MPEG一4壓縮編碼系統(tǒng)比較復(fù)雜,在論文中將重點(diǎn)對(duì)MPEG一4壓縮編碼技術(shù)進(jìn)行研究,分析其在PC機(jī)上的壓縮編碼的源碼,為以后在ARM等嵌入式設(shè)備上的移植奠定基礎(chǔ)。對(duì)一幀圖像進(jìn)行MlPEG一4編碼的流程如圖14所示。
編譯開(kāi)源的MPEG一4 XVID模型的源代碼,將生成一個(gè)xvidcore.dIl文件,在應(yīng)用程序開(kāi)發(fā)中調(diào)用庫(kù)中的相關(guān)函數(shù),程序執(zhí)行過(guò)程如圖15所示。其中程序在PC機(jī)上測(cè)試,先從攝像頭中讀取視頻數(shù)據(jù),再進(jìn)行MPEG一4編碼。
6.2 無(wú)線傳輸研究
GPRS采用基于分組傳輸模式的無(wú)線IP技術(shù),以一種有效的方式高速傳送數(shù)據(jù),支持Internet上應(yīng)用最廣泛的IP協(xié)議和X.25協(xié)議,傳輸速率最高達(dá)117 KB/s,所以視頻數(shù)據(jù)通過(guò)MPEG一4壓縮后,完全可以通過(guò)GPRS模塊進(jìn)行傳輸。在此傳輸過(guò)程中通信的連接建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^(guò)TCP/IP網(wǎng)絡(luò)的API,Socket接口實(shí)現(xiàn)。整個(gè)無(wú)線傳輸效果如圖16所示。
7 結(jié) 語(yǔ)
基于Windows CE5.0的無(wú)線監(jiān)控系統(tǒng)涉及到了計(jì)算機(jī)編程技術(shù)、嵌入式技術(shù)、視頻編碼、無(wú)線傳輸?shù)榷喾矫娴闹R(shí),在此課題中完成了大量的工作,測(cè)試結(jié)果達(dá)到了該論文預(yù)期的目的。嵌入式終端平臺(tái)具有體積小、功耗低、運(yùn)行速度快、采集的圖像清晰等特點(diǎn),在監(jiān)控中心程序的設(shè)計(jì)也具有友好的人機(jī)交互界面,實(shí)現(xiàn)了定時(shí)監(jiān)控、錄像、拍照等功能。視頻壓縮與無(wú)線傳輸方面從理論上研究方法的可行性,提出具體的解決方法,這為以后進(jìn)一步完善系統(tǒng)奠定了堅(jiān)實(shí)的基礎(chǔ)。
評(píng)論