用于处理视频信号的方法和装置与流程

未命名 10-17 阅读:112 评论:0

用于处理视频信号的方法和装置
1.本技术是国家申请号为201780061263.5,国际申请日为2017年9月29日,进入国家日期为2019年4月2日,发明名称为“用于处理视频信号的方法和装置”的申请的分案申请。
技术领域
2.本发明涉及用于处理视频信号的方法和装置。


背景技术:

3.近来,在各种应用领域中对高分辨率和高质量图像例如高清晰度(hd)图像和超高清晰度(uhd)图像的需求已经增加了。然而,与常规图像数据相比,更高分辨率和质量的图像数据的数据量增加。因此,在通过使用介质例如常规的有线和无线宽带网络传输图像数据时,或者在通过使用常规的存储介质存储图像数据时,传输和存储的成本增加了。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,可以利用高效的图像编码/解码技术。
4.图像压缩技术包括各种技术,包括:根据当前图片的先前图片或后续图片来对包括在当前图片中的像素值进行预测的帧间预测技术;通过使用当前图片中的像素信息对包括在当前图片中的像素值进行预测的帧内预测技术;将短代码分配给出现频率高的值并且将长代码分配给出现频率低的值的熵编码技术等。可以通过使用这样的图像压缩技术来有效地压缩图像数据,并且可以传输或存储图像数据。
5.同时,随着对高分辨率图像的需求的增加,对作为新的图像服务的立体图像内容的需求也在增加。正在讨论用于有效地提供具有高分辨率和超高分辨率的立体图像内容的视频压缩技术。


技术实现要素:

6.技术问题
7.本发明的目的是提供一种用于在对视频信号进行编码/解码时有效地执行编码/解码目标块的帧间预测的方法和装置。
8.本发明的目的是提供一种用于在对视频信号进行编码/解码时基于具有预定形状或预定大小的块来导出合并候选的方法和装置。
9.本发明的目的是提供一种用于在对视频信号进行编码/解码时以预定形状或预定大小为单位并行执行合并的方法和装置。
10.本发明的目的是提供一种用于在对视频信号进行编码/解码时通过不仅使用位于预定位置的块而且使用与该块相邻的块来导出合并候选的方法和装置。
11.本发明要实现的技术目的不限于上述技术问题。并且,本领域技术人员根据以下描述将明显地理解未提及的其他技术问题。
12.技术方案
13.根据本发明的用于对视频进行解码的方法可以包括以下步骤:根据与当前块相邻
的第一空间相邻块和与第一空间相邻块相邻的第二空间相邻块中的至少之一导出当前块的空间合并候选;生成包括空间合并候选的合并候选列表;以及使用合并候选列表执行对当前块的运动补偿。
14.一种对视频进行解码的方法包括:获得当前块的运动信息;基于当前块的运动信息获得当前块的预测样本;确定是否跳过针对包括在当前块中的变换块的逆变换;当确定未跳过针对变换块的逆变换时,确定变换块的变换类型;基于所确定的变换类型执行针对变换块的逆变换;以及基于当前块的预测样本和残差样本重构当前块,其中,基于包括变换块的当前块是否被分割成两个变换块来确定是否从比特流中解析变换跳过标志。
15.一种对视频进行编码的方法包括:获得当前块的运动信息;基于当前块的运动信息获得当前块的预测样本;通过从原始样本中减去预测样本,生成当前块的残差样本;确定包括在当前块中的变换块的变换类型;以及基于所确定的变换类型执行变换块的变换,其中,将指定是否跳过变换的变换跳过标志选择性地编码到比特流中,以及其中,基于包括变换块的当前块是否被分割成两个变换块来确定是否将变换跳过标志编码到比特流中。
16.一种传输压缩视频数据的装置包括:处理器,用于获得压缩视频数据,压缩视频数据包括指定当前块的运动信息候选之一的信息;以及传输单元,用于传输压缩视频数据,其中,基于当前块的运动信息获得当前块的预测样本,其中,基于预测样本和残差样本获得当前块的重构样本,其中,为了获得残差样本,确定是否跳过针对包括在当前块中的变换块的逆变换,其中,当确定未跳过针对变换块的逆变换时,确定变换块的变换类型,其中,基于所确定的变换类型执行针对变换块的逆变换,以及其中,基于包括变换块的当前块是否被分割成两个变换块来确定是否将变换跳过标志包括到压缩视频数据中。
17.根据本发明的用于对视频信号进行解码的方法和装置可以根据与当前块相邻的第一空间相邻块或与第一空间相邻块相邻的第二空间相邻块中的至少之一导出当前块的空间合并候选,生成包括空间合并候选的合并候选列表,以及通过使用合并候选列表来执行对当前块的运动补偿。
18.根据本发明的用于对视频信号进行编码的方法和装置可以根据与当前块相邻的第一空间相邻块或与第一空间相邻块相邻的第二空间相邻块中的至少之一导出当前块的空间合并候选,生成包括空间合并候选的合并候选列表,以及通过使用合并候选列表来执行对当前块的运动补偿。
19.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,第二空间相邻块可以位于相对于第一空间相邻块的预定位置处。
20.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以根据第一空间相邻块的位置而不同地确定预定位置。
21.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,如果第一空间相邻块不可用,则可以根据第二空间相邻块导出空间合并候选。
22.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,导出空间合并候选可以包括通过按顺序地搜索第一空间相邻候选块和第二空间相邻候选块来导出至少一个空间合并候选。
23.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,生成合并候选列表可以包括:生成包括根据第一空间相邻候选块导出的第一空间合并候选的第一合并候
选列表;以及生成包括根据第二空间相邻候选块导出的第二空间合并候选的第二合并候选列表。
24.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以通过使用第一合并候选列表和第二合并候选列表中之一来执行对当前块的运动补偿。
25.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以基于通过将第一合并候选列表和第二合并候选列表进行组合而生成的组合合并候选列表来执行对当前块的运动补偿。
26.以上对本发明简要概述的特征仅是本发明的随后的详细描述的说明性方面,而不限制本发明的范围。
27.有益效果
28.根据本发明,可以对编码/解码目标块执行有效的帧间预测。
29.根据本发明,可以基于具有预定形状或预定大小的块来导出合并候选。
30.根据本发明,可以以预定形状或预定大小为单位并行执行合并。
31.根据本发明,可以通过不仅使用预定位置处的块而且使用与该块相邻的块来导出合并候选来增强帧间预测的效率。
32.能够通过本发明获得的效果不限于上述效果,并且本领域技术人员可以根据以下描述清楚地理解未提及的其他效果。
附图说明
33.图1是示出根据本发明的实施方式的用于对视频进行编码的装置的框图。
34.图2是示出根据本发明的实施方式的用于对视频进行解码的装置的框图。
35.图3是示出根据本发明的实施方式的基于树结构来分层次地分割编码块的示例的图。
36.图4是示出根据本发明的实施方式的允许基于二叉树的分割的分割类型的图。
37.图5是示出根据本发明的实施方式的仅允许预定类型的基于二叉树的分割的示例的图。
38.图6是用于说明根据应用本发明的实施方式的对与可允许的二叉树分割次数有关的信息进行编码/解码的示例的图。
39.图7是示出根据本发明的实施方式的可应用于编码块的分割模式的图。
40.图8是示出根据本发明的实施方式的帧间预测方法的流程图。
41.图9是示出当将合并模式应用于当前块时导出当前块的运动信息的过程的图。
42.图10示出了当amvp模式应用于当前块时导出当前块的运动信息的过程。
43.图11是示出当前块的空间合并候选的图。
44.图12是示出当前块的共同定位块(co-located block)的图。
45.图13是用于示出通过对共同定位块的运动矢量进行缩放来获得时间合并候选的运动矢量的示例的图。
46.图14是示出基于正方形块导出非正方形块的合并候选的示例的图。
47.图15是用于示出基于上节点块导出二叉树分割块的合并候选的示例的图。
48.图16是示出根据合并估计区域确定空间合并候选的可用性的示例的图。
49.图17是示出将与不可用作空间合并候选的相邻块相邻的块用作当前块的空间合并候选的示例的图。
50.图18至图21是示出合并候选的搜索顺序的图。
51.图22是示出根据应用本发明的实施方式的获得残差样本的处理的流程图。
具体实施方式
52.可以对本发明进行各种修改,并且存在本发明的各种实施方式,现在将参照附图提供各种实施方式的示例,并且详细描述各种实施方式的示例。然而,本发明不限于此,并且示例性实施方式可以被解释为包括本发明的技术构思和技术范围内的所有修改、等同物或替代方案。在所描述的附图中,相似的附图标记指代相似的元件。
53.说明书中使用的术语“第一”、“第二”等可以用于描述各种部件,但是这些部件不被解释为限制于这些术语。这些术语仅用于区分一个部件与其他部件。例如,在不偏离本发明的范围的情况下,“第一”部件可以被称为“第二”部件,并且“第二”部件也可以类似地被称为“第一”部件。术语“和/或”包括多个项的组合或者多个术语中的任何一个术语。
54.应该理解的是,在本说明书中,在元件被简单地称为“连接至”或“耦接至”另一元件而不是“直接连接至”或“直接耦接至”另一元件时,该元件可以“直接连接至”或“直接耦接至”另一元件,或者该元件可以连接至或耦接至另一元件并且有其他元件介于在它们之间。相反地,应该理解的是,在元件被称为“直接耦接”或“直接连接”至另一元件时,不存在中间元件。
55.本说明书中使用的术语仅用于描述特定实施方式,而并不意在限制本发明。以单数形式使用的表述包含复数形式的表述,除非其在上下文中具有明显不同的含义。在本说明书中,应当理解的是,诸如“包括”、“具有”等的术语意在指示本说明书中公开的特征、数字、步骤、动作、元件、部分或其组合的存在,并且不意在排除可以存在或可以添加一个或更多个其他特征、数字、步骤、动作、元件、部分或其组合的可能性。
56.在下文中,将参照附图详细描述本发明的优选实施方式。在下文中,附图中的相同构成元件由相同的附图标记表示,并且将省略对相同元件的重复描述。
57.图1是示出根据本发明的实施方式的用于对视频进行编码的装置的框图。
58.参照图1,用于对视频进行编码的装置100可以包括:图片分割模块110、预测模块120和125、变换模块130、量化模块135、重排模块160、熵编码模块165、逆量化模块140、逆变换模块145、滤波器模块150以及存储器155。
59.图1中所示的构成部分被独立地示出,以表示在用于对视频进行编码的装置中的彼此不同的特征功能。因此,这并不意味着每个构成部分都是由单独的硬件或软件的构成单元构成。换言之,为了方便起见,每个构成部分包括所列举的构成部分中的每一个。因此,可以将每个构成部分的至少两个构成部分进行组合以形成一个构成部分,或者可以将一个构成部分划分成多个构成部分以执行每个功能。在不偏离本发明的实质的情况下,组合每个构成部分的实施方式和划分一个构成部分的实施方式也被包括在本发明的范围内。
60.此外,构成部分中的一些可能不是执行本发明的基本功能的必不可少的构成部分,而是仅用于改善本发明的性能的可选构成部分。可以通过排除用于改善性能的构成部分而仅包括用于实现本发明的实质的必不可少的构成部分来实现本发明。排除仅用于改善
性能的可选构成部分而仅包括必不可少的构成部分的结构也被包括在本发明的范围内。
61.图片分割模块110可以将输入图片分割成一个或更多个处理单元。此处,处理单元可以是预测单元(pu)、变换单元(tu)或编码单元(cu)。图片分割模块110可以将一个图片分割成多个编码单元、预测单元和变换单元的组合,并且可以通过使用预定准则(例如,成本函数)选择编码单元、预测单元和变换单元的一个组合来对图片进行编码。
62.例如,一个图片可以被分割成多个编码单元。可以使用递归树结构例如四叉树结构来将图片分割成编码单元。在一个图片或最大编码单元作为根的情况下被分割成其他编码单元的编码单元可以以子节点对应于所分割的编码单元的数目的方式进行分割。通过预定限制不能再分割的编码单元用作叶节点。即,当假设对于一个编码单元仅正方形分割可行时,一个编码单元可以最多被分割成四个其他编码单元。
63.在下文中,在本发明的实施方式中,编码单元(codingunit)可以意指执行编码的单元或者执行解码的单元。
64.预测单元可以是被分割成在单个编码单元中具有相同大小的正方形形状或矩形形状的分区中之一,或者预测单元可以是被分割成使得在单个编码单元中具有不同的形状/大小的分区中之一。
65.当基于编码单元生成经受帧内预测的预测单元并且编码单元不是最小编码单元时,可以在不将编码单元分割成多个预测单元n
×
n的情况下执行帧内预测。
66.预测模块120和125可以包括执行帧间预测的帧间预测模块120和执行帧内预测的帧内预测模块125。可以确定对于预测单元是执行帧间预测还是帧内预测,并且可以确定根据每个预测方法的详细信息(例如,帧内预测模式、运动矢量、参考图片等)。此处,经受预测的处理单元可以不同于针对其确定预测方法和详细内容的处理单元。例如,可以由预测单元确定预测方法、预测模式等,并且可以由变换单元执行预测。所生成的预测块与原始块之间的残差值(残差块)可以被输入至变换模块130。此外,用于预测的预测模式信息、运动矢量信息等可以与残差值一起由熵编码模块165进行编码,并且可以被传输至用于对视频进行解码的装置。在使用特定编码模式时,可以通过对原始块按其原样进行编码而不通过预测模块120和125生成预测块来向用于对视频进行解码的装置进行传输。
67.帧间预测模块120可以基于当前图片的先前图片或后续图片中的至少一个的信息来预测预测单元,或者在一些情况下,可以基于当前图片中的一些编码区域的信息来预测预测单元。帧间预测模块120可以包括参考图片插值模块、运动预测模块以及运动补偿模块。
68.参考图片插值模块可以从存储器155接收参考图片信息,并且可以根据参考图片来生成整像素(integer pixel)的或小于整像素的像素信息。在亮度像素的情况下,可以使用具有不同滤波器系数的基于dct的8抽头插值滤波器来以1/4像素为单位生成整像素的或小于整像素的像素信息。在色度信号的情况下,可以使用具有不同滤波器系数的基于dct的4抽头插值滤波器来以1/8像素为单位生成整像素的或小于整像素的像素信息。
69.运动预测模块可以基于由参考图片插值模块进行插值的参考图片来执行运动预测。作为用于计算运动矢量的方法,可以使用各种方法,例如,基于全搜索的块匹配算法(fbma)、三步搜索(tss)和新三步搜索算法(nts)等。基于插值像素,运动矢量可以具有以1/2像素或1/4像素为单位的运动矢量值。运动预测模块可以通过改变运动预测方法来预测当
前预测单元。作为运动预测方法,可以使用各种方法,例如,跳过方法、合并方法、amvp(高级运动矢量预测)方法、帧内块复制方法等。
70.帧内预测模块125可以基于作为当前图片中的像素信息的与当前块相邻的参考像素信息来生成预测单元。在当前预测单元的相邻块是经受帧间预测的块并且因此参考像素是经受帧间预测的像素时,可以使用经受帧内预测的相邻块的参考像素信息来替换包括在经受帧间预测的块中的参考像素。即,在参考像素不可用时,可以使用可用参考像素中的至少一个参考像素来替换不可用的参考像素信息。
71.帧内预测中的预测模式可以包括依赖于预测方向使用参考像素信息的方向性预测模式和在执行预测时不使用方向信息的非方向性预测模式。用于预测亮度信息的模式可以与用于预测色度信息的模式不同,并且为了预测色度信息,可以利用用于预测亮度信息的帧内预测模式信息或者预测的亮度信号信息。
72.在执行帧内预测时,在预测单元的大小与变换单元的大小相同时,可以基于位于该预测单元的左侧、左上侧和顶部的像素对预测单元执行帧内预测。然而,在执行帧内预测时,在预测单元的大小与变换单元的大小不同时,可以使用基于变换单元的参考像素来执行帧内预测。此外,使用n
×
n分割的帧内预测可以仅用于最小编码单元。
73.在帧内预测方法中,可以在依赖于预测模式将ais(自适应帧内平滑)滤波器应用于参考像素之后生成预测块。应用于参考像素的ais滤波器的类型可以变化。为了执行帧内预测方法,可以根据与当前预测单元相邻的预测单元的帧内预测模式来预测当前预测单元的帧内预测模式。在通过使用根据相邻预测单元预测到的模式信息来预测当前预测单元的预测模式中,在当前预测单元的帧内预测模式与相邻预测单元的帧内预测模式相同时,可以使用预定标志信息来传输指示当前预测单元的预测模式与相邻预测单元的预测模式彼此相同的信息。在当前预测单元的预测模式与相邻预测单元的预测模式不同时,可以执行熵编码以对当前块的预测模式信息进行编码。
74.此外,可以基于由预测模块120和125生成的预测单元来生成包括关于残差值的信息的残差块,残差值是经受预测的预测单元与预测单元的原始块之间的差异。可以将所生成的残差块输入到变换模块130。
75.变换模块130可以通过使用诸如离散余弦变换(discrete cosine transform,dct)、离散正弦变换(discrete sine transform,dst)和klt的变换方法来对残差块进行变换,该残差块包括关于原始块与由预测模块120和125生成的预测单元之间的残差值的信息。可以基于用于生成残差块的预测单元的帧内预测模式信息来确定是应用dct、dst还是klt以对残差块进行变换。
76.量化模块135可以对由变换模块130变换到频域的值进行量化。量化系数可以依赖于块或图片的重要性而变化。可以将由量化模块135计算的值提供至逆量化模块140和重排模块160。
77.重排模块160可以对量化后的残差值的系数进行重排。
78.重排模块160可以通过系数扫描方法将二维块形式的系数改变成一维矢量形式的系数。例如,重排模块160可以使用锯齿形扫描方法从dc系数扫描至高频域的系数,以将系数改变成一维矢量形式。依赖于变换单元的大小和帧内预测模式,可以使用沿列方向扫描二维块形式的系数的竖直方向扫描或沿行方向扫描二维块形式的系数的水平方向扫描来
代替锯齿形扫描。即,可以依赖于变换单元的大小和帧内预测模式来确定使用锯齿形扫描、竖直方向扫描和水平方向扫描中的哪种扫描方法。
79.熵编码模块165可以基于由重排模块160计算的值来执行熵编码。熵编码可以使用各种编码方法,例如指数哥伦布(golomb)编码、上下文自适应变长编码(cavlc)和上下文自适应二进制算术编码(cabac)。
80.熵编码模块165可以对来自重排模块160以及预测模块120和125的各种信息进行编码,各种信息例如编码单元的残差值系数信息和块类型信息、预测模式信息、分割单元信息、预测单元信息、变换单元信息、运动矢量信息、参考帧信息、块插值信息、滤波信息等。
81.熵编码模块165可以对从重排模块160输入的编码单元的系数进行熵编码。
82.逆量化模块140可以对由量化模块135量化的值进行逆量化,并且逆变换模块145可以对由变换模块130变换的值进行逆变换。可以将由逆量化模块140和逆变换模块145生成的残差值与由预测模块120和125的运动估计模块、运动补偿模块和帧内预测模块预测的预测单元进行组合,使得可以生成重构块。
83.滤波器模块150可以包括去块滤波器、偏移校正单元以及自适应环路滤波器(alf)中的至少一个。
84.去块滤波器可以移除由于重构图片中的块之间的边界而出现的块失真。为了确定是否执行去块,包括在块的若干行或若干列中的像素可以是确定是否对当前块应用去块滤波器的基础。当去块滤波器被应用于块时,可以依赖于所需的去块滤波强度来应用强滤波器或弱滤波器。此外,在应用去块滤波器时,可以并行地处理水平方向滤波和竖直方向滤波。
85.偏移校正模块可以在经受去块的图片中以像素为单位来校正与原始图片的偏移。为了对特定图片执行偏移校正,可以使用考虑每个像素的边缘信息来施加偏移的方法,或者可以使用下述方法:将图片的像素分割成预定数量的区域,确定要经受偏移的区域,并且对所确定的区域施加偏移。
86.可以基于通过将滤波后的重构图片与原始图片进行比较而获得的值来执行自适应环路滤波(alf)。可以将包括在图片中的像素分成预定组,可以确定要应用于每个组的滤波器,并且可以针对每个组单独执行滤波。可以通过编码单元(cu)传输关于是否应用alf和亮度信号的信息。用于alf的滤波器的形状和滤波器系数可以依赖于每个块而变化。此外,无论应用目标块的特征如何,都可以应用用于alf的相同形状(固定形状)的滤波器。
87.存储器155可以存储通过滤波器模块150计算的重构块或重构图片。可以在执行帧间预测时将所存储的重构块或重构图片提供至预测模块120和125。
88.图2是示出根据本发明的实施方式的用于对视频进行解码的装置的框图。
89.参照图2,用于对视频进行解码的装置200可以包括:熵解码模块210、重排模块215、逆量化模块220、逆变换模块225、预测模块230和235、滤波器模块240以及存储器245。
90.当从用于对视频进行编码的装置输入视频比特流时,可以根据用于对视频进行编码的装置的逆处理来对输入比特流进行解码。
91.熵解码模块210可以根据由用于对视频进行编码的装置的熵编码模块进行的熵编码的逆处理来执行熵解码。例如,对应于由用于对视频进行编码的装置执行的方法,可以应用各种方法,例如指数哥伦布编码、上下文自适应变长编码(cavlc)和上下文自适应二进制
算术编码(cabac)。
92.熵解码模块210可以对关于由用于对视频进行编码的装置执行的帧内预测和帧间预测的信息进行解码。
93.重排模块215可以基于在用于对视频进行编码的装置中使用的重排方法对由熵解码模块210进行熵解码的比特流执行重排。重排模块可以将一维矢量形式的系数重构和重排成二维块形式的系数。重排模块215可以接收与在用于对视频进行编码的装置中执行的系数扫描有关的信息,并且可以经由基于在用于对视频进行编码的装置中执行的扫描顺序对系数进行逆扫描的方法来执行重排。
94.逆量化模块220可以基于从用于对视频进行编码的装置接收的量化参数和重排后的块的系数来执行逆量化。
95.逆变换模块225可以执行逆变换,即,逆dct、逆dst和逆klt,这是由变换模块对用于对视频进行编码的装置的量化结果执行的变换即dct、dst和klt的逆过程。可以基于用于对视频进行编码的装置所确定的变换单元来执行逆变换。用于对视频进行解码的装置的逆变换模块225可以依赖于多条信息例如预测方法、当前块的大小、预测方向等来选择性地执行变换方案例如dct、dst、klt。
96.预测模块230和235可以基于从熵解码模块210接收到的关于预测块生成的信息和从存储器245接收到的先前解码的块或图片信息来生成预测块。
97.如上所述,类似于用于对视频进行编码的装置的操作,在执行帧内预测时,在预测单元的大小与变换单元的大小相同时,可以基于位于预测单元的左侧、左上侧和顶部的像素对预测单元执行帧内预测。在执行帧内预测时,在预测单元的大小与变换单元的大小不同时,可以使用基于变换单元的参考像素来执行帧内预测。此外,使用n
×
n分割的帧内预测可以仅用于最小编码单元。
98.预测模块230和235可以包括预测单元确定模块、帧间预测模块以及帧内预测模块。预测单元确定模块可以从熵解码模块210接收各种信息,例如预测单元信息、帧内预测方法的预测模式信息、关于帧间预测方法的运动预测的信息等,可以将当前编码单元分成预测单元,并且可以确定对预测单元执行帧间预测还是帧内预测。通过使用从用于对视频进行编码的装置接收的当前预测单元的帧间预测所需的信息,帧间预测模块230可以基于包括当前预测单元的当前图片的先前图片或后续图片中的至少一个的信息来对当前预测单元执行帧间预测。替选地,可以基于包括当前预测单元的当前图片中的一些预先重构区域的信息来执行帧间预测。
99.为了执行帧间预测,可以针对编码单元来确定跳过模式、合并模式、amvp模式和帧间块复制模式中的哪一个模式用作包括在编码单元中的预测单元的运动预测方法。
100.帧内预测模块235可以基于当前图片中的像素信息来生成预测块。当预测单元是经受帧内预测的预测单元时,可以基于从用于对视频进行编码的装置接收到的预测单元的帧内预测模式信息来执行帧内预测。帧内预测模块235可以包括自适应帧内平滑(ais)滤波器、参考像素插值模块以及dc滤波器。ais滤波器对当前块的参考像素执行滤波,并且可以依赖于当前预测单元的预测模式来确定是否应用滤波器。可以通过使用从用于对视频进行编码的装置接收到的预测单元的预测模式和ais滤波器信息来对当前块的参考像素执行ais滤波。在当前块的预测模式是不执行ais滤波的模式时,可以不应用ais滤波器。
101.在预测单元的预测模式是基于通过对参考像素进行插值而获得的像素值来执行帧内预测的预测模式时,参考像素插值模块可以对参考像素进行插值以生成整像素的或小于整像素的参考像素。在当前预测单元的预测模式是在不对参考像素进行插值的情况下生成预测块的预测模式时,可以不对参考像素进行插值。在当前块的预测模式是dc模式时,dc滤波器可以通过滤波来生成预测块。
102.可以将重构块或重构图片提供至滤波器模块240。滤波器模块240可以包括去块滤波器、偏移校正模块以及alf。
103.可以从用于对视频进行编码的装置接收关于是否将去块滤波器应用于相应的块或图片的信息以及关于在应用去块滤波器时应用强滤波器和弱滤波器中的哪个滤波器的信息。用于对视频进行解码的装置的去块滤波器可以从用于对视频进行编码的装置接收关于去块滤波器的信息,并且可以对相应的块执行去块滤波。
104.偏移校正模块可以基于在执行编码时应用于图片的偏移校正的类型和偏移值信息来对重构图片执行偏移校正。
105.可以基于从用于对视频进行编码的装置接收到的关于是否应用alf的信息和alf系数信息等来将afl应用于编码单元。alf信息可以被提供为被包括在特定参数集中。
106.存储器245可以存储重构图片或重构块以用作参考图片或参考块,并且可以将重构图片提供至输出模块。
107.如上面描述的,在本发明的实施方式中,为了便于说明,编码单元被用作表示用于编码的单元的术语,然而,编码单元可以用作执行解码以及编码的单元。
108.另外,当前块可以表示要进行编码/解码的目标块。并且,依赖于编码/解码步骤,当前块可以表示编码树块(或编码树单元)、编码块(或编码单元)、变换块(或变换单元)、预测块(或预测单元)等。
109.可以通过将图片分割成具有正方形或非正方形形状的基本块来对图片进行编码/解码。此时,基本块可以称为编码树单元。编码树单元可以被定义为序列或片(slice)内允许的最大大小的编码单元。可以通过序列参数集、图片参数集或片头(slice header)来用信号通知关于编码树单元是具有正方形形状还是具有非正方形形状的信息或者关于编码树单元的大小的信息。编码树单元可以被分割成更小大小的分区。此时,如果假设通过划分编码树单元而生成的分区深度是1,则通过划分具有深度1的分区而生成的分区深度可以被定义为2。即,通过划分编码树单元中的深度为k的分区而生成的分区可以被定义为具有深度k+1。
110.通过划分编码树单元而生成的任意大小的分区可以被定义为编码单元。编码单元可以被递归地划分或划分成用于执行预测、量化、变换或环路滤波等的基本单元。例如,通过划分编码单元而生成的任意大小的分区可以被定义为编码单元,或者可以被定义为变换单元或预测单元,该编码单元、变换单元或预测单元是用于执行预测、量化、变换或环路滤波等的基本单元。
111.可以基于竖直线和水平线中的至少之一来执行编码树单元或编码单元的分割。另外,分割编码树单元或编码单元的竖直线或水平线的数量可以是至少一个或更多个。例如,可以使用一个竖直线或一个水平线将编码树单元或编码单元划分成两个分区,或者可以使用两个竖直线或两个水平线将编码树单元或编码单元划分成三个分区。替选地,可以通过
使用一个竖直线和一个水平线将编码树单元或编码单元分割成具有1/2的长度和宽度的四个分区。
112.在使用至少一个竖直线或至少一个水平线将编码树单元或编码单元分割为多个分区时,分区可具有统一的大小或不同的大小。替选地,任何一个分区可以具有与其余分区不同的大小。
113.在下面描述的实施方式中,假设编码树单元或编码单元被划分成四叉树结构或二叉树结构。然而,还可以使用更多数量的竖直线或更多数量的水平线来划分编码树单元或编码单元。
114.图3是示出根据本发明的实施方式的基于树结构来分层次地分割编码块的示例的图。
115.以预定的块单元对输入的视频信号进行解码。用于对输入的视频信号进行解码的这样的默认单元是编码块(codingblock)。编码块可以是执行帧内/帧间预测、变换以及量化的单元。另外,以编码块为单位确定预测模式(例如,帧内预测模式或帧间预测模式),并且包括在编码块中的预测块可以共享所确定的预测模式。编码块可以是具有在8
×
8至64
×
64范围内的任意大小的正方形块或非正方形块,或者可以是具有128
×
128、256
×
256或更大的大小的正方形块或非正方形块。
116.具体地,可以基于四叉树和二叉树中的至少一个来分层次地分割编码块。此处,基于四叉树的分割可以意指将2n
×
2n的编码块分割成四个n
×
n的编码块,并且基于二叉树的分割可以意指将一个编码块分割成两个编码块。即使执行基于二叉树的分割,也可以在较低深度中存在正方形形状的编码块。
117.可以对称地或者非对称地执行基于二叉树的分割。此外,基于二叉树分割的编码块可以是正方形块或非正方形块,例如长方形形状。例如,允许基于二叉树的分割的分割类型可以包括2n
×
n(水平方向非正方形编码单元)或n
×
2n(竖直方向非正方形编码单元)的对称类型、nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd的非对称类型中的至少之一。
118.可以将基于二叉树的分割限制地允许为对称类型分割或非对称类型分割中的之一。在这种情况下,使用正方形块构造编码树单元可以与四叉树cu分割对应,并且使用对称非正方形块构造编码树单元可以与二叉树分割对应。使用正方形块和对称非正方形块构造编码树单元可以与四叉树cu分割和二叉树cu分割对应。
119.可以对不再执行基于四叉树的分割的编码块执行基于二叉树的分割。可以不再对基于二叉树分割的编码块执行基于四叉树的分割。
120.此外,可以依赖于较高深度的分割类型来确定较低深度的分割。例如,如果在两个或更多个深度中允许基于二叉树的分割,则可以在较低深度中仅允许与较高深度的二叉树分割相同的类型。例如,如果使用2n
×
n类型执行较高深度中的基于二叉树的分割,则也使用2n
×
n类型执行较低深度中的基于二叉树的分割。替选地,如果使用n
×
2n类型执行较高深度中的基于二叉树的分割,则也使用n
×
2n类型执行较低深度中的基于二叉树的分割。
121.相比之下,也可以在较低深度中仅允许与较高深度的二叉树分割类型不同的类型。
122.可以限制仅特定类型的基于二叉树的分割被用于序列、片、编码树单元或编码单元。作为示例,对于编码树单元,可以仅允许2n
×
n类型或n
×
2n类型的基于二叉树的分割。
可以在编码器或解码器中预定义可用分割类型。或者可以对关于可用分割类型的信息或关于不可用分割类型的信息进行编码,并且然后通过比特流用信号通知该信息。
123.图5是示出仅允许特定类型的基于二叉树的分割的示例的图。图5的(a)示出了仅允许n
×
2n类型的基于二叉树的分割的示例,并且图5的(b)示出了仅允许2n
×
n类型的基于二叉树的分割的示例。为了实现基于四叉树或二叉树的自适应分割,可以使用下述信息:指示基于四叉树分割的信息、关于允许基于四叉树的分割的编码块的大小/深度的信息、指示基于二叉树的分割的信息、关于允许基于二叉树的分割的编码块的大小/深度的信息、关于不允许基于二叉树的分割的编码块的大小/深度的信息、关于是沿竖直方向还是沿水平方向执行基于二叉树的分割的信息等。
124.另外,对于编码树单元或特定的编码单元,可以获得关于允许二叉树分割的次数、允许二叉树分割的深度或者允许二叉树分割的深度的数量的信息。这些信息可以以编码树单元或编码单元为单位进行编码,并且可以通过比特流发送到解码器。
125.例如,可以通过比特流对指示允许二叉树分割的最大深度的语法“max_binary_depth_idx_minus1”进行编码/解码。在这种情况下,max_binary_depth_idx_minus1+1可以指示允许二叉树分割的最大深度。
126.参照图6中所示的示例,在图6中,已经针对深度为2的编码单元和深度为3的编码单元执行了二叉树分割。因此,可以通过比特流对指示编码树单元中的二叉树分割已经被执行的次数(即,2次)的信息、指示在编码树单元中已经允许二叉树分割的最大深度(即,深度3)或在编码树单元中已经执行二叉树分割的深度的数量(即,2个(深度2和深度3))的信息中的至少之一进行编码/解码。
127.作为另一示例,可以针对每个序列或每个片(slice)获得关于允许二叉树分割的次数、允许二叉树分割的深度或允许二叉树分割的深度的数量的信息中的至少之一。例如,该信息可以以序列、图片或片单元为单位进行编码,并且通过比特流进行传输。因此,第一片中的二叉树分割的次数、第一片中允许二叉树分割的最大深度或第一片中执行二叉树分割的深度的数量中的至少之一可以与第二片不同。例如,在第一片中,可以仅针对一个深度允许二叉树分割,而在第二片中,可以针对两个深度允许二叉树分割。
128.作为另一示例,可以根据片或图片的时间水平标识符(temporalid)不同地设置允许二叉树分割的次数、允许二叉树分割的深度或允许二叉树分割的深度的数量。此处,时间水平标识符(temporalid)用于标识具有视图、空间、时间或质量中的至少之一的可伸缩性的多个视频层中的每一个。
129.如图3中所示,可以基于四叉树将分区深度(拆分深度)为k的第一编码块300分割成多个第二编码块。例如,第二编码块310至340可以是具有第一编码块的一半宽度和一半高度的正方形块,并且第二编码块的分区深度可以增加至k+1。
130.分区深度为k+1的第二编码块310可以被分割成分区深度为k+2的多个第三编码块。可以通过依赖于分割方法选择性地使用四叉树和二叉树中的之一来执行第二编码块310的分割。此处,可以基于指示基于四叉树分割的信息和指示基于二叉树分割的信息中的至少之一来确定分割方法。
131.在基于四叉树对第二编码块310进行分割时,可以将第二编码块310分割成具有第二编码块的一半宽度和一半高度的四个第三编码块310a,并且第三编码块310a的分区深度
可以增加至k+2。相比之下,在基于二叉树对第二编码块310进行分割时,可以将第二编码块310分割成两个第三编码块。此处,两个第三编码块中的每一个可以是具有第二编码块的一半宽度和一半高度中的一者的非正方形块,并且分区深度可以增加至k+2。可以依赖于分割方向将第二编码块确定为水平方向或竖直方向的非正方形块,并且可以基于关于是沿竖直方向还是沿水平方向执行基于二叉树的分割的信息来确定分割方向。
132.同时,第二编码块310可以被确定为不再基于四叉树或二叉树进行分割的叶编码块。在这种情况下,叶编码块可以被用作预测块或变换块。
133.类似于第二编码块310的分割,第三编码块310a可以被确定为叶编码块,或者可以基于四叉树或二叉树被进一步分割。
134.同时,可以基于二叉树将基于二叉树分割的第三编码块310b进一步分割成竖直方向的编码块310b-2或水平方向的编码块310b-3,相关编码块的分区深度可以增加至k+3。替选地,第三编码块310b可以被确定为不再基于二叉树进行分割的叶编码块310b-1。在这种情况下,编码块310b-1可以被用作预测块或变换块。然而,可以基于以下信息中的至少之一来限制性地执行上述分割处理:关于允许基于四叉树的分割的编码块的大小/深度的信息、关于允许基于二叉树的分割的编码块的大小/深度的信息以及关于不允许基于二叉树的分割的编码块的大小/深度的信息。
135.表示编码块的大小的候选的数量可以被限制为预定数量,或者预定单元中的编码块的大小可以具有固定值。作为示例,序列或图片中的编码块的大小可以被限制为具有256
×
256、128
×
128或32
×
32。可以通过序列头或图片头来用信号通知指示序列中或图片中的编码块的大小的信息。
136.作为基于四叉树和二叉树的分割的结果,编码单元可以被表示为任意大小的正方形或矩形形状。
137.使用跳过模式、帧内预测、帧间预测或跳过方法中的至少之一来对编码块进行编码。一旦确定了编码块,则可以通过编码块的预测分割来确定预测块。可以通过指示编码块的分割类型的分割模式(part_mode)来执行编码块的预测分割。可以根据编码块的分割模式来确定预测块的大小或形状。例如,根据分割模式确定的预测块的大小可以等于或小于编码块的大小。
138.图7是示出当通过帧间预测对编码块进行编码时可以应用于编码块的分割模式的图。
139.当通过帧间预测对编码块进行编码时,8个分割模式中的一个可以应用于编码块,如图4所示的示例。
140.当通过帧内预测对编码块进行编码时,可以将分割模式part_2nx2n或分割模式part_nxn应用于编码块。
141.当编码块具有最小尺寸时,可以应用part_nxn。这里,可以在编码器和解码器中预定义编码块的最小尺寸。或者,可以经由比特流来用信号通知关于编码块的最小尺寸的信息。例如,通过片头(slice header)可以用信号通知编码块的最小尺寸,从而可以经由片(slice)来定义编码块的最小尺寸。
142.通常,预测块可以具有从64
×
64到4
×
4的大小。然而,当通过帧间预测对编码块进行编码时,可以限制预测块不具有4
×
4大小,以在执行运动补偿时减小存储器带宽。
143.图8是示出根据本发明的实施方式的帧间预测方法的流程图。
144.参照图8,确定当前块的运动信息s810。当前块的运动信息可以包括与当前块有关的运动矢量、当前块的参考图片索引或当前块的帧间预测方向中的至少之一。
145.可以基于通过比特流来用信号通知的信息或与当前块相邻的相邻块的运动信息中的至少之一来获得当前块的运动信息。
146.图9是示出当将合并模式应用于当前块时导出当前块的运动信息的过程的图。
147.如果将合并模式应用于当前块,则可以根据当前块的空间相邻块导出空间合并候选s910。空间相邻块可以包括与当前块的顶部、左侧或角(例如,左上角、右上角或左下角中的至少之一)相邻的块中的至少之一。
148.可以将空间合并候选的运动信息设置为与空间相邻块的运动信息相同。
149.可以根据当前块的时间相邻块导出时间合并候选s920。时间相邻块可以意味着在并置图片(collocated picture)中包括的共同定位块(co-located block)。并置图片具有与包括当前块的当前图片不同的图片顺序计数(picture order count,poc)。并置图片可以被确定为参考图片列表中的具有预定义索引的图片,或者可以由从比特流用信号通知的索引确定。时间相邻块可以被确定为并置图片中的具有与当前块相同的位置和大小的块或者与具有与当前块相同的位置和大小的块相邻的块。例如,可以将并置图片中的包括具有与当前块相同的位置和大小的块的中心坐标的块或者与块的右下边界相邻的块中的至少之一确定为时间相邻块。
150.可以基于时间相邻块的运动信息来确定时间合并候选的运动信息。例如,可以基于时间相邻块的运动矢量来确定时间合并候选的运动矢量。另外,时间合并候选的帧间预测方向可以被设置为与时间相邻块的帧间预测方向相同。然而,时间合并候选的参考图片索引可以具有固定值。例如,时间合并候选的参考图片索引可以被设置为“0”。
151.参照图11至图20,将更详细地描述导出合并候选的示例。
152.此后,可以生成包括空间合并候选和时间合并候选的合并候选列表s930。如果合并候选列表中包括的合并候选的数量小于合并候选的最大数量,则可以在合并候选列表中包括将两个或更多个合并候选进行组合的组合合并候选或具有零运动矢量(0,0)的合并候选。
153.当生成合并候选列表时,可以基于合并候选索引来指定合并候选列表中包括的合并候选中的至少之一s940。
154.当前块的运动信息可以被设置为与由合并候选索引指定的合并候选的运动信息相同s950。例如,当通过合并候选索引选择空间合并候选时,可以将当前块的运动信息设置为与空间相邻块的运动信息相同。替选地,当通过合并候选索引选择时间合并候选时,可以将当前块的运动信息设置为与时间相邻块的运动信息相同。
155.图10示出了当amvp模式应用于当前块时导出当前块的运动信息的过程。
156.当amvp模式应用于当前块时,可以根据比特流对当前块的帧间预测方向或参考图片索引中的至少之一进行解码s1010。也就是说,当应用amvp模式时,可以基于通过比特流的编码信息来确定当前块的帧间预测方向或参考图片索引中的至少之一。
157.可以基于当前块的空间相邻块的运动矢量来确定空间运动矢量候选s1020。空间运动矢量候选可以包括根据当前块的顶部相邻块导出的第一空间运动矢量候选和根据当
前块的左相邻块导出的第二空间运动矢量候选中的至少之一。这里,顶部相邻块可以包括与当前块的顶部或右上角相邻的块中的至少之一,并且当前块的左相邻块可以包括与当前块的左侧或左下角相邻的块中的至少之一。与当前块的左上角相邻的块可以被视为顶部相邻块或左相邻块。
158.当当前块与空间相邻块之间的参考图片不同时,可通过对空间相邻块的运动矢量进行缩放来获得空间运动矢量。
159.可以基于当前块的时间相邻块的运动矢量来确定时间运动矢量候选s1030。如果当前块与时间相邻块之间的参考图片不同,则可以通过对时间相邻块的运动矢量进行缩放来获得时间运动矢量。
160.可以生成包括空间运动矢量候选和时间运动矢量候选的运动矢量候选列表s1040。
161.当生成运动矢量候选列表时,可以基于指定运动矢量候选列表中的至少之一的信息来指定运动矢量候选列表中包括的运动矢量候选中的至少之一s1050。
162.由信息指定的运动矢量候选被设置为当前块的运动矢量预测值。并且,通过将运动矢量差值与运动矢量预测值相加来获得当前块的运动矢量s1060。此时,可以从比特流中解析运动矢量差值。
163.当获得当前块的运动信息时,可以基于所获得的运动信息来执行对当前块的运动补偿s820。更具体地,可以基于当前块的帧间预测方向、参考图片索引和运动矢量来执行对当前块的运动补偿。
164.可以通过比特流来用信号通知在合并候选列表中可以包括的合并候选的最大数量。例如,可以通过序列参数或图片参数来用信号通知指示合并候选的最大数量的信息。
165.可以根据合并候选的最大数量来确定在合并候选列表中可以包括的空间合并候选和时间合并候选的数量。具体地,可以调整空间合并候选的数量和时间合并候选的数量,使得空间合并候选和时间合并候选的总数量不超过合并候选的最大数量n。例如,当合并候选的最大数量是5时,可以将从当前块的5个空间合并候选中选择的4个添加到合并候选列表,并且可以将从当前块的2个时间合并候选中选择的1个添加到合并候选列表。可以根据添加到合并候选列表的空间合并候选的数量来调整时间合并候选的数量,或者可以根据添加到合并候选列表的时间合并候选的数量来调整空间合并候选的数量。如果添加到合并候选列表的合并候选的数量小于5,则可以将组合了至少两个合并候选的组合合并候选添加到合并候选列表或者将具有(0,0)的运动矢量的合并候选添加到合并候选列表。
166.可以以预定义的顺序将合并候选添加到合并候选列表。例如,可以按照空间合并候选、时间合并候选、组合合并候选和具有零运动矢量的合并候选的顺序生成合并候选列表。还可以定义与枚举顺序不同的添加合并候选的顺序。
167.图11是示出当前块的空间合并候选的图。可以根据当前块的空间相邻块导出当前块的空间合并候选。例如,空间合并候选可以包括根据与当前块的左侧相邻的块导出的合并候选a1、根据与当前块的顶部相邻的块导出的合并候选b1、根据与当前块的左下部相邻的块导出的合并候选a0、根据与当前块的右上部相邻的块导出的合并候选b0或根据与当前块的左上部相邻的块导出的合并候选b2。可以以预定顺序搜索空间合并候选。例如,空间合并候选的搜索顺序可以是a1、b1、b0、a0和b2。此时,仅当不存在与a1、b1、b0或a0对应的块
时,或者当与a1、b1、b0或a0对应的块不可用时,b2才可以包括在合并候选列表中。例如,如果在帧内预测中对与a1、b1、b0或a0对应的块进行编码,则可以将该块确定为不可用。替选地,如果合并候选列表中包括的空间合并候选和时间合并候选的数量小于或等于合并候选的最大数量,则可以将b2添加到合并候选列表作为时间合并候选的下一个顺序。
168.为了导出时间合并候选,可以在参考图片列表中选择并置图片(col_pic)。并置图片可以是参考图片列表中的具有与当前图片的最小图片顺序计数(poc)差的图片,或者是由参考图片索引指定的图片。可以基于并置块中的当前块的共同定位块来导出时间合并候选。此时,用于指定共同定位块的参考图片列表信息可以以块、片头或图片为单位进行编码,并且可以通过比特流发送。
169.图12是示出当前块的共同定位块的图。共同定位块指示并置图片中与当前块的位置对应的块。例如,可以将共同定位块确定为并置图片中的与具有与当前块相同的坐标和大小的块的右下部相邻的块h,或者包括块的中心位置的块c3。此时,当块h的位置不可用时,当块h由帧内预测进行编码时,或者当块h位于包括当前块的lcu之外时,可以将块c3确定为共同定位块。
170.替选地,可以将并置图片中的与具有与当前块相同的坐标和大小的块的一个角相邻的块确定为共同定位块,或者可以将具有该块内的坐标的块确定为共同定位块。例如,在图12所示的示例中,可以将块tl、bl或c0确定为共同定位块。
171.还可以根据多个共同定位块导出当前块的多个时间合并候选。
172.可以通过对并置图片中的共同定位块的运动矢量进行缩放来获得时间合并候选的运动矢量。图13是用于示出通过将共同定位块的运动矢量进行缩放来获得时间合并候选的运动矢量的示例的图。使用当前图片与当前块的参考图片之间的时间距离tb和并置图片与共同定位块的参考图片之间的时间距离td中的至少之一,对共同定位块的运动矢量进行缩放来获得时间合并候选的运动矢量。
173.可以基于具有预定形状的块或大小等于或大于预定大小的块来导出合并候选。因此,如果当前块不具有预定形状或者如果当前块的大小小于预定大小,则可以基于包括当前块的预定形状的块或者包括当前块的预定大小或更大的块来导出当前块的合并候选。例如,可以基于包括非正方形形状的编码单元的正方形形状的编码单元来导出非正方形形状的编码单元的合并候选。
174.图14是示出基于正方形块导出非正方形块的合并候选的示例的图。
175.可以基于包括非正方形块的正方形块来导出非正方形块的合并候选。例如,在图14所示的示例中,可以基于正方形块导出非正方形编码块0和非正方形编码块1的合并候选。因此,编码块0和编码块1可以使用基于正方形块导出的空间合并候选a0、a1、a2、a3和a4中的至少之一。
176.尽管未在图中示出,但是还可以基于正方形块导出非正方形块的时间合并候选。举例来说,编码块0和编码块1可以使用根据基于正方形块确定的时间相邻块导出的时间合并候选。
177.替选地,可以基于正方形块来导出空间合并候选和时间合并候选中的至少之一,并且可以基于非正方形块来导出另一个。例如,编码块0和编码块1可以使用基于正方形块导出的相同的空间合并候选,而编码块0和编码块1可以使用不同的时间合并候选,其中所
述不同的时间合并候选中的每一个由其位置导出。
178.在上述示例中,解释了基于正方形块导出合并候选,但是也可以基于预定形状的非正正方形块来导出合并候选。例如,如果当前块是2nxn形状的非正方形块(其中n是1/2n),则可以基于2n
×
n形状的非正方形块导出当前块的合并候选,并且如果当前块是nx2n形状的非正方形块,则可以基于nx2n形状的非正方形块导出当前块的合并候选。
179.可以通过比特流来用信号通知指示作为导出合并候选的基础的块的形状或块的大小的信息。例如,可以通过比特流来用信号通知指示正方形形状或非正方形形状的块形状信息。替选地,编码器/解码器可以在预定义的规则中导出合并候选,例如具有预定义的形状的块或大小等于或大于预定义大小的块。
180.在另一示例中,可以基于四叉树分割单元来导出合并候选。这里,四叉树分割单元可以表示由四叉树划分的块单元。例如,如果由二叉树分割当前块,则可以基于由四叉树划分的上节点块来导出当前块的合并候选。如果对于当前块不存在由四叉树划分的上节点,则可以基于包括当前块的lcu或特定大小的块来导出当前块的合并候选。
181.图15是用于示出基于上节点块导出二叉树分割块的合并候选的示例的图。
182.非正方形形状的二叉树分割块0和非正方形形状的二叉树分割块1可以使用基于四叉树单元的上部块导出的空间合并候选a0、a1、a2、a3和a4中的至少之一。因此,块0和块1可以使用相同的空间合并候选。
183.另外,非正方形形状的二叉树分割块2、非正方形形状的二叉树分割块3和非正方形形状的二叉树分割块4可以使用基于四叉树单元的上部块导出的b0、b1、b2、b3和b4中的至少之一。因此,块2、3和4可以使用相同的空间合并候选。
184.尽管未在图中示出,但是还可以根据基于四叉树的上部块来导出二叉树分割块的时间合并候选。因此,块0和块1可以使用从基于四叉树块单元确定的时间相邻块导出的相同的时间合并候选。块2、块3和块4还可以使用从基于四叉树块单元确定的时间相邻块导出的相同的时间合并候选。
185.替选地,还可以基于二叉树块单元导出空间合并候选和时间合并候选中的至少一个,并且可以基于四叉树块单元导出另一个。例如,块0和块1可使用基于四叉树块单元而导出的相同的空间合并候选,但可以使用不同的时间合并候选,其中所述不同的时间合并候选中每一个基于其位置导出。
186.可以通过比特流来用信号通知指示是否基于四叉树分割单元或二叉树分割单元导出合并候选的信息。根据该信息,可以基于四叉树分割的上节点块来确定是否导出二叉树分割块的合并候选。替选地,编码器/解码器可以根据预定义的规则基于四叉树分割单元或二叉树分割单元导出合并候选。
187.如上所描述,可以以块(例如,以编码块或预测块为单位)或预定义单元为单位来导出当前块的合并候选。此时,如果当前块的任何空间合并候选存在于预定区域中,则可以确定其不可用,然后可以从空间合并候选中排除。例如,如果针对块之间的并行处理定义了并行处理区域,则可以确定当前块的空间合并候选中包括在并行处理区域中的合并候选不可用。并行处理区域可以被称为合并估计区域(mer)。并行处理区域中的块具有能够并行合并的优点。
188.合并估计区域可以具有正方形形状或非正方形形状。非正方形形状的合并估计区
域可以限于预定形状。例如,非正方形形状的合并估计区域可以采用2n
×
n或n
×
2n的形状。
189.可以通过比特流来用信号通知指示合并估计区域的形状的信息或指示合并估计区域的大小的信息中的至少之一。例如,可以通过片头、图片参数或序列参数来用信号通知关于合并估计区域的形状或大小的信息。
190.指示合并估计区域的形状的信息可以是1比特的标志。例如,可以通过比特流来用信号通知指示合并估计区域具有正方形形状还是非正方形形状的语法“isrectagular_mer_flag”。如果isrectagular_mer_flag的值是1,则表示合并估计区域具有非正方形形状,并且如果isrectagular_mer_flag的值是0,则表示合并估计区域具有正方形形状。
191.如果合并估计区域具有非正方形形状,则可以通过比特流来用信号通知和宽度、高度或宽度与高度之间的比率有关的信息中的至少之一。基于该信息,可以导出非正方形形状合并估计区域的大小和/或形状。
192.图16是示出根据合并估计区域确定空间合并候选的可用性的示例的图。
193.如果合并估计区域具有nx2n形状,并且合并估计区域具有预定大小,则在与块1相同的合并估计区域中包括的空间合并候选b0和b3不能用作块1的空间合并候选。因此,除了合并候选b0和b3之外,块1的空间合并候选可以由b1、b2和b4中的至少之一组成。
194.类似地,在与块3相同的合并估计区域中包括的空间合并候选c0不能用作块3的空间合并候选。因此,除了合并候选c0之外,块3的空间合并候选可以由c1、c2、c3和c4中的至少之一组成。
195.可以根据除了与当前块相邻的预定义的位置处的相邻块之外的块导出当前块的空间合并候选。例如,如果当前块的相邻块中存在不可用作空间合并候选的块,则可以根据与相邻块相邻的块导出当前块的空间合并候选。与相邻块相邻的块可以包括相对于相邻块位于预定方向上的块、与相邻块相邻的块中与当前块具有最小距离的块或与相邻块相邻的块中满足作为空间合并候选的可用性的块中的至少之一。另外,与相邻块相邻的块可以是与当前块相邻的块,或者可以是与当前块不相邻的块。
196.为了便于解释,在以下实施方式中,与当前块相邻的预定位置处的相邻块将被称为第一空间合并候选块,并且与第一空间合并候选块相邻的块将被称为第二空间合并候选块。
197.图17是示出将与不可用作空间合并候选的相邻块相邻的块用作当前块的空间合并候选的示例的图。
198.参照图17,当第一空间合并候选块a(a0、a1、a2、a3或a4)不可用时,可以通过使用第二空间合并候选块b(b0、b1、b2、b3、b4、b5或b6)导出当前块的合并候选。也就是说,可以根据第一空间合并候选块的可用性,用第二空间合并候选块替换第一空间合并候选块。
199.如果第一空间合并候选块不可用作合并候选,则可以使用与不可用的第一空间合并候选块相邻的第二空间合并候选块来导出当前块的合并候选。
200.例如,与第一空间合并候选块相邻的空间合并候选块可以表示相对于不可用的空间合并候选块位于特定方向上的合并候选。这里,特定方向可以意味着左/右方向、顶部/底部方向或角方向中的至少之一。另外,可以根据第一空间合并候选块的位置而不同地确定特定方向。例如,当第一空间合并候选块与当前块的左侧相邻时,特定方向可以是第一空间合并候选块的左方向,并且当第一空间合并候选块与当前块的顶部相邻时,特定方向可以
是第一空间合并候选块的顶部方向。另外,当第一空间合并候选块与当前块的角相邻时,特定方向可以包括第一空间合并候选块的左方向、顶部方向或角方向中的至少之一。
201.例如,如果a0不可用,则可以将与a0相邻的b0设置为当前块的空间合并候选块。
202.例如,如果a1不可用,则可以将与a1相邻的b1设置为当前块的空间合并候选块。
203.例如,如果a2不可用,则可以将与a2相邻的b2设置为当前块的空间合并候选块。
204.例如,如果a3不可用,则可以将与a3相邻的b3设置为当前块的空间合并候选块。
205.例如,如果a4不可用,则可以将与a4相邻的b4至b6中的至少之一设置为当前块的空间合并候选块。
206.替换空间合并候选块的替换块的位置不限于图17中所示的示例。可以通过使用与图17中所示的位置不同的位置处的块来替换不可用的空间合并候选块。例如,还可以用位于空间合并候选块的顶部或底部的块来替换与当前块的左侧相邻的空间合并候选块,或者用位于空间合并候选块的左侧或右侧的块来替换与当前块的顶部相邻的空间合并候选块。
207.可以基于与当前块相邻的预定义的位置的相邻块来构造第一合并候选列表,并且可以基于与相邻块相邻的块来构造第二合并候选列表。例如,可以基于第一空间合并候选块(例如,图17中的a0至a4)生成第一合并候选列表,并且可以基于第二空间合并候选块(例如,图17中的b0至b6)生成第二合并候选列表。
208.可以选择第一合并候选列表和第二合并候选列表中之一,然后基于所选择的合并候选列表对当前块执行帧间预测。指定第一合并候选列表或第二合并候选列表的信息可以通过比特流来用信号通知。解码器可以基于该信息选择第一合并候选列表或第二合并候选列表。
209.替选地,还可以选择包括大量可用合并候选的一个合并候选列表,然后在第一合并候选列表和第二合并候选列表中选择另一个合并候选列表,或者基于当前块的大小、形状或分割深度自适应地选择合并候选列表。
210.替选地,还可以通过将合并候选列表中的任何一个添加(附加)到另一个合并候选列表来使用。例如,可以通过使用下述合并候选列表来执行当前块的运动补偿:所述合并候选列表被构造为包括第一合并候选列表中包括的合并候选和第二合并候选列表中包括的合并候选。
211.可以通过使用第一合并候选列表或第二合并候选列表中之一来执行当前块的帧间预测。如果合并候选列表中包括不可用的合并候选,则可以用在另一个合并候选列表中包括的合并候选替换不可用的合并候选。
212.例如,如果第一合并候选列表中包括不可用的合并候选,则可以将第二合并候选列表中包括的合并候选中最接近不可用的合并候选的可用合并候选添加到第一合并候选列表。最接近不可用的合并候选块的合并候选可以表示相对于不可用的合并候选块位于特定方向上的合并候选块。这里,特定方向可以意味着左/右方向、顶部/底部方向或角方向中的至少之一。另外,可以根据第一空间合并候选块的位置而不同地确定特定方向。例如,当第一空间合并候选块与当前块的左侧相邻时,特定方向可以是第一空间合并候选块的左方向,并且当第一空间合并候选块与当前块的顶部相邻时,特定方向可以是第一空间合并候选块的顶部方向。另外,当第一空间合并候选块与当前块的角相邻时,特定方向可以包括第一空间合并候选块的左方向、顶部方向或角方向中的至少之一。
213.在图17所示的示例中,如果第一合并候选列表中包括的a0不可用,则第二合并候选列表中包括的合并候选中最接近a0的b0可以用作当前块的合并候选。
214.例如,如果第一合并候选列表中包括的a1不可用,则第二合并候选列表中包括的合并候选中最接近a1的b1可以用作当前块的合并候选。
215.例如,如果第一合并候选列表中包括的a2不可用,则第二合并候选列表中包括的合并候选中最接近a2的b2可以用作当前块的合并候选。
216.例如,如果第一合并候选列表中包括的a3不可用,则第二合并候选列表中包括的合并候选中最接近a3的b3可以用作当前块的合并候选。
217.例如,如果第一合并候选列表中包括的a4不可用,则第二合并候选列表中包括的合并候选中最接近a4的b4至b6中的至少之一可以用作当前块的合并候选。
218.替选地,如果第一合并候选列表中包括不可用的合并候选,则可以基于第二合并候选列表中包括的合并候选的优先级顺序将第二合并候选列表中包括的合并候选添加到第一合并候选列表。
219.通过将第一合并候选列表和第二合并候选列表进行组合来生成单个合并候选列表,然后,可以基于组合的合并候选列表来执行对当前块的帧间预测。
220.可以通过按照预定搜索顺序搜索合并候选来生成组合的合并候选列表。例如,图18至图21是示出合并候选的搜索顺序的图。在图18至图21中,合并候选的搜索顺序如下所示。
221.a0

a1

a2

a3

a4

b0

b1

b2

b3

b4

(b5)

(b6)
222.这里,仅当b4块不可用时或者当组合的合并候选列表中包括的合并候选的数量等于或小于预定数量时,才可以搜索b5和b6。
223.在图18至图21中,示出了在搜索第一空间合并候选块之后搜索第二空间合并候选,但是,还可以通过使用与图18至图21中所示的搜索顺序不同的搜索顺序来生成合并候选列表。
224.还可以通过从第一合并候选列表中选择n个合并候选并从第二合并候选列表中选择m个合并候选来生成合并候选列表。n和m可以相同或可以彼此不同。
225.这里,可以根据预定义的优先级确定从第一合并候选列表和第二合并候选列表中选择的合并候选。
226.替选地,可以基于与从另一个合并候选列表中选择的合并候选的相关性来确定要从合并候选列表中选择的合并候选。例如,如果已经从第一合并候选列表中选择了合并候选a0,则可以禁止从第二合并候选列表中选择与a0相邻的合并块。
227.如果第一合并候选列表中的可用合并候选块的数量小于n,则可以从第二合并候选列表中选择比m更多的合并候选。例如,当n是4并且m是2时,可以通过从第一合并候选列表中选择四个合并候选并从第二合并候选列表中选择两个合并候选来生成当前块的合并候选列表。此时,如果第一合并候选列表中的可用合并候选的数量小于4,则可以从第二合并候选列表中选择两个或更多个合并候选以将它们用作当前块的合并候选。
228.同样地,如果第二合并候选列表中的可用合并候选块的数量小于m,则可以从第一合并候选列表中选择比n更多的合并候选。也就是说,可以根据每个合并候选列表中包括的可用合并候选块的数量来调整n和m,使得合并候选的总数量可以具有固定值。
229.如果从第一合并候选列表和第二候选列表中选择的合并候选的总数量小于预定的最大数量,则可以将通过组合两个或更多个合并候选而生成的组合合并候选或零合并候选(即,运动矢量为0的合并候选)添加到合并候选列表。
230.已经主要在解码过程上描述了上述实施方式,但是编码过程可以以与所描述的相同的顺序或相反的顺序执行。
231.图22是示出根据应用本发明的实施方式的获得残差样本的处理的流程图。
232.首先,可以获得当前块的残差系数s2210。解码器可以通过系数扫描方法获得残差系数。例如,解码器可以使用对角线扫描、z字形(jigzag)扫描、右上扫描、竖直扫描或水平扫描来执行系数扫描,并且可以获得二维块形式的残差系数。
233.可以对当前块的残差系数执行逆量化s2220。
234.可以确定是否跳过对当前块的解量化残差系数的逆变换s2230。具体地,解码器可以确定是否跳过在当前块的水平方向或竖直方向中的至少一个方向上的逆变换。在确定在当前块的水平方向或竖直方向中的至少一个方向上应用逆变换时,可以通过对当前块的解量化残差系数进行逆变换来获得当前块的残差样本s2240。此处,可以使用dct、dst和klt中的至少之一来执行逆变换。
235.在当前块的水平方向和竖直方向二者上均跳过逆变换时,不在当前块的水平方向和竖直方向上执行逆变换。在这种情况下,可以通过使用预定值对解量化残差系数进行缩放来获得当前块的残差样本s2250。
236.跳过在水平方向上的逆变换意味着不在水平方向上执行逆变换,但是在竖直方向上执行逆变换。此时,可以在水平方向上执行缩放。
237.跳过竖直方向上的逆变换意味着不在竖直方向上执行逆变换,但是在水平方向上执行逆变换。此时,可以在竖直方向上执行缩放。
238.可以依赖于当前块的分割类型来确定是否可以针对当前块使用逆变换跳过技术。例如,如果通过基于二叉树的分割生成当前块,则可以针对当前块限制逆变换跳过方案。因此,在通过基于二叉树的分割生成当前块时,可以通过对当前块进行逆变换来获得当前块的残差样本。另外,在通过基于二叉树的分割生成当前块时,可以省略对指示是否跳过逆变换的信息(例如,transform_skip_flag(变换跳过标志))进行的编码/解码。
239.替选地,在通过基于二叉树的分割生成当前块时,可以将逆变换跳过方案限制到水平方向或竖直方向中的至少一个方向。此处,可以基于从比特流解码的信息来确定逆变换跳过方案被限制的方向,或者可以基于当前块的大小、当前块的形状或当前块的帧内预测模式中的至少之一来自适应地确定逆变换跳过方案被限制的方向。
240.例如,在当前块是宽度大于高度的非正方形块时,可以仅在竖直方向上允许逆变换跳过方案并且在水平方向上限制逆变换跳过方案。即,在当前块是2n
×
n时,在当前块的水平方向上执行逆变换,并且可以在竖直方向上选择性地执行逆变换。
241.另一方面,在当前块是高度大于宽度的非正方形块时,可以仅在水平方向上允许逆变换跳过方案并且在竖直方向上限制逆变换跳过方案。即,在当前块是n
×
2n时,在当前块的竖直方向上执行逆变换,并且可以在水平方向上选择性地执行逆变换。
242.与上述示例相比,在当前块是宽度大于高度的非正方形块时,可以仅在水平方向上允许逆变换跳过方案,并且在当前块是高度大于宽度的非正方形块时,可以仅在竖直方
向上允许逆变换跳过方案。
243.可以通过比特流来对指示是否针对水平方向跳过逆变换的信息或者指示是否针对竖直方向跳过逆变换的信息进行信号通知。例如,指示是否跳过水平方向上的逆变换的信息是1比特标志“hor_transform_skip_flag”(水平变换跳过标志),并且指示是否跳过竖直方向上的逆变换的信息是1比特标志“ver_transform_skip_flag”(竖直变换跳过标志)。编码器可以根据当前块的形状对“hor_transform_skip_flag”或“ver_transform_skip_flag”中的至少之一进行编码。此外,解码器可以通过使用“hor_transform_skip_flag”或“ver_transform_skip_flag”中的至少之一来确定是否跳过水平方向或竖直方向上的逆变换。
244.可以设置成:依赖于当前块的分割类型跳过对当前块的任何一个方向的逆变换。例如,如果通过基于二叉树的分割生成当前块,则可以跳过水平方向或竖直方向上的逆变换。即,如果通过基于二叉树的分割生成当前块,则可以在不对指示是否跳过当前块的逆变换的信息(例如,transform_skip_flag(变换跳过标志)、hor_transform_skip_flag、ver_transform_skip_flag)进行编码/解码的情况下,确定在水平方向或竖直方向中的至少一个方向上跳过当前块的逆变换。
245.尽管已经基于一系列步骤或流程图描述了上述实施方式,但是它们不限制本发明的时序顺序,并且可以根据需要同时或以不同顺序执行。此外,构成上述实施方式中的框图的部件(例如,单元、模块等)中的每一个可以由硬件装置或软件以及多个部件来实现。或者,可以通过单个硬件装置或软件来组合并实现多个部件。上述实施方式可以以程序指令的形式实现,所述程序指令可以通过各种计算机部件执行并被记录在计算机可读记录介质中。计算机可读记录介质可以包括程序命令、数据文件、数据结构等之一或其组合。计算机可读介质的示例包括诸如硬盘、软盘和磁带的磁介质、诸如cd-rom和dvd的光学记录介质、诸如光磁软盘的磁光介质、介质和专门被配置成存储和执行程序指令的硬件装置例如rom、ram、闪存等。硬件装置可以被配置成作为一个或更多个软件模块来进行操作以用于执行根据本发明的处理,反之亦然。
246.工业应用性
247.本发明可以应用于能够对视频进行编码/解码的电子装置。
248.根据上述描述可知,本发明的实施例还公开了以下技术方案,包括但不限于:
249.方案1.一种用于对视频进行解码的方法,所述方法包括:
250.根据与当前块相邻的第一空间相邻块或与所述第一空间相邻块相邻的第二空间相邻块中的至少之一导出所述当前块的空间合并候选;
251.生成包括所述空间合并候选的合并候选列表;以及
252.通过使用所述合并候选列表来执行对所述当前块的运动补偿。
253.方案2.根据方案1所述的方法,其中,所述第二空间相邻块位于相对于所述第一空间相邻块的预定位置处。
254.方案3.根据方案2所述的方法,其中,根据所述第一空间相邻块的位置而不同地确定所述预定位置。
255.方案4.根据方案1所述的方法,其中,如果所述第一空间相邻块不可用,则根据所述第二空间相邻块导出所述空间合并候选。
256.方案5.根据方案1所述的方法,其中,导出所述空间合并候选包括通过按顺序地搜索所述第一空间相邻候选块和所述第二空间相邻候选块来导出至少一个空间合并候选。
257.方案6.根据方案1所述的方法,其中,生成所述合并候选列表包括:
258.生成包括根据所述第一空间相邻候选块导出的第一空间合并候选的第一合并候选列表;以及
259.生成包括根据所述第二空间相邻候选块导出的第二空间合并候选的第二合并候选列表。
260.方案7.根据方案6所述的方法,其中,通过使用所述第一合并候选列表和所述第二合并候选列表中之一来执行对所述当前块的运动补偿。
261.方案8.根据方案6所述的方法,其中,基于通过将所述第一合并候选列表和所述第二合并候选列表进行组合而生成的组合合并候选列表来执行对所述当前块的运动补偿。
262.方案9.一种用于对视频进行编码的方法,所述方法包括:
263.根据与当前块相邻的第一空间相邻块或与所述第一空间相邻块相邻的第二空间相邻块中的至少之一导出所述当前块的空间合并候选;
264.生成包括所述空间合并候选的合并候选列表;以及
265.通过使用所述合并候选列表来执行对所述当前块的运动补偿。
266.方案10.根据方案9所述的方法,其中,所述第二空间相邻块位于相对于所述第一空间相邻块的预定位置处。
267.方案11.根据方案10所述的方法,其中,根据所述第一空间相邻块的位置而不同地确定所述预定位置。
268.方案12.根据方案9所述的方法,其中,如果所述第一空间相邻块不可用,则根据所述第二空间相邻块导出所述空间合并候选。
269.方案13.根据方案9所述的方法,其中,导出所述空间合并候选包括通过按顺序地搜索所述第一空间相邻候选块和所述第二空间相邻候选块来导出至少一个空间合并候选。
270.方案14.根据方案9所述的方法,其中,生成所述合并候选列表包括:
271.生成包括根据所述第一空间相邻候选块导出的第一空间合并候选的第一合并候选列表;以及
272.生成包括根据所述第二空间相邻候选块导出的第二空间合并候选的第二合并候选列表。
273.方案15.一种用于对视频进行解码的装置,所述装置包括:
274.帧间预测单元,用于:根据与当前块相邻的第一空间相邻块或与所述第一空间相邻块相邻的第二空间相邻块中的至少之一导出所述当前块的空间合并候选;生成包括所述空间合并候选的合并候选列表;以及通过使用所述合并候选列表来执行对所述当前块的运动补偿。

