■ 高立兵
高立兵: 甘肅有色冶金職業技術學院,甘肅 金昌,737100
遠程圖像傳輸在通信技術高度發達的今天有著廣泛的市場需求。在交通、工業現場等許多領域都有著廣泛的應用。設計一種基于H.264視頻壓縮技術的嵌入式無線視頻監控系統,詳細給出了監控系統的硬件設計和相應的軟件實現方法,隨著鐵路信息化的逐步深入,在鐵路領域中應用遠程圖像傳輸技術則可以進行遠程觀察,從而建立起一個有效的監測網絡,提高鐵路技術的現代化程度。
采用無線移動通信網絡傳輸圖像的主要目的是為了避免自行建設通信網絡傳輸,并借助移動通信網絡的覆蓋率,實現更大范圍的應用,同時也大大降低終端設備的成本。目前能夠低成本獲得的無線服務主要有CDMA和GPRS ,接入設備主要有手機或專用的模塊。CDMA與GPRS雖然都是2.5代的移動通信系統,但CDMA網絡通信速度遠高于GPRS網絡。目前視頻監控系統中采用圖像壓縮標準為MPEG-4和H.264等幾個標準,H.264在同等圖像質量條件下具有比MPEG-4更高的數據壓縮比,對網絡帶寬的要求更低。碼分多址無線網絡具有覆蓋面廣、高效、低成本的特點。碼分多址網絡的數據傳輸速率可達150 kb/s。這里開發的嵌入式無線視頻定位監控系統就是充分利用了H.264視頻壓縮技術碼分多址無線網絡技術和嵌人式系統的特點而搭建的數據傳輸系統。該系統由嵌入式移動終端、CDMA網絡、Internet網、遠端控制中心服務器,無線或有線車站互聯網客戶端組成。
系統總體結構見圖1。各部分功能如下:
監控終端:監控前端是的Linux嵌入式系統,它采集攝像頭的視頻數據,并用H.264標準壓縮封裝成RTP包發送到CDMA模塊,以無線電波的形式發送到監控中心服務器。
監控中心服務器:監控終端選用Windows操作系統的PC機,監控終端軟件采用Visual c+ +編程,實現的主要功能是接收、H.264軟件解碼嵌入式監控終端發送過來的監控數據,并將得到的圖像保存和傳輸給客戶端主機。
客戶端主機:建立與監控中心服務器的連接,向監控中心主機發送控制命令,從而實現實時監視、控制、錄像、報警等功能。

