《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > Vivado HLS嵌入式實時圖像處理系統的構建與實現
Vivado HLS嵌入式實時圖像處理系統的構建與實現
2016年電子技術應用第9期
張艷輝1,郭洺宇2,何 賓1
1.北京化工大學 信息科學與技術學院,北京100029;2.北京衛星環境工程研究所,北京100094
摘要: 傳統的基于CPU、GPU和DSP的處理平臺難以滿足圖像實時處理的要求,而FPGA在并行圖像處理上有著獨一無二的優勢,在性能和成本之間提供更加靈活的選擇。通過Xilinx最新的Vivado HLS工具,設計實現了可變參數的拉普拉斯算子圖像濾波算法,并且在ZYNQ-7000 SoC上構建了可視化的實時嵌入式圖像處理系統。實驗結果表明,系統可以實現不同的圖像處理算法,很好地滿足了圖像處理的實時性、高性能、低成本要求,對未來高性能圖像處理系統的設計和實現提供了很好的借鑒。
中圖分類號: TP368.2
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.030
中文引用格式: 張艷輝,郭洺宇,何賓. Vivado HLS嵌入式實時圖像處理系統的構建與實現[J].電子技術應用,2016,42(9):115-117,121.
英文引用格式: Zhang Yanhui,Guo Mingyu,He Bin. Construction and implementation of Vivado HLS embedded real-time image processing system[J].Application of Electronic Technique,2016,42(9):115-117,121.
Construction and implementation of Vivado HLS embedded real-time image processing system
Zhang Yanhui1,Guo Mingyu2,He Bin1
1.College of Information Science and Technology,Beijing University of Chemical Technology,Beijing 100029,China; 2.Beijing Institute of Satellite Environment,Beijing 100094,China
Abstract: Traditional processing platforms which are based on CPU,GPU and DSP cannot meet the requirements in real-time processing. FPGA has unique advantages in parallel image processing and provides a much more flexible option between performance and power consumption. By using Vivado High Level Synthesis(HLS),tool of Xilinx,a variable parameter laplacian image filter algorithm has been implemented. And a kind of real-time and visual embedded image processing system is constructed on the ZYNQ-7000 SoC. The experimental results of this system verify different image processing algorithm can be implemented easily on this platform,requirements of real-time,high performance and low cost can be satisfied well. This design provides reference for further high performance image processing system.
Key words : Vivado HLS;image processing;Laplacian;ZYNQ-7000;embedded Linux;Qt

0 引言

  近年來,由于成像技術的不斷進步以及圖像應用領域的拓寬,數字圖像包含的數據量與日俱增,圖像處理算法也越來越復雜[1]。目前應用普遍的數字信號處理器(Digital Signal Processor,DSP)和圖形處理器(Graphics Processing Unit,GPU)技術雖然在實現圖像處理上有著廉價、易于編程的優點,但是在性能、功耗、實時性方面,它們與FPGA相比仍有巨大的差距,難以滿足嵌入式圖像領域不斷增長的靈活性、高性能、低功耗的要求。大量研究表明,采用FPGA實現圖像處理能夠獲得較高的計算性能。因此,從計算性能、實時性的角度考慮,FPGA是嵌入式圖像處理應用的理想選擇方案[2]。

  Xilinx公司的ZYNQ-7000系列產品集成了最新工藝的ARM Cortex-A9雙核處理器與高性能的FPGA。作為新一代的可編程片上系統,ZYNQ-7000 SoC非常適合于計算密集、功能豐富的嵌入式應用設計。Xilinx公司的Vivado HLS工具將C語言、C++以及系統C語言引入到可編程邏輯設計中,而無須通過傳統的硬件描述語言編寫復雜的程序,大大地加速了IP創建,滿足了處理算法的靈活性[3]。設計利用Vivado HLS工具實現了可變參數的拉普拉斯算子圖像濾波算法,將生成的IP加入到ZYNQ-7000的可編程邏輯部分,用于處理OV7670攝像頭采集到的圖像數據。移植Ubuntu Linux桌面系統到ZYNQ-7000雙核處理器中,利用Qt工具編寫上位機人機交互控制界面與下位機顯示程序,實現了嵌入式Linux可視化實時圖像處理系統。

