CN114501004B - 滤波处理方法、装置及机器可读存储介质 - Google Patents

滤波处理方法、装置及机器可读存储介质 Download PDF

Info

Publication number
CN114501004B
CN114501004B CN202111673286.6A CN202111673286A CN114501004B CN 114501004 B CN114501004 B CN 114501004B CN 202111673286 A CN202111673286 A CN 202111673286A CN 114501004 B CN114501004 B CN 114501004B
Authority
CN
China
Prior art keywords
filtering
adjustment
pixel point
filter
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111673286.6A
Other languages
English (en)
Other versions
CN114501004A (zh
Inventor
陈方栋
孙煜程
曹小强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202111673286.6A priority Critical patent/CN114501004B/zh
Publication of CN114501004A publication Critical patent/CN114501004A/zh
Application granted granted Critical
Publication of CN114501004B publication Critical patent/CN114501004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供一种滤波处理方法、装置及机器可读存储介质,该滤波处理方法包括:对于当前块的目标像素点,获取所述目标像素点的对比滤波系数;所述对比滤波系数用于参与判断是否对所述目标像素点进行调整滤波处理;当基于所述对比滤波系数,以及调整滤波阈值,确定需要对所述目标像素点进行调整滤波处理时,获取所述目标像素点的调整滤波系数,并基于所述调整滤波系数对所述目标像素点进行调整滤波处理。该方法可以提升图像质量,提高编解码性能。

Description

滤波处理方法、装置及机器可读存储介质
技术领域
本申请涉及视频图像编解码技术,尤其涉及一种滤波处理方法、装置及机器可读存储介质。
背景技术
完整的视频编码一般包括预测、变换、量化、熵编码、滤波等操作。
目前,标准中常用滤波技术包括去块滤波(DeBlocking Filter,简称DBF)技术、样本自适应补偿(Sample Adaptive Offset,简称SAO)技术以及自适应环路滤波(AdaptiveLoop Filter,简称ALF)技术。
DBF技术用于去除分块编码产生的块边界效应;SAO技术通过基于样本的像素值和周围块的梯度值进行分类,对于每个类别的像素值加上不同的补偿值,使得重建图像更接近于原始图像;ALF技术通过维纳滤波器,对重建图像进行增强滤波,使得重建图像更接近于原始图像。
然而实践发现,上述DBF、SAO以及ALF滤波技术,均是基于当前像素值,或当前像素值和周围像素值的关系进行分类,再基于不同类别进行不同滤波操作,其可能会出现过滤波现象,即滤波后的像素值远大于或远小于滤波前的像素值,也远大于或远小于原始像素值。
发明内容
有鉴于此,本申请提供一种滤波处理方法、装置及机器可读存储介质。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种滤波处理方法,包括:
对于当前块的目标像素点,获取所述目标像素点的对比滤波系数;所述对比滤波系数用于参与判断是否对所述目标像素点进行调整滤波处理;
当基于所述对比滤波系数,以及调整滤波阈值,确定需要对所述目标像素点进行调整滤波处理时,获取所述目标像素点的调整滤波系数,并基于所述调整滤波系数对所述目标像素点进行调整滤波处理。
根据本申请实施例的第二方面,提供一种滤波处理装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器存放有计算机程序,所述处理器被所述计算机程序促使:
对于当前块的目标像素点,获取所述目标像素点的对比滤波系数;所述对比滤波系数用于参与判断是否对所述目标像素点进行调整滤波处理;
当基于所述对比滤波系数,以及调整滤波阈值,确定需要对所述目标像素点进行调整滤波处理时,获取所述目标像素点的调整滤波系数,并基于所述调整滤波系数对所述目标像素点进行调整滤波处理。
本申请实施例的滤波处理方法,对于当前块的目标像素点,获取目标像素点的对比滤波系数,当基于对比滤波系数,以及调整滤波阈值,确定需要对目标像素点进行调整滤波处理时,获取目标像素点的调整滤波系数,并基于调整滤波系数对目标像素点进行调整滤波处理,提升了图像质量,提高了编解码性能。
附图说明
图1A~1B是本申请示例性实施例示出的块划分的示意图;
图2是本申请示例性实施例示出一种编解码方法的示意图;
图3是本申请示例性实施例示出一种DBF滤波像素示意图;
图4是本申请示例性实施例示出一种滤波处理方法的流程示意图;
图5A是本申请示例性实施例示出一种确定是否需要对目标像素点进行调整滤波处理的流程示意图;
图5B是本申请示例性实施例示出另一种确定是否需要对目标像素点进行调整滤波处理的流程示意图;
图6是本申请示例性实施例示出一种获取对比滤波系数的流程示意图;
图7是本申请示例性实施例示出一种滤波处理装置的硬件结构示意图;
图8是本申请示例性实施例示出一种滤波处理装置的功能结构示意图;
图9是本申请示例性实施例示出另一种滤波处理装置的功能结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对现有视频编码标准中块划分技术、现有帧内子块划分方案以及本申请实施例涉及的部分技术术语进行简单说明。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对本申请实施例涉及的部分技术术语以及现有视频编解码的主要流程进行简单说明。
一、技术术语
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滤波处理。
具体流程如下:
S1、以4*4为单位分别计算水平方向和垂直方向的edge condition(边缘条件)值:
1.1、对于CU边界,且为8*8边界,edge condition值为2(对亮度分量和色度分量均进行滤波处理);
1.2、对于PU边界(如2N*hN的内部1/4、1/2、3/4水平线),且为8*8边界,edgecondition值为1(对亮度分量进行滤波处理,不对色度分量进行滤波处理);
1.3、1.1和1.2之外的情况下,edge condition值为0。
S2、以4*4为单位(滤波处理以8*8单位,只是以4*4为单位存储edge condition值等信息),完成所有块的垂直滤波。当edge condition值不为0时,进行如下滤波处理过程:
2.1、进行亮度分量滤波处理过程(垂直滤波处理,处理垂直边界的4行,水平滤波处理,处理水平边界的4列):
2.1.1、先判断是否跳过滤波处理过程;
示例性的,边界两侧的块为非帧内模式块、无残差、且运动一致时才跳过滤波,否则均需要进行滤波处理。
2.1.2、若不跳过滤波处理过程,则进行如下处理:
2.1.2.1、计算FL(Flatness Left,左侧平滑度,可选值为0、2、3)和FR(FlatnessRight,右侧平滑度,可选值为0、2、3),用于判断两侧内部的平滑程度:
2.1.2.1.1、若ABS(L1-L0)<β,且ABS(L2-L0)<β,则FL为3;若ABS(L1-L0)<β,且ABS(L2-L0)≥β,则FL为2;若ABS(L1-L0)≥β,且ABS(L2-L0)<β,则FL为1;否则为0。
示例性的,ABS()为取绝对值运算。
2.1.2.1.2、FR的计算类似。
2.1.2.2、基于FS(FS=FL+FR)确定BS值(FS的可选值为0、2、3、4、5、6,BS的可选值为0、1、2、3、4):
2.1.2.2.1、FS≤2(最多有一边中等平滑),BS=0;
2.1.2.2.2、FS=3(有且只有一边高度平滑),BS=(ABS(L1-R1)<β)?1:0,即若ABS(L1-R1)<β成立,则BS=1;否则BS=0;
2.1.2.2.3、FS=4(两边均中等平滑),BS=(FL==2)?2:1,即若FL=2,则BS=2;否则,即FL≠2,则BS=1;
2.1.2.2.4、FS=5(一边中等平滑,另一边高度平滑),BS=(R1==R0&&L0==L1)?3:2,即若像素点R1的像素值等于像素点R0的像素值,且像素点L0的像素值等于像素点L1的像素值,则BS=3;否则,BS=2;
2.1.2.2.5、FS=6(两边均高度平滑),BS=(ABS(R0-R1)<=β/4&&ABS(L0-L1)<=β/4&&ABS(R0-L0)<α)?4:3,即若ABS(R0-R1)≤β/4、ABS(L0-L1)≤β/4,以及ABS(R0-L0)<α均成立,则BS=4,否则,BS=3。
2.1.2.3、基于BS值,确定滤波系数,以及滤波像素个数。
示例性的,假设边界左侧或上侧的4个像素点分别为L0-L3(如图3所示,图中以左侧为例);边界右侧或下侧的4个像素点为R0-R3(如图3所示,图中以右侧为例)。则对于亮度分量(下面下划线位置的系数为当前像素点的滤波系数):
2.1.2.3.1BS=4,对边界两侧各3个像素进行滤波:
2.1.2.3.1.1、L0/R0:滤波系数[3,8,10,8,3]/32,即为了确定像素点L0滤波处理后的像素值,需要分别使用像素点L2、L1、L0、R0和R1的像素值进行加权求和,加权系数(即滤波系数)依次为3/32、8/32、10/32、8/32以及3/32。
其中,若wj为滤波系数,则j=-2(当前像素点左侧的第2个像素点,即L2)时,wj=3/32;j=-1(当前像素点左侧的第1个像素点,即L1)时,wj=8/32;j=0(当前像素点,即L0)时,wj=10/32;j=1(当前像素点右侧的第1个像素点,即R0)时,wj=8/32;j=2(当前像素点右侧的第2个像素点,R1)时,wj=8/32。
为了确定像素点R0滤波后的像素值,需要分别使用像素点R2、R1、R0、L0和L1的像素值进行加权求和,加权系数依次为3/32、8/32、10/32、8/32以及3/32。其中,若wj为滤波系数,则j=-2(当前像素点右侧的第2个像素点,即R2)时,wj=3/32;j=-1(当前像素点右侧的第1个像素点,即R1)时,wj=8/32;j=0(当前像素点,即R0)时,wj=10/32;j=1(当前像素点左侧的第1个像素点,即L0)时,wj=8/32;j=2(当前像素点左侧的第2个像素点,L1)时,wj=8/32。
即:L0'=clip(L2*3+L1*8+L0*10+R0*8+R1*3+16)>>5)
L0'为像素点L0滤波处理后的像素值,L0~L2为像素点L0~L2滤波前的像素值,R0~R1为像素点R0~R1的像素值,下同。
示例性的,“>>”为右移位运算,用于替代除法,即“>>5”相当于除以25(即32)。
此外,本申请实施例中,乘法(即“*”)在实际实现时可以通过左移位的方式来替代。例如,a乘以4可以通过左移2位替代,即通过a<<2替代;a乘以10,可以通过(a<<3)+(a<<1)替代。
示例性的,“<<”为左移位运算,用于替代乘法,即“a<<2”相当于乘以22(即4)。
示例性的,考虑到通过移位的方式实现除法运算时,对于运算结果通常直接取整,即当运算结果为N~N+1之间的非整数时,取结果为N,而考虑到当小数部分大于0.5时,取结果为N+1的准确性会更高,因此,为了提高所确定的像素值的准确性,进行计算时,可以为上述加权和的分子加上分母(即被除数)的1/2,以达到四舍五入的效果。
以上述L0'的计算为例,右移5位相当于除以25(即32),因此,可以为上述加权和的分子加上16。
R0'=clip((R2*3+R1*8+R0*10+L0*8+L1*3+16)>>5)
示例性的,clip(x)为修剪操作,当x超出预设数值范围的上限时,将x的值设置为该预设数值范围的上限;当x低于预设数值范围的下限时,将x的值设置为该预设数据范围的下限。
2.1.2.3.1.2、L1/R1:滤波系数[4,5,4,3]/16
L1'=clip((L2*4+L1*5+L0*4+R0*3+8)>>4)
R1'=clip((R2*4+R1*5+R0*4+L0*3+8)>>4)
2.1.2.3.1.3、L2/R2:滤波系数[2,2,2,1,1]/8
L2'=clip((L3*2+L2*2+L1*2+L0*1+R0*1+4)>>3)
R2'=clip((R3*2+R2*2+R1*2+R0*1+L0*1+4)>>3)
2.1.2.3.2、BS=3,对边界两侧各2个像素进行滤波:
2.1.2.3.2.1、L0/R0:滤波系数[1,4,6,4,1]/16
L0'=clip(L2*1+L1*4+L0*6+R0*4+R1*1+8)>>4
R0'=clip(R2*1+R1*4+R0*6+L0*4+L1*1+8)>>4
2.1.2.3.2..2、L1/R1:滤波系数[3,8,4,1]/16
L1'=clip((L2*3+L1*8+L0*4+R0*1+8)>>4)
R1'=clip((R2*3+R1*8+R0*4+L0*1+8)>>4)
2.1.2.3.3、BS=2,对边界两侧各1个像素进行滤波:
2.1.2.3.3.1、L0/R0:滤波系数[3,10,3]/16
L0'=clip(L1*3+L0*10+R0*3+8)>>4
R0'=clip(R1*3+R0*10+L0*3+8)>>4
2.1.2.3.4、BS=1,对边界两侧各1个像素进行滤波:
2.1.2.3.4.1、L0/R0:滤波系数[3,1]/4
L0'=clip(L0*3+R0*1+2)>>2
R0'=clip(R0*3+L0*1+2)>>2
2.1.2.3.5、BS=0不滤波。
2.2、edge condition值为2,则当前4*4块处于CU边界,当该CU为16*16块时,进行色度滤波处理。色度滤波处理过程如下:
2.2.1、判断是否需要进行滤波处理,过程与亮度分量一样;
2.2.2、若需要进行滤波处理,则分别计算FL、FR。再基于FL和FR得到FS。基于FS获得BS值。该过程也和亮度分量一样;
2.2.3、获得的色度分量的BS值减1,则BS可选值为3、2、1、0。基于BS值进行色度分量的滤波处理,具体流程如下:
2.2.3.1、BS=3,对边界两侧各2个像素进行滤波:
2.2.3.1.1、L0/R0:滤波系数[3,10,3]/16
L0'=clip(L1*3+L0*10+R0*3+8)>>4
R0'=clip(R1*3+R0*10+L0*3+8)>>4
2.2.3.1.2、L1/R1:滤波系数[3,8,3,2]/16
L1'=clip((L2*3+L1*8+L0*3+R0*2+8)>>4)
R1'=clip((R2*3+R1*8+R0*3+L0*2+8)>>4)
2.2.3.2、BS=2或1,对边界两侧各1个像素进行滤波:
2.2.3.2.1、L0/R0:滤波系数[3,10,3]/16
L0'=clip(L1*3+L0*10+R0*3+8)>>4
R0'=clip(R1*3+R0*10+L0*3+8)>>4
2.2.3.3、BS=0,不进行滤波处理。
示例性的,上述过程的α和β与边界两侧的块,即当前块与当前块的左侧快(对于垂直DBF滤波)或当前块与当前块的上方块(对于水平DBF滤波)的QP均值相关,可通过查表获得。
三、以4*4为单位,完成所有块的水平滤波处理,过程与S2类似。
相关技术中,仅根据一个既定的准则进行滤波处理,容易存在过滤波或伪滤波的情况,而本申请提出的滤波方法是一种基于滤波残差分类的滤波方法(本文称为调整滤波)。滤波残差,是指滤波处理前后像素值的差别。例如,若进行DBF滤波处理前的重建值为Y1,经过DBF滤波处理后的像素值为Y2,则可基于Y2-Y1进行分类。为了简化滤波过程,本申请中提供了将Y2-Y1用Y1构成的第一表达式来表示的滤波调整方法,此外还提供了将第一表达式再次简化成第二表达式的滤波调整方法。基于滤波残差分类的主要好处是,可以对于一些过滤波或伪滤波的像素值进行特殊增强,以实现这些类别的像素更接近原始值的效果。过滤波,是指Y2远大于(或远小于)Y1,以至于Y2远大于(或远小于)原始像素值。伪滤波,是指Y2-Y1为0,或接近于0,即这些像素值经过滤波后仍保持不变,未达到滤波效果。
为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
请参见图4,为本申请实施例提供的一种滤波处理方法的流程示意图,如图4所示,该滤波处理方法可以包括以下步骤:
步骤S400、对于当前块的目标像素点,获取目标像素点的对比滤波系数。
示例性的,目标像素点可以为当前块的任一像素点,或,目标像素点可以为当前块中指定位置的像素点,例如,当前块左侧或右侧3列像素点中的任一像素点,或,当前块上方或下方3行像素点中任一像素点。
示例性的,对比滤波系数用于参与判断是否对目标像素点进行调整滤波处理。
本申请实施例中,滤波处理可以包括但不限于垂直DBF滤波处理、水平DBF滤波处理、SAO滤波处理或ALF滤波处理等。
对于当前块的目标像素点,可以获取目标像素点的对比滤波系数,以便基于目标像素点的对比滤波系数判断是否对目标像素点进行调整滤波处理。
示例性的,像素点的对比滤波系数可以预先设定,并在需要时获取;或者,也可以基于像素点的滤波系数确定,具体的基于像素点的滤波系数确定像素点的对比滤波系数可以参见后续实施例的相关内容。
以DBF滤波处理为例,像素点的滤波系数的确定方式可以参见上文中所描述的DBF实现流程中的相关说明。
步骤S410、当基于对比滤波系数,以及调整滤波阈值,确定需要对目标像素点进行调整滤波处理时,获取目标像素点的调整滤波系数,并基于调整滤波系数对目标像素点进行调整滤波处理。
本申请实施例中,当获取到目标像素点的对比滤波系数时,可以基于该对比滤波系数以及调整滤波阈值,确定是否需要对目标像素点进行调整滤波处理。
当确定需要对目标像素点进行调整滤波处理时,获取目标像素点的调整滤波系数,并基于调整滤波系数对目标像素点进行调整滤波处理,以使调整滤波处理后的目标像素点的像素值相比按照原有滤波处理方式进行滤波处理后的目标像素点的像素值,更接近原始像素值,避免由于过滤波导致的滤波后的像素值远大于或远小于像素点的原像素值,提升图像质量。
示例性的,像素点的调整滤波系数可以预先设定,并在需要时获取;或者,也可以基于像素点的滤波系数确定。
可见,在图4所示方法流程中,通过获取像素点的对比滤波系数,并在基于该对比滤波系数以及调整滤波阈值,确定需要对目标像素点进行调整滤波处理时,基于目标像素点的调整滤波系数对目标像素点进行调整滤波,提高了编解码性能,提升了图像质量。
作为一种可能的实施例,如图5A所示,基于对比滤波系数,以及调整滤波阈值,确定是否需要对目标像素点进行调整滤波处理,可以通过以下步骤实现:
步骤S411、基于该对比滤波系数,以及目标像素点的参考像素的像素值,确定对比特征值。
步骤S412、当该对比特征值大于第一调整滤波阈值,或,该对比特征值小于第二调整滤波阈值时,确定需要对目标像素点进行调整滤波处理。
示例性的,该第一调整滤波阈值大于该第二调整滤波阈值。
示例性的,对于任一像素点,当获取到目标像素点的对比滤波系数时,可以基于该对比滤波系数,以及目标像素点的参考像素的像素值,确定对比特征值。
示例性的,该对比特征值可以用于对目标像素点进行分类,以便基于目标像素点的类别确定对目标像素点进行滤波处理的方式,例如,是否进行调整滤波处理。
示例性的,当目标像素点的对比特征值大于第一调整滤波阈值,或,目标像素点的对比特征值小于第二调整滤波阈值时,确定需要对目标像素点进行调整滤波处理。
示例性的,不同类别的像素点,进行调整滤波处理的策略不同。
在一个示例中,步骤S410中,基于调整滤波系数对目标像素点进行调整滤波处理,可以包括:
当该对比特征值大于第一调整滤波阈值时,基于调整滤波系数以及第一调整滤波偏移量,对目标像素点进行调整滤波处理;
当该对比特征值小于第二调整滤波阈值时,基于调整滤波系数以及第二调整滤波偏移量,对目标像素点进行调整滤波处理。
示例性的,对比特征值可以用于表征像素点按照原有滤波处理方式进行滤波处理后的像素值与滤波处理前的像素值之间的差值(可以称为滤波残差)。
为了使调整滤波处理后的像素点的像素值更接近原始像素值,当目标像素点的对比特征值大于第一调整滤波阈值,或小于第二调整滤波阈值时,可以分别采用不同的调整滤波偏移量对像素点滤波处理后的像素值进行补偿,以保证调整滤波处理后的像素点的像素值更接近原始像素值,以提高编解码性能,提升图像质量。
考虑到编码端设备对当前块的像素点进行了上述调整滤波处理时,编码端设备和解码端设备需要在调整滤波阈值和调整滤波偏移量的取值上保持一致。
示例性的,编码端设备和解码端设备可以通过构建相同的调整滤波阈值候选列表(简称阈值候选列表)和相同的调整滤波偏移量候选列表,编码端设备在码流中携带调整滤波阈值索引(简称阈值索引)和调整滤波偏移量索引(简称偏移量索引),该阈值索引用于表征调整滤波阈值,如第一调整滤波阈值或第二调整滤波阈值在阈值候选列表中的位置,偏移量索引用于表征调整滤波偏移量,如第一调整滤波偏移量或第二调整滤波偏移量在偏移量候选列表中的位置。
解码端设备接收到码流时,可以从码流中对阈值索引和偏移量索引进行解码,并基于阈值索引从阈值候选列表中查询第一调整滤波阈值或第二调整滤波阈值,以及,基于偏移量索引从偏移量候选列表中查询第一调整滤波偏移量或第二调整滤波偏移量。
在一个示例中,为了减少需要编码的阈值索引消耗的比特数,第一调整滤波阈值与第二调整滤波阈值互为相反数。
示例性的,由于第一调整滤波阈值大于第二调整滤波阈值,因此,第一调整滤波阈值为正数,第二调整滤波阈值为负数。
例如,第一调整滤波阈值为2,第二调整滤波阈值为-2。
同理,第一调整滤波系数和第二调整滤波系数也可以互为相反数。
需要说明的是,在本申请实施例中,在构建调整滤波阈值候选列表和调整滤波偏移量候选列表时,可以以参数集的形式构建。
即候选列表中每一个候选值为一个参数集,该参数集包括一个候选的第一调整滤波阈值、一个候选的第二调整滤波阈值(当第一调整滤波阈值和第二调整滤波阈值互为相反数时,可以仅包括其中一个)、一个候选的第一调整滤波偏移量以及一个候选的第二调整滤波偏移量(当第一调整滤波偏移量和第二调整滤波偏移量互为相反数时,可以仅包括其中一个)。
当对索引进行编解码时,可以以调整滤波参数集索引的形式进行编解码,即通过调整参数集索引表征第一调整滤波阈值、第二调整滤波阈值、第一调整滤波偏移量以及第二调整滤波偏移量对应的调整滤波参数集在调整滤波参数集候选列表中的位置,其具体实现可以在下文的具体实施例中进行说明。
此外,在本申请实施例中,当前块的调整滤波参数,如调整滤波阈值和调整滤波偏移量,还可以复用周围块,如上侧块或左侧块的相应参数。
编解码端可以在码流中对用于指示当前块是否复用周围块的调整滤波参数的标记位,当确定复用周围块的调整滤波参数时,可以不需要再额外对当前块进行调整滤波参数的编解码。
在另一个示例中,为了减少需要编码的阈值索引消耗的比特数,第一调整滤波阈值或/和第二调整滤波阈值为固定值。
示例性,可以将第一调整滤波阈值或/和第二调整滤波阈值设置为固定值,从而,可以不需要对第一调整滤波阈值对应的阈值索引或/和第二调整滤波阈值对应的阈值索引进行编码。
同理,第一调整滤波系数或/和第二调整滤波系数也可以为固定值。
在一个示例中,请参见图5B,基于对比滤波系数,以及调整滤波阈值,确定是否需要对目标像素点进行调整滤波处理,还可以包括:
步骤S413、当该对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,确定不需要对目标像素点进行调整滤波处理。
示例性的,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,可以确定出现过滤波概率较低,此时,可以不需要对目标像素点进行调整滤波处理。
例如,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,可以按照原有滤波处理方式对目标像素点进行滤波处理。
需要说明的是,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,并不限于按照原有滤波处理方式对目标像素点进行滤波处理,也可以按照其他策略进行滤波处理。
例如,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,基于调整滤波系数以及第三调整滤波偏移量,对目标像素点进行调整滤波处理。
又例如,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,在按照原有滤波处理方式对目标像素点进行滤波处理之后,再次使用另一滤波处理方式对滤波处理后的像素值进行滤波处理。
举例来说,以DBF滤波处理为例,对于任一像素点,当需要对目标像素点进行垂直DBF滤波处理时,若目标像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值,则在按照原有DBF滤波处理方式对目标像素点进行DBF滤波处理之后,可以对滤波处理后的像素值再次进行ALF滤波处理。
作为一种可能的实施例,如图6所示,步骤S400中,获取目标像素点的对比滤波系数,可以通过以下步骤实现:
步骤S401、确定目标像素点的滤波系数。
步骤S402、基于目标像素点的滤波系数确定目标像素点的对比滤波系数。
示例性的,对于任一像素点,目标像素点的对比滤波系数可以基于目标像素点的滤波系数(按照原有滤波处理方式进行滤波处理时的滤波系数)确定。
举例来说,以DBF滤波处理为例,对于任一像素点,目标像素点的滤波系数的确定方式可以参见上文中所描述的DBF实现流程中的相关说明。
当确定了目标像素点的滤波系数时,可以基于目标像素点的滤波系数确定目标像素点的对比滤波系数。
在一个示例中,基于目标像素点的滤波系数确定目标像素点的对比滤波系数,可以通过以下策略实现:
Figure BDA0003453627430000121
cwj为像素点j的对比滤波系数,wj为像素点j的滤波系数(滤波调整前的滤波系数,也可以称为原始滤波系数),当j=0时,像素点j为目标像素点,若目标像素点为边界左侧或上方的像素点,则当j=-n时,像素点j为目标像素点左侧或上方的第n个像素点;当j=m时,像素点j为目标像素点右侧或下方的第m个像素点;若目标像素点为边界右侧或下方的像素点,则当j=-n时,像素点j为目标像素点右侧或下方的第n个像素点;当j=m时,像素点j为目标像素点左侧或上方的第m个像素点,m,n为正整数。
需要说明的是,当滤波系数不是一维系数时,例如,对于ALF滤波处理,滤波系数为二维系数,当j≠0时,像素点j也可以为当前像素点左上角、右下角、左下角或右上角的像素点。
示例性的,以对比特征值表征像素点滤波处理前后的像素残差为例。
对于任一像素点,假设目标像素点经过垂直DBF滤波处理前的像素值为Y1,经过垂直滤波DBF滤波处理后的像素值为Y2。则:
Figure BDA0003453627430000122
wj为像素点j的滤波系数,
Figure BDA0003453627430000123
Y1(i)为目标像素点(可以称为当前像素点)经过垂直DBF滤波处理前的像素值,若当前像素点为边界左侧的像素点,则Y1(i+j)为当前像素点左侧(j为负数)或右侧(j为正数)第|j|个像素点的像素值;若当前像素点为边界右侧的像素点,则Y1(i+j)为当前像素点右侧(j为负数)或左侧(j为正数)第|j|个像素点的像素值,Y2(i)为当前像素点经过垂直DBF滤波处理后的像素值,M,N为自然数,且M+N>0。
举例来说,以上文中2.1.2.3.1.2中描述的滤波系数为例,若当前像素点为像素点L1,则当j=0时,wj为当前像素点的滤波系数,即5/16;当j=-1时,wj为当前像素点左侧第1个像素点(即像素点L2)的滤波系数,即4/16;当j=1时,wj为当前像素点右侧第1个像素点(即像素点L0)的滤波系数,即4/16;当j=2时,wj为当前像素点右侧第2个像素点(即像素点R0)的滤波系数,即3/16;当j=3或j=-2时,wj=0。
进而,Y2-Y1可以用下面的第一表达式表示:
Figure BDA0003453627430000124
Figure BDA0003453627430000131
在一个示例中,上述基于对比滤波系数,以及目标像素点的参考像素的像素值,确定对比特征值,可以包括:
基于对比滤波系数,以及目标像素点的参考像素的像素值,确定目标像素点的参考像素的像素值的加权和;
将该加权和确定为对比特征值。
示例性的,对比特征值可以为像素点滤波处理前后的像素残差。
在确定了对比滤波系数时,可以基于对比滤波系数,以及目标像素点的参考像素的像素值,确定目标像素点的参考像素的像素值的加权和,并将该加权和确定为对比特征值。
仍以上文中2.1.2.3.1.2中描述的滤波系数为例,若当前像素点为像素点L1,则cwj=[4,-11,4,3]/16,当j=0时,cwj为当前像素点的对比滤波系数,即-11/16;当j=-1时,cwj为当前像素点左侧第1个像素点(即像素点L2)的对比滤波系数,即4/16;当j=1时,cwj为当前像素点右侧第1个像素点(即像素点L0)的对比滤波系数,即4/16;当j=2时,cwj为当前像素点右侧第2个像素点(即像素点R0)的对比滤波系数,即3/16;当j=3或j=-2时,cwj=0。
作为另一种可能实施例,上述基于对比滤波系数,以及目标像素点的参考像素的像素值,确定对比特征值,可以包括:
基于对比滤波系数,以及目标像素点的参考像素的像素值,确定目标像素点用于运动补偿的梯度值;
将该梯度值确定为对比特征值。
示例性的,为了提高调整滤波处理的效率,可以基于像素点用于运动补偿的梯度值对像素点进行分类,即上述对比特征值可以为像素点用于运动补偿的梯度值。
示例性的,由于确定像素点用于运动补偿的梯度值时,各参考点的加权系数是确定的,因此,在该情况下,对比滤波系数可以预先设定,并在需要时获取,即对于目标像素点,可以以确定目标像素点用于运动补偿的梯度值时,各像素值的运算系数,作为对应像素点的对比滤波系数。
例如,以垂直DBF滤波处理为例,对于目标像素点,计算目标像素点用于运动补偿时的梯度值时,当前像素点、当前像素点左侧的第1个像素点以及当前像素点右侧的第一个像素点的像素值的运算系数依次为-2/4、1/2和1/2,因此,对比滤波系数可以简化为:
cwj=[1,-2,1]/4
进而对比特征值可以用下面的第二表达式表示:
Figure BDA0003453627430000132
需要说明的是,基于上文中2.1.2.3.4.1的描述可知,在BS=1的情况下,滤波系数wj为[3,1]/4,此时,按照第一表达式的方式确定的对比滤波系数cwj为[-1,1]/4,该对比滤波系数比上述按照梯度值的方式确定的对比滤波系数更简洁,因此,对于BS=1的情况,对比滤波系数可以使用[-1,1]/4。
作为一种可能的实施例,步骤S410中,获取目标像素点的调整滤波系数,可以包括:
基于目标像素点的滤波系数确定目标像素点的调整滤波系数。
示例性的,目标像素点的调整滤波系数可以基于该像素点的滤波系数(按照原有滤波处理方式进行滤波处理时的滤波系数)确定。
举例来说,以DBF滤波处理为例,目标像素点的滤波系数的确定方式可以参见上文中所描述的DBF实现流程中的相关说明。
当确定了目标像素点的滤波系数时,可以基于目标像素点的滤波系数确定目标像素点的调整滤波系数。
在一个示例中,基于目标像素点的滤波系数确定目标像素点的调整滤波系数,通过以下策略实现:
Figure BDA0003453627430000141
awj为像素点j的调整滤波系数,wj为像素点j的滤波系数,当j=0时,像素点j为当前像素点,若目标像素点为边界左侧或上方的像素点,则当j=-n时,像素点j为当前像素点左侧或上方的第n个像素点;当j=m时,像素点j为当前像素点右侧或下方的第m个像素点;若目标像素点为边界右侧或下方的像素点,则当j=-n时,像素点j为目标像素点右侧或下方的第n个像素点;当j=m时,像素点j为目标像素点左侧或上方的第m个像素点,m,n为正整数。
示例性的,以通过对像素点滤波处理前后的像素值的加权平均值进行调整的方式实现调整滤波处理为例。
像素点滤波前后的像素值可以参见上文中描述的确定对比滤波系数的实现方式中的相关描述。
对于任一像素点,目标像素点滤波处理前后的像素值的加权平均值可以但不限于以下表示:
Figure BDA0003453627430000142
目标像素点的调整滤波系数为:
Figure BDA0003453627430000143
考虑到像素点的像素值会处于指定的取值范围,该取值范围通常由图像比特深度确定,如[0,2D-1],D为图像比特深度。
例如,对于8比特图像,该取值范围为[0,255];对于10比特图像,该取值范围为[0,1023]。
为了避免调整滤波处理后的像素点的像素值超出预设的像素值的取值范围,在得到调整滤波处理后的像素值时,可以通过Clip操作,将调整滤波处理后的像素值Clip到预设取值范围。
当调整滤波处理后的像素值大于预设取值范围的上限时,将调整滤波处理后的像素值设置为预设取值范围的上限;
当调整滤波处理后的像素值小于预设阈值范围的下限时,将调整滤波处理后的像素值设置为预设取值范围的下限。
举例来说,以8比特图像为例,当调整滤波处理后的像素值小于0时,将调整滤波处理后的像素值设置为0;当调整滤波处理后的像素值大于255时,将调整滤波处理后的像素值设置为255。
作为一种可能的实施例,步骤S400中,获取目标像素点的对比滤波系数,可以包括:
当确定目标像素点满足滤波处理条件时,获取目标像素点的对比滤波系数;
在获取目标像素点的对比滤波系数之后,上述方法还包括:
基于该对比滤波系数,以及调整滤波阈值,确定是否需要对目标像素点进行调整滤波处理。
示例性的,以滤波处理为垂直DBF滤波处理或水平DBF滤波处理为例,当前块各像素点是否满足滤波处理条件可以基于像素点在当前块中的位置,以及上文中DBF滤波处理的滤波决策策略确定。
例如,当按照上文中DBF滤波处理的滤波策略确定当前块需要进行DBF滤波处理时,当前块中需要进行垂直DBF滤波或/和水平DBF滤波处理的像素点可以如图3所示。
示例性的,当对当前块进行DBF滤波时,对于当前块的任一像素点,可以先确定目标像素点是否满足垂直DBF滤波处理条件,若满足,则进一步按照上述方式确定是否需要进行调整滤波处理(可以称为垂直DBF调整滤波处理),并在确定需要进行垂直DBF调整滤波处理时,对目标像素点进行垂直DBF调整滤波处理。
在完成垂直DBF滤波处理之后,还可以确定目标像素点是否满足水平DBF滤波处理条件,若满足,则进一步按照上述方式确定是否需要进行调整滤波处理(可以称为水平DBF调整滤波处理),并在确定需要进行水平DBF调整滤波处理时,对目标像素点进行水平DBF调整滤波处理。
作为一种可能的实施例,步骤S400,获取目标像素点的对比滤波系数,可以包括:
当当前块使能调整滤波时,获取目标像素点的对比滤波系数。
示例性的,为了提高调整滤波处理的灵活性和可控性,可以选择使能或不使能调整滤波方案,即对像素点的像素值进行调整滤波处理(使能调整滤波)或不对像素点的像素值进行调整滤波处理(不使能调整滤波)。
对于当前块的任一像素点,可以先确定当前块是否使能调整滤波,当当前块使能调整滤波时,获取目标像素点的对比滤波系数,并基于目标像素点的对比滤波系数以及调整滤波阈值,确定目标像素点是否需要进行调整滤波处理。
在一个示例中,利用指定语法标识当前块是否使能当前块是否使能调整滤波。
示例性的,该指定语法可以包括但不限于以下之一或多个:
序列参数集级语法、图像参数集级语法以及Slice级语法;
或,
该指定语法可以但不限于包括以下之一或多个:
序列参数集级语法、图像参数集级语法、CTU级语法以及CU级语法。
示例性的,为了提高调整滤波的灵活性和可控性,可以在不同层级实现调整滤波的使能或不使能。
例如,可以从序列参数集级、图像参数集级或/和Slice级,实现调整滤波的使能或不使能,即当图像序列使能调整滤波时,该图像序列中的各图像可以选择性的使能或不使能调整滤波;当图像使能调整滤波时,该图像的各Slice可以选择性的使能或不使能调整滤波。
需要说明的是,当一帧图像包括的Slice的数量为1时,该图像使能调整滤波时,该Slice也使能调整滤波;反之亦然。
同理,还可以从序列参数集级、图像参数集级、CTU级或/和CU级,实现调整滤波的使能或不使能。
在一个示例中,当指定语法的候选级别包括至少两个级别时,基于预设标志位确定指定语法的级别,预设标志位用于指示所述指定语法的级别。
示例性的,当指定语法的候选级别包括至少两个级别时,还可以通过专门的标记位来指示上述指定语法的级别。
例如,当指定语法的级别包括图像参数集级和CTU级时,可以在图像参数集级增加一个标志位,用于指示上述指定语法的级别为图像参数集级或CTU级。
示例性的,上述预设标志位的语法级别与指定语法的候选级别中的非最低级别匹配。
例如,当指定语法的候选级别包括序列参数集级语法和图像参数集级语法时,该预设标志位的语法级别为序列参数集级;
当指定语法的候选级别包括图像参数集级语法和Slice级语法时,该预设标志位的语法级别为图像参数集级;
当指定语法的候选级别包括序列参数集级语法、图像参数集级语法以及Slice级语法时,该预设标志位包括序列参数集级的标志位和图像参数集级的标志位;
当指定语法的候选级别包括图像参数集级语法和CTU级语法时,该预设标志位的语法级别为图像参数集级;
当指定语法的候选级别包括CTU级语法和CU级语法时,该预设标志位的语法级别为CTU级;
当指定语法的候选级别包括图像参数集级语法、CTU级语法以及CU级语法时,该预设标志位包括CTU级的标志位和CU级的标志位,其具体实现可以在下文中结合具体实施例进行说明。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。
下面以滤波处理为DBF滤波处理为例,对本申请实施例提供的技术方案进行说明。
实施例一
以当前块中的像素点i(以目标像素点为像素点i为例)满足垂直DBF滤波处理条件和水平DBF滤波处理条件为例。
步骤1、Y1(i)通过垂直DBF调整滤波后得到AY2(i);
步骤2、AY2(i)通过水平DBF调整滤波后得到AY3(i)。
实施例二
在实施例一的基础上,对于步骤1,实现流程如下:
1.1、按照上文中描述的DBF滤波处w理实现流程中描述的方式,获得边界强度BS值,基于BS值确定滤波系数wj,并基于wj确定是否对像素点i进行垂直DBF调整滤波处理,以及调整滤波系数awj
1.2、若进行垂直DBF调整滤波,则基于调整滤波系数awj和偏移f0v(第一调整滤波偏移量)或f1v(第二调整滤波偏移量)得到调整滤波后的像素值AY2(i);
1.3、若不进行垂直DBF调整滤波处理,则基于原有滤波系数wj得到滤波后的像素值AY2(i)。
示例性的,基于上文中描述的DBF滤波处理实现流程可知,对像素点i进行垂直DBF滤波处理像素值可以为:
Figure BDA0003453627430000171
wj为像素点j的滤波系数,
Figure BDA0003453627430000172
Y1(i)为像素点i(可以称为当前像素点)经过垂直DBF滤波处理前的像素值,若当前像素点处于边界左侧,则Y1(i+j)为当前像素点左侧(j为负数)或右侧(j为正数)第|j|个像素点的像素值;若当前像素点处于边界右侧,则Y1(i+j)为当前像素点右侧(j为负数)或左侧(j为正数)第|j|个像素点的像素值,Y2(i)为当前像素点经过垂直DBF滤波处理后的像素值。
因此,
Figure BDA0003453627430000173
对比滤波系数为:
Figure BDA0003453627430000181
像素点i垂直DBF滤波处理前后的像素值的加权平均值可以为:
Figure BDA0003453627430000182
调整滤波系数为:
Figure BDA0003453627430000183
可以基于像素点滤波前后的像素残差,即
Figure BDA0003453627430000184
对像素点进行分类,并确定是否对像素点i进行调整滤波处理:
Figure BDA0003453627430000185
则对像素点i进行垂直调整滤波处理后的像素值为:
AY2(i)=clip(Yv(i)+f0v)
示例性的,Tv为第一调整滤波阈值,f0v为第一调整滤波偏移量。
Figure BDA0003453627430000186
则对像素点i进行垂直调整滤波处理后的像素值为:
AY2(i)=clip(Yv(i)+f1v)
示例性的,-Tv为第二调整滤波阈值(即第一调整滤波阈值与第二调整滤波阈值互为相反数),f1v为第二调整滤波偏移量。
否则,即
Figure BDA0003453627430000187
不进行垂直DBF调整滤波处理,则:
Figure BDA0003453627430000188
实施例三
在实施例一的基础上,对于步骤2,实现流程如下:
1.1、按照上文中描述的DBF滤波处理实现流程中描述的方式,获得边界强度BS值,基于BS值确定滤波系数wj,并基于wj确定是否对像素点i进行水平DBF调整滤波处理,以及调整滤波系数awj
1.2、若进行水平DBF调整滤波,则基于调整滤波系数awj和偏移f0h(第一调整滤波偏移量)或f1h(第二调整滤波偏移量)得到调整滤波后的像素值AY3(i);
1.3、若不进行水平DBF调整滤波处理,则基于原有滤波系数wj得到滤波后的像素值AY3(i)。
示例性的,基于上文中描述的DBF滤波处理实现流程可知,对于任一像素点,对像素点i进行水平DBF滤波处理像素值可以为:
Figure BDA0003453627430000191
wj为像素点j的滤波系数,
Figure BDA0003453627430000192
Y3(i)为对像素点i进行水平DBF滤波处理前的像素值,即AY2(i),若当前像素点处于边界上方,则Y3(i+j)为当前像素点上方(j为负数)或下方(j为正数)第|j|个像素点的像素值;若当前像素点处于边界下方,则Y3(i+j)为当前像素点下方(j为负数)或上方(j为正数)第|j|个像素点的像素值,Y4(i)为当前像素点经过水平DBF滤波处理后的像素值。
因此,
Figure BDA0003453627430000193
对比滤波系数为:
Figure BDA0003453627430000194
像素点i水平DBF滤波处理前后的像素值的加权平均值可以为:
Figure BDA0003453627430000195
调整滤波系数为:
Figure BDA0003453627430000201
可以基于像素点滤波前后的像素残差,即
Figure BDA0003453627430000202
对像素点进行分类:
Figure BDA0003453627430000203
则对像素点i进行水平调整滤波处理后的像素值为:
AY3(i)=clip(Yh(i)+f0h)
示例性的,Th为第一调整滤波阈值,fOh为第一调整滤波偏移量。
Figure BDA0003453627430000204
则对像素点i进行水平调整滤波处理后的像素值为:
AY3(i)=clip(Yh(i)+f1h)
示例性的,-Th为第二调整滤波阈值(即第一调整滤波阈值与第二调整滤波阈值互为相反数),f1h为第二调整滤波偏移量。
否则,
Figure BDA0003453627430000205
不进行水平DBF调整滤波处理,则:
Figure BDA0003453627430000206
实施例四
在实施例二的基础上,基于BS值确定滤波系数wj,并基于wj确定是否对像素点i进行垂直DBF调整滤波处理,以及调整滤波系数awj,具体实现如下:
示例性的,可以基于滤波系数wj确定对比滤波系数cwj,并基于对比滤波系数cwj确定对比特征值
Figure BDA0003453627430000207
Figure BDA0003453627430000208
Figure BDA0003453627430000209
时,确定需要对像素点i进行垂直DBF调整滤波处理。
示例性的,Tv为第一调整滤波阈值,-Tv为第二调整滤波阈值。
在需要进行垂直DBF调整滤波处理的情况下:
a)、BS=4,对边界两侧各3个像素进行滤波处理;
i、L0/R0:滤波系数wj为:[3,8,10,8,3]/32
Figure BDA0003453627430000211
则调整滤波系数awj为:[3,8,42,8,3]/32,
基于实施例二中
Figure BDA0003453627430000212
的情况下的调整滤波处理策略可知:
AY2(i)=clip(Yv(i)+f0v)
Figure BDA0003453627430000213
因此,L0''=clip((L2*3+L1*8+L0*42+R0*8+R1*3+32)>>6+f0v)
示例性的,L0''为像素点L0经过垂直调整滤波处理后的像素值,下同。
同理,R0''=clip((R2*3+R1*8+R0*42+L0*8+L1*3+32)>>6+f0v)
Figure BDA0003453627430000214
则调整滤波系数awj为:[3,8,42,8,3]/32,
基于实施例二中
Figure BDA0003453627430000215
的情况下的调整滤波处理策略可知:
AY2(i)=clip(Yv(i)+f1v)
Figure BDA0003453627430000216
因此,L0''=clip((L2*3+L1*8+L0*42+R0*8+R1*3+32)>>6+f1v)
同理,R0''=clip((R2*3+R1*8+R0*42+L0*8+L1*3+32)>>6+f1v)
对于L0:
Figure BDA0003453627430000217
Figure BDA0003453627430000218
对于R0:
Figure BDA0003453627430000221
Figure BDA0003453627430000222
即cwj=[3,8,10-32,8,3]/32=[3,8,-22,8,3]/32。
ii、L1/R1:滤波系数wj为:[4,5,4,3]/16,调整滤波系数awj为:[4,21,4,3]/16
Figure BDA0003453627430000223
则:
L1''=clip((L2*4+L1*21+L0*4+R0*3+16)>>5+f0v)
R1''=clip((R2*4+R1*21+R0*4+L0*3+16)>>5+f0v)
Figure BDA0003453627430000224
则:
L1''=clip((L2*4+L1*21+L0*4+R0*3+16)>>5+f1v)
R1''=clip((R2*4+R1*21+R0*4+L0*3+16)>>5+f1v)
示例性的,对比滤波系数cwj为:[4,-11,4,3]/16
iii、L2/R2:滤波系数wj为:[2,2,2,1,1]/8,调整滤波系数awj为:[2,10,2,1,1]/8
Figure BDA0003453627430000225
则:
L2''=clip((L3*2+L2*10+L1*2+L0*1+R0*1+8)>>4+f0v)
R2''=clip((R3*2+R2*10+R1*2+R0*1+L0*1+8)>>4+f0v)
Figure BDA0003453627430000226
则:
L2''=clip((L3*2+L2*10+L1*2+L0*1+R0*1+8)>>4+f1v)
R2''=clip((R3*2+R2*10+R1*2+R0*1+L0*1+8)>>4+f1v)
示例性的,对比滤波系数cwj为:[2,-6,2,1,1]/8。
b)、BS=3,对边界两侧各2个像素进行滤波处理;
i、L0/R0:滤波系数wj为:[1,4,6,4,1]/16,调整滤波系数awj为:[1,4,22,4,1]/16,
Figure BDA0003453627430000227
则:
L0''=clip((L2*1+L1*4+L0*22+R0*4+R1*1+16)>>5+f0v)
R0''=clip((R2*1+R1*4+R0*22+L0*4+L1*1+16)>>5+f0v)
Figure BDA0003453627430000228
则:
L0''=clip((L2*1+L1*4+L0*22+R0*4+R1*1+16)>>5+f1v)
R0''=clip((R2*1+R1*4+R0*22+L0*4+L1*1+16)>>5+f1v)
示例性的,对比滤波系数cwj为:[1,4,-10,4,1]/16。
ii、L1/R1:滤波系数wj为:[3,8,4,1]/16,调整滤波系数awj为:[3,24,4,1]/16,
Figure BDA0003453627430000231
则:
L1''=clip((L2*3+L1*24+L0*4+R0*1+16)>>5+f0v)
R1''=clip((R2*3+R1*24+R0*4+L0*1+16)>>5+f0v)
Figure BDA0003453627430000232
则:
L0''=clip((L2*3+L1*24+L0*4+R0*1+16)>>5+f1v)
R0''=clip((R2*3+R1*24+R0*4+L0*1+16)>>5+f1v)
示例性的,对比滤波系数cwj为:[3,-8,4,1]/16
c)、BS=2,对边界两侧各1个像素进行滤波处理;
L0/R0:滤波系数wj为:[3,10,3]/16,调整滤波系数awj为:[3,26,3]/16,
Figure BDA0003453627430000233
则:
L0''=clip((L1*3+L0*26+R0*3+16)>>5+f0v)
R0''=clip((R1*3+R0*26+L0*3+16)>>5+f0v)
Figure BDA0003453627430000234
则:
L0''=clip((L1*3+L0*26+R0*3+16)>>5+f1v)
R0''=clip((R1*3+R0*26+L0*3+16)>>5+f1v)
d)、BS=1,对边界两侧各1个像素进行滤波处理;
L0/R0:滤波系数wj为:[3,1]/4,调整滤波系数awj为:[7,1]/4,
Figure BDA0003453627430000235
则:
L0''=clip((L0*7+R0*1+4)>>3+f0v)
R0''=clip((R0*7+L0*1+4)>>3+f0v)
Figure BDA0003453627430000236
则:
L0''=clip((L0*7+R0*1+4)>>3+f1v)
R0''=clip((R0*7+L0*1+4)>>3+f1v)
示例性的,对比滤波系数cwj为:[-1,1]/4
e)BS=0不滤波。
Figure BDA0003453627430000241
确定不需要对像素点i进行垂直DBF调整滤波,此时像素点i经过垂直DBF滤波处理后的像素值为:
Figure BDA0003453627430000242
实施例五
在实施例三的基础上,基于BS值确定滤波系数wj,并基于wj确定是否对像素点i进行水平DBF调整滤波处理,以及调整滤波系数awj,具体实现如下:
示例性的,可以基于滤波系数wj确定对比滤波系数cwj,并基于对比滤波系数cwj确定对比特征值
Figure BDA0003453627430000243
Figure BDA0003453627430000244
Figure BDA0003453627430000245
时,确定需要对像素点i进行水平DBF调整滤波处理。
示例性的,Th为第一调整滤波阈值,-Th为第二调整滤波阈值。
在需要进行水平DBF调整滤波处理的情况下:
a)、BS=4,对边界两侧各3个像素进行滤波处理;
i、L0/R0:滤波系数wj为:[3,8,10,8,3]/32
Figure BDA0003453627430000246
则调整滤波系数awj为:[3,8,42,8,3]/32,
基于实施例三中
Figure BDA0003453627430000247
的情况下的调整滤波处理策略可知:
AY3(i)=clip(Yh(i)+f0h)
Figure BDA0003453627430000248
因此,L0''=clip((L2*3+L1*8+L0*42+R0*8+R1*3+32)>>6+f0h)
同理,R0''=clip((R2*3+R1*8+R0*42+L0*8+L1*3+32)>>6+f0h)
Figure BDA0003453627430000249
则调整滤波系数awj为:[3,8,42,8,3]/32,基于实施例三中
Figure BDA0003453627430000251
的情况下的调整滤波处理策略可知:
AY3(i)=clip(Yh(i)+f1h)
Figure BDA0003453627430000252
因此,L0''=clip((L2*3+L1*8+L0*42+R0*8+R1*3+32)>>6+f1h)
同理,R0''=clip((R2*3+R1*8+R0*42+L0*8+L1*3+32)>>6+f1h)
对于L0:
Figure BDA0003453627430000253
Figure BDA0003453627430000254
对于R0:
Figure BDA0003453627430000255
Figure BDA0003453627430000256
即cwj=[3,8,10-32,8,3]/32=[3,8,-22,8,3]/32。
ii、L1/R1:滤波系数wj为:[4,5,4,3]/16,调整滤波系数awj为:[4,21,4,3]/16
Figure BDA0003453627430000257
则:
L1''=clip((L2*4+L1*21+L0*4+R0*3+16)>>5+f0h)
R1''=clip((R2*4+R1*21+R0*4+L0*3+16)>>5+f0h)
Figure BDA0003453627430000258
则:
L1''=clip((L2*4+L1*21+L0*4+R0*3+16)>>5+f1h)
R1''=clip((R2*4+R1*21+R0*4+L0*3+16)>>5+f1h)
示例性的,对比滤波系数cwj为:[4,-11,4,3]/16
iii、L2/R2:滤波系数wj为:[2,2,2,1,1]/8,调整滤波系数awj为:[2,10,2,1,1]/8
Figure BDA0003453627430000259
则:
L2''=clip((L3*2+L2*10+L1*2+L0*1+R0*1+8)>>4+f0h)
R2''=clip((R3*2+R2*10+R1*2+R0*1+L0*1+8)>>4+f0h)
Figure BDA0003453627430000261
则:
L2''=clip((L3*2+L2*10+L1*2+L0*1+R0*1+8)>>4+f1h)
R2''=clip((R3*2+R2*10+R1*2+R0*1+L0*1+8)>>4+f1h)
示例性的,对比滤波系数cwj为:[2,-6,2,1,1]/8。
b)、BS=3,对边界两侧各2个像素进行滤波处理;
i、L0/R0:滤波系数wj为:[1,4,6,4,1]/16,调整滤波系数awj为:[1,4,22,4,1]/16,
Figure BDA0003453627430000262
则:
L0''=clip((L2*1+L1*4+L0*22+R0*4+R1*1+16)>>5+f0h)
R0''=clip((R2*1+R1*4+R0*22+L0*4+L1*1+16)>>5+f0h)
Figure BDA0003453627430000263
则:
L0''=clip((L2*1+L1*4+L0*22+R0*4+R1*1+16)>>5+f1h)
R0''=clip((R2*1+R1*4+R0*22+L0*4+L1*1+16)>>5+f1h)
示例性的,对比滤波系数cwj为:[1,4,-10,4,1]/16。
ii、L1/R1:滤波系数wj为:[3,8,4,1]/16,调整滤波系数awj为:[3,24,4,1]/16,
Figure BDA0003453627430000264
则:
L1''=clip((L2*3+L1*24+L0*4+R0*1+16)>>5+f0h)
R1''=clip((R2*3+R1*24+R0*4+L0*1+16)>>5+f0h)
Figure BDA0003453627430000265
则:
L0''=clip((L2*3+L1*24+L0*4+R0*1+16)>>5+f1h)
R0''=clip((R2*3+R1*24+R0*4+L0*1+16)>>5+f1h)
示例性的,对比滤波系数cwj为:[3,-8,4,1]/16
c)、BS=2,对边界两侧各1个像素进行滤波处理;
L0/R0:滤波系数wj为:[3,10,3]/16,调整滤波系数awj为:[3,26,3]/16,
Figure BDA0003453627430000266
则:
L0''=clip((L1*3+L0*26+R0*3+16)>>5+f0h)
R0''=clip((R1*3+R0*26+L0*3+16)>>5+f0h)
Figure BDA0003453627430000267
则:
L0''=clip((L1*3+L0*26+R0*3+16)>>5+f1h)
R0''=clip((R1*3+R0*26+L0*3+16)>>5+f1h)
d)、BS=1,对边界两侧各1个像素进行滤波处理;
L0/R0:滤波系数wj为:[3,1]/4,调整滤波系数awj为:[7,1]/4,
Figure BDA0003453627430000271
则:
Figure BDA0003453627430000272
Figure BDA0003453627430000273
则:
L0''=clip((L0*7+R0*1+4)>>3+f1h)
R0''=clip((R0*7+L0*1+4)>>3+f1h)
示例性的,对比滤波系数cwj为:[-1,1]/4
e)BS=0不滤波。
Figure BDA0003453627430000274
确定不需要对像素点i进行水平DBF调整滤波处理,此时像素点i经过水平DBF滤波处理后的像素值为:
Figure BDA0003453627430000275
实施例六
对实施例四中的
Figure BDA0003453627430000276
进行简化。
a)、BS=4,对边界两侧各3个像素进行滤波处理;
cwj=[1,-2,1]/4
b)、BS=3,对边界两侧各2个像素进行滤波处理;
cwj=[1,-2,1]/4
c)、BS=2,对边界两侧各1个像素进行滤波处理;
cwj=[1,-2,1]/4
d)、BS=1,对边界两侧各1个像素进行滤波处理;
cwj=[-1,1]/4
e)BS=0不滤波。
此时,若BS=2、3或4,则对比特征值
Figure BDA0003453627430000277
为:
Figure BDA0003453627430000278
即为像素点i用于运动补偿的梯度值,在该情况下,基于当前像素的梯度进行分类,确定是否对当前像素进行滤波调整;
若BS=1,则对比特征值
Figure BDA0003453627430000281
为:
Figure BDA0003453627430000282
当确定了对比特征值时,可以基于该对比特征值和调整滤波阈值确定是否需要对像素点i进行垂直DBF调整滤波处理,并当
Figure BDA0003453627430000283
Figure BDA0003453627430000284
时,确定需要对像素点i进行垂直DBF调整滤波处理。
示例性的,Tv为第一调整滤波阈值,-Tv为第二调整滤波阈值。
在需要进行垂直DBF调整滤波处理的情况下:
a)、BS=4,对边界两侧各3个像素进行滤波处理;
i、L0/R0:滤波系数wj为:[3,8,10,8,3]/32
Figure BDA0003453627430000285
则调整滤波系数awj为:[3,8,42,8,3]/32,
L0''=clip((L2*3+L1*8+L0*42+R0*8+R1*3+32)>>6+f0v)
R0''=clip((R2*3+R1*8+R0*42+L0*8+L1*3+32)>>6+f0v)
Figure BDA0003453627430000286
则调整滤波系数awj为:[3,8,42,8,3]/32,L0''=clip((L2*3+L1*8+L0*42+R0*8+R1*3+32)>>6+f1v)
R0''=clip((R2*3+R1*8+R0*42+L0*8+L1*3+32)>>6+f1v)
ii、L1/R1:滤波系数wj为:[4,5,4,3]/16,调整滤波系数awj为:[4,21,4,3]/16
Figure BDA0003453627430000287
则:
L1''=clip((L2*4+L1*21+L0*4+R0*3+16)>>5+f0v)
R1''=clip((R2*4+R1*21+R0*4+L0*3+16)>>5+f0v)
Figure BDA0003453627430000288
则:
L1''=clip((L2*4+L1*21+L0*4+R0*3+16)>>5+f1v)
R1''=clip((R2*4+R1*21+R0*4+L0*3+16)>>5+f1v)
iii、L2/R2:滤波系数wj为:[2,2,2,1,1]/8,调整滤波系数awj为:[2,10,2,1,1]/8
Figure BDA0003453627430000291
则:
L2''=clip((L3*2+L2*10+L1*2+L0*1+R0*1+8)>>4+f0v)
R2''=clip((R3*2+R2*10+R1*2+R0*1+L0*1+8)>>4+f0v)
Figure BDA0003453627430000292
则:
L2''=clip((L3*2+L2*10+L1*2+L0*1+R0*1+8)>>4+f1v)
R2''=clip((R3*2+R2*10+R1*2+R0*1+L0*1+8)>>4+f1v)
b)、BS=3,对边界两侧各2个像素进行滤波处理;
i、L0/R0:滤波系数wj为:[1,4,6,4,1]/16,调整滤波系数awj为:[1,4,22,4,1]/16,
Figure BDA0003453627430000293
则:
L0''=clip((L2*1+L1*4+L0*22+R0*4+R1*1+16)>>5+f0v)
R0''=clip((R2*1+R1*4+R0*22+L0*4+L1*1+16)>>5+f0v)
Figure BDA0003453627430000294
则:
L0''=clip((L2*1+L1*4+L0*22+R0*4+R1*1+16)>>5+f1v)
R0''=clip((R2*1+R1*4+R0*22+L0*4+L1*1+16)>>5+f1v)
ii、L1/R1:滤波系数wj为:[3,8,4,1]/16,调整滤波系数awj为:[3,24,4,1]/16,
Figure BDA0003453627430000295
则:
L1''=clip((L2*3+L1*24+L0*4+R0*1+16)>>5+f0v)
R1''=clip((R2*3+R1*24+R0*4+L0*1+16)>>5+f0v)
Figure BDA0003453627430000296
则:
L0''=clip((L2*3+L1*24+L0*4+R0*1+16)>>5+f1v)
R0''=clip((R2*3+R1*24+R0*4+L0*1+16)>>5+f1v)
c)、BS=2,对边界两侧各1个像素进行滤波处理;
L0/R0:滤波系数wj为:[3,10,3]/16,调整滤波系数awj为:[3,26,3]/16,
Figure BDA0003453627430000297
则:
L0''=clip((L1*3+L0*26+R0*3+16)>>5+f0v)
R0''=clip((R1*3+R0*26+L0*3+16)>>5+f0v)
Figure BDA0003453627430000301
则:
L0''=clip((L1*3+L0*26+R0*3+16)>>5+f1v)
R0''=clip((R1*3+R0*26+L0*3+16)>>5+f1v)
d)、BS=1,对边界两侧各1个像素进行滤波处理;
L0/R0:滤波系数wj为:[3,1]/4,调整滤波系数awj为:[7,1]/4,
Figure BDA0003453627430000302
则:
L0''=clip((L0*7+R0*1+4)>>3+f0v)
R0''=clip((R0*7+L0*1+4)>>3+f0v)
Figure BDA0003453627430000303
则:
L0''=clip((L0*7+R0*1+4)>>3+f1v)
R0''=clip((R0*7+L0*1+4)>>3+f1v)
e)BS=0不滤波。
Figure BDA0003453627430000304
确定不需要对像素点i进行垂直DBF调整滤波,此时像素点i经过垂直DBF滤波处理后的像素值为:
Figure BDA0003453627430000305
实施例七
对实施例五中的
Figure BDA0003453627430000306
进行简化。
a)、BS=4,对边界两侧各3个像素进行滤波处理;
cwj=[1,-2,1]/4
b)、BS=3,对边界两侧各2个像素进行滤波处理;
cwj=[1,-2,1]/4
c)、BS=2,对边界两侧各1个像素进行滤波处理;
cwj=[1,-2,1]/4
d)、BS=1,对边界两侧各1个像素进行滤波处理;
cwj=[-1,1]/4
e)BS=0不滤波。
此时,若BS=2、3或4,则对比特征值
Figure BDA0003453627430000311
为:
Figure BDA0003453627430000312
即为像素点i用于运动补偿的梯度值,在该情况下,基于当前像素的梯度进行分类,确定是否对当前像素进行滤波调整;
若BS=1,则对比特征值
Figure BDA0003453627430000313
为:
Figure BDA0003453627430000314
当确定了对比特征值时,可以基于该对比特征值和调整滤波阈值确定是否需要对像素点i进行垂直DBF调整滤波处理,并当
Figure BDA0003453627430000315
Figure BDA0003453627430000316
时,确定需要对像素点i进行垂直DBF调整滤波处理。
示例性的,Tv为第一调整滤波阈值,-Tv为第二调整滤波阈值。
在需要进行垂直DBF调整滤波处理的情况下:
a)、BS=4,对边界两侧各3个像素进行滤波处理;
i、L0/R0:滤波系数wj为:[3,8,10,8,3]/32
Figure BDA0003453627430000317
则调整滤波系数awj为:[3,8,42,8,3]/32,
L0''=clip((L2*3+L1*8+L0*42+R0*8+R1*3+32)>>6+f0h)
R0''=clip((R2*3+R1*8+R0*42+L0*8+L1*3+32)>>6+f0h)
Figure BDA0003453627430000318
则调整滤波系数awj为:[3,8,42,8,3]/32,
L0''=clip((L2*3+L1*8+L0*42+R0*8+R1*3+32)>>6+f1h)
R0''=clip((R2*3+R1*8+R0*42+L0*8+L1*3+32)>>6+f1h)
ii、L1/R1:滤波系数wj为:[4,5,4,3]/16,调整滤波系数awj为:[4,21,4,3]/16
Figure BDA0003453627430000319
则:
L1''=clip((L2*4+L1*21+L0*4+R0*3+16)>>5+f0h)
R1''=clip((R2*4+R1*21+R0*4+L0*3+16)>>5+f0h)
Figure BDA00034536274300003110
则:
L1''=clip((L2*4+L1*21+L0*4+R0*3+16)>>5+f1h)
R1''=clip((R2*4+R1*21+R0*4+L0*3+16)>>5+f1h)
iii、L2/R2:滤波系数wj为:[2,2,2,1,1]/8,调整滤波系数awj为:[2,10,2,1,1]/8
Figure BDA0003453627430000321
则:
L2''=clip((L3*2+L2*10+L1*2+L0*1+R0*1+8)>>4+f0h)
R2''=clip((R3*2+R2*10+R1*2+R0*1+L0*1+8)>>4+f0h)
Figure BDA0003453627430000322
则:
L2''=clip((L3*2+L2*10+L1*2+L0*1+R0*1+8)>>4+f1h)
R2''=clip((R3*2+R2*10+R1*2+R0*1+L0*1+8)>>4+f1h)
b)、BS=3,对边界两侧各2个像素进行滤波处理;
i、L0/R0:滤波系数wj为:[1,4,6,4,1]/16,调整滤波系数awj为:[1,4,22,4,1]/16,
Figure BDA0003453627430000323
则:
L0''=clip((L2*1+L1*4+L0*22+R0*4+R1*1+16)>>5+f0h)
R0''=clip((R2*1+R1*4+R0*22+L0*4+L1*1+16)>>5+f0h)
Figure BDA0003453627430000324
则:
L0''=clip((L2*1+L1*4+L0*22+R0*4+R1*1+16)>>5+f1h)
R0''=clip((R2*1+R1*4+R0*22+L0*4+L1*1+16)>>5+f1h)
ii、L1/R1:滤波系数wj为:[3,8,4,1]/16,调整滤波系数awj为:[3,24,4,1]/16,
Figure BDA0003453627430000325
则:
L1''=clip((L2*3+L1*24+L0*4+R0*1+16)>>5+f0h)
R1''=clip((R2*3+R1*24+R0*4+L0*1+16)>>5+f0h)
Figure BDA0003453627430000326
则:
L0''=clip((L2*3+L1*24+L0*4+R0*1+16)>>5+f1h)
R0''=clip((R2*3+R1*24+R0*4+L0*1+16)>>5+f1h)
c)、BS=2,对边界两侧各1个像素进行滤波处理;
L0/R0:滤波系数wj为:[3,10,3]/16,调整滤波系数awj为:[3,26,3]/16,
Figure BDA0003453627430000331
则:
L0''=clip((L1*3+L0*26+R0*3+16)>>5+f0h)
R0''=clip((R1*3+R0*26+L0*3+16)>>5+f0h)
Figure BDA0003453627430000332
则:
L0''=clip((L1*3+L0*26+R0*3+16)>>5+f1h)
R0''=clip((R1*3+R0*26+L0*3+16)>>5+f1h)
d)、BS=1,对边界两侧各1个像素进行滤波处理;
L0/R0:滤波系数wj为:[3,1]/4,调整滤波系数awj为:[7,1]/4,
Figure BDA0003453627430000333
则:
L0''=clip((L0*7+R0*1+4)>>3+f0h)
R0''=clip((R0*7+L0*1+4)>>3+f0h)
Figure BDA0003453627430000334
则:
L0''=clip((L0*7+R0*1+4)>>3+f1h)
R0''=clip((R0*7+L0*1+4)>>3+f1h)
e)BS=0不滤波。
Figure BDA0003453627430000335
确定不需要对像素点i进行水平DBF调整滤波处理,此时像素点i经过水平DBF滤波处理后的像素值为:
Figure BDA0003453627430000336
实施例八
在帧级采用实施例二~实施例七中任一实施例描述的方案
帧级包括图像参数集级或slice级,图像参数集级即一帧图像,而一帧图像可以包括N(N为正整数)个slice。
对于编码端设备,需要在图像头或slice头编码传递如下语法信息,即一帧图像或一个slice采用一套下面的语法(该语法的级别为图像参数集级或slice级),该图像或slice内的所有编码块均复用同一套系数。
示例性的,该一套系数可以包括:调整滤波阈值(可以包括垂直方向调整滤波阈值或/和水平方向调整滤波阈值)以及调整滤波偏移量(可以包括垂直方向调整滤波偏移量或/和水平方向调整滤波偏移量)。
对于解码端设备,需要在图像头或slice头解码如下语法信息。
1、垂直方向调整滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能调整滤波。
1.1、若使能,则需要编解码如下信息:
1.1.1、垂直方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
示例性的,当调整滤波阈值为固定值,如Tv=2,-Tv=-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.1.1和1.1.2中的阈值索引和偏移量索引进行编解码。
2、水平方向调整滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能调整滤波。
2.1、若使能,则需要编解码如下信息:
2.1.1、水平方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
示例性的,当调整滤波阈值为固定值,如Th=2,-Th=-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、若未使能,则不需要对2.1.1和2.1.2中阈值索引和偏移量索引进行编解码。
实施例九
区别于实施例八的,实施例九中,调整滤波参数(包括调整滤波阈值或调整滤波偏移量)以参数集的形式出现,即不再单独编解码增调整波阈值或调整滤波偏移量的索引信息,而是编解码调整滤波阈值和调整滤波偏移量构成的参数集的索引信息。
在帧级采用实施例二~实施例七中任一实施例描述的方案
帧级包括图像参数集级或slice级,图像参数集级即一帧图像,而一帧图像可以包括N(N为正整数)个slice。
对于编码端设备,需要在图像头或slice头编码传递如下语法信息,即一帧图像或一个slice采用一套下面的语法(该语法的级别为图像参数集级或slice级),该图像或slice内的所有编码块均复用同一套系数。
示例性的,该一套系数可以包括:由调整滤波阈值和调整滤波偏移量构成的调整滤波参数集。对于解码端设备,需要在图像头或slice头解码如下语法信息。
1、垂直方向调整滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能调整滤波。
1.1、若使能,则需要编解码如下信息:
1.1.1、垂直方向调整滤波参数索引,垂直方向调整滤波参数可以以参数集的形式出现,该参数索引可以包括但不限于{Tv,f0v,f1v}在参数集候选列表T{Tv,f0v,f1v}中的索引,即基于该索引,可以从参数集候选列表T中确定Tv,f0v和f1v的值。
示例性的,垂直方向调整滤波参数可以为编解码端预设的固定参数集,或,存储的时域上已编码其他帧的垂直方向滤波参数,此时,可以不需要对该参数索引进行编解码。
1.2、若未使能,则不需要对1.1.1中的参数索引进行编解码。
2、水平方向调整滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能调整滤波。
2.1、若使能,则需要编解码如下信息:
2.1.1、水平方向调整滤波参数索引,水平方向调整滤波参数可以以参数集的形式出现,该参数索引可以包括但不限于{Th,f0h,f1h}在参数集候选列表T{Th,f0h,f1h}中的索引,即基于该索引,可以从参数集候选列表T中确定Th,f0h和f1h的值。
示例性的,水平方向调整滤波参数可以为编解码端预设的固定参数集,或,存储的时域上已编码其他帧的水平方向滤波参数,此时,可以不需要对该参数索引进行编解码。
2.2、若未使能,则不需要对2.1.1中的参数索引进行编解码。
实施例十
在CTU级采用实施例二~实施例七中描述的方案
CTU为最大编码单元,对于I帧,CTU的尺寸一般为64*64;对于非I帧(如B帧或P帧),CTU的尺寸一般为128*128。
每个CTU编码一套系数,即该CTU下的每个编码块均采用该套系数,在每个CTU内编解码该系数的具体实现可以参见实施例八或实施例九中编解码相应系数的具体实现。
示例性的,该一套系数可以包括调整滤波阈值以及调整滤波偏移量(对应实施例八),或,由调整滤波阈值和调整滤波偏移量构成的调整滤波参数集(对应实施例九)。
示例性的,对于解码端设备,需要在CTU头解码如下语法信息。
1、垂直方向调整滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能调整滤波。
1.1、若使能,则需要编解码如下信息:
1.1.1、垂直方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
示例性的,当调整滤波阈值为固定值,如Tv=2,-Tv=-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.1.1和1.1.2中的阈值索引和偏移量索引进行编解码。
2、水平方向调整滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能调整滤波。
2.1、若使能,则需要编解码如下信息:
2.1.1、水平方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
示例性的,当调整滤波阈值为固定值,如Th=2,-Th=-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、若未使能,则不需要对2.1.1和2.1.2中阈值索引和偏移量索引进行编解码。
实施例十一
在CU级采用实施例二~实施例七中描述的方案
CU的尺寸一般在4*4~128*128范围内。
每个CU编码一套系数,即该CU下的每个编码块均采用该套系数,在每个CU内编解码该系数的具体实现可以参见实施例八或实施例九中编解码相应系数的具体实现。
示例性的,该一套系数可以包括调整滤波阈值以及调整滤波偏移量(对应实施例八),或,由调整滤波阈值和调整滤波偏移量构成的调整滤波参数集(对应实施例九)。
示例性的,对于解码端设备,需要在每个CU解码如下语法信息。
1、垂直方向调整滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能调整滤波。
1.1、若使能,则需要编解码如下信息:
1.1.1、垂直方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
示例性的,当调整滤波阈值为固定值,如Tv=2,-Tv=-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.1.1和1.1.2中的阈值索引和偏移量索引进行编解码。
2、水平方向调整滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能调整滤波。
2.1、若使能,则需要编解码如下信息:
2.1.1、水平方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
示例性的,当调整滤波阈值为固定值,如Th=2,-Th=-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、若未使能,则不需要对2.1.1和2.1.2中阈值索引和偏移量索引进行编解码。
实施例十二
在CU级采用实施例二~实施例七描述的方案
每个CU均编解码一套如下系数:
1、是否复用周围块的调整滤波参数标记位。
1.1、若复用,则复用周围块,如左侧块或上侧块的调整滤波参数;
1.2、若不复用,则编码如下参数:
1.2.1、垂直方向调整滤波使能标记位,该标记用于标识当前CU在垂直方向是否使能调整滤波。
1.2.1.1、若使能,则需要编解码如下信息:
1.2.1.1.1、垂直方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
示例性的,当调整滤波阈值为固定值,如Tv=2,-Tv=-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.1.1和1.2.1.1.2中的阈值索引和偏移量索引进行编解码。
1.2.2、水平方向调整滤波使能标记,该标记用于标识当前CU在水平方向是否使能调整滤波。
1.2.2.1、若使能,则需要编解码如下信息:
1.2.2.1.1、水平方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
示例性的,当调整滤波阈值为固定值,如Th=2,-Th=-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、若未使能,则不需要对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内编解码系数的具体实现可以参见实施例十一或实施例十二。
实施例十五
可以针对当前块的亮度分量或/和色度分量,采用实施例一~实施例十四中任一实施例描述的方案。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图7,为本申请实施例提供的一种滤波处理装置的硬件结构示意图。该滤波处理装置可包括处理器701、存储有机器可执行指令的机器可读存储介质702。处理器701与机器可读存储介质702可经由系统总线703通信。并且,通过读取并执行机器可读存储介质702中与滤波处理控制逻辑对应的机器可执行指令,处理器701可执行上文描述的滤波处理方法。
本文中提到的机器可读存储介质702可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
如图8所示,从功能上划分,上述滤波处理装置可以包括:
获取单元,用于对于当前块的目标像素点,获取所述目标像素点的对比滤波系数;所述对比滤波系数用于参与判断是否对所述目标像素点进行调整滤波处理;
所述获取单元,还用于当基于所述对比滤波系数,以及调整滤波阈值,确定需要对所述目标像素点进行调整滤波处理时,获取所述目标像素点的调整滤波系数;
滤波处理单元,用于基于所述调整滤波系数对所述目标像素点进行调整滤波处理。
作为一种可能的实施例,所述获取单元,具体用于当确定所述目标像素点满足滤波处理条件时,获取所述目标像素点的对比滤波系数;
所述获取单元,还用于在所述获取所述目标像素点的对比滤波系数之后,基于所述对比滤波系数,以及调整滤波阈值,确定是否需要对所述目标像素点进行调整滤波处理。
作为一种可能的实施例,所述获取单元,具体用于:
基于所述对比滤波系数,以及所述目标像素点的参考像素的像素值,确定对比特征值;
当所述对比特征值大于第一调整滤波阈值,或,所述对比特征值小于第二调整滤波阈值时,确定需要对所述目标像素点进行调整滤波处理;
所述第一调整滤波阈值大于所述第二调整滤波阈值。
作为一种可能的实施例,所述滤波处理单元,具体用于:
当所述对比特征值大于第一调整滤波阈值时,基于所述调整滤波系数以及第一调整滤波偏移量,对所述目标像素点进行调整滤波处理;
当所述对比特征值小于第二调整滤波阈值时,基于所述调整滤波系数以及第二调整滤波偏移量,对所述目标像素点进行调整滤波处理。
作为一种可能的实施例,如图9所示,所述装置还包括
编码/解码单元,用于对阈值索引进行编码/解码,所述阈值索引用于表征所述第一调整滤波阈值或所述第二调整滤波阈值在阈值候选列表中的位置;
以及,对偏移量索引进行编码/解码,所述偏移量索引用于表征所述第一调整滤波偏移量或所述第二调整滤波偏移量在偏移量候选列表中的位置。
或者,
编码/解码单元,用于对调整滤波参数集索引进行编码/解码,所述调整滤波参数集索引用于表征所述第一调整滤波阈值、所述第二调整滤波阈值、所述第一调整滤波偏移量以及所述第二调整滤波偏移量对应的调整滤波参数集在调整滤波参数集候选列表中的位置。
作为一种可能的实施例,所述第一调整滤波阈值和所述第二调整滤波阈值互为相反数;
或/和,所述第一调整滤波偏移量和所述第二调整滤波偏移量互为相反数。
作为一种可能的实施例,所述获取单元,还用于当所述对比特征值小于等于所述第一调整滤波阈值,且大于等于所述第二调整滤波阈值时,确定不需要对所述目标像素点进行调整滤波处理。
作为一种可能的实施例,所述获取单元,具体用于:
确定所述目标像素点的滤波系数;
基于所述目标像素点的滤波系数确定所述目标像素点的对比滤波系数。
作为一种可能的实施例,所述获取单元,具体用于通过以下策略实现基于所述目标像素点的滤波系数确定所述目标像素点的对比滤波系数:
Figure BDA0003453627430000411
其中,cwj为像素点j的对比滤波系数,wj为像素点j的滤波系数,当j=0时,像素点j为所述目标像素点,若所述目标像素点为边界左侧或上方的像素点,则当j=-n时,像素点j为所述目标像素点左侧或上方的第n个像素点;当j=m时,像素点j为所述目标像素点右侧或下方的第m个像素点;若所述目标像素点为边界右侧或下方的像素点,则当j=-n时,像素点j为所述目标像素点右侧或下方的第n个像素点;当j=m时,像素点j为所述目标像素点左侧或上方的第m个像素点,m,n为正整数。
作为一种可能的实施例,所述获取单元,具体用于:
基于所述对比滤波系数,以及所述目标像素点的参考像素的像素值,确定所述目标像素点的参考像素的像素值的加权和;
将所述加权和确定为所述对比特征值。
作为一种可能的实施例,所述获取单元,具体用于:
基于所述对比滤波系数,以及所述目标像素点的参考像素的像素值,确定所述目标像素点用于运动补偿的梯度值;
将所述梯度值确定为所述对比特征值。
作为一种可能的实施例,所述获取单元,具体用于:
基于所述目标像素点的滤波系数确定所述目标像素点的调整滤波系数。
作为一种可能的实施例,所述获取单元,具体用于通过以下策略实现基于所述目标像素点的滤波系数确定所述目标像素点的调整滤波系数:
Figure BDA0003453627430000421
其中,awj为像素点j的调整滤波系数,wj为像素点j的滤波系数,当j=0时,像素点j为所述目标像素点,若所述目标像素点为边界左侧或上方的像素点,则当j=-n时,像素点j为所述目标像素点左侧或上方的第n个像素点;当j=m时,像素点j为所述目标像素点右侧或下方的第m个像素点;若所述目标像素点为边界右侧或下方的像素点,则当j=-n时,像素点j为所述目标像素点右侧或下方的第n个像素点;当j=m时,像素点j为所述目标像素点左侧或上方的第m个像素点,m,n为正整数。
作为一种可能的实施例,所述滤波处理单元,具体用于:
当调整滤波处理后的像素值大于预设取值范围的上限时,将所述调整滤波处理后的像素值设置为所述预设取值范围的上限;
当调整滤波处理后的像素值小于预设取值范围的下限时,将所述调整滤波处理后的像素值设置为所述预设取值范围的下限。
作为一种可能的实施例,所述获取单元,具体用于:
当所述当前块使能调整滤波时,获取所述目标像素点的对比滤波系数。
作为一种可能的实施例,利用指定语法标识所述当前块是否使能调整滤波;
所述指定语法包括以下之一或多个:
序列参数集级语法、图像参数集级语法以及片Slice级语法;
或,
所述指定语法包括以下之一或多个:
序列参数集级语法、图像参数集级语法、编码树单元CTU级语法以及编码单元CU级语法。
作为一种可能的实施例,当所述指定语法的候选级别包括至少两个级别时,基于预设标志位确定所述指定语法的级别,所述预设标志位用于指示所述指定语法的级别。
作为一种可能的实施例,所述预设标志位的语法级别与所述指定语法的候选级别中的非最低级别匹配。
作为一种可能的实施例,当所述指定语法的候选级别包括序列参数集级语法和图像参数集级语法时,所述预设标志位的语法级别为序列参数集级;
当所述指定语法的候选级别包括图像参数集级语法和Slice级语法时,所述预设标志位的语法级别为图像参数集级;
当所述指定语法的候选级别包括序列参数集级语法、图像参数集级语法以及Slice级语法时,所述预设标志位包括序列参数集级的标志位和图像参数集级的标志位;
当所述指定语法的候选级别包括图像参数集级语法和CTU级语法时,所述预设标志位的语法级别为图像参数集级;
当所述指定语法的候选级别包括CTU级语法和CU级语法时,所述预设标志位的语法级别为CTU级;
当所述指定语法的候选级别包括图像参数集级语法、CTU级语法以及CU级语法时,所述预设标志位包括CTU级的标志位和CU级的标志位。
作为一种可能的实施例,所述滤波处理包括垂直去块滤波DBF滤波处理、水平DBF滤波处理、样本自适应补偿SAO滤波处理或自适应环路滤波ALF滤波处理。
在一些实施例中,本申请还提供了一种摄像机设备,包括上述任一实施例中的滤波处理装置,该装置可以应用在编码装置中,也可以用在解码装置中。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (8)

