CN114270828A - 用于使用基于块类型的预测的图像编码和图像解码的方法和设备 - Google Patents
用于使用基于块类型的预测的图像编码和图像解码的方法和设备 Download PDFInfo
- Publication number
- CN114270828A CN114270828A CN202080058874.6A CN202080058874A CN114270828A CN 114270828 A CN114270828 A CN 114270828A CN 202080058874 A CN202080058874 A CN 202080058874A CN 114270828 A CN114270828 A CN 114270828A
- Authority
- CN
- China
- Prior art keywords
- block
- information
- prediction
- mode
- target block
- 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
Images
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/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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了一种用于使用基于块形状的预测的图像编码和图像解码的方法和设备。确定预测模式是否可用于目标块。基于所述目标块的形状来执行所述确定。当确定所述预测模式不可用于所述目标块时,省略与所述预测模式相关联的信令,并且执行另一预测模式的确定。当确定所述预测模式可用于目标块时,用信号发送指示所述预测模式是否将被用于所述目标块的信息。
Description
本申请要求于2019年6月20日提交的申请号为10-2019-0073733的韩国专利申请的权益和于2020年6月22日提交的申请号为10-2020-0075854的韩国专利申请的权益,所述韩国专利申请通过引用其全部而被包含到本申请中。
技术领域
以下实施例大体上涉及视频解码方法和设备以及视频编码方法和设备,并且更具体地,涉及用于使用基于块形状的预测的图像编码和图像解码的方法和设备。
背景技术
随着信息与通信行业的持续发展,支持高清晰度(HD)分辨率的广播服务已经在全世界普及。通过这种普及,大量用户已经习惯了高分辨率和高清晰度图像和/或视频。
为了满足用户对高清晰度的需求,大量机构已加速了对下一代成像装置的开发。除了高清TV(HDTV)和全高清(FHD)TV之外,用户对UHD TV的兴趣也已增加,其中,UHD TV的分辨率是全高清(FHD)TV的分辨率的四倍以上。随着其兴趣的增加,现在需要针对具有更高分辨率和更高清晰度的图像的图像编码/解码技术。
作为图像压缩技术,存在各种技术(诸如帧间预测技术、帧内预测技术、变换、量化技术和熵编码技术)。
帧间预测技术是用于使用当前画面之前的画面和/或当前画面之后的画面来预测包括在当前画面中的像素的值的技术。帧内预测技术是用于使用关于当前画面中的像素的信息来预测当前画面中包括的像素的值的技术。变换和量化技术可以是用于压缩残差信号的能量的技术。熵编码技术是用于将短码字分配给频繁出现的值并将长码字分配给较不频繁出现的值的技术。
通过利用这些图像压缩技术,可有效地压缩、发送和存储关于图像的数据。
发明内容
技术问题
实施例旨在提供一种用于基于目标块的形状来限制帧内预测模式的设备和方法。
技术方案
根据一方面,提供了一种预测方法,包括:确定针对目标块的预测方法的可用性;当所述预测方法被确定为可用时,确定所述预测方法是否将被使用;并且当所述预测方法被确定为将被使用时,使用所述预测方法针对所述目标块执行预测。
有益效果
提供了一种用于基于目标块的形状来限制帧内预测模式的设备和方法。
附图说明
图1是示出被应用了本公开的编码设备的实施例的配置的框图;
图2是示出被应用了本公开的解码设备的实施例的配置的框图;
图3是示意性地示出当图像被编码和解码时图像的分区结构的示图;
图4是示出编码单元(CU)能够包括的预测单元(PU)的形式的示图;
图5是示出能够被包括在编码单元(CU)中的变换单元(TU)的形式的示图;
图6示出根据示例的块的划分;
图7是用于解释帧内预测过程的实施例的示图;
图8是示出帧内预测过程中使用的参考样点的示图;
图9是用于解释帧间预测过程的实施例的示图;
图10示出根据实施例的空间候选;
图11示出根据实施例的将空间候选的运动信息添加到合并列表的顺序;
图12示出根据示例的变换和量化处理;
图13示出根据示例的对角线扫描;
图14示出根据示例的水平扫描;
图15示出根据示例的垂直扫描;
图16是根据实施例的编码设备的配置图;
图17是根据实施例的解码设备的配置图;
图18示出根据示例的基于线的帧内预测;
图19示出根据示例的针对目标块的基本帧内预测;
图20示出根据示例的针对目标块的基于线的帧内预测;
图21示出根据示例的目标块被划分为两个子块的帧内子分区(ISP);
图22示出根据示例的目标块被分区为四个子块的ISP;
图23示出根据示例的根据目标块的尺寸的ISP执行方法;
图24示出根据示例的根据ISP的可用性和ISP模式的可用性而被用信号发送的比特;
图25是根据实施例的根据目标块的编码参数的选择性编码/解码方法的流程图;
图26是根据实施例的用于根据目标块的形状来限制地使用ISP的编码方法的流程图;
图27是根据实施例的用于根据目标块的形状来限制地使用ISP的解码方法的流程图;
图28示出根据示例的根据ISP的限制使用而将被用信号发送的信息量的减少;
图29示出根据示例的在基于序列参数确定是否将执行可用性的确定的情况下用信号发送设置信息的语法;
图30示出根据示例的在基于画面参数确定是否将执行可用性的确定的情况下用信号发送设置信息的语法;
图31示出根据示例的在基于并行块组头确定是否将执行可用性的确定的情况下用信号发送设置信息的语法;
图32示出应用用信号发送设置信息的编码单元的语法;
图33是根据示例的用于根据ISP的可用性省略用信号发送ISP信息的操作的方法的流程图;
图34是根据示例的用于根据ISP的可用性保持用信号发送ISP信息的操作的方法的流程图;
图35是示出根据实施例的目标块预测方法和比特流生成方法的流程图;以及
图36是示出根据实施例的使用比特流的目标块预测方法的流程图。
具体实施方式
本发明可被各种改变,并且可具有各种实施例,下面将参照附图详细地描述特定实施例。然而,应理解,这些实施例不意图将本发明限制为特定的公开形式,它们包括本发明的精神和范围内所包括的所有变化、等同形式或修改形式。
将参照示出特定实施例的附图对以下示例性实施例进行详细描述。描述这些实施例,使得本公开所属技术领域的普通技术人员能够容易地实施这些实施例。应注意,各种实施例彼此不同,但不需要彼此互斥。例如,在此描述的特定形状、结构和特性可在不脱离与一个实施例相关的其它实施例的精神和范围的情况下被实现为所述其它实施例。此外,应理解,在不脱离实施例的精神和范围的情况下,能够改变在每个公开的实施例中的各个组件的位置或布置。因此,所附的详细描述并非旨在限制本公开的范围,并且示例性实施例的范围仅由所附的权利要求及其等同物(只要它们被适当地描述)限定。
在附图中,相似的参考标号被用于在各个方面指定相同或相似的功能。附图中的组件的形状、尺寸等可被夸大以使得描述清楚。
诸如“第一”和“第二”的术语可用于描述各种组件,但是组件不受所述术语限制。所述术语仅用于将一个组件与另一个组件区分开。例如,在不脱离本说明书的范围的情况下,第一组件可被称为第二组件。类似地,第二组件可被称为第一组件。术语“和/或”可包括多个相关描述项的组合或者多个相关描述项中的任意一个。
将理解的是,当组件被称为“连接”或“结合”到另一组件时,所述两个组件可彼此直接连接或结合,或者在所述两个组件之间可存在中间组件。另一方面,将理解的是,当组件被称为“直接连接或结合”时,在所述两个组件之间不存在中间组件。
此外,在实施例中描述的组件被独立地示出以指示不同的特征功能,但是这并不意味着每个组件由单独的一个硬件或软件形成。也就是说,为了方便描述,多个组件被单独地布置和包括。例如,多个组件中的至少两个组件可被集成为单个组件。相反,一个组件可被划分为多个组件。只要不脱离本说明书的本质,多个组件被集成的实施例或一些组件被分离的实施例被包括在本说明书的范围中。
此外,在示例性实施例中,描述组件“包括”特定组件的表述意指另外的组件可被包括在示例性实施例的实践或技术精神的范围内,但是不排除存在除了所述特定组件之外的组件。
在本说明书中使用的术语仅用于描述特定实施例,并不意图限制本发明。单数表述包括复数表述,除非在上下文中具体指出相反的描述。在本说明书中,应理解,诸如“包括”或“具有”的术语仅意图指示存在特征、数字、步骤、操作、组件、部件或它们的组合,而不意图排除将存在或添加一个或更多个其它特征、数字、步骤、操作、组件、部件或它们的组合的可能。也就是说,在本发明中,描述组件“包括”特定组件的表述意指另外的组件可被包括在本发明的实践或本发明的技术精神的范围内,但是不排除存在除了所述特定组件之外的组件。
本发明的一些组件不是用于执行必要功能的必要组件,而可以是仅用于改善性能的可选组件。可仅使用用于实现实施例的本质的必要组件来实现实施例。例如,仅包括必要组件(不包括仅用于改善性能的可选组件)的结构也包括在实施例的范围内。
下面将参照附图来详细描述实施例,使得实施例所属技术领域的普通技术人员能够容易地实现实施例。在实施例的以下描述中,被视为使本说明书的要点模糊的公知功能或配置的详细描述将被省略。此外,相同的参考标号在整个附图中用于指定相同的组件,并且将省略对相同组件的重复描述。
在下文中,“图像”可表示构成视频的单个画面,或者可表示视频本身。例如,“对图像的编码和/或解码”可表示“对视频的编码和/或解码”,并且也可表示“对构成视频的多个图像中的任意一个图像的编码和/或解码”。
在下文中,术语“视频”和“运动画面”可被用于具有相同的含义,并且可彼此互换使用。
在下文中,目标图像可以是作为将被编码的目标的编码目标图像和/或作为将被解码的目标的解码目标图像。此外,目标图像可以是被输入到编码设备的输入图像或者被输入到解码设备的输入图像。并且,目标图像可以是当前图像,即,当前将被编码和/或解码的目标。例如,术语“目标图像”和“当前图像”可被用于具有相同的含义,并且可彼此互换使用。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用于具有相同的含义,并且可彼此互换使用。
在下文中,目标块可以是编码目标块(即,将被编码的目标)和/或解码目标块(即,将被解码的目标)。此外,目标块可以是当前块,即,当前将被编码和/或解码的目标。这里,术语“目标块”和“当前块”可被用于具有相同的含义,并且可彼此互换使用。当前块可表示在编码期间作为编码目标的编码目标块和/或在解码期间作为解码目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
在下文中,术语“块”和“单元”可被用于具有相同的含义,并且可彼此互换使用。可选地,“块”可表示特定单元。
在下文中,术语“区域”和“片段”可彼此互换使用。
在下文中,特定信号可以是指示特定块的信号。例如,原始信号可以是指示目标块的信号。预测信号可以是指示预测块的信号。残差信号可以是指示残差块的信号。
在以下的实施例中,特定的信息、数据、标志、索引、元素和属性可具有它们各自的值。与所述信息、数据、标志、索引、元素和属性中的每一个对应的值“0”可指示逻辑假或第一预定义值。换句话说,值“0”、假、逻辑假和第一预定义值可彼此互换使用。与所述信息、数据、标志、索引、元素和属性中的每一个对应的值“1”可指示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可彼此互换使用。
当诸如i或j的变量被用于指示行、列或索引时,值i可以是整数0或大于0的整数,或者可以是整数1或大于1的整数。换句话说,在实施例中,行、列和索引中的每一个可从0开始计数,或者可从1开始计数。
在实施例中,术语“一个或更多个”或术语“至少一个”可表示术语“多个”。术语“一个或更多个”或术语“至少一个”可与“多个”互换使用。
下面,将描述将在实施例中使用的术语。
编码器:编码器表示用于执行编码的装置。也就是说,编码器可表示编码设备。
解码器:解码器表示用于执行解码的装置。也就是说,解码器可表示解码设备。
单元:“单元”可表示图像编码和解码的单元。术语“单元”和“块”可被用于具有相同的含义,并且可彼此互换使用。
–单元可以是M×N的样点阵列。M和N中的每一个可以是正整数。单元通常可表示二维形式的样点阵列。
–在图像的编码和解码过程中,“单元”可以是通过对一个图像进行分区而生成的区域。换句话说,“单元”可以是在一个图像中指定的区域。单个图像可被分区为多个单元。可选地,一个图像可被分区为子部分,并且单元可表示在对分区出的子部分执行编码或解码时每个分区出的子部分。
–在图像的编码和解码过程中,可根据单元的类型对每个单元执行预定义的处理。
–根据功能,单元类型可被分类为宏单元、编码单元(CU)、预测单元(PU)、残差单元、变换单元(TU)等。可选地,根据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。例如,作为编码和/或解码的目标的目标单元可以是CU、PU、残差单元和TU中的至少一个。
–术语“单元”可表示包括亮度(luma)分量块、与亮度分量块对应的色度(chroma)分量块、以及用于各个块的语法元素的信息,使得单元被指定为与块区分开。
–单元的尺寸和形状可被不同地实现。此外,单元可具有各种尺寸和形状中的任意一种。具体地,单元的形状不仅可包括正方形,还可包括可以以二维(2D)表示的几何形状(诸如,矩形、梯形、三角形和五边形)。
此外,单元信息可包括单元的类型、单元的尺寸、单元的深度、单元的编码顺序和单元的解码顺序等中的一个或更多个。例如,单元的类型可指示CU、PU、残差单元和TU中的一个。
–一个单元可被分区为子单元,每个子单元具有比相关单元的尺寸更小的尺寸。
深度:深度可表示单元被分区的程度。此外,单元的深度可指示当由树结构表示单元时对应单元存在的等级。
–单元分区信息可包括指示单元的深度的深度。深度可指示单元被分区的次数和/或单元被分区的程度。
–在树结构中,可认为根节点的深度最小并且叶节点的深度最大。根节点可以是最高(顶部)节点。叶节点可以是最低节点。
–单个单元可被分层分区为多个子单元,同时所述单个单元具有基于树结构的深度信息。换句话说,单元和通过对该单元进行分区而生成的子单元可分别对应于节点和该节点的子节点。每个被分区出的子单元可具有单元深度。由于深度指示单元被分区的次数和/或单元被分区的程度,因此子单元的分区信息可包括关于所述子单元的尺寸的信息。
在树结构中,顶部节点可对应于进行分区之前的初始节点。顶部节点可被称为“根节点”。此外,根节点可具有最小深度值。这里,顶部节点的深度可为等级“0”。
–深度为等级“1”的节点可表示在初始单元被分区一次时所生成的单元。深度为等级“2”的节点可表示在初始单元被分区两次时所生成的单元。
–深度为等级“n”的叶节点可表示在初始单元被分区n次时所生成的单元。
–叶节点可以是不能被进一步分区的底部节点。叶节点的深度可以是最大等级。例如,针对最大等级的预定义值可以是3。
–QT深度可表示针对四分区的深度。BT深度可表示针对二分区的深度。TT深度可表示针对三分区的深度。
–样点:样点可以是构成块的基本单元。可用从根据比特深度(Bd)的0到2Bd-1的值来表示样点。
–样点可以是像素或像素值。
–在下文中,术语“像素”和“样点”可被用于具有相同含义,并且可彼此互换使用。
编码树单元(CTU):CTU可由单个亮度分量(Y)编码树块和与亮度分量编码树块相关的两个色度分量(Cb,Cr)编码树块构成。此外,CTU可表示包括上述块以及用于每个块的语法元素的信息。
–可使用一个或更多个分区方法(诸如四叉树(QT)、二叉树(BT)和三叉树(TT))对每个编码树单元(CTU)进行分区,以便配置子单元,诸如编码单元、预测单元和变换单元。四叉树可表示四元树。此外,可使用一个或更多个分区方法,利用多类型树(MTT)对每个编码树单元进行分区。
–“CTU”可被用作指定在图像解码和编码处理中(如在对输入图像进行分区的情况下)作为处理单元的像素块的术语。
编码树块(CTB):“CTB”可被用作指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。
邻近块:邻近块(或邻近的块)可表示与目标块相邻的块。邻近块可表示重建的邻近块。
在下文中,术语“邻近块”和“相邻块”可被用于具有相同的含义,并且可彼此互换地使用。
邻近块可表示重建的邻近块。
空间邻近块:空间邻近块可以是在空间上与目标块相邻的块。邻近块可包括空间邻近块。
–目标块和空间邻近块可被包括在目标画面中。
–空间邻近块可表示边界与目标块接触的块或者位于距目标块预定距离内的块。
–空间邻近块可表示与目标块的顶点相邻的块。这里,与目标块的顶点相邻的块可表示与水平相邻于目标块的邻近块垂直相邻的块或者与垂直相邻于目标块的邻近块水平相邻的块。
时间邻近块:时间邻近块可以是在时间上与目标块相邻的块。邻近块可包括时间邻近块。
–时间邻近块可包括同位块(col块)。
–col块可以是先前重建的同位画面(col画面)中的块。col块在col画面中的位置可与目标块在目标画面中的位置对应。可选地,col块在col画面中的位置可等于目标块在目标画面中的位置。col画面可以是参考画面列表中包括的画面。
–时间邻近块可以是在时间上与目标块的空间邻近块相邻的块。
预测模式:预测模式可以是指示为了帧内预测而执行编码和/或解码的模式或者为了帧间预测而执行编码和/或解码的模式的信息。
预测单元:预测单元可以是用于预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)的基本单元。
–单个预测单元可被划分为具有更小尺寸的多个分区或者子预测单元。所述多个分区也可以是在执行预测或补偿时的基本单元。通过对预测单元进行划分所生成的分区也可以是预测单元。
预测单元分区:预测单元分区可以是预测单元被划分为的形状。
重建的邻近单元:重建的邻近单元可以是与目标单元邻近的已经被解码和重建的单元。
–重建的邻近单元可以是在空间上与目标单元相邻或者在时间上与目标单元相邻的单元。
–重建的空间邻近单元可以是目标画面中所包括的已经通过编码和/或解码被重建的单元。
–重建的时间邻近单元可以是参考图像中所包括的已经通过编码和/或解码被重建的单元。重建的时间邻近单元在参考图像中的位置可与目标单元在目标画面中的位置相同,或者可与目标单元在目标画面中的位置对应。此外,重建的时间邻近单元可以是与参考图像中的对应块邻近的块。这里,所述对应块在参考图像中的位置可与目标块在目标图像中的位置对应。这里,块的位置彼此对应的事实可表示块的位置彼此相同,可表示一个块被包括在另一个块中,或者可表示一个块占据另一个块中的特定位置。
子画面:画面可被划分为一个或更多个子画面。子画面可由一个或更多个并行块行和一个或更多个并行块列组成。
–子画面可以是画面中具有正方形或矩形(即,非正方形的矩形)形状的区域。此外,子画面可包括一个或更多个CTU。
–单个子画面可包括一个或更多个并行块、一个或更多个分块(brick)和/或一个或更多个条带。
并行块:并行块可以是画面中具有正方形或矩形(即,非正方形的矩形)形状的区域。
–并行块可包括一个或更多个CTU。
–并行块可被分区成一个或更多个分块。
分块:分块可表示并行块中的一个或更多个CTU行。
–并行块可被分区成一个或更多个分块。每个分块可包括一个或更多个CTU行。
–未被分区成两部分的并行块也可表示分块。
条带:条带可包括画面中的一个或更多个并行块。可选地,条带可包括并行块中的一个或更多个分块。
参数集:参数集可与比特流的内部结构中的头信息对应。
–参数集可包括视频参数集(VPS)、序列参数集(SPS)、画面参数集(PPS)、自适应参数集(APS)、解码参数集(DPS)等中的至少一个。
通过每个参数集用信号发送的信息可被应用于参考对应参数集的画面。例如,VPS中的信息可被应用于参考VPS的画面。SPS中的信息可被应用于参考SPS的画面。PPS中的信息可被应用于参考PPS的画面。
每个参数集可参考更高的参数集。例如,PPS可参考SPS。SPS可参考VPS。
此外,参数集可包括并行块组、条带头信息和并行块头信息。并行块组可以是包括多个并行块的组。此外,“并行块组”的含义可与“条带”的含义相同。
率失真优化:编码设备可使用率失真优化以便通过利用以下项的组合来提供高编码效率:编码单元(CU)的尺寸、预测模式、预测单元(PU)的尺寸、运动信息和变换单元(TU)的尺寸。
–率失真优化方案可计算各个组合的率失真代价以从这些组合中选择最优组合。可使用方程式“D+λ*R”来计算率失真代价。通常,可将使率失真代价最小的组合选为在率失真优化方案下的最优组合。
–D可表示失真。D可以是变换单元中的原始变换系数与重建的变换系数之间的差值的平方的平均值(即,均方误差)。
–R可表示所述率,其可使用相关上下文信息来表示比特率。
–λ表示拉格朗日乘数。R不仅可包括编码参数信息(诸如预测模式、运动信息和编码块标志),还可包括由于对变换系数进行编码而生成的比特。
–编码设备可执行诸如帧间预测和/或帧内预测、变换、量化、熵编码、逆量化(反量化)和/或逆变换的过程,以便计算精确的D和R。这些过程会大大增加编码设备的复杂度。
比特流:比特流可表示包括编码图像信息的比特的流。
参数集:参数集可与比特流的内部结构中的头信息对应。
解析:解析可以是通过对比特流执行熵解码而做出的对语法元素的值的判定。可选地,术语“解析”可表示这种熵解码本身。
符号:符号可以是编码目标单元和/或解码目标单元的语法元素、编码参数和变换系数中的至少一个。此外,符号可以是熵编码的目标或熵解码的结果。
参考画面:参考画面可以是被单元参考以便执行帧间预测或运动补偿的图像。可选地,参考画面可以是包括被目标单元参考以便执行帧间预测或运动补偿的参考单元的图像。
在下文中,术语“参考画面”和“参考图像”可被用于具有相同的含义,并且可彼此互换使用。
参考画面列表:参考画面列表可以是包括被用于帧间预测或运动补偿的一个或更多个参考图像的列表。
–参考画面列表的类型可包括组合列表(LC)、列表0(L0)、列表1(L1)、列表2(L3)、列表3(L3)等。
–对于帧间预测,可使用一个或更多个参考画面列表。
帧间预测指示符:帧间预测指示符可指示针对目标单元的帧间预测方向。帧间预测可以是单向预测和双向预测之一。可选地,帧间预测指示符可表示用于生成目标单元的预测单元的参考画面的数量。可选地,帧间预测指示符可表示用于目标单元的帧间预测或运动补偿的预测块的数量。
预测列表利用标志:预测列表利用标志可指示是否使用特定参考画面列表中的至少一个参考画面来生成预测单元。
–可使用预测列表利用标志来推导帧间预测指示符。相反,可使用帧间预测指示符来推导预测列表利用标志。例如,预测列表利用标志指示“0”(作为第一值)的情况可指示对于目标单元,不使用参考画面列表中的参考画面来生成预测块。预测列表利用标志指示“1”(作为第二值)的情况可指示对于目标单元,使用参考画面列表生成预测单元。
参考画面索引:参考画面索引可以是指示参考画面列表中的特定参考画面的索引。
画面顺序计数(POC):画面的POC值可表示显示对应画面的顺序。
运动矢量(MV):运动矢量可以是用于帧间预测或运动补偿的2D矢量。运动矢量可表示目标图像与参考图像之间的偏移。
–例如,可以以诸如(mvx,mvy)的形式来表示MV。mvx可指示水平分量,mvy可指示垂直分量。
搜索范围:搜索范围可以是在帧间预测期间执行针对MV的搜索的2D区域。例如,搜索范围的尺寸可以是M×N。M和N可分别是正整数。
运动矢量候选:运动矢量候选可以是在运动矢量被预测时作为预测候选的块或者作为预测候选的块的运动矢量。
–运动矢量候选可被包括在运动矢量候选列表中。
运动矢量候选列表:运动矢量候选列表可以是使用一个或更多个运动矢量候选配置的列表。
运动矢量候选索引:运动矢量候选索引可以是用于指示运动矢量候选列表中的运动矢量候选的指示符。可选地,运动矢量候选索引可以是运动矢量预测因子的索引。
运动信息:运动信息可以是包括参考画面列表、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引中的至少一个以及运动矢量、参考画面索引和帧间预测指示符的信息。
合并候选列表:合并候选列表可以是使用一个或更多个合并候选配置的列表。
合并候选:合并候选项可以是空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选、基于历史的候选、基于两个候选的平均值的候选、零合并候选等。合并候选可包括帧间预测指示符,且可包括运动信息,诸如预测类型信息、用于每个列表的参考画面索引、运动矢量、预测列表利用标志和帧间预测指示符。
合并索引:合并索引可以是用于指示合并候选列表中的合并候选的指示符。
–合并索引可指示在空间上与目标单元相邻的重建单元和在时间上与目标单元相邻的重建单元之中的用于推导合并候选的重建单元。
–合并索引可指示合并候选的多条运动信息中的至少一条。
变换单元:变换单元可以是残差信号编码和/或残差信号解码(诸如变换、逆变换、量化、反量化、变换系数编码和变换系数解码)的基本单元。单个变换单元可被分区成具有较小尺寸的多个子变换单元。这里,变换可包括初级变换和次级变换中的一个或更多个,并且逆变换可包括初级逆变换和次级逆变换中的一个或更多个。
缩放:缩放可表示将因子乘以变换系数等级的过程。
–作为对变换系数等级进行缩放的结果,可生成变换系数。缩放也可被称为“反量化”。
量化参数(QP):量化参数可以是用于在量化中生成针对变换系数的变换系数等级的值。可选地,量化参数也可以是用于在反量化中通过对变换系数等级进行缩放来生成变换系数的值。可选地,量化参数可以是被映射到量化步长的值。
变量增量(Delta)量化参数:变量增量量化参数可表示目标单元的量化参数与预测出的量化参数之间的差值。
扫描:扫描可表示对单元、块或矩阵中的系数顺序进行排列的方法。例如,用于按照一维(1D)阵列的形式对2D阵列进行排列的方法可被称为“扫描”。可选地,用于按照2D阵列的形式对1D阵列进行排列的方法也可被称为“扫描”或“逆扫描”。
变换系数:变换系数可以是在编码设备执行变换时生成的系数值。可选地,变换系数可以是在解码设备执行熵解码和反量化中的至少一个时生成的系数值。
–通过将量化应用于变换系数或残差信号而生成的量化的等级或量化的变换系数等级也可被包括在术语“变换系数”的含义中。
量化的等级:量化的等级可以是在编码设备对变换系数或残差信号执行量化时生成的值。可选地,量化的等级可以是在解码设备执行反量化时作为反量化的目标的值。
–作为变换和量化的结果的量化的变换系数等级也可被包括在量化的等级的含义中。
非零变换系数:非零变换系数可以是具有除了0之外的值的变换系数,或者可以是具有除了0之外的值的变换系数等级。可选地,非零变换系数可以是值的幅度不为0的变换系数,或者可以是值的幅度不为0的变换系数等级。
量化矩阵:量化矩阵可以是在量化过程或反量化过程中使用以便提高图像的主观图像质量或客观图像质量的矩阵。量化矩阵也可被称为“缩放列表”。
量化矩阵系数:量化矩阵系数可以是量化矩阵中的每个元素。量化矩阵系数也可被称为“矩阵系数”。
默认矩阵:默认矩阵可以是被编码设备和解码设备预先定义的量化矩阵。
非默认矩阵:非默认矩阵可以是未被编码设备和解码设备预先定义的量化矩阵。非默认矩阵可表示由用户从编码设备用信号发送到解码设备的量化矩阵。
最可能模式(MPM):MPM可表示高概率被用于针对目标块的帧内预测的帧内预测模式。
编码设备和解码设备可基于与目标块相关的编码参数以及与目标块相关的实体的属性来确定一个或更多个MPM。
–编码设备和解码设备可基于参考块的帧内预测模式来确定一个或更多个MPM。参考块可包括多个参考块。多个参考块可包括与目标块的左侧相邻的空间邻近块和与目标块的上方相邻的空间邻近块。换句话说,根据哪些帧内预测模式已经被用于参考块,可确定一个或更多个不同的MPM。
–可在编码设备和解码设备两者中以相同的方式确定一个或更多个MPM。也就是说,编码设备和解码设备可共享包括一个或更多个MPM的相同MPM列表。
MPM列表:MPM列表可以是包括一个或更多个MPM的列表。可预先定义MPM列表中的一个或更多个MPM的数量。
MPM指示符:MPM指示符可指示MPM列表中的一个或更多个MPM之中的将被用于针对目标块的帧内预测的MPM。例如,MPM指示符可以是用于MPM列表的索引。
–由于在编码设备和解码设备两者中以相同的方式确定MPM列表,因此可不需要将MPM列表本身从编码设备发送到解码设备。
–MPM指示符可从编码设备被用信号发送到解码设备。由于MPM指示符被用信号发送,解码设备可确定MPM列表中的MPM之中的将被用于针对目标块的帧内预测的MPM。
MPM使用指示符:MPM使用指示符可指示MPM使用模式是否将被用于针对目标块的预测。MPM使用模式可以是使用MPM列表来确定将被用于针对目标块的帧内预测的MPM的模式。
–MPM使用指示符可从编码设备被用信号发送到解码设备。
信令:“信令”可表示信息从编码设备被发送到解码设备。可选地,“信令”可表示信息被包括在比特流或记录介质中。由编码设备用信号发送的信息可被解码设备使用。
–编码设备可通过对将被用信号发送的信息执行编码来生成编码信息。编码信息可从编码设备发送到解码设备。解码设备可通过对所发送的编码信息进行解码来获得信息。这里,编码可以是熵编码,并且解码可以是熵解码。
统计值:变量、编码参数、常数等可具有可计算的值。统计值可以是通过对指定目标的值执行计算(运算)而生成的值。例如,统计值可指示特定变量、特定编码参数、特定常数等的值的平均值、加权平均值、加权和、最小值、最大值、众数、中值及插值中的一个或更多个。
图1是示出被应用了本公开的编码设备的实施例的配置的框图。
编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括一个或更多个图像(画面)。编码设备100可顺序地对视频的一个或更多个图像进行编码。
参照图1,编码设备100包括帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化(逆量化)单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。
编码设备100可使用帧内模式和/或帧间模式对目标图像执行编码。换句话说,目标块的预测模式可以是帧内模式和帧间模式中的一个。
在下文中,术语“帧内模式”、“帧内预测模式”、“画面内模式”和“画面内预测模式”可被用于具有相同的含义,并且可彼此互换使用。
在下文中,术语“帧间模式”、“帧间预测模式”、“画面间模式”和“画面间预测模式”可被用于具有相同的含义,并且可彼此互换使用。
在下文中,术语“图像”可仅指示部分图像,或者可指示块。此外,“图像”的处理可指示多个块的顺序处理。
此外,编码设备100可通过对目标图像进行编码来生成包括编码的信息的比特流,并且可输出和存储生成的比特流。生成的比特流可被存储在计算机可读存储介质中,并且可通过有线和/或无线传输介质被流传输。
当帧内模式被用作预测模式时,切换器115可切换到帧内模式。当帧间模式被用作预测模式时,切换器115可切换到帧间模式。
编码设备100可生成目标块的预测块。此外,在已生成了预测块之后,编码设备100可使用目标块与预测块之间的残差对用于目标块的残差块进行编码。
当预测模式是帧内模式时,帧内预测单元120可将与目标块相邻的先前被编码/解码的邻近块的像素用作参考样点。帧内预测单元120可使用所述参考样点对目标块执行空间预测,并且可经由空间预测针对目标块生成预测样点。预测样点可表示在预测块中的样点。
帧间预测单元110可包括运动预测单元和运动补偿单元。
当预测模式是帧间模式时,运动预测单元可在运动预测过程中在参考图像中搜索与目标块最匹配的区域,并且可基于找到的区域针对目标块和找到的区域推导运动矢量。这里,运动预测单元可将搜索范围用作用于搜索的目标区域。
参考图像可被存储在参考画面缓冲器190中。更具体地讲,当参考图像的编码和/或解码已被处理时,被编码和/或解码的参考图像可被存储在参考画面缓冲器190中。
由于存储了被解码的画面,因此参考画面缓冲器190可以是解码画面缓冲器(DPB)。
运动补偿单元可通过使用运动矢量执行运动补偿来生成针对目标块的预测块。这里,运动矢量可以是用于帧间预测的二维(2D)矢量。此外,运动矢量可指示目标图像与参考图像之间的偏移。
当运动矢量具有除了整数之外的值时,运动预测单元和运动补偿单元可通过将插值滤波器应用于参考图像的部分区域来生成预测块。为了执行帧间预测或运动补偿,可确定跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式中的哪一种模式对应于用于基于CU对CU中包括的PU的运动进行预测并对该运动进行补偿的方法,并且可根据该模式执行帧间预测或运动补偿。
减法器125可生成残差块,其中,残差块是目标块与预测块之间的差。残差块也可被称为“残差信号”。
残差信号可以是原始信号与预测信号之间的差。可选地,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化而生成的信号或者通过对该差进行变换和量化而生成的信号。残差块可以是针对块单元的残差信号。
变换单元130可通过对残差块进行变换来生成变换系数,并且可输出生成的变换系数。这里,变换系数可以是通过对残差块进行变换而生成的系数值。
变换单元130可在执行变换时使用多个预定义的变换方法中的一个。
所述多个预定义的变换方法可包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen-Loeve变换(KLT)等。
可根据针对目标块和/或邻近块的编码参数中的至少一个来确定用于对残差块进行变换的变换方法。例如,可基于针对PU的帧间预测模式、针对PU的帧内预测模式、TU的尺寸以及TU的形状中的至少一个来确定变换方法。可选地,指示变换方法的变换信息可从编码设备100被用信号发送到解码设备200。
当使用变换跳过模式时,变换单元130可省略对残差块进行变换的操作。
通过对变换系数实施量化,可生成量化的变换系数等级或者量化的等级。在下文中,在实施例中,量化的变换系数等级和量化的等级中的每一个也可被称为“变换系数”。
量化单元140可通过根据量化参数对变换系数进行量化来生成量化的变换系数等级(即,量化的等级或量化的系数)。量化单元140可输出生成的量化的变换系数等级。在这种情况下,量化单元140可使用量化矩阵对变换系数进行量化。
熵编码单元150可通过基于由量化单元140计算出的值和/或在编码过程中计算出的编码参数值执行基于概率分布的熵编码来生成比特流。熵编码单元150可输出生成的比特流。
熵编码单元150可对关于图像的像素的信息以及对图像进行解码所需的信息执行熵编码。例如,对图像进行解码所需的信息可包括语法元素等。
当应用熵编码时,可将更少的比特分配给更频繁出现的符号,并且可将更多的比特分配给很少出现的符号。由于通过该分配来表示符号,因此可减少用于将被编码的目标符号的比特串的大小。因此,通过熵编码可提高视频编码的压缩性能。
此外,为了进行熵编码,熵编码单元150可使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)的编码方法。例如,熵编码单元150可使用可变长度编码/码(VLC)表来执行熵编码。例如,熵编码单元150可推导用于目标符号的二值化方法。此外,熵编码单元150可推导用于目标符号/二进制位的概率模型。熵编码单元150可使用推导出的二值化方法、概率模型和上下文模型来执行算术编码。
熵编码单元150可通过变换系数扫描方法将2D块形式的系数变换为1D矢量形式,以便对量化的变换系数等级进行编码。
编码参数可以是编码和/或解码所需的信息。编码参数可包括由编码设备100编码且从编码设备100发送到解码设备的信息,并且还可包括可在编码或解码过程中推导的信息。例如,发送到解码设备的信息可包括语法元素。
编码参数不仅可包括由编码设备编码并由编码设备用信号发送到解码设备的诸如语法元素的信息(或标志或索引),还可包括在编码或解码处理中推导的信息。此外,编码参数可包括对图像进行编码或解码所需的信息。例如,编码参数可包括以下项中的至少一个值、以下项的组合或统计:单元/块的尺寸、单元/块的形状/形式、单元/块的深度、单元/块的分区信息、单元/块的分区结构、指示单元/块是否以四叉树结构被分区的信息、指示单元/块是否以二叉树结构被分区的信息、二叉树结构的分区方向(水平方向或垂直方向)、二叉树结构的分区形式(对称分区或非对称分区)、指示单元/块是否以三叉树结构被分区的信息、三叉树结构的分区方向(水平方向或垂直方向)、三叉树结构的分区形式(对称分区或非对称分区等)、指示单元/块是否以多类型树结构被分区的信息、多类型树结构的分区的组合及方向(水平方向或垂直方向等)、多类型树结构的分区的分区形式(对称分区或非对称分区等)、多类型树形式的分区树(二叉树或三叉树)、预测类型(帧内预测或帧间预测)、帧内预测模式/方向、帧内亮度预测模式/方向、帧内色度预测模式/方向、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波方法、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波方法、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波方法、预测块边界滤波器抽头、预测块边界滤波器系数、帧间预测模式、运动信息、运动矢量、运动矢量差、参考画面索引、帧间预测方向、帧间预测指示符、预测列表利用标志、参考画面列表、参考图像、POC、运动矢量预测因子、运动矢量预测索引、运动矢量预测候选、运动矢量候选列表、指示合并模式是否被使用的信息、合并索引、合并候选、合并候选列表、指示跳过模式是否被使用的信息、插值滤波器的类型、插值滤波器的抽头、插值滤波器的滤波器系数、运动矢量的大小、运动矢量表示的精确度、变换类型、变换大小、指示第一变换是否被使用的信息、指示附加(第二)变换是否被使用的信息、第一变换选择信息(或第一变换索引)、第二变换选择信息(或第二变换索引)、指示残差信号存在或不存在的信息、编码块样式、编码块标志、量化参数、残差量化参数、量化矩阵、关于环内滤波器的信息、指示环内滤波器是否被应用的信息、环内滤波器的系数、环内滤波器的抽头、环内滤波器的形状/形式、指示去块滤波器是否被应用的信息、去块滤波器的系数、去块滤波器的抽头、去块滤波器强度、去块滤波器的形状/形式、指示自适应样点偏移是否被应用的信息、自适应样点偏移的值、自适应样点偏移的类别、自适应样点偏移的类型、指示自适应环路滤波器是否被应用的信息、自适应环路滤波器的系数、自适应环路滤波器的抽头、自适应环路滤波器的形状/形式、二值化/反二值化方法、上下文模型、上下文模型决定方法、上下文模型更新方法、指示常规模式是否被执行的信息、指示旁路(bypass)模式是否被执行的信息、有效系数标志、最后有效系数标志、系数组的编码标志、最后有效系数的位置、指示系数的值是否大于1的信息、指示系数的值是否大于2的信息、指示系数的值是否大于3的信息、剩余系数值信息、符号信息、重建亮度样点、重将色度样点、上下文二进制位、旁路二进制位、残差亮度样点、残差色度样点、变换系数、亮度变换系数、色度变换系数、量化的等级、亮度量化的等级、色度量化的等级、变换系数等级、变换系数等级扫描方法、解码设备侧的运动矢量搜索区域的尺寸、解码设备侧的运动矢量搜索区域的形状/形式、解码设备侧的运动矢量搜索的次数、CTU的尺寸、最小块尺寸、最大块尺寸、最大块深度、最小块深度、图像显示/输出顺序、条带标识信息、条带类型、条带分区信息、并行块组标识信息、并行块组类型、并行块组分区信息、并行块标识信息、并行块类型、并行块分区信息、画面类型、比特深度、输入样点比特深度、重建样点比特深度、残差样点比特深度、变换系数比特深度、量化的等级比特深度、关于亮度信号的信息、关于色度信号的信息、目标块的颜色空间和残差块的颜色空间。此外,上述编码参数相关信息也可被包括在编码参数中。用于计算和/或推导上述编码参数的信息也可被包括在编码参数中。使用上述编码参数计算或推导的信息也可被包括在编码参数中。
预测方案可表示帧内预测模式和帧间预测模式中的一个预测模式。
第一变换选择信息可指示应用于目标块的第一变换。
第二变换选择信息可指示应用于目标块的第二变换。
残差信号可表示原始信号与预测信号之间的差。可选地,残差信号可以是对原始信号与预测信号之间的差进行变换而生成的信号。可选地,残差信号可以是对原始信号与预测信号之间的差进行变换和量化而生成的信号。残差块可以是针对块的残差信号。
这里,用信号发送信息可表示编码设备100将通过对标志或索引执行熵编码而生成的熵编码的信息包括在比特流中,并且可表示解码设备200通过对从比特流提取的熵编码的信息执行熵解码来获取信息。这里,该信息可包括标志、索引等。
比特流可包括基于特定语法的信息。编码设备100可生成包括根据特定语法的信息的比特流。解码设备200可根据特定语法从比特流获取信息。
由于编码设备100经由帧间预测执行编码,因此编码的目标图像可被用作用于将被后续处理的另外的图像的参考图像。因此,编码设备100可对编码的目标图像进行重建或解码,并将重建或解码的图像作为参考图像存储在参考画面缓冲器190中。对于解码,可进行对编码的目标图像的反量化和逆变换。
量化的等级可由反量化单元160进行反量化,并且可由逆变换单元170进行逆变换。反量化单元160可通过针对量化的等级执行逆变换来生成反量化的系数。逆变换单元170可通过针对反量化的系数执行逆变换来生成经过反量化和逆变换的系数。
可由加法器175将经过反量化和逆变换的系数与预测块相加。将经过反量化和逆变换的系数和预测块相加,然后可生成重建块。这里,经过反量化和/或逆变换的系数可表示被执行了反量化和逆变换中的一个或更多个的系数,并且也可表示重建的残差块。这里,重建块可表示恢复的块或解码的块。
重建块可通过滤波器单元180进行滤波。滤波器单元180可将去块滤波器、样点自适应偏移(SAO)滤波器、自适应环路滤波器(ALF)和非局部滤波器(NLF)中的一个或更多个滤波器应用于重建样点、重建块或重建画面。滤波器单元180也可被称为“环路滤波器”。
去块滤波器可消除在块之间的边界处出现的块失真。为了确定是否应用去块滤波器,可决定被包括在块中并且包括确定是否对目标块应用去块滤波器所基于的像素的列或行的数量。
当去块滤波器被应用于目标块时,所应用的滤波器可根据所需要的去块滤波的强度而不同。换句话说,在不同的滤波器中,可将考虑去块滤波的强度而决定的滤波器应用于目标块。当去块滤波器被应用于目标块时,可根据所需的去块滤波的强度将与强滤波器和弱滤波器中的任意一个对应的滤波器应用于目标块。
此外,当对目标块执行垂直滤波和水平滤波时,可并行地进行水平滤波和垂直滤波。
SAO可将适当的偏移与像素值相加以便对编码误差进行补偿。SAO可基于像素对被应用去块的图像执行校正,其中,该校正使用原始图像与被应用去块的图像之间的差的偏移。为了执行针对图像的偏移校正,可使用用于将图像中包括的像素划分为特定数量的区域、在划分出的区域之中确定将被应用偏移的区域并将偏移应用于所确定的区域的方法,并且也可使用用于考虑每个像素的边缘信息来应用偏移的方法。
ALF可基于通过将重建图像与原始图像进行比较而获得的值来执行滤波。在图像中包括的像素已被划分为预定数量的组之后,可确定将被应用于每个组的滤波器,并且可针对各个组不同地执行滤波。可针对每个CU用信号发送与是否应用自适应环路滤波器相关的信息。可针对亮度信号用信号发送这种信息。将被应用于各个块的ALF的形状和滤波器系数可针对各个块而不同。可选地,不管块的特征如何,具有固定形式的ALF可被应用于所述块。
非局部滤波器可基于与目标块相似的重建块执行滤波。可从重建画面选择与目标块相似的区域,并且可使用所选择的相似区域的统计属性来执行目标块的滤波。可针对编码单元(CU)用信号发送关于是否应用非局部滤波器的信息。此外,将应用于块的非局部滤波器的形状和滤波器系数可根据该块而不同。
通过滤波器单元180滤波的重建块或重建图像可作为参考画面被存储在参考画面缓冲器190中。通过滤波器单元180滤波的重建块可以是参考画面的一部分。换句话说,参考画面可以是由通过滤波器单元180滤波的重建块构成的重建画面。存储的参考画面随后可被用于帧间预测或运动补偿。
图2是示出被应用了本公开的解码设备的实施例的配置的框图。
解码设备200可以是解码器、视频解码设备或图像解码设备。
参照图2,解码设备200可包括熵解码单元210、反量化(逆量化)单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、切换器245、加法器255、滤波器单元260和参考画面缓冲器270。
解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读存储介质中的比特流,并且可接收通过有线/无线传输介质流传输的比特流。
解码设备200可在帧内模式和/或帧间模式下对比特流执行解码。此外,解码设备200可经由解码来生成重建图像或解码图像,并且可输出重建图像或解码图像。
例如,可通过切换器245来执行基于用于进行解码的预测模式而切换到帧内模式或帧间模式的操作。当用于解码的预测模式是帧内模式时,切换器245可被操作以切换到帧内模式。当用于解码的预测模式是帧间模式时,切换器245可被操作以切换到帧间模式。
解码设备200可通过对输入的比特流进行解码来获取重建的残差块,并且可生成预测块。当重建的残差块和预测块被获取时,解码设备200可通过将重建的残差块与预测块相加来生成作为将被解码的目标的重建块。
熵解码单元210可通过基于比特流的概率分布对比特流执行熵解码来生成符号。生成的符号可包括以量化的变换系数等级的形式的符号(即,量化的等级或量化的系数)。这里,熵解码方法可与以上描述的熵编码方法相似。也就是说,熵解码方法可以是以上描述的熵编码方法的逆过程。
熵解码单元210可通过变换系数扫描方法将具有一维(1D)矢量形式的系数改变为2D块形状,以便对量化的变换系数等级进行解码。
例如,可通过使用右上对角线扫描对块系数进行扫描来将块的系数改变为2D块形状。可选地,可根据对应块的尺寸和/或帧内预测模式来确定右上对角线扫描、垂直扫描和水平扫描中的哪一个将被使用。
量化的系数可由反量化单元220进行反量化。反量化单元220可通过对量化的系数执行反量化来生成反量化的系数。此外,反量化的系数可由逆变换单元230进行逆变换。逆变换单元230可通过对反量化的系数执行逆变换来生成重建的残差块。作为对量化的系数执行反量化和逆变换的结果,可生成重建的残差块。这里,当生成重建的残差块时,反量化单元220可将量化矩阵应用于量化的系数。
当使用帧内模式时,帧内预测单元240可通过针对目标块执行空间预测来生成预测块,其中,所述空间预测使用与目标块相邻的先前被解码的邻近块的像素值。
帧间预测单元250可包括运动补偿单元。可选地,帧间预测单元250可被指定为“运动补偿单元”。
当使用帧间模式时,运动补偿单元250可通过针对目标块执行运动补偿来生成预测块,其中,所述运动补偿使用运动矢量和被存储在参考画面缓冲器270中的参考图像。
运动补偿单元可在运动矢量具有除了整数之外的值时将插值滤波器应用于参考图像的部分区域,并且可使用被应用了插值滤波器的参考图像来生成预测块。为了执行运动补偿,运动补偿单元可基于CU确定跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式中的哪一种模式对应于用于CU中包括的PU的运动补偿方法,并且可根据所确定的模式来执行运动补偿。
重建的残差块和预测块可由加法器255彼此相加。加法器255可通过将重建的残差块和预测块相加来生成重建块。
重建块可通过滤波器单元260进行滤波。滤波器单元260可将去块滤波器、SAO滤波器、ALF和NLF中的至少一个应用于重建块或重建图像。重建图像可以是包括重建块的画面。
滤波器单元可输出重建图像。
通过滤波器单元260滤波的重建图像和/或重建块可作为参考画面被存储在参考画面缓冲器270中。通过滤波器单元260滤波的重建块可以是参考画面的一部分。换句话说,参考画面可以是由通过滤波器单元260滤波的重建块构成的图像。存储的参考画面随后可被用于帧间预测或运动补偿。
图3是示意性地示出当图像被编码和解码时图像的分区结构的示图。
图3可示意性地示出单个单元被分区为多个子单元的示例。
为了有效地对图像进行分区,可在编码和解码中使用编码单元(CU)。术语“单元”可被用于共同地指定1)包括图像样点的块和2)语法元素。例如,“单元的分区”可表示“与单元对应的块的分区”。
CU可被用作用于图像编码/解码的基本单元。CU可被用作在图像编码/解码中从帧内模式和帧间模式选择的一个模式被应用到的单元。换句话说,在图像编码/解码中,可确定帧内模式和帧间模式中的哪一个模式将被应用于每个CU。
此外,CU可以是对变换系数进行预测、变换、量化、逆变换、反量化和编码/解码的基本单元。
参照图3,图像300可被顺序地分区为与最大编码单元(LCU)对应的单元,并且分区结构可针对每个LCU被确定。这里,LCU可被用于具有与编码树单元(CTU)相同的含义。
对单元进行分区可表示对与单元对应的块进行分区。块分区信息可包括关于单元的深度的深度信息。深度信息可指示单元被分区的次数和/或单元被分区的程度。单个单元可被分层分区为多个子单元,同时所述单个单元具有基于树结构的深度信息。
每个被分区出的子单元可具有深度信息。深度信息可以是指示CU的尺寸的信息。可针对每个CU存储深度信息。
每个CU可具有深度信息。当CU被分区时,从分区生成的CU的深度可从被分区的CU的深度增加1。
分区结构可表示LCU 310中的用于对图像进行有效编码的编码单元(CU)的分布。可根据单个CU是否将被分区为多个CU来确定这种分布。通过进行分区而生成的CU的数量可以是正整数2或更大,包括2、3、4、8、16等。
根据通过进行分区而生成的CU的数量,通过进行分区而生成的每个CU的水平尺寸和垂直尺寸可小于被分区之前的CU的水平尺寸和垂直尺寸。例如,通过分区生成的每个CU的水平尺寸和垂直尺寸可以是分区之前的CU的水平尺寸和垂直尺寸的一半。
每个分区出的CU可按照相同的方式被递归地分区为四个CU。与被分区之前的CU的水平尺寸和垂直尺寸中的至少一个相比,经由递归分区,每个被分区出的CU的水平尺寸和垂直尺寸中的至少一个可被减小。
CU的分区可被递归地执行直到预定义的深度或预定义的尺寸为止。
例如,CU的深度可具有范围从0到3的值。CU的尺寸范围依据CU的深度而可以是从64×64的尺寸到8×8的尺寸。
例如,LCU 310的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的CU,并且SCU可以是具有最小编码单元尺寸的CU。
可在LCU 310处开始进行分区,并且每当CU的水平尺寸和/或垂直尺寸通过进行分区而减小时,CU的深度可增加1。
例如,对于各个深度,未被分区的CU可具有2N×2N的尺寸。此外,在CU被分区的情况下,尺寸为2N×2N的CU可被分区为尺寸均为N×N的四个CU。每当深度增加1时,N的值可减半。
参照图3,深度为0的LCU可具有64×64个像素或64×64的块。0可以是最小深度。深度为3的SCU可具有8×8个像素或8×8的块。3可以是最大深度。这里,作为LCU的具有64×64的块的CU可用深度0来表示。具有32×32的块的CU可用深度1来表示。具有16×16的块的CU可用深度2来表示。作为SCU的具有8×8的块的CU可用深度3来表示。
关于对应CU是否被分区的信息可用CU的分区信息来表示。分区信息可以是1比特信息。除了SCU之外的所有CU可包括分区信息。例如,未被分区的CU的分区信息的值可以是第一值。被分区的CU的分区信息的值可以是第二值。当分区信息指示CU是否被分区时,第一值可以是“0”并且第二值可以是“1”。
例如,当单个CU被分区为四个CU时,通过进行分区而生成的四个CU中的每个CU的水平尺寸和垂直尺寸可以是在被分区之前的CU的水平尺寸和垂直尺寸的一半。当尺寸为32×32的CU被分区为四个CU时,被分区出的四个CU中的每个CU的尺寸可以是16×16。当单个CU被分区为四个CU时,可认为CU已经以四叉树结构被分区。换句话说,可认为四叉树分区已被应用于CU。
例如,当单个CU被分区成两个CU时,通过进行分区而生成的两个CU中的每个CU的水平尺寸或垂直尺寸可以是在被分区之前的CU的水平尺寸或垂直尺寸的一半。当尺寸为32×32的CU被垂直分区为两个CU时,被分区出的两个CU中的每个CU的尺寸可以是16×32。当尺寸为32×32的CU被水平分区为两个CU时,被分区出的两个CU中的每个CU的尺寸可以是32×16。当单个CU被分区为两个CU时,可认为CU已经以二叉树结构被分区。换句话说,可认为二叉树分区已被应用于CU。
例如,当单个CU被分区(或划分)为三个CU时,被分区之前的原始CU被分区,使得其水平尺寸或垂直尺寸以1:2:1的比率被划分,因此使得能够生成三个子CU。例如,当尺寸为16×32的CU被水平分区为三个子CU时,由分区生成的三个子CU可在从顶部到底部的方向上分别具有16×8、16×16及16×8的尺寸。例如,当尺寸为32×32的CU被垂直分区为三个子CU时,由分区生成的三个子CU可在从左到右的方向上分别具有8×32、16×32及8×32的尺寸。当单个CU被分区为三个CU时,可认为CU以三叉树形式被分区。换句话说,可认为三叉树分区已被应用于CU。
四叉树分区和二叉树分区两者被应用于图3的LCU310。
在编码设备100中,可通过递归四叉树结构将尺寸为64×64的编码树单元(CTU)分区为多个更小的CU。单个CU可被分区为具有相同尺寸的四个CU。每个CU可被递归地分区并且可具有四叉树结构。
通过CU的递归分区,可选择引起最小率失真代价的最优分区方法。
图3中的编码树单元(CTU)320是四叉树分区、二叉树分区和三叉树分区全都被应用的CTU的示例。
如上所述,为了对CTU进行分区,可将四叉树分区、二叉树分区及三叉树分区中的至少一个应用于CTU。可基于特定优先级来应用分区。
例如,四叉树分区可被优先应用于CTU。无法按照四叉树形式被进一步分区的CU可与四叉树的叶节点对应。与四叉树的叶节点对应的CU可以是二叉树和/或三叉树的根节点。也就是说,与四叉树的叶节点对应的CU可以以二叉树形式或三叉树形式被分区,或可不被进一步分区。在这种情况下,防止通过将二叉树分区或三叉树分区应用于与四叉树的叶节点对应的CU而生成的每个CU再次被四叉树分区,从而有效地执行块的分区和/或用信号发送块分区信息的操作。
可使用四分区信息来用信号发送与四叉树的每个节点对应的CU的分区。具有第一值(例如,“1”)的四分区信息可指示对应CU以四叉树形式被分区。具有第二值(例如,“0”)的四分区信息可指示对应CU未以四叉树形式被分区。四分区信息可以是具有特定长度(例如,1比特)的标志。
在二叉树分区与三叉树分区之间可能不存在优先级。也就是说,与四叉树的叶节点对应的CU可以以二叉树形式或三叉树形式被分区。此外,通过二叉树分区或三叉树分区生成的CU可以以二叉树形式或三叉树形式被进一步分区,或可不被进一步分区。
当二叉树分区与三叉树分区之间不存在优先级时执行的分区可被称为“多类型树分区”。也就是说,与四叉树的叶节点对应的CU可以是多类型树的根节点。可使用指示CU是否按多类型树被分区的信息、分区方向信息和分区树信息中的至少一个来用信号发送与多类型树的每个节点对应的CU的分区。对于与多类型树的每个节点对应的CU的分区,可顺序地用信号发送指示按多类型树的分区是否被执行的信息、分区方向信息和分区树信息。
例如,指示CU是否按多类型树被分区且具有第一值(例如,“1”)的信息可指示对应CU以多类型树形式被分区。指示CU是否按多类型树被分区且具有第二值(例如,“0”)的信息可指示对应CU未以多类型树形式被分区。
当与多类型树的每个节点对应的CU以多类型树形式被分区时,对应CU可进一步包括分区方向信息。
分区方向信息可指示多类型树分区的分区方向。具有第一值(例如,“1”)的分区方向信息可指示对应的CU在垂直方向上被分区。具有第二值(例如,“0”)的分区方向信息可指示对应CU在水平方向上被分区。
当与多类型树的每个节点对应的CU以多类型树形式被分区时,对应CU可进一步包括分区树信息。分区树信息可指示被用于多类型树分区的树。
例如,具有第一值(例如,“1”)的分区树信息可指示对应CU以二叉树形式被分区。具有第二值(例如,“0”)的分区树信息可指示对应CU以三叉树形式被分区。
这里,上述指示按多类型树的分区是否被执行的信息、分区树信息及分区方向信息中的每个可以是具有特定长度(例如,1比特)的标志。
可对上述四分区信息、指示按多类型树的分区是否被执行的信息、分区方向信息和分区树信息中的至少一个进行熵编码和/或熵解码。为了执行这种信息的熵编码/熵解码,可使用与目标CU相邻的邻近CU的信息。
例如,可认为左侧CU和/或上方CU的分区形式(即,分区/非分区、分区树和/或分区方向)与目标CU的分区形式会彼此相似的概率很高。因此,基于邻近CU的信息,可推导用于目标CU的信息的熵编码和/或熵解码的上下文信息。这里,邻近CU的信息可包括以下各项中的至少一项:1)邻近CU的四分区信息,2)指示邻近CU是否按多类型树被分区的信息,3)邻近CU的分区方向信息,及4)邻近CU的分区树信息。
在二叉树分区和三叉树分区的另一实施例中,二叉树分区可被优先执行。也就是说,二叉树分区可被首先应用,然后与二叉树的叶节点对应的CU可被设置为三叉树的根节点。在这种情况下,可不对与三叉树的节点对应的CU执行四叉树分区或二叉树分区。
没有通过四叉树分区、二叉树分区和/或三叉树分区进一步分区的CU可以是编码、预测和/或变换的单元。也就是说,CU可不被进一步分区以用于预测和/或变换。因此,用于将CU分区成预测单元(PU)/或变换单元(TU)的分区结构、其分区信息等可不存在于比特流中。
然而,当作为分区的单元的CU的尺寸大于最大变换块的尺寸时,CU可被递归地分区,直到CU的尺寸变得小于或等于最大变换块的尺寸为止。例如,当CU的尺寸为64×64且最大变换块的尺寸为32×32时,CU可被分区成四个32×32的块以便执行变换。例如,当CU的尺寸为32×64且最大变换块的尺寸为32×32时,CU可被分区成两个32×32的块。
在这种情况下,可不单独地用信号发送指示CU是否被分区以用于变换的信息。在不用信号发送的情况下,可经由CU的水平尺寸(和/或垂直尺寸)与最大变换块的水平尺寸(和/或垂直尺寸)之间的比较来确定CU是否被分区。例如,当CU的水平尺寸大于最大变换块的水平尺寸时,CU可被垂直二等分。此外,当CU的垂直尺寸大于最大变换块的垂直尺寸时,CU可被水平二等分。
关于CU的最大尺寸和/或最小尺寸的信息以及关于变换块的最大尺寸和/或最小尺寸的信息可在高于CU的等级的等级处被用信号发送或确定。例如,更高等级可以是序列级、画面级、并行块级、并行块组级或条带级。例如,CU的最小尺寸可被设置为4×4。例如,变换块的最大尺寸可被设置为64×64。例如,变换块的最大尺寸可被设置为4×4。
关于与四叉树的叶节点对应的CU的最小尺寸(即,四叉树的最小尺寸)的信息和/或关于从多类型树的根节点到叶节点的路径的最大深度(即,多类型树的最大深度)的信息可在高于CU的等级的等级处被用信号发送或确定。例如,更高等级可以是序列级、画面级、条带级、并行块组级或并行块级。可在条带内级和条带间级中的每个处单独地用信号发送或确定关于四叉树的最小尺寸的信息和/或关于多类型树的最大深度的信息。
关于CTU的尺寸与变换块的最大尺寸之间的差的信息可在高于CU的等级的等级处被用信号发送或确定。例如,更高等级可以是序列级、画面级、条带级、并行块组级或并行块级。可基于CTU的尺寸及所述差的信息来确定关于与二叉树的每个节点对应的CU的最大尺寸(即,二叉树的最大尺寸)的信息。与三叉树的每个节点对应的CU的最大尺寸(即,三叉树的最大尺寸)可根据条带的类型而具有不同的值。例如,条带内级的三叉树的最大尺寸可以是32×32。例如,条带间级的三叉树的最大尺寸可以是128×128。例如,与二叉树的每个节点对应的CU的最小尺寸(即,二叉树的最小尺寸)和/或与三叉树的每个节点对应的CU的最小尺寸(即,三叉树的最小尺寸)可被设置为CU的最小尺寸。
在另一示例中,可在条带级用信号发送或确定二叉树的最大尺寸和/或三叉树的最大尺寸。此外,可在条带级用信号发送或确定二叉树的最小尺寸和/或三叉树的最小尺寸。
基于以上所述的各种块尺寸和深度、四分区信息、指示按多类型树的分区是否被执行的信息、分区树信息和/或分区方向信息可存在或可不存在于比特流中。
例如,当CU的尺寸不大于四叉树的最小尺寸时,CU可不包括四分区信息,且CU的四分区信息可被推断为第二值。
例如,当与多类型树的每个节点对应的CU的尺寸(水平尺寸及垂直尺寸)大于二叉树的最大尺寸(水平尺寸及垂直尺寸)和/或三叉树的最大尺寸(水平尺寸及垂直尺寸)时,CU可不以二叉树形式和/或三叉树形式被分区。通过这种确定方式,指示按多类型树的分区是否被执行的信息可不被用信号发送,但是可被推断为第二值。
可选地,当与多类型树的每个节点对应的CU的尺寸(水平尺寸及垂直尺寸)等于二叉树的最小尺寸(水平尺寸及垂直尺寸)时,或当CU的尺寸(水平尺寸及垂直尺寸)等于三叉树的最小尺寸(水平尺寸及垂直尺寸)的两倍时,CU可不以二叉树形式和/或三叉树形式被分区。通过这种确定方式,指示按多类型树的分区是否被执行的信息可被不用信号发送,但可被推断为第二值。其原因在于,当CU以二叉树形式和/或三叉树形式被分区时,生成小于二叉树的最小尺寸和/或三叉树的最小尺寸的CU。
可选地,可基于虚拟流水线数据单元的尺寸(即,流水线缓冲器的尺寸)来限制二叉树分区或三叉树分区。例如,当CU通过二叉树分区或三叉树分区被分区成不适合流水线缓冲器的尺寸的子CU时,二叉树分区或三叉树分区可受到限制。流水线缓冲器的尺寸可等于变换块的最大尺寸(例如,64×64)。
例如,当流水线缓冲器的尺寸是64×64时,可限制以下分区。
-用于N×M的CU的三叉树分区(其中N和/或M为128)
-用于128×N的CU的水平二叉树分区(其中N<=64)
-用于N×128的CU的垂直二叉树分区(其中N<=64)
可选地,当与多类型树的每个节点对应的CU的深度等于多类型树的最大深度时,CU可不以二叉树形式和/或三叉树形式被分区。通过这种确定方式,指示按多类型树的分区是否被执行的信息可被不用信号发送,但是可被推断为第二值。
可选地,仅当垂直二叉树分区、水平二叉树分区、垂直三叉树分区和水平三叉树分区中的至少一个对于与多类型树的每个节点对应的CU是可能的时,可用信号发送指示按多类型树的分区是否被执行的信息。否则,CU可不以二叉树形式和/或三叉树形式被分区。通过这种确定方式,指示按多类型树的分区是否被执行的信息可被不用信号发送,而是可被推断为第二值。
可选地,对于与多类型树的每个节点对应的CU,可仅在垂直二叉树分区和水平二叉树分区两者都可行时或仅在垂直三叉树分区和水平三叉树分区两者都可行时用信号发送分区方向信息。否则,分区方向信息可被不用信号发送,但是可被推断为指示CU可被分区的方向的值。
可选地,对于与多类型树的每个节点对应的CU,可仅在垂直二叉树分区和垂直三叉树分区两者都可行时或仅在水平二叉树分区和水平三叉树分区两者都可行时用信号发送分区树信息。否则,分区树信息可被不用信号发送,但是可被推断为指示可应用于CU的分区的树的值。
图4是示出编码单元能够包括的预测单元的形式的示图。
在从LCU分区出的CU中,可将不再被分区的CU划分为一个或更多个预测单元(PU)。这种划分也被称为“分区”。
PU可以是用于预测的基本单元。PU可在跳过模式、帧间模式和帧内模式中的任意一个模式下被编码和解码。可根据各个模式将PU分区为各种形状。例如,以上参照图1描述的目标块和以上参照图2描述的目标块可以均是PU。
CU可不被划分为PU。当CU不被划分为PU时,CU的尺寸和PU的尺寸可彼此相等。
在跳过模式下,在CU中可不存在分区。在跳过模式下,可支持2N×2N模式410,而不进行分区,其中,在2N×2N模式410中,PU的尺寸和CU的尺寸彼此相同。
在帧间模式下,在CU中可存在8种类型的分区形状。例如,在帧间模式下,可支持2N×2N模式410、2N×N模式415、N×2N模式420、N×N模式425、2N×nU模式430、2N×nD模式435、nL×2N模式440和nR×2N模式445。
在帧内模式下,可支持2N×2N模式410和N×N模式425。
在2N×2N模式410下,可对尺寸为2N×2N的PU进行编码。尺寸为2N×2N的PU可表示尺寸与CU的尺寸相同的PU。例如,尺寸为2N×2N的PU可具有尺寸64×64、32×32、16×16或8×8。
在N×N模式425下,可对尺寸为N×N的PU进行编码。
例如,在帧内预测中,当PU的尺寸是8×8时,可对四个分区出的PU进行编码。每个分区出的PU的尺寸可以是4×4。
当在帧内模式下对PU进行编码时,可使用多个帧内预测模式中的任意一个对PU进行编码。例如,高效视频编码(HEVC)技术可提供35个帧内预测模式,PU可在所述35个帧内预测模式中的任意一个下被编码。
可基于率失真代价来确定2N×2N模式410和N×N模式425中的哪一个模式将被用于对PU进行编码。
编码设备100可对尺寸为2N×2N的PU执行编码操作。这里,该编码操作可以是在能够被编码设备100使用的多个帧内预测模式中的每个模式下对PU进行编码的操作。通过编码操作,可推导出用于尺寸为2N×2N的PU的最佳帧内预测模式。该最佳帧内预测模式可以是能够被编码设备100使用的多个帧内预测模式之中的在对尺寸为2N×2N的PU进行编码时出现最小率失真代价的帧内预测模式。
此外,编码设备100可顺序地对通过进行N×N分区而获得的各个PU执行编码操作。这里,该编码操作可以是在能够被编码设备100使用的多个帧内预测模式中的每个模式下对PU进行编码的操作。通过编码操作,可推导出用于尺寸为N×N的PU的最佳帧内预测模式。该最佳帧内预测模式可以是能够被编码设备100使用的多个帧内预测模式之中的在对尺寸为N×N的PU进行编码时出现最小率失真代价的帧内预测模式。
编码设备100可基于尺寸为2N×2N的PU的率失真代价与尺寸为N×N的PU的率失真代价之间的比较来确定尺寸为2N×2N的PU和尺寸为N×N的PU中的哪一个将被编码。
单个CU可被分区为一个或更多个PU,并且PU可被分区多个PU。
例如,当单个PU被分区为四个PU时,通过分区生成的四个PU中的每一个的水平尺寸和垂直尺寸可以是被分区之前的PU的水平尺寸和垂直尺寸的一半。当尺寸为32×32的PU被分区为四个PU时,四个被分区出的PU中的每一个的尺寸可以是16×16。当单个PU被分区为四个PU时,可认为PU已经以四叉树结构被分区。
例如,当单个PU被分区为两个PU时,通过分区生成的两个PU中的每一个的水平尺寸或垂直尺寸可以是被分区之前的PU的水平尺寸或垂直尺寸的一半。当尺寸为32×32的PU被垂直分区为两个PU时,两个被分区出的PU中的每一个的尺寸可以是16×32。当尺寸为32×32的PU被水平分区为两个PU时,两个被分区出的PU中的每一个的尺寸可以是32×16。当单个PU被分区为两个PU时,可认为PU已经以二叉树结构被分区。
图5是示出能够被包括在编码单元中的变换单元的形式的示图。
变换单元(TU)可以是CU中被用于诸如变换、量化、逆变换、反量化、熵编码和熵解码的过程的基本单元。
TU可具有正方形形状或矩形形状。可基于CU的尺寸和/或形状来确定TU的形状。
在从LCU分区出的CU中,可将不再被分区为CU的CU分区为一个或更多个TU。这里,TU的分区结构可以是四叉树结构。例如,如图5中所示,可根据四叉树结构将单个CU 510分区一次或更多次。通过这种分区,单个CU 510可由具有各种尺寸的TU组成。
可认为当单个CU被划分两次或更多次时CU被递归地划分。通过划分,单个CU可由具有各种尺寸的变换单元(TU)组成。
可选地,可基于划分CU的垂直线和/或水平线的数量将单个CU划分为一个或更多个TU。
CU可被划分为对称TU或非对称TU。为了划分为非对称TU,可将关于每个TU的尺寸和/或形状的信息从编码设备100用信号发送到解码设备200。可选地,可从关于CU的尺寸和/或形状的信息推导每个TU的尺寸和/或形状。
CU可不被划分为TU。当CU不被划分为TU时,CU的尺寸和TU的尺寸可彼此相等。
单个CU可被分区为一个或更多个TU,并且TU可被分区为多个TU。
例如,当单个TU被分区为四个TU时,通过分区生成的四个TU中的每一个的水平尺寸和垂直尺寸可以是被分区之前的TU的水平尺寸和垂直尺寸的一半。当尺寸为32×32的TU被分区为四个TU时,四个被分区出的TU中的每一个的尺寸可以是16×16。当单个TU被分区为四个TU时,可认为TU已经以四叉树结构被分区。
例如,当单个TU被分区为两个TU时,通过分区生成的两个TU中的每一个的水平尺寸或垂直尺寸可以是被分区之前的TU的水平尺寸或垂直尺寸的一半。当尺寸为32×32的TU被垂直分区为两个TU时,两个被分区出的TU中的每一个的尺寸可以是16×32。当尺寸为32×32的TU被水平分区为两个TU时,两个被分区出的TU中的每一个的尺寸可以是32×16。当单个TU被分区为两个TU时,可认为TU已经以二叉树结构被分区。
可以以与图5中所示的方式不同的方式对CU进行划分。
例如,可将单个CU划分为三个CU。通过划分生成的三个CU的水平尺寸或垂直尺寸可分别是被划分之前的原始CU的水平尺寸或垂直尺寸的1/4、1/2和1/4。
例如,当尺寸为32×32的CU被垂直划分为三个CU时,通过划分生成的三个CU的尺寸可分别是8×32、16×32和8×32。以这种方式,当单个CU被划分为三个CU时,可认为该CU以三叉树的形式被划分。
可将示例性划分形式(即,四叉树划分、二叉树划分和三叉树划分)中的一个应用于CU的划分,并且可将多种划分方案组合并一起用于CU的划分。这里,将多种划分方案组合并一起使用的情况可被称为“复合树形式划分”。
图6示出根据示例的块的划分。
在视频编码和/或解码处理中,如图6中所示,目标块可被划分。例如,目标块可以是CU。
对于目标块的划分,指示划分信息的指示符可从编码设备100被用信号发送到解码设备200。划分信息可以是指示目标块如何被划分的信息。
划分信息可以是划分标志(以下称为“split_flag”)、四-二元标志(以下称为“QB_flag”)、四叉树标志(以下称为“quadtree_flag”)、二叉树标志(以下称为“binarytree_flag”)和二元类型标志(以下称为“Btype_flag”)中的一个或更多个。
“split_flag”可以是指示块是否被划分的标志。例如,split_flag值为1可指示对应块被划分。split_flag值为0可指示对应块不被划分。
“QB_flag”可以是指示四叉树形式和二叉树形式中的哪一个与块被划分的形状对应的标志。例如,QB_flag值为0可指示块以四叉树形式被划分。QB_flag值为1可指示块以二叉树形式被划分。可选地,QB_flag值为0可指示块以二叉树形式被划分。QB_flag值为1可指示块以四叉树形式被划分。
“quadtree_flag”可以是指示块是否以四叉树形式被划分的标志。例如,quadtree_flag值为1可指示块以四叉树形式被划分。quadtree_flag值为0可指示块不以四叉树形式被划分。
“binarytree_flag”可以是指示块是否以二叉树形式被划分的标志。例如,binarytree_flag值为1可指示块以二叉树形式被划分。binarytree_flag值为0可指示块不以二叉树形式被划分。
“Btype_flag”可以是指示当块以二叉树形式被划分时垂直划分和水平划分中的哪一个与划分方向对应的标志。例如,Btype_flag值为0可指示块在水平方向上被划分。Btype_flag值为1可指示块在垂直方向上被划分。可选地,Btype_flag值为0可指示块在垂直方向上被划分。Btype_flag值为1可指示块在水平方向上被划分。
例如,可通过用信号发送quadtree_flag、binarytree_flag和Btype_flag中的至少一个来推导图6中的块的划分信息,如下表1中所示。
表1
例如,可通过用信号发送split_flag、QB_flag和Btype_flag中的至少一个来推导图6中的块的划分信息,如下表2中所示。
表2
划分方法可根据块的尺寸和/或形状而仅限于四叉树或二叉树。当这个限制被应用时,split_flag可以是指示块是否以四叉树形式被划分的标志或者指示块是否以二叉树形式被划分的标志。可根据块的深度信息来推导块的尺寸和形状,并且深度信息可从编码设备100被用信号发送到解码设备200。
当块的尺寸落在特定范围内时,仅以四叉树形式进行划分是可能的。例如,可由能够仅以四叉树形式进行划分的最大块尺寸和最小块尺寸中的至少一个来定义所述特定范围。
可通过比特流将指示能够仅以四叉树形式进行划分的最大块尺寸和最小块尺寸的信息从编码设备100用信号发送到解码设备200。此外,可针对诸如视频、序列、画面、参数、并行块组和条带(或片段)的单元中的至少一个用信号发送这个信息。
可选地,最大块尺寸和/或最小块尺寸可以是由编码设备100和解码设备200预先定义的固定尺寸。例如,当块的尺寸大于64×64且小于256×256时,仅以四叉树形式进行划分是可能的。在这种情况下,split_flag可以是指示是否执行以四叉树形式的划分的标志。
当块的尺寸大于变换块的最大尺寸时,仅以四叉树形式分区是可能的。这里,通过分区生成的子块可以是CU和TU中的至少一个。
在这种情况下,split_flag可以是指示CU是否以四叉树形式被分区的标志。
当块的尺寸落入特定范围内时,仅以二叉树形式或三叉树形式进行划分是可能的。例如,可由能够仅以二叉树形式或三叉树形式进行划分的最大块尺寸和最小块尺寸中的至少一个来定义所述特定范围。
可通过比特流将指示能够仅以二叉树形式或三叉树形式进行划分的最大块尺寸和/或最小块尺寸的信息从编码设备100用信号发送到解码设备200。此外,可针对诸如序列、画面和条带(或片段)的单元中的至少一个用信号发送这个信息。
可选地,最大块尺寸和/或最小块尺寸可以是由编码设备100和解码设备200预先定义的固定尺寸。例如,当块的尺寸大于8×8且小于16×16时,仅以二叉树形式进行划分是可能的。在这种情况下,split_flag可以是指示是否执行以二叉树形式或三叉树形式的划分的标志。
以上对以四叉树形式进行分区的描述可被同样地应用于二叉树形式和/或三叉树形式。
块的分区可能受到先前分区的限制。例如,当块以特定二叉树形式被分区而且从所述分区生成多个子块时,每个子块可仅以特定树形式被另外分区。这里,特定树形式可以是二叉树形式、三叉树形式和四叉树形式中的至少一个。
当分区块的水平尺寸或垂直尺寸是不能被进一步划分的尺寸时,可不用信号发送上述指示符。
从图7中的图的中心径向延伸的箭头指示方向帧内预测模式的预测方向。此外,箭头附近出现的编号指示分配给帧内预测模式或帧内预测模式的预测方向的模式值的示例。
在图7中,编号“0”可表示作为非方向帧内预测模式的平面模式。编号“1”可表示作为非方向帧内预测模式的DC模式。
帧内编码和/或解码可使用目标块的邻近单元的参考样点来执行。邻近块可以是重建的邻近块。参考样点可表示邻近样点。
例如,可使用包括在重建的邻近块中的参考样点的值或重建的邻近块的编码参数来执行帧内编码和/或解码。
编码设备100和/或解码设备200可通过基于关于目标图像中的样点的信息对目标块执行帧内预测来生成预测块。当帧内预测被执行时,编码设备100和/或解码设备200可通过基于关于目标图像中的样点的信息执行帧内预测来生成针对目标块的预测块。当帧内预测被执行时,编码设备100和/或解码设备200可基于至少一个重建的参考样点来执行方向预测和/或非方向预测。
预测块可以是作为执行帧内预测的结果而生成的块。预测块可对应于CU、PU和TU中的至少一个。
预测块的单元可具有与CU、PU和TU中的至少一个对应的尺寸。预测块可具有尺寸为2N×2N或N×N的正方形形状。尺寸N×N可包括尺寸4×4、8×8、16×16、32×32、64×64等。
可选地,预测块可以是尺寸为2×2、4×4、8×8、16×16、32×32、64×64等的正方形块或者尺寸为2×8、4×8、2×16、4×16、8×16等的矩形块。
可考虑用于目标块的帧内预测模式执行帧内预测。目标块可具有的帧内预测模式的数量可以是预定义的固定值,并且可以是根据预测块的属性不同地确定的值。例如,预测块的属性可包括预测块的尺寸、预测块的类型等。此外,预测块的属性可指示用于预测块的编码参数。
例如,不论预测块的尺寸如何,帧内预测模式的数量都可被固定为N。可选地,帧内预测模式的数量可以是例如3、5、9、17、34、35、36、65、67或95。
帧内预测模式可以是非方向模式或方向模式。
例如,帧内预测模式可包括与图7中所示的编号0至66对应的两种非方向模式和65种方向模式。
例如,在使用特定帧内预测方法的情况下,帧内预测模式可包括与图7所示的编号-14至80对应的两个非方向模式和93个方向模式。
所述两种非方向模式可包括DC模式和平面模式。
方向模式可以是具有特定方向或特定角度的预测模式。方向模式也可被称为“角度模式”。
帧内预测模式可由模式编号、模式值、模式角度和模式方向中的至少一个表示。换句话说,术语“帧内预测模式的(模式)编号”、“帧内预测模式的(模式)值”、“帧内预测模式的(模式)角度”和“帧内预测模式的(模式)方向”可被用于具有相同的含义,并且可彼此互换使用。
帧内预测模式的数量可以是M。M的值可以是1或更大。换句话说,帧内预测模式的数量可以是M,其中,M包括非方向模式的数量和方向模式的数量。
帧内预测模式的数量可被固定为M,而不管块的尺寸和/或颜色分量如何。例如,帧内预测模式的数量可被固定为35和67中的任意一个,而不管块的尺寸如何。
可选地,帧内预测模式的数量可根据块的形状、尺寸和/或颜色分量的类型而不同。
例如,在图7中,如虚线所示出的方向预测模式可仅被应用于针对非正方形块的预测。
例如,块的尺寸越大,帧内预测模式的数量越多。可选地,块的尺寸越大,帧内预测模式的数量越少。当块的尺寸是4×4或8×8时,帧内预测模式的数量可以是67。当块的尺寸是16×16时,帧内预测模式的数量可以是35。当块的尺寸是32×32时,帧内预测模式的数量可以是19。当块的尺寸是64×64时,帧内预测模式的数量可以是7。
例如,帧内预测模式的数量可根据颜色分量是亮度信号还是色度信号而不同。可选地,与亮度分量块对应的帧内预测模式的数量可大于与色度分量块对应的帧内预测模式的数量。
例如,在模式值为50的垂直模式中,可基于参考样点的像素值沿垂直方向执行预测。例如,在模式值为18的水平模式中,可基于参考样点的像素值沿水平方向执行预测。
即使在除了上述模式之外的方向模式中,编码设备100和解码设备200仍可使用依据与方向模式对应的角度的参考样点对目标单元执行帧内预测。
位于相对于垂直模式的右侧的帧内预测模式可被称为“垂直-右侧模式”。位于水平模式下方的帧内预测模式可被称为“水平-下方模式”。例如,在图7中,模式值是51、52、53、54、55、56、57、58、59、60、61、62、63、64、65和66之一的帧内预测模式可以是垂直-右侧模式。模式值是2、3、4、5、6、7、8、9、10、11、12、13、14、15、16和17之一的帧内预测模式可以是水平-下方模式。
非方向模式可包括DC模式和平面模式。例如,DC模式的值可以是1。平面模式的值可以是0。
方向模式可包括角度模式。在多个帧内预测模式中,除了DC模式和平面模式之外的其余模式可以是方向模式。
当帧内预测模式是DC模式时,可基于多个参考像素的像素值的平均值生成预测块。例如,可基于多个参考像素的像素值的平均值确定预测块的像素的值。
以上描述的帧内预测模式的数量以及各个帧内预测模式的模式值仅是示例性的。可根据实施例、实现方式和/或要求来不同地定义以上描述的帧内预测模式的数量以及各个帧内预测模式的模式值。
为了对目标块执行帧内预测,可执行检查在重建的邻近块中包括的样点是否可被用作目标块的参考样点的步骤。当在邻近块中的样点之中存在不能被用作目标块的参考样点的样点时,经由使用重建的邻近块中包括的样点之中的至少一个样点值的插值和/或复制而生成的值可替换不能被用作参考样点的样点的样点值。当经由复制和/或插值而生成的值替换现有样点的样点值时,该样点可被用作目标块的参考样点。
当使用帧内预测时,可基于帧内预测模式和目标块的尺寸中的至少一个将滤波器应用于参考样点和预测样点中的至少一个。
将被应用于参考样点和预测样点中的至少一个的滤波器的类型可根据目标块的帧内预测模式、目标块的尺寸和目标块的形状中的至少一个而不同。滤波器的类型可根据滤波器抽头的长度、滤波器系数的值和滤波器强度中的一个或更多个来分类。滤波器抽头的长度可表示滤波器抽头的数量。此外,滤波器抽头的数量可表示滤波器的长度。
当帧内预测模式是平面模式时,可在生成目标块的预测块时根据预测目标样点在预测块中的位置使用目标块的上参考样点、目标块的左参考样点、目标块的右上参考样点和目标块的左下参考样点的加权和来生成预测目标块的样点值。
当帧内预测模式是DC模式时,可在生成目标块的预测块时使用目标块上方的参考样点和目标块左侧的参考样点的平均值。此外,可对目标块中的特定行或特定列执行使用参考样点的值的滤波。所述特定行可以是与参考样点相邻的一个或更多个上方行。所述特定列可以是与参考样点相邻的一个或更多个左侧列。
当帧内预测模式是方向模式时,可使用目标块的上参考样点、左参考样点、右上参考样点和/或左下参考样点来生成预测块。
为了生成上述预测样点,可执行基于实数的插值。
可从与目标块相邻的邻近块的帧内预测模式预测目标块的帧内预测模式,并且用于预测的信息可被熵编码/熵解码。
例如,当目标块和邻近块的帧内预测模式彼此相同时,可使用预定义的标志来用信号发送目标块和邻近块的帧内预测模式是相同的。
例如,可用信号发送用于指示多个邻近块的帧内预测模式之中的与目标块的帧内预测模式相同的帧内预测模式的指示符。
当目标块和邻近块的帧内预测模式彼此不同时,可使用熵编码和/或熵解码对关于目标块的帧内预测模式的信息进行编码和/或解码。
图8是示出在帧内预测过程中使用的参考样点的示图。
用于对目标块进行帧内预测的重建参考样点可包括左下参考样点、左参考样点、左上角参考样点、上参考样点和右上参考样点。
例如,左参考样点可表示与目标块的左侧相邻的重建参考像素。上参考样点可表示与目标块的顶部相邻的重建参考像素。左上角参考样点可表示位于目标块的左上角处的重建参考像素。左下参考样点可表示在位于与由左参考样点组成的左侧样点线相同的线上的样点之中的位于所述左侧样点线下方的参考样点。右上参考样点可表示在位于与由上参考样点组成的上方样点线相同的线上的样点之中的位于所述上方样点线右侧的参考样点。
当目标块的尺寸是N×N时,左下参考样点、左参考样点、上参考样点和右上参考样点的数量可以均是N。
通过对目标块执行帧内预测,可生成预测块。生成预测块的过程可包括确定预测块中的像素的值。目标块和预测块的尺寸可相同。
用于对目标块进行帧内预测的参考样点可根据目标块的帧内预测模式而改变。帧内预测模式的方向可表示参考样点与预测块的像素之间的依赖关系。例如,指定参考样点的值可被用作预测块中的一个或更多个指定像素的值。在这种情况下,所述指定参考样点和预测块中的所述一个或更多个指定像素可以是位于沿帧内预测模式的方向的直线上的样点和像素。换句话说,所述指定参考样点的值可被复制作为位于与帧内预测模式的方向相反的方向上的像素的值。可选地,预测块中的像素的值可以是相对于该像素的位置位于帧内预测模式的方向上的参考样点的值。
在示例中,当目标块的帧内预测模式是垂直模式时,上参考样点可被用于帧内预测。当帧内预测模式是垂直模式时,预测块中的像素的值可以是垂直地位于该像素的位置上方的参考样点的值。因此,与目标块的顶部相邻的上参考样点可被用于帧内预测。此外,在预测块的一行中的像素的值可与上参考样点的像素的值相同。
在示例中,当目标块的帧内预测模式是水平模式时,左参考样点可被用于帧内预测。当帧内预测模式是水平模式时,预测块中的像素的值可以是水平地位于该像素的位置左侧的参考样点的值。因此,与目标块的左侧相邻的左参考样点可被用于帧内预测。此外,在预测块的一列中的像素的值可与左参考样点的像素的值相同。
在示例中,当当前块的帧内预测模式的模式值是34时,左参考样点中的至少一些、左上角参考样点、以及上参考样点中的至少一些可被用于帧内预测。当帧内预测模式的模式值是18时,预测块中的像素的值可以是对角地位于该像素的左上角处的参考样点的值。
此外,在模式值为范围从52至66的值的帧内预测模式的情况下,右上参考样点中的至少一部分可被用于帧内预测。
此外,在模式值为范围从2至17的值的帧内预测模式的情况下,左下参考样点中的至少一部分可被用于帧内预测。
此外,在模式值为范围从19至49的值的帧内预测模式的情况下,左上角参考样点可被用于帧内预测。
用于确定预测块中的一个像素的像素值的参考样点的数量可以是1或者2或者更多。
如上所述,可根据像素的位置和由帧内预测模式的方向所指示的参考样点的位置来确定预测块中的像素的像素值。当像素的位置以及由帧内预测模式的方向所指示的参考样点的位置是整数位置时,由整数位置所指示的一个参考样点的值可被用于确定预测块中的像素的像素值。
当像素的位置以及由帧内预测模式的方向所指示的参考样点的位置不是整数位置时,可生成基于与该参考样点的位置最接近的两个参考样点的插值参考样点。插值参考样点的值可被用于确定预测块中的像素的像素值。换句话说,当预测块中的像素的位置以及由帧内预测模式的方向所指示的参考样点的位置指示两个参考样点之间的位置时,可生成基于这两个样点的值的插值。
经由预测而生成的预测块可与原始目标块不同。换句话说,可能存在预测误差,该预测误差是目标块与预测块之间的差,并且也可能存在在目标块的像素与预测块的像素之间的预测误差。
在下文中,术语“差”、“误差”和“残差”可被用于具有相同的含义,并且可彼此互换使用。
例如,在方向帧内预测的情况下,预测块的像素与参考样点之间的距离越长,则可能发生的预测误差越大。这种预测误差可导致生成的预测块与邻近块之间的不连续性。
为了减少预测误差,可使用针对预测块的滤波操作。滤波操作可被配置为自适应地将滤波器应用于预测块中的被认为具有较大预测误差的区域。例如,被认为具有较大预测误差的区域可以是预测块的边界。此外,在预测块中被认为具有较大预测误差的区域可根据帧内预测模式而不同,并且滤波器的特性也可根据帧内预测模式而不同。
如图8所示,对于目标块的帧内预测,可使用参考线0至参考线3中的至少一个。每条参考线可指示参考样点线。当参考线的编号较小时,可指示更靠近目标块的参考样点线。
片段A和片段F中的样点可通过填充来获取,而不是从重建的邻近块获取,其中,所述填充使用片段B和片段E中最接近目标块的样点。
可用信号发送指示将被用于目标块的帧内预测的参考样点线的索引信息。所述索引信息可指示多个参考样点线中的将被用于目标块的帧内预测的参考样点线。例如,索引信息可具有与0至3中的任意一个对应的值。
当目标块的上方边界是CTU的边界时,仅参考样点线0可以是可用的。因此,在这种情况下,可不用信号发送索引信息。当除了参考样点线0之外的附加参考样点线被使用时,可不执行稍后将描述的预测块的滤波。
在颜色间帧内预测的情况下,可基于第一颜色分量的对应重建块来生成第二颜色分量的目标块的预测块。
例如,第一颜色分量可以是亮度分量,且第二颜色分量可以是色度分量。
为了执行颜色间帧内预测,可基于模板推导第一颜色分量与第二颜色分量之间的线性模型的参数。
模板可包括目标块上方的参考样点(上参考样点)和/或目标块左侧的参考样点(左参考样点),并且可包括与所述参考样点对应的第一颜色分量的重建块的上参考样点和/或左参考样点。
例如,可使用以下值来推导线性模型的参数:1)模板中的样点之中的具有最大值的第一颜色分量的样点的值,2)与该第一颜色分量的样点对应的第二颜色分量的样点的值,3)模板中的样点之中的具有最小值的第一颜色分量的样点的值,以及4)与该第一颜色分量的样点对应的第二颜色分量的样点的值。
当推导出线性模型的参数时,可通过将对应重建块应用于线性模型来生成目标块的预测块。
根据图像格式,可对与第一颜色分量的重建块邻近的样点和第一颜色分量的对应重建块执行子采样。例如,当第二颜色分量的一个样点对应于第一颜色分量的四个样点时,可通过对第一颜色分量的所述四个样点执行子采样来计算一个对应样点。当执行子采样时,可基于被子采样的对应样点执行线性模型的参数的推导和颜色间帧内预测。
可在帧内预测模式中用信号发送关于是否执行颜色间帧内预测和/或模板的范围的信息。
目标块可在水平方向和/或垂直方向上被分区为两个或四个子块。
可顺序地重建通过分区生成的子块。也就是说,当对每个子块执行帧内预测时,可生成子块的子预测块。此外,当对每个子块执行反量化(逆量化)和/或逆变换时,可生成针对对应子块的子残差块。可通过将子预测块与子残差块相加来生成重建子块。重建子块可用作用于具有下一优先级的子块的帧内预测的参考样点。
子块可以是包括特定数量(例如,16)个或更多个样点的块。例如,当目标块是8×4的块或4×8的块时,目标块可被分区为两个子块。此外,当目标块是4×4的块时,目标块不能被分区成子块。当目标块具有另一尺寸时,目标块可被分区为四个子块。
可用信号发送关于是否执行基于这些子块的帧内预测的信息和/或关于分区方向(水平方向或垂直方向)的信息。
可限制这种基于子块的帧内预测,使得其仅在参考样点线0被使用时执行。当执行基于子块的帧内预测时,可不执行将在下面描述的预测块的滤波。
可通过对经由帧内预测生成的预测块执行滤波来生成最终预测块。
可通过将特定权重应用于作为将被滤波的目标的滤波目标样点、左参考样点、上参考样点和/或左上参考样点来执行滤波。
可基于块尺寸、帧内预测模式和预测块中的滤波目标样点的位置中的至少一个来确定用于滤波的权重和/或参考样点(例如,参考样点的范围、参考样点的位置等)。
例如,可仅在特定帧内预测模式(例如,DC模式、平面模式、垂直模式、水平模式、对角线模式和/或相邻对角线模式)中执行滤波。
相邻对角线模式可以是具有通过将k加到对角线模式的编号而获得的编号的模式,并且可以是具有通过从对角线模式的编号减去k而获得的编号的模式。换句话说,相邻对角线模式的编号可以是对角线模式的编号与k之和,或者可以是对角线模式的编号与k之差。例如,k可以是8或更小的正整数。
可使用目标块附近存在的邻近块的帧内预测模式来推导目标块的帧内预测模式,并且可对这种推导出的帧内预测模式进行熵编码和/或熵解码。
例如,当目标块的帧内预测模式与邻近块的帧内预测模式相同时,可使用特定标志信息来用信号发送指示目标块的帧内预测模式与邻近块的帧内预测模式相同的信息。
此外,例如,可用信号发送多个邻近块的帧内预测模式中的帧内预测模式与目标块的帧内预测模式相同的邻近块的指示符信息。
例如,当目标块的帧内预测模式与邻近块的帧内预测模式不同时,可通过基于邻近块的帧内预测模式执行熵编码和/或熵解码来对关于目标块的帧内预测模式的信息执行熵编码和/或熵解码。
图9是用于解释帧间预测过程的实施例的示图。
图9中示出的矩形可表示图像(或画面)。此外,在图9中,箭头可表示预测方向。从第一画面指向第二画面的箭头表示第二画面参考第一画面。也就是说,可根据预测方向对每个图像进行编码和/或解码。
图像可根据编码类型被分类为帧内画面(I画面)、单预测画面或预测编码画面(P画面)、以及双预测画面或双预测编码画面(B画面)。可根据每个画面的编码类型对每个画面进行编码和/或解码。
当作为将被编码的目标的目标图像是I画面时,目标图像可在不进行参照其它图像的帧间预测的情况下使用图像本身包含的数据被编码。例如,I画面可仅经由帧内预测被编码。
当目标图像是P画面时,可经由使用存在于一个方向上的参考画面的帧间预测对目标图像进行编码。这里,所述一个方向可以是前向方向或后向方向。
当目标图像是B画面时,可经由使用存在于两个方向上的参考画面的帧间预测对图像进行编码,或者可经由使用存在于前向方向和后向方向之一上的参考画面的帧间预测对图像进行编码。这里,所述两个方向可以是前向方向和后向方向。
使用参考画面进行编码和/或解码的P画面和B画面可被视为使用帧间预测的图像。
下面,将详细地描述根据实施例的在帧间模式下的帧间预测。
可使用参考图像和运动信息来执行帧间预测或运动补偿。
在帧间模式下,编码设备100可对目标块执行帧间预测和/或运动补偿。解码设备200可对目标块执行与由编码设备100执行的帧间预测和/或运动补偿对应的帧间预测和/或运动补偿。
可由编码设备100和解码设备200在帧间预测期间单独地推导目标块的运动信息。可使用重建的邻近块的运动信息、col块的运动信息和/或与col块相邻的块的运动信息来推导运动信息。
例如,编码设备100或解码设备200可通过将空间候选和/或时间候选的运动信息用作目标块的运动信息来执行预测和/或运动补偿。目标块可表示PU和/或PU分区。
空间候选可以是在空间上与目标块相邻的重建块。
时间候选可以是在先前重建的同位画面(col画面)中的与目标块对应的重建块。
在帧间预测中,编码设备100和解码设备200可通过利用空间候选和/或时间候选的运动信息来提高编码效率和解码效率。空间候选的运动信息可被称为“空间运动信息”。时间候选的运动信息可被称为“时间运动信息”。
下面,空间候选的运动信息可以是包括空间候选的PU的运动信息。时间候选的运动信息可以是包括时间候选的PU的运动信息。候选块的运动信息可以是包括候选块的PU的运动信息。
可使用参考画面执行帧间预测。
参考画面可以是在目标画面之前的画面和在目标画面之后的画面中的至少一个。参考画面可以是用于目标块的预测的图像。
在帧间预测中,可利用用于指示参考画面的参考画面索引(或refIdx)、随后将被描述的运动矢量等来指定参考画面中的区域。这里,在参考画面中指定的区域可指示参考块。
帧间预测可选择参考画面,并且还可从参考画面选择与目标块对应的参考块。此外,帧间预测可使用所选择的参考块来生成针对目标块的预测块。
可由编码设备100和解码设备200中的每一个在帧间预测期间推导运动信息。
空间候选可以是1)存在于目标画面中的2)已经在先前经由编码和/或解码而重建并且3)与目标块相邻或位于目标块的拐角处的块。这里,“位于目标块的拐角处的块”可以是与水平相邻于目标块的邻近块垂直相邻的块,或者是与垂直相邻于目标块的邻近块水平相邻的块。此外,“位于目标块的拐角处的块”可与“与目标块的拐角相邻的块”具有相同的含义。“位于目标块的拐角处的块”的含义可被包括在“与目标块相邻的块”的含义中。
例如,空间候选可以是位于目标块左侧的重建块、位于目标块上方的重建块、位于目标块左下角的重建块、位于目标块右上角的重建块或位于目标块左上角的重建块。
编码设备100和解码设备200中的每一个可识别存在于col画面中的在空间上与目标块对应的位置的块。目标块在目标画面中的位置和所识别的块在col画面中的位置可彼此对应。
编码设备100和解码设备200中的每一个可将存在于针对所识别的块的预定义相关位置处的col块确定为时间候选。所述预定义相关位置可以是存在于所识别的块内部和/或外部的位置。
例如,col块可包括第一col块和第二col块。当所识别的块的坐标是(xP,yP)并且所识别的块的尺寸用(nPSW,nPSH)表示时,第一col块可以是位于坐标(xP+nPSW,yP+nPSH)处的块。第二col块可以是位于坐标(xP+(nPSW>>1),yP+(nPSH>>1))处的块。当第一col块不可用时,可选择性地使用第二col块。
可基于col块的运动矢量确定目标块的运动矢量。编码设备100和解码设备200中的每一个可对col块的运动矢量进行缩放。col块的经缩放的运动矢量可被用作目标块的运动矢量。此外,存储在列表中的时间候选的运动信息的运动矢量可以是经缩放的运动矢量。
目标块的运动矢量相对于col块的运动矢量的比率可与第一时间距离相对于第二时间距离的比率相同。第一时间距离可以是参考画面与目标块的目标画面之间的距离。第二时间距离可以是参考画面与col块的col画面之间的距离。
用于推导运动信息的方案可根据目标块的帧间预测模式而改变。例如,作为被应用于帧间预测的帧间预测模式,可存在高级运动矢量预测因子(AMVP)模式、合并模式、跳过模式、具有运动矢量差的合并模式、子块合并模式、三角分区模式、帧间-帧内组合预测模式、仿射帧间模式、当前画面参考模式等。合并模式也可被称为“运动合并模式”。下面将详细描述各个模式。
1)AMVP模式
当使用AMVP模式时,编码设备100可在目标块的邻近区域中搜索相似块。编码设备100可通过使用找到的相似块的运动信息对目标块执行预测来获取预测块。编码设备100可对作为目标块与预测块之间的差的残差块进行编码。
1-1)创建预测运动矢量候选的列表
当AMVP模式被用作预测模式时,编码设备100和解码设备200中的每一个可使用空间候选的运动矢量、时间候选的运动矢量和零矢量来创建预测运动矢量候选的列表。预测运动矢量候选列表可包括一个或更多个预测运动矢量候选。空间候选的运动矢量、时间候选的运动矢量和零矢量中的至少一个可被确定并被用作预测运动矢量候选。
在下文中,术语“预测运动矢量(候选)”和“运动矢量(候选)”可被用于具有相同的含义,并且可彼此互换使用。
在下文中,术语“预测运动矢量候选”和“AMVP候选”可被用于具有相同的含义,并且可彼此互换地使用。
在下文中,术语“预测运动矢量候选列表”和“AMVP候选列表”可被用于具有相同的含义,并且可彼此互换使用。
空间候选可包括重建的空间邻近块。换句话说,重建的邻近块的运动矢量可被称为“空间预测运动矢量候选”。
时间候选可包括col块和与col块相邻的块。换句话说,col块的运动矢量或与col块相邻的块的运动矢量可被称为“时间预测运动矢量候选”。
零矢量可以是(0,0)运动矢量。
预测运动矢量候选可以是用于对运动矢量进行预测的运动矢量预测因子。此外,在编码设备100中,每个预测运动矢量候选可以是用于运动矢量的初始搜索位置。
1-2)使用预测运动矢量候选的列表搜索运动矢量
编码设备100可使用预测运动矢量候选的列表在搜索范围内确定将被用于对目标块进行编码的运动矢量。此外,编码设备100可在存在于预测运动矢量候选列表中的预测运动矢量候选之中确定将被用作目标块的预测运动矢量的预测运动矢量候选。
将被用于对目标块进行编码的运动矢量可以是可按最小代价编码的运动矢量。
此外,编码设备100可确定是否使用AMVP模式对目标块进行编码。
1-3)对帧间预测信息的传输
编码设备100可生成包括帧间预测所需的帧间预测信息的比特流。解码设备200可使用比特流的帧间预测信息对目标块执行帧间预测。
帧间预测信息可包含1)指示AMVP模式是否被使用的模式信息、2)预测运动矢量索引、3)运动矢量差(MVD)、4)参考方向和5)参考画面索引。
在下文中,术语“预测运动矢量索引”和“AMVP索引”可被用于具有相同的含义,并且可彼此互换使用。
此外,帧间预测信息可包含残差信号。
当模式信息指示AMVP模式被使用时,解码设备200可通过熵解码从比特流获取预测运动矢量索引、MVD、参考方向和参考画面索引。
预测运动矢量索引可指示在预测运动矢量候选列表中包括的预测运动矢量候选之中的将被用于对目标块进行预测的预测运动矢量候选。
1-4)使用帧间预测信息的AMVP模式下的帧间预测
解码设备200可使用预测运动矢量候选列表来推导预测运动矢量候选,并且可基于推导的预测运动矢量候选来确定目标块的运动信息。
解码设备200可使用预测运动矢量索引在预测运动矢量候选列表中包括的预测运动矢量候选之中确定用于目标块的运动矢量候选。解码设备200可从预测运动矢量候选列表中包括的预测运动矢量候选之中选择由预测运动矢量索引所指示的预测运动矢量候选作为目标块的预测运动矢量。
编码设备100可通过对预测运动矢量索引应用熵编码来生成熵编码的预测运动矢量索引,并且可生成包括熵编码的预测运动矢量索引的比特流。熵编码的预测运动矢量索引可通过比特流从编码设备100用信号发送到解码设备200。解码设备200可从比特流中提取熵编码的预测运动矢量索引,并且可通过对熵编码的预测运动矢量索引应用熵解码来获取预测运动矢量索引。
实际将被用于对目标块进行帧间预测的运动矢量可能与预测运动矢量不匹配。为了指示实际将被用于对目标块进行帧间预测的运动矢量与预测运动矢量之间的差,可使用MVD。编码设备100可推导与实际将被用于对目标块进行帧间预测的运动矢量相似的预测运动矢量,以便使用尽可能小的MVD。
MVD可以是目标块的运动矢量与预测运动矢量之间的差。编码设备100可计算MVD,并且可通过将熵编码应用于MVD来生成熵编码的MVD。编码设备100可生成包括熵编码的MVD的比特流。
可通过比特流将MVD从编码设备100发送到解码设备200。解码设备200可从比特流中提取熵编码的MVD,并且可通过对熵编码的MVD应用熵解码来获取MVD。
解码设备200可通过对MVD和预测运动矢量进行求和来推导目标块的运动矢量。换句话说,由解码设备200推导出的目标块的运动矢量可以是MVD和运动矢量候选之和。
此外,编码设备100可通过将熵编码应用于所计算的MVD分辨率信息来生成熵编码的MVD分辨率信息,并且可生成包括熵编码的MVD分辨率信息的比特流。解码设备200可从比特流提取熵编码的MVD分辨率信息,并且可通过对熵编码的MVD分辨率信息应用熵解码来获取MVD分辨率信息。解码设备200可使用MVD分辨率信息来调整MVD的分辨率。
另外,编码设备100可基于仿射模型计算MVD。解码设备200可通过MVD与仿射控制运动矢量候选之和推导目标块的仿射控制运动矢量,并且可使用仿射控制运动矢量推导子块的运动矢量。
参考方向可指示将被用于对目标块进行预测的参考画面的列表。例如,参考方向可指示参考画面列表L0和参考画面列表L1中的一个。
参考方向仅指示将被用于对目标块进行预测的参考画面列表,并且可不意味着参考画面的方向被限制为前向方向或后向方向。换句话说,参考画面列表L0和参考画面列表L1中的每一个可包括前向方向和/或后向方向上的画面。
参考方向是单向的可意味着使用单个参考画面列表。参考方向是双向的可意味着使用两个参考画面列表。换句话说,参考方向可指示以下情况之一:仅使用参考画面列表L0的情况、仅使用参考画面列表L1的情况、以及使用两个参考画面列表的情况。
参考画面索引可指示存在于参考画面列表中的参考画面之中的用于预测目标块的参考画面。编码设备100可通过对参考画面索引应用熵编码来生成熵编码的参考画面索引,并且可生成包括熵编码的参考画面索引的比特流。可通过比特流将熵编码的参考画面索引从编码设备100用信号发送到解码设备200。解码设备200可从比特流中提取熵编码的参考画面索引,并且可通过对熵编码的参考画面索引应用熵解码来获取参考画面索引。
当两个参考画面列表被用于对目标块进行预测时,单个参考画面索引和单个运动矢量可被用于参考画面列表中的每一个。此外,当两个参考画面列表被用于对目标块进行预测时,可为目标块指定两个预测块。例如,可使用针对目标块的两个预测块的平均值或加权和来生成目标块的(最终)预测块。
可通过预测运动矢量索引、MVD、参考方向和参考画面索引来推导目标块的运动矢量。
解码设备200可基于推导出的运动矢量和参考画面索引来生成针对目标块的预测块。例如,预测块可以是在由参考画面索引所指示的参考画面中的由推导出的运动矢量所指示的参考块。
由于预测运动矢量索引和MVD被编码,而目标块的运动矢量自身不被编码,因此从编码设备100发送到解码设备200的比特的数量可减少,并且编码效率可提高。
对于目标块,可使用重建的邻近块的运动信息。在特定的帧间预测模式下,编码设备100可不单独对目标块的实际运动信息进行编码。目标块的运动信息不被编码,而是可对额外信息进行编码,其中,所述额外信息使得能够使用重建的邻近块的运动信息来推导目标块的运动信息。由于所述额外信息被编码,因此被发送到解码设备200的比特的数量可减少,并且编码效率可提高。
例如,作为目标块的运动信息不被直接编码的帧间预测模式,可存在跳过模式和/或合并模式。这里,编码设备100和解码设备200中的每一个可使用指示重建的邻近单元之中的其运动信息将被用作目标单元的运动信息的单元的标识符和/或索引。
2)合并模式
作为用于推导目标块的运动信息的方案,存在合并。术语“合并”可意味着对多个块的运动进行合并。“合并”可意味着一个块的运动信息也被应用于其它块。换句话说,合并模式可以是从邻近块的运动信息推导目标块的运动信息的模式。
当使用合并模式时,编码设备100可使用空间候选的运动信息和/或时间候选的运动信息来预测目标块的运动信息。空间候选可包括在空间上与目标块相邻的重建的空间邻近块。空间邻近块可包括左侧邻近块和上方邻近块。时间候选可包括col块。术语“空间候选”和“空间合并候选”可被用于具有相同的含义,并且可彼此互换使用。术语“时间候选”和“时间合并候选”可被用于具有相同的含义,并且可彼此互换使用。
编码设备100可经由预测来获取预测块。编码设备100可对作为目标块与预测块之间的差的残差块进行编码。
2-1)创建合并候选列表
当使用合并模式时,编码设备100和解码设备200中的每一个可使用空间候选的运动信息和/或时间候选的运动信息来创建合并候选列表。运动信息可包括1)运动矢量、2)参考画面索引和3)参考方向。参考方向可以是单向或双向。参考方向可表示帧间预测指示符。
合并候选列表可包括合并候选。合并候选可以是运动信息。换句话说,合并候选列表可以是存储多条运动信息的列表。
合并候选可以是多条时间候选和/或空间候选的运动信息。换句话说,合并候选列表可包括时间候选和/或空间候选的运动信息等。
此外,合并候选列表可包括通过对已存在于合并候选列表中的合并候选进行组合而生成的新的合并候选。换句话说,合并候选列表可包括通过对先前存在于合并候选列表中的多条运动信息进行组合而生成的新的运动信息。
此外,合并候选列表可包括基于历史的合并候选。基于历史的合并候选可以是在目标块之前被编码和/或解码的块的运动信息。
此外,合并候选列表可包括基于两个合并候选的平均值的合并候选。
合并候选可以是推导帧间预测信息的特定模式。合并候选可以是指示推导帧间预测信息的特定模式的信息。可根据合并候选所指示的特定模式来推导目标块的帧间预测信息。此外,所述特定模式可包括推导一系列帧间预测信息的处理。这种特定模式可以是帧间预测信息推导模式或运动信息推导模式。
可根据通过合并索引在合并候选列表中的合并候选中选择的合并候选所指示的模式来推导目标块的帧间预测信息。
例如,合并候选列表中的运动信息推导模式可以是以下模式中的至少一个:1)针对子块单元的运动信息推导模式和2)仿射运动信息推导模式。
此外,合并候选列表可包括零矢量的运动信息。零矢量也可被称为“零合并候选”。
换句话说,合并候选列表中的多条运动信息可以是以下信息中的至少一个:1)空间候选的运动信息、2)时间候选的运动信息、3)通过对先前存在于合并候选列表中的多条运动信息进行组合而生成的运动信息、以及4)零矢量。
运动信息可包括1)运动矢量、2)参考画面索引和3)参考方向。参考方向也可被称为“帧间预测指示符”。参考方向可以是单向或双向。单向参考方向可指示L0预测或L1预测。
可在执行合并模式下的预测之前创建合并候选列表。
可预先定义合并候选列表中的合并候选的数量。编码设备100和解码设备200中的每一个可根据预定义的方案和预定义的优先级将合并候选添加到合并候选列表,使得合并候选列表具有预定义数量的合并候选。可使用预定义的方案和预定义的优先级将编码设备100的合并候选列表和解码设备200的合并候选列表制作为彼此相同。
可基于CU或PU来应用合并。当基于CU或PU执行合并时,编码设备100可将包括预定义的信息的比特流发送到解码设备200。例如,所述预定义的信息可包含1)指示是否针对各个块分区执行合并的信息、以及2)关于在作为针对目标块的空间候选和/或时间候选的块之中的将被执行合并的块的信息。
2-2)使用合并候选列表搜索运动矢量
编码设备100可确定将被用于对目标块进行编码的合并候选。例如,编码设备100可使用合并候选列表中的合并候选对目标块执行预测,并且可生成针对合并候选的残差块。编码设备100可使用在预测和残差块的编码中生成最小代价的合并候选来对目标块进行编码。
此外,编码设备100可确定是否使用合并模式对目标块进行编码。
2-3)对帧间预测信息的传输
编码设备100可生成包括帧间预测所需的帧间预测信息的比特流。编码设备100可通过对帧间预测信息执行熵编码来生成经熵编码的帧间预测信息,并且可将包括经熵编码的帧间预测信息的比特流发送到解码设备200。经熵编码的帧间预测信息可由编码设备100通过比特流用信号发送到解码设备200。解码设备200可从比特流中提取熵编码的帧间预测信息,并且可通过对熵编码的帧间预测信息应用熵解码来获取帧间预测信息。
解码设备200可使用比特流的帧间预测信息对目标块执行帧间预测。
帧间预测信息可包含1)指示合并模式是否被使用的模式信息、2)合并索引和3)校正信息。
此外,帧间预测信息可包含残差信号。
解码设备200可仅在模式信息指示合并模式被使用时从比特流获取合并索引。
模式信息可以是合并标志。模式信息的单位可以是块。关于块的信息可包括模式信息,并且模式信息可指示合并模式是否被应用于块。
合并索引可指示合并候选列表中包括的合并候选之中的将被用于对目标块进行预测的合并候选。可选地,合并索引可指示与目标块在空间上或时间上相邻的邻近块之中的将与目标块合并的块。
编码设备100可选择合并候选列表中包括的合并候选中的具有最高编码性能的合并候选,并且将合并索引的值设置为指示所选择的合并候选。
校正信息可以是用于校正运动矢量的信息。编码设备100可生成校正信息。解码设备200可基于校正信息校正由合并索引选择的合并候选的运动矢量。
校正信息可包括指示是否将执行校正的信息、校正方向信息和校正尺寸信息中的至少一个。基于用信号发送的校正信息校正运动矢量的预测模式可被称为“具有运动矢量差的合并模式”。
2-4)使用帧间预测信息的合并模式的帧间预测
解码设备200可使用合并候选列表中包括的合并候选之中的由合并索引指示的合并候选对目标块执行预测。
可通过由合并索引指示的合并候选的运动矢量、参考画面索引和参考方向来指定目标块的运动矢量。
3)跳过模式
跳过模式可以是将空间候选的运动信息或时间候选的运动信息在没有改变的情况下应用于目标块的模式。此外,跳过模式可以是不使用残差信号的模式。换句话说,当使用跳过模式时,重建块可与预测块相同。
合并模式与跳过模式之间的差异在于是否发送或使用残差信号。也就是说,除了不发送或使用残差信号之外,跳过模式可类似于合并模式。
当使用跳过模式时,编码设备100可通过比特流将与作为空间候选或时间候选的块之中的其运动信息将被用作目标块的运动信息的块有关的信息发送到解码设备200。编码设备100可通过对该信息执行熵编码来生成经熵编码的信息,并且可通过比特流将经熵编码的信息用信号发送到解码设备200。解码设备200可从比特流中提取熵编码的信息,并且可通过对熵编码的信息应用熵解码来获取信息。
此外,当使用跳过模式时,编码设备100可不将其它语法信息(诸如MVD)发送到解码设备200。例如,当使用跳过模式时,编码设备100可不将与MVD、编码块标志和变换系数等级中的至少一个相关的语法元素用信号发送到解码设备200。
3-1)创建合并候选列表
跳过模式也可使用合并候选列表。换句话说,可在合并模式和跳过模式两者中使用合并候选列表。在这方面,合并候选列表也可被称为“跳过候选列表”或“合并/跳过候选列表”。
可选地,跳过模式可使用与合并模式的候选列表不同的额外候选列表。在这种情况下,在以下描述中,可分别用跳过候选列表和跳过候选来替换合并候选列表和合并候选。
可在执行跳过模式下的预测之前创建合并候选列表。
3-2)使用合并候选列表搜索运动矢量
编码设备100可确定将被用于对目标块进行编码的合并候选。例如,编码设备100可使用合并候选列表中的合并候选对目标块执行预测。编码设备100可使用在预测中生成最小代价的合并候选对目标块进行编码。
此外,编码设备100可确定是否使用跳过模式对目标块进行编码。
3-3)对帧间预测信息的传输
编码设备100可生成包括帧间预测所需的帧间预测信息的比特流。解码设备200可使用比特流的帧间预测信息对目标块执行帧间预测。
帧间预测信息可包括1)指示跳过模式是否被使用的模式信息和2)跳过索引。
跳过索引可与以上描述的合并索引相同。
当使用跳过模式时,可在不使用残差信号的情况下对目标块进行编码。帧间预测信息可不包含残差信号。可选地,比特流可不包括残差信号。
解码设备200可仅在模式信息指示跳过模式被使用时从比特流获取跳过索引。如上所述,合并索引和跳过索引可彼此相同。解码设备200可仅在模式信息指示合并模式或跳过模式被使用时从比特流获取跳过索引。
跳过索引可指示合并候选列表中包括的合并候选之中的将被用于对目标块进行预测的合并候选。
3-4)使用帧间预测信息的跳过模式下的帧间预测
解码设备200可使用合并候选列表中包括的合并候选之中的由跳过索引指示的合并候选对目标块执行预测。
可通过由跳过索引指示的合并候选的运动矢量、参考画面索引和参考方向来指定目标块的运动矢量。
4)当前画面参考模式
当前画面参考模式可表示这样的预测模式:该预测模式使用目标块所属的目标画面中的先前重建的区域。
可使用用于指定先前重建的区域的运动矢量。可使用目标块的参考画面索引来确定目标块是否已在当前画面参考模式下被编码。
指示目标块是否是以当前画面参考模式被编码的块的标志或索引可由编码设备100用信号发送到解码设备200。可选地,可通过目标块的参考画面索引来推断目标块是否是以当前画面参考模式被编码的块。
当目标块以当前画面参考模式被编码时,当前画面可存在于针对目标块的参考画面列表中的固定位置或任意位置。
例如,所述固定位置可以是参考画面索引的值是0的位置或最后位置。
在目标画面存在于参考画面列表中的任意位置时,指示这样的任意位置的额外参考画面索引可由编码设备100用信号发送到解码设备200。
5)子块合并模式
子块合并模式可以是从CU的子块推导运动信息的模式。
当应用子块合并模式时,可使用参考图像中的目标子块(即,基于子块的时间合并候选)的同位子块(col-sub-block)的运动信息和/或仿射控制点运动矢量合并候选来生成子块合并候选列表。
6)三角分区模式
在三角分区模式中,目标块可在对角线方向上被分区,并且可生成通过分区生成的子目标块。对于每个子目标块,可推导对应子目标块的运动信息,并且可使用推导的运动信息来推导每个子目标块的预测样点。可通过经由分区生成的子目标块的预测样点的加权和来推导目标块的预测样点。
7)组合帧间-帧内预测模式
组合帧间-帧内预测模式可以是使用经由帧间预测生成的预测样点和经由帧内预测生成的预测样点的加权和来推导目标块的预测样点的模式。
在上述模式中,解码设备200可自主地校正推导的运动信息。例如,解码设备200可基于由推导的运动信息指示的参考块在特定区域中搜索具有最小绝对差和(SAD)的运动信息,并且可将找到的运动信息推导为经校正的运动信息。
在上述模式中,解码设备200可使用光流来补偿经由帧间预测推导的预测样点。
在以上描述的AMVP模式、合并模式、跳过模式等中,可使用列表的索引信息来指定列表中的多条运动信息之中的将被用于对目标块进行预测的运动信息。
为了提高编码效率,编码设备100可仅用信号发送列表中的元素之中的在对目标块的帧间预测中生成最小代价的元素的索引。编码设备100可对该索引进行编码,并且可用信号发送编码后的索引。
因此,必须能够由编码设备100和解码设备200使用相同的方案基于相同的数据来推导以上描述的列表(即,预测运动矢量候选列表和合并候选列表)。这里,所述相同的数据可包括重建画面和重建块。此外,为了使用索引指定元素,必须固定列表中的元素的顺序。
图10示出根据实施例的空间候选。
在图10中,示出了空间候选的位置。
在图的中央处的大块可表示目标块。五个小块可表示空间候选。
目标块的坐标可以是(xP,yP),目标块的尺寸可由(nPSW,nPSH)来表示。
空间候选A0可以是与目标块的左下角相邻的块。A0可以是占有位于坐标(xP-1,yP+nPSH+1)处的像素的块。
空间候选A1可以是与目标块的左侧相邻的块。A1可以是与目标块的左侧相邻的块之中的最下方的块。可选地,A1可以是与A0的顶部相邻的块。A1可以是占有位于坐标(xP-1,yP+nPSH)处的像素的块。
空间候选B0可以是与目标块的右上角相邻的块。B0可以是占有位于坐标(xP+nPSW+1,yP-1)处的像素的块。
空间候选B1可以是与目标块的顶部相邻的块。B1可以是与目标块的顶部相邻的块之中的最右侧的块。可选地,B1可以是与B0的左侧相邻的块。B1可以是占有位于坐标(xP+nPSW,yP-1)处的像素的块。
空间候选B2可以是与目标块的左上角相邻的块。B2可以是占有位于坐标(xP-1,yP-1)处的像素的块。
对空间候选和时间候选的可用性的确定
为了将空间候选的运动信息或时间候选的运动信息包括在列表中,必须确定空间候选的运动信息或时间候选的运动信息是否可用。
在下文中,候选块可包括空间候选和时间候选。
例如,可通过顺序地应用以下步骤1)至步骤4)来执行所述确定。
步骤1)当包括候选块的PU位于画面的边界外时,候选块的可用性可被设置为“假”。表述“可用性被设置为假”可具有与“设置为不可用”相同的含义。
步骤2)当包括候选块的PU位于条带的边界外时,候选块的可用性可被设置为“假”。当目标块和候选块位于不同条带中时,候选块的可用性可被设置为“假”。
步骤3)当包括候选块的PU位于并行块的边界外时,候选块的可用性可被设置为“假”。当目标块和候选块位于不同并行块中时,候选块的可用性可被设置为“假”。
步骤4)当包括候选块的PU的预测模式是帧内预测模式时,候选块的可用性可被设置为“假”。当包括候选块的PU不使用帧间预测时,候选块的可用性可被设置为“假”。
图11示出根据实施例的将空间候选的运动信息添加到合并列表的顺序。
如图11中所示,当空间候选的多条运动信息被添加到合并列表时,可使用A1、B1、B0、A0和B2的顺序。也就是说,可按照A1、B1、B0、A0和B2的顺序将可用空间候选的多条运动信息添加到合并列表。
用于在合并模式和跳过模式下推导合并列表的方法
如上所述,可设置合并列表中的合并候选的最大数量。可用“N”来指示设置的最大数量。设置的数量可从编码设备100发送到解码设备200。条带的条带头可包括N。换句话说,可通过条带头来设置用于条带的目标块的合并列表中的合并候选的最大数量。例如,N的值基本上可以是5。
可按照以下步骤1)至4)的顺序将多条运动信息(即,合并候选)添加到合并列表。
步骤1)在空间候选之中,可将可用空间候选添加到合并列表。可按照图10中示出的顺序来将可用空间候选的多条运动信息添加到合并列表。这里,当可用空间候选的运动信息与合并列表中已经存在的其它运动信息重叠时,可不将可用空间候选的运动信息添加到合并列表。检查对应运动信息是否与列表中存在的其它运动信息重叠的操作可被简称为“重叠检查”。
被添加的运动信息的最大条数可以是N。
步骤2)当合并列表中的运动信息的条数小于N并且时间候选可用时,可将时间候选的运动信息添加到合并列表。这里,当可用时间候选的运动信息与合并列表中已经存在的其它运动信息重叠时,可不将可用时间候选的运动信息添加到合并列表。
步骤3)当合并列表中的运动信息的条数小于N并且目标条带的类型是“B”时,可将通过组合双向预测(双预测)而生成的组合运动信息添加到合并列表。
目标条带可以是包括目标块的条带。
组合运动信息可以是L0运动信息和L1运动信息的组合。L0运动信息可以是仅参照参考画面列表L0的运动信息。L1运动信息可以是仅参照参考画面列表L1的运动信息。
在合并列表中,可存在一条或更多条L0运动信息。此外,在合并列表中,可存在一条或更多条L1运动信息。
组合运动信息可包括一条或更多条组合运动信息。当生成组合运动信息时,可预先定义所述一条或更多条L0运动信息和所述一条或更多条L1运动信息之中的将被用于生成组合运动信息的步骤的L0运动信息和L1运动信息。可经由使用合并列表中的一对不同运动信息的组合双向预测按照预定义的顺序来生成一条或更多条组合运动信息。所述一对不同运动信息中的一条运动信息可以是L0运动信息,并且所述一对不同运动信息中的另一条运动信息可以是L1运动信息。
例如,被添加有最高优先级的组合运动信息可以是具有合并索引0的L0运动信息和具有合并索引1的L1运动信息的组合。当具有合并索引0的运动信息不是L0运动信息时或者当具有合并索引1的运动信息不是L1运动信息时,可既不生成也不添加组合运动信息。接下来,被添加有下一优先级的组合运动信息可以是具有合并索引1的L0运动信息和具有合并索引0的L1运动信息的组合。随后的详细组合可符合视频编码/解码领域的其它组合。
这里,当组合运动信息与合并列表中已经存在的其它运动信息重叠时,可不将组合运动信息添加到合并列表。
步骤4)当合并列表中的运动信息的条数小于N时,可将零矢量的运动信息添加到合并列表。
零矢量运动信息可以是运动矢量是零矢量的运动信息。
零矢量运动信息的条数可以是一个或更多个。一条或更多条零矢量运动信息的参考画面索引可彼此不同。例如,第一零矢量运动信息的参考画面索引的值可以是0。第二零矢量运动信息的参考画面索引的值可以是1。
零矢量运动信息的条数可与参考画面列表中的参考画面的数量相同。
零矢量运动信息的参考方向可以是双向的。两个运动矢量都可以是零矢量。零矢量运动信息的条数可以是参考画面列表L0中的参考画面的数量和参考画面列表L1中的参考画面的数量中较小的一个。可选地,当参考画面列表L0中的参考画面的数量和参考画面列表L1中的参考画面的数量彼此不同时,作为单向的参考方向可被用于可仅应用于单个参考画面列表的参考画面索引。
编码设备100和/或解码设备200可随后将零矢量运动信息添加到合并列表,同时改变参考画面索引。
当零矢量运动信息与合并列表中已经存在的其它运动信息重叠时,可不将零矢量运动信息添加到合并列表。
上述步骤1)至步骤4)的顺序仅是示例性的,并且可被改变。此外,可根据预定义的条件省略以上步骤中的一些步骤。
用于在AMVP模式下推导预测运动矢量候选列表的方法
可预先定义预测运动矢量候选列表中的预测运动矢量候选的最大数量。可用N来指示预定义的最大数量。例如,预定义的最大数量可以是2。
可按照以下的步骤1)至步骤3)的顺序将多条运动信息(即,预测运动矢量候选)添加到预测运动矢量候选列表。
步骤1)可将空间候选之中的可用空间候选添加到预测运动矢量候选列表。空间候选可包括第一空间候选和第二空间候选。
第一空间候选可以是A0、A1、经缩放的A0和经缩放的A1中的一个。第二空间候选可以是B0、B1、B2、经缩放的B0、经缩放的B1和经缩放的B2中的一个。
可按照第一空间候选和第二空间候选的顺序将可用空间候选的多条运动信息添加到预测运动矢量候选列表。在这种情况下,当可用空间候选的运动信息与预测运动矢量候选列表中已经存在的其它运动信息重叠时,可不将可用空间候选的运动信息添加到预测运动矢量候选列表。换句话说,当N的值是2时,如果第二空间候选的运动信息与第一空间候选的运动信息相同,则可不将第二空间候选的运动信息添加到预测运动矢量候选列表。
被添加的运动信息的最大条数可以是N。
步骤2)当预测运动矢量候选列表中的运动信息的条数小于N并且时间候选可用时,可将时间候选的运动信息添加到预测运动矢量候选列表。在这种情况下,当可用时间候选的运动信息与预测运动矢量候选列表中已经存在的其它运动信息重叠时,可不将可用时间候选的运动信息添加到预测运动矢量候选列表。
步骤3)当预测运动矢量候选列表中的运动信息的条数小于N时,可将零矢量运动信息添加到预测运动矢量候选列表。
零矢量运动信息可包括一条或更多条零矢量运动信息。所述一条或更多条零矢量运动信息的参考画面索引可彼此不同。
编码设备100和/或解码设备200可顺序地将多条零矢量运动信息添加到预测运动矢量候选列表,同时改变参考画面索引。
当零矢量运动信息与预测运动矢量候选列表中已经存在的其它运动信息重叠时,可不将零矢量运动信息添加到预测运动矢量候选列表。
以上结合合并列表做出的对零矢量运动信息的描述也可应用于零矢量运动信息。将省略其重复的描述。
以上描述的步骤1)至步骤3)的顺序仅是示例性的,并且可被改变。此外,可根据预定义的条件省略所述步骤中的一些步骤。
图12示出根据示例的变换和量化处理。
如图12中所示,可通过对残差信号执行变换和/或量化处理来生成量化的等级。
残差信号可被生成为原始块与预测块之间的差。这里,预测块可以是经由帧内预测或帧间预测生成的块。
残差信号可通过作为量化过程的一部分的变换过程被变换为频域中的信号。
用于变换的变换核可包含各种DCT核,诸如离散余弦变换(DCT)类型2(DCT-II)及离散正弦变换(DST)核。
这些变换核可对残差信号执行可分离变换或二维(2D)不可分离变换。可分离变换可为指示在水平方向及垂直方向中的每一者上对残差信号执行一维(1D)变换的变换。
自适应地用于1D变换的DCT类型和DST类型除了DCT-II之外还可包括DCT-V、DCT-VIII、DST-I和DST-VII,如下表3和下表4中的每个表中所示。
表3
变换集 | 变换候选 |
0 | DST-VII,DCT-VIII |
1 | DST-VII,DST-I |
2 | DST-VII,DCT-V |
表4
变换集 | 变换候选 |
0 | DST-VII,DCT-VIII,DST-I |
1 | DST-VII,DST-I,DCT-VIII |
2 | DST-VII,DCT-V,DST-I |
如表3和表4中所示,当推导出将被用于变换的DCT类型或DST类型时,可使用变换集。每个变换集可包括多个变换候选。每个变换候选可为DCT类型或DST类型。
下面的表5示出根据帧内预测模式将被应用于水平方向的变换集和将被应用于垂直方向的变换集的示例。
表5
帧内预测模式 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
垂直变换集 | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
水平变换集 | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
帧内预测模式 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
垂直方向变换集 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
水平方向变换集 | 0 | 1 | 0 | 1 | 2 | 2 | 2 | 2 | 2 | 2 |
帧内预测模式 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
垂直方向变换集 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
水平方向变换集 | 2 | 2 | 2 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
帧内预测模式 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
垂直方向变换集 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
水平方向变换集 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
帧内预测模式 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
垂直方向变换集 | 0 | 1 | 0 | 1 | 0 | 1 | 2 | 2 | 2 | 2 |
水平方向变换集 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
帧内预测模式 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
垂直方向变换集 | 2 | 2 | 2 | 2 | 2 | 1 | 0 | 1 | 0 | 1 |
水平方向变换集 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
帧内预测模式 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | |||
垂直方向变换集 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | |||
水平方向变换集 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
在表5中,根据目标块的帧内预测模式将被应用于残差信号的水平方向的垂直变换集和水平变换集的编号被示出。
如表5中所例示,可根据目标块的帧内预测模式来预先定义将被应用于水平方向和垂直方向的变换集。编码设备100可使用包括在与目标块的帧内预测模式对应的变换集中的变换来对残差信号执行变换和逆变换。此外,解码设备200可使用包括在与目标块的帧内预测模式对应的变换集中的变换来对残差信号执行逆变换。
在变换和逆变换中,如表3、表4和表5中所例示,将被应用于残差信号的变换集可被确定,并且可不被用信号发送。可将变换指示信息从编码设备100用信号发送到解码设备200。变换指示信息可以是指示将被应用于残差信号的变换集中包括的多个变换候选中的哪一个被使用的信息。
例如,当目标块的尺寸为64×64或更小时,可根据帧内预测模式来配置各自具有三个变换的变换集。可从由水平方向上的三个变换和垂直方向上的三个变换的组合产生的总共九个多变换方法中选择最优变换方法。通过这样的最优变换方法,残差信号可被编码和/或解码,并且因此可提高编码效率。
这里,指示属于每个变换集的多个变换中的哪一个已被用于垂直变换和水平变换中的至少一个的信息可被熵编码和/或熵解码。这里,截断一元二值化可被用于对这样的信息进行编码和/或解码。
如上所述,使用各种变换的方法可被应用于经由帧内预测或帧间预测生成的残差信号。
变换可包括第一变换和次级变换中的至少一个。可通过对残差信号执行第一变换来生成变换系数,并且可通过对变换系数执行次级变换来生成次级变换系数。
第一变换可被称为“初级变换”。此外,第一变换也可被称为“自适应多变换(AMT)方案”。如上所述,AMT可表示将不同的变换应用于各个1D方向(即,垂直方向和水平方向)。
次级变换可以是用于提高由第一变换生成的变换系数的能量集中度的变换。类似于第一变换,次级变换可以是可分离变换或不可分离变换。这样的不可分离变换可以是不可分离次级变换(NSST)。
可使用预定义的多种变换方法中的至少一种来执行第一变换。例如,所述预定义的多种变换方法可包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen-Loeve变换(KLT)等。
此外,根据定义离散余弦变换(DCT)或离散正弦变换(DST)的核函数,第一变换可以是具有各种类型的变换。
例如,根据下表6中呈现的变换核,第一变换可包括诸如DCT-2、DCT-5、DCT-7、DST-7、DST-1、DST-8和DCT-8的变换。在下表6中,例示了用于多变换选择(MTS)的各种变换类型和变换核函数。
MTS可指对一个或更多个DCT和/或DST核的组合的选择,以便在水平和/或垂直方向上对残差信号进行变换。
表6
在表6中,i和j可以是等于或大于0并且小于或等于N-1的整数值。
可对通过执行第一变换而生成的变换系数执行次级变换。
如在第一变换中,还可在次级变换中定义变换集。用于推导和/或确定上述变换集的方法不仅可被应用于第一变换,还可被应用于次级变换。
可针对特定目标确定第一变换和次级变换。
例如,第一变换和次级变换可被应用于与亮度(luma)分量和色度(chroma)分量中的一个或更多个对应的信号分量。可根据针对目标块和/或邻近块的编码参数中的至少一个来确定是否应用第一变换和/或次级变换。例如,可根据目标块的尺寸和/或形状来确定是否应用第一变换和/或次级变换。
在编码设备100和解码设备200中,可通过利用指定信息来推导指示将被用于目标的变换方法的变换信息。
例如,变换信息可包括将被用于初级变换和/或次级变换的变换索引。可选地,变换信息可指示初级变换和/或次级变换不被使用。
例如,当初级变换和次级变换的目标是目标块时,可根据针对目标块和/或与目标块邻近的块的编码参数中的至少一个来确定由变换信息指示的将被应用于初级变换和/或次级变换的变换方法。
可选地,可从编码设备100向解码设备200用信号发送针对特定目标的指示变换方法的变换信息。
例如,对于单个CU,可由解码设备200将是否使用初级变换、指示初级变换的索引、是否使用次级变换以及指示次级变换的索引推导为变换信息。可选地,对于单个CU,可用信号发送变换信息,其中,所述变换信息指示是否使用初级变换、指示初级变换的索引、是否使用次级变换以及指示次级变换的索引。
可通过对通过执行第一变换和/或次级变换而生成的结果执行量化或者对残差信号执行量化来生成量化的变换系数(即,量化的等级)。
图13示出根据示例的对角线扫描。
图14示出根据示例的水平扫描。
图15示出根据示例的垂直扫描。
可根据帧内预测模式、块尺寸和块形状中的至少一个,经由(右上)对角线扫描、垂直扫描和水平扫描中的至少一个对量化的变换系数进行扫描。所述块可以是变换单元(TU)。
每个扫描可在特定的开始点处启动,并且可在特定的结束点处终止。
例如,可通过使用图13的对角线扫描对块的系数进行扫描来将量化的变换系数改变为1D矢量形式。可选地,可根据块的尺寸和/或帧内预测模式使用图14的水平扫描或图15的垂直扫描,而不使用对角线扫描。
垂直扫描可以是在列方向上扫描2D块类型系数的操作。水平扫描可以是在行方向上扫描2D块类型系数的操作。
换句话说,可根据块的尺寸和/或帧间预测模式来确定对角线扫描、垂直扫描和水平扫描中的哪一个将被使用。
如图13、图14和图15中所示,可沿着对角线方向、水平方向或垂直方向扫描量化的变换系数。
量化的变换系数可由块形状表示。每个块可包括多个子块。可根据最小块尺寸或最小块形状来定义每个子块。
在扫描中,根据扫描的类型或方向的扫描顺序可被首先应用于子块。此外,根据扫描的方向的扫描顺序可被应用于每个子块中的量化的变换系数。
例如,如图13、图14和图15中所示,当目标块的尺寸是8×8时,可通过对目标块的残差信号的第一变换、次级变换和量化来生成量化的变换系数。因此,可将三种类型的扫描顺序中的一种应用于四个4×4的子块,并且还可根据所述扫描顺序针对每个4×4的子块扫描量化的变换系数。
编码设备100可通过对经过扫描的量化的变换系数执行熵编码来生成熵编码的量化的变换系数,并且可生成包括熵编码的量化的变换系数的比特流。
解码设备200可从比特流中提取熵编码的量化的变换系数,并且可通过对熵编码的量化的变换系数执行熵解码来生成量化的变换系数。可经由逆扫描按照2D块的形式对量化的变换系数进行排列。这里,作为逆扫描的方法,可执行右上对角线扫描、垂直扫描和水平扫描中的至少一个。
在解码设备200中,可对量化的变换系数执行反量化。可根据是否执行次级逆变换,对通过执行反量化而生成的结果执行次级逆变换。此外,可根据是否将执行第一逆变换,对通过执行次级逆变换而生成的结果执行第一逆变换。可通过对经由执行次级逆变换而生成的结果执行第一逆变换来生成重建的残差信号。
对于经由帧内预测或帧间预测重建的亮度分量,可在环路滤波之前执行具有动态范围的逆映射。
动态范围可被划分为16个相等的段,并且可用信号发送相应段的映射函数。可在条带级或并行块组级用信号发送这种映射函数。
可基于映射函数推导用于执行逆映射的逆映射函数。
可在逆映射区域中执行环路滤波、参考画面的存储和运动补偿。
经由帧间预测生成的预测块可通过使用映射函数的映射而被变换到映射区域,并且变换后的预测块可被用于生成重建块。然而,由于在映射区域中执行帧内预测,因此经由帧内预测生成的预测块可在不需要映射和/或逆映射的情况下被用于生成重建块。
例如,当目标块是色度分量的残差块时,可通过对映射区域的色度分量进行缩放来将残差块变换到逆映射区域。
可在条带级或并行块组级用信号发送缩放是否可用。
例如,缩放可仅被应用于映射可用于亮度分量且亮度分量的分区及色度分量的分区遵循相同树结构的情况。
可基于与色度预测块对应的亮度预测块中的样点的值的平均值执行缩放。这里,当目标块使用帧间预测时,亮度预测块可表示映射的亮度预测块。
可通过使用亮度预测块的样点值的平均值所属的片段的索引参考查找表来推导缩放所需的值。
可通过使用最终推导的值对残差块进行缩放来将残差块变换到逆映射区域。此后,对于色度分量的块,可在逆映射区域中执行重建、帧内预测、帧间预测、环路滤波和参考画面的存储。
例如,可通过序列参数集用信号发送指示亮度分量和色度分量的映射和/或逆映射是否可用的信息。
可基于块矢量生成目标块的预测块。块矢量可指示目标块与参考块之间的位移。参考块可以是目标图像中的块。
以这种方式,通过参考目标图像生成预测块的预测模式可被称为“帧内块复制(IBC)模式”。
IBC模式可被应用于具有特定尺寸的CU。例如,IBC模式可被应用于M×N的CU。这里,M和N可小于或等于64。
IBC模式可包括跳过模式、合并模式、AMVP模式等。在跳过模式或合并模式的情况下,可配置合并候选列表,并且用信号发送合并索引,且因此可在合并候选列表中存在的合并候选之中指定单个合并候选。指定的合并候选的块矢量可被用作目标块的块矢量。
在AMVP模式的情况下,可用信号发送差分块矢量。此外,可从目标块的左侧邻近块和上方邻近块推导预测块矢量。此外,可用信号发送指示将使用哪个邻近块的索引。
IBC模式中的预测块可被包括在目标CTU或左侧CTU中,并且可被限于先前重建区域内的块。例如,可限制块矢量的值,使得目标块的预测块位于特定区域中。特定区域可以是由在包括目标块的64×64的块之前被编码和/或解码的三个64×64的块限定的区域。以这种方式限制块矢量的值,因此可减少由IBC模式的实施引起的存储器消耗和装置复杂性。
图16是根据实施例的编码设备的配置图。
编码设备1600可与以上描述的编码设备100对应。
编码设备1600可包括通过总线1690彼此通信的处理单元1610、内存1630、用户界面(UI)输入装置1650、UI输出装置1660和存储器1640。编码设备1600还可包括连接到网络1699的通信单元1620。
处理单元1610可以是用于运行存储在内存1630或存储器1640中的处理指令的中央处理器(CPU)或半导体器件。处理单元1610可以是至少一个硬件处理器。
处理单元1610可生成并处理被输入到编码设备1600的、从编码设备1600输出的、或者在编码设备1600中使用的信号、数据或信息,并且可执行与信号、数据或信息相关的检查、比较、确定等。换句话说,在实施例中,可由处理单元1610执行数据或信息的生成和处理以及与数据或信息相关的检查、比较和确定。
处理单元1610可包括帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。
帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190中的至少一些可以是程序模块,并且可与外部装置或系统进行通信。所述程序模块可以以操作系统、应用程序模块或其它程序模块的形式被包括在编码设备1600中。
所述程序模块可被物理地存储在各种类型的公知的存储装置中。此外,所述程序模块中的至少一些也可被存储在能够与编码设备1600进行通信的远程存储装置中。
程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于实现根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。
可使用由编码设备1600的至少一个处理器运行的指令或代码来实现所述程序模块。
处理单元1610可运行帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190中的指令或代码。
存储单元可表示内存1630和/或存储器1640。内存1630和存储器1640中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,内存1630可包括只读存储器(ROM)1631和随机存取存储器(RAM)1632中的至少一个。
存储单元可存储用于编码设备1600的操作的数据或信息。在实施例中,编码设备1600的数据或信息可被存储在存储单元中。
例如,存储单元可存储画面、块、列表、运动信息、帧间预测信息、比特流等。
编码设备1600可被实现在包括计算机可读存储介质的计算机系统中。
存储介质可存储编码设备1600的操作所需的至少一个模块。内存1630可存储至少一个模块,并且可被配置为使得所述至少一个模块由处理单元1610运行。
可通过通信单元1620来执行与编码设备1600的数据或信息的通信相关的功能。
例如,通信单元1620可将比特流发送到随后将描述的解码设备1700。
图17是根据实施例的解码设备的配置图。
解码设备1700可与以上描述的解码设备200对应。
解码设备1700可包括通过总线1790彼此通信的处理单元1710、内存1730、用户界面(UI)输入装置1750、UI输出装置1760和存储器1740。解码设备1700还可包括连接到网络1799的通信单元1720。
处理单元1710可以是用于运行存储在内存1730或存储器1740中的处理指令的中央处理器(CPU)或半导体器件。处理单元1710可以是至少一个硬件处理器。
处理单元1710可生成并处理被输入到解码设备1700的、从解码设备1700输出的、或者在解码设备1700中使用的信号、数据或信息,并且可执行与信号、数据或信息相关的检查、比较、确定等。换句话说,在实施例中,可由处理单元1710执行数据或信息的生成和处理以及与数据或信息相关的检查、比较和确定。
处理单元1710可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、切换器245、加法器255、滤波器单元260和参考画面缓冲器270。
解码设备200的熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、加法器255、切换器245、滤波器单元260和参考画面缓冲器270中的至少一些可以是程序模块,并且可与外部装置或系统进行通信。所述程序模块可以以操作系统、应用程序模块或其它程序模块的形式被包括在解码设备1700中。
程序模块可被物理地存储在各种类型的公知的存储装置中。此外,所述程序模块中的至少一些也可被存储在能够与解码设备1700进行通信的远程存储装置中。
程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于实现根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。
可使用由解码设备1700的至少一个处理器运行的指令或代码来实现所述程序模块。
处理单元1710可运行熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、切换器245、加法器255、滤波器单元260和参考画面缓冲器270中的指令或代码。
存储单元可表示内存1730和/或存储器1740。内存1730和存储器1740中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,内存1730可包括ROM1731和RAM 1732中的至少一个。
存储单元可存储用于解码设备1700的操作的数据或信息。在实施例中,解码设备1700的数据或信息可被存储在存储单元中。
例如,存储单元可存储画面、块、列表、运动信息、帧间预测信息、比特流等。
解码设备1700可被实现在包括计算机可读存储介质的计算机系统中。
存储介质可存储解码设备1700的操作所需的至少一个模块。内存1730可存储至少一个模块,并且可被配置为使得所述至少一个模块由处理单元1710运行。
可通过通信单元1720来执行与解码设备1700的数据或信息的通信相关的功能。
例如,通信单元1720可从编码设备1600接收比特流。
基于块形状的预测
实施例可由编码设备1600和解码设备1700中的每一个执行。在实施例中,处理单元可以是编码设备1600的处理单元1610和/或解码设备1700的处理单元1710。
在实施例中,提出了一种用于限制特定帧内预测方法的使用的方法,诸如在帧内预测中基于目标块的形状和邻近块的形状的帧内子分区(ISP)。由于所述特定帧内预测方法的使用受到限制,因此可使压缩性能的劣化最小化,并且可降低压缩所需的复杂度。
在图像编码和解码中,使用了一种用于通过去除帧内冗余或帧间冗余来提高图像编码效率的方法。为了去除帧间冗余或帧间冗余,针对特定目标块,使用与目标块具有相似性的信息的预测可被使用。目标块可以是作为当前编码/解码的目标的块。
块可以是执行预测的基本单元。例如,在实施例中,块可以是编码单元(CU)、预测单元(PU)、宏块或子块。
帧内预测可以是使用目标块周围的先前重建的样点作为参考样点来预测目标块的方法。
如上面参照图7所例示的,包括65个方向模式和两个非方向模式的总共67个帧内预测模式中的一个帧内预测模式可被选为用于对应块的帧内预测模式,并且使用所选的帧内预测模式,使用目标块周围的重建样点的值来执行针对目标块的预测。
当帧内预测被使用时,在实际目标块与预测块之间可能发生预测误差。在图像被划分为小块并且执行针对小块的预测的情况下,与执行针对大块的预测的情况相比,可以降低总预测误差。然而,当图像被划分为更小的块时,可能另外需要关于划分的信息。因此,编码设备1600可计算1)由于子划分而生成的附加信息与2)由于子划分之后的预测而减小的预测误差之间的权衡,并且可基于该计算来确定最佳帧内预测模式。
关于所确定的帧内预测模式的信息可从编码设备1600被用信号发送到解码设备1700,并且解码设备1700可使用用信号发送的帧内预测模式信息来确定帧内预测模式。可选地,解码设备1700可基于预定义方法推导帧内预测模式。
在帧内预测中,随着目标块的尺寸越大,预测位置(即,预测像素的位置)与参考的位置(即,参考样点)之间的距离越长,并且因此预测误差可能越大。因此,在帧内预测中,目标块可被划分为具有更小尺寸的子块,以便通过减少预测误差来提高预测性能。
在下文中,术语“划分”和术语“子划分”可具有相同的含义,并且可被彼此互换使用。
在实施例中,划分可以是使用特定方法将目标块划分为一个或更多个更小的块的操作。子块可以是从划分得到的更小的块。
在实施例中,划分模式可以是执行划分的模式。
在实施例中,划分形状可指示关于从划分得到的子块的信息的全部或部分。例如,关于一个或更多个子块的信息可包括一个或更多个子块的尺寸、形状、数量和布置。对于目标块的划分,可以存在多个划分形状。
在实施例中,划分结构可表示用于根据预定义方法将目标块划分为一个或更多个子块的结构。这样的划分结构可包括指示划分是否将被执行的信息及其划分形状。
图18示出根据示例的基于线的帧内预测。
基于线的帧内预测(LIP)可以是用于将目标块划分为多个子块并对子块执行编码/解码(诸如预测)的方法。
目标块的宽度可以是W,并且其高度可以是H。这里,宽度可指示水平方向上的像素的数量。这里,高度可以是垂直方向上的像素的数量。W可以是整数1或更大的整数。H可以是整数1或更大的整数。
目标块可被划分为W×1的线(或条(stripe))。每条线可以是具有宽度W和高度l的块。可对从划分得到的线执行编码/解码。
可选地,目标块可被划分为1×H的线(或条)。每条线可以是具有宽度1和高度H的块。可对从划分得到的线执行编码/解码。
在LIP中,在目标块被划分为子块之前,可选择用于目标块的帧内预测模式。可使用所选的帧内预测模式来对从划分得到的线进行编码/解码。
将目标块划分为皆具有W×1的尺寸的线可被指定为水平划分。将目标块划分为皆具有1×H的尺寸的线可被指定为垂直划分。
图19示出根据示例的针对目标块的基本帧内预测。
图20示出根据示例的针对目标块的基于线的帧内预测。
基本帧内预测可表示不进一步划分目标块的帧内预测。如图19中所示,基本帧内预测被配置为使用目标块周围的先前重建的样点针对目标块执行预测。
当基本帧内预测被使用时,随着目标块中的像素与重建样点之间的距离越长,针对目标块中的像素的预测误差可能越大。换言之,随着对应像素越靠近目标块的右侧部分和下方部分,可能发生越大的预测误差。
反之,如图20中所示,当LIP被使用时,目标块可被划分为线。每条线可包括N个像素。N可以是整数1或更大的整数。
针对从划分得到的每条线,可执行使用对应线周围的先前重建的样点的帧内预测,并且可经由帧内预测来重建对应线中的像素。
可根据线的位置依次执行对线的编码/解码。对于针对目标线的帧内预测,先前重建的线中的重建像素可被用作样点。
因为先前重建的线中的重建像素被用作样点,所以预测线与每个先前重建的样点之间的距离可保持在统一的距离。换言之,由于作为重建的目标的目标像素与参考样点之间的距离是统一的,并且目标像素更靠近参考样点,因此可以提高帧内预测的准确性。
因此,当LIP被使用时,可防止诸如上面参照图19描述的问题(随着对应像素越靠近目标块的右侧部分和下方部分,针对像素的预测误差进一步增加),并且可减小帧内预测中的预测误差。
与LIP相关的信息可包括1)指示是否将使用LIP的信息和2)将何时使用LIP、指示将目标块划分为多条线所根据的形状的信息。
编码设备1600可根据针对目标块确定的帧内预测方法来确定与LIP相关的信息。所确定的LIP相关信息可通过比特流从编码设备1600被用信号发送到解码设备1700。
解码设备1700可使用用信号发送的LIP相关信息,基于由编码设备1600确定的帧内预测方法来执行预测和解码。
图21示出根据示例的将目标块划分为两个子块的帧内子分区(ISP)。
图22示出根据示例的将目标块分区为四个子块的ISP。
当ISP被使用时,如图21和图22中所示,目标块可被划分为N个子块。N可以是整数2或更大的整数。
目标块可具有W×H的尺寸。目标块的宽度可以是W,并且其高度可以是H。这里,宽度可以是水平方向上的像素的数量。高度可以是垂直方向上的像素的数量。W可以是整数1或更大的整数。H可以是整数1或更大的整数。
如图21中所示,目标块可被垂直二等分,并且可被等分为皆具有(W/2)×H的尺寸的两个子块。可选地,目标块可被水平二等分,并且可被等分为皆具有W×(H/2)的尺寸的两个子块。
如图22中所示,目标块可被垂直地四等分,并且可被等分为具有(W/4)×H的尺寸的四个子块。可选地,目标块可被水平四等分,并且可被等分为具有W×(H/4)的尺寸的四个子块。
可根据目标块的尺寸来确定或限制目标块的划分形状。
例如,当目标块的尺寸是4×4时,可不执行将目标块划分为子块。
例如,如图21中所示,当目标块的尺寸为4×8或8×4时,目标块可被划分为两个子块。
例如,如图22中所示,当目标块的尺寸不对应于上面例示的尺寸时(即,当目标块的尺寸等于或大于预定义尺寸(诸如8×8)时),目标块可被划分为四个子块。
在帧内预测中,可在划分目标块之前选择帧内预测模式。因此,可将相同的帧内预测模式共同应用于从划分得到的多个子块,并且可使用相同的帧内预测模式对从划分得到的多个子块进行编码/解码。此外,指示帧内预测模式的信息可仅被用信号发送一次。
水平划分可表示目标块被划分为皆具有W×H/4的尺寸或W×H/2的尺寸的子块。也就是说,水平划分的划分方向可以是水平方向。垂直划分可表示目标块被划分为皆具有W/4×H的尺寸或W/2×H的尺寸的子块。也就是说,垂直划分的划分方向可以是垂直方向。
当通过ISP将目标块划分为一个或更多个子块时,可对每个子块执行编码/解码。对每个子块的编码可包括对对应子块的预测、变换、量化、反量化、逆变换和重建中的至少一个。对每个子块的解码可包括对对应子块的反量化、逆变换、预测和重建中的至少一个。换言之,子块可以是应用诸如预测、变换、量化、反量化、逆变换或重建的处理的单元。
通过划分编码/解码的单元,可提高预测等的准确性,并且可提高压缩的性能。
与ISP相关的信息可包括1)指示ISP是否将被使用的ISP信息。此外,当ISP被使用时,与ISP相关的信息可包括2)指示目标块的划分的形状的ISP模式信息。
ISP模式信息可指定目标块的划分的方向。ISP模式信息可指示水平模式和垂直模式中的一个模式。水平模式可以是对目标块应用水平划分的模式。垂直模式可以是对目标块应用垂直划分的模式。
与ISP相关的信息还可包括3)指示从目标块的划分得到的子块的数量的ISP数量信息。IPS数量信息可从编码设备1600被用信号发送,或者可由解码设备1700基于上述实施例中例示的特定编码参数推导出。
编码参数可以是以下项中的至少一项:块的宽度和高度、宽度/高度的最大值/最小值、宽度和高度之和、属于块的像素的数量、块形状、分量类型、参考像素的位置/范围、帧内预测模式的类型(例如,帧内预测模式是否为方向模式或帧内预测模式是否为预定义默认模式)或帧内预测模式的角度、变换跳过是否将被执行、变换类型等。这里,块可以是目标块(即,预测块和变换块中的至少一个)或者与目标块邻近的块。
例如,ISP信息可以是ISP标志。
例如,ISP模式信息可以是ISP模式标志。
当ISP可用于目标块时,ISP信息和ISP模式信息可从编码设备1600被用信号发送到解码设备1700。编码设备1600可确定ISP信息。可通过比特流将ISP信息从编码设备1600用信号发送到解码设备1700。获取ISP信息的解码设备1700可基于由编码设备1600确定的ISP方法针对目标块执行预测。
这里,表述“ISP可用于目标块”可与表述“ISP可应用于目标块”具有相同的含义。此外,表述“ISP可用于目标块”可与表述“可将ISP应用于目标块”具有相同的含义。当“ISP可用于目标块”时,可基于ISP信息来确定ISP是否将被用于目标块。
此外,表述“ISP不可用于目标块”可与表述“ISP对目标块具有限制”具有相同的含义。此外,表述“ISP不可用于目标块”可与表述“不可以将ISP应用于目标块”具有相同的含义。当“ISP不可用于目标块”时,不可以将ISP应用于目标块,并且因此可不用信号发送ISP信息和ISP模式信息。
因此,处理单元可首先确定ISP是否可用于目标块,并且当确定了ISP可用时,其次确定ISP是否将(实际)被用于目标块。此外,当确定了ISP将被用于目标块时,处理单元可根据ISP模式信息将ISP应用于目标块。
“ISP可用性检查”可旨在检查ISP是否可用于目标块。
例如,可根据目标块的尺寸来确定针对目标块的ISP的可用性。例如,即使目标块的尺寸过大并且然后通过ISP将目标块划分为子块,当每个子块大于最大可改变尺寸时,ISP也会不可用。
可选地,可考虑针对目标块的参考线的位置来确定针对目标块的ISP的可用性。例如,当针对目标块的参考线与目标块相邻时(即,当参考线0被使用时),可确定ISP可用于目标块。否则(即,当针对目标块的参考线与目标块不相邻时),可确定ISP不可用于目标块。当确定ISP可用时,上述ISP相关信息可被编码或推导出。
图23示出根据示例的根据目标块的尺寸的ISP执行方法。
图24示出根据示例的根据ISP的可用性和ISP模式的可用性而用信号发送的比特。
ISP执行方法可根据目标块的特征而变化。目标块的特征可包括目标块的尺寸。
当ISP被用于目标块时,可将从多个ISP模式中选择的一个ISP模式应用于目标块。
“可用于目标块的ISP模式”可以是多个ISP模式中的可应用于目标块的ISP模式。此外,“可用于目标块的ISP模式”可以是多个ISP模式中的不限于用于目标块的ISP模式。
例如,当ISP模式是垂直模式和水平模式时,可用ISP模式可以是1)垂直模式和水平模式、2)垂直模式、或3)水平模式。此外,根据情况,可能不存在可用ISP模式(即使ISP可用)。
当ISP不可用时,从解码设备1700的角度来看,用信号发送ISP相关信息(诸如ISP信息)可能是无意义的。此外,从图像压缩的角度来看,不必要的ISP相关信息还可能是不利的。
编码设备1600和解码设备1700中的每一个可通过首先测量目标块的尺寸来检查IPS是否可用于目标块,并且可根据ISP的可用性执行后续的编码/解码处理。
当目标块的一面过大或过小时,水平模式和垂直模式中的仅一个模式可以是可用的。在这种情况下,当ISP被用于目标块时,可以不需要用信号发送指示水平模式和垂直模式中的一个模式的ISP模式信息。也就是说,当可用于目标块的ISP模式的数量仅为一时,可不用信号发送用于识别将被应用于目标块的ISP模式的ISP模式信息。
当可用于目标块的ISP模式的数量是两个或更多个时,可需要用信号发送ISP模式信息,以便在所述两个或更多个可用ISP模式中识别将被应用于目标块的ISP模式。然而,即使在可用ISP模式的数量是两个或更多的情况下,也可以省略用信号发送ISP模式信息。在这种情况下,可基于目标块的尺寸等推导ISP模式信息的值。例如,当目标块的高度大于预测块/变换块的最大尺寸时,ISP模式信息可被推导为指示水平模式的第一值。当目标块的宽度大于预测块/变换块的最大尺寸时,ISP模式信息可被推导为指示垂直模式的第二值。此外,根据使用实施例中例示的针对目标块的编码参数的计算公式,ISP模式信息可被推导为第一值或第二值。
当ISP本身不可用时,可不必用信号发送指示ISP是否将被使用的ISP信息。由于不需要用信号发送ISP信息,因此可用信号发送最可能模式(MPM)信息(以便针对目标块确定除ISP之外的另一帧内预测方法)。这里,MPM信息可以是MPM标志。因此,如图24中例示的,可仅用信号发送1个比特。
MPM信息可以是指示MPM是否将被使用的信息。MPM信息仅仅是示例性的,并且因此实施例中的MPM信息可被替换为指示将在ISP之后确定其使用的帧内预测方法是否将被使用的信息。
类似地,当由于目标块的尺寸等的限制而水平模式和垂直模式中的仅一个模式可用时,不需要用信号发送指示ISP模式的ISP模式信息,并且可仅用信号发送指示ISP是否将被使用的ISP信息的1个比特。
当ISP将被使用时或者当ISP可用时,可省略用信号发送MPM信息。当ISP被使用时或者当ISP可用时,帧内预测模式的使用可被限制,使得用于目标块的帧内预测模式(即,共同应用于一个或更多个子块的帧内预测模式)由MPM确定。换言之,帧内预测模式可(始终)为MPM列表中的候选模式中的一个模式。由于帧内预测模式由MPM确定(即,由于ISP的使用涉及MPM的使用),因此可不用信号发送指示MPM是否将被使用的MPM信息。可选地,可仅针对ISP未被使用或ISP不可用的情况用信号发送MPM信息。在ISP未被使用或ISP不可用的情况下,用于目标块的帧内预测模式可限于由MPM确定。换言之,帧内预测模式可始终为MPM列表中的候选模式中的一个模式。在示例中,当针对目标块的参考线不是参考线0时,ISP可被确定为不可用,并且用于目标块的帧内预测模式可被确定为MPM列表中的候选模式中的任意一个模式。
当ISP将被用于目标块时,可用信号发送ISP信息和ISP模式信息,而当ISP可用于目标块但ISP将不被用于目标块时,可用信号发送ISP信息和MPM信息。此外,当ISP不可用于目标块时,可不用信号发送ISP相关信息,并且可针对目标块用信号发送MPM信息(不管ISP如何)。
通过省略该用信号发送的操作,可减少从编码设备1600到解码设备1700用信号发送的信息的总量,从而提高编码/解码性能。
如上所述,使用划分的特定帧内预测方法(诸如LIP和ISP)可根据预定义方法将一个块划分为一个或更多个子块,并且可针对子块中的每个子块执行预测,从而提高预测性能。
对于这样的特定帧内预测方法,指示特定帧内预测方法是否将被使用的信息可存在于比特流中,并且当针对特定帧内预测方法存在多个划分形状时,用于指定将使用哪个划分形状的附加信息也可存在于比特流中。
在实施例中,可基于目标块的属性(诸如其形状)来确定具有低效率的特定帧内预测方法,并且可基于该确定来限制特定帧内预测方法的使用。通过这种限制,可减少比特流中的信息量,并且可防止复杂度由于基于特定帧内预测方法的划分而增加。
此外,在实施例中,当划分被应用时,根据目标块的属性和邻近块的属性,可完全或部分地省略关于划分的附加信息。通过省略该附加信息,可减少将通过比特流被用信号发送的信息量。此外,通过省略该附加信息,可限制由于提供LIP和ISP而引起的编码/解码复杂度的增加,并且可更简单地实现编码设备1600和解码设备1700。
图25是根据实施例的根据目标块的编码参数的选择性编码/解码方法的流程图。
如上所述,可通过对子块执行编码/解码来提高诸如预测准确性的压缩性能。反之,根据块的属性,从预测准确性的角度来看,可能无法从划分获得大的利益,并且即使考虑了由划分引起的用信号发送附加信息的操作,在从压缩性能的角度来看没有获得有意义的利益的情况下,也会增加编码设备1600和解码设备1700的复杂度。
在实施例中,将描述一种用于根据目标块的属性来限制地执行ISP的方法。当目标块具有特定属性时,通过将ISP应用于目标块而获得的效率可能较低。可通过省略用信号发送针对具有特定属性的目标块的ISP相关信息的操作来减少附加信令,并且因此可减少由ISP引起的复杂度。
在步骤2510,处理单元可基于目标块的属性来确定特定预测方法的可用性。
换言之,处理单元可确定目标块是否具有适合于使用特定预测方法的属性。根据目标块的属性,所述特定方法可能不可用于目标块。
特定预测方法可包括用于划分目标块的方法,诸如ISP。
例如,用于进行确定的目标块的属性可包括目标块的形状。目标块的形状可指示目标块的形态特征。例如,目标块的形状可包括1)目标块的水平长度、2)目标块的垂直长度、3)目标块的水平长度与垂直长度之间的差、以及4)目标块的水平长度与垂直长度的比率。
可选地,目标块的属性可以是与目标块相关的编码参数。
处理单元可使用第一条件表达式来确定特定预测方法的可用性。
第一条件表达式可包括目标块的一个或更多个属性。例如,第一条件表达式可包含与目标块的形状相关的属性,即,1)目标块的水平长度、2)目标块的垂直长度、3)目标块的水平长度与垂直长度之间的差、以及4)目标块的水平长度与垂直长度的比率。
第一条件表达式可以是包含目标块的一个或更多个属性的比较表达式。例如,第一条件表达式可以是包括目标块的水平长度和目标块的垂直长度的比较表达式。当第一条件表达式的值为真(或“1”)时,可确定特定预测方法可用于目标块。当第一条件表达式的值为真(或“1”)时,可确定特定预测方法不可用于目标块。
根据第一条件表达式,当特定预测方法可用于目标块时,可执行步骤2520。
根据第一条件表达式,当特定预测方法不可用于目标块时,可执行步骤2550。
在步骤2520,处理单元可确定针对目标块的特定预测方法的可用性。
处理单元可使用第二条件表达式来确定特定预测方法的可用性。
第一条件表达式和第二条件表达式可彼此不同。通过步骤2510和2520,可分阶段确定所述预测方法的可用性。
上述第一条件表达式的描述也可被应用于第二条件表达式。
例如,第二条件表达式可表示用于确定针对目标块的ISP的可用性的现有方法。第一条件表达式可表示用于确定针对目标块的ISP的可用性的附加方法。
当第二条件表达式的值为真(或“1”)时,可确定特定预测方法可用于目标块。当第二条件表达式的值为真(或“1”)时,可确定特定预测方法不可用于目标块。
根据第二条件表达式,当特定预测方法可用于目标块时,可执行步骤2530。
根据第二条件表达式,当特定预测方法不可用于目标块时,可执行步骤2550。
当确定特定预测方法可用于目标块时,处理单元可在步骤2530确定特定预测方法是否将被使用。
处理单元可通过检查其他限制条件(诸如第三条件表达式中的那些限制条件)来确定特定预测方法是否将被使用。
例如,处理单元可基于通过比特流用信号发送的信息来确定特定预测方法是否将被使用。
当确定特定预测方法将被使用时,可执行步骤2540。
当确定特定预测方法将不被使用时,可执行步骤2550。
在步骤2540,处理单元可使用特定预测方法执行对目标块的处理。
这里,对目标块的处理可表示对目标块的编码/解码。
在步骤2550,处理单元可执行对目标块的不使用特定预测方法的处理。
这里,对目标块的处理可表示对目标块的编码/解码。
图26是根据实施例的用于根据目标块的形状来限制地使用ISP的编码方法的流程图。
将参照图26描述的实施例详细地示出了上面参照图25描述的实施例。例如,上面参照图25描述的步骤2510可包括步骤2610。步骤2520可包括步骤2615。步骤2530可包括步骤2620、2630、2631、2640、2641、2650和2651。步骤2540可包括步骤2632、2633、2660和2670。步骤2550可包括步骤2690。
在步骤2610,处理单元1610可基于目标块的属性来检查针对目标块的ISP的可用性。
例如,处理单元1610可基于目标块的属性来检查针对目标块的ISP的可用性。
例如,处理单元1610可基于目标块的形状来检查针对目标块的ISP的可用性。
例如,ISP可以仅可用于具有矩形(即,非正方形)形状的块,并且可以不可用于具有正方形形状的块。在这种情况下,可基于块的水平长度与垂直长度之间的比较来确定块的形状。
例如,当目标块具有矩形(即,非正方形)形状时,处理单元1610可确定ISP可用于目标块。当目标块的水平长度和垂直长度彼此不相等时,处理单元1610可确定ISP可用于目标块。
例如,当目标块具有正方形(即,非正方形)形状时,处理单元1610可确定ISP不可用于目标块。当目标块的水平长度和垂直长度彼此相等时,处理单元1610可确定ISP不可用于目标块。
处理单元1610可使用上述第一条件表达式来检查针对目标块的ISP的可用性。换言之,应用第一条件表达式的特定预测模式可以是ISP。
当确定ISP可用于目标块时,可执行步骤2615。
当确定ISP不可用于目标块时,可执行步骤2690。
在步骤2615,处理单元1610可检查针对目标块的ISP的可用性。
处理单元1610可使用上述第二条件表达式来检查针对目标块的ISP的可用性。换言之,应用第二条件表达式的特定预测模式可以是ISP。
在步骤2615,处理单元1610可在步骤2610之后第二次确定针对目标块的ISP的可用性。
在步骤2620,处理单元1610可识别针对目标块的一个或更多个可用ISP模式。处理单元1610可第三次确定针对目标块的ISP的可用性。这里,针对目标块的ISP的可用性的第三次确定可指示是否存在可用于目标块的至少一个ISP模式。
这里,处理单元1610可基于目标块的尺寸、目标块的水平长度和/或目标块的垂直长度来识别针对目标块的一个或更多个可用ISP模式。
例如,当目标块的水平长度等于或大于参考值时,垂直模式可以是可用的。当目标块的垂直长度等于或大于参考值时,水平模式可以是可用的。
当水平模式和垂直模式都可用于目标块时,可执行步骤2630。
当仅水平模式可用于目标块时,可执行步骤2640。也就是说,当垂直模式不可用于目标块时,可执行步骤2640。
当仅垂直模式可用于目标块时,可执行步骤2650。也就是说,当水平模式不可用于目标块时,可执行步骤2650。
当不存在可用于目标块的ISP模式时,ISP不能被用于目标块,并且可执行步骤2690。也就是说,当水平模式和垂直模式都不可用于目标块时,可执行步骤2690。
在步骤2630,处理单元1610可将ISP信息包括在比特流中。换言之,可用信号发送ISP信息。
在步骤2631,处理单元1610可确定ISP是否将被用于目标块。例如,当ISP信息的值是第一值(例如,“1”)时,ISP可被用于目标块。当ISP信息的值是第二值(例如,“0”)时,ISP可不被用于目标块。
(在下文中,“1”可指示“真”,“0”可指示“假”)
当ISP将被用于目标块时,可执行步骤2632。
当ISP将不被用于目标块时,可执行步骤2690。
在步骤2632,处理单元1610可将ISP模式信息包括在比特流中。换言之,可用信号发送ISP模式信息。
在步骤2633,处理单元1610可使用ISP模式信息来检查将被应用于目标块的ISP模式。
当ISP模式信息指示水平模式时,ISP的水平模式可被应用于目标块。当ISP模式信息指示垂直模式时,ISP的垂直模式可被应用于目标块。
当水平模式被应用于目标块时,可执行步骤2660。
当垂直模式被应用于目标块时,可执行步骤2670。
在步骤2640,处理单元1610可将ISP信息包括在比特流中。换言之,可用信号发送ISP信息。
在步骤2641,处理单元1610可确定ISP是否将被用于目标块。例如,当ISP信息的值是第一值(例如,“1”)时,ISP可被用于目标块。当ISP信息的值是第二值(例如,“0”)时,ISP可不被用于目标块。
当ISP将被用于目标块时,可执行步骤2660。
当ISP将不被用于目标块时,可执行步骤2690。
在步骤2650,处理单元1610可将ISP信息包括在比特流中。换言之,可用信号发送ISP信息。
在步骤2651,处理单元1610可确定ISP是否将被用于目标块。例如,当ISP信息的值是第一值(例如,“1”)时,ISP可被用于目标块。当ISP信息的值是第二值(例如,“0”)时,ISP可不被用于目标块。
当ISP将被用于目标块时,可执行步骤2670。
当ISP将不被用于目标块时,可执行步骤2690。
在步骤2660,处理单元1610可使用ISP的水平模式来执行对目标块的处理。例如,处理单元1610可使用ISP的水平模式将目标块水平划分为多个子块,并且可对所述多个子块执行编码。
在步骤2670,处理单元1610可使用ISP的垂直模式来执行对目标块的处理。例如,处理单元1610可使用ISP的垂直模式将目标块垂直划分为多个子块,并且可对所述多个子块执行编码。
在步骤2690,处理单元1610可向比特流添加指示附加预测方法是否将被使用的信息。换言之,可用信号发送指示附加预测方法是否将被使用的信息。
例如,指示附加预测方法是否将被使用的信息可以是MPM信息。
图27是根据实施例的用于根据目标块的形状来限制地使用ISP的解码方法的流程图。
将参照图27描述的实施例详细地示出了上面参照图25描述的实施例。例如,上面参照图25描述的步骤2510可包括步骤2710。步骤2520可包括步骤2715。步骤2530可包括步骤2720、2730、2731、2740、2741、2750和2751。步骤2540可包括步骤2732、2733、2760和2770。步骤2550可包括步骤2790。
此外,参照图27描述的实施例可对应于上面参照图26描述的实施例。在实施例中,可省略其重复描述。
在步骤2710,处理单元1710可基于目标块的属性来检查针对目标块的ISP的可用性。
例如,处理单元1710可基于目标块的属性来检查针对目标块的ISP的可用性。
例如,处理单元1710可基于目标块的形状来检查针对目标块的ISP的可用性。
例如,ISP可以仅可用于具有矩形(即,非正方形)形状的块,并且可以不可用于具有正方形形状的块。在这种情况下,可基于块的水平长度与垂直长度之间的比较来确定块的形状。
例如,当目标块具有矩形(即,非正方形)形状时,处理单元1710可确定ISP可用于目标块。当目标块的水平长度和垂直长度彼此不相等时,处理单元1710可确定ISP可用于目标块。
例如,当目标块具有正方形(即,非正方形)形状时,处理单元1710可确定ISP不可用于目标块。当目标块的水平长度和垂直长度彼此相等时,处理单元1710可确定ISP不可用于目标块。
处理单元1710可使用上述第一条件表达式来检查针对目标块的ISP的可用性。换言之,应用第一条件表达式的特定预测模式可以是ISP。
当确定ISP可用于目标块时,可执行步骤2715。
当确定ISP不可用于目标块时,可执行步骤2790。
在步骤2715,处理单元1710可检查针对目标块的ISP的可用性。
处理单元1710可使用上述第二条件表达式来检查针对目标块的ISP的可用性。换言之,应用第二条件表达式的特定预测模式可以是ISP。
在步骤2715,处理单元1710可以在步骤2710之后第二次确定针对目标块的ISP的可用性。
在步骤2720,处理单元1710可识别针对目标块的一个或更多个可用ISP模式。处理单元1710可第三次确定针对目标块的ISP的可用性。这里,针对目标块的ISP的可用性的第三次确定可指示是否存在可用于目标块的至少一个ISP模式。
这里,处理单元1710可基于目标块的尺寸、目标块的水平长度和/或目标块的垂直长度来识别针对目标块的一个或更多个可用ISP模式。
例如,当目标块的水平长度等于或大于参考值时,垂直模式可以是可用的。当目标块的垂直长度等于或大于参考值时,水平模式可以是可用的。
当水平模式和垂直模式都可用于目标块时,可执行步骤2730。
当仅水平模式可用于目标块时,可执行步骤2740。也就是说,当垂直模式不可用于目标块时,可执行步骤2740。
当仅垂直模式可用于目标块时,可执行步骤2750。也就是说,当水平模式不可用于目标块时,可执行步骤2750。
当不存在可用于目标块的ISP模式时,ISP不能被用于目标块,并且可执行步骤2790。也就是说,当水平模式和垂直模式都不可用于目标块时,可执行步骤2790。
在步骤2730,处理单元1710可从比特流获取ISP信息。
在步骤2731,处理单元1710可确定ISP是否将被用于目标块。例如,当ISP信息的值是第一值(例如,“1”)时,ISP可被用于目标块。当ISP信息的值是第二值(例如,“0”)时,ISP可不被用于目标块。
当ISP将被用于目标块时,可执行步骤2732。
当ISP将不被用于目标块时,可执行步骤2790。
在步骤2732,处理单元1710可从比特流获取ISP模式信息。
在步骤2733,处理单元1710可使用ISP模式信息来检查将被应用于目标块的ISP模式。
当ISP模式信息指示水平模式时,ISP的水平模式可被应用于目标块。当ISP模式信息指示垂直模式时,ISP的垂直模式可被应用于目标块。
当水平模式被应用于目标块时,可执行步骤2760。
当垂直模式被应用于目标块时,可执行步骤2770。
在步骤2740,处理单元1710可从比特流获取ISP信息。
在步骤2741,处理单元1710可确定ISP是否将被用于目标块。例如,当ISP信息的值是第一值(例如,“1”)时,ISP可被用于目标块。当ISP信息的值是第二值(例如,“0”)时,ISP可不被用于目标块。
当ISP将被用于目标块时,可执行步骤2760。
当ISP将不被用于目标块时,可执行步骤2790。
在步骤2750,处理单元1710可从比特流获取ISP信息。
在步骤2751,处理单元1710可确定ISP是否将被用于目标块。例如,当ISP信息的值是第一值(例如,“1”)时,ISP可被用于目标块。当ISP信息的值是第二值(例如,“0”)时,ISP可不被用于目标块。
当ISP将被用于目标块时,可执行步骤2760。
当ISP将不被用于目标块时,可执行步骤2790。
在步骤2760,处理单元1710可使用ISP的水平模式来执行对目标块的处理。例如,处理单元1710可使用ISP的水平模式将目标块水平划分为多个子块,并且可对所述多个子块执行解码。
在步骤2770,处理单元1710可使用ISP的垂直模式来执行对目标块的处理。例如,处理单元1710可使用ISP的垂直模式将目标块垂直划分为多个子块,并且可对所述多个子块执行编码。
在步骤2790,处理单元1710可从比特流获取指示附加预测方法是否将被使用的信息。
例如,指示附加预测方法是否将被使用的信息可以是MPM信息。
如上面参照图26和图27所述,当目标块的水平长度和垂直长度彼此相等时,可限制ISP的使用,并且可基于在步骤2610和2620的首先确定来确定ISP不可用。
当目标块的水平长度和垂直长度彼此不同时,还可基于在步骤2615和2715的第二次确定来执行针对目标块的ISP的可用性的确定。在第二次确定中,可基于目标块的尺寸、目标块的水平长度和/或目标块的垂直长度来确定ISP的可用性,并且可识别针对目标块的一个或更多个可用ISP模式。换言之,可基于目标块的尺寸、目标块的水平长度和/或目标块的垂直长度将ISP的划分方向限制为水平方向和垂直方向中的至少一个。
宽块可以是垂直长度和水平长度彼此不同的块。正方形块可以是垂直长度和水平长度彼此相等的块。
通常,将针对正方形块选择ISP的概率可以低于将针对宽块选择ISP的概率。这种趋势可意味着正方形块的整体ISP编码效率低于宽块的整体ISP编码效率。
即使ISP被用于正方形块,与ISP未被使用的情况相比,编码/解码效率也不会有意义地提高。根据这些特征,在实施例中,当目标块不是宽块时,可排除ISP的使用。也就是说,当目标块不是宽块时,ISP可被确定为不可用。
通过这种排除,可以降低编码/解码的复杂度,并且可以省略不必要的信令。也就是说,对于目标块是水平长度和垂直长度彼此相等的正方形块的实施例的情况,已经描述了防止对正方形块执行低效的ISP的限制。
尽管已经结合实施例描述了在步骤2610之后执行步骤2615以及在步骤2710之后执行步骤2715,但是可以以与以上描述不同的方式定义步骤2610与步骤2615之间的关系以及步骤2710与2715之间的关系。
例如,可进行修改,使得在步骤2615之后执行步骤2610并且在步骤2715之后执行步骤2710。
例如,处理单元1710可首先确定针对目标块的ISP的可用性,并且可基于目标块的附加属性第二次确定针对目标块的ISP的可用性。
可选地,步骤2615可包括步骤2610。步骤2715可包括步骤2710。例如,上述条件表达式2可被配置为包括条件表达式1。
可选地,可省略步骤2615和/或步骤2715。
结合上述实施例,已经描述了根据目标块的属性来确定针对目标块的ISP的可用性。此外,处理单元可基于目标块的属性和邻近块的属性来确定针对目标块的ISP的可用性。这里,邻近块可以是与目标块相邻的块。邻近块可以是在时间上与目标块相邻的块或在空间上与目标块相邻的块。
图28示出根据示例的根据ISP的限制使用而将被用信号发送的信息量的减少。
图28可示出在以上参照图26和图27描述的实施例中如何减少从编码设备1600用信号发送到解码设备1700的信息。
如图28中例示的,可检查目标块是否为宽块。
当目标块不是宽块时,ISP可以不可用于目标块。因为ISP不可用,所以可省略用信号发送ISP信息和ISP模式信息的操作,并且仅MPM信息可被用信号发送。通过这种省略,可仅消耗1个比特来用信号发送。
当ISP将被用于目标块时,可省略用信号发送MPM信息的操作。
用信号发送的语法
可选择性地执行上述针对目标块的ISP的可用性的确定。例如,根据包括目标块的图像的特征、包括目标块的序列的特征以及包括目标块的视频的特征,可以需要或可以不需要针对ISP的可用性的确定。
例如,可针对特定目标(或单元)选择性地执行上面参照图25、图26和图27描述的实施例中的确定。换言之,在目标块的编码/解码中,可选择性地执行步骤2510、2610和2710。可选地,在目标块的编码/解码中,可选择性地执行步骤2510和2520、步骤2610和2615、以及步骤2710和2715。
换言之,可从编码设备1600将指示针对特定目标的预测模式的可用性的确定是否将被执行的设置信息用信号发送到解码设备1700,其中,所述预测模式使用第一条件表达式和/或第二条件表达式。
设置信息可以是指示针对目标块的特定预测方法的可用性是否将被确定或将被检查的信息。
例如,设置信息可被视为“实现关于划分是否将被执行及其划分形状的信令的优化的信息”。
可选地,可以以预定义方式推导针对特定目标的设置信息,或者可基于附加信息推导针对特定目标的设置信息。这里,附加信息可包括针对特定目标的编码参数、针对目标块的编码参数和针对邻近块的编码参数。通过这种推导,可省略用信号发送设置信息的操作。
例如,当设置信息的值是第一值(例如,“1”)时,如上所述,可对特定目标中包括的目标块执行步骤2510、步骤2610和/或步骤2710。可选地,当设置信息的值是第一值(例如,“1”)时,如上所述,可对特定目标中包括的目标块执行步骤2510和2520、步骤2610和2615、以及/或者步骤2710和2715。
例如,当设置信息的值是第二值(例如,“0”)时,无论目标块的属性和形状如何,可在不执行步骤2510、步骤2610和/或步骤2710的情况下对特定目标中包括的目标块执行步骤2520、步骤2620和/或步骤2720。
当设置信息的值是第二值(例如,“0”)时,无论目标块的属性和形状如何,可在不执行步骤2510和2520、步骤2610和2615、以及/或者步骤2710和2715的情况下对特定目标中包括的目标块执行步骤2530、步骤2620和/或步骤2720。
图29示出根据示例的在基于序列参数确定是否将执行可用性的确定的情况下用信号发送设置信息的语法。
在图29中,示出了基于序列参数集(SPS)确定是否将执行可用性的确定的情况下的语法。
如图29中所示,设置信息可被包括在针对SPS的语法中。
根据该语法,应用设置信息的特定目标可以是将应用SPS的目标。
SPS中的设置信息可被应用于画面中的参考SPS的目标块。可选地,SPS中的设置信息可被应用于将应用SPS的目标块。
图30示出根据示例的在基于画面参数确定是否将执行可用性的确定的情况下用信号发送设置信息的语法。
在图30中,示出了基于画面参数集(PPS)确定是否将执行可用性的确定的情况下的语法。
如图30中所示,设置信息可被包括在针对PPS的语法中。
根据该语法,应用设置信息的特定目标可以是将应用PPS的目标。
PPS中的设置信息可被应用于画面中的参考PPS的目标块。可选地,PPS中的设置信息可被应用于将应用PPS的目标块。
图31示出根据示例的在基于并行块组头确定是否将执行可用性的确定的情况下用信号发送设置信息的语法。
在图31中,示出了基于并行块组头确定是否将执行可用性的确定的情况下的语法。
如图31中所示,设置信息可被包括在针对并行块组头的语法中。
根据该语法,应用设置信息的特定目标可以是将应用并行块组头的目标。
可将并行块组头中的设置信息应用于画面中的参考并行块组头的目标块。可选地,并行块组头中的设置信息可被用于将应用并行块组头的目标块。
并行块组可表示一个或更多个并行块。此外,并行块组可与条带具有相同的含义。
每个并行块可被分区为一个或更多个分块。分块可被分区为行的单元。因此,可通过将多个分块组合在一个并行块中来配置单个并行块组或单个条带。
可限制或禁止使用一个并行块中的一些分块和另一并行块中的一些分块来配置并行块组或条带。反之,为了方便用信号发送,可使用一个并行块中的一些分块和另一并行块中的一些分块来配置并行块组或条带。
在上述语法中,“ISP_WDIE_BLOCK_ONLY”可以是指示上述设置信息的使用是否可用的可用性信息。
“ISP_WDIE_BLOCK_ONLY”可被显式地用信号发送,或者可在不用信号发送的情况下基于预定义方法被推导出。
此外,当“ISP_WDIE_BLOCK_ONLY”总是具有恒定值时,可省略用于检查“ISP_WDIE_BLOCK_ONLY”的值的条件语句。
当使用划分的预测方法(诸如LIP和ISP)中的一个或更多个可用于目标时,“ISP_WDIE_BLOCK_ONLY”可具有值“1”。当在使用划分的预测方法(诸如LIP和ISP)中没有方法可用于目标时,“ISP_WDIE_BLOCK_ONLY”可具有值“0”。
当“ISP_WDIE_BLOCK_ONLY”的值为逻辑“1”时,“ISP_wide_block_only_enable_flag”可作为设置信息被用信号发送。“ISP_wide_block_only_enable_flag”可以是指示是否将执行如上所述根据目标块的形状、邻近块的形状等确定针对目标块的ISP的可用性的设置信息。
“ISP_wide_block_only_enable_flag”可被显式地用信号发送,或者可在没有用信号发送的情况下基于预定义方法被推导出。例如,可基于“ISP_WDIE_BLOCK_ONLY”的值来确定“ISP_wide_block_only_enable_flag”的值。
例如,当“ISP_wide_block_only_enable_flag”的值为“1”时,可执行针对应用包括“ISP_wide_block_only_enable_flag”的语法的单元和针对比应用的单元低级的单元的IPS的可用性的确定。例如,当“ISP_wide_block_only_enable_flag”的值为“0”时,可不执行针对应用包括“ISP_wide_block_only_enable_flag”的语法的单元和针对比应用的单元低级的单元的IPS的可用性的确定。
例如,当“ISP_wide_block_only_enable_flag”的值为逻辑“1”时,可将使用第一条件表达式的确定应用于应用包括“ISP_wide_block_only_enable_flag”的语法的单元和比应用的单元低级的单元。根据第一条件表达式,当目标块是宽块时,可确定ISP不可用。例如,当“ISP_wide_block_only_enable_flag”的值为逻辑“0”时,可在不应用使用第一条件表达式的确定的情况下将使用第二条件表达式的确定应用于应用包括“ISP_wide_block_only_enable_flag”的语法的单元和比应用的单元低级的单元。
可选地,当是否将应用使用第一条件表达式的确定被预定义时,可省略用信号发送“ISP_wide_block_only_enable_flag”的操作。
在实施例中,名称“ISP_WDIE_BLOCK_ONLY”和“ISP_wide_block_only_enable_flag”可以是仅为了便于描述而任意地例示的,并且可使用用于提供前述功能的具有其他名称的信息。
图32示出将应用用信号发送设置信息的编码单元的语法。
在图32中,“ISP_wide_block_only_enable_flag”可以是针对比编码单元(CU)更高级的单元而用信号发送或确定的设置信息。
这里,更高级的单元可以是SPS、PPS、并行块组头或编码树单元(CTU)。
当“ISP_wide_block_only_enable_flag”的值为“1”时,可将使用第一条件表达式的确定应用于CU。当“ISP_wide_block_only_enable_flag”的值为“0”时,可在不将使用第一条件表达式的确定应用于CU的情况下将使用第二条件表达式的确定应用于CU。
针对CU,“ISP_wide_block_only_enable_flag”的值可通过显式地用信号发送来确定,并且可在不单独用信号发送的情况下基于预定义方法被推导出。
在图32中例示的语法中,已经描述了“用于限制ISP的使用使得仅当目标块(即,CU)是宽块时才可使用ISP的方法”。换言之,当目标CU是正方形块时,可根据第一条件表达式确定ISP不可用于目标CU。
如图32中例示的,第一条件表达式可以是“(cbWidth!=cbHeight)”。
“cbWidth”和“cbHeight”可分别指示目标CU的水平长度和垂直长度。可通过将目标CU的水平长度和垂直长度彼此进行比较来确定目标CU是否为宽块。
目标CU可具有与宽块和正方形块的两个形状中的一个形状对应的形状。
当目标CU的“cbWidth”和“cbHeight”彼此不相等时,可将目标CU确定为宽块。因此,在图32的语法中,用于确定“cbWidth”和“cbHeight”是否彼此相等的部分(即,“if(cbWidth!=cbHeight))”)可以是用于“根据目标块的形状确定针对目标块的ISP的可用性”的确定单元。
当目标CU为宽块时,执行关于ISP是否可用于目标CU的确定,并且根据该确定来最终确定ISP是否将被用于目标CU。
当目标CU不是宽块时,ISP可以不可用于目标CU。由于ISP不可用,因此可省略用信号发送作为指示ISP是否将被用于目标CU的信息的“intra_subpartitions_mode_flag”的操作。
当“ISP_wide_block_only_enable_flag”的值为“0”时,可不根据第一条件表达式(或根据目标CU的形状和邻近CU的形状)确定ISP的可用性,而可根据第二条件表达式(或不管目标CU的形状如何)确定ISP是否可用于目标CU。
如图32中例示的,第二条件表达式可以是“(sps_isp_enabled_flag&&intra_luma_ref_idx[x0][y0]==0&&(cbWidth<=MaxTbSizeY&&cbHeight<=MaxTbSizeY)&&(cbWidth*cbHeight>MinTbSizeY*MinTbSizeY))”。
“sps_isp_enabled_flag”可以是指示针对序列参数集(SPS)ISP是否被启用的信息。
“intra_luma_ref_idx[x0][y0]”可指示用于帧内预测的参考线的索引。
“MaxTbSizeY”可指示变换的最大垂直尺寸或变换的最大尺寸。“MinTbSizeY”可指示变换的最小垂直尺寸或变换的最小尺寸。
当第二条件表达式的值为“1”时,ISP可用于目标CU。当第二条件表达式的值为“0”时,ISP不可用于目标CU。
在实施例中,使用第二条件表达式的确定已经被描述为在1)使用“ISP_wide_block_only_enable_flag”的值的确定和2)使用第一条件表达式的确定之后被执行。与以上描述不同,使用第二条件表达式的确定也可在1)使用“ISP_wide_block_only_enable_flag”的值的确定和2)使用第一条件表达式的确定之前被执行。
可选地,可结合基于是否满足其他条件的确定来执行使用第二条件表达式的确定,例如,上述确定,诸如1)使用“ISP_wide_block_only_enable_flag”的值的确定和/或2)使用第一条件表达式的确定。换言之,可通过逻辑运算符等将第二条件表达式与1)第一条件表达式和/或2)使用“ISP_wide_block_only_enable_flag”的值的条件表达式组合。
图33是根据示例的用于根据ISP的可用性省略用信号发送ISP信息的操作的方法的流程图。
图34是根据示例的用于根据ISP的可用性保持用信号发送ISP信息的操作的方法的流程图。
在图33中,基于流程图描述了这样的方法:当在检查ISP的可用性时发现ISP不可用时省略用信号发送ISP相关信息的操作。
在图34中,基于流程图描述了这样的方法:当在检查ISP的可用性时发现ISP不可用时,即使不能使用ISP,也执行用信号发送ISP相关信息。换言之,在图34中,可以以与现有ISP预测方法相同的方式保持用信号发送ISP相关信息。
当使用图34中描述的方法时,解码设备1700可以以与现有方案相同的方式操作。也就是说,不需要对解码设备1700应用改变。反之,由于编码设备1600使用参照图34描述的方法,因此可以降低编码的复杂度。从编码设备1600的角度来看,使用第一条件表达式来确定ISP不可用,并且因此可以消除与ISP相关的操作,并且可通过消除该操作来降低复杂度。
此外,当使用参照图34描述的方法时,可针对采用实施例中的使用第一条件表达式的确定的编码设备1600和不采用使用第一条件表达式的确定的编码设备1600两者使用解码设备1700。
当使用参照图33描述的方法时,可能需要适合于该方法的(即,能够响应于省略用信号发送的)解码设备1700。另一方面,因为省略了用信号发送关于不必要的ISP的信息的操作,所以可以实现更高的编码效率。
设备中的用于确定预测模式的可用性的配置
在图1和图2中,已经将帧内预测描述为由编码设备100的帧内预测单元120和解码设备200的帧内预测单元240执行。
为了确定上述可用性,编码设备100和解码设备200中的每一个还可包括“可用性确定单元”。可用性确定单元可执行与上述预测方法相关的操作。
例如,可用性确定单元可确定针对目标块的预测方法的可用性。此外,可用性确定单元可确定针对目标块的预测方法是否将被使用,可确定用于预测方法的划分方法,并且可将对应划分方法应用于目标块。
可选地,帧内预测单元120和帧内预测单元240中的每一个可包括所述可用性确定单元。
图35是示出根据实施例的目标块预测方法和比特流生成方法的流程图。
根据实施例的目标块预测方法和比特流生成方法可由编码设备1600执行。实施例可以是目标块编码方法或视频编码方法的一部分。
在步骤3510,处理单元1610可确定将被应用于目标块的编码的预测模式。
处理单元1610可基于上述实施例中使用的方法来确定预测模式。例如,预测模式可以是使用划分的帧内预测模式,诸如ISP或LIP。
在步骤3520,处理单元1610可使用所确定的帧内预测模式针对目标块执行预测。
处理单元1610可针对目标块执行预测,并且可针对通过划分目标块而生成的每个子块执行预测。
可通过针对目标块执行预测来生成关于经编码的目标块的信息。关于经编码的目标块的信息可包括关于目标块的划分的信息和关于经编码的子块的信息。
可经由针对目标块的预测来生成预测块,并且可生成作为目标块与预测块之间的差的残差块。可通过将变换和量化应用于残差块来生成关于经编码的目标块的信息。可选地,可经由针对每个子块的预测来生成预测子块,并且可生成作为子块与预测子块之间的差的残差子块。可通过将变换和量化应用于残差子块来生成关于经编码的子块的信息。
关于经编码的目标块的信息可包括针对目标块的经变换和量化的系数。关于经编码的目标块的信息可包括针对目标块的编码参数。
关于经编码的子块的信息可包括针对子块的经变换和量化的系数。关于经编码的子块的信息可包括针对子块的编码参数。
在步骤3530,处理单元1610可生成比特流。
比特流可包括关于经编码的目标块的信息。
比特流可包括上面在实施例中描述的信息。例如,比特流可包括与预测方法相关的信息,诸如与ISP相关的信息。
比特流可包括与目标块相关的编码参数和/或目标块的属性。
在步骤3530,可生成包括在比特流中的信息,或者在步骤3510和3520可至少部分地生成包括在比特流中的信息。
处理单元1610可将生成的比特流存储在存储器1640中。可选地,通信单元1620可将比特流发送到解码设备1700。
比特流中的信息可由处理单元1610熵编码。
图36是示出根据实施例的使用比特流的目标块预测方法的流程图。
根据本实施例的使用比特流的目标块预测方法可由解码设备1700执行。所述实施例可以是目标块解码方法或视频解码方法的一部分。
在步骤3610,通信单元1320可获取比特流。通信单元1720可从编码设备1600接收比特流。
比特流可包括关于经编码的目标块的信息。关于经编码的目标块的信息可包括关于目标块的划分的信息和关于经编码的子块的信息。
比特流可包括上面在实施例中描述的信息。例如,比特流可包括与预测方法相关的信息,诸如与ISP相关的信息。
比特流可包括与目标块相关的编码参数和/或目标块的属性。
关于经编码的目标块的信息可包括针对目标块的经变换和量化的系数。关于经编码的目标块的信息可包括针对目标块的编码参数。
关于经编码的子块的信息可包括针对子块的经变换和量化的系数。关于经编码的子块的信息可包括针对子块的编码参数。
比特流中的熵编码的信息可由处理单元1610熵解码。
处理单元1710可将所获取的比特流存储在存储器1740中。
在步骤3620,处理单元1710可确定将被应用于目标块的解码的预测模式。
处理单元1610可基于上述实施例中使用的方法确定预测模式。例如,预测模式可以是使用划分的帧内预测模式,诸如ISP或LIP。
处理单元1710可基于与预测方法相关的信息(诸如从比特流获取的ISP相关信息)确定针对目标块的预测模式。
在步骤3630,处理单元1710可使用关于经编码的目标块的信息和所确定的帧内预测模式来针对目标块执行帧内预测。
处理单元1610可针对目标块执行预测,并且可针对通过划分目标块而生成的每个子块执行预测。
在步骤3630,可通过使用预测模式针对目标块执行预测来生成预测块,并且可生成作为预测块和重建残差块之和的重建块。可选地,可通过基于预测模式针对每个子块执行预测来生成预测子块,并且可生成作为预测子块和重建残差子块之和的重建子块。
以上实施例可由编码设备1600和解码设备1700使用彼此相同和/或对应的方法来执行。此外,针对图像的编码和/或解码,可使用以上实施例中的一个或更多个实施例的组合。
在编码设备1600和解码设备1700中,所述实施例的应用的顺序可彼此不同。可选地,在编码设备1600和解码设备1700中,所述实施例的应用的顺序可(至少部分地)彼此相同。
在编码设备1600和解码设备1700中,所述实施例的应用的顺序可彼此不同,或者在编码设备1600和解码设备1700中,所述实施例的应用的顺序可彼此相同。
可对亮度信号和色度信号中的每一个执行所述实施例。可对亮度信号和色度信号等同地执行所述实施例。
应用本公开的实施例的块的形式可具有正方形或非正方形形状。
可根据目标块、编码块、预测块、变换块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本公开的实施例。这里,尺寸可被定义为使得实施例被应用的最小尺寸和/或最大尺寸,并且可被定义为应用实施例的固定尺寸。此外,在实施例中,第一实施例可被应用于第一尺寸,并且第二实施例可被应用于第二尺寸。也就是说,可根据尺寸综合应用所述实施例。此外,本公开的实施例可仅被应用于尺寸等于或大于最小尺寸并且小于或等于最大尺寸的情况。也就是说,所述实施例可仅被应用于块尺寸落在特定范围内的情况。
此外,本公开的实施例可仅被应用于满足尺寸等于或大于最小尺寸的条件和尺寸小于或等于最大尺寸的条件的情况,其中,所述最小尺寸和所述最大尺寸中的每一个可以是以上实施例中描述的块和以上实施例中描述的单元中的一个的尺寸。也就是说,作为最小尺寸的目标的块可不同于作为最大尺寸的目标的块。例如,本公开的实施例可仅被应用于目标块的尺寸等于或大于块的最小尺寸并且小于或等于块的最大尺寸的情况。
例如,所述实施例可仅被应用于目标块的尺寸等于或大于8×8的情况。例如,所述实施例可仅被应用于目标块的尺寸等于或大于16×16的情况。例如,所述实施例可仅被应用于目标块的尺寸等于或大于32×32的情况。例如,所述实施例可仅被应用于目标块的尺寸等于或大于64×64的情况。例如,所述实施例可仅被应用于目标块的尺寸等于或大于128×128的情况。例如,所述实施例可仅被应用于目标块的尺寸为4×4的情况。例如,所述实施例可仅被应用于目标块的尺寸小于或等于8×8的情况。例如,所述实施例可仅被应用于目标块的尺寸小于或等于16×16的情况。例如,所述实施例可仅被应用于目标块的尺寸等于或大于8×8并且小于或等于16×16的情况。例如,所述实施例可仅被应用于目标块的尺寸等于或大于16×16并且小于或等于64×64的情况。
可根据时间层来应用本公开的实施例。为了识别实施例可适用的时间层,可用信号发送单独的标识符,并且实施例可被应用于由对应的标识符指定的时间层。这里,标识符可被定义为实施例可适用的最低(底部)层和/或最高(顶部)层,并且可被定义为指示应用实施例的特定层。此外,还可定义应用实施例的固定时间层。
例如,实施例可仅被应用于目标图像的时间层是最下层的情况。例如,实施例可仅被应用于目标图像的时间层标识符等于或大于1的情况。例如,实施例可仅被应用于目标图像的时间层是最高层的情况。
可定义应用实施例的本发明的实施例的条带类型或并行块组类型,并且可根据对应的条带类型或并行块组类型来应用本发明的实施例。
在上述实施例中,可解释为,在将特定处理应用于特定目标期间,假设可能需要特定条件并且在特定确定下执行特定处理,特定编码参数可在已经进行了描述时被替换为附加编码参数,使得基于特定编码参数确定是否满足了特定条件或者基于特定编码参数进行特定确定。换句话说,可认为影响特定条件或特定确定的编码参数仅仅是示例性的,并且可理解,除了特定编码参数之外,一个或更多个附加编码参数的组合用作特定编码参数。
在上述实施例中,虽然已基于作为一系列步骤或单元的流程图描述了方法,但是本公开不限于所述步骤的顺序,并且一些步骤可按照与已描述的步骤的顺序不同的顺序来执行或者与其它步骤同时执行。此外,本领域技术人员将理解:在流程图中示出的步骤不是排他性的,并且还可包括其它步骤,或者,可在不脱离本公开的范围的情况下删除流程图中的一个或更多个步骤。
上述实施例包括各个方面的示例。尽管不能描述用于指示各个方面的所有可能的组合,但是本领域技术人员将理解,除了明确描述的组合之外,其他组合也是可能的。因此,应当理解,本公开包括属于所附权利要求的范围的其他替换、改变和修改。
上述根据本公开的实施例可被实现为能够由各种计算机设备运行的程序,并且可被记录在计算机可读存储介质上。计算机可读存储介质可单独地或者组合地包括程序指令、数据文件和数据结构。在存储介质上记录的程序指令可被专门设计或配置用于本公开,或者对于计算机软件领域的普通技术人员而言可以是已知的或者可用的。
计算机可读存储介质可包括本公开的实施例中使用的信息。例如,计算机可读存储介质可包括比特流,并且所述比特流可包括上面在本公开的实施例中描述的信息。
计算机可读存储介质可包括非暂时性计算机可读介质。
计算机可读存储介质的示例可包括被专门配置用于记录和运行程序指令的所有类型的硬件装置,诸如,磁介质(诸如硬盘、软盘和磁带)、光学介质(诸如致密盘(CD)-ROM和数字多功能盘(DVD))、磁光介质(诸如软光盘、ROM、RAM和闪存)。程序指令的示例包括机器代码(诸如由编译器创建的代码)和能够由计算机使用解释器执行的高级语言代码。硬件装置可被配置为作为一个或更多个软件模块进行操作以执行本公开的操作,反之亦可。
如上所述,虽然已基于特定细节(诸如详细组件以及有限数量的实施例和附图)描述了本公开,但是所述特定细节仅被提供用于容易理解整个公开,本公开不限于这些实施例,本领域技术人员将根据以上描述实践各种改变和修改。
因此,应理解的是,本实施例的精神不限于上述实施例,并且所附权利要求及其等同物和对它们的修改落入本公开的范围内。
Claims (1)
1.一种预测方法,包括:
确定针对目标块的预测方法的可用性;
当所述预测方法被确定为可用时,确定所述预测方法是否将被使用;并且
当所述预测方法被确定为将被使用时,使用所述预测方法针对所述目标块执行预测。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0073733 | 2019-06-20 | ||
KR20190073733 | 2019-06-20 | ||
PCT/KR2020/008085 WO2020256524A1 (ko) | 2019-06-20 | 2020-06-22 | 블록 형태에 기반한 예측을 사용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114270828A true CN114270828A (zh) | 2022-04-01 |
Family
ID=74088624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080058874.6A Pending CN114270828A (zh) | 2019-06-20 | 2020-06-22 | 用于使用基于块类型的预测的图像编码和图像解码的方法和设备 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20200145780A (zh) |
CN (1) | CN114270828A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023224300A1 (ko) * | 2022-05-16 | 2023-11-23 | 현대자동차주식회사 | 예측-변환 생략을 이용하는 비디오 코딩을 위한 방법 및 장치 |
-
2020
- 2020-06-22 CN CN202080058874.6A patent/CN114270828A/zh active Pending
- 2020-06-22 KR KR1020200075854A patent/KR20200145780A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
KR20200145780A (ko) | 2020-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110463201B (zh) | 使用参考块的预测方法和装置 | |
CN111373755B (zh) | 图像编码/解码方法和装置以及存储比特流的记录介质 | |
CN110121884B (zh) | 用于滤波的方法和装置 | |
CN111567045A (zh) | 使用帧间预测信息的方法和装置 | |
CN111699682A (zh) | 用于使用通道之间的选择性信息共享进行编码和解码的方法和设备 | |
CN110476425B (zh) | 基于块形式的预测方法和装置 | |
CN112369021A (zh) | 用于吞吐量增强的图像编码/解码方法和设备以及存储比特流的记录介质 | |
US11985325B2 (en) | Method, apparatus, and recording medium for encoding/decoding image by using geometric partitioning | |
CN114450946A (zh) | 通过使用几何分区对图像进行编码/解码的方法、设备和记录介质 | |
US20220312009A1 (en) | Method and apparatus for image encoding and image decoding using area segmentation | |
CN111684801A (zh) | 双向帧内预测方法和设备 | |
CN112740694A (zh) | 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质 | |
CN111919448A (zh) | 用于使用时间运动信息的图像编码和图像解码的方法和设备 | |
CN113906743B (zh) | 量化矩阵编码/解码方法和装置、以及存储比特流的记录介质 | |
CN113228681A (zh) | 图像编码/解码方法和装置以及存储比特流的记录介质 | |
CN116325730A (zh) | 通过使用几何分区对图像进行编码/解码的方法、设备和记录介质 | |
CN114270865A (zh) | 用于对图像进行编码/解码的方法、设备和记录介质 | |
US20220201295A1 (en) | Method, apparatus and storage medium for image encoding/decoding using prediction | |
CN113545052A (zh) | 图像编码/解码方法和装置以及存储比特流的记录介质 | |
CN113841404B (zh) | 视频编码/解码方法和设备以及存储比特流的记录介质 | |
US20220272321A1 (en) | Method, device, and recording medium for encoding/decoding image using reference picture | |
CN114270828A (zh) | 用于使用基于块类型的预测的图像编码和图像解码的方法和设备 | |
US12034915B2 (en) | Method and apparatus for image encoding and image decoding using prediction based on block type | |
US20220295059A1 (en) | Method, apparatus, and recording medium for encoding/decoding image by using partitioning | |
CN115460410A (zh) | 通过使用预测对视频进行编码和解码的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |