摘 要:實時圖像處理是圖像處理領域的一個熱點。給出了一種基于USB2.0 的視頻圖像處理芯片的實現方案,首先介紹了系統(tǒng)的整體設計框架,然后針對框架內核心模塊闡述了相應的硬件實現原理,最后以Xilinx FPGA 開發(fā)板系列ML-506(核心芯片Virtex-5 XC5VSX50T FFG1136)。為驗證平臺,結合各種軟件仿真工具對整個系統(tǒng)進行了仿真。仿真結果表明,該方案能夠很好地滿足實際的各項指標要求。
1 引言
隨著計算機技術、微電子技術的高速發(fā)展,實時圖像處理在多媒體、圖像通信等領域有著非常廣泛的應用。FPGA 芯片在集成度、容量和速度方面都達到了較高的水平,是實時圖像處理的理想選擇,基于FPGA 的圖像處理芯片的研究已成為信息產業(yè)的新熱點。USB2.0 接口是一個傳輸速率可以達到480Mb/s的串行接口,并由不同類型的外圍設備共享這個接口總路線,基于USB2.0 的視頻圖像處理芯片是按照USB協(xié)議進行設計的。USB2.0 接口的面世,推動了高清數碼攝像頭的普及應用,加上同期寬帶的飛速發(fā)展,電腦攝像頭的本地和遠程視頻效果都有了大幅度提升。國內USB2.0 的視頻圖像處理芯片現在發(fā)展迅速,比如深圳的艾科創(chuàng)新、珠海的炬力等公司都相繼推出了各自的產品。本文介紹了一種基于USB2.0 的視頻圖像處理芯片的實現方案,并在搭建的仿真和驗證平臺上,對系統(tǒng)進行了功能仿真和FPGA 驗證,結果證實本設計達到了設計要求。
2 基于USB2.0的視頻圖像處理芯片的整體實現方案
基于USB2.0 視頻圖像處理芯片在硬件上由8 個模塊組成:微處理器模塊(MCU)、MCU 總線接口模塊(MCU Bus Interface)、USB2.0 收發(fā)器模塊(USB2.0PHY)、USB2.0 串行接口引擎模塊(USB2.0 SerialInterface Engine,簡稱USB2.0 SIE)、數據緩沖模塊(Data Buffer)、DMA 傳輸控制器模塊(DMA)、圖像處理單元 (PU) 、圖像預處理單元(PPU)。其結構框圖如下圖1 所示。
圖1 基于USB2.0 的視頻圖像處理芯片結構框圖
其中,MCU模塊、USB2.0 PHY模塊和USB2.0 SIE模塊使用已有的IP 核,而其它模塊均采用硬件描述語言(Verilog HDL)自行設計。
MCU 模塊負責協(xié)調控制整個系統(tǒng)的運作;MCUBus Interface 模塊負責各模塊的部分地址譯碼及相關數據的選通,以便于MCU 統(tǒng)一管理。USB2.0 PHY 模塊負責USB 物理層的鏈接,并將USB2.0 的總線信號變成標準的UTMI 接口信號;USB2.0 SIE 模塊負責處理USB 協(xié)議層的操作,完成USB 協(xié)議包生成和解析,以及接收來自DMA 的圖像數據,并將其保存在數據緩沖模塊,完成與MCU 進行的互動;DataBuffer 負責將處理后的圖像數據緩存起來,以備USB 同步幀傳輸時取出后發(fā)送至PC;DMA 模塊完成將PU 處理后的圖像數據傳送給USB2.0 SIE;PPU 模塊完成獲取來自Sensor傳感器輸出的圖像數據,并且對數據進行各種圖像方面的處理,然后將處理后的圖像數據發(fā)送至PU.
3 PPU模塊中核心部件的設計
PPU 模塊所完成的功能主要是:(1) YCbCr4:2:2格式到YCbCr4:4:4 格式的轉換;(2) RGB565 格式到RGB888 格式的轉換;(3) Bayer 數據壞點修正及Bayer格式到RGB888 格式的轉換。其中第三個功能是本模塊的最重要的功能,本方案中采用了“兩條線偽雙端口+六級流水線”的方案來實現,其原理圖如圖2所示。
圖2 Bayer 數據壞點修正及格式轉換的硬件原理圖。
從圖2 可以知道,在本方案中把壞點修正算法與格式轉換算法做在了一個模塊中。壞點地址存儲模塊,主要是用來接收從MCU 輸出的壞點信息。偽雙端口RAM1、RAM2 是用來臨時存儲Bayer 圖像中的前兩行數據。而右端的六級流水線模塊,它的作用是完成相應的壞點修正和格式轉換。其中,六級流水線的前面五級的作用是完成3×5 窗口的壞點修正,而后面三級是為了完成3×3 窗口的格式轉換。
邏輯管理模塊的主要作用是統(tǒng)一管理六級流水線的相應操作,其內部包含一些計數器、比較器。從圖中還可以看到,P24、P34 分別把數據寫入了RAM1、RAM2,這主要是為了更新RAM 中的數據,使得3×6 窗口能夠漫游Bayer 圖像的每一個像素點。同時本設計對圖像的邊緣也做了很好的處理,采用鏡像技術對邊緣做了很好的修正。
4 PU模塊中核心部件的設計
圖像處理單元所要完成的功能主要有:(1)圖像濾波(Image Filte);(2)對比度(Contrast);(3)亮度(Brightness);(4)飽和度(Saturation);(5)色相(Hue);(6)銳化(Sharpness);(7)伽馬校正(Gamma)等。圖3 給出了PU 模塊中核心部件的結構,其中圖像濾波功能是通過一個1×5 窗口在圖像上的遍歷來完成,伽馬校正主要是通過對ROM 的查表來實現。
圖3 PU 模塊中核心部件結構圖。
5 設計的仿真和驗證
5.1 模塊的功能仿真
主要給出了對圖像預處理模塊中核心部件Bayer模塊的仿真驗證方法,其他模塊的仿真驗證與此類似。
由于圖像處理模塊所涉及的數據量非常龐大,僅憑單一的一種或兩種軟件無法獨立完成,所以這里仿真驗證的工作是通過三個軟件Xilinx ISE + ModelSim +Matlab 共同完成,圖4 給出了Bayer 模塊TestBench示意圖,其實現的步驟主要分為以下三步:
圖4 Bayer 模塊TestBench 模型示意圖。
(1)由MATLAB 從10 張有共同壞點位置的不同JPEG 圖像中讀取8bit 無符號RGB 數據,然后由相應的RGB 數據生成對應的Bayer 數據,并以10個。txt 文本文件來保留這10 張圖像的Bayer 數據,這十張文本文件同壞點位置信息一起作為測試輸入激勵。
(2)把測試輸入激勵,分別輸入Bayer 模塊和MATLAB 模擬Bayer 模塊功能的程序中,可以分別得到大量的信息,這些信息都是由。txt 文本文件來保存,其中MATLAB 模擬程序完成的功能與Bayer 模塊完成的功能相同,只是兩者運行的平臺不同。
(3)比較由MATLAB 模擬程序與Bayer 模塊所生成的大量。txt 文本文件,由于模擬程序和硬件模塊具體實現的機制不同(模擬程序采用了矩陣運算,而硬件模塊采用2 條線的行緩沖+六級流水線的方式實現),如果它們產生的數據一致,則可以很好的說明硬件模塊完成了預期的功能, 然后再運用MATLAB 顯示函數,把原始圖像數據與修正后的數據以圖像的形式顯示出來,這樣能以更加直觀的形式來觀察對應的圖像效果。
圖5 所示的三張圖片是仿真驗證的過程中所涉及到圖片,從圖中可以看到Bayer 模塊的設計達到了預期的目的。
圖5(a) 用于生成Bayer 數據的原始圖像。
圖5(b) 由Bayer 數據未作壞點修正直接復原出的圖像。
圖5(c) 由做了壞點修正的Bayer 數據復原出的圖像。
5.2 FPGA 上的驗證
5.2.1 FPGA 上驗證平臺的搭建
圖6 所示為本設計的FPGA 驗證平臺示意圖。
圖6 FPGA 驗證平臺示意圖。
PC 與一塊USB2.0 PHY板通過USB2.0 總線連接,USB2.0 PHY 板與FPGA 開發(fā)板由標準UTMI 接口連接。Sensor 板主要是采用美光的MT9V112 sensor 板,I2C 接口主要是用于MCU 對Sensor 的控制,Data 總線包括數據總線和數據控制總線。而硬件MCU 模塊、MCU Bus Interface 模塊、USB2.0 SIE 模塊、DMA 模塊、PPU 模塊和PU 模塊均已綜合生成FPGA 下載程序下載到FPGA 中。
5.2.2 驗證過程及結果
首先在PC 端需要安裝幾個工具軟件,用于觀察USB設備描述符信息的USBViewer,用于捕捉USB 枚舉信息的工具軟件BusHund.按圖6 所示連接所有硬件,然后,將USB2.0 PHY 板的USB 接口插入到PC的USB 插口,并打開USB 視頻管理工具軟件,能夠看到流暢的視頻圖像。專用測試工具軟件可以測試圖像幀速率。在驗證的過程中,可以看到本方案所設計的芯片支持的最大分辨率為 640×480(VGA),最大分辨率時的幀速率約為15~20fps,基本達到了設計要求。
圖7 所示為PC 機上安裝的USB 數據捕捉軟件工具捕捉的視頻圖像數據,經分析這些數據證明圖像數據正常傳送至PC 用戶。
圖7 BusHound 捕捉的圖像數據。
圖8 是通過本系統(tǒng)在PC 機上使用USB 視頻工具軟件Cyberlink YouCam 捕捉到的圖像。
圖8 在本系統(tǒng)基礎上捕捉到的圖像。
由上圖可以看出本設計能夠穩(wěn)定地輸出圖像,能夠穩(wěn)定地實現設計要求。并且經過反復的測試和評估,表明本設計達到了設計要求。表1 為經測試能夠實現的主要技術指標。
表1 實現的主要技術指標
6 結束語
本文設計了一種基于USB2.0 的視頻圖像處理芯片,通過功能仿真和FPGA 驗證,表明達到了設計要求,完成了設計任務。隨著FPGA 技術不斷發(fā)展,使用FPGA 處理圖像信息已成為圖像處理領域中的一個發(fā)展趨勢,特別是在對圖像處理速度有較高要求的實時圖像處理系統(tǒng)中,FPGA 將更能體現其在速度與靈活性方面的優(yōu)勢。
評論
查看更多