1.一种滤波处理方法,其特征在于,包括:
对于当前块中的像素点i,当所述像素点i的满足垂直去块调整滤波处理条件时,对所述像素点i的像素值Y1(i)进行垂直去块调整滤波后得到经过垂直去块调整滤波处理后的像素值AY2(i);
当所述像素点i的满足水平去块调整滤波处理条件时,对经过垂直去块调整滤波处理后的像素值AY2(i)进行水平去块调整滤波后得到经过水平去块调整滤波处理后的像素值AY3(i);
其中,所述对所述像素点i的像素值Y1(i)进行垂直去块调整滤波后得到经过垂直去块调整滤波处理后的像素值AY2(i),包括:
基于调整滤波系数awj和偏移第一垂直方向调整滤波偏移量f0v 或第二垂直方向调整滤波偏移量f1v ,对所述像素点i的像素值Y1(i)进行垂直去块调整滤波后得到经过垂直去块调整滤波处理后的像素值AY2(i);
所述对经过垂直去块调整滤波处理后的像素值AY2(i)进行水平去块调整滤波后得到经过水平去块调整滤波处理后的像素值AY3(i),包括:
基于调整滤波系数awj和偏移第一水平方向调整滤波偏移量f0h或第二水平方向调整滤波偏移量f1h ,对经过垂直去块调整滤波处理后的像素值AY2(i)进行水平去块调整滤波后得到经过水平去块调整滤波处理后的像素值AY3(i)。
2.根据权利要求1所述的方法,其特征在于,利用指定语法标识所述当前块是否使能调整滤波;
所述指定语法包括图像参数集级语法。
3.根据权利要求2所述的方法,其特征在于,同一图像内所有编码块均复用同一套系数;
该一套系数包括调整滤波阈值以及调整滤波偏移量。
4.根据权利要求3所述的方法,其特征在于,所述调整滤波阈值包括垂直方向调整滤波阈值或/和水平方向调整滤波阈值;
所述调整滤波偏移量包括垂直方向调整滤波偏移量或/和水平方向调整滤波偏移量。
5.根据权利要求3所述的方法,其特征在于,调整滤波阈值候选列表为{1,2};
调整滤波偏移量候选列表为{1,2,3,4}。
6.根据权利要求2所述的方法,其特征在于,当所述滤波处理方法应用于解码端设备时,所述方法还包括:
在图像头解码垂直方向调整滤波使能标记,该标记用于标识当前图像在垂直方向是否使能调整滤波;
若当前图像在垂直方向使能调整滤波,则解码垂直方向调整滤波阈值索引、垂直方向调整滤波偏移量索引;
和/或,
在图像头解码水平方向调整滤波使能标记,该标记用于标识当前图像在水平方向是否使能调整滤波;
若当前图像在水平方向使能调整滤波,则解码水平方向调整滤波阈值索引、水平方向调整滤波偏移量索引。
7.一种滤波处理装置,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现如权利要求1-6任一项所述的方法。
8.一种机器可读存储介质,其特征在于,所述存储介质内存储有能够被处理器执行的机器可执行指令,所述机器可执行指令被处理器执行时实现如权利要求1-6任一项所述的方法。
CN202111673286.6A 2020-07-03 2020-07-03 滤波处理方法、装置及机器可读存储介质 Active CN114501004B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111673286.6A CN114501004B (zh) 2020-07-03 2020-07-03 滤波处理方法、装置及机器可读存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010635665.5A CN113891075B (zh) 2020-07-03 2020-07-03 滤波处理方法及装置
CN202111673286.6A CN114501004B (zh) 2020-07-03 2020-07-03 滤波处理方法、装置及机器可读存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202010635665.5A Division CN113891075B (zh) 2020-07-03 2020-07-03 滤波处理方法及装置

