基于H.264的嵌入式無線視頻監(jiān)控系統(tǒng)
1 引言
對圖像監(jiān)控系統(tǒng),用戶常常對使用環(huán)境提出一些特殊需求,他們希望能夠監(jiān)控距離比較遠的對象,這些對象有可能是深山的電網、荒原的油井或者其它無人值守或人無法到達場合的重要設備何地;另一方面他們希望獲取比較清晰的圖象,同時他們對圖象傳輸的實時性要求比較高,很明顯,用傳統(tǒng)的PC機加圖像采集卡的方式很難滿足這樣的需求[1]。
以往的視頻監(jiān)控系統(tǒng)很多都使用了MPEG-4標準,而新一代視頻壓縮標準H.264是面向無線網絡和因特網的視頻圖像編碼與傳輸技術,相對MPEG-4標準,除了增強網絡適應能力外,大幅度提高了壓縮編碼效率,在相同的碼率下能夠獲得更高的主客觀質量。
碼分多址無線網絡具有覆蓋面廣、高效、低成本的特點。碼分多址網絡的數據傳輸速率可達150 kb/s。這里開發(fā)的嵌入式無線視頻定位監(jiān)控系統(tǒng)就是充分利用了H.264視頻壓縮技術碼分多址無線網絡技術和嵌人式系統(tǒng)的特點而搭建的數據傳輸系統(tǒng)。
本文提出了一種采用海思公司的Hi3510系統(tǒng)的設計方案,分別對系統(tǒng)軟硬件的設計進行了詳細討論,完成視頻信號的采集、壓縮及傳輸功能。
2 系統(tǒng)架構
該系統(tǒng)由無線或有線互聯網監(jiān)控用戶、中心服務器、嵌入式監(jiān)控終端組成,系統(tǒng)架構,如圖1所示。無線終端用戶或者有線互聯網用戶向中心服務器發(fā)送用戶請求命令,先通過碼分多址網關接入Internet,然后到達中心服務器。中心服務器收到用戶命令后進行命令解析,再通過無線網絡向監(jiān)控終端發(fā)送控制命令,監(jiān)控終端收到中心端的監(jiān)控任務之后,就通過圖像采集模塊拍攝現場圖像,并將經過H.264壓縮編碼后的圖像數據按照RTP通信協(xié)議,經由碼分多址模塊發(fā)送回中心服務器。對于無線用戶,中心服務器再通過無線網絡向用戶發(fā)送監(jiān)控視頻或圖片,而對于互聯網用戶中心服務器則直接通過 Internet向網絡用戶提供視頻或圖片監(jiān)控。中心服務器首先需要處理在數據傳輸過程中出現的數據包錯序、校驗出錯、丟包、重包等現象,即在通訊協(xié)議中增加請求丟包重發(fā)機制和超時機制;其次,中心服務器還要監(jiān)控碼分多址傳輸數據質量,并進行反饋,由此來控制碼分多址在不同信號質量下發(fā)送數據的速度;最后,服務器還要為用戶提供監(jiān)控系統(tǒng)的Web瀏覽、視頻數據的硬盤存儲、下載等功能。系統(tǒng)采用雙C/S架構,具有非常好的擴容性,多個監(jiān)控終端安裝在不同的地點,就能夠實現對不同目標的實時監(jiān)控。
圖1. 監(jiān)控系統(tǒng)構架圖
3 監(jiān)控終端設計
監(jiān)控端系統(tǒng)基于華為海思公司的高性能通信媒體處理器碼分多址搭建。Hi3510是一款基于ARM9、DSP雙處理器內核以及硬件加速引擎的高集成、可編程、支持MPEG-4 AVC/H.264協(xié)議的高性能通信媒體處理器。圍繞Hi3510分別搭建相應的硬件和軟件環(huán)境,就可以很方便的實現監(jiān)控終端的設計。
3.1 監(jiān)控終端硬件設計
要能夠正確運行一個系統(tǒng),硬件方面至少應該包括CPU、內存和固態(tài)存儲器、系統(tǒng)內部總線以及外設接口,Hi3510處理器系統(tǒng)很好滿足了這些條件。具體硬件系統(tǒng)結構見圖2。
圖2. Hi3510處理器機構圖
[!--empirenews.page--]
Hi3510使用ARM926EJ-S內核,哈佛結構的32位RISC處理器,其內內置MMU,主頻可達到 240MHz,可以很好得運行嵌人式Linux2.6,不但保持了嵌人式系統(tǒng)小型化、低功耗、易攜帶的特點,又充分利用了Linux系統(tǒng)完整的內存、文件、線程管理功能,大大方便了程序的開發(fā)和程序中多任務功能的實現。
H.264是面向無線網絡和因特網的視頻圖像編碼與傳輸技術.與其相關的各種研究已成為當今信息科學與技術的前沿課題。 H.264具有高壓縮比,良好的網絡適應性,一定的魯棒性等優(yōu)異性能,但其計算量過高,編碼時間過長,限制了它的廣泛應用。Hi3510芯片是具有 H.264硬件編碼SOC芯片―― Hi3510采用ARM9+DSP+硬件引擎方式,方便地提供了H.264壓縮視頻流,而且可以獲得很好壓縮比。
碼分多址通訊模塊采用深圳倚天科技公司的ETPro-309 AI CDMA Modem,其內置SIM卡,其內部核心芯片是Qualcomm MSM6025。該模塊包含基于碼分多址業(yè)務標準IS95和IS2000的調制解調系統(tǒng),而且?guī)戎肨CP/IP協(xié)議棧,可利用AT命令直接與其通信。碼分多址模塊與核心處理器之間使用UART進行連接。
Hi3510支持ITU-R BT.656/601視頻輸入接口,攝像機接口接受ITU標準的圖像數據,不能直接接收CCD攝像機輸出的模擬視頻信號,因此我們只需要再加一片SAA7114視頻解碼芯片,就可以完成硬件系統(tǒng)的搭建。
3.2 監(jiān)控終端軟件設計
控制終端軟件的核心是嵌入式Linux操作系統(tǒng),所有功能的實現都基于Linux操作系統(tǒng)來完成。主要包括三個層次,最底層是BootLoader服務程序和基本外設驅動,它主要完成系統(tǒng)加載和ARM核心處理器的初始化配置,第二層主要是攝像頭模塊和碼分多址模塊的驅動程序,最后一層是系統(tǒng)的應用程序。
由于Linux內核采用模塊化的設計。很多模塊可以獨立地加載或卸載,所以小型化就是對Linux內核重新編譯,在編譯時仔細地選擇嵌入式設備所需要的功能模塊,同時刪除不需要的功能。這里只需要串口驅動、SAA7114視頻解碼芯片驅動,還有撥號網絡應用,還要支持 PPP、TCP/IP網絡協(xié)議,其他都可以刪除掉,使系統(tǒng)運行所需要的內核顯著減小至l Mb以內。碼分多址撥號通過運行PPP程序進行。在Linux下的PPP包是專門為解決Modem撥號上網問題而編寫的,并且是公開源代碼的。PPP撥號腳本程序主要通過調用pppd和chat這兩個應用程序,并通過AT指令實現對Modem的操作。
應用程序主要是監(jiān)聽用戶命令,收到命令后調用攝像頭模塊采集圖像,然后再使用碼分多址模塊來發(fā)送圖像數據。終端一旦初始化后,就與中心服務器建立TCP連接,在運行過程中終端跟中心服務器保持TCP連接,中心服務器可隨時主動地請求圖像數據,因此,對于對交互性和實時性有較高要求的應用系統(tǒng)可實現較好的響應。監(jiān)控終端軟件流程如圖3所示。
圖3. 監(jiān)控終端軟件流程圖
4 基于RTP的H.264視頻流傳輸控制
由于H.264具有前面所指出的多種優(yōu)點,本系統(tǒng)設計了基于RTP的H.264視頻流傳輸控制。RTP協(xié)議對實時數據傳輸的支持包括時間戳、序列號、荷載類型標識和源標識等,時間戳反映了RTP數據幀中第一字節(jié)數據的采樣時間,采樣時間是線性單調增長的。接收方根據收到數據幀的時間戳來重建接收數據的時序關系,以便正確回放媒體流。序列號用于數據傳送的丟失檢測和幀序重構;荷載類型標識則指明RTP幀數據荷載的編碼格式;源標識用于指示接收方式所接收數據的來源。以上功能均通過RTP的幀頭來實現。
RTP 數據協(xié)議運行在面向數據報的UDP 之上,它只能提供無連接的不可靠服務,幀丟失或出錯都會降低圖像或聲音的質量。RTCP控制協(xié)議需要與RTP數據協(xié)議一起配合使用,RTP本身并不能為按序傳輸數據包提供可靠的保證,也不提供流量控制和擁塞控制,這些都由RTCP來負責完成。
[!--empirenews.page--]
H.264視頻流分別裝上RTP報頭、UDP報頭和IP報頭,然后IP數據包通過Internet傳送到接收端。接收端收到IP數據包后按相反的順序將 RTP報頭和視頻流數據提取出來,根據RTP報頭中的序列號和將視頻流數據放人接收端緩存供解碼器解碼輸出。RTP反饋控制主要通過RTCP的接收方報告來完成,通過提取RTCP中接收方報告SR的反饋信息估計網絡的可用帶寬,再根據可用帶寬動態(tài)調整編碼的參數,使RTP發(fā)送碼率小于網絡的可用帶寬,從而保證傳輸的可靠性。[3]
圖4. RTP傳輸反饋控制模型
5 中心端設計
服務器端軟件實現的主要功能是接收、H.264軟件解碼嵌入式終端發(fā)送過來的監(jiān)控數據,并將得到的圖像保存和傳輸給終端用戶??刂浦行闹鳈C通過寬帶上網方式登錄到Internet上,必須申請一個靜態(tài)IP地址。主機登錄Internet后,即可運行服務器端軟件。服務器端程序設計主要包括網絡通信、接收數據、H.264軟件解碼、保存圖像、即時重顯圖像。整個過程屬于軟件系統(tǒng)開發(fā),本文不再詳細討論。
6 結束語
該設計是在城市或遠程移動設備所需監(jiān)控的應用背景下提出的,如城市武警車輛,本系統(tǒng)的應用會為預警指揮提供保證。本文作者創(chuàng)新點:設計提出了結合嵌入式技術、視頻壓縮編碼技術、無線通訊技術、網絡技術、監(jiān)控技術等多項技術無線視頻監(jiān)控系統(tǒng),采用嵌入式技術和Linux實時多任務操作系統(tǒng),基于碼分多址無線數據傳送、H.264視屏壓縮、RTP實時傳輸控制,使系統(tǒng)有極高的實用價值。
參考文獻
[1]. 孫宏偉,基于S3C2440遠程圖像無線監(jiān)控系統(tǒng)的設計, 微計算機信息, 2006, 4-2;90-92。
[2]. 華為海思半導體有限公司,Hi3510 媒體處理軟件開發(fā)指南,2006
[3]. 陶桂東,基于RTP協(xié)議H.264視頻流傳輸QoS保證的研究,裝甲兵工程學院學報,2006,20卷