摘要:本文結(jié)合筆者多年實(shí)際工程經(jīng)驗(yàn),設(shè)計(jì)了一種基于嵌入式系統(tǒng)和3G無(wú)線網(wǎng)絡(luò)的視頻監(jiān)控系統(tǒng)。選用S3C6410處理器作為本系統(tǒng)的核心控制器,視頻采集工具為Opencv,軟件編碼和解碼工具為基于H264算法的X264開(kāi)源軟件,監(jiān)控視頻依靠3G無(wú)線網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程傳輸。實(shí)驗(yàn)結(jié)果證明本系統(tǒng)的監(jiān)控畫面流暢,視頻壓縮率高,在很大程度上能夠滿足無(wú)線視頻監(jiān)控的需要。
關(guān)鍵詞:3G無(wú)線網(wǎng)絡(luò);視頻監(jiān)控;Opencv
中圖分類號(hào):TN919.8 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 09-0000-02
傳統(tǒng)的視頻監(jiān)控系統(tǒng)必須依賴于有線環(huán)境,因此在一些需要臨時(shí)布控有線網(wǎng)絡(luò)或者干脆無(wú)法布控有線網(wǎng)絡(luò)的應(yīng)用場(chǎng)合如礦井油田,電力線路和交通工具等,傳統(tǒng)有線視頻監(jiān)控系統(tǒng)是無(wú)法適用的。目前為了解決這一問(wèn)題,監(jiān)控領(lǐng)域研究的熱點(diǎn)和重點(diǎn)已經(jīng)轉(zhuǎn)移到對(duì)無(wú)線視頻監(jiān)控系統(tǒng)的研究上來(lái)。雖然基于無(wú)線局域網(wǎng)的視頻監(jiān)控方案能夠很好地解決有線視頻監(jiān)控?cái)y帶不便的缺點(diǎn),但依然擺脫不了在進(jìn)行遠(yuǎn)程監(jiān)控時(shí)有線網(wǎng)絡(luò)覆蓋和傳輸距離的限制。在對(duì)視頻進(jìn)行壓縮方面,廣泛使用的MPEG-4算法的壓縮率仍然不能適應(yīng)無(wú)線視頻監(jiān)控的要求。在這種情況下,筆者結(jié)合多年實(shí)際工程經(jīng)驗(yàn),提出一種基于3G無(wú)線網(wǎng)絡(luò)是視頻監(jiān)控系統(tǒng)。使用Opencv采集視頻數(shù)據(jù),大大提高了系統(tǒng)穩(wěn)定性和執(zhí)行效率。通過(guò)采用具備更高壓縮率的H.264算法對(duì)視頻進(jìn)行壓縮,大大降低了視頻幀的數(shù)據(jù)量,有效地解決了3G帶寬資源有限的問(wèn)題,具備顯著的實(shí)際應(yīng)用價(jià)值。在可覆蓋性方面,采用3G無(wú)線網(wǎng)絡(luò)比無(wú)線局域網(wǎng)效果更好。
一、監(jiān)控系統(tǒng)的硬件設(shè)計(jì)
監(jiān)控系統(tǒng)的硬件部分組成模塊包括主控制板模塊,視頻采集模塊和視頻傳輸模塊。USB攝像頭構(gòu)成系統(tǒng)的視頻采集模塊,根據(jù)控制指令對(duì)視頻進(jìn)行采集編碼,然后將經(jīng)過(guò)編碼后的圖像傳輸給主控制模塊。系統(tǒng)主控制模塊將從攝像頭采集到的視頻信息進(jìn)行壓縮編碼處理,然后將視頻流封裝成RTP幀。系統(tǒng)3G傳輸模塊負(fù)責(zé)傳輸封裝好的視頻數(shù)據(jù)。系統(tǒng)硬件架構(gòu)如圖1所示
為了提高系統(tǒng)的性價(jià)比和便攜性,有別于一般視頻監(jiān)控系統(tǒng)采用的DPSARM架構(gòu),本系統(tǒng)采用高性能的ARM架構(gòu)作為主控制模塊。采用S3C6410作為主控制板模塊的核心處理器。該處理器是三星公司在第二代ARM內(nèi)核基礎(chǔ)上開(kāi)發(fā)的一個(gè)高性能處理器,廣泛應(yīng)用于多媒體信息處理,其運(yùn)行頻率高達(dá)667MHz。正是因?yàn)镾3C6410具有如此優(yōu)越的性能,使用該處理器可以高效地實(shí)現(xiàn)基于H.264算法的視頻編解碼,避免額外搭建用于視頻編解碼的硬件電路,因此大大降低了開(kāi)發(fā)成本,提高了系統(tǒng)可靠性。
二、監(jiān)控系統(tǒng)的軟件設(shè)計(jì)
(一)搭建操作系統(tǒng)平臺(tái)
基本的嵌入式運(yùn)行環(huán)境是由設(shè)備驅(qū)動(dòng)程序,Linux內(nèi)核以及U-boot引導(dǎo)程序構(gòu)成的,視頻的采集,編碼還有傳輸由系統(tǒng)的應(yīng)用層負(fù)責(zé)。系統(tǒng)總體軟件結(jié)構(gòu)如圖2所示。
圖2 軟件層次結(jié)構(gòu)
內(nèi)核和根文件系統(tǒng)是嵌入式操作系統(tǒng)平臺(tái)的主要組成部分。本系統(tǒng)采用Linux2.6.32作為內(nèi)核,作為一種應(yīng)用廣泛的開(kāi)源操作系統(tǒng),Linux具備裁剪方便和可移植性強(qiáng)等優(yōu)點(diǎn)。只需適當(dāng)裁剪和配置源代碼,然后創(chuàng)建鏡像文件將其下載到硬件平臺(tái)就可以了。本系統(tǒng)的根文件系統(tǒng)是cramfs,作為一種簡(jiǎn)單的,可壓縮的只讀文件系統(tǒng),它能大大節(jié)省內(nèi)存空間,還能通過(guò)掛載yaffs文件系統(tǒng)實(shí)現(xiàn)寫操作。
(二)采集視頻數(shù)據(jù)
V4L是大多數(shù)傳統(tǒng)嵌入式視頻采集的主要方式,V4L方式的可靠性和采集效率都不高,因此本系統(tǒng)采用Opencv方式采集視頻數(shù)據(jù)。Opencv(Open Source Computer Vision Library)是一種跨平臺(tái)的計(jì)算機(jī)視覺(jué)庫(kù),廣泛應(yīng)用于數(shù)字圖像處理,經(jīng)BSD許可證授權(quán)發(fā)行,由英特爾微處理器研究實(shí)驗(yàn)室開(kāi)發(fā)??梢浦残詮?qiáng),穩(wěn)定性高,開(kāi)源高效是該視覺(jué)庫(kù)的顯著特點(diǎn)。因此采用Opencv進(jìn)行視頻數(shù)據(jù)采集就能夠大大提高系統(tǒng)可靠性,節(jié)約開(kāi)發(fā)成本和縮短開(kāi)發(fā)周期。本系統(tǒng)使用Opencv采集到的視頻圖像都是RGB格式的,需要將其進(jìn)行YUV格式的轉(zhuǎn)換,然后進(jìn)行壓縮編碼。
(三)壓縮視頻數(shù)據(jù)
H.264視頻壓縮標(biāo)準(zhǔn)是由MPEG(國(guó)際化標(biāo)準(zhǔn)組織運(yùn)動(dòng)圖像專家組)和VCEG(國(guó)際電信聯(lián)合會(huì)ITU視頻編碼專家組)共同組合的JVT(聯(lián)合視頻組)聯(lián)合制定的。和其他視頻壓縮標(biāo)準(zhǔn)相比,H.264具備更優(yōu)秀的圖像質(zhì)量和更高的壓縮效率,因此其應(yīng)用前景異常廣闊,具備巨大的研究?jī)r(jià)值,是目前最流行的視頻處理協(xié)議。
目前主要存在幾種基于H.264的開(kāi)源解碼軟件,分別是中國(guó)的T264,法國(guó)的編解碼器x264和德國(guó)的測(cè)試軟件JM。通過(guò)對(duì)這三種編碼軟件進(jìn)行比較,發(fā)現(xiàn)x264具備更高的實(shí)用性,能夠顯著降低編碼的重負(fù)計(jì)算復(fù)雜度而不致使編碼性能顯著降低,去除了H.264標(biāo)準(zhǔn)中的那些計(jì)算復(fù)雜度高但編碼性能低的新特性??紤]到本系統(tǒng)的操作系統(tǒng)平臺(tái)是嵌入式平臺(tái),因此選擇高效輕巧的x264方案。
(四)視頻傳輸
傳輸壓縮后的視頻數(shù)據(jù)是通過(guò)3G網(wǎng)絡(luò)連接因特網(wǎng)實(shí)現(xiàn)的。實(shí)時(shí)傳輸網(wǎng)絡(luò)視頻數(shù)據(jù)對(duì)于時(shí)延和傳輸丟包的要求比較高,因此需要通過(guò)配合使用實(shí)時(shí)傳輸協(xié)議(RTP)和實(shí)時(shí)傳輸控制協(xié)議(RTCP),以期同時(shí)提供Qos和實(shí)時(shí)傳輸數(shù)據(jù)服務(wù)。RTP作為一種實(shí)時(shí)傳輸協(xié)議,位于UDP和TCP協(xié)議之上,具備提供端到端傳輸服務(wù)的能力,在通過(guò)點(diǎn)播和組播實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的傳輸方面具有無(wú)可比擬的優(yōu)越性。視頻傳輸模塊的主要功能是封裝經(jīng)過(guò)H.264算法壓縮的視頻流為RPT數(shù)據(jù)包,并通過(guò)周期性地接受和發(fā)送RTCP包進(jìn)行反饋控制。封裝單獨(dú)的NAL單元是本系統(tǒng)采用的封裝方案。首先,將視頻流封裝成RTP數(shù)據(jù)包,接著繼續(xù)封裝成UDP數(shù)據(jù)包,最后一步再封裝成IP數(shù)據(jù)包,以期實(shí)現(xiàn)在網(wǎng)絡(luò)中的傳輸。然后通過(guò)3G網(wǎng)將IP數(shù)據(jù)包傳送到接收端。IP數(shù)據(jù)包到達(dá)接收端之后,接收端提取IP數(shù)據(jù)包中的視頻流數(shù)據(jù)和RTP報(bào)頭,以RTP報(bào)頭含有的序列號(hào)為依據(jù),在接收端緩存中存入視頻流數(shù)據(jù),以供解碼器進(jìn)行解碼輸出。具體的傳輸步驟如圖3所示。
本系統(tǒng)RTP/RTCP視頻傳輸?shù)膶?shí)現(xiàn)依賴于JRTPLIB庫(kù),這是一個(gè)開(kāi)源的面向?qū)ο蟮腞TP/RTCP協(xié)議棧。視頻數(shù)據(jù)的高速傳輸可以通過(guò)該庫(kù)提供的相應(yīng)借口實(shí)現(xiàn),能夠大大縮短開(kāi)發(fā)周期。下載JRTPLIB3.4.0代碼,然后將其移植到Linux上,即可編碼實(shí)現(xiàn)PC機(jī)和ARM之間的視頻數(shù)據(jù)傳輸。主要實(shí)現(xiàn)步驟為初始化,發(fā)送數(shù)據(jù),接受數(shù)據(jù)。
三、性能分析
本文進(jìn)行的實(shí)驗(yàn)是在三星公司的S3C6410開(kāi)發(fā)板上進(jìn)行的,將應(yīng)用程序燒寫進(jìn)開(kāi)發(fā)板并運(yùn)行,開(kāi)發(fā)監(jiān)控終端測(cè)試是在遠(yuǎn)程PC機(jī)上的Visual C平臺(tái)上完成的,程序運(yùn)行結(jié)果良好。
在實(shí)際應(yīng)用中,通過(guò)測(cè)試不同格式圖像的實(shí)際傳輸幀速,結(jié)果如表1所示。由表1可以看出,即使使用經(jīng)典的CIF分辨率,在3G網(wǎng)絡(luò)環(huán)境一般的條件下其傳輸幀速也能達(dá)到19FPS上下,實(shí)驗(yàn)結(jié)果滿足視頻監(jiān)控的實(shí)際應(yīng)用需求。
四、結(jié)論
本文設(shè)計(jì)了一個(gè)基于3G無(wú)線網(wǎng)絡(luò)的嵌入式視頻監(jiān)控系統(tǒng),采用H.264編碼標(biāo)準(zhǔn)。該系統(tǒng)使用高性能的ARM2代處理器為自己的核心,以對(duì)采集到的視頻數(shù)據(jù)進(jìn)行控制,實(shí)現(xiàn)H.264編碼,最后在3G網(wǎng)絡(luò)中采用RTP協(xié)議實(shí)現(xiàn)H.264視頻流的穩(wěn)定和實(shí)時(shí)傳輸。經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,該方案的可行性比較高,處理后的視頻質(zhì)量較好。該系統(tǒng)能適應(yīng)森林防火監(jiān)控,移動(dòng)平臺(tái)和電力線路等多個(gè)應(yīng)用領(lǐng)域,市場(chǎng)前景廣闊,具備較大應(yīng)用價(jià)值。
參考文獻(xiàn):
[1]李霞,陳麟,龍?zhí)?,肖楊?3G網(wǎng)絡(luò)視頻監(jiān)控在黃河防凌防汛中的應(yīng)用[J].計(jì)算機(jī)安全,2010,6
[2]任守華,王勝華,劉士雷,蔣習(xí)旺.基于3G和H.264技術(shù)的無(wú)線視頻監(jiān)控系統(tǒng)[J].計(jì)算機(jī)應(yīng)用研究,2010,4
[3]陳防震.3G技術(shù)在水利視頻監(jiān)控中的應(yīng)用[J].科技資訊,2011,21
[4]趙勝男.3G無(wú)線視頻監(jiān)控業(yè)務(wù)發(fā)展?fàn)顩r及策略分析[J].電信科學(xué),2010,9
[5]高成,周飛,周東翔,蔡宣平.基于3G網(wǎng)絡(luò)的移動(dòng)視頻監(jiān)控系統(tǒng)服務(wù)器端的設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,6
[6]申超,周兵.基于H.264的監(jiān)控系統(tǒng)中手機(jī)客戶端的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,9
[7]沈海軍,顧豪,朱春穎.H.264標(biāo)準(zhǔn)在實(shí)時(shí)監(jiān)控系統(tǒng)中的應(yīng)用研究[J].青春歲月,2011,6
[8]Connie,A.T,Nasiopoulos,P,Leung,V.C.M,F(xiàn)allah,Y.P.Video Packetization Techniques for Enhancing H.264 Video Transmission over 3G Networks[C].IEEE Consumer Communications and Networking Conference,2008,1:800-804