概述
在視頻信號處理過程中為保證實時性,首先要求實時圖像處理系統具有處理大數據量的能力。其次對系統的對外接口、功能、穩定性等也有嚴格的要求。實時圖像處理算法中經常要用到對圖像的求和、求差運算、二維梯度運算、圖像分割、邊緣探測等不同層次、不同種類的運算。有的運算結構比較簡單,但是數據量大,計算速度要求高;有些運算對速度要求并不高,但計算方式和結構比較復雜,難以用純硬件的方式實現。因此,實時圖像處理系統是要求運算速度高、運算種類多的綜合性信息處理系統。
圖像處理系統中,底層的圖像預處理的數據量很大,要求處理速度快,但運算結構相對比較簡單,適用于FPGA通過硬件實現,這樣能同時兼顧速度及靈活性。高層運算的特點是所處理的數據量較底層少,但算法結構復雜,適宜采用運算速度高、尋址方式靈活、通信能力強的DSP芯片來實現。
DSP+FPGA結構最大的特點是結構靈活,有較強的通用性,適用于模塊化設計,從而能夠提高運算、處理的效率;同時開發周期短,易于維護和擴展,適于實時圖像處理,對不同算法有較強的適應能力。
硬件結構設計
如圖1所示,實時圖像處理系統硬件設計可分為視頻信號處理部分和視頻信號輸入輸出部分。首先通過視頻A/D接收前端PAL制式模擬視頻信號,經過處理轉換后輸出數字視頻信號。通過FPGA的時序控制將數字視頻信號存儲到SRAM中。然后利用DSP對SRAM中圖像數據的采集、運算和處理,提取出有用的信息,最后將處理完成后的圖像數據通過FPGA的時序控制,整合成數字視頻信號輸出給視頻D/A,轉換成PAL制式模擬視頻信號輸出。
視頻信號輸入輸出部分主要由視頻A/D和視頻D/A組成。
視頻A/D采用ADI公司的10位高性能ADV7180,它具有三路模擬視頻通道,支持多種制式視頻信號輸入,輸出標準ITU656 4:2:2格式數字視頻信號。ADV7180還提供行、場同步信號和27MHz像素時鐘信號,省掉了時鐘同步電路的設計,為系統設計帶來了方便。內置的I2C接口提供了對芯片內部電路的控制功能。可實現對輸入視頻信號的預處理,比如對比度和亮度的控制、輸出數據格式的選擇控制等。FPGA控制數據傳輸的時序,同時根據行、場同步信號,為SRAM提供地址信號和片選、讀寫等控制信號,將圖像數據存入SRM中。
視頻D / A采用N X P公司的SAA7128,它將數字視頻信號轉換成標準PAL制式模擬視頻信號輸出。
FPGA將標準ITU656 4:2:2格式數字視頻信號輸出給SAA7128,同時還將從ADV7180中獲取的像素時鐘信號輸出給SAA7128。SAA7128則將數字視頻信號轉換成標準的模擬視頻信號輸出。
視頻信號處理部分主要由FPGA、DSP和三片SRM組成。
FPGA提供整個實時圖像處理系統數字視頻信號的時序邏輯控制和輸入輸出管理。因此FPGA應該擁有豐富的I/O口資源和必要的內部資源。ALTERA公司的Cyclone III系列的EP3C120F780,它擁有120K邏輯單元和4Mbit內部存儲器,并且提供530個用戶I/O引腳,足夠滿足設計要求。
D S P芯片采用T I 公司的TMS320C6414。它完成圖像數據的運算、處理工作。最高工作主頻800MHz,數據處理速度可以達到每秒6400兆條指令。并且擁有64-bit的外部存儲器接口,擁有更快的讀寫速度,可以縮短訪問SRAM所消耗的時間,使得DSP可以將更多處理時間集中在圖像處理軟件算法的工作上。
FPGA功能結構設計
FPGA芯片是整個硬件平臺中的核心器件。如圖2所示,它首先通過視頻A/D提供的行、場同步信號以及 27MHz的像素時鐘信號將視頻A/D輸出的圖像數據順序存儲到SRAM中。然后通過時序控制和數據接口切換把SRAM的訪問權交給DSP。最后將SRAM中DSP處理完成的圖像數據整合后按照標準的時序要求輸出給視頻D/A。
FPGA的硬件設計可以分為3個部分,輪換控制模塊、視頻輸入控制模塊、視頻輸出控制模塊。
視頻輸入控制模塊根據行、場同步和像素時鐘信號產生地址信號,有序地將每場的圖像數據順序存儲到SRM中。其中,每片SRM只存儲一場圖像數據。視頻輸出控制模塊則從SRAM中讀取圖像數據,根據行、場同步和像素時鐘的時序,輸出標準格式的數字視頻信號。
輪轉控制模塊完成數據接口切換輪轉的功能,使得在同一時刻,DSP、視頻輸入模塊和視頻輸出模塊都單獨擁有一片SRAM的訪問權。由于輸入為標準的PAL制式視頻信號,因此視頻信號輸入為每20ms一場圖像。也就是說在20ms的時間內,三片SRAM的訪問權分別完全由DSP、視頻輸入模塊和視頻輸出模塊所獨占。如圖3所示,將三片SRAM分別稱作SRAM1、SRAM2、SRAM3。假設在第N場時刻,視頻輸入模塊訪問SRAM1, DSP訪問SRAM2,視頻輸出模塊訪問SRAM3。則在第N+1場時刻,輪換控制模塊將數據接口切換到視頻輸入模塊訪問SRAM3,DSP訪問SRAM1, 視頻輸出模塊訪問SRAM2,以此類推。因此,每一場圖像數據就都經過了存入SRAM,DSP訪問讀寫,圖像數據輸出三個過程。從視頻信號輸入到視頻信號輸出的數據處理流程來看就達到了實時圖像處理的要求。
這種設計結構使得DSP的軟件設計空間自由度很大。因為SRAM的存儲空間大,DSP不需要考慮圖像數據的存儲容量問題,內存資源可以投入到圖像處理軟件算法的工作中去。其次,DSP不用去考慮圖像數據訪問時間片的問題。對于每一場圖像數據,DSP都擁有完整的20ms時間訪問權,使DSP軟件的編寫可以非常靈活。
結束語
采用DSP+FPGA結構的實時圖像處理系統,既可以支持大數據量的實時性傳輸,又可以滿足視頻信號高速處理的需要。系統的擴展性和冗余性好,通過提高DSP的性能和SRAM的存儲容量,可以滿足對更高性能圖像處理的要求。
參考文獻:
[1] 段洪君,李清偉.DSP實時圖像處理系統[J].電子科技,2004,(1):36-38
[2] 羅戈亮,魯新平,李吉成.基于FPGA+DSP的實時圖像處理系統設計與實現[J].微處理機,2010,(2):108-110
[3] 柯麗,黃廉卿.DSP芯片在實時圖像處理系統中的應用[J].光機電信息,2005,(1):17-23
[4] 趙廣州,張天序.基于DSP和FPGA的模塊化實時圖像處理系統設計[J].華中科技大學學報,2004,(10):4-6
[5] 郭曉春.數字圖像實時處理系統的FPGA實現[D].哈爾濱工程大學,2011