掌桥专利:专业的专利平台
掌桥专利
首页

解码视频的方法和编码视频的方法

文献发布时间:2024-04-18 19:58:53


解码视频的方法和编码视频的方法

本申请是国家申请号为201880032515.6,国际申请日为2018年5月16日,进入国家日期为2019年11月15日,发明名称为“用于视频信号处理的方法和装置”的申请的分案申请。

技术领域

本发明涉及用于处理视频信号的方法和装置。

背景技术

近来,在各种应用领域中对高分辨率和高质量图像例如高清晰度(HD)图像和超高清晰度(UHD)图像的需求已经增加。然而,与常规图像数据相比,高分辨率和高质量的图像数据具有增加的数据量。因此,当通过使用诸如常规有线和无线宽带网络之类的介质来传输图像数据时,或者当通过使用常规的存储介质来存储图像数据时,传输和存储的成本增加。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,可以利用高效的图像编码/解码技术。

图像压缩技术包括各种技术,包括:根据当前图片的先前图片或后续图片来对包括在当前图片中的像素值进行预测的帧间预测技术;通过使用当前图片中的像素信息来对包括在当前图片中的像素值进行预测的帧内预测技术;将短码分配给具有高出现频率的值并将长码分配给具有低出现频率的值的熵编码技术等。图像数据可以通过使用这样的图像压缩技术而被有效地压缩,并且可以被传输或存储。

同时,随着对高分辨率图像的需求,对作为新的图像服务的立体图像内容的需求也增加了。正在讨论用于有效地提供具有高分辨率和超高分辨率的立体图像内容的视频压缩技术。

发明内容

技术问题

本发明的目的旨在提供一种用于在对视频信号进行编码/解码时有效地对编码/解码目标块执行帧内预测的方法和装置。

本发明的目的旨在提供一种用于在对视频信号进行编码/解码时基于子块来执行帧内预测的方法和装置。

本发明要实现的技术目的不限于上面提到的技术问题。并且,本领域技术人员根据以下描述将明显理解未提到的其他技术问题。

技术方案

根据本发明的用于解码视频信号的方法和装置可以决定当前块的帧内预测模式、将当前块分割为子块并且依次对子块执行帧内预测。在这种情况下,子块可以共享当前块的帧内预测模式。

根据本发明的用于编码视频信号的方法和装置可以决定当前块的帧内预测模式、将当前块分割为子块并且依次对子块执行帧内预测。在这种情况下,子块可以共享当前块的帧内预测模式。

在根据本发明的用于解码视频信号的方法和装置中,可以使用与当前块相邻的参考样本来执行多个子块中与当前块的顶部边界或左侧边界相邻的第一子块的帧内预测。

在根据本发明的用于解码视频信号的方法和装置中,可以使用第一子块中的重构样本作为参考样本来执行多个子块中与第一子块相邻的第二子块的帧内预测。

在根据本发明的用于解码视频信号的方法和装置中,可以根据当前块的帧内预测模式来可变地确定多个子块的形状。

在根据本发明的用于解码视频信号的方法和装置中,在当前块的帧内预测模式为竖直方向的情况下,对当前块进行分割以使得多个子块上下排列,在当前块的帧内预测模式为水平方向的情况下,可以对当前块进行分割以使得多个子块左右排列。

在根据本发明的用于解码视频信号的方法和装置中,可以基于指示当前块的分割类型的语法元素(syntax element)来确定多个子块的形状。

在根据本发明的用于解码视频信号的方法和装置中,可以通过将当前块划分为列或行来获得多个子块。

在根据本发明的用于解码视频信号的方法和装置中,可以根据当前块的大小、形状或帧内预测模式来确定是否将当前块分割为多个子块。

根据本发明的用于图像解码的方法包括:确定当前块的帧内预测模式的步骤;将当前块划分为多个子块的步骤;以及相继地对多个子块执行帧内预测的步骤。

以上针对本发明简要概述的特征仅仅是下面的对本发明的详细描述的说明性方面,而不限制本发明的范围。

技术效果

根据本发明,可以对编码/解码目标块执行有效的帧内预测。

根据本发明,具有通过基于子块执行帧内预测来提高帧内预测的效率的优点。

通过本发明可获得的效果不限于上面提到的效果,并且本领域技术人员根据下面的描述可以清楚地理解未提到的其他效果。

附图说明

图1是示出根据本发明的实施方式的用于编码视频的装置的框图。

图2是示出根据本发明的实施方式的用于解码视频的装置的框图。

图3是示出根据本发明的实施方式的基于树结构对编码块进行分层次地分割的示例的图。

图4是示出根据本发明的实施方式的其中允许基于二叉树的分割的分割类型的图。

图5是示出根据本发明的实施方式的其中仅允许预定的类型的基于二叉树的分割的示例的图。

图6是用于说明根据应用本发明的实施方式的其中与二叉树分割的允许数目有关的信息被编码/解码的示例的图。

图7是示出根据本发明的实施方式的可应用于编码块的分割模式的图。

图8是示出根据本发明的实施方式的用于编码/解码视频的装置的预定义帧内预测模式的类型的图。

图9是示出根据本发明的实施方式的扩展的帧内预测模式类型的图。

图10是简要示出根据本发明实施方式的帧内预测方法的流程图。

图11是示出根据本发明的实施方式的基于相邻样本的差异信息来校正当前块的预测样本的方法的图。

图12和图13是示出其中参考样本被重排列成行的一维参考样本组的图。

图14是示出基于子块执行帧内预测的方法的流程图。

图15是示出根据帧内预测模式的子块的分割类型的图。

图16和图17是示出基于子块执行帧内预测的示例的图。

具体实施方式

可以对本发明进行各种修改,并且存在本发明的各种实施方式,现在将参照附图提供所述实施方式的示例并且将详细描述所述实施方式的示例。然而,本发明不限于此,并且示例性实施方式可以被解释为包括本发明的技术构思和技术范围内的所有修改、等同方案或替换方案。在所描述的附图中,相似的附图标记指代相似的元素。

在说明书中使用的术语“第一”、“第二”等可以用来描述各种部件,但是这些部件不应被解释为受限于这些术语。所述术语仅被用于区分一个部件与其他部件。例如,在不脱离本发明的范围的情况下,“第一”部件可以被称为“第二”部件,并且“第二”部件也可以被类似地称为“第一”部件。术语“和/或”包括多个项的组合或多个项中的任何一项。

将理解的是,在本说明书中,在元件被简单地称为“连接至”或“耦接至”另一元件而不是“直接连接至”或“直接耦接至”另一元件的情况下,该元件可以“直接连接至”另一元件或“直接耦接至”另一元件,或者是在其间插入其他元件的情况下连接至或耦接至另一元件。相比之下,应当理解,在元件被称为“直接耦接”或“直接连接”至另一元件的情况下,不存在中间元件。

在本说明书中使用的术语仅用于描述具体实施方式,而不旨在限制本发明。以单数使用的表达包括复数表达,除非该表达在上下文中具有明显不同的含义。在本说明书中,应当理解,诸如“包括”、“具有”等的术语旨在指示说明书中所公开的特征、数目、步骤、行为、元素、部件或其组合的存在,而并不旨在排除一个或更多个其他特征、数字、步骤、行为、元素、部件或其组合可以存在或者可以被添加的可能性。

在下文中,将参照附图详细描述本发明的优选实施方式。在下文中,附图中相同的组成元素由相同的附图标记表示,并且将省略相同元素的重复描述。

图1是示出根据本发明的实施方式的用于编码视频的装置的框图。

参照图1,用于编码视频的装置100可以包括:图片分割模块110、预测模块120、125、变换模块130、量化模块135、重排模块160、熵编码模块165、逆量化模块140、逆变换模块145、滤波器模块150以及存储器155。

图1所示出的构成部分被独立地示出,以表示在用于编码视频的装置中彼此不同的特征功能,但是并不意味着每个构成部分都由单独的硬件或软件的构成单元构成。换言之,为了方便起见,每个构成部分包括列举的构成部分中的每一个。因此,每个构成部分中的至少两个构成部分可以组合以形成一个构成部分,或者一个构成部分可以被分割为多个构成部分以执行每个功能。如果不脱离本发明的实质,则将每个构成部分组合的实施方式和将一个构成部分分割的实施方式也包括在本发明的范围内。

此外,某些构成要素可能不是执行本发明的基本功能的必不可少的构成要素,但却是仅改善其性能的选择性构成要素。本发明可以通过仅包括除了用于改善性能的构成部分以外的用于实现本发明的本质的必不可少的构成部分来实现。仅包括除了仅用于改善性能的选择性构成要素以外的必不可少的构成要素的结构也包括在本发明的范围内。

图片分割模块110可以将输入图片分割成一个或更多个处理单元。此处,处理单元可以是预测单元(PU)、变换单元(TU)或编码单元(CU)。图片分割模块110可以将一个图片分割为多个编码单元、预测单元和变换单元的组合,并且可以通过以预定的准则(例如,成本函数)选择编码单元、预测单元和变换单元的组合来对图片进行编码。

例如,一个图片可以被分割为多个编码单元。诸如四叉树结构的递归树结构可以用于将图片分割为编码单元。以一个图片或最大的编码单元为根而被分割为其他编码单元的编码单元可以被分割有与分割的编码单元的数目相对应的子节点。不再被预定限制分割的编码单元用作叶节点。即,在假设一个编码单元只能进行正方形分割的情况下,一个编码单元最多可以分割为四个其他编码单元。

在下文中,在本发明的实施方式中,编码单元(coding unit)可以指执行编码的单元或执行解码的单元。

预测单元可以是在单个编码单元中被分割为具有相同大小的正方形形状或矩形形状的分区中之一,或者预测单元可以是被分割为使得在单个编码单元中分割的预测单元中的一个预测单元具有与其他预测单元不同的形状和/或大小的分区中之一。

当生成基于编码单元来执行帧内预测的预测单元并且该编码单元不是最小编码单元时,可以在不将编码单元分割为多个预测单元N×N的情况下执行帧内预测。

