CN114270820A - 使用参考画面对图像进行编码/解码的方法、装置和记录介质 - Google Patents

使用参考画面对图像进行编码/解码的方法、装置和记录介质 Download PDF

Info

Publication number
CN114270820A
CN114270820A CN202080059068.0A CN202080059068A CN114270820A CN 114270820 A CN114270820 A CN 114270820A CN 202080059068 A CN202080059068 A CN 202080059068A CN 114270820 A CN114270820 A CN 114270820A
Authority
CN
China
Prior art keywords
block
information
reference picture
prediction
target
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
Application number
CN202080059068.0A
Other languages
English (en)
Inventor
方健
林雄
金晖容
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Priority claimed from PCT/KR2020/008010 external-priority patent/WO2020256495A1/ko
Publication of CN114270820A publication Critical patent/CN114270820A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

本文公开了一种用于使用参考画面进行图像编码/解码的方法、设备和存储介质。参考画面列表被配置用于对目标块进行编码/解码。在配置参考画面列表时,使用序列参数集和条带头。画面被划分为子画面和/或条带,并且参考画面列表被配置用于由划分生成的子画面和/或条带。条带的参考画面列表可彼此相关,并且一个参考画面列表中的当前参考画面和未来参考画面可在附加参考画面列表中被使用。

Description

