CN115589484A - 滤波方法、装置及设备 - Google Patents

滤波方法、装置及设备 Download PDF

Info

Publication number
CN115589484A
CN115589484A CN202211146011.1A CN202211146011A CN115589484A CN 115589484 A CN115589484 A CN 115589484A CN 202211146011 A CN202211146011 A CN 202211146011A CN 115589484 A CN115589484 A CN 115589484A
Authority
CN
China
Prior art keywords
image
classification
current image
block
wiener filtering
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.)
Pending
Application number
CN202211146011.1A
Other languages
English (en)
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 CN202211146011.1A priority Critical patent/CN115589484A/zh
Publication of CN115589484A publication Critical patent/CN115589484A/zh
Pending legal-status Critical Current

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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch

Landscapes

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

Abstract

本申请提供一种滤波方法、装置及设备,该滤波方法包括:当确定需要对当前图像进行维纳滤波时,确定对所述当前图像进行维纳滤波的最优块划分方式;基于所述最优块划分方式对所述当前图像进行维纳滤波。该方法可以优化维纳滤波的效果,提高解码性能。

Description

滤波方法、装置及设备
技术领域
本申请涉及视频编解码技术,尤其涉及一种滤波方法、装置及设备。
背景技术
新一代视频编码标准(Versatile Video Coding,简称VCC)编码框架中使用了自适应环路滤波器(Adaptive Loop Filter,ALF)技术,其根据原始信号和失真信号计算得到均方意义下的最优滤波器,即维纳滤波器。使用滤波器对重建图进行滤波操作(可以称为维纳滤波),提升重建图质量。
然而实践发现,ALF技术中使用极少的参数对大量的像素点进行滤波,像素复杂度较高,由于维纳滤波的本质为线性回归模型,对于复杂度较高的大量像素点进行滤波时,线性回归模型会处于欠拟合状态,降低滤波效果。
发明内容
有鉴于此,本申请提供一种滤波方法、装置及设备。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种滤波方法,应用于解码端设备,该方法包括:
当确定需要对当前图像进行维纳滤波时,确定对所述当前图像进行维纳滤波的最优块划分方式;
基于所述最优块划分方式对所述当前图像进行维纳滤波。
根据本申请实施例的第二方面,提供一种滤波方法,应用于编码端设备,该方法包括:
确定对当前图像进行维纳滤波的最优块划分方式;
当确定需要对所述当前图像进行维纳滤波时,将在所述最优块划分方式下所述当前图像的各图像块所属分类的滤波器系数,通过所述当前图像的编码码流通知给解码端设备。
根据本申请实施例的第三方面,提供一种滤波装置,应用于解码端设备,所述装置包括:确定单元和滤波单元;
所述确定单元,用于当确定需要对当前图像进行维纳滤波时,确定对所述当前图像进行维纳滤波的最优块划分方式;
滤波单元,用于基于所述最优块划分方式对所述当前图像进行维纳滤波。
根据本申请实施例的第四方面,提供一种滤波装置,应用于编码端设备,所述装置包括:确定单元和通知单元;
所述确定单元,用于确定对当前图像进行维纳滤波的最优块划分方式;
所述通知单元,用于当确定需要对所述当前图像进行维纳滤波时,将在所述最优块划分方式下所述当前图像的各图像块所属分类的滤波器系数,通过所述当前图像的编码码流通知给解码端设备。
根据本申请实施例的第五方面,提供一种解码端设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现上述第一方面所述的方法。
根据本申请实施例的第六方面,提供一种机器可读存储介质,所述存储介质内存储有能够被所述处理器执行的机器可执行指令,所述机器可执行指令被处理器执行时实现上述第一方面所述方法。
根据本申请实施例的第七方面,提供一种编码端设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现上述第二方面所述的方法。
根据本申请实施例的第八方面,提供一种机器可读存储介质,所述存储介质内存储有能够被所述处理器执行的机器可执行指令,所述机器可执行指令被处理器执行时实现上述第二方面所述方法。
本申请提供的技术方案至少可以带来以下有益效果:
通过在确定需要对当前图像进行维纳滤波时,确定对当前图像进行维纳滤波的最优块划分方式,并基于该最优块划分方式对所述当前图像进行维纳滤波,优化了维纳滤波的效果,提高了解码性能。
附图说明
图1A是本申请一示例性实施例示出的一种编码架构的示意图;
图1B是本申请一示例性实施例示出的一种亮度分量的维纳滤波处理流程的示意图;
图1C是本申请一示例性实施例示出的滤波器形状的示意图;
图1D是本申请一示例性实施例示出的4*4图像块计算梯度的位置的示意图;
图1E是本申请一示例性实施例示出的8*8图像块、2*2图像块和1*1图像块计算梯度的位置的示意图;
图1F是本申请一示例性实施例示出的不同方向的几何变换下的亮度分量的滤波器系数的示意图;
图2是本申请一示例性实施例示出的一种滤波方法的流程示意图;
图3是本申请一示例性实施例示出的一种基于最优块划分方式对当前图像进行维纳滤波的流程示意图;
图4是本申请一示例性实施例示出的一种对多个图像块进行分类,以确定所述多个图像块的分类结果的流程示意图;
图5是本申请一示例性实施例示出的一种线性回归模型误差分析示意图;
图6是本申请一示例性实施例示出的一种滤波方法的流程示意图;
图7是本申请一示例性实施例示出一种确定该候选块划分方式下对当前图像进行维纳滤波的率失真代价的流程示意图;
图8是本申请一示例性实施例示出一种将第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为第二分类,另一部分图像块的分类保持为第一分类的流程示意图;
图9A是本申请一示例性实施例示出一种图像块的4个方向的示意图;
图9B是本申请一示例性实施例示出一种滤波器系数删除位置的示意图;
图10是本申请一示例性实施例示出一种滤波装置的结构示意图;
图11是本申请一示例性实施例示出一种解码端设备的硬件结构示意图;
图12是本申请一示例性实施例示出一种滤波装置的结构示意图;
图13是本申请一示例性实施例示出一种编码端设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对本申请实施例涉及的技术术语以及维纳滤波技术(ALF技术)的实现进行简单说明。
一、技术术语
1、率失真原则(RDO,Rate-Distortion Optimized):评价编码效率的指标包括:码率和峰值信噪比(Peak Signal to Noise Ratio,简称PSNR)。码率越小,则压缩率越大;PSNR越大,重建图像质量越好。在模式选择的时候,判别公式实质上也就是对二者的综合评价。
模式对应的代价:J(mode)=D+λ*R。其中,D表示失真(Distortion),通常使用SSE(差值均方和)指标来衡量,SSE是指重建块与源图像块的差值均方和;λ是拉格朗日乘子;R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。
在模式选择时,若使用RDO原则去对编码模式做比较决策,通常可以保证编码性能最佳。
2、树形编码单元(Coding Tree Unit,简称CTU):传统的视频编码都是基于宏块实现的,对于4:2:0采样格式的视频,一个宏块包含一个16×16大小的亮度块和两个8×8大小的色度块,考虑到高清视频/超清视频的自身特性,通用视频编码(Versatile VideoCoding,简称VVC)中引入了CTU,其尺寸由编码器指定,允许大于宏块尺寸。同一处位置的一个亮度树形编码单元(Coding Tree Block,简称CTB)和两个色度CTB,再加上相应的语法元素形成一个CTU。在VVC中对于一个L×L大小的亮度CTB,L∈{8,16,32,64,128}。
亮度CTB大小取值范围是:{8×8,16×16,32×32,64×64,128×128}
色度CTB大小取值范围是{4×4,8×8,16×16,32×32,64×64}
在高分辨率视频编码过程中,使用较大的CTB可以获得更好的压缩效果。
二、维纳滤波技术的实现
请参见图1A,维纳滤波在视频编码框架中的位置如图1A所示,如图1A 所示,视频编码一般包括预测、变换、量化以及熵编码等过程。
其中,预测可以分为帧内预测和帧间预测,帧内预测是利用周围已编码块作为参考对当前未编码块进行预测,有效去除空域上的冗余。帧间预测是使用邻近已编码图像对当前图像进行预测,有效去除时域上的冗余。
变换是指将图像从空间域转换至变换域,利用变换系数对图像加以表示。绝大多数图像都含有较多平坦区域和缓慢变化的区域,适当的变换可以使图像由在空间域的分散分布转换为在变换域的相对集中分布,去除信号之间的频域相关性,配合量化过程,可以有效压缩码流。
熵编码是一种无损编码方式,可以把一系列元素符号转变为一个用来传输或存储的二进制码流,输入的符号可能包括量化后的变换系数、运动矢量信息、预测模式信息,变换量化相关语法等。熵编码可以有效地去除视频元素符号的冗余。
上述是以编码为例进行介绍,视频解码与视频编码的过程是相对的,即视频解码通常包括熵解码、预测、反量化、反变换、滤波等过程,各个过程的实现原理与熵编码相同或相似。
维纳滤波过程在DB(Deblock)和SAO(Sample adaptiveoffset,采样自适应补偿)过程之后,即解码端设备对DB、SAO以及滤波后的重建图像进行恢复。
由于人眼对色度分量的敏感程度弱于对亮度分量的敏感程度,因此ALF技术对亮度分量的滤波过程更加细致,色度分量的滤波过程较为简单。
在一种可能的实施例中,请参见图1B,亮度的维纳滤波处理流程如下:
1、将当前图像的亮度分量划分为多个4*4的亮度块,并对多个4*4亮度块进行分类,整帧图像最多分成25类。
2、计算各4*4块亮度块的4个方向(水平、垂直和对角)的梯度,确定像素块的几何变换方向。
3、用维纳滤波原理计算各分类中的滤波参数,即确定图1C(a)中滤波器系数C={c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12}的值。
4、对亮度块的25个分类进行合并。
5、确定CTU级滤波器的开/关和帧级滤波器的开/关。
色度维纳滤波处理流程较为简单,因为没有分类的划分,只包括如下两个步骤:
1、将当前图像的色度分量划分为多个4*4的色度块,全部色度块为同一类,用维纳滤波原理计算计算滤波参数,即确定图1C(b)中滤波系数C={c1,c2, c3,c4,c5,c6}。
2、确定CTU级滤波器的开/关和帧级滤波开关。
下面分别对维纳滤波处理流程中各步骤的实现进行更加详细说明。
A.滤波器形状
维纳滤波技术采用图1C所示的钻石型滤波器。若当前CTU被标记为需要进行维纳滤波,则按照下式对CTU内的每个像素R(i,j)进行滤波。
示例性的,L表示滤波器的长度,f(k,l)为待确定的滤波器的参数(即滤波器系数),解码时可从编码码流中获得。
示例性的,亮度分量的滤波器尺寸为7*7,色度分量的滤波器尺寸为5×5。
B.块的分类方法
维纳滤波技术中采用1-D Laplacian算子计算4*4亮度块的水平、垂直、对角方向的梯度gv、gh、gd0、gd1,进一步得到一个表征方向的D(取值范围为0到4)和表征强度的
Figure BDA0003855274530000051
(取值范围为0到4),最终得到其所属类别
Figure BDA0003855274530000052
(共25类)。对于色度分量,无需进行下述的分类。
D的获得方法如下:
首先,基于下面的式子获得
Figure BDA0003855274530000053
Figure BDA0003855274530000054
四个变量的值。
Figure BDA0003855274530000055
Figure BDA0003855274530000056
Figure BDA0003855274530000057
Figure BDA0003855274530000058
示例性的,为了降低复杂度,采用了下采样的1-D Laplacian算子,如图 1D所示,每隔一个像素点采样一个像素点,样本数量减少一半。
示例性的,对于8*8、2*2以及1*1的图像块,进行分类时计算梯度的位置的示意图可以如图1E所示。
基于下式获得所需四个参数:
Figure BDA0003855274530000059
Figure BDA0003855274530000061
然后,根据下面的过程,获得相应的D:
1)、若
Figure BDA0003855274530000062
Figure BDA0003855274530000063
则D=0;
2)、若
Figure BDA0003855274530000064
则进行第3步,否则进行第4步;
3)、若
Figure BDA0003855274530000065
则D=2;若
Figure BDA0003855274530000066
则D=1;
4)、若
Figure BDA0003855274530000067
则D=4;若
Figure BDA0003855274530000068
则D=3。
先通过下式得到A,再将其量化到0到4的范围,得到
Figure BDA0003855274530000069
Figure BDA00038552745300000610
C.滤波器参数的几何变换调整
在滤波前,将基于A步骤的4个梯度参数,对每一类滤波器参数f(k,l) 进行如下几何变换,通过方向对齐让不同的块更加相似:
对角变换:fD(k,l)=f(l,k)
垂直翻转变换:fV(k,l)=f(k,K-l-1)
旋转变换:fR(k,l)=f(K-l-1,k)
示例性的,K是滤波系数长度。变换与梯度的映射表如表3-1所示:
表3-1滤波器几何变换映射表
梯度参数条件 几何变换
g<sub>d1</sub>&lt;g<sub>d0</sub>且g<sub>h</sub>&lt;g<sub>v</sub> 无变化
g<sub>d1</sub>&lt;g<sub>d0</sub>且g<sub>v</sub>&lt;g<sub>h</sub> 对角变换
g<sub>d0</sub>&lt;g<sub>d1</sub>且g<sub>h</sub>&lt;g<sub>v</sub> 垂直翻转变换
g<sub>d0</sub>&lt;g<sub>d1</sub>且g<sub>v</sub>&lt;g<sub>h</sub> 旋转变换
不同方向的几何变换下的亮度分量的滤波器系数可以如图1F所示。
D.计算滤波系数。
基于维纳滤波器原理推导出25类滤波器系数。
维纳滤波算法:
为了使滤波后的信号与原图之间的平方损失最小,因此可以定义:
1)、像素位置r=(x,y),||R||表示待滤波区域的像素个数;
2)、原始像素:S(r)
3)、滤波前像素:t(r)
4)、滤波系数:c=[c0,c1,...,cn]T
5)、滤波抽头系数位置偏移量:{p0,p1,...,pn}
6)、滤波后的像素:f(r)
滤波前像素与其周围像素组成数组: T=[t(r+p0),t(r+p1),…,t(r+pn)]T
可知,f(r)=TTc
En为f(r)与S(r)之间平方误差:
Figure BDA0003855274530000071
对c求导令其为零可求出En极小值点处的c的值。
TTTc=S(r)T (3-4)
由系数c与T求出滤波后像素值:
f(r)=c0·t(r+p0)+c1·t(r+p1)+…cn·t(r+pn)
亮度维纳滤波操作详细过程:
1)、对当前图像的亮度分量进行划分,得到多个4*4的亮度块,并基于亮度块的4个方向的梯度,对多个4*4亮度块进行分类,得到该多个4*4亮度块的分类;
2)、基于各亮度块的4个方向的梯度,确定各亮度块的几何变换方向;
3)、分别获取亮度分量上每个像素点t(r)与其周围12个像素T(如图 1C(a)所示位置,对称位置取平均像素),构成一组13*13的对称矩阵数据TTT,并根据每个像素的几何变换方向将12个根据图1D做相应变换;
4)、获取原始像素S(r);
5)、由(3-3)式为每个类别求出13个滤波系数。
色度维纳滤波操作详细:
1)、对色度分量上每个像素点与其周围6对像素T(如图1C(b)所示位置,对称位置取平均像素)构成一组7x7的对称矩阵数据TTT;
2)、获取原始像素S(r);
3)、由(3-3)式为每个类别求出6个滤波系数。
E.类别合并
将25个类进行合并,最终确定类别数为1-25之间
1、对25类进行两两合并。分类计算25类中每2个类合并后的总误差和,计算公式如(3-3式)所示,比较得出误差和最小的一次合并,将25类变为 24类,依此类推,再将24类合并至23类,最后合并为1类,并记录每一次合并后的结果;
2、从25类至1类中选择最适合的类别个数。计算每一种分类方式下的率失真代价,取代价最小的一种分类方式,其中压缩码率计算为使用哥伦布编码情况下编码所有系数所需比特数,失真损失为计算公式(3-3式)误差和损失。
F.确定CTU级滤波器的开/关和帧级滤波开关
计算图像在维纳滤波前的损失和图像进行维纳滤波后的损失,以及比较在每个CTU中进行维纳滤波或取消维纳滤波后图像的损失,以此确定帧级滤波开/关和CTU级滤波器的开/关。损失计算与D中类别合并的率失真代价计算方式一致。
可见,在维纳滤波技术中,使用极少的参数对大量的像素点进行滤波,虽然对亮度分类进行了分类,但在分类后的像素复杂度依然很高的情况下,模型将依旧处于欠拟合状态。若想缓解欠拟合情况,常见的方法为:
1、增加模型参数;
2、增加模型阶数;
3、减少数据复杂度。
在编解码过程中,以率失真来衡量重建图的质量,因此模型参数和模型阶数不应该设置过大,因而,可以通过对数据进行处理,减少数据复杂度,来提高维纳滤波的效果。
为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
本申请实施例中,通过降低每个分类的数据复杂度,以使每个分类中的同一维数据近似满足线性关系,提高维纳滤波的结果的精准性。
请参见图2,为本申请实施例提供的一种滤波方法的流程示意图,其中,该滤波方法可以应用于解码端设备,如图2所示,该滤波方法可以包括以下步骤:
步骤S200、当确定需要对当前图像进行维纳滤波时,确定对当前图像进行维纳滤波的最优块划分方式。
本申请实施例中,考虑到当图像的块划分方式不同时,对图像进行维纳滤波的效果可能会存在差别,为了优化对图像进行维纳滤波的效果,编码端设备可以确定图像块划分的最优方式(本文中称为最优块划分方式),并基于最优块划分方式确定滤波的相关参数,如滤波器系数。
当解码端设备接收到当前图像的码流码流,且确定需要对当前图像进行维纳滤波时,可以先确定对当前图像进行维纳滤波的最优块划分方式。
示例性的,解码端设备可以基于码流中携带的帧级滤波器的开/关确定是否需要对当前图像进行维纳滤波。当该帧级滤波器为开时,确定需要对当前图像进行维纳滤波。
在一个示例中,亮度分量和色度分量可以通过不同的帧级滤波器的开/关来标识是否需要进行维纳滤波。
编码端设备需要分别确定当前图像的亮度分量和色度分量是否需要维纳滤波,以确定对应的帧级滤波器的开/关;解码端设备分别通过获取亮度分量和色度分量对应的帧级滤波器的开/关,来确定亮度分量和色度分量是否需要维纳滤波。
在另一个示例中,亮度分量和色度分量可以通过同一帧级滤波器的开/关来标识是否需要进行维纳滤波。
编码端设备需要分别确定当前图像的亮度分量和色度分量是否需要维纳滤波。若亮度分量和色度分量均需要维纳滤波,则确定帧级滤波器的开/关为开;若亮度分量和色度分量均不需要维纳滤波,则确定帧级滤波器的开/关为关。若亮度分量和色度分量其中一个需要维纳滤波,另一个不需要维纳滤波,则可以比较亮度分量和色度分量均进行维纳滤波的率失真代价,以及亮度分量和色度分量均不进行维纳滤波的率失真代价,当前者更高时,确定帧级滤波器的开/关为关;当后者更高时,确定帧级滤波器的开/关为开。
解码端设备通过获取帧级滤波器的开/关,来确定亮度分量和色度分量是否需要维纳滤波;若帧级滤波器的开/关为开,则确定亮度分量和色度分量需要维纳滤波;若帧级滤波器的开/关为关,则亮度分量和色度分量不需要维纳滤波。
在一个示例中,步骤S200中,确定对当前图像进行维纳滤波的最优块划分方式,可以包括:
从当前图像的编码码流中获取对当前图像进行维纳滤波的最优块划分方式。
示例性的,编码端确定了对图像进行维纳滤波的最优块划分方式时,可以通过编码码流将最优块划分方式指示给解码端设备。
当解码端设备确定需要对当前图像进行维纳滤波时,可以从当前图像的编码码流中获取对当前图像进行维纳滤波的最优块划分方式。
例如,编码端设备与解码端设备可以预先协商多种候选块划分方式,以及各候选块划分方式的标识(如编号);当编码端设备确定了对当前图像进行维纳滤波的最优块划分方式时,可以将该最优块划分方式的标识携带在当前图像的编码码流中;当解码端设备接收到当前图像的编码码流时,可以从编码码流中获取最优化划分方式的标识,基于该标识确定对当前图像进行维纳滤波的最优块划分方式。
在另一个示例中,步骤S200中,确定对当前图像进行维纳滤波的最优块划分方式,可以包括:
基于已获取的解码信息,确定对当前图像进行维纳滤波的最优块划分方式。
示例性的,对图像进行维纳滤波的最优块划分方式可以基于对已编码/解码的图像进行维纳滤波的最优块划分方式来确定。
需要说明的是,对于首帧图像,可以由编码端设备基于率失真代价的方式确定进行维纳滤波的最优块划分方式,其具体实现可以在下文中进行说明,本申请实施例在此不做赘述。
当解码端设备确定需要对当前图像进行维纳滤波时,解码端设备可以基于对当前图像的前N帧(N≥1)图像进行维纳滤波的最优块方式,确定对当前图像进行维纳滤波的最优块划分方式。
例如,当解码端设备对当前图像的前2帧图像进行维纳滤波的最优块划分方式下块的大小分别为2*2和8*8,则解码端设备可以确定对当前图像进行维纳滤波的最优块划分方式为将当前图像划分为4*4的图像块。
需要说明的是,在本申请实施例中,当需要对图像进行维纳滤波时,对图像进行块划分时,并不限于将图像划分为尺寸相同的图像块,也可以将图像划分为多种不同尺寸的图像块,其具体实现在此不做赘述。
步骤S210、基于最优块划分方式对当前图像进行维纳滤波。
本申请实施例中,解码端设备确定了对当前图像进行维纳滤波的最优块划分方式时,可以基于该最优块划分方式对当前图像进行维纳滤波。
例如,解码端设备可以基于最优块划分方式对当前图像进行块划分,对于任一图像块,基于图像块所属CTU的CTU级滤波器的开/关,确定是否需要对当前图像块进行维纳滤波。
需要说明的是,CTU级滤波器的开/关的实现机制可以参见上述帧级滤波器的开/关的实现,本申请实施例在此不做赘述。
在一种可能的实施例中,如图3所示,步骤S210中,基于最优块划分方式对当前图像进行维纳滤波,可以包括:
步骤S211、基于最优块划分方式对当前图像进行块划分,以得到多个图像块。
步骤S212、对多个图像块进行分类,以确定多个图像块的分类结果。
步骤S213、对于需要进行维纳滤波的CTU中的任一图像块,基于该图像块的N1个方向的梯度,确定该图像块的几何变换方向。
步骤S214、基于该图像块所属的分类,从当前图像的编码码流中获取该分类的滤波器系数。
步骤S215、基于该图像块的几何变换方向对该分类的滤波器系数进行几何逆变换,并基于几何逆变换后的滤波器系数对该图像块进行滤波。
示例性的,N1为大于或等于2的正整数,步骤S213中的N1个方向可以包括任意N1个方向。
例如,假设N1=2,则该2个方向可以为水平方向和垂直方向,或,45°和 135°方向等。
示例性的,当解码端设备确定了对当前图像进行维纳滤波的最优块划分方式时,可以基于最优块划分方式对当前图像进行块划分,以得到多个图像块,并对得到的多个图像块进行分类,以确定该多个图像块的分类结果。
对于任一图像块,解码端设备可以基于该图像块所属的CTU的CTU级滤波器的开/关,确定是否需要对该图像块所属的CTU进行维纳滤波。
当解码端设备确定需要对该图像块所属的CTU进行维纳滤波时,一方面,解码端设备可以基于该图像块的N1个方向的梯度,确定该图像块的几何变换方向。
在一个示例中,N1=4,解码端设备可以基于该图像块的4个方向(如垂直方向、水平方向、135°方向以及45°方向)的梯度,确定该图像块的几何变换方向,其具体实现可以参见现有维纳滤波技术中的相关实现,本申请实施例在此不做赘述。
另一方面,解码端设备可以基于该图像块所属的分类,从当前图像的编码码流中获取该分类的滤波器系数。
解码端设备可以基于该图像块的几何变换方向对该图像块所属分类的滤波器系数进行几何逆变换,并基于几何逆变换后的滤波器系数对该图像块进行滤波。
在一个示例中,如图4所示,步骤S212中,对多个图像块进行分类,以确定所述多个图像块的分类结果,可以包括:
步骤S2121、基于各图像块的N2个方向的梯度,对多个图像块进行分类,以确定多个图像块的初步分类结果。
步骤S2122、基于初步分类结果,确定各分类包括的图像块的数目。
步骤S2123、当图像块最多的第一分类中图像块的数目大于第一阈值,且图像块最少的第二分类中图像块的数目小于第二阈值时,将第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为所述第二分类,另一部分图像块的分类保持为第一分类,以确定多个图像块的最终分类结果。
示例性的,N2为大于或等于2的正整数,N2与N1可以相同,也可以不同,步骤S2121中的N2个方向可以包括任意N2个方向。
示例性的,考虑到对当前图像的多个图像块进行分类之后,各分类的图像块的数目可能会相差较大,如有的分类的图像块的数目达到上千个,而有的分类的图像块的数目可能为几个。
由于维纳滤波的本质为线性回归模型,每个分类中的图像块近似满足线性关系,这样可以使的维纳滤波的结果更加精准,而当分类中包含的图像块的数目越多时,欠拟合情况出现的可能性越大,维纳滤波的结果的精准性就可能会降低。
如图5所示,空心圆数据或为实心圆数据根据最小二乘原理都能得到同一条拟合直线,若数据分布为实心圆数据的分布,则误差将会很小;当数据分布如空心圆数据的分布,则误差将会较大。同一分类中包括的图像块的数目越多,其数据分布越难达到实心圆数据的分布。
为了提高维纳滤波的结果的精准性,在对当前图像的多个图像块进行分类时,可以先基于各图像块的N2个方向的梯度,对该多个图像块进行分类,以确定该多个图像块的初步分类结果。
在一个示例中,N2=4,解码端设备基于图像块的4个方向(如垂直方向、水平方向、135°方向以及45°方向)的梯度对图像块进行分类的具体实现可以参见现有维纳滤波技术中的相关实现,本申请实施例在此不做赘述。
解码端设备可以基于该多个图像块的初步分类结果,确定各分类包括的图像块的数目,以确定包括的图像块最多的分类(本文中称为第一分类)中图像块的数目,以及包括的图像块最少的分类(本文中称为第二分类)中图像块的数目。
解码端设备可以比较第一分类中图像块的数目与第一阈值(可以根据实际场景设定),以及,比较第二分类中图像块的数目与第二阈值(可以根据实际场景设定,第一阈值>第二阈值)。
举例来说,第一阈值可以为width×height>>7,第二阈值可以为 width×height>>14,width为当前图像的宽度,height为当前图像的高度,>>为右移运算。
当第一分类中图像块的数目大于第一阈值,且第二分类中图像块的数目小于第二阈值时,解码端设备可以将第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为第二分类,另一部分图像块的分类保持为第一分类,以确定该多个图像块的最终分类结果。
需要说明的是,在本申请实施例中,按照步骤S1121~步骤S1123描述的方式处理后,可以重新统计各分类中图像块的数目,以确定图像块最多的分类,以及图像块最少的分类,若所确定图像块最多的分类中图像块的数目大于第一阈值,且图像块最少的分类中图像块的数目小于第二阈值,则可以再次按照步骤S1121~步骤S1123描述的方式处理,直至图像块最多的分类中图像块的数目小于或等于第一阈值,或/和,图像块最少的分类中图像块的数目大于或等于第二阈值。
举例来说,假设解码端设备基于最优块划分方式对当前图像进行块划分,并对得到的多个图像块进行分类后,图像块最多的分类为分类A,且分类A中图像块的数目大于第一阈值,图像块最少的分类为分类B,且分类B中图像块的数目小于第二阈值,则解码端设备可以对分类B中的图像块拆分为两部分,其中一部分图像块的分类修改为分类B,另一部分图像块的分类保持为分类A,即进行分类拆分后,分类B中包括原图像块以及分类A的其中一部分部分图像块,分类A中包括分类A中的另一部分图像块。
完成此次分类拆分后,解码端设备可以重新确定图像块最多的分类(假设为分类C),以及图像块最少的分类(假设为分类D),若分类C中图像块的数目大于第一阈值,分类D中图像块的数目小于第二阈值,则解码端设备可以对分类C进行拆分,以此类推,直至当前图像的各图像块所属分类中图像块最多的分类中图像块的数目小于或等于第一阈值,或/和,图像块最少的分类中图像块的数据大于或等于第二阈值。
在一个示例中,步骤S2123中,将第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为第二分类,另一部分图像块的分类保持为所述第一分类,可以包括:
将当前图像划分为第一子图像和第二子图像;
将属于第一分类,且处于第一子图像内的图像块的分类保持为第一分类;
将属于第一分类,且处于第二子图像内的图像块的分类修改为第二分类。
示例性的,为了对第一分类中的图像块进行拆分,可以将当前图像划分为两部分(分别称为第一子图像和第二子图像)。
示例性的,第一子图像和第二子图像可以互不重叠,共同组成当前图像,即当前图像的面积为第一子图像的面积与第二子图像的面积之和。
举例来说,可以将当前图像等分为两部分,如沿当前图像的水平对称轴、竖直对称轴或对角线对当前图像进行划分。
又举例来说,可以将当前图像划分为非等大的两部分。
解码端设备将当前图像划分为了第一子图像和第二子图像时,对于第一分类中的各图像块,可以分别确定其处于第一子图像内或第二子图像内。
对于属于第一分类,且处于第一子图像内的图像块,将其分类保持为第一分类;
对于属于第一分类,且处于第二子图像内的图像块,将其分类修改为第二分类。
需要说明的是,在本申请实施例中,对于第一分类中的任一图像块,若该图像块部分处于第一子图像内,另一部分处于第二子图像内,则可以将其分类保持为第一分类,或,将其分类修改为第二分类。
在一个示例中,考虑到人眼对色度分量的敏感程度弱于对亮度分量的敏感程度,对亮度分量的滤波过程可以更加细致,色度分量的滤波过程可以相对简单,因此,上述实施例中的图像块可以为亮度块,即解码端设备可以对当前图像的亮度块按照上述实施例中描述的方式进行处理,对于色度块,可以按照其他策略进行处理。
在一种可能的实施例中,本申请实施例提供的滤波方法还可以包括:
当确定需要对当前图像的色度分量进行维纳滤波时,对于需要对色度分量进行维纳滤波的CTU中的任一色度块,基于该色度块的N3个方向的梯度,确定该色度块的几何变换方向;
从当前图像的编码码流中获取色度块的滤波器系数;
基于该色度块的几何变换方向对所获取到的滤波器系数进行几何逆变换,并基于几何逆变换后的滤波器系数对该色度块进行滤波。
示例性的,N3为大于或等于2的正整数,N1、N2以及N3可以全部相同,全部不同或部分相同,上述N3个方向可以包括任意N3个方向。
示例性的,为了提高色度分量的维纳滤波的精准性,编码端设备可以基于各像素与其周围像素位置的梯度大小与方向,根据梯度方向对色度块进行旋转,使所有像素块的方向统一。
当解码端设备确定需要对当前图像的色度分量进行维纳滤波时,对于需要对色度分量进行维纳滤波的CTU中的任一色度块,一方面,解码端设备可以基于该色度块的N3个方向的梯度,确定该色度块的几何变换方向。
在一个示例中,N3=4,解码端设备基于色度块的4个方向(如垂直方向、水平方向、135°方向以及45°方向)的梯度,确定色度块的几何变换方向的具体实现可以参见现有维纳滤波技术中针对亮度块的相关实现,本申请实施例在此不做赘述。
另一方面,解码端设备可以从当前图像的编码码流中获取色度块的滤波器系数。
示例性的,当色度块未进行分类时,当前图像的编码码流中各色度块的滤波器系数一致。
当色度块进行了分类(具体实现可以参见上述方法实施例中的相关描述) 时,当前图像的编码码流中可以携带的不同分类的色度块的滤波器系数;在该情况下,解码端设备还需要对色度块进行分类,并基于色度块所属分类从编码码流中获取对应的滤波器系数。
解码端设备确定了色度块的几何变换方向,以及获取到了色度块的滤波器系数时,可以基于该色度块的几何变换方向对所获取到的滤波器系数进行几何逆变换,并基于几何逆变换的滤波器系数对该色度块进行滤波。
请参见图6,为本申请实施例提供的一种滤波方法的流程示意图,其中,该滤波方法可以应用于编码端设备,如图6所示,该滤波方法可以包括以下步骤:
步骤S600、确定对当前图像进行维纳滤波的最优块划分方式。
本申请实施例中,考虑到当图像的块划分方式不同时,对图像进行维纳滤波的效果可能会存在差别,为了优化对图像进行维纳滤波的效果,编码端设备可以确定图像块划分的最优方式(本文中称为最优块划分方式),并基于最优块划分方式确定滤波的相关参数,如滤波器系数。
在一个示例中,步骤S600中,确定对当前图像进行维纳滤波的最优块划分方式,可以包括:
对于多种候选块划分方式中的任一候选块划分方式,确定该候选块划分方式下对当前图像进行维纳滤波的率失真代价;
基于各候选块划分方式下对当前图像进行维纳滤波的率失真代价,将率失真代价最小的候选块划分方式确定为最优块划分方式。
示例性的,编码端设备可以基于不同候选块划分方式下对当前图像进行维纳滤波的率失真代价,确定对当前图像进行维纳滤波的最优块划分方式。
编码端设备可以分别确定各候选块划分方式下对当前图像块进行维纳滤波的率失真代价,并基于各候选块划分方式下对当前图像进行维纳滤波的率失真代价,将率失真代价最小的候选块划分方式确定为最优块划分方式。
示例性的,候选块划分方式可以由编解码端协商确定,或缺省配置,或根据需求实时配置。
示例性的,多种候选块划分方式包括多种分别按照不同的图像块尺寸,对当前图像进行块划分的块划分方式。
示例性的,不同的图像块尺寸可以包括不限于1*1、2*2、4*4或8*8。
在一个示例中,如图7所示,上述确定该候选块划分方式下对当前图像进行维纳滤波的率失真代价,可以通过以下步骤确定:
步骤S700、对按照该候选块划分方式进行块划分得到的图像块进行分类,以确定该候选块划分方式对应的初步分类结果。
步骤S710、基于该候选块划分方式对应的初步分类结果,确定各分类包括的图像块的数目。
步骤S720、当图像块最多的第一分类中图像块的数目大于第一阈值,且图像块最少的第二分类中图像块的数目小于第二阈值时,将第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为第二分类,另一部分图像块的分类保持为所述第一分类,以确定该候选块划分方式对应的最终分类结果。
步骤S730、基于该候选块划分方式对应的最终分类结果,确定该候选块划分方式下对当前图像进行维纳滤波的率失真代价。
示例性的,考虑到对当前图像的多个图像块进行分类之后,各分类的图像块的数目可能会相差较大,如有的分类的图像块的数目达到上千个,而有的分类的图像块的数目可能为几个。
由于维纳滤波的本质为线性回归模型,每个分类中的图像块近似满足线性关系,这样可以使的维纳滤波的结果更加精准,而当分类中包含的图像块的数目越多时,欠拟合情况出现的可能性越大,维纳滤波的结果的精准性就可能会降低。
为了提高维纳滤波的结果的精准性,在对当前图像的多个图像块进行分类时,若存在图像块过多的分类,以及图像块过少的分类,可以对图像块过多的分类中进行拆分。
对于任一候选块划分方式,编码端设备可以基于该候选块划分方式对当前图像进行块划分,并对得到的多个图像块进行分类,以得到该多个图像块的初步分类结果。
示例性的,编码端设备可以基于各图像块的N2个方向的梯度,对多个图像块进行分类,以确定多个图像块的初步分类结果。
示例性的,N2=4,如垂直方向、水平方向、135°方向以及45°方向,其示意图可以如图9A所示。
编码端设备得到该候选块划分方式下多个图像块的初步分类结果时,可以确定各分类中图像块的数目,以确定包括的图像块最多的分类(本文中称为第一分类)中图像块的数目,以及包括的图像块最少的分类(本文中称为第二分类)中图像块的数目。
编码端设备可以比较第一分类中图像块的数目与第一阈值(可以根据实际场景设定),以及,比较第二分类中图像块的数目与第二阈值(可以根据实际场景设定,第一阈值>第二阈值)。
举例来说,第一阈值可以为width×height>>7,第二阈值可以为 width×height>>14,width为当前图像的宽度,height为当前图像的高度,>>为右移运算。
当第一分类中图像块的数目大于第一阈值,且第二分类中图像块的数目小于第二阈值时,编码端设备可以将第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为第二分类,另一部分图像块的分类保持为第一分类,以确定该多个图像块的最终分类结果。
需要说明的是,在本申请实施例中,按照上述方式进行分类的拆分处理后,可以重新统计各分类中图像块的数目,以确定图像块最多的分类,以及图像块最少的分类,若所确定图像块最多的分类中图像块的数目大于第一阈值,且图像块最少的分类中图像块的数目小于第二阈值,则可以再次按照按照上述方式进行分类拆分处理,直至图像块最多的分类中图像块的数目小于或等于第一阈值,或/和,图像块最少的分类中图像块的数目大于或等于第二阈值。
举例来说,假设编码端设备基于该候选块划分方式对当前图像进行块划分,并对得到的多个图像块进行分类后,图像块最多的分类为分类A,且分类A中图像块的数目大于第一阈值,图像块最少的分类为分类B,且分类B中图像块的数目小于第二阈值,则编码端设备可以对分类B中的图像块拆分为两部分,其中一部分图像块的分类修改为分类B,另一部分图像块的分类保持为分类A,即进行分类拆分后,分类B中包括原图像块以及分类A的其中一部分部分图像块,分类A中包括分类A中的另一部分图像块。
完成此次分类拆分后,编码端设备可以重新确定图像块最多的分类(假设为分类C),以及图像块最少的分类(假设为分类D),若分类C中图像块的数目大于第一阈值,分类D中图像块的数目小于第二阈值,则编码端设备可以对分类C进行拆分,以此类推,直至当前图像的各图像块所属分类中图像块最多的分类中图像块的数目小于或等于第一阈值,或/和,图像块最少的分类中图像块的数据大于或等于第二阈值。
编码端设备确定了该候选块划分方式对应的最终分类结果时,可以基于该候选块划分方式对应的最终分类结果,确定该候选块划分方式下对当前图像进行维纳滤波的率失真代价。
需要说明的是,编码端设备得到各图像块的分类后,确定对当前图像进行维纳滤波的率失真代价的具体实现可以参见现有维纳滤波技术中的相关实现,本申请实施例在此不做赘述。
编码端设备确定了各候选块划分方式下对当前图像进行维纳滤波的率失真代价时,可以将率失真代价最小的候选块划分方式确定为最优块划分方式。
在一个示例中,步骤S720中,将第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为第二分类,另一部分图像块的分类保持为第一分类,可以包括:
将当前图像划分为第一子图像和第二子图像;
将属于第一分类,且处于第一子图像内的图像块的分类保持为第一分类;
将属于第一分类,且处于第二子图像内的图像块的分类修改为第二分类。
示例性的,为了对第一分类中的图像块进行拆分,可以将当前图像划分为两部分(分别称为第一子图像和第二子图像)。
举例来说,可以将当前图像等分为两部分,如沿当前图像的水平对称轴、竖直对称轴或对角线对当前图像进行划分。
又举例来说,可以将当前图像划分为非等大的两部分。
编码端设备将当前图像划分为了第一子图像和第二子图像时,对于第一分类中的各图像块,可以分别确定其处于第一子图像内或第二子图像内。
对于属于第一分类,且处于第一子图像内的图像块,将其分类保持为第一分类;
对于属于第一分类,且处于第二子图像内的图像块,将其分类修改为第二分类。
需要说明的是,在本申请实施例中,对于第一分类中的任一图像块,若该图像块部分处于第一子图像内,另一部分处于第二子图像内,则可以将其分类保持为第一分类,或,将其分类修改为第二分类。
此外,在本申请实施例中,在完成第一分类的拆分(即第一分类中图像块的数量小于等于第一阈值,或/和,第二分类中图像块的数量大于等于第二阈值) 之后,还可以对各分类进行类间合并操作,其具体实现可以参见现有维纳滤波技术中的相关实现,本申请实施例在此不做赘述。
步骤S610、当确定需要对当前图像进行维纳滤波时,将在最优块划分方式下当前图像的各图像块所属分类的滤波器系数,通过当前图像的编码码流通知给解码端设备。
本申请实施例中,当编码端设备确定需要对当前图像进行维纳滤波时,可以确定在最优块划分方式下当前图像的各图像块所属分类的滤波器系数,并将各图像块所属分类的滤波器系数通过当前图像的编码码流通知给解码端设备。
需要说明的是,编码端设备可以基于对当前图像进行维纳滤波和不对当前图像进行维纳滤波这两种情况下图像的损失,确定是否需要对当前图像进行维纳滤波。
同理,对于任一CTU,编码端设备可以也可以基于进行维纳滤波和不进行维纳滤波这两种情况下图像的损失,确定是否需要对该CTU进行维纳滤波。
在一种可能的实施例中,如图8所示,步骤S610中,在最优块划分方式下当前图像的各图像块所属分类的滤波器系数,可以通过以下步骤确定:
步骤S611、确定该最优块划分方式下当前图像的各图像块所属分类的滤波器系数。
步骤S612、对于任一分类的滤波器系数,基于最优块划分方式下对当前图像进行维纳滤波的率失真代价,对该滤波器系数进行自适应调整。
步骤S613、将自适应调整完成后的滤波器系数确定为该分类的滤波器系数。
示例性的,考虑到滤波器系数中不同位置的系数之间可能会存在高度相关性,在该情况下,某一些位置的系数可以不用传递给解码端设备,从而,可以在保证滤波质量的情况下减小传递的码流,从而提高编码性能。
编码端设备确定了对当前图像进行维纳滤波的最优块划分方式,且确定需要对当前图像进行维纳滤波时,可以确定该最优块划分方式下当前图像的各图像块所属分类的滤波器系数。
需要说明的是,编码端设备确定当前图像的各图像块所属分类的滤波器系数的具体实现可以参见现有维纳滤波技术中的相关描述,本申请实施例在此不做赘述。
对于任一分类的滤波器系数,编码端设备可以基于最优块划分方式下对当前图像进行维纳滤波的率失真代价,对该滤波器系数进行自适应调整。
示例性的,对于任意一次滤波器系数调整,编码端设备可以基于滤波器系数调整前最优块划分方式下对当前图像进行维纳滤波的率失真代价,以及滤波器系数调整后最优块划分方式下对当前图像进行维纳滤波的率失真代价,确定此次滤波器系数调整是否生效;若后者大于前者,则确定不生效;否则,确定此次滤波器系数调整生效。
编码端设备完成对滤波器系数的自适应调整时,可以将自适应调整后完成后的滤波器系数确定为该分类的滤波器系数。
在一个示例中,步骤S612中,基于最优块划分方式下对当前图像进行维纳滤波的率失真代价,对该滤波器系数进行自适应调整,可以包括:
按照预设顺序,依次尝试删除该滤波器系数中指定位置的系数;
对于任一次尝试删除操作,若系数删除前对当前图像进行维纳滤波的率失真代价大于等于系数删除后对当前图像进行维纳滤波的率失真代价,则确定此次删除操作生效,并按照预设顺序,重新依次尝试删除该滤波器系数中未被删除的指定位置的系数;否则,确定此次删除操作不生效,并继续按照预设顺序,依次向后尝试删除该滤波器中的未被删除的指定位置的系数。
示例性的,为了实现对滤波器系数的自适应调整,对于任一分类的滤波器系数,可以按照预设顺序,依次尝试删除该滤波器系数中指定位置的系数。
对于任一次删除操作,编码端设备可以比较系数删除前对当前图像进行维纳滤波的率失真代价,以及系数删除后对当前图像进行维纳滤波的率失真代价,若前者大于等于后者,则确定此次删除操作生效,并按照该预设顺序,重新依次尝试删除该滤波器系数中未被删除的指定位置的系数;否则,确定此次删除操作不生效,并继续按照该预设顺序,依次向后尝试删除该滤波器中的未被删除的指定位置的系数。
重复上述操作,直至确定删除该滤波器系数中未被删除的任意位置的系数后,对当前图像进行维纳滤波的率失真代价均大于此次系数删除前对当前图像进行维纳滤波的率失真代价。
举例来说,假设该预设顺序为:{[0,9],[1,3],[2,10],[4,8],[5,7], [6,11]},即编码端设备可以先尝试删除滤波器系数中位置0和位置9的系数,并比较系数删除前对当前图像进行维纳滤波的率失真代价,以及系数删除后对当前图像进行维纳滤波的率失真代价。
若前者大于等于后者,则编码端设备确定此次删除操作生效,从滤波器系数中删除位置0和位置9的系数;然后,编码端设备可以尝试删除滤波器系数中位置1和位置3的系数,并按照相同策略确定此次删除操作是否生效。若生效,则删除位置1和位置3的系数,并再次对位置2和位置10的系数进行尝试;若不生效,则不删除位置1和位置3的系数,并对位置2和位置10的系数进行尝试。
若前者小于后者,则编码端确定此次删除操作未生效,此时,编码端设备确定不对位置0和位置9的系数进行删除,并尝试删除滤波器系数中位置1和位置3的系数,并按照相同策略确定此次删除操作是否生效;若生效,则编码端设备删除位置1和位置3的系数,并重新尝试删除位置0和位置9的系数(此时位置1和位置3的系数已经被删除),若不生效,则不删除位置1和位置3 的系数,并对位置2和位置10的系数进行尝试。
即编码端设备依次按照该预设顺序,尝试删除相应位置的系数,并基于系数删除前后对当前图像进行维纳滤波的率失真代价确定删除是否生效;若生效,则重新按该预设顺序尝试删除各未被删除的指定位置的系数;若未生效,则按照该预设顺序,继续向后尝试。
在一个示例中,考虑到人眼对色度分量的敏感程度弱于对亮度分量的敏感程度,对亮度分量的滤波过程可以更加细致,色度分量的滤波过程可以相对简单,因此,上述实施例中的图像块可以为亮度块,即编码端设备可以对当前图像的亮度块按照上述实施例中描述的方式进行处理,对于色度块,可以按照其他策略进行处理。
在一种可能的实施例中,本申请实施例提供的滤波方法还可以包括:
对于当前图像中的任一预设尺寸的色度块,基于该色度块的N3个方向的梯度,确定该色度块的几何变换方向;
基于该色度块的几何变换方向,确定该色度块的滤波器系数;
基于所述当前图像中各色度块的滤波器系数,确定所述当前图像的CTU级滤波器的开/关和帧级滤波器的开/关。
示例性的,该预设尺寸可以包括但不限于1*1、2*2、4*4或8*8。
示例性的,为了提高色度分量的维纳滤波的精准性,编码端设备可以基于各像素与其周围像素位置的梯度大小与方向,根据梯度方向对色度块进行旋转,使所有像素块的方向统一。
对于当前图像中的任一预设尺寸的色度块,编码端设备可以基于该色度块的N3个方向的梯度,确定该色度块的几何变换方向,并基于该色度块的几何变换方向,确定该色度块的滤波器系数。
示例性的,N3=4,编码端设备基于色度块的4个方向的梯度,确定色度块的几何变换方向,以及基于色度块的几何变换方向,确定色度块的滤波器系数的具体实现可以参见现有维纳滤波技术中针对亮度块的相关实现,本申请实施例在此不做赘述。
需要说明的是,当色度块未进行分类时,各色度块的滤波器系数一致。当色度块进行了分类(具体实现可以参见上述方法实施例中的相关描述)时,不同分类的色度块的滤波器系数可以不同。
编码端设备可以基于该色度块的滤波器系数,确定当前图像的CTU级滤波器的开/关和帧级滤波器的开/关。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。
实施例一、多尺寸亮度块划分方式
改变对图像进行块划分的尺寸,可以得到不同的分类结果,滤波质量也会有所差别,因此,在进行图像块划分时,不同图像块大小可以得到不同的分类结果,从中再选择损失最小的块划分方式。
示例性的,从多种候选块划分方式中确定最优块划分方式,并基于最优块划分方式对图像块的亮度分量进行块划分,并进行维纳滤波处理。
编码端设备:
1、基于不同亮度块尺寸,对当前图像的亮度分量进行块划分。
示例性的,不同亮度块尺寸包括1*1、2*2、4*4或8*8。
2、对于任一块划分方式,将基于块划分方式对当前图像的亮度分量进行块划分得到的多个亮度块进行分类,得到该块划分方式下的分类结果。
3、确定基于该分类结果,确定对当前图像的亮度分量进行维纳滤波的率失真代价。
4、基于各块划分方式下,对当前图像的亮度分量进行维纳滤波的率失真代价,确定最优块划分方式。
实施例二、分类的拆分处理
每个分类中包含亮度块的数量可能相差很大,有的分类可能包括上千亮度块,有的分类可能包括几个亮度块,甚至未包括亮度块。
目前,维纳滤波过程只包括对不同分类进行合并的过程,不存在对同一分类进行拆分的过程。当某个分类中包括的亮度块的数目越多,该分类的亮度块的复杂度会越高,出现欠拟合情况的可能性越大,进而,维纳滤波的结果精准性更低。
减少同一分类中的亮度块的数目可以有效降低数据复杂度,优化该分类的的维纳滤波效果;而包括的亮度块的数目过少的分类虽然拟合效果好,但是对整体图像效果增益不大,因此,可以对包括亮度块的数目较多的分类拆分,并将拆分出的部分亮度块与包括的亮度块的数目较少的分类进行合并。
1、按照预设块划分方式对当前图像的亮度分量进行块划分,以得到多个亮度块。
2、基于亮度块水平、垂直和对角共4个方向的梯度,以得到该多个亮度块的分类结果(即初步分类结果)。
3、统计各分类包括的亮度块的数目。
4、当亮度块最多的分类(即第一分类)中亮度块的数目大于第一阈值,且亮度块最少的分类(即第二分类)中亮度块的数目小于第二阈值时,转至步骤5;否则,确定当前的分类结果为最终分类结果,并转至步骤6。
5、将当前图像划分为第一子图像和第二子图像,对于第一分类中任一亮度块,若该亮度块处于第一子图像内,则保持该亮度块的分类为第一分类;若该亮度块处于第二子图像内,则修改该亮度块的分类为第二分类,并转至步骤3。
示例性的,对于任一图像,当首次进入步骤5时,可以进行图像划分的操作,并进行后续的第一分类的拆分操作;当非首次进入步骤5时,可以不进行图像划分的操作,而进行后续的第一分类的拆分操作。
示例性的,得到当前图像的各亮度块的最终分类结果之后,可以进行类间合并操作,其具体实现可以参见现有维纳滤波技术中的相关实现,本申请在此不做赘述。
实施例三、滤波器系数的自适应调整
亮度分量的滤波器是一个7*7大小的滤波器,每个滤波器所需参数是固定的13个系数,考虑到滤波器系数中不同位置的系数之间可能会存在高度相关性,在该情况下,某一些位置的系数可以不用传递给解码端设备,从而,可以在保证滤波质量的情况下减小传递的码流,从而提高编码性能。
编码端设备:
1、对于亮度块的任一分类的滤波器系数,确定使用13个系数(即未进行系数删除)对当前图像进行维纳滤波的率失真代价。
2、按照预设顺序,依次尝试删除该滤波器中指定位置的系数,并确定系数删除后对当前图像进行维纳滤波的率失真代价。
示例性的,该预设顺序为:{[0,9],[1,3],[2,10],[4,8],[5,7],[6, 11]}。
其示意图可以如图9B所示,对于亮度分量滤波器,可以根据相同阴影尝试删除对应位置的系数。
3、对于任一次尝试删除操作,若系数删除前对当前图像进行维纳滤波的率失真代价大于等于系数删除后对当前图像进行维纳滤波的率失真代价,则确定此次删除操作生效,并按照预设顺序,重新依次尝试删除该滤波器系数中未被删除的指定位置的系数;否则,确定此次删除操作不生效,并继续按照预设顺序,依次向后尝试删除该滤波器中的未被删除的指定位置的系数。
4、当确定删除滤波器系数中未被删除的任意位置的系数后对当前图像进行维纳滤波的率失真代价,均大于此次系数删除前对当前图像进行维纳滤波的率失真代价时,将当前的滤波器系数,确定为该分类的滤波器系数。
实施例四
编码端设备:
1、按照实施例一描述的方式确定对当前图像的亮度分量进行维纳滤波的最优块划分方式。
2、基于最优块划分方式对当前图像的亮度分量进行块划分,得到多个亮度块。
3、基于各亮度块的水平、垂直和对角共4个方向的梯度,对该多个亮度块进行分类。
4、对于任一亮度块,基于亮度块的水平、垂直和对角共4个方向的梯度,确定该亮度块的几何变换方向。
5、对于任一分类,将该分类中各亮度块按照步骤3中确定的几何变换方向进行旋转,以得到该分类的滤波器系数。
6、确定CTU级滤波器的开/关以及帧级滤波器的开/关。
7、将最优块划分方式、各分类的滤波器系数、CTU级滤波器的开/关以及帧级滤波器的开/关,通过编码码流通知给解码端设备。
解码端设备:
1、从当前图像的编码码流中获取帧级滤波器的开/关;若为开,转至步骤2;否则,结束当前流程。
2、从当前图像的编码码流中获取对当前图像的亮度分量进行维纳滤波的最优块划分方式。
3、基于最优块划分方式对当前图像的亮度分量进行块划分,以得到多个亮度块。
4、基于各亮度块的水平、垂直和对角共4个方向的梯度,对该亮度块进行分类。
5、按照CTU顺序,依次从编码码流中获取各CTU级滤波器的开/关。
6、对于任一CTU级滤波器为开的CTU中的亮度块,基于该亮度块所属的分类,从编码码流中获取该分类的滤波器系数。
7、基于该亮度块的水平、垂直和对角共4个方向的梯度,确定该亮度块的几何变换方向。
8、基于该亮度块的几何变换方向,对获取到的该亮度块所属的分类的滤波器系数进行几何逆变换。
9、基于几何逆变换后的滤波器系数对该亮度块进行滤波。
实施例五
编码端设备:
1、对当前图像的亮度分量进行块划分,得到多个4*4的亮度块。
2、按照实施例二描述的方式确定该多个4*4的亮度块的分类。
3、对于任一4*4亮度块,基于4*4亮度块的水平、垂直和对角共4个方向的梯度,确定该4*4亮度块的几何变换方向。
4、对于任一分类,将该分类中各亮度块按照步骤3中确定的几何变换方向进行旋转,以得到该分类的滤波器系数。
5、确定CTU级滤波器的开/关以及帧级滤波器的开/关。
6、将各分类的滤波器系数、CTU级滤波器的开/关以及帧级滤波器的开/关,通过编码码流通知给解码端设备。
解码端设备:
1、从当前图像的编码码流中获取帧级滤波器的开/关;若为开,转至步骤2;否则,结束当前流程。
2、对当前图像的亮度分量进行块划分,以得到多个4*4亮度块。
3、按照实施例二描述的方式确定该多个4*4的亮度块的分类。
4、按照CTU顺序,依次从编码码流中获取各CTU级滤波器的开/关。
5、对于任一CTU级滤波器为开的CTU中的4*4亮度块,基于该4*4亮度块所属的分类,从编码码流中获取该分类的滤波器系数。
6、基于该4*4亮度块的水平、垂直和对角共4个方向的梯度,确定该4*4 亮度块的几何变换方向。
7、基于该4*4亮度块的几何变换方向,对获取到的该4*4亮度块所属的分类的滤波器系数进行几何逆变换。
8、基于几何逆变换后的滤波器系数对该4*4亮度块进行滤波。
实施例六
编码端设备:
1、对当前图像的亮度分量进行块划分,得到多个4*4的亮度块。
2、基于各4*4亮度块的水平、垂直和对角共4个方向的梯度,对多个4*4 亮度块进行分类。
3、对于任一4*4亮度块,基于4*4亮度块的水平、垂直和对角共4个方向的梯度,确定该4*4亮度块的几何变换方向。
4、对于任一分类,将该分类中各4*4亮度块按照步骤3中确定的几何变换方向进行旋转,以得到该分类的滤波器系数。
5、按照实施例三描述的方式对该分类的滤波器系数进行自适应调整。
6、确定CTU级滤波器的开/关以及帧级滤波器的开/关。
7、将各分类自适应调整后的滤波器系数、CTU级滤波器的开/关以及帧级滤波器的开/关,通过编码码流通知给解码端设备。
解码端设备:
1、从当前图像的编码码流中获取帧级滤波器的开/关;若为开,转至步骤2;否则,结束当前流程。
2、对当前图像的亮度分量进行块划分,以得到多个4*4亮度块。
3、基于各亮度块的水平、垂直和对角共4个方向的梯度,对该亮度块进行分类。
4、按照CTU顺序,依次从编码码流中获取各CTU级滤波器的开/关。
5、对于任一CTU级滤波器为开的CTU中的4*4亮度块,基于该4*4亮度块所属的分类,从编码码流中获取该分类的滤波器系数。
6、基于该4*4亮度块的水平、垂直和对角共4个方向的梯度,确定该4*4 亮度块的几何变换方向。
7、基于该4*4亮度块的几何变换方向,对获取到的该4*4亮度块所属的分类的滤波器系数进行几何逆变换。
8、基于几何逆变换后的滤波器系数对该4*4亮度块进行滤波。
实施例七
编码端设备:
1、按照实施例一描述的方式确定对当前图像的亮度分量进行维纳滤波的最优块划分方式。
2、基于最优块划分方式对当前图像的亮度分量进行块划分,得到多个亮度块。
3、按照实施例二描述的方式确定该多个亮度块的分类。
4、对于任一亮度块,基于亮度块的水平、垂直和对角共4个方向的梯度,确定该亮度块的几何变换方向。
5、对于任一分类,将该分类中各亮度块按照步骤3中确定的几何变换方向进行旋转,以得到该分类的滤波器系数。
6、确定CTU级滤波器的开/关以及帧级滤波器的开/关。
7、将最优块划分方式、各分类的滤波器系数、CTU级滤波器的开/关以及帧级滤波器的开/关,通过编码码流通知给解码端设备。
解码端设备:
1、从当前图像的编码码流中获取帧级滤波器的开/关;若为开,转至步骤2;否则,结束当前流程。
2、从当前图像的编码码流中获取对当前图像的亮度分量进行维纳滤波的最优块划分方式。
3、基于最优块划分方式对当前图像的亮度分量进行块划分,以得到多个亮度块。
4、按照实施例二描述的方式确定该多个亮度块的分类。
5、按照CTU顺序,依次从编码码流中获取各CTU级滤波器的开/关。
6、对于任一CTU级滤波器为开的CTU中的亮度块,基于该亮度块所属的分类,从编码码流中获取该分类的滤波器系数。
7、基于该亮度块的水平、垂直和对角共4个方向的梯度,确定该亮度块的几何变换方向。
8、基于该亮度块的几何变换方向,对获取到的该亮度块所属的分类的滤波器系数进行几何逆变换。
9、基于几何逆变换后的滤波器系数对该亮度块进行滤波。
实施例八
编码端设备:
1、按照实施例一描述的方式确定对当前图像的亮度分量进行维纳滤波的最优块划分方式。
2、基于最优块划分方式对当前图像的亮度分量进行块划分,得到多个亮度块。
3、基于各亮度块的水平、垂直和对角共4个方向的梯度,对该多个亮度块进行分类。
4、对于任一亮度块,基于亮度块的水平、垂直和对角共4个方向的梯度,确定该亮度块的几何变换方向。
5、对于任一分类,将该分类中各亮度块按照步骤3中确定的几何变换方向进行旋转,以得到该分类的滤波器系数。
6、按照实施例三描述的方式对该分类的滤波器系数进行自适应调整。
7、确定CTU级滤波器的开/关以及帧级滤波器的开/关。
8、将最优块划分方式、各分类自适应调整后的滤波器系数、CTU级滤波器的开/关以及帧级滤波器的开/关,通过编码码流通知给解码端设备。
解码端设备:
1、从当前图像的编码码流中获取帧级滤波器的开/关;若为开,转至步骤2;否则,结束当前流程。
2、从当前图像的编码码流中获取对当前图像的亮度分量进行维纳滤波的最优块划分方式。
3、基于最优块划分方式对当前图像的亮度分量进行块划分,以得到多个亮度块。
4、基于各亮度块的水平、垂直和对角共4个方向的梯度,对该亮度块进行分类。
5、按照CTU顺序,依次从编码码流中获取各CTU级滤波器的开/关。
6、对于任一CTU级滤波器为开的CTU中的亮度块,基于该亮度块所属的分类,从编码码流中获取该分类的滤波器系数。
7、基于该亮度块的水平、垂直和对角共4个方向的梯度,确定该亮度块的几何变换方向。
8、基于该亮度块的几何变换方向,对获取到的该亮度块所属的分类的滤波器系数进行几何逆变换。
9、基于几何逆变换后的滤波器系数对该亮度块进行滤波。
实施例九
编码端设备:
1、对当前图像的亮度分量进行块划分,得到多个4*4的亮度块。
2、按照实施例二描述的方式确定该多个4*4的亮度块的分类。
3、对于任一4*4亮度块,基于4*4亮度块的水平、垂直和对角共4个方向的梯度,确定该4*4亮度块的几何变换方向;
4、对于任一分类,将该分类中各亮度块按照步骤3中确定的几何变换方向进行旋转,以得到该分类的滤波器系数。
5、按照实施例三描述的方式对该分类的滤波器系数进行自适应调整。
6、确定CTU级滤波器的开/关以及帧级滤波器的开/关。
7、将各分类自适应调整后的滤波器系数、CTU级滤波器的开/关以及帧级滤波器的开/关,通过编码码流通知给解码端设备。
解码端设备:
1、从当前图像的编码码流中获取帧级滤波器的开/关;若为开,转至步骤2;否则,结束当前流程。
2、对当前图像的亮度分量进行块划分,以得到多个4*4亮度块。
3、按照实施例二描述的方式确定该多个4*4的亮度块的分类。
4、按照CTU顺序,依次从编码码流中获取各CTU级滤波器的开/关。
5、对于任一CTU级滤波器为开的CTU中的4*4亮度块,基于该4*4亮度块所属的分类,从编码码流中获取该分类的滤波器系数。
6、基于该4*4亮度块的水平、垂直和对角共4个方向的梯度,确定该4*4 亮度块的几何变换方向。
7、基于该4*4亮度块的几何变换方向,对获取到的该4*4亮度块所属的分类的滤波器系数进行几何逆变换。
8、基于几何逆变换后的滤波器系数对该4*4亮度块进行滤波。
实施例十
编码端设备:
1、按照实施例一描述的方式确定对当前图像的亮度分量进行维纳滤波的最优块划分方式。
2、基于最优块划分方式对当前图像的亮度分量进行块划分,得到多个亮度块。
3、按照实施例二描述的方式确定该多个亮度块的分类。
4、对于任一亮度块,基于亮度块的水平、垂直和对角共4个方向的梯度,确定该亮度块的几何变换方向;
5、对于任一分类,将该分类中各亮度块按照步骤3中确定的几何变换方向进行旋转,以得到该分类的滤波器系数。
6、按照实施例三描述的方式对该分类的滤波器系数进行自适应调整。
7、确定CTU级滤波器的开/关以及帧级滤波器的开/关。
8、将最优块划分方式、各分类自适应调整后的滤波器系数、CTU级滤波器的开/关以及帧级滤波器的开/关,通过编码码流通知给解码端设备。
解码端设备:
1、从当前图像的编码码流中获取帧级滤波器的开/关;若为开,转至步骤2;否则,结束当前流程。
2、从当前图像的编码码流中获取对当前图像的亮度分量进行维纳滤波的最优块划分方式。
3、基于最优块划分方式对当前图像的亮度分量进行块划分,以得到多个亮度块。
4、按照实施例二描述的方式确定该多个亮度块的分类。
5、按照CTU顺序,依次从编码码流中获取各CTU级滤波器的开/关。
6、对于任一CTU级滤波器为开的CTU中的亮度块,基于该亮度块所属的分类,从编码码流中获取该分类的滤波器系数。
7、基于该亮度块的水平、垂直和对角共4个方向的梯度,确定该亮度块的几何变换方向。
8、基于该亮度块的几何变换方向,对获取到的该亮度块所属的分类的滤波器系数进行几何逆变换。
9、基于几何逆变换后的滤波器系数对该亮度块进行滤波。
实施例十一、色度块的几何变换
由于色度所有像素属于同一类,且滤波器形状如图1C(b)所示。因此,对于滤波参数色度分量最多只需要编码6个系数。为了使当前图像的色度分量的所有数据点方向趋于一致,可以计算维纳滤波前各4*4色度块水平、垂直和对角共4个方向的梯度,对各4*4色度块进行旋转,使所有像素块的方向统一。
编码端设备:
1、对当前图像的色度分量进行块划分,得到多个4*4的色度块。
2、对于任一4*4色度块的水平、垂直和对角共4个方向的梯度,确定该4*4 色度块的几何变换方向。
3、将当前图像的各4*4色度块按照步骤2中确定的几何变换方向进行旋转,以得到滤波器系数。
4、确定CTU级滤波器的开/关以及帧级滤波器的开/关。
5、将滤波器系数、CTU级滤波器的开/关以及帧级滤波器的开/关,通过编码码流通知给解码端设备。
解码端设备:
1、从当前图像的编码码流中获取帧级滤波器的开/关;若为开,转至步骤2;否则,结束当前流程。
2、对当前图像的色度分量进行块划分,以得到多个4*4色度块。
3、按照CTU顺序,依次从编码码流中获取各CTU级滤波器的开/关。
4、从编码码流中获取滤波器系数,
5、对于任一CTU级滤波器为开的CTU中的4*4色度块,基于该4*4色度块的水平、垂直和对角共4个方向的梯度,确定该4*4色度块的几何变换方向。
6、基于该4*4色度块的几何变换方向对滤波器系数进行几何逆变换。
7、基于几何逆变换后的滤波器系数对该4*4色度块进行滤波。
需要说明的是,在本申请实施例中,对于色度分量,也可以按照实施例四~实施例十中任一实施例描述的方式进行维纳滤波处理,其具体实现在此不做赘述。
实施例十二
对于当前图像的亮度分量,采用实施例四~实施例十中任一实施例描述的方式进行维纳滤波处理。
对于当前图像的色度分量,采用实施例十一描述的方式进行维纳滤波处理。
应该认识到,上述实施例属于本申请实施例提供的技术方案的具体示例,而并不是对本申请保护范围的限定,本领域技术人员在未付出创造性劳动的前提下,对上述实施例进行的简单变型或任意实施例之间的组合,得到的新实施例均应属于本申请的保护范围。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图10,图10是本申请实施例提供的一种滤波装置的结构示意图,该装置可以包括:确定单元1010和滤波单元1020;
所述确定单元1010,用于当确定需要对当前图像进行维纳滤波时,确定对所述当前图像进行维纳滤波的最优块划分方式;
所述滤波单元1020,用于基于所述最优块划分方式对所述当前图像进行维纳滤波。
在一种可能的实施方式中,所述确定单元1010确定对所述当前图像进行维纳滤波的最优块划分方式,包括:
从所述当前图像的编码码流中获取对所述当前图像进行维纳滤波的最优块划分方式。
在一种可能的实施方式中,所述确定单元1010确定对所述当前图像的亮度分量进行维纳滤波的最优块划分方式,包括:
基于已获取的解码信息,确定对所述当前图像进行维纳滤波的最优块划分方式。
在一种可能的实施方式中,所述滤波单元1020基于所述最优块划分方式对所述当前图像进行维纳滤波,包括:
基于所述最优块划分方式对所述当前图像进行块划分,以得到多个图像块;
对所述多个图像块进行分类,以确定所述多个图像块的分类结果;
对于需要进行维纳滤波的CTU中的任一图像块,基于该图像块的N1个方向的梯度,确定该图像块的几何变换方向;
基于该图像块所属的分类,从所述当前图像的编码码流中获取该分类的滤波器系数;
基于该图像块的几何变换方向对该分类的滤波器系数进行几何逆变换,并基于几何逆变换后的滤波器系数对该图像块进行滤波。
在一种可能的实施方式中,所述滤波单元1020对所述多个图像块进行分类,以确定所述多个图像块的分类结果,包括:
基于各图像块的N2个方向的梯度,对所述多个图像块进行分类,以确定所述多个图像块的初步分类结果;
基于所述初步分类结果,确定各分类包括的图像块的数目;
当图像块最多的第一分类中图像块的数目大于第一阈值,且图像块最少的第二分类中图像块的数目小于第二阈值时,将所述第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为所述第二分类,另一部分图像块的分类保持为所述第一分类,以确定所述多个图像块的最终分类结果;其中,所述第一阈值大于所述第二阈值。
在一种可能的实施方式中,所述滤波单元1020将所述第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为所述第二分类,另一部分图像块的分类保持为所述第一分类,包括:
将所述当前图像划分为第一子图像和第二子图像;
将属于所述第一分类,且处于所述第一子图像内的图像块的分类保持为所述第一分类;
将属于所述第一分类,且处于所述第二子图像内的图像块的分类修改为所述第二分类。
在一种可能的实施方式中,所述图像块为亮度块。
在一种可能的实施方式中,
所述确定单元1010,还用于当确定需要对当前图像的色度分量进行维纳滤波时,对于需要对色度分量进行维纳滤波的CTU中的任一色度块,基于该色度块的N3个方向的梯度,确定该色度块的几何变换方向;
所述滤波单元1020,还用于从所述当前图像的编码码流中获取色度块的滤波器系数;基于该色度块的几何变换方向对所获取到的滤波器系数进行几何逆变换,并基于几何逆变换后的滤波器系数对该色度块进行滤波。
请参见图11,为本申请实施例提供的一种解码端设备的硬件结构示意图。该解码端设备可包括处理器1101、存储有机器可执行指令的机器可读存储介质1102。处理器1101与机器可读存储介质1102可经由系统总线1103 通信。并且,通过读取并执行机器可读存储介质1102中与滤波控制逻辑对应的机器可执行指令,处理器1101可执行上文描述的解码端设备的滤波方法。
本文中提到的机器可读存储介质1102可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
在一些实施例中,还提供了一种机器可读存储介质,该机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上文描述的解码端设备的滤波方法。例如,所述机器可读存储介质可以是ROM、 RAM、CD-ROM、磁带、软盘和光数据存储设备等。
请参见图12,图12是本申请实施例提供的一种滤波装置的结构示意图,该装置可以包括:确定单元1210和通知单元1220;
所述确定单元1210,用于确定对当前图像进行维纳滤波的最优块划分方式;
所述通知单元1220,用于当确定需要对所述当前图像进行维纳滤波时,将在所述最优块划分方式下所述当前图像的各图像块所属分类的滤波器系数,通过所述当前图像的编码码流通知给解码端设备。
在一种可能的实施方式中,所述确定单元1210确定对当前图像进行维纳滤波的最优块划分方式,包括:
对于多种候选块划分方式中的任一候选块划分方式,确定该候选块划分方式下对所述当前图像进行维纳滤波的率失真代价;
基于各候选块划分方式下对所述当前图像进行维纳滤波的率失真代价,将率失真代价最小的候选块划分方式确定为最优块划分方式。
在一种可能的实施方式中,所述确定单元1210确定该候选块划分方式下对所述当前图像进行维纳滤波的率失真代价,包括:
对按照该候选块划分方式进行块划分得到的图像块进行分类,以确定该候选块划分方式对应的初步分类结果;
基于该候选块划分方式对应的初步分类结果,确定各分类包括的图像块的数目;
当图像块最多的第一分类中图像块的数目大于第一阈值,且图像块最少的第二分类中图像块的数目小于第二阈值时,将所述第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为所述第二分类,另一部分图像块的分类保持为所述第一分类,以确定该候选块划分方式对应的最终分类结果;其中,所述第一阈值大于所述第二阈值;
基于该候选块划分方式对应的最终分类结果,确定该候选块划分方式下对所述当前图像进行维纳滤波的率失真代价。
在一种可能的实施方式中,所述确定单元1210将所述第一分类中的图像块拆分为两部分,并将其中一部分图像块的分类修改为所述第二分类,另一部分图像块的分类保持为所述第一分类,包括:
将所述当前图像划分为第一子图像和第二子图像;
将属于所述第一分类,且处于所述第一子图像内的图像块的分类保持为所述第一分类;
将属于所述第一分类,且处于所述第二子图像内的图像块的分类修改为所述第二分类。
在一种可能的实施方式中,在所述最优块划分方式下所述当前图像的各图像块所属分类的滤波器系数,通过以下方式确定:
确定该最优块划分方式下所述当前图像的各图像块所属分类的滤波器系数;
对于任一分类的滤波器系数,基于所述最优块划分方式下对所述当前图像进行维纳滤波的率失真代价,对该滤波器系数进行自适应调整;
将自适应调整完成后的滤波器系数确定为该分类的滤波器系数。
在一种可能的实施方式中,所述确定单元1210基于所述最优块划分方式下对所述当前图像进行维纳滤波的率失真代价,对该滤波器系数进行自适应调整,包括:
按照预设顺序,依次尝试删除该滤波器系数中指定位置的系数;
对于任一次尝试删除操作,若系数删除前对所述当前图像进行维纳滤波的率失真代价大于等于系数删除后对所述当前图像进行维纳滤波的率失真代价,则确定此次删除操作生效,并按照所述预设顺序,重新依次尝试删除该滤波器系数中未被删除的指定位置的系数;否则,确定此次删除操作不生效,并继续按照所述预设顺序,依次向后尝试删除该滤波器中的未被删除的指定位置的系数。
在一种可能的实施方式中,所述图像块为亮度块。
在一种可能的实施方式中,所述确定单元1210,还用于对于所述当前图像中的任一预设尺寸的色度块,基于该色度块的N3个方向的梯度,确定该色度块的几何变换方向;基于该色度块的几何变换方向,确定该色度块的滤波器系数;基于所述当前图像中各色度块的滤波器系数,确定所述当前图像的CTU 级滤波器的开/关和帧级滤波器的开/关。
请参见图13,为本申请实施例提供的一种编码端设备的硬件结构示意图。该编码端设备可包括处理器1301、存储有机器可执行指令的机器可读存储介质 1302。处理器1301与机器可读存储介质1302可经由系统总线1303通信。并且,通过读取并执行机器可读存储介质1302中与滤波控制逻辑对应的机器可执行指令,处理器1301可执行上文描述的编码端设备的滤波方法。
本文中提到的机器可读存储介质1302可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
在一些实施例中,还提供了一种机器可读存储介质,该机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上文描述的编码端设备的滤波方法。例如,所述机器可读存储介质可以是ROM、RAM、 CD-ROM、磁带、软盘和光数据存储设备等。
在一些实施例中,还提供了一种摄像机设备,包括上述任一实施例中的滤波装置。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (11)