预测模块120、125可以包括执行帧间预测的帧间预测模块120和执行帧内预测的帧内预测模块125。可以确定是对预测单元执行帧间预测还是对预测单元执行帧内预测,并且可以确定根据每个预测方法的详细信息(例如,帧内预测模式、运动向量、参考图片等)。这里,执行预测的处理单元可以不同于针对其来确定预测方法和详细内容的处理单元。例如,可以基于预测单元来确定预测方法、预测模式等,并且可以基于变换单元来执行预测。生成的预测块与原始块之间的残差值(残差块)可以输入到变换模块130。此外,用于预测的预测模式信息、运动向量信息等可以在熵编码模块165中用残差值进行编码并且可以传输至用于解码视频的装置。当使用特定的编码模式时,可以在不通过预测模块120、125生成预测块的情况下通过按原样编码原始块来将其发送至用于解码视频的装置。

在某些情况下,帧间预测模块120可以基于当前图片的先前图片或后续图片中至少一者的信息来预测预测单元,或者可以基于当前图片中的一些编码区域的信息来预测预测单元。帧间预测模块120可以包括参考图片插值模块、运动预测模块和运动补偿模块。

参考图片插值模块可以从存储器155接收参考图片信息并且可以根据参考图片生成整像素或小于整像素的像素信息。在亮度像素的情况下,具有不同滤波器系数的基于8抽头DCT的插值滤波器可以用于基于1/4像素生成整像素或小于整像素的像素信息。在色度信号的情况下,具有不同滤波器系数的基于4抽头DCT的插值滤波器可以用于基于1/8像素生成整像素或小于整像素的像素信息。

运动预测模块可以基于由参考图片插值模块进行插值的参考图片来执行运动预测。可以使用诸如基于完全搜索的块匹配算法(FBMA)、三步搜索(TSS)、新三步搜索算法(NTS)等的各种方法作为用于计算运动向量的方法。运动向量可以基于插值像素具有基于1/2像素或1/4像素的运动向量值。运动预测模块可以通过改变运动预测方法来预测当前预测单元。可以使用诸如跳过方法、合并方法、AMVP(高级运动向量预测)方法、块内复制方法等各种方法作为运动预测方法。

帧内预测模块125可以基于与当前块相邻的参考像素信息——其是当前图片中的像素信息——来生成预测单元。在当前预测单元的相邻块是经受帧间预测的块并且因此参考像素是经受帧间预测的像素的情况下,可以用经受帧内预测的相邻块的参考像素信息替换经受帧间预测的块中包括的参考像素。即,当参考像素不可用时,可以使用可用参考像素中的至少一个参考像素来代替不可用参考像素信息。

帧内预测中的预测模式可以包括根据预测方向使用参考像素信息的方向性预测模式以及在执行预测时不使用方向信息的非方向性预测模式。用于预测亮度信息的模式可以不同于用于预测色度信息的模式,并且为了预测色度信息,可以利用用于预测亮度信息的帧内预测模式信息或预测的亮度信号信息。

在执行帧内预测时,在预测单元的大小与变换单元的大小相同的情况下,可以基于位于预测单位的左侧、左上和顶部处的像素对预测单元执行帧内预测。然而,在执行帧内预测时,在预测单元的大小与变换单元的大小不同的情况下,可以基于变换单元使用参考像素来执行帧内预测。此外,使用N×N分割的帧内预测可以仅用于最小的编码单元。

在帧内预测方法中,取决于预测模式,可以在将AIS(自适应帧内平滑)滤波器应用于参考像素之后生成预测块。应用于参考像素的AIS滤波器的类型可以不同。为了执行帧内预测方法,可以根据与当前预测单元相邻的预测单元的帧内预测模式来预测当前预测单元的帧内预测模式。在通过使用根据相邻预测单元而预测的模式信息来对当前预测单元的预测模式进行的预测中,在当前预测单元的帧内预测模式与相邻预测单元的帧内预测模式相同的情况下,可以使用预定的标志信息来传输指示当前预测单元的预测模式和相邻预测单元的预测模式彼此一样的信息。在当前预测单元的预测模式与相邻预测单元的预测模式不同的情况下,可以执行熵编码以对当前块的预测模式信息进行编码。

此外,可以基于由预测模块120、125生成的预测单元来生成包括关于残差值的信息的残差块,该残差值是经受预测的预测单元与预测单元的原始块之间的差。所生成的残差块可以被输入至变换模块130。

变换模块130可以通过使用诸如离散余弦变换(DCT)、离散正弦变换(DST)和KLT的变换方法来对包括关于原始块与由预测模块120、125生成的预测单元之间的残差值的信息的残差块进行变换。可以基于用于生成残差块的预测单元的帧内预测模式信息来确定是否应用DCT、DST或KLT以便对残差块进行变换。

量化模块135可以对通过变换模块130变换到频域的值进行量化。量化系数可以根据图片的重要性或块而变化。可以将由量化模块135计算出的值提供给逆量化模块140和重排模块160。

重排模块160可以对量化的残差值的系数进行重排。

重排模块160可以通过系数扫描方法将二维块形式的系数改变为一维向量形式的系数。例如,重排模块160可以使用之字形扫描方法从DC系数扫描到高频域中的系数,以便将系数改变为一维向量的形式。根据变换单元的大小和帧内预测模式,可以使用在列方向上扫描二维块形式的系数的竖直方向扫描或在行方向上扫描二维块形式的系数的水平方向扫描来代替之字形扫描。即,可以根据变换单元的大小和帧内预测模式来确定使用之字形扫描、竖直方向扫描和水平方向扫描中的哪种扫描方法。

熵编码模块165可以基于由重排模块160计算的值来执行熵编码。熵编码可以使用各种编码方法,例如指数Golomb编码、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)。

熵编码模块165可以编码来自重排模块160以及预测模块120、125的各种信息,例如编码单元的块类型信息和残差值系数信息、预测模式信息、分割单元信息、预测单元信息、变换单元信息、运动向量信息、参考帧信息、块插值信息、滤波信息等。

熵编码模块165可以对从重排模块160输入的编码单元的系数进行熵编码。

逆量化模块140可以对由量化模块135量化的值进行逆量化,并且逆变换模块145可以对由变换模块130变换的值进行逆变换。由逆量化模块140和逆变换模块145生成的残差值可以与由预测模块120、125的运动估计模块、运动补偿模块以及帧内预测模块预测的预测单元组合,使得可以生成重构块。

滤波器模块150可以包括解块滤波器、偏移校正单元或自适应环路滤波器(ALF)中的至少一个。

解块滤波器可以去除由重构图片中的块之间的边界造成的块失真。为了确定是否执行解块,包括在块中的若干行或若干列中的像素可以是确定是否将解块滤波器应用于当前块的基础。在将解块滤波器应用于块的情况下,取决于所需的解块滤波强度,可以应用强滤波器或弱滤波器。此外,在应用解块滤波器时,可以并行处理水平方向滤波和竖直方向滤波。

偏移校正模块可以基于经受解块的图片中的像素来校正与原始图片的偏移。为了对特定图片执行偏移校正,可以使用考虑每个像素的边缘信息来应用偏移的方法或者将图片的像素分割成预定数目的区域、确定要经受偏移的区域并将偏移应用于所确定区域的方法。

可以基于通过将滤波后的重构图片与原始图片进行比较而获得的值来执行自适应环路滤波(ALF)。图片中包括的像素可以被分割为预定的组,可以确定要应用于所述组中的每一个组的滤波器,并且可以针对每个组单独地执行滤波。可以通过编码单元(CU)传输关于是否施加ALF和亮度信号的信息。用于ALF的滤波器的形状和滤波器系数可以根据每个块而变化。此外,不论应用目标块的特性如何,可以应用相同形状(固定形状)的用于ALF的滤波器。

存储器155可以存储通过滤波器模块150计算的重构块或图片。在执行帧间预测时,可以将存储的重构块或图片提供给预测模块120、125。

图2是示出根据本发明的实施方式的用于解码视频的装置的框图。

参照图2,用于解码视频的装置200可以包括:熵解码模块210、重排模块215、逆量化模块220、逆变换模块225、预测模块230、235、滤波器模块240以及存储器245。

当从用于编码视频的装置输入视频比特流时,可以根据用于编码视频的装置的逆处理来对输入的比特流进行解码。

熵解码模块210可以根据由用于编码视频的装置的熵编码模块进行的熵编码的逆过程来执行熵解码。例如,对应于由用于编码视频的装置执行的方法,可以应用诸如指数Golomb编码、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)的各种方法。

熵解码模块210可以对关于由用于编码视频的装置执行的帧内预测和帧间预测的信息进行解码。

重排模块215可以基于在用于编码视频的装置中使用的重排方法来对由熵解码模块210进行熵解码的比特流执行重排。重排模块可以将一维向量形式的系数重构并重排为二维块形式的系数。重排模块215可以接收与在用于编码视频的装置中执行的系数扫描有关的信息,并且可以经由基于在用于编码视频的装置中执行的扫描顺序对系数进行反向扫描的方法来执行重排。

逆量化模块220可以基于从用于编码视频的装置接收的量化参数和块的重排系数来执行逆量化。

逆变换模块225可以执行逆变换即逆DCT、逆DST和逆KLT,其是变换模块对用于编码视频的装置的量化结果执行的变换即DCT、DST和KLT的逆过程。可以基于由用于编码视频的装置确定的转移单元来执行逆变换。用于解码视频的装置的逆变换模块225可以根据诸如预测方法、当前块的大小、预测方向等多种信息来选择性地执行变换方案(例如,DCT、DST和KLT)。

预测模块230、235可以基于关于从熵解码模块210接收的预测块生成的信息和从存储器245接收的先前解码的块或图片信息来生成预测块。

如上面所描述的,类似于用于编码视频的装置的操作,在执行帧内预测时,在预测单元的大小与变换单元的大小相同的情况下,可以基于位于预测单位的左侧、左上和顶部处的像素对预测单元执行帧内预测。在执行帧内预测时,在预测单元的大小与变换单元的大小不同的情况下,可以基于变换单元使用参考像素来执行帧内预测。此外,使用N×N分割的帧内预测可以仅用于最小的编码单元。

预测模块230、235可以包括预测单元确定模块、帧间预测模块和帧内预测模块。预测单元确定模块可以从熵解码模块210接收诸如预测单元信息、帧内预测方法的预测模式信息、关于帧间预测方法的运动预测的信息等的各种信息,可以将当前编码单元分割为预测单元,并且可以确定对预测单元是执行帧间预测还是执行帧内预测。通过使用从用于编码视频的装置接收的当前预测单元的帧间预测所需的信息,帧间预测模块230可以基于包括当前预测单元的当前图片的先前图片或后续图片中的至少一者的信息来对当前预测单元执行帧间预测。可替选地,可以基于包括当前预测单元的当前图片中的一些预重构区域的信息来执行帧间预测。

为了执行帧间预测,可以为编码单元确定使用跳过模式、合并模式、AMVP模式以及帧间块复制模式中的哪一种模式作为包括在编码单元中的预测单元的运动预测方法。

帧内预测模块235可以基于当前图片中的像素信息来生成预测块。在预测单元是经受帧内预测的预测单元的情况下,可以基于从用于编码视频的装置接收的预测单元的帧内预测模式信息来执行帧内预测。帧内预测模块235可以包括自适应帧内平滑(AIS)滤波器、参考像素插值模块和DC滤波器。AIS滤波器对当前块的参考像素执行滤波,并且可以根据当前预测单元的预测模式来确定是否应用滤波器。可以通过使用从用于编码视频的装置接收的AIS滤波器信息和预测单元的预测模式来对当前块的参考像素执行AIS滤波。在当前块的预测模式是未执行AIS滤波的模式的情况下,可以不应用AIS滤波器。

在预测单元的预测模式是其中基于通过对参考像素进行插值而获得的像素值来执行帧内预测的预测模式的情况下,参考像素插值模块可以对参考像素进行插值以生成整像素的或小于整像素的参考像素。在当前预测单元的预测模式是其中在不对参考像素进行插值的情况下生成预测块的预测模式的情况下,可以不对参考像素进行插值。在当前块的预测模式是DC模式的情况下,DC滤波器可以通过滤波来生成预测块。

重构的块或图片可以提供给滤波器模块240。滤波器模块240可以包括解块滤波器、偏移校正模块和ALF。

可以从用于编码视频的装置接收关于是否将解块滤波器应用于相应的块或图片的信息以及关于在应用解块滤波器时应用强滤波器和弱滤波器中的哪一个滤波器的信息。用于解码视频的装置的解块滤波器可以从用于编码视频的装置接收关于解块滤波器的信息,并且可以对相应的块执行解块滤波。

偏移校正模块可以基于在执行编码时应用于图片的偏移校正的类型和偏移值信息来对重构的图片执行偏移校正。

可以基于从用于编码视频的装置接收的关于是否应用ALF、ALF系数信息等的信息来将ALF应用于编码单元。ALF信息可以作为包括在特定参数集中的信息来提供。

存储器245可以存储用作参考图片或块的重构的图片或块,并且可以将重构的图片提供给输出模块。

如上面所描述的,在本发明的实施方式中,为了便于解释,将编码单元用作表示用于编码的单元的术语,但是编码单元可以用作执行解码以及编码的单元。

此外,当前块可以表示要被编码/解码的目标块。并且,取决于编码/解码步骤,当前块可以表示编码树块(或编码树单元)、编码块(或编码单元)、变换块(或变换单元)、预测块(或预测单元)等。

可以通过被分割成具有正方形形状或非正方形形状的基本块来编码/解码图片。此时,基本块可以被称为编码树单元。编码树单元可以被限定为序列或切片内允许的最大大小的编码单元。可以通过序列参数集、图片参数集或切片头来用信号发送关于编码树单元是正方形还是非正方形的信息或关于编码树单元的大小的信息。编码树单元可以被分割成较小大小的分区。此时,如果假设通过划分编码树单元而生成的分区的深度为1,则可以将通过对具有深度1的分区进行划分而生成的分区的深度限定为2。即,可以将通过对在编码树单元中具有深度k的分区进行划分而生成的分区限定为具有深度k+1。

通过划分编码树单元而生成的任意大小的分区可以被限定为编码单元。可以将编码单元递归地分割或分割为用于执行预测、量化、变换或环路内滤波等的基本单元。例如,通过对编码单元进行划分而生成的任意大小的分区可以被限定为编码单元,或者可以被限定为变换单元或预测单元,它们是用于执行预测、量化、变换、环路内滤波等的基本单元。

可以基于竖直线或水平线中的至少之一来执行编码树单元或编码单元的分割。此外,对编码树单元或编码单元进行分割的竖直线或水平线的数目可以是至少一个或更多个。例如,可以使用一条竖直线或一条水平线将编码树单元或编码单元分割为两个分区,或者可以使用两条竖直线或两条水平线将编码树单元或编码单元分割为三个分区。可替选地,可以通过使用一条竖直线和一条水平线将编码树单元或编码单元分割为具有1/2长度和宽度的四个分区。

当使用至少一条竖直线或至少一条水平线将编码树单元或编码单元分割为多个分区时,这些分区可以具有一致的大小或不同的大小。可替选地,任何一个分区可以具有与其余分区不同的大小。

在以下描述的实施方式中,假设将编码树单元或编码单元分割为四叉树结构、三叉树结构或二叉树结构。然而,也可以使用更多数目的竖直线或更多数目的水平线来对编码树单元或编码单元进行分割。

图3是示出根据本发明的实施方式的基于树结构对编码块进行分层次地分割的示例的示图。

以预定的块单元对输入的视频信号进行解码。用于解码输入的视频信号的这种默认单元是编码块。编码块可以是执行帧内/帧间预测、变换和量化的单元。此外,基于编码块确定预测模式(例如,帧内预测模式或帧间预测模式),并且包括在编码块中的预测块可以共享所确定的预测模式。编码块可以是具有在8×8到64×64范围内的任意大小的正方形块或非正方形块,或者可以是具有128×128、256×256或更大的大小的正方形块或非正方形块。

具体地,可以基于四叉树、三叉树或二叉树中的至少一个来对编码块进行分层次地分割。这里,基于四叉树的分割可以意味着2N×2N编码块被分割为四个N×N编码块,基于三叉树的分割可以意味着一个编码块被分割为三个编码块,并且基于二叉树的分割可以意味着一个编码块被分割为两个编码块。即使执行基于三叉树的分割或基于二叉树的分割,正方形形状的编码块也可以存在于较低深度中。此外,在执行基于三叉树的分割或基于二叉树的分割之后,可以在较低深度上限制生成正方形形状的编码块。

可以对称地或非对称地执行基于二叉树的分割。基于二叉树来进行分割的编码块可以是正方形块或非正方形块例如矩形。例如,其中允许基于二叉树的分割的分割类型可以包括2N×N(水平方向非正方形编码单元)或N×2N(竖直方向非正方形编码单元)的对称类型、nL×2N、nR×2N、2N×nU或2N×nD的非对称类型中的至少一个类型。

可以将基于二叉树的分割限制为对称类型分割或非对称类型分割之一。在这种情况下,用正方形块构造编码树单元可以对应于四叉树CU分割,并且用对称的非正方形块构造编码树单元可以对应于二叉树分割。用正方形块和对称的非正方形块构造编码树单元可以对应于四叉树和二叉树CU分割。

可以对不再执行基于四叉树的分割的编码块执行基于二叉树的分割。可以不再对基于二叉树分割的编码块执行基于四叉树的分割、基于三叉树的分割或基于二叉树的分割中的至少一个。

可替选地,可以使得基于三叉树的分割或基于二叉树的分割能够用于基于二叉树进行分割的编码块,但是可以限制性地允许仅水平分割或竖直分割之一。

例如,对于基于二叉树进行分割的编码块,可以根据基于二叉树进行分割的编码块的位置、索引、形状或相邻分区的附加分割类型等来限制附加分割或附加分割方向。例如,当通过基于二叉树的分割而生成的两个编码块中的编码顺序在前的编码块的索引为0(下文中称为编码块索引0)并且通过基于二叉树的分割而生成的这两个编码块中的编码顺序在后的编码块的索引为1时(下文中称为编码块索引1),在对具有编码块索引0或编码块索引1的所有编码块应用基于二叉树的分割的情况下,可以根据具有编码块索引0的编码块的基于二叉树的分割方向来确定具有编码块索引1的编码块的基于二叉树的分割方向。具体地,当具有编码块索引0的编码块的基于二叉树的分割方向将具有编码块索引0的编码块分割为正方形分区时,具有编码块索引1的编码块的基于二叉树的分割可以被限制为与具有编码块索引1的编码块的基于二叉树的分割具有不同的方向。因此,可以限制具有编码块索引0和编码块索引1的编码块被分割为正方形分区。在这种情况下,可以省略对指示具有编码块索引1的编码块的二叉树分割方向的信息的编码/解码。这是因为将具有编码块索引0和编码块索引1的所有编码块分割为正方形分区的效果与基于四叉树对较高深度块进行分割的效果相同,因此,就编码效率而言,不期望使得将所有编码块分割为正方形分区。

基于三叉树的分割意味着在水平方向上或竖直方向上将编码块分割为三个分区。由于基于三叉树的分割而生成的所有三个分区可以具有不同的大小。可替选地,由于基于三叉树的分割而生成的分区中的两个分区可以具有相同的大小,而另一分区可以具有不同的大小。例如,取决于分割方向,可以将在编码块被分割时生成的分区的宽度比率或高度比率设置为1:n:1、1:1:n、n:1:1或m:n:1。这里,m和n可以是1或大于1的实数,例如,诸如2的整数。

可以对不再执行基于四叉树的分割的编码块执行基于三叉树的分割。对于基于三叉树进行分割的编码块,可以设置不再执行基于四叉树的分割、基于三叉树的分割或基于二叉树的分割中的至少一个。

可替选地,可以使得基于三叉树的分割或基于二叉树的分割能够用于基于三叉树进行分割的编码块,但是可以限制性地允许仅水平分割或竖直分割之一。

例如,对基于三叉树进行分割的编码块,可以根据基于三叉树进行分割的编码块的位置、索引、形状或相邻分区的附加分割类型等来限制附加分割或附加分割方向。例如,水平划分或竖直划分中之一可以限于由于基于三叉树的分割而生成的编码块之中具有最大大小的分区。具体地,由于基于三叉树的分割而生成的编码块之中的最大分区可以使得不允许在与较高深度分割的三叉树分割方向相同的方向上进行二叉树分割或与较高深度分割的三叉树分割方向相同的方向上进行三叉树分割。在这种情况下,对于基于三叉树进行分割的编码块中的最大分区,可以省略对指示二叉树分割方向或三叉树分割方向的信息的编码/解码。

