CN118044190A - 视频信号编码/解码方法以及存储有比特流的记录介质 - Google Patents
视频信号编码/解码方法以及存储有比特流的记录介质 Download PDFInfo
- Publication number
- CN118044190A CN118044190A CN202280063816.1A CN202280063816A CN118044190A CN 118044190 A CN118044190 A CN 118044190A CN 202280063816 A CN202280063816 A CN 202280063816A CN 118044190 A CN118044190 A CN 118044190A
- Authority
- CN
- China
- Prior art keywords
- prediction
- information
- block
- current block
- prediction information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 183
- 238000005192 partition Methods 0.000 claims description 236
- 239000013598 vector Substances 0.000 description 187
- 239000000523 sample Substances 0.000 description 65
- 239000013074 reference sample Substances 0.000 description 32
- 230000008569 process Effects 0.000 description 22
- 230000002123 temporal effect Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000008707 rearrangement Effects 0.000 description 14
- 238000001914 filtration Methods 0.000 description 12
- 230000011218 segmentation Effects 0.000 description 12
- 239000000470 constituent Substances 0.000 description 10
- 230000015654 memory Effects 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 7
- 238000000638 solvent extraction Methods 0.000 description 7
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical group COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
根据本公开内容的图像解码方法可以包括以下步骤:生成关于当前块的预测信息合并列表;基于索引信息从预测信息合并列表中包括的预测信息合并候选中选择一个;以及基于所选择的预测信息合并候选的预测信息获得当前块的预测块。
Description
技术领域
本公开内容涉及视频信号处理方法和装置。
背景技术
近来,在各种应用领域中对高分辨率、高质量图像(例如高清晰度(HD)图像和超高清晰度(UHD)图像)的需求已经增加。随着视频数据的分辨率和质量提高,数据量相对于现有视频数据增加,因此当视频数据使用诸如常规的有线宽带线路或无线宽带线路的介质传输或使用常规的存储介质存储时,传输成本和存储成本增加。高效视频压缩技术可以用于解决随着视频数据的分辨率和质量提高而出现的这样的问题。
存在各种视频压缩技术,例如,根据当前图片之前或之后的图片来预测包括在当前图片中的像素值的帧间预测技术、使用当前图片中的像素信息来预测包括在当前图片中的像素值的帧内预测技术、以及将短码分配给具有高出现频率的值并将长码分配给具有低出现频率的值的熵译码技术。通过使用这些视频压缩技术,可以高效地压缩和传输或存储视频数据。
同时,随着对高分辨率视频的需求增加,对作为新的视频服务的三维视频内容的需求也增加。正在进行关于用于高效提供高分辨率和超高分辨率的三维视频内容的视频压缩技术的讨论。
发明内容
技术问题
本公开内容是鉴于上述问题而提出的,并且本公开内容的目的是提供一种基于先前重构的图片在解码器侧上执行运动估计的方法以及用于执行该方法的装置。
本公开内容的另一目的是提供将当前块分割成多个分区并且然后获得每个分区的预测信息的方法、以及用于执行该方法的装置。
本公开内容的另一目的是提供一种可以通常用于帧内预测和帧间预测的合并模式。
要由本公开内容实现的目的不限于上面提到的目的,并且本领域技术人员从以下描述中可以清楚地理解未提到的其他目的。
技术解决方案
根据本公开内容的一方面,上述和其他目的可以通过提供一种视频解码方法来实现,该视频解码方法包括:针对当前块生成预测信息合并列表;基于索引信息选择预测信息合并列表中包括的预测信息合并候选之一;以及基于关于所选择的预测信息合并候选的预测信息来获得针对当前块的预测块。此处,预测信息可以包括译码模式(coding mode)信息,在译码模式信息指示帧内预测的情况下,预测信息还可以包括帧内预测模式信息,并且在译码模式信息指示帧间预测的情况下,预测信息还可以包括运动信息。
根据本公开内容的另一方面,提供了一种视频编码方法,该视频编码方法包括:针对当前块生成预测信息合并列表;从包括在预测信息合并列表中的预测信息合并候选当中选择与关于当前块的预测信息相同的预测信息合并候选;以及对指示所选择的预测信息合并候选的索引信息进行编码。此处,预测信息可以包括译码模式信息,在译码模式信息指示帧内预测的情况下,预测信息还可以包括帧内预测模式信息,并且在译码模式信息指示帧间预测的情况下,预测信息还可以包括运动信息。
在根据本公开内容的视频解码/编码方法中,可以基于关于与当前块相邻的邻近块的预测信息来得出预测信息合并候选。
在根据本公开内容的视频解码/编码方法中,分配给预测信息合并列表中的预测信息合并候选中的每一个的索引可以基于用来得出预测信息合并候选的邻近块的成本来确定。
在根据本公开内容的视频解码/编码方法中,成本可以基于邻近块内重构样本与预测样本之间的差的绝对值之和来计算。
在根据本公开内容的视频解码/编码方法中,成本可以基于邻近块内的预定义区域中包括的重构样本与预测样本之间的差的绝对值之和来计算。
在根据本公开内容的视频解码/编码方法中,指示是否将预测信息合并模式应用于当前块的标志可以通过比特流显式地用信号通知。
在根据本公开内容的视频解码/编码方法中,在当前块被分割成多个分区的情况下,索引信息可以针对分区中的每一个用信号通知。
在根据本公开内容的视频解码/编码方法中,当前块可以由两条分割线分割,并且用于识别两条分割线中的每条分割线的方向和位置的信息可以被显式地用信号通知。
在根据本公开内容的视频解码/编码方法中,多个分区当中的邻近分区可以具有不同的预测信息。
上面关于本公开内容简要概述的特征仅是下面描述的本公开内容的详细描述的示例性方面,并且不对本公开内容的范围进行限制。
技术效果
根据本公开内容,可以通过在解码器侧基于预先重构的图片执行运动估计来减少信令开销。
根据本公开内容,可以通过针对每个分区执行预测来提高预测精度。
根据本公开内容,提供了一种可以通常用于帧内预测和帧间预测的合并模式,从而减少了对预测信息进行编码/解码所需的比特的数目。
可以从本公开内容获得的效果不限于上面提及的效果,并且本领域技术人员可以从下面的描述中清楚地了解未提及的其他效果。
附图说明
图1是示出根据本公开内容的实施方式的图像编码装置的框图。
图2是示出根据本公开内容的实施方式的图像解码装置的框图。
图3至图11示出根据本公开内容的块分割方法。
图12示出其中执行运动估计的示例。
图13和图14示出其中基于通过运动估计生成的运动信息来生成针对当前块的预测块的示例。
图15示出得出运动矢量预测值所参考的位置。
图16是示出基于模板的运动估计方法的图。
图17示出模板配置的示例。
图18是示出基于双向匹配方法的运动估计方法的图。
图19是示出基于单向匹配方法的运动估计方法的图。
图20示出预定义的帧内预测模式。
图21示出其中以平面模式生成预测样本的示例。
图22示出其中以DC模式生成预测样本的示例。
图23示出其中以方向帧内预测模式生成预测样本的示例。
图24示出其中使用模板得出帧内预测模式的示例。
图25是在当前块被分割成多个分区的情况下执行帧间预测的过程的流程图。
图26是示出通过其得出运动信息候选的过程的图。
图27示出其中使用模板对每个分区执行运动估计的示例。
图28是在当前块被分割成多个分区时执行帧内预测的过程的流程图。
图29是根据本公开内容的实施方式执行预测信息合并模式的过程的流程图。
图30是示出用于得出预测信息合并候选的邻近块的图。
图31示出其中基于减小的区域计算邻近块的成本的示例。
具体实施方式
由于本公开内容可以作出各种改变且具有若干实施方式,因此将在图中说明并且详细描述特定实施方式。但是并不旨在将本公开内容限于特定实施方式,并且应当理解,本公开内容包括包含在本公开内容的构思和技术范围中的所有变化、等同物或替代物。在描述每个附图时,相似的附图标记用于相似的部件。
可以使用诸如第一、第二等的术语来描述各种部件,但是部件不应受术语限制。术语仅用于区分一个部件与其他部件。例如,在不超出本公开内容的权利的范围的情况下,第一部件可以被称为第二部件,并且类似地,第二部件也可以被称为第一部件。术语和/或包括多个相对输入项的组合或者多个相对输入项的任何项。
在部件被称为“链接”或“连接”至其他部件时,应当理解,该部件可以直接链接或连接至该其他部件,但是其他部件可以存在于中间。另一方面,在部件被称为“直接链接”或“直接连接”至其他部件时,应当理解,在中间不存在其他部件。
因为本申请中使用的术语仅用于描述特定实施方式,所以其不旨在限制本公开内容。单数的表达包括复数的表达,除非其在上下文中清楚地具有不同的含义。在本申请中,应当理解,诸如“包括”或“具有”等术语是指在说明书中输入的特性、数字、步骤、运动、部件、部分或其组合的存在,但不排除一个或更多个其他特性、数字、步骤、运动、部件、部分或其组合的提前添加或存在的可能性。
在下文中,参照附图,将更详细地描述本公开内容的期望的实施方式。在下文中,在图中相同的附图标记用于相同的部件,并且省略对同一部件的重复描述。
图1是示出根据本公开内容的实施方式的图像编码装置的框图。
参照图1,图像编码装置(100)可以包括:图片分割单元(110)、预测单元(120)和预测单元(125)、变换单元(130)、量化单元(135)、重新排列单元(160)、熵编码单元(165)、去量化单元(140)、逆变换单元(145)、滤波器单元(150)和存储器(155)。
由于图1中示出的每个构造单元被独立地示出以表示图像编码装置中的不同特性功能,这并不意味着每个构造单元由分开的硬件或一个软件单元构成。也就是说,由于为了便于描述而通过被列举为每个构造单元来包括每个构造单元,因此每个构造单元的至少两个构造单元可以被组合以构成一个构造单元,或者一个构造单元可以被划分成多个构造单元以执行功能,并且甚至每个构造单元的集成实施方式和单独实施方式也包括在本公开内容的权利的范围内,只要它们不脱离本公开内容的实质。
此外,一些部件可以仅是用于改进性能的可选部件,而不是执行本公开内容中的基本功能的必要部件。可以通过仅包括实现本公开内容的实质所必需的构造单元而排除仅用于改进性能的部件来实现本公开内容,并且仅包括必要部件而排除仅用于改进性能的可选部件的结构也包括在本公开内容的权利的范围中。
图片分割单元(110)可以将输入图片分割为至少一个处理单元。在该情况下,处理单元可以是预测单元(PU)、变换单元(TU)或译码单元(CU)。在图片分割单元(110)中,可以将一个图片分割为多个译码单元、预测单元和变换单元的组合,并且可以通过根据预定标准(例如,成本函数)选择一个译码单元、预测单元和变换单元的组合对图片进行编码。
例如,可以将一个图片分割为多个译码单元。为了在图片中分割译码单元,可以使用诸如四叉树、三叉树或二叉树的递归树结构,并且通过使用一个图像或最大译码单元作为根而被分割为其他译码单元的译码单元可以以与所分割的译码单元的数目一样多的子节点来分割。根据特定限制不再被分割的译码单元成为叶节点。在示例中,当假设对一个译码单元应用四叉树分割时,一个译码单元可以被分割成多达四个其他译码单元。
下文中,在本公开内容的实施方式中,译码单元可以用作用于编码的单元,或者可以用作用于解码的单元。
预测单元可以在一个译码单元中以相同大小以至少一个方形或矩形形状等进行分割,或者可以被分割为使得在一个译码单元中分割的预测单元中的任何一个预测单元可以具有与另一预测单元不同的形状和/或大小。
在帧内预测中,变换单元可以被配置成与预测单元相同。在这种情况下,在将译码单元分割成多个变换单元之后,可以对每个变换单元执行帧内预测。可以在水平方向或垂直方向上分割译码单元。根据译码单元的大小,通过分割译码单元生成的变换单元的数目可以是2个或4个。
预测单元(120,125)可以包括执行帧间预测的帧间预测单元(120)以及执行帧内预测的帧内预测单元(125)。可以确定对译码单元执行帧间预测还是帧内预测,并且可以确定根据每个预测方法的详细信息(例如,帧内预测模式、运动矢量、参考图片等)。在这种情况下,执行预测的处理单元可以不同于确定预测方法和具体内容的处理单元。例如,可以在译码单元中确定预测方法、预测模式等,并且可以在预测单元或变换单元中执行预测。所生成的预测块与原始块之间的残差值(残差块)可以被输入至变换单元(130)。此外,用于预测的预测模式信息、运动矢量信息等可以在熵编码单元(165)中与残差值一起被编码并且可以被发送至解码装置。当使用特定编码模式时,可以在不通过预测单元(120,125)生成预测块的情况下按原样编码原始块并且将其发送至解码单元。
帧间预测单元(120)可以基于关于当前图片的先前图片或后续图片中的至少一个图片的信息来预测预测单元,或者在一些情况下可以基于关于当前图片中的一些编码区域的信息来预测预测单元。帧间预测单元(120)可以包括参考图片插值单元、运动预测单元和运动补偿单元。
参考图片插值单元可以从存储器(155)接收参考图片信息,并且生成等于或小于参考图片中的整数像素的像素信息。对于亮度像素,可以使用具有不同滤波器系数的基于DCT的8抽头插值滤波器来以1/4像素为单位生成等于或小于整数像素的像素信息。对于色度信号,可以使用具有不同滤波器系数的基于DCT的4抽头插值滤波器来以1/8像素为单位生成等于或小于整数像素的像素信息。
运动预测单元可以基于由参考图片插值单元插值的参考图片来执行运动预测。作为用于计算运动矢量的方法,可以使用诸如FBMA(基于全搜索的块匹配算法)、TSS(三步搜索)、NTS(新三步搜索算法)等的各种方法。基于插值像素,运动矢量可以具有1/2或1/4像素单位的运动矢量值。运动预测单元可以通过改变运动预测方法来预测当前预测单元。作为运动预测方法,可以使用诸如跳过方法、合并方法、高级运动矢量预测(AMVP)方法、帧内块复制方法等的各种方法。
帧内预测单元(125)可以基于作为当前图片中的像素信息的参考像素信息来生成预测单元。可以从多个参考像素线中选择的一个参考像素线中得出参考像素信息。多个参考像素线当中的第N个参考像素线可以包括与当前块中左上像素的x轴差值为N的左侧像素和与左上像素的y轴差值为N的顶部像素。可以由当前块选择的参考像素线的数目可以是1、2、3或4。
在当前预测单元中的相邻块是执行帧间预测的块并且因此参考像素是执行帧间预测的像素时,可以通过用执行了帧内预测的周围块的参考像素信息进行替换来使用执行了帧间预测的块中包括的参考像素。换言之,当参考像素不可用时,可以通过用可用参考像素的至少一个信息进行替换来使用不可用的参考像素信息。
帧内预测的预测模式可以具有在执行预测时使用根据预测方向的参考像素信息的方向预测模式和不使用方向信息的非方向模式。用于预测亮度信息的模式可以不同于用于预测色度信息的模式,并且用于预测亮度信息的帧内预测模式信息或经预测的亮度信号信息可以用于预测色度信息。
当在执行帧内预测时预测单元的大小与变换单元的大小相同时,可以基于预测单元的左侧位置处的像素、左上位置处的像素和顶部位置处的像素来执行预测单元的帧内预测。
帧内预测方法可以在根据预测模式对参考像素应用平滑滤波器之后生成预测块。根据选择的参考像素线,可以确定是否应用平滑滤波器。
为了执行帧内预测方法,可以根据当前预测单元周围的预测单元中的帧内预测模式来预测当前预测单元中的帧内预测模式。在通过使用根据周围预测单元预测的模式信息来预测当前预测单元中的预测模式时,如果当前预测单元中的帧内预测模式与周围预测单元中的帧内预测模式相同,则可以通过使用预定标志信息来发送当前预测单元中的预测模式与周围预测单元中的预测模式相同的信息,并且如果当前预测单元中的预测模式与周围预测单元中的预测模式不同,则可以通过执行熵编码来编码当前块的预测模式信息。
此外,可以生成包括关于残差值的信息的残差块,该残差值是基于在预测单元(120,125)中生成的预测单元执行预测的预测单元与预测单元中的原始块之间的差值。可以将所生成的残差块输入至变换单元(130)。
变换单元(130)可以通过使用诸如DCT(离散余弦变换)、DST(离散正弦变换)、KLT的变换方法来变换原始块和下述残差块,所述残差块包括通过预测单元(120,125)生成的预测单元中的残差值信息。可以基于变换单元的大小、变换单元的形式、预测单元中的预测模式或预测单元中的帧内预测模式信息中的至少一个来确定是否应用DCT、DST或KLT以对残差块进行变换。
量化单元(135)可以对在变换单元(130)中被变换到频域的值进行量化。量化系数可以根据块或图像的重要性而改变。在量化单元(135)中计算的值可以被提供给去量化单元(140)和重新排列单元(160)。
重新排列单元(160)可以对量化后的残差值执行系数值的重新排列。
重新排列单元(160)可以通过系数扫描方法将呈二维块的形状的系数改变成一维矢量的形状。例如,重新排列单元(160)可以通过使用Z字形扫描方法将DC系数扫描到高频域中的系数,并且将其改变成一维矢量的形状。根据变换单元的大小和帧内预测模式,代替Z字形扫描,可以使用在列方向上扫描呈二维块形状的系数的垂直扫描、在行方向上扫描呈二维块形状的系数的水平扫描、或在对角线方向上扫描呈二维块形状的系数的对角线扫描。换言之,可以根据变换单元的大小和帧内预测模式来确定将使用Z字形扫描、垂直方向扫描、水平方向扫描或对角线扫描当中的哪个扫描方法。
熵编码单元(165)可以基于由重新排列单元(160)计算的值来执行熵编码。例如,熵编码可以使用各种编码方法,例如指数哥伦布(Exponential Golomb)、CAVLC(上下文自适应可变长度编码)和CABAC(上下文自适应二进制算术编码)。
熵编码单元(165)可以对来自重新排列单元(160)以及预测单元(120,125)的诸如译码单元中的残差值系数信息和块类型信息、预测模式信息、分割单元信息、预测单元信息和传输单元信息、运动矢量信息、参考帧信息、块插值信息、滤波信息等的各种信息进行编码。
熵编码单元(165)可以对从重新排列单元(160)输入的译码单元中的系数值执行熵编码。
去量化单元(140)和逆变换单元(145)对在量化单元(135)中量化的值进行去量化并且对在变换单元(130)中变换的值进行逆变换。由去量化单元(140)和逆变换单元(145)生成的残差值可以与由包括在预测单元(120,125)中的运动预测单元、运动补偿单元和帧内预测单元预测的预测单元进行组合,以生成重构块。
滤波器单元(150)可以包括去块滤波器、偏移校正单元和自适应环路滤波器(ALF)中的至少一个。
去块滤波器可以去除由重构图片中的块之间的边界生成的块失真。为了确定是否执行去块,可以基于块中包括的若干行或列中包括的像素来确定是否将去块滤波器应用于当前块。当对块应用去块滤波器时,可以根据所需的去块滤波强度来应用强滤波器或弱滤波器。此外,在应用去块滤波器的情况下,当执行水平滤波和垂直滤波时,水平方向滤波和垂直方向滤波可以被设置成并行处理。
偏移校正单元可以针对执行去块的图像以像素为单位校正与原始图像的偏移。为了对特定图片执行偏移校正,可以在将包括在图像中的像素划分为一定数目的区域之后确定将执行偏移的区域,并且可以使用将偏移应用于相应区域的方法或者通过考虑每个像素的边缘信息来应用偏移的方法。
可以基于通过将经滤波的重构图像与原始图像进行比较获得的值来执行自适应环路滤波(ALF)。在将包括在图像中的像素划分成预定组之后,可以通过确定将被应用于相应组的一个滤波器来有区别地对每组执行滤波。与是否应用ALF有关的信息可以针对亮度信号按译码单元(CU)发送,并且要应用的ALF滤波器的形状和滤波器系数可以根据每个块而不同。此外,不管要应用的块的特性如何,都可以应用呈相同形状(固定形状)的ALF滤波器。
存储器(155)可以存储通过滤波器单元(150)计算的重构块或图片,并且在执行帧间预测时,可以将所存储的重构块或图片提供给预测单元(120,125)。
图2是示出根据本公开内容的实施方式的图像解码装置的框图。
参照图2,图像解码装置(200)可以包括熵解码单元(210)、重新排列单元(215)、去量化单元(220)、逆变换单元(225)、预测单元(230,235)、滤波器单元(240)和存储器(245)。
当从图像编码装置输入图像比特流时,可以根据与图像编码装置的过程相反的过程来对输入比特流进行解码。
熵解码单元(210)可以根据与在图像编码装置的熵编码单元中执行熵编码的过程相反的过程来执行熵解码。例如,响应于图像编码装置中执行的方法,可以应用诸如指数哥伦布(Exponential 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)可以存储重构图片或块以用作参考图片或参考块,并且将重构图片提供至输出单元。
如上所述,为了便于描述,在本公开内容的实施方式中,下文中术语“译码单元”被用作编码单元,但其也可以是执行解码的单元。
此外,当前块表示编码/解码目标块,并且取决于编码/解码阶段,当前块可以表示译码树块(或译码树单元)、译码块(或译码单元)、变换块(或变换单元)、预测块(或预测单元)或应用环路内滤波器的块。在本说明书中,“单元”可以表示用于执行特定编码/解码过程的基本单元,并且“块”可以表示预定大小的像素阵列。除非另有说明,否则“块”和“单元”可以以相同的含义使用。例如,在稍后将描述的实施方式中,译码块和译码单元可以被理解为具有等同的含义。
此外,包括当前块的图片将被称为当前图片。
图3至图11示出根据本公开内容的块分割方法。
在稍后将描述的实施方式中,“块”是编码/解码目标,并且可以表示译码块、预测块或变换块中的任何一个。
此外,可以通过对块进行分割来生成矩形分区或非矩形分区。这些分区可以被设置为用于执行特定编码/解码过程的基本单元。作为示例,每个分区可以被设置为译码单元、预测单元或变换单元。
可以通过树结构将一个块分割为具有各种大小和形状的多个块。被分割的块还可以被重新分割为具有各种大小和形状的多个块。通过这种方式,可以将对块进行递归分割定义为基于“树结构”的分割。
可以基于预定的分割信息来执行基于树结构的分割。此处,分割信息可以由编码装置编码并通过比特流传输,或者可以通过编码/解码装置得出。分割信息可以包括指示是否对块进行分割的信息(下文中称为分割标志)。当分割标志指示块的分割时,块被分割,并且过程以编码顺序进行到下一个块。此处,下一个块是指在被分割的块当中将首先对其执行编码的块。如果分割标志指示块不被分割,则对关于该块的译码信息进行编码,然后取决于下一个块的存在与否,使块分割过程进行到下一个块或结束。
分割信息可以包括关于树分割的信息。下文中,将描述用于块分割的树分割方法。
二叉树(BT)分割方法是将块分割为两个分区的方法。由两个分区生成的块可以具有相同的大小。图3示出通过BT标志对块进行BT分割的示例。
可以通过BT标志来确定是否分割块。例如,如果BT标志为0,则终止BT分割。另一方面,如果BT标志为1,则可以使用指示分割方向的Dir(方向)标志将块分割为两个块。
此外,被分割的块可以由深度信息表示。图4示出深度信息的示例。
图4中的(a)是示出通过BT分割和深度信息的值分割块(400)的过程的示例。每当块被分割时,深度信息的值可以增加1。在具有深度N的块被分割为具有深度(N+1)的块的情况下,可以将具有深度N的块称为具有深度(N+1)的块的父块。另一方面,将具有深度(N+1)的块称为具有深度N的块的子块。这同样可以应用于稍后将描述的树结构。图4中的(b)示出了块(400)当如在(a)中那样使用BT被分割时的最终分割形状。
三叉树(TT)分割方法是将块分割为三个子块的方法。此时,子块可以具有1:2:1的比例。图5示出通过TT标志对块进行TT分割的示例。
可以通过TT标志来确定是否分割块。例如,如果TT标志为0,则终止TT分割。另一方面,如果TT标志为1,则可以使用Dir标志在水平或垂直方向上将块分割为三个子块。
四叉树(QT)分割方法是将块分割为四个子块的方法。四个子块可以具有相同的大小。图6示出通过QT标志对块进行QT分割的示例。
通过QT标志来确定是否分割块。例如,如果QT标志为0,则终止QT分割。另一方面,如果QT标志为1,则可以将块分割为四个子块。
除了图4至图6所示的BT分割、TT分割和QT分割之外,可以以各种方式对一个块进行分割。
除了水平或垂直方向之外,对象之间或背景与对象之间的边界可以具有各种方向。考虑到这一点,除了如图4至图6所示的水平分割、垂直分割或水平分割和垂直分割的组合之外,还可以在对角线方向上对块进行分割。
图7至图11是示出在对角线方向上分割块的示例的图。
图7是示出对块进行分割的分割线所放置的方向的示例,并且图8是示出分割线的位置的示例。
在图7中,示出32个分割方向,并将不同的模式编号(0至31)分配给分割方向。此外,在图8中,穿过块的中心点的分割线被称为具有距离0的分割线,并且假设根据与中心线的距离存在具有距离1至距离3的分割线。
块可以由与图7所示分割方向垂直的分割线来分割。此时,为了防止具有相反分割方向的模式之间的交叠,可以将具有距离0的分割线设置为用作具有相反分割方向的模式中的仅一个的候选。
例如,如图8所示的示例中,当选择模式#4时,可以选择距离0至3之一,而当选择模式#20时,可以选择距离1至3之一。
如图7和图8中所示的示例,可以基于分割方向和分割线的距离来确定块分割类型。为此,指示块的分割方向的信息和指示分割线的距离的信息可以被编码并用信号通知。
图9示出根据图7和图8的描述对块进行分割的示例。
在选择图7中的模式#3并选择距离2的情况下,如图9所示的示例中,可以将块分割为两个分区。
可以使用多条分割线将块分割为三个或更多个分区。
图10示出使用多条对角线将块分割为多个分区的示例。
图10中的(a)和(b)示出通过两条对角线来分割块的示例。在图10中的(a)中,第一分区和第二分区由与图7中的模式#21和图8中的距离1对应的分割线限定,并且第二分区和第三分区由与图21中的模式#3和图8中的距离2对应的分割线限定。
同时,在图10中的(b)中,第一分区和第二分区由与图7中的模式#22和图8中的距离1对应的分割线限定,并且第二分区和第三分区由与图7中模式#1和图8中距离1对应的分割线限定。
取决于分割线是否彼此交叉,可以将块分割为三个分区或四个分区。例如,在图10中的(a)所示的示例中,如果两条分割线彼此不交叉,则可以将块分割为三个分区。另一方面,如图10中的(b)所示的示例中,如果两条分割线彼此交叉,则可以将块分割为四个分区。
替选地,在预定义的约束下,可以使用多条分割线对块进行分割。约束可以是两条分割线彼此不交叉。在这种情况下,当选择第一分割线时,根据上述约束,与所选择的第一分割线交叉的分割线不可以被选择为第二分割线。也就是说,可以被选择为第二分割线的模式或距离中的至少一个的数目可以通过预选择的第一分割线来调整。
作为另一示例,通过第一分割线和第二分割线形成的角度范围可能受到限制。例如,如图11所示的示例中,在块的中心点处垂直于第一分割线(例如,限定第一分区和第二分区的分割线)的直线与垂直于第二分割线(例如,限定第二分区和第三分区的分割线)的直线之间的角度被假设为θ。
可以基于以下中的至少一个自适应地确定θ的最大大小:第一分割线的方向或距离、块的大小、块的面积或应用于块的预测模式。此处,预测模式可以指示帧内预测和帧间预测之一。替选地,预测模式可以指示预定义的帧内预测模式之一或者预定义的帧间预测模式之一。当选择第一分割线时,可以被选择为第二分割线的分割方向候选的数目和/或范围可以由θ的最大大小确定。
在对当前图片进行编码时,可以通过帧间预测去除图片之间的冗余数据。可以在块的基础上执行帧间预测。具体地,可以使用当前块的运动信息从参考图片生成针对当前块的预测块。此处,运动信息可以包括运动矢量、参考图片索引或预测方向中的至少一个。
可以通过运动估计生成当前块的运动信息。
图12示出其中执行运动估计的示例。
在图12中,假设当前图片的图片顺序计数(POC)为T,并且参考图片的POC为(T-1)。
可以从与参考图片中当前块的参考点相同的位置设置运动估计的搜索范围。此处,参考点可以是当前块的左上方样本的位置。
作为示例,图12示出以参考点为中心将大小为(w0+w01)和(h0+h1)的矩形设置为搜索范围。在该示例中,w0、w1、h0和h1可以具有相同的值。替选地,可以将w0、w1、h0或h1中的至少一个设置为具有与其他不同的值。替选地,可以将w0、w1、h0和h1的大小确定为使得不超过译码树单元(CTU)边界、切片边界、图块边界或图片边界。
在搜索范围内设置具有与当前块相同的大小的参考块之后,可以测量每个参考块相对于当前块的成本。可以使用两个块之间的相似度来计算成本。
作为示例,可以基于当前块中原始样本与每个参考块中原始样本(或重构样本)之间的差值的绝对和(SAD:绝对差之和)来计算成本。随着绝对和减小,成本可能降低。
在比较参考块的成本之后,可以将具有最优成本的参考块设置为针对当前块的预测块。
此外,可以将当前块与参考块之间的距离设置为运动矢量。具体地,可以将当前块与参考块之间的x坐标差和y坐标差设置为运动矢量。
此外,包含通过运动估计识别的参考块的图片的索引被设置为参考图片索引。
此外,可以基于参考图片是否属于L0参考图片列表或L1参考图片列表来设置预测方向。
此外,可以针对L0方向和L1方向中的每一个执行运动估计。如果在L0方向和L1方向二者上执行预测,则可以生成L0方向上的运动信息和L1方向上的运动信息。
图13和图14示出其中基于通过运动估计生成的运动信息来生成针对当前块的预测块的示例。
图13示出通过单向(即L0方向)预测生成预测块的示例,并且图14示出通过双向(即L0方向和L1方向)预测生成预测块的示例。
在单向预测的情况下,使用一条运动信息生成针对当前块的预测块。作为示例,运动信息可以包括L0运动矢量、L0参考图片索引和指示L0方向的预测方向信息。
在双向预测的情况下,使用两条运动信息来创建预测块。作为示例,基于关于L0方向的运动信息(L0运动信息)识别的L0方向上的参考块可以被设置为L0预测块,并且基于关于L1方向的运动信息(L1运动信息)识别的L1方向上的参考块可以被设置为L1预测块。之后,L0预测块和L1预测块可以经受加权求和以生成针对当前块的预测块。
在图12至图14所示的示例中,L0参考图片存在于当前图片之前(即,POC值小于当前图片),并且L1参考图片存在于当前图片之后(即,POC值大于当前图片)。
然而,与示例不同,L0参考图片可以存在于当前图片之后,或者L1参考图片可以存在于当前图片之前。例如,L0参考图片和L1参考图片二者可以存在于当前图片之前,或者L0参考图片和L1参考图片二者可以存在于当前图片之后。替选地,可以使用存在于当前图片之后的L0参考图片和存在于当前图片之前的L1参考图片来执行双向预测。
对其执行了帧间预测的块的运动信息可以存储在存储器中。在这种情况下,运动信息可以存储在样本单元中。具体地,特定样本所属的块的运动信息可以作为特定样本的运动信息存储。存储的运动信息可以用于得出稍后被编码/解码的邻近块的运动信息。
编码器可以向解码器用信号通知通过对与当前块的样本(即原始样本)与预测样本之间的差值对应的残差样本进行编码获得的信息以及生成预测块所需的运动信息。解码器可以对关于用信号通知的差值的信息进行解码以得出差值样本,并将使用运动信息生成的预测块内的预测样本添加到差值样本中,以生成重构样本。
此处,为了高效地压缩用信号通知到解码器的运动信息,可以选择多个帧间预测模式之一。此处,多个帧间预测模式可以包括运动信息合并模式和运动矢量预测模式。
运动矢量预测模式是其中对运动矢量与运动矢量预测值之间的差值进行编码和用信号通知的模式。此处,可以基于与当前块相邻的邻近块或邻近样本的运动信息得出运动矢量预测值。
图15示出得出运动矢量预测值所参考的位置。
为便于描述,假设当前块具有4×4的大小。
在所示示例中,“LB”指示当前块中最左列和最底行中包括的样本。“RT”指示当前块中最右列和最上行中包括的样本。A0至A4指示与当前块的左侧邻近的样本,并且B0至B5指示与当前块的顶部邻近的样本。作为示例,A1指示与LB的左侧邻近的样本,并且B1指示与RT的顶部邻近的样本。包括与当前块在空间上相邻的样本(即,A0至A4中的一个或B0至B5中的一个)的邻近块可以被称为空间邻近块。
Col指示在同位(Co-located)图片中的与当前块的右下方相邻的样本的位置。同位图片是与当前图片不同的图片,并且用于识别同位图片的信息可以在比特流中显式地编码并用信号通知。替选地,具有预定义的参考图片索引的参考图片可以被设置为同位图片。包括与当前块在时间上相邻的样本(即Col)的邻近块可以被称为时间邻近区块。
当前块的运动矢量预测值可以从运动矢量预测列表中包括的至少一个运动矢量预测候选中得出。
可以在编码器和解码器中预定义可以被包括在运动矢量预测列表中的运动矢量预测候选的数目(即列表的大小)。作为示例,运动矢量预测候选的最大数目可以是两个。
存储在与当前块相邻的邻近样本的位置处的运动矢量或通过缩放运动矢量得到的缩放运动矢量可以作为运动矢量预测候选***到运动矢量预测列表。此时,可以通过以预定顺序扫描与当前块相邻的邻近样本来得出运动矢量预测候选。
作为示例,可以以从A0到A4的顺序检查每个位置处是否存储有运动矢量。根据该扫描顺序,可以将第一个发现的可用运动矢量作为运动矢量预测候选***到运动矢量预测列表中。
作为另一示例,以从A0到A4的顺序检查每个位置处是否存储有运动矢量,并且可以将与具有与当前块相同的参考图片的位置对应的第一个发现的运动矢量作为运动矢量预测候选***到运动矢量预测列表中。如果不存在具有与当前块相同的参考图片的邻近样本,则可以基于第一个发现的可用矢量得出运动矢量预测候选。具体地,在对第一个发现的可用运动矢量进行缩放之后,可以将缩放的运动矢量作为运动矢量预测候选***到运动矢量预测列表中。此处,可以基于当前图片与参考图片之间的输出顺序差(即POC差)以及当前图片与邻近样本的参考图片之间的输出顺序差(即POC差)来执行缩放。
此外,可以以从B0到B5的顺序检查每个位置处是否存储有运动矢量。根据该扫描顺序,可以将第一个发现的可用运动矢量作为运动矢量预测候选***到运动矢量预测列表中。
作为另一示例,可以以从B0到B5的顺序检查每个位置处是否存储有运动矢量,并且可以将第一个发现的与具有与当前块相同的参考图片的位置对应的运动矢量作为运动矢量预测候选***到运动矢量预测列表中。如果不存在具有与当前块相同的参考图片的邻近样本,则可以基于第一个发现的可用矢量得出运动矢量预测候选。具体地,在对第一个发现的可用运动矢量进行缩放之后,可以将缩放的运动矢量作为运动矢量预测候选***到运动矢量预测列表中。此处,可以基于当前图片与参考图片之间的输出顺序差(即POC差)以及当前图片与邻近样本的参考图片之间的输出顺序差(即POC差)来执行缩放。
如果运动矢量以块为单位(例如4x4)存储,则可以基于包括预定义位置处的样本的块的运动矢量得出运动矢量预测候选。
如上述示例所示,可以从与当前块的左侧相邻的样本中得出运动矢量预测候选,并且可以从与当前块的顶部相邻的样本中得出运动矢量预测候选。
此处,从左侧样本得出的运动矢量预测候选可以先于从顶部样本得出的运动矢量预测候选被***到运动矢量预测列表中。在这种情况下,分配给从左侧样本得出的运动矢量预测候选的索引可以具有比分配给从顶部样本得出的运动矢量预测候选的索引小的值。
另一方面,从顶部样本得出的运动矢量预测候选可以先于从左侧样本得出的运动矢量预测候选***到运动矢量预测列表中。
在运动矢量预测列表中包括的运动矢量预测候选当中,具有最高译码效率的运动矢量预测候选可以被设置为当前块的运动矢量预测器(MVP)。此外,指示多个运动矢量预测候选当中被设置为当前块的运动矢量预测器的运动矢量预测候选的索引信息可以被编码,并用信号通知到解码器。当运动矢量预测候选的数目为两个时,索引信息可以是1比特标志(例如MVP标志)。此外,运动矢量差(MVD)——其为当前块的运动矢量与运动矢量预测器之间的差——可以被编码并用信号通知到解码器。
解码器可以以与编码器相同的方式构造运动矢量预测列表。此外,解码器可以从比特流中解码索引信息,并基于解码的索引信息选择多个运动矢量预测候选中的一个。所选择的运动矢量预测候选可以被设置为当前块的运动矢量预测器。
此外,解码器可以从比特流中解码运动矢量差。之后,解码器可以通过对运动矢量预测器和运动矢量差求和来得出当前块的运动矢量。
在对当前块应用双向预测的情况下,可以针对L0方向和L1方向中的每一个生成运动矢量预测列表。也就是说,运动矢量预测列表可以包括相同方向上的运动矢量。因此,当前块的运动矢量和运动矢量预测列表中包括的运动矢量预测候选具有相同的方向。
在选择运动矢量预测模式的情况下,参考图片索引和预测方向信息可以被显式地编码并用信号通知到解码器。作为示例,在参考图片列表中存在多个参考图片并且对多个参考图片中的每一个执行运动估计的情况下,用于识别多个参考图片当中从其得出当前块的运动信息的参考图片的参考图片索引可以被显式地编码并用信号通知到解码器。
此时,如果参考图片列表仅包括一个参考图片,则可以省略参考图片索引的编码/解码。
预测方向信息可以是指示L0单向预测、L1单向预测或双向预测之一的索引。替选地,可以对指示是否执行L0方向上的预测的L0标志以及指示是否执行L1方向上的预测的L1标志进行编码并且用信号通知。
运动信息合并模式是其中将当前块的运动信息设置为与邻近块的运动信息相同的模式。在运动信息合并模式中,可以使用运动信息合并列表对运动信息进行编码/解码。
可以基于与当前块相邻的邻近块或邻近样本的运动信息来得出运动信息合并候选。例如,可以预定义当前块周围的参考位置,然后可以检查预定义参考位置处是否存在运动信息。如果在预定义参考位置处存在运动信息,则可以将该位置处的运动信息作为运动信息合并候选***到运动信息合并列表中。
在图15的示例中,预定义参考位置可以包括以下中的至少一个:A0、A1、B0、B1、B5或Col。此外,可以以A1、B1、B0、A0、B5和Col的顺序得出运动信息合并候选。
如果运动信息以块为单位(例如4x4)存储,则可以基于包括预定义的参考位置处的样本的块来得出运动信息合并候选。
在运动信息合并列表中包括的运动信息合并候选当中,可以将具有最优成本的运动信息合并候选的运动信息设置为当前块的运动信息。此外,指示从多个运动信息合并候选当中选择的运动信息合并候选的索引信息(例如合并索引)可以被编码并发送至解码器。
在解码器中,可以以与编码器相同的方式构造运动信息合并列表。然后,可以基于从比特流解码的合并索引来选择运动信息合并候选。所选择的运动信息合并候选的运动信息可以被设置为当前块的运动信息。
与运动矢量预测列表不同,运动信息合并列表被配置为单个列表,而不管预测方向如何。也就是说,包括在运动信息合并列表中的运动信息合并候选可以仅具有L0运动信息或L1运动信息,或者可以具有双向运动信息(即L0运动信息和L1运动信息)。
也可以使用当前块周围的重构样本区域得出当前块的运动信息。此处,用于得出当前块的运动信息的重构样本区域可以被称为模板。
图16是示出基于模板的运动估计方法的图。
在图12中,基于搜索范围内当前块与参考块之间的成本确定针对当前块的预测块。根据本实施方式,与图12所示示例不同,可以基于与当前块邻近的模板(下文中称为当前模板)和具有与当前模板相同的大小和形状的参考模板之间的成本来执行当前块的运动估计。
作为示例,可以基于当前模板中的重构样本与参考块中的重构样本之间差的绝对和来计算成本。随着绝对和的减小,可以降低成本。
在确定搜索范围内的当前模板和具有最优成本的参考模板之后,可以将与参考模板邻近的参考块设置为针对当前块的预测块。
此外,可以基于当前块与参考块之间的距离、参考块所属的图片的索引以及参考图片是否包括在L0或L1参考图片列表中来设置当前块的运动信息。
由于当前块周围先前重构的区域被定义为模板,解码器可以以与编码器相同的方式执行运动估计。因此,在使用模板得出运动信息的情况下,除了指示是否使用模板的信息之外,没有必要对运动信息进行编码并且用信号通知。
当前模板可以包括以下中的至少一个:与当前块的顶部相邻的区域或与当前块的左侧相邻的区域。此处,与顶部相邻的区域可以包括至少一行,并且与左侧相邻的区域可以包括至少一列。
图17示出模板配置的示例。
当前模板可以根据图17所示示例之一来构造。
替选地,与图17所示示例不同,可以仅使用与当前块的左侧相邻的区域或仅使用与当前块的顶部相邻的区域来构造模板。
可以在编码器和解码器中预定义当前模板的大小和/或形状。
替选地,可以预定义具有不同大小和/或形状的多个模板候选,然后用于识别多个模板候选之一的索引信息可以被编码并用信号通知到解码器。
替选地,可以基于当前块的大小、形状或位置中的至少一个自适应地选择多个候选模板之一。例如,如果当前块与CTU的上边界接触,则可以仅使用与当前块的左侧相邻的区域来构造当前模板。
可以对参考图片列表中存储的每个参考图片执行基于模板的运动估计。替选地,可以仅对一些参考图片执行运动估计。作为示例,可以仅对参考图片索引为0的参考图片执行运动估计,或可以仅对具有小于阈值的参考图片索引的参考图片或其与当前图片的POC差小于阈值的参考图片执行运动估计。
替选地,参考图片索引可以被显式地编码并用信号通知,然后可以仅对由参考图片索引指示的参考图片执行运动估计。
替选地,可以对与当前模板对应的邻近块的参考图片执行运动估计。例如,如果模板包括左邻近区域和顶部邻近区域,则可以使用左邻近块的参考图片索引或顶部邻近块的参考图片索引中的至少一个来选择至少一个参考图片。之后,可以对至少一个选择的参考图片执行运动估计。
指示是否已应用基于模板的运动估计的信息可以被编码并用信号通知到解码器。该信息可以是1比特的标志。例如,如果标志为真(1),则指示基于模板的运动估计已应用到当前块的L0方向和L1方向。另一方面,如果标志为假(0),则指示未应用基于模板的运动估计。在这种情况下,可以基于运动信息合并模式或运动矢量预测模式得出当前块的运动信息。
另一方面,可以仅在确定运动信息合并模式和运动矢量预测模式未被应用于当前块的情况下应用基于模板的运动估计。例如,当指示是否已应用运动信息合并模式的第一标志和指示是否已应用运动矢量预测模式的第二标志均为0时,可以执行基于模板的运动估计。
对于L0方向和L1方向中的每一个,可以用信号通知指示是否已应用基于模板的运动估计的信息。也就是说,可以彼此独立地确定基于模板的运动估计是否应用于L0方向以及基于模板的运动估计是否应用于L1方向。因此,可以将基于模板的运动估计应用于L0方向和L1方向中的一个,而可以将另一模式(例如,运动信息合并模式或运动矢量预测模式)应用于另一方向。
当基于模板的运动估计被应用于L0方向和L1方向二者时,可以基于L0预测块和L1预测块的加权和运算生成针对当前块的预测块。替选地,即使当基于模板的运动估计被应用于L0方向和L1方向之一,但另一模式被应用于另一方向时,可以基于L0预测块和L1预测块的加权和运算生成针对当前块的预测块。稍后将使用式2对此进行描述。
替选地,基于模板的运动估计方法可以被***作为运动信息合并模式中的运动信息合并候选或者运动矢量预测模式中的运动矢量预测候选。在这种情况下,可以基于所选择的运动信息合并候选或所选择的运动矢量预测候选是否指示基于模板的运动估计方法来确定是否应用基于模板的运动估计方法。
也可以基于双向匹配方法生成当前块的运动信息。
图18是示出基于双向匹配方法的运动估计方法的图。
可以仅在当前图片的时间顺序(即POC)存在于L0参考图片的时间顺序与L1参考图片的时间顺序之间时,执行双向匹配方法。
当双向匹配方法被应用时,可以针对L0参考图片和L1参考图片中的每一个设置搜索范围。此时,用于识别L0参考图片的L0参考图片索引和用于识别L1参考图片的L1参考图片索引可以被编码并用信号通知。
作为另一示例,仅L0参考图片索引被编码并用信号通知,并且可以基于当前图片与L0参考图片之间的距离(下文中称为L0 POC差)选择L1参考图片。作为示例,在L1参考图片列表中包括的L1参考图片当中,可以选择与当前图片的距离(下文中称为L1 POC差)的绝对值与当前图片与L0参考图片之间的距离的绝对值相同的L1参考图片。如果不存在具有与L0 POC差相同的L1 POC差的L1参考图片,则可以从L1参考图片当中选择具有与L0 POC差最相似的L1 POC差的L1参考图片。
此处,在L1参考图片当中,仅具有与L0参考图片不同时间方向的L1参考图片可以被用于双向匹配。例如,如果L0参考图片的POC小于当前图片的POC,则可以选择具有大于当前图片的POC的POC的L1参考图片之一。
另一方面,仅L1参考图片索引可以被编码并用信号通知,并且可以基于当前图片与L1参考图片之间的距离选择L0参考图片。
替选的,可以使用L0参考图片当中与当前图片距离最接近的L0参考图片和L1参考图片当中与当前图片距离最接近的L1参考图片来执行双向匹配方法。
替选地,也可以使用在L0参考图片列表中分配了预定义索引(例如索引0)的L0参考图片和在L1参考图片列表中分配了预定义索引(例如索引0)的L1参考图片来执行双向匹配方法。
替选地,可以基于显式地用信号通知的参考图片索引来选择LX(X为0或1)参考图片,并且L|X-1|参考图片当中最接近当前图片的参考图片、或在L|X-1|参考图片列表中具有预定义索引的参考图片可以被选择为L|X-1|参考图片。
作为另一示例,可以基于当前块的邻近块的运动信息来选择L0参考图片和/或L1参考图片。作为示例,可以使用当前块的左侧或顶部邻近块的参考图片索引来选择要用于双向匹配的L0参考图片和/或L1参考图片。
可以将搜索范围设置在参考图片中距同位块的预定范围内。
作为另一示例,可以基于初始运动信息来设置搜索范围。可以从当前块的邻近块得出初始运动信息。例如,可以将当前块的左邻近块或顶部邻近块的运动信息设置为当前块的初始运动信息。
在双向匹配方法被应用的情况下,L0运动矢量和L1运动矢量被设置为相反的方向。这指示L0运动矢量和L1运动矢量具有相反的符号。此外,LX运动矢量的大小可以与当前图片与LX参考图片之间的距离(即POC差)成比例。
此后,可以使用L0参考图片的搜索范围内的参考块(下文中称为L0参考块)与L1参考图片的搜索范围内的参考块(下文中称为L1参考块)之间的成本来执行运动估计。
如果选择了相对于当前块的矢量为(x,y)的L0参考块,则可以选择位于与当前块的距离为(-Dx,-Dy)处的L1参考块。此处,可以通过当前图片与L0参考图片之间的距离与L1参考图片与当前图片之间的距离的比率来确定D。
例如,在图18所示的示例中,当前图片(T)与L0参考图片(T-1)之间的距离的绝对值与当前图片(T)与L1参考图片(T+1)之间的距离的绝对值相同。因此,在所示示例中,L0运动矢量(x0,y0)和L1运动矢量(x1,y1)具有相同的大小,但方向相反。如果使用了具有POC为(T+2)的L1参考图片,则L1运动矢量(x1,y1)被设置为(-2*x0,-2*y0)。
在选择了具有最优成本的L0参考块和L1参考块之后,可以将L0参考块和L1参考块设置为针对当前块的L0预测块和L1预测块。此后,可以通过对L0参考块和L1参考块的加权和运算来生成针对当前块的最终预测块。作为示例,可以根据稍后将描述的式2来生成针对当前块的预测块。
当双向匹配方法被应用时,解码器可以以与编码器相同的方式执行运动估计。因此,指示是否应用双向运动匹配方法的信息被显式地编码/解码,而可以省略运动信息例如运动矢量的编码/解码。如上所述,L0参考图片索引或L1参考图片索引中的至少一个可以被显式地编码/解码。
作为另一示例,指示是否已应用双向匹配方法的信息可以被显式地编码/解码,并且当已应用双向匹配方法时,L0运动矢量或L1运动矢量可以被显式地编码并用信号通知。在L0运动矢量已用信号通知的情况下,可以基于当前图片与L0参考图片之间的POC差以及当前图片与L1参考图片之间的POC差得出L1运动矢量。在L1运动矢量已用信号通知的情况下,可以基于当前图片与L0参考图片之间的POC差以及当前图片与L1参考图片之间的POC差来得出L0运动矢量。此时,编码器可以对L0运动矢量和L1运动矢量中较小的一个进行显式地编码。
指示是否已应用双向匹配方法的信息可以是1比特标志。作为示例,如果标志为真(例如1),则可以指示双向匹配方法已应用于当前块。如果标志为假(例如0),则可以指示双向匹配方法未被应用于当前块。在这种情况下,运动信息合并模式或运动矢量预测模式可以被应用于当前块。
另一方面,仅在确定运动信息合并模式和运动矢量预测模式未被应用于当前块的情况下,可以应用双向匹配方法。例如,当指示是否应用运动信息合并模式的第一标志和指示是否应用运动矢量预测模式的第二标志均为0时,可以应用双向匹配方法。
替选地,双向匹配方法可以被***作为运动信息合并模式中的运动信息合并候选或运动矢量预测模式中的运动矢量预测候选入。在这种情况下,可以基于所选择的运动信息合并候选或所选择的运动矢量预测候选是否指示双向匹配方法来确定是否应用双向匹配方法。
已经描述了其中在双向匹配方法中当前图片的时间顺序需要存在于L0参考图片的时间顺序与L1参考图片的时间顺序之间。也可以通过使用不对其应用双向匹配方法的上述限制的单向匹配方法来生成针对当前块的预测块。具体地,在单向匹配方法中,可以使用具有小于当前块的时间顺序(即POC)的时间顺序的两个参考图片,或者具有大于当前块的时间顺序的时间顺序的两个参考图片。此处,可以从L0参考图片列表或L1参考图片列表得出两个参考图片二者。替选地,两个参考图片之一可以从L0参考图片列表得出,并且另一个参考图片可以从L1参考图片列表得出。
图19是示出基于单向匹配方法的运动估计方法的图。
可以基于具有小于当前图片的POC的POC的两个参考图片(即,前向参考图片)或者具有大于当前图片的POC的POC的两个参考图片(即,后向参考图片)来执行单向匹配方法。图19示出基于具有小于当前图片(T)的POC的POC的第一参考图片(T-1)和第二参考图片(T-2)来执行基于单向匹配方法的运动估计。
此处,用于识别第一参考图片的第一参考图片索引和用于识别第二参考图片的第二参考图片索引可以被编码并用信号通知。在用于单向匹配方法的两个参考图片当中,可以将具有与当前图片的较小POC差的参考图片设置为第一参考图片。因此,当选择了第一参考图片时,仅将与第一参考图片相比具有与当前图片的较大POC差的参考图片设置为第二参考图片。第二参考图片索引可以被设置成使得其指示具有与第一参考图片相同的时间方向且与第一参考图片相比具有与当前图片较大的POC差的重新排列的参考图片之一。
另一方面,可以将两个参考图片当中具有与当前图片较大的POC差的参考图片设置为第一参考图片。在这种情况下,第二参考图片索引可以被设置成使得其指示具有与第一参考图片相同的时间方向且与第一参考图片相比具有与当前图片的较小POC差的重新排列的参考图片之一。
替选地,可以使用参考图片列表中分配了预定义索引的参考图片和具有与该参考图片相同的时间方向的参考图片来执行单向匹配方法。作为示例,可以将参考图片列表中索引为0的参考图片设置为第一参考图片,并可以选择参考图片列表中具有与第一参考图片相同的时间方向的参考图片当中具有最小索引的参考图片作为第二参考图片。
可以从L0参考图片列表或L1参考图片列表中选择第一参考图片和第二参考图片二者。图19示出两个L0参考图片用于单向匹配方法。替选地,可以从L0参考图片列表中选择第一参考图片,并可以从L1参考图片列表中选择第二参考图片。
指示第一参考图片和/或第二参考图片属于L0参考图片列表还是L1参考图片列表的信息可以另外地被编码/解码。
替选地,可以使用L0参考图片列表和L1参考图片列表之一——其被设置为默认的——来执行单向匹配。替选地,可以从具有较大数目的参考图片的L0参考图片列表和L1参考图片列表中选择两个参考图片。
之后,可以设置第一参考图片和第二参考图片内的搜索范围。
可以将搜索范围设置在参考图片中距同位块的预定范围内。
作为另一示例,可以基于初始运动信息设置搜索范围。可以从当前块的邻近块得出初始运动信息。例如,可以将当前块的左邻近块或顶部邻近块的运动信息设置为当前块的初始运动信息。
此后,可以使用第一参考图片的搜索范围内的第一参考块与第二参考图片的搜索范围内的第二参考块之间的成本来执行运动估计。
此时,在单向匹配方法中,运动矢量的大小需要被设置成与当前图片和参考图片之间的距离成比例地增加。具体地,在选择相对于当前图片的矢量为(x,y)的第一参考块的情况下,第二参考块需要与当前块间隔开(Dx,Dy)。此处,可以通过当前图片与第一参考图片之间的距离与当前图片与第二参考图片之间的距离的比率来确定D。
例如,在图19的示例中,当前图片与第一参考图片之间的距离(即POC差)为1,并且当前图片与第二参考图片之间的距离(即POC差)为2。因此,当第一参考图片中第一参考块的第一运动矢量为(x0,y0)时,第二参考图片中第二参考块的第二运动矢量(x1,y1)可以被设置为(2x0,2y0)。
当具有最优成本的第一参考块和第二参考块被选择时,可以将第一参考块和第二参考块设置为针对当前块的第一预测块和第二预测块。此后,可以通过对第一预测块和第二预测块的加权和运算来生成针对当前块的最终预测块。作为示例,可以根据稍后将描述的式2生成针对当前块的预测块。
在单向匹配方法被应用的情况下,解码器可以以与编码器相同的方式执行运动估计。因此,指示是否应用单向运动匹配方法的信息被显式地编码/解码,而可以省略运动信息例如运动矢量的编码/解码。如上所述,第一参考图片索引或第二参考图片索引中的至少一个可以被显式地编码/解码。
作为另一示例,指示是否已应用单向匹配方法的信息可以被显式地编码/解码,并且在已应用单向匹配方法的情况下,第一运动矢量或第二运动矢量可以被显式地编码并用信号通知。在第一运动矢量已用信号通知的情况下,可以基于当前图片与第一参考图片之间的POC差以及当前图片与第二参考图片之间的POC差得出第二运动矢量。在第二运动矢量已用信号通知的情况下,可以基于当前图片与第一参考图片之间的POC差以及当前图片与第二参考图片之间的POC差来得出第一运动矢量。此时,编码器可以对第一运动矢量和第二运动矢量中较小的一个进行显式地编码。
指示是否已应用单向匹配方法的信息可以为1比特标志。作为示例,如果标志为真(例如1),则可以指示单向匹配方法被应用于当前块。如果标志为假(例如0),则可以指示单向匹配方法未被应用于当前块。在这种情况下,可以将运动信息合并模式或运动矢量预测模式应用于当前块。
另一方面,可以仅在确定运动信息合并模式和运动矢量预测模式未被应用于当前块的情况下,应用单向匹配方法。例如,当指示是否应用运动信息合并模式的第一标志和指示是否应用运动矢量预测模式的第二标志均为0时,可以应用单向匹配方法。
替选地,单向匹配方法可以被***作为运动信息合并模式中的运动信息合并候选或运动矢量预测模式中的运动矢量预测候选。在这种情况下,可以基于所选择的运动信息合并候选或所选择的运动矢量预测候选是否指示单向匹配方法来确定是否应用单向匹配方法。
帧内预测是使用与当前块具有空间相似性的参考样本获得针对当前块的预测块的方法。用于帧内预测的参考样本可以是重构样本。作为示例,可以将当前块周围的先前重构的样本设置为参考样本。替选地,在确定特定位置处的重构样本不可用的情况下,可以将相邻的重构样本设置为特定位置处的参考样本。
与所描述的不同的是,原始样本也可以被设置为参考样本。
如上述示例所示,在解码器中以与编码器中相同的方式执行运动估计的方法——也就是说,基于模板的运动估计方法、双向估计方法或单向估计方法中的至少一个——可以被定义为帧间预测模式。此处,在多个解码器侧运动估计方法被定义为帧间预测模式的情况下,指示多个解码器侧运动估计方法之一的索引可以与指示是否应用解码器侧运动估计方法的标志一起被编码并用信号通知。作为示例,指示基于模板的运动估计方法、双向估计方法或单向估计方法中至少一个的索引可以被编码并用信号通知。
帧内预测可以基于编码器和解码器中预定义的多个帧内预测模式中的至少一个来执行。
图20示出预定义的帧内预测模式。
编码器和解码器中预定义的帧内预测模式可以包括非方向帧内预测模式和方向预测模式。例如,在图20所示的示例中,模式0表示平面模式,其为非方向模式,并且模式1表示DC模式,其为非方向模式。此外,图20示出65个方向帧内预测模式(2至66)。
可以在编码器和解码器中预定义比所示出的更多或更少的帧内预测模式。
可以选择预定义的帧内预测模式之一,并且可以基于所选择的帧内预测模式获得针对当前块的预测块。此时,可以根据所选择的帧内预测模式自适应地确定用于生成预测块内预测样本的参考样本的数目和位置。
图21示出其中以平面模式生成预测样本的示例。
在图21所示的示例中,当以平面模式生成预测块时,可以使用与当前块的右上角相邻的参考样本T和与当前块的左下角相邻的参考样本L。
P1表示水平方向上的预测样本,并且P2表示垂直方向上的预测样本。可以通过对具有与P1相同的y坐标的参考样本(即,位于P1的水平方向上的参考样本)和参考样本T进行线性插值来生成P1。可以通过对参考样本L和具有与P2相同的x坐标的参考样本(即,位于P2的垂直方向上的参考样本)进行线性插值来生成P2。
之后,可以通过水平预测样本P1和垂直预测样本P2的加权和运算来获得最终预测样本。式1表示生成最终预测样本的示例。
[式1]
(α×P1+β×P2)/(α+β)。
在式1中,α指示分配给水平预测样本P1的权重,并且β指示分配给垂直预测样本P2的权重。可以基于当前块的宽度和高度来确定权重α和β。取决于当前块的宽度和高度,权重α和β可以具有相同的值或不同的值。例如,如果块的一侧比另一侧长,则可以将分配给与长侧平行的方向上的预测样本的权重设置为具有较大的值。替选地,另一方面,可以将分配给与长侧平行的方向上的预测样本的权重设置为具有较小的值。
图22示出其中以DC模式生成预测样本的示例。
在DC模式中,可以计算当前块周围的参考样本的平均值。图22示出用于计算平均值的参考样本的范围。如图22所示的示例,可以基于上参考样本和左参考样本来计算平均值。
取决于当前块的类型,可以仅使用上参考样本或仅使用左参考样本来计算平均值。例如,如果当前块的宽度大于高度,或者如果当前块的宽度与高度之间的比率等于或大于(或小于)预定义值,则可以仅使用上参考样本来计算平均值。
另一方面,如果当前块的宽度小于高度,或者如果当前块的宽度与高度之间的比率小于(或大于)预定义值,则可以仅使用左参考样本来计算平均值。
图23示出其中以方向帧内预测模式生成预测样本的示例。
在将方向帧内预测模式应用于当前块的情况下,可以根据方向帧内预测模式的角度,在当前块中的每个样本位置处在参考样本所位于的方向上执行投影。
如果在投影位置处存在参考样本(也就是说,如果投影位置是参考样本的整数位置),则可以将相应位置处的参考样本设置为预测样本。
另一方面,如果在投影位置处不存在参考样本(即,如果投影位置是参考样本的分数位置),则可以对投影位置周围的参考样本进行插值,并可以将插值的值设置为预测样本。
例如,在图23所示的示例中,当在当前块中样本B的位置处执行基于方向帧内预测模式的角度的投影时,在投影位置处存在参考样本R3。因此,可以将参考样本R3设置为样本B的位置的预测样本。
另一方面,当在当前块中样本A的位置处执行基于方向帧内预测模式的角度的投影时,在投影位置处不存在参考样本。在这种情况下,可以对存在于投影位置周围的整数位置参考样本进行插值,并且可以将插值的值设置为样本A的位置的预测样本。此处,通过对整数位置参考样本进行插值产生的值可以被称为分数位置参考样本(图23中的r)。
可以对关于当前块的帧内预测模式的信息进行编码并用信号通知。
为此,对于当前块,可以生成包括多个帧内预测模式候选的帧内预测模式列表。此处,可以基于与当前块相邻的邻近块的帧内预测模式或预定义的帧内预测模式来生成帧内预测模式候选。
指示当前块的帧内预测模式是否与帧内预测模式列表中包括的多个帧内预测模式候选之一相同的标志可以被显式地编码并用信号通知。如果当前块的帧内预测模式与多个帧内预测模式候选之一相同,则指示多个帧内预测模式候选之一的索引信息可以被显式地编码并用信号通知。另一方面,如果在多个帧内预测模式候选当中不存在与当前块的帧内预测模式相同的帧内预测模式候选,则指示其余的帧内预测模式当中当前块的帧内预测模式的索引信息(即残差模式信息)可以被显式地编码并用信号通知。
代替帧内预测模式候选,可以使用帧内预测模式预测候选。在这种情况下,由帧内预测模式预测候选指示的值可以被设置为当前块的帧内预测模式的预测值。
具体地,对于当前块,可以构造包括多个帧内预测模式预测候选的帧内预测模式预测列表。此处,可以基于与当前块相邻的邻近块的帧内预测模式或预定义的帧内预测模式得出帧内预测模式预测候选。
之后,可以将多个帧内预测模式预测候选之一设置为当前块的帧内预测模式预测值。当设置帧内预测模式预测值时,可以得出当前块的帧内预测模式与帧内预测模式预测值之间的差。在这种情况下,指示多个帧内预测模式预测候选之一的索引信息和指示帧内预测模式差值的信息可以被显式地编码并用信号通知。
也可以使用模板得出当前块的帧内预测模式。在这种情况下,解码器也可以以与编码器相同的方式得出帧内预测模式。因此,在使用模板得出帧内预测模式的情况下,仅指示是否使用了基于模板的帧内预测模式得出方法的信息(例如标志)被编码/解码,并且可以省略与帧内预测模式列表或帧内预测模式预测列表相关的信息的编码/解码。
图24示出其中使用模板得出帧内预测模式的示例。
当前块周围的重构区域可以被设置为第一模板,并且第一模板周围的重构区域可以被设置为第二模板。例如,在图24中的(a)所示的示例中,第一模板可以包括当前块的左侧的M0个重构样本列和当前块的顶部的M1个重构样本行,并且第二模板可以包括第一模板的左侧的N0个重构样本列和第一模板的顶部的N1个重构样本行。
第一模板的宽度M0和高度M1是等于或大于1的自然数,并且可以被设置为相同的值。替选地,取决于当前块的类型,可以确定是否将M0和M1设置为相同的值。例如,如果当前块具有正方形形状,则可以将M0和M1设置为相同的值,而如果当前块具有非正方形形状,则M0和M1可以具有不同的值。
第二模板的宽度N0和高度N1是等于或大于1的自然数,并且可以被设置为相同的值。替选地,取决于当前块的类型和M0或M1,可以确定是否将N0和N1设置为相同的值。例如,当M0和M1具有不同的值时,N0和N1也可以被设置为不同的值。
第二模板的至少一部分可以被设置为第一模板的参考区域。
在第二模板包括一条线的情况下,可以将构成第二模板的一条线用作参考区域。
另一方面,在第二模板包括多条线的情况下,可以将多条线中的至少一个用作参考区域。在这种情况下,指示多条线当中用作参考区域的线的信息可以被编码并用信号通知。例如,可以将不同的索引分配给构成第二模板的多条线,并且指示分配给多条线当中用作参考区域的线的索引的信息可以被编码。此处,可以基于与第一模板的距离来分配索引。作为示例,索引为0的线可以包括与第一模板相邻的顶部行和左侧列。索引为N的线可以包括与索引为0的线的x轴坐标差为N的列以及与索引为0的线的y轴坐标差为N的行。
替选地,可以将多条线设置为参考区域。在这种情况下,多条索引信息可以被编码并用信号通知。
替选地,指示参考区域的位置的信息(例如,参考区域与第一模板之间的距离)或指示参考区域的大小的信息(例如,参考区域的宽度和/或高度)中的至少一个可以被编码并用信号通知。
替选地,可以根据编码器和解码器中预定义的规则来设置参考区域。例如,在图24中的(b)所示的示例中,可以将与第一模板相邻的线设置为参考像素区域。
替选地,可以基于当前块的大小、形状或分区类型中的至少一个来自适应地确定参考区域。
当设置参考区域时,可以从参考区域中的重构样本中得出参考样本,并基于所得出的参考样本获得第一模板的预测样本。作为示例,可以使用图20所示的帧内预测模式或图20所示的帧内预测模式中的一些来获得第一模板的预测样本。
然后,可以计算每个帧内预测模式的成本,并且可以选择具有最优成本的帧内预测模式。此处,可以使用第一模板中的构造样本(或原始样本)与基于属于参考区域的参考样本得出的预测样本之间的差来计算成本。具体地,可以通过得出第一模板中各个位置的重构样本与预测样本之间的差并且然后对所得出的差值的绝对值求和来计算成本。
在确定具有最优成本的帧内预测模式后,可以将该帧内预测模式设置为当前块的帧内预测模式。
替选地,可以从具有最低成本的帧内预测模式中选择N个帧内预测模式。此处,N可以是1或更大的自然数。在选择多个帧内预测模式后,可以将多个帧内预测模式中的每一个设置为帧内预测模式候选。在这种情况下,当前块的帧内预测模式可以被设置为与多个帧内预测模式候选之一相同。
替选地,可以从具有最低成本的帧内预测模式中选择N个帧内预测模式,并且然后可以基于帧内预测模式中的每一个对当前块执行N次帧内预测。可以通过对通过执行N次帧内预测获得的N个预测块执行加权和运算来生成当前块的最终预测块。
例如,当选择了两个帧内预测模式时,可以通过使用两个帧内预测模式中的每一个进行帧内预测来生成两个预测块。此后,可以通过对两个预测块执行加权和运算来得出当前块的最终预测块。
N可以具有在编码器和解码器中预定义的值。替选地,N可以基于以下中的至少一个来确定:当前块的大小、形状或分区类型、具有最低成本的帧内预测模式的类型、或具有最低成本的帧内预测模式与具有次低成本的帧内预测模式之间的成本差。
例如,可以基于具有最低成本的帧内预测模式是非方向预测模式还是预定义的方向预测模式之一来确定是否将N设置为1或2或更大的自然数。
例如,如果具有最低成本的帧内预测模式与具有次低成本的帧内预测模式之间的成本差不超过阈值,则将N设置为1,否则将N设置为2或更大的自然数。
替选地,在编码器确定N之后,用于确定N的信息可以被显式地编码并用信号通知。
在对N个预测块执行加权和运算时,可以基于包括多个权重候选的权重列表得出应用于N个预测块中的每一个的权重。例如,当对两个预测块执行加权和运算时,可以将从权重列表中选择的权重候选所指示的权重应用于第一预测块。此外,可以将应用于第一预测块的权重减去预定常数值得出的值设置为第二预测块的权重。
在使用权重列表确定权重的情况下,指示多个权重候选之一的索引信息可以被编码并用信号通知。
替选地,编码器和解码器可以使用预定义的权重对N个预测块执行加权和运算。作为示例,可以对N个预测块中的每一个应用相等的权重值。
替选地,可以基于成本的比率来确定每个预测块的权重。作为示例,如果基于模板计算的第一帧内预测模式的成本为成本1,并且基于模板计算的第二帧内预测模式的成本为成本2,则成本1/(成本1+成本2)的权重可以应用于通过第二帧内预测模式生成的第二预测块,而成本2/(成本1+成本2)的权重可以应用于通过第一帧内预测模式生成的第一预测块。
替选地,可以基于以下中至少一个自适应确定应用于每个预测块的权重:帧内预测模式是否为非方向帧内预测模式、帧内预测模式是否为预定义的方向预测模式之一、或者帧内预测模式的类型。
如上所述,可以通过帧间预测或帧内预测生成针对当前块的预测块。此时,可以基于多个帧间预测模式中的至少一个执行帧间预测,并且多个帧间预测模式可以包括以下中的至少一个:运动矢量合并模式、运动矢量预测模式、基于模板的运动估计方法、双向匹配方法或单向匹配方法。
在以下实施方式中,为了便于描述,在帧间预测模式当中,将其中解码器以与编码器相同的方式执行运动估计以生成预测块的帧间预测模式(即,基于模板的运动估计方法,双向匹配方法和/或单向匹配方法)称为解码器侧运动估计模式。此外,在帧间预测模式当中,将其中通过编码器中的运动估计生成的信息被显式地编码并用信号通知的帧间预测模式(即,运动信息合并模式和/或运动矢量预测模式)称为运动信息信令模式。
当将运动信息信令模式应用于当前块时,可以基于运动信息合并候选或运动矢量预测候选得出关于当前块的运动信息。为了便于描述,在稍后将描述的实施方式中,运动信息合并候选和/或运动矢量预测候选将被称为运动信息候选,并且运动信息合并列表和/或运动矢量预测列表将被称为运动信息列表。也就是说,当应用运动信息合并模式时,运动信息候选和运动信息列表可以意指运动信息合并候选和运动信息合并列表。另一方面,当应用运动矢量预测模式时,运动信息候选和运动信息列表可以意指运动矢量预测候选和运动矢量预测列表。
在当前块被分割为多个分区的情况下,可以对每个分区独立地执行帧间预测或帧内预测。此时,指示是否将块分割为多个分区的信息可以被编码并用信号通知到解码器。此时,可以仅在当前块的大小、形状、帧内预测模式或帧间预测模式中的至少一个满足预定义条件时,才允许将块分割为多个分区。例如,以下中的至少一种情况可以被设置为预定义条件:当前块的大小大于阈值的情况、当前块的帧内预测模式不是非方向预测模式的情况、当前块的帧内预测模式是预定义的方向预测模式之一的情况、运动信息信令模式被应用于当前块的情况、或解码器侧运动估计模式被应用于当前块的情况。
下文中,将参照附图详细描述在当前块被分割为多个分区时执行帧间预测或帧内预测。
图25是在当前块被分割为多个分区时执行帧间预测的过程的流程图。
图25中的(a)示出编码器的操作,而图25中的(b)示出解码器的操作。
分区可以具有正方形、三角形或五边形形状。为了便于描述,在稍后将描述的实施方式中,假设当前块被分割为三个分区,如图11所示的示例。然而,在当前块被分割为两个分区或四个或更多个分区时,也可以应用根据稍后将描述的实施方式的操作。
通过运动估计,可以确定关于每个分区的运动信息(S2510)。
此时,关于分区中的一个的运动信息需要被设置成使得其与关于邻近分区的运动信息不同。例如,在图11所示的示例中,关于第一分区的运动信息不能被设置为与关于第二分区的运动信息相同。
在确定关于每个分区的运动信息后,可以对用于确定关于每个分区的运动信息的信息元素进行编码(S2520)。
解码器可以解码信息元素(S2530)并得出关于每个分区的运动信息或者基于解码的信息元素对每个分区执行运动估计。
之后,可以基于关于每个分区的运动信息生成针对每个分区的预测样本,或者可以生成针对每个分区的预测样本作为针对每个分区的运动估计的结果(S2540)。
当应用运动信息信令模式时,信息元素可以包括指示每个分区的运动信息候选的索引信息。例如,当应用运动矢量预测模式时,可以针对每个分区编码指示运动矢量预测候选的索引信息和运动矢量差值。替选地,当应用运动信息合并模式时,可以针对每个分区编码指示运动信息合并候选的索引信息。
图26是示出通过其得出运动信息候选的过程的图。
为了便于描述,假设当前块的大小为4×4。
可以基于当前块的位置和大小得出运动信息候选。
例如,在生成大小为2的运动矢量预测列表的情况下,可以从与当前块的顶部相邻的邻近样本B0至B5之一得出第一运动矢量预测候选,并且从与当前块的左侧相邻的邻近样本A0至A4之一得出第二运动矢量预测候选。之后,可以生成包括第一运动矢量预测候选和第二运动矢量预测候选的运动矢量预测列表。如果可以从空间邻近块得出的运动矢量预测候选的数目小于2,则可以从时间邻近块(图15中的Col)得出运动矢量预测候选。
替选地,在生成运动信息合并列表的情况下,可以按照左邻近样本A1、上邻近样本B1、右上邻近样本B0、左下邻近样本A0和左上邻近样本B5的顺序搜索运动信息。如果搜索结果发现了可用运动信息,则可以将该运动信息设置为运动信息合并候选。
在搜索关于当前块的时间邻近块的运动信息之后,可以基于关于空间邻近块(例如图15中的Col)的运动信息附加地得出运动信息合并候选。
当基于当前块的位置和大小生成运动信息列表时,运动信息列表可以共同地用于每个分区。作为示例,可以使用单个运动矢量预测列表或单个运动信息合并列表来对第一分区、第二分区和第三分区中的每一个的运动矢量或运动信息进行编码。
此时,邻近分区可以被设置为不具有相同的运动矢量或相同的运动信息。因此,可以将针对邻近分区选择的运动信息候选设置为当前分区的不可用的运动信息候选。
例如,如果为第一分区选择了从A1得出的运动信息合并候选,则可以从不包括从A1得出的运动信息合并候选的其余运动信息合并候选当中选择第二分区的运动信息合并候选。
如果当前块被分割为三个或更多个分区,邻近分区可以被设置为不具有相同的运动矢量或相同的运动信息,而非邻近分区可以被设置为具有相同的运动矢量或相同的运动信息。因此,对于一些分区可以省略运动信息的编码/解码。
例如,可以针对第一分区和第二分区中的每一个对指示运动信息合并候选之一的索引信息进行编码,而可以针对第三分区省略索引信息的编码。在这种情况下,关于第三分区的运动信息可以被设置为与关于与第三分区不相邻的第一分区的运动信息相同。
可以针对每个分区单独地配置运动信息列表。此时,每个分区的运动信息列表可以包括从与相应分区相邻的位置得出的运动信息候选。替选地,每个分区的运动信息列表可以仅包括从与相应分区相邻的位置得出的运动信息候选。
例如,在图26所示的示例中,第一分区的运动矢量预测列表或运动信息合并列表可以包括从与第一分区相邻的位置A0至A3中的至少一个得出的运动矢量预测候选或运动信息合并候选。
第二分区的运动矢量预测列表或运动信息合并列表可以包括从与第二分区相邻的位置A3、A4和B2至B5中的至少一个得出的运动矢量预测候选或运动信息合并候选。
第三分区的运动矢量预测列表或运动信息合并列表可以包括从与第三分区相邻的位置B0至B2中的至少一个得出的运动矢量预测候选或运动信息合并候选。
如果每个分区的运动信息列表中包括的运动信息候选的数目小于阈值,则可以从与分区不相邻的位置得出附加的运动信息候选,或者将两个或更多个运动信息候选组合以生成新的运动信息候选。
在针对每个分区生成运动信息列表的情况下,可以将与关于邻近分区的运动信息相同的运动信息候选设置为不包括在运动信息列表中。例如,在针对第二分区配置运动信息合并列表时,可以将与关于第一分区的运动信息相同的运动信息合并候选设置为不可用。同样,在针对第三分区配置运动信息合并列表时,可以将与关于第二分区的运动信息相同的运动信息合并候选设置为不可用。
可以考虑分区的译码顺序来生成针对分区的运动信息列表。例如,可以将在当前分区之前编码/解码的分区的运动信息列表中包括的运动信息候选***到当前分区的运动信息列表中。作为示例,当以第一分区、第二分区和第三分区的顺序执行编码/解码时,可以将第一分区的运动信息列表中包括的运动信息候选***第二分区的运动信息列表中。类似地,在针对第三分区配置运动信息列表时,可以使用第一分区的运动信息列表中包括的运动信息候选或第二分区的运动信息列表中包括的运动信息候选中的至少一个。
由于不针对邻近的分区设置相同的运动信息,因此在先前编码/解码的分区的运动信息候选当中针对相应分区选择的运动信息候选可能不被***当前分区的运动信息列表中。例如,在针对第二分区配置运动信息列表时,在第一分区的运动信息列表中包括的运动信息候选当中,与关于第一分区的运动信息相同的运动信息候选可以被设置为对于第二分区不可用。同样,在针对第三分区配置运动信息列表时,可以将第一分区的运动信息列表中包括的运动信息候选当中与关于第一分区的运动信息相同的运动信息候选或者第二分区的运动信息列表中包括的运动信息候选当中与关于第二分区的运动信息相同的运动信息候选中的至少一个被设置为对于第三分区不可用。
作为另一示例,对于每个分区,编码器和解码器可以参考预定义位置处的运动信息来编码/解码运动信息。也就是说,可以通过仅参考预定义位置而非生成运动信息列表,来得出关于每个分区的运动信息。作为示例,指示预定义位置处的运动信息和关于分区的运动信息是否相同的信息可以被编码并用信号通知。如果预定义位置处的运动信息与关于分区的运动信息不同,则表示预定义位置的运动矢量与分区的运动矢量之间的差的运动矢量差值可以被附加地编码并用信号通知。
分区的预定义位置可以是不同的。此外,可以预定义多个位置。在这种情况下,可以使用在顺序搜索多个预定义位置时首先发现的可用运动信息对关于分区的运动信息进行编码/解码。
如果在预定义位置处不存在运动信息,则可以使用来自与预定义位置不同的位置的关于分区的运动信息或使用零矢量对关于分区的运动信息进行编码/解码。此处,与预定义位置不同的位置可以是与预定义位置相邻的位置。例如,可以使用关于与预定义位置的左侧、右侧、顶部或底部相邻的位置的运动信息对关于分区的运动信息进行编码/解码。
可以基于关于每个分区的运动信息获得每个分区的预测样本。
作为另一示例,可以通过基于关于每个分区的运动信息生成与当前块相同大小的预测块,并且然后对多个预测块执行加权和运算,从而获得每个分区的预测样本。此时,可以基于预测样本的位置或预测样本所属的分区中的至少一个,自适应地设置分配给每个预测块的权重。
可以使用基于模板的运动估计方法、双向估计方法或单向估计方法来执行每个分区的运动估计。
在这种情况下,用于确定关于每个模板的运动信息的信息元素可以包括以下中的至少一个:指示是否已应用解码器侧运动估计方法的信息(例如标志)、指示多个解码器侧运动估计方法之一的信息、或用于识别解码器侧运动估计方法中使用的参考图片的信息。
图27示出了其中使用模板对每个分区执行运动估计的示例。
可以基于分区的大小、形状或位置中的至少一个来确定每个分区的模板。因此,当分区的大小、形状和/或位置不同时,用于分区的模板的大小、形状和/或位置可能不同。
例如,在当前块周围先前重构的区域当中仅与分区相邻的区域可以被设置为分区的模板。例如,如图27所示的示例中,第一分区的模板(第一模板)可以包括当前块的左侧重构区域中的一些,第二分区的模板(第二模板)可以被配置成包括当前块的上重构区域中的一些和左侧重构区域中的一些。同样,第三分区的模板(第三模板)可以包括当前块的上重构区域中的一些。
在确定当前分区的模板(当前模板)和具有最低成本的参考模板之后,可以将当前模板与参考模板之间的距离设置为当前分区的运动矢量。替选地,可以基于与参考模板相邻且具有与当前分区相同形状的参考分区得出当前分区的预测样本。
接下来,将详细描述在当前块被分割为多个分区时执行帧内预测的过程。
图28是在当前块被分割为多个分区时执行帧内预测的过程的流程图。
为了便于描述,在稍后将描述的实施方式中,假设当前块被分割为三个分区,如图11所示的示例。然而,在当前块被分割为两个分区或四个或更多个分区时,可以应用根据以下实施方式的操作。
图28中的(a)示出了编码器的操作,并且图28中的(b)示出了解码器的操作。
可以确定每个分区的帧内预测模式(S2810)。
此时,分区的帧内预测模式需要被设置为使得其与邻近分区的帧内预测模式不相同。例如,在图11所示的示例中,第一分区的帧内预测模式不可以被设置为与第二分区的帧内预测模式相同。
在确定每个分区的帧内预测模式后,可以对用于确定每个分区的帧内预测模式的信息元素进行编码(S2820)。
解码器可以解码上述信息元素(S2830),并基于解码的信息元素得出每个分区的帧内预测模式。
之后,可以基于每个分区的帧内预测模式生成每个分区的预测样本(S2840)。
可以基于帧内预测模式列表或模板得出每个分区的帧内预测模式。
作为示例,在使用帧内预测模式列表对每个分区的帧内预测模式进行编码/解码的情况下,对于每个分区,指示是否存在与该分区的帧内预测模式相同的帧内预测模式候选的标志或用于识别与该分区的帧内预测模式相同的帧内预测模式候选的索引中的至少一个可以被编码/解码。替选地,在当前块被分割为多个分区的情况下,可以省略对标志的编码/解码,并且可以基于帧内预测模式列表得出每个分区的帧内预测模式。
此时,当前块的帧内预测模式可以被设置为不具有与邻近分区的帧内预测模式相同的值。例如,在图11所示的示例中,第一分区的帧内预测模式可以具有与第二分区的帧内预测模式不同的值。因此,如果从帧内预测模式列表中选择与第一分区的帧内预测模式相同的帧内预测模式候选,则该帧内预测模式候选不可以被设置为第二分区的帧内预测模式。因此,可以从不包括与第一分区的帧内预测模式相同的帧内预测模式候选的其余的帧内预测模式候选当中选择第二分区的帧内预测模式。
非邻近分区的帧内预测模式可以被设置为相同的值。例如,在图11所示的示例中,第一分区和第三分区的帧内预测模式可以被设置为相同的。在这种情况下,对于第三分区,可以省略对指示帧内预测模式候选之一的索引信息的编码/解码。
也可以基于模板得出每个分区的帧内预测模式。例如,如上面参照图24所描述的,可以基于与当前块相邻的第一模板和与第一模板相邻的第二模板,从具有最低成本的帧内预测模式中选择N个帧内预测模式。然后,可以从N个帧内预测模式当中选择每个分区的帧内预测模式。
此处,N可以是1或更大的自然数。N可以在编码器和解码器中具有固定的值。替选地,可以基于分区的数目来确定N。
通过对每个分区执行帧内预测,可以获得每个分区的预测样本。
作为另一示例,可以通过针对每个分区的帧内预测生成与当前块相同大小的预测块,并且然后对多个预测块执行加权和运算,来获得每个分区的预测样本。此时,可以基于预测样本的位置或预测样本所属分区的帧内预测模式中的至少一个来自适应地设置分配给每个预测块的权重。
将当前块分割为多个分区之后,可以针对每个分区确定译码模式。例如,如图11所示的示例,在当前块被分割为三个分区时,可以针对三个分区中的每一个独立地确定是应用帧间预测还是帧内预测。因此,指示分区中的每一个的译码模式的信息可以被编码并用信号通知。例如,针对每个分区,指示帧间预测和帧内预测之一的标志可以被编码并用信号通知。
此时,非邻近分区的译码模式可以被设置为相同的。例如,在图11所示的示例中,第一分区和第三分区可以被设置为具有相同的译码模式。在这种情况下,可以省略对指示第三分区的译码模式的标志的编码/解码。
替选地,可以考虑分区的位置或分区的大小来确定分区的译码模式。
例如,可以将帧间预测或帧内预测固定地应用于分区当中最大的分区。可以将与该分区的译码模式不同的译码模式应用于其余分区。
替选地,可以将帧间预测或帧内预测固定地应用于分区当中中间位置处的分区。可以将与该分区的译码模式不同的译码模式应用于其余分区。
替选地,可以将帧间预测或帧内预测固定地应用于分区当中与当前块的左边界和/或上边界相邻的分区。可以将与这些分区的译码模式不同的译码模式应用于其余分区。
在应用运动信息合并模式的情况下,可以将关于当前块的运动信息设置为与关于邻近块的运动信息相同。可以使用与运动信息合并模式类似的预测信息合并模式对当前块进行编码/解码。预测信息合并模式是指将关于当前块的预测信息设置为与关于邻近块的预测信息相同的预测方法。
此处,预测信息包括译码模式(即帧间预测或帧内预测),当译码模式指示帧内预测时,预测信息还可以包括邻近块的帧内预测模式,当译码模式指示帧间预测时,预测信息还可以包括关于邻近块的运动信息。
例如,如果在预测信息合并模式中选择了用帧间预测编码的邻近块,则确定帧间预测被应用于当前块,并且可以将关于当前块的运动信息设置为与关于邻近块的运动信息相同。另一方面,如果在预测信息合并模式中选择了用帧内预测编码的邻近块,则确定帧内预测被应用于当前块,并且可以将当前块的帧内预测模式设置为与邻近块的帧内预测模式相同。
指示是否应用预测信息合并模式的信息可以通过比特流用信号通知。作为示例,该信息可以是1位标志。
可以基于以下中的至少一个来确定是否允许对当前块应用预测信息合并模式:当前块的大小、当前块的形状、当前块的位置(例如,当前块是否与CTU的上边界接触)、颜色分量(例如,是亮度分量还是色度分量)或切片类型。
下文中,将参照附图详细描述预测信息合并模式。
图29是根据本公开内容的实施方式的执行预测信息合并模式的过程的流程图。
图29中的(a)示出编码器的操作,图29中的(b)示出解码器的操作。
可以确定关于当前块的预测信息(S2910)。具体地,可以取决于当前块的译码模式以及译码模式是帧内预测还是帧间预测来确定帧内预测模式或运动信息。
可以针对当前块生成预测信息合并列表(S2920)。预测信息合并列表可以包括多个预测信息合并候选。
在预测信息合并候选当中,可以选择与关于当前块的预测信息具有相同预测信息的预测信息合并候选(S2930),并且指示所选择的预测信息合并候选的索引可以被编码并用信号通知(S2940)。
解码器可以使用与编码器相同的方法生成预测信息合并列表(S2950)。
对索引信息进行解码,并基于解码的索引信息选择预测信息合并列表中包括的预测信息合并候选(S2960)。
关于所选择的预测信息合并候选的预测信息可以被设置为关于当前块的预测信息(S2970),并可以基于关于当前块的预测信息生成预测块(S2980)。
可以根据与当前块相邻的邻近块来得出预测信息合并候选。
图30是示出用于得出预测信息合并候选的邻近块的图。
在图30所示的示例中,A0至A4表示与当前块的左侧相邻的邻近样本,而B0至B5表示与当前块的顶部相邻的邻近样本。Col指示位于当前块的右下方的样本在同位图片内的位置。
可以根据预定义的优先级来搜索包括与当前块相邻的邻近样本的邻近块。作为示例,可以按照A1、B1、B0、A0、B5和Col的顺序来搜索邻近块。之后,可以将关于可用邻近块的预测信息作为预测信息合并候选***到预测信息合并列表中。
替选地,可以根据当前块的大小、形状或分区类型中的至少一个自适应地确定预测信息合并候选的优先级。
代替对指示预测信息合并列表中包括的预测信息合并候选之一的索引信息进行编码/解码,可以基于与当前块相邻的每个邻近块的成本来得出关于当前块的预测信息。
例如,可以基于包括预定义位置处的邻近样本的邻近块内的重构样本与预测样本之间的差的绝对值之和来计算邻近块的成本。此时,如图30所示的示例,邻近块的大小可能不均匀。考虑到这一点,可以通过将邻近块内的重构样本与预测样本之间的差的绝对值之和除以样本的数目来执行归一化。可以计算归一化的绝对值之和作为邻近块的成本。
此处,预定义的位置的邻近样本可以包括以下中的至少一个:A1、B1、B0、A0、B5或Col。
此后,可以将关于多个邻近块当中具有最低成本的邻近块的预测信息设置为关于当前块的预测信息。
替选地,可以从多个邻近块当中选择具有最低成本的邻近块中的N个邻近块。此后,可以将关于N个邻近块的预测信息设置为预测信息合并候选,然后指示N个预测信息合并候选之一的索引信息可以被编码并用信号通知。此处,N可以是1或更大的自然数。
替选地,可以从多个邻近块当中选择具有最低成本的邻近块中的N个邻近块,并且然后可以基于关于N个邻近块中的每个邻近块的预测信息来针对当前块生成N个预测块。之后,可以通过对N个预测块执行的加权和运算来获得当前块的最终预测块。例如,当N为2时,可以从邻近块当中选择两个具有较低成本的邻近块,然后可以使用关于两个邻近块中的每个邻近块的预测信息针对当前块生成两个预测块。之后,可以基于对两个预测块执行的加权和运算来生成当前块的最终预测块。
作为另一示例,可以从用帧间预测编码的邻近块当中选择至少一个具有低成本的邻近块,并从用帧内预测编码的邻近块当中选择至少一个具有低成本的邻近块。也就是说,可以选择至少一个用帧间预测编码的邻近块和至少一个用帧内预测编码的邻近块。
之后,可以基于关于多个邻近块中每个邻近块的预测信息针对当前块生成多个预测块,然后可以通过对多个预测块执行加权和运算来生成最终预测块。
当对N个预测块执行加权和运算时,可以基于包括多个权重候选的权重列表来得出应用于N个预测块中的每个预测块的权重。例如,当对两个预测块执行加权和运算时,可以将从权重列表中选择的权重候选所指示的权重应用于第一预测块。此外,可以将通过从预定恒定值中减去应用于第一预测块的权重而得出的值设置为第二预测块的权重。
当使用权重列表确定权重时,指示多个权重候选之一的索引信息可以被编码并用信号通知。
替选地,可以使用在编码器和解码器中预定义的权重对N个预测块执行加权和运算。作为示例,可以将相等的权重值应用于N个预测块。
替选地,可以基于成本的比率来确定每个预测块的权重。作为示例,如果基于模板计算的第一帧内预测模式的成本为成本1,并且基于模板计算的第二帧内预测模式的成本为成本2,则可以将成本1/(成本1+成本2)的权重应用于通过第二帧内预测模式生成的第二预测块,并将成本2/(成本1+成本2)的权重应用于通过第一帧内预测模式生成的第一预测块。
可以在对当前块进行编码/解码时计算邻近块的成本。
替选地,可以在每次完成块的编码/解码时计算并存储成本。在这种情况下,可以在对当前块进行编码/解码时预先计算邻近块的成本。
在计算邻近块的成本时,代替基于邻近块的实际大小来计算成本,可以基于邻近块内的部分区域来计算邻近块的成本。
图31示出其中基于减小的区域计算邻近块的成本的示例。
如图31所示的示例中,可以基于邻近块中与当前块相邻的具有预定大小的区域来计算邻近块的成本。例如,如图31所示的示例,对于与当前块的顶部相邻的邻近块,可以基于包括邻近块的底部处的N行的区域来计算邻近块的成本。另一方面,对于当前块的左侧的邻近块,可以基于包括邻近块的右侧的M列的区域来计算邻近块的成本。对于与当前块的角相邻的邻近块,可以基于M×N大小的区域来计算邻近块的成本。此处,M和N可以是相同的值或不同的值。M和N是1或更大的自然数,并且可以是编码器和解码器中的预定义值。替选地,可以基于当前块的大小或形状自适应地确定M或N。
作为另一示例,可以针对邻近块内的预定义区域来计算邻近块的成本。此处,预定义区域可以是预定义大小的区域,该预定义大小的区域与邻近块的上界限、下界限、左界限或右界限毗邻,或者位于邻近块的中心。此处,预定义大小可以是4×4。
作为另一示例,可以使用预测信息合并列表基于邻近块的成本来确定预测信息合并候选的***顺序。例如,代替按照预定义的顺序***预测信息合并候选,可以首先将从具有低成本的邻近块得出的预测信息合并候选***到预测信息合并列表中。因此,可以将具有较小值的索引分配给从具有低成本的邻近块得出的预测信息合并候选。
替选地,在按照预定义的顺序***预测信息合并候选后,可以基于邻近块的成本重新排列预测信息合并候选。作为示例,预测信息合并候选可以被重新排列成使得将具有较小值的索引分配给从具有低成本的邻近块得出的预测信息合并候选。
在当前块被分割为多个分区时,可以针对每个分区单独地确定预测信息。作为示例,可以使用预测信息合并列表确定每个分区的预测信息。在这种情况下,对于分区中的每一个,指示预测信息合并候选之一的索引信息可以被编码并用信号通知。
替选地,可以基于邻近块的成本来确定关于每个分区的预测信息。
将关注于解码过程或编码过程描述的实施方式应用于编码过程或解码过程包括在本公开内容的范围内。将以预定顺序描述的实施方式修改为以与预定顺序不同的顺序的实施方式也包括在本公开内容的范围内。
尽管已经基于一系列步骤或流程图描述了上述公开内容,但这并不限制本公开内容的时间顺序,而且可以根据需要同时地或以不同顺序执行一系列步骤。另外,构成上述公开内容中的框图的部件(例如,单元、模块等)中的每一个可以被实现为硬件设备或软件,并且多个部件可以被组合以形成单个硬件设备或软件。可以以可以通过各种计算机部件执行并记录在计算机可读记录介质中的程序指令的形式来实现上述公开内容。计算机可读记录介质可以单独地或组合地包括程序指令、数据文件、数据结构等。计算机可读记录介质的示例包括诸如硬盘、软盘和磁带的磁性介质、诸如CD-ROM和DVD的光学记录介质、诸如软式光盘的磁光介质、以及专门配置以存储和执行程序指令的硬件设备例如ROM、RAM和闪存等。硬件设备可以被配置成作为一个或更多个软件模块来操作以执行根据本公开内容的处理,并且软件设备可以被配置成作为一个或更多个硬件模块来操作以执行根据本公开内容的处理。
工业适用性
本公开内容可以应用于可以对视频信号进行编码/解码的计算或电子设备。
Claims (15)
1.一种视频解码方法,所述方法包括:
针对当前块生成预测信息合并列表;
基于索引信息选择所述预测信息合并列表中包括的预测信息合并候选之一;以及
基于关于所选择的预测信息合并候选的预测信息来获得针对所述当前块的预测块,
其中:
所述预测信息包括译码模式信息,
在所述译码模式信息指示帧内预测的情况下,所述预测信息还包括帧内预测模式信息,以及
在所述译码模式信息指示帧间预测的情况下,所述预测信息还包括运动信息。
2.根据权利要求1所述的视频解码方法,其中,所述预测信息合并候选是基于关于与所述当前块相邻的邻近块的预测信息得出的。
3.根据权利要求1所述的视频解码方法,其中,分配给所述预测信息合并列表中的所述预测信息合并候选中的每一个的索引是基于用来得出所述预测信息合并候选的邻近块的成本来确定的。
4.根据权利要求3所述的视频解码方法,其中,所述成本是基于所述邻近块内的重构样本与预测样本之间的差的绝对值之和来计算的。
5.根据权利要求3所述的视频解码方法,其中,所述成本是基于所述邻近块内的预定义区域中包括的重构样本与预测样本之间的差的绝对值之和来计算的。
6.根据权利要求1所述的视频解码方法,其中,指示是否将预测信息合并模式应用于所述当前块的标志通过比特流显式地用信号通知。
7.根据权利要求1所述的视频解码方法,其中,在所述当前块被分割成多个分区的情况下,针对所述分区中的每一个用信号通知所述索引信息。
8.根据权利要求7所述的视频解码方法,其中,所述当前块由两条分割线分割,并且用于识别所述两条分割线中的每条分割线的方向和位置的信息被显式地用信号通知。
9.根据权利要求7所述的视频解码方法,其中,所述多个分区当中的邻近分区具有不同的预测信息。
10.一种视频编码方法,包括:
针对当前块生成预测信息合并列表;
从包括在所述预测信息合并列表中的预测信息合并候选当中选择与关于所述当前块的预测信息相同的预测信息合并候选;以及
对指示所选择的预测信息合并候选的索引信息进行编码,
其中:
所述预测信息包括译码模式信息,
在所述译码模式信息指示帧内预测的情况下,所述预测信息还包括帧内预测模式信息,以及
在所述译码模式信息指示帧间预测的情况下,所述预测信息还包括运动信息。
11.根据权利要求10所述的视频编码方法,其中,所述预测信息合并候选是基于关于与所述当前块相邻的邻近块的预测信息得出的。
12.根据权利要求10所述的视频编码方法,其中,分配给所述预测信息合并列表中的所述预测信息合并候选中的每一个的索引是基于用来得出所述预测信息合并候选的邻近块的成本来确定的。
13.根据权利要求10所述的视频编码方法,其中,在所述当前块被分割成多个分区的情况下,针对所述分区中的每一个编码所述索引信息。
14.根据权利要求13所述的视频编码方法,其中,所述多个分区当中的邻近分区具有不同的预测信息。
15.一种计算机可读记录介质,其存储由视频编码方法生成的比特流,所述视频编码方法包括:
针对当前块生成预测信息合并列表;
从包括在所述预测信息合并列表中的预测信息合并候选当中选择与关于所述当前块的预测信息相同的预测信息合并候选;以及
对指示所选择的预测信息合并候选的索引信息进行编码,
其中:
所述预测信息包括译码模式信息,
在所述译码模式信息指示帧内预测的情况下,所述预测信息还包括帧内预测模式信息,以及
在所述译码模式信息指示帧间预测的情况下,所述预测信息还包括运动信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0126625 | 2021-09-24 | ||
KR20210126625 | 2021-09-24 | ||
PCT/KR2022/014288 WO2023048512A1 (ko) | 2021-09-24 | 2022-09-23 | 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118044190A true CN118044190A (zh) | 2024-05-14 |
Family
ID=85720958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280063816.1A Pending CN118044190A (zh) | 2021-09-24 | 2022-09-23 | 视频信号编码/解码方法以及存储有比特流的记录介质 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4407985A1 (zh) |
KR (1) | KR20230043747A (zh) |
CN (1) | CN118044190A (zh) |
WO (1) | WO2023048512A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI612799B (zh) * | 2012-10-12 | 2018-01-21 | 韓國電子通信研究院 | 視訊編碼及解碼方法及使用該方法之裝置 |
KR20180085714A (ko) * | 2015-12-17 | 2018-07-27 | 삼성전자주식회사 | 머지 후보 리스트를 이용한 비디오 복호화 방법 및 비디오 복호화 장치 |
KR20180084662A (ko) * | 2017-01-16 | 2018-07-25 | 세종대학교산학협력단 | 영상 신호 부호화/복호화 방법 및 장치 |
KR102306562B1 (ko) * | 2017-11-27 | 2021-09-30 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치 |
CN117459722A (zh) * | 2018-11-12 | 2024-01-26 | 北京字节跳动网络技术有限公司 | 组合帧间-帧内预测的简化 |
-
2022
- 2022-09-22 KR KR1020220119789A patent/KR20230043747A/ko unknown
- 2022-09-23 CN CN202280063816.1A patent/CN118044190A/zh active Pending
- 2022-09-23 EP EP22873216.0A patent/EP4407985A1/en active Pending
- 2022-09-23 WO PCT/KR2022/014288 patent/WO2023048512A1/ko active Application Filing
Also Published As
Publication number | Publication date |
---|---|
KR20230043747A (ko) | 2023-03-31 |
EP4407985A1 (en) | 2024-07-31 |
WO2023048512A1 (ko) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113329224B (zh) | 视频信号编码/解码方法以及用于所述方法的设备 | |
CN109804627B (zh) | 图像编码/解码方法和设备 | |
CN109644281B (zh) | 用于处理视频信号的方法和设备 | |
CN113395519B (zh) | 视频信号编码/解码方法以及用于所述方法的设备 | |
CN112425160A (zh) | 用于对视频信号进行编码/解码的方法及其设备 | |
CN113382234B (zh) | 视频信号编码/解码方法以及用于所述方法的设备 | |
CN113574878A (zh) | 用于对视频信号进行编码/解码的方法及其设备 | |
CN112544083A (zh) | 图像信号编码/解码方法及用于其的装置 | |
CN114303369A (zh) | 视频信号处理方法和装置 | |
EP4407985A1 (en) | Video signal encoding/decoding method, and recording medium having bitstream stored thereon | |
EP4404566A1 (en) | Video signal encoding/decoding method and recording medium having bitstream stored therein | |
EP4404565A1 (en) | Video signal encoding/decoding method, and recording medium having bitstream stored thereon | |
CN117941356A (zh) | 视频信号编码/解码方法以及存储有比特流的记录介质 | |
US20240129528A1 (en) | Video signal encoding/decoding method and apparatus based on intra prediction, and recording medium storing bitstream | |
KR20240014456A (ko) | 영상 부호화/복호화 방법 및 비트스트림을 저장하는기록 매체 | |
KR20240034140A (ko) | 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체 | |
KR20240006458A (ko) | 영상 부호화/복호화 방법 및 비트스트림을 저장하는기록 매체 | |
KR20230142375A (ko) | 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체 | |
CN117813821A (zh) | 基于以子块为单元的帧内预测的视频信号编码/解码方法以及用于存储比特流的记录介质 | |
KR20230100677A (ko) | 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체 | |
CN114363629A (zh) | 图像编码方法、图像解码方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |