1 引言 在銀行、學(xué)校、企事業(yè)等公共場所的安全監(jiān)控中需要大量視頻監(jiān)控系統(tǒng)。隨著圖像處理技術(shù)的發(fā)展和計算機(jī)網(wǎng)絡(luò)的普及,視頻監(jiān)控系統(tǒng)已經(jīng)進(jìn)入數(shù)字化、網(wǎng)絡(luò)化時代。因此,使用嵌入式技術(shù),開發(fā)基于以太網(wǎng)的視頻監(jiān)控系統(tǒng)具有重要的現(xiàn)實意義。 目前的視頻監(jiān)控系統(tǒng)普遍采用專用的視頻編解碼芯片,很難適應(yīng)不斷完善的視頻壓縮算法,不易于升級更新,且成本較高。而且大多數(shù)采用MPEG-4 壓縮標(biāo)準(zhǔn),壓縮率較低,對帶寬的要求高。 本文研制了一種基于以太網(wǎng)的視頻監(jiān)控系統(tǒng)。采用TI 公司的32 位定點DSPTMS320DM642 為核心處理器,以H.264 為視頻壓縮算法,采用流媒體實時傳輸協(xié)議進(jìn)行視頻傳輸。TMS320DM642(以下簡稱DM642)是一款面向數(shù)字多媒體應(yīng)用的高性能DSP,片內(nèi)集成了視頻和網(wǎng)絡(luò)外設(shè)接口,減少了視頻監(jiān)控終端的成本和開發(fā)難度。H.264 是新一代視頻壓縮標(biāo)準(zhǔn),在同等的圖像質(zhì)量條件下,H.264 的壓縮率比MPEG-4 高1.5-2 倍,并且引入了面向IP 包的編碼機(jī)制,能夠增強(qiáng)網(wǎng)絡(luò)適應(yīng)能力[1]。用軟件實現(xiàn)視頻壓縮算法,比傳統(tǒng)的專用視頻編解碼芯片靈活性強(qiáng),易于升級更新,且開發(fā)周期短。 2 視頻監(jiān)控系統(tǒng)的設(shè)計方案 視頻監(jiān)控系統(tǒng)是由核心處理器DM642,視頻采集、顯示模塊,網(wǎng)絡(luò)接口模塊和本地存儲模塊組成,如圖1所示。 圖1 視頻監(jiān)控系統(tǒng)框圖 DM642 作為核心處理器,完成圖像的H.264 壓縮、視頻壓縮數(shù)據(jù)的網(wǎng)絡(luò)傳輸、本地存儲和系統(tǒng)流程的控制。DM642 是一款高性能多媒體處理器,在600MHz 的時鐘頻率下,處理速度可達(dá)4800MIPS。內(nèi)部具有256k 字節(jié)的二級緩存結(jié)構(gòu),64 位的外部存儲器接口(EMIF)。可以實時實現(xiàn)多路視頻編碼運算,非常適于開發(fā)基于以太網(wǎng)的視頻監(jiān)控系統(tǒng)[2]。在本系統(tǒng)中,實現(xiàn)了4 通路的視頻輸入接口與1 個通路的視頻輸出接口。攝像頭采集到的模擬視頻信號先送入視頻解碼器(TVP5150),視頻解碼器將采集到的PAL/NTSC 制式的標(biāo)準(zhǔn)模擬視頻信號轉(zhuǎn)換成BT.656 視頻數(shù)據(jù)流,傳送給DM642,DM642 對接收的數(shù)字信號進(jìn)行壓縮編碼,將壓縮處理后的數(shù)字視頻信號打包,通過以太網(wǎng)將視頻數(shù)據(jù)傳給遠(yuǎn)端服務(wù)器,用戶可以通過流媒體服務(wù)器遠(yuǎn)程監(jiān)控現(xiàn)場狀況。考慮到視頻預(yù)覽和測試的需要,本系統(tǒng)設(shè)計了1 路的視頻顯示,將經(jīng)DM642 壓縮處理的數(shù)字視頻流送入視頻編碼器(SAA7121),轉(zhuǎn)換為標(biāo)準(zhǔn)模擬視頻信號,直接輸出到本地的LCD 顯示器上。 DSP 內(nèi)部有程序/數(shù)據(jù)緩存,但容量較小,對于直接處理數(shù)據(jù)圖像是不夠的, 因此擴(kuò)展了本地存儲模塊作為外部存儲器空間。大容量的SDRAM 用來暫存原始幀、參考幀和重建幀的數(shù)據(jù),F(xiàn)LASH 用來存放應(yīng)用程序,ATA 硬盤用來錄制視頻圖像。 3 系統(tǒng)的硬件設(shè)計 3.1 視頻采集、顯示模塊 視頻采集、顯示模塊主要由攝像頭,視頻解碼芯片TVP5150,視頻編碼芯片SAA7121,LCD 顯示器組成,如圖2 所示。DM642 內(nèi)部集成了3 個視頻端口VP[2:0],提供了與通用A/D 轉(zhuǎn)換芯片的無縫接口,因而不需要外加可編程邏輯器件和FIFO 就可以滿足系統(tǒng)設(shè)計的要求。每個視頻口被分為上(B)、下(A)2 個通道,可被配置為視頻輸入口或輸出口,所以最多可支持6 路8位BT.656 數(shù)字視頻接口。在本系統(tǒng)中,用其中4 路(VP0A、VP1A、VP2A、VP2B)來作為視頻輸入端口,與4 個視頻解碼器TVP5150 相連,采集從TVP5150 輸出的8 位BT.656格式的數(shù)字視頻數(shù)據(jù)。 圖2 視頻采集模塊框圖 TVP5150 是一款高性能視頻解碼器,可將NTSC、PAL 視頻信號轉(zhuǎn)換成數(shù)字色差信號(YUV4:2:2),可以接受2 路復(fù)合視頻信號(CVBS)輸入和1 路超級視頻信號(S-Video =Super-Video,Y/C)輸入,輸出格式為 ITU-R BT.656。DM642 通過IIC 總線控制TVP5150的內(nèi)部寄存器,在本系統(tǒng)中,TVP5150 的IIC 總線數(shù)據(jù)傳送速率配置為100Kbits/s。來自攝像頭的視頻信號送入視頻解碼器 TVP5150 進(jìn)行數(shù)字化處理,經(jīng)TVP5150 處理后的數(shù)字視頻信號送入DSP 的視頻端口,視頻端口與TVP5150 接口處具有一個大小為2560字節(jié)的內(nèi)部FIFO,其中1280 字節(jié)存放亮度數(shù)據(jù),剩下的1280 字節(jié)存放色度數(shù)據(jù)。依據(jù)視頻端口的內(nèi)部邏輯,TVP5150 輸出的亮度和色度數(shù)據(jù)被存儲到相應(yīng)的FIFO 中。在視頻采集過程中,根據(jù)視頻端口內(nèi)部FIFO 的狀態(tài),使用EDMA 完成視頻數(shù)據(jù)的讀取,傳入本地存儲器,以供視頻應(yīng)用程序使用。 系統(tǒng)的 1 路視頻顯示用于本地監(jiān)控。這1 路視頻輸出與其中1 路視頻輸入復(fù)用VP0A通道。視頻編碼器采用Phillips 公司的SAA7121H,將DM642 處理后的8 位BT.656 視頻數(shù)據(jù)流轉(zhuǎn)換成標(biāo)準(zhǔn)的模擬視頻信號,輸出給LCD 顯示器。 3.2 網(wǎng)絡(luò)接口模塊 網(wǎng)絡(luò)接口模塊主要由網(wǎng)絡(luò)處理芯片 BCM5221,網(wǎng)絡(luò)變壓器BH1102 組成,如圖3 所示。 圖3 網(wǎng)絡(luò)接口模塊框圖 由于 DM642 上集成了以太網(wǎng)MAC 接口,所以需要一個物理層網(wǎng)絡(luò)處理芯片,本系統(tǒng)采用Broadcom 公司的BCM5221 芯片。BCM5221 是10/100Base-TX 以太網(wǎng)控制器,兼容IEEE802.3 標(biāo)準(zhǔn),提供MII 接口,可與DM642 的MII 接口對接。BH1102 是Pulse 公司的1:1 隔離變壓器,主要作用是阻抗匹配、波形修復(fù)、雜波抑制、信號傳輸以及高電壓隔離。從DM642 傳輸來的數(shù)據(jù)經(jīng)BCM5221 轉(zhuǎn)換為以太網(wǎng)物理層能接收的數(shù)據(jù)后,經(jīng)由網(wǎng)絡(luò)變壓器,通過RJ-45 接口傳輸?shù)揭蕴W(wǎng)。 4 系統(tǒng)的軟件設(shè)計 4.1 系統(tǒng)軟件流程 系統(tǒng)的軟件流程如圖 4 所示。在進(jìn)入任務(wù)調(diào)度之前,首先進(jìn)行以下四個步驟的初始化:(1)DM642 處理器和系統(tǒng)板的初始化:初始化DSP/BIOS 操作系統(tǒng)和芯片支持庫(CSL),設(shè)置使用128K 的二級高速緩存,映射到EMIF 的CE0 和CE1 空間,設(shè)置DMA 優(yōu)先級序列長度取最大值,設(shè)置二級高速緩存的請求優(yōu)先級最高。(2)RF-5 模塊的初始化:初始化RF-5 框架中用于內(nèi)部單元通信和消息傳遞的SCOM 模塊。(3)配置視頻采集驅(qū)動并建立一個視頻采集通道。(4)建立一個編碼單元并向RF-5 框架注冊。 圖4 系統(tǒng)軟件流程圖 初始化后,DSP/BIOS 操作系統(tǒng)開始依次對視頻采集任務(wù),圖像壓縮任務(wù)和編碼傳輸任務(wù)進(jìn)行調(diào)度,這3 個任務(wù)的優(yōu)先級相同,但高于空閑任務(wù)的優(yōu)先級。模塊中各任務(wù)之間的消息傳遞是通過RF-5 參考框架中同步通信SCOM 消息來完成的。在視頻采集任務(wù)中,主要操作是循環(huán)采集一幀圖像,發(fā)送消息給圖像壓縮任務(wù)并等待傳輸完成消息;在圖像壓縮任務(wù)中,主要操作是循環(huán)等待視頻采集任務(wù)發(fā)來的采集完成消息,然后調(diào)用H.264 編碼模塊壓縮圖像,當(dāng)H.264 碼流形成,發(fā)送編碼完成消息給碼流傳輸任務(wù);在碼流傳輸任務(wù)中進(jìn)行的操作也是在不斷循環(huán)等待編碼任務(wù)信號,使用TCP/IP 協(xié)議傳輸H.264 碼流,再發(fā)送傳輸完成消息給編碼任務(wù)。三個任務(wù)互相協(xié)作,完成圖像的采集、壓縮、傳輸功能。 4.2 H.264 壓縮算法 H.264 壓縮算法的突出特點在于基于宏塊層率失真優(yōu)化理論,用小尺寸、多模式預(yù)測提高空域和時域壓縮率,用整數(shù)變換量化提高頻域壓縮率,用增強(qiáng)的熵編碼高效壓縮符號冗余,從而達(dá)到在各種開放環(huán)境下高壓縮率的設(shè)計目標(biāo)[3]。由于H.264 算法較為復(fù)雜,在本設(shè)計中,結(jié)合DM642 芯片的體系結(jié)構(gòu),對H.264 編碼程序進(jìn)行規(guī)劃。采用C 語言和匯編語言混合編程,對一些關(guān)鍵耗時模塊采用線性匯編語言編寫,以提高代碼效率。 H.264 編碼時需要進(jìn)行運動估計和運動補償,在數(shù)據(jù)存儲器中通常保存一幀原始圖像和至少一幀預(yù)測圖像,因此編碼時首先要確定輸入的一幀圖像編碼是I 幀還是P 幀,然后采用小幀模式,對圖像進(jìn)行片組劃分和片劃分,以確定每個宏塊所屬的片。劃分完后,先編碼一個片頭,再對每個宏塊進(jìn)行編碼,直到編寫完所有的片。宏塊編碼完成后,對重建圖像進(jìn)行1/4 像素精度插值處理、參考幀緩沖區(qū)處理等工作,用于下一幀的高精度的運動估計,至此,編碼一幀的工作完成。 4.3 網(wǎng)絡(luò)協(xié)議的選擇 由于視頻監(jiān)控系統(tǒng)對圖像數(shù)據(jù)的實時性要求較高,同時又允許在性能要求范圍內(nèi)存在數(shù)據(jù)錯誤率和丟失率。因此,本系統(tǒng)的傳輸層協(xié)議選用UDP 協(xié)議。UDP 協(xié)議是無連接的傳輸協(xié)議,不提供可靠性措施,不必在數(shù)據(jù)報丟失或出錯時要求服務(wù)器再重發(fā),適合于實時性要求高的數(shù)據(jù)傳輸場合。 但是由于 UDP 存在不可靠性,基于UDP 的應(yīng)用程序,必須自己解決諸如報文丟失、重復(fù)、失序和流量控制等問題。因此,在UDP 協(xié)議之上,還必須使用流媒體實時傳輸協(xié)議RTP。RTP 協(xié)議提供實時的、端到端的數(shù)據(jù)傳送服務(wù)。采用RTP 協(xié)議對視頻數(shù)據(jù)進(jìn)行封裝,即使在某些包被丟失的情況下也能對其他包進(jìn)行解碼。RTP 與實時傳輸控制協(xié)議RTCP 一起配合使用。RTCP 用于監(jiān)視網(wǎng)絡(luò)的服務(wù)質(zhì)量和數(shù)據(jù)接收雙方的信息傳遞,提供關(guān)于數(shù)據(jù)傳輸質(zhì)量的反饋,該功能與其他傳輸協(xié)議的流量控制和擁塞控制機(jī)制相對應(yīng)[4]。 由多媒體應(yīng)用程序生成的視頻數(shù)據(jù)塊被封裝在 RTP 信息包中,每個RTP 信息包在傳輸層被封裝在UDP 消息段中,然后被封裝在IP 數(shù)據(jù)包中。在進(jìn)行軟件設(shè)計時,把RTP 執(zhí)行程序看成是應(yīng)用程序的一部分。在發(fā)送端,應(yīng)用程序把RTP 信息包發(fā)送到UDP 的套接接口(socket interface)。同樣,在接收端,應(yīng)用程序從套接接口處接收RTP 信息包,并從RTP 信息包中取出視頻數(shù)據(jù)塊。 5 結(jié)束語 對本視頻監(jiān)控系統(tǒng)在以太網(wǎng)上進(jìn)行實驗。本監(jiān)控系統(tǒng)使用C/S 模式,在服務(wù)器端主機(jī)上安裝一個VC++開發(fā)的流媒體播放器,可以同時接收4 路視頻數(shù)據(jù)流。運行結(jié)果表明,本文研制的基于以太網(wǎng)的視頻監(jiān)控系統(tǒng)可以較好地進(jìn)行視頻圖像壓縮,并能將壓縮后的視頻數(shù)據(jù)通過以太網(wǎng)進(jìn)行實時傳輸。服務(wù)器端解碼恢復(fù)后的視頻圖像清晰、流暢、沒有抖動現(xiàn)象,效果良好,能夠滿足實時監(jiān)控的要求。本視頻監(jiān)控系統(tǒng)可廣泛應(yīng)用于工業(yè)控制、公共場所等視頻監(jiān)控領(lǐng)域,具有廣泛的應(yīng)用前景。 |