1.一种滤波方法,应用于解码端设备,其特征在于,所述方法包括:
当确定需要对当前图像进行维纳滤波时,确定对所述当前图像进行维纳滤波的最优块划分方式;
基于所述最优块划分方式对所述当前图像进行维纳滤波。
2.根据权利要求1所述的方法,其特征在于,所述确定对所述当前图像进行维纳滤波的最优块划分方式,包括:
从所述当前图像的编码码流中获取对所述当前图像进行维纳滤波的最优块划分方式。
3.根据权利要求1所述的方法,其特征在于,所述确定对所述当前图像进行维纳滤波的最优块划分方式,包括:
基于已获取的解码信息,确定对所述当前图像进行维纳滤波的最优块划分方式。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述图像块为亮度块。
5.一种滤波方法,应用于编码端设备,其特征在于,所述方法包括:
确定对当前图像进行维纳滤波的最优块划分方式;
当确定需要对所述当前图像进行维纳滤波时,将在所述最优块划分方式下所述当前图像的各图像块所属分类的滤波器系数,通过所述当前图像的编码码流通知给解码端设备。
6.根据权利要求5所述的方法,其特征在于,所述确定对当前图像进行维纳滤波的最优块划分方式,包括:
对于多种候选块划分方式中的任一候选块划分方式,确定该候选块划分方式下对所述当前图像进行维纳滤波的率失真代价;
基于各候选块划分方式下对所述当前图像进行维纳滤波的率失真代价,将率失真代价最小的候选块划分方式确定为最优块划分方式。
7.根据权利要求5或6所述的方法,其特征在于,所述图像块为亮度块。
8.一种滤波装置,应用于解码端设备,其特征在于,所述装置包括:确定单元和滤波单元;
所述确定单元,用于当确定需要对当前图像进行维纳滤波时,确定对所述当前图像进行维纳滤波的最优块划分方式;
所述滤波单元,用于基于所述最优块划分方式对所述当前图像进行维纳滤波。
9.一种滤波装置,应用于编码端设备,其特征在于,所述装置包括:确定单元和通知单元;
所述确定单元,用于确定对当前图像进行维纳滤波的最优块划分方式;
所述通知单元,用于当确定需要对所述当前图像进行维纳滤波时,将在所述最优块划分方式下所述当前图像的各图像块所属分类的滤波器系数,通过所述当前图像的编码码流通知给解码端设备。
10.一种解码端设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现如权利要求1-4任一项所述的方法。
11.一种编码端设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现如权利要求5-7任一项所述的方法。
CN202211146011.1A 2019-12-06 2019-12-06 滤波方法、装置及设备 Pending CN115589484A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211146011.1A CN115589484A (zh) 2019-12-06 2019-12-06 滤波方法、装置及设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911244489.6A CN112929656B (zh) 2019-12-06 2019-12-06 滤波方法、装置及设备
CN202211146011.1A CN115589484A (zh) 2019-12-06 2019-12-06 滤波方法、装置及设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201911244489.6A Division CN112929656B (zh) 2019-12-06 2019-12-06 滤波方法、装置及设备

Publications (1)

Publication Number Publication Date
CN115589484A true CN115589484A (zh) 2023-01-10

Family

ID=76162089

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911244489.6A Active CN112929656B (zh) 2019-12-06 2019-12-06 滤波方法、装置及设备
CN202211146011.1A Pending CN115589484A (zh) 2019-12-06 2019-12-06 滤波方法、装置及设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201911244489.6A Active CN112929656B (zh) 2019-12-06 2019-12-06 滤波方法、装置及设备

Country Status (1)

Country Link
CN (2) CN112929656B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114387192B (zh) * 2021-12-22 2024-05-03 广东中星电子有限公司 图像滤波方法、装置、电子设备和计算机可读介质
WO2024016981A1 (en) * 2022-07-20 2024-01-25 Mediatek Inc. Method and apparatus for adaptive loop filter with chroma classifier for video coding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011113282A1 (en) * 2010-03-15 2011-09-22 Mediatek Singapore Pte. Ltd. Localized in-loop filtering with multiple filters in hybrid video coding
CN101790092B (zh) * 2010-03-15 2013-02-06 河海大学常州校区 基于图像块编码信息的智能滤波器设计方法
CN101984669A (zh) * 2010-12-10 2011-03-09 河海大学 一种帧层次自适应维纳插值滤波器的迭代方法
SG10201912254WA (en) * 2012-01-19 2020-02-27 Mitsubishi Electric Corp Image decoding device, image encoding device, image decoding method, and image encoding method
CN108293111B (zh) * 2015-10-16 2022-07-08 Lg电子株式会社 改善图像编码系统中的预测的滤波方法、装置和存储介质

Also Published As

Publication number Publication date
CN112929656B (zh) 2022-08-26
CN112929656A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
US11863798B2 (en) Image encoding/decoding method and device
TWI717309B (zh) 畫像編碼裝置、畫像解碼裝置以及記錄媒體
CN110036637B (zh) 去噪声化已重构图像的方法及装置
CN117041564A (zh) 影像编码/解码方法、装置以及对比特流进行存储的记录介质
CN112929656B (zh) 滤波方法、装置及设备
CN114025169A (zh) 帧内色度预测模式的选择方法、图像处理设备及存储设备
US20230209051A1 (en) Filtering method and apparatus, and device
JP2022544438A (ja) ループ内フィルタリングの方法及びループ内フィルタリングの装置
CN114125445A (zh) 解码方法、装置、设备及机器可读存储介质
WO2022184109A1 (zh) 用于滤波的方法、装置及设备
JP7467687B2 (ja) 符号化・復号方法及び装置
CN114827606A (zh) 一种编码单元划分的快速决策方法
CN114598867B (zh) 滤波方法、装置及设备
CN114640846A (zh) 滤波方法、装置及设备
US20240062427A1 (en) Point cloud encoding and decoding method and decoder
TWI826792B (zh) 圖像增強方法及裝置
WO2024007116A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2017135661A1 (ko) 그래프 기반 분리 가능한 변환 (graph-based separable transform)을 이용하여 비디오 신호를 인코딩 / 디코딩하는 방법 및 장치
Jánosi Two-Stage Overfitting of Neural Network-Based Video Coding In-Loop Filter
CN118101933A (zh) 滤波方法、装置及设备
WO2017135662A1 (ko) 에지 적응적 그래프 기반 변환을 이용하여 비디오 신호를 인코딩/디코딩하는 방법 및 장치

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