使用参考画面对图像进行编码/解码的方法、装置和记录介质
技术领域
本发明总体涉及用于图像编码/解码的方法、设备和存储介质。更具体地,本发明公开了一种用于使用参考画面进行图像编码/解码的方法、设备和存储介质。
本申请要求于2019年6月19日提交的申请号为10-2019-0073132的韩国专利申请和于2020年6月19日提交的申请号为10-2020-0074948的韩国专利申请的权益,所述申请在此全部通过引用被包含到本申请中。
背景技术
随着信息与通信行业的持续发展,支持高清晰度(HD)分辨率的广播服务已经在全世界普及。通过这种普及,大量用户已经习惯了高分辨率和高清晰度图像和/或视频。
为了满足用户对高清晰度的需求,大量机构已加速了对下一代成像装置的开发。除了高清TV(HDTV)和全高清(FHD)TV之外,用户对UHD TV的兴趣也已增加,其中,UHD TV的分辨率是全高清(FHD)TV的分辨率的四倍以上。随着其兴趣的增加,现在需要针对具有更高分辨率和更高清晰度的图像的图像编码/解码技术。
作为图像压缩技术,存在各种技术(诸如帧间预测技术、帧内预测技术、变换、量化技术和熵编码技术)。
帧间预测技术是用于使用当前画面之前的画面和/或当前画面之后的画面来预测包括在当前画面中的像素的值的技术。帧内预测技术是用于使用关于当前画面中的像素的信息来预测当前画面中包括的像素的值的技术。变换和量化技术可以是用于压缩残差信号的能量的技术。熵编码技术是用于将短码字分配给频繁出现的值并将长码字分配给较不频繁出现的值的技术。
通过利用这些图像压缩技术,可有效地压缩、发送和存储关于图像的数据。
发明内容
技术问题
实施例旨在提供一种配置参考画面列表以对目标块执行编码/解码的设备和方法。
技术方案
根据一个方面,提供了一种解码方法,包括:配置用于目标画面的目标块的参考画面列表;以及对使用所述参考画面列表的所述目标块执行解码。
所述目标画面可包括多个条带。
对所述多个条带中的最后条带的条带头的解析可被执行。所述参考画面列表可以是通过所述解析来配置的。对所述参考画面列表中的参考画面的标记过程可在所述解析之后被执行。
所述目标画面可包括多个子画面。
对所述多个子画面的条带的条带头的解析可被执行。所述条带的参考画面列表可以是通过所述解析来配置的。对所述条带的参考画面列表中的参考画面的标记过程可在所述解析之后被执行。
所述多个子画面中的每个子画面可包括一个或更多个条带。
用于所述目标画面的序列参数集可包括用于配置所述参考画面列表的语法结构。
所述语法结构可包括多个语法结构。
从所述多个语法结构中选择的语法结构可被用于配置所述参考画面列表。
用于所述目标块的条带头可包括指示配置所述参考画面列表所基于的序列参数和所述条带头中的任一个的信息。
根据另一方面,提供了一种编码方法,包括:配置用于目标画面的目标块的参考画面列表;以及通过对所述目标块执行编码来生成关于使用参考画面列表的目标块的信息。
所述目标画面可包括多个条带。
在使用关于所述目标块的信息对所述目标块进行解码时,对所述多个条带中的最后条带的条带头的解析可被执行。所述参考画面列表可以是通过所述解析来配置的。对所述参考画面列表中的参考画面的标记过程可在所述解析之后被执行。
所述目标画面可包括多个子画面。
在使用关于所述目标块的信息对所述目标块进行解码时,对所述多个子画面的条带的条带头的解析可被执行。所述条带的参考画面列表可以是通过所述解析来配置的。对所述条带的参考画面列表中的参考画面的标记过程可在所述解析之后被执行。
所述多个子画面中的每个子画面可包括一个或更多个条带。
在使用关于所述目标块的信息对所述目标块进行解码时,用于所述目标画面的序列参数集可包括用于配置所述参考画面列表的语法结构。
所述语法结构可包括多个语法结构。
从所述多个语法结构中选择的语法结构可被用于在解码时配置所述参考画面列表。
根据另一方面,提供了一种存储由编码方法生成的比特流的存储介质。
根据又一方面,提供了一种存储比特流的计算机可读存储介质,其中,所述比特流包括关于目标块的信息,并且比特流可被配置为使用关于所述目标块的所述信息对所述目标块执行解码,配置用于目标画面的所述目标块的参考画面列表,以及对使用所述参考画面列表的所述目标块执行解码。
所述目标画面可包括多个条带。
对所述多个条带中的最后条带的条带头的解析可被执行。所述参考画面列表可以是通过所述解析来配置的。对所述参考画面列表中的参考画面的标记过程可在所述解析之后被执行。
所述目标画面可包括多个子画面。
对所述多个子画面的条带的条带头的解析可被执行。所述条带的参考画面列表可以是通过所述解析来配置的。对所述条带的参考画面列表中的参考画面的标记过程可在所述解析之后被执行。
所述多个子画面中的每个子画面可包括一个或更多个条带。
用于所述目标画面的序列参数集可包括用于配置所述参考画面列表的语法结构。
所述语法结构可包括多个语法结构。
从所述多个语法结构中选择的语法结构可被用于配置所述参考画面列表。
有益效果
提供了一种配置参考画面列表以执行目标块的编码/解码的设备和方法。
附图说明
图1是示出被应用了本公开的编码设备的实施例的配置的框图;
图2是示出被应用了本公开的解码设备的实施例的配置的框图;
图3是示意性地示出当图像被编码和解码时图像的分区结构的示图;
图4是示出编码单元能够包括的预测单元的形式的示图;
图5是示出能够被包括在编码单元中的变换单元的形式的示图;
图6示出根据示例的块的划分;
图7是用于解释帧内预测过程的实施例的示图;
图8是示出帧内预测过程中使用的参考样点的示图;
图9是用于解释帧间预测过程的实施例的示图;
图10示出根据实施例的空间候选;
图11示出根据实施例的将空间候选的运动信息添加到合并列表的顺序;
图12示出根据示例的变换和量化处理;
图13示出根据示例的对角线扫描;
图14示出根据示例的水平扫描;
图15示出根据示例的垂直扫描;
图16是根据实施例的编码设备的配置图;
图17是根据实施例的解码设备的配置图;
图18示出根据示例的光栅扫描条带模式中的画面的划分;
图19示出根据示例的矩形条带模式中的画面的划分;
图20示出根据示例的画面中的并行块、分块和矩形条带;
图21示出根据示例的画面之间的参考关系;
图22示出根据实施例的画面中的子画面和条带的配置;
图23示出根据示例的条带之间的参考画面的重新排序;
图24是根据实施例的编码方法的流程图;以及
图25是根据实施例的解码方法的流程图。
具体实施方式
本发明可被各种改变,并且可具有各种实施例,下面将参照附图详细地描述特定实施例。然而,应理解,这些实施例不意图将本发明限制为特定的公开形式,它们包括本发明的精神和范围内所包括的所有变化、等同形式或修改形式。
将参照示出特定实施例的附图对以下示例性实施例进行详细描述。描述这些实施例,使得本公开所属技术领域的普通技术人员能够容易地实施这些实施例。应注意,各种实施例彼此不同,但不需要彼此互斥。例如,在此描述的特定形状、结构和特性可在不脱离与一个实施例相关的其它实施例的精神和范围的情况下被实现为所述其它实施例。此外,应理解,在不脱离实施例的精神和范围的情况下,能够改变在每个公开的实施例中的各个组件的位置或布置。因此,所附的详细描述并非旨在限制本公开的范围,并且示例性实施例的范围仅由所附的权利要求及其等同物(只要它们被适当地描述)限定。
在附图中,相似的参考标号被用于在各个方面指定相同或相似的功能。附图中的组件的形状、尺寸等可被夸大以使得描述清楚。
诸如“第一”和“第二”的术语可用于描述各种组件,但是组件不受所述术语限制。所述术语仅用于将一个组件与另一个组件区分开。例如,在不脱离本说明书的范围的情况下,第一组件可被称为第二组件。类似地,第二组件可被称为第一组件。术语“和/或”可包括多个相关描述项的组合或者多个相关描述项中的任意一个。
将理解的是,当组件被称为“连接”或“结合”到另一组件时,所述两个组件可彼此直接连接或结合,或者在所述两个组件之间可存在中间组件。另一方面,将理解的是,当组件被称为“直接连接或结合”时,在所述两个组件之间不存在中间组件。
此外,在实施例中描述的组件被独立地示出以指示不同的特征功能,但是这并不意味着每个组件由单独的一个硬件或软件形成。也就是说,为了方便描述,多个组件被单独地布置和包括。例如,多个组件中的至少两个组件可被集成为单个组件。相反,一个组件可被划分为多个组件。只要不脱离本说明书的本质,多个组件被集成的实施例或一些组件被分离的实施例被包括在本说明书的范围中。
此外,在示例性实施例中,描述组件“包括”特定组件的表述意指另外的组件可被包括在示例性实施例的实践或技术精神的范围内,但是不排除存在除了所述特定组件之外的组件。
在本说明书中使用的术语仅用于描述特定实施例,并不意图限制本发明。单数表述包括复数表述,除非在上下文中具体指出相反的描述。在本说明书中,应理解,诸如“包括”或“具有”的术语仅意图指示存在特征、数字、步骤、操作、组件、部件或它们的组合,而不意图排除将存在或添加一个或更多个其它特征、数字、步骤、操作、组件、部件或它们的组合的可能。也就是说,在本发明中,描述组件“包括”特定组件的表述意指另外的组件可被包括在本发明的实践或本发明的技术精神的范围内,但是不排除存在除了所述特定组件之外的组件。
本发明的一些组件不是用于执行必要功能的必要组件,而可以是仅用于改善性能的可选组件。可仅使用用于实现实施例的本质的必要组件来实现实施例。例如,仅包括必要组件(不包括仅用于改善性能的可选组件)的结构也包括在实施例的范围内。
下面将参照附图来详细描述实施例,使得实施例所属技术领域的普通技术人员能够容易地实现实施例。在实施例的以下描述中,被视为使本说明书的要点模糊的公知功能或配置的详细描述将被省略。此外,相同的参考标号在整个附图中用于指定相同的组件,并且将省略对相同组件的重复描述。
在下文中,“图像”可表示构成视频的单个画面,或者可表示视频本身。例如,“对图像的编码和/或解码”可表示“对视频的编码和/或解码”,并且也可表示“对构成视频的多个图像中的任意一个图像的编码和/或解码”。
在下文中,术语“视频”和“运动画面”可被用于具有相同的含义,并且可彼此互换使用。
在下文中,目标图像可以是作为将被编码的目标的编码目标图像和/或作为将被解码的目标的解码目标图像。此外,目标图像可以是被输入到编码设备的输入图像或者被输入到解码设备的输入图像。并且,目标图像可以是当前图像,即,当前将被编码和/或解码的目标。例如,术语“目标图像”和“当前图像”可被用于具有相同的含义,并且可彼此互换使用。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用于具有相同的含义,并且可彼此互换使用。
在下文中,目标块可以是编码目标块(即,将被编码的目标)和/或解码目标块(即,将被解码的目标)。此外,目标块可以是当前块,即,当前将被编码和/或解码的目标。这里,术语“目标块”和“当前块”可被用于具有相同的含义,并且可彼此互换使用。当前块可表示在编码期间作为编码目标的编码目标块和/或在解码期间作为解码目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
在下文中,术语“块”和“单元”可被用于具有相同的含义,并且可彼此互换使用。可选地,“块”可表示特定单元。
在下文中,术语“区域”和“片段”可彼此互换使用。
在下文中,特定信号可以是指示特定块的信号。例如,原始信号可以是指示目标块的信号。预测信号可以是指示预测块的信号。残差信号可以是指示残差块的信号。
在以下的实施例中,特定的信息、数据、标志、索引、元素和属性可具有它们各自的值。与所述信息、数据、标志、索引、元素和属性中的每一个对应的值“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
Figure BDA0003512898070000361
例如,可通过用信号发送split_flag、QB_flag和Btype_flag中的至少一个来推导图6中的块的划分信息,如下表2中所示。
表2
Figure BDA0003512898070000371
划分方法可根据块的尺寸和/或形状而仅限于四叉树或二叉树。当这个限制被应用时,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
Figure BDA0003512898070000631
Figure BDA0003512898070000641
表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
Figure BDA0003512898070000661
在表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的处理单元1610和/或解码设备1700的处理单元1710。
基于分段区域的参考画面列表的配置
下面,在通过划分画面而生成的分段区域的编码/解码中,使用配置用于分段区域的参考画面列表的方法。
当画面包括一个或更多个条带时,可在解析第一条带头的过程中使用用信号发送的参考画面来执行参考画面标记过程。这里,对应的参考画面可被标记为“不用于参考”。当从第二条带用信号发送了标记为“不用于参考”的参考画面时,存在不能再使用的参考画面将被参考的风险。
在一个实施例中,每个条带可由并行块或分块组成。画面可包括一个或更多个条带。每个条带的参考画面列表可由可在条带中被使用的参考画面组成。该实施例对于使用参考画面的时间编码方法可以是有效的。
此外,子画面可包括一个或更多个条带。根据实施例的用信号发送条带的参考画面的方法也可被扩展到子画面,然后可被有效地用于360°视频的视口和感兴趣区域(ROI)的编码/解码。
画面、条带、并行块和分块的概念,以及条带的配置。
图18示出根据示例的光栅扫描条带模式中的画面的划分。
一个画面可被划分成一个或更多个区域。
例如,每个区域可具有矩形(即,非正方形矩形)的形状。换句话说,一个或更多个矩形区域可构成一个画面。
可选地,每个区域也可具有一个以上的矩形彼此组合的形状。例如,多于一个组合矩形可以是遵循光栅扫描顺序的连续单元。
在一个实施例中,矩形可限于正方形。
划分的单元可以是条带、并行块、分块和编码树单元(CTU)中的任意一个。
在图18中,每个条带由粗实线指示。每个并行块由细实线指示。每个CTU由虚线指示。
画面可被划分成条带、并行块和分块。分块可以是小于并行块的片段。
画面可被划分成一个或更多个条带。可选地,画面可包括一个或更多个条带。
可通过网络抽象层(NAL)单元用信号发送用于划分成一个或更多个条带的信息。NAL单元可包括条带头及条带数据。
在图18中,画面可被划分为三个条带。
每个画面可被划分成一个或更多个并行块。在将画面划分为一个或更多个并行块时,与一个或更多个并行块对应的行数和列数可被使用。换句话说,画面可根据n1或m1被划分为一个或更多个并行块。n1表示与一个或更多个并行块对应的一个或更多个行的数量。m1表示与一个或更多个并行块对应的一个或更多个列的数量。
在图18中,画面被划分为12个并行块。画面的第一条带包括两个并行块。画面的第二条带包括五个并行块。画面的第三条带包括五个并行块。
每个画面可被划分成一个或更多个CTU。每个并行块可包括一个或更多个编码树单元(CTU)。每个并行块可由对应于n2个行及m2个列的一个或更多个CTU组成。n2可以是1或更大的整数,并且m2可以是1或更大的整数。此外,画面可由包括在每个并行块的矩形区域中的一个或更多个CTU的集合组成。
在图18中,每个并行块包括18个CTU。可使用三行和六列来配置18个CTU。
可对附加条带和/或附加并行块独立地执行对条带和/或并行块的编码的至少一部分及其解码的至少一部分。例如,编码可包括预测、变换、量化、熵编码、反量化、逆变换及重建。解码可包括反量化、逆变换、预测和重建。
通过利用这些特征,条带和并行块可被用于并行处理并且可被用于在画面中提供感兴趣区域(ROI),其中,需要并行处理是因为编码设备1600和解码设备1700的复杂。
每个并行块可被划分为一个或更多个分块。在并行块中,每个分块可被定义为一个或更多个CTU的行数。换句话说,分块可以是与并行块中的一个或更多个CTU对应的特定列数。因此,即使每个并行块没有被划分成若干分块,单个并行块也可被视为分块。相反,与并行块的一部分对应的分块可不被视为并行块。
条带可由画面中的一个或更多个并行块的数量表示。此外,条带可由一个或更多个分块的数量表示。
画面中的每个条带可由两种方案定义。第一方案可以是基于光栅扫描条带模式的方案。第二方案可以是基于矩形条带模式的方案。
在光栅扫描条带模式中,每个条带可被定义为画面中遵循光栅扫描顺序的一个或更多个并行块的集合。可选地,每个条带可被定义为画面中遵循光栅扫描顺序的一个或更多个并行块的数量。
在图18中,示出了以光栅扫描条带模式将画面划分为一个或更多个条带的示例。
图19示出根据示例的在矩形条带模式中的画面的划分。
在图19中,每个条带由粗实线指示。每个并行块由细实线指示。每个CTU由虚线指示。
在矩形条带模式中,每个条带可由形成画面中的矩形区域的一个或更多个分块定义。换句话说,条带中的一个或更多个分块可形成矩形区域。矩形条带可以是遵循光栅扫描顺序的一个或更多个分块的集合。
在图19中,示出了以矩形条带模式将画面划分为一个或更多个条带的示例。
在图19中,画面被划分为24个并行块和九个矩形条带。所述24个并行块包括六行和四列。
如图18和19所示,每个条带可包括多个并行块。
图20示出根据示例的画面中的并行块、分块和矩形条带。
在图20中,每个条带由粗实线指示。每个并行块由细实线指示。每个分块分块由虚线指示。
在图20中,画面被划分为四个并行块。此外,画面被划分为11个分块和四个矩形条带。
每个并行块可包括一个或更多个分块。
在图20中,左上方并行块包括一个分块。右上方并行块包括五个分块。左下方并行块包括两个分块。右下方并行块包括三个分块。
可使用三个不同的颜色平面对画面进行编码。每个条带的颜色平面标识符可指示对应条带的颜色平面。这里,条带可仅包括与条带的颜色平面标识符相对应的颜色的CTU。每个颜色阵列可由具有相同颜色平面标识符的条带组成。
如上面参照图18至图20所述,每个条带可由一个或更多个并行块组成,并且可由并行块中的一个或更多个分块组成。可不允许一个或更多个并行块和一个或更多个分块一起被使用以便在并行块中配置条带的配置。
参考画面配置方法
图21示出根据示例的画面之间的参考关系。
在图21中,每个菱形可指示画面。每个菱形的上部中的标号可表示画面的类型。每个菱形的下部中的标号可表示画面的编号。每个箭头可指示箭头的起点处的画面被箭头的终点处的画面参考。
条带头可包括用于参考画面的配置的信息。换句话说,可通过条带头将参考画面的配置从编码设备1600用信号发送到解码设备1700。
当发送画面的初始NAL单元时,可从包括在条带头中的信息解析参考画面配置信息,并且可使用参考画面配置信息来确定画面的参考画面。这里,参考画面的确定可表示创建了可被参考的画面的列表。所确定的参考画面可被用于配置参考画面列表。
如上所述,参考画面配置信息可形成在条带头中。基于参考画面配置信息,可为画面单元配置参考画面。
由于画面#0是瞬时解码刷新(IDR)画面,因此可能不存在参考画面#0的画面。可对画面#0执行解码。
在解码之后,画面#0可被存储在解码画面缓冲器(DPB)中,且可被标记为“用于短期参考”。这里,标记为“用于短期参考”可表示对应画面被标记为可被参考的画面。可选地,标记为“用于短期参考”可表示对应画面被分类为可被参考的画面。
画面#1可参考画面#0。画面#1可在DBP中被标记为“用于短期参考”。
画面#2可参考画面#0和画面#1。画面#2可在DBP中被标记为“用于短期参考”。
画面#3可参考画面#0和画面#2。画面#3可在DBP中被标记为“用于短期参考”。由于画面#1是不被画面#3参考的画面,而是将来会被使用的画面(即,被画面#4参考的画面),所以画面#3的标记可保持不变。
画面#4可参考画面#2和画面#1。画面#4可在DBP中被标记为“用于短期参考”。由于画面#0既不被画面#4参考,也不在将来使用,因此可被标记为“不用于参考”。由于画面#3既不被画面#4参考,也不在将来使用,因此它可被标记为“不用于参考”。这里,标记为“不用于参考”可表示对应画面被标记为不被参考的画面。可选地,用“不用于参考”标记可表示对应画面被分类为不被参考的画面。
在下文中,目标画面可表示作为当前编码/解码的目标的画面。目标子画面可表示作为当前编码/解码的目标的子画面。目标条带可表示作为当前编码/解码的目标的条带。目标块可以是作为当前编码/解码的目标的块。目标画面可包括目标子画面。目标子画面可包括目标条带。目标条带可包括目标块。
参考画面列表的数量可以是多个,并且参考画面列表i可表示第i个参考画面列表。
在下文中,例示了针对目标块的序列参数集中的多条信息的语法和语义。序列参数集可包括以下列出的用于参考画面的配置的多条信息:
-ref_pic_list_struct(i,j):ref_pic_list_struct(i,j)可以是用于配置参考画面列表的多个语法结构。这里,i可以是0。可选地,i可以是0或1。j的范围可以从0到sps_num_ref_pic_lists[i]-1。从ref_pic_list_struct(i,j)语法结构中选择的ref_pic_list_struct(i,j)语法结构可被用于配置参考画面列表。ref_pic_list_struct(i,j)语法结构可包括用于配置参考画面列表的信息。换句话说,ref_pic_list_struct(listIdx,rplsIdx)语法结构可以是参考画面的配置所需的参考画面配置信息。
-sps_rpl1_same_as_rpl0_flag:sps_rpl1_same_as_rpl0_flag的值为1可表示不存在语法元素sps_num_ref_pic_list[1]和语法结构ref_pic_list_struct(1,rplsIdx)。当sps_rpl1_same_as_rpl0_flag的值为1时,可推断sps_num_ref_pic_list[1]的值与sps_num_ref_pic_list[0]的值相同,并且可推断语法元素ref_pic_list_struct(1,rplsIdx)的各个值与对应语法元素nref_pic_list_struct(0,rplsIdx)的各个值相同。这里,rplsIdx的值的范围可以是0到sps_num_ref_pic_lists[0]-1。
-sps_num_ref_pic_lists[i]:sps_num_ref_pic_lists[i]可指定包括在序列参数集(SPS)中的具有与i相同的listIdx的ref_pic_list_struct(listIdx,rplsIdx)语法结构的数量。sps_num_ref_pic_lists[i]的值的范围可以是0到64。
下面,例示了目标块的条带头中的多条信息的语法和语义。条带头可包括以下列出的用于参考画面的配置的多条信息:
-ref_pic_list_sps_flag[i]:ref_pic_list_sps_flag[i]可表示SPS和条带头中的任意一个,其中,基于该SPS和条带头来配置相应的参考画面列表。
当ref_pic_list_sps_flag[i]的值为1时,可基于激活的SPS中的listIdx与i相同的ref_pic_list_struct(listIdx,rplsIdx)语法结构中的一个推导目标条带的参考画面列表i。
激活的SPS可表示被目标画面或PPS参考的SPS。
当ref_pic_list_sps_flag[i]的值为0时,可基于目标画面的条带头中的listIdx与i相同的ref_pic_list_struct(listIdx,rplsIdx)语法结构中的一个推导目标条带的参考画面列表i。
-ref_pic_list_idx[i]:ref_pic_list_sps_flag[i]可以是SPS中的listIdx与i相同的ref_pic_list_struct(listIdx,rplsIdx)语法结构的列表的索引。
ref_pic_list_sps_flag[i]可表示ref_pic_list_struct(listIdx,rplsIdx)语法结构的索引,其中,该语法结构被用于推导目标画面的参考画面列表i,并且listIdx与i相同。
可从编码设备1600向解码设备1700用信号发送高级语法元素(诸如序列参数集(SPS)、自适应参数集、画面参数集、并行块头、并行块组头和条带头)中的ref_pic_list_struct(listIdx,rplsIdx)语法结构。换句话说,目标画面的每个参考画面的配置可出现在SPS、条带头等中。
可根据出现参考画面的配置的高级语法元素来如下配置参考画面。
-当参考画面的配置出现在条带头中时(即,当ref_pic_list_struct(listIdx,rplsIdx)被包括在条带头中时),ref_pic_list_struct(listIdx,rplsIdx)语法结构可指定目标画面的参考画面列表listIdx。
-当参考画面的配置出现在SPS中时(即,当ref_pic_list_struct(ListIdx,rplsIdx)被包括在SPS中时),ref_pic_list_struct(listIdx,rplsIdx)语法结构可指定参考画面列表listIdx的候选。
在实施例中,可将目标画面(或当前画面)分析为包括具有与包括在SPS中的ref_pic_list_struct(listIdx,rplsIdx)语法结构的列表的索引相同的rpl_idx[listIdx]的一个或更多个条带的每个画面。
在实施例中,可将目标画面(或当前画面)分析为在参考激活的SPS的编码视频序列中的每个画面。
用于条带的参考画面的配置
对于条带的参考画面,可利用使用SPS中的参考画面配置信息预设的参考画面的配置。此外,对于条带的参考画面,可通过解析条带头使用参考画面配置信息来执行参考画面的配置。这里,可通过解析条带头来执行用信号发送参考画面。
这里,用信号发送参考画面可表示用信号发送用于确定目标画面或目标条带的参考画面的信息。可通过用信号发送参考画面来更新DPB,并且可确定DPB中的参考画面。
当通过解析条带头等新执行用信号发送参考画面时,可执行在DPB中标记参考画面的过程。也可仅针对目标画面的第一条带头的解析来执行该过程。
在标记参考画面的过程中,DBP中的参考画面可被标记为“用于短期参考”、“用于长期参考”和“不用于参考”中的至少一个。
标记为“用于长期参考”可被选择性地执行。可从编码设备1600向解码设备1700用信号发送指示高级语法元素(诸如序列参数集、自适应参数集、画面参数集、并行块头、并行块组头和条带头)中的是否将使用长期参考画面的信息long_term_ref_pics_flag。
nuh_layer_id可指定视频编码层(VCL)NAL单元所属的层的标识符。可选地,nuh_layer_id可指定应用非VCL NAL单元的层的标识符。nuh_layer_id的值的范围可以是0到55。
VCL NAL单元可以是编码条带NAL单元的统称,其中,编码条带NAL单元具有分类为VCL NAL单元及NAL单元的子集的nal_unit_type的保留值。
-对于参考画面列表0和参考画面列表1中的相应长期参考画面(LTRP)条目,当对应画面是具有与目标画面的nuh_layer_id相同的nuh_layer_id的短期参考画面(STRP)时,画面可被标记为“用于长期参考”。
-当具有与目标画面的nuh_layer_id相同的nuh_layer_id的每个参考画面不被参考画面列表0和参考画面列表1中的条目参考时,对应参考画面可被标记为“不用于参考”。
-当目标画面是编码层视频序列集(CLVSS)画面时,DBP中具有与目标画面的nuh_layer_id相同的nuh_layer_id的所有参考画面可被标记为“不用于参考”。
用于条带的参考画面的配置
可对从序列、画面、并行块、并行块组和条带中选择的至少一个单元执行参考画面的配置。上述参考画面配置信息可被包括在至少一个单元中,并且可针对所述至少一个单元而被用信号发送和解析。
在实施例中,对于单个序列单元,可定义用于配置参考画面的多个参考画面列表候选。所述多个参考画面列表候选可对应于相应ref_pic_list_struct语法结构。从所述多个参考画面列表候选中选择的参考画面列表候选可被用作参考画面列表,或可被用于配置参考画面列表。
此外,在实施例中,单个画面可包括多个条带。对于画面的单元,可定义用于配置参考画面的多个参考画面列表候选。
在实施例中,术语“序列”可被理解为用术语“画面”替换。
可针对参考画面列表0和参考画面列表1分别地定义和确定参考画面列表候选。
在实施例中,可分别用信号发送和解析用于参考画面列表0的参考画面配置信息和用于参考画面列表1的参考画面配置信息。
在实施例中,可用信号发送和解析关于参考画面列表0和参考画面列表1中的任意一个的参考画面配置信息,并且可通过共享解析的参考画面配置信息或基于解析的参考画面配置信息来配置关于其中另一个的参考画面配置信息。例如,可针对其中的另一个用信号发送用于改变解析的参考画面配置信息的信息。
参考画面列表候选的数量可由编码设备1600和解码设备17000预定义。可选地,可将参考画面列表候选的数量从编码设备1600用信号发送到解码设备1700。可针对从上述序列、画面、并行块、并行块组和条带中选择的至少一个单元执行该用信号发送的操作。
序列、画面、并行块、并行块组和条带的单元之间可具有分层关系。例如,序列可以是高于画面的单元。画面可以是高于子画面的单元。子画面可以是高于条带的单元。
较低单元可调用(或参考)在较高单元中定义的参考画面配置信息,并且可使用在较高单元中定义的参考画面配置信息。通过这种方式,较低单元可利用在较高单元中定义的参考画面列表候选和/或参考画面列表。
可选地,较低单元可使用与较高单元中的参考画面配置信息不同的参考画面配置信息。通过这种方式,较低单元可利用单独的与较高单元中的参考画面列表候选不同的参考画面列表候选和/或参考画面列表。
例如,低于序列的单元可调用在序列中定义的参考画面配置信息,并且可使用在序列中定义的参考画面配置信息。可选地,低于序列的单元可使用与序列中的参考画面配置信息不同的参考画面配置信息。这里,参考画面配置信息的使用可表示使用参考画面配置信息配置的参考画面列表候选和/或参考画面列表被利用。
低于序列的单元可以是画面、子画面、并行块、并行块组和条带中的至少一个。
对于这种调用和使用,指示是否参考序列的参考画面配置信息的参考信息(针对较高单元)可被用于较低单元。该参考信息可以是标志。可针对较低单元用信号发送该参考信息。
此外,来自较低单元的上述调用可表示不仅调用序列的所有参考画面配置信息,还选择性地调用序列的参考画面配置信息的一部分。可针对较低单元用信号发送指示将调用序列的参考画面配置信息中的哪个信息的信息。
可在相同的单元之间共享参考画面配置信息。这里,相同的单元可表示属于较高单元的相同类型的较低单元。
例如,属于画面的第一单元可调用用于附加第二单元的参考画面配置信息,并且可使用在附加第二单元中定义的参考画面配置信息。例如,属于画面的单元可以是子画面、并行块、并行块组和/或条带。
对于这样的调用和使用,对于对应单元,可使用参考信息(用于附加单元)、位置信息和索引信息。可针对单元用信号发送参考信息、位置信息和索引信息。
参考信息可指示是否参考附加单元的参考画面配置信息。参考信息可以是标志。
位置信息和索引信息可指定低于较高单元的单元中的其参考画面配置信息将被调用的任意较低单元。
位置信息可指示将被参考的附加单元的位置。索引信息可以是指示将被参考的附加单元的索引。
用于为条带配置参考画面的方法
画面或子画面可包括一个或更多个条带。
对于多个条带,诸如以下方法1)、方法2)、方法3)或方法4)的处理可被应用于第二条带头和后续条带头中的参考画面。
每个参考画面可为参考画面列表中的画面。参考画面的数量可以是多个。例如,标记每个参考画面可表示标记参考画面列表中的多个画面中的每一个。
方法1)、方法2)、方法3)和方法4)可以是用于配置参考画面的方法,并且可被彼此独立地执行。
方法1):标记为“不用于参考”的画面可不被用作其余条带中的参考画面。可执行对仅针对第一条带的条带头的解析,并且可执行针对参考画面的标记过程。对于其余条带,可不执行标记过程。
方法2):可执行对第一条带的条带头的解析,并且可执行参考画面的标记过程。对于其余的条带,仅标记为“用于参考”的画面可被用作参考画面。
方法3):可执行对最后条带的条带头的解析,并且可在解析之后执行参考画面的标记过程。通过参考画面标记过程,可将对应参考画面标记为“不用于参考”。可仅使用最后条带的条带头中的参考画面来执行参考画面标记过程。
方法4):每当执行对每个条带头的解析时,可在解析之后执行参考画面标记过程。这里,标记为“不用于参考”的画面可不被用作条带的参考画面。
用于为子画面单元配置参考画面的方法
图22示出根据实施例的画面中的子画面和条带的配置。
如图22中例示的,画面可包括一个或更多个子画面。所述一个或更多个子画面中的每个子画面可包括一个或更多个条带。
一个或更多个子画面可被视为单个画面。换句话说,前述画面相关描述也可被应用于每个子画面。
画面的子画面可具有相同参考画面列表。可选地,子画面可具有不同参考画面列表。
子画面的条带可具有相同参考画面列表。可选地,条带可具有不同参考画面列表。
当子画面的条带具有相同参考画面列表时,可仅解析子画面的第一条带的条带头,并且可以以与第一条带相同的方式为其余条带配置参考画面。
可根据诸如用于不同的多个子画面的以下方法1)、方法2)、方法3)或方法4)的处理来配置参考画面列表。
方法1)、方法2)、方法3)和方法4)可以是用于配置参考画面的方法,并且可被彼此独立地执行。
每个参考画面可以是参考画面列表中的画面。参考画面的数量可以是多个。例如,标记每个参考画面可表示标记参考画面列表中的多个画面中的每一个。
方法1):标记为“不用于参考”的画面可不被用作其余子画面中的参考画面。可执行对第一子画面的条带头的解析,并且可执行参考画面的标记过程。对于其余子画面,可不执行标记过程。
方法2):可仅针对第一子画面执行参考画面标记过程。对于其余的子画面,仅标记为“用于参考”的画面可被用作参考画面。
方法3):执行对最后子画面的第一条带头的解析,并且可在解析之后执行参考画面标记过程。通过参考画面标记过程,可将相应参考画面标记为“不用于参考”。可仅使用最后子画面的第一条带头中的参考画面来执行参考画面标记过程。
方法4):每当执行对每个子画面的条带头的解析时,可在解析之后重复执行参考画面标记过程。这里,标记为“不用于参考”的画面可不被用作子画面的参考画面。
在方法1)、方法2)、方法3)和方法4)中,条带头可以是第一条带头。
条带之间的参考画面的重新排序
图23示出根据示例的条带之间的参考画面的重新排序。
在配置参考画面列表时,可将当前可参考的当前参考画面与未来可使用的未来参考画面彼此区分开。换句话说,每个参考画面列表可包括多个参考画面,且所述多个参考画面中的一些可为当前参考画面,并且其余参考画面可以是未来参考画面。
用于不同条带的参考画面列表可如下彼此相关。
1)用于第一条带的参考画面列表中的当前参考画面也可被用作用于附加条带的参考画面列表中的当前参考画面。这里,用于第一条带的参考画面列表中的当前参考画面的顺序和附加参考画面列表中的当前参考画面的顺序可彼此不同。换句话说,附加条带可改变用于第一条带的参考画面列表中的当前参考画面的顺序,然后使用顺序被改变的当前参考画面作为其自身参考画面列表中的当前参考画面。
2)用于第一条带的参考画面列表中的未来参考画面可用作用于附加条带的参考画面列表中的当前参考画面。此外,用于附加条带的参考画面列表中的当前参考画面可以是用于第一条带的参考画面列表中的当前参考画面中的一些。作为用于第一条带的参考画面列表的一部分的当前参考画面的顺序也可在用于附加条带的参考画面列表中被保持。用于第一条带的参考画面列表中的未来参考画面可被用作位于用于附加条带的参考画面列表的后面部分中的当前参考画面。
3)与上述方法1)和2)相关的配置可被彼此组合。用于第一条带的参考画面列表中的未来参考画面可被用作用于附加条带的参考画面列表中的当前参考画面。此外,用于附加条带的参考画面列表中的当前参考画面可以是用于第一条带的参考画面列表中的当前参考画面中的一些。作为用于第一条带的参考画面列表的一部分的当前参考画面的顺序可在用于附加条带的参考画面列表中被改变。用于第一条带的参考画面列表中的未来参考画面可被用作位于用于附加条带的参考画面列表的后面部分中的当前参考画面。
在以上描述中,第一条带可以是示例性的,并且在前述条带中,“第一条带”和“附加条带”可被分别替换为“第n条带”和“第n+1条带”。换句话说,用于特定条带的参考画面列表可与用于先前条带的参考画面列表相关。可选地,术语“第一条带”及“附加条带”可表示画面或子画面中的两个不同条带。
图24是根据实施例的编码方法的流程图。
根据实施例的编码方法和比特流生成方法可由编码设备1600执行。实施例可以是目标块编码方法或视频编码方法的一部分。
在步骤2410,编码设备1600的处理单元1610可配置用于目标画面的目标块的参考画面列表。
用于目标块的每个参考画面列表可表示1)用于目标块所属的条带的参考画面列表、2)用于目标块所属的子画面的参考画面列表、以及3)用于目标块所属的画面的参考画面列表。
参考画面列表的数量可以是多个。
上述方法可被用于配置参考画面列表。
例如,可执行对针对构成目标画面的多个条带中的最后条带的条带头的解析。通过解析,可配置参考画面列表。在解析之后,可执行针对参考画面列表中的参考画面的标记过程。参考画面的数量可以是多个。
例如,可执行解析多个子画面的条带的条带头的操作。可通过这样的解析操作来配置用于条带的参考画面列表。在已经执行解析操作之后,可执行针对参考画面列表中的参考画面的标记过程。参考画面列表可包括用于目标块的参考画面列表。
在步骤2420,处理单元1610可对使用参考画面列表的目标块执行编码。
这里,编码可包括预测、变换、量化、熵编码、反量化、逆变换和重建。
处理单元1610可通过对使用参考画面列表的目标块执行编码来包括关于目标块的信息。这里,关于目标块的信息可以是被编码的关于目标块的信息。被编码的信息可以是被熵编码的信息。
这里,可通过使用参考画面列表的帧间预测来执行目标块的编码。
关于目标块的信息可包括帧间预测信息。
此外,关于目标块的信息可包括关于包括目标块的画面、子画面、并行块、并行块组和条带的信息。关于目标块的信息可包括参考画面配置信息、参考信息、位置信息、索引信息、序列参数集(SPS)、画面参数集(PPS)和条带头,并且可包括上面在实施例中描述的附加信息、语法结构等。
此外,处理单元1610可通过对目标块执行编码来生成目标块的预测块、重建块等。
这里,预测块和重建块可基于使用参考画面列表中的参考画面的预测来生成,并且可基于使用与帧间预测信息对应的运动信息的预测来生成。换句话说,帧间预测信息可以是与由处理单元1610执行的帧间预测对应的信息。
在步骤2430,处理单元1610可生成包括关于目标块的信息的比特流。存储器1640可存储生成的比特流。通信单元1620可将比特流发送到解码设备1700。
关于目标块的信息可被解码设备1700用于对目标块进行解码。
图25是根据实施例的解码方法的流程图。
在步骤2510,解码设备1700的通信单元1720可从编码设备1600接收比特流。可选地,处理单元1710可从存储器1740读取比特流。
比特流可包括关于目标画面的目标块的信息。可使用比特流中的关于目标块的信息来执行目标块的解码。
关于目标块的信息可包括帧间预测信息。
关于目标块的信息可包括关于包括目标块的画面、子画面、并行块、并行块组和条带的信息。关于目标块的信息可包括参考画面配置信息、参考信息、位置信息、索引信息、SPS、PPS和条带头,并且可包括上面在实施例中描述的附加信息、语法结构等。
可以使用上面参考图24描述的关于目标块的信息来执行下面将描述的操作。换句话说,下面将描述的操作可以是使用关于目标块的信息对目标块进行解码的操作。
在步骤2520,处理单元1710可配置用于目标画面的目标块的参考画面列表。
用于目标块的每个参考画面列表可表示1)用于目标块所属的条带的参考画面列表、2)用于目标块所属的子画面的参考画面列表、以及3)用于目标块所属的画面的参考画面列表。
参考画面列表的数量可以是多个。
处理单元1710可从比特流提取关于目标块的信息,并且可使用关于目标块的多条信息中的语法结构、参考画面配置信息、参考信息、位置信息、索引信息、SPS、PPS、条带头等来配置参考画面列表。
在步骤2530,处理单元1710可对使用参考画面列表的目标块执行解码。
解码可包括熵解码、反量化、逆变换、预测和重建。
处理单元1710可通过对目标块执行解码来生成目标块的预测块、重建块等。
预测块和重建块可基于使用参考画面列表中的参考画面的预测来生成,并且可基于使用帧间预测信息的运动信息的预测来生成。
实施例可由编码设备1600和解码设备1700使用相同的方法来执行。
可使用实施例中的至少一个或其至少一个组合来对图像进行编码/解码。
编码设备1600和解码设备1700的实施例的应用顺序可彼此不同,并且编码设备1600和解码设备1700的实施例的应用顺序可彼此相同。
可针对亮度信号和色度信号中的每个执行实施例,并且可针对亮度信号和色度信号等同地执行实施例。
应用本公开的实施例的块的形式可具有正方形或非正方形形状。
可根据目标块、编码块、预测块、变换块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本公开的实施例。这里,尺寸可被定义为最小尺寸和/或最大尺寸使得实施例被应用,并且可被定义为实施例被应用的固定尺寸。此外,在实施例中,第一实施例可被应用于第一尺寸,并且第二实施例可被应用于第二尺寸。也就是说,可根据尺寸复合地应用实施例。此外,本公开的实施例可仅应用于尺寸等于或大于最小尺寸并且小于或等于最大尺寸的情况。也就是说,实施例可仅被应用于块尺寸落在特定范围内的情况。
例如,实施例可仅被应用于目标块的尺寸等于或大于8×8的情况。例如,实施例可仅被应用于目标块的尺寸为4×4的情况。例如,实施例可仅被应用于目标块的尺寸小于或等于16×16的情况。例如,实施例可仅被应用于目标块的尺寸等于或大于16×16且小于或等于64×64的情况。
可根据时间层来应用本公开的实施例。为了识别实施例可适用的时间层,可用信号发送单独的标识符,并且实施例可被应用于由对应的标识符指定的时间层。这里,标识符可被定义为实施例可适用的最低(底部)层和/或最高(顶部)层,并且可被定义为指示应用实施例的特定层。此外,还可定义应用实施例的固定时间层。
例如,实施例可仅被应用于目标图像的时间层是最下层的情况。例如,实施例可仅被应用于目标图像的时间层标识符等于或大于1的情况。例如,实施例可仅被应用于目标图像的时间层是最高层的情况。
可定义应用实施例的本发明的实施例的条带类型或并行块组类型,并且可根据对应的条带类型或并行块组类型来应用本发明的实施例。
在上述实施例中,可解释为,在将特定处理应用于特定目标期间,假设可能需要特定条件并且在特定确定下执行特定处理,特定编码参数可在已经进行了描述时被替换为附加编码参数,使得基于特定编码参数确定是否满足了特定条件或者基于特定编码参数进行特定确定。换句话说,可认为影响特定条件或特定确定的编码参数仅仅是示例性的,并且可理解,除了特定编码参数之外,一个或更多个附加编码参数的组合用作特定编码参数。
在上述实施例中,虽然已基于作为一系列步骤或单元的流程图描述了方法,但是本公开不限于所述步骤的顺序,并且一些步骤可按照与已描述的步骤的顺序不同的顺序来执行或者与其它步骤同时执行。此外,本领域技术人员将理解:在流程图中示出的步骤不是排他性的,并且还可包括其它步骤,或者,可在不脱离本公开的范围的情况下删除流程图中的一个或更多个步骤。
上述实施例包括各个方面的示例。尽管不能描述用于指示各个方面的所有可能的组合,但是本领域技术人员将理解,除了明确描述的组合之外,其他组合也是可能的。因此,应当理解,本公开包括属于所附权利要求的范围的其他替换、改变和修改。
上述根据本公开的实施例可被实现为能够由各种计算机设备运行的程序,并且可被记录在计算机可读存储介质上。计算机可读存储介质可单独地或者组合地包括程序指令、数据文件和数据结构。在存储介质上记录的程序指令可被专门设计或配置用于本公开,或者对于计算机软件领域的普通技术人员而言可以是已知的或者可用的。
计算机可读存储介质可包括本公开的实施例中使用的信息。例如,计算机可读存储介质可包括比特流,并且所述比特流可包括上面在本公开的实施例中描述的信息。
计算机可读存储介质可包括非暂时性计算机可读介质。
计算机可读存储介质的示例可包括被专门配置用于记录和运行程序指令的所有类型的硬件装置,诸如,磁介质(诸如硬盘、软盘和磁带)、光学介质(诸如致密盘(CD)-ROM和数字多功能盘(DVD))、磁光介质(诸如软光盘、ROM、RAM和闪存)。程序指令的示例包括机器代码(诸如由编译器创建的代码)和能够由计算机使用解释器执行的高级语言代码。硬件装置可被配置为作为一个或更多个软件模块进行操作以执行本公开的操作,反之亦可。
如上所述,虽然已基于特定细节(诸如详细组件以及有限数量的实施例和附图)描述了本公开,但是所述特定细节仅被提供用于容易理解整个公开,本公开不限于这些实施例,本领域技术人员将根据以上描述实践各种改变和修改。
因此,应理解的是,本实施例的精神不限于上述实施例,并且所附权利要求及其等同物和对它们的修改落入本公开的范围内。

