图像增强方法及装置

文档序号:1941795 发布日期:2021-12-07 浏览:23次 >En<

阅读说明:本技术 图像增强方法及装置 (Image enhancement method and device ) 是由 陈方栋 于 2020-06-05 设计创作,主要内容包括:本申请提供一种图像增强方法及装置,该图像增强方法包括:对于当前块的任一满足第一滤波处理条件的像素点,确定该像素点经过第一滤波处理后的第一像素值;基于所述第一像素值与该像素点未经过所述第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的第三像素值。该方法可以提升图像质量,提高编解码性能。(The application provides an image enhancement method and an image enhancement device, wherein the image enhancement method comprises the following steps: for any pixel point of the current block which meets the first filtering processing condition, determining a first pixel value of the pixel point after the first filtering processing; and based on the first pixel value and a second pixel value of the pixel point before the first filtering processing, performing enhancement processing on the pixel value of the pixel point to obtain a third pixel value of the pixel point after the enhancement processing. The method can improve the image quality and the coding and decoding performance.)

图像增强方法及装置

技术领域

本申请涉及视频图像编解码技术,尤其涉及一种图像增强方法及装置。

背景技术

完整的视频编码一般包括预测、变换、量化、熵编码、滤波等操作。

目前,标准中常用滤波技术包括去块滤波(DeBlocking Filter,简称DBF)技术、样本自适应补偿(Sample Adaptive Offset,简称SAO)技术以及自适应环路滤波(AdaptiveLoop Filter,简称ALF)技术。

DBF技术用于去除分块编码产生的块边界效应;SAO技术通过基于样本的像素值和周围块的梯度值进行分类,对于每个类别的像素值加上不同的补偿值,使得重建图像更接近于原始图像;ALF技术通过维纳滤波器,对重建图像进行增强滤波,使得重建图像更接近于原始图像。

然而实践发现,上述DBF、SAO以及ALF滤波技术,均是基于当前像素值,或当前像素值和周围像素值的关系进行分类,再基于不同类别进行不同滤波操作,其可能会出现过滤波现象,即滤波后的像素值远大于或远小于滤波前的像素值,也远大于或远小于原始像素值。

发明内容

有鉴于此,本申请提供一种图像增强方法及装置。

具体地,本申请是通过如下技术方案实现的:

根据本申请实施例的第一方面,提供一种图像增强方法,包括:

对于当前块的任一满足第一滤波处理条件的像素点,确定该像素点经过第一滤波处理后的第一像素值;

基于所述第一像素值与该像素点未经过所述第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的第三像素值。

根据本申请实施例的第二方面,提供一种图像增强装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器存放有计算机程序,所述处理器被所述计算机程序促使:

对于当前块的任一满足第一滤波处理条件的像素点,确定该像素点经过第一滤波处理后的第一像素值;

基于所述第一像素值与该像素点未经过所述第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的第三像素值。

本申请实施例的图像增强方法,对于当前图像块的任一满足第一滤波处理条件的像素点,通过确定该像素点经过第一滤波处理后的第一像素值,并基于第一像素值与该像素点未经过第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的第三像素值,提升了图像质量,提高了编解码性能。

附图说明

图1A~1B是本申请示例性实施例示出的块划分的示意图;

图2是本申请示例性实施例示出一种编解码方法的示意图;

图3是本申请示例性实施例示出一种DBF滤波像素示意图;

图4是本申请示例性实施例示出一种图像增强方法的流程示意图;

图5是本申请示例性实施例示出一种图像增强装置的硬件结构示意图;

图6是本申请示例性实施例示出一种图像增强装置的功能结构示意图;

图7是本申请示例性实施例示出另一种图像增强装置的功能结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对现有视频编码标准中块划分技术、现有帧内子块划分方案以及本申请实施例涉及的部分技术术语进行简单说明。

为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对本申请实施例涉及的部分技术术语以及现有视频编解码的主要流程进行简单说明。

一、技术术语

1、率失真原则(Rate-Distortion Optimized,简称RDO):评价编码效率的指标包括:码率和峰值信噪比(Peak Signal to Noise Ratio,简称PSNR)。码率越小,则压缩率越大;PSNR越大,重建图像质量越好。在模式选择的时候,判别公式实质上也就是对二者的综合评价。

模式对应的代价:J(mode)=D+λ*R。其中,D表示失真(Distortion),通常使用SSE(差值均方和)指标来衡量,SSE是指重建块与源图像块的差值均方和;λ是拉格朗日乘子;R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。

在模式选择时,若使用RDO原则去对编码模式做比较决策,通常可以保证编码性能最佳。

2、序列参数集(Sequence Parameter Set,简称SPS):该集合中,存在确定整个序列中是否允许某些工具(方法)开关的标记位。若该标记位为1,则该视频序列中,允许启用对应工具(方法);否则,该工具(方法)无法在该序列的编码过程中启用。

3、图像参数集(Picture Parameter Set,简称PPS):该集合中,存在确定某一帧图像中是否允许某些工具(方法)开关的标记位。若该标记位为1,则该图片中,允许启用对应工具(方法);否则,该工具(方法)无法在该图片的编码过程中启用。

4、图像头(picture header):针对某一帧图像的共同信息。

5、片头(Slice header):一帧图像,可以包含1个slice或多个slice。在片头信息中,存在确定某个slice中是否允许某些工具(方法)开关的标记位。若该标记位为1,则该slice中,允许启用对应工具(方法);否则,该工具(方法)无法在该slice的编码过程中启用。

6、SAO滤波:用于消除振铃效应。振铃效应是由于高频交流系数的量化失真,解码后会在边缘周围产生波纹的现象,变换块尺寸越大振铃效应越明显。SAO的基本原理就是对重构曲线中的波峰像素加上负值进行补偿,波谷像素加上正值进行补偿。SAO以CTU为基本单位,包括两大类补偿形式:边界补偿(Edge Offset,简称EO)和边带补偿(Band Offset,简称BO),此外还引入了参数融合技术。

7、ALF滤波:根据原始信号和失真信号计算得到均方意义下的最优滤波器,即维纳滤波器。ALF的滤波器一般为7x7或5x5的菱形滤波器。

二、现有视频编码标准中块划分技术

在HEVC中,一个编码树单元(Coding Tree Unit,简称CTU)使用四叉树递归划分成CU。在叶子节点CU级确定是否使用帧内编码或者帧间编码。CU可以进一步划分成两个或者四个预测单元(Prediction Unit,简称PU),同一个PU内使用相同的预测信息。在预测完成后得到残差信息后,一个CU可进一步四叉划分成多个变换单元(Transform Units,简称TU)。例如,本申请中的当前图像块即为一个PU。

但是在最新提出的通用视频编码(Versatile Video Coding,简称VVC)中的块划分技术有了较大变化。一种混合了二叉树/三叉树/四叉树的划分结构取代了原先的划分模式,取消了原先CU,PU,TU的概念的区分,支持了CU的更灵活的划分方式。其中,CU可以是正方形也可以是矩形划分。CTU首先进行四叉树的划分,然后四叉树划分的叶子节点可以进一步进行二叉树和三叉树的划分。图1A所示,CU共有五种划分类型,分别为四叉树划分,水平二叉树划分,垂直二叉树划分,水平三叉树划分和垂直三叉树划分,如图1B所示,一种CTU内的CU划分可以是上述五种划分类型的任意组合由上可知不同的划分方式,使得各个PU的形状有所不同,如不同尺寸的矩形,正方形。

三、现有视频编解码的主要流程

