用于对视频信号进行编码/解码的方法及其设备

文档序号:174661 发布日期:2021-10-29 浏览:28次 >En<

阅读说明:本技术 用于对视频信号进行编码/解码的方法及其设备 (Method for encoding/decoding video signal and apparatus therefor ) 是由 李培根 全东山 于 2020-03-11 设计创作,主要内容包括:根据本发明的图像解码方法可包括:确定编码块的划分类型;基于确定的所述划分类型,将所述编码块划分为第一预测单位和第二预测单位;推导第一预测单元和第二预测单元中的每一个的移动信息;并且基于推导出的所述移动信息,获取针对第一预测单元和第二预测单元的预测样点。(The image decoding method according to the present invention may include: determining the division type of the coding block; dividing the coding block into a first prediction unit and a second prediction unit based on the determined division type; deriving movement information for each of the first prediction unit and the second prediction unit; and obtaining prediction samples for the first prediction unit and the second prediction unit based on the derived movement information.)

用于对视频信号进行编码/解码的方法及其设备

技术领域

本公开涉及一种视频信号编码/解码方法及其装置。

背景技术

随着显示面板变大,需要更高质量的视频服务。高清视频服务最大的问题是数据量大大增加。为了解决以上问题,正在积极进行提高视频压缩率的研究。作为代表性示例,视频编码联合工作组(JCT-VC)于2009年由国际电信联盟电信标准分局(ITU-T)下的运动图像专家组(MPEG)和视频编码专家组(VCEG)成立。JCT-VC提出了一种视频压缩标准:高效视频编码(HEVC),其压缩性能大约是H.264/AVC的两倍,并且于2013年1月25日作为标准获得批准。然而,随着高清视频服务的飞速发展,HEVC的性能逐渐显示出其局限性。

发明内容

技术目的

本公开的目的在于提供一种将编码块分区为多个预测单元的方法以及一种用于在对视频信号进行编码/解码时执行所述方法的装置。

本公开的目的在于提供一种推导多个预测单元中的每一个的运动信息的方法和用于在对视频信号进行编码/解码时执行所述方法的装置。

本发明的目的在于提供一种从具有双向运动信息的合并候选提取单向运动信息的方法和一种用于在对视频信号进行编码/解码时执行所述方法的装置。

本公开的目的在于提供一种通过组合多个预测方法来执行预测的方法和一种用于在对视频信号进行编码/解码时执行所述方法的装置。

可从本公开获得的技术目的不限于上述技术目的,并且本公开所属技术领域的普通技术人员可从以下描述中清楚地理解其他未提及的技术目的。

解决问题的方法

根据本公开的视频信号解码方法可包括:确定编码块的分区类型,基于确定的所述分区类型将所述编码块分区为第一预测单元和第二预测单元,推导第一预测单元和第二预测单元中的每一个的运动信息,并且基于推导出的所述运动信息获得针对第一预测单元和第二预测单元的预测样点。在这种情况下,第一预测单元的运动信息可以是从由在比特流中用信号传送的第一合并索引指定的第一合并候选被推导出的,以及第二预测单元的运动信息可以是从由在所述比特流中用信号传送的第二合并索引指定的第二合并候选被推导出的。

根据本公开的视频信号编码方法可包括:确定编码块的分区类型,基于确定的所述分区类型将所述编码块分区为第一预测单元和第二预测单元,推导第一预测单元和第二预测单元中的每一个的运动信息,并且基于推导出的所述运动信息获得针对第一预测单元和第二预测单元的预测样点。在这种情况下,可分别对第一合并索引和第二合并索引进行编码,其中,第一合并索引用于指定用于推导第一预测单元的运动信息的第一合并候选,以及第二合并索引用于指定用于推导第二预测单元的运动信息的第二合并候选。

在根据本公开的视频信号编码/解码方法中,当第二合并索引与第一合并索引相同或者大于第一合并索引时,第二合并候选的索引可具有将第二合并索引加1得到的值。

在根据本公开的视频信号编码/解码方法中,当第二合并索引小于第一合并索引时,第二合并候选的索引可具有由第二合并索引指示的值。

在根据本公开的视频信号编码/解码方法中,当第一合并候选具有双向运动信息时,可将第一合并候选的L0运动信息或L1运动信息中的一个推导为第一预测单元的运动信息。

在根据本公开的视频信号编码/解码方法中,可基于第一合并候选的索引是偶数还是奇数来确定将所述L0运动信息还是所述L1运动信息用作第一预测单元的运动信息。

在根据本公开的视频信号编码/解码方法中,可由指定多个分区类型候选中的一个的索引信息来确定所述分区类型,并且所述多个分区类型候选可包括第一预测单元的尺寸与第二预测单元的尺寸相同的对称分区类型以及第一预测单元的尺寸与第二预测单元的尺寸不同的非对称分区类型。

在根据本公开的视频信号编码/解码方法中,当非对称分区类型被选择时,通过起点或终点中的任何一个经过所述编码块的角并且起点或终点中的另一个不经过所述编码块的角的分区线对所述编码块进行分区。

应当理解的是,前述概述的特征是本公开的以下详细描述的示例性方面,而不限制本公开的范围。

本发明的效果

根据本公开,可通过将编码块分区为多个预测单元来改进帧间预测效率。

根据本公开,可通过使用不同的合并候选推导多个预测单元中的每一个的运动信息来改进帧间预测效率。

根据本公开,可通过从具有双向运动信息的合并候选提取单向运动信息来改进帧间预测效率。

根据本公开,可通过组合多种预测方法来提高预测效率。

可从本公开获得的效果可以不受上述效果的限制,并且本公开所属技术领域的普通技术人员可从以下描述中清楚地理解其他未提及的效果。

附图说明

图1是示出根据本公开的实施例的视频编码装置(编码器)的框图的示图。

图2是示出根据本公开的实施例的视频解码装置(解码器)的框图的示图。

图3是示出根据本公开的实施例的基本编码树单元的示图。

图4是示出编码块的各种分区类型的示图。

图5是示出对CTU进行分区的一方面的示例的示图。

图6是示出数据基本单元的形状的示图。

图7和图8是示出将编码块分区为多个子块(Subblock)的示例的示图。

图9是根据本公开的实施例的帧间预测方法的流程图。

图10是示出对象的非线性运动的示图。

图11是根据本公开的实施例的基于仿射运动的帧间预测方法的流程图。

图12是示出针对每个仿射运动模型的仿射种子矢量的示图。

图13是示出4参数运动模型下的子块的仿射矢量的示图。

图14是在合并模式下推导当前块运动信息的处理的流程图。

图15是示出用于推导合并候选的候选块的示图;

图16是用于解释运动信息表的更新方面的示图;

图17是示出运动信息表的更新方面的示图;

图18是示出更新预保存的运动信息候选的索引的示例的示图;

图19是示出代表性子块的位置的示图;

图20示出针对每个帧间预测模式产生运动信息表的示例;

图21是示出将包括在长期运动信息表中的运动信息候选添加到合并候选列表的示例的示图。

图22是示出仅针对合并候选的一部分执行冗余检查的示例的示图;

图23是示出省略与特定合并候选的冗余检查的示例的示图;

图24是示出应用了对称分区的编码块的分区方面的示图。

图25是示出应用了非对称分区的编码块的分区方面的示图。

图26是示出根据语法值的编码块的分区方面的示图。

图27是示出用于推导分区模式合并候选的邻近块的示图。

图28是用于描述从通过对角线分区被编码的邻近块推导分区合并候选的示例的示图。

图29是示出将邻近块的分区方向和运动信息应用于编码块的示例的示图。

图30是用于解释针对每个预测单元确定邻近块的可用性的示例的示图。

图31和图32是示出基于第一预测样点和第二预测样点的加权和运算推导预测样点的示例的示图。

图33是根据本公开的实施例的帧内预测方法的流程图。

图34是示出帧内预测模式的示图。

图35和图36是示出将参考样点排列成线的一维阵列的示例的示图。

图37是示出由方向帧内预测模式与平行于x轴的直线形成的角度的示图。

图38是示出在当前块具有非正方形形状时获得预测样点的一方面的示图。

图39是示出广角帧内预测模式的示图。

具体实施方式

在下文中,将参照附图详细地描述本公开的实施例。

基于块执行图像编码和解码。在示例中,可针对编码块、变换块或预测块执行诸如变换、量化、预测、环内滤波、重建等编码/解码处理。

在下文中,编码/解码目标块被称为“当前块”。在示例中,根据当前的编码/解码处理,当前块可表示编码块、变换块或预测块。

另外,在本说明书中使用的术语“单元”表示用于执行特定编码/解码处理的基本单元,并且“块”可被理解为表示具有预定尺寸的样点阵列。除非另有说明,否则可互换应用“块”和“单元”。在示例中,编码块和编码单元在稍后描述的示例中可被理解为具有彼此相同的含义。

图1是示出根据本公开的实施例的图像编码设备(编码器)的框图的示图。

参照图1,图像编码设备100可包括画面分区单元110、预测单元120和预测单元125、变换单元130、量化单元135、重排单元160、熵编码单元165、反量化单元140、逆变换单元145、滤波器单元150和存储器155。

图1中描述的组件被独立地示出,以便示出图像编码设备中的不同特征功能,并且该图并不意味着每一个组件都由分开的硬件或一个软件单元组成。也就是说,每一个组件仅被列举以便于解释,各个组件中的至少两个组件可构成一个组件,或者一个组件可被分区为可执行它们的功能的多个组件。甚至是集成了各个组件的实施例以及对组件进行划分的实施例也被包括在本公开的范围内,除非它们脱离了本公开的精神。

此外,一些组件不是执行本公开的必要功能的必要组件,而是仅用于改善性能的可选组件。可利用除了仅用于改善性能的组件之外的用于实施本公开的精神的必要组件来实现本公开,并且仅包括除了仅用于改善性能的可选组件之外的必要组件的结构也被包括在本公开的范围内。

画面分区单元110可将输入的画面分区为至少一个处理单元。在这方面,处理单元可以是预测单元(PU)、变换单元(TU)或编码单元(CU)。在画面分区单元110中,可将单个画面分区为多个编码单元、预测单元和变换单元的多个组合,并且可通过根据预定条件(例如,代价函数)选择编码单元、预测单元和变换单元的组合来对画面进行编码。

例如,可将单个画面分区为多个编码单元。为了将画面分区为编码单元,可使用诸如四叉树结构的递归树结构,并且源自诸如单个图像或最大编码单元的根的编码单元可被分区为其它编码单元并且可具有与分区出的编码单元一样多的子节点。根据特定限制不再被分区的编码单元成为叶节点。即,当假设只有正方形分区可用于单个编码单元时,可将单个编码单元分区为最多四个其它编码单元。

在下文中,在本公开的实施例中,编码单元可被用作用于编码的单元,或者可被用作用于解码的单元。

可通过将单个编码单元分区为具有相同尺寸的至少一个正方形或矩形来获得预测单元,或者可按照一个预测单元在形状和/或尺寸上可不同于另一个预测单元的方式将单个编码单元分区为预测单元。

在基于正执行帧内预测的编码块产生预测单元时,当编码单元不是最小编码单元时,可在不执行分区为多个N×N的预测单元的情况下执行帧内预测。

预测单元120和预测单元125可包括执行帧间预测的帧间预测单元120以及执行帧内预测的帧内预测单元125。可确定对预测单元执行帧间预测还是帧内预测,并且可确定根据每一种预测方法的详细信息(例如,帧内预测模式、运动矢量、参考画面等)。在这方面,被执行预测的处理单元可不同于被确定预测方法及其详情的预测单元。例如,可基于预测单元来确定预测方法、预测模式等,并且可基于变换单元来执行预测。所产生的预测块与原始块之间的残差值(残差块)可被输入到变换单元130。另外,用于预测的预测模式信息、运动矢量信息等可由熵编码单元165使用残差值来编码,并且可被发送给解码器。当特定编码模式被使用时,原始块在无需通过预测单元120或预测单元125产生预测块的情况下按照原样被编码并且被发送给解码单元。

帧间预测单元120可基于关于当前画面的先前画面和后续画面中的至少一个的信息对预测单元进行预测,或者在某些情况下,可基于关于当前画面中的一些已编码区域的信息对预测单元进行预测。帧间预测单元120可包括参考画面插值单元、运动预测单元和运动补偿单元。

参考画面插值单元可从存储器155接收参考画面信息,并且可从参考画面产生整数像素或更小像素的像素信息。在亮度像素的情况下,可使用具有不同系数的基于DCT的8抽头插值滤波器,以便以1/4像素为单位产生关于整数像素或更小像素的像素信息。在色度信号的情况下,可使用具有不同滤波器系数的基于DCT的4抽头插值滤波器,以便以1/8像素为单位产生关于整数像素或更小像素的像素信息。

运动预测单元可基于由参考画面插值单元插值后的参考画面来执行运动预测。可将诸如基于全搜索的匹配算法(FBMA)、三步搜索(TSS)算法、新三步搜索(NTS)算法等各种方法用作用于计算运动矢量的方法。运动矢量可基于插值后的像素具有以1/2像素或1/4像素为单位的运动矢量值。运动预测单元可通过改变运动预测方法对当前预测单元进行预测。可将诸如跳过方法、合并方法、高级运动矢量预测(AMVP)方法、帧内块复制方法等各种方法用作运动预测方法。

帧内预测单元125可基于作为当前画面中的像素信息的在当前块周围的参考像素的信息来产生预测单元。在当前预测单元的邻近块是被执行帧间预测的块,并因此参考像素是被执行帧间预测的像素时,可用关于被执行帧内预测的邻近块的参考像素的信息来替换包括在被执行帧间预测的块中的参考像素。换句话说,当参考像素不可用时,可使用可用参考像素中的至少一个参考像素来代替不可用的参考像素信息。

帧内预测下的预测模式可包括当执行预测时根据预测方向使用参考像素信息的方向预测模式、以及当执行预测时不使用方向信息的非方向模式。用于预测亮度信息的模式可不同于用于预测色度信息的模式。为了预测色度信息,可使用关于用于预测亮度信息的帧内预测模式的信息或者关于预测出的亮度信号的信息。

在执行帧内预测时,当预测单元的尺寸与变换单元的尺寸相同时,可基于位于预测单元的左侧、左上方和顶部的像素对预测单元执行帧内预测。然而,在执行帧内预测时,当预测单元的尺寸与变换单元的尺寸不同时,可基于变换单元通过使用参考像素来执行帧内预测。另外,使用N×N分区的帧内预测可仅被用于最小编码单元。

在帧内预测方法中,可在根据预测模式将自适应帧内平滑(AIS)滤波器应用于参考像素之后产生预测块。应用于参考像素的AIS滤波器的类型可变化。为了执行帧内预测方法,可从当前预测单元周围存在的预测单元的帧内预测模式预测用于当前预测单元的帧内预测模式。在通过使用从邻近预测单元预测出的模式信息来预测用于当前预测单元的预测模式时,当用于当前预测单元的帧内预测模式与该邻近预测单元的帧内预测模式相同时,可通过使用预定标志信息来发送指示当前预测单元与该邻近预测单元具有相同预测模式的信息。当用于当前预测单元的预测模式不同于邻近预测单元的预测模式时,可执行熵编码来对关于用于当前块的预测模式的信息进行编码。

另外,可产生包括关于残差值的信息的残差块,其中,残差值是由预测单元120或预测单元125执行了预测的预测单元与该预测单元的原始块之间的差值。产生的残差块可被输入到变换单元130。

变换单元130可通过使用诸如离散余弦变换(DCT)或离散正弦变换(DST)的变换方法对残差块执行变换,其中,残差块包括关于原始块与由预测单元120或预测单元125产生的预测单元之间的残差值的信息。在这方面,DCT变换核包括DCT2或DCT8中的至少一个,并且DST变换核包括DST7。可基于关于被用于产生残差块的预测单元的帧内预测模式的信息来确定是应用DCT还是应用DST以便对残差块执行变换。可跳过针对残差块的变换。可对指示是否跳过针对残差块的变换的标志进行编码。对于尺寸小于或等于阈值的残差块、在4:4:4格式下的亮度分量的残差块或色度分量的残差块,可允许进行变换跳过。

量化单元135可对由变换单元130变换到频域的值执行量化。量化系数可根据图像的重要性或块而变化。在量化单元135中计算出的值可被提供给反量化单元140和重排单元160。

重排单元160可对关于量化残差值的变换系数执行重排。

重排单元160可通过系数扫描方法将二维块形式的系数变为一维矢量形式的系数。例如,重排单元160可通过使用Z字形扫描方法从DC系数至高频域中的系数进行扫描,以便将系数变为一维矢量形式。根据变换单元的尺寸和帧内预测模式,可使用沿列方向扫描二维块形式的系数的垂直方向扫描或沿行方向扫描二维块形式的系数的水平方向扫描,而不是Z字形扫描。换句话说,可根据变换单元的尺寸和帧内预测模式来确定使用Z字形扫描、垂直方向扫描和水平方向扫描中的哪一种扫描方法。

熵编码单元165可基于由重排单元160计算出的值来执行熵编码。熵编码可使用各种编码方法,例如,指数哥伦布编码、上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)。

熵编码单元165可对从重排单元160以及预测单元120和预测单元125获得的各种类型的信息(诸如,关于残差值系数的信息和关于编码单元的块类型的信息、关于预测模式的信息、关于分区单元的信息、关于预测单元的信息和关于变换单元的信息、关于运动矢量的信息、关于参考帧的信息、关于块插值的信息、滤波信息等)进行编码。

熵编码单元165可对从重排单元160输入的编码单元的系数进行熵编码。

反量化单元140可对在量化单元135中量化的值执行反量化,并且逆变换单元145可对在变换单元130中变换的值执行逆变换。可将由反量化单元140和逆变换单元145产生的残差值与由包括在预测单元120和预测单元125中的运动估计单元、运动补偿单元或帧内预测单元预测出的预测单元相加,以便产生重建块。

滤波器单元150可包括去块滤波器、偏移校正单元和自适应环路滤波器(ALF)中的至少一个。

去块滤波器可去除由于重建画面中的块之间的边界而发生的块失真。为了确定是否执行去块,可基于在块中包括的几行或几列中所包括的像素来确定是否对当前块应用去块滤波器。当去块滤波器被应用于块时,根据所需要的去块滤波强度来应用强滤波器或弱滤波器。另外,在应用去块滤波器时,当执行水平方向滤波和垂直方向滤波时,可将水平方向滤波和垂直方向滤波配置为并行处理。

偏移校正单元可相对于被执行去块的图像用以像素为单位的偏移来校正原始图像。为了对特定画面执行偏移校正,可使用对在将图像的像素分区为预定数量个区域之后所确定的区域应用偏移的方法、或者根据每一个像素的边缘信息应用偏移的方法。

可基于通过将经过滤波的重建图像与原始图像进行比较而获得的值来执行自适应环路滤波(ALF)。可将图像中包括的像素分区为预定群组,可确定将被应用于每一个群组的滤波器,并且可对每一个群组单独地执行滤波。可针对亮度信号对每一个编码单元(CU)发送关于是否应用ALF的信息,并且将被应用的ALF滤波器的形状和滤波器系数可基于每一个块而变化。可选地,可应用具有相同形状(固定形状)的ALF滤波器,而不管将被应用滤波器的块的特征如何。

在存储器155中,可存储通过滤波器单元150计算的重建块或重建画面。当执行帧间预测时,存储的重建块或重建画面可被提供给预测单元120或预测单元125。

图2是示出根据本公开的实施例的图像解码设备(解码器)的框图的示图。

参照图2,图像解码设备200可包括熵解码单元210、重排单元215、反量化单元220、逆变换单元225、预测单元230和预测单元235、滤波器单元240和存储器245。

当从编码器输入了图像比特流时,可根据图像编码设备的逆处理来对输入的比特流进行解码。

熵解码单元210可根据由图像编码器的熵编码单元进行的熵编码的逆处理来执行熵解码。例如,可与由图像编码器设备执行的方法相关联地应用各种方法,诸如指数哥伦布编码、上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)。

熵解码单元210可对关于由编码器执行的帧内预测和帧间预测的信息进行解码。

重排单元215可基于在编码器中使用的重排方法对由熵解码单元210进行熵解码的比特流执行重排。一维矢量形式表示的系数可被重建,并且可被重排成二维块形式的系数。重排单元215可通过接收与在编码器中执行的系数扫描有关的信息并基于在编码器中执行的扫描顺序进行逆扫描的方法来执行重排。

反量化单元220可基于从编码器接收的量化参数以及重排后的块的系数值来执行反量化。

针对在图像编码器中由变换单元对量化结果执行的变换(即DCT或DST),逆变换单元225可执行逆变换(即逆DCT或逆DST)。在这方面,DCT变换核可包括DCT2或DCT8中的至少一个,并且DST变换核可包括DST7。可选地,当在图像编码器中跳过了变换时,在逆变换单元225中也不执行逆变换。可基于由图像编码器确定的变换单元来执行逆变换。图像解码器的逆变换单元225可根据多条信息(诸如,预测方法、当前块的尺寸、预测方向等)来选择性地执行变换方法(例如,DCT或DST)。

预测单元230或预测单元235可基于从熵解码单元210接收到的与预测块相关的信息以及从存储器245接收到的关于先前解码块或画面的信息来产生预测块。

如上所述,如同图像编码器的操作那样,在执行帧内预测的过程中,当预测单元的尺寸与变换单元的尺寸相同时,可基于位于预测单元的左侧、左上方和顶部的像素对预测单元执行帧内预测。然而,在执行帧内预测的过程中,当预测单元的尺寸与变换单元的尺寸不同时,可基于变换单元通过使用参考像素来执行帧内预测。另外,使用N×N分区的帧内预测可仅被用于最小编码单元。

