滤波处理方法及装置与流程

文档序号:28320009发布日期:2022-01-04 22:12阅读:341来源:国知局
滤波处理方法及装置与流程

1.本技术涉及视频图像编解码技术,尤其涉及一种滤波处理方法及装置。


背景技术:

2.完整的视频编码一般包括预测、变换、量化、熵编码、滤波等操作。
3.目前,标准中常用滤波技术包括去块滤波(deblocking filter,简称dbf)技术、样本自适应补偿(sample adaptive offset,简称sao)技术以及自适应环路滤波(adaptive loop filter,简称alf)技术。
4.dbf技术用于去除分块编码产生的块边界效应;sao技术通过基于样本的像素值和周围块的梯度值进行分类,对于每个类别的像素值加上不同的补偿值,使得重建图像更接近于原始图像;alf技术通过维纳滤波器,对重建图像进行增强滤波,使得重建图像更接近于原始图像。
5.然而实践发现,上述dbf、sao以及alf滤波技术,均是基于当前像素值,或当前像素值和周围像素值的关系进行分类,再基于不同类别进行不同滤波操作,其可能会出现过滤波现象,即滤波后的像素值远大于或远小于滤波前的像素值,也远大于或远小于原始像素值。


技术实现要素:

6.有鉴于此,本技术提供一种滤波处理方法及装置。
7.具体地,本技术是通过如下技术方案实现的:
8.根据本技术实施例的第一方面,提供一种滤波处理方法,包括:
9.对于当前块的目标像素点,获取所述目标像素点的对比滤波系数;所述对比滤波系数用于参与判断是否对所述目标像素点进行调整滤波处理;
10.当基于所述对比滤波系数,以及调整滤波阈值,确定需要对所述目标像素点进行调整滤波处理时,获取所述目标像素点的调整滤波系数,并基于所述调整滤波系数对所述目标像素点进行调整滤波处理。
11.根据本技术实施例的第二方面,提供一种滤波处理装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器存放有计算机程序,所述处理器被所述计算机程序促使:
12.对于当前块的目标像素点,获取所述目标像素点的对比滤波系数;所述对比滤波系数用于参与判断是否对所述目标像素点进行调整滤波处理;
13.当基于所述对比滤波系数,以及调整滤波阈值,确定需要对所述目标像素点进行调整滤波处理时,获取所述目标像素点的调整滤波系数,并基于所述调整滤波系数对所述目标像素点进行调整滤波处理。
14.本技术实施例的滤波处理方法,对于当前块的目标像素点,获取目标像素点的对比滤波系数,当基于对比滤波系数,以及调整滤波阈值,确定需要对目标像素点进行调整滤
波处理时,获取目标像素点的调整滤波系数,并基于调整滤波系数对目标像素点进行调整滤波处理,提升了图像质量,提高了编解码性能。
附图说明
15.图1a~1b是本技术示例性实施例示出的块划分的示意图;
16.图2是本技术示例性实施例示出一种编解码方法的示意图;
17.图3是本技术示例性实施例示出一种dbf滤波像素示意图;
18.图4是本技术示例性实施例示出一种滤波处理方法的流程示意图;
19.图5a是本技术示例性实施例示出一种确定是否需要对目标像素点进行调整滤波处理的流程示意图;
20.图5b是本技术示例性实施例示出另一种确定是否需要对目标像素点进行调整滤波处理的流程示意图;
21.图6是本技术示例性实施例示出一种获取对比滤波系数的流程示意图;
22.图7是本技术示例性实施例示出一种滤波处理装置的硬件结构示意图;
23.图8是本技术示例性实施例示出一种滤波处理装置的功能结构示意图;
24.图9是本技术示例性实施例示出另一种滤波处理装置的功能结构示意图。
具体实施方式
25.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
26.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
27.为了使本领域技术人员更好地理解本技术实施例提供的技术方案,下面先对现有视频编码标准中块划分技术、现有帧内子块划分方案以及本技术实施例涉及的部分技术术语进行简单说明。
28.为了使本领域技术人员更好地理解本技术实施例提供的技术方案,下面先对本技术实施例涉及的部分技术术语以及现有视频编解码的主要流程进行简单说明。
29.一、技术术语
30.1、率失真原则(rate-distortion optimized,简称rdo):评价编码效率的指标包括:码率和峰值信噪比(peak signal to noise ratio,简称psnr)。码率越小,则压缩率越大;psnr越大,重建图像质量越好。在模式选择的时候,判别公式实质上也就是对二者的综合评价。
31.模式对应的代价:j(mode)=d+λ*r。其中,d表示失真(distortion),通常使用sse(差值均方和)指标来衡量,sse是指重建块与源图像块的差值均方和;λ是拉格朗日乘子;r就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。
32.在模式选择时,若使用rdo原则去对编码模式做比较决策,通常可以保证编码性能最佳。
33.2、序列参数集(sequence parameter set,简称sps):该集合中,存在确定整个序列中是否允许某些工具(方法)开关的标记位。若该标记位为1,则该视频序列中,允许启用对应工具(方法);否则,该工具(方法)无法在该序列的编码过程中启用。
34.3、图像参数集(picture parameter set,简称pps):该集合中,存在确定某一帧图像中是否允许某些工具(方法)开关的标记位。若该标记位为1,则该图片中,允许启用对应工具(方法);否则,该工具(方法)无法在该图片的编码过程中启用。
35.4、图像头(picture header):针对某一帧图像的共同信息。
36.5、片头(slice header):一帧图像,可以包含1个slice或多个slice。在片头信息中,存在确定某个slice中是否允许某些工具(方法)开关的标记位。若该标记位为1,则该slice中,允许启用对应工具(方法);否则,该工具(方法)无法在该slice的编码过程中启用。
37.6、sao滤波:用于消除振铃效应。振铃效应是由于高频交流系数的量化失真,解码后会在边缘周围产生波纹的现象,变换块尺寸越大振铃效应越明显。sao的基本原理就是对重构曲线中的波峰像素加上负值进行补偿,波谷像素加上正值进行补偿。sao以ctu为基本单位,包括两大类补偿形式:边界补偿(edge offset,简称eo)和边带补偿(band offset,简称bo),此外还引入了参数融合技术。
38.7、alf滤波:根据原始信号和失真信号计算得到均方意义下的最优滤波器,即维纳滤波器。alf的滤波器一般为7x7或5x5的菱形滤波器。
39.二、现有视频编码标准中块划分技术
40.在hevc中,一个编码树单元(coding tree unit,简称ctu)使用四叉树递归划分成cu。在叶子节点cu级确定是否使用帧内编码或者帧间编码。cu可以进一步划分成两个或者四个预测单元(prediction unit,简称pu),同一个pu内使用相同的预测信息。在预测完成后得到残差信息后,一个cu可进一步四叉划分成多个变换单元(transform units,简称tu)。例如,本技术中的当前图像块即为一个pu。
41.但是在最新提出的通用视频编码(versatile video coding,简称vvc)中的块划分技术有了较大变化。一种混合了二叉树/三叉树/四叉树的划分结构取代了原先的划分模式,取消了原先cu,pu,tu的概念的区分,支持了cu的更灵活的划分方式。其中,cu可以是正方形也可以是矩形划分。ctu首先进行四叉树的划分,然后四叉树划分的叶子节点可以进一步进行二叉树和三叉树的划分。图1a所示,cu共有五种划分类型,分别为四叉树划分,水平二叉树划分,垂直二叉树划分,水平三叉树划分和垂直三叉树划分,如图1b所示,一种ctu内的cu划分可以是上述五种划分类型的任意组合由上可知不同的划分方式,使得各个pu的形状有所不同,如不同尺寸的矩形,正方形。
42.三、现有视频编解码的主要流程
43.请参考图2中的(a),以视频编码为例,视频编码一般包括预测、变换、量化、熵编码等过程,进一步地,编码过程还可以按照图2中的(b)的框架来实现。
44.其中,预测可以分为帧内预测和帧间预测,帧内预测是利用周围已编码块作为参考对当前未编码块进行预测,有效去除空域上的冗余。帧间预测是使用邻近已编码图像对
当前图像进行预测,有效去除时域上的冗余。
45.变换是指将图像从空间域转换至变换域,利用变换系数对图像加以表示。绝大多数图像都含有较多平坦区域和缓慢变化的区域,适当的变换可以使图像由在空间域的分散分布转换为在变换域的相对集中分布,去除信号之间的频域相关性,配合量化过程,可以有效压缩码流。
46.熵编码是一种无损编码方式,可以把一系列元素符号转变为一个用来传输或存储的二进制码流,输入的符号可能包括量化后的变换系数、运动矢量信息、预测模式信息,变换量化相关语法等。熵编码可以有效地去除视频元素符号的冗余。
47.上述是以编码为例进行介绍,视频解码与视频编码的过程是相对的,即视频解码通常包括熵解码、预测、反量化、反变换、滤波等过程,各个过程的实现原理与熵编码相同或相似。
48.下面再对dbf滤波处理的实现进行说明。
49.dbf滤波处理包括两个过程:滤波决策和滤波操作。
50.滤波决策包括:1)获取边界强度(即bs值);2)滤波开关决策;3)滤波强弱选择。
51.对于色度分量,仅存在步骤1),且直接复用亮度分量的bs值。
52.对于色度分量,只有bs值为2时(即当前块两侧的块至少有一个采用intra(帧内)模式),才进行滤波操作。
53.滤波操作包括:1)对于亮度分量的强滤波和弱滤波;2)对于色度分类的滤波处理。
54.本技术中,dbf滤波处理可以以8*8为单位进行水平边界滤波处理(可以称为水平dbf滤波处理)和垂直边界滤波处理(可以称为垂直dbf滤波处理),且最多对边界两侧的3个像素点进行滤波处理,且最多利用到边界两侧的4个像素点进行滤波处理,因此,不同块的水平/垂直dbf滤波处理互不影响,可并行进行。
55.如图3所示,对于当前块(以8*8为例),先进行当前块左侧3列和左边块右侧3列像素点的垂直dbf滤波处理,再进行当前块上侧3行和上边块下侧3行像素点的水平dbf滤波处理。
56.示例性的,对于需要分别进行垂直dbf滤波处理和水平dbf滤波处理的像素点,通常先进行垂直dbf滤波处理,后进行水平dbf滤波处理。
57.具体流程如下:
58.s1、以4*4为单位分别计算水平方向和垂直方向的edge condition(边缘条件)值:
59.1.1、对于cu边界,且为8*8边界,edge condition值为2(对亮度分量和色度分量均进行滤波处理);
60.1.2、对于pu边界(如2n*hn的内部1/4、1/2、3/4水平线),且为8*8边界,edge condition值为1(对亮度分量进行滤波处理,不对色度分量进行滤波处理);
61.1.3、1.1和1.2之外的情况下,edge condition值为0。
62.s2、以4*4为单位(滤波处理以8*8单位,只是以4*4为单位存储edgecondition值等信息),完成所有块的垂直滤波。当edge condition值不为0时,进行如下滤波处理过程:
63.2.1、进行亮度分量滤波处理过程(垂直滤波处理处理垂直边界的4行,水平滤波处理,处理水平边界的4列):
64.2.1.1、先判断是否跳过滤波处理过程;
65.示例性的,边界两侧的块为非帧内模式块、无残差、且运动一致时才跳过滤波,否则均需要进行滤波处理。
66.2.1.2、若不跳过滤波处理过程,则进行如下处理:
67.2.1.2.1、计算fl(flatness left,左侧平滑度,可选值为0、2、3)和fr(flatnessright,右侧平滑度,可选值为0、2、3),用于判断两侧内部的平滑程度:
68.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。
69.示例性的,abs()为取绝对值运算。
70.2.1.2.1.2、fr的计算类似。
71.2.1.2.2、基于fs(fs=fl+fr)确定bs值(fs的可选值为0、2、3、4、5、6,bs的可选值为0、1、2、3、4):
72.2.1.2.2.1、fs≤2(最多有一边中等平滑),bs=0;
73.2.1.2.2.2、fs=3(有且只有一边高度平滑),bs=(abs(l1-r1)<β)?1:0,即若abs(l1-r1)<β成立,则bs=1;否则bs=0;
74.2.1.2.2.3、fs=4(两边均中等平滑),bs=(fl==2)?2:1,即若fl=2,则bs=2;否则,即fl≠2,则bs=1;
75.2.1.2.2.4、fs=5(一边中等平滑,另一边高度平滑),bs=(r1==r0&&l0==l1)?3:2,即若像素点r1的像素值等于像素点r0的像素值,且像素点l0的像素值等于像素点l1的像素值,则bs=3;否则,bs=2;
76.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。
77.2.1.2.3、基于bs值,确定滤波系数,以及滤波像素个数。
78.示例性的,假设边界左侧或上侧的4个像素点分别为l0-l3(如图3所示,图中以左侧为例);边界右侧或下侧的4个像素点为r0-r3(如图3所示,图中以右侧为例)。则对于亮度分量(下面下划线位置的系数为当前像素点的滤波系数):
79.2.1.2.3.1bs=4,对边界两侧各3个像素进行滤波:
80.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。
[0081]
其中,若w
j
为滤波系数,则j=-2(当前像素点左侧的第2个像素点,即l2)时,w
j
=3/32;j=-1(当前像素点左侧的第1个像素点,即l1)时,w
j
=8/32;j=0(当前像素点,即l0)时,w
j
=10/32;j=1(当前像素点右侧的第1个像素点,即r0)时,w
j
=8/32;j=2(当前像素点右侧的第2个像素点,r1)时,w
j
=8/32。
[0082]
为了确定像素点r0滤波后的像素值,需要分别使用像素点r2、r1、r0、l0和l1的像素值进行加权求和,加权系数依次为3/32、8/32、10/32、8/32以及3/32。其中,若w
j
为滤波系数,则j=-2(当前像素点右侧的第2个像素点,即r2)时,w
j
=3/32;j=-1(当前像素点右侧的第1个像素点,即r1)时,w
j
=8/32;j=0(当前像素点,即r0)时,w
j
=10/32;j=1(当前像素点左侧的第1个像素点,即l0)时,w
j
=8/32;j=2(当前像素点左侧的第2个像素点,l1)时,w
j
=8/32。
[0083]
即:l0'=clip(l2*3+l1*8+l0*10+r0*8+r1*3+16)>>5)
[0084]
l0'为像素点l0滤波处理后的像素值,l0~l2为像素点l0~l2滤波前的像素值,r0~r1为像素点r0~r1的像素值,下同。
[0085]
示例性的,“>>”为右移位运算,用于替代除法,即“>>5”相当于除以25(即32)。
[0086]
此外,本技术实施例中,乘法(即“*”)在实际实现时可以通过左移位的方式来替代。例如,a乘以4可以通过左移2位替代,即通过a<<2替代;a乘以10,可以通过(a<<3)+(a<<1)替代。
[0087]
示例性的,“<<”为左移位运算,用于替代乘法,即“a<<2”相当于乘以22(即4)。
[0088]
示例性的,考虑到通过移位的方式实现除法运算时,对于运算结果通常直接取整,即当运算结果为n~n+1之间的非整数时,取结果为n,而考虑到当小数部分大于0.5时,取结果为n+1的准确性会更高,因此,为了提高所确定的像素值的准确性,进行计算时,可以为上述加权和的分子加上分母(即被除数)的1/2,以达到四舍五入的效果。
[0089]
以上述l0'的计算为例,右移5位相当于除以25(即32),因此,可以为上述加权和的分子加上16。
[0090]
r0'=clip((r2*3+r1*8+r0*10+l0*8+l1*3+16)>>5)
[0091]
示例性的,clip(x)为修剪操作,当x超出预设数值范围的上限时,将x的值设置为该预设数值范围的上限;当x低于预设数值范围的下限时,将x的值设置为该预设数据范围的下限。
[0092]
2.1.2.3.1.2、l1/r1:滤波系数[4,5,4,3]/16
[0093]
l1'=clip((l2*4+l1*5+l0*4+r0*3+8)>>4)
[0094]
r1'=clip((r2*4+r1*5+r0*4+l0*3+8)>>4)
[0095]
2.1.2.3.1.3、l2/r2:滤波系数[2,2,2,1,1]/8
[0096]
l2'=clip((l3*2+l2*2+l1*2+l0*1+r0*1+4)>>3)
[0097]
r2'=clip((r3*2+r2*2+r1*2+r0*1+l0*1+4)>>3)
[0098]
2.1.2.3.2、bs=3,对边界两侧各2个像素进行滤波:
[0099]
2.1.2.3.2.1、l0/r0:滤波系数[1,4,6,4,1]/16
[0100]
l0'=clip(l2*1+l1*4+l0*6+r0*4+r1*1+8)>>4
[0101]
r0'=clip(r2*1+r1*4+r0*6+l0*4+l1*1+8)>>4
[0102]
2.1.2.3.2..2、l1/r1:滤波系数[3,8,4,1]/16
[0103]
l1'=clip((l2*3+l1*8+l0*4+r0*1+8)>>4)
[0104]
r1'=clip((r2*3+r1*8+r0*4+l0*1+8)>>4)
[0105]
2.1.2.3.3、bs=2,对边界两侧各1个像素进行滤波:
[0106]
2.1.2.3.3.1、l0/r0:滤波系数[3,10,3]/16
[0107]
l0'=clip(l1*3+l0*10+r0*3+8)>>4
[0108]
r0'=clip(r1*3+r0*10+l0*3+8)>>4
[0109]
2.1.2.3.4、bs=1,对边界两侧各1个像素进行滤波:
[0110]
2.1.2.3.4.1、l0/r0:滤波系数[3,1]/4
[0111]
l0'=clip(l0*3+r0*1+2)>>2
[0112]
r0'=clip(r0*3+l0*1+2)>>2
[0113]
2.1.2.3.5、bs=0不滤波。
[0114]
2.2、edge condition值为2,则当前4*4块处于cu边界,当该cu为16*16块时,进行色度滤波处理。色度滤波处理过程如下:
[0115]
2.2.1、判断是否需要进行滤波处理,过程与亮度分量一样;
[0116]
2.2.2、若需要进行滤波处理,则分别计算fl、fr。再基于fl和fr得到fs。基于fs获得bs值。该过程也和亮度分量一样;
[0117]
2.2.3、获得的色度分量的bs值减1,则bs可选值为3、2、1、0。基于bs值进行色度分量的滤波处理,具体流程如下:
[0118]
2.2.3.1、bs=3,对边界两侧各2个像素进行滤波:
[0119]
2.2.3.1.1、l0/r0:滤波系数[3,10,3]/16
[0120]
l0'=clip(l1*3+l0*10+r0*3+8)>>4
[0121]
r0'=clip(r1*3+r0*10+l0*3+8)>>4
[0122]
2.2.3.1.2、l1/r1:滤波系数[3,8,3,2]/16
[0123]
l1'=clip((l2*3+l1*8+l0*3+r0*2+8)>>4)
[0124]
r1'=clip((r2*3+r1*8+r0*3+l0*2+8)>>4)
[0125]
2.2.3.2、bs=2或1,对边界两侧各1个像素进行滤波:
[0126]
2.2.3.2.1、l0/r0:滤波系数[3,10,3]/16
[0127]
l0'=clip(l1*3+l0*10+r0*3+8)>>4
[0128]
r0'=clip(r1*3+r0*10+l0*3+8)>>4
[0129]
2.2.3.3、bs=0,不进行滤波处理。
[0130]
示例性的,上述过程的α和β与边界两侧的块,即当前块与当前块的左侧快(对于垂直dbf滤波)或当前块与当前块的上方块(对于水平dbf滤波)的qp均值相关,可通过查表获得。
[0131]
三、以4*4为单位,完成所有块的水平滤波处理,过程与s2类似。
[0132]
相关技术中,仅根据一个既定的准则进行滤波处理,容易存在过滤波或伪滤波的情况,而本技术提出的滤波方法是一种基于滤波残差分类的滤波方法(本文称为调整滤波)。滤波残差,是指滤波处理前后像素值的差别。例如,若进行dbf滤波处理前的重建值为y1,经过dbf滤波处理后的像素值为y2,则可基于y2-y1进行分类。为了简化滤波过程,本技术中提供了将y2-y1用y1构成的第一表达式来表示的滤波调整方法,此外还提供了将第一表达式再次简化成第二表达式的滤波调整方法。基于滤波残差分类的主要好处是,可以对于一些过滤波或伪滤波的像素值进行特殊增强,以实现这些类别的像素更接近原始值的效果。过滤波,是指y2远大于(或远小于)y1,以至于y2远大于(或远小于)原始像素值。伪滤波,是指y2-y1为0,或接近于0,即这些像素值经过滤波后仍保持不变,未达到滤波效果。
[0133]
为了使本技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本技术实施例中技术方案作进一步详细的说明。
[0134]
请参见图4,为本技术实施例提供的一种滤波处理方法的流程示意图,如图4所示,该滤波处理方法可以包括以下步骤:
[0135]
步骤s400、对于当前块的目标像素点,获取目标像素点的对比滤波系数。
[0136]
示例性的,目标像素点可以为当前块的任一像素点,或,目标像素点可以为当前块中指定位置的像素点,例如,当前块左侧或右侧3列像素点中的任一像素点,或,当前块上方或下方3行像素点中任一像素点。
[0137]
示例性的,对比滤波系数用于参与判断是否对目标像素点进行调整滤波处理。
[0138]
本技术实施例中,滤波处理可以包括但不限于垂直dbf滤波处理、水平dbf滤波处理、sao滤波处理或alf滤波处理等。
[0139]
对于当前块的目标像素点,可以获取目标像素点的对比滤波系数,以便基于目标像素点的对比滤波系数判断是否对目标像素点进行调整滤波处理。
[0140]
示例性的,像素点的对比滤波系数可以预先设定,并在需要时获取;或者,也可以基于像素点的滤波系数确定,具体的基于像素点的滤波系数确定像素点的对比滤波系数可以参见后续实施例的相关内容。
[0141]
以dbf滤波处理为例,像素点的滤波系数的确定方式可以参见上文中所描述的dbf实现流程中的相关说明。
[0142]
步骤s410、当基于对比滤波系数,以及调整滤波阈值,确定需要对目标像素点进行调整滤波处理时,获取目标像素点的调整滤波系数,并基于调整滤波系数对目标像素点进行调整滤波处理。
[0143]
本技术实施例中,当获取到目标像素点的对比滤波系数时,可以基于该对比滤波系数以及调整滤波阈值,确定是否需要对目标像素点进行调整滤波处理。
[0144]
当确定需要对目标像素点进行调整滤波处理时,获取目标像素点的调整滤波系数,并基于调整滤波系数对目标像素点进行调整滤波处理,以使调整滤波处理后的目标像素点的像素值相比按照原有滤波处理方式进行滤波处理后的目标像素点的像素值,更接近原始像素值,避免由于过滤波导致的滤波后的像素值远大于或远小于像素点的原像素值,提升图像质量。
[0145]
示例性的,像素点的调整滤波系数可以预先设定,并在需要时获取;或者,也可以基于像素点的滤波系数确定。
[0146]
可见,在图4所示方法流程中,通过获取像素点的对比滤波系数,并在基于该对比滤波系数以及调整滤波阈值,确定需要对目标像素点进行调整滤波处理时,基于目标像素点的调整滤波系数对目标像素点进行调整滤波,提高了编解码性能,提升了图像质量。
[0147]
作为一种可能的实施例,如图5a所示,基于对比滤波系数,以及调整滤波阈值,确定是否需要对目标像素点进行调整滤波处理,可以通过以下步骤实现:
[0148]
步骤s411、基于该对比滤波系数,以及目标像素点的参考像素的像素值,确定对比特征值。
[0149]
步骤s412、当该对比特征值大于第一调整滤波阈值,或,该对比特征值小于第二调整滤波阈值时,确定需要对目标像素点进行调整滤波处理。
[0150]
示例性的,该第一调整滤波阈值大于该第二调整滤波阈值。
[0151]
示例性的,对于任一像素点,当获取到目标像素点的对比滤波系数时,可以基于该对比滤波系数,以及目标像素点的参考像素的像素值,确定对比特征值。
[0152]
示例性的,该对比特征值可以用于对目标像素点进行分类,以便基于目标像素点的类别确定对目标像素点进行滤波处理的方式,例如,是否进行调整滤波处理。
[0153]
示例性的,当目标像素点的对比特征值大于第一调整滤波阈值,或,目标像素点的对比特征值小于第二调整滤波阈值时,确定需要对目标像素点进行调整滤波处理。
[0154]
示例性的,不同类别的像素点,进行调整滤波处理的策略不同。
[0155]
在一个示例中,步骤s410中,基于调整滤波系数对目标像素点进行调整滤波处理,可以包括:
[0156]
当该对比特征值大于第一调整滤波阈值时,基于调整滤波系数以及第一调整滤波偏移量,对目标像素点进行调整滤波处理;
[0157]
当该对比特征值小于第二调整滤波阈值时,基于调整滤波系数以及第二调整滤波偏移量,对目标像素点进行调整滤波处理。
[0158]
示例性的,对比特征值可以用于表征像素点按照原有滤波处理方式进行滤波处理后的像素值与滤波处理前的像素值之间的差值(可以称为滤波残差)。
[0159]
为了使调整滤波处理后的像素点的像素值更接近原始像素值,当目标像素点的对比特征值大于第一调整滤波阈值,或小于第二调整滤波阈值时,可以分别采用不同的调整滤波偏移量对像素点滤波处理后的像素值进行补偿,以保证调整滤波处理后的像素点的像素值更接近原始像素值,以提高编解码性能,提升图像质量。
[0160]
考虑到编码端设备对当前块的像素点进行了上述调整滤波处理时,编码端设备和解码端设备需要在调整滤波阈值和调整滤波偏移量的取值上保持一致。
[0161]
示例性的,编码端设备和解码端设备可以通过构建相同的调整滤波阈值候选列表(简称阈值候选列表)和相同的调整滤波偏移量候选列表,编码端设备在码流中携带调整滤波阈值索引(简称阈值索引)和调整滤波偏移量索引(简称偏移量索引),该阈值索引用于表征调整滤波阈值,如第一调整滤波阈值或第二调整滤波阈值在阈值候选列表中的位置,偏移量索引用于表征调整滤波偏移量,如第一调整滤波偏移量或第二调整滤波偏移量在偏移量候选列表中的位置。
[0162]
解码端设备接收到码流时,可以从码流中对阈值索引和偏移量索引进行解码,并基于阈值索引从阈值候选列表中查询第一调整滤波阈值或第二调整滤波阈值,以及,基于偏移量索引从偏移量候选列表中查询第一调整滤波偏移量或第二调整滤波偏移量。
[0163]
在一个示例中,为了减少需要编码的阈值索引消耗的比特数,第一调整滤波阈值与第二调整滤波阈值互为相反数。
[0164]
示例性的,由于第一调整滤波阈值大于第二调整滤波阈值,因此,第一调整滤波阈值为正数,第二调整滤波阈值为负数。
[0165]
例如,第一调整滤波阈值为2,第二调整滤波阈值为-2。
[0166]
同理,第一调整滤波系数和第二调整滤波系数也可以互为相反数。
[0167]
需要说明的是,在本技术实施例中,在构建调整滤波阈值候选列表和调整滤波偏移量候选列表时,可以以参数集的形式构建。
[0168]
即候选列表中每一个候选值为一个参数集,该参数集包括一个候选的第一调整滤波阈值、一个候选的第二调整滤波阈值(当第一调整滤波阈值和第二调整滤波阈值互为相反数时,可以仅包括其中一个)、一个候选的第一调整滤波偏移量以及一个候选的第二调整滤波偏移量(当第一调整滤波偏移量和第二调整滤波偏移量互为相反数时,可以仅包括其中一个)。
[0169]
当对索引进行编解码时,可以以调整滤波参数集索引的形式进行编解码,即通过调整参数集索引表征第一调整滤波阈值、第二调整滤波阈值、第一调整滤波偏移量以及第二调整滤波偏移量对应的调整滤波参数集在调整滤波参数集候选列表中的位置,其具体实现可以在下文的具体实施例中进行说明。
[0170]
此外,在本技术实施例中,当前块的调整滤波参数,如调整滤波阈值和调整滤波偏移量,还可以复用周围块,如上侧块或左侧块的相应参数。
[0171]
编解码端可以在码流中对用于指示当前块是否复用周围块的调整滤波参数的标记位,当确定复用周围块的调整滤波参数时,可以不需要再额外对当前块进行调整滤波参数的编解码。
[0172]
在另一个示例中,为了减少需要编码的阈值索引消耗的比特数,第一调整滤波阈值或/和第二调整滤波阈值为固定值。
[0173]
示例性,可以将第一调整滤波阈值或/和第二调整滤波阈值设置为固定值,从而,可以不需要对第一调整滤波阈值对应的阈值索引或/和第二调整滤波阈值对应的阈值索引进行编码。
[0174]
同理,第一调整滤波系数或/和第二调整滤波系数也可以为固定值。
[0175]
在一个示例中,请参见图5b,基于对比滤波系数,以及调整滤波阈值,确定是否需要对目标像素点进行调整滤波处理,还可以包括:
[0176]
步骤s413、当该对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,确定不需要对目标像素点进行调整滤波处理。
[0177]
示例性的,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,可以确定出现过滤波概率较低,此时,可以不需要对目标像素点进行调整滤波处理。
[0178]
例如,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,可以按照原有滤波处理方式对目标像素点进行滤波处理。
[0179]
需要说明的是,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,并不限于按照原有滤波处理方式对目标像素点进行滤波处理,也可以按照其他策略进行滤波处理。
[0180]
例如,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,基于调整滤波系数以及第三调整滤波偏移量,对目标像素点进行调整滤波处理。
[0181]
又例如,当像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值时,在按照原有滤波处理方式对目标像素点进行滤波处理之后,再次使用另一滤波处理方式对滤波处理后的像素值进行滤波处理。
[0182]
举例来说,以dbf滤波处理为例,对于任一像素点,当需要对目标像素点进行垂直dbf滤波处理时,若目标像素点的对比特征值小于等于第一调整滤波阈值,且大于等于第二调整滤波阈值,则在按照原有dbf滤波处理方式对目标像素点进行dbf滤波处理之后,可以对滤波处理后的像素值再次进行alf滤波处理。
[0183]
作为一种可能的实施例,如图6所示,步骤s400中,获取目标像素点的对比滤波系数,可以通过以下步骤实现:
[0184]
步骤s401、确定目标像素点的滤波系数。
[0185]
步骤s402、基于目标像素点的滤波系数确定目标像素点的对比滤波系数。
[0186]
示例性的,对于任一像素点,目标像素点的对比滤波系数可以基于目标像素点的滤波系数(按照原有滤波处理方式进行滤波处理时的滤波系数)确定。
[0187]
举例来说,以dbf滤波处理为例,对于任一像素点,目标像素点的滤波系数的确定方式可以参见上文中所描述的dbf实现流程中的相关说明。
[0188]
当确定了目标像素点的滤波系数时,可以基于目标像素点的滤波系数确定目标像素点的对比滤波系数。
[0189]
在一个示例中,基于目标像素点的滤波系数确定目标像素点的对比滤波系数,可以通过以下策略实现:
[0190][0191]
cw
j
为像素点j的对比滤波系数,w
j
为像素点j的滤波系数(滤波调整前的滤波系数,也可以称为原始滤波系数),当j=0时,像素点j为目标像素点,若目标像素点为边界左侧或上方的像素点,则当j=-n时,像素点j为目标像素点左侧或上方的第n个像素点;当j=m时,像素点j为目标像素点右侧或下方的第m个像素点;若目标像素点为边界右侧或下方的像素点,则当j=-n时,像素点j为目标像素点右侧或下方的第n个像素点;当j=m时,像素点j为目标像素点左侧或上方的第m个像素点,m,n为正整数。
[0192]
需要说明的是,当滤波系数不是一维系数时,例如,对于alf滤波处理,滤波系数为二维系数,当j≠0时,像素点j也可以为当前像素点左上角、右下角、左下角或右上角的像素点。
[0193]
示例性的,以对比特征值表征像素点滤波处理前后的像素残差为例。
[0194]
对于任一像素点,假设目标像素点经过垂直dbf滤波处理前的像素值为y1,经过垂直滤波dbf滤波处理后的像素值为y2。则:
[0195][0196]
w
j
为像素点j的滤波系数,y1(i)为目标像素点(可以称为当前像素点)经过垂直dbf滤波处理前的像素值,若当前像素点为边界左侧的像素点,则y1(i+j)为当前像素点左侧(j为负数)或右侧(j为正数)第|j|个像素点的像素值;若当前像素点为边界右侧的像素点,则y1(i+j)为当前像素点右侧(j为负数)或左侧(j为正数)第|j|个像素点的像素值,y2(i)为当前像素点经过垂直dbf滤波处理后的像素值,m,n为自然数,且m+n>0。
[0197]
举例来说,以上文中2.1.2.3.1.2中描述的滤波系数为例,若当前像素点为像素点l1,则当j=0时,w
j
为当前像素点的滤波系数,即5/16;当j=-1时,w
j
为当前像素点左侧第1个像素点(即像素点l2)的滤波系数,即4/16;当j=1时,w
j
为当前像素点右侧第1个像素点(即像素点l0)的滤波系数,即4/16;当j=2时,w
j
为当前像素点右侧第2个像素点(即像素点
r0)的滤波系数,即3/16;当j=3或j=-2时,w
j
=0。
[0198]
进而,y2-y1可以用下面的第一表达式表示:
[0199][0200][0201]
在一个示例中,上述基于对比滤波系数,以及目标像素点的参考像素的像素值,确定对比特征值,可以包括:
[0202]
基于对比滤波系数,以及目标像素点的参考像素的像素值,确定目标像素点的参考像素的像素值的加权和;
[0203]
将该加权和确定为对比特征值。
[0204]
示例性的,对比特征值可以为像素点滤波处理前后的像素残差。
[0205]
在确定了对比滤波系数时,可以基于对比滤波系数,以及目标像素点的参考像素的像素值,确定目标像素点的参考像素的像素值的加权和,并将该加权和确定为对比特征值。
[0206]
仍以上文中2.1.2.3.1.2中描述的滤波系数为例,若当前像素点为像素点l1,则cw
j
=[4,-11,4,3]/16,当j=0时,cw
j
为当前像素点的对比滤波系数,即-11/16;当j=-1时,cw
j
为当前像素点左侧第1个像素点(即像素点l2)的对比滤波系数,即4/16;当j=1时,cw
j
为当前像素点右侧第1个像素点(即像素点l0)的对比滤波系数,即4/16;当j=2时,cw
j
为当前像素点右侧第2个像素点(即像素点r0)的对比滤波系数,即3/16;当j=3或j=-2时,cw
j
=0。
[0207]
作为另一种可能实施例,上述基于对比滤波系数,以及目标像素点的参考像素的像素值,确定对比特征值,可以包括:
[0208]
基于对比滤波系数,以及目标像素点的参考像素的像素值,确定目标像素点用于运动补偿的梯度值;
[0209]
将该梯度值确定为对比特征值。
[0210]
示例性的,为了提高调整滤波处理的效率,可以基于像素点用于运动补偿的梯度值对像素点进行分类,即上述对比特征值可以为像素点用于运动补偿的梯度值。
[0211]
示例性的,由于确定像素点用于运动补偿的梯度值时,各参考点的加权系数是确定的,因此,在该情况下,对比滤波系数可以预先设定,并在需要时获取,即对于目标像素点,可以以确定目标像素点用于运动补偿的梯度值时,各像素值的运算系数,作为对应像素点的对比滤波系数。
[0212]
例如,以垂直dbf滤波处理为例,对于目标像素点,计算目标像素点用于运动补偿时的梯度值时,当前像素点、当前像素点左侧的第1个像素点以及当前像素点右侧的第一个像素点的像素值的运算系数依次为-2/4、1/2和1/2,因此,对比滤波系数可以简化为:
[0213]
cw
j
=[1,-2,1]/4
[0214]
进而对比特征值可以用下面的第二表达式表示:
[0215][0216]
需要说明的是,基于上文中2.1.2.3.4.1的描述可知,在bs=1的情况下,滤波系数w
j
为[3,1]/4,此时,按照第一表达式的方式确定的对比滤波系数cw
j
为[-1,1]/4,该对比滤波系数比上述按照梯度值的方式确定的对比滤波系数更简洁,因此,对于bs=1的情况,对比滤波系数可以使用[-1,1]/4。
[0217]
作为一种可能的实施例,步骤s410中,获取目标像素点的调整滤波系数,可以包括:
[0218]
基于目标像素点的滤波系数确定目标像素点的调整滤波系数。
[0219]
示例性的,目标像素点的调整滤波系数可以基于该像素点的滤波系数(按照原有滤波处理方式进行滤波处理时的滤波系数)确定。
[0220]
举例来说,以dbf滤波处理为例,目标像素点的滤波系数的确定方式可以参见上文中所描述的dbf实现流程中的相关说明。
[0221]
当确定了目标像素点的滤波系数时,可以基于目标像素点的滤波系数确定目标像素点的调整滤波系数。
[0222]
在一个示例中,基于目标像素点的滤波系数确定目标像素点的调整滤波系数,通过以下策略实现:
[0223][0224]
aw
j
为像素点j的调整滤波系数,w
j
为像素点j的滤波系数,当j=0时,像素点j为当前像素点,若目标像素点为边界左侧或上方的像素点,则当j=-n时,像素点j为当前像素点左侧或上方的第n个像素点;当j=m时,像素点j为当前像素点右侧或下方的第m个像素点;若目标像素点为边界右侧或下方的像素点,则当j=-n时,像素点j为目标像素点右侧或下方的第n个像素点;当j=m时,像素点j为目标像素点左侧或上方的第m个像素点,m,n为正整数。
[0225]
示例性的,以通过对像素点滤波处理前后的像素值的加权平均值进行调整的方式实现调整滤波处理为例。
[0226]
像素点滤波前后的像素值可以参见上文中描述的确定对比滤波系数的实现方式中的相关描述。
[0227]
对于任一像素点,目标像素点滤波处理前后的像素值的加权平均值可以但不限于以下表示:
[0228][0229]
目标像素点的调整滤波系数为:
[0230][0231]
考虑到像素点的像素值会处于指定的取值范围,该取值范围通常由图像比特深度确定,如[0,2
d-1],d为图像比特深度。
[0232]
例如,对于8比特图像,该取值范围为[0,255];对于10比特图像,该取值范围为[0,1023]。
[0233]
为了避免调整滤波处理后的像素点的像素值超出预设的像素值的取值范围,在得到调整滤波处理后的像素值时,可以通过clip操作,将调整滤波处理后的像素值clip到预设取值范围。
[0234]
当调整滤波处理后的像素值大于预设取值范围的上限时,将调整滤波处理后的像素值设置为预设取值范围的上限;
[0235]
当调整滤波处理后的像素值小于预设阈值范围的下限时,将调整滤波处理后的像素值设置为预设取值范围的下限。
[0236]
举例来说,以8比特图像为例,当调整滤波处理后的像素值小于0时,将调整滤波处理后的像素值设置为0;当调整滤波处理后的像素值大于255时,将调整滤波处理后的像素值设置为255。
[0237]
作为一种可能的实施例,步骤s400中,获取目标像素点的对比滤波系数,可以包括:
[0238]
当确定目标像素点满足滤波处理条件时,获取目标像素点的对比滤波系数;
[0239]
在获取目标像素点的对比滤波系数之后,上述方法还包括:
[0240]
基于该对比滤波系数,以及调整滤波阈值,确定是否需要对目标像素点进行调整滤波处理。
[0241]
示例性的,以滤波处理为垂直dbf滤波处理或水平dbf滤波处理为例,当前块各像素点是否满足滤波处理条件可以基于像素点在当前块中的位置,以及上文中dbf滤波处理的滤波决策策略确定。
[0242]
例如,当按照上文中dbf滤波处理的滤波策略确定当前块需要进行dbf滤波处理时,当前块中需要进行垂直dbf滤波或/和水平dbf滤波处理的像素点可以如图3所示。
[0243]
示例性的,当对当前块进行dbf滤波时,对于当前块的任一像素点,可以先确定目标像素点是否满足垂直dbf滤波处理条件,若满足,则进一步按照上述方式确定是否需要进行调整滤波处理(可以称为垂直dbf调整滤波处理),并在确定需要进行垂直dbf调整滤波处
理时,对目标像素点进行垂直dbf调整滤波处理。
[0244]
在完成垂直dbf滤波处理之后,还可以确定目标像素点是否满足水平dbf滤波处理条件,若满足,则进一步按照上述方式确定是否需要进行调整滤波处理(可以称为水平dbf调整滤波处理),并在确定需要进行水平dbf调整滤波处理时,对目标像素点进行水平dbf调整滤波处理。
[0245]
作为一种可能的实施例,步骤s400,获取目标像素点的对比滤波系数,可以包括:
[0246]
当当前块使能调整滤波时,获取目标像素点的对比滤波系数。
[0247]
示例性的,为了提高调整滤波处理的灵活性和可控性,可以选择使能或不使能调整滤波方案,即对像素点的像素值进行调整滤波处理(使能调整滤波)或不对像素点的像素值进行调整滤波处理(不使能调整滤波)。
[0248]
对于当前块的任一像素点,可以先确定当前块是否使能调整滤波,当当前块使能调整滤波时,获取目标像素点的对比滤波系数,并基于目标像素点的对比滤波系数以及调整滤波阈值,确定目标像素点是否需要进行调整滤波处理。
[0249]
在一个示例中,利用指定语法标识当前块是否使能当前块是否使能调整滤波。
[0250]
示例性的,该指定语法可以包括但不限于以下之一或多个:
[0251]
序列参数集级语法、图像参数集级语法以及slice级语法;
[0252]
或,
[0253]
该指定语法可以但不限于包括以下之一或多个:
[0254]
序列参数集级语法、图像参数集级语法、ctu级语法以及cu级语法。
[0255]
示例性的,为了提高调整滤波的灵活性和可控性,可以在不同层级实现调整滤波的使能或不使能。
[0256]
例如,可以从序列参数集级、图像参数集级或/和slice级,实现调整滤波的使能或不使能,即当图像序列使能调整滤波时,该图像序列中的各图像可以选择性的使能或不使能调整滤波;当图像使能调整滤波时,该图像的各slice可以选择性的使能或不使能调整滤波。
[0257]
需要说明的是,当一帧图像包括的slice的数量为1时,该图像使能调整滤波时,该slice也使能调整滤波;反之亦然。
[0258]
同理,还可以从序列参数集级、图像参数集级、ctu级或/和cu级,实现调整滤波的使能或不使能。
[0259]
在一个示例中,当指定语法的候选级别包括至少两个级别时,基于预设标志位确定指定语法的级别,预设标志位用于指示所述指定语法的级别。
[0260]
示例性的,当指定语法的候选级别包括至少两个级别时,还可以通过专门的标记位来指示上述指定语法的级别。
[0261]
例如,当指定语法的级别包括图像参数集级和ctu级时,可以在图像参数集级增加一个标志位,用于指示上述指定语法的级别为图像参数集级或ctu级。
[0262]
示例性的,上述预设标志位的语法级别与指定语法的候选级别中的非最低级别匹配。
[0263]
例如,当指定语法的候选级别包括序列参数集级语法和图像参数集级语法时,该预设标志位的语法级别为序列参数集级;
[0264]
当指定语法的候选级别包括图像参数集级语法和slice级语法时,该预设标志位的语法级别为图像参数集级;
[0265]
当指定语法的候选级别包括序列参数集级语法、图像参数集级语法以及slice级语法时,该预设标志位包括序列参数集级的标志位和图像参数集级的标志位;
[0266]
当指定语法的候选级别包括图像参数集级语法和ctu级语法时,该预设标志位的语法级别为图像参数集级;
[0267]
当指定语法的候选级别包括ctu级语法和cu级语法时,该预设标志位的语法级别为ctu级;
[0268]
当指定语法的候选级别包括图像参数集级语法、ctu级语法以及cu级语法时,该预设标志位包括ctu级的标志位和cu级的标志位,其具体实现可以在下文中结合具体实施例进行说明。
[0269]
为了使本领域技术人员更好地理解本技术实施例提供的技术方案,下面结合具体实例对本技术实施例提供的技术方案进行说明。
[0270]
下面以滤波处理为dbf滤波处理为例,对本技术实施例提供的技术方案进行说明。
[0271]
实施例一
[0272]
以当前块中的像素点i(以目标像素点为像素点i为例)满足垂直dbf滤波处理条件和水平dbf滤波处理条件为例。
[0273]
步骤1、y1(i)通过垂直dbf调整滤波后得到ay2(i);
[0274]
步骤2、ay2(i)通过水平dbf调整滤波后得到ay3(i)。
[0275]
实施例二
[0276]
在实施例一的基础上,对于步骤1,实现流程如下:
[0277]
1.1、按照上文中描述的dbf滤波处w理实现流程中描述的方式,获得边界强度bs值,基于bs值确定滤波系数w
j
,并基于w
j
确定是否对像素点i进行垂直dbf调整滤波处理,以及调整滤波系数aw
j

