在視頻監(jiān)控系統(tǒng)中使用FPGA進(jìn)行視頻處理
掃描二維碼
隨時(shí)隨地手機(jī)看文章
視頻監(jiān)控系統(tǒng)是火車站、機(jī)場(chǎng)、銀行、娛樂場(chǎng)所、購(gòu)物中心甚至家庭保安的重要組件。隨著安全風(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)的需求。
視頻監(jiān)控和DVR系統(tǒng)
數(shù)字監(jiān)控系統(tǒng)中的數(shù)字視頻錄像機(jī)(DVR)正在迅速采用先進(jìn)的數(shù)字視頻壓縮。大多數(shù)DVR制造商從MPEG-4向H.264高清晰度(HD)CODEC轉(zhuǎn)移,對(duì)更高分辨率和壓縮速度的需求也隨之增加。專用芯片(ASSP) 對(duì)大批量應(yīng)用很有用,但缺少靈活性,開發(fā)成本高,而且開發(fā)時(shí)間較長(zhǎng);大多數(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è) 27MHz 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ù)(剝除空白幀之后)約為 165 Mbps。因此,在總體 PCI 帶寬為 1 Gbps 的情況下,在一條 PCI 總線上最多只能混用 6 個(gè)未經(jīng)壓縮的視頻采集或視頻重放設(shè)備。如在擴(kuò)展卡上使用 MPEG-4 CODEC 芯片組來縮小總線上的帶寬,但這會(huì)增加成本,并且會(huì)受到現(xiàn)有MPEG-4芯片組的限制。
PCI Express (PCIe) 技術(shù)使流量大幅度提升。PCI Express 分解為多個(gè)通道。每通道在每個(gè)方向上包含一個(gè)差分對(duì),每個(gè)差分對(duì)的數(shù)據(jù)流量為 2 Gbps。主板上的每個(gè) PCIe 插槽都有自己的通道,這些通道不與其它任何插槽共享。各插槽的配置為 16 通道(亦稱 x16)、8 通道 (x8)、4 通道 (x4) 或 1 通道 (x1)。PCIe 允許每卡提供的數(shù)據(jù)量從 x1 通道的 2 Gbps 到 x16 通道的 32 Gbps 不等。有了 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 濾波器和屏幕顯示到覆蓋以及阿爾法混合等簡(jiǎn)單效果,再到格式和顏色空間轉(zhuǎn)換,Xilinx FPGA 都是實(shí)時(shí)數(shù)字視頻、圖像處理和濾波的理想平臺(tái)。表 1 列出了一些常用視頻 IP 模塊組的應(yīng)用指南。
Xilinx FPGA的 DSP 處理能力支持非常高的分辨率(畫質(zhì)高達(dá) 1080p),并且可以縮小大型 DSP 陣列的尺寸。
現(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 工具簡(jiǎn)化設(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 語(yǔ)言編寫這些基本構(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 語(yǔ)言的設(shè)計(jì)工具是 Xilinx 開發(fā)的 AccelDSP 綜合工具,這是基于高級(jí) MATLAB 語(yǔ)言的工具,用于 Xilinx FPGA 設(shè)計(jì) DSP 模塊。此工具可實(shí)現(xiàn)浮點(diǎn)到定點(diǎn)的自動(dòng)轉(zhuǎn)換,能生成可綜合的 VHDL 或 Verilog 語(yǔ)言,并且可以為驗(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)有別于競(jìng)爭(zhēng)對(duì)手的產(chǎn)品,同時(shí)還為應(yīng)用獲得最佳平衡。利用 Xilinx 的視頻 IP 模塊組可以輕松構(gòu)建具有高度靈活性和可擴(kuò)展性的 DVR 系統(tǒng),從而既滿足低端市場(chǎng)又滿足高端市場(chǎ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 語(yǔ)言及其附帶的工具箱創(chuàng)建復(fù)雜 DSP 算法的 System Generator IP 模塊。通過合并使用這些工具,設(shè)計(jì)團(tuán)隊(duì)可以為實(shí)現(xiàn)而利用硬件建模這一最有效的手段,從而讓算法開發(fā)者完全參與 FPGA 的設(shè)計(jì)過程,并且更快地完成更優(yōu)質(zhì)的設(shè)計(jì)。