可以根据较高深度的分割类型来确定较低深度的分割。例如,当允许在两个或更多个深度中进行基于二叉树的分割时,可以仅允许在较低深度中进行与较高深度的二叉树分割具有相同类型的基于二叉树的分割。例如,在较高深度中以2NxN类型执行基于二叉树的分割的情况下,可以在较低深度中执行以2NxN类型进行的基于二叉树的分割。可替选地,在较高深度中以Nx2N类型执行基于二叉树的分割的情况下,可以允许在较低深度中进行Nx2N类型的基于二叉树的分割。

相比之下,也可以仅允许在较低深度中进行具有与较高深度的二叉树分割不同类型的基于二叉树的分割。

对于序列、切片、编码树单元或编码单元,可以限制为仅使用特殊类型的基于二叉树的分割或特殊类型的基于三叉树的分割。例如,可以限制为仅允许对编码树单元进行基于2NxN或Nx2N类型的基于二叉树的分割。可以在编码器或解码器中预先限定允许的分割类型,并且可以对关于允许的分割类型或不允许的分割类型的信息进行编码并且通过比特流用信号发送该信息。

图5是示出其中仅允许特定类型的基于二叉树的分割的示例的图。图5的(a)示出仅允许N×2N类型的基于二叉树的分割的示例,并且图5的(b)示出仅允许2N×N类型的基于二叉树的分割的示例。为了实现基于四叉树或二叉树的自适应分割,可以使用指示基于四叉树的分割的信息、关于允许基于四叉树的分割的编码块的大小/深度的信息、指示基于二叉树的分割的信息、关于允许基于二叉树的分割的编码块的大小/深度的信息、关于不允许基于二叉树的分割的编码块的大小/深度的信息、关于是否在竖直方向或水平方向上执行基于二叉树的分割的信息等。

此外,可以针对编码树单元或特定编码单元获取关于允许二叉树/三叉树分割的次数的信息、关于允许二叉树/三叉树分割的深度的信息或关于允许二叉树/三叉树分割的深度的数目的信息。所述信息可以基于编码树单元或编码单元进行编码并且可以通过比特流传输至解码器。

例如,可以通过比特流对指示允许二叉树分割的最大深度的语法“max_binary_depth_idx_minus1”进行编码/解码。在这种情况下,max_binary_depth_idx_minus1+1可以指示允许二叉树分割的最大深度。

参照图6所示出的示例,在图6中,已经对深度为2的编码单元和深度为3的编码单元执行了二叉树分割。因此,可以通过比特流对指示编码树单元中的二叉树分割已被执行的次数(即,2次)的信息、指示在编码树单元中允许二叉树分割的最大深度(即,深度3)的信息或指示在编码树单元中已执行二叉树分割的深度的数目(即,2(深度2和深度3))的信息中的至少一个进行编码/解码。

作为另一示例,可以针对每个序列或每个切片获取关于允许二叉树/三叉树分割的次数的信息、关于允许二叉树/三叉树分割的深度的信息或关于允许二叉树/三叉树分割的深度的数目的信息中的至少一个。例如,所述信息可以基于序列、图片或切片单元进行编码并且通过比特流传输。相比之下,可以针对每个序列、图片或切片单元限定允许二叉树/三叉树分割的深度或允许二叉树/三叉树分割的深度的数目。因此,在第一切片和第二切片中的二叉树/三叉树分割的次数、在第一切片和第二切片中允许二叉树/三叉树分割的最大深度或在第一切片和第二切片中执行二叉树/三叉树分割的深度的数目中的至少之一可以与第二切片不同。例如,在第一切片中,可以仅允许一个深度的二叉树分割,而在第二切片中,可以允许两个深度的二叉树分割。

作为另一示例,可以根据切片(slice)或图片的时间级标识符(TemporalID)来不同地设置允许二叉树/三叉树分割的次数、允许二叉树/三叉树分割的深度或允许二叉树/三叉树分割的深度的数目。这里,时间级标识符(TemporalID)用于标识具有视图、空间、时间或质量中的至少之一的可伸缩性的视频的多个层中的每一层。

如图3所示出的,可以基于四叉树将分割深度(划分深度)为k的第一编码块300分割为多个第二编码块。例如,第二编码块310至340可以是具有第一编码块的一半宽度和一半高度的正方形块,并且第二编码块的分割深度可以增加至k+1。

分割深度为k+1的第二编码块310可以被分割为分割深度为k+2的多个第三编码块。可以通过根据分割方法选择性地使用四叉树和二叉树之一来执行第二编码块310的分割。这里,可以基于指示基于四叉树的分割的信息或指示基于二叉树的分割的信息中的至少一个来确定分割方法。

在基于四叉树对第二编码块310进行分割的情况下,第二编码块310可以被分割成具有第二编码块的一半宽度和一半高度的四个第三编码块310a,并且第三编码块310a的分割深度可以增加至k+2。相比之下,在基于二叉树对第二编码块310进行分割的情况下,第二编码块310可以被分割成两个第三编码块。这里,两个第三编码块中的每一个可以是具有第二编码块的一半宽度和一半高度中之一的非正方形块,并且分割深度可以增加至k+2。第二编码块可以根据分割方向而被确定为水平方向或竖直方向的非正方形块,并且可以基于关于是在竖直方向执行基于二叉树的分割还是在水平方向上执行基于二叉树的分割的信息来确定分割方向。

同时,第二编码块310可以被确定为不再基于四叉树或二叉树进行分割的叶编码块。在这种情况下,叶编码块可以用作预测块或变换块。

与第二编码块310的分割一样,第三编码块310a可以被确定为叶编码块,或者可以基于四叉树或二叉树进一步分割。

同时,基于二叉树进行分割的第三编码块310b可以基于二叉树进一步分割为竖直方向的编码块310b-2或水平方向的编码块310b-3,并且相关编码块的分割深度可以增加至k+3。可替选地,第三编码块310b可以被确定为不再基于二叉树进行分割的叶编码块310b-1。在这种情况下,编码块310b-1可以用作预测块或变换块。然而,可以基于关于允许基于四叉树的分割的编码块的大小/深度的信息、关于允许基于二叉树的分割的编码块的大小/深度的信息或关于不允许基于二叉树的分割的编码块的大小/深度的信息中的至少一个信息来限制地执行上面的分割处理。

表示编码块大小的候选的数目可以被限制为预定数目,或者预定单元中的编码块的大小可以具有固定值。例如,序列或图片中的编码块的大小可以限制为256×256、128×128或32×32。可以通过序列头或图片头来用信号发送指示序列或图片中的编码块的大小的信息。

作为基于四叉树的分割和二叉树的分割的结果,编码单元可以表示为任意大小的正方形或矩形。

根据编码块是基于四叉树分割、二叉树分割还是三叉树分割生成的,可以限制变换跳过(transform skip)的应用。

这里,在在编码块的水平方向上和竖直方向上都跳过逆变换的情况下,在编码块的水平方向上和竖直方向上未执行逆变换。在这种情况下,可以将逆量化残差系数缩放至预设值以获得编码块的残差样本。

省略水平方向上的逆变换意味着在竖直方向上使用DCT、DST等来执行逆变换,而不在水平方向上执行逆变换。在这种情况下,可以在水平方向上执行缩放。

省略竖直方向上的逆变换意味着在水平方向上使用DCT、DST等来执行逆变换,而不在竖直方向上执行逆变换。在这种情况下,可以在竖直方向上执行缩放。

具体地,根据编码块的分割类型,可以确定是否可以将逆变换跳过技术用于编码块。例如,在通过基于二叉树的分割生成编码块的情况下,可以限制不对编码块使用逆变换跳过技术。因此,在通过基于二叉树的分割生成编码块的情况下,可以通过对编码块进行逆变换来获取编码块的残差样本。此外,在通过基于二叉树的分割生成编码块的情况下,可以省略对指示是否跳过逆变换的信息(例如,transform_skip_flag)的编码/解码。

可替选地,在通过基于二叉树的分割生成编码块的情况下,可以限制仅允许在水平方向或竖直方向中的至少一个方向上的逆变换跳过技术。这里,可以基于从比特流解码的信息来确定其中限制逆变换跳过技术的方向,或者基于编码块的大小、编码块的形状或编码块的帧内预测模式中的至少一个来自适应地确定该方向。

例如,在编码块是宽度大于高度的非正方形块的情况下,可以仅针对竖直方向允许逆变换跳过技术,并且可以限制水平方向上的逆变换跳过技术的使用。即,在编码块为2N×N的情况下,可以在编码块的水平方向上执行逆变换,并且可以在竖直方向上选择性地执行逆变换。

另一方面,在编码块是高度大于宽度的非正方形块的情况下,可以仅针对水平方向允许逆变换跳过技术,并且可以限制竖直方向上的逆变换跳过技术的使用。即,在编码块为N×2N的情况下,可以在编码块的竖直方向上执行逆变换,并且可以在水平方向上选择性地执行逆变换。

与上述示例相比,在编码块是宽度大于高度的非正方形块的情况下,仅针对水平方向允许逆变换跳过技术,在编码块是高度大于宽度的非正方形块的情况下,仅针对竖直方向允许逆变换跳过技术。

可以通过比特流来用信号发送关于是否跳过水平方向上的逆变换的信息或指示是否跳过竖直方向上的逆变换的信息。例如,指示是否跳过水平方向上的逆变换的信息可以是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”中的至少一个来确定是否跳过水平方向或竖直方向上的逆变换。

取决于编码块的分割类型,可以设置省略在任一方向上的逆变换。例如,在通过基于二叉树的分割生成编码块的情况下,可以省略水平方向或竖直方向上的逆变换。即,如果编码块是通过基于二叉树的分割生成的,但没有对指示是否跳过编码块的逆变换的信息(例如,transform_skip_flag、hor_transform_skip_flag、ver_transform_skip_flag)进行编码/解码,则可以确定是否跳过相对于编码块的水平方向或竖直方向中的至少一个方向上的逆变换。

使用跳过模式、帧内预测、帧间预测或跳过方法中的至少一个来对编码块进行编码。一旦确定了编码块,就可以通过编码块的预测分割来确定预测块。可以通过指示编码块的分割类型的分割模式(Part mode)来执行对编码块的预测分割。可以根据编码块的分割模式来确定预测块的大小或形状。例如,根据分割模式确定的预测块的大小可以等于或小于编码块的大小。