请参考图2中的(a),以视频编码为例,视频编码一般包括预测、变换、量化、熵编码等过程,进一步地,编码过程还可以按照图2中的(b)的框架来实现。

其中,预测可以分为帧内预测和帧间预测,帧内预测是利用周围已编码块作为参考对当前未编码块进行预测,有效去除空域上的冗余。帧间预测是使用邻近已编码图像对当前图像进行预测,有效去除时域上的冗余。

变换是指将图像从空间域转换至变换域,利用变换系数对图像加以表示。绝大多数图像都含有较多平坦区域和缓慢变化的区域,适当的变换可以使图像由在空间域的分散分布转换为在变换域的相对集中分布,去除信号之间的频域相关性,配合量化过程,可以有效压缩码流。

熵编码是一种无损编码方式,可以把一系列元素符号转变为一个用来传输或存储的二进制码流,输入的符号可能包括量化后的变换系数、运动矢量信息、预测模式信息,变换量化相关语法等。熵编码可以有效地去除视频元素符号的冗余。

上述是以编码为例进行介绍,视频解码与视频编码的过程是相对的,即视频解码通常包括熵解码、预测、反量化、反变换、滤波等过程,各个过程的实现原理与熵编码相同或相似。

下面再对DBF滤波处理的实现进行简单说明。

DBF滤波处理包括两个过程:滤波决策和滤波操作。

滤波决策包括:1)获取边界强度(即BS值);2)滤波开关决策;3)滤波强弱选择。

对于色度分量,仅存在步骤1),且直接复用亮度分量的BS值。

对于色度分量,只有BS值为2时(即当前块两侧的块至少有一个采用intra(帧内)模式),才进行滤波操作。

滤波操作包括:1)对于亮度分量的强滤波和弱滤波;2)对于色度分类的滤波。

DBF滤波处理一般以8*8为单位进行水平边界滤波处理(可以称为水平DBF滤波处理)和垂直边界滤波处理(可以称为垂直DBF滤波处理),且最多对边界两侧的3个像素点进行滤波,且最多利用到边界两侧的4个像素点进行滤波,因此,不同块的水平/垂直DBF滤波互不影响,可并行进行。

如图3所示,对于当前块(以8*8为例),先进行当前块左侧3列和左边块右侧3列像素点的垂直DBF滤波,再进行当前块上侧3行和上边块下侧3行像素点的水平DBF滤波。

示例性的,对于需要分别进行垂直DBF滤波和水平DBF滤波的像素点,通常先进行垂直DBF滤波,后进行水平DBF滤波。

相关技术中,不管是DBF滤波、SAO滤波还是ALF滤波,均是基于当前像素值,或当前像素值和周围像素的关系进行分类,再基于不同类别进行不同滤波操作。而本申请提出的图像增强方法是一种基于滤波残差的二次滤波方法(本文称为增强滤波)。滤波残差,是指滤波处理前后像素值的差别。例如,若进行DBF滤波处理前的重建值为Y1,经过DBF滤波处理后的像素值为Y2,则可基于Y2-Y1进行分类。基于滤波残差分类的主要好处是,可以对于一些过滤波或伪滤波的像素值进行特殊增强,以实现这些类别的像素更接近原始值的效果。过滤波,是指Y2远大于(或远小于)Y1,以至于Y2远大于(或远小于)原始像素值。伪滤波,是指Y2-Y1为0,或接近于0,即这些像素值经过滤波后仍保持不变,未达到滤波效果。

本申请的发明构思为假设进行首次滤波处理(这些首次滤波包括DBF滤波处理、SAO滤波处理或ALF滤波处理等未利用到滤波残差的滤波方法)前的重建值为Y1,经过滤波处理后的像素值为Y2,则可基于Y2-Y1进行残差分类。基于残差分类结果,对不同类别的残差进行增强滤波(二次滤波)过程,得到Y3。其中,Y3既可以是对Y2进行增强获得,又可以是基于Y1进行增强获得,还可以是基于Y1和Y2进行增强获得。其中,所述的增强,既可以是加一个补偿值(可为正数,也可为负数),又可以是进行一个加权滤波过程,如Y3=w1*Y1+w2*Y2,或者Y3=w1*Y2+w2*Y2(i-1,j)+w2*Y2(i,j-1)(其中,Y2(i-1,j)和Y2(i,j-1)为Y2的空域相邻像素值)等等。

为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。

请参见图4,为本申请实施例提供的一种图像增强方法的流程示意图,如图4所示,该图像增强方法可以包括以下步骤:

步骤S400、对于当前块的任一满足第一滤波处理条件的像素点,确定该像素点经过第一滤波处理后的第一像素值。

本申请实施例中,第一滤波处理可以包括但不限于垂直DBF滤波处理、水平DBF滤波处理、SAO滤波处理或ALF滤波处理等。

以第一滤波处理为垂直DBF滤波处理或水平DBF滤波处理为例,当前块各像素点是否满足第一滤波处理条件可以基于像素点在当前块中的位置,以及上文中DBF滤波处理的滤波决策策略确定。

例如,当按照上文中DBF滤波处理的滤波策略确定当前块需要进行DBF滤波处理时,当前块中需要进行垂直DBF滤波或/和水平DBF滤波处理的像素点可以如图3所示。

对于当前块的任一满足第一滤波处理条件的像素点,可以确定该像素点经过第一滤波处理后的像素值(本文中称为第一像素值)。

步骤S410、基于第一像素值与该像素点未经过第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的第三像素值。

本申请实施例中,当确定了该像素点经过第一滤波处理后的第一像素值时,可以基于该第一像素值与该像素点未经过第一滤波处理前的像素值(本文中称为第二像素值),对该像素点的像素值进行增强处理,即对该像素点的像素值进行增强滤波处理,得到增强处理后的该像素点的像素值(本文中称为第三像素值),以使增强处理后的该像素点的像素值相比第一滤波处理后的像素值(即第一像素值),更接近原始像素值,避免由于过滤波导致的滤波后的像素值远大于或远小于像素点的原像素值,提升图像质量。

示例性的,该第三像素值相对第一像素值更接近该像素点的原像素值,以避免由于过滤波而导致滤波后的像素值远大于或远小于像素点的原像素值。

示例性的,对像素点的像素值的增强处理可以通过增加一个补偿值(也可以称为偏移量,可为正数,也可为负数),或者,进行加权滤波处理实现。

以进行加权滤波处理为例,假设第一像素值为Y2,第二像素值为Y1,第三像素值为Y3,则Y3=w1*Y1+w2*Y2,或者Y3=w1*Y2+w2*Y2(i-1,j)+w2*Y2(i,j-1),Y2(i-1,j)和Y2(i,j-1)为该像素点的空域相邻像素点的像素值。

可见,在图4所示方法流程中,通过在对像素点进行滤波处理后,基于像素点进行滤波处理前和滤波处理后的像素值,对像素点的像素值进行增强处理,可以提高编解码性能,提升图像质量。

作为一种可能的实施例,步骤S410中,基于第一像素值与该像素点未经过第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,可以包括:

基于第一像素值和第二像素值二者之间的差值,对该像素点的像素值进行增强处理。

示例性的,考虑到像素点滤波前后的像素值的残差通常可以表征滤波处理后像素点的像素值与像素点原始像素值之间的残差,因而,基于像素点滤波前后的像素值残差对像素点进行增强处理,可以有效地保证增强处理后的像素点的像素值更接近像素点的原始像素值,提升图像质量。

