運用FPGA進行控制平面/數據平面視頻處理
圖2:向導啟動屏幕截圖和已完成的系統。
第二種方法是調整現有的參考設計。FPGA參考設計不斷發展并已成為市場的焦點。在我們的案例研究中使用的參考設計具有完整的微處理器系統、存儲器、外設和720pHD數字信號處理流水線。因此,該系統相當于一款完整的控制平面/數據平面解決方案。在該參考設計中,由處理器控制增益和流水線中的FIR濾波器。使用C-to-FPGA工具創建目標探測和高亮顯示模塊,讓整個系統具備功能所化的時間不到20個小時。
該處理器可以使用板卡支持包(BSP)提供的補充驅動程序來控制數據流水線。目前已有面向Linux的驅動程序,可以讓處理器直接控制數據處理流水線。Linux調用包括從Linux應用中打開I/O器件,然后針對該器件進行讀出或者寫入。
HD視頻識別系統案例研究
目標檢測和識別廣泛應用于監控、醫學成像和工廠自動化等行業。圖像的分辨率越高,目標識別的準確度越高。因此,對HD攝影機和相關的HD視頻流處理功能的需求較為強勁。我們的案例研究從這個問題(受一部著名的動畫電影啟發)出發:我們能否檢測并高亮顯示720pHD視頻流中的小丑魚?
該設計需要16位色譜,以便識別小丑魚的條紋圖案。一旦識別,小丑魚在屏幕上將被移動的聚光燈并高亮顯示。此外,聚光燈的大小經設計后可以隨匹配的似然性而調整(實際上,系統降低了聚光燈外的其他區域的圖像亮度)。聚光燈的尺寸變化和形狀計算以及為在每個像素位置搜索克隆魚所進行的比較,將需要大量的計算以使其工作于74.25MHz的時鐘周期。顯然,這樣的處理要求大大超出了一般嵌入式處理器的能力。
在這種情況下,最好的解決辦法是把流數據處理轉移到協處理器上。在FPGA內部實施協處理器能夠以最低成本靈活構建能夠滿足性能要求的解決方案。因此,基于FPGA的控制平面/數據平面架構就是最佳的選擇。FPGA嵌入式處理可以通過總線接口控制負責接收視頻數據、探測小丑魚、高亮顯示小丑魚并輸出供顯示之用的視頻數據的數字信號處理流水線。
因此,在本目標檢測和高亮顯示案例中,我們選擇50MHz的MicroBlaze嵌入式處理器來管理和控制74.25MHz的數據處理流水線,同時管理用戶界面。在免除了實際執行視頻處理的責任后,處理器可以處理許多其他的功能,比如托管以太網數據通信、管理圖形用戶界面、對數據處理流水線進行精細控制(例如,逐幀增益控制)等。
諸如Linux這樣的操作系統是提供多任務功能、網絡協議棧和用戶界面語言支持的理想選擇。圖3顯示了所實施系統的方框圖。該解決方案可以在高數據處理帶寬需求和用軟件控制數據處理方式之間實現理想的平衡。
圖3:小丑魚探測器控制平面/數據平面系統。
評論