利用FPGA協(xié)處理器優(yōu)化高性能數(shù)字攝像監(jiān)控系統(tǒng)
商用攝像監(jiān)視系統(tǒng)的一般需求是支持一至八個攝像機,先進的視頻壓縮如MPEG-4,Windows Media 9 H.264,低延遲編碼(1-3幀)和不同幀速率下的同步查看和記錄。編碼分辨率從CIF(大概是VCR分辨率)到D1(大概是DVD分辨率)。視頻速率從每秒2幀(家用安全)到賭場和其它高級系統(tǒng)中高達每秒30幀。
增強攝像監(jiān)視的質量
在固定帶寬情況下,可以采用不同的方式包括先進的CODEC、定義興趣區(qū)域,圖像穩(wěn)定和全景攝影來改進視頻質量。
最常用的先進視頻壓縮技術是MPEG-4。然而,設計者正在檢測H.264的基本性能,經(jīng)比較它可以將視頻質量提高33%(圖1),大大地增強攝像監(jiān)視系統(tǒng)的檢測能力。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window CTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('upload/2008_04/080430112072641.gif');}" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window CTRL+Mouse wheel to zoom in/out';}">
因此,視頻質量和檢測能力可以通過監(jiān)視情況定義更感興趣區(qū)域來增強。在不感興趣的區(qū)域即天空、天花板和風中搖擺的樹冠等,系統(tǒng)能夠增加視頻壓縮等級,從而減小那些區(qū)域的視頻帶寬和處理負荷,因為這些地方出現(xiàn)安全漏洞的危險性是很低的。反之,這讓系統(tǒng)更關注感興趣的區(qū)域,如外門、窗戶、高安全區(qū)域的內部和會有或已有移動的區(qū)域。本質上,通過定義興趣區(qū)域和關注更關心的那些區(qū)域,系統(tǒng)能夠減小虛警數(shù)量,同時增加檢測到真正安全漏洞的可能性。
攝像機移動和/或攝像機抖動也會降低攝像監(jiān)視的質量。當然,攝像機移動對確保覆蓋整個監(jiān)視區(qū)域是必須的,而抖動可能是有環(huán)境因素如風或過往車輛造成的。然而,這兩種因素會降低壓縮質量,可能會到造成丟幀,因此降低攝像監(jiān)視系統(tǒng)的質量。在最糟糕的情況下,這些因素會造成系統(tǒng)處理超負荷。數(shù)字攝像監(jiān)視系統(tǒng)穩(wěn)定技術現(xiàn)在能夠用來解決攝像機的物理抖動。在這方面現(xiàn)在有幾種算法類型,但是都遵循同樣的原則。圖像的某些部分和以前的圖像比較。圖片偏移不同的矢量,用搜索來尋找圖像間相關性最大的點。然后把偏移矢量應用在整個圖像上,邊緣上進行一些剪裁,但是大部分的圖像仍然是穩(wěn)定的。
FPGA可以作為搜索和相關的評估。30fps D1分辨率單通道的一般需求是大約3,000-5,000個FPGA邏輯單元——等效于大容量器件如Altera Stratix II FPGA大約4-7%的邏輯面積。
提供全景圖的那里也是集成了旋轉攝像機的攝像監(jiān)視系統(tǒng)的一個關鍵特性。這個特性使得覆蓋特定場所所需的攝像機數(shù)目最少,讓安全部門監(jiān)視系統(tǒng)很快地查看更大的區(qū)域或關注已經(jīng)檢查到潛在安全問題的特定區(qū)域。當全景算法結合選擇攝像機(PTZF),系統(tǒng)能夠跟蹤視頻圖像的移動。不是將圖像移回中心,而是圖像放大為更大分辨率的圖片。新的圖像“縫在”老圖像上,覆蓋部分被更新。用于圖像穩(wěn)定的同樣的FPGA機制用于全景攝影,具有增加最小計算量的縫合。
視頻移動檢測在室內和室外,無論白天黑夜都很有效,能夠大大地增強攝像監(jiān)視系統(tǒng)的能力。這個特性使用跟蹤算法,接收來自監(jiān)視攝像機的噪聲檢測,提取出由圖像噪聲、如風等環(huán)境因素造成攝像機移動和由云或移動的樹枝造成的錯誤圖像等引起的不重要的移動。它簡化了跟蹤入侵者的算法,可以和傳統(tǒng)的移動檢測相結合,讓錯誤識別降至最低。移動檢測算法從用幾百個邏輯單元實現(xiàn)的非常簡單的高通或邊緣檢測濾波器到能夠克服雨、風干擾及人、小動物和車輛等的差異的非常復雜的算法。先進的算法一般采用移動跟蹤,和MPEG壓縮中的運行估計模塊類似。圖像不同部分的移動在時間上進行跟蹤,如果移動顯示始終如一,檢測和跟蹤到一個入侵者。這允許系統(tǒng)忽略雨、灰塵和燈光的變化。實現(xiàn)先進的移動檢測算法需要只需要1,000-3,000 FPGA邏輯單元。
視頻存檔
在最現(xiàn)代的攝像監(jiān)視系統(tǒng)中視頻存檔是必須的功能,它讓安全部門保存可能的侵入和維護,用于識別入侵者的視頻。它或者在創(chuàng)建圖像的本地完成,或者在更安全的遠程地點完成。IP攝像機或視頻服務器把所有的壓縮視頻發(fā)送給后臺部門,在那里中央記錄單元收集所有的視頻流并進行歸檔。這種配置不需要昂貴的終端單元,容易進行視頻管理,但是需要非??煽康木哂懈邘挼木W(wǎng)絡,一次支持所有攝像機的傳送。另一種配置使用本地硬盤記錄,讓后臺部門一次只能查看一臺攝像機,或訪問任何單元的任意存檔視頻。
實現(xiàn)
DSP處理器和FPGA協(xié)處理器的組合具有數(shù)字攝像監(jiān)視系統(tǒng)所需的非常高的性能和高度靈活的信號處理能力。DSP處理器優(yōu)勢包括高時鐘速率(高度1GHz),基于C/C++的開發(fā),內建的存儲器管理和內建的I/O接口。同時,DSP處理器有有限數(shù)量的指令/時鐘和乘法器,以及固定的字長和I/O接口。另外,大部分DSP允許非常有限的處理器間通信,采用低速總線如PCI和其它DSP相連。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window CTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('upload/2008_04/080430112072642.gif');}" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window CTRL+Mouse wheel to zoom in/out';}">
另一方面,F(xiàn)PGA包括大量的指令/周期,比DSP多一至兩個數(shù)量級的乘法器和靈活的字長。例如,Stratix II FPGA每個器件有多達384個18×18乘法器/累加器,每個能夠運行在370MHz,及將近180K個標準邏輯單元。FPGA也容許訪問先進的存儲器件如DDR,DDR II,RLDRAM和QDR。先進FPGA的其它優(yōu)點是能夠通過高速LVDS和數(shù)千兆SERDES總線和其它FPGA或其它器件相連,如DSP。它們的驅動包括更長的開發(fā)時間,更大的器件功率(盡管不是根據(jù)計算量)和1/3 DSP峰值處理速率的時鐘速率。
這兩類器件顯然可能互相補充。雖然DSP能夠快速地開發(fā)新的和復雜的算法,但是它們一次只能完成兩至四個計算。另一方面,F(xiàn)PGA能夠一次對整個矢量甚至矩陣進行算術操作。而且,F(xiàn)PGA在連接多個處理點上非常出眾,在DSP間分配數(shù)據(jù),把收集并把分支計算組合成單個輸出流。
尤其在攝像監(jiān)視應用中,F(xiàn)PGA可以用來預處理視頻、完成視頻穩(wěn)定、濾波和移動檢測。然后將穩(wěn)定的視頻及移動檢測信息送給DSP進行視頻壓縮和協(xié)議棧處理。
結論
攝像監(jiān)視只是一些視頻影像系統(tǒng)的一種,它們日益需要非常高的信號處理和存儲帶寬以及多處理單元間通信的能力,以完成所需分辨率和實時視頻觀看要求。其它應用包括醫(yī)療影像、光學檢測、視頻廣播、科學計算和軍事應用。設計這些系統(tǒng)的工程師將不斷地利用DSP處理器和高性能FPGA的組合來實現(xiàn)所需的視頻影像質量,這是完全可能的。