歡迎您光臨本站 登入註冊首頁

概述

名稱:基於嵌入式Linux視頻的網路*系統設計基於嵌入式Linux視頻的網路*系統設計摘要:介紹了一種採用Browser/Server結構、在視頻伺服器上內置一個嵌入式Web伺服器、基於嵌入式Linu……
名稱:基於嵌入式Linux視頻的網路*系統設計
基於嵌入式Linux視頻的網路*系統設計
摘要:介紹了一種採用Browser/Server結構、在視頻伺服器上內置一個嵌入式Web伺服器、基於嵌入式Linux視頻的網路*系統。重點闡述了其伺服器端的設計。
關鍵詞:嵌入式Linux Web伺服器MPEG-4網路通信
隨著計算機技術及網路技術的迅猛發展,公安、安防行業的發展趨勢必然是全面數字化、網路化。傳統的模擬閉路電視*系統有很多局限性:傳輸距離有限、無法聯網,而且模擬視頻信號數據的存儲會耗費大量的存儲介質(如錄像帶),查詢取證時十分煩瑣。基於個人計算機的視頻*系統終端功能較強,但穩定性不好,視頻前端(如電壓耦合元件等視頻信號的採集、壓縮、通訊)較為複雜,可靠性不高。基於嵌入式Linux視頻的網路*系統不需要用於處理模擬視頻信號的個人計算機,而是把視頻伺服器內置一個嵌入式Web伺服器,採用嵌入式實時多任務操作系統。由於把視頻壓縮和Web功能集中到一個體積很小的設備內,可以直接連入區域網,即插即看,省掉複雜的電纜,安裝方便(僅需設置一個IP地址),用戶也無需安裝任何硬體設備,僅用瀏覽器即可觀看。
基於嵌入式Linux的視頻網路*系統將嵌入式Linux系統連接上Web,即視頻伺服器內置一個嵌入式Web伺服器,攝像機傳送來的視頻信號數字化後由高效壓縮晶元壓縮,通過內部匯流排傳送到內置的Web伺服器上。
1系統總體框架
嵌入式Linux視頻網路*系統是電工電子裝置、計算機軟硬體以及網路、通信等多方面的有機組合體,它以智能化、網路化、交互性為特徵,結構比較複雜。如果利用OSI七層模型的內容和形式,把相應的數據採集控制模塊硬體和應用軟體以及應用環境等有機組合,可以形成一個統一的系統總體框架,其系統總體框架示意圖如圖l所示。

攝像機傳送來的視頻信號數字化后,經過壓縮,通過RS-232/RS485將數據送到內置的Web伺服器,嵌入式LJnux系統的10/100M乙太網口實現接入Internet網路,將現場信號送到客戶端。整個系統的核心是嵌入式Linux系統。*系統啟動后,嵌入式Linux系統啟動Web Server服務程序,接收授權客戶端瀏覽器的請求,Web Server將根據通信協議完成相應的監測。
2系統實現
2.1硬體平台設計
本系統以公開的嵌入式Linux源代碼為基礎,根據設計的嵌入式目標板編寫相應的Bootloader程序,然後裁剪出合適的內核和文件系統。目標平台CPU採用Motorola公司生產的ColdFire嵌入式處理器MFC5272。MFC5272採用ColdFire V2可變長RISC處理器核心和DigltalIDNA技術,在66MHz時鐘下能夠達到63Dlnrystone2.1MIPS的優良處理能力。內部SIM(System IntegratedModule)單元集成了豐富的通用模塊,只需很少的外圍晶元就可以實現兩個RS-232串列口和一個USB Slave介面。MFC5272還內嵌一個FEC(快速乙太網控制器),片外擴展一片LXT97l,方便地實現了一個100/10 BaseT的乙太網介面。能夠與常用的外圍設備(如SDRAM、ISDN收發器)實現無縫連接,從而簡化了外圍電路的設計,降低了產品成本、體積和功耗。
2.2軟體設計與實現
視頻*系統軟體結構採用的是瀏覽器,伺服器(B/S)網路模型,即由客戶端通過Web向伺服器提出請求,伺服器對請求做出確認響應並執行相應的任務(如向客戶端發送組播地址、圖像格式、壓縮格式等),建立連接后就可以在客戶端*被控點,從而實現遠程網路*。伺服器(Web Servei)端即現場*點的軟體結構包括採集模塊、壓縮編碼模塊、網路通信模塊、控制模塊等,如圖2所示。

