|
嵌入式實戰(zhàn)培訓機構_IPV6在嵌入式視頻監(jiān)控系統(tǒng)中的應用,
目前,以網(wǎng)絡為基礎的數(shù)字視頻監(jiān)控系統(tǒng)是視頻監(jiān)控系統(tǒng)發(fā)展的主流,而隨著微處理器技術、計算機網(wǎng)絡技術的進步,相比傳統(tǒng)視頻監(jiān)控系統(tǒng),嵌入式視頻監(jiān)控系統(tǒng)具有體積小、實時性強、性價比高#可靠性高、組網(wǎng)方便、可遠程監(jiān)控等優(yōu)點,因而更適用于工業(yè)控制#銀行#政府部門的安防系統(tǒng)中。基于嵌入技術的監(jiān)控系統(tǒng)不需處理模擬視頻信號的PC,而是把攝像機輸出的模擬視頻信號通過嵌入式視頻編碼器直接轉換成IP數(shù)字信號。嵌入式視頻編碼器具備視頻編碼處理、網(wǎng)絡通信、自動控制等強大功能,直接支持網(wǎng)絡視頻傳輸和網(wǎng)絡管理,使得監(jiān)控范圍達到前所未有的廣度。除了編碼器外,還有嵌入式解碼器、控制器、錄像服務器等獨立的硬件模塊,它們可單獨安裝,不同廠家設備可實現(xiàn)互連。如何使嵌入式視頻監(jiān)控系統(tǒng)與 IPv6技術相結合是當前監(jiān)控系統(tǒng)研究的一個重要方向。
1 視頻監(jiān)控系統(tǒng)總體設計
2 1系統(tǒng)結構
系統(tǒng)總體結構如圖1所示。攝像頭和視頻服務器組合在一起稱為視頻服務端或網(wǎng)絡攝像機,每個視頻服務端分配一個獨立IPv6后通過雙絞線接入網(wǎng)絡,客戶端通過IP網(wǎng)絡直接訪問和控制視頻服務端。攝像頭和麥克風將采集的模擬音視頻信號送入內部嵌入式Linux操作系統(tǒng)的視頻服務器,并通過雙絞線接入網(wǎng)絡。模擬信號被送入編碼器編碼成MPEG-4的視頻流和ADPCM的音頻流,從編碼器出來的音視頻流再被分為兩路,一路送入本地的視頻監(jiān)視器,另一路通過網(wǎng)絡發(fā)送到客戶端?蛻舳税逊⻊掌鞫藗鱽硪粢曨l數(shù)據(jù)分為兩路,一路進行客戶端存儲,另一路啟動irectShow流水線,將視頻信號和音頻信號分離,分別送入各自的解碼器(視頻信號采用MPEG-4解碼器解碼)。最后,解碼后的音視頻信號被送入對應的設備進行實時預覽。
編碼器(encoder)是將信號(如比特流)或數(shù)據(jù)進行編制、轉換為可用以通訊、傳輸和存儲的信號形式的設備。編碼器把角位移或直線位移轉換成電信號,前者成為碼盤,后者稱碼尺。按照讀出方式編碼器可以分為接觸式和非接觸式兩種。接觸式采用電刷輸出,一電刷接觸導電區(qū)或絕緣區(qū)來表示代碼的狀態(tài)是“1“還是“0“;非接觸式的接受敏感元件是光敏元件或磁敏元件,采用光敏元件時以透光區(qū)和不透光區(qū)來表示代碼的狀態(tài)是“1“還是“0“,通過“1“和“0“的二進制編碼來將采集來的物理信號轉換為機器碼可讀取的電信號用以通訊、傳輸和儲存。
1.2系統(tǒng)設計思路
系統(tǒng)工作需要硬件和軟件協(xié)調土作共同實現(xiàn)。攝像頭采集視頻、麥克風采集音頻,由服務器端采集卡完成音視頻的采集和壓縮,通過調用驅動程序讀取采集和壓縮后的音視頻數(shù)據(jù)到緩存。緩存區(qū)中的音視頻數(shù)據(jù)發(fā)送傳輸都由服務器端軟件實現(xiàn)。
服務器端軟件讀出緩沖區(qū)的數(shù)據(jù),啟動發(fā)送模塊,發(fā)送時采用RTP協(xié)議打包,模塊讀取緩沖區(qū)中的視頻流是以一幀為最小單位,由于按一幀打包時數(shù)據(jù)長度比較大小適合在網(wǎng)絡中傳輸,所以需要在打包前將幀分割成幾段以適合網(wǎng)絡傳輸。按照RTP協(xié)議打包好的數(shù)據(jù),通過UDP傳輸?shù)娇蛻舳,如果是單用戶采用單播,如果是多用戶則采用多播。
B/S(Browser/Server,瀏覽器/服務器)模式又稱B/S結構。它是隨著Internet技術的興起,對C/S模式應用的擴展。在這種結構下,用戶工作界面是通過IE瀏覽器來實現(xiàn)的。B/S模式最大的好處是運行維護比較簡便,能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù);最大的缺點是對企業(yè)外網(wǎng)環(huán)境依賴性太強,由于各種原因引起企業(yè)外網(wǎng)中斷都會造成系統(tǒng)癱瘓。服務器采集音視頻流并壓縮,通過網(wǎng)絡發(fā)送到客戶端,客戶端解碼還原出清晰的圖像是視頻監(jiān)控的基本功能。
2. 視頻監(jiān)控硬件原理及設計
本系統(tǒng)是在GX-ARM9-S3C2410核心模塊上進行開發(fā)。該嵌入式監(jiān)控視頻服務器的設計主要是指根據(jù)系統(tǒng)要求實現(xiàn)的功能,選定主控制芯片和專用音視頻壓縮芯片,并確定其外圍電路,實現(xiàn)聲音圖像采集、壓縮、輸出等功能。由于作者主要完成系統(tǒng)的軟件部分,這里只對硬件部分做簡要介紹。硬件模塊結構設計如圖4.2所示:
2.1音視頻壓縮 /解壓縮模塊
該模塊的質量直接關系到系統(tǒng)的圖像和聲音以及傳輸質量,是系統(tǒng)硬件的重要部件之一。因此模塊選用了 VW2010,它是 VWEB公司開發(fā)的實時 MPEG4音視頻壓縮 /解壓縮芯片((Encoder/Decoder),該芯片內集成有 3個信號處理 /控制單元,包括一個視頻編碼 (壓縮)器、一個視頻解碼 (解壓)器和一個片內 CPU(內部擴展一個音頻編碼 DSP C Digital Signal Processors、一個音頻解碼 DSP、一個多路復合單元和一個多路解復合單元 ):具有可編程、高性能和低功耗等特點。
2.2音視頻采集、 A/D模塊
該模塊將攝像頭采集到的模擬視頻信號發(fā)送到模塊中的視頻 A/D轉換芯片進行視頻數(shù)字化處理,同時將麥克風采集到的模擬音頻送入音頻 A/D轉換芯片進行音頻數(shù)字化處理。采用 Philips的 SAA7115H,它是 9bit視頻 A/D轉換器,支持 NTSC/PAL/SECAM制式,輸出數(shù)字的視頻信號符合 ITU601和 ITU-8656標準。系統(tǒng)的音頻模塊主要是以一塊音頻 A/D轉換芯片 PCM 1800以及與之配套的模擬音頻輸入輸出電路構成。
2.3網(wǎng)絡傳輸模塊
模塊選用的網(wǎng)絡接口芯片是 Realte公司的 RTL8201BL.它是具有 lOM/100Mps自適應功能的以太網(wǎng)收發(fā)控制器,是目前應用最為廣泛的一種網(wǎng)絡接口芯片。系統(tǒng)將壓縮后的音視頻數(shù)據(jù)打包,通過網(wǎng)絡接口發(fā)送到網(wǎng)絡中,其電路圖如圖 3所示。
3. 軟件總體結構與設計嵌入式設計DIY, 嵌入式樹莓題, 嵌入式噴頭型號, 嵌入式ac軟件, 嵌入式系統(tǒng)可信計算, 什么是嵌入式監(jiān)管, 常見嵌入式系統(tǒng)實例, 嵌入式培訓有必要么, 嵌入式生產(chǎn)者消費者, 嵌入式收銀軟件, RTC時鐘嵌入式, 嵌入式編程工資, 嵌入式師學習, 墻壁式+嵌入式, 嵌入式程序結構圖, 嵌入式開發(fā)長期培訓, 嵌入式分辨率與字體, 2016嵌入式真題, 科半嵌入式臺上盆, 天大測控嵌入式, 藍橋杯嵌入式競賽, 做嵌入式累不, 嵌入式hal,
系統(tǒng)軟件設計包括服務器端和客戶端軟件設計。服務器端軟件主要實現(xiàn)采集音視頻、壓縮編碼、打包發(fā)送到網(wǎng)絡?蛻舳塑浖饕獙崿F(xiàn)接受服務器發(fā)送過來的音視頻壓縮包,然后對數(shù)據(jù)拼接解碼、播放,如圖 4所示。
3.1MPEG-4視頻流的 RTP組包處理
MPEG4于1998年11月公布,原預計1999年1月投入使用的國際標準MPEG4不僅是針對一定比特率下的視頻、音頻編碼,更加注重多媒體系統(tǒng)的交互性和靈活性。MPEG專家組的專家們正在為MPEG-4的制定努力工作。MPEG-4標準主要應用于視像電話(VideoPhone),視像電子郵件(VideoEmail)和電子新聞(ElectronicNews)等,其傳輸速率要求較低,在4800-64000bits/sec之間,分辨率為176X144.MPEG-4利用很窄的帶寬,通過幀重建技術,壓縮和傳輸數(shù)據(jù),以求以最少的數(shù)據(jù)獲得最佳的圖像質量。
VOP是一個VO在特定時刻的快照,反映了該時刻VO的形狀、紋理和運動參數(shù),一般來說,一個VOP是一個任意形狀的圖像。
要通過 RTP傳輸 MPEG-4視頻流,需要對其進行打包 (Packetization)處理。加上時間、同步等信息。MPEG-4對每個 voP獨立進行編 / 解碼。因此以 VOP為單位進行打包,既提高了效率又充分利用了 MPEG-4的編碼特性。為了不造成 IP碎片,包長還須有一個限制,就是不能超過該網(wǎng)絡路徑的 MTU(Maxium Transit Unit)?紤]到傳輸?shù)母咝院蛠G包的魯棒性,我們取包長為當前 VOP大小與路徑 MTU值的較小值,采用如下組包機制:
1 VOP能放入單個 RTP包,就把此 VOP單獨放入一個 RTP包中;
2 VOP分段,放入多個 RTP包,此時須把 VOP頭部信息復制到每個 RTP包,以去除包間的相關性,達到丟包的魯棒性 :為減小包數(shù),降低開銷,一包中能放入多少宏塊就盡可能多地放入多少宏塊,但即使最后一個包中仍有剩余空間,也小能把另一 VOP中的宏塊放入此包中,算法流程如圖 5所示。
3.2服務器端視頻發(fā)送和客戶端視頻接收
在基于DirectShow的視頻發(fā)送端中,其過濾器圖分別由 Video Capture Filter,Video Codec和 RTP Video Renderer Filter按順序連接成一條“流水線“協(xié)同工作,他們分別完成源過濾器、轉換過濾器和呈現(xiàn)過濾器的工作。 Video Capture Filter負責視頻數(shù)據(jù)采集, Video Codec負責視頻數(shù)據(jù)的壓縮,最后由 RTP Video RendererFilter將壓縮的視頻數(shù)據(jù)封裝 RTP包發(fā)送到網(wǎng)絡上。過濾器之間的數(shù)據(jù)發(fā)送采用推模式。
視頻發(fā)送實現(xiàn)過程如下:
1)初始化 coM組件,初始化 DirectShow,包括建立 GraphManager接口、建立 GraphBuilder接口(它的 CLSID為 CLSID_ FilterGraph)、建立 BasicFilter接口,并將 VWSource Filter (VW210), Sputter Filter(音視頻分離過濾器)、Codec Fil-ter(TopStepdVideo)和 RTPVren}lter (RTP傳輸呈現(xiàn)過濾器)加到 GraphBuilder.
2)通過系統(tǒng)設各列舉接口找到系統(tǒng)中默認的視頻捕獲設備,并添加到 GraphBuilder中,查詢 GraphBuilder獲得媒體事件接口和媒體控制接口,連接各個過濾器,設置 RTP Vrenflter參數(shù)。
3)通過 GraphManager的控制接口,運行過濾器圖,捕獲并發(fā)送圖象。
4)等待運行結束消息,釋放各個接口,關閉 COM組件。視頻發(fā)送實現(xiàn)過程中圖像傳輸?shù)膶崿F(xiàn)最為關健,當視頻發(fā)送端響應網(wǎng)絡客戶端發(fā)出的視頻數(shù)據(jù)請求后,馬上啟動視頻數(shù)據(jù)發(fā)送線程,開始采集 MPEG視頻數(shù)據(jù)并源源不斷地寫入到發(fā)送緩沖區(qū)中。它的實現(xiàn)原理是:位于源過濾器 VWSource Filter(VW210卡)將從攝像頭獲取的模擬視頻圖像首先進行A/D轉換,然后將采集到的視頻數(shù)據(jù)交給下游的 MPEG Stream Spatter filter,由它對獲得的數(shù)據(jù)進行解析后轉交給其下游的變換過濾器 Video Coder filter進行 MPEG編碼,然后將編碼后的 MPEG視頻數(shù)據(jù)寫入發(fā)送緩沖區(qū),這部分都由 VW210卡完成。如果選擇本地存盤則過濾器圖連接到此結束,將視頻數(shù)據(jù)直接寫入磁盤。視頻接收端程序流程如下圖 7所示:
4結論
本文創(chuàng)新點:本視頻監(jiān)控系統(tǒng)是基于 ARM嵌入式核心處理器的硬件平臺,其中嵌入式系統(tǒng)中移植 TCP/IPv6協(xié)議,在原有 MPEG4視頻編碼基礎上采用了新的運動估計優(yōu)先估計矢量分布概率算法進行優(yōu)化,同時對視頻傳輸算法也作了相應的改進。系統(tǒng)結合了流媒體技術,IPv6技術,嵌入式技術等優(yōu)點,實驗證明該系統(tǒng)視頻監(jiān)控方而取得了良好效果。
QICK |
|