预测单元230和预测单元235可包括PU确定模块、帧间预测单元和帧内预测单元。PU确定单元可接收从熵解码单元210输入的各种类型的信息(诸如,关于预测单元的信息、关于帧内预测方法的预测模式的信息、关于帧间预测方法的运动预测的信息等),可对当前编码单元中的预测单元进行划分,并且可确定对预测单元执行帧间预测还是执行帧内预测。使用从图像编码器接收到的当前预测单元的帧间预测所需的信息,帧间预测单元230可基于关于包括当前预测单元的当前画面的先前画面和后续画面中的至少一个的信息来对当前预测单元执行帧间预测。可选地,可基于关于包括当前预测单元的当前画面中的一些预先重建的区域的信息来执行帧间预测。

为了执行帧间预测,可基于编码单元来确定跳过模式、合并模式、AMVP模式或帧内块复制模式中的哪种方法被用作用于编码单元中包括的预测单元的运动预测方法。

帧内预测单元235可基于关于当前画面内的像素的信息来产生预测块。当预测单元是已经被执行了帧内预测的预测单元时,可基于从图像编码器接收到的关于预测单元的帧内预测模式的信息来执行帧内预测。帧内预测单元235可包括自适应帧内平滑(AIS)滤波器、参考像素插值模块或DC滤波器。AIS滤波器可对当前块的参考像素执行滤波,并且,可根据用于当前预测单元的预测模式来确定是否应用滤波器。当对当前块的参考像素执行AIS滤波时,可使用从图像编码器接收到的预测单元的预测模式以及关于AIS滤波器的信息。当用于当前块的预测模式是不被应用AIS滤波的模式时,可不应用AIS滤波器。

当预测单元的预测模式是基于通过对参考像素进行插值而获得的像素值来执行帧内预测的预测模式时,参考像素插值单元可对参考像素进行插值,以便产生具有整数单位或更小单位的参考像素。当用于当前预测单元的预测模式是在不对参考像素进行插值的情况下产生预测块的预测模式时,可不对参考像素进行插值。当用于当前块的预测模式是DC模式时,DC滤波器可通过滤波产生预测块。

重建块或重建画面可被提供给滤波器单元240。滤波器单元240可包括去块滤波器、偏移校正模块和ALF。

可从图像编码器接收关于去块滤波器是否已被应用于相应块或画面的信息、以及关于在去块滤波器被应用时是应用强滤波器还是弱滤波器的信息。图像解码器的去块滤波器可从图像编码器接收关于去块滤波器的信息,并且图像解码器可对相应块执行去块滤波。

偏移校正单元可基于在执行编码时应用于图像的偏移校正的类型、关于偏移值的信息等对重建图像执行偏移校正。

可基于从编码器接收到的关于是否应用ALF的信息、关于ALF系数的信息等对编码单元应用ALF。以上的ALF信息可通过被包括在特定参数集中而被提供。

在存储器245中,可存储重建画面或重建块以便将其用作参考画面或参考块,并且重建画面可被提供给输出单元。

图3是示出根据本公开的实施例的基本编码树单元的示图。

最大编码块可被定义为编码树块。单个画面可被分区为多个编码树单元(CTU)。CTU可以是最大尺寸的编码单元,并且可被称为最大编码单元(LCU)。图3是示出单个画面被分区为多个CTU的示例的示图。

可在画面级别或序列级别来定义CTU的尺寸。同样,可通过画面参数集或序列参数集用信号传送表示CTU的尺寸的信息。

在示例中,可将用于序列内的整个画面的CTU的尺寸设置为128×128。可选地,可在画面级别将128×128或256×256中的任何一个确定为CTU的尺寸。在示例中,可在第一画面中将CTU设置为具有尺寸128×128,并且可在第二画面中将CTU设置为具有尺寸256×256。

通过对CTU进行分区可产生编码块。编码块表示用于执行编码/解码的基本单元。在示例中,可针对每一个编码块执行预测或变换,或者,可针对每一个编码块确定预测编码模式。在这方面,预测编码模式表示产生预测图像的方法。在示例中,预测编码模式可包括帧内预测、帧间预测、当前画面参考(CPR)、帧内块复制(IBC)或组合预测。对编码块,可通过使用帧内预测、帧间预测、当前画面参考、或组合预测中的至少一个的预测编码模式来产生编码块的预测块。

可在比特流中用信号传送表示用于当前块的预测编码模式的信息。在示例中,所述信息可以是表示预测编码模式是帧内模式还是帧间模式的1比特标志。当用于当前块的预测编码模式被确定为帧间模式时,当前画面参考或组合预测可以是可用的。

当前画面参考是将当前画面设置为参考画面并从当前画面内已经被编码/解码的区域获得当前块的预测块。在这方面,当前画面表示包括当前块的画面。可在比特流中用信号传送表示当前画面参考是否被应用于当前块的信息。在示例中,所述信息可以是1比特标志。当该标志为真(TRUE)时,用于当前块的预测编码模式可被确定为当前画面参考,当该标志为假(FALSE)时,用于当前块的预测编码模式可被确定为帧间预测。

可选地,可基于参考画面索引来确定用于当前块的预测编码模式。在示例中,当参考画面索引指示当前画面时,用于当前块的预测编码模式可被确定为当前画面参考。当参考画面索引指示除了当前画面之外的画面时,用于当前块的预测编码模式可被确定为帧间预测。换句话说,当前画面参考是使用关于在当前画面内已经被编码/解码的区域的信息的预测方法,帧间预测是使用关于已经被编码/解码的另一画面的信息的预测方法。

组合预测表示组合了帧内预测、帧间预测和当前画面参考中的至少两个的组合编码模式。在示例中,当应用组合预测时,可基于帧内预测、帧间预测或当前画面参考中的一个来产生第一预测块,并且可基于帧内预测、帧间预测或当前画面参考中的另一个来产生第二预测块。当产生了第一预测块和第二预测块时,可通过计算第一预测块和第二预测块的平均值或加权和来产生最终预测块。可在比特流中用信号传送表示是否对当前块应用组合预测的信息。所述信息可以是1比特标志。

图4是示出编码块的各种分区类型的示图。

可基于四叉树分区、二叉树分区或三叉树分区将编码块分区为多个编码块。可基于四叉树分区、二叉树分区或三叉树分区将分区出的编码块再分区为多个编码块。

四叉树分区表示将当前块分区为四个块的方法。作为四叉树分区的结果,可将当前块分区为四个正方形分区(参照图4的(a)的“SPLIT_QT”)。

二叉树分区表示将当前块分区为两个块的方法。可将沿垂直方向(也就是说,使用经过当前块的垂直线)将当前块分区为两个块的操作称为垂直方向二叉树分区,并且可将沿水平方向(也就是说,使用经过当前块的水平线)将当前块分区为两个块的操作称为水平方向二叉树分区。作为二叉树分区的结果,当前块可被分区为两个非正方形分区。图4的(b)的“SPLIT_BT_VER”是示出垂直方向二叉树分区的结果的示图,图4的(c)的“SPLIT_BT_HOR”是示出水平方向二叉树分区的结果的示图。

三叉树分区表示将当前块分区为三个块的方法。可将沿垂直方向(也就是说,使用经过当前块的两条垂直线)将当前块分区为三个块的操作称为垂直方向三叉树分区,并且可将沿水平方向(也就是说,使用经过当前块的两条水平线)将当前块分区为三个块的操作称为水平方向三叉树分区。作为三叉树分区的结果,当前块可被分区为三个非正方形分区。在这方面,位于当前块中心的分区的宽度/高度可以是其它分区的宽度/高度的两倍。图4的(d)的“SPLIT_TT_VER”是示出垂直方向三叉树分区的结果的示图,图4的(e)的“SPLIT_TT_HOR”是示出水平方向三叉树分区的结果的示图。

CTU的分区次数可被定义为分区深度。可在序列级别或画面级别确定CTU的最大分区深度。因此,CTU的最大分区深度可基于序列或画面而变化。

可选地,可针对每一个分区方法独立地确定最大分区深度。在示例中,允许四叉树分区的最大分区深度可不同于允许二叉树分区和/或三叉树分区的最大分区深度。

编码器可在比特流中用信号传送表示当前块的分区类型和分区深度中的至少一个的信息。解码器可基于通过对比特流进行解析而获得的信息来确定CTU的分区类型和分区深度。

图5是示出对CTU进行分区的一方面的示例的示图。

可将通过使用四叉树分区、二叉树分区和/或三叉树分区对编码块进行分区的操作称为多叉树分区。

可将通过应用多叉树分区对编码块进行分区而产生的编码块称为子编码块。当编码块的分区深度是k时,子编码块的分区深度被设置为k+1。

与此相反,对于分区深度为k+1的编码块,可将分区深度为k的编码块称为父编码块。

可基于父编码块的分区类型和邻近编码块的分区类型中的至少一个来确定当前编码块的分区类型。在这方面,邻近编码块可以是与当前编码块相邻的块,并且可包括顶部邻近块、左侧邻近块或与当前编码块的左上角相邻的邻近块中的至少一个。在这方面,分区类型可包括是否应用四叉树分区、是否应用二叉树分区、二叉树分区的方向、是否应用三叉树分区、或者三叉树分区的方向。

为了确定编码块的分区类型,可在比特流中用信号传送表示编码块是否被分区的信息。所述信息可以是1比特标志“split_cu_flag”,并且当该标志为真时,它可表示编码块通过多叉树分区方法被分区。

当split_cu_flag为真时,可在比特流中用信号传送表示编码块是否通过四叉树分区被分区的信息。所述信息是1比特标志split_qt_flag,并且当该标志为真时,编码块可被分区为四个块。

在示例中,在图5中示出的示例中,通过四叉树分区对CTU进行了分区,并因此产生了分区深度为1的四个编码块。另外,示出了再次对通过四叉树分区而产生的四个编码块之中的第一编码块和第四编码块应用四叉树分区。结果,可产生分区深度为2的四个编码块。

另外,通过再次对分区深度为2的编码块应用四叉树分区,可产生分区深度为3的编码块。

当四叉树分区未被应用于编码块时,可根据编码块的尺寸、编码块是否位于画面边界、最大分区深度、或邻近块的分区类型中的至少一个来确定是否针对编码块执行二叉树分区或三叉树分区。当确定针对编码块执行二叉树分区或三叉树分区时,可在比特流中用信号传送表示分区方向的信息。所述信息可以是1比特标志mtt_split_cu_vertical_flag。可基于该标志来确定分区方向是垂直方向还是水平方向。另外,可在比特流中用信号传送表示二叉树分区或三叉树分区中的哪一个被应用于编码块的信息。所述信息可以是1比特标志mtt_split_cu_binary_flag。可基于该标志确定二叉树分区被应用于编码块还是三叉树分区被应用于编码块。

在示例中,在图5中示出的示例中,垂直方向二叉树分区被应用于分区深度为1的编码块,垂直方向三叉树分区被应用于通过该垂直方向二叉树分区而产生的编码块之中的左侧编码块,并且垂直方向二叉树分区被应用右侧编码块。

当实现对图像进行编码或解码的装置时,因为硬件性能限制,会出现难以对大于阈值的区域进行处理的问题。在示例中,当根据硬件性能可同时处理最多4096个样点时,对于具有超过4096个样点的区域,会出现以下问题:应当冗余地访问和处理64×64尺寸的数据单元,并且无法同时处理数据。同样地,数据处理的基本单元可被定义为虚拟处理数据单元(VPDU,在下文中,称为数据基本单元)。

数据基本单元可被分类为正方形、非正方形或非矩形类型。

图6是示出数据基本单元的形状的示图。

数据基本单元可包括等于或小于可被同时处理的样点的最大数量的样点。在示例中,如在图6的(a)所示出的示例中,可将64×64尺寸的正方形块设置为数据基本单元。可选地,可将非方形块设置为数据基本单元。在示例中,如在图6的(b)或图6的(c)所示出的示例中,可将32×128尺寸的块或64×32尺寸的块设置为数据基本单元。

尽管未示出,但可定义三角形、L形或多边形类型的数据基本单元。

可在比特流中用信号传送用于确定数据基本单元的信息。该信息可被用于确定数据基本单元的尺寸或形状中的至少一个。基于该信息,可确定是否允许非正方形数据基本单元或是否允许非矩形数据基本单元。

可选地,可在编码器和解码器中预先定义数据基本单元的尺寸或形状中的至少一个。

可通过考虑数据基本单元的尺寸来确定编码块是否允许分区类型。在示例中,当将通过对编码块进行分区而产生的编码块大于数据基本单元时,可以不允许进行分区。可选地,当将通过对编码块进行分区而产生的非正方形编码块大于数据基本单元时,可以不允许分区。在示例中,当编码块的宽度或高度大于阈值时,或当包括在编码块中的样点的数量大于阈值时,可以不允许二叉树分区或三叉树分区。因此,可省略对与二叉树或三叉树分区相关的信息的编码。

可选地,当编码块大于数据基本单元时,可将其设置为始终对编码块进行分区。可选地,对于大于数据基本单元的编码块,可始终执行二叉树分区或三叉树分区。因此,对于大于数据基本单元的编码块,尽管未对表示编码块是否被分区的标志split_flag进行编码,但可将该标志的值推断为1。

在另一示例中,可将大于数据基本单元的编码块分区为多个子块。在这种情况下,可将子块设置为预测单元、用于预测的基本单元、或者变换单元、用于变换和/或量化的基本单元。在这种情况下,当编码块被分区为多个预测单元时,其可被定义为VPDU预测单元分区,并且当编码块被分区为多个变换单元时,其可被定义为VPDU变换单元分区。

可将VPDU预测单元分区或VPDU变换单元分区中的至少一个应用于编码块。可将根据VPDU预测单元分区的应用的编码块的划分类型设置为与根据VPDU变换单元分区的应用的编码块的划分类型相同。

当仅将VPDU预测单元分区应用于编码块时,可针对每个子块执行预测,但可对编码块执行变换和/或量化。在这种情况下,可针对编码块确定预测编码模式,也就是说,诸如帧内预测模式或帧间预测模式的预测模式。

当仅将VPDU变换单元分区应用于编码块时,针对子块执行预测,但可针对每个子块执行变换和/或量化。

图7和图8是示出将编码块分区为多个子块的示例的示图。

图7是示出当仅允许正方形数据基本单元时的分区方面的示图,并且图8是示出当允许正方形数据基本单元和非正方形数据基本单元时的分区方面的示图。

当假设仅允许正方形数据基本单元时,在图7的(a)和(b)中,通过两个不同的VPDU来定义CU0和CU3,并且通过四个不同的VPDU来定义CU1。因此,可将CU0和CU3分区为两个子块(Subblock)并且可将CU1分区为四个子块。

当假设允许正方形数据基本单元和非正方形数据基本单元时,在图8的(a)和(b)中,可将CU0和CU3中的每一个定义为单个VPDU,但可通过使用两个不同的VPDU来定义CU1。因此,可以不将CU0和CU3分区为子块(Subblock),但可将CU1分区为两个子块。

在此情况下,CU1可被分区为正方形子块或非正方形子块。在示例中,基于将CU1上下分区的水平线,可将CU1分区为两个正方形子块。可选地,基于将CU1左右分区的垂直线,可将CU1分区为2个非正方形子块。

当存在可被应用于编码块的多个分区类型候选时,可在比特流中用信号传送表示多个分区类型候选中的任何一个的信息。在示例中,该信息可表示编码块是否被分区为正方形子块或者编码块是否被分区为非正方形子块。

可选地,将编码块分区为正方形子块可被设置为具有比将编码块分区为非正方形子块高的优先级。例如,当编码块可以不被分区为正方形子块时,可允许将编码块分区为非正方形子块。

可选地,可基于父节点编码块的分区类型来确定编码块的分区类型。在示例中,当父节点编码块基于三叉树被分区时,可将编码块设置为被分区为正方形子块。另一方面,当父节点编码块基于二叉树或三叉树被分区时,可将编码块设置为被分区为非正方形子块。

帧间预测是通过使用关于先前画面的信息对当前块进行预测的预测编码模式。在示例中,可将先前画面内与当前块位于相同位置的块(在下文中称为同位块)设置为当前块的预测块。在下文中,基于当前块的同位块所产生的预测块可被称为同位预测块。

与此相反,当在先前画面中存在的对象在当前画面中已经移动到另一位置时,可通过使用对象的运动来有效地预测当前块。例如,当通过将先前画面与当前画面进行比较来确定对象的运动方向和大小时,可根据对象的运动信息来产生当前块的预测块(或预测图像)。在下文中,通过使用运动信息所产生的预测块可被称为运动预测块。

可通过从当前块减去预测块来产生残差块。在这方面,在对象移动的情况下,通过使用运动预测块而不是使用同位预测块可减少残差块的能量,并因此可提高残差块的压缩性能。

如上,通过使用运动信息产生预测块的操作可被称为运动估计预测。在大多数帧间预测中,可基于运动补偿预测来产生预测块。

运动信息可包括运动矢量、参考画面索引、预测方向和双向加权因子索引中的至少一个。运动矢量表示对象的运动方向和幅度。参考画面索引指定在参考画面列表中包括的参考画面之中的当前块的参考画面。预测方向指示单向L0预测、单向L1预测或双向预测(L0预测和L1预测)中的任何一个。可根据当前块的预测方向来使用L0方向运动信息和L1方向运动信息中的至少一个。双向加权因子索引指定被应用于L0预测块的加权因子和被应用于L1预测块的加权因子。

可在序列、条带或块的级别确定运动矢量的精度。换句话说,运动矢量的精度可针对每个序列、条带或块而不同。运动矢量的精度可被确定为1/8像素(八分之一像素)、1/4像素(四分之一像素)、1/2像素(二分之一像素)、整数像素或4整数像素中的任何一个。

图9是根据本公开的实施例的帧间预测方法的流程图。

参照图9,帧间预测方法包括:确定用于当前块的帧间预测模式S901、根据确定的帧间预测模式获得当前块的运动信息S902、以及基于获得的运动信息针对当前块执行运动补偿预测S903。

在这方面,帧间预测模式可表示用于确定当前块的运动信息的各种方法,并且可包括使用平移运动信息的帧间预测模式、使用仿射运动信息的帧间预测模式。在示例中,使用平移运动信息的帧间预测模式可包括合并模式和运动矢量预测模式,使用仿射运动信息的帧间预测模式可包括仿射合并模式和仿射运动矢量预测模式。可基于与当前块邻近的邻近块或者通过对比特流进行解析而获得的信息来确定关于当前块的运动信息。

在此情况下,由于帧间预测模式表示用于确定当前块的运动信息的多种方法,因此帧间预测模式可包括使用平移运动信息的帧间预测模式以及使用仿射运动信息的帧间预测模式。在示例中,使用平移运动信息的帧间预测模式可包括合并模式和运动矢量预测模式,并且使用仿射运动信息的帧间预测模式可包括仿射合并模式和仿射运动矢量预测模式。可基于根据帧间预测模式从与当前块相邻的邻近块或比特流解析的信息来确定当前块的运动信息。

在下文中,将详细描述使用仿射运动信息的帧间预测方法。

图10是示出对象的非线性运动的示图。

可能发生图像中的对象的运动不是线性的情况。在示例中,如在图10所示出的示例中,可发生对象的非线性运动,诸如放大、缩小、旋转或仿射变换等。当发生对象的非线性运动时,平移运动矢量可能无法有效地表达对象的运动。因此,可通过在发生对象的非线性运动的部分中使用仿射运动而不是平移运动来提高编码效率。

图11是根据本公开的实施例的基于仿射运动的帧间预测方法的流程图。

可基于从比特流解析的信息来确定基于仿射运动的帧间预测方法是否被应用于当前块。具体地说,基于表示仿射合并模式是否被应用于当前块的标志或者表示仿射运动矢量预测模式是否被应用于当前块的标志中的至少一个,可确定基于仿射运动的帧间预测方法是否被应用于当前块。

当确定将基于仿射运动的帧间预测方法应用于当前块时,可确定当前块的仿射运动模型(S1101)。仿射运动模型可被确定为6参数仿射运动模型或4参数仿射运动模型中的至少一个。6参数仿射运动模型通过使用6个参数表示仿射运动,4参数仿射运动模型通过使用4个参数表示仿射运动。

等式1通过使用6个参数表示仿射运动。仿射运动表示由仿射种子矢量确定的针对预定区域的平移运动。

【等式1】

vx=ax-by+e

vy=cx+dy+f

在通过使用6个参数表示仿射运动时,可表示复杂的运动,但对每一个参数进行编码所需的比特的数量可能增加,因此编码效率可能降低。因此,可通过使用4个参数来表示仿射运动。等式2通过使用4个参数表示仿射运动。

【等式2】

vx=ax-by+e

vy=bx+ay+f

可在比特流中编码并用信号传送用于确定当前块的仿射运动模型的信息。在示例中,该信息可以是1比特标志“affine_type_flag”。当标志的值为0时,其可表示应用4参数仿射运动模型,并且当标志的值为1时,其可表示应用6参数仿射运动模型。可以以条带、并行块或块(例如,编码块或编码树单元)为单位对标志进行编码。当在条带的级别用信号传送标志时,在条带的级别确定的仿射运动模型可被应用于属于条带的所有块。

可选地,可基于当前块的仿射帧间预测模式来确定当前块的仿射运动模型。在示例中,当仿射合并模式被应用时,可将当前块的仿射运动模型确定为4参数运动模型。另一方面,当仿射运动矢量预测模式被应用时,可在比特流中编码并用信号传送用于确定当前块的仿射运动模型的信息。在示例中,当仿射运动矢量预测模式被应用于当前块时,可基于1比特标志“affine_type_flag”确定当前块的仿射运动模型。

接下来,可推导当前块的仿射种子矢量(S1102)。当4参数仿射运动模型被选择时,可推导当前块的两个控制点处的运动矢量。另一方面,当6参数仿射运动模型被选择时,可推导当前块的三个控制点处的运动矢量。控制点处的运动矢量可被称为仿射种子矢量。控制点可包括当前块的左上角、右上角或左下角中的至少一个。

图12是示出针对每个仿射运动模型的仿射种子矢量的示图。

可在4参数仿射运动模型中推导针对左上角、右上角或左下角中的两个的仿射种子矢量。在示例中,如在图12的(a)中所示出的示例中,当4参数仿射运动模型被选择时,可通过使用针对当前块的左上角(例如,左上方样点(x1,y1))的仿射种子矢量sv0和针对当前块的右上角(例如,右上方样点(x1,y1))的仿射种子矢量sv1推导仿射矢量。可使用针对左下角的仿射种子矢量而不是针对左上角的仿射种子矢量或针对右上角的仿射种子矢量。

可在6参数仿射运动模型中推导针对左上角、右上角和左下角的仿射种子矢量。在示例中,如在图12的(b)中所示出的示例中,当6参数仿射运动模型被选择时,可通过使用针对当前块的左上角(例如,左上方样点(x1,y1))的仿射种子矢量sv0、针对当前块的右上角(例如,右上方样点(x1,y1))的仿射种子矢量sv1和针对当前块的左上角(例如,左上方样点(x2,y2))的仿射种子矢量sv2来推导仿射矢量。

在后述的实施例中,在4参数仿射运动模型下,左上方控制点和右上方控制点处的仿射种子矢量分别被称为第一仿射种子矢量和第二仿射种子矢量。在后述的使用第一仿射种子矢量和第二仿射种子矢量的实施例中,第一仿射种子矢量和第二仿射种子矢量中的至少一个可被左下方控制点处的仿射种子矢量(第三仿射种子矢量)或右下方控制点处的仿射种子矢量(第四仿射种子矢量)代替。

另外,在6参数仿射运动模型下,左上方控制点、右上方控制点和左下方控制点处的仿射种子矢量分别被称为第一仿射种子矢量、第二仿射种子矢量和第三仿射种子矢量。在后述的使用第一仿射种子矢量、第二仿射种子矢量和第三仿射种子矢量的实施例中,第一仿射种子矢量、第二仿射种子矢量和第三仿射种子矢量中的至少一个可被右下方控制点处的仿射种子矢量(第四仿射种子矢量)代替。

可通过使用仿射种子矢量来推导每一个子块的仿射矢量(S1103)。在这种情况下,仿射矢量表示基于仿射种子矢量推导出的平移运动矢量。子块的仿射矢量可被称为仿射子块运动矢量或子块运动矢量。

图13是示出4参数运动模型下的子块的仿射矢量的示图。

可基于控制点的位置、子块的位置和仿射种子矢量推导子块的仿射矢量。在示例中,等式3表示推导仿射子块运动矢量的示例。

【等式3】

在等式3中,(x,y)表示子块的位置。在这种情况下,子块的位置表示包括在子块中的基本样点的位置。基本样点可以是位于子块的左上角处的样点或者在x轴坐标或y轴坐标中的至少一个上位于中心位置处的样点。(x0,y0)表示第一控制点的位置,并且(sv0x,sv0y)表示第一仿射种子矢量。另外,(x1,y1)表示第二控制点的位置,并且(sv1x,sv1y)表示第二仿射种子矢量。

当第一控制点和第二控制点分别与当前块的左上角和右上角相应时,可将x1-x0设置为与当前块的宽度相同的值。

之后,可通过使用每一个子块的仿射矢量来执行针对每一个子块的运动补偿预测(1104)。作为执行运动补偿预测的结果,可产生针对每一个子块的预测块。可将子块的预测块设置为当前块的预测块。

接下来,将详细描述使用平移运动信息的帧间预测方法。

可从另一块的运动信息推导当前块的运动信息。在这方面,另一块可以是在当前块之前通过帧间预测被编码/解码的块。将当前块的运动信息设置为与另一块的运动信息相同的操作可被定义为合并模式。此外,将另一块的运动矢量设置为当前块的运动矢量的预测值的操作可被定义为运动矢量预测模式。

图14是在合并模式下推导当前块的运动信息的处理的流程图。

可推导当前块的合并候选S1401。可从在当前块之前通过帧间预测被编码/解码的块推导当前块的合并候选。

图15是示出用于推导合并候选的候选块的示图。

候选块可包括邻近块或非邻近块中的至少一个,其中,所述邻近块包括与当前块相邻的样点,所述非邻近块包括不与当前块相邻的样点。在下文中,确定候选块的样点被定义为基本样点。另外,与当前块相邻的基本样点被称为邻近基本样点,并且不与当前块相邻的基本样点被称为非邻近基本样点。

邻近基本样点可被包括在当前块的最左侧列的邻近列或当前块的最上方行的邻近行中。在示例中,在当前块的左上方样点的坐标为(0,0)时,包括在位置(-1,H-1)、(W-1,-1)、(W,-1)、(-1,H)或(-1,-1)处的基本样点的块中的至少一个可被用作候选块。参照示图,索引0至索引4的邻近块可被用作候选块。

非邻近基本样点表示与相邻于当前块的基本样点的x轴距离或y轴距离中的至少一个具有预定义值的样点。在示例中,包括与左侧基本样点的x轴距离为预定义值的基本样点的块、包括与顶部基本样点的y轴距离为预定义值的非邻近样点的块或者包括与左上方基本样点的x轴距离和y轴距离为预定义值的非邻近样点的块中的至少一个可被用作候选块。预定义值可以是诸如4、8、12、16等的自然数。参照附图,索引为5至26的块中的至少一个块可被用作候选块。

可将不与邻近基本样点位于相同的垂直线、水平线或对角线上的样点设置为非邻近基本样点。

可将顶部非邻近基本样点的x坐标设置为不同于顶部邻近基本样点的x坐标。在示例中,当顶部邻近基本样点的位置为(W-1,-1)时,可将在y轴上与顶部邻近基本样点隔开N的顶部非邻近基本样点的位置设置为((W/2)-1,-1-N),并且可将在y轴上与顶部邻近基本样点隔开2N的顶部非邻近基本样点的位置设置为(0,-1-2N)。换句话说,可基于邻近基本样点的位置和与邻近基本样点的距离来确定非邻近基本样点的位置。

在下文中,候选块之中的包括邻近基本样点的候选块被称为邻近块,并且包括非邻近基本样点的候选块被称作非邻近块。

在当前块与候选块之间的距离等于或大于阈值时,可将候选块设置为不可用作合并候选。可基于编码树单元的尺寸来确定阈值。在示例中,可将阈值设置为编码树单元的高度(ctu_height),或者可将阈值设置为将偏移与编码树单元的高度相加或从编码树单元的高度减去偏移得到的值(ctu_height±N)。由于偏移N是编码装置和解码装置中的预定义值,因此可将其设置为4、8、16、32或ctu_height。

在当前块的y轴坐标与包括在候选块中的样点的y轴坐标之间的差大于阈值时,可确定候选块不可用作合并候选。

可选地,可将与当前块不属于相同的编码树单元的候选块设置为不可用作合并候选。在示例中,当基本样点在当前块所属的编码树单元的上边界之外时,可将包括该基本样点的候选块设置为不可用作合并候选。

可从与当前块包括在不同的画面中的时间邻近块推导合并候选。在示例中,可从包括在同位画面中的同位块推导合并候选。可将包括在参考画面列表中的参考画面中的任何一个设置为同位画面。可在比特流中用信号传送标识参考画面中的同位画面的索引信息。可选地,可将参考画面中的具有预定义索引的参考画面确定为同位画面。

可将合并候选的运动信息设置为与候选块的运动信息相同。在示例中,可将候选块的运动矢量、参考画面索引、预测方向或双向权重索引中的至少一个设置为合并候选的运动信息。

可产生包括合并候选的合并候选列表S1402。

可根据预定顺序分配合并候选列表中的合并候选的索引。在示例中,可按照从左侧邻近块推导的合并候选、从顶部邻近块推导的合并候选、从右上方邻近块推导的合并候选、从左下方邻近块推导的合并候选、从左上方邻近块推导的合并候选和从时间邻近块推导的合并候选的顺序分配索引。

当多个合并候选被包括在合并候选中时,可选择多个合并候选中的至少一个S1403。具体地,可在比特流中用信号传送用于指定多个合并候选中的任何一个的信息。在示例中,可在比特流中用信号传送表示包括在合并候选列表中的合并候选中的任何一个的索引的信息merge_idx。

当包括在合并候选列表中的合并候选的数量小于阈值时,可将包括在运动信息表中的运动信息候选作为合并候选被添加到合并候选列表。在这方面,阈值可以是可被包括在合并候选列表中的合并候选的最大数量或从合并候选的最大数量减去偏移而得到的值。偏移可以是诸如1或2等的自然数。

运动信息表包括从当前画面中的基于帧间预测编码/解码的块推导出的运动信息候选。在示例中,可将包括在运动信息表中的运动信息候选的运动信息设置为与基于帧间预测编码/解码的块的运动信息相同。在这方面,运动信息可包括运动矢量、参考画面索引、预测方向或双向权重索引中的至少一个。

包括在运动信息表中的运动信息候选也可被称为帧间区域合并候选或预测区域合并候选。

可在编码器和解码器中预先定义可包括在运动信息表中的运动信息候选的最大数量。在示例中,可包括在运动信息表中的运动信息候选的最大数量可以是1、2、3、4、5、6、7、8或更大(例如,16)。

可选地,可在比特流中用信号传送表示可包括在运动信息表中的运动信息候选的最大数量的信息。可在序列、画面或条带级别用信号传送所述信息。所述信息可表示可包括在运动信息表中的运动信息候选的最大数量。可选地,所述信息可表示可包括在运动信息表中的运动信息候选的最大数量与可包括在合并候选列表中的合并候选的最大数量之间的差。

可选地,可根据画面尺寸、条带尺寸或编码树单元尺寸来确定可包括在运动信息表中的运动信息候选的最大数量。

可以以画面、条带、并行块、分块、编码树单元或编码树单元线(行或列)为单位对运动信息表进行初始化。在示例中,当条带被初始化时,运动信息表也被初始化,因此,运动信息表可以不包括任何运动信息候选。

可选地,可在比特流中用信号传送表示是否将对运动信息表进行初始化的信息。可在条带、并行块、分块或块级别用信号传送所述信息。在所述信息指示运动信息表的初始化之前,可使用预先配置的运动信息表。

可选地,可在画面参数集或条带头中用信号传送关于初始运动信息候选的信息。尽管条带被初始化,但运动信息表可包括初始运动信息候选。因此,可将初始运动信息候选用于作为条带中的第一编码/解码目标的块。

可选地,可将包括在先前编码树单元的运动信息表中的运动信息候选设置为初始运动信息候选。在示例中,可将在先前编码树单元的运动信息表中包括的运动信息候选中的具有最小索引或具有最大索引的运动信息候选设置为初始运动信息候选。

按照编码/解码的顺序对块进行编码/解码,并且可按照编码/解码的顺序将基于帧间预测编码/解码的块顺序地设置为运动信息候选。

图16是用于解释运动信息表的更新方面的示图。

当针对当前块执行帧间预测时S1601,可基于当前块推导运动信息候选S1602。可将运动信息候选的运动信息设置为与当前块的运动信息相同。

当运动信息表为空时S1603,可将基于当前块推导出的运动信息候选添加到运动信息表S1604。

当运动信息表已经包括运动信息候选时S1603,可执行针对当前块的运动信息(或基于当前块推导出的运动信息候选)的冗余检查S1605。冗余检查被用于确定运动信息表中的预存储的运动信息候选的运动信息是否与当前块的运动信息相同。可针对运动信息表中的所有预存储的运动信息候选执行冗余检查。可选地,可针对运动信息表中的预存储的运动信息候选中的具有超过或低于阈值的索引的运动信息候选执行冗余检查。可选地,可针对预定义数量的运动信息候选执行冗余检查。在示例中,可将具有最小索引或具有最大索引的2个运动信息候选确定为冗余检查的目标。

当具有与当前块相同的运动信息的运动信息候选未被包括时,可将基于当前块推导出的运动信息候选添加到运动信息表S1608。可基于运动信息候选的运动信息(例如,运动矢量/参考画面索引等)是否相同来确定运动信息候选是否相同。

在这方面,当最大数量的运动信息候选已经被存储在运动信息表中时S1606,可删除最旧的运动信息候选S1607,并且可将基于当前块推导出的运动信息候选添加到运动信息表S1608。在这方面,最旧的运动信息候选可以是具有最大或最小索引的运动信息候选。

可通过各个索引识别运动信息候选。当将从当前块推导出的运动信息候选添加到运动信息表时,可将最小索引(例如,0)分配给该运动信息候选,并且预存储的运动信息候选的索引可增加1。在这方面,当最大数量的运动信息候选已经被存储在运动信息表中时,移除具有最大索引的运动信息候选。

可选地,当将从当前块推导出的运动信息候选添加到运动信息表时,可将最大索引分配给该运动信息候选。在示例中,当运动信息表中的预存储的运动信息候选的数量小于最大值时,可将具有与预存储的运动信息候选的数量相同的值的索引分配给该运动信息候选。可选地,当运动信息表中的预存储的运动信息候选的数量等于最大值时,可将从最大值减去1而得到的索引分配给该运动信息候选。可选地,移除具有最小索引的运动信息候选,并且剩余的预存储的运动信息候选的索引减小1。

图17是示出运动信息表的更新方面的示图。

假设当将从当前块推导出的运动信息候选添加到运动信息表时,将最大索引分配给该运动信息候选。另外,假设最大数量的运动信息候选已经被存储在运动信息表中。

当将从当前块推导出的运动信息候选HmvpCand[n+1]添加到运动信息表HmvpCandList时,可删除预存储的运动信息候选中的具有最小索引的运动信息候选HmvpCand[0],并且剩余的运动信息候选的索引可减小1。另外,可将从当前块推导出的运动信息候选HmvpCand[n+1]的索引设置为最大值(例如,图17中所示出的n)。

当与基于当前块推导出的运动信息候选相同的运动信息候选被预先存储时S1605,可以不将基于当前块推导出的运动信息候选添加到运动信息表S1609。

可基于运动矢量、参考画面索引或预测模式信息(例如,单向预测和/或双向预测)中的至少一个来确定是否具有相同运动信息。在示例中,当运动矢量、参考画面索引或预测模式信息(例如,单向预测和/或双向预测)中的至少一个不同时,可将从当前块推导出的运动信息候选确定为新的。

可选地,当mvCand、基于当前块推导出的运动信息候选和包括在运动信息表中的运动信息候选之间的参考画面索引和预测模式信息相同但运动矢量不同时,可基于两个运动信息候选之间的运动矢量差是否小于阈值来确定是否存在冗余。在示例中,在当前块的运动矢量与包括在运动信息表中的运动信息候选的运动矢量之间的差小于阈值时,可以不通过当前块的运动信息更新运动信息表。阈值可被设置为1像素、2像素或4像素。

可选地,在将基于当前块推导出的运动信息候选添加到运动信息表的同时,可移除与该运动信息候选相同的预存储的运动信息候选。在这种情况下,产生与预存储的运动信息候选的索引被新更新时相同的效果。

图18是示出更新预存储的运动信息候选的索引的示例的示图。

当与从当前块推导出的运动信息候选mvCand相同的预存储的运动信息候选的索引为hIdx时,可移除该预存储的运动信息候选,并且索引大于hIdx的运动信息候选的索引可减小1。在示例中,图18中所示出的示例示出在运动信息表HvmpCandList中删除与mvCand相同的HmvpCand[2],并且从HmvpCand[3]至HmvpCand[n]的索引减小1。

并且,可将基于当前块推导出的运动信息候选mvCand添加到运动信息表的末尾。

可选地,可更新被分配给与基于当前块推导出的运动信息候选相同的预存储的运动信息候选的索引。例如,可将预存储的运动信息候选的索引改变为最小值或最大值。

可选地,可通过交换HmvpCandList[hIdx]、具有与当前块相同的运动信息的运动信息候选、以及存储最近更新的运动信息的运动信息候选来更新运动信息表。在此情况下,交换意味着互换两个运动信息候选的索引。

可通过对具有与当前块相同的运动信息的运动信息候选的索引和存储最近更新的运动信息的运动信息候选的索引之间的差与阈值进行比较来确定是否将交换两个运动信息候选。在示例中,当假设存储最近更新的运动信息的运动信息候选的索引为n时,可仅在具有与当前块相同的运动信息的运动信息候选的索引为n-1、n-2或n-3时交换两个运动信息候选。

可选地,具有与当前块相同的运动信息的运动信息候选HmvpCandList[hIdx]可被存储在HmvpCandList[n]中,其中,HmvpCandList[n]是存储最近更新的运动信息的运动信息候选的位置。另外,可基于周围运动信息候选的运动信息来更新HmvpCandList[hIdx],其中,HmvpCandList[hIdx]是具有与当前块相同的运动信息的运动信息候选的存储位置。在示例中,当HmvpCandList[hIdx-1]和HmvpCandList[hIdx+1]是双向帧间预测模式时,可在HmvpCandList[hIdx-1]与HmvpCandList[hIdx+1]之间对运动信息求平均并且其结果可被存储在HmvpCandList[hIdx]中。在此情况下,当在两个运动信息候选之间参考画面索引不同时,可基于任意参考画面索引对运动矢量进行缩放。

可仅针对预先存储在运动信息表中的运动信息候选的部分检查是否具有与当前块的运动信息相同的运动信息。在示例中,可将最近存储在运动信息表中的n个运动信息候选的运动信息与当前块的运动信息进行比较。

可选地,可将当前块的运动信息与存储在运动信息表中的运动信息候选之中的索引为奇数或偶数的运动信息候选进行比较。在示例中,当假设运动信息表的大小为6时,可仅针对其索引为0、2、4的运动信息候选检查是否具有与当前块相同的运动信息。可选地,可仅针对其索引为1、3、5的运动信息候选检查是否具有与当前块相同的运动信息。

当通过对角线分区对当前块进行编码时,当前块可具有一个或更多个运动信息。在示例中,可基于第一运动信息执行针对当前块中的第一预测单元的运动补偿,并且可基于第二运动信息执行针对当前块中的第二预测单元的运动补偿。

可将在当前块的多个运动信息之中任意选择的一个运动信息添加到运动信息表。在示例中,可将第一预测单元的运动信息和第二预测单元的运动信息中的一个添加到运动信息表。可将第一预测单元和第二预测单元之中的包括预定义位置处的样点的预测单元的运动信息添加到运动信息表。预定义位置处的样点可包括编码块中的左上方样点、左下方样点、右上方样点、右下方样点或中心样点中的至少一个。可选地,可基于当前块的尺寸、深度或形状或者邻近块的分区信息中的至少一个来选择第一预测单元的运动信息和第二预测单元的运动信息中的一个。

可选地,可按照预定义顺序将当前块的多个运动信息顺序地添加到运动信息表。在示例中,当左侧三角形分区类型被应用于当前块时,可按照第一预测单元和第二预测单元的顺序更新运动信息表。可选地,当左侧三角形分区类型被应用于当前块时,可按照第二预测单元和第一预测单元的顺序更新运动信息表。

可选地,当右侧三角形分区类型被应用于当前块时,可按照第二预测单元和第一预测单元的顺序更新运动信息表。可选地,当右侧三角形分区类型被应用于当前块时,可按照第一预测单元和第二预测单元的顺序更新运动信息表。

可将包括在预定区域中的块的运动信息设置为不被添加到运动信息表。在示例中,可以不将基于包括在合并处理区域中的块的运动信息推导出的运动信息候选添加到运动信息表。由于针对包括在合并处理区域中的块的编码/解码顺序未被定义,因此将包括在合并处理区域中的块中的任何一个块的运动信息用于它们中的另一个块的帧间预测是不合适的。因此,可以不将基于包括在合并处理区域中的块推导出的运动信息候选添加到运动信息表。

可选地,可将小于预设尺寸的块的运动信息设置为不被添加到运动信息表。在示例中,可以不将基于其宽度或高度小于4或8的编码块的运动信息或者4×4尺寸的编码块的运动信息推导出的运动信息候选添加到运动信息表。

当以每个子块为基础执行运动补偿预测时,可基于包括在当前块中的多个子块之中的代表性子块的运动信息来推导运动信息候选。在示例中,当子块合并候选被用于当前块时,可基于子块之中的代表性子块的运动信息来推导运动信息候选。

可按照以下顺序推导子块的运动矢量。首先,可选择包括在当前块的合并候选列表中的合并候选中的任何一个,并且可基于选择的合并候选的运动矢量来推导初始移位矢量(shVector)。并且,可通过将初始移位矢量与编码块中的每一个子块的基本样点(例如,左上方样点或中心样点)的位置(xSb,ySb)相加来推导基本样点位于位置(xColSb,yColSb)处的移位子块。下面的等式4示出用于推导移位子块的公式。

[等式4]

(xColSb,yColSb)=(xSb+shVector[0]>>4,ySb+shVector[1]>>4)

然后,可将与包括(xColSb,yColSb)的子块的中心位置相应的同位块的运动矢量设置为包括(xSb,ySb)的子块的运动矢量。

代表性子块可表示包括当前块的左上方样点、中心样点、右下方样点、右上方样点或左下方样点的子块。

图19是示出代表性子块的位置的示图。

