摘要:本文介紹了一個基于嵌入式WEB技術(shù)的視頻監(jiān)控系統(tǒng)的架構(gòu)方案,重點闡述其監(jiān)控教學功能管理系統(tǒng)的設計思路,對其中涉及的關(guān)鍵技術(shù)進行了較為詳細的敘述。
關(guān)鍵詞:嵌入式系統(tǒng);視頻監(jiān)控;教學功能;WEB
中圖分類號:G642
文獻標識碼:B
1基于嵌入式WEB技術(shù)的視頻監(jiān)控系統(tǒng)概述
嵌入式系統(tǒng)是以應用為中心,以計算機技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。WEB是基于客戶機/服務器方式,采用HTTP協(xié)議進行信息交互的信息發(fā)現(xiàn)和超文本技術(shù),是一種成熟的、重要的網(wǎng)絡技術(shù),實現(xiàn)了真正的跨平臺。
校園網(wǎng)嵌入式WEB監(jiān)控教育功能、教學資源庫及應用模式建設研究,是建設一個基于嵌入式WEB技術(shù)的視頻監(jiān)控系統(tǒng),結(jié)合學校實際重點闡述其嵌入式WEB服務器硬件及軟件的設計思路,及其對教育功能、教學資源庫和應用的采集監(jiān)控,實現(xiàn)管理信息化、網(wǎng)絡化?;谇度胧絎EB技術(shù)的視頻監(jiān)控系統(tǒng)結(jié)合了先進的WEB技術(shù)與嵌入式技術(shù),其服務器采用嵌入式技術(shù)實現(xiàn),通過WEB方式實現(xiàn)服務器端與客戶端的信息交互。本文所述監(jiān)控系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。
系統(tǒng)由教育功能、教學資源及應用的現(xiàn)場設備、嵌入式WEB服務器、傳輸網(wǎng)絡和教育功能、教學資源及應用的監(jiān)控端組成。現(xiàn)場設備包括攝像頭和一些測控單元,用于采集教育功能、教學資源及應用現(xiàn)場的數(shù)字視頻信息和各種開關(guān)量、模擬量信息。并以此建設嵌入式WEB教學資源庫及應用模式。監(jiān)控端的功能是顯示現(xiàn)場視頻和狀態(tài)信息,并根據(jù)需要向服務器端發(fā)出各種信息請求以及對現(xiàn)場設備的控制信號。一個監(jiān)控端也可以同時訪問多個服務器。
2嵌入式WEB服務器結(jié)構(gòu)設計
我們的目標是要在上述應用背景下研究設計出一種通用的嵌入式設備,這種ER-WEB的硬件系統(tǒng)結(jié)構(gòu),如圖2所示。這種設備不但能夠支持最通用的以太網(wǎng)絡標準與TCP/IP,還能適合于與上述傳統(tǒng)的設備集成,便于這些設備的遠程控制和數(shù)據(jù)采集。也就是使這些設備網(wǎng)絡智能化,當一臺設備具有網(wǎng)絡智能時,人們可以在任何地方、任何時間、任何地點、通過網(wǎng)絡隨時瀏覽設備實時的狀態(tài),并在遠程實現(xiàn)對這臺設備的監(jiān)視、控制、診斷、測試、配置和遠程電子交收費。
嵌入式服務器是整個監(jiān)控系統(tǒng)的核心部分,其硬件由CPU芯片、Flash芯片、內(nèi)存、網(wǎng)絡接口以及一些數(shù)據(jù)采集卡組成。主要功能包括:實現(xiàn)現(xiàn)場視頻信息的直播和點播;采集現(xiàn)場設備信息并進行相應處理,為監(jiān)控端提供WEB訪問頁面;對教育功能、教學資源及應用監(jiān)控端的訪問進行有效性、安全性檢查;響應監(jiān)控端的請求,為監(jiān)控端提供所需信息;接收教育功能、教學資源及應用監(jiān)控端的控制信息,經(jīng)過軟硬件轉(zhuǎn)換對現(xiàn)場設備進行控制,如控制攝像頭的轉(zhuǎn)動、啟動現(xiàn)場的報警裝置等。每個服務器有自己的IP地址,在教育功能、教學資源及應用監(jiān)控端可通過通用瀏覽器界面訪問服務器,一個服務器可同時為多個監(jiān)控端服務。為了實現(xiàn)視頻點播功能,需要存儲大量的視頻圖像信息,由于嵌入式服務器體積小,故增加了可選擇的外接存儲設備。
3嵌入式WEB服務器的軟件設計
校園網(wǎng)嵌入式WEB監(jiān)控教育功能、教學資源庫及應用模式,從湖南省教育科學“十一五”規(guī)劃的基本原則出發(fā),堅持兩個面向。一方面要面向全局,注重突出與國家教育科學“十一五”規(guī)劃的對接,將我省教育科學規(guī)劃融入到全國教育改革發(fā)展的大背景中去,新起點,大視野,寬領(lǐng)域,全方位地思考和勾劃課題方向。另一方面要面向我省各級各類教育事業(yè),積極緊貼教育宏觀決策,緊貼教育教學改革的實際,緊貼學科研究前沿,緊貼熱點難點,求真務實,創(chuàng)新管用。建設一個基于嵌入式WEB技術(shù)的視頻監(jiān)控系統(tǒng),重點設計其嵌入式WEB服務器硬件及軟件,實現(xiàn)教育功能、教學資源庫和應用的采集監(jiān)控與管理信息化、網(wǎng)絡化。
嵌入式操作系統(tǒng)是支持嵌入式系統(tǒng)應用的操作系統(tǒng)軟件,是在系統(tǒng)實時性、硬件相關(guān)性、軟件固態(tài)化等方面有著突出特點的專用操作系統(tǒng)。本系統(tǒng)采用嵌入式LINUX操作系統(tǒng),它是在根據(jù)系統(tǒng)需要對LINUX操作系統(tǒng)進行小型化裁剪的基礎(chǔ)上實現(xiàn)的。使用LINUX的優(yōu)勢在于:其操作系統(tǒng)的源代碼是開放的,可根據(jù)需要進行定制;系統(tǒng)內(nèi)核小,因而對硬件的要求相對要低;支持多任務多進程,能提供較好的實時性。由于系統(tǒng)信息處理量大、實時性要求高,操作系統(tǒng)的存儲調(diào)度、進程管理、文件管理等都要求采取高效可行的策略。本系統(tǒng)是一個專用計算機系統(tǒng),用于測控的板卡有些是根據(jù)需要自行定制的,因此編寫相應的驅(qū)動程序也是必不可少的環(huán)節(jié)。
服務器的應用軟件結(jié)構(gòu)如圖3所示。
3.1視頻服務器
視頻服務器是整個服務器的核心部分。主要包括以下幾個模塊:
⑴ 視頻壓縮編碼模塊
主要功能是實現(xiàn)對視頻信息的壓縮和編碼。在響應監(jiān)控端的請求,接收教育功能、教學資源及應用監(jiān)控端的控制信息,經(jīng)過軟硬件轉(zhuǎn)換對現(xiàn)場設備進行控制的同時,根據(jù)網(wǎng)絡帶寬、拓撲結(jié)構(gòu)以及對圖像質(zhì)量的要求,本系統(tǒng)選用基于MPEG-2標準的分層可擴展性編碼方案。其基本層提供原始視頻的基本信息,增強層提供原始視頻的細節(jié)?;緦涌梢詥为殏鬏敽徒獯a,也可與增強層一起傳輸和解碼。這種編碼方案能夠適應網(wǎng)絡帶寬狀況的變化,提供不同質(zhì)量的視頻信息,在出現(xiàn)網(wǎng)絡擁塞、丟包等現(xiàn)象時仍能提供連貫性較好的視頻圖像。
實時采集模塊將獲取的視頻信息存放在待編碼視頻緩沖隊列中,等待視頻壓縮編碼進程對視頻信息進行壓縮和編碼處理,視頻壓縮編碼進程將編碼后的視頻存放到已編碼視頻緩沖隊列中,同時激活或等待直播進程和存儲管理進程進行相應處理。
(2) 存儲管理與調(diào)度模塊
存儲管理模塊的主要功能是將接收到的教育功能、教學資源及應用監(jiān)控端經(jīng)壓縮和編碼的視頻信息根據(jù)一定的策略存儲至磁盤中特定的區(qū)域。本系統(tǒng)采用等長分組存儲策略。即將視頻信息按照時序關(guān)系分割成若干數(shù)據(jù)單元,這些數(shù)據(jù)單元稱為分組,將每個分組存儲于一個大小固定的存儲單元內(nèi)。
存儲調(diào)度模塊的主要功能是響應視頻調(diào)度模塊的請求,按照一定的磁盤調(diào)度策略和優(yōu)先級順序從磁盤中讀取信息至內(nèi)存緩沖區(qū)。由于采用等長分組存儲策略,因此系統(tǒng)的磁盤調(diào)度直接采用簡便快捷的線性調(diào)度算法。
(3) 視頻調(diào)度與傳輸模塊
視頻調(diào)度與傳輸模塊共同協(xié)作,為監(jiān)控端提供所需接收到的教育功能、教學資源及應用監(jiān)控端經(jīng)壓縮和編碼的視頻信息。視頻傳輸模塊根據(jù)所采取的網(wǎng)絡傳輸與控制協(xié)議與監(jiān)控端建立連接,監(jiān)聽監(jiān)控端的請求;視頻調(diào)度模塊根據(jù)不同的服務類型采取相應的調(diào)度策略創(chuàng)建視頻流,傳遞給視頻傳輸模塊;視頻傳輸模塊再將數(shù)據(jù)分組、打包,發(fā)送到監(jiān)控端,并根據(jù)路由器和監(jiān)控端反饋的網(wǎng)絡狀態(tài)信息進行差錯處理和擁塞控制。本系統(tǒng)對于點播信息采用單播傳輸方式。所謂單播是指一種單點到單點的數(shù)據(jù)傳輸模式。視頻調(diào)度采取先來先服務的策略,對于每一個點播請求單獨生成一個視頻流。直播信息采用分層組播方式。所謂組播是指一點到多點的數(shù)據(jù)傳輸模式,即將一份數(shù)據(jù)同時發(fā)送給一組特定的用戶。這種方式避免了數(shù)據(jù)的重復發(fā)送,節(jié)省了網(wǎng)絡帶寬,非常適合于直播視頻流的傳輸。分層組播的基本思想是發(fā)送方將每一層的壓縮視頻發(fā)送到一個組播組中,接收端根據(jù)自己的網(wǎng)絡帶寬狀況接收基本層數(shù)據(jù)和多個增強層數(shù)據(jù),從而獲得不同質(zhì)量的視頻。
本系統(tǒng)采用的網(wǎng)絡傳輸協(xié)議使用RTP/UDP/IP模型。RTP協(xié)議是一種提供端對端的實時媒體傳輸服務的協(xié)議,由實時傳輸協(xié)議RTP和實時傳輸控制協(xié)議RTCP兩個部分組成。RTP用于多媒體數(shù)據(jù)的傳輸,而RTCP用來監(jiān)控實時數(shù)據(jù)的傳輸。RTP的數(shù)據(jù)包頭的數(shù)據(jù)結(jié)構(gòu)非常適合媒體數(shù)據(jù)的封裝和描述。RTP協(xié)議不規(guī)定負載的格式和大小,因而具有很大的靈活性。RTCP協(xié)議為媒體流化的管理提供了平臺,利用RTCP的數(shù)據(jù)結(jié)構(gòu)可以很好地監(jiān)控信息傳輸狀況,實現(xiàn)流量及擁塞控制。RTP本身并不具有獨立傳輸數(shù)據(jù)的能力,而是必須和低層的網(wǎng)絡協(xié)議結(jié)合使用,對于IP網(wǎng)絡,通常是和UDP協(xié)議結(jié)合。UDP協(xié)議采用無連接的傳輸方式,適用于對實時性要求高、允許有一定丟失率的視、音頻實時數(shù)據(jù)的傳輸。視頻數(shù)據(jù)流在傳輸時被劃分為塊,視頻數(shù)據(jù)塊依次經(jīng)過RTP、UDP、IP協(xié)議的封裝,最終成為相對獨立的網(wǎng)絡數(shù)據(jù)包提交給網(wǎng)絡傳輸媒體。RTP/UDP/IP的方式兼顧了視頻傳輸?shù)膶崟r性與QoS保證。由于傳輸網(wǎng)絡狀況的不確定性,還必須采取一定的擁塞控制和差錯控制策略。針對本系統(tǒng)采用的分層可擴展性編碼方法,選擇了基于收端的速率控制方式進行擁塞控制。由客戶端根據(jù)網(wǎng)絡狀態(tài)增加或減少信道數(shù)量,一般最少保證基本層視頻信息的接收。服務器端編碼部分固定不變,只是在發(fā)送層參與調(diào)整,這種方式減輕了服務器的負擔。差錯控制方面,為簡化服務器的設計,選擇采用誤碼掩蓋的方法,即采用空間上相鄰的宏塊來取代出錯的宏塊,或利用前一幀相同位置或運動矢量指向的位置信息來取代出錯位置的信息。
3.2實時采集/控制模塊與測控信息處理模塊
實時采集/控制模塊是指系統(tǒng)各種外設的實時采集模塊和實時控制模塊,它們相對獨立,采用多線程的方式實現(xiàn)與底層設備驅(qū)動程序的信息交互。實時采集模塊由一系列設備的采集模塊組成,提供所需接收到的教育功能、教學資源及應用監(jiān)控端經(jīng)壓縮和編碼的視頻信息。在操作系統(tǒng)啟動時加載。在服務器運行期間始終駐留內(nèi)存運行,定時輪詢設備端口狀態(tài),獲取設備端口的數(shù)據(jù)信息,并激活或提交給相應的處理模塊。對于視頻數(shù)據(jù),將其加入視頻編碼緩沖隊列,由視頻壓縮編碼模塊處理;現(xiàn)場狀態(tài)信息送交測控信息處理模塊處理。測控信息處理模塊在WEB服務器和實時采集/控制模塊之間提供了信息的過濾和轉(zhuǎn)換功能。實時控制進程根據(jù)處理后的設備信息和控制信息調(diào)用相應設備的驅(qū)動程序?qū)υO備進行控制。
3.3WEB服務器
WEB服務器通過HTTP協(xié)議與監(jiān)控端瀏覽器軟件進行信息交互,提供服務器應用程序模塊的訪問界面和現(xiàn)場設備的信息訪問和控制界面。提供接收到的教育功能、教學資源及應用監(jiān)控端經(jīng)壓縮和編碼的視頻信息。除此以外它還要對監(jiān)控端的訪問權(quán)限進行控制,過濾監(jiān)控端的請求和控制信息,處理多個監(jiān)控端的請求和控制的同步和優(yōu)先級問題,從而保證系統(tǒng)的安全性和穩(wěn)定性。監(jiān)控端通過WEB頁面激活服務器的相應應用程序模塊,傳遞信息服務請求和控制命令。本系統(tǒng)采用Apache Server。Apache Server是一個功能強大的開放源代碼的WEB服務器軟件,可靈活定制,服務器程序本身所占空間很小,因而十分適用于嵌入式系統(tǒng)。
4結(jié)束語
本系統(tǒng)與一般的視頻監(jiān)控系統(tǒng)相比主要特點在于提供所需接收到的教育功能、教學資源及應用監(jiān)控端經(jīng)壓縮和編碼的視頻信息;其服務器的設計基于嵌入式技術(shù)與WEB技術(shù)。要求服務器體積小、集成度高,因而硬件和軟件都必須高效率地設計,量體裁衣、去除冗余。服務器的軟件代碼要求固態(tài)化存儲,要求高質(zhì)量、高可靠性。監(jiān)控端使用通用瀏覽器界面對現(xiàn)場進行監(jiān)控,瀏覽器所運行的平臺與服務器所運行的平臺獨立,從而實現(xiàn)了跨平臺。
參考文獻:
[1] 鐘玉琢,向哲,沈洪. 流媒體和視頻服務器[M]. 北京:清華大學出版社,2003.
[2] 余兆明,李曉飛,陳來春. MPEG標準及其應用[M]. 北京郵電大學出版社,2002.
[3] 張根源. 嵌入式系統(tǒng)與INTERNET技術(shù)[J]. 微計算機信息,2000,(3).
[4] 胡錦,蔡谷明,梁先宇編著. 單片機實用技術(shù)教程[M]. 北京:高等教育出版社,2003.
[5] 梁先宇. 嵌入式實時多任務程序設計與實現(xiàn)[J]. 中南工業(yè)大學學報,2003,34(2):95.
[6] 劉水平,梁先宇. 基于模糊神經(jīng)網(wǎng)絡控制結(jié)腸灌注透析治療機[J]. 計算機測量與控制,2005,13(8).