一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种频域去噪滤波的方法与流程

2021-11-09 19:56:00 来源:中国专利 TAG:


1.本发明涉及视频编码技术领域,特别涉及一种频域去噪滤波的方法。


背景技术:

2.目前,视频编码中比较常用的去噪滤波方法是空域滤波,通过滤波减少噪声进入残差,一般设定一个带有加权系数的滤波窗口对图像逐点滤波。编码器再对滤波后的图像进行编码。
3.然而,图像中的噪声是不能完全滤除的,且噪声具有不可压缩性。以像素点为单位进行去噪滤波,计算量大且对图像内容不作区分,容易模糊图像的真实边缘。
4.现有技术中的常用术语如下:
5.灰度共生矩阵:是一种研究灰度空间相关特性来描述纹理的常用方法,而纹理是由灰度分布在空间位置上反复出现而形成的,因而在图像空间中相隔某距离的两像素之间存在一定的灰度关系。如果图像是由具有相似灰度值的像素块构成,则灰度共生矩阵的对角元素会有比较大的值;如果图像像素灰度值在局部有变化,那么偏离对角线的元素会有比较大的值。
6.cg:tu中的变换系数被分为若干个4x4大小的子块,子块里的16个系数称为系数组(coefficient groups cg)。对于每个cg内的系数按对角方式扫描,同时在tu中所有的cg也按对角方式扫描。将每个cg通过标记最后非零系数坐标、非零系数位置、系数大于1的标识、系数大于2的标识、符号标识、系数剩余值,最终得到一个一维数组,熵编码将一维数组编入码流。
7.dct指discrete cosine transform,意思是离散余弦变换,其常见用途是对音视频进行数据压缩。


技术实现要素:

8.为了解决上述问题,本发明的目的在于:本发明计算量小,以块为单位进行去噪,首先通过简单方法识别平坦区域,避免了对图像中真实边缘细节的模糊。然后利用灰度共生矩阵区分纹理和噪声,剔除了对比度低的小纹理。而噪声平坦数据块的预测残差由空域变换到频域后,大部分能量都集中到了低频,噪声信号的较多能量则分散在高频部分,更容易被识别。低噪声残差被量化清0,较高的噪声残差通过本发明滤除,进而降低码流在噪声上的消耗。
9.具体地,本发明提供一种频域去噪滤波的方法,所述方法包括以下步骤:
10.s1,识别待去噪块:
11.s1.1,灰度级缩放:
12.对噪声干扰下的256级灰度图像中的图像灰度级缩放到64级;
13.s1.2,筛选平坦块:
14.满足下面两个条件的数据块为平坦块:
15.(1)缩放块内出现的灰度值个数为2,且两灰度值之间相差1;
16.(2)一个灰度值个数大于阈值gray_thrd,同时另一灰度值个数小于阈值gray_thrd,分别称为大概率灰度b和小概率灰度s;
17.s1.3,筛选离散噪声块:
18.s1.3.1,对s1.2中判断为平坦块的数据块设置像素点间距为1,计算灰度共生矩阵来分析小概率灰度的分布情况:当共生矩阵相邻小概率灰度的个数ss_cnt越小,斜对角线上的个数和较ss_cnt越大,小概率灰度分布越离散;反之纹理越粗;
19.s1.3.2,分析共生矩阵,满足下面任意条件的块为离散噪声块:
20.(3)ss_cnt=0且斜对角线上的和sum>0;
21.(4)0<ss_cnt<12且斜对角线上的和sum>ss_cnt*3;
22.s2,收集量化误差:
23.在tu块量化的过程中收集每个系数点舍掉的高两位值作为该系数的量化误差q_diff=(coeff>>(qbit-2))&0x3;
24.s3,量化系数滤除:
25.当tu为32x32时,必须4个16x16块均为离散平坦块才进行频域滤波;
26.当tu为16,8,4时,只要所属的16x16块为离散平坦块就进行频域滤波。
27.所述s1.2中设gray_thrd=200。
28.所述s1.2的平坦块中小概率灰度点为不平坦因子,在预测后更容易进入残差,经dct变换分布在高频部分。
29.所述s1.3.2中两种平坦块的灰度共生矩阵:
[0030][0031]
所述s3中当tu为8x8时,假设量化后的系数矩阵qcoeff如下所示:
[0032]
[0033][0034]
对每个tu中的cg块的处理方法如下:
[0035]
定义一数组qdiff_thrd[4][8],
[0036]
qdiff_thrd[4][8]={{0,0,0,0,1,1,1,2},{0,0,0,1,1,1,2,2},{0,0, 1,1,1,2,3,3},{0,1,1,2,2,3,3,3}};
[0037]
定义一数组tu4_thr[4][16],
[0038]
tu4_thr[4][16]={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[0039]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
{0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2},
[0040]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
{0,1,2,2,3,3,3,3,3,3,3,3,3,3,3,3},
[0041]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
{0,1,1,2,2,2,3,3,3,3,3,3,3,3,3,3}};
[0042]
定义一数组num_thrd[4][8],
[0043]
num_thrd[4][8]={{0,0,1,1,1,1,2,2},{0,0,1,1,1,2,2,3},{0,1,1, 1,2,3,3,3},{1,1,1,2,3,3,3,3}};
[0044]
定义一数组sum_thrd[4][8],
[0045]
sum_thrd[4][8]={{0,0,2,2,2,3,4,4},{0,0,2,2,2,4,4,6},{0,2,2, 3,4,5,6,6},{2,3,4,6,6,6,6,6}};
[0046]
tusize表示4,8,16,32;去噪level表示设置的去噪强度;
[0047]
qdiff_thrd[4][8]表示不同tusize和去噪level条件下设置的量化误差最大值;
[0048]
tu4_thrd[4][16]表示不同tusize和cg位置条件下设定的去噪强度;
[0049]
num_thrd[4][8]表示不同去噪强度和去噪level条件下设定的系数绝对值和的最大值;
[0050]
sum_thrd[4][8]表示不同去噪强度和去噪level条件下设定的量化误差绝对值和的最大值;
[0051]
qdiff_thr通过查表qdiff_thrd[4][8]得到,tu4_thr通过查表 tu4_thrd[4][16]得到,num_thr通过查表num_thrd[4][8]得到,sum_thr 通过查表sum_thr[4][8]得到;
[0052]
1)遍历每个系数qcoeff[i],先进行一个简单去噪,将绝对值为1的 qcoeff[i]对应量化误差qdiff[i]小于给定阈值qdiff_thr的qcoeff[i] 置0;若当前4x4块位于tu左上角块,qcoeff[0]不做处理,且跳过下面步骤2)。
[0053]
2)统计qcoeff[i]绝对值非零的个数nz_cnt,为1的个数val1_cnt和为2的个数val2_cnt。计算cg量化误差和qdiff_sum。
[0054]
3)当cg满足所有非零系数和小于num_thr且qdiff_sum<sum_thr时,将cg所有qcoeff[i]置0。
[0055]
经过去噪处理,得到新的tu qcoeff,如下所示:
[0056][0057][0058]
由此,本技术的优势在于:与频域去噪前的qcoeff矩阵相比,更多的高频qcoeff被置0。而平坦区域的高频系数基本为噪声引起,消除对主观影响不大,而编码时将消耗更少的码流。
附图说明
[0059]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
[0060]
图1是本发明方法的示意流程图。
[0061]
图2是本发明方法包括s1的具体步骤的流程示意图。
具体实施方式
[0062]
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
[0063]
如图1所示,本发明涉及一种频域去噪滤波的方法,所述方法包括以下步骤:
[0064]
s1,识别待去噪块:
[0065]
s1.1,灰度级缩放:
[0066]
对噪声干扰下的256级灰度图像中的图像灰度级缩放到64级;
[0067]
s1.2,筛选平坦块:
[0068]
满足下面两个条件的数据块为平坦块:
[0069]
(1)缩放块内出现的灰度值个数为2,且两灰度值之间相差1;
[0070]
(2)一个灰度值个数大于阈值gray_thrd,同时另一灰度值个数小于阈值gray_thrd,分别称为大概率灰度b和小概率灰度s;
[0071]
s1.3,筛选离散噪声块:
[0072]
s1.3.1,对s1.2中判断为平坦块的数据块设置像素点间距为1,计算灰度共生矩阵来分析小概率灰度的分布情况:当共生矩阵相邻小概率灰度的个数ss_cnt越小,斜对角线上的个数和较ss_cnt越大,小概率灰度分布越离散;反之纹理越粗;
[0073]
s1.3.2,分析共生矩阵,满足下面任意条件的块为离散噪声块:
[0074]
(1)ss_cnt=0且斜对角线上的和sum>0;
[0075]
(2)0<ss_cnt<12且斜对角线上的和sum>ss_cnt*3;
[0076]
s2,收集量化误差:
[0077]
在tu块量化的过程中收集每个系数点舍掉的高两位值作为该系数的量化误差q_diff=(coeff>>(qbit-2))&0x3;
[0078]
s3,量化系数滤除:
[0079]
当tu为32x32时,必须4个16x16块均为离散平坦块才进行频域滤波;
[0080]
当tu为16,8,4时,只要所属的16x16块为离散平坦块就进行频域滤波。
[0081]
具体地,如图2所示,将编码前的原始图像以16x16块为单位进行分析。
[0082]
1.识别待去噪块
[0083]
1)灰度级缩放
[0084]
噪声干扰下的256级灰度图像中的主观平坦区域并非绝对平坦,为了更好的识别平坦区域,我们将图像灰度级缩放到64级。
[0085]
2)筛选平坦块
[0086]
满足下面两个条件的数据块为平坦块:
[0087]
(1)缩放块内出现的灰度值个数为2,且两灰度值之间相差1。
[0088]
(2)一个灰度值个数大于阈值gray_thrd,同时另一灰度值个数小于阈值gray_thrd,分别称为大概率灰度b和小概率灰度s。设 gray_thrd=200。
[0089]
平坦块中小概率灰度点为不平坦因子,在预测后更容易进入残差,经dct变换分布在高频部分。
[0090]
3)筛选离散噪声块
[0091]
对2)中判决为平坦的数据块设置像素点间距为1,计算灰度共生矩阵来分析小概率灰度的分布情况。当共生矩阵相邻小概率灰度的个数ss_cnt越小,斜对角线上的个数和较ss_cnt越大,小概率灰度分布越离散;反之纹理越粗。本发明只对小概率灰度离散的平坦块进行去噪,以减少对较粗纹理的模糊或滤除。分析共生矩阵,满足下面任意条件的块为离散噪声块:
[0092]
(1)ss_cnt=0且斜对角线上的和sum>0。
[0093]
(2)0<ss_cnt<12且斜对角线上的和sum>ss_cnt*3。
[0094][0095]
2.收集量化误差
[0096]
在tu块量化的过程中收集每个系数点舍掉的高两位值作为该系数的量化误差q_diff=(coeff>>(qbit-2))&0x3。
[0097]
3.量化系数滤除
[0098]
当tu为32x32时,必须4个16x16块均为离散平坦块才进行频域滤波。
[0099]
当tu为16,8,4时,只要所属的16x16块为离散平坦块就进行频域滤波。
[0100]
以tu8x8为例,假设量化后的系数矩阵qcoeff如下所示:
[0101]
400000000000-10000010002000000000000000000-10000100000000000100000
[0102]
对每个tu中的cg块的处理方法如下:
[0103]
定义一数组qdiff_thrd[4][8],
[0104]
qdiff_thrd[4][8]={{0,0,0,0,1,1,1,2},{0,0,0,1,1,1,2,2},{0,0, 1,1,1,2,3,3},{0,1,1,2,2,3,3,3}};
[0105]
定义一数组tu4_thr[4][16],
[0106]
tu4_thr[4][16]={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[0107]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
{0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2},
[0108]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
{0,1,2,2,3,3,3,3,3,3,3,3,3,3,3,3},
[0109]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
{0,1,1,2,2,2,3,3,3,3,3,3,3,3,3,3}};
[0110]
定义一数组num_thrd[4][8],
[0111]
num_thrd[4][8]={{0,0,1,1,1,1,2,2},{0,0,1,1,1,2,2,3},{0,1,1, 1,2,3,3,3},{1,1,1,2,3,3,3,3}};
[0112]
定义一数组sum_thrd[4][8],
[0113]
sum_thrd[4][8]={{0,0,2,2,2,3,4,4},{0,0,2,2,2,4,4,6},{0,2,2, 3,4,5,6,6},{2,3,4,6,6,6,6,6}};
[0114]
tusize表示4,8,16,32;去噪level表示设置的去噪强度;
[0115]
qdiff_thrd[4][8]表示不同tusize和去噪level条件下设置的量化误差最大值;
[0116]
tu4_thrd[4][16]表示不同tusize和cg位置条件下设定的去噪强度;
[0117]
num_thrd[4][8]表示不同去噪强度和去噪level条件下设定的系数绝对值和的最大值;
[0118]
sum_thrd[4][8]表示不同去噪强度和去噪level条件下设定的量化误差绝对值和的最大值;
[0119]
qdiff_thr通过查表qdiff_thrd[4][8]得到,tu4_thr通过查表tu4_thrd[4][16]得到,num_thr通过查表num_thrd[4][8]得到,sum_thr 通过查表sum_thr[4][8]得到;
[0120]
1)遍历每个系数qcoeff[i],先进行一个简单去噪,将绝对值为1的 qcoeff[i]对应量化误差qdiff[i]小于给定阈值qdiff_thr的 qcoeff[i]置0。若当前4x4块位于tu左上角块,qcoeff[0]不做处理,且跳过下面过程。
[0121]
2)统计qcoeff[i]绝对值非零的个数nz_cnt,为1的个数val1_cnt 和为2的个数val2_cnt。计算cg量化误差和qdiff_sum。
[0122]
3)当cg满足所有非零系数和小于num_thr且qdiff_sum<sum_thr时,将cg所有qcoeff[i]置0。
[0123]
经过上面的去噪处理,得到新的tu qcoeff,如下所示:
[0124][0125][0126]
与频域去噪前的qcoeff矩阵相比,更多的高频qcoeff被置0。而平坦区域的高频系数基本为噪声引起,消除对主观影响不大,而编码时将消耗更少的码流。
[0127]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献