图19的(a)示出将位于当前块的左上方处的子块设置为代表性子块的示例,并且图19的(b)示出将位于当前块的中心处的子块设置为代表性子块的示例。当基于子块执行运动补偿预测时,可基于包括当前块的左上方样点或包括当前块的中心样点的子块的运动矢量来推导当前块的运动信息候选。

基于当前块的帧间预测模式,可确定当前块是否将被用作运动信息候选。在示例中,可将基于仿射运动模型编码/解码的块设置为不可用作运动信息候选。因此,尽管通过帧间预测对当前块进行编码/解码,但在当前块的帧间预测模式为仿射预测模式时,可以不基于当前块更新运动信息表。

可选地,基于当前块的运动矢量分辨率、是否应用合并偏移编码方法、是否应用组合预测或者是否应用对角线分区中的至少一个,可确定当前块是否将被用作运动信息候选。在示例中,在当前块的运动信息分辨率等于或大于2整数像素的情况、将组合预测应用于当前块的情况、将对角线分区应用于当前块的情况或者将合并偏移编码方法应用于当前块的情况中的至少一种情况下,可将当前块设置为不可用作运动信息候选。

可选地,可基于包括在基于仿射运动模型编码/解码的块中的子块的至少一个子块矢量推导运动信息候选。在示例中,可通过使用位于当前块的左上方、中心或右上方处的子块来推导运动信息候选。可选地,可将多个子块的子块矢量的平均值设置为运动信息候选的运动矢量。

可选地,可基于根据仿射运动模型编码/解码的块的仿射种子矢量的平均值来推导运动信息候选。在示例中,可将当前块的第一仿射种子矢量、第二仿射种子矢量或第三仿射种子矢量的至少一个平均值设置为运动信息候选的运动矢量。

可选地,可针对每个帧间预测模式配置运动信息表。在示例中,可对通过帧内块复制编码/解码的块的运动信息表、基于平移运动模型编码/解码的块的运动信息表或者基于仿射运动模型编码/解码的块的运动信息表中的至少一个进行定义。根据当前块的帧间预测模式,可选择多个运动信息表中的任何一个。

图20示出针对每个帧间预测模式产生运动信息表的示例。

当基于非仿射运动模型对块进行编码/解码时,可将基于该块推导出的运动信息候选mvCand添加到非仿射运动信息表HmvpCandList。另一方面,当基于仿射运动模型对块进行编码/解码时,可将基于以上模型推导出的运动信息候选mvAfCand添加到仿射运动信息表HmvpCandList。

上述块的仿射种子矢量可被存储在从基于仿射运动模型编码/解码的块推导出的运动信息候选中。因此,运动信息候选可被用作用于推导当前块的仿射种子矢量的合并候选。

除了所描述的运动信息表之外,还可定义附加运动信息表。除上述运动信息表(下文中,被称作第一运动信息表)之外,还可定义长期运动信息表(下文中,被称作第二运动信息表)。就此而言,长期运动信息表包括长期运动信息候选。

当第一运动信息表和第二运动信息表两者均为空时,首先,可将运动信息候选添加到第二运动信息表。在可用于第二运动信息表的运动信息候选的数量达到最大数量之后,可将运动信息候选添加到第一运动信息表。

可选地,可将一个运动信息候选添加到第二运动信息表和第一运动信息表两者。

在这方面,完全填充的第二运动信息表可以不再执行更新。可选地,当条带中的解码区域超过预定比例时,可更新第二运动信息表。可选地,可针对每N个编码树单元线更新第二运动信息表。

另一方面,每当编码/解码块通过帧间预测被产生时,可更新第一运动信息表。但是,可将添加到第二运动信息表的运动信息候选设置为不用于更新第一运动信息表。

可在比特流中用信号传送用于选择第一运动信息表或第二运动信息表中的任何一个的信息。当包括在合并候选列表中的合并候选的数量小于阈值时,可将包括在由所述信息指示的运动信息表中的运动信息候选作为合并候选添加到合并候选列表。

可选地,可基于当前块的尺寸或形状、当前块的帧间预测模式、是否将双向预测应用于当前块、是否细化运动矢量或是否将对角线分区应用于当前块来选择运动信息表。

可选地,当即使添加包括在第一运动信息表中的运动信息候选,包括在合并候选列表中的合并候选的数量仍小于最大数量时,可将包括在第二运动信息表中的运动信息候选添加到合并候选列表。

图21是示出将包括在长期运动信息表中的运动信息候选添加到合并候选列表的示例的示图。

在包括在合并候选列表中的合并候选的数量小于最大数量的情况下,可将包括在第一运动信息表HmvpCandList中的运动信息候选添加到合并候选列表。当即使将包括在第一运动信息表中的运动信息候选添加到合并候选列表,包括在合并候选列表中的合并候选的数量仍小于最大数量时,可将包括在长期运动信息表HmvpLTCandList中的运动信息候选添加到合并候选列表。

表1示出将包括在长期运动信息表中的运动信息候选添加到合并候选列表的处理。

【表1】

可将运动信息候选设置为包括除运动信息之外的附加信息。在示例中,可将块的尺寸、形状或分区信息中的至少一个另外存储在运动信息候选中。当配置当前块的合并候选列表时,可仅使用运动信息候选之中的其尺寸、形状或分区信息与当前块相同或相似的运动信息候选,或者可将其尺寸、形状或分区信息与当前块相同或相似的运动信息候选预先添加到合并候选列表。可选地,可按每个块尺寸、形状或分区信息产生运动信息表。可通过使用多个运动信息表之中的与当前块的形状、尺寸或分区信息匹配的运动信息表来配置当前块的合并候选列表。

当包括在当前块的合并候选列表中的合并候选的数量小于阈值时,可将包括在运动信息表中的运动信息候选作为合并候选添加到合并候选列表。按照反映按升序或降序排列的运动信息候选的索引的顺序的顺序执行附加处理。在示例中,可首先将具有最大索引的运动信息候选添加到当前块的合并候选列表。

当将包括在运动信息表中的运动信息候选添加到合并候选列表时,可执行运动信息候选与合并候选列表中的预存储的合并候选之间的冗余检查。作为冗余检查的结果,可以不将具有与预存储的合并候选相同的运动信息的运动信息候选添加到合并候选列表。

在示例中,表2示出将运动信息候选添加到合并候选列表的处理。

【表2】

可仅针对包括在运动信息表中的运动信息候选中的一部分执行冗余检查。在示例中,可仅针对具有超过或低于阈值的索引的运动信息候选执行冗余检查。可选地,可仅针对具有最大索引或最小索引的N个运动信息候选执行冗余检查。可选地,可仅针对合并候选列表中的预存储的合并候选中的一部分执行冗余检查。在示例中,可仅对其索引超过或低于阈值的合并候选或从特定位置处的块推导出的合并候选执行冗余检查。在这方面,特定位置可包括当前块的左侧邻近块、顶部邻近块、右上方邻近块或左下方邻近块中的至少一个。

图22是示出仅针对合并候选中的一部分执行冗余检查的示例的示图。

当将运动信息候选HmvpCand[j]添加到合并候选列表时,可针对运动信息候选执行与具有最大索引的2个合并候选mergeCandList[NumMerge-2]和mergeCandList[NumMerge-1]的冗余检查。在这方面,NumMerge可示出可用的空间合并候选和时间合并候选的数量。

与示出的示例不同,当将运动信息候选HmvpCand[j]添加到合并候选列表时,可针对运动信息候选执行与具有最小索引的2个合并候选的冗余检查。例如,可检查mergeCandList[0]和mergeCandList[1]是否与HmvpCand[j]相同。

可选地,可仅针对从特定位置推导出的合并候选执行冗余检查。在示例中,可针对从位于当前块左侧或当前块顶部处的邻近块推导出的合并候选中的至少一个执行冗余检查。当在合并候选列表中不存在从特定位置推导出的合并候选时,可在不进行冗余检查的情况下将运动信息候选添加到合并候选列表。

当将运动信息候选HmvpCand[j]添加到合并候选列表时,可针对运动信息候选执行与具有最大索引的2个合并候选mergeCandList[NumMerge-2]和mergeCandList[NumMerge-1]的冗余检查。在这方面,NumMerge可示出可用的空间合并候选和时间合并候选的数量。

可仅针对运动信息候选中的一部分执行与合并候选的冗余检查。在示例中,可仅针对包括在运动信息表中的运动信息候选中的具有大索引或小索引的N个运动信息候选执行冗余检查。在示例中,可仅针对具有包括在运动信息表中的运动信息候选的数量和运动信息候选的差低于阈值的索引的运动信息候选执行冗余检查。当阈值为2时,可仅针对包括在运动信息表中的运动信息候选中的具有最大索引值的3个运动信息候选执行冗余检查。对于除了上述3个运动信息候选之外的运动信息候选,可省略冗余检查。当省略冗余检查时,可将运动信息候选添加到合并候选列表,而不考虑是否存在与合并候选相同的运动信息。

相反地,将冗余检查设置为仅针对具有包括在运动信息表中的运动信息候选的数量和运动信息候选的差超过阈值的索引的运动信息候选被执行。

可选地,可执行针对存储在最近运动信息表中的N个运动信息候选执行冗余检查。

可在编码器和解码器中重新定义执行冗余检查的运动信息候选的数量。在示例中,运动信息候选的数量可以是诸如0、1或2的整数。

可选地,可基于包括在合并候选列表中的合并候选的数量或包括在运动信息表中的运动信息候选的数量中的至少一个来确定运动信息候选的数量。

当发现与第一运动信息候选相同的合并候选时,可在针对第二运动信息候选的冗余检查中省略与和第一运动信息候选相同的合并候选的冗余检查。

图23是示出省略与特定合并候选的冗余检查的示例的示图。

当将其索引为i的运动信息候选HmvpCand[i]添加到合并候选列表时,执行运动信息候选与合并候选列表中的预存储的合并候选之间的冗余检查。在这方面,当发现合并候选mergeCandlist[j]与运动信息候选HmvpCand[i]相同时,可在不将运动信息候选HmvpCand[i]添加到合并候选列表的情况下执行运动信息候选HmvpCand[i-1](其中,其索引为i-1)与合并候选之间的冗余检查。在这方面,可省略运动信息候选HmvpCand[i-1]与合并候选mergeCandList[j]之间的冗余检查。

在示例中,在图23示出的示例中,已经确定HmvpCand[i]与mergeCandList[2]相同。因此,可在不将HmvpCand[i]添加到合并候选列表的情况下执行针对HmvpCand[i-1]的冗余检查。在这方面,可省略HmvpCand[i-1]与mergeCandList[2]之间的冗余检查。

当包括在当前块的合并候选列表中的合并候选的数量小于阈值时,除了包括运动信息候选之外,可另外包括成对合并候选或零合并候选中的至少一个。成对合并候选表示具有从对多于2个合并候选的运动矢量求平均而获得的值作为运动矢量的合并候选,并且零合并候选表示其运动矢量为0的合并候选。

对于当前块的合并候选列表,可按照以下顺序添加合并候选。

空间合并候选-时间合并候选-运动信息候选-(仿射运动信息候选)-成对合并候选-零合并候选

空间合并候选表示从邻近块或非邻近块中的至少一个推导出的合并候选,并且时间合并候选表示从先前参考画面推导出的合并候选。仿射运动信息候选表示从通过仿射运动模型编码/解码的块推导出的运动信息候选。

运动信息表可被用在运动矢量预测模式中。在示例中,当包括在当前块的运动矢量预测候选列表中的运动矢量预测候选的数量小于阈值时,可将包括在运动信息表中的运动信息候选设置为针对当前块的运动矢量预测候选。具体地,可将运动信息候选的运动矢量设置为运动矢量预测候选。

如果选择包括在当前块的运动矢量预测候选列表中的运动矢量预测候选中的任何一个,则可将所选择的候选设置为当前块的运动矢量预测因子。然后,在对当前块的运动矢量残差值进行解码之后,可通过将运动矢量预测因子与运动矢量残差值相加来获得当前块的运动矢量。

可按照以下顺序配置当前块的运动矢量预测候选列表。

空间运动矢量预测候选-时间运动矢量预测候选-运动信息候选-(仿射运动信息候选)-零运动矢量预测候选

空间运动矢量预测候选表示从邻近块或非邻近块中的至少一个推导出的运动矢量预测候选,并且时间运动矢量预测候选表示从先前参考画面推导出的运动矢量预测候选。仿射运动信息候选表示从通过仿射运动模型编码/解码的块推导的运动信息候选。零运动矢量预测候选表示运动矢量的值为0的候选。

可将编码块分区为多个预测单元,并且可针对分区预测单元中的每一个执行预测。在这种情况下,预测单元表示用于执行预测的基本单元。

可将编码块分区为非矩形预测单元。在示例中,可通过使用垂直线、水平线、斜线或对角线中的至少一个来对编码块进行分区。通过分区线分区的预测单元可具有诸如三角形、四边形、梯形或五边形的形状。在示例中,可将编码块分区为两个三角形预测单元、两个梯形预测单元、两个四边形预测单元或者一个三角形预测单元和一个五边形预测单元。

可在比特流中用信号传送关于对编码块进行分区的线的数量、线的起点、线的终点、分区所需的角度、通过分区而产生的预测单元的数量或者关于预测单元的形状的信息中的至少一个的信息。

在示例中,可在比特流中用信号传送表示编码块的分区类型候选中的任何一个的信息。可选地,可在比特流中用信号传送指定对编码块进行分区的多个线候选中的任何一个的信息。在示例中,可在比特流中用信号传送指示多个线候选中的任何一个的索引信息。

对于多个线候选中的每一个,角度或位置中的至少一个可以不同。可基于当前块的尺寸或形状、可用合并候选的数量或特定位置处的邻近块是否可用作合并候选来确定可用于当前块的线候选的数量。

可选地,可在比特流中用信号传送用于确定线候选的数量或类型的信息。在示例中,可通过使用1比特标志来确定具有大于对角线的角度的斜线和/或具有小于对角线的角度的斜线是否可用作线候选。可在序列、画面或序列级别用信号传送所述信息。

可选地,可用信号传送用于指定对编码块进行分区的线的起点或终点中的至少一个的信息。线的起点和终点可经过当编码块的宽度和/或高度被分区为四个部分时产生的边界点。在示例中,当假设编码块的左上方样点的位置为(0,0)并且编码块的宽度和高度分别为W和H时,线的起点和终点可以是以下项中的一个:

(0,0)、(W/4,0)、(W/2,0)、(3W/4,0)、(W,0)、(0,H)、(W/4,H)、(W/2,H)、(3W/4,H)、(W,H)、(0,H/4)、(0,H/2)、(0,H/3)、(0,H)、(W,H/4)、(W,H/2)、(W,H/3)、(W,H)

可选地,可通过编码块的帧内预测模式或帧间预测模式、可用合并候选的位置或邻近块的分区方面中的至少一个隐式地推导用于对编码块进行分区的线的数量、线的起点、线的终点、分区所需的角度、通过分区产生的预测单元的数量或关于预测单元的形状的信息中的至少一个。

当将编码块分区为多个预测单元时,可针对每一个预测单元执行帧内预测和/或帧间预测。

可将编码块分区为相同尺寸的预测单元。在示例中,可通过使用经过编码块的两个角的对角线将编码块分区为相同尺寸的预测单元。当将编码块分区为相同尺寸的预测单元时,其可被称为对称分区。

图24是示出应用对称分区的编码块的分区方面的示图。

如在图24的(a)和(b)所示出的示例中,可通过使用对角线将编码块分区为两个三角形预测单元。在图24中,示出将编码块分区为相同尺寸的两个预测单元。

可将编码块分区为不同尺寸的预测单元。在示例中,在图24的(a)中示出的示例中,可将对编码块进行分区的对角线的左上方设置为与编码块的左侧边界或上方边界相接,而不是与编码块的左上角相接。可选地,可将对角线的右下方设置为与编码块的右侧边界或下方边界相接,而不是与编码块的右下角相接。

可选地,在图24的(b)所示出的示例中,可将对编码块进行分区的对角线的右上方设置为与编码块的上方边界或右侧边界相接,而不是与编码块的右上角相接。可选地,可将对角线的左下角设置为与编码块的左侧边界或下方边界相接,而不是与编码块的左下角相接

当将编码块分区为不同尺寸的两个预测单元时,其可被称为非对称分区。

图25是示出应用非对称分区的编码块的分区方面的示图。

如在图25所示出的示例中,可通过使用起点或终点中的任何一个经过编码块的角并且另一个经过特定边界的中心的对角线来对编码块进行分区。

可选地,可通过使用起点或终点中的任何一个经过编码块的角并且另一个经过特定边界的1/4或3/4点的对角线来对编码块进行分区。

可选地,可通过使用起点或终点中的任何一个经过编码块的角并且另一个经过特定边界上的任意点而不是角的对角线来对编码块进行分区。

可在比特流中用信号传送用于确定编码块的分区类型的信息。在示例中,可在比特流中用信号传送表示是否应用对称分区的信息。所述信息可以是1比特标志。在示例中,可在比特流中用信号传送语法isSymTriangle_flag。当语法isSymTriangle_flag的值为1时,其表示将对称分区应用于编码块。当语法isSymTriangle_flag的值为0时,其表示将非对称分区应用于编码块。

可在比特流中用信号传送用于确定编码块的分区类型的信息。在示例中,可在比特流中用信号传送指定多个分区类型候选中的一个的索引信息。

多个分区类型候选可包括对称分区类型或非对称分区类型中的至少一个。基于指定多个分区类型候选中的一个的索引信息,可确定对编码块进行分区的对角线的位置或分区方向或预测单元的大小中的至少一个。

在示例中,在图25中所示出的示例中,Asym_triangle_index表示指定当应用非对称分区时的编码块的分区类型的索引。

表3表示包括用于确定编码块的分区类型的信息的语法表的结构。

【表3】

可在比特流中用信号传送指定对编码块进行分区的对角线的起点和/或终点的位置的信息。在示例中,当使用起点或终点中的至少一个不经过编码块的角的对角线时,可在比特流中用信号传送用于指定与起点或终点相接的边界的位置的信息。

图26是示出根据语法值的编码块的分区方面的示图。

可在比特流中用信号传送用于指定对编码块进行分区的对角线的起点或终点中的至少一个的位置的信息。在示例中,可在比特流中用信号传送语法triangle_partition_type_flag。语法triangle_partition_type_flag表示起点或终点中的至少一个不经过编码块的角的对角线是否邻接编码块的顶部边界、底部边界、右侧边界或左侧边界。

在示例中,当语法triangle_partition_type_flag的值为0时,其表示对编码块进行分区的对角线经过编码块的顶部边界的中心。当语法triangle_partition_type_flag的值为1时,其表示对编码块进行分区的对角线经过编码块的底部边界的中心。当语法triangle_partition_type_flag的值为2时,其表示对编码块进行分区的对角线经过编码块的右侧边界的中心。当语法triangle_partition_type_flag的值为3时,其表示对编码块进行分区的对角线经过编码块的左侧边界的中心。

可在比特流中用信号传送表示第一预测单元的宽度是否大于第二预测单元的宽度的信息。在示例中,可通过语法left_diag_flag确定第一预测单元的宽度是否大于第二预测单元的宽度。

当语法的值left_diag_flag为0时,其表示第一预测单元的宽度小于第二预测单元的宽度。当语法left_diag_flag的值为1时,其表示第一预测单元的宽度大于第二预测单元的宽度。

可通过语法triangle_partition_type_flag与语法left_diag_flag的组合来推导编码块的分区类型。

表4表示包括用于确定编码块的分区类型的信息的语法表的结构。

【表4】

通过对编码块进行分区而产生的预测单元中的每一个被称为“第N预测单元”。在示例中,在图24所示出的示例中,PU1可被定义为第一预测单元,并且PU2可被定义为第二预测单元。第一预测单元可表示编码块中包括左下方位置处的样点或左上方位置处的样点的预测单元,并且第二预测单元可表示编码块中包括右上方位置处的样点或右下方位置处的样点的预测单元。

相反,在编码块中包括右上方位置处的样点或右下方位置处的样点的预测单元可被定义为第一预测单元,并且在编码块中包括左下方位置处的样点或左上方位置处的样点的预测单元可被定义为第二预测单元。

当通过使用水平线、垂直线、对角线或斜线对编码块进行分区时,其可被称为预测单元分区。通过应用预测单元分区而产生的预测单元可根据其形状被称为三角形预测单元、四边形预测单元或五边形预测单元。

在下面的实施例中,将假设通过使用对角线对编码块进行分区。具体地,当通过使用对角线将编码块分区为两个预测单元时,其被称为对角线分区或三角形分区。但是,即使当通过使用具有与垂直线、水平线或对角线不同的角度的斜线来对编码块进行分区时,也可根据下述实施例对预测单元进行编码/解码。换句话说,与下面描述的三角形预测单元的编码/解码相关的事项也可应用于对四边形预测单元或五边形预测单元的编码/解码。

可基于条带类型、可包括在合并候选列表中的合并候选的最大数量、编码块的尺寸、编码块的形状、编码块的预测编码模式、父节点的分区方面或并行处理区域的尺寸中的至少一个来确定预测单元分区是否将被应用于编码块。

在示例中,可基于当前条带是否为B类型来确定预测单元分区是否将被应用于编码块。可仅在当前条带为B类型时允许预测单元分区。

可选地,可基于包括在合并候选列表中的合并候选的最大数量是否等于或大于2来确定预测单元分区是否将被应用于编码块。仅当包括在合并候选列表中的合并候选的最大数量等于或大于2时,才可允许预测单元分区。

可选地,当VPDU被定义为N×N时,出现以下缺点:在硬件实现中,当宽度或高度中的至少一个大于N时,冗余地访问N×N尺寸的数据处理单元。因此,当编码块的宽度或高度中的至少一个大于阈值N时,可以不允许将编码块分区为多个预测单元。在这种情况下,N可以是2的倍数的正整数。在示例中,N可以是64。

