視覺監(jiān)控系統(tǒng)的發(fā)展經(jīng)歷了從專線監(jiān)控到現(xiàn)在的開始利用計算機網(wǎng)絡(luò)進行監(jiān)控,這是一個很大的飛躍。
傳統(tǒng)的專線布局限制了傳輸?shù)木嚯x,而通過網(wǎng)絡(luò)進行監(jiān)控。彌補了傳統(tǒng)監(jiān)控系統(tǒng)的不足。TI公司推出的DM642是一款針對數(shù)字視頻應(yīng)用的DSP(Digital Signal Processor,數(shù)字信號處理器)芯片。該芯片具有支持網(wǎng)絡(luò)功能的10/100Mb/s自適應(yīng)以太網(wǎng)MAC(Ethernet MediaAccessControl,EMAC),國內(nèi)基于該芯片成熟的網(wǎng)絡(luò)視覺監(jiān)控終端產(chǎn)品不多,因此對基于該芯片的網(wǎng)絡(luò)視覺監(jiān)控系統(tǒng)進行研究具有較高的實際應(yīng)用價值。本文詳細分析和研究了基于DM642的網(wǎng)絡(luò)視覺監(jiān)控系統(tǒng),并在DM642開發(fā)評估板(EVM)上實現(xiàn)了JPEG實時視頻的壓縮編碼、解碼以及網(wǎng)絡(luò)傳輸功能。
1 網(wǎng)絡(luò)視覺監(jiān)控系統(tǒng)的組成結(jié)構(gòu)
1.1 總體結(jié)構(gòu)
該網(wǎng)絡(luò)視覺監(jiān)控系統(tǒng)的硬件總體結(jié)構(gòu)如圖1所示。
圖1中,視頻采集設(shè)備選用Sony公司的EVI-100P型CCD攝像機。視頻編碼、解碼芯片采用Philips公司的SAA7105和SAA7115H。SDRAM使用的是Hynix公司容量為128MB的兩片HY57V283220T系列芯片。FLASH選用AMD公司的AM29LV系列芯片,容量為8MB。以太網(wǎng)PHY(物理層)控制器為Intel公司的LXT971。RJ-45是一個以太網(wǎng)連接器。核心處理芯片是TI公司的DM642,他豐富的外圍接口和完全可編程性,使得他在數(shù)字視頻處理領(lǐng)域具備了廣泛應(yīng)用的條件。
DM642的視頻端門通過視頻解碼芯片SAA7115H能方便地實現(xiàn)和CCD攝像機的無縫連接。CCD攝像機輸出的模擬視頻信號經(jīng)SAA7115H模數(shù)轉(zhuǎn)換后,形成BT.656格式的數(shù)字視頻信號,從DM642的視頻端口0輸入;在DM642中,視頻數(shù)據(jù)經(jīng)JPEG陶像壓縮算法壓縮處理,編碼壓縮生成的視頻碼流數(shù)據(jù),經(jīng)DM642芯片EMAC的MII接口到片外PHY(LXT971)芯片后,通過RJ-45口經(jīng)以太網(wǎng)傳送到目的地的PC機網(wǎng)卡接口,通過PC機的IE瀏覽器接收視頻數(shù)據(jù),完成網(wǎng)絡(luò)視覺監(jiān)控和通信。在網(wǎng)絡(luò)傳輸?shù)耐瑫r,視頻信號可由視頻端口2經(jīng)視頻編碼芯片SAA7105數(shù)模轉(zhuǎn)換后輸出PAL制式模擬視頻信號到監(jiān)視器進行本地回顯。通過DM642的EMIF接口,連接SDRAM和FLASH存儲器。
SDRAM擴展了系統(tǒng)的可用存儲空間,系統(tǒng)的初始化代碼和配置信息則存儲在FLASH中。
1.2 視頻采集接口電路
從模擬視頻輸入口輸入的模擬視頻信號在SAA7115H內(nèi)部經(jīng)過鉗位、抗混疊濾波、A/D轉(zhuǎn)換、YUV分離電路之后,轉(zhuǎn)換成BT.656視頻數(shù)據(jù)流,輸入到壓縮核心單元DM642中進行視頻數(shù)據(jù)的壓縮處理。DM642的3個視頻口,VP0,VP1,VP2與視頻編解碼芯片相接。在本系統(tǒng)中,只有一路視頻輸入和一路視頻輸出,故VP1端口未用,VP0通道配置為8位BT.656視頻輸人口。視頻數(shù)據(jù)的行/場同步信號包含往BT.656數(shù)字視頻數(shù)據(jù)流的EAV(End of Active Video)和SAV(Start of ActiveVideo)時基信號中,視頻口只需視頻采樣時鐘和采樣使能信號即可。SAA7115H內(nèi)部寄存器參數(shù)的配置和狀態(tài)的讀出通過I2C總線進行。視頻采集接口的電路如圖2所示。
1.3 網(wǎng)絡(luò)接口電路
DM642的以太網(wǎng)控制器(EMAC)屬于OSI七層模型的數(shù)據(jù)鏈路層,只有接上物理芯片(以太網(wǎng)收發(fā)器)才能進行網(wǎng)絡(luò)迎信。本系統(tǒng)采用Intel公司的LXT971作為快速以太網(wǎng)物理層自適應(yīng)收發(fā)器,即可實現(xiàn)10/100 Mb/s以太網(wǎng)接口。由于LXT971支持IEEE802.3標準,提供MII(Media IndependentInterface)接口,可以支持MAC,而DM642內(nèi)部網(wǎng)絡(luò)功能模塊正好集成有EMAC,所以LXT971可以和DM642實現(xiàn)無縫接口。從DM642傳輸過來的數(shù)據(jù)通過LXT971轉(zhuǎn)換為以太網(wǎng)物理層接收的數(shù)據(jù)后,迎過RJ-45接頭傳輸?shù)骄W(wǎng)絡(luò)。網(wǎng)絡(luò)接口電路如圖3所示。其中T1是一個1:1的隔離變壓器。
1.4 DM642的網(wǎng)絡(luò)功能模塊
DM642的網(wǎng)絡(luò)功能由3個主要功能模塊組成:EMAC控制模塊、EMAC模塊、MDIO模塊。EMAC控制模塊是DSP核與EMAC模塊和MDIO模塊之間的接口,他控制網(wǎng)絡(luò)模塊的復位、中斷和仔儲器接口的優(yōu)先權(quán)。EMAC模塊提供DSP核與網(wǎng)絡(luò)之間的高效接口,支持10Mb/s或100 Mb/s模式。MDIO模塊通過雙總線,采用滿足802.3規(guī)范的串行接口控制器對以太網(wǎng)的物理層逃行監(jiān)視和控制。
2 JPEG圖像壓縮算法
JPEG是靜態(tài)圖像的壓縮編碼標準,和相同圖像質(zhì)量的其他常用文件格式相比,JPEG是目前靜態(tài)圖像中壓縮比最高的。正是由于JPEG的高壓縮比,使得他廣泛地應(yīng)用于多媒體和網(wǎng)絡(luò)程序中。JPEG另外一個優(yōu)秀特征是壓縮比可調(diào),可以根據(jù)設(shè)計者的實際需要選擇合適的壓縮比。
JPEG有幾種模式,本系統(tǒng)所用的是基于DCT(離散余弦變換)變換的的順序型模式,又稱為基線系統(tǒng)(Baseline)。其算法描述如下:8×8的圖像經(jīng)過DCT變換后,其低頻分量都集中在左上角,高頻分量分布在右下角(DCT變換實際上是空間域的低通濾波器)。由于該低頻分量包含了圖像的主要信息(如亮度),而高頻與之相比,就不那么重要了,所以可以忽略高頻分量,從而達到壓縮的目的。如何將高頻分量去掉,就需要對DCT系數(shù)作量化處理。量化的作用是在保持一定質(zhì)量的前提下,丟失圖像中對視覺效果影響不大的信息。為了進一步提高壓縮比,需要對其再進行熵編碼,當熵編碼過程結(jié)束后,就完成了圖像數(shù)據(jù)的壓縮編碼,輸出壓縮后的圖像數(shù)據(jù)。圖像解碼的過程和編碼相反,是編碼的逆過程。
3 系統(tǒng)軟件設(shè)計
3.1 DM642數(shù)據(jù)流程分析
數(shù)據(jù)流程框圖如圖 4所示。
SAA7115H提供的一幀圖像被采集到輸入緩存,由YUV 4:2:2格式進行色差信號最采樣變?yōu)閅UV 4:2:0格式。然后,通過SCOM序列,圖像被發(fā)送到處理任務(wù)模塊。在處理任務(wù)模塊,JPEG編碼庫程序產(chǎn)生定制壓縮質(zhì)量的JPEG圖像。通過一個SCOM序列,生成的圖像被發(fā)送到網(wǎng)絡(luò)任務(wù)模塊。同時,JPEG文件被發(fā)送到JPEG解碼器,解碼器產(chǎn)生一個YUV4:2:0的圖像。該圖像通過SCOM序列發(fā)送的到輸出任務(wù)模塊。輸出任務(wù)模塊轉(zhuǎn)換YUV 4:2:0格式的圖像成YUV4:2:2格式的圖像送SAA7105并顯示。
3.2 DM642程序流程分析
程序采用RF-5框架來整合JPFG的編碼、解碼庫。在進入DSP/BIOS的調(diào)度程序之前,程序需要初始化多個要使用的模塊。包括:
(1)DM642和系統(tǒng)板的初始化:系統(tǒng)執(zhí)行BIOS和CSL的初始化,將二級緩存模式?jīng)]定為128kB,EMIF的CE0和CE1空間設(shè)定為允許高速緩存,設(shè)定DMA優(yōu)先權(quán)隊列長度為最大值,L2請求的優(yōu)先權(quán)設(shè)定為最高,DMA管理器初始化時將其內(nèi)部和外部的堆棧進行分配。
(2)RF-5模塊初始化:系統(tǒng)的通道模塊設(shè)定為RF-5,初始化RF-5中的ICC和SCOM模塊必需的內(nèi)部單元通信和信息傳遞,通道設(shè)定按照內(nèi)部和外部的堆棧緩沖執(zhí)行。
(3)建立捕獲和回放通道:建立和啟動一個捕獲通道,建立和啟動一個回放通道。
在完成初始化工作之后,系統(tǒng)進入DSP/BIOS調(diào)度程序管理下的6個任務(wù)模塊。6個任務(wù)模塊通過RF-5的SCOM模塊互相發(fā)送消息,在圖4中顯示了4個任務(wù)模塊。第5個任務(wù)是控制任務(wù)模塊,他使用一個郵箱發(fā)送消息給處理仃務(wù)模塊,處理任務(wù)模塊從郵箱接收消息,并根據(jù)消息中指定的圖像質(zhì)量調(diào)節(jié)圖像幀率。第6個是網(wǎng)絡(luò)初始化模塊,他由CDB文件定義處理網(wǎng)絡(luò)環(huán)境的初始化。這6個任務(wù)模塊的具體功能為:
輸入任務(wù)模塊使用驅(qū)動程序提供的FVID ex-change調(diào)用從SAA7115H獲得一幀最新視頻圖像。獲得的圖像是YUV4:2:2格式的,他被重采樣成YUV4:2:0。輸入任務(wù)模塊接著發(fā)送SCOM消息到處理任務(wù),消息中包含了幀的指針。接著等待發(fā)送的消息返回以繼續(xù)處理。
處理任務(wù)模塊 包含JPEG編碼單元和JPEG解碼單元。JPEG編碼單元接受YUV4:2:0格式的圖像,產(chǎn)生定制壓縮質(zhì)量的JPEG圖像,處理任務(wù)模塊發(fā)送附帶JPEG文件的SCOM消息給網(wǎng)絡(luò)任務(wù)模塊,同時,JPEG解碼單元接收JPEG壓縮圖像并生成解壓縮圖像,解碼的圖像格式是YUV4:2:0的。在解碼完成后,處理任務(wù)等待發(fā)送給網(wǎng)絡(luò)任務(wù)模塊的SCOM消息返回,然后發(fā)送消息給輸出任務(wù)模塊,通知新的輸出文件已經(jīng)就緒。
輸出任務(wù)模塊 將圖像回放在顯示設(shè)備上。他使用輸出驅(qū)動程序提供的FVID exchange調(diào)用實現(xiàn)圖像的顯示,得到的圖像的格式是YUV 4:2:0的,需要重新采樣成YUV 4:2:2格式,然后等待處理任務(wù)發(fā)來的消息以繼續(xù)運行。
控制任務(wù)模塊用來設(shè)定傳輸過程中的一些控制參數(shù),包括圖像幀率和壓縮質(zhì)最??刂迫蝿?wù)模塊檢測參數(shù)的改變,這些參數(shù)定義在一個全局結(jié)構(gòu)“ExternalControl”中,同時將更新的參數(shù)復制到任務(wù)自定義的結(jié)構(gòu)“ExternalControlprev”中,并向處理任務(wù)模塊的郵箱中發(fā)送消息。處理任務(wù)模塊定時檢測這些消息并調(diào)用相應(yīng)單元的控制函數(shù)。
網(wǎng)絡(luò)初始化任務(wù)模塊 啟動網(wǎng)絡(luò)環(huán)境,當網(wǎng)絡(luò)準備備好后,建立網(wǎng)絡(luò)任務(wù)。
網(wǎng)絡(luò)任務(wù)模塊用于支持系統(tǒng)中的網(wǎng)絡(luò)功能調(diào)用。當他初始化完成后,開始進入等待處理任務(wù)模塊發(fā)送的SCOM消息的狀態(tài)。本系統(tǒng)中網(wǎng)絡(luò)任務(wù)模塊取得處理任務(wù)模塊發(fā)送來的JPEG圖像,建立一個存在RAM上的圖像文件IMAGE1.JPG,這個同像可以由HTTP服務(wù)器識別并發(fā)送給HTTP客戶端,接著回發(fā)一個SCOM消息給處理模塊,通知他已經(jīng)準備好處理下一個JPEG文件。
4 系統(tǒng)功能測試
在正確配置和連接DM642開發(fā)評估板(EVM)后,運行CCS,編譯、連接、下裁并運行程序。若CCS的“sdout”窗口最后顯示“Link Status:100 Mb/sFullDuplex”,說明網(wǎng)絡(luò)連接被正常初始化。讀取“sdout”窗口中的“NetworkAdded:”項中的IP地址:192.168.1.77。打開IE瀏覽器,在地址欄輸入此IP地址,運行??梢钥吹絀E瀏覽器顯示的是經(jīng)DM642壓縮處理,通過網(wǎng)絡(luò)傳送給PC機的視頻圖像,同時,此視頻圖像也在本地經(jīng)監(jiān)視器回顯。測試結(jié)果顯示,兩者幾乎是同步的。通過修改壓縮質(zhì)量數(shù)據(jù)(取值為1~100,1壓縮率最大,質(zhì)量最差,100壓縮率最小,質(zhì)量最好),設(shè)計者可以得到定制的壓縮質(zhì)量的視頻。系統(tǒng)測試結(jié)果見圖5,圖6,壓縮質(zhì)量分別取1,50。
5 結(jié) 語
本文對基于DM642DSP芯片和JPEG圖像壓縮算法的網(wǎng)絡(luò)視覺監(jiān)控系統(tǒng)進行了分析研究并實現(xiàn)了實時視頻的壓縮編碼、解碼以及網(wǎng)絡(luò)傳輸功能。該系統(tǒng)可廣泛用于智能交通、金融、公共安全等領(lǐng)域的遠程視頻監(jiān)控中,具有一定的實用性。下一步將在本文工作的基礎(chǔ)上,結(jié)合新一代網(wǎng)絡(luò)流媒體H.264視頻壓縮算法,研究實現(xiàn)基于DM642的雙通道網(wǎng)絡(luò)視覺監(jiān)控系統(tǒng)。