一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

环路滤波的方法与装置与流程

2021-12-08 01:00:00 来源:中国专利 TAG:

环路滤波的方法与装置
1.版权申明
2.本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
3.本发明涉及数字视频编码技术领域,并且更为具体地,涉及一种环路滤波的方法与装置。


背景技术:

4.目前,为了减少视频存储和传输所占用的带宽,需要对视频数据进行编码压缩处理。目前常用的编码技术中,视频的编码压缩处理过程包括:块划分、预测、变换、量化和熵编码过程,形成一个混合视频编码框架。在该混合视频编码框架的基础上,经过几十年的发展,逐渐形成了视频编解码技术标准,目前主流的一些视频编解码标准包括:国际视频编码标准h.264/mpeg

avc、h.265/mepg

hevc、国内音视频编码标准avs2,以及正在制定的h.266/vvc国际标准和avs3国内标准。
5.在块划分、预测、变换、量化和熵编码的编码过程中,由于量化的存在,解码重构视频中会存在块效应、振铃效应等压缩失真,同时,帧间预测模式中,重构视频中的压缩失真会影响后续图像的编码质量。因此,为了降低压缩失真,通过编解码结构框架中引入环路滤波(in loop filter)技术,提高当前解码图像质量以及为后续编码图像提供高质量的参考图像,提高压缩效率。
6.在目前正在制定的通用视频编码(versatile video coding,vvc)标准以及部分高性能视频编码(high efficiency video coding,hevc)标准中,环路滤波器包括去块滤波(deblocking filter,dbf),自适应样值补偿滤波(sample adaptive offset,sao)以及自适应环路滤波(adaptive loop filter,alf)。其中,alf根据维纳滤波器的原理,基于图像中不同的像素计算出自适应的滤波器系数并进行滤波,虽然alf能够带来良好的滤波效果以及提高编码效率,但是其复杂度高、运算耗时,在实际应用过程中存在一定的缺陷。


技术实现要素:

7.本发明提供一种环路滤波的方法与装置,相对于现有技术,可以降低环路滤波的复杂度,减少运算时间。
8.第一方面,提供了一种环路滤波的方法,包括:确定环路滤波的多组滤波系数;采用非差分编码方式对所述多组滤波系数进行编码。
9.第二方面,提供了一种环路滤波的方法,包括:获取环路滤波的码流;对所述码流中指示滤波系数组数的指示信息进行解码,确定滤波系数为多组;采用非差分解码方式对所述码流中的滤波系数码流进行解码得到多组滤波系数。
10.第三方面,提供了一种环路滤波的方法,包括:确定环路滤波的修正索引参数;采用非指数哥伦布编码方式对所述修正索引参数进行编码。
11.第四方面,提供了一种环路滤波的方法,包括:获取环路滤波的码流;采用非指数哥伦布解码方式对所述码流中修正索引参数的码流进行解码,得到环路滤波的修正索引参数。
12.第五方面,提供了一种非线性环路滤波的方法,包括:确定图像帧的亮度分量的环路滤波修正参数以及色度分量的环路滤波修正参数;所述亮度分量的环路滤波修正参数以及所述色度分量的环路滤波修正参数为从同一个参数列表中选择的参数。
13.第六方面,提供了一种环路滤波的装置,包括:处理器,所述处理器用于:确定环路滤波的多组滤波系数;采用非差分编码方式对所述多组滤波系数进行编码。
14.第七方面,提供了一种环路滤波的装置,包括:处理器,所述处理器用于:获取环路滤波的码流;对所述码流中指示滤波系数组数的指示信息进行解码,确定滤波系数为多组;采用非差分解码方式对所述码流中的滤波系数码流进行解码得到多组滤波系数。
15.第八方面,提供了一种环路滤波的装置,包括:处理器,所述处理器用于:确定环路滤波的修正索引参数;采用非指数哥伦布编码方式对所述修正索引参数进行编码。
16.第九方面,提供了一种环路滤波的装置,包括:处理器,所述处理器用于:获取环路滤波的码流;采用非指数哥伦布解码方式对所述码流中修正索引参数的码流进行解码,得到环路滤波的修正索引参数。
17.第十方面,提供了一种非线性环路滤波的装置,包括:处理器,所述处理器用于:确定图像帧的亮度分量的环路滤波修正参数以及色度分量的环路滤波修正参数;所述亮度分量的环路滤波修正参数以及所述色度分量的环路滤波修正参数为从同一个参数列表中选择的参数。
18.本技术实施例的技术方法,通过优化编解码环路滤波过程中的编码方式,降低环路滤波的计算复杂度,加快计算速度,提高编解码性能。
附图说明
19.图1是应用本技术实施例的技术方案的架构图。
20.图2是根据本技术实施例的视频编码框架示意图。
21.图3是根据本技术实施例的视频解码框架示意图。
22.图4是根据本技术实施例的维纳滤波器示意图。
23.图5a是根据本技术实施例的一种alf滤波器示意图。
24.图5b是根据本技术实施例的另一种alf滤波器示意图。
25.图6是本技术一个实施例的环路滤波的方法的示意性流程图。
26.图7是本技术另一个实施例的环路滤波的方法的示意性流程图。
27.图8是本技术另一个实施例的环路滤波的方法的示意性流程图。
28.图9是本技术另一个实施例的环路滤波的方法的示意性流程图。
29.图10是本技术另一个实施例的环路滤波的方法的示意性流程图。
30.图11是本技术另一个实施例的环路滤波的方法的示意性流程图。
31.图12是本技术另一个实施例的环路滤波的方法的示意性流程图。
32.图13是本技术另一个实施例的环路滤波的方法的示意性流程图。
33.图14是本技术另一个实施例的环路滤波的方法的示意性流程图。
34.图15是本技术一个实施例的环路滤波的装置的示意性框图。
35.图16是本技术另一个实施例的环路滤波的装置的示意性框图。
36.图17是本技术另一个实施例的环路滤波的装置的示意性框图。
37.图18是本技术另一个实施例的环路滤波的装置的示意性框图。
38.图19是本技术一个实施例的非线性环路滤波的装置的示意性框图。
具体实施方式
39.下面将结合附图,对本技术实施例中的技术方案进行描述。
40.本技术实施例可适用于标准或非标准的图像或视频编码器。例如,vvc标准的编码器。
41.应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本技术实施例,而非限制本技术实施例的范围。
42.还应理解,本技术实施例中的公式只是一种示例,而非限制本技术实施例的范围,各公式可以进行变形,这些变形也应属于本技术保护的范围。
43.还应理解,在本技术的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
44.还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本技术实施例对此并不限定。
45.除非另有说明,本技术实施例所使用的所有技术和科学术语与本技术的技术领域的技术人员通常理解的含义相同。本技术中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本技术的范围。本技术所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。
46.图1是应用本技术实施例的技术方案的架构图。
47.如图1所示,系统100可以接收待处理数据102,对待处理数据102进行处理,产生处理后的数据108。例如,系统100可以接收待编码数据,对待编码数据进行编码以产生编码后的数据,或者,系统100可以接收待解码数据,对待解码数据进行解码以产生解码后的数据。在一些实施例中,系统100中的部件可以由一个或多个处理器实现,该处理器可以是计算设备中的处理器,也可以是移动设备(例如无人机)中的处理器。该处理器可以为任意种类的处理器,本发明实施例对此不做限定。在一些可能的设计中,该处理器可以包括编码器、解码器或编解码器等。系统100中还可以包括一个或多个存储器。该存储器可用于存储指令和数据,例如,实现本发明实施例的技术方案的计算机可执行指令、待处理数据102、处理后的数据108等。该存储器可以为任意种类的存储器,本发明实施例对此也不做限定。
48.待编码数据可以包括文本、图像、图形对象、动画序列、音频、视频、或者任何需要编码的其他数据。在一些情况下,待编码数据可以包括来自传感器的传感数据,该传感器可以为视觉传感器(例如,相机、红外传感器),麦克风、近场传感器(例如,超声波传感器、雷达)、位置传感器、温度传感器、触摸传感器等。在一些情况下,待编码数据可以包括来自用
户的信息,例如,生物信息,该生物信息可以包括面部特征、指纹扫描、视网膜扫描、嗓音记录、dna采样等。
49.图2是根据本技术实施例的视频编码框架2示意图。如图2所示,在接收待编码视频后,从待编码视频的第一帧开始,依次对待编码视频中的每一帧进行编码。其中,当前编码帧主要经过:预测(prediction)、变换(transform)、量化(quantization)和熵编码(entropy coding)等处理,最终输出当前编码帧的码流。对应的,解码过程通常是按照上述过程的逆过程对接收到的码流进行解码,以恢复出解码前的视频帧信息。
50.具体地,如图2所示,所述视频编码框架2中包括一个编码控制模块201,用于进行编码过程中的决策控制动作,以及参数的选择。例如,如图2所示,编码控制模块202控制变换、量化、反量化、反变换的中用到的参数,控制进行帧内或者帧间模式的选择,以及运动估计和滤波的参数控制,且编码控制模块202的控制参数也将输入至熵编码模块中,进行编码形成编码码流中的一部分。
51.对当前待编码帧开始编码时,对待编码帧进行划分处理,具体地,首先对其进行条带(slice)划分,再进行块划分。可选地,在一个示例中,待编码帧划分为多个互不重叠的最大的编码树单元(coding tree unit,ctu),各ctu还可以分别按四叉树、或二叉树、或三叉树的方式迭代划分为一系列更小的编码单元(coding unit,cu),一些示例中,cu还可以包含与之相关联的预测单元(prediction unit,pu)和变换单元(transform unit,tu),其中pu为预测的基本单元,tu为变换和量化的基本单元。一些示例中,pu和tu分别是在cu的基础上划分成一个或多个块得到的,其中一个pu包含多个预测块(prediction block,pb)以及相关语法元素。一些示例中,pu和tu可以是相同的,或者,是由cu通过不同的划分方法得到的。一些示例中,cu、pu和tu中的至少两种是相同的,例如,不区分cu、pu和tu,全部是以cu为单位进行预测、量化和变换。为方便描述,下文中将ctu、cu或者其它形成的数据单元均称为编码块。
52.应理解,在本技术实施例中,视频编码针对的数据单元可以为帧,条带,编码树单元,编码单元,编码块或以上任一种的组。在不同的实施例中,数据单元的大小可以变化。
53.具体地,如图2所示,待编码帧划分为多个编码块后,进行预测过程,用于去除当前待编码帧的空域和时域冗余信息。当前比较常用的预测编码方法包括帧内预测和帧间预测两种方法。帧内预测仅利用本帧图像中己重建的信息对当前编码块进行预测,而帧间预测会利用到之前已经重建过的其它帧图像(也被称作参考帧)中的信息对当前编码块进行预测。具体地,在本技术实施例中,编码控制模块202用于决策选择帧内预测或者帧间预测。
54.当选择帧内预测模式时,帧内预测203的过程包括获取当前编码块周围已编码相邻块的重建块作为参考块,基于该参考块的像素值,采用预测模式方法计算预测值生成预测块,将当前编码块与预测块的相应像素值相减得到当前编码块的残差,当前编码块的残差经过变换204、量化205以及熵编码210后形成当前编码块的码流。进一步的,当前待编码帧的全部编码块经过上述编码过程后,形成待编码帧的编码码流中的一部分。此外,帧内预测203中产生的控制和参考数据也经过熵编码210编码,形成编码码流中的一部分。
55.具体地,变换204用于去除图像块的残差的相关性,以便提高编码效率。对于当前编码块残差数据的变换通常采用二维离散余弦变换(discrete cosine transform,dct)变换和二维离散正弦变换(discrete sine transform,dst)变换,例如在编码端将待编码块
的残差信息分别与一个n
×
m的变换矩阵及其转置矩阵相乘,相乘之后得到当前编码块的变换系数。
56.在产生变换系数之后用量化205进一步提高压缩效率,变换系数经量化可以得到量化后的系数,然后将量化后的系数进行熵编码210得到当前编码块的残差码流,其中,熵编码方法包括但不限于内容自适应二进制算术编码(context adaptive binary arithmetic coding,cabac)熵编码。
57.具体地,帧内预测203过程中的已编码相邻块为:当前编码块编码之前,已进行编码的相邻块,该相邻块的编码过程中产生的残差经过变换204、量化205、反量化206、和反变换207后,与该相邻块的预测块相加得到的重建块。对应的,反量化206和反变换207为量化206和变换204的逆过程,用于恢复量化和变换前的残差数据。
58.如图2所示,当选择帧间预测模式时,帧间预测过程包括运动估计208和运动补偿209。具体地,根据重建视频帧中的参考帧图像进行运动估计208,在一张或多张参考帧图像中根据一定的匹配准则搜索到与当前编码块最相似的图像块为匹配块,该匹配块与当前编码块的相对位移即为当前待编码块的运动矢量(motion vector,mv)。对待编码帧中的全部编码块进行运动估计之后,基于运动矢量和参考帧对当前待编码帧进行运动补偿209,获得当前待编码帧的预测值。将该待编码帧像素的原始值与对应的预测值相减得到待编码帧的残差。当前待编码帧的残差经过变换204、量化205以及熵编码210后形成待编码帧的编码码流中的一部分。此外,运动补偿209中产生的控制和参考数据也经过熵编码210编码,形成编码码流中的一部分。
59.其中,如图2所示,重建视频帧为经过滤波211之后得到视频帧。滤波211用于减少编码过程中产生的块效应和振铃效应等压缩失真,重建视频帧在编码过程中用于为帧间预测提供参考帧,在解码过程中,重建视频帧经过后处理后输出为最终的解码视频。在本技术实施例中,滤波211包括三种滤波技术:去块db滤波2111、自适应样值补偿偏移sao滤波2112和自适应环路滤波alf 2113,其中,alf 2113设置于db 2111和sao 2112之后。滤波211过程中的滤波参数同样被传送至熵编码中进行编码,形成编码码流中的一部分。
60.图3是根据本技术实施例的视频解码框架3示意图。如图3所示,视频解码执行与视频编码相对应的操作步骤。首先利用熵解码301得到编码码流中的残差数据、预测语法、帧内预测语法、运动补偿语法以及滤波语法中的一种或多种数据信息。其中,残差数据经过反量化302和反变换303得到原始残差数据信息。此外,根据预测语法确定当前解码块使用帧内预测还是帧间预测。如果是帧内预测304,则根据解码得到的帧内预测语法,利用当前帧中已重建图像块按照帧内预测方法构建预测信息;如果是帧间预测,则根据解码得到的运动补偿语法,在已重建的图像中确定参考块,得到预测信息;接下来,再将预测信息与残差信息进行叠加,并经过滤波311操作便可以得到重建视频帧,重建视频帧经过后处理306后得到解码视频。
61.具体地,在本技术实施例中,所述滤波311可以与图2中的滤波211相同,包括去块db滤波3111、自适应样值补偿偏移sao滤波3112和自适应环路滤波alf 3113,其中,滤波311中的滤波参数和控制参数可以通过对编码码流进行熵解码得到,基于得到的滤波参数和控制参数分别进行三种滤波。
62.具体地,db滤波用于处理预测单元pu和变换单元tu边界的像素,利用训练得到的
低通滤波器进行边界像素的非线性加权,从而减少块效应。sao滤波以帧图像中的编码块为单元,用于对编码块内的像素值进行分类,并为每一类像素加上补偿值,不同的编码块采用不同的滤波形式且不同的编码块中不同类的像素补偿值不同,使得重构帧图像更接近原始帧图像,避免振铃效应。alf滤波为一种维纳滤波(wiener filtering)过程,根据维纳滤波的原理,计算出滤波系数进行滤波,主要用于最小化重构帧图像与原始帧图像之间的均方误差(mean

square error,mse),从而进一步改善重建帧的图像质量,提高运动估计和运动补偿的准确度并有效的提高整个编码系统的编码效率,但是与此同时,alf滤波的复杂度高、运算耗时,在实际应用过程中存在一定的缺陷。
63.为方便理解,下面结合图4、图5a和图5b详细说明alf滤波过程。
64.alf滤波系数计算原理
65.首先,根据维纳滤波原理,说明计算alf滤波系数的计算方法,如图4所示,当前编码的原始编码帧中的一个像素信号为x,经过编码以及db滤波和sao滤波后的重建像素信号为y,在此过程中y引入的噪声或者失真为e,重建像素信号经过维纳滤波器中的滤波系数f滤波后,形成alf重建信号使得该alf重建信号与原始像素信号的均方误差最小,得到f即为alf滤波系数,具体地,f的计算公式如下:
[0066][0067]
可选地,在一种可能的实施方式中,一组alf滤波系数组成的滤波器如图5a和图5b所示,具有c0~c12呈对称分布的13个滤波系数,滤波器长度l为7;或者具有c0~c6呈对称分布的7个滤波系数,滤波器长度l为5。可选地,图5a所示的滤波器也称为7*7的滤波器,适用于编码帧亮度分量,图5b所示的滤波器也称为5*5的滤波器,适用于编码帧色度分量。
[0068]
应理解,在本技术实施例中,所述alf滤波器系数组成的滤波器还可以为其它形式的滤波器,例如具有呈对称分布,滤波器长度为9等滤波器形式,本技术实施例对此不做限定。
[0069]
可选地,在一种线性alf滤波过程中,对于重建图像帧中的待滤波像素点,使用周围像素点的加权平均来得到当前点滤波之后的结果,即alf重建图像帧中对应的像素点。具体地,重建图像帧中像素点i(x,y)为当前待滤波像素点,(x,y)为当前待滤波像素点在编码帧中的位置坐标,滤波器中心的滤波系数与其对应,滤波器中其它滤波系数与i(x,y)周围的像素点一一对应,滤波器中的滤波系数值即为权值,将滤波器中的滤波系数值与对应的像素点相乘后相加,再平均得到的数值即为当前待滤波像素点i(x,y)滤波后的像素值o(x,y),具体的计算公式如下:
[0070][0071]
其中,w(i,j)表示滤波器中的任意一个滤波系数,(i,j)表示滤波器中的滤波系数距离中心点的相对位置,i和j均为小于l/2大于