在确定了像素点经过第一滤波处理后的第一像素值时,可以计算第一像素值与该像素点未经过第一滤波处理前的第二像素值之间的差值,并基于该差值对该像素点的像素值进行增强处理。

在一个示例中,上述基于第一像素值和第二像素值之间的差值,对该像素点的像素值进行增强处理,可以包括:

基于第一像素值和第二像素值之间的差值,与预设阈值的比较结果,对该像素点进行增强处理。

示例性的,可以基于像素点的第一像素值和第二像素值之间的差值,与预设阈值的比较结果,对该像素点进行分类,并基于该像素点的类别对该像素点的像素值进行增强处理。

示例性的,不同类别的像素点,进行增强处理的策略不同。

在一个示例中,基于第一像素值和第二像素值之间的差值,与预设阈值的比较结果,对该像素点的像素值进行增强处理,可以包括:

若第一像素值和第二像素值二者之间的差值大于第一增强滤波阈值,则基于第一增强滤波偏移量对该像素点的像素值进行增强处理;

若第一像素值和第二像素值二者之间的差值小于第二增强滤波阈值,则基于第二增强滤波偏移量对该像素点的像素值进行增强处理;

第二增强滤波阈值小于第一增强滤波阈值。

示例性的,预设阈值可以包括第一增强滤波阈值和第二增强滤波阈值,第二增强滤波阈值小于第一增强滤波阈值。

当确定了第一像素值和第二像素值之间的差值时,可以比较该差值与第一增强滤波阈值和第二增强滤波阈值。

当该差值大于第一增强滤波阈值时,可以基于第一增强滤波偏移量对该像素点的像素值进行增强处理。

当该差值小于第二增强滤波阈值时,可以基于第二增强滤波偏移量对该像素点的像素值进行增强处理。

举例来说,对该像素点的像素值进行增强处理时,可以基于第一像素值和第二像素值,确定第四像素值。

当第一像素值和第二像素值二者之间的差值大于第一增强滤波阈值时,可以基于第一增强滤波偏移量对该第四像素值进行增强处理,以得到第三像素值;

当第一像素值和第二像素值二者之间的差值小于第二增强滤波阈值时,可以基于第二增强滤波偏移量对该第四像素值进行增强处理,以得到第三像素值。

又举例来说,对该像素点的像素值进行增强处理时,可以通过对第一像素值进行增强处理实现。

当第一像素值和第二像素值二者之间的差值大于第一增强滤波阈值时,可以基于第一增强滤波偏移量对该第一像素值进行增强处理,以得到第三像素值;

当第一像素值和第二像素值二者之间的差值小于第二增强滤波阈值时,可以基于第二增强滤波偏移量对该第一像素值进行增强处理,以得到第三像素值。

需要说明的是,在本申请实施例中,当第一像素值和第二像素值二者之间的差值小于等于第一增强滤波阈值,且大于等于第二增强滤波阈值时,可以将第一像素值作为第三像素值,或者,对第一像素值进行滤波处理(本文中称为第二滤波处理),以得到第三像素值。

例如,可以将第一像素值与第三增强滤波偏移量二者之和确定为第三像素值。

又例如,第二滤波处理可以为ALF滤波处理,即对第一像素值进行ALF滤波处理,得到第三像素值。

考虑到像素点的像素值会处于指定的取值范围,该取值范围通常由图像比特深度确定,如[0,2D-1],D为图像比特深度。

例如,对于8比特图像,该取值范围为[0,255];对于10比特图像,该取值范围为[0,1023]。

为了避免增强处理后的像素点的第三像素值超出像素值的取值范围,在得到第三像素值时,可以通过Clip(修剪)操作,将第三像素值Clip到预设取值范围。

当第三像素值大于预设取值范围的上限时,将第三像素值设置为预设取值范围的上限;

当第三像素值小于预设阈值范围的下限时,将第三像素值设置为预设取值范围的下限。

举例来说,以8比特图像为例,当第三像素值小于0时,将第三像素值设置为0;当第三像素值大于255时,将第三像素值设置为255。

考虑到编码端设备对当前块的像素点进行了上述增强处理时,编码端设备和解码端设备需要在增强滤波阈值和增强滤波偏移量的取值上保持一致。

示例性的,编码端设备和解码端设备可以通过构建相同的增强滤波阈值候选列表(简称阈值候选列表)和相同的增强滤波偏移量候选列表,编码端设备在码流中携带增强滤波阈值索引(简称阈值索引)和增强滤波偏移量索引(简称偏移量索引),该阈值索引用于表征增强滤波阈值,如第一增强滤波阈值或第二增强滤波阈值在阈值候选列表中的位置,偏移量索引用于表征增强滤波偏移量,如第一增强滤波偏移量或第二增强滤波偏移量在偏移量候选列表中的位置。

解码端设备接收到码流时,可以从码流中对阈值索引和偏移量索引进行解码,并基于阈值索引从阈值候选列表中查询第一增强滤波阈值或第二增强滤波阈值,以及,基于偏移量索引从偏移量候选列表中查询第一增强滤波偏移量或第二增强滤波偏移量。

在一个示例中,为了减少需要编码的阈值索引消耗的比特数,第一增强滤波阈值和第二增强滤波阈值可以互为相反数。

示例性的,由于第二增强滤波阈值小于第一增强滤波阈值,因此,第一增强滤波阈值为负数,第二增强滤波阈值为负数。

例如,第一增强滤波阈值为2,第二增强滤波阈值为-2。

同理,第一增强滤波系数和第二增强滤波系数也可以互为相反数。

需要说明的是,在本申请实施例中,在构建增强滤波阈值候选列表和增强滤波偏移量候选列表时,可以以参数集的形式构建。

即候选列表中每一个候选值为一个参数集,该参数集包括一个候选的第一增强滤波阈值、一个候选的第二增强滤波阈值(当第一增强滤波阈值和第二增强滤波阈值互为相反数时,可以仅包括其中一个)、一个候选的第一增强滤波偏移量以及一个候选的第二增强滤波偏移量(当第一增强滤波偏移量和第二增强滤波偏移量互为相反数时,可以仅包括其中一个)。

当对索引进行编解码时,可以以参数集索引的形式进行编解码,即通过参数集索引表征参数集在参数集候选列表中的位置,其具体实现可以在下文的具体实施例中进行说明。

此外,在本申请实施例中,当前块的增强滤波参数,如增强滤波阈值和增强滤波偏移量,还可以复用周围块,如上侧块或左侧块的相应参数。

编解码端可以在码流中对用于指示当前块是否复用周围块的增强滤波参数的标记位,当确定复用周围块的增强滤波参数时,可以不需要再额外对当前块进行增强滤波参数的编解码。

在另一个示例中,为了减少需要编码的阈值索引消耗的比特数,第一增强滤波阈值或/和第二增强滤波阈值为固定值。

示例性,可以将第一增强滤波阈值或/和第二增强滤波阈值设置为固定值,从而,可以不需要对第一增强滤波阈值对应的阈值索引或/和第二增强滤波阈值对应的阈值索引进行编码。

同理,第一增强滤波系数或/和第二增强滤波系数也可以为固定值。

作为另一种可能的实施例,步骤S410中,基于第一像素值与该像素点未经过第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,可以包括:

以第一像素值和第二像素值为输入参数,利用机器学习或深度学习,确定第三像素值。

示例性的,还可以利用机器学习或深度学习方法实现像素值的增强处理。

当对像素点进行第一滤波处理确定了该像素点的第一像素值时,可以以第一像素值和未经过第一滤波处理前的第二像素值为输入参数,利用机器学习或深度学习,对该像素点的像素值进行增强处理,得到增强处理后的第三像素值。

需要说明的是,上述实施例中描述的确定第三像素值的方式仅仅属于本申请实施例中确定第三像素值的实现方式的几种具体示例,而并不是对本申请保护范围的限定,即本申请实施例中,也可以按照其他方式,基于第一像素值和第二像素值,确定第三像素值,例如,以第一像素值和第二像素值二者之差作为输入,利用维纳滤波器,确定第三像素值,或者,基于第一像素值和第二像素值二者之差,对第二像素值进行分类,并基于第二像素值的类别,利用维纳滤波器对该像素点的像素值进行增强处理,以确定第三像素值。

作为一种可能的实施例,步骤S410中,基于第一像素值与该像素点未经过第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,可以包括:

当当前块使能增强滤波时,基于第一像素值与该像素点未经过第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理。

示例性的,为了提高增强滤波的灵活性和可控性,可以选择使能或不使能增强滤波方案,即在对像素点进行滤波处理后,对像素点的像素值进行增强处理(使能增强滤波)或不对像素点的像素值进行增强处理(不使能增强滤波)。

对于当前块的任一满足第一滤波处理条件的像素点,在确定了该像素点经过第一滤波处理后的第一像素值时,可以基于当前块是否使能增强滤波,确定是否对该像素点的像素值进行增强处理。

当当前块使能增强滤波时,基于该第一像素值与该像素点未经过第一滤波处理前的第二像素值,对该像素点进行增强处理。

在一个示例中,利用指定语法标识当前块是否使能当前块是否使能增强滤波。

示例性的,该指定语法可以包括但不限于以下之一或多个:

序列参数集级语法、图像参数集级语法以及Slice级语法;

或,

该指定语法可以但不限于包括以下之一或多个:

序列参数集级语法、图像参数集级语法、CTU级语法以及CU级语法。

示例性的,为了提高增强滤波的灵活性和可控性,可以在不同层级实现增强滤波的使能或不使能。

例如,可以从序列参数集级、图像参数集级或/和Slice级,实现增强滤波的使能或不使能,即当图像序列使能增强滤波时,该图像序列中的各图像可以选择性的使能或不使能增强滤波;当图像使能增强滤波时,该图像的各Slice可以选择性的使能或不使能增强滤波。

需要说明的是,当一帧图像包括的Slice的数量为1时,该图像使能增强滤波时,该Slice也使能增强滤波;反之亦然。

同理,还可以从序列参数集级、图像参数集级、CTU级或/和CU级,实现增强滤波的使能或不使能。

在一个示例中,当指定语法的候选级别包括至少两个级别时,基于预设标志位确定指定语法的级别,预设标志位用于指示所述指定语法的级别。

示例性的,当指定语法的候选级别包括至少两个级别时,还可以通过专门的标记位来指示上述指定语法的级别。

例如,当指定语法的级别包括图像参数集级和CTU级时,可以在图像参数集级增加一个标志位,用于指示上述指定语法的级别为图像参数集级或CTU级。

示例性的,上述预设标志位的语法级别与指定语法的候选级别中的非最低级别匹配。

例如,当指定语法的候选级别包括序列参数集级语法和图像参数集级语法时,该预设标志位的语法级别为序列参数集级;

当指定语法的候选级别包括图像参数集级语法和Slice级语法时,该预设标志位的语法级别为图像参数集级;

当指定语法的候选级别包括序列参数集级语法、图像参数集级语法以及Slice级语法时,该预设标志位包括序列参数集级的标志位和图像参数集级的标志位;

当指定语法的候选级别包括图像参数集级语法和CTU级语法时,该预设标志位的语法级别为图像参数集级;

当指定语法的候选级别包括CTU级语法和CU级语法时,该预设标志位的语法级别为CTU级;

当指定语法的候选级别包括图像参数集级语法、CTU级语法以及CU级语法时,该预设标志位包括CTU级的标志位和CU级的标志位,其具体实现可以在下文中结合具体实施例进行说明。

作为一种可能的实施例中,当第一滤波处理为对该像素点的连续多次滤波处理中的非首次滤波处理时,第二像素值为该像素点上一次滤波处理后的像素值经过增强处理后得到的像素值。

示例性的,当一个像素点需要经过连续多次滤波处理时,每一次对该像素点进行滤波处理后,均可以对该像素点的像素值进行增强处理,下一次滤波处理前的像素点的像素值为上一次滤波处理后经过增强处理后的像素值。

在一个示例中,当第一滤波处理为水平DBF滤波处理;

当该像素点满足垂直DBF滤波处理条件时,第二像素值为对该像素点的第五像素值进行增强处理后该像素点的像素值,第五像素值为该像素点经过垂直DBF滤波处理后的像素值。

示例性的,当第一滤波处理为水平DBF滤波处理,且该像素点满足垂直DBF滤波处理条件时,且该像素点经过垂直DBF滤波处理后的像素值为第五像素值,则第二像素值为该像素点经过垂直DBF滤波处理后,按照上述实施例中描述的方式进行增强处理后的该像素点的像素值。

作为一种可能的实施例,当第一滤波处理为垂直DBF滤波处理;

步骤S410中,对该像素点的像素值进行增强处理之后,还可以包括:

当该像素点满足水平DBF滤波条件时,对第三像素值进行水平DBF滤波处理,以得到该像素点的第六像素值;

基于第三像素值与第六像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的第七像素值。

示例性的,当按照步骤S400~步骤S410中描述的方式对该像素点进行了垂直DBF滤波处理和增强处理时,还可以确定该像素点是否满足水平DBF滤波条件,例如,基于该像素点的位置确定该像素点是否满足水平DBF滤波条件。

当该像素点满足水平DBF滤波条件时,可以对第三像素值进行水平DBF滤波处理,得到该像素点经过水平DBF滤波处理后的像素值(本文中称为第六像素值),并基于该像素点未经过水平DBF滤波处理前的像素值,即第三像素值,以及该像素点经过水平DBF滤波处理后的像素值,即第六像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的像素值(本文中称为第七像素值)。

需要说明的是,基于第三像素值与第六像素值对像素点的像素值进行增强处理的具体实现流程可以参见上述实施例中描述的基于第一像素值与第二像素值对像素点的像素值进行增强处理的相关描述,本申请实施例在此不再赘述。

此外,本申请实施例中,上述连续多次滤波处理的实现流程是以像素点在进行各次滤波处理时均使能增强滤波为例进行说明的,若存在不使能增强滤波的情况,则在相应滤波处理后,可以不需要进行增强处理。

举例来说,以垂直DBF滤波处理和水平DBF滤波处理为例,当像素点满足垂直DBF滤波处理条件和水平DBF滤波处理条件,但是针对垂直DBF滤波处理未使能增强滤波,则对该像素点进行垂直DBF滤波处理之后,不需要对垂直DBF滤波处理后的像素值进行增强处理;当对该像素点进行水平DBF滤波处理时,该像素点未经过水平DBF滤波处理前的像素值为该像素点经过垂直DBF滤波处理后的像素值。

为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。

下面分别以首次滤波处理为DBF滤波处理、SAO滤波处理或ALF滤波处理为例,对本申请实施例提供的技术方案进行说明。

假设进行首次滤波处理前的重建值为Y1,经过首次滤波处理后的像素值为Y2,则可以基于Y2-Y1或Y1-Y2进行分类,基于分类结果,对不同类别的残差,进行相应的增强处理(也可以称为增强滤波处理),得到增强处理后的像素值Y3。

示例性的,首次滤波处理可以包括但不限于DBF滤波处理、SAO滤波处理或ALF滤波处理等未利用到滤波残差的滤波方法。

示例性的,Y3既可以是对Y2进行增强获得,也可以是基于Y1进行增强获得,还可以是基于Y1和Y2进行增强获得。

示例性的,上述增强处理,可以是加一个补偿值(可为正数,也可为负数);或,可以是进行一个加权滤波过程,如Y3=w1*Y1+w2*Y2,或者Y3=w1*Y2+w2*Y2(i-1,j)+w2*Y2(i,j-1)。

其中,Y2(i-1,j)和Y2(i,j-1)为Y2的空域相邻像素值。

下面分别针对不同的首次滤波处理进行详细说明。

一、首次滤波处理为DBF滤波处理

实施例一

以像素点i满足垂直DBF滤波处理条件和水平DBF滤波处理条件为例。

步骤1、Y1(i)经过垂直DBF滤波处理后得到Y2(i);步骤2、基于Y1(i)和Y2(i),对像素点的像素值进行增强处理,得到Y3(i);步骤3、Y3(i)经过水平DBF滤波处理后得到Y4(i);

步骤4、基于Y4(i)和Y3(i),对像素点的像素值进行增强处理,得到Y5(i)。

示例性的,当上文中的第一滤波处理为垂直DBF滤波处理时,Y1(i)为上文中的第二像素值,Y2(i)为上文中的第一像素值,Y3(i)为上文中的第三像素值。

Y4(i)为上文中的第六像素值,Y5(i)为上文中的第七像素值。

示例性的,当上文中的第一滤波处理为水平DBF滤波处理时,Y3(i)为上文中的第二像素值,Y4(i)为上文中的第一像素值,Y5(i)为上文中的第三像素值,Y3(i)为上文中的第五像素值。

实施例二

在实施例一的基础上,步骤2中,

假设Yv(i)=(Y1(i)+Y2(i)+1)/2;

若Y1(i)-Y2(i)>Tv,则Y3(i)=clip(Yv(i)+f0v);

若Y1(i)-Y2(i)<NTv,则Y3(i)=clip(Yv(i)+f1v)

否则,即NTv≤Y1(i)-Y2(i)≤Tv,则Y3(i)=Y2(i),或者,对Y2(i)进行滤波处理(即上述第二滤波处理),得到Y3(i),例如,Y3(i)=Y2(i)+f2v

示例性的,Tv和NTv为增强滤波阈值,f0v、f1v和f2v为增强滤波偏移量。clip(x)表示将x限制在预设的取值范围内。

示例性的,当第一滤波处理为垂直BDF滤波处理时,Tv为上文中的第一增强滤波阈值,NTv为上文中的第一增强滤波阈值;f0v为上文中的第一增强滤波偏移量,f1v为上文中的第二增强滤波偏移量。

示例性的,NTv=-Tv,即Tv和NTv互为相反数。

类似的,步骤4中,

假设Yh(i)=(Y3(i)+Y4(i)+1)/2;

若Y3(i)-Y4(i)>Th,则Y3(i)=clip(Yh(i)+f0h);

若Y3(i)-Y4(i)<NTh,则Y3(i)=clip(Yh(i)+f1h)

否则,即NTh≤Y3(i)-Y4(i)≤Th,则Y5(i)=Y4(i),或者,对Y4(i)进行滤波处理(即上述第二滤波处理),得到Y5(i),例如,Y5(i)=Y4(i)+f2h

示例性的,Th和NTh为增强滤波阈值,f0h、f1h和f2h为增强滤波偏移量

示例性的,当第一滤波处理为水平BDF滤波处理时,Th为上文中的第一增强滤波阈值,NTh为上文中的第一增强滤波阈值;f0h为上文中的第一增强滤波偏移量,f1h为上文中的第二增强滤波偏移量。

示例性的,NTh=-Th,即Th和NTh互为相反数。

实施例三

在实施例一的基础上,步骤2中,

假设Yv(i)=Y2(i);

若Y1(i)-Y2(i)>Tv,则Y3(i)=clip(Yv(i)+f0v);

若Y1(i)-Y2(i)<NTv,则Y3(i)=clip(Yv(i)+f1v)

否则,即NTv≤Y1(i)-Y2(i)≤Tv,则Y3(i)=Y2(i),或者,对Y2(i)进行滤波处理(即上述第二滤波处理),得到Y3(i),例如,Y3(i)=Y2(i)+f2v

示例性的,Tv和NTv为增强滤波阈值,f0v、f1v和f2v为增强滤波偏移量。clip(x)表示将x限制在预设的取值范围内。

示例性的,NTv=-Tv,即Tv和NTv互为相反数。

类似的,步骤4中,

假设Yh(i)=Y4(i);

若Y3(i)-Y4(i)>Th,则Y3(i)=clip(Yh(i)+f0h);

若Y3(i)-Y4(i)<NTh,则Y3(i)=clip(Yh(i)+f1h)

否则,即NTh≤Y3(i)-Y4(i)≤Th,则Y5(i)=Y4(i),或者,对Y4(i)进行滤波处理(即上述第二滤波处理),得到Y5(i),例如,Y5(i)=Y4(i)+f2h

示例性的,Th和NTh为增强滤波阈值,f0h、f1h和f2h为增强滤波偏移量

示例性的,NTh=-Th,即Th和NTh互为相反数。

实施例四

在帧级采用实施例二或实施例三描述的方案

帧级包括图像参数集级或slice级,图像参数集级即一帧图像,而一帧图像可以包括N(N为正整数)个slice。

对于编码端设备,需要在图像头或slice头编码传递如下语法信息,即一帧图像或一个slice采用一套下面的语法(该语法的级别为图像参数集级或slice级),该图像或slice内的所有编码块均复用同一套系数。

示例性的,该一套系数可以包括:增强滤波阈值(可以包括垂直方向增强滤波阈值或/和水平发方向增强滤波阈值)以及增强滤波偏移量(可以包括垂直方向增强滤波偏移量或/和水平方向增强滤波偏移量)。

对于解码端设备,需要在图像头或slice头解码如下语法信息。

1、垂直方向增强滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能增强滤波。

1.1、若使能,则在步骤1之后,需要执行上述步骤2,则需要编解码如下信息:

1.1.1、垂直方向增强滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。

示例性的,增强滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。

示例性的,当Tv和NTv互为相反数时,仅需编码一个阈值索引。

示例性的,当增强滤波阈值为固定值,如Tv=2,NTv=-2,则无需编解码阈值索引。

1.1.2、垂直方向增强滤波偏移量索引。f0v和f1v的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。

示例性的,增强滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。

示例性的,当增强滤波偏移量为固定值,则无需编码该偏移量索引。

示例性的,f0v和f1v的候选列表可以相同,也可以不同,例如,f0v的候选列表{-1,-2,-3,-4},f1v的候选列表为{1,2,3,4}。

1.2、若未使能,则步骤1之后,不需要执行上述步骤2,也不需要对1.1.1和1.1.2中的阈值索引和偏移量索引进行编解码。

2、水平方向增强滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能增强滤波。

2.1、若使能,则在步骤3之后,需要执行上述步骤4,则需要编解码如下信息:

2.1.1、水平方向增强滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。

示例性的,增强滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。

示例性的,当Th和NTh互为相反数时,仅需编码一个阈值索引。

