用于导出运动预测信息的方法和装置与流程

未命名 08-07 阅读:71 评论:0

用于导出运动预测信息的方法和装置
1.本技术是申请日为2017年04月07日,申请号为“201780035615.x”,标题为“用于导出运动预测信息的方法和装置”的发明专利申请的分案申请。
技术领域
2.以下实施例总体上涉及一种视频解码方法和设备以及视频编码方法和设备,更具体地讲,涉及一种用于导出运动预测信息并使用导出的运动预测信息来对视频执行编码和/或解码的方法和设备。
3.本技术要求于2016年4月8日提交的10-2016-0043249号韩国专利申请的权益,该申请在此通过引用整体合并到本技术中。


背景技术:

4.随着信息与通信行业的持续发展,具有高清(hd)分辨率的广播服务已经在全世界普及。通过这种普及,大量用户已经习惯了高分辨率和高清晰度图像和/或视频。
5.为了满足用户对高清晰度的需求,大量机构加速了对下一代成像装置的开发。用户除了对高清tv(hdtv)和全高清(fhd)tv的兴趣已增加之外,对超高清(uhd)tv的兴趣也已增加,其中,超高清(uhd)tv的分辨率是全高清(fud)tv的分辨率的四倍以上。随着这种兴趣的增加,需要对于具有更高分辨率和更高清晰度的图像的图像编码/解码技术。
6.图像编码/解码设备和方法可使用帧间预测技术、帧内预测技术、熵编码技术等,以便对高分辨率和高清晰度图像执行编码/解码。帧间预测技术可以是用于使用时间上在前的画面和/或时间上在后的画面对当前画面中包括的像素的值进行预测的技术。帧内预测技术可以是用于使用关于在当前画面中的像素的信息对当前画面中包括的像素的值进行预测的技术。熵编码技术可以是用于将短码分配给更频繁出现的符号并且将长码分配给很少出现的符号的技术。
7.在图像编码和解码过程中,预测可表示产生与原始信号类似的预测信号。可将预测主要分类为:参考空间上重建的图像的预测、参考时间上重建的图像的预测、以及参考其它符号的预测。换句话说,时间参考可表示在时间上重建的图像被参考,空间参考可表示在空间上重建的图像被参考。
8.帧间预测可以是用于使用时间参考和空间参考对目标块进行预测的技术。帧内预测可以是用于仅使用空间参考对目标块进行预测的技术。
9.当构成视频的画面被编码时,每个画面可被分区为多个部分,多个部分可被编码。在这种情况下,为了解码设备对分区的画面进行解码,可需要关于画面的分区的信息。
10.为了提高编码处理速度,可使用并行编码方法并行地对画面进行编码。此外,为了提高解码处理速度,可使用并行解码方法并行地对画面进行解码。
11.并行编码方法包括多种画面分区编码方法。提供基于条带的画面分区编码方法和基于并行块的画面分区编码方法,作为画面分区编码方法。
12.传统的画面分区编码方法在使用帧内预测进行编码时不允许在被分区的画面的
区段之间进行参考。另一方面,传统的画面分区编码方法使用帧间预测进行编码时允许在被分区的画面的区段之间进行参考。
13.因此,当期望使用传统的画面分区编码方法对每个画面分区单元执行并行编码时,必需针对每个画面实现同步。在需要针对每个画面进行同步的情况下由编码设备进行并行处理的效率不可避免地低于在不需要进行同步的情况下由编码设备进行并行处理的效率。


技术实现要素:

14.技术问题
15.实施例旨在提供一种在被分区为区段的画面被编码或解码时防止发生区段间参考的方法和设备。
16.实施例旨在提供一种通过防止区段间参考而对区段执行并行编码或并行解码的方法和设备。
17.实施例旨在提供一种执行编码或解码的方法和设备,其中,所述编码或解码在对一个区段中的目标块执行帧间预测时不参考其它区段。
18.实施例旨在提供一种产生运动信息的列表从而使得当对一个区段中的目标块执行帧间预测时不参考其它区段的方法和设备。
19.实施例旨在提供一种在执行使用帧间预测的编码时允许仅参考与帧间预测相应的区域的方法和设备。
20.实施例旨在提供一种将使得目标块对区域的边界外的位置进行参考的运动信息排除在列表之外的方法和设备。
21.解决方案
22.根据一方面,提供了一种用于产生用于目标块的帧间预测的列表的列表产生方法,包括:确定候选块的运动信息是否将被添加到列表;如果确定所述运动信息将被添加到所述列表,则将所述运动信息添加到所述列表,其中,基于关于所述目标块的信息和所述运动信息来确定所述运动信息是否将被添加到所述列表。
23.关于所述目标块的信息可以是所述目标块的位置。
24.可基于所述运动信息的运动矢量来确定所述运动信息是否将被添加到所述列表。
25.可基于由被应用于所述目标块的所述运动信息的运动矢量所指示的位置来确定所述运动信息是否将被添加到所述列表。
26.由所述运动矢量所指示的位置可以是参考画面中的被所述目标块参考的位置。
27.如果所述位置存在于区域内,则所述运动信息可被添加到所述列表,相反,如果所述位置在所述区域外,则所述运动信息不被添加到所述列表。
28.所述区域可以是包括所述目标块的条带的区域、包括所述目标块的并行块的区域、或包括所述目标块的运动约束并行块集mcts的区域。
29.如果所述位置没有在边界外,则所述运动信息可被添加到所述列表,然而如果所述位置在所述边界外,则所述运动信息可不被添加到所述列表。
30.所述边界可包括画面的边界。
31.所述边界可包括条带之间的边界、并行块之间的边界、或mcts之间的边界。
32.所述目标块的帧间预测模式可以是合并模式或跳过模式。
33.所述列表可以是合并列表。
34.所述目标块的帧间预测模式可以是高级运动矢量预测因子amvp模式。
35.所述列表可以是预测运动矢量候选列表。
36.所述候选块可包括多个空间候选和多个时间候选。
37.如果所述候选块可用并且所述候选块的运动信息不与所述列表中存在的其它运动信息重复,则所述候选块的所述运动信息可被添加到列表。
38.即使所述候选块是第一可用候选块,当关于所述目标块的信息和所述运动信息满足特定条件时,所述候选块的运动信息也可不被添加到列表。
39.根据另一方面,提供了一种用于产生用于目标块的帧间预测的列表的列表产生设备,包括:处理单元,用于基于关于所述目标块的信息和候选块的运动信息来确定所述候选块的所述运动信息是否将被添加到所述列表;存储单元,用于存储所述列表。
40.根据另一方面,提供了一种用于设置用于目标块的帧间预测的候选块的可用性的方法,包括:确定所述候选块是否可用;基于确定的结果来设置所述候选块的可用性,其中,基于关于目标块的信息和包括所述候选块的对象的运动信息来设置所述可用性。
41.所述对象可以是预测单元pu。
42.可基于所述运动信息的运动矢量来确定候选块是否可用。
43.可基于由被应用于所述目标块的所述运动信息的运动矢量所指示的位置来确定所述候选块是否可用。
44.如果所述位置存在区域内,则所述候选块可被设置为可用,相反,如果所述位置在所述区域外,则所述候选块可被设置为不可用。
45.有益效果
46.提供了一种在被分区为区段的画面被编码或解码时防止发生区段间参考的方法和设备。
47.提供了一种通过防止区段间参考而对区段执行并行编码或并行解码的方法和设备。
48.提供了一种执行编码或解码的方法和设备,其中,所述编码或解码在对一个区段中的目标块执行帧间预测时不参考其它区段。
49.提供了一种产生运动信息的列表从而使得当对一个区段中的目标块执行帧间预测时不参考其它区段的方法和设备。
50.提供了一种在执行使用帧间预测的编码时允许仅参考与帧间预测相应的区域的方法和设备。
51.提供了一种将使得目标块对区域的边界外的位置进行参考的运动信息排除在列表之外的方法和设备。
附图说明
52.图1是示出被应用了本发明的编码设备的实施例的配置的框图;
53.图2是示出被应用了本发明的解码设备的实施例的配置的框图;
54.图3是示意性地示出了当图像被编码和解码时图像的分区结构的示图;
55.图4是示出编码单元(cu)能够包括的预测单元(pu)的形状的示图;
56.图5是示出能够被包括在cu中的变换单元(tu)的形状的示图;
57.图6是用于解释帧内预测过程的实施例的示图;
58.图7是用于解释在帧内预测过程中使用的参考样点的位置的示图;
59.图8是用于解释帧间预测过程的实施例的示图;
60.图9示出根据实施例的空间候选;
61.图10示出根据实施例的将空间候选的运动信息添加到合并列表的顺序;
62.图11示出根据实施例的使用并行块(tile)对画面进行分区;
63.图12示出根据实施例的使用条带(slice)对画面进行分区;
64.图13示出根据实施例的对在时间上和空间上被分区的画面进行分布式编码;
65.图14示出根据实施例的对运动约束并行块集(mcts)的处理;
66.图15示出根据实施例的与条带的边界相邻的pu;
67.图16示出根据实施例的合并列表;
68.图17是根据实施例的帧间预测方法的流程图;
69.图18是根据实施例的用于产生用于目标块的帧间预测的合并列表的方法的流程图;
70.图19是根据实施例的用于产生用于目标块的帧间预测的预测运动矢量候选列表的方法的流程图;
71.图20是根据实施例的用于确定用于目标块的帧间预测的候选块的可用性的方法的流程图;
72.图21示出根据实施例的运动预测边界检查被应用到的合并列表;
73.图22是根据实施例的实现了编码设备的电子装置的配置图;
74.图23是根据实施例的实现了解码设备的电子装置的配置图。
75.最佳实施方式
76.将参照示出特定实施例的附图对以下示例性实施例进行详细描述。
77.在附图中,相似的参考标号被用于在各个方面指定相同或相似的功能。附图中的组件的形状、尺寸等可被夸大以使得描述清楚。
78.将理解,当组件被称为“连接”或“耦接”到另一组件时,所述组件可直接连接或耦接到所述另一组件,或者存在中间组件。此外,应注意,在示例性实施例中,用于描述组件“包括”特定组件的表述意味着另外的组件可被包括在示例性实施例的实践范围或技术精神中,但是不排除存在所述特定组件以外的组件。
79.为了方便描述,各个组件被单独地布置。例如,多个组件中的至少两个组件可被集成为单个组件。相反,一个组件可被划分为多个组件。只要不脱离本说明书的本质,多个组件被集成的实施例或一些组件被分离的实施例被包括在本说明书的范围中。
80.下面将参照附图来详细描述实施例,使得实施例所属技术领域的普通技术人员能够容易地实践实施例。在实施例的以下描述中,被视为使本说明书的要点模糊的公知功能或配置的详细描述将被省略。
81.在下文中,“图像”可表示构成视频的一部分的单个画面,或者可表示视频本身。例如,“对图像的编码和/或解码”可表示“对视频的编码和/或解码”,并且也可表示“对构成视
频的多个图像中的任意一个图像的编码和/或解码”。
82.在下文中,“视频”和“运动画面”可被用于具有相同的含义,并且可彼此互换地使用。
83.在下文中,目标图像可以是作为将被编码的目标的编码目标图像和/或作为将被解码的目标的解码目标图像。此外,目标图像可以是将被输入到编码设备的输入图像或将被输入到解码设备的输入图像。
84.在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用于具有相同的含义,并且可彼此互换地使用。
85.在下文中,目标块可以是作为将被编码的目标的编码目标块和/或作为将被解码的目标的解码目标块。此外,目标块可以是作为当前将被编码和/或解码的目标的当前块。换句话说,“目标块”和“当前块”可被用作具有相同的含义,并且可彼此互换地使用。
86.在下文中,“块”和“单元”可被用作具有相同的含义,并且可彼此互换地使用。可选地,“块”可表示特定单元。
87.在下文中,“区域”和“区段”可彼此互换地使用。
88.在下文中,特定信号可以是指示特定块的信号。例如,原始信号可以是指示目标块的信号。预测信号可以是指示预测块的信号。残差信号可以是指示残差块的信号。
89.在以下的实施例中,特定的信息、数据、标志、元素和属性可具有它们各自的值。与所述信息、数据、标志、元素和属性中的每一个相应的值0可指示逻辑假或第一预定义值。换句话说,值“0”、假、逻辑假和第一预定义值可彼此互换地使用。与所述信息、数据、标志、元素和属性中的每一个相应的值“1”可指示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可彼此互换地使用。
90.当诸如i或j的变量被用于指示行、列或索引时,值i可以是整数0或大于0的整数,或者可以是整数1或大于1的整数。换句话说,在实施例中,行、列和索引中的每一个可从0开始计数,或者可以从1开始计数。
91.下面,将描述将在实施例中使用的术语。
92.单元:“单元”可表示图像编码和解码的单元。术语“单元”和“块”的含义可以彼此相同。此外,术语“单元”和“块”可彼此互换地使用。
93.–
单元可以是m
×
n样点矩阵。m和n可分别是正整数。术语“单元”通常可表示二维(2d)样点的阵列。术语“样点”可以是像素或像素值。
94.–
术语“像素”和“样点”可被用于具有相同含义并且可彼此互换地使用。
95.–
在图像的编码和解码过程中,“单元”可以是通过对一个图像进行分区而产生的区域。单个图像可被分区为多个单元。在对图像进行编码和解码时,可根据单元的类型执行针对每个单元预定义的处理。根据功能,单元的类型可被分类为宏单元、编码单元(cu)、预测单元(pu)和变换单元(tu)。单个单元还可被进一步分区为具有比该单元的尺寸更小的尺寸的更下层单元。
96.–
单元分区信息可包括关于单元的深度的信息。深度信息可表示单元被分区的次数和/或程度。
97.–
单个单元可被分层分区为多个更下层单元,同时所述多个更下层单元具有基于树结构的深度信息。换句话说,单元和通过对该单元进行分区而产生的更下层单元可分别
对应于节点和该节点的子节点。各个被分区出的更下层单元可具有深度信息。单元的深度信息表示该单元被分区的次数和/或程度,因此,更下层单元的分区信息可包括关于所述更下层单元的尺寸的信息。
98.–
在树结构中,顶部节点可对应于进行分区之前的初始节点。顶部节点可被称为“根节点”。此外,根节点可具有最小深度值。这里,顶部节点的深度可为级别“0”。
99.–
深度为级别“1”的节点可表示在初始单元被分区一次时所产生的单元。深度为级别“2”的节点可表示在初始单元被分区两次时所产生的单元。
100.–
深度为级别“n”的叶节点可表示在初始单元被分区n次时所产生的单元。
101.–
叶节点可以是底部节点,该叶节点不能被进一步分区。叶节点的深度可以是最大级别。例如,针对最大级别的预定义值可以是3。
102.–
变换单元(tu):tu可以是残差信号编码和/或残差信号解码(诸如,变换、逆变换、量化、反量化、变换系数编码和变换系数解码)的基本单元。单个tu可被分区为多个tu,其中,所述多个tu中的每个tu具有更小的尺寸。
103.–
预测单元(pu):pu可以是在预测或补偿的执行中的基本单元。pu可通过进行分区而被分区为多个分区。所述多个分区也可以是在预测或补偿的执行中的基本单元。经由对pu进行分区所产生的分区也可以是预测单元。
104.–
重建的邻近单元:重建的邻近单元可以是在目标单元附近的先前已被解码并重建的单元。重建的邻近单元可以是在空间上与目标单元邻近的单元,也可以是在时间上与目标单元邻近的单元。
105.–
预测单元分区:预测单元分区可表示pu被分区的形状。
106.–
参数集:参数集可对应于关于比特流的结构的头的信息。例如,参数集可包括序列参数集、画面参数集、适配参数集等。
107.–
率失真优化:编码设备可使用率失真优化以便通过利用以下项的组合来提供更高的编码效率:cu的尺寸、预测模式、预测单元的尺寸、运动信息和tu的尺寸。
108.–
率失真优化方案:该方案可计算各个组合的率失真代价以从这些组合中选择最优组合。可使用以下等式1来计算率失真代价。通常,可将使率失真代价最小化的组合选为在率失真优化方法下的最优组合。
109.[等式1]
[0110]
d+λ*r
[0111]
这里,d可表示失真。d可以是在变换单元中的原始变换系数和重建的变换系数之间的差值的平方的平均值(均方误差)。
[0112]
r表示码率,其可使用相关上下文信息来表示比特率。
[0113]
λ表示拉格朗日乘数。r不仅可包括编码参数信息(诸如预测模式、运动信息和编码块标志),还可包括由于对变换系数进行编码而产生的比特。
[0114]
编码设备可执行诸如帧间预测和/或帧内预测、变换、量化、熵编码、反量化和逆变换的过程,以便计算精确的d和r。这些过程会大大增加编码设备的复杂度。
[0115]

参考画面:参考画面可以是被用于帧间预测或运动补偿的图像。参考画面可以是包括被目标单元参考以执行帧间预测或运动补偿的参考单元的画面。
[0116]

参考画面列表:参考画面列表可以是包括被用于帧间预测或运动补偿的参考画
面的列表。参考画面列表的类型可以是合并的列表(lc)、列表0(l0)、列表1(l1)等。
[0117]

运动矢量(mv):mv可以是用于帧间预测的2d矢量。例如,可以以诸如(mv
x
,mvy)的形式来表示mv。mv
x
可指示水平分量,mvy可指示垂直分量。
[0118]

mv可表示目标画面与参考画面之间的偏移。
[0119]

搜索范围:搜索范围可以是在帧间预测期间执行针对mv的搜索的2d区域。例如,搜索范围的尺寸可以是m
×
n。m和n可分别是正整数。
[0120]
图1是示出被应用了本发明的编码设备的实施例的配置的框图。
[0121]
编码设备100可以是视频编码设备或图像编码设备。视频可包括一个或更多个图像(画面)。编码设备100可随着时间顺序地对视频的一个或更多个图像进行编码。
[0122]
参照图1,编码设备100包括帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵解码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180和参考画面缓冲器190。
[0123]
编码设备100可使用帧内模式和帧间模式对目标图像执行编码。
[0124]
此外,编码设备100可通过对目标图像进行编码来产生包括关于编码的信息的比特流,并且可输出产生的比特流。
[0125]
当帧内模式被使用时,切换器115可切换到帧内模式。当帧间模式被使用时,切换器115可切换到帧间模式。
[0126]
编码设备100可针对目标块产生预测块。此外,在产生了预测块之后,编码设备100可对目标块与预测块之间的残差进行编码。
[0127]
当预测模式是帧内模式时,帧内预测单元120可将在目标块周围的先前被编码的邻近块的像素用作参考像素。帧内预测单元120可使用所述参考像素对目标块执行空间预测,并且经由空间预测针对目标块产生预测样点。
[0128]
帧间预测单元110可包括运动预测单元和运动补偿单元。
[0129]
当预测模式是帧间模式时,运动预测单元可在运动预测过程中在参考图像中搜索与目标块最匹配的区域,并且可针对目标块和找到的区域推导出运动矢量。参考图像可被存储在参考画面缓冲器190中。更具体地讲,当参考图像的编码和/或解码已被处理时,参考图像可被存储在参考画面缓冲器190中。
[0130]
运动补偿单元可通过使用运动矢量执行运动补偿来产生用于目标块的预测块。这里,运动矢量可以是用于帧间预测的二维(2d)矢量。此外,运动矢量可表示目标图像和参考图像之间的偏移。
[0131]
减法器125可产生残差块,其中,残差块是目标块与预测块之间的残差。
[0132]
变换单元130可通过对残差块进行变换来产生变换系数,并且可输出产生的变换系数。这里,变换系数可以是通过对残差块进行变换而产生的系数值。当使用变换跳过模式时,变换单元130可省略对残差块进行变换的操作。
[0133]
通过对变换系数实施量化,可产生量化的变换系数等级。这里,在实施例中,量化的变换系数等级也可被称为“变换系数”。
[0134]
量化单元140可通过根据量化参数对变换系数进行量化来产生量化的变换系数等级。量化单元140可输出量化的变换系数等级。在这种情况下,量化单元140可使用量化矩阵对变换系数进行量化。
[0135]
熵解码单元150可通过基于由量化单元140计算出的值和/或在编码过程中计算出的编码参数值执行基于概率分布的熵编码来产生比特流。熵解码单元150可输出产生的比特流。
[0136]
除了图像的像素信息之外,熵解码单元150还可针对对图像进行解码所需的信息执行熵编码。例如,对图像进行解码所需的信息可包括语法元素等。
[0137]
编码参数可以是进行编码和/或解码所需的信息。编码参数可包括由编码设备100编码并从编码设备100传送到解码设备的信息,并且还可包括在编码或解码过程中推导出的信息。例如,被传送到解码设备的信息可包括语法元素。
[0138]
例如,编码设备可包括值或统计信息,诸如预测模式、运动矢量、参考画面索引、编码块图案、存在或不存在残差信号、变换系数、量化的变换系数、量化参数、块尺寸以及块分区信息。预测模式可以是帧内预测模式或帧间预测模式。
[0139]
残差信号可表示原始信号与预测信号之间的差。可选地,残差信号可以是通过对原始信号与预测信号之间的差进行变换而产生的信号。可选地,残差信号可以是通过对原始信号与预测信号之间的差进行变换和量化而产生的信号。
[0140]
当应用熵编码时,可将更少的比特分配给更频繁出现的符号,并且可将更多的比特分配给很少出现的符号。由于通过该分配来表示符号,因此可减少用于将被编码的目标符号的比特串的大小。因此,通过熵编码可提高视频编码的压缩性能。
[0141]
此外,为了进行熵编码,可使用诸如指数哥伦布、上下文自适应可变长度编码(cavlc)或上下文自适应二进制算术编码(cabac)的编码方法。例如,熵解码单元150可使用可变长度编码/码(vlc)表来执行熵编码。例如,熵解码单元150可推导出用于目标符号的二值化方法。此外,熵解码单元150可推导出用于目标符号/二进制位的概率模型。熵解码单元150可使用推导出的二值化方法或概率模型来执行熵编码。
[0142]
由于编码设备100经由帧间预测执行编码,因此目标图像可被用作用于将被后续处理的另外的图像的参考图像。因此,编码设备100可对编码的目标图像进行解码,并将解码的图像作为参考图像存储在参考画面缓冲器190中。对于解码,可进行对编码的目标图像的反量化和逆变换。
[0143]
量化的系数可由反量化单元160进行反量化,并且可由逆变换单元170进行逆变换。可由加法器175将已被反量化和逆变换的系数与预测块相加。将反量化且逆变换的系数和预测块相加,然后可产生重建块。
[0144]
重建块可通过滤波单元180进行滤波。滤波单元180可将去块滤波器、样点自适应偏移(sao)滤波器和自适应环路滤波器(alf)中的一个或更多个滤波器应用于重建块或重建画面。滤波单元180也可被称为“自适应环内滤波器”。
[0145]
去块滤波器可消除在块的边界处出现的块失真。sao滤波器可将适当的偏移值与像素值相加以便对编码误差进行补偿。alf可基于重建块与原始块之间的比较结果来执行滤波。可将通过滤波单元180进行了滤波的重建块存储在参考画面缓冲器190中。通过滤波单元180进行了滤波的重建块可以是参考画面的一部分。换句话说,参考画面可以是由通过滤波单元180进行了滤波的重建块所构成的画面。存储的参考画面随后可被用于帧间预测。
[0146]
图2是示出被应用了本发明的解码设备的实施例的配置的框图。
[0147]
解码设备200可以是视频解码设备或图像解码设备。
[0148]
参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、加法器255、滤波单元260和参考画面缓冲器270。
[0149]
解码设备200可接收从编码设备100输出的比特流。解码设备200可在帧内模式和/或帧间模式下对比特流执行解码。此外,解码设备200可经由解码来产生重建图像,并且可输出重建图像。
[0150]
例如,可通过切换器来执行基于用于进行解码的预测模式而切换到帧内模式或帧间模式的操作。当用于解码的预测模式是帧内模式时,切换器可被操作以切换到帧内模式。当用于解码的预测模式是帧间模式时,切换器可被操作以切换到帧间模式。
[0151]
解码设备200可从输入的比特流获取重建的残差块,并且可产生预测块。当重建的残差块和预测块被获取时,解码设备200可通过将重建的残差块与预测块相加来产生重建块。
[0152]
熵解码单元210可通过基于概率分布对比特流执行熵解码来产生符号。产生的符号可包括量化的系数格式符号。这里,熵解码方法可与以上描述的熵编码方法相似。也就是说,熵解码方法可以是以上描述的熵编码方法的逆过程。
[0153]
量化的系数可由反量化单元220进行反量化。此外,反量化的系数可由逆变换单元230进行逆变换。作为对量化的系数进行反量化和逆变换的结果,可产生重建的残差块。这里,反量化单元220可将量化矩阵应用于量化的系数。
[0154]
当使用帧内模式时,帧内预测单元240可通过执行空间预测来产生预测块,其中,所述空间预测使用在目标块周围的先前被解码的邻近块的像素值。
[0155]
帧间预测单元250可包括运动补偿单元。当使用帧间模式时,运动补偿单元250可通过执行利用运动矢量和参考图像的运动补偿来产生预测块。参考图像可存储在参考画面缓冲器270中。
[0156]
重建的残差块和预测块可由加法器255彼此相加。加法器255可通过将重建的残差块和预测块相加来产生重建块。
[0157]
重建块可通过滤波单元260进行滤波。滤波单元260可将去块滤波器、sao滤波器和alf中的一个或更多个应用于重建块或重建画面。通过滤波单元260进行了滤波的重建块可被存储在参考画面缓冲器270中。通过滤波单元260进行了滤波的重建块可以是参考画面的一部分。换句话说,参考画面可以是由通过滤波单元260进行了滤波的重建块所构成的画面。存储的参考画面随后可被用于帧间预测。
[0158]
图3是示意性地示出了当图像被编码和解码时图像分区结构的示图。
[0159]
为了有效地对图像进行分区,可在编码和解码中使用编码单元(cu)。术语“单元”可被用于共同地指定1)包括图像样点的块和2)语法元素。例如,“单元的分区”可表示“与单元相应的块的分区”。
[0160]
参照图3,图像200被顺序地分区为与最大编码单元(lcu)相应的单元,并且图像300的分区结构可根据lcu被确定。这里,lcu可被用于具有与编码树单元(ctu)相同的含义。
[0161]
分区结构可表示lcu 310中的用于对图像进行有效编码的编码单元(cu)的分布。可根据单个cu是否将被分区为四个cu来确定这种分布。从进行分区所产生的每个cu的水平尺寸和垂直尺寸可以是被分区之前的cu的水平尺寸和垂直尺寸的一半。每个被分区出的cu可被递归地分区为四个cu,并且按照相同的方式,所述四个cu的水平尺寸和垂直尺寸被减
半。
[0162]
这里,可递归地执行cu的分区直到预定义深度为止。深度信息可以是指示cu的尺寸的信息。针对每个cu可存储深度信息。例如,lcu的深度可以是0,最小编码单元(scu)的深度可以是预定义的最大深度。这里,如上所述,lcu可以是具有最大编码单元尺寸的cu,scu可以是具有最小编码单元尺寸的cu。
[0163]
在lcu 310处开始进行分区,每当cu的水平尺寸和垂直尺寸通过进行分区而减半时,cu的深度可增加“1”。对于各个深度,未被分区的cu可具有2n
×
2n的尺寸。此外,在cu被分区的情况下,尺寸为2n
×
2n的cu可被分区为尺寸均为n
×
n的四个cu。每当深度增加1时,尺寸n可减半。
[0164]
参照图3,深度为0的lcu可具有64
×
64个像素。0可以是最小深度。深度为3的scu可具有8
×
8个像素。3可以是最大深度。这里,作为lcu的具有64
×
64个像素的cu可用深度0来表示。具有32
×
32个像素的cu可以用深度1来表示。具有16
×
16个像素的cu可以用深度2来表示。作为scu的具有8
×
8个像素的cu可以用深度3来表示。
[0165]
此外,关于相应cu是否被分区的信息可以用cu的分区信息来表示。分区信息可以是1比特信息。除了scu之外的所有cu可包括分区信息。例如,当cu不被分区时,cu的分区信息的值可以是0。当cu被分区时,cu的分区信息的值可以是1。
[0166]
图4是示出编码单元(cu)能够包括的预测单元(pu)的形状的示图。
[0167]
在从lcu分区出的cu中,可将不再被分区的cu划分为一个或更多个预测单元(pu)。这种划分也可被称为“分区”。
[0168]
pu可以是用于预测的基本单元。pu可在跳过模式、帧间模式和帧内模式中的任意一个模式下被编码和解码。可根据各个模式将pu分区为各种形状。例如,以上参照图1描述的目标块以及以上参照图2描述的目标块可以均是pu。
[0169]
在跳过模式下,在cu中可不存在分区。在跳过模式下,可支持2n
×
2n模式410,而不进行分区,其中,在2n
×
2n模式中,pu的尺寸和cu的尺寸彼此相同。
[0170]
在帧间模式下,在cu中可存在8种类型的分区形状。例如,在帧间模式下,可支持2n
×
2n模式410、2n
×
n模式415、n
×
2n模式420、n
×
n模式425、2n
×
nu模式430、2n
×
nd模式435、nl
×
2n模式440和nr
×
2n模式445。
[0171]
在帧内模式下,可支持2n
×
2n模式410和n
×
n模式425。
[0172]
在2n
×
2n模式410下,可对尺寸为2n
×
2n的pu进行编码。尺寸为2n
×
2n的pu可表示尺寸与cu的尺寸相同的pu。例如,尺寸为2n
×
2n的pu可具有尺寸64
×
64、32
×
32、16
×
16或8
×
8。
[0173]
在n
×
n模式425下,可对尺寸为n
×
n的pu进行编码。
[0174]
例如,在帧内预测中,当pu的尺寸是8
×
8时,可对四个分区出的pu进行编码。每个分区出的pu的尺寸可以是4
×
4。
[0175]
当在帧内模式下对pu进行编码时,可使用多个帧内预测模式中的任意一个对pu进行编码。例如,hevc技术可提供35个帧内预测模式,pu可在所述35个帧内预测模式中的任意一个下被编码。
[0176]
可基于率失真代价来确定2n
×
2n模式410和n
×
n模式425中的哪一个模式将被用于对pu进行编码。
[0177]
编码设备100可对尺寸为2n
×
2n的pu执行编码操作。这里,编码操作可以是在能够被编码设备100使用的多个帧内预测模式中的每个模式下对pu进行编码的操作。通过编码操作,可得到用于尺寸为2n
×
2n的pu的最佳帧内预测模式。最佳帧内预测模式可以是能够被编码设备100使用的多个帧内预测模式之中的在对尺寸为2n
×
2n的pu进行编码时出现最小率失真代价的帧内预测模式。
[0178]
此外,编码设备100可顺序地对通过进行n
×
n分区而获得的各个pu执行编码操作。这里,编码操作可以是在能够被编码设备100使用的多个帧内预测模式中的每个模式下对pu进行编码的操作。通过编码操作,可得到用于尺寸为n
×
n的pu的最佳帧内预测模式。最佳帧内预测模式可以是能够被编码设备100使用的多个帧内预测模式之中的在对尺寸为n
×
n的pu进行编码时出现最小率失真代价的帧内预测模式。
[0179]
编码设备100可基于尺寸为2n
×
2n的pu的率失真代价和尺寸为n
×
n的pu的率失真代价之间的比较结果来确定尺寸为2n
×
2n的pu和尺寸为n
×
n的pu中的哪一个将被编码。
[0180]
图5是示出能够被包括在cu中的变换单元(tu)的形状的示图。
[0181]
变换单元(tu)可是cu中被用于诸如变换、量化、逆变换、反量化、熵编码和熵解码的过程的基本单元。tu可具有正方形或矩形的形状。
[0182]
在从lcu分区出的cu中,可将不再被分区为cu的cu分区为一个或更多个tu。这里,tu的分区结构可以是四叉树结构。例如,如图5中所示,可根据四叉树结构将单个cu 510分区一次或更多次。通过这种分区,单个cu 510可由具有各种尺寸的tu组成。
[0183]
在编码设备100中,尺寸为64
×
64的编码树单元(ctu)可通过递归四叉树结构被分区为多个更小的cu。单个cu可被分区为具有相同尺寸的四个cu。每个cu可被递归地分区,并可具有四叉树结构。
[0184]
cu可具有给定深度。当cu被分区时,由分区产生的cu的深度可比被分区的cu的深度增加1。
[0185]
例如,cu的深度可具有范围从0到3的值。cu的尺寸的范围可根据cu的深度从64
×
64的尺寸到8
×
8的尺寸。
[0186]
通过cu的递归分区,可选择发生最小率失真代价的最佳分区方法。
[0187]
图6是用于解释帧内预测过程的实施例的示图。
[0188]
从图6中的图的中心径向延伸的箭头可表示帧内预测模式的预测方向。此外,在箭头附近示出的数字可表示被分配给帧内预测模式或被分配给帧内预测模式的预测方向的模式值的示例。
[0189]
可使用与目标块邻近的块的参考样点来执行帧内编码和/或解码。邻近块可以是邻近的重建块。例如,可使用在每个邻近的重建块中包括的参考样点的值或者邻近的重建块的编码参数来执行帧内编码和/或解码。
[0190]
编码设备100和/或解码设备200可通过基于关于目标图像中的样点的信息对目标块执行帧内预测来产生预测块。当帧内预测被执行时,编码设备100和/或解码设备200可通过基于关于目标图像中的样点的信息执行帧内预测来产生用于目标块的预测块。当帧内预测被执行时,编码设备100和/或解码设备200可基于至少一个重建的参考样点来执行定向预测和/或非定向预测。
[0191]
预测块可表示作为执行帧内预测的结果而产生的块。预测块可对应于cu、pu和tu
中的至少一个。
[0192]
预测块的单元可具有与cu、pu和tu中的至少一个相应的尺寸。预测块可具有尺寸为2n
×
2n或n
×
n的正方形形状。尺寸n
×
n可包括尺寸4
×
4、8
×
8、16
×
16、32
×
32、64
×
64等。
[0193]
可选地,预测块可以是尺寸为2
×
2、4
×
4、16
×
16、32
×
32、64
×
64等的正方形块或者尺寸为2
×
8、4
×
8、2
×
16、4
×
16、8
×
16等的矩形块。
[0194]
可根据用于目标块的帧内预测模式执行帧内预测。目标块可具有的帧内预测模式的数量可以是预定义的固定值,并且可以是根据预测块的属性不同地确定的值。例如,预测块的属性可包括预测块的尺寸、预测块的类型等。
[0195]
例如,不论预测块的尺寸如何,帧内预测模式的数量都可被固定为35。可选地,帧内预测模式的数量可以是例如3、5、9、17、34、35或36。
[0196]
如图6中所示,帧内预测模式可包括两种非定向模式和33种定向模式。所述两种非定向模式可包括dc模式和平面模式。
[0197]
例如,在模式值为26的垂直模式中,可基于参考样点的像素值沿垂直方向执行预测。例如,在模式值为10的水平模式中,可基于参考样点的像素值沿水平方向执行预测。
[0198]
即使在除了上述模式之外的定向模式中,编码设备100和解码设备200仍可使用依据与定向模式相应的角度的参考样点对目标单元执行帧内预测。
[0199]
位于相对于垂直模式的右侧的帧内预测模式可被称为“垂直-右侧模式”。位于水平模式下方的帧内预测模式可被称为“水平-下方模式”。例如,在图6中,模式值是27、28、29、30、31、32、33和34之一的帧内预测模式可以是垂直-右侧模式613。模式值是2、3、4、5、6、7、8和9之一的帧内预测模式可以是水平-下方模式616。
[0200]
非定向模式可包括dc模式和平面模式。例如,dc模式的模式值可以是1。平面模式的模式值可以是0。
[0201]
定向模式可包括角模式。在多种帧内预测模式之中,除了dc模式和平面模式之外的模式可以是定向模式。
[0202]
在dc模式中,可基于多个参考样点的像素值的平均值来产生预测块。例如,可基于多个参考样点的像素值的平均值来确定预测块的像素值。
[0203]
以上描述的帧内预测模式的数量以及各个帧内预测模式的模式值仅是示例性的。可根据实施例、实现和/或要求来不同地定义以上描述的帧内预测模式的数量以及各个帧内预测模式的模式值。
[0204]
帧内预测模式的数量可根据颜色分量的类型而不同。例如,预测模式的数量可根据颜色分量是亮度(luma)信号还是色度(chroma)信号而不同。
[0205]
图7是用于解释在帧内预测过程中使用的参考样点的位置的示图。
[0206]
图7示出了用于目标块的帧内预测的参考样点的位置。参照图7,用于目标块的帧内预测的重建参考样点可包括例如左下方参考样点731、左侧参考样点733、左上角参考样点735、上方参考样点737和右上方参考样点739。
[0207]
例如,左侧参考样点733可表示与目标块的左侧边相邻的重建参考像素。上方参考样点737可表示与目标块的顶部相邻的重建参考像素。左上角参考样点735可表示位于目标块的左上角处的重建参考像素。左下方参考样点731可表示在位于与由左侧参考样点733构
成的左侧样点线相同的线上的样点之中的位于所述左侧样点线下方的参考样点。右上方参考样点739可表示在位于与由上方参考样点737构成的上方样点线相同的线上的样点之中的位于所述上方样点线右侧的参考样点。
[0208]
当目标块的尺寸是n
×
n时,左下方参考样点731、左侧参考样点733、上方参考样点737和右上方参考样点739的数量可均是n。
[0209]
通过对目标块执行帧内预测,可产生预测块。预测块的产生可包括预测块中的像素值的确定。目标块的尺寸和预测块的尺寸可相同。
[0210]
用于目标块的帧内预测的参考样点可依据目标块的帧内预测模式而改变。帧内预测模式的方向可表示参考样点与预测块的像素之间的依赖关系。例如,特定参考样点的值可被用作预测块中的一个或更多个特定像素的值。在这种情况下,所述特定参考样点以及预测块中的所述一个或更多个特定像素可以是位于沿帧内预测模式的方向的直线上的样点和像素。换句话说,所述特定参考样点的值可被复制用作位于与帧内预测模式的方向相反的方向上的像素的值。可选地,预测块中的像素的值可以是位于关于该像素的位置的帧内预测模式的方向上的参考样点的值。
[0211]
在示例中,当目标块的帧内预测模式是模式值为26的垂直模式时,上方参考样点737可被用于帧内预测。当帧内预测模式是垂直模式时,预测块中的像素的值可以是垂直地位于该像素的位置上方的参考像素的值。因此,与目标块的顶部相邻的上方参考样点737可被用于帧内预测。此外,在预测块的一行中的像素的值可与上方参考样点737的像素的值相同。
[0212]
在示例中,当当前块的帧内预测模式是模式值为10的水平模式时,左侧参考样点733可被用于帧内预测。当帧内预测模式是水平模式时,预测块中的像素的值可以是水平地位于该像素的左侧的参考像素的值。因此,与目标块的左侧相邻的左侧参考样点733可被用于帧内预测。此外,在预测块的一列中的像素的值可与左侧参考样点733的像素的值相同。
[0213]
在示例中,当当前块的帧内预测模式的模式值是18时,左侧参考样点733中的至少一些参考样点、左上角参考样点735、以及上方参考样点737中的至少一些参考样点可被用于帧内预测。当帧内预测模式的模式值是18时,预测块中的像素的值可以是对角地位于该像素的左上角处的参考样点的值。
[0214]
此外,当具有与27、28、29、30、31、32、33或34相应的模式值的帧内预测模式被使用时,右上方参考样点739中的至少一些可被用于帧内预测。
[0215]
此外,当具有与2、3、4、5、6、7、8或9相应的模式值的帧内预测模式被使用时,左下方参考样点739中的至少一些可被用于帧内预测。
[0216]
另外,当具有与11至25中的任意一个相应的模式值的帧内预测模式被使用时,左上角参考样点735可被用于帧内预测。
[0217]
被用于确定预测块中的一个像素的像素值的参考样点的数量可以是1或2或更多。
[0218]
如上所述,在预测块中的像素的像素值可依据该像素的位置以及由帧内预测模式的方向所指示的参考样点的位置被确定。当该像素的位置以及由帧内预测模式的方向所指示的参考样点的位置是整数位置时,由整数位置所指示的一个参考样点的值可被用于确定预测块中的像素的像素值。
[0219]
当该像素的位置以及由帧内预测模式的方向所指示的参考样点不是整数位置时,
可产生基于与参考样点的位置最近的两个参考样点的插值参考样点。插值参考样点的值可被用于确定预测块中的像素的像素值。换句话说,当预测块中的像素的位置以及由帧内预测模式的方向所指示的参考样点的位置指示两个参考样点之间的位置时,可产生基于所述两个参考样点的值的插值。
[0220]
经由预测所产生的预测块可与原始目标块不同。换句话说,可存在作为目标块与预测块之间的差的预测误差,并且还可存在目标块的像素与预测块的像素之间的预测误差。例如,在定向帧内预测的情况下,预测块的像素与参考样点之间的距离越长,则可能发生的预测误差越大。这样的预测误差可导致在产生的预测块和相邻块之间的不连续性。
[0221]
为了减少预测误差,可使用针对预测块的滤波。滤波可被构造为自适应地将滤波器应用于预测块中的被认为具有较大预测误差的区域。例如,被认为具有较大预测误差的区域可以是预测块的边界。此外,在预测块中被认为具有较大预测误差的区域可依据帧内预测模式而不同,滤波器的特性也可依据帧内预测模式而不同。
[0222]
图8是用于解释帧间预测过程的实施例的示图。
[0223]
图8中示出的矩形可表示图像(或画面)。此外,在图8中,箭头可表示预测方向。也就是说,可根据预测方向对每个图像进行编码和/或解码。
[0224]
图像可根据编码类型被分类为帧内画面(i画面)、单向预测画面或预测编码画面(p画面)、和双向预测画面或双向预测编码画面(b画面)。可根据每个画面的编码类型对每个画面进行编码。
[0225]
当作为将被编码的目标的目标图像是i画面时,可在不进行参考其它图像的帧间预测的情况下使用目标图像自身所包含的数据对目标图像进行编码。例如,i画面可仅经由帧内预测被编码。
[0226]
当目标图像是p画面时,可经由仅使用前向方向上的参考画面的帧间预测对目标图像进行编码。
[0227]
当目标图像是b画面时,可经由使用前向方向和反向方向两者上的参考画面的帧间预测对图像进行编码,或者,可以经由使用前向方向和反向方向之一上的参考画面的帧间预测对图像进行编码。
[0228]
使用参考画面进行编码和/或解码的p画面和b画面可被视为使用帧间预测的图像。
[0229]
下面,将详细地描述根据实施例的在帧间模式下的帧间预测。
[0230]
在帧间模式下,编码设备100和解码设备200可对目标块执行预测和/或运动补偿。
[0231]
例如,编码设备100或解码设备200可通过将空间候选和/或时间候选的运动信息用作目标块的运动信息来执行预测和/或运动补偿。目标块可表示pu和/或pu分区。
[0232]
空间候选可以是空间上与目标块相邻的重建块。
[0233]
时间候选可以是在先前重建的同位画面(col画面)中的与目标块相应的重建块。
[0234]
在帧间预测中,编码设备100和解码设备200可通过利用空间候选和/或时间候选的运动信息来提高编码效率和解码效率。空间候选的运动信息可被称为“空间运动信息”。时间候选的运动信息可被称为“时间运动信息”。
[0235]
下面,空间候选的运动信息可以是包括空间候选的pu的运动信息。时间候选的运动信息可以是包括时间候选的pu的运动信息。候选块的运动信息可以是包括候选块的pu的
运动信息。
[0236]
可使用参考画面来执行帧间预测。
[0237]
参考画面可以是目标画面之前的画面和目标画面之后的画面中的至少一个。参考画面可以是用于对目标块进行预测的图像。
[0238]
在帧间预测中,可通过使用用于指示参考画面的参考画面索引(或refidx)、随后将描述的运动矢量等来指定参考画面中的区域。这里,参考画面中指定的区域可表示参考块。
[0239]
帧间预测可选择参考画面,并且也可选择该参考画面中的与目标块相应的参考块。此外,帧间预测可使用所选择的参考块来产生用于目标块的预测块。
[0240]
运动信息可由编码设备100和解码设备200中的每一个在帧间预测期间推导出。空间候选块可以是:1)存在于目标画面中的块、2)先前已经经由编码和/或解码被重建的块、以及3)与目标块相邻或位于目标块的角处的块。这里,“位于目标块的角处的块”可以是垂直相邻于与目标块水平相邻的邻近块的块,或者水平相邻于与目标块垂直相邻的邻近块的块。此外,“位于目标块的角处的块”可具有与“与目标块的角相邻的块”相同的含义。“位于目标块的角处的块”可被包括在“与目标块相邻的块”中。
[0241]
例如,空间候选可以是位于目标块左侧的重建块、位于目标块上方的重建块、位于目标块的左下角处的重建块、位于目标块的右上角处的重建块或者位于目标块的左上角处的重建块。
[0242]
编码设备100和解码设备200中的每一个可识别col画面中的存在于在空间上与目标块相应的位置处的块。目标画面中的目标块的位置可与在col画面中识别出的所述块的位置彼此对应。
[0243]
编码设备100和解码设备200中的每一个可将存在于针对识别出的所述块的预定义的相对位置处的col块确定为时间候选。所述预定义的相对位置可以是存在于识别出的所述块的内部和/或外部的位置。
[0244]
例如,col块可包括第一col块和第二col块。当识别出的所述块的坐标是(xp,yp)并且识别出的所述块的尺寸用(npsw,npsh)来表示时,第一col块可以是位于坐标(xp+npsw,yp+npsh)处的块。第二col块可以是位于坐标(xp+(npsw》》1),yp+(npsh》》1))处的块。当第一col块不可用时,可选择性地使用第二col块。
[0245]
可基于col块的运动矢量来确定目标块的运动矢量。编码设备100和解码设备200中的每一个可对col块的运动矢量进行缩放。col块的缩放后的运动矢量可被用作目标块的运动矢量。此外,存储在列表中的用于时间候选的运动信息的运动矢量可以是缩放后的运动矢量。
[0246]
目标块的运动矢量与col块的运动矢量的比率可与第一距离与第二距离的比率相同。第一距离可以是目标块的参考画面和目标画面之间的距离。第二距离可以是col块的参考画面和col画面之间的距离。
[0247]
用于推导运动信息的方案可根据目标块的帧间预测模式而变化。例如,作为被应用于帧间预测的帧间预测模式,可存在高级运动矢量预测因子(amvp)模式、合并模式、跳过模式等。下面将详细描述各个模式。
[0248]
1)amvp模式
[0249]
当amvp模式被使用时,编码设备100可在目标块的邻近区域中搜索相似块。编码设备100可通过使用找到的相似块的运动信息对目标块执行预测来获取预测块。编码设备100可对作为目标块与预测块之间的差的残差块进行编码。
[0250]
1-1)预测运动矢量候选的列表的产生
[0251]
当amvp模式被用作预测模式时,编码设备100和解码设备200中的每一个可使用空间候选的运动矢量和/或时间候选的运动矢量来创建预测运动矢量候选的列表。空间候选的运动矢量和/或时间候选的运动矢量可被用作预测运动矢量候选。
[0252]
预测运动矢量候选可以是用于对运动矢量进行预测的运动矢量预测因子。此外,在编码设备100中,每个预测运动矢量候选可以是用于运动矢量的初始搜索位置。
[0253]
1-2)使用预测运动矢量候选的列表搜索运动矢量
[0254]
编码设备100可使用预测运动矢量候选的列表在搜索范围内确定将被用于对目标块进行编码的运动矢量。此外,编码设备100可在存在于预测运动矢量候选的列表中的多个预测运动矢量候选之中确定将被用作目标块的预测运动矢量的预测运动矢量候选。
[0255]
将被用于对目标块进行编码的运动矢量可以是以最小代价被编码的运动矢量。
[0256]
此外,编码设备100可确定是否使用amvp模式对目标块进行编码。
[0257]
1-3)帧间预测信息的传输
[0258]
编码设备100可产生包括帧间预测所需的帧间预测信息的比特流。解码设备100可使用比特流中的帧间预测信息对目标块执行帧间预测。
[0259]
帧间预测信息可包括:1)指示是否使用amvp模式的模式信息、2)预测运动矢量索引、3)运动矢量差(mvd)、4)参考方向和5)参考画面索引。
[0260]
此外,帧间预测信息可包括残差信号。
[0261]
仅当模式信息指示使用amvp模式时,解码设备200可从比特流获取预测运动矢量索引、mvd、参考方向和参考画面索引。
[0262]
预测运动矢量索引可指示在预测运动矢量候选的列表中包括的多个预测运动矢量候选之中的将被用于对目标块进行预测的预测运动矢量候选。
[0263]
1-4)使用帧间预测信息在amvp模式下进行帧间预测
[0264]
解码设备200可从在运动矢量预测候选的列表中包括的多个预测运动矢量候选中选择由预测运动矢量索引所指示的预测运动矢量候选,作为目标块的预测运动矢量。
[0265]
实际将被用于对目标块进行帧间预测的运动矢量可能与预测运动矢量不匹配。为了指示实际将被用于对目标块进行帧间预测的运动矢量与预测运动矢量之间的差,可使用mvd。编码设备100可推导与实际将被用于对目标块进行帧间预测的运动矢量相似的预测运动矢量,以便使用尽可能小的mvd。
[0266]
mvd可以是目标块的运动矢量与预测运动矢量之间的差。编码设备100可计算mvd,并且可对mvd进行编码。
[0267]
mvd可通过比特流从编码设备100被发送到解码设备200。解码设备200可对接收到的mvd进行解码。解码设备200可使用解码出的mvd和预测运动矢量之和来推导出目标块的运动矢量。
[0268]
参考方向可指示将被用于对目标块进行预测的参考画面的列表。例如,参考方向可指示参考画面列表l0和参考画面列表l1之一。
[0269]
参考方向仅指示将被用于对目标块进行预测的参考画面列表,并且可不表示参考画面的方向被限制于前向方向或后向方向。换句话说,参考画面列表l0和参考画面列表l1中的每一个可包括前向方向和/或后向方向上的画面。
[0270]
作为单向的参考方向可表示使用单个参考画面列表。作为双向的参考方向可表示使用两个参考画面列表。换句话说,参考方向可指示以下情况之一:仅使用参考画面列表l0的情况、仅使用参考画面列表l1的情况、以及使用两个参考画面列表的情况。
[0271]
参考画面索引可指示参考画面列表中的多个参考画面之中的将被用于对目标块进行预测的参考画面。
[0272]
当两个参考画面列表将被用于对目标块进行预测时,单个参考画面索引和单个运动矢量可被用于多个参考画面列表中的每一个。此外,当两个参考画面列表被用于对目标块进行预测时,两个预测块可被指定用于目标块。例如,可使用用于目标块的两个预测块的平均值或加权和来产生目标块的(最终)预测块。
[0273]
可用预测运动矢量索引、mvd、预测方向和参考画面索引来指定目标块的运动矢量。
[0274]
解码设备200可基于推导出的运动矢量和参考画面索引信息来产生用于目标块的预测块。例如,预测块可以是在由参考画面索引信息所指示的参考画面中的由推导出的运动矢量所指示的参考块。
[0275]
由于预测运动矢量索引和mvd被编码而目标块的运动矢量自身不被编码,因此可减少从编码设备100被发送到解码设备200的比特的数量,并且可提高编码效率。
[0276]
对于目标块,可使用重建的邻近块的运动信息。在特定帧间预测模式下,编码设备100可不单独对目标块的实际运动信息进行编码。不对目标块的运动信息进行编码,并且可以替代地对附加信息进行编码,其中,所述附加信息使得能够使用重建的邻近块的运动信息推导出目标块的运动信息。由于所述附加信息被编码,因此可减少被发送到解码设备200的比特的数量,并且可提高编码效率。
[0277]
例如,可存在作为不直接对目标块的运动信息进行编码的帧间预测模式的跳过模式和/或合并模式。这里,编码设备100和解码设备200中的每一个可使用指示在重建的邻近单元之中的一个单元的标识符和/或索引,其中,所述一个单元的运动信息将被用作目标单元的运动信息。
[0278]
2)合并模式
[0279]
存在作为用于推导目标块的运动信息的方案的合并方法。术语“合并”可表示对多个块的运动的合并。“合并”可表示一个块的运动信息也被应用于其它块。
[0280]
当合并模式被使用时,编码设备100可使用空间候选的运动信息和/或时间候选的运动信息对目标块的运动信息进行预测。编码设备100可经由预测获取预测块。编码设备100可对作为目标块与预测块之间的差的残差块进行编码。
[0281]
2-1)合并候选列表的产生
[0282]
当合并模式被使用时,编码设备100和解码设备200中的每一个可使用空间候选的运动信息和/或时间候选的运动信息来产生合并候选列表。运动信息可包括1)运动矢量、2)参考画面索引和3)参考方向。参考方向可以是单向或双向。
[0283]
合并候选列表可包括合并候选。合并候选可以是运动信息。换句话说,合并候选可
以是时间候选和/或空间候选的多条运动信息。此外,合并候选列表可包括通过对已经存在于合并候选列表中的合并候选进行组合而产生的新的合并候选。此外,合并候选列表可包括零矢量的运动信息。
[0284]
每个合并候选可包括1)运动矢量、2)参考画面索引和3)参考方向。
[0285]
合并候选列表可在执行合并模式下的预测之前被产生。
[0286]
合并候选列表中的合并候选的数量可被预定义。编码设备100和解码设备200中的每一个可依据预定方案和预定优先级将合并候选添加到合并候选列表,使得合并候选列表具有预定数量的合并候选。可使用预定方案和预定优先级使编码设备100的合并候选列表和解码设备200的合并候选列表彼此相同。
[0287]
可在cu基础上或pu基础上应用合并。当在cu基础上或pu基础上执行合并时,编码设备100可将包括预定义信息的比特流发送到解码设备200。例如,预定义信息可包含:1)指示是否针对各个块分区执行合并的信息、以及2)关于在作为用于目标块的空间候选和/或时间候选的多个块之中的将被用于执行合并的块的信息。
[0288]
2-2)使用合并候选列表搜索运动矢量
[0289]
编码设备100可确定将被用于对目标块进行编码的合并候选。例如,编码设备100可使用合并候选列表中的合并候选对目标块执行预测,并且可产生针对合并候选的残差块。编码设备100可使用在对残差块的预测和编码中产生最小代价的合并候选来对目标块进行编码。
[0290]
此外,编码设备100可确定是否使用合并模式对目标块进行编码。
[0291]
2-3)帧间预测信息的传输
[0292]
编码设备100可产生包括帧间预测所需的帧间预测信息的比特流。解码设备200可使用比特流的帧间预测信息对目标块执行帧间预测。
[0293]
帧间预测信息可包含1)指示是否使用合并模式的模式信息、以及2)合并索引。
[0294]
此外,帧间预测信息可包含残差信号。
[0295]
仅当模式信息指示合并模式被使用时,解码设备200可从比特流获取合并索引。
[0296]
合并索引可指示在合并候选列表中包括的多个合并候选之中的将被用于对目标块进行预测的合并候选。
[0297]
2-4)使用帧间预测信息的合并模式的帧间预测
[0298]
解码设备200可使用在合并候选列表中包括的多个合并候选之中的由合并索引指示的合并候选对目标块执行预测。
[0299]
可通过由合并索引指示的合并候选的运动矢量、参考画面索引和参考方向来指定目标块的运动矢量。
[0300]
3)跳过模式
[0301]
跳过模式可以是将空间候选的运动信息或时间候选的运动信息在没有改变的情况下应用于目标块的模式。此外,跳过模式可以是不使用残差信号的模式。换句话说,当跳过模式被使用时,重建块可以是预测块。
[0302]
合并模式和跳过模式之间的差异在于是否发送或使用残差信号。也就是说,除了不发送或使用残差信号之外,跳过模式可与合并模式相似。
[0303]
当跳过模式被使用时,编码设备100可通过比特流仅将关于在作为空间候选或时
间候选的多个块之中的这样的块的信息发送到解码设备200:该块的运动信息将被用作目标块的运动信息。此外,当跳过模式被使用时,编码设备100可不将其它语法信息(诸如mvd)发送到解码设备200。
[0304]
3-1)合并候选列表的产生
[0305]
跳过模式也可使用合并候选列表。换句话说,合并候选列表可在合并模式中以及在跳过模式中被使用。在这方面,合并候选列表也可被称为“跳过候选列表”或“合并/跳过候选列表”。
[0306]
可选地,跳过模式可使用与合并模式的附加候选列表不同的附加候选列表。在这种情况下,在以下描述中,合并候选列表和合并候选可分别被跳过候选列表和跳过候选替换。
[0307]
合并候选列表可在执行跳过模式下的预测之前被产生。
[0308]
3-2)使用合并候选列表搜索运动矢量
[0309]
编码设备100可确定将被用于对目标块进行编码的合并候选。例如,编码设备100可使用合并候选列表中的合并候选对目标块执行预测。编码设备100可使用在预测中产生最小代价的合并候选来对目标块进行编码。
[0310]
此外,编码设备100可确定是否使用跳过模式对目标块进行编码。
[0311]
3-3)帧间预测信息的传输
[0312]
编码设备100可产生包括帧间预测所需的帧间预测信息的比特流。解码设备200可使用比特流的帧间预测信息对目标块执行帧间预测。
[0313]
帧间预测信息可包括1)指示是否使用跳过模式的模式信息、2)跳过索引。
[0314]
跳过索引可与以上描述的合并索引相同。
[0315]
当跳过模式被使用时,可在不使用残差信号的情况下对目标块进行编码。帧间预测信息可不包含残差信号。可选地,比特流可不包括残差信号。
[0316]
仅当模式信息指示跳过模式被使用时,解码设备200可从比特流获得跳过索引。如上所述,合并索引和跳过索引可彼此相同。仅当模式信息指示合并模式或跳过模式被使用时,解码设备200可从比特流获得跳过索引。
[0317]
跳过索引可指示在合并候选列表中包括的多个合并候选之中的将被用于对目标块进行预测的合并候选。
[0318]
3-4)使用帧间预测信息的在跳过模式下的帧间预测
[0319]
解码设备200可使用在合并候选列表中包括的多个合并候选之中的由跳过索引指示的合并候选对目标块执行预测。
[0320]
可通过由跳过索引指示的合并候选的运动矢量、参考画面索引和参考方向来指定目标块的运动矢量。
[0321]
在以上描述的amvp模式、合并模式和跳过模式中,可使用列表的索引在列表中的多条运动信息之中指定将被用于对目标块进行预测的运动信息。
[0322]
为了提高编码效率,编码设备100可用信号仅发送在列表中的多个元素之中的在对目标块进行帧间预测时产生最小代价的元素的索引。编码设备100可对该索引进行编码,并且可用信号发送编码的索引。
[0323]
因此,上述列表(即,预测运动矢量候选列表和合并候选列表)必需能够由编码设
备100和解码设备200基于相同数据使用相同方案导出。这里,所述相同数据可包括重建画面和重建块。此外,为了使用索引指定元素,必需固定列表中的元素的顺序。
[0324]
图9示出根据实施例的空间候选。
[0325]
在图9中,示出了空间候选的位置。
[0326]
图的中心处的大块可表示目标块。五个小块可表示空间候选。
[0327]
目标块的坐标可以是(xp,yp),目标块的尺寸可以用(npsw,npsh)来表示。
[0328]
空间候选a0可以是与目标块的左下角相邻的块。a0可以是占有位于坐标(xp-1,yp+npsh+1)处的像素的块。
[0329]
空间候选a1可以是与目标块的左侧相邻的块。a1可以是与目标块的左侧相邻的多个块之中的最下面的块。可选地,a1可以是与a0的顶部相邻的块。a1可以是占有位于坐标(xp-1,yp+npsh)处的像素的块。
[0330]
空间候选b0可以是与目标块的右上角相邻的块。b0可以是占有位于坐标(xp+npsw+1,yp-1)处的像素的块。
[0331]
空间候选b1可以是与目标块的顶部相邻的块。b1可以是与目标块的顶部相邻的多个块之中的最右侧的块。可选地,b1可以是与b0的左侧相邻的块。b1可以是占有位于坐标(xp+npsw,yp-1)处的像素的块。
[0332]
空间候选b2可以是与目标块的左上角相邻的块。b2可以是占有位于坐标(xp-1,yp-1)处的像素的块。
[0333]
空间候选和时间候选的可用性的确定
[0334]
为了将空间候选的运动信息或时间候选的运动信息包括在列表中,必须确定空间候选的运动信息或时间候选的运动信息是否可用。
[0335]
在下文中,候选块可包括空间候选和时间候选。
[0336]
例如,可通过顺序地应用以下步骤1)至4)来执行所述确定。
[0337]
步骤1)当包括候选块的pu在画面的边界外时,该候选块的可用性可被设置为“假”。“可用性被设置为假”可具有与“被设置为不可用”相同的含义。
[0338]
步骤2)当包括候选块的pu在条带的边界外时,该候选块的可用性可被设置为“假”。当目标块和候选块位于不同的条带中时,该候选块的可用性可被设置为“假”。
[0339]
步骤3)当包括候选块的pu在并行块的边界外时,候选块的可用性可被设置为“假”。当目标块和候选块位于不同的并行块中时,候选块的可用性可被设置为“假”。
[0340]
步骤4)当包括候选块的pu的预测模式是帧内预测模式时,该候选块的可用性可被设置为“假”。当包括候选块的pu不使用帧间预测时,该候选块的可用性可被设置为“假”。
[0341]
图10示出根据实施例的将空间候选的运动信息添加到合并列表的顺序。
[0342]
如图10中所示,当空间候选的多条运动信息被添加到合并列表时,可使用a1、b1、b0、a0和b2的顺序。也就是说,可按照a1、b1、b0、a0和b2的顺序将可用空间候选的多条运动信息添加到合并列表中。
[0343]
用于在合并模式和跳过模式下推导合并列表的方法
[0344]
如上所述,可设置合并列表中的合并候选的最大数量。用“n”来表示设置的最大数量。设置的数量可从编码设备100被发送到解码设备200。条带的条带头可包括n。换句话说,可通过条带头来设置在用于条带的目标块的合并列表中的合并候选的最大数量。例如,n的
值基本上可以是5。
[0345]
可按照以下的步骤1)至4)的顺序将多条运动信息(即,多个合并候选)添加到合并列表。
[0346]
步骤1)在多个空间候选之中,可用空间候选可被添加到合并列表。可用空间候选的多条运动信息可按照图10中示出的顺序被添加到合并列表。这里,当可用空间候选的运动信息与合并列表中已经存在的其它运动信息重复时,该运动信息可不被添加到合并列表。用于检查相应运动信息是否与列表中存在的其它运动信息重复的操作可被简称为“重复检查”。
[0347]
被添加的多条运动信息的最大数量可以是n。
[0348]
步骤2)当合并列表中的多条运动信息的数量小于n并且时间候选可用时,时间候选的运动信息可被添加到合并列表。这里,当可用时间候选的运动信息与合并列表中已经存在的其它运动信息重复时,该运动信息可不被添加到合并列表。
[0349]
步骤3)当合并列表中的多条运动信息的数量小于n并且目标条带的类型是“b”时,由组合双向预测(双预测)所产生的组合运动信息可被添加到合并列表。
[0350]
目标条带可以是包括目标块的条带。
[0351]
组合运动信息可以是l0运动信息和l1运动信息的组合。l0运动信息可以是仅参考参考画面列表l0的运动信息,l1运动信息可以是仅参考参考画面列表l1的运动信息。
[0352]
在合并列表中,可存在一条或更多条l0运动信息。此外,在合并列表中,可存在一条或更多条l1运动信息。
[0353]
组合运动信息可包括一条或更多条组合运动信息。当组合运动信息被产生时,可预定义所述一条或更多条l0运动信息和所述一条或更多条l1运动信息之中的将被用于产生组合运动信息的l0运动信息和l1运动信息。可经由组合双向预测按照预定义顺序产生一条或更多条组合运动信息,其中,组合双向预测使用合并列表中的一对不同的运动信息。所述一对不同的运动信息中的一条运动信息可以是l0运动信息,所述一对不同的运动信息中的另一条运动信息可以是l1运动信息。
[0354]
例如,以最高优先级被添加的组合运动信息可以是合并索引为0的l0运动信息与合并索引为1的l1运动信息的组合。当合并索引为0的运动信息不是l0运动信息时或者当合并索引为1的运动信息不是l1运动信息时,组合运动信息既不会被产生也不会被添加。接下来,以下一优先级被添加的组合运动信息可以是合并索引为1的l0运动信息与合并索引为0的l1运动信息的组合。后续的详细组合可遵循视频编码/解码领域的其它组合。
[0355]
这里,当组合运动信息与合并列表中已经存在的其它运动信息重复时,组合运动信息可不被添加到合并列表。
[0356]
步骤4)当合并列表中的运动信息的条数小于n时,零矢量的运动信息可被添加到合并列表。
[0357]
零矢量运动信息可以是运动矢量为零矢量的运动信息。
[0358]
零矢量运动信息的条数可以是一条或更多条。一条或更多条零矢量运动信息的参考画面索引可彼此不同。例如,第一零矢量运动信息的参考画面索引的值可以是0。第二零矢量运动信息的参考画面索引的值可以是1。
[0359]
零矢量运动信息的条数可与参考画面列表中的参考画面的数量相同。
[0360]
零矢量运动信息的参考方向可以是双向的。两个运动矢量可以都是零矢量。零矢量运动信息的条数可以是参考画面列表l0中的参考画面的数量和参考画面列表l1中的参考画面的数量中较小的一个。可选地,当参考画面列表l0中的参考画面的数量和参考画面列表l1中的参考画面的数量彼此不同时,作为单向的参考方向可被用于参考画面索引,其中,该参考画面索引可仅被应用于单个参考画面列表。
[0361]
编码设备100和/或解码设备200可在改变参考画面索引的同时将零矢量运动信息顺序地添加到合并列表。
[0362]
当零矢量运动信息与合并列表中已经存在的其它运动信息重复时,零矢量运动信息可不被添加到合并列表。
[0363]
上述步骤1)至4)的顺序仅是示例性的,并且可被改变。此外,以上步骤中的一些步骤可依据预定义条件被省略。
[0364]
用于在amvp模式下推导预测运动矢量候选的方法
[0365]
可预定义在预测运动矢量候选列表中的预测运动矢量候选的最大数量。可用n来表示预定义的所述最大数量。例如,预定义的所述最大数量可以是2。
[0366]
可按照以下步骤1)至3)的顺序将多条运动信息(即,多个预测运动矢量候选)添加到预测运动矢量候选列表。
[0367]
步骤1)可将多个空间候选之中的可用空间候选添加到预测运动矢量候选列表。所述多个空间候选可包括第一空间候选和第二空间候选。
[0368]
第一空间候选可以是a0、a1、缩放后的a0和缩放后的a1中的一个。第二空间候选可以是b0、b1、b2、缩放后的b0、缩放后的b1和缩放后的b2中的一个。
[0369]
可按照第一空间候选和第二空间候选的顺序将可用空间候选的多条运动信息添加到预测运动矢量候选列表中。在这种情况下,当可用空间候选的运动信息与预测运动矢量候选列表中已经存在的其它运动信息重复时,该运动信息可不被添加到预测运动矢量候选列表。换句话说,当n值是2时,如果第二空间候选的运动信息与第一空间候选的运动信息相同时,第二空间候选的运动信息可不被添加到预测运动矢量候选列表。
[0370]
被添加的运动信息的最大条数可以是n。
[0371]
步骤2)当预测运动矢量候选列表中的运动信息的条数小于n并且时间候选可用时,时间候选的运动信息可被添加到预测运动矢量候选列表。在这种情况下,当可用时间候选的运动信息与预测运动矢量候选列表中已经存在的其它运动信息重复时,该运动信息可不被添加到预测运动矢量候选列表。
[0372]
步骤3)当预测运动矢量候选列表中的运动信息的条数小于n时,零运动信息可被添加到预测运动矢量候选列表。
[0373]
零运动信息可包括一条或更多条零运动信息。所述一条或更多条零运动信息的参考画面索引可彼此不同。
[0374]
编码设备100和/或解码设备200可在改变参考画面索引的同时顺序地将多条零运动信息添加到预测运动矢量候选列表。
[0375]
当零运动信息与预测运动矢量候选列表中已经存在的其它运动信息重复时,零运动信息可不被添加到预测运动矢量候选列表。
[0376]
以上关于合并列表描述的对零矢量运动信息的描述也可被应用于零运动信息。将
省略其重复描述。
[0377]
以上描述的步骤1)至3)的顺序仅是示例性的,并且可被改变。此外,一些步骤可依据预定义条件被省略。
[0378]
图11示出根据实施例的使用并行块对画面进行分区。
[0379]
在图11中,画面由实线指示,并行块由虚线指示。画面可被分区为多个并行块。
[0380]
每个并行块可以是用作画面的分区单位的实体之一。并行块可以是画面的分区单位。可选地,并行块可以是画面分区编码的单位。
[0381]
可通过画面参数集(pps)用信号发送关于并行块的信息。pps可包含关于画面的并行块的信息或者为了将画面分区为多个并行块所需要的信息。
[0382]
下面的表1示出pic_parameter_set_rbsp的结构的示例。画面分区信息可以是pic_parameter_set_rbsp或可包括pic_parameter_set_rbsp。
[0383]
[表1]
[0384][0385]“pic_parameter_set_rbsp”可包括下面的元素。
[0386]-tiles_enabled_flag:“tiles_enabled_flag”可以是指示在参考pps的画面中是否存在一个或更多个并行块的并行块存在指示标记。
[0387]
例如,tiles_enabled_flag值“0”可表示在参考pps的画面中不存在并行块。tiles_enabled_flag值“1”可表示在参考pps的画面中存在一个或更多个并行块。
[0388]
在单个编码视频序列(cvs)中的所有激活的pps的并行块存在指示标记tiles_enabled_flag的值可彼此相同。
[0389]-num_tile_columns_minus1:“num_tile_columns_minus1”可以是关于列并行块的数量的信息,其中,列并行块的数量与在分区的画面的横向上排列的并行块的数量相应。
例如,“num_tile_columns_minus1+1”的值可表示在分区的画面中的横向并行块的数量。可选地,“num_tile_columns_minus1+1”的值可表示一行中的并行块的数量。
[0390]-num_tile_rows_minus1:“num_tile_rows_minus1”可以是关于行并行块的数量的信息,其中,行并行块的数量与在分区的画面的纵向上排列的并行块的数量相应。例如,“num_tile_rows_minus1+1”的值可表示在分区的画面中的纵向并行块的数量。可选地,“num_tile_rows_minus1+1”的值可表示一列中的并行块的数量。
[0391]-uniform_spacing_flag:“uniform_spacing_flag”可以是指示画面是否在横向和纵向上被均等地分区为并行块的均等分隔指示标记。例如,uniform_spacing_flag可以是指示画面中的并行块的尺寸是否彼此相同的标记。例如,uniform_spacing_flag值“0”可表示画面没有在横向和/或纵向上被均等地分区。uniform_spacing_flag值“1”可表示画面在横向和纵向上被均等地分区。当uniform_spacing_flag值为“0”时,为了对画面进行分区,可另外需要在更详细的分区中定义的元素,诸如,column_width_minus1[i]和row_height_minus1[i],这将在稍后进行描述。
[0392]-column_width_minus1[i]:“column_width_minus1[i]”可以是与第i列中的并行块的宽度相应的并行块宽度信息。这里,i可以是等于或大于0且小于并行块的列的数量n的整数。例如,“column_width_minus1[i]+1”可表示第i+1列中的并行块的宽度。宽度可由预定单位表示。例如,宽度的单位可以是编码树块(ctb)。
[0393]-row_height_minus1[i]:“row_height_minus1[i]”可以是与第i行中的并行块的高度相应的并行块高度信息。这里,i可以是等于或大于0且小于并行块的行的数量n的整数。例如,“row_height_minus1[i]+1”可表示第i+1行中的并行块的高度。高度可由预定单位表示。例如,高度的单位可以是编码树块(ctb)。
[0394]
在示例中,画面分区信息可被包括在pps中,并可在pps被发送时作为pps的一部分被发送。解码设备可通过对画面的pps进行参考来获得为了对画面进行分区所需要的画面分区信息。
[0395]
为了用信号发送与先前已发送的信息不同的画面分区信息,编码设备可将新的pps发送到解码设备,其中,新的pps包括新的画面分区信息和新的pps id。随后,编码设备可将包含该pps id的条带头发送到解码设备。
[0396]
图12示出根据实施例的使用条带对画面进行分区。
[0397]
在图12中,画面由实线指示,条带由粗虚线指示,编码树单元(ctu)由细虚线指示。如附图中所示,画面可被分区为多个条带。一个条带可由一个或更多个连续的ctu组成。
[0398]
条带可以是被用作画面的分区单位的实体之一。条带可以是画面的分区单位。可选地,条带可以是画面分区编码的单位。
[0399]
可通过条带段头用信号发送关于条带的信息。条带段头可包含关于条带的信息。
[0400]
当条带是画面分区编码的单位时,画面分区信息可定义一个或更多个条带中的每个条带的起始地址。
[0401]
每个条带的起始地址的单位可以是ctu。画面分区信息可定义一个或更多个条带中的每个条带的起始ctu地址。画面的分区形状可由条带的起始地址定义。
[0402]
下面的表2示出slice_segment_header的结构的示例。画面分区信息可以是slice_segment_header或可包括slice_segment_header。
[0403]
[表2]
[0404][0405]“slice_segment_header”可包括下面的元素。
[0406]-first_slice_segment_in_pic_flag:“first_slice_segment-in_pic_flag”可以是指示由slice_segment_header指示的条带是否为画面中的第一条带的第一条带指示标记。
[0407]
例如,first_slice_segment_in_pic_flag值“0”可表示相应的条带不是画面中的第一条带。first_slice_segment_in_pic_flag值“1”可表示相应的条带是画面中的第一条带。
[0408]
dependent_slice_segment_flag:“dependent_slice_segment_flag”可以是指示由slice_segment_header指示的条带是否为非独立条带的非独立条带段指示标记。
[0409]
例如,dependent_slice_segment_flag值“0”可表示相应的条带不是非独立条带。dependent_slice_segment_flag值“1”可表示相应的条带是非独立条带。
[0410]
例如,用于波前并行处理(wpp)的子流条带可以是非独立条带。可存在与非独立条带相应的独立条带。当由slice_segment_header指示的条带是非独立条带时,slice_segment_header的至少一个元素可不存在。换句话说,slice_segment_header中的元素的值可不被定义。对于在非独立条带中值不被定义的元素,可使用与非独立条带相应的独立条带的元素的值。换句话说,在非独立条带的slice_segment_header中不存在的特定元素的值可等于与非独立条带相应的独立条带的slice_segment_header中的特定元素的值。例如,非独立条带可继承与其相应的独立条带中的元素的值,并可重新定义独立条带中的至少一些元素的值。
[0411]-slice_segment_address:“slice_segment_address”可以是指示由slice_segment_header指示的条带的起始地址的起始地址信息。起始地址信息的单位可以是ctb。
[0412]
用于将画面分区为一个或更多个条带的方法可包括下面的方法1)至方法3)。
[0413]
方法1):第一方法可以是用于通过一个条带能够包括的比特流的最大尺寸来对画面进行分区的方法。
[0414]
方法2):第二方法可以是用于通过一个条带能够包括的ctu的最大数量来对画面进行分区的方法。
[0415]
方法3):第三方法可以是用于通过一个条带能够包括的并行块的最大数量来对画面进行分区的方法。
[0416]
当编码设备打算在条带基础上执行并行编码时,可通常使用这三种方法之中的第二方法和第三方法。
[0417]
在第一方法的情况下,在编码已经完成之后才可知道比特流的大小,因此可能难以在编码开始之前定义将被并行处理的条带。因此,能够进行基于条带的并行编码的画面分区方法可以是使用ctu的最大数量的单位的第二方法和使用并行块的最大数量的单位的第三方法。
[0418]
当使用第二方法和第三方法时,可在画面被并行编码之前预先定义画面的分区尺寸。此外,根据定义的尺寸,可计算slice_segment_address。当编码设备将条带用作并行编码的单位时,通常存在不针对每个画面改变slice_segment_address而是以固定周期和/或根据特定规则重复slice_segment_address的倾向。
[0419]
图13示出根据实施例的对被时间上和空间上分区的画面进行分布式编码。
[0420]
在图13中,示出了一个画面被分区为四个条带的配置。此外,四个画面中的每个画面被分区为四个条带。每个画面可包括条带0、条带1、条带2和条带3。
[0421]
换句话说,可在时间上和空间上对视频进行分区。可将视频的每个画面分区为特定数量的条带。
[0422]
每个画面的条带可由编码节点处理。
[0423]
可以以帧内周期为单位绑定多个画面的多个相同条带。可通过分布在网络上的多个编码节点并行地对多个画面的多个条带进行编码。
[0424]
例如,如图13中所示,可通过编码节点0来处理多个画面的各个条带0,可通过编码节点1来处理多个画面的各个条带1,可通过编码节点2来处理多个画面的各个条带2,可通过编码节点3来处理多个画面的各个条带3。
[0425]
在并行编码中,不允许在不同条带中的块之间进行帧间参考,因此可提高节点之间的通信和并行编码的效率。
[0426]
图14示出根据实施例的运动约束并行块集(mcts)的处理。
[0427]
mcts可以是一个或更多个并行块的集合,其中,该集合将帧间预测的范围限制为画面中的特定区域。
[0428]
例如,当画面中的感兴趣区域(roi)被设置为mcts时,画面的在mcts的边界外的区域可不用于帧间预测。
[0429]
在图14中,用于画面2的帧间预测被示出为仅使用画面1中的mcts的区域。此外,用于画面3的帧间预测被示出为仅使用画面1中的mcts的区域和画面2中的mcts的区域。
[0430]
图15示出根据实施例的与条带的边界相邻的pu。
[0431]
在图15中,示出了目标画面。目标画面被分区为两个条带。在目标画面中,存在两个条带之间的条带边界。
[0432]
此外,作为目标块的目标pu与条带边界和画面边界相邻。
[0433]
当用于将空间候选的运动信息添加到列表的上述方案被用于产生该列表时,可能经常发生该列表中的运动信息不能被用作目标pu的运动信息的情况。下面将参照图16详细地描述这种情况。
[0434]
图16示出根据实施例的合并列表。
[0435]
图16的合并列表可以是针对图15的目标pu产生的合并列表。
[0436]
可使用上述合并列表产生方法来产生图16的合并列表。
[0437]
合并列表中的运动信息的最大条数可以是5。
[0438]
合并列表中的每个行可指示运动信息。例如,第一行1610可指示合并索引的值为0的运动信息。
[0439]
合并列表中的第一列可指示合并索引。第二列和第三列可指示针对运动信息的参考画面列表。对于使用参考画面列表l0的运动信息,运动矢量和参考画面索引可被描述在第二列中。对于使用参考画面列表l1的运动信息,运动矢量和参考画面索引可被描述在第三列中。对于使用参考画面列表l0和参考画面列表l1的多条运动信息,各个运动矢量和各个参考画面索引可分别被描述在第二列和第三列中。
[0440]
表述“(x,y),z”可指示运动矢量(x,y)和参考画面索引z。
[0441]
例如,第一行1610中的“(-1,-2),0”和
“‑”
可表示第一运动信息是与运动矢量(-1,-2)、参考画面列表l0和参考画面索引0相应的信息,并且表示参考画面列表l1不被使用。第一行1610中的运动信息可指示参考画面列表l0中的多个参考画面之中的索引为0的参考画面,并且可指示向左移动一列并向上移动两行的运动矢量。
[0442]
此外,第四行1640可表示双向预测的运动信息,该运动信息指示参考画面列表l0和参考画面列表l1。
[0443]
由于图15的目标pu位于条带的右下部分,因此如果运动信息的运动矢量中的x值和y值之一等于或大于1,则由被应用于目标pu的运动矢量所指示的位置可在画面的边界外或在条带的边界外。因此,这样的运动信息不能用于目标pu,除非另外的控制方法(诸如基于mvd的使用进行控制)被使用。
[0444]
例如,在第二行1620中的运动信息可来自空间候选b1。对于b1,运动矢量(-1,1)可以是不在条带边界和画面边界外的有效运动矢量。然而,运动矢量(-1,1)可以是针对目标pu的在条带边界外的运动矢量。也就是说,运动矢量(-1,1)可以是不能用于目标pu的运动矢量,并且第二列中的运动信息可以是不能被使用的运动信息。
[0445]
例如,第三行1630中的运动矢量(1,0)可来自空间候选b2。然而,运动矢量(1,0)可以是针对目标pu的在画面边界外的运动矢量。
[0446]
例如,第四行1640中的运动矢量(1,1)可来自时间候选。然而,运动矢量(1,1)可以是针对目标pu的在画面边界外的运动矢量。
[0447]
例如,第五行1650中的运动矢量可以是组合运动信息,其中,该组合运动信息是通过第一行1610中的运动矢量与第二行1620中的运动信息的组合双预测来产生的。然而,由于第二行1620中的运动信息不能被用于目标pu,因此第五行1650中的运动信息也不能被产生。
[0448]
如上所述,在一些情况下,合并列表中的大量运动信息可不被用于目标块。此外,这种不可用的运动信息可能阻止其它次级运动信息被添加到合并列表。
[0449]
在这种情况下,编码设备100不能使用在合并列表中的多条运动信息之中的导致确定的位置在条带边界或画面边界外的运动信息。在特定情况下,实际上可以不使用合并列表中的所有运动信息。
[0450]
当编码设备100选择用于目标块的最佳帧间预测模式时,由于合并列表中的多条运动信息中的至少一些的使用被限制,因此编码效率可能会恶化。此外,特定运动信息可导致开销,诸如mvd。
[0451]
在下面的实施例中,提出了一种用于在限制帧间预测的范围的同时提高编码效率的运动预测边界检查方法。
[0452]
当期望将候选块的运动信息添加到列表或者确定候选块的可用性时,可执行用于运动预测边界检查的处理。
[0453]
运动预测边界检查可被配置为检查使用候选块的运动信息所确定的位置是否在区域或边界外。换句话说,运动预测边界检查可被配置为检查基于运动信息的运动矢量而被目标块参考的位置是否存在于相应区域内。换句话说,在帧间预测中,被目标块参考的位置可被限制为所述区域的内部。已经通过运动预测边界检查的运动信息可被用于目标块的运动预测。
[0454]
术语“确定的位置”可以是由被应用于目标块的运动信息的运动矢量所指示的位置。这里,由该运动矢量所指示的位置可以是目标块的位置加上该运动矢量后的位置。
[0455]
基于运动预测边界检查,仅当确定的位置存在于所述区域内时(或者当确定的位置不在所述边界外时),候选块的运动信息可作为用于目标块的运动信息候选被添加到列表。
[0456]
所述区域可以是包括目标块的条带的区域、包括目标块的并行块的区域、或者包括目标块的mcts的区域。换句话说,所述区域可以是在画面的多个分区单元之中的包括目标块的单元。
[0457]
所述边界可包括画面的边界。此外,所述边界可包括条带之间的边界、并行块之间的边界、或mcts之间的边界。换句话说,所述边界可表示1)画面的边界和2)画面的多个分区单元之中的包括目标块的单元与另一单元之间的边界。
[0458]
图17是根据实施例的帧间预测方法的流程图。
[0459]
在步骤1710,帧间预测单元250可检查帧间预测是否被用于目标块的预测。
[0460]
例如,当比特流的预测信息指示帧间预测时,帧间预测单元250可检查帧间预测是否被用于目标块。
[0461]
在步骤1720,帧间预测单元250可从比特流获取帧间预测信息。
[0462]
帧间预测信息可包含模式信息。模式信息可指示1)amvp模式、2)合并模式和3)跳过模式中的哪一种模式被用于目标块的帧间预测。
[0463]
模式信息可包括多条模式信息。例如,帧间预测信息可包含跳过模式信息。跳过模式信息可指示跳过模式被用于目标块的帧间预测。
[0464]
帧间预测信息可根据模式信息而不同。
[0465]
在步骤1730,帧间预测单元250可产生列表。
[0466]
该列表可以是预测运动矢量候选列表或合并列表。
[0467]
该列表可以是与由帧间预测信息指示的模式相应的列表。例如,当帧间预测信息指示amvp模式被使用时,产生的列表可以是预测运动矢量候选列表。当帧间预测信息指示合并模式或跳过模式被使用时,产生的列表可以是合并列表。
[0468]
随后将参照图18和图19更详细地描述列表的产生。
[0469]
在步骤1740,帧间预测单元250可基于列表和帧间预测信息来产生目标块的运动信息。
[0470]
在步骤1750,帧间预测单元250可基于目标块的运动信息对目标块执行帧间预测。
[0471]
步骤1710、1720、1730、1740和1750中的至少一些步骤也可由编码设备100的帧间预测单元110执行。例如,产生列表的步骤1730也可由编码设备100按照相同的方式来执行。在与步骤相关的以下描述中,帧间预测单元250可被帧间预测单元110代替。
[0472]
步骤1710、1720、1730、1740和1750可与以上参照图1描述的编码设备100的其它组件的操作组合。此外,步骤1710、1720、1730、1740和1750可与以上参照图2描述的解码设备200的其它组件的操作组合。
[0473]
图18是根据实施例的用于产生用于目标块的帧间预测的合并列表的方法的流程图。
[0474]
以上参照图17描述的步骤1730可包括将在下面描述的步骤1810、1820、1830、1840、1850、1860、1870和1880。
[0475]
在本实施例中,用于目标块的帧间预测模式可以是合并模式或跳过模式。列表可以是合并列表。候选块的运动信息可对应于合并候选。
[0476]
在步骤1810,帧间预测单元230可确定空间候选的运动信息是否将被添加到列表。
[0477]
如果确定空间候选的运动信息将被添加到列表,则可执行步骤1820。
[0478]
如果确定空间候选的运动信息将不被添加到列表,则可执行步骤1830。
[0479]
在步骤1820,如果确定空间候选的运动信息将被添加到列表,帧间预测单元230可将空间候选的运动信息添加到列表。
[0480]
在步骤1810和1820,空间候选的运动信息可被添加到列表。
[0481]
在实施例中,在步骤1810和1820,帧间预测单元230可基于关于目标块的信息和空间候选的运动信息来确定空间候选的运动信息是否将被添加到列表。
[0482]
在实施例中,关于目标块的信息可以是目标块的位置。帧间预测单元230可基于目标块的位置和空间候选的运动矢量来确定空间候选的运动信息是否将被添加到列表。
[0483]
在实施例中,帧间预测单元230可基于目标块和针对空间候选的运动预测边界检查来确定空间候选的运动信息是否将被添加到列表。
[0484]
在实施例中,帧间预测单元230可基于由被应用于目标块的运动矢量所指示的位置来确定空间候选的运动信息是否将被添加到列表。这里,被应用的运动矢量可以是空间候选的运动信息的运动矢量。
[0485]
这里,由该运动矢量所指示的位置可以是通过将目标块的位置加上该运动矢量而确定的位置。
[0486]
此外,由被应用于目标块的运动矢量所指示的位置可以是目标块的参考位置。在下文中,由被应用于目标块的运动矢量所指示的位置将被简称为“目标块的参考位置”。所述参考位置可指示目标块的参考块。
[0487]
由运动矢量所指示的位置或参考位置可以是参考画面中的被目标块参考的位置。
[0488]
在实施例中,如果目标块的参考位置存在于区域内,则帧间预测单元230可将空间候选的运动信息添加到列表。如果目标块的参考位置位于所述区域外,则帧间预测单元230可不将空间候选的运动信息添加到列表。
[0489]
所述区域可以是包括目标块的条带的区域、包括目标块的并行块的区域、或包括目标块的mcts的区域。
[0490]
在实施例中,如果目标块的参考位置没有在边界外,则帧间预测单元230可将空间候选的运动信息添加到列表。如果目标块的参考位置在所述区域外,则帧间预测单元230可不将空间候选的运动信息添加到列表。
[0491]
所述边界可包括画面的边界。此外,所述边界可包括条带之间的边界、并行块之间的边界、或mcts之间的边界。
[0492]
空间候选可包括多个空间候选。多个空间候选可以是a1、b1、b0、a0和b2。
[0493]
如果列表中的运动信息的条数小于多条运动信息的预设最大数量,则可对所述多个空间候选顺序地且重复地执行步骤1810和1820。
[0494]
在步骤1830,帧间预测单元230可确定时间候选的运动信息是否将被添加到列表。
[0495]
如果确定时间候选的运动信息将被添加到列表,则可执行步骤1840。
[0496]
如果确定时间候选的运动信息将被被添加到列表,则可执行步骤1850。
[0497]
在步骤1840,如果确定时间候选的运动信息将被添加到列表,则帧间预测单元230可将时间候选的运动信息添加到列表。
[0498]
在步骤1830和1840,时间候选的运动信息可被添加到列表。
[0499]
在实施例中,在步骤1830和1840,帧间预测单元230可基于关于目标块的信息和时间候选的运动信息来确定时间候选的运动信息是否将被添加到列表。
[0500]
在下文中,时间候选的运动矢量可以是缩放后的运动矢量。
[0501]
在实施例中,关于目标块的信息可以是目标块的位置。帧间预测单元230可基于目标块的位置和时间候选的运动矢量来确定时间候选的运动信息是否将被添加到列表。
[0502]
在实施例中,帧间预测单元230可基于目标块以及针对时间候选的运动预测边界检查来确定时间候选的运动信息是否将被添加到列表。
[0503]
在实施例中,帧间预测单元230可基于由被应用于目标块的运动矢量所指示的位置来确定时间候选的运动信息是否将被添加到列表。这里,被应用的运动矢量可以是时间候选的运动信息的运动矢量。
[0504]
由运动矢量所指示的位置或参考位置可以是参考画面中的被目标块参考的位置。
[0505]
在实施例中,如果目标块的参考位置存在于区域内,则帧间预测单元230可将时间候选的运动信息添加到列表。如果目标块的参考位置在所述区域外,则帧间预测单元230可不将时间候选的运动信息添加到列表。
[0506]
在实施例中,如果目标块的参考位置没有在边界外,则帧间预测单元230可将时间候选的运动信息添加到列表。如果目标块的参考位置在所述区域外,则帧间预测单元230可不将时间候选的运动信息添加到列表。
[0507]
时间候选可以是以上描述的第一col块或第二col块。当第一col块可用时,时间候选可以是第一col块。当第二col块可用而第一col块不可用时,时间候选可以是第二col块。换句话说,第一col块可以以比第二col块更高的优先级被使用。
[0508]
如果列表中的运动信息的条数在步骤1830被执行之前已经等于多条运动信息的预设最大数量,则可不执行步骤1830、1840、1850、1860、1870和1880,并且可不将时间候选的运动信息包括在列表中。
[0509]
对于多个空间候选和时间候选,以上描述的步骤1810、1820、1830和1840可被第一步骤和第二步骤代替。
[0510]
在第一步骤,帧间预测单元230可确定候选块的运动信息是否将被添加到列表。
[0511]
在第二步骤,如果确定候选块的运动信息将被添加到列表,则可将运动信息添加到列表。
[0512]
候选块可包括多个空间候选和多个时间候选。
[0513]
可对多个空间候选和多个时间候选顺序地且重复地执行第一步骤和第二步骤。第一步骤和第二步骤可被重复,直到对全部的多个空间候选和多个时间候选执行完第一步骤为止,或者直到列表中的运动信息的条数达到最大预设数量为止。
[0514]
在实施例中,帧间预测单元230可基于空间候选的可用性确定候选块的运动信息是否将被添加到列表。如果候选块不可用,则帧间预测单元230可不将候选块的运动信息添加到列表。如果候选块可用并且候选块的运动信息与列表中存在的其它运动信息不重复,则帧间预测单元230可将候选块的运动信息添加到列表。
[0515]
在实施例中,对运动矢量是否在边界外的确定或者与之相应的确定可与可用性的确定相关。例如,即使候选块的运动矢量满足与可用性相关的其它条件,帧间预测单元230仍可依据运动预测边界检查的结果来确定候选块是否可用。随后将参照图20详细地描述可用性的确定。
[0516]
在实施例中,对运动矢量是否在边界外的确定或者与之相应的确定可与可用性的确定分开。例如,即使候选块可用,确定候选块的可用性的帧间预测单元230仍可依据运动预测边界检查的结果来确定候选块的运动信息是否将被添加到列表。
[0517]
如果列表中的运动信息的条数在对全部的多个空间候选和多个时间候选执行第一步骤和第二步骤之前达到预设最大数量,则可不对剩余的候选执行可用性检查。
[0518]
在步骤1850,帧间预测单元230可确定由组合双向预测产生的组合运动信息是否将被添加到列表。
[0519]
如果确定组合运动信息将被添加到列表,则可执行步骤1860。
[0520]
如果确定组合运动信息将不被添加到列表,则可执行步骤1870。
[0521]
在步骤1860,如果确定组合运动信息将被添加到列表,则帧间预测单元230可将组合运动信息添加到列表。
[0522]
1)如果列表中的运动信息的条数小于预设最大数量,2)如果组合运动信息可由使用列表中的多条运动信息的组合双向预测来产生,以及3)如果组合运动信息不与列表中的其它运动信息重复,则帧间预测单元230可将组合运动信息添加到列表。
[0523]
这里,列表中的多条运动信息中的每一条运动信息可以是已经通过运动预测边界检查的运动信息。因此,由使用列表中的多条运动信息的组合双向预测所产生的组合运动信息可通过运动预测边界检查。相反,帧间预测单元230甚至可对组合运动信息执行运动预测边界检查,并且可仅将已经通过运动预测边界检查的运动信息添加到列表。
[0524]
步骤1850和1860可仅在目标条带的类型是“b”时被执行。
[0525]
组合运动信息可包括多条组合运动信息。
[0526]
如上所述,依据预定义顺序,可产生多条组合运动信息。可对多条组合运动信息顺序地且重复地执行步骤1850和1860。步骤1850和1860可被重复,直到所有可能的多条组合
运动信息已经被添加到列表为止,或者直到列表中的运动信息的条数达到预设最大数量为止。
[0527]
在步骤1870,帧间预测单元230可确定零运动矢量信息是否将被添加到列表。
[0528]
如果确定零矢量运动信息将被添加到列表,则可执行步骤1880。
[0529]
如果确定零矢量运动信息将不被添加到列表,则该过程可被终止。
[0530]
在步骤1880,如果确定零矢量运动信息将被添加到列表,则帧间预测单元230可将零矢量运动信息添加到列表。
[0531]
1)如果列表中的运动信息的条数小于预设最大数量,2)如果零矢量运动信息可被产生,以及3)如果零矢量运动信息不与列表中的其它运动信息重复,则帧间预测单元230可将零矢量运动信息添加到列表。
[0532]
零矢量运动信息可包括多条零矢量运动信息。
[0533]
可对多条零矢量运动信息顺序地且重复地执行步骤1870和1880。步骤1870和1880可被重复,直到所有可能的多条零矢量运动信息已被添加到列表为止,或直到列表中的运动信息的条数达到预设最大数量为止。
[0534]
图19是根据实施例的用于产生用于目标块的帧间预测的预测运动矢量候选列表的方法的流程图。
[0535]
以上参照图17描述的步骤s1730可包括将在下面描述的步骤1910、1920、1930、1940、1970和1980。
[0536]
在本实施例中,用于目标块的帧间预测模式可以是amvp模式。列表可以是预测运动矢量候选列表。候选块的运动信息可对应于预测运动矢量候选。
[0537]
步骤1910、1920、1930、1940、1970和1980可分别对应于以上参照图18描述的步骤1810、1820、1830、1840、1870和1880。换句话说,步骤1810、1820、1830、1840、1870和1880的描述也可分别应用于步骤1910、1920、1930、1940、1970和1980。将省略其重复描述,并且将主要基于步骤1810、1820、1830、1840、1870和1880与步骤1910、1920、1930、1940、1970和1980之间的差异来进行以下描述。
[0538]
在步骤1910,帧间预测单元230可确定空间候选的运动信息是否将被添加到列表。
[0539]
如果确定空间候选的运动信息将被添加到列表,则可执行步骤1920。
[0540]
如果确定空间候选的运动信息将不被添加到列表,则可执行步骤1930。
[0541]
空间候选可包括多个空间候选。所述多个空间候选可包括第一空间候选和第二空间候选。第一空间候选可以是a0、a1、缩放后的a0和缩放后的a1中的一个。第二空间候选可以是b0、b1、b2、缩放后的b0、缩放后的b1和缩放后的b2中的一个。
[0542]
如果列表中的运动信息的条数小于多条运动信息的预设最大数量,则可对所述多个空间候选顺序地且重复地执行步骤1910和1920。
[0543]
在步骤1930,帧间预测单元230可确定时间候选的运动信息是否将被添加到列表。
[0544]
如果确定时间候选的运动信息将被添加到列表,则可执行步骤1940。
[0545]
如果确定时间候选的运动信息将不被添加到列表,则可执行步骤1970。
[0546]
在步骤1940,如果确定时间候选的运动信息将被添加到列表,则帧间预测单元230可将时间候选的运动信息添加到列表。
[0547]
在步骤1930和1940,可将时间候选的运动信息添加到列表。
[0548]
如果列表中的运动信息的条数在执行步骤1930之前已经等于预设最大数量,则可不执行步骤1930、1940、1970和1980,并且可不将时间候选的运动信息包括在列表中。
[0549]
例如,如果第一空间候选和第二空间候选两者都可用并且第一空间候选的运动信息和第二空间候选的运动信息不彼此重复,则可将第一空间候选的运动信息和第二空间候选的运动信息两者添加到列表。在这种情况下,如果预设最大数量是2,则可不推导时间候选,并且可不将时间候选的运动信息添加到列表。
[0550]
对于多个空间候选和时间候选,以上描述的步骤1910、1920、1930和1940可被第一步骤和第二步骤代替。
[0551]
在第一步骤,帧间预测单元230可确定候选块的运动信息是否将被添加到列表。
[0552]
在第二步骤,如果确定候选块的运动信息将被添加到列表,则可将该运动信息添加到列表。
[0553]
在步骤1970,帧间预测单元230可确定零矢量运动信息是否将被添加到列表。
[0554]
如果确定零矢量运动信息将被添加到列表,则可执行步骤1980。
[0555]
如果确定零矢量运动信息将不被添加到列表,则该过程可被终止。
[0556]
在步骤1980,如果确定零矢量运动信息将被添加到列表,则帧间预测单元230可将零矢量运动信息添加到列表。
[0557]
可对多条零矢量运动信息顺序地且重复地执行步骤1970和1980。步骤1970和1980可被重复,直到所有可能的多条零矢量运动信息已被添加到列表为止,或者直到列表中的运动信息的条数达到预设最大数量为止。
[0558]
图20是根据实施例的用于确定用于目标块的帧间预测的候选块的可用性的方法的流程图。
[0559]
候选块可包括以上描述的空间候选和时间候选。
[0560]
在步骤2010,帧间预测单元230可检查包括候选块的样点是否存在于画面的边界内。
[0561]
如果确定在画面的边界内存在包括候选块的样点,则可执行步骤2020。
[0562]
如果在画面的边界内不存在包括候选块的样点,则可执行步骤2060。
[0563]
在步骤2020,帧间预测单元230可检查包括候选块的对象是否存在于区域的边界内。
[0564]
包括候选块的对象可以是pu。换句话说,提供运动信息的实体可以是pu。
[0565]
所述区域可以是包括目标块的条带的区域、包括目标块的并行块的区域、或包括目标块的mcts的区域。
[0566]
如果在所述区域的边界内存在包括候选块的对象,则可执行步骤2030。
[0567]
如果在所述区域的边界内不存在包括候选块的对象,则可执行步骤2060。
[0568]
所述区域可对应于包括目标块的条带的区域、包括目标块的并行块的区域以及包括目标块的mcts的区域之中的多个区域。在这种情况下,当包括候选块的对象存在于所述多个区域的多个边界内时,可执行步骤2030。当包括候选块的对象没有存在于所述多个区域的多个边界中的至少一个边界内时,可执行步骤2060。
[0569]
在步骤2030,帧间预测单元230可检查包括候选块的对象的预测模式是否是帧间模式。
[0570]
如果包括候选块的对象的预测模式是帧间模式,则可执行步骤2040。
[0571]
如果包括候选块的对象的预测模式不是帧间模式,则可执行步骤2060。
[0572]
在步骤2040,帧间预测单元230可确定由包括候选块的对象的运动矢量所指示的点是否存在于所述区域的边界内。
[0573]
如果确定由包括候选块的对象的运动矢量所指示的点存在于所述区域的边界内,则可执行步骤2050。
[0574]
如果确定由包括候选块的对象的运动矢量所指示的点不存在于所述区域的边界内,则可执行步骤2060。
[0575]
在步骤2050,帧间预测单元230可将候选块的可用性设置为“真”。换句话说,帧间预测单元230可将候选块设置为可用。
[0576]
在步骤2060,帧间预测单元230可将候选块的可用性设置为“假”。换句话说,帧间预测单元230可将候选块设置为不可用。
[0577]
换句话说,在步骤2010、2020、2030和2040,帧间预测单元230可确定候选块是否可用,并且在步骤2050和2060,帧间预测单元230可基于该确定的结果来设置候选块的可用性。
[0578]
在步骤2040,可基于关于目标块的信息和包括候选块的对象的运动信息两者来确定候选块的可用性。
[0579]
在实施例中,关于目标块的信息可以是目标块的位置。帧间预测单元230可基于目标块的位置和对象的运动信息来确定候选块是否可用。
[0580]
在实施例中,帧间预测单元230可基于目标块以及针对对象的运动预测边界检查来确定候选块是否可用。
[0581]
在实施例中,帧间预测单元230可基于由被应用于目标块的运动矢量所指示的位置来确定候选块是否可用。这里,被应用的运动矢量可以是对象的运动信息的运动矢量。
[0582]
这里,由该运动矢量所指示的位置可以是通过将目标块的位置加上该运动矢量而确定的位置。
[0583]
此外,由被应用于目标块的运动矢量所指示的位置可以是目标块的参考位置。
[0584]
由运动矢量所指示的位置或参考位置可以是参考画面中的被目标块参考的位置。
[0585]
在实施例中,如果目标块的参考位置存在于区域内,则帧间预测单元230可确定候选块可用。如果目标块的参考位置在区域外,则帧间预测单元230可确定候选块不可用。
[0586]
所述区域可以是包括目标块的条带的区域、包括目标块的并行块的区域、或包括目标块的mcts的区域。
[0587]
在实施例中,如果目标块的参考位置没有在边界外,则帧间预测单元230可确定候选块可用。如果目标块的参考位置在区域外,则帧间预测单元230可确定候选块不可用。
[0588]
所述边界可包括画面的边界。所述边界可包括条带之间的边界、并行块之间的边界、或mcts之间的边界。
[0589]
以上描述的步骤2010、2020、2030和2040的顺序仅是示例性的,并且可被任意改变。
[0590]
图21示出被应用了根据示例的运动预测边界检查的合并列表。
[0591]
参照图16的合并列表,如上参照图16所描述,合并列表中的第二行1620、第三行
1630和第四行1640中的多条运动信息未能通过运动预测边界检查。因此,第二行1620、第三行1630和第四行1640中的多条运动信息可不被添加到图21的合并列表。
[0592]
此外,第五行1650中的运动信息是由第一行1610中的运动信息和第二行1620中的运动信息的组合双向预测而产生的组合运动信息。由于第二行1620中的运动信息未能通过运动预测边界检查,因此第五行1650中的组合运动信息不能被产生。
[0593]
因此,在图21的合并列表中,可仅存在与第一行1610相应的运动信息。
[0594]
由于在空间候选的多条运动信息、时间候选的多条运动信息、以及多条组合运动信息之中,被添加到合并列表的运动信息的条数仅为1,因此可将零矢量运动信息添加到合并列表。
[0595]
当参考画面的数量是2时,参考画面索引为0的零矢量运动信息以及参考画面索引为1的零矢量运动信息可被添加到合并列表。
[0596]
如图21中所示,通过上述实施例,只有多条可用运动信息之中的没有在边界外的运动信息可被添加到列表,并且合并列表可仅包括可用运动信息。换句话说,与图16的仅包括一条实际能够使用的运动信息的合并列表相比,图21的合并列表中的全部三条运动信息可被有效地使用。因此,通过图21的合并列表可提高编码效率。
[0597]
图22是根据实施例的实现了编码设备的电子装置的配置图。
[0598]
在实施例中,编码设备100的帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵解码单元150、反量化单元160、逆变换单元170、加法器175、滤波单元180和参考画面缓冲器190中的至少一些可以是程序模块,并且可与外部装置或系统进行通信。所述程序模块可以以操作系统、应用程序模块和其它程序模块的形式被包括在编码设备100中。
[0599]
程序模块可被物理地存储在各种类型的公知的存储装置中。此外,所述程序模块中的至少一些也可被存储在能够与编码设备100进行通信的远程存储装置中。
[0600]
程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于实现根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。
[0601]
可使用由编码设备100的至少一个处理器执行的指令或代码来实现程序模块。
[0602]
编码设备100可被实现为如图22中示出的电子装置2200。电子装置2200可以是用作编码设备100的通用计算机系统。
[0603]
如图22所示,电子装置2200可包括通过总线2290彼此通信的处理单元2210、存储器2230、用户界面(ui)输入装置2250、ui输出装置2260和贮存器2240。电子装置2200还可包括连接到网络2299的通信单元2220。
[0604]
处理单元2210可以是用于执行存储在存储器2230或贮存器2240中的处理指令的中央处理器(cpu)或半导体装置。处理单元2210可以是至少一个硬件处理器。
[0605]
处理单元2210可产生并处理被输入到电子装置2200或从电子装置2200输出的电子装置2200的信号、数据或信息,并且可执行与信号、数据或信息相关的检查、比较和确定。换句话说,在实施例中,数据或信息的产生和处理以及与数据或信息相关的检查、比较和确定可由处理单元2210来执行。
[0606]
例如,处理单元2210可执行图17、图18、图19和20中的步骤。
[0607]
存储单元可表示存储器2230和/或贮存器2240。存储器2230和贮存器2240中的每
一个可以是各种类型的易失性存储介质或非易失性存储介质中的任何一个。例如,存储器可包括只读存储器(rom)2231和随机存取存储器(ram)2232中的至少一个。
[0608]
存储单元可存储用于电子装置2200的操作的数据或信息。在实施例中,电子装置2200的数据或信息可被存储在存储单元中。
[0609]
例如,存储单元可存储画面、块、列表、运动信息、帧间预测信息、比特流等。
[0610]
可在包括计算机可读存储介质的计算机系统中实现电子装置2200。
[0611]
存储介质可存储为了将电子装置2200用作编码设备100所需要的至少一个模块。存储器2230可存储至少一个模块,并可被配置为由处理单元2210执行。
[0612]
与电子装置2200的数据或信息的通信相关的功能可由通信单元2220执行。
[0613]
例如,通信单元222可将包括帧间预测信息等的比特流发送到解码设备200。
[0614]
图23是根据实施例的实现了解码设备的电子装置的配置图。
[0615]
在实施例中,解码设备200的熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、加法器255、滤波单元260和参考画面缓冲器270中的至少一些可以是程序模块,并且可与外部装置或系统进行通信。程序模块可以以操作系统、应用程序模块和其它程序模块的形式被包括在解码设备200中。
[0616]
程序模块可被物理地存储在各种类型的公知的存储装置中。此外,所述程序模块中的至少一些也可被存储在能够与解码设备200进行通信的远程存储装置中。
[0617]
程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于实现根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。
[0618]
可使用由解码设备200的至少一个处理器运行的指令或代码来实现程序模块。
[0619]
解码设备200可被实现为图23中示出的电子装置2300。电子装置2300可以是用作编码设备100的通用计算机系统。
[0620]
如图23中所示,电子装置2300可包括通过总线2390彼此通信的处理单元2310、存储器2330、ui输入装置2350、ui输出装置2360和贮存器2340。电子装置2300还可包括连接到网络2399的通信单元2320。
[0621]
处理单元2310可以是用于运行存储在存储器2330或贮存器2340中的处理指令的cpu或半导体器件。处理单元2310可以是至少一个硬件处理器。
[0622]
处理单元2310可产生并处理被输入到电子装置2300或从电子装置2300输出的电子装置2300的信号、数据或信息,并且可执行与信号、数据或信息相关的检查、比较和确定。换句话说,在实施例中,数据或信息的产生和处理以及与数据或信息相关的检查、比较和确定可由处理单元2310来执行。
[0623]
例如,处理单元2310可执行图17、图18、图19和20中的步骤。
[0624]
存储单元可表示存储器2330和/或贮存器2340。存储器2330和贮存器2340中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,存储器可包括只读存储器(rom)2331和随机存取存储器(ram)2332中的至少一个。
[0625]
存储单元可存储用于电子装置2300的操作的数据或信息。在实施例中,电子装置2300的数据或信息可被存储在存储单元中。
[0626]
例如,存储单元可存储画面、块、列表、运动信息、帧间预测信息、比特流等。
[0627]
可在包括计算机可读存储介质的计算机系统中实现电子装置2300。
[0628]
存储介质可存储为了将电子装置2300用作解码设备200所需要的至少一个模块。存储器2330可存储至少一个模块,并可被配置为由处理单元2310执行。
[0629]
与电子装置2300的数据或信息的通信相关的功能可由通信单元2320执行。
[0630]
例如,通信单元2320可从编码设备100接收包括帧间预测信息等的比特流。
[0631]
在以上描述的实施例中,虽然已基于作为一系列步骤或单元的流程图描述了方法,但是本发明不限于步骤的顺序,并且一些步骤可以按照与已描述的步骤的顺序不同的顺序来执行或者与其它步骤同时执行。此外,本领域技术人员将理解:在流程图中示出的步骤不是排他性的,并且还可包括其它步骤,或者,可在不脱离本发明的范围的情况下删除流程图中的一个或更多个步骤。
[0632]
以上描述的根据本发明的实施例可被实现为能够由各种计算机装置运行的程序,并且可被记录在计算机可读存储介质上。计算机可读存储介质可单独地或者组合地包括程序指令、数据文件和数据结构。在存储介质上记录的程序指令可被专门设计或配置用于本发明,或者对于计算机软件领域的普通技术人员可以是已知的或者可用的。计算机存储介质的示例可包括被专门配置用于记录和运行程序指令的所有类型的硬件装置,诸如,磁介质(诸如硬盘、软盘和磁带)、光学介质(诸如致密盘(cd)-rom和数字多功能盘(dvd))、磁光介质(诸如软光盘、rom、ram和闪存)。程序指令的示例包括机器代码(诸如由编译器创建的代码)和能够由计算机使用解释器执行的高级语言代码。硬件装置可被配置为作为一个或更多个软件模块进行操作以执行本发明的操作,反之亦然。
[0633]
如上所述,虽然已基于特定细节(诸如详细组件和有限数量的实施例和附图)描述了本发明,但是所述特定细节仅被提供用于容易理解本发明,本发明不限于这些实施例,本领域技术人员将根据以上描述实践各种改变和修改。
[0634]
因此,应该理解的是,本实施例的精神不受限于上述实施例,并且所附权利要求及其等同物和对它们的修改落入本发明的范围内。

