一种基于FPGA的引导滤波器及其实现方法技术

技术编号:10467982 阅读:230 留言:0更新日期:2014-09-24 19:26
本发明专利技术公开了一种基于FPGA的引导滤波器及其实现方法,该基于FPGA的引导滤波器包括:信号控制器、均值滤波模块、参数计算模块、寻址取值模块、状态判别器、数据缓存器、综合运算模块;该基于FPGA的引导滤波器实现方法通过结合FPGA芯片,充分利用了FPGA易于实现大规模并行运算的特点,在保证滤波效果的同时提高运算速度,降低了引导滤波器硬件设计的复杂度。本发明专利技术从总体上给出了滤波处理的并行结构,提高了滤波的速度;通过寻址取值的方式改进了二进制除法运算,便于硬件实现,提高了系统运行时间;通过判别器设置改进了二进制减法算法,提高了系统可靠性。

【技术实现步骤摘要】
-种基于FPGA的引导滤波器及其实现方法
本专利技术属于引导滤波器
,尤其涉及一种基于FPGA的引导滤波器及其实 现方法。
技术介绍
引导滤波器是一种边缘平滑滤波器,它可以实现图像边缘的平滑、细节增强、以及 图像融合去噪等功能,是一种功能强大的滤波器。它的原理是通过一幅引导图像对输入图 像进行滤波,输出的图像在保留输入图像整体特征的同时,能充分获取引导图像的变化细 节。引导滤波器在图像去噪,图像细节平滑、增强,抠图,羽化等等方面均取得了不错的效 果,应用比较广泛。 但是引导滤波算法比较复杂,运算量比较大,从而导致引导滤波器的实时性很差, 阻碍了其实际应用。考虑到算法内部并行模块的独立性,硬件实现不失为提高滤波实时性 的有效途径之一。目前,绝大部分引导滤波文献是关于其理论研究以及在软件算法仿真的, 而关于其硬件实现的则很少。 FPGA是基于查找表结构的可编程器件,具有大容量的BlockRAM资源,而且可以通 过系统内的重新配置来改变逻辑功能,为引导滤波器的硬件设计与实现提供了可能。如何 利用FPGA实现引导滤波器的硬件设计,达到引导滤波快速处理的目标,从而实现引导滤波 器在图像处理等领域的实时应用,具有十分重要的意义。
技术实现思路
本专利技术实施例的目的在于提供一种基于FPGA的引导滤波器及其实现方法,旨在 解决引导滤波算法比较复杂,运算量比较大,从而导致引导滤波器的实时性很差的问题。 本专利技术实施例是这样实现的,一种基于FPGA的引导滤波器,该基于FPGA的引导滤 波器包括:信号控制器、均值滤波模块、参数计算模块、寻址取值模块、状态判别器、数据缓 存器、综合运算模块; 信号控制器,由行列计数器和比较器构成,用于对数据实时监控,通过输入的系统 控制信号分析数据状态,及时标记并发送行信号及场信号工作指令,确保能够依据指令正 确处理数据; 均值滤波模块,与信号控制器连接,用于对数据进行均值化滤波处理,由局部窗口 生成模块和均值计算器模块构成,其中局部窗口生成模块由系统快速生成的FIFO和移位 寄存器组成,用于将串行数据并行化输出,均值计算模块由加法器和乘法器组成,用于数据 处理,在二进制除法改进算法的基础上,对并行输入到均值计算模块的数据求取总和值,然 后进入到乘法器,计算并行输入数据的均值; 参数计算模块,与均值滤波模块连接,由多个加法器、减法器、乘法器、比较器和寄 存器组成,用于收集数据,完成初步数据处理,计算过程中与寻址取值模块互相调用,经计 算获取方差值以及局部线性系数值; 寻址取值模块,与均值滤波模块和参数计算模块连接,用于对二进制除法算法的 改进,充分利用FPGA具有大容量的BI0CKRAM资源,用于存储大量数据和实现快速查找表功 能的特点,将除法运算改为一次寄存器寻址过程和一次乘法运算过程,通过改进生成寻址 取值模块,为参数计算模块及均值滤波模块提供所需数据; 状态判别器,与参数计算模块连接,由比较器、加法器、减法器和寄存器组成,是基 于改进计算过程中带有符号形式的二进制数不易于分辨及处理的情况所设置,用于对输入 数据对比产生状态使能信号,驱动参数计算模块和综合运算模块按照使能状态智能数据处 理,减少系统计算复杂度; 数据缓存器,与综合运算模块连接,由系统快速生成的FIFO和移位寄存器组成, 用于协调数据时序,确保数据能够同步处理; 综合运算模块,与均值滤波模块、状态判别器和数据缓存器连接,用于数据综合处 理,结合数据缓存器和参数计算模块的数据综合处理,最终输出通过导向滤波器滤波之后 的图像数据信息。 本专利技术实施例的另一目的在于提供一种基于FPGA的引导滤波器实现方法,该基 于FPGA的引导滤波器实现方法包括以下步骤: 步骤一:信号控制器: 按照流水线设计方法,局部窗口生成后会随着数据的不断输入逐步右移,利用加 法器构成一款计数器,在同步时钟的控制下对系统输入控制信号进行标记、判断并发送状 态息; 步骤二:均值滤波: 均值滤波模块中局部生成窗口为3*3模块,输入图像为P_in,引导图像为I_in,以 数据串的形式在同步时钟激励下按行分别输入到局部生成窗口模块,在经过两个FIFO和6 个寄存器后,输出数据组1 :P1、P2……P9和数据组2 :11、12……19,利用乘法器获取数据 组3 :IP1、IP2……IP9以及数据组4 :ΙΙ1、ΙΙ2……119,将四组数据分别送到4个均值计算 模块,通过计算分别得到数据组均值:ave_P、ave_I、ave_IP和ave_II ; 步骤三:变量计算: 第一步,参数计算: 在得到ave_P、ave_I、ave_IP及ave_II四组数据,通过分析整理,对(ak,b k)计算; 第二步,寻址取值:基于FPGA对二进制除法改进算法的设计,用被除数乘以除数 的倒数,将除法转为乘法来简化计算过程; 第三步,状态判别器: 步骤三和步骤六的计算过程中涉及到二进制减法运算,计算过程中会产生负数, 基于对带符号二进制数的状态判别器进行处理; 步骤四:均值滤波: 用于对步骤三中得到的(ak,bk)分别进行均值滤波,具体方法见步骤二,局部窗口 生成模块C、D分别生成数据组5:akl,ak2......ak9和数据组6 :bkl,bk2......bk9到均值计算模 块,输出数据组均值ave_a和ave_b ; 步骤五:数据缓存器: 步骤二和步骤四分别调用了局部窗口生成模块,所以行缓存设计中需要用到4个 FIFO, FIFO深度与局部生成窗口中用到的FIFO深度一致,设计期间由于部分公式计算会引 起时延,所以在数据缓存器的设计中还需要用到寄存器组,I_in在经过数据缓存器缓存后 输出 I_in_delay ; 步骤六:综合运算: 如公式本文档来自技高网...