在示例中,当编码块的高度或宽度中的至少一个大于64时(例如,当宽度或高度中的至少一个为128时),可以不使用预测单元分区。例如,当编码块具有128×M或M×128形状时,可以不应用预测单元分区。在这种情况下,M表示等于或小于128的整数。

可选地,通过考虑可由实现的硬件同时处理的样点的最大数量,针对样点数量大于阈值的编码块,可以不允许预测单元划分。在一个示例中,对于样点数量大于4096的编码树块,可以不允许预测单元分区。

可选地,当编码块的宽度或高度中的至少一个等于或大于阈值时,可以不允许预测单元分区。在这种情况下,阈值可以是在编码器和解码器中预定义的值。可选地,可在比特流中用信号传送用于确定阈值的信息。

可选地,针对包括在编码块中的样点的数量小于阈值的编码块,可以不允许预测单元分区。在示例中,当包括在编码块中的样点的数量小于64时,可将预测单元分区设置为不被应用于编码块。

可选地,可通过将编码块的宽度与高度比和阈值进行比较来确定是否将预测单元分区应用于编码块。在这种情况下,如以下等式5,可将编码块的宽度与高度比whRatio确定为编码块的宽度CbW与高度CbH的比例。

【等式5】

whRatio=CbW/CbH

可通过交换等式5中的分母和分子的位置来推导宽度与高度比whRatio。CbW和CbH中的较小值可代替分子,并且较大值可代替分母。

当编码块的宽度与高度比等于或大于阈值或者满足预设范围时,可允许或不允许预测单元分区。在示例中,当阈值为16时,可以不将预测单元分区应用于64×4或4×64尺寸的编码块。

可选地,基于父节点的分区类型,可确定是否允许预测单元分区。在示例中,当基于四叉树分区对编码块(父节点)进行分区时,预测单元分区可被应用于编码块(叶节点)。另一方面,当基于二叉树分区或三叉树分区对编码块(父节点)进行分区时,预测单元分区可被设置为不允许用于编码块(叶节点)。

可选地,基于编码块的预测编码模式,可确定是否允许预测单元分区。在示例中,仅当通过帧内预测对编码块进行编码时,当通过帧间预测对编码块进行编码时,或者当通过预定义的帧间预测模式对编码块进行编码时,才可允许预测单元分区。在此情况下,预定义帧间预测模式可包括合并模式、运动矢量预测模式、仿射合并模式或仿射运动矢量预测模式中的至少一个。

可选地,基于并行处理区域的尺寸,可确定是否允许预测单元分区。在示例中,当编码块的尺寸大于并行处理区域的尺寸时,可以不使用预测单元分区。

可选地,仅当编码块具有正方形形状时,才可允许预测单元分区。当编码块具有非正方形形状时,可以不应用预测单元分区。

可选地,可基于是否通过帧内预测对编码块进行编码或者是否通过帧间预测对编码块进行编码来确定是否允许对角线分区。

可选地,可基于是否通过特定帧间预测模式(例如,合并模式、AMVP模式、ATMVP模式或仿射模式中的至少一个)对编码块进行编码来确定是否允许对角线分区。

通过考虑上面列举的条件中的两个或更多个,可确定预测单元分区是否将被应用于编码块。

在另一示例中,可在比特流中用信号传送表示预测单元分区是否将被应用于编码块的信息。可在序列、画面、条带或块级别用信号传送所述信息。

例如,可在编码块级别用信号传送表示预测单元分区是否被应用于编码块的标志triangle_partition_flag。

可选地,可针对序列、画面、条带或编码树单元用信号传送表示是否允许预测单元分区的标志。

当确定将预测单元分区应用于编码块时,可在比特流中用信号传送表示对编码块进行分区的线的数量、方向或位置的信息。

在示例中,当通过对角线对编码块进行分区时,可在比特流中用信号传送表示对编码块进行分区的对角线的方向的信息。在示例中,可在比特流中用信号传送表示分区方向的标志triangle_partition_type_flag。所述标志表示是否由连接左上方和右下方的对角线对编码块进行分区,或者由连接右上方和左下方的对角线对编码块进行分区。

当由连接左上方和右下方的对角线对编码块进行分区时,其可被称为左侧三角形分区类型,当由连接右上方和左下方的对角线对编码块进行分区时,其可被称为右侧三角形分区类型。在示例中,当标志的值为0时,其可表示编码块的分区类型为左侧三角形分区类型,当标志的值为1时,其可表示编码块的分区类型为右侧三角形分区类型。

可在编码块级别用信号传送表示编码块的分区类型的信息。因此,可针对应用预测单元分区的每个编码块来确定分区类型。

在另一示例中,可用信号传送序列、画面、条带、并行块或编码树单元的分区类型的信息。在这种情况下,可将在序列、画面、条带、并行块或编码树单元中应用对角线分区的编码块的分区类型设置为相同。

可选地,可编码并用信号传送用于确定用于在编码树单元中应用预测单元分区的第一编码单元的分区类型的信息,并且可将第二个或之后应用预测单元分区的编码单元设置为使用与第一编码单元相同的分区类型。

在另一示例中,可基于邻近块的分区类型确定编码块的分区类型。在这种情况下,邻近块可包括与编码块的左上角相邻的邻近块、与右上角相邻的邻近块、与左下角相邻的邻近块、位于顶部的邻近块、位于左侧的邻近块、同位块或同位块的邻近块中的至少一个。在示例中,可将当前块的分区类型设置为与邻近块的分区类型相同。可选地,可基于左侧三角形分区类型是否被应用于左上方邻近块或者右侧三角形分区类型是否被应用于右上方邻近块或左下方邻近块来确定当前块的分区类型。

为了针对第一预测单元和第二预测单元执行运动预测补偿,可推导第一预测单元和第二预测单元中的每一个的运动信息。在此情况下,可从包括在合并候选列表中的合并候选推导第一预测单元和第二预测单元的运动信息。为了对一般合并候选列表与用于推导预测单元的运动信息的合并候选列表进行区分,用于推导预测单元的运动信息的合并候选列表被称为分区模式合并候选列表或三角形合并候选列表。另外,包括在分区模式合并候选列表中的合并候选被称为分区模式合并候选或三角形合并候选。但是,将上述推导合并候选的方法和上述构成合并候选列表的方法应用于推导分区模式合并候选和构成分区模式合并候选列表也被包括在本公开的范围内。

可在比特流中用信号传送用于确定可包括在分区模式合并候选列表中的分区模式合并候选的最大数量的信息。所述信息可表示可包括在合并候选列表中的合并候选的最大数量与可包括在分区模式合并候选列表中的分区模式合并候选的最大数量之间的差。

可从编码块的空间邻近块和时间邻近块推导分区模式合并候选。

图27是示出用于推导分区模式合并候选的邻近块的示图。

可通过使用位于编码块顶部的邻近块、位于编码块左侧的邻近块或与编码块包括在不同的画面中的同位块中的至少一个来推导分区模式合并候选。顶部邻近块可包括包含位于编码块顶部的样点(xCb+CbW-1,yCb-1)的块、包括位于编码块顶部的样点(xCb+CbW,yCb-1)的块或包括位于编码块顶部的样点(xCb-1,yCb-1)的块中的至少一个。左侧邻近块可包括包含位于编码块左侧的样点(xCb-1,yCb+CbH-1)的块或包括位于编码块左侧的样点(xCb-1,yCb+CbH)的块中的至少一个。同位块可被确定为包括与编码块的右上角相邻的样点(xCb+CbW,yCb+CbH)的块或包括同位画面中的位于编码块的中心的样点(xCb/2,yCb/2)的块中的一个。

可按照预定义顺序搜索邻近块,并且分区模式合并候选列表可根据预定义顺序配置有分区模式合并候选。在示例中,可按照B1、A1、B0、A0、C0、B2和C1的顺序搜索分区模式合并候选以配置分区模式合并候选列表。

当通过对角线分区对与当前编码块相邻的邻近块进行编码时,可基于邻近块中的左侧三角形预测单元或右侧三角形预测单元中的至少一个来推导分区合并候选。

图28是用于描述从通过对角线分区编码的邻近块推导分区合并候选的示例的示图。

当邻近块包括多个预测单元时,可基于多个预测单元中的一个的运动矢量推导分区合并候选。

在一个示例中,在图28的(a)所示出的示例中,当通过对角线分区对包括与当前编码块左侧相邻的样点A1的左侧邻近块进行编码时,可基于由左侧邻近块所包括的预测单元之中的与当前编码块相邻的右侧三角形预测单元P2的运动矢量来推导分区合并候选。当通过对角线分区对包括与当前编码块的顶部相邻的样点B1的顶部邻近块进行编码时,可基于由顶部邻近块所包括的预测单元之中的与当前编码块相邻的左侧三角形预测单元P1的运动矢量来推导分区合并候选。

可选地,在图28的(b)所示出的示例中,当通过对角线分区对包括与当前编码块左侧相邻的样点A1的左侧邻近块进行编码时,可基于由左侧邻近块所包括的预测单元之中的与当前编码块相邻的右侧三角形预测单元P2的运动矢量来推导分区合并候选。当通过对角线分区对包括与当前编码块的顶部相邻的样点B1的顶部邻近块进行编码时,可基于由顶部邻近块所包括的预测单元之中的与当前编码块相邻的右侧三角形预测单元P2的运动矢量来推导分区合并候选。

可选地,可通过使用基于包括在邻近块中的预测单元的运动矢量的平均值或加权和运算推导的值来推导合并候选。

可选地,可基于包括在邻近块中的多个预测单元中的每一个的运动矢量推导多个合并候选。

可从分区合并候选推导预测单元的运动信息。在示例中,可将分区合并候选的运动信息设置为预测单元的运动信息。

当邻近块通过对角线分区被编码时,可将邻近块的分区方向和运动信息应用于当前编码块。

图29是示出将邻近块的分区方向和运动信息应用于编码块的示例的示图。

在图29的(a)所示出的示例中,当包括与当前编码块的左侧相邻的样点A1的左侧邻近块通过对角线分区被编码时,可将当前编码块的分区方向设置为与左侧邻近块的分区方向相同。在示例中,当基于连接左侧邻近块的左上方与右下方的对角线(下文中,被称作左上方对角线)对左侧邻近块进行分区时,还可通过使用左上方对角线对编码块进行分区。

另外,可基于左侧邻近块中的左侧三角形预测单元的运动信息(例如,运动矢量A1_MVP1)来推导当前编码块中的左侧三角形预测单元的运动信息,并且可基于左侧邻近块中的右侧三角形预测单元的运动信息(例如,运动矢量A1_MVP2)来推导当前编码块中的右侧三角形预测单元的运动信息。在示例中,可将当前编码块中的左侧三角形预测单元的运动矢量设置为与左侧邻近块中的左侧三角形预测单元的运动信息A1_MVP1相同,并且可将当前编码块中的右侧三角形预测单元的运动矢量设置为与左侧邻近块中的右侧三角形预测单元的运动矢量A1_MVP2相同。

在图29的(b)所示出的示例中,当包括与当前编码块的顶部相邻的样点B1的顶部邻近块通过对角线分区被编码时,可将当前编码块的分区方向设置为与顶部邻近块的分区方向相同。在示例中,当顶部邻近块基于连接顶部邻近块的右上方与左下方的对角线(下文中,被称作右上方对角线)被分区时,还可通过使用右上方对角线对编码块进行分区。

另外,可基于顶部邻近块中的左侧三角形预测单元的运动信息(例如,运动矢量B1_MVP1)来推导当前编码块中的左侧三角形预测单元的运动信息,并且可基于顶部邻近块中的右侧三角形预测单元的运动信息(例如,运动矢量B1_MVP2)来推导当前编码块中的右侧三角形预测单元的运动信息。在示例中,可将当前编码块中的左侧三角形预测单元的运动矢量设置为与顶部邻近块中的左侧三角形预测单元的运动信息B1_MVP1相同,并且可将当前编码块中的右侧三角形预测单元的运动矢量设置为与顶部邻近块中的右侧三角形预测单元的运动矢量B1_MVP2相同。

合并候选可包括邻近块的分区方向和运动信息。

在另一示例中,当与当前编码块或包括在同位画面中的同位块相邻的邻近块通过对角线分区被编码时,可确定相应块不可用作合并候选。

预测单元可分别具有不同运动信息。在示例中,可独立地确定左侧三角形预测单元和右侧三角形预测单元的运动信息。

可基于包括空间合并候选和/或时间合并候选的分区模式合并候选列表推导预测单元的运动信息。当前编码块中的预测单元可共享一个分区模式合并候选列表。在这种情况下,可基于包括第一预测单元和/或第二预测单元的矩形编码块来推导分区合并候选。可不同地设置可由分区模式合并候选列表所包括的分区合并候选的最大数量。

可根据预定义的编码/解码条件来确定是否应用对角线分区。在示例中,可以不将对角线分区应用于其宽度和/或高度为阈值的矩形块,或者可将对角线分区部分地应用于该矩形块的一部分。具体地,可以不将对角线分区应用于8×4或4×8尺寸的块。可选地,将对角线分区应用于8×4或4×8尺寸的块,但仅可将单向预测(例如,Uni-L0和/或Uni-L1)设置为可能的。

当针对通过对角线分区产生的预测单元仅允许单向预测时,可仅将在合并候选的双向运动信息之中的任意单向运动信息设置为将被使用。

在示例中,当分区合并候选列表中的偶数合并候选(例如,其索引为偶数的合并候选)具有双向运动信息时,仅相应合并候选的第一方向运动信息可被用于预测单元。当分区合并候选列表中的奇数合并候选(例如,其索引为奇数的合并候选)具有双向运动信息时,仅相应合并候选的第二方向运动信息可被用于预测单元。第一方向表示L0和L1方向中的一个,第二方向表示另一个。

可选地,可通过考虑L0参考画面和L1参考画面的输出顺序来确定可由预测单元使用的单向运动信息。在示例中,可将合并候选的L0参考画面的POC与当前画面的POC之间的差和合并候选的L1参考画面的POC与当前画面的POC之间的差进行比较,并且然后可将使用具有那些差之中的较小差的参考画面的单向运动信息设置为可用。更详细地讲,在当前画面的POC与L0参考画面的POC之间的POC差的绝对值小于当前画面的POC与L1参考画面的POC之间的POC差的绝对值时,L0运动信息可被用作合并候选。

当针对L0参考画面的POC差与针对L1参考画面的POC差相同时,可固定地使用L0运动信息或L1运动信息。

在另一示例中,可通过考虑L0参考画面和L1参考画面的时间ID(TID)来确定可由预测单元使用的单向运动信息。在示例中,可将合并候选的L0参考画面的TID与当前画面的TID之间的差和合并候选的L1参考画面的TID与当前画面的TID之间的差进行比较,然后可将使用具有这些差中的较小差的参考画面的单向运动信息设置为可用。更详细地讲,在当前画面的TID与L0参考画面的TID之间的TID差的绝对值小于当前画面的TID与L1参考画面的TID之间的TID差的绝对值时,L0运动信息可被用作合并候选。

当针对L0参考画面的TID差与针对L1参考图像的TID差相同时,可以固定地使用L0运动信息或L1运动信息。

可通过使用可用单向运动信息来重新配置分区合并候选列表。可将分区合并候选列表中的具有双向运动信息的分区合并候选重新配置为具有单向运动信息的分区合并候选。在示例中,可将具有双向运动信息的分区合并候选改变为具有L0运动信息的分区合并候选或具有L1运动信息的分区合并候选。可选地,可将具有双向运动信息的分区合并候选划分为具有L0运动信息的分区合并候选和具有L1运动信息的分区合并候选。

在示例中,在图27所示出的示例中,当通过按照A0、B0、B1、A1和B2的顺序搜索邻近块来推导分区合并候选时,可将每一个邻近块的每一个单向运动信息设置为分区合并候选。换句话说,可按照以下顺序推导合并候选。

A0.MvL0→A0.MvL1→B0.MvL0→B0.MvL1→B1.MvL0→B1.MvL1→A1.MvL0→A1.MvL1→B2.MvL0→B2.MvL1

在此情况下,可执行分区合并候选之间的裁剪,使得将不存在相同的单向运动信息。

可将双向预测设置为不针对预测单元执行。可基于包括预测单元的编码块的尺寸和/或形状来确定是否允许双向预测。在示例中,当编码块具有4×8或8×4尺寸时,可以不允许针对预测单元执行双向预测。

当不允许双向方向并且分区合并候选具有双向运动信息时,可基于L0参考画面与L1参考画面之间的输出顺序(例如,POC)差或TID差中的至少一个来选择单向运动信息。可选地,可将具有双向运动信息的分区合并候选重新配置为具有单向运动信息的分区合并候选。

为了推导预测单元的运动信息,可在比特流中用信号传送用于指定包括在分区模式合并候选列表中的分区模式合并候选中的至少一个的信息。在示例中,可在比特流中用信号传送用于指定分区模式合并候选中的至少一个的索引信息merge_triangle_idx。

可仅用信号传送针对第一预测单元和第二预测单元中的任何一个的索引信息,并且可基于索引信息确定针对用于第一预测单元和第二预测单元中的另一个的合并候选的索引。

在示例中,可用信号传送用于指定第一预测单元的分区合并候选的索引merge_triangle_idx。语法merge_triangle_idx可表示分区模式合并候选中的任何一个的索引。

当基于merge_triangle_idx指定第一预测单元的合并候选时,可基于第一预测单元的合并候选指定第二预测单元的合并候选。在示例中,可通过将偏移与第一预测单元的合并候选的索引相加或者从第一预测单元的合并候选的索引减去偏移来推导第二预测单元的合并候选。偏移可以是诸如1或2的整数。在示例中,第二预测单元的合并候选可具有将第一预测单元的合并候选的索引N加1得到的值作为索引。

当第一预测单元的合并候选的索引在分区模式合并候选中具有最大索引值时,可将索引为0的分区模式合并候选或者具有从第一预测单元的合并候选的索引减去1得到的值作为索引的分区模式合并候选确定为第二预测单元的合并候选。

可选地,可从具有与由索引信息指定的第一预测单元的分区模式合并候选的参考画面相同的参考画面的分区模式合并候选推导第二预测单元的运动信息。在这种情况下,具有与第一预测单元的分区模式合并候选的参考画面相同的参考画面的分区模式合并候选可表示具有与第一预测单元的分区模式合并候选的参考画面相同的L0参考画面像或L1参考画面中的至少一个的分区模式合并候选。当存在具有与第一预测单元的分区模式合并候选的参考画面相同的参考画面的多个分区模式合并候选时,可基于合并候选是否包括双向运动信息或者合并候选的索引与索引信息之间的差值中的至少一个来选择任何一个。

在另一示例中,可针对第一预测单元和第二预测单元中的每一个用信号传送索引信息。在示例中,可在比特流中用信号传送用于确定第一预测单元的分区模式合并候选的第一索引信息1st_merge_idx以及用于确定第二预测单元的分区模式合并候选的第二索引信息2nd_merge_idx。可从基于第一索引信息1st_merge_idx确定的分区模式合并候选推导第一预测单元的运动信息,并且可从基于第二索引信息2nd_merge_idx确定的分区模式合并候选推导第二预测单元的运动信息。

第一索引信息1st_merge_idx可表示包括在分区模式合并候选列表中的分区模式合并候选中的一个的索引。可将第一预测单元的分区模式合并候选确定为由第一索引信息1st_merge_idx指示的分区模式合并候选。

可将由第一索引信息1st_merge_idx指示的分区模式合并候选设置为不可用作第二预测单元的分区模式合并候选。因此,第二预测单元的第二索引信息2nd_merge_idx可表示除由第一索引信息指示的分区模式合并候选之外的其余分区模式合并候选中的任何一个的索引。当第二索引信息2nd_merge_idx的值小于第一索引信息1st_merge_idx的值时,可将第二预测单元的分区模式合并候选确定为具有由第二索引信息2nd_merge_idx表示的索引信息的分区模式合并候选。另一方面,当第二索引信息2nd_merge_idx的值与第一索引信息1st_merge_idx的值相同或者大于第一索引信息1st_merge_idx的值时,可将第二预测单元的分区模式合并候选确定为具有将通过将第二索引信息2nd_merge_idx的值加1而获得的值作为索引的分区模式合并候选。

可选地,根据包括在分区模式合并候选列表中的分区模式合并候选的数量,可确定是否用信号传送第二索引信息。在示例中,当可包括在分区模式合并候选列表中的分区模式合并候选的最大数量不超过2时,可省略对第二索引信息的信号传送。当省略对第二索引信息的信号传送信时,可通过将偏移与第一索引信息相加或从第一索引信息减去偏移来推导第二分区模式合并候选。在示例中,当可包括在分区模式合并候选列表中的分区模式合并候选的最大数量为2,并且第一索引信息指示索引为0时,可通过将第一索引信息加1来推导第二分区模式合并候选。可选地,当可包括在分区模式合并候选列表中的分区模式合并候选的最大数量为2,并且第一索引信息指示1时,可通过从第一索引信息减去1推导第二分区模式合并候选。

可选地,当省略对第二索引信息的信号传送时,可将第二索引信息推断为默认值。在这种情况下,默认值可以是0。可通过将第一索引信息与第二索引信息进行比较来推导第二分区模式合并候选。在示例中,当第二索引信息小于第一索引信息时,可将其索引为0的合并候选设置为第二分区模式合并候选。当第二索引信息与第一索引信息相同或者大于第一索引信息时,可将其索引为1的合并候选设置为第二分区模式合并候选。

