CN111386707A - 图像编码/解码方法和设备以及用于存储比特流的记录介质 - Google Patents

图像编码/解码方法和设备以及用于存储比特流的记录介质 Download PDF

Info

Publication number
CN111386707A
CN111386707A CN201880075792.5A CN201880075792A CN111386707A CN 111386707 A CN111386707 A CN 111386707A CN 201880075792 A CN201880075792 A CN 201880075792A CN 111386707 A CN111386707 A CN 111386707A
Authority
CN
China
Prior art keywords
intra prediction
samples
current block
mode
prediction
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.)
Granted
Application number
CN201880075792.5A
Other languages
English (en)
Other versions
CN111386707B (zh
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.)
Intellectual Discovery Co Ltd
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 CN111386707A publication Critical patent/CN111386707A/zh
Application granted granted Critical
Publication of CN111386707B publication Critical patent/CN111386707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

本发明涉及一种图像编码/解码方法和设备。根据本发明的图像解码方法可包括以下步骤:推导针对当前块的帧内预测模式;对在当前块的最右列和最下行中存在的至少一个原始样点进行解码;通过使用经过解码的所述至少一个原始样点来构建参考样点;并且通过使用构建的参考样点来对当前块执行帧内预测。

Description

图像编码/解码方法和设备以及用于存储比特流的记录介质
技术领域
本发明涉及一种用于对图像进行编码/解码的方法和设备。更具体地,本发明涉及一种用于通过使用帧内预测对图像进行编码/解码的方法和设备以及一种存储通过用于对图像进行编码的方法/设备生成的比特流的记录介质。
背景技术
近来,在各种应用领域中,对诸如高清(HD)图像和超高清(UHD)图像的高分辨率和高质量图像的需求已经增加。然而,与常规的图像数据相比,更高分辨率和更高质量的图像数据具有增加的数据量。因此,当通过使用诸如常规的有线和无线宽带网络的介质来发送图像数据时,或者当通过使用常规的存储介质来存储图像数据时,发送和存储的成本增加。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,对于更高分辨率和更高质量的图像,需要高效的图像编码/解码技术。
图像压缩技术包括各种技术,包括:帧间预测技术,从当前画面的先前画面或后续画面预测当前画面中包括的像素值;帧内预测技术,通过使用当前画面中的像素信息来预测当前画面中包括的像素值;变换和量化技术,用于压缩残差信号的能量;熵编码技术,将短码分配给具有高出现频率的值,并且将长码分配给具有低出现频率的值;等等。图像数据可通过使用这样的图像压缩技术被有效地压缩,并且可被发送或存储。
发明内容
技术问题
本发明旨在提出一种用于以增强的压缩效率对图像进行编码/解码的方法和设备以及存储通过用于对图像进行编码的方法/设备生成的比特流的记录介质。
此外,本发明旨在提出一种用于通过使用压缩效率增强的帧内预测对图像进行编码/解码的方法和设备以及存储通过用于对图像进行编码的方法/设备生成的比特流的记录介质。
此外,本发明旨在提出一种用于通过使用利用右参考样点和/或下参考样点的帧内预测来对图像进行编码/解码的方法和设备以及存储通过用于对图像进行编码的方法/设备生成的比特流的记录介质。
技术方案
本发明的对图像进行解码的方法可包括:推导针对当前块的帧内预测模式;对在当前块的最右列和最下行(底行)中存在的至少一个原始样点进行解码;通过使用经过解码的所述至少一个原始样点来构建参考样点;并且通过使用构建的参考样点来对当前块执行帧内预测。
在本发明的对图像进行解码的方法中,当所述原始样点被包括在所述最右列中时,使用当前块的所述最右列的上参考样点和与所述原始样点对应的左参考样点来对所述原始样点进行解码。
在本发明的对图像进行解码的方法中,当所述原始样点被包括在所述最下行中时,使用当前块的所述最下行的左参考样点和与所述原始样点对应的上参考样点来对所述原始样点进行解码。
在本发明的对图像进行解码的方法中,构建参考样点的步骤包括:通过使用经过解码的所述至少一个原始样点来对包括在当前块的所述最下行和所述最右列中的样点执行插值。
在本发明的对图像进行解码的方法中,当所述帧内预测模式是DC模式时,使用通过将上参考样点值之和、左参考样点值之和、右参考样点值之和以及下参考样点值之和乘以相应的预定加权因子而获得的值之和来推导在DC模式下使用的平均值。
在本发明的对图像进行解码的方法中,当所述帧内预测模式是平面模式时,根据当前块的帧内预测目标样点的位置,使用考虑与上参考样点、左参考样点、下参考样点和右参考样点中的至少一个参考样点的距离的加权和来执行所述帧内预测。
在本发明的对图像进行解码的方法中,当所述帧内预测模式是方向预测模式时,使用根据当前块的帧内预测目标样点的位置和帧内预测模式角度确定的第一参考样点和第二参考样点来执行所述帧内预测。
在本发明的对图像进行解码的方法中,使用根据第一距离和第二距离确定的第一加权因子和第二加权因子来执行所述帧内预测,其中,第一距离是第一参考样点与所述预测目标样点之间的距离,第二距离是第二参考样点与所述预测目标样点之间的距离。
在本发明的对图像进行解码的方法中,所述帧内预测的结果值满足下面的等式1,
[等式1]
Figure BDA0002504005150000031
P_red_c(x,y)表示样点(x,y)的预测值;w_ref1和w_ref2分别表示第一加权因子和第二加权因子;w1和w2分别表示第一距离和第二距离;ref1和ref2分别表示第一参考样点和第二参考样点的样点值;并且w_ref1_type和w_ref2_type分别表示根据第一参考样点和第二参考样点被包括在上参考样点、左参考样点、右参考样点和下参考样点中的哪个参考样点中而确定的加权因子。
在本发明的对图像进行解码的方法中,其中,使用重叠预测因子来执行所述帧内预测,其中,所述重叠预测因子是使用通过所述帧内预测模式推导出的预测结果和通过与所述帧内预测模式相邻的邻近帧内预测模式推导出的预测结果的加权和来推导出的。
在本发明的对图像进行解码的方法中,所述邻近帧内预测模式是根据重叠预测因子标志和索引来确定的,其中,所述重叠预测因子标志指示使用重叠预测因子的所述帧内预测是否被执行,所述索引指示所述邻近帧内预测模式。
在本发明的对图像进行解码的方法中,通过将使用所述帧内预测模式的帧内预测代价与使用所述重叠预测因子的帧内预测代价进行比较来确定是否执行使用所述重叠预测因子的所述帧内预测。
在本发明的对图像进行解码的方法中,其中,所述帧内预测是通过对当前块的所述帧内预测和对当前块的帧间预测的重叠预测来执行的,并且所述重叠预测是使用通过所述帧内预测模式推导出的预测结果和通过帧间预测模式推导出的预测结果的加权和来执行的。
在本发明的对图像进行解码的方法中,其中,在所述重叠预测中使用的加权因子是根据当前块的所述帧内预测模式和尺寸中的至少一个来确定的。
在本发明的对图像进行编码的方法中可包括:推导针对当前块的帧内预测模式;通过使用当前块的最右列和最下行(底行)中存在的至少一个原始样点来构建参考样点;对所述至少一个原始样点进行编码;并且通过使用所述参考样点来对当前块执行帧内预测。
在本发明的包括比特流的非暂时性存储介质中,所述比特流是通过图像编码方法生成的,所述图像编码方法可包括以下步骤:推导针对当前块的帧内预测模式;通过使用当前块的最右列和最下行(底行)中存在的至少一个原始样点来构建参考样点;对所述至少一个原始样点进行编码;并且通过使用所述参考样点来对当前块执行帧内预测。
有益效果
根据本发明,可提供一种用于以增强的压缩效率对图像进行编码/解码的方法和设备以及存储通过用于对图像进行编码的方法/设备生成的比特流的记录介质。
此外,根据本发明,可提供一种用于通过使用压缩效率增强的帧内预测来对图像进行编码/解码的方法和设备以及存储通过用于对图像进行编码的方法/设备生成的比特流的记录介质。
此外,根据本发明,可提供一种用于通过使用利用右参考样点和/或下参考样点的帧内预测来对图像进行编码/解码的方法和设备以及存储通过用于对图像进行编码的方法/设备生成的比特流的记录介质。
附图说明
图1是示出根据实施例的应用了本发明的编码设备的配置的框图。
图2是示出根据实施例的应用了本发明的解码设备的配置的框图。
图3是示意性地示出在对图像进行编码和解码时的图像的分区结构的示图。
图4是用于说明帧内预测的处理的实施例的示图。
图5是示出根据本发明的帧内预测方法的示图。
图6是示出原始样点的预测编码/解码方法的示图。
图7是示出原始样点的预测编码/解码方法的示图。
图8是示出多条重建样点线的示图。
图9是示出将不可用样点替换为可用样点的处理的示图。
图10是示出在帧内预测方法中使用的几种滤波器形状的示例的示图。
图11是示出根据本发明的构建参考样点的方法的示图。
图12是示出根据块的形状的帧内预测的示图。
图13是示出在帧内预测方法中使用两个参考样点的方法的示图。
图14是示出重建参考样点的方法的示图。
图15是示出根据本发明的DC模式下的帧内预测方法的示例的示图。
图16至图18是示出根据本发明的方向模式下的帧内预测方法的示例的示图。
图19是示出使用重叠预测因子的帧内预测方法的示例的示图。
图20是示出在使用重叠预测因子的帧内预测方法中使用的模板的示图。
图21是示出帧内预测模式的方向模式的示图。
图22至图25是示出根据本发明的通过使用参考样点线来执行插值预测的方法的示图。
具体实施方式
可对本发明做出各种修改,并且存在本发明的各种实施例,其中,现在将参照附图提供所述各种实施例的示例并且将详细描述所述各种实施例的示例。然而,本发明不限于此,尽管示例性实施例可被解释为包括本发明的技术构思和技术范围内的所有修改、等同形式或替换形式。相似的参考标号指在各方面相同或相似的功能。在附图中,为了清楚起见,元件的形状和尺寸可被夸大。在本发明的以下详细描述中,参照了通过图示的方式示出可实施本发明的具体实施例的附图。这些实施例被足够详细地描述以使本领域技术人员能够实施本公开。应该理解,本公开的各种实施例尽管不同,但不必是相互排他的。例如,在不脱离本公开的精神和范围的情况下,这里结合一个实施例描述的特定特征、结构和特性可在其它实施例中被实施。此外,应该理解,在不脱离本公开的精神和范围的情况下,每个公开的实施例内的各个元件的位置或布置可被修改。因此,以下详细描述不应以限制的含义来理解,并且本公开的范围仅由所附权利要求(在合适的解释的情况下,还连同权利要求所要求保护的等同物的全部范围)来限定。
在说明书中使用的术语“第一”、“第二”等可被用于描述各种组件,但这些组件并不被解释为受限于这些术语。这些术语仅被用于将一个组件与其他组件区分开。例如,在不脱离本发明的范围的情况下,“第一”组件可被称为“第二”组件,并且“第二”组件也可类似地被称为“第一”组件。术语“和/或”包括多个项的组合或者是多个项中的任意一项。
将理解的是,在本说明书中,当元件仅被称为“连接到”或“结合到”另一元件而不是“直接连接到”或“直接结合到”另一元件时,所述元件可“直接连接到”或“直接结合到”所述另一元件,或者在所述元件与所述另一元件之间具有其他元件的情况下连接到或结合到所述另一元件。相反,应该理解,当元件被称为“直接结合”或“直接连接”到另一元件时,不存在中间元件。
此外,在本发明的实施例中示出的组成部件被独立地示出,以便呈现彼此不同的特性功能。因此,这并不意味着每个组成部件以单独的硬件或软件的组成单元被组成。换句话说,为了方便,每个组成部件包括枚举的组成部件中的每一个。因此,每个组成部件中的至少两个组成部件可被组合以形成一个组成部件,或者一个组成部件可被划分为用于执行每个功能的多个组成部件。在没有脱离本发明的本质的情况下,每个组成部件被组合的实施例以及一个组成部件被划分的实施例也被包括在本发明的范围中。
在本说明书中使用的术语仅用于描述具体实施例,而不旨在限制本发明。以单数使用的表达包括复数表达,除非它在上下文中具有明显不同的含义。在本说明书中,将理解,诸如“包括……的”、“具有……的”等的术语旨在指明存在说明书中所公开的特征、数量、步骤、动作、元件、部件、或其组合,而并不旨在排除可存在或者可添加一个或更多个其它特征、数量、步骤、动作、元件、部件、或其组合的可能性。换句话说,当特定元件被称为“被包括”时,除相应元件以外的元件并不被排除,而是,附加的元件可被包括在本发明的实施例中或者是本发明的范围中。
此外,一些组成元件可能不是执行本发明的必要功能的不可缺少的组成元件,而是仅提升其性能的可选组成元件。可通过仅包括用于实施本发明的实质的不可缺少的组成部件而排除在提升性能时使用的组成元件来实施本发明。仅包括所述不可缺少的组成元件而排除在仅提升性能时使用的可选组成元件的结构也被包括在本发明的范围中。
在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,将不详细描述公知功能或结构,这是因为它们会不必要地模糊对本发明的理解。附图中的相同的组成元件由相同的参考标号来表示,并且对相同元件的重复描述将被省略。
在下文中,图像可指构成视频的画面,或者可指视频本身。例如,“对图像进行编码或解码或者进行编码和解码两者”可指“对运动画面进行编码或解码或者进行编码和解码两者”,并且可指“对运动画面的图像中的一个图像进行编码或解码或者进行编码和解码两者。”
在下文中,术语“运动画面”和“视频”可被用作相同的含义并且可彼此替换。
在下文中,目标图像可以是作为编码目标的编码目标图像和/或作为解码目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像以及输入到解码设备的输入图像。这里,目标图像可与当前图像具有相同的含义。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且彼此替换。
在下文中,目标块可以是作为编码目标的编码目标块和/或作为解码目标的解码目标块。此外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且彼此替换。
在下文中,术语“块”和“单元”可被用作相同的含义并且彼此替换。或者“块”可表示特定单元。
在下文中,术语“区域”和“片段”可彼此替换。
在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。
在实施例中,特定信息、数据、标志、索引、元素和属性等中的每一个可具有值。等于“0”的信息、数据、标志、索引、元素和属性的值可表示逻辑假或第一预定义值。换言之,值“0”、假、逻辑假和第一预定义值可彼此替换。等于“1”的信息、数据、标志、索引、元素和属性的值可表示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可彼此替换。
当变量i或j用于表示列、行或索引时,i的值可以是等于或大于0的整数、或者等于或大于1的整数。也就是说,列、行、索引等可从0开始计数,或者可从1开始计数。
术语描述
编码器:表示执行编码的设备。也就是说,表示编码设备。
解码器:表示执行解码的设备。也就是说,表示解码设备。
块:是M×N的样点阵列。这里,M和N可表示正整数,并且块可表示二维形式的样点阵列。块可指单元。当前块可表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
样点:是构成块的基本单元。根据比特深度(Bd),样点可被表示为从0到2Bd-1的值。在本发明中,样点可被用作像素的含义。也就是说,样点、pel、像素可具有彼此相同的含义。
单元:可指编码和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而生成的区域。此外,当在编码或解码期间将单个图像分区为子划分单元时,单元可表示子划分单元。也就是说,图像可被分区为多个单元。当对图像进行编码和解码时,可执行针对每个单元的预定处理。单个单元可被分区为尺寸小于该单元的尺寸的子单元。依据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。此外,为了将单元与块区分开,单元可包括亮度分量块、与亮度分量块相关联的色度分量块、以及每个颜色分量块的语法元素。单元可具有各种尺寸和形状,具体地,单元的形状可以是二维几何图形,诸如正方形、长方形、梯形、三角形、五边形等。此外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。
编码树单元:被配置有亮度分量Y的单个编码树块以及与色度分量Cb和Cr相关的两个编码树块。此外,编码树单元可表示包括块和每个块的语法元素。可通过使用四叉树分区方法、二叉树分区方法、三叉树分区方法等中的至少一个对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的更低等级的单元。编码树单元可被用作用于指定在对作为输入图像的图像进行编码/解码时成为处理单元的样点块的术语。这里,四叉树可表示四元树。
编码树块:可用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。
邻近块:可表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块、或者位于距当前块预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块、或者与垂直相邻于当前块的邻近块水平相邻的块。
重建的邻近块:可表示与当前块相邻并且已经在空间/时间上被编码或解码的邻近块。这里,重建的邻近块可表示重建的邻近单元。重建的空间邻近块可以是在当前画面内并且已经通过编码或解码或者编码和解码两者而被重建的块。重建的时间邻近块是在参考图像内的与当前画面的当前块对应的位置处的块或所述块的邻近块。
单元深度:可表示单元的分区程度。在树结构中,最高节点(根节点)可与未被分区的第一单元对应。此外,最高节点可具有最小深度值。在这种情况下,最高节点的深度可以为等级0。深度为等级1的节点可表示通过对第一单元进行一次分区而生成的单元。深度为等级2的节点可表示通过对第一单元进行两次分区而生成的单元。深度为等级n的节点可表示通过对第一单元进行n次分区而生成的单元。叶节点可以是最低节点并且是不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表示为树结构时,该单元所处在的等级可表示单元深度。
比特流:可表示包括编码图像信息的比特流。
参数集:与比特流内的配置之中的头信息对应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带(slice)头和并行块(tile)头信息。
解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。
符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。
预测模式:可以是指示利用帧内预测被编码/解码的模式或利用帧间预测被编码/解码的模式的信息。
预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个更低等级的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过划分预测单元而生成的分区也可以是预测单元。
预测单元分区:可表示通过对预测单元进行分区而获得的形状。
参考画面列表:可表示包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。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可使用诸如指数哥伦布、上下文自适应可变长度编码(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中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,更低等级的单元的分区信息可包括关于更低等级的单元的尺寸的信息。
分区结构可表示CTU 310内的编码单元(CU)的分布。可根据是否将单个CU分区为多个(等于或大于2的正整数,包括2、4、8、16等)CU来确定这样的分布。通过分区生成的CU的水平尺寸和垂直尺寸可分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可分别具有根据分区的次数而小于分区之前的水平尺寸和垂直尺寸的尺寸。CU可以被递归地分区为多个CU。通过递归分区,与分区之前的CU的高度和宽度之中的至少一个相比,分区之后的CU的高度和宽度之中的至少一个可减小。可递归地执行对CU的分区,直到预定义的深度或预定义的尺寸为止。例如,CTU的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,CTU可以是具有最大编码单元尺寸的编码单元,并且SCU可以是具有最小编码单元尺寸的编码单元。分区从CTU 310开始,当CU的水平尺寸或垂直尺寸或者水平尺寸和垂直尺寸两者通过分区而减小时,CU深度增加1。例如,对于每个深度,未被分区的CU的尺寸可以为2N×2N。此外,在被分区的CU的情况下,可将尺寸为2N×2N的CU分区为尺寸为N×N的四个CU。当深度增加1时,N的大小可减半。
此外,可通过使用CU的分区信息来表示CU是否被分区的信息。分区信息可以是1比特信息。除SCU之外的所有CU可包括分区信息。例如,当分区信息的值为1时,可不对CU进行分区,当分区信息的值为2时,可对CU进行分区。
参照图3,具有深度0的CTU可以是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。例如,可将与二叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为二叉树的最小尺寸)和/或与三叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为三叉树的最小尺寸)设置为编码块的最小尺寸。
作为另一示例,可在条带级用信号发送或确定二叉树的最大尺寸和/或三叉树的最大尺寸。可选地,可在条带级用信号发送或确定二叉树的最小尺寸和/或三叉树的最小尺寸。
依据上述各种块的尺寸信息和深度信息,四分区信息、多类型树分区指示信息、分区树信息和/或分区方向信息可被包括在比特流中或可不被包括在比特流中。
例如,当编码单元的尺寸不大于四叉树的最小尺寸时,编码单元不包含四分区信息。因此,可从第二值推导出四分区信息。
例如,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)大于二叉树的最大尺寸(水平尺寸和垂直尺寸)和/或三叉树的最大尺寸(水平尺寸和垂直尺寸)时,编码单元可不被二叉树分区或三叉树分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导出多类型树分区指示信息。
可选地,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)与二叉树的最大尺寸(水平尺寸和垂直尺寸)相同,并且/或者是三叉树的最大尺寸(水平尺寸和垂直尺寸)的两倍大时,编码单元可不被进一步二叉树分区或三叉树分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导出多类型树分区指示信息。这是因为,当按照二叉树分区结构和/或三叉树分区结构对编码单元进行分区时,生成了小于二叉树的最小尺寸和/或三叉树的最小尺寸的编码单元。
可选地,当与多类型树的节点对应的编码单元的深度等于多类型树的最大深度时,可不对编码单元进行进一步二叉树分区和/或三叉树分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导出多类型树分区指示信息。
可选地,只有当垂直方向二叉树分区、水平方向二叉树分区、垂直方向三叉树分区和水平方向三叉树分区中的至少一个对于与多类型树的节点对应的编码单元是可能的时,才可用信号发送多类型树分区指示信息。否则,可不对编码单元进行二叉树分区和/或三叉树分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导出多类型树分区指示信息。
可选地,只有当垂直方向二叉树分区和水平方向二叉树分区两者或者垂直方向三叉树分区和水平方向三叉树分区两者对于与多类型树的节点对应的编码单元是可能的时,才可用信号发送分区方向信息。否则,可不用信号发送分区方向信息,而是可从指示可能的分区方向的值推导出分区方向信息。
可选地,只有当垂直方向二叉树分区和垂直方向三叉树分区两者或者水平方向二叉树分区和水平方向三叉树分区两者对于与多类型树的节点对应的编码树是可能的时,才可用信号发送分区树信息。否则,可不用信号发送分区树信息,而是可从指示可能的分区树结构的值推导出分区树信息。
图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,包括非角度模式和角度模式。
为了对当前块进行帧内预测,可执行确定包括在重建邻近块中的样点是否可被用作当前块的参考样点的步骤。当不可被用作当前块的参考样点的样点存在时,通过对重建邻近块中包括的样点中的至少一个样点值进行复制或执行插值或者对重建邻近块中包括的样点中的至少一个样点值进行复制和执行插值两者而获得的值可被用于替换样点的不可用样点值,因此替换后的样点值被用作当前块的参考样点。
当帧内预测时,可基于帧内预测模式和当前块尺寸/形状将滤波器应用于参考样点和预测样点中的至少一个。
在平面模式的情况下,当生成当前块的预测块时,根据预测目标样点在预测块内的位置,可通过使用当前样点的上侧和左侧参考样点以及当前块的右上侧和左下侧参考样点的加权和来生成预测目标样点的样点值。此外,在DC模式的情况下,当生成当前块的预测块时,可使用当前块的上侧和左侧参考样点的平均值。此外,在角度模式的情况下,可通过使用当前块的上侧、左侧、右上侧和/或左下侧参考样点来生成预测块。为了生成预测样点值,可执行实数单位的内插。
可通过对邻近于当前块存在的块的帧内预测模式进行预测来对当前块的帧内预测模式进行熵编码/熵解码。当当前块和邻近块的帧内预测模式相同时,可通过使用预定的标志信息来用信号发送当前块和邻近块的帧内预测模式为相同的信息。此外,可用信号发送多个邻近块的帧内预测模式中的与当前块的帧内预测模式相同的帧内预测模式的指示符信息。当当前块和邻近块的帧内预测模式不同时,可通过基于邻近块的帧内预测模式执行熵编码/熵解码来对当前块的帧内预测模式信息进行熵编码/熵解码。
在下文中,将参照附图描述根据本发明的帧内预测方法。
图5是示出根据本发明的帧内预测方法的示图。
图5中所示的帧内预测方法可由编码设备100或解码设备200执行。针对当前块的帧内预测方法可包括:在步骤S510,推导帧内预测模式;在步骤S520,对原始样点进行编码或解码以构建参考样点;在步骤S530,构建用于帧内预测的参考样点;以及在步骤S540,通过使用参考样点对当前块执行帧内预测。
在步骤S510,可推导当前块的帧内预测模式。可使用利用邻近块的帧内预测模式的方法、从比特流对当前块的帧内预测模式进行熵编码/熵解码的方法、使用邻近块的编码参数的方法或使用颜色分量的帧内预测模式的方法来推导当前块的帧内预测模式。根据使用邻近块的帧内预测模式的方法,可使用以下中的至少一项来推导当前块的帧内预测模式:使用邻近块的帧内预测模式推导出的帧内预测模式、邻近块的一个或更多个帧内预测模式的组合和至少一个MPM。
在步骤S520,可执行对原始样点的编码或解码以构建参考样点。对原始样点的编码或解码可包括确定原始样点的位置和/或数量,和/或对确定的原始样点进行编码或解码。可执行根据本发明的对原始样点的编码或解码以构建当前块的右参考样点和/或下参考样点。
在步骤S530,可构建用于当前块的帧内预测的参考样点。参考样点的构建可包括在四个方向上构建参考样点和/或对参考样点执行滤波。在步骤S530,可另外执行对参考样点的选择和对参考样点的填充。
在步骤S540,可使用利用DC模式预测、平面模式预测、双角度预测的方向预测以及利用重叠预测因子的帧内预测中的至少一个来执行对当前块的帧内预测。
在下文中,为了方便,将描述解码器执行帧内预测的实施例。然而,编码器可通过相应的方法来实现本发明,并且本发明的范围不限于解码器的操作。
在下文中,将详细描述对用于帧内预测的原始样点的一部分进行编码或解码的方法。
图6是示出原始样点的预测编码/解码方法的示图。
图6的(a)至(d)示出对原始样点进行解码以对水平长度为W且垂直长度为H的当前块执行帧内预测的示例。解码器可使用上参考样点和/或左参考样点来对在原始样点的最右列中存在的参考样点和/或在最下行中存在的原始样点进行预测,并且可对根据预测生成的残差信号进行熵解码。在下面的描述中,原始样点块和当前块可具有相同的含义。
例如,如图6的(a)中所示,解码器可对最右列中的H个原始样点和/或最下行中的W个原始样点进行解码。
作为另一示例,如图6的(b)中所示,解码器可预测地对最右列中的K个原始样点和/或最下行中的L个原始样点进行编码/解码。这里,K可以是满足K<=H的正整数,并且L可以是满足L<=W的正整数。
在图6中,Ref_top[x]表示上参考样点的集合,并且Ref_left[y]表示左参考样点的集合。此外,Org_bottom[x]和Org_right[y]分别表示可在原始样点的最下行和最右列中存在的经过解码的原始样点的集合。这里,x可以是满足0<=x<=W-1的正整数,y可以是满足0<=y<=H-1的正整数。
例如,当K是4时,由解码器解码的原始样点的位置是Org_right[H*(1/4)-1]、Org_right[H*(2/4)-1]、Org_right[H*(3/4)-1]和Org_right[H-1]。作为另一示例,当K是2时,由解码器解码的原始样点的位置是Org_right[H*(2/4)-1]和Org_right[H-1]。作为又一示例,当L是4时,由解码器解码的原始样点的位置是Org_bottom[W*(1/4)-1]、Org_bottom[W*(2/4)-1]、Org_bottom[W*(3/4)-1]和Org_bottom[W-1]。作为又一示例,当K是2时,由解码器解码的原始样点的位置是Org_bottom[W*(2/4)-1]和Org_bottom[W-1]。
作为另一示例,如图6的(c)中所示,当原始样点块是满足W>H的非正方形块并且解码器对最右列中的K个原始样点和/或最下行中的L个原始样点进行解码时,L是大于K的正整数。例如,L=2且K=1是可以的。
相反,如图6的(d)中所示,当原始样点块是满足W<H的非正方形块并且解码器对最右列中的K个原始样点和/或最下行中的L个原始样点进行解码时,L是小于K的正整数。例如,L=1且K=2是可以的。
这里,可根据下面的等式1获得将被解码的最右列中的原始样点。也就是说,可使用最右列中的上参考样点和/或与各个原始样点对应的左参考样点的加权和来对最右列中的原始样点进行解码。
[等式1]
Resright[i]=Orgright[i]-(w1*Reftop[W-1]+w2*Refleft[i]),
其中,i=0至H-1,w1+w2=1
此外,可根据下面的等式2获得最下行中的原始样点。也就是说,可使用最下行中的左参考样点和/或与各个原始样点对应的上参考样点的加权和来对最下行中的原始样点进行解码。
[等式2]
Resbottom[i]=Orgbottom[i]-(w1*Refleft[H-1]+w2*Reftop[i]),
其中,i=0至W-1,w1+w2=1
图7是示出原始样点的预测编码/解码方法的示图。
图7示出当前块被划分为多个子块的示例。当当前块被划分为多个子块时,解码器针对每个子块的最右列和最下行对与预定数量和位置对应的原始样点进行预测,并且对根据预测生成的残差信号进行熵编码/熵解码。
这里,可根据图6(a)至图6(d)中描述的方法分别确定每个子块具有的原始样点的预定数量和位置。
当如图7中所示将当前块划分为四个子块时,解码器根据以下顺序中的至少一个对子块进行解码。
例如,解码器可按照Sub_blk1→Sub_blk2→Sub_blk3→Sub_blk4的顺序对子块进行解码。
作为另一示例,解码器可按照Sub_blk1→Sub_blk3→Sub_blk2→Sub_blk4的顺序对子块进行解码。
作为另一示例,解码器可按照Sub_blk1→Sub_blk4→Sub_blk2→Sub_blk3的顺序对子块进行解码。
作为另一示例,解码器可按照Sub_blk1→Sub_blk4→Sub_blk3→Sub_blk2的顺序对子块进行解码。
作为另一示例,解码器可按照Sub_blk4→Sub_blk3→Sub_blk2→Sub_blk1的顺序对子块进行解码。
作为另一示例,解码器可按照Sub_blk4→Sub_blk2→Sub_blk3→Sub_blk1的顺序对子块进行解码。
作为另一示例,解码器可按照Sub_blk4→Sub_blk1→Sub_blk2→Sub_blk3的顺序对子块进行解码。
作为另一示例,解码器可按照Sub_blk4→Sub_blk2→Sub_blk1→Sub_blk3的顺序对子块进行解码。
作为另一示例,基于当前块的帧内预测模式,子块的解码顺序可被确定。例如,当帧内预测模式是模式编号比垂直模式的模式编号大的方向模式时,解码器按照Sub_blk2→Sub_blk1→Sub_blk4→Sub_blk3的顺序对子块进行解码。作为另一示例,当帧内预测模式是模式编号比水平模式的模式编号小的方向模式时,解码器按照Sub_blk3→Sub_blk1→Sub_blk4→Sub_blk2的顺序对子块进行解码。
作为另一示例,基于当前块的尺寸,子块的解码顺序可被确定。例如,当当前块的尺寸超过预设值时,解码器按照Sub_blk2→Sub_blk1→Sub_blk4→Sub_blk3的顺序对子块进行解码。作为另一示例,当当前块的尺寸等于或小于预设值时,解码器按照Sub_blk3→Sub_blk1→Sub_blk4→Sub_blk2的顺序对子块进行解码。
也就是说,解码器可基于当前块的帧内预测模式或尺寸自适应地确定子块的解码顺序。
当解码器构建每个子块的上参考样点和/或左参考样点时,使用当前块的参考样点或者使用预先经过解码的子块的重建样点。
例如,当解码器按照Sub_blk4→Sub_blk3→Sub_blk2→Sub_blk1的顺序对子块的原始样点进行解码时,解码器使用Ref_top2作为Sub_blk4的上参考样点或者使用Sub_blk2的最下重建样点。此外,解码器使用Ref_left2作为Sub_blk4的左参考样点或者使用Sub_blk3的最右重建样点。此外,Ref_top1可被用作Sub_blk3的上参考样点,或者可使用Sub_blk1的最下重建样点。此外,Ref_left1可被用作Sub_blk2的左参考样点,或者可使用Sub_blk1的最右重建样点。
即使当解码器按照与以上描述不同的顺序对子块进行解码时,解码器也以相同的方式执行针对每个子块的右参考样点和/或左参考样点的原始样点解码。
在下文中,将描述由解码器构建用于帧内预测的参考样点的方法。
图8是示出多条重建样点线的示图。
解码器可构建参考样点以针对当前块或针对当前块的子块执行帧内预测。在下文中,解码器构建针对当前块的参考样点的情况将被描述为示例。这个描述是示例,并且解码器可以以与针对当前块的参考样点相同的方式构建针对子块的参考样点。
这里,可由当前块附近的一个或更多个重建样点或者重建样点的组合来构建参考样点。解码器可在另外构建参考样点时执行滤波。这里,解码器可照原样使用多条重建样点线上的重建样点来构建参考样点,或者可通过在一条重建样点线上的样点之间执行滤波或者在不同的重建样点线上的样点之间执行滤波来构建参考样点。
这里,构建的参考样点的集合可由ref[m,n]指定。此外,邻近的重建样点或通过对该邻近的重建样点进行滤波而获得的样点可由rec[m,n]指定。这里,m或n可以是预定整数值。当当前块的水平尺寸和垂直尺寸分别为W和H时,当前块内的左上样点处于位置(0,0)。这里,基于左上样点的位置,可将与左上参考样点最接近的左上参考样点的相对位置设置为(-1,-1)。
可通过选择与当前块相邻的一条或更多条重建样点线来构建参考样点。例如,可通过在图8中的多条重建样点线中选择一条线来构建参考样点。
例如,可以以固定或自适应的方式选择重建样点线中的特定线。
作为另一示例,在图8中的多条重建样点线中选择一条或更多条重建样点线,并且将选择的一条或更多条重建样点线组合,从而构建参考样点。
例如,解码器可根据下面的等式3来构建参考样点。具体地,解码器可使用加权平均值来构建参考样点,其中,根据从当前块到重建样点线的距离应用不同的加权因子。
[等式3]
ref[-1,-1]=(rec[-2,-1]+2*rec[-1,-1]+rec[-1,-2]+2)>>2
ref[x,-1]=(rec[x,-2]+3*rec[x,-1]+2)>>2,(x=0~H+W-1)
ref[-1,y]=(rec[-2,y]+3*rec[-1,y]+2)>>2,(y=0~H+W-1)
可选地,基于距当前块的距离和帧内预测模式中的至少一个,可使用多个重建样点的平均值、最大值、最小值、中值和众数中的至少一个来构建参考样点。
可选地,可基于多个连续的重建样点的值的改变(变化)来构建参考样点。例如,可基于以下中的至少一项来构建参考样点:两个连续的重建样点之间的差值是否等于或大于阈值以及多个连续的重建样点的值是以连续或还是以不连续的方式改变。例如,当rec[-1,-1]与rec[-2,-1]之间的差值等于或大于阈值时,rec[-1,-1]被确定为rec[-1,-1]或者被确定为通过应用加权平均而获得的值,其中,在加权平均中,预定的加权因子被分配给rec[-1,-1]。例如,多个连续的重建样点的值朝向当前块改变n,参考样点ref[-1,-1]=rec[-1,-1]-n被确定。
作为又一示例,可通过选择图8中的两条或更多条重建样点线来构建参考样点。例如,可通过固定地选择重建样点线1和重建样点线2或者通过选择与重建样点线1至重建样点线4对应的四条线来构建参考样点。
可选地,可通过自适应地选择两条或更多条重建样点线来构建参考样点。例如,可通过固定地选择一条线并自适应地选择其它一条或更多条线来构建参考样点。
固定选择的线可由编码器/解码器预定义。如果被预定义,则可不将关于固定选择的线的信息从编码器用信号发送到解码器。
这里,可以以指示符或索引的形式用信号发送关于自适应地选择的线的信息。可使用编码参数(诸如当前块或邻近块的尺寸/形状、帧内预测模式等)中的至少一个来确定自适应地选择的线。在这种情况下,可不用信号发送选择所需的信息。
这里,参考样点线可由一个或更多个样点组成。例如,一条参考样点线的长度可等于当前块的水平长度或垂直长度。可选地,一条参考样点线的长度可以是当前块的水平长度或垂直长度的两倍。可选地,一条参考样点线的长度可以是当前块的水平长度或垂直长度的两倍。可选地,一条参考样点线的长度可以是:其中,将1、2、3、…、或N个样点与当前块的水平长度和垂直长度的两倍相加。也就是说,参考样点线可以是2*(W+H)+N,并且N可以是一或更大的整数。
构建与当前块的上方相邻的参考样点的方法可与构建与左侧相邻的参考样点的方法不同。例如,在上方的参考样点线的数量可被配置为与在左侧的参考样点线的数量不同。例如,根据当前块的水平尺寸或垂直尺寸和帧内预测模式中的至少一个,可构建与上方相邻的一条参考样点线以及与左侧相邻的两条参考样点线。例如,在上方的参考样点线的长度可被配置为与在左侧的参考样点线的长度不同。例如,可根据当前块的水平尺寸或垂直尺寸和帧内预测模式中的至少一个不同地配置长度。
参考样点线的长度可被配置为根据每条参考样点线而变化。例如,在图8中,重建样点线2至重建样点线4的长度可被配置为比重建样点线1的长度长一个或更多个样点。
参考样点线的长度可根据每条重建样点线而变化。例如,重建样点线n可被配置为比重建样点线n-1长或短m个样点。在图8中所示的示例中,重建样点线n可被配置为比重建样点线n-1长一个样点。
如上所述,可对关于是仅使用最接近的参考样点线来构建参考样点还是使用多条参考样点线来构建参考样点的信息进行编码/解码。例如,可在序列、画面、条带、并行块、CTU、CU、PU和TU级中的至少一个等级对该信息进行编码/解码。此外,可在更高的等级用信号发送关于多条参考样点线的可用性的信息。
可根据当前块的上边界或左边界是否与画面、条带、并行块和编码树块(CTB)的边界中的至少一个对应来不同地设置在构建参考样点时使用的重建样点线的数量、位置和配置方法中的至少一个。
例如,当当前块的上边界或左边界与画面、条带、并行块和编码树块(CTB)的边界中的至少一个对应时,解码器不从编码器接收特定指示符(索引),并且可将指示符值初始化(默认)为预设值。例如,预设值可以是零。
另一方面,当当前块的上边界或左边界不与画面、条带、并行块和编码树块(CTB)的边界中的至少一个对应时,解码器根据从编码器用信号发送的指示符值使用在所指示的位置处存在的样点来构建参考样点线。
例如,在构建两条或更多条参考样点线的情况下,当当前块的上边界与画面、条带、并行块和编码树块(CTB)中的至少一个对应时,构建与上方相邻的一条参考样点线。例如,当当前块的上边界是CTU的上边界时,仅构建一条参考样点线。否则,构建两条或更多条参考样点线。这里,通过仅使用CTU的上边界的一条参考样点线,实现了减少用于存储在存储器中的线缓冲器的效果。
在选择参考样点时,可执行包括参考样点的块的可用性确定和参考样点填充。例如,当包括参考样点的块可用时,在不进行填充的情况下使用相应的参考样点。相反,当包括参考样点的块不可用时,使用一个或更多个可用的邻近参考样点对不可用参考样点进行填充,从而替换不可用参考样点。
例如,当参考样点存在于画面、并行块、条带和编码树块(CTB)的边界以及预定边界中的至少一个边界外侧时,该参考样点被确定为不可用。作为另一示例,在利用受约束的帧内预测(CIP)对当前块进行编码的情况下,当在帧间模式下对包括参考样点的块进行编码/解码时,参考样点被确定为不可用。
图9是示出将不可用样点替换为可用样点的处理的示图。
当确定邻近重建样点不可用时,不可用样点被可用的邻近重建样点替换。例如,如图9中所示,当可用样点和不可用样点同时存在时,使用一个或更多个可用样点来填充不可用样点。
不可用样点的样点值可按照预定顺序被可用样点的样点值替换。用于替换不可用样点的可用样点可以是与不可用样点相邻的可用样点。当不存在邻近可用样点时,使用第一个或最接近的可用样点。不可用样点的替换顺序可以是例如从下方左侧到上方右侧。可选地,该顺序可以是从上方右侧到下方左侧。可选地,该顺序可以是从左上角到上方右侧和/或到下方左侧。可选地,该顺序可以是从上方右侧和/或从下方左侧到左上角。
例如,从作为在下方左侧的样点位置的零开始,利用可用样点填充不可用样点。也就是说,利用值“a”填充前四个不可用样点,并且利用值“b”填充后13个不可用样点。
作为另一示例,可用样点的组合可被用于填充。例如,位于不可用样点两端的可用样点的平均值或插值被用于填充不可用样点。也就是说,利用值“a”填充前四个不可用样点,并且使用“b”和“c”的平均值或者“b”和“c”的插值来填充后13个不可用样点。
可选地,13个不可用样点可被可用样点b和c的样点值之间的任意值替换。在这种情况下,不可用样点可被不同的值替换。例如,不可用样点可随着越来越接近可用样点a被越来越接近可用样点a的值的值替换。类似地,不可用样点可随着越来越接近可用样点b被越来越接近可用样点b的值的值替换。也就是说,基于从不可用样点到可用样点a和/或b的距离,可确定不可用样点的值。为了替换不可用样点,可选择性地应用包括以上方法的多种方法中的一种或更多种。
替换不可用样点的方法可由包括在比特流中的信息被用信号发送,或者可使用由编码器和解码器预先确定的方法。此外,可通过预定方法推导替换不可用样点的方法。例如,基于可用样点a和b的值之间的差和/或不可用样点的数量,可选择替换不可用样点的方法。例如,基于两个可用样点的值之间的差与阈值的比较和/或不可用样点的数量与阈值的比较,可选择替换不可用样点的方法。例如,当两个可用样点的值的差大于阈值时和/或当不可用样点的数量大于阈值时,不可用样点被替换为具有不同的值。
可按照预定单元执行对替换不可用样点的方法的选择。例如,可针对视频、序列、画面、条带、并行块、编码树单元、编码单元、预测单元和变换单元中的至少一个单元来选择替换不可用样点的方法。这里,可基于按照预定单元用信号发送的信息来选择替换不可用样点的方法,或者可按照预定单元推导替换不可用样点的方法。可选地,可应用由编码器和解码器预先确定的方法。
当参考样点与预定位置对应时,在不确定包括参考样点的块的可用性的情况下执行填充。例如,在图8中,当当前块的左上角样点的位置是(0,0)时,在不针对x坐标或y坐标等于或大于W+H的位置处的参考样点执行可用性的确定的情况下执行填充。
例如,在不针对ref[W+H,-2]的样点执行可用性的确定的情况下,可利用ref[W+H-1,-2]的值来执行填充。例如,在不针对ref[W+H,-3]和ref[W+H+1,-3]的样点执行可用性的确定的情况下,可利用ref[W+H-1,-3]的值来执行填充。也就是说,针对x坐标或y坐标等于或大于W+H的样点,在不执行可用性的确定的情况下,可使用同一样点线上的最接近的样点来执行填充。
作为另一示例,当将参考样点表达为一维阵列时,如下执行参考样点填充。例如,在不针对ref[2*W+1][-1]的参考样点执行可用性的确定的情况下,可利用ref[2*W][-1]的值来执行对ref[2*W+1][-1]的填充。此外,在不针对ref[-1][2*H+1]的参考样点执行可用性的确定的情况下,可利用ref[-1][2*H]的值来执行对ref[-1][2*H+1]的填充。也就是说,针对x坐标或y坐标分别等于或大于W或H的样点,在不执行可用性的确定的情况下,可使用同一样点线上的最接近的样点来执行填充。
假设当前块的左上角样点的位置是(0,0),则可针对在当前块的上方存在的参考样点中的在x坐标等于或大于W且小于W+H的位置处存在的参考样点执行可用性的确定和填充。此外,在当前块的左侧存在的参考样点中,针对在y坐标等于或大于H且小于W+H的位置处存在的参考样点,可执行可用性的确定和填充。
例如,假设当前块的左上角样点的位置为(0,0),可针对与rec[x,-1](x=-1~W+H-1)和/或rec[-1,y](y=0~H+W-1)对应的参考样点执行可用性的确定和填充。
在执行填充时,可使用多条参考样点线。例如,当对与当前块相邻的第一参考样点线执行填充时,与其相邻的第二参考样点线被使用。例如,可使用下面的等式4来执行参考样点填充。也就是说,可使用从第一重建样点线和第二重建样点线选择的多个样点值的加权平均值来推导第一参考样点线的样点值。这里,所选择的重建样点可以是当前样点的位置处的样点和/或与当前样点相邻的位置处的样点。
[等式4]
ref[x,-1]=(rec[x,-2]+3*rec[x,-1]+2)>>2,(x=W~H+W-1)
如上所述,可对一个或更多个构建的参考样点执行滤波。
可基于当前块的帧内预测模式、当前块的尺寸和当前块的形状中的至少一个自适应地执行对参考样点的滤波。例如,可根据当前块的帧内预测模式、当前块的尺寸和当前块的形状中的至少一个自适应地确定是否应用滤波、滤波器类型、滤波器强度和滤波器系数中的至少一个。
更具体地,可根据被执行帧内预测的当前块的水平长度和垂直长度的比例来确定是否对参考样点执行滤波。
例如,当当前块的水平长度比垂直长度长时,执行对参考样点的滤波。
这里,当针对当前块的帧内预测模式值等于或大于预设值时,执行对参考样点的滤波。例如,预设值可以是2。
此外,在当前块的水平长度超过垂直长度的预设值的倍数的情况下,仅当针对当前块的帧内预测模式值小于第一值时,才执行对参考样点的滤波。相反,在当前块的水平长度不超过垂直长度的预设值的所述倍数的情况下,仅当针对当前块的帧内预测模式值小于第二值时,才执行对参考样点的滤波。例如,预设值的倍数可以是2。第一值和第二值分别可以是8和12。
作为另一示例,当当前块的垂直长度比水平长度长时,对参考样点执行滤波。
此外,当针对当前块的帧内预测模式值等于或小于预设值时,执行对参考样点的滤波。例如,预设值可以是66。
此外,在当前块的水平长度超过垂直长度的预设倍数的情况下,仅当针对当前块的帧内预测模式值超过第一值时,执行对参考样点的滤波。相反,在当前块的水平长度不超过垂直长度的预设倍数的情况下,仅当针对当前块的帧内预测模式值超过第二值时,执行对参考样点的滤波。例如,预设值的倍数可以是2。第一值和第二值分别可以是56和60。
例如,是否应用滤波可随着多条参考样点线中的每一条而变化。例如,可将滤波应用于与当前块相邻的第一参考样点线,并且可不将滤波应用于第二参考样点线。例如,对于相同的参考样点,应用滤波的值可与不应用滤波的值一起被使用。
作为另一示例,滤波可被应用于与当前块相邻的第一参考样点线,并且滤波可不被应用于其余参考样点线。
例如,根据当前块的帧内预测模式、当前块的尺寸和当前块的形状中的至少一个,不同地选择3抽头滤波器、5抽头滤波器、7抽头滤波器和N抽头滤波器中的至少一个来应用滤波。这里,N可以是正整数。
图10是示出在帧内预测方法中使用的几种滤波器形状的示例的示图。
作为另一示例,根据当前块的帧内预测模式、当前块的尺寸和当前块的形状中的至少一个,可不同地选择将被应用的滤波器形状。例如,可选择如图10中所示的各种滤波器形状中的至少一个。
可通过将当前块的水平长度与垂直长度进行比较来确定当前块的形状。例如,根据当前块是水平长矩形形状还是垂直长矩形形状,可自适应地确定是否应用滤波器、滤波器类型、滤波器强度和滤波器系数中的至少一个。可选地,根据当前块是正方形形状还是矩形形状,可自适应地确定是否应用滤波器、滤波器类型、滤波器强度和滤波器系数中的至少一个。
图11是示出根据本发明的构建参考样点的方法的示图。
将参照图11描述构建当前块的右参考样点和下参考样点的方法。对于根据本发明的帧内预测,除了上述参考样点之外,解码器还可构建右参考样点和/或下参考样点。
解码器可使用解码之后的重建的原始样点来构建右参考样点和下参考样点。由图11中的Rec_R[K]、Rec_B[1]和Rec_BR指定的样点可以是解码后的原始样点。这里,最右列和最下行之中的样点中的未被包括在Rec_R[K]、Rec_B[1]和Rec_BR中的参考样点可以是根据以下方法中的至少一种的内插值。这里,K和L可以是满足0≤K≤H-1和0≤L≤W-1的正整数。
例如,图11中的Rec_R[K]、Rec_B[1]和Rec_BR的值可被用作相应位置处的参考样点的值。
作为另一示例,图11中的Ref_right1[j]参考样点的值可根据下面的等式5被设置为Ref_top[W-1]与Rec_R[K]的值之间的内插值。作为另一示例,图11中的Ref_right2[j]参考样点的值可根据下面的等式6被设置为Rec_R[K]与Rec_BR的值之间的内插值。作为另一示例,图11中的Ref_bottoml[i]参考样点的值可根据下面的等式7被设置为Ref_left[H-1]与Rec_B[1]的值之间的内插值。作为另一示例,图11中的Ref_bottom2[i]参考样点的值可根据下面的等式8被设置为Rec_B[1]与Rec_BR的值之间的内插值。作为另一示例,可根据除了上述方法之外的线性插值和非线性插值中的一个来执行对各个参考样点的值的插值。
[等式5]
Refright1[j]=w1*Reftop[W-1]+w2*RecR[K],
其中,j=0至K-1,w1+w2=1
[等式6]
Refright2[j]=w1*RecR[K]+w2*RecBR
其中,j=K+1至H-1,w1+w2=1
[等式7]
Refbottom1[i]=w1*Refleft[H-1]+w2*RecB[L],
其中,i=0至L-1,w1+w2=1
[数式8]
Refbottom2[i]=w1*RecB[L]+w2*RecBR
其中,i=L+1至W-1,w1+w2=1
特别地,当当前块被划分为多个子块时,解码器使用上述插值方法,以便对每个子块的右参考样点/下参考样点的值进行插值。此外,解码器可针对相应子块使用不同的插值方法来构建参考样点的值。
在下文中,将详细描述通过使用构建的参考样点对当前块执行帧内预测的方法。
解码器可基于推导出的帧内预测模式和参考样点对当前块执行帧内预测。
可对当前块执行非方向帧内预测。非方向帧内预测模式可以是例如DC模式、平面模式和LM模式中的至少一个。
在DC模式的情况下,可使用构建的参考样点中的一个或更多个参考样点的平均值来执行预测。这里,滤波可被应用于位于当前块的边界处的一个或更多个预测样点。可基于当前块的尺寸和形状中的至少一个自适应地执行DC预测。此外,基于当前块的尺寸和形状中的至少一个,可指定在DC模式下使用的参考样点的范围。
图12是示出根据块的形状的帧内预测的示图。
例如,当当前块的形状是如图12的(a)中所示的正方形形状时,使用当前块的上参考样点和左参考样点的平均值来执行DC预测。
作为另一示例,当当前块为非正方形形状时,选择性地使用与当前块的左侧或上方相邻的邻近样点。当当前块的形状是如图12的(b)中所示的矩形形状时,使用与当前块的水平长度和垂直长度之中的更长的一个长度相邻的参考样点的平均值来执行预测。
作为另一示例,当当前块的尺寸与预定尺寸对应或者被包括在预定范围中时,在当前块的上参考样点或左参考样点中选择一些样点,并且所选择的样点的平均值被用于执行DC预测。预定尺寸可以是在编码器/解码器中预先建立的固定尺寸N×M。这里,N和M可以是大于零的整数。N和M可彼此相同或不同。预定范围可表示用于选择当前块的参考样点的阈值。阈值可被实现为最小值和最大值中的至少一个。最小值和/或最小值可以是在编码器/解码器中预先建立的固定值,或者可以是由编码器编码并用信号发送的可变值。
作为另一示例,可使用一个或更多个平均值来执行DC预测。当当前块为正方形形状或非正方形形状时,使用上参考样点的第一平均值和使用左参考样点的第二平均值中的至少一个被使用。当前块的DC预测值可以是第一平均值或第二平均值。可选地,当前块的DC预测值可以是使用第一平均值和第二平均值的加权和而获得的值。例如,用于第一平均值和第二平均值的加权因子可以是1∶1。
根据以上示例,移位运算可被用于计算所有DC值。例如,即使当当前块的被表示为样点长度的宽度、高度或者宽度和高度之和不是2的平方时,也可应用以上示例。所述方法可被应用于亮度DC预测和色度DC预测两者。可选地,所述方法可被应用于亮度DC预测和色度DC预测中的仅一个。
例如,当当前块为非正方形形状时,基于水平长度和垂直长度中的一个来执行预测。例如,可通过将上参考样点和左参考样点之和除以当前块的水平长度与垂直长度之中的更大值来获得预测值。这里,可通过移位运算来执行使用与所述更大值对应的值的除法。
例如,可使用多条参考样点线来执行DC预测。例如,如图12的(c)中所示,可使用两条参考样点线来执行预测。
例如,包括在两条参考样点线中的参考样点的平均值可被确定为当前块的DC预测值。
可选地,可将不同的加权因子应用于与当前块相邻的第一条线中的参考样点以及第二条线中的参考样点。例如,可通过将加权因子3∶1应用于第一条线中的参考样点的值和第二条线中的参考样点的值来获得值(例如,值(3*第一条线中的参考样点+第二条线中的参考样点+2)>>2),并且可将这些值的平均值确定为当前块的DC预测值。可选地,可获得值(3*第一条线中的参考样点-第二条线中的参考样点)>>1,并且可将这些值的平均值确定为当前块的DC预测值。加权因子不限于以上示例,并且任意加权因子是可能的。这里,随着参考样点线与当前块相邻,可应用更大的加权因子。可使用的参考样点线的数量不限于2,并且可使用三条或更多条参考样点线。
在平面模式的情况下,可利用考虑与根据当前块的帧内预测目标样点的位置构建的一个或更多个参考样点的距离的加权和来执行预测。
可对当前块的参考样点或预测样点执行滤波。例如,在将滤波应用于参考样点之后,可执行平面预测,并且可对一个或更多个预测样点执行滤波。预测样点中的滤波目标样点可以是当前块内的上边界或左边界的一条、两条或N条。
为了执行平面预测,可使用一个或更多个参考样点的加权和。例如,如图12的(d)中所示,可使用五个参考样点。例如,为了对位置[x,y]处的目标样点进行预测,可使用参考样点r[-1,-1]、r[x,-1]、r[-1,y]、r[W,-1]和r[-1,H]。这里,W和H可分别是当前块的水平长度和垂直长度。例如,可使用下面的等式9来生成预测样点pred[x,y]。在下面的等式9中,a、b、c、d和e可表示加权因子。N可以是log2(a+b+c+d+e)。
[等式9]
pred[x,y]=(a*r[-1,-1]+b*r[x,-1]+c*r[-1,y]+d*r[W,-1]+e*r[-1,H])>>N
作为另一示例,可使用多条参考样点线来执行平面预测。例如,可使用两条参考样点线的加权和来执行预测。例如,可使用包括在两条参考样点线中的参考样点的加权和。在这种情况下,可从第二参考样点线选择与从第一参考样点线选择的参考样点相邻的参考样点。对于坐标(-1,-1)处的参考样点,可选择坐标(-2,-2)处的参考样点。通过所选择的参考样点的加权和,可执行平面预测,并且加权因子是如DC预测中所描述的。
可对当前块执行方向帧内预测。方向帧内预测模式可以是例如水平模式、垂直模式和具有预定角度的模式中的至少一个。
在水平/垂直模式下,可使用在帧内预测目标样点的位置上的水平线/垂直线上存在的一个或更多个参考样点来执行预测。
关于具有预定角度的模式,可使用与帧内预测目标样点的位置成预定角度的线上和线附近存在的一个或更多个参考样点来执行预测。这里,将被使用的参考样点的数量是N,其中,N是二、三、四、五和六中的至少一个。
根据参考样点,N抽头滤波器可被用于执行预测。例如,可应用2抽头、3抽头、4抽头、5抽头和6抽头滤波器中的至少一个来执行预测。这里,参考样点中的至少一个可位于当前块的上方,并且参考样点中的其余参考样点可位于当前块的左侧。位于当前块的上方的参考样点或位于左侧的参考样点可位于同一条线上,或者可位于不同的线上。
可对当前块执行基于位置信息的帧内预测。这里,位置信息可被编码/解码,并且该位置处的重建样点块可被推导为当前块的帧内预测块。可选地,解码器通过搜索与当前块相似的块而找到的块可被推导为当前块的帧内预测块。
可执行针对当前块的颜色分量之间的帧内预测。例如,当前块的重建亮度分量可被用于对色度分量执行帧内预测。此外,当前块的一个重建色度分量Cb可被用于对另一色度分量Cr执行帧内预测。
在下文中,将描述在由解码器执行帧内预测时通过使用一个或更多个参考样点来执行插值预测的方法。
在执行帧内预测时,解码器可基于当前块的帧内预测模式和当前块的尺寸/形状中的至少一个不同地使用参考样点线的数量、插值滤波器抽头的数量、插值滤波器的系数值、滤波应用、加权平均方法中的至少一个来执行预测。
图13是示出在帧内预测方法中使用两个参考样点的方法的示图。
将被使用的参考样点线的数量可根据当前块的帧内预测模式而变化。例如,当当前块的帧内预测模式是非方向模式(诸如DC模式或平面模式)时,使用一条参考样点线。当它是方向模式时,使用两条参考样点线。
将被使用的参考样点线的数量可根据当前块的尺寸/形状而变化。例如,当当前块的尺寸小于预定尺寸时,使用一条参考样点线。当它大于该预定尺寸时,使用两条参考样点线。
当当前块的边界与预定边界对应时,可不同地设置将被使用的参考样点线的数量。例如,当当前块的上边界与画面、条带、并行块、编码树块(CTB)和预定尺寸的块的边界中的至少一个边界对应时,针对上方使用一条参考样点线。作为另一示例,当当前块的左边界与画面、条带、并行块、编码树块(CTB)和预定尺寸的块的边界中的至少一个边界对应时,针对左侧使用一条参考样点线。
作为另一示例,当当前块的边界与预定边界对应时,可不同地设置可用参考样点线的数量。也就是说,可用样点线的数量可根据当前块的边界是否与预定边界对应而变化。
例如,当当前块的上边界与画面、条带、并行块、编码树块(CTB)和预定尺寸的块的边界中的至少一个边界对应时,针对参考样点的指示符值总是被设置为预设值。这里,存在一条可用参考样点线。
另一方面,当当前块的上边界不与画面、条带、并行块、编码树块(CTB)和预定尺寸的块的边界中的至少一个边界对应时,可被选择为参考样点线的可用参考样点线的数量是3。
在执行方向预测时,可应用插值滤波器。插值滤波器可具有两个抽头、四个抽头、六个抽头和N个抽头中的至少一个抽头数量,并且N是正整数。插值滤波器每抽头可具有一个或更多个滤波器系数值。
例如,可如下面的等式10中所示应用6抽头滤波器。这里,a至f可以是6抽头滤波器的滤波器系数。S00至S05可分别表示图13中所示的样点。
[等式10]
S_F=(a*S00+b*S01+c*S02+d*S03+e*S04+f*S05+2g-1)>>g
滤波器系数之和可以是32、64、128、256、512、1024和N中的至少一个,并且每个滤波器系数可以是整数值。g值可以是与针对滤波器系数之和的2的g次方对应的值。例如,当滤波器系数之和为1024时,g为10。
根据帧内预测模式,插值滤波器抽头或系数值可变化。
例如,当帧内预测模式不与预定模式对应时,应用4抽头滤波器。当它不与预定模式对应时,应用2抽头滤波器。
作为另一示例,滤波器系数值可基于根据帧内预测模式的角度而变化。例如,在6抽头的情况下,可使用两种滤波器类型。这里,所使用的滤波器可被称为第一滤波器和第二滤波器。每个滤波器可具有滤波器系数值{a,b,c,d,e,f},并且这里,可以以查找表(LUT)形式存储滤波器系数值。下面的表1根据整数单位样点之间的位置示出第一滤波器和第二滤波器的滤波器系数值的示例。在下表中,X-pel可表示根据帧内预测模式确定的c与d之间的位置。
[表1]
Figure BDA0002504005150000431
Figure BDA0002504005150000441
根据当前块的尺寸/形状,将被使用的插值滤波器抽头或系数值可变化。
例如,当当前块的水平尺寸或垂直尺寸与预定尺寸对应时,应用2抽头滤波器。当与另一预定尺寸对应时,应用6抽头滤波器。
作为另一示例,当当前块的水平尺寸或垂直尺寸与预定尺寸对应时,应用第一6抽头滤波器。当与另一预定尺寸对应时,应用第二6抽头滤波器。例如,当与方向预测模式使用的参考样点区域对应的当前块的水平尺寸或垂直尺寸等于或小于值8时,应用第一6抽头滤波器。当大于值8时,应用第二6抽头滤波器。
作为另一示例,根据当前块的水平尺寸或垂直尺寸,可自适应地选择滤波器系数值以供应用。
对于当前块的帧内预测,当多条参考样点线被使用时,根据参考样点线不同地设置将被使用的插值滤波器抽头或系数值。
例如,当参考样点线与和当前块相邻的第一条线对应时,应用6抽头滤波器。当参考样点线与第二条线对应时,应用2抽头滤波器。如图13中所示,当对当前块执行方向预测时,6抽头插值滤波器使用在第一条线中存在的样点S00至S05来操作,并且2抽头插值滤波器使用在第二条线中存在的样点S12至S13来操作。
插值滤波器可以是二维形状。例如,可以以各种方式应用图10中所示的滤波器形状中提供的n抽头滤波器。
在对当前块执行方向预测时,解码器可使用未应用插值滤波器的参考样点。例如,在对当前块的样点执行帧内预测时,当与方向模式对应的参考样点在整数位置处存在时,解码器照原样使用参考样点而不应用插值滤波器。
对于不应用插值滤波器的参考样点,可应用3抽头、5抽头和N抽头滤波器中的至少一个滤波器。例如,滤波器{1,2,1}可被应用于该参考样点。这里,可基于当前块的帧内预测模式、尺寸和形状中的至少一个来确定是否应用滤波器。
例如,当多条参考样点线被用于帧内预测时,将插值滤波器或加权平均应用于在每条参考样点线中应用插值滤波器而预测的值。可根据下面的等式11推导预测值。
[等式11]
S_P=(h*S_F1+i*S_F2+2j-1)>>j
例如,解码器可使用S_F1和S_F2的加权平均来推导预测值S_P,其中,S_F1是通过将插值滤波器应用于第一参考样点线而推导出的,S_F2是通过将插值滤波器应用于第二参考样点线而推导出的。这里,h和i可以是加权因子值,并且j可以是与针对加权因子值之和的2的j次幂对应的值。例如,h=3,i=1和j=2是可能的。
在应用插值滤波器时,当构建的参考样点区域外部的样点被使用时执行填充。例如,当方向预测模式在图13中所示的参考样点S04与S05之间通过时,将6抽头滤波器应用于参考样点,并且解码器在利用可用参考样点S05对右侧之外的两个样点进行填充之后应用插值滤波器。
图14是示出重建参考样点的方法的示图。
在执行方向帧内预测时,构建的参考样点根据方向预测模式再次被构建。例如,当方向预测模式是使用在左侧和上方存在的所有参考样点的模式时,使用左参考样点和/或上参考样点再次构建针对左侧或上方的一维阵列。
例如,如图14中所示,可使用在左侧存在的参考样点中的一个或更多个参考样点来构建针对上参考样点的一维阵列。这里,左参考样点中的用于构建上参考样点的样点可根据方向模式而变化。根据图14,可通过对左参考样点进行移位来再次构建上参考样点。作为另一示例,可使用一个或更多个左参考样点的插值来再次构建上参考样点。
在下文中,将详细描述通过使用包括经过解码的右原始样点和/或下原始样点的参考样点来对当前块执行帧内预测的方法。
图15是示出根据本发明的在DC模式下的帧内预测方法的示例的示图。
当使用包括右原始样点和/或下原始样点的参考样点来执行非方向帧内预测时,非方向帧内预测模式是DC模式和平面模式中的至少一个。
如图15中所示,当当前块的水平长度是W并且垂直长度是H时,根据下面的等式12执行DC模式预测。可使用上参考样点和左参考样点以及/或者右参考样点和下参考样点中的一个或更多个参考样点的平均值来执行当前块的DC模式预测,其中,上参考样点和左参考样点由相邻重建样点构成,右参考样点和下参考样点通过原始样点解码和插值来被构建。下面的项average(·)可以是用于获得整数的平均值的运算符。
[等式12]
Figure BDA0002504005150000461
根据以下示例中的至少一个,可基于当前块的尺寸和形状中的至少一个来执行根据本发明的DC模式预测方法。
例如,在等式12中,w1=w2=w3=w4=w5是可能的。作为另一示例,在等式12中,w1、w2、w3、w4和w5可具有不同的值。作为又一示例,在等式12中,w3=w4=w5=0是可能的。作为又一示例,在等式12中,w1=w2且w3=w4=w5是可能的。然而,w1>w3是可能的。作为又一示例,当当前块是W>H的非正方形块时,在等式12中,w1=w3=w5且w2=w4是可能的。然而,w1>w2是可能的。作为又一示例,当当前块是W>H的非正方形块时,在等式12中,w2=w4=0是可能的。作为又一示例,当当前块是W<H的非正方形块时,在等式12中,w1=w3且w2=w4=w5是可能的。然而,w1<w2是可能的。作为又一示例,当当前块是W<H的非正方形块时,在等式12中,w1=w3=0是可能的。
在平面模式下,可使用考虑与上参考样点、左参考样点、下参考样点和右参考样点中的一个或更多个参考样点的距离的加权和来执行预测,其中,上参考样点、左参考样点、下参考样点和右参考样点是根据当前块的帧内预测目标样点的位置(x,y)来被构建的。
例如,如图15中所示,当当前块的水平长度是W且垂直长度是H时,根据下面的等式13执行平面模式预测。对于构成预测块的各个像素的位置处的像素值,可使用上参考像素、左参考像素、下参考像素和右参考像素的值的加权和来执行平面模式预测。这里,可分别利用由原始样点的解码值和内插值组成的右参考样点值和/或下参考样点值来构建当前块的最右列和/或最下行的预测样点值。
[等式13]
Figure BDA0002504005150000471
其中,x=0,...W-2&y=0...H-2
Predc(x,y)=Refright[y],其中,x=W-1&y=0,...H-2
Predc(x,y)=Refright[x],其中,x=0,...H-2&y=W-2
Predc(x,y)=RefBR,其中,x=H-2&y=W-2
图16至图18是示出根据本发明的方向模式下的帧内预测方法的示例的示图。
当使用包括右原始样点和/或下原始样点的参考样点来执行方向帧内预测时,方向预测模式可以是水平模式、垂直模式和具有预定角度的模式中的至少一个。
当使用包括右原始样点和/或下原始样点的参考样点来执行方向帧内预测时,使用每个方向上的相对端处的两个参考样点的值来执行双向预测。这里,方向预测的角度可表示如图16中所示的360°内的所有方向。双向预测模式的数量可以是N,并且N可表示正整数。
这里,利用由原始样点的解码值和内插值构成的右参考样点值和/或下参考样点值,可首先分别构建当前块的最右列的预测样点值和当前块的最下行的预测样点值。
在图17的(a)至(c)中,由菱形指定的样点可以是特定位置处的预测目标样点Pred(x,y),并且由圆圈指定的样点可表示用于对预测目标样点进行预测的参考样点Ref1和Ref2。这里,Ref1和Ref2中的每一个可以是上参考样点、左参考样点、右参考样点或下参考样点中的一个。图17的(a)示出用于预测目标样点的参考样点是左参考样点和上参考样点的情况。图17的(b)示出用于预测目标样点的参考样点是下参考样点和上参考样点的情况。图17的(c)示出用于预测目标样点的参考样点是下参考样点和右参考样点的情况。
此外,在图17的(a)至图17的(c)中,W1和W2可分别表示到双向预测中使用的参考样点Ref1和Ref2的距离。
这里,当参考样点的位置不是整数时,利用多个相邻整数位置处的参考样点值的内插值来配置参考样点值。例如,当Ref1在Ref_top[x]与Ref_top[x+1](其中,x=0,…,W-2)之间存在时,使用两个整数位置处的参考样点中的更接近Ref1的整数位置处的参考样点Ref_top[k]来计算W1。此外,当Ref2在Ref_left[y]与Ref_left[y+1](其中,y=0,…,H-2)之间存在时,使用两个整数位置处的参考样点中的更接近Ref2的整数位置处的参考样点Ref_left[1]来计算距离。
以相同的方式,当用于预测目标样点的参考样点是下样点和/或右样点时,通过与上述相同的方法获得整数位置处的下参考样点和/或右参考样点,并且在此基础上,预测目标样点与参考样点之间的距离被获得。具体地,W1和W2可通过以下方法被获得。
例如,Pred(x,y)与Ref1之间的距离W1可通过sqrt{(x-k)2+(y+1)2}来获得。作为另一示例,Pred(x,y)与Ref1之间的距离W1可通过abs(x-k)+(y+1)来获得。作为另一示例,Pred(x,y)与Ref1之间的距离W1可通过max{abs(x-k),(y+1)}来获得。作为另一示例,Pred(x,y)与Ref2之间的距离W2可通过sqrt{(x+1)2+(y-1)2}来获得。作为另一示例,Pred(x,y)与Ref2之间的距离W2可通过(x+1)+abs(y-1)来获得。作为另一示例,Pred(x,y)与Ref2之间的距离W2可通过max{(x+1),abs(y-1)}来获得。
在方向模式下,可如下面的等式14来执行双向预测。
[等式14]
Figure BDA0002504005150000491
例如,w_ref1和w_ref2可以是分别和预测样点与Ref1之间的距离(W1)以及和预测样点与Ref2之间的距离(W2)成正比的加权因子。
作为另一示例,w_ref1和w_ref2可以是分别和预测样点与Ref1之间的距离以及和预测样点与Ref2之间的距离成反比的加权因子。
此外,w_ref1_type和w_ref2_type可以是加权因子,所述加权因子与Ref1或Ref2是位于由重建样点构成的上参考样点/左参考样点处的参考样点还是位于通过插值构建的下参考样点/右参考样点处的参考样点相关。这里,w_ref1、w_ref2、w_ref1_type和w_ref2_type可通过以下方法中的一个或更多个来获得。
例如,w_ref1=w_ref2=w_ref1_type=w_ref2_type=C是可能的,并且C可以是任意常数。
作为另一示例,w_ref1=W1、w_ref2=W2以及w_ref1_type=w_ref2_type=C是可能的。这里,C可以是任意常数,例如,C=0是可能的。
作为另一示例,w_ref1=W2、w_ref2=W1以及w_ref1_type=w_ref2_type=C是可能的。这里,C可以是任意常数,例如,C=0是可能的。
作为另一示例,如图18的(a)中所示,当Ref1和Ref2两者在上参考样点区域或左参考样点区域中存在时,w_ref1_type=w_ref2_type=C1是可能的,并且w_ref1和w_ref2分别是w_ref1=W1且w_ref2=W2,或者w_ref1=w_ref2=C2是可能的。这里,C1和C2可以是任意常数。
作为另一示例,如图18的(b)中所示,当Ref1在上参考样点区域或左参考样点区域中存在并且Ref2在右参考样点区域或下参考样点区域中存在时,w_ref1_type>w_ref2_type是可能的,w_ref1和w_ref2分别是w_ref1=W1且w_ref2=W2,或者w_ref1=w_ref2=C是可能的。这里,C可以是任意常数。
作为另一示例,如图18的(c)中所示,当Ref2在上参考样点区域或左参考样点区域中存在并且Ref1在右参考样点区域或下参考样点区域中存在时,w_ref1_type<w_ref2_type是可能的,wref1和w_ref2分别是w_ref1=W1和w_ref2=W2,或者w_ref1=w2ref2=C是可能的。这里,C可以是任意常数。
作为另一示例,如图18的(d)中所示,当Ref1和Ref2两者在下参考样点区域或右参考样点区域中存在时,w_ref1_type=w_ref2_type=C1是可能的,w_ref1和w_ref2分别是w_ref1=W1和w_ref2=W2,或者w_ref1=w_ref2=C2是可能的。这里,C1和C2可以是任意常数。
在下文中,将描述由解码设备通过使用针对当前块的重叠预测因子来执行帧内预测的方法。
图19是示出使用重叠预测因子的帧内预测方法的示例的示图。
解码器可通过使用重叠预测因子对当前块执行帧内预测。当使用N个帧内预测模式对当前块进行预测时,当前块的帧内预测模式mode_CB是以下之一。
例如,mode_CB可被确定为N个帧内预测模式中的一个。具体地,mode_CB可被确定为在考虑当前块与N个帧内预测模式中的每个帧内预测模式中生成的预测因子之间的残差信号中的至少一个残差信号以及发送该残差信号所需的信息量的代价函数方面具有最低代价的模式。
与Mode_CB相邻的K个模式可被定义为Mode_CB的邻近模式mode_NGB。这里,K个邻近模式可表示mode_CB+1至mode_CB+K1以及mode_CB-1至mode_CB-K2中的一个或更多个。这里,K1和K2可以是正整数,K1+K2=K是可能的。
可根据下面的等式15推导重叠预测因子Pred_combined。具体地,可通过使用mode_CB生成的预测因子Pred_mode_CB和使用mode_NGB生成的预测因子Pred_mode_NGB的加权和来推导重叠预测因子。
[等式15]
Figure BDA0002504005150000501
图19示出使用重叠预测因子执行帧内预测的一些示例。解码器可确定针对当前块的mode_CB和mode_NGB,并且在此基础上,可推导Pred_mode_CB和Pred_mode_NGB。解码器可使用推导出的Pred_mode_CB和pred_mode_NGB的加权和来推导Pred_combined。这里,加权因子w1和w2可满足w1+w2=1的条件。
当使用重叠预测因子执行帧内预测时,可用信号发送重叠预测因子标志(flag_combined)和/或指示多个邻近模式中的哪个mode_NGB被用于构建pred_combined的指示符。
当当前块与当前块的预测因子(Pred_mode_CB)之间的代价被定义为cost_CB,并且当前块与重叠预测因子(Pred_combined)之间的代价被定义为cost_combined时,解码器将cost_CB与cost_combined进行比较。
这里,在K个邻近模式(mode_NGB_index,其中,index=0,…,K-1)中,可将cost_CB与mode_NBG_index的cost_combined进行比较,其中,当使用每个mode_NBG_index时,所述mode_NBG_index的cost_combined在多个cost_combined中具有最小值。
例如,在cost_CB>cost_combined的情况下,使用Pred_combined来执行预测,并且flag_combined和索引信息被用信号发送。这里,flag_combined的值可以是第一值。另一方面,在cost_CB≤cost_combined_index的情况下,可使用mode_CB来执行预测,并且flag_combined可被发送。这里,flag_combined的值可以是第二值。这里,第一值和第二值可分别是零和一,或者一和零。索引信息可由编码器和解码器熵编码/熵解码。
图20是示出在使用重叠预测因子的帧内预测方法中使用的模板的示图。
作为使用重叠预测因子来执行帧内预测的另一示例,编码器可发送重叠预测因子标志(flag_combined),并且指示符(索引)可由解码器推导。
这里,为了确定flag_combined的值,编码器可将与当前块相邻的重建像素区域指定为模板,并且可使用模板与重建区域之间的代价函数或代价值。例如,代价函数或代价可以是SAD、SSE、SATD、MSE等中的一个。
例如,对于如图20中所示的尺寸为W×H的当前块,模板可以是与当前块的最上行相邻的N行以及与当前块的最左列相邻的M列。这里,N行和M列可分别被定义为上方模板和左侧模板。这里,N和M可以是随着W和H而变化的值。具体地,可根据以下方法来确定N和/或M。
例如,N和/或M可以是不管W和/或H的值而确定的预定的正整数。作为另一示例,在W=H的情况下,N和M可以是满足N=M的正整数。作为又一示例,在W>H的情况下,N和M可以是满足N<M的正整数。作为又一示例,在W<H的情况下,N和M可以是满足N>M的正整数。
可计算图20中所示的模板参考样点与区域的重建样点(诸如通过使用mode_CB在模板区域中构建的预测因子(Pred_TMP))之间的项cost_TMP_CB。这里,当cost_TMP_CB等于或小于预设值时,编码器将flag_overlay值设置为第一值以用信号发送。另一方面,当cost_TMP_CB超过预设值时,编码器将flag_overlay值设置为第二值以用信号发送。编码器根据mode_CB将不同的加权因子应用于上方模板的每一行和/或左侧模板的每一列,从而计算cost_TMP_CB值。这里,可根据以下方法来确定加权因子。
例如,不管mode_CB如何,可将相同的加权因子应用于左侧模板和上方模板。作为另一示例,当mode_CB是水平方向模式中的一个时,左侧模板的加权因子被设置为大于上方模板的加权因子。作为另一示例,当mode_CB是垂直方向模式中的一个时,上方模板的加权因子被设置为大于左侧模板的加权因子。作为另一示例,当mode_CB是对角线方向模式中的一个时,上方模板的加权因子被设置为等于左侧模板的加权因子。
此外,当计算代价值时,用于cost_TMP_CB计算的模板根据mode_CB而被设置为不同。具体地,可根据以下方法确定用于cost_TMP_CB的模板。
例如,不管mode_CB如何,左侧模板和上方模板两者被用于cost_TMP_CB计算。作为另一示例,当mode_CB是水平方向模式中的一个时,左侧模板被用于cost_TMP_CB计算。作为另一示例,当mode_CB是垂直方向模式中的一个时,上方模板被用于cost_TMP_CB计算。作为另一示例,当mode_CB是对角线方向模式中的一个时,上方模板和左侧模板被用于cost_TMP_CB计算。
当由解码器熵解码的flag_combined的值是第一值时,解码器推导使用重叠预测因子的帧内预测所需的邻近模式指示符(索引)。当用于使用重叠预测因子的帧内预测的邻近模式的数量是K时,解码器将从mode_CB计算出的cost_TMP_CB值与从作为K个邻近模式中的一个模式的mode_NGB计算出的cost_TMP_NGB值进行比较。这里,解码器最终可将多个mode_NGB中的具有最小代价值的mode_NGB的cost_TMP_NGB与cost_TMP_CB值进行比较。
作为解码器的代价比较的结果,当满足cost_TMP_NGB<cost_TMP_CB+C时,解码器根据上述等式15使用重叠预测因子来执行帧内预测。这里,C可以是任意常数。例如,C的值可以是零。
此外,作为解码器的代价比较的结果,当满足cost_TMP_NGB≥cost_TMP_CB+C时,解码器使用在mode_CB下生成的Pred_mode_CB来执行帧内预测。
在下文中,将描述通过帧内预测和帧间预测的重叠预测对当前块执行预测的方法。
可使用利用预定帧内预测模式预测的值和利用预定帧间预测模式预测的值的加权和来执行对当前块的预测。这里,可根据编码模式、帧内预测模式、帧间预测模式、当前块的尺寸/形状和预测样点的位置中的至少一个来不同地应用加权因子。
例如,当帧内预测模式是非方向模式(诸如DC模式或平面模式)时,加权因子1/2被应用于帧内预测样点和帧间预测样点。也就是说,应用于帧内预测模式和帧间预测模式的加权因子的比率可以是1∶1。
可选地,当帧内预测模式是垂直模式时,针对帧内预测样点的加权因子值随着与上参考样点的距离的增加而减小。相反,针对帧间预测样点的加权因子值随着与上参考样点的距离的增加而增加。也就是说,当帧内预测模式是垂直模式时,随着当前块的y轴值增加,针对帧内预测样点的加权因子值减小,并且针对帧间预测样点的加权因子值增加。
这里,当帧内预测模式是垂直模式时,这表示帧内预测模式的值是50。
类似地,当帧内预测模式是水平模式时,针对帧内预测样点的加权因子值随着与左参考样点的距离的增加而减小。相反,针对帧间预测样点的加权因子值随着与左参考样点的距离的增加而增加。也就是说,当帧内预测模式是水平模式时,随着当前块的x轴值增加,针对帧内预测样点的加权因子值减小,并且针对帧间预测样点的加权因子值增加。
这里,当帧内预测模式是水平模式时,这表示帧内预测模式的值是18。
应用于帧内预测样点的加权因子值和应用于帧间预测样点的加权因子值之和可以是2的平方(例如,4、8、16和32)。具体地,当针对帧内预测模式的加权因子是w1并且针对帧间预测模式的加权因子是w2时,关系w1+w2=2^N被建立。例如,N可以是3。
此外,当当前块的尺寸在预定范围中时,加权因子1/2(1∶1的比率)可被应用于帧内预测样点和帧间预测样点。例如,当当前块的水平尺寸或垂直尺寸小于值4时,加权因子比率被确定为1∶1。
帧内预测模式可被固定为DC模式和平面模式中的一个,或者可通过被用信号发送来被确定。可选地,帧内预测模式可以是MPM候选模式中的一个,并且可通过用信号发送MPM索引来被确定。可使用邻近块的帧内预测模式来推导MPM候选模式,并且邻近块的模式可被改变为预定的代表性模式。例如,当邻近块的帧内预测模式是垂直方向上的方向模式时,该模式被改变为垂直模式。当邻近块的帧内预测模式是水平方向上的方向模式时,该模式被改变为水平模式。
帧间预测模式可以是跳过模式、合并模式和AMVP模式中的至少一个。也就是说,当当前块的帧间预测模式是合并模式时,使用利用与合并索引对应的运动信息预测的帧间预测值和利用DC模式或平面模式预测的值的加权和来执行对当前块的预测。
在下文中,将描述由解码器通过使用一条或更多条参考样点线来执行插值预测的方法。
图21是示出帧内预测模式的方向模式的示图。
图21示出将帧内预测模式分类为几种模式。具体地,水平方向上的帧内预测模式可被分类为HOR_MODE,垂直方向上的帧内预测模式可被分类为VER_MODE,朝向右下方的方向上的帧内预测模式可被分类为DIA_MODE,并且朝向右上方的方向上的帧内预测模式可被分类为UR_MODE,并且朝向左下方的方向上的帧内预测模式可被分类为DL_mode。这里,解码器可根据当前块的帧内预测模式CUR_MODE,利用以下方法之一使用多条参考样点线来执行插值预测。
例如,HOR_MODE可表示帧内预测的角度平行于x轴的帧内预测模式。VER_MODE可表示帧内预测的角度平行于y轴的帧内预测模式。DIA_MODE可表示帧内预测的角度是相对于x轴向左上方的45度角的预测模式。UR_MODE可表示帧内预测的角度是相对于x轴向左下方的45度角的预测模式。DL_MODE可表示帧内预测的角度是相对于x轴向右上方的45度角的预测模式。DC_MODE可表示根据DC模式的预测模式,PLANAR_MODE可表示根据平面预测的预测模式。
图22至图25是示出根据本发明的通过使用参考样点线来执行插值预测的方法的示图。
例如,图22示出当满足CUR_MODE<HOR_MODE时使用多条参考样点线来执行插值预测的示例。图23示出当满足HOR_MODE<CUR_MODE<DIA_MODE时使用多条参考样点线来执行插值预测的示例。图24示出当满足DIA_MODE<CUR_MODE<VER_MODE时使用多条参考样点线来执行插值预测的示例。图25示出当满足CUR_MODE>VER_MODE时使用多条参考样点线来执行插值预测的示例。
作为另一示例,当CUR_MODE是DC_MODE、PLANAR_MODE、UR_MODE、DIA_MODE、VER_MODE和DL_MODE中的一个时,解码器使用位于每一条参考样点线中的整数参考样点的加权和来执行帧内预测,而不执行插值。
在图22和图23中,L_pred可表示与CUR_MODE对应的预测方向。(R_0,N-1)、(R_0,N)和(R_0,N+1)可表示用于插值的第一参考样点线上的三个连续的参考样点。(R_-1,N-1)、(R_-1,N)和(R_-1,N+1)可表示用于插值的第二参考样点线上的三个连续的参考样点。此外,R_frac_bottom可表示第一参考样点线和L_pred的交点,并且R_frac_top可表示第二参考样点线和L_pred的交点(整数点位置或小数点位置)。这里,R_frac_bottom和R_frac_top两者可表示与整数点位置或小数点位置对应的位置。
此外,在第二参考样点线上,位于与R_frac_bottom相同的y坐标位置处的子像素可被定义为R_vir_top。在第一参考样点线上,位于与R_frac_top相同的y坐标位置处的子像素可被定义为R_vir_bottom。
此外,在图22中,从(R_0,N-1)到R_vir_bottom的距离可被定义为d1,并且从(R_0,N)到R_frac_bottom的距离可被定义为d2。在图23中,从(R_0,N-1)到R_frac_boμtom的距离可被定义为d1,并且从(R_0,N)到R_vir_bottom的距离可被定义为d2。
这里,R_frac_bottom与R_frac_top之间的中点可被定义为V_intp_C,并且穿过V_intp_C且与L_pred正交的直线可被定义为L_pred_perpend。L_pred_perpend与连接R_frac_bottom和R_vir_top的直线的交点可被定义为图22中的Vintp_R,并且可被定义为图23中的V_intp_L。Lpred_perpend与连接R_vir_bottom和R_frac_top的直线的交点可被定义为图22中的V_intp_L,并且可被定义为图23中的V_intp_R。这里,通过V_intp_C的水平直线与V_intp_L或V_intp_R之间的最短距离可被定义为delta(Δ)。
在图24和图25中,L_pred可表示与CUR_MODE对应的预测方向。(R_N-1,0)、(R_N,0)和(R_N+1,0)可表示用于插值的第一参考样点线上的三个连续的参考样点。(R_N-1,-1)、(R_N,-1)和(R_N+1,-1)可表示用于插值的第二参考样点线上的三个连续的参考样点。此外,R_frac_bottom可表示第一参考样点线与L_pred的交点,并且R_frac_top可表示第二参考样点线与L_pred的交点。这里,R_frac_bottom和R_frac_top两者可表示与整数点位置或小数点位置对应的位置。
此外,在第二参考样点线上,位于与R_frac_bottom相同的x坐标位置处的子像素可被定义为R_vir_top。在第一参考样点线上,位于与R_frac_top相同的x坐标位置处的子像素可被定义为R_vir_bottom。
此外,在图24中,从(R_N-1,0)到R_vir_bottom的距离可被定义为d1,并且从(R_N,0)到R_frac_bottom的距离可被定义为d2。在图25中,从(R_N-1,0)到R_frac_bottom的距离可被定义为d1,并且从(R_N,0)到R_vir_bottom的距离可被定义为d2。
这里,R_frac_bottom与R_frac_top之间的中点可被定义为V_intp_C,并且穿过V_intp_C且与L_pred正交的直线可被定义为L_pred_perpend。L_pred_perpend与连接R_frac_bottom和R_vir_top的直线的交点可被定义为图24中的V_intp_R,并且可被定义为图25中的V_intp_L。L_pred_perpend与连接R_vir_bottom和R_frac_top的直线的交点可被定义为图24中的V_intp_L,并且可被定义为图25中的V_intp_R。这里,通过V_intp_C的水平直线与V_intp_L或V_intp_R之间的最短距离可被定义为delta(Δ)。
这里,在图22中,可根据下面的等式16推导R_frac_bottom、R_vir_bottom、R_frac_top和R_vir_top。
[等式16]
Rvir_bottom={(F-d1)·R0,N-1+d1·R0,N+F/2}>>N
Rfrac_bottom={(F-d2)·R0,N+d2·R0,N+1+F/2}>>N
Rvir_top={(F-d2)·R-1,N+d2·R-1,N+1+F/2}>>N
Rfrac_top={(F-d1)·R-1,N-1+d1·R-1,N+F/2}>>N
此外,在图23中,可根据下面的等式17获得R_frac_bottom、R_vir_bottom、R_frac_top和R_vir_top。
[等式17]
Rfrac_bottom={(F-d1)·R0,N-1+d1·R0,N+F/2}>>N
Rvir_bottom={(F-d2)·R0,N+d2·R0,N+1+F/2}>>N
Rfrac_top={(F-d2)·R-1,N+d2·R-1,N+1+F/2}>>N
Rvir_top={(F-d1)·R-1,N-1+d1·R-1,N+F/2}>>N
此外,在图24中,可根据下面的等式18推导R_frac_bottom、R_vir_bottom、R_frac_top和R_vir_top。
[等式18]
Rvir_bottom={(F-d1)·RN-1,0+d1·RN,0+F/2}>>N
Rfrac_bottom={(F-d2)·RN,0+d2·RN+1,0+F/2}>>N
Rvir_top={(F-d2)·RN,-1+d2·RN+1,-1+F/2}>>N
Rfrac_top={(F-d1)·RN-1,-1+d1·RN,-1+F/2}>>N
此外,在图25中,可根据下面的等式19推导R_frac_bottom、R_vir_bottom、R_frac_top和R_vir_top。
[等式19]
Rfrac_bottom={(F-d1)·RN-1,0+d1·RN,0+F/2}>>N
Rvir_bottom={(F-d2)·RN,0+d2·RN+1,0+F/2}>>N
Rfrac_top={(F-d2)·RN,-1+d2·RN+1,-1+F/2}>>N
Rvir_top={(F-d1)·RN-1,-1+d1·RN,-1+F/2}>>N
在图22至图25中,当R_frac_bottom与R_vir_bottom之间的距离是W_R,并且R_frac_bottom与R_vir_top之间的距离是H_R时,根据下面的等式20推导delta(Δ)。
[等式20]
Figure BDA0002504005150000571
此外,在图22和图24中,可根据下面的等式21推导V_intp_L、V_intp_R和V_intp_C。
[等式21]
Figure BDA0002504005150000581
Figure BDA0002504005150000582
Figure BDA0002504005150000583
此外,在图23和图25中,可根据下面的等式22推导V_intp_L、V_intp_R和V_intp_C。
[等式22]
Figure BDA0002504005150000584
Figure BDA0002504005150000585
Figure BDA0002504005150000586
在以上等式21和等式22中,F1、F2和F3可表示‘1/F’-pel的子像素的插值。此外,F1、F2和F3可以是2的幂。例如,F1、F2和F3中的每一个可以是2、4、8、16、32、64和2^n中的一个。此外,N1可以是满足(F1+F2)=2^N1的条件的值。例如,如果F1=F2=32,则N=6。此外,N2可以是满足F3=2^N2的条件的值。例如,如果F3=32,则N=5。
可根据下面的等式23推导最终的内插值V_intp。
[等式23]
Figure BDA0002504005150000587
具体地,可使用V_intp_C、V_intp_L和V_intp_R的加权和来推导V_intp。这里,W_C、W_L和W_R可以是相应值的加权因子,WC+WL+WR可以是2的幂。此外,NF可以是满足(W_C+W_L+W_R)=2^N的条件的值。例如,如果W_C=6,W_L=1且W_R=1,则N=3。
使用两条参考样点线来执行插值预测的另一示例可被扩展到以相同的方式使用N条参考样点线来执行插值预测的示例。也就是说,可以以扩展的方式将上述示例应用于使用两条或更多条参考样点线来执行插值预测的示例。
可在编码器和解码器中以相同的方法执行以上实施例。
应用以上实施例的顺序在编码器与解码器之间可不同,或者应用以上实施例的顺序在编码器和解码器中可相同。
可对每个亮度信号和色度信号执行以上实施例,或者可对亮度信号和色度信号相同地执行以上实施例。
应用本发明的以上实施例的块形状可具有正方形形状或非正方形形状。
可依据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的以上实施例。这里,尺寸可被定义为使得以上实施例被应用的最小尺寸或最大尺寸或者最小尺寸和最大尺寸两者,或者尺寸可被定义为应用了以上实施例的固定尺寸。此外,在以上实施例中,可将第一实施例应用于第一尺寸,并且可将第二实施例应用于第二尺寸。换句话说,可依据尺寸组合地应用以上实施例。此外,当尺寸等于或大于最小尺寸并且等于或小于最大尺寸时,可应用以上实施例。换句话说,当块尺寸被包括在特定范围内时,可应用以上实施例。
例如,在当前块的尺寸为8×8或更大时,可应用以上实施例。例如,在当前块的尺寸为4×4或更大时,可应用以上实施例。例如,在当前块的尺寸为16×16或更大时,可应用以上实施例。例如,在当前块的尺寸等于或大于16×16并且等于或小于64×64时,可应用以上实施例。
可依据时间层来应用本发明的以上实施例。为了标识可应用以上实施例的时间层,可用信号发送另外的标识符,并且可将以上实施例应用于由相应标识符标识的指定时间层。这里,标识符可被定义为可应用以上实施例的最低层或最高层或者最低层和最高层两者,或者可被定义为指示应用实施例的特定层。此外,可定义应用实施例的固定时间层。
例如,在当前图像的时间层是最低层时,可应用以上实施例。例如,在当前图像的时间层标识符是1时,可应用以上实施例。例如,在当前图像的时间层是最高层时,可应用以上实施例。
可定义应用本发明的以上实施例的条带类型,并且可依据相应条带类型应用以上实施例。
当运动矢量具有16像素单位、8像素单位、4像素单位、整数像素单位、1/8像素单位、1/16像素单位、1/32像素单位和1/64像素单位中的至少一个时,也可应用本发明的以上实施例。可针对每个像素单位选择性地使用运动矢量。
在上述实施例中,基于具有一系列步骤或单元的流程图描述了所述方法,但是本发明不限于这些步骤的顺序,而是,一些步骤可与其他步骤同时执行或以不同的顺序执行。此外,本领域的普通技术人员应该理解,流程图中的步骤并不互相排斥,并且在不影响本发明的范围的情况下,可将其他步骤添加到流程图或者可将步骤中的一些步骤从流程图删除。
实施例包括示例的各个方面。可不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括权利要求范围内的所有替换、修改和改变。
本发明的实施例可以以程序指令的形式实现,其中,该程序指令可由各种计算机组件执行并且被记录在计算机可读记录介质中。计算机可读记录介质可单独地包括程序指令、数据文件、数据结构等,或者可包括程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明专门设计和构建的,或者对于计算机软件技术领域的普通技术人员是公知的。计算机可读记录介质的示例包括磁记录介质(诸如,硬盘、软盘和磁带)、光学数据存储介质(诸如,CD-ROM或DVD-ROM)、磁光介质(诸如软光盘)以及被专门构建为存储和实现程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例不仅包括由编译器格式化的机械语言代码,而且包括可由计算机使用解释器来实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作或者反之亦可,以进行根据本发明的处理。
尽管已经在特定项目(诸如,详细元件)以及有限的实施例和附图方面描述了本发明,但是它们仅被提供以帮助更全面地理解本发明,并且本发明不限于以上实施例。本发明所属领域的技术人员将理解,可根据以上描述进行各种修改和改变。
因此,本发明的精神将不应限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。
工业适用性
本发明可被用于对图像进行编码/解码。