Publications (2)

Publication Number Publication Date
CN114501004A CN114501004A (zh) 2022-05-13
CN114501004B true CN114501004B (zh) 2023-04-28

Family

ID=79013220

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010635665.5A Active CN113891075B (zh) 2020-07-03 2020-07-03 滤波处理方法及装置
CN202111673286.6A Active CN114501004B (zh) 2020-07-03 2020-07-03 滤波处理方法、装置及机器可读存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010635665.5A Active CN113891075B (zh) 2020-07-03 2020-07-03 滤波处理方法及装置

Country Status (1)

Country Link
CN (2) CN113891075B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640845B (zh) 2021-02-23 2023-02-28 杭州海康威视数字技术股份有限公司 编解码方法、装置及其设备
CN115660935B (zh) * 2022-10-08 2024-03-01 芯动微电子科技(珠海)有限公司 一种分块渲染模式图形处理方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5490404B2 (ja) * 2008-12-25 2014-05-14 シャープ株式会社 画像復号装置
WO2012071417A1 (en) * 2010-11-24 2012-05-31 Thomson Licensing Adaptive loop filtering
CN105992011B (zh) * 2015-02-26 2019-04-09 扬智科技股份有限公司 环路滤波的计算方法及装置
CN106060564B (zh) * 2016-06-16 2019-02-12 北京大学深圳研究生院 帧内预测参考像素点滤波控制方法、装置及编码器
JP7036628B2 (ja) * 2017-03-10 2022-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN108810552B (zh) * 2017-04-28 2021-11-09 华为技术有限公司 图像预测方法和相关产品
CN114979636B (zh) * 2017-10-09 2023-10-27 佳能株式会社 用于对样本块进行滤波的方法、装置和存储介质