图7是示出在通过帧间预测对编码块进行编码的情况下可应用于编码块的分割模式的图。

在通过帧间预测对编码块进行编码的情况下,可以对编码块应用8种分割模式中之一,如图7中所示出的示例一样。

在通过帧内预测对编码块进行编码的情况下,可以对编码块应用分割模式PART_2N×2N或分割模式PART_N×N。

在编码块具有最小的大小的情况下,可以应用PART_N×N。这里,可以预先在编码器和解码器中限定编码块的最小的大小。或者,可以经由比特流来用信号发送关于编码块的最小的大小的信息。例如,可以通过切片头来用信号发送编码块的最小的大小,以便可以在每个切片中限定编码块的最小的大小。

通常,预测块可以具有从64×64至4×4的大小。然而,在通过帧间预测对编码块进行编码的情况下,可以限制预测块不具有4×4大小,以便减小执行运动补偿时的存储器带宽。

图8是示出根据本发明实施方式的用于编码/解码视频的装置的预定义帧内预测模式的类型的图。

用于编码/解码视频的装置可以使用预定义帧内预测模式之一来执行帧内预测。用于帧内预测的预定义帧内预测模式可以包括非方向性预测模式(例如,平面模式、DC模式)和33个方向性预测模式。

可替选地,为了提高帧内预测的准确性,可以使用比33个方向性预测模式更多数目的方向性预测模式。即,可以通过对方向性预测模式的角度进行细分来限定M个扩展的方向性预测模式(M>33),并且可以使用33个预定义方向性预测模式中的至少一个来得到具有预定角度的方向性预测模式。

具体地,可以使用比图8所示出的35个帧内预测模式更多数目的帧内预测模式。此时,使用比35个帧内预测模式更多数目的帧内预测模式可以被称为扩展的帧内预测模式。

图9示出了扩展的帧内预测模式的示例,并且扩展的帧内预测模式可以包括2个非方向性预测模式和65个扩展的方向性预测模式。可以将相同数目的扩展的帧内预测模式用于亮度分量和色度分量,或者可以将不同数目的帧内预测模式用于每个分量。例如,可以将67个扩展的帧内预测模式用于亮度分量,并且可以将35个帧内预测模式用于色度分量。

可替选地,取决于色度格式,可以在执行帧内预测时使用不同数目的帧内预测模式。例如,在4:2:0格式的情况下,可以将67个帧内预测模式用于亮度分量以执行帧内预测,并且可以将35个帧内预测模式用于色度分量。在4:4:4格式的情况下,可以将67个帧内预测模式用于亮度分量和色度分量两者以执行帧内预测。

可替选地,取决于块的大小和/或形状,可以使用不同数目的帧内预测模式来执行帧内预测。即,取决于PU或CU的大小和/或形状,可以使用35个帧内预测模式或67个帧内预测模式来执行帧内预测。例如,在CU或PU具有小于64×64的大小或者被非对称分割的情况下,可以使用35个帧内预测模式来执行帧内预测。在CU或PU的大小等于或大于64×64的情况下,可以使用67个帧内预测模式来执行帧内预测。对于Intra_2N×2N(帧内_2N×2N)可以允许65个方向性帧内预测模式,而对于Intra_N×N可以仅允许35个方向性帧内预测模式。

对于每个序列、图片或切片(slice),可以不同地设置应用扩展的帧内预测模式的块的大小。例如,设置将扩展的帧内预测模式应用于第一切片中的具有大于64×64的大小的块(例如CU或PU)。另一方面,设置将扩展的帧内预测模式应用于第二切片中的具有大于32×32的大小的块。可以通过基于序列、图片或切片来用信号发送表示应用扩展的帧内预测模式的块的大小的信息。例如,可以将指示应用扩展的帧内预测模式的块的大小的信息限定为通过取块大小的对数然后减去整数4而获得的“log2_extended_intra_mode_size_minus4”。例如,如果log2_extended_intra_mode_size_minus4的值为0,则可以指示扩展的帧内预测模式可以应用于大小等于或大于16×16的块。并且如果log2_extended_intra_mode_size_minus4的值是1,则可以指示扩展的帧内预测模式可以应用于大小等于或大于32×32的块。

如上面所描述的,可以考虑块的颜色分量、色度格式或大小或形状中的至少一个来确定帧内预测模式的数目。此外,也可以根据块的颜色分量、颜色格式、或大小或形状中的至少一个来确定用于确定要编码/解码的当前块的帧内预测模式的帧内预测模式候选的数目(例如,MPM的数目)。此外,也可以使用比图8所示出的帧内预测模式更多数目的帧内预测模式。例如,通过进一步细分图8所示出的方向性预测模式,还可以使用129个方向性预测模式和2个非方向性预测模式。可以考虑如上面描述的示例中的块的颜色分量、颜色格式分量、大小或形状中的至少一个来确定是否使用比图8中所示出的帧内预测模式更多数目的帧内预测模式。

根据帧内预测模式的方向性,可以将方向性帧内预测模式分类为多个组。例如,第一组可以指示作为朝向左下方向的方向性帧内预测模式的具有比在水平方向上的帧内预测模式更小的值的帧内预测模式。第一组帧内预测模式可以被称为底部水平帧内预测模式。例如,在第一组中可以包括在35个帧内预测模式中小于10的帧内预测模式或在67个帧内预测模式中具有小于16的模式值的帧内预测模式。

第二组可以指示从水平方向上的帧内预测模式开始的具有比左上对角线方向上的帧内预测模式更小的模式值的帧内预测模式。第二组帧内预测模式可以被称为顶部水平帧内预测模式。例如,在第二组中可以包括在35个帧内预测模式中模式值为10或更多且小于18的帧内预测模式或在67个帧内预测模式中模式值为16或更多且小于34的帧内预测模式。

第三组可以指示从左上对角线方向上的帧内预测模式开始的具有比在竖直方向上的帧内预测模式的模式值更小的模式值的帧内预测模式。第三组帧内预测模式可以被称为左侧竖直帧内预测模式。例如,在第三组中可以包括在35个帧内预测模式中模式值为18或更大且小于26的帧内预测模式或在67个帧内预测模式中模式值为34或更大且小于50的帧内预测模式。

第四组可以指示具有与在竖直方向上的帧内预测模式的模式值相同或大于该模式值的模式值的帧内预测模式。例如,在第四组中可以包括在35个帧内预测模式中模式值为26或更大的帧内预测模式或在67个帧内预测模式中模式值为50或更大的帧内预测模式。

还可以将方向性帧内预测模式分类为多于四个组或少于四个组,并且还可以将包含在四个组中的每个组中的帧内预测模式的范围设置为与描述不同的范围。

参照后面要描述的附图,将与附图一起描述确定要编码/解码的当前块的帧内预测模式的方法和使用所确定的帧内预测模式执行帧内预测的方法。

图10是简要示出根据本发明的实施方式的帧内预测方法的流程图。

参照图10,可以在步骤S1000处确定当前块的帧内预测模式。

具体地,可以基于候选列表和索引来得到当前块的帧内预测模式。这里,候选列表包含多个候选,并且可以基于与当前块相邻的相邻块的帧内预测模式来确定多个候选。相邻块可以包括位于当前块的顶部的块、底部的块、左侧的块、右侧的块或拐角处的块中的至少一个。索引可以指定候选列表中的多个候选中的一个候选。由索引指定的候选可以被设置为当前块的帧内预测模式。

可以将相邻块中用于帧内预测的帧内预测模式设置为候选。例如,可以基于当前块的左侧块、顶部块、左下角相邻块、右上角相邻块和左上角相邻块的帧内预测模式来得到候选。如果通过帧间预测对相邻块进行编码,则可以使用相邻块的并置块(collocatedblock)的帧内预测模式得到当前块的候选。

此外,可以将具有与相邻块的帧内预测模式的方向性类似的方向性的帧内预测模式设置为候选。这里,可以通过向相邻块的帧内预测模式加上预定常数值或者从相邻块的帧内预测模式中减去预定常数值来确定具有类似方向性的帧内预测模式。预定常数值可以是整数,例如1、2或更大,并且可以根据可用帧内预测模式的数目自适应地确定预定常数值。例如,在可用帧内预测模式的数目为35的情况下,可将预定常数值设置为1,在可用帧内预测模式的数目为67的情况下,可将预定常数值设置为2。此外,在可用帧内预测模式的数目为131的情况下,可将预定常数值设置为4。

候选列表还可以包括默认模式。默认模式可以包括平面模式(planar mode)、DC模式、竖直模式、水平模式、右上对角线模式或左上对角线模式中的至少一个模式。可以考虑在当前块的候选列表中包括的候选的最大数目来自适应地添加默认模式。

候选列表中可以包括的候选的最大数目可以是三、四、五、六、七或更多。候选列表中可以包括的候选的最大数目可以是在用于编码/解码视频的装置中预置的固定值,或者可以基于当前块的特征而可变地确定。特征可以是块的位置/大小/形状、块可以使用的帧内预测模式的数目/类型、颜色类型、颜色格式等。可替选地,可以单独地用信号发送指示候选列表中可以包括的候选的最大数目的信息,并且可以使用该信息来可变地确定候选列表中可以包括的候选的最大数目。可以在序列级、图片级、切片级或块级中的至少一个中用信号发送指示候选的最大数目的信息。

可以按照预定义的顺序对候选列表中包括的候选进行排序。例如,候选可以按照左侧块、顶部块、左下块、右上块和左上块的顺序排列在候选列表中。可替选地,可以根据当前块的大小或形状可变地确定候选的顺序。例如,在当前块是高度大于宽度的非正方形块的情况下,顶部块的帧内预测模式可以以比左侧块的帧内预测模式的优先级更高的优先级排列。

当选择性地使用扩展的帧内预测模式和35个预定义帧内预测模式时,相邻块的帧内预测模式可以转换为与扩展的帧内预测模式对应的索引,或者转换为与35个帧内预测模式对应的索引,从而可以得到候选。对于转换至索引,可以使用预定义的表,或者可以使用基于预定值的缩放操作。这里,预定义的表可以限定不同帧内预测模式组(例如,扩展的帧内预测模式和35个帧内预测模式)之间的映射关系。

