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

文档序号:10613642阅读:339来源:国知局
一种三维滤波去噪算法的去噪处理系统及方法
【专利摘要】本发明公开了一种三维滤波去噪算法的去噪处理系统及方法,包括图像缓存单元、块匹配单元、三维滤波单元及聚合单元、图像缓存单元、块匹配单元、三维滤波单元及聚合单元依次连接;其方法是:将原始图像部分划分为N个4x4的参考块;每个参考块在各自7x7的搜索区域内进行全搜索块匹配;选择SAD最小的8个候选块作为匹配块;对8个匹配块进行3维哈达玛变换;根据噪声估计参数进行硬阈值处理;对得到的8个矩阵进行3维哈达玛逆变换;然后再映射回其在图像中的原始位置,并对相同位置上估计值求平均。本发明根据噪声估计参数进行滤波去噪,具有较好的去噪效果,同时系统资源占用率低,可以达到高速实时去噪处理。
【专利说明】
一种三维滤波去噪算法的去噪处理系统及方法
技术领域
[0001] 本发明属于数字图像处理技术领域,尤其涉及一种三维滤波去噪算法的去噪处理 系统及方法。
【背景技术】
[0002] 图像在拍摄和传输过程中,由于所使用的器件和传输通道的局限性,而被引入了 噪声,影响了图像的视觉效果,而且图像中许多细节信息被噪声掩盖,甚至干扰到图像的后 续的高级处理,如边缘检测、图像分割、特征识别、图像融合等。所以图像的去噪处理是数字 图像处理领域中一项十分重要的工作。
[0003] 目前提出的效果较好的图像去噪算法很多都是基于软件方法实现,在硬件实现过 程中,这些算法过于复杂,很难满足要求实时去噪处理的场合。例如BM3D(块匹配和3D去噪) 算法是目前去噪性能最好的图像视频去噪算法,但是基于软件的方法运算复杂度高,很难 硬件实现并应用到相机中进行实时处理。

【发明内容】

[0004] 本发明的目的在于提供一种三维滤波去噪算法的去噪处理系统及方法,旨在解决 目前图像去噪算法存在算法过于复杂,很难满足要求实时去噪处理的场合和硬件实现并应 用到相机中进行实时处理的问题。
[0005] 本发明是这样实现的,一种三维滤波去噪算法的去噪处理方法,所述三维滤波去 噪算法的去噪处理方法将原始图像部分划分为N个4x4的参考块;每个参考块在各自7x7的 搜索区域内进行全搜索块匹配;选择SAD最小的8个候选块作为匹配块;对8个匹配块进行3 维哈达玛变换;根据噪声估计参数进行硬阈值处理;对得到的8个矩阵进行3维哈达玛逆变 换;然后再映射回其在图像中的原始位置,并对相同位置上估计值求平均。
[0006] 进一步,所述三维滤波去噪算法的去噪处理方法包括:
[0007] 步骤一,将边界扩展图像的原始图像部分划分为N个4x4的参考块,N由图像的大小 决定;
[0008] 步骤二,每个参考块在其各自7x7的搜索区域内进行全搜索遍历块匹配,即计算参 考块与搜索区域内16个候选块之间的绝对差之和SAD值;
[0009] 步骤三,在每个搜索区域中选择绝对差之和最小的8个候选块且必须包含参考块 所在位置的候选块,作为该搜索区域内的匹配块;
[0010] 步骤四,对每个搜索区域中的8个匹配块分别进行2维的哈达玛变换,再将8个变换 结果矩阵上相同位置分别进行1维的哈达玛变换,即第三维的哈达玛变换;
[0011]步骤五,根据噪声估计参数对3维变换结果进行硬阈值处理,即对变换结果取绝对 值后,大于阈值的点,输出原值;小于阈值的点,置零;
[0012]步骤六,对硬阈值处理后的8个结果矩阵上相同位置分别进行1维的哈达玛逆变 换,即第三维的哈达玛逆变换;
[0013]步骤七,再对变换结果,分别进行2维的哈达玛逆变换,得到每个搜索区域内的所 有块的估计值;
[0014]步骤八,将得到的每个搜索区域内的8个估计矩阵再映射回其在图像中原始位置, 并对图像中相同位置上估计值求平均,从而得到最终估计值,即最终的去噪结果。
[0015] 本发明的另一目的在于提供一种所述三维滤波去噪算法的去噪处理方法的去噪 处理系统,所述去噪处理系统包括:
[0016] 图像缓存单元,用于完成部分图像缓存以及按特定格式输出图像数据;
[0017] 块匹配单元,与所述图像缓存单元连接,用于完成每个参考块所在搜索区域内的 全搜索块匹配以及候选块的存储和选择;
[0018] 三维滤波单元,与所述块匹配单元连接,用于完成匹配块的三维硬阈值滤波;
[0019] 聚合单元,与所述三维滤波单元连接,用于完成对重复位置上的滤波结果估计值 求平均。
[0020] 进一步,所述图像缓存单元包括:
[0021] 行缓存模块,用于对输入图像按每4行为单位缓存,并按8行为单位奇偶列同时输 出;
[0022] 块缓存模块,与所述行缓存模块连接,用于从搜索区域中分离参考块数据并按列 输出参考块数据以及同时输出搜索区域奇偶列数据。
[0023]进一步,所述块匹配单元包括:
[0024] 块匹配模块,与所述块缓存模块连接,用于计算一个搜索区域中参考块与候选块 之间的绝对差和SAD值,并对SAD进行比较排序;
[0025] 数据选择模块,与所述块匹配模块连接,用于缓存候选块数据并选择与参考块之 间绝对差和SAD最小的8个候选块输出。
[0026]进一步,所述三维滤波单元包括:
[0027] 2D-FWHT模块,与所述数据选择模块连接,用于对匹配块进行4x4的2维哈达玛变 换;
[0028] 1D-FWHT模块,与所述2D-FWHT模块连接,用于对2维变换结果再进行一维哈达玛变 换即第三维的变换;
[0029]硬阈值处理模块,与所述1D-FWHT模块连接,用于根据噪声估计参数对三维变换结 果进行阈值处理;
[0030] 1D-IFWHT模块,与所述硬阈值模块连接,用于对硬阈值处理结果进行一维快速哈 达玛逆变换,即第三维的逆变换。
[0031] 2D-IFWHT模块,与所述1D-IFWHT模块连接,用于对一维逆变换的结果再进行2维快 速哈达玛逆变换得到块估计结果。
[0032]进一步,所述聚合单元包括:
[0033]组内聚合模块,与所述2D-IFWHT模块连接,用于对搜索区域内8个匹配块相同位置 上的估计值进行求和以及记录重复次数;
[0034]组间聚合模块,与所述组内聚合模块连接,用于对整个图像中相同位置上的估计 值求均值。
[0035]本发明提供的三维滤波去噪算法的去噪处理系统及方法,本发明比较于现有技术 具有以下优点:
[0036] 1、本发明的三维滤波去噪方法,利用图像在空间上的相关性,将图像划分为大小 为4x4的参考块,并在其7x7的搜索区域找出相似块,组成三维块阵列进行滤波,并对重复点 进行平均聚合,相比于传统的去噪算法可以比较好的保留细节,根据噪声估计的参数,具有 比较好的去噪效果及自适应性,特别是在实际相机中噪声不是很大的情况下,相比于高斯 滤波去噪算法在噪声方差为5时,PSNR平均高出6.75个dB,并且在整个处理过程中,不包含 复杂的乘法操作,运算复杂度低,易于硬件实现。
[0037] 2、本发明的三维去噪处理系统,图像输入参数可调,可支持各种分辨率的图像及 视频标准。
[0038] 3、本发明的三维去噪处理系统,不需要依托任何外部存储单元,图像缓存和块匹 配阵列充分考虑了数据重用,资源占用率低,在本测试平台上仅占用28%的slice资源。 [0039] 4、本发明的三维去噪处理系统,采用并行流水设计,块匹配以及所有的存储操作 均采用流水操作,三维变换采用8路并行设计,在时钟频率为108MHz情况下,对于1080p的视 频输入格式,处理速度可以达到52fps,可以高速实时去噪。
【附图说明】
[0040] 图1是本发明实施例提供的三维滤波去噪算法的去噪处理系统结构示意图。
[0041] 图2是本发明实施例提供的图像边界扩展及分块示意图。
[0042] 图3是本发明实施例提供的参考块与搜索区域相对位置示意图。
[0043]图4是本发明实施例提供的三维滤波去噪方法的流程图。
[0044]图5是本发明实施例提供的行缓存模块与块缓存模块结构图。
[0045] 图6是本发明实施例提供的块缓存策略示意图。
[0046] 图7是本发明实施例提供的块匹配模块与数据选择模块结构图。
[0047] 图8是本发明实施例提供的块匹配中数据流输入选取方式及SAD计算时序图。
[0048] 图9是本发明实施例提供的组内聚合与组间聚合模块结构图。
【具体实施方式】
[0049] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明 进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于 限定本发明。
[0050] 针对目前图像去噪算法存在算法过于复杂,很难满足要求实时去噪处理的场合和 硬件实现并应用到相机中进行实时处理的问题,本发明提出一种三维滤波去噪算法的去噪 处理系统及实现方法,相比于传统去噪算法有较好的去噪效果,同时可以在相机上完成实 时去噪处理。
[0051] 下面结合附图对本发明的应用原理作详细的描述。
[0052]如图1所示,本发明实施例的三维滤波去噪算法的去噪处理系统包括图像缓存单 元、块匹配单元、三维滤波单元及聚合单元。
[0053]所述图像缓存单元、所述块匹配单元、所述三维滤波单元及所述聚合单元依次连 接。所述图像缓存单元包括行缓存模块和块缓存模块,如图5所示,所述行缓存模块与块缓 存模块依次相连。所述块匹配单元包括块匹配模块和数据选择模块,如图7所示,所述块匹 配模块和所述数据选择模块依次相连。
[0054] 所述三维滤波单元包括8个相同的2D-FWHT模块、1D-FWHT模块、硬阈值处理模块、8 个相同的2D-IFWHT模块及1D-IFWHT模块,所述8个相同的2D-FWHT模块、所述1D-FWHT模块、 所述硬阈值处理模块、所述IFWHT模块及所述8个相同的2D-IFWHT模块依次相连。所述聚合 单元包括组内聚合模块和组间聚合模块,如图9所示,所述组内聚合单元与组间聚合单元依 次相连。
[0055] 上述所有单元模块均通过硬件描述语言Veri log实现。
[0056] 根据本发明优选的,所述行缓存模块用于对输入图像按每4行为单位缓存,并按8 行为单位奇偶列同步输出。所述块缓存模块用于从搜索区域中分离参考块数据并按列输出 参考块数据以及同时输出搜索区域奇偶列数据。所述块匹配模块用于计算一个搜索区域中 参考块与候选块之间的绝对差和SAD值,并对SAD进行比较排序。所述数据选择模块用于缓 存候选块数据并选择与参考块之间绝对差和SAD最小的8个候选块(即匹配块)输出。所述 2D-FWHT模块用于对匹配块进行4x4的快速哈达玛变换。所述FWHT模块用于对8个匹配块的2 维变换结果再进行一维的快速哈达玛变换即第三维的变换。所述硬阈值处理单元用于根据 噪声估计参数对三维变换结果进行阈值处理。所述1D-IFWHT模块用于对处理结果进行1维 快速哈达玛逆变换。所述2D-IFWHT模块用于对一维逆变换的结果再进行2维快速哈达玛逆 变换得到块估计结果。所述组内聚合模块用于对一个搜索区域内8个匹配块相同位置上的 估计值进行求和以及记录重复次数。所述组间聚合模块用于对整个图像中相同位置上的估 计值求均值。
[0057]参见图4,本发明具体实现如下:
[0058]步骤1:如图2的图像划分方式,行缓存模块对输入图像按每4行存入到两组相同的 RAM中,每组包含3个RAM,每个RAM存4行,读出时两组RAM分别按8行读出奇列和偶列,相当于 把图像按每4行分块,除了第一个和最后一个分块,其余分块都要重复读一次。
[0059] 步骤2:如图6所示的存储策略,块缓存模块对步骤1中输出的奇偶列进行存储,同 时,从中分离出参考块数据也进行存储,搜索区域数据按奇偶列输出,参考块按列输出。
[0060] 步骤3:如图8所示,块匹配模块对步骤2中输出的参考块按列顺序输入4x4PE阵列, 搜索区域的奇偶列数据经过4个数据选择器,分别广播到4列PE中,完成参考块与候选块之 间的绝对差和SAD值的计算,每个SAD值计算完成后,送入比较排序单元进行比较排序。
[0061] 步骤4:数据选择模块在步骤3块匹配过程中,对一个搜索区域内所有的16个候选 块进行缓存,当一个搜索区域内的所有候选块与参考块的绝对差和SAD计算完成后,排序结 果完成,同时所有候选块数据缓存完成,根据排序结果选择绝对差和SAD值最小的8个缓存 的候选块输出。需要说明的是参考块所在位置的候选块必须保证选择输出。
[0062] 步骤5:8个2D-FWHT模块对步骤4输出的8路匹配块按照以下公式分别进行4x4的2 维快速哈达玛变换。
[0063]
[0064] 其中,Y表示2D-FWHT变换的结果矩阵,H4表示2D-FWHT变换的系数矩阵,表示H4 的转置矩阵,X表示候选块数据组成的矩阵。
[0065] 步骤6: 1D-FWHT模块对步骤5输出的8路变换结果按照以下公式进行一维快速哈达 玛变换。
[0066]
[0067] 其中,Y表示1D-FWHT变换的结果矩阵,Hs表示1D-FWHT变换的系数矩阵,X表示候选 块数据组成的矩阵。
[0068] 步骤7:硬阈值处理模块对步骤6输出的结果按照以下公式进行阈值判断输出。
[0069]
[0070] 其中,Y表示硬阈值处理结果,X表示三维哈达码变换结果,Threshold表示判断阈 值,sigma表示噪声估计方差。
[0071 ]步骤8: 1D-IFWHT模块对步骤7输出的结果按照步骤6中公式进行一维快速哈达玛 逆变换。
[0072]
[0073] 其中,Y表示1D-IFWHT变换的结果矩阵,Hs表示1D-IFWHT变换的系数矩阵,X表示硬 阈值处理结果组成列向量。
[0074]步骤9: 2D-IFWHT模块对步骤8输出的结果按照以下公式进行2维快速哈达玛逆变 换,得到块估计结果。
[0075]
[0076] 其中,Y表示2D-IFWHT变换的结果矩阵,H4表示2D-IFWHT变换的系数矩阵,表示 H4的转置矩阵,X表示一维逆变换结果组成的矩阵。
[0077] 步骤10:如图9所示,组内聚合模块对步骤9输出的8路块估计结果按照前面的排序 结果分别串行输入到8个7x7大小的寄存器阵列中的相对位置上,输入过程中标记数据存储 的位置,当一个搜索区域内的8组块估计结果全部存入后,再根据标记将8个寄存器阵列对 应各个位置中的数据求和并统计重复次数,存储到一个8x8的寄存器阵列,高位存重复次 数,低位存求和数值。最后将8x8的寄存器阵列划分为4个区域同时串行输出,4个区域分别 为LU(左上)、RU(右上)、LD(左下)和RD(右下)。
[0078] 步骤11:如图9所示,组间聚合模块对步骤10中传来的4路数据分别做相应处理,得 到图像的最终估计结果输出。
[0079]对于RU和RD部分的数据,直接缓存到内部RAM中,等待下一个搜索区域数据到来使 用。
[0080] 对于LD部分的数据,需要分以下四种情况处理:
[0081] 1)如果传来的是图像前两个分块或者中间分块中第一个搜索区域的处理结果,直 接将LD中的数据缓存到内部RAM,等待下一行对应位置搜索区域处理结果到来使用。
[0082] 2)如果传来的是图像前两个分块或者中间分块中间搜索区域的处理结果,需要将 LD中的数据与前一个搜索区域的已存储的RD部分数据按照相对位置高低位对应相加缓存 到内部RAM,等待下一行对应位置搜索区域处理结果到来使用。
[0083] 3)如果传来的是图像最后两个分块中第一个搜索区域的处理结果,直接将LD中的 数据低位的求和数值除以高位的重复次数作为最终的估计结果,缓存到内部RAM等待输出。
[0084] 4)如果传来的是图像最后两个分块中间搜索区域的处理结果,需要将LD中的数据 与前一个搜索区域的已存储的RD部分数据按照相对位置高低位对应相加,然后再用低位的 求和数值除以高位的重复次数作为最终的估计结果,缓存到内部RAM等待输出。
[0085]对于LU部分的数据,需要分以下四种情况处理:
[0086] 1)如何传来的是图像开头前两个分块且为第一个搜索区域的处理结果,直接将LU 中的数据作为结果。
[0087] 2)如果传来的是图像开头前两个分块的中间搜索区域的处理结果,需要将LU中的 数据与前一个搜索区域的已存储的RU部分数据按照相对位置高低位对应相加作为结果。
[0088] 3)如果传来的是图像中间分块的第一个搜索区域的处理结果,需要将LU中的数据 与前一行对应位置的搜索区域已存储的LD部分数据按照相对位置高低位对应相加作为结 果。
[0089] 4)如果传来的是图像中间分块的中间搜索区域的处理结果,需要将LU中的数据、 前一个搜索区域已存储的RU部分数据和前一行对应位置的搜索区域已存储的LD部分数据 按照相对位置高低位对应相加作为结果。
[0090] 以上情况得到的结果,再用低位求和数值除以高位重复次数作为最终的估计结果 输出。
[0091] 为了使本发明的优点得到进一步体现,以下是使用本发明方法进行的测试。
[0092]测试条件:
[0093] 计算机配置环境为Intel Core i3_2120 3.3Ghz,内存8G,系统Windows 7,Xilinx 公司FPGA开发工具软件ISE13 · 4版本,Mentor Graphics公司时序仿真软件ModelsimlO · lc 版本。
[0094] 硬件平台配置环境为Xilinx公司的Spartan 6_xc6slxl50
[0095] 软件平台配置环境为Matlab R2013b
[0096] 测试内容:
[0097] 1、本发明在不同灰度测试图片下,与其他传统去噪算法对比,对测试图片添加方 差分别为5、10和15的高斯噪声,对比参数为去噪图像与原始图像的峰值信噪比PSNR。
[0098]
L m uu」 如上表所不,本友明的二维去噪算'/云相比t传统去噪算'/云有里奸的目迠奴丨生及里 好的去噪效果,特别是在低噪声环境相比其他算法具有良好的去噪性能,在噪声方差为5 时,本发明的三维去噪算法PSNR比高斯滤波平均高出6.57dB,比均值滤波平均高出 12.67dB〇
[0101] 2、输入1280 X 720,1920 X 1080两种不同分辨率视频图像,统计在每种分辨率下, 本发明可以达到的最高时钟频率,以及资源占用情况。
[0102]
[0103] 结果分析:
[0104] 如上表所示,使用本发明的处理系统进行去噪处理,对于不同分辨率的图像视频 输入,slice资源占用率基本不受图像大小的影响,而内部Block RAM资源会随着图像分辨 率的增大而增大,对于1920X1080大分辨率图像,也只占用了28%的Slice资源,以及18% 的Block RAM资源,并且可以达到52fps的帧率,因此本发明提出的三维去噪处理系统达到 了高速实时去噪。
[0105] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种三维滤波去噪算法的去噪处理方法,其特征在于,所述三维滤波去噪算法的去 噪处理方法将原始图像部分划分为N个4x4的参考块;每个参考块在各自7x7的搜索区域内 进行全搜索块匹配;选择SAD最小的8个候选块作为匹配块;对8个匹配块进行3维哈达玛变 换;根据噪声估计参数进行硬阈值处理;对得到的8个矩阵进行3维哈达玛逆变换;然后再映 射回其在图像中的原始位置,并对相同位置上估计值求平均。2. 如权利要求1所述的三维滤波去噪算法的去噪处理方法,其特征在于,所述三维滤波 去噪算法的去噪处理方法包括: 步骤一,将边界扩展图像的原始图像部分划分为N个4x4的参考块,N由图像的大小决 定; 步骤二,每个参考块在其各自7x7的搜索区域内进行全搜索遍历块匹配,即计算参考块 与搜索区域内16个候选块之间的绝对差之和SAD值; 步骤三,在每个搜索区域中选择绝对差之和最小的8个候选块且必须包含参考块所在 位置的候选块,作为该搜索区域内的匹配块; 步骤四,对每个搜索区域中的8个匹配块分别进行2维的哈达玛变换,再将8个变换结果 矩阵上相同位置分别进行1维的哈达玛变换,即第三维的哈达玛变换; 步骤五,根据噪声估计参数对3维变换结果进行硬阈值处理,即对变换结果取绝对值 后,大于阈值的点,输出原值;小于阈值的点,置零; 步骤六,对硬阈值处理后的8个结果矩阵上相同位置分别进行1维的哈达玛逆变换,即 第三维的哈达玛逆变换; 步骤七,再对变换结果,分别进行2维的哈达玛逆变换,得到每个搜索区域内的所有块 的估计值; 步骤八,将得到的每个搜索区域内的8个估计矩阵再映射回其在图像中原始位置,并对 图像中相同位置上估计值求平均,从而得到最终估计值,即最终的去噪结果。3. -种如权利要求1所述三维滤波去噪算法的去噪处理方法的去噪处理系统,其特征 在于,所述去噪处理系统包括: 图像缓存单元,用于完成部分图像缓存以及按特定格式输出图像数据; 块匹配单元,与所述图像缓存单元连接,用于完成每个参考块所在搜索区域内的全搜 索块匹配以及候选块的存储和选择; 三维滤波单元,与所述块匹配单元连接,用于完成匹配块的三维硬阈值滤波; 聚合单元,与所述三维滤波单元连接,用于完成对重复位置上的滤波结果估计值求平 均。4. 如权利要求3所述的去噪处理系统,其特征在于,所述图像缓存单元包括: 行缓存模块,用于对输入图像按每4行为单位缓存,并按8行为单位奇偶列同时输出; 块缓存模块,与所述行缓存模块连接,用于从搜索区域中分离参考块数据并按列输出 参考块数据以及同时输出搜索区域奇偶列数据。5. 如权利要求3所述的去噪处理系统,其特征在于,所述块匹配单元包括: 块匹配模块,用于计算一个搜索区域中参考块与候选块之间的绝对差和SAD值,并对 SAD进行比较排序; 数据选择模块,与所述块匹配模块连接,用于缓存候选块数据并选择与参考块之间绝 对差和SAD最小的8个候选块输出。6. 如权利要求3所述的去噪处理系统,其特征在于,所述三维滤波单元包括: 2D-FWHT模块,用于对匹配块进行4x4的2维哈达玛变换; 1D-FWHT模块,与所述2D-FWHT模块连接,用于对2维变换结果再进行一维的快速哈达玛 变换即第三维的变换; 硬阈值处理模块,与所述1D-FWHT模块连接,用于根据噪声估计参数对三维变换结果进 行阈值处理; 1D-IFWHT模块,与所述硬阈值处理模块连接,用于对硬阈值处理结果进行相应的一维 的快速哈达玛逆变换即第三维的逆变换; 2D-IFWHT模块,与所述1D-IFWHT模块连接,用于对第三维的逆变换的结果再进行2维快 速哈达玛逆变换得到块估计结果。7. 如权利要求3所述的去噪处理系统,其特征在于,所述聚合单元包括: 组内聚合模块,用于对一个搜索区域内8个匹配块相同位置上的估计值进行求和以及 记录重复次数; 组间聚合模块,与所述组内聚合模块连接,用于对整幅图像中相同位置上的估计值求 均值。
【文档编号】G06T5/00GK105976334SQ201610297995
【公开日】2016年9月28日
【申请日】2016年5月6日
【发明人】宋锐, 米彦逢, 贾丽敏, 贾媛, 李云松, 王养利
【申请人】西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1