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

子块单元的基于时间运动矢量预测子候选的图像或视频编译的制作方法

2022-02-24 18:51:04 来源:中国专利 TAG:


1.本技术涉及视频或图像编译,并且例如涉及子块单元的基于时间运动矢量预测子候选的图像或视频编译技术。


背景技术:

2.近来在各种领域中对诸如超高清(hud)图像和4k或8k或更大视频这样的高分辨率且高质量的图像和视频的需求日益增加。随着图像和视频数据变成高分辨率和高质量,与现有图像和视频数据相比,相对发送的信息量或比特数增加。因此,如果使用诸如现有有线或无线宽带线这样的介质来传输图像数据或者使用现有存储介质来存储图像和视频数据,则传输成本和存储成本增加。
3.此外,近来对诸如虚拟现实(vr)、人工现实(ar)内容或全息图这样的沉浸式媒体的兴趣和需求日益增加。诸如游戏图像这样的图像特性与真实图像的图像特性不同的图像和视频的广播日益增加。
4.因此,为了有效地压缩并传输或存储并回放具有这样的各种特性的高分辨率且高质量的图像和视频的信息,需要高效的图像和视频压缩技术。
5.此外,为了提高图像/视频编译效率,讨论了一种基于子块的时间运动矢量预测技术。为此,需要一种用于在基于子块的时间运动矢量预测中有效地执行修补子块单元的运动矢量的过程的方案。


技术实现要素:

6.技术问题
7.本文档的目的是提供一种用于提高视频/图像编译效率的方法和装置。
8.本文档的另一个目的是提供一种用于有效帧间预测的方法和装置。
9.本文档的又一目的是提供一种用于通过导出基于子块的时间运动矢量来改进预测性能的方法和装置。
10.本文档的另一个目的是提供一种用于有效地导出子块的相应位置以导出基于子块的时间运动矢量的方法和装置。
11.本文档的另一个目的是提供一种用于统一具有子编译块级别的对应位置和具有编译块级别的对应位置以导出基于子块的时间运动矢量的方法和装置。
12.技术方案
13.根据本文档的实施例,可以基于并置参考图片内部的参考子块,在基于子块的时间运动矢量预测(sbtmvp)中导出用于当前块的子块单元运动矢量。
14.根据本文档的实施例,可以基于当前块中的子块的每个的中心样本位置来导出用于当前块中的子块的并置参考图片内部的参考子块。
15.根据本文档的实施例,可以在用于参考子块当中的不可用参考子块的子块单元运动矢量中使用基本运动矢量。
16.根据本文档的实施例,可以基于当前块的中心样本位置,从并置参考图片导出基本运动矢量。
17.根据本文档的实施例,提供了一种由解码装置执行的视频/图像解码方法。视频/图像解码方法可以包括本文档的实施例中公开的方法。
18.根据本文档的实施例,提供了一种执行视频/图像解码的解码装置。解码装置可以执行本文档的实施例中公开的方法。
19.根据本文档的实施例,提供了一种由编码装置执行的视频/图像编码方法。视频/图像编码方法可以包括本文档的实施例中公开的方法。
20.根据本文档的实施例,提供了一种执行视频/图像编码的编码装置。编码装置可以执行本文档的实施例中公开的方法。
21.根据本文档的实施例,提供了一种计算机可读数字存储介质,其中,根据本文档的至少一个实施例中公开的视频/图像编码方法,生成编码视频/图像信息。
22.根据本文档的实施例,提供了一种计算机可读数字存储介质,其中,存储有使得解码装置执行在本文档的至少一个实施例中公开的视频/图像解码方法的编码信息或编码视频/图像信息。
23.有益效果
24.本文档可以具有各种效果。例如,可以提高整体图像/视频压缩效率。此外,通过有效的帧间预测,可以降低计算复杂度并且可以提高整体编译效率。此外,可以改进复杂性及预测性能方面的效率,这是因为在基于子块的时间运动矢量预测(sbtmvp)中有效地计算用于导出基于子块的时间运动矢量的子块的对应位置。此外,因为统一了计算具有子编译块级别的对应位置和具有编译块级别的对应位置以导出基于子块的时间运动矢量的方法,所以可以获得硬件实现方面的简化效果。
25.可以通过本文档的详细实施例获得的效果不限于所列出的效果。例如,可以存在相关领域的普通技术人员可以从本文档中理解或导出的各种技术效果。因此,本文档的详细效果不限于本文档中明确描述的效果,并且可以包括可以从本文档的技术特征中理解或导出的各种效果。
附图说明
26.图1示意性地图示了可以应用于本文档的实施例的视频/图像编译系统的示例。
27.图2是示意性地描述可以应用本文档的实施例的视频/图像编码装置的配置的图。
28.图3是示意性地描述可以应用本文档的实施例的视频/图像解码装置的配置的图。
29.图4图示了可以应用本文档的实施例的示意性视频/图像编码方法的示例。
30.图5图示了可以应用本文档的实施例的示意性视频/图像解码方法的示例。
31.图6图示了可以应用本文档的实施例的示意性的基于帧间预测的视频/图像编码方法的示例。
32.图7图示了可以应用本文档的实施例的示意性的基于帧间预测的视频/图像解码方法的示例。
33.图8示例性地图示了帧间预测过程。
34.图9示例性地图示了当前块的空间邻近块和时间邻近块。
35.图10示例性地图示了可以用来导出基于子块的时间运动信息候选(sbtmvp候选)的空间邻近块。
36.图11是用于示意性地描述导出基于子块的时间运动信息候选(sbtmvp候选)的过程的图。
37.图12至图15是用于示意性地描述在sbtmvp导出过程中,计算用于基于块大小导出默认mv和子块mv的对应位置的方法的图。
38.图16至图19是用于示意性地描述统一用于在sbtmvp导出过程中,基于块大小导出默认mv和子块mv的对应位置的方法的示例图。
39.图20和图21是示意性地图示流水线的配置的示例图,通过该流水线,可以在sbtmvp导出过程中,统一并计算用于导出默认mv和子块mv的对应位置。
40.图22示意性地图示了根据本文档的(一个或多个)实施例的视频/图像编码方法的示例。
41.图23示意性地图示了根据本文档的(一个或多个)实施例的视频/图像解码方法的示例。
42.图24图示了可以应用本文档中公开的实施例的内容流传输系统的示例。
具体实施方式
43.本文档可以以各种方式修改并且可以具有各种实施方式,并且特定实施方式将在附图中例示并详细地描述。然而,这并不旨在将本文档限制于特定实施方式。本说明书中通常使用的术语用于描述特定的实施方式,而不是用来限制本文档的技术精神。除非在上下文中另外明确表示,否则单数的表述包括复数的表述。该说明书中的诸如"包括"或"具有"这样的术语应该被理解为指示存在本说明书中描述的特性、数字、步骤、操作、元件、组件或其组合,而没有排除存在或添加一个或更多个特性、数字、步骤、操作、元件、组件或其组合的可能性。
44.同时,为了便于与不同特征功能相关的描述,独立地例示了本文档中描述的附图中的元件。这并不意指各个元件被实现为单独的硬件或单独的软件。例如,至少两个元件可以被组合,以形成单个元件,或者单个元件可以被划分成多个元件。其中元件被组合和/或分开的实施方式也被包括在本文档的权利范围内,除非它偏离了本文档的实质。
45.在本文档中,术语"a或b"可以意指"仅a"、"仅b"或"a和b这二者"。换句话说,在本文档中,术语"a或b"可以被解释为指示"a和/或b"。例如,在本文档中,术语"a、b或c"可以意指"仅a"、"仅b"、"仅c"或"a、b和c的任何组合"。
46.本文档中使用的斜线"/"或逗号可以意指"和/或"。例如,"a/b"可以意指"a和/或b"。因此,"a/b"可以意指"仅a"、"仅b"或"a和b这二者"。例如,"a、b、c"可以意指"a、b或c"。
47.在本文档中,"a和b中的至少一个"可以意指"仅a"、"仅b"或"a和b这二者"。此外,在本文档中,表达"a或b中的至少一个"或"a和/或b中的至少一个"可以被解释为"a和b中的至少一个"。
48.此外,在本文档中,"a、b和c中的至少一个"可以意指"仅a"、"仅b"、"仅c"或"a、b和c的任何组合"。此外,"a、b或c中的至少一个"或"a、b和/或c中的至少一个"可以意指"a、b和c中的至少一个"。
49.此外,本文档中使用的括号可以意指"例如"。具体地,在表达"预测(帧内预测)"的情况下,可以指示将"帧内预测"作为"预测"的示例提出。换句话说,本文档中的术语"预测"不限于"帧内预测",并且可以指示将"帧内预测"作为"预测"的示例提出。此外,即使在表达"预测(即,帧内预测)"的情况下,也可以指示将"帧内预测"作为"预测"的示例提出。
50.该文档涉及视频/图像编译。例如,本文档中公开的方法/实施例可以应用于通用视频编码(vvc)中公开的方法。此外,本文档中公开的方法/实施例可以应用于在基本视频编码(evc)标准、aomedia video 1(av1)标准、第二代音频视频编码标准(avs2)或下一代视频/图像编码标准(例如,h.267或h.268等)中公开的方法。
51.本文档提出视频/图像编译的各种实施例,并且除非相反地提及,否则这些实施例可以被彼此组合地执行。
52.在本文档中,视频可以意指根据时间的流逝的一系列图像的集合。图片通常意指表示特定时间段的一个图像的单元,并且切片(slice)/图块(tile)是在编译中构成图片的一部分的单元。切片/图块可以包括一个或更多个编译树单元(ctu)。一个图片可以由一个或多个切片/图块构成。图块是图片中的特定图块列和特定图块行内的ctu的矩形区域。图块列是ctu的高度等于图片的高度并且宽度由图片参数集中的语法元素指定的矩形区域。图块行是ctu的高度由图片参数集中的语法元素指定并且宽度等于图片的宽度的矩形区域。图块扫描是以下的分割图片的ctu的特定顺序排序:可以在图块中按ctu光栅扫描对ctu进行连续排序,而可以按图片的图块的光栅扫描对图片中的图块进行连续排序。切片包括可以排他地包含在单个nal单元中的图片的图块内的整数个完整图块或整数个连续的完整ctu行。
53.同时,一个图片可以被划分成两个或更多子图片。子图片可以是图片内一个或多个切片的矩形区域。
54.像素或像元(pel)可以意指构成一个图片(或图像)的最小单元。另外,"样本"可以被用作与像素对应的术语。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。可替选地,样本可以意指空间域中的像素值,或者当像素值被变换到频域中时可以意指频域中的变换系数。
55.单元可以表示图像处理的基本单元。单元可以包括图片的特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在通常情况下,m
×
n块可以包括由m列和n行组成的样本(或样本阵列)或变换系数的集合(或阵列)。
56.此外,在此文档中,可以省略量化/解量化和/或变换/逆变换中的至少一个。当省略量化/解量化时,量化变换系数可以被称为变换系数。当省略变换/逆变换时,变换系数可以称为系数或残差系数,或者为了表达的统一性,仍可以称为变换系数。
57.在此文档中,量化变换系数和变换系数可以分别称为变换系数和缩放变换系数。在这种情况下,残差信息可以包括关于变换系数的信息,并且可以通过残差编译语法用信号发送关于变换系数的信息。可以基于残差信息(或关于变换系数的信息)导出变换系数,并且可以通过对变换系数进行逆变换(缩放)来导出缩放变换系数。残差样本可以基于经缩放的变换系数的逆变换来导出。这也可以在本文档的其他部分应用/表达。
58.在本文档中,在一个附图中单独解释的技术特征可以单独实施,或者可以同时实
施。
59.在下文中,将参考附图更具体地描述本文档的优选实施例。在下文中,在附图中,相同的附图标记在相同的元件中使用,并且可以省略相同元件的重复描述。
60.图1示意性地例示了可以应用本文档的实施方式的视频/图像编译系统的示例。
61.参考图1,视频/图像编译系统可以包括第一设备(源设备)和第二设备(接收设备)。源设备可以经由数字存储介质或网络以文件或流传输的形式将编码后的视频/图像信息或数据传递到接收设备。
62.源设备可以包括视频源、编码装置和发送器。接收设备可以包括接收器、解码装置和渲染器。编码装置可以被称为视频/图像编码装置,并且解码装置可以被称为视频/图像解码装置。发送器可以被包括在编码装置中。接收器可以被包括在解码装置中。渲染器可以包括显示器,并且显示器可以被配置成单独的设备或外部组件。
63.视频源可以通过捕获、合成或生成视频/图像的处理来获得视频/图像。视频源可以包括视频/图像捕获设备和/或视频/图像生成设备。视频/图像捕获设备可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成设备可以包括例如计算机、平板计算机和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以被生成相关数据的处理取代。
64.编码装置可以对输入视频/图像进行编码。编码装置可以执行诸如针对压缩和编译效率的预测、变换和量化这样的一系列过程。编码后的数据(编码后的视频/图像信息)可以以比特流的形式输出。
65.发送器可以通过数字存储介质或网络以文件或流传输的形式将以比特流的形式输出的编码后的视频/图像信息或数据发送到接收设备的接收器。数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等这样的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并且将接收/提取的比特流发送到解码装置。
66.解码装置可以通过执行与编码装置的操作对应的诸如解量化、逆变换、预测等这样的一系列过程来解码视频/图像。
67.渲染器可以渲染解码后的视频/图像。可以通过显示器显示渲染后的视频/图像。
68.图2是示意性地描述可以应用本文档的视频/图像编码装置的配置的图。下文中,编码装置可以包括图像编码装置和/或视频编码装置。
69.参考图2,编码装置200可以包括图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250、滤波器260和存储器270。预测器220可以包括帧间预测器221和帧内预测器222。残差处理器230可以包括变换器232、量化器233、解量化器234、逆变换器235。残差处理器230还可以包括减法器231。加法器250可以被称为重构器或重构块生成器。根据实施方式,上面已描述的图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250和滤波器260可以由一个或更多个硬件组件(例如,编码器芯片组或处理器)构成。另外,存储器270可以包括解码图片缓冲器(dpb),并且可以由数字存储介质构成。硬件组件还可以包括存储器270作为内部/外部组件。
70.图像分割器210可以将输入到编码装置200的输入图像(或图片或帧)分割成一个
或更多个处理单元。作为一个示例,处理单元可以被称为编译单元(cu)。在这种情况下,从编译树单元(ctu)或最大编译单元(lcu)开始,可以根据四叉树二叉树三叉树(qtbttt)结构来递归地分割编译单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编译单元划分成深度更深的多个编译单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三叉树结构。另选地,可以首先应用二叉树结构。可以基于没有被进一步分割的最终编译单元来执行根据本文档的编译过程。在这种情况下,基于根据图像特性的编译效率,可以将最大编译单元直接用作最终编译单元。另选地,可以按需要将编译单元递归地分割成深度进一步更深的编译单元,使得可以将最佳大小的编译单元用作最终编译单元。这里,编译过程可以包括随后将描述的诸如预测、变换和重构这样的过程。作为另一示例,处理单元还可以包括预测单元(pu)或变换单元(tu)。在这种情况下,可以从上述的最终编译单元划分或分割预测单元和变换单元。预测单元可以是样本预测的单元,并且变换单元可以是用于导出变换系数的单元和/或用于根据变换系数导出残差信号的单元。
71.根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在常规情况下,m
×
n块可以表示由m列和n行组成的样本或变换系数的集合。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。样本可以被用作与一个图片(或图像)的像素或像元(pel)对应的术语。
72.在编码装置200中,从输入图像信号(原始块、原始样本阵列)中减去从帧间预测器221或帧内预测器222输出的预测信号(预测块、预测样本阵列)以生成残差信号(残差块、残差样本阵列),并且所生成的残差信号被发送到变换器232。在这种情况下,如所示出的,在编码器200中从输入图像信号(原始块、原始样本阵列)中减去预测信号(预测块、预测样本阵列)的单元可以被称为减法器231。预测器可以对处理目标块(下文中,被称为"当前块")执行预测,并且可以生成包括用于当前块的预测样本的预测块。预测器可以确定以当前块或cu为基础应用帧内预测还是帧间预测。如随后在对每种预测模式的描述中所讨论的,预测器可以生成诸如预测模式信息这样的与预测相关的各种信息,并且将所生成的信息发送到熵编码器240。关于预测的信息可以在熵编码器240中被编码并且以比特流的形式被输出。
73.帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33种定向预测模式或65种定向预测模式。然而,这仅仅是示例,并且根据设置,可以使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
74.帧间预测器221可以基于参考图片上的运动矢量所指定的参考块(参考样本阵列)来导出用于当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础来预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图
片可以彼此相同或彼此不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等,并且包括时间邻近块的参考图片可以被称为并置图片(colpic)。例如,帧间预测器221可以基于邻近块来配置运动信息候选列表,并且生成指示哪个候选被用于导出当前块的运动矢量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式下,与合并模式不同,不能发送残差信号。在运动信息预测(运动矢量预测、mvp)模式的情况下,邻近块的运动矢量可以被用作运动矢量预测项,并且可以通过用信号发送运动矢量差来指示当前块的运动矢量。
75.预测器220可以基于各种预测方法来生成预测信号。例如,预测器可以将帧内预测或帧间预测应用于对一个块的预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(ciip)。另外,预测器可以基于帧内块复制(ibc)预测模式或调色板模式,以便对块执行预测。ibc预测模式或调色板模式可以被用于诸如屏幕内容编译(scc)这样的游戏等的内容图像/视频编译。尽管ibc基本上在当前图片中执行预测,但是其执行方式与帧间预测的相似之处在于,它导出当前图片中的参考块。即,ibc可以使用本文档中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编译或帧内预测的示例。当应用调色板模式时,可以基于关于调色板索引和调色板表的信息来用信号发送图片中的样本值。
76.通过预测器(包括帧间预测器221和/或帧内预测器222)生成的预测信号可以被用于生成重构信号或者生成残差信号。变换器232可以通过向残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或有条件非线性变换(cnt)中的至少一种。这里,gbt意指当用曲线图表示像素之间的关系信息时从曲线图获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号而获得的变换。另外,变换过程可以被应用于大小相同的正方形像素块,或者可以应用于大小可变的块而非正方形的块。
77.量化器233可以对变换系数进行量化并且将它们发送到熵编码器240,并且熵编码器240可以对量化的信号(关于量化变换系数的信息)进行编码并且输出比特流中的编码后的信号。关于量化变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块类型的量化变换系数重新布置成一维矢量形式,并且基于一维矢量形式的量化变换系数来生成关于量化变换系数的信息。熵编码器240可以执行诸如例如指数哥伦布(exponential golomb)、上下文自适应可变长度编译(cavlc)、上下文自适应二进制算术编译(cabac)等这样的各种编码方法。熵编码器240可以对除了量化变换系数(例如,语法元素的值等)之外的视频/图像重构所需的信息一起或分别进行编码。编码后的信息(例如,编码后的视频/图像信息)可以以比特流的形式在网络抽象层(nal)的单元基础上进行发送或存储。视频/图像信息还可以包括关于诸如适应参数集(aps)、图片参数集(pps)、序列参数集(sps)、视频参数集(vps)等这样的各种参数集的信息。另外,视频/图像信息还可以包括常规约束信息。在本文档中,从编码装置发送到/用信号发送给解码装置的信息和/或语法元素可以被包括在视频/图片信息中。视频/图像信息可以通过上述编码过程进行编码并且被包括在比特流中。可以通过网络传输比特流,或者将其存储在数字存储介质中。这里,网络可以包括广播网络、通信网络和/或类似物,并且数字存储介质可以包括诸如usb、sd、cd、
dvd、蓝光、hdd、ssd等这样的各种存储介质。发送从熵编码器240输出的信号的发送器(未示出)或存储其的存储器(未示出)可以被配置成编码装置200的内部/外部元件,或者发送器可以被包括在熵编码器240中。
78.从量化器233输出的量化变换系数可以被用于生成预测信号。例如,通过经由解量化器234和逆变换器235对量化变换系数应用解量化和逆变换,可以重构残差信号(残差块或残差样本)。加法器155将重构后的残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加,使得可以生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳过模式的情况下一样没有针对处理目标块的残差时,可以将预测块用作重构块。加法器250可以被称为重构器或重构块生成器。所生成的重构信号可以被用于当前图片中的下一处理目标块的帧内预测,并且如随后描述的,可以被用于通过滤波进行的下一图片的帧间预测。
79.此外,在图片编码和/或重构处理中,可以应用亮度映射与色度缩放(lmcs)。
80.滤波器260可以通过向重构信号应用滤波来改善主观/客观视频质量。例如,滤波器260可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且可以将修改后的重构图片存储在存储器270中,尤其是存储在存储器270的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。如随后在对每种滤波方法的描述中所讨论的,滤波器260可以生成与滤波相关的各种信息,并且将所生成的信息发送到熵编码器240。关于滤波的信息可以在熵编码器240中被编码并且以比特流的形式被输出。
81.已发送到存储器270的修改后的重构图片可以被用作帧间预测器221中的参考图片。据此,编码装置可以避免在应用帧间预测时编码装置100和解码装置中的预测失配,并且还可以提高编码效率。
82.存储器270dpb可以存储修改后的重构图片,以便使用它作为帧间预测器221中的参考图片。存储器270可以存储从中已导出(或编码了)运动信息的当前图片中的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被发送到帧间预测器221,以被用作邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器222。
83.图3是示意性地描述可以应用本文档的视频/图像解码装置的配置的图。在下文中,解码装置可以包括图像解码装置和/或视频解码装置。
84.参考图3,视频解码装置300可以包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可以包括帧间预测器331和帧内预测器332。残差处理器320可以包括解量化器321和逆变换器322。根据实施方式,上面已描述的熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可以由一个或更多个硬件组件(例如,解码器芯片组或处理器)构成。另外,存储器360可以包括解码图片缓冲器(dpb),并且可以由数字存储介质构成。硬件组件还可以包括存储器360作为内部/外部组件。
85.当输入包括视频/图像信息的比特流时,解码装置300可以与据此已在图2的编码装置中处理视频/图像信息的处理对应地重构图像。例如,解码装置300可以基于与从比特流获得的与块分割相关的信息来导出单元/块。解码装置300可以通过使用在编码装置中应用的处理单元来执行解码。因此,解码的处理单元可以是例如编译单元,可以从编译树单元或最大编译单元顺着四叉树结构、二叉树结构和/或三叉树结构对其进行分割。可以用编译
单元导出一个或更多个变换单元。可以通过再现装置来再现通过解码装置300解码并输出的重构图像信号。
86.解码装置300可以以比特流的形式接收从图2的编码装置输出的信号,并且可以通过熵解码器310对接收到的信号进行解码。例如,熵解码器310可以对比特流进行解析,以导出图像重构(或图片重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)、视频参数集(vps)等这样的各种参数集的信息。另外,视频/图像信息还可以包括常规约束信息。解码装置可以进一步基于关于参数集的信息和/或常规约束信息对图片进行解码。在本文档中,随后将描述的用信号发送/接收的信息和/或语法元素可以通过解码过程被解码并且从比特流获得。例如,熵解码器310可以基于诸如指数哥伦布编译、cavlc、或cabac等这样的编译方法对比特流中的信息进行解码,并且可以输出图像重构所需的语法元素的值和关于残差的变换系数的量化值。更具体地,cabac熵解码方法可以接收与比特流中的各语法元素对应的bin,使用解码目标语法元素信息以及邻近和解码目标块的解码信息或者在先前步骤中解码的符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率并且对bin执行算术解码以生成与每个语法元素值对应的符号。这里,cabac熵解码方法可以在确定上下文模型之后使用针对下一个符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。在熵解码器310中解码的信息当中的关于预测的信息可以被提供到预测器(帧间预测器332和帧内预测器331),并且在熵解码器310中已对其执行了熵解码的残差值(即,量化变换系数)和关联的参数信息可以被输入到残差处理器320。残差处理器320可以导出残差信号(残差块、残差样本、残差样本阵列)。另外,在熵解码器310中解码的信息当中的关于滤波的信息可以被提供到滤波器350。此外,接收从编码装置输出的信号的接收器(未示出)还可以将解码装置300构成为内部/外部元件,并且接收器可以是熵解码器310的组件。此外,根据本文档的解码装置可以被称为视频/图像/图片解码装置,并且解码装置可以被分为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器310,并且样本解码器可以包括解量化器321、逆变换器322、加法器340、滤波器350、存储器360、帧间预测器332和帧内预测器331中的至少一个。
87.解量化器321可以通过对量化变换系数进行解量化来输出变换系数。解量化器321可以将量化变换系数重新布置为二维块的形式。在这种情况下,可以基于已在编码装置中执行的系数扫描的顺序来执行重新布置。解量化器321可以使用量化参数(例如,量化步长信息)对量化变换系数执行解量化,并且获得变换系数。
88.逆变换器322通过对变换系数进行逆变换来获得残差信号(残差块、残差样本阵列)。
89.预测器可以对当前块执行预测,并且生成包括用于当前块的预测样本的预测块。预测器可以基于从熵解码器310输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且可以确定特定帧内/帧间预测模式。
90.预测器320可以基于各种预测方法来生成预测信号。例如,预测器不仅可以将帧内预测或帧间预测应用于对一个块的预测,而且也可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(ciip)。另外,预测器可以基于帧内块复制(ibc)预测模式或调色板模式,以便对块执行预测。ibc预测模式或调色板模式可以被用于诸如屏幕内容编
译(scc)这样的游戏等的内容图像/视频编译。尽管ibc基本上在当前图片中执行预测,但是其执行方式与帧间预测的相似之处在于,它导出当前图片中的参考块。即,ibc可以使用本文档中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编译或帧内预测的示例。当应用调色板模式时,关于调色板表和调色板索引的信息可以被包括在视频/图像信息中并被用信号发送。
91.帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
92.帧间预测器332可以基于参考图片上的运动矢量所指定的参考块(参考样本阵列)来导出用于当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础来预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测器332可以基于邻近块来配置运动信息候选列表,并且基于接收到的候选选择信息来导出当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示用于当前块的帧间预测的模式的信息。
93.加法器340将所获得的残差信号与从预测器(帧间预测器332或帧内预测器331)输出的预测信号(预测块、预测样本阵列)相加,使得可以生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳过模式的情况下一样没有针对处理目标块的残差时,可以将预测块用作重构块。
94.加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以用于当前图片中的要处理的下一块的帧内预测,可以通过如下所述的滤波而输出,或者可以用于下一图片的帧间预测。
95.此外,亮度映射与色度缩放(lmcs)可以被应用于图片解码处理。
96.滤波器350可以通过向重构后的信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且将修改后的重构图片存储在存储器360中,具体地,存储在存储器360的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。
97.存储在存储器360的dpb中的(修改后的)重构图片可以被用作帧间预测器332中的参考图片。存储器360可以存储从其导出(或解码出)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被发送到帧间预测器332,以便被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并且将重构样本传送到帧内预测器331。
98.在本公开中,在编码装置200的滤波器260、帧间预测器221和帧内预测器222中描述的实施方式可以与解码装置300的滤波器350、帧间预测器332和帧内预测器331相同或者被分别对应于解码装置300的滤波器350、帧间预测器332和帧内预测器331进行应用。这也可以应用于单元332和帧内预测器331。
99.如上所述,在执行视频编译时,执行预测以提高压缩效率。可以通过预测生成包括用于当前块的预测样本的预测块,即,目标编译块。在这种情况下,预测块包括空间域(或像素域)中的预测样本。在编码装置和解码装置中同样地导出预测块。编码装置可以通过向解码装置用信号发送关于原始块而非原始块的原始样本值本身与预测块之间的残差的信息(残差信息)来提高图像编译效率。解码装置可以基于残差信息来导出包括残差样本的残差块,可以通过将残差块与预测块相加来生成包括重构样本的重构块,并且可以生成包括重构块的重构图片。
100.可以通过变换和量化过程来生成残差信息。例如,编码装置可以导出原始块与预测块之间的残差块,可以通过对残差块中所包括的残差样本(残差样本阵列)执行变换过程来导出变换系数,可以通过对变换系数执行量化过程来导出量化变换系数,并且可以(通过比特流)向解码装置用信号发送相关残差信息。在这种情况下,残差信息可以包括诸如值信息、位置信息、变换方案、变换核以及量化变换系数的量化参数这样的信息。解码装置可以基于残差信息执行解量化/逆变换过程,并且可以导出残差样本(或残差块)。解码装置可以基于预测块和残差块来生成重构图片。此外,编码装置可以通过对量化变换系数进行解量化/逆变换来导出残差块以供后续图片的帧间预测参考,并且可以生成重构图片。
101.图4图示了本文档的实施例适用的示意性视频/图像编码方法的示例。
102.图4中公开的方法可以由图2的上述编码装置200执行。具体地,s400可以由编码装置200的帧间预测器221或帧内预测器222执行,s410、s420、s430、s440可以由编码装置200的减法器231、变换器232、量化器233和熵编码器240执行。
103.参考图4,编码装置可以通过对当前块的预测来导出预测样本(s400)。编码装置可以确定是否对当前块执行帧间预测或帧内预测,并且可以基于rd成本确定特定帧间预测模式或特定帧内预测模式。根据所确定的模式,编码装置可以导出当前块的预测样本。
104.编码装置可以通过比较当前块的初始样本和预测样本来导出残差样本(s410)。
105.编码装置可以通过用于残差样本的变换过程来导出变换系数(s420),并且量化所导出的变换系数来导出量化变换系数(s430)。
106.编码装置可以对包括预测信息和残差信息的图像信息进行编码,并且以比特流的形式输出编码的图像信息(s440)。预测信息是与预测过程相关的信息,并且可以包括预测模式信息和运动信息(例如,当应用帧间预测时)。残差信息可以包括关于量化变换系数的信息。可以熵编译残差信息。
107.输出比特流可以通过存储介质或网络传送到解码装置。
108.图5示出了本公开的实施例可适用的示意性视频/图像解码方法的示例。
109.图5中公开的方法可以由上述图3的解码装置300执行。具体地,s500可以由解码装置300的帧间预测器332或帧内预测器331执行。在s500中通过对比特流中包括的预测信息进行解码来导出相关语法元素的值的过程可以由解码装置300的熵解码器310执行。s510、s520、s530和s540可以分别由解码装置300的熵解码器310、解量化器321、逆变换器322和加法器340执行。
110.参考图5,解码装置可以执行与由编码装置执行的操作相对应的操作。解码装置可以基于所接收的预测信息,对当前块执行帧间预测或帧内预测,并且导出预测样本(s500)。
111.解码装置可以基于所接收的残差信息,导出用于当前块的量化变换系数(s510)。
解码装置可以通过熵解码,从残差信息中导出量化变换系数。
112.解码装置可以对量化的变换系数进行解量化以导出变换系数(s520)。
113.解码装置通过对变换系数的逆变换过程来导出残差样本(s530)。
114.解码装置可以基于预测样本和残差样本,生成当前块的重构样本,并且基于其生成重构图片(s540)。如上所述,环内滤波过程可以随后进一步应用于重构图片。
115.同时,如上所述,当对当前块执行预测时,可以应用帧内预测或帧间预测。在下文中,将描述将帧间预测应用于当前块的情况。
116.编码/解码装置的预测器(更具体地,帧间预测器)可以通过以块为单位执行帧间预测来导出预测样本。帧间预测可以表示通过依赖于除当前图片之外的图片的数据元素(例如,样本值或运动信息)的方法导出的预测。当对当前块应用帧间预测时,可以基于由参考图片索引指示的参考图片上的由运动矢量指定的参考块(参考样本阵列)导出用于当前块的预测块(预测样本阵列)。在这种情况下,为了减少在帧间预测模式中发送的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测当前块的运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息可以进一步包括帧间预测类型(l0预测、l1预测、bi预测等)信息。在应用帧间预测的情况下,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以彼此相同或彼此不同。时间邻近块可以被称为诸如并置参考块、并置cu(colcu)等的名称,并且包括时间邻近块的参考图片可以被称为并置图片(colpic)。例如,可以基于当前块的邻近块来配置运动信息候选列表,并且可以用信号发送指示选择(使用)哪个候选的标志或索引信息以便导出当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且例如,在跳过模式和合并模式的情况下,当前块的运动信息可以与选择的邻近块的运动信息相同。在跳过模式的情况下,与合并模式不同,可以不发送残差信号。在运动矢量预测(mvp)模式的情况下,所选择的邻近块的运动矢量可以用作运动矢量预测子并且可以用信号发送运动矢量差。在这种情况下,可以通过使用运动矢量预测子和运动矢量差的和来导出当前块的运动矢量。
117.运动信息可以进一步包括根据帧间预测类型(l0预测、l1预测、bi预测等)的l0运动信息和/或l1运动信息。l0方向运动矢量可以被称为l0运动矢量或mvl0,而l1方向运动矢量可以被称为l1运动矢量或mvl1。基于l0运动矢量的预测可以被称为l0预测,基于l1运动矢量的预测可以被称为l1预测,并且基于l0运动矢量和l1运动矢量这两者的预测可以被称为双预测。在此,l0运动矢量可以指示与参考图片列表l0相关联的运动矢量,并且l1运动矢量可以指示与参考图片列表l1相关联的运动矢量。参考图片列表l0可以包括按照输出次序在当前图片之前的图片,并且参考图片列表l1可以包括按照输出次序在当前图片之后的图片作为参考图片。先前的图片可以被称为前向(参考)图片并且随后的图片可以被称为反向(参考)图片。参考图片列表l0可以进一步包括按照输出次序在当前图片之后的图片作为参考图片。在这种情况下,可以首先在参考图片列表l0中对先前图片进行索引,并且然后可以对后续图片进行索引。参考图片列表l1可以进一步包括按照输出次序在当前图片之前的图片作为参考图片。在这种情况下,可以首先在参考图片列表l1中对后续图片进行索引,并且然后可以对先前图片进行索引。在此,输出次序可以对应于图片次序计数(poc)次序。
118.此外,可以使用各种帧间预测模式来预测图片中的当前块。例如,诸如合并模式、
跳过模式、运动矢量预测(mvp)模式、仿射模式、子块合并模式、与mvd合并(mmvd)模式和历史运动矢量预测(hmvp)模式的各种模式可以被使用。解码器侧运动矢量细化(dmvr)模式、自适应运动矢量分辨率(amvr)模式、具有cu级权重的双预测(bcw)、双向光流(bdof)等可以进一步被用作附加模式。仿射模式也可以被称为仿射运动预测模式。mvp模式也可以被称为高级运动矢量预测(amvp)模式。在本文档中,一些模式和/或由一些模式导出的运动信息候选也可以被包括在其他模式中的运动信息相关候选之一中。例如,可以将hmvp候选添加到合并/跳过模式的合并候选中,或者也可以添加到mvp模式的mvp候选中。如果hmvp候选被用作合并模式或跳过模式的运动信息候选,则hmvp候选可以被称为hmvp合并候选。
119.指示当前块的帧间预测模式的预测模式信息可以从编码装置用信号发送到解码装置。在这种情况下,预测模式信息可以被包括在比特流中并且由解码装置接收。预测模式信息可以包括指示多个候选模式之一的索引信息。可替选地,可以通过标志信息的分层信令来指示帧间预测模式。在这种情况下,预测模式信息可以包括一个或多个标志。例如,可以通过用信号发送跳过标志来指示是否应用跳过模式,可以在不应用跳过模式时通过用信号发送合并标志来指示是否应用合并模式,以及指示应用mvp模式或者当不应用合并模式时可以进一步用信号发送用于附加区分的标志。仿射模式可以作为独立模式被用信号发送或作为关于合并模式或mvp模式的从属模式被用信号发送。例如,仿射模式可以包括仿射合并模式和仿射mvp模式。
120.此外,当将帧间预测应用于当前块时,可以使用当前块的运动信息。编码设备可以通过运动估计过程来导出用于当前块的最佳运动信息。例如,编码设备可以通过使用用于当前块的原始图片中的原始块在参考图片中的预定搜索范围内以分数像素为单位来搜索具有高相关性的相似参考块,并通过搜索到的参考块来导出运动信息。可以根据基于相位的样本值的差来导出块的相似度。例如,可以基于当前块(或当前块的模板)与参考块(或参考块的模板)之间的绝对差之和(sad)来计算块的相似度。在这种情况下,可以基于搜索区域中具有最小sad的参考块来导出运动信息。可以基于帧间预测模式,根据各种方法将导出的运动信息用信号发送给解码设备。
121.可以基于根据帧间预测模式导出的运动信息导出用于当前块的预测块。预测块可以包括当前块的预测样本(预测样本阵列)。在当前块的运动矢量(mv)指示分数样本单位时,可以执行内插过程,并且可以通过内插过程,基于参考图片中的分数样本单位的参考样本导出当前块的预测样本。当将仿射帧间预测应用于当前块时,可以基于样本/子块单位mv生成预测样本。当应用双预测时,可以将通过基于l0预测(即,使用参考图片列表l0和mvl0中的参考图片的预测)导出的预测样本以及(根据相位)基于l1预测(即,使用参考图片列表l1和mvl1中的参考图片的预测)导出的预测样本的加权求和或加权平均导出的预测样本用作当前块的预测样本。当应用双预测时,如果用于l0预测的参考图片和用于l1预测的参考图片基于当前图片位于不同的时间方向上(即,如果预测对应于双预测和双向预测),则这可以被称为真正的双预测。
122.可以基于所导出的预测样本生成重构样本及重构图片,此后,可以如上所述执行例如环内滤波等的过程。
123.图6图示了本文档的实施例适用的示意性的基于帧间预测的视频/图像编码方法的示例。
124.图6中公开的方法可以由图2的上述编码装置200执行。具体地,s600可以由编码装置200的帧间预测器221执行,s610可以由编码装置200的减法器231执行,以及s620可以由编码装置200的熵编码器240执行。
125.参考图6,编码装置可以对当前块执行帧间预测(s600)。编码装置可以导出当前块的帧间预测模式和运动信息,并且生成当前块的预测样本。在此,可以同时执行帧间预测模式确定过程、运动信息导出过程和预测样本的生成过程,并且可以比其他过程更早地执行任何一个过程。例如,编码装置的帧间预测单元可以包括预测模式确定单元、运动信息导出单元和预测样本导出单元,并且预测模式确定单元可以确定当前块的预测模式,运动信息导出单元可以导出当前块的运动信息,以及预测样本导出单元可以导出当前块的预测样本。例如,编码装置的帧间预测单元可以通过运动估计,在参考图片的预定区域(搜索区域)中搜索与当前块相似的块,并且导出与当前块的差最小或等于或小于预定标准的参考块。可以基于此导出指示参考块所定位的参考图片的参考图片索引,并且可以基于参考块与当前块之间的位置差来导出运动矢量。编码装置可以在各种预测模式当中,确定应用于当前块的模式。编码装置可以比较各种预测模式的rd成本,并且确定当前块的最佳预测模式。
126.例如,当将跳过模式或合并模式应用于当前块时,编码装置可以配置将在下文描述的合并候选列表,并且导出由合并候选列表中包括的合并候选指示的参考块当中,与当前块的差最小或等于或小于预定标准的参考块。在这种情况下,可以选择与所导出的参考块相关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并且将其用信号发送到解码装置。可以通过使用所选择的合并候选的运动信息来导出当前块的运动信息。
127.作为另一示例,当将(a)mvp模式应用于当前块时,编码装置可以配置(a)mvp候选列表并且将包括在(a)mvp候选列表中的运动矢量预测子(mvp)候选当中的所选择的mvp候选的运动矢量用作当前块的mvp。在这种情况下,例如,可以将指示通过运动估计导出的参考块的运动矢量用作当前块的运动矢量,并且mvp候选当中具有与当前块的运动矢量的最小差的运动矢量的mvp候选可以变为所选择的mvp候选。可以导出运动矢量差(mvd),其是通过从当前块的运动矢量减去mvp获得的差。在这种情况下,可以将关于mvd的信息用信号发送到解码装置。此外,当应用(a)mvp模式时,参考图片索引的值可以被配置为参考图片索引信息并且被单独地用信号发送到解码装置。
128.编码装置可以基于预测样本导出残差样本(s610)。编码装置可以通过比较初始样本和当前块的预测样本来导出残差样本。
129.编码装置可以对包括预测信息和残差信息的图像信息进行编码(s620)。编码装置可以以比特流的形式输出编码图像信息。这里,预测信息可以包括关于预测模式信息的信息(例如,跳过标志、合并标志或模式索引等)以及关于运动信息的信息,作为与预测过程相关的信息。关于运动信息的信息可以包括候选选择信息(例如,合并索引、mvp标志或mvp索引),其是用于导出运动矢量的信息。此外,关于运动信息的信息可以包括关于mvd的信息和/或参考图片索引信息。此外,关于运动信息的信息可以包括指示是应用l0预测、l1预测还是双预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
130.输出比特流可以被存储在(数字)存储介质中并且被传送到解码装置或经由网络
传送到解码装置。
131.同时,如上所述,编码装置可以基于参考样本和残差样本,生成重构图片(包括重构样本和重构块)。这是为了导出与由解码装置执行的预测结果相同的预测结果,因此,可以提高编译效率。因此,编码装置可以将重构图片(或重构样本或重构块)存储在存储器中,并且利用重构图片作为参考图片。如上所述,环内滤波过程可以进一步被应用于重构图片。
132.图7示出了本文档的实施例适用的示意性的基于帧间预测的视频/图像解码方法的示例。
133.图7中公开的方法可以由上述图3的解码装置300执行。具体地,s700可以由解码装置300的帧间预测器332执行。通过解码装置300的熵解码器310,执行s700中,对包括在比特流中的预测信息进行解码来导出相关语法元素的值的过程。s710和s720可以由解码装置300的帧间预测器332执行,s730可以由解码装置300的残差处理器320执行,以及s740可由解码装置300的加法器340执行。
134.参考图7,解码装置可以执行与由编码装置执行的操作相对应的操作。解码装置可以基于所接收的预测信息,对当前块执行预测并导出预测样本。
135.具体地,解码装置可以基于所接收的预测信息来确定当前块的预测模式(s700)。解码装置可以基于预测信息中的预测模式信息来确定将哪个帧间预测模式应用于当前块。
136.例如,可以基于合并标志,确定合并模式还是(a)mvp模式应用于当前块。可替选地,可以基于模式索引选择各种帧间预测模式候选中的一个。帧间预测模式候选可以包括跳过模式、合并模式和/或(a)mvp模式,或可以包括上文所述的各种帧间预测模式。
137.解码装置基于所确定的帧间预测模式导出当前块的运动信息(s710)。例如,当将跳过模式或合并模式应用于当前块时,解码装置可以配置合并候选列表并且在合并候选列表中包括的合并候选当中选择一个合并候选。在此,可以基于选择信息(合并索引)来执行选择。可以通过使用所选择的合并候选的运动信息来导出当前块的运动信息。所选择的合并候选的运动信息可以被用作当前块的运动信息。
138.作为另一示例,当将(a)mvp模式应用于当前块时,解码装置可以配置(a)mvp候选列表,并且将包括于(a)mvp候选列表中的运动矢量预测子(mvp)候选当中的所选择的mvp候选的运动矢量用作当前块的mvp。在此,可以基于选择信息(mvp标志或mvp索引)执行选择。在这种情况下,可以基于关于mvd的信息导出当前块的mvd,并且可以基于当前块的mvp及mvd导出当前块的运动矢量。此外,可以基于参考图片索引信息导出当前块的参考图片索引。可以将由当前块的参考图片列表中的参考图片索引指示的图片导出为当前块的帧间预测所参考的参考图片。
139.同时,可以在没有候选列表配置的情况下导出当前块的运动信息,在这种情况下,可以根据预测模式中所公开的过程,导出当前块的运动信息。在这种情况下,可以省略候选列表配置。
140.解码装置可以基于当前块的运动信息,生成当前块的预测样本(s720)。在这种情况下,可以基于当前块的参考图片索引导出参考图片,并且可以通过使用参考图片上的由当前块的运动矢量所指示的参考块的样本,导出当前块的预测样本。在这种情况下,在一些情况下,可以进一步执行用于当前块的所有或一些预测样本的预测样本滤波过程。
141.例如,解码装置的帧间预测单元可以包括预测模式确定单元、运动信息导出单元
和预测样本导出单元,并且预测模式确定单元可以基于所接收的预测模式信息,确定当前块的预测模式,运动信息导出单元可以基于关于所接收的运动信息的信息,导出当前块的运动信息(运动矢量和/或参考图片索引),以及预测样本导出单元可以导出当前块的预测样本。
142.解码装置基于所接收的残差信息,生成当前块的残差样本(s730)。解码装置可以基于预测样本和残差样本,生成当前块的重构样本,并且基于所生成的重构样本,生成重构图片(s740)。此后,如上所述,环内滤波过程可以进一步应用于重构图片。
143.图8示例性地示出帧间预测过程。图8中公开的帧间预测过程可以被应用于上述图6和图7中图示的帧间预测过程(当应用帧间预测模式时)。
144.参考图8,如上所述,帧间预测过程可以包括帧间预测模式确定步骤、根据确定的预测模式的运动信息导出步骤、以及基于导出的运动信息的预测处理(预测样本生成)步骤。如上所述,可以由编码装置和解码装置执行帧间预测过程。在本文档中,编译设备可以包括编码装置和/或解码装置。
145.编译装置可以确定用于当前块的帧间预测模式(s800)。可以使用各种帧间预测模式来预测图片中的当前块。例如,诸如合并模式、跳过模式、运动矢量预测(mvp)模式、仿射模式、子块合并模式、与mvd合并(mmvd)模式和历史运动矢量预测(hmvp)模式的各种模式可以被使用。解码器侧运动矢量细化(dmvr)模式、自适应运动矢量分辨率(amvr)模式、具有cu级权重的双预测(bcw)、双向光流(bdof)等可以进一步被用作附加模式。仿射模式也可以被称为仿射运动预测模式。mvp模式也可以被称为高级运动矢量预测(amvp)模式。在本文档中,一些模式和/或由一些模式导出的运动信息候选也可以被包括在其他模式中的运动信息相关候选之一中。例如,可以将hmvp候选添加到合并/跳过模式的合并候选中,或者也可以添加到mvp模式的mvp候选中。如果hmvp候选被用作合并模式或跳过模式的运动信息候选,则hmvp候选可以被称为hmvp合并候选。
146.指示当前块的帧间预测模式的预测模式信息可以从编码装置用信号发送到解码装置。在这种情况下,预测模式信息可以被包括在比特流中并且由解码装置接收。预测模式信息可以包括指示多个候选模式之一的索引信息。可替选地,可以通过标志信息的分层信令来指示帧间预测模式。在这种情况下,预测模式信息可以包括一个或多个标志。例如,可以通过用信号发送跳过标志来指示是否应用跳过模式,可以在不应用跳过模式时通过用信号发送合并标志来指示是否应用合并模式,以及指示应用mvp模式或者当不应用合并模式时可以进一步用信号发送用于附加区分的标志。仿射模式可以作为独立模式被用信号发送或作为关于合并模式或mvp模式的从属模式被用信号发送。例如,仿射模式可以包括仿射合并模式和仿射mvp模式。
147.编译装置可以导出用于当前块的运动信息(s810)。可以基于帧间预测模式来导出运动信息导出。
148.编译装置可以使用当前块的运动信息来执行帧间预测。编码装置可以通过运动估计过程来导出用于当前块的最佳运动信息。例如,编码装置可以通过使用用于当前块的原始图片中的原始块在参考图片中的预定搜索范围内以分数像素为单位来搜索具有高相关性的相似参考块,并通过搜索到的参考块来导出运动信息。可以根据基于相位的样本值的差来导出块的相似性。例如,可以基于当前块(或当前块的模板)与参考块(或参考块的模
板)之间的绝对差之和(sad)来计算块的相似度。在这种情况下,可以基于搜索区域中具有最小sad的参考块来导出运动信息。可以基于帧间预测模式根据各种方法将导出的运动信息用信号发送给解码装置。
149.编译装置可以基于用于当前块的运动信息来执行帧间预测(s820)。编译装置可以基于运动信息来导出用于当前块的(一个或多个)预测样本。包括预测样本的当前块可以被称为预测块。
150.同时,在导出当前块的运动信息时,可以基于(一个或多个)空间邻近块和(一个或多个)时间邻近块导出(一个或多个)运动信息候选,并且可以基于所导出的(一个或多个)运动信息候选,选择用于当前块的运动信息候选。此时,所选择的运动信息候选可以被用作当前块的运动信息。
151.图9示例性地图示了当前块的空间邻近块和时间邻近块。
152.参考图9,空间邻近块是指位于当前块900(其为当前执行帧间预测的目标)周围的邻近块,并且可以包括位于当前块900的左侧周围的邻近块或位于当前块900的上方周围的邻近块。例如,空间邻近块可以包括当前块900的左下角邻近块、左邻近块、右上角邻近块、上邻近块和左上角邻近块。图9将空间邻近块图示为“s”。
153.根据示例性实施例,编码装置/解码装置可以通过根据预定次序,搜索当前块的空间邻近块(例如,左下角邻近块、左邻近块、右上角邻近块、上邻近块和左上角邻近块)来检测可用邻近块,并且将所检测的邻近块的运动信息导出为空间运动信息候选。
154.时间邻近块是位于不同于包括当前块900的当前图片的图片(即,参考图片)上的块,并且是指参考图片中的当前块900的并置块。在此,参考图片在图片次序计数(poc)上可以在当前图片之前或之后。此外,用于导出时间邻近块的参考图片可以被称为并置参考图片或col图片(并置图片)。此外,并置块可以是指位于col图片中与当前块900的位置相对应的位置处的块,并且被称为col块。例如,如图9所示,时间邻近块可以包括在参考图片(即,col图片)中对应于当前块900的右下角样本的位置定位的col块(即,包括右下角样本的col块)和/或在参考图片(即,col图片)中对应于当前块900的右下中心样本的位置定位的col块(即,包括右下中心样本的col块)。图9将时间邻近块图示为“t”。
155.根据示例性实施例,编码装置/解码装置可以通过根据预定次序,搜索当前块的时间邻近块(例如,包括右下角样本的col块和包括右下中心样本的col块)来检测可用块,并且将所检测的块的运动信息导出为时间运动信息候选。如上所述,使用时间邻近块的技术可以被称为时间运动矢量预测(tmvp)。此外,时间运动信息候选可以被称为tmvp候选。
156.同时,还可以通过根据帧间预测模式,以子块为单位导出运动信息来执行预测。例如,在仿射模式或tmvp模式中,可以子块为单位导出运动信息。具体地,用于以子块为单位导出时间运动信息候选的方法可以被称为基于子块的时间运动矢量预测(sbtmvp)候选。
157.sbtmvp是使用col图片内的运动场以便改进当前图片内的编译单元的运动矢量预测(mvp)和合并模式的方法。sbtmvp的col图片可以与由tmvp所使用的col图片相同。然而,在tmvp中,以编译单元(cu)级别执行运动预测。相反,在sbtmvp中,可以以子块级别或子编译单元(子cu)级别执行运动预测。此外,在tmvp中,从col图片内的col块导出时间运动信息(在这种情况下,col块是对应于当前块的右下角样本位置或当前块的中心右下样本位置的col块)。在sbtmvp中,在从col图片应用运动移位之后,导出时间运动信息。在这种情况下,
运动移位可以包括从当前块的空间邻近块中的一个获得运动矢量并按该运动矢量移位的过程。
158.图10示例性地图示了可以用于导出基于子块的时间运动信息候选(sbtmvp候选)的空间邻近块。
159.参考图10,空间邻近块可以包括当前块的左下角邻近块a0、左邻近块a1、右上角邻近块b0和上邻近块b1中的至少一个。在一些情况下,空间邻近块可以进一步包括除了图10所示的邻近块之外的另一邻近块,或者可以不包括图10所示的邻近块中的特定邻近块。此外,空间邻近块可以仅包括特定邻近块,例如,可以仅包括当前块的左邻近块a1。
160.例如,编码装置/解码装置可以在以预定搜索次序搜索空间邻近块的同时,首先检测可用空间邻近块的运动矢量,并且可以将参考图片中,由空间邻近块的运动矢量指示的位置处的块确定为col块(即,并置参考块)。在这种情况下,空间邻近块的运动矢量可以被表示为时间运动矢量(时间mv)。
161.在这种情况下,可以通过空间邻近块的参考图片信息、预测模式信息、位置信息等来确定空间邻近块是否可用。例如,如果空间邻近块的参考图片和当前块的参考图片相同,则可以确定对应的空间邻近块可用。可替代地,如果以帧内预测模式编译空间邻近块或者空间邻近块位于当前图片/图块之外,则可以确定对应的空间邻近块不可用。
162.此外,可以不同地定义空间邻近块的搜索次序,并且可以以例如a1、b1、b0和a0的顺序。可替代地,可以通过仅搜索a1来确定a1是否可用。
163.图11是用于示意性地描述导出基于子块的时间运动信息候选(sbtmvp候选)的过程的图。
164.参考图11,首先,编码/解码装置可以确定当前块的空间邻近块(例如,a1块)是否可用。例如,如果空间邻近块(例如,a1块)的参考图片使用col图片,则可以确定空间邻近块(例如,a1块)可用,并且可以导出空间邻近块(例如,a1块)的运动矢量。在这种情况下,空间邻近块(例如,a1块)的运动矢量可以被表示为时间mv(tempmv),并且运动矢量可用在运动移位中。可替代地,如果确定空间邻近块(例如,a1块)不可用,则可以将时间mv(即,空间邻近块的运动矢量)设置为零矢量。换句话说,在这种情况下,可以将设定为(0,0)的运动矢量应用于运动移位。
165.接下来,编码/解码装置可以基于空间邻近块(例如,a1块)的运动矢量来应用运动移位。例如,运动移位可以被移位(例如,a1')到由空间邻近块(例如,a1块)的运动矢量指示的位置。也就是说,通过应用运动移位,可以使空间邻近块(例如,a1块)的运动矢量与当前块的坐标相加。
166.接下来,编码/解码装置可以导出col图片上的运动移位的并置子块(col子块),并且可以获得每个col子块的运动信息(运动矢量、参考索引等)。例如,编码/解码装置可以导出与当前块内的每个子块位置处的运动移位位置(即,由空间邻近块(例如,a1)的运动矢量指示的位置)相对应的col图片上的每个col子块。此外,每个col子块的运动信息可以被用作当前块的每一子块的运动信息(即,sbtmvp候选)。
167.此外,缩放可以被应用于col子块的运动矢量。可以基于col块的参考图片与当前块的参考图片之间的时间距离差来执行缩放。因此,缩放可以被表示为时间运动缩放,因此可以布置当前块的参考图片及时间运动矢量的参考图片。在这种情况下,编码/解码装置可
以将col子块的缩放运动矢量获得为当前块的每个子块的运动信息。
168.此外,在导出sbtmvp候选时,运动信息可以不存在于col子块中。在这种情况下,对于不存在运动信息的col子块,可以导出基本运动信息(或默认运动信息)。基本运动信息可以被用作用于当前块的子块的运动信息。可以从位于col块(即,包括col子块的col cu)的中心处的块导出基本运动信息。例如,可以从包括位于col块的中心处的四个样本当中的位于右下的样本的块导出运动信息(例如,运动矢量),并且可以被用作基本运动信息。
169.如上所述,在以子块单位导出运动信息的仿射模式或sbtmvp模式的情况下,可以导出仿射合并候选和sbtmvp候选,并且可以基于这些候选配置基于子块的合并候选列表。在这种情况下,可以用信号发送指示仿射模式或sbtmvp模式是启用还是停用的标志信息。如果基于标志信息,sbtmvp模式被启用,则可以将如上所述导出的sbtmvp候选添加到基于子块的合并候选列表的第一排序。此外,仿射合并候选可以被添加到基于子块的合并候选列表的下一条目。在这种情况下,基于子块的合并候选列表的候选的最大数量可以是5。
170.此外,在sbtmvp模式的情况下,子块大小可以是固定的,并且可以被固定为例如8
×
8大小。此外,sbtmvp模式可以仅应用于具有等于或大于8的宽度和高度两者的块。
171.同时,在当前vvc标准中,如表1中,可以导出基于子块的时间运动信息候选(sbtmvp候选)。
172.[表1]
[0173]
[0174]
[0175]
[0176][0177]
在根据表1中所图示的方法导出sbtmvp候选时,可以考虑默认mv和子块mv。在这种情况下,默认mv可以被称为基于子块的时间合并基本运动数据或基本运动矢量(基本运动信息)。参考表1,默认mv可以对应于表1中的ctrmv(或ctrmvlx)。子块mv可以对应于表1中的mvsbcol(或mvlxsbcol)。
[0178]
例如,如果根据sbtmvp导出过程子块或子块mv可用,则可以将子块mv指配给对应子块,或如果子块或子块mv不可用,则默认mv可以被用作关于对应子块的对应子块mv。在这种情况下,默认mv可以从对应于col图片上的对应块(即,col cu)的中心像素位置的位置,导出运动信息,并且每一子块mv可以从col图片上的对应子块(即,col子块)的左上位置导出运动信息。在这种情况下,可以基于空间邻近块a1的运动矢量(即,时间mv)从运动移位位置导出对应块(即,col cu),如上在图11中所述。
[0179]
图12至图15是用于示意性地描述在sbtmvp导出过程中,计算用于基于块大小导出默认mv和子块mv的对应位置的方法的图。
[0180]
图12至图15中由虚线划出的像素(样本)指示用于导出每一子块mv的每一子块的对应位置,且由实线划出的像素(样本)图示用于导出默认mv的cu的对应位置。
[0181]
例如,参考图12,如果当前块(即,当前cu)具有8
×
8大小,则可以基于具有8
×
8大小的子块内的左上样本位置导出子块的运动信息,并且可以基于具有8
×
8大小的当前块(即,当前cu)内的中心样本位置导出子块的默认运动信息。
[0182]
可替代地,例如,参考图13,如果当前块(即,当前cu)具有16
×
8大小,则可以基于具有8
×
8大小的每一子块内的左上样本位置导出每一子块的运动信息,并且可以基于具有16
×
8大小的当前块(即,当前cu)内的中心样本位置导出每一子块的默认运动信息。
[0183]
可替代地,例如,参考图14,如果当前块(即,当前cu)具有8
×
16大小,则可以基于具有8
×
8大小的每一子块内的左上样本位置导出每一子块的运动信息,并且可以基于具有8×
16大小的当前块(即,当前cu)内的中心样本位置导出每一子块的默认运动信息。
[0184]
可替代地,例如,参考图15,如果当前块(即,当前cu)具有16
×
16大小,则可以基于具有8
×
8大小的每一子块内的左上样本位置导出每一子块的运动信息,并且可以基于具有16
×
16大小的当前块(即,当前cu)内的中心样本位置导出每一子块的默认运动信息。
[0185]
从图12至图15可以以看出,由于子块的运动信息倾向于左上像素位置,因此存在以下问题:在远离指示当前cu的代表性运动信息的默认mv被导出的位置的位置处导出子块mv。作为示例,在图12中所示的8
×
8块的情况下,一个cu包括一个子块,但存在子块mv及默认mv被表示为不同运动信息的矛盾。此外,由于计算子块和当前cu块的对应位置的方法不同(即,用于导出子块的mv的对应位置是左上样本位置,而用于导出默认mv的对应位置是中心样本位置),因此在硬件(h/w)实现时可能需要附加模块。
[0186]
因此,为了改善问题,本文档提出一种用于在导出sbtmvp候选的过程中,统一导出用于默认mv的cu的对应位置的方法和导出用于每一子块mv的子块的对应位置的方法的方案。根据本文档的实施例,存在统一效果,即,从硬件(h/w)的观点来看,可以使用用于基于块大小导出每个对应位置的仅一个模块。例如,由于如果块大小是16
×
16块,计算对应位置的方法以及如果块大小是8
×
8块,计算对应位置的方法可以相同地实现,所以从硬件实现方面存在简化效果。在这种情况下,16
×
16块可以表示cu,而8
×
8块可以表示每一子块。
[0187]
作为实施例,在导出sbtmvp候选时,中心样本位置可以被用作用于导出子块的运动信息的对应位置和用于导出默认运动信息的对应位置,并且可以如下表2中实现。
[0188]
下表2是图示根据本文档的实施例的导出子块的运动信息和默认运动信息的方法的示例的说明。
[0189]
[表2]
[0190]
[0191]
[0192]
[0193][0194]
参考表2,在导出sbtmvp候选时,可以导出包括子块的当前块(即,当前cu)的位置。包括当前块的编译树块(或编译树单元)的左上样本位置(xctb,yctb)和当前块的右下中心样本位置(xctr,yctr)可以如表2中的等式(8-514)~(8-517)中导出。在这种情况下,可以
基于当前块相对于当前图片的左上样本的左上样本位置(xcb,ycb)来计算位置(xctb,yctb)和(xctr,yctr)。
[0195]
此外,可以导出对应于包括子块的当前块(即,当前cu)定位的col图片上的col块(即,col cu)。在这种情况下,可以将col块的位置设置为(xcolctrcb,ycolctrcb)。位置可以表示col块的位置,该位置包括col图片内相对于col图片的左上样本的位置(xctr,yctr)。
[0196]
此外,可以导出用于sbtmvp的基本运动数据(即,默认运动信息)。基本运动数据可以包括默认mv(例如,ctrmvlx)。例如,可以导出col图片上的col块。在这种情况下,col块的位置可以被导出为(xcolcb,ycolcb)。该位置可以是运动移位(例如,tempmv)已经应用于所导出的col块位置(xcolctrcb,ycolctrcb)的位置。如上所述,可以通过将从当前块的空间邻近块(例如,a1块)导出的运动矢量(例如,tempmv)添加到当前col块位置(xcolctrcb,ycolctrcb)来执行运动移位。接下来,可以基于运动移位的col块的位置(xcolcb,ycolcb)导出默认mv(例如,ctrmvlx)。在这种情况下,默认mv(例如,ctrmvlx)可以表示从对应于col块的右下中心样本的位置导出的运动矢量。
[0197]
此外,可以导出对应于当前块中的子块(表示为当前子块)的col图片上的col子块。首先,可以导出每个当前子块的位置。子块中的每个的位置可以被表示为(xsb,ysb)。位置(xsb,ysb)可以表示基于当前图片的左上样本的当前子块的位置。例如,可以如在表2的等式(8-523)~(8-524)中,计算当前子块的位置(xsb,ysb),其可以表示子块的右下中心样本位置。接下来,可以导出col图片上的col子块中的每个col子块的位置。可以将每个col子块的位置表示为(xcolsb,ycolsb)。位置(xcolsb,ycolsb)可以是将运动移位(例如,tempmv)应用于当前子块的位置(xsb,ysb)的位置。如上所述,可以通过将从当前块的空间邻近块(例如,a1块)导出的运动矢量(例如,tempmv)添加到当前子块的位置(xsb,ysb)来执行运动移位。接下来,可以基于运动移位的col子块中的每个的位置(xcolsb,ycolsb)导出col子块的运动信息(例如,运动矢量mvlxsbcol、指示可用性的标志availableflaglxsbcol)。
[0198]
在这种情况下,如果col子块当中不可用的col子块(例如,当availableflaglxsbcol为0时),则基本运动数据(即,默认运动信息)可以被用于不可用col子块。例如,默认mv(例如ctrmvlx)可以被用作用于不可用col子块的运动矢量(例如mvlxsbcol)。
[0199]
图16至图19是用于示意性地描述统一用于在sbtmvp导出过程中,基于块大小导出默认mv和子块mv的对应位置的方法的示例图。
[0200]
图16至图19中用虚线划出的像素(样本)指示每一子块内用于导出每一子块mv的对应位置,以及由实线划出的像素(样本)图示cu用于导出默认mv的对应位置。
[0201]
例如,参考图16,如果当前块(即,当前cu)具有8
×
8大小,则可以基于具有8
×
8大小的子块内的右下中心样本位置,从col图片上的对应位置的col子块导出运动信息,并且可以被用作当前子块的运动信息。运动信息可以基于具有8
×
8大小的当前块(即,当前cu)内的右下中心样本位置,从col图片上的对应位置的col块(即,col cu)导出,并且可以被用作当前子块的默认运动信息。在这种情况下,如图16所示,可以从同一样本位置(同一对应位置)导出当前子块的运动信息和默认运动信息。
[0202]
可替代地,例如,参考图17,如果当前块(即,当前cu)具有16
×
8大小,则运动信息可以基于具有8
×
8大小的子块内的右下中心样本位置,从col图片上的对应位置的col子块导出,并且可以被用作当前子块的运动信息。运动信息可以基于具有16
×
8大小的当前块(即,当前cu)内的右下中心样本位置,从col图片上的对应位置的col块(即,col cu)导出,并且可以被用作当前子块的默认运动信息。
[0203]
可替代地,例如,参考图18,如果当前块(即,当前cu)具有8
×
16大小,则运动信息可以基于具有8
×
8大小的子块内的右下中心样本位置,从col图片上的对应位置的col子块导出,并且可以被用作当前子块的运动信息。运动信息可以基于具有8
×
16大小的当前块(即,当前cu)内的右下中心样本位置,从col图片上的对应位置的col块(即,col cu)导出,并且可以被用作当前子块的默认运动信息。
[0204]
可替代地,例如,参考图19,如果当前块(即,当前cu)具有等于或大于16
×
16大小的大小,则运动信息可以基于具有8
×
8大小的子块内的右下中心样本位置,从col图片上的对应位置的col子块导出,并且可以被用作当前子块的运动信息。运动信息可以基于具有16
×
16大小(或16
×
16大小或更大大小)的当前块(即,当前cu)内的右下中心样本位置,从col图片上的对应位置的col块(即,col cu)导出,并且可以被用作当前子块的默认运动信息。
[0205]
然而,本文档的前述实施例仅为示例,并且可以基于除中心位置之外的另一样本位置(即,右下样本位置)导出默认运动信息及当前子块的运动信息。例如,可以基于当前cu的左上样本位置导出默认运动信息,以及可以基于子块的左上样本位置导出当前子块的运动信息。
[0206]
如果本文档的实施例被实现为硬件,则可以配置诸如图20和图21的流水线,因为可以使用同一h/w模块导出运动信息(时间运动)。
[0207]
图20和图21是示意性地图示流水线的配置的示例图,通过该流水线,可以在sbtmvp导出过程中统一并计算用于导出默认mv和子块mv的对应位置。
[0208]
参考图20和图21,对应位置计算模块可以计算用于导出默认mv和子块mv的对应位置。例如,如图20和图21所示,当块的位置(posx,posy)和块大小(blkszx,blkszy)被输入到对应位置计算模块时,输入块的中心位置(即,右下样本位置)可以被输出。在当前cu的位置和块大小被输入到对应位置计算模块时,可以输出col图片上的col块的中心位置(即,右下样本位置),即,用于导出默认mv的对应位置。可替代地,在当前子块的位置和块大小被输入到对应位置计算模块时,可以输出col图片上的col子块的相应位置(即,右下样本位置),也就是说,用于导出当前子块mv的对应位置。
[0209]
如上所述,当从对应位置计算模块输出用于导出默认mv和子块mv的对应位置时,可以修补(patch)从对应位置导出的运动矢量(即,时间mv)。此外,可以基于所修补的运动矢量(即,时间mv)导出基于子块的时间运动信息(即,sbtmvp候选)。例如,如在图20和21中,取决于h/w实施方式,可以基于时钟周期并行地导出sbtmvp候选,或可以顺序地导出sbtmvp候选。
[0210]
撰写以下附图以便描述本文档的详细示例。在附图中撰写的详细装置的名称或详细术语或名称(例如,语法的名称/语法名称)是示例性的,因此本文档的技术特征不限于在以下附图中使用的详细名称。
[0211]
图22示意性地图示了根据本文档的实施例的视频/图像编码方法的示例。
[0212]
图22中公开的方法可以由图2中公开的编码装置200执行。具体地,图22中的步骤s2200至s2230可以由图2中公开的预测器220(更具体地,帧间预测器221)执行。图22中的步骤s2240可以由图2中公开的残差处理器230执行。图22中的步骤s2250可以由图2中公开的熵编码器240执行。此外,可以执行图22中公开的方法,包括本文档的实施例。因此,在图22中,将省略或简单地给出与上述实施例冗余的详细描述。
[0213]
参考图22,编码装置可以导出用于当前块中的子块的并置参考图片内部的参考子块(s2200)。
[0214]
在这种情况下,如上所述,并置参考图片是指用于导出时间运动信息(即,sbtmvp)的参考图片,并且可以表示上述col图片。参考子块可以表示前述col子块。
[0215]
作为实施例,编码装置可以基于当前块中的子块的位置,导出并置参考图片内部的参考子块。在这种情况下,当前块可以被表示为当前编译单元(cu)或当前编译块(cb)。包括在当前块中的子块也可以被表示为当前编译子块。
[0216]
例如,编码装置可以首先指定当前块的位置,然后指定当前块中的子块的位置。如参考表2所述,可以基于编译树块的左上样本位置(xctb,yctb)和当前块的右下中心样本位置(xctr,yctr)来表示当前块的位置。当前块中的子块的位置的每一个可以被表示为(xsb,ysb)。位置(xsb,ysb)可以表示子块的右下中心样本位置。在这种情况下,可以基于子块的左上样本位置和子块大小来计算子块的右下中心样本位置(xsb,ysb),并且可以类似于表2中的等式(8-523)~(8-524)来计算。
[0217]
此外,编码装置可以基于当前块中的每个子块的右下中心样本位置,导出并置参考图片内部的参考子块。如参考表2所述,参考子块可以被表示为并置参考图片内部的位置(xcolsb,ycolsb)。可以基于当前块中的子块中的每一个的右下中心样本位置(xsb,ysb),从并置参考图片导出位置(xcolsb,ycolsb)。
[0218]
同时,本文档中使用的左上(top-left)样本位置也可以被表示为左上(upper-left)样本位置、左上(left-above)样本位置等。右下中心(below-right center)样本位置也可以被表示为右下中心(bottom-right center)样本位置、中心右下(center below-right)样本位置、右下中心(lower-right center)样本位置、中心右下(center bottom-right)样本位置等。
[0219]
此外,在导出参考子块时,可以应用运动移位。编码装置可以基于从当前块的空间邻近块导出的运动矢量来执行运动移位。当前块的空间邻近块可以是位于当前块的左侧的左邻近块,并且可以表示例如图10和图11所示的a1块。在这种情况下,如果左邻近块(例如,a1块)可用,则可以从左邻近块导出运动矢量,或如果左邻近块不可用,则可以导出零矢量。在这种情况下,可以基于空间邻近块的参考图片信息、预测模式信息、位置信息等来确定空间邻近块是否可用。例如,如果空间邻近块的参考图片和当前块的参考图片相同,则可以将对应的空间邻近块确定为可用。可替代地,如果空间邻近块以帧内预测模式编译或者空间邻近块位于当前图片/图块外部,则可以将对应的空间邻近块确定为不可用。
[0220]
也就是说,编码装置可以将运动移位(即,空间邻近块(例如,a1块)的运动矢量)应用于当前块中的每个子块的右下中心样本位置(xsb,ysb),并且可以基于运动移位位置导出并置参考图片内的参考子块。在这种情况下,参考子块的位置(xcolsb,ycolsb)可以被表示为从当前块中的每个子块的右下中心样本位置(xsb,ysb)运动移位到由空间邻近块(例
如,a1块)的运动矢量指示的位置的位置,并且可以类似于表2中的等式(8-525)~(8-526)来计算。
[0221]
编码装置可以基于参考子块导出基于子块的时间运动信息候选(s2210)。
[0222]
同时,在本文档中,基于子块的时间运动信息候选表示前述基于子块的时间运动矢量预测(sbtmvp)候选,并且由基于子块的时间运动矢量预测子候选替代或可互换地使用。即,如上所述,如果通过以子块单位导出运动信息来执行预测,则可以导出sbtmvp候选。可以基于sbtmvp候选,在子块级别(或子编译单元(子cu)级别)中执行运动预测。
[0223]
编码装置可以以基于子块的时间运动信息候选为基础,导出用于当前块中的子块的运动信息(s2220)。
[0224]
基于子块的时间运动信息候选可以包括子块单元运动矢量。在这种情况下,子块单元运动矢量可以包括基于参考子块导出的运动矢量。
[0225]
作为实施例,编码装置可以将用于参考子块的子块单元运动矢量导出为当前块中的子块的运动信息。例如,编码装置可以基于参考子块是否可用来导出子块单元运动矢量。关于参考子块当中的可用参考子块,编码装置可以基于可用参考子块的运动矢量导出可用参考子块的子块单元运动矢量。关于参考子块当中的不可用参考子块,编码装置可以将基本运动矢量用作用于不可用参考子块的子块单元运动矢量。
[0226]
基本运动矢量可以对应于前述默认运动矢量,并且可以基于当前块的位置从并置参考图片导出。
[0227]
作为实施例,编码装置可以基于当前块的右下中心样本位置,指定并置参考图片内部的参考编译块的位置,并且可以基于参考编译块的位置导出基本运动矢量。参考编译块可以表示位于与包括子块的当前块相对应的并置参考图片内部的col块。如参考表2所述,参考编译块的位置可以被表示为(xcolctrcb,ycolctrcb),并且位置(xcolctrcb,ycolctrcb)可以表示基于并置参考图片的左上样本覆盖并置参考图片内的位置(xctr,yctr)的参考编译块的位置。位置(xctr,yctr)可以表示当前块的右下中心样本位置。
[0228]
此外,在导出基本运动矢量时,可以将运动移位应用于参考编译块的位置(xcolctrcb,ycolctrcb)。如上所述,可以通过将从当前块的空间邻近块(例如,a1块)导出的运动矢量添加到覆盖右下中心样本的参考编译块位置(xcolctrcb,ycolctrcb)来执行运动移位。编码装置可以基于参考编译块的运动移位位置(xcolcb,ycolcb)导出基本运动矢量。即,基本运动矢量可以是基于当前块的右下中心样本位置,从并置参考图片内部的运动移位位置导出的运动矢量。
[0229]
同时,可以基于参考子块是否位于并置参考图片之外或运动矢量来确定参考子块是否可用。例如,不可用参考子块可以包括从并置参考图片的外部脱离出来的参考子块或其运动矢量不可用的参考子块。例如,如果参考子块是基于帧内模式、帧内块复制(ibc)模式或调色板模式的,则参考子块可以是其运动矢量不可用的子块。可替代地,如果覆盖基于参考子块的位置导出的修改位置的参考编译块是基于帧内模式、ibc模式或调色板模式的,则参考子块可以是其运动矢量不可用的子块。
[0230]
在这种情况下,作为实施例,可以基于覆盖基于参考子块的左上样本位置导出的修改位置的块的运动矢量来导出可用参考子块的运动矢量。例如,如表2所示,可以基于诸如((xcolsb》》3)《《3,(ycolsb》》3)《《3)的等式,导出修改位置。在这种情况下,xcolsb和
ycolsb可以分别指示参考子块的左上样本位置的x坐标和y坐标,》》可以指示算术右移,而《《可以指示算术左移。
[0231]
同时,如上所述,在导出基于子块的时间运动信息候选时,可以看出,基于当前块中的子块的位置导出参考子块的运动矢量,并且基于当前块的位置导出基本运动矢量。例如,如参考图16至图19所述,关于具有8
×
8大小的当前块,可以基于当前块的右下中心样本位置导出参考子块的运动矢量和基本运动矢量。关于大小大于8
×
8大小的当前块,可以基于当前块中的每个子块的右下中心样本位置来导出参考子块的运动矢量,并且可以基于当前块的右下中心样本位置来导出基本运动矢量。
[0232]
编码装置可以基于当前块中的子块的运动信息来生成当前块的预测样本(s2230)。
[0233]
编码装置可以基于速率失真(rd)成本来选择最佳运动信息,并且可以基于最佳运动信息来生成预测样本。例如,如果相对于当前块以子块单位导出的运动信息(即,sbtmvp)被选择为最佳运动信息,则编码装置可以基于用于如上所述导出的当前块的子块的运动信息来生成当前块的预测样本。
[0234]
编码装置可以基于预测样本导出残差样本(s2240),并且可以对包括关于残差样本的信息的图像信息进行编码(s2250)。
[0235]
也就是说,编码装置可以基于当前块的初始样本和当前块的预测样本来导出残差样本。此外,编码装置可以生成关于残差样本的信息。在这种情况下,关于残差样本的信息可以包括诸如通过对残差样本执行变换和量化而导出的量化变换系数的值信息、位置信息、变换方案、变换核和量化参数的信息。
[0236]
编码装置可以对关于残差样本的信息进行编码,可以将该信息输出为比特流,并且可以通过网络或通过存储介质将比特流发送到解码装置。
[0237]
图23示意性地示出了根据本文档的实施例的视频/图像解码方法的示例。
[0238]
图23中公开的方法可以由图3中公开的解码装置300执行。具体地,图23中的步骤s2300至s2330可以由图3中公开的预测器330(更具体地,帧间预测器332)执行。图23中的步骤s2340可以由图3中公开的加法器340执行。此外,可以执行图23中公开的方法,包括本文档中描述的实施例。因此,省略或简单地给出与参考图23描述的实施例的内容冗余的内容的详细描述。
[0239]
参考图23,解码装置可以导出用于当前块中的子块的并置参考图片内部的参考子块(s2300)。
[0240]
在这种情况下,如上所述,并置参考图片是指用于导出时间运动信息(即,sbtmvp)的参考图片,并且可以表示前述col图片。参考子块可以表示前述col子块。
[0241]
作为实施例,解码装置可以基于当前块中的子块的位置来导出并置参考图片内部的参考子块。在这种情况下,当前块可以被表示为当前编译单元(cu)或当前编译块(cb)。包括在当前块中的子块也可以被表示为当前编译子块。
[0242]
例如,解码装置可以首先指定当前块的位置,然后指定当前块中的子块的位置。如参考表2所述,可以基于编译树块的左上样本位置(xctb,yctb)和当前块的右下中心样本位置(xctr,yctr)来表示当前块的位置。当前块中的子块的位置的每一个可以被表示为(xsb,ysb)。位置(xsb,ysb)可以表示子块的右下中心样本位置。在这种情况下,可以基于子块的
左上样本位置和子块大小来计算子块的右下中心样本位置(xsb,ysb),并且可以类似于表2中的等式(8-523)~(8-524)来计算。
[0243]
此外,解码装置可以基于当前块中的每个子块的右下中心样本位置,导出并置参考图片内部的参考子块。如参考表2所述,参考子块可以被表示为并置参考图片内部的位置(xcolsb,ycolsb)。可以基于当前块中的子块中的每一个的右下中心样本位置(xsb,ysb),从并置参考图片导出位置(xcolsb,ycolsb)。
[0244]
同时,本文档中使用的左上(top-left)样本位置也可以被表示为左上(upper-left)样本位置、左上(left-above)样本位置等。右下中心(below-right center)样本位置也可以被表示为右下中心(bottom-right center)样本位置、中心右下(center below-right)样本位置、右下中心(lower-right center)样本位置、中心右下(center bottom-right)样本位置等。
[0245]
此外,在导出参考子块时,可以应用运动移位。解码装置可以基于从当前块的空间邻近块导出的运动矢量来执行运动移位。当前块的空间邻近块可以是位于当前块的左侧的左邻近块,并且可以表示例如图10和图11所示的a1块。在这种情况下,如果左邻近块(例如,a1块)可用,则可以从左邻近块导出运动矢量,或如果左邻近块不可用,则可以导出零矢量。在这种情况下,可以基于空间邻近块的参考图片信息、预测模式信息、位置信息等来确定空间邻近块是否可用。例如,如果空间邻近块的参考图片和当前块的参考图片相同,则可以将对应的空间邻近块确定为可用。可替代地,如果空间邻近块以帧内预测模式编译或者空间邻近块位于当前图片/图块外部,则可以将对应的空间邻近块确定为不可用。
[0246]
也就是说,解码装置可以将运动移位(即,空间邻近块(例如,a1块)的运动矢量)应用于当前块中的每个子块的右下中心样本位置(xsb,ysb),并且可以基于运动移位位置导出并置参考图片内的参考子块。在这种情况下,参考子块的位置(xcolsb,ycolsb)可以被表示为从当前块中的每个子块的右下中心样本位置(xsb,ysb)运动移位到由空间邻近块(例如,a1块)的运动矢量指示的位置的位置,并且可以类似于表2中的等式(8-525)~(8-526)来计算。
[0247]
解码装置可以基于参考子块导出基于子块的时间运动信息候选(s2310)。
[0248]
同时,在本文档中,基于子块的时间运动信息候选表示前述基于子块的时间运动矢量预测(sbtmvp)候选,并且由基于子块的时间运动矢量预测子候选替代或可互换地使用。即,如上所述,如果通过以子块单位导出运动信息来执行预测,则可以导出sbtmvp候选。可以基于sbtmvp候选,在子块级别(或子编译单元(子cu)级别)中执行运动预测。
[0249]
解码装置可以以基于子块的时间运动信息候选为基础,导出用于当前块中的子块的运动信息(s2320)。
[0250]
基于子块的时间运动信息候选可以包括子块单元运动矢量。在这种情况下,子块单元运动矢量可以包括基于参考子块导出的运动矢量。
[0251]
作为实施例,解码装置可以将用于参考子块的子块单元运动矢量导出为当前块中的子块的运动信息。例如,解码装置可以基于参考子块是否可用来导出子块单元运动矢量。关于参考子块当中的可用参考子块,解码装置可以基于可用参考子块的运动矢量导出可用参考子块的子块单元运动矢量。关于参考子块当中的不可用参考子块,解码装置可以将基本运动矢量用作用于不可用参考子块的子块单元运动矢量。
[0252]
基本运动矢量可以对应于前述默认运动矢量,并且可以基于当前块的位置从并置参考图片导出。
[0253]
作为实施例,解码装置可以基于当前块的右下中心样本位置,指定并置参考图片内部的参考编译块的位置,并且可以基于参考编译块的位置导出基本运动矢量。参考编译块可以表示位于与包括子块的当前块相对应的并置参考图片内部的col块。如参考表2所述,参考编译块的位置可以被表示为(xcolctrcb,ycolctrcb),并且位置(xcolctrcb,ycolctrcb)可以表示基于并置参考图片的左上样本覆盖并置参考图片内的位置(xctr,yctr)的参考编译块的位置。位置(xctr,yctr)可以表示当前块的右下中心样本位置。
[0254]
此外,在导出基本运动矢量时,可以将运动移位应用于参考编译块的位置(xcolctrcb,ycolctrcb)。如上所述,可以通过将从当前块的空间邻近块(例如,a1块)导出的运动矢量添加到覆盖右下中心样本的参考编译块位置(xcolctrcb,ycolctrcb)来执行运动移位。解码装置可以基于参考编译块的运动移位位置(xcolcb,ycolcb)导出基本运动矢量。即,基本运动矢量可以是基于当前块的右下中心样本位置从并置参考图片内部的运动移位位置导出的运动矢量。
[0255]
同时,可以基于参考子块是否位于并置参考图片之外或运动矢量来确定参考子块是否可用。例如,不可用参考子块可以包括从并置参考图片的外部脱离出来的参考子块或其运动矢量不可用的参考子块。例如,如果参考子块是基于帧内模式、帧内块复制(ibc)模式或调色板模式的,则参考子块可以是其运动矢量不可用的子块。可替代地,如果覆盖基于参考子块的位置导出的修改位置的参考编译块是基于帧内模式、ibc模式或调色板模式的,则参考子块可以是其运动矢量不可用的子块。
[0256]
在这种情况下,作为实施例,可以基于覆盖基于参考子块的左上样本位置导出的修改位置的块的运动矢量,来导出可用参考子块的运动矢量。例如,如表2所示,可以基于诸如((xcolsb》》3)《《3,(ycolsb》》3)《《3)的等式,导出修改位置。在这种情况下,xcolsb和ycolsb可以分别指示参考子块的左上样本位置的x坐标和y坐标,》》可以指示算术右移,而《《可以指示算术左移。
[0257]
同时,如上所述,在导出基于子块的时间运动信息候选时,可以看出,基于当前块中的子块的位置导出参考子块的运动矢量,并且基于当前块的位置导出基本运动矢量。例如,如参考图16至图19所述,关于具有8
×
8大小的当前块,可以基于当前块的右下中心样本位置导出参考子块的运动矢量和基本运动矢量。关于大小大于8
×
8大小的当前块,可以基于当前块中的每个子块的右下中心样本位置来导出参考子块的运动矢量,并且可以基于当前块的右下中心样本位置来导出基本运动矢量。
[0258]
解码装置可以基于当前块中的子块的运动信息来生成当前块的预测样本(s2330)。
[0259]
作为实施例,对于基于子块单元运动信息,对当前块执行预测的预测模式(即,sbtmvp模式),解码装置可以基于如上导出的当前块的子块的运动信息来生成当前块的预测样本。
[0260]
解码装置可以基于预测样本生成重构样本(s2340)。
[0261]
作为实施例,解码装置可以取决预测模式,将预测样本用作重构样本,或者可以通过将残差样本与预测样本相加来生成重构样本。
[0262]
如果存在用于当前块的残差样本,则解码装置可以接收关于当前块的残差的信息。关于残差的信息可以包括残差样本的变换系数。解码装置可以导出用于当前块残差信息的残差样本(或残差样本阵列)。解码装置可以基于预测样本和残差样本生成重构样本,并且可以基于重构样本导出重构块或重构图片。此后,如上所述,解码装置可以对重构图片应用诸如去块滤波和/或sao过程的环内滤波过程,以便在必要时提高主观/客观图片质量。
[0263]
在以上提到的实施方式中,虽然已基于以一系列步骤或单元的形式的流程图描述了这些方法,但是本文档的实施方式不限于这些步骤的顺序,并且这些步骤中的一些可以按照与其它步骤的顺序不同的顺序执行或者可以与其它步骤同时执行。此外,本领域技术人员将理解,在流程图中示出的步骤不是排它性的,并且在不影响本文档的权利范围的情况下,这些步骤可以包括附加步骤或者可以删除流程图中的一个或更多个步骤。
[0264]
根据本文档的以上提到的方法可以用软件形式实现,并且根据本文档的编码装置和/或解码装置可以被包括在例如tv、计算机、智能电话、机顶盒或显示设备的用于执行图像处理的设备中。
[0265]
在本文档中,当以软件形式实现实施方式时,以上提到的方法可以被实现为用于执行以上提到的功能的模块(程序、函数等)。模块可以被存储在存储器中并且由处理器来执行。存储器可以布置在处理器的内部或外部,并且通过各种公知手段连接到处理器。处理器可以包括专用集成电路(asic)、其它芯片集、逻辑电路和/或数据处理设备。存储器可以包括只读存储器(rom)、随机存取存储器(ram)、闪存、存储卡、存储介质和/或其它存储设备。即,本文档中描述的实施方式可以在处理器、微处理器、控制器或芯片上实现并执行。例如,附图中例示的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实现并执行。在这种情况下,用于这种实现的信息(例如,关于指令的信息)或算法可以被存储在数字存储介质中。
[0266]
此外,应用本文档的解码装置和编码装置可以被包括在多媒体广播发送和接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监视相机、视频聊天设备、诸如视频通信这样的实时通信设备、移动流传输设备、存储介质、摄像机、视频点播(vod)服务提供设备、过顶(ott)视频设备、互联网流传输服务提供设备、三维(3d)视频设备、虚拟现实(vr)设备、增强现实(ar)设备、视频电话视频设备、运输工具终端(例如,车辆(包括自主车辆)终端、飞机终端和轮船终端)和医疗视频设备中,并且可以被用于处理视频信号或数据信号。例如,过顶(ott)视频设备可以包括游戏控制台、blueray播放器、互联网访问tv、家庭影院系统、智能电话、平板pc和数字录像机(dvr)。
[0267]
此外,应用本文档的处理方法可以由计算机执行的程序的形式生成,并且可以被存储在计算机可读记录介质中。根据本文档的具有数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括存储有计算机可读数据的所有种类的存储设备。计算机可读记录介质可以包括例如blueray盘(bd)、通用串行总线(usb)、rom、prom、eprom、eeprom、ram、cd-rom、磁带、软盘和光学数据存储设备。此外,计算机可读记录介质包括以载波(例如,通过互联网进行传输)的形式实现的介质。此外,使用编码方法而生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线和无线通信网络传输。
[0268]
此外,本文档的实施方式可以使用程序代码被实现为计算机程序产品。可以由根
据本文档的实施方式的计算机执行程序代码。程序代码可以被存储在可由计算机读取的载波上。
[0269]
图24图示可以应用在本文档中公开的实施例的内容流传输系统的示例。
[0270]
参考图24,应用本发明实施例的内容流媒体系统基本上可以包括编码服务器、流传输服务器、web服务器、媒体存储、用户设备和多媒体输入设备。
[0271]
编码服务器将从诸如智能电话、相机、摄像机等这样的多媒体输入设备输入的内容压缩成数字数据以生成比特流,并且将该比特流传输到流传输服务器。作为另一示例,当诸如智能电话、相机、摄像机等这样的多媒体输入设备直接生成比特流时,可以省略编码服务器。
[0272]
可以通过应用本文档的实施方式的编码方法或比特流生成方法来生成比特流,并且流传输服务器可以在发送或接收比特流的处理中临时存储比特流。
[0273]
流传输服务器基于用户的请求通过web服务器将多媒体数据发送到用户设备,并且web服务器用作将服务告知用户的介质。当用户向web服务器请求所期望的服务时,web服务器将其传送到流传输服务器,流传输服务器将多媒体数据发送到用户。在这种情况下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流传输系统中的设备之间的命令/响应。
[0274]
流传输服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时地接收内容。在这种情况下,为了提供平稳的流传输服务,流传输服务器可以在预定时间内存储比特流。
[0275]
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航仪、触屏pc、平板pc、超级本、可穿戴设备(例如,智能手表、智能眼镜、头戴式显示器)、数字tv、台式计算机、数字标牌等。
[0276]
内容流传输系统中的各个服务器可以作为分布式服务器操作,在这种情况下,从各个服务器接收到的数据可以被分发。
[0277]
这里描述的权利要求可以以各种方式组合。例如,可以将本说明书的方法权利要求的技术特征组合实施为装置,并且将本说明书的装置权利要求的技术特征组合并实施为方法。此外,本说明书方法权利要求的技术特征和装置权利要求的技术特征可以组合实施为装置,并且本说明书的方法权利要求的技术特征和装置权利要求的技术特征可以组合和实施为方法。
再多了解一些

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

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

相关文献