技术特征:
1.一种对视频进行解码的方法,所述方法包括:获得当前块的运动信息;基于所述当前块的运动信息获得所述当前块的预测样本;确定是否跳过针对包括在所述当前块中的变换块的逆变换;当确定未跳过针对所述变换块的逆变换时,确定所述变换块的变换类型;基于所确定的变换类型执行针对所述变换块的逆变换;以及基于所述当前块的预测样本和残差样本重构所述当前块,其中,基于包括所述变换块的所述当前块是否被分割成两个变换块来确定是否从比特流中解析变换跳过标志。2.根据权利要求1所述的方法,其中,当所述当前块在竖直方向或水平方向上被分割成所述两个变换块时,不从所述比特流中解析所述变换跳过标志,并且确定不跳过针对作为所述两个变换块之一的变换块的逆变换。3.根据权利要求1所述的方法,其中,基于所述当前块的大小确定非对称分割是否可用于所述当前块。4.一种对视频进行编码的方法,所述方法包括:获得当前块的运动信息;基于所述当前块的运动信息获得所述当前块的预测样本;通过从原始样本中减去所述预测样本,生成所述当前块的残差样本;确定包括在所述当前块中的变换块的变换类型;以及基于所确定的变换类型执行所述变换块的变换,其中,将指定是否跳过所述变换的变换跳过标志选择性地编码到比特流中,以及其中,基于包括所述变换块的所述当前块是否被分割成两个变换块来确定是否将所述变换跳过标志编码到所述比特流中。5.一种传输压缩视频数据的装置,所述装置包括:处理器,用于获得所述压缩视频数据,所述压缩视频数据包括指定当前块的运动信息候选之一的信息;以及传输单元,用于传输所述压缩视频数据,其中,基于所述当前块的运动信息获得所述当前块的预测样本,其中,基于所述预测样本和残差样本获得所述当前块的重构样本,其中,为了获得所述残差样本,确定是否跳过针对包括在所述当前块中的变换块的逆变换,其中,当确定未跳过针对所述变换块的逆变换时,确定所述变换块的变换类型,其中,基于所确定的变换类型执行针对所述变换块的逆变换,以及其中,基于包括所述变换块的所述当前块是否被分割成两个变换块来确定是否将变换跳过标志包括到所述压缩视频数据中。

技术总结
本公开涉及用于处理视频信号的方法和装置。其中,一种对视频进行解码的方法包括:获得当前块的运动信息;基于当前块的运动信息获得当前块的预测样本;确定是否跳过针对包括在当前块中的变换块的逆变换;当确定未跳过针对变换块的逆变换时,确定变换块的变换类型;基于所确定的变换类型执行针对变换块的逆变换;以及基于当前块的预测样本和残差样本重构当前块,其中,基于包括变换块的当前块是否被分割成两个变换块来确定是否从比特流中解析变换跳过标志。跳过标志。跳过标志。


技术研发人员:李培根
受保护的技术使用者:株式会社KT
技术研发日:2017.09.29
技术公布日:2023/10/11
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