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