当分区模式合并候选具有单向运动信息时,可将分区模式合并候选的单向运动信息设置为预测单元的运动信息。另一方面,当分区模式合并候选具有双向运动信息时,可仅将L0运动信息或L1运动信息中的一个设置为预测单元的运动信息。可基于分区模式合并候选的索引或其他预测单元的运动信息来确定将采用L0运动信息或L1运动信息中的哪个。

在示例中,当分区模式合并候选的索引为偶数时,可将预测单元的L0运动信息设置为0,并且可将分区模式合并候选的L1运动信息设置为预测单元的L1运动信息。另一方面,当分区模式合并候选的索引为奇数时,可将预测单元的L1运动信息设置为0,并且可将分区模式合并候选的L0运动信息设置为0。相反,当分区模式合并候选的索引为偶数时,可将分区模式合并候选的L0运动信息设置为预测单元的L0运动信息。当分区模式合并候选的索引为奇数时,可将分区模式合并候选的L1运动信息设置为预测单元的L1运动信息。可选地,对于第一预测单元,当用于第一预测单元的分区模式合并候选为偶数时,可将分区模式合并候选的L0运动信息设置为第一预测单元的L0运动信息,但对于第二预测单元,当用于第二预测单元的分区模式合并候选为奇数时,可将分区模式合并候选的L1运动信息设置为第二预测单元的L1运动信息。

可选地,当第一预测单元具有L0运动信息时,可将第二预测单元的L0运动信息设置为0,并且可将分区模式合并候选的L1运动信息设置为第二预测单元的L1信息。另一方面,当第一预测单元具有L1运动信息时,可将第二预测单元的L1运动信息设置为0,并且可将分区模式合并候选的L0运动信息设置为第二预测单元的L0运动信息。

可不同地确定可由第一预测单元和第二预测单元使用的合并候选的数量或范围。

在示例中,可基于从左侧邻近块推导的合并候选推导左侧三角形预测单元的运动信息。可基于从顶部邻近块推导的合并候选来推导右侧三角形预测单元的运动信息。

可选地,可将由分区合并候选列表所包括的分区合并候选之中的从左侧邻近块推导的分区合并候选设置为不可用于右侧三角形预测单元。可将从顶部邻近块推导的分区合并候选设置为不可用于左侧三角形预测单元。

图30是用于解释针对每个预测单元确定邻近块的可用性的示例的示图。

可将不与第一预测单元相邻的邻近块设置为不可用于第一预测单元,并且可将不与第二预测单元相邻的邻近块设置为不可用于第二预测单元。

在示例中,如在图30的(a)所示出的示例中,当左侧三角形分区类型被应用于编码块时,可确定虽然与编码块相邻的邻近块之中的与第一预测单元相邻的块A1、A0和A2可用于第一预测单元,但块B0和B1不可用于第一预测单元。

如在图30的(b)所示出的示例中,当左侧三角形分区类型被应用于编码块时,可确定虽然与第二预测单元相邻的块B0和B1可用于第二预测单元,但块A1、A0和A2不可用于第二预测单元。

因此,可基于预测单元的位置或编码块的分区类型中的至少一个来确定可由预测单元使用的分区模式合并候选的数量或分区模式合并候选的范围。

可将用于推导第一预测单元的运动信息的分区模式合并候选列表设置为与用于推导第二预测单元的运动信息的分区模式合并候选列表不同。

在示例中,当基于针对第一预测单元的索引信息指定分区模式合并候选列表中的用于推导第一预测单元的运动信息的分区模式合并候选时,可通过使用包括除由该索引信息指示的分区模式合并候选之外的其余分区模式合并候选的分区模式合并列表来推导第二预测单元的运动信息。相反,可从其余分区模式合并候选中的一个推导第二预测单元的运动信息。

因此,在第一预测单元的分区模式合并候选列表中包括的分区模式合并候选的最大数量可与在第二预测单元的分区模式合并候选列表中包括的分区模式合并候选的最大数量不同。在示例中,当第一预测单元的分区模式合并候选列表包括M个合并候选时,第二预测单元的分区模式合并候选列表可包括除了由第一预测单元的索引信息指示的分区模式合并候选之外的M-1个合并候选。

在另一示例中,可通过基于与编码块相邻的邻近块推导每一个预测单元的合并候选但通过考虑预测单元的形状或位置来确定邻近块的可用性。

在另一示例中,可仅将合并模式应用于第一预测单元和第二预测单元中的一个。并且,可将第一预测单元和第二预测单元中的另一个的运动信息设置为与应用合并模式的预测单元的运动信息相同,或者可通过对应用合并模式的预测单元的运动信息进行细化来推导第一预测单元和第二预测单元中的另一个的运动信息。

在示例中,基于分区模式合并候选,可推导第一预测单元的运动矢量和参考画面索引,并且可通过对第一预测单元的运动矢量进行细化来推导第二预测单元的运动矢量。在示例中,可通过将细化运动矢量{Nx,Ny}与第一预测单元的运动矢量{(mvD1L0x,mvD1L0y),(mvD1LXx,mvD1Lxy)}相加或者从第一预测单元的运动矢量{(mvD1L0x,mvD1L0y),(mvD1LXx,mvD1LXy)}减去细化运动矢量{Nx,Ny}来推导第二预测单元的运动矢量。可将第二预测单元的参考画面索引设置为与第一预测单元的参考画面索引相同。

当对第一预测单元的运动矢量进行细化时,可将第二预测单元的运动矢量设置为在距第一预测单元的运动矢量的特定范围内。在示例中,第二预测单元的运动矢量水平分量的值可在(-Nx+mvD1LXx)与(Nx+mvD1LXx)之间,并且第二预测单元的运动矢量垂直分量的值可在(-Ny+mvD1LXy)与(Ny+mvD1LXy)之间。X表示0或1。

可在比特流中用信号传送用于确定表示第一预测单元的运动矢量与第二预测单元的运动矢量之间的差的细化运动矢量的信息。所述信息可包括表示细化运动矢量的大小的信息或者表示细化运动矢量的正负号的信息中的至少一个。

可选地,可基于预测单元的位置或索引、或者应用于编码块的分区类型中的至少一个来推导细化运动矢量(例如,Nx和/或Ny)的正负号。

当编码块的尺寸具有预设尺寸和/或形状时,可省略对运动矢量进行细化的处理。在示例中,当编码块的尺寸为4×8或8×4时,可省略对从合并候选推导的运动矢量进行细化的处理。当省略对运动矢量进行细化的处理时,可从不同的分区合并候选推导每一个预测单元的运动信息。

在另一示例中,可用信号传送第一预测单元和第二预测单元中的一个的运动矢量和参考画面索引。可通过对用信号传送的运动矢量进行细化来推导第一预测单元和第二预测单元中的另一个的运动矢量。

在示例中,基于在比特流中用信号传送的信息,可确定第一预测单元的运动矢量和参考画面索引。并且,可通过对第一预测单元的运动矢量进行细化来推导第二预测单元的运动矢量。在示例中,可通过将细化运动矢量{Rx,Ry}与第一预测单元的运动矢量,相加或者从第一预测单元的运动矢量减去细化运动矢量{Rx,Ry}来推导第二预测单元的运动矢量。可将第二预测单元的参考画面索引设置为与第一预测单元的参考画面索引相同。

在另一示例中,可仅将合并模式应用于第一预测单元和第二预测单元中的一个。并且,可基于应用合并模式的预测单元的运动信息推导第一预测单元和第二预测单元中的另一个的运动信息。在示例中,可将第一预测单元的运动矢量的对称运动矢量设置为第二预测单元的运动矢量。在这种情况下,对称运动矢量可表示具有与第一预测单元的运动矢量的大小相同的大小、但具有x轴分量或y轴分量的至少一个相反正负号的运动矢量,或者具有与通过对第一预测单元的运动矢量进行缩放而获得的缩放矢量的大小相同的大小、但具有x轴分量或y轴分量的至少一个相反正负号的运动矢量。在示例中,当第一预测单元的运动矢量为(MVx,MVy)时,可将第二预测单元的运动矢量设置为作为运动矢量的对称运动矢量的(MVx,-MVy)、(-MVx,MVy)或(-MVx,-MVy)。

在另一示例中,可仅从合并候选推导第一预测单元和第二预测单元中的任何一个的运动信息。具体地,可仅针对第一预测单元和第二预测单元中的任何一个用信号传送表示运动信息的信息,并且可针对另一个用信号传送用于指定合并候选的索引信息。

在示例中,可通过在比特流中用信号传送的信息确定第一预测单元的运动矢量和参考画面索引,并且可基于合并候选推导第二预测单元的运动信息。在这种情况下,还可在比特流中用信号传送用于指定合并候选的索引信息,并且可基于由索引信息指示的分区合并候选推导第二预测单元的运动矢量和参考画面索引。

可将第一预测单元和第二预测单元之中的未应用合并模式的预测单元的参考画面索引设置为与应用合并模式的预测单元的参考画面索引相同。可选地,可将未应用合并模式的预测单元的参考画面索引设置为预定义值。在这种情况下,预定义值可以是参考画面列表中的最小索引或最大索引。可选地,可在比特流中用信号传送指定未应用合并模式的预测单元的参考画面索引的信息。可选地,可从与应用合并模式的预测单元的参考画面所属的参考画面列表不同的参考画面列表中选择未应用合并模式的预测单元的参考画面。在示例中,当从L0参考画面列表选择应用合并模式的预测单元的参考画面时,可从L1参考画面列表选择未应用合并模式的预测单元的参考画面。在这种情况下,可基于应用合并模式的预测单元的参考画面与当前画面之间的画面顺序计数(POC)的差推导未应用合并模式的预测单元的参考画面。在示例中,当从L0参考画面列表选择应用合并模式的预测单元的参考画面时,可将L1参考画面列表中的与当前画面的差值与应用合并模式的预测单元的参考画面与当前画面之间的差值相同或者类似于应用合并模式的预测单元的参考画面与当前画面之间的差值的参考画面选为未应用合并模式的预测单元的参考画面。

当第一预测单元的参考画面与当前画面之间的画面顺序计数差值不同于第二预测单元的参考画面与当前画面之间的画面顺序计数差值时,可将应用合并模式的预测单元的缩放运动矢量的对称运动矢量设置为未应用合并模式的预测单元的运动矢量。在这种情况下,可基于每一个参考画面与当前画面之间的画面顺序计数差值执行缩放。

在另一示例中,在推导第一预测单元和第二预测单元中的每一个的运动矢量之后,可将细化矢量与推导的运动矢量相加或者从推导的运动矢量减去细化矢量。在示例中,可通过将第一细化矢量与基于第一合并候选推导的第一运动矢量相加或从基于第一合并候选推导的第一运动矢量减去第一细化矢量来推导第一预测单元的运动矢量,并且可通过将第二细化矢量与基于第二合并候选推导的第二运动矢量相加或从基于第二合并候选推导的第二运动矢量减去第二细化矢量来推导第二预测单元的运动矢量。可在比特流中用信号传送用于确定第一细化矢量或第二细化矢量中的至少一个的信息。所述信息可包括用于确定细化矢量的大小的信息或用于确定细化矢量的正负号的信息中的至少一个。

第二细化矢量可以是关于第一细化矢量的对称运动矢量。在这种情况下,可仅针对第一细化矢量和第二细化矢量中的一个用信号传送用于确定细化矢量的信息。在示例中,当通过在比特流中用信号传送的信息将第一细化矢量确定为(MVDx,MVDy)时,可将作为第一细化矢量的对称运动矢量的(-MVDx,MVDy)、(MVDx,-MVDy)或(-MVDx,-MVDy)设置为第二细化矢量。根据每一个预测单元的参考画面的画面顺序计数,可将通过对第一细化矢量进行缩放而获得的缩放运动矢量的对称运动矢量设置为第二细化矢量。

在另一示例中,可基于合并候选推导第一预测单元和第二预测单元中的一个的信息,并且可基于比特流中用信号传送的信息确定另一个的运动信息。在示例中,可针对第一预测单元用信号传送合并索引,并且可针对第二预测单元用信号传送用于确定运动矢量的信息和用于确定参考画面的信息中的至少一个。可将第一预测单元的运动信息设置为与由合并索引指定的合并候选的运动信息相同。可由在比特流中用信号传送的用于确定运动矢量的信息和用于确定参考画面的信息中的至少一个来指定第二预测单元的运动信息。

可基于第一预测单元的运动信息和第二预测单元的运动信息来执行针对每一个编码块的运动预测补偿预测。在这种情况下,在第一预测单元和第二预测单元的边界上可能产生质量劣化。在示例中,在第一预测单元和第二预测单元的边界上的边缘周围,质量连续性可能劣化。为了减少边界上的质量劣化,可通过平滑滤波器或加权预测来推导预测样点。

可基于根据第一预测单元的运动信息获得的第一预测样点与根据第二预测单元的运动信息获得的第二预测样点的加权和运算来推导应用对角线分区的编码块中的预测样点。可选地,可从基于第一预测单元的运动信息确定的第一预测块推导第一预测单元的预测样点,并且可从基于第二预测单元的运动信息确定的第二预测块推导第二预测单元的预测样点,但可基于包括在第一预测块中的第一预测样点与包括在第二预测块中的第二预测样点的加权和运算推导第一预测单元和第二预测单元的边界区域上的预测样点。在示例中,以下等式6表示推导第一预测单元和第二预测单元的预测样点的示例。

【等式6】

P(x,y)=wl*Pl(x,y)+(1-w1)*P2(x,y)

在等式6中,P1表示第一预测样点,并且P2表示第二预测样点。w1表示施加于第一预测样点的权重,并且(1-w1)表示施加于第二预测样点的权重。如在等式6中所示出的示例中,可通过从常数值减去施加于第一预测样点的权重来推导施加于第二预测样点的权重。

当将左侧三角形分区类型应用于编码块时,边界区域可包括具有相同的x轴坐标和y轴坐标的预测样点。另一方面,当将右侧三角形分区类型应用于编码块时,边界区域可包括x轴坐标和y轴坐标的总和等于或大于第一阈值且等于或小于第二阈值的预测样点。

可基于编码块的尺寸、编码块的形状、预测单元的运动信息、预测单元的运动矢量差值、参考画面的画面顺序计数或者对角线边界上的第一预测样点与第二预测样点之间的差值中的至少一个来确定边界区域的尺寸。

图31和32是示出基于第一预测样点和第二预测样点的加权和运算推导预测样点的示例的示图。图31示出将左侧三角形分区类型应用于编码块的情况,图32示出将右侧三角形分区类型应用于编码块的情况。另外,图31的(a)和图32的(a)是表示针对亮度分量的预测方面的示图,并且图31的(b)和图32的(b)是表示针对色度分量的预测方面的示图。

在所示出的示图中,在第一预测单元和第二预测单元的边界周围的预测样点上标记的数字表示施加于第一预测样点的权重。在示例中,当预测样点上标记的数字为N时,可通过将N/8的权重施加于第一预测样点并且将(1-(N/8))的权重施加于第二预测样点来推导预测样点。

在非边界区域中,可将第一预测样点或第二预测样点确定为预测样点。查看图31中的示例,可将基于第一预测单元的运动信息推导的第一预测样点确定为属于第一预测单元的区域中的预测样点。另一方面,可将基于第二预测单元的运动信息推导的第二预测样点确定为属于第二预测单元的区域中的预测样点。

查看图32中的示例,可将基于第一预测单元的运动信息推导的第一预测样点确定为x轴坐标与y轴坐标的总和小于第一阈值的区域中的预测样点。另一方面,可将基于第二预测单元的运动信息推导的第二预测样点确定为x轴坐标与y轴坐标的总和大于第二阈值的区域中的预测样点。

可基于编码块的尺寸、编码块的形状或颜色分量中的至少一个来确定用于确定非边界区域的阈值。在示例中,当针对亮度分量的阈值被设置为N时,可将针对色度分量的阈值设置为N/2。

可基于第一预测样点与第二预测样点的加权和运算推导包括在边界区域中的预测样点。在这种情况下,可基于预测样点的位置、编码块的尺寸、编码块的形状或颜色分量中的至少一个来确定施加于第一预测样点和第二预测样点的权重。

在示例中,如在图31的(a)中所示出的示例中,可通过将相同权重施加于第一预测样点和第二预测样点来推导具有相同x轴坐标和y轴坐标的预测样点。可通过将施加于第一预测样点和第二预测样点的权重比例设置为(3:1)或(1:3)来推导x轴坐标与y轴坐标之间的差的绝对值为1的预测样点。另外,可通过将施加于第一预测样点和第二预测样点的权重比例设置为(7:1)或(1:7)来推导x轴坐标与y轴坐标之间的差的绝对值为2的预测样点。

可选地,如在图31的(b)中所示出的示例中,可通过将相同权重施加于第一预测样点和第二预测样点来推导具有相同x轴坐标和y轴坐标的预测样点,并且可通过将施加于第一预测样点和第二预测样点的权重比例设置为(7:1)或(1:7)来推导x轴坐标与y轴坐标之间的差的绝对值为1的预测样点。

在示例中,如在图32的(a)所示出的示例中,可通过将样点权重施加于第一预测样点和第二预测样点来推导x轴坐标与y轴坐标的总和比编码块的宽度或高度小1的预测样点。可通过将施加于第一预测样点和第二预测样点的权重比例设置为(3:1)或(1:3)来推导x轴坐标和y轴坐标的总和与编码块的宽度或高度相同或者比编码块的宽度或高度小2的预测样点。可通过将施加于第一预测样点和第二预测样点的权重比例设置为(7:1)或(1:7)来推导x轴坐标与y轴坐标的总和比编码块的宽度或高度大1或者比编码块的宽度或高度小3的预测样点。

可选地,如在图32的(b)所示出的示例中,可通过将样点权重施加于第一预测样点和第二预测样点来推导x轴坐标与y轴坐标的总和比编码块的宽度或高度小1的预测样点。可通过将施加于第一预测样点和第二预测样点的权重比例设置为(7:1)或(1:7)来推导x轴坐标与y轴坐标的总和与编码块的宽度或高度相同或者比编码块的宽度或高度小2的预测样点。

在另一示例中,可通过考虑预测样点的位置或编码块的形状来确定权重。等式7至等式9表示在将左侧三角形分区类型应用于编码块时推导权重的示例。等式7表示当编码块为正方形时推导施加于第一预测样点的权重的示例。

【等式7】

w1=(x-y+4)/8

在等式7中,x和y表示预测样点的位置。当编码块为非正方形时,可如在以下等式8或等式9中那样推导施加于第一预测样点的权重。等式8表示编码块的宽度大于高度的情况,等式9表示编码块的宽度小于高度的情况。

【等式8】

wl=((x/whRatio)-y+4)/8

【等式9】

w1=(x-(y*whRatio)+4)/8

当将右侧三角形分区类型应用于编码块时,可如在等式10至等式12中那样确定施加于第一预测样点的权重。等式10表示当编码块为正方形时推导应用于第一预测样点的权重的示例。

【等式10】

w1=(CbW-1-x-y)+4)/8

在等式10中,CbW表示编码块的宽度。当编码块为非正方形时,可如在以下等式11或等式12中那样推导施加于第一预测样点的权重。等式11表示编码块的宽度大于高度的情况,等式12表示编码块的宽度小于高度的情况。

【等式11】

w1=(CbH-1-(x/whRatio)-y)+4)/8

【等式12】

w1=(CbW-1-x-(y*whRatio)+4)/8

在等式11中,CbH表示编码块的高度。

如在所示出的示例中,可通过将比第二预测样点大的权重赋予第一预测样点来推导边界区域中的预测样点之中的包括在第一预测单元中的预测样点,并且可通过将比第一预测样点大的权重赋予第二预测样点来推导边界区域中的预测样点之中的包括在第二预测单元中的预测样点。

当对角线分区被应用于编码块时,可将组合了帧内预测模式和合并模式的组合预测模式设置为不被应用于编码块。

可选地,也可将不同的预测方法应用于第一预测单元和第二预测单元。在示例中,可通过将合并候选用于第一预测单元并且通过将帧内预测用于第二预测单元来产生预测图像。相反,可通过将帧内预测用于第一预测单元并且通过将合并候选应用于第二预测单元来产生预测图像。

同样地,不同地设置每一个预测单元的预测方法的预测方法可被称为多三角形预测编码方法。

当应用多三角预测编码方法时,可强制从MPM推导帧内预测模式。换句话说,在多三角形预测单元编码方法中可仅使用N个MPM模式。

可在比特流中用信号传送用于指定MPM候选中的一个的索引信息。可选地,可将MPM候选之中的第一MPM设置为帧内预测模式。

当通过包括帧内预测的多三角形预测编码方法对邻近块进行编码时,可确定邻近块在推导MPM候选时可用。

另一方面,当通过帧内预测而不是多三角形预测编码方法对邻近块进行编码时,可确定邻近块在推导MPM候选时不可用。

可选地,当应用多三角形预测编码方法时,可强制将帧内预测模式设置为默认模式。默认模式可包括平面(Planar)、DC、水平方向、垂直方向或对角线方向上的帧内预测模式中的至少一个。

在另一示例中,可设置为在第一预测单元和第二预测单元两者中使用帧内预测。在这种情况下,第一预测单元的帧内预测模式可与第二预测单元的帧内预测模式不同。

可通过针对由不同预测方法推导出的预测样点执行加权预测来推导预测块。在示例中,可通过针对基于帧间预测推导出的第一预测样点和基于帧内预测推导出的第二预测样点执行加权预测来获得每一个预测单元的预测样点。

等式13表示针对通过帧间预测推导出的预测样点和基于帧内预测推导出的预测样点执行加权预测的示例。

【等式13】

PO=wO*Pintra(x,y)+(IwO)*Pinter(x,y)

PI=wI*Pintra(x,y)+(I-w1)*pinter(x,y)