Claims (16)

1.一种对图像进行解码的方法,所述方法包括:
推导针对当前块的帧内预测模式;
对在当前块的最右列和最下行中存在的至少一个原始样点进行解码;
通过使用经过解码的所述至少一个原始样点来构建参考样点;并且
通过使用构建的参考样点来对当前块执行帧内预测。
2.如权利要求1所述的方法,其中,当所述原始样点被包括在所述最右列中时,使用当前块的所述最右列的上参考样点和与所述原始样点对应的左参考样点来对所述原始样点进行解码。
3.如权利要求1所述的方法,其中,当所述原始样点被包括在所述最下行中时,使用当前块的所述最下行的左参考样点和与所述原始样点对应的上参考样点来对所述原始样点进行解码。
4.如权利要求1所述的方法,其中,构建参考样点的步骤包括:
通过使用经过解码的所述至少一个原始样点来对包括在当前块的所述最下行和所述最右列中的样点执行插值。
5.如权利要求1所述的方法,其中,当所述帧内预测模式是DC模式时,使用通过将上参考样点值之和、左参考样点值之和、右参考样点值之和以及下参考样点值之和乘以相应的预定加权因子而获得的值之和来推导在DC模式下使用的平均值。
6.如权利要求1所述的方法,其中,当所述帧内预测模式是平面模式时,根据当前块的帧内预测目标样点的位置,使用考虑与上参考样点、左参考样点、下参考样点和右参考样点中的至少一个参考样点的距离的加权和来执行所述帧内预测。
7.如权利要求1所述的方法,其中,当所述帧内预测模式是方向预测模式时,使用根据当前块的帧内预测目标样点的位置和帧内预测模式角度确定的第一参考样点和第二参考样点来执行所述帧内预测。
8.如权利要求7所述的方法,其中,使用根据第一距离和第二距离确定的第一加权因子和第二加权因子来执行所述帧内预测,其中,第一距离是第一参考样点与所述预测目标样点之间的距离,第二距离是第二参考样点与所述预测目标样点之间的距离。
9.如权利要求8所述的方法,其中,所述帧内预测的结果值满足下面的等式1,
[等式1]
Figure FDA0002504005140000021
其中,P_red_c(x,y)表示样点(x,y)的预测值;w_ref1和w_ref2分别表示第一加权因子和第二加权因子;w1和w2分别表示第一距离和第二距离;ref1和ref2分别表示第一参考样点和第二参考样点的样点值;并且w_ref1_type和w_ref2_type分别表示根据第一参考样点和第二参考样点被包括在上参考样点、左参考样点、右参考样点和下参考样点中的哪个参考样点中而确定的加权因子。
10.如权利要求1所述的方法,其中,使用重叠预测因子来执行帧内预测,其中,所述重叠预测因子是使用通过所述帧内预测模式推导出的预测结果和通过与所述帧内预测模式相邻的邻近帧内预测模式推导出的预测结果的加权和来推导出的。
11.如权利要求10所述的方法,其中,所述邻近帧内预测模式是根据重叠预测因子标志和索引来确定的,其中,所述重叠预测因子标志指示使用所述重叠预测因子的所述帧内预测是否被执行,所述索引指示所述邻近帧内预测模式。
12.如权利要求10所述的方法,其中,通过将使用所述帧内预测模式的帧内预测代价与使用所述重叠预测因子的帧内预测代价进行比较来确定是否执行使用所述重叠预测因子的所述帧内预测。
13.如权利要求1所述的方法,其中,所述帧内预测是通过对当前块的所述帧内预测和对当前块的帧间预测的重叠预测来执行的,并且
所述重叠预测是使用通过所述帧内预测模式推导出的预测结果和通过帧间预测模式推导出的预测结果的加权和来执行的。
14.如权利要求13所述的方法,其中,在所述重叠预测中使用的加权因子是根据当前块的所述帧内预测模式和尺寸中的至少一个来确定的。
15.一种对图像进行编码的方法,所述方法包括:
推导针对当前块的帧内预测模式;
通过使用当前块的最右列和最下行中存在的至少一个原始样点来构建参考样点;
对所述至少一个原始样点进行编码;并且
通过使用所述参考样点来对当前块执行帧内预测。
16.一种存储通过对图像进行编码的方法生成的比特流的非暂时性存储介质,所述方法包括:
推导针对当前块的帧内预测模式;
通过使用当前块的最右列和最下行中存在的至少一个原始样点来构建参考样点;
对所述至少一个原始样点进行编码;并且
通过使用所述参考样点来对当前块执行帧内预测。
CN201880075792.5A 2017-11-22 2018-11-22 图像编码/解码方法和设备以及用于存储比特流的记录介质 Active CN111386707B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20170156391 2017-11-22
KR10-2017-0156391 2017-11-22
KR10-2018-0058324 2018-05-23
KR20180058324 2018-05-23
PCT/KR2018/014458 WO2019103491A1 (ko) 2017-11-22 2018-11-22 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Publications (2)