1 系統總體結構

  ZYNQ-7000嵌入式數字圖像處理系統結構框圖如圖1所示,系統主要由OV7670攝像頭、ZYNQ-7000 SoC、數據存儲單元DDR3、HDMI顯示器以及上位機等組成。ZYNQ-7000 SoC作為整個實時處理系統的核心,包括處理系統(Processing System,PS)和可編程邏輯(Programmable Logic,PL)兩部分,其中PS部分主要包含了雙ARM Cortex-A9核,PL部分包含了傳統意義的DSP資源和FPGA邏輯單元。

圖像 001.png

  1.1 PL部分實現的功能

  可編程邏輯PL部分實現的主要功能如下:

  (1)從OV7670攝像頭中獲取圖像數據,并通過視頻存儲器直接訪問(Video Direct Memory Access,VDMA)傳輸至DDR3存儲芯片中存儲;

  (2)將DDR3中存儲的圖像數據通過VDMA傳輸到可變參數的拉普拉斯濾波算法IP模塊進行圖像處理,并把處理生成的圖像數據通過VDMA重新傳輸到DDR3;

  (3)PL中的顯示模塊配合VDMA構成嵌入式Linux的硬件顯示單元。

  圖像采集采用OV7670攝像頭,OV7670圖像傳感器體積小、工作電壓低,提供單片VGA攝像頭和影像處理器的所有功能。通過SCCB 總線控制,可以輸出整幀、子采樣、取窗口等方式的各種分辨率的8位影像數據。設計選用RGB565、VGA640×480作為輸出格式,將相應的寄存器值通過SCCB控制模塊寫入到寄存器中,并把采集的數據通過AXI4 Stream接口協議寫入到DDR3中。在該設計中,通過硬件描述語言實現SCCB圖像控制與圖像接收模塊的設計。

  1.2 PS部分實現的功能

  處理系統PS部分實現的主要功能如下:

  (1)運行Ubuntu桌面系統,為上層應用提供操作系統支持;

  (2)調用編寫的VDMA、HDMI圖像顯示驅動實現與PL數據交互、桌面系統顯示的功能;

  (3)實現Qt編寫的上層應用程序及網絡編程等。

  如圖1所示,VDMA提供了PL與DDR3存儲器進行高速數據傳輸的機制。VDMA具有兩個數據端口:MM2S和S2MM。MM2S和S2MM的最大數據位寬均為64 bit,緩存區深度為512 B[4]。其中S2MM端口實現圖像數據從PL向DDR3存儲器傳輸,MM2S端口實現圖像數據從DDR3存儲器向PL傳輸。ARM處理器可以通過通用接口AXI_GP對VDMA進行控制。

2 拉普拉斯算子濾波算法的實現

  2.1 拉普拉斯算子濾波算法

  拉普拉斯算子是圖像處理技術中常見的一種增強算子,因為具有旋轉不變性、實現簡單等特點,被廣泛地應用于圖像銳化和高頻增強等算法中。圖像信號中,高頻分量一般對應于圖像的邊緣輪廓,采用拉普拉斯算子的圖像濾波算法能夠實現圖像銳化、增強圖像輪廓清晰度的效果。拉普拉斯算子是最簡單的各向同性微分算子,具有旋轉不變性。一個二維圖像函數的拉普拉斯變換是各向同性的二階導數,定義為:

  QQ圖片20161115100240.png

  該方程的離散形式為:

  QQ圖片20161115100243.png

  拉普拉斯算子可以表示成模板的形式,如圖2(a)所示,圖2(b)表示其擴展模板,圖2(c)和圖2(d)則分別表示其他兩種拉普拉斯的實現模板。