示例性的,当增强滤波阈值为固定值,如Th=2,NTh=-2,则无需编解码阈值索引。

2.1.2、水平方向增强滤波偏移量索引。f0h和f1h的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。

示例性的,增强滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。

示例性的,当增强滤波偏移量为固定值,则无需编码该偏移量索引。

示例性的,f0h和f1h的候选列表可以相同,也可以不同,例如,f0h的候选列表{-1,-2,-3,-4},f1h的候选列表为{1,2,3,4}。

2.2、若未使能,则步骤3之后,不需要执行上述步骤4,也不需要对2.1.1和2.1.2中阈值索引和偏移量索引进行编解码。

实施例五

区别于实施例四的,实施例五中,增强滤波参数(包括增强滤波阈值或增强滤波偏移量)以参数集的形式出现,即不再单独编解码增强滤波阈值或增强滤波偏移量的索引信息,而是编解码增强滤波阈值和增强滤波偏移量构成的参数集的索引信息。

在帧级采用实施例二或实施例三描述的方案

帧级包括图像参数集级或slice级,图像参数集级即一帧图像,而一帧图像可以包括N(N为正整数)个slice。

对于编码端设备,需要在图像头或slice头编码传递如下语法信息,即一帧图像或一个slice采用一套下面的语法(该语法的级别为图像参数集级或slice级),该图像或slice内的所有编码块均复用同一套系数。

示例性的,该一套系数可以包括:由增强滤波阈值和增强滤波偏移量构成的增强滤波参数集。对于解码端设备,需要在图像头或slice头解码如下语法信息。

1、垂直方向增强滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能增强滤波。

1.1、若使能,则在步骤1之后,需要执行上述步骤2,则需要编解码如下信息:

1.1.1、垂直方向增强滤波参数索引,垂直方向增强滤波参数可以以参数集的形式出现,该参数索引可以包括但不限于{Tv,f0v,f1v}在参数集候选列表T{Tv,f0v,f1v}中的索引,即基于该索引,可以从参数集候选列表T中确定Tv,f0v和f1v的值。

示例性的,垂直方向增强滤波参数可以为编解码端预设的固定参数集,或,存储的时域上已编码其他帧的垂直方向滤波参数,此时,可以不需要对该参数索引进行编解码。

1.2、若未使能,则步骤1之后,不需要执行上述步骤2,也不需要对1.1.1中的参数索引进行编解码。

2、水平方向增强滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能增强滤波。

2.1、若使能,则在步骤3之后,需要执行上述步骤4,则需要编解码如下信息:

2.1.1、水平方向增强滤波参数索引,水平方向增强滤波参数可以以参数集的形式出现,该参数索引可以包括但不限于{Th,f0h,f1h}在参数集候选列表T{Th,f0h,f1h}中的索引,即基于该索引,可以从参数集候选列表T中确定Th,f0h和f1h的值。

示例性的,水平方向增强滤波参数可以为编解码端预设的固定参数集,或,存储的时域上已编码其他帧的水平方向滤波参数,此时,可以不需要对该参数索引进行编解码。

2.2、若未使能,则步骤3之后,不需要执行上述步骤4,也不需要对2.1.1中的参数索引进行编解码。

实施例六

在CTU级采用实施例二或实施例三描述的方案

CTU为最大编码单元,对于I帧,CTU的尺寸一般为64*64;对于非I帧(如B帧或P帧),CTU的尺寸一般为128*128。

每个CTU编码一套系数,即该CTU下的每个编码块均采用该套系数,在每个CTU内编解码该系数的具体实现可以参见实施例四或实施例五中编解码相应系数的具体实现。

示例性的,该一套系数可以包括增强滤波阈值以及增强滤波偏移量(对应实施例四),或,由增强滤波阈值和增强滤波偏移量构成的增强滤波参数集(对应实施例五)。

示例性的,对于解码端设备,需要在CTU头解码如下语法信息。

1、垂直方向增强滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能增强滤波。

1.1、若使能,则在步骤1之后,需要执行上述步骤2,则需要编解码如下信息:

1.1.1、垂直方向增强滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。

示例性的,增强滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。

示例性的,当Tv和NTv互为相反数时,仅需编码一个阈值索引。

示例性的,当增强滤波阈值为固定值,如Tv=2,NTv=-2,则无需编解码阈值索引。

1.1.2、垂直方向增强滤波偏移量索引。f0v和f1v的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。

示例性的,增强滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。

示例性的,当增强滤波偏移量为固定值,则无需编码该偏移量索引。

示例性的,f0v和f1v的候选列表可以相同,也可以不同,例如,f0v的候选列表{-1,-2,-3,-4},f1v的候选列表为{1,2,3,4}。

1.2、若未使能,则步骤1之后,不需要执行上述步骤2,也不需要对1.1.1和1.1.2中的阈值索引和偏移量索引进行编解码。

2、水平方向增强滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能增强滤波。

2.1、若使能,则在步骤3之后,需要执行上述步骤4,则需要编解码如下信息:

2.1.1、水平方向增强滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。

示例性的,增强滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。

示例性的,当Th和NTh互为相反数时,仅需编码一个阈值索引。

示例性的,当增强滤波阈值为固定值,如Th=2,NTh=-2,则无需编解码阈值索引。

2.1.2、水平方向增强滤波偏移量索引。f0h和f1h的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。

示例性的,增强滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。

示例性的,当增强滤波偏移量为固定值,则无需编码该偏移量索引。

示例性的,f0h和f1h的候选列表可以相同,也可以不同,例如,f0h的候选列表{-1,-2,-3,-4},f1h的候选列表为{1,2,3,4}。

2.2、若未使能,则步骤3之后,不需要执行上述步骤4,也不需要对2.1.1和2.1.2中阈值索引和偏移量索引进行编解码。

实施例七

在CU级采用实施例二或实施例三描述的方案

CU的尺寸一般在4*4~128*128范围内。

每个CU编码一套系数,即该CU下的每个编码块均采用该套系数,在每个CU内编解码该系数的具体实现可以参见实施例四或实施例五中编解码相应系数的具体实现。

示例性的,该一套系数可以包括增强滤波阈值以及增强滤波偏移量(对应实施例四),或,由增强滤波阈值和增强滤波偏移量构成的增强滤波参数集(对应实施例五)。

示例性的,对于解码端设备,需要在每个CU解码如下语法信息。

1、垂直方向增强滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能增强滤波。

1.1、若使能,则在步骤1之后,需要执行上述步骤2,则需要编解码如下信息:

1.1.1、垂直方向增强滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。

示例性的,增强滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。

示例性的,当Tv和NTv互为相反数时,仅需编码一个阈值索引。

示例性的,当增强滤波阈值为固定值,如Tv=2,NTv=-2,则无需编解码阈值索引。

1.1.2、垂直方向增强滤波偏移量索引。f0v和f1v的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。

示例性的,增强滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。

示例性的,当增强滤波偏移量为固定值,则无需编码该偏移量索引。

示例性的,f0v和f1v的候选列表可以相同,也可以不同,例如,f0v的候选列表{-1,-2,-3,-4},f1v的候选列表为{1,2,3,4}。

1.2、若未使能,则步骤1之后,不需要执行上述步骤2,也不需要对1.1.1和1.1.2中的阈值索引和偏移量索引进行编解码。

2、水平方向增强滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能增强滤波。

2.1、若使能,则在步骤3之后,需要执行上述步骤4,则需要编解码如下信息:

2.1.1、水平方向增强滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。

示例性的,增强滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。

示例性的,当Th和NTh互为相反数时,仅需编码一个阈值索引。

示例性的,当增强滤波阈值为固定值,如Th=2,NTh=-2,则无需编解码阈值索引。

2.1.2、水平方向增强滤波偏移量索引。f0h和f1h的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。

示例性的,增强滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。

示例性的,当增强滤波偏移量为固定值,则无需编码该偏移量索引。

示例性的,f0h和f1h的候选列表可以相同,也可以不同,例如,f0h的候选列表{-1,-2,-3,-4},f1h的候选列表为{1,2,3,4}。

2.2、若未使能,则步骤3之后,不需要执行上述步骤4,也不需要对2.1.1和2.1.2中阈值索引和偏移量索引进行编解码。

实施例八

在CU级采用实施例二或实施例三描述的方案

每个CU均编解码一套如下系数:

1、是否复用周围块的增强滤波参数标记位。

1.1、若复用,则复用周围块,如左侧块或上侧块的增强滤波参数;

1.2、若不复用,则编码如下参数:

1.2.1、垂直方向增强滤波使能标记位,该标记用于标识当前CU在垂直方向是否使能增强滤波。

1.2.1.1、若使能,则在步骤1之后,需要执行上述步骤2,则需要编解码如下信息:

1.2.1.1.1、垂直方向增强滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。

示例性的,增强滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。

示例性的,当Tv和NTv互为相反数时,仅需编码一个阈值索引。

示例性的,当增强滤波阈值为固定值,如Tv=2,NTv=-2,则无需编解码阈值索引。

1.2.1.1.2、垂直方向增强滤波偏移量索引。f0v和f1v的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。

示例性的,增强滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。

示例性的,当增强滤波偏移量为固定值,则无需编码该偏移量索引。

示例性的,f0v和f1v的候选列表可以相同,也可以不同,例如,f0v的候选列表{-1,-2,-3,-4},f1v的候选列表为{1,2,3,4}。

1.2.1.2、若未使能,则步骤1之后,不需要执行上述步骤2,也不需要对1.2.1.1.1和1.2.1.1.2中的阈值索引和偏移量索引进行编解码。

1.2.2、水平方向增强滤波使能标记,该标记用于标识当前CU在水平方向是否使能增强滤波。

1.2.2.1、若使能,则在步骤3之后,需要执行上述步骤4,则需要编解码如下信息:

1.2.2.1.1、水平方向增强滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。

示例性的,增强滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。

示例性的,当Th和NTh互为相反数时,仅需编码一个阈值索引。

示例性的,当增强滤波阈值为固定值,如Th=2,NTh=-2,则无需编解码阈值索引。

1.2.2.1.2、水平方向增强滤波偏移量索引。f0h和f1h的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。

示例性的,增强滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。

示例性的,当增强滤波偏移量为固定值,则无需编码该偏移量索引。

示例性的,f0h和f1h的候选列表可以相同,也可以不同,例如,f0h的候选列表{-1,-2,-3,-4},f1h的候选列表为{1,2,3,4}。

1.2.2.2、若未使能,则步骤3之后,不需要执行上述步骤4,也不需要对1.2.2.1.1和1.2.2.1.2中阈值索引和偏移量索引进行编解码。

实施例九

在帧级和CTU级采用实施例二或实施例三描述的方案

在帧级增加一个标志位(即上述预设标志位),该标志位用于指示当前帧采用帧级语法使能增强滤波或CTU级语法使能增强滤波。编解码端需要在帧级编解码该标志位。

当当前帧采用帧级语法使能增强滤波时,在每帧图像内编解码系数的具体实现可以参见实施例四或实施例五。

当当前帧采用CTU级语法使能增强滤波时,在每个CTU内编解码系数的具体实现可以参见实施例六。

实施例十

在帧级、CTU级和CU级采用实施例二或实施例三描述的方案

在帧级增加一个标志位,该标志用于指示当前帧是采用帧级语法使能增强滤波或CTU级语法使能增强滤波。编解码端需要在帧级编解码该标志位。

当当前帧采用帧级语法使能增强滤波时,在每帧图像内编解码系数的具体实现可以参见实施例四或实施例五。

当当前帧采用CTU级语法使能增强滤波时,还需要在CTU级增加一个标志位,该标志位用于指示当前CTU采用CTU级语法使能增强滤波或CU级语法使能增强滤波。编解码端需要在CTU级编解码该标志位。

当当前帧采用CTU级语法使能增强滤波时,在每个CTU内编解码系数的具体实现可以参见实施例六。

当当前帧采用CU级语法使能增强滤波时,在每个CU内编解码系数的具体实现可以参见实施例七或实施例八。

二、首次滤波为SAO滤波

实施例十一

步骤1、Y1(i)经过SAO滤波处理后得到Y2(i);

步骤2、基于Y1(i)和Y2(i),对像素点的像素值进行增强处理,得到Y3(i)。

示例性的,当上文中的第一滤波处理为SAO滤波处理时,Y1(i)为上文中的第二像素值,Y2(i)为上文中的第一像素值,Y3(i)为上文中的第三像素值。

实施例十二、

实施例十一中的步骤2可以采用实施例二~实施例十中任一实施例描述的方案。

三、首次滤波为ALF滤波

实施例十三

步骤1、Y1(i)经过ALF滤波处理后得到Y2(i);

步骤2、基于Y1(i)和Y2(i),对像素点的像素值进行增强处理,得到Y3(i)。

示例性的,当上文中的第一滤波处理为ALF滤波处理时,Y1(i)为上文中的第二像素值,Y2(i)为上文中的第一像素值,Y3(i)为上文中的第三像素值。

实施例十四

实施例十三中的步骤2可以采用实施例二~实施例十中任一实施例描述的方案。

四、首次滤波为任一种滤波方式

实施例十五

步骤1、Y1(i)经过滤波处理后得到Y2(i);

步骤2、基于Y1(i)和Y2(i),对像素点的像素值进行增强处理,得到Y3(i)。

示例性的,当上文中的第一滤波处理为步骤1中的滤波处理时,Y1(i)为上文中的第二像素值,Y2(i)为上文中的第一像素值,Y3(i)为上文中的第三像素值。

实施例十六

实施例十五中的步骤2可以采用实施例二~实施例十中任一实施例描述的方案。

实施例十七

实施例十五中的步骤2可以以Y1(i)和Y2(i)作为输入,利用机器学习或深度学习,确定Y3(i)。

实施例十八

实施例十五中的步骤2可以以Y1(i)-Y2(i)或Y2(i)-Y1(i)作为输入,利用维纳滤波器,确定Y3(i)。

其中,维纳滤波器可以为:

即对Y2(i)和其邻域的像素点进行加权求和,得到Y3(i),K为正整数,表示用于滤波的像素点个数(包括当前像素点和周围像素点)。

实施例十九

实施例十五中的步骤2可以基于Y1(i)-Y2(i)或Y2(i)-Y1(i)的大小,对Y2(i)进行分类,对于不同类别的Y2(i),利用不同的维纳滤波器,确定Y3(i)。

例如,基于Y1(i)-Y2(i)或Y2(i)-Y1(i)的大小,以及已设定的分段阈值,确定Y1(i)-Y2(i)或Y2(i)-Y1(i)所处的分段,Y1(i)-Y2(i)或Y2(i)-Y1(i)所处分段不同,Y2(i)的类别不同。

实施例二十

解码或编码一个SPS级的标记位,该标记位用来控制当前图像序列中的所有图像是否使用上述技术,该技术包括实施例一~实施例十九中任一实施例描述的增强滤波技术的实施方式。

示例性的,当解码端设备解码得到的该标记位表征使用上述技术时,按照实施例一~实施例十九中任一实施例描述的增强滤波技术进行处理。

本申请实施例中,对于当前图像块的任一满足第一滤波处理条件的像素点,通过确定该像素点经过第一滤波处理后的第一像素值,并基于第一像素值与该像素点未经过第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的第三像素值,提升了图像质量,提高了编解码性能。

以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:

请参见图5,为本申请实施例提供的一种图像增强装置的硬件结构示意图。该图像增强装置可包括处理器501、存储有机器可执行指令的机器可读存储介质502。处理器501与机器可读存储介质502可经由系统总线503通信。并且,通过读取并执行机器可读存储介质502中与图像增强控制逻辑对应的机器可执行指令,处理器501可执行上文描述的图像增强方法。

本文中提到的机器可读存储介质502可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

如图6所示,从功能上划分,上述图像增强装置可以包括:

确定单元,用于对于当前块的任一满足第一滤波处理条件的像素点,确定该像素点经过第一滤波处理后的第一像素值;

增强单元,用于基于所述第一像素值与该像素点未经过所述第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的第三像素值。

作为一种可能的实施例,所述增强单元,具体用于基于所述第一像素值和所述第二像素值二者之间的差值,对该像素点的像素值进行增强处理。

作为一种可能的实施例,所述增强单元,具体用于基于所述差值,与预设阈值的比较结果,对该像素点的像素值进行增强处理。

作为一种可能的实施例,所述增强单元,具体用于若所述差值大于第一增强滤波阈值,则基于第一增强滤波偏移量对该像素点的像素值进行增强处理;

若所述差值小于第二增强滤波阈值,则基于第二增强滤波偏移量对该像素点的像素值进行增强处理;

所述第二增强滤波阈值小于所述第一增强滤波阈值。

作为一种可能的实施例,所述增强单元,具体用于基于所述第一像素值和所述第二像素值,确定第四像素值;

基于所述第一增强滤波偏移量对所述第四像素值进行增强处理,以得到所述第三像素值。

作为一种可能的实施例,所述增强单元,具体用于基于所述第一增强滤波偏移量对所述第一像素值进行增强处理,以得到所述第三像素值。

作为一种可能的实施例,所述增强单元,具体用于基于所述第一像素值和所述第二像素值,确定第四像素值;

基于所述第二增强滤波偏移量对所述第四像素值进行增强处理,以得到所述第三像素值。

作为一种可能的实施例,所述增强单元,具体用于基于所述第二增强滤波偏移量对所述第一像素值进行增强处理,以得到所述第三像素值。

作为一种可能的实施例,所述增强单元,还用于若所述差值小于等于所述第一增强滤波阈值,且大于等于所述第二增强滤波阈值,则将所述第一像素值作为所述第三像素值。

作为一种可能的实施例,所述增强单元,还用于若所述差值小于等于所述第一增强滤波阈值,且大于等于所述第二增强滤波阈值,则对所述第一像素值进行第二滤波处理,以得到所述第三像素值。

作为一种可能的实施例,所述第一增强滤波阈值和所述第二增强滤波阈值互为相反数;

或/和,所述第一增强滤波偏移量和所述第二增强滤波偏移量互为相反数。

作为一种可能的实施例,如图7所示,所述装置还包括:

编码/解码单元,用于对阈值索引进行编码/解码,所述阈值索引用于表征所述第一增强滤波阈值或所述第二增强滤波阈值在阈值候选列表中的位置;

以及,对偏移量索引进行编码/解码,所述偏移量索引用于表征所述第一增强滤波偏移量或所述第二增强滤波偏移量在偏移量候选列表中的位置。

作为一种可能的实施例,所述第一增强滤波阈值或/和所述第二增强滤波阈值为固定值;

或/和,

所述第一增强滤波偏移量或/和所述第二增强滤波偏移量为固定值。

作为一种可能的实施例,所述增强单元,还用于当所述第三像素值大于预设取值范围的上限时,将所述第三像素值设置为所述预设取值范围的上限;

当所述第三像素值小于预设阈值范围的下限时,将所述第三像素值设置为所述预设取值范围的下限。

作为一种可能的实施例,所述增强单元,具体用于以所述第一像素值和所述第二像素值为输入参数,利用机器学习或深度学习,确定所述第三像素值。

作为一种可能的实施例,所述增强单元,具体用于当所述当前块使能增强滤波时,基于所述第一像素值与该像素点未经过所述第一滤波处理前的第二像素值,对该像素点的像素值进行增强处理。

作为一种可能的实施例,利用指定语法标识所述当前块是否使能增强滤波;

所述指定语法包括以下之一或多个:

序列参数集级语法、图像参数集级语法以及片Slice级语法;

或,

所述指定语法包括以下之一或多个:

序列参数集级语法、图像参数集级语法、编码树单元CTU级语法以及编码单元CU级语法。

作为一种可能的实施例,当所述指定语法的候选级别包括至少两个级别时,基于预设标志位确定所述指定语法的级别,所述预设标志位用于指示所述指定语法的级别。

作为一种可能的实施例,所述预设标志位的语法级别与所述指定语法的候选级别中的非最低级别匹配。

作为一种可能的实施例,当所述指定语法的候选级别包括序列参数集级语法和图像参数集级语法时,所述预设标志位的语法级别为序列参数集级;

当所述指定语法的候选级别包括图像参数集级语法和Slice级语法时,所述预设标志位的语法级别为图像参数集级;

当所述指定语法的候选级别包括序列参数集级语法、图像参数集级语法以及Slice级语法时,所述预设标志位包括序列参数集级的标志位和图像参数集级的标志位;

当所述指定语法的候选级别包括图像参数集级语法和CTU级语法时,所述预设标志位的语法级别为图像参数集级;

当所述指定语法的候选级别包括CTU级语法和CU级语法时,所述预设标志位的语法级别为CTU级;

当所述指定语法的候选级别包括图像参数集级语法、CTU级语法以及CU级语法时,所述预设标志位包括CTU级的标志位和CU级的标志位。

作为一种可能的实施例,所述第一滤波处理包括垂直去块滤波DBF滤波处理、水平DBF滤波处理、样本自适应补偿SAO滤波处理或自适应环路滤波ALF滤波处理。

作为一种可能的实施例,当所述第一滤波处理为对该像素点的连续多次滤波中的非首次滤波处理时,所述第二像素值为该像素点上一次滤波处理后的像素值经过增强处理后得到的像素值。23、根据权利要求22所述的方法,其特征在于,所述第一滤波处理为水平DBF滤波处理;

当该像素点满足垂直DBF滤波处理条件时,所述第二像素值为对该像素点的第五像素值进行增强处理后该像素点的像素值,所述第五像素值为该像素点经过垂直DBF滤波处理后的像素值。

作为一种可能的实施例,所述第一滤波处理为垂直去块滤波DBF滤波处理;

所述增强单元,还用于当该像素点满足水平DBF滤波条件时,对所述第三像素值进行水平DBF滤波处理,以得到该像素点的第六像素值;

基于所述第三像素值与所述第六像素值,对该像素点的像素值进行增强处理,以得到增强处理后的该像素点的第七像素值。

在一些实施例中,本申请还提供了一种摄像机设备,包括上述任一实施例中的图像增强装置,该装置可以应用在编码装置中,也可以用在解码装置中。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

32页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:编码方法、解码方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类