近幾年來,,尤其是911以后,,各種場合的視頻監(jiān)控的需求日益旺盛,并且同一場合可能需要同時監(jiān)控多個目標(biāo),,這給我們提出了盡可能地降低單路視頻處理成本的要求,。用單個DSP處理器完成盡可能多路的數(shù)字視頻壓縮處理,將無疑是降低單路視頻監(jiān)控成本的有效方法,。幸運的是,,隨著DSP處理性能的不斷提高,及嵌入式數(shù)字視頻編解碼算法的進(jìn)一步優(yōu)化和日趨完善,、成熟,,使得單個DSP完成多達(dá)8路CIF格式的數(shù)字視頻壓縮處理成為可能。本文采用TI公司最新推出的Davinci系列DSP中的一款TMS320DM6437和Xilinx公司的高性能,、低成本Spartan-3系列FPGA來構(gòu)建一個高性能,、低成本的嵌入式多路視頻監(jiān)控系統(tǒng)硬件平臺。
嵌入式多路視頻監(jiān)控系統(tǒng)硬件平臺系統(tǒng)
為了盡可能降低嵌入式視頻監(jiān)控系統(tǒng)的單路成本,,合理地選擇一款DSP處理器,,使其完成盡可能多路的數(shù)字視頻壓縮處理,將無疑是一種直接,、而有效的方法,。TI公司最新推出的Davinci系列DSP是專門為數(shù)字媒體應(yīng)用優(yōu)化設(shè)計的,是其在大家熟知的,、已得到廣泛應(yīng)用的TMS320DM642數(shù)字媒體處理器基礎(chǔ)上的升級產(chǎn)品,,處理性能更進(jìn)一步提高,片上外設(shè)更適合于視頻處理系統(tǒng)的要求,,其中的TMS320DM6437更是高性能,、低成本的代表。本文選用其作為嵌入式多路視頻監(jiān)控系統(tǒng)的主處理器,,在數(shù)字視頻編碼器算法優(yōu)化合理的情況下,,其可以實現(xiàn)8路CIF格式的H.264編碼處理。
但TMS320DM6437只有1個數(shù)字視頻輸入接口,,為了接口8路視頻解碼器,,需要在視頻解碼器與TMS320DM6437的視頻輸入接口之間增加耦合邏輯,高性能,、低成本,、可編程的FPGA可以方便實現(xiàn)二者之間的耦合邏輯。另外,,F(xiàn)PGA上含有豐富的資源,,可用來實現(xiàn)某些圖像已處理功能,比如,圖像大小的縮放,,防眩光等,。
以此所構(gòu)建的DSP + FPGA嵌入式多路視頻監(jiān)控系統(tǒng)硬件平臺系統(tǒng)框圖如圖1所示。
圖1 DSP+FPGA的多路視頻監(jiān)控系統(tǒng)硬件平臺
TMS320DM6437概述
TMS320DM6437是TI公司2006年推出的,、專門為高性能,、低成本視頻應(yīng)用開發(fā)的、主頻600MHz的,、32位定點DSP,。TMS320DM6437具有下列特點:
采用TI第3代超長指令集結(jié)構(gòu)(VelociTI.3)的TMS320C64x+ DSP內(nèi)核,主頻可達(dá)600MHz,,支持8個8位或4個16位并行MAC運算,,峰值處理能力高達(dá)4800MIPS,可實時處理8路CIF或3路D1格式的H.264編碼算法,。
采用2級Cache存儲器體系結(jié)構(gòu),,片上有32K字節(jié)RAM/Cache可配置的1級程序存儲器L1P,48K字節(jié)RAM + 32K字節(jié)RAM/Cache可配置的1級數(shù)據(jù)存儲器L1D,,和128K字節(jié)RAM/Cache可配置的2級程序/數(shù)據(jù)存儲器L2,,存儲器體系結(jié)構(gòu)更靈活、合理,,有利于提高圖像處理代碼/數(shù)據(jù)的吞吐率,。
片上具有64通道增強型DMA控制器EDMA3,其支持復(fù)雜的數(shù)據(jù)類型的傳輸,,有利于圖像數(shù)據(jù)的高效傳輸和格式變換,。
豐富的外部存儲器接口:一個專用的32位、200MHz,、256M字節(jié)尋址空間的DDR2存儲器接口用于接口高速,、大容量的DDR2存儲器,以存儲代碼和數(shù)據(jù);一個8位,、64M字節(jié)尋址空間的異步存儲器接口用于接口8位Nor Flash或Nand Flash,,以存儲固化代碼。
豐富的片上外設(shè):一個專用的單通道視頻輸入接口,,既可以方便地與各種數(shù)字視頻輸入標(biāo)準(zhǔn)接口,,還具有常用的視頻預(yù)處理功能;一個專用的單通道視頻輸出接口,既可以提供多種模擬視頻輸出標(biāo)準(zhǔn),,還可以提供各種數(shù)字視頻輸出標(biāo)準(zhǔn)接口,,并且在視頻輸出之前,還支持多個視頻窗口管理及在視頻畫面上疊加文本數(shù)據(jù);一個多通道音頻串口,,可無縫接口音頻Codec器件,,實現(xiàn)模擬視頻信號的輸入/輸出;一個I2C總線,可無縫接口視頻解碼器/編碼器和音頻Codec 的控制口,方便實現(xiàn)音/視頻編解碼器的控制;32位PCI總線,,方便與PC機接口,實現(xiàn)多板并行工作,。10/100M以太網(wǎng)MAC,,方便實現(xiàn)嵌入式視頻網(wǎng)絡(luò)化要求;16位HPI接口,方便實現(xiàn)主/從結(jié)構(gòu)的雙處理器視頻處理系統(tǒng),。
由上可知,,DM6437是非常適合于作為單通道視頻處理系統(tǒng)的主處理器。為了使DM6437適用于多通道視頻監(jiān)控系統(tǒng),,需要將多個視頻通道的數(shù)據(jù)復(fù)合后,,再通過DM6437片上視頻輸入接口輸入。所以,,下面將著重對DM6437的片上視頻輸入/輸出接口逐一介紹,。
DM6437視頻子系統(tǒng)VPSS
DM6437片上視頻輸入/輸出接口統(tǒng)稱為視頻子系統(tǒng)VPSS,DM6437的視頻子系統(tǒng)由二部分組成,,一是視頻處理前端,,用于輸入數(shù)字視頻數(shù)據(jù),為多種標(biāo)準(zhǔn)的數(shù)字視頻輸入提供接口,,并為輸入的數(shù)字視頻數(shù)據(jù)作必要的預(yù)處理,。二是視頻處理后端,用于輸出數(shù)字視頻數(shù)據(jù),,以驅(qū)動顯示器顯示視頻圖像,。
DM6437視頻處理前端VPFE為視頻處理系統(tǒng)提供二大功能,一是為多種標(biāo)準(zhǔn)數(shù)字視頻輸入提供無縫接口,,二是為各種視頻處理應(yīng)用提供必要的預(yù)處理,。
DM6437數(shù)字視頻輸入接口被稱為CCD控制器,為輸入數(shù)字視頻流提供數(shù)據(jù)通路和必需的同步信號,,其功能如下:
*16位視頻數(shù)據(jù)總線
*像素時鐘頻率最高可達(dá)75MHz
*可直接接口CCD或CMOS圖像傳感器
*可接口8/10位BT.656標(biāo)準(zhǔn)數(shù)字視頻流
*可接口8/16位帶行,、場同步信號的YCbCr 4:2:2格式數(shù)字視頻流
對于視頻監(jiān)控應(yīng)用來說,視頻信號一般為來自于攝像頭的模擬視頻信號,,其經(jīng)視頻解碼器轉(zhuǎn)換為8/10位BT.656或8/16位帶行,、場同步信號的YCbCr 4:2:2數(shù)字視頻流,再輸入到DSP中進(jìn)行處理,。
為適應(yīng)各種視頻處理應(yīng)用,,DM6437的視頻前端還提供下列3個預(yù)處理功能:預(yù)覽器Previewer:將來自CCD控制器或來自外部存儲器的RGB圖像格式轉(zhuǎn)換為YCbCr 4:2:2圖像格式。
縮放器Resizer:接受來自預(yù)覽器或文本存儲器的視頻數(shù)據(jù),,由硬件實現(xiàn)圖像大小的縮放,,水平和垂直方向縮放比例相互獨立,縮放范圍為1/4x~4x。
H3A:由硬件實現(xiàn)自動對焦,、自動白平衡,、自動曝光。首先接受RGB圖像格式,,并將圖像細(xì)分成二維像素塊,,像素塊的大小、位置可編程,。然后對像素塊進(jìn)行累加和峰值統(tǒng)計,。最后實現(xiàn)3A控制輸出。
DM6437視頻處理后端VPBE用于實現(xiàn)視頻圖像的輸出顯示,。顯示屏上的一幅圖像可以分成若干個區(qū)域,,每個區(qū)域可以代表不同的視頻源,即來自不同的視頻輸出緩沖器,,在輸出顯示之前,,需要將來自不同視頻輸出緩沖器的視頻數(shù)據(jù)復(fù)合成一個完整的數(shù)字視頻流,這個過程稱為視頻窗口管理;另外,,還經(jīng)常需要將某些圖形,、字符等信息疊加到視頻圖像上一起輸出顯示,這些疊加到視頻圖像上的圖形,、字符存儲于獨立的緩沖器中,,因而在輸出顯示之前,還需要將來自圖形,、字符緩沖器的數(shù)據(jù)復(fù)合進(jìn)輸出數(shù)字視頻流中,,這個過程稱為圖形、字符OSD窗口管理與疊加,。最后,,將復(fù)合后的完整的數(shù)字視頻流以一定的時序格式進(jìn)行輸出,這個過程稱為視頻輸出編碼,。DM6437視頻處理后端可以同時支持2個視頻窗口和2個圖形,、字符OSD窗口管理,并可支持8種視頻窗口與OSD窗口數(shù)據(jù)疊加方法,。DM6437的視頻輸出編碼既可以實現(xiàn)用于直接驅(qū)動模擬監(jiān)視器的標(biāo)準(zhǔn)模擬視頻輸出,,也可實現(xiàn)用于直接驅(qū)動帶數(shù)字接口的顯示器的多種標(biāo)準(zhǔn)數(shù)字視頻輸出。
對于視頻監(jiān)控應(yīng)用來說,,視頻輸出一般用于預(yù)覽某一通道的視頻輸入,,由模擬監(jiān)視器來顯示,所以直接用DM6437的模擬視頻輸出即可實現(xiàn),。