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

用于利用三角形预测进行视频编解码的方法和装置与流程

2022-02-22 02:28:25 来源:中国专利 TAG:

用于利用三角形预测进行视频编解码的方法和装置
1.相关申请的交叉引用
2.本技术要求于2019年04月25日提交的题为“利用三角形预测的视频编解码”、申请号为62/838,935的美国临时申请的优先权,其全部内容通过引用并入本文用于所有目的。
技术领域
3.本技术总体涉及视频编解码和压缩,并且具体地但不限于用于在视频编解码中使用三角形预测单元(即,几何分割预测单元的特殊情况)进行运动补偿预测的方法和装置。


背景技术:

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


技术实现要素:

11.一般来说,本公开描述了与视频编解码中使用几何形状的预测单元的运动补偿预测相关的技术的示例。
12.根据本公开的第一方面,提供了一种用于利用几何预测进行视频编解码的方法,包括:将视频图片分割为多个编码单元cu,其中所述多个cu中的至少一个cu进一步被分割为两个预测单元pu,所述两个pu包括至少一个几何形状的pu;基于用于常规合并预测的合并列表构建过程来构建包括多个候选的第一合并列表,其中所述多个候选中的每个候选是包括列表0运动矢量或列表1运动矢量或列表0运动矢量和列表1运动矢量两者的运动矢量;接收用信号发送的第一索引值,所述第一索引值用于指示从所述第一合并列表选择的第一候选;接收用信号发送的第二索引值,所述第二索引值用于指示从所述第一合并列表选择的第二候选;接收用信号发送的第一二进制标志,所述第一二进制标志用于指示选择所述第一候选的列表0运动矢量还是所述第一候选的列表1运动矢量用于所述几何预测的第一pu;基于所述第一二进制标志并且基于当前图片是否使用后向预测来推断第二二进制标志是指示选择是所述第二候选的列表0运动矢量还是所述第二候选的列表1运动矢量用于所述几何预测的第二pu。
13.根据本公开的第二方面,提供了一种用于利用几何预测进行视频编解码的方法,包括:将视频图片分割为多个编码单元cu,其中所述多个cu中的至少一个cu进一步被分割为两个预测单元pu,所述两个pu包括至少一个几何形状的pu;基于用于常规合并预测的合并列表构建过程来构建包括多个候选的第一合并列表,其中所述多个候选中的每个候选是包括列表0运动矢量或列表1运动矢量或列表0运动矢量和列表1运动矢量两者的运动矢量;接收用信号发送的第一索引值,所述第一索引值用于指示从所述第一合并列表选择的第一候选;接收用信号发送的第二索引值,所述第二索引值用于指示从所述第一合并列表选择的第二候选;推断选择所述第一候选的列表0运动矢量还是所述第一候选的列表1运动矢量用于所述几何预测的第一pu;推断选择所述第二候选的列表0运动矢量还是所述第二候选
的列表1运动矢量用于所述几何预测的第二pu。
14.根据本公开的第三方面,提供了一种用于利用几何预测进行视频编解码的的装置,包括:一个或更多个处理器;以及存储器,被配置为存储能够由所述一个或更多个处理器执行的指令;其中所述一个或更多个处理器在执行所述指令时被配置为:将视频图片分割为多个编码单元cu,其中所述多个cu中的至少一个cu进一步被分割为两个预测单元pu,所述两个pu包括至少一个几何形状的pu;基于用于常规合并预测的合并列表构建过程来构建包括多个候选的第一合并列表,其中所述多个候选中的每个候选是包括列表0运动矢量或列表1运动矢量或列表0运动矢量和列表1运动矢量两者的运动矢量;接收用信号发送的第一索引值,所述第一索引值用于指示从所述第一合并列表选择的第一候选;接收用信号发送的第二索引值,所述第二索引值用于指示从所述第一合并列表选择的第二候选;接收用信号发送的第一二进制标志,所述第一二进制标志用于指示选择所述第一候选的列表0运动矢量还是所述第一候选的列表1运动矢量用于所述几何预测的第一pu;基于所述第一二进制标志并且基于当前图片是否使用后向预测来推断第二二进制标志是指示选择所述第二候选的列表0运动矢量还是所述第二候选的列表1运动矢量用于所述几何预测的第二pu。
附图说明
15.将通过参照附图中所示的具体示例来呈现本公开的示例的更详细的描述。鉴于这些附图仅描绘了一些示例,并且因此不被认为是对范围的限制,将通过使用附图利用附加的特征和细节来描述和解释示例。
16.图1是示出根据本公开的一些实施方式的示例性视频编码器的框图。
17.图2是示出根据本公开的一些实施方式的示例性视频解码器的框图。
18.图3是示出根据本公开的一些实施方式的四叉树加二叉树(qtbt)结构的示意图。
19.图4是示出根据本公开的一些实施方式的划分为ctu的图片的示例的示意图。
20.图5是示出根据本公开的一些实施方式的多类型树划分模式的示意图。
21.图6是示出根据本公开的一些实施方式的将cu划分为三角形预测单元的示意图。
22.图7是示出根据本公开的一些实施方式的邻近块的位置的示意图。
23.图8是示出根据本公开的一些实施方式的空间合并候选的位置的示意图。
24.图9是示出根据本公开的一些实施方式的时间合并候选的运动矢量缩放的示意图。
25.图10是示出根据本公开的一些实施方式的时间合并候选的候选位置的示意图。
26.图11a是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测运动矢量(mv)选择的一个示例的示意图。
27.图11b是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测运动矢量(mv)选择的另一示例的示意图。
28.图12a是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测mv选择的一个示例的示意图。
29.图12b是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测mv选择的另一示例的示意图。
30.图12c是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测mv选择的另一示例的示意图。
31.图12d是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测mv选择的另一示例的示意图。
32.图13是示出根据本公开的一些实施方式的用于三角形预测模式的单向预测mv选择的示例的示意图。
33.图14是示出根据本公开的一些实施方式的用于视频编解码的示例性装置的框图。
34.图15是示出根据本公开的一些实施方式的用于使用几何预测单元的运动补偿预测的视频编解码的示例性过程的流程图。
具体实施方式
35.现在将详细参照具体实施方式,在附图中示出具体实施方式的示例。在以下详细描述中,阐述了很多非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,可使用各种替代方案。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可在具有数字视频能力的许多类型的电子设备上实现。
36.贯穿本说明书对“一个实施例”、“实施例”、“示例”、“一些实施例”、“一些示例”或类似语言的引用表示所描述的特定特征、结构或特性被包括在至少一个实施例或示例中。除非另有明确说明,否则结合一个或一些实施例描述的特征、结构、元件或特性也适用于其它实施例。
37.在整个公开内容中,除非另有明确说明,否则术语“第一”、“第二”、“第三”等都用作仅用于提及相关元件(例如,设备、组件、组合物、步骤等)的命名,而不指示任何空间或时间顺序。例如,“第一设备”和“第二设备”可指两个单独形成的设备或者同一设备的两个部分、组件或操作状态,并且可被任意命名。
38.如本文所使用的,取决于上下文,术语“如果”或“当......时”可被理解为表示“在......时”或“响应于......”。这些术语如果出现在权利要求中,则可不指示相关限制或特征是有条件的或可选的。
39.术语“模块”、“子模块”、“电路”、“子电路”、“电路系统”、“子电路系统”、“单元”或“子单元”可包括存储可由一个或更多个处理器执行的代码或指令的存储器(共享、专用或组合)。模块可包括具有或不具有存储的代码或指令的一个或更多个电路。模块或电路可包括直接或间接连接的一个或更多个组件。这些组件可以或可不物理地附接到彼此或彼此相邻定位。
40.单元或模块可纯粹通过软件、纯粹通过硬件或通过硬件和软件的组合来实现。在纯软件实施方式中,例如,单元或模块可包括直接或间接链接在一起的功能上相关的代码块或软件组件,以便执行特定功能。
41.图1展示了示出可与使用基于块的处理的许多视频编解码标准结合使用的示例性的基于块的混合视频编码器100的框图。在编码器100中,视频帧被分割为多个视频块以进行处理。对于每个给定视频块,基于帧间预测方法或帧内预测方法来形成预测。在帧间预测中,基于来自先前重建帧的像素点,通过运动估计和运动补偿来形成一个或多个预测因子。在帧内预测中,基于当前帧中的重建像素点来形成预测因子。通过模式决策,可选择最佳预
测因子来预测当前块。
42.将表示当前视频块与其预测因子之间的差的预测残差发送到变换电路102。然后将变换系数从变换电路102发送到量化电路104以用于熵减少。然后将量化的系数馈送到熵编码电路106以生成压缩的视频比特流。如图1所示,来自帧间预测电路和/或帧内预测电路112的预测相关信息110(诸如视频块分割信息、运动矢量、参考图片索引和帧内预测模式)也通过熵编码电路106被馈送并保存到压缩的视频比特流114中。
43.在编码器100中,为了预测的目的,还需要解码器相关电路以便重建像素点。首先,通过反量化116和逆变换电路118重建预测残差。该重建的预测残差与块预测因子120组合以生成当前视频块的未经滤波的重建像素点。
44.空间预测(或“帧内预测”)使用来自与当前视频块相同的视频帧中的已经编码的邻近块的样点(其被称为参考样点)的像素来预测当前视频块。
45.时间预测(也被称为“帧间预测”)使用来自已经编码的视频图片的重建像素来预测当前视频块。时间预测减少了视频信号中固有的时间冗余。通常通过指示当前cu与其时间参考之间的运动的量和方向的一个或更多个运动矢量(mv)来用信号发送给定编码单元(cu)或编码块的时间预测信号。此外,如果支持多个参考图片,则另外发送一个参考图片索引,其中该参考图片索引用于识别时间预测信号来自参考图片存储器中的哪个参考图片。
46.在执行空间和/或时间预测之后,编码器100中的帧内/帧间模式决策电路121例如基于率失真优化方法来选择最佳预测模式。然后从当前视频块减去块预测因子120;并且使用变换电路102和量化电路104对所得到的预测残差进行去相关。所得到的量化的残差系数通过反量化电路116被反量化并且通过逆变换电路118被逆变换以形成重建残差,接着将重建残差加回到预测块以形成cu的重建信号。在将重建cu放入图片缓冲器117的参考图片存储器中并用于对后面的视频块进行编解码之前,可对重建cu进一步应用环路滤波115,诸如去块滤波器、样点自适应偏移(sao)和/或自适应环路滤波器(alf)。为了形成输出视频比特流114,将编码模式(帧间或帧内)、预测模式信息、运动信息和量化的残差系数全部发送到熵编码单元106,以进一步压缩和打包以形成比特流。
47.例如,去块滤波器在avc、hevc以及vvc的目前版本中可用。在hevc中,将被称为样点自适应偏移(sao)的附加环路滤波器定义用于进一步提高编码效率。在vvc标准的当前版本中,正在被积极地研究被称为自适应环路滤波器(alf)的另外的环路滤波器,并且它很有可能被包括在最终标准中。
48.这些环路滤波器操作是可选的。执行这些操作有助于提高编码效率和视觉质量。它们也可根据由编码器100呈现的决策被关闭,以节省计算复杂度。
49.应注意,帧内预测通常基于未经滤波的重建像素点,而帧间预测基于经过滤波的重建像素点(在编码器100打开这些滤波器选项的情况下)。
50.图2是示出可与许多视频编解码标准结合使用的示例性的基于块的视频解码器200的框图。该解码器200类似于驻留在图1的编码器100中的重建相关部分。在解码器200中,首先通过熵解码202对输入的视频比特流201进行解码,以导出量化的系数等级和预测相关信息。然后通过反量化204和逆变换206对量化的系数等级进行处理,以获得重建的预测残差。在帧内/帧间模式选择器212中实现的块预测因子机制被配置为基于经解码的预测信息来执行帧内预测208或运动补偿210。通过使用求和器214对来自逆变换206的重建预测
残差和由块预测因子机制生成的预测输出进行求和来获得一组未经滤波的重建像素点。
51.在将重建块存储在用作参考图片存储器的图片缓冲器213中之前,重建块可进一步通过环路滤波器209。图片缓冲器213中的重建视频可被发送以驱动显示设备以及用于预测后面的视频块。在打开环路滤波器209的情况下,对这些重建像素执行滤波操作以导出最终的重建视频输出222。
52.上文所提及的视频编码/解码标准(诸如vvc、jem、hevc、mpeg-4、part 10)在概念上类似。例如,它们都使用基于块的处理。下面阐述一些标准中的块分割方案。
53.hevc是以基于混合块的运动补偿变换编解码架构为基础。用于压缩的基本单元被称为编码树单元(ctu)。对于4:2:0色度格式,最大ctu尺寸被定义为多达64乘64亮度像素和两个32乘32色度像素的块。每个ctu可包含一个编码单元(cu)或递归地被划分为四个更小的cu,直到达到预定义的最小cu尺寸为止。每个cu(也称为叶cu)包含一个或多个预测单元(pu)和变换单元(tu)树。
54.一般来说,除单色内容外,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。
55.对于帧内cu,亮度cb可通过一个或四个亮度pb预测,并且两个色度cb中的每个色度cb总是通过一个色度pb预测,其中每个亮度pb具有一个帧内亮度预测模式,并且两个色度pb共享一个帧内色度预测模式。此外,对于帧内cu,tb尺寸不能大于pb尺寸。在每个pb中,应用帧内预测以从tb的邻近重建样点预测pb内部的每个tb的样点。对于每个pb,除了33个方向帧内预测模式之外,还支持dc模式和平面模式以分别预测平坦区域和逐渐变化的区域。
56.对于每个帧间pu,可选择包括帧间、跳过和合并的三种预测模式中的一个。一般而言,引入运动矢量竞争(mvc)方案以从包括空间运动候选和时间运动候选的给定候选集合中选择运动候选。对于运动估计的多个参考使得在2个可能的重建参考图片列表(即列表0和列表1)中找到最佳参考。对于帧间模式(称为amvp模式,其中amvp代表高级运动矢量预测),发送帧间预测指示符(列表0、列表1或双向预测)、参考索引、运动候选索引、运动矢量差(mvd)和预测残差。对于跳过模式和合并模式,仅发送合并索引,并且当前pu从由编解码的合并索引所参考的邻近pu继承帧间预测指示符、参考索引和运动矢量。在跳过编解码的cu的情况下,残差信号也被省略。
57.联合探索测试模型(jem)建立在hevc测试模型之上。hevc的基本编码和解码流程在jem中保持不变;然而,最重要的模块(包括块结构、帧内和帧间预测、残差变换、环路滤波器和熵编解码的模块)的设计元素被稍微修改,并且添加了另外的编解码工具。jem中包括以下新的编解码特征。
58.在hevc中,通过使用表示为编码树的四叉树结构将ctu划分为cu以适应各种局部特性。使用图片间(时间)预测还是使用图片内(空间)预测对图片区域进行编解码的决定是在cu级做出的。可根据pu划分类型进一步将每个cu划分为一个、两个或四个pu。在一个pu内
部,应用相同的预测过程,并且基于pu将相关信息发送到解码器。在通过基于pu划分类型应用预测过程而获得残差块之后,可根据cu的类似于编码树的另一四叉树结构将cu分割为变换单元(tu)。hevc结构的关键特征之一是它具有包括cu、pu和tu的多个分割概念。
59.图3是示出根据本公开的一些实施方式的四叉树加二叉树(qtbt)结构的示意图。
60.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。
61.针对qtbt分割方案定义以下参数。
[0062]-ctu size:四叉树的根节点尺寸,与hevc中的概念相同;
[0063]-minqtsize:允许的最小四叉树叶节点尺寸;
[0064]-maxbtsize:允许的最大二叉树根节点尺寸;
[0065]-maxbtdepth:允许的最大二叉树深度;
[0066]-minbtsize:允许的最小二叉树叶节点尺寸。
[0067]
在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 size)的尺寸。如果四叉树叶节点是128
×
128,则由于尺寸超过maxbtsize(即,64
×
64),所以它将不通过二叉树被进一步划分。否则,四叉树叶节点可通过二叉树被进一步分割。因此,四叉树叶节点也是二叉树的根节点,并且其二叉树深度为0。当二叉树深度达到maxbtdepth(即,4)时,不考虑进一步划分。当二叉树节点具有等于minbtsize的宽度(即,4)时,不考虑进一步水平划分。类似地,当二叉树节点具有等于minbtsize的高度时,不考虑进一步垂直划分。通过预测和变换处理进一步处理二叉树的叶节点,而不再进行任何进一步分割。在jem中,最大ctu尺寸为256
×
256亮度样点。
[0068]
在图3中示出了通过使用qtbt方案的块分割的示例以及对应的树表示。实线指示四叉树划分,并且虚线指示二叉树划分。如图3中所示,首先通过四叉树结构对编码树单元(ctu)300进行分割,并且通过四叉树结构或二叉树结构进一步对四个四叉树叶节点302、304、306、308中的三个进行分割。例如,通过四叉树划分进一步对四叉树叶节点306进行分割;通过二叉树划分将四叉树叶节点304进一步分割为两个叶节点304a、304b;并且还通过二叉树划分进一步对四叉树叶节点302进行分割。在二叉树的每个划分(即,非叶)节点中,标示一个标志以指示使用哪个划分类型(即,水平或垂直),其中0指示水平划分并且1指示垂直划分。例如,对于四叉树叶节点304,标示为0以指示水平划分,并且对于四叉树叶节点302,标示为1以指示垂直划分。对于四叉树划分,不需要指示划分类型,这是因为四叉树划
分总是水平和垂直地对块进行划分以产生具有相等尺寸的4个子块。
[0069]
另外,qtbt方案支持亮度和色度具有单独的qtbt结构的能力。当前,对于p和b条带,一个ctu中的亮度和色度ctb共享相同的qtbt结构。然而,对于i条带,亮度ctb通过qtbt结构被分割为cu,并且色度ctb通过另一qtbt结构被分割为色度cu。这表示i条带中的cu由亮度分量的编码块或两个色度分量的编码块组成,并且p或b条带中的cu由全部三个颜色分量的编码块组成。
[0070]
在联合视频专家组(jvet)会议中,jvet定义了通用视频编解码(vvc)的第一草案和vvc测试模型1(vtm1)编码方法。决定包括使用二划分和三划分编码块结构的具有嵌套多类型树的四叉树作为vvc的初始新编解码特征。
[0071]
在vvc中,图片分割结构将输入视频划分为被称为编码树单元(ctu)的块。使用具有嵌套多类型树结构的四叉树将ctu划分为编码单元(cu),其中叶编码单元(cu)定义了共享相同的预测模式(例如,帧内或帧间)的区域。这里,术语“单元”定义了图像的覆盖所有分量的区域;术语“块”用于定义覆盖特定分量(例如亮度)的区域,并且在考虑色度采样格式(诸如4:2:0)时可在空间位置上不同。
[0072]
将图片分割为ctu
[0073]
图4是示出根据本公开的一些实施方式的划分为ctu的图片的示例的示意图。
[0074]
在vvc中,图片被划分为ctu序列,并且ctu概念与hevc的ctu概念相同。对于具有三个样点阵列的图片,ctu由n
×
n的亮度样点块以及两个对应的色度样点块组成。图4示出划分为ctu 402的图片400的示例。
[0075]
ctu中的亮度块的最大允许尺寸被指定为128
×
128(尽管亮度变换块的最大尺寸为64
×
64)。
[0076]
使用树结构对ctu进行分割
[0077]
图5是示出根据本公开的一些实施方式的多类型树划分模式的示意图。
[0078]
在hevc中,通过使用表示为编码树的四元树结构将ctu划分为cu以适应各种局部特性。使用图片间(时间)预测还是使用图片内(空间)预测对图片区域进行编解码的决定是在叶cu级做出的。可根据pu划分类型进一步将每个叶cu划分为一个、两个或四个pu。在一个pu内部,应用相同的预测过程,并且基于pu将相关信息发送到解码器。在通过基于pu划分类型应用预测过程而获得残差块之后,可根据cu的类似于编码树的另一四元树结构将叶cu划分为变换单元(tu)。hevc结构的关键特征之一是它具有包括cu、pu和tu的多个分割概念。
[0079]
在vvc中,使用二划分和三划分分区结构的具有嵌套多类型树的四叉树来代替多个分割单元类型的概念,即,它去除了对cu、pu和tu概念的区分(除具有对于最大变换长度来说太大的尺寸的cu需要这种概念的区分之外),并且支持对于cu分割形状的更大灵活性。在编码树结构中,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(除非视频是单色的,即,仅具有一个颜色分量)。
[0080]
将cu分割为多个预测单元
[0081]
在vvc中,对于基于上面示出的结构所分割出的每个cu,可对整个cu块或者以下面段落中所解释的子块方式执行块内容的预测。这种预测的操作单元被称为预测单元(或pu)。
[0082]
在帧内预测(或帧内部预测)的情况下,pu的尺寸通常等于cu的尺寸。换句话说,对整个cu块执行预测。对于帧间预测(或帧之间预测),pu的尺寸可等于或小于cu的尺寸。换句话说,存在cu可被划分为多个pu以用于预测的情况。
[0083]
pu尺寸小于cu尺寸的一些示例包括仿射预测模式、高级时间级运动矢量预测(atmvp)模式和三角形预测模式等。
[0084]
在仿射预测模式下,cu可被划分为多个4
×
4pu以用于预测。可针对每个4
×
4pu导出运动矢量并且可相应地对4
×
4pu执行运动补偿。在atmvp模式下,cu可被划分为一个或多个8
×
8pu以用于预测。针对每个8
×
8pu导出运动矢量并且可相应地对8
×
8pu执行运动补偿。在三角形预测模式下,cu可被划分为两个三角形形状预测单元。针对每个pu导出运动矢量并且相应地执行运动补偿。对于帧间预测,支持三角形预测模式。下面阐述三角形预测模式的更多细节。
[0085]
三角形预测模式(或三角形分割模式)
[0086]
图6是示出根据本公开的一些实施方式的将cu划分为三角形预测单元的示意图。
[0087]
三角形预测模式的概念是针对运动补偿预测引入三角形分区。三角形预测模式也可被命名为三角形预测单元模式或三角形分割模式。如图6所示,cu 602或604在对角线或反对角线方向上(即,如在cu 602中示出的从左上角到右下角的划分或如在cu 604中示出的从右上角到左下角的划分)被划分为两个三角形预测单元pu1和pu2。cu中的每个三角形预测单元使用其自己的从单向预测候选列表导出的单向预测运动矢量和参考帧索引进行帧间预测。在预测三角形预测单元之后,对对角线边缘执行自适应加权过程。然后,将变换和量化过程应用于整个cu。注意,该模式仅被应用于当前vvc中的跳过模式和合并模式。尽管在图6中,cu被示出为正方形块,但是三角形预测模式也可被应用于非正方形(即,矩形)形状cu。
[0088]
单向预测候选列表可包括一或更多个候选,并且每个候选可以是运动矢量。因此,贯穿本公开,术语“单向预测候选列表”、“单向预测运动矢量候选列表”和“单向预测合并列表”可互换使用;并且术语“单向预测合并候选”和“单向预测运动矢量”也可互换使用。
[0089]
单向预测运动矢量候选列表
[0090]
图7是示出根据本公开的一些实施方式的邻近块的位置的示意图。
[0091]
在一些示例中,单向预测运动矢量候选列表可包括两个到五个单向预测运动矢量候选。在一些其他示例中,有可能是其他数量。它是从邻近块导出的。如图7中所示,单向预测运动矢量候选列表是从包括五个空间邻近块(1到5)和两个时间同位块(6到7)的七个邻近块导出的。将七个邻近块的运动矢量收集到第一合并列表中。然后,根据特定顺序基于第一合并列表运动矢量来形成单向预测候选列表。基于所述顺序,首先在单向预测运动矢量候选列表中放入来自第一合并列表的单向预测运动矢量,接着是双向预测运动矢量的参考
图片列表0或l0运动矢量,然后是双向预测运动矢量的参考图片列表1或l1运动矢量,再接着是双向预测运动矢量的l0和l1运动矢量的平均运动矢量。此时,如果候选的数量仍然小于目标数量(其在当前vvc中为5),则将零运动矢量添加到列表以满足目标数量。
[0092]
针对每个三角形pu基于其运动矢量导出预测因子。值得注意的是,所导出的预测因子覆盖比实际三角形pu更大的区域,使得沿两个三角形pu的共享对角线边缘存在两个预测因子的重叠区域。将加权过程应用于两个预测因子之间的对角线边缘区域,以导出cu的最终预测。当前用于亮度样点和色度样点的加权因子分别是{7/8,6/8,5/8,4/8,3/8,2/8,1/8}和{6/8,4/8,2/8}。
[0093]
三角形预测模式语义和信令
[0094]
这里,使用三角形预测标志用信号发送三角形预测模式。当在跳过模式或合并模式下对cu进行编解码时,用信号发送三角形预测标志。对于给定的cu,如果三角形预测标志的值为1,则它表示使用三角形预测模式对相应cu进行编解码。否则,使用除三角形预测模式之外的预测模式对cu进行编解码。
[0095]
例如,在跳过模式或合并模式下有条件地用信号发送三角形预测标志。首先,在序列参数集(或sps)中用信号发送三角形预测工具启用/停用标志。仅当此三角形预测工具启用/停用标志为真时,才在cu级用信号发送三角形预测标志。第二,仅在b条带中允许三角形预测工具。因此,仅在b条带中,在cu级用信号发送三角形预测标志。第三,仅针对尺寸等于或大于特定阈值的cu用信号发送三角形预测模式。如果cu的尺寸小于阈值,则不用信号发送三角形预测标志。第四,仅当cu不是在包括仿射模式和atmvp模式两者的子块合并模式下被编解码,才对该cu用信号发送三角形预测标志。在上面列出的四种情况下,当未用信号发送三角形预测标志时,在解码器侧将三角形预测标志推断为0。
[0096]
当用信号发送三角形预测标志时,使用上下文自适应二进制算术编解码(cabac)熵编解码器利用特定上下文用信号发送三角形预测标志。基于当前cu的顶部块和左侧块的三角形预测标志值形成上下文。
[0097]
为了对当前块(或当前cu)的三角形预测标志进行编解码(即,编码器或解码),导出来自顶部块(或cu)和左侧块(或cu)两者的三角形预测标志,并且将它们的值求和。这生成与以下情况对应的三种可能的上下文:
[0098]
1)左侧块和顶部块都具有三角形预测标志0;
[0099]
2)左侧块和顶部块都具有三角形预测标志1;
[0100]
3)其他。
[0101]
针对三种上下文中的每一种保持单独的概率。一旦针对当前块确定了上下文值,就使用与此上下文值相应的cabac概率模型对当前块的三角形预测标志进行编解码。
[0102]
如果三角形预测标志为真,则用信号发送三角形分割方向标志以指示分割方向是从左上角到右下角还是从右上角到左下角。
[0103]
然后,用信号发送两个合并索引值以指示分别用于三角形预测的第一单向预测合并候选的合并索引值和第二单向预测合并候选的合并索引值。这两个合并索引值用于分别针对第一分区和第二分区从上述单向预测运动矢量候选列表中定位两个合并候选。对于三角形预测,需要两个合并索引值不同,使得两个三角形分区的两个预测因子可彼此不同。因此,直接用信号发送第一合并索引值。为了用信号发送第二合并索引值,如果第二合并索引
值小于第一合并索引值,则直接用信号发送第二合并索引值。否则,在将第二合并索引值用信号发送到解码器之前将第二合并索引值减去1。在解码器侧,第一合并索引被直接解码并使用。为了对第二合并索引值进行解码,首先从cabac引擎对表示为“idx”的值进行解码。如果idx小于第一合并索引值,则第二合并索引值将等于idx的值。否则,第二合并索引值将等于(idx 1)。
[0104]
常规合并模式运动矢量候选列表
[0105]
根据当前vvc,在整个cu被预测而不被划分为多于一个pu的常规合并模式下,使用与用于三角形预测模式的过程不同的过程来构建运动矢量候选列表或合并候选列表。
[0106]
图8是示出根据本公开的一些实施方式的空间合并候选的位置的示意图,如图8所示,首先,基于来自邻近块的运动矢量来选择空间运动矢量候选。在对当前块802的空间合并候选的导出中,在位于如图8中所描绘的位置中的候选中选择最多四个合并候选。导出的顺序是a1→
b1→
b0→
a0→
(b2)。仅当位置a1、b1、b0、a0的任何pu不可用或被帧内编解码时才考虑位置b2。
[0107]
接下来,导出时间合并候选。在时间合并候选的导出中,基于属于给定参考图片列表内的与当前图片具有最小图片顺序计数(poc)差的图片的同位pu来导出经缩放的运动矢量。在条带头中显式地标示将被用于导出同位pu的参考图片列表。图9示出了根据本公开的一些实施方式的时间合并候选的运动矢量缩放,如图9中的虚线所示,获得时间合并候选的经缩放的运动矢量。使用poc距离tb和td从同位pu col_pu的运动矢量对时间合并候选的经缩放的运动矢量进行缩放,其中tb被定义为当前图片curr_pic的参考图片curr_ref与当前图片curr_pic之间的poc差,并且td被定义为同位图片col_pic的参考图片col_ref与同位图片col_pic之间的poc差。时间合并候选的参考图片索引被设置为等于零。在hevc草案规范中描述了缩放过程的实际实现。对于b条带,获得并组合两个运动矢量(针对参考图片列表0的一个以及针对参考图片列表1的另一个)以形成双向预测合并候选。
[0108]
图10是示出根据本公开的一些实施方式的时间合并候选的候选位置的示意图。
[0109]
如图10中所描绘的,在两个候选位置c3和h之间选择同位pu的位置。如果位置h处的pu不可用,或被帧内编解码,或在当前ctu外部,则位置c3用于导出时间合并候选。否则,位置h用于导出时间合并候选。
[0110]
在将空间和时间运动矢量两者插入到如上所述的合并候选列表中之后,添加基于历史的合并候选。所谓的基于历史的合并候选包括来自先前编解码的cu的那些运动矢量,这些运动矢量被维护在单独的运动矢量列表中,并且基于特定规则进行管理。
[0111]
在插入基于历史的候选之后,如果合并候选列表未满,则将成对平均运动矢量候选进一步添加到列表中。如其名称所示,通过对已经在当前列表中的候选进行求平均来构建这种类型的候选。更具体地,基于特定顺序或规则,每次采用合并候选列表中的两个候选,并且将该两个候选的平均运动矢量附加到当前列表。
[0112]
在插入成对平均运动矢量之后,如果合并候选列表仍未满,则将添加零运动矢量以填满列表。
[0113]
使用常规合并列表构建过程来构建用于三角形预测的第一合并列表
[0114]
当前vvc中的三角形预测模式在其形成预测因子的整个过程中与常规合并预测模式共享一些相似性。例如,在两种预测模式下,需要至少基于当前cu的邻近空间运动矢量和
同位运动矢量来构建合并列表。同时,三角形预测模式还具有与常规合并预测模式不同的一些方面。
[0115]
例如,尽管在三角形预测模式和常规合并预测模式下需要构建合并列表,但是获得这样的列表的详细过程不同。
[0116]
这些差异导致编解码器实现的额外成本,这是因为需要额外的逻辑。构建合并列表的过程和逻辑可在三角形预测模式和常规合并预测模式之间被统一和共享。
[0117]
在一些示例中,在形成用于三角形预测模式的单向预测(也称为单预测)合并列表时,在将新运动矢量添加到合并列表中之前,针对已经在列表中的那些运动矢量完全地修剪新运动矢量。换句话说,将新运动矢量与已经在单向预测合并列表中的每个运动矢量进行比较,并且仅当新运动矢量与合并列表中的每个运动矢量不同时才将新运动矢量添加到列表中。否则,不将新运动矢量添加到列表中。
[0118]
根据本公开的一些示例,在三角形预测模式下,可从常规合并模式运动矢量候选列表(可被称为常规合并列表)获得或构建单向预测合并列表。
[0119]
更具体地,为了构建用于三角形预测模式的合并候选列表,首先基于用于常规合并预测的合并列表构建过程来构建第一合并列表。第一合并列表包括多个候选,每个候选是运动矢量。然后,使用第一合并列表中的运动矢量进一步构建或导出用于三角形预测模式的单向预测合并列表。
[0120]
应注意,在这种情况下构建的第一合并列表可选择与一般合并模式或常规合并模式的列表大小不同的列表大小。在本公开的一个示例中,第一合并列表具有与一般合并模式的列表相同的大小。在本公开的另一示例中,所构建的第一合并列表具有与一般合并模式的列表大小不同的列表大小。
[0121]
从第一合并列表构建单向预测合并列表
[0122]
根据本公开的一些示例,可基于以下方法之一从第一合并列表构建或导出用于三角形预测模式的单向预测合并列表。
[0123]
在本公开的示例中,为了构建或导出单向预测合并列表,首先检查第一合并列表中的候选的预测列表0运动矢量并且将其选择到单向预测合并列表中。如果在此过程之后单向预测合并列表未满(例如,此列表中的候选的数量仍小于目标数量),则检查第一合并列表中的候选的预测列表1运动矢量并且将其选择到单向预测合并列表中。如果单向预测合并列表仍然未满,则将预测列表0零矢量添加到单向预测合并列表中。如果单向预测合并列表仍然未满,则将预测列表1零矢量添加到单向预测合并列表中。
[0124]
在本公开的另一示例中,对于第一合并列表中的每个候选,将其预测列表0运动矢量和预测列表1运动矢量以交错方式添加到单向预测合并列表中。更具体地,对于第一合并列表中的每个候选,如果候选是单向预测运动矢量,则将其直接添加到单向预测合并列表中。否则,如果候选是第一合并列表中的双向预测运动矢量,则首先将其预测列表0运动矢量添加到单向预测合并列表中,接着添加其预测列表1运动矢量。一旦检查并添加完第一合并列表中的所有运动矢量候选,而单向预测合并列表依然未满,就可添加单向预测零运动矢量。例如,对于每个参考帧索引,可将预测列表0零运动矢量和预测列表1零运动矢量单独添加到单向预测合并列表中,直到列表填满为止。
[0125]
在本公开的又一示例中,首先将来自第一合并列表的单向预测运动矢量选择到单
向预测合并列表中。如果单向预测合并列表在此过程之后未满,则对于第一合并列表中的每个双向预测运动矢量,首先将其预测列表0运动矢量添加到单向预测合并列表中,接着添加其预测列表1运动矢量。在此过程之后,如果单向预测合并列表依然未满,则可添加单向预测零运动矢量。例如,对于每个参考帧索引,可将预测列表0零运动矢量和预测列表1零运动矢量单独添加到单向预测合并列表中,直到列表填满为止。
[0126]
在以上描述中,当将单向预测运动矢量添加到单向预测合并列表中时,可执行运动矢量修剪过程以确保将被添加的新运动矢量不同于已经在单向预测合并列表中的那些运动矢量。也可按照部分的方式执行这样的运动矢量修剪过程以获得较低复杂度,例如,仅针对已经在单向预测合并列表中的一些而非全部运动矢量检查将被添加的新运动矢量。在极端情况下,在所述过程中不执行运动矢量修剪(即,运动矢量比较操作)。
[0127]
基于图片预测配置从第一合并列表构建单向预测合并列表
[0128]
在本公开的一些示例中,可基于当前图片是否使用后向预测以自适应方式来构建单向预测合并列表。例如,根据当前图片是否使用后向预测,可使用不同的方法来构建单向预测合并列表。如果所有参考图片的图片顺序计数(poc)值不大于当前图片的poc值,则表示当前图片不使用后向预测。
[0129]
在本公开的示例中,在当前图片不使用后向预测时,或在确定当前图片不使用后向预测后,首先检查第一合并列表中的候选的预测列表0运动矢量并且将其选择到单向预测合并列表中,随后是那些候选的预测列表1运动矢量;如果单向预测合并列表仍未满,则可添加单向预测零运动矢量。否则,如果当前图片使用后向预测,则可检查第一合并列表中的每个候选的预测列表0运动矢量和预测列表1运动矢量并且按照如上所述的交错方式将其选择到单向预测合并列表中,即,添加第一合并列表中的第一候选的预测列表0运动矢量,接着添加第一候选的预测列表1运动矢量,然后添加第二候选的预测列表0运动矢量,接着添加第二候选的预测列表1运动矢量,等等。在过程结束时,如果单向预测合并列表仍未满,则可添加单向预测零矢量。
[0130]
在本公开的另一示例中,如果当前图片不使用后向预测,则首先检查第一合并列表中的候选的预测列表1运动矢量并且将其选择到单向预测合并列表中,接着是那些候选的预测列表0运动矢量;如果单向预测合并列表仍未满,则可添加单向预测零运动矢量。否则,如果当前图片使用后向预测,则可检查第一合并列表中的每个候选的预测列表0运动矢量和预测列表1运动矢量并且按照如上所述的交错方式将其选择到单向预测合并列表中,即,添加第一合并列表中的第一候选的预测列表0运动矢量,接着添加第一候选的预测列表1运动矢量,然后添加第二候选的预测列表0运动矢量,接着添加第二候选的预测列表1运动矢量,等等。在过程结束时,如果单向预测合并列表仍未满,则可添加单向预测零矢量。
[0131]
在本公开的又一示例中,如果当前图片不使用后向预测,则仅首先检查第一合并列表中的候选的预测列表0运动矢量并且将其选择到单向预测合并列表中,如果单向预测合并列表仍未满,则可添加单向预测零运动矢量。否则,如果当前图片使用后向预测,则可检查第一合并列表中的每个候选的预测列表0运动矢量和预测列表1运动矢量并且按照如上所述的交错方式将其选择到单向预测合并列表中,即,添加第一合并列表中的第一候选的预测列表0运动矢量,接着添加第一候选的预测列表1运动矢量,然后添加第二候选的预测列表0运动矢量,接着添加第二候选的预测列表1运动矢量,等等。在过程结束时,如果单
向预测合并列表仍未满,则可添加单向预测零矢量。
[0132]
在本公开的又一示例中,如果当前图片不使用后向预测,则仅首先检查第一合并列表中的候选的预测列表1运动矢量并且将其选择到单向预测合并列表中,如果单向预测合并列表仍未满,则可添加单向预测零运动矢量。否则,如果当前图片使用后向预测,则可检查第一合并列表中的每个候选的预测列表0运动矢量和预测列表1运动矢量并且按照如上所述的交错方式将其选择到单向预测合并列表中,即,添加第一合并列表中的第一候选的预测列表0运动矢量,接着添加第一候选的预测列表1运动矢量,然后添加第二候选的预测列表0运动矢量,接着添加第二候选的预测列表1运动矢量,等等。在过程结束时,如果单向预测合并列表仍未满,则可添加单向预测零矢量。
[0133]
在本公开的另一示例中,在当前图片不使用后向预测时,第一合并列表中的候选的预测列表0运动矢量被用作单向预测合并候选,根据与它们在第一合并列表中相同的索引顺序被设置索引。否则,如果当前图片使用后向预测,则第一合并列表中的每个候选的列表0运动矢量和列表1运动矢量被用作单向预测合并候选,基于如上所述的交错方式被设置索引,即,先是第一合并列表中的第一候选的列表0运动矢量,接着是第一候选的列表1运动矢量,然后是第二候选的列表0运动矢量,再接着是第二候选的列表1运动矢量,等等。在第一合并列表中的候选为单向运动矢量的情况下,在单向预测合并列表中在此候选之后对零运动矢量设置索引。这确保对于当前图片使用后向预测的情况,第一合并列表中的每个候选(不管其是双向预测运动矢量还是单向预测运动矢量)可提供两个单向运动矢量作为单向预测合并候选。
[0134]
在本公开的另一示例中,在当前图片不使用后向预测时,第一合并列表中的候选的预测列表0运动矢量被用作单向预测合并候选,根据与它们在第一合并列表中相同的索引顺序被设置索引。否则,如果当前图片使用后向预测,则第一合并列表中的每个候选的列表0运动矢量和列表1运动矢量被用作单向预测合并候选,基于如上所述的交错方式被设置索引,即,先是第一合并列表中的第一候选的列表0运动矢量,接着是第一候选的列表1运动矢量,然后是第二候选的列表0运动矢量,再接着是第二候选的列表1运动矢量,等等。在第一合并列表中的候选为单向运动矢量的情况下,在单向预测合并列表中在此候选之后对相同运动矢量加上特定运动偏移设置索引。
[0135]
在上面的描述中,尽管描述为将运动矢量从第一合并列表选择到单向预测合并列表,但是在实践中,可物理地形成单向预测合并列表或可无需物理地形成单向预测合并列表从而以不同的方式实现所述方法。例如,可直接使用第一合并列表,而无需物理地创建单向预测合并列表。例如,第一合并列表中的每个候选的那些列表0运动矢量和/或列表1运动矢量可基于特定顺序被简单地设置索引并且直接从第一合并列表访问。应当注意,这种索引顺序可遵循上述那些示例中描述的相同选择顺序。这意味着给定利用三角形预测模式编解码的pu的合并索引,其对应的单向预测合并候选可直接从第一合并列表获得,而无需物理地形成单向预测合并列表。
[0136]
在此过程中,当检查将被添加到列表中的新运动矢量时,可完全地或部分地执行修剪。当部分地执行时,这表示将新的运动矢量与已经在单向预测合并列表中的一些运动矢量而不是全部运动矢量进行比较。在极端情况下,在该过程中不执行运动矢量修剪(即,运动矢量比较操作)。
[0137]
在形成单向预测合并列表时,还可基于当前图片是否使用后向预测自适应地执行这样的运动矢量修剪。例如,对于上面描述的本章节中的本公开的所有示例,在当前图片不使用后向预测时,完全地或部分地执行运动矢量修剪操作。在当前图片使用后向预测时,在形成单向预测合并列表时不执行运动矢量修剪操作。
[0138]
在不创建单向预测合并列表的情况下使用第一合并列表进行三角形预测
[0139]
在以上示例中,通过将来自第一合并列表的运动矢量选择到单向预测合并列表中来构建用于三角形预测的单向预测合并列表。然而,在实践中,可按照不同的方式(物理地形成单向预测(或单预测)合并列表或不形成单向预测(或单预测)合并列表)实现方法。在一些示例中,可直接使用第一合并列表而无需物理地创建单向预测合并列表。例如,可基于特定顺序仅对第一合并列表中的每个候选的列表0运动矢量和/或列表1运动矢量设置索引并且直接从第一合并列表对其进行访问。
[0140]
例如,可从解码器或其他电子设备/组件获得第一合并列表。在其它示例中,在基于用于常规合并预测的合并列表构建过程构建包括多个候选(每个候选是一个或更多个运动矢量)的第一合并列表之后,不构建单向预测合并列表,而是使用包括多个参考索引(每个参考索引是对第一合并列表中的候选的运动矢量的参考)的预定义索引列表来导出用于三角形预测模式的单向合并候选。索引列表可被认为是用于三角形预测的单向预测合并列表的表示,并且单向预测合并列表至少包括第一合并列表中与参考索引相应的候选的子集。应注意,索引的顺序可遵循在构建单向预测合并列表的示例中描述的任何选择顺序。实际上,这样的索引列表可按照不同的方式实现。例如,它可显式地实现为列表。在其他示例中,它也可在特定逻辑和/或程序功能中实现或获得,而不显式地形成任何列表。
[0141]
在本公开的一些示例中,可基于当前图片是否使用后向预测按照自适应方式确定索引列表。例如,可根据当前图片是否使用后向预测(即,基于当前图片的图片顺序计数(poc)与参考图片的poc的比较结果)来排列索引列表中的参考索引。如果所有参考图片的图片顺序计数(poc)值不大于当前图片的poc值,则表示当前图片不使用后向预测。
[0142]
在本公开的一个示例中,在当前图片不使用后向预测时,第一合并列表中的候选的预测列表0运动矢量被用作单向预测合并候选,并根据与它们在第一合并列表中相同的索引顺序被设置索引。也就是说,在确定当前图片的poc大于参考图片的poc中的每个poc后,根据第一合并列表中的候选的列表0运动矢量的相同顺序来排列参考索引。否则,如果当前图片使用后向预测,则第一合并列表中的每个候选的列表0运动矢量和列表1运动矢量被用作单向预测合并候选,并基于交错方式被设置索引,即,先是第一合并列表中的第一候选的列表0运动矢量,接着是第一候选的列表1运动矢量,然后是第二候选的列表0运动矢量,接着是第二候选的列表1运动矢量,等等。也就是说,在确定当前图片的poc小于参考图片的poc中的至少一个后,在第一合并列表中的每个候选是双向预测运动矢量的情况下,根据第一合并列表中的每个候选的列表0运动矢量和列表1运动矢量的交错方式来排列参考索引。在第一合并列表中的候选是单向运动矢量的情况下,将零运动矢量设置索引为在该候选的运动矢量之后的单向预测合并候选。这确保对于当前图片使用后向预测的情况,第一合并列表中的每个候选(不管其是双向预测运动矢量还是单向预测运动矢量)提供两个单向运动矢量作为单向预测合并候选。
[0143]
在本公开的另一示例中,在当前图片不使用后向预测时,第一合并列表中的候选
的预测列表0运动矢量被用作单向预测合并候选,并根据与它们在第一合并列表中相同的索引顺序被设置索引。否则,如果当前图片使用后向预测,则第一合并列表中的每个候选的列表0运动矢量和列表1运动矢量被用作单向预测合并候选,并基于如上所述的交错方式被设置索引,即,先是第一合并列表中的第一候选的列表0运动矢量,接着是第一候选的列表1运动矢量,然后是第二候选的列表0运动矢量,接着是第二候选的列表1运动矢量,等等。在第一合并列表中的候选是单向运动矢量的情况下,将运动矢量加上特定运动偏移设置索引为在该候选的运动矢量之后的单向预测合并候选。
[0144]
因此,在第一合并列表中的候选是单向运动矢量的情况下,在确定当前图片的poc小于参考图片的poc中的至少一个后,根据以下的交错方式来排列参考索引:第一合并列表中的每个候选的运动矢量、零运动矢量、或运动矢量加上偏移。
[0145]
在以上过程中,当检查将被添加到单向预测合并列表中的新运动矢量时,可完全地或部分地执行修剪。当部分地执行时,这表示将新运动矢量与已经在单向预测合并列表中的一些运动矢量而非全部运动矢量进行比较。在极端情况下,在过程中不执行运动矢量修剪(即,运动矢量比较操作)。
[0146]
在形成单向预测合并列表时,还可基于当前图片是否使用后向预测自适应地执行运动矢量修剪。例如,本公开的对于与基于图片预测配置的索引列表确定相关的示例,在当前图片不使用后向预测时,完全地或部分地执行运动矢量修剪操作。在当前图片使用后向预测时,不执行运动矢量修剪操作。
[0147]
选择用于三角形预测模式的单向预测合并候选
[0148]
除了上述示例之外,还公开了单向预测合并列表构建或单向预测合并候选选择的其他方式。
[0149]
在本公开的一个示例中,一旦构建了用于常规合并模式的第一合并列表,就可根据以下规则选择单向预测合并候选用于三角形预测:
[0150]
对于第一合并列表中的运动矢量候选,其列表0运动矢量或列表1运动矢量中的一个且仅一个用于三角形预测;
[0151]
对于第一合并列表中的给定运动矢量候选,如果该运动矢量候选在列表中的合并索引值为偶数,则其列表0运动矢量在可用的情况下用于三角形预测,并且在此运动矢量候选不具有列表1运动矢量的情况下,其列表0运动矢量用于三角形预测;以及
[0152]
对于第一合并列表中的给定运动矢量候选,如果该运动矢量候选在列表中的合并索引值为奇数,则其列表1运动矢量在可用的情况下用于三角形预测,并且在此运动矢量候选不具有列表1运动矢量的情况下,其列表0运动矢量用于三角形预测。
[0153]
图11a示出用于三角形预测模式的单向预测运动矢量(mv)选择(或单向预测合并候选选择)的示例。在示例中,在第一合并列表中导出的前5个合并mv候选被从0到4设置索引;并且每一行具有两列,分别表示第一合并列表中的候选的列表0运动矢量和列表1运动矢量。列表中的每个候选可被单向预测或双向预测。对于单向预测候选,其仅具有列表0运动矢量或列表1运动矢量,而不是具有两者。对于双向预测候选,其具有列表0运动矢量和列表1运动矢量两者。在图11a中,对于每个合并索引,标记有“x”的运动矢量是在它们可用的情况下首先用于三角形预测的那些运动矢量。如果标记为“x”的运动矢量不可用,则与相同合并索引相应的未被标记的运动矢量将用于三角形预测。换句话说,根据此方法,给定在三
角形预测模式下编解码的pu的合并索引值,该索引值可被直接用于定位第一合并列表中的合并候选;然后,取决于该索引值的奇偶性(即,如果索引值为偶数或奇数),基于上述规则针对pu选择第一合并列表中定位出的合并候选的列表0运动矢量或列表1运动矢量。在该过程中不需要物理地形成单向预测合并列表。
[0154]
上述概念可被扩展到其他示例。图11b示出用于三角形预测模式的单向预测运动矢量(mv)选择的另一示例。根据图11b,用于选择用于三角形预测的单向预测合并候选的规则如下:
[0155]
对于第一合并列表中的运动矢量候选,其列表0运动矢量或列表1运动矢量中的一个且仅一个用于三角形预测;
[0156]
对于第一合并列表中的给定运动矢量候选,如果该运动矢量候选在列表中的合并索引值为偶数,则其列表1运动矢量在可用的情况下用于三角形预测,并且在此运动矢量候选不具有列表1运动矢量的情况下,其列表0运动矢量用于三角形预测;以及
[0157]
对于第一合并列表中的给定运动矢量候选,如果该运动矢量候选在列表中的合并索引值为奇数,则其列表0运动矢量在可用的情况下用于三角形预测,并且在这个运动矢量候选不具有列表0运动矢量的情况下,其列表1运动矢量用于三角形预测。
[0158]
在一些示例中,其它不同顺序可被定义并且用于从第一合并列表中的那些运动矢量候选中选择用于三角形预测的单向预测合并候选。更具体地,对于第一合并列表中的给定运动矢量候选,当该运动矢量候选可用于三角形预测时首先使用其列表0运动矢量还是列表1运动矢量的决策不必如上所述取决于第一合并列表中的候选的索引值的奇偶性。例如,还可使用以下规则:
[0159]
对于第一合并列表中的运动矢量候选,其列表0运动矢量或列表1运动矢量中的一个且仅一个用于三角形预测;
[0160]
基于某个预定义模式,对于第一合并列表中的若干运动矢量候选,其列表0运动矢量在可用的情况下用于三角形预测,并且在不存在列表0运动矢量的情况下,相应的列表1运动矢量用于三角形预测;以及
[0161]
基于相同的预定义模式,对于第一合并列表中的其余运动矢量候选,其列表1运动矢量在可用的情况下用于三角形预测,并且在不存在列表1运动矢量的情况下,相应的列表0运动矢量用于三角形预测。
[0162]
图12a至图12d示出在用于三角形预测模式的单向预测运动矢量(mv)选择中的预定义模式的一些示例。对于每个合并索引,标记有“x”的运动矢量是在它们可用的情况下首先用于三角形预测的那些运动矢量。如果标记为“x”的运动矢量不可用,则与相同合并索引相应的未被标记的运动矢量将用于三角形预测。
[0163]
在图12a中,对于第一合并列表中的前三个运动矢量候选,首先检查它们的列表0运动矢量。仅当列表0运动矢量不可用时,相应的列表1运动矢量用于三角形预测。对于第一合并列表中的第四运动矢量候选和第五运动矢量候选,首先检查它们的列表1运动矢量。仅当列表1运动矢量不可用时,相应的列表0运动矢量用于三角形预测。图12b至图12d示出从第一合并列表中选择单向预测合并候选的三种其他模式。附图中所示的示例不是限制性的,并且存在另外的示例。例如,也可使用图12a至图12d中所示的那些模式的水平和/或垂直镜像版本。
[0164]
可直接从第一合并列表对选择的单向预测合并候选设置索引和访问;或者可将这些选择的单向预测合并候选放入用于三角形预测的单向预测合并列表。导出的单向预测合并列表包括多个单向预测合并候选,并且每个单向预测合并候选包括第一合并列表中的相应候选的一个运动矢量。根据本公开的一些示例,第一合并列表中的每个候选包括列表0运动矢量和列表1运动矢量中的至少一个,并且每个单向预测合并候选可以是第一合并列表中的相应候选的列表0运动矢量和列表1运动矢量中的一个运动矢量。每个单向预测合并候选与整数值的合并索引相关联;并且基于针对单向预测合并候选的预设规则来选择列表0运动矢量和列表1运动矢量。
[0165]
在一个示例中,对于具有偶数合并索引值的每个单向预测合并候选,选择第一合并列表中具有相同合并索引的相应候选的列表0运动矢量作为单向预测合并候选;并且对于具有奇数合并索引值的每个单向预测合并候选,选择第一合并列表中具有相同合并索引的相应候选的列表1运动矢量。在另一示例中,对于具有偶数合并索引值的每个单向预测合并候选,选择第一合并列表中具有相同合并索引的相应候选的列表1运动矢量;并且对于具有奇数合并索引值的每个单向预测合并候选,选择第一合并列表中具有相同合并索引的相应候选的列表0运动矢量。
[0166]
在又一示例中,对于每个单向预测合并候选,在确定第一合并列表中的相应候选的列表1运动矢量可用的情况下,选择列表1运动矢量作为单向预测合并候选;并且在确定列表1运动矢量不可用的情况下,选择第一合并列表中的相应候选的列表0运动矢量。
[0167]
在又一示例中,对于具有在第一范围内的合并索引值的每个单向预测合并候选,选择第一合并列表中的相应候选的列表0运动矢量作为单向预测合并候选;并且对于具有在第二范围内的合并索引值的每个单向预测合并候选,选择第一合并列表中的相应候选的列表1运动矢量。
[0168]
直接从用于三角形预测模式的第一合并列表选择单向预测合并候选
[0169]
图13展示了本公开的另一示例。一旦构建了用于常规合并模式的第一合并列表,就直接从该列表选择单向预测运动矢量用于三角形预测。为了指示用于三角形预测的特定列表0运动矢量或列表1运动矢量,首先用信号发送索引值以指示从第一合并列表选择哪个候选。然后,用信号发送在以下描述中被称为l0l1_flag的二进制参考列表指示标志,以指示选择从第一合并列表选择的候选的列表0运动矢量还是该候选的列表1运动矢量用于三角形预测的第一分区。相同的信令方法被用于指示第二列表0运动矢量或第二列表1运动矢量用于三角形预测的第二分区。例如,针对三角形模式编解码的cu用信号发送的语义可包括index1、l0l1_flag1、index2、l0l1_flag2。这里,index1和index2分别是用于第一分区和第二分区的从第一合并列表选择的两个候选的合并索引值。l0l1_flag1为第一分区的二进制标志,以指示是选择从第一合并列表中基于index1选择的候选的列表0运动矢量还是选择该候选的列表1运动矢量。l0l1_flag2为第二分区的二进制标志,以指示是选择从第一合并列表中基于index2选择的候选的列表0运动矢量还是选择该候选的列表1运动矢量。值得一提的是,可在本公开的方法中使用上述语义的不同信令顺序。在一个示例中,信令顺序可遵循index1

l0l1_flag1

index2

l0l1_flag2;在另一示例中,信令顺序可遵循index1

index2

l0l1_flag1

l0l1_flag2;等等。因此,在本公开的方法中,用信号发送的语义的描述顺序不应基于所述方法被解释为那些语义的唯一信令顺序;替代地,也可使用那些
语义的其它不同的信令顺序,其应理解为也涵盖于本公开的方法中。
[0170]
在上述信令方法中,在三角形预测模式下,可将如图13中的矩形框中的符号“x”所指示的每个列表0运动矢量和/或列表1运动矢量指示给/用信号发送到解码器以用于导出第一分区的预测,并且还可将图13中的矩形框中的符号“x”所指示的每个列表0运动矢量和/或列表1运动矢量指示给/用信号发送到解码器以用于导出第二分区的预测。因此,从第一合并列表选择单向预测运动矢量变得非常灵活。给定大小为n个候选的第一合并列表,多达2n个单向预测运动矢量可被用于两个三角形分区中的每一个。三角形预测模式下的两个分区的两个合并索引值不必彼此不同。换句话说,它们可取相同的值。直接用信号发送索引值而无需在用信号发送之前进行调整。更具体地,与当前在vvc中所定义的不同,将第二索引值直接用信号发送到解码器,而无需在用信号发送之前对第二索引值执行任何调整。
[0171]
在本公开的另一示例中,当两个索引值相同时,不必用信号发送第二分区的二进制标志l0l1_flag2。替代地,二进制标志l0l1_flag2被推断为具有相对于第一分区的二进制标志l0l1_flag1的相反值。换句话说,在这种情况下,l0l1_flag2可取值(1-l0l1_flag1)。
[0172]
在本公开的另一示例中,l0l1_flag1和l0l1_flag2可被编解码为cabac上下文二进制位。用于l0l1_flag1的上下文可与用于l0l1_flag2的上下文分开。每个上下文下的cabac概率可在视频序列的开始处和/或在图片的开始处和/或在并行块组的开始处被初始化。
[0173]
在本公开的另一示例中,当由合并索引值和相关联l0l1_flag指示的运动矢量不存在时,可替代地使用单向预测零运动矢量。
[0174]
在本公开的另一示例中,当由合并索引值和相关联l0l1_flag指示的运动矢量不存在时,可替代地使用由相同合并索引值指示但来自另一列表(即,列表(1-l0l1_flag))的相应运动矢量。
[0175]
在本公开的另一示例中,对于三角模式编解码的cu,与第二索引(即,index2)相关联的第二l0l1_flag(即,l0l1_flag2)不用信号发送而是被始终推断出。在这种情况下,仍然需要用信号发送index1、l0l1_flag1和index2语义。在一种方法中,l0l1_flag2的推断基于l0l1_flag1的值以及当前图片是否使用后向预测。更具体地,对于三角模式编码的cu,如果当前图片使用后向预测,则将l0l1_flag2的值推断为l0l1_flag1的相反二进制值(即1-l0l1_flag1);如果当前图像不使用后向预测,则将l0l1_flag2的值推断为与l0l1_flag1相同。另外,如果当前图片不使用后向预测,则可进一步强制index2的值不同于index1的值,这是因为两个运动矢量(每个三角形分区使用一个运动矢量)都来自相同预测列表。如果index2的值等于index1的值,则这表示相同的运动矢量将用于两个三角形分区,这从编解码效率的角度来看是无用的。在这种情况下,在用信号发送index2的值时,可在索引二值化之前执行对index2的值的相应调整,这与当前vvc设计中用信号发送index2相同。例如,在index1的实际值小于index2的实际值的情况下,使用与(index2-1)相应的cabac二值化码字来用信号发送index2的值;否则,使用与index2相应的cabac二值化码字来用信号发送index2的值。相应地,在解码器端,如果用信号发送的index2值小于用信号发送的index1值,则将index2的实际值设置为等于用信号发送的index2值;否则,将index2的实际值调整为等于用信号发送的index2值加一。值得一提的是,基于本公开的此新示例,可选地,将
index2强制为与index1具有不同的值以及相同的用于cabac二值化的index2值调整也可应用于当前图片使用后向预测时的情况。
[0176]
在本公开的另一示例中,对于三角形模式编解码的cu,无l0l1_flag被用信号发送。相反,它们都被推断出来。在这种情况下,仍然需要用信号发送index1语义和index2语义,其中index1语义和index2语义表示分别用于第一分区和第二分区的从第一合并列表选择的两个候选的合并索引值。给定合并候选索引值,可在确定选择来自第一列表的相应合并候选的列表0运动矢量还是列表1运动矢量用于三角形模式预测时定义特定方法。在一种方法中,对于index1,图11a中所展示的模式被用于确定从哪个预测列表选择合并候选的运动矢量用于三角形模式预测;并且对于index2,图11b中所展示的模式被用于确定从哪个预测列表选择合并候选的运动矢量用于三角形模式预测。换句话说,如果index1是偶数值,则选择列表0运动矢量,并且如果index1是奇数值,则选择列表1运动矢量。对于index2,如果index2为偶数值,则选择列表1运动矢量,并且如果index2为奇数值,则选择列表0运动矢量。在与特定预测列表相应的运动矢量不存在的情况下,可替代地使用一些默认运动矢量,例如零运动矢量,或来自另一预测列表的相应候选的运动矢量等。值得一提的是,在确定从哪个预测列表选择合并候选的运动矢量用于三角形模式预测时,本公开还涵盖图11a中所展示的模式用于index2并且图11b中所展示的模式用于index1的情况。
[0177]
在以上过程中,尽管在本公开中的所有示例中使用含有5个合并候选的第一合并列表进行说明,但实际上,可不同地定义第一合并列表的大小,例如6或4或一些其它值。本公开中描述的所有方法同样适用于当第一合并列表具有除5之外的大小时的情况。
[0178]
在上述过程中,也可执行运动矢量修剪。可完全地或部分地完成这种修剪。当部分地执行时,这表示将新运动矢量与已经在单向预测合并列表中的一些运动矢量而非全部运动矢量进行比较。这还可表示在用作三角形预测的合并候选之前,仅需要检查一些而非全部新运动矢量进行修剪。一个特定示例是在将第二运动矢量用作三角形预测的合并候选之前,仅针对第一运动矢量检查第二运动矢量来进行修剪,而非检查所有其它运动矢量来进行修剪。在极端情况下,在该过程中不执行运动矢量修剪(即,运动矢量比较操作)。
[0179]
尽管针对三角形预测模式描述了本公开中的形成单向预测合并列表的方法,但这些方法适用于类似种类的其它预测模式。例如,在cu沿着非完全对角线的线被分割为两个pu的更一般的几何分割预测模式下,两个pu可具有诸如三角形、楔形或梯形形状的几何形状。在此类情况下,按照与三角形预测模式中类似的方式形成每个pu的预测,本文中所描述的方法同样适用。
[0180]
图14是示出根据本公开的一些实施方式的用于视频编解码的装置的框图。装置1400可以是终端,诸如移动电话、平板计算机、数字广播终端、平板设备或个人数字助理。
[0181]
如图14所示,装置1400可包括以下组件中的一个或更多个:处理组件1402、存储器1404、电源组件1406、多媒体组件1408、音频组件1410、输入/输出(i/o)接口1412、传感器组件1414和通信组件1416。
[0182]
处理组件1402通常控制装置1400的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作有关的操作。处理组件1402可包括用于执行指令以完成上述方法的全部或部分步骤的一个或多个处理器1420。此外,处理组件1402可包括用于促进处理组件1402与其他组件之间的交互的一个或多个模块。例如,处理组件1402可包括用于促进多媒
体组件1408与处理组件1402之间的交互的多媒体模块。
[0183]
存储器1404被配置为存储不同类型的数据以支持装置1400的操作。此类数据的示例包括用于在装置1400上操作的任何应用或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1404可由任何类型的易失性或非易失性存储设备或其组合来实现,并且存储器1404可以是静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、闪存、磁盘或光盘。
[0184]
电源组件1406为装置1400的不同组件供电。电源组件1406可包括电源管理系统、一个或更多个电源以及与为装置1400生成、管理和分配电力相关联的其他组件。
[0185]
多媒体组件1408包括在装置1400和用户之间提供输出接口的屏幕。在一些示例中,屏幕可包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,则屏幕可被实现为从用户接收输入信号的触摸屏。触摸面板可包括用于感测触摸面板上的触摸、滑动和手势的一个或更多个触摸传感器。触摸传感器不仅可感测触摸或滑动动作的边界,而且可检测与触摸或滑动操作相关的持续时间和压力。在一些示例中,多媒体组件1408可包括前置相机和/或后置相机。当装置1400处于诸如拍摄模式或视频模式的操作模式时,前置相机和/或后置相机可接收外部多媒体数据。
[0186]
音频组件1410被配置为输出和/或输入音频信号。例如,音频组件1410包括麦克风(mic)。当装置1400处于操作模式(诸如呼叫模式、录音模式和语音识别模式)时,麦克风被配置为接收外部音频信号。接收的音频信号可进一步被存储在存储器1404中或经由通信组件1416被发送。在一些示例中,音频组件1410还包括用于输出音频信号的扬声器。
[0187]
i/o接口1412提供处理组件1402与外围接口模块之间的接口。上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可包括但不限于主页按钮、音量按钮、启动按钮和锁定按钮。
[0188]
传感器组件1414包括用于在装置1400的不同方面中提供状态评估的一个或更多个传感器。例如,传感器组件1414可检测装置1400的开/关状态和组件的相对位置。例如,组件是装置1400的显示器和键盘。传感器组件1414还可检测装置1400或装置1400的组件的位置变化、用户在装置1400上接触的存在或离开、装置1400的方向或加速度/减速度、以及装置1400的温度变化。传感器组件1414可包括被配置为在没有任何物理触摸的情况下检测附近物体的存在的接近传感器。传感器部件1314还可包括光学传感器,诸如在成像应用中使用的cmos或ccd图像传感器。在一些示例中,传感器组件1414还可包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
[0189]
通信组件1416被配置为促进装置1400与其它设备之间的有线或无线通信。装置1400可基于诸如wifi、4g或其组合的通信标准来接入无线网络。在示例中,通信组件1416经由广播信道从外部广播管理系统接收广播信号或广播相关信息。在示例中,通信组件1416还可包括用于促进短距离通信的近场通信(nfc)模块。例如,nfc模块可基于射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实现。
[0190]
在示例中,装置1400可由专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微
处理器或其他电子元件中的一个或更多个来实现,以执行上述方法。
[0191]
非暂时性计算机可读存储介质可以是例如硬盘驱动器(hdd)、固态驱动器(ssd)、闪存、混合驱动器或固态混合驱动器(sshd)、只读存储器(rom)、光盘只读存储器(cd-rom)、磁带、软盘等。
[0192]
图15是示出根据本公开的一些实施方式的用于使用几何预测单元的运动补偿预测的视频编解码的示例性过程的流程图。
[0193]
在步骤1501,处理器1420将视频图片分割为多个编码单元(cu),其中多个cu中的至少一个cu被进一步分割为两个预测单元(pu)。两个pu可包括至少一个几何形状的pu。例如,几何形状的pu可包括一对三角形形状pu、一对楔形形状pu或其它几何形状的pu。
[0194]
在步骤1502,处理器1420构建包括多个候选的第一合并列表,其中每个候选包括一个或更多个运动矢量、列表0运动矢量或列表1运动矢量。例如,处理器1420可基于用于常规合并预测的合并列表构建过程来构建第一合并列表。处理器1420也可从其他电子设备或存储器获得第一合并列表。
[0195]
在步骤1503,处理器1420用信号发送第一索引值,第一索引值用于指示从第一合并列表选择的第一候选。
[0196]
在步骤1504,处理器1420用信号发送第二索引值,第二索引值用于指示从第一合并列表选择的第二候选。
[0197]
在步骤1505,处理器1420用信号发送第一二进制标志,第一二进制标志用于指示选择第一候选的列表0运动矢量还是第一候选的列表1运动矢量用于几何预测的第一pu。
[0198]
在步骤1505,处理器1420基于第一二进制标志并且基于当前图片是否使用后向预测来推断第二二进制标志是指示选择第二候选的列表0运动矢量还是第二候选的列表1运动矢量用于几何预测的第二pu。
[0199]
在一些示例中,提供一种用于视频编解码的装置。该装置包括处理器1420;以及存储器1404,被配置为存储可由处理器执行的指令;其中处理器在执行指令时被配置为执行如图15所示的方法。
[0200]
在一些其他示例中,提供了一种非暂时性计算机可读存储介质1404,其具有存储在其中的指令。当指令由处理器1420执行时,指令使处理器执行如图15所示的方法。
[0201]
本公开的描述已经出于说明的目的被呈现,并且不旨在穷举或限于本公开。受益于在前面的描述和相关联的附图中呈现的教导,许多修改、变化和替代实施方式对于本领域普通技术人员将是显而易见的。
[0202]
选择和描述示例是为了解释本公开的原理,并且使本领域的其它技术人员能够理解本公开的各种实施方式,并且最好地利用基本原理和具有适合于预期的特定用途的各种修改的各种实施方式。因此,将理解,本公开的范围不限于所公开的实施方式的具体示例,并且修改和其它实施方式旨在被包括在本公开的范围内。
再多了解一些

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

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

相关文献