圖1 無線網絡視頻監控系統結構
無線客戶端主機或者有線互聯客戶端主機向監控中心服務器發送客戶請求命令,先通過碼分多址網關接入Internet,然后到達中心服務器。中心服務器收到用戶命令后進行命令解析,再通過網絡向監控終端發送命令,監控終端收到中心服務器的任務之后,就通過圖像采集模塊拍攝現場圖像,并將經過H.264壓縮編碼后的圖像數據按照RTP通信協議,經由碼分多址模塊發送回中心服務器。對于無線客戶端主機,中心服務器再通過無線網絡向客戶端主機發送監控視頻或圖片,而對于互聯網客戶端主機,中心服務器則直接通過Internet向網絡客戶端主機提供視頻或圖片監控,其次,中心服務器還要監控碼分多址傳輸數據質量,并進行反饋,由此來控制碼分多址在不同信號質量下發送數據的速度。系統采用雙C/S架構,具有非常好的擴容性,多個終端安裝在不同的地點,就能夠實現對不同目標的實時監控。
攝像頭:由于Hi3510支持ITU-RBT.656/601視頻輸入接口,不能直接接收攝像頭輸出的模擬視頻信號,如果攝像頭需要再加一片SAA7114視頻解碼芯片,就可以把攝像頭輸出的模擬視頻信號經SAA7114模數轉換成BT.656格式的數字視頻信號,從ITU-RBT.656/601的視頻端口輸入監控終端。
監控終端:監控終端的硬件部分采用Hi3510芯片的ARM926EJ-S作為主控芯片,主要有CDMA Modem,Hi3510芯片,數據采集設備(攝像頭)及電源。圍繞核心芯片Hi3510分別搭建相應的硬件和軟件環境,以實現監控終端的設計。
Hi3510:核心芯片采用華為海思公司的基于H.264 BP算法的視頻壓縮芯片Hi3510,Hi3510采用ARM+DSP+硬件加速引擎的雙核高集成度的SoC 構架,可以很好地運行嵌人式Linux,能自適應各種網絡環境,大小為19×19 mm,引腳間距為0.8 mm,片內集成了包括數字視頻接口、USB、ETH、I2S、I2C、GPIO、SPI、UART、SDRAM、DDR 等接口,工作原理是視頻輸入單元通過ITU-RBT.601/656接口接收由VADC輸出的數字視頻信息,并通過AHB總線把接收到的原始圖像寫入到外存(SDR SDRAM或DDR SDRAM)中;視頻編解碼器從外存中讀取圖像,進行運動估計(幀間預測)、幀內預測、DCT變換、量化、IDCT變換、反量化、運動補償等操作,最后將符合H.264協議的裸碼流和編碼重構幀(作為下一幀的參考幀)寫入到外存中;視頻輸出單元從外存中讀取圖像數據并通過ITU-R BT.601/656接口送給VDAC進行顯示,應用的需求不同,視頻輸出單元從外存中讀取的圖像內容也不同,當需要對輸入圖像進行預覽時,視頻輸出單元從外存中讀取原始圖像,當需要觀察視頻編碼器的編碼效果時,視頻輸出單元從外存中讀取編碼重構幀;ARM 對視頻編碼器輸出的碼流進行協議棧的封裝,然后送給網口發送,以實現視頻點播業務。
碼分多址通訊模塊:采用深圳倚天科技公司的ETPro-309AI CDMA Modem,其內置SIM卡,其內部核心芯片是QualcommMSM6025。該模塊包含基于碼分多址業務標準IS95和IS2000的調制解調系統,而且帶內置TCP/IP協議棧,可利用AT命令直接與其通信。碼分多址模塊與核心處理器之間使用UART進行連接。
在本軟件設計中,采用典型的C/S結構,由客戶端與服務端兩部分構成。客戶/服務器模式的最顯著特點是非對等作用,即客戶相對于服務器處于不平等的地位,服務端提供服務,客戶端提供請求。這很好地適應了當前網絡中大量存在的資源分布和運算能力不均的現狀。系統軟件主要由三部分組成,終端監控現場的視頻數據處理模塊,服務器端數據處理模塊以及車站客戶端用戶模塊。
終端軟件的核心是嵌入式Linux操作系統,所有功能的實現都基于Linux操作系統來完成。主要包括三個層次,最底層是BootLoader服務程序和基本外設驅動,主要完成系統加載和ARM核心處理器的初始化配置,第二層主要是攝像頭模塊和碼分多址模塊的驅動程序,最后一層是系統的應用程序。
由于Linux內核采用模塊化的設計。很多模塊可以獨立地加載或卸載,所以小型化就是對Linux內核重新編譯,在編譯時仔細地選擇嵌入式設備所需要的功能模塊,同時刪除不需要的功能。這里只需要串口驅動、SAA7114視頻解碼芯片驅動,還有撥號網絡應用,還要支持PPP、TCP/IP網絡協議,其他都可以刪除掉,使系統運行所需要的內核顯著減小至l Mb以內。碼分多址撥號通過運行PPP程序進行。在Linux下的PPP包是專門為解決Modem撥號上網問題而編寫的,并且是公開源代碼的。PPP撥號腳本程序主要通過調用pppd和chat這兩個應用程序,并通過AT指令實現對Modem的操作。
應用程序主要是監聽客戶端主機的命令,收到命令后調用攝像頭模塊采集圖像,然后再使用碼分多址模塊來發送圖像數據。監控終端一旦初始化后,就與中心服務器建立TCP連接,在運行過程中終端跟中心服務器保持TCP連接,中心服務器可隨時主動地請求圖像數據,因此,對于對交互性和實時性有較高要求的應用系統可實現較好的響應。監控終端軟件流程見圖2。
服務器端模塊軟件可以分為通信模塊,用戶管理模塊,圖像預覽和控制模塊四部分。實現的主要功能是從數據接收模塊接收數據、H.264軟件解碼嵌入式終端發送過來的數據、并將得到的圖像視頻多路顯示、對多個監控節點的音/視頻數據進行輪巡顯示、保存和傳輸給終端用戶、負責添加和刪除用戶、同時為添加的用戶設置使用等級,系統保留一個超級用戶。
客戶端主機通過寬帶上網方式登錄到Internet上,因為系統的監控終端都是通過CDMA方式接入Internet;這種方式的最大問題是撥號上網,IP地址臨時分配而不固定。所以客戶端主機必須申請一個靜態IP地址以連接到固定的中心服務器上。
當客戶端輸入監控中心主機的IP和用戶名、密碼后,該軟件與視頻監控系統的服務器創建連接,為保證系統安全,根據實際需要,客戶終端主機使用安全訪問機制。當客戶端主機連接上監控中心主機后,即可運行服務器端軟件,在權限允許的情況下可以實現對監控中心主機的控制,從而提供給用戶實時監視、控制、錄像等功能。

圖2 視頻監控系統監控終端軟件流程
[1]童長飛.C8051F系列單片機開發與C語言編程[M]. 北京:北京航空航天大學出版社,2005 :558
[2]潘琢金.C8051F120/1/2/3混合信號ISP FLASH微控制器數據手冊[M]. 深圳:新華龍電子有限公司,2004:304
[3]朱斌. 何成杰,葉家駿,等. 基于嵌入式系統的視頻圖像傳輸系統[J]. 電子技術,2003 (1) :22-24
[4]摩托羅拉工程學院. CDMA 20002-1X網絡技術[M]. 北京:電子工業出版社,2005
[5]胡智娟,張華清. 移動通信技術使用教程[M]. 北京:國防工業出版社,2005