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

使用包括关于合并候选的最大数量的信息的序列参数集的图像编码/解码方法和设备及发送比特流的方法与流程

2022-10-26 21:48:54 来源:中国专利 TAG:


1.本公开涉及图像编码/解码方法和设备,更具体地,涉及一种通过序列参数集对关于包括在合并候选列表中的合并候选的最大数量的信息进行编码/解码的图像编码/解码方法和设备以及发送通过本公开的图像编码方法/设备生成的比特流的方法。


背景技术:

2.最近,各个领域对高分辨率和高质量图像,例如高清(hd)图像和超高清(uhd)图像的需求正在增加。随着图像数据的分辨率和质量的改进,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。
3.因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。


技术实现要素:

4.技术问题
5.本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
6.本公开的另一个目的是提供一种通过序列参数集对关于合并候选的最大数量的信息进行编码/解码的图像编码/解码方法和设备。
7.本公开的另一个目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
8.本公开的另一个目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
9.本公开的另一个目的是提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
10.本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。
11.技术方案
12.根据本公开的一方面的图像解码方法可以包括:基于当前块的预测模式来构建当前块的合并候选列表;基于合并候选列表来推导当前块的运动信息;以及基于运动信息来生成当前块的预测块。可以通过序列参数集来获得关于包括在合并候选列表中的合并候选的最大数量的信息,并且基于预测模式是基于子块的合并模式,可以基于仿射模式对于当前块是否可用来确定合并候选的最大数量。
13.根据本公开的另一方面的图像解码设备可以包括存储器和至少一个处理器。所述至少一个处理器可以被配置为:基于当前块的预测模式来构建当前块的合并候选列表;基于合并候选列表来推导当前块的运动信息;以及基于运动信息来生成当前块的预测块。可
以通过序列参数集来获得关于包括在合并候选列表中的合并候选的最大数量的信息,并且基于预测模式是基于子块的合并模式,可以基于仿射模式对于当前块是否可用来确定合并候选的最大数量。
14.根据本公开的另一方面的图像编码方法可以包括:基于当前块的预测模式来构建当前块的合并候选列表;基于合并候选列表来推导当前块的运动信息;以及对运动信息和关于包括在合并候选列表中的合并候选的最大数量的信息进行编码。可以通过序列参数集来对关于包括在合并候选列表中的合并候选的最大数量的信息进行编码,并且基于预测模式是基于子块的合并模式,可以基于仿射模式对于当前块是否可用来确定合并候选的最大数量。
15.此外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
16.以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
17.有益效果
18.根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
19.此外,根据本公开,能够提供一种使用包括关于合并候选的最大数量的信息的序列参数集的图像编码/解码方法和设备。
20.此外,根据本公开,能够提供一种基于合并候选列表在帧间预测模式下具有改进的信令效率的图像编码/解码方法和设备。
21.此外,根据本公开,能够提供一种基于合并候选列表在帧间预测模式下工具控制容易的图像编码/解码方法和设备。
22.此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
23.此外,根据本公开,能够提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
24.此外,根据本公开,能够提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
25.本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
26.图1是示意性地例示本公开的实施方式适用于的视频编码系统的视图。
27.图2是示意性地例示本公开的实施方式适用于的图像编码设备的视图。
28.图3是示意性地例示本公开的实施方式适用于的图像解码设备的视图。
29.图4是例示基于帧间预测的视频/图像编码方法的流程图。
30.图5是例示根据本公开的帧间预测单元180的配置的视图。
31.图6是例示基于帧间预测的视频/图像解码方法的流程图。
32.图7是例示根据本公开的帧间预测单元260的配置的视图。
33.图8是例示可用作空间合并候选的邻近块的视图。
34.图9是示意性地例示根据本公开的示例的合并候选列表构建方法的视图。
35.图10是示意性地例示根据本公开的示例的运动向量预测子候选列表配置方法的视图。
36.图11是例示仿射模式的参数模型的视图。
37.图12是例示生成仿射合并候选列表的方法的视图。
38.图13是例示基于子块的tmvp模式的邻近块的视图。
39.图14是例示根据基于子块的tmvp模式来推导运动向量场的方法的视图。
40.图15是例示通过应用tpm将当前块分割成两个三角分区的示例的视图。
41.图16是例示包括关于合并候选的最大数量的信息的画面参数集(pps)的示例的视图。
42.图17是例示包括关于合并候选的最大数量的信息的画面头的示例的视图。
43.图18是例示根据本公开的实施方式的画面参数集(pps)的示例的视图。
44.图19是例示根据本公开的实施方式的序列参数集(sps)的示例的视图。
45.图20是例示根据本公开的实施方式的切片头的示例的视图。
46.图21是例示根据本公开的实施方式的画面头的示例的视图。
47.图22是例示根据本公开的实施方式的图像编码方法的流程图。
48.图23是例示根据本公开的实施方式的图像解码方法的流程图。
49.图24是示出本公开的实施方式适用于的内容流系统的视图。
具体实施方式
50.以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
51.在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
52.在本公开中,当一个组件“连接”、“耦合”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
53.在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
54.在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
55.在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本
公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
56.本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
57.在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。此外,切片/拼块可以包括一个或更多个编码树单元(ctu)。
58.在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
59.在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,m
×
n块可以包括m列n行的样本(或样本阵列)或变换系数的集合(或阵列)。
60.在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”中的一个。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
61.另外,在本公开中,除非明确说明为色度块,“当前块”可以意指包括亮度分量块和色度分量块二者的块或“当前块的亮度块”。当前块的亮度分量块可以通过包括诸如“亮度块”或“当前亮度块”的亮度分量块的明确描述来表示。另外,“当前块的色度分量块”可以通过包括诸如“色度块”或“当前色度块”的色度分量块的明确描述来明确表示。
62.在本公开中,术语“/”或“,”可以解释为指示“和/或”。例如,“a/b”和“a,b”可以意指“a和/或b”。此外,“a/b/c”和“a/b/c”可以意指“a、b和/或c中的至少一个”。
63.在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“a或b”可以包括1)仅“a”,2)仅“b”,或3)“a和b”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
64.视频编码系统的概述
65.图1是示意性地示出根据本公开的视频编码系统的视图。
66.根据实施方式的视频编码系统可以包括编码设备10和解码设备20。编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码设备20。
67.根据实施方式的编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
68.视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装
置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
69.编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
70.发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码视频/图像信息或数据传输到解码设备20的接收器21。数字存储介质可以包括各种存储介质,例如usb、sd、cd、dvd、蓝光、hdd、ssd等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
71.解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
72.渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
73.图像编码设备的概述
74.图2是示意性地示出本公开的实施方式可适用于的图像编码设备的视图。
75.如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
76.在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(dpb)并且可以由数字存储介质配置。
77.图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(cu)。可以通过根据四叉树二叉树三叉树(qt/bt/tt)结构递归地分割编码树单元(ctu)或最大编码单元(lcu)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(pu)或变换单元(tu)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
78.预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或cu的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,
并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
79.帧内预测单元185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
80.帧间预测单元180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等。包括时间邻近块的参考画面可以被称为并置画面(colpic)。例如,帧间预测单元180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(mvp)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
81.预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(ciip)。此外,预测单元可以执行帧内块复制(ibc)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(scc)。ibc是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用ibc时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。ibc基本上在当前画面中执行预测,但是可以类似于帧间预测执行,因为在当前画面内推导参考块。即,ibc可以使用本公开中描述的至少一种帧间预测技术。
82.预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
83.变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由
图形表示时从图形获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的正方形像素块或者可以应用于具有可变大小而不是正方形的块。
84.量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块形式的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
85.熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(nal)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
86.比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括usb、sd、cd、dvd、蓝光、hdd、ssd等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。
87.从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
88.加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
89.滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储器170的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
90.传输到存储器170的修改的重构画面可以用作帧间预测单元180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。
91.存储器170的dpb可以存储修改的重构画面以用作帧间预测单元180中的参考画
面。存储器170可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
92.图像解码设备的概述
93.图3是示意性地示出本公开的实施方式可适用的图像解码设备的视图。
94.如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。
95.根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(dpb)或者可以由数字存储介质配置。
96.已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
97.图像解码设备200可以接收以比特流的形式从图2的图像编码设备输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。图像解码设备还可以基于关于参数集的信息和/或通用约束信息对画面进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、cavlc或cabac的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,cabac熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率来对bin执行算术解码,并且生成与每个语法元素的值对应的符号。在这种情况下,cabac熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息中与预测相关的信息可以被提供给预测单元(帧间预测单元260和帧内预测单元265),并且在熵解码器210中对其执行熵解码的残差值,即,量化变换系数和相关的参数信息可以被输入到解量化器220。另外,可以将熵解码器210解码的信息当中关于滤波的信息提供给滤波器240。此外,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备200的内部/外部元件,或者接收器可以是熵解码器210的组件。
98.此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面
样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元160或帧内预测单元265中的至少一个。
99.解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
100.逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
101.预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
102.与在图像编码设备100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
103.帧内预测单元265可以通过参考当前画面中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
104.帧间预测单元260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
105.加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差(例如,应用跳过模式的情况),则预测块可以用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。所生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以用于通过如下所述的滤波对下一画面的帧间预测。
106.滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
107.存储在存储器250的dpb中的(修改的)重构画面可以用作帧间预测单元260中的参考画面。存储器250可以存储从其中推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中
重构块的重构样本并将重构样本传送到帧内预测单元265。
108.在本公开中,在图像编码设备100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测单元260和帧内预测单元265。
109.帧间预测的概述
110.图像编码设备/图像解码设备可以以块为单元执行帧间预测以推导预测样本。帧间预测可以意指以依赖于当前画面以外的画面的数据元素的方式推导的预测。当帧间预测应用于当前块时,可以基于参考画面上由运动向量指定的参考块来推导当前块的预测块。
111.在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性来推导当前块的运动信息,并且可以以块、子块或样本为单元推导运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测类型信息。这里,帧间预测类型信息可以意指帧间预测的方向信息。帧间预测类型信息可以指示使用l0预测、l1预测或双预测之一来预测当前块。
112.当对当前块应用帧间预测时,当前块的邻近块可以包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。包括当前块的参考块的参考画面和包括时间邻近块的参考画面可以是相同或不同的。时间邻近块可以被称为并置参考块或并置cu(colcu),并且包括时间邻近块的参考画面可以被称为并置画面(colpic)。
113.此外,可以基于当前块的邻近块来构建运动信息候选列表,并且在这种情况下,可以用信号通知指示使用哪个候选的标志或索引信息以便推导当前块的运动向量和/或参考画面索引。
114.根据帧间预测类型,运动信息可以包括l0运动信息和/或l1运动信息。l0方向上的运动向量可以被定义为l0运动向量或mvl0,l1方向上的运动向量可以被定义为l1运动向量或mvl1。基于l0运动向量的预测可以被定义为l0预测,基于l1运动向量的预测可以被定义为l1预测,基于l0运动向量和l1运动向量二者的预测可以被定义为双预测。这里,l0运动向量可以意指与参考画面列表l0关联的运动向量,l1运动向量可以意指与参考画面列表l1关联的运动向量。
115.参考画面列表l0可以包括按输出顺序在当前画面之前的画面作为参考画面,参考画面列表l1可以包括按输出顺序在当前画面之后的画面。先前画面可以被定义为前向(参考)画面,后续画面可以被定义为后向(参考)画面。此外,参考画面列表
116.l0还可以包括按输出顺序在当前画面之后的画面作为参考画面。在这种情况下,在
117.参考画面列表l0内,可以首先对先前画面进行索引,然后可以对后续画面进行索引。参考画面列表l1还可以包括按输出顺序在当前画面之前的画面作为参考画面。在这种情况下,在参考画面列表l1内,可以首先对后续画面进行索引,然后可以对先前画面进行索引。这里,输出顺序可以对应于画面顺序计数(poc)顺序。
118.图4是例示了基于帧间预测的视频/图像编码方法的流程图。
119.图5是例示了根据本公开的帧间预测器180的配置的视图。
120.图6的编码方法可以由图2的图像编码设备执行。具体地,步骤s410可以由帧间预测器180执行,并且步骤s420可以由残差处理器执行。具体地,步骤s420可以由减法器115执
行。步骤s430可以由熵编码器190执行。步骤s630的预测信息可以由帧间预测器180推导,并且步骤s630的残差信息可以由残差处理器推导。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。如上所述,残差样本可以通过图像编码设备的变换器120被推导为变换系数,并且变换系数可以通过量化器130被推导为量化变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编码过程来编码。
121.图像编码设备可以针对当前块执行帧间预测(s410)。图像编码设备可以推导当前块的帧间预测模式和运动信息并且生成当前块的预测样本。这里,可以同时地执行帧间预测模式确定、运动信息推导和预测样本生成过程或者可以在其它过程之前执行其任何一个。例如,如图5所示,图像编码设备的帧间预测单元180可以包括预测模式确定单元181、运动信息推导单元182和预测样本推导单元183。预测模式确定单元181可以确定当前块的预测模式,运动信息推导单元182可以推导当前块的运动信息,并且预测样本推导单元183可以推导当前块的预测样本。例如,图像编码设备的帧间预测单元180可以通过运动估计在参考画面的预定区域(搜索区域)内搜索与当前块相似的块,并且推导其与当前块的差等于或小于预定准则或最小值的参考块。基于此,可以推导指示参考块位于其中的参考画面的参考画面索引,并且可以基于参考块与当前块之间的位置差来推导运动向量。图像编码设备可以在各种帧间预测模式当中确定应用于当前块的模式。图像编码设备可以针对各种预测模式比较速率失真(rd)成本,并且确定当前块的最优帧间预测模式。然而,由图像编码设备确定当前块的帧间预测模式的方法不限于上述示例,并且可以使用各种方法。
122.例如,当前块的帧间预测模式可以被确定为合并模式、合并跳过模式、运动向量预测(mvp)模式、对称运动向量差(smvd)模式、仿射模式、基于子块的合并模式、自适应运动向量分辨率(amvr)模式、基于历史的运动向量预测子(hmvp)模式、成对平均合并模式、以运动向量差的合并模式(mmvd)模式、解码器侧运动向量细化(dmvr)模式、组合帧间和帧内预测(ciip)模式或几何分割模式(gpm)中的至少一种。
123.例如,当跳过模式或合并模式应用于当前块时,图像编码设备可以从当前块的邻近块推导合并候选,并且使用所推导的合并候选来构建合并候选列表。另外,图像编码设备可以在通过合并候选列表中包括的合并候选指示的参考块当中推导其与当前块的差等于或小于预定准则或最小值的参考块。在这种情况下,可以选择与所推导的参考块关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并且将其用信号通知给图像解码设备。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。
124.作为另一示例,当mvp模式应用于当前块时,图像编码设备可以从当前块的邻近块推导运动向量预测子(mvp)候选,并且使用所推导的mvp候选来构建mvp候选列表。另外,图像编码设备可以使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过上述运动估计推导的参考块的运动向量可以被用作当前块的运动向量,在mvp候选当中具有与当前块的运动向量的差最小的运动向量的mvp候选可以是所选择的mvp候选。可以推导作为通过从当前块的运动向量减去mvp所获得的差的运动向量差(mvd)。在这种情况下,可以将指示所选择的mvp候选的索引信息和关于mvd的信息用信号通知给图像解码设备。另外,当应用mvp模式时,可以将参考画面索引的值构建为参考画面索引信息并且单独地用信号通知给图像解码设备。
125.图像编码设备可以基于预测样本来推导残差样本(s420)。图像编码设备可以通过
当前块的原始样本与预测样本之间的比较来推导残差样本。例如,可以通过从原始样本减去对应的预测样本来推导残差样本。
126.图像编码设备可以对包括预测信息和残差信息的图像信息进行编码(s430)。图像编码设备可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引等)和关于运动信息的信息作为与预测过程有关的信息。在预测模式信息当中,跳过标志指示跳过模式是否应用于当前块,而合并标志指示合并模式是否应用于当前块。另选地,预测模式信息可以指示多种预测模式中的一种,例如模式索引。当跳过标志和合并标志为0时,可以确定mvp模式应用于当前块。关于运动信息的信息可以包括作为用于推导运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。在候选选择信息当中,合并索引可以在合并模式应用于当前块时用信号通知,并且可以是用于选择合并候选列表中包括的合并候选中的一个的信息。在候选选择信息当中,mvp标志或mvp索引可以在mvp模式应用于当前块时用信号通知,并且可以是用于选择mvp候选列表中的mvp候选中的一个的信息。具体地,mvp标志可以使用语法元素mvp_10_flag或mvp_11_flag来用信号通知。另外,关于运动信息的信息可以包括关于上述mvd的信息和/或参考画面索引信息。另外,关于运动信息的信息可以包括指示是应用l0预测、l1预测还是双预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
127.输出比特流可以被存储在(数字)存储介质中并且被发送到图像解码设备或者可以经由网络被发送到图像解码设备。
128.如上所述,图像编码设备可以基于参考样本和残差样本来生成重构画面(包括重构样本和重构块的画面)。这是为了图像编码设备推导与由图像解码设备执行的预测结果相同的预测结果,从而提高编码效率。因此,图像编码设备可以将重构画面(或重构样本和重构块)存储在存储器中并且将其用作用于帧间预测的参考画面。如上所述,环路内滤波过程还适用于重构画面。
129.图6是例示了基于帧间预测的视频/图像解码方法的流程图。
130.图7是例示了根据本公开的帧间预测单元260的配置的视图。
131.图像解码设备可以执行与由图像编码设备执行的操作对应的操作。图像解码设备可以基于接收到的预测信息来针对当前块执行预测并且推导预测样本。
132.图6的解码方法可以由图3的图像解码设备执行。步骤s610至s630可以由帧间预测单元260执行,并且步骤s610的预测信息和步骤s640的残差信息可以由熵解码器210从比特流获得。图像解码设备的残差处理器可以基于残差信息来推导当前块的残差样本(s640)。具体地,残差处理器的解量化器220可以基于根据残差信息而推导的量化变换系数来执行解量化以推导变换系数,并且残差处理器的逆变换器230可以针对变换系数执行逆变换以推导当前块的残差样本。步骤s650可以由加法器235或重构器执行。
133.具体地,图像解码设备可以基于所接收到的预测信息来确定当前块的预测模式(s610)。图像解码设备可以基于预测信息中的预测模式信息来确定哪种帧间预测模式应用于当前块。
134.例如,可以基于跳过标志来确定跳过模式是否应用于当前块。另外,可以基于合并标志来确定是合并模式还是mvp模式应用于当前块。另选地,可以基于模式索引来选择各种
帧间预测模式候选中的一个。帧间预测模式候选可以包括跳过模式、合并模式和/或mvp模式或者可以包括将在下面描述的各种帧间预测模式。
135.图像解码设备可以基于所确定的帧间预测模式来推导当前块的运动信息(s620)。例如,当跳过模式或合并模式应用于当前块时,图像解码设备可以构建将在下面描述的合并候选列表,并且选择合并候选列表中包括的合并候选中的一个。可以基于上述候选选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。例如,可以将所选择的合并候选的运动信息用作当前块的运动信息。
136.作为另一示例,当mvp模式应用于当前块时,图像解码设备可以构建mvp候选列表,并且使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。可以基于上述候选选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于mvd的信息来推导当前块的mvd,并且可以基于当前块的mvp和mvd来推导当前块的运动向量。另外,可以基于参考画面索引信息来推导当前块的参考画面索引。可以将当前块的参考画面列表中通过参考画面索引指示的画面推导为被参考以进行当前块的帧间预测的参考画面。
137.图像解码设备可以基于当前块的运动信息来生成当前块的预测样本(s630)。在这种情况下,可以基于当前块的参考画面索引来推导参考画面,并且可以使用参考画面上通过当前块的运动向量指示的参考块的样本来推导当前块的预测样本。在一些情况下,还可以针对当前块的预测样本中的全部或一些执行预测样本滤波过程。
138.例如,如图7所示,图像解码设备的帧间预测单元260可以包括预测模式确定单元261、运动信息推导单元262和预测样本推导单元263。在图像解码设备的帧间预测单元260中,预测模式确定单元261可以基于所接收到的预测模式信息来确定当前块的预测模式,运动信息推导单元262可以基于所接收到的运动信息来推导当前块的运动信息(运动向量和/或参考画面索引等),并且预测样本推导单元263可以推导当前块的预测样本。
139.图像解码设备可以基于所接收到的残差信息来生成当前块的残差样本(s640)。图像解码设备可以基于预测样本和残差样本来生成当前块的重构样本并且基于此来生成重构画面(s650)。此后,环路内滤波过程适用于如上所述的重构画面。
140.如上所述,帧间预测过程可以包括确定帧间预测模式的步骤、根据所确定的预测模式来推导运动信息的步骤、以及基于所推导的运动信息来执行预测(生成预测样本)的步骤。如上所述,帧间预测过程可以由图像编码设备和图像解码设备执行。
141.在下文中,将更详细地描述根据预测模式来推导运动信息的步骤。
142.如上所述,可以使用当前块的运动信息来执行帧间预测。图像编码设备可以通过运动估计过程来推导当前块的最优运动信息。例如,图像编码设备可以按分数像素单元使用当前块的原始画面中的原始块来在参考画面中在预定搜索范围内搜索具有高相关性的相似参考块,并且使用其来推导运动信息。可以基于当前块与参考块之间的绝对差之和(sad)来计算块的相似度。在这种情况下,可以基于搜索区域中具有最小sad的参考块来推导运动信息。可以根据基于帧间预测模式的各种方法将所推导的运动信息用信号通知给图像解码设备。
143.当合并模式应用于当前块时,不直接发送当前块的运动信息,并且使用邻近块的运动信息来推导当前块的运动信息。因此,可以通过发送指示合并模式被使用的标志信息
和指示哪个邻近块被用作合并候选的候选选择信息(例如,合并索引)来指示当前预测块的运动信息。在本公开中,由于当前块是预测执行单元,所以当前块可以被用作与当前预测块相同的含义,并且邻近块可以被用作与邻近预测块相同的含义。
144.图像编码设备可以搜索用于推导当前块的运动信息的合并候选块以执行合并模式。例如,可以使用最多五个合并候选块,但不限于此。可以在切片头或拼块组头中发送合并候选块的最大数量,但不限于此。在找到合并候选块之后,图像编码设备可以生成合并候选列表并且选择具有最小rd成本的合并候选块作为最终合并候选块。
145.本公开提供针对配置合并候选列表的合并候选块的各种实施方式。合并候选列表可以使用例如五个合并候选块。例如,可以使用四个空间合并候选和一个时间合并候选。
146.图8是例示了可用作空间合并候选的邻近块的视图。
147.图9是示意性地例示了根据本公开的示例的合并候选列表构建方法的视图。
148.图像编码/解码设备可以将通过搜索当前块的空间邻近块推导的空间合并候选插入到合并候选列表中(s910)。例如,如图8所示,空间邻近块可以包括当前块的左下角邻近块a0、左邻近块a1、右上角邻近块b0、上邻近块b1和左上角邻近块b2。然而,这是示例,并且除了上述空间邻近块之外,诸如右邻近块、下邻近块和右下邻近块的附加邻近块可以被进一步用作空间邻近块。图像编码/解码设备可以通过基于优先级搜索空间邻近块来检测可用块,并且推导所检测到的块的运动信息作为空间合并候选。例如,图像编码/解码设备可以通过按a1、b1、b0、a0和b2的顺序搜索图8所示的五个块,并且依次对可用候选进行索引来构建合并候选列表。
149.图像编码/解码设备可以将通过搜索当前块的时间邻近块推导的时间合并候选插入到合并候选列表中(s920)。时间邻近块可以位于与当前块位于其中的当前画面不同的参考画面上。时间邻近块位于其中的参考画面可以被称为并置画面或col画面。可以按col画面上当前块的并置块的右下角邻近块和右下中心块的顺序搜索时间邻近块。此外,当应用运动数据压缩以便减少存储器负载时,可以将特定运动信息存储为col画面的每个预定存储单元的代表性运动信息。在这种情况下,不需要存储预定存储单元中的所有块的运动信息,从而获得运动数据压缩效果。在这种情况下,可以将预定存储单元预先确定为例如16
×
16样本单元或8
×
8样本单元,或者可以将预定存储单元的大小信息从图像编码设备用信号通知给图像解码设备。当应用运动数据压缩时,时间邻近块的运动信息可以用时间邻近块位于其中的预定存储单元的代表性运动信息替换。也就是说,在这种情况下,从实现方式的观点看,可以基于在基于时间邻近块的坐标(左上样本位置)算术右移了预定值之后覆盖算术左移位置的预测块(而不是位于时间邻近块的坐标上的预测块)的运动信息,来推导时间合并候选。例如,当预定存储单元是2n×2n
样本单元并且时间邻近块的坐标是(xtnb,ytnb)时,位于修改后的位置((xtnb》》n)《《n),(ytnb》》n)《《n))处的预测块的运动信息可以被用于时间合并候选。具体地,例如,当预定存储单元是16
×
16样本单元并且时间邻近块的坐标是(xtnb,ytnb)时,位于修改后的位置((xtnb》》4)《《4),(ytnb》》4)《《4))处的预测块的运动信息可以被用于时间合并候选。另选地,例如,当预定存储单元是8
×
8样本单元并且时间邻近块的坐标是(xtnb,ytnb)时,位于修改后的位置((xtnb》》3)《《3),(ytnb》》3)《《3))处的预测块的运动信息可以被用于时间合并候选。
150.再次参照图9,图像编码/解码设备可以检查当前合并候选数量是否小于合并候选
的最大数量(s930)。合并候选的最大数量可以被预定义或者从图像编码设备用信号通知给图像解码设备。例如,图像编码设备可以生成关于合并候选的最大数量的信息并对其进行编码,并且将编码的信息以比特流的形式发送到图像解码设备。当满足合并候选的最大数量时,可以不执行后续候选添加过程s940。
151.当作为步骤s930的检查结果当前合并候选数量小于合并候选的最大数量时,图像编码/解码设备可以根据预定方法来推导附加合并候选,然后将附加合并候选插入到合并候选列表(s940)。例如,附加合并候选可以包括基于历史的合并候选、成对平均合并候选、atmvp、组合双预测合并候选(当当前切片/拼块组的切片/拼块组类型为b类型时)和/或零向量合并候选中的至少一个。
152.当作为步骤s930的检查结果当前合并候选数量不小于合并候选的最大数量时,图像编码/解码设备可以结束合并候选列表的构建。在这种情况下,图像编码设备可以从配置合并候选列表的合并候选当中选择最优合并候选,并且将指示所选择的合并候选的候选选择信息(例如,合并候选索引或合并索引)用信号通知给图像解码设备。图像解码设备可以基于合并候选列表和候选选择信息来选择最优合并候选。
153.如上所述,所选择的合并候选的运动信息可以被用作当前块的运动信息,并且可以基于当前块的运动信息来推导当前块的预测样本。图像编码设备可以基于预测样本来推导当前块的残差样本,并且将残差样本的残差信息用信号通知给图像解码设备。如上所述,图像解码设备可以基于根据残差信息和预测样本而推导的残差样本来生成重构样本,并且基于其来生成重构画面。
154.当对当前块应用跳过模式时,可以使用与应用合并模式的情况相同的方法来推导当前块的运动信息。然而,当应用跳过模式时,对应块的残差信号被省略,并且因此预测样本可以被直接用作重构样本。例如,当cu_skip_flag的值为1时,可应用上述跳过模式。
155.当对当前块应用mvp模式时,可以使用重构的空间邻近块(例如,图8所示的邻近块)的运动向量和/或与时间邻近块(或col块)对应的运动向量来生成运动向量预测子(mvp)候选列表。即,重构的空间邻近块的运动向量以及与时间邻近块对应的运动向量可以用作当前块的运动向量预测子候选。当应用双向预测时,单独地生成并使用用于l0运动信息推导的mvp候选列表和用于l1运动信息推导的mvp候选列表。当前块的预测信息(或关于预测的信息)可以包括指示从包括在mvp候选列表中的运动向量预测子候选当中选择的最优运动向量预测子候选的候选选择信息(例如,mvp标志或mvp索引)。在这种情况下,预测单元可以使用候选选择信息从包括在mvp候选列表中的运动向量预测子候选当中选择当前块的运动向量预测子。图像编码设备的预测单元可以获得并编码当前块的运动向量与运动向量预测子之间的运动向量差(mvd)并以比特流的形式输出编码的mvd。即,可以通过从当前块的运动向量减去运动向量预测子来获得mvd。图像解码设备的预测单元可以获得包括在关于预测的信息中的运动向量差并通过运动向量差与运动向量预测子的相加来推导当前块的运动向量。图像解码设备的预测单元可以从关于预测的信息获得或推导指示参考画面的参考画面索引。
156.图10是示意性地例示了根据本公开的示例的运动向量预测子候选列表构建方法的视图。
157.首先,可以搜索当前块的空间候选块并且可以将可用候选块插入到mvp候选列表
中(s1010)。此后,确定mvp候选列表中包括的mvp候选的数量是否小于2(s1020),并且当mvp候选的数量为2时,可以完成mvp候选列表的构建。
158.在步骤s1020中,当可用空间候选块的数量小于2时,可以搜索当前块的时间候选块并且可以将可用候选块插入到mvp候选列表中(s1030)。当时间候选块不可用时,可以将零运动向量插入到mvp候选列表中(s1040),从而完成mvp候选列表的构建。
159.此外,当应用mvp模式时,可以显式地用信号通知参考画面索引。在这种情况下,可以区别地用信号通知用于l0预测的参考画面索引refidxl0和用于l1预测的参考画面索引refidxl1。例如,当应用mvp模式并且应用双预测时,可以用信号通知关于refidxl0的信息和关于refidxl1的信息。
160.如上所述,当应用mvp模式时,可以将关于由图像编码设备推导的mvp的信息用信号通知给图像解码设备。例如,关于mvd的信息可以包括mvd绝对值以及为正负号(sign)指示x和y分量的信息。在这种情况下,当mvd绝对值大于0时,可以分步地用信号通知mvd绝对值是否大于1和指示mvd余数的信息。例如,只有当指示mvd绝对值是否大于0的标志信息的值为1时才可以用信号通知指示mvd绝对值是否大于1的信息。
161.仿射模式的概述
162.以下,将详细描述作为帧间预测模式的示例的仿射模式。在传统视频编码/解码系统中,仅使用一个运动向量来表达当前块的运动信息。然而,在此方法中,存在仅以块为单元来表达最优运动信息,但是最优运动信息无法以像素为单元来表达的问题。为了解决此问题,已提出了以像素为单元定义块的运动信息的仿射模式。根据仿射模式,可以使用与当前块关联的两个至四个运动向量来确定块的各个像素和/或子块单元的运动向量。
163.与使用像素值的平移运动(或位移)表达的现有运动信息相比,在仿射模式下,各个像素的运动信息可以使用平移运动、缩放、旋转或剪切中的至少一种来表达。在它们当中,使用位移、缩放或旋转来表达各个像素的运动信息的仿射模式可以是相似或简化仿射模式。以下描述中的仿射模式可以意指相似或简化仿射模式。
164.仿射模式下的运动信息可以使用两个或更多个控制点运动向量(cpmv)来表达。可以使用cpmv来推导当前块的特定像素位置的运动向量。在这种情况下,当前块的各个像素和/或子块的运动向量的集合可以被定义为仿射运动向量场(仿射mvf)。
165.图11是例示仿射模式的参数模型的视图。
166.当仿射模式应用于当前块时,可以使用4参数模型和6参数模型之一来推导仿射mvf。在这种情况下,4参数模型可以意指使用两个cpmv的模型类型,6参数模型可以意指使用三个cpmv的模型类型。图11的(a)和图11的(b)分别示出4参数模型和6参数模型中使用的cpmv。
167.当当前块的位置为(x,y)时,可以根据下式1或式2来推导根据像素位置的运动向量。例如,根据4参数模型的运动向量可以根据式1来推导,根据6参数模型的运动向量可以根据式2来推导。
168.[式1]
[0169]
[0170]
[式2]
[0171][0172]
在式1和式2中,mv0={mv_0x,mv_0y}可以是当前块的左上角位置处的cpmv,v1={mv_1x,mv_1y}可以是当前块的右上位置处的cpmv,mv2={mv_2x,mv_2y}可以是当前块的左下位置处的cpmv。在这种情况下,w和h分别对应于当前块的宽度和高度,mv={mv_x,mv_y}可以意指像素位置{x,y}的运动向量。
[0173]
在编码/解码处理中,可以以像素和/或预定义子块为单元来确定仿射mvf。当以像素为单元来确定仿射mvf时,可以基于各个像素值来推导运动向量。此外,当以子块为单元来确定仿射mvf时,可以基于子块的中心像素值来推导对应块的运动向量。中心像素值可以意指存在于子块的中心的虚拟像素或存在于中心的四个像素当中的右下像素。另外,中心像素值可以是子块中的特定像素并且可以是表示子块的像素。在本公开中,将描述以4
×
4子块为单元确定仿射mvf的情况。然而,这仅是为了描述方便,子块的大小可以不同地改变。
[0174]
即,当仿射预测可用时,适用于当前块的运动模型可以包括三个模型,即,平移运动模型、4参数仿射运动模型和6参数仿射运动模型。这里,平移运动模型可以表示由现有块单元运动向量使用的模型,4参数仿射运动模型可以表示由两个cpmv使用的模型,6参数仿射运动模型可以表示由三个cpmv使用的模型。仿射模式可以根据运动信息编码/解码方法被分成详细模式。例如,仿射模式可以被再分成仿射mvp模式和仿射合并模式。
[0175]
当仿射合并模式应用于当前块时,可以从以仿射模式编码/解码的当前块的邻近块推导cpmv。当当前块的至少一个邻近块以仿射模式编码/解码时,仿射合并模式可以应用于当前块。即,当仿射合并模式应用于当前块时,当前块的cpmv可以使用邻近块的cpmv来推导。例如,邻近块的cpmv可以被确定为当前块的cpmv,或者可以基于邻近块的cpmv来推导当前块的cpmv。当基于邻近块的cpmv来推导当前块的cpmv时,可以使用当前块或邻近块的至少一个编码参数。例如,邻近块的cpmv可以基于邻近块的大小和当前块的大小来修改并用作当前块的cpmv。
[0176]
此外,以子块为单元来推导mv的仿射合并可以被称为基于子块的合并模式,其可以由具有第二值(例如,1)的merge_subblock_flag指定。在这种情况下,下面描述的仿射合并候选列表可以被称为子块合并候选列表。在这种情况下,被推导为下述sbtmvp的候选可以被进一步包括在子块合并候选列表中。在这种情况下,被推导为sbtmvp的候选可以用作子块合并候选列表的索引#0的候选。换言之,被推导为sbtmvp的候选可以位于子块合并候选列表中下面描述的继承仿射候选和构建仿射候选前面。
[0177]
例如,可以定义指定仿射模式是否适用于当前块的仿射模式标志,其可以在当前块的至少一个更高级别(例如,序列、画面、切片、拼块、拼块组、图块等)用信号通知。例如,仿射模式标志可以命名为sps_affine_enabled_flag。
[0178]
当应用仿射合并模式时,仿射合并候选列表可以被配置为推导当前块的cpmv。在这种情况下,仿射合并候选列表可以包括继承仿射合并候选、构建仿射合并候选或零合并候选中的至少一个。当当前块的邻近块以仿射模式编码/解码时,继承仿射合并候选可以意指使用邻近块的cpmv推导的候选。构建仿射合并候选可以意指基于各个控制点(cp)的邻近
块的运动向量推导各个cpmv的候选。此外,零合并候选可以意指由大小为0的cpmv组成的候选。在以下描述中,cp可以意指用于推导cpmv的块的特定位置。例如,cp可以是块的各个顶点位置。
[0179]
图12是例示生成仿射合并候选列表的方法的视图。
[0180]
参照图12的流程图,可以按照继承仿射合并候选(s1210)、构建仿射合并候选(s1220)和零合并候选(s1230)的顺序将仿射合并候选添加到仿射合并候选列表。当即使所有继承仿射合并候选和构建仿射合并候选被添加到仿射合并候选列表,包括在候选列表中的候选的数量仍不满足最大候选数量时,可以添加零合并候选。在这种情况下,可以添加零合并候选直至仿射合并候选列表的候选数量满足最大候选数量。
[0181]
基于子块的tmvp(sbtmvp)模式的概述
[0182]
以下,将详细描述作为帧间预测模式的示例的基于子块的tmvp模式。根据基于子块的tmvp模式,可以推导当前块的运动向量场(mvf)并且可以以子块为单元来推导运动向量。
[0183]
与以编码单元为单元执行的传统tmvp模式不同,对于应用基于子块的tmvp模式的编码单元,运动向量可以以子编码单元为单元来编码/解码。另外,根据传统tmvp模式,可以从并置块来推导时间运动向量,但是在基于子块的tmvp模式下,可以从由从当前块的邻近块推导的运动向量指定的参考块来推导运动向量场。以下,从邻近块推导的运动向量可以被称为当前块的运动移位或代表性运动向量。
[0184]
图13是例示基于子块的tmvp模式的邻近块的视图。
[0185]
当基于子块的tmvp模式应用于当前块时,可以确定用于确定运动移位的邻近块。例如,可以按照图13的a1、b1、b0和a0的块的顺序对用于确定运动移位的邻近块执行扫描。作为另一示例,用于确定运动移位的邻近块可以被限制为当前块的特定邻近块。例如,用于确定运动移位的邻近块可以始终被确定为块a1。当邻近块具有参考col画面的运动向量时,对应运动向量可以被确定为运动移位。被确定为运动移位的运动向量可以被称为时间运动向量。此外,当无法从邻近块推导上述运动向量时,运动移位可以被设定为(0,0)。
[0186]
图14是例示根据基于子块的tmvp模式来推导运动向量场的方法的视图。
[0187]
接下来,可以确定运动移位所指定的并置画面上的参考块。例如,可以通过将运动移位与当前块的坐标相加来从col画面获得基于子块的运动信息(运动向量或参考画面索引)。在图14所示的示例中,假设运动移位是a1块的运动向量。通过对当前块应用运动移位,可以指定col画面中与配置当前块的各个子块对应的子块(col子块)。此后,使用col画面中的对应子块(col子块)的运动信息,可以推导当前块的各个子块的运动信息。例如,可以从对应子块的中心位置获得对应子块的运动信息。在这种情况下,中心位置可以是位于对应子块的中心的四个样本当中的右下样本的位置。当与当前块对应的col块的特定子块的运动信息不可用时,col块的中心子块的运动信息可以被确定为对应子块的运动信息。当推导对应子块的运动向量时,类似于上述tmvp过程,可以切换至参考画面索引和当前子块的运动向量。即,当推导基于子块的运动向量时,可以考虑参考块的参考画面的poc来执行运动向量的缩放。
[0188]
如上所述,可以使用基于子块推导的当前块的的运动向量场或运动信息来推导当前块的基于子块的tmvp候选。
[0189]
以下,以子块为单元配置的合并候选列表被定义为子块合并候选列表。上述仿射合并候选和基于子块的tmvp候选可以被合并以配置子块合并候选列表。
[0190]
此外,可以定义指定基于子块的tmvp模式是否适用于当前块的基于子块的tmvp模式标志,其可以在当前块的较高级别(例如,序列、画面、切片、拼块、拼块组、图块等)当中的至少一个级别用信号通知。例如,基于子块的tmvp模式标志可以命名为sps_sbtmvp_enabled_flag。当基于子块的tmvp模式适用于当前块时,基于子块的tmvp候选可以首先被添加到子块合并候选列表,然后仿射合并候选可以被添加到子块合并候选列表。此外,可以用信号通知子块合并候选列表中可以包括的最大候选数量。例如,子块合并候选列表中可以包括的最大候选数量可为5。
[0191]
用于推导子块合并候选列表的子块的大小可以用信号通知或预设为m
×
n。例如,m
×
n可为8
×
8。因此,仅当当前块的大小为8
×
8或更大时,仿射模式或基于子块的tmvp模式才适用于当前块。
[0192]
用于帧间预测的三角分区(tpm)
[0193]
作为帧间预测模式,可以使用用于帧间预测的三角分区(tpm;三角分区模式)。tpm可以应用于大小为8x8或更大的cu。指定tpm是否用于当前cu的信息可以例如在cu级别作为标志信息用信号通知。tpm可以被视为连同常规合并模式、mmvd模式、ciip模式和基于子块的合并模式一起包括在一般合并模式中的一个模式。
[0194]
图15是例示通过应用tpm将当前块分割成两个三角分区的示例的视图。
[0195]
如图15所示,当应用tpm时,当前块(cu)可以对角地或反对角地分割成两个三角分区。使用各个运动来对各个三角分区进行帧间预测,并且对于各个分区仅允许单预测。即,各个三角分区可以具有一个运动向量和一个参考画面索引。对于各个分区仅允许单预测的原因是因为各个cu如正常双预测中需要两个运动补偿预测块。
[0196]
用于tpm的单预测的运动信息可以从参照图9描述的合并候选列表推导。例如,对于tpm的单预测,可以从图9的合并候选列表推导单预测候选列表。当变量n是包括在三角分区的单预测候选列表中的单预测运动候选的索引时,第n合并候选的lx运动向量(x等于n的奇偶性)可以用作tpm的第n单预测运动向量。在图15中tpm的第n单预测运动向量由“x”表示。在这种情况下,当不存在第n合并候选的lx运动向量时,代替lx运动向量,第n合并模式的l(1-x)运动向量可以用作tpm的单预测运动向量。
[0197]
当tpm用于当前块时,可以用信号通知指定三角分区方向(对角方向或反对角方向)的标志和两个合并索引(每个分区一个索引)。可以在切片级别明确地用信号通知tpm合并候选的最大数量。另外,可以根据tpm合并候选的最大数量来指定tpm合并索引的语法二值化方法。在对各个分区执行预测之后,可以沿着对角或反对角线调节预测样本值。可以使用自适应权重通过混合处理来执行预测样本值的调节。通过tpm生成的预测信号针对整个cu(当前块),并且可以如其它预测模式一样对整个cu执行残差信号的变换和量化处理。最后,tpm中预测的cu的运动场可以以4x4样本为单位存储。tpm不与子块变换(sbt)一起执行。即,当指定tpm的标志具有第一值(例如,1)时,指定是否以子块为单位执行变换的标志(例如,cu_sbt_flag)可以被推断为第二值,而不用信号通知。
[0198]
在对各个三角分区执行预测之后,可以执行混合处理。混合处理可以应用于两个预测信号,从而推导对角边缘或反对角边缘周围的样本。
[0199]
帧内块复制(ibc)预测的概述
[0200]
在下文中,将描述根据本公开的ibc预测。
[0201]
ibc预测可以由图像编码/解码装置的预测单元执行。ibc预测可以被简称为ibc。ibc可以被用于诸如屏幕内容编码(scc)的内容图像/运动图像编码。ibc预测可以基本上在当前画面中执行ibc预测,但是可以类似于帧间预测执行ibc预测,因为在当前画面内导出参考块。也就是说,ibc可以使用本公开中描述的帧间预测技术中的至少一种。例如,ibc可以使用上述运动信息(运动向量)导出方法中的至少一种。可以考虑到ibc预测部分地修改和使用帧间预测技术中的至少一种。ibc可以参考当前画面并且因此可以被称为当前画面参考(cpr)。
[0202]
对于ibc,图像编码设备可以执行块匹配(bm)并推导当前块(或当前cu)的最优块向量(或运动向量)。可以使用与上述帧间预测中的运动信息(运动向量)的信令类似的方法通过比特流将推导的块向量用信号通知给图像解码设备。图像解码设备可以通过用信号通知的块向量推导当前画面中的当前块的参考块,并且通过此推导当前块的预测信号(预测块或预测样本)。这里,块向量可以指定从当前块到位于当前画面中已经重构的区域中的参考块的位移。因此,块向量(或运动向量)可以被称为位移向量。下文中,在ibc中,运动向量可以对应于块向量或位移向量。当前块的运动向量可以包括亮度分量的运动向量(亮度运动向量)或色度分量的运动向量(色度运动向量)。例如,ibc编码的cu的亮度运动向量可以是整数样本单元(即,整数精度)。可以按整数样本单元裁剪色度运动向量。如上所述,ibc可以使用至少一种帧间预测技术,例如,亮度运动向量可以使用上述合并模式或mvp模式来编码/解码。
[0203]
当合并模式应用于亮度ibc块时,亮度ibc块的合并候选列表可以类似于帧间预测模式中的合并候选列表来构建。然而,与帧间预测模式中的合并候选列表不同,亮度ibc块的合并候选列表可不包括时间候选块。
[0204]
当mvp模式应用于亮度ibc块时,亮度ibc块的mvp候选列表可以类似于帧间预测模式中的mvp候选列表来构建。然而,与帧间预测模式中的mvp候选列表不同,亮度ibc块的合并候选列表可不包括时间候选块。
[0205]
在ibc中,参考块是从当前画面中已经重构的区域导出的。在这种情况下,为了降低图像解码装置的存储器消耗和复杂度,可以参考仅当前画面中已经重构的区域当中的预定义区域。预定义区域可以包括当前块被包括在其中的当前ctu。这样,通过将可参考的重构区域限制为预定义区域,可以使用本地片上存储器来在硬件中实现ibc模式。
[0206]
用于执行ibc的图像编码装置可以搜索预定义区域以确定具有最小rd成本的参考块并且基于参考块和当前块的位置来导出运动向量(块向量)。
[0207]
可以在cu级别用信号通知ibc的预测模式信息。例如,可以通过coding_unit语法用信号通知指定ibc跳过/合并模式是否应用于当前块的标志信息和/或指定ibc amvp模式是否应用于当前块的标志信息。
[0208]
在ibc跳过/合并模式的情况下,可以用信号通知合并候选索引以指定在合并候选列表中包括的块向量当中要用于当前亮度块的预测的块向量。在这种情况下,合并候选列表可以包括ibc编码的邻近块。如上所述,合并候选列表可以包括空间合并候选,但是可不包括时间合并候选。另外,合并候选列表还可以包括基于历史的运动向量预测子(hmvp)候
选和/或成对候选。
[0209]
在ibc mvp模式的情况下,块向量差可以使用与上述帧间预测模式的运动向量差相同的方法来编码。在ibc mvp模式下,块向量预测方法可以类似于mvp模式基于包括两个候选作为预测子的mvp候选列表来执行。可以从当前块的左邻近块导出两个候选中的一个,并且可以从当前块的顶部邻近块导出另一个候选。在这种情况下,只有当左邻近块或顶部邻近块被ibc编码时,才可以从对应邻近块导出候选。如果左邻近块或顶部邻近块不可用(例如,不是ibc编码的),则预定默认块向量可以作为预测子被包括在mvp候选列表中。另外,在ibc mvp模式的情况下,可执行与mvp模式类似的块向量预测,使得指定两个块向量预测子中的一个的信息(例如,标志)作为候选选择信息用信号通知并用于图像解码。mvp候选列表可以包括hmvp候选和/或零运动向量作为默认块向量。
[0210]
hmvp候选可以被称为基于历史的mvp候选,并且在当前块的编码/解码之前使用的mvp候选、合并候选或块向量候选可以作为hmvp候选被存储在hmvp列表中。此后,在当前块的合并候选列表或mvp候选列表不包括最大数量的候选时,可以将存储在hmvp列表中的候选作为hmvp候选添加到当前块的合并候选列表或mvp候选列表。
[0211]
成对候选可以意指通过对根据预定顺序从包括在当前块的合并候选列表中的候选当中选择的两个候选取平均所导出的候选。
[0212]
可以在cu级别用信号通知指定ibc是否应用于当前块的预测模式信息(例如,pred_mode_ibc_flag)。例如,可以通过coding_unit语法用信号通知pred_mode_ibc_flag。在这种情况下,具有第一值(例如,0)的pred_mode_ibc_flag可以指定ibc不应用于当前块。相反,具有第二值(例如,1)的pred_mode_ibc_flag可以指定ibc应用于当前块。
[0213]
如上所述,当对当前块应用帧间预测模式时,可以基于预定合并候选列表来生成当前块的预测块。当前块的帧间预测模式可以被确定为各种帧间预测模式(例如,常规合并模式、仿射模式、基于子块的合并模式、用于帧间预测的三角分区(tpm)、帧内块复制(ibc)等)中的任一种。另外,可以在画面级别用信号通知关于包括在合并候选列表中的合并候选的最大数量的信息。
[0214]
图16是例示包括关于合并候选的最大数量的信息的画面参数集(pps)的示例的视图。
[0215]
参照图16,画面参数集(pps)可以包括关于合并候选的最大数量的语法元素。
[0216]
例如,画面参数集(pps)可以包括pps_six_minus_max_num_merge_cand_plus1。ps_six_minus_max_num_merge_cand_plus1可以指定参考画面参数集(pps)的画面头中是否存在用于推导合并候选的最大数量的语法元素(例如,pic_six_minus_max_num_merge_cand)。例如,具有第一值(例如,0)的pps_six_minus_max_num_merge_cand_plus1可以指定画面头中存在pic_six_minus_max_num_merge_cand。相反,值(例如,1)大于第一值的pps_six_minus_max_num_merge_cand_plus1可以指定画面头中不存在pic_six_minus_max_num_merge_cand。pps_six_minus_max_num_merge_cand_plus1的值可以大于或等于0并且可以小于或等于6。
[0217]
另外,画面参数集(pps)可以包括pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1。pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1可以指定参考画面参数集(pps)的切片的画面头中是否存在用于推导tpm合并候选的最大
数量的语法元素(例如,pic_max_num_merge_cand_minus_max_num_triangle_cand)。例如,具有第一值(例如,0)的pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1可以指定画面头中存在pic_max_num_merge_cand_minus_max_num_triangle_cand。相反,值(例如,1)大于第一值的pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1可以指定画面头中不存在pic_max_num_merge_cand_minus_max_num_triangle_cand。pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1的值可以大于或等于0并且可以小于或等于通过从pic_max_num_merge_cand_minus_max_num_triangle_cand减去1而获得的值。
[0218]
可以基于预定标志(例如,constant_slice_header_params_enabled_flag)用信号通知pps_six_minus_max_num_merge_cand_plus1和pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1。例如,当constant_slice_header_params_enabled_flag具有第一值(例如,0)时,pps_six_minus_max_num_merge_cand_plus1和pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1可以被推断为第一值(例如,0)而不用信号通知。相反,当constant_slice_header_params_enabled_flag具有第二值(例如,1)时,可以用信号通知pps_six_minus_max_num_merge_cand_plus1和pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1。
[0219]
图17是例示包括关于合并候选的最大数量的信息的画面头的示例的视图。
[0220]
参照图17,画面头可以包括关于在画面级别tmvp模式是否可用的语法元素。
[0221]
例如,画面头可以包括pic_temporal_mvp_enabled_flag。pic_temporal_mvp_enabled_flag可以指定tmvp模式对于参考画面头的当前画面是否可用。例如,具有第一值(例如,0)的pic_temporal_mvp_enabled_flag可以指定tmvp模式对于当前画面不可用。相反,具有第二值(例如,1)的pic_temporal_mvp_enabled_flag可以指定tmvp模式对于当前画面可用。
[0222]
仅当tmvp模式在序列级别可用(例如,sps_temporal_mvp_enabled_flag==1)时才可以用信号通知pic_temporal_mvp_enabled_flag。当没有用信号通知pic_temporal_mvp_enabled_flag时,pic_temporal_mvp_enabled_flag的值可以被推断为第一值(例如,0)。此外,当解码画面缓冲器(dpb)中不存在具有与当前画面相同的空间分辨率的参考画面时,pic_temporal_mvp_enabled_flag的值可以被限制为第一值(例如,0)。
[0223]
另外,画面头可以包括pic_six_minus_max_num_merge_cand。pic_six_minus_max_num_merge_cand可以用于推导在常规合并模式下与画面头关联的切片中支持的常规合并候选的最大数量。例如,常规合并候选的最大数量(例如,maxnummergecand)可以通过从6减去pic_six_minus_max_num_merge_cand的值来推导。在这种情况下,常规合并候选的最大数量可以大于或等于1并且可以小于等于6。
[0224]
仅当通过画面参数集(pps)用信号通知的pps_six_minus_max_num_merge_cand_plus1具有第一值(例如,0)时,才可以用信号通知pic_six_minus_max_num_merge_cand。当没有用信号通知pic_six_minus_max_num_merge_cand时,pic_six_minus_max_num_merge_cand的值可被推断为通过从pps_six_minus_max_num_merge_cand_plus1的值减去1而获得的值。
[0225]
另外,画面头可以包括pic_five_minus_max_num_subblock_merge_cand。pic_
five_minus_max_num_subblock_merge_cand可以用于推导在基于子块的合并模式下与画面头关联的切片中支持的子块合并候选的最大数量。例如,可以通过从5减去pic_six_minus_max_num_merge_cand的值来推导子块合并候选的最大数量(例如,maxnumsubblockmergecand)。在这种情况下,子块合并候选的最大数量可以大于或等于0并且可以小于或等于5。
[0226]
仅当仿射模式在序列级别可用(例如,sps_affine_enabled_flag==1)时,才可以用信号通知pic_five_minus_max_num_subblock_merge_cand。当没有用信号通知pic_five_minus_max_num_subblock_merge_cand时,pic_five_minus_max_num_subblock_merge_cand的值可以基于指定基于子块的时间运动向量预测子(tmvp)模式在序列级别是否可用的第一标志(例如,sps_sbtmvp_enabled_flag)和指定tmvp模式在画面级别是否可用的第二标志(例如,pic_temporal_mvp_enabled_flag)被推断为预定值。例如,pic_five_minus_max_num_subblock_merge_cand的值可以被推断为通过从5减去第一标志和第二标志的与运算结果(例如,1或0)而获得的值。
[0227]
另外,画面头可以包括pic_max_num_merge_cand_minus_max_num_triangle_cand。pic_max_num_merge_cand_minus_max_num_triangle_cand可以用于推导在tpm中与画面头关联的切片中支持的tpm合并候选的最大数量。例如,tpm合并候选的最大数量(例如,maxnumtrianglemergecand)可以通过从常规合并候选的最大数量(例如,maxnummergecand)减去pic_max_num_merge_cand_minus_max_num_triangle_cand的值来推导。在这种情况下,tpm合并候选的最大数量可以大于或等于2并且可以小于或等于常规合并候选的最大数量。
[0228]
仅当tpm在序列级别可用(例如,sps_triangle_enabled_flag==1),常规合并候选的最大数量大于或等于2(例如,maxnummergecand≥2),通过画面参数集(pps)用信号通知的pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1具有第一值(例如,0)时,才可以用信号通知pic_max_num_merge_cand_minus_max_num_triangle_cand。
[0229]
作为没有用信号通知pic_max_num_merge_cand_minus_max_num_triangle_cand的情况,当tpm在序列级别可用(例如,sps_triangle_enabled_flag==1)并且常规合并候选的最大数量大于或等于2(例如,maxnummergecand≥2)时,pic_max_num_merge_cand_minus_max_num_triangle_cand的值可以被推断为通过从通过画面参数集(pps)用信号通知的pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1的值减去1而获得的值。另选地,作为没有用信号通知pic_max_num_merge_cand_minus_max_num_triangle_cand的情况,当tpm在序列级别不可用(例如,sps_triangle_enabled_flag==0)或者常规合并候选的最大数量小于2(例如,maxnummergecand《2)时,常规合并候选的最大数量可以被设定为第一值(例如,0)。在这种情况下,tpm对于与画面头关联的切片可不可用。
[0230]
另外,画面头可以包括pic_six_minus_max_num_ibc_merge_cand。pic_six_minus_max_num_ibc_merge_cand可以用于推导在帧内块复制(ibc)下与画面头关联的切片中支持的ibc合并候选的最大数量。例如,可以通过从6减去pic_six_minus_max_num_ibc_merge_cand的值来推导ibc合并候选的最大数量(例如,maxnumibcmergecand)。在这种情况下,ibc合并候选的最大数量可以大于或等于1并且可以小于或等于6。
[0231]
根据上面参照图16和图17描述的示例,在诸如常规合并模式、基于子块的合并模
式等的各种帧间预测模式下,关于合并候选的最大数量的信息可以通过画面参数集(pps)和/或画面头用信号通知。然而,在实际系统实现系统中,合并候选的数量根据画面而变化的使用情况并不多。因此,当通过画面参数集(pps)和/或画面头用信号通知关于合并候选的最大数量的信息时,信令开销可能不必要地增加。
[0232]
另外,可以基于在序列级别用信号通知的预定信息(例如,sps_affine_enabled_flag、sps_sbtmvp_enabled_flag等)通过画面参数集(pps)和/或画面头来用信号通知关于合并候选的最大数量的信息。即,可以基于在序列级别和画面级别偶尔用信号通知的多个信息来确定合并候选的最大数量,结果,各种帧间预测模式的工具控制可能变得复杂。
[0233]
为了解决这些问题,根据本公开的实施方式,可以通过序列级别(例如,序列参数集(sps))整体地用信号通知关于合并候选的最大数量的信息。因此,信令开销可降低并且各种帧间预测模式的工具控制可变得更容易。
[0234]
在下文中,将参照附图详细描述本公开的实施方式。
[0235]
第一实施方式
[0236]
根据第一实施方式,在各种帧间预测模式下,关于合并候选的最大数量的信息可以被整体地定义为具有比画面级别更高的级别的语法(例如,序列参数集(sps))。
[0237]
图18是例示根据本公开的实施方式的画面参数集(pps)的示例的视图。
[0238]
参照图18,与上面参照图16描述的画面参数集(pps)不同,画面参数集(pps)可以不包括关于合并候选的最大数量的信息。例如,画面参数集(pps)可不包括关于常规合并候选的最大数量的语法元素pps_six_minus_max_num_merge_cand_plus1和关于tpm合并候选的最大数量的语法元素pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1。因此,常规合并模式和tpm的工具控制可以独立于画面参数集(pps)来执行。
[0239]
图19是例示根据本公开的实施方式的序列参数集(sps)的示例的视图。
[0240]
参照图19,序列参数集(sps)可以包括关于合并候选的最大数量的信息。
[0241]
例如,序列参数集(sps)可以包括sps_six_minus_max_num_merge_cand。sps_six_minus_max_num_merge_cand可以用于推导在常规合并模式下常规合并候选的最大数量。例如,可以如下式3所示基于sps_six_minus_max_num_merge_cand来推导常规合并候选的最大数量。
[0242]
[式3]
[0243]
maxnummergecand=6-sps_six_minus_max_num_merge_cand
[0244]
其中,maxnummergecand可以意指常规合并候选的最大数量。在示例中,maxnummergecand的值可以大于或等于1并且可以小于或等于6。
[0245]
另外,序列参数集(sps)可以包括sps_five_minus_max_num_subblock_merge_cand。sps_five_minus_max_num_subblock_merge_cand可以用于推导在基于子块的合并模式下子块合并候选的最大数量。例如,可以如下式4所示基于sps_five_minus_max_num_subblock_merge_cand来推导子块合并候选的最大数量。
[0246]
[式4]
[0247]
maxnumsubblockmergecand=5-sps_five_minus_max_num_subblock_merge_cand
[0248]
其中,maxnumsubblockmergecand可以意指子块合并候选的最大数量。在示例中,maxnumsubblockmergecand的值可以大于或等于0并且可以小于或等于5。
[0249]
仅当仿射模式在序列级别可用(例如,sps_affine_enabled_flag==1)时,才可以用信号通知sps_five_minus_max_num_subblock_merge_cand。当没有用信号通知sps_five_minus_max_num_subblock_merge_cand时,sps_five_minus_max_num_subblock_merge_cand的值可以基于指定基于子块的tmvp模式在序列级别是否可用的第一标志(例如,sps_sbtmvp_enabled_flag)被推断为预定值。例如,sps_five_minus_max_num_subblock_merge_cand的值可以被推断为通过从5减去第一标志的值而获得的值。
[0250]
另外,序列参数集(sps)可以包括sps_max_num_merge_cand_minus_max_num_triangle_cand。sps_max_num_merge_cand_minus_max_num_triangle_cand可以用于推导在三角分区模式(tpm)下tpm合并候选的最大数量。例如,tpm合并候选的最大数量可以如下式5所示基于sps_max_num_merge_cand_minus_max_num_triangle_cand来推导。
[0251]
[式5]
[0252]
maxnumtrianglemergecand=maxnummergecand-sps_max_num_merge_cand_minus_max_num_triangle_cand
[0253]
其中,maxnumtrianglemergecand可以意指tpm合并候选的最大数量,并且maxnummergecand可以意指常规合并候选的最大数量。在示例中,maxnumtrianglemergecand的值可以大于或等于2并且可以小于或等于常规合并候选的最大数量(例如,maxnummergecand)。
[0254]
仅当tpm在序列级别可用(例如,sps_triangle_enabled_flag==1)并且常规合并候选的最大数量大于或等于2(例如,maxnummergecand≥2)时,才可以用信号通知sps_max_num_merge_cand_minus_max_num_triangle_cand。在没有用信号通知sps_max_num_merge_cand_minus_max_num_triangle_cand的情况下,当tpm在序列级别不可用(例如,sps_triangle_enabled_flag==0)或者常规合并候选的最大数量小于2(例如,maxnummergecand《2)时,tpm合并候选的最大数量可以被设定为0。在这种情况下,可能不允许tpm。
[0255]
另外,序列参数集(sps)可以包括sps_six_minus_max_num_ibc_merge_cand。sps_six_minus_max_num_ibc_merge_cand可以用于推导在帧内块复制(ibc)下ibc合并候选的最大数量。例如,ibc合并候选的最大数量可以如下式6所示基于sps_six_minus_max_num_ibc_merge_cand来推导。
[0256]
[式6]
[0257]
maxnumibcmergecand=6-sps_six_minus_max_num_ibc_merge_cand
[0258]
其中,maxnumibcmergecand可以意指ibc合并候选的最大数量。在示例中,maxnumibcmergecand的值可以大于或等于1并且可以小于或等于6。
[0259]
当序列参数集(sps)包括关于合并候选的最大数量的信息时,与上面参照图17描述的画面头不同,参考序列参数集(sps)的画面头可不包括关于tmvp模式在画面级别是否可用的语法元素(例如,pic_temporal_mvp_enabled_flag)和关于合并候选的最大数量的语法元素(例如,pic_six_minus_max_num_merge_cand、pic_five_minus_max_num_subblock_merge_cand、pic_max_num_merge_cand_minus_max_num_triangle_cand和pic_six_minus_max_num_ibc_merge_cand)。
[0260]
根据上面参照图18和图19描述的第一实施方式,在各种帧间预测模式下,关于合
并候选的最大数量的信息可以在具有比画面级别更高的级别的语法(例如,序列参数集(sps))中整体地定义。因此,与通过画面参数集(pps)和/或画面头用信号通知关于合并候选的最大数量的信息的情况相比,信令开销可降低。另外,可以基于相同高级语法(例如,序列参数集(sps))中的预定信息(例如,sps_affine_enabled_flag、sps_sbtmvp_enabled_flag等)来用信号通知关于合并候选的最大数量的信息。因此,诸如常规合并模式、基于子块的合并模式等的各种帧间预测模式的工具控制可变得更容易。
[0261]
此外,在示例中,当从画面头排除指定tmvp模式在画面级别是否可用的语法元素pic_temporal_mvp_enabled_flag时,切片头中的一些信令条件可以如图20所示修改。
[0262]
图20是例示根据本公开的实施方式的切片头的示例的视图。
[0263]
参照图20,可以基于tmvp模式在序列级别是否可用来用信号通知并置画面colpic的识别信息(例如,collocated_from_l0_flag和collocated_ref_idx),而不管tmvp模式在画面级别是否可用。
[0264]
第二实施方式
[0265]
根据第二实施方式,类似于第一实施方式,可以在具有比画面级别更高的级别的语法(例如,序列参数集(sps))中整体地定义关于合并候选的最大数量的信息(例如,sps_six_minus_max_num_merge_cand、sps_five_minus_max_num_subblock_merge_cand等)。具体地,上面参照图18描述的画面参数集(pps)和上面参照图19描述的序列参数集(sps)适用于第二实施方式。然而,第二实施方式的一些语法元素的语义和画面头结构可不同于第一实施方式。在下文中,将聚焦于与第一实施方式的差异详细描述第二实施方式。
[0266]
图21是例示根据本公开的实施方式的画面头的示例的视图。
[0267]
参照图21,根据本公开的实施方式的画面头可以不包括关于合并候选的最大数量的语法元素。具体地,当序列参数集(sps)包括关于合并候选的最大数量的语法元素时,与上面参照图17描述的画面头不同,参考序列参数集(sps)的画面头可不包括关于合并候选的最大数量的语法元素(例如,pic_six_minus_max_num_merge_cand、pic_five_minus_max_num_subblock_merge_cand、pic_max_num_merge_cand_minus_max_num_triangle_cand和pic_six_minus_max_num_ibc_merge_cand)。
[0268]
然而,画面头可以包括关于tmvp模式在画面级别是否可用的语法元素pic_temporal_mvp_enabled_flag。在这方面,第二实施方式可不同于第一实施方式。
[0269]
pic_temporal_mvp_enabled_flag可以指定tmvp模式对于参考画面头的当前画面是否可用。例如,具有第一值(例如,0)的pic_temporal_mvp_enabled_flag可以指定tmvp模式对于当前画面不可用。相反,具有第二值(例如,1)的pic_temporal_mvp_enabled_flag可指定tmvp模式对于参考画面头的当前画面可用。
[0270]
仅当tmvp模式在序列级别可用(例如,sps_temporal_mvp_enabled_flag==1)时,才可以用信号通知pic_temporal_mvp_enabled_flag。当没有用信号通知pic_temporal_mvp_enabled_flag时,pic_temporal_mvp_enabled_flag的值可以被推断为第一值(例如,0)。此外,当解码画面缓冲器(dpb)中不存在具有与当前画面相同的空间分辨率的参考画面时,pic_temporal_mvp_enabled_flag的值可以被限制为第一值(例如,0)。
[0271]
当画面头包括pic_temporal_mvp_enabled_flag时,上面参照图19描述的序列参数集(sps)中关于基于子块的合并模式的语法元素sps_five_minus_max_num_subblock_
merge_cand的语义可以如下部分地修改。
[0272]
当没有用信号通知sps_five_minus_max_num_subblock_merge_cand(例如,sps_affine_enabled_flag==0)时,sps_five_minus_max_num_subblock_merge_cand的值可以被推断为预定值(例如,5)。
[0273]
在示例中,当sps_five_minus_max_num_subblock_merge_cand被推断为预定值(例如,5)时,变量isinfered可以被设定为真。另外,基于上式4推导的子块合并候选的最大数量可以如下式7所示基于pic_temporal_mvp_enabled_flag和isinfered来更新。
[0274]
[式7]
[0275]
maxnumsubblockmergecand=(isinfered&&(sps_sbtmvp_enabled_flag&&pic_temporal_mvp_enabled_flag))?1:maxnumsubblockmergecand
[0276]
其中,maxnumsubblockmergecand可以意指子块合并候选的最大数量。在示例中,maxnumsubblockmergecand的值可以大于或等于0并且可以小于或等于5。
[0277]
参照式7,当isinfered为真并且sps_sbtmvp_enabled_flag和pic_temporal_mvp_enabled_flag的与运算结果为真时,maxnumsubblockmergecand的值可以被更新为预定值(例如,1)。相反,当isinfered或sps_sbtmvp_enabled_flag和pic_temporal_mvp_enabled_flag的与运算结果中的至少一个为假时,可不更新maxnumsubblockmergecand的值。此外,式7可以在画面头处定义为pic_temporal_mvp_enabled_flag的语义,或者可以在序列参数集(sps)处定义为sps_five_minus_max_num_subblock_merge_cand的语义。
[0278]
在另一示例中,当sps_five_minus_max_num_subblock_merge_cand被推断为预定值(例如,5)时,变量isinfered可以被设定为真。另外,子块合并候选的最大数量可以如下式8所示基于sps_five_minus_max_num_subblock_merge_cand、pic_temporal_mvp_enabled_flag和isinfered来推导。即,上式4可以用式8代替。
[0279]
[式8]
[0280]
maxnumsubblockmergecand=5-sps_five_minus_max_num_subblock_merge_cand (isinfered&&(sps_sbtmvp_enabled_flag&&pic_temporal_mvp_enabled_flag))?1:0
[0281]
其中,maxnumsubblockmergecand可以意指子块合并候选的最大数量。在示例中,maxnumsubblockmergecand的值可以大于或等于0并且可以小于或等于5。
[0282]
参照式8,当isinfered为真并且sps_sbtmvp_enabled_flag和pic_temporal_mvp_enabled_flag的与运算结果为真时,maxnumsubblockmergecand的值可以通过将1与通过从5减去sps_five_minus_max_num_subblock_merge_cand的值而获得的值相加来推导。相反,当isinfered或sps_sbtmvp_enabled_flag和pic_temporal_mvp_enabled_flag的与运算结果中的至少一个为假时,maxnumsubblockmergecand的值可以通过从5减去sps_five_minus_max_num_subblock_merge_cand的值来推导。此外,式8可以在画面头处定义为pic_temporal_mvp_enabled_flag的语义,或者可以在序列参数集(sps)处定义为sps_five_minus_max_num_subblock_merge_cand的语义。
[0283]
在另一示例中,用于推导子块合并候选的最大数量的参考值可以从5改变为4。因此,sps_five_minus_max_num_subblock_merge_cand的名称也可以改变为sps_four_minus_max_num_subblock_merge_cand。
[0284]
当没有用信号通知sps_four_minus_max_num_subblock_merge_cand(例如,sps_
affine_enabled_flag==0)时,sps_four_minus_max_num_subblock_merge_cand的值可以被推断为预定值(例如,4),而不管基于子块的tmvp模式在序列级别是否可用。另外,上式4和式7可以分别用下式9和式10代替。
[0285]
[式9]
[0286]
maxnumsubblockmergecand=4-sps_four_minus_max_num_subblock_merge_cand
[0287]
[式10]
[0288]
maxnumsubblockmergecand =(sps_sbtmvp_enabled_flag&&pic_temporal_mvp_enabled_flag))?1:0
[0289]
其中,maxnumsubblockmergecand可以意指子块合并候选的最大数量。
[0290]
一起参考式9和式10,maxnumsubblockmergecand的值可以通过从4减去sps_four_minus_max_num_subblock_merge_cand的值来推导。另外,maxnumsubblockmergecand的值可以基于sps_sbtmvp_enabled_flag和pic_temporal_mvp_enabled_flag的与运算结果来更新。例如,当sps_sbtmvp_enabled_flag和pic_temporal_mvp_enabled_flag的与运算结果为真时,maxnumsubblockmergecand的值可以增加1。相反,当sps_sbtmvp_enabled_flag和pic_temporal_mvp_enabled_flag的与运算结果为假时,可不更新maxnumsubblockmergecand的值。此外,式10可以在画面头处定义为pic_temporal_mvp_enabled_flag的语义,或者可以在序列参数集(sps)处定义为sps_four_minus_max_num_subblock_merge_cand的语义。
[0291]
根据上面参照图21描述的第二实施方式,在各种帧间预测模式下,关于合并候选的最大数量的信息可以在具有比画面级别更高的级别的语法(例如,序列参数集(sps))中整体地定义。因此,与通过画面参数集(pps)和/或画面头用信号通知关于合并候选的最大数量的信息的情况相比,信令开销可降低。另外,可以基于相同高级语法(例如,序列参数集(sps))中的预定信息(例如,sps_affine_enabled_flag、sps_sbtmvp_enabled_flag等)来用信号通知关于合并候选的最大数量的信息。因此,诸如常规合并模式、基于子块的合并模式等的各种帧间预测模式的工具控制可变得更容易。
[0292]
在下文中,将参照图22和图23详细描述根据本公开的实施方式的图像编码/解码方法。
[0293]
图22是例示根据本公开的实施方式的图像编码方法的流程图。
[0294]
图22的图像编码方法可以由图2的图像编码设备执行。例如,步骤s2210和s2220可以由帧间预测单元180执行。另外,步骤s2230可以由熵编码单元190执行。
[0295]
参照图22,当对当前块应用帧间预测模式时,图像编码设备可以基于当前块的预测模式来构建当前块的合并候选列表(s2210)。
[0296]
具体地,当前块的预测模式可以被确定为各种帧间预测模式(例如,常规合并模式、基于子块的合并模式、用于帧间预测的三角分区(tpm)或帧内块复制(ibc)等)中的任一种。
[0297]
图像编码设备可以基于当前块的预测模式来推导合并候选并且使用推导的合并候选来构建合并候选列表。这里,合并候选可以从当前块的邻近块(例如,空间邻近块和/或时间邻近块)推导。根据当前块的预测模式,合并候选可以被不同地称为常规合并候选、子块合并候选、tpm合并候选等。
[0298]
图像编码设备可以将附加合并候选插入到合并候选列表中,直至包括在合并候选列表中的合并候选的数量达到预定最大数量。这里,附加合并候选可以包括例如基于历史的合并候选、成对平均合并候选、atmvp、组合双预测合并候选(当当前切片/拼块组的切片/拼块组类型为b型)和/或零向量合并候选中的至少一个。另外,当包括在合并候选列表中的合并候选的数量大于或等于预定最大数量时,图像编码设备可以完成合并候选列表的构建。
[0299]
图像编码设备可以基于构建的合并候选列表来推导当前块的运动信息(s2220)。具体地,图像编码设备可以基于rd成本从包括在合并候选列表中的合并候选当中选择最优合并候选并且推导所选合并候选的运动信息作为当前块的运动信息。在这种情况下,图像编码设备可以通过基于推导的运动信息执行帧间预测来生成当前块的预测块。
[0300]
图像编码设备可以对当前块的运动信息和关于合并候选的最大数量的信息进行编码(s2230)。这里,当前块的运动信息可以包括指定所选合并候选的候选选择信息(例如,合并索引)。另外,关于合并候选的最大数量的信息可以包括关于各个帧间预测模式的信息并且可以用于推导合并候选的最大数量。
[0301]
根据本公开的实施方式,关于合并候选的最大数量的信息可以被整体地编码在具有比画面级别更高的级别的语法(例如,序列参数集(sps))中。例如,序列参数集(sps)可以包括关于常规合并模式的合并候选的最大数量的信息sps_six_minus_max_num_merge_cand。另外,序列参数集(sps)可以包括关于基于子块的合并模式的合并候选的最大数量的信息sps_five_minus_max_num_subblock_merge_cand。另外,序列参数集(sps)可以包括关于tpm的合并候选的最大数量的信息sps_max_num_merge_cand_minus_max_num_triangle_cand。另外,序列参数集(sps)可以包括关于ibc的合并候选的最大数量的信息sps_six_minus_max_num_ibc_merge_cand。上面参照图19描述了序列参数集(sps)的示例。此外,尽管在图19中将关于合并候选的最大数量的信息示出为仅包括在序列参数集中,但这可以根据实施方式不同地修改。例如,上述sps_six_minus_max_num_merge_cand、sps_five_minus_max_num_subblock_merge_cand、sps_max_num_merge_cand_minus_max_num_triangle_cand和sps_six_minus_max_num_ibc_merge_cand中的一些可以包括在画面头中,如上面参照图17描述的。
[0302]
此外,在基于子块的合并模式中,可以基于仿射模式对于当前块是否可用来确定合并候选的最大数量。具体地,当仿射模式可用(例如,sps_affine_enabled_flag==1)时,合并候选的最大数量可以被确定为通过从5减去sps_five_minus_max_num_subblock_merge_cand的值而获得的值。相反,当仿射模式不可用(例如,sps_affine_enabled_flag==0)时,合并候选的最大数量可以根据基于子块的时间运动向量预测子(tmvp)模式对于当前块是否可用(例如,sps_sbtmvp_enabled_flag)和时间运动向量预测子(tmvp)模式对于当前块是否可用(例如,pic_temporal_mvp_enabled_flag)来确定。例如,当基于子块的tmvp模式或tmvp模式中的至少一个不可用时,合并候选的最大数量可以被确定为第一值(例如,0)。相反,当基于子块的tmvp模式和tmvp模式二者可用时,合并候选的最大数量可以被确定为第二值(例如,1)。这样,在基于子块的合并模式下,可以在序列级别用信号通知关于合并候选的最大数量的信息,但是合并候选的最大数量可以在画面级别一起考虑tmvp模式在画面级别是否可用来确定。
[0303]
根据本公开的实施方式,当关于合并候选的最大数量的信息被整体地编码在具有比画面级别更高的级别的语法(例如,序列参数集(sps))中时,信令开销可以进一步降低。
[0304]
图23是例示根据本公开的实施方式的图像解码方法的流程图。
[0305]
图23的图像解码方法可以由图3的图像解码设备执行。例如,步骤s2310至s2330可以由帧间预测单元260执行。
[0306]
参照图23,当对当前块应用帧间预测模式时,图像解码设备可以基于当前块的预测模式来构建当前块的合并候选列表(s2310)。
[0307]
具体地,图像解码设备可以基于当前块的预测模式来推导合并候选并且使用推导的合并候选来构建合并候选列表。这里,合并候选可以从当前块的邻近块(例如,空间邻近块和/或时间邻近块)推导。另外,当包括在合并候选列表中的合并候选的数量大于或等于预定最大数量时,图像解码设备可以完成合并候选列表的构建。
[0308]
根据本公开的实施方式,可以基于通过具有比画面级别更高的级别的语法(例如,序列参数集(sps))获得的关于合并候选的最大数量的信息来确定合并候选的最大数量。例如,序列参数集(sps)可以包括关于常规合并模式的合并候选的最大数量的信息sps_six_minus_max_num_merge_cand。另外,序列参数集(sps)可以包括关于基于子块的合并模式的合并候选的最大数量的信息sps_five_minus_max_num_subblock_merge_cand。另外,序列参数集(sps)可以包括关于tpm的合并候选的最大数量的信息sps_max_num_merge_cand_minus_max_num_triangle_cand。另外,序列参数集(sps)可以包括关于ibc的合并候选的最大数量的信息sps_six_minus_max_num_ibc_merge_cand。上面参照图19描述了序列参数集(sps)的示例。此外,尽管在图19中将关于合并候选的最大数量的信息示出为仅包括在序列参数集中,但这可以根据实施方式不同地修改。例如,上述sps_six_minus_max_num_merge_cand、sps_five_minus_max_num_subblock_merge_cand、sps_max_num_merge_cand_minus_max_num_triangle_cand和sps_six_minus_max_num_ibc_merge_cand中的一些可以包括在画面头中,如上面参照图17描述的。
[0309]
此外,在基于子块的合并模式中,可以基于仿射模式对于当前块是否可用来确定合并候选的最大数量。具体地,当仿射模式可用(例如,sps_affine_enabled_flag==1)时,可以基于通过序列参数集(例如,sps_five_minus_max_num_subblock_merge_cand)获得的关于合并候选的最大数量的信息来确定合并候选的最大数量。例如,合并候选的最大数量可以被确定为通过从5减去sps_five_minus_max_num_subblock_merge_cand的值而获得的值。相反,当仿射模式不可用(例如,sps_affine_enabled_flag==0)时,合并候选的最大数量可以根据基于子块的时间运动向量预测子(tmvp)模式对于当前块是否可用和时间运动向量预测子(tmvp)模式对于当前块是否可用来确定。例如,当基于子块的tmvp模式或tmvp模式中的至少一个不可用时,合并候选的最大数量可以被确定为第一值(例如,0)。相反,当基于子块的tmvp模式和tmvp模式二者均可用时,合并候选的最大数量可以被确定为第二值(例如,1)。
[0310]
基于子块的tmvp模式对于当前块是否可用可以基于通过序列参数集获得的预定第一标志(例如,sps_sbtmvp_enabled_flag)来确定。例如,当sps_sbtmvp_enabled_flag具有第一值(例如,0)时,基于子块的tmvp模式可能不可用。相反,当sps_sbtmvp_enabled_flag具有第二值(例如,1)时,基于子块的tmvp模式可能可用。tmvp模式对于当前块是否可
用可以基于通过画面头获得的预定第二标志(例如,pic_temporal_mvp_enabled_flag)来确定。例如,当pic_temporal_mvp_enabled_flag具有第一值(例如,0)时,tmvp模式可能不可用。相反,当pic_temporal_mvp_enabled_flag具有第二值(例如,1)时,tmvp模式可能可用。这样,在基于子块的合并模式下,可以在序列级别用信号通知关于合并候选的最大数量的信息,但是合并候选的最大数量可以在画面级别一起考虑tmvp模式在画面级别是否可用来确定。
[0311]
在示例中,当在基于子块的合并模式下仿射模式可用时,根据基于子块的tmvp模式是否可用,合并候选的最大数量可以具有预定范围。
[0312]
具体地,sps_five_minus_max_num_subblock_merge_cand可以具有从0至“5-sps_sbtmvp_enabled_flag”(含)的范围。因此,当基于子块的tmvp模式可用(例如,sps_sbtmvp_enabled_flag==1)时,sps_five_minus_max_num_subblock_merge_cand可以具有从0至4(含)的范围。相反,当基于子块的tmvp模式不可用(例如,sps_sbtmvp_enabled_flag==0)时,sps_five_minus_max_num_subblock_merge_cand可以具有从0至5(含)的范围。此外,当仿射模式可用(例如,sps_affine_enabled_flag==1)时,合并候选的最大数量可为“5-sps_five_minus_max_num_subblock_merge_cand”。因此,作为仿射模式在基于子块的合并候选中可用(例如,sps_affine_enabled_flag==1)的情况,当基于子块的tmvp模式可用(例如,sps_sbtmvp_enabled_flag==1)时,合并候选的最大数量可以具有从0至5(含)的范围。相反,作为仿射模式在基于子块的合并模式下可用(例如,sps_affine_enabled_flag==1)的情况,当基于子块的tmvp模式不可用(例如,sps_sbtmvp_enabled_flag==0)时,合并候选的最大数量可以具有从0至5(含)的范围。
[0313]
继续参照图23,图像解码设备可以基于构建的合并候选列表来推导当前块的运动信息(s2320)。具体地,图像解码设备可以基于从比特流获得的候选选择信息(例如,合并索引)从包括在合并候选列表中的合并候选当中选择至少一个合并候选。另外,图像解码设备可以推导所选合并候选的运动信息作为当前块的运动信息。
[0314]
图像解码设备可以通过基于推导的运动信息执行帧间预测来生成当前块的预测块(s2330)。当前块可以如上所述基于所生成的预测块来重构。
[0315]
根据本公开的实施方式,当用于确定合并候选的最大数量的各种信息被集成到具有比画面级别更高的级别的语法(例如,序列参数集(sps))中时,各种帧间预测模式的工具控制可以变得更容易。
[0316]
本公开中描述的语法元素的名称可以包括关于用信号通知对应语法元素的位置的信息。例如,以“sps_”开始的语法元素可以意指在序列参数集(sps)用信号通知对应语法元素。另外,以“pps_”、“ph_”、“sh_”等开始的语法元素可以意指在画面参数集(pps)、画面头、切片头等用信号通知对应语法元素。
[0317]
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
[0318]
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执
行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
[0319]
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
[0320]
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器等来实现。
[0321]
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以被包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(vod)服务提供装置、ott视频(over the top video)装置、互联网流传输服务提供装置、三维(3d)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,ott视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板pc、数字录像机(dvr)等。
[0322]
图24是示出可应用本公开的实施方式的内容流系统的视图。
[0323]
如图24中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
[0324]
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
[0325]
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
[0326]
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
[0327]
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
[0328]
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航设备、石板pc、平板pc、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
[0329]
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
[0330]
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
[0331]
工业实用性
[0332]
本公开的实施方式可以被用于对图像进行编码或解码。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献