例如,在左侧相邻块使用35个帧内预测模式并且左侧相邻块的帧内预测模式是10(水平模式)的情况下,可以将其转换为与扩展的帧内预测模式中的水平模式相对应的索引16。

可替选地,在顶部相邻块使用扩展的帧内预测模式并且顶部相邻块的帧内预测模式具有索引50(竖直模式)的情况下,可以将其转换为与35个帧内预测模式中的竖直模式相对应的索引26。

基于上面描述的确定帧内预测模式的方法,可以独立地为亮度分量和色度分量中的每一个得到帧内预测模式,或者可以根据亮度分量的帧内预测模式得到色度分量的帧内预测模式。

具体地,可以基于亮度分量的帧内预测模式来确定色度分量的帧内预测模式,如下表1所示出的。

[表1]

在表1中,Intra_chroma_pred_mode是指用信号发送以指定色度分量的帧内预测模式的信息,IntraPredModeY指示亮度分量的帧内预测模式。

参照图10,可以在步骤S1010处得到用于当前块的帧内预测的参考样本。

具体地,可基于当前块的相邻样本得到用于帧内预测的参考样本。相邻样本可以是相邻块的重构样本,并且重构样本可以是应用环路内滤波器之前的重构样本或者是应用环路内滤波器之后的重构样本。

可以使用在当前块之前重构的相邻样本作为参考样本,并且可以使用基于预定帧内滤波器滤波的相邻样本作为参考样本。使用帧内滤波器对相邻样本进行的滤波也可称为参考样本平滑。帧内滤波器可以包括应用于位于同一水平线上的多个相邻样本的第一帧内滤波器或应用于位于同一竖直线上的多个相邻样本的第二帧内滤波器中的至少一个。取决于相邻样本的位置,可以选择性地应用第一帧内滤波器和第二帧内滤波器中的一个或者可以应用两个帧内滤波器。此时,第一帧内滤波器或第二帧内滤波器的至少一个滤波器系数可以是(1,2,1),但不限于此。

可以基于当前块的帧内预测模式或当前块的变换块的大小中的至少之一来自适应地执行滤波。例如,在当前块的帧内预测模式是DC模式、竖直模式或水平模式的情况下,可以不执行滤波。在变换块的大小为N×M的情况下,可以不执行滤波。这里,N和M可以是相同的值或不同的值,或者可以是4、8、16或更多的值。例如,如果变换块的大小是4×4,则可以不执行滤波。可替选地,可以基于预定义阈值和当前块的帧内预测模式与竖直模式(或水平模式)之间的差的比较结果来选择性地执行滤波。例如,在当前块的帧内预测模式与竖直模式之间的差大于阈值的情况下,可以执行滤波。如表2所示出的,可以为变换块的每个大小限定阈值。

[表2]

帧内滤波器可以被确定为在用于编码/解码视频的装置中预定义的多个帧内滤波器候选中之一。为此,可以用信号发送指定多个帧内滤波器候选中当前块的帧内滤波器的单独索引。可替选地,可以基于当前块的大小/形状、变换块的大小/形状、关于滤波器强度的信息或周围样本的变化中的至少一个来确定帧内滤波器。

可以通过使用多个参考样本线来执行当前编码块上的帧内预测。例如,可以通过使用两个或更多个参考样本线来执行当前编码块上的帧内预测。

可以基于当前块的大小/形状、帧内预测模式等来确定是否使用多个参考样本线来执行帧内预测。例如,在当前块的帧内预测模式是非方向性帧内预测模式或特定方向的帧内预测模式的情况下,可以限制使用多个参考样本线来执行帧内预测。在此,特定方向可以包括竖直方向、水平方向或对角线方向。

参照图10,在步骤S1020处,可以使用当前块的帧内预测模式和参考样本来执行帧内预测。

也就是说,可以使用在步骤S1000处确定的帧内预测模式和在步骤S1010处得到的参考样本来获得当前块的预测样本。在使用多个参考样本线执行帧内预测的情况下,可以基于属于不同参考样本线的参考样本的加权和来获得预测样本。例如,可以基于属于第一参考样本线的第一参考样本和属于第二参考样本线的第二参考样本的加权和来得到预测样本。在这种情况下,取决于与预测目标样本的距离,应用于第一参考样本和第二参考样本的权重可以具有相同的值或者可以具有不同的值。例如,在第一参考样本和第二参考样本中,可以给予接近预测目标样本的参考样本更高的权重。

然而,在帧内预测的情况下,可以使用相邻块的边界样本,从而会降低预测图片的质量。因此,可以对通过上面描述的预测处理而生成的预测样本执行校正处理,并且将参照图11详细描述该校正处理。然而,校正处理不限于仅应用于帧内预测样本,而是还可以应用于帧间预测样本或重构的样本。

图11是示出根据本发明的实施方式的基于相邻样本的差异信息来校正当前块的预测样本的方法的图。

可以基于当前块的多个相邻样本的差异信息来校正当前块的预测样本。可以对当前块中的所有预测样本执行校正,或者可以对预定部分区域中的预测样本执行校正。所述部分区域可以是一行/列或多行/列,并且这些部分区域可以是在用于编码/解码视频的装置中的用于校正的预设区域。例如,可以对位于当前块的边界处的一行/列执行校正,或者可以对距当前块的边界的多行/列执行校正。可替选地,可以基于当前块的大小/形状或帧内预测模式中的至少一个来可变地确定部分区域。

相邻样本可能属于位于当前块的顶部、左侧和左上角处的相邻块。用于校正的相邻样本的数目可以是2、3、4或更多。可以根据作为当前块中的校正目标的预测样本的位置来可变地确定相邻样本的位置。可替选地,一些相邻样本可以不管作为校正目标的预测样本的位置如何都具有固定位置,并且剩余的相邻样本可以具有取决于作为校正目标的预测样本的位置的可变位置。

相邻样本的差异信息可以指相邻样本之间的差异样本,也可以指通过将差异样本按预定常数值(例如,1、2、3等)缩放而获得的值。这里,可以考虑作为校正目标的预测样本的位置、包括作为校正目标的预测样本的列或行的位置、预测样本在列、行内的位置等来确定预定常数值。

例如,在当前块的帧内预测模式是竖直模式的情况下,可以使用邻近当前块的左侧边界的相邻样本p(-1,y)与左上相邻样本p(-1,-1)之间的差异样本来获得最终预测样本,如等式1所示出的。

[等式1]

P′(0,y)=P(0,y)+((p(-1,y)-p(-1,-1))>>1,针对y=0...N-1

例如,在当前块的帧内预测模式是水平模式的情况下,可以使用邻近当前块的顶部边界的相邻样本p(x,-1)与左上相邻样本p(-1,-1)之间的差异样本来获得最终预测样本,如等式1所示出的。

[等式2]

P′(x,0)=p(x,0)+((p(x,-1)-p(-1,-1))>>1,针对x=0...N-1

例如,在当前块的帧内预测模式是竖直模式的情况下,可以使用邻近当前块的左侧边界的相邻样本p(-1,y)与左上相邻样本p(-1,一1)之间的差异样本来获得最终预测样本,如等式2所示出的。这里,差异样本可以添加至预测样本,或者差异样本可以以预定常数值缩放,然后添加至预测样本。取决于列和/或行,可以不同地确定用于缩放的预定常数值。例如,可以如等式3和等式4所示出的那样校正预测样本。

[等式3]

P′(0,y)=P(0,y)+((p(-1,y)-p(-1,-1))>>1,针对y=0...N-1

[等式4]

P′(1,y)=P(1,y)+((p(-1,y)-p(-1,-1))>>2,针对y=0...N-1

例如,在当前块的帧内预测模式是水平模式的情况下,可以使用邻近当前块的左侧边界的相邻样本p(x,-1)与左上相邻样本p(-1,-1)之间的差异样本来获得最终预测样本。如上面在水平模式下所描述的。例如,可以如下面的等式5和等式6中那样校正预测样本。

[等式5]

P′(x,0)=p(x,0)+((p(x,-1)-p(-1,-1))>>1,针对x=0...N-1

[等式6]

P′(x,1)=p(x,1)+((p(x,-1)-p(-1,-1))>>2,针对x=0...N-1

在当前块的帧内预测模式是方向性预测模式时,可以基于方向性预测模式的方向性来执行当前块的帧内预测。例如,表3示出了从模式2至模式34的帧内方向参数intraPredAng,模式2至模式34是图8所示出的方向性帧内预测模式。

[表3]

在表3中,以示例的方式描述了33个方向性帧内预测模式,但是可以限定更多个或更少个方向性帧内预测模式。

可以基于限定方向性帧内预测模式与帧内方向参数之间的映射关系的查找表来确定当前块的帧内方向参数。可替选地,可以基于通过比特流用信号发送的信息来确定当前块的帧内方向参数。

取决于方向性帧内预测模式的方向性,可以使用左侧参考样本或顶部参考样本中的至少一个来执行当前块的帧内预测。这里,顶部参考样本可以是y轴坐标小于在当前块中的顶部行中包括的预测目标样本(x,0)的参考样本(例如,(-1,-1)至(2W-1,-1)),并且左侧参考样本可以是x轴坐标小于当前块中最左侧列中包括的预测目标样本(0,y)的参考样本(例如,(-1,-1)至(-1,2H-1))。

取决于帧内预测模式的方向性,可以将当前块的参考样本排列成一维。具体地,在顶部参考样本和左侧参考样本两者都应当用于当前块的帧内预测的情况下,假设顶部参考样本和左侧参考样本都沿竖直方向或水平方向排列成一条线,并且可以选择每个预测目标样本的参考样本。

例如,在帧内方向参数为负(例如,对应于表3中模式11至模式25的帧内预测模式)的情况下,可以沿水平方向或竖直方向重新排列顶部参考样本和左侧参考样本,以形成一维参考样本组P_ref_1D。

图12和图13是示出其中参考样本被重新排列成线的一维参考样本组的图。

可以根据帧内预测模式的方向性来确定是在竖直方向上重新排列参考样本还是在水平方向上重新排列参考样本。例如,如果帧内预测模式索引在11至18之间,如图12中示例所示,则可以逆时针旋转当前块的顶部参考样本,以生成其中左侧参考样本和顶部参考样本在竖直方向上排列的一维参考样本组。

另一方面,如果帧内预测模式索引在19至25之间,如图13所示出的示例中所示,则可以顺时针旋转当前块的左侧参考样本,以生成其中左侧参考样本和顶部参考样本在水平方向上排列的一维参考样本组。

如果当前块的帧内方向参数不是负的,则可以仅使用左侧参考样本或顶部参考样本来执行当前块的帧内预测。因此,对于帧内方向参数不为负的帧内预测模式,可以仅使用左侧参考样本或顶部参考样本生成一维参考样本组。

基于帧内方向参数,可以得到用于指定用于预测目标样本的至少一个参考样本的参考样本确定索引iIdx。此外,可以得到用于基于帧内方向参数确定应用于每个参考样本的权重的权重相关参数ifact。例如,等式7和等式8示出了得到参考样本确定索引和权重相关参数的示例。

[等式7]

iIdx=(y+1)*(P

ifact=[(y+1)*P

如等式7所示出的,根据方向性帧内预测模式的斜率可变地确定iIdx和ifact。在这种情况下,由iIdx指定的参考样本可以对应于整像素。

基于参考样本确定索引,可以为每个预测样本指定至少一个参考样本。例如,可以基于参考样本确定索引来指定参考样本在用于预测当前块中的预测目标样本的一维参考样本组中的位置。基于在指定位置处的参考样本,可以生成预测目标样本的预测图像(即,预测样本)。

考虑到当前块的帧内预测模式,如果仅利用一个参考样本就可以预测预测目标样本,则可以基于由当前块的帧内预测模式指定的参考样本来生成预测目标样本的预测图像。

例如,在根据帧内预测模式的角度或斜率的假想角线(imaginary angular line)穿过(cross)一维参考样本组中的整像素(即在整数位置处的参考样本)的情况下,通过复制整像素位置处的参考样本或考虑在整像素位置处的参考样本与预测目标样本之间的位置,可以生成预测目标样本的预测图像。例如,下面的等式8示出了通过复制由当前块的帧内预测模式指定的一维参考样本组中的参考样本P_ref_1D(x+iIdx+1)来生成预测目标样本的预测图像P(x,y)的示例。

[等式8]

P(x,y)=P_ref_1D(x+iIdx+1)

考虑到当前块的帧内预测模式,当确定不是仅用一个参考样本来预测预测目标样本时,可以使用多个参考样本对预测目标样本执行预测。具体地,根据当前块的帧内预测模式,可以通过对预定位置处的参考样本和与预定位置处的参考样本相邻的相邻参考样本执行线性插值或基于抽头滤波器的插值来预测预测目标样本。插值滤波器的抽头数可以是两个或更多的自然数。具体地,取决于要进行插值的参考样本的数目,抽头滤波器的抽头数目可以是2、3、4、5、6或更多的整数。

例如,根据帧内预测模式的角度或帧内预测模式的斜率的假想角线不穿过一维参考样本组中的整像素(即,整数位置处的参考样本),可以通过对放置在对应的角线上的参考样本和邻近参考样本的左/右或上/下的参考样本进行插值来生成预测目标样本的预测图像。例如,下面的等式9示出了通过对两个或更多个参考样本进行插值来为预测目标样本生成预测样本P(x,y)的示例。

[等式9]

P(x,y)=(32-i

可以基于权重相关参数i

以下等式10示出了抽头滤波器的抽头数为4的情况。

[等式10]

P(x,y)=f(0)*P_ref_1D(x+iIdx-1)+f(1)*P_ref_1D(x+iIdx)+f(2)*P_ref_1D(x+iIdx+1)+f(3)*P_ref_1D(x+iIdx+2)

在使用多抽头滤波器的情况下,在不与左侧参考样本或顶部参考样本对应的位置处的样本可以被替换为该位置处的最接近的参考样本。例如,在等式9中,在P_ref_1D(x+iIdx-1)位置处的样本与顶部参考样本不对应的情况下,可以将该样本替换为在P_ref_1D(x+idx)位置处的参考样本。可替选地,在P_ref_1D(x+iIdx+2)位置处的样本与顶部参考样本不对应的情况下,可以将该样本替换为在P_ref_1D(x+iIdx+1)位置处的参考样本。

多抽头滤波器可以应用于沿水平方向或竖直方向排列成线的多个参考样本。可替选地,可以将多抽头滤波器应用于预定的多边形例如矩形。可以根据当前块的大小、形状或帧内预测模式来可变地确定多抽头滤波器被应用于的形状。

如等式8至等式10所示出的,通过使用帧内预测的方向性插值参考样本来生成预测样本可以被称为帧内预测样本插值技术。

在使用帧内预测样本插值技术时,抽头滤波器的大抽头数不一定保证预测准确度的提高。例如,在当前块的大小是其中高度或宽度之一明显大于另一者的非对称编码单元例如2x16或小尺寸块例如4x4的情况下,使用4个或更多个抽头的抽头滤波器可能导致预测图像的过度平滑。因此,可以根据当前块的大小、形状或帧内预测模式自适应地确定抽头滤波器的类型。这里,可以通过抽头的数目、滤波器系数、滤波器强度(强/弱)或滤波方向中的至少一个来对抽头滤波器的类型进行分类。可以根据滤波器强度可变地确定滤波器抽头的数目或滤波器系数。此外,根据抽头滤波器的类型,可以确定抽头滤波器的应用方向,例如水平插值、竖直插值或水平和竖直插值。可以基于当前块中的线(行或列)或样本来可变地设置抽头滤波器的应用方向。

具体地,可以基于当前块的宽度或高度来确定要使用的抽头滤波器的类型。例如,在当前块的宽度或高度中至少之一小于预定值的情况下,可以通过使用2抽头滤波器替代4抽头滤波器来执行帧内预测样本插值技术。另一方面,在当前块的宽度和高度都大于或等于预定值的情况下,可以使用4抽头滤波器来执行帧内预测样本插值技术。在此,预定义值可以表示诸如4、8或16的值。

可替选地,可以根据当前块的宽度和高度是否相同来确定要使用的抽头滤波器的类型。例如,在当前块的宽度和高度是不同的值的情况下,可以使用2抽头滤波器替代4抽头滤波器来执行帧内预测样本插值技术。另一方面,在当前块的宽度和高度具有相同的值的情况下,可以使用4抽头滤波器来执行帧内预测样本插值技术。

可替选地,可以根据当前块的宽度和高度的比率来确定要使用的抽头滤波器的类型。例如,在当前块的宽度(w)与高度(h)的比率(即,w/h或h/w)小于预定义阈值的情况下,可以使用2抽头滤波器替代4抽头滤波器来执行帧内预测样本插值技术。另一方面,在当前块的宽度和高度的比率大于或等于预定义阈值的情况下,可以使用4抽头滤波器来执行帧内预测样本插值技术。

可替选地,可以根据当前块的帧内预测模式、形状或大小来确定抽头滤波器的类型。例如,在当前块是2x16类型的编码单元并且当前块的帧内预测模式是属于水平范围的帧内预测模式的情况下,可以使用具有抽头数n的抽头滤波器来执行帧内预测样本插值技术。另一方面,在当前块是2x16类型的编码单元并且当前块的帧内预测模式是属于竖直方向范围的帧内预测模式的情况下,可以使用具有抽头数m的抽头滤波器来执行帧内预测样本插值技术。

另一方面,在当前块是16x2类型的编码单元并且当前块的帧内预测模式是属于水平方向范围的帧内预测模式的情况下,可以使用具有抽头数n的抽头滤波器来执行帧内预测样本插值技术。另一方面,在当前块是16x2类型的编码单元并且当前块的帧内预测模式是属于竖直方向范围的帧内预测模式的情况下,可以使用具有抽头数m的抽头滤波器来执行帧内预测样本插值技术。

这里,水平范围可以指示包括水平方向上的帧内预测模式的预定范围,而竖直范围可以指示包括竖直方向上的帧内预测模式的预定范围。例如,基于35个帧内预测模式,水平方向范围可以指示模式11与模式18之间的帧内预测模式,竖直方向范围可以指示模式19与模式27之间的帧内预测模式。

此外,n和m是大于0的常数,并且n和m可以具有不同的值。可替选地,n和m可以被设置为具有相同的值,但是n抽头滤波器和m抽头滤波器的滤波器系数或滤波器强度中的至少之一可以被不同地设置。

可以将一个块分割为多个子块,并且可以以子块为单位执行帧内预测。在这种情况下,属于一个块的子块可以具有相同的帧内预测模式。但是,每个子块所参考的参考样本的范围可能不同。也就是说,在图10所示出的示例中,可以以子块为单位来执行参考样本得到步骤S1010和帧内预测执行步骤S1020。

包括多个子块的块可以是编码块、预测块或变换块。可替选地,包括多个子块的块可以是共享相同帧内预测模式和相同MPM候选列表的预定区域。

包括多个子块的块(或区域)的大小和形状可以具有在编码器和解码器中预定义的NxM形状。这里,N和M作为自然数可以相同也可以不同。

可替选地,可以通过比特流来用信号发送用于指定包括多个子块的块(或区域)的大小和形状的信息。可以基于用信号发送的信息来可变地确定包括多个子块的块(或区域)的大小和形状。

为了便于描述,包括多个子块的帧内预测目标块(或区域)将被称为当前块。下文中将详细描述以子块为单位执行帧内预测的方法。

图14是示出基于子块执行帧内预测的方法的流程图。

参照图14,首先,可以确定当前块的分割类型S1410。

可以基于当前块的大小、形状或帧内预测模式中的至少一个来确定当前块的分割类型。例如,在当前块的帧内预测模式是竖直方向或类似于竖直方向的情况下,当前块的分割类型可以具有其中子块上下排列的形式。另一方面,在当前块的帧内预测模式是水平方向或类似于水平方向的情况下,当前块的分割类型可以具有子块左右排列的形式。这里,类似于特定方向的帧内预测模式可以是其角度在相对于特定方向的预定角度内的帧内预测模式或者是其与特定方向的帧内预测模式的模式值差在预定值内的帧内预测模式。

图15是示出根据帧内预测模式的子块的分割类型的图。

如图15所示出的示例,在当前块具有右上方向上的帧内预测模式的情况下,可以将当前块分割为宽度比高度长(NxM形状,其中N>M)的子块。另一方面,在当前块具有左上方向上的帧内预测模式的情况下,可以将当前块分割为高度比宽度长的子块(NxM形状,其中N

作为另一示例,取决于当前块的帧内预测模式是否具有特定方向,可以确定编码块的分割类型。例如,在当前块具有右上方向上的帧内预测模式的情况下,可以将当前块的分割类型确定为上下排列的子块。另一方面,在当前块具有除右上方向上的帧内预测模式以外的帧内预测模式的情况下,可以将当前块的分割类型确定为左右排列的子块。

可替选地,可以通过比特流用信号发送指示当前块的分割类型的信息。在这种情况下,指示分割类型的信息可以包括用于指定分割类型的索引、指示子块的大小和形状的信息或指示当前块的分割方向的信息中的至少一个。

子块可以是正方形或非正方形。可替选地,也可以通过基于行或列对当前块进行分割或者通过基于多行或多列对当前块进行分割来生成子块。

在通过对当前块进行分割来生成多个子块时,可以基于子块来执行帧内预测S1420。在这种情况下,可以根据子块的位置依次执行帧内预测。

图16和图17是示出基于子块执行帧内预测的示例的图。

为了基于子块执行帧内预测,可以将一个块分割为多个子块。尽管在图16和图17所示的示例中示出了将编码块分割为两个子块,但是也可以将编码块分割为更多数目的子块。

多个子块可以具有相同的帧内预测模式。例如,第一子块的帧内预测模式和第二子块的帧内预测模式两者都可以是右上方向上的帧内预测模式。

可以使用与编码块相邻的参考样本来执行多个子块中的与当前块的顶部边界或左侧边界相邻的第一子块的帧内预测。作为示例,可以根据帧内预测模式使用与编码块相邻的顶部参考样本或左侧参考样本中的至少一个来对第一子块执行帧内预测。

在执行第一子块的帧内预测之后,可以通过将包括在第一子块中的样本设置为参考样本来执行与第一子块相邻的第二子块的帧内预测。例如,可以将位于与第二子块相邻的第一子块的底部边界处的样本设置为用于第二子块的帧内预测的参考样本。在这种情况下,第一子块的样本可以是预测样本、残差样本或者通过使用第一子块的预测样本和残差样本而重构的重构样本。

作为示例,在图17所示出的示例中,示出了将与第二子块的顶部相邻的相邻样本设置为第二子块的参考样本(在图17中表示为“第二参考样本”)。

可替选地,第二子块的帧内预测可以包括使用与当前块相邻的参考样本的第一帧内预测和使用第一子块中的参考样本的第二帧内预测。例如,可以根据基于第一帧内预测而生成的第一预测样本与基于第二帧内预测而生成的第二预测样本之间的加权和来得到第二子块中的预测样本。在这种情况下,应用于第一预测样本和第二预测样本的权重可以具有相同的值或者可以根据与预测目标样本的距离来不同地设置。

可以通过逆量化和逆变换来获得对其执行帧内预测的当前块的残差样本。在这种情况下,在对当前块应用多个变换的情况下,可以根据变换顺序来可变地确定应用变换的单元。例如,可以基于编码块执行第一变换,并且可以基于子块执行第二变换。在这种情况下,可以通过使用在第一子块中应用第二变换的样本(即,残差样本)来配置第二子块的参考样本。例如,第二子块的参考样本可以得到为第一子块中的残差样本和预测样本的总和。

取决于帧内预测模式,可能会出现未预测或重构的位置的样本应当被用作参考样本的情况。例如,在图17所示出的示例中,与第二子块的右上角相邻的样本和位于样本右侧的样本很可能是尚未预测或重构的样本。在这种情况下,可以用位于第一子块的右侧边界处的样本或第一子块中包括的预定数目的样本的插值来替换未被预测或重构的样本。

当通过对第一子块进行帧内预测来生成第一子预测块并且通过对第二子块进行帧内预测来生成第二子预测块时,可以通过合并第一子预测块和第二子预测块来生成当前块的预测块。

可以根据当前块的大小、形状或帧内预测模式来自适应地确定是否基于子块执行当前块的帧内预测。例如,可以根据当前块的帧内预测模式是否是特定方向上的方向性模式来确定是否基于子块来执行当前块的帧内预测。

可替选地,可以对指示是否基于子块执行当前块的帧内预测的信息进行编码并且通过比特流用信号发送。可以基于块来用信号发送该信息或者可以基于切片或图片来用信号发送该信息。

在上面描述的实施方式中,假设将一个帧内预测模式应用于当前块。然而,可以通过使用多个帧内预测模式对当前块执行帧内预测。这里,多个帧内预测模式可以由非方向性帧内预测模式与至少一个方向性帧内预测模式的组合、多个方向性帧内预测模式的组合或多个非方向性帧内预测模式的组合来表示。

例如,可以对当前块中的每个预测目标样本应用不同的帧内预测模式或不同的方向性帧内预测模式。为了确定每个预测目标样本的帧内预测模式,可以通过比特流来用信号发送指示与先前预测目标样本的帧内预测模式差异值的信息。

例如,可以将当前块分割为多个区域,并且可以对所分割的区域应用不同的帧内预测模式。这里,多个区域可以表示预定数目的样本单元和预定大小/形状的块单元。例如,可以将当前块分割为具有预定形状/大小的多个子块。可替选地,可以通过将当前块分割为预定的行/列单元来生成多个区域。例如,将包括当前块的两侧的边界上的行/列的区域设置为第一区域,并且将其他区域设置为第二区域,使得可以对第一区域和第二区域应用不同的帧内预测模式。可以根据当前预测块的大小、样本的数目等可变地确定多个区域,或者无论这些元件如何,所述多个区域可以具有在编码器和解码器中预定义的固定数目。

例如,本公开还可以包括以下方案:

方案1.一种用于解码视频的方法,所述方法包括:

确定当前块的帧内预测模式;

将所述当前块分割为多个子块,所述多个子块共享所述当前块的帧内预测模式;以及

依次对所述多个子块执行帧内预测。

方案2.根据方案1所述的解码方法,

其中,通过使用与所述当前块相邻的参考样本来执行所述多个子块中与所述当前块的顶部边界或左侧边界相邻的第一子块的帧内预测。

方案3.根据方案2所述的解码方法,

其中,通过使用所述第一子块中的重构样本作为参考样本来执行所述多个子块中与所述第一子块相邻的第二子块的帧内预测。

方案4.根据方案1所述的解码方法,

其中,根据所述当前块的帧内预测模式可变地确定所述多个子块的形状。

方案5.根据方案4所述的解码方法,

其中,在所述当前块的帧内预测模式为竖直方向的情况下,所述当前块被分割为使得所述多个子块上下排列,并且在所述当前块的帧内预测模式为水平方向的情况下,所述当前块被分割为使得所述多个子块左右排列。

方案6.根据方案1所述的解码方法,

其中,基于指示所述当前块的分割类型的语法元素来确定所述多个子块的形状。

方案7.根据方案1所述的解码方法,

其中,通过基于列或行对所述当前块进行分割来获得所述多个子块。

方案8.根据方案1所述的解码方法,

其中,根据所述当前块的大小、形状或帧内预测模式来确定是否将所述当前块分割为多个子块。

方案9.一种用于编码视频的方法,所述方法包括:

确定当前块的帧内预测模式;

将所述当前块分割为多个子块,所述多个子块共享所述当前块的帧内预测模式;以及

依次对所述多个子块执行帧内预测。

方案10.根据方案9所述的编码方法,

其中,通过使用与所述当前块相邻的参考样本来执行所述多个子块中与所述当前块的顶部边界或左侧边界相邻的第一子块的帧内预测。

方案11.根据方案10所述的编码方法,

其中,通过使用所述第一子块中的重构样本作为参考样本来执行所述多个子块中与所述第一子块相邻的第二子块的帧内预测。

方案12.根据方案9所述的编码方法,

其中,根据所述当前块的帧内预测模式可变地确定所述多个子块的形状。

方案13.根据方案9所述的编码方法,

其中,将指示所述当前块的分割类型的语法元素编码在比特流中。

方案14.一种图像解码装置,包括:

帧内预测单元,其被配置成:

确定当前块的帧内预测模式,

将所述当前块分割为多个子块,以及

依次对所述多个子块执行帧内预测,其中,所述多个子块共享所述当前块的帧内预测模式。

方案15.一种图像编码装置,包括:

帧内预测单元,其被配置成:

确定当前块的帧内预测模式,

将所述当前块分割为多个子块,以及

依次对所述多个子块执行帧内预测,其中,所述多个子块共享所述当前块的帧内预测模式。

尽管上面描述的实施方式是基于一系列步骤或流程图进行描述的,但这并不限制本发明的时间顺序,并且可以根据需要同时或以不同的顺序执行。此外,在上面描述的实施方式中,构成框图的每个部件(例如,单元、模块等)可以实现为硬件装置或软件,并且多个部件可以进行组合以实现为一个硬件装置或软件。上面描述的实施方式可以以可由各种计算机部件执行并且可以记录在计算机可读记录介质中的程序指令的形式实现。计算机可读记录介质可以包括单独的程序指令、数据文件、数据结构等或者包括其组合。计算机可读记录介质的示例包括诸如硬盘、软盘和磁带的磁性介质、诸如CD-ROM、DVD的光学记录介质和诸如软盘的磁光介质以及专门配置以用于存储和执行程序指令的硬件装置例如ROM、RAM、闪存等。硬件装置可以被配置为作为一个或更多个软件模块来操作以执行根据本发明的处理,反之亦然。

工业适用性

本发明可应用于能够编码/解码图像的电子装置。

相关技术
  • 一种视频编码方法、解码方法、装置及电子设备
  • 全方位视频的解码方法、编码方法及电子设备
  • 视频图像编码和解码的方法、装置及设备
  • 一种视频编码、解码方法、装置、电子设备及系统
  • 运动向量推断方法、多视点视频编码方法、多视点视频解码方法、运动向量推断装置、多视点视频编码装置、多视点视频解码装置、运动向量推断程序、多视点视频编码程序及多视点视频解码程序
  • 用于编码3D视频信号的方法和系统,用于编码3D视频信号的编码器,编码的3D视频信号,用于解码3D视频信号的方法和系统,用于解码3D视频信号的解码器
技术分类

06120116506839