Also Published As

Publication number Publication date
CN114501004A (zh) 2022-05-13
CN113891075B (zh) 2023-02-28
CN113891075A (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
CN107197256B (zh) 用于对图像的序列进行编码和解码的方法和装置
US11190765B2 (en) Method and apparatus for video encoding and decoding using pattern-based block filtering
JP5524423B2 (ja) 効率的なサンプル適応オフセットの装置及び方法
CN114501004B (zh) 滤波处理方法、装置及机器可读存储介质
CN114222119B (zh) 增强滤波方法、装置及机器可读存储介质
JP2024060091A (ja) 画像強調方法及び装置
CN114125445B (zh) 解码方法、装置、设备及机器可读存储介质
CN114640847B (zh) 编解码方法、装置及其设备
CN114640845B (zh) 编解码方法、装置及其设备
CN113766225B (zh) 编码方法、解码方法及装置
RU2803189C1 (ru) Способ и устройство для улучшения качества изображения
RU2810607C1 (ru) Способ и устройство для улучшения изображения
CN113132724A (zh) 编码、解码方法、装置及其设备
RU2803473C2 (ru) Способ и устройство для интра-предсказания, в которых блок предсказания разделяют на субблоки и предсказывают в субблоках
RU2803425C2 (ru) Способ и устройство для интра-предсказания, в которых блок предсказания разделяют на субблоки и предсказывают в субблоках
RU2803474C2 (ru) Способ и устройство для интра-предсказания, в которых блок предсказания разделяют на субблоки и предсказывают в субблоках
CN112911312B (zh) 一种编码、解码方法、装置及其设备
US20240195964A1 (en) Method of restoration in subblock units, and video decoding apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40064930

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant