首页> 中国专利> 一种三维滤波去噪算法的去噪处理系统及方法

一种三维滤波去噪算法的去噪处理系统及方法

摘要

本发明公开了一种三维滤波去噪算法的去噪处理系统及方法,包括图像缓存单元、块匹配单元、三维滤波单元及聚合单元、图像缓存单元、块匹配单元、三维滤波单元及聚合单元依次连接;其方法是:将原始图像部分划分为N个4x4的参考块;每个参考块在各自7x7的搜索区域内进行全搜索块匹配;选择SAD最小的8个候选块作为匹配块;对8个匹配块进行3维哈达玛变换;根据噪声估计参数进行硬阈值处理;对得到的8个矩阵进行3维哈达玛逆变换;然后再映射回其在图像中的原始位置,并对相同位置上估计值求平均。本发明根据噪声估计参数进行滤波去噪,具有较好的去噪效果,同时系统资源占用率低,可以达到高速实时去噪处理。

著录项

  • 公开/公告号CN105976334A

    专利类型发明专利

  • 公开/公告日2016-09-28

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201610297995.1

  • 申请日2016-05-06

  • 分类号G06T5/00(20060101);

  • 代理机构北京科亿知识产权代理事务所(普通合伙);

  • 代理人汤东凤

  • 地址 710071 陕西省西安市太白南路2号西安电子科技大学

  • 入库时间 2023-06-19 00:32:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-15

    授权

    授权

  • 2016-10-26

    实质审查的生效 IPC(主分类):G06T5/00 申请日:20160506

    实质审查的生效

  • 2016-09-28

    公开

    公开

说明书

技术领域

本发明属于数字图像处理技术领域,尤其涉及一种三维滤波去噪算法的去噪处理系统及方法。

背景技术

图像在拍摄和传输过程中,由于所使用的器件和传输通道的局限性,而被引入了噪声,影响了图像的视觉效果,而且图像中许多细节信息被噪声掩盖,甚至干扰到图像的后续的高级处理,如边缘检测、图像分割、特征识别、图像融合等。所以图像的去噪处理是数字图像处理领域中一项十分重要的工作。

目前提出的效果较好的图像去噪算法很多都是基于软件方法实现,在硬件实现过程中,这些算法过于复杂,很难满足要求实时去噪处理的场合。例如BM3D(块匹配和3D去噪)算法是目前去噪性能最好的图像视频去噪算法,但是基于软件的方法运算复杂度高,很难硬件实现并应用到相机中进行实时处理。

发明内容

本发明的目的在于提供一种三维滤波去噪算法的去噪处理系统及方法,旨在解决目前图像去噪算法存在算法过于复杂,很难满足要求实时去噪处理的场合和硬件实现并应用到相机中进行实时处理的问题。

本发明是这样实现的,一种三维滤波去噪算法的去噪处理方法,所述三维滤波去噪算法的去噪处理方法将原始图像部分划分为N个4x4的参考块;每个参考块在各自7x7的搜索区域内进行全搜索块匹配;选择SAD最小的8个候选块作为匹配块;对8个匹配块进行3维哈达玛变换;根据噪声估计参数进行硬阈值处理;对得到的8个矩阵进行3维哈达玛逆变换;然后再映射回其在图像中的原始位置,并对相同位置上估计值求平均。

进一步,所述三维滤波去噪算法的去噪处理方法包括:

步骤一,将边界扩展图像的原始图像部分划分为N个4x4的参考块,N由图像的大小决定;

步骤二,每个参考块在其各自7x7的搜索区域内进行全搜索遍历块匹配,即计算参考块与搜索区域内16个候选块之间的绝对差之和SAD值;

步骤三,在每个搜索区域中选择绝对差之和最小的8个候选块且必须包含参考块所在位置的候选块,作为该搜索区域内的匹配块;