2.2.1視頻採集模塊設計
由於攝像機得到的是模擬的視頻信號,不能直接為計算機使用,因此要使視頻在網上傳輸,必須首先對其數字化。本系統選用的視頻採集卡為Conexant公司的Bt848卡,該卡不需要任何本地緩存來存儲視頻像素數據,還能夠充分利用基於PCI匯流排系統的高帶寬和固有的多媒體功能,並且能夠與其他多媒體設備實現互操作。在整個系統中由於視頻採集的速度通常高於應用軟體取得數據並進行處理的速度,因此為了保證視頻數據的連續性,採用了三緩存結構,緩存A是Bt848視頻採集的目標地址,在RISC指令的直接控制下,採集的數據都先存放在這個緩存中;B和C組成乒乓式結構循環往複使用,當某一幀數據採集完畢后,產生中斷,在中斷服務程序中將緩存A的數據複製到緩存B(或C)中,然後採集下一幀,當下一幀數據採集完后.再將緩存A中的數據複製到緩存C(或B)中,當應用程序需要數據時就從緩存B或C中讀取最新的一幀圖像。緩存B和C交替使用,能夠保證應用程序從緩存讀數據的操作和驅動程序向緩存寫數據的操作不會發生衝突,避免了數據的損壞和遲延。
2.2.2視頻壓縮編碼的設計
本設計選用了基於對象的MPEG-4視頻編碼技術,首先對輸入的任意形狀的VOP序列,用基於塊的混合編碼技術編碼。處理順序是先幀內VOP,后幀間VOP和雙向預測VOP。在對VOP的形狀信息編碼之後,取得任意形狀VOP的採樣,每個VOP用宏塊柵格劃分成不相交的宏塊,每個宏塊含有四個8×8的像素塊,以進行運動估計和補償及紋理編碼。已編碼的VOP幀保存在VOP幀存儲器中。運動向量在當前VOP幀和已編碼VOP幀之間計算。對將被編碼的塊或宏塊,計算其運動補償預測誤差。運動補償預測后的I-VOP及誤差用8×8塊DCT編碼,並進行DCP係數的量化,然後是行程編碼和熵編碼。最後.形狀、運動和紋理信息複合成VOL位流輸出。這種編碼方法可以允許用戶修改、增加或重定位一個視頻場景中的對象,甚至可以轉換場景中對象的行為。對於不同的帶寬和計算複雜性需求,不必針對每種情況分別編碼,可以使用同一個視頻位流,而採用不同的參數以選擇不同的層以獲得靈活性。在出現網路擁塞、丟包等現象時仍能提供連貫性較好的視頻圖像。視頻壓縮編碼進程將編碼后的的視頻存放到已編碼視頻緩衝隊列中,同時激活或等待直播進程和存儲管理進程的相應處理。
2.2.3網路通信模塊設計
網路通信模塊是系統的主體部分,它包含三個數據通道:*通道、控制通道和視頻數據通道。*通道用來傳輸控制前端設備的命令數據;視頻數據通道用來傳輸各個組的視頻數據。三個通道採用不同的通信埠,所以各個通道傳輸數據彼此獨立。網路通信模塊設計開發是通過網路編程介面(Windows Socket,簡稱Winsoek)來實現的。按照系統瀏覽器,伺服器的阿絡傳輸模型。在伺服器端建立了以SOCKET為類型的*套接字、控制套接字;在客戶端建立了SOCKET類型的請求套接字、控制套接字,這些都是採用』ICP協議封裝傳輸數據的。
另外,在伺服器和客戶機兩端都用到了一個組播類(CMuhieast),它是專門為視頻傳輸而封裝的類。由CObject派生而來,其中定義了以SOCKET類型的收發視頻數據的套接宇和組套接字,從而實現了用組播通信方式來傳輸UDP協議封裝的視頻數據包。系統中IP網路數據通信流程如圖3所示

下面給出在伺服器端建立*套接字和控制套接字的程序。
……
int ret=O:
BOOL bFlag=TRUE://設置套接字為可重用埠地址
ret=setsoekopt(IInfo.listenSocket,SOL_SOCKET,SO_REUSE
ADDR,(char)*&bFlag,sizeof(bFlag));
SOCKADDR_IN sockAddr;
char*addr=severaddr.GetBuffer(0); //定義*套接字
//的地址
sockAddr.sin_family=AF_INET;
sockAddr.sin_addr.S_un.S_addr
=inet_addr(addr);
sockAddr.sin_port=htons(PORT):
if(bind(IInfo.1istenSoeket,(LPSOCKADDR)

2.2.4控制模塊設計開發
控制模塊實現了用戶對前端設備如鏡頭、雲台和畫面切換的控制。伺服器在接收到由客戶中心*終端發送過來的控制信息幀后,對其進行判斷解析,並送入各個相應的控制部件介面,以實現相應的控制。
3實驗結果
將視頻*系統的web伺服器連接到區域網,然後接入Intemet,給web伺服器分配一個IP地址。在用戶終端,由於使用普通的瀏覽器只能顯示單畫面,很不方便,使用微軟公司的VC6.0配合微軟的瀏覽器控制項,只需幾分鐘就可完成一個多畫面的瀏覽器軟體。在瀏覽器的地址欄中直接輸入視頻伺服器的地址,即可在瀏覽器頁面中播放遠程實時穩定、流暢的圖像,取得了良好的*效果。
基於嵌入式Linux視頻的網路*系統的Web伺服器直接連入網路,沒有線纜長度和信號衰減的限制,同時網路是沒有距離概念的,徹底拋棄了地域的概念,擴展了布控區域。又由於視頻壓縮和Web功能集中到一個體積很小的設備內,直接連入區域網或廣域網,即插即看,系統的實時性、穩定性、可靠性大大提高,無需專人管理,非常適合於無人值守的環境。隨著計算機技術、網路技術的迅速發展,人們對視頻*系統的要求會越來越高。相信該系統在電子商務、視頻會議、遠程*、遠程教學、遠程醫療、水利和電力*等方面有廣闊的應用前景。

[admin via 研發互助社區 ] 基於嵌入式Linux視頻的網路*系統設計已經有3322次圍觀

http://cocdig.com/docs/show-post-40741.html