《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 引導(dǎo)濾波的軟硬件協(xié)同加速器設(shè)計(jì)與實(shí)現(xiàn)
引導(dǎo)濾波的軟硬件協(xié)同加速器設(shè)計(jì)與實(shí)現(xiàn)
2016年電子技術(shù)應(yīng)用第11期
劉 聲,韓俊剛,韓 帥
西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安710121
摘要: 引導(dǎo)濾波算法被大量用于圖像處理領(lǐng)域中,在去雨雪、去霧、前景提取、圖像去噪、圖像增強(qiáng)、級(jí)聯(lián)采樣等方面有很好的處理效果。但是對(duì)于實(shí)時(shí)應(yīng)用,軟件實(shí)現(xiàn)難以滿足需要。提出了在SDSoC環(huán)境下利用軟硬件協(xié)同開(kāi)發(fā)策略實(shí)現(xiàn)引導(dǎo)濾波硬件加速。通過(guò)在SDSoC開(kāi)發(fā)環(huán)境中調(diào)試C語(yǔ)言代碼實(shí)現(xiàn)引導(dǎo)濾波算法,并將其中影響性能的函數(shù)用Xilinx公司開(kāi)發(fā)的Zedboard開(kāi)發(fā)版硬件實(shí)現(xiàn)。在設(shè)計(jì)中,采用了流數(shù)據(jù)的方法、PS(Processing System)端和PL(Programmable Logic)端協(xié)同開(kāi)發(fā)策略,以及軟硬件并行、流水線優(yōu)化等優(yōu)化方法,提高了加速器的整體性能。實(shí)驗(yàn)結(jié)果表明,提出的軟硬件協(xié)同的引導(dǎo)濾波加速器加速比可達(dá)16。
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.11.010
中文引用格式: 劉聲,韓俊剛,韓帥. 引導(dǎo)濾波的軟硬件協(xié)同加速器設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42(11):44-45,48.
英文引用格式: Liu Sheng,Han Jungang,Han Shuai. The accelerator design and implementation using hardware/software co-design for guided filter[J].Application of Electronic Technique,2016,42(11):44-45,48.
The accelerator design and implementation using hardware/software co-design for guided filter
Liu Sheng,Han Jungang,Han Shuai
School of Computer,Xi′an University of Posts and Telecommunications,Xi′an 710121,China
Abstract: The guided filter is widely used in image processing fields such as removal rain and snow, removal smog, foreground extraction, image denoising, image enhancement, cascade sampling and so on. But it is hard to satisfy real time requirement base on software. In the proposed method, the guided filter is speed up based on SDSoC environment using hardware/software co-design approach. Guided filter algorithm is implemented by debugging C language in SDSoC environment, and then some functions which impact the performance are implemented by hardware using the Zedboard from Xilinx company. The algorithm uses the method of data stream, PS(Processing System) and PL(Programmable Logic) co-design strategy, parallelism of hardware and software, pipeline optimization, reconstruction sequence of algorithm and the combination of line buffer and window buffer. The experimental results show that the accelerator′s speed-up ratio can be 16.
Key words : guided filter;SDSoC;hardware/software co-design;FPGA

0 引言

    2010年HE K M等人提出了引導(dǎo)濾波(Guided Filter)[1]算法。該算法與雙邊濾波最大的相似之處就是同樣具有保持邊緣的特性,不同之處在于它還克服了去偽影的影響。該算法被大量用于圖像處理領(lǐng)域中,在去雨雪[2]、去霧[3]、前景提取[4]、圖像去噪、圖像增強(qiáng)、級(jí)聯(lián)采樣等方面有很好的處理效果。

    但是,隨著處理圖像的尺寸不斷擴(kuò)大,基于CPU處理的引導(dǎo)濾波算法越來(lái)越不能滿足人們的需求,因此,王新磊等[5]用CUDA實(shí)現(xiàn)了引導(dǎo)濾波GPU加速。為使引導(dǎo)濾波能在嵌入式領(lǐng)域達(dá)到實(shí)時(shí)處理,本文提出了基于FPGA對(duì)引導(dǎo)濾波實(shí)現(xiàn)加速的方法。

1 引導(dǎo)濾波算法介紹

    引導(dǎo)濾波理論的基礎(chǔ)是局部線性模型。該模型認(rèn)為:任意函數(shù)上的任意一點(diǎn)與該點(diǎn)鄰近部分的點(diǎn)可以看成是線性關(guān)系,一個(gè)復(fù)雜的函數(shù)可以用很多局部線性函數(shù)來(lái)表示。若需要求出該函數(shù)上某一點(diǎn)的值,只需求出所有包含該點(diǎn)的線性函數(shù)的值,并求出這些線性函數(shù)值的平均值,這個(gè)平均值就是該函數(shù)上所求點(diǎn)的值。

2 引導(dǎo)濾波加速器設(shè)計(jì)

2.1 實(shí)驗(yàn)環(huán)境介紹

    本文采用Zynq-7000系列的Zedboard開(kāi)發(fā)板[6]作為硬件開(kāi)發(fā)環(huán)境,其PS端提供了ARM Cortex-A9處理器、512 MB DDR3內(nèi)存空間和外部存儲(chǔ)接口。其PL端的XC7Z020 CLG481-1 EEP芯片提供了可編程邏輯陣列單元,為硬件加速提供了豐富的邏輯資源。本文采用SDSoC[7]作為軟件開(kāi)發(fā)環(huán)境,它是基于Zynq-7000全可編程芯片在嵌入式系統(tǒng)中的IDE(Integrated Development Environment)。

2.2 算法結(jié)構(gòu)設(shè)計(jì)

    本文將單通道的圖像數(shù)據(jù)存儲(chǔ)在PS端的外部存儲(chǔ)中,之后讀取數(shù)據(jù)到內(nèi)存中。為了獲取最大的運(yùn)算性能,在引導(dǎo)濾波函數(shù)調(diào)用前分配好算法需要的圖像緩沖空間,將內(nèi)存空間指針以參數(shù)形式傳遞給引導(dǎo)濾波函數(shù),供其使用,之后PS端調(diào)用引導(dǎo)濾波函數(shù)。本文將引導(dǎo)濾波算法分為兩部分,其中一部分是將對(duì)算法有較大影響的函數(shù)用硬件加速,硬件加速部分將數(shù)據(jù)傳到PL端,PL端將其用硬件邏輯電路實(shí)現(xiàn),對(duì)實(shí)現(xiàn)的硬件再通過(guò)流水線、并行處理和算法重構(gòu)等優(yōu)化方法對(duì)算法進(jìn)行優(yōu)化。處理完數(shù)據(jù)后,再將數(shù)據(jù)寫回到PS端。最終PS端將處理好的圖像存儲(chǔ)在外部存儲(chǔ)中。算法結(jié)構(gòu)設(shè)計(jì)如圖1所示。

qrs2-t1.gif

2.3 優(yōu)化方法

2.3.1 流數(shù)據(jù)傳輸

    為了獲取PS端和PL端的最大傳輸性能,本文使用SDSoC開(kāi)發(fā)環(huán)境中的sds_alloc函數(shù)[8]在PS端申請(qǐng)連續(xù)的物理地址作為圖像緩沖區(qū),并在硬件函數(shù)聲明前插入指導(dǎo)編譯器的參數(shù)#pragma SDS dada zero_copy(imgIn[0:rows*cols])和#pragma SDS data access_pattern(imgIn[0:rows*cols])命令來(lái)將圖像數(shù)據(jù)轉(zhuǎn)化為流數(shù)據(jù)[8]進(jìn)行傳輸。

2.3.2 流水線優(yōu)化

    為了增加程序的并發(fā)性,流水線優(yōu)化可以使當(dāng)前操作沒(méi)有完成之前就開(kāi)始執(zhí)行下一個(gè)操作。環(huán)境SDSoC的PIPELINE[8,10]優(yōu)化指令可以對(duì)函數(shù)及循環(huán)進(jìn)行優(yōu)化。下面分別對(duì)函數(shù)的流水線和循環(huán)的流水線優(yōu)化進(jìn)行說(shuō)明。

    (1)函數(shù)的流水線操作

    從圖2可以看出,func函數(shù)需要3個(gè)時(shí)鐘完成一組操作。若進(jìn)行兩組操作,在沒(méi)有進(jìn)行流水線優(yōu)化的情況下,每次操作順序執(zhí)行,最后一次輸出需要6個(gè)時(shí)鐘;而經(jīng)過(guò)流水線優(yōu)化的func函數(shù),每經(jīng)過(guò)1個(gè)時(shí)鐘就可以讀取下一組數(shù)據(jù),兩組操作完成后只需要4個(gè)時(shí)鐘周期就能夠輸出結(jié)果。由此可見(jiàn),流水線優(yōu)化可以提高函數(shù)的并發(fā)性,增加算法的效率。

qrs2-t2.gif

    (2)循環(huán)的流水線優(yōu)化

    從圖3可看出,用循環(huán)來(lái)對(duì)圖像像素進(jìn)行處理,假設(shè)每個(gè)像素處理時(shí)間為30個(gè)時(shí)鐘周期,若處理圖像大小為512×512,則未流水線優(yōu)化前,需要的總時(shí)鐘個(gè)數(shù)為7 864 320個(gè)時(shí)鐘周期;流水線優(yōu)化后,需要的總時(shí)鐘個(gè)數(shù)為262 174個(gè)時(shí)鐘周期,性能有了近30倍的提升。

qrs2-t3.gif

2.3.3 并行處理

    SDSoC環(huán)境提供了async和wait指令,使得程序員能夠?qū)τ布瘮?shù)的同步方式進(jìn)行控制。硬件開(kāi)始工作后,PS端的async指令會(huì)交還CPU的控制權(quán),繼續(xù)執(zhí)行PS端的任務(wù),實(shí)現(xiàn)軟硬件函數(shù)并行處理。通過(guò)這種方法,可以增加系統(tǒng)的并行性,提高算法的效率。wait命令用來(lái)同步數(shù)據(jù),使得下一個(gè)函數(shù)能夠成功應(yīng)用上一個(gè)硬件函數(shù)的輸出結(jié)果,防止程序死鎖。

3 實(shí)驗(yàn)結(jié)果分析

    本文輸入單通道的.bmp格式文件為待處理圖像,模板大小選擇3×3,引導(dǎo)圖像和待處理圖像為同一張圖像,實(shí)驗(yàn)效果如圖4所示。

qrs2-t4.gif

    其中,圖4(a)為待處理圖像和引導(dǎo)圖像,圖4(b)為經(jīng)過(guò)軟硬件協(xié)同加速器實(shí)現(xiàn)的引導(dǎo)濾波效果圖,圖4(c)為在PC上用OpenCV庫(kù)純軟件實(shí)現(xiàn)的引導(dǎo)濾波效果圖。通過(guò)對(duì)比可看出,經(jīng)過(guò)軟硬件協(xié)同加速器實(shí)現(xiàn)的引導(dǎo)濾波和在PC上純軟件實(shí)現(xiàn)的引導(dǎo)濾波在效果上基本相同。

    為了比較本文提出的軟硬件協(xié)同加速器的加速效果,分別測(cè)出了在PS端對(duì)不同大小圖像實(shí)現(xiàn)引導(dǎo)濾波算法的幀率值和軟硬件協(xié)同加速器對(duì)不同大小圖像實(shí)現(xiàn)引導(dǎo)濾波算法的頻率值。實(shí)驗(yàn)數(shù)據(jù)如表1所示。

qrs2-b1.gif

4 結(jié)束語(yǔ)

    本文實(shí)現(xiàn)了引導(dǎo)濾波的軟硬件協(xié)同加速器,并利用開(kāi)發(fā)環(huán)境SDSoC所提供的優(yōu)化指令對(duì)硬件進(jìn)行了性能優(yōu)化。與CUDA實(shí)現(xiàn)的引導(dǎo)濾波相比,性能雖有所不及,但加速效果明顯,并在低功耗及開(kāi)發(fā)周期上優(yōu)勢(shì)大于CUDA。本文提出的軟硬件協(xié)同加速器可直接用于內(nèi)置CPU和FPGA的嵌入式系統(tǒng)中,縮短了嵌入式工程師開(kāi)發(fā)周期,提高了系統(tǒng)整體性能。

參考文獻(xiàn)

[1] HE K M,SUN J,TANG X O.Guided image filtering[C].Proceddings of the 11th European Conference on Computer Vision.Heraklion,Crete,Greece:Lecture Notes in computer Science,2010:1-14.

[2] 鄭賢輝.單幅圖像去雨雪的算法研究[D].廈門:廈門大學(xué),2014.

[3] 楊燕,白海平,王帆.基于引導(dǎo)濾波的單幅圖像自適應(yīng)去霧算法[J].計(jì)算機(jī)工程,2016,42(1):265-271.

[4] 漆琳智,張超,吳向陽(yáng).引導(dǎo)濾波的單幅圖像前景精確提取[J].杭州電子科技大學(xué)學(xué)報(bào),2013,33(5).

[5] 王新磊,何凱,王曉文.引導(dǎo)濾波算法的CUDA加速實(shí)現(xiàn)[J].吉林大學(xué)學(xué)報(bào),2016,34(1).

[6] Xilinx.Zynq architecture[Z].2016.

[7] Xilinx.SDSoC development environment[Z].2016.

[8] Xilinx.SDSoC environment user guide[Z].2016.

[9] CHATI H D,MUHLBAUER F,BRAUN T,et al.Hardward/software co-design of a key point detector on FPGA[C].IEEE Computer Society,2007:355-356.

