视频编码中的非局部自适应环内滤波器的方法和装置与流程

文档序号:15577097发布日期:2018-09-29 05:44阅读:234来源:国知局

本申请要求在2016年02月04日提出申请号为62/291,047的美国临时专利申请的优先权。上述申请整体以引用方式并入本文中。

本发明涉及视频数据的视频编码。特别地,本发明涉及对解码图像的去噪滤波器以提高视觉质量和/或编码效率。



背景技术:

视频数据需要大量的存储空间以存储,或者较宽带宽以传输。随着增长的高分辨率与更高的帧率,如果视频数据以未压缩形式被存储或者传输,则存储要求或者传输带宽要求将变得难以满足。因此,视频数据通常使用视频编解码技术,以压缩格式被存储或者传输。使用诸如h.264/avc和新兴的高效视频编码(high-efficiencyvideocoding,hevc)标准的新的视频压缩格式,编解码效率本质上已被提高。

图1示出了包括环路处理的示例性自适应帧间/帧内视频编解码系统。对于帧间预测,运动估计(motionestimation,me)/运动补偿(motioncompensation,mc)112用于基于来自于其他图像的视频数据而提供预测数据。开关114选择帧内预测110或者帧间预测数据,并且所选择的预测数据被提供给加法器116以形成预测误差,也称为残差(residue)。随后,预测误差由变换(transform,t)118处理,再由量化(quantization,q)120处理。随后,已变换与已量化的残差由熵编码器122进行编码,以使其包含在对应于已压缩视频数据的视频比特流中。当帧间预测模式被使用时,参考图像也得在编码器侧处被重构。因此,已变换与已量化的残差由逆量化(inversequantization,iq)124和逆变换(inversetransformation,it)126处理,以恢复残差。随后,这些残差在重构(reconstruction,rec)128处被添加回到预测数据136中,以重构视频数据。重构的视频数据被存储在参考图像缓存器134中,并用于其他帧的预测。然而,在视频数据被存储到参考图像缓存器之前,环路滤波器130(例如,去块(deblocking)滤波器和/或样本自适应偏移(sampleadaptiveoffset,sao))可以被应用到重构的视频数据。

图2示出了用于图1中编码器系统的相应的视频解码器的系统结构示意图。由于编码器也包括局部(local)解码器,以用于重构视频数据,除了熵解码器之外,一些解码器组件已用在编码器中。另外,仅运动补偿220需要用于解码器侧。开关146选择帧内预测或者帧间预测数据,并且所选择的预测数据被提供给重构128,以使其与已恢复的残差进行组合。除了对已压缩的残差执行熵解码之外,熵解码器210也负责辅助信息(sideinformation)的熵解码,并提供辅助信息给各自的块。例如,帧内模式信息被提供给帧内预测110,帧间模式信息被提供给运动补偿220,环路滤波器信息被提供给环路滤波器130,残差被提供给逆量化124。残差由逆量化124、逆变换126及后续重构处理进行处理,以重构视频数据。同样,来自于重构128的重构的视频数据经过一系列处理,包括如图2所示的逆量化124和逆变换126,并可能产生编解码伪影(artefact)。重构的视频数据由环路滤波器130进行进一步处理。再次,avc/h.264使用去块滤波器作为环路滤波器。对于hevc,去块滤波器和sao(样本自适应偏移)滤波器都可用作环路滤波器。

在hevc系统中,h.264/avc的固定大小的宏块(macroblock)由灵活块来替换,其称为编码单元(codingunit,cu)。编码单元中的像素共享相同的编码参数以提高编码效率。编码单元可以是从最大编码单元(largestcu,lcu)开始,其在hevc中也称为编码树单元(codedtreeunit,ctu)。每个编码单元是2nx2n方块,并且可以递归地分成四个较小的编码单元,直到达到预定义的最小大小。一旦完成编码单元分层树的分割,则根据预测类型和预测单元(predictionunit,pu)分区,将每个叶编码单元进一步分割成一个或多个预测单元。此外,用于变换编码的基本单元是正方形大小,其称为变换单元(transformunit,tu)。为方便起见,切片、lcu、ctu、cu、pu和tu被称为图像单元。

在hevc中,帧内和帧间预测被应用于每个块(即,pu)。帧内预测模式使用空间相邻重构像素来生成方向预测器。另一方面,帧间预测模式使用时间重构参考帧来生成运动补偿预测器。使用变换、量化和熵编码对预测残差进行编码。更准确的预测器将导致更小的预测残差,这反过来将导致更少的压缩数据(即,更高的压缩比)。

帧间预测将探索帧之间的像素的相关性,并且如果场景是静止的或者运动是平移的,则帧间预测将是有效的。在这种情况下,运动估计可以容易地找到在时间相邻帧中具有相似像素值的相似块。对于hevc中的帧间预测,帧间预测可以是单向预测(uni-prediction)或双向预测(bi-prediction)。对于单向预测,通过先前编码图像中的一个参考块来预测当前块。对于双向预测,通过两个先前编码图像中的两个参考块来预测当前块。对来自两个参考块的预测进行平均以形成双向预测的最终预测器。

用于图像处理的去噪滤波器

除了环路滤波器技术之外,近年来已经公开了去噪技术作为改善视觉质量的手段。在许多去噪方法中,存在一种被称为“非局部均值(non-localmeansornon-localmean,nlm)”的技术,以根据一组相似的重构图像块(imagepatch)的统计来降低一个图像块中的噪声。例如,baudes等人(a.buades,b.coll,andj.m.morel,“anon-localalgorithmforimagedenoising,”inieeecomputersocietyconferenceoncomputervisionandpatternrecognition,2005,cvpr2005,vol.2,pp.60–65,jun.2005)公开了一种用于图像的非局部去噪算法。特别是,baudes等人公开了一种新算法,非局部均值(nlm),基于图像中所有像素的非局部平均。nlm方法基于图像中的相邻像素的加权平均来生成去噪像素。dabov等人已经公开了基于3d变换的图像去噪技术(k.dabov,a.foi,v.katkovnik,andk.egiazarian,“imagedenoisingbysparse3-dtransform-domaincollaborativefiltering,”ieeetrans.imageprocess.,vol.16,no.8,pp.2080–2094,aug.2007)。3-d变换域去噪方法将相似的块(patch)分组为3-d阵列,并通过稀疏协同滤波(sparsecollaborativefiltering)来处理这些阵列。该方法利用非局部自相似性(nonlocalself-similarity)和稀疏性(sparsity)进行图像去噪。最近,guo等人公开了一种基于svd的去噪技术(q.guo,c.zhang,y.zhang,andh.liu,“anefficientsvd-basedmethodforimagedenoising,”acceptedforpublicationinieeetransactionsoncircuitsandsystemsforvideotechnology,2015,availableonlineathttp://qguo.weebly.com/publications.htm)。guo等人公开了一种非局部自相似性和低秩逼近(low-rankapproximation,lra)作为计算上简单的去噪方法。根据guo等人公开的技术,相似的图像块通过块匹配技术来分类以形成相似的块组,这导致相似的块组具有低秩。通过奇异值分解(singularvaluedecomposition,svd)对每组相似块进行分解,并且通过仅取几个最大奇异值和相应的奇异向量来估计。通过聚合所有处理的块来生成初始去噪图像。guo等人提出的方法,利用svd的最佳能量压缩特性来引导相似块组的低秩逼近。可以在两个图像块之间的l2-范数(l2-norm)距离或任何其他测量值中测量两个块之间的相似性。各种去噪技术简要回顾如下。

根据nl去噪处理,图像被分成多个块(patches/blocks)。对于每个目标块在l2范数距离或任何其他测量值中找到k个最相似的块为简单起见,是包含在二维块内的像素的一维向量。然后,k个相似的块与目标块一起形成块组yi,其中i是组索引。

图像去噪处理的目的是从噪声测量中恢复原始图像,

在上面的等式中,是在块组i内的块j中的观察像素值(即,噪声像素值),是真实像素值,并且是像素p(即,块内的像素索引)处的噪声值。

在找出这些非局部参考块并形成块组矩阵yi之后,可以利用不同的去噪内核来减少该组内的块的噪声项。不同的方法描述如下。

非局部去噪处理

去噪像素被导出为块组内像素的加权平均值,如下所示:

其中以及z是归一化因子,

非局部低秩去噪

假设无噪声块组xi对应于块组yi

其中ni是构成与每个块矢量对应的噪声矢量的相关噪声矩阵。

具有低秩约束的去噪问题可以独立地为每组图像块制定,

这种低秩约束的解决方案如下。

1.首先将svd(奇异值分解)应用于矩阵yi=uav*,其中u,v是单式矩阵(unitarymatrix),λ是在对角线上具有非负实数值的奇异矩阵(singularmatrix)。

2.在低秩约束下的低噪声块组被导出为

其中λτ是具有缩小的奇异值的矩阵,其使用硬阈值(hard-thresholding)、软阈值(soft-thresholding)或具有阈值τ的任何其他方式。

下面给出奇异矩阵和截断结果的例子。

以及

块匹配和3d(bm3d)滤波

bm3d的概念是首先将所有参考块和目标块分组在一起。请注意,块中的像素以2d方式放置,然后块将形成3d阵列。然后将固定的3d变换应用于该3d阵列。相似地,将软阈值处理或硬阈值处理应用于频率系数。截断频域中的小值可以减少噪声分量。

其他方法

除了上面提到的去噪方法之外,还有许多其他非局部(nl)去噪方法可用于改善视觉质量。

用于视频编码中的解码图像的去噪滤波器

虽然上述nl去噪方法主要关注图像去噪,但同时也公开了用于视频编码的nl去噪技术。例如,在jctvc-e206(m.matsumura,y.bandoh,s.takamuraandh.jozawa,“in-loopfilterbasedonnon-localmeansfilter”,jointcollaborativeteamonvideocoding(jct-vc)ofitu-tsg16wp3andiso/iecjtc1/sc29/wg11,5thmeeting:geneva,ch,16-23march,2011,document:jctvc-e206)中公开的在去块滤波器(deblockingfilter,df)和nlm之间的选择性滤波器。环路滤波器结构如图3a所示。使用第一环路滤波器对局部解码图像310进行滤波,其中第一环路滤波器对应于nlm322或df320。该决定是基于块的,其中使用四叉树将局部解码图像310划分为多个块。当使用nlm322时,相关的去噪参数321被提供给nlm322。开关324根据码率-失真优化(rate-distortionoptimization,rdo)来选择模式。图像330对应于四叉树分区的局部解码图像,其中点填充块指示nlm滤波块,而线填充块指示df滤波块。图像340对应于df/nlm滤波图像,其经过进一步的alf(自适应环路滤波器)处理。

图3b示出了根据jctvc-e206的nlm处理的示例。相似性测量(similaritymeasure)是基于正被处理的局部解码图像360中的目标像素362周围的每个3×3块364(即,块(patch))。参考区域366中的所有像素用于计算滤波器的权重因子。nlm滤波器以平方差(squaredifference)之和的方式,计算目标像素362的方形邻域(squareneighbourhood)364与参考区域366中的位置372的方形邻域374之间的相似性。使用相似性,nlm滤波器计算参考区域366中的方形邻域的权重因子。基于权重因子的加权和是nlm滤波器的输出。与上述用于图像去噪的块组不同,根据jctvc-e206的视频编码系统中用于去噪滤波器的块组不选择k个最接近的参考块。

在jctvc-g235(m.matsumura,s.takamuraandh.jozawa,“ce8.h:cu-basedalfwithnon-localmeansfilter”,jointcollaborativeteamonvideocoding(jct-vc)ofitu-tsg16wp3andiso/iecjtc1/sc29/wg11,7thmeeting:geneva,ch,21-30november,2011,document:jctvc-g235)中公开了另一种图像去噪技术。在g235中,alf开/关标志用于选择alf或nlm。系统使用alf开/关控制将局部解码图像分割成块,并且每个块关联一个alf开/关标志。图4a示出了根据jctvc-g235的nlm滤波器的示例,其中分区410对应于传统的alf分区,并且分区420对应于具有nlm滤波器的基于cu的alf分区。方框430表示各种类型块的图例。在分区410中,每个块由alf处理(如空白框所示)或为跳过alf的块(如点填充块所示)。在分区420中,这些跳过alf的块(即,alf标志关闭)被nlm滤波器处理,如线填充块所示。

图4b示出了使用sobel滤波器来确定图案(pattern)(例如,440a至440k),以基于jctvc-g235计算加权因子。方框450指示目标像素和抽头元素的形状图案。



技术实现要素:

本发明公开了一种使用去噪滤波器的视频编码的方法和装置。根据本发明,接收与视频序列中的解码图像或经处理的解码图像有关的输入数据。解码图像或经处理的解码图像被分成多个块。将nl(非局部)环路滤波器应用于具有nl开/关控制的目标块,以生成滤波后的输出块。nl环路滤波器处理包括:针对目标块确定包括位于一个或多个参考区域中的搜索窗口内的k个(正整数)最近的参考块组成的块组,并导出一个滤波后的输出,该输出可以是基于目标块的像素值和块组的像素值的目标块或一个滤波后的块组一个块。如果存在任何进一步的环路滤波器处理,则提供滤波后的输出块以用于进一步的环路滤波器处理,或者如果没有进一步的环路滤波器处理,则提供滤波后的输出块以存储在参考图像缓冲器中。在对解码图像应用一个或多个环路滤波器之后,经处理的解码图像可以对应于输出图像,其中环路滤波器可以是df(去块滤波器)、sao(样本自适应偏移)滤波器和alf(自适应环路滤波器)中的一个或其组合。

导出所述一个滤波后的输出的处理可以根据nl均值(nlm)去噪滤波器、nl低秩去噪滤波器或bm3d(块匹配和3-d)去噪滤波器。当使用bm3d去噪滤波器时,可以使用索引从预定义的基底的多个集合、发信的基底的多个集合、或前两者中,选择基底的一个集合。索引可以在序列级、图像级、切片级、lcu(最大编码单元)级、cu(编码单元)级、pu(预测单元)级或块级中。

可以将滤波后的输出导出为所述k个最近的参考块的对应像素的加权和。可以根据一个参考块和一个目标块之间的距离测量来确定k个最近的参考块,其中距离测量是从包括l2范数距离、l1范数距离和结构相似性(ssim)的组中选择的。距离测量也可以对应于平方误差之和(sse)或绝对差之和(sad),并且其中具有sse或sad等于零的最近的参考块的数量被限制为t,并且t是小于k的正整数。

当滤波后的输出是一个滤波后的块组或多个块是重叠时,可能存在一个像素的多个滤波后的样本值。用于多个滤波的样本值的加权和的融合权重是基于与解码图像、经处理的解码图像、滤波后的输出或其组合相关联的内容。例如,可以根据块组的像素或噪声的标准偏差、块组的等级、或者目标块和与一个重叠块相关联的k个最近的参考块之间的相似性,来导出融合权重。根据原始样本和滤波后的样本之间的差,多个滤波样本值的加权和的融合权重可以是像素自适应的。

一个或多个nl开/关控制标志可以用于nl开/关控制。nl开/关控制可以对应于是否将nl环路滤波器应用于一区域。或者,nl开/关控制对应于是否对一区域使用原始像素或滤波后的像素。在一个示例中,一个高级nl开/关控制标志可以用于nl开/关控制,其中如果该高级nl开/关控制标志指示nl开/关控制开启,则与高级nl开/关控制标志相关联的所有图像单元可以由nl环路滤波器处理。多级nl开/关控制标志可以处于比特流语法的不同级中。如果较高级的nl开/关控制标志指示nl开/关控制关闭,则不需要发信任何较低级的标志。可以在序列级、图像级、切片级、lcu(最大编码单元)级或块级中发信所述多级nl开/关控制标志之一。搜索窗口可以具有围绕一个目标块的矩形形状,其中从目标块的中心点到搜索窗口的顶部边缘的第一距离是m,从目标块的中心点到搜索窗口的底部边缘的第二距离为n,从目标块的中心点到搜索窗口的左侧边缘的第三距离是o,从目标块的中心点到搜索窗口的右侧边缘的第四距离是p,以及m、n、o和p是非负整数。

附图说明

图1示出了使用变换、量化和环路处理的示例性自适应帧间/帧内视频编码系统。

图2示出了使用变换、量化和环路处理的示例性自适应帧间/帧内视频解码系统。

图3a示出了根据jctvc-e206的视频编码系统中使用非局部均值(nlm)去噪滤波器的系统结构的示例。

图3b示出了根据jctvc-e206的nlm处理的示例,其中相似性测量是基于正被处理的局部解码图像中的目标像素周围的每个3×3块(即,块)。

图4a示出了根据jctvc-g235的nlm滤波器的示例,其中示出了对应于传统alf分区的分区和具有nlm滤波器的基于cu的alf的分区。

图4b示出了使用sobel滤波器来确定图案,以基于jctvc-g235计算加权因子。

图5示出了根据本发明的视频编码器中的nl去噪环内滤波器(nldenoisingin-loopfilter)的可能位置的示例。

图6示出了根据本发明的视频解码器中的nl去噪环内滤波器的可能位置的示例。

图7示出了搜索窗口参数的示例,其中示出了目标块和目标块的搜索范围。

图8示出了根据本发明一个实施例的非局部环路滤波器的示例性流程图。

图9示出了根据本发明另一实施例的非局部环路滤波器的示例性流程图。

具体实施方式

以下描述为实施本发明的最佳方式。本描述的目的在于阐释本发明的一般原理,并非起限定意义。本发明的保护范围当视权利要求书所界定为准。

上面简要回顾了一些流行的去噪技术。这些现有的去块滤波器属于一种局部平滑操作,其涉及位于目标像素附近的像素并且生成滤波后的像素(filteredpixel)作为输出。操作的局部性限制了滤波的性能。这种局部操作对滤波器设计施加了某些限制。为了提高去噪滤波器的效率,在本发明中,用于视频编码的环内滤波器包括上述非局部去噪。

在图5中示出了根据本发明的视频编码器中的nl去噪环内滤波器(在本公开中也称为nl去噪环路滤波器或nl环路滤波器)的可能位置。由于nl去噪环路可以以自适应方式来应用,根据本发明的nl去噪环内滤波器也称为nl-alf(nl自适应环路滤波器)。在图5中,去块滤波器(df)510、样本自适应偏移(sao)520和自适应环路滤波器(alf)530是在视频编码中使用的三个示例性环内滤波器。hevc不采用alf。但是,它可以提高视觉质量,并可以包含在较新的编码系统中。根据本发明的nl去噪环路滤波器可作为附加的环内滤波器,其可以放置在df之前的位置(即,位置a),df之后和sao之前的位置(即,位置b),sao之后和alf之前的位置(即位置c),或者在所有环内滤波器之后(即位置d)。

图6示出了根据本发明的视频解码器中的nl去噪环内滤波器的可能位置的示例。在图6中,去块滤波器(df)510,样本自适应偏移(sao)520和自适应环路滤波器(alf)530是在视频解码中使用的三个示例性环内滤波器。同样,根据本发明的nl去噪环路滤波器可作为附加的环内滤波器,其可以放置在df之前的位置(即,位置a),df之后和sao之前的位置(即,位置b),sao之后和alf之前的位置(即位置c),或者在所有环内滤波器之后(即位置d)。

在根据本发明的nl去噪环路滤波器中,首先将当前图像分割成大小等于m×n像素的若干块,其中m和n是正整数。分割的块也可以重叠或不重叠。当块重叠或滤波后的输出是一个滤波的块组时,每个样本可能有多个滤波值(filteredvalue)。可以利用多个滤波后的样本值(filteredsamplevalue)的加权和来融合多个滤波值。

虽然去噪图像可能具有更好的视觉质量,但是不能保证nl去噪像素将始终具有比没有nl去噪的像素更好的质量或更低的码率-失真成本。因此,根据本发明的实施例,nl去噪环路滤波器自适应地应用于块。自适应启用/禁用机制可以通过发信一个或多个附加比特来指示是否应该由nl去噪环路滤波器处理每个块来实现。nl-alf的各个方面的细节包括参数设置、开/关控制和相关的熵编码、多个滤波后的像素的融合、以及搜索算法和标准,如下所述。

参数设置

对于所公开的nl去噪环路滤波器,需要确定多个参数。参数可以包括:属于包括搜索范围、块大小、匹配窗口大小、块组大小、内核参数(例如,用于非局部均值去噪的σ和用于非局部低秩去噪的τ)和源图像的组中的一个或多个项目。用于执行nl-alf处理的参数可以是预先确定的、隐式地导出的或显式地发信。参数设置的细节描述如下。

搜索范围。图7示出了搜索窗口参数的示例。在图7中,小矩形710是目标块,较大的虚线矩形720是目标块的搜索范围,以搜索参考块。如图7所示,可以使用非负整数m、n、o和p将搜索范围指定为矩形,其对应于将目标块向上移动m点、向下移动n点、向左移动o点以及向右移动p点。还可以通过编解码器的块结构(例如,cu/lcu结构)进一步指定搜索范围。此外,为了减少与搜索范围相关的行缓冲器(linebuffer),矩形搜索范围优于方形搜索范围。例如,m和n可以小于o和p。搜索范围可以进一步限于某些预定义区域。例如,只有当前的lcu可用于搜索范围。在另一示例中,仅当前lcu和左侧lcu可用于搜索范围。在又一示例中,仅当前lcu加上上方lcu底部的w个像素行和左侧lcu右侧的v个像素列,可用于搜索范围,其中w和v是非负整数。在又一示例中,仅当前lcu中除了当前lcu底部的x个像素行和当前lcu右侧的y个像素列,加上上方lcu底部的w个像素行和左侧lcu右侧的v个像素列,可用于搜索范围,其中w、v、x和y是非负整数。在又一示例中,搜索范围不能跨越lcu行边界或一些预定义的虚拟边界,以便节省所需的存储器缓冲区。在又一个示例中,仅左侧、顶部和左上区域中的像素可以使用。例如,图7中的p和n可以全为零。

块大小。块大小是mxn矩形块,其中m和n是相同或不同的非负整数。输入图像被划分成多个块,每个块是执行nl去噪的一个基本单元。注意,划分的块可以重叠或不重叠。当块重叠时,重叠区域中的样本可能有多个滤波值。多个滤波后的样本值的加权平均值用于融合多个滤波值。此外,可以根据处理图像的内容自适应地确定块大小。

匹配窗口大小。匹配窗口内的像素可用于搜索参考块。匹配窗口通常是大小为mmxnn的矩形,其中mm和nn是非负整数。匹配窗口通常以目标块的几何中心(centroid)为中心,其大小可以与目标块大小不同。此外,可以根据处理图像的内容自适应地确定匹配窗口大小。

块组大小。块组大小k用于指定参考块的数量。可以根据处理图像的内容自适应地确定块组大小。

内核参数。根据具体的去噪技术,可能需要不同的内核参数。所需的内核参数描述如下。

a.噪声的标准偏差(σn)。编码器和解码器都可能需要估计噪声的标准偏差(standarddeviation)。在编解码器中,噪声主要由量化误差引起,并且还观察到量化误差与内容的纹理水平有关。因此,本发明的一个方面公开了一种学习噪声的标准偏差与重构像素的内容之间的关系的方法。例如,幂函数(powerfunction)y=axb可用于指定关系,其中x表示重构像素的标准偏差(也表示为σr),y表示噪声的估计标准偏差。参数a和b可以针对不同的qp(量化参数)、不同的切片类型和任何其他编码参数进行离线训练。此外,参数a和b的选择可以取决于当前cu的编码信息,包括帧间/帧内模式、单向/双向预测、残差和参考帧的qp等。除了幂函数之外,关系可以是分段线性(piece-wiselinear)或具有偏移的幂函数。

b.原始像素的标准偏差(σo)。可以估计原始像素的标准偏差以用于块组,或者使用以下等式来估计原始像素的标准偏差:

相似地,svd空间中原始像素的标准偏差可以估计如下:

在上面的等式中,λk是矩阵yi的第k个奇异值,w是yi的最小维数。

c.截断值(τ)。可以根据具有/不具有一个缩放因子的σn和σo的比率自适应地确定截断值τ。

基于变换的去噪。基于变换的去噪方法可用于去除块组的噪声。可以使用离散余弦变换(dct)、离散正弦变换(dst)、karhunen-loeve变换(klt)或预定义变换。对于块组,首先应用正向变换,其可以是1d、2d或3d变换。可以将小于阈值的变换系数设置为零。阈值可以取决于qp、切片类型、cbf(编码块标志)或其他编码参数。可以在比特流中用发信阈值。在修改变换系数之后,应用反向变换以获得块组的重构像素。

源图像。在传统的非局部去噪方法中,参考块位于同一图像(即,当前图像)内。在本发明中,参考块可以在当前图像以及参考图像中。参考图像是通过视频编解码器重构的图像,并且被标记为用于帧间预测的当前图像的参考图像。

上述参数可以是依赖序列的参数,并在不同的级(level)发信。例如,可以在序列级、图像级、切片级或lcu级发信号通知参数。在较低的级发信的参数可以覆盖来自较高的级的当前nl-alf处理的设置。例如,如果期望参数改变,则在序列级发信默认参数集,并且可以针对当前切片发信新的参数集。如果没有为当前切片编码新的参数集,则可以直接使用在序列级中的设置。

开/关控制和相关的熵编码

本发明中的nl-alf的自适应开关控制,公开了使用多级开/关控制来指示是否在不同的级应用非局部alf。当较高的级的标志指示nl-alf关闭时,不需要发信较低的级的标志。开/关标志可用于指示是否使用原始像素或滤波后的像素作为块。或者,开/关标志可用于指示是否对块启用nl-alf处理。多级控制的示例如下所示。用于发信号nl-alf开/关控制的语法级的各种示例描述如下。

1.序列级开/关。在序列级参数集(例如,序列参数集,sps)中发信序列级开/关标志,以指示对当前序列是启用还是禁用nl-alf。不同颜色分量的开/关控制标志可以单独发信或联合发信。

2.图像级开/关。可以在图像级参数集(例如,图像参数集,pps)中发信图像级开/关标志,以指示对当前图像是启用还是禁用nl-alf。差分分量的开/关控制标志可以单独发信或联合发信。

3.切片级开/关。可以在切片级参数集(例如,切片报头)中发信切片级开/关标志,以指示对当前切片是启用还是禁用nl-alf。不同颜色分量的开/关控制标志可以单独发信或联合发信。

4.lcu级开/关。可以针对hevc中定义的每个最大编码单元(lcu)或编码树单元(ctu)发信lcu级开/关标志,以指示对当前ctu是启用还是禁用nl-alf。不同颜色分量的开/关控制标志可以单独发信或联合发信。

5.块级开/关。可以针对大小为ppxqq(pp和qq为非负整数)的每个块发信块级开/关标志,以指示对当前块是启用还是禁用nl-alf。注意,不同颜色分量的开/关控制标志可以单独发信或联合发信。

6.除了开和关模式之外,还可以发信另外的第三模式,例如片级中的sliceallon或lcu级中的lcuallon。如果选择了sliceallon,则当前切片中的所有lcu将由nl-alf处理,并且可以节省lcu的控制标志。相似地,当为当前lcu启用lcuallon时,当前lcu中的所有块都由nl-alf处理,并且可以节省相关的块级开/关标志。

在本发明中,还公开了用于决定所提出的在不同级的nl-alf开/关的编码算法。在编码器侧,首先计算块级的失真和码率,并且在块级执行模式决定。接下来,可以将较低的级的失真和码率重用于较高的级的模式决定,例如lcu级。在累积一个切片中的所有lcu的失真和码率之后,可以进行切片级模式决定。通过使用这种方法,我们只需要计算一次失真和码率,以避免多级模式决定中的冗余计算。

多个滤波后的像素的融合

如前所述,在重叠区域中,或者当滤波后的输出是一个滤波后的块组时,可以存在多个滤波值。多个滤波后的样本值的加权平均值用于融合多个滤波值。在本发明中,公开了根据重构像素和/或滤波后的像素的内容的自适应融合权重。一些示例如下所示。

1.根据像素的标准偏差或每个块组的噪声导出权重。

2.根据每个块组的等级(rank)导出权重。例如,具有较小等级的块组的滤波后的像素将被分配较高的融合权重。

3.根据参考块和当前块之间的相似性导出权重。

4.通常,计算一个权重,并用于块中的所有像素。根据一个实施例,公开了像素自适应权重。基于原始样本和滤波后的样本之间的差(difference),可以进一步调整计算的重量。例如,如果原始样本和滤波后的样本之间的差大于阈值,则权重减少到一半或四分之一或甚至为零。如果原始样本和滤波样本之间的差小于阈值,则可以使用原始权重。可以基于每个块组的像素或噪声的标准偏差,当前cu、当前切片或所选参考帧的量化参数,帧间/帧内模式,切片类型和残差来确定阈值。

5.在传统的nlm(非局部均值)中,仅修改一个块组中的当前块。因此,没有多个滤波后的像素的融合。根据本发明的实施例,公开了nlm处理中的多个滤波后的像素的融合。我们通过使用当前样本(在滤波之前)或在当前块中使用相应权重的滤波后的样本,来进一步修改一个块组中的其他参考块。相应的权重可以是来自相似性的权重、相等加权、或者基于像素的标准偏差或当前块组中的噪声导出的。

6.在一些实施例中,开关标志可用于控制是否将原始像素或滤波后的像素用于一区域,或控制是否对一区域应用nl-alf处理。例如,nl-alf可以应用于每个块。在此示例中,不仅修改了当前块,还修改了块组中的参考块。处理完所有块后,开关标志用于确定是使用原始像素还是滤波后的像素。在此示例中,对于关闭nl-alf标记的区域,应仍然应用nl-alf处理,因为当前块可能会修改参考块中的某些像素。在另一示例中,仅当该区域的nl-alf标志开启时才应用区域的nl-alf处理。

搜索算法和准则

在根据本发明的nl-alf中,通过收集k个最相似的块形成块组。相似性与一个参考块和一个目标块之间的距离测量相关联,并且可以定义为当前块和参考块之间的平方误差之和(sumofsquareerror,sse)或绝对差之和(sumofabsolutedifference,sad)。如所理解的,较小的sse或sad意味着较高的相似性。为了提高去噪性能,sad等于0或sse等于0的参考块的数量(t)进一步受到限制,其中t是整数且小于块组大小k。通过使用此限制,允许在块组中使用更多不同的块。因此,与原始样本相比,滤波后的样本可以更加不同。当使用sad或sse时,可以将每个像素的差值(differencevalue)或平方误差值(squarederrorvalue)限幅在一定范围内。例如,范围可以是0到255*255。在另一示例中,距离测量可以从包括l2范数距离、l1范数距离和结构相似性(structuralsimilarity,ssim)的组中选择。

预定义的或发信的转换基底(transformationbases)

为了降低解码器侧的复杂性,公开了另一种解决方案,以将每个块投影到预定义的或发信的基底上。首先发送索引,以从预定义的和/或发信的基底的多个集合中选择基底的一个集合。可以在序列级、图像级、切片级、lcu级、cu级、pu级或块级中发送索引。在将每个块投影到基底上之后,可以对系数应用硬阈值处理或软阈值处理。每个基底的阈值可以取决于基底的系数或重要性。例如,首先计算与所有块的基底相关联的系数之和。如果与所有块的基底相关联的系数之和小于阈值,则基底的系数将被设置为零。在另一示例中,每个块被投影到基底的部分集合上,并且仅基于部分系数执行逆转换。

图8示出了根据本发明一个实施例的非局部环路滤波器的示例性流程图。流程图中所示的步骤可以实现为在编码器侧或解码器侧的一个或多个处理器(例如,一个或多个cpu)上可执行的程序代码。流程图中示出的步骤还可以基于诸如被布置为执行流程图中的步骤的一个或多个电子设备或处理器的硬件来实现。根据该方法,在步骤810中,接收与视频序列中的解码图像或经处理的解码图像有关的输入数据。图5和图6分别示出了可以在视频编码器和视频解码器中应用本发明的各种位置。因此,解码图像或经处理的解码图像指的是位置a、b、c或d处的视频数据。在步骤820,将解码图像或经处理的解码图像划分为多个块。在步骤830中,检查nl开/关控制以确定是否由nl(非局部)环路滤波器处理目标块。如果步骤830的结果为“是”,则执行步骤840和850,以将nl去噪环路滤波器应用于目标块。如果步骤830的结果是“否”,则跳过步骤840和850。在步骤840中,针对目标块,确定包括位于一个或多个参考区域中的搜索窗口内的k个最近的参考块的块组,其中k是正整数。在步骤850中,基于目标块的像素值和块组的像素值,为目标块导出一个滤波后的输出,滤波后的输出可以是一个滤波后的块或一个滤波后的块组。在步骤860中,如果存在任何进一步的环路滤波器处理,则输出滤波后的输出以用于进一步的环路滤波器处理,或者如果没有进一步的环路滤波器处理,则提供滤波后的输出以存储在参考图像缓冲器中。如果目标块没有被nl去噪环路滤波器处理,则滤波后的输出对应于原始目标块。

图9示出了根据本发明另一实施例的非局部环路滤波器的示例性流程图。流程图中所示的步骤可以实现为在编码器侧或解码器侧的一个或多个处理器(例如,一个或多个cpu)上可执行的程序代码。流程图中示出的步骤还可以基于诸如被布置为执行流程图中的步骤的一个或多个电子设备或处理器的硬件来实现。根据该方法,在步骤910中,接收与视频序列中的解码图像或经处理的解码图像有关的输入数据。例如,解码图像或经处理的解码图像是指如图5和图6所示的位置a、b、c或d处的视频数据。在步骤920,将解码图像或经处理的解码图像划分为多个块。在步骤930中,对于目标块,确定包括位于一个或多个参考区域中的搜索窗口内的k个最近的参考块的块组,其中k是正整数。在步骤940中,基于目标块的像素值和块组的像素值,为目标块导出一个滤波后的输出。在步骤950中。检查是否将nl去噪环路滤波器应用于每个块。如果步骤950的结果为“否”,则执行步骤960。在步骤960中,基于nl开/关控制标志,检查即将使用原始像素还是滤波后的像素。如果选择了原始像素(即“原始”路径),则如步骤970所示,输出原始像素以用于进一步的环路滤波处理,或者提供原始像素以存储在参考图像缓冲器中。如果选择了滤波后的像素(即,“滤波”路径),则如步骤980所示,输出滤波后的像素以用于进一步的环路滤波处理,或者提供滤波后的像素以存储在参考图像缓冲器中。如果步骤950的结果为“是”,则执行步骤980。

所示的流程图旨在示出根据本发明的视频编码的示例。在不脱离本发明的精神的情况下,本领域技术人员可以修改每个步骤、重组这些步骤、将一个步骤进行分离或者组合这些步骤而实施本发明。在本公开中,已经使用特定语法和语义来说明用于实现本发明的实施例的示例。本领域技术人员可以通过用等同的语法和语义替换语法和语义来实践本发明而不脱离本发明的精神。

上述说明,使得本领域的普通技术人员能够在特定应用程序的内容及其需求中实施本发明。对本领域技术人员来说,所描述的实施例的各种变形将是显而易见的,并且本文定义的一般原则可以应用于其他实施例中。因此,本发明不限于所示和描述的特定实施例,而是将被赋予与本文所公开的原理和新颖特征相一致的最大范围。在上述详细说明中,说明了各种具体细节,以便透彻理解本发明。尽管如此,将被本领域的技术人员理解的是,本发明能够被实践。

如上所述的本发明的实施例可以在各种硬件、软件代码或两者的结合中实现。例如,本发明的实施例可以是集成在视频压缩芯片内的电路,或者是集成到视频压缩软件中的程序代码,以执行本文所述的处理。本发明的一个实施例也可以是在数字信号处理器(digitalsignalprocessor,dsp)上执行的程序代码,以执行本文所描述的处理。本发明还可以包括由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(fieldprogrammablegatearray,fpga)所执行的若干函数。根据本发明,通过执行定义了本发明所实施的特定方法的机器可读软件代码或者固件代码,这些处理器可以被配置为执行特定任务。软件代码或固件代码可以由不同的编程语言和不同的格式或样式开发。软件代码也可以编译为不同的目标平台。然而,执行本发明的任务的不同的代码格式、软件代码的样式和语言以及其他形式的配置代码,不会背离本发明的精神和范围。

本发明以不脱离其精神或本质特征的其他具体形式来实施。所描述的例子在所有方面仅是说明性的,而非限制性的。因此,本发明的范围由附加的权利要求来表示,而不是前述的描述来表示。权利要求的含义以及相同范围内的所有变化都应纳入其范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1