Claims (20)

1.一种解码方法,包括:
配置用于目标画面的目标块的参考画面列表;以及
对使用所述参考画面列表的所述目标块执行解码。
2.根据权利要求1所述的解码方法,其中:
所述目标画面包括多个条带,并且
对所述多个条带中的最后条带的条带头的解析被执行,所述参考画面列表是通过所述解析来配置的,并且对所述参考画面列表中的参考画面的标记过程在所述解析之后被执行。
3.根据权利要求1所述的解码方法,其中:
所述目标画面包括多个子画面,并且
对所述多个子画面的条带的条带头的解析被执行,所述条带的参考画面列表是通过所述解析来配置的,并且对所述条带的参考画面列表中的参考画面的标记过程在所述解析之后被执行。
4.根据权利要求3所述的解码方法,其中,所述多个子画面中的每个子画面包括一个或更多个条带。
5.根据权利要求1所述的解码方法,其中,用于所述目标画面的序列参数集包括用于配置所述参考画面列表的语法结构。
6.根据权利要求5所述的解码方法,其中:
所述语法结构包括多个语法结构,并且
从所述多个语法结构中选择的语法结构被用于配置所述参考画面列表。
7.根据权利要求6所述的编码方法,其中,用于所述目标块的条带头包括指示配置所述参考画面列表所基于的序列参数和所述条带头中的任一个的信息。
8.一种编码方法,包括:
配置用于目标画面的目标块的参考画面列表;以及
通过对所述目标块执行编码来生成关于使用所述参考画面列表的所述目标块的信息。
9.根据权利要求8所述的编码方法,其中:
所述目标画面包括多个条带,并且
在使用关于所述目标块的信息对所述目标块进行解码时,对所述多个条带中的最后条带的条带头的解析被执行,所述参考画面列表是通过所述解析来配置的,并且对所述参考画面列表中的参考画面的标记过程在所述解析之后被执行。
10.根据权利要求8所述的编码方法,其中:
所述目标画面包括多个子画面,并且
在使用关于所述目标块的信息对所述目标块进行解码时,对所述多个子画面的条带的条带头的解析被执行,所述条带的参考画面列表是通过所述解析来配置的,并且对所述条带的参考画面列表中的参考画面的标记过程在所述解析之后被执行。
11.根据权利要求10所述的编码方法,其中,所述多个子画面中的每个子画面包括一个或更多个条带。
12.根据权利要求8所述的编码方法,其中,在使用关于所述目标块的信息对所述目标块进行解码时,用于所述目标画面的序列参数集包括用于配置所述参考画面列表的语法结构。
13.根据权利要求12所述的编码方法,其中:
所述语法结构包括多个语法结构,并且
从所述多个语法结构中选择的语法结构被用于在解码时配置所述参考画面列表。
14.一种存储由权利要求8所述的编码方法生成的比特流的存储介质。
15.一种存储比特流的计算机可读存储介质,其中:
所述比特流包括关于目标块的信息,以及
所述比特流被配置为:
使用关于所述目标块的所述信息对所述目标块执行解码,
配置用于目标画面的所述目标块的参考画面列表,以及
对使用所述参考画面列表的所述目标块执行解码。
16.根据权利要求16所述的计算机可读存储介质,其中:
所述目标画面包括多个条带,并且
对所述多个条带中的最后条带的条带头的解析被执行,所述参考画面列表是通过所述解析来配置的,并且对所述参考画面列表中的参考画面的标记过程在所述解析之后被执行。
17.根据权利要求16所述的计算机可读存储介质,其中:
所述目标画面包括多个子画面,并且
对所述多个子画面的条带的条带头的解析被执行,所述条带的参考画面列表是通过所述解析来配置的,并且对所述条带的参考画面列表中的参考画面的标记过程在所述解析之后被执行。
18.根据权利要求17所述的计算机可读存储介质,其中,所述多个子画面中的每个子画面包括一个或更多个条带。
19.根据权利要求15所述的计算机可读存储介质,其中,用于所述目标画面的序列参数集包括用于配置所述参考画面列表的语法结构。
20.根据权利要求19所述的计算机可读存储介质,其中:
所述语法结构包括多个语法结构,并且
从所述多个语法结构中选择的语法结构被用于配置所述参考画面列表。
CN202080059068.0A 2019-06-19 2020-06-19 使用参考画面对图像进行编码/解码的方法、装置和记录介质 Pending CN114270820A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2019-0073132 2019-06-19
KR20190073132 2019-06-19
PCT/KR2020/008010 WO2020256495A1 (ko) 2019-06-19 2020-06-19 참조 픽처를 사용하는 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Publications (1)

Publication Number Publication Date
CN114270820A true CN114270820A (zh) 2022-04-01

Family

ID=74088362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080059068.0A Pending CN114270820A (zh) 2019-06-19 2020-06-19 使用参考画面对图像进行编码/解码的方法、装置和记录介质

Country Status (2)

Country Link
KR (1) KR20200145753A (zh)
CN (1) CN114270820A (zh)

Also Published As

Publication number Publication date
KR20200145753A (ko) 2020-12-30

Similar Documents

Publication Publication Date Title
CN110463201B (zh) 使用参考块的预测方法和装置
US11284076B2 (en) Block form-based prediction method and device
CN111567045A (zh) 使用帧间预测信息的方法和装置
CN110476425B (zh) 基于块形式的预测方法和装置
CN111699682A (zh) 用于使用通道之间的选择性信息共享进行编码和解码的方法和设备
US20220321890A1 (en) Method, apparatus, and recording medium for encoding/decoding image by using geometric partitioning
CN112740694A (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
US11812013B2 (en) Method, apparatus and storage medium for image encoding/decoding using subpicture
CN113228651A (zh) 量化矩阵编码/解码方法和装置以及存储比特流的记录介质
US20220312009A1 (en) Method and apparatus for image encoding and image decoding using area segmentation
US20220201295A1 (en) Method, apparatus and storage medium for image encoding/decoding using prediction
CN113906743A (zh) 量化矩阵编码/解码方法和装置、以及存储比特流的记录介质
CN113228681A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
CN111684801A (zh) 双向帧内预测方法和设备
US20220272321A1 (en) Method, device, and recording medium for encoding/decoding image using reference picture
CN114450946A (zh) 通过使用几何分区对图像进行编码/解码的方法、设备和记录介质
CN116325730A (zh) 通过使用几何分区对图像进行编码/解码的方法、设备和记录介质
CN114270865A (zh) 用于对图像进行编码/解码的方法、设备和记录介质
CN113841404A (zh) 视频编码/解码方法和设备以及存储比特流的记录介质
CN111919448A (zh) 用于使用时间运动信息的图像编码和图像解码的方法和设备
US20220295059A1 (en) Method, apparatus, and recording medium for encoding/decoding image by using partitioning
CN114270828A (zh) 用于使用基于块类型的预测的图像编码和图像解码的方法和设备
KR20210070942A (ko) 영역 차등적 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
CN113545052A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
US11838506B2 (en) Method, apparatus and storage medium for image encoding/decoding

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