【技术保护点】
一种基于FPGA的引导滤波器,其特征在于,该基于FPGA的引导滤波器包括:信号控制器、均值滤波模块、参数计算模块、寻址取值模块、状态判别器、数据缓存器、综合运算模块;信号控制器,由行列计数器和比较器构成,用于对数据实时监控,通过输入的系统控制信号分析数据状态,及时标记并发送行信号及场信号工作指令,确保能够依据指令正确处理数据;均值滤波模块,与信号控制器连接,用于对数据进行均值化滤波处理,由局部窗口生成模块和均值计算器模块构成,其中局部窗口生成模块由系统快速生成的FIFO和移位寄存器组成,用于将串行数据并行化输出,均值计算模块由加法器和乘法器组成,用于数据处理,在二进制除法改进算法的基础上,对并行输入到均值计算模块的数据求取总和值,然后进入到乘法器,计算并行输入数据的均值;参数计算模块,与均值滤波模块连接,由多个加法器、减法器、乘法器、比较器和寄存器组成,用于收集数据,完成初步数据处理,计算过程中与寻址取值模块互相调用,经计算获取方差值以及局部线性系数值;寻址取值模块,与均值滤波模块和参数计算模块连接,用于对二进制除法算法的改进,充分利用FPGA具有大容量的BIOCKRAM资源,用于存储大量数据和实现快速查找表功能的特点,将除法运算改为一次寄存器寻址过程和一次乘法运算过程,通过改进生成寻址取值模块,为参数计算模块及均值滤波模块提供所需数据;状态判别器,与参数计算模块连接,由比较器、加法器、减法器和寄存器组成,是基于改进计算过程中带有符号形式的二进制数不易于分辨及处理的情况所设置,用于对输入数据对比产生状态使能信号,驱动参数计算模块和综合运算模块按照使能状态智能数据处理,减少系统计算复杂度;数据缓存器,与综合运算模块连接,由系统快速生成的FIFO和移位寄存器组成,用于协调数据时序,确保数据能够同步处理;综合运算模块,与均值滤波模块、状态判别器和数据缓存器连接,用于数据综合处理,结合数据缓存器和参数计算模块的数据综合处理,最终输出通过导向滤波器滤波之后的图像数据信息。...

