技術頻道

      嵌入式MPEG-2遠程網絡視頻監(jiān)控系統(tǒng)的實現

      1 系統(tǒng)介紹

      VstarMPEG-2系列遠程數字視頻監(jiān)控系統(tǒng)是一個基于TCP/IP網絡的嵌入式遠程圖像監(jiān)控系統(tǒng),采用嵌入式設計方案,系統(tǒng)穩(wěn)定性高,采用MPEG-2視頻壓縮技術,圖像高清晰,畫質可達DVD效果,能夠實現單畫面輪流監(jiān)看和1~16個畫面同屏監(jiān)看,支持遠程和本地云臺控制,支持多任務工作方式,而且圖像存儲、監(jiān)看、遠程控制可同步進行,監(jiān)控距離隨網絡延伸而不斷加長。

      該系統(tǒng)分為遠程現場、通信網絡和監(jiān)控服務三部分,結構圖如圖1所示。

      遠程現場部分和監(jiān)控服務部分都安裝了MPEG-2圖像處理設備和有線網絡接口設備,軟件采用客戶/服務器(client/server)結構,在遠程現場的有線網絡接口上運行的是服務器端軟件,監(jiān)控中心運行客戶端軟件。遠程現場的軟件在系統(tǒng)啟動后要向監(jiān)控中心注冊,作為一個監(jiān)控系統(tǒng),必須有監(jiān)控點的名稱、監(jiān)控點的特性描述的內容。監(jiān)控中心在認證該監(jiān)控點之前,為了避免與已經存在的監(jiān)控點名稱相同造成混淆,必須先檢測網上是否已經存在名稱相同的監(jiān)控點,如果有,則會提醒用戶更換名稱。在通過權限認證后,客戶端可以通過網絡與服務器端建立TCP/IP連接,兩端的通信包括圖像數據和控制指令通信,客戶端可以在權限允許范圍內根據需要通過監(jiān)控中心來調節(jié)服務器端的參數設置和工作方式,服務器端則向客戶端發(fā)送經過編碼處理后的MPEG-2視頻碼流。

      客戶端軟件運行在監(jiān)控中心的PC上,提供相應的用戶控制接口。用戶可以通過網絡與服務器端建立不同類型的連接,從而獲取不同的服務。服務器端軟件運行在遠程現場PC104上,它的功能比較豐富,包括硬件的驅動控制、通信線路管理、圖像數據傳輸、系統(tǒng)控制、攝像頭和云臺調節(jié)等等。

      2 系統(tǒng)硬件設計 

      硬件核心部分是MPEG-2視頻處理設備的設計,圖2中簡單介紹了MPEG-2硬件視頻壓縮處理的結構。MPEG-2視頻采集壓縮模塊以富士通MB86390芯片為核心,完成對標準視頻信號(PAL或NTSC信號)的A/D轉換、MPEG-2壓縮以及與PC104主機之間的通信功能。圖2中視頻解碼A/D從攝像頭輸入的模擬視頻信號轉化為數字視頻信號,然后進行編碼預處理,編碼預處理是將接收的視頻信號處理為規(guī)定的格式,即,把視頻解碼輸出的CCIR601格式的信號轉化為編碼器可以處理的CIF或QCIF格式,然后再進行MPEG-2壓縮編碼。圖中的SRAM用來作為編碼所需的幀存和存儲編碼完成后的碼流數據。PC104上的軟件則通過總線接口單元來控制編碼器的參數設置,及讀取編碼壓縮后的碼流數據。該模塊包括以下功能單元:以SAA6252為核心的視頻A/D單元,以MB86390為核心的MPEG-2視頻壓縮單元,以AT89C51與EPM7128(EPLD)為核心構成的控制邏輯和總線接口單元。總線接口單元是在EPLD中實現的,它是本模塊與主機(PC104)進行交互的通道,可以和主機進行視頻碼流和控制數據的交換。控制邏輯是視頻采集壓縮模塊的核心,它控制并協(xié)調各模塊的工作,提供控制信號,通過EPLD編程實現系統(tǒng)各模塊所需要的選通、緩沖、讀/寫使能,以及數據總線和地址總線的切換等等。

      鏡頭云臺控制是通過PC104主機的RS232口進行的,允許用戶根據自己的要求調節(jié)系統(tǒng)。用戶可以通過調節(jié)鏡頭的景深(zoom)、焦距(focus)以及光圈(iris)來調整圖像質量,還可以通過云臺的上下左右調節(jié)來獲取不同角度的圖像。由監(jiān)控中心的Client端軟件通過SOCKET網絡接口,把調整信息發(fā)送給Server端,Server接收到控制指令后,進行指令識別,然后向對應的RS232口發(fā)送指令去控制云臺,完成調整任務。

      3 系統(tǒng)軟件設計 

      傳統(tǒng)的應用程序都是單線程的,即,在程序運行期間,由單個線程獨占CPU的控制。在這種情況下,程序在執(zhí)行一些比較費時的任務時,就無法及時響應用戶的操作,影響了應用程序的實時性能。在監(jiān)控系統(tǒng),特別是遠程監(jiān)控系統(tǒng)中,應用程序往往不但要及時把監(jiān)控對象的最新信息反饋給監(jiān)視客戶(通過圖形顯示),還要處理本地機與遠程機之間的通信以及對控制對象的實時控制等任務,這時,僅僅由單個線程來完成所有任務,顯然無法滿足監(jiān)控系統(tǒng)的實時性要求。為此,可引進多線程機制,主線程專門負責消息的響應,使程序能夠響應命令和其他事件。輔助線程可以用于完成其他比較費時的工作,如通信、圖形顯示和后臺打印等,這樣就不至于影響主線程的運行。總之,把多線程機制引進通信,有利于提高應用程序的實時性,充分利用系統(tǒng)資源。對于大型的工程應用來說,不同的線程完成不同的任務,也有利于提高程序的模塊化,便于維護和擴展。

      軟件采用了Client/Server結構,兩端通過網絡建立TCP/IP連接,按照自定義的數據通信協(xié)議交換數據,完成數據通信和系統(tǒng)控制的功能。監(jiān)控中心的客戶端向服務器端申請建立連接,服務器監(jiān)聽到連接請求之后,和客戶端建立SOCKET連接,客戶端向服務器發(fā)送控制信號,服務器端向客戶端發(fā)送視頻碼流。服務器端軟件運行在PC104上,編碼部分由于采用了硬件壓縮,不占用PC104的系統(tǒng)資源,所以,合理設計PC104上運行的服務器軟件結構,對于提高整個系統(tǒng)的工作效率有著重要的意義,系統(tǒng)性能也與之密切相關。軟件設計的主要思想如下:讀取線程,發(fā)送線程和控制線程之間的同步,防止有限資源的浪費。

      在分析控制指令、碼流讀入、發(fā)送傳輸的處理過程中,可能會存在時間冗余。以讀取碼流為例,系統(tǒng)從EPLD的FIFO中讀取視頻數據,如果CPU讀取的速度比編碼器的速度快,可能會處于等待的編碼器硬件響應狀態(tài)。此時雖然CPU被占用,但實際上系統(tǒng)沒有執(zhí)行有效的任務,造成計算機系統(tǒng)資源的浪費,而嵌入式系統(tǒng)的資源本來就非常緊張。為了充分利用CPU計算能力,提高系統(tǒng)的整體性能,在該系統(tǒng)中采用多線程技術實現任務的調度。現以遠程現場數據處理過程為例分析如下:

      (1)讀取線程:負責控制硬件,從編碼器中讀取圖像數據到主機內存;

      (2)發(fā)送線程:負責視頻碼流的傳輸;

      (3)控制線程:負責云臺、攝像頭的控制以及編碼器的參數設置。

      視頻傳輸中,在服務器端要求碼流讀取和發(fā)送互不干擾,避免讀取和發(fā)送相互等待或相互沖突的情況出現,同樣,在客戶端解碼和接收也存在這個關系。本設計采用了一種基于環(huán)形緩沖區(qū)的多線程視頻傳輸技術,較好地解決了這個問題。主機的環(huán)形緩沖區(qū)除了達到數據分離互斥作用外,還可以起到平滑碼流的作用。讀取線程和發(fā)送線程是互斥關系,讀入的視頻數據供傳輸線程處理,這是一個簡單的消費者和生產者的關系問題,只要不進入臨界區(qū),兩個線程可以同時工作,用環(huán)形緩沖區(qū)和互斥鎖完全可以解決這兩個線程的同步問題。線程之間通過同步實現了CPU時間片的合理分配,以及硬件訪問管理、內存緩沖區(qū)的訪問管理等等,大大地提高了該系統(tǒng)的處理性能。

      客戶端提供用戶的控制接口,用戶通過它要求各種服務。用戶可以連接到服務主機,按照自己的要求改變系統(tǒng)的工作方式和工作狀態(tài)。最高權限可以調整服務器端的工作方式,修改系統(tǒng)的管理信息,獲取所有不同類型的服務。

      系統(tǒng)定義了自己的指令系統(tǒng)和指令傳輸協(xié)議。指令可以分為以下幾類:工作控制(傳輸開始、傳輸停止、存儲控制等),鏡頭云臺控制(焦距、光圈、自動轉動等),系統(tǒng)設置(用戶管理、通信參數設置等)。每條指令前面都有其唯一的識別標志,服務器接收到后可以用來和其它指令進行區(qū)分。服務器的IP固定,主線程在啟動時創(chuàng)建了與監(jiān)控中心的Socket的連接,在指定的服務端口進行監(jiān)聽,當有用戶要求連接時,為其創(chuàng)建指令通信線路連接,不同權限的用戶對系統(tǒng)有不同的控制權。從而實現了監(jiān)控中心對該系統(tǒng)的控制。

      監(jiān)控中心客戶軟件還支持圖像的存儲和回放。用戶可以將實際監(jiān)控中的圖像存儲在本地硬盤上,并按照不同的方式檢索回放。

      4 結束語

      VstarMPEG-2系列遠程數字監(jiān)控系統(tǒng)支持標準視頻信號和高分辨率的圖像采集、壓縮,支持基于Internet的數據傳輸,C/S的結構體系允許用戶進行遠端操作系統(tǒng)的工作方式。系統(tǒng)的各個子模塊相對獨立,可以實現以下功能:

      (1)實時性:MPEG-2編碼設備可確保數字視頻信號實時傳輸與接收。保證監(jiān)控中心接收到的監(jiān)視信息與現場情況不存在不可接受的時差;

      (2)連續(xù)性:基于嵌入式技術的MPEG-2編解碼設備可確保PAL制視頻的幀速率為:25幀/秒,NTSC制為30幀/秒。并確保監(jiān)控中心看到的圖像清晰可辨以及通信暢通,全天候不間斷可靠運行。

      (3)可控性:監(jiān)控中心可遠程對各個分中心圖像進行取舍和控制。系統(tǒng)參數設置方便快捷,可以對視頻源的任何參數進行設置,并可實現帶寬的動態(tài)調整。

      (4)可擴展性:可以根據實際情況修改系統(tǒng)結構,系統(tǒng)規(guī)模的擴展只需增加相應的編解碼器,中心的控制功能具有可擴展性,可與辦公自動化網絡聯(lián)接,實現多址異地分控;中心的功能也可擴展,還可在適當增加編解碼器的情況下實現遠程視頻會議功能,從而滿足不同方面的需要。

      該系列遠程數字監(jiān)控系統(tǒng)目前已經在銀行監(jiān)控、高速公路監(jiān)控、地圖航拍、家用監(jiān)控等方面有著廣泛的應用。

      參考文獻

      1 余兆明,李曉飛,陳來春編著.數字電視設備及測量.北京:人民郵電出版社,2000
      2 Stevens.TCP/IP詳解——協(xié)議.北京:機械工業(yè)出版社,2000
      3 王學龍編著.嵌入式Linux系統(tǒng)設計與應用.北京:清華大學出版社,2001

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 波多野结衣一区视频在线| 国产女人乱人伦精品一区二区 | 成人中文字幕一区二区三区| 国产成人高清亚洲一区91| 精品福利一区二区三区免费视频| 精品日本一区二区三区在线观看| 国产精品成人一区二区三区| 国产爆乳无码一区二区麻豆| 国产成人精品久久一区二区三区av | 久久精品无码一区二区三区不卡| 丝袜人妻一区二区三区| 久久久国产一区二区三区| 国产AV一区二区精品凹凸 | 国产精品一区二区av不卡| 无码一区二区三区中文字幕| 亚洲一区二区三区不卡在线播放| 日本一区精品久久久久影院| 在线观看午夜亚洲一区| 制服中文字幕一区二区| 国产在线一区二区在线视频| 红杏亚洲影院一区二区三区| 成人国产精品一区二区网站| 午夜视频久久久久一区 | 一区二区三区国模大胆| 日本一区二区在线免费观看| 日本强伦姧人妻一区二区| 一区二区精品久久| 相泽亚洲一区中文字幕| 奇米精品一区二区三区在线观看| 国产精品免费一区二区三区四区| 亚洲AV无码第一区二区三区| 久久综合九九亚洲一区| 亚洲福利一区二区| 欧美激情一区二区三区成人| 波多野结衣精品一区二区三区| 无码国产亚洲日韩国精品视频一区二区三区| 国产萌白酱在线一区二区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 一本一道波多野结衣AV一区| 日韩一区二区免费视频| 中文无码AV一区二区三区|