步骤四,对每个搜索区域中的8个匹配块分别进行2维的哈达玛变换,再将8个变换结果矩阵上相同位置分别进行1维的哈达玛变换,即第三维的哈达玛变换;

步骤五,根据噪声估计参数对3维变换结果进行硬阈值处理,即对变换结果取绝对值后,大于阈值的点,输出原值;小于阈值的点,置零;

步骤六,对硬阈值处理后的8个结果矩阵上相同位置分别进行1维的哈达玛逆变换,即第三维的哈达玛逆变换;

步骤七,再对变换结果,分别进行2维的哈达玛逆变换,得到每个搜索区域内的所有块的估计值;

步骤八,将得到的每个搜索区域内的8个估计矩阵再映射回其在图像中原始位置,并对图像中相同位置上估计值求平均,从而得到最终估计值,即最终的去噪结果。

本发明的另一目的在于提供一种所述三维滤波去噪算法的去噪处理方法的去噪处理系统,所述去噪处理系统包括:

图像缓存单元,用于完成部分图像缓存以及按特定格式输出图像数据;

块匹配单元,与所述图像缓存单元连接,用于完成每个参考块所在搜索区域内的全搜索块匹配以及候选块的存储和选择;

三维滤波单元,与所述块匹配单元连接,用于完成匹配块的三维硬阈值滤波;

聚合单元,与所述三维滤波单元连接,用于完成对重复位置上的滤波结果估计值求平均。

进一步,所述图像缓存单元包括:

行缓存模块,用于对输入图像按每4行为单位缓存,并按8行为单位奇偶列同时输出;

块缓存模块,与所述行缓存模块连接,用于从搜索区域中分离参考块数据并按列输出参考块数据以及同时输出搜索区域奇偶列数据。

进一步,所述块匹配单元包括:

块匹配模块,与所述块缓存模块连接,用于计算一个搜索区域中参考块与候选块之间的绝对差和SAD值,并对SAD进行比较排序;

数据选择模块,与所述块匹配模块连接,用于缓存候选块数据并选择与参考块之间绝对差和SAD最小的8个候选块输出。

进一步,所述三维滤波单元包括:

2D-FWHT模块,与所述数据选择模块连接,用于对匹配块进行4x4的2维哈达玛变换;

1D-FWHT模块,与所述2D-FWHT模块连接,用于对2维变换结果再进行一维哈达玛变换即第三维的变换;

硬阈值处理模块,与所述1D-FWHT模块连接,用于根据噪声估计参数对三维变换结果进行阈值处理;

1D-IFWHT模块,与所述硬阈值模块连接,用于对硬阈值处理结果进行一维快速哈达玛逆变换,即第三维的逆变换。

2D-IFWHT模块,与所述1D-IFWHT模块连接,用于对一维逆变换的结果再进行2维快速哈达玛逆变换得到块估计结果。

进一步,所述聚合单元包括:

组内聚合模块,与所述2D-IFWHT模块连接,用于对搜索区域内8个匹配块相同位置上的估计值进行求和以及记录重复次数;

组间聚合模块,与所述组内聚合模块连接,用于对整个图像中相同位置上的估计值求均值。

本发明提供的三维滤波去噪算法的去噪处理系统及方法,本发明比较于现有技术具有以下优点:

1、本发明的三维滤波去噪方法,利用图像在空间上的相关性,将图像划分为大小为4x4的参考块,并在其7x7的搜索区域找出相似块,组成三维块阵列进行滤波,并对重复点进行平均聚合,相比于传统的去噪算法可以比较好的保留细节,根据噪声估计的参数,具有比较好的去噪效果及自适应性,特别是在实际相机中噪声不是很大的情况下,相比于高斯滤波去噪算法在噪声方差为5时,PSNR平均高出6.75个dB,并且在整个处理过程中,不包含复杂的乘法操作,运算复杂度低,易于硬件实现。

2、本发明的三维去噪处理系统,图像输入参数可调,可支持各种分辨率的图像及视频标准。

3、本发明的三维去噪处理系统,不需要依托任何外部存储单元,图像缓存和块匹配阵列充分考虑了数据重用,资源占用率低,在本测试平台上仅占用28%的slice资源。

4、本发明的三维去噪处理系统,采用并行流水设计,块匹配以及所有的存储操作均采用流水操作,三维变换采用8路并行设计,在时钟频率为108MHz情况下,对于1080p的视频输入格式,处理速度可以达到52fps,可以高速实时去噪。

附图说明

图1是本发明实施例提供的三维滤波去噪算法的去噪处理系统结构示意图。

图2是本发明实施例提供的图像边界扩展及分块示意图。

图3是本发明实施例提供的参考块与搜索区域相对位置示意图。

图4是本发明实施例提供的三维滤波去噪方法的流程图。

图5是本发明实施例提供的行缓存模块与块缓存模块结构图。

图6是本发明实施例提供的块缓存策略示意图。

图7是本发明实施例提供的块匹配模块与数据选择模块结构图。

图8是本发明实施例提供的块匹配中数据流输入选取方式及SAD计算时序图。

图9是本发明实施例提供的组内聚合与组间聚合模块结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对目前图像去噪算法存在算法过于复杂,很难满足要求实时去噪处理的场合和硬件实现并应用到相机中进行实时处理的问题,本发明提出一种三维滤波去噪算法的去噪处理系统及实现方法,相比于传统去噪算法有较好的去噪效果,同时可以在相机上完成实时去噪处理。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例的三维滤波去噪算法的去噪处理系统包括图像缓存单元、块匹配单元、三维滤波单元及聚合单元。

所述图像缓存单元、所述块匹配单元、所述三维滤波单元及所述聚合单元依次连接。所述图像缓存单元包括行缓存模块和块缓存模块,如图5所示,所述行缓存模块与块缓存模块依次相连。所述块匹配单元包括块匹配模块和数据选择模块,如图7所示,所述块匹配模块和所述数据选择模块依次相连。

所述三维滤波单元包括8个相同的2D-FWHT模块、1D-FWHT模块、硬阈值处理模块、8个相同的2D-IFWHT模块及1D-IFWHT模块,所述8个相同的2D-FWHT模块、所述1D-FWHT模块、所述硬阈值处理模块、所述IFWHT模块及所述8个相同的2D-IFWHT模块依次相连。所述聚合单元包括组内聚合模块和组间聚合模块,如图9所示,所述组内聚合单元与组间聚合单元依次相连。

上述所有单元模块均通过硬件描述语言Verilog实现。

根据本发明优选的,所述行缓存模块用于对输入图像按每4行为单位缓存,并按8行为单位奇偶列同步输出。所述块缓存模块用于从搜索区域中分离参考块数据并按列输出参考块数据以及同时输出搜索区域奇偶列数据。所述块匹配模块用于计算一个搜索区域中参考块与候选块之间的绝对差和SAD值,并对SAD进行比较排序。所述数据选择模块用于缓存候选块数据并选择与参考块之间绝对差和SAD最小的8个候选块(即匹配块)输出。所述2D-FWHT模块用于对匹配块进行4x4的快速哈达玛变换。所述FWHT模块用于对8个匹配块的2维变换结果再进行一维的快速哈达玛变换即第三维的变换。所述硬阈值处理单元用于根据噪声估计参数对三维变换结果进行阈值处理。所述1D-IFWHT模块用于对处理结果进行1维快速哈达玛逆变换。所述2D-IFWHT模块用于对一维逆变换的结果再进行2维快速哈达玛逆变换得到块估计结果。所述组内聚合模块用于对一个搜索区域内8个匹配块相同位置上的估计值进行求和以及记录重复次数。所述组间聚合模块用于对整个图像中相同位置上的估计值求均值。

参见图4,本发明具体实现如下:

步骤1:如图2的图像划分方式,行缓存模块对输入图像按每4行存入到两组相同的RAM中,每组包含3个RAM,每个RAM存4行,读出时两组RAM分别按8行读出奇列和偶列,相当于把图像按每4行分块,除了第一个和最后一个分块,其余分块都要重复读一次。

步骤2:如图6所示的存储策略,块缓存模块对步骤1中输出的奇偶列进行存储,同时,从中分离出参考块数据也进行存储,搜索区域数据按奇偶列输出,参考块按列输出。

步骤3:如图8所示,块匹配模块对步骤2中输出的参考块按列顺序输入4x4PE阵列,搜索区域的奇偶列数据经过4个数据选择器,分别广播到4列PE中,完成参考块与候选块之间的绝对差和SAD值的计算,每个SAD值计算完成后,送入比较排序单元进行比较排序。

步骤4:数据选择模块在步骤3块匹配过程中,对一个搜索区域内所有的16个候选块进行缓存,当一个搜索区域内的所有候选块与参考块的绝对差和SAD计算完成后,排序结果完成,同时所有候选块数据缓存完成,根据排序结果选择绝对差和SAD值最小的8个缓存的候选块输出。需要说明的是参考块所在位置的候选块必须保证选择输出。

步骤5:8个2D-FWHT模块对步骤4输出的8路匹配块按照以下公式分别进行4x4的2维快速哈达玛变换。

>Y=H4XH4T=11111-11-111-1-11-1-11X11111-11-111-1-11-1-11;>

其中,Y表示2D-FWHT变换的结果矩阵,H4表示2D-FWHT变换的系数矩阵,表示H4的转置矩阵,X表示候选块数据组成的矩阵。

步骤6:1D-FWHT模块对步骤5输出的8路变换结果按照以下公式进行一维快速哈达玛变换。

>Y=H8X=111111111-11-11-11-111-1-111-1-11-1-111-1-111111-1-1-1-11-11-1-11-1111-1-1-1-1111-1-11-111-1X;>

其中,Y表示1D-FWHT变换的结果矩阵,H8表示1D-FWHT变换的系数矩阵,X表示候选块数据组成的矩阵。

步骤7:硬阈值处理模块对步骤6输出的结果按照以下公式进行阈值判断输出。

>Y=X,X>Threshold0,XThreshold,Threshold=sigma*22.689;>

其中,Y表示硬阈值处理结果,X表示三维哈达码变换结果,Threshold表示判断阈值,sigma表示噪声估计方差。

步骤8:1D-IFWHT模块对步骤7输出的结果按照步骤6中公式进行一维快速哈达玛逆变换。

>Y=H8X=18111111111-11-11-11-111-1-111-1-11-1-111-1-111111-1-1-1-11-11-1-11-1111-1-1-1-1111-1-11-111-1X;>

其中,Y表示1D-IFWHT变换的结果矩阵,H8表示1D-IFWHT变换的系数矩阵,X表示硬阈值处理结果组成列向量。

步骤9:2D-IFWHT模块对步骤8输出的结果按照以下公式进行2维快速哈达玛逆变换,得到块估计结果。

>Y=H4XH4T=11611111-11-111-1-11-1-11X11111-11-111-1-11-1-11;>

其中,Y表示2D-IFWHT变换的结果矩阵,H4表示2D-IFWHT变换的系数矩阵,表示H4的转置矩阵,X表示一维逆变换结果组成的矩阵。

步骤10:如图9所示,组内聚合模块对步骤9输出的8路块估计结果按照前面的排序结果分别串行输入到8个7x7大小的寄存器阵列中的相对位置上,输入过程中标记数据存储的位置,当一个搜索区域内的8组块估计结果全部存入后,再根据标记将8个寄存器阵列对应各个位置中的数据求和并统计重复次数,存储到一个8x8的寄存器阵列,高位存重复次数,低位存求和数值。最后将8x8的寄存器阵列划分为4个区域同时串行输出,4个区域分别为LU(左上)、RU(右上)、LD(左下)和RD(右下)。

