視頻監(jiān)控系統(tǒng)中基于FPGA的視頻處理
視頻監(jiān)控系統(tǒng)是火車站、機場、銀行、娛樂場所、購物中心甚至家庭保安的重要組件。隨著安全風險增加,對視覺監(jiān)視和記錄事件的需求以多種使用模式激增。因此,新架構(gòu)必須為橫跨一整套日漸繁雜的視頻監(jiān)控系統(tǒng)要求的成本效益方案提供可擴展性。
上市時間的壓力、新CODEC標準、日益廣泛的要求(包括先進的目標探測、運動探測、目標跟蹤和目標跟蹤特性),這些不過是新型視頻監(jiān)控架構(gòu)所面臨挑戰(zhàn)中的幾項。伴隨挑戰(zhàn)而來的是對可擴展為不同性能范圍的實現(xiàn)的需求。
對于從低端到高端以及從單機到PC擴展卡的任何視頻監(jiān)控系統(tǒng),Xilinx FPGA都是理想的解決方案。
視頻監(jiān)控和DVR系統(tǒng)
數(shù)字監(jiān)控系統(tǒng)中的數(shù)字視頻錄像機(DVR)正在迅速采用先進的數(shù)字視頻壓縮。大多數(shù)DVR制造商從MPEG4向H.264高清晰度(HD)CODEC轉(zhuǎn)移,對更高分辨率和壓縮速度的需求也隨之增加。專用芯片(ASSP)對大批量應用很有用,但缺少靈活性,開發(fā)成本高,而且開發(fā)時間較長;大多數(shù)高級數(shù)字媒體處理器則只能執(zhí)行H.264 HD解碼(而H.264 HD編碼比解碼還要復雜得多)。滿足H.264 HD性能要求的最佳解決方案是使用一個FPGA加上一個外部DSP或數(shù)字媒體處理器。
使用低成本的Xilinx FPGA,可以更進一步提供運動探測、視頻縮放、顏色空間轉(zhuǎn)換、硬盤接口和DDR2存儲器接口,還可以將兩個27-MHz ITU-R BT656數(shù)據(jù)流時分多路傳輸?shù)揭粋€54MHz數(shù)據(jù)流中,同時為DSP處理器提供視頻加速。要將兩個ITU-R BT656數(shù)據(jù)流多路傳輸?shù)揭粋€ITU-R BT656數(shù)據(jù)流中,僅需要一個通道視頻端口來獨立地傳輸完整的二通道視頻數(shù)據(jù)。要為只有一個ITU-R BT656視頻輸入端口的數(shù)字媒體處理器提供接口,這種實現(xiàn)方法非常有用。圖1所示就是這樣一種建議架構(gòu)的框圖。
對于使用德州儀器公司DaVinci處理器(僅有一個ITU-R BT656視頻輸入端口)的DVR設計,需要一種更有效的實現(xiàn)方法將兩個或更多ITU-R BT656數(shù)據(jù)流時分多路傳輸?shù)揭粋€VLYNQ數(shù)據(jù)流中,然后才能將其輸送到DaVinci處理器。使用上述實現(xiàn)方法,您用少得多的I/O引腳就能傳輸視頻流,而且可以降低系統(tǒng)成本,因為器件的封裝可以變得更小。圖2所示為此設計的框圖。
PC擴展卡DVR系統(tǒng)
過去十年來,PCI總線為PC提供了很好的服務。然而,當今的PC擴展卡DVR系統(tǒng)所要求的帶寬,已經(jīng)大大超出了PCI總線力所能及的程度。未經(jīng)壓縮的視頻數(shù)據(jù)(剝除空白幀之后)約為165Mbps。如此,在總體PCI帶寬為1Gbps的情況下,您在一條PCI總線上最多只能混用6個未經(jīng)壓縮的視頻采集或視頻重放設備。您可以在擴展卡上使用MPEG4 CODEC芯片組來縮小總線上的帶寬,但這會增加成本,并且使您受到現(xiàn)有MPEG4芯片組的限制。
PCI Express(PCIe)技術使流量大幅度提升。PCI Express分解為多個通道。每通道在每個方向上包含一個差分對,該方向每個差分對的數(shù)據(jù)流量為2Gbps。主板上的每個PCIe插槽都有自己的通道,這些通道不與其他任何插槽共享。各插槽的配置為16通道(亦稱x16)、8通道(x8)、4通道(x4)或1通道(x1)。PCIe允許每卡提供的數(shù)據(jù)量從x1通道的2Gbps到x16通道的32Gbps不等。有了PCIe數(shù)據(jù)流量,您就可以擺脫每張PCI卡6個未壓縮視頻通道的限制。
使用與圖1所示同樣的設計,可通過用PC替換數(shù)字媒體處理器并且經(jīng)PCIe總線將視頻流緩存到PC的方法,輕松快捷地實現(xiàn)PC擴展卡DVR系統(tǒng)。視頻模數(shù)轉(zhuǎn)換器產(chǎn)生四條獨立的數(shù)字ITU-R BT656流,然后這些流被送入低成本的Spartan?-3器件進行預處理。在FPGA中,視頻數(shù)據(jù)剝除空白幀并同步,為PCIe適當打包,然后饋入Xilinx PCIe內(nèi)核。然后,軟件就可以讀取并播放輸入的視頻,對其進行處理,或?qū)⑵鋬Υ娴酱疟P。圖3所示為PC擴展卡視頻監(jiān)控系統(tǒng)設計。
Xilinx視頻和圖像處理算法
從多相視頻轉(zhuǎn)換器、二維FIR濾波器和屏幕顯示到覆蓋和阿爾法混合等簡單效果,再到格式和顏色空間轉(zhuǎn)換,Xilinx FPGA都是實時數(shù)字視頻、圖像處理和濾波的理想平臺。表1列出了一些常用視頻IP模塊組的應用指南。
Xilinx FPGA無與倫比的DSP處理能力意味著有可能支持非常高的分辨率(畫質(zhì)高達1080p),并且可以縮小大型DSP陣列的尺寸。Xilinx FPGA是可重新編程的硬件,有了它,您就能夠輕松地嘗試新穎、高性能、基于硬件的視頻和圖像算法,收到立桿見影之效,使您的最終產(chǎn)品與眾不同。
現(xiàn)成的IP
Xilinx提供了視頻IP模塊組,以供在視頻監(jiān)控系統(tǒng)中快速設計、仿真、實現(xiàn)和驗證視頻和圖像處理算法。其中包括設計DVR用的基本基元和高級算法。
此外,Xilinx及其合作伙伴提供了一系列壓縮編碼、解碼和編解碼解決方案,從為需要快速實現(xiàn)的人提供現(xiàn)成的內(nèi)核,一直到為希望通過高質(zhì)量和低比特率使自己的產(chǎn)品與眾不同的人提供構(gòu)造模塊參考設計和硬件平臺。
將Xilinx FPGA用于某些編解碼模塊中的極其繁重的處理任務,意味著您可以支持多通道HD編碼,節(jié)約寶貴的系統(tǒng)處理器周期,通過減少或排除DSP處理器陣列大量節(jié)約成本,并輕松地將從接口到進一步視頻處理的更多功能和能力集成到系統(tǒng)中。最重要的是,F(xiàn)PGA提供了可擴展的解決方案,從而能在相同的系統(tǒng)中支持不同的配置、額外的通道或新的編解碼方案。
Xilinx FPGA可通過強化系統(tǒng)邏輯和實現(xiàn)新外設進一步降低DVR系統(tǒng)成本。Xilinx及其合作伙伴還為視頻監(jiān)控系統(tǒng)的快速發(fā)展提供系統(tǒng)接口:先進的存儲器接口、PCI Express、德州儀器的VLYNQ和EMIF接口、硬盤接口和ITU-R BT656接口。
Xilinx工具簡化設計
Xilinx System Generator for DSP允許使用Xilinx視頻IP模塊組構(gòu)建和調(diào)試Simulink中的高性能DVR系統(tǒng)。使用System Generator開發(fā)并實現(xiàn)視頻處理算法,可以獲得經(jīng)過徹底驗證和可以輕松執(zhí)行的設計。
Xilinx已開發(fā)出各種經(jīng)過預測試的新型視頻IP模塊組。您可以通過在System Generator內(nèi)拖放模塊來輕松構(gòu)建視頻/影像系統(tǒng),從而省下用HDL語言編寫這些基本構(gòu)建模塊的寶貴時間。
為了處理從開發(fā)板到PC的龐大的視頻數(shù)據(jù)流,System Generator for DSP引入了另一種新穎的高速硬件協(xié)同仿真(通過以太網(wǎng)接口)。這種接口允許低延遲的高流量,事實證明它對于在System Generator環(huán)境中構(gòu)建視頻/影像系統(tǒng)極其有用。
另一種基于MATLAB語言的設計工具是Xilinx開發(fā)的AccelDSP綜合工具,這是基于高級MATLAB語言的工具,用于為Xilinx FPGA設計DSP模塊。此工具可實現(xiàn)浮點到定點的自動轉(zhuǎn)換,能生成可綜合的VHDL或Verilog語言,并且可以為驗證創(chuàng)建測試平臺。您還可以用MATLAB算法生成定點C++模型或System Generator模塊。AccelDSP是Xilinx XtremeDSP?解決方案的一個關鍵組件,它集最先進的FPGA、設計工具、知識產(chǎn)權(quán)內(nèi)核、合作伙伴關系以及設計和教育服務于一體。
結(jié)論
在視頻監(jiān)控系統(tǒng)中,視頻信號由多個攝像機生成。FPGA從視頻解碼器接收ITU-R BT656格式的數(shù)字視頻,然后將經(jīng)過處理的視頻輸出到監(jiān)視器進行顯示,同時將其輸出到數(shù)字媒體處理器或DSP進行壓縮后存入硬盤。
利用Xilinx FPGA,您可以使自己的符合標準的系統(tǒng)有別于競爭對手的產(chǎn)品,同時仍然為您的應用獲得最佳平衡。利用Xilinx的視頻IP模塊組,您可以輕松構(gòu)建具有高度靈活性和可擴展性的DVR系統(tǒng),從而既滿足低端市場又滿足高端市場。通過將PCIe內(nèi)核與視頻IP模塊組集成到一起,您可以開發(fā)低成本的PC擴展卡視頻監(jiān)控系統(tǒng)。使用Xilinx FPGA中的VLYNQ內(nèi)核,您可以通過Xilinx FPGA將來自多部攝像機的眾多視頻流輕松地連接到TI的DaVinci處理器。
AccelChip與Xilinx System Generator的集成將算法開發(fā)者青睞的基于MATLAB的算法綜合與系統(tǒng)工程師和硬件設計者使用的圖形設計流程結(jié)合起來。它使用豐富的MATLAB語言及其附帶的工具箱創(chuàng)建復雜DSP算法的System Generator IP模塊。通過合并使用這些工具,設計團隊可以為實現(xiàn)而利用硬件建模這一最有效的手段,從而讓算法開發(fā)者完全參與FPGA的設計過程,并且更快地完成更優(yōu)質(zhì)的設計。
評論