Publication Number Publication Date
CN111386707A true CN111386707A (zh) 2020-07-07
CN111386707B CN111386707B (zh) 2024-05-17

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565773A (zh) * 2020-12-06 2021-03-26 浙江大华技术股份有限公司 帧内预测方法、帧内预测装置以及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120112037A (ko) * 2012-03-16 2012-10-11 주식회사 아이벡스피티홀딩스 인트라 예측 모드에서의 영상 복호화 방법
KR20130105114A (ko) * 2012-03-16 2013-09-25 주식회사 아이벡스피티홀딩스 인트라 예측 모드에서의 영상 복호화 방법
WO2014010943A1 (ko) * 2012-07-10 2014-01-16 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
KR20140008503A (ko) * 2012-07-10 2014-01-21 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
WO2017069419A1 (ko) * 2015-10-22 2017-04-27 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
CN106791849A (zh) * 2017-03-01 2017-05-31 四川大学 基于hevc帧内交错预测的降码率算法
KR20170084055A (ko) * 2014-11-06 2017-07-19 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20170089777A (ko) * 2016-01-27 2017-08-04 한국전자통신연구원 예측을 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치
US20170272757A1 (en) * 2016-03-18 2017-09-21 Mediatek Inc. Method and apparatus of video coding
KR20170110162A (ko) * 2010-05-25 2017-10-10 엘지전자 주식회사 신규한 평면 예측 모드

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170110162A (ko) * 2010-05-25 2017-10-10 엘지전자 주식회사 신규한 평면 예측 모드
KR20120112037A (ko) * 2012-03-16 2012-10-11 주식회사 아이벡스피티홀딩스 인트라 예측 모드에서의 영상 복호화 방법
KR20130105114A (ko) * 2012-03-16 2013-09-25 주식회사 아이벡스피티홀딩스 인트라 예측 모드에서의 영상 복호화 방법
WO2014010943A1 (ko) * 2012-07-10 2014-01-16 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
KR20140008503A (ko) * 2012-07-10 2014-01-21 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
KR20170084055A (ko) * 2014-11-06 2017-07-19 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2017069419A1 (ko) * 2015-10-22 2017-04-27 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
KR20170089777A (ko) * 2016-01-27 2017-08-04 한국전자통신연구원 예측을 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치
US20170272757A1 (en) * 2016-03-18 2017-09-21 Mediatek Inc. Method and apparatus of video coding
CN106791849A (zh) * 2017-03-01 2017-05-31 四川大学 基于hevc帧内交错预测的降码率算法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565773A (zh) * 2020-12-06 2021-03-26 浙江大华技术股份有限公司 帧内预测方法、帧内预测装置以及存储介质

Also Published As

Publication number Publication date
US11909961B2 (en) 2024-02-20
US20210136364A1 (en) 2021-05-06
US20240031563A1 (en) 2024-01-25
KR102656598B1 (ko) 2024-04-11
WO2019103491A1 (ko) 2019-05-31
KR20230084437A (ko) 2023-06-13
KR20240049255A (ko) 2024-04-16
KR20190059255A (ko) 2019-05-30
KR102540171B1 (ko) 2023-06-05

Similar Documents

Publication Publication Date Title
CN110870315B (zh) 用于对图像进行编码/解码的方法和装置以及存储比特流的记录介质
CN111247799B (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
CN111837388B (zh) 使用样点滤波的图像编码/解码方法和设备
CN111434109A (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
CN111279695A (zh) 用于基于非对称子块的图像编码/解码的方法及装置
CN111034196A (zh) 用于对视频进行编码/解码的方法和设备以及存储比特流的记录介质
KR102540171B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN111247796B (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
CN111386707B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230111

Address after: Seoul City, Korea

Applicant after: INTELLECTUAL DISCOVERY Co.,Ltd.

Address before: Daejeon, Korea

Applicant before: ELECTRONICS AND TELECOMMUNICATIONS Research Institute OF KOREA

GR01 Patent grant