一种帧内快速编码方法与流程

文档序号:27971004发布日期:2021-12-14 21:42阅读:131来源:国知局
一种帧内快速编码方法与流程

1.本发明属于计算机视觉领域中的深度估计领域,特别是一种帧内快速编码方法。


背景技术:

2.数据集,特别是二维或以上数据集进行数据压缩的编码时,通常把此数据集划分成若干具有预定形状的子集,称为编码块,以编码块或解码块为单位,按照预定的时间顺序,一块一块进行编码或解码。在任一时刻,正在编码中的编码块称为当前编码块。
3.对于具有一定形状的一个编码块或解码块,在很多场合需要将其划分成更精细的基元(基本单元),按照预定的时间顺序,一个基元一个基元进行编码或解码。对一个基元内的所有样值,通常施行同一类型的编码或解码操作。划分是得到基元的基本方式。视频编码的基本处理结构是编码单元(codingunit,cu)。在获取新的一帧后,首先将一帧视频图像划分成不同的块,然后对每个块再分别进行相应的编码处理。在avs2中,一帧图像首先被划分为64x64大小的编码树单元(codingtreeunit,ctu),一个ctu由一个亮度编码树块(coding treeblock,ctb),和两个对应的色度ctb及相应的句法元素构成。对于亮度ctb其按四叉树的方式向下划分,最大为64x64,最小为8x8。当ctu划分成cu后,每个cu还要进行预测、变换等。而在最新一代标准avs3(thethirdgenerationofaudiovideocoding standard)中,为了进一步提高块划分的灵活性,采用更加复杂的划分结构。avs3由原来简单的四叉树划分演变为内嵌二叉树和扩展四叉树划分的四叉树结构(quadtreebinarytreeplusextendedquadtree,qtbtpluseqt)。这种划分结构支持更多变的cu尺寸,既包括方形也包括矩形编码块,与此同时设计了更多的预测和变换模型以支持多变的cu类型。划分是后续预测、变换和量化的基础,其虽然不会直接影响压缩影响,但是合理的加会有助于后续预测或变换,使得预测更加准确或变换后的能量更加集中。
4.灵活多样的划分方式提升了约10%左右的编码效率,对新一代视频编码标准avs3的重要性不言而喻。然而,四叉树划分和二叉树划分方式提升了编码效率的同时,同时也引入了不可忽视的复杂度。高昂的复杂度增加对avs3的应用和落地都带去了难题。


技术实现要素:

5.本发明要解决的技术问题是现有划分方式的复杂度较高。
6.本发明提出一种帧内快速编码方法,包括以下步骤:
7.s1,输入数据集,对数据集进行编码,将正在编码中的编码块称为当前编码块;
8.s2,对当前编码块使用帧内编码方法,得到历史信息a;
9.s3,根据历史信息a和当前编码块的信息,判断当前编码块是否做四叉树划分:如果允许,得到历史信息b后进行s4,如果不允许,则直接进行s4;
10.s4,根据历史信息a和当前编码块的信息或历史信息a和b和当前编码块的信息,判断当前编码块是否做二叉树划分:如果允许,得到历史信息c,如果不允许,则直接进行s5;
11.s5,根据历史信息a和当前编码块的信息或历史信息a和b和当前编码块的信息或
历史信息a和b和c和当前编码块的信息,判断当前编码块是否做扩展四叉树划分:如果允许,得到历史信息d,如果不允许,则直接进行s6;
12.s6,根据s3到s5中判断的情况,输出最优划分模式。
13.优选的,所述步骤s2中,所述历史信息a包括帧内预测模式、率失真代价a和全零块标志,历史信息b包括率失真代价b和四叉树深度,历史信息c包括率失真代价c,历史信息d包括率失真代价d。
14.优选的,当全零块标志为1时,四叉树划分、二叉树划分和扩展四叉树划分的判断结果均为不允许。
15.优选的,如果率失真代价a小于率失真代价b以及小于率失真代价c,则扩展四叉树划分的判断结果为不允许。
16.优选的,如果率失真代价b小于率失真代价c,则扩展四叉树划分的判断结果为不允许。
17.优选的,所述二叉树划分包括水平二叉树划分和垂直二叉树划分,扩展四叉树划分包括水平扩展四叉树划分和垂直扩展四叉树划分。
18.优选的,定义当前编码块的四叉树深度为a以及算法阈值为t,经过四叉树划分后的子块中最大的四叉树深度记为b,令d等于b