在等式13中,P0表示第一预测单元的预测样点,并且P1表示第二预测单元的预测样点。Pinter表示通过帧间预测推导出的预测样点,Pintra表示通过帧内预测推导出的预测样点。w1可具有小于w0的值。

出现的问题在于,在第一预测单元和第二预测单元的边界上产生质量劣化,或者边缘周围的质量连续性变差。因此,可通过在第一预测单元和第二预测单元的边界上应用平滑滤波器和/或加权预测等来减少质量劣化。

在完成编码块的编码/解码时,可存储完成编码/解码的编码块的运动信息以用于后续编码块的编码/解码。可以以具有预设尺寸的子块为单位存储运动信息。在示例中,具有预设尺寸的子块可具有4×4尺寸。可选地,根据编码块的尺寸或形状,可不同地确定子块的尺寸或形状。

当子块属于第一预测单元时,可将第一预测单元的运动信息存储为子块的运动信息。另一方面,当子块属于第二预测单元时,可将第二预测单元的运动信息存储为子块的运动信息。

当子块在第一预测单元和第二预测单元的边界上时,可将第一预测单元的运动信息和第二预测单元的运动信息中的任何一个设置为子块的运动信息。在示例中,可将第一预测单元的运动信息设置为子块的运动信息,或者可将第二预测单元的运动信息设置为子块的运动信息。

在另一示例中,当子块在第一预测单元和第二预测单元的边界上时,可从第一预测单元推导子块的L0运动信息和L1运动信息中的任何一个,并且可从第二预测单元推导子块的L0运动信息和L1运动信息中的另一个。在示例中,可将第一预测单元的L0运动信息设置为子块的L0运动信息,并且可将第二预测单元的L1运动信息设置为子块的L1运动信息。但是,当第一预测单元和第二预测单元中仅具有L0运动信息或仅具有L1运动信息时,可通过选择第一预测单元或第二预测单元中的任何一个来确定子块的运动信息。可选地,可将第一预测单元和第二预测单元的运动矢量平均值设置为子块的运动矢量。

可在运动信息表中更新完成编码/解码的编码块的运动信息。在这种情况下,可以不将被应用预测单元分区的编码块的运动信息设置为被添加到运动信息表。

可选地,可仅将通过对编码块进行分区而产生的多个预测单元中的任何一个的运动信息添加到运动信息表。在示例中,虽然可将第一预测单元的运动信息添加到运动信息表,但也可以不将第二预测单元的运动信息添加到运动信息表。在这种情况下,可基于编码块的尺寸、编码块的形状、预测单元的尺寸、预测单元的形状或者是否对预测单元执行双向预测中的至少一个来选择将被添加到运动信息表的预测单元。

可选地,可将通过对编码块进行分区而产生的多个预测单元中的每一个的运动信息添加到运动信息表。在这种情况下,可在编码装置和解码装置中预先定义针对运动信息表的添加顺序。在示例中,包括左上方样点或左下角样点的预测单元的运动信息可在另一预测单元的运动信息之前被添加到运动信息表。可选地,可基于每一个预测单元的合并索引或参考画面索引或者运动矢量的大小中的至少一个来确定针对运动信息表的添加顺序。

可选地,可将组合第一预测单元的运动信息与第二预测单元的运动信息的运动信息添加到运动信息表。可从第一预测单元推导组合运动信息的L0运动信息和L1运动信息中的任何一个,并且可从第二预测单元推导L0运动信息和L1运动信息中的另一个。

可选地,基于第一预测单元的参考画面是否与第二预测单元的参考画面相同,可确定将被添加到运动信息表的运动信息。在示例中,当第一预测单元的参考画面不同于第二预测单元的参考画面时,可将第一预测单元和第二预测单元中的任何一个的运动信息或者组合第一预测单元和第二预测单元的运动信息添加到运动信息表。另一方面,当第一预测单元的参考画面与第二预测单元的参考画面相同时,可将第一预测单元的运动矢量和第二预测单元的运动矢量的平均值添加到运动信息表。

可选地,基于编码块的尺寸、编码块的形状或编码块的分区类型,可确定将被添加到运动信息表的运动矢量。在示例中,当将右侧三角形分区应用于编码块时,可将第一预测单元的运动信息添加到运动信息表。另一方面,当将左侧三角形分区应用于编码块时,可将第二预测单元的运动信息添加到运动信息表,或者可将组合第一预测单元的运动信息与第二预测单元的运动信息的运动信息添加到运动信息表。

可单独定义用于存储应用预测单元分区的编码块的运动信息的运动信息表。在示例中,应用预测单元分区的编码块的运动信息可被存储在分区模式运动信息表中。分区模式运动信息表可被称为三角形运动信息表。换句话说,未应用预测单元分区的编码块的运动信息可被存储在一般运动信息表中,并且应用预测单元分区的编码块的运动信息可被存储在分区模式运动信息表中。将应用上述预测单元分区的编码块的运动信息添加到运动信息表的实施例可被应用于更新分区模式运动信息表。在示例中,可将第一预测单元的运动信息、第二预测单元的运动信息、组合第一预测单元的运动信息与第二预测单元的运动信息的运动信息、以及对第一预测单元的运动矢量与第二预测单元的运动矢量求平均的运动信息添加到分区模式运动信息表。

当预测模式分区不被应用于编码块时,可通过使用一般运动信息表推导合并候选。另一方面,当预测模式分区被应用于编码块时,可通过使用预测模式运动信息表推导合并候选。

帧内预测是通过使用在当前块周围被编码/解码的重建样点来预测当前块。在这种情况下,在应用环路内滤波器之前的重建样点可被用于当前块的帧内预测。

帧内预测方法包括基于矩阵的帧内预测和考虑与周围重建样点的方向的一般帧内预测。可在比特流中用信号传送指示当前块的帧内预测方法的信息。所述信息可以是1比特标志。可选地,可基于当前块的位置、尺寸或形状或者邻近块的帧内预测方法中的至少一个来确定当前块的帧内预测方法。在示例中,当存在经过画面边界的当前块时,基于矩阵的帧内预测可被设置为不被应用于当前块。

一般帧内预测是一种基于非方向帧内预测模式或方向帧内预测模式获得针对当前块的预测块的方法。在下文中,将通过参照示图更详细描述基于一般帧内预测的帧内预测的处理。

图33是根据本公开的实施例的帧内预测方法的流程图。

可确定当前块的参考样点线S3301。参考样点线是指包括在远离当前块的顶部和/或左侧的第k线中的一组参考样点。可从在当前块周围被编码/解码的重建样点推导参考样点。

可在比特流中用信号传送标识多条参考样点线之中的当前块的参考样点线的索引信息。在示例中,可在比特流中用信号传送用于指定当前块的参考样点线的索引信息intra_luma_ref_idx。可以以编码块为单位用信号传送索引信息。

多条参考样点线可包括在当前块的顶部和/或左侧的第一线、第二线和第三线中的至少一条。在多条参考样点线中,利用与当前块的顶部相邻的行和与当前块的左侧相邻的列配置的参考样点线可被称为相邻参考样点线,并且其他参考样点线可被称为非相邻参考样点线。

表5表示被分配给每一条候选参考样点线的索引。

【表5】

索引(intra_luma_ref_idx) 参考样点线
0 相邻参考样点线
1 第一非相邻参考样点线
2 第二非相邻参考样点线

可基于当前块的位置、尺寸、形状或者邻近块的预测编码模式中的至少一个来确定当前块的参考样点线。在示例中,在当前块邻接画面、并行块、条带或编码树单元的边界时,可将相邻参考样点线确定为当前块的参考样点线。参考样点线可包括当前块的顶部位置处的顶部参考样点和当前块的左侧位置处的左侧参考样点。可从当前块周围的重建样点推导顶部参考样点和左侧参考样点。重建样点可处于被应用环内滤波器之前的状态。

接下来,可确定当前块的帧内预测模式S3302。对于当前块的帧内预测模式,可将非方向帧内预测模式或方向帧内预测模式中的至少一个确定为当前块的帧内预测模式。非方向帧内预测模式包括Planar和DC,并且方向帧内预测模式包括从左下方对角线方向到右上方对角线方向的33个或65个模式。

图34是示出帧内预测模式的示图。

图34的(a)表示35个帧内预测模式,图34的(b)表示67个帧内预测模式。

可定义比图34中所示出的更多个或更少个数量的帧内预测模式。

可基于与当前块相邻的邻近块的帧内预测模式设置MPM(最可能模式)。在这种情况下,邻近块可包括与当前块的左侧相邻的左侧邻近块和与当前块的顶部邻近的顶部邻近块。

可在编码器和解码器中预先设置包括在MPM列表中的MPM的数量。在示例中,MPM的数量可以是3、4、5或6。可选地,可在比特流中用信号传送表示MPM的数量的信息。可选地,可基于邻近块的预测编码模式或者当前块的尺寸、形状或参考样点线索引中的至少一个来确定MPM的数量。在示例中,当相邻参考样点线被确定为当前块的参考样点线时可使用N个MPM,然而当非相邻参考样点线被确定为当前块的参考样点线时可使用M个MPM。由于M是小于N的自然数,因此,在示例中,N可以是6并且M可以是5、4或3。因此,在当前块的参考样点线的索引为0并且MPM标志为真时可将当前块的帧内预测模式确定为6个候选帧内预测模式中的任何一个,然而在当前块的参考样点线的索引大于0并且MPM标志为真时,可将当前块的帧内预测模式确定为5个候选帧内预测模式中的任何一个。

可选地,可使用固定数量的(例如,6个或5个)MPM候选而不考虑当前块的参考样点线的索引如何。

当基于矩阵的帧内预测被应用于邻近块时,可通过将邻近块的帧内预测模式视为Planar来推导MPM候选。

当帧内BDPCM被应用于邻近块时,可通过将邻近块的帧内预测模式视为默认模式来推导MPM候选。在这种情况下,默认模式可以是DC、Planar、垂直方向或水平方向中的至少一个。

可选地,基于邻近块的帧内BDPCM应用方向,可确定邻近块的帧内预测模式。在示例中,当水平方向上的帧内BDPCM被应用于邻近块时,可将邻近块的帧内预测模式视为在水平方向上。另一方面,当垂直方向上的帧内BDPCM被应用于邻近块时,可将邻近块的帧内预测模式视为在垂直方向上。

可产生包括多个MPM的MPM列表,并且可在比特流中用信号传送表示与当前块的帧内预测模式相同的MPM是否被包括在MPM列表中的信息。当所述信息是1比特标志时,其可被称为MPM标志。当MPM标志表示与当前块相同的MPM被包括在MPM列表中时,可在比特流中用信号传送标识MPM中的一个的索引信息。在示例中,可在比特流中用信号传送指定多个MPM中的任何一个的索引信息mpm_idx。可将由索引信息指定的MPM设置为当前块的帧内预测模式。当MPM标志表示与当前块相同的MPM不被包括在MPM列表中时,可在比特流中用信号传送指示除MPM之外的剩余帧内预测模式中的任何一个的其余模式信息。其余模式信息指示当索引被重新分配给除MPM之外的其余帧内预测模式时的与当前块的帧内预测模式相应的索引值。可在解码器中按照升序排列MPM并且通过将其余模式信息与MPM进行比较来确定当前块的帧内预测模式。在示例中,当其余模式信息与MPM相同或小于MPM时,可通过将其余模式信息加1来推导当前块的帧内预测模式。

当推导当前块的帧内预测模式时,可省略MPM的一部分与其余模式信息之间的比较。在示例中,可从比较目标中排除MPM之中作为非方向帧内预测模式的MPM。当非方向帧内预测模式被设置为MPM时,显然其余模式信息指示方向帧内预测模式,因此可通过将除了非方向帧内预测模式之外的其余MPM与其余模式信息进行比较来推导当前块的帧内预测模式。由于从比较目标中排除了非方向帧内预测模式,因此可使用通过将非方向帧内预测模式的数量与其余模式信息相加而推导出的值来与其余MPM进行比较。

可在比特流中用信号传送表示当前块的帧内预测模式是否为默认模式的信息来代替将默认模式设置为MPM。所述信息可以是1比特标志,并且所述标志可被称为默认模式标志。可仅在MPM标志表示与当前块相同的MPM被包括在MPM列表中时用信号传送默认模式标志。如上所述,默认模式可包括Planar、DC、垂直方向模式或水平方向模式中的至少一个。在示例中,当Planar被设置为默认模式时,默认模式标志可指示当前块的帧内预测模式是否为Planar。当默认模式标志指示当前块的帧内预测模式不是默认模式时,可将由索引信息指示的MPM中的一个设置为当前块的帧内预测模式。

当使用默认模式标志时,可以不将与默认模式相同的帧内预测模式设置为MPM。在示例中,当默认模式标志指示当前块的帧内预测模式是否为Planar时,可通过使用不包括与Planar相应的MPM的5个MPM推导当前块的帧内预测模式。

当将多个帧内预测模式设置为默认模式时,可进一步用信号传送指示默认模式中的任何一个的索引信息。可将当前块的帧内预测模式设置为由索引信息指示的默认模式。

在当前块的参考样点线的索引不为0时,可将其设置为不使用默认模式。在示例中,当非相邻参考样点线被确定为当前块的参考样点线时,可将其设置为不使用诸如DC模式或Planar模式的非方向帧内预测模式。因此,当参考样点线的索引不为0时,可以不用信号传送默认模式标志,并且可将默认模式标志的值推断为预定义值(即,假)。

在当前块的帧内预测模式被确定时,可基于确定的帧内预测模式来获得针对当前块的预测样点S3303。

当DC模式被选择时,可基于参考样点的平均值产生针对当前块的预测样点。具体地,可基于参考样点的平均值产生预测块中的所有样点的值。可通过使用当前块的顶部位置处的顶部参考样点和与当前块的左侧位置处的左侧参考样点中的至少一个来推导平均值。

根据当前块的形状,用于推导平均值使用的参考样点的数量或范围可不同。在示例中,在当前块为宽度大于高度的非正方形块时,可仅通过使用顶部参考样点来计算平均值。另一方面,在当前块为宽度小于高度的非正方形块时,可仅通过使用左侧参考样点来计算平均值。换句话说,在当前块的宽度和高度不同时,可仅通过使用与较长边相邻的参考样点来计算平均值。可选地,基于当前块的宽度与高度比,可确定是否仅通过使用顶部参考样点来计算平均或者是否仅通过使用左侧参考样点来计算平均值。

当Planar模式被选择时,可通过使用水平方向上的预测样点和垂直方向上的预测样点来获得预测样点。在这种情况下,可基于与预测样点位于同一水平线上的左侧参考样点和右侧参考样点来获得水平方向上的预测样点,并且可基于与预测样点位于同一垂直线上的顶部参考样点和底部参考样点来获得垂直方向上的预测样点。在这种情况下,可通过复制与当前块的右上角相邻的参考样点来产生右侧参考样点,并且可通过复制与当前块的左下角相邻的参考样点来产生底部参考样点。可基于左侧参考样点与右侧参考样点的加权和运算来获得水平方向上的预测样点,并且可基于顶部参考样点与底部参考样点的加权和运算来获得垂直方向上的预测样点。在这种情况下,可根据预测样点的位置来确定被分配给每一个参考样点的权重。可基于水平方向上的预测样点与垂直方向上的预测样点的平均运算或加权和运算来获得预测样点。当执行加权和时,可基于预测样点的位置来确定被分配给水平方向上的预测样点和垂直方向上的预测样点的权重。

当方向预测模式被选择时,可确定表示所选择的方向预测模式的预测方向(或预测角度)的参数。以下表6表示针对每个帧内预测模式的帧内方向参数intraPredAng。

【表6】

PredModeIntra 1 2 3 4 5 6 7
IntraPredAng - 32 26 21 17 13 9
PredModeIntra 8 9 10 11 12 13 14
IntraPredAng 5 2 0 -2 -5 -9 -13
PredModeIntra 15 16 17 18 19 20 21
IntraPredAng -17 -21 -26 -32 -26 -21 -17
PredModeIntra 22 23 24 25 26 27 28
IntraPredAng -13 -9 -5 -2 0 2 5
PredModeIntra 29 30 31 32 33 34
IntraPredAng 9 13 17 21 26 32

表6表示当定义了35个帧内预测模式时其索引为2至34中的一个的每一个帧内预测模式的帧内方向参数。当定义了33个或更多个方向帧内预测模式时,可通过进一步细分表6来设置每一个方向帧内预测模式的帧内方向参数。在将当前块的顶部参考样点和左侧参考样点排列成线之后,可基于帧内方向参数的值来获得预测样点。在这种情况下,当帧内方向参数的值是负数时,左侧参考样点和顶部参考样点可排列成线。

图35和图36是示出将参考样点排列成线的一维阵列的示例的示图。

图35示出沿垂直方向排列参考样点的垂直方向上的一维阵列的示例,并且图36示出沿水平方向排列参考样点的水平方向上的一维阵列的示例。通过假设定义了35个帧内预测模式的情况来描述图35和图36的实施例。

当帧内预测模式索引是11至18中的一个时,可应用沿逆时针旋转顶部参考样点的水平方向上的一维阵列,并且当帧内预测模式索引是19至25中的一个时,可应用沿顺时针旋转左侧参考样点的垂直方向上的一维阵列。在将参考样点排列成线时,可考虑帧内预测模式角度。

基于帧内方向参数,可确定参考样点确定参数。参考样点确定参数可包括用于指定参考样点的参考样点索引和用于确定施加于参考样点的权重的权重参数。

可以分别通过以下等式14和15获得参考样点索引iIdx和权重参数ifact。

【等式14】

iIdx=(y+1)*Pang/32

【等式15】

ifact=[(y+1)*Pang]&31

在等式14和等式15中,Pang表示帧内方向参数。由iIdx(参考样点索引)指定的参考样点与整数像素相应。

可指定至少一个或更多个参考样点以推导预测样点。具体地,可通过考虑预测模式的斜率来指定用于推导预测样点的参考样点的位置。在示例中,可通过使用iIdx(参考样点索引)来指定用于推导预测样点的参考样点。

在这种情况下,当帧内预测模式的斜率不由一个参考样点表示时,可对多个参考样点进行插值以产生预测样点。在示例中,当帧内预测模式的斜率是预测样点和第一参考样点之间的斜率与预测样点和第二参考样点之间的斜率之间的值时,可通过对第一参考样点和第二参考样点进行插值来获得预测样点。换句话说,当以下帧内预测角度的角度线不经过位于整数像素处的参考样点时,可通过对与角度线经过的位置的左侧与右侧或者顶部与底部相邻的参考样点进行插值来获得预测样点。

以下等式16表示基于参考样点获得预测样点的示例。

【等式16】

P(x,y)=((32-ifact)/32)*Ref_lD(x+iIdx+1)+(ifact/32)*Ref_lD(x+iIdx+2)

在等式16中,P表示预测样点,Ref_1D表示以一维被排列的参考样点中的任何一个。在这种情况下,可通过预测样点的位置(x,y)和参考样点索引iIdx来确定参考样点的位置。

当帧内预测模式的斜率可由一个参考样点表示时,将权重参数ifact设置为0。因此,可将等式16简化为下面的等式17。

【等式17】

P(x,y)=Ref_1D(x+iIdx+1)

基于多个帧内预测模式,可执行针对当前块的帧内预测。在示例中,可针对每个预测样点推导帧内预测模式,并且可基于被分配给预测样点的帧内预测模式来推导预测样点。

可选地,可针对每个区域推导帧内预测模式,可基于被分配给区域的帧内预测模式来执行针对区域的帧内预测。在这种情况下,区域可包括至少一个样点。可基于当前块的尺寸或形状或者帧内预测模式中的至少一个自适应地确定区域的尺寸或形状中的至少一个。可选地,可在编码器和解码器中独立于当前块的尺寸或形状来预先定义区域的尺寸或形状中的至少一个。

图37是示出由方向帧内预测模式与平行于x轴的直线形成的角度的示图。

如在图37中所示出的示例中,方向预测模式可存在于左下方对角线方向与右上方对角线方向之间。如由x轴和方向预测模式形成的角度所描述的,方向预测模式可存在于45度(左下方对角线方向)和-135度(右上方对角线方向)之间。

在当前块具有非正方形形状时,可能发生这样的情况:通过使用位于遵循根据当前块的帧内预测模式的帧内预测角度的角度线上的参考样点之中的距预测样点更远的参考样点而不是距预测样点更近的参考样点来推导预测样点。

图38是示出在当前块具有非正方形形状时获得预测样点的一方面的示图。

在示例中,如在图38的(a)所示出的示例中,假设当前块具有宽度大于高度的非正方形形状,并且当前块的帧内预测模式是具有从0度至45度的角度的方向帧内预测模式。在这种情况下,可能发生这样的情况:当推导当前块的右侧列附近的预测样点A时,使用位于遵循该角度的角度模式中的参考样点之中的远离该预测样点的左侧参考样点L而不是接近该预测样点的顶部参考样点T。

在另一示例中,如在图38的(b)所示出的示例中,假设当前块具有高度大于宽度的非正方形形状,并且当前块的帧内预测模式是从-90度至-135度的方向帧内预测模式。在这种情况下,可能发生这样的情况:当推导当前块的底部行附近的预测样点A时,使用位于遵循该角度的角度模式中的参考样点之中的远离该预测样点的顶部参考样点T而不是接近该预测样点的左侧参考样点L。

为了解决该问题,在当前块是非正方形时,可用相反方向的帧内预测模式替换当前块的帧内预测模式。因此,具有大于或小于图34中所示出的方向预测模式的角度的方向预测模式可用于非正方形块。这种方向帧内预测模式可被定义为广角帧内预测模式。广角帧内预测模式表示不属于45度至-135度之间的范围的方向帧内预测模式。

图39是示出广角帧内预测模式的示图。

如在图39所示出的示例中,索引为-1至-14的帧内预测模式和索引为67至80的帧内预测模式表示广角帧内预测模式。

图39示出角度大于45度的14个广角帧内预测模式(从-1至-14)和角度小于-135度的14个广角帧内预测模式(从67至80),但可定义更多或更少的广角帧内预测模式。

当使用广角帧内预测模式时,可将顶部参考样点的长度设置为2W+1,并且可将左侧参考样点的长度设置为2H+1。

当使用广角帧内预测模式时,可通过使用参考样点T来预测图39的(a)所示出的样点A,并且可通过使用参考样点L来预测图39的(b)所示的样点A。

通过将现有帧内预测模式与N个广角帧内预测模式相加,可使用总共67+N个帧内预测模式。在示例中,表7表示当定义20个广角帧内预测模式时的帧内预测模式的帧内方向参数。

【表7】

在当前块是非正方形并且在S2502获得的当前块的帧内预测模式属于转换范围时,可将当前块的帧内预测模式转换为广角帧内预测模式。可基于当前块的尺寸、形状或比例中的至少一个来确定转换范围。在此情况下,比例可表示当前块的宽度与高度之间的比例。在当前块具有其宽度大于高度的非正方形形状时,可将转换范围设置为从右上方对角线方向上的帧内预测模式索引(例如,66)至(右上方对角线方向上的帧内预测模式的索引-N)。在这种情况下,可基于当前块的比例来确定N。在当前块的帧内预测模式属于转换范围时,可将帧内预测模式转换为广角帧内预测模式。可通过从帧内预测模式中减去预定义值来执行转换,并且预定义值可以是除广角帧内预测模式之外的帧内预测模式的总数(例如,67)。

通过本实施例,可将第66至第53之间的帧内预测模式分别转换为第-1至第-14之间的广角帧内预测模式。

在当前块具有高度大于宽度的非正方形形状时,可将转换范围设置为从左下方对角线方向上的帧内预测模式索引(例如,2)至(左下方对角线方向上的帧内预测模式的索引+M)。在这种情况下,可基于当前块的比例来确定M。在当前块的帧内预测模式属于转换范围时,可将帧内预测模式转换为广角帧内预测模式。可通过将预定义值与帧内预测模式相加来执行转换,并且预定义值可以是除广角帧内预测模式之外的方向帧内预测模式的总数(例如,65)。

通过本实施例,可将第2至第15之间的帧内预测模式分别转换为第67至第80之间的广角帧内预测模式。

在下文中,属于转换范围的帧内预测模式被称为广角替换帧内预测模式。

可基于当前块的比例来确定转换范围。在示例中,表8表示当定义了67个帧内预测模式(不包括广角帧内预测模式)时的转换范围。

【表8】

当非相邻参考样点线被确定为当前块的参考样点线时,或者当使用选择多个参考样点线中的任何一个的多线帧内预测编码方法时,可将广角帧内预测模式设置为不被使用。换句话说,尽管当前块是非正方形的并且当前块的帧内预测模式属于转换范围,但可以不将当前块的帧内预测模式转换为广角帧内预测模式。可选地,在当前块的帧内预测模式被确定为广角帧内预测模式时,非相邻参考样点线可以不可用作当前块的参考样点线,或者可以不使用选择多个参考样点线中的任何一个的多线帧内预测编码方法。当不使用多线帧内预测编码方法时,可将相邻参考样点线确定为当前块的参考样点线。

当不使用广角帧内预测模式时,可将refW和refH设置为nTbW和nTbH的总和。因此,排除左上参考样点,与当前块的距离为i的非相邻参考样点可包括(nTbW+nTbH+offsetX[i])个顶部参考样点和(nTbW+nTbH+offsetY[i])个左侧参考样点。换句话说,与当前块的距离为i的非相邻参考样点可包括(2nTbW+2nTbH+offsetX[i]+offsetY[i]+1)个参考样点。例如,当whRatio的值大于1时,可将offsetX的值设置为大于offsetY的值。在示例中,可将offsetX的值设置为1,并且可将offsetY的值设置为0。另一方面,当whRatio的值小于1时,可将offsetY的值设置为大于offsetX的值。在示例中,可将offsetX的值设置为0,并且可将offsetY的值设置为1。

当除了现有帧内预测模式之外还使用广角帧内预测模式时,编码广角帧内预测模式所需的资源可能增加并且编码效率可能降低。因此,可对针对广角帧内预测模式的替换帧内预测模式进行编码以提高编码效率,而不是按原样对广角帧内预测模式进行编码。

在示例中,当通过使用第67广角帧内预测模式对当前块进行编码时,可将第67的第2广角替换帧内预测模式编码为当前块的帧内预测模式。另外,当通过第-1广角帧内预测模式对当前块进行编码时,可将第-1的第66广角替换帧内预测模式编码为当前块的帧内预测模式。

在解码器中,可对当前块的帧内预测模式进行解码,并且可确定解码的帧内预测模式是否被包括在转换范围中。当解码的帧内预测模式是广角替换帧内预测模式时,可将帧内预测模式转换为广角帧内预测模式。

可选地,当通过广角帧内预测模式对当前块进行编码时,可按原样对广角帧内预测模式进行编码。

可基于上述MPM列表执行帧内预测模式的编码。具体地,当通过广角帧内预测模式对邻近块进行编码时,可基于与广角帧内预测模式相应的广角替换帧内预测模式来设置MPM。

可将一个预测模式应用于当前块若干次,或者可冗余地应用多个预测模式。同样,使用相同类型或不同类型的预测模式的预测方法可被称为组合预测模式(或多假设预测模式)。

组合预测模式可包括将合并模式和合并模式组合的模式、将帧间预测和帧内预测组合的模式、将合并模式和运动矢量预测模式组合的模式、将运动矢量预测模式和运动矢量预测模式组合的模式或将合并模式和帧内预测组合的模式中的至少一个。

在组合预测模式中,可基于第一预测模式产生第一预测块,并且可基于第二预测模式产生第二预测块。之后,可基于第一预测块和第二预测块的加权和运算来产生第三预测块。可将第三预测块设置为当前块的最终预测块。

可基于当前块的尺寸或形状来确定是否使用组合预测模式。在示例中,可基于编码块的尺寸、包括在编码块中的样点的数量、编码块的宽度或编码块的高度中的至少一个来确定是否使用组合预测模式。在示例中,当编码块的宽度或高度中的至少一个等于或大于128时或当包括在编码块中的样点的数量等于或小于64时,可以不将组合预测模式应用于编码块。

可选地,可在比特流中用信号传送表示组合预测模式是否被应用于当前块的信息。在示例中,该信息可以是1比特标志。在示例中,可在比特流中用信号传送mh_intra_flag,即表示是否使用将合并模式和帧内预测组合的组合预测模式的标志。当mh_intra_flag为1时,表示使用将合并模式和帧内预测组合的组合预测模式,而当mh_intra_flag为0时,表示不使用将合并模式和帧内预测组合的组合预测模式。

仅在当前块的预测编码模式是帧间预测模式并且合并模式被应用于当前块时,才可将组合了合并模式和帧内预测的组合预测模式应用于当前块。换句话说,当表示合并模式是否被应用于当前块的标志merge_flag的值为1时,可用信号传送mh_intra_flag。

在将合并模式和帧内预测组合的组合预测模式下,可将当前块的帧内预测模式设置为预定义的帧内预测模式。在示例中,当使用组合预测模式时,可将当前块的帧内预测模式设置为Planar模式。

在另一示例中,当使用将合并模式和帧内预测组合的组合预测模式时,可将当前块的帧内预测模式确定为候选帧内预测模式中的任何一个。在这种情况下,候选帧内预测模式可包括非方向帧内预测模式或特定方向上的方向帧内预测模式中的至少一个。在这种情况下,非方向帧内预测模式可包括DC或Planar中的至少一个,并且方向帧内预测模式可包括水平方向上的帧内预测模式、垂直方向上的帧内预测模式和对角线方向上的帧内预测模式中的至少一个。在示例中,当使用组合预测模式时,可仅将DC、Planar、水平方向帧内预测模式或垂直方向帧内预测模式设置为当前块的帧内预测模式。可选地,当使用组合预测模式时,可仅将Planar、水平方向帧内预测模式或垂直方向帧内预测模式设置为当前块的帧内预测模式。可选地,当使用组合预测模式时,可仅将DC、Planar或垂直方向帧内预测模式设置为当前块的帧内预测模式。可选地,当使用组合预测模式时,可仅将DC、Planar或水平方向帧内预测模式设置为当前块的帧内预测模式。

可在比特流中用信号传送用于指定候选帧内预测模式中的任何一个的索引信息。在示例中,可在比特流中用信号传送指定候选帧内预测模式中的任何一个的索引mh_intra_idx。表9和表10表示根据mh_intra_idx的值的帧内预测模式。当前块的帧内预测模式可被确定为由mh_intra_idx指示的帧内预测模式。

【表9】

mh_intra_idx 0 1 2 3
帧内模式 Planar DC 垂直 水平

【表10】

mh_intra_idx 0 1 2
帧内模式 Planar 垂直 水平

候选帧内预测模式的数量可在编码器和解码器中具有固定值。可选地,候选帧内预测模式的数量或类型可根据当前块的尺寸或形状中的至少一个或邻近块是否通过帧内预测被编码而不同。

在另一示例中,当应用将合并模式和帧内预测组合的组合预测模式时,可基于MPM来确定当前块的帧内预测模式。在此情况下,当应用一般帧内预测时由MPM列表所包括的MPM的数量可不同于当应用组合预测模式时由MPM列表所包括的MPM的数量。在示例中,虽然在不应用组合预测模式时MPM列表包括6个或5个MPM,但在应用组合预测模式时MPM列表可包括4个或3个MPM。换句话说,虽然当执行一般帧内预测时使用N个MPM,但当应用组合预测模式时可使用小于N个MPM。

在示例中,当应用一般帧内预测模式时,假设基于与当前块相邻的邻近块的帧内预测模式推导出的MPM是Planar、DC、INTRA_MODE32、INTRA_MODE31、INTRA_MODE33和INTRA_MODE30。当组合预测模式被应用于当前块时,可通过仅使用6个MPM的一部分来确定当前块的帧内预测模式。在示例中,可通过使用MPM列表来确定当前块的帧内预测模式,其中,所述MPM列表包括MPM之中具有最小索引的3个MPM:Planar、DC和INTRA_MODE32。可选地,可将MPM之中具有预定义索引值的任何一个MPM确定为当前块的帧内预测模式。

在另一示例中,可将应用一般帧内预测时用于确定当前块的帧内预测模式的MPM的数量设置为与应用组合预测模式时用于确定当前块的帧内预测模式的MPM的数量相同。

当应用组合预测模式时,可省略对MPM标志的编码并且可将MPM标志推断为真。换句话说,当应用组合预测模式时,可将MPM中的任何一个确定为当前块的帧内预测模式。

可选地,可基于与当前块相邻的邻近块的帧内预测模式来推导当前块的帧内预测模式。在此情况下,邻近块可包括顶部邻近块、左侧邻近块、左上方邻近块、右上方邻近块或左下方邻近块中的至少一个。可将当前块的帧内预测模式设置为与当前块相邻的邻近块的帧内预测模式之中具有最高频率的帧内预测模式。

可选地,可通过对预定义位置处的邻近块的帧内预测模式进行比较来确定当前块的帧内预测模式。在示例中,在当前块的顶部邻近块的帧内预测模式与左侧邻近块的帧内预测模式相同时,可将当前块的帧内预测模式设置为与顶部邻近块和左侧邻近块的帧内预测模式相同。

可选地,可在比特流中用信号传送用于指定多个邻近块之中与当前块的帧内预测模式相同的邻近块的索引信息。在示例中,可在比特流中用信号传送指示顶部邻近块或左侧邻近块中的任何一个的信息,并且可将当前块的帧内预测模式设置为与由该信息指示的块的帧内预测模式相同。

可选地,当组合预测模式被应用于邻近块时,可将应用组合预测模式的邻近块的帧内预测模式设置为当前块的帧内预测模式。

当将合并模式和帧内预测组合的组合预测模式被应用于当前块时,可将其设置为不使用多线帧内预测编码方法。当不使用多行帧内预测编码方法时,可将相邻参考样点线用于当前块的帧内预测。

可选地,当将合并模式和帧内预测组合的组合预测模式被应用于当前块时,可将其设置为使用多线帧内预测编码方法。可在比特流中用信号传送用于在多个参考样点线之中确定当前块的参考样点线的信息。可选地,可通过考虑当前块的尺寸、当前块的形状、当前块的帧内预测模式或邻近块的参考样点线中的至少一个来确定当前块的参考样点线。

可选地,可在比特流中用信号传送表示是否在组合预测模式中应用多线帧内方法的信息。该信息可以是1比特标志。当该标志指示应用多线帧内方法时,可在比特流中用信号传送指定多条线中的任何一条的索引信息。

可根据当前块的参考样点线不同地设置可用候选帧内预测模式的数量。在示例中,当使用相邻参考样点线时,候选帧内预测模式可包括Planar、DC、水平方向帧内预测模式、垂直方向帧内预测模式、左下方对角线方向帧内预测模式或右上方对角线方向帧内预测模式中的至少一个。另一方面,当使用非相邻参考样点线时,候选帧内预测模式可包括水平方向帧内预测模式、垂直方向帧内预测模式、左下方对角线方向帧内预测模式或右上方对角线方向帧内预测模式中的至少一个。

可通过使用在合并模式中选择的合并候选来产生第一预测块,并且可通过使用帧内预测模式来产生第二预测块。在这种情况下,当产生第一预测块时,可以不将三角形分区应用于当前块。换句话说,在将合并模式和帧内预测组合的组合预测模式下可以不允许三角形分区。另外,当产生第二预测块时,可以不将PDPC应用于当前块。换句话说,在将合并模式和帧内预测组合的组合预测模式中可以不允许PDPC。

可基于第一预测块与第二预测块的加权和运算来产生第三预测块。在示例中,等式18是示出基于第一预测块与第二预测块的加权和运算产生第三预测块的示例的示图。

【等式18】

Pcomb=(w*Pmerge+(N-w)*Pintra+4))>log2N

在等式18中,Pmerge表示基于合并模式获得的第一预测块,并且Pintra表示基于帧内预测获得的第二预测块。Pcomb表示通过将第一预测块与第二预测块组合而获得的第三预测块。w表示施加于第一预测块的第一权重。可通过从常数N中减去第一权重w来推导施加于第二预测块的第二权重。在这种情况下,N可具有在编码器和解码器中预定义的值。在示例中,N可以是4或8。可选地,可基于当前块的尺寸或形状或当前块的帧内预测模式中的至少一个来推导常数N。

与等式18中的示例不同,可将w设置为第二权重,并且可将从预定常数N减去第二权重得到的值设置为第一权重。

可基于合并模式是否具有双向运动信息或当前块的帧内预测模式中的至少一个来确定施加于第一预测块和第二预测块的权重。在示例中,在当前块的帧内预测模式是方向预测模式时的值w(第一权重)可具有大于在当前块的帧内预测模式是非方向模式时的值w(第一权重)的值。可选地,当通过合并候选执行双向预测时的值w(第一权重)可具有大于当通过合并候选执行单向预测时的值w(第一权重)的值。

在另一示例中,可通过考虑与当前块相邻的邻近块的预测编码模式来确定权重。在此情况下,邻近块可包括与当前块的顶部相邻的顶部邻近块、与当前块的左侧相邻的左侧邻近块或者与当前块的左上角相邻的左上邻近块中的至少一个。可基于与当前块相邻的邻近块中通过帧内预测编码的邻近块的数量来确定权重。在一个示例中,随着与当前块相邻的邻近块之中通过帧内预测编码的邻近块的数量增加,可将第一权重设置为具有较小的值,并且可将第二权重设置为具有较大的值。另一方面,随着与当前块相邻的邻近块之中通过非帧内预测编码的邻近块的数量减少,可将第一权重设置为具有较大的值,并且可将第二权重设置为具有较小的值。在示例中,当左侧邻近块和顶部邻近块两者通过帧内预测被编码时,可将第二权重设置为n。当仅左侧邻近块和顶部邻近块中的任何一个通过帧内预测被编码时,可将第二权重设置为n/2。当左侧邻近块和顶部邻近块都不通过帧内预测被编码时,可将第二权重设置为n/4。在这种情况下,n表示等于或小于N的整数。

应用将合并模式和帧内预测组合的组合预测模式的块可被视为是通过帧间预测被编码的。因此,通过组合预测模式编码的块的帧内预测模式可以不可用于推导将被编码/解码的块的帧内预测模式。当MPM被推导时,不可用块的帧内预测模式可被视为是Planar。

另一方面,可将通过组合预测模式编码的块的运动信息设置为可用于推导将被编码/解码的块的运动信息。

可通过从原始图像中减去预测图像来推导残差图像。在这方面,当将残差图像转换到频域中时,即使从频率分量中去除高频分量,图像的主观图像质量也不会显著下降。因此,当高频分量的值被变换为小值时,或者当高频分量的值被设置为0时,可提高压缩效率而不会引起大的视觉失真。反映上述特征,可对当前块执行变换,以便将残差图像分解为二维频率分量。可通过使用诸如DCT(离散余弦变换)、DST(离散正弦变换)等的变换方法来执行变换。

可基于块来确定变换方法。可基于用于当前块的预测编码模式、当前块的尺寸或当前块的尺寸中的至少一个来确定变换方法。在示例中,当通过帧内预测模式对当前块进行编码并且当前块的尺寸小于N×N时,可通过使用DST的变换方法来执行变换。另一方面,当不满足上述条件时,可通过使用DCT的变换方法来执行变换。

对于残差图像的部分块,可以不执行二维图像变换。不执行二维图像变换可被称为变换跳过。当应用变换跳过时,可将量化应用于不执行变换的残差值。

在通过使用DCT或DST对当前块执行变换之后,可再次对变换的当前块执行变换。在这方面,基于DCT或DST的变换可被定义为第一变换,并且再次对应用了第一变换的块执行变换可被定义为第二变换。

可通过使用多个变换核候选中的任何一个来执行第一变换。在示例中,可通过使用DCT2、DCT8或DST7中的任何一个来执行第一变换。

可将不同的变换核用于水平方向和垂直方向。可在比特流中用信号传送表示水平方向的变换核与垂直方向的变换核的组合的信息。

第一变换的处理单元可不同于第二变换。在示例中,可对8×8块执行第一变换,并且可对变换的8×8块内的4×4尺寸的子块执行第二变换。在这方面,可将不执行第二变换的其余区域的变换系数设置为0。

可选地,可对4×4块执行第一变换,并且可对包括变换的4×4块的具有8×8尺寸的区域执行第二变换。

可在比特流中用信号传送表示是否执行第二变换的信息。

可选地,可基于水平方向变换核和垂直方向变换核是否彼此相同来确定是否执行第二变换。在示例中,可仅在水平方向变换核和垂直方向变换核彼此相同时才执行第二变换。可选地,可仅在水平方向变换核和垂直方向变换核彼此不同时才执行第二变换。

可选地,可仅在预定义变换核被用于水平方向变换和垂直方向变换时才允许第二变换。在示例中,当DCT2变换核被用于水平方向上的变换和垂直方向上的变换时,可允许第二变换。

可选地,可基于当前块的非零变换系数的数量确定是否执行第二变换。在一个示例中,在当前块的非零变换系数的数量小于或等于阈值时,预测方法可被配置为不使用第二变换。在当前块的非零变换系数的数量大于阈值时,预测方法可被配置为使用第二变换。只要使用帧内预测对当前块进行编码,预测方法就可被配置为使用第二变换。

解码器可对第二变换执行逆变换(第二逆变换),并且可对来自第二逆变换的第一变换结果执行逆变换(第一逆变换)。作为执行第二逆变换和第一逆变换的结果,可获得针对当前块的残差信号。

当由编码器执行变换和量化时,解码器可经由反量化和逆变换获得残差块。解码器可将预测块与残差块彼此相加,以获得当前块的重构块。

当获得当前块的重建块时,可经由环内滤波来减少在量化和编码处理中发生的信息损失。环内滤波器可包括去块滤波器、样点自适应偏移滤波器(SAO)或自适应环路滤波器(ALF)中的至少一个。

将如上描述的关于解码处理或编码处理的实施例分别应用于编码处理或解码处理的操作可被包括在本公开的范围中。在本公开的范围内,操作按照预定顺序发生的实施例可被修改为操作按照不同于所述预定顺序的顺序发生的实施例。

尽管基于一系列操作或流程图描述了上述实施例,但是实施例不限于该方法的操作的时间顺序。在另一个示例中,根据需要,这些操作可被同时执行,或者可按照不同的顺序被执行。此外,在上述实施例中,构成框图的组件(例如,单元、模块等)中的每一个可以以硬件装置或软件的形式来实施。多个组件可彼此组合成可使用单个硬件装置或软件被实施的单个组件。上述实施例可使用可经由各种计算机组件运行的程序指令来实施。所述指令可被记录在计算机可读存储介质中。计算机可读存储介质可包括单独的或彼此组合的程序指令、数据文件、数据结构等。计算机可读存储介质的示例包括磁性介质(诸如硬盘、软盘和磁带)、光学存储介质(诸如CD-ROM、DVD)和磁光介质(诸如软光盘)、以及专门被配置为存储和运行程序指令的硬件装置(诸如ROM、RAM、闪存等)。硬件装置可被配置为作为一个或更多个软件模块操作以执行根据本公开的处理,反之亦可。

【工业实用性】

本公开可被应用于对视频进行编码/解码的电子装置。

94页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像编码方法和装置、图像解码方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类