[0278]
1.2、若进行垂直dbf调整滤波,则基于调整滤波系数aw
j
和偏移f0
v
(第一调整调整滤波偏移量)或f1
v
(第二调整滤波偏移量)得到调整滤波后的像素值ay2(i);
[0279]
1.3、若不进行垂直dbf调整滤波处理,则基于原有滤波系数w
j
得到滤波后的像素值ay2(i)。
[0280]
示例性的,基于上文中描述的dbf滤波处理实现流程可知,对像素点i进行垂直dbf滤波处理像素值可以为:
[0281][0282]
w
j
为像素点j的滤波系数,y1(i)为像素点i(可以称为当前像素点)经过垂直dbf滤波处理前的像素值,若当前像素点处于边界左侧,则y1(i+j)为当前像素点左侧(j为负数)或右侧(j为正数)第|j|个像素点的像素值;若当前像素点处于边界右侧,则y1(i+j)为当前像素点右侧(j为负数)或左侧(j为正数)第|j|个像素点的像素值,y2(i)为当
前像素点经过垂直dbf滤波处理后的像素值。
[0283]
因此,
[0284]
对比滤波系数为:
[0285][0286]
像素点i垂直dbf滤波处理前后的像素值的加权平均值可以为:
[0287][0288]
调整滤波系数为:
[0289][0290]
可以基于像素点滤波前后的像素残差,即对像素点进行分类,并确定是否对像素点i进行调整滤波处理:
[0291]
若则对像素点i进行垂直调整滤波处理后的像素值为:
[0292]
ay2(i)=clip(y
v
(i)+f0
v
)
[0293]
示例性的,t
v
为第一调整滤波阈值,f0
v
为第一调整滤波偏移量。
[0294]
若则对像素点i进行垂直调整滤波处理后的像素值
[0295]
ay2(i)=clip(y
v
(i)+f1
v
)
[0296]
示例性的,-t
v
为第二调整滤波阈值(即第一调整滤波阈值与第二调整滤波阈值互为相反数),f1
v
为第二调整滤波偏移量。
[0297]
否则,即不进行垂直dbf调整滤波处理,则:
[0298][0299]
实施例三
[0300]
在实施例一的基础上,对于步骤2,实现流程如下:
[0301]
1.1、按照上文中描述的dbf滤波处理实现流程中描述的方式,获得边界强度bs值,基于bs值确定滤波系数w
j
,并基于w
j
确定是否对像素点i进行水平dbf调整滤波处理,以及调整滤波系数aw
j