a,如果d的值大于或等于t,则二叉树划分和扩展四叉树划分的判断结果均为不允许,其中t为小于等于n的自然数,n为编码器能达到的最大的四叉树划分深度。
19.优选的,率失真代价c包括水平二叉树划分的率失真代价e和垂直二叉树划分的率失真代价f,率失真代价d包括水平扩展四叉树划分的率失真代价g和垂直扩展四叉树划分的率失真代价h,定义一阈值r,如果率失真代价b大于r乘以率失真代价a,则水平二叉树划分、垂直二叉树划分、水平扩展四叉树划分和垂直扩展四叉树划分的判断结果均为不允许;如果率失真代价e大于r乘以率失真代价a,则垂直二叉树划分、水平扩展四叉树划分和垂直扩展四叉树划分的判断结果均为不允许;如果率失真代价f大于r乘以率失真代价a,则水平扩展四叉树划分和垂直扩展四叉树划分的判断结果均为不允许;如果率失真代价g大于r乘以率失真代价a,则垂直扩展四叉树划分的判断结果均为不允许。
20.优选的,帧内预测模式的预测方向为垂直方向,则水平二叉树划分、水平扩展四叉树划分的判断结果均为不允许;帧内预测模式的预测方向为水平方向,则垂直二叉树划分、垂直扩展四叉树划分的的判断结果均为不允许。
21.本发明同现有技术相比具有以下优点及效果:
22.本发明对于不同的划分类型,使用已经决策过的划分方式当作辅助信息进行后续的划分,从而在保持压缩效率的同时,大幅提高编码速度。
附图说明
23.构成本技术的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
24.图1为本发明的总流程图。
具体实施方式
25.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
26.实施例1:
27.如图1所示,一种帧内快速编码方法,包括以下步骤:
28.步骤1,输入数据集,数据集可以是一个一维数据队列、一个二维数据文件、一帧图像、一个视频序列、一个变换域、一个变换块、多个变换块、一个三维场景、一个持续变化的三维场景的序列等数据的集合,对该数据集进行编码,将正在编码中的编码块称为当前编码块。
29.步骤2,对当前编码块使用帧内编码方法,得到历史信息a,历史信息a包括帧内预测模式、率失真代价a和全零块标志。
30.步骤3.1,根据当前编码块的信息,判断当前编码块是否允许做四叉树划分:根据avs3编码标准中的规定,先根据当前编码块的宽高比、最小允许做四叉树的边长以及划分后得到子块的边长确定是否允许进行四叉树的划分。
31.步骤3.2,根据历史信息a,判断当前编码块是否允许做四叉树划分:当全零块标志为1时,不允许进行四叉树划分、二叉树划分和扩展四叉树划分,跳过后序步骤,直接输出具有最小率失真代价的帧内预测模式。
32.步骤3.3,当步骤3.1和3.2都允许做四叉树划分时,进行四叉树划分,得到历史信息b,历史信息b包括率失真代价b和四叉树深度;否则,跳过四叉树划分。
33.步骤4.1,根据当前编码块的信息,判断当前编码块是否允许做二叉树划分:根据avs3编码标准中的规定,先根据当前编码块的宽高比、最小允许做二叉树的边长以及划分后得到子块的边长确定是否允许进行二叉树的划分。
34.步骤4.2,二叉树划分包括水平二叉树划分和垂直二叉树划分,
35.当步骤3.3进行了四叉树划分时,根据历史信息a和历史信息b,从以下方式中任选其一判断当前编码块是否允许做二叉树划分:
36.判断方式一:定义当前编码块的四叉树深度为a以及算法阈值为t,经过四叉树划分后的子块中最大的四叉树深度记为b,令d等于b

a,如果d的值大于或等于t,则水平二叉树划分和垂直二叉树划分的判断结果均为不允许,其中t为小于等于n的自然数,n为编码器能达到的最大的四叉树划分深度。
37.判断方式二:帧内预测模式的预测方向为垂直方向,则水平二叉树划分的判断结果为不允许;帧内预测模式的预测方向为水平方向,则垂直二叉树划分的判断结果为不允许。
38.当步骤3.3不允许四叉树划分时,根据历史信息a,判断当前编码块是否允许做二叉树划分:帧内预测模式的预测方向为垂直方向,则水平二叉树划分的判断结果为不允许;帧内预测模式的预测方向为水平方向,则垂直二叉树划分的判断结果为不允许。
39.步骤4.3,当步骤4.1和4.2都允许做二叉树划分时,进行二叉树划分,得到历史信息c,历史信息c为率失真代价c;否则,跳过二叉树划分。
40.步骤5.1,根据当前编码块的信息,判断当前编码块是否允许做扩展四叉树划分:
根据avs3编码标准中的规定,先根据当前编码块的宽高比、最小允许做扩展四叉树的边长以及划分后得到子块的边长确定是否允许进行扩展四叉树的划分。
41.步骤5.2,扩展四叉树划分包括水平扩展四叉树划分和垂直扩展四叉树划分,
42.当步骤3.3和4.3进行了四叉树划分和二叉树划分时,根据历史信息a和历史信息b和历史信息c,从以下方式中任选其一判断当前编码块是否允许做扩展四叉树划分:
43.判断方式一:定义当前编码块的四叉树深度为a以及算法阈值为t,经过四叉树划分后的子块中最大的四叉树深度记为b,令d等于b

a,如果d的值大于或等于t,则水平扩展四叉树划分和垂直扩展四叉树划分的判断结果均为不允许,其中t为小于等于n的自然数,n为编码器能达到的最大的四叉树划分深度。
44.判断方式二:帧内预测模式的预测方向为垂直方向,则水平扩展四叉树划分的判断结果为不允许;帧内预测模式的预测方向为水平方向,则垂直扩展四叉树划分的判断结果为不允许。
45.判断方式三:如果率失真代价a小于率失真代价b以及率失真代价a小于率失真代价c,则扩展四叉树划分的判断结果为不允许。
46.判断方式四:如果率失真代价b小于率失真代价c,则扩展四叉树划分的判断结果为不允许。
47.当步骤3.3不允许四叉树划分而步骤4.3进行了二叉树划分时,根据历史信息a和c,判断当前编码块是否允许做二叉树划分:帧内预测模式的预测方向为垂直方向,则水平扩展四叉树划分的判断结果为不允许;帧内预测模式的预测方向为水平方向,则垂直扩展四叉树划分的判断结果为不允许。
48.当步骤3.3允许四叉树划分而步骤4.3不允许二叉树划分时,根据历史信息a和b,从以下方式中任选其一判断当前编码块是否允许做扩展四叉树划分:
49.判断方式一:定义当前编码块的四叉树深度为a以及算法阈值为t,经过四叉树划分后的子块中最大的四叉树深度记为b,令d等于b

a,如果d的值大于或等于t,则水平扩展四叉树划分和垂直扩展四叉树划分的判断结果均为不允许,其中t为小于等于n的自然数,n为编码器能达到的最大的四叉树划分深度。
50.判断方式二:帧内预测模式的预测方向为垂直方向,则水平扩展四叉树划分的判断结果为不允许;帧内预测模式的预测方向为水平方向,则垂直扩展四叉树划分的判断结果为不允许。
51.当步骤3.3和4.3均不允许进行四叉树划分和二叉树划分时,根据历史信息a,判断当前编码块是否允许做扩展四叉树划分:帧内预测模式的预测方向为垂直方向,则水平扩展四叉树划分的判断结果为不允许;帧内预测模式的预测方向为水平方向,则垂直扩展四叉树划分的判断结果为不允许。
52.步骤5.3,当步骤5.1和5.2都允许做扩展四叉树划分时,进行扩展四叉树划分,得到历史信息d,历史信息d为率失真代价d;否则,跳过扩展四叉树划分。
53.步骤6,根据上述步骤判断后得出的所有历史信息,输出具有最小率失真代价的划分模式。
54.实施例2:一种帧内快速编码方法,包括以下步骤:
55.步骤1,输入数据集,数据集可以是一个一维数据队列、一个二维数据文件、一帧图
像、一个视频序列、一个变换域、一个变换块、多个变换块、一个三维场景、一个持续变化的三维场景的序列等数据的集合,对该数据集进行编码,将正在编码中的编码块称为当前编码块。
56.步骤2,对当前编码块使用帧内编码方法,得到历史信息a,历史信息a包括帧内预测模式、率失真代价a和全零块标志,率失真代价a的值为c。
57.步骤3.1,根据当前编码块的信息,判断当前编码块是否允许做四叉树划分:根据avs3编码标准中的规定,先根据当前编码块的宽高比、最小允许做四叉树的边长以及划分后得到子块的边长确定是否允许进行四叉树的划分。
58.步骤3.2,根据历史信息a,判断当前编码块是否允许做四叉树划分:当全零块标志为1时,不允许进行四叉树划分、二叉树划分和扩展四叉树划分,跳过后序步骤,直接输出具有最小率失真代价的帧内预测模式。
59.步骤3.3,当步骤3.1和3.2都允许做四叉树划分时,进行四叉树划分,得到历史信息b,历史信息b包括率失真代价b和四叉树深度,率失真代价b的值为d;否则,跳过四叉树划分。
60.步骤4,定义一阈值为r,r取值为0至1。如果d的值大于c*r,则跳过后续划分。否则根据当前编码块的信息,判断当前编码块是否允许做水平二叉树划分:根据avs3编码标准中的规定,先根据当前编码块的宽高比、最小允许做水平二叉树的边长以及划分后得到子块的边长确定是否允许进行水平二叉树的划分。如果允许做水平二叉树划分,记水平二叉树划分模式的率失真代价e的值为e。
61.步骤5:如果e的值大于c*r,则跳过后续划分。否则根据当前编码块的信息,判断当前编码块是否允许做垂直二叉树划分:根据avs3编码标准中的规定,先根据当前编码块的宽高比、最小允许做垂直二叉树的边长以及划分后得到子块的边长确定是否允许进行垂直二叉树的划分。如果允许做水平二叉树划分,记垂直二叉树划分模式的率失真代价f的值为f。
62.步骤6:如果f的值大于c*r,则跳过后续划分。否则根据当前编码块的信息,判断当前编码块是否允许做水平扩展四叉树划分:根据avs3编码标准中的规定,先根据当前编码块的宽高比、最小允许做水平扩展四叉树的边长以及划分后得到子块的边长确定是否允许进行水平扩展四叉树的划分。如果允许做水平扩展四叉树划分,记水平扩展四叉树划分模式的率失真代价g的值为g。
63.步骤7:如果g的值大于c*r,则跳过后续划分。否则根据当前编码块的信息,判断当前编码块是否允许做垂直扩展四叉树划分:根据avs3编码标准中的规定,先根据当前编码块的宽高比、最小允许做垂直扩展四叉树的边长以及划分后得到子块的边长确定是否允许进行垂直扩展四叉树的划分。如果允许做垂直扩展四叉树划分,记垂直扩展四叉树划分模式的率失真代价h的值为h。
64.步骤8:比较c、d、e、f、g、h的值,输出其中值最小所对应的划分模式。
65.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1