[10] Xilinx.Vivado design suite user guide:High-level synthesis[EB/OL].[2016-02].http:www.xilinx.com.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲麻豆一区| 亚洲国产合集| 精品不卡在线| 国产伦精品免费视频| 欧美三日本三级少妇三2023| 欧美成人情趣视频| 麻豆成人综合网| 久久亚洲私人国产精品va| 欧美中文字幕在线播放| 性8sex亚洲区入口| 性色av一区二区三区| 亚洲欧美视频在线观看视频| 亚洲一级影院| 亚洲男人的天堂在线| 亚洲一区精彩视频| 亚洲一区二区精品视频| 亚洲色在线视频| 亚洲视频狠狠| 亚洲欧美日本在线| 欧美一级片一区| 欧美综合二区| 久久久久欧美| 久热精品视频在线观看| 另类专区欧美制服同性| 米奇777超碰欧美日韩亚洲| 老司机精品视频一区二区三区| 久久综合影音| 欧美激情1区2区| 欧美日韩国产三区| 欧美丝袜一区二区| 国产精品嫩草99av在线| 国产视频自拍一区| 国产日韩专区在线| 狠狠色伊人亚洲综合网站色| 怡红院精品视频| 亚洲精品欧美日韩| 亚洲午夜在线观看| 欧美一区二区三区电影在线观看| 久久成人精品视频| 亚洲日本激情| 亚洲视频第一页| 久久高清国产| 久久综合图片| 欧美日韩国产综合新一区| 欧美亚州一区二区三区| 国产精品综合久久久| 国内精品伊人久久久久av影院| 亚洲电影自拍| 一区二区高清在线| 欧美一区二区在线| 亚洲另类春色国产| 亚洲欧美在线观看| 久久全国免费视频| 欧美日韩国产经典色站一区二区三区 | 亚洲网站在线看| 久久成人一区| 欧美激情综合五月色丁香| 国产精品久久久久影院亚瑟| 韩国一区二区三区在线观看| 亚洲黑丝一区二区| 亚洲综合精品一区二区| 亚洲国产aⅴ天堂久久| 这里是久久伊人| 久久久欧美精品sm网站| 欧美成人亚洲成人| 国产精品日韩一区二区| 亚洲成人中文| 亚洲免费影视| 亚洲伦理中文字幕| 久久精品日产第一区二区| 欧美精品久久久久久久免费观看| 国产欧美精品va在线观看| 亚洲国产精品一区二区第一页| 在线一区亚洲| 91久久精品美女| 欧美一区二区三区婷婷月色| 欧美国产欧美综合 | 亚洲欧美一区二区原创| 欧美大片免费| 国产亚洲欧美另类中文 | 亚洲午夜电影在线观看| 亚洲激情综合| 欧美一区二区三区的| 欧美久久视频| 国内一区二区在线视频观看| 在线视频你懂得一区二区三区| 久久成年人视频| 亚洲欧美日本伦理| 欧美精品一区二| 影音先锋欧美精品| 亚洲综合丁香| 亚洲天堂免费在线观看视频| 噜噜爱69成人精品| 国产三区二区一区久久| 亚洲深夜福利网站| 一本色道久久综合亚洲精品婷婷 | 国产精品久久久一本精品| 亚洲黄色尤物视频| 欧美一区二区三区电影在线观看| 亚洲视频www| 欧美精品九九| 在线看不卡av| 久久精品国产96久久久香蕉| 欧美一级淫片aaaaaaa视频| 欧美视频免费在线观看| 亚洲黄色在线视频| 亚洲国产精品久久人人爱蜜臀| 欧美在线亚洲在线| 国产精品久久久久国产精品日日| 亚洲精品中文字幕有码专区| 99re热这里只有精品免费视频| 蜜桃av综合| 影音国产精品| 亚洲国产日韩在线| 久久亚洲一区二区三区四区| 国产一区二区三区奇米久涩| 亚洲欧美视频| 欧美中文字幕在线播放| 国产日产欧产精品推荐色| 亚洲欧美日韩成人| 校园激情久久| 国产片一区二区| 亚洲欧美制服另类日韩| 欧美一区二区三区免费视| 国产精品毛片va一区二区三区| av成人老司机| 亚洲在线日韩| 国产精品视频福利| 亚洲在线第一页| 欧美一级播放| 国产人成精品一区二区三| 亚洲欧洲av一区二区| 欧美在线视频免费播放| 国产一区二区欧美日韩| 欧美在线视频免费| 久久手机精品视频| 精品二区久久| 亚洲精品一级| 欧美大片一区| 亚洲精品中文在线| 亚洲综合国产精品| 国产精品一区二区你懂得| 欧美尤物巨大精品爽| 久久久免费精品| 亚洲国产精品一区二区www在线| 日韩午夜在线电影| 欧美午夜精品一区| 亚洲欧美日韩另类| 久久亚洲国产成人| 黄色在线成人| 99综合电影在线视频| 欧美亚洲第一页| 欧美亚洲免费在线| 久热精品在线| 日韩天天综合| 欧美一区二区三区男人的天堂| 国产区日韩欧美| 亚洲三级国产| 欧美视频一区| 欧美一区综合| 欧美激情亚洲一区| 亚洲桃色在线一区| 久久精品道一区二区三区| 在线欧美影院| 亚洲无吗在线| 国产真实久久| 一区二区毛片| 国产日韩亚洲欧美| 亚洲美女免费精品视频在线观看| 国产精品九色蝌蚪自拍| 久久精品亚洲乱码伦伦中文| 欧美精品成人在线| 亚洲欧美成人一区二区三区| 女女同性精品视频| 亚洲视频高清| 裸体一区二区| 亚洲一区二区三区免费视频| 久热爱精品视频线路一| 一本色道久久综合精品竹菊| 久久久久久久综合狠狠综合| 亚洲伦理在线观看| 久久久久久噜噜噜久久久精品| 亚洲精品在线三区| 久久精品欧洲| 亚洲美女精品成人在线视频| 久久精品一区中文字幕| 日韩网站免费观看| 久久综合九九| 亚洲午夜久久久| 欧美成人一区二免费视频软件| 亚洲永久免费av| 欧美精品激情| 久久精品99国产精品日本| 欧美日韩一区二区国产| 久久精品欧美日韩精品| 欧美亚州在线观看| 日韩午夜电影在线观看| 国产亚洲美州欧州综合国| 亚洲网站在线播放| 亚洲国产精品v|