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

使用IBC的图像编码/解码方法和装置,以及发送比特流的方法与流程

2022-03-31 11:26:35 来源:中国专利 TAG:

使用ibc的图像编码/解码方法和装置,以及发送比特流的方法
技术领域
1.本公开涉及一种图像编码/解码方法和装置、以及一种发送比特流的方法,并且更具体地,涉及一种使用滤波来编码/解码图像的方法和装置、以及发送由本公开的图像编码方法/装置生成的比特流的方法。


背景技术:

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


技术实现要素:

4.技术问题
5.本公开的目的是提供一种具有改善的编码/解码效率的图像编码/解码方法和装置。
6.本公开的另一个目的是提供一种使用ibc(帧内块复制)模式对图像进行编码/解码的方法和装置。
7.本公开的另一个目的是提供一种发送由根据本公开的图像编码方法或装置生成的比特流的方法。
8.本公开的另一个目的是提供一种存储由根据本公开的图像编码方法或装置生成的比特流的记录介质。
9.本公开的另一个目的是提供一种记录介质,其存储由根据本公开的图像解码装置接收、解码并用于重构图像的比特流。
10.本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其他技术问题。
11.技术方案
12.根据本公开的一个方面的图像编码/解码方法,ibc模式对超过vpdu(虚拟管线数据单元)的块的应用受到限制,从而增加图像编码/解码效率。
13.根据本公开的一个方面的图像解码方法可以包括:确定是否解析指定跳过模式是否应用于当前块的第一信息;确定是否解析指定ibc(帧内块复制)模式是否应用于当前块的第二信息;基于第一信息和第二信息确定ibc模式是否应用于当前块;以及基于是否应用ibc模式导出当前块的预测块。可以基于当前块的宽度或高度中的至少一个来确定是否解析第一信息。
14.在本公开的图像解码方法中,基于当前块的宽度和高度等于或小于第一值,确定
第一信息可以被解析。
15.在本发明的图像解码方法中,第一值可以是64。
16.在本公开的图像解码方法中,可以进一步基于指定ibc模式是否适用于当前块的第三信息来确定是否解析第一信息。
17.在本公开的图像解码方法中,基于第三信息指定ibc模式适用于当前块,可以确定第一信息被解析。
18.在本公开的图像解码方法中,可以在当前块的较高级别处用信号发送第三信息。
19.在本公开的图像解码方法中,可以进一步基于其中包括当前块的切片的类型来确定是否解析第一信息。
20.在本公开的图像解码方法中,基于其中包括当前块的切片为i切片,可以确定第一信息被解析。
21.在本公开的图像解码方法中,可以基于第一信息或当前块的宽度或高度中的至少一个来确定是否解析第二信息。
22.根据本公开的另一方面的图像解码装置可以包括存储器和至少一个处理器。至少一个处理器可以:确定是否解析指定跳过模式是否应用于当前块的第一信息,确定是否解析指定ibc(帧内块复制)模式是否应用于当前块的第二信息,基于第一信息和第二信息确定ibc模式是否应用于当前块,并且基于是否应用ibc模式来导出当前块的预测块。可以基于当前块的宽度或高度中的至少一个来确定是否解析第一信息。
23.根据本公开的另一方面的图像编码方法可以包括:确定是否对指定跳过模式是否应用于当前块的第一信息进行编码;确定是否对指定ibc(帧内块复制)模式是否应用于当前块的第二信息进行编码;以及基于是否对第一信息和第二信息进行编码来生成用于当前块的比特流。可以基于当前块的宽度或高度中的至少一个来确定是否对第一信息进行编码。
24.在本公开的图像编码方法中,基于当前块的宽度和高度等于或小于第一值,可以确定第一信息被编码。
25.在本公开的图像编码方法中,第一值可以是64。
26.在本公开的图像编码方法中,可以基于ibc模式是否适用于当前块来进一步确定是否对第一信息进行编码。
27.此外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码装置或图像编码方法生成的比特流。
28.以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
29.有益效果
30.根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和装置。
31.根据本公开,能够提供一种使用ibc(帧内块复制)模式对图像进行编码/解码的方法和装置。
32.此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或装置生成的比特流的方法。
33.此外,根据本公开,能够提供一种存储由根据本公开的图像编码方法或设备装置的比特流的记录介质。
34.此外,根据本公开,能够提供一种记录介质,其存储由根据本公开的图像解码装置接收、解码并用于重构图像的比特流。
35.本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其他优点。
附图说明
36.图1是示意性地示出本公开的实施例适用于的视频编译系统的视图。
37.图2是示意性地示出本公开的实施例适用于的图像编码装置的视图。
38.图3是示意性地示出本公开的实施例适用于的图像解码装置的视图。
39.图4是示出根据多类型树结构的块的分区类型的视图。
40.图5是示出根据本公开的具有嵌套多类型树结构的四叉树中的分区分割信息的信令机制的示意图。
41.图6是图示基于帧间预测的视频/图像编码方法的流程图。
42.图7是图示根据本公开的帧间预测单元180的配置的视图。
43.图8是图示基于帧间预测的视频/图像解码方法的流程图。
44.图9是图示根据本公开的帧间预测单元260的配置的视图。
45.图10是图示可用作空间合并候选的邻近块的视图。
46.图11是示意性地图示根据本公开的示例的合并候选列表构建方法的视图。
47.图12是示意性地图示根据本公开的示例的运动向量预测子候选列表构建方法的视图。
48.图13是图示根据本公开的示例的用于从图像编码装置向图像解码装置发送mvd的语法结构的视图。
49.图14是图示基于ibc的视频/图像编码方法的流程图。
50.图15是图示根据本公开的用于执行基于ibc的视频/图像编码方法的预测单元的配置的视图。
51.图16是图示根据实施例的基于ibc的视频/图像解码方法的流程图。
52.图17是图示根据本公开的用于执行基于ibc的视频/图像解码方法的预测单元的配置的视图。
53.图18是图示根据本公开的实施例的比特流结构的视图。
54.图19是图示根据本公开的实施例的图像解码方法的视图。
55.图20是图示根据本公开的实施例的图像编码方法的视图。
56.图21至图24是图示根据本公开的一些实施例的比特流结构的视图。
57.图25是示出本公开的实施例可适用的内容流传输系统的视图。
具体实施方式
58.以下,将结合附图对本公开的实施例进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施例。
59.在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
60.在本公开中,当一个组件“连接”、“耦合”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其他组件时,除非另有说明,否则是指还可以包括其他组件,而不是排除其他组件。
61.在本公开中,术语第一、第二等仅用于将一个组件与其他组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施例中的第一部件在另一个实施例中可以被称为第二部件,类似地,一个实施例中的第二部件在另一个实施例中可以被称为第一部件。
62.在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施例也包括在本公开的范围内。
63.在本公开中,各个实施例中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施例中描述的组件的子集组成的实施例也包括在本公开的范围内。此外,除了在各种实施例中描述的组件之外还包括其他组件的实施例包括在本公开的范围内。
64.本公开涉及图像的编码(encoding)和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
65.在本公开中,“图片”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成图片的一部分的编译(coding)单元,一个图片可以由一个或多个切片/拼块组成。此外,切片/拼块可以包括一个或多个编译树单元(ctu)。
66.在本公开中,“像素”或“像元(pel)”可以意指构成一个图片(或图像)的最小单个。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
67.在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括图片的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,m
×
n块可以包括m列n行的样本(或样本阵列)或变换系数的集合(或阵列)。
68.在本公开中,“当前块”可以意指“当前编译块”、“当前编译单元”、“编译目标块”、“解码目标块”或“处理目标块”之一。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
69.此外,在本公开中,除非明确声明为色度块,否则“当前块”可以意指“当前块的亮度块”。“当前块的色度块”可以通过包括对诸如“色度块”或“当前色度块”的色度块的显式描述来表达。
70.在本公开中,斜线“/”或“,”可以解释为指示“和/或”。例如,“a/b”和“a,b”可以意指“a和/或b”。此外,“a/b/c”和“a/b/c”可以意指“a、b和/或c中的至少一个”。
71.在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“a或b”可以包括1)仅“a”,2)仅“b”,或3)“a和b”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
72.视频编译系统概述
73.图1是示意性地示出根据本公开的视频编译系统的视图。
74.根据实施例的视频编译系统可以包括编码装置10和解码装置20。编码装置10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码装置20。
75.根据实施例的编码装置10可以包括视频源生成器11、编码单元12和发射器13。根据实施例的解码装置20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发射器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的设备或外部组件。
76.视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获设备和/或视频/图像生成设备。视频/图像捕获设备可以包括例如一个或多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成设备可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
77.编码单元12可以对输入视频/图像进行编码。为了压缩和编译效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
78.发射器13可以通过数字存储介质或网络以文件或流的形式将编码的视频/图像信息或以比特流的形式输出的数据传输到解码装置20的接收器21。数字存储介质可以包括各种存储介质,例如usb、sd、cd、dvd、蓝光、hdd、ssd等。发射器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
79.解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
80.渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
81.图像编码装置概要
82.图2是示意性地示出本公开的实施例可适用于的图像编码装置的视图。
83.如图2所示,图像编码装置100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
84.在一些实施例中,配置图像编码装置100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码图片缓冲器
(dpb)并且可以由数字存储介质配置。
85.图像分割器110可将输入到图像编码装置100的输入图像(或图片或帧)分区成一个或多个处理单元。例如,处理单元可以称为编译单元(cu)。可以通过根据四叉树二叉树三叉树(qt/bt/tt)结构递归地分区编译树单元(ctu)或最大编译单元(lcu)来获取编译单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编译单元分区为更深深度的多个编译单元。对于编译单元的分区,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分区的最终编译单元来执行根据本公开的编译过程。可以将最大编译单元用作最终编译单元,也可以将通过分区最大编译单元获取的更深深度的编译单元用作最终编译单元。这里,编译过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编译过程的处理单元可以是预测单元(pu)或变换单元(tu)。预测单元和变换单元可以从最终编译单元分割或分区。预测单元可以是样本预测单元,变换单元可以是用于导出变换系数的单元和/或用于从变换系数导出残差信号的单元。
86.预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或cu的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
87.帧内预测单元185可以通过参考当前图片中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
88.帧间预测单元180可以基于由参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以相同或不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等。包括时间邻近块的参考图片可以被称为并置图片(colpic)。例如,帧间预测单元180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来导出当前块的运动向量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(mvp)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号发送当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
89.预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,
预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(ciip)。此外,预测单元可以执行帧内块复制(ibc)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编译,例如,屏幕内容编译(scc)。ibc是一种在与当前块相隔预定距离的位置处使用当前图片中先前重构的参考块来预测当前图片的方法。当应用ibc时,参考块在当前图片中的位置可以被编码为对应于预定距离的向量(块向量)。ibc基本上在当前图片中执行预测,但是可以类似于帧间预测来执行,因为在当前图片内导出参考块。即,ibc可以使用本公开中描述的帧间预测技术中的至少一种。ibc基本上在当前图片中执行预测,但是可以类似于帧间预测来执行,因为在当前图片内导出参考块。即,ibc可以使用本公开中描述的帧间预测技术中的至少一种。
90.预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
91.变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由图形表示时从图形获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的方形像素块或者可以应用于具有可变大小而不是方形的块。
92.量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块形式的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
93.熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器190可以一起或单独地编码除量化变换系数之外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(nal)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号发送的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
94.比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括usb、sd、cd、dvd、蓝光、hdd、ssd等各种存储介质。可以包括传输从熵编码器190输出的信号的发射器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码装置100的内部/外部元件。替代地,可以提供发射器作为熵编码器190的组件。
95.从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器
140和逆变换器150对量化的变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
96.加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,生成重构信号(重构图像、重构块、重构样本阵列)。如果要处理块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前图片中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个图片进行帧间预测。
97.滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构图片应用各种滤波方法来生成修改的重构图片,并将修改的重构图片存储在存储器170中,具体地,存储器170的dpb中。各种滤波方法可以包括,例如,去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
98.传输到存储器170的修改的重构图片可以用作帧间预测单元180中的参考图片。当通过图像编码装置100应用帧间预测时,可以避免图像编码装置100和图像解码装置之间的预测失配并且可以提高编码效率。
99.存储器170的dpb可以存储修改的重构图片以用作帧间预测单元180中的参考图片。存储器170可以存储从其中导出(或编码)当前图片中的运动信息的块的运动信息和/或图片中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前图片中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
100.图像解码装置概述
101.图3是示意性地示出本公开的实施例可适用的图像解码装置的视图。
102.如图3所示,图像解码装置200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。
103.根据实施例,配置图像解码装置200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码图片缓冲器(dpb)或者可以由数字存储介质配置。
104.已经接收到包括视频/图像信息的比特流的图像解码装置200可以通过执行与由图2的图像编码装置100执行的处理相对应的处理来重构图像。例如,图像解码装置200可以使用在图像编码装置中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编译单元。编译单元可以通过分区编译树单元或最大编译单元来获得。通过图像解码装置200解码和输出的重构图像信号可以通过再现装置(未示出)再现。
105.图像解码装置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的组件。
106.同时,根据本公开的图像解码装置可以被称为视频/图像/图片解码装置。图像解码装置可以分为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元160或帧内预测单元265中的至少一个。
107.解量化器220可以对量化的变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化的变换系数。在这种情况下,可以基于在图像编码装置中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化的变换系数执行解量化并获得变换系数。
108.逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
109.预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于关于从熵解码器210输出的预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定的帧内/帧间预测模式(预测技术)。
110.与在图像编码装置100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
111.帧内预测单元265可以通过参考当前图片中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
112.帧间预测单元260可以基于由参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配
置运动信息候选列表,并且基于接收到的候选选择信息导出当前块的运动向量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
113.加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构块。如果要处理的块没有残差,诸如在应用跳过模式时,则可以将预测块用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。生成的重构信号可以用于当前图片中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个图片进行帧间预测。
114.滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构图片应用各种滤波方法来生成修改的重构图片,并将修改的重构图片存储在存储器250中,具体地,存储器250的dpb中。各种滤波方法可以包括,例如,去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
115.存储在存储器250的dpb中的(修改的)重构图片可以用作帧间预测单元260中的参考图片。存储器250可以存储从其中导出(或解码)当前图片中的运动信息的块的运动信息和/或图片中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前图片中重构块的重构样本并将重构样本传送到帧内预测单元265。
116.在本公开中,在图像编码装置100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施例可以同等地或对应地应用于图像解码装置200的滤波器240、帧间预测单元260和帧内预测单元265。
117.ctu分区的概述
118.如上所述,可以通过根据四叉树/二叉树/三叉树(qt/bt/tt)结构递归地对编译树单元(ctu)或最大编译单元(lcu)进行分区来获取编译单元。例如,ctu可以被首先分区成四叉树结构。此后,可以通过多类型树结构对四叉树结构的叶节点进一步进行分区。
119.根据四叉树的分区意指当前cu(或ctu)被同等地分区成四个。通过根据四叉树的分区,可以将当前cu分区成具有相同宽度和相同高度的四个cu。在当前cu不再被分区成四叉树结构时,当前cu对应于四叉树结构的叶节点。与四叉树结构的叶节点对应的cu可以不再被分区并且可以被用作上述最终编译单元。可替选地,可以通过多类型树结构对与四叉树结构的叶节点对应的cu进一步进行分区。
120.图4是示出了根据多类型树结构的块的分区类型的实施例的视图。根据多类型树结构的分区可以包括根据二叉树结构的两种类型的分割和根据三叉树结构的两种类型的分割。
121.根据二叉树结构的两种类型的分割可以包括垂直二叉分割(split_bt_ver)和水平二叉分割(split_bt_hor)。垂直二叉分割(split_bt_ver)意指当前cu在垂直方向上被同等地分割成两个。如图4所示,通过垂直二叉分割,可以生成高度与当前cu相同并且宽度为当前cu的宽度的一半的两个cu。水平二叉分割(split_bt_hor)意指当前cu在水平方向上被同等地分割成两个。如图5所示,通过水平二叉分割,可以生成高度为当前cu的高度的一半并且宽度与当前cu相同的两个cu。
122.根据三叉数结构的两种类型的分割可以包括垂直三叉分割(split_tt_ver)和水平三叉分割(split_tt_hor)。在垂直三叉分割(split_tt_ver)中,当前cu被以1:2:1的比率在垂直方向上分割。如图4所示,通过垂直三叉分割,可以生成高度与当前cu相同并且宽度为当前cu的宽度的1/4的两个cu,以及高度与当前cu相同并且宽度为当前cu的宽度的一半的cu。在水平三叉分割(split_tt_hor)中,当前cu被以1:2:1的比率在水平方向上分割。如图4所示,通过水平三叉分割,可以生成高度为当前cu的高度的1/4并且宽度与当前cu相同的两个cu,以及高度为当前cu的高度的一半并且宽度与当前cu相同的cu。
123.图5是示出了根据本公开的具有嵌套多类型树结构的四叉树中的分区分割信息的信令机制的视图。
124.这里,ctu被视为四叉树的根节点,并且被首次分区成四叉树结构。指示是否相对于当前cu(四叉树的ctu或节点(qt_node))执行四叉树分割的信息(例如,qt_split_flag)被用信号发送。例如,当qt_split_flag具有第一值(例如,“1”)时,当前cu可以被四叉树分区。另外,当qt_split_flag具有第二值(例如,“0”)时,当前cu不四叉树分区,而是变成四叉树的叶节点(qt_leaf_node)。然后可以将每个四叉树叶节点进一步分区成多类型树结构。也就是说,四叉树的叶节点可以变成多类型树的节点(mtt_node)。在多类型树结构中,第一标志(例如,mtt_split_cu_flag)被用信号发送以指示当前节点是否被附加地分区。如果对应节点被附加地分区(例如,如果第一标志为1),则可以用信号发送第二标志(例如,mtt_split_cu_vertical_flag)以指示分割方向。例如,分割方向在第二标志为1的情况下可以是垂直方向,而在第二标志为0的情况下可以是水平方向。然后,可以用信号发送第三标志(例如,mtt_split_cu_binary_flag)以指示分割类型是二叉分割类型还是三叉分割类型。例如,分割类型在第三标志为1时可以是二叉分割类型,而在第三标志为0时可以是三叉分割类型。通过二叉分割或三叉分割获取的多类型树的节点可以被进一步分区成多类型树结构。然而,可以不将多类型树的节点分区成四叉树结构。如果第一标志为0,则多类型树的对应节点不再被分割,而是变成多类型树的叶节点(mtt_leaf_node)。与多类型树的叶节点对应的cu可以被用作上述最终编译单元。
125.基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可以如下表1所示导出cu的多类型树分割模式(mttsplitmode)。在以下描述中,多类型树分割模式可以被称为多树分割类型或分割类型。
126.[表1]
[0127]
mttsplitmodemtt_split_cu_vertical_flagmtt_split_cu_binary_flagsplit_tt_hor00split_bt_hor01split_tt_ver10split_bt_ver11
[0128]
一个ctu可以包括亮度样本的编译块(在下文中称为“亮度块”)和与其对应的色度样本的两个编译块(在下文中称为“色度块”)。上述编译树方案可以被同等地或单独地应用于当前cu的亮度块和色度块。具体地,可以将一个ctu中的亮度块和色度块分区成相同的块树结构,并且在这种情况下,树结构被表示为single_tree。可替选地,可以将一个ctu中的亮度块和色度块分区成单独的块树结构,并且在这种情况下,可以将树结构表示为dual_
tree。也就是说,当ctu被分区成双树时,用于亮度块的块树结构和用于色度块的块树结构可以分别存在。在这种情况下,可以将用于亮度块的块树结构称作dual_tree_luma,并且可以将用于色度分量的块树结构称dual_tree_chroma。对于p和b切片/拼块组,可以将一个ctu中的亮度块和色度块限制为具有相同的编译树结构。然而,对于i切片/拼块组,亮度块和色度块可以具有彼此分开的块树结构。如果应用单独的块树结构,则可以基于特定编译树结构来将亮度ctb分区成cu,并且可以基于另一编译树结构来将色度ctb分区成色度cu。也就是说,这意味着应用单独的块树结构的i切片/拼块组中的cu可以包括亮度分量的编译块或两个色度分量的编译块并且p或b切片/拼块组的cu可以包括三个颜色分量(一个亮度分量和两个色度分量)的块。
[0129]
尽管已经描述了具有嵌套多类型树的四叉树编译树结构,但是对cu进行分区的结构不限于此。例如,可以将bt结构和tt结构解释为多分区树(mpt)结构中包括的概念,并且可以将cu解释为通过qt结构和mpt结构被分区。在通过qt结构和mpt结构对cu进行分区的示例中,可以用信号发送包括关于qt结构的叶节点被分区成多少块的信息的语法元素(例如mpt_split_type)以及包括关于qt结构的叶节点被分区成垂直方向和水平方向中的哪一个的信息的语法元素(例如mpt_split_mode),以确定分区结构。
[0130]
在另一示例中,可以以与qt结构、bt结构或tt结构不同的方式对cu进行分区。也就是说,不同于根据qt结构将较低深度的cu分区成较高深度的cu的1/4,根据bt结构将较低深度的cu分区成较高深度的cu的1/2,或者根据tt结构将较低深度的cu分区成较高深度的cu的1/4或1/2,在一些情况下可以将较低深度的cu分区成较高深度的cu的1/5、1/3、3/8、3/5、2/3或5/8,并且对cu进行分区的方法不限于此。
[0131]
帧间预测的概述
[0132]
在下文中,将描述根据本公开的帧间预测。
[0133]
根据本公开的图像编码设备/图像解码设备的预测单元可以以块为单元执行帧间预测以导出预测样本。帧间预测可以表示以依赖于除当前图片以外的图片的数据元素(例如,样本值、运动信息等)的方式导出的预测。当帧间预测应用于当前块时,可以基于由通过参考图片索引指示的参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块(预测块或预测样本阵列)。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性来以块、子块或样本为单元预测当前块的运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测类型(l0预测、l1预测、bi预测等)信息。当应用帧间预测时,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以是相同或不同的。时间邻近块可以被称为并置参考块、并置cu(colcu)或colblock,并且包括时间邻近块的参考图片可以被称为并置图片(colpic)或colpicture。例如,可以基于当前块的邻近块来构建运动信息候选列表,并且可以用信号发送指示哪个候选被选择(使用)的标志或索引信息以便导出当前块的运动向量和/或参考图片索引。
[0134]
可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,当前块的运动信息可以等于所选择的邻近块的运动信息。在跳过模式的情况下,与合并模式不同,可以不发送残差信号。在运动信息预测(mvp)模式的情况下,所选择的邻近块的运
动向量可以被用作运动向量预测子并且可以用信号发送运动向量差。在这种情况下,可以使用运动向量预测子和运动向量差的和来导出当前块的运动向量。在本公开中,mvp模式可以具有与高级运动向量预测(amvp)相同的含义。
[0135]
根据帧间预测类型(l0预测、l1预测、bi预测等),运动信息可以包括l0运动信息和/或l1运动信息。l0方向上的运动向量可以被称为l0运动向量或mvl0,而l1方向上的运动向量可以被称为l1运动向量或mvl1。基于l0运动向量的预测可以被称为l0预测,基于l1运动向量的预测可以被称为l1预测,而基于l0运动向量和l1运动向量二者的预测可以被称为bi预测。这里,l0运动向量可以指示与参考图片列表l0(l0)关联的运动向量,而l1运动向量可以指示与参考图片列表l1(l1)关联的运动向量。参考图片列表l0可以包括按输出顺序在当前图片之前的图片作为参考图片,而参考图片列表l1可以包括按输出顺序在当前图片之后的图片。先前图片可以被称为正向(参考)图片,而后续图片可以被称为反向(参考)图片。参考图片列表l0还可以包括按输出顺序在当前图片之后的图片作为参考图片。在这种情况下,在参考图片列表l0内,可以首先对先前图片编索引,然后可以对后续图片编索引。参考图片列表l1还可以包括按输出顺序在当前图片之前的图片作为参考图片。在这种情况下,在参考图片列表l1内,可以首先对后续图片编索引,然后可以对先前图片编索引。这里,输出顺序可以对应于图片顺序计数(poc)顺序。
[0136]
图6是图示基于帧间预测的视频/图像编码方法的流程图。
[0137]
图7是图示根据本公开的帧间预测单元180的配置的视图。
[0138]
图6的编码方法可以由图2的图像编码设备执行。具体地,步骤s610可以由帧间预测单元180执行,并且步骤s620可以由残差处理器执行。具体地,步骤s620可以由减法器115执行。步骤s630可以由熵编码器190执行。步骤s630的预测信息可以由帧间预测单元180导出,并且步骤s630的残差信息可以由残差处理器导出。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。如上所述,残差样本可以通过图像编码设备的变换器120被导出为变换系数,并且变换系数可以通过量化器130被导出为量化变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编译过程来编码。
[0139]
图像编码设备可以相对于当前块执行帧间预测(s610)。图像编码设备可以导出当前块的帧间预测模式和运动信息并且生成当前块的预测样本。这里,可以同时地执行帧间预测模式确定、运动信息导出和预测样本生成过程或者可以在其它过程之前执行其任何一个。例如,如图7所示,图像编码设备的帧间预测单元180可以包括预测模式确定单元181、运动信息导出单元182和预测样本导出单元183。预测模式确定单元181可以确定当前块的预测模式,运动信息导出单元182可以导出当前块的运动信息,并且预测样本导出单元183可以导出当前块的预测样本。例如,图像编码设备的帧间预测单元180可以通过运动估计在参考图片的预定区域(搜索区域)内搜索与当前块类似的块,并且导出其与当前块的差等于或小于预定准则或最小值的参考块。基于此,可以导出指示参考块位于其中的参考图片的参考图片索引,并且可以基于参考块与当前块之间的位置差来导出运动向量。图像编码设备可以在各种预测模式当中确定应用于当前块的模式。图像编码设备可以针对各种预测模式比较速率失真(rd)成本,并且确定当前块的最佳预测模式。然而,由图像编码设备确定当前块的预测模式的方法不限于上述示例,并且可以使用各种方法。
[0140]
例如,当跳过模式或合并模式适用于当前块时,图像编码设备可以从当前块的邻
近块导出合并候选,并且使用所导出的合并候选来构建合并候选列表。另外,图像编码设备可以在通过合并候选列表中包括的合并候选指示的参考块当中导出其与当前块的差等于或小于预定准则或最小值的参考块。在这种情况下,可以选择与所导出的参考块关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并且将其用信号发送给图像解码设备。可以使用所选择的合并候选的运动信息来导出当前块的运动信息。
[0141]
作为另一示例,当mvp模式适用于当前块时,图像编码设备可以从当前块的邻近块导出运动向量预测子(mvp)候选,并且使用所导出的mvp候选来构建mvp候选列表。另外,图像编码设备可以使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过上述运动估计导出的参考块的运动向量可以被用作当前块的运动向量,在mvp候选当中具有与当前块的运动向量的差最小的运动向量的当前块可以是所选择的mvp候选。可以导出作为通过从当前块的运动向量减去mvp所获得的差的运动向量差(mvd)。在这种情况下,可以将指示所选择的mvp候选的索引信息和关于mvd的信息用信号发送给图像解码设备。另外,当应用mvp模式时,可以将参考图片索引的值构建为参考图片索引信息并且单独地用信号发送给图像解码设备。
[0142]
图像编码设备可以基于预测样本来导出残差样本(s620)。图像编码设备可以通过当前块的原始样本与预测样本之间的比较来导出残差样本。例如,可以通过从原始样本减去对应的预测样本来导出残差样本。
[0143]
图像编码设备可以对包括预测信息和残差信息的图像信息进行编码(s630)。图像编码设备可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引等)和关于运动信息的信息作为与预测过程有关的信息。在预测模式信息当中,跳过标志指示跳过模式是否适用于当前块,而合并标志指示合并模式是否适用于当前块。可替选地,预测模式信息可以指示多种预测模式中的一种,诸如模式索引。当跳过标志和合并标志为0时,可以确定mvp模式适用于当前块。关于运动信息的信息可以包括作为用于导出运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。在候选选择信息当中,合并索引可以在合并模式适用于当前块时被用信号发送并且可以是用于选择合并候选列表中包括的合并候选中的一个的信息。在候选选择信息当中,mvp标志或mvp索引可以在mvp模式适用于当前块时被用信号发送并且可以是用于选择mvp候选列表中的mvp候选中的一个的信息。另外,关于运动信息的信息可以包括关于上述mvd的信息和/或参考图片索引信息。另外,关于运动信息的信息可以包括指示是应用l0预测、l1预测还是bi预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
[0144]
输出比特流可以被存储在(数字)存储介质中并且被发送到图像解码设备或者可以经由网络被发送到图像解码设备。
[0145]
如上所述,图像编码设备可以基于参考样本和残差样本来生成重构图片(包括重构样本和重构块的图片)。这是为了图像编码设备导出与由图像解码设备执行的预测结果相同的预测结果,从而提高编译效率。因此,图像编码设备可以将重构图片(或重构样本和重构块)存储在存储器中并且将其用作用于帧间预测的参考图片。如上所述,环路内滤波过程还适用于重构图片。
[0146]
图8是图示基于帧间预测的视频/图像解码方法的流程图。
[0147]
图9是图示根据本公开的帧间预测单元260的配置的视图。
[0148]
图像解码设备可以执行与由图像编码设备执行的操作对应的操作。图像解码设备可以基于接收到的预测信息相对于当前块执行预测并且导出预测样本。
[0149]
图8的解码方法可以由图3的图像解码设备执行。步骤s810至s830可以由帧间预测单元260执行,并且步骤s810的预测信息和步骤s840的残差信息可以由熵解码器210从比特流获得。图像解码设备的残差处理器可以基于残差信息来导出当前块的残差样本(s840)。具体地,残差处理器的解量化器220可以基于根据残差信息而导出的解量化变换系数来执行解量化以导出变换系数,并且残差处理器的逆变换器230可以相对于变换系数执行逆变换以导出当前块的残差样本。步骤s850可以由加法器235或重构器执行。
[0150]
具体地,图像解码设备可以基于所接收到的预测信息来确定当前块的预测模式(s810)。图像解码设备可以基于预测信息中的预测模式信息来确定哪种帧间预测模式适用于当前块。
[0151]
例如,可以基于跳过标志来确定跳过模式是否适用于当前块。另外,可以基于合并标志来确定是合并模式还是mvp模式适用于当前块。可替选地,可以基于模式索引来选择各种帧间预测模式候选中的一个。帧间预测模式候选可以包括跳过模式、合并模式和/或mvp模式或者可以包括将在下面描述的各种帧间预测模式。
[0152]
图像解码设备可以基于所确定的帧间预测模式来导出当前块的运动信息(s820)。例如,当跳过模式或合并模式适用于当前块时,图像解码设备可以构建将在下面描述的合并候选列表,并且选择合并候选列表中包括的合并候选中的一个。可以基于上述候选选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动信息来导出当前块的运动信息。例如,可以将所选择的合并候选的运动信息用作当前块的运动信息。
[0153]
作为另一示例,当mvp模式适用于当前块时,图像解码设备可以构建mvp候选列表,并且使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。可以基于上述候选选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于mvd的信息来导出当前块的mvd,并且可以基于当前块的mvp和mvd来导出当前块的运动向量。另外,可以基于参考图片索引信息来导出当前块的参考图片索引。可以将在当前块的参考图片列表中通过参考图片索引指示的图片导出为被参考以进行当前块的帧间预测的参考图片。
[0154]
图像解码设备可以基于当前块的运动信息来生成当前块的预测样本(s830)。在这种情况下,可以基于当前块的参考图片索引来导出参考图片,并且可以使用参考图片上通过当前块的运动向量指示的参考块的样本来导出当前块的预测样本。在一些情况下,还可以相对于当前块的预测样本中的全部或一些执行预测样本滤波过程。
[0155]
例如,如图9中所示,图像解码设备的帧间预测单元260可以包括预测模式确定单元261、运动信息导出单元262和预测样本导出单元263。在图像解码设备的帧间预测单元260中,预测模式确定单元261可以基于所接收到的预测模式信息来确定当前块的预测模式,运动信息导出单元262可以基于所接收到的运动信息来导出当前块的运动信息(运动向量和/或参考图片索引等),并且预测样本导出单元263可以导出当前块的预测样本。
[0156]
图像解码设备可以基于所接收到的残差信息来生成当前块的残差样本(s840)。图像解码设备可以基于预测样本和残差样本来生成当前块的重构样本并且基于此来生成重
构图片(s850)。此后,环路内滤波过程适用于如上所述的重构图片。
[0157]
如上所述,帧间预测过程可以包括确定帧间预测模式的步骤、根据所确定的预测模式来导出运动信息的步骤、以及基于所导出的运动信息来执行预测(生成预测样本)的步骤。如上所述,帧间预测过程可以由图像编码设备和图像解码设备执行。
[0158]
在下文中,将更详细地描述根据预测模式来导出运动信息的步骤。
[0159]
如上所述,可以使用当前块的运动信息来执行帧间预测。图像编码设备可以通过运动估计过程来导出当前块的最佳运动信息。例如,图像编码设备可以按分数像素单元使用当前块的原始图片中的原始块来在参考图片中在预定搜索范围内搜索具有高相关性的类似参考块,并且使用其来导出运动信息。可以基于当前块与参考块之间的绝对差之和(sad)来计算块的相似度。在这种情况下,可以基于搜索区域中具有最小sad的参考块来导出运动信息。可以根据基于帧间预测模式的各种方法将所导出的运动信息用信号发送给图像解码设备。
[0160]
当合并模式适用于当前块时,不直接发送当前块的运动信息,并且使用邻近块的运动信息来导出当前块的运动信息。因此,可以通过发送指示合并模式被使用的标志信息和指示哪个邻近块被用作合并候选的候选选择信息(例如,合并索引)来指示当前预测块的运动信息。在本公开中,由于当前块是预测性能的单元,所以当前块可以被用作与当前预测块相同的含义,并且邻近块可以被用作与邻近预测块相同的含义。
[0161]
图像编码设备可以搜索用于导出当前块的运动信息的合并候选块以执行合并模式。例如,可以使用最多五个合并候选块,但不限于此。可以在切片头或拼块组头中发送合并候选块的最大数目,但不限于此。在找到合并候选块之后,图像编码设备可以生成合并候选列表并且选择具有最小rd成本的合并候选块作为最终合并候选块。
[0162]
本公开提供针对配置合并候选列表的合并候选块的各种实施例。合并候选列表可以使用例如五个合并候选块。例如,可以使用四个空间合并候选和一个时间合并候选。
[0163]
图10是图示可用作空间合并候选的邻近块的视图。
[0164]
图11是示意性地图示根据本公开的示例的合并候选列表构建方法的视图。
[0165]
图像编码/解码设备可以将通过搜索当前块的空间邻近块导出的空间合并候选插入到合并候选列表中(s1110)。例如,如图10中所示,空间邻近块可以包括当前块的左底角邻近块a0、左邻近块a1、右顶部拐角邻近块b0、顶部邻近块b1和左顶部拐角邻近块b2。然而,这是示例,并且除了上述空间邻近块之外,诸如右邻近块、底部邻近块和右底部邻近块的附加邻近块可以被进一步用作空间邻近块。图像编码/解码设备可以通过基于优先级搜索空间邻近块来检测可用块,并且导出所检测到的块的运动信息作为空间合并候选。例如,图像编码/解码设备可以通过按a1、b1、b0、a0和b2的顺序搜索图10所示的五个块,并且顺序地对可用候选编索引来构建合并候选列表。
[0166]
图像编码/解码设备可以将通过搜索当前块的时间邻近块导出的时间合并候选插入到合并候选列表中(s1120)。时间邻近块可以位于与当前块位于其中的当前图片不同的参考图片上。时间邻近块位于其中的参考图片可以被称为并置图片或col图片。可以按col图片上当前块的并置块的右底角邻近块和右底部中心块的顺序搜索时间邻近块。同时,当应用运动数据压缩以便减少存储器负载时,可以将特定运动信息存储为col图片的每个预定存储单元的代表性运动信息。在这种情况下,不需要存储预定存储单元中的所有块的运
动信息,从而获得运动数据压缩效果。在这种情况下,可以将预定存储单元预先确定为例如16
×
16样本单元或8
×
8样本单元,或者可以将预定存储单元的大小信息从图像编码设备用信号发送给图像解码设备。当应用运动数据压缩时,时间邻近块的运动信息可以用时间邻近块位于其中的预定存储单元的代表性运动信息替换。也就是说,在这种情况下,从实现方式的观点看,可以基于在基于时间邻近块的坐标(左顶部样本位置)算术右移了预定值之后覆盖算术左移位置的预测块(而不是位于时间邻近块的坐标上的预测块)的运动信息,来导出时间合并候选。例如,当预定存储单元是2nx2n样本单元并且时间邻近块的坐标是(xtnb,ytnb)时,位于修改后的位置((xtnb》》n)《《n),(ytnb》》n)《《n))处的预测块的运动信息可以被用于时间合并候选。具体地,例如,当预定存储单元是16x16样本单元并且时间邻近块的坐标是(xtnb,ytnb)时,位于修改后的位置((xtnb》》4)《《4),(ytnb》》4)《《4))处的预测块的运动信息可以被用于时间合并候选。可替选地,例如,当预定存储单元是8x8样本单元并且时间邻近块的坐标是(xtnb,ytnb)时,位于修改后的位置((xtnb》》3)《《3),(ytnb》》3)《《3))处的预测块的运动信息可以被用于时间合并候选。
[0167]
再次参考图11,图像编码/解码设备可以检查当前合并候选的数目是否小于合并候选的最大数目(s1130)。合并候选的最大数目可以被预定义或者从图像编码设备用信号发送给图像解码设备。例如,图像编码设备可以生成关于合并候选的最大数目的信息并对其进行编码,并且将编码的信息以比特流的形式发送到图像解码设备。当满足合并候选的最大数目时,可能不执行后续候选添加过程s1140。
[0168]
当作为步骤s1130的检查结果当前合并候选的数目小于合并候选的最大数目时,图像编码/解码设备可以根据预定方法来导出附加合并候选,然后将附加合并候选插入到合并候选列表(s1140)。
[0169]
当作为步骤s1130的检查结果当前合并候选的数目不小于合并候选的最大数目时,图像编码/解码设备可以结束合并候选列表的构建。在这种情况下,图像编码设备可以从配置合并候选列表的合并候选当中选择最佳合并候选,并且将指示所选择的合并候选的候选选择信息(例如,合并索引)用信号发送给图像解码设备。图像解码设备可以基于合并候选列表和候选选择信息来选择最佳合并候选。
[0170]
如上所述,所选择的合并候选的运动信息可以被用作当前块的运动信息,并且可以基于当前块的运动信息来导出当前块的预测样本。图像编码设备可以基于预测样本来导出当前块的残差样本,并且将残差样本的残差信息用信号发送给图像解码设备。如上所述,图像解码设备可以基于根据残差信息和预测样本而导出的残差样本来生成重构样本,并且基于其来生成重构图片。
[0171]
当对当前块应用跳过模式时,可以使用与应用合并模式的情况相同的方法来导出当前块的运动信息。然而,当应用跳过模式时,对应块的残差信号被省略,并且因此预测样本可以被直接用作重构样本。
[0172]
当对当前块应用mvp模式时,可以使用重构空间邻近块(例如,图10所示的邻近块)的运动向量和/或与时间邻近块(或col块)对应的运动向量来生成运动向量预测子(mvp)候选列表。也就是说,重构空间邻近块的运动向量和与时间邻近块对应的运动向量可以被用作当前块的运动向量预测子候选。当应用bi预测时,用于l0运动信息导出的mvp候选列表和用于l1运动信息导出的mvp候选列表被单独地生成并被使用。当前块的预测信息(或关于预
测的信息)可以包括指示从mvp候选列表中包括的运动向量预测子候选当中选择的最佳运动向量预测子候选的候选选择信息(例如,mvp标志或mvp索引)。在这种情况下,预测单元可以使用候选选择信息来从mvp候选列表中包括的运动向量预测子候选当中选择当前块的运动向量预测子。图像编码设备的预测单元可以获得当前块的运动向量与运动向量预测子之间的运动向量差(mvd)并对其进行编码,并且以比特流的形式输出编码的mvd。也就是说,可以通过从当前块的运动向量减去运动向量预测子来获得mvd。图像解码设备的预测单元可以获得关于预测的信息中包括的运动向量差并且通过运动向量差和运动向量预测子的相加来导出当前块的运动向量。图像编码设备的预测单元可以从关于预测的信息获得或导出指示参考图片的参考图片索引。
[0173]
图12是示意性地图示根据本公开的示例的运动向量预测子候选列表构建方法的视图。
[0174]
首先,可以搜索当前块的空间候选块并且可以将可用候选块插入到mvp候选列表中(s1210)。此后,确定mvp候选列表中包括的mvp候选的数目是否小于2(s1220),并且当mvp候选的数目为2时,可以完成mvp候选列表的构建。
[0175]
在步骤s1220中,当可用空间候选块的数目小于2时,可以搜索当前块的时间候选块并且可以将可用候选块插入到mvp候选列表中(s1230)。当时间候选块不可用时,可以将零运动向量插入到mvp候选列表中,从而完成mvp候选列表的构建。
[0176]
同时,当应用mvp模式时,可以显式地用信号发送参考图片索引。在这种情况下,可以区别地用信号发送用于l0预测的参考图片索引refidxl0和用于l1预测的参考图片索引refidxl1。例如,当应用mvp模式并且应用bi预测时,可以用信号发送关于refidxl0的信息和关于refidxl1的信息。
[0177]
如上所述,当应用mvp模式时,可以将关于由图像编码装置导出的mvp的信息用信号发送给图像解码装置。例如,关于mvd的信息可以包括mvd绝对值和指示符号的x和y分量的信息。在这种情况下,当mvd绝对值大于0时,可以分步地用信号发送mvd绝对值是否大于1以及指示mvd余数的信息。例如,只有当指示mvd绝对值是否大于0的标志信息的值为1时才可以用信号发送指示mvd绝对值是否大于1的信息。
[0178]
图13是图示根据本公开的实施例的用于从图像编码设备向图像解码设备发送mvd的语法结构的视图。
[0179]
在图13中,abs_mvd_greater0_flag[0]指示mvd的x分量的绝对值是否大于0,而abs_mvd_greater0_flag[1]指示mvd的y分量的绝对值是否大于0。类似地,abs_mvd_greater1_flag[0]指示mvd的x分量的绝对值是否大于1,而abs_mvd_greater1_flag[1]指示mvd的y分量的绝对值是否大于1。如图13所示,只有当abs_mvd_greater0_flag为1时才可以发送abs_mvd_greater1_flag。在图13中,abs_mvd_minus2可以指示通过从mvd的绝对值减去2所获得的值,并且mvd_sign_flag指示mvd的正负号是正还是负。使用图13所示的语法结构,可以如以下等式1所示的那样导出mvd。
[0180]
[等式1]
[0181]
mvd[compidx]=abs_mvd_greater0_flag[compidx]*(abs_mvd_minus2[compidx] 2)*(1-2*mvd_sign_flag[compidx])
[0182]
同时,可以区别地用信号发送用于l0预测的mvd(mvdl0)和用于l1预测的mvd
(mvdl1),并且关于mvd的信息可以包括关于mvdl0的信息和/或关于mvdl1的信息。例如,当对当前块应用mvp模式和应用bi预测时,可以用信号发送关于mvdl0的信息和关于mvdl1的信息。
[0183]
帧内块复制(ibc)预测的概述
[0184]
在下文中,将描述根据本公开的ibc预测。
[0185]
ibc预测可以由图像编码/解码设备的预测单元执行。ibc预测可以被简称为ibc。ibc可以被用于诸如屏幕内容编译(scc)的内容图像/运动图像编译。ibc预测可以基本上在当前图片中执行ibc预测,但是可以类似于帧间预测执行ibc预测,因为在当前图片内导出参考块。也就是说,ibc可以使用本公开中描述的帧间预测技术中的至少一种。例如,ibc可以使用上述运动信息(运动向量)导出方法中的至少一种。可以考虑到ibc预测部分地修改和使用帧间预测技术中的至少一种。ibc可以参考当前图片并且因此可以被称为当前图片参考(cpr)。
[0186]
对于ibc,图像编码设备可执行块匹配(bm)并且导出当前块(例如,cu)的最佳块向量(或运动向量)。可以使用与上述帧间预测中的运动信息(运动向量)的信令类似的方法,通过比特流将所导出的块向量(或运动向量)用信号发送给图像解码设备。图像解码设备可以通过经用信号发送的块向量(运动向量)来导出当前图片中的当前块的参考块,并且由此导出当前块的预测信号(预测块或预测样本)。这里,块向量(或运动向量)可以指示从当前块到位于当前图片中已经重构的区域中的参考块的位移。因此,块向量(或运动向量)可以被称为位移向量。在下文中,在ibc中,运动向量可以对应于块向量或位移向量。当前块的运动向量可以包括亮度分量的运动向量(亮度运动向量)或色度分量的运动向量(色度运动向量)。例如,ibc编译的cu的亮度运动向量可以是整数样本单元(即,整数精度)。可以以整数样本单元修剪色度运动向量。如上所述,ibc可以使用帧间预测技术中的至少一种,并且例如,可以使用上述合并模式或mvp模式来对亮度运动向量进行编码/解码。
[0187]
当对亮度ibc块应用合并模式时,可以类似于参考图11描述的帧间模式下的合并候选列表构建亮度ibc块的合并候选列表。然而,在亮度ibc块的情况下,可能不将时间邻近块用作合并候选。
[0188]
当将mvp模式应用于亮度ibc块时,可以类似于参考图12描述的帧间模式下的mvp候选列表构建亮度ibc块的mvp候选列表。然而,在亮度ibc块的情况下,可以不将时间候选块用作mvp候选。
[0189]
在ibc中,参考块是从当前图片中已经重构的区域导出的。在这种情况下,为了降低图像解码设备的存储器消耗和复杂度,可以参考仅当前图片中已经重构的区域当中的预定义区域。预定义区域可以包括当前块被包括在其中的当前ctu。通过将可参考的重构区域限制为预定义区域,可以使用本地片上存储器来在硬件中实现ibc模式。
[0190]
用于执行ibc的图像编码设备可以搜索预定义区域以确定具有最小rd成本的参考块并且基于参考块和当前块的位置来导出运动向量(块向量)。
[0191]
是否将ibc应用于当前块可以作为cu级别下的ibc性能信息被用信号发送。可以用信号发送关于当前块的运动向量的信令方法(ibc mvp模式或ibc跳过/合并模式)的信息。ibc性能信息可以用于确定当前块的预测模式。因此,可以将ibc性能信息包括在关于当前块的预测模式的信息中。
[0192]
在ibc跳过/合并模式的情况下,可以用信号发送合并候选索引以指示在合并候选列表中包括的块向量当中要用于当前亮度块的预测的块向量。
[0193]
在这种情况下,合并候选列表可以包括ibc编码的邻近块。合并候选列表可以被配置为包括空间合并候选而不包括时间合并候选。另外,合并候选列表还可以包括基于历史的运动向量预测子(hmvp)候选和/或成对候选。
[0194]
在ibc mvp模式的情况下,块向量差值可以使用与上述帧间模式的运动向量差值相同的方法来编码。块向量预测方法可以类似于帧间模式的mvp模式构建并使用包括两个候选作为预测子的mvp候选列表。可以从左邻近块导出两个候选中的一个,并且可以从顶部邻近块导出另一个候选。在这种情况下,只有当左或顶部邻近块以ibc被编码时,才可以从对应邻近块导出候选。如果左或顶部邻近块不可用,例如,不是以ibc被编码,则默认块向量可以作为预测子被包括在mvp候选列表中。另外,指示两个块向量预测子中的一个的信息(例如,标志)被类似于帧间模式的mvp模式用信号发送并用作候选选择信息。mvp候选列表可以包括hmvp候选和/或零运动向量作为默认块向量。
[0195]
hmvp候选可以被称为基于历史的mvp候选,并且在当前块的编码/解码之前使用的mvp候选、合并候选或块向量候选可以作为hmvp候选被存储在hmvp列表中。此后,在当前块的合并候选列表或mvp候选列表不包括最大数目的候选时,可以将存储在hmvp列表中的候选作为hmvp候选添加到当前块的合并候选列表或mvp候选列表。
[0196]
成对候选意指通过根据预定顺序从已经包括在当前块的合并候选列表中的候选当中选择两个候选并且计算所选择的两个候选的平均所导出的候选。
[0197]
图14是图示基于ibc的视频/图像编码方法的流程图。
[0198]
图15是图示根据本公开的用于执行基于ibc的视频/图像编码方法的预测单元的配置的视图。
[0199]
图14的编码方法可以由图2的图像编码设备执行。具体地,步骤s1410可以由预测单元执行并且步骤s1420可以由残差处理器执行。具体地,步骤s1420可以由减法器115执行。步骤s1430可以由熵编码器190执行。步骤s1430的预测信息可以由预测单元导出并且步骤s1430的残差信息可以由残差处理器导出。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。如上所述,可以经由图像编码设备的变换器120通过变换系数来导出残差样本,并且可以通过经由量化器130量化的变换系数来导出变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编译过程来编码。
[0200]
图像编码设备可以针对当前块执行ibc预测(基于ibc的预测)(s1410)。图像编码设备可以导出当前块的预测模式和运动向量(块向量)并且生成当前块的预测样本。预测模式可以包括上述帧间预测模式中的至少一种。这里,可以同时地执行预测模式确定、运动向量导出和预测样本生成过程,或者可以在其它过程之前执行任何一个过程。例如,如图15所示,用于执行基于ibc的视频/图像编码方法的图像编码设备的预测单元可以包括预测模式确定单元、运动向量导出单元和预测样本导出单元。预测模式确定单元可以确定当前块的预测模式,运动向量导出单元可以导出当前块的运动向量,并且预测样本导出单元可以导出当前块的预测样本。例如,图像编码设备的预测单元可以在当前图片的重构区域(或重构区域的某个区域(搜索区域))中搜索与当前块类似的块并且导出其与当前块的差等于或小于某个准则或最小值的参考块。图像编码设备可以基于参考块与当前块之间的位移差来导
出运动向量。图像编码设备可以在各种预测模式当中确定应用于当前块的模式。图像编码设备可以针对各种预测模式比较rd成本,并且确定当前块的最佳预测模式。然而,由图像编码设备确定当前块的预测模式的方法不限于上述示例并且可以使用各种方法。
[0201]
例如,当对当前块应用跳过模式或合并模式时,图像编码设备可以从当前块的邻近块导出合并候选,并且使用所导出的合并候选来构建合并候选列表。另外,图像编码设备可以在通过合并候选列表中包括的合并候选指示的参考块当中导出其与当前块的差等于或小于特定准则或最小值的参考块。在这种情况下,可以选择与所导出的参考块关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息,并且将其用信号发送给图像解码设备。使用所选择的合并候选的运动向量,可以导出当前块的运动向量。
[0202]
作为另一示例,当对当前块应用mvp模式时,图像编码设备可以从当前块的邻近块导出运动向量预测子(mvp)候选,并且使用所导出的mvp候选来构建mvp候选列表。另外,图像编码设备可以使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过上述运动估计导出的参考块的运动向量可以被用作当前块的运动向量,并且在mvp候选当中与当前块的运动向量的差最小的mvp候选可以变成所选择的mvp候选。可以导出通过从当前块的运动向量减去mvp而获得的运动向量差(mvd)。在这种情况下,可以将指示所选择的mvp候选的索引信息和关于mvd的信息用信号发送给图像解码设备。
[0203]
图像编码设备可以基于预测样本来导出残差样本(s1420)。图像编码设备可以通过当前块的原始样本与预测样本之间的比较来导出残差样本。例如,可以通过从原始样本减去对应预测样本来导出残差样本。
[0204]
图像编码设备可以对包括预测信息和残差信息的图像信息进行编码(s1430)。图像编码设备可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引)和关于运动向量的信息作为与预测过程有关的信息。在预测模式信息当中,跳过标志指示是否将跳过模式应用于当前块,而合并标志指示是否将合并模式应用于当前块。可替选地,预测模式信息可以指示多种预测模式中的一种,诸如模式索引。当跳过标志和合并标志为0时,可以确定mvp模式适用于当前块。关于运动向量的信息可以包括作为用于导出运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。在候选选择信息当中,合并索引可以在将合并模式应用于当前块时被用信号发送,并且可以是用于选择合并候选列表中包括的合并候选中的一个的信息。在候选选择信息当中,mvp标志或mvp索引可以在将mvp模式应用于当前块时被用信号发送,并且可以是用于选择mvp候选列表中包括的mvp候选中的一个的信息。另外,关于运动向量的信息可以包括关于上述mvd的信息。另外,关于运动向量的信息可以包括指示是应用l0预测、l1预测还是bi预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
[0205]
输出比特流可以被存储在(数字)存储介质中并且发送到图像解码设备或者可以通过网络被发送到图像解码设备。
[0206]
同时,如上所述,图像编码设备可以基于参考样本和残差样本来生成重构图片(包括重构样本和重构块的图片)。这是为了图像编码设备导出与由图像解码设备执行的预测结果相同的预测结果,从而提高编译效率。因此,图像编码设备可以将重构图片(或重构样
本和重构块)存储在存储器中,并且将其用作用于帧间预测的参考图片。如上所述,环路内滤波过程还适用于重构图片。
[0207]
图16是图示基于ibc的视频/图像解码方法的流程图。
[0208]
图17是图示根据本公开的用于执行基于ibc的视频/图像解码方法的预测单元的配置的视图。
[0209]
图像解码设备可以执行与由图像编码设备执行的操作对应的操作。图像解码设备可以基于接收到的预测信息来对当前块执行ibc预测以导出预测样本。
[0210]
图16的解码方法可以由图3的图像解码设备执行。步骤s1610至s1630可以由预测单元执行,并且步骤s1610的预测信息和步骤s1640的残差信息可以由熵解码器210从比特流获得。图像解码设备的残差处理器可以基于残差信息来导出当前块的残差样本(s1640)。具体地,残差处理器的解量化器220可以基于根据残差信息而导出的量化变换系数来执行解量化以导出变换系数,并且残差处理器的逆变换器230可以关于变换系数执行逆变换以导出当前块的残差样本。步骤s1650可由加法器235或重构器执行。
[0211]
具体地,图像解码设备可以基于所接收到的预测信息来确定当前块的预测模式(s1610)。图像解码设备可以基于预测信息中的预测模式信息来确定哪种预测模式适用于当前块。
[0212]
例如,可以基于跳过标志来确定是否将跳过模式应用于当前块。另外,可以基于合并标志来确定是否将合并节点或mvp模式应用于当前块。可替选地,可以基于模式索引来选择各种预测模式候选中的一个。预测模式候选可以包括跳过模式、合并模式和/或mvp模式或者可以包括上述各种帧间预测模式。
[0213]
图像编码设备可以基于所确定的预测模式来导出当前块的运动向量(s1620)。例如,当将跳过模式或合并模式应用于当前块时,图像解码设备可以构建上述合并候选列表并且选择合并候选列表中包括的合并模式中的一种。可以基于上述候选选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动向量来导出当前块的运动向量。例如,所选择的合并候选的运动向量可以被用作当前块的运动向量。
[0214]
作为另一示例,当将mvp模式应用于当前块时,图像解码设备可以构建mvp候选列表,并且使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。可以基于上述候选选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于mvd的信息来导出当前块的mvd,并且可以基于当前块的mvp和mvd来导出当前块的运动向量。
[0215]
图像解码设备可以基于当前块的运动向量来生成当前块的预测样本(s1630)。可以使用通过当前图片上的当前块的运动向量指示的参考块的样本来导出当前块的预测样本。在一些情况下,可以进一步执行针对当前块的预测样本中的全部或一些的预测样本滤波过程。
[0216]
例如,如图17所示,用于执行基于ibc的视频/图像解码方法的图像解码设备的预测单元可以包括预测模式确定单元、运动向量导出单元和预测样本导出单元。图像解码设备的预测单元可以在预测模式确定单元中基于所接收到的预测模式信息来确定当前块的预测模式,在运动向量导出单元中基于所接收到的关于运动向量的信息来导出当前块的运动向量,并且在预测样本导出单元中导出当前块的预测样本。
[0217]
图像解码设备可以基于所接收到的残差信息来生成当前块的残差样本(s1640)。图像解码设备可以基于预测样本和残差样本来生成当前块的重构样本,并且基于此来生成重构图片(s1650)。此后,如上所述,环路内滤波过程还适用于重构图片。
[0218]
如上所述,一个单元(例如,编译单元(cu))可以包括亮度块(亮度编译块(cb))和色度块(色度cb)。在这种情况下,亮度块和与其对应的色度块可以具有相同的运动信息(例如,运动向量)或不同的运动信息。例如,可以基于亮度块的运动信息来导出色度块的运动信息,使得亮度块和与其对应的色度块具有相同的运动信息。
[0219]
实施例#1
[0220]
在下文中,将描述根据本公开的一些实施例的应用ibc模式的方法。
[0221]
图18是图示根据本公开的实施例的比特流结构的视图。
[0222]
图18示出编译单元的语法结构。参考图18,可以根据预设条件用信号发送语法元素cu_skip_flag、pred_mode_flag和/或pred_mode_ibc_flag中的至少一个。在下面的描述中,第一值可以是0并且第二值可以是2,但是本发明的范围不限于此,并且其中第一值是1并且第二值是0的实施例可以包括在本公开的范围。
[0223]
语法元素cu_skip_flag可以指定跳过模式是否应用于当前编译单元。例如,当cu_skip_flag具有第一值时,跳过模式可能不应用于当前块。同时,当cu_skip_flag未被用信号发送时,其值可以被确定为第一值。具体地,可以取决于当前块是否满足等式2的条件来确定是否用信号发送cu_skip_flag。
[0224]
[等式2]
[0225]
treetype!=dual_tree_chroma&&!(((cbwidth==4&&cbheight==4)||modetype==mode_type_intra)&&!sps_ibc_enabled_flag)
[0226]
在下面的描述中,treetype可以指定当前块的树结构,并且cbwidth和cbheight可以分别指定当前块的宽度和高度。另外,语法元素sps_ibc_enabled_flag可以指定ibc模式是否适用于当前块,并且可以在sps级别用信号发送。当sps_ibc_enabled_flag具有第一值时,ibc模式不适用于对应序列内的图片中的块。相反,当sps_ibc_enabled_flag具有第二值时,ibc模式适用于对应序列内的图片中的块。
[0227]
语法元素pred_mode_flag可以指定当前块的预测模式。例如,当pred_mode_flag具有第一值时,当前块可以以帧间预测模式被编码/解码。当pred_mode_flag具有第二值时,当前块可以以帧内预测模式被编码/解码。具体地,可以取决于当前块是否满足等式3来确定是否用信号发送pred_mode_flag。
[0228]
[等式3]
[0229]
cu_skip_flag[x0][y0]==0&&slice_type!=i&&!(cbwidth==4&&cbheight==4)&&modetype==mode_type_all
[0230]
在以下描述中,slice_type可以是指定当前块所属的切片的类型的语法元素。
[0231]
语法元素pred_mode_ibc_flag可以指定ibc模式是否应用于当前块。例如,当pred_mode_ibc_flag具有第一值时,ibc模式可能不应用于当前块。当pred_mode_ibc_flag具有第二值时,ibc模式可以应用于当前块。同时,当pred_mode_ibc_flag没有被用信号发送时,可以根据以下实施例中的至少一个来确定pred_mode_ibc_flag的值。具体地,可以取决于当前块是否满足等式4和/或等式5来确定是否用信号发送pred_mode_ibc_flag。
[0232]
[等式4]
[0233]
((slice_type==i&&cu_skip_flag[x0][y0]==0)||(slice_type!=i&&(cupredmode[x0][y0]!=mode_type_intra||(cbwidth==4&&cbheight==4&&cu_skip_flag[x0][y0]==0))))&&cbwidth《=64&&cbheight《=64&&modetype!=mode_type_inter
[0234]
[等式5]
[0235]
sps_ibc_enabled_flag&&treetype!=dual_tree_chroma
[0236]
同时,在确定未用信号发送pred_mode_ibc_flag时,可以基于以下实施例之一隐含地确定pred_mode_ibc_flag的值。例如,当cu_skip_flag具有第二值并且当前块是4x4块时,pred_mode_ibc_flag可以被确定为第二值。作为另一示例,当当前块的大小为128x128时,pred_mode_ibc_flag可以被确定为第一值。作为另一示例,当当前块的树结构为双树色度时,pred_mode_ibc_flag可以被确定为第一值。作为另一示例,当当前块被包括在i切片中时,pred_mode_ibc_flag可以被确定为与当前块的sps_ibc_enabled_flag相同的值。相反,当当前块被包括在p或b切片中时,pred_mode_ibc_flag可以被确定为第一值。
[0237]
同时,当当前块被包括在p或b切片中并且cu_skip_flag具有第二值时,除了pred_mode_ibc_flag或合并相关的语法元素(例如,merge_data)之外的语法元素可以不在cu_skip_flag的信令之后被用信号发送。同时,当当前块被包括在i切片中时,除了合并索引之外的语法元素可以不在cu_skip_flag的信令之后被用信号发送。
[0238]
根据本实施例,可以基于语法元素cu_skip_flag和pred_mode_ibc_flag来确定ibc是否应用于当前块。例如,当当前块被包括在i切片中时,sps_ibc_enabled_flag具有第二值并且cu_skip_flag具有第二值,当前块可以以ibc跳过模式被编码/解码。此外,即使cu_skip_flag具有第一值,当pred_mode_ibc_flag具有第二值时,当前块也可以以ibc合并模式或ibc mvp模式中的一个被编码/解码。
[0239]
参考等式4,当当前块具有64x128、128x64或128x128之一的大小时,可以不用信号发送pred_mode_ibc_flag。然而,在作为cu_skip_flag的信令条件的等式2中,因为不进行当前块的宽度或高度是否等于或大于64的确定,因此即使当前块具有64x128、128x64或128x128的大小,cu_skip_flag也可以被用信号发送。结果,可能出现即使当前块具有64x128、128x64或128x128之一的大小,ibc模式也应用于当前块的问题。
[0240]
同时,对于一个图片的管线处理,可以定义vpdu(虚拟管线数据单元)。vpdu可以意指可以由图像编码/解码装置通过管线阶段同时处理的操作单元。在图像编码/解码装置中,vpdu的大小可以定义为最大变换块的大小。例如,vpdu的大小可以是64x64。
[0241]
因为ibc缓冲区不能应用于大于vpdu的块,所以当当前块的大小超过64x64时,可能会出现图像编码/解码装置可能无法生成参考样本的问题。然而,当当前块是双树并且被包括在i切片中时,因为当前块被隐式分区成64x64块,所以可能不会出现这样的问题。然而,当当前块是单树并且包括在i切片中时,可能会出现上述问题。为了解决这样的问题,当当前块的大小超过预定块大小(例如,64x64)时,可以限制cu_skip_flag的信令。
[0242]
图19是图示根据本公开的实施例的图像解码方法的视图。
[0243]
参考图19,根据本公开的实施例的图像解码方法可以包括确定是否解析指定跳过模式是否应用于当前块的第一信息(s1910),确定是否解析指定ibc(帧内块复制)模式是否
应用于当前块的第二信息(s1920),基于第一信息和第二信息(s1920)确定是否将ibc模式应用于当前模式(s1930)和/或基于是否应用ibc模式导出当前块的预测块(s1940)。
[0244]
在这种情况下,可以基于当前块的宽度或高度中的至少一个来确定是否解析第一信息。具体地,当当前块的宽度和高度等于或小于第一值时,可以确定第一信息被解析。
[0245]
图20是图示根据本公开的实施例的图像编码方法的视图。
[0246]
参考图20,根据本公开的实施例的图像编码方法可以包括确定是否对指定跳过模式是否应用于当前块的第一信息进行编码(s2010)、确定是否对指定是否将ibc模式应用于当前块的第二信息进行编码(s2020)以及基于第一信息和第二信息生成当前块的比特流(s2030)。
[0247]
在这种情况下,可以基于当前块的宽度或高度中的至少一个来确定是否对第一信息进行编码。具体地,当当前块的宽度和高度等于或小于第一值时,可以确定第一信息被编码。
[0248]
例如,在以下描述中,第一信息和第二信息可以意指cu_skip_flag和pred_mode_ibc_flag。
[0249]
实施例#2
[0250]
在下文中,将描述根据本公开的一些实施例的用信号发送语法元素cu_skip_flag的方法。
[0251]
根据本实施例,当sps_ibc_enabled_flag具有第二值、当前块被包括在i切片中并且当前块的宽度或高度中的至少一个超过第一值时,可以不用信号发送cu_skip_flag。作为另一示例,当sps_ibc_enabled_flag具有第二值、当前块被包括在i切片中并且当前块的宽度和高度等于或小于第一值时,可以用信号发送cu_skip_flag。例如,第一值可以是满足2^n的正整数。例如,第一值可能是64。
[0252]
图21至图24是图示根据本公开的一些实施例的比特流结构的视图。
[0253]
例如,参考图21,可以基于下面的等式6来确定是否用信号发送cu_skip_flag。
[0254]
[等式6]
[0255]
treetype!=dual_tree_chroma&&!(((cbwidth==4&&cbheight==4)||modetype==mode_type_intra)&&!sps_ibc_enabled_flag)||(sps_ibc_enabled_flag&&cbwidth《=64&&cbheight《=64)
[0256]
作为另一示例,参考图22,可以基于下面的等式7来确定是否用信号发送cu_skip_flag。
[0257]
[等式7]
[0258]
treetype!=dual_tree_chroma&&(!((cbwidth==4&&cbheight==4)||modetype==mode_type_intra)||(sps_ibc_enabled_flag&&cbwidth《=64&&cbheight《=64))
[0259]
同时,当基于等式6或等式7的条件发送cu_skip_flag时,可能用信号发送用于128x128块的cu_skip_flag。因此,根据本公开的另一实施例,可以基于下面的等式8来确定是否用信号发送cu_skip_flag。
[0260]
[等式8]
[0261]
treetype!=dual_tree_chroma&&((slice_type!=i&&(sps_ibc_enabled_flag|
|!((cbwidth==4&&cbheight==4)||modetype==mode_type_intra)))||(slice_type==i&&sps_ibc_enabled_flag&&cbwidth《=64&&cbheight《=64))
[0262]
图24的语法元素可以以不同的方式表示图23的语法结构。
[0263]
同时,当根据本公开cu_skip_flag的信令受到限制时,ibc模式的应用可能受到限制。例如,当当前块的宽度或高度中的至少一个超过64并且因此cu_skip_flag和pred_mode_ibc_flag的信令受到限制时,pred_mode_ibc_flag的值可以被隐式地确定为第一值。此外,当当前块的宽度或高度中的至少一个超过64并且因此cu_skip_flag和pred_mode_ibc_flag的信令受到限制时,仅当前块被包括在i切片中时,pred_mode_ibc_flag的值可以被隐式地确定为第一值。
[0264]
根据本公开的一些实施例,ibc模式对超过vpdu(虚拟管道数据单元)的块的应用受到限制,从而增加图像编码/解码效率。
[0265]
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其他步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其他附加步骤。
[0266]
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
[0267]
本公开的各种实施例不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施例中描述的事项可以独立地或以两个或更多个的组合应用。
[0268]
本公开的各种实施例可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器等来实现。
[0269]
此外,应用本公开的实施例的图像解码装置和图像编码装置可以包括在多媒体广播传送和接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监控摄像头、视频聊天设备、诸如视频通信的实时通信设备、移动流传输设备、存储介质、摄像机、视频点播(vod)服务提供设备、ott视频(over the top video)设备、互联网流传输服务提供设备、三维(3d)视频设备、视频电话视频设备、医疗视频设备等,并且可用于处理视频信号或数据信号。例如,ott视频设备可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能手机、平板pc、数字录像机(dvr)等。
[0270]
图25是示出可应用本公开的实施例的内容流传输系统的视图。
[0271]
如图25中所示,应用本公开的实施例的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储、用户设备和多媒体输入设备。
[0272]
编码服务器将从诸如智能手机、相机、便携式摄像机等多媒体输入设备输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能手机、相机、摄像机等多媒体输入设备直接生成码流时,可以省略编码服务器。
[0273]
比特流可以由应用本公开的实施例的图像编码方法或图像编码装置产生,并且流
传送服务器可以在发送或接收比特流的过程中临时存储比特流。
[0274]
流传输服务器基于用户通过网络服务器的请求将多媒体数据发送到用户设备,并且网络服务器用作向用户通知服务的媒介。当用户从网络服务器请求所需的服务时,网络服务器可以将其递送到流传输服务器,并且流传输服务器可以向用户发送多媒体数据。在这种情况下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用作控制内容流系统中设备之间的命令/响应。
[0275]
流传输服务器可以从媒体存储和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时接收内容。在这种情况下,为了提供平滑的流传输服务,流传输服务器可以在预定时间内存储比特流。
[0276]
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航设备、平板pc、平板计算机、超级本、可穿戴设备(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
[0277]
内容流传输系统中的每个服务器都可以作为分布式服务器运行,在这种情况下,从每个服务器接收的数据可以被分布。
[0278]
本公开的范围包括用于使根据各种实施例的方法的操作能够在装置或计算机上执行的软件或者可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并可在装置或计算机上执行的此类软件或命令的一种非暂时性计算机可读介质。
[0279]
工业适用性
[0280]
本公开的实施例可以被用于对图像进行编码或解码。
再多了解一些

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

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

相关文献