引言
基于同軸電纜的視頻監控系統結構復雜、穩定性差、可靠性低且價格昂貴,因而出現了嵌入式網絡攝像機等遠程Web視頻監控系統。本嵌入式網絡攝像機,采用高性能的ARM9芯片作微處理器,內置嵌入式Web服務器—Boa,通過嵌入式多任務操作系統—Linux采集攝像機視頻數據;攝像機采集的視頻信號數字化后經MJPEG算法壓縮,壓縮后的視頻流再通過內部總線送到內置的Web服務器;通過在網頁中嵌入圖像播放器,用戶可以直接通過瀏覽器觀看Web服務器上的攝像機圖像;通過通用網關接口CGI,授權用戶還可以控制攝像機、云臺和鏡頭的動作或直接通過Web實現對系統進行配置。
1 嵌入式網絡攝像機系統原理及組成結構
嵌入式網絡攝像機的基本原理:在嵌入式Linux操作系統中內置Web服務器Boa,攝像機采集視頻信號并將其數字化,經MJPEG壓縮后,傳送到內置的Web服務器,通過Web頁面將視頻信息發布到Internet。由于嵌入式網絡攝像機是視頻采集終端和Web服務器的融合,因此,用戶可以直接通過瀏覽器觀看攝像機拍攝的視頻圖像,達到遠程監控的目的。
整個系統由視頻采集模塊、視頻壓縮模塊、Web服務器、通用網關接口、Web頁面等5個部分組成。 其硬件結構如圖1所示:
視頻采集模塊包括以S3C2410X為核心的中央控制和數據處理中心,以及USB Camera數據采集單元。中央控制和數據處理中心主要完成視頻采集終端的控制和視頻圖像的壓縮;Web服務器完成基本服務器的功能,負責響應HTTP請求,配合視頻采集、壓縮模塊完成圖像信息發布;通用網關接口—CGI,可以根據用戶輸入的數據信息,控制攝像機、云臺和鏡頭的動作或直接通過Web實現對系統進行配置。
嵌入式微處理器是嵌入式系統的“硬核”。微處理器的選擇將對整個嵌入式系統的成本和性能產生決定性的影響。目前,比較流行的處理器主要有:Power PC 、MIPS、Intel、ARM等。ARM(Advanced RISC Machines)公司是一家全球領先的嵌入式微處理器IP(Intellectual Property )核提供商,它設計了一系列高性能、低功耗、低成本和高可靠性的RISC處理器核、外圍部件和系統級芯片應用解決方案。當前,ARM系列微處理器核廣泛應用于便攜式通訊設備、手持終端、多媒體數字消費產品等嵌入式系統解決方案中。本設計選用以ARM920T為核心的S3C2410X 32位微處理器,該處理器集成了LCD控制器、USB Host、USB Slave、NAND控制器、中斷控制、功率控制、UART、SPI、SDI/MMC、IIS、GPIO、RTC、TIMER/PWM、ADC等豐富的資源。
操作系統是嵌入式系統的“軟核”。早期的嵌入式系統,由于當時還沒有操作系統的概念,系統的主要功能都是用匯編語言實現的,其兼容性、通用性及擴展性都很差。隨著硬件性能不斷提高,在嵌入式系統中使用通用操作系統已成為現實。在嵌入式系統中引入操作系統后,利用軟件工程的思想指導嵌入式系統開發,其開發效率和資源可重用率都將得到很大的提高。目前較為流行的嵌入式操作系統有:VxWorks、Neculeus、WindowsCE、Linux等。相對其它商業操作系統,Linux這個開源網絡操作系統有以下獨特優勢:
(1) 價格低廉。在保證產品性能的前提下,價格永遠都是系統設計時必須考慮的重用因素之一。由于Linux來源于開源社區,相對于其它商業操作系統,其價格幾乎為零。
(2)文檔豐富。全世界的Linux程序員都是技術顧問,任何人都可以在開源社區得到其系統所需要的文檔和幫助。
(3)網絡性能優良。與Unix一脈相承的Linux支持多種網絡協議,并能夠使系統長期穩定運行。
(4)知識創新。在國產操作系統中,嵌入式操作系統被認為是唯一可以趕超國外同行的操作系統。而Linux是操作系統中的佼佼者,任何人都可以遵照GPL規則發布包含自己知識產權的產品,可以高效地進行知識創新,少走彎路。
為此,本設計選用高性能ARM9芯片和嵌入式Linux操作系統。
2 視頻采集模塊設計與實現
視頻采集模塊是嵌入式網絡攝像機的核心模塊之一。它通過嵌入式Linux操作系統調度V4L(video4linux)和影像設備驅動程序來完成視頻捕獲。V4L是Linux影像系統與嵌入式影像的基礎,是Linux kernel里支持影像設備的一組APIs,配合適當的視頻采集卡與視頻采集卡驅動程序,V4L可以實現影像采集、AM/FM無線廣播、影像CODEC、頻道切換等功能。目前,V4L主要應用在影像串流系統與嵌入式影像系統里,其應用范圍相當廣泛,例如:遠程教學、遠程醫療、視頻會議、視頻監控、可視電話等。V4L為2層式架構,最上層為V4L驅動程序,最下層則是影像設備驅動程序。
在Linux操作系統中,外部設備都作為設備文件來處理,因此,對外部設備的操作就轉變成對設備文件的操作。視頻設備文件位于/dev/目錄下,一般情況下為video0。當攝像機通過USB接口連接到視頻采集終端后,在程序中調用V4L APIs對設備文件video0的讀操作即可實現攝像頭視頻數據采集。其主要過程如下:
1) 打開設備文件: int v4l_open(char *dev, v4l_device *vd){}打開影像源的設備文件;
2) 初始化picture: int v4l_get_picture(v4l_device *vd){} 獲取輸入的影像信息;
3) 初始化channel:int v4l_get_channels(v4l_device *vd){} 獲取每個channel的信息;
4) 對channel設置norm:int v4l_set_norm(v4l_device *vd, int norm){} 對所有的channel設置norm;
5) 設備地址映射:v4l_mmap_init(v4l_device *vd){} 返回存放圖像數據的地址;
6) 初始化mmap緩沖區: int v4l_grab_init(v4l_device *vd, int width, int height){};
7) 視頻捕獲同步: int v4l_grab_sync(v4l_device *vd){};
8) 視頻捕獲: int device_grab_frame(){}。
通過以上操作,即可將攝像機視頻數據采集到內存。采集到內存的視頻數據既可采用文件的形式保存,也可將其壓縮后通過網絡發布到Internet。本設計采用后一種處理方法,即:將采集的視頻數據經MJPEG壓縮,生成視頻數據流并發布到Internet。
3 視頻壓縮模塊設計
由于攝像機采集到的視頻數據信息量較大,如果直接將其處理成視頻,將會給視頻處理和網絡數據傳輸帶來很大的負擔。因此,本設計采用高性能ARM9處理器對采集到的數據進行MJPEG壓縮。
JPEG(Joint Photographic Experts Group)—聯合圖像專家組的簡稱,它的主要目標是研究具有連續色調圖像(包括灰度和彩色圖像)的壓縮算法,是MJPEG的基礎。JPEG算法被確定為靜態數字圖像壓縮的國際標準,不僅適用于靜止圖像壓縮,而且適用于電視圖像序列的幀內圖像壓縮。由于JPEG壓縮采用的是全彩影像標準,其主要處理過程包括:色彩模型轉換、離散余弦—DCT變換、重排DCT結果、量化、編碼等。
MJPEG是MoTIon JPEG的縮寫,即動態JPEG。它將動畫播放與JPEG結合,按照25幀/秒的速度使用JPEG算法壓縮視頻信號,完成動態視頻的壓縮。
4 Web服務器設計
在資源有限的嵌入式設備中可以使用的輕量級Web Server有:httpd、thttpd、boa等。本設計選用開源的、支持CGI的Boa Web Server,其主要移植過程如下:
(1)到www.boa.org下載最新軟件包并解壓到相關目錄。
(2)在目錄boa/src下的defines.h文件頂部設置默認的SERVER_ROOT路徑。
(3)選擇交叉編譯工具。在boa目錄下使用 。/configure --host=i686-pc-Linux-gnu --target=arm-Linux 完成對boa的配置。
(4)執行make編譯boa后即在src/目錄下生成可執行文件boa。
(5)對boa.conf文件進行配置。主要完成對boa運行的端口號、Server 根目錄、log files、html文件、cgi文件目錄及可讀寫的temp目錄的屬性的設置。
5 瀏覽器與服務器之間的通信—通用網關接口
CGI(Common Gateway Interface)是外部應用擴展程序與WWW服務器交互的一個標準接口。按照CGI標準編寫的外部擴展程序能夠處理客戶端瀏覽器輸入的數據,從而完成客戶端與服務器的交互、實現動態Web技術。在本設計中,當用戶通過瀏覽器向網絡攝像機發送控制信息(比如控制攝像機云臺的動作等)時,服務器守護進程啟動CGI模塊,CGI模塊通過串口將控制命令傳送給云臺,使云臺執行相應的動作。其流程圖如圖2所示:
6 Web頁面的設計
在本嵌入式網絡攝像機中,Web頁面的主要功能是顯示Web頁面及動態視頻信息。由于標準的html網頁只具有顯示文字和圖片的功能,因而無法在標準的html網頁里嵌入一個窗口來“實時”觀看視頻圖像。解決這個問題的一種方法是將“實時”視頻監控軟件嵌入到網頁中。Microsoft 制定了AcTIveX規范,只要符合這個規范的軟件都可以嵌入到網頁中。為了能滿足多人同時“實時”觀看視頻圖像,在本設計中選用標準AcTIveX控件—VgPlayerObject來實現這一功能。
7 結束語
本文提出了一種基于ARM S3C2410X和Linux的嵌入式網絡攝像機設計。采用嵌入式Linux操作系統進行視頻采集、壓縮并通過AcTIveX控件顯示動態視頻,通過嵌入式Web Server和CGI技術融合整個系統,形成一套完整的網絡攝像機系統解決方案。由于系統采用高性能嵌入式處理器完成主要控制、壓縮和Web處理工作,因此該系統具有結構簡單、性能穩定、成本低廉等優點,在油田、油氣井現場視頻實時監控、智能小區、移動監控等領域具有廣闊的應用前景。
創新點:成功將CGI技術應用到嵌入式網絡攝像機中,利用簡單的方法實現了用戶和嵌入式系統的交互,本網絡攝像機在智能監控和移動監控中有廣闊的應用前景。
上一篇:ARM中的5種異常模式和7種中斷源
下一篇:一文教你如何區別ARM Cortex系列處理器
推薦閱讀
史海拾趣
Fine Products Microelectronics Corp公司發展故事(虛構)
故事一:技術創新引領市場
Fine Products Microelectronics Corp(簡稱FPMC)自創立之初便致力于半導體技術的創新。在上世紀90年代,當半導體行業還普遍使用傳統光刻技術時,FPMC的研發團隊率先提出了步進式光刻機(Wafer Stepper)的概念。這一創新極大地提高了芯片制造的精度和效率,使得芯片特征尺寸得以大幅縮小。盡管初期面臨技術難度大、市場接受度低等挑戰,但FPMC憑借堅持不懈的努力,最終成功研發出并量產了步進式光刻機,迅速在半導體制造領域占據了領先地位。
故事二:與巨頭的合作與競爭
在FPMC的成長過程中,與行業內巨頭的合作與競爭是不可或缺的一部分。特別是在21世紀初,FPMC與IBM、TI等知名企業建立了合作關系,共同推進半導體技術的研發和應用。然而,這種合作并非一帆風順,FPMC在某些關鍵技術上堅持自主研發,與IBM的電子束光刻(e-beam)技術產生了競爭。盡管這種競爭給FPMC帶來了一定的壓力,但也促使公司不斷加大研發投入,提升技術實力,最終形成了自己獨特的競爭優勢。
故事三:石墨烯電極技術的突破
近年來,隨著二維材料研究的興起,FPMC緊跟科技前沿,成功研發出了石墨烯輔助金屬電極轉印技術。這一技術利用石墨烯與金屬間較弱的范德華作用力,實現了金屬電極陣列在二維溝道材料上的無損轉移。該技術不僅提高了電極的制備精度和效率,還降低了制造成本,為二維芯片的應用開辟了新的路徑。FPMC的這一創新成果迅速獲得了業界的關注和認可,進一步鞏固了公司在半導體材料領域的領先地位。
故事四:物聯網時代的布局
隨著物聯網技術的快速發展,FPMC敏銳地捕捉到了這一市場機遇。公司及時調整戰略方向,加大了對物聯網相關產品的研發力度。通過與多家物聯網企業和研究機構的合作,FPMC成功推出了一系列高性能、低功耗的物聯網芯片和解決方案。這些產品廣泛應用于智能家居、智慧城市、工業控制等領域,為物聯網的普及和發展提供了強有力的支持。
故事五:綠色可持續發展
在追求技術創新和市場拓展的同時,FPMC始終不忘企業的社會責任。公司積極響應全球綠色可持續發展的號召,致力于研發環保型半導體產品和制造工藝。通過采用先進的節能減排技術和循環利用材料等手段,FPMC不僅降低了自身的生產成本和能耗水平,還為推動半導體行業的綠色可持續發展做出了積極貢獻。此外,公司還積極參與社會公益活動,為構建和諧社會貢獻自己的一份力量。
隨著公司技術的不斷進步,Advanced Electronic Packaging公司開始尋求與行業內知名廠商的合作機會。通過與一家全球領先的電子產品制造商達成戰略合作,公司成功將其先進的封裝技術應用于對方的高端產品線中。這一合作不僅提升了合作雙方的產品競爭力,還為Advanced Electronic Packaging公司帶來了可觀的利潤回報。此后,公司陸續與多家知名企業建立了合作關系,進一步鞏固了其在電子封裝領域的市場地位。
在全球節能意識日益增強的背景下,DIALIGHT致力于推動綠色照明的發展。公司的LED產品具有高效節能、長壽命和環保等優點,有助于減少能源消耗和環境污染。此外,DIALIGHT還積極參與各種綠色照明項目,為推動可持續發展貢獻自己的力量。
在快速發展的過程中,DART公司也遇到了不少挑戰和危機。例如,某個時期全球電子元器件供應緊張,導致公司面臨嚴重的原材料短缺問題。面對這一挑戰,DART公司迅速調整采購策略,積極尋找新的供應商和替代品,并加強與現有供應商的合作和溝通。通過這些措施,公司成功度過了危機,并保持了業務的穩定增長。
品質一直是Easy Braid公司的生命線。在競爭激烈的市場環境中,Easy Braid始終堅持使用高品質的材料和嚴格的生產工藝,確保每一件產品都達到最高標準。正是這種對品質的執著追求,讓Easy Braid贏得了客戶的信任和口碑。隨著客戶群的擴大,Easy Braid的品牌影響力也逐漸增強。
隨著虛擬現實(VR)、增強現實(AR)等技術的快速發展,微型顯示技術的需求日益增加。一家新興顯示技術公司,憑借其在微納加工和光學設計方面的技術優勢,成功研發出了高性能的微型顯示屏。這種顯示屏具有體積小、分辨率高、功耗低等特點,為VR/AR設備提供了更加逼真的視覺體驗。
各位大俠, 我最近在做一個報告,要求要用FPGA連接耳麥采取聲音信號然后處理 儲存。 真是萬事開頭難啊,剛開始就卡住了 無從下手。 希望大俠們給點建議。多謝了! 有相關研究的同仁們可以加我izhangdan@gmail.com 希望在這方面有所長 ...… 查看全部問答∨ |
寫了一個mirror driver, 我想用share memory方式和app通信。 但出了個問題,create sharememory需要app進程的上下文。 我想是用createfile提供,但mirror driver如何提供設備連接名呢? 不知這種方式是否可行,如不行,還有別的辦法嗎? 還有 ...… 查看全部問答∨ |
為了能捕捉到有程序啟動、關閉、激活等消息,我用了以下代碼。但這樣會存在一個問題,就是打開文件夾時,文件夾里面的內容無法顯示。請問是什么原因,或是能用別的什么辦法捕捉到程序啟動、關閉等消息嗎? ...… 查看全部問答∨ |
|
這個芯片是怎么工作的。 ADC的采樣速率怎么確定是多少?固定的嗎? 從這個芯片中讀取的數據是不是聲音信號的ADC轉換值,這個芯片可以用來做ADc用嗎? … 查看全部問答∨ |
阿牛哥和同事們第三周著力推智能電表和安防矩陣產品方案,看看貿易商和代理商業務運營模式還是有很大區別的。 情報搜集,重點掃蕩。中標電表客戶還有中標安防監控工程上游制造商機會最大,一一聯系。涉及太多商業機密和 ...… 查看全部問答∨ |
對于想學習和正在學習單片機和嵌入式的你來說,最想擁有的是什么?我想可能是一塊資源豐富、功能強大、資料齊全的開發板!!! 目前市場上各種各樣的單片機和嵌入式系統開發板可謂是琳瑯滿目,價格也是高低不等,每一種芯片的開發板都有各 ...… 查看全部問答∨ |
對于開發這些便攜式設備的系統和產品設計人員來說,更長的電池壽命是最大挑戰之一。 為了幫助解決這一挑戰并為設計人員提供顯著優勢,德州儀器 (TI) 現在推出了兩款采用 TI 獲得專利的新 MaxLife™ 快速充電技術的電源管理芯片組。 MaxLife 電 ...… 查看全部問答∨ |
如果我讓程序在內部的ROM運行一會,比如說從0000H運行到0016H,在這個時候我拉低EA(我把P3.4口的引腳接到了EA引腳上,拉低P3.4相當于拉低EA),這樣的話程序會怎么運行?假設拉低EA是單字節指令。運行拉低EA命令后,地址變成0017H,然后程序是不是會 ...… 查看全部問答∨ |