使用三角形分割用于视频编解码的方法和装置与流程

文档序号:28183895发布日期:2021-12-25 01:20阅读:124来源:国知局
使用三角形分割用于视频编解码的方法和装置与流程
使用三角形分割用于视频编解码的方法和装置
1.相关申请的交叉引用本技术要求2019年5月20日提交的题为“video coding using triangle partition”的美国临时申请第62/850534号和2019年5月22日提交的题为“video coding using triangle partition”的美国临时申请第62/851630号的优先权,这两个申请的全部内容通过引用被并入以用于所有目的。
技术领域
2.本技术总体上涉及视频编解码和视频压缩,并且特别地涉及但不限于,在视频编解码中使用三角形预测单元(即,几何分割预测单元的特殊情况)用于运动补偿预测的方法和装置。


背景技术:

3.数字视频由各种电子设备支持,诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字录制设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流设备等。电子设备通过实施视频压缩/解压缩来发送、接收、编码、解码和/或存储数字视频数据。数字视频设备实施视频编解码技术,诸如由通用视频编解码(vvc)、联合探索测试模型(jem)、mpeg

2、mpeg

4、itu

t h.263、itu

t h.264/mpeg

4第10部分、高级视频编解码(avc)、itu

t h.265/高效视频编解码(hevc)、以及此类标准的扩展所定义的标准中描述的视频编解码技术。
4.视频编解码一般使用预测方法(例如,帧间预测、帧内预测),预测方法利用了视频图像或序列中存在的冗余。视频编解码技术的一个重要目标是将视频数据压缩成使用较低比特率的形式,同时避免或最小化视频质量的下降。随着不断发展的视频服务变得可用,需要具有更好编解码效率的编码技术。每种标准中的块分割方案也正在逐步发展。
5.视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测,以减少或去除视频数据中固有的冗余。对于基于块的视频编解码,视频帧被分割成一个或多个条带,每个条带具有多个视频块,这些视频块也可以被称为编解码树单元(ctu)。每个ctu可以包含一个编解码单元(cu),或者递归地被拆分成更小的cu,直到达到预定义的最小cu尺寸。每个cu(也名为叶cu)包含一个或多个变换单元(tu),并且每个cu还包含一个或多个预测单元(pu)。每个cu可以以帧内模式、帧间模式或ibc模式被编解码。视频帧的帧内编解码(i)条带中的视频块是使用空间预测被编码的,空间预测是关于同一视频帧内的相邻块中的参考样本的。视频帧的帧间编解码(p或b)条带中的视频块可以使用关于同一视频帧内的相邻块中的参考样本的空间预测,或者使用关于其他先前和/或未来参考视频帧中的参考样本的时间预测。
6.基于先前已编码的参考块(例如,相邻块)的空间或时间预测产生了待编解码的当前视频块的预测块。找到参考块的过程可以通过块匹配算法来完成。表示待编解码的当前块和预测块之间的像素差异的残差数据被称为残差块或预测误差。帧间编解码块根据运动
矢量和残差块被编码,运动矢量指向参考帧中的形成预测块的参考块。确定运动矢量的过程通常被称为运动估计。帧内编解码块根据帧内预测模式和残差块被编码。为了进一步压缩,将残差块从像素域变换到变换域(例如,频域),从而产生残差变换系数,其然后可以被量化。初始以二维阵列布置的量化的变换系数可以被扫描以产生变换系数的一维矢量,并且然后被熵编码成视频比特流,以实现甚至更多的压缩。
7.编码的视频比特流然后被保存在计算机可读存储介质(例如,闪存)中,以被具有数字视频能力的另一个电子设备访问,或者被有线或无线地直接发送到电子设备。电子设备然后通过例如对编码的视频比特流进行解析以从比特流中获得语法元素,并且至少部分地基于从比特流中获得的语法元素而从编码的视频比特流中将数字视频数据重建为其原始格式,来执行视频解压缩(这是与上文描述的视频压缩相反的过程),并且在电子设备的显示器上呈现重建的数字视频数据。
8.随着数字视频质量从高清变为4k
×
2k或者甚至8k
×
4k,待编码/解码的视频数据量呈指数级增长。就如何可以在保持解码视频数据的图像质量的同时更高效率地编码/解码视频数据而言,这是一个持久的挑战。
9.在联合视频专家组(jvet)会议上,jvet定义了通用视频编解码(vvc)的第一草案和vvc测试模型1(vtm1)编码方法。决定了包括使用二元和三元拆分编解码块结构的具有嵌套多类型树的四叉树作为vvc的初始新编解码特征。从那时起,在jvet会议期间,已经开发了实施编码方法和草拟的vvc解码过程的参考软件vtm。


技术实现要素:

10.总体而言,本公开描述了与在视频编解码中使用几何形状的预测单元的运动补偿预测相关的技术的示例。
11.根据本公开的第一方面,提供了一种利用几何分割用于视频编解码的方法,包括:将视频图片分割成多个编解码单元(cu),其中至少一个cu被进一步分割成两个预测单元(pu),该两个pu包括至少一个几何形状的pu;基于用于常规合并预测的合并列表构建过程,构建包括多个候选的第一合并列表,其中多个候选中的每一个候选是运动矢量,该运动矢量包括列表0运动矢量或列表1运动矢量或两者;根据第一合并候选索引,定位用于第一pu的第一候选;根据第二合并候选索引,定位用于第二pu的第二候选;通过选择第一候选的列表x1运动矢量,获得用于第一pu的第一单向预测运动矢量mv0,其中x1对应于第一合并候选索引且取值为0或1;通过选择第二候选的列表x2运动矢量,获得用于第二pu的第二单向预测运动矢量mv1,其中x2对应于第二合并候选索引且取值为0或1;以及响应于确定mv0和mv1相同,修剪第一单向预测运动矢量mv0和第二单向预测运动矢量mv1。
12.根据本公开的第二方面,提供了一种利用几何分割用于视频编解码的装置,包括:一个或多个处理器;以及存储器,存储器被配置为存储由一个或多个处理器可执行的指令;其中一个或多个处理器在执行这些指令时被配置为:将视频图片分割成多个编解码单元(cu),其中至少一个cu被进一步分割成两个预测单元(pu),该两个pu包括至少一个几何形状的pu;基于用于常规合并预测的合并列表构建过程,构建包括多个候选的第一合并列表,其中多个候选中的每一个候选是运动矢量,该运动矢量包括列表0运动矢量或列表1运动矢量或两者;根据第一合并候选索引,定位用于第一pu的第一候选;根据第二合并候选索引,
定位用于第二pu的第二候选;通过选择第一候选的列表x1运动矢量,获得用于第一pu的第一单向预测运动矢量mv0,其中x1对应于第一合并候选索引且取值为0或1;通过选择第二候选的列表x2运动矢量,获得用于第二pu的第二单向预测运动矢量mv1,其中x2对应于第二合并候选索引且取值为0或1;以及响应于确定mv0和mv1相同,修剪第一单向预测运动矢量mv0和第二单向预测运动矢量mv1。
13.根据本公开的第三方面,提供了一种利用几何分割用于视频编解码的非暂时性计算机可读存储介质,其存储计算机可执行指令,计算机可执行指令当由一个或多个计算机处理器执行时,使得该一个或多个计算机处理器执行动作,包括:将视频图片分割成多个编解码单元(cu),其中至少一个cu被进一步分割成两个预测单元(pu),该两个pu包括至少一个几何形状的pu;基于用于常规合并预测的合并列表构建过程,构建包括多个候选的第一合并列表,其中多个候选中的每一个候选是运动矢量,该运动矢量包括列表0运动矢量或列表1运动矢量或两者;根据第一合并候选索引,定位用于第一pu的第一候选;根据第二合并候选索引,定位用于第二pu的第二候选;通过选择第一候选的列表x1运动矢量,获得用于第一pu的第一单向预测运动矢量mv0,其中x1对应于第一合并候选索引且取值为0或1;通过选择第二候选的列表x2运动矢量,获得用于第二pu的第二单向预测运动矢量mv1,其中x2对应于第二合并候选索引且取值为0或1;以及响应于确定mv0和mv1相同,修剪第一单向预测运动矢量mv0和第二单向预测运动矢量mv1。
附图说明
14.将通过参考附图中图示的特定示例来呈现对本公开的示例的更具体的描述。鉴于这些附图仅描绘了一些示例并因此不被认为在范围上是限制性的,将通过使用附图来以附加的特性和细节来描述和解释这些示例。
15.图1是图示根据本公开的一些实施方案的示例性视频编码器的框图。
16.图2是图示根据本公开的一些实施方案的示例性视频解码器的框图。
17.图3是图示根据本公开的一些实施方案的四叉树加二叉树(qtbt)结构的示意图。
18.图4是图示根据本公开的一些实施方案的被划分成ctu的图片的示例的示意图。
19.图5是图示根据本公开的一些实施方案的多类型树拆分模式的示意图。
20.图6是图示根据本公开的一些实施方案的相邻块的位置的示意图。
21.图7是图示根据本公开的一些实施方案的针对时间合并候选的运动矢量缩放的示意图。
22.图8是图示根据本公开的一些实施方案的针对时间合并候选的候选位置的示意图。
23.图9是图示根据本公开的一些实施方案将cu拆分成三角形预测单元的示意图。
24.图10是图示根据本公开的一些实施方案的用于三角形分割模式的单向预测运动矢量(mv)选择的一个示例的示意图。
25.图11是图示根据本公开的一些实施方案的三角形预测模式下的运动矢量(mv)填充的一个示例的示意图。
26.图12a是图示根据本公开的一些实施方案的用于三角形预测模式的简化的运动矢量填充的一个示例的示意图。
27.图12b是图示根据本公开的一些实施方案的用于三角形预测模式的简化的运动矢量填充的另一个示例的示意图。
28.图12c是图示根据本公开的一些实施方案的用于三角形预测模式的简化的运动矢量填充的第三示例的示意图。
29.图12d是图示根据本公开的一些实施方案的用于三角形预测模式的简化的运动矢量填充的第四示例的示意图。
30.图13a是图示根据本公开的一些实施方案的用于三角形预测模式的简化的运动矢量填充的另一个示例的示意图。
31.图13b是图示根据本公开的一些实施方案的用于三角形预测模式的简化的运动矢量填充的另一个示例的示意图。
32.图14是图示根据本公开的一些实施方案的用于视频编解码的示例性装置的框图。
33.图15是图示根据本公开的一些实施方案的使用几何预测单元的用于运动补偿预测的视频编解码的示例性过程的流程图。
具体实施方式
34.现在将详细参考特定实施方案,其示例在附图中图示。在以下详细描述中,阐述了众多非限制性的具体细节,以帮助理解本文呈现的主题。但是对本领域普通技术人员将显而易见的是,可以使用各种替代方案。例如,对本领域普通技术人员将显而易见的是,本文呈现的主题可以在具有数字视频能力的许多类型的电子设备上实施。
35.贯穿该说明书,对“一个实施例”、“一种实施例”、“一种示例”、“一些实施例”、“一些示例”或类似语言的引用意味着所描述的特定特征、结构或特性被包括在至少一个实施例或示例中。除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、元素或特性也适用于其他实施例。
36.贯穿本公开,术语“第一”、“第二”、“第三”等都仅用作引用相关元素(例如设备、组件、成分、步骤等)的命名,除非另有明确说明,否则不暗示任何空间或时间顺序。例如,“第一设备”和“第二设备”可以指两个单独形成的设备,或者同一设备的两个部分、组件或操作状态,并且可以被任意命名。
37.如本文所使用的,术语“如果”或“当
……
时”取决于上下文可以被理解为意为“一经
……”
或“响应于”。这些术语如果出现在权利要求中,可能不指示相关的限制或特征是有条件的或可选的。
38.术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可以包括存储器(共享的、专用的或成组的),其存储可以由一个或多个处理器执行的代码或指令。模块可以包括具有或不具有存储的代码或指令的一个或多个电路。模块或电路可以包括直接或间接连接的一个或多个组件。这些组件可以物理附接至彼此或彼此位置相邻,或者可以不物理附接至彼此或彼此位置相邻。
39.单元或模块可以完全由软件、完全由硬件、或由硬件和软件的组合来实施。在纯软件的实施方案中,例如,单元或模块可以包括功能上相关的代码块或软件组件,它们直接或间接链接在一起,以便执行特定功能。
40.图1示出了图示示例性的基于块的混合视频编码器100的框图,编码器100可以与
使用基于块的处理的许多视频编解码标准结合使用。在编码器100中,视频帧被分割成多个视频块以供处理。对于每个给定的视频块,基于帧间预测方法或帧内预测方法来形成预测。在帧间预测中,基于来自先前重建的帧的像素,通过运动估计和运动补偿形成一个或多个预测值。在帧内预测中,基于当前帧中的重建像素形成预测值。通过模式决策,可以选择最佳的预测值来预测当前块。
41.表示当前视频块与其预测值之间的差异的预测残差被发送到变换电路系统102。变换系数然后从变换电路系统102被发送到量化电路系统104,以用于熵减少。量化的系数然后被馈送到熵编解码电路系统106,以生成压缩视频比特流。如图1所示,来自帧间预测电路系统和/或帧内预测电路系统112的预测相关信息110(诸如视频块分割信息、运动矢量、参考图片索引和帧内预测模式)也通过熵编解码电路系统106馈送并保存到压缩视频比特流114中。
42.在编码器100中,还需要解码器相关的电路系统,以出于预测的目的而重建像素。首先,通过逆量化116和逆变换电路系统118来重建预测残差。该重建的预测残差与块预测值120相组合,以生成针对当前视频块的未滤波的重建像素。
43.空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已经编解码的相邻块的样本(其称为参考样本)的像素,来预测当前视频块。
44.时间预测(也称为“帧间预测”)使用来自已经编解码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常通过一个或多个运动矢量(mv)来用信号发送用于给定的编解码单元(cu)或编解码块的时间预测信号,该一个或多个运动矢量指示当前cu与其时间参考之间的运动量和运动方向。另外,如果支持多个参考图片,则附加地发送一个参考图片索引,其用于标识时间预测信号来自参考图片存储库中的哪个参考图片。
45.在空间和/或时间预测被执行之后,编码器100中的帧内/帧间模式决策电路系统121选择最佳的预测模式,例如基于率失真优化方法。块预测值120然后从当前视频块中减去;并且使用变换电路系统102和量化电路系统104将得到的预测残差去相关。得到的量化残差系数由逆量化电路系统116逆量化并由逆变换电路系统118逆变换,以形成重建的残差,该重建的残差然后被加回到预测块,以形成cu的重建信号。在将重建的cu放入图片缓冲器117的参考图片存储库并用于编解码未来的视频块之前,可以对重建的cu应用进一步的环内滤波115,诸如去块滤波器、样本自适应偏移(sao)、和/或自适应环内滤波器(alf)。为了形成输出视频比特流114,编解码模式(帧间或帧内)、预测模式信息、运动信息和量化残差系数都被发送到熵编解码单元106,以被进一步压缩和打包以形成比特流。
46.例如,去块滤波器在avc、hevc以及现在当前版本的vvc中是可用的。在hevc中,定义了被称为sao(样本自适应偏移)的附加的环内滤波器,以进一步提高编解码效率。在现在当前版本的vvc标准中,正在积极研究又一种被称为alf(自适应环路滤波器)的环内滤波器,并且它很有可能被包括在最终标准中。
47.这些环内滤波器操作是可选的。执行这些操作有助于提高编解码效率和视觉质量。它们也可以按照编码器100作出的决策而被关闭,以节省计算复杂度。
48.应当注意,帧内预测通常基于未滤波的重建像素,而如果编码器100开启这些滤波器选项,则帧间预测基于经滤波的重建像素。
49.图2是图示示例性的基于块的视频解码器200的框图,解码器200可以与许多视频编解码标准结合使用。该解码器200类似于图1的编码器100中存在的重建相关部分。在解码器200中,传入的视频比特流201首先通过熵解码202被解码,以导出量化的系数等级和预测相关信息。量化的系数等级然后通过逆量化204和逆变换206被处理,以获得重建的预测残差。在帧内/帧间模式选择器212中实施的块预测值机制被配置为基于解码的预测信息,执行帧内预测208或运动补偿210。通过使用加法器214将来自逆变换206的重建的预测残差和由块预测值机制生成的预测输出相加,来获得一组未滤波的重建像素。
50.重建的块在被存储在充当参考图片存储库的图片缓冲器213中之前,可以进一步经过环内滤波器209。图片缓冲器213中的重建视频可以被发送以驱动显示设备,以及用于预测未来的视频块。在环内滤波器209开启的情况下,对这些重建像素执行滤波操作,以导出最终重建的视频输出222。
51.上文提到的视频编解码/解码标准(诸如vvc、jem、hevc、mpeg

4第10部分)在概念上是类似的。例如,它们都使用基于块的处理。下面详述一些标准中的块分割方案。
52.高效视频编解码(hevc)hevc基于混合的基于块的运动补偿变换编解码架构。用于压缩的基本单元称为编解码树单元(ctu)。对于4:2:0色度格式,最大的ctu尺寸被定义为高达64乘64的亮度像素,以及两个32乘32的色度像素块。每个ctu可以包含一个编解码单元(cu),或者递归地被拆分成四个更小的cu,直到达到预定义的最小cu尺寸。每个cu(也名为叶cu)包含一个或多个预测单元(pu)以及变换单元(tu)树。
53.一般地,除了单色内容之外,ctu可以包括一个亮度编解码树块(ctb)和两个对应的色度ctb;cu可以包括一个亮度编解码块(cb)和两个对应的色度cb;pu可以包括一个亮度预测块(pb)和两个对应的色度pb;以及tu可以包括一个亮度变换块(tb)和两个对应的色度tb。然而,可能会出现例外,因为最小tb尺寸对于亮度和色度两者都是4
×
4(即,对于4:2:0颜色格式,不支持2
×
2色度tb),并且每个帧内色度cb总是只有一个帧内色度pb,而不管对应的帧内亮度cb中的帧内亮度pb的数量如何。
54.对于帧内cu,亮度cb可以通过一个或四个亮度pb预测,并且两个色度cb中的每一个色度cb总是通过一个色度pb预测,其中每个亮度pb具有一个帧内亮度预测模式,并且两个色度pb共享一个帧内色度预测模式。此外,对于帧内cu,tb尺寸不能大于pb尺寸。在每个pb中,应用帧内预测以从tb的相邻重建样本预测pb内的每个tb的样本。对于每个pb,除了33种定向帧内预测模式之外,还支持dc模式和平面模式,以分别预测平坦区域和渐变区域。
55.对于每个帧间pu,可以选择三种预测模式之一,包括帧间、跳过和合并。一般而言,引入运动矢量竞争(mvc)方案以从包括空间和时间运动候选的给定候选集中选择运动候选。对运动估计的多个参考允许在两个可能的重建参考图片列表(即,列表0和列表1)中找到最佳的参考。对于帧间模式(称为amvp模式,其中amvp表示高级运动矢量预测),发送帧间预测指示符(列表0、列表1、或双向预测)、参考索引、运动候选索引、运动矢量差(mvd)和预测残差。至于跳过模式和合并模式,仅发送合并索引,并且当前pu从被编解码的合并索引所参考的相邻pu继承帧间预测指示符、参考索引和运动矢量。在跳过编解码的cu的情况下,残差信号也被省略。
56.联合探索测试模型(jem)
联合探索测试模型(jem)建立在hevc测试模型之上。hevc的基本编码和解码流程在jem中保持不变;然而,最重要的模块(包括块结构、帧内和帧间预测、残差变换、环路滤波器和熵编解码的模块)的设计元素有几分修改,并添加了附加的编解码工具。jem中包括以下新的编解码特征。
57.在hevc中,通过使用表示为编解码树的四叉树结构将ctu拆分成cu,以适应各种局部特性。使用图片间(时间)预测还是图片内(空间)预测来对图片区域进行编解码的决策是在cu级作出的。根据pu拆分类型,可以将每个cu进一步拆分成一个、两个或四个pu。在一个pu内,应用相同的预测过程,并且在pu的基础上将相关信息发送到解码器。在通过基于pu拆分类型应用预测过程而获得残差块之后,可以根据与用于cu的编解码树类似的另一个四叉树结构,将cu分割成变换单元(tu)。hevc结构的关键特征之一是它具有多种分割概念,包括cu、pu和tu。
58.图3是图示根据本公开的一些实施方案的四叉树加二叉树(qtbt)结构的示意图。
59.qtbt结构去除了多种分割类型的概念,即它去除了cu概念、pu概念和tu概念的分离,并支持针对cu分割形状的更大灵活性。在qtbt块结构中,cu可以具有正方形或矩形形状。如图3所示,编解码树单元(ctu)首先通过四元树(即,四叉树)结构被分割。四叉树叶节点可以通过二叉树结构而被进一步分割。二叉树拆分中存在两种拆分类型:对称水平拆分和对称垂直拆分。二叉树叶节点被称为编解码单元(cu),并且该切分用于预测和变换处理,而无需任何进一步的分割。这意味着,cu、pu和tu在qtbt编解码块结构中具有相同的块尺寸。在jem中,cu有时由不同颜色分量的编解码块(cb)组成,例如,在4:2:0色度格式的p条带和b条带的情况下,一个cu包含一个亮度cb和两个色度cb,并且cu有时由单个分量的cb组成,例如,在i条带的情况下,一个cu仅包含一个亮度cb或者仅包含两个色度cb。
60.针对qtbt分割方案,定义了以下参数。
61.‑ꢀ
ctu尺寸:四叉树的根节点尺寸,与hevc中的概念相同;
‑ꢀ
minqtsize:允许的最小四叉树叶节点尺寸;
‑ꢀ
maxbtsize:允许的最大二叉树根节点尺寸;
‑ꢀ
maxbtdepth:允许的最大二叉树深度;
‑ꢀ
minbtsize:允许的最小二叉树叶节点尺寸。
62.在qtbt分割结构的一个示例中,ctu尺寸被设置为128
×
128亮度样本,其具有两个对应的64
×
64色度样本块(具有4:2:0色度格式),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的高度时,不考虑进一步的垂直拆分。二叉树的叶节点通过预测和变换处理被进一步处理,而不需要任何进一步的分割。在jem中,最大ctu尺寸为256
×
256亮度样本。
63.图3中图示了通过使用qtbt方案进行块分割的示例以及对应的树表示。实线指示四叉树拆分,并且虚线指示二叉树拆分。如图3所示,编解码树单元(ctu)300首先通过四叉树结构被分割,并且四个四叉树叶节点302、304、306、308中的三个叶节点通过四叉树结构或二叉树结构被进一步分割。例如,四叉树叶节点306通过四叉树拆分被进一步分割;四叉树叶节点304通过二叉树拆分被进一步分割成两个叶节点304a、304b;并且四叉树叶节点302也通过二叉树拆分被进一步分割。在二叉树的每个拆分(即,非叶)节点中,用信号发送一个标记以指示哪种拆分类型(即,水平或垂直)被使用,其中0指示水平拆分,并且1指示垂直拆分。例如,对于四叉树叶节点304,用信号发送0以指示水平拆分,并且对于四叉树叶节点302,用信号发送1以指示垂直拆分。对于四叉树拆分,不需要指示拆分类型,因为四叉树拆分总是既水平地又垂直地拆分块,以产生4个具有相等尺寸的子块。
64.此外,qtbt方案支持亮度和色度具有单独的qtbt结构的能力。当前,对于p条带和b条带,一个ctu中的亮度ctb和色度ctb共享相同的qtbt结构。然而,对于i条带,亮度ctb通过qtbt结构被分割成cu,并且色度ctb通过另一个qtbt结构被分割成色度cu。这意味着,i条带中的cu由亮度分量的编解码块或两个色度分量的编解码块组成,而p条带或b条带中的cu由所有三种颜色分量的编解码块组成。
65.通用视频编解码(vvc)在联合视频专家组(jvet)会议上,jvet定义了通用视频编解码(vvc)的第一草案和vvc测试模型1(vtm1)编码方法。决定了包括使用二元和三元拆分编解码块结构的具有嵌套多类型树的四叉树作为vvc的初始新编解码特征。
66.在vvc中,图片分割结构将输入视频划分成被称为编解码树单元(ctu)的块。使用具有嵌套多类型树结构的四叉树将ctu拆分成编解码单元(cu),叶编解码单元(cu)定义了共享相同预测模式(例如,帧内或帧间)的区域。这里,术语“单元”定义了图像的覆盖所有分量的区域;术语“块”用于定义覆盖特定分量(例如亮度)的区域,并且当考虑色度采样格式(诸如4:2:0)时,在空间位置上可能不同。
67.将图像分割成ctu图4是图示根据本公开的一些实施方案的被划分成ctu的图片的示例的示意图。
68.在vvc中,图片被划分成ctu序列,并且ctu概念与hevc中的ctu概念相同。对于具有三个样本阵列的图片,ctu由n
×
n的亮度样本块以及两个对应的色度样本块组成。图4示出了被划分成ctu 402的图片400的示例。
69.ctu中亮度块的最大允许尺寸被指定为128
×
128(尽管亮度变换块的最大尺寸为64
×
64)。
70.使用树结构对ctu的分割图5是图示根据本公开的一些实施方案的多类型树拆分模式的示意图。
71.在hevc中,通过使用表示为编解码树的四叉树结构来将ctu拆分成cu,以适应各种局部特性。使用图片间(时间)预测还是图片内(空间)预测来对图片区域进行编解码的决策是在叶cu级作出的。根据pu拆分类型,可以将每个叶cu进一步拆分成一个、两个或四个pu。在一个pu内,应用相同的预测过程,并且在pu的基础上将相关信息发送到解码器。在通过基于pu拆分类型应用预测过程而获得残差块之后,可以根据与用于cu的编解码树类似的另一个四叉树结构将叶cu分割成变换单元(tu)。hevc结构的关键特征之一是它具有多种分割概
念,包括cu、pu和tu。
72.在vvc中,使用二元和三元拆分切分结构的具有嵌套多类型树的四叉树取代了多种分割单元类型的概念,也即,其去除了cu概念、pu概念和tu概念的分离,并且支持对于cu分割形状的更大灵活性,除外的是对于最大变换长度来说具有过大尺寸的cu需要cu概念、pu概念和tu概念的分离。在编解码树结构中,cu可以具有正方形或矩形形状。编解码树单元(ctu)首先通过四元树(即,四叉树)结构被分割。然后,四叉树叶节点可以通过多类型树结构被进一步分割。如图5所示,在多类型树结构中存在四种拆分类型:垂直二元拆分502(split_bt_ver)、水平二元拆分504(split_bt_hor)、垂直三元拆分506(split_tt_ver)、以及水平三元拆分508(split_tt_hor)。多类型树的叶节点被称为编解码单元(cu),并且除非cu对于最大变换长度来说太大,否则这种切分被用于预测和变换处理,而不需要任何进一步的分割。这意味着,在大多数情况下,在具有嵌套多类型树编解码块结构的四叉树中,cu、pu和tu具有相同的块尺寸。例外出现在支持的最大变换长度小于cu的颜色分量的宽度或高度时。在vtm1中,cu由不同颜色分量的编解码块(cb)组成,例如,一个cu包含一个亮度cb和两个色度cb(除非视频是单色的,即只具有一个颜色分量)。
73.将cu分割成多个预测单元在vvc中,对于基于上文说明的结构被分割的每个cu,可以对整个cu块或者以下面段落中解释的子块方式来执行块内容的预测。这种预测的操作单元被称为预测单元(或pu)。
74.在帧内预测(或帧内部预测)的情况下,通常pu的尺寸等于cu的尺寸。换句话说,预测是对整个cu块执行的。对于帧间预测(帧之间预测),pu的尺寸可以等于或小于cu的尺寸。换句话说,存在cu可以被拆分成多个pu以供预测的情况。
75.使pu尺寸小于cu尺寸的一些示例包括仿射预测模式、高级时间级运动矢量预测(atmvp)模式和三角形预测模式等。
76.在仿射预测模式下,可以将cu拆分成多个4
×
4的pu以供预测。运动矢量可以针对每个4
×
4的pu导出,并且运动补偿可以相应地对4
×
4的pu执行。在atmvp模式下,可以将cu拆分成一个或多个8
×
8的pu以供预测。运动矢量针对每个8
×
8的pu导出,并且运动补偿可以相应地对8
×
8的pu执行。在三角形预测模式下,可以将cu拆分成两个三角形形状的预测单元。运动矢量针对每个pu导出,并且运动补偿相应地被执行。三角形预测模式被支持用于帧间预测。三角形预测模式的更多细节在下文被说明。
77.常规合并模式运动矢量候选列表根据当前的vvc,在整个cu不拆分成多于一个pu而被预测的常规合并模式下,使用与用于三角形预测模式的过程不同的过程来构建运动矢量候选列表或合并候选列表。
78.首先,基于来自如图6中指示的相邻块的运动矢量来选择空间运动矢量候选,图6是图示根据本公开的一些实施方案的空间合并候选的位置的示意图。在当前块602的空间合并候选的导出中,在位于图6所描绘的位置处的候选中选择最多四个合并候选。这些候选是根据某种顺序选择的。一个示例性的导出顺序是a1—>b1—>b0—>a0—>(b2)。仅当位置a1、b1、b0、a0的任何pu都不可用或被帧内编解码时,才考虑位置b2。应当注意,也可以使用其他不同的顺序。例如,在vvc的后期,该顺序改为b1—>a1—>b0—>a0—>(b2)。
79.接下来,导出时间合并候选。在时间合并候选的导出中,基于同位pu来导出缩放的
运动矢量,该同位pu属于给定的参考图片列表内的与当前图片具有最小图片顺序计数(poc)差的图片。将被用于导出同位pu的参考图片列表在条带报头中被明确地用信号通知。如图7中的虚线所示,获得针对时间合并候选的缩放的运动矢量,图7图示了根据本公开的一些实施方案的针对时间合并候选的运动矢量缩放。使用poc距离tb和td,从同位pu col_pu的运动矢量缩放得到针对时间合并候选的缩放的运动矢量,其中tb被定义为当前图片的参考图片curr_ref和当前图片curr_pic之间的poc差,并且td被定义为同位图片的参考图片col_ref和同位图片col_pic之间的poc差。时间合并候选的参考图片索引被设置为等于零。hevc草案规范中描述了缩放过程的实际实现。对于b条带,两个运动矢量(一个针对参考图片列表0且另一个针对参考图片列表1)被获得并且被组合以形成双向预测合并候选。
80.图8是图示根据本公开的一些实施方案的用于时间合并候选的候选位置的示意图。
81.如图8所描绘的,在两个候选位置c3和h之间选择同位pu的位置。如果位置h处的pu不可用,或者是帧内编解码的,或者在当前ctu之外,则位置c3被用于导出时间合并候选。否则,位置h被用于导出时间合并候选。
82.在将空间运动矢量和时间运动矢量两者插入如上文所描述的合并候选列表之后,添加基于历史的合并候选。所谓的基于历史的合并候选包括来自先前编解码的cu的那些运动矢量,这些运动矢量被保持在单独的运动矢量列表中,并且基于某些规则被管理。
83.在插入基于历史的候选之后,如果合并候选列表未满,则将成对平均运动矢量候选进一步添加到列表中。如其名称所指出的,这种类型的候选是通过对当前列表中已有的候选进行平均而构建的。更具体地,基于某种顺序或规则,每次取出合并候选列表中的两个候选,并将这两个候选的平均运动矢量附加到当前列表。
84.在插入成对平均运动矢量之后,如果合并候选列表仍未满,则将添加零运动矢量以填满列表。
85.三角形预测模式(或三角形分割模式)图9是图示根据本公开的一些实施方案将cu拆分成三角形预测单元的示意图。
86.三角形预测模式的概念将引入三角形分割以用于运动补偿预测。三角形预测模式也可以被命名为三角形预测单元模式或三角形分割模式。如图9所示,cu 902或cu 904在对角线方向或反对角线方向上(即,如cu 902所示从左上角到右下角拆分,或如cu 904所示从右上角到左下角拆分)被拆分成两个三角形预测单元:分割0和分割1。cu中的每个三角形预测单元使用其自身的单向预测运动矢量和参考帧索引而被帧间预测,该单向预测运动矢量和参考帧索引是直接地和/或间接地从常规合并候选列表中的候选导出的。在预测三角形预测单元之后,向对角线边缘执行加权过程。然后,将变换和量化过程应用于整个cu。注意,该模式仅应用于当前vvc中的跳过模式和合并模式。尽管在图9中,cu被示出为正方形块,但是三角形预测模式也可以应用于非正方形(即,矩形)形状的cu。
87.单向预测运动矢量导出图10是图示根据本公开的一些实施方案的针对三角形分割模式的单向预测运动矢量选择的示意图。
88.在一些示例中,用于每个三角形分割的单向预测运动矢量直接从如“常规合并模式运动矢量候选列表”的先前章节中说明的针对常规合并模式形成的合并候选列表导出。
给定合并候选索引,可以从合并候选列表中定位到候选。然后,对于该候选,其列表x运动矢量(x等于合并候选索引值的奇偶性值(p))被用作用于三角形分割模式的单向预测运动矢量。这些运动矢量在图10中用“x”标记。在对应的列表x(或列表p)运动矢量不存在的情况下,相同候选的列表(1

x)(或列表(1

p))运动矢量被用作用于三角形分割模式的单向预测运动矢量。
89.针对三角形pu中的每个三角形pu,基于其运动矢量导出预测值。值得注意的是,导出的预测值覆盖比实际的三角形pu更大的区域,使得沿着两个三角形pu的共享对角线边缘存在两个预测值的重叠区域。加权过程被应用于这两个预测值之间的对角线边缘区域,以导出针对cu的最终预测。当前用于亮度样本和色度样本的加权因子分别为{7/8,6/8,5/8,4/8,3/8,2/8,1/8}和{6/8,4/8,2/8}。
90.三角形预测模式语法和信令这里,使用三角形预测标记来用信号发送三角形预测模式。当cu在跳过模式或合并模式下被编解码时,用信号发送三角形预测标记。对于给定的cu,如果三角形预测标记的值为1,则其意味着对应的cu是使用三角形预测模式被编解码的。否则,cu是使用除了三角形预测模式以外的预测模式被编解码的。
91.例如,在跳过模式或合并模式下有条件地用信号发送三角形预测标记。第一,在序列参数集(或sps)中用信号发送三角形预测工具启用/禁用标记。只有当该三角形预测工具启用/禁用标记为真时,才会在cu级用信号发送三角形预测标记。第二,只在b条带中允许三角形预测工具。因此,只有在b条带中,才会在cu级用信号发送三角形预测标记。第三,仅针对尺寸等于或大于某个阈值(例如64)的cu,才用信号通知三角形预测模式。如果cu具有小于该阈值的尺寸,则不用信号发送三角形预测标记。第四,只有当cu不在常规合并模式、或mmvd或子块合并模式、或ciip模式下被编解码时,才可以允许三角形预测模式用于该cu。对于满足这些条件的cu,应用三角形分割模式。
92.如果使用三角形预测模式,则用信号发送三角形分割取向标记,以指示分割是从左上角到右下角取向还是从右上角到左下角取向。
93.当三角形预测标记用信号被发送时,其是使用具有某些上下文的上下文自适应二进制算术编解码(cabac)熵编解码器而用信号被发送的。这些上下文是基于当前cu的顶部和左侧块的三角形预测标记值而形成的。
94.为了对用于当前块(或当前cu)的三角形预测标记进行编解码(即,编码或解码),来自顶部和左侧块(或cu)的三角形预测标记被导出,并将它们的值相加。这导致对应于以下情况的三种可能的上下文:1)左侧块和顶部块两者都具有为0的三角形预测标记;2)左侧块和顶部块两者都具有为1的三角形预测标记;3)其他。
95.为三种上下文中的每一个上下文保持单独的概率。一旦确定了用于当前块的上下文值,就使用对应于该上下文值的cabac概率模型对当前块的三角形预测标记进行编解码。
96.如果三角形预测标记为真,则用信号发送三角形分割取向标记,以指示分割是从左上角到右下角取向还是从右上角到左下角取向。
97.在三角形预测模式被用于cu的情况下,用信号发送两个合并索引值,以分别指示
用于三角形预测的第一和第二单向预测合并候选的合并索引值。这两个合并索引值用于从上文描述的单向预测运动矢量候选列表中定位到两个合并候选,以分别用于第一和第二分割。对于三角形预测,要求这两个合并索引值不同,使得两个三角形分割的两个预测值可以彼此不同。作为结果,直接用信号发送第一合并索引值。为了用信号发送第二合并索引值,如果它小于第一合并索引值,则直接用信号发送其值。否则,其值在用信号发送到解码器之前减去1。在解码器侧,第一合并索引被解码并直接使用。为了解码第二合并索引值,首先从cabac引擎解码表示为“idx”的值。如果idx小于第一合并索引值,则第二合并索引值将等于idx的值。否则,第二合并索引值将等于(idx+1)。
98.三角形预测模式下的块运动矢量填充根据vvc标准草案,如果cu在三角形预测模式下被编解码,则取决于子块位置,不同的运动矢量被用来填充(即,被存储在其中)cu内的4
×
4子块的运动矢量缓冲器。这种运动矢量填充是出于以下目的而执行的:在对可能在空间或时间上与当前cu相邻的其他cu编解码时进行运动矢量预测。更具体地,第一三角形分割(即,分割0)内的子块被填充有第一三角形分割的单向预测运动矢量,表示为mv0;并且第二三角形分割(即,分割1)内的子块被填充有第二三角形分割的单向预测运动矢量,并且位于对角线分割边界上的那些4
×
4子块被填充有由mv0和mv1两者形成的运动矢量。取决于mv0和mv1的特性,表示为mv
01
的所形成的运动矢量可以是单向预测的或双向预测的。如果mv0和mv1来自不同的参考列表,则这两个单向预测运动矢量被直接组合以形成双向预测的运动矢量。如果它们参考相同的参考列表,则检查mv1的参考图片,看它是否存在于另一参考列表中。如果是,则mv1被转变为参考相同的参考图片但却是另一参考列表,并且然后将其与mv0组合以形成双向预测的运动矢量。如果mv1的参考图片不存在于另一参考列表中,则检查mv0的参考图片,看它是否存在于另一参考列表中。如果是,则mv0被转变为参考相同的参考图片但却是另一参考列表,并且然后将其与mv1组合以形成双向预测的运动矢量。如果mv0的参考图片不存在于另一参考列表中,则mv0被直接用作所形成的运动矢量,并且在这种情况下,所形成的运动矢量是单向预测的运动矢量。图11中示出了一种示例。在该示例中,32
×
32尺寸的cu在三角形预测模式下被编解码。在这种情况下,分割0内的那些4
×
4的块被填充有分割0的单向预测运动矢量;分割1内的那些4
×
4的块被填充有分割1的单向预测运动矢量;并且位于对角线边界线上的那些4
×
4的块(标记为具有实边界线的正方形)被填充有上文描述的所形成的运动矢量mv
01
。值得注意的是,在上文描述的过程中,用于填充4
×
4的块的运动矢量可以与用于形成针对4
×
4的块的帧间预测的运动矢量相同,或者可以与之不同。虽然本公开中所公开的子块具有4
×
4的尺寸,但是子块尺寸可以被适配为2
×
2、8
×
8或其他尺寸,其中所公开的方法可以相应地被适配。
99.利用有限运动矢量修剪的单向预测运动矢量导出在一些示例中,用于每个三角形分割的单向预测运动矢量直接从如“常规合并模式运动矢量候选列表”的章节中说明的针对常规合并模式形成的合并候选列表导出。这种方法很简单。然而,如图10所示,对于三角形分割,可选择的运动矢量的数量可能受到限制。例如,当附图中用“x”标记的运动矢量存在时,相同合并候选的但来自其他参考列表的对应单向预测运动矢量(即,附图中未用“x”标记的那些运动矢量)将没有机会被用于三角形预测。同时,经常发生的是,用“x”标记的运动矢量中的一些运动矢量可能彼此相同,这可能进
一步限制运动矢量多样性并牺牲编解码效率。
100.三角形预测的另一个问题与如“三角形预测模式下的块运动矢量填充”的章节中所描述的其当前块运动矢量填充方法相关联。填充运动矢量时的对应操作并不那么简单。更加实施友好的方法可能是优选的。
101.根据本公开的一些示例,给定三角形预测模式下的两个合并索引值,可以基于在“单向预测运动矢量导出”的章节中描述的过程来定位两个单向预测运动矢量。另外,可以执行运动矢量修剪操作。在分别为分割0和分割1导出的这两个单向预测运动矢量相同的情况下,可以替代地使用来自另一参考列表的它们的对应的单向预测运动矢量(如果存在的话)。
102.上文提到的所公开的示例可以以不同的方式实施。假设对于三角形分割0和分割1,基于在“单向预测运动矢量导出”的章节中描述的过程而定位的两个单向预测运动矢量分别是mv0和mv1。在一个示例中,如果mv1与mv0相同,则与mv1共享相同的合并索引、但来自另一参考列表的对应的运动矢量(如果它存在的话)替代地被用于分割1。如果它不存在,则仍将使用mv1。在另一个示例中,如果mv1与mv0相同,则与mv1共享相同的合并索引、但来自另一参考列表的对应的运动矢量(如果它存在的话)替代地被使用。如果它不存在或者它与mv0相同,则仍将使用mv1。在这种情况下,与mv0共享相同的合并索引、但来自另一参考列表的对应的运动矢量(如果它存在的话)被用于分割0。如果它不存在,则mv0仍将用于分割0。
103.在上面的描述中,分割号0和1的检查和处理顺序,以及它们各自的mv0和mv1,都是相对的。因此,它们的检查和处理顺序可以在描述中交换,并且所得到的方法仍然被涵盖在当前公开的相同精神下。例如,代替如以上示例中所描述的相对于mv0首先对mv1执行修剪操作,也可以相对于mv1首先对mv0执行修剪操作。
104.基于所公开的示例,在确定两个单向预测运动矢量是否相同时,可以使用不同的方法。在一个示例中,当编解码设备确定两个矢量具有相同的x分量和y分量以及用于它们的参考图片的相同poc(即,图片顺序计数)时,两个单向预测运动矢量被认为是相同的。运动矢量的x分量和y分量分别表示从当前块到它们的对应参考块的相对的水平偏移值和垂直偏移值。在另一个示例中,当编解码设备确定两个矢量具有相同的x分量和y分量、相同的参考列表和相同的参考图片索引时,两个单向预测运动矢量被认为是相同的。在又一示例中,当编解码设备确定两个矢量具有相同的x分量和y分量时,不管它们的参考列表或参考图片索引如何,两个单向预测运动矢量被认为是相同的。这里,编解码设备可以是具有用于编码视频数据的芯片的电子设备。
105.利用上文说明的所公开的方法,更多的运动矢量可以被选择并用于三角形预测,而没有额外的信令开销。这提高了编解码效率。相关联的运动矢量修剪操作的复杂性是有限的。
106.简化的块运动矢量填充根据本公开的一些示例,块运动矢量填充操作不是必须遵循“三角形预测模式下的块运动矢量填充”的章节中描述的过程。一些简化的方案可以替代地被使用。在本公开的以下描述中,用于三角形分割0和1的运动矢量分别表示为mv0和mv1;并且基于在“三角形预测模式下的块运动矢量填充”的章节中描述的过程,从mv0和mv1两者形成的运动矢量被表示为mv
01
。如之前所解释的,mv
01
可以是双向预测或单向预测的运动矢量。
107.在本公开的一种示例中,取代以不同的运动矢量来填充4
×
4的块,使用这个所形成的运动矢量mv
01
来填充当前cu中的每个4
×
4的块。
108.在本公开的另一个示例中,取代以不同的运动矢量来填充4
×
4的块,使用与位于cu底部的三角形分割相关联的单向预测运动矢量来填充当前cu中的每个4
×
4的块。图9中示出了一个示例,其中分割1是位于底部的三角形分割,并且其运动矢量mv1用于填充cu中的每个4
×
4的块。
109.在本公开的又一示例中,与位于cu底部的三角形分割相关联的单向预测运动矢量用于填充当前cu中的每个4
×
4的块,除外的是位于对角线分割边界上的两个角处的两个4
×
4的块。对于位于对角线分割边界上的两个角处的两个4
×
4的块,所形成的运动矢量mv
01
用于填充它们。这在图12a和图12b中示出,其中只有具有实边界线的两个4
×
4的块被填充有所形成的运动矢量mv
01
。更具体地,如图12a所示,在当前cu从左上角到右下角被拆分时,左上的4
×
4的块和右下的4
×
4的块被填充有所形成的运动矢量mv
01
。在当前cu从右上角到左下角被拆分时,如图12b所示,右上的4
×
4的块和左下的4
×
4的块被填充有所形成的运动矢量mv
01

110.在本公开的另一个示例中,块运动矢量填充操作仍然遵循在“三角形预测模式下的块运动矢量填充”的章节中描述的过程,除外的是那些位于对角线边界线上的4
×
4的块(在图11中用实边界线标记)。对于位于对角线分割边界上的两个角处的两个4
×
4的块,所形成的运动矢量mv
01
用于填充它们。对于位于对角线边界线上的其他4
×
4的块,使用与位于cu底部的三角形分割相关联的单向预测运动矢量来填充它们。
111.在本公开的另一个示例中,块运动矢量填充操作仍然遵循在“三角形预测模式下的块运动矢量填充”的章节中描述的过程,除外的是那些位于对角线边界线上的4
×
4的块(在图11中用实边界线标记)。对于位于对角线分割边界上的两个角处的两个4
×
4的块,所形成的运动矢量mv
01
用于填充它们。对于位于对角线边界线上的其他4
×
4的块,使用与位于cu上部的三角形分割相关联的单向预测运动矢量来填充它们。
112.在本公开的另一个示例中,当前cu被分割成四个四分之一尺寸的区域。每个区域中的块被填充有相同的运动矢量,而不同区域中的块可以被填充有不同的运动矢量。更具体地,位于对角线边界上的四分之一尺寸的区域中的块被填充有mv
01
,并且每个三角形分割内的四分之一尺寸的区域中的块被填充有该分割的单向预测运动矢量。图13a示出了一种示例。在该附图中,包含对角线分割边界的两个四分之一尺寸的区域(用实边界线标记)中的4
×
4的块被填充有mv
01
,而其他两个四分之一尺寸的区域中的4
×
4的块取决于它们在哪个三角形分割中而被填充有mv0或mv1。在图13a的情况下,右上四分之一尺寸的区域中的4
×
4的块被填充有mv0,并且左下四分之一尺寸的区域中的4
×
4的块被填充有mv1。在图13b的情况下,左上四分之一尺寸的区域中的4
×
4的块被填充有mv0,并且右下四分之一尺寸的区域中的4
×
4的块被填充有mv1。
113.在本公开的另一个示例中,除了分别位于分割0和分割1的两个角处的两个4
×
4的角块之外,当前cu中的每个块都被填充有运动矢量mv
01
。这两个角块不是位于对角线分割边界上。图12c和图12d示出了一种示例,其中用实边界线来指示这两个角块。根据本公开的该实施例,这两个角块被填充有它们的三角形分割的对应单向预测运动矢量。更具体地,如图12c所示,在当前cu从左上角到右下角被拆分时,右上的4
×
4的块和左下的4
×
4的块分别被
填充有mv0和mv1。在当前cu从右上角到左下角被拆分时,如图12d所示,左上的4
×
4的块和右下的4
×
4的块分别被填充有mv0和mv1。虽然图11

图13中的示例使用尺寸为4
×
4的子块,但是该方法可以适配于不同的子块尺寸,诸如2
×
2、8
×
8或其他尺寸。
114.在本公开的又一示例中,在当前cu具有等于4个像素的宽度或具有等于4个像素的高度的情况下,如果它是用三角形预测模式被编解码的,则用mv
01
填充当前cu中的每个块。值得注意的是,该示例可以与上文说明的那些示例中的每一个示例联合使用。
115.在以上过程中,尽管在本公开的所有示例中使用包含5个合并候选的第一合并列表用于说明,但是实际上可以不同地定义第一合并列表的尺寸,例如6或4,或者一些其他值。本公开中描述的所有方法同样适用于第一合并列表具有不同于5的尺寸的情况。
116.尽管在本公开中关于三角形预测模式来描述形成单向预测合并列表的方法,但是这些方法适用于类似种类的其他预测模式。例如,在更一般的几何分割预测模式下,其中沿着不完全是对角线的线将cu分割成两个pu,这两个pu可以具有诸如三角形、楔形或梯形形状的几何形状。在这种情况下,可以以类似于三角形预测模式中的方式来形成每个pu的预测,本文描述的方法同样是适用的。
117.图14是图示根据本公开的一些实施方案的用于视频编解码的装置的框图。装置1400可以是终端,例如移动电话、平板计算机、数字广播终端、平板设备、或个人数字助理。
118.如图14所示,装置1400可以包括以下组件中的一个或多个:处理组件1402、存储器1404、电源组件1406、多媒体组件1408、音频组件1410、输入/输出(i/o)接口1412、传感器组件1414和通信组件1416。
119.处理组件1402通常控制装置1400的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和录制操作相关的操作。处理组件1402可以包括一个或多个处理器1420,用于执行指令以完成上述方法的全部或部分步骤。另外,处理组件1402可以包括一个或多个模块,以促进处理组件1402和其他组件之间的交互。例如,处理组件1402可以包括多媒体模块,以促进多媒体组件1408和处理组件1402之间的交互。
120.存储器1404被配置为存储不同类型的数据以支持装置1400的操作。这种数据的示例包括用于在装置1400上操作的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1404可以由任何类型的易失性或非易失性存储设备或其组合来实施,并且存储器1404可以是静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、闪存、磁盘或紧凑盘。
121.电源组件1406为装置1400的不同组件供电。电源组件1406可以包括电源管理系统、一个或多个电源、以及与为装置1400生成、管理和分配电力相关联的其他组件。
122.多媒体组件1408包括在装置1400和用户之间提供输出接口的屏幕。在一些示例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,则屏幕可以被实施为从用户接收输入信号的触摸屏。触摸面板可以包括一个或多个触摸传感器,用于感测触摸面板上的触摸、滑动和手势。触摸传感器不仅可以感测触摸或滑动动作的边界,还可以检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件1408可以包括前置相机和/或后置相机。当装置1400处于诸如拍摄模式或视频模式的操作模式时,前置相机和/或后置相机可以接收外部多媒体数据。
123.音频组件1410被配置为输出和/或输入音频信号。例如,音频组件1410包括麦克风(mic)。当装置1400处于诸如呼叫模式、录制模式和语音识别模式的操作模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以进一步存储在存储器1404中,或者经由通信组件1416发送。在一些示例中,音频组件1410进一步包括用于输出音频信号的扬声器。
124.i/o接口1412提供处理组件1402和外围接口模块之间的接口。上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可以包括但不限于主页按钮、音量按钮、开始按钮和锁定按钮。
125.传感器组件1414包括一个或多个传感器,用于为装置1400提供不同方面的状态评估。例如,传感器组件1414可以检测装置1400的开/关状态和组件的相对位置。例如,组件是装置1400的显示器和小键盘。传感器组件1414还可以检测装置1400或装置1400的组件的位置变化、装置1400上存在或不存在用户的接触、装置1400的取向或加速/减速、以及装置1400的温度变化。传感器组件1414可以包括接近传感器,该接近传感器被配置为在没有任何物理接触的情况下检测附近对象的存在。传感器组件1414可以进一步包括光学传感器,诸如在成像应用中使用的cmos或ccd图像传感器。在一些示例中,传感器组件1414可以进一步包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器、或温度传感器。
126.通信组件1416被配置为促进装置1400和其他设备之间的有线或无线通信。装置1400可以基于通信标准来接入无线网络,诸如wifi、4g、或其组合。在一种示例中,通信组件1416经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在一种示例中,通信组件1416可以进一步包括用于促进短距离通信的近场通信(nfc)模块。例如,可以基于射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实施nfc模块。
127.在一种示例中,可以由专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件中的一个或多个来实施装置1400,以执行上述方法。
128.非暂时性计算机可读存储介质可以是,例如,硬盘驱动器(hdd)、固态驱动器(ssd)、闪存、混合驱动器或固态混合驱动器(sshd)、只读存储器(rom)、紧凑盘只读存储器(cd

rom)、磁带、软盘等。
129.图15是图示根据本公开的一些实施方案的使用几何分割用于运动补偿预测的视频编解码的示例性过程的流程图。
130.在步骤1501中,处理器1420将视频图片分割成多个编解码单元(cu),其中至少一个cu被进一步分割成两个预测单元(pu)。该两个pu可以包括至少一个几何形状的pu。例如,几何形状的pu可以包括一对三角形pu、一对楔形pu、或其他几何形状的pu。
131.在步骤1502中,处理器1420构建包括多个候选的第一合并列表,每个候选包括一个或多个运动矢量:列表0运动矢量或列表1运动矢量。例如,处理器1420可以基于用于常规合并预测的合并列表构建过程来构建第一合并列表。处理器1420也可以从其他电子设备或存储装置获得第一合并列表。
132.在步骤1503中,处理器1420根据第一合并候选索引来定位用于第一pu的第一候选。
133.在步骤1504中,处理器1420根据第二合并候选索引来定位用于第二pu的第二候
选。
134.在步骤1505中,处理器1420通过选择第一候选的列表x1运动矢量,获得用于第一pu的第一单向预测运动矢量mv0,其中x1对应于第一合并候选索引且取值为0或1。
135.在步骤1506中,处理器1420通过选择第二候选的列表x2运动矢量,获得用于第二pu的第二单向预测运动矢量mv1,其中x2对应于第二合并候选索引且取值为0或1。
136.在步骤1507中,响应于确定mv0和mv1相同,处理器1420修剪第一单向预测运动矢量mv0和第二单向预测运动矢量mv1。
137.在一些示例中,提供了一种用于视频编解码的装置。该装置包括处理器1420;和存储器1404,其被配置为存储由处理器可执行的指令;其中处理器在执行指令时被配置为执行如图15所示的方法。
138.在一些其他示例中,提供了一种非暂时性计算机可读存储介质1404,其中存储有指令。当指令由处理器1420执行时,指令使得处理器执行如图15所示的方法。
139.本公开的描述已经出于说明的目的而被呈现,并且不旨在是穷尽性的或限于本公开。受益于前述描述和相关附图中呈现的教导,许多修改、变型和替代实施方案对本领域普通技术人员将是显而易见的。
140.选择和描述这些示例是为了解释本公开的原理,并且使本领域的其他技术人员能够理解各种实施方案的公开内容,并且最佳地利用基础原理和具有适合于所设想的特定用途的各种修改的各种实施方案。因此,将理解,本公开的范围不限于所公开的实施方案的具体示例,并且修改和其他实施方案旨在被包括在本公开的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1