l/2的整数,其中l为滤波器的长度。例如,如图5a中的滤波器所示,滤波器中心的滤波系数c12表示为w(0,0),c12上方的滤波系数c6表示为w(0,1),c12右方的滤波系数c11表示为w(1,0)。
[0072]
按照此方式,依次对重建图像帧中的每个像素点进行滤波,得到滤波后的alf重建
图像帧。
[0073]
可选地,在一种可能的实现方式中,所述滤波器的滤波系数w(i,j)为[

1,1)之间的整数。
[0074]
可选地,在一种可能的实施方式中,对所述滤波器系数w(i,j)放大128倍后取整得到w’(i,j),w’(i,j)为[

128,128)之间的整数。具体地,对放大后的w’(i,j)进行编码传输易于硬件编解码实现,且采用放大后的w’(i,j)进行滤波得到o(x,y)的计算公式如下:
[0075][0076]
可选地,在另一种非线性alf滤波过程中,不再直接采用滤波器作为权值,将多个像素点的加权平均得到滤波之后的结果。而是引入非线性参数因子,优化滤波效果,具体地,采用非线性alf滤波对i(x,y)进行滤波计算得到o’(x,y)的计算公式如下:
[0077][0078]
其中,所述滤波器的滤波系数w(i,j)为[

1,1)之间的整数。k(d,b)是一个修正(clip)的操作,k(d,b)=min(b,max(

b,d))。
[0079]
具体地,在k(d,b)clip操作中,k(i,j)代表环路滤波alf修正clip参数,下文也简称修正参数或者clip参数,每一个滤波系数w(i,j)都会对应一个clip的参数。对于编码帧亮度分量,clip参数从{1024,181,32,6}中选择一个,对于编码帧色度分量,clip参数从{1024,161,25,4}中选择一个,且需要将每一个clip参数对应的索引,即修正(clip)索引参数写入码流。如果clip参数是1024,就要将clip索引参数0写入码流,同理,如果是181,就要将1写入码流,因此可以看出编码帧亮度分类和编码帧色度分类的clip索引参数均为0~3之间的整数。
[0080]
像素分类划分
[0081]
其次,若对一个像素点计算一组对应的alf滤波系数,其计算复杂度大且耗时,并且如果将每一个像素点的alf系数都写入码流,会到来巨大的开销,因此,需要对重建图像中的像素点进行分类划分,每一类像素点采用同一组alf滤波系数(一种滤波器),这样能够减少计算复杂度,提高编码效率。
[0082]
可选地,像素分类的方式可以有很多种。例如,可以只对像素的亮度y分量进行分类,对色度uv分量不进行分类。例如,对亮度y分量划分为25类,色度uv分量不划分,只有一类。换言之,对于一帧图像来讲,亮度y分量的编码帧最多可以对应25组滤波器,色度uv分量的编码帧对应一组滤波器。
[0083]
应理解,在本技术实施例中,像素类别可以是对应于亮度y分量的类别,但本技术实施例对此并不限定,像素类别也可以是对应于其他分量或所有分量的类别。为方便描述,下文以对亮度y分量的编码帧进行分类划分和alf滤波为例进行说明。
[0084]
可选地,在一种可能的实施方式中,将经过db滤波和sao滤波后的重建图像帧划分为多个4*4像素的块。将该多个4*4的块进行分类。
[0085]
例如,每一个4*4的块都可以根据拉普拉斯(laplace)方向进行分类:
[0086][0087]
c代表像素块所属类别。d为拉普拉斯方向,是进行方向d(direction)分类之后的细分类结果,的获取可以有多种方式,这里只是代表细分类的结果。
[0088]
方向d的计算方式如下,首先,计算当前4*4块在不同方向上的拉普拉斯梯度,计算公式为:
[0089][0090][0091][0092][0093]
其中,i和j是当前4*4块的左上像素点的坐标。
[0094]
r(k,l)代表4*4块中位于(k,l)位置的重构像素值。v
k,l
代表4*4块中位于(k,l)坐标的像素点在竖直方向的拉普拉斯梯度。h
k,k
代表4*4块中位于(k,l)坐标的像素点在水平方向拉普拉斯梯度。d1
k,l
代表4*4块中位于(k,l)坐标的像素点在135度方向拉普拉斯梯度。d2
k,l
代表4*4块中位于(k,l)坐标的像素点在45度拉普拉斯梯度。
[0095]
对应的,计算得到的g
v
代表当前4*4块在竖直方向的拉普拉斯梯度。g代表当前4*4块在水平方向的拉普拉斯梯度。g
d1
代表当前4*4块在135度方向的拉普拉斯梯度。g
d2
代表当前4*4块在45度方向的拉普拉斯梯度。
[0096]
然后,根据四个方向上拉普拉斯梯度的极值比,判断方向d,具体计算公式如下:
[0097][0098][0099][0100][0101]
其中,代表水平、竖直方向拉普拉斯梯度值的最大值。代表水平、竖直方向拉普拉斯梯度值的最小值。代表45、135方向拉普拉斯梯度值的最大值。代表45、135方向拉普拉斯梯度值的最小值。r
h,v
代表水平、竖直方向拉普拉斯梯度的比值。r
d0,d1
代表45、135方向拉普拉斯梯度的比值。
[0102]
如果而且d设置为0。
[0103]
如果而且d设置为1。
[0104]
如果而且d设置为2。
[0105]
如果而且d设置为3。
[0106]
如果而且d设置为4。
[0107]
t1和t2代表预先设置的阈值。
[0108]
可选地,在一种可能的实施方式中,的计算方式如下,
[0109][0110]
将a量化得到0~4之间的整数,得到
[0111]
因此,综合d和a的取值,c的取值范围为0~24之间的整数,在本技术实施例中,最多将一帧图像中的4*4块划分为25类。
[0112]
可选地,在一种可能的实施方式中,编码帧中具有n类4*4块,每一类4*4块具有一组alf滤波系数,其中,n为1~25之间的整数。
[0113]
应理解,在本技术实施例中,对整帧图像除了可以划分为多个4*4的块以外,还可以为划分为其它像素大小的块,例如,划分为多个8*8或者16*16大小的块,本技术实施例对此不做限制。
[0114]
还应理解,在本技术实施例中,除了上述根据拉普拉斯(laplace)方向进行分类外,还可以采用其他的分类方法对块进行分类,本技术实施例对此不做限定。
[0115]
还应理解,在本技术实施例中,分类数量除了25种外,还可以分类为其它任意数量,本技术实施例对此也不做限定。
[0116]
基于块的alf滤波
[0117]
alf滤波可以分为基于帧的alf,基于块的alf以及基于四叉树的alf,其中基于帧的alf为采用一组滤波系数对整帧进行滤波,基于块的alf为将编码帧划分为大小相等的图像块,对图像块进行判断是否进行alf滤波,基于四叉树的alf则是基于四叉树的划分方式将编码帧划分为大小不同的图像块,进行判断是否进行alf滤波。其中,基于帧的alf计算简单,但滤波效果不佳,而基于四叉树的alf计算复杂度较高,因此,在一些标准或技术中,例如最新正在研究制定的vvc标准中,其参考软件vtm采用的是基于块的alf。
[0118]
以vtm中基于块的alf作为示例说明。在vtm中,编码帧具有帧级alf滤波标志位,且具有块级alf滤波标志位。可选地,该块级可以为ctu,cu或者其它划分方式的图像块,本技术实施例对此不做限定,为方便描述,下文以ctu级alf滤波标志位进行举例说明。
[0119]
具体地,当帧级alf滤波标志位标识不进行alf滤波时,则不标识编码帧中ctu级alf滤波标志位,当帧级alf滤波标志位标识进行alf滤波时,对编码帧中ctu级alf滤波标志位进行标识表示当前ctu是否进行alf滤波。
[0120]
可选地,编码帧中包括z个ctu,计算编码帧中的n组alf滤波系数的方法如下:对编码帧中z个ctu是否进行alf滤波进行组合,针对每一种组合方式,计算得到该方式下的n组alf滤波系数和编码帧的率失真代价(rate

distortion cost,rd cost)。其中,每一组alf滤波系数中的第i组alf的计算方式为:在当前ctu组合方式下,将进行alf滤波的ctu中的第i类像素进行f计算,其它不进行alf滤波的ctu中的第i类像素则不进行f计算,计算得到当前组合方式下的第i组alf系数。应理解,不同组合方式下,计算得到的n组alf滤波系数可能互不相同。
[0121]
比较多个组合方式下的rd cost,其中,rd cost最小的组合方式确定为最终的组合方式。且在该组合方式下计算得到的n组alf滤波系数为适应性最优的alf滤波系数。
[0122]
当rd cost最小的组合方式为z个ctu中至少一个ctu进行alf滤波时,编码帧的帧级alf标志位标识为进行alf滤波,ctu级的alf标志位依次在ctu数据中标识是否进行alf滤波。例如,标识位标识为0时,表示不进行alf滤波,标识位标识为1时,表示进行alf滤波。
[0123]
特别地,当rd cost最小的组合方式为z个ctu均不进行alf滤波时,此时,编码帧不进行alf滤波,将编码帧的帧级alf标志位标识为不进行alf滤波。此时,ctu级的alf标志位不进行标识。
[0124]
应理解,本技术实施例中的alf不仅适用于vvc标准中,还适应用于其它采用基于块的alf技术方案或者标准中。
[0125]
alf滤波系数编码决策
[0126]
可选地,当计算得到当前ctu组合方式下的n组alf滤波系数后,alf可以根据rd cost决策是否采用系数合并等技术,不影响重建图像帧质量的情况下,在采用上述技术的基础上进行编码,可以进一步提高压缩性能,减少滤波系数所需比特(bit)数目。
[0127]
可选地,对该n组alf滤波系数进行如下三项决策:
[0128]
(1)不同alf滤波系数是否合并;
[0129]
(2)alf滤波系数是否置0;
[0130]
(3)采用差分编码方式或者非差分编码方式对alf滤波系数进行编码。
[0131]
具体地,不同alf滤波系数之间的合并,就是重建帧中不同种类的图像块使用相同的alf滤波系数。如果某些种类使用相同的滤波系数,那么就可以在码流中少传递一些滤波系数数值,从而提高编码效率。
[0132]
alf滤波系数置零:重建帧可能存在部分种类的像素点,在不使用alf滤波的情况下更好。也就是说,其不使用alf滤波的rd cost小于使用alf滤波的rd cost。在这种情况下,该种类像素点对应的滤波系数可以直接置零,也可以在码流中少传递一些滤波系数数值,从而提高编码效率。
[0133]
编码方式:alf滤波系数可以选择两种编码方式,第一种非差分编码方式是直接将滤波系数写入码流,另一种差分编码方式是,将第一组滤波系数写入码流,再将第二组减去第一组系数之后的结果写入码流,再将第三组减去第二组之后的系数写入码流,以此类推。
[0134]
可选地,依次进行alf滤波系数是否合并决策,是否置0决策以及编码方式的决策,本技术实施例对三种决策的顺序不做限制。
[0135]
可选地,在一种优选的实施方式中,先进行是否合并决策,再进行是否置0和编码方式的决策。
[0136]
具体地,在每一种决策中,根据当前条件,计算编码帧的rdcost,确定最小rd cost对应的条件得到决策的结果。
[0137]
例如,首先,当决策alf滤波系数是否合并时,对不同的像素类别进行合并,对合并后的像素种类基于维纳滤波原理计算得到多组合并后的滤波系数,例如,编码帧中有n种像素,对应n组初始滤波系数,n为不大于25的正整数。将n组像素类别中的两组或多组进行组合,该组合后新的合并滤波系数。例如,将两组类别组合成一个类别,得到n

1组类别,然后将这写类别计算滤波系数,得到n

1个滤波器
[0138]
可选地,采用不同的合并方式对所述n组初始滤波系数进行合并,最终处理得到n种不同的合并组合,第i种合并组合包括i组合并滤波系数,其中,每组合并滤波系数对应至少一组初始滤波系数,i为不大于n的正整数。
[0139]
可选地,在本技术实施例中,对每一种合并组合进行新的合并滤波系数计算,在该合并组合形式下,对多组合并滤波系数中的合并滤波系数是否置0以及编码方式进行判断。
[0140]
具体地,采用不同的选择方式从多组合并滤波系数选择一组或多组合并滤波系数置0,或不选择合并滤波系数置0,得到多种不同的置0滤波系数组合,对不同的置0滤波系数组合计算rd cost。计算得到rd cost最小的特定置0滤波系数组合以及该组合下的多组置0和不置0滤波系数。
[0141]
具体地,采用第一标志位标识是否存在滤波系数置零的情况,如果存在置零的情况,每一组滤波系数再采用第二标志位标识该组滤波系数是否置0,当一组滤波系数置0时,则不对该组滤波系数对应的像素种类进行alf滤波,标志位标识该组滤波系数置0,并且该组滤波系数不再写入码流,当一组滤波系数不置0时,则对该组滤波系数对应的像素种类进行alf滤波,标志位标识该组滤波系数不置0。如果第一标志位显示不存在系数置零情况,则不再传递第二标志位。
[0142]
最后,根据计算rd cost对多组不置0滤波系数进行差分编码和非差分编码方式的决策,得到最小rd cost下的编码方式。例如,差分编码方式下,计算的rd cost小,则选择差分编码方式。
[0143]
在一种合并组合下,通过最小rd cost计算,得到该合并组合下的不置0滤波系数以及差分/非差分编码方式。在此基础上,比较多种合并组合的rd cost,确定得到最小rd cost的特定合并组合以及该组合下的多组滤波系数和clip参数等相关滤波参数。
[0144]
在确定多组滤波系数的合并方式、是否置0以及编码方式后,在编码过程中需要对多种像素类别依次对应的滤波系数、具体哪几组滤波系数置0、以及差分还是非差分编码方式在语法标志位进行标识,解码过程中通过对语法标志位进行解码得到相应的信息,从而进行对应的解码操作。
[0145]
当前技术中引入差分编码方式,是为了在对多组滤波系数进行编码时,减少滤波系数编码所需的bit数,提高压缩性能。特别地,当多组alf滤波系数之间存在规律性变化,比如两组相邻滤波系数的差值小于其中一组滤波系数时,能够减少编码所需的bit数,否则,当两组滤波系数的差值大于其中一组滤波系数时,或者两组滤波系数的数值没有规律性时,采用差分编码方式则不能减少编码bit数,此时应使用非差分编码方式,直接对滤波系数进行编码。
[0146]
目前alf技术中,多组滤波系数之间并不存在很强的数值规律性变化,且滤波系数
的取值可以为负数或者整数,即两组滤波系数的差值可能部分或者全部大于其中任意一组滤波系数,因此,在选择差分编码和非差分编码的方式时,选择差分编码的概率很低。且,若采用差分编码方式进行编码,滤波系数之间会产生依赖性,在解码过程中,一旦其中一个系数在传输过程中发生错误,依赖于该系数的所有系数都会发生错误,导致滤波图像质量降低。
[0147]
与此同时,需要通过计算rd cost决策判断采用差分编码或者是非差分编码,且在滤波系数是否合并以及是否置0的决策的过程中,涉及到的组合类型较多,每一种组合类型均需要通过rd cost计算决策编码方式为差分编码或者为非差分编码,因而rd cost的计算量较大,影响编码端决策计算时间。
[0148]
更重要的是,若需要在差分编码以及非差分编码的方式之间进行编码模式选择,在编码过程中,需要使用语法标志位传递编码模式的信息,增加了码流中的bit数,不利于压缩。
[0149]
因此,目前的alf滤波系数编码方式存在冗余,复杂度高,影响了压缩效率和运行时间。鉴于此,本技术实施例提供了一种改进的技术方案。
[0150]
本技术实施例的技术方案,既可以应用于编码端,也可以应用于解码端。下面分别从编码端和解码端描述本技术实施例的技术方案。
[0151]
图6示出了本技术一个实施例的环路滤波的方法200的示意性流程图。该方法200可以由编码端执行。例如,可以由图1所示的系统100在进行编码操作时执行。
[0152]
s210:确定环路滤波的多组滤波系数。
[0153]
可选地,如前所述,所述环路滤波alf的多组滤波系数为根据维纳滤波原理得到的使重建图像帧与原始编码图像帧的均方误差最小的维纳滤波器中的系数值。
[0154]
可选地,滤波器可以为多种形状,例如,在vvc标准中,对编码帧的亮度分量采用如图5a所示的包含有13个滤波系数的滤波器,其中,13个滤波系数构成一组滤波系数。对编码帧的色度分量采用如图5b所示的包含有7个滤波系数的滤波器,其中,7个滤波系数构成一组滤波系数。
[0155]
可选地,在环路滤波alf的过程中,会对编码帧中的像素进行分类,不同类别的alf滤波系数可能不同,一种类别的像素对应一组alf滤波系数进行滤波计算。例如,在vvc标准中,对编码帧中的像素最多划分为25类,则获取到的环路滤波alf系数为n组,其中n为小于等于25的整数。
[0156]
可选地,进一步地,采用基于块的环路滤波方式进行滤波系数的计算。如前所述,通过控制块级的环路滤波开关,计算在不同块开启的情况下的一组或多组滤波系数。例如,在vvc标准中,以ctu级为块级控制单位,计算得到n组滤波系数。
[0157]
应理解,在本技术实施例中,所述环路滤波alf的多组滤波系数可以为编码帧的亮度分量的滤波系数,也可以为编码帧的色度分量的滤波系数,本技术实施例对此不做限定。
[0158]
还应理解,在本技术实施例中,所述环路滤波的多组滤波系数可以为基于帧计算得到的环路滤波系数,也可以为基于块计算得到的环路滤波系数,还可以为基于四叉树计算得到的环路滤波系数,本技术实施例对此也不做限定。
[0159]
s220:采用非差分编码方式对所述多组滤波系数进行编码。
[0160]
如前所述,多组滤波系数编码时,可能对多组滤波系数采用差分编码方式编码以
减少编码时占用的bit数,但不是所有情况下,采用差分编码方式均能减少bit数,且在实际情况中,采用差分编码方式为小概率事件。此外,在部分情况下,例如两组滤波系数相减后得到的差值大于之前任意一组滤波系数,采用差分编码方式还会增大bit数。因此,在本技术实施例中,直接采用非差分编码方式对所述多组滤波系数进行编码,能够提高编码效率。
[0161]
此外,采用非差分编码方式编码,多组滤波系数之间无依赖关系,可以防止具有依赖性的多组滤波系数在传输过程中发生错误,影响解码端的解码图像质量。
[0162]
可选地,所述非差分编码方式包括指数哥伦布编码方式、定长编码方式、一元码编码方式等等。
[0163]
优选地,在本技术实施例中,采用指数哥伦布编码(exponential golomb coding)方式对多组滤波系数进行编码后写入码流,能够实现对alf多组滤波系数的无损压缩。
[0164]
可选地,图7示出了本技术另一个实施例的编码端环路滤波的方法500的示意性流程图。
[0165]
所述环路滤波方法300包括:
[0166]
s310:确定环路滤波的多组滤波系数。
[0167]
s320:不对所述多组滤波系数的编码方式进行选择。
[0168]
s330:采用非差分编码方式对所述多组滤波系数进行编码。
[0169]
在本技术实施例中,步骤s310和s330可以与图6中的步骤s210以及s220相同,在确定多组滤波系数后,不对该多组滤波系数的编码方式进行选择,直接采用非差分编码方式对多组滤波系数进行编码写入码流。
[0170]
不对多组滤波系数的编码方式进行选择,即在编码端不在多种编码方式中通过计算决策选择其中最优的一种,换言之,避免了决策计算过程,节约了计算资源和编码时间,在不影响编码效率的基础上,加快编码速度。
[0171]
例如,在一种可能的对多组滤波系数的编码方式进行选择的方式中,通过计算多种编码方式下的编码帧的rd cost,选择最小的rd cost为最优的编码方式。而本技术实施例不进行上述rd cost计算以及选择。
[0172]
应理解,所述多组滤波系数的编码方式的选择包括但不限于差分编码方式和非差分编码方式之间的选择,还可以为具体的指数哥伦布编码方式等多种编码方式之间的选择,本技术实施例对此不做限定。
[0173]
可选地,在环路滤波方法200和环路滤波方法300中,所述环路滤波的语法元素中不包括指示多组滤波系数的编码方式的语法元素。
[0174]
若需要在多种编码方式中选择编码方式,则在编码的语法元素中,会预留至少一个bit位标识滤波系数的编码方式,并将该标识滤波系数编码方式的语法元素进行编码写入码流。
[0175]
可选地,在一种可能的实施方式中,所述环路滤波的语法元素中不包括指示多组滤波系数的编码方式为差分编码方式或者为非差分编码方式的语法元素。
[0176]
例如,在vvc标准中,采用“alf_luma_coeff_delta_prediction_flag”语法标志位标识亮度分量编码帧中环路滤波alf的滤波系数的编码方式为差分编码还是非差分编码。具体地,该语法标志位为一个无符号整数,占一个bit位,当alf_luma_coeff_delta_prediction_flag=0时,则alf滤波系数采用非差分编码方式编码,当alf_luma_coeff_
delta_prediction_flag=1时,则alf滤波系数采用差分编码方式编码。
[0177]
但在本技术实施例中,不需要在多种编码方式之间决策选择编码方式,因此,所述环路滤波的语法元素中不指示所述多组滤波系数的编码方式。例如,在vvc标准中,删除“alf_luma_coeff_delta_prediction_flag”的语法元素,以减少1bit的编码,提高编码压缩效率。
[0178]
应理解,本技术实施例中所述环路滤波的语法元素可以为编码帧亮度分量的语法元素,不指示亮度分量的多组滤波系数的编码方式,还可以为编码帧色度分量的语法元素,不指示色度分量的多组滤波系数的编码方式。本技术实施例对此不做限定。
[0179]
还应理解,本技术实施例还可以应用于除vvc外其它采用环路滤波alf的编码标准或编码技术方案,在语法元素中删除用于标识环路滤波alf的滤波系数编码方式的标志位。
[0180]
可选地,在环路滤波方法200和环路滤波方法300中,步骤s210和步骤s310中确定环路滤波的多组滤波系数具体可以包括:对多组初始滤波系数进行合并判断以及置0判断得到所述多组滤波系数。具体地,如图8所示,以环路滤波方法300为例进行说明。
[0181]
s311:采用多种合并组合方式合并多组初始滤波系数中的滤波系数,计算得到所述多种合并组合方式中每一种合并组合方式下的多组合并滤波系数。
[0182]
在本技术实施例中,多组初始滤波系数为根据维纳滤波原理和像素种类计算得到的与像素种类对应的多组初始滤波系数,可选地,该初始滤波系数可以为基于ctu块计算得到的多组初始滤波系数,也可以为基于帧或者基于四叉树计算得到的多组初始滤波系数,该过程可以参考前述具体的alf滤波过程,此处不再赘述。
[0183]
例如,计算得到的像素种类为n种,则对应的初始滤波系数为n组,即n组初始滤波系数中的第i组初始滤波系数用于对n种像素中的第i种进行滤波,其中,i为小于等于n的正整数。可选地,在一种可能的实施方式中,n可以为不大于25的正整数。
[0184]
将n组初始滤波系数中的至少两组合并为一组,将该至少两组初始滤波系数对应的像素均采用合并后的合并滤波系数进行滤波。可选地,合并的至少两组初始滤波系数为相邻的滤波系数,例如,在一种可能的组合方式中,将25组初始滤波系数中的第1

3组进行合并,4

8组进行合并,9

15组进行合并,16

25组进行合并。
[0185]
可选地,对n组滤波系数进行不同方式的合并组合和初步判断,共得到v种合并组合方式,根据维纳滤波原理,重新计算得到v种合并组合方式下的多组合并滤波系数。其中,v种合并组合方式中的合并滤波系数分别有k1~k
v
组,k1~k
v
均为小于等于n的正整数,k1~k
v
组中每一组合并滤波系数对应一种或多种像素。特别地,当n组滤波系数中没有滤波系数组合时,则合并滤波系数与初始滤波系数相同,一组滤波系数对应一种像素。
[0186]
s312:判断是否对所述多组合并滤波系数中的滤波系数置0,得到所述多种合并组合方式中每一种合并组合方式下不置0的多组合并滤波系数。
[0187]
具体地,当一组滤波系数置0时,则不采用该组滤波系数对像素进行滤波操作,像素值保持不变。具体地,通过语法元素标志位标识多组滤波系数是否存在置0的滤波系数组,进一步地,当多组滤波系数中存在置0的滤波系数时,还通过其它的标志位标识多组滤波系数中的每一组是否置0。
[0188]
具体地,在一种合并组合方式下的多组合并滤波系数中,多组合并滤波系数均不置0,以及对多组合并滤波系数中的一组或多组合并滤波系数置0,共得到多种置0组合。
[0189]
可选地,基于率失真优化(rate distortion optimization,rdo)技术,判断是否对所述多组合并滤波系数中的滤波系数置0。即对所述多种置0组合下的编码帧计算率失真代价rdcost,其中rd cost最小的置0组合即为最终确定的置0组合方式。例如,在一种可能的实施方式中,当前合并组合方式下的具有10组合并滤波系数,根据rd cost计算,最小rd cost情况下确定10组合并滤波系数中的第1

3组以及第5

7组进行置0,其它组不置0。
[0190]
具体地,率失真代价rd cost的计算方法如下所示:
[0191]
rdcost=d a*r
[0192]
其中d(distortion)表示当前技术下重建图像帧与原始图像编码帧之间的失真度,一般用误差平方和(sumof square errors,sse)、绝对误差和(sum of absolute difference,sad)或者hadamard变换后再绝对值求和(sumof absolute transformed difference,satd)表示,r(rate)表示当前技术下编码所需的比特bit数。r表现为数据压缩的程度,r越低,数据压缩程度越高,失真度越大;r越大,失真度越小,但是要求更大的存储空间,也会增加网络传输的压力,因此需要在r与d中找出平衡点,使压缩效果最优。因此,采用拉格朗日方法衡量r和d在rd cost中的比重,采用拉格朗日乘数a与r相乘,用于权衡比特数在该rdcost中的权重,其表示减少一个比特率将产生的编码失真。
[0193]
在经过是否置0的判断之后,置0的滤波系数组不被编码,因此,可以减少滤波系数编码的bit数,提高编码压缩效率。
[0194]
s313:在所述多种合并组合方式中确定特定合并组合方式,得到所述特定合并组合方式下的不置0的多组特定合并滤波系数。
[0195]
通过上述阐述可知,每一种合并组合方式下,通过rd cost计算得到一种最优的置0组合方式及其rd cost值,通过比较v种合并组合方式的最优置0组合方式的rd cost值,确定最小的rdcost对应的合并组合方式为最优的特定合并组合方式,得到该特定合并组合方式下的不置0的多组特定合并滤波系数。
[0196]
合并组合方式下,合并滤波系数的组数小于初始滤波系数的组数,滤波系数的编码bit数大幅度减少,进一步提高编码压缩效率。
[0197]
可选地,在本技术实施例中,所述多组特定合并滤波系数为环路滤波方法400和环路滤波方法500中的多组滤波系数。可选地,不对所述多组特定合并滤波系数的编码方式进行选择,直接采用非差分编码方式对该多组特定合并滤波系数进行编码。
[0198]
可选地,对该多组特定合并滤波系数中每一组滤波系数对应的像素种类进行标识。
[0199]
例如,经过rd cost计算后,确定7组合并滤波系数,且第1~5类像素对应第1组合并滤波系数,第6~9类像素对应第2组滤波系数,第10类像素对应第3组滤波系数,第11~14类像素对应第4组滤波系数,第15~21类像素对应第5组滤波系数,第22~23类像素对应第6组滤波系数,第24~25类像素对应第7组滤波系数。编码过程中,可以对25类像素对应的滤波系数组编码为[1,1,1,1,1,2,2,2,2,3,4,4,4,4,5,5,5,5,5,5,5,6,6,7,7]。
[0200]
可选地,对该特定合并组合方式下的多组合并滤波系数是否存在置0合并滤波系数组进行标识,若存在,则进一步对多组合并滤波系数中每一组合并滤波系数是否置0进行标识。
[0201]
例如,经过rd cost计算后,确定7组合并滤波系数,其中,第1组和第2组滤波系数
置0,其它5组滤波系数不置0,则对标识是否存在置0合并滤波系数组的语法元素编码为1,对标识每一组合并滤波系数是否置0的语法元素编码为[1,1,0,0,0,0,0]。
[0202]
又例如,7组滤波系数经过rd cost计算后,最终确定7组滤波系数均不置0,则对标识是否存在置0滤波系数组的语法元素编码为0,不对标识每一组滤波系数是否置0的语法元素进行编码。
[0203]
由于在本技术实施例的技术方案中,不需要在包括差分编码方式以及非差分编码方式的多种编码方式中选择编码方式,因此,不需要基于非差分编码方式和差分编码两种编码方式对多组合并滤波系数计算rd cost,因此,计算得到最小rd cost的特定合并组合方式的时间大大缩小。
[0204]
与此同时,在计算rd cost时,由于减少了用于标识编码方式的标志位,图像编码帧所需的比特数不包括指示多组滤波系数的编码方式的语法元素的比特数,例如,不包括指示编码多组滤波系数的编码方式为差分编码方式或者为所述非差分编码方式的语法元素的比特数。可选地,该指示多组滤波系数的编码方式的语法元素的比特数至少为1。
[0205]
由上述可知,在非线性alf滤波过程中,在多组初始滤波系数进行合并判断时,基于rd cost计算得到合并滤波系数对应的修正参数,且需要将修正参数对应的修正(clip)索引参数编码写入码流,所述clip索引参数为0~3之间的整数。
[0206]
在目前vvc标准的参考软件vtm中,采用指数哥伦布编码方式对clip索引参数编码写入码流,需要进行指数哥伦布阶数的复杂计算且编码需要的比特数较多,影响编码效率。
[0207]
为解决上述问题,图9示出了本技术另一个实施例的环路滤波的方法400的示意性流程图。该方法400可以由编码端执行。例如,可以由图1所示的系统100在进行编码操作时执行。
[0208]
s410:确定环路滤波的修正索引参数。
[0209]
在本技术实施例中,所述环路滤波的修正索引参数为非线性环路滤波中修正clip操作中修正(clip)参数对应的修正索引参数。在编码过程中,需要将对应于修正参数的修正索引参数编码写入码流。具体的非线性环路滤波过程可以参见前述具体方案,此处不再赘述。
[0210]
应理解,在本技术实施例中,修正索引参数的数量与修正参数的数量相等,因此,当修正参数为n个时,不同的修正索引参数可以标识区分不同的修正参数即可,修正索引参数的取值范围包括但不限于为0~n

1之间的整数,其数值范围本技术实施例对此不做限定。
[0211]
还应理解,在本技术实施例中,所述修正索引参数可以仅为编码帧亮度分量的亮度修正索引参数,也可以仅为编码帧色度分量的色度修正索引参数,还可以为编码帧亮度分量以及编码帧色度分量的共有的修正索引参数。
[0212]
例如,如前所述,在vvc标准中,对于编码帧亮度分量,亮度修正参数从{1024,181,32,6}中选择一个,对于编码帧色度分量,色度修正参数从{1024,161,25,4}中选择一个,此时,编码帧亮度分量和编码帧色度分量均需要将其修正参数对应的修正索引编码写入码流。
[0213]
除上述情况下,可选地,编码帧亮度分量的亮度修正参数和编码帧色度分量的色度修正参数相同。可选地,所述编码帧亮度分量的亮度修正参数和编码帧色度分量的色度
修正参数集合均为{1024,181,32,6}或者均为{1024,161,25,4}。
[0214]
可选地,编码帧亮度分量的亮度修正参数以及编码帧色度分量的色度修正参数为从同一个参数列表中选择的参数。可选地,所述参数列表包含以下至少一个数值:1024,181,32,6。或者,可选地,所述参数列表包含以下至少一个数值:1024,161,25,4。
[0215]
可选地,编码帧亮度分量以及编码帧色度分量的修正参数可以均从{1024,181,32,6}中选择一个或者均从{1024,181,32}中选择一个,特别地,同一个修正索引参数对应同一个修正参数,即编码帧亮度分量的修正索引参数与编码帧色度分量的修正索引参数相同时,对应的,编码帧亮度分量的修正参数与编码帧色度分量的修正参数相同。
[0216]
例如,亮度修正索引参数与色度修正索引参数为1时,编码帧亮度分量的修正参数与编码帧色度分量的修正参数均为181;亮度修正索引参数与色度修正索引参数为2时,编码帧亮度分量的修正参数与编码帧色度分量的修正参数均为32。
[0217]
采用此方式,能够将色度分量和亮度分量的修正参数设计统一起来,降低编解码器设计的复杂度,提升编码性能。
[0218]
s420:采用非指数哥伦布编码方式对所述修正索引参数进行编码。
[0219]
指数哥伦布编码方式是使用一定规则构造码字的变长编码模式,它将所有数字分为等大小不同的组,符号值较小的组分配的码长较短,同一组内符号长基本相等,并且组的大小呈指数增长。且指数哥伦布编码方式可以拓展至k阶,即k阶指数哥伦布编码方式。下表为k阶指数哥伦布编码的示意表,其中,x为待编码数值。
[0220]
表1
[0221][0222][0223]
如表1中所示,对于较小数值,随着待编码数值增大,指数哥伦布编码的比特数随之增大,且增大明显,因而指数哥伦布编码方式不适用于对较小数值的编码,与定长码编码等非指数哥伦布编码方式相比,其需要的编码比特数较多,且还需要在编解码段进行阶数的计算,计算复杂,不利于提高编码效率。
[0224]
因此,在本技术实施例中,采用非指数哥伦布编码方式对所述修正索引参数进行编码,并将编码后的参数写入码流,避免采用指数哥伦布编码方式的阶数判断,降低编码复
杂度且提高编码端rd cost的计算速度。
[0225]
可选地,所述非指数哥伦布编码方式包括但不限于是定长码编码方式,一元码(unary)编码方式或者是截断一元码(truncated unary,tu)编码方式。
[0226]
下文以vvc标准中,修正索引参数和对应的修正索引参数的数量均为4为例进行说明。
[0227]
修正索引参数可以采用4个数值用于区分不同的修正参数。
[0228]
可选地,该4个数值为任意4个不同的数值,优选地,该4个数值的取值范围较小,包括但不限于0~3、1~4、

1~2、

2~1或者

3~0中的任一种。
[0229]
在一种可能的实施方式中,采用定长码编码方式对4个数进行编码区分。
[0230]
例如,采用2比特位的定长码对0,1,2,3这四个数进行编码,0编码为00,1编码为01,2编码为10,3编码为11。
[0231]
应理解,编码后的00,01,10,11用于区分四个数值,00,01,10,11还可以标识其它数值,例如00还可以为1、2或者3的编码,01也可以为0、2或者3的编码等等,本技术实施例对此不做限定。
[0232]
可选地,除了上述采用2比特位的定长码对0,1,2,3这4个数进行编码外,还可以采用3比特位或者其它数量的比特位的定长码对其它4个数值进行编码,例如,采用3比特位的定长码对1~4进行编码等等,本技术实施例对此不做限定。
[0233]
在另一种可能的实施方式中,采用一元码编码方式对4个数进行编码区分。
[0234]
可选地,采用一元码编码方式对0,1,2,3这4个数进行编码,对于一个非二进制的无符号整数值符号x≥0,一元码码字由x个“1”位外加一个结尾的“0”位组成。例如,采用一元码编码方式对0,1,2,3这4个数编码得到0,10,110,1110。
[0235]
在另一种可能的实施方式中,采用截断一元码编码方式对4个数进行编码区分。
[0236]
可选地,采用截断一元码编码方式对0,1,2,3这4个数进行编码,已知截断值s,对于一个非二进制的无符号整数值符号0≤x<s,使用一元码进行二值化。对于等于一个非二进制的无符号整数值符号x=s,其二值化结果全部由1组成,长度为s。例如,当截断值s=3时,采用截断一元码编码方式对0,1,2,3这4个数编码得到0,10,110,111。
[0237]
特别地,当修正参数从1024,181,32,6中选择一个时,4个索引参数分别对应于1024,181,32,6中的一个数。可选地,4个索引参数可以按照一定的顺序进行对应标识,例如,索引参数0对应于1024,索引参数1对应于181,索引参数2对应于32,索引参数3对应于6;或者索引参数3对应于1024,索引参数2对应于181,索引参数1对应于32,索引参数0对应于6。
[0238]
可选地,4个索引参数可以不按照一定的顺序进行标识,而是随机进行对应标识,例如,索引参数0对应于1024,索引参数2对应于181,索引参数1对应于32,索引参数3对应于6;或者索引参数2对应于1024,索引参数3对应于181,索引参数0对应于32,索引参数1对应于6等等,本技术实施例对此不做限定。
[0239]
应理解,当修正参数从1024,161,25,4中选择一个时,4个索引参数分别对应于1024,161,25,4中的一个数,其标识对应方法可以参照上述标识方式,此处不再赘述。
[0240]
还应理解,在其它视频标准或者技术方案中,环路滤波的修正参数的数量为n,修正索引参数可以采用n个数值用于区分不同的修正参数,可以采用定长码编码方式、一元码
编码方式或者截断一元码编码方式中的任意一种对该n个数值进行编码进行区分。该n个数值的编码方式以及该n个数值与修正参数的对应关系可以参考上述vvc标准中,4个数值的编码方式以及与修正参数对应关系,此处不再赘述。
[0241]
可选地,在一种可能的实施方式中,所述定长码编码方式、一元码编码方式或者截断一元码编码等非指数哥伦布编码方式的编码比特数不大于4。当非指数哥伦布编码方式的比特数小于指数哥伦布编码方式的比特数时,能够提高编解码的编码效率,加快编码速度。
[0242]
可选地,如图10所示,在本技术实施例中,步骤s410中确定环路滤波的修正索引参数包括:
[0243]
s411:根据非指数哥伦布编码方式进行rd cost计算确定环路滤波的修正索引参数。
[0244]
具体地,根据非指数哥伦布编码方式进行rd cost计算确定环路滤波的每一个滤波系数对应的修正参数及其对应的修正索引参数。
[0245]
如前所述,在非线性环路滤波中,每一个滤波系数对应一个修正参数。在系数合并决策过程中,对n组滤波系数进行不同方式的合并组合和初步判断,共得到v种合并组合方式,根据维纳滤波原理,重新计算得到v种合并组合方式下的多组合并滤波系数。可选地,n可以为不大于25的正整数。
[0246]
在本技术实施例中,基于重新计算得到的v种合并组合方式下的多组合并滤波系数,根据rd cost计算,得到多组合并滤波系数中每一个滤波系数对应的修正参数。在rd cost计算过程中,修正参数对应的修正索引参数的编码方式为非指数哥伦布编码方式,例如定长码编码方式等等。
[0247]
在rd cost计算过程中,基于非指数哥伦布编码方式进行计算的比特数相比于基于指数哥伦布编码方式进行计算的比特数少,且不需要进行指数哥伦布的阶数判断,降低rd cost的计算时间,有利于提高编码效率。
[0248]
可选地,如图11所示,在本技术实施例中,一种环路滤波的方法500包括:
[0249]
s510:确定环路滤波的多组滤波系数;
[0250]
s520:确定环路滤波的修正索引参数;
[0251]
s530:采用非差分编码方式对多组滤波系数进行编码;
[0252]
s540:采用非指数哥伦布编码方式对所述修正索引参数进行编码。
[0253]
可选地,步骤s510可以与前述环路滤波的方法200和环路滤波的方法300中的步骤s210、步骤s310相同或相近;步骤s520可以与前述步骤s220、步骤330相同或相近。可选地,步骤s530和步骤s540可以与前述环路滤波的方法400中的步骤s410和步骤s420相同或相近。具体实施方式可以参见前述技术方案,此处不再赘述。
[0254]
在本技术实施例中,优化了环路滤波中多组滤波系数的编码方式以及修正索引参数的编码方式,在不影响编码质量的前提下,从两方面提升了编码效率,加快了编码速度。
[0255]
以上从编码端的角度描述了本技术实施例的技术方案,下面从解码端的角度描述本技术实施例的技术方案。应理解,除了以下描述外,编码端和解码端通用的描述可以参考前面的描述,为了简洁,不再赘述。
[0256]
图12示出了本技术一个实施例的环路滤波的方法600的示意性流程图。该方法600
可以由解码端执行。例如,可以由图1所示的系统100在进行解码操作时执行。
[0257]
s610:获取环路滤波的码流;
[0258]
s620:对所述码流中指示滤波系数组数的指示信息进行解码,确定滤波系数为多组;
[0259]
在本技术实施例中,由于解码帧中的像素被划分为多类,一类像素对应一组滤波系数,因此,环路滤波的码流中包括指示滤波系数组数的指示信息,例如,在vvc标准的参考软件vtm中,对max_num_alf_classes的指示信息进行解码,得到环路滤波中滤波系数的组数,当组数大于1时,即确定滤波系数为多组时,执行步骤s630。
[0260]
s630:采用非差分解码方式对所述码流中的滤波系数码流进行解码得到多组滤波系数。
[0261]
具体地,由于编码端直接采用非差分编码方式进行编码,则对应的,解码端采用非差分解码方式对滤波系数码流直接进行解码,得到的多组滤波系数不需要经过其它计算处理,可以直接用于进行滤波操作。而采用差分解码方式进行解码,得到的解码值还需要经过计算处理才能得到用于滤波的多组滤波系数,且多组滤波系数之间依赖性强,当数据传输过程中出现错误,则会对解码端的多组滤波系数造成较大的影响,不利于滤波效果和图像质量。因此,相比于采用差分解码方式,采用非差分解码方式对滤波系数码流进行滤波能够提高解码端环路滤波图像的质量。
[0262]
可选地,所述非差分解码方式包括指数哥伦布解码方式、定长解码方式、一元码解码方式等等。
[0263]
优选地,在本技术实施例中,采用指数哥伦布解码方式对多组滤波系数进行解码。
[0264]
可选地,在采用所述非差分解码方式对所述码流中的滤波系数码流进行解码之前,不对所述滤波系数码流的编码方式进行解码。
[0265]
在一种可能的实施方式中,所述码流中包括指示所述滤波系数码流的编码方式的语法元素码流,但不对该语法元素码流进行解码。
[0266]
在另一种可能的实施方式中,所述码流中根本不包括指示所述滤波系数码流的编码方式的语法元素码流。
[0267]
在该实施方式中,可选地,所述码流中不包括指示所述滤波系数码流的编码方式为差分编码方式或者为非差分编码方式的语法元素码流。
[0268]
例如,在vvc标准中,采用“alf_luma_coeff_delta_prediction_flag”语法标志位标识图像帧亮度分量中环路滤波alf的滤波系数的编码方式为差分编码还是非差分编码。该语法标志位为一个无符号整数,占一个bit位。
[0269]
在本技术实施例中,码流中不包括该“alf_luma_coeff_delta_prediction_flag”语法元素的码流,不需要对该语法元素的码流进行解码,减少解码时间。
[0270]
应理解,本技术实施例中指示滤波系数码流的编码方式的语法元素码流可以为解码帧亮度分量的语法元素码流,还可以为解码帧色度分量的语法元素码流。本技术实施例对此不做限定。
[0271]
还应理解,本技术实施例还可以应用于除vvc外其它采用环路滤波alf的编码标准或编码技术方案,本技术实施例对此也不做限定。
[0272]
可选地,所述多组滤波系数对应于前述编码端中环路滤波方法200和环路滤波方
法中的多组滤波系数,此处不再赘述。
[0273]
可选地,图13示出了本技术另一个实施例的解码端环路滤波的方法700的示意性流程图,所述环路滤波的方法700为一种非线性环路滤波方法。
[0274]
所述环路滤波方法700包括:
[0275]
s710:获取环路滤波的码流;
[0276]
s720:采用非指数哥伦布解码方式对所述码流中修正索引参数的码流进行解码,得到环路滤波的修正索引参数。
[0277]
在本技术实施例中,所述环路滤波的修正索引参数为非线性环路滤波中修正clip操作中修正(clip)参数对应的修正索引参数。
[0278]
可选地,在本技术实施例中,解码得到的所述修正索引参数可以参考前述编码端环路滤波方法400中的修正索引参数,此处不再详细说明。
[0279]
应理解,在本技术实施例中,修正索引参数的数量与修正参数的数量相等,因此,当修正参数为n个时,解码得到的修正索引参数也为n个,修正索引参数的取值范围包括但不限于为0~n

1之间的整数,其数值范围本技术实施例对此不做限定。
[0280]
还应理解,在本技术实施例中,解码得到的所述修正索引参数可以仅为解码帧亮度分量的亮度修正索引参数,也可以仅为解码帧色度分量的色度修正索引参数,还可以为解码帧亮度分量以及解码帧色度分量的共有的修正索引参数。
[0281]
例如,在vvc标准中,对解码帧亮度分量的亮度修正索引参数码流解码得到对应的亮度修正参数为{1024,181,32,6}中的一个,对解码帧色度分量的色度修正索引参数码流解码得到对应的色度修正参数为{1024,161,25,4}中的一个。
[0282]
除上述情况下,可选地,解码帧亮度分量的亮度修正参数和解码帧色度分量的色度修正参数相同。可选地,所述解码帧亮度分量的亮度修正参数和解码帧色度分量的色度修正参数集合均为{1024,181,32,6}或者均为{1024,161,25,4}。
[0283]
可选地,解码帧亮度分量的亮度修正参数以及解码帧色度分量的色度修正参数为同一个参数列表中的参数。可选地,所述参数列表可以包含以下至少一个数值:1024,181,32,6。或者,可选地,所述参数列表还可以包含以下至少一个数值:1024,161,25,4。
[0284]
可选地,解码帧亮度分量以及解码帧色度分量的修正参数可以均为{1024,181,32,6}中的一个或者均为{1024,181,32}中的一个,特别地,解码得到解码帧亮度分量的修正索引参数与解码帧色度分量的修正索引参数相同时,对应的,解码帧亮度分量的修正参数与解码帧色度分量的修正参数相同。
[0285]
例如,解码得到亮度修正索引参数与色度修正索引参数为1时,编码帧亮度分量的修正参数与编码帧色度分量的修正参数均为181;解码得到亮度修正索引参数与色度修正索引参数为2时,编码帧亮度分量的修正参数与编码帧色度分量的修正参数均为32。
[0286]
采用此方式进行解码,能够简化解码流程,加快解码速度,提升解码性能。
[0287]
在本技术实施例中,采用非指数哥伦布解码方式解码,可以避免解码端对于指数哥伦布阶数的计算,提高解码的速度,优化解码性能。
[0288]
可选地,所述非指数哥伦布解码方式包括但不限于是定长码解码方式,一元码解码方式或者是截断一元码解码方式。所述定长码解码、一元码解码和截断一元码解码为前述定长码编码、一元码编码和截断一元码编码的逆过程。
[0289]
具体地,以vvc标准中,修正索引参数和对应的修正索引参数的数量均为4为例进行说明。
[0290]
在一种可能的实施方式中,采用定长码解码方式对修正索引参数码流进行解码。
[0291]
例如,一个修正索引参数对应的修正索引参数码流为2比特的码流,该2比特的码流为00,01,10,11中的一个,对00,01,10,11采用定长码解码得到对应的修正索引参数为0,1,2,3。
[0292]
可选地,根据特定的定长码解码规则,00还可以解码为1、2或者3,01也可以解码为0、2或者3等等,本技术实施例对此不做限定。
[0293]
可选地,除了上述修正索引参数码流为2比特的码流外,修正索引参数码流还可以为3比特位或者其它数量的比特位,例如,对3比特位的码流进行解码得到1~4等等,本技术实施例对此不做限定。
[0294]
在另一种可能的实施方式中,采用一元码解码方式对修正索引参数码流进行解码。
[0295]
可选地,一个修正索引参数对应的修正索引参数码流为0,10,110,1110中一个,对0,10,110,1110采用一元码解码得到对应的修正索引参数为0,1,2,3。
[0296]
在另一种可能的实施方式中,采用截断一元码解码方式对修正索引参数码流进行解码。
[0297]
可选地,一个修正索引参数对应的修正索引参数码流为0,10,110,111中的一个,对0,10,110,111采用截断一元码解码得到对应的修正索引参数为0,1,2,3。
[0298]
特别地,当修正参数为1024,181,32,6中的一个时,4个索引参数分别对应于1024,181,32,6中的一个数。可选地,4个索引参数可以按照一定的顺序进行对应标识,例如,索引参数0对应于1024,索引参数1对应于181,索引参数2对应于32,索引参数3对应于6;或者索引参数3对应于1024,索引参数2对应于181,索引参数1对应于32,索引参数0对应于6。
[0299]
可选地,4个索引参数可以不按照一定的顺序进行标识,而是随机进行对应标识,例如,索引参数0对应于1024,索引参数2对应于181,索引参数1对应于32,索引参数3对应于6;或者索引参数2对应于1024,索引参数3对应于181,索引参数0对应于32,索引参数1对应于6等等,本技术实施例对此不做限定。
[0300]
应理解,当修正参数为1024,161,25,4中的一个时,4个索引参数分别对应于1024,161,25,4中的一个数,其标识对应方法可以参照上述标识方式,此处不再赘述。
[0301]
还应理解,在其它视频标准或者技术方案中,对一个修正索引参数对应的修正索引参数码流解码得到n个数值中的一个,可以采用定长码解码方式、一元码解码方式或者截断一元码解码方式中的任意一种对该修正索引参数码流进行解码。该n个数值的解码方式以及该n个数值与修正参数的对应关系可以参考上述vvc标准中,4个数值的解码方式以及与修正参数对应关系,此处不再赘述。
[0302]
可选地,在一种可能的实施方式中,所述定长码解码方式、一元码解码方式或者截断一元码解码等非指数哥伦布解码方式的解码比特数不大于4。当非指数哥伦布解码方式的比特数小于指数哥伦布解码方式的比特数时,能够提高编解码的解码效率,加快解码速度。
[0303]
可选地,图14示出了本技术另一个实施例的解码端环路滤波的方法800的示意性
流程图。
[0304]
如图14所示,在本技术实施例中,一种环路滤波的方法800包括:
[0305]
s810:获取环路滤波的码流;
[0306]
s820:对所述码流中指示滤波系数组数的指示信息进行解码,确定滤波系数为多组;
[0307]
s830:采用非差分解码方式对所述码流中的滤波系数码流进行解码得到多组滤波系数;
[0308]
s840:采用非指数哥伦布解码方式对所述码流中修正索引参数的码流进行解码,得到环路滤波的修正索引参数。
[0309]
可选地,步骤s810、步骤s820和步骤s830可以与前述环路滤波的方法600的步骤s610、步骤s620和步骤630相同或相近;步骤s840可以与前述环路滤波的方法700中的步骤s720相同或相近。具体实施方式可以参见前述技术方案,此处不再赘述。
[0310]
在本技术实施例中,优化了环路滤波中多组滤波系数的解码方式以及修正索引参数的解码方式,从两方面提升了解码效率,加快了解码速度。
[0311]
上文结合图6至图11,详细描述了本技术的编码侧环路滤波的方法实施例,下文结合图15至图16,详细描述本技术的编码环路滤波装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。
[0312]
图15是根据本技术实施例的编码端的环路滤波的装置20的示意性框图。可选地,该环路滤波的装置20可以对应于环路滤波的方法200或300;可选地,该环路滤波的装置20还可以对应于环路滤波的方法200与400结合的环路滤波的方法,或者,对应于环路滤波的方法300与400结合的环路滤波的方法,或者对应于环路滤波方法500。
[0313]
如图15所述,所述环路滤波的装置20包括:处理器21和存储器22;
[0314]
存储器22可用于存储程序,处理器21可用于执行所述存储器中存储的程序,以执行如下操作:
[0315]
确定环路滤波的多组滤波系数;采用非差分编码方式对所述多组滤波系数进行编码。
[0316]
可选地,在本技术的一个实施例中,所述处理器21可以为环路滤波的装置20所在的电子设备的处理器或控制器。
[0317]
可选地,所述处理器21具体用于:在采用所述非差分编码方式对所述多组滤波系数进行编码之前不对所述多组滤波系数的编码方式进行选择。
[0318]
可选地,所述环路滤波的语法元素中不包括指示所述多组滤波系数的编码方式的语法元素。
[0319]
可选地,所述环路滤波的语法元素中不包括指示所述多组滤波系数的编码方式为差分编码方式或者为所述非差分编码方式的语法元素。
[0320]
可选地,指示所述多组滤波系数的编码方式为所述差分编码方式或者为所述非差分编码方式的语法元素的标志位为0或1。
[0321]
可选地,所述处理器21具体用于:不基于所述多组滤波系数的编码方式计算编码帧的率失真代价,且不基于最小率失真代价选择所述多组滤波系数的编码方式。
[0322]
可选地,所述处理器21具体用于:不基于差分编码方式和所述非差分编码方式计
算编码帧的率失真代价,且不基于最小率失真代价选择所述差分编码方式或所述非差分编码方式。
[0323]
可选地,所述处理器21具体用于:采用所述指数哥伦布编码方式对所述多组滤波系数进行编码后,将所述多组滤波器系数的编码值写入码流。
[0324]
可选地,所述处理器21具体用于:采用多种合并组合方式合并多组初始滤波系数中的滤波系数,计算得到所述多种合并组合方式中每一种合并组合方式下的多组合并滤波系数;
[0325]
判断是否对所述多组合并滤波系数中的滤波系数置0,得到所述多种合并组合方式中每一种合并组合方式下的不置0的多组合并滤波系数;
[0326]
在所述多种合并组合方式中确定特定合并组合方式,得到所述特定合并组合方式下的不置0的所述多组特定合并滤波系数。
[0327]
可选地,所述处理器21具体用于:采用不同的选择方式从所述多组合并滤波系数中选择合并滤波系数置0,得到不同的置0滤波系数组合;
[0328]
基于所述非差分编码方式,计算不同的置0滤波系数组合下的编码帧的率失真代价,确定得到率失真代价最小的置0滤波系数组合下的不置0的多组滤波系数。
[0329]
可选地,所述处理器21具体用于:基于所述非差分编码方式,计算所述多种合并组合方式下的编码帧的率失真代价,确定得到率失真代价最小的所述特定合并组合方式下的不置0的所述多组特定合并滤波系数。
[0330]
可选地,所述处理器21具体用于:基于所述编码帧编码所需的比特数计算所述率失真代价,其中,所述编码帧编码所需的比特数不包括指示所述多组滤波系数的编码方式为差分编码方式或者为所述非差分编码方式的语法元素的比特数。
[0331]
可选地,所述多组滤波系数为编码帧亮度分量的n组滤波系数,其中n为小于等于25的正整数。
[0332]
可选地,所述多组滤波系数为基于编码树单元ctu计算得到的滤波系数。
[0333]
可选地,所述多组滤波系数中的每组滤波系数包括13个值。
[0334]
可选地,所述环路滤波为非线性环路滤波,所述处理器21还用于:
[0335]
确定所述非线性环路滤波的修正索引参数;采用非指数哥伦布编码方式对所述修正索引参数进行编码。
[0336]
可选地,所述修正索引参数的取值为0

3中的整数。
[0337]
可选地,所述非指数哥伦布编码方式的编码比特数不大于4。
[0338]
可选地,所述非指数哥伦布编码方式为定长码编码方式、一元码编码方式或者截断一元码编码方式。
[0339]
可选地,所述非指数哥伦布编码方式为所述定长码编码方式,所述定长码编码方式的编码比特数为2。
[0340]
可选地,所述非指数哥伦布编码方式为所述截断一元码编码方式,所述截断一元码编码方式的编码比特数不大于3。
[0341]
可选地,所述处理器21具体用于:在采用所述非指数哥伦布编码方式对所述修正索引参数进行编码之前,基于所述非指数哥伦布编码方式计算编码帧的率失真代价。
[0342]
可选地,所述处理器21具体用于:在采用所述非指数哥伦布编码方式对所述修正
索引参数进行编码之前,不基于指数哥伦布编码方式计算编码帧的率失真代价。
[0343]
可选地,所述处理器21具体用于:采用所述非指数哥伦布编码方式对所述修正索引参数进行编码后,将所述修正索引参数的编码值写入码流。
[0344]
可选地,一个所述修正索引参数对应一个环路滤波修正参数,所述一个环路滤波修正参数对应所述多组滤波系数中的一个滤波系数;
[0345]
基于多个所述环路滤波修正参数和所述多组滤波系数进行环路滤波。
[0346]
可选地,所述修正索引参数包括编码帧亮度分量的亮度修正索引参数和编码帧色度分量的色度修正索引参数;
[0347]
所述亮度修正索引参数对应编码帧亮度分量的亮度环路滤波修正参数,所述色度修正索引参数对应编码帧色度分量的色度环路滤波修正参数;
[0348]
当所述亮度修正索引参数与所述色度修正索引参数相同时,所述亮度环路滤波修正参数与色度环路滤波修正参数相同。
[0349]
可选地,所述亮度环路滤波修正参数以及所述色度环路滤波修正参数为从同一个参数列表中选择的参数。
[0350]
可选地,所述参数列表包含以下至少一个数值:1024,181,32,6。
[0351]
图16是根据本技术实施例的另一种编码端的环路滤波的装置30的示意性框图,该环路滤波的装置30为视频编码端中的环路滤波的装置,可选地,该环路滤波的装置20可以对应于环路滤波的方法400;可选地,该环路滤波的装置30还可以对应于环路滤波的方法400与200结合的环路滤波的方法,或者,对应于环路滤波的方法400与300结合的环路滤波的方法,或者对应于环路滤波方法500。
[0352]
如图16所述,所述环路滤波的装置30包括:处理器31和存储器32;
[0353]
存储器32可用于存储程序,处理器31可用于执行所述存储器中存储的程序,以执行如下操作:
[0354]
确定环路滤波的修正索引参数;采用非指数哥伦布编码方式对所述修正索引参数进行编码。
[0355]
可选地,所述修正索引参数的取值为0

3中的整数。
[0356]
可选地,所述非指数哥伦布编码方式的编码比特数不大于4。
[0357]
可选地,所述非指数哥伦布编码方式为定长码编码方式、一元码编码方式或者截断一元码编码方式。
[0358]
可选地,所述非指数哥伦布编码方式为所述定长码编码方式,所述定长码编码方式的编码比特数为2。
[0359]
可选地,所述非指数哥伦布编码方式为所述截断一元码编码方式,所述截断一元码编码方式的编码比特数不大于3。
[0360]
可选地,处理器31具体用于:在采用所述非指数哥伦布编码方式对所述修正索引参数进行编码之前,基于所述非指数哥伦布编码方式计算编码帧的率失真代价。
[0361]
可选地,处理器31具体用于:在采用所述非指数哥伦布编码方式对所述修正索引参数进行编码之前,不基于指数哥伦布编码方式计算编码帧的率失真代价。
[0362]
可选地,处理器31具体用于:采用所述非指数哥伦布编码方式对所述修正索引参数进行编码后,将所述修正索引参数的编码值写入码流。
[0363]
可选地,处理器31还用于:确定环路滤波的多组滤波系数;
[0364]
采用非差分编码方式对所述多组滤波系数进行编码。
[0365]
可选地,处理器31具体用于:在采用所述非差分编码方式对所述多组滤波系数进行编码之前不对所述多组滤波系数的编码方式进行选择。
[0366]
可选地,所述环路滤波的语法元素中不包括指示所述多组滤波系数的编码方式的语法元素。
[0367]
可选地,所述环路滤波的语法元素中不包括指示所述多组滤波系数的编码方式为差分编码方式或者为所述非差分编码方式的语法元素。
[0368]
可选地,指示所述多组滤波系数的编码方式为所述差分编码方式或者为所述非差分编码方式的语法元素的标志位为0或1。
[0369]
可选地,处理器31具体用于:不基于所述多组滤波系数的编码方式计算编码帧的率失真代价,不基于最小率失真代价选择所述多组滤波系数的编码方式。
[0370]
可选地,处理器31具体用于:不基于差分编码方式和所述非差分编码方式计算编码帧的率失真代价,不基于最小率失真代价选择所述差分编码方式和所述非差分编码方式。
[0371]
可选地,处理器31具体用于:采用所述指数哥伦布编码方式对所述多组滤波系数进行编码后,将所述多组滤波器系数的编码值写入码流。
[0372]
可选地,所述处理器31具体用于:采用多种合并组合方式合并多组初始滤波系数中的滤波系数,计算得到所述多种合并组合方式中每一种合并组合方式下的多组合并滤波系数;
[0373]
判断是否对所述多组合并滤波系数中的滤波系数置0,得到所述多种合并组合方式中每一种合并组合方式下的不置0的多组合并滤波系数;
[0374]
在所述多种合并组合方式中确定特定合并组合方式,得到所述特定合并组合方式下的不置0的所述多组特定合并滤波系数。
[0375]
可选地,所述处理器31具体用于:采用不同的选择方式从所述多组合并滤波系数中选择合并滤波系数置0,得到不同的置0滤波系数组合;
[0376]
基于所述非差分编码方式,计算不同的置0滤波系数组合下的编码帧的率失真代价,确定得到率失真代价最小的置0滤波系数组合下的不置0的多组滤波系数。
[0377]
可选地,所述处理器31具体用于:基于所述非差分编码方式,计算所述多种合并组合方式下的编码帧的率失真代价,确定得到率失真代价最小的所述特定合并组合方式下的不置0的所述多组特定合并滤波系数。
[0378]
可选地,处理器31具体用于:基于所述编码帧编码所需的比特数计算所述率失真代价,其中,所述编码帧编码所需的比特数不包括指示所述多组滤波系数的编码方式为所述差分编码方式或者为所述非差分编码方式的语法元素的比特数。
[0379]
可选地,所述多组滤波系数为编码帧亮度分量的n组滤波系数,其中n为小于等于25的正整数。
[0380]
可选地,所述多组滤波系数为基于编码树单元ctu计算得到的滤波系数。
[0381]
可选地,所述多组滤波系数中的每组滤波系数包括13个值。
[0382]
可选地,一个所述修正索引参数对应一个环路滤波修正参数,所述一个环路滤波
修正参数对应所述多组滤波系数中的一个滤波系数;
[0383]
基于多个所述环路滤波修正参数和所述多组滤波系数进行环路滤波。
[0384]
可选地,所述环路滤波为非线性环路滤波,所述修正索引参数包括编码帧亮度分量的亮度修正索引参数和编码帧色度分量的色度修正索引参数;
[0385]
所述亮度修正索引参数对应编码帧亮度分量的亮度环路滤波修正参数,所述色度修正索引参数对应编码帧色度分量的色度环路滤波修正参数;
[0386]
当所述亮度修正索引参数与所述色度修正索引参数相同时,所述亮度环路滤波修正参数与色度环路滤波修正参数相同。
[0387]
可选地,所述亮度环路滤波修正参数以及所述色度环路滤波修正参数为从同一个参数列表中选择的参数。
[0388]
可选地,所述参数列表包含以下至少一个数值:1024,181,32,6。
[0389]
上文结合图12至图14,详细描述了本技术的解码侧环路滤波的方法实施例,下文结合图17至图18,详细描述本技术的解码环路滤波装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。
[0390]
图17是根据本技术实施例的解码端的环路滤波的装置40的示意性框图。可选地,该环路滤波的装置40可以对应于环路滤波的方法600;可选地,该环路滤波的装置40还可以对应于环路滤波的方法600与700结合的环路滤波的方法,或者对应于环路滤波方法800。
[0391]
如图17所述,所述环路滤波的装置40包括:处理器41和存储器42;
[0392]
存储器42可用于存储程序,处理器41可用于执行所述存储器中存储的程序,以执行如下操作:
[0393]
获取环路滤波的码流;
[0394]
对所述码流中指示滤波系数组数的指示信息进行解码,确定滤波系数为多组;
[0395]
采用非差分解码方式对所述码流中的滤波系数码流进行解码得到多组滤波系数。
[0396]
可选地,所述处理器41具体用于:在采用所述非差分解码方式对所述码流中的滤波系数码流进行解码之前,不对所述滤波系数码流的编码方式进行解码。
[0397]
可选地,所述码流中不包括指示所述滤波系数码流的编码方式的语法元素码流。
[0398]
可选地,所述码流中不包括指示所述滤波系数码流的编码方式为差分编码方式或者为所述非差分编码方式的语法元素码流。
[0399]
可选地,指示所述滤波系数码流的编码方式为所述差分编码方式或者为所述非差分编码方式的语法元素码流的标志位为0或1。
[0400]
可选地,所述非差分解码方式为指数哥伦布解码方式。
[0401]
可选地,所述多组滤波系数为解码帧亮度分量的n组滤波系数,其中n为小于等于25的正整数。
[0402]
可选地,所述多组滤波系数为基于编码树单元ctu计算得到的滤波系数。
[0403]
可选地,所述多组滤波系数中的每组滤波系数包括13个值。
[0404]
可选地,所述环路滤波为非线性环路滤波,所述处理器41还用于:
[0405]
采用非指数哥伦布解码方式对所述码流中修正索引参数的码流进行解码,得到环路滤波的修正索引参数。
[0406]
可选地,所述修正索引参数的取值为0

3中的整数。
[0407]
可选地,所述非指数哥伦布解码方式的解码比特数不大于4。
[0408]
可选地,所述非指数哥伦布解码方式为定长码解码方式、一元码解码方式或者截断一元码解码方式中的一种。
[0409]
可选地,所述非指数哥伦布解码方式为所述定长码解码方式,所述定长码解码方式的解码比特数为2。
[0410]
可选地,所述非指数哥伦布解码方式为所述截断一元码解码方式,所述截断一元码解码方式的解码比特数不大于为3。
[0411]
可选地,一个所述修正索引参数对应一个环路滤波修正参数,所述一个环路滤波修正参数对应所述多组滤波系数中的一个滤波系数;
[0412]
基于多个所述环路滤波修正参数和所述多组滤波系数进行环路滤波。
[0413]
可选地,所述修正索引参数包括解码帧亮度分量的亮度修正索引参数和解码帧色度分量的色度修正索引参数;
[0414]
所述亮度修正索引参数对应解码帧亮度分量的亮度环路滤波修正参数,所述色度修正索引参数对应解码帧色度分量的色度环路滤波修正参数;
[0415]
当所述亮度修正索引参数与所述色度修正索引参数相同时,所述亮度环路滤波修正参数与色度环路滤波修正参数相同。
[0416]
可选地,所述亮度环路滤波修正参数以及所述色度环路滤波修正参数为从同一个参数列表中选择的参数。
[0417]
可选地,所述参数列表包含以下至少一个数值:1024,181,32,6。
[0418]
图18是根据本技术实施例的解码端的另一环路滤波的装置50的示意性框图。可选地,该环路滤波的装置50可以对应于环路滤波的方法700;可选地,该环路滤波的装置50还可以对应于环路滤波的方法700与600结合的环路滤波的方法,或者对应于环路滤波方法800。
[0419]
如图18所述,所述环路滤波的装置50包括:处理器51和存储器52;
[0420]
存储器52可用于存储程序,处理器51可用于执行所述存储器中存储的程序,以执行如下操作:
[0421]
获取环路滤波的码流;
[0422]
采用非指数哥伦布解码方式对所述码流中修正索引参数的码流进行解码,得到环路滤波的修正索引参数。
[0423]
可选地,所述修正索引参数的取值为0

3中的整数。
[0424]
可选地,所述非指数哥伦布解码方式的解码比特数不大于4。
[0425]
可选地,所述非指数哥伦布解码方式为定长码解码方式、一元码解码方式或者截断一元码解码方式中的一种。
[0426]
可选地,所述非指数哥伦布解码方式为所述定长码解码方式,所述定长码解码方式的解码比特数为2。
[0427]
可选地,所述非指数哥伦布解码方式为所述截断一元码解码方式,所述截断一元码解码方式的解码比特数不大于3。
[0428]
可选地,所述处理器51还用于:对所述码流中指示滤波系数组数的指示信息进行解码,确定滤波系数为多组;
[0429]
采用非差分解码方式对所述码流中的滤波系数码流进行解码得到多组滤波系数。
[0430]
可选地,所述处理器51具体用于:在采用所述非差分解码方式对所述码流中的滤波系数码流进行解码之前,不对所述滤波系数码流的编码方式进行解码。
[0431]
可选地,所述码流中不包括指示所述滤波系数码流的编码方式的语法元素码流。
[0432]
可选地,所述码流中不包括指示所述滤波系数码流的编码方式为差分编码方式或者为所述非差分编码方式的语法元素码流。
[0433]
可选地,指示所述滤波系数码流的编码方式为所述差分编码方式或者为所述非差分编码方式的语法元素码流的标志位为0或1。
[0434]
可选地,所述非差分解码方式为指数哥伦布解码方式。
[0435]
可选地,所述多组滤波系数为解码帧亮度分量的n组滤波系数,其中n为小于等于25的正整数。
[0436]
可选地,所述多组滤波系数为基于编码树单元ctu计算得到的滤波系数。
[0437]
可选地,所述多组滤波系数中的每组滤波系数包括13个值。
[0438]
可选地,一个所述修正索引参数对应一个环路滤波修正参数,所述一个环路滤波修正参数对应所述多组滤波系数中的一个滤波系数;
[0439]
基于多个所述环路滤波修正参数和所述多组滤波系数进行环路滤波。
[0440]
可选地,所述修正索引参数包括解码帧亮度分量的亮度修正索引参数和解码帧色度分量的色度修正索引参数;
[0441]
所述亮度修正索引参数对应解码帧亮度分量的亮度环路滤波修正参数,所述色度修正索引参数对应解码帧色度分量的色度环路滤波修正参数;
[0442]
当所述亮度修正索引参数与所述色度修正索引参数相同时,所述亮度环路滤波修正参数与色度环路滤波修正参数相同。
[0443]
可选地,所述亮度环路滤波修正参数以及所述色度环路滤波修正参数为从同一个参数列表中选择的参数。
[0444]
可选地,所述参数列表包含以下至少一个数值:1024,181,32,6。
[0445]
图19是根据本技术实施例的一种非线性环路滤波的装置60的示意性框图。该环路滤波的装置60可用于设置于视频编码装置中,也可以设置于视频解码装置中。
[0446]
如图19所示,所述非线性环路滤波的装置60包括:处理器61和存储器62;
[0447]
存储器62可用于存储程序,处理器61可用于执行所述存储器中存储的程序,以执行如下操作:
[0448]
确定图像帧的亮度分量的环路滤波修正参数以及色度分量的环路滤波修正参数;
[0449]
其中,所述亮度分量的环路滤波修正参数以及所述色度分量的环路滤波修正参数为从同一个参数列表中选择的参数。
[0450]
可选地,所述参数列表包含以下至少一个数值:1024,181,32,6。
[0451]
可选地,所述处理器61具体用于:确定所述亮度分量的亮度修正索引参数和所述色度分量的色度索引参数;
[0452]
根据所述亮度修正索引参数确定所述亮度分量的环路滤波修正参数,所述色度索引参数对应所述所述色度分量的环路滤波修正参数;
[0453]
当所述亮度修正索引参数与所述色度修正索引参数相同时,所述色度分量的环路
滤波修正参数与所述亮度分量的环路滤波修正参数相同。
[0454]
可选地,所述图像帧为编码帧,所述非线性环路滤波的装置60设置于视频编码装置中;或者,所述图像帧为解码帧,所述非线性环路滤波的装置60设置于视频解码装置中。
[0455]
本技术实施例还提供了一种电子设备,该电子设备可以包括上述本技术各种实施例的环路滤波的装置。
[0456]
应理解,本技术实施例的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器包括但不限于以下各种:通用处理器,中央处理器cpu、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0457]
可以理解,本技术实施例的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read

only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0458]
本技术实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图6至图14所示实施例的方法。
[0459]
本技术实施例还提出了一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行图6至图14所示实施例的方法。
[0460]
本技术实施例还提供了一种芯片,该芯片包括输入输出接口、至少一个处理器、至少一个存储器和总线,该至少一个存储器用于存储指令,该至少一个处理器用于调用该至少一个存储器中的指令,以执行图6至图14所示实施例的方法。
[0461]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0462]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0463]
在本技术所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0464]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0465]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0466]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0467]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献