王曉華,賈繼洋
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
由于天氣、道路以及許多人為因素,交通車輛有時(shí)會(huì)出現(xiàn)安全問(wèn)題,因而對(duì)于交通車輛的實(shí)時(shí)定位與監(jiān)控尤為重要[1-2].基于實(shí)時(shí)視頻功能的車輛監(jiān)控系統(tǒng)能滿足交通公司對(duì)車輛實(shí)時(shí)行駛情況的及時(shí)掌握,尤其是在有突發(fā)事故發(fā)生時(shí),能通過(guò)視頻及時(shí)看到事故現(xiàn)場(chǎng)情況,可以提高對(duì)突發(fā)事故的反應(yīng)速度[3-4].
目前,對(duì)車輛監(jiān)管系統(tǒng)的研究,國(guó)內(nèi)已取得了一些成果.文獻(xiàn)[5]應(yīng)用地理信息系統(tǒng)(GIS)技術(shù)及GPS技術(shù),實(shí)現(xiàn)了對(duì)管理平臺(tái)監(jiān)控模塊的電子地圖操作,但沒(méi)有對(duì)車廂內(nèi)進(jìn)行實(shí)時(shí)監(jiān)控;文獻(xiàn)[6]采用了嵌入式技術(shù)、無(wú)線通信(WIFI和GPRS)技術(shù),提出了一種旅游車輛車載監(jiān)控系統(tǒng)的設(shè)計(jì)方案,能夠?qū)崿F(xiàn)車廂內(nèi)近距離的圖片傳輸,但沒(méi)有實(shí)現(xiàn)遠(yuǎn)程的視頻傳輸.
本文研制了一套車輛遠(yuǎn)程實(shí)時(shí)視頻監(jiān)控系統(tǒng).該系統(tǒng)能夠?qū)崟r(shí)將車輛的行駛狀態(tài)和運(yùn)行環(huán)境上傳到車載視頻監(jiān)控平臺(tái);在突發(fā)緊急事件時(shí),車載監(jiān)控系統(tǒng)會(huì)把信息實(shí)時(shí)地記錄下來(lái)發(fā)送到監(jiān)控指揮中心,便于對(duì)事故的及時(shí)處理;能通過(guò)GPS實(shí)時(shí)定位車輛位置,并通過(guò)PC聯(lián)網(wǎng)觀看前端實(shí)時(shí)視頻,在監(jiān)控中心實(shí)現(xiàn)對(duì)車輛的遠(yuǎn)程實(shí)時(shí)監(jiān)控.
車載監(jiān)控終端安裝在旅游車輛上,它的主要功能是負(fù)責(zé)實(shí)時(shí)采集車輛內(nèi)外的各種數(shù)據(jù),實(shí)現(xiàn)車內(nèi)視頻查看和車輛控制功能,同時(shí)可以對(duì)采集到的視頻數(shù)據(jù)進(jìn)行壓縮編碼、封包并傳輸?shù)竭h(yuǎn)程監(jiān)控中心.
車載監(jiān)控終端的硬件組成如圖1所示,其結(jié)構(gòu)按照功能模塊劃分,主要包括主處理器模塊、數(shù)據(jù)采集模塊和數(shù)據(jù)傳輸模塊3部分.主處理器模塊主要包括嵌入式主處理器、電源、LCD顯示器等功能模塊;數(shù)據(jù)采集模塊為攝像頭模塊、其他傳感器模塊;數(shù)據(jù)傳輸為3G模塊.
圖1 車載監(jiān)控終端硬件組成
1.1.1 主處理器模塊 主處理器選擇基于S3C6410JZF-S內(nèi)核的屬于ARM11體系的微處理器S3C6410[7].它支持外擴(kuò)存儲(chǔ)器、內(nèi)置了LCD控制器、I2C總線接口、UART串口和USB接口等,功能豐富,便于擴(kuò)展LCD充當(dāng)了監(jiān)控終端的人機(jī)交互的接口,可以通過(guò)它對(duì)車輛進(jìn)行控制以及播放本地視頻圖像.本地視頻也可存放于存儲(chǔ)器中或者被壓縮、傳輸.
1.1.2 數(shù)據(jù)采集模塊 數(shù)據(jù)采集模塊包括ov9650攝像頭、傳感器和GPS模塊.攝像頭通過(guò)CAMEAR接口與ARM連接;傳感器通過(guò)USB接口將采集到的車輛行駛數(shù)據(jù)傳給ARM;定位數(shù)據(jù)采集則應(yīng)用VK1513 GPS模塊來(lái)實(shí)現(xiàn),通過(guò)串口連接.
1.1.3 數(shù)據(jù)傳輸模塊 數(shù)據(jù)傳輸模塊選用中興 MF190的3G無(wú)線上網(wǎng)卡,負(fù)責(zé)車輛監(jiān)控系統(tǒng)中車載終端和監(jiān)控中心之間的通信,該3G無(wú)線上網(wǎng)卡通過(guò)USB接口與ARM相連.
遠(yuǎn)程監(jiān)控中心是一臺(tái)接入Internet的PC機(jī),登錄監(jiān)控中心界面即可查看車輛視頻信息以及車輛定位信息.車載監(jiān)控終端與遠(yuǎn)程監(jiān)控中心通過(guò)無(wú)線通訊網(wǎng)絡(luò)溝通,車載監(jiān)控終端信息通過(guò)移動(dòng)通信網(wǎng)絡(luò)發(fā)送給遠(yuǎn)程監(jiān)控中心,同時(shí)將監(jiān)控中心的反饋信息傳輸給車輛.
系統(tǒng)功能依托Linux系統(tǒng)、設(shè)備驅(qū)動(dòng)程序和用戶應(yīng)用程序?qū)崿F(xiàn).嵌入式Linux系統(tǒng)和USB驅(qū)動(dòng)、LCD驅(qū)動(dòng)、GPS驅(qū)動(dòng)、串口等外設(shè)的驅(qū)動(dòng)技術(shù)都比較成熟.通常的外設(shè)驅(qū)動(dòng)移植過(guò)程如下:首先對(duì)內(nèi)核文件中的參數(shù)重新配置,使S3C6410可以支持驅(qū)動(dòng);接著添加外設(shè)地址,注冊(cè)外設(shè);然后重新編譯內(nèi)核并引導(dǎo);然后編寫驅(qū)動(dòng)程序,編譯成ko模塊;最后加載驅(qū)動(dòng),在/dev目錄下生成相應(yīng)的設(shè)備文件.用戶程序指為完成系統(tǒng)功能而編寫的應(yīng)用程序,下面介紹視頻信號(hào)的采集、處理程序以及GPS定位程序.
圖2 視頻采集流程
在Linux下,所有外設(shè)都被看成一種特殊的文件,成為“設(shè)備文件”,因此可以通過(guò)編寫V4L2接口函數(shù)[8-9]對(duì)攝像頭對(duì)應(yīng)的設(shè)備文件video 0操作,從而實(shí)現(xiàn)視頻采集.每采集一幀視頻數(shù)據(jù)就對(duì)其編碼、打包、發(fā)送.本系統(tǒng)把攝像頭的內(nèi)存映射到應(yīng)用程序的地址空間,視頻數(shù)據(jù)本身不被拷貝,只是交換指向數(shù)據(jù)緩沖區(qū)的指針,提高了采集效率.采集過(guò)程如圖2所示.
H.264視頻編碼僅僅規(guī)定了輸入碼流的格式和輸出比特流的句法結(jié)構(gòu),具體的編碼器在實(shí)現(xiàn)上靈活.H.264編碼器主要采用了幀內(nèi)/幀間預(yù)測(cè)、運(yùn)動(dòng)估計(jì)、運(yùn)動(dòng)補(bǔ)償、整數(shù)變換、量化和熵編碼等方式,以提高對(duì)圖像的壓縮率[10-12].相比較其他基于H.264的開源編解碼器,X264在不明顯影響編碼性能的情況下,裁剪了H.264中多參考幀等算法復(fù)雜的部分以提高運(yùn)算速度.因此本系統(tǒng)采用了X264軟編碼對(duì)采集到的視頻數(shù)據(jù)進(jìn)行編碼.用到的函數(shù)如下:
2.2.1 初始化函數(shù) void compress-begin(Encoder *en, int width, int height);通過(guò)函數(shù)x264-param-default(en->param)對(duì)編碼器進(jìn)行參數(shù)設(shè)置,x264-picture-alloc()分配一個(gè)buffer,用以存放視頻數(shù)據(jù)中的Y,U,V.
2.2.2 執(zhí)行函數(shù) int compress-frame(Encoder *en, int type, uint8-t *in, uint8-t *out);計(jì)算一個(gè)幀的長(zhǎng)度,調(diào)用函數(shù)x264-encoder-encode(en->handle, &(en->nal), &nNal, en->picture,&pic-out)對(duì)該幀編碼.
2.2.3 編碼結(jié)束函數(shù) void compress-end(Encoder *en);調(diào)用x264-picture-clean(en->picture),更新圖片區(qū),調(diào)用x264-encoder-close(en->handle),關(guān)閉編碼器和輸入輸出文件.
H.264編碼后的數(shù)據(jù)分為視頻編碼層(VCL)和網(wǎng)絡(luò)提取層(NAL).VCL數(shù)據(jù)表示被壓縮編碼后視頻數(shù)據(jù)序列,先被映射或封裝進(jìn)NAL單元中.每個(gè)NAL單元包括一個(gè)原始字節(jié)序列負(fù)荷和一組對(duì)應(yīng)于視頻編碼的頭信息.本系統(tǒng)通過(guò)C/S架構(gòu)[13],在應(yīng)用層采用RTSP控制協(xié)議,傳輸SDP文件開啟會(huì)話,視頻數(shù)據(jù)采用RTP封裝后承載在UDP上,并通過(guò)RTCP協(xié)議監(jiān)測(cè)傳輸質(zhì)量,開銷相對(duì)較小,傳輸效率較高.
GPS模塊主要用于接收GPS導(dǎo)航衛(wèi)星的信息[14],在車載終端顯示車輛當(dāng)前所處的位置、速度、方向等信息,并將此數(shù)據(jù)通過(guò)3G網(wǎng)絡(luò)傳送到遠(yuǎn)程監(jiān)控中心,車輛的狀態(tài)和運(yùn)動(dòng)軌跡在遠(yuǎn)程監(jiān)控中心安裝的電子地圖上實(shí)時(shí)顯示.
在Ubuntu10.10系統(tǒng)環(huán)境下,選擇Linux3.0.1內(nèi)核版本,將GPS模塊、3G模塊以及攝像頭模塊需要的功能編譯進(jìn)內(nèi)核,生成新的內(nèi)核鏡像zImage,并通過(guò)一鍵燒寫將其燒寫到對(duì)應(yīng)的S3C6410開發(fā)板上.將各模塊同開發(fā)板連接,并將各模塊驅(qū)動(dòng)文件手動(dòng)加載到開發(fā)板,使模塊都能夠正常的工作,然后啟動(dòng)監(jiān)控中心,在實(shí)驗(yàn)室的條件下進(jìn)行聯(lián)合測(cè)試.分別執(zhí)行各應(yīng)用程序,遠(yuǎn)程監(jiān)控中心作為服務(wù)器端開始監(jiān)控后,實(shí)時(shí)等待作為客戶端的車載終端連接,并顯示當(dāng)前采集的視頻和GPS數(shù)據(jù).
通過(guò)在應(yīng)用程序中設(shè)置不同的分辨率改變視頻的采集幀率和數(shù)據(jù)傳輸所占帶寬,以驗(yàn)證本文搭建的系統(tǒng)的性能.不同分辨率下視頻采集的幀率占用的帶寬見(jiàn)表1.
表1 不同分辨率下的幀率占用帶寬情況
從表1可以看出,分辨率設(shè)置為176×144,320×240時(shí),采集視頻的幀率為27幀/s和16幀/s,視頻顯示流暢,可以滿足視頻監(jiān)控的要求,但是顯示快速運(yùn)動(dòng)的圖像仍需要進(jìn)一步的完善;分辨率設(shè)置為640×480時(shí),采集的視頻數(shù)據(jù)比較大,每秒僅僅可以采集8幀,視頻顯示有延遲,表明分辨率不能設(shè)置太大.
3G無(wú)線網(wǎng)絡(luò)可以適應(yīng)在不同分辨率下的帶寬占用,但是當(dāng)分辨率設(shè)置為640×480時(shí),占用帶寬有所下降,說(shuō)明對(duì)視頻數(shù)據(jù)的編碼速度比網(wǎng)絡(luò)傳輸?shù)乃俣纫?限制了傳輸?shù)臄?shù)據(jù),因此采用高分辨率時(shí),要考慮對(duì)編碼器的優(yōu)化,以進(jìn)一步提高系統(tǒng)的實(shí)時(shí)性.
通過(guò)上述數(shù)據(jù)分析,最后設(shè)置的分辨率為320×240,采集的視頻格式為YUV420;編碼幀率分子為20、幀率分母為1、碼率為1 024×10.將采集到的視頻數(shù)據(jù)通過(guò)X264軟編碼,然后將編碼后的視頻數(shù)據(jù)進(jìn)行基于RTP協(xié)議的封包并應(yīng)用SOCKET編程將其發(fā)送到遠(yuǎn)程監(jiān)控中心,PC機(jī)作為遠(yuǎn)程監(jiān)控中心選用VLC播放器對(duì)接收的視頻數(shù)據(jù)解碼播放.視頻信息在PC機(jī)上的實(shí)時(shí)解碼播放,如圖3所示.從圖3可以看出,播放連續(xù),視頻清晰,表明視頻編碼基本沒(méi)丟失視頻的有效信息,傳輸過(guò)程也沒(méi)有數(shù)據(jù)丟包現(xiàn)象.
圖3 PC機(jī)實(shí)時(shí)視頻播放
在實(shí)際的應(yīng)用中,由于GPS定位數(shù)據(jù)通過(guò)無(wú)線網(wǎng)絡(luò)遠(yuǎn)距離發(fā)送,所以對(duì)車輛定位的實(shí)時(shí)性有一定的影響,進(jìn)而影響了定位的經(jīng)度.除了數(shù)據(jù)傳輸過(guò)程中時(shí)延的影響,GPS本身誤差和地圖誤差也對(duì)定位經(jīng)度有一定的影響.通過(guò)差分傳輸方式可以很大部分地減小GPS本身帶來(lái)的誤差,通過(guò)采用多個(gè)控制點(diǎn)進(jìn)行地圖校準(zhǔn)來(lái)減少地圖誤差.由于研究的環(huán)境限制,在實(shí)驗(yàn)室的條件下模擬車輛定位,通過(guò)GPS模塊采集定位信息,然后通過(guò)無(wú)線網(wǎng)絡(luò)將其發(fā)送到監(jiān)控中心PC機(jī)上顯示位置,定位誤差為5~8m,與一般GPS定位系統(tǒng)誤差相同.本系統(tǒng)同時(shí)將定位信息存儲(chǔ)到access數(shù)據(jù)庫(kù)中,由于風(fēng)速對(duì)GPS模塊天線的影響,所以定位精度在不斷的微小變化,定位信息穩(wěn)定在小數(shù)點(diǎn)后第三位.
(1) 構(gòu)建的基于ARM的遠(yuǎn)程實(shí)時(shí)視頻監(jiān)控系統(tǒng)實(shí)現(xiàn)了將GPS定位、3G無(wú)線網(wǎng)絡(luò)通信技術(shù)和視頻編解碼技術(shù)等技術(shù)的集成應(yīng)用.
(2) 將本系統(tǒng)應(yīng)用于車輛的遠(yuǎn)程實(shí)時(shí)監(jiān)控中,管理者能根據(jù)車輛傳來(lái)的信息實(shí)時(shí)了解車輛行駛狀況,并能及時(shí)發(fā)現(xiàn)突發(fā)事件,以便解決.
(3) 本系統(tǒng)的模塊化設(shè)計(jì)思想以及系統(tǒng)具有的開放性,可以在系統(tǒng)原有的基礎(chǔ)上加入更多的外設(shè),針對(duì)用戶的需求進(jìn)行修改,使其應(yīng)用可以擴(kuò)展到更多領(lǐng)域.
參考文獻(xiàn):
[1] JAYAVARDHANA Gubbi,RAJKUMAR Buyya,SLAVEN Marusic,et al.Internet of Things (IoT):A vision, architectural elements, and future directions[J].Future Generation Computer Systems, 2013,29(7):1645-1660.
[2] 蔣新華,陳宇,朱銓,等.交通物聯(lián)網(wǎng)的發(fā)展現(xiàn)狀及趨勢(shì)研究[J].計(jì)算機(jī)應(yīng)用研究,2013,30(8):2256-2261.
[3] 吳忠澤.中國(guó)智能交通行業(yè)發(fā)展現(xiàn)狀與未來(lái)發(fā)展趨勢(shì)[J].電氣時(shí)代,2013(6):24-26.
[4] DIMITRAKOPOULOS G.Intelligent transportation systems based on internet-connected vehicles: Fundamental research areas and challenges[C].ITS Telecommunications (ITST), 2011 11th International Conference.New York:IEEE,2011:145-151.
[5] 楊苗.基于GPS/GIS的車載監(jiān)控系統(tǒng)監(jiān)控模塊的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2012:5-38.
[6] 李萍.基于嵌入式系統(tǒng)的旅游車輛監(jiān)控終端的研制[D].西安:西安工程大學(xué),2013:5-50.
[7] 施樂(lè)平,楊征宇,馬憲民,等.ARM嵌入式系統(tǒng)綜述[J].中國(guó)測(cè)試,2012,38(2):14-16.
[8] 劉登誠(chéng),沈蘇彬,李 莉.基于V4L2的視頻驅(qū)動(dòng)程序設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011,27(10):56-58.
[9] LU yinli,YU Hongli,ZHANG Pengpeng.The implementation of embedded image acquisition based on V4L2[C].Electronics,Communications and Control (ICECC),New York:IEEE,2011:549-552.
[10] 茅炎菲.基于RTSP協(xié)議和H.264編碼的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:浙江大學(xué),2011:53-54.
[11] ZHANG Dong,LI Bin,XU Jizheng,et al.Fast transcoding from H.264 AVC to high efficiency video coding[C].Multimedia and Expo (ICME),New York:IEEE,2012:651-656.
[12] 鄭慶紅.基于H.264的視頻傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].無(wú)線電工程,2011,41(8):12-14.
[13] 解丹.基于C/S架構(gòu)的車輛遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2011:17-48.
[14] 溫宗周,陳改霞.基于GPS/GPRS的遠(yuǎn)程車輛管理系統(tǒng)的設(shè)計(jì)[J].電子測(cè)量技術(shù),2013,36(8):76-79.