■ 高立兵
高立兵: 甘肅有色冶金職業(yè)技術(shù)學(xué)院,甘肅 金昌,737100
遠(yuǎn)程圖像傳輸在通信技術(shù)高度發(fā)達(dá)的今天有著廣泛的市場需求。在交通、工業(yè)現(xiàn)場等許多領(lǐng)域都有著廣泛的應(yīng)用。設(shè)計一種基于H.264視頻壓縮技術(shù)的嵌入式無線視頻監(jiān)控系統(tǒng),詳細(xì)給出了監(jiān)控系統(tǒng)的硬件設(shè)計和相應(yīng)的軟件實現(xiàn)方法,隨著鐵路信息化的逐步深入,在鐵路領(lǐng)域中應(yīng)用遠(yuǎn)程圖像傳輸技術(shù)則可以進(jìn)行遠(yuǎn)程觀察,從而建立起一個有效的監(jiān)測網(wǎng)絡(luò),提高鐵路技術(shù)的現(xiàn)代化程度。
采用無線移動通信網(wǎng)絡(luò)傳輸圖像的主要目的是為了避免自行建設(shè)通信網(wǎng)絡(luò)傳輸,并借助移動通信網(wǎng)絡(luò)的覆蓋率,實現(xiàn)更大范圍的應(yīng)用,同時也大大降低終端設(shè)備的成本。目前能夠低成本獲得的無線服務(wù)主要有CDMA和GPRS ,接入設(shè)備主要有手機(jī)或?qū)S玫哪K。CDMA與GPRS雖然都是2.5代的移動通信系統(tǒng),但CDMA網(wǎng)絡(luò)通信速度遠(yuǎn)高于GPRS網(wǎng)絡(luò)。目前視頻監(jiān)控系統(tǒng)中采用圖像壓縮標(biāo)準(zhǔn)為MPEG-4和H.264等幾個標(biāo)準(zhǔn),H.264在同等圖像質(zhì)量條件下具有比MPEG-4更高的數(shù)據(jù)壓縮比,對網(wǎng)絡(luò)帶寬的要求更低。碼分多址無線網(wǎng)絡(luò)具有覆蓋面廣、高效、低成本的特點。碼分多址網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率可達(dá)150 kb/s。這里開發(fā)的嵌入式無線視頻定位監(jiān)控系統(tǒng)就是充分利用了H.264視頻壓縮技術(shù)碼分多址無線網(wǎng)絡(luò)技術(shù)和嵌人式系統(tǒng)的特點而搭建的數(shù)據(jù)傳輸系統(tǒng)。該系統(tǒng)由嵌入式移動終端、CDMA網(wǎng)絡(luò)、Internet網(wǎng)、遠(yuǎn)端控制中心服務(wù)器,無線或有線車站互聯(lián)網(wǎng)客戶端組成。
系統(tǒng)總體結(jié)構(gòu)見圖1。各部分功能如下:
監(jiān)控終端:監(jiān)控前端是的Linux嵌入式系統(tǒng),它采集攝像頭的視頻數(shù)據(jù),并用H.264標(biāo)準(zhǔn)壓縮封裝成RTP包發(fā)送到CDMA模塊,以無線電波的形式發(fā)送到監(jiān)控中心服務(wù)器。
監(jiān)控中心服務(wù)器:監(jiān)控終端選用Windows操作系統(tǒng)的PC機(jī),監(jiān)控終端軟件采用Visual c+ +編程,實現(xiàn)的主要功能是接收、H.264軟件解碼嵌入式監(jiān)控終端發(fā)送過來的監(jiān)控數(shù)據(jù),并將得到的圖像保存和傳輸給客戶端主機(jī)。
客戶端主機(jī):建立與監(jiān)控中心服務(wù)器的連接,向監(jiān)控中心主機(jī)發(fā)送控制命令,從而實現(xiàn)實時監(jiān)視、控制、錄像、報警等功能。
圖1 無線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)結(jié)構(gòu)
無線客戶端主機(jī)或者有線互聯(lián)客戶端主機(jī)向監(jiān)控中心服務(wù)器發(fā)送客戶請求命令,先通過碼分多址網(wǎng)關(guān)接入Internet,然后到達(dá)中心服務(wù)器。中心服務(wù)器收到用戶命令后進(jìn)行命令解析,再通過網(wǎng)絡(luò)向監(jiān)控終端發(fā)送命令,監(jiān)控終端收到中心服務(wù)器的任務(wù)之后,就通過圖像采集模塊拍攝現(xiàn)場圖像,并將經(jīng)過H.264壓縮編碼后的圖像數(shù)據(jù)按照RTP通信協(xié)議,經(jīng)由碼分多址模塊發(fā)送回中心服務(wù)器。對于無線客戶端主機(jī),中心服務(wù)器再通過無線網(wǎng)絡(luò)向客戶端主機(jī)發(fā)送監(jiān)控視頻或圖片,而對于互聯(lián)網(wǎng)客戶端主機(jī),中心服務(wù)器則直接通過Internet向網(wǎng)絡(luò)客戶端主機(jī)提供視頻或圖片監(jiān)控,其次,中心服務(wù)器還要監(jiān)控碼分多址傳輸數(shù)據(jù)質(zhì)量,并進(jìn)行反饋,由此來控制碼分多址在不同信號質(zhì)量下發(fā)送數(shù)據(jù)的速度。系統(tǒng)采用雙C/S架構(gòu),具有非常好的擴(kuò)容性,多個終端安裝在不同的地點,就能夠?qū)崿F(xiàn)對不同目標(biāo)的實時監(jiān)控。
攝像頭:由于Hi3510支持ITU-RBT.656/601視頻輸入接口,不能直接接收攝像頭輸出的模擬視頻信號,如果攝像頭需要再加一片SAA7114視頻解碼芯片,就可以把攝像頭輸出的模擬視頻信號經(jīng)SAA7114模數(shù)轉(zhuǎn)換成BT.656格式的數(shù)字視頻信號,從ITU-RBT.656/601的視頻端口輸入監(jiān)控終端。
監(jiān)控終端:監(jiān)控終端的硬件部分采用Hi3510芯片的ARM926EJ-S作為主控芯片,主要有CDMA Modem,Hi3510芯片,數(shù)據(jù)采集設(shè)備(攝像頭)及電源。圍繞核心芯片Hi3510分別搭建相應(yīng)的硬件和軟件環(huán)境,以實現(xiàn)監(jiān)控終端的設(shè)計。
Hi3510:核心芯片采用華為海思公司的基于H.264 BP算法的視頻壓縮芯片Hi3510,Hi3510采用ARM+DSP+硬件加速引擎的雙核高集成度的SoC 構(gòu)架,可以很好地運行嵌人式Linux,能自適應(yīng)各種網(wǎng)絡(luò)環(huán)境,大小為19×19 mm,引腳間距為0.8 mm,片內(nèi)集成了包括數(shù)字視頻接口、USB、ETH、I2S、I2C、GPIO、SPI、UART、SDRAM、DDR 等接口,工作原理是視頻輸入單元通過ITU-RBT.601/656接口接收由VADC輸出的數(shù)字視頻信息,并通過AHB總線把接收到的原始圖像寫入到外存(SDR SDRAM或DDR SDRAM)中;視頻編解碼器從外存中讀取圖像,進(jìn)行運動估計(幀間預(yù)測)、幀內(nèi)預(yù)測、DCT變換、量化、IDCT變換、反量化、運動補(bǔ)償?shù)炔僮鳎詈髮⒎螲.264協(xié)議的裸碼流和編碼重構(gòu)幀(作為下一幀的參考幀)寫入到外存中;視頻輸出單元從外存中讀取圖像數(shù)據(jù)并通過ITU-R BT.601/656接口送給VDAC進(jìn)行顯示,應(yīng)用的需求不同,視頻輸出單元從外存中讀取的圖像內(nèi)容也不同,當(dāng)需要對輸入圖像進(jìn)行預(yù)覽時,視頻輸出單元從外存中讀取原始圖像,當(dāng)需要觀察視頻編碼器的編碼效果時,視頻輸出單元從外存中讀取編碼重構(gòu)幀;ARM 對視頻編碼器輸出的碼流進(jìn)行協(xié)議棧的封裝,然后送給網(wǎng)口發(fā)送,以實現(xiàn)視頻點播業(yè)務(wù)。
碼分多址通訊模塊:采用深圳倚天科技公司的ETPro-309AI CDMA Modem,其內(nèi)置SIM卡,其內(nèi)部核心芯片是QualcommMSM6025。該模塊包含基于碼分多址業(yè)務(wù)標(biāo)準(zhǔn)IS95和IS2000的調(diào)制解調(diào)系統(tǒng),而且?guī)?nèi)置TCP/IP協(xié)議棧,可利用AT命令直接與其通信。碼分多址模塊與核心處理器之間使用UART進(jìn)行連接。
在本軟件設(shè)計中,采用典型的C/S結(jié)構(gòu),由客戶端與服務(wù)端兩部分構(gòu)成。客戶/服務(wù)器模式的最顯著特點是非對等作用,即客戶相對于服務(wù)器處于不平等的地位,服務(wù)端提供服務(wù),客戶端提供請求。這很好地適應(yīng)了當(dāng)前網(wǎng)絡(luò)中大量存在的資源分布和運算能力不均的現(xiàn)狀。系統(tǒng)軟件主要由三部分組成,終端監(jiān)控現(xiàn)場的視頻數(shù)據(jù)處理模塊,服務(wù)器端數(shù)據(jù)處理模塊以及車站客戶端用戶模塊。
終端軟件的核心是嵌入式Linux操作系統(tǒng),所有功能的實現(xiàn)都基于Linux操作系統(tǒng)來完成。主要包括三個層次,最底層是BootLoader服務(wù)程序和基本外設(shè)驅(qū)動,主要完成系統(tǒng)加載和ARM核心處理器的初始化配置,第二層主要是攝像頭模塊和碼分多址模塊的驅(qū)動程序,最后一層是系統(tǒng)的應(yīng)用程序。
由于Linux內(nèi)核采用模塊化的設(shè)計。很多模塊可以獨立地加載或卸載,所以小型化就是對Linux內(nèi)核重新編譯,在編譯時仔細(xì)地選擇嵌入式設(shè)備所需要的功能模塊,同時刪除不需要的功能。這里只需要串口驅(qū)動、SAA7114視頻解碼芯片驅(qū)動,還有撥號網(wǎng)絡(luò)應(yīng)用,還要支持PPP、TCP/IP網(wǎng)絡(luò)協(xié)議,其他都可以刪除掉,使系統(tǒng)運行所需要的內(nèi)核顯著減小至l Mb以內(nèi)。碼分多址撥號通過運行PPP程序進(jìn)行。在Linux下的PPP包是專門為解決Modem撥號上網(wǎng)問題而編寫的,并且是公開源代碼的。PPP撥號腳本程序主要通過調(diào)用pppd和chat這兩個應(yīng)用程序,并通過AT指令實現(xiàn)對Modem的操作。
應(yīng)用程序主要是監(jiān)聽客戶端主機(jī)的命令,收到命令后調(diào)用攝像頭模塊采集圖像,然后再使用碼分多址模塊來發(fā)送圖像數(shù)據(jù)。監(jiān)控終端一旦初始化后,就與中心服務(wù)器建立TCP連接,在運行過程中終端跟中心服務(wù)器保持TCP連接,中心服務(wù)器可隨時主動地請求圖像數(shù)據(jù),因此,對于對交互性和實時性有較高要求的應(yīng)用系統(tǒng)可實現(xiàn)較好的響應(yīng)。監(jiān)控終端軟件流程見圖2。
服務(wù)器端模塊軟件可以分為通信模塊,用戶管理模塊,圖像預(yù)覽和控制模塊四部分。實現(xiàn)的主要功能是從數(shù)據(jù)接收模塊接收數(shù)據(jù)、H.264軟件解碼嵌入式終端發(fā)送過來的數(shù)據(jù)、并將得到的圖像視頻多路顯示、對多個監(jiān)控節(jié)點的音/視頻數(shù)據(jù)進(jìn)行輪巡顯示、保存和傳輸給終端用戶、負(fù)責(zé)添加和刪除用戶、同時為添加的用戶設(shè)置使用等級,系統(tǒng)保留一個超級用戶。
客戶端主機(jī)通過寬帶上網(wǎng)方式登錄到Internet上,因為系統(tǒng)的監(jiān)控終端都是通過CDMA方式接入Internet;這種方式的最大問題是撥號上網(wǎng),IP地址臨時分配而不固定。所以客戶端主機(jī)必須申請一個靜態(tài)IP地址以連接到固定的中心服務(wù)器上。
當(dāng)客戶端輸入監(jiān)控中心主機(jī)的IP和用戶名、密碼后,該軟件與視頻監(jiān)控系統(tǒng)的服務(wù)器創(chuàng)建連接,為保證系統(tǒng)安全,根據(jù)實際需要,客戶終端主機(jī)使用安全訪問機(jī)制。當(dāng)客戶端主機(jī)連接上監(jiān)控中心主機(jī)后,即可運行服務(wù)器端軟件,在權(quán)限允許的情況下可以實現(xiàn)對監(jiān)控中心主機(jī)的控制,從而提供給用戶實時監(jiān)視、控制、錄像等功能。
圖2 視頻監(jiān)控系統(tǒng)監(jiān)控終端軟件流程
[1]童長飛.C8051F系列單片機(jī)開發(fā)與C語言編程[M]. 北京:北京航空航天大學(xué)出版社,2005 :558
[2]潘琢金.C8051F120/1/2/3混合信號ISP FLASH微控制器數(shù)據(jù)手冊[M]. 深圳:新華龍電子有限公司,2004:304
[3]朱斌. 何成杰,葉家駿,等. 基于嵌入式系統(tǒng)的視頻圖像傳輸系統(tǒng)[J]. 電子技術(shù),2003 (1) :22-24
[4]摩托羅拉工程學(xué)院. CDMA 20002-1X網(wǎng)絡(luò)技術(shù)[M]. 北京:電子工業(yè)出版社,2005
[5]胡智娟,張華清. 移動通信技術(shù)使用教程[M]. 北京:國防工業(yè)出版社,2005