[0302]
1.2、若进行水平dbf调整滤波,则基于调整滤波系数aw
j
和偏移f0
h
(第一调整调整滤波偏移量)或f1
h
(第二调整滤波偏移量)得到调整滤波后的像素值ay3(i);
[0303]
1.3、若不进行水平dbf调整滤波处理,则基于原有滤波系数wj得到滤波后的像素值ay3(i)。
[0304]
示例性的,基于上文中描述的dbf滤波处理实现流程可知,对于任一像素点,对像素点i进行水平dbf滤波处理像素值可以为:
[0305][0306]
w
j
为像素点j的滤波系数,y3(i)为对像素点i进行水平dbf滤波处理前的像素值,即ay2(i),若当前像素点处于边界上方,则y3(i+j)为当前像素点上方(j为负数)或下方(j为正数)第|j|个像素点的像素值;若当前像素点处于边界下方,则y3(i+j)为当前像素点下方(j为负数)或上方(j为正数)第|j|个像素点的像素值,y4(i)为当前像素点经过水平dbf滤波处理后的像素值。
[0307]
因此,
[0308]
对比滤波系数为:
[0309][0310]
像素点i水平dbf滤波处理前后的像素值的加权平均值可以为:
[0311]
[0312]
调整滤波系数为:
[0313][0314]
可以基于像素点滤波前后的像素残差,即对像素点进行分类:
[0315]
若则对像素点i进行水平调整滤波处理后的像素值为:
[0316]
ay3(i)=clip(y
h
(i)+f0
h
)
[0317]
示例性的,t
h
为第一调整滤波阈值,f0
h
为第一调整滤波偏移量。
[0318]
若则对像素点i进行水平调整滤波处理后的像素值为:
[0319]
ay3(i)=clip(y
h
(i)+f1
h
)
[0320]
示例性的,-t
h
为第二调整滤波阈值(即第一调整滤波阈值与第二调整滤波阈值互为相反数),f1
h
为第二调整滤波偏移量。
[0321]
否则,不进行水平dbf调整滤波处理,则:
[0322][0323]
实施例四
[0324]
在实施例二的基础上,基于bs值确定滤波系数w
j
,并基于w
j
确定是否对像素点i进行垂直dbf调整滤波处理,以及调整滤波系数aw
j
,具体实现如下:
[0325]
示例性的,可以基于滤波系数w
j
确定对比滤波系数cw
j
,并基于对比滤波系数cw
j
确定对比特征值当或时,确定需要对像素点i进行垂直dbf调整滤波处理。
[0326]
示例性的,t
v
为第一调整滤波阈值,-t
v
为第二调整滤波阈值。
[0327]
在需要进行垂直dbf调整滤波处理的情况下:
[0328]
a)、bs=4,对边界两侧各3个像素进行滤波处理;
[0329]
i、l0/r0:滤波系数w
j
为:[3,8,10,8,3]/32
[0330]
若则调整滤波系数aw
j
为:[3,8,42,8,3]/32,
[0331]
基于实施例二中的情况下的调整滤波处理策略可知:
[0332]
ay2(i)=clip(y
v
(i)+f0
v
)
[0333][0334]
因此,l0''=clip((l2*3+l1*8+l0*42+r0*8+r1*3+32)>>6+f0
v
)
[0335]
示例性的,l0''为像素点l0经过垂直调整滤波处理后的像素值,下同。
[0336]
同理,r0''=clip((r2*3+r1*8+r0*42+l0*8+l1*3+32)>>6+f0
v
)
[0337]
若则调整滤波系数aw
j
为:[3,8,42,8,3]/32,
[0338]
基于实施例二中的情况下的调整滤波处理策略可知:
[0339]
ay2(i)=clip(y
v
(i)+f1
v
)
[0340][0341]
因此,l0''=clip((l2*3+l1*8+l0*42+r0*8+r1*3+32)>>6+f1
v
)
[0342]
同理,r0''=clip((r2*3+r1*8+r0*42+l0*8+l1*3+32)>>6+f1
v
)
[0343]
对于l0:对于l0:
[0344]
对于r0:对于r0:
[0345]
即cw
j
=[3,8,10-32,8,3]/32=[3,8,-22,8,3]/32。
[0346]
ii、l1/r1:滤波系数w
j
为:[4,5,4,3]/16,调整滤波系数aw
j
为:[4,21,4,3]/16
[0347]
若则:
[0348]
l1''=clip((l2*4+l1*21+l0*4+r0*3+16)>>5+f0
v
)
[0349]
r1''=clip((r2*4+r1*21+r0*4+l0*3+16)>>5+f0
v
)
[0350]
若则:
[0351]
l1''=clip((l2*4+l1*21+l0*4+r0*3+16)>>5+f1
v
)
[0352]
r1''=clip((r2*4+r1*21+r0*4+l0*3+16)>>5+f1
v
)
[0353]
示例性的,对比滤波系数cw
j
为:[4,-11,4,3]/16
[0354]
iii、l2/r2:滤波系数w
j
为:[2,2,2,1,1]/8,调整滤波系数aw
j
为:[2,10,2,1,1]/8
[0355]
若则:
[0356]
l2''=clip((l3*2+l2*10+l1*2+l0*1+r0*1+8)>>4+f0
v
)
[0357]
r2''=clip((r3*2+r2*10+r1*2+r0*1+l0*1+8)>>4+f0
v
)
[0358]
若则:
[0359]
l2''=clip((l3*2+l2*10+l1*2+l0*1+r0*1+8)>>4+f1
v
)
[0360]
r2''=clip((r3*2+r2*10+r1*2+r0*1+l0*1+8)>>4+f1
v
)
[0361]
示例性的,对比滤波系数cw
j
为:[2,-6,2,1,1]/8。
[0362]
b)、bs=3,对边界两侧各2个像素进行滤波处理;
[0363]
i、l0/r0:滤波系数w
j
为:[1,4,6,4,1]/16,调整滤波系数aw
j
为:[1,4,22,4,1]/16,
[0364]
若则:
[0365]
l0''=clip((l2*1+l1*4+l0*22+r0*4+r1*1+16)>>5+f0
v
)
[0366]
r0''=clip((r2*1+r1*4+r0*22+l0*4+l1*1+16)>>5+f0
v
)
[0367]
若则:
[0368]
l0''=clip((l2*1+l1*4+l0*22+r0*4+r1*1+16)>>5+f1
v
)
[0369]
r0''=clip((r2*1+r1*4+r0*22+l0*4+l1*1+16)>>5+f1
v
)
[0370]
示例性的,对比滤波系数cw
j
为:[1,4,-10,4,1]/16。
[0371]
ii、l1/r1:滤波系数w
j
为:[3,8,4,1]/16,调整滤波系数aw
j
为:[3,24,4,1]/16,
[0372]
若则:
[0373]
l1''=clip((l2*3+l1*24+l0*4+r0*1+16)>>5+f0
v
)
[0374]
r1''=clip((r2*3+r1*24+r0*4+l0*1+16)>>5+f0
v
)
[0375]
若则:
[0376]
l0''=clip((l2*3+l1*24+l0*4+r0*1+16)>>5+f1
v
)
[0377]
r0''=clip((r2*3+r1*24+r0*4+l0*1+16)>>5+f1
v
)
[0378]
示例性的,对比滤波系数cw
j
为:[3,-8,4,1]/16
[0379]
c)、bs=2,对边界两侧各1个像素进行滤波处理;
[0380]
l0/r0:滤波系数w
j
为:[3,10,3]/16,调整滤波系数aw
j
为:[3,26,3]/16,
[0381]
若则:
[0382]
l0''=clip((l1*3+l0*26+r0*3+16)>>5+f0
v
)
[0383]
r0''=clip((r1*3+r0*26+l0*3+16)>>5+f0
v
)
[0384]
若则:
[0385]
l0''=clip((l1*3+l0*26+r0*3+16)>>5+f1
v
)
[0386]
r0''=clip((r1*3+r0*26+l0*3+16)>>5+f1
v
)
[0387]
d)、bs=1,对边界两侧各1个像素进行滤波处理;
[0388]
l0/r0:滤波系数w
j
为:[3,1]/4,调整滤波系数aw
j
为:[7,1]/4,
[0389]
若则:
[0390]
l0''=clip((l0*7+r0*1+4)>>3+f0
v
)
[0391]
r0''=clip((r0*7+l0*1+4)>>3+f0
v
)
[0392]
若则:
[0393]
l0''=clip((l0*7+r0*1+4)>>3+f1
v
)
[0394]
r0''=clip((r0*7+l0*1+4)>>3+f1
v
)
[0395]
示例性的,对比滤波系数cw
j
为:[-1,1]/4
[0396]
e)bs=0不滤波。
[0397]
当确定不需要对像素点i进行垂直dbf调整滤波,此时像素点i经过垂直dbf滤波处理后的像素值为:
[0398]
[0399]
实施例五
[0400]
在实施例三的基础上,基于bs值确定滤波系数w
j
,并基于w
j
确定是否对像素点i进行水平dbf调整滤波处理,以及调整滤波系数aw
j
,具体实现如下:
[0401]
示例性的,可以基于滤波系数w
j
确定对比滤波系数cw
j
,并基于对比滤波系数cw
j
确定对比特征值当或时,确定需要对像素点i进行水平dbf调整滤波处理。
[0402]
示例性的,t
h
为第一调整滤波阈值,-t
h
为第二调整滤波阈值。
[0403]
在需要进行水平dbf调整滤波处理的情况下:
[0404]
a)、bs=4,对边界两侧各3个像素进行滤波处理;
[0405]
i、l0/r0:滤波系数w
j
为:[3,8,10,8,3]/32
[0406]
若则调整滤波系数aw
j
为:[3,8,42,8,3]/32,
[0407]
基于实施例三中的情况下的调整滤波处理策略可知:
[0408]
ay3(i)=clip(y
h
(i)+f0
h
)
[0409][0410]
因此,l0''=clip((l2*3+l1*8+l0*42+r0*8+r1*3+32)>>6+f0
h
)
[0411]
同理,r0''=clip((r2*3+r1*8+r0*42+l0*8+l1*3+32)>>6+f0
h
)
[0412]
若则调整滤波系数aw
j
为:[3,8,42,8,3]/32,基于实施例三中的情况下的调整滤波处理策略可知:
[0413]
ay3(i)=clip(y
h
(i)+f1
h
)
[0414][0415]
因此,l0''=clip((l2*3+l1*8+l0*42+r0*8+r1*3+32)>>6+f1
h
)
[0416]
同理,r0''=clip((r2*3+r1*8+r0*42+l0*8+l1*3+32)>>6+f1
h
)
[0417]
对于l0:对于l0:
[0418]
对于r0:对于r0:
[0419]
即cw
j
=[3,8,10-32,8,3]/32=[3,8,-22,8,3]/32。
[0420]
ii、l1/r1:滤波系数w
j
为:[4,5,4,3]/16,调整滤波系数aw
j
为:[4,21,4,3]/16
[0421]
若则:
[0422]
l1''=clip((l2*4+l1*21+l0*4+r0*3+16)>>5+f0
h
)
[0423]
r1''=clip((r2*4+r1*21+r0*4+l0*3+16)>>5+f0
h
)
[0424]
若则:
[0425]
l1''=clip((l2*4+l1*21+l0*4+r0*3+16)>>5+f1
h
)
[0426]
r1''=clip((r2*4+r1*21+r0*4+l0*3+16)>>5+f1
h
)
[0427]
示例性的,对比滤波系数cw
j
为:[4,-11,4,3]/16
[0428]
iii、l2/r2:滤波系数w
j
为:[2,2,2,1,1]/8,调整滤波系数aw
j
为:[2,10,2,1,1]/8
[0429]
若则:
[0430]
l2''=clip((l3*2+l2*10+l1*2+l0*1+r0*1+8)>>4+f0
h
)
[0431]
r2''=clip((r3*2+r2*10+r1*2+r0*1+l0*1+8)>>4+f0
h
)
[0432]
若则:
[0433]
l2''=clip((l3*2+l2*10+l1*2+l0*1+r0*1+8)>>4+f1
h
)
[0434]
r2''=clip((r3*2+r2*10+r1*2+r0*1+l0*1+8)>>4+f1
h
)
[0435]
示例性的,对比滤波系数cw
j
为:[2,-6,2,1,1]/8。
[0436]
b)、bs=3,对边界两侧各2个像素进行滤波处理;
[0437]
i、l0/r0:滤波系数w
j
为:[1,4,6,4,1]/16,调整滤波系数aw
j
为:[1,4,22,4,1]/16,
[0438]
若则:
[0439]
l0''=clip((l2*1+l1*4+l0*22+r0*4+r1*1+16)>>5+f0
h
)
[0440]
r0''=clip((r2*1+r1*4+r0*22+l0*4+l1*1+16)>>5+f0
h
)
[0441]
若则:
[0442]
l0''=clip((l2*1+l1*4+l0*22+r0*4+r1*1+16)>>5+f1
h
)
[0443]
r0''=clip((r2*1+r1*4+r0*22+l0*4+l1*1+16)>>5+f1
h
)
[0444]
示例性的,对比滤波系数cw
j
为:[1,4,-10,4,1]/16。
[0445]
ii、l1/r1:滤波系数w
j
为:[3,8,4,1]/16,调整滤波系数aw
j
为:[3,24,4,1]/16,
[0446]
若则:
[0447]
l1''=clip((l2*3+l1*24+l0*4+r0*1+16)>>5+f0
h
)
[0448]
r1''=clip((r2*3+r1*24+r0*4+l0*1+16)>>5+f0
h
)
[0449]
若则:
[0450]
l0''=clip((l2*3+l1*24+l0*4+r0*1+16)>>5+f1
h
)
[0451]
r0''=clip((r2*3+r1*24+r0*4+l0*1+16)>>5+f1
h
)
[0452]
示例性的,对比滤波系数cw
j
为:[3,-8,4,1]/16
[0453]
c)、bs=2,对边界两侧各1个像素进行滤波处理;
[0454]
l0/r0:滤波系数w
j
为:[3,10,3]/16,调整滤波系数aw
j
为:[3,26,3]/16,
[0455]
若则:
[0456]
l0''=clip((l1*3+l0*26+r0*3+16)>>5+f0
h
)
[0457]
r0''=clip((r1*3+r0*26+l0*3+16)>>5+f0
h
)
[0458]
若则:
[0459]
l0''=clip((l1*3+l0*26+r0*3+16)>>5+f1
h
)
[0460]
r0''=clip((r1*3+r0*26+l0*3+16)>>5+f1
h
)
[0461]
d)、bs=1,对边界两侧各1个像素进行滤波处理;
[0462]
l0/r0:滤波系数w
j
为:[3,1]/4,调整滤波系数aw
j
为:[7,1]/4,
[0463]
若则:
[0464]
l0''=clip((l0*7+r0*1+4)>>3+f0
h
)
[0465]
r0''=clip((r0*7+l0*1+4)>>3+f0
h
)
[0466]
若则:
[0467]
l0''=clip((l0*7+r0*1+4)>>3+f1
h
)
[0468]
r0''=clip((r0*7+l0*1+4)>>3+f1
h
)
[0469]
示例性的,对比滤波系数cw
j
为:[-1,1]/4
[0470]
e)bs=0不滤波。
[0471]
当确定不需要对像素点i进行水平dbf调整滤波处理,此时像素点i经过水平dbf滤波处理后的像素值为:
[0472][0473]
实施例六
[0474]
对实施例四中的进行简化。
[0475]
a)、bs=4,对边界两侧各3个像素进行滤波处理;
[0476]
cw
j
=[1,-2,1]/4
[0477]
b)、bs=3,对边界两侧各2个像素进行滤波处理;
[0478]
cw
j
=[1,-2,1]/4
[0479]
c)、bs=2,对边界两侧各1个像素进行滤波处理;
[0480]
cw
j
=[1,-2,1]/4
[0481]
d)、bs=1,对边界两侧各1个像素进行滤波处理;
[0482]
cw
j
=[-1,1]/4
[0483]
e)bs=0不滤波。
[0484]
此时,若bs=2、3或4,则对比特征值为:
[0485][0486]
即为像素点i用于运动补偿的梯度值,在该情况下,基于当前像素的梯度进行分类,确定是否对当前像素进行滤波调整;
[0487]
若bs=1,则对比特征值为:
[0488][0489]
当确定了对比特征值时,可以基于该对比特征值和调整滤波阈值确定是否需要对像素点i进行垂直dbf调整滤波处理,并当或时,确定需要对像素点i进行垂直dbf调整滤波处理。
[0490]
示例性的,t
v
为第一调整滤波阈值,-t
v
为第二调整滤波阈值。
[0491]
在需要进行垂直dbf调整滤波处理的情况下:
[0492]
a)、bs=4,对边界两侧各3个像素进行滤波处理;
[0493]
i、l0/r0:滤波系数w
j
为:[3,8,10,8,3]/32
[0494]
若则调整滤波系数aw
j
为:[3,8,42,8,3]/32,
[0495]
l0''=clip((l2*3+l1*8+l0*42+r0*8+r1*3+32)>>6+f0
v
)
[0496]
r0''=clip((r2*3+r1*8+r0*42+l0*8+l1*3+32)>>6+f0
v
)
[0497]
若则调整滤波系数aw
j
为:[3,8,42,8,3]/32,l0''=clip((l2*3+l1*8+l0*42+r0*8+r1*3+32)>>6+f1
v
)
[0498]
r0''=clip((r2*3+r1*8+r0*42+l0*8+l1*3+32)>>6+f1
v
)
[0499]
ii、l1/r1:滤波系数w
j
为:[4,5,4,3]/16,调整滤波系数aw
j
为:[4,21,4,3]/16
[0500]
若则:
[0501]
l1''=clip((l2*4+l1*21+l0*4+r0*3+16)>>5+f0
v
)
[0502]
r1''=clip((r2*4+r1*21+r0*4+l0*3+16)>>5+f0
v
)
[0503]
若则:
[0504]
l1''=clip((l2*4+l1*21+l0*4+r0*3+16)>>5+f1
v
)
[0505]
r1''=clip((r2*4+r1*21+r0*4+l0*3+16)>>5+f1
v
)
[0506]
iii、l2/r2:滤波系数w
j
为:[2,2,2,1,1]/8,调整滤波系数aw
j
为:[2,10,2,1,1]/8
[0507]
若则:
[0508]
l2''=clip((l3*2+l2*10+l1*2+l0*1+r0*1+8)>>4+f0
v
)
[0509]
r2''=clip((r3*2+r2*10+r1*2+r0*1+l0*1+8)>>4+f0
v
)
[0510]
若则:
[0511]
l2''=clip((l3*2+l2*10+l1*2+l0*1+r0*1+8)>>4+f1
v
)
[0512]
r2''=clip((r3*2+r2*10+r1*2+r0*1+l0*1+8)>>4+f1
v
)
[0513]
b)、bs=3,对边界两侧各2个像素进行滤波处理;
[0514]
i、l0/r0:滤波系数w
j
为:[1,4,6,4,1]/16,调整滤波系数aw
j
为:[1,4,22,4,1]/16,
[0515]
若则:
[0516]
l0''=clip((l2*1+l1*4+l0*22+r0*4+r1*1+16)>>5+f0
v
)
[0517]
r0''=clip((r2*1+r1*4+r0*22+l0*4+l1*1+16)>>5+f0
v
)
[0518]
若则:
[0519]
l0''=clip((l2*1+l1*4+l0*22+r0*4+r1*1+16)>>5+f1
v
)
[0520]
r0''=clip((r2*1+r1*4+r0*22+l0*4+l1*1+16)>>5+f1
v
)
[0521]
ii、l1/r1:滤波系数w
j
为:[3,8,4,1]/16,调整滤波系数aw
j
为:[3,24,4,1]/16,
[0522]
若则:
[0523]
l1''=clip((l2*3+l1*24+l0*4+r0*1+16)>>5+f0
v
)
[0524]
r1''=clip((r2*3+r1*24+r0*4+l0*1+16)>>5+f0
v
)
[0525]
若则:
[0526]
l0''=clip((l2*3+l1*24+l0*4+r0*1+16)>>5+f1
v
)
[0527]
r0''=clip((r2*3+r1*24+r0*4+l0*1+16)>>5+f1
v
)
[0528]
c)、bs=2,对边界两侧各1个像素进行滤波处理;
[0529]
l0/r0:滤波系数w
j
为:[3,10,3]/16,调整滤波系数aw
j
为:[3,26,3]/16,
[0530]
若则:
[0531]
l0''=clip((l1*3+l0*26+r0*3+16)>>5+f0
v
)
[0532]
r0''=clip((r1*3+r0*26+l0*3+16)>>5+f0
v
)
[0533]
若则:
[0534]
l0''=clip((l1*3+l0*26+r0*3+16)>>5+f1
v
)
[0535]
r0''=clip((r1*3+r0*26+l0*3+16)>>5+f1
v
)
[0536]
d)、bs=1,对边界两侧各1个像素进行滤波处理;
[0537]
l0/r0:滤波系数w
j
为:[3,1]/4,调整滤波系数aw
j
为:[7,1]/4,
[0538]
若则:
[0539]
l0''=clip((l0*7+r0*1+4)>>3+f0
v
)
[0540]
r0''=clip((r0*7+l0*1+4)>>3+f0
v
)
[0541]
若则:
[0542]
l0''=clip((l0*7+r0*1+4)>>3+f1
v
)
[0543]
r0''=clip((r0*7+l0*1+4)>>3+f1
v
)
[0544]
e)bs=0不滤波。
[0545]
当确定不需要对像素点i进行垂直dbf调整滤波,此时像素点i经过垂直dbf滤波处理后的像素值为:
[0546][0547]
实施例七
[0548]
对实施例五中的进行简化。
[0549]
a)、bs=4,对边界两侧各3个像素进行滤波处理;
[0550]
cw
j
=[1,-2,1]/4
[0551]
b)、bs=3,对边界两侧各2个像素进行滤波处理;
[0552]
cw
j
=[1,-2,1]/4
[0553]
c)、bs=2,对边界两侧各1个像素进行滤波处理;
[0554]
cw
j
=[1,-2,1]/4
[0555]
d)、bs=1,对边界两侧各1个像素进行滤波处理;
[0556]
cw
j
=[-1,1]/4
[0557]
e)bs=0不滤波。
[0558]
此时,若bs=2、3或4,则对比特征值为:
[0559][0560]
即为像素点i用于运动补偿的梯度值,在该情况下,基于当前像素的梯度进行分
类,确定是否对当前像素进行滤波调整;
[0561]
若bs=1,则对比特征值为:
[0562][0563]
当确定了对比特征值时,可以基于该对比特征值和调整滤波阈值确定是否需要对像素点i进行垂直dbf调整滤波处理,并当或时,确定需要对像素点i进行垂直dbf调整滤波处理。
[0564]
示例性的,t
v
为第一调整滤波阈值,-t
v
为第二调整滤波阈值。
[0565]
在需要进行垂直dbf调整滤波处理的情况下:
[0566]
a)、bs=4,对边界两侧各3个像素进行滤波处理;
[0567]
i、l0/r0:滤波系数w
j
为:[3,8,10,8,3]/32
[0568]
若则调整滤波系数aw
j
为:[3,8,42,8,3]/32,
[0569]
l0''=clip((l2*3+l1*8+l0*42+r0*8+r1*3+32)>>6+f0
h
)
[0570]
r0''=clip((r2*3+r1*8+r0*42+l0*8+l1*3+32)>>6+f0
h
)
[0571]
若则调整滤波系数aw
j
为:[3,8,42,8,3]/32,
[0572]
l0''=clip((l2*3+l1*8+l0*42+r0*8+r1*3+32)>>6+f1
h
)
[0573]
r0''=clip((r2*3+r1*8+r0*42+l0*8+l1*3+32)>>6+f1
h
)
[0574]
ii、l1/r1:滤波系数w
j
为:[4,5,4,3]/16,调整滤波系数aw
j
为:[4,21,4,3]/16
[0575]
若则:
[0576]
l1''=clip((l2*4+l1*21+l0*4+r0*3+16)>>5+f0
h
)
[0577]
r1''=clip((r2*4+r1*21+r0*4+l0*3+16)>>5+f0
h
)
[0578]
若则:
[0579]
l1''=clip((l2*4+l1*21+l0*4+r0*3+16)>>5+f1
h
)
[0580]
r1''=clip((r2*4+r1*21+r0*4+l0*3+16)>>5+f1
h
)
[0581]
iii、l2/r2:滤波系数w
j
为:[2,2,2,1,1]/8,调整滤波系数aw
j
为:[2,10,2,1,1]/8
[0582]
若则:
[0583]
l2''=clip((l3*2+l2*10+l1*2+l0*1+r0*1+8)>>4+f0
h
)
[0584]
r2''=clip((r3*2+r2*10+r1*2+r0*1+l0*1+8)>>4+f0
h
)
[0585]
若则:
[0586]
l2''=clip((l3*2+l2*10+l1*2+l0*1+r0*1+8)>>4+f1
h
)
[0587]
r2''=clip((r3*2+r2*10+r1*2+r0*1+l0*1+8)>>4+f1
h
)
[0588]
b)、bs=3,对边界两侧各2个像素进行滤波处理;
[0589]
i、l0/r0:滤波系数w
j
为:[1,4,6,4,1]/16,调整滤波系数aw
j
为:[1,4,22,4,1]/16,
[0590]
若则:
[0591]
l0''=clip((l2*1+l1*4+l0*22+r0*4+r1*1+16)>>5+f0
h
)
[0592]
r0''=clip((r2*1+r1*4+r0*22+l0*4+l1*1+16)>>5+f0
h
)
[0593]
若则:
[0594]
l0''=clip((l2*1+l1*4+l0*22+r0*4+r1*1+16)>>5+f1
h
)
[0595]
r0''=clip((r2*1+r1*4+r0*22+l0*4+l1*1+16)>>5+f1
h
)
[0596]
ii、l1/r1:滤波系数w
j
为:[3,8,4,1]/16,调整滤波系数aw
j
为:[3,24,4,1]/16,
[0597]
若则:
[0598]
l1''=clip((l2*3+l1*24+l0*4+r0*1+16)>>5+f0
h
)
[0599]
r1''=clip((r2*3+r1*24+r0*4+l0*1+16)>>5+f0
h
)
[0600]
若则:
[0601]
l0''=clip((l2*3+l1*24+l0*4+r0*1+16)>>5+f1
h
)
[0602]
r0''=clip((r2*3+r1*24+r0*4+l0*1+16)>>5+f1
h
)
[0603]
c)、bs=2,对边界两侧各1个像素进行滤波处理;
[0604]
l0/r0:滤波系数w
j
为:[3,10,3]/16,调整滤波系数aw
j
为:[3,26,3]/16,
[0605]
若则:
[0606]
l0''=clip((l1*3+l0*26+r0*3+16)>>5+f0
h
)
[0607]
r0''=clip((r1*3+r0*26+l0*3+16)>>5+f0
h
)
[0608]
若则:
[0609]
l0''=clip((l1*3+l0*26+r0*3+16)>>5+f1
h
)
[0610]
r0''=clip((r1*3+r0*26+l0*3+16)>>5+f1
h
)
[0611]
d)、bs=1,对边界两侧各1个像素进行滤波处理;
[0612]
l0/r0:滤波系数w
j
为:[3,1]/4,调整滤波系数aw
j
为:[7,1]/4,
[0613]
若则:
[0614]
l0''=clip((l0*7+r0*1+4)>>3+f0
h
)
[0615]
r0''=clip((r0*7+l0*1+4)>>3+f0
h
)
[0616]
若则:
[0617]
l0''=clip((l0*7+r0*1+4)>>3+f1
h
)
[0618]
r0''=clip((r0*7+l0*1+4)>>3+f1
h
)
[0619]
e)bs=0不滤波。
[0620]
当确定不需要对像素点i进行水平dbf调整滤波处理,此时像素点i经过水平dbf滤波处理后的像素值为:
[0621][0622]
实施例八
[0623]
在帧级采用实施例二~实施例七中任一实施例描述的方案
[0624]
帧级包括图像参数集级或slice级,图像参数集级即一帧图像,而一帧图像可以包括n(n为正整数)个slice。
[0625]
对于编码端设备,需要在图像头或slice头编码传递如下语法信息,即一帧图像或一个slice采用一套下面的语法(该语法的级别为图像参数集级或slice级),该图像或slice内的所有编码块均复用同一套系数。
[0626]
示例性的,该一套系数可以包括:调整滤波阈值(可以包括垂直方向调整滤波阈值或/和水平方向调整滤波阈值)以及调整滤波偏移量(可以包括垂直方向调整滤波偏移量或/和水平方向调整滤波偏移量)。
[0627]
对于解码端设备,需要在图像头或slice头解码如下语法信息。
[0628]
1、垂直方向调整滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能调整滤波。
[0629]
1.1、若使能,则需要编解码如下信息:
[0630]
1.1.1、垂直方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈
值。
[0631]
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
[0632]
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
[0633]
示例性的,当调整滤波阈值为固定值,如t
v
=2,-t
v
=-2,则无需编解码阈值索引。
[0634]
1.1.2、垂直方向调整滤波偏移量索引。f0
v
和f1
v
的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。
[0635]
示例性的,调整滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。
[0636]
示例性的,当调整滤波偏移量为固定值,则无需编码该偏移量索引。
[0637]
示例性的,f0
v
和f1
v
的候选列表可以相同,也可以不同,例如,f0
v
的候选列表{-1,-2,-3,-4},f1
v
的候选列表为{1,2,3,4}。
[0638]
1.2、若未使能,则不需要对1.1.1和1.1.2中的阈值索引和偏移量索引进行编解码。
[0639]
2、水平方向调整滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能调整滤波。
[0640]
2.1、若使能,则需要编解码如下信息:
[0641]
2.1.1、水平方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
[0642]
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
[0643]
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
[0644]
示例性的,当调整滤波阈值为固定值,如t
h
=2,-t
h
=-2,则无需编解码阈值索引。
[0645]
2.1.2、水平方向调整滤波偏移量索引。f0
h
和f1
h
的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。
[0646]
示例性的,调整滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。
[0647]
示例性的,当调整滤波偏移量为固定值,则无需编码该偏移量索引。
[0648]
示例性的,f0
h
和f1
h
的候选列表可以相同,也可以不同,例如,f0
h
的候选列表{-1,-2,-3,-4},f1
h
的候选列表为{1,2,3,4}。
[0649]
2.2、若未使能,则不需要对2.1.1和2.1.2中阈值索引和偏移量索引进行编解码。
[0650]
实施例九
[0651]
区别于实施例八的,实施例九中,调整滤波参数(包括调整滤波阈值或调整滤波偏移量)以参数集的形式出现,即不再单独编解码增调整波阈值或调整滤波偏移量的索引信息,而是编解码调整滤波阈值和调整滤波偏移量构成的参数集的索引信息。
[0652]
在帧级采用实施例二~实施例七中任一实施例描述的方案
[0653]
帧级包括图像参数集级或slice级,图像参数集级即一帧图像,而一帧图像可以包
括n(n为正整数)个slice。
[0654]
对于编码端设备,需要在图像头或slice头编码传递如下语法信息,即一帧图像或一个slice采用一套下面的语法(该语法的级别为图像参数集级或slice级),该图像或slice内的所有编码块均复用同一套系数。
[0655]
示例性的,该一套系数可以包括:由调整滤波阈值和调整滤波偏移量构成的调整滤波参数集。对于解码端设备,需要在图像头或slice头解码如下语法信息。
[0656]
1、垂直方向调整滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能调整滤波。
[0657]
1.1、若使能,则需要编解码如下信息:
[0658]
1.1.1、垂直方向调整滤波参数索引,垂直方向调整滤波参数可以以参数集的形式出现,该参数索引可以包括但不限于{t
v
,f0
v
,f1
v
}在参数集候选列表t{t
v
,f0
v
,f1
v
}中的索引,即基于该索引,可以从参数集候选列表t中确定t
v
,f0
v
和f1
v
的值。
[0659]
示例性的,垂直方向调整滤波参数可以为编解码端预设的固定参数集,或,存储的时域上已编码其他帧的垂直方向滤波参数,此时,可以不需要对该参数索引进行编解码。
[0660]
1.2、若未使能,则不需要对1.1.1中的参数索引进行编解码。
[0661]
2、水平方向调整滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能调整滤波。
[0662]
2.1、若使能,则需要编解码如下信息:
[0663]
2.1.1、水平方向调整滤波参数索引,水平方向调整滤波参数可以以参数集的形式出现,该参数索引可以包括但不限于{t
h
,f0
h
,f1
h
}在参数集候选列表t{t
h
,f0
h
,f1
h
}中的索引,即基于该索引,可以从参数集候选列表t中确定t
h
,f0
h
和f1
h
的值。
[0664]
示例性的,水平方向调整滤波参数可以为编解码端预设的固定参数集,或,存储的时域上已编码其他帧的水平方向滤波参数,此时,可以不需要对该参数索引进行编解码。
[0665]
2.2、若未使能,则不需要对2.1.1中的参数索引进行编解码。
[0666]
实施例十
[0667]
在ctu级采用实施例二~实施例七中描述的方案
[0668]
ctu为最大编码单元,对于i帧,ctu的尺寸一般为64*64;对于非i帧(如b帧或p帧),ctu的尺寸一般为128*128。
[0669]
每个ctu编码一套系数,即该ctu下的每个编码块均采用该套系数,在每个ctu内编解码该系数的具体实现可以参见实施例八或实施例九中编解码相应系数的具体实现。
[0670]
示例性的,该一套系数可以包括调整滤波阈值以及调整滤波偏移量(对应实施例八),或,由调整滤波阈值和调整滤波偏移量构成的调整滤波参数集(对应实施例九)。
[0671]
示例性的,对于解码端设备,需要在ctu头解码如下语法信息。
[0672]
1、垂直方向调整滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能调整滤波。
[0673]
1.1、若使能,则需要编解码如下信息:
[0674]
1.1.1、垂直方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
[0675]
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个
候选值的候选列表。
[0676]
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
[0677]
示例性的,当调整滤波阈值为固定值,如t
v
=2,-t
v
=-2,则无需编解码阈值索引。
[0678]
1.1.2、垂直方向调整滤波偏移量索引。f0
v
和f1
v
的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。
[0679]
示例性的,调整滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。
[0680]
示例性的,当调整滤波偏移量为固定值,则无需编码该偏移量索引。
[0681]
示例性的,f0
v
和f1
v
的候选列表可以相同,也可以不同,例如,f0
v
的候选列表{-1,-2,-3,-4},f1
v
的候选列表为{1,2,3,4}。
[0682]
1.2、若未使能,则不需要对1.1.1和1.1.2中的阈值索引和偏移量索引进行编解码。
[0683]
2、水平方向调整滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能调整滤波。
[0684]
2.1、若使能,则需要编解码如下信息:
[0685]
2.1.1、水平方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
[0686]
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
[0687]
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
[0688]
示例性的,当调整滤波阈值为固定值,如t
h
=2,-t
h
=-2,则无需编解码阈值索引。
[0689]
2.1.2、水平方向调整滤波偏移量索引。f0
h
和f1
h
的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。
[0690]
示例性的,调整滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。
[0691]
示例性的,当调整滤波偏移量为固定值,则无需编码该偏移量索引。
[0692]
示例性的,f0
h
和f1
h
的候选列表可以相同,也可以不同,例如,f0
h
的候选列表{-1,-2,-3,-4},f1
h
的候选列表为{1,2,3,4}。
[0693]
2.2、若未使能,则不需要对2.1.1和2.1.2中阈值索引和偏移量索引进行编解码。
[0694]
实施例十一
[0695]
在cu级采用实施例二~实施例七中描述的方案
[0696]
cu的尺寸一般在4*4~128*128范围内。
[0697]
每个cu编码一套系数,即该cu下的每个编码块均采用该套系数,在每个cu内编解码该系数的具体实现可以参见实施例八或实施例九中编解码相应系数的具体实现。
[0698]
示例性的,该一套系数可以包括调整滤波阈值以及调整滤波偏移量(对应实施例八),或,由调整滤波阈值和调整滤波偏移量构成的调整滤波参数集(对应实施例九)。
[0699]
示例性的,对于解码端设备,需要在每个cu解码如下语法信息。
[0700]
1、垂直方向调整滤波使能标记,该标记用于标识当前图像或slice在垂直方向是否使能调整滤波。
[0701]
1.1、若使能,则需要编解码如下信息:
[0702]
1.1.1、垂直方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
[0703]
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
[0704]
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
[0705]
示例性的,当调整滤波阈值为固定值,如t
v
=2,-t
v
=-2,则无需编解码阈值索引。
[0706]
1.1.2、垂直方向调整滤波偏移量索引。f0
v
和f1
v
的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。
[0707]
示例性的,调整滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。
[0708]
示例性的,当调整滤波偏移量为固定值,则无需编码该偏移量索引。
[0709]
示例性的,f0
v
和f1
v
的候选列表可以相同,也可以不同,例如,f0
v
的候选列表{-1,-2,-3,-4},f1
v
的候选列表为{1,2,3,4}。
[0710]
1.2、若未使能,则不需要对1.1.1和1.1.2中的阈值索引和偏移量索引进行编解码。
[0711]
2、水平方向调整滤波使能标记,该标记用于标识当前图像或slice在水平方向是否使能调整滤波。
[0712]
2.1、若使能,则需要编解码如下信息:
[0713]
2.1.1、水平方向调整滤波阈值索引。该阈值索引优选为1个bin,即有两个候选阈值。
[0714]
示例性的,调整滤波阈值候选列表可以为{1,2}或{2,4},也可以为其他包括两个候选值的候选列表。
[0715]
示例性的,当第一调整滤波阈值和第二调整滤波阈值互为相反数时,仅需编码一个阈值索引。
[0716]
示例性的,当调整滤波阈值为固定值,如t
h
=2,-t
h
=-2,则无需编解码阈值索引。
[0717]
2.1.2、水平方向调整滤波偏移量索引。f0
h
和f1
h
的候选值可以相同,也可以不同,偏移量索引优选为2个bin,即包括4个候选偏移量。
[0718]
示例性的,调整滤波偏移量候选列表可以为{1,2,3,4}或{2,4,6,8},也可以为其他包括4个候选值的候选列表。
[0719]
示例性的,当调整滤波偏移量为固定值,则无需编码该偏移量索引。
[0720]
示例性的,f0
h
和f1
h
的候选列表可以相同,也可以不同,例如,f0
h
的候选列表{-1,-2,-3,-4},f1
h
的候选列表为{1,2,3,4}。
[0721]
2.2、若未使能,则不需要对2.1.1和2.1.2中阈值索引和偏移量索引进行编解码。
[0722]
实施例十二
[0723]
在cu级采用实施例二~实施例七描述的方案
2,-3,-4},f1
h
的候选列表为{1,2,3,4}。
[0749]
1.2.2.2、若未使能,则不需要对1.2.2.1.1和1.2.2.1.2中阈值索引和偏移量索引进行编解码。
[0750]
实施例十三
[0751]
在帧级和ctu级采用实施例二~实施例七中任一实施例描述的方案
[0752]
在帧级增加一个标志位(即上述预设标志位),该标志位用于指示当前帧采用帧级语法使能调整滤波或ctu级语法使能调整滤波。编解码端需要在帧级编解码该标志位。
[0753]
当当前帧采用帧级语法使能调整滤波时,在每帧图像内编解码系数的具体实现可以参见实施例八或实施例九。
[0754]
当当前帧采用ctu级语法使能调整滤波时,在每个ctu内编解码系数的具体实现可以参见实施例十。
[0755]
实施例十四
[0756]
在帧级、ctu级和cu级采用实施例二~实施例七中任一实施例描述的方案
[0757]
在帧级增加一个标志位,该标志用于指示当前帧是采用帧级语法使能调整滤波或ctu级语法使能调整滤波。编解码端需要在帧级编解码该标志位。
[0758]
当当前帧采用帧级语法使能调整滤波时,在每帧图像内编解码系数的具体实现可以参见实施例八或实施例九。
[0759]
当当前帧采用ctu级语法使能调整滤波时,还需要在ctu级增加一个标志位,该标志位用于指示当前ctu采用ctu级语法使能调整滤波或cu级语法使能调整滤波。编解码端需要在ctu级编解码该标志位。
[0760]
当当前帧采用ctu级语法使能调整滤波时,在每个ctu内编解码系数的具体实现可以参见实施例十。
[0761]
当当前帧采用cu级语法使能调整滤波时,在每个cu内编解码系数的具体实现可以参见实施例十一或实施例十二。
[0762]
实施例十五
[0763]
可以针对当前块的亮度分量或/和色度分量,采用实施例一~实施例十四中任一实施例描述的方案。
[0764]
以上对本技术提供的方法进行了描述。下面对本技术提供的装置进行描述:
[0765]
请参见图7,为本技术实施例提供的一种滤波处理装置的硬件结构示意图。该滤波处理装置可包括处理器701、存储有机器可执行指令的机器可读存储介质702。处理器701与机器可读存储介质702可经由系统总线703通信。并且,通过读取并执行机器可读存储介质702中与滤波处理控制逻辑对应的机器可执行指令,处理器701可执行上文描述的滤波处理方法。
[0766]
本文中提到的机器可读存储介质702可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0767]
如图8所示,从功能上划分,上述滤波处理装置可以包括:
[0768]
获取单元,用于对于当前块的目标像素点,获取所述目标像素点的对比滤波系数;所述对比滤波系数用于参与判断是否对所述目标像素点进行调整滤波处理;
[0769]
所述获取单元,还用于当基于所述对比滤波系数,以及调整滤波阈值,确定需要对所述目标像素点进行调整滤波处理时,获取所述目标像素点的调整滤波系数;
[0770]
滤波处理单元,用于基于所述调整滤波系数对所述目标像素点进行调整滤波处理。
[0771]
作为一种可能的实施例,所述获取单元,具体用于当确定所述目标像素点满足滤波处理条件时,获取所述目标像素点的对比滤波系数;
[0772]
所述获取单元,还用于在所述获取所述目标像素点的对比滤波系数之后,基于所述对比滤波系数,以及调整滤波阈值,确定是否需要对所述目标像素点进行调整滤波处理。
[0773]
作为一种可能的实施例,所述获取单元,具体用于:
[0774]
基于所述对比滤波系数,以及所述目标像素点的参考像素的像素值,确定对比特征值;
[0775]
当所述对比特征值大于第一调整滤波阈值,或,所述对比特征值小于第二调整滤波阈值时,确定需要对所述目标像素点进行调整滤波处理;
[0776]
所述第一调整滤波阈值大于所述第二调整滤波阈值。
[0777]
作为一种可能的实施例,所述滤波处理单元,具体用于:
[0778]
当所述对比特征值大于第一调整滤波阈值时,基于所述调整滤波系数以及第一调整滤波偏移量,对所述目标像素点进行调整滤波处理;
[0779]
当所述对比特征值小于第二调整滤波阈值时,基于所述调整滤波系数以及第二调整滤波偏移量,对所述目标像素点进行调整滤波处理。
[0780]
作为一种可能的实施例,如图9所示,所述装置还包括
[0781]
编码/解码单元,用于对阈值索引进行编码/解码,所述阈值索引用于表征所述第一调整滤波阈值或所述第二调整滤波阈值在阈值候选列表中的位置;
[0782]
以及,对偏移量索引进行编码/解码,所述偏移量索引用于表征所述第一调整滤波偏移量或所述第二调整滤波偏移量在偏移量候选列表中的位置。
[0783]
或者,
[0784]
编码/解码单元,用于对调整滤波参数集索引进行编码/解码,所述调整滤波参数集索引用于表征所述第一调整滤波阈值、所述第二调整滤波阈值、所述第一调整滤波偏移量以及所述第二调整滤波偏移量对应的调整滤波参数集在调整滤波参数集候选列表中的位置。
[0785]
作为一种可能的实施例,所述第一调整滤波阈值和所述第二调整滤波阈值互为相反数;
[0786]
或/和,所述第一调整滤波偏移量和所述第二调整滤波偏移量互为相反数。
[0787]
作为一种可能的实施例,所述获取单元,还用于当所述对比特征值小于等于所述第一调整滤波阈值,且大于等于所述第二调整滤波阈值时,确定不需要对所述目标像素点进行调整滤波处理。
[0788]
作为一种可能的实施例,所述获取单元,具体用于:
[0789]
确定所述目标像素点的滤波系数;
[0790]
基于所述目标像素点的滤波系数确定所述目标像素点的对比滤波系数。
[0791]
作为一种可能的实施例,所述获取单元,具体用于通过以下策略实现基于所述目标像素点的滤波系数确定所述目标像素点的对比滤波系数:
[0792][0793]
其中,cw
j
为像素点j的对比滤波系数,w
j
为像素点j的滤波系数,当j=0时,像素点j为所述目标像素点,若所述目标像素点为边界左侧或上方的像素点,则当j=-n时,像素点j为所述目标像素点左侧或上方的第n个像素点;当j=m时,像素点j为所述目标像素点右侧或下方的第m个像素点;若所述目标像素点为边界右侧或下方的像素点,则当j=-n时,像素点j为所述目标像素点右侧或下方的第n个像素点;当j=m时,像素点j为所述目标像素点左侧或上方的第m个像素点,m,n为正整数。
[0794]
作为一种可能的实施例,所述获取单元,具体用于:
[0795]
基于所述对比滤波系数,以及所述目标像素点的参考像素的像素值,确定所述目标像素点的参考像素的像素值的加权和;
[0796]
将所述加权和确定为所述对比特征值。
[0797]
作为一种可能的实施例,所述获取单元,具体用于:
[0798]
基于所述对比滤波系数,以及所述目标像素点的参考像素的像素值,确定所述目标像素点用于运动补偿的梯度值;
[0799]
将所述梯度值确定为所述对比特征值。
[0800]
作为一种可能的实施例,所述获取单元,具体用于:
[0801]
基于所述目标像素点的滤波系数确定所述目标像素点的调整滤波系数。
[0802]
作为一种可能的实施例,所述获取单元,具体用于通过以下策略实现基于所述目标像素点的滤波系数确定所述目标像素点的调整滤波系数:
[0803][0804]
其中,aw
j
为像素点j的调整滤波系数,w
j
为像素点j的滤波系数,当j=0时,像素点j为所述目标像素点,若所述目标像素点为边界左侧或上方的像素点,则当j=-n时,像素点j为所述目标像素点左侧或上方的第n个像素点;当j=m时,像素点j为所述目标像素点右侧或下方的第m个像素点;若所述目标像素点为边界右侧或下方的像素点,则当j=-n时,像素点j为所述目标像素点右侧或下方的第n个像素点;当j=m时,像素点j为所述目标像素点左侧或上方的第m个像素点,m,n为正整数。
[0805]
作为一种可能的实施例,所述滤波处理单元,具体用于:
[0806]
当调整滤波处理后的像素值大于预设取值范围的上限时,将所述调整滤波处理后的像素值设置为所述预设取值范围的上限;
[0807]
当调整滤波处理后的像素值小于预设取值范围的下限时,将所述调整滤波处理后的像素值设置为所述预设取值范围的下限。
[0808]
作为一种可能的实施例,所述获取单元,具体用于:
[0809]
当所述当前块使能调整滤波时,获取所述目标像素点的对比滤波系数。
[0810]
作为一种可能的实施例,利用指定语法标识所述当前块是否使能调整滤波;
[0811]
所述指定语法包括以下之一或多个:
[0812]
序列参数集级语法、图像参数集级语法以及片slice级语法;
[0813]
或,
[0814]
所述指定语法包括以下之一或多个:
[0815]
序列参数集级语法、图像参数集级语法、编码树单元ctu级语法以及编码单元cu级语法。
[0816]
作为一种可能的实施例,当所述指定语法的候选级别包括至少两个级别时,基于预设标志位确定所述指定语法的级别,所述预设标志位用于指示所述指定语法的级别。
[0817]
作为一种可能的实施例,所述预设标志位的语法级别与所述指定语法的候选级别中的非最低级别匹配。
[0818]
作为一种可能的实施例,当所述指定语法的候选级别包括序列参数集级语法和图像参数集级语法时,所述预设标志位的语法级别为序列参数集级;
[0819]
当所述指定语法的候选级别包括图像参数集级语法和slice级语法时,所述预设标志位的语法级别为图像参数集级;
[0820]
当所述指定语法的候选级别包括序列参数集级语法、图像参数集级语法以及slice级语法时,所述预设标志位包括序列参数集级的标志位和图像参数集级的标志位;
[0821]
当所述指定语法的候选级别包括图像参数集级语法和ctu级语法时,所述预设标志位的语法级别为图像参数集级;
[0822]
当所述指定语法的候选级别包括ctu级语法和cu级语法时,所述预设标志位的语法级别为ctu级;
[0823]
当所述指定语法的候选级别包括图像参数集级语法、ctu级语法以及cu级语法时,所述预设标志位包括ctu级的标志位和cu级的标志位。
[0824]
作为一种可能的实施例,所述滤波处理包括垂直去块滤波dbf滤波处理、水平dbf滤波处理、样本自适应补偿sao滤波处理或自适应环路滤波alf滤波处理。
[0825]
在一些实施例中,本技术还提供了一种摄像机设备,包括上述任一实施例中的滤波处理装置,该装置可以应用在编码装置中,也可以用在解码装置中。
[0826]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0827]
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1