CN113473133A - 利用几何分区geo模式进行预测的方法和装置 - Google Patents

利用几何分区geo模式进行预测的方法和装置 Download PDF

Info

Publication number
CN113473133A
CN113473133A CN202110349749.7A CN202110349749A CN113473133A CN 113473133 A CN113473133 A CN 113473133A CN 202110349749 A CN202110349749 A CN 202110349749A CN 113473133 A CN113473133 A CN 113473133A
Authority
CN
China
Prior art keywords
prediction
partition
prediction block
distance
weight
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
CN202110349749.7A
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN113473133A publication Critical patent/CN113473133A/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

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

Abstract

本公开关于一种利用几何分区GEO模式进行预测的方法和装置,所述方法包括:在利用GEO模式对当前编码单元进行预测时,根据GEO模式下的最终分区方式的预定义角度以及偏移距离来确定加权矩阵,其中,所述预定义角度的斜率的精度为1/m像素精度,其中,m是小于或等于4的正整数;根据所述加权矩阵对第一非矩形子分区的第一预测块和第二非矩形子分区的第二预测块进行加权混合来获得与当前编码单元相应的预测块,其中,第一非矩形子分区和第二非矩形子分区是根据所述最终分区方式从当前编码单元被分区出的。

Description

利用几何分区GEO模式进行预测的方法和装置
技术领域
本公开涉及视频技术领域,更具体地说,涉及一种利用几何分区GEO模式进行预测的方法和装置。
背景技术
随着对于用于有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求的增加,各种视频编码技术被用于对视频数据进行编解码。例如,可根据一个或更多个视频编码标准来执行视频编解码,其中,所述一个或更多个视频编码标准可包括高效视频编码(H.265/HEVC)、高级视频编码(H.264/AVC)、运动画面专家组(MPEG)编码、通用视频编码(VVC)等。视频编码技术的主要目标是在避免视频质量恶化或使视频质量的恶化最小化的同时将视频数据压缩成使用更低比特率的格式。虽然与上一代视频编码标准H.264/MPEG AVC相比,HEVC提供了约50%的比特率节省或等同的感知质量,但有证据表明,使用其他编码工具可以实现比HEVC更高的编码效率。因此,通用视频编码(VVC)标准应运而生。
通常,视频编码可利用预测方法(例如,帧间预测、帧内预测、跳过模式等)去除视频图像或序列中存在的冗余进而完成对视频的编码。为了进一步提高编码效率,VVC采用了一种几何分区预测(GEO)模式,GEO模式通过混合两个帧间预测块来模仿双向预测块,并通过对两个帧间预测块进行按样本加权平均来生成GEO模式的预测块。虽然,GEO模式在一定程度上提高了编码效率,但是其在计算逻辑以及存储效率方面仍然存在有待改进的方面。
发明内容
本公开提供一种利用几何分区GEO模式进行预测的方法和装置,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
根据本公开实施例的第一方面,提供一种利用几何分区GEO模式进行预测的方法,其特征在于,包括:在利用GEO模式对当前编码单元进行预测时,根据GEO模式下的最终分区方式的预定义角度以及偏移距离来确定加权矩阵,其中,所述预定义角度的斜率的精度为1/m像素精度,其中,m是小于或等于4的正整数;根据所述加权矩阵对第一非矩形子分区的第一预测块和第二非矩形子分区的第二预测块进行加权混合来获得与当前编码单元相应的预测块,其中,第一非矩形子分区和第二非矩形子分区是根据所述最终分区方式从当前编码单元被分区出的。
可选地,确定加权矩阵的步骤可包括:根据所述偏移距离、所述预定义角度以及第一预测块中的一个预测样点的样点位置来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重;通过固定值与第一预测块中的所述一个预测样点的权重之间的差来获得在1/m像素精度的情况下被应用于第二预测块中的与所述一个预测样点相同位置处的预测样点的权重。
可选地,确定在1/m像素精度的情况下被应用于第一预测块中的第一预测样点的权重的步骤可包括:根据所述偏移距离、所述预定义角度以及所述一个预测样点的样点位置来确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx;根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值。
可选地,确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx的步骤可包括:根据所述预定义角度和所述偏移距离来确定x方向偏移量和y方向偏移量;基于所述预定义角度的角度索引检索1/m像素精度下的几何分区距离数组来分别获得x方向几何分区距离和y方向几何分区距离;根据x方向偏移量和y方向偏移量、x方向几何分区距离和y方向几何分区距离以及所述一个预测样点的样点位置来确定所述权重索引weightIdx。
可选地,根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值的步骤可包括:根据所述权重索引weightIdx来确定在1/m像素精度的情况下所述一个预测样点到与所述最终分区方式对应的分区边界的距离weightIdxL;根据以下等式,利用所述距离weightIdxL来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重wValue:
wValue=Clip3(0,8,(weightIdxL+2m-3)>>(m-2))
可选地,所述距离weightIdxL可根据以下等式来确定:
Figure BDA0003002032770000031
其中,angleIdx是用于表示所述预定义角度的角度索引。
可选地,所述方法还可包括:针对当前编码单元中的预定义尺寸的每个子块,存储用于获得第一预测块的第一运动矢量和用于获得第二预测块的第二运动矢量中的至少一个,其中,所述存储的步骤包括:将当前子块的中心到与所述最终分区方式对应的分区边界的距离与预定阈值进行比较,其中,所述预定阈值等于2m;以及根据所述比较的结果来选择第一运动矢量和第二运动矢量中的将针对当前子块存储的运动矢量。
根据本公开实施例的第二方面,提供一种利用几何分区GEO模式进行预测的装置,其特征在于,包括:计算单元,被配置为:在利用GEO模式对当前编码单元进行预测时,根据GEO模式下的最终分区方式的预定义角度以及偏移距离来确定加权矩阵,其中,所述预定义角度的斜率的精度为1/m像素精度,其中,m是小于或等于4的正整数;以及生成单元,被配置为:根据所述加权矩阵对第一非矩形子分区的第一预测块和第二非矩形子分区的第二预测块进行加权混合来获得与当前编码单元相应的预测块,其中,第一非矩形子分区和第二非矩形子分区是根据所述最终分区方式从当前编码单元被分区出的。
可选地,计算单元可被配置为根据以下操作来确定被应用于第一预测块和第二预测块的加权矩阵:根据所述偏移距离、所述预定义角度以及第一预测块中的一个预测样点的样点位置来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重;通过固定值与第一预测块中的所述一个预测样点的权重之间的差来获得在1/m像素精度的情况下被应用于第二预测块中的与所述一个预测样点相同位置处的预测样点的权重。
可选地,计算单元可被配置为根据以下操作确定在1/m像素精度的情况下被应用于第一预测块中的第一预测样点的权重:根据所述偏移距离、所述预定义斜率以及所述一个预测样点的样点位置来确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx;根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值。
可选地,计算单元可被配置为通过以下操作确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx:根据所述预定义角度和所述偏移距离来确定x方向偏移量和y方向偏移量;基于所述预定义角度的角度索引检索1/m像素精度下的几何分区距离数组来分别获得x方向几何分区距离和y方向几何分区距离;根据x方向偏移量和y方向偏移量、x方向几何分区距离和y方向几何分区距离以及所述一个预测样点的样点位置来确定所述权重索引weightIdx。
可选地,计算单元可被配置为根据以下操作来推导被应用于第一预测块中的所述一个预测样点的权重值:根据所述权重索引weightIdx来确定在1/m像素精度的情况下所述一个预测样点到与所述最终分区方式对应的分区边界的距离weightIdxL;根据以下等式,利用所述距离weightIdxL来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重wValue:wValue=Clip3(0,8,(weightIdxL+2m-3)>>(m-2))。
可选地,所述距离weightIdxL可根据以下等式来确定:
Figure BDA0003002032770000041
其中,angleIdx是用于表示所述预定义角度的角度索引。
可选地,所述装置还可包括:运动信息存储单元,被配置为:针对当前编码单元中的预定义尺寸的每个子块,存储用于获得第一预测块的第一运动矢量和用于获得第二预测块的第二运动矢量中的至少一个,其中,运动信息存储单元通过以下操作来执行所述存储的操作:将当前子块的中心到与所述最终分区方式对应的分区边界的距离与预定阈值进行比较,其中,所述预定阈值等于2m;以及根据所述比较的结果来选择第一运动矢量和第二运动矢量中的将针对当前子块存储的运动矢量。
根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的利用几何分区GEO模式进行预测的方法。
根据本公开实施例的第四方面,提供一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的利用几何分区GEO模式进行预测的方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的利用几何分区GEO模式进行预测的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:根据本公开的利用几何分区GEO模式进行预测的方法和装置可以减少在利用GEO模式进行预测时的计算逻辑和存储器中的比特数量,降低编解码复杂度,进而降低功耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1和图2是示出根据本公开的利用GEO模式进行预测的方法和装置的实施场景图。
图3是示出根据本公开的示例性实施例的将画面划分为CTU的示图。
图4是示出根据本公开的示例性实施例的一种QTBT结构的示图。
图5是示出根据本公开的示例性实施例的多类型树结构中的四种划分类型的示图。
图6是示出根据本公开的示例性实施例的从与当前编码单元相邻的空间邻近块推导运动矢量候选的示图。
图7是示出根据本公开的示例性实施例的针对时间运动矢量候选进行缩放的示图。
图8是示出根据本公开的示例性实施例的从与当前CU相邻的时间邻近块(即同位块)确定用于获得时间运动矢量候选的候选位置的示图。
图9是示出根据本公开的示例性实施例的用于GEO模式的单向运动矢量选择的示图。
图10是示出根据本公开的示例性实施例的GEO模式的可能的角度的示图。
图11是示出根据本公开的示例性实施例的GEO模式下的两种示例分区方式的示图。
图12是示出根据本公开的示例性实施例的利用GEO模式进行预测的方法的流程图。
图13是示出根据本公开的示例性实施例的利用GEO模式进行预测的1300装置的框图。
图14是根据本公开的示例性实施例的电子设备1400的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
现有的GEO模式在利用从GEO模式的模式索引推导出的预定义角度和偏移距离索引将当前编码单元划分为两个非矩形子分区时,与该预定义角度相应的预定义角度的斜率Slope涉及1/8像素精度的查找表,如下表1,其中,idx是用于指示GEO模式下的分区方式的索引,disLut[·]是几何分区距离数组。然而,从下表1中可以看出,在该表1中的预定义角度的斜率的最小非零值并不会用到1/8像素精度,因此,导致计算逻辑和存储器装置的比特浪费。
[表1]
idx 0 2 3 4 5 6 8 10 11 12 13 14
disLut[idx] 8 8 8 4 4 2 0 -2 -4 -4 -8 -8
Slope 0 -1/4 -1/2 -1 -2 -4 -∞ 4 2 1 1/2 1/4
idx 16 18 19 20 21 22 24 26 27 28 29 30
disLut[idx] -8 -8 -8 -4 -4 -2 0 2 4 4 8 8
Slope 0 -1/4 -1/2 -1 -2 -4 -∞ 4 2 1 1/2 1/4
为了解决以上问题,本公开提出一种改进后的利用GEO模式进行预测的方法,可在不影响视频质量的前提下,降低计算复杂度和存储复杂度,因此无论是硬解码还是软解码,都可以更快速地完成视频编解码过程。下面,将参照图1至图14来详细描述根据本公开的示例性实施例的利用GEO模式进行预测的方法和装置。
图1和图2是示出根据本公开的利用GEO模式进行预测的方法和装置的实施场景图。
图1是示出基于块的混合视频编码框架的视频编码过程的示意图。
参照图1,当对输入的视频数据进行编码时,可在帧内预测模式下使用来自同一画面/条带中的已编码的相邻块的样点(称为参考样点)的像素值对当前帧的编码块执行帧内预测(也称为“空间预测”)来获得预测块,以去除视频信号中的空间冗余,或者可在帧间预测模式下通过使用已编码的画面中的重构像素对当前帧中的编码块执行运动估计和运动补偿(即帧间预测,也称为“时间预测”)来获得预测块,以去除视频信号中的时间冗余。编码单元的时间预测信号(即通过帧间预测得到的预测块)通常通过一个或多个运动矢量(MV)来传送,其中,MV指示当前编码单元与通过帧间预测找到的预测块之间的运动偏移量和方向,此外,如果支持多个参考帧,则编码器另外还需要发送参考帧索引,该参考帧索引用于标识所述预测块来自多个参考帧中的哪一个参考帧。
在帧间预测和/或帧内预测之后,编码器中的帧内/帧间模式判定模块例如基于率失真优化方法来选择最佳的预测模式。然后,编码器将当前编码单元与预测块相减以获得残差数据,此后,残差数据通过变换和量化而去相关以获得量化后的残差系数。此外,编码器对量化后的残差系数进行反量化和逆变换来形成重构残差,然后将重构残差与预测块相加来获得重构的当前编码单元。此后,在重构的当前编码单元被存入参考画面缓冲器并用于后续编码单元的编码之前,编码器可对重构的当前编码单元应用环路滤波器,诸如去块滤波器、样点自适应偏移(SAO)滤波器和自适应环路滤波器(ALF)等。
最后,量化的残差系数以及通过帧内/帧间模式决策模块确定的预测相关信息(例如预测模式信息、运动信息等)全部通过熵编码模块被进一步压缩并打包为比特流。在以上描述中提及了帧内预测和帧间预测两种预测方法,但是,除了帧内预测模式和帧间预测模式之外,还存在合并预测模式(包括GEO模式)和跳过模式。对于合并预测模式,仅发送合并索引和残差数据,而对于跳过模式,则仅发送合并索引,且省略了残差数据的发送。因此,根据本公开的利用几何分区GEO模式进行预测的方法和装置可应用于编码器或编码设备中,相应地,也可以用于解码器或解码设备中。
图2是示出基于块的混合视频编码框架的视频解码过程的示意图。
在视频图像解码过程中,首先,解码器通过对接收的比特流进行熵解码来获得将被解码的残差数据以及预测相关信息(例如预测模式信息、运动信息等)。预测相关信息被发送到帧内预测模块(在帧内预测的情况下)/运动补偿模块(在帧间预测的情况下)。在帧内预测模式下,解码器可根据解析出的预测相关信息对当前编码单元执行帧内预测来获得预测块,在帧间预测模式下,解码器可根据解析出的预测相关信息对对当前编码单元执行帧间预测来获得预测块。
此外,解码器对残差数据进行反量化和逆变换来生成重构的残差块,然后将重构的残差块与在帧内预测模式/帧间预测模式下获得的预测块相加来获得空间域中的重构块。另外,在将获得的空间域中的重构块存储到画面缓冲器之前,解码器还对重构块执行环路滤波,诸如去块滤波器、样点自适应偏移(SAO)滤波器和自适应环路滤波器(ALF)等。画面缓冲器中的重构图像被发送给显示器以进行显示,同时该重构图像还被用作后续带解码图像的参考帧。
图3是示出根据本公开的示例性实施例的将画面划分为CTU的示图。
在典型的视频编码过程中,视频序列通常包括一系列顺序排列的帧或图像。在单色内容情况下,每个帧可包括一种样点阵列,例如亮度样点阵列,然而,在非单色内容的情况下,每个帧可包括三种样点的二维阵列,例如,亮度样点的一个二维阵列和色度样点的两个二维阵列。
如图3中所示,编码器和解码器可将每一帧划分为一系列编码树单元(CTU),其中,CTU是最大的逻辑编码单元。CTU的宽度和高度可由编码器用信号传送给解码器,例如,CTU的尺寸可以是256×256、128×128、64×64等中的一种尺寸。但是应注意的是,本申请不对CTU的尺寸做特别的限制。此外,对于单色内容的帧而言,每个CTU可由一个亮度编码树块(CTB)构成,对于非单色内容的帧而言,每个CTU可由一个亮度CTB和两个相应色度CTB构成。每个CTU可根据QTBT分区结构被分区为多个CU,CU可具有正方形形状或矩形形状,其中,QTBT结构消除了多种分区类型的概念,即消除了CU、预测单元(PU)和变换单元(TU)概念的分离,并为CU分区形状提供了更大的灵活性。
图4是示出根据本公开的示例性实施例的一种QTBT分区结构的示图。
如图4中所示,左侧的示图示出了使用QTBT分区结构进行分区的示例,右侧的示图示出了相应的树结构,其中,实线表示根据四叉树分区结构进行分区,虚线表示根据二叉树分区结构进行分区,其中,CTU首先根据四叉树分区结构被分区,然后,四叉树叶节点根据多类型树分区结构被进一步分区,例如,根据二叉树分区结构或三叉树分区结构被进一步分区,如图4中所示,四叉树叶节点进一步根据二叉树分区结构被分区,其中,在二叉树分区结构中,有两种分区类型:对称水平分区和对称垂直分区(如图5中的水平二元分区(SPLIT_BT_HOR)和垂直二元分区(SPLIT_BT_VER))。虽然图4中根据二叉树分区结构对四叉树叶节点进行进一步分区,但是还可根据其它分区结构对四叉树叶节点进行进一步分区,例如,根据如图5中所示的垂直三元分区(SPLIT_TT_VER)和水平三元分区(SPLIT_TT_HOR)对四叉树叶节点进行进一步分区。此外,在二叉树分区结构或三叉树分区结构的每个分区节点(非叶节点)中,编码器用信号传送一个标志以指示使用哪种分区类型。对于四叉树分区,由于四叉树分区结构总是在水平方向和垂直方向对一个块进行分区以产生4个相等尺寸的子块,因此无需指示分区类型。具体地讲,在图4中,CTU首先通过四叉树分区结构被分区,四叉树叶节点进一步通过二叉树分区结构或三叉树分区结构被分区。二叉树叶节点和三叉树叶节点被称为CU,此时的CU用于预测和变换处理,无需再进行进一步的分区。
此外,对于QTBT分区方案,VVC还定义了以下参数:
MinQTSize:允许的最小四叉树叶节点尺寸;
MaxBTSize:允许的最大二叉树根节点尺寸;
MaxBTDepth:允许的最大二叉树深度;
MinBTSize:允许的最小二叉树叶子节点尺寸。
例如,在QTBT分区结构的一个示例中,在4:2:0的彩色格式下,将CTU设置为包括128×128尺寸的一个亮度CTB,并包括两个相应的64×64尺寸的色度CTB,并将用于指示允许的最小四叉树叶节点大小的MinQTSize设置为16×16,将用于指示允许的最大二叉树根节点大小的MaxBTSize设置为64×64,将用于指示允许的最小二叉树叶节点大小的MinBTSize设置为4×4,并且将用于指示允许的最大二叉树叶节点大小的MaxBTDepth设置为4。在这种情况下,首先,将四叉树分区结构应用于CTU以生成四叉树叶节点,四叉树叶节点的尺寸可以从16×16(即MinQTSize)到128×128(即CTU大小)。如果四叉树叶节点的尺寸为128×128,则由于其尺寸超过了MaxBTSize(即64×64),因此该四叉树叶节点不会根据二叉树分区结构进一步分区。否则,四叉树叶节点可以根据二叉树分区结构被进一步分区。因此,四叉树叶节点也是二叉树分区结构的根节点,并且二叉树深度为0。当二叉树深度达到MaxBTDepth(即4)时,不再进行分区。当二叉树节点的宽度等于MinBTSize(即4)时,不再考虑进一步的水平分区。类似地,当二叉树节点的高度等于MinBTSize时,不再考虑进一步的垂直分区。此后,可通过预测和变换处理来进一步处理二叉树的叶节点,而不再进行任何进一步的分区。
此外,QTBT分区方案支持亮度和色度具有单独的QTBT分区结构的能力。当前,对于P条带和B条带,一个CTU中的亮度CTB和色度CTB可共享相同的QTBT分区结构,然而,对于I条带,亮度CTB可通过QTBT分区结构被划分为亮度CU,色度CTB可通过另一种QTBT分区结构被划分为色度CU,这意味着,I条带中的CU由一个亮度分量的编码块或两个色度分量的编码块组成,而P或B条带中的CU由所有三种颜色分量的编码块组成。
对于基于上述结构划分的每个CU,可以在整个CU块上或按照在以下内容中描述的子块执行块内容的预测。这种预测的运算单元可以称为预测单元(即PU)或子分区。在帧内预测(或帧内预测)的情况下,通常PU的尺寸等于CU的尺寸。换句话说,对整个CU执行预测。对于帧间预测,PU的尺寸可以等于或小于CU的尺寸。换句话说,在某些情况下,CU可以被分成多个PU以用于预测。小于CU尺寸的PU尺寸的一些示例包括仿射预测模式、ATMVP预测模式和GEO模式等。
在仿射预测模式下,可将CU分成多个4×4PU用于预测,可为每个4x4PU推导出运动矢量,可以相应地对4×4PU执行运动补偿。在ATMVP预测模式下,可将CU分成一个或多个8×8PU用于预测,可为每个8x8PU推导出运动矢量,并且可以相应地对8×8PU执行运动补偿。在GEO模式下,可将CU分成两个非矩形PU(或非矩形子分区),可为每个PU推导出运动矢量,并相应地对每个非矩形PU执行运动补偿,下面将对此进行详细描述。
利用GEO模式对CU进行预测的过程主要包括三个部分:第一部分:构建单向预测候选列表,以推导出从当前CU分区出的两个非矩形子分区的运动矢量;第二部分:计算用于所述两个非矩形子分区的加权矩阵(即按样点加权矩阵),以根据所述加权矩阵对所述两个非矩形子分区进行加权混合来获得与当前CU相应的预测块;第三部分:存储所述两个非矩形子分区的运动矢量,以用于根据GEO模式对后续CU进行预测。
在第一部分,首先构造用于当前CU的单向预测候选列表,其中,单向预测候选列表可从常规合并模式运动矢量候选列表推导出,其中,常规合并模式运动矢量候选列表可由当前编码单元的空间运动矢量候选、时间运动矢量候选、历史运动矢量候选、平均运动矢量候选和/或零运动矢量来构成。
首先,从当前CU的空间相邻块的运动矢量中选择空间运动矢量候选。如图6中所示,可从图6中所示的相邻块A0、A1、B0、B1和B2的运动矢量中选择最多四个运动矢量,并且选择顺序为A1->B1->B0->A0->(B2),其中,仅当位置A1、B1、B0、A0处的相邻块中的任何一个不可用或被帧内编码时,才考虑位置B2处的相邻块。
然后,在获得时间运动矢量候选时,可基于属于在给定的参考画面列表内的与当前画面具有最小POC差值的画面中的同位块来推导经过缩放的运动矢量。其中,在条带头中明确地用信号传送用于指示用于推导该同位块的参考画面列表的标志。可如图7中所示的虚线所示获得用于当前CU(即curr_PU)的时间运动矢量候选的经过缩放的运动矢量,其中,该经过缩放的运动矢量是使用POC距离tb和td从同位块col_PU的运动矢量缩放而成的,其中tb表示当前画面curr_pic的参考画面curr_ref与当前画面curr_pic之间的POC差,td定义为同位画面col_pic的参考画面col_ref与同位画面col_pic之间的POC差。此外,将用于获得时间运动矢量候选的同位块的参考画面索引设置为零。此外,对于B条带,可获得两个运动矢量(其中,一个运动矢量用于参考画面列表0,另一个运动矢量用于参考画面列表1),并且这两个运动矢量的组合可被用于获得双向预测候选。
此外,如图8中所示,在获得时间运动矢量候选时,可在两个候选位置C3和H之中选择同位块的位置。如果候选位置H处的同位块不可用或者是被帧内编码,又或者在当前CUT之外,则使用候选位置C3处的同位块来获得时间运动矢量候选。否则,可从候选位置H处的同位块获得时间运动矢量候选。
此后,在获得了空间运动矢量候选和时间运动矢量候选之后,可将历史运动矢量候选添加到常规合并模式运动矢量候选列表。历史运动矢量候选表示来自于先前已经编码的CU的运动矢量,这些运动矢量被保持在单独的运动矢量列表中,并基于特定规则被管理。
如果在将历史运动矢量候选添加到常规合并模式运动矢量候选列表后,常规合并模式运动矢量候选列表仍未被填满,则将平均运动矢量候选添加到常规合并模式运动矢量候选列表,其中,平均运动矢量候选表示通过对常规合并模式运动矢量候选列表中已存在的运动矢量候选求平均来获得,例如,可根据预定规则每次从常规合并模式运动矢量候选列表获得两个运动矢量候选,然后求取这两个运动矢量候选的平均运动矢量并将其添加到常规合并模式运动矢量候选列表中。
如果在将平均运动矢量添加到常规合并模式运动矢量候选列表后,常规合并模式运动矢量候选列表仍未被填满,则将零运动矢量添加到常规合并模式运动矢量候选列表以使其被填满。
在获得了常规合并模式运动矢量候选列表之后,可从常规合并模式运动矢量候选列表获得用于当前CU的单向预测候选列表。由于常规合并模式运动矢量候选列表为双向列表,因此,在构建用于当前CU的单向预测候选列表时,需要从常规合并模式运动矢量候选列表中的针对每个候选的两个运动矢量中选择一个运动矢量,因此,如图9中所示,假设n表示单向预测候选列表中的单向预测运动的索引,X表示n的奇偶性,常规合并模式运动矢量候选列表中的针对第n个合并候选的LX运动矢量被用作GEO模式下的第n个单向预测运动矢量。这些运动矢量在图9中用“x”标记。在不存在针对候选n的对应LX运动矢量的情况下,将针对同一候选n的L(1-X)运动矢量用作GEO模式的单向预测运动矢量。
在获得了单向预测候选列表之后,利用单向预测候选列表推导从当前编码单元分区出的两个非矩形子分区的运动矢量。
具体地讲,在GEO模式下,当前CU可根据分区边界被划分为两个非矩形子分区,其中,可用预定义角度
Figure BDA0003002032770000131
和偏移距离ρ来表示该分区边界,其中,预定义角度
Figure BDA0003002032770000132
表示从x轴到该分区边界的法线向量的顺时针角度,偏移距离表示从CU的中心点到该分区边界的移位。图10示出了GEO模式的可能的20种预定义角度。每种分区方式可用一个预定义角度
Figure BDA0003002032770000133
和偏移距离ρ来定义,其中,预定义角度
Figure BDA0003002032770000134
的斜率
Figure BDA0003002032770000135
可以是0、±1/2、±1/4、±1、±2和±∞,偏移距离ρ可以是当前CU的高度或宽度的0、1/8、1/4、1/2,如果当前CU的高宽比大于1(即当前CU是垂直长方形),则偏移距离ρ可以是高度的0、1/8、1/4或1/2,如果当前CU的高宽比小于或等于1(即当前CU是正方形或水平长方形),则偏移距离ρ可以是宽度的0、1/8、1/4或1/2。例如,在图11中所示出的示例中,图11的(a)示出了GEO模式下的高宽比为1/2且斜率为1/2的分区方式,图11的(b)示出了将图11的(a)的分区方式向右偏移了的宽度的1/8(即偏移距离为宽度的1/8)的分区方式。
在编码器端,在确定GEO模式下的64种分区方式中的哪种分区方式是最优的分区方式(即最终分区方式)时,可从获得的单向预测候选列表中选择两个运动矢量,并将该两个运动矢量分别作为根据64种分区方式中的每一种分区方式从当前CU分区出的第一非矩形子分区和第二非矩形子分区的运动矢量,然后根据所选择的这两个运动矢量对第一非矩形子分区和第二非矩形子分区进行运动补偿来获得第一非矩形子分区的第一预测块和第二非矩形子分区的第二预测块,并计算对应的率失真代价,从而根据计算出的率失真代价选择出最优的分区方式,同时获得与该最优的分区方式对应的两个运动矢量。此外,编码器可将与所述最优的分区方式相关的信息以及对应的两个运动矢量的信息(例如用于指示这两个运动矢量在单向预测候选列表中的位置的标志信息)发送给解码器。如表2中所示,GEO模式共有64种分区方式,可利用分区方式索引merge_gpm_partition_idx来指示分区方式,每种分区方式索引merge_gpm_partition_idx对应一个角度索引angleIdx和距离索引distanceIdx,因此,可利用20个角度索引angleIdx以及4个距离索引distanceIdx的组合来构成这64种分区方式,其中,距离索引distanceIdx=0、1、2和3分别表示偏移距离ρ=0、1/8、1/4和1/2。编码器可将分区方式索引merge_gpm_partition_idx发送给解码器,因此,在解码器端,可根据从编码器接收到的分区方式索引merge_gpm_partition_idx基于表2确定出所述最优的分区方式,并根据接收到的对应的两个运动矢量的信息,利用单向预测候选列表推导出从当前CU分区出的第一非矩形子分区和第二非矩形子分区的运动矢量。
[表2]
merge_gpm_partition_idx 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
angleIdx 0 0 2 2 2 2 3 3 3 3 4 4 4 4 5 5
distanceIdx 1 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1
merge_gpm_partition_idx 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
angleIdx 5 5 8 8 11 11 11 11 12 12 12 12 13 13 13 13
distanceIdx 2 3 1 3 0 1 2 3 0 1 2 3 0 1 2 3
merge_gpm_partition_idx 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
angleIdx 14 14 14 14 16 16 18 18 18 19 19 19 20 20 20 21
distanceIdx 0 1 2 3 1 3 1 2 3 1 2 3 1 2 3 1
merge_gpm_partition_idx 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
angleIdx 21 21 24 24 27 27 27 28 28 28 29 29 29 30 30 30
distanceIdx 2 3 1 3 1 2 3 1 2 3 1 2 3 1 2 3
以上描述了利用GEO模式对CU进行预测的过程的第一部分。下面将描述本申请对利用GEO模式对CU进行预测的过程的第二部分和第三部分的改进内容。
图12是示出根据本公开的示例性实施例的利用GEO模式进行预测的方法的流程图。
如图12中所示,在步骤S1201,在利用GEO模式对当前编码单元进行预测时,根据GEO模式下的最终分区方式的预定义角度以及偏移距离来确定加权矩阵,其中,所述预定义角度的斜率的精度为1/m像素精度,其中,m是小于或等于4的正整数,例如,1、2和4。
确定加权矩阵的步骤可包括:根据最终分区方式的偏移距离和预定义角度以及第一非矩形子分区的第一预测块中的一个预测样点的样点位置来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重。
具体地讲,确定在1/m像素精度的情况下被应用于第一预测块中的第一预测样点的权重的步骤可包括:根据最终分区方式的偏移距离和预定义角度以及所述一个预测样点的样点位置来确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx;根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值。
下面将具体描述确定权重索引的过程weightIdx。首先,确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx的步骤可包括:根据所述预定义角度和所述偏移距离来确定x方向偏移量和y方向偏移量。
具体地讲,当根据以下等式(1)确定出shiftHor=0时,可根据以下等式(2)和(3)来确定x方向偏移量offsetX和y方向偏移量offsetY的值:
shiftHor=(angleIdx%16==8||(angleIdx%16!=0&&hwRatio>=1))?0:1(1)
offsetX=(-nW)>>1 (2)
offsetY=((-nH)>>1)+(angleIdx<16?(distanceIdx*nH)>>3:-((distanceIdx*nH)>>3)) (3)
其中,angleIdx是用于表示所述预定义角度的角度索引,hwRatio表示当前CU的高宽比,distanceIdx是用于表示最终分区方式的所述偏移距离的距离索引,distanceIdx可通过根据以上在第一部分确定的最终分区方式利用查找表2来获得。
当根据以上等式(1)确定出shiftHor=1时,可根据以下等式(4)和(5)来确定offsetX和offsetY的值:
offsetX=((-nW)>>1)+(angleIdx<16?(distanceIdx*nW)>>3:-((distanceIdx*nW)>>3)) (4)
offsetY=(-nH)>>1 (5)
其中,nW和nH分别表示当前CU的亮度信号的宽度和高度,并且可分别根据以下的等式(6)和(7)被确定:
nW=(cIdx==0)?nCbW:nCbW*SubWidthC (6)
nH=(cIdx==0)?nCbH:nCbH*SubHeightC (7)
其中,cIdx是用于表示颜色分量的索引,其中,cIdx=0表示亮度分量,cIdx=1和2分别表示色度分量Cb和Cr。nCbW和nCbH分别表示当前CU的当前颜色分量的宽度和高度,SubWidthC和SubHeightC分别表示用于两个色度通道的子样点因子,其中,下面的表3示出了从色度格式推导出的SubWidthC和SubHeightC的值。
[表3]
Figure BDA0003002032770000151
Figure BDA0003002032770000161
此外,确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx的步骤还可包括:基于所述预定义角度的角度索引angleIdx检索1/m像素精度下的几何分区距离数组来分别获得x方向几何分区距离和y方向几何分区距离。具体地讲,可利用disLut[angleIdx]和disLut[(angleIdx+8)%32]来分别获得x方向几何分区距离和y方向几何分区距离,其中,disLut[·]表示在1/m像素精度下的几何分区距离数组。例如,下面的表4示出了在1/4像素精度下的几何分区距离数组disLut[·]和预定义角度的斜率Slope与图10中所示出的20种预定义角度之间的关系的示例,其中,idx是用于表示GEO模式的索引。
[表4]
idx 0 2 3 4 5 6 8 10 11 12 13 14
disLut[idx] 4 4 4 2 2 1 0 -1 -2 -2 -4 -4
Slope 0 -1/4 -1/2 -1 -2 -4 -∞ 4 2 1 1/2 1/4
idx 16 18 19 20 21 22 24 26 27 28 29 30
disLut[idx] 4 4 4 2 2 1 0 -1 -2 -2 -4 -4
Slope 0 -1/4 -1/2 -1 -2 -4 -∞ 4 2 1 1/2 1/4
此外,确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx的步骤还可包括:根据x方向偏移量和y方向偏移量、x方向几何分区距离和y方向几何分区距离以及所述一个预测样点的样点位置来确定所述权重索引weightIdx。具体地讲,根据以下等式(8)来计算所述权重索引weightIdx:
weightIdx=(((xL+offsetX)<<1)+1)*disLut[angleIdx]+(((yL+offsetY)<<1)+1))*disLut[(angleIdx+8)%32] (8)
其中,xL和yL分别表示第一预测块中的所述一个预测样点的样点位置的x方向坐标和y方向坐标,其中,xL和yL可通过以下等式(9)和(10)来确定:
xL=(cIdx==0)?x:x*SubWidthC (9)
yL=(cIdx==0)?y:y*SubHeightC (10)
其中,x和y分别表示当前CU的当前颜色分量的亮度样点的x坐标和y坐标,其中,x=0...nCbW-1,y=0...nCbH-1。
根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值的步骤可包括:根据所述权重索引weightIdx来确定在1/m像素精度的情况下所述一个预测样点到与所述最终分区方式对应的分区边界的距离weightIdxL。
具体地讲,可根据以下等式(11)来计算距离weightIdxL:
Figure BDA0003002032770000171
此外,根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值的步骤还可包括:根据以下等式(12),利用所述距离weightIdxL来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重wValue:
wValue=Clip3(0,8,(weightIdxL+2m-3)>>(m-2)) (12)
其中,Clip3()是截取函数,表示将(weightIdxL+2m-3)>>(m-2)的值限定在0和8之间。具体地,如果(weightIdxL+2m-3)>>(m-2)的值小于0,则将该函数的输出为0,如果(weightIdxL+2m-3)>>(m-2)的值大于8,则该函数的输出为8,如果8≥(weightIdxL+2m-3)>>(m-2)≥0,则该函数的输出为(weightIdxL+2m-3)>>(m-2)。
此外,确定加权矩阵的步骤还可包括:通过固定值与第一预测块中的所述一个预测样点的权重之间的差来获得在1/m像素精度的情况下被应用于第二预测块中的与所述一个预测样点相同位置处的预测样点的权重。具体地讲,可将固定值8与第一预测块中的所述一个预测样点的权重做差来获得被应用于第二预测块中的与所述一个预测样点相同位置处的预测样点的权重。
在步骤S1202,根据所述加权矩阵对第一非矩形子分区的第一预测块和第二非矩形子分区的第二预测块进行加权混合来获得与当前编码单元相应的预测块,其中,第一非矩形子分区和第二非矩形子分区是根据所述最终分区方式从当前编码单元被分区出的。
具体地讲,可根据以下等式(13)来计算与当前CU相应的预测块中的每一个像素(x,y)的样点值pbSamples[x][y]:
Figure BDA0003002032770000181
其中,predSamplesLA[x][y]和predSamplesLB[x][y]分别表示在第一预测块和第二预测块中的坐标为(x,y)处的预测值,BitDepth表示当前画面的比特深度,offset1=1<<(shift1),shift1=Max(5,17-BitDepth)。
通过以上过程,可确定出当前CU的预测块中的每一个预测值。
此外,所述方法还可包括:针对当前编码单元中的预定义尺寸的每个子块,获得第一预测块的第一运动矢量和用于获得第二预测块的第二运动矢量中的至少一个。具体地讲,该存储步骤包括:将当前子块的中心到与所述最终分区方式对应的分区边界的距离abs(motionIdx)与预定阈值进行比较,其中,所述预定阈值等于2m;根据所述比较的结果来选择第一运动矢量和第二运动矢量中的将针对当前子块存储的运动矢量。
具体地讲,首先,根据以下等式(14)确定motionIdx:
Figure BDA0003002032770000182
其中,xSbIdx分别表示在当前CU在水平方向上的预定尺寸的子块的索引,ySbIdx在当前CU在垂直方向上的预定尺寸的子块的索引,其中,预定尺寸可以是4×4,其中,xSbIdx=0…numSbX-1,ySbIdx=0…numSbY-1,numSbX和numSbY分别表示当前CU在水平方向上的预定尺寸的子块数量和当前CU在垂直方向上的预定尺寸的子块数量。
然后,根据计算出的距离abs(motionIdx)与所述预定阈值之间的比较结果来确定当前子块的运动信息存储类型。具体地讲,可根据以下等式(15)和(16)将当前子块的运动信息存储类型确定为三种运动信息存储类型中的一种:
sType=abs(motionIdx)<2m?2:(motionIdx<=0?(1-partIdx):partIdx) (15)
partIdx=(angleIdx>=13&&angleIdx<=27)?1:0 (16)
其中,sType表示当前子块的运动信息存储类型,在等式(15)中,所述预定阈值等于2m,此外,sType=2还表示当前子块位于分区边界的宽度范围内。而sType=0或1表示当前子块不位于分区边界的宽度范围内,换句话说,表示当前子块位于第一非矩形子分区的除了分区边界的宽度范围之外的区域中或者当前子块位于第二非矩形子分区的除了分区边界的宽度范围之外的区域中。在确定了当前子块的运动信息存储类型sType之后,可基于sType根据以下操作来选择第一运动矢量和第二运动矢量中的将针对当前子块存储的运动矢量:
当sType=0时,执行以下操作:
predFlagL0=(predListFlagA==0)?1:0
predFlagL1=(predListFlagA==0)?0:1
refIdxL0=(predListFlagA==0)?refIdxA:-1
refIdxL1=(predListFlagA==0)?-1:refIdxA
mvL0[0]=(predListFlagA==0)?mvA[0]:0
mvL0[1]=(predListFlagA==0)?mvA[1]:0
mvL1[0]=(predListFlagA==0)?0:mvA[0]
mvL1[1]=(predListFlagA==0)?0:mvA[1]
其中,predListFlagA表示分区A的预测方向,如果predListFlagA=0,则表示分区A是从L0方向预测,如果predListFlagA=1,则表示从L1方向预测。predFlagL0和predFlagL1分别表示预测列表L0利用标志和预测列表L1利用标志。refIdxL0和refIdxL1分别表示L0方向和L1方向的参考画面索引。refIdxA表示分区A的参考画面索引。mvL0和mvL1分别表示L0方向运动矢量和L1方向运动矢量。mvA表示分区A的运动矢量。
当sType=1时,或者当sType=2并且predListFlagA+predListFlagB不等于1时,可执行以下操作:
predFlagL0=(predListFlagB==0)?1:0
predFlagL1=(predListFlagB==0)?0:1
refIdxL0=(predListFlagB==0)?refIdxB:-1
refIdxL1=(predListFlagB==0)?-1:refIdxB
mvL0[0]=(predListFlagB==0)?mvB[0]:0
mvL0[1]=(predListFlagB==0)?mvB[1]:0
mvL1[0]=(predListFlagB==0)?0:mvB[0]
mvL1[1]=(predListFlagB==0)?0:mvB[1]
其中,predListFlagB表示分区B的预测方向,如果predListFlagB=0,则表示分区B是从L0方向预测,如果predListFlagB=1,则表示从L1方向预测。refIdxB表示分区B的参考画面索引。mvB表示分区B的运动矢量。
当sType=2并且predListFlagA+predListFlagB=1时,可执行以下操作:
predFlagL0=1
predFlagL1=1
refIdxL0=(predListFlagA==0)?refIdxA:refIdxB
refIdxL1=(predListFlagA==0)?refIdxB:refIdxA
mvL0[0]=(predListFlagA==0)?mvA[0]:mvB[0]
mvL0[1]=(predListFlagA==0)?mvA[1]:mvB[1]
mvL1[0]=(predListFlagA==0)?mvB[0]:mvA[0]
mvL1[1]=(predListFlagA==0)?mvB[1]:mvA[1]
然后,针对每个4×4块中的每个像素(x∈{0,1,2,3},y∈{0,1,2,3})进行以下操作来存储运动矢量:
mvL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL0
mvL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL1
mvDmvrL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL0
mvDmvrL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL1
refIdxL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL0
redIdxL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL1
predFlagL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL0
predFlagL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL1
pcwIdx[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=0
根据本公开的利用GEO模式进行预测的方案,通过用大于1/8像素精度的1/m像素精度来表示GEO模式的预定义角度的斜率,可以减少在利用GEO模式进行预测时的计算逻辑和存储器中的比特数量,降低编解码复杂度,进而降低功耗。
图13是示出根据本公开的示例性实施例的利用GEO模式进行预测的装置1300的框图。
参照图13,根据本公开的示例性实施例的利用GEO模式进行预测的装置1300可包括计算单元1301和生成单元1302。
在利用GEO模式对当前编码单元进行预测时,计算单元1301可根据GEO模式下的最终分区方式的预定义角度以及偏移距离来确定加权矩阵,其中,所述预定义角度的斜率的精度为1/m像素精度,其中,m是小于或等于4的正整数,例如,1、2和4。
计算单元1301可被配置为根据以下操作来确定被应用于第一预测块和第二预测块的加权矩阵:根据所述偏移距离、所述预定义角度以及第一预测块中的一个预测样点的样点位置来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重。
具体地讲,计算单元1301可被配置为根据以下操作确定在1/m像素精度的情况下被应用于第一预测块中的第一预测样点的权重:根据最终分区方式的偏移距离和预定义角度以及所述一个预测样点的样点位置来确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx;根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值。
首先,计算单元1301可被配置为通过以下操作确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx:根据所述预定义角度和所述偏移距离来确定x方向偏移量和y方向偏移量;基于所述预定义角度的角度索引检索1/m像素精度下的几何分区距离数组来分别获得x方向几何分区距离和y方向几何分区距离;根据x方向偏移量和y方向偏移量、x方向几何分区距离和y方向几何分区距离以及所述一个预测样点的样点位置来确定所述权重索引weightIdx。由于以上已经在描述图12时参照等式(1)至等式(10)对此进行了详细描述,因此此处不再进行赘述。
然后,计算单元1301可被配置为根据以下操作来推导被应用于第一预测块中的所述一个预测样点的权重值:根据所述权重索引weightIdx来确定在1/m像素精度的情况下所述一个预测样点到与所述最终分区方式对应的分区边界的距离weightIdxL;根据以上的等式(12),利用所述距离weightIdxL来确定在1/4像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重wValue。其中,距离weightIdxL可根据等式(11)来确定。由于以上已经在描述图12时参照等式(11)至等式(12)对此进行了详细描述,因此此处不再进行赘述。
此外,计算单元1301还可被配置为根据以下操作来确定被应用于第一预测块和第二预测块的加权矩阵:通过固定值与第一预测块中的所述一个预测样点的权重之间的差来获得在1/m像素精度的情况下被应用于第二预测块中的与所述一个预测样点相同位置处的预测样点的权重。具体地讲,可将固定值8与第一预测块中的所述一个预测样点的权重做差来获得被应用于第二预测块中的与所述一个预测样点相同位置处的预测样点的权重。
生成单元1302可被配置为根据所述加权矩阵对第一非矩形子分区的第一预测块和第二非矩形子分区的第二预测块进行加权混合来获得与当前编码单元相应的预测块,其中,第一非矩形子分区和第二非矩形子分区是根据所述最终分区方式从当前编码单元被分区出的。由于以上已经在描述图12时参照等式(13)对此进行了详细描述,因此此处不再进行赘述。
装置1300还可包括运动信息存储单元(未示出),其中,运动信息存储单元可被配置为:针对当前编码单元中的预定义尺寸的每个子块,存储用于获得第一预测块的第一运动矢量和用于获得第二预测块的第二运动矢量中的至少一个。运动信息存储单元可通过以下操作来执行所述存储的操作:将当前子块的中心到与所述最终分区方式对应的分区边界的距离与预定阈值进行比较,其中,所述预定阈值等于2m;以及根据所述比较的结果来选择第一运动矢量和第二运动矢量中的将针对当前子块存储的运动矢量。由于以上已经描述图12对此进行了详细描述,因此此处不再进行赘述。
根据本公开的利用GEO模式进行预测的方案,可以减少在利用GEO模式进行预测时的计算逻辑和存储器中的比特数量,降低编解码复杂度,进而降低功耗。
图14是根据本公开的示例性实施例的电子设备1400的框图。
参照图4,电子设备1400包括至少一个存储器1401和至少一个处理器1402,所述至少一个存储器401中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器1402执行时,执行根据本公开的示例性实施例的利用GEO模式进行预测的方法。
作为示例,电子设备1400可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备1400并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备1400还可以是集成控制***或***管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备1400中,处理器1402可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器***、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器1402可运行存储在存储器1401中的指令或代码,其中,存储器1401还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器1401可与处理器1402集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器1401可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库***可使用的其他存储装置。存储器1401和处理器1402可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器1402能够读取存储在存储器中的文件。
此外,电子设备1400还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备1400的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的利用GEO模式进行预测的方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机***上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的利用GEO模式进行预测的方法。
根据本公开的利用GEO模式进行预测的方法和装置,通过降低用于表示GEO斜率的像素精度,可在不影响编解码质量的情况下减少在利用GEO模式进行预测时的计算逻辑和存储器中的比特数量,降低编解码复杂度,进而降低功耗。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (16)

1.一种利用几何分区GEO模式进行预测的方法,其特征在于,包括:
在利用GEO模式对当前编码单元进行预测时,根据GEO模式下的最终分区方式的预定义角度以及偏移距离来确定加权矩阵,其中,所述预定义角度的斜率的精度为1/m像素精度,其中,m是小于或等于4的正整数;
根据所述加权矩阵对第一非矩形子分区的第一预测块和第二非矩形子分区的第二预测块进行加权混合来获得与当前编码单元相应的预测块,其中,第一非矩形子分区和第二非矩形子分区是根据所述最终分区方式从当前编码单元被分区出的。
2.如权利要求1所述的方法,其特征在于,确定加权矩阵的步骤包括:
根据所述偏移距离、所述预定义角度以及第一预测块中的一个预测样点的样点位置来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重;
通过固定值与第一预测块中的所述一个预测样点的权重之间的差来获得在1/m像素精度的情况下被应用于第二预测块中的与所述一个预测样点相同位置处的预测样点的权重。
3.如利要求2所述的方法,其特征在于,确定在1/m像素精度的情况下被应用于第一预测块中的第一预测样点的权重的步骤包括:
根据所述偏移距离、所述预定义角度以及所述一个预测样点的样点位置来确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx;
根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值。
4.如权利要求3所述的方法,其特征在于,确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx的步骤包括:
根据所述预定义角度和所述偏移距离来确定x方向偏移量和y方向偏移量;
基于所述预定义角度的角度索引检索1/m像素精度下的几何分区距离数组来分别获得x方向几何分区距离和y方向几何分区距离;
根据x方向偏移量和y方向偏移量、x方向几何分区距离和y方向几何分区距离以及所述一个预测样点的样点位置来确定所述权重索引weightIdx。
5.如权利要求3所述的方法,其特征在于,根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值的步骤包括:
根据所述权重索引weightIdx来确定在1/m像素精度的情况下所述一个预测样点到与所述最终分区方式对应的分区边界的距离weightIdxL;
根据以下等式,利用所述距离weightIdxL来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重wValue:
wValue=Clip3(0,8,(weightIdxL+2m-3)>>(m-2))。
6.如权利权利要求5所述的方法,其特征在于,所述距离weightIdxL根据以下等式来确定:
Figure FDA0003002032760000021
其中,angleIdx是用于表示所述预定义角度的角度索引。
7.如权利要求1所述的方法,其特征在于,还包括:
针对当前编码单元中的预定义尺寸的每个子块,存储用于获得第一预测块的第一运动矢量和用于获得第二预测块的第二运动矢量中的至少一个,
其中,所述存储的步骤包括:
将当前子块的中心到与所述最终分区方式对应的分区边界的距离与预定阈值进行比较,其中,所述预定阈值等于2m;以及
根据所述比较的结果来选择第一运动矢量和第二运动矢量中的将针对当前子块存储的运动矢量。
8.一种利用几何分区GEO模式进行预测的装置,其特征在于,包括:
计算单元,被配置为:在利用GEO模式对当前编码单元进行预测时,根据GEO模式下的最终分区方式的预定义角度以及偏移距离来确定加权矩阵,其中,所述预定义角度的斜率的精度为1/m像素精度,其中,m是小于或等于4的正整数;以及
生成单元,被配置为:根据所述加权矩阵对第一非矩形子分区的第一预测块和第二非矩形子分区的第二预测块进行加权混合来获得与当前编码单元相应的预测块,其中,第一非矩形子分区和第二非矩形子分区是根据所述最终分区方式从当前编码单元被分区出的。
9.如权利要求8所述的装置,其特征在于,计算单元被配置为根据以下操作来确定被应用于第一预测块和第二预测块的加权矩阵:
根据所述偏移距离、所述预定义角度以及第一预测块中的一个预测样点的样点位置来确定在1/m像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重;
通过固定值与第一预测块中的所述一个预测样点的权重之间的差来获得在1/m像素精度的情况下被应用于第二预测块中的与所述一个预测样点相同位置处的预测样点的权重。
10.如权利要求9所述的装置,其特征在于,计算单元被配置为根据以下操作确定在1/m像素精度的情况下被应用于第一预测块中的第一预测样点的权重:
根据所述偏移距离、所述预定义斜率以及所述一个预测样点的样点位置来确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx;
根据所述权重索引weightIdx来推导被应用于第一预测块中的所述一个预测样点的权重值。
11.如权利要求10所述的装置,其特征在于,计算单元被配置为通过以下操作确定用于推导被应用于第一预测块中的所述一个预测样点的权重的权重索引weightIdx:
根据所述预定义角度和所述偏移距离来确定x方向偏移量和y方向偏移量;
基于所述预定义角度的角度索引检索1/m像素精度下的几何分区距离数组来分别获得x方向几何分区距离和y方向几何分区距离;
根据x方向偏移量和y方向偏移量、x方向几何分区距离和y方向几何分区距离以及所述一个预测样点的样点位置来确定所述权重索引weightIdx。
12.如权利要求10所述的装置,其特征在于,计算单元被配置为根据以下操作来推导被应用于第一预测块中的所述一个预测样点的权重值:
根据所述权重索引weightIdx来确定在1/m像素精度的情况下所述一个预测样点到与所述最终分区方式对应的分区边界的距离weightIdxL;
根据以下等式,利用所述距离weightIdxL来确定在1/4像素精度的情况下被应用于第一预测块中的所述一个预测样点的权重wValue:
wValue=Clip3(0,8,(weightIdxL+2m-3)>>(m-2))。
13.如权利要求12所述的装置,其特征在于,所述距离weightIdxL根据以下等式来确定:
Figure FDA0003002032760000041
其中,angleIdx是用于表示所述预定义角度的角度索引。
14.如权利要求8所述的装置,其特征在于,还包括:
运动信息存储单元,被配置为:针对当前编码单元中的预定义尺寸的每个子块,存储用于获得第一预测块的第一运动矢量和用于获得第二预测块的第二运动矢量中的至少一个,
其中,运动信息存储单元通过以下操作来执行所述存储的操作:
将当前子块的中心到与所述最终分区方式对应的分区边界的距离与预定阈值进行比较,其中,所述预定阈值等于2m;以及
根据所述比较的结果来选择第一运动矢量和第二运动矢量中的将针对当前子块存储的运动矢量。
15.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到7中的任一权利要求所述的利用几何分区GEO模式进行预测的方法。
16.一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到7中的任一权利要求所述的利用几何分区GEO模式进行预测的方法。
CN202110349749.7A 2020-03-31 2021-03-31 利用几何分区geo模式进行预测的方法和装置 Pending CN113473133A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063003228P 2020-03-31 2020-03-31
US63/003,228 2020-03-31

Publications (1)

Publication Number Publication Date
CN113473133A true CN113473133A (zh) 2021-10-01

Family

ID=77868445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110349749.7A Pending CN113473133A (zh) 2020-03-31 2021-03-31 利用几何分区geo模式进行预测的方法和装置

Country Status (1)

Country Link
CN (1) CN113473133A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114885164A (zh) * 2022-07-12 2022-08-09 深圳比特微电子科技有限公司 确定帧内预测模式的方法、装置及电子设备和存储介质
WO2023207646A1 (en) * 2022-04-25 2023-11-02 Mediatek Inc. Method and apparatus for blending prediction in video coding system
WO2024055155A1 (zh) * 2022-09-13 2024-03-21 Oppo广东移动通信有限公司 一种编解码方法、装置、编码器、解码器及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023207646A1 (en) * 2022-04-25 2023-11-02 Mediatek Inc. Method and apparatus for blending prediction in video coding system
CN114885164A (zh) * 2022-07-12 2022-08-09 深圳比特微电子科技有限公司 确定帧内预测模式的方法、装置及电子设备和存储介质
WO2024055155A1 (zh) * 2022-09-13 2024-03-21 Oppo广东移动通信有限公司 一种编解码方法、装置、编码器、解码器及存储介质

Similar Documents

Publication Publication Date Title
US11368675B2 (en) Method and device for encoding and decoding intra-frame prediction
WO2020200298A1 (en) Interaction between core transform and secondary transform
AU2016253621B2 (en) Method and apparatus for encoding image and method and apparatus for decoding image
CN112740685B (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
EP2755389B1 (en) Inter prediction method and apparatus therefor
US9100649B2 (en) Method and apparatus for processing a video signal
KR20240066144A (ko) 채널들 간의 선택적인 정보 공유를 사용하는 부호화 및 복호화를 위한 방법 및 장치
CN111886861A (zh) 根据图像编码***中的块划分结构的图像解码方法和设备
KR20160106022A (ko) 동영상 부호화 장치
US11070831B2 (en) Method and device for processing video signal
CN115002457A (zh) 图像编码和解码方法和图像解码设备
EP3764643B1 (en) Image processing method based on inter prediction mode, and device therefor
CN113473133A (zh) 利用几何分区geo模式进行预测的方法和装置
US20240187623A1 (en) Video Coding Using Intra Sub-Partition Coding Mode
CN114793281A (zh) 用于交叉分量预测的方法和装置
US11558608B2 (en) On split prediction
US20240155134A1 (en) Method and apparatus for video coding using improved cross-component linear model prediction
CN112567749B (zh) 使用仿射运动预测来处理视频信号的方法和装置
US20220295045A1 (en) Video signal processing method and device
US20220295046A1 (en) Method and device for processing video signal
KR20230144426A (ko) 영상 부호화/복호화 방법 및 장치
KR20240059507A (ko) 처리율 향상을 위한 영상 부호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2023055968A1 (en) Methods and devices for decoder-side intra mode derivation
US20200267414A1 (en) Method and device for filtering image in image coding system
KR20240066274A (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