《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于H.264的嵌入式無(wú)線(xiàn)視頻監(jiān)控系統(tǒng)
基于H.264的嵌入式無(wú)線(xiàn)視頻監(jiān)控系統(tǒng)
中電網(wǎng)
摘要: 本文提出了一種采用海思公司的Hi3510系統(tǒng)的設(shè)計(jì)方案,,分別對(duì)系統(tǒng)軟硬件的設(shè)計(jì)進(jìn)行了詳細(xì)討論,完成視頻信號(hào)的采集,、壓縮及傳輸功能
Abstract:
Key words :

1 引言

對(duì)圖像監(jiān)控系統(tǒng),,用戶(hù)常常對(duì)使用環(huán)境提出一些特殊需求,,他們希望能夠監(jiān)控距離比較遠(yuǎn)的對(duì)象,這些對(duì)象有可能是深山的電網(wǎng),、荒原的油井或者其它無(wú)人值守或人無(wú)法到達(dá)場(chǎng)合的重要設(shè)備何地,;另一方面他們希望獲取比較清晰的圖象,同時(shí)他們對(duì)圖象傳輸?shù)膶?shí)時(shí)性要求比較高,,很明顯,,用傳統(tǒng)的PC機(jī)加圖像采集卡的方式很難滿(mǎn)足這樣的需求[1]。

以往的視頻監(jiān)控系統(tǒng)很多都使用了MPEG-4標(biāo)準(zhǔn),,而新一代視頻壓縮標(biāo)準(zhǔn)H.264是面向無(wú)線(xiàn)網(wǎng)絡(luò)和因特網(wǎng)的視頻圖像編碼與傳輸技術(shù),,相對(duì)MPEG-4標(biāo)準(zhǔn),除了增強(qiáng)網(wǎng)絡(luò)適應(yīng)能力外,,大幅度提高了壓縮編碼效率,在相同的碼率下能夠獲得更高的主客觀質(zhì)量,。

碼分多址無(wú)線(xiàn)網(wǎng)絡(luò)具有覆蓋面廣,、高效、低成本的特點(diǎn),。碼分多址網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率可達(dá)150 kb/s,。這里開(kāi)發(fā)的嵌入式無(wú)線(xiàn)視頻定位監(jiān)控系統(tǒng)就是充分利用了H.264視頻壓縮技術(shù)碼分多址無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)和嵌人式系統(tǒng)的特點(diǎn)而搭建的數(shù)據(jù)傳輸系統(tǒng)。

本文提出了一種采用海思公司的Hi3510系統(tǒng)的設(shè)計(jì)方案,,分別對(duì)系統(tǒng)軟硬件的設(shè)計(jì)進(jìn)行了詳細(xì)討論,,完成視頻信號(hào)的采集,、壓縮及傳輸功能。

2 系統(tǒng)架構(gòu)

該系統(tǒng)由無(wú)線(xiàn)或有線(xiàn)互聯(lián)網(wǎng)監(jiān)控用戶(hù),、中心服務(wù)器,、嵌入式監(jiān)控終端組成,系統(tǒng)架構(gòu),,如圖1所示,。無(wú)線(xiàn)終端用戶(hù)或者有線(xiàn)互聯(lián)網(wǎng)用戶(hù)向中心服務(wù)器發(fā)送用戶(hù)請(qǐng)求命令,先通過(guò)碼分多址網(wǎng)關(guān)接入Internet,,然后到達(dá)中心服務(wù)器,。中心服務(wù)器收到用戶(hù)命令后進(jìn)行命令解析,再通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)向監(jiān)控終端發(fā)送控制命令,,監(jiān)控終端收到中心端的監(jiān)控任務(wù)之后,,就通過(guò)圖像采集模塊拍攝現(xiàn)場(chǎng)圖像,并將經(jīng)過(guò)H.264壓縮編碼后的圖像數(shù)據(jù)按照RTP通信協(xié)議,,經(jīng)由碼分多址模塊發(fā)送回中心服務(wù)器,。對(duì)于無(wú)線(xiàn)用戶(hù),中心服務(wù)器再通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)向用戶(hù)發(fā)送監(jiān)控視頻或圖片,,而對(duì)于互聯(lián)網(wǎng)用戶(hù)中心服務(wù)器則直接通過(guò) Internet向網(wǎng)絡(luò)用戶(hù)提供視頻或圖片監(jiān)控,。中心服務(wù)器首先需要處理在數(shù)據(jù)傳輸過(guò)程中出現(xiàn)的數(shù)據(jù)包錯(cuò)序、校驗(yàn)出錯(cuò),、丟包,、重包等現(xiàn)象,即在通訊協(xié)議中增加請(qǐng)求丟包重發(fā)機(jī)制和超時(shí)機(jī)制,;其次,,中心服務(wù)器還要監(jiān)控碼分多址傳輸數(shù)據(jù)質(zhì)量,并進(jìn)行反饋,,由此來(lái)控制碼分多址在不同信號(hào)質(zhì)量下發(fā)送數(shù)據(jù)的速度,;最后,服務(wù)器還要為用戶(hù)提供監(jiān)控系統(tǒng)的Web瀏覽,、視頻數(shù)據(jù)的硬盤(pán)存儲(chǔ),、下載等功能。系統(tǒng)采用雙C/S架構(gòu),,具有非常好的擴(kuò)容性,,多個(gè)監(jiān)控終端安裝在不同的地點(diǎn),就能夠?qū)崿F(xiàn)對(duì)不同目標(biāo)的實(shí)時(shí)監(jiān)控,。

20.jpg
圖1. 監(jiān)控系統(tǒng)構(gòu)架圖

3 監(jiān)控終端設(shè)計(jì)

監(jiān)控端系統(tǒng)基于華為海思公司的高性能通信媒體處理器碼分多址搭建,。Hi3510是一款基于ARM9、DSP雙處理器內(nèi)核以及硬件加速引擎的高集成、可編程,、支持MPEG-4 AVC/H.264協(xié)議的高性能通信媒體處理器,。圍繞Hi3510分別搭建相應(yīng)的硬件和軟件環(huán)境,就可以很方便的實(shí)現(xiàn)監(jiān)控終端的設(shè)計(jì),。

3.1 監(jiān)控終端硬件設(shè)計(jì)

要能夠正確運(yùn)行一個(gè)系統(tǒng),,硬件方面至少應(yīng)該包括CPU、內(nèi)存和固態(tài)存儲(chǔ)器,、系統(tǒng)內(nèi)部總線(xiàn)以及外設(shè)接口,,Hi3510處理器系統(tǒng)很好滿(mǎn)足了這些條件。具體硬件系統(tǒng)結(jié)構(gòu)見(jiàn)圖2,。

21.jpg
圖2. Hi3510處理器機(jī)構(gòu)圖

Hi3510使用ARM926EJ-S內(nèi)核,,哈佛結(jié)構(gòu)的32位RISC處理器,其內(nèi)內(nèi)置MMU,,主頻可達(dá)到 240MHz,,可以很好得運(yùn)行嵌人式Linux2.6,不但保持了嵌人式系統(tǒng)小型化,、低功耗,、易攜帶的特點(diǎn),又充分利用了Linux系統(tǒng)完整的內(nèi)存,、文件,、線(xiàn)程管理功能,大大方便了程序的開(kāi)發(fā)和程序中多任務(wù)功能的實(shí)現(xiàn),。

H.264是面向無(wú)線(xiàn)網(wǎng)絡(luò)和因特網(wǎng)的視頻圖像編碼與傳輸技術(shù).與其相關(guān)的各種研究已成為當(dāng)今信息科學(xué)與技術(shù)的前沿課題,。 H.264具有高壓縮比,良好的網(wǎng)絡(luò)適應(yīng)性,,一定的魯棒性等優(yōu)異性能,,但其計(jì)算量過(guò)高,編碼時(shí)間過(guò)長(zhǎng),,限制了它的廣泛應(yīng)用,。Hi3510芯片是具有 H.264硬件編碼SOC芯片―― Hi3510采用ARM9+DSP+硬件引擎方式,方便地提供了H.264壓縮視頻流,,而且可以獲得很好壓縮比,。

碼分多址通訊模塊采用深圳倚天科技公司的ETPro-309 AI CDMA Modem,其內(nèi)置SIM卡,,其內(nèi)部核心芯片是Qualcomm MSM6025,。該模塊包含基于碼分多址業(yè)務(wù)標(biāo)準(zhǔn)IS95和IS2000的調(diào)制解調(diào)系統(tǒng),而且?guī)?nèi)置TCP/IP協(xié)議棧,,可利用AT命令直接與其通信。碼分多址模塊與核心處理器之間使用UART進(jìn)行連接。

Hi3510支持ITU-R BT.656/601視頻輸入接口,,攝像機(jī)接口接受ITU標(biāo)準(zhǔn)的圖像數(shù)據(jù),,不能直接接收CCD攝像機(jī)輸出的模擬視頻信號(hào),因此我們只需要再加一片SAA7114視頻解碼芯片,,就可以完成硬件系統(tǒng)的搭建,。

3.2 監(jiān)控終端軟件設(shè)計(jì)

控制終端軟件的核心是嵌入式Linux操作系統(tǒng),所有功能的實(shí)現(xiàn)都基于Linux操作系統(tǒng)來(lái)完成。主要包括三個(gè)層次,,最底層是BootLoader服務(wù)程序和基本外設(shè)驅(qū)動(dòng),,它主要完成系統(tǒng)加載和ARM核心處理器的初始化配置,第二層主要是攝像頭模塊和碼分多址模塊的驅(qū)動(dòng)程序,,最后一層是系統(tǒng)的應(yīng)用程序,。

由于Linux內(nèi)核采用模塊化的設(shè)計(jì)。很多模塊可以獨(dú)立地加載或卸載,,所以小型化就是對(duì)Linux內(nèi)核重新編譯,,在編譯時(shí)仔細(xì)地選擇嵌入式設(shè)備所需要的功能模塊,同時(shí)刪除不需要的功能,。這里只需要串口驅(qū)動(dòng),、SAA7114視頻解碼芯片驅(qū)動(dòng),還有撥號(hào)網(wǎng)絡(luò)應(yīng)用,,還要支持 PPP,、TCP/IP網(wǎng)絡(luò)協(xié)議,其他都可以刪除掉,,使系統(tǒng)運(yùn)行所需要的內(nèi)核顯著減小至l Mb以?xún)?nèi),。碼分多址撥號(hào)通過(guò)運(yùn)行PPP程序進(jìn)行。在Linux下的PPP包是專(zhuān)門(mén)為解決Modem撥號(hào)上網(wǎng)問(wèn)題而編寫(xiě)的,,并且是公開(kāi)源代碼的,。PPP撥號(hào)腳本程序主要通過(guò)調(diào)用pppd和chat這兩個(gè)應(yīng)用程序,并通過(guò)AT指令實(shí)現(xiàn)對(duì)Modem的操作,。

應(yīng)用程序主要是監(jiān)聽(tīng)用戶(hù)命令,,收到命令后調(diào)用攝像頭模塊采集圖像,然后再使用碼分多址模塊來(lái)發(fā)送圖像數(shù)據(jù),。終端一旦初始化后,,就與中心服務(wù)器建立TCP連接,在運(yùn)行過(guò)程中終端跟中心服務(wù)器保持TCP連接,,中心服務(wù)器可隨時(shí)主動(dòng)地請(qǐng)求圖像數(shù)據(jù),,因此,對(duì)于對(duì)交互性和實(shí)時(shí)性有較高要求的應(yīng)用系統(tǒng)可實(shí)現(xiàn)較好的響應(yīng),。監(jiān)控終端軟件流程如圖3所示,。

22.jpg
圖3. 監(jiān)控終端軟件流程圖

4 基于RTP的H.264視頻流傳輸控制

由于H.264具有前面所指出的多種優(yōu)點(diǎn),,本系統(tǒng)設(shè)計(jì)了基于RTP的H.264視頻流傳輸控制。RTP協(xié)議對(duì)實(shí)時(shí)數(shù)據(jù)傳輸?shù)闹С职〞r(shí)間戳,、序列號(hào),、荷載類(lèi)型標(biāo)識(shí)和源標(biāo)識(shí)等,時(shí)間戳反映了RTP數(shù)據(jù)幀中第一字節(jié)數(shù)據(jù)的采樣時(shí)間,,采樣時(shí)間是線(xiàn)性單調(diào)增長(zhǎng)的,。接收方根據(jù)收到數(shù)據(jù)幀的時(shí)間戳來(lái)重建接收數(shù)據(jù)的時(shí)序關(guān)系,以便正確回放媒體流,。序列號(hào)用于數(shù)據(jù)傳送的丟失檢測(cè)和幀序重構(gòu),;荷載類(lèi)型標(biāo)識(shí)則指明RTP幀數(shù)據(jù)荷載的編碼格式;源標(biāo)識(shí)用于指示接收方式所接收數(shù)據(jù)的來(lái)源,。以上功能均通過(guò)RTP的幀頭來(lái)實(shí)現(xiàn),。

RTP 數(shù)據(jù)協(xié)議運(yùn)行在面向數(shù)據(jù)報(bào)的UDP 之上,它只能提供無(wú)連接的不可靠服務(wù),,幀丟失或出錯(cuò)都會(huì)降低圖像或聲音的質(zhì)量,。RTCP控制協(xié)議需要與RTP數(shù)據(jù)協(xié)議一起配合使用,RTP本身并不能為按序傳輸數(shù)據(jù)包提供可靠的保證,,也不提供流量控制和擁塞控制,,這些都由RTCP來(lái)負(fù)責(zé)完成。

H.264視頻流分別裝上RTP報(bào)頭,、UDP報(bào)頭和IP報(bào)頭,,然后IP數(shù)據(jù)包通過(guò)Internet傳送到接收端。接收端收到IP數(shù)據(jù)包后按相反的順序?qū)?RTP報(bào)頭和視頻流數(shù)據(jù)提取出來(lái),,根據(jù)RTP報(bào)頭中的序列號(hào)和將視頻流數(shù)據(jù)放人接收端緩存供解碼器解碼輸出,。RTP反饋控制主要通過(guò)RTCP的接收方報(bào)告來(lái)完成,通過(guò)提取RTCP中接收方報(bào)告SR的反饋信息估計(jì)網(wǎng)絡(luò)的可用帶寬,,再根據(jù)可用帶寬動(dòng)態(tài)調(diào)整編碼的參數(shù),,使RTP發(fā)送碼率小于網(wǎng)絡(luò)的可用帶寬,從而保證傳輸?shù)目煽啃?。[3]

23.jpg
圖4. RTP傳輸反饋控制模型

5 中心端設(shè)計(jì)

服務(wù)器端軟件實(shí)現(xiàn)的主要功能是接收,、H.264軟件解碼嵌入式終端發(fā)送過(guò)來(lái)的監(jiān)控?cái)?shù)據(jù),并將得到的圖像保存和傳輸給終端用戶(hù),??刂浦行闹鳈C(jī)通過(guò)寬帶上網(wǎng)方式登錄到Internet上,必須申請(qǐng)一個(gè)靜態(tài)IP地址,。主機(jī)登錄Internet后,,即可運(yùn)行服務(wù)器端軟件。服務(wù)器端程序設(shè)計(jì)主要包括網(wǎng)絡(luò)通信,、接收數(shù)據(jù),、H.264軟件解碼,、保存圖像、即時(shí)重顯圖像,。整個(gè)過(guò)程屬于軟件系統(tǒng)開(kāi)發(fā),,本文不再詳細(xì)討論。

6 結(jié)束語(yǔ)

該設(shè)計(jì)是在城市或遠(yuǎn)程移動(dòng)設(shè)備所需監(jiān)控的應(yīng)用背景下提出的,,如城市武警車(chē)輛,本系統(tǒng)的應(yīng)用會(huì)為預(yù)警指揮提供保證,。本文作者創(chuàng)新點(diǎn):設(shè)計(jì)提出了結(jié)合嵌入式技術(shù),、視頻壓縮編碼技術(shù)、無(wú)線(xiàn)通訊技術(shù),、網(wǎng)絡(luò)技術(shù),、監(jiān)控技術(shù)等多項(xiàng)技術(shù)無(wú)線(xiàn)視頻監(jiān)控系統(tǒng),采用嵌入式技術(shù)和Linux實(shí)時(shí)多任務(wù)操作系統(tǒng),,基于碼分多址無(wú)線(xiàn)數(shù)據(jù)傳送,、H.264視屏壓縮、RTP實(shí)時(shí)傳輸控制,,使系統(tǒng)有極高的實(shí)用價(jià)值,。

參考文獻(xiàn)
[1]孫宏偉,基于S3C2440遠(yuǎn)程圖像無(wú)線(xiàn)監(jiān)控系統(tǒng)的設(shè)計(jì), 微計(jì)算機(jī)信息, 2006, 4-2,;90-92,。
[2]華為海思半導(dǎo)體有限公司,Hi3510 媒體處理軟件開(kāi)發(fā)指南,,2006
[3]陶桂東,,基于RTP協(xié)議H.264視頻流傳輸QoS保證的研究,裝甲兵工程學(xué)院學(xué)報(bào),,2006,,20卷

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。