步骤11:如图9所示,组间聚合模块对步骤10中传来的4路数据分别做相应处理,得到图像的最终估计结果输出。

对于RU和RD部分的数据,直接缓存到内部RAM中,等待下一个搜索区域数据到来使用。

对于LD部分的数据,需要分以下四种情况处理:

1)如果传来的是图像前两个分块或者中间分块中第一个搜索区域的处理结果,直接将LD中的数据缓存到内部RAM,等待下一行对应位置搜索区域处理结果到来使用。

2)如果传来的是图像前两个分块或者中间分块中间搜索区域的处理结果,需要将LD中的数据与前一个搜索区域的已存储的RD部分数据按照相对位置高低位对应相加缓存到内部RAM,等待下一行对应位置搜索区域处理结果到来使用。

3)如果传来的是图像最后两个分块中第一个搜索区域的处理结果,直接将LD中的数据低位的求和数值除以高位的重复次数作为最终的估计结果,缓存到内部RAM等待输出。

4)如果传来的是图像最后两个分块中间搜索区域的处理结果,需要将LD中的数据与前一个搜索区域的已存储的RD部分数据按照相对位置高低位对应相加,然后再用低位的求和数值除以高位的重复次数作为最终的估计结果,缓存到内部RAM等待输出。

对于LU部分的数据,需要分以下四种情况处理:

1)如何传来的是图像开头前两个分块且为第一个搜索区域的处理结果,直接将LU中的数据作为结果。

2)如果传来的是图像开头前两个分块的中间搜索区域的处理结果,需要将LU中的数据与前一个搜索区域的已存储的RU部分数据按照相对位置高低位对应相加作为结果。

3)如果传来的是图像中间分块的第一个搜索区域的处理结果,需要将LU中的数据与前一行对应位置的搜索区域已存储的LD部分数据按照相对位置高低位对应相加作为结果。

4)如果传来的是图像中间分块的中间搜索区域的处理结果,需要将LU中的数据、前一个搜索区域已存储的RU部分数据和前一行对应位置的搜索区域已存储的LD部分数据按照相对位置高低位对应相加作为结果。

以上情况得到的结果,再用低位求和数值除以高位重复次数作为最终的估计结果输出。

为了使本发明的优点得到进一步体现,以下是使用本发明方法进行的测试。

测试条件:

计算机配置环境为Intel Core i3-2120 3.3Ghz,内存8G,系统Windows 7,Xilinx公司FPGA开发工具软件ISE13.4版本,Mentor Graphics公司时序仿真软件Modelsim10.1c版本。

硬件平台配置环境为Xilinx公司的Spartan 6-xc6slx150

软件平台配置环境为Matlab R2013b

测试内容:

1、本发明在不同灰度测试图片下,与其他传统去噪算法对比,对测试图片添加方差分别为5、10和15的高斯噪声,对比参数为去噪图像与原始图像的峰值信噪比PSNR。

如上表所示,本发明的三维去噪算法相比于传统去噪算法有更好的自适应性及更好的去噪效果,特别是在低噪声环境相比其他算法具有良好的去噪性能,在噪声方差为5时,本发明的三维去噪算法PSNR比高斯滤波平均高出6.57dB,比均值滤波平均高出12.67dB。

2、输入1280×720,1920×1080两种不同分辨率视频图像,统计在每种分辨率下,本发明可以达到的最高时钟频率,以及资源占用情况。

结果分析:

如上表所示,使用本发明的处理系统进行去噪处理,对于不同分辨率的图像视频输入,slice资源占用率基本不受图像大小的影响,而内部Block RAM资源会随着图像分辨率的增大而增大,对于1920×1080大分辨率图像,也只占用了28%的Slice资源,以及18%的Block RAM资源,并且可以达到52fps的帧率,因此本发明提出的三维去噪处理系统达到了高速实时去噪。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号