对视频进行解码和编码的方法和传输视频数据的方法与流程
未命名
10-18
阅读:116
评论:0
对视频进行解码和编码的方法和传输视频数据的方法
1.本技术是国家申请号为201780057358.x,国际申请日为2017年9月20日,进入国家日期为2019年3月18日,发明名称为“用于处理视频信号的方法和装置”的申请的分案申请。
技术领域
2.本发明涉及用于处理视频信号的方法和装置。
背景技术:
3.近来,在各种应用领域中对高分辨率和高质量图像例如高清晰度(hd)图像和超高清晰度(uhd)图像的需求已经增加了。然而,与常规图像数据相比,更高分辨率和质量的图像数据的数据量增加。因此,在通过使用介质例如常规的有线和无线宽带网络传输图像数据时,或者在通过使用常规的存储介质存储图像数据时,传输和存储的成本增加了。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,可以利用高效的图像编码/解码技术。
4.图像压缩技术包括各种技术,包括:根据当前图片的先前图片或后续图片来对包括在当前图片中的像素值进行预测的帧间预测技术;通过使用当前图片中的像素信息对包括在当前图片中的像素值进行预测的帧内预测技术;将短代码分配给出现频率高的值并且将长代码分配给出现频率低的值的熵编码技术等。可以通过使用这样的图像压缩技术来有效地压缩图像数据,并且可以传输或存储图像数据。
5.同时,随着对高分辨率图像的需求的增加,对作为新的图像服务的立体图像内容的需求也在增加。正在讨论用于有效地提供具有高分辨率和超高分辨率的立体图像内容的视频压缩技术。
技术实现要素:
6.技术问题
7.本发明的目的是提供一种用于在对视频信号进行编码/解码时有效地划分编码/解码目标块的方法和装置。
8.本发明的目的是提供一种用于在对视频信号进行编码/解码时将编码/解码目标块分成对称类型或非对称类型的两个块的方法和装置。
9.本发明要实现的技术目的不限于上述技术问题。并且,本领域技术人员根据以下描述将明显地理解未提及的其他技术问题。
10.技术方案
11.根据本发明的用于对视频进行解码信号的方法和装置可以确定是否用四叉树分割来划分当前块,在不用四叉树分割来划分当前块的情况下,确定是否用二叉树分割来划分当前块,在确定用二叉树分割来划分当前块的情况下,确定用于当前块的二叉树分割类型,以及根据确定的二叉树分割类型将当前块划分为两个分区。
12.根据本发明的用于对视频进行编码信号的方法和装置可以确定是否用四叉树分
割来划分当前块,在不用四叉树分割来划分当前块的情况下,确定是否用二叉树分割来划分当前块,在确定用二叉树分割来划分当前块的情况下,确定用于当前块的二叉树分割类型,以及根据确定的二叉树分割类型将当前块划分为两个分区。
13.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,二叉树分割类型可以包括非对称分割类型,其中通过划分当前块而生成的两个分区是非对称的。
14.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,如果当前块被划分为非对称分区,则对于作为当前块的划分的结果而生成的的分区中的每一个分区,会不允许四叉树分割或二叉树分割。
15.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以基于关于当前块的分割方向的信息和关于当前两个分区的大小的信息中的至少一个来确定二叉树分割类型。
16.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,确定二叉树分割类型可以包括确定是否以对称形式来划分当前块,以及在确定不以对称形式来划分当前块的情况下,确定当前块的非对称分割类型。
17.在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以基于经由比特流进行信号通知的索引信息来确定二叉树分割类型。
18.以上对本发明简要概述的特征仅是本发明的随后的详细描述的说明性方面,而不限制本发明的范围。
19.有益效果
20.根据本发明,通过有效地划分编码/解码目标块,可以提高编码/解码效率。
21.根据本发明,通过将编码/解码目标块分成对称类型或非对称类型,可以提高编码/解码效率。
22.能够通过本发明获得的效果不限于上述效果,并且本领域技术人员可以根据以下描述清楚地理解未提及的其他效果。
附图说明
23.图1是示出根据本发明的实施方式的用于对视频进行编码的装置的框图。
24.图2是示出根据本发明的实施方式的用于对视频进行解码的装置的框图。
25.图3是示出根据本发明的实施方式的基于树结构来分层次地分割编码块的示例的图。
26.图4是示出根据本发明的实施方式的允许基于二叉树的分割的分割类型的图。
27.图5是示出根据本发明的实施方式的仅允许预定类型的基于二叉树的分割的示例的图。
28.图6是用于说明根据应用本发明的实施方式的对与可允许的二叉树分割次数有关的信息进行编码/解码的示例的图。
29.图7示出了基于非对称二叉树分割的编码块的分割类型。
30.图8示出了使用qtbt和非对称二叉树分割将编码块划分为多个编码块的示例。
31.图9是示出可以应用于编码块的分割类型的图。
32.图10是示出当通过帧间预测对编码块进行编码时可以应用于编码块的分割模式
的图。
33.图11是示出根据本发明的实施方式的编码块的分割处理的流程图。
34.图12是示出根据应用本发明的实施方式的获得残差样本的处理的流程图。
具体实施方式
35.可以对本发明进行各种修改,并且存在本发明的各种实施方式,现在将参照附图提供各种实施方式的示例,并且详细描述各种实施方式的示例。然而,本发明不限于此,并且示例性实施方式可以被解释为包括本发明的技术构思和技术范围内的所有修改、等同物或替代方案。在所描述的附图中,相似的附图标记指代相似的元件。
36.说明书中使用的术语“第一”、“第二”等可以用于描述各种部件,但是这些部件不被解释为限制于这些术语。这些术语仅用于区分一个部件与其他部件。例如,在不偏离本发明的范围的情况下,“第一”部件可以被称为“第二”部件,并且“第二”部件也可以类似地被称为“第一”部件。术语“和/或”包括多个项的组合或者多个术语中的任何一个术语。
37.应该理解的是,在本说明书中,在元件被简单地称为“连接至”或“耦接至”另一元件而不是“直接连接至”或“直接耦接至”另一元件时,该元件可以“直接连接至”或“直接耦接至”另一元件,或者该元件可以连接至或耦接至另一元件并且有其他元件介于在它们之间。相反地,应该理解的是,在元件被称为“直接耦接”或“直接连接”至另一元件时,不存在中间元件。
38.本说明书中使用的术语仅用于描述特定实施方式,而并不意在限制本发明。以单数形式使用的表述包含复数形式的表述,除非其在上下文中具有明显不同的含义。在本说明书中,应当理解的是,诸如“包括”、“具有”等的术语意在指示本说明书中公开的特征、数字、步骤、动作、元件、部分或其组合的存在,并且不意在排除可以存在或可以添加一个或更多个其他特征、数字、步骤、动作、元件、部分或其组合的可能性。
39.在下文中,将参照附图详细描述本发明的优选实施方式。在下文中,附图中的相同构成元件由相同的附图标记表示,并且将省略对相同元件的重复描述。
40.图1是示出根据本发明的实施方式的用于对视频进行编码的装置的框图。
41.参照图1,用于对视频进行编码的装置100可以包括:图片分割模块110、预测模块120和125、变换模块130、量化模块135、重排模块160、熵编码模块165、逆量化模块140、逆变换模块145、滤波器模块150以及存储器155。
42.图1中所示的构成部分被独立地示出,以表示在用于对视频进行编码的装置中的彼此不同的特征功能。因此,这并不意味着每个构成部分都是由单独的硬件或软件的构成单元构成。换言之,为了方便起见,每个构成部分包括所列举的构成部分中的每一个。因此,可以将每个构成部分的至少两个构成部分进行组合以形成一个构成部分,或者可以将一个构成部分划分成多个构成部分以执行每个功能。在不偏离本发明的实质的情况下,组合每个构成部分的实施方式和划分一个构成部分的实施方式也被包括在本发明的范围内。
43.此外,构成部分中的一些可能不是执行本发明的基本功能的必不可少的构成部分,而是仅用于改善本发明的性能的可选构成部分。可以通过排除用于改善性能的构成部分而仅包括用于实现本发明的实质的必不可少的构成部分来实现本发明。排除仅用于改善性能的可选构成部分而仅包括必不可少的构成部分的结构也被包括在本发明的范围内。
44.图片分割模块110可以将输入图片分割成一个或更多个处理单元。此处,处理单元可以是预测单元(pu)、变换单元(tu)或编码单元(cu)。图片分割模块110可以将一个图片分割成多个编码单元、预测单元和变换单元的组合,并且可以通过使用预定准则(例如,成本函数)选择编码单元、预测单元和变换单元的一个组合来对图片进行编码。
45.例如,一个图片可以被分割成多个编码单元。可以使用递归树结构例如四叉树结构来将图片分割成编码单元。在一个图片或最大编码单元作为根的情况下被分割成其他编码单元的编码单元可以以子节点对应于所分割的编码单元的数目的方式进行分割。通过预定限制不能再分割的编码单元用作叶节点。即,当假设对于一个编码单元仅正方形分割可行时,一个编码单元可以最多被分割成四个其他编码单元。
46.在下文中,在本发明的实施方式中,编码单元(coding unit)可以意指执行编码的单元或者执行解码的单元。
47.预测单元可以是被分割成在单个编码单元中具有相同大小的正方形形状或矩形形状的分区中之一,或者预测单元可以是被分割成使得在单个编码单元中具有不同的形状/大小的分区中之一。
48.当基于编码单元生成经受帧内预测的预测单元并且编码单元不是最小编码单元时,可以在不将编码单元分割成多个预测单元n
×
n的情况下执行帧内预测。
49.预测模块120和125可以包括执行帧间预测的帧间预测模块120和执行帧内预测的帧内预测模块125。可以确定对于预测单元是执行帧间预测还是帧内预测,并且可以确定根据每个预测方法的详细信息(例如,帧内预测模式、运动矢量、参考图片等)。此处,经受预测的处理单元可以不同于针对其确定预测方法和详细内容的处理单元。例如,可以由预测单元确定预测方法、预测模式等,并且可以由变换单元执行预测。所生成的预测块与原始块之间的残差值(残差块)可以被输入至变换模块130。此外,用于预测的预测模式信息、运动矢量信息等可以与残差值一起由熵编码模块165进行编码,并且可以被传输至用于对视频进行解码的装置。在使用特定编码模式时,可以通过对原始块按其原样进行编码而不通过预测模块120和125生成预测块来向用于对视频进行解码的装置进行传输。
50.帧间预测模块120可以基于当前图片的先前图片或后续图片中的至少一个的信息来预测预测单元,或者在一些情况下,可以基于当前图片中的一些编码区域的信息来预测预测单元。帧间预测模块120可以包括参考图片插值模块、运动预测模块以及运动补偿模块。
51.参考图片插值模块可以从存储器155接收参考图片信息,并且可以根据参考图片来生成整像素(integer pixel)的或小于整像素的像素信息。在亮度像素的情况下,可以使用具有不同滤波器系数的基于dct的8抽头插值滤波器来以1/4像素为单位生成整像素的或小于整像素的像素信息。在色度信号的情况下,可以使用具有不同滤波器系数的基于dct的4抽头插值滤波器来以1/8像素为单位生成整像素的或小于整像素的像素信息。
52.运动预测模块可以基于由参考图片插值模块进行插值的参考图片来执行运动预测。作为用于计算运动矢量的方法,可以使用各种方法,例如,基于全搜索的块匹配算法(fbma)、三步搜索(tss)和新三步搜索算法(nts)等。基于插值像素,运动矢量可以具有以1/2像素或1/4像素为单位的运动矢量值。运动预测模块可以通过改变运动预测方法来预测当前预测单元。作为运动预测方法,可以使用各种方法,例如,跳过方法、合并方法、amvp(高级
运动矢量预测)方法、帧内块复制方法等。
53.帧内预测模块125可以基于作为当前图片中的像素信息的与当前块相邻的参考像素信息来生成预测单元。在当前预测单元的相邻块是经受帧间预测的块并且因此参考像素是经受帧间预测的像素时,可以使用经受帧内预测的相邻块的参考像素信息来替换包括在经受帧间预测的块中的参考像素。即,在参考像素不可用时,可以使用可用参考像素中的至少一个参考像素来替换不可用的参考像素信息。
54.帧内预测中的预测模式可以包括依赖于预测方向使用参考像素信息的方向性预测模式和在执行预测时不使用方向信息的非方向性预测模式。用于预测亮度信息的模式可以与用于预测色度信息的模式不同,并且为了预测色度信息,可以利用用于预测亮度信息的帧内预测模式信息或者预测的亮度信号信息。
55.在执行帧内预测时,在预测单元的大小与变换单元的大小相同时,可以基于位于该预测单元的左侧、左上侧和顶部的像素对预测单元执行帧内预测。然而,在执行帧内预测时,在预测单元的大小与变换单元的大小不同时,可以使用基于变换单元的参考像素来执行帧内预测。此外,使用n
×
n分割的帧内预测可以仅用于最小编码单元。
56.在帧内预测方法中,可以在依赖于预测模式将ais(自适应帧内平滑)滤波器应用于参考像素之后生成预测块。应用于参考像素的ais滤波器的类型可以变化。为了执行帧内预测方法,可以根据与当前预测单元相邻的预测单元的帧内预测模式来预测当前预测单元的帧内预测模式。在通过使用根据相邻预测单元预测到的模式信息来预测当前预测单元的预测模式中,在当前预测单元的帧内预测模式与相邻预测单元的帧内预测模式相同时,可以使用预定标志信息来传输指示当前预测单元的预测模式与相邻预测单元的预测模式彼此相同的信息。在当前预测单元的预测模式与相邻预测单元的预测模式不同时,可以执行熵编码以对当前块的预测模式信息进行编码。
57.此外,可以基于由预测模块120和125生成的预测单元来生成包括关于残差值的信息的残差块,残差值是经受预测的预测单元与预测单元的原始块之间的差异。可以将所生成的残差块输入到变换模块130。
58.变换模块130可以通过使用诸如离散余弦变换(discrete cosine transform,dct)、离散正弦变换(discrete sine transform,dst)和klt的变换方法来对残差块进行变换,该残差块包括关于原始块与由预测模块120和125生成的预测单元之间的残差值的信息。可以基于用于生成残差块的预测单元的帧内预测模式信息来确定是应用dct、dst还是klt以对残差块进行变换。
59.量化模块135可以对由变换模块130变换到频域的值进行量化。量化系数可以依赖于块或图片的重要性而变化。可以将由量化模块135计算的值提供至逆量化模块140和重排模块160。
60.重排模块160可以对量化后的残差值的系数进行重排。
61.重排模块160可以通过系数扫描方法将二维块形式的系数改变成一维矢量形式的系数。例如,重排模块160可以使用锯齿形扫描方法从dc系数扫描至高频域的系数,以将系数改变成一维矢量形式。依赖于变换单元的大小和帧内预测模式,可以使用沿列方向扫描二维块形式的系数的竖直方向扫描或沿行方向扫描二维块形式的系数的水平方向扫描来代替锯齿形扫描。即,可以依赖于变换单元的大小和帧内预测模式来确定使用锯齿形扫描、
竖直方向扫描和水平方向扫描中的哪种扫描方法。
62.熵编码模块165可以基于由重排模块160计算的值来执行熵编码。熵编码可以使用各种编码方法,例如指数哥伦布(golomb)编码、上下文自适应变长编码(cavlc)和上下文自适应二进制算术编码(cabac)。
63.熵编码模块165可以对来自重排模块160以及预测模块120和125的各种信息进行编码,各种信息例如编码单元的残差值系数信息和块类型信息、预测模式信息、分割单元信息、预测单元信息、变换单元信息、运动矢量信息、参考帧信息、块插值信息、滤波信息等。
64.熵编码模块165可以对从重排模块160输入的编码单元的系数进行熵编码。
65.逆量化模块140可以对由量化模块135量化的值进行逆量化,并且逆变换模块145可以对由变换模块130变换的值进行逆变换。可以将由逆量化模块140和逆变换模块145生成的残差值与由预测模块120和125的运动估计模块、运动补偿模块和帧内预测模块预测的预测单元进行组合,使得可以生成重构块。
66.滤波器模块150可以包括去块滤波器、偏移校正单元以及自适应环路滤波器(alf)中的至少一个。
67.去块滤波器可以移除由于重构图片中的块之间的边界而出现的块失真。为了确定是否执行去块,包括在块的若干行或若干列中的像素可以是确定是否对当前块应用去块滤波器的基础。当去块滤波器被应用于块时,可以依赖于所需的去块滤波强度来应用强滤波器或弱滤波器。此外,在应用去块滤波器时,可以并行地处理水平方向滤波和竖直方向滤波。
68.偏移校正模块可以在经受去块的图片中以像素为单位来校正与原始图片的偏移。为了对特定图片执行偏移校正,可以使用考虑每个像素的边缘信息来施加偏移的方法,或者可以使用下述方法:将图片的像素分割成预定数量的区域,确定要经受偏移的区域,并且对所确定的区域施加偏移。
69.可以基于通过将滤波后的重构图片与原始图片进行比较而获得的值来执行自适应环路滤波(alf)。可以将包括在图片中的像素分成预定组,可以确定要应用于每个组的滤波器,并且可以针对每个组单独执行滤波。可以通过编码单元(cu)传输关于是否应用alf和亮度信号的信息。用于alf的滤波器的形状和滤波器系数可以依赖于每个块而变化。此外,无论应用目标块的特征如何,都可以应用用于alf的相同形状(固定形状)的滤波器。
70.存储器155可以存储通过滤波器模块150计算的重构块或重构图片。可以在执行帧间预测时将所存储的重构块或重构图片提供至预测模块120和125。
71.图2是示出根据本发明的实施方式的用于对视频进行解码的装置的框图。
72.参照图2,用于对视频进行解码的装置200可以包括:熵解码模块210、重排模块215、逆量化模块220、逆变换模块225、预测模块230和235、滤波器模块240以及存储器245。
73.当从用于对视频进行编码的装置输入视频比特流时,可以根据用于对视频进行编码的装置的逆处理来对输入比特流进行解码。
74.熵解码模块210可以根据由用于对视频进行编码的装置的熵编码模块进行的熵编码的逆处理来执行熵解码。例如,对应于由用于对视频进行编码的装置执行的方法,可以应用各种方法,例如指数哥伦布编码、上下文自适应变长编码(cavlc)和上下文自适应二进制算术编码(cabac)。
75.熵解码模块210可以对关于由用于对视频进行编码的装置执行的帧内预测和帧间预测的信息进行解码。
76.重排模块215可以基于在用于对视频进行编码的装置中使用的重排方法对由熵解码模块210进行熵解码的比特流执行重排。重排模块可以将一维矢量形式的系数重构和重排成二维块形式的系数。重排模块215可以接收与在用于对视频进行编码的装置中执行的系数扫描有关的信息,并且可以经由基于在用于对视频进行编码的装置中执行的扫描顺序对系数进行逆扫描的方法来执行重排。
77.逆量化模块220可以基于从用于对视频进行编码的装置接收的量化参数和重排后的块的系数来执行逆量化。
78.逆变换模块225可以执行逆变换,即,逆dct、逆dst和逆klt,这是由变换模块对用于对视频进行编码的装置的量化结果执行的变换即dct、dst和klt的逆过程。可以基于用于对视频进行编码的装置所确定的变换单元来执行逆变换。用于对视频进行解码的装置的逆变换模块225可以依赖于多条信息例如预测方法、当前块的大小、预测方向等来选择性地执行变换方案例如dct、dst、klt。
79.预测模块230和235可以基于从熵解码模块210接收到的关于预测块生成的信息和从存储器245接收到的先前解码的块或图片信息来生成预测块。
80.如上所述,类似于用于对视频进行编码的装置的操作,在执行帧内预测时,在预测单元的大小与变换单元的大小相同时,可以基于位于预测单元的左侧、左上侧和顶部的像素对预测单元执行帧内预测。在执行帧内预测时,在预测单元的大小与变换单元的大小不同时,可以使用基于变换单元的参考像素来执行帧内预测。此外,使用n
×
n分割的帧内预测可以仅用于最小编码单元。
81.预测模块230和235可以包括预测单元确定模块、帧间预测模块以及帧内预测模块。预测单元确定模块可以从熵解码模块210接收各种信息,例如预测单元信息、帧内预测方法的预测模式信息、关于帧间预测方法的运动预测的信息等,可以将当前编码单元分成预测单元,并且可以确定对预测单元执行帧间预测还是帧内预测。通过使用从用于对视频进行编码的装置接收的当前预测单元的帧间预测所需的信息,帧间预测模块230可以基于包括当前预测单元的当前图片的先前图片或后续图片中的至少一个的信息来对当前预测单元执行帧间预测。替选地,可以基于包括当前预测单元的当前图片中的一些预先重构区域的信息来执行帧间预测。
82.为了执行帧间预测,可以针对编码单元来确定跳过模式、合并模式、amvp模式和帧间块复制模式中的哪一个模式用作包括在编码单元中的预测单元的运动预测方法。
83.帧内预测模块235可以基于当前图片中的像素信息来生成预测块。当预测单元是经受帧内预测的预测单元时,可以基于从用于对视频进行编码的装置接收到的预测单元的帧内预测模式信息来执行帧内预测。帧内预测模块235可以包括自适应帧内平滑(ais)滤波器、参考像素插值模块以及dc滤波器。ais滤波器对当前块的参考像素执行滤波,并且可以依赖于当前预测单元的预测模式来确定是否应用滤波器。可以通过使用从用于对视频进行编码的装置接收到的预测单元的预测模式和ais滤波器信息来对当前块的参考像素执行ais滤波。在当前块的预测模式是不执行ais滤波的模式时,可以不应用ais滤波器。
84.在预测单元的预测模式是基于通过对参考像素进行插值而获得的像素值来执行
帧内预测的预测模式时,参考像素插值模块可以对参考像素进行插值以生成整像素的或小于整像素的参考像素。在当前预测单元的预测模式是在不对参考像素进行插值的情况下生成预测块的预测模式时,可以不对参考像素进行插值。在当前块的预测模式是dc模式时,dc滤波器可以通过滤波来生成预测块。
85.可以将重构块或重构图片提供至滤波器模块240。滤波器模块240可以包括去块滤波器、偏移校正模块以及alf。
86.可以从用于对视频进行编码的装置接收关于是否将去块滤波器应用于相应的块或图片的信息以及关于在应用去块滤波器时应用强滤波器和弱滤波器中的哪个滤波器的信息。用于对视频进行解码的装置的去块滤波器可以从用于对视频进行编码的装置接收关于去块滤波器的信息,并且可以对相应的块执行去块滤波。
87.偏移校正模块可以基于在执行编码时应用于图片的偏移校正的类型和偏移值信息来对重构图片执行偏移校正。
88.可以基于从用于对视频进行编码的装置接收到的关于是否应用alf的信息和alf系数信息等来将afl应用于编码单元。alf信息可以被提供为被包括在特定参数集中。
89.存储器245可以存储重构图片或重构块以用作参考图片或参考块,并且可以将重构图片提供至输出模块。
90.如上面描述的,在本发明的实施方式中,为了便于说明,编码单元被用作表示用于编码的单元的术语,然而,编码单元可以用作执行解码以及编码的单元。
91.另外,当前块可以表示要进行编码/解码的目标块。并且,依赖于编码/解码步骤,当前块可以表示编码树块(或编码树单元)、编码块(或编码单元)、变换块(或变换单元)、预测块(或预测单元)等。
92.可以通过将图片分割成具有正方形或非正方形形状的基本块来对图片进行编码/解码。此时,基本块可以称为编码树单元。编码树单元可以被定义为序列或片(slice)内允许的最大大小的编码单元。可以通过序列参数集、图片参数集或片头(slice header)来用信号通知关于编码树单元是具有正方形形状还是具有非正方形形状的信息或者关于编码树单元的大小的信息。编码树单元可以被分割成更小大小的分区。此时,如果假设通过划分编码树单元而生成的分区深度是1,则通过划分具有深度1的分区而生成的分区深度可以被定义为2。即,通过划分编码树单元中的深度为k的分区而生成的分区可以被定义为具有深度k+1。
93.通过划分编码树单元而生成的任意大小的分区可以被定义为编码单元。编码单元可以被递归地划分或划分成用于执行预测、量化、变换或环路滤波等的基本单元。例如,通过划分编码单元而生成的任意大小的分区可以被定义为编码单元,或者可以被定义为变换单元或预测单元,该编码单元、变换单元或预测单元是用于执行预测、量化、变换或环路滤波等的基本单元。
94.可以基于竖直线和水平线中的至少之一来执行编码树单元或编码单元的分割。另外,分割编码树单元或编码单元的竖直线或水平线的数量可以是至少一个或更多个。例如,可以使用一个竖直线或一个水平线将编码树单元或编码单元划分成两个分区,或者可以使用两个竖直线或两个水平线将编码树单元或编码单元划分成三个分区。替选地,可以通过使用一个竖直线和一个水平线将编码树单元或编码单元分割成具有1/2的长度和宽度的四
个分区。
95.在使用至少一个竖直线或至少一个水平线将编码树单元或编码单元分割为多个分区时,分区可具有统一的大小或不同的大小。替选地,任何一个分区可以具有与其余分区不同的大小。
96.在下面描述的实施方式中,假设编码树单元或编码单元被划分成四叉树结构或二叉树结构。然而,还可以使用更多数量的竖直线或更多数量的水平线来划分编码树单元或编码单元。
97.图3是示出根据本发明的实施方式的基于树结构来分层次地分割编码块的示例的图。
98.以预定的块单元对输入的视频信号进行解码。用于对输入的视频信号进行解码的这样的默认单元是编码块(coding block)。编码块可以是执行帧内/帧间预测、变换以及量化的单元。另外,以编码块为单位确定预测模式(例如,帧内预测模式或帧间预测模式),并且包括在编码块中的预测块可以共享所确定的预测模式。编码块可以是具有在8
×
8至64
×
64范围内的任意大小的正方形块或非正方形块,或者可以是具有128
×
128、256
×
256或更大的大小的正方形块或非正方形块。
99.具体地,可以基于四叉树和二叉树中的至少一个来分层次地分割编码块。此处,基于四叉树的分割可以意指将2n
×
2n的编码块分割成四个n
×
n的编码块,并且基于二叉树的分割可以意指将一个编码块分割成两个编码块。即使执行基于二叉树的分割,也可以在较低深度中存在正方形形状的编码块。
100.可以对称地或者非对称地执行基于二叉树的分割。此外,基于二叉树分割的编码块可以是正方形块或非正方形块,例如长方形形状。例如,允许基于二叉树的分割的分割类型可以包括2n
×
n(水平方向非正方形编码单元)或n
×
2n(竖直方向非正方形编码单元)的对称类型、nl
×
2n、nr
×
2n、2n
×
nu或2n
×
nd的非对称类型中的至少之一。
101.可以将基于二叉树的分割限制地允许为对称类型分割或非对称类型分割中的之一。在这种情况下,使用正方形块构造编码树单元可以与四叉树cu分割对应,并且使用对称非正方形块构造编码树单元可以与二叉树分割对应。使用正方形块和对称非正方形块构造编码树单元可以与四叉树cu分割和二叉树cu分割对应。
102.可以对不再执行基于四叉树的分割的编码块执行基于二叉树的分割。可以不再对基于二叉树分割的编码块执行基于四叉树的分割。
103.此外,可以依赖于较高深度的分割类型来确定较低深度的分割。例如,如果在两个或更多个深度中允许基于二叉树的分割,则可以在较低深度中仅允许与较高深度的二叉树分割相同的类型。例如,如果使用2n
×
n类型执行较高深度中的基于二叉树的分割,则也使用2n
×
n类型执行较低深度中的基于二叉树的分割。替选地,如果使用n
×
2n类型执行较高深度中的基于二叉树的分割,则也使用n
×
2n类型执行较低深度中的基于二叉树的分割。
104.相比之下,也可以在较低深度中仅允许与较高深度的二叉树分割类型不同的类型。
105.可以限制仅特定类型的基于二叉树的分割被用于序列、片、编码树单元或编码单元。作为示例,对于编码树单元,可以仅允许2n
×
n类型或n
×
2n类型的基于二叉树的分割。可以在编码器或解码器中预定义可用分割类型。或者可以对关于可用分割类型的信息或关
于不可用分割类型的信息进行编码,并且然后通过比特流用信号通知该信息。
106.图5是示出仅允许特定类型的基于二叉树的分割的示例的图。图5的(a)示出了仅允许n
×
2n类型的基于二叉树的分割的示例,并且图5的(b)示出了仅允许2n
×
n类型的基于二叉树的分割的示例。为了实现基于四叉树或二叉树的自适应分割,可以使用下述信息:指示基于四叉树分割的信息、关于允许基于四叉树的分割的编码块的大小/深度的信息、指示基于二叉树的分割的信息、关于允许基于二叉树的分割的编码块的大小/深度的信息、关于不允许基于二叉树的分割的编码块的大小/深度的信息、关于是沿竖直方向还是沿水平方向执行基于二叉树的分割的信息等。例如,quad_split_flag(四叉树分割标志)指示编码块是否被划分为四个编码块,并且binary_split_flag(二叉树分割标志)指示编码块是否被划分为两个编码块。当编码块被划分为两个编码块时,可以用信号通知is_hor_split_flag(水平分割标志),is_hor_split_flag指示编码块的分割方向是竖直方向还是水平方向。
107.另外,对于编码树单元或特定的编码单元,可以获得关于允许二叉树分割的次数、允许二叉树分割的深度或者允许二叉树分割的深度的数量的信息。这些信息可以以编码树单元或编码单元为单位进行编码,并且可以通过比特流发送到解码器。
108.例如,可以通过比特流对指示允许二叉树分割的最大深度的语法“max_binary_depth_idx_minus1”进行编码/解码。在这种情况下,max_binary_depth_idx_minus1+1可以指示允许二叉树分割的最大深度。
109.参照图6中所示的示例,在图6中,已经针对深度为2的编码单元和深度为3的编码单元执行了二叉树分割。因此,可以通过比特流对指示编码树单元中的二叉树分割已经被执行的次数(即,2次)的信息、指示在编码树单元中已经允许二叉树分割的最大深度(即,深度3)或在编码树单元中已经执行二叉树分割的深度的数量(即,2个(深度2和深度3))的信息中的至少之一进行编码/解码。
110.作为另一示例,可以针对每个序列或每个片(slice)获得关于允许二叉树分割的次数、允许二叉树分割的深度或允许二叉树分割的深度的数量的信息中的至少之一。例如,该信息可以以序列、图片或片单元为单位进行编码,并且通过比特流进行传输。因此,第一片中的二叉树分割的次数、第一片中允许二叉树分割的最大深度或第一片中执行二叉树分割的深度的数量中的至少之一可以与第二片不同。例如,在第一片中,可以仅针对一个深度允许二叉树分割,而在第二片中,可以针对两个深度允许二叉树分割。
111.作为另一示例,可以根据片或图片的时间水平标识符(temporalid)不同地设置允许二叉树分割的次数、允许二叉树分割的深度或允许二叉树分割的深度的数量。此处,时间水平标识符(temporalid)用于标识具有视图、空间、时间或质量中的至少之一的可伸缩性的多个视频层中的每一个。
112.如图3中所示,可以基于四叉树将分区深度(拆分深度)为k的第一编码块300分割成多个第二编码块。例如,第二编码块310至340可以是具有第一编码块的一半宽度和一半高度的正方形块,并且第二编码块的分区深度可以增加至k+1。
113.分区深度为k+1的第二编码块310可以被分割成分区深度为k+2的多个第三编码块。可以通过依赖于分割方法选择性地使用四叉树和二叉树中的之一来执行第二编码块310的分割。此处,可以基于指示基于四叉树分割的信息和指示基于二叉树分割的信息中的至少之一来确定分割方法。
114.在基于四叉树对第二编码块310进行分割时,可以将第二编码块310分割成具有第二编码块的一半宽度和一半高度的四个第三编码块310a,并且第三编码块310a的分区深度可以增加至k+2。相比之下,在基于二叉树对第二编码块310进行分割时,可以将第二编码块310分割成两个第三编码块。此处,两个第三编码块中的每一个可以是具有第二编码块的一半宽度和一半高度中的一者的非正方形块,并且分区深度可以增加至k+2。可以依赖于分割方向将第二编码块确定为水平方向或竖直方向的非正方形块,并且可以基于关于是沿竖直方向还是沿水平方向执行基于二叉树的分割的信息来确定分割方向。
115.同时,第二编码块310可以被确定为不再基于四叉树或二叉树进行分割的叶编码块。在这种情况下,叶编码块可以被用作预测块或变换块。
116.类似于第二编码块310的分割,第三编码块310a可以被确定为叶编码块,或者可以基于四叉树或二叉树被进一步分割。
117.同时,可以基于二叉树将基于二叉树分割的第三编码块310b进一步分割成竖直方向的编码块310b-2或水平方向的编码块310b-3,相关编码块的分区深度可以增加至k+3。替选地,第三编码块310b可以被确定为不再基于二叉树进行分割的叶编码块310b-1。在这种情况下,编码块310b-1可以被用作预测块或变换块。然而,可以基于以下信息中的至少之一来限制性地执行上述分割处理:关于允许基于四叉树的分割的编码块的大小/深度的信息、关于允许基于二叉树的分割的编码块的大小/深度的信息以及关于不允许基于二叉树的分割的编码块的大小/深度的信息。
118.表示编码块的大小的候选的数量可以被限制为预定数量,或者预定单元中的编码块的大小可以具有固定值。作为示例,序列或图片中的编码块的大小可以被限制为具有256
×
256、128
×
128或32
×
32。可以通过序列头或图片头来用信号通知指示序列中或图片中的编码块的大小的信息。
119.作为基于四叉树和二叉树的分割的结果,编码单元可以被表示为任意大小的正方形或矩形形状。
120.作为基于四叉树和二叉树的分割的结果,未被进一步分割的编码块可以用作预测块或变换块。也就是说,在基于四叉树和二叉树的qtbt分割方法中,编码块可以变为预测块,并且预测块可以变为变换块。例如,当使用qtbt分割方法时,可以以编码块为单位生成预测图像,并且以编码块为单位传输原始图像和预测图像之间的差异的残差信号。这里,以编码块为单位生成预测图像可以意味着针对编码块确定运动信息,或者针对编码块确定帧内预测模式。
121.在qtbt分割方法中,可以设置在bt中仅允许对称分割。然而,如果即使在块边界处划分目标和背景的情况下仅允许对称二进制分割,则可能降低编码效率。因此,在本发明中,提出了一种非对称地分割编码块的方法,以提高编码效率。
122.非对称二叉树分割表示将编码块分割为两个较小的编码块。作为非对称二叉树分割的结果,编码块可以被分割为非对称形式的两个编码块。为了便于说明,在以下实施方式中,将编码块分割为对称形式的两个分区将被称为二叉树分割(或二叉树划分),并且将编码块分割为非对称形式的两个分区将被称为非对称二叉树分割(或非对称二叉树划分)。
123.图7示出了基于非对称二叉树分割的编码块的分割类型。2nx2n的编码块可以被划分为宽度比为n:(l-n)的两个编码块或者高度比为n:(1-n)的两个编码块。其中n可以表示
大于0且小于l的实数。
124.在图7中所示,通过将非对称二叉树分割应用于编码块,生成宽度比为1:3或3:1或高度比为1:3或3:1的两个编码块。
125.具体地,当wxh大小的编码块在竖直方向上被分割时,可以生成宽度为1/4w的左分区和宽度为3/4w的右分区。如上所描述,左分区的宽度小于右分区的宽度的分割类型可以被称为nlx2n二进制分割。
126.当wxh大小的编码块在竖直方向上被分割时,可以生成宽度为3/4w的左分区和宽度为1/4w的右分区。如上所描述,右分区的宽度小于左分区的宽度的分割类型可以被称为nrx2n二进制分割。
127.当wxh大小的编码块在水平方向上被分割时,可以生成宽度为1/4h的上分区和宽度为3/4h的下分区。如上所描述,上分区的高度小于下分区的高度的分割类型可以被称为2nxnu二进制分割。
128.当wxh大小的编码块在水平方向上被分割时,可以生成宽度为3/4h的上分区和宽度为1/4h的下分区。如上所描述,下分区的高度小于上分区的高度的分割类型可以被称为2nxnd二进制分割。
129.在图7中,示出了两个编码块之间的宽度比或高度比是1:3或3:1。然而,由非对称二叉树分割产生的两个编码块之间的宽度比或高度比不限于此。编码块可以被分割为具有与图7中所示的宽度比或高度比不同的宽度比或不同高度比的两个编码块。
130.当使用非对称二叉树分割时,可以基于经由比特流进行信号通知的信息来确定编码块的非对称二进制分割类型。例如,可以基于指示编码块的分割方向的信息和指示通过分割编码块生成的第一分区是否具有比第二分区小的尺寸的信息来确定编码块的分割类型。
131.指示编码块的分割方向的信息可以是指示编码块是在竖直方向还是在水平方向上分割的1比特的标志。例如,hor_binary_flag(水平二叉树分割标志)可以指示编码块是否在水平方向上分割。如果hor_binary_flag的值是1,则其可以指示编码块在水平方向上分割,并且如果hor_binary_flag的值是0,则其可以指示编码块在竖直方向上分割。替选地,可以使用指示编码块是否在竖直方向上分割的ver_binary_flag(竖直二叉树分割标志)。
132.指示第一分区是否具有比第二分区小的尺寸的信息可以是1比特的标志。例如,is_left_above_small_part_flag(左/上分区小分割标志)可以指示通过分割编码块生成的左或上分区的大小是否小于右或下分区。如果is_left_above_small_part_flag的值为1,则意味着左或上分区的大小小于右或下分区。如果is_left_above_small_part_flag的值为0,则意味着左或上分区的大小大于右或下分区。替选地,可以使用指示右或下分区的大小是否小于左或上分区的is_right_bottom_small_part_flag(右/下分区小分割标志)。
133.替选地,可以通过使用指示第一分区与第二分区之间的宽度比、高度比或面积比的信息来确定第一分区和第二分区的大小。
134.当hor_binary_flag的值是0并且is_left_above_small_part_flag的值是1时,可以表示nlx2n二进制分割,以及当hor_binary_flag的值是0并且is_left_above_small_part_flag的值是0时,可以表示nrx2n二进制分割。另外,当hor_binary_flag的值是1并且
is_left_above_small_part_flag的值是1时,可以表示2nxnu二进制分割,以及当hor_binary_flag的值是1并且is_left_above_small_part_flag的值是0时,可以表示2nxnd二进制分割。
135.作为另一示例,编码块的非对称二进制分割类型可以由指示编码块的分割类型的索引信息确定。这里,索引信息是要通过比特流进行信号通知的信息,并且可以以固定长度(即,固定的比特数量)编码,或者可以以可变长度编码。例如,下面的表1示出了每个非对称二进制分割的分割索引。
136.[表1]
[0137][0138][0139]
可以根据qtbt分割方法使用非对称二叉树分割。例如,如果四叉树分割或二叉树分割不再应用于编码块,则可以确定是否将非对称二叉树分割应用于编码块。这里,是否将非对称二叉树分割应用于编码块可以由通过比特流用信号通知的信息确定。例如,该信息可以是1比特的标志“asymmetric_binary_tree_flag”(非对称二叉树标志),并且基于该标志,可以确定是否将非对称二叉树分割应用于编码块。
[0140]
替选地,当确定将编码块分割为两个块时,可以确定分割类型是二叉树分割还是非对称二叉树分割。这里,可以由通过比特流进行信号通知的信息来确定编码块的分割类型是二叉树分割还是非对称二叉树分割。例如,该信息可以是1比特的标志“is_asymmetric_split_flag”(非对称分割标志),并且基于该标志,可以确定编码块被分割为对称形式还是非对称形式。
[0141]
作为另一示例,分配给对称类型二进制分割和非对称类型二进制分割的索引可以是不同的,并且可以基于索引信息确定编码块是以对称类型还是非对称类型分割。例如,表2示出了示例,其中不同的索引被分配给对称二进制类型分割和非对称二进制类型分割。
[0142]
[表2]
[0143][0144]
可以通过四叉树分割、二叉树分割或非对称二叉树分割将编码树块或编码块分割为多个编码块。例如,图8示出了使用qtbt和非对称二叉树分割将编码块分割为多个编码块的示例。参照图8,可以看出,非对称二叉树分割分别以第一图中深度2分割、第二图中深度3分割和第三图中深度3分割来执行。
[0145]
可以限制为不再划分通过非对称二叉树分割而划分的编码块。例如,对于通过非对称二叉树分割生成的编码块,可以不对与四叉树、二叉树或非对称二叉树有关的信息进行编码/解码。也就是说,对于通过非对称二叉树分割生成的编码块,可以省略指示是否应用四叉树分割的标志、指示是否应用二叉树分割的标志、指示是否应用非对称二叉树分割的标志、指示二叉树分割或非对称二叉树分割的方向的标志或者指示非对称二进制分割的索引信息等。
[0146]
作为另一示例,可以根据是否允许qtbt来确定是否允许二叉树分割。例如,在不使用基于qtbt的分割方法的图片或片中,可以限制不使用非对称二叉树分割。
[0147]
指示是否允许非对称二叉树分割的信息可以以块、片或图片为单位进行编码和用信号通知。这里,指示是否允许非对称二叉树分割的信息可以是1比特的标志。例如,如果is_used_asymmetric_qtbt_enabled_flag(使用非对称qtbt使能标志)的值是0,则可以指示不使用非对称二叉树分割。当在图片或片中没有使用二叉树分割时,在没有用信号通知的情况下也可以将is_used_asymmetric_qtbt_enabled_flag设置为0。
[0148]
还可以基于编码块的大小、形状、分区深度或分割类型来确定编码块中允许的分割类型。例如,在通过四叉树分割生成的编码块中以及在通过二叉树分割生成的编码块中允许的分割类型、分割形状或分割次数中的至少一个可以彼此不同。
[0149]
例如,如果通过四叉树分割生成编码块,则针对编码块,可以允许所有四叉树分割、二叉树分割和非对称二叉树分割。也就是说,如果基于四叉树分割生成编码块,则图9中所示的所有分割类型都可以应用于编码块。例如,2nx2n分割可以表示不进一步分割编码块的情况,nxn可以表示在四叉树中分割编码块的情况,并且nx2n和2nxn可以表示在二叉树中分割编码块的情况。另外,nlx2n、nrx2n、2nxnu和2nxnd可以表示在非对称二进制树中分割编码块的情况。
[0150]
另一方面,当通过二叉树分割生成编码块时,对于编码块可能不允许使用非对称
二叉树分割。也就是说,当基于二叉树分割生成编码块时,可以限制不将图9所示的分割类型中的非对称分割类型(nlx2n、nrx2n、2nxnu、2nxnd)应用于编码块。
[0151]
当使用qtbt时,不被进一步分割的编码块可以用作预测块。也就是说,可以使用跳过模式、帧内预测、帧间预测或跳过方法中的至少一个来对编码块进行编码。
[0152]
作为另一示例,如果确定了编码块,则可以通过编码块的预测分割来确定具有与编码块相同的尺寸或者比编码块更小的尺寸的预测块。可以通过指示编码块的分割类型的分割模式(part_mode)来执行编码块的预测分割。可以根据编码块的分割模式来确定预测块的大小或形状。可以通过指定分割候选中的任何一个的信息来确定编码块的分割类型。此时,编码块可用的分割候选可以包括非对称分割类型(例如,nlx2n、nrx2n、2nxnu、2nxnd),这取决于编码块的大小、形状或编码模式。例如,可以根据当前块的编码模式来确定编码块可用的分割候选。例如,图10是示出当通过帧间预测对编码块进行编码时可以应用于编码块的分割模式的图。
[0153]
如果通过帧间预测对编码块进行编码,则图10中所示的8个分割模式中的一个可以将应用于编码块。
[0154]
另一方面,当通过帧内预测对编码块进行编码时,可以将part_2nx2n或part_nxn的分割模式应用于编码块。
[0155]
当编码块具有最小尺寸时,可以应用part_nxn。这里,可以在编码器和解码器中预定义编码块的最小尺寸。替选地,可以经由比特流来对关于编码块的最小尺寸的信息进行信号通知。例如,通过片头对编码块的最小尺寸进行信号通知,从而可以按片定义编码块的最小尺寸。
[0156]
在另一示例中,可以根据编码块的大小或形状中的至少之一来不同地确定编码块可用的分割候选。例如,可以根据编码块的大小或形状中的至少之一来不同地确定编码块可用的分割候选的数量或类型。
[0157]
替选地,可以根据编码块的大小或形状限制编码块可用的分割候选中的非对称分割候选的类型或数量。例如,可以根据编码块的大小或形状中的至少之一来不同地确定编码块可用的非对称分割候选的数量或类型。
[0158]
通常,预测块可以具有从64
×
64到4
×
4的大小。然而,当通过帧间预测对编码块进行编码时,可以防止预测块具有4
×
4大小,以在执行运动补偿时减小存储器带宽。
[0159]
图11是示出根据本发明的实施方式的编码块的分割处理的流程图。
[0160]
首先,可以确定是否对当前块执行四叉树分割s1110。如果确定要对当前块执行四叉树分割,则可以将当前块划分为四个编码块s1120。
[0161]
另一方面,如果确定不允许对当前块进行四叉树分割,则可以确定是否对当前块执行二叉树分割或非对称二叉树分割s1130。
[0162]
如果确定对当前块执行二叉树分割或非对称二叉树分割,则可以确定当前块的二叉树分割类型s1140。此时,可以基于指示当前块的分割信息的信息、指示划分的分区的大小的信息或指定分割类型的索引信息中的至少之一来确定用于当前块的二叉树分割类型。
[0163]
可以根据所确定的二叉树分割类型将当前块分割为两个对称或非对称块s1150。
[0164]
可以顺序地确定是否对当前块执行二叉树分割以及是否对当前块执行非对称二叉树分割。例如,可以仅在确定不允许对当前块进行二叉树分割时确定是否执行非对称二
叉树分割。
[0165]
图12是示出根据应用本发明的实施方式的获得残差样本的处理的流程图。
[0166]
首先,可以获得当前块的残差系数s1210。解码器可以通过系数扫描方法获得残差系数。例如,解码器可以使用对角线扫描、曲线(jig-zag)扫描、右上扫描、竖直扫描或水平扫描来执行系数扫描,并且可以获得二维块形式的残差系数。
[0167]
可以对当前块的残差系数执行逆量化s1220。
[0168]
可以确定是否跳过对当前块的解量化残差系数的逆变换s1230。具体地,解码器可以确定是否跳过在当前块的水平方向或竖直方向中的至少一个方向上的逆变换。在确定在当前块的水平方向或竖直方向中的至少一个方向上应用逆变换时,可以通过对当前块的解量化残差系数进行逆变换来获得当前块的残差样本s1240。此处,可以使用dct、dst和klt中的至少之一来执行逆变换。
[0169]
在当前块的水平方向和竖直方向二者上均跳过逆变换时,不在当前块的水平方向和竖直方向上执行逆变换。在这种情况下,可以通过使用预定值对解量化残差系数进行缩放来获得当前块的残差样本s1250。
[0170]
跳过在水平方向上的逆变换意味着不在水平方向上执行逆变换,但是在竖直方向上执行逆变换。此时,可以在水平方向上执行缩放。
[0171]
跳过竖直方向上的逆变换意味着不在竖直方向上执行逆变换,但是在水平方向上执行逆变换。此时,可以在竖直方向上执行缩放。
[0172]
可以依赖于当前块的分割类型来确定是否可以针对当前块使用逆变换跳过技术。例如,如果通过基于二叉树的分割生成当前块,则可以针对当前块限制逆变换跳过方案。因此,在通过基于二叉树的分割生成当前块时,可以通过对当前块进行逆变换来获得当前块的残差样本。另外,在通过基于二叉树的分割生成当前块时,可以省略对指示是否跳过逆变换的信息(例如,transform_skip_flag(变换跳过标志))进行的编码/解码。
[0173]
替选地,在通过基于二叉树的分割生成当前块时,可以将逆变换跳过方案限制到水平方向或竖直方向中的至少一个方向。此处,可以基于从比特流解码的信息来确定逆变换跳过方案被限制的方向,或者可以基于当前块的大小、当前块的形状或当前块的帧内预测模式中的至少之一来自适应地确定逆变换跳过方案被限制的方向。
[0174]
例如,在当前块是宽度大于高度的非正方形块时,可以仅在竖直方向上允许逆变换跳过方案并且在水平方向上限制逆变换跳过方案。即,在当前块是2n
×
n时,在当前块的水平方向上执行逆变换,并且可以在竖直方向上选择性地执行逆变换。
[0175]
另一方面,在当前块是高度大于宽度的非正方形块时,可以仅在水平方向上允许逆变换跳过方案并且在竖直方向上限制逆变换跳过方案。即,在当前块是n
×
2n时,在当前块的竖直方向上执行逆变换,并且可以在水平方向上选择性地执行逆变换。
[0176]
与上述示例相比,在当前块是宽度大于高度的非正方形块时,可以仅在水平方向上允许逆变换跳过方案,并且在当前块是高度大于宽度的非正方形块时,可以仅在竖直方向上允许逆变换跳过方案。
[0177]
可以通过比特流来对指示是否针对水平方向跳过逆变换的信息或者指示是否针对竖直方向跳过逆变换的信息进行信号通知。例如,指示是否跳过水平方向上的逆变换的信息是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”中的至少之一来确定是否跳过水平方向或竖直方向上的逆变换。
[0178]
可以设置成:依赖于当前块的分割类型跳过对当前块的任何一个方向的逆变换。例如,如果通过基于二叉树的分割生成当前块,则可以跳过水平方向或竖直方向上的逆变换。即,如果通过基于二叉树的分割生成当前块,则可以在不对指示是否跳过当前块的逆变换的信息(例如,transform_skip_flag(变换跳过标志)、hor_transform_skip_flag、ver_transform_skip_flag)进行编码/解码的情况下,确定在水平方向或竖直方向中的至少一个方向上跳过当前块的逆变换。
[0179]
例如,本公开可以配置如下:
[0180]
技术方案1.一种用于对视频进行解码的方法,所述方法包括:
[0181]
确定是否用四叉树分割来划分当前块;
[0182]
在不用所述四叉树分割来划分所述当前块的情况下,确定是否用二叉树分割来划分所述当前块;
[0183]
在确定用所述二叉树分割来划分所述当前块的情况下,确定用于所述当前块的二叉树分割类型;以及
[0184]
根据确定的二叉树分割类型将所述当前块划分为两个分区。
[0185]
技术方案2.根据技术方案1所述的方法,其中,所述二叉树分割类型包括非对称分割类型,其中通过划分所述当前块而生成的两个分区是非对称的。
[0186]
技术方案3.根据技术方案2所述的方法,其中,如果所述当前块被划分为非对称分区,则对于作为所述当前块的划分的结果而生成的分区中的每一个分区,不允许所述四叉树分割或所述二叉树分割。
[0187]
技术方案4.根据技术方案1所述的方法,其中,基于关于所述当前块的分割方向的信息和关于当前两个分区的大小的信息中的至少一个来确定所述二叉树分割类型。
[0188]
技术方案5.根据技术方案1所述的方法,其中,确定所述二叉树分割类型包括:
[0189]
确定是否以对称形式来划分所述当前块;以及
[0190]
在确定不以对称形式来划分所述当前块的情况下,确定所述当前块的非对称分割类型。
[0191]
技术方案6.根据技术方案1所述的方法,其中,基于经由比特流进行信号通知的索引信息来确定所述二叉树分割类型。
[0192]
技术方案7.一种用于对视频进行编码的方法,所述方法包括:
[0193]
确定是否用四叉树分割来划分当前块;
[0194]
在不用所述四叉树分割来划分所述当前块的情况下,确定是否用二叉树分割来划分所述当前块;
[0195]
在确定用所述二叉树分割来划分所述当前块的情况下,确定用于所述当前块的二叉树分割类型;以及
[0196]
根据确定的二叉树分割类型将所述当前块划分为两个分区。
[0197]
技术方案8.根据技术方案7所述的方法,其中,所述二叉树分割类型包括非对称分割类型,其中通过划分所述当前块而生成的两个分区是非对称的。
[0198]
技术方案9.根据技术方案8所述的方法,其中,如果所述当前块被划分为非对称分区,则对于作为所述当前块的划分的结果而生成的分区中的每一个分区,不允许所述四叉树分割或所述二叉树分割。
[0199]
技术方案10.根据技术方案7所述的方法,其中,基于所确定的二叉树分割类型,对关于所述当前块的分割方向的信息和关于当前两个分区的大小的信息中的至少一个进行编码。
[0200]
技术方案11.根据技术方案7所述的方法,其中,确定所述二叉树分割类型包括:
[0201]
确定是否以对称形式来划分所述当前块;以及
[0202]
在确定不以对称形式来划分所述当前块的情况下,确定所述当前块的非对称分割类型。
[0203]
技术方案12.根据技术方案7所述的方法,其中,所述方法还包括对指定所述二叉树分割类型的索引信息进行编码。
[0204]
技术方案13.一种用于对视频进行解码的装置,所述装置包括:
[0205]
图片分割单元,用于:确定是否用四叉树分割来划分当前块;在不用所述四叉树分割来划分所述当前块的情况下,确定是否用二叉树分割来划分所述当前块;在确定用所述二叉树分割来划分所述当前块的情况下,确定用于所述当前块的二叉树分割类型;以及根据确定的二叉树分割类型将所述当前块划分为两个分区。
[0206]
尽管已经基于一系列步骤或流程图描述了上述实施方式,但是它们不限制本发明的时序顺序,并且可以根据需要同时或以不同顺序执行。此外,构成上述实施方式中的框图的部件(例如,单元、模块等)中的每一个可以由硬件装置或软件以及多个部件来实现。或者,可以通过单个硬件装置或软件来组合并实现多个部件。上述实施方式可以以程序指令的形式实现,所述程序指令可以通过各种计算机部件执行并被记录在计算机可读记录介质中。计算机可读记录介质可以包括程序命令、数据文件、数据结构等之一或其组合。计算机可读介质的示例包括诸如硬盘、软盘和磁带的磁介质、诸如cd-rom和dvd的光学记录介质、诸如光磁软盘的磁光介质、介质和专门被配置成存储和执行程序指令的硬件装置例如rom、ram、闪存等。硬件装置可以被配置成作为一个或更多个软件模块来进行操作以用于执行根据本发明的处理,反之亦然。
[0207]
工业应用性
[0208]
本发明可以应用于能够对视频进行编码/解码的电子装置。
技术特征:
1.一种用于对视频进行解码的方法,所述方法包括:通过将树结构分割应用于编码树块来确定当前块,所述树结构分割包括四叉树分割、二叉树分割或三叉树分割中的至少一种;确定是否允许将所述当前块划分为两个分区;响应于允许将所述当前块划分为所述两个分区,确定是否将所述当前块划分为所述两个分区;在确定将所述当前块划分为所述两个分区的情况下,基于经由比特流用信号通知的第一标志确定是对称地划分还是非对称地划分所述当前块;以及将所述当前块划分为所述两个分区,其中,在确定非对称地划分所述当前块的情况下,将所述当前块划分为具有所述当前块的1/4大小的第一分区和具有所述当前块的3/4大小的第二分区,其中,基于经由所述比特流用信号通知的第二标志和第三标志来确定所述当前块的非对称分割类型,所述第二标志指示是在竖直方向上还是在水平方向上划分所述当前块,并且所述第三标志用于确定所述第一分区和所述第二分区的位置,其中,在所述水平方向上划分所述当前块的情况下,基于所述第三标志,确定所述第一分区和所述第二分区中的哪一个位于上侧或下侧,以及其中,在所述竖直方向上划分所述当前块的情况下,基于所述第三标志,确定所述第一分区和所述第二分区中的哪一个位于左侧或右侧。2.根据权利要求1所述的方法,其中,基于所述当前块的大小确定对于所述当前块可用的非对称分割类型的数量或类型。3.一种用于对视频进行编码的方法,所述方法包括:通过将树结构分割应用于编码树块来确定当前块,所述树结构分割包括四叉树分割、二叉树分割或三叉树分割中的至少一种;确定是否允许将所述当前块划分为两个分区;响应于允许将所述当前块划分为所述两个分区,对指示是否将所述当前块划分为所述两个分区的第一标志进行编码;以及在以指示将所述当前块划分为所述两个分区的值对所述第一标志进行编码的情况下,对指示是对称地划分还是非对称地划分所述当前块的第二标志进行编码,其中,在非对称地划分所述当前块的情况下,将所述当前块划分为具有所述当前块的1/4大小的第一分区和具有所述当前块的3/4大小的第二分区,其中,第三标志和第四标志还被编码在所述比特流中,基于所述当前块的非对称分割类型确定所述第三标志和所述第四标志中的每一者的值,所述第三标志指示是在竖直方向上还是在水平方向上划分所述当前块,并且所述第四标志表示所述第一分区和所述第二分区的位置,其中,在所述水平方向上划分所述当前块的情况下,基于所述第一分区和所述第二分区中的哪一个位于上侧或下侧来确定所述第四标志的值,以及其中,在所述竖直方向上划分所述当前块的情况下,基于所述第一分区和所述第二分区中的哪一个位于左侧或右侧来确定所述第四标志的值。4.根据权利要求3所述的方法,其中,基于所述当前块的大小确定对于所述当前块可用
的非对称分割类型的数量或类型。5.一种传输视频数据的方法,所述方法包括:生成比特流;以及传输包括所述比特流的数据,其中,所述比特流通过编码方法生成,所述编码方法包括:通过将树结构分割应用于编码树块来确定当前块,所述树结构分割包括四叉树分割、二叉树分割或三叉树分割中的至少一种;确定是否允许将所述当前块划分为两个分区;响应于允许将所述当前块划分为所述两个分区,对指示是否将所述当前块划分为所述两个分区的第一标志进行编码;以及在以指示将所述当前块划分为所述两个分区的值对所述第一标志进行编码的情况下,对指示是对称地划分还是非对称地划分所述当前块的第二标志进行编码,其中,在非对称地划分所述当前块的情况下,将所述当前块划分为具有所述当前块的1/4大小的第一分区和具有所述当前块的3/4大小的第二分区,其中,第三标志和第四标志还被编码在所述比特流中,基于所述当前块的非对称分割类型确定所述第三标志和所述第四标志中的每一者的值,所述第三标志指示是在竖直方向上还是在水平方向上划分所述当前块,并且所述第四标志表示所述第一分区和所述第二分区的位置,其中,在所述水平方向上划分所述当前块的情况下,基于所述第一分区和所述第二分区中的哪一个位于上侧或下侧来确定所述第四标志的值,以及其中,在所述竖直方向上划分所述当前块的情况下,基于所述第一分区和所述第二分区中的哪一个位于左侧或右侧来确定所述第四标志的值。
技术总结
本申请公开用于对视频进行解码和编码的方法和传输视频数据的方法。用于对视频进行解码的方法包括:通过将树结构分割应用于编码树块来确定当前块;确定是否允许将当前块划分为两个分区;响应于允许将当前块划分为两个分区,确定是否将当前块划分为两个分区;在确定将当前块划分为两个分区的情况下,基于经由比特流用信号通知的第一标志确定是对称地划分还是非对称地划分当前块;以及将当前块划分为两个分区。在确定非对称地划分当前块的情况下,将当前块划分为具有当前块的1/4大小的第一分区和具有当前块的3/4大小的第二分区。基于经由比特流用信号通知的第二标志和第三标志来确定当前块的非对称分割类型。志来确定当前块的非对称分割类型。志来确定当前块的非对称分割类型。
技术研发人员:李培根
受保护的技术使用者:株式会社KT
技术研发日:2017.09.20
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