技术特征:
1.一种解码方法,包括:确定将合并模式用于针对目标块的预测;产生用于所述目标块的合并列表;使用所述合并列表和合并索引确定所述目标块的运动信息,其中所述合并索引指示所述合并列表中的多个合并候选之中的用于所述预测的合并候选。2.如权利要求1所述的解码方法,其中,基于用于候选块的信息确定所述候选块的运动信息是否被添加到所述合并列表。3.如权利要求2所述的解码方法,其中,基于位置是否在边界内来确定所述候选块的运动信息是否被添加到所述合并列表。4.如权利要求2所述的解码方法,其中,所述候选块是时间候选块。5.如权利要求2所述的解码方法,其中,仅在所述候选块的运动信息不与已经被包括在所述合并列表中的一个或多个合并候选中的任何一个重复的情况下,所述候选块的运动信息才作为合并候选被添加到所述合并列表。6.如权利要求5所述的解码方法,其中,所述候选块相邻于和所述目标块的左下角对角相邻的块的顶部边。7.一种编码方法,包括:产生用于目标块的合并列表;产生用于所述合并列表的合并索引;产生包括预测模式信息的比特流,其中,所述预测模式信息指示合并模式被用于所述目标块,其中,所述合并索引指示所述合并列表中的多个合并候选之中的用于预测的合并候选。8.如权利要求7所述的编码方法,其中,基于用于候选块的信息确定所述候选块的运动信息是否被添加到所述合并列表。9.如权利要求8所述的编码方法,其中,基于位置是否在边界内来确定所述候选块的运动信息是否被添加到所述合并列表。10.如权利要求8所述的编码方法,其中,所述候选块是时间候选块。11.如权利要求8所述的编码方法,其中,仅在所述候选块的运动信息不与已经被包括在所述合并列表中的一个或多个合并候选中的任何一个重复的情况下,所述候选块的运动信息才作为合并候选被添加到所述合并列表。12.如权利要求11所述的编码方法,其中,所述候选块相邻于和所述目标块的左下角对角相邻的块的顶部边。13.一种存储通过权利要求7的编码方法产生的比特流的计算机可读记录介质。14.一种存储通过视频编码方法产生的比特流的计算机可读记录介质,其中,所述视频编码方法包括:产生用于目标块的合并列表;
产生用于所述合并列表的合并索引;产生包括预测模式信息的比特流,其中,所述预测模式信息指示合并模式被用于所述目标块,其中,所述合并索引指示所述合并列表中的多个合并候选之中的用于预测的合并候选。15.一种存储包括计算机可执行代码的比特流的计算机可读记录介质,其中,所述计算机可执行代码在被视频解码设备的处理器运行时促使所述处理器执行以下步骤:对所述计算机可执行代码中的预测模式信息进行解码;使用所述预测模式信息确定将合并模式用于针对目标块的预测;对所述计算机可执行代码中的合并索引信息进行解码;产生用于目标块的合并列表;以及使用所述合并列表和合并索引来确定所述目标块的运动信息,其中,所述合并索引是使用所述合并索引信息确定的,所述合并索引指示所述合并列表中的多个合并候选之中的用于所述预测的合并候选。16.如权利要求15所述的计算机可读记录介质,其中,基于用于候选块的信息确定所述候选块的运动信息是否被添加到所述合并列表。17.如权利要求16所述的计算机可读记录介质,其中,基于位置是否在边界内来确定所述候选块的运动信息是否被添加到所述合并列表。18.如权利要求16所述的计算机可读记录介质,其中,所述候选块是时间候选块。19.如权利要求16所述的计算机可读记录介质,其中,仅在所述候选块的运动信息不与已经被包括在所述合并列表中的一个或多个合并候选中的任何一个重复的情况下,所述候选块的运动信息才作为合并候选被添加到所述合并列表。20.如权利要求19所述的计算机可读记录介质,其中,所述候选块相邻于和所述目标块的左下角对角相邻的块的顶部边。21.一种存储包括计算机可执行代码的比特流的计算机可读记录介质,其中,所述计算机可执行代码在被视频解码设备的处理器运行时促使所述处理器执行以下步骤:使用所述计算机可执行代码中的预测模式信息确定将合并模式用于针对目标块的预测;产生用于目标块的合并列表;使用所述合并列表和合并索引确定所述目标块的运动信息,其中,所述合并索引是基于所述计算机可执行代码中的合并索引信息来确定的,其中,所述合并索引指示所述合并列表中的多个合并候选之中的用于所述预测的合并候选。22.一种解码设备,包括:存储器,用于存储包括指示合并索引的合并索引信息的比特流;以及处理器,用于使用所述比特流产生用于目标块的合并列表,其中,处理器使用所述合并列表和合并索引确定所述目标块的运动信息,
处理器确定将合并模式用于针对目标块的预测,所述合并索引指示所述合并列表中的多个合并候选之中的用于所述预测的合并候选。23.一种编码设备,包括:处理器,用于产生包括预测模式信息和指示合并索引的合并索引信息的比特流;以及存储器,用于存储所述比特流,其中,处理器产生用于目标块的合并列表,所述预测模式信息指示用于所述目标块的预测模式是合并模式,所述合并索引指示所述合并列表中的多个合并候选之中的用于预测的合并候选。24.一种发送比特流的方法,其中,所述比特流由视频编码装置产生,其中,所述方法包括:发送所述比特流,其中,所述比特流包括预测模式信息和合并索引信息,所述预测模式信息用于确定将合并模式用于目标块,所述合并索引信息用于在解码期间指示合并索引,所述合并索引用于在解码期间使用用于目标块的合并列表来确定所述目标块的运动信息,所述合并索引指示所述合并列表中的多个合并候选之中的用于预测的合并候选。25.如权利要求24所述的方法,其中,基于用于候选块的信息确定所述候选块的运动信息是否被添加到所述合并列表。26.如权利要求25所述的方法,其中,基于位置是否在边界内来确定所述候选块的运动信息是否被添加到所述合并列表。27.如权利要求25所述的方法,其中,所述候选块是时间候选块。28.如权利要求25所述的方法,其中,仅在所述候选块的运动信息不与已经被包括在所述合并列表中的一个或多个合并候选中的任何一个重复的情况下,所述候选块的运动信息才作为合并候选被添加到所述合并列表。29.如权利要求28所述的方法,其中,所述候选块相邻于和所述目标块的左下角对角相邻的块的顶部边。

技术总结
公开了一种用于导出运动预测信息的方法和装置。编码装置和解码装置产生用于目标块的帧间预测的列表。在列表的产生中,基于关于目标块的信息和候选块的运动信息来确定是否将候选块的运动信息添加到列表。如果所述运动信息通过运动预测边界测试,则所述运动信息被添加到列表。经由运动预测边界测试,关于目标块的预测的可用运动信息被选择性地添加到列表。的预测的可用运动信息被选择性地添加到列表。的预测的可用运动信息被选择性地添加到列表。


技术研发人员:金燕姬 石镇旭 奇明锡 林成昶 金晖容 崔振秀
受保护的技术使用者:韩国电子通信研究院
技术研发日:2017.04.07
技术公布日:2023/8/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