圖像 002.png

  2.2 Vivado HLS實現算法編寫

  Vivado HLS利用C語言、C++語言以及系統C語言提供的高級結構來提高抽象層次,提供數據原語方便使用基礎硬件構建IP模塊。與使用RTL相比,Vivado HLS代碼更加緊湊,可讀性和可維護性更加優良,可以更輕松地實現各種接口協議,從簡單的FIFO接口到完整的AXI4 Stream,滿足不同模塊間的數據通信。

  Vivado HLS實現拉普拉斯算法流程如圖3所示。數據處理按照圖中箭頭依次進行,數據在單個單元中并行運算或在不同單元間并行移動。每個時鐘周期AXI4 Stream接口將24 bit的一個像素數據送入算法模塊中,先經過灰度處理,然后存入2×640的行緩存中,行緩存和新的數據構成3×3的窗口數據,窗口的9個數據和AXI_GP接口傳輸進來的拉普拉斯算子參數進行運算得到一個新的8 bit像素數據送回到DDR3中。

圖像 003.png

  編寫的算法在XC7Z010器件上的資源占用率如表1所示,可以看出,只用了PL很少的資源便實現了圖像濾波算法。

圖像 007.png

  2.3 Qt實現參數控制程序

  良好的人機交互功能是嵌入式系統重要的一部分[5]。設計采用Qt Creator開發工具在PC上實現了控制端應用程序,如圖4所示。PC通過以太網與下位機進行連接,在控制端輸入不同的拉普拉斯算子,系統會產生不同的濾波效果,并將濾波后的圖像顯示在下位機的HDMI顯示器上。

圖像 004.png

3 設計仿真與系統測試

  3.1 Vivado HLS仿真

  Vivado HLS除了將高效的編程代碼轉換為IP以外,還提供了另一項重要功能:C語言仿真和C/RTL協同仿真。C語言仿真中C/C++的編譯和執行與常見的C/C++程序相同,具有良好的可讀性和高效性。C/RTL協同仿真會根據C/C++測試平臺自動生成RTL測試平臺,設置并執行RTL仿真,檢查實現方案的正確性。C語言仿真測試代碼如下:

  IplImage* src=cvLoadImage("lena.jpg");//加載測試圖片

  AXI_STREAM  src_axi, dst_axi;//定義流數據類型變量

  IplImage2AXIvideo(src, src_axi);

  //圖片轉換為流數據類型

  Laplasian_fil(&lap00,&lap01,&lap02,&lap10,&lap11,

  &lap12,&lap20,&lap21,&lap22,src_axi, dst_axi);

  //濾波算法主函數

  AXIvideo2IplImage(dst_axi, dst);

  //流數據類型轉換為圖片

  cvSaveImage("lena_result.jpg", dst);//保存圖片

  測試程序首先將本地用于測試的圖片轉換為AXI4 Stream接口協議數據,并設置拉普拉斯算子的值,然后將圖片數據和拉普拉斯算子以參數的形式送入到圖像濾波算法中,濾波后的圖片會以jpg的形式存入本地。測試原圖片及生成圖片如圖5所示。

圖像 005.png

  3.2 系統測試

  測試系統采用Xilinx公司提供的ZyBo開發板,該開發板搭載了XC7Z010主芯片,擴展外設通過PMOD接口與OV7670攝像頭進行連接,PC通過板載以太網接口和串行接口與ZyBo通信,HDMI顯示運行的Ubuntu桌面系統。

  控制端輸入圖2中不同的拉普拉斯算子得到的處理結果如圖6所示,結果完全滿足每秒30幀、RGB640×480格式圖像實時濾波的要求。

圖像 006.png

