CN113950831A - 基于帧内块复制的编/解码方法、装置和比特流存储介质 - Google Patents

基于帧内块复制的编/解码方法、装置和比特流存储介质 Download PDF

Info

Publication number
CN113950831A
CN113950831A CN202080040723.8A CN202080040723A CN113950831A CN 113950831 A CN113950831 A CN 113950831A CN 202080040723 A CN202080040723 A CN 202080040723A CN 113950831 A CN113950831 A CN 113950831A
Authority
CN
China
Prior art keywords
block
information
prediction
intra
current
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
CN202080040723.8A
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
Publication of CN113950831A publication Critical patent/CN113950831A/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/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/186Methods 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 a colour or a chrominance component
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

提供了一种图像编码/解码方法和装置。根据本发明的一种图像解码方法特征在于包括:从比特流获取关于当前块的预测模式信息的步骤;通过使用关于所述当前块的预测模式信息来推导所述当前块的帧内块复制预测模式的步骤;以及基于所述帧内块复制预测模式恢复所述当前块的步骤,其中,所述帧内块复制预测模式是基于块复制的跳过模式、基于块复制的合并模式和基于块复制的AMVP模式中的至少一个。

Description

基于帧内块复制的编/解码方法、装置和比特流存储介质
技术领域
本发明涉及一种图像编码/解码方法和设备以及一种用于存储比特流的记录介质。更具体地,本发明涉及一种用于基于帧内块复制对图像进行编码/解码的方法和设备以及一种用于存储通过本发明的图像编码方法或设备生成的比特流的记录介质。
背景技术
最近,在各种应用中,对诸如高清(HD)或超高清(UHD)图像的高分辨率和高质量图像的需求已经增加。随着图像的分辨率和质量提高,数据量相应地增加。当通过诸如有线或无线宽带信道的现有传输介质传输图像数据时或者当存储图像数据时,这是传输成本和存储成本增加的原因之一。为了解决高分辨率和高质量图像数据的这些问题,需要高效的图像编码/解码技术。
存在各种视频压缩技术,诸如从先前画面或后续画面内的像素的值预测当前画面内的像素的值的帧间预测技术、从当前画面的另一区域内的像素的值预测当前画面的区域内的像素的值的帧内预测技术、压缩残差信号的能量的变换和量化技术、以及向频繁出现的像素值分配较短码而向较少出现的像素值分配较长码的熵编码技术。
传统的图像编码/解码方法和设备使用基于限制的帧内块复制的编码/解码技术,并且因此在提高编码效率方面具有局限性。
发明内容
技术问题
本发明的目的是提供一种具有提高的压缩效率的图像编码/解码方法和设备。
本发明的另一目的是提供一种具有提高的压缩效率的基于帧内块复制的图像编码/解码方法和设备。
本发明的另一目的是提供一种用于存储由根据本发明的图像编码/解码方法或设备生成的比特流的记录介质。
本发明的另一目的是提供一种基于块矢量候选列表的配置的图像编码/解码方法和设备。
技术方案
根据本发明,一种对图像进行解码的方法包括:从比特流获取当前块的预测模式信息,使用所述当前块的预测模式信息对所述当前块的帧内块复制预测模式进行解码,并且基于所述帧内块复制预测模式重建所述当前块。所述帧内块复制预测模式是基于块复制的跳过模式、基于块复制的合并模式或基于块复制的AMVP模式中的至少一个。
重建所述当前块的步骤可包括:构建针对所述当前块的块矢量候选列表,从包括在所述块矢量候选列表中的候选块矢量推导针对所述当前块的块矢量,并且使用推导出的块矢量重建所述当前块。
构建针对所述当前块的块矢量候选列表的步骤可包括:从比特流获取指示所述块矢量候选列表中的可允许候选块矢量的最大数量的第一信息。
第一信息可在序列参数集中被用信号发送。
第一信息可以是基于指示帧内块复制预测模式是否被使用的第二信息而被熵解码的。
所述块矢量候选列表中的可允许候选块矢量的最大数量可以是通过预定正整数与第一信息的值之间的差而推导出的。
所述预定正整数可以是6。
当所述当前块的帧内块复制预测模式处于基于块复制的AMVP模式并且所述块矢量候选列表中的可允许候选块矢量的最大数量大于预定值时,指示L0运动矢量预测因子的索引的信息可被解码。
当包括在所述块矢量候选列表中的候选块矢量的数量小于所述块矢量候选列表中的可允许候选块矢量的最大数量时,构建针对所述当前块的块矢量候选列表的步骤可包括:将基于历史的块矢量候选添加到所述块矢量候选列表,直到候选块矢量的数量变得等于所述块矢量候选列表中的可允许候选块矢量的最大数量为止。
所述方法还可包括:确定所述基于历史的块矢量候选中的预定候选是否与包括在所述块矢量候选列表中的候选块矢量重复。
当所述当前块具有小于预定尺寸的尺寸时,对所述当前块的基于历史的块矢量候选列表的更新处理可不被执行。
根据本发明,一种对图像进行编码的方法包括:基于当前块的帧内块复制预测模式对所述当前块进行编码,并且使用所述当前块的预测模式信息对所述当前块的帧内块复制预测模式进行编码。所述帧内块复制预测模式是基于块复制的跳过模式、基于块复制的合并模式或基于块复制的AMVP模式中的至少一个。
对所述当前块进行编码的步骤可包括:构建针对所述当前块的块矢量候选列表,从包括在所述块矢量候选列表中的候选块矢量推导针对所述当前块的块矢量,并且使用推导出的块矢量对所述当前块进行编码。
所述方法还可包括:将指示所述块矢量候选列表中的可允许候选块矢量的最大数量的第一信息编码到比特流中。
第一信息可在序列参数集中被用信号发送。
第一信息可以是基于指示帧内块复制预测模式是否被使用的第二信息而被编码的。
所述块矢量候选列表中的可允许候选块矢量的最大数量可以是通过预定正整数与第一信息的值之间的差而被编码的。
所述预定正整数可以是6。
当所述当前块的帧内块复制预测模式处于基于块复制的AMVP模式并且所述块矢量候选列表中的可允许候选块矢量的最大数量大于预定值时,指示L0运动矢量预测因子的索引的信息可被编码。
当包括在所述块矢量候选列表中的候选块矢量的数量小于所述块矢量候选列表中的可允许候选块矢量的最大数量时,构建针对所述当前块的块矢量候选列表的步骤可包括:将基于历史的块矢量候选添加到所述块矢量候选列表,直到候选块矢量的数量变得等于所述块矢量候选列表中的可允许候选块矢量的最大数量为止。
当所述当前块具有小于预定尺寸的尺寸时,对所述当前块的基于历史的块矢量候选列表的更新处理可不被执行。
根据本发明的一种记录介质可存储通过根据本发明的图像编码方法生成的比特流。
有益效果
根据本发明,可提供一种具有提高的压缩效率的图像编码/解码方法和设备。
根据本发明,可提供一种具有提高的压缩效率的基于帧内块复制的对称/旋转图像编码/解码方法和设备。
根据本发明,可提供一种用于存储通过根据本发明的图像编码/解码方法或设备生成的比特流的记录介质。
附图说明
图1是示出根据应用了本发明的实施例的编码设备的配置的框图。
图2是示出根据应用了本发明的实施例的解码设备的配置的框图。
图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。
图4是示出帧内预测处理的示图。
图5是示出画面间预测处理的实施例的示图。
图6是示出变换和量化处理的示图。
图7是示出能够被用于帧内预测的参考样点的示图。
图8a是示出根据本发明的实施例的图像编码方法的流程图。
图8b是示出根据本发明的实施例的图像解码方法的流程图。
图9是示出根据本发明的实施例的当前块与预测块之间的关系的示图。
图10是示出根据本发明的实施例的与当前块相邻的邻近块的示图。
图11是示出根据本发明的实施例的在预定阈值为32时被分区的当前块的示图。
图12是示出根据本发明的实施例的共享和使用在上级块中构建的块矢量候选列表的处理的示图。
图13是示出根据本发明的实施例的推导指示块矢量候选列表中的可允许最大数量的信息的处理的示图。
图14是示出根据本发明的实施例的对L0运动矢量预测标志进行熵编码/熵解码的处理的示图。
图15是示出根据本发明的实施例的对合并索引信息进行熵编码/熵解码的处理的示图。
图16是示出根据本发明的另一实施例的色度分量块与亮度分量区域之间的对应关系的示图。
图17是示出根据本发明的另一实施例的亮度分量子块的示图。
图18是示出根据本发明的实施例的当前块与预测块之间的关系的示图。
图19是示出当根据本发明的实施例的与色度分量块对应的亮度分量子块的预测编码模式相同时的示图。
图20是示出当根据本发明的实施例的与色度分量块对应的亮度分量子块的预测编码模式不同时的示图。
图21至图23是示出根据本发明的实施例的与帧内块分区相关联地发送的编码信息的示图。
具体实施方式
可对本发明进行各种修改,并且存在本发明的各种实施例,其中,现在将参照附图来提供本发明的各种实施例的示例并对其进行详细描述。然而,本发明不限于此,尽管示例性实施例可被解释为包括本发明的技术构思和技术范围内的所有修改、等同或替代。在各个方面,相似的附图标号指代相同或相似的功能。在附图中,为了清楚,可夸大元件的形状和尺寸。在本发明的以下详细描述中,参照以图示的方式示出了可实践本发明的特定实施例的附图。足够详细地描述了这些实施例以使本领域技术人员能够实施本公开。应理解,本公开的各种实施例尽管不同,但不必是互斥的。例如,在不脱离本公开的精神和范围的情况下,结合一个实施例在此描述的特定特征、结构和特性可在其他实施例中被实现。此外,应理解,在不脱离本公开的精神和范围的情况下,可修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被视为具有限制意义,并且本公开的范围仅由所附权利要求(在被合适地解释的情况下,还连同权利要求所要求保护的等同物的全部范围)来限定。
说明书中使用的术语“第一”、“第二”等可用于描述各种组件,但是组件不应解释为限于这些术语。这些术语仅用于将一个组件与其他组件区分开。例如,在不脱离本发明的范围的情况下,“第一”组件可被命名为“第二”组件,并且“第二”组件也可被类似地命名为“第一”组件。术语“和/或”包括多个项的组合或多个项中的任意一项。
将理解的是,在本说明书中,当元件被简单称为“连接到”或“耦接到”另一元件而不是“直接连接到”或“直接耦接到”另一元件时,元件可“直接连接到”另一元件或“直接耦接到”另一元件,或者在元件与另一元件之间介入有其他元件的情况下被连接到或耦接到另一元件。相反,应理解,当元件被称为“直接耦接”或“直接连接”到另一元件时,不存在中间元件。
此外,本发明的实施例中所示的构成部分被独立地示出,以表示彼此不同的特征功能。因此,这并不表示每个构成部分都以单独的硬件或软件的构成单元构成。换言之,为了方便,每个构成部分包括列举出的构成部分中的每个构成部分。因此,每个构成部分的至少两个构成部分可被组合以形成一个构成部分,或者一个构成部分可被划分为多个构成部分以执行每种功能。如果没有脱离本发明的实质,则每个构成部分被组合的实施例和一个构成部分被划分的实施例也包括在本发明的范围内。
本说明书中使用的术语仅用于描述特定实施例,而不旨在限制本发明。除非在上下文中具有明显不同的含义,否则以单数形式使用的表述包括复数形式的表述。在本说明书中,将理解,诸如“包括”、“具有”等的术语旨在指示存在说明书中公开的特征、数字、步骤、动作、元件、部件或其组合,而并不旨在排除可存在或可添加一个或更多个其他特征、数字、步骤、动作、元件、部件或其组合的可能性。换言之,当特定元素被称为“被包括”时,并不排除除了对应元素之外的元素,而是可在本发明的实施例或本发明的范围中包括另外的元素。
此外,一些组成部分可能不是执行本发明的基本功能的必不可少的组成部分,而是仅提高其性能的选择性组成部分。可通过仅包括用于实现本发明的本质的必不可少的组成部分而不包括用于提高性能的组成部分来实现本发明。仅包括必不可少的组成部分而不包括仅用于提高性能的选择性组成部分的结构也包括在本发明的范围内。
在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,将不详细描述公知的功能或构造,因为它们可能不必要地模糊对本发明的理解。附图中相同的构成元件由相同的附图标号表示,并且对相同元件的重复描述将被省略。
在下文中,图像可指构成视频的画面,或者可指视频本身。例如,“对图像进行编码或解码或者进行编码和解码两者”可指“对运动画面进行编码或解码或者进行编码和解码两者”,并且可指“对运动画面的图像中的一个图像进行编码或解码或者进行编码和解码两者”。
在下文中,术语“运动画面”和“视频”可用作相同的含义并且可彼此替换。
在下文中,目标图像可以是作为编码目标的编码目标图像和/或作为解码目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像、以及输入到解码设备的输入图像。这里,目标图像可与当前图像具有相同的含义。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且可彼此替换。
在下文中,目标块可以是作为编码目标的编码目标块和/或作为解码目标的解码目标块。此外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且可彼此替换。
在下文中,术语“块”和“单元”可被用作相同的含义并且可彼此替换。或者“块”可表示特定单元。
在下文中,术语“区域”和“片段”可彼此替换。
在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。
在实施例中,特定信息、数据、标志、索引、元素和属性等中的每个可具有值。信息、数据、标志、索引、元素和属性的值等于“0”可表示逻辑假或第一预定义值。换言之,值“0”、假、逻辑假和第一预定义值可彼此替换。信息、数据、标志、索引、元素和属性的值等于“1”可表示逻辑真或第二预定义值。换言之,值“1”、真、逻辑真和第二预定义值可彼此替换。
当变量i或j用于表示列、行或索引时,i的值可以是等于或大于0的整数,或者是等于或大于1的整数。也就是说,列、行、索引等可从0开始计数,或者可从1开始计数。
术语的描述
编码器:表示执行编码的设备。也就是说,表示编码设备。
解码器:表示执行解码的设备。也就是说,表示解码设备。
块:是M×N的样点阵列。这里,M和N可表示正整数,并且块可表示二维形式的样点阵列。块可指单元。当前块可表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
样点:是构成块的基本单元。根据比特深度(Bd),样点可被表示为从0到2Bd-1的值。在本发明中,样点可被用作像素的含义。也就是说,样点、pel、像素可具有彼此相同的含义。
单元:可指编码和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而生成的区域。此外,当在编码或解码期间将单个图像分区为子划分单元时,单元可表示子划分单元。也就是说,图像可被分区为多个单元。当对图像进行编码和解码时,可执行针对每个单元的预定处理。单个单元可被分区为尺寸小于该单元的尺寸的子单元。根据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。此外,为了将单元与块区分开,单元可包括亮度分量块、与亮度分量块相关联的色度分量块、以及每个颜色分量块的语法元素。单元可具有各种尺寸和形状,具体地,单元的形状可以是二维几何图形,诸如正方形、矩形、梯形、三角形、五边形等。此外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。
编码树单元:被配置有亮度分量Y的单个编码树块以及与色度分量Cb和Cr相关的两个编码树块。此外,编码树单元可表示包括块和每个块的语法元素。可通过使用四叉树分区方法、二叉树分区方法和三叉树分区方法中的至少一个对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的下级单元。编码树单元可被用作用于指定在对作为输入图像的图像进行编码/解码时成为处理单元的样点块的术语。这里,四叉树可表示四元树。
当编码块的尺寸在预定范围内时,仅使用四叉树分区进行划分是可能的。这里,所述预定范围可被定义为能够仅使用四叉树分区进行划分的编码块的最大尺寸和最小尺寸中的至少一个。可通过比特流用信号发送指示允许四叉树分区的编码块的最大/最小尺寸的信息,并且可在序列、画面参数、并行块组或条带(片段)中的至少一个单元中用信号发送所述信息。可选地,编码块的最大/最小尺寸可以是编码器/解码器中预定的固定尺寸。例如,当编码块的尺寸与256×256至64×64对应时,仅使用四叉树分区进行划分是可能的。可选地,当编码块的尺寸大于最大转换块的尺寸时,仅使用四叉树分区进行划分是可能的。这里,将被划分的块可以是编码块和变换块中的至少一个。在这种情况下,指示编码块的划分的信息(例如,split_flag)可以是指示是否执行四叉树分区的标志。当编码块的尺寸落在预定范围内时,仅使用二叉树或三叉树分区进行划分是可能的。在这种情况下,对四叉树分区的以上描述可以以相同方式被应用于二叉树分区或三叉树分区。
编码树块:可用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。
邻近块:可表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块、或者位于距当前块预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块、或者与垂直相邻于当前块的邻近块水平相邻的块。
重建邻近块:可表示与当前块相邻并且已经在空间/时间上被编码或解码的邻近块。这里,重建邻近块可表示重建邻近单元。重建空间邻近块可以是在当前画面内并且已经通过编码或解码或者编码和解码两者而被重建的块。重建时间邻近块是在参考图像内的与当前画面的当前块对应的位置处的块或所述块的邻近块。
单元深度:可表示单元的分区程度。在树结构中,最高节点(根节点)可与未被分区的第一单元对应。此外,最高节点可具有最小深度值。在这种情况下,最高节点的深度可以是等级0。深度为等级1的节点可表示通过对第一单元进行一次分区而生成的单元。深度为等级2的节点可表示通过对第一单元进行两次分区而生成的单元。深度为等级n的节点可表示通过对第一单元进行n次分区而生成的单元。叶节点可以是最低节点并且是不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,所述最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表示为树结构时,单元所存在于的等级可表示单元深度。
比特流:可表示包括编码图像信息的比特流。
参数集:与比特流内的配置之中的头信息对应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带(slice)头、并行块(tile)组头和并行块头信息。术语“并行块组”表示一组并行块并且与条带具有相同的含义。
自适应参数集可表示可通过在不同画面、子画面、条带、并行块组、并行块或分块(brick)中被参考而被共享的参数集。此外,可通过参考针对画面内的子画面、条带、并行块组、并行块或分块的不同自适应参数集来使用自适应参数集中的信息。
此外,关于自适应参数集,可通过使用针对画面内的子画面、条带、并行块组、并行块或分块的不同自适应参数集的标识符来参考不同自适应参数集。
此外,关于自适应参数集,可通过使用针对子画面内的条带、并行块组、并行块或分块的不同自适应参数集的标识符来参考不同自适应参数集。
此外,关于自适应参数集,可通过使用针对条带内的并行块或分块的不同自适应参数集的标识符来参考不同自适应参数集。
此外,关于自适应参数集,可通过使用针对并行块内的分块的不同自适应参数集的标识符来参考不同自适应参数集。
关于自适应参数集标识符的信息可被包括在子画面的参数集或头中,并且与该自适应参数集标识符对应的自适应参数集可被用于子画面。
关于自适应参数集标识符的信息可被包括在并行块的参数集或头中,并且与该自适应参数集标识符对应的自适应参数集可被用于并行块。
关于自适应参数集标识符的信息可被包括在分块的头中,并且与该自适应参数集标识符对应的自适应参数集可被用于分块。
画面可被分区为一个或更多个并行块行以及一个或更多个并行块列。
子画面可被分区为画面内的一个或更多个并行块行以及一个或更多个并行块列。子画面可以是画面内的具有矩形/正方形形式的区域,并且可包括一个或更多个CTU。此外,至少一个或更多个并行块/分块/条带可被包括在一个子画面内。
并行块可以是画面内的具有矩形/正方形形式的区域,并且可包括一个或更多个CTU。此外,并行块可被分区为一个或更多个分块。
分块可表示并行块内的一个或更多个CTU行。并行块可被分区为一个或更多个分块,并且每个分块可具有至少一个或更多个CTU行。未被分区为两个或更多个的并行块可表示分块。
条带可包括画面内的一个或更多个并行块,并且可包括并行块内的一个或更多个分块。
解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。
符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。
预测模式:可以是指示利用帧内预测而被编码/解码的模式或利用帧间预测而被编码/解码的模式的信息。
预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个下级预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过划分预测单元而生成的分区也可以是预测单元。
预测单元分区:可表示通过对预测单元进行分区而获得的形状。
参考画面列表可指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在若干类型的可用参考画面列表,包括LC(列表组合)、L0(列表0)、L1(列表1)、L2(列表2)、L3(列表3)。
帧间预测指示符可指当前块的帧间预测的方向(单向预测、双向预测等)。可选地,帧间预测指示符可指用于生成当前块的预测块的参考画面的数量。可选地,帧间预测指示符可指在对当前块执行帧间预测或运动补偿时使用的预测块的数量。
预测列表利用标志指示是否使用特定参考画面列表中的至少一个参考画面来生成预测块。可使用预测列表利用标志来推导帧间预测指示符,并且相反地,可使用帧间预测指示符来推导预测列表利用标志。例如,当预测列表利用标志具有第一值零(0)时,它表示参考画面列表中的参考画面不被用于生成预测块。另一方面,当预测列表利用标志具有第二值一(1)时,它表示参考画面列表被用于生成预测块。
参考画面索引可指指示参考画面列表中的特定参考画面的索引。
参考画面可表示由特定块参考以用于特定块的帧间预测或运动补偿的目的的参考画面。可选地,参考画面可以是包括由当前块参考以用于帧间预测或运动补偿的参考块的画面。在下文中,术语“参考画面”和“参考图像”具有相同的含义并且可互换。
运动矢量可以是用于帧间预测或运动补偿的二维矢量。运动矢量可表示编码/解码目标块与参考块之间的偏移。例如,(mvX,mvY)可表示运动矢量。这里,mvX可表示水平分量,并且mvY可表示垂直分量。
搜索范围可以是在帧间预测期间被搜索以检索运动矢量的二维区域。例如,搜索范围的尺寸可以是M×N。这里,M和N都是整数。
运动矢量候选可指在对运动矢量进行预测时的预测候选块或预测候选块的运动矢量。此外,运动矢量候选可被包括在运动矢量候选列表中。
运动矢量候选列表可表示由一个或更多个运动矢量候选组成的列表。
运动矢量候选索引可表示指示运动矢量候选列表中的运动矢量候选的指示符。可选地,它可以是运动矢量预测因子的索引。
运动信息可表示包括包含运动矢量、参考画面索引、帧间预测指示符、预测列表利用标志、参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引的项中的至少一项的信息。
合并候选列表可表示由一个或更多个合并候选组成的列表。
合并候选可表示空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选或零合并候选。合并候选可包括诸如帧间预测指示符、每个列表的参考画面索引、运动矢量、预测列表利用标志和帧间预测指示符的运动信息。
合并索引可表示指示合并候选列表中的合并候选的指示符。可选地,合并索引可指示在空间上/时间上与当前块相邻的重建块中的块,其中,已从该块推导出合并候选。可选地,合并索引可指示合并候选的至少一条运动信息。
变换单元:可表示在对残差信号执行编码/解码(诸如变换、逆变换、量化、反量化、变换系数编码/解码)时的基本单元。单个变换单元可被分区为具有更小尺寸的多个下级变换单元。这里,变换/逆变换可包括第一变换/第一逆变换和第二变换/第二逆变换中的至少一个。
缩放:可表示将量化的等级乘以因子的处理。可通过对量化的等级进行缩放来生成变换系数。缩放也可被称为反量化。
量化参数:可表示当在量化期间使用变换系数来生成量化的等级时使用的值。量化参数还可表示当在反量化期间通过对量化的等级进行缩放来生成变换系数时使用的值。量化参数可以是被映射在量化步长上的值。
增量量化参数:可表示预测的量化参数与编码/解码目标单元的量化参数之间的差值。
扫描:可表示对单元、块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改变为一维矩阵可被称为扫描,将系数的一维矩阵改变为二维矩阵可被称为扫描或逆扫描。
变换系数:可表示在编码器中执行变换之后生成的系数值。变换系数可表示在解码器中执行熵解码和反量化中的至少一个之后生成的系数值。通过对变换系数或残差信号进行量化而获得的量化的等级或者量化的变换系数等级也可落入变换系数的含义内。
量化的等级:可表示在编码器中通过对变换系数或残差信号进行量化而生成的值。可选地,量化的等级可表示作为在解码器中经历反量化的反量化目标的值。类似地,作为变换和量化的结果的量化的变换系数等级也可落入量化的等级的含义内。
非零变换系数:可表示具有除零之外的值的变换系数、或者具有除零之外的值的变换系数等级或量化的等级。
量化矩阵:可表示在为了提高主观图像质量或客观图像质量而执行的量化处理或反量化处理中使用的矩阵。量化矩阵也可被称为缩放列表。
量化矩阵系数:可表示量化矩阵内的每个元素。量化矩阵系数也可被称为矩阵系数。
默认矩阵:可表示在编码器或解码器中预先定义的预定量化矩阵。
非默认矩阵:可表示在编码器或解码器中未被预先定义而是由用户用信号发送的量化矩阵。
统计值:针对具有可计算的特定值的变量、编码参数、常量值等之中的至少一个的统计值可以是对应特定值的平均值、求和值、加权平均值、加权和值、最小值、最大值、最频繁出现的值、中值、插值之中的一个或更多个。
图1是示出根据应用了本发明的实施例的编码设备的配置的框图。
编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括至少一个图像。编码设备100可顺序地对至少一个图像进行编码。
参照图1,编码设备100可包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。
编码设备100可通过使用帧内模式或帧间模式或者帧内模式和帧间模式两者来执行输入图像的编码。此外,编码设备100可通过对输入图像进行编码来生成包括编码信息的比特流,并输出生成的比特流。生成的比特流可被存储在计算机可读记录介质中,或者可通过有线/无线传输介质被流传输。当帧内模式被用作预测模式时,切换器115可切换到帧内。可选地,当帧间模式被用作预测模式时,切换器115可切换到帧间模式。这里,帧内模式可表示帧内预测模式,帧间模式可表示帧间预测模式。编码设备100可生成针对输入图像的输入块的预测块。此外,编码设备100可在生成预测块之后使用输入块和预测块的残差对残差块进行编码。输入图像可被称为作为当前编码目标的当前图像。输入块可被称为作为当前编码目标的当前块,或者被称为编码目标块。
当预测模式是帧内模式时,帧内预测单元120可使用已被编码/解码并与当前块相邻的块的样点作为参考样点。帧内预测单元120可通过使用参考样点来对当前块执行空间预测,或者通过执行空间预测来生成输入块的预测样点。这里,帧内预测可表示帧内部的预测。
当预测模式是帧间模式时,运动预测单元111可在执行运动预测时从参考图像检索与输入块最匹配的区域,并且通过使用检索到的区域来推导运动矢量。在这种情况下,搜索区域可被用作所述区域。参考图像可被存储在参考画面缓冲器190中。这里,当执行对参考图像的编码/解码时,参考图像可被存储在参考画面缓冲器190中。
运动补偿单元112可通过使用运动矢量对当前块执行运动补偿来生成预测块。这里,帧间预测可表示帧之间的预测或运动补偿。
当运动矢量的值不是整数时,运动预测单元111和运动补偿单元112可通过将插值滤波器应用于参考画面的部分区域来生成预测块。为了对编码单元执行画面间预测或运动补偿,可确定跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式之中的哪个模式被用于对包括在对应编码单元中的预测单元的运动预测和运动补偿。然后,根据所确定的模式,可不同地执行画面间预测或运动补偿。
减法器125可通过使用输入块和预测块的差来生成残差块。残差块可被称为残差信号。残差信号可表示原始信号和预测信号之间的差。此外,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化或者变换和量化而生成的信号。残差块可以是块单元的残差信号。
变换单元130可通过对残差块执行变换来生成变换系数,并输出生成的变换系数。这里,变换系数可以是通过对残差块执行变换而生成的系数值。当变换跳过模式被应用时,变换单元130可跳过对残差块的变换。
可通过将量化应用于变换系数或应用于残差信号来生成量化的等级。在下文中,量化的等级在实施例中也可被称为变换系数。
量化单元140可通过根据参数对变换系数或残差信号进行量化来生成量化的等级,并输出生成的量化的等级。这里,量化单元140可通过使用量化矩阵对变换系数进行量化。
熵编码单元150可通过根据概率分布对由量化单元140计算出的值或者对在执行编码时计算出的编码参数值执行熵编码来生成比特流,并输出生成的比特流。熵编码单元150可对图像的样点信息和用于对图像进行解码的信息执行熵编码。例如,用于对图像进行解码的信息可包括语法元素。
当熵编码被应用时,符号被表示使得较少数量的比特被分配给具有高生成可能性的符号,并且较多数量的比特被分配给具有低生成可能性的符号,因此,可减小用于将被编码的符号的比特流的大小。熵编码单元150可使用诸如指数Golomb、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等的用于熵编码的编码方法。例如,熵编码单元150可通过使用变长编码/码(VLC)表来执行熵编码。此外,熵编码单元150可推导目标符号的二值化方法和目标符号/二进制位的概率模型,并且通过使用推导的二值化方法和上下文模型来执行算术编码。
为了对变换系数等级(量化的等级)进行编码,熵编码单元150可通过使用变换系数扫描方法将二维块形式的系数改变为一维矢量形式。
编码参数可包括编码器中被编码并且被用信号发送到解码器的诸如语法元素的信息(标志、索引等)以及在执行编码或解码时推导出的信息。编码参数可表示在对图像进行编码或解码时所需要的信息。例如,以下项中的至少一个值或组合形式可被包括在编码参数中:单元/块尺寸、单元/块深度、单元/块分区信息、单元/块形状、单元/块分区结构、是否进行四叉树形式的分区、是否进行二叉树形式的分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形式(对称分区或非对称分区)、当前编码单元是否通过三叉树分区被分区、三叉树分区的方向(水平方向或垂直方向)、三叉树分区的类型(对称类型或非对称类型)、当前编码单元是否通过多类型树分区被分区、多类型树分区的方向(水平方向或垂直方向)、多类型树分区的类型(对称类型或非对称类型)、多类型树分区的树(二叉树或三叉树)结构、预测模式(帧内预测或帧间预测)、亮度帧内预测模式/方向、色度帧内预测模式/方向、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波方法、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波方法、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波方法、预测块边界滤波器抽头、预测块边界滤波器系数、帧内预测模式、帧间预测模式、运动信息、运动矢量、运动矢量差、参考画面索引、帧间预测角度、帧间预测指示符、预测列表利用标志、参考画面列表、参考画面、运动矢量预测因子索引、运动矢量预测因子候选、运动矢量候选列表、是否使用合并模式、合并索引、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头、插值滤波器系数、运动矢量大小、运动矢量的表示精度、变换类型、变换尺寸、初级(第一)变换是否被使用的信息、次级变换是否被使用的信息、初级变换索引、次级变换索引、残差信号是否存在的信息、编码块样式、编码块标志(CBF)、量化参数、量化参数残差、量化矩阵、是否应用帧内环路滤波器、帧内环路滤波器系数、帧内环路滤波器抽头、帧内环路滤波器形状/形式、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器形状/形式、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环路滤波器、自适应环路滤波器系数、自适应环路滤波器抽头、自适应环路滤波器形状/形式、二值化/逆二值化方法、上下文模型确定方法、上下文模型更新方法、是否执行常规模式、是否执行旁路模式、上下文二进制位、旁路二进制位、有效系数标志、最后有效系数标志、针对系数组的单元的编码标志、最后有效系数的位置、关于系数的值是否大于1的标志、关于系数的值是否大于2的标志、关于系数的值是否大于3的标志、关于其余系数值的信息、符号信息、重建亮度样点、重建色度样点、残差亮度样点、残差色度样点、亮度变换系数、色度变换系数、量化的亮度等级、量化的色度等级、变换系数等级扫描方法、在解码器侧的运动矢量搜索区域的尺寸、在解码器侧的运动矢量搜索区域的形状、在解码器侧的运动矢量搜索的次数、关于CTU尺寸的信息、关于最小块尺寸的信息、关于最大块尺寸的信息、关于最大块深度的信息、关于最小块深度的信息、图像显示/输出顺序、条带标识信息、条带类型、条带分区信息、并行块标识信息、并行块类型、并行块分区信息、并行块组标识信息、并行块组类型、并行块组分区信息、画面类型、输入样点的比特深度、重建样点的比特深度、残差样点的比特深度、变换系数的比特深度、量化的等级的比特深度、以及关于亮度信号的信息或关于色度信号的信息。
这里,用信号发送标志或索引可表示由编码器对对应标志或索引进行熵编码并将其包括在比特流中,并且可表示由解码器从比特流对对应标志或索引进行熵解码。
当编码设备100通过帧间预测执行编码时,编码的当前图像可被用作用于随后被处理的另一图像的参考图像。因此,编码设备100可对编码的当前图像进行重建或解码,或者将重建或解码的图像作为参考图像存储在参考画面缓冲器190中。
量化的等级可在反量化单元160中被反量化,或者可在逆变换单元170中被逆变换。可由加法器175将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加。通过将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加,可生成重建块。这里,经过反量化或逆变换的系数或经过反量化和逆变换两者的系数可表示执行了反量化和逆变换中的至少一个的系数,并且可表示重建残差块。
重建块可通过滤波器单元180。滤波器单元180可将去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)中的至少一个应用于重建样点、重建块或重建图像。滤波器单元180可被称为环内滤波器。
去块滤波器可去除在块之间的边界中生成的块失真。为了确定是否应用去块滤波器,可基于块中所包括的若干行或列中包括的样点来确定是否将去块滤波器应用于当前块。当将去块滤波器应用于块时,可根据所需的去块滤波强度来应用另一滤波器。
为了补偿编码误差,可通过使用样点自适应偏移将合适的偏移值与样点值相加。样点自适应偏移可以以样点为单位对经过去块的图像与原始图像的偏移进行校正。可使用考虑关于每个样点的边缘信息来应用偏移的方法,或者可使用以下方法:将图像的样点分区为预定数量的区域,确定偏移被应用的区域,并对确定的区域应用偏移。
自适应环路滤波器可基于经滤波的重建图像和原始图像的比较结果来执行滤波。可将包括在图像中的样点分区为预定组,可确定将被应用于每个组的滤波器,并且可对每个组执行差异化滤波。是否应用ALF的信息可通过编码单元(CU)被用信号发送,并且将被应用于每个块的ALF的形式和系数可变化。
已经通过滤波器单元180的重建块或重建图像可被存储在参考画面缓冲器190中。由滤波器单元180处理的重建块可以是参考图像的一部分。也就是说,参考图像是由滤波器单元180处理的重建块组成的重建图像。存储的参考图像可稍后在帧间预测或运动补偿中被使用。
图2是示出根据实施例并且应用了本发明的解码设备的配置的框图。
解码设备200可以是解码器、视频解码设备或图像解码设备。
参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波器单元260和参考画面缓冲器270。
解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读记录介质中的比特流,或者可接收通过有线/无线传输介质被流传输的比特流。解码设备200可通过使用帧内模式或帧间模式对比特流进行解码。此外,解码设备200可生成通过解码而生成的重建图像或解码图像,并输出重建图像或解码图像。
当在解码时使用的预测模式是帧内模式时,切换器可被切换到帧内。可选地,当在解码时使用的预测模式是帧间模式时,切换器可被切换到帧间模式。
解码设备200可通过对输入比特流进行解码来获得重建残差块,并生成预测块。当重建残差块和预测块被获得时,解码设备200可通过将重建残差块与预测块相加来生成成为解码目标的重建块。解码目标块可被称为当前块。
熵解码单元210可通过根据概率分布对比特流进行熵解码来生成符号。生成的符号可包括量化的等级形式的符号。这里,熵解码方法可以是上述熵编码方法的逆处理。
为了对变换系数等级(量化的等级)进行解码,熵解码单元210可通过使用变换系数扫描方法将单向矢量形式的系数改变为二维块形式。
可在反量化单元220中对量化的等级进行反量化,或者可在逆变换单元230中对量化的等级进行逆变换。量化的等级可以是进行反量化或逆变换或者进行反量化和逆变换两者的结果,并且可被生成为重建残差块。这里,反量化单元220可将量化矩阵应用于量化的等级。
当使用帧内模式时,帧内预测单元240可通过对当前块执行空间预测来生成预测块,其中,空间预测使用与解码目标块相邻并且已经被解码的块的样点值。
当使用帧间模式时,运动补偿单元250可通过对当前块执行运动补偿来生成预测块,其中,运动补偿使用运动矢量以及存储在参考画面缓冲器270中的参考图像。
加法器255可通过将重建残差块与预测块相加来生成重建块。滤波器单元260可将去块滤波器、样点自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建图像。滤波器单元260可输出重建图像。重建块或重建图像可被存储在参考画面缓冲器270中并且在执行帧间预测时被使用。由滤波器单元260处理的重建块可以是参考图像的一部分。也就是说,参考图像是由滤波器单元260处理的重建块组成的重建图像。存储的参考图像可稍后在帧间预测或运动补偿中被使用。
图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。图3示意性地示出将单个单元分区为多个下级单元的示例。
为了有效地对图像进行分区,当进行编码和解码时,可使用编码单元(CU)。编码单元可被用作当对图像进行编码/解码时的基本单元。此外,编码单元可被用作用于在对图像进行编码/解码时区分帧内预测模式与帧间预测模式的单元。编码单元可以是用于预测、变换、量化、逆变换、反量化、或对变换系数的编码/解码处理的基本单元。
参照图3,图像300按照最大编码单元(LCU)被顺序地分区,并且LCU单元被确定为分区结构。这里,LCU可以以与编码树单元(CTU)相同的含义被使用。单元分区可表示对与该单元相关联的块进行分区。在块分区信息中,可包括单元深度的信息。深度信息可表示单元被分区的次数或程度或者单元被分区的次数和程度两者。可基于树结构将单个单元分区为与深度信息分层地相关联的多个下级单元。换言之,单元和通过对该单元进行分区而生成的下级单元可分别与节点和该节点的子节点对应。分区出的下级单元中的每个可具有深度信息。深度信息可以是表示CU的尺寸的信息,并且可被存储在每个CU中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,下级单元的分区信息可包括关于下级单元的尺寸的信息。
分区结构可表示LCU 310内的编码单元(CU)的分布。可根据是否将单个CU分区为多个(包括2、4、8、16等的等于或大于2的正整数)CU来确定这样的分布。通过分区生成的CU的水平尺寸和垂直尺寸可分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可根据分区的次数而分别具有小于进行分区之前的水平尺寸和垂直尺寸的尺寸。CU可被递归地分区为多个CU。通过递归分区,与分区之前的CU的高度和宽度之中的至少一个相比,分区之后的CU的高度和宽度之中的至少一个可减小。可递归地执行CU的分区,直到预定义的深度或预定义的尺寸为止。例如,LCU的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的编码单元,并且SCU可以是具有最小编码单元尺寸的编码单元。分区从LCU 310开始,当CU的水平尺寸或垂直尺寸或者水平尺寸和垂直尺寸两者通过分区而减小时,CU深度增加1。例如,对于每个深度,未被分区的CU的尺寸可以是2N×2N。此外,在被分区的CU的情况下,可将尺寸为2N×2N的CU分区为尺寸为N×N的四个CU。随着深度增加1,N的大小可减半。
此外,可通过使用CU的分区信息来表示CU是否被分区的信息。分区信息可以是1比特信息。除SCU之外的所有CU可包括分区信息。例如,当分区信息的值为第一值时,CU可不被分区,当分区信息的值为第二值时,CU可被分区。
参照图3,具有深度0的LCU可以是64×64的块。0可以是最小深度。具有深度3的SCU可以是8×8的块。3可以是最大深度。32×32的块和16×16的块的CU可分别被表示为深度1和深度2。
例如,当单个编码单元被分区为四个编码单元时,分区出的四个编码单元的水平尺寸和垂直尺寸可以是CU在被分区之前的水平尺寸和垂直尺寸的一半大小。在一个实施例中,当尺寸为32×32的编码单元被分区为四个编码单元时,分区出的四个编码单元中的每个可具有16×16的尺寸。当单个编码单元被分区为四个编码单元时,可称编码单元可被分区为四叉树形式。
例如,当一个编码单元被分区为两个子编码单元时,该两个子编码单元中的每个子编码单元的水平尺寸或垂直尺寸(宽度或高度)可以是原始编码单元的水平尺寸或垂直尺寸的一半。例如,当尺寸为32×32的编码单元被垂直分区为两个子编码单元时,该两个子编码单元中的每个子编码单元可具有16×32的尺寸。例如,当尺寸为8×32的编码单元被水平分区为两个子编码单元时,该两个子编码单元中的每个子编码单元可具有8×16的尺寸。当一个编码单元被分区为两个子编码单元时,可称编码单元被二分区或者按照二叉树分区结构被分区。
例如,当一个编码单元被分区为三个子编码单元时,可以以1:2:1的比例对编码单元的水平尺寸或垂直尺寸进行分区,从而产生水平尺寸或垂直尺寸的比例为1:2:1的三个子编码单元。例如,当尺寸为16×32的编码单元被水平分区为三个子编码单元时,该三个子编码单元以从最上方子编码单元到最下方子编码单元的顺序可分别具有16×8、16×16和16×8的尺寸。例如,当尺寸为32×32的编码单元被垂直划分为三个子编码单元时,该三个子编码单元以从左侧子编码单元到右侧子编码单元的顺序可分别具有8×32、16×32和8×32的尺寸。当一个编码单元被分区为三个子编码单元时,可称编码单元被三分区或者按照三叉树分区结构被分区。
在图3中,编码树单元(CTU)320是四叉树分区结构、二叉树分区结构和三叉树分区结构全都被应用的CTU的示例。
如上所述,为了对CTU进行分区,可应用四叉树分区结构、二叉树分区结构和三叉树分区结构中的至少一个。可根据预定的优先级顺序将各种树分区结构顺序地应用于CTU。例如,可将四叉树分区结构优先应用于CTU。不能再使用四叉树分区结构进行分区的编码单元可与四叉树的叶节点对应。与四叉树的叶节点对应的编码单元可用作二叉树和/或三叉树分区结构的根节点。也就是说,与四叉树的叶节点对应的编码单元可按照二叉树分区结构或三叉树分区结构被进一步分区,或者可不被进一步分区。因此,通过防止从与四叉树的叶节点对应的编码单元的二叉树分区或三叉树分区得到的编码单元经历进一步的四叉树分区,块分区操作和/或用信号发送分区信息的操作可被有效执行。
可使用四分区信息用信号发送与四叉树的节点对应的编码单元被分区的事实。具有第一值(例如,“1”)的四分区信息可指示当前编码单元按照四叉树分区结构被分区。具有第二值(例如,“0”)的四分区信息可指示当前编码单元未按照四叉树分区结构被分区。四分区信息可以是具有预定长度(例如,一个比特)的标志。
在二叉树分区与三叉树分区之间可能没有优先级。也就是说,与四叉树的叶节点对应的编码单元可进一步经历二叉树分区和三叉树分区中的任意分区。此外,通过二叉树分区或三叉树分区生成的编码单元可经历进一步的二叉树分区或进一步的三叉树分区,或者可不被进一步分区。
在二叉树分区和三叉树分区之间不存在优先级的树结构被称为多类型树结构。与四叉树的叶节点对应的编码单元可用作多类型树的根节点。可使用多类型树分区指示信息、分区方向信息和分区树信息中的至少一个来用信号发送是否对与多类型树的节点对应的编码单元进行分区。为了对与多类型树的节点对应的编码单元进行分区,可顺序地用信号发送多类型树分区指示信息、分区方向信息和分区树信息。
具有第一值(例如,“1”)的多类型树分区指示信息可指示当前编码单元将经历多类型树分区。具有第二值(例如,“0”)的多类型树分区指示信息可指示当前编码单元将不经历多类型树分区。
当与多类型树的节点对应的编码单元按照多类型树分区结构被进一步分区时,所述编码单元可包括分区方向信息。分区方向信息可指示当前编码单元将在哪个方向上针对多类型树分区被分区。具有第一值(例如,“1”)的分区方向信息可指示当前编码单元将被垂直分区。具有第二值(例如,“0”)的分区方向信息可指示当前编码单元将被水平分区。
当与多类型树的节点对应的编码单元按照多类型树分区结构被进一步分区时,当前编码单元可包括分区树信息。分区树信息可指示将被用于对多类型树的节点进行分区的树分区结构。具有第一值(例如,“1”)的分区树信息可指示当前编码单元将按照二叉树分区结构被分区。具有第二值(例如,“0”)的分区树信息可指示当前编码单元将按照三叉树分区结构被分区。
所述分区指示信息、分区树信息和分区方向信息均可以是具有预定长度(例如,一个比特)的标志。
四叉树分区指示信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个可被熵编码/熵解码。为了对那些类型的信息进行熵编码/熵解码,可使用关于与当前编码单元相邻的邻近编码单元的信息。例如,当前编码单元的左侧邻近编码单元和/或上方邻近编码单元的分区类型(被分区或不被分区、分区树和/或分区方向)与当前编码单元的分区类型相似的可能性很高。因此,可从关于邻近编码单元的信息推导用于对关于当前编码单元的信息进行熵编码/熵解码的上下文信息。关于邻近编码单元的信息可包括四分区信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个。
作为另一示例,在二叉树分区和三叉树分区中,可优先执行二叉树分区。也就是说,当前编码单元可首先经历二叉树分区,并且随后可将与二叉树的叶节点对应的编码单元设置为用于三叉树分区的根节点。在这种情况下,对于与三叉树的节点对应的编码单元,可既不执行四叉树分区也不执行二叉树分区。
不能按照四叉树分区结构、二叉树分区结构和/或三叉树分区结构被分区的编码单元成为用于编码、预测和/或变换的基本单元。也就是说,所述编码单元不能被进一步分区以用于预测和/或变换。因此,在比特流中可能不存在用于将编码单元分区为预测单元和/或变换单元的分区结构信息和分区信息。
然而,当编码单元(即,用于分区的基本单元)的尺寸大于最大变换块的尺寸时,可递归地对编码单元进行分区,直到将编码单元的尺寸减小到等于或小于最大变换块的尺寸为止。例如,当编码单元的尺寸为64×64时并且当最大变换块的尺寸为32×32时,可将编码单元分区为用于变换的四个32×32的块。例如,当编码单元的尺寸为32×64并且最大变换块的尺寸为32×32时,可将编码单元分区为用于变换的两个32×32的块。在这种情况下,不单独用信号发送编码单元的针对变换的分区,并且可通过编码单元的水平尺寸或垂直尺寸与最大变换块的水平尺寸或垂直尺寸之间的比较来确定编码单元的针对变换的分区。例如,当编码单元的水平尺寸(宽度)大于最大变换块的水平尺寸(宽度)时,可将编码单元垂直地二等分。例如,当编码单元的垂直尺寸(高度)大于最大变换块的垂直尺寸(高度)时,可将编码单元水平地二等分。
编码单元的最大和/或最小尺寸的信息以及变换块的最大和/或最小尺寸的信息可在编码单元的上级被用信号发送或确定。所述上级可以是例如序列级、画面级、条带级、并行块组级、并行块级等。例如,编码单元的最小尺寸可被确定为4×4。例如,变换块的最大尺寸可被确定为64×64。例如,变换块的最小尺寸可被确定为4×4。
与四叉树的叶节点对应的编码单元的最小尺寸(四叉树最小尺寸)的信息和/或从多类型树的根节点到叶节点的最大深度(多类型树的最大树深度)的信息可在编码单元的上级被用信号发送或被确定。例如,所述上级可以是序列级、画面级、条带级、并行块组级、并行块级等。可针对画面内条带和画面间条带中的每一个用信号发送或确定四叉树的最小尺寸的信息和/或多类型树的最大深度的信息。
可在编码单元的上级用信号发送或确定CTU的尺寸与变换块的最大尺寸之间的差信息。例如,所述上级可以是序列级、画面级、条带级、并行块组级、并行块级等。可基于编码树单元的尺寸和所述差信息来确定与二叉树的各个节点对应的编码单元的最大尺寸(在下文中,称为二叉树的最大尺寸)的信息。与三叉树的各个节点对应的编码单元的最大尺寸(在下文中,称为三叉树的最大尺寸)可根据条带的类型而变化。例如,针对画面内条带,三叉树的最大尺寸可以是32×32。例如,针对画面间条带,三叉树的最大尺寸可以是128×128。例如,与二叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为二叉树的最小尺寸)和/或与三叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为三叉树的最小尺寸)可被设置为编码块的最小尺寸。
作为另一示例,可在条带级用信号发送或确定二叉树的最大尺寸和/或三叉树的最大尺寸。可选地,可在条带级用信号发送或确定二叉树的最小尺寸和/或三叉树的最小尺寸。
根据上述各种块的尺寸和深度信息,四分区信息、多类型树分区指示信息、分区树信息和/或分区方向信息可被包括或可不被包括在比特流中。
例如,当编码单元的尺寸不大于四叉树的最小尺寸时,编码单元不包括四分区信息。四分区信息可被推断为第二值。
例如,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)大于二叉树的最大尺寸(水平尺寸和垂直尺寸)和/或三叉树的最大尺寸(水平尺寸和垂直尺寸)时,编码单元可不被二分区或三分区。因此,可不用信号发送多类型树分区指示信息,但多类型树分区指示信息可被推断为第二值。
可选地,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)与二叉树的最大尺寸(水平尺寸和垂直尺寸)相同和/或是三叉树的最大尺寸(水平尺寸和垂直尺寸)的两倍大时,编码单元可不被进一步二分区或三分区。因此,可不用信号发送多类型树分区指示信息,但多类型树分区指示信息可被推断为第二值。这是因为当按照二叉树分区结构和/或三叉树分区结构对编码单元进行分区时,小于二叉树的最小尺寸和/或三叉树的最小尺寸的编码单元被生成。
可选地,可基于虚拟流水线数据单元的尺寸(在下文中,流水线缓冲器尺寸)来限制二叉树分区或三叉树分区。例如,当通过二叉树分区或三叉树分区将编码单元划分为不适合流水线缓冲器尺寸的子编码单元时,对应的二叉树分区或三叉树分区可能受到限制。流水线缓冲器尺寸可以是最大变换块的尺寸(例如,64×64)。例如,当流水线缓冲器尺寸是64×64时,可限制下面的划分。
-用于编码单元的N×M(N和/或M是128)三叉树分区
-用于编码单元的水平方向的128×N(N<=64)二叉树分区
-用于编码单元的垂直方向的N×128(N<=64)二叉树分区
可选地,当与多类型树的节点对应的编码单元的深度等于多类型树的最大深度时,编码单元可不被进一步二分区和/或三分区。因此,可不用信号发送多类型树分区指示信息,但多类型树分区指示信息可被推断为第二值。
可选地,仅当垂直方向二叉树分区、水平方向二叉树分区、垂直方向三叉树分区和水平方向三叉树分区中的至少一个对于与多类型树的节点对应的编码单元是可能的时,可用信号发送多类型树分区指示信息。否则,编码单元可不被二分区和/或三分区。因此,可不用信号发送多类型树分区指示信息,但多类型树分区指示信息可被推断为第二值。
可选地,仅当垂直方向二叉树分区和水平方向二叉树分区两者或垂直方向三叉树分区和水平方向三叉树分区两者对于与多类型树的节点对应的编码单元是可能的时,可用信号发送分区方向信息。否则,可不用信号发送分区方向信息,但是分区方向信息可被推断为指示可能的分区方向的值。
可选地,仅当垂直方向二叉树分区和垂直方向三叉树分区两者或水平方向二叉树分区和水平方向三叉树分区两者对于与多类型树的节点对应的编码树是可能的时,可用信号发送分区树信息。否则,可不用信号发送分区树信息,但是分区树信息可被推断为指示可能的分区树结构的值。
图4是示出帧内预测处理的示图。
图4中从中心到外部的箭头可表示帧内预测模式的预测方向。
可通过使用当前块的邻近块的参考样点来执行帧内编码和/或解码。邻近块可以是重建邻近块。例如,可通过使用包括在重建邻近块中的参考样点的值或编码参数来执行帧内编码和/或解码。
预测块可表示通过执行帧内预测而生成的块。预测块可与CU、PU和TU中的至少一个对应。预测块的单元可具有CU、PU和TU中的一个的尺寸。预测块可以是尺寸为2×2、4×4、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等。可选地,帧内预测模式的数量可根据块尺寸或颜色分量类型或者块尺寸和颜色分量类型两者而变化。例如,帧内预测模式的数量可根据颜色分量是亮度信号还是色度信号而变化。例如,随着块尺寸变大,帧内预测模式的数量可增加。可选地,亮度分量块的帧内预测模式的数量可大于色度分量块的帧内预测模式的数量。
帧内预测模式可以是非角度模式或角度模式。非角度模式可以是DC模式或平面模式,并且角度模式可以是具有特定方向或角度的预测模式。帧内预测模式可由模式编号、模式值、模式数字、模式角度和模式方向中的至少一个来表示。帧内预测模式的数量可以是大于1的M,包括非角度模式和角度模式。为了对当前块进行帧内预测,可执行确定是否可将包括在重建邻近块中的样点用作当前块的参考样点的步骤。当存在不能用作当前块的参考样点的样点时,通过对包括在重建邻近块中的样点中的至少一个样点值进行复制或执行插值或者进行复制和插值两者而获得的值可被用于替换样点的不可用样点值,因此替换后的样点值被用作当前块的参考样点。
图7是示出能够用于帧内预测的参考样点的示图。
如图7中所示,参考样点线0至参考样点线3中的至少一个可用于当前块的帧内预测。在图7中,片段A和片段F的样点可分别利用最接近片段B和片段E的样点被填充,而不是从重建邻近块进行检索。可用信号发送指示将被用于当前块的帧内预测的参考样点线的索引信息。例如,在图7中,参考样点线指示符0、1和2可作为指示参考样点线0、参考样点线1和参考样点线2的索引信息而被用信号发送。在当前块的上方边界是CTU的边界时,仅参考样点线0可以是可用的。因此,在这种情况下,可不用信号发送索引信息。当除了参考样点线0之外的参考样点线被使用时,可不执行稍后将描述的针对预测块的滤波。
当进行帧内预测时,可基于帧内预测模式和当前块尺寸将滤波器应用于参考样点和预测样点中的至少一个。
在平面模式的情况下,当生成当前块的预测块时,根据预测目标样点在预测块内的位置,可通过使用当前样点的上方参考样点与左侧参考样点以及当前块的右上方参考样点与左下方参考样点的加权和来生成预测目标样点的样点值。此外,在DC模式的情况下,当生成当前块的预测块时,可使用当前块的上方参考样点与左侧参考样点的平均值。此外,在角度模式的情况下,可通过使用当前块的上方参考样点、左侧参考样点、右上方参考样点和/或左下方参考样点来生成预测块。为了生成预测样点值,可执行实数单元的插值。
在颜色分量之间的帧内预测的情况下,可基于第一颜色分量的对应重建块来生成第二颜色分量的当前块的预测块。例如,第一颜色分量可以是亮度分量,并且第二颜色分量可以是色度分量。对于颜色分量之间的帧内预测,可基于模板推导第一颜色分量与第二颜色分量之间的线性模型的参数。模板可包括当前块的上方和/或左侧邻近样点以及与其对应的第一颜色分量的重建块的上方和/或左侧邻近样点。例如,可使用模板中的样点中具有最大值的第一颜色分量的样点值及与其对应的第二颜色分量的样点值,以及模板中的样点中具有最小值的第一颜色分量的样点值及与其对应的第二颜色分量的样点值来推导线性模型的参数。当推导线性模型的参数时,可将对应重建块应用于线性模型以生成当前块的预测块。根据视频格式,可对第一颜色分量的重建块的邻近样点和对应重建块执行子采样。例如,当第二颜色分量的一个样点与第一颜色分量的四个样点对应时,可对第一颜色分量的四个样点进行子采样以计算一个对应样点。在这种情况下,可基于对应的被子采样的样点执行线性模型的参数推导和颜色分量之间的帧内预测。是否执行颜色分量之间的帧内预测以及/或者模板的范围可作为帧内预测模式被用信号发送。
当前块可在水平方向或垂直方向上被分区为两个子块或四个子块。可顺序地重建被分区的子块。也就是说,可对子块执行帧内预测以生成子预测块。此外,可对子块执行反量化和/或逆变换以生成子残差块。可通过将子预测块与子残差块相加来生成重建子块。重建子块可用作后续子块的帧内预测的参考样点。子块可以是包括预定数量(例如,16)或更多个样点的块。因此,例如,在当前块是8×4的块或4×8的块时,当前块可被分区为两个子块。此外,在当前块是4×4的块时,当前块可不被分区为子块。在当前块具有其它尺寸时,当前块可被分区为四个子块。可用信号发送关于是否基于子块和/或分区方向(水平或垂直)执行帧内预测的信息。可限于仅在使用参考样点线0时执行基于子块的帧内预测。当执行基于子块的帧内预测时,可不执行稍后将描述的针对预测块的滤波。
可通过对被帧内预测的预测块执行滤波来生成最终预测块。可通过将预定权重应用于滤波目标样点、左侧参考样点、上方参考样点和/或左上方参考样点来执行滤波。可基于块尺寸、帧内预测模式和预测块中的滤波目标样点的位置中的至少一个来确定用于滤波的权重和/或参考样点(范围、位置等)。可仅在预定帧内预测模式(例如,DC、平面、垂直、水平、对角线和/或相邻对角线模式)的情况下执行滤波。相邻对角线模式可以是对对角线模式加上k或从对角线模式减去k的模式。例如,k可以是8或更小的正整数。
可通过预测与当前块相邻存在的块的帧内预测模式来对当前块的帧内预测模式进行熵编码/熵解码。在当前块与邻近块的帧内预测模式相同时,可通过使用预定标志信息来用信号发送当前块与邻近块的帧内预测模式相同的信息。此外,可用信号发送多个邻近块的帧内预测模式之中的与当前块的帧内预测模式相同的帧内预测模式的指示符信息。在当前块与邻近块的帧内预测模式不同时,可通过基于邻近块的帧内预测模式执行熵编码/熵解码来对当前块的帧内预测模式信息进行熵编码/熵解码。
图5是示出画面间预测处理的实施例的示图。
在图5中,矩形可表示画面。在图5中,箭头表示预测方向。根据画面的编码类型,可将画面分类为帧内画面(I画面)、预测画面(P画面)和双预测画面(B画面)。
可在不需要画面间预测的情况下通过帧内预测对I画面进行编码。可通过使用在相对于当前块的一个方向(即,前向或后向)上存在的参考画面,通过画面间预测来对P画面进行编码。可通过使用在相对于当前块的两个方向(即,前向和后向)上存在的参考画面,通过画面间预测来对B画面进行编码。当使用画面间预测时,编码器可执行画面间预测或运动补偿,并且解码器可执行对应运动补偿。
在下文中,将详细描述画面间预测的实施例。
可使用参考画面和运动信息来执行画面间预测或运动补偿。
可通过编码设备100和解码设备200中的每一个在画面间预测期间推导当前块的运动信息。可通过使用重建邻近块的运动信息、同位置块(也称为col块或同位块)的运动信息和/或与同位块相邻的块的运动信息来推导当前块的运动信息。同位块可表示先前重建的同位置画面(也称为col画面或同位画面)内的在空间上与当前块位于相同位置的块。同位画面可以是包括在参考画面列表中的一个或更多个参考画面中的一个画面。
运动信息的推导方法可根据当前块的预测模式而不同。例如,应用于帧间预测的预测模式包括AMVP模式、合并模式、跳过模式、具有运动矢量差的合并模式、子块合并模式、几何分区模式、组合帧间-帧内预测模式、仿射模式等。这里,合并模式可被称为运动合并模式。
例如,当AMVP被用作预测模式时,可将重建邻近块的运动矢量、同位块的运动矢量、与同位块相邻的块的运动矢量和(0,0)运动矢量中的至少一个确定为针对当前块的运动矢量候选,并且通过使用运动矢量候选生成运动矢量候选列表。可通过使用生成的运动矢量候选列表来推导当前块的运动矢量候选。可基于推导的运动矢量候选来确定当前块的运动信息。同位置块的运动矢量或与同位置块相邻的块的运动矢量可被称为时间运动矢量候选,并且重建邻近块的运动矢量可被称为空间运动矢量候选。
编码设备100可计算当前块的运动矢量与运动矢量候选之间的运动矢量差(MVD),并且可对运动矢量差(MVD)执行熵编码。此外,编码设备100可对运动矢量候选索引执行熵编码并生成比特流。运动矢量候选索引可指示包括在运动矢量候选列表中的运动矢量候选之中的最佳运动矢量候选。解码设备可对包括在比特流中的运动矢量候选索引执行熵解码,并且可通过使用经过熵解码的运动矢量候选索引从包括在运动矢量候选列表中的运动矢量候选中选择解码目标块的运动矢量候选。此外,解码设备200可将经过熵解码的MVD与通过熵解码而提取的运动矢量候选相加,从而推导解码目标块的运动矢量。
另外,编码设备100可对计算出的MVD的分辨率信息执行熵编码。解码设备200可使用MVD分辨率信息来调整被熵解码的MVD的分辨率。
另外,编码设备100基于仿射模型计算当前块中的运动矢量和运动矢量候选之间的运动矢量差(MVD),并对MVD执行熵编码。解码设备200通过根据被熵解码的MVD和仿射控制运动矢量候选的总和推导解码目标块的仿射控制运动矢量来基于每个子块推导运动矢量。
比特流可包括指示参考画面的参考画面索引。参考画面索引可通过编码设备100被熵编码,并且随后作为比特流被用信号发送到解码设备200。解码设备200可基于推导出的运动矢量和参考画面索引信息来生成解码目标块的预测块。
推导当前块的运动信息的方法的另一示例可以是合并模式。合并模式可表示合并多个块的运动的方法。合并模式可表示从邻近块的运动信息推导当前块的运动信息的模式。当应用合并模式时,可使用重建邻近块的运动信息和/或同位置块的运动信息来生成合并候选列表。运动信息可包括运动矢量、参考画面索引和画面间预测指示符中的至少一个。所述预测指示符可指示单向预测(L0预测或L1预测)或双向预测(L0预测和L1预测)。
合并候选列表可以是存储的运动信息的列表。包括在合并候选列表中的运动信息可以是以下至少一个:与当前块相邻的邻近块的运动信息(空间合并候选)、当前块的在参考画面中的同位置块的运动信息(时间合并候选)、通过合并候选列表中存在的运动信息的组合而生成的新运动信息、在当前块之前被编码/解码的块的运动信息(基于历史的合并候选)、以及零合并候选。
编码设备100可通过对合并标志和合并索引中的至少一个执行熵编码来生成比特流,并且可将比特流用信号发送到解码设备200。合并标志可以是指示是否针对每个块执行合并模式的信息,并且合并索引可以是指示当前块的邻近块中的哪个邻近块是合并目标块的信息。例如,当前块的邻近块可包括位于当前块的左侧的左侧邻近块、被布置在当前块上方的上方邻近块和在时间上与当前块相邻的时间邻近块。
另外,编码设备100对合并候选的运动信息中的用于校正运动矢量的校正信息执行熵编码,并将其用信号发送到解码设备200。解码设备200可基于校正信息校正由合并索引选择的合并候选的运动矢量。这里,校正信息可包括关于是否执行校正的信息、校正方向信息和校正尺寸信息中的至少一个。如上所述,基于用信号发送的校正信息对合并候选的运动矢量进行校正的预测模式可被称为具有运动矢量差的合并模式。
跳过模式可以是将邻近块的运动信息照原样应用于当前块的模式。当应用跳过模式时,编码设备100可对哪个块的运动信息将被用作当前块的运动信息的事实的信息执行熵编码,以生成比特流,并且可将比特流用信号发送到解码设备200。编码设备100可不将关于运动矢量差信息、编码块标志和变换系数等级中的至少任意一个的语法元素用信号发送到解码设备200。
子块合并模式可表示以编码块(CU)的子块为单位推导运动信息的模式。当应用子块合并模式时,可使用参考图像中的与当前子块同位置的子块的运动信息(基于子块的时间合并候选)和/或仿射控制点运动矢量合并候选来生成子块合并候选列表。
几何分区模式可表示这样的模式:通过按预定方向对当前块进行分区来推导运动信息,使用推导出的运动信息中的每一个来推导每个预测样点,并且通过对推导出的预测样点中的每一个进行加权来推导当前块的预测样点。
帧间-帧内组合预测模式可表示通过对由帧间预测生成的预测样点和由帧内预测生成的预测样点进行加权来推导当前块的预测样点的模式。
解码设备200可自行校正推导的运动信息。解码设备200可基于由推导的运动信息指示的参考块搜索预定区域,并推导具有最小SAD的运动信息作为经过校正的运动信息。
解码设备200可使用光流对经由帧间预测推导的预测样点进行补偿。
图6是示出变换和量化处理的示图。
如图6中所示,对残差信号执行变换处理和/或量化处理,以生成量化的等级信号。残差信号是原始块与预测块(即,帧内预测块或帧间预测块)之间的差。预测块是通过帧内预测或帧间预测生成的块。所述变换可以是初级变换、次级变换或者初级变换和次级变换两者。对残差信号的初级变换生成变换系数,并且对变换系数的次级变换生成次级变换系数。
从预先定义的各种变换方案中选择的至少一种方案被用于执行初级变换。例如,所述预定义的变换方案的示例包括离散余弦变换(DCT)、离散正弦变换(DST)和Karhunen-Loève变换(KLT)。通过初级变换生成的变换系数可经历次级变换。可根据当前块和/或当前块的邻近块的编码参数来确定用于初级变换和/或次级变换的变换方案。可选地,可用信号发送指示变换方案的变换信息。基于DCT的变换可包括例如DCT-2、DCT-8等。基于DST的变换可包括例如DST-7。
可通过对残差信号或对执行初级变换和/或次级变换的结果执行量化来生成量化的等级信号(量化系数)。根据块的帧内预测模式或块尺寸/形状,可根据对角线右上扫描、垂直扫描和水平扫描中的至少一个来扫描量化的等级信号。例如,当按照对角线右上扫描来扫描系数时,块形式的系数改变为一维矢量形式。除了对角线右上扫描之外,根据帧内预测模式和/或变换块的尺寸,可使用水平地扫描二维块形式的系数的水平扫描或垂直地扫描二维块形式的系数的垂直扫描。扫描的量化的等级系数可被熵编码以插入比特流中。
解码器对比特流进行熵解码以获得量化的等级系数。量化的等级系数可通过逆扫描以二维块形式被布置。对于逆扫描,可使用对角线右上扫描、垂直扫描和水平扫描中的至少一个。
量化的等级系数随后可被反量化,然后根据需要被次级逆变换,最后根据需要被初级逆变换,以生成重建残差信号。
可在环内滤波之前针对通过帧内预测或帧间预测重建的亮度分量执行动态范围中的逆映射。动态范围可被划分为16个相等的段,并且可用信号发送针对每个段的映射函数。可在条带级或并行块组级用信号发送映射函数。可基于映射函数推导用于执行逆映射的逆映射函数。在逆映射区域中执行环内滤波、参考画面存储和运动补偿,并且通过帧间预测生成的预测块经由使用映射函数的映射被转换到映射区域,然后被用于生成重建块。然而,由于在映射区域中执行帧内预测,因此经由帧内预测生成的预测块可被用于生成重建块而无需映射/逆映射。
在当前块是色度分量的残差块时,可通过对映射区域的色度分量执行缩放来将残差块转换到逆映射区域。可在条带级或并行块组级用信号发送缩放的可用性。只有当针对亮度分量的映射可用并且亮度分量的划分和色度分量的划分遵循相同的树结构时,才可应用缩放。可基于与色差块对应的亮度预测块的样点值的平均值来执行缩放。在这种情况下,在当前块使用帧间预测时,亮度预测块可表示映射的亮度预测块。可通过使用亮度预测块的样点值的平均值所属的片段的索引参考查找表来推导缩放所需的值。最后,通过使用推导的值对残差块进行缩放,可将残差块转换到逆映射区域。然后,可在逆映射区域中执行色度分量块恢复、帧内预测、帧间预测、环内滤波和参考画面存储。
可通过序列参数集用信号发送指示亮度分量和色度分量的映射/逆映射是否可用的信息。
可基于指示当前画面中的当前块与参考块之间的位移的块矢量来生成当前块的预测块。以这种方式,用于参考当前画面生成预测块的预测模式被称为帧内块复制(IBC)模式。IBC模式可被应用于M×N(M<=64,N<=64)编码单元。IBC模式可包括跳过模式、合并模式、AMVP模式等。在跳过模式或合并模式的情况下,构建合并候选列表,并且用信号发送合并索引,使得可指定一个合并候选。指定的合并候选的块矢量可用作当前块的块矢量。合并候选列表可包括空间候选、基于历史的候选、基于两个候选的平均值的候选和零合并候选中的至少一个。在AMVP模式的情况下,可用信号发送差块矢量。此外,可从当前块的左侧邻近块和上方邻近块推导预测块矢量。可用信号发送将使用的邻近块的索引。IBC模式中的预测块被包括在当前CTU或左侧CTU中并且被限于已经重建的区域中的块。例如,可限制块矢量的值,使得当前块的预测块按照编码/解码顺序位于当前块所属的64×64的块之前的三个64×64的块的区域中。通过以这种方式限制块矢量的值,可减少根据IBC模式实施方案的存储器消耗和装置复杂度。
图8a是示出根据本发明的实施例的图像编码方法的流程图,图8b是示出根据本发明的实施例的图像解码方法的流程图。
在下文中,将描述本公开的编码/解码方法。
可使用帧内预测、帧间预测或帧内块复制预测方法中的至少一种来对单个画面进行编码。
当亮度分量和色度分量具有独立块分区结构(即,双树结构)时或者当亮度分量和色度分量具有相同块分区结构(即,单树结构)时,可使用基于帧内块复制预测的编码/解码方法。
帧内块复制预测方法可表示使用推导出的块矢量从同一画面(即,帧内)中的编码/解码区域推导预测块的方法。
当使用帧内块复制预测方法对当前将被编码/解码的块(即,当前块)进行编码/解码并且推导出的块矢量是(x,y)时,与当前块具有相同尺寸的在水平方向上与当前块相隔x个像素(即,如果x是正整数,则在水平方向上向右x个像素,并且如果x是负整数,则在水平方向上向左-x个像素)且在垂直方向上与当前块相隔y个像素(即,如果y是正整数,则在垂直方向上向下y个像素,并且如果y是负整数,则在垂直方向上向上-y个像素)的块可被用作当前块的预测块。例如,图9是示出根据本发明的实施例的当前块与预测块之间的关系的示图。参照图9,当x和y是负整数并且当前块的左上样点位置是(x0,y0)时,当前块的预测块的左上样点位置是(x0+x,y0+y)。
如果当前亮度分量块使用帧内块复制预测,则可使用以下方法中的一种方法来对该块进行编码/解码。
从在当前块之前被编码/解码的块的块矢量推导当前块的块矢量的基于帧内块复制的跳过模式,与帧内预测方法中的跳过模式相似,并且不存在残差信号。
从在当前块之前被编码/解码的块的块矢量推导当前块的块矢量的基于帧内块复制的合并模式,与帧间预测方法中的合并模式相似,并且存在残差信号。
对块矢量进行编码的基于帧内块复制的AMVP模式与帧间预测方法的AMVP模式相似。
根据实施例,可在解码器中如下推导当前亮度分量块的编码模式。
以下描述的编码信息中的至少一个可被用于确定当前亮度分量块的编码模式,并且编码信息中的至少一个编码信息可被包括在比特流中并在比特流中被发送。
编码信息可包括指示亮度分量块处于跳过模式的信息(例如,跳过模式标识符、标志、索引、skip_flag、cu_skip_flag等)。
当指示跳过模式的信息具有特定值时,这指示亮度分量块处于跳过模式。例如,如果标识符、标志或索引具有作为第一值的1,则这指示亮度分量块处于跳过模式,并且如果标识符、标志或索引具有作为第二值的0,则这指示亮度分量块不处于跳过模式。
编码信息可包括亮度分量块的预测模式信息(例如,索引、标识符、标志等)。预测模式信息可包括帧内预测模式、帧间预测模式、帧内块复制。
例如,指示具有第一值0的预测模式信息的语法指示帧内预测模式被应用,具有第二值1的所述语法指示帧间预测模式被应用,并且具有第三值2的所述语法指示帧内块复制预测模式被应用。
此外,例如,第一预测模式信息(例如,索引、标志、标识符、pred_mode_flag等)可指示帧内预测模式。具有第一值1的第一预测模式信息指示帧内预测模式被应用,并且具有第二值0的第一预测模式信息指示帧内预测模式未被应用。如果帧内预测模式未被应用,则可接收第二预测模式信息(例如,索引、标志、标识符、pred_mode_ibc_flag等)以指示是帧间预测模式还是帧内块复制预测被应用。具有第一值1的第二预测模式信息可指示帧内块复制预测模式被应用,并且具有第二值0的第二预测模式信息可指示帧间预测模式被应用。
编码信息可包括指示亮度分量块处于合并模式的信息(例如,合并模式标识符、标志、索引、merge_flag等)。
当当前亮度分量块不处于跳过模式而是处于帧内块复制模式时,具有特定模式的合并模式可指示合并模式。例如,具有第一值1的标识符、标志或索引可指示合并模式被应用,并且具有第二值0的标识符、标志或索引可指示合并模式未被应用。
可如下使用编码信息来确定当前亮度分量块的编码模式。
例如,当亮度分量块处于跳过模式并且并行块组、条带或并行块属于类型I时,可不接收预测模式信息并且可将该块确定为基于帧内块复制的跳过模式。例如,在并行块组、条带或并行块为类型I时可用的预测模式包括帧内预测模式和帧内块复制预测模式,并且跳过模式在帧内预测模式下不存在。因此,当亮度分量块处于跳过模式并且对应并行块组、条带或并行块为类型I时,可将对应块确定为基于帧内块复制的跳过模式。
此外,例如,当亮度分量块处于跳过模式并且并行块组、条带或并行块不属于类型I时,可接收预测模式信息。此时,在基于预测模式信息确定亮度分量块处于帧内块复制预测模式时,可确定亮度块处于基于帧内块复制的跳过模式。
此外,例如,当亮度分量块不处于跳过模式并且基于预测模式信息确定亮度分量块处于帧内块复制预测模式时,可接收指示合并模式的信息。可选地,例如,当亮度分量块不处于跳过模式时,可接收指示合并模式的信息。此时,当指示合并模式的信息指示亮度分量块处于合并模式时,可确定亮度分量块处于基于帧内块复制的合并模式。
此外,例如,当亮度分量块不处于跳过模式且不处于合并模式而处于帧内块复制预测模式时,可确定亮度分量块处于帧内块复制AMVP模式。例如,可基于指示合并模式的信息来确定针对亮度分量块的预测模式是处于基于帧内块复制的合并模式还是基于帧内块复制的AMVP模式。这里,指示合并模式的信息可指示当前块的帧间预测编码参数是否是从与当前块相邻的邻近块的帧间预测编码参数推导出的。
在解码器中,可如下推导当前亮度分量块或当前色度分量块的编码模式。
当亮度分量和色度分量具有相同的块分区结构(即,单树结构)时,可如下所述确定编码模式。
例如,色度分量块的预测模式(例如,帧内预测、帧间预测或帧内块复制预测)可等于与该色度分量块对应的亮度分量块的预测模式。
此外,例如,当对应亮度分量块处于基于帧内块复制的跳过模式时,在色度分量块中残差信号可不被编码/解码和发送。此时,可不在比特流中发送指示残差信号未被发送的信息(例如,cu_cbf、tu_cbf等)。
此外,例如,当亮度分量和色度分量具有相同块分区结构并且当前色度分量块处于帧内块复制预测模式时(或者当与当前色度分量块对应的亮度分量块处于帧内块复制预测模式中时),可从与当前色度分量块对应的亮度分量块的编码/解码信息推导对当前色度分量块进行编码/解码所需的信息。
当亮度分量和色度分量具有独立块分区结构(即,双树结构)时,可从包括在比特流中且在比特流中被发送的色度分量块的预测模式信息确定色度分量块的预测模式。色度分量块的预测模式可包括如亮度分量块的预测模式中的帧内预测模式、帧间预测模式、帧内块复制预测模式等。
例如,具有第一值0的指示预测模式信息的语法可指示帧内预测模式,具有第二值1的所述语法可指示帧间预测模式,并且具有第三值2的所述语法可指示帧内块复制预测模式。
此外,例如,第一预测模式信息(例如,索引、标志、标识符、pred_mode_flag等)可指示色度分量块的预测模式是帧内预测模式还是帧间预测模式。具有第一值1的第一预测模式信息可指示帧内预测模式,并且具有第二值0的第一预测模式信息可指示帧间预测模式。此外,可发送或推导第二预测模式信息(例如,索引、标志、标识符、pred_mode_ibc_flag等),具有第一值1的第二预测模式信息可指示帧内块复制模式被应用,且具有第二值0的第二预测模式信息可指示色度分量块的预测模式被确定为在第一预测模式信息中确定的帧内预测模式或帧间预测模式。
此外,例如,第二预测模式信息(例如,索引、标志、标识符、pred_mode_ibc_flag等)可被发送或推导,具有第一值1的第二预测模式信息可指示帧内块复制模式,并且具有第二值0的第二预测模式信息可指示帧内预测模式。
当亮度分量和色度分量具有独立块分区结构并且当前色度分量块处于帧内块复制预测模式时,可从与当前色度分量块对应的亮度分量块的编码/解码信息推导对当前色度分量块进行编码/解码所需的信息(例如,块矢量等)。
在下文中,将描述推导用于帧内块复制预测的块矢量的步骤。
推导用于帧内块复制预测的块矢量的步骤可包括推导亮度分量块的块矢量的步骤和推导色度分量块的块矢量的步骤中的至少一个。
在下文中,将描述推导亮度分量块的块矢量的步骤。
根据实施例,下面将描述当当前块是亮度分量块并且在基于帧内块复制的跳过模式或基于帧内块复制的合并模式下被编码时推导块矢量的方法。
为了推导亮度分量块的块矢量,可从在当前块之前被编码/解码的亮度分量块的块矢量候选构建块矢量候选列表,并且构建的块矢量候选列表中的候选之一可被用作当前块的块矢量。此时,可基于在比特流中发送的编码参数来推导或编码/解码用于标识块矢量候选列表中的候选的信息(例如,标识符、索引、标志、merge_idx等)。
块矢量候选列表可由最多N个候选组成。此时,N可以是包括0的正整数。此外,下面描述的一个或更多个候选可被包括在块矢量候选列表中。
图10是示出根据本发明的实施例的与当前块相邻的邻近块的示图。参照图10,可从与当前块X的上端相邻的块B1、与当前块的左侧相邻的块A1、位于当前块的右上角的块B0、位于当前块的左上角的块B2或位于当前块的左下角的块A0中的至少一个块推导块矢量,并且推导出的块矢量可被确定为当前块的块矢量候选。
例如,如果在所有块A1、B1、B0和A0中存在块矢量,则位于当前块的左上角的块B2可不被用作块矢量候选。
此外,例如,可确定块矢量是否存在于根据预定优先级顺序的块A0、A1、B0、B1和B2中的每一个中(即,是否使用帧内块复制预测方法对该块进行编码/解码),并且如果存在块矢量,则该块的块矢量可被确定为矢量候选。此时,块矢量候选列表的预定优先级顺序可以是A1、B1、B0、A0和B2。
可通过预定优先级顺序构建块矢量候选列表,并且可执行块矢量候选列表中存在的块矢量候选与新添加的块矢量候选之间的冗余校验。
例如,当按照A1、B1、B0、A0和B2的顺序构建块矢量候选列表时,可执行块B1与块A1之间的冗余校验,并且可执行块B0与块B1之间的冗余校验。此外,可执行块A0与块A1之间的冗余校验,并且可执行块B2与块A1和块B1之间的冗余校验。仅当块矢量存在于块中时,可执行冗余校验。
此外,例如,可在将被添加的块矢量与块矢量候选列表中存在的所有块矢量之间执行冗余校验。
当块矢量存在于块A0、A1、B0、B1和B2中的至少一个块中时,可确定该块的块矢量在当前块中是否可用,并且如果可用,邻近块的块矢量可被确定为块矢量候选。如果不可用,则邻近块的块矢量可不被用作块矢量候选。此时,可根据由块矢量指示的位置处的参考样点(块)是否可用来确定块矢量是否可用。
在当前块之前被编码/解码的块的块矢量可被存储在缓冲器中,并且存储在缓冲器中的块矢量中的至少一个块矢量可被确定为块矢量候选。此时,可按照编码/解码的顺序将帧内块矢量存储在具有特定尺寸的缓冲器中,并且如果缓冲器已满,则可删除首先存储的块矢量并且可存储新的(即,新近被编码/解码的)块矢量。当可按照存储在缓冲器中的块矢量的顺序(例如,从最老到最新或从最新到最老)构建块矢量候选列表时,可改变优先级顺序。例如,可从最近存储在缓冲器中的块矢量到首先存储在缓冲器中的块矢量或者从首先存储在缓冲器中的块矢量到最近存储在缓冲器中的块矢量将块矢量包括在块矢量候选列表中。所述块矢量候选可被称为基于历史的块矢量候选。
当使用基于历史的块矢量候选中的至少一个基于历史的块矢量候选来构建块矢量候选列表时,可确定基于历史的块矢量候选在当前块中是否可用,并且如果可用,可将该候选添加到块矢量候选列表。此时,可根据由块矢量指示的位置处的参考样点(块)是否可用来确定基于历史的块矢量是否可用。
当使用基于历史的块矢量候选中的至少一个基于历史的块矢量候选来构建块矢量候选列表时,可在基于历史的块矢量候选与块矢量候选列表中的块矢量候选之间执行冗余校验,并且如果作为冗余校验的结果不存在相同的块矢量,则可将基于历史的块矢量候选添加到块矢量候选列表。
例如,当使用基于历史的块矢量候选中的至少一个来构建块矢量候选列表时,可在不执行与块矢量候选列表中的块矢量候选之间的冗余校验的情况下将基于历史的块矢量候选中的预定候选添加到块矢量候选列表。例如,所述预定候选可表示基于历史的块矢量候选中除了第一候选之外的块矢量候选。这里,第一候选可表示首先或最近存储在由基于历史的块矢量候选组成的基于历史的块矢量列表中的块矢量候选。
此外,例如,当使用基于历史的块矢量候选中的至少一个来构建块矢量候选列表时,可对基于历史的块矢量候选中的预定候选进行与块矢量候选列表中的块矢量候选的冗余校验。当作为执行冗余校验的结果不存在相同的块矢量时,可将所述预定候选添加到块矢量候选列表。例如,所述预定候选可表示基于历史的块矢量候选中的第一候选。这里,第一候选可表示最近存储在由基于历史的块矢量候选组成的基于历史的块矢量列表中的块矢量候选。
包括基于历史的块矢量候选的缓冲器可在编码/解码期间以画面、条带、并行块、CTU、CTU行或CTU列为单位被保持并且以画面、条带、并行块、CTU、CTU行或CTU列为单位被使用。此外,所述缓冲器可以以画面、条带、并行块、CTU、CTU行或CTU列为单位来包括当前块之前被编码/解码的块的编码信息中的至少一个编码信息。
当可使用块矢量候选列表中的块矢量候选中的至少两个块矢量候选来构建组合块矢量候选时。此时,当构建组合块矢量候选时,可不使用基于历史的块矢量候选。此时,当构建组合块矢量候选时,可不使用相邻的邻近块的块矢量候选。此时,可确定由块矢量候选组成的组合块矢量候选是否可用,并且仅在可用的情况下,可使用组合块矢量候选。此时,可根据由块矢量指示的位置处的参考样点(块)是否可用来确定块矢量是否可用。
如果当前亮度块的宽度为W并且当前亮度块的高度为H,则(-(W<<n)+a、-(H<<n)+b)、(-(W<<n)+c,0)或(0,-(H<<n)+d)可作为块矢量候选而被包括在块矢量候选列表中。此时,n可以是大于0的正整数,并且a、b、c和d可具有整数值。所述块矢量候选可被称为固定基本块矢量候选。
可使用相邻的邻近块候选的块矢量、基于历史的块矢量候选、组合块矢量候选和固定基本块矢量候选中的至少一个按照预定顺序构建块矢量候选列表。
这里,参照图10,相邻的邻近块可以是A0或A1中的至少一个以及B0、B1或B2中的至少一个。
例如,可按照相邻的邻近块候选的块矢量、基于历史的块矢量候选、组合块矢量候选和固定基本块矢量候选的顺序构建块矢量候选列表。
此外,例如,可按照以下顺序构建固定基本块矢量,直到块矢量候选列表中的候选的数量满足最大数量(或块矢量候选的最大数量)为止。
1、(-(W<<1),0)
2、(0,-(H<<1))
3、(-(W<<1)-1,0)
4、(0,-(H<<1)-1)
5、(-(W<<1)-2,0)
6、(0,-(H<<1)-2)
7、(-(W<<1)-3,0)
8、(0,-(H<<1)-3)
9、(-(W<<1)-4,0)
10、(0,-(H<<1)-4)
可选地,固定基本块矢量可以是矢量(0,0),并且可通过添加固定基本块矢量直到块矢量候选列表中的候选的数量满足所述最大数量为止来构建具有最大数量个候选的块矢量候选列表。例如,如果使用相邻的邻近块的块矢量、基于历史的块矢量、组合块矢量等添加到块矢量候选列表的块矢量候选的数量小于块矢量候选的最大数量N,则可将固定基本块矢量添加到块矢量候选列表,直到满足块矢量候选的最大数量为止。此时,固定基本块矢量可以是矢量(0,0)。
当构建块矢量候选列表时,可被包括在块矢量候选列表中的基于历史的块矢量候选的数量可以是块矢量候选的最大数量N或(N-m)。m可以是大于0的整数。
当对上级块进行分区并且在基于帧内块复制的跳过模式或基于帧内块复制的合并模式下对每个块进行编码/解码时,如果从上级块分区出的块中的至少一个块小于预定阈值或临界值,则分区出的块可共享并使用在上级块中构建的块矢量候选列表。
在确定是否共享在上级块中构建的块矢量候选列表时,当使用上级块的宽度和高度,以下条件被满足时,可将在上级块中构建的块矢量候选列表用于分区出的块。
四叉树分区:(上级块的宽度×上级块的高度)/4<阈值
水平或垂直二叉树分区:(上级块的宽度×上级块的高度)/2<阈值三叉树:(上级块的宽度×上级块的高度)/4<阈值
所述阈值可在编码器/解码器中被预先确定,或者从编码器被用信号发送到解码器。
图11是示出根据本发明的实施例的当预定阈值为32时分区的当前块的示图。
参照图11,如果上级块的四叉树分区、垂直或水平二分区、三叉树分区中的至少一个的下级块的面积小于32,以上条件被满足,并且每个下级块在基于帧内块复制的跳过模式或基于帧内块复制的合并模式下被编码/解码,则可使用块矢量候选列表对下级块进行编码/解码,其中,所述块矢量候选列表包括上级块位置处的且存储在缓冲器中的在上级块之前被编码/解码的基于历史的块矢量候选和邻近块(例如,A1、B1、B0、A0和B2)的块矢量、以及从上级块的宽度和高度推导出的固定基本块矢量。
当当前块的宽度和高度等于或小于预定值时,预定矢量候选可不被允许作为块矢量候选。
参照图11,当当前块的宽度和高度为4×4时(或者当当前块的宽度和高度的乘积小于或等于16时),邻近块的块矢量可不被允许作为块矢量候选。
此时,可使用基于历史的块矢量、组合块矢量或固定基本块矢量中的至少一个来构建块矢量候选列表。例如,可仅使用基于历史的块矢量或者仅使用基于历史的块矢量和固定基本块矢量来构建块矢量候选列表。
此外,此时,可不执行对基于历史的块矢量候选列表的更新处理。例如,当当前块的宽度和高度为4×4时(或者当当前块的宽度和高度的乘积小于或等于16时),可不将当前块的经过编码/解码的块矢量添加到基于历史的块矢量候选列表。
此外,可使用先前上级块中的经过编码/解码的基于历史的块矢量候选来构建块矢量候选列表。
当共享并使用在上级块中构建的块矢量候选列表时,由下级块的块矢量指示的预测块可能不位于上级块中。
例如,图12是示出根据本发明的实施例的共享并使用在上级块中构建的块矢量候选列表的处理的示图。参照图12,当共享并使用上级块位置处的块矢量候选列表时,可确定仅当预测块存在于在上级块之前被编码/解码的区域中时,在帧内预测块复制模式下对下级块中的至少一个下级块进行编码/解码的块矢量BV有效。
当共享并使用在上级块中构建的块矢量候选列表时,分区出的下级块中的至少一个下级块可具有基于帧内块复制的跳过模式、基于帧内块复制的合并模式或基于帧内块复制的AMVP模式中的一个模式。
当共享并使用在上级块中构建的块矢量候选列表时,可仅在基于帧内块复制的跳过模式、基于帧内块复制的合并模式、基于帧内块复制的AMVP模式或使用运动矢量的AMVP模式下对分区出的下级块中的至少一个进行编码/解码。
当共享并使用在上级块中构建的合并候选列表时,可不在基于帧内块复制的跳过模式和基于帧内块复制的合并模式下对分区出的下级块进行编码/解码。虽然可在帧内块AMVP模式下对分区出的下级块进行编码/解码,但是可确定仅当从块矢量获取的预测块存在于在上级块之前被编码/解码的区域中时该块的块矢量有效。
合并候选列表可表示包括运动矢量和时间运动矢量、基于历史的运动矢量、组合运动矢量和零矢量而不包括上级块的相邻的邻近块的块矢量的列表。
当当前块的宽度和/或高度等于或小于预定值时,可不允许帧内预测块复制跳过模式和帧内预测块合并模式。
例如,当当前块的宽度和高度小于8时,可不允许基于帧内块复制的跳过模式和帧内预测块合并模式。
如果当前块的宽度W×高度H的值小于或等于可在下级块中使用在上级块中构建的合并候选列表的阈值条件,则可不允许基于帧内块复制的跳过模式和基于帧内块复制的合并模式。
例如,如果可在下级块中使用在上级块中构建的合并候选列表的阈值是32,则仅当当前块的宽度×高度H大于32时,可允许基于帧内块复制的跳过模式和基于帧内块复制的合并模式。
当当前块的宽度W×高度H的值小于或等于可在下级块中使用在上级块中构建的块矢量候选列表的阈值条件时,可不允许跳过模式和合并模式。跳过模式和合并模式可表示利用运动矢量而不是当前块的空间/时间邻近块的块矢量进行编码/解码的模式。
例如,如果可在下级块中使用在上级块中构建的块矢量候选列表的阈值条件为32,则仅当当前块的宽度×高度H大于32时,可允许基于运动矢量而不是块矢量的跳过模式和合并模式。
组合合并候选列表可由上级块的相邻的邻近块的运动矢量和块矢量组成,并且当基于从上级块分区出的块中的至少一个块的宽度和/或高度而推导出的值小于预定阈值时,可共享并使用在上级块中构建的组合合并候选列表。
可使用上级块的邻近块运动矢量候选、邻近块的块矢量候选、时间运动矢量候选、基于历史的运动矢量候选、基于历史的块矢量候选、(0,0)运动矢量候选或固定基本块矢量中的至少一个来构建组合合并候选列表,并且组合合并候选列表可被共享并被使用。
例如,当在帧内预测块复制跳过模式或帧内预测块合并模式下对块进行编码/解码时,可对与组合合并候选列表中的块矢量对应的候选进行编码/解码。此时,当在帧内预测块复制跳过模式或帧内预测块合并模式下执行编码/解码时,用于标识组合合并候选列表中的对应候选的信息可仅指示块矢量候选。
此外,例如,当在跳过模式或合并模式下对对应块进行编码/解码时,可仅对与组合合并候选列表中的运动矢量而不是块矢量对应的候选进行编码/解码。此时,当在跳过模式或合并模式下执行编码/解码时,用于标识组合合并候选列表中的对应候选的信息可仅指示运动矢量候选。
根据实施例,当当前块是亮度分量块并且在基于帧内块复制的AMVP模式下被编码时,块矢量推导方法如下。
类似于基于帧内块复制的跳过模式或合并模式,可使用最多N个预测块矢量候选来构建预测块矢量候选列表。构建的预测块矢量候选列表中包括的候选之一可被用作当前块的预测块矢量,并且可基于在比特流中发送的编码参数来推导或编码/解码用于标识预测块矢量候选列表中的预测候选的信息(例如,标识符、索引、标志、mvp_l0_flag等)。
可计算当前块的块矢量与预测块矢量之间的矢量差,并且可对计算结果进行熵编码。解码器可接收比特流中的块矢量差信息,或者从比特流中发送的信息推导矢量差,并且将当前块的块矢量差与预测块矢量相加以推导当前块的块矢量。
下面的一个或更多个候选可被包括在预测块矢量候选列表中。
在图10中,可确定是否使用帧内块复制预测方法按照A0和A1的顺序对块进行编码/解码,并且可将使用帧内块复制预测方法被编码/解码的块的块矢量确定为预测候选A。可选地,可确定是否使用帧内块复制预测方法对与A1对应的块进行编码/解码,并且当使用帧内块复制预测方法执行编码/解码时,可确定预测候选A。
在图10中,可确定是否使用帧内块复制预测方法按照B0、B1和B2的顺序对块进行编码/解码,并且可将使用帧内块复制预测方法被编码/解码的块的块矢量确定为预测候选B。可选地,可确定是否使用帧内块复制预测方法对与B1对应的块进行编码/解码,并且当使用帧内块复制预测方法执行编码/解码时,可确定预测候选B。
此时,预测块矢量候选列表的预定顺序可以是A和B。
在当前块之前被编码/解码的块的块矢量可被存储在缓冲器中,并且存储在缓冲器中的块矢量中的一个或更多个块矢量可被确定为预测块矢量候选。此时,可按照编码/解码的顺序将块矢量存储在具有特定尺寸的缓冲器中,并且如果缓冲器被填满,则可删除首先存储的块矢量并且可存储新的(即,最近被编码/解码的)块矢量。当按照存储在缓冲器中的块矢量的顺序(例如,按照从最老到最新的顺序或者按照从最新到最老的顺序)构建预测块矢量候选列表时,优先级可以不同。例如,最近存储在缓冲器中的块矢量可被首先包括在预测块矢量候选列表中,或者首先存储在缓冲器中的块矢量可被首先包括在预测块矢量候选列表中。所述块矢量可被称为基于历史的块矢量候选。
当使用基于历史的块矢量候选中的至少一个基于历史的块矢量候选来构建块矢量候选列表时,可确定基于历史的块矢量候选在当前块中是否可用,并且如果可用,可将该候选添加到块矢量候选列表。此时,可根据由块矢量指示的位置处的参考样点(块)是否可用来确定基于历史的块矢量是否可用。
当使用基于历史的块矢量候选中的至少一个基于历史的块矢量候选来构建块矢量候选列表时,可在基于历史的块矢量候选与块矢量候选列表中存在的块矢量候选之间执行冗余校验,并且当作为冗余校验的结果不存在相同的块矢量时,可将该候选添加到块矢量候选列表。
例如,当使用基于历史的块矢量候选中的至少一个基于历史的块矢量候选来构建块矢量候选列表时,可不在基于历史的块矢量候选中的预定候选与块矢量候选列表中存在的块矢量候选之间执行冗余校验,并且可将该候选添加到块矢量候选列表。例如,所述预定候选可表示基于历史的块矢量候选中的除了第一候选之外的块矢量候选。这里,第一候选可表示由基于历史的块矢量候选组成的基于历史的块矢量列表中的首先存储或最近存储的块矢量候选。
作为另一示例,当使用基于历史的块矢量候选中的至少一个基于历史的块矢量候选来构建块矢量候选列表时,可在基于历史的块矢量候选中的预定候选与块矢量候选列表中存在的块矢量候选之间执行冗余校验,并且可将该候选添加到块矢量候选列表。例如,所述预定候选可表示基于历史的块矢量候选中的第一候选。这里,第一候选可表示最近存储在由基于历史的块矢量候选组成的基于历史的块矢量列表中的块矢量候选。
包括基于历史的块矢量候选的缓冲器可以以画面、条带、并行块、CTU、CTU行、CTU列为单位在编码/解码期间被保持,并且可以以画面、条带、并行块、CTU、CTU行、CTU列为单位被使用。此外,所述缓冲器可以以画面、条带、并行块、CTU、CTU行、CTU列为单位来包括当前块之前被编码/解码的块的编码信息中的至少一个编码信息。
可使用块矢量候选列表中存在块矢量候选中的至少两个块矢量候选来构建组合块矢量候选。此时,当构建组合块矢量候选时,可不使用基于历史的块矢量候选。此时,当构建组合块矢量候选时,可不使用相邻的邻近块的块矢量候选。此时,可确定由块矢量候选组成的组合块矢量候选在当前块中是否可用,并且仅在可用的情况下,这才可被确定为组合块矢量候选。此时,可根据由块矢量指示的位置处的参考样点(块)是否可用来确定块矢量是否可用。
当当前亮度块的宽度为W且当前亮度块的高度为H时,(-(W<<n)+a、-(H<<n)+b)、(-(W<<n)+c,0)或(0,-(H<<n)+d)可作为块矢量候选被包括在块矢量候选列表中。此时,n可以是大于0的正整数,并且a、b、c和d可具有整数值。所述块矢量候选可被称为固定基本块矢量候选。
可使用相邻的邻近块的块矢量、基于历史的块矢量、组合块矢量或固定基本块矢量候选中的至少一个按照预定顺序构建块矢量候选列表。
例如,可按照相邻的邻近块的块矢量、基于历史的块矢量、组合块矢量和固定基本块矢量候选的顺序构建块矢量候选列表。
此外,例如,可按照以下顺序构建固定基本块矢量,直到块矢量候选列表中的候选的数量达到最大数量为止。
1、(-(W<<1),0)
2、(0,-(H<<1))
3、(-(W<<1)-1,0)
4、(0,-(H<<1)-1)
5、(-(W<<1)-2,0)
6、(0,-(H<<1)-2)
7、(-(W<<1)-3,0)
8、(0,-(H<<1)-3)
9、(-(W<<1)-4,0)
10、(0,-(H<<1)-4)
可选地,固定基本块矢量可以是(0,0)矢量,并且可添加固定基本块矢量以构建具有最大值的候选的块矢量候选列表,直到块矢量候选列表中的候选的数量达到最大数量为止。例如,当使用相邻的邻近块的块矢量、基于历史的块矢量、组合块矢量等添加到块矢量候选列表的块矢量候选的数量小于块矢量候选的最大数量N时,可将固定基本块矢量添加到块矢量候选列表,直到达到块矢量候选的最大数量为止。此时,固定基本块矢量可以是(0,0)矢量。
当构建块矢量候选列表时,可被包括在块矢量候选列表中的基于历史的块矢量候选的数量可以是块矢量候选的最大数量N或(N-m)。m可以是大于0的自然数。
根据实施例,当当前块是亮度分量块并且在基于帧内块复制的跳过模式、基于帧内块复制的合并模式或基于帧内块复制的AMVP模式下被编码/解码时,块矢量推导方法如下所示。
块矢量候选列表可由至多N个候选组成。此时,N可以是包括0的正整数。另外,块矢量候选列表可包括下面描述的候选中的一个或更多个。
再次参照图10,可从与和当前块X的左侧相邻的块A1以及和当前块的上方相邻的块B1对应的块推导块矢量,并且推导出的块矢量可被确定为针对当前块的块矢量候选。
这里,可根据预定优先级确定在位置A1和B1中包括的块中的每个块中是否存在块矢量(即,是否已经使用帧内块复制预测方法对该块进行了编码/解码),并且当存在块矢量时,可将该块的块矢量确定为块矢量候选。此时,块矢量候选列表的预定优先级可以是A1和B1。
当块矢量候选列表根据所述预定优先级构建时,可在块矢量候选列表中存在的块矢量候选与新添加的块矢量候选之间执行冗余校验。
例如,当按照A1和B1的顺序构建块矢量候选列表时,可对块B1进行与块A1的冗余校验,并且仅当块B1具有不等于块A1的块矢量的块矢量时,可将块B1的块矢量添加到所述列表。仅当块矢量存在于块中时,可执行冗余校验。
另外,当块矢量候选列表中的候选的数量小于预定义或推导出的列表中的可允许候选的最大数量时,可从存储了在当前块之前被编码/解码的块的块矢量的缓冲器引入和使用至少一个块矢量候选。
这里,指示块矢量候选列表中的可允许块矢量的最大数量的信息可在高等级(诸如序列参数集(SPS)、画面参数集(PPS)、自适应参数集(APS)、画面头、子画面、条带头、并行块组等)被编码/解码。
例如,在条带头或SPS中,指示帧间预测模式的合并候选列表的可允许最大数量的信息(例如,six_minus_max_num_merge_cand)可被编码/解码,并且如下所述,可基于关于可允许最大数量的信息推导可允许候选的最大数量。此外,推导出的可允许候选的最大数量可被定义为块矢量列表中的块矢量候选的最大数量。
合并候选的最大数量MaxNumMergeCand=6-six_minus_max_num_merge_cand
其中,MaxNumMergeCand可具有1至6的值。
块矢量候选的最大数量MaxNumIBCCand=maxNumMergeCand
此外,例如,在条带头或SPS中,指示帧间预测模式的合并列表的可允许最大数量的信息(例如,six_minus_max_num_merge_cand)可被编码/解码,并且如下所述,可基于指示可允许最大数量的信息推导可允许候选的最大数量MaxNumMergeCand。此外,可基于推导出的数量MaxNumMergeCand定义块矢量列表的块矢量候选的最大数量。
合并候选的最大数量MaxNumMergeCand=6-six_minus_max_num_merge_cand
块矢量候选的最大数量MaxNumIBCCand=Max(N,MaxNumMergeCand),N是大于0的正整数,并且例如,N=2。
此外,例如,在条带头或SPS中,指示帧间预测模式的合并列表的可允许最大数量的信息(例如,six_minus_max_num_merge_cand)可被编码/解码,并且如上所述,可基于指示可允许最大数量的信息推导可允许候选的最大数量MaxNumMergeCand。此外,可基于推导出的数量MaxNumMergeCand和当前块的编码模式定义块矢量列表中的块矢量候选的最大数量。
合并候选的最大数量MaxNumMergeCand=6-six_minus_max_num_merge_cand
当当前块处于基于帧内块复制的跳过模式或基于帧内块复制的合并模式时,
块矢量候选的最大数量MaxNumIBCCand=MaxNumMergeCand
可选地,当当前块处于基于帧内块复制的AMVP模式时,
块矢量候选的最大数量MaxNumIBCCand=Max(N,MaxNumMergeCand),其中,N是大于0的正整数。
例如,当N=2且MaxNumMergeCand=1时,基于帧内块复制的跳过模式或基于帧内块复制的合并模式下的块矢量候选列表的候选的最大数量可被推导为1,并且基于帧内块复制的AMVP模式下的块矢量候选列表的候选的最大数量可被推导为2。
此外,例如,在条带头或SPS中,指示帧间预测模式的合并列表的可允许最大数量的信息(例如,six_minus_max_num_merge_cand)可被编码/解码,并且如下所述,可基于指示可允许最大数量的信息推导可允许候选的最大数量MaxNumMergeCand。此外,可基于推导出的数量MaxNumMergeCand和当前块的编码模式来定义块矢量列表中的块矢量候选的最大数量。
合并候选的最大数量MaxNumMergeCand=6-six_minus_max_num_merge_cand
当当前块处于基于帧内块复制的跳过模式或基于帧内块复制的合并模式时,
块矢量的最大数量MaxNumIBCCand=MaxNumMergeCand
当当前块处于基于帧内块复制的AMVP模式时,
块矢量候选的最大数量MaxNumIBCCand=N,其中,N是大于0的正整数
例如,当当前块处于基于帧内块复制的AMVP模式时,块矢量候选的最大数量可被定义为2。
此外,例如,当MaxNumMergeCand=6时,基于帧内块复制的跳过模式或基于帧内块复制的合并模式下的块矢量候选列表的候选的最大数量可被定义为6,并且基于帧内块复制的AMVP模式下的块矢量候选列表的候选的最大数量可被定义为2。
此外,例如,在条带头或SPS中,指示块矢量候选列表的可允许最大数量的信息(例如,six_minus_max_num_ibc_cand)可单独地被编码/解码,并且如上所述,可基于指示可允许最大数量的信息推导块矢量列表的可允许块矢量候选的最大数量。
可允许块矢量候选的最大数量(例如,MaxNumIBCCand)=6-six_minus_max_num_ibc_cand
其中,可允许块矢量候选的最大数量(例如,MaxNumIBCCand)可具有0至6的值。
此外,指示可允许块矢量候选的最大数量的信息(例如,six_minus_max_num_ibc_cand)可具有0至5的值。
这里,为了便于描述,任意描述MaxNumIBCCand和six_minus_max_num_ibc_cand的名称,并且可配置具有其他名称的信号。
此外,例如,在条带头或SPS中,指示块矢量候选列表的可允许最大数量的信息(例如,max_num_merge_cand_minus_max_num_ibc_cand)可单独地被编码/解码,并且如下所述,可基于指示可允许最大数量的信息推导块矢量列表的可允许块矢量候选的最大数量。
可允许块矢量候选的最大数量MaxNumIBCCand=MaxNumMergeCand-max_num_merge_cand_minus_max_num_ibc_cand
其中,MaxNumIBCCand可具有2至MaxNumMergeCand的范围内的值。
另外,仅当在高等级(诸如SPS、PPS、APS或条带头)使用帧内块复制(IBC)功能时,指示可允许最大数量的信息(例如,six_minus_max_num_ibc_cand、max_num_merge_cand_minus_max_num_ibc_cand等)可被编码/解码。例如,仅当在SPS被解码的指示帧内块复制功能是否被使用的信息(例如,sps_ibc_enabled_flag)为第二值1时,可对指示可允许最大数量的信息进行编码/解码。此外,例如,当在SPS被解码的指示帧内块复制功能是否被使用的信息(例如,sps_ibc_enabled_flag)为第一值0时,指示可允许最大数量的信息可被推导为0。
此外,例如,在画面头或SPS中指示块矢量候选列表中的可允许最大数量的信息(例如,pic_six_minus_max_num_ibc_merge_cand)可单独地被编码/解码,并且如下所述,可基于指示可允许最大数量的信息推导包括在块矢量候选列表中的块矢量候选的最大数量。
块矢量候选的最大数量MaxNumIBCCand=6-pic_six_minus_max_num_ibc_merge_cand
其中,MaxNumIBCCand可具有1至6的值。可选地,MaxNumIBCCand可具有0至6的值。另外,如果MaxNumIBCCand=0,则这可表示在与画面头相关的所有条带中不允许IBC模式。
此外,例如,可基于在高等级(诸如视频参数集、序列参数集、画面参数集等)被解码的编码参数值,省略对可在画面头中被用信号发送的指示块矢量候选列表的可允许最大数量的信息(例如,pic_six_minus_max_num_ibc_merge_cand)的编码/解码,并且可基于在高等级被编码/解码的值来估计该信息的值。
图13是示出根据本发明的实施例的推导指示块矢量候选列表中的可允许最大数量的信息的处理的示图。参照图13,根据在由画面头参考的画面参数集中被解码的信息(例如,pps_six_minus_max_num_ibc_merge_cand_plus1)的值,可编码/解码或估计画面头中的指示块矢量候选列表的可允许块矢量候选的最大数量的信息(例如,pic_six_minus_max_num_ibc_merge_cand)。此外,当所述信息(例如,pic_six_minus_max_num_ibc_merge_cand)不存在时,可使用在高等级被编码的信息(例如,pps_six_minus_max_num_ibc_merge_cand_plus1)来估计所述信息。
例如,当在画面参数集中被解码的信息(例如,pps_six_minus_max_num_ibc_merge_cand_plus1)具有值0时,这可表示指示块矢量列表的可允许块矢量候选的最大数量的信息(例如,pic_six_minus_max_num_ibc_merge_cand)存在于参考画面参数集的画面头中。
此外,例如,当在画面参数集中被解码的信息(例如,pps_six_minus_max_num_ibc_merge_cand_plus1)具有大于0的值时,这可表示指示块矢量列表的可允许块矢量候选的最大数量的信息(例如,pic_six_minus_max_num_ibc_merge_cand)不存在于参考画面参数集的画面头中。此时,所述信息(例如,pic_six_minus_max_num_ibc_merge_cand)可被估计为在画面参数集中被解码的信息(例如,pps_six_minus_max_num_ibc_merge_cand_plus1)-1。
参照图13,可对在画面参数中的指示在画面头中被编码/解码的预定信息的存在/不存在的信息(例如,constant_slice_header_params_enabled_flag)进行编码/解码。
例如,当在画面参数集中被解码的其他信息(例如,constant_slice_header_params_enabled_flag)具有第一值时,可对在画面参数集中被解码的信息(例如,pps_six_minus_max_num_ibc_merge_cand_plus1)进行熵编码/熵解码,并且当所述其他信息具有第二值时,可将在画面参数集中被解码的信息(例如,pps_six_minus_max_num_ibc_merge_cand_plus1)估计为0而不对其进行熵编码/熵解码。这里,第一值可表示1,第二值可表示0。
此外,例如,当满足以下条件时,可对在画面参数集中被解码的信息(例如,pps_six_minus_max_num_ibc_merge_cand_plus1)进行熵编码/熵解码。
条件:在画面参数集中被解码的信息(例如,constant_slice_header_params_enabled_flag)具有第一值,并且在序列参数集中被解码的信息(例如,sps_ibc_enabled_flag)具有第一值。
此外,例如,当满足以下条件时,可对在画面参数集中被解码的信息(例如,pps_max_num_merge_cand_minus1_max_num_triangle_cand_plus1)进行熵编码/熵解码。
条件:在画面参数集中被解码的信息(例如,constant_slice_header_params_enabled_flag)具有第一值,并且在序列参数集中被解码的信息(例如,sps_triangle_enabled_flag)具有第一值。
此外,例如,当满足以下条件时,可对在画面参数集中被解码的信息(例如,pps_collocated_from_l0_idc)进行熵编码/熵解码。
条件:在画面参数集中被解码的信息(例如,constant_slice_header_params_enabled_flag)具有第一值,并且在序列参数集中被解码的信息(例如,sps_temporal_mvp_enabled_flag)具有第一值。
另外,第一值可表示1,并且第二值可表示0。
另外,块矢量候选列表的可允许块矢量候选的最大数量可以是在编码器/解码器中预定义的固定值N。这里,N可以是包括0的正整数。
例如,块矢量候选列表的可允许块矢量候选的最大数量可以是2。
此外,例如,块矢量候选列表的可允许块矢量候选的最大数量可以是5。
此外,例如,块矢量候选列表的可允许块矢量候选的最大数量可以是6。
此外,块矢量候选列表的可允许块矢量候选的最大数量可以是在编码器/解码器中预定义的固定值N。这里,N可以是包括0的正整数,并且值N可根据当前块的编码模式而变化。
例如,当当前块处于基于帧内块复制的跳过模式或基于帧内块复制的合并模式时,预定义值N可以是6。
此外,例如,当当前块处于基于帧内块复制的AMVP模式时,所述预定义值N可以是2。
当块矢量候选列表中的块矢量的数量小于可允许块矢量候选的最大数量并且一个或更多个块矢量存在于存储当前块之前被编码/解码的块的块矢量的缓冲器中时,可从存储当前块之前被编码/解码的块的块矢量的缓冲器引入和使用至少一个块矢量候选。例如,所述至少一个块矢量候选可被包括在块矢量候选列表中。
此时,可按照编码/解码的顺序将帧内块矢量存储在具有特定大小的缓冲器中,并且如果缓冲器已满,则可删除首先存储的块矢量并且可存储新的(即,最近编码/解码的)块矢量。可通过根据存储在缓冲器中的块矢量的存储顺序(例如,从最老的矢量到最新的矢量或从最新的矢量到最老的矢量)区分优先级来构建块矢量候选列表。例如,最近存储在缓冲器中的矢量可首先被包括在块矢量候选列表中,或者首先存储在缓冲器中的矢量可首先被包括在块矢量候选列表中。块矢量候选可被称为基于历史的块矢量候选。
当块矢量候选列表中的块矢量的数量小于可允许块矢量候选的最大数量,并且一个或更多个块矢量存在于存储当前块之前被编码/解码的块的块矢量的缓冲器中时,可将基于历史的块矢量候选添加到块矢量候选列表,直到块矢量候选列表中的块矢量的数量等于可允许块矢量候选的最大数量为止。
当使用基于历史的块矢量候选中的至少一个来构建块矢量候选列表时,可执行基于历史的块矢量候选与当前块的邻近块的块矢量候选之间的冗余校验,并且当作为执行冗余校验的结果而不存在相同的块矢量时,可将候选添加到块矢量候选列表。
例如,参照图10,可执行基于历史的块矢量候选与块A1和/或块B1的块矢量之间的冗余校验,其中,块A1和块B1两者是当前块的邻近块。
此外,例如,可仅针对第一基于历史的块矢量候选来执行与块A1和/或块B1的冗余校验。
此外,例如,可仅针对多至第二基于历史的块矢量候选来执行与块A1和/或块B1的冗余校验。
此外,例如,可针对所有基于历史的块矢量候选来执行与块A1和/或块B1的冗余校验。
这里,第一基于历史的块矢量候选可表示由基于历史的块矢量候选组成的基于历史的块矢量列表中的最近存储的块矢量候选。
此外,第二基于历史的块矢量候选可表示基于历史的块矢量列表中的在第一基于历史的块矢量候选之后存储的第二块矢量候选。
当使用基于历史的块矢量候选中的至少一个来构建块矢量候选列表时,在不与存在于块矢量候选列表中的块矢量候选或者邻近块的块矢量候选执行冗余校验的情况下,可将基于历史的块矢量候选中的预定候选添加到块矢量候选列表。
当由邻近块的块矢量和基于历史的块矢量候选组成的列表中的块矢量候选的数量小于预定义或推导出的列表的可允许候选的最大数量时,可添加水平块矢量大小和垂直块矢量大小为(0,0)的零矢量,直到该列表中的块矢量候选的数量等于可允许候选的最大数量为止。
当当前块处于基于帧内块复制的AMVP模式并且按照预定顺序建构的块矢量列表中的候选的数量小于AMVP候选的预定义数量N(其中,N是大于0的正整数,例如,N=2)时,可添加水平块矢量大小和垂直块矢量大小为(0,0)的零矢量,直到块矢量列表中的块矢量候选的数量变得等于AMVP候选的预定义数量为止。
例如,当当前块处于基于帧内块复制的AMVP模式时,以与从在条带头或SPS中被解码的关于帧间预测合并模式的合并候选的最大数量的信息(例如,six_minus_max_num_merge_cand)推导出的合并候选的最大数量MaxNumMergeCand相同的方式来定义块矢量列表中的候选的最大数量,并且合并候选的最大数量MaxNumMergeCand为1,也就是说,当块矢量候选列表中的候选的数量小于AMVP候选的预定义数量2时,可将水平块矢量大小和垂直块矢量大小为(0,0)的零矢量作为块矢量候选添加到块矢量候选列表,使得满足AMVP候选的数量2。
另外,可基于在比特流中发送的编码参数推导用于标识块矢量候选列表中的对应候选的信息(例如,标识符、索引、标志等)。
例如,当当前块处于基于帧内块复制的跳过模式或基于帧内块复制的合并模式时,可基于在当前块中被解码/估计的合并索引(例如,merge_idx)信息来识别候选。
此外,例如,当当前块处于基于帧内块复制的AMVP模式时,可基于在当前块中被解码/推断的L0运动矢量预测标志(例如,mvp_l0_flag)信息来识别候选。
当块矢量列表中的候选的最大数量为1时,可在不执行熵编码/熵解码的情况下将L0运动矢量预测标志(例如,mvp_l0_flag)信息推断为0。
例如,当指示块矢量列表中的可允许候选块矢量的最大数量的信息(例如,MaxNumIbcMergeCand)为1(即,MaxNumMergeCand=1)时,可在不执行熵编码/熵解码的情况下将指示L0运动矢量预测因子的索引的信息(例如,mvp_l0_flag)推断为0。也就是说,参照图14,当MaxNumMergeCand大于1时,可对指示L0运动矢量预测因子的索引的信息(例如,mvp_l0_flag)进行熵编码/熵解码。否则(当MaxNumMergeCand等于或小于1时),可在不执行熵编码/熵解码的情况下将mvp_l0_flag推断为0。所述信息可以是标志。
这里,L0运动矢量预测标志可表示指示L0运动矢量预测因子的索引的信息。
这里,为了便于描述,任意描述了MaxNumMergeCand的名称,并且可配置具有其他名称的信号。也就是说,作为MaxNumMergeCand的替代,可使用MaxNumIbcMergeCand。例如,当MaxNumIbcMergeCand大于1时,可对指示L0运动矢量预测因子的索引的信息(例如,mvp_l0_flag)进行熵编码/熵解码。否则(当MaxNumIbcMergeCand等于或小于1时),可在不执行熵编码/熵解码的情况下将mvp_l0_flag推断为0。所述信息可以是标志。
参照图15,当当前块处于基于帧内块复制的跳过模式或基于帧内块复制的合并模式,并且块矢量候选列表中的候选的可允许最大数量(例如,MaxNumIbcMergeCand)大于1时,可对合并索引信息(例如,merge_idx)进行编码/解码。
当当前块处于基于帧内块复制的跳过模式或基于帧内块复制的合并模式时,在块矢量列表中识别出的块矢量候选可被用作当前块的块矢量。这里,可通过上述方法构建块矢量列表。
当当前块处于基于帧内块复制的AMVP模式时,通过将经过解码的块矢量差(BVD)与块矢量列表中识别出的块矢量候选相加而生成的值可被用作当前块的块矢量。这里,可通过上述方法构建块矢量列表。
另外,可根据指示经过解码的运动矢量差的精度的信息(例如,amvr_precision_flag)的值,针对识别出的块矢量候选执行舍入。
偏移=(右移位==0)?0:(1<<(右移位-1))mvX[0]=((mvX[0]+偏移-(mvX[0]>=0))>>右移位)<<左移位
mvX[1]=((mvX[0]+偏移-(mvX[1]>=0))>>右移位)<<左移位
当amvr_precision_flag具有第一值0(块矢量具有1整数像素单位大小)时,右移位=4,左移位=4。
当amvr_precision_flag具有第二值1(块矢量具有4整数像素单位大小)时,右移位=6,左移位=6
在下文中,下面将描述推导色度分量块的块矢量的步骤。
根据实施例,当同一CTU中的亮度分量和色度分量的块分区相同(即,亮度块的块分区结构和色度块的块分区结构相同),并且当前块是色度分量块且使用帧内块复制预测方法被编码时,可如下推导色度分量块的块矢量。
可如下确定与当前色度分量块对应的亮度分量块。
当当前色度分量块的左上样点位置是(xc,yc),宽度是Wc并且高度是Hc时,与当前色度分量块对应的亮度分量块的左上样点位置可以是(xc/K1,yc/K2),宽度可以是K1×Wc,高度可以是K2×Hc。此时,K1和K2可根据色度分量格式而变化,并且当将被编码的色度分量格式是4:2:0格式时,K1和K2都可以是2,并且当将被编码的色度分量格式是4:4:4格式时,K1和K2都可以是1。此外,在4:2:2格式的情况下,K1=2,K2=1。
由于色度分量块和亮度分量块的块分区结构相同,因此与当前色度分量块对应的亮度分量块可由一个亮度分量块组成。
当与色度分量块对应的亮度分量块的块矢量为(MVL[0],MVL[1])时,色度分量块的块矢量可以是(MVL[0]/K1,MVL[1]/K2)。当将被编码的画面的色度分量格式是4:2:0格式时,K1和K2都可以是2,并且当将被编码的画面的色度分量格式是4:4:4格式时,K1和K2都可以是1。此外,在4:2:2格式的情况下,K1=2且K2=1。另外,虽然假设MVL[0]和MVL[1]的基本单位是1像素,但是基本单位可以是1/16像素或1/N像素,其中,N可以是任意正整数。
根据实施例,同一CTU中的亮度分量和色度分量的块分区被独立地执行(即,亮度分量的块分区结构和色度分量的块分区结构不同),并且当前块是色度分量块且使用帧内块复制预测方法被编码,可如下推导色度分量块的块矢量。
可如下确定与当前色度分量块对应的亮度分量区域。
当当前色度分量块的左上样点位置是(xc,yc),宽度是Wc,并且高度是Hc时,与当前色度分量块对应的亮度分量块的左上样点位置可以是(xc/K1,yc/K2),宽度可以是K1×Wc,并且高度可以是K2×Hc。此时,K1和K2可根据色度分量格式而变化,并且当将被编码的画面的色度分量格式是4:2:0格式时,K1和K2都可以是2,并且当将被编码的画面的色度分量格式是4:4:4格式时,K1和K2都可以是1。此外,在4:2:2格式的情况下,K1=2且K2=1。
此时,与当前色度分量块对应的亮度分量的区域可仅包括亮度分量块的被分区的部分。此外,与色度分量块对应的亮度分量区域可被分区为至少一个亮度分量块。
当前色度分量块可以以N×M的子块为单位被分区,并且与对应子块对应的亮度分量区域的子块可以以(N×K1)×(M×K2)的子块为单位被分区。此时,N和M可以是整数1或更大的整数。
图16是示出根据本发明的另一实施例的色度分量块与亮度分量区域之间的对应关系的示图。
参照图16,具有4:2:0的色度格式的任意CTU中的块分区结构的示例被示出。可以以N×M的子块为单位对当前色度分量块进行分区,并且可通过以(N×K1)×(M×K2)的子块为单位对亮度分量块进行分区来获得与对应子块对应的亮度分量区域的子块。此时,N和M可以是整数1或更大的整数。可选地,当当前色度分量块的宽度为Wc且高度为Hc时,可以以N×M的子块为单位执行分区,其中,宽度被分区为P1且高度被分区为P2。在这种情况下,N=Wc/P1且M=Hc/P2,其中,P1和P2可以是整数1或更大的整数。
可存在与当前色度分量块的子块对应的亮度分量子块。当前色度分量子块的块矢量可从与其对应的亮度分量子块的块矢量被推导出。例如,当与色度分量子块对应的亮度分量子块的块矢量为(MVL[0],MVL[1])时,色度分量块的块矢量可以是(MVL[0]/K1,MVL[1]/K2)。此时,K1和K2可与上述相同。另外,虽然在描述中假设MVL[0]和MVL[1]的基本单位是一像素,但是基本单位可以是1/16像素或1/N像素,其中,N可以是任意正整数。
另外,可不使用相同的预测方法对位于与当前色度分量块的子块对应的亮度分量子块中的所有样点进行编码/解码。例如,当亮度分量和色度分量的块分区结构独立时,与色度分量子块对应的亮度分量子块可能与亮度分量预测块不匹配,或者可能存在亮度分量子块中分区出的两个或更多个亮度分量预测块。这里,亮度分量预测块可表示当亮度分量被编码/解码时应用相同预测或变换编码的块,并且可通过亮度分量块分区被确定。另外,与色度分量块对应的亮度分量区域可不表示通过如图16的示例中的亮度分量块分区而确定的预测块,而是可表示与色度分量块的位置和尺寸对应的亮度分量区域。
因此,与当前色度分量块的子块对应的亮度分量子块的块矢量可以是以下项之一。
1、当使用帧内块复制预测方法对包括与当前色度分量块的子块对应的亮度分量子块的左上样点的亮度分量预测块进行编码/解码时的亮度分量预测块的块矢量
2、当使用帧内块复制预测方法对包括与当前色度分量块的子块对应的亮度分量子块的中心位置样点的亮度分量预测块进行编码/解码时的亮度分量预测块的块矢量
3、图17是示出根据本发明的另一实施例的亮度分量子块的示图。当如图20的示例中使用帧内块复制预测方法对包括与当前色度分量块的子块对应的亮度分量子块中的阴影样点位置中的一个阴影样点位置的亮度分量预测块进行编码/解码时的亮度分量预测块的块矢量
4、当使用帧内块复制预测方法对在与当前色度分量块的子块对应的亮度分量子块中占据最大区域的亮度分量预测块进行编码/解码时的亮度分量预测块的块矢量
在以下情况中的一种情况下,可能不存在与当前色度分量块的子块对应的亮度分量子块的块矢量。
1、未使用帧内块复制预测方法对包括与当前色度分量块的子块对应的亮度分量子块的左上样点的亮度分量预测块进行编码/解码或者使用帧内预测方法对包括与当前色度分量块的子块对应的亮度分量子块的左上样点的亮度分量预测块进行编码/解码的情况
2、未使用帧内块复制预测方法对包括与当前色度分量块的子块对应的亮度分量子块的中心位置样点的亮度分量预测块进行编码/解码或者使用帧内预测方法对包括与当前色度分量块的子块对应的亮度分量子块的中心位置样点的亮度分量预测块进行编码/解码的情况
3、如在图17的示例中,未使用帧内块复制预测方法对包括与当前色度分量块的子块对应的亮度分量子块中的阴影样点位置中的一个阴影样点位置的亮度分量预测块进行编码/解码或者使用帧内预测方法对包括与当前色度分量块的子块对应的亮度分量子块中的阴影样点位置中的一个阴影样点位置的亮度分量预测块进行编码/解码的情况。
4、未使用帧内块复制预测方法对在与当前色度分量块的子块对应的亮度分量子块中占据最大区域的亮度分量预测块进行编码/解码或者使用帧内预测方法对在与当前色度分量块的子块对应的亮度分量子块中占据最大区域的亮度分量预测块进行编码/解码的情况
当不存在与当前色度分量块的子块(在下文中被称为“当前子块”)对应的亮度分量子块的块矢量时,可使用以下方法之一推导与当前色度分量块对应的块矢量。
当前子块的块矢量可被设置为(0,0)或(D1,D2)。此时,D1和D2可以是整数0、±1、±2、±3、……。
当前子块的块矢量可被设置为(Wc+D1,D2)或(D1,Hc+D2)。此时,Wc可以是当前色度分量块的宽度,Hc可以是当前色度分量块的高度,并且D1和D2可以是整数0、±1、±2、±3、……。
当前子块的块矢量可被设置为(-(Wc<<n)+a,-(Hc<<n)+b)、(-(Wc<<n)+c,0)或(0,-(Hc<<n)+d)中的一个。此时,n可以是大于或等于0的正整数,并且a、b、c和d可具有整数值。
当前子块的邻近子块(例如,上方子块、下方子块、左侧子块、右侧子块、左上方子块、右上方子块、左下方子块或右下方子块中的至少一个)的块矢量可被用作当前子块的块矢量。
可使用当前色度分量块的子块中的存在对应亮度分量子块的块矢量的子块的块矢量值的统计值来推导当前子块的块矢量。
例如,当前子块的块矢量可以是子块的块矢量的平均值、中值、最大值或最小值中的一个。
作为另一示例,当前子块的块矢量可以是出现频率最高的块矢量。
另外,当未使用帧内块复制预测方法对对应亮度分量子块进行编码/解码时,或者当存在其中不存在亮度分量子块的块矢量的至少一个色度分量子块时,可不使用帧内块复制预测方法对色度分量块进行编码/解码。
可如下设置与当前色度分量块的子块对应的亮度分量子块的预测模式。这里,预测模式可以是帧内预测、帧间预测或帧内块复制预测,并且更具体地,可以是帧间预测模式中的跳过模式、合并模式、AMVP模式或仿射跳过模式中的一个模式,或者可以是帧内块复制预测模式中的基于帧内块复制的跳过模式、基于帧内块复制的合并模式或基于帧内块复制的AMVP模式。
1、包括与当前色度分量块的子块对应的亮度分量子块的左上样点的亮度分量预测块的预测模式
2、包括与当前色度分量块的子块对应的亮度分量子块的中心位置样点的亮度分量预测块的预测模式
3、如在图17的示例中包括与当前色度分量块的子块对应的亮度分量子块中的阴影样点位置中的一个阴影样点位置的亮度分量预测块的预测模式
4、在与当前色度分量块的子块对应的亮度分量子块中占据最大区域的亮度分量预测块的预测模式
在下文中,将描述推导预测信号的步骤。
推导用于帧内块复制预测的预测信号的步骤可包括推导亮度分量块的预测信号的步骤和推导色度分量块的预测信号的步骤中的至少一个步骤。
在下文中,将描述推导亮度分量块的预测信号的步骤。
与当前亮度分量块相隔推导出的亮度分量块的块矢量的块可被称为预测块。
例如,当当前亮度分量块的左上样点位置为(x0,y0),宽度为WL,高度为HL,并且推导出的亮度分量的块矢量为(xd,yd)时,同一画面中的与当前亮度分量块的左上样点位置相隔(xd,yd)的样点位置(x0+xd,y0+yd)为左上样点位置、宽度为WL且高度为HL的块可以是预测块。此时,如果xd是负整数,则它可从(x0,y0)在水平方向上向左移动xd,如果xd是正整数,则可从(x0,y0)向右移动xd,如果yd是负整数,则可从(x0,y0)在垂直方向上向上移动yd,并且如果yd是正整数,则可从(x0,y0)向下移动yd。
图18是示出根据本发明的另一实施例的当前块与预测块之间的关系的示图。
参照图18,假设xd和yd是负整数。
预测块的样点值可被设置为当前亮度分量块的预测样点值,并且设置的值可被称为当前亮度分量块的预测信号。
在下文中,将描述推导色度分量块的预测信号的步骤。
根据实施例,当同一CTU中的亮度分量和色度分量的块分区被等同地执行(即,亮度分量的块分区结构和色度分量的块分区结构相同)并且当前块是色度分量块且使用帧内块复制预测方法被编码时,可如下推导色度分量块的预测信号。
与当前色度分量块相隔推导出的色度分量块的块矢量的块可被称为预测块。
例如,当当前色度分量块的左上样点位置是(x0,y0),宽度是Wc,高度是Hc并且推导出的色度分量的块矢量是(xd,yd)时,同一画面中的与当前色度分量块的左上样点位置相隔(xd,yd)的样点位置(x0+xd,y0+yd)是左上样点位置、宽度为Wc且高度为Hc的块可以是预测块。此时,如果xd是正整数,则它可从x0在水平方向上向右移动xd,如果xd是负整数,则可从x0向左移动xd,如果yd是正整数,则可从y0在垂直方向上向下移动yd,并且如果yd是负整数,则可从y0向上移动yd。
预测块的样点值可被设置为当前色度分量块的预测样点值,并且设置的值可被称为当前色度分量块的预测信号。
根据实施例,当同一CTU中的亮度分量和色度分量的块分区被独立地执行(即,亮度分量的块分区结构和色度分量的块分区结构不同)并且当前块是色度分量块且使用帧内块复制预测方法被编码时,可如下推导色度分量块的预测信号。
可使用以当前色度分量块的子块为单位推导出的块矢量以子块为单位推导子块预测信号。
与当前色度分量块的子块相隔推导出的色度分量的子块的块矢量的块可被称为预测子块。
例如,当当前色度分量块的子块的左上样点位置是(sx0,sy0),宽度是SWc,高度是SHc并且推导出的色度分量的块矢量是(Sxd,Syd)时,从同一画面中的当前色度分量块中的子块的左上样点位置移动(xd,yd)所得的(sx0+Sxd,sy0+Syd)可以是左上样点位置,并且宽度为SWc且高度为SHc的块可以是预测子块。
预测子块的样点值可被设置为当前色度分量子块的预测样点值,并且设置的值可被称为当前色度分量子块的预测信号。
可使用包括在当前色度分量块中的所有子块的子块预测信号来构建当前色度分量块的预测信号。
在下文中,将描述推导残差信号的步骤。
通常,当存在残差信号时,残差信号可在编码处理中被变换并被编码,并且可被包括在比特流中并在比特流中被发送,并且可在解码处理中执行变换编码处理的逆处理以推导残差信号。
指示存在/不存在包括在比特流中并被发送到解码器的残差信号相关信号(例如,量化变换系数(或量化的变换系数)等)的标识符信息可包括以下项中的至少一项。
cu_cbf:当亮度分量和色度分量具有相同块分区结构时,这可表示关于存在/不存在编码块CU中的亮度分量块的残差信号的量化变换系数和色度分量块的残差信号的量化变换系数的信息。当亮度分量和色度分量具有独立块分区结构时,这可表示关于存在/不存在亮度分量块(或编码块CU中的亮度分量块)或色度分量块(或编码块CU中的色度分量块)的残差信号的量化变换系数的信息。具有第一值1的关于存在/不存在残差信号的量化变换系数的信息可表示存在块的残差信号的量化变换系数,并且具有第二值0的关于存在/不存在残差信号的量化变换系数的信息可表示不存在块的残差信号的量化变换系数。当亮度分量和色度分量具有相同块分区结构时,如果亮度分量块和色度分量(Cb,Cr)块中的任意一个具有残差信号的量化变换系数,则关于存在/不存在残差信号的量化变换系数的信息可具有第一值,并且如果针对所有分量都不存在残差信号的量化变换系数,则关于存在/不存在残差信号的量化变换系数的信息可具有第二值。这里,亮度分量块和色度分量块可表示编码块CU中的亮度分量块和编码块CU中的色度分量块。
tu_cbf_luma:这可表示存在/不存在亮度分量块的残差信号的量化变换系数。具有第一值1的关于存在/不存在亮度分量块的残差信号的量化变换系数的信息可表示存在亮度块的残差信号的量化变换系数,并且具有第二值0的关于存在/不存在亮度分量块的残差信号的量化变换系数的信息可表示不存在亮度块的残差信号的量化变换系数。这里,亮度分量块可表示变换块TU中的亮度分量块。
tu_cbf_cr、tu_cbf_cb:这可表示存在/不存在色度分量的Cr和Cb中的每一个的残差信号的量化变换系数。具有第一值1的关于存在/不存在色度分量(Cr或Cb)块的残差信号的量化变换系数的信息可表示存在色度分量(Cr或Cb)块的残差信号的量化变换系数,并且具有第二值0的关于存在/不存在色度分量(Cr或Cb)块的残差信号的量化变换系数的信息可表示不存在色度分量(Cr或Cb)块的残差信号的量化变换系数。这里,色度分量块可表示变换块TU中的色度分量块。
另外,在以下实施例中,与cu_cbf相关的亮度分量块和色度分量块可分别表示编码块CU中的亮度分量块和编码块CU中的色度分量块。此外,与tu_cbf_luma相关的亮度分量块可表示变换块TU中的亮度分量块。此外,与tu_cbf_cr和tu_cbf_cb相关的色度分量块可表示变换块TU中的色度分量块。
通常,仅当cu_cbf具有第一值1时,可进一步发送tu_cbf_luma、tu_cbf_cr或tu_cbf_cb中的至少一个,以指示存在/不存在亮度分量、色度分量的Cr和色度分量的Cb的残差信号的量化变换系数。
当亮度分量和色度分量具有独立块分区结构时,cu_cbf可与tu_cbf_luma具有相同的信息。
在当前将被编码的CTU中,当亮度分量和色度分量的块分区结构相同并且当前亮度分量块处于基于帧内块复制的跳过模式时,可如下推导当前亮度分量块和色度分量块的残差信号。
当当前亮度分量块处于基于帧内块复制的跳过模式时,不存在如在一般帧内预测的跳过模式下的残差信号。在这种情况下,所有残差信号都可被设置为具有值0。
在当前色度分量块中,当对应亮度分量块处于基于帧内块复制的跳过模式时,不存在与亮度分量块相似的残差信号。在这种情况下,所有残差信号都可被设置为具有值0。
在基于帧内块复制的跳过模式的情况下,可不在比特流中发送用于标识残差信号的存在的信息(例如,标识符、标志、索引、cu_cbf、tu_cbf_luma、tu_cbf_cr、tu_cbf_cb等)。
例如,指示亮度分量、色度分量的Cr和色度分量的Cb的残差信号的量化变换系数是否都存在的cu_cbf值可不在比特流中被发送,并且可在解码处理中被设置为指示亮度分量、色度分量的Cr和色度分量的Cb的残差信号的量化变换系数全部都不存在的第二值。指示存在/不存在亮度分量的残差信号的量化变换系数的tu_cbf_luma、指示存在/不存在色度分量的Cr分量的残差信号的量化变换系数的tu_cbf_cr、指示存在/不存在色度分量的Cb分量的残差信号的量化变换系数的tu_cbf_cb全部都不被发送,并且在解码处理中都被设置为第二值,以指示不存在与其对应的残差信号的量化变换系数。
在当前将被编码的CTU中,当亮度分量和色度分量的块分区结构相同并且当前亮度分量块处于基于帧内块复制的合并模式时,可如下推导当前亮度分量块和色度分量块的残差信号。
当当前亮度分量块处于基于帧内块复制的合并模式时,残差信号可总是存在。在这种情况下,可在比特流中包括并发送在编码处理中被变换且被编码的残差信号的量化变换系数,并且可在解码处理中通过逆变换编码来推导该残差信号。
在当前色度分量块中,当对应亮度分量块处于基于帧内块复制的合并模式时,可存在与亮度分量块相似的残差信号。在这种情况下,可在比特流中包括并发送在编码处理中被变换且被编码的残差信号的量化变换系数,并且可在解码处理中通过逆变换编码来推导该残差信号。
在基于帧内块复制的合并模式的情况下,可不在比特流中发送用于标识残差信号的存在的信息(例如,标识符、标志、索引、cu_cbf等)。在合并模式下,由于残差信号总是存在,因此指示亮度分量、色度分量的Cr和色度分量的Cb的残差信号的量化变换系数中的任意一个是否存在的cu_cbf值在解码处理中也可被设置为第一值。在这种情况下,可不在比特流中发送用于标识残差信号的存在的信息,并且残差信号的量化变换系数信息也可被包括并被发送。
然而,在基于帧内块复制的合并模式的情况下,由于在亮度分量、色度分量的Cr和色度分量的Cb中可能存在具有残差的量化变换系数的分量,因此可在比特流中包括并发送指示存在/不存在每个分量的残差信号的量化变换系数的标识符(例如,在亮度分量的情况下的tu_cbf_luma以及在色度分量的情况下的tu_cbf_cr和tu_cbf_cb)。
在当前将被编码的CTU中,亮度分量和色度分量的块分区结构相同并且当前亮度分量块处于基于帧内块复制的AMVP模式,可如下推导当前亮度分量块和色度分量块的残差信号。
当当前亮度分量块处于基于帧内块复制的AMVP模式时,残差信号可能存在或可能不存在。在这种情况下,可总是在比特流中发送用于标识存在/不存在残差信号的信息。当存在残差信号时,可在比特流中包括并发送在编码处理中被变换且被编码的残差信号的量化变换系数,并且可在解码处理中通过逆变换编码来推导该残差信号。当不存在残差信号时,所有残差信号可被设置为具有值0。
在当前色度分量块中,当对应亮度分量块处于基于帧内块复制的AMVP模式时,可存在或不存在与亮度分量块相似的残差信号。在这种情况下,可在比特流中包括并发送在编码处理中被变换且被编码的残差信号的量化变换系数,并且可在解码处理中通过逆变换编码来推导该残差信号。当不存在残差信号时,所有残差信号可被设置为具有值0。
在基于帧内块复制的AMVP模式的情况下,由于亮度分量、色度分量的Cr和色度分量的Cb的残差信号的量化变换系数可能存在或可能不存在,因此用于标识存在/不存在残差信号的、指示亮度分量、色度分量的Cr和色度分量的Cb的残差信号的量化变换系数是否存在的信息(例如,标识符、标志、索引、cu_cbf等)可总是被包括在比特流中并在比特流中被发送。
此外,当用于标识存在/不存在残差信号的、指示亮度分量、色度分量的Cr和色度分量的Cb的残差信号的量化变换系数是否存在的信息(例如,标识符、标志、索引、cu_cbf等)具有指示存在残差信号的第一值时,由于在亮度分量、色度分量的Cr和色度分量的Cb中可能存在没有残差的量化变换系数的分量,因此指示存在/不存在每个分量的残差信号的量化变换系数的标识符(例如,在亮度分量的情况下的tu_cbf_luma以及在色度分量下的tu_cbf_cr和tu_cbf_cb)可被包括在比特流中并在比特流中被发送。
在当前将被编码的CTU中,当亮度分量和色度分量的块分区是独立的并且当前亮度分量块处于基于帧内块复制的跳过模式时,当前亮度分量块的残差信号可如在一般帧内预测的跳过模式下那样不存在。在这种情况下,所有残差信号可被设置为具有值0,并且可不在比特流中发送用于标识残差信号的存在的信息(例如,标识符、标志、索引、cu_cb、tu_cbf_luma等)。
当亮度分量块处于基于帧内块复制的跳过模式时,针对按独立分区结构的亮度分量块发送的cu_cbf可指示是否存在亮度分量块的残差信号的量化变换系数。在这种情况下,由于亮度分量块的残差信号的量化变换系数总是不存在,因此该信息可不在比特流中被发送,并且在解码处理中可被设置为第二值0。
此外,指示亮度分量的残差信号的存在的标识信息(例如,tu_cbf_luma)可不在比特流中被发送,并且在解码处理中可被设置为第二值0。
在将被当前编码的CTU中,当亮度分量和色度分量的块分区是独立的并且当前亮度分量块处于基于帧内块复制的合并模式时,当前亮度分量块的残差信号可如在一般帧内预测的合并模式下那样总是存在。在这种情况下,可在比特流中包括并发送在编码处理中被变换且被编码的残差信号的量化变换系数,并且可在解码处理中通过逆变换编码来推导该残差信号。
当亮度分量块处于基于帧内块复制的合并模式时,在独立分区结构中,针对亮度分量块发送的cu_cbf可仅指示是否存在亮度分量块的残差信号的量化变换系数。在这种情况下,由于亮度分量块的残差信号的量化变换系数总是存在,因此该信息可不在比特流中被发送,并且在解码处理中可被设置为第一值1。
另外,指示存在/不存在亮度分量的残差信号的标识信息(例如,tu_cbf_luma)与针对按独立分区结构的亮度分量块发送的cu_cbf具有相同的值,因此可不在比特流中被发送,并且在解码处理中可被设置为第一值1。
在当前将被编码的CTU中,当亮度分量和色度分量的块分区是独立的并且当前亮度分量块处于基于帧内块复制的AMVP模式时,当前亮度分量块的残差信号可如在一般帧内预测的AMVP模式下那样存在或不存在。当存在当前亮度分量块的残差信号时,可在比特流中包括并发送在编码处理中被变换且被编码的残差信号的量化变换系数,并且可在解码处理中通过逆变换编码来推导该残差信号。当不存在残差信号时,所有残差信号可被设置为具有值0。
当亮度分量块处于基于帧内块复制的AMVP模式时,针对按独立分区结构的亮度分量块发送的cu_cbf可仅指示是否存在亮度分量块的残差信号的量化变换系数。在这种情况下,由于亮度分量块的残差信号的量化变换系数可能存在或可能不存在,因此可总是在比特流中发送作为用于标识是否存在残差信号的信息的cu_cbf。
另外,指示存在/不存在变换单元TU中的亮度信号的残差信号的标识信息(例如,tu_cbf_luma)与针对编码块CU中的按独立分区结构的亮度分量块发送的cu_cbf具有相同的值,因此可不在比特流中被发送,并且在解码处理中可被设置为与cu_cbf相同的值。也就是说,可通过去除cu_cbf和tu_cbf_luma两者的信令的冗余来提高编码/解码效率。例如,在独立分区结构中,当当前亮度分量块的预测模式是帧内块复制模式时,可不用信号发送tu_cbf_luma。此时,未被用信号发送的tu_cbf_luma值可被设置为cu_cbf值。
可根据cu_cbf或tu_cbf_luma的值来确定是否存在残差信号。例如,当cu_cbf或tu_cbf_luma的值具有第一值时,可确定存在残差信号。
当亮度分量和色度分量的块分区在同一CTU中被独立地执行(即,亮度分量的块分区结构与色度分量的块分区结构不同)并且当前块为色度分量块且使用帧内块复制预测方法被编码时,可如下推导色度分量块的残差信号。
包括在与当前色度分量块对应的亮度分量块中的所有子块可具有相同的帧内块复制预测编码模式。
此时,帧内块复制预测编码模式可以是基于帧内块复制的跳过模式、基于帧内块复制的合并模式或基于帧内块复制的AMVP模式。
图19是示出根据本发明的实施例的与色度分量块对应的亮度分量子块的预测编码模式相同时的视图。例如,如在图19的示例中,亮度分量子块的所有预测编码模式可以是基于帧内块复制的跳过模式、基于帧内块复制的合并模式或基于帧内块复制的AMVP模式。
当包括在与当前色度分量块对应的亮度分量块中的所有子块处于相同的帧内块复制预测模式时,可基于对应亮度分量块的帧内块复制预测模式来确定是否对对应色度分量块的残差信号进行编码/解码。
例如,当包括在与当前色度分量块对应的亮度分量块中的所有子块处于基于帧内块复制的跳过模式时,如在亮度分量块处于基于帧内块复制的跳过模式的情况下那样,色度分量块的残差信号也可不被编码/解码,并且残差信号信息可不被发送。在这种情况下,所有残差信号可被设置为具有值0。
此时,可不发送用于标识存在/不存在块的残差信号的信息(例如,标识符、标志、cu_cbf、tu_cbf_cr/tu_cbf_cb等)。具有第一值的用于标识存在/不存在残差信号的信息可指示残差信号存在,并且具有第二值的该信息可指示残差信号不存在。当色度分量块处于基于帧内块复制的跳过模式时,用于标识存在/不存在该块的残差信号的信息可被设置。
作为另一示例,当包括在与当前色度分量块对应的亮度分量块中的所有子块处于基于帧内块复制的合并模式时,如在亮度分量块处于基于帧内块复制的合并模式的情况下那样,色度分量块可总是具有残差信号。在这种情况下,可在比特流中包括并发送在编码处理中被变换且被编码的残差信号的量化变换系数,并且可在解码处理中通过逆变换编码来推导该残差信号。
在独立分区结构中,针对色度分量块发送的用于标识残差信号的存在的信息(例如,标识符、标志、cu_cbf等)可指示残差信号的量化变换系数是否存在于色度分量的Cb块和Cr块中的至少一个块中。
在基于帧内块复制的合并模式的情况下,可不在比特流中发送用于标识存在/不存在残差信号的信息(例如,标识符、标志、索引、cu_cbf等)。在合并模式下,由于残差信号总是存在,因此指示色度分量的Cr和色度分量的Cb的残差信号的量化变换系数中的任意一个是否存在的cu_cbf值在解码处理中可总是被设置为第一值。
然而,在基于帧内块复制的合并模式的情况下,由于在色度分量的Cr和色度分量的Cb之中可能存在没有残差信号的量化变换系数的分量,因此可在比特流中包括并发送指示存在/不存在每个色度分量的残差信号的量化变换系数的标识符(例如,tu_cbf_cr、tu_cbf_cb)。
作为另一示例,当包括在与当前色度分量块对应的亮度分量块中的所有子块处于基于帧内块复制的AMVP模式时,如在亮度分量块处于基于帧内块复制的AMVP模式的情况下那样,色度分量块可具有或可不具有残差信号。在这种情况下,可总是在比特流中发送用于标识存在/不存在残差的信息。当存在当前亮度分量块的残差信号时,可在比特流中包括并发送在编码处理中被变换且被编码的残差信号的量化变换系数,并且可在解码处理中通过逆变换编码来推导该残差信号。当不存在残差信号时,所有残差信号可被设置为具有值0。
在独立分区结构中,针对色度分量块发送的用于标识残差信号的存在的信息(例如,标识符、标志、cu_cbf等)可指示残差信号的量化变换系数是否存在于色度分量的Cb块和Cr块中的至少一个块中。
在基于帧内块复制的AMVP模式的情况下,由于色度分量的Cr和色度分量的Cb的残差信号的量化变换系数可能存在或可能不存在,因此用于标识存在/不存在色度分量的Cr和色度分量的Cb的残差信号的信息(例如,标识符、标志、索引、cu_cbf等)可在比特流中被发送。
此外,当用于标识存在/不存在色度分量的Cr和色度分量的Cb的残差信号的信息(例如,标识符、标志、索引、cu_cbf等)具有指示残差信号存在的第一值时,由于在色度分量的Cr和色度分量的Cb之中可能存在没有残差的量化变换系数的分量,因此指示存在/不存在每个分量的残差信号的量化变换系数的标识符(例如,在色度分量的情况下的tu_cbf_cr或tu_cbf_cb)可被包括在比特流中并在比特流中被发送。当指示色度分量的Cr的残差信号的量化变换系数的存在的标识符(例如,tu_cbf_cr)具有第一值时,可在比特流中包括并发送针对Cr分量的残差信号的量化变换系数信息。当指示色度分量的Cb的残差信号的量化变换系数的存在的标识符(例如,tu_cbf_cr)具有第一值时,可在比特流中包括并发送针对Cb分量的残差信号的量化变换系数信息。
作为另一示例,即使包括在与当前色度分量块对应的亮度分量块中的所有子块处于相同的帧内块复制预测模式(例如,基于帧内块复制的跳过模式、基于帧内块复制的合并模式、基于帧内块复制的AMVP模式等),由于包括在对应亮度分量块中的所有样点不处于相同的帧内块复制预测模式,因此根据与色度分量块对应的亮度分量块的模式对残差信号进行编码可能不是高效的。
因此,当色度分量块处于帧内块复制模式时,不管包括在对应亮度分量块中的子块的模式的类型如何,用于标识存在/不存在色度分量的Cr和色度分量的Cb的残差信号的量化变换系数的信息(例如,标识符、标志、索引、cu_cbf等)可总是被包括在比特流中并在比特流中被发送。
此外,当用于标识存在/不存在色度分量的Cr和色度分量的Cb的残差信号的量化变换系数的信息(例如,标识符、标志、索引、cu_cbf等)具有指示存在残差信号的第一值时,由于在色度分量的Cr和色度分量的Cb之中可能存在没有残差的量化变换系数的分量,因此指示存在/不存在每个分量的残差信号的量化变换系数的标识符(例如,在色度分量的情况下的tu_cbf_cr或tu_cbf_cb)可被包括在比特流中并在比特流中被发送。当指示色度分量的Cr的残差信号的量化变换系数的存在的标识符(例如,tu_cbf_cr)具有第一值时,可在比特流中包括并发送Cr分量的残差信号的量化变换系数信息。当指示色度分量的Cb的残差信号的量化变换系数的存在的标识符(例如,tu_cbf_cr)具有第一值时,可在比特流中包括并发送Cb分量的残差信号的量化变换系数信息,并且可在解码处理中通过逆变换编码来推导该残差信号。当识别出不存在色度分量块的残差信号时,色度分量块的残差信号的量化变换系数信息可不被发送,并且所有残差信号可被设置为具有值0。
作为另一示例,当当前色度分量块处于帧内块复制预测模式时或当包括在与当前色度分量块对应的亮度分量块中的所有子块处于帧内块复制预测模式时,与色度分量块对应的亮度分量的子块可能处于不同的帧内块复制预测编码模式(例如,基于帧内块复制的跳过模式、基于帧内块复制的合并模式和基于帧内块复制的AMVP模式)。图20是示出根据本发明的实施例的与色度分量块对应的亮度分量子块的预测编码模式不同时的示图。例如,如在图20的示例中,基于帧内块复制的跳过模式、基于帧内块复制的合并模式和基于帧内块复制的AMVP模式中的至少两个模式可存在于对应亮度分量块中。
此时,不管包括在对应亮度分量块中的子块的模式的类型如何,用于标识存在/不存在色度分量的Cr和色度分量的Cb的残差信号的量化变换系数的信息(例如,标识符、标志、索引、cu_cbf等)可总是被包括在比特流中并在比特流中被发送。
此外,当用于标识存在/不存在色度分量的Cr和色度分量的Cb的残差信号的量化变换系数的信息(例如,标识符、标志、索引、cu_cbf等)具有指示存在残差信号的第一值时,由于在色度分量的Cr和色度分量的Cb之中可能存在没有残差信号的量化变换系数的分量,因此指示存在/不存在每个分量的残差信号的量化变换系数的标识符(例如,在色度分量的情况下的tu_cbf_cr、tu_cbf_cb)可被包括在比特流中并在比特流中被发送。当指示色度分量的Cr的残差信号的量化变换系数的存在的标识符(例如,tu_cbf_cr)具有第一值时,Cr分量的残差信号的量化变换系数信息可被包括在比特流中并在比特流中被发送。当指示色度分量的Cb的残差信号的量化变换系数的存在的标识符(例如,tu_cbf_cr)具有第一值时,Cb分量的残差信号的量化变换系数信息可被包括在比特流中并在比特流中被发送,并且可在解码处理中通过逆变换编码来推导该残差信号。当识别出不存在色度分量块的残差信号时,色度分量块的残差信号的量化变换系数信息可不被发送,并且所有残差信号可被设置为具有值0。
在下文中,将描述构建重建信号的步骤。
在当前亮度分量块中,可通过将亮度分量块的残差信号与亮度分量块的预测信号相加来构建重建信号。
在当前色度分量块中,可通过将色度分量块的残差信号与色度分量块的预测信号相加来构建重建信号。
另外,当不存在残差信号时,预测信号可被设置为重建信号。
在下文中,将描述对关于帧内块复制预测的信息进行熵编码/熵解码的步骤。
关于帧内块复制预测编码的信息可在比特流中被熵编码,或者可从比特流被熵解码得到。这里,关于帧内块复制预测编码的信息可包括以下信息中的至少一个。
指示跳过模式是否被使用的cu_skip_flag
指示合并模式是否被使用的merge_flag
指示合并候选的merge_idx(合并索引),
指示预测模式是否是帧内预测的pred_mode_flag
指示预测模式是帧间预测还是帧内块复制预测的pre_mode_ibc_flag
块矢量候选索引(mvp_l0_flag)
运动矢量差
指示存在/不存在残差信号的量化变换系数的cu_cbf、tu_cbf_luma、tu_cbf_cb和tu_cbf_cr
这里,cu_skip_flag可表示跳过模式是否被使用,并且可以以编码块或预测块中的至少一个为单位被熵编码。例如,如果指示跳过模式是否被使用的信息具有第一值1,则这可指示跳过模式被使用,并且当指示跳过模式是否被使用的信息具有第二值0时,这可指示跳过模式未被使用。
merge_flag可表示合并模式是否被使用,并且可以以编码块或预测块中的至少一个为单位对merge_flag进行熵编码。例如,如果指示合并模式是否被使用的信息具有第一值1,则这可指示合并模式被使用,并且当指示跳过模式是否被使用的信息具有第二值0时,这可指示合并模式未被使用。
merge_idx可表示指示合并候选列表中的合并候选的信息,并且可以以编码块或预测块中的至少一个为单位被熵编码。此外,merge_idx可表示合并索引信息。此外,merge_idx可指示在空间上与当前块相邻的重建块中的推导合并候选的块。此外,merge_idx可指示合并候选的运动信息中的至少一个。例如,具有第一值0的合并索引信息可指示合并候选列表中的第一合并候选,具有第二值1的合并索引信息可指示合并候选列表中的第二合并候选,并且具有第三值2的合并索引信息可指示合并候选列表中的第三合并候选。此外,具有第四值至第N值的合并索引信息可按照合并候选列表中的候选的顺序指示与对应值对应的合并候选。这里,N可以是包括0的正整数。
pred_mode_flag可表示帧内预测模式是否被应用,并且可以以编码块或预测块中的至少一个为单位被熵编码。例如,具有第一值1的指示帧内预测模式是否被应用的信息可指示帧内预测模式被应用,并且具有第二值0的指示帧内预测模式是否被应用的信息可指示帧内预测模式未被应用。
pred_mode_ibc_flag可表示帧内块复制预测模式是否被应用,并且可以以编码块、预测块或编码单元中的至少一个为单位被熵编码。例如,具有第一值1的指示帧内块复制预测模式是否被应用的信息可指示帧内块复制预测模式被应用,并且具有第二值0的指示帧内块复制预测模式是否被应用的信息可指示帧内块复制预测模式未被应用。
块矢量候选索引mvp_l0_flag可指示帧内块复制预测模式的块矢量候选列表中的由当前块使用的块矢量候选,并且块矢量候选索引可被熵编码/熵解码。可使用块矢量候选索引来推导当前块的预测块。
运动矢量差可表示块矢量与预测块矢量之间的差,并且可使用该块矢量差来推导当前块的预测块。
在指示存在/不存在残差信号的量化变换系数的cu_cbf、tu_cbf_luma、tu_cbf_cb和tu_cbf_cr中,当亮度分量和色度分量具有相同块分区结构时,cu_cbf可表示关于存在/不存在亮度分量块的量化变换系数和色度分量块的量化变换系数的信息,并且当亮度分量和色度分量具有独立块分区结构时,cu_cbf可表示关于亮度分量块或色度分量块的量化变换系数的信息。具有第一值1的指示存在/不存在量化变换系数的信息可表示块的量化变换系数存在,并且具有第二值0的指示存在/不存在量化变换系数的信息可表示块的量化变换系数不存在。tu_cbf_luma可表示存在/不存在亮度分量块的量化变换系数,tu_cbf_cr和tu_cbf_cb可分别表示存在/不存在色度分量的Cr和Cb的量化变换系数。具有第一值1的关于存在/不存在亮度分量块的量化变换系数的信息可表示亮度块的量化变换系数存在,并且具有第二值0的关于存在/不存在亮度分量块的量化变换系数的信息可表示亮度块的量化变换系数不存在。具有第一值1的关于存在/不存在色度分量Cb或Cr的量化变换系数的信息可表示色度块的量化变换系数存在,并且具有第二值0的关于存在/不存在色度分量Cb或Cr的量化变换系数的信息可表示色度块的量化变换系数不存在。
此外,可从视频参数集、序列参数集、画面参数集、自适应参数集、并行块头、并行块组头、条带头或条带有效负载中的至少一个对关于帧内块复制预测编码的信息中的至少一个信息进行熵编码/熵解码。
图21至图23是示出根据本发明的实施例的与帧内块分区相关联地发送的编码信息的示图。
图21a和图21b示出针对每个块分区结构的编码信息发送方法的示例。
图22至图23示出当在帧内块分区预测时发送的cu_cbf和tu_cbf_luma信息重叠时去除重叠的编码信息发送方法的示例。
具体地,图22至图23示出在独立块分区结构中并且当亮度分量块为帧内块复制预测时,指示相同信息的cu_cbf和tu_cbf_luma的冗余信令的方法。此外,参照图22至图23,在独立块分区结构中并且当亮度分量块为帧内块复制预测时,tu_cbf_luma可不被发送,并且cu_cbf值可被设置为tu_cbf_luma值。
参照图22,在独立块分区结构的亮度分量块(即,treeType是DUAL_TREE_LUMA)的情况下,通过仅在预测模式是帧内预测模式(即,CurPredMode[x0][y0]==MODE_INTRA)时用信号发送tu_cbf_luma,在独立块分区结构的亮度分量块处于帧内块复制预测模式的情况下可不发送tu_cbf_luma。此外,可不用信号发送独立块分区结构的亮度分量块(即,treeType是DUAL_TREE_LUMA)、tu_cbf_cb和tu_cbf_cr,并且当tu_cbf_cb和tu_cbf_cr未被用信号发送时,可在解码处理中将它们设置为0。另外,未被用信号发送的tu_cbf_luma值可被设置为cu_cbf值。
参照图23,在独立块分区结构的亮度分量块(即,treeType是DUAL_TREE_LUMA)的情况下,通过仅在预测模式不是帧内块复制预测模式(即,CurPredMode[x0][y0]==MODE_IBC)时用信号发送tu_cbf_luma,当独立块分区结构的亮度分量块处于帧内块复制预测模式时,可不发送tu_cbf_luma。此外,在独立块分区结构的亮度分量块的情况下(即,treeType是DUAL_TREE_LUMA),可不用信号发送tu_cbf_cb和tu_cbf_cr,并且当tu_cbf_cb和tu_cbf_cr未被用信号发送时,可在解码处理中将它们设置为0。另外,未被用信号发送的tu_cbf_luma值可被设置为cu_cbf值。
根据本发明,可提供一种在独立块分区结构中从与色度分量块对应的亮度分量块矢量推导色度分量块的块矢量的方法以及一种用于当基于帧内块复制执行编码时使色度分量块和亮度分量块的残差信号编码信息最小化的方法和设备。
当对关于运动补偿的信息或区域信息中的至少一个信息进行熵编码/熵解码时,可使用以下二值化方法中的至少一种方法。
截断Rice二值化方法
k阶Exp_Golomb二值化方法
有限k阶Exp_Golomb二值化方法
固定长度二值化方法
一元二值化方法
截断一元二值化方法
当对关于运动补偿的信息或区域信息中的至少一个信息进行熵编码/熵解码时,可使用以下信息中的至少一个来确定上下文模型:关于邻近块的运动补偿的信息或邻近块的区域信息、先前被编码/解码的关于运动补偿的信息、先前被编码/解码的区域信息、关于当前单元/块的深度的信息或关于当前单元/块的尺寸的信息中的至少一个。
当对关于运动补偿的信息或区域信息中的至少一个信息进行熵编码/熵解码时,可将以下信息中的至少一个用作针对关于当前块的运动补偿的信息或区域信息的预测值来执行熵编码/熵解码:关于邻近块的运动补偿的信息或邻近块的区域信息、先前被编码/解码的关于运动补偿的信息、先前被编码/解码的区域信息、关于当前单元/块的深度的信息或关于当前单元/块的尺寸的信息中的至少一个。
可在编码器和解码器中以相同的方法执行上述实施例。
上述实施例中的至少一个实施例或组合可被用于对视频进行编码/解码。
应用于上述实施例的顺序在编码器与解码器之间可不同,或者应用于上述实施例的顺序在编码器和解码器中可相同。
可对每个亮度信号和每个色度信号执行上述实施例,或者可对亮度信号和色度信号相同地执行上述实施例。
应用了本发明的上述实施例的块形式可具有正方形形式或非正方形形式。
在编码器中熵编码和在解码器中熵解码的语法元素(标志、索引等)中的至少一个可使用以下二值化、反二值化、熵编码/熵解码方法中的至少一种。
-有符号的0阶Exp_Golomb的二值化/反二值化的方法(se(v))
-有符号的k阶Exp_Golomb的二值化/反二值化的方法(sek(v))
-无符号的正整数的0阶Exp_Golomb的二值化/反二值化的方法(ue(v))
-无符号的正整数的k阶Exp_Golomb的二值化/反二值化的方法(uek(v))
-固定长度二值化/反二值化方法(f(n))
-截断Rice二值化/反二值化方法或截断一元二值化/反二值化方法(tu(v))
-截断二元二值化/反二值化方法(tb(v))
-上下文自适应算术编码/解码方法(ae(v))
-字节单位比特串(b(8))
-有符号的整数的二值化/反二值化方法(i(n))
-无符号的正整数的二值化/反二值化方法(u(n))
-一元二值化/反二值化方法
可根据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的上述实施例。这里,尺寸可被定义为最小尺寸或最大尺寸或者最小尺寸和最大尺寸两者,使得上述实施例被应用,或者尺寸可被定义为应用上述实施例的固定尺寸。此外,在上述实施例中,第一实施例可被应用于第一尺寸,并且第二实施例可被应用于第二尺寸。换句话说,可根据尺寸组合地应用上述实施例。此外,当尺寸等于或大于最小尺寸且等于或小于最大尺寸时,可应用上述实施例。换句话说,当块尺寸被包括在特定范围内时,可应用上述实施例。
例如,当当前块的尺寸为8×8或更大时,可应用上述实施例。例如,当当前块的尺寸仅为4×4时,可应用上述实施例。例如,当当前块的尺寸为16×16或更小时,可应用上述实施例。例如,当当前块的尺寸等于或大于16×16且等于或小于64×64时,可应用上述实施例。
可根据时间层来应用本发明的上述实施例。为了标识可应用上述实施例的时间层,对应标识符可被用信号发送,并且可将上述实施例应用于由所述对应标识符标识的指定时间层。这里,标识符可被定义为可应用上述实施例的最低层或最高层或者最低层和最高层两者,或者可被定义为指示应用所述实施例的特定层。此外,可定义应用所述实施例的固定时间层。
例如,当当前图像的时间层是最低层时,可应用上述实施例。例如,当当前图像的时间层标识符是1时,可应用上述实施例。例如,当当前图像的时间层是最高层时,可应用上述实施例。
可定义应用本发明的上述实施例的条带类型或并行块组类型,并且可根据对应的条带类型或并行块组类型来应用上述实施例。
在上述实施例中,基于具有一系列步骤或单元的流程图描述了所述方法,但是本发明不限于所述步骤的顺序,而是一些步骤可与其他步骤同时执行或按不同的顺序执行。此外,本领域普通技术人员应理解,流程图中的步骤不彼此排斥,并且在不影响本发明的范围的情况下,可将其他步骤添加到流程图,或者可从流程图删除一些步骤。
所述实施例包括示例的各个方面。可不描述针对各个方面的所有可能组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括权利要求的范围内的所有替换、修改和改变。
可以以可由各种计算机组件执行并被记录在计算机可读记录介质中的程序指令的形式实现本发明的实施例。计算机可读记录介质可包括单独的程序指令、数据文件、数据结构等或者程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是针对本发明专门设计和构建的,或者是计算机软件技术领域的普通技术人员公知的。计算机可读记录介质的示例包括被具体构建为存储和实现程序指令的磁记录介质(诸如硬盘、软盘和磁带)、光学数据存储介质(诸如CD-ROM或DVD-ROM)、磁光介质(诸如软光盘)以及硬件装置(诸如只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例不仅包括由编译器格式化的机器语言代码,还包括可由计算机使用解释器实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作以进行根据本发明的处理,反之亦可。
虽然已经根据诸如详细元件的特定项以及有限的实施例和附图描述了本发明,但是提供它们仅是为了帮助对本发明的更大体的理解,并且本发明不限于上述实施例。本发明所属领域的技术人员将理解,可从上述描述进行各种修改和改变。
因此,本发明的精神不应限于上述实施例,并且权利要求及其等同物的整体范围将落入本发明的范围和精神内。
工业适用性
本发明可被用于对图像进行编码或解码。

Claims (20)

1.一种对图像进行解码的方法,所述方法包括:
从比特流获取当前块的预测模式信息;
使用所述当前块的预测模式信息对所述当前块的帧内块复制预测模式进行解码;并且
基于所述帧内块复制预测模式重建所述当前块,
其中,所述帧内块复制预测模式是基于块复制的跳过模式、基于块复制的合并模式或基于块复制的AMVP模式中的至少一个。
2.如权利要求1所述的方法,
其中,重建所述当前块的步骤包括:
构建针对所述当前块的块矢量候选列表;
从包括在所述块矢量候选列表中的候选块矢量推导针对所述当前块的块矢量;并且
使用推导出的块矢量重建所述当前块。
3.如权利要求2所述的方法,其中,构建针对所述当前块的块矢量候选列表的步骤包括:从比特流获取指示所述块矢量候选列表中的可允许候选块矢量的最大数量的第一信息。
4.如权利要求3所述的方法,其中,第一信息在序列参数集中被用信号发送。
5.如权利要求4所述的方法,其中,第一信息是基于指示帧内块复制预测模式是否被使用的第二信息而被熵解码的。
6.如权利要求5所述的方法,其中,所述块矢量候选列表中的可允许候选块矢量的最大数量是通过预定正整数与第一信息的值之间的差而推导出的。
7.如权利要求3所述的方法,其中,当所述当前块的帧内块复制预测模式处于基于块复制的AMVP模式并且所述块矢量候选列表中的可允许候选块矢量的最大数量大于预定值时,指示L0运动矢量预测因子的索引的信息被解码。
8.如权利要求3所述的方法,其中,当包括在所述块矢量候选列表中的候选块矢量的数量小于所述块矢量候选列表中的可允许候选块矢量的最大数量时,构建针对所述当前块的块矢量候选列表的步骤包括:将基于历史的块矢量候选添加到所述块矢量候选列表,直到候选块矢量的数量变得等于所述块矢量候选列表中的可允许候选块矢量的最大数量为止。
9.如权利要求8所述的方法,还包括:确定所述基于历史的块矢量候选中的预定候选是否与包括在所述块矢量候选列表中的候选块矢量重复。
10.如权利要求2所述的方法,其中,当所述当前块具有小于预定尺寸的尺寸时,对所述当前块的基于历史的块矢量候选列表的更新处理不被执行。
11.一种对图像进行编码的方法,所述方法包括:
基于当前块的帧内块复制预测模式对所述当前块进行编码;并且
使用所述当前块的预测模式信息对所述当前块的帧内块复制预测模式进行编码,
其中,所述帧内块复制预测模式是基于块复制的跳过模式、基于块复制的合并模式或基于块复制的AMVP模式中的至少一个。
12.如权利要求11所述的方法,
其中,对所述当前块进行编码的步骤包括:
构建针对所述当前块的块矢量候选列表;
从包括在所述块矢量候选列表中的候选块矢量推导针对所述当前块的块矢量;并且
使用推导出的块矢量对所述当前块进行编码。
13.如权利要求12所述的方法,还包括:将指示所述块矢量候选列表中的可允许候选块矢量的最大数量的第一信息编码到比特流中。
14.如权利要求13所述的方法,其中,第一信息在序列参数集中被用信号发送。
15.如权利要求14所述的方法,其中,第一信息是基于指示帧内块复制预测模式是否被使用的第二信息而被编码的。
16.如权利要求15所述的方法,
其中,所述块矢量候选列表中的可允许候选块矢量的最大数量是通过预定正整数与第一信息的值之间的差而被编码的。
17.如权利要求13所述的方法,其中,当所述当前块的帧内块复制预测模式处于基于块复制的AMVP模式并且所述块矢量候选列表中的可允许候选块矢量的最大数量大于预定值时,指示L0运动矢量预测因子的索引的信息被编码。
18.如权利要求13所述的方法,其中,当包括在所述块矢量候选列表中的候选块矢量的数量小于所述块矢量候选列表中的可允许候选块矢量的最大数量时,构建针对所述当前块的块矢量候选列表的步骤包括:将基于历史的块矢量候选添加到所述块矢量候选列表,直到候选块矢量的数量变得等于所述块矢量候选列表中的可允许候选块矢量的最大数量为止。
19.如权利要求14所述的方法,其中,当所述当前块具有小于预定尺寸的尺寸时,对所述当前块的基于历史的块矢量候选列表的更新处理不被执行。
20.一种用于存储比特流的非暂时性计算机可读记录介质,其中,所述比特流被图像解码设备用于接收、解码和重建图像,
其中,所述比特流包括当前块的预测模式信息,
其中,所述当前块的预测模式信息被用于推导所述当前块的帧内块复制预测模式,
其中,所述帧内块复制预测模式被用于重建所述当前块,并且
其中,所述帧内块复制预测模式是基于块复制的跳过模式、基于块复制的合并模式或基于块复制的AMVP模式中的至少一个。
CN202080040723.8A 2019-06-17 2020-06-17 基于帧内块复制的编/解码方法、装置和比特流存储介质 Pending CN113950831A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20190071282 2019-06-17
KR10-2019-0071282 2019-06-17
KR20190174309 2019-12-24
KR10-2019-0174309 2019-12-24
PCT/KR2020/007842 WO2020256405A1 (ko) 2019-06-17 2020-06-17 화면 내 블록 복사 기반 부호화/복호화 방법, 장치 및 비트스트림 저장매체

Publications (1)

Publication Number Publication Date
CN113950831A true CN113950831A (zh) 2022-01-18

Family

ID=74040242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080040723.8A Pending CN113950831A (zh) 2019-06-17 2020-06-17 基于帧内块复制的编/解码方法、装置和比特流存储介质

Country Status (5)

Country Link
US (1) US20220256189A1 (zh)
EP (1) EP3985968A4 (zh)
KR (1) KR20200144074A (zh)
CN (1) CN113950831A (zh)
WO (1) WO2020256405A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220053580A (ko) * 2019-09-09 2022-04-29 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 블록 복제 코딩 및 디코딩

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102034938B1 (ko) * 2014-09-01 2019-10-21 에이치에프아이 이노베이션 인크. 스크린 콘텐츠 및 비디오 코딩을 위한 인트라 픽처 블록 카피의 방법
KR102345458B1 (ko) * 2016-05-28 2021-12-31 세종대학교산학협력단 예측 모션 벡터 리스트를 구성하는 방법 및 이의 장치
US11070796B2 (en) * 2018-09-28 2021-07-20 Qualcomm Incorporated Ultimate motion vector expression based pruning for video coding
KR20210094530A (ko) * 2018-11-29 2021-07-29 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 화면 내 블록 복사 모드 및 화면 간 예측 도구들 간의 상호작용
US11190797B2 (en) * 2019-03-01 2021-11-30 Qualcomm Incorporated Constraints on decoder-side motion vector refinement based on weights for bi-predicted prediction
US20200288175A1 (en) * 2019-03-06 2020-09-10 Qualcomm Incorporated Signaling of triangle merge mode indexes in video coding
US11076169B2 (en) * 2019-05-14 2021-07-27 Qualcomm Incorporated Switchable interpolation filtering (SIF) for video coding
US11611759B2 (en) * 2019-05-24 2023-03-21 Qualcomm Incorporated Merge mode coding for video coding

Also Published As

Publication number Publication date
EP3985968A1 (en) 2022-04-20
WO2020256405A1 (ko) 2020-12-24
US20220256189A1 (en) 2022-08-11
EP3985968A4 (en) 2023-05-24
KR20200144074A (ko) 2020-12-28

Similar Documents

Publication Publication Date Title
CN111279695A (zh) 用于基于非对称子块的图像编码/解码的方法及装置
US11930179B2 (en) Video encoding/decoding method, apparatus, and recording medium having bitstream stored thereon
CN113273213A (zh) 图像编码/解码方法和设备以及存储比特流的记录介质
CN112369022A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
CN112740680A (zh) 图像编码/解码方法和设备以及存储比特流的记录介质
CN112740697A (zh) 图像编码/解码方法和装置及存储比特流的记录介质
CN112335250A (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN113574875A (zh) 基于帧内块复制的编/解码方法和装置及比特流存储介质
CN112771862A (zh) 通过使用边界处理对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN112740686A (zh) 用于帧内预测模式编码/解码的方法和设备以及用于存储比特流的记录介质
CN113228651A (zh) 量化矩阵编码/解码方法和装置以及存储比特流的记录介质
CN112740694A (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN112740671A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
CN112585976A (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN113924779A (zh) 视频编码/解码方法和装置以及比特流存储介质
CN114788286A (zh) 图像编码/解码方法和设备以及存储比特流的记录介质
CN113906740A (zh) 帧间预测信息编码/解码方法和装置
CN112673629A (zh) 视频编码/解码方法和装置以及用于存储比特流的记录介质
CN113273188A (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
CN114342372A (zh) 帧内预测模式、以及熵编解码方法和装置
CN113261286A (zh) 用于推导帧内预测模式的方法和设备
CN113940077A (zh) 用于视频编码/解码的虚拟边界信令方法和设备
CN114731409A (zh) 图像编码/解码方法和装置、以及存储比特流的记录介质
CN113196758A (zh) 图像编码/解码方法和设备以及存储比特流的记录介质
CN113826393A (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