視頻監控系統以其數字化、網絡化和智能化等方面的特征廣泛應用于各種場合。隨著通信技術和網絡技術的發展,通過網絡進行重要場所的監控越來越引起人們的關注和重視。傳統的視頻監控系統圖像的壓縮解壓都是基于PC 機,在穩定性,可靠性方面都受到限制。近年來,隨著嵌入式技術的發展,嵌入式設備體積小、集成度高、高效可靠、可移植、功耗低等一系列優點使得基于嵌入式的視頻監控系統逐漸取代了傳統的視頻監控系統。筆者所介紹的嵌入式視頻服務器是建立在嵌入式WEB 服務器的基礎上,基于AT91RM9200微處理器,采用Linux 實時操作系統,由專門的視頻芯片接收數字視頻數據完成壓縮編碼,生成MPEG-4 碼流,通過內部總線傳送到WEB 服務器上, 遠程授權用戶可以通過網絡瀏覽器觀看WEB 上的圖像信息,控制圖像獲取方式。該系統保證了圖像質量,客戶端零維護,開發便捷,成本低廉。
1 系統的整體設計
整個系統分為硬件和軟件2 個部分。硬件部分分為4 個模塊:視頻采集模塊,視頻壓縮編碼模塊,網絡傳輸模塊和其他輔助功能模塊。系統采用B/S 模式。軟件部分分為視頻圖像采集的驅動程序,WEB 服務器程序,CGI 和用戶瀏覽器的網頁設計4 部分。系統整體結構如圖1 所示。
2 系統硬件部分
本系統采用Atmel 公司的AT91RM9200微處理器。該處理器是高性能,低功耗的32 位RISC 微處理器,最高主頻為180 MHz,32 位外部數據總線支持8/16/32 位數據寬度,可對64 MB 空間尋址。內部集成豐富的外設資源,MMU 管理單元,16 kB SRAM 和128 kB ROM,各種外圍接口,適用本系統的開發。AT91RM9200 微處理器的作用是在系統上電時配置芯片的相關功能寄存器,正常運行時進行總體控制,如接受視頻數據流,配置網絡接口,實現本地存儲等功能。
2.1 視頻采集模塊
本模塊的作用是把模擬視頻轉換成數字視頻,產生符合編碼芯片接口標準的數字視頻信號。采用的是TI 公司的TVP5150 低功耗視頻A/D 轉換芯片。TVP5150 支持NTSC/PAL/SECAM 3 種格式,可以輸出ITU-R BT.656 和ITU-R BT.601 兩種信號, 考慮到編碼芯片的標準, 本系統采用ITU-RBT.656 格式8 為數據串行傳輸。TVP5150 的AIPIA 為模擬信號輸入端,接收攝像頭的模擬視頻信號輸入。行同步脈沖和場同步脈沖分別對應HSYNC 和VSYNC,分別連接編碼芯片的HSYNIN 和VSYNIN2 個引腳, 實現圖像的行同步和場同步操作。YOUT[7:0]為數據輸出引腳,將數字視頻信號送到編碼芯片的數據接收端。SCL 和SDA 分別為I2C 接口的串行時鐘和數據引腳,AT91RM9200 對TVP5150 的內部寄存器的訪問是通過I2C 總線實現的。
2.2 視頻壓縮編碼模塊
動態圖像被數字化處理成YUV 格式,數據量非常大。未經壓縮的CIF 格式的RGB 數據至少需要58.01 Mb/s,因此視頻數據在傳輸和處理的過程中必須經過壓縮。視頻編碼標準有MPEG-1,MPEG-2,MPEG-4,M-JPEG 和H.26x 系列。本系統采用的是MPEG-4標準。MPEG(Moving Pictures ExpertsGroup),該專家組成立于1988 年,致力于運動圖像的編碼標準化工作。MPEG-4 是該專家組研制出來的于1999 年正式成為ISO 和IEC 聯合制定的國際編碼標準。MPEG-4 與其他編碼標準相比,相同比特率下,具有更高的視覺質量,可以在低帶寬的信道上傳輸。本系統采用韓國Pentamicro 公司的壓縮/解壓芯片AT2042,AT2042 接收經過TVP5150 進行A/D轉換的數字視頻數據。AT2042 支持視頻壓縮和音頻壓縮標準,支持CBR 和VBR 兩種碼率。采用ITU-R 656 接口標準。
工作原理:在AT91RM9200 的控制下,要進行壓縮編碼的數據經AT2042 的FIFO 口輸入。AT2042 的解壓是壓縮的逆過程。本系統中,AT2042 的數據接收端VIN[7:0]接收TVP5150的YOUT [7:0] 端輸出的數據, 同時AT2042 的HSYNIN 和VSYNIN 信號分別和TVP5150 的HSYN 和VSYN 相連,實現圖像的行同步和場同步操作。接收來的數據送到AT2042 的壓縮編碼處理單元, 壓縮編碼后送到芯片外部的SDRAM 中存儲, 通過片內的SDRAM 控制器可以實現對外部SDRAM的訪問, 并通過HPI 與AT91RM9200 微處理器進行通信,以便遠程監控端的實時監控。視頻壓縮編碼框圖如圖2 所示。
圖2 視頻壓縮編碼框圖
2.3 網絡傳輸模塊
本模塊是采用LAN91C11構建嵌入式以太網,實現視頻數據網絡傳輸的通路。LAN91C11 是SMSC 公司推出的快速以太網控制器。芯片上集成MAC 和PHY, 符合IEEE802.3/802.U-100Base-Tx/10Base-T 規范。AT91RM9200 微處理器通過地址、數據、控制線和片選信號線對LAN91C11 進行通信和控制。網絡傳輸硬件連接原理圖如圖3 所示。AT91RM9200發送數據時,首先置發送使能信號ETXEN 有效。數據發送端ETX [1:0] 與LAN91C11 的TXD [1:0] 引腳相連接。以AT91RM9200 的時鐘信號EXTCK 發送視頻數據。數據的接收端ERX[1:0]與LAN91C11 的RXD[1:0]引腳相連接,接收視頻數據。EMDI0 和EMDC 分別控制芯片的讀寫。數據從DMA通道發送。在發送數據時,首先設置好傳輸控制寄存器和傳輸傳輸地址寄存器,從指定的存儲區取數據,并且記錄發送完的字節數, 數據發送完之后,LAN19C11 產生中斷信號,請求DMA 中斷,由AT91RM9200 處理。
圖3 傳輸網絡硬件連接圖
2.4 其他輔助功能模塊
該模塊包括Flafh、SDRAM、以太網接口、串口和USB 接口。用來實現操作系統內核和應用程序的存儲,網絡傳輸,本地存儲和遠程控制。
3 系統軟件部分
嵌入式Linux 實時操作系統,穩定、高效、易定制、易剪裁、開源代碼,因此本系統采用Linux 操作系統。軟件部分分為Bootloader 文件,Linux 內核文件Linux 驅動和應用程序,用戶應用程序。這里主要介紹MPEG-4 和CGI 技術的程序設計。
3.1 MPEG-4 壓縮編碼程序設計
本系統采用MPEG-4 標準對視頻圖像進行壓縮編碼。在實現MPEG-4 編碼的方式上, 有硬件壓縮和軟件壓縮兩種。
硬件壓縮就是利用專門的壓縮芯片對視頻信號進行MPEG-4 編碼, 軟件壓縮就是使用壓縮軟件對視頻信號進行編碼。
AT2042 支持MPEG-4 壓縮標準。實現方法方面就是對其相關寄存器的配置,包括編碼模式、編碼像素點、編碼幀率和設置編碼流格式等方面。具體過程:系統上電啟動后,先配置AT2042 的相關寄存器,完成初始化工作后,通過I2C 總線對A/D 轉換芯片TVP5150 進行初始化配置。所有的寄存器配置工作完成之后,開始編碼過程。其中MPEG-4 數據流接收存儲程序有AT2042 的數據流緩沖器標志信號來控制。緩沖器接收數據滿之后置低RISC_INT0,AT91RM9200 主控制器通過DMA 通道把AT2042 發送過來的碼流通過網絡通道傳輸到請求監控視頻圖像的監控端。壓縮編碼的流程圖如圖4 所示。
圖4 壓縮編碼流程圖
3.2 CGI 程序設計
在嵌入式Linux 環境下,主要有3 種Web 服務器,分別是httpd、thttpd 和Boa。Httpd 功能最弱,不支持CGI、SSL 和認證。本系統需要交互操作, 必須使用動態Web 技術, 采用Boa。Boa 功能強大,支持CGI,支持SSL,支持認證。使用時只需交叉編譯,修改一下配置文件即可。CGI[7]即通用網關接口,是外部擴展應用程序與Web 服務器交互的標準。客戶端使用瀏覽器向服務器發送HTTP 請求, 服務器響應客戶端的請求后,引導腳本程序,對命令解析,將信息提交給后臺———CGI處理。具體到本系統,就是PC 機端通過瀏覽器輸入服務器的IP 地址,Web 服務器根據請求進行分析,如果沒有傳來參數,則調用get-status()函數取得設備當前狀態顯示給瀏覽器。用戶根據操作界面提示完成相應的操作,填寫好表單設置設備參數并提交。CGI 解析信息后通過get-status()函數設置新狀態,實現交互功能。例如調節編碼屬性,對相機控制等。
CGI 的輸入輸出基本語法:
M ETHOD 屬性指定將數據傳送到Web 服務器的方法,輸入方法有兩種。
1)GET 方法。此方法,表單數據會附加在所指向CGI腳本的URL 后一起發送給Web 服務器,Web 服務器將接收到的表單數據賦予環境變量QU ERY-STR NG。
2)POST 方法。POST 方法通過使用標準輸入(STDN)將表單數據傳送給Web 服務器,Web 服務器啟動指定的腳本,并將用戶提供的數據傳入該腳本。
ACTON 屬性定義要對表單數據進行處理的CGI 腳本URL。
CGI 輸出:CGI 輸出方式是將執行結果送給標準輸出(STDOUT) 進行輸出, 執行結果必須是瀏覽器能夠顯示的HTML 標準格式。流程圖如圖5 所示。
圖5 Web 服務器CGI 程序流程圖
CGI 可以用shell 腳本語言、Fottran、C 語言等多種語言編寫。本系統中采用C 語言實現CGI 的編寫,執行速度快,安全性高。
4 結論
介紹了基于AT91RM9200 微處理器的嵌入式監控系統的視頻服務器設計,采用A/D 轉換芯片TVP5150 對模擬視頻數據進行數字化處理, 生成符合壓縮編碼芯片AT2042接口標準的視頻數據流。在AT91RM9100 的控制和調度下,將視頻數據發送到PC 端。系統采用低編碼率的MPEG-4 編碼標準,CGI 技術,實現可靠的圖像質量的交互功能。
-
嵌入式
+關注
關注
5086文章
19143瀏覽量
306046 -
視頻監控
+關注
關注
17文章
1711瀏覽量
65048 -
微處理器
+關注
關注
11文章
2269瀏覽量
82543
發布評論請先 登錄
相關推薦
評論