4 結論

  基于ZYNQ-7000異構架構的圖像處理系統不但可以實現嵌入式操作系統相關的任務,如圖形界面、用戶輸入、網絡、DDR3控制等,還可以提供高性能實時圖像處理的功能[6]。采用Xilinx最新的Vivado HLS工具進行FPGA高層次設計對圖像算法進行加速,能夠有效提高設計效率,并且能夠快速生成工業標準的IP核,有利于進一步實現系統集成。設計的實驗和驗證結果表明了基于ZYNQ-7000異構架構和Vivado HLS工具的實時圖像處理系統易于移植,便于針對特定應用定制,為未來的高性能圖像處理提供了較高的工程應用與參考價值。

  參考文獻

  [1] 何賓.Xilinx FPGA設計權威指南[M].北京:清華大學出版社,2014.

  [2] 陸佳華,江舟.嵌入式系統軟硬件協同設計實戰指南[M].北京:機械工業出版社,2013.

  [3] 陸啟帥,陸彥婷,王地.Xilinx Zynq SoC與嵌入式Linux設計實戰指南[M].北京:清華大學出版社,2014.

  [4] KARRAS K,HRICA J.Vivado HLS推動協議處理系統蓬勃發展[DB/OL].(2014-09-16)[2016-03-01].http://xilinx.eetrend.com/article/7676.

  [5] 梁柱華,顧新.嵌入式Linux實時性的研究[J].電子科技,2005(11):57-60,64.

  [6] 焦再強.基于Zynq-7000的嵌入式數字圖像處理系統設計與實現[D].太原:太原理工大學,2015.

  


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美在线观看www| 日韩一区二区福利| 日韩视频免费在线观看| 黄色成人精品网站| 国产亚洲欧美在线| 国产精品自拍一区| 国产精品区免费视频| 欧美日韩中文字幕综合视频| 欧美日本精品在线| 欧美激情视频一区二区三区在线播放 | 美女任你摸久久| 久久伊人精品天天| 久久精品一区四区| 久久久精品国产免大香伊| 久久久久久久一区| 久久久夜精品| 欧美a级片网站| 欧美黄色成人网| 欧美日本不卡| 国产精品二区二区三区| 国产精品亚洲视频| 国产日韩欧美精品| 国产在线国偷精品产拍免费yy| 国户精品久久久久久久久久久不卡| 国产一区高清视频| 一区二区三区在线免费视频| 亚洲国产精品第一区二区| 亚洲精品一区二区三区樱花 | 亚洲电影免费| 亚洲精品视频在线| 一区二区三区国产在线观看| 亚洲欧美日本另类| 久久久福利视频| 免费在线亚洲欧美| 欧美日韩一区二区国产| 国产精品尤物福利片在线观看| 国产情侣久久| 尹人成人综合网| 亚洲人在线视频| 亚洲影院免费| 亚洲国产精品一区二区尤物区| 亚洲精品视频在线播放| 亚洲一区二区三区四区在线观看| 欧美在线一二三| 蜜臀av国产精品久久久久| 欧美区在线观看| 国产精品视频你懂的| 黄色在线一区| av成人激情| 久久高清福利视频| 这里只有精品在线播放| 久久久999成人| 欧美精品福利视频| 国产精品一二三四区| 影音先锋成人资源站| 一区二区三区精品久久久| 欧美一二三区在线观看| 亚洲精品美女在线| 欧美一区二区三区电影在线观看| 美日韩精品视频| 国产精品视频| 亚洲精品免费在线观看| 性色av一区二区三区在线观看| 亚洲日本国产| 欧美有码在线视频| 欧美日韩精品免费观看视频完整| 国产女主播在线一区二区| 亚洲欧洲日本在线| 亚洲欧美在线一区二区| 99国产精品久久久久久久| 久久精品国产久精国产爱| 欧美日韩久久久久久| 激情自拍一区| 午夜精品久久久久久久久久久| 日韩视频中午一区| 久久琪琪电影院| 国产精品久久久久久户外露出 | 9色精品在线| 久久人人97超碰精品888| 国产精品mv在线观看| 永久域名在线精品| 亚洲素人一区二区| 亚洲精品免费在线播放| 久久久成人精品| 国产精品嫩草99av在线| 亚洲日本va在线观看| 亚洲高清在线视频| 欧美一区二区在线观看| 欧美日韩一区视频| 亚洲国内精品| 久久精品色图| 亚洲欧美国产视频| 欧美日韩一区二区三区视频| 在线国产日韩| 欧美一级夜夜爽| 午夜精品一区二区在线观看 | 亚洲精品一区二| 亚洲精品乱码| 久久这里只精品最新地址| 国产美女诱惑一区二区| 在线性视频日韩欧美| 一本色道久久综合亚洲二区三区| 欧美aⅴ99久久黑人专区| 国产综合色一区二区三区| 亚洲欧美另类在线| 午夜欧美理论片| 国产精品九九久久久久久久| 亚洲裸体俱乐部裸体舞表演av| 亚洲精品视频啊美女在线直播| 麻豆成人av| 狠狠色狠色综合曰曰| 欧美诱惑福利视频| 久久激情五月激情| 国产欧美日韩在线观看| 亚洲一区在线看| 性色av香蕉一区二区| 国产精品乱码一区二三区小蝌蚪| 一本色道**综合亚洲精品蜜桃冫| 一本色道久久88综合亚洲精品ⅰ | 国内精品免费在线观看| 欧美一区二区三区成人| 久久国产精品网站| 国产一区二区精品| 亚洲电影成人| 欧美高清你懂得| 亚洲黄色在线看| 一本一本久久| 欧美亚韩一区| 亚洲欧美怡红院| 久久精品视频在线免费观看| 国产一区二区精品丝袜| 久久精品一区二区三区四区| 久久久美女艺术照精彩视频福利播放| 国产日韩欧美综合精品| 久久不见久久见免费视频1| 久久久亚洲人| 亚洲国产成人av| 夜夜狂射影院欧美极品| 欧美日韩综合在线| 亚洲自拍电影| 久久久久久综合| 在线免费观看成人网| 99xxxx成人网| 国产精品久久久久影院色老大| 亚洲一本大道在线| 久久精品在线视频| 亚洲第一色在线| 国产精品99久久久久久久女警| 国产精品久久久久永久免费观看 | 91久久在线播放| 亚洲一区二区网站| 国产视频观看一区| 亚洲国产一区二区三区在线播| 欧美韩国日本一区| 国产精品99久久久久久白浆小说| 欧美一区二区三区四区在线观看| 激情丁香综合| 一区二区福利| 国产热re99久久6国产精品| 亚洲国产精品久久久久婷婷884| 欧美欧美在线| 亚洲欧美电影院| 巨胸喷奶水www久久久免费动漫| 亚洲精品免费电影| 欧美在线综合视频| 亚洲国产精品久久久久婷婷老年| 亚洲午夜免费视频| 海角社区69精品视频| 99ri日韩精品视频| 国产欧美一区二区三区久久| 91久久久久久| 国产精品久久久一区二区三区| 久久精品99久久香蕉国产色戒| 欧美日本亚洲韩国国产| 羞羞视频在线观看欧美| 欧美巨乳在线观看| 欧美一级欧美一级在线播放| 欧美激情中文字幕乱码免费| 午夜精品久久久久久久蜜桃app| 你懂的视频一区二区| 亚洲图片欧美日产| 免费黄网站欧美| 亚洲一区二区三区四区五区黄| 欧美aa在线视频| 性xx色xx综合久久久xx| 欧美精品在线观看播放| 亚洲欧美日韩精品久久亚洲区| 欧美刺激性大交免费视频| 亚洲综合另类| 欧美日本亚洲视频| 久久精品免费看| 国产精品一区二区久激情瑜伽| 亚洲精品色婷婷福利天堂| 国产毛片精品视频| 一区二区三区视频观看| 影院欧美亚洲| 久久久国产午夜精品| 亚洲视频一区| 欧美日韩少妇| 日韩视频久久|