【技术特征摘要】
1. 一种基于FPGA的引导滤波器,其特征在于,该基于FPGA的引导滤波器包括:信号控 制器、均值滤波模块、参数计算模块、寻址取值模块、状态判别器、数据缓存器、综合运算模 块; 信号控制器,由行列计数器和比较器构成,用于对数据实时监控,通过输入的系统控制 信号分析数据状态,及时标记并发送行信号及场信号工作指令,确保能够依据指令正确处 理数据; 均值滤波模块,与信号控制器连接,用于对数据进行均值化滤波处理,由局部窗口生 成模块和均值计算器模块构成,其中局部窗口生成模块由系统快速生成的FIFO和移位寄 存器组成,用于将串行数据并行化输出,均值计算模块由加法器和乘法器组成,用于数据处 理,在二进制除法改进算法的基础上,对并行输入到均值计算模块的数据求取总和值,然后 进入到乘法器,计算并行输入数据的均值; 参数计算模块,与均值滤波模块连接,由多个加法器、减法器、乘法器、比较器和寄存器 组成,用于收集数据,完成初步数据处理,计算过程中与寻址取值模块互相调用,经计算获 取方差值以及局部线性系数值; 寻址取值模块,与均值滤波模块和参数计算模块连接,用于对二进制除法算法的改进, 充分利用FPGA具有大容量的BI0CKRAM资源,用于存储大量数据和实现快速查找表功能的 特点,将除法运算改为一次寄存器寻址过程和一次乘法运算过程,通过改进生成寻址取值 模块,为参数计算模块及均值滤波模块提供所需数据; 状态判别器,与参数计算模块连接,由比较器、加法器、减法器和寄存器组成,是基于改 进计算过程中带有符号形式的二进制数不易于分辨及处理的情况所设置,用于对输入数据 对比产生状态使能信号,驱动参数计算模块和综合运算模块按照使能状态智能数据处理, 减少系统计算复杂度; 数据缓存器,与综合运算模块连接,由系统快速生成的FIFO和移位寄存器组成,用于 协调数据时序,确保数据能够同步处理; 综合运算模块,与均值滤波模块、状态判别器和数据缓存器连接,用于数据综合处理, 结合数据缓存器和参数计算模块的数据综合处理,最终输出通过导向滤波器滤波之后的图 像数据信息。2. -种基于FPGA的引导滤波器实现方法,其特征在于,该基于FPGA的引导滤波器实现 方法包括以下步骤: 步骤一:信号控制器: 按照流水线设计方法,局部窗口生成后会随着数据的不断输入逐步右移,利用加法器 构成一款计数器,在同步时钟的控制下对系统输入控制信号进行标记、判断并发送状态信 息; 步骤二:均值滤波: 均值滤波模块中局部生成窗口为3*3模块,输入图像为P_in,引导图像为I_in,以数据 串的形式在同步时钟激励下按行分别输入到局部生成窗口模块,在经过两个FIFO和6个寄 存器后,输出数据组1 :P1、P2……P9和数据组2 :11、12……19,利用乘法器获取数据组3 : IPUIP2……IP9以及数据组4 :ΙΙ1、ΙΙ2……119,将四组数据分别送到4个均值计算模块, 通过计算分别得到数据组均值:ave_P、ave_I、ave_IP和ave_II ; 步骤三:变量计算: 第一步,参数计算: 在得到ave_P、ave_I、ave_IP及ave_II四组数据,通过分析整理,对(ak,bk)计算; 第二步,寻址取值:基于FPGA对二进制除法改进算法的设计,用被除数乘以除数的倒 数,将除法转为乘法来简化计算过程; 第三步,状态判别器: 步骤三和步骤六的计算过程中涉及到二进制减法运算,计算过程中会产生负数,基于 对带符号二进制数的状态判别器进行处理; 步骤四:均值滤波: 用于对步骤三中得到的(ak,bk)分别进行均值滤波,具体方法见步骤二,局部窗口生成 模块C、D分别生成数据组5: akl,ak2......ak9和数据组6 :bkl,bk2......bk9到均值计算模块,输 出数据组均值ave_a和ave_b ; 步骤五:数据缓存器: 步骤二和步骤四分别调用了局部窗口生成模块,所以行缓存设计中需要用到4个 FIFO, ...

【专利技术属性】
技术研发人员:朴燕任伟杰刘硕孙荣春王宇
申请(专利权)人:长春理工大学
类型:发明
国别省市:吉林;22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1