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

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

Info

Publication number
CN111971966A
CN111971966A CN201980024117.4A CN201980024117A CN111971966A CN 111971966 A CN111971966 A CN 111971966A CN 201980024117 A CN201980024117 A CN 201980024117A CN 111971966 A CN111971966 A CN 111971966A
Authority
CN
China
Prior art keywords
motion vector
block
current block
information
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.)
Pending
Application number
CN201980024117.4A
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.)
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 CN111971966A publication Critical patent/CN111971966A/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/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/172Methods 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 picture, frame or field
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/567Motion estimation based on rate distortion criteria
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

本发明涉及一种具有提高的压缩效率的图像编码/解码方法和装置。一种根据本发明的图像解码方法可包括以下步骤:推导当前块的初始运动矢量;通过使用所述初始运动矢量来推导校正后的运动矢量;并且通过使用所述校正后的运动矢量来生成针对当前块的预测块。可提供一种具有降低的计算复杂度的帧间预测方法和装置以及存储比特流的记录介质。

Description

图像编码/解码方法和设备以及存储比特流的记录介质
技术领域
本发明涉及一种图像编码/解码方法、图像编码/解码设备以及存储比特流的记录介质。具体地,本发明涉及一种使用运动矢量修正技术的图像编码/解码方法和设备。
背景技术
近来,在各种应用领域中对诸如高清(HD)图像和超高清(UHD)图像的高分辨率和高质量图像的需求已经增加。然而,与传统图像数据相比,更高分辨率和质量的图像数据具有越来越多的数据量。因此,当通过使用诸如传统有线和无线宽带网络的介质来发送图像数据时,或者当通过使用传统存储介质来存储图像数据时,发送和存储的成本增加。为了解决随着图像数据的分辨率和质量的增加而发生的这些问题,对于更高分辨率和更高质量的图像,需要高效的图像编码/解码技术。
图像压缩技术包括各种技术,包括:从当前画面的先前画面或后续画面对包括在当前画面中的像素值进行预测的帧间预测技术;通过使用当前画面中的像素信息来对包括在当前画面中的像素值进行预测的帧内预测技术;用于压缩残差信号的能量的变换和量化技术;将短码分配给具有高出现频率的值并将长码分配给具有低出现频率的值的熵编码技术;等。可通过使用这样的图像压缩技术来有效地压缩图像数据,并且可发送或存储该图像数据。
发明内容
技术问题
本发明的目的是提供一种能够提高压缩效率的图像编码/解码方法和设备以及存储由所述图像编码方法或设备生成的比特流的记录介质。
本发明的另一目的是提供一种用于提高帧间预测的压缩效率的运动矢量修正方法和设备以及存储由所述方法或设备生成的比特流的记录介质。
本发明的另一目的是提供一种能够降低计算复杂度的帧间预测方法和设备以及存储由所述方法或设备生成的比特流的记录介质。
技术方案
本发明的对图像进行解码的方法可包括:推导当前块的初始运动矢量;通过使用所述初始运动矢量来推导修正后的运动矢量;并且通过使用所述修正后的运动矢量来生成当前块的预测块。
在本发明的对图像进行解码的方法中,所述初始运动矢量包括初始L0运动矢量和初始L1运动矢量,所述修正后的运动矢量包括修正后的L0运动矢量和修正后的L1运动矢量,并且所述修正后的运动矢量是通过使用基于合并模式的运动矢量修正方法或基于预测块的运动矢量修正方法推导出的。
在本发明的对图像进行解码的方法中,当通过基于合并模式的运动矢量修正方法推导所述修正后的运动矢量时,所述图像解码方法还包括:对指示将在基于合并模式的运动矢量修正方法中使用的初始运动矢量的信息进行熵解码。
在本发明的对图像进行解码的方法中,还包括:对所述修正后的运动矢量的大小信息和方向信息进行熵解码。
在本发明的对图像进行解码的方法中,还包括:对所述修正后的运动矢量的大小单位信息进行熵解码,其中,所述修正后的运动矢量的大小单位是指整数像素或子像素。
在本发明的对图像进行解码的方法中,通过将L0初始运动矢量与已经在预定搜索区域内移动的L0运动矢量之间的差与L0初始运动矢量相加来推导修正后的L0运动矢量。
在本发明的对图像进行解码的方法中,通过将L1初始运动矢量与在预定搜索区域内移动的L1运动矢量之间的差与L1初始运动矢量相加来推导修正后的L1运动矢量。
在本发明的对图像进行解码的方法中,当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差以及L1参考画面与包括当前块的解码目标画面之间的POC差值都是负值时,通过将L1初始运动矢量与已经在预定搜索区域内移动的L1运动矢量之间的差与L0初始运动矢量相加来推导修正后的L0运动矢量。
在本发明的对图像进行解码的方法中,当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差以及L1参考画面与包括当前块的解码目标画面之间的POC差中的仅一个具有负值时,通过对L1初始运动矢量与已经在预定搜索区域内移动的L1运动矢量之间的差进行镜像并将经过镜像的差与L0初始运动矢量相加来推导修正后的L0运动矢量。
在本发明的对图像进行解码的方法中,当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差和L1参考画面与包括当前块的解码目标画面之间的POC差彼此不同时,通过对L1初始运动矢量与已经在预定搜索区域内移动的L1运动矢量之间的差进行缩放并将经过缩放的差与初始L0运动矢量相加来推导修正后的L0运动矢量。
在本发明的对图像进行解码的方法中,当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差和L1参考画面与包括当前块的解码目标画面之间的POC差彼此不同时,通过对L0初始运动矢量与已经在预定搜索区域内移动的L0运动矢量之间的差进行缩放并将经过缩放的差与初始L1运动矢量相加来推导修正后的L1运动矢量。
在本发明的对图像进行解码的方法中,当通过基于预测块的运动矢量修正方法推导所述修正后的运动矢量时,所述图像解码方法还包括:对指示基于预测块的运动矢量修正方法是否可用的信息进行熵解码。
在本发明的对图像进行解码的方法中,仅当当前块具有双向预测合并模式时执行基于预测块的运动矢量修正方法。
在本发明的对图像进行解码的方法中,仅当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差等于当前块的L1参考画面与包括当前块的解码目标画面之间的POC差时,执行基于预测块的运动矢量修正方法。
在本发明的对图像进行解码的方法中,仅当当前块的垂直尺寸是8或更大并且当前块的面积是64或更大时,执行基于预测块的运动矢量修正方法。
在本发明的对图像进行解码的方法中,所述预测块位于落在距由所述初始运动矢量指示的像素位置预定距离内的预定搜索区域内,并且所述预定搜索区域是基于每个整数像素设置的且在水平方向和垂直方向两者上针对由所述初始运动矢量指示的像素位置在从-2个像素位置至2个像素位置的范围内。
在本发明的对图像进行解码的方法中,当当前块的垂直尺寸或水平尺寸大于16时,将当前块划分为16×16个子块,并且通过基于每个子块使用预测块来执行基于预测块的运动矢量修正方法。
在本发明的对图像进行解码的方法中,修正后的L0运动矢量是从通过使用已经在以存在于L0参考画面内且由L0初始运动矢量指示的像素位置为中心的预定搜索区域内移动的运动矢量而生成的预测块与通过使用已经在以存在于L1参考画面内且由L1初始运动矢量指示的像素位置为中心的预定搜索区域内移动的运动矢量而生成的预测块之间的失真值推导出的。
在本发明的对图像进行解码的方法中,所述失真值是通过从绝对差和(SAD)、绝对变换差和(SATD)、误差平方和(SSE)和均方误差(MSE)中选择的一个或更多个运算来计算的。
在本发明的对图像进行编码的方法中,可包括:推导当前块的初始运动矢量;通过使用所述初始运动矢量来推导修正后的运动矢量;并且使用所述修正后的运动矢量对当前块的运动补偿信息进行熵编码。
在本发明的非暂时性存储介质中,包括通过图像编码方法生成的比特流,其中,所述图像编码方法包括:推导当前块的初始运动矢量;通过使用所述初始运动矢量来推导修正后的运动矢量;并且使用所述修正后的运动矢量对当前块的运动补偿信息进行熵编码。
有益效果
根据本发明,可提供一种能够提高图像压缩的效率的图像编码/解码方法和设备以及存储由所述图像编码/解码方法或设备生成的比特流的记录介质。
根据本发明,可提供一种用于通过帧间预测提高压缩效率的运动矢量修正方法和设备以及存储由所述方法或设备生成的比特流的记录介质。
根据本发明,可提供一种能够降低计算复杂度的帧间预测方法和设备以及存储由所述方法或设备生成的比特流的记录介质。
附图说明
图1是示出根据应用了本发明的实施例的编码设备的配置的框图。
图2是示出根据应用了本发明的实施例的解码设备的配置的框图。
图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。
图4是示出帧间预测处理的示图。
图5是示出根据本发明的实施例的图像编码方法的流程图;
图6是示出根据本发明的实施例的图像解码方法的流程图;
图7是示出推导针对当前块的空间合并候选和时间合并候选的示例性方法的示图;
图8是示出根据本发明的实施例的运动矢量修正方法的流程图;
图9是示出用于构建附加合并候选列表的空间邻近块和时间邻近块的示图;
图10是示出使用运动估计区域的运动矢量修正方法的示图;
图11和图12是示出构建初始运动矢量列表的方法的示图;
图13是示出使用合并索引信息推导初始运动矢量的方法的示图;
图14是示出对运动矢量进行镜像的方法的示图;
图15是示出对运动矢量进行缩放的方法的示图;
图16是示出当双向可预测块具有仅属于列表L0和列表L1中的一个列表的运动矢量时推导附加运动矢量的方法的示图;
图17是示出选择具有双向运动信息的合并候选作为双向可预测块中的初始运动矢量的方法的示图;
图18至图23是示出将在本发明的一些实施例中使用的模板的示图;
图24是示出考虑运动估计区域的模板构建处理的示图;
图25是示出由未被环内滤波器滤波的重建像素值构成的模板的示图;
图26是示出由邻近块中的预测像素值和重建的变换系数DC分量值构成的模板的示图;
图27是示出模板尺寸的示例的示图;
图28至图31是示出根据本发明的各种实施例的基于插值的模板构建方法的示图;
图32是示出使用模板修正初始运动矢量的方法的示图;
图33是示出基于失真代价的失真代价计算方法的示图;
图34是示出搜索修正后的运动矢量的搜索区域范围的示图;
图35是示出通过改变运动矢量偏移的单位大小来搜索运动矢量的方法的示图;
图36至图38是示出修正初始运动矢量的方法的示图;
图39和图40是示出当前块可被划分为的子块的示图;
图41是示出基于每个子块设置用于运动矢量的修正的初始运动矢量的方法的示图;以及
图42是示出根据本发明的实施例的图像解码方法的流程图。
具体实施方式
可对本发明进行各种修改,并且存在本发明的各种实施例,其中,现在将参照附图提供并详细描述所述各种实施例的示例。然而,虽然示例性实施例可被解释为包括本发明的技术构思和技术范围中的所有修改、等同或替代,但是本发明不限于此。相似的附图标号指代在各个方面的相同或相似的功能。在附图中,为了清楚起见,元件的形状和尺寸可能被夸大。在本发明的以下详细描述中,参照通过说明的方式示出可实践本发明的具体实施例的附图。充分详细地描述这些实施例以使得本领域技术人员能够实现本公开。应理解,本公开的各种实施例虽然不同,但是不必相互排斥。例如,在不脱离本公开的精神和范围的情况下,这里结合一个实施例描述的特定特征、结构和特性可在其他实施例内实现。此外,应理解,在不脱离本公开的精神和范围的情况下,可修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被认为是限制意义的,并且本公开的范围仅由适当解释的所附权利要求以及权利要求所要求保护的等同物的全部范围来限定。
在说明书中使用的术语“第一”、“第二”等可被用于描述各种组件,但是组件不应被解释为限于该术语。该术语仅被用于将一个组件与其它组件区分开。例如,在不脱离本发明的范围的情况下,“第一”组件可被称为“第二”组件,并且“第二”组件也可类似地被称为“第一”组件。术语“和/或”包括多个项的组合或多个术语中的任意一个。
将理解,当元件在本说明书中被简单地称为“连接到”或“耦接到”另一元件而非“直接连接到”或“直接耦接到”另一元件时,它可“直接连接到”或“直接耦接到”另一元件,或者在有其它元件介于该元件和另一元件之间的情况下被连接到或耦接到另一元件。相反,应理解,当元件被称为“直接耦接”或“直接连接”到另一元件时,不存在中间元件。
此外,在本发明的实施例中所示的构成部件被独立地示出,以便表示彼此不同的特性功能。因此,这不表示各个构成部件以分离的硬件或软件为构成单元被构成。换句话说,为了方便,各个构成部件包括所列举的构成部件中的每一个。因此,可将各个构成部件中的至少两个构成部件组合以形成一个构成部件,或者可将一个构成部件划分为多个构成部件以执行每个功能。若不脱离本发明的本质,将各个构成部件组合的实施例以及对一个构成部件划分的实施例也被包括在本发明的范围内。
本说明书中使用的术语仅被用于描述特定实施例,而不旨在限制本发明。以单数形式使用的表达涵盖复数形式的表达,除非它在上下文中具有明显不同的含义。在本说明书中,需理解的是,诸如“包括”、“具有”等的术语旨在指示说明书中所公开的特征、数字、步骤、动作、元件、部件或其组合的存在,而不旨在排除可存在或可添加一个或更多个其他特征、数字、步骤、动作、元件、部件或其组合的可能性。换句话说,当特定元件被称为“被包括”时,不排除除了对应元件之外的元件,而是可在本发明的实施例或本发明的范围中包括附加元件。
此外,一些构件可以不是执行本发明的必要功能的不可缺少的构件,而是仅提高其性能的选择性构件。可通过仅包括除了用于提高性能的构件之外的用于实现本发明的本质的不可缺少的构成部件来实现本发明。仅包括除了用于仅提高性能的选择性构件之外的不可缺少的构件的结构也被包括在本发明的范围内。
在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,由于公知的功能或结构可能不必要地使对本发明的理解模糊不清,因此将不详细描述公知的功能或结构。附图中的相同的构成元件由相同的附图标号表示,并且将省略对相同元件的重复描述。
在下文中,图像可表示构成视频的画面,或者可表示视频本身。例如,“图像的编码或解码或者编码和解码两者”可表示“运动画面的编码或解码或者编码和解码两者”,并且可表示“运动画面的多个图像中的一个图像的编码或解码或者编码和解码两者”。
在下文中,术语“运动画面”和“视频”可被用作相同的含义并且彼此替换。
在下文中,目标图像可以是作为编码的目标的编码目标图像和/或作为解码的目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像以及输入到解码设备的输入图像。这里,目标图像可与当前图像具有相同的含义。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且彼此替换。
在下文中,目标块可以是作为编码的目标的编码目标块和/或作为解码的目标的解码目标块。此外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且彼此替换。
在下文中,术语“块”和“单元”可被用作相同的含义并且彼此替换。或者“块”可表示特定单元。
在下文中,术语“区域”和“片段”可被彼此替换。
在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。
在实施例中,特定信息、数据、标志、索引、元素和属性等中的每一个可具有值。信息、数据、标志、索引、元素和属性的值等于“0”可表示逻辑假或第一预定义值。换句话说,值“0”、假、逻辑假和第一预定义值可被彼此替换。信息、数据、标志、索引、元素和属性的值等于“1”可表示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可被彼此替换。
当变量i或j被用于表示列、行或索引时,i的值可以是等于或大于0或者等于或大于1的整数。也就是说,列、行、索引等可从0开始计数或者可从1开始计数。
术语的描述
编码器:表示执行编码的设备。即,表示编码设备。
解码器:表示执行解码的设备。即,表示解码设备。
块:是样点的M×N的阵列。这里,M和N可表示正整数,并且块可表示二维形式的样点阵列。块可指代单元。当前块可表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
样点:是构成块的基本单元。可根据比特深度(Bd)将样点表达为从0至2Bd-1的值。在本发明中,样点可被用作像素的含义。也就是说,样点、pel、像素可具有彼此相同的含义。
单元:可指编码单元和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而生成的区域。此外,当在编码或解码期间将单个图像分区为子划分单元时,单元可表示子划分单元。也就是说,可将图像分区为多个单元。当对图像进行编码和解码时,可执行针对每个单元的预定处理。单个单元可被分区为具有比该单元的尺寸小的尺寸的子单元。根据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。此外,为了将单元与块区分开,单元可包括亮度分量块、与亮度分量块相关联的色度分量块以及每个颜色分量块的语法元素。单元可具有各种尺寸和形式,并且特别地,单元的形式可以是诸如正方形形状、矩形形状、梯形形状、三角形形状、五边形形状等的二维几何图形。此外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。
编码树单元:被配置有亮度分量Y的单个编码树块以及与色度分量Cb和Cr相关的两个编码树块。此外,编码树单元可表示包括块和每个块的语法元素。可通过使用四叉树分区方法、二叉树分区方法、三叉树分区方法等中的至少一种来对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的更低等级的单元。编码树单元可被用作用于指定当对作为输入图像的图像进行编码/解码时成为处理单元的样点块的术语。这里,四叉树可表示四元树。
当编码块的尺寸落入第一预定范围内时,仅允许四叉树分区用于该编码块。这里,第一预定范围可由仅能够通过四叉树分区而被分区的编码块的最大尺寸和最小尺寸中的至少一个来定义。指示允许四叉树分区的编码块的最大/最小尺寸的信息可作为包括在比特流中的数据被用信号发送,并且该信息可以以序列、画面参数、并行块组和条带(片段)中的至少一个为单位被用信号发送。可选地,编码块的最大/最小尺寸可以是在编码器/解码器中预设的固定尺寸。例如,当编码块的尺寸在从64×64至256×256的范围内时,可仅通过四叉树分区来对编码块进行分区。可选地,当编码块的尺寸大于变换块(TB)的最大尺寸时,可仅通过四叉树分区来对编码块进行分区。在这种情况下,将被分区为四象限的块可以是编码块或变换块。在这种情况下,指示编码块的四叉树分区的信息(例如,split_flag)可以是指示是否通过四叉树分区对编码单元进行分区的标志。当编码块的尺寸落入第二预定范围内时,可仅通过二叉树分区或三叉树分区来对编码块进行分区。在这种情况下,四叉树分区的以上描述还可被应用于二叉树分区或三叉树分区。
编码树块:可被用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。
邻近块:可表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块,或者距当前块位于预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块,或者与垂直相邻于当前块的邻近块水平相邻的块。
重建的邻近块:可表示与当前块相邻且已经在空间/时间上被编码或解码的邻近块。这里,重建的邻近块可表示重建的邻近单元。重建的空间邻近块可以是当前画面内的且已经通过编码或解码或者编码和解码两者被重建的块。重建的时间邻近块是参考图像内的与当前画面的当前块对应的位置处的块或该块的邻近块。
单元深度:可表示单元的分区程度。在树结构中,最高节点(根节点)可与未被分区的第一单元对应。此外,最高节点可具有最小深度值。在这种情况下,最高节点可具有等级0的深度。深度为等级1的节点可表示通过对第一单元进行一次分区而生成的单元。深度为等级2的节点可表示通过对第一单元进行两次分区而生成的单元。深度为等级n的节点可表示通过对第一单元进行n次分区而生成的单元。叶节点可以是最低节点和不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表达为树结构时,单元所在的等级可表示单元深度。
比特流:可表示包括编码图像信息的比特流。
参数集:与比特流内的配置中的头信息对应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括并行块组、条带头和并行块头信息。此外,并行块组可表示包括多个并行块的组,并且可与条带具有相同的含义。
解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。
符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。
预测模式:可以是指示利用帧内预测进行编码/解码的模式或利用帧间预测进行编码/解码的模式的信息。
预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个更低等级的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过划分预测单元而生成的分区也可以是预测单元。
预测单元分区:可表示通过对预测单元进行分区而获得的形式。
参考画面列表:可表示包括用于画面间预测或运动补偿的一个或更多个参考画面的列表。LC(列表组合)、L0(列表0)、L1(列表1)、L2(列表2)、L3(列表3)等是各种类型的参考画面列表。一个或更多个参考画面列表可被用于画面间预测。
画面间预测指示符:可表示当前块的画面间预测方向(单向预测、双向预测等)。可选地,画面间预测指示符可表示用于生成当前块的预测块的参考画面的数量。另外可选地,画面间预测指示符可表示用于针对当前块执行画面间预测或运动补偿的预测块的数量。
预测列表利用标志:可表示是否使用包括在特定参考画面列表中的至少一个参考图像来生成预测块。可使用预测列表利用标志来推导帧间预测指示符,并且相反地,可使用帧间预测指示符来推导预测列表利用标志。例如,当预测列表利用标志指示第一值“0”时,这表示不使用对应的参考画面列表中包括的参考画面来生成预测块。当预测列表利用标志指示第二值“1”时,这表示使用对应的参考画面列表中包括的参考画面来生成预测块。
参考画面索引:可表示指示参考画面列表中的特定参考画面的索引。
参考画面:可表示特定块所参考的用于画面间预测或运动补偿的画面。可选地,参考画面可以是包括由当前块参考的用于帧间预测或运动补偿的参考块的画面。在下文中,术语“参考画面”和“参考图像”可被用作相同的含义并且被可互换地使用。
运动矢量:是用于画面间预测或运动补偿的二维矢量,并且可表示参考画面与编码/解码目标画面之间的偏移。例如,(mvX,mvY)可表示运动矢量,mvX可表示水平分量,并且mvY可表示垂直分量。
搜索范围:可以是在执行帧间预测期间搜索运动矢量的2维区域。例如,搜索范围的尺寸可以是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可被称为环内滤波器。
去块滤波器可去除在块之间的边界中生成的块失真。为了确定是否应用去块滤波器,可基于包括在块中的若干行或列中所包括的样点来确定是否将去块滤波器应用于当前块。当去块滤波器被应用于块时,可根据所需的去块滤波强度来应用另一滤波器。
为了补偿编码误差,可通过使用样点自适应偏移将适当的偏移值与样点值相加。样点自适应偏移可按样点单元校正经过去块的图像与原始图像的偏移。将图像的样点分区为预定数量的区域、确定被应用偏移的区域并将该偏移应用于所确定的区域的方法或者考虑关于每个样点的边缘信息来应用偏移的方法可被使用。
自适应环路滤波器可基于经过滤波的重建图像与原始图像的比较结果来执行滤波。包括在图像中的样点可被分区为预定组,可确定将被应用于每个组的滤波器,并且可针对每个组执行差分滤波。可按编码单元(CU)用信号发送是否应用ALF的信息,并且将被应用于每个块的ALF的形式和系数可变化。
已通过滤波单元180的重建块或重建图像可被存储在参考画面缓冲器190中。由滤波器单元180处理的重建块可以是参考图像的一部分。也就是说,参考图像是由经过滤波器单元180处理的重建块组成的重建图像。可稍后在帧间预测或运动补偿中使用存储的参考图像。
图2是示出根据实施例的且应用了本发明的解码设备的配置的框图。
解码设备200可以是解码器、视频解码设备或图像解码设备。
参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器225、滤波器单元260和参考画面缓冲器270。
解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读记录介质中的比特流,或者可接收通过有线/无线传输介质被流传输的比特流。解码设备200可通过使用帧内模式或帧间模式对比特流进行解码。此外,解码设备200可生成通过解码生成的重建图像或经过解码的图像,并输出重建图像或经过解码的图像。
当在解码时使用的预测模式是帧内模式时,可将切换器切换到帧内。可选地,当在解码时使用的预测模式是帧间模式时,可将切换器切换到帧间模式。
解码设备200可通过对输入的比特流进行解码来获得重建的残差块,并生成预测块。当获得重建的残差块和预测块时,解码设备200可通过将重建的残差块与预测块相加来生成成为解码目标的重建块。解码目标块可被称为当前块。
熵解码单元210可通过根据概率分布对比特流进行熵解码来生成符号。所生成的符号可包括量化的等级形式的符号。这里,熵解码方法可以是上述熵编码方法的逆过程。
为了对变换系数等级(量化的等级)进行解码,熵解码单元210可通过使用变换系数扫描方法将单向矢量形式的系数改变为二维块形式。
量化的等级可在反量化单元220中被反量化,或者可在逆变换单元230中被逆变换。量化的等级可以是反量化或逆变换或者反量化和逆变换两者的结果,并且可被生成为重建的残差块。这里,反量化单元220可将量化矩阵应用于量化的等级。
当帧内模式被使用时,帧内预测单元240可通过针对当前块执行空间预测来生成预测块,其中,所述空间预测使用与解码目标块相邻且已被解码的块的样点值。
当帧间模式被使用时,运动补偿单元250可通过针对当前块执行运动补偿来生成预测块,其中,所述运动补偿使用存储在参考画面缓冲器270中的参考图像和运动矢量。
加法器225可通过将重建的残差块与预测块相加来生成重建块。滤波器单元260可将去块滤波器、样点自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建图像。滤波器单元260可输出重建图像。重建块或重建图像可被存储在参考画面缓冲器270中,并且在执行帧间预测时被使用。由滤波器单元260处理的重建块可以是参考图像的一部分。也就是说,参考图像是由经过滤波器单元260处理的重建块组成的重建图像。可稍后在帧间预测或运动补偿中使用存储的参考图像。
图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。图3示意性地示出将单个单元分区为多个更低等级的单元的示例。
为了高效地对图像进行分区,当进行编码和解码时,可使用编码单元(CU)。当对图像进行编码/解码时,编码单元可被用作基本单元。此外,当对图像进行编码/解码时,编码单元可被用作用于将帧内预测模式和帧间预测模式区分开的单元。编码单元可以是用于变换系数的预测、变换、量化、逆变换、反量化或编码/解码处理的基本单元。
参照图3,图像300按最大编码单元(LCU)被顺序地分区,并且LCU单元被确定为分区结构。这里,可以以与编码树单元(CTU)相同的含义使用LCU。单元分区可表示对与该单元相关联的块进行分区。在块分区信息中,可包括单元深度的信息。深度信息可表示单元被分区的次数或程度或者次数和程度两者。可基于树结构将单个单元分区为分层地与深度信息相关联的多个更低等级的单元。换句话说,单元和通过对该单元进行分区而生成的更低等级单元可分别与节点和该节点的子节点对应。分区出的更低等级的单元中的每一个可具有深度信息。深度信息可以是表示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。N的大小可随着深度增加1而减小至一半。
此外,可通过使用CU的分区信息来表示CU是否被分区的信息。分区信息可以是1比特信息。除了SCU之外的所有CU可包括分区信息。例如,当分区信息的值是第一值时,CU可不被分区,当分区信息的值是第二值时,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中,矩形可表示画面。在图4中,箭头表示预测方向。画面可按其编码类型被分类为帧内画面(I画面)、预测画面(P画面)和双预测画面(B画面)。
可通过帧内预测来对I画面进行编码,而不需要画面间预测。可通过使用在针对当前块的一个方向(即,前向或后向)上存在的参考画面进行画面间预测来对P画面进行编码。可通过使用在针对当前块的两个方向(即,前向和后向)上存在的参考画面进行画面间预测来对B画面进行编码。当使用画面间预测时,编码器可执行画面间预测或运动补偿,并且解码器可执行对应的运动补偿。
下面,将详细描述画面间预测的实施例。
可使用参考画面和运动信息来执行画面间预测或运动补偿。
可通过编码设备100和解码设备200中的每一个在画面间预测期间推导当前块的运动信息。可通过使用重建的邻近块的运动信息、同位置块(也称为col块或同位块)和/或与同位块相邻的块的运动信息来推导当前块的运动信息。同位块可表示先前重建的同位置画面(也被称为col画面或同位画面)内的在空间上位于与当前块相同的位置处的块。同位画面可以是参考画面列表中包括的一个或更多个参考画面中的一个画面。
推导当前块的运动信息的方法可根据当前块的预测模式而变化。例如,作为用于画面间预测的预测模式,可存在AMVP模式、合并模式、跳过模式、当前画面参考模式等。合并模式可被称作运动合并模式。
例如,当AMVP被用作预测模式时,重建的邻近块的运动矢量、同位块的运动矢量、与同位块相邻的块的运动矢量和(0,0)运动矢量中的至少一个可被确定为针对当前块的运动矢量候选,并且通过使用运动矢量候选来生成运动矢量候选列表。可通过使用所生成的运动矢量候选列表来推导当前块的运动矢量候选。可基于推导出的运动矢量候选来确定当前块的运动信息。同位置块的运动矢量或与同位置块相邻的块的运动矢量可被称为时间运动矢量候选,并且重建的邻近块的运动矢量可被称为空间运动矢量候选。
编码设备100可计算当前块的运动矢量与运动矢量候选之间的运动矢量差(MVD)并可对运动矢量差(MVD)执行熵编码。此外,编码设备100可对运动矢量候选索引执行熵编码并生成比特流。运动矢量候选索引可指示运动矢量候选列表中包括的运动矢量候选中的最优运动矢量候选。解码设备可对包括在比特流中的运动矢量候选索引执行熵解码,并可通过使用经过熵解码的运动矢量候选索引从包括在运动矢量候选列表中的运动矢量候选中选择解码目标块的运动矢量候选。此外,解码设备200可将经过熵解码的MVD与通过熵解码提取出的运动矢量候选相加,从而推导解码目标块的运动矢量。
比特流可包括指示参考画面的参考画面索引。参考画面索引可由编码设备100熵编码,然后作为比特流被用信号发送到解码设备200。解码设备200可基于推导出的运动矢量和参考画面索引信息生成解码目标块的预测块。
推导当前块的运动信息的方法的另一示例可以是合并模式。合并模式可表示合并多个块的运动的方法。合并模式可表示从邻近块的运动信息推导当前块的运动信息的模式。当应用合并模式时,可使用重建的邻近块的运动信息和/或同位置块的运动信息来生成合并候选列表。运动信息可包括运动矢量、参考画面索引和画面间预测指示符中的至少一个。所述预测指示符可指示单向预测(L0预测或L1预测)或者双向预测(L0预测和L1预测)。
合并候选列表可以是所存储的运动信息的列表。合并候选列表中包括的运动信息可以是零合并候选以及新运动信息中的至少任意一个,其中,所述新运动信息是与当前块相邻的一个邻近块的运动信息(空间合并候选)、当前块的包括在参考画面内的同位置块的运动信息(时间合并候选)和合并候选列表中存在的运动信息的组合。
编码设备100可通过对合并标志和合并索引中的至少一个执行熵编码来生成比特流,并且可将比特流用信号发送到解码设备200。合并标志可以是指示是否针对每个块执行合并模式的信息,并且合并索引可以是指示当前块的邻近块之中的哪个邻近块是合并目标块的信息。例如,当前块的邻近块可包括在当前块左侧的左邻近块、设置在当前块上方的上邻近块以及时间上与当前块相邻的时间邻近块。
跳过模式可以是将邻近块的运动信息按原样应用于当前块的模式。当应用跳过模式时,编码设备100可对哪个块的运动信息将被用作当前块的运动信息的事实的信息执行熵编码以生成比特流,并且可将比特流用信号发送到解码设备200。编码设备100可不将关于运动矢量差信息、编码块标志和变换系数等级中的至少任意一个的语法元素用信号发送到解码设备200。
当前画面参考模式可表示当前块所属的当前画面内的先前重建的区域被用于预测的预测模式。这里,可使用矢量来指定先前重建的区域。可通过使用当前块的参考画面索引来对指示当前块是否将在当前画面参考模式下被编码的信息进行编码。指示当前块是否是在当前画面参考模式下编码的块的标志或索引可被用信号发送,并可基于当前块的参考画面索引被推导出。在当前块在当前画面参考模式下被编码的情况下,当前画面可被添加到针对当前块的参考画面列表以位于参考画面列表中的固定位置或随机位置。所述固定位置可以是例如由参考画面索引0指示的位置或列表中的最后位置。当当前画面被添加到参考画面列表以位于随机位置时,可用信号发送指示该随机位置的参考画面索引。
在下文中,将参照附图描述根据本发明的一个实施例的使用运动矢量修正的图像编码/解码方法。
图5是示出根据本发明的实施例的图像编码方法的流程图,并且图6是示出根据本发明的实施例的图像解码方法的流程图。
参照图5,根据本发明的一个实施例的图像编码方法包括以下步骤:推导针对当前块的合并候选(S510);确定当前块的运动信息(S520);对当前块执行运动补偿(S530);并且对与运动补偿相关联的信息进行熵编码(S540)。
参照图6,根据本发明的一个实施例的图像解码方法包括以下步骤:对针对当前块的运动补偿信息进行熵解码(S610);推导针对当前块的合并候选(S620);使用推导出的合并候选来确定当前块的运动信息(S630);并且使用所确定的运动信息来执行运动补偿(S640)。
这里,推导合并候选的步骤(S510、S620)表示推导针对当前块的空间合并候选、时间合并候选和附加合并候选中的至少一个的处理。在这种情况下,推导空间合并候选的操作表示推导空间合并候选并将推导出的空间合并候选添加到合并候选列表的处理。推导时间合并候选的操作表示推导时间合并候选并将推导出的时间合并候选添加到合并候选列表的处理。
图7是示出推导针对当前块的空间合并候选和时间合并候选的示例性方法的示图。
参照图7的(a),从与当前块X相邻的邻近块推导针对当前块X的空间合并候选。与当前块相邻的邻近块包括与当前块的上边界相邻的块B1、与当前块的左边界相邻的块A1、与当前块的右上角相邻的块B0、与当前块的左上角相邻的块B2以及与当前块的下边界相邻的块A0。
为了推导针对当前块的空间合并候选,编码器或解码器确定与当前块相邻的邻近块是否可用于推导针对当前块的空间合并候选。当确定与当前块相邻的邻近块是否可用于推导空间合并候选时,根据预定优先级顺序地扫描邻近块。例如,按照A1、B1、B0、A0和B2的块顺序确定空间合并候选可用性。编码器或解码器将根据预定优先级顺序(可用性确定顺序)确定的空间合并候选顺序地添加到合并候选列表。
例如,当从位于位置A1、B0、A0和B2处的邻近块推导出四个空间合并候选时,将推导出的四个空间合并候选顺序地添加到合并候选列表。
编码器或解码器通过参考编码参数中的至少一个来推导空间合并候选。
这里,空间合并候选的运动信息包括三条或更多条运动信息,不仅包括L0运动信息和L1运动信息,而且包括L2运动信息和L3运动信息。参考画面列表表示L0列表、L1列表、L2列表和L3列表中的至少一个列表。
从包括在当前画面的同位置画面中的重建块推导针对当前块的时间合并候选。这里,同位置画面表示在当前画面之前被先前编码/解码且在时间顺序上与当前画面不同的画面。
参照图7的(b),从当前画面的同位置画面内的块推导针对当前块的时间合并候选,其中,所述块包括与空间上与当前块的位置相同的位置对应的块、包括与空间上与当前块的位置相同的位置对应的块内的位置的块以及与空间上与当前块的位置相同的位置对应的块的邻近块。这里,时间合并候选是指同位置块的运动信息。
例如,从与块C的右下角相邻的块H或者包括块C的中心位置的块C3推导当前块的时间合并候选,其中,块C与空间上与当前块的位置相同的位置对应。用于推导当前块的时间合并候选的块H和块C3被称为同位置块。
当可从包括块C外部的位置的块H推导出时间合并候选时,将块H设置为当前块的同位置块。在这种情况下,从块H的运动信息推导当前块的时间合并候选。另一方面,当不能从块H推导出当前块的时间合并候选时,将包括块C内的位置的块C3设置为当前块的同位置块。在这种情况下,从块C3的运动信息推导当前块的时间合并候选。当既不能从块H也不能从块C3推导当前块的时间合并候选时,不推导当前块的时间合并候选,或者从除了块H和块C3之外的块推导当前块的时间合并候选。例如,当既不能从块H也不能从块C3推导当前块的时间合并时,块H和块C3均是以帧内预测模式被编码的。
可选地,从同位置画面内的多个块推导当前块的时间合并候选。例如,从块H和块C3推导当前块的多个时间合并候选。
当包括当前块的当前画面与当前块的参考画面之间的距离与包括同位置块的同位置画面与同位置块的参考画面之间的距离不同时,通过对同位置块的运动矢量进行缩放来获得当前块的时间合并候选的运动矢量。这里,根据当前块的当前画面与参考画面之间的距离以及/或者同位置块的同位置画面与参考画面之间的距离来执行缩放。
例如,可通过根据当前块的当前画面与参考画面之间的距离相对于同位置块的同位置画面与参考画面之间的距离的比率对同位置块的运动矢量进行缩放来获得当前块的时间合并候选。
此外,根据当前块、邻近块或同位置块的编码参数中的至少一个来推导时间合并候选、同位置画面、同位置块、预测列表利用标志和参考画面索引中的至少一个。
编码器或解码器通过推导至少一个空间合并候选和/或时间合并候选并按照推导空间合并候选和/或时间合并候选的顺序将推导出的空间合并候选和/或时间合并候选顺序地添加到合并候选列表来生成合并候选列表。
接下来,将描述推导当前块的附加合并候选的方法。
附加合并候选是指修改后的空间合并候选、修改后的时间合并候选、组合合并候选和具有预定运动信息值的合并候选中的至少一个。这里,推导附加合并候选的操作表示编码器或解码器推导附加合并候选并将它们添加到合并候选列表。
修改后的空间合并候选表示通过对推导出的空间合并候选的至少一条运动信息进行修改而获得的合并候选。修改后的时间合并候选表示通过对推导出的时间合并候选的至少一条运动信息进行修改而获得的合并候选。
组合合并候选表示通过对下述一个或更多个合并候选的运动信息进行组合而推导出的合并候选,其中,所述一个或更多个合并候选是从都包括在合并候选列表中的空间合并候选、时间合并候选、修改后的空间合并候选、修改后的时间合并候选、组合合并候选和具有预定运动信息值的合并候选中选择的。
组合合并候选还表示通过对下述一个或更多个合并候选的运动信息进行组合而推导出的合并候选,其中,所述一个或更多个合并候选是从不存在于合并候选列表中但从可用块推导出的空间合并候选和时间合并候选、从这些空间合并候选生成的修改后的合并候选、从这些时间合并候选生成的修改后的时间合并候选、组合合并候选和具有预定运动信息值的合并候选中选择的。
此外,解码器通过使用通过对比特流进行熵解码而获得的运动信息来推导组合合并候选。在这种情况下,编码器将用于推导组合合并候选的运动信息熵编码到比特流中。
组合合并候选还指组合双预测合并候选。组合双预测合并候选是使用双预测的合并候选。换句话说,组合双预测合并候选是具有L0运动信息和L1运动信息的合并候选。
例如,具有预定运动信息值的合并候选表示运动矢量是(0,0)的零合并候选。具有预定运动信息值的合并候选被预先定义,并且在编码器和解码器中共同设置该预定运动信息值。
根据从当前块的编码参数、邻近块的编码参数和同位置块的编码参数中选择的一个或更多个编码参数来推导修改后的空间合并候选、修改后的时间合并候选、组合合并候选和具有预定运动信息值的合并候选中的至少一个合并候选。然后,根据当前块、邻近块和同位置块的编码参数中的至少一个将修改后的空间合并候选、修改后的时间合并候选、组合合并候选和具有预定运动信息值的合并候选中的所述至少一个合并候选添加到合并候选列表。
根据当前块、邻近块或同位置块的编码参数来确定合并候选列表的大小。合并候选列表的大小根据编码参数而变化。
当推导合并候选时,通过根据本发明的运动矢量修正方法而生成的修正后的运动矢量可被使用。
接下来,将详细描述确定当前块的运动信息的步骤(S520、S630)。
编码器通过执行运动估计从包括在合并候选列表中的合并候选中选择将被用于当前块的运动补偿的合并候选,并将指示所选的合并候选的合并候选索引(merge_idx)编码到比特流中。
例如,为了生成当前块的预测块,编码器通过参考合并候选索引从合并候选列表中的合并候选中选择合并候选来确定当前块的运动信息。接下来,基于所确定的运动信息对当前块执行运动补偿。
解码器对比特流中的合并候选索引进行解码,并且指定合并候选列表中所包括的合并候选中的由经过解码的合并候选索引指示的合并候选。将指定的合并候选的运动信息确定为当前块的运动信息。所确定的运动信息被用于当前块的运动补偿。在这种情况下,运动补偿表示帧间预测(即,画面间预测)。
接下来,将详细描述执行运动补偿的步骤(S530、S640)
编码器或解码器使用所确定的运动信息执行帧间预测或运动补偿。这里,当前块与所选的合并候选具有相同的运动信息。
依据预测方向,当前块具有一个或更多个运动矢量(最多N个运动矢量)。编码器或解码器通过使用运动矢量来生成最少一个预测块且最多N个预测块,以获得当前块的最终预测块。
例如,当当前块具有一个运动矢量时,编码器或解码器将通过使用运动矢量(或运动信息)生成的预测块确定为当前块的最终预测块。
另一方面,当当前块具有多个运动矢量(或运动信息)时,编码器或解码器通过使用所述多个运动矢量(或运动信息)来生成多个预测块,并通过对所述多个预测块执行加权和操作来确定当前块的最终预测块。包括由相应多个运动矢量(或运动信息)指示的相应预测块的参考画面可被包括在不同的参考画面列表中或相同的参考画面列表中。
例如,编码器或解码器基于空间运动矢量候选、时间运动矢量候选、具有预定值的运动矢量和组合运动矢量候选中的至少一个来生成多个预测块,并且基于所述多个预测块的加权和来确定当前块的最终预测块。
可选地,编码器或解码器可基于由预定运动矢量候选索引指示的运动矢量候选来生成多个预测块,并且基于所述多个预测块的加权和来确定当前块的最终预测块。另外可选地,编码器或解码器可基于由特定范围中的运动矢量候选索引指示的运动矢量候选来生成多个预测块,并且基于所述多个预测块的加权和来确定当前块的最终预测块。
为此,应用于各个预测块的权重可具有相同的值1/N。N是所生成的预测块的数量。例如,当生成两个预测块时,应用于各个预测块的权重分别是1/2和1/2。另一方面,当生成三个预测块时,应用于各个预测块的权重分别是1/3、1/3和1/3。当生成四个预测块时,应用于每个预测块的权重是1/4。
可选地,编码器或解码器可通过将不同权重应用于各个预测块来确定当前块的最终预测块。
应用于预测块的权重不必是固定值,而可以是可变值。应用于各个预测块的权重可彼此相等或者可彼此不同。例如,当生成两个预测块时,应用于所述两个预测块的权重的示例包括(1/2,1/2)、(1/3,2/3)、(1/4,3/4)、(2/5,3/5)和(3/8,5/8)。另一方面,每个权重是正实数或负实数。例如,权重可包括负实数。也就是说,权重可以是(-1/2,3/2)、(-1/3,4/3)或(-1/4,5/4)
另一方面,为了将可变权重应用于预测块,经由比特流用信号发送当前块的权重信息。基于每个预测块或每个参考画面用信号发送权重信息。多个预测块可具有相同的权重信息。
编码器或解码器基于预测块列表利用标志来确定是否使用预测运动矢量(预测运动信息)。例如,当预测块列表利用标志针对每个参考画面列表具有第一值1时,这表示编码器或解码器可使用当前块的预测运动矢量来执行帧间预测或运动补偿。另一方面,当预测块列表利用标志具有第二值0时,编码器或解码器不使用当前块的预测运动矢量来执行当前块的帧间预测或运动补偿。相反,预测块列表利用标志的第一值和第二值可分别被设置为0和1。
方程式1至方程式3表示当针对每个参考画面列表的预测方向是单个方向时针对以下情况确定当前块的最终预测块的方法:当前块的帧间预测指示符是PRED_BI的情况、当前块的帧间预测指示符是PRED_TRI的情况以及当前块的帧间预测指示符是PRED_QUAD的情况。
[方程式1]
P_BI=(WF_L0*P_L0+OFFSET_L0+WF_L1*P_L1+OFFSET_L1+RF’)>>1
[方程式2]
P_TRI=(WF_L0*P_L0+OFFSET_L0+WF_L1*P_L1+OFFSET_L1+WF_L2*P_L2+OFFSET_L2+RF’)/3
[方程式3]
P_QUAD=(WF_L0*P_L0+OFFSET_L0+WF_L1*P_L1+OFFSET_L1+WF_L2*P_L2+OFFSET_L2+WF_L3*P_L3+OFFSET_L3+RF’)>>2
在方程式1至方程式3中,P_BI、P_TRI和P_QUAD表示当前块的最终预测块,并且LX(X=0,1,2,3)表示参考画面列表。WF_LX表示使用参考画面列表LX生成的预测块的加权值,并且OFFSET_LX表示使用参考画面列表LX生成的预测块的偏移值。P_LX表示使用针对当前块的参考画面列表LX的运动矢量(或运动信息)生成的预测块。RF表示为0、正数或负数的舍入因子。参考画面列表LX包括以下参考画面中的至少一个:长期参考画面、尚未通过去块滤波器的参考画面、尚未通过样点自适应偏移(SAO)的参考画面、尚未通过自适应环路滤波器(ALF)的参考画面、已通过去块滤波器(DF)和自适应偏移的参考画面、已通过去块滤波器和自适应环路滤波器的参考画面、已通过样点自适应偏移和自适应环路滤波器的参考画面、以及已通过去块滤波器、样点自适应偏移和自适应环路滤波器的参考画面。在这种情况下,LX参考画面列表是参考画面列表L2或参考画面列表L3。
当预定画面列表涉及多个预测块时,基于所述多个预测块的加权和来获得当前块的最终预测块。在这种情况下,应用于从同一参考画面列表推导出的预测块的权重具有相同值或具有不同值。
针对每个预测块的权重WF_LX或偏移OFFSET_LX是将被熵编码/熵解码的编码参数。在另一示例中,从与当前块相邻的经过编码/经过解码的邻近块推导权重和偏移。这里,与当前块相邻的邻近块包括用于推导当前块的空间运动矢量候选的块、用于推导当前块的时间运动矢量候选的块、或者用于推导当前块的空间运动矢量候选的块和用于推导当前块的时间运动矢量候选的块两者。
在另一示例中,依据每个参考画面的显示顺序(即,画面顺序计数(POC))来确定当前块的权重和偏移。在这种情况下,随着当前画面与参考画面之间的距离增加,权重或偏移被设置为更小的值。相反,随着当前画面与参考画面之间的距离减小,权重或偏移被设置为更大的值。
例如,当当前画面与L0参考画面之间的POC差是2时,应用于通过参考L0参考画面而生成的预测块的权重被设置为1/3。另一方面,当当前画面与L0参考画面之间的POC差是1时,应用于通过参考L0参考画面而生成的预测块的权重被设置为2/3。也就是说,权重或偏移与当前画面与参考画面之间的POC差成反比。可选地,权重或偏移可与当前画面与参考画面之间的POC差成正比。
可选地,编码器或解码器基于至少一个编码参数对当前块的权重和/或偏移进行熵编码/熵解码。可选地,编码器或解码器基于至少一个编码参数来计算预测块的加权和。
所述多个预测块的加权和仅被应用于预测块内的部分区域。这里,所述部分区域表示预测块的边界。为了仅将所述加权和应用于如上所述的部分区域,编码器或解码器对预测块内的每个子块执行加权和运算。
对于由区域信息指示的块内存在的子块中的每个子块,通过使用相同的预测块或相同的最终预测块来执行帧间预测或运动补偿。
此外,对于块深度比由区域信息指示的块更深的子块中的每个子块,通过使用相同的预测块或相同的最终预测块来执行帧间预测或运动补偿。
当通过使用运动矢量的预测来计算预测块的加权和时,编码器或解码器通过使用运动矢量候选列表内的至少一个运动矢量候选来计算加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
例如,编码器或解码器仅使用空间运动矢量候选来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
可选地,编码器或解码器可使用空间运动矢量候选和时间运动矢量候选来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
另外可选地,编码器或解码器仅使用组合运动矢量候选来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
另外可选地,编码器或解码器仅使用由特定运动矢量候选索引指示的运动矢量候选来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
另外可选地,编码器或解码器仅使用由运动矢量候选索引的特定范围指示的运动矢量候选来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
当通过使用合并模式计算预测块的加权和时,编码器或解码器通过使用合并候选列表内存在的至少一个合并候选来计算加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
例如,编码器或解码器仅使用空间合并候选来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
此外,例如,编码器或解码器使用空间合并候选和时间合并候选两者来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
此外,例如,编码器或解码器仅使用组合合并候选来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
此外,例如,编码器或解码器仅使用具有特定合并候选索引的合并候选来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
此外,例如,编码器或解码器仅使用具有特定范围内的合并候选索引的合并候选来生成预测块,计算所述预测块的加权和,并且将所述加权和(加权预测块)用作当前块的最终预测块。
编码器或解码器使用当前块的运动矢量(运动信息)来执行运动补偿。在这种情况下,通过使用至少一个预测块来生成作为运动补偿的结果的最终预测块。这里,当前块表示当前编码块、当前预测块或者当前编码块和当前预测块两者。
接下来,将详细描述对运动补偿信息进行熵编码/熵解码的步骤(S540和S610)。
编码器将“与补偿相关联的信息”(以下称为运动补偿信息)熵编码到比特流中,并且解码器对包括在比特流中的运动补偿信息进行熵解码。将被熵编码/熵解码的运动补偿信息包括帧间预测指示符(Inter_pred_idc)、参考画面索引(ref_idx_l0、ref_idx_l1、ref_idx_l2和ref_idx_l3)、运动矢量候选索引(mvp_l0_idx、mvp_l1_idx、mvp_l2_idx和mvp_l3_idx)、运动矢量差、跳过模式利用信息(cu_skip_flag)、合并模式利用信息(merge_flag)、合并索引信息(merge_index)、基于合并模式的运动矢量修正利用信息(fruc_flag)、权重(wf_l0、wf_l1、wf_l2和wf_l3)、以及偏移(offset_l0、offset_l1、offset_l2、和offset_l3)中的至少一个。
当通过帧间预测对当前块进行编码/解码时,帧间预测指示符指示当前块的帧间预测方向和/或当前块的预测方向的数量,例如,帧间预测指示符指示单向预测或多向预测(例如,双向预测、三向预测或四向预测)。帧间预测指示符还指示将被用于生成当前块的预测块的参考画面的数量。一个参考画面可被用于多向预测。在这种情况下,使用M个参考画面来执行N个方向(N>M)的预测。此外,帧间预测指示符指示当前块的帧间预测模式或用于当前块的运动补偿的预测块的数量。
参考画面指示符指示预测的方向性,诸如单向(PRED_LX)、双向(PRED_BI)、三向(PRED_TRI)、四向(PRED_QUAD)或更多的多向,即,当前块中的预测方向的数量。
预测列表利用标志指示是否使用相关联的参考画面列表来生成预测块。
参考画面索引指定参考画面列表内的参考画面中的将由当前块参考的参考画面。对于每个参考画面列表,一个或更多个参考画面索引被熵编码/熵解码。通过使用针对当前块的一个或更多个参考画面索引来执行运动补偿。
针对每个相应的参考画面列表或每个相应的参考画面索引,运动矢量候选索引指示当前块的运动矢量候选。对针对每个运动矢量候选列表的至少一个运动矢量候选索引进行熵编码/熵解码。至少一个运动矢量候选索引被用于执行当前块的运动补偿。
运动矢量差表示原始运动矢量与预测运动矢量之间的差值。针对与相应参考画面索引对应或与相应参考画面列表对应的运动矢量候选列表中的每个运动矢量候选列表,对一个或更多个运动矢量差进行熵编码/熵解码。一个或更多个运动矢量差被用于当前块的运动补偿。
关于跳过模式利用信息(cu_skip_flag),第一值1指示使用跳过模式,而第二值0指示不使用跳过模式。根据跳过模式利用信息执行当前块的运动补偿。
关于合并模式利用信息(merge_flag),第一值1指示使用合并模式,而第二值0指示不使用合并模式。根据合并模式利用信息执行当前块的运动补偿。
合并索引信息(merge_index)表示指示合并候选列表中的合并候选的信息。
例如,合并索引信息表示合并索引的信息。
此外,例如,合并索引信息指示空间上/时间上与当前块相邻的重建的邻近块中的已从其推导出合并候选的重建的邻近块。
此外,例如,合并索引信息指示合并候选的至少一条运动信息。例如,合并索引信息的第一值(例如,0)指示合并候选列表中的第一合并候选,第二值(例如,1)指示合并候选列表中的第二合并候选,并且第三值(例如,2)指示合并候选列表中的第三合并候选。同样,第四值至第N值分别指示合并候选列表中的第四合并候选至第N合并候选。其中,N是正整数或零。
基于合并模式索引信息执行当前块的运动补偿。
基于合并模式的运动矢量修正利用信息(fruc_flag)是指示是否执行基于合并模式的运动矢量修正的信息。基于每个编码单元或每个预测块对基于合并模式的运动矢量修正利用信息进行熵编码/熵解码。
例如,关于基于合并模式的运动矢量修正利用信息,第一值1指示执行基于合并模式的运动矢量修正,而第二值0指示不执行基于合并模式的运动矢量修正。这里,可交换第一值和第二值。
可选地,可基于在编码器和解码器中预先定义的不同的帧间预测模式(例如,跳过模式、AMVP等)来确定是否执行运动矢量修正。也就是说,即使当没有明确地用信号发送基于合并模式的运动矢量修正利用信息(fruc_flag)时,也可根据预定标准来确定是否使用运动矢量修正。
另一方面,当合并模式利用信息(merge_flag)具有指示使用合并模式的第一值时,对基于合并模式的运动矢量修正利用信息(fruc_flag)进行熵解码。
另一方面,当合并模式利用信息(merge_flag)具有指示不使用合并模式的第二值时,对基于合并模式的运动矢量修正利用信息(fruc_flag)进行熵解码。
当通过当前块的运动补偿生成两个或更多个预测块时,通过计算每个预测块的加权和来生成当前块的最终预测块。当计算所述加权和时,将权重和/或偏移应用于各个预测块。对从参考画面列表、参考画面、运动矢量候选索引、运动矢量差、运动矢量、跳过模式利用标志、合并模式利用标志和合并索引信息中选择的至少一个加权因子进行熵编码/熵解码。此外,根据帧间预测指示符对每个预测块的加权因子进行熵编码/熵解码。这里,加权因子包括权重、偏移或者权重和偏移两者。
当基于每个CTU对运动补偿信息进行熵编码/熵解码时,依据运动补偿信息的值,使用运动补偿信息对CTU内的块中的全部块或部分块执行运动补偿。
当以CTU等级或子CTU等级对运动补偿信息进行熵编码/熵解码时,依据预定块尺寸或预定块深度中的至少一个对运动补偿信息进行熵编码/熵解码。
这里,另外对预定块尺寸或预定块深度的信息进行熵编码/熵解码。可选地,根据在编码器和解码器中预设的值、编码参数和语法元素值中的至少一个来确定预定块尺寸或预定块深度的信息。
仅在块尺寸等于或大于预定块尺寸的块中对运动补偿信息进行熵编码/熵解码。然而,在块尺寸小于预定块尺寸的块中不对运动补偿信息进行熵编码/熵解码。
在这种情况下,基于块尺寸等于或大于预定块尺寸的块的经过熵编码/熵解码的运动补偿信息,对块尺寸等于或大于预定块尺寸的块内的子块进行运动补偿。也就是说,块尺寸等于或大于预定块尺寸的块中的子块共享包括运动矢量候选、运动矢量候选列表、合并候选和合并候选列表的运动补偿信息。
仅在块深度等于或小于预定块深度值的块中对运动补偿信息进行熵编码/熵解码,并且在块深度大于预定块深度值的块中不对运动补偿信息进行熵编码/熵解码。
在这种情况下,基于块深度等于或小于预定块深度值的块的经过熵编码/熵解码的运动补偿信息,对块深度等于或小于预定块深度值的块中的子块进行运动补偿。也就是说,块深度等于或小于预定块深度值的块中的子块共享包括运动矢量候选、运动矢量候选列表、合并候选和合并候选列表的运动补偿信息。
基于每个块对运动补偿信息进行熵编码/熵解码,或者以更高的等级对运动补偿信息进行熵编码/熵解码。例如,基于每个块(即,逐CTU、逐CU、或逐PU)对运动补偿信息进行熵编码/熵解码,或者以更高等级(例如,视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、或条带头)对运动补偿信息进行熵编码/熵解码。
根据作为运动补偿信息与预测的运动补偿信息(即,运动补偿信息的预测值)之间的差的运动补偿信息差值对运动补偿信息进行熵编码/熵解码。
可将先前编码/解码的邻近块的运动补偿信息用作当前块的运动补偿信息,而不是对当前块的运动补偿信息进行熵编码/熵解码。
根据至少一个编码参数推导至少一条运动补偿信息。
此外,解码器根据至少一个编码参数对从比特流提取出的至少一条运动补偿信息进行熵解码。编码器根据至少一个编码参数对至少一条运动补偿信息进行熵编码。
运动补偿信息包括运动矢量、运动矢量候选、运动矢量候选值、运动矢量差值、运动矢量预测值、跳过模式利用信息(skip_flag)、合并模式利用信息(merge_flag)、运动矢量分辨率信息、重叠块运动补偿信息、局部照度补偿信息、仿射运动补偿信息、解码器侧运动矢量推导信息和双向光流信息中的至少一个。这里,解码器侧运动矢量推导表示模式匹配运动矢量推导。
运动矢量分辨率信息表示指示运动矢量的特定分辨率、运动矢量差值或者运动矢量的特定分辨率和运动矢量差值两者的信息。这里,分辨率表示精度。此外,从16-pel、8-pel、4-pel、整数-pel、1/16-pel、1/4-pel、1/8-pel、1/32-pel和1/64-pel中选择特定分辨率。
这里,重叠块运动补偿信息表示指示在当前块的运动补偿期间是否通过使用空间上与当前块相邻的邻近块的运动矢量来计算当前块的预测块的加权和的信息。
局部照度补偿信息表示指示当生成当前块的预测块时是否应用权重和偏移中的至少一个的信息。这里,权重、偏移或者权重和偏移两者是从参考块推导出的。
仿射运动补偿信息表示指示在当前块的运动补偿期间是否使用仿射运动模型的信息。这里,仿射运动模型是指通过使用多个参数将一个块划分为多个子块并通过使用代表性运动矢量生成子块的运动矢量的处理。
解码器侧运动矢量推导信息表示指示运动补偿所需的运动矢量是否将被解码器推导的信息。依据解码器侧运动矢量推导信息,可不对运动矢量信息进行熵编码/熵解码。例如,当解码器侧运动矢量推导信息指示解码器使用运动矢量时,对合并模式利用信息进行熵编码/熵解码。也就是说,解码器侧运动矢量推导信息指示是否在解码器中使用合并模式。
双向光流信息表示指示是否通过基于每个像素或基于每个子块对运动矢量进行修正来执行运动补偿的信息。依据双向光流信息,不对基于像素的运动矢量或基于子块的运动矢量进行熵编码/熵解码。这里,运动矢量修正表示将基于块的运动矢量值改变为基于像素的运动矢量值或改变为基于子块的运动矢量值。
编码器或解码器通过使用至少一个运动补偿信息对当前块执行运动补偿,并对至少一条运动补偿信息进行熵编码/熵解码。
当对运动补偿信息进行熵编码/熵解码时,使用二值化方法,诸如截断Rice二值化方法、k阶Exp_Golomb二值化方法、受限k阶指数Golomb二值化方法、固定长度二值化方法、一元二值化方法或截断一元二值化方法。
当对运动补偿信息进行熵编码/熵解码时,根据以下信息中的至少一个来确定上下文模型:邻近块的运动补偿信息或区域信息;先前编码/解码的运动补偿信息或区域信息;当前块的块深度信息和当前块的块尺寸信息。
当对运动补偿信息进行熵编码/熵解码时,将邻近块的运动补偿信息、先前编码/解码的运动补偿信息、当前块的块深度信息和当前块的块尺寸信息中的至少一个用作当前块的运动补偿信息。
在下文中,将参照图7至图42描述根据本发明的运动矢量修正方法的特定实施例。
为了推导当前块的运动矢量,使用基于跳过/合并模式的运动矢量推导方法和基于增强运动矢量预测模式的推导方法中的至少一种。这里,运动矢量的推导包括推导当前块的运动矢量以及推导当前块的参考画面索引信息。
在下文中,将详细描述基于合并模式的运动矢量修正方法。然而,以下描述除了可应用于基于合并模式的运动矢量修正方法之外还可应用于基于除了合并模式之外的帧间预测模式的运动矢量修正方法。
图8是示出根据本发明的实施例的运动矢量修正方法的流程图。
根据本发明的运动矢量修正方法包括推导当前块的初始运动矢量的步骤S810和从初始运动矢量推导修正后的运动矢量的步骤S820。在这种情况下,推导修正后的运动矢量的步骤S820包括推导以子块为单位修正的运动矢量。
首先,将详细描述推导当前块的初始运动矢量的步骤S810。
使用合并候选来推导当前块的初始运动矢量,其中,所述合并候选存在于合并候选列表中并且是从空间邻近块、时间邻近块或者空间邻近块和时间邻近块两者推导出的。
可选地,编码器或解码器可构建专用于基于合并模式的运动矢量修正的附加合并候选列表。
图9是示出用于构建附加合并候选列表的空间邻近块和时间邻近块的示图。
参照图9,当构建附加合并候选列表时,从空间邻近块A0、A1、A2、B0、A0、B2和B3按照A0、A1、A2、B0、A0、B2和B3的顺序推导预定数量的候选,然后按照A1、B1、B0、A0、B2、B3和A2的顺序将所述预定数量的候选插入到合并候选列表中。然后,将从时间邻近块推导出的合并候选、组合双向预测合并候选和零合并候选插入到另一附加合并候选列表中。
编码器或解码器以从视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、条带头、并行块、CTU和块中选择的一个或更多个等级对指示将被包括在将被用于基于合并模式的运动矢量修正的附加合并候选列表中的候选的最大数量的信息进行熵编码/熵解码。
在编码器和解码器中共同设置将被包括在将被用于基于合并模式的运动矢量修正的附加合并候选列表中的候选的最大数量。
当构建将被用于基于合并模式的运动矢量修正的合并模式候选列表时,当空间邻近块在同一运动估计区域(MER)内时,邻近块的信息不被包括在该列表中。
最大编码单元(LCU)被划分为N个非重叠运动估计区域,并且对属于同一运动估计区域(MER)的编码单元进行并行运动预测。
图10是示出使用运动估计区域的运动矢量修正方法的示图。
如图10中所示,由于在运动估计区域MER3内存在的当前块CU5的左邻近块A1和A2属于同一运动估计区域MER3,因此它们不被包括在列表中。
这里,通过在编码器和解码器中类似地对最大编码单元(LCU)执行四叉树分区来生成运动估计区域(MER)。另一方面,用于生成运动估计区域(MER)的分区信息由编码器确定,然后以从视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头和条带头中选择的一个或更多个等级被熵编码/熵解码。
另一方面,当使用合并候选列表内的合并候选时,可通过使用合并候选列表内的合并候选中的全部或部分合并候选来推导当前块的初始运动矢量。
例如,当合并候选列表中的合并候选具有以子块为单位推导出的运动信息(以下称为基于子块的运动信息)时,编码器或解码器在合并候选列表的构建期间利用从附加空间邻近块和/或时间邻近块推导出的运动信息来替换具有基于子块的运动信息的合并候选,或者不将具有基于子块的运动信息的合并候选用作初始运动矢量。
换句话说,当合并候选列表中的合并候选具有以子块为单位推导出的运动信息时,仅当当前块的尺寸等于或小于预先设置的或者以序列参数集(SPS)、画面参数集(PPS)、并行块组头、条带头、并行块或CTU的等级被用信号发送的子块尺寸时,编码器或解码器才将那些合并候选用作初始运动矢量。
此外,例如,仅当合并候选列表中的合并候选的合并类型是一般(基本)合并候选(例如,MRG_TYPE_DEFAULT_N)(不是基于子块的合并候选(例如,MRG_TYPE_SUBPU_ATMVP))时,编码器或解码器才将运动矢量候选用作初始运动矢量。
此外,例如,当合并候选列表中的合并候选的合并类型是当前画面参考(CPR,例如,MRG_TYPE_IBC或MRG_TYPE_CRP)时,编码器或解码器不将合并候选的运动矢量用作初始运动矢量。
此外,例如,仅将合并候选列表中的N个候选用作初始运动矢量。这里,N是大于0且不超过合并候选列表中包括的候选的最大数量的自然数。
图11和图12是示出初始运动矢量列表构建方法的示图。
当如图11中所示构建合并候选列表时,利用与各个列表方向对应的合并候选来构建针对各个方向的初始运动矢量列表。这里,初始运动矢量列表包括运动矢量、参考画面索引或者运动矢量和参考画面索引两者。
例如,初始运动矢量列表仅从合并候选列表中取出运动矢量,并且参考画面索引使用固定的预定值。这里,固定的预定值是从编码器被用信号发送到解码器的值,或者是被编码器和解码器共享的值。
另一方面,当合并候选列表中的合并候选的参考画面索引信息与初始运动矢量列表的预定参考画面索引信息不匹配时,编码器或解码器通过反映时间距离(或POC差)将经过缩放的运动矢量用作初始运动矢量。
当构建初始运动矢量列表时,当相同的运动矢量和相同的参考画面索引已经存在于列表中时,编码器或解码器不添加运动信息。
图13是示出使用合并索引信息来推导初始运动矢量的方法的示图。
合并候选列表中的合并候选之中的与合并索引信息对应的合并候选的运动信息可被用作初始运动矢量。
如图13中所示,当合并索引信息值是3时,编码器或解码器将与合并候选列表中的第四候选对应的L0列表[运动矢量:(3,1),参考画面索引:0]以及L1列表[运动矢量:(-3,0),参考画面索引:0]推导为针对相应列表方向的初始运动矢量。
另一方面,当合并索引信息值是4时,编码器或解码器仅将与合并候选列表中的第五候选对应的L0列表[运动矢量:(6,2),参考画面索引:0]推导为初始运动矢量。这里,合并索引信息表示指示合并模式的索引信息。
另一方面,定义了指示是否执行基于合并模式的运动矢量修正的标志。例如,当指示是否执行运动矢量修正的运动矢量修正标志具有第一值时,编码器或解码器对初始运动矢量进行校正。另一方面,当运动矢量修正利用标志具有第二值时,编码器或解码器不执行初始运动矢量修正。运动矢量修正利用标志可具有经由比特流从编码器被用信号发送到解码器的值,并且可基于每个编码块被熵编码/熵解码。
此外,还定义了用于基于合并模式的运动矢量修正的初始运动矢量索引信息,然后基于每个编码块对所述初始运动矢量索引信息进行熵编码/熵解码。运动矢量索引信息可以是用于指示要经历运动矢量修正的初始运动矢量的值,并且可以是与合并索引信息分开定义的值。
例如,以标志值的形式定义初始运动矢量索引信息。例如,初始运动矢量索引信息可具有第一值或第二值。
编码器或解码器使用初始运动矢量索引信息来从多个运动矢量候选中选择将被用于基于合并模式的运动矢量修正的初始运动矢量。
此外,定义了将被用于基于合并模式的运动矢量修正的修正运动矢量参数,并且基于每个编码块对所述修正运动矢量参数进行熵编码/熵解码。这里,修正运动矢量是指将与初始运动矢量相加以获得修正后的运动矢量的运动矢量。
例如,修正运动矢量参数包括指示修正运动矢量的大小的修正运动矢量大小索引信息以及指示修正运动矢量的方向的修正运动矢量方向索引信息。
例如,修正运动矢量的大小具有在1至128范围内的值,并且修正运动矢量大小索引信息指示修正运动矢量的大小值中的一个。例如,修正运动矢量大小索引信息指示在1至128范围内的值之中的满足2^N(N是范围从0至7的整数)的值。也就是说,修正运动矢量的大小具有值1、2、4、8、16、32、64或128。
另外,编码器或解码器通过将修正运动矢量大小值(由修正运动矢量大小索引信息指示)乘以预定值,或者通过对修正运动矢量大小值执行左移位运算来获得最终修正运动矢量。在这种情况下,所述预定值是在编码器和解码器中共同定义的值。例如,与修正运动矢量大小值相乘的预定值可以是4,并且在左移位运算中使用的预定值可以是2。
当在左移位运算中使用的预设值是2时,最终修正运动矢量的大小具有值4、8、16、32、64、128或256,就整数像素单位而言,这些值可分别是1/4、1/2、1、2、4、8、16和32。
另一方面,基于每个整数像素或每个子像素确定修正运动矢量的大小。为此,指示修正运动矢量的单位大小的修正运动矢量单位索引信息或标志(tile_group_fpel_mmvd_enabled_flag)被定义,并且针对每个条带、并行块或并行块组被熵编码/熵解码。此外,例如,当以整数像素为单位确定修正运动矢量的大小时,修正运动矢量的大小具有范围从4至512的值,并且修正运动矢量大小索引信息是那些修正矢量大小值中的一个。例如,修正运动矢量大小索引信息是4至512的值中的满足2^N(N是范围从2至9的整数)的值。
另外,编码器或解码器通过将修正运动矢量大小值(由修正运动矢量大小索引信息指示)乘以预定值,或者通过对修正运动矢量大小值执行左移位运算来获得最终修正运动矢量。在这种情况下,所述预定值是在编码器和解码器中共同定义的值。例如,与修正运动矢量大小值相乘的预定值可以是4,并且在左移位运算中使用的预定值可以是2。
当在左移位运算中使用的预设值是2时,最终修正运动矢量的大小具有值16、32、64、128、256、512或1024,就整数像素而言,这表示1、2、4、8、16、32、64或128。
编码器或解码器推导修正运动矢量,以基于修正运动矢量参数推导修正后的运动矢量。
另一方面,当使用合并候选列表中的合并候选时,解码器不对合并索引信息进行熵解码,并且将合并候选列表中的合并候选之中的与预定编号对应的合并候选运动矢量设置为初始运动矢量。这里,所述预定编号是在编码器和解码器中共同设置的编号。
例如,当假设在编码器/解码器中将与合并候选列表中的第一候选对应的运动矢量用作初始运动矢量时,编码器或解码器使用与图13的合并候选列表中的第一候选对应的L0列表[运动矢量:(3,1),参考画面索引:0]以及L1列表[运动矢量:(-2,0),参考画面索引:0]。
另一方面,当使用合并候选列表中的合并候选时,当当前块是双向可预测块且仅具有与L0列表或L1列表对应的运动信息时,可将从现有运动信息推导出的新运动信息用作附加初始运动信息。这里,现有运动信息是同一列表中的另一合并候选的运动信息。
当如上所述基于现有运动信息推导附加运动信息时,基于由现有运动信息指示的参考画面、当前块所属的当前画面或者参考画面列表中的需要为其生成运动信息的参考画面之间的时间距离(或POC)来推导用于替换该运动信息的附加运动矢量。
具体地,对现有运动矢量执行镜像、缩放或者镜像和缩放两者,以推导附加初始运动矢量来替换不存在的运动矢量。
在图13中,当合并索引信息具有值2时,可仅存在L0运动信息。在这种情况下,L0运动矢量被推导为L1列表运动矢量,其中,所述L0运动矢量相对于L1参考画面列表中的下述参考画面被镜像:该参考画面的POC差等于由L0运动矢量指示的参考画面与当前块所属的当前画面之间的POC差。
此外,除了L1列表内的参考画面中的与由L0运动矢量指示的参考画面具有相同的POC的参考画面之外,将与当前画面具有最小POC差的画面推导为L1参考画面,并且将根据L0参考画面与当前画面之间的POC差以及推导出的L1参考画面与当前画面之间的POC差缩放的缩放后的L0运动矢量推导为L1运动矢量。
图14是示出对运动矢量进行镜像的方法的示图。
参照图14,通过对L1参考画面列表中的下述参考画面进行镜像而获得的L0运动矢量被推导为L1运动矢量:该参考画面的POC差等于由L0运动矢量指示的参考画面与当前块所属的画面之间的POC差。
具体地,由于由L0运动矢量指示的参考画面的POC是0并且当前画面的POC是4,因此两个画面之间的POC差是4。由于在L1列表的方向上的参考画面中存在与当前画面具有POC差为4的参考画面,因此通过对L0运动矢量进行镜像来生成运动矢量,并且该参考画面的参考画面索引被用作L1运动信息。这里,通过在L1列表的方向上对L0运动矢量进行镜像而生成的L1运动矢量是(3,1),并且L1参考画面索引是0。
图15是示出对运动矢量进行缩放的方法的示图。
参照图15,除了L1列表中的参考画面之中的与由L0运动矢量指示的参考画面具有相同的POC的参考画面之外,将与当前画面具有最小POC差的画面推导为L1参考画面。接下来,将根据L0参考画面与当前画面之间的POC差以及推导出的L1参考画面与当前画面之间的POC差缩放的L0运动矢量确定为L1方向运动矢量。
具体地,除了由L0运动矢量指示的参考画面POC2之外,将与当前画面具有最小POC差的画面POC1推导为L1参考画面。将通过考虑L0参考画面与当前画面之间的POC差tb以及L1参考画面与当前画面之间的POC差td而缩放的L0运动矢量推导为L1方向运动矢量。
在下文中,将更详细地描述对运动矢量进行缩放的处理。
POC差td表示当前画面的画面顺序计数(POC)与当前块的L1参考画面的画面顺序计数(POC)之间的差值。POC差tb表示当前画面的POC与当前块的L0参考画面的POC之间的差值。
调整td值、tb值或者td值和tb值两者,使得td值或tb值被包括在从-128至127的范围内。当td值或tb值小于-128时,td值或tb值被调整为-128。当td值或tb值大于127时,td值或tb值被调整为127。当td值或tb值在从-128至127的范围内时,不调整td值或tb值。也就是说,可对tb值或tb值进行限幅,使得tb值或tb值落入预定值范围内。
在这种情况下,通过(16384Abs(td/2))/td获得tx值。这里,Abs()表示绝对值函数,并且该函数的输出值总是输入值的绝对值。
通过(tb*tx+32)>>6获得缩放因子DistScaleFactor,并且缩放因子DistScaleFactor被调整为落入-1024至1023的范围内。
通过Sign(DistScaleFactor*mv)*((Abs(DistScaleFactor*mv)127)>>8)获得缩放后的运动矢量。此时,sign()是输出特定值的符号信息的函数。例如,sign(-1)输出“-”。此外,mv表示未被缩放的运动矢量值。
图16是示出当在双向可预测块中存在仅与L0列表和L1列表中的一个列表对应的运动矢量时推导附加运动矢量的方法的示图。
当使用合并候选列表中的合并候选时,当尽管当前块是双向可预测块但仅存在一个与L0列表或L1列表对应的合并候选时,附加运动矢量被推导以构建针对不存在运动矢量的方向的合并候选列表。
参照图16,当合并索引信息值是2时,仅存在L0运动矢量。在这种情况下,L1列表中的第n可用运动矢量被用作当前块的初始L1运动矢量。这里,n是在编码器和解码器中共同设置的值,并且是包括1的正整数。
图17是示出在双向可预测块中选择具有双向运动信息的合并候选作为初始运动矢量的示例性方法的示图。
在使用合并候选列表中的合并候选的情况下,当当前块是双向可预测块时,将合并候选列表中的合并候选之中的具有双向运动信息的合并候选的运动矢量用作初始运动矢量。这里,当存在具有双向运动信息的多个候选时,将具有最小合并索引信息的候选用于双向预测。
参照图17,当当前块是双向可预测块时,作为具有双向运动信息的第一可用合并候选运动矢量的与合并候选索引3对应的运动矢量被使用。
当不存在满足上述条件的参考画面时,将通过现有合并索引信息选择的合并候选的运动信息推导为初始运动矢量。
另一方面,当使用合并候选列表中的合并候选时,满足特定条件的合并候选的运动矢量被用作初始运动矢量。所述特定条件是指1)仅第一POC差值(POCref0-POCcurr)或第二POC差值(POCref1-POCcurr)具有负值,其中,第一POC差值是编码/解码目标画面与具有双预测信息的合并候选中的对应于第一预测方向(例如,L0预测方向)的第一参考画面之间的POC差值(POCref0-POCcurr),并且第二POC差值是编码/解码目标画面与对应于第二预测方向(例如,L1预测方向)的第二参考画面之间的POC差值(POCref1-POCurr),以及/或者2)合并候选列表中的合并候选与合并候选列表中的其他合并候选中的每一个合并候选呈现大于预定阈值(例如,一个整数像素)的运动矢量差。
这里,所述预定阈值依据当前块的尺寸或构成当前块的像素的数量而变化。例如,当构成当前块的像素的数量小于64时,使用一个整数像素值。另一方面,当构成当前块的像素的数量范围从64至256时,使用2个整数像素值。当构成当前块的像素的数量是265时,使用4个整数像素值。
另一方面,编码器或解码器可不使用根据当前块的尺寸或像素的数量确定的可变阈值,而可使用在编码器或解码器中预设的预定阈值。可选地,编码器或解码器可依据当前块的尺寸或当前块中的像素的数量推导并使用阈值,其中,所述当前块的尺寸或所述当前块中的像素的数量是基于经由视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、条带头、并行块、CTU、CU或块而被用信号发送到解码器的阈值来确定的。
例如,当所述预定阈值MV_THR是4个整数像素时,当当前块的像素的数量小于64时使用整数个像素(MV_THR(4)>>2)。当当前块的像素的数量范围从64至256时,使用整数个像素(MV_THR(4)>>1)。当当前块中的像素的数量大于256时,使用整数个像素(MV_THR(4)>>0)。
另一方面,当使用合并候选列表中的合并候选时,当第一POC差值(POCref0-POCcurr)和第二POC差值(POCref1-POCcurr)具有负值时,满足下面描述的条件的合并候选的运动信息被用作初始运动信息,其中,第一POC差值表示编码/解码目标画面与合并候选列表中的具有双向运动信息的合并候选之中的对应于第一预测方向(例如,L0预测方向)的第一参考画面之间的POC差值,并且第二POC差值表示编码/解码目标块与对应于第二预测方向(例如,L1预测方向)的第二参考画面之间的POC差值。
条件1)POCref0不等于POCref1。
条件2)MVref0和MVref1的垂直运动矢量和水平运动矢量不为零
条件3)((MVx0×(POCref1-POCcurr)-MVx1×(POCref0-POCcurr))==0)&&((MVy0×(POCref1-POCcurr)-MVy1×(POCref0-POCcurr))==0)or((MVx0×(POCref1-POCcurr)-MVx1×(POCref0-POCcurr))<TH)&&((MVy0×(POCref1-POCcurr))-MVy1×(POCref0-POCcurr))<TH)
MVx0、MVy0、MVx1和MVy1分别表示第一参考画面的水平运动矢量、第一参考画面的垂直运动矢量、第二参考画面的水平运动矢量和第二参考画面的垂直运动矢量。TH表示作为在编码器和解码器中设置的预定阈值的阈值,或者被编码器确定并经由预定视频参数集、序列参数集、画面参数集、自适应参数集、条带头、CTU、CU或块中的至少一个而被用信号发送到解码器的阈值。
当基于通过上述方法推导出的初始运动矢量来执行当前块的运动补偿时,当初始运动矢量具有针对每个子像素的运动矢量时,基于舍入到最近的整数像素位置的运动矢量执行运动补偿。
例如,当运动矢量具有1/16-pel的运动矢量精度时,通过方程式4将其舍入到整数像素位置。移位值(shift)依据该精度而变化。例如,当运动矢量精度为1/16-pel时,移位值是4。当运动矢量精度为1/8-pel时,移位值是3。
[方程式4]
roundMV(x,y)=((MVx+(1<<shift-1))>>shift)<<shift,((MVy+(1<<shift-1))>>shift)<<shift
接下来,将详细描述通过使用推导出的初始运动矢量来推导修正后的运动矢量的步骤S820。
编码器/解码器使用推导出的初始运动矢量来执行基于块的运动矢量修正。
关于运动矢量修正,编码器或解码器通过使用当前块的空间邻近块和/或时间邻近块来校正初始运动矢量。将被用于运动矢量修正的空间邻近块和/或时间邻近块中的重建像素被定义为模板。重建像素表示经过环内滤波的滤波后的重建的邻近样点,或者尚未通过环内滤波器(诸如去块滤波器、样点自适应偏移(SAO)或自适应环路滤波器(ALF))的未滤波的重建的邻近块。
例如,编码器或解码器利用当前块的空间重建的空间邻近像素构建模板,并使用该模板对初始运动矢量进行校正。
利用时间邻近块中的重建像素构建模板表示该模板由参考画面中的重建像素或插值像素构成,其中,所述参考画面由当前块的上邻近块的运动信息和/或当前块的左邻近块的运动信息指示。
图18至图21是示出根据本发明的实施例的模板的示图。
关于模板的构建,编码器或解码器可使用如图8中所示的重建的上邻近块和/或重建的左邻近块中的像素来构建模板。
这里,当在当前块的重建的上邻近块或左邻近块的像素中存在不可用的像素时,编码器或解码器可仅利用可用块的像素构建模板。
例如,如图19中所示,当当前块的重建的上邻近块由于它与画面边界、条带边界、并行块边界、并行块组边界或CTU边界相邻而不可用时,编码器或解码器构建仅由重建的左邻近块的像素构成的模板。当当前块的重建的左邻近块由于它与画面边界、条带边界、并行块边界、并行块组边界或CTU边界相邻而不可用时,编码器或解码器构建由重建的上邻近块的像素构成的模板。
例如,当当前块的重建的上邻近块由于它与CTU边界相邻而不可用并且重建的左邻近块中的像素可用时,编码器或解码器使用重建的左邻近像素构建左侧模板。在这种情况下,左侧模板的水平尺寸是N+m,并且垂直尺寸与当前块的垂直尺寸相同。其中,N是发送到解码器的模板的尺寸或固定的模板尺寸,并且m是包括零的整数值。
当构建模板时,当当前块的邻近块与当前块属于同一运动估计区域时,编码器或解码器确定与该位置对应的块或模板不可用。
图24是示出考虑运动估计区域的模板构建处理的示图。
参照图24,编码器或解码器确定上方模板对于属于运动估计区域2的当前块CU3不可用,并且左侧模板对于属于运动估计区域3的当前块CU5不可用。
通过在编码器和解码器中以相同的方式按照四叉树分区结构对最大编码单元(LCU)进行划分来生成运动估计区域。在另一示例中,当编码器用信号发送视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、条带头和并行块中的至少一个到解码器时,根据被用信号发送到解码器的分区信息来生成运动估计区域。
在另一示例中,编码器或解码器仅使用当前块的重建的上邻近块或左邻近块来构建模板,而不管重建的上邻近块和左邻近块的可用性如何。
图25是示出通过使用未被环内滤波器滤波的重建像素值构建的模板的示图。
如图25中所示,编码器或解码器通过仅使用当前块的上邻近块进行硬件流水线处理来利用未被环内滤波器(诸如去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器)滤波的重建像素值构建上方模板。当如上所述仅使用上方邻近块构建模板时,模板的水平尺寸大于当前块的水平尺寸。
此外,当构建模板时,编码器或解码器通过利用可用像素替换不可用像素来构建模板。这里,可用像素包括与当前块相邻的邻近像素、通过将插值滤波器应用于邻近像素而推导出的像素或者具有在编码器和解码器中预先定义的值的像素。另一方面,模板可由预测像素值而非重建像素值组成。
当利用与当前块相邻的邻近块中的预测像素值构建模板时,可通过将重建的变换系数DC分量与预测像素值相加来构建模板。
图26是示出由邻近块中的预测像素值和重建的变换系数DC分量值构成的模板的示图。
如图26中所示,编码器或解码器通过对当前块的左邻近块的预测像素值和左邻近块的重建的变换系数DC分量求和来构建当前块的模板。当编码器或解码器仅使用左邻近块构建模板时,模板的垂直尺寸大于当前块的垂直尺寸。
当构建模板时,当运动矢量是子像素运动矢量时,编码器或解码器通过应用插值滤波器在相应位置生成像素值。这里,双线性滤波器、8抽头DCT-IF滤波器等被用作插值滤波器。编码器或解码器确定关于将被用于构建模板的插值滤波器的信息。可选地,编码器或解码器在不发送插值滤波器的类型的信息的情况下确定使用预定滤波器。插值滤波器类型的信息经由比特流被用信号发送。
另一方面,模板具有M×N的尺寸,其中,M和N是正整数。
例如,如图20中所示,当当前块的尺寸(宽度×长度)是64×32并且在编码器和解码器中定义的模板的像素长度是4个像素时,上方模板的尺寸是64×4,并且左侧模板的尺寸是4×32。
像素长度取决于运动矢量精度。例如,当运动矢量精度是1/4像素并且块尺寸是16个像素时,模板的像素长度是4个像素。
另一方面,如图21中所示,当当前块的宽度(水平尺寸)与当前块的高度(垂直尺寸)不同时,编码器或解码器设置模板尺寸,使得上方模板和左侧模板具有相同的尺寸。
当构建模板时,当模板的尺寸是M×N时,上方模板的M具有大于当前块的水平长度的值,并且上方模板的N具有由编码器和解码器定义的固定像素长度。此外,右侧模板的N具有大于当前块的垂直长度的值,并且右侧模板的M具有由编码器和解码器定义的固定像素长度。
例如,当当前块的尺寸是64×64并且由编码器和解码器定义的模板的像素长度是6个像素时,上方模板的尺寸是128×6并且左侧模板的尺寸是6×128。
另一方面,当构建模板时,模板具有M×N的尺寸,并且该尺寸依据当前块的尺寸或深度而变化。
例如,当当前块的尺寸是128×64并且水平长度或垂直长度大于32时,上方模板的尺寸是128×6并且左侧模板的尺寸是6×64。
此外,例如,当当前块的尺寸是16×16并且长度小于32时,上方模板的尺寸是16×2并且左侧模板的尺寸是2×16。
另一方面,当构建模板时,模板的尺寸依据参考画面中由运动矢量指示的位置而变化。此外,当构建模板时,基于最大搜索区域确定模板的尺寸。
这里,最大搜索区域是指水平尺寸等于参考画面中的搜索区域的水平尺寸与+M之和并且垂直尺寸等于参考画面中的搜索区域的垂直尺寸与+N之和的区域。其中,N和M是正整数并且是相同的值。在编码器和解码器中相等地设置最大搜索区域的尺寸信息N和M。可选地,尺寸信息由编码器确定并且经由视频参数集、序列参数集、画面参数集、自适应参数集、条带头、CTU、CU或块而被用信号发送到解码器。
例如,模板的尺寸依据已经围绕初始运动矢量移动的运动矢量是否指示上方最大搜索区域或左侧搜索区域的边界而变化。
例如,当发送到解码器的模板尺寸或者由编码器和解码器定义的预定固定尺寸是N,并且运动矢量指示上方最大搜索区域的边界时,位于该搜索区域外侧的上方模板的尺寸被确定为当前块的水平尺寸(W×N-1)。
当发送到解码器的模板尺寸或者由编码器和解码器定义的预定固定尺寸是N,并且运动矢量指示左侧搜索区域的边界时,位于该搜索区域外侧的左侧模板的尺寸被确定为(N-1)×当前块的垂直尺寸H。
模板尺寸被确定以便减小存储器访问带宽。
图27是示出模板尺寸的示例的示图。
如图27中所示,当模板尺寸是4(=N)并且运动矢量指示上方最大搜索区域的边界和左侧搜索区域的边界时(情况A),上方模板的尺寸被确定为W×3并且左侧模板的尺寸被确定为3×H。其它搜索区域B内的上方模板和左侧模板的尺寸被确定为W×4和4×H。
另一方面,当构建模板时,用于构建模板的插值方法依据参考画面中的由运动矢量指示的位置而变化。
例如,用于构建模板的插值方法依据已在从初始运动矢量的方向上移动的子块位置运动矢量是否指示上方最大搜索区域或左侧最大搜索区域的边界而变化。插值方法变化的原因是为了减小存储器访问带宽。
图28至图31是示出根据本发明的各种实施例的基于插值的模板构建方法的示图。
例如,如图28中所示,当模板的尺寸是W×4并且运动矢量指示上方最大搜索区域时,编码器或解码器不对模板的第一行中的像素值执行插值处理,而是使用向下最接近子像素位置的整数像素位置处的像素值。另一方面,编码器或解码器可将通过对整数像素执行双线性插值而生成的像素值用作位于第二行、第三行和第四行中的像素值。
此外,例如,如图29中所示,当模板具有4×H的水平尺寸/垂直尺寸并且运动矢量指示左侧最大搜索区域时,编码器或解码器不对模板的第一行中的像素值执行插值,而是使用左侧最接近整数像素位置的像素值。另一方面,编码器或解码器可使用通过对第二行、第三行和第四行中的整数像素执行双线性插值而生成的像素值。
此外,例如,如图30中所示,当模板的尺寸是W×4并且运动矢量指示上方最大搜索区域的边界时,编码器或解码器复制并使用通过对模板的第一行中的像素值执行双线性插值而生成的第N行中的像素值。
此外,例如,当模板的尺寸是4×H并且运动矢量指示左侧最大搜索区域中的位置时,编码器或解码器复制并使用通过对模板的第一行中的像素值执行双线性插值而生成的第N行中的像素值。
另一方面,构建模板所需的模板尺寸信息经由比特流被用信号发送。
图32是示出使用模板对初始运动矢量进行修正的方法的示图。
参照图32,编码器或解码器在由初始运动矢量指示的参考画面中的搜索区域中搜索指示使与当前块的邻近模板的误差最小化的模板的运动矢量,并将该运动矢量确定为修正后的运动矢量。
在这种情况下,从包括由初始运动矢量指示的像素位置的预定搜索区域生成参考画面中的模板。
根据搜索方法,所述预定搜索区域具有包括由初始运动矢量指示的像素位置的十字形状、正方形形状、菱形形状、斜方形形状、六边形形状等。另一方面,使参考画面中的模板与当前块的邻近模板之间的误差最小化的处理表示使参考画面中的模板与当前块的邻近模板之间的差最小化的处理。
在计算参考画面中的模板与当前块的模板之间的误差时,基于失真值、针对运动矢量的代价值或者失真值和针对运动矢量的代价值两者来计算该误差。
例如,当左侧模板和上方模板都可用时,根据方程式5来计算代价值。
[方程式5]
代价值=(左侧模板之间的失真值+上方模板之间的失真值)+(初始运动矢量(x,y)-修正后的运动矢量(x,y))*权重
在另一示例中,当只有上方模板可用时,根据方程式6来计算代价值。
[方程式6]
代价值=上方模板之间的失真值+(初始运动矢量(x,y)-修正后的运动矢量(x,y))*权重
这里,权重是小于0的负数,以及大于0的正数。
此外,使用模板之间的SAD和MR-SAD中的至少一个来计算失真值。根据方程式7计算SAD和MR-SAD的值。
[方程式7]
SAD=∑i,j|Ctp(i,j)-Ltp(i,j)|:
MR-SAD=∑i,j|Ctp(i,j)-Ltp(i,j)-deltaDC|:
这里,Ctp(i,j)是当前块的左侧模板或上方模板中的像素值,Ltp(i,j)是参考画面中的左侧模板或上方模板中的像素值,deltaDC是通过从当前块的左侧模板的平均像素值减去参考画面中的左侧模板的平均像素值而获得的值,或者是通过从当前块的上方模板的平均像素值减去参考画面中的上方模板的平均像素值而获得的值。
例如,根据当前块的尺寸来确定是使用SAD还是MR-SAD。例如,当块的水平尺寸或垂直尺寸大于64个像素时,使用MR-SAD;否则,使用SAD。
当对当前块与参考画面之间的模板样点值进行比较时,通过对模板样点值执行异或(XOR)运算来计算失真值。例如,对当前块的模板样点和参考画面的模板样点中的至少一个执行异或运算,然后使用相应模板样点的异或运算结果之和来计算失真值。
当对当前块与参考画面之间的模板样点值进行比较时,编码器或解码器在将每个样点的比特深度减小预定值K之后计算失真值。在这种情况下,K具有0至样点的比特深度值的值,并且它是正整数或零。例如,当当前块的模板样点的比特深度和参考画面的模板样点的比特深度是10个比特时,编码器或解码器将当前块的模板样点的比特深度和参考画面的模板样点的比特深度减小4个比特,并且使用诸如SAD、SATD、SSE或MSE的样点间失真计算方法来计算失真值。
此外,当对当前块与参考画面之间的模板样点值进行比较时,样点间失真计算方法和计算运动信息中包括的率的率计算方法被使用。因此,参考画面中的呈现最小率失真值的重建样点的位置被用作修正后的运动矢量。
这里,通过对初始运动矢量值和修正后的运动矢量值中的至少一个执行熵编码来计算所述率。还可通过对初始运动矢量值与修正后的运动矢量值之间的差执行熵编码来计算所述率。熵编码表示以上二值化方法中的至少一种。
通过不仅考虑参考画面中的模板与当前块的模板之间的误差,而且考虑当前块的模板与从搜索区域中的修正后的运动矢量位置生成的预测块之间的误差来计算失真值。
图33是示出基于失真代价的失真代价计算方法的示图。
如图33中所示,编码器或解码器可通过不仅考虑当前块的模板与预测块之间的失真值,而且考虑当前块的模板与从参考画面生成的预测块之间的边界像素失真值来计算失真值。例如,根据方程式8来计算失真值。
[方程式8]
失真值=W0×(模板间失真值)+W1*(针对当前块模板和预测块边界的失真值)
这里,权重W0和W1是固定值或可变值。应用于各个预测块的权重彼此相等或彼此不同。为了应用可变权重,经由比特流用信号发送针对解码目标块的一个或更多个权重信息。针对每个预测块或针对每个参考画面用信号发送权重信息。多个预测块可共享权重信息。
编码器或解码器在预定搜索区域中搜索新运动矢量nMV,其中,所述新运动矢量nMV指示与当前块的模板呈现最小误差的模板,所述预定搜索区域以由基于初始运动矢量找到的修正后的运动矢量rMV指示的像素位置为中心。
这里,当通过使用新运动矢量(nMV)获得的参考画面的模板与当前块的模板之间的误差大于从先前的修正后的运动矢量(rMV)获得的参考画面的模板与当前块的模板之间的误差时,编码器或解码器停止修正处理。
然而,当从新运动矢量(nMV)获得的参考画面的模板与当前块的模板之间的误差小于从先前的修正后的运动矢量(rMV)获得的参考画面的模板与当前块模板之间的误差时,编码器或解码器通过在以新运动矢量nMV指示的像素位置为中心的搜索区域中搜索新运动矢量来持续地执行修正。
另一方面,当从新运动矢量(nMV)获得的参考画面的模板与当前块的模板之间的误差小于从先前的修正后的运动矢量(rMV)获得的参考画面的模板与当前块模板之间的误差时,编码器或解码器迭代地搜索新运动矢量。在这种情况下,搜索新运动矢量的次数被表示执行运动修正的次数的运动修正执行频率信息限制。
例如,当运动修正执行频率信息是2时,搜索新运动矢量的次数被限制为总共两次。运动修正执行频率信息被插入到比特流中以便被用信号发送。另一方面,运动修正执行频率信息可被设置为在编码器和解码器中相同的预定数量。
另一方面,当初始运动矢量具有与N个预测方向对应的运动矢量(例如,L0运动矢量和L1运动矢量)时,获得针对各个预测方向的修正后的运动矢量。
预定搜索区域由搜索区域信息确定。这里,确定搜索区域所需的搜索区域信息被插入到比特流中,以便从编码器被用信号发送到解码器。
例如,预定搜索区域的尺寸依据诸如画面类型、时间层和块尺寸的编码参数而变化。例如,与最高层对应的画面中的搜索区域具有1个整数像素的尺寸,并且与最高层之下的层对应的画面中的搜索区域可具有8个整数像素的尺寸。
关于被设置用于搜索修正后的运动矢量的搜索区域,水平方向上的像素范围和垂直方向上的像素范围可彼此不同。例如,垂直方向上的像素范围可小于水平方向上的像素范围。在像素范围被设置为在水平方向与垂直方向之间具有差异的原因是因为可以减小存储器访问带宽。
图34是示出搜索修正后的运动矢量的搜索区域范围的示图。
如图34中所示,基于整数像素的搜索区域在水平方向上的尺寸被设置为8个像素,并且基于整数像素的搜索区域在垂直方向上的尺寸被设置为4个像素。当如上所述设置搜索区域时,初始运动矢量的水平分量与修正后的运动矢量的水平分量之间的差为8或更小。初始运动矢量的垂直分量与修正后的运动矢量的水平分量之间的差具有值4或更小的值。当运动矢量具有1/16运动矢量精度时,水平分量之间的差为128或更小,并且垂直分量之间的差为64或更小。
编码器或解码器在改变初始运动矢量可在预定搜索区域内移动的运动矢量偏移的单位大小的同时搜索修正后的运动矢量。
编码器或解码器通过将用于运动矢量的修正的运动矢量偏移的单位大小从整数像素大小改变为子像素大小来搜索修正后的运动矢量。
例如,编码器或解码器在顺序地将偏移大小单位改变为(整数像素大小)/(2×n)的同时从整数像素大小偏移单位开始顺序地搜索修正后的运动矢量。这里,n是正整数,并且它是在编码器和解码器中预设的值或者是从编码器被用信号发送到解码器的值。
图35是示出通过改变运动矢量偏移的单位大小来搜索运动矢量的方法的示图。
如图35的(a)中所示,当搜索区域在水平方向/垂直方向上的尺寸是1个像素(整数像素)并且使用正方形形状的搜索方法时,编码器或解码器对初始运动矢量周围的区域内的具有1像素偏移的8个运动矢量候选的匹配代价进行比较,以找到具有最小匹配代价的运动矢量候选。
此外,编码器或解码器对具有基于每1像素偏移计算的最小匹配代价的运动矢量周围的区域内的具有1/2像素偏移的8个运动矢量候选的匹配代价进行比较,以找到具有最小匹配代价的1/2像素运动矢量候选。
在这种情况下,当编码器或解码器搜索运动矢量候选,初始运动矢量与针对每个分量具有1/2像素偏移的移动的运动矢量之间的大小差大于1时,不使用该运动矢量。此外,在基于1/2像素偏移搜索最佳的修正后的运动矢量之后,编码器或解码器在基于1/2像素偏移的最佳的修正后的运动矢量周围的区域内基于每1/4像素偏移搜索运动矢量候选。
编码器或解码器在将运动矢量偏移的单位大小从较大的子像素改变为较小的子像素的同时搜索修正后的运动矢量。
例如,编码器或解码器基于每个子像素,从子像素大小偏移开始并顺序地移动到(子像素大小偏移)/(2×m)的大小,顺序地搜索修正后的运动矢量。这里,m是正整数,并且m以及开始进行搜索的子像素偏移的单位大小是在编码器和解码器中预设的预定值,或者是从编码器被用信号发送到解码器的值。
如图35的(b)中所示,当基于整数像素的搜索区域在水平方向/垂直方向上的尺寸是一个像素,并且使用正方形搜索方法时,编码器或解码器对初始运动矢量周围的区域中的具有1/4像素偏移的8个运动矢量候选进行比较,以找到具有最小匹配代价的修正后的运动矢量。
此外,编码器或解码器通过对针对先前的修正后的运动矢量具有1/4像素偏移的8个运动矢量的匹配代价进行比较来搜索具有最小匹配代价的修正后的运动矢量候选,以找到具有最小匹配代价的修正后的运动矢量。
接下来,编码器或解码器对基于1/4像素偏移具有最小匹配代价的运动矢量周围的区域中的具有1/8像素偏移的八个运动矢量候选的匹配代价进行比较,以找到针对1/8像素偏移的运动矢量候选。
指示搜索区域中的搜索总次数和/或以每个偏移大小单位的搜索次数的信息包括视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、条带头、并行块、CTU和块,并且被熵编码/熵解码。
指示搜索区域中的搜索总次数和/或以每个偏移大小单位的搜索次数的信息在编码器和解码器中被设置为相同的值。
当设置搜索区域的尺寸时,编码器或解码器考虑运动矢量的精度。例如,当运动矢量精度是1/16并且基于整数像素的搜索区域在水平方向/垂直方向上的尺寸是1个像素时,这表示基于子像素的搜索区域的尺寸是16。
预定搜索区域中的运动搜索模式(方法)依据运动矢量偏移的大小而变化。例如,编码器或解码器针对整数像素偏移使用正方形搜索方法,针对1/2像素偏移使用菱形形状搜索方法,并且针对1/4像素偏移使用十字形搜索方法。
编码器或解码器对以初始运动矢量为中心的预定搜索区域中的所有整数像素位置和所有子像素位置的匹配代价进行比较,并将产生最小匹配代价的位置处的运动矢量确定为修正后的运动矢量。
以从视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、条带头、并行块、CTU和块中选择的至少一个等级用信号发送是否基于整数像素偏移搜索修正后的运动矢量的信息,并对所述信息进行熵编码/熵解码。
基于运动矢量是否基于每个整数像素被修正的信息来确定是否在编码器或解码器中基于每个整数像素搜索运动矢量。
以从视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、条带头、并行块、CTU和块中选择的一个或更多个等级用信号发送运动矢量是否基于每个子像素被修正的信息,并且对所述信息进行熵编码/熵解码。
编码器或解码器根据针对每个子像素大小偏移的修正后的运动矢量搜索信息来确定是否搜索针对每个子像素的运动矢量。
以从视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、条带头、并行块、CTU和块中选择的一个或更多个等级用信号发送针对基于整数像素偏移的修正后的运动矢量的搜索区域的像素范围以及针对基于子像素偏移的修正后的运动矢量的搜索区域的子像素范围中的至少一个的信息,并且对所述信息进行熵编码/熵解码。编码器或解码器使用整数像素范围信息和子像素范围信息以相同的方式对运动矢量进行校正。
在编码器和解码器中以相同的方式设置针对基于整数像素偏移的修正后的运动矢量的搜索区域的最大像素范围以及针对基于子像素偏移的修正后的运动矢量的搜索区域的最大子像素范围。
在这种情况下,以从视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、条带头、并行块、CTU和块中选择的一个或更多个等级用信号发送与最大像素范围的差的信息以及与最大子像素范围的差的信息中的至少一个,并且对所述信息进行熵编码/熵解码。编码器和解码器使用最大像素范围信息、与最大像素范围的差的信息或者最大像素范围信息和与最大像素范围的差的信息两者来对运动矢量进行类似校正。此外,编码器和解码器使用最大子像素范围信息、与最大子像素范围的差的信息或者最大子像素范围信息和与最大子像素范围的差的信息两者来对运动矢量进行校正。
编码器或解码器基于修正后的运动矢量是否基于每个子像素偏移被搜索的信息来对子像素大小信息进行熵编码/熵解码。在这种情况下,子像素偏移的单位大小是指1/2像素、1/4像素、1/8像素、1/16像素和1/32像素中的至少一个。编码器和解码器使用子像素单位信息对运动矢量进行类似校正。
此外,多条子像素单位信息被熵编码/熵解码。当多条子像素大小信息被熵编码/熵解码时,编码器或解码器对针对与编码单元的信息对应的每个子像素偏移的运动矢量进行校正。
图36至图38是示出对初始运动矢量进行修正的方法的示图。
编码器或解码器使用基于合并模式的运动矢量修正处理或基于预测块的运动矢量修正方法来对初始运动矢量执行修正。
这里,编码器或解码器在不使用上述模板的情况下使用从编码器被用信号发送的修正后的运动矢量参数来对初始运动矢量执行修正,或者使用当前块的通过使用运动矢量生成的预测块来对初始运动矢量执行修正。
当使用预测块来执行运动修正时(即,在基于预测块的运动矢量修正的情况下),基于由初始运动矢量指示的每个参考画面中的预测块之间的差来执行运动矢量修正。
根据本发明的使用预测块的运动修正使用双边模板匹配。
在这种情况下,指示是否可执行基于预测块的运动矢量修正的标志被定义,并且所述标志被插入到视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、条带头、并行块、CTU、CU或块中,以被用信号发送到解码器。
编码器或解码器依据当前块的编码参数值确定是否对当前块执行运动矢量修正。
例如,当当前块在合并模式下时,可执行运动矢量修正。
可选地,当当前块通过双向预测被编码/解码时,可执行运动矢量修正。
另外可选地,基于第一POC差(POC_curr-POC_ref0)是否等于第二POC差(POC_ref1-POC_curr)来确定是否执行运动矢量修正,其中,第一POC差表示编码/解码目标画面与对应于第一预测方向(例如,L0预测方向)的第一参考画面之间的POC差,并且第二POC差表示编码/解码目标画面与对应于第二预测方向(例如,L1预测方向)的第二参考画面之间的POC差。
又另外可选地,依据当前块的尺寸来确定是否执行运动矢量修正。例如,当当前块的垂直尺寸是8或更大时,确定执行运动矢量修正。例如,当当前块的面积是64或更大时,可确定执行运动矢量修正。
例如,当当前块的预测块的权重信息是1/2时,确定执行运动矢量修正。
例如,依据预定阈值与由初始运动矢量指示的每个参考画面中的预测块之间的差信号之间的比较结果来确定是否执行运动矢量修正。所述预定阈值是指用于通过确定所述差信号的精度来确定是否执行运动矢量修正的参考值。这里,所述预定阈值由最小值和最大值中的至少一个表示。例如,所述预定阈值是在编码器和解码器中预设的固定值。可选地,所述预定阈值是由诸如当前块的尺寸、类型和比特深度的编码参数确定的值,或者是以SPS、PPS、条带头、并行块、并行块组头、CTU或CU等级被用信号发送的值。
当由初始运动矢量指示的每个参考画面中的预测块之间的SAD值小于所述预定阈值时,编码器或解码器不执行运动矢量修正。例如,所述预定阈值是当前块的尺寸(W×H)。当计算预测块之间的SAD时,当垂直方向上的偶数个或奇数个像素被排除时,所述预定阈值被设置为当前块的W×H>>1,其中,W和H分别是当前块的宽度(水平尺寸)和高度(垂直尺寸)。例如,所述预定阈值可以是当前块的4W×H>>1。例如,考虑亮度分量的比特深度,所述预定阈值根据方程式9被定义。
[方程式9]
shift=Max(2,14-BitDepthY_)
阈值=(1<<(BitDepth_Y-N+shift))×当前块的宽度(W)×当前块的高度(H)
这里,N是8至13范围内的任意数。当计算预测块之间的SAD时,当垂直方向上的偶数个或奇数个像素被排除时,当前块的垂直长度等于H>>1。
当当前块的尺寸等于或大于预定尺寸时,编码器或解码器将当前块划分为具有更小尺寸的子块,并且在将子块视为当前块的同时执行运动矢量修正。
例如,当当前块的宽度或高度大于16时,将当前块划分为16×16尺寸的子块,并且基于每个子块执行运动矢量修正。
当基于每个子块执行运动矢量修正时,依据当前块的编码参数中的至少一个来确定子块的数量。
例如,子块的数量依据当前块的尺寸而变化。当当前块的尺寸是32×32时,子块的数量是16,而当当前块的尺寸是64×64时,子块的数量是4。
例如,子块的数量依据当前块的类型而变化。当当前块的类型是垂直尺寸大于水平尺寸的尺寸为16×32的非正方形类型时,子块的数量是8。另一方面,当当前块的类型是尺寸为32×32的正方形类型时,子块的数量是16。
此外,当基于子块执行运动信息修正方法时,不管当前块的形状如何,将子块的形状确定为正方形。
当基于子块执行运动信息修正时,将子块的形状确定为与当前块的形状相同。
例如,当当前块具有垂直尺寸大于水平尺寸的非正方形形状时,将子块的形状确定为垂直尺寸大于水平尺寸的非正方形形状。
在可基于子块执行运动矢量修正的情况下,根据经由比特流被用信号发送的信息来确定基于子块的运动矢量修正执行信息。这里,针对从视频、序列、画面、条带、并行块组、并行块、编码树单元、编码单元、预测单元、变换单元和块中选择的一个或更多个单元用信号发送基于子块的运动矢量修正执行信息。基于子块的运动矢量修正执行信息指示是否针对对应单元执行基于子块的运动信息修正。
此外,通过使用基于子块的运动信息预测方法中的至少一种方法,基于具有所确定的大小的子块的运动信息来执行基于子块的运动信息修正。
这里,预测块位于以由初始运动矢量指示的像素位置为中心的预定搜索范围内。可从在预定搜索范围中推导出的运动矢量生成预测块,并且可将使预测块之间的差最小化的运动矢量确定为修正后的运动矢量。例如,针对水平方向和垂直方向中的每一个,搜索范围被确定为4个像素。
可选地,针对由初始运动矢量指示的像素位置,搜索范围可被设置为从-2个整数像素至+2个整数像素的范围。
预测块之间的差表示基于针对L0方向的L0初始运动矢量或针对L1方向的L1初始运动矢量生成的多个预测块之间的差,或者分别基于L0初始运动矢量和L1初始运动矢量生成的预测块之间的差。
编码器或解码器将指示参考画面中的重建样点位置的运动矢量(当通过使用失真计算方法(诸如绝对差和(SAD)、绝对变换差和(SATD)、误差平方和(SSE)、均方误差以及去平均SAD)对参考画面中的重建样点和双向预测样点进行比较时所述运动矢量呈现最小失真)确定为修正后的运动矢量。在这种情况下,针对亮度分量和色度分量中的至少一个计算失真。
例如,如图36中所示,编码器或解码器找到在预测块P0与预测块P1之间出现最小误差的情况,其中,预测块P0是通过使用已经在预定搜索范围内移动的运动矢量而生成的,预测块P1是通过使用从L0运动矢量推导出的L1运动矢量而生成的,其中,所述预定搜索范围与L0参考画面中的由L0初始运动矢量指示的参考像素位置具有预定距离,并且编码器或解码器将已经在预定搜索范围内移动的运动矢量确定为修正后的L0运动矢量。
这里,Ll修正后的运动矢量是通过对L0修正后的运动矢量进行镜像或缩放而推导出的运动矢量。
可选地,L1修正后的运动矢量是通过对L0初始运动矢量与已经在L0方向上在预定搜索范围内移动的L0运动矢量之间的差进行镜像或缩放并将所述差与L1初始运动矢量相加而获得的运动矢量。
L0运动矢量是通过将L0初始运动矢量与已经在预定搜索范围内移动的L0运动矢量之间的差与L0初始运动矢量相加而获得的运动矢量。类似地,L1运动矢量是通过将L1初始运动矢量与已经在预定搜索范围内移动的L1运动矢量之间的差与L1初始运动矢量相加而获得的运动矢量。这里,初始运动矢量与预定搜索范围内的移动的运动矢量之间的差表示上述修正运动矢量。
另一方面,当针对L0方向的参考画面与编码/解码目标画面之间的POC差不同于针对L1方向的参考画面与编码/解码目标画面之间的POC差时,L0运动矢量或者L0初始运动矢量与预定搜索范围内移动的L0运动矢量之间的差不被镜像而被缩放,并且由缩放产生的值被用于推导L1运动矢量。
当编码/解码目标画面与针对L0方向的参考画面之间的POC差不同于编码/解码目标画面与针对L1方向的参考画面之间的POC差时,L0运动矢量或者L0初始运动矢量与预定搜索范围内移动的L0运动矢量之间的差不被镜像而被缩放,并且缩放的结果值被用于推导L1运动矢量。
当编码/解码目标画面与针对L0方向的参考画面之间的POC差不同于编码/解码目标画面与针对L1方向的参考画面之间的POC差时,L1运动矢量或者L1初始运动矢量与预定搜索范围内移动的L1运动矢量之间的差不被镜像而被缩放,并且缩放的结果值被用于推导L0运动矢量。
可选地,如图37中所示,编码器或解码器找到在预测块(P1)与预测块(P0)之间出现最小误差的情况,其中,预测块(P1)是通过使用已经在预定搜索范围中移动的运动矢量而生成的,预测块(P0)是通过使用从L1运动矢量推导出的L0运动矢量而生成的,其中,所述预定搜索范围与L1参考画面中的由L1初始运动矢量指示的参考像素位置具有预定距离,并且编码器或解码器将已经在预定搜索范围中移动的运动矢量确定为修正后的L1运动矢量。
这里,L0修正后的运动矢量是通过对L1修正后的运动矢量进行镜像或缩放而获得的运动矢量。
L0运动矢量是通过在L0方向上对L1初始运动矢量与预定搜索范围内移动的L1运动矢量之间的差进行镜像或缩放并将镜像或缩放的结果值与L0初始运动矢量相加而推导出的运动矢量。
类似地,编码器或解码器找到在预测块P0与预测块P1之间出现最小误差的情况,其中,预测块P0是通过使用已经在L0参考画面中的由L0初始运动矢量指示的预定搜索范围内移动的运动矢量而生成的,预测块P1是通过使用从L0运动矢量推导出的L1运动矢量而生成的,并且编码器或解码器将已经在预定搜索范围内移动的运动矢量确定为修正后的L0运动矢量。
另一方面,当编码/解码目标画面与针对L0方向的参考画面之间的POC差不用于编码/解码目标画面与针对L1方向的参考画面之间的POC差时,编码器或解码器不对L1运动矢量或者L1初始运动矢量与预定搜索范围内移动的L1运动矢量之间的差进行镜像,而对L1运动矢量或者L1初始运动矢量与预定搜索范围内移动的L1运动矢量之间的差进行缩放,并且使用缩放的结果值来推导L0运动矢量。
另一方面,当从Lx运动矢量推导Ly方向运动矢量时,由Lx运动矢量指示的参考画面、当前块所属的画面以及Ly方向上的参考画面之间的时间距离(或POC差)中的至少一个被考虑。这里,x和y可以是包括零的不同的正整数。
关于镜像,例如,编码器或解码器针对L1参考画面列表中的参考画面对L0运动矢量进行镜像,其中,所述参考画面具有与由L0运动矢量指示的参考画面与当前块所属的画面之间的POC差相同的POC差,并且编码器或解码器将经过镜像的运动矢量推导为L1方向运动矢量。
关于缩放,例如,编码器或解码器通过考虑与当前块所属的画面具有最小POC差的画面的POC差,排除L1参考画面列表中的参考画面之中的与由L0运动矢量指示的参考画面具有相同的POC差的参考画面,来对L0运动矢量进行缩放,并且将缩放后的L0运动矢量推导为L1方向运动矢量。
另一方面,当基于预测块之间的差对运动矢量进行修正时,根据编码/解码信息选择将被镜像或缩放的运动矢量值。也就是说,根据编码/解码信息,在初始运动矢量、预定搜索范围中移动的运动矢量以及初始运动矢量与移动的运动矢量之间的差中选择将被镜像或缩放的运动矢量值。
例如,当当前块是双向可预测块并且仅存在L0初始运动矢量时,通过在L1方向上对L0初始运动矢量或预定搜索范围内移动的L0运动矢量进行镜像或缩放而获得的运动矢量被用作L1运动矢量。
当当前块具有双向预测信息并且第一POC差值和第二POC差值((POC_ref0-POC_curr和POC_ref1-POC_curr)两者具有负值时,通过在L1方向上对L0初始运动矢量或预定搜索范围内移动的L0运动矢量进行镜像或缩放而获得的运动矢量被推导为L1运动矢量,其中,第一POC差值是编码/解码目标画面与对应于第一方向(例如,L0方向)的第一参考画面之间的POC差值,并且第二POC差值是编码/解码目标画面与对应于第二方向(例如,L1方向)的第二参考画面之间的POC差值。将L1初始运动矢量与预定搜索范围内移动的L1运动矢量之间的差与L0初始运动矢量相加,并且将结果值用作L0运动矢量。
此外,例如,当当前块具有双向运动信息并且第一POC差值和第二POC差值(POC_ref0-POC_curr和POC_ref1-POC_curr)中的仅一个具有负值时,在L1方向上对L0初始运动矢量与预定搜索区域内移动的L0运动矢量之间的差进行镜像或缩放,并且将结果值与L1初始运动矢量相加以获得将被用作L1运动矢量的值,其中,第一POC差值是编码/解码目标画面与对应于第一方向(例如,L0方向)的第一参考画面之间的POC差值,并且第二POC差值是编码/解码目标画面与对应于第二方向(例如,L1方向)的第二参考画面之间的POC差值。可选地,在L0方向上对L1初始运动矢量与预定搜索区域内移动的L1运动矢量之间的差进行镜像或缩放,并将结果值与L0初始运动矢量相加以获得L0运动矢量。
当使用预测块执行运动修正(在下文中,称为基于预测块的运动修正)时,编码器或解码器计算通过使用L0初始运动矢量生成的预测块与通过使用L1初始运动矢量生成的预测块的加权和,以产生将被用于运动修正的块。
基于预测块的运动修正的修正后的运动矢量仅被用于运动补偿和时间运动矢量预测。
当使用当前块的预测块对运动矢量进行修正(双边模板匹配)时,可在不发送附加上下文元素的情况下在解码器侧对运动进行修正。
当当前块与单向预测合并候选、局部照度补偿模式、仿射运动补偿模式、子CU合并模式无关时,执行基于预测块的运动矢量修正(双边模板匹配)。
例如,如图38中所示,编码器或解码器计算通过使用L0初始运动矢量生成的预测块P0和通过使用L1初始运动矢量生成的预测块P1的加权和,并将得到的预测块Ps用作模板。编码器或解码器通过在以由L0初始运动矢量指示的像素位置为中心的预定搜索范围中移动运动矢量来生成预测块Pr0。将在预测块Pr0与模板Ps之间产生最小误差的运动矢量确定为针对L0列表的修正后的运动矢量。
编码器或解码器通过在以由L1运动矢量指示的像素位置为中心的预定搜索区域中移动运动矢量来生成预测块Pr1。将在预测块Pr1与模板Ps之间产生最小误差的运动矢量确定为针对L1列表的修正后的运动矢量。
另一方面,根据方程式10计算预测块Ps。
[方程式10]
Ps=(a1*P0+a2*P1)>>1
这里,a1和a2是在权重函数中使用的权重。权重不限于固定值,而可以是可变值。应用于各个预测块的权重彼此相等或彼此不同。为了使用可变权重,经由比特流用信号发送针对解码目标块的权重的信息。
当仅L0初始运动矢量被推导出时,通过使用L0初始运动矢量生成的预测块P0被确定为模板。此外,将在模板与预测块Pr0之间产生最小误差的运动矢量确定为针对L0列表方向的修正后的运动矢量,其中,预测块Pr0是通过以由L0初始运动矢量指示的像素位置为中心的预定搜索区域中移动的运动矢量而生成的。
当计算当前块的预测块之间的差时,考虑针对运动矢量的失真值和代价值中的至少一个。
例如,当L0初始运动矢量被用于生成预测块P0和P1时,根据方程式11计算代价值。
[方程式11]
代价值=失真值(预测块(P0)-预测块(P1))+(初始L0运动矢量-修正后的L0运动矢量)*权重
例如,当通过使用L1初始运动矢量生成预测块P0和P1时,根据方程式12计算代价值。
[方程式12]
代价值=失真值(预测块(P0)-预测块(P1))+(初始L1运动矢量-修正后的L1运动矢量)*权重
这里,权重表示小于零的负值或大于零的正值。
在代价值的计算中,使用预测块的SAD、SATD和MR-SAD中的至少一个来计算失真值。
编码器或解码器在预定搜索范围内搜索产生预测块之间的最小误差的新运动矢量nMV,其中,所述预定搜索范围以由基于初始运动矢量找到的修正后的运动矢量rMV指示的像素位置为中心。
这里,当通过使用新运动矢量nMV获得的预测块P0和P1之间的误差大于通过使用修正后的运动矢量rMV获得的预测块P0和P1之间的误差时,编码器或解码器停止执行运动矢量修正。然而,当通过使用新运动矢量nMV获得的预测块P0和P1之间的误差小于通过使用修正后的运动矢量rMV生成的预测块P0和P1之间的误差时,编码器或解码器继续在以由新运动矢量nMV指示的像素位置为中心的预定搜索范围中搜索新运动矢量。
当通过使用运动矢量获得的预测块之间的误差小于通过使用修正后的运动矢量获得的预测块之间的误差时,编码器或解码器继续搜索新运动矢量。在这种情况下,搜索新运动矢量的次数被表示执行运动修正的次数的运动修正执行频率信息限制。
例如,当运动修正执行频率信息具有值2时,搜索新矢量的次数被限制为2。运动修正执行频率信息被插入到比特流中以便被用信号发送。可将在编码器和解码器中预设的预定值用作运动修正执行频率。
如已经描述的,存在两种基于初始运动矢量的运动矢量修正方法:一种是使用模板的方法,另一种是使用预测块的方法。
编码器或解码器根据指示运动矢量修正方法的运动矢量修正模式信息(MV_REFINE_MODE)来选择运动矢量修正方法。
例如,当运动矢量修正模式信息(MV_REFINE_MODE)具有第一值0时,通过使用当前块的邻近模板来执行运动矢量修正。然而,当运动矢量修正模式信息(MV_REFINE_MODE)具有第二值1时,通过使用基于运动矢量生成的预测块来执行运动矢量预测。这里,第一值和第二值可被相反地设置。也就是说,第一值和第二值可分别被设置为1和0。
运动矢量修正模式信息被插入到比特流中以便被用信号发送。
此外,可根据编码参数自适应地确定运动矢量修正方法。
例如,当前块的初始运动矢量具有单向运动矢量,邻近模板被用于校正该初始运动矢量。当当前块的初始运动矢量是双向矢量时,通过使用利用该运动矢量而获得的预测块信号来执行运动矢量修正。
在另一示例中,仅L0运动矢量或L1运动矢量在当前块中可用,通过使用邻近模板来执行运动矢量修正。另一方面,当L0运动矢量和L1运动矢量两者在当前块中可用时,通过使用所述运动矢量生成的预测块的加权和(预测块)被用作模板,并且通过使用该模板来执行针对每个预测方向的运动矢量修正。
在另一示例中,仅L0运动矢量或L1运动矢量在当前块中可用,利用邻近模板执行运动矢量修正。当L0运动矢量和L1运动矢量两者在当前块中可用时,通过使用通过分别利用各个预测方向的运动矢量生成的预测块之间的差来执行针对每个预测方向的运动矢量修正。
当推导针对当前块的运动矢量时,初始运动矢量本身可被用作当前块的运动矢量,而无需对初始运动矢量执行运动矢量修正。
接下来,将详细描述针对每个子块推导修正后的运动矢量的方法。这里,术语“子块”与上述块具有相同的含义。
图39和图40是示出通过划分当前块而生成的子块的示图,并且图41是示出设置将被用于每个子块的运动矢量修正的初始运动矢量的方法的示图。
可将当前块划分成一个或更多个子块。
例如,当前块可被划分为水平方向上的N个子块和垂直方向上的M个子块。也就是说,当前块可被划分成M×N个子块,其中,M和N皆是等于或大于1的整数值,并且M和N是相同的整数或不同的整数。
可选地,当前块可被划分为W×H个子块,其中,在水平方向上存在W个像素并且在垂直方向上存在H个像素。这里,W和H皆是等于或大于2的整数,并且W和H是相同的整数或不同的整数。
依据当前块的尺寸来确定子块的尺寸。例如,当当前块的尺寸是K个样点或更小时,使用4×4尺寸的子块。当当前块的尺寸大于N个样点时,使用8×8尺寸的子块。这里,K为正整数,例如,256。
子块的尺寸可以是在编码器和解码器中预定义的尺寸。根据子块尺寸信息确定子块的尺寸。子块尺寸信息被插入到比特流中,以便被用信号发送。
当确定子块的尺寸时,考虑子块尺寸信息和当前块尺寸信息两者。
例如,当子块尺寸信息指示子块的深度时,使用当前块的宽度/长度和子块的深度,根据方程式13确定子块的尺寸。
[方程式13]
子块尺寸=(当前块的垂直长度和水平长度的平均长度>>子块深度信息)
例如,如图39中所示,当前块的水平长度和垂直长度的平均值是64,并且子块深度信息具有值3,子块的尺寸被设置为8。
子块具有正方形形状或长方形形状。
例如,如图40中所示,当当前块具有正方形形状时,子块可具有长方形形状。当当前块具有长方形形状时,子块可具有正方形形状。
此外,编码器或解码器根据下面描述的至少一种方法设置将被用于基于子块的运动矢量修正的初始运动矢量。
(1)将针对当前块确定的初始运动矢量或其修正后的运动矢量设置为子块的初始运动矢量。也就是说,编码器或解码器将当前块的推导出的初始运动矢量设置为当前块内的每个子块的初始运动矢量。例如,当当前块的初始运动矢量是mv0,并且当前块被划分为子块s1至s4时,编码器或解码器将当前块的初始运动矢量mv0确定为子块s1至s4中的每个子块的初始运动矢量。
(2)将零运动矢量(0,0)设置为针对每个子块的初始运动矢量。
(3)将从具有子块的时间邻近块的同位置画面中的重建块推导出的运动矢量设置为针对每个子块的初始运动矢量。
(4)将通过基于子块的合并推导出的运动矢量设置为针对每个子块的初始运动矢量的初始值。
(5)将与当前子块相邻的子块的运动矢量设置为针对当前子块的初始运动矢量。例如,如图41中所示,与当前子块s相邻的左侧子块b、左下方子块a、左上方子块d或右上方子块f的运动矢量被用作当前子块的初始运动矢量。
在通过方法(1)至方法(5)中的任意一种设置的基于子块的初始运动矢量中,只有与基于每个块确定的运动信息具有相同的参考画面索引信息的初始运动矢量可被用作针对子块的初始运动矢量。
当它与基于每个块确定的运动信息的参考画面索引信息不相同时,通过基于时间距离进行缩放而获得的值被用作针对当前子块的初始运动矢量。
当获得将被用于基于子块的运动矢量修正的初始运动矢量时,将子块的参考画面索引信息设置为预定值。例如,将所有子块的参考画面索引信息设置为零。
因此,当基于每个块推导出的运动信息或从邻近块推导出的运动信息的参考画面索引信息不具有值0时,通过基于时间距离进行缩放而获得的值被用作子块的初始运动矢量。
编码器或解码器通过使用推导出的初始运动矢量基于每个子块执行运动矢量修正。
编码器或解码器通过使用关于空间邻近块和/或时间邻近块的信息以及基于模板的运动矢量修正方法和基于预测块的运动矢量预测方法中的一种方法来对子块的初始运动矢量进行校正。
有可能在上述运动矢量修正中使用的基于合并模式的运动矢量修正利用信息(标志)、模板尺寸信息、搜索区域信息、权重信息、运动修正执行频率信息、运动矢量修正模式信息和子块尺寸信息可被包括在运动补偿信息中。
当当前块使用AMVP模式而非合并模式,并且存在至少一个运动矢量估计候选时,编码器或解码器通过使用生成的运动矢量估计候选列表来推导修正后的运动矢量。
例如,将重建的邻近块的运动矢量、同位置块的运动矢量和与同位置块相邻的块的运动矢量中的至少一个确定为将被包括在运动矢量估计候选列表中的运动矢量估计候选,编码器或解码器将所生成的运动矢量估计候选用作初始运动矢量,并且可通过运动矢量修正方法从所确定的初始运动矢量推导修正后的运动矢量。
当存在N个运动矢量候选时,编码器或解码器将在参考画面中的模板与编码/解码目标块的邻近模板之间产生最小差的运动矢量候选用作修正后的运动矢量。
当存在N个运动矢量估计候选时,编码器或解码器将针对将参考画面中的模板与编码/解码目标块的邻近模板进行匹配而产生最小匹配代价的运动矢量估计候选用作将被用于获得修正后的运动矢量的初始运动矢量。
当存在N个运动矢量估计候选时,编码器或解码器将N个运动矢量估计候选中的每一个设置为初始运动矢量,通过使用基于模板的运动矢量修正方法来推导与各个初始运动矢量对应的修正后的运动矢量,并且将具有最小匹配代价的运动矢量估计候选的修正后的运动矢量设置为最终的修正后的运动矢量。
当存在N个运动矢量估计候选时,编码器或解码器仅将第n运动矢量估计候选设置为初始运动矢量,并且通过对第n运动矢量估计候选(即,初始运动矢量)执行基于模板的运动矢量修正方法来推导修正后的运动矢量。在这种情况下,n是大于0且不大于N的整数。
例如,当存在两个运动矢量估计候选时,编码器或解码器仅将第一运动矢量估计候选设置为初始运动矢量,并且通过对该初始运动矢量执行基于模板的运动矢量修正方法来推导修正后的运动矢量。
当使用修正后的运动矢量候选时,当修正后的运动矢量候选具有与运动矢量候选列表中的第一运动矢量候选不同的运动矢量值时,编码器或解码器将所确定的修正后的运动矢量候选用作运动矢量候选列表中的第一候选。在这种情况下,列表中的所有的现有运动矢量候选被位置移位,或者列表中的第N个现有候选被删除。
当仅存在重建的邻近块的运动矢量、同位置块的运动矢量以及从与同位置块相邻的块的运动矢量确定的运动矢量估计候选中的一个时,编码器或解码器将运动矢量估计候选设置为初始运动矢量,并对初始运动矢量执行基于模板的运动矢量修正方法以推导修正后的运动矢量。
当使用最终确定的修正后的运动矢量候选时,当它具有与运动矢量候选列表中的第一运动矢量估计候选的运动矢量值不同的修正后的运动矢量值时,编码器或解码器将修正后的运动矢量候选用作运动矢量候选列表中的第二候选。当构建候选列表和运动矢量估计候选列表时,当通过运动修正方法对空间/时间候选块进行编码/解码时,候选不被插入到列表中。
当构建合并候选列表和运动矢量预测候选列表时,当通过使用基于预测块的运动矢量修正方法对空间/时间候选块进行编码/解码时,编码器或解码器将未被修正的原始初始运动矢量而不是修正后的运动矢量插入到对应的候选列表中。
当构建合并候选列表和运动矢量估计候选列表时,当通过使用基于预测块的运动矢量修正方法对空间/时间候选块进行编码/解码并且空间/时间候选块的水平尺寸和垂直尺寸与当前编码/解码目标块的水平尺寸和垂直尺寸相等时,编码器或解码器将未被修正的原始初始运动矢量而不是修正后的运动矢量插入到对应列表中。
当构建合并候选列表和运动矢量预测候选列表时,当通过使用基于预测块的运动矢量修正方法对空间候选块进行编码/解码并且空间候选块被包括在与当前编码/解码目标块相同的区域中时,编码器或解码器将未被修正的原始初始运动矢量而不是修正后的运动矢量插入到对应列表中。
通过检查除以预定尺寸值(grid_size)的当前目标块的左上像素位置的x分量和y分量的值(Cx/grid_size,Cy/grid_size)是否分别等于除以预定尺寸值(grid_size)的邻近块的左上像素位置的x分量和y分量的值(Nx/grid_size,Ny/grid_size)来确定当前编码/解码目标块和邻近块是否被包括在相同的区域中。也就是说,这根据是否满足Cx/grid_size=Nx/grid_size以及Cy/grid_size=Ny/grid_size的条件来确定。当前者的值分别等于后者的值时,编码器或解码器确定编码/解码目标块和邻近块存在于相同的区域内。
在这种情况下,预定尺寸值是大于0的整数值。预定尺寸值是在编码器和解码器中预设的值、基于每个CTU、CT、PU或块被熵编码/熵解码的值、或者以更高等级(诸如视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头或条带头)被熵编码/熵解码的值。
当基于每个子块构建高级时间运动矢量预测信息时,从当前块的空间合并候选的运动矢量推导当前同位置画面中的与当前块对应的块的位置。当前画面的同位置画面是用于推导时间合并候选的相同画面,并且以更高等级(诸如视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头或条带头)被熵编码/熵解码。
例如,如图7中所示,按照空间合并候选A1、B1、B0、A0和B2的位置的顺序搜索指示与同位置画面相同的画面的块,并且从该块的运动矢量推导与当前块对应的块的位置。例如,参照图7中所示的示例,当由块A1指示的参考画面与同位置画面相同时,同位置画面内的由块A1的运动矢量指示的块被推导为用于构建当前块的基于子块的时间运动矢量的对应块。
当推导对应块在同位置画面中的位置时,当当前块的空间合并候选块的运动矢量是修正后的运动矢量时,编码器或解码器通过使用未被修正的初始运动矢量来推导对应块在同位置画面中的位置。此外,当推导对应块在同位置画面中的位置时,当当前块和空间合并候选块位于相同的CTU中并且空间合并候选的运动矢量是修正后的运动矢量时,编码器或解码器通过使用未被修正的初始运动矢量来推导对应块在同位置画面中的位置。
当推导对应块在同位置画面中的位置时,当当前块和空间合并候选块位于不同的CTU中并且空间合并候选的运动矢量是修正后的运动矢量时,编码器或解码器通过使用修正后的运动矢量来推导对应块在同位置画面中的位置。
当推导对应块在同位置画面中的位置时,当当前块和空间合并候选块位于不同的CTU中并且空间合并候选块位于当前块所属的CTU的左边界处且具有修正后的运动矢量时,编码器或解码器通过使用未被修正的初始运动矢量来推导对应块在同位置画面中的位置。
当推导对应块在同位置画面中的位置时,当当前块和空间合并候选块位于不同的CTU中并且空间合并候选块位于当前块所属的CTU的上边界处且具有修正后的运动矢量时,编码器或解码器通过使用修正后的运动矢量来推导对应块在同位置画面中的位置。
编码器或解码器将在编码/解码处理期间使用的关于当前块的信息或在当前块被编码/解码之后生成的关于当前块的信息插入到候选列表中。块信息是指至少一个编码参数,诸如帧内预测模式、运动矢量等。
与基于每个块构建的常规候选列表不同,本发明中的候选列表在针对每个画面、条带、并行块、CTU、CTU行或CTU列执行的编码/解码处理期间被保持,并且可在编码/解码处理期间在诸如画面、条带、并行块、CTU、CTU行或CTU列的特定单元中被使用,并且基于每个画面、条带、并行块、CTU、CTU行或CTU列被使用。也就是说,包括在特定单元(例如,画面、条带、并行块、并行块组、CTU、CTU行或CTU列)中的块共享同一候选列表。
候选列表包括关于基于每个画面、条带、并行块组、CTU、CTU行或CTU列在当前块之前被编码/解码的块的至少一条信息。候选列表包括关于先前编码/解码的画面、条带、并行块、并行块组、CTU、CTU行或CTU列的至少一条块信息。当当前块的运动信息被插入到候选列表中时,不插入通过运动信息修正方法生成的修正后的运动矢量,而插入初始运动矢量。
将关于当前块的信息插入到候选列表中表示将由运动信息修正方法生成的修正后的运动矢量和初始运动矢量两者插入到候选列表中。
此外,不将重叠块运动补偿(OMBC)、基于双向光流(BIO)的运动修正方法、一般双预测、权重预测等应用于通过使用运动修正方法被编码/解码的块。
此外,从合并索引信息或与合并索引信息对应的候选块推导关于通过使用运动修正方法被编码/解码的块的局部照度补偿信息。
图42是示出根据本发明的实施例的图像解码方法的流程图。
参照图42,根据本发明的实施例的图像解码方法包括推导初始运动矢量的步骤(S4210)、通过使用初始运动矢量推导修正后的运动矢量的步骤(S4220)和/或通过使用修正后的运动矢量生成预测块的步骤(S4230)。
解码器从当前块的合并候选列表推导初始运动矢量(S4210)。
在步骤S4210,解码器从合并候选列表中的合并候选中所包括的由合并索引信息指示的合并候选推导初始运动矢量。
另一方面,当当前块是双向预测块并且由合并索引信息指示的合并候选具有仅针对一个预测方向的运动信息时,对现有运动信息的运动矢量进行镜像或缩放以推导与其它预测方向对应的初始运动矢量(不存在的运动信息)。关于这一点,由于上面已经参照图14给出了详细描述,因此将避免多余的描述。
解码器通过使用初始运动矢量来推导修正后的运动矢量(S4220)。
具体地,在推导修正后的运动矢量的步骤(S4220)中,通过基于合并模式的运动矢量修正方法、基于预测块的运动矢量修正方法或者基于合并模式的运动矢量修正方法和基于预测块的运动矢量修正方法两者来对初始运动矢量进行修正。
在推导修正后的运动矢量的步骤(S4220)中,从由初始运动矢量指示的至少一个预测块推导修正后的运动矢量。
这里,当当前块是双向预测块时,解码器将由第一预测方向初始运动矢量指示的第一预测块和由第二预测方向初始运动矢量指示的第二预测块的加权和设置为模板,在由第一预测方向初始运动矢量和第二预测方向初始运动矢量中的至少一个指示的至少一个参考画面中设置搜索区域,并且将指示搜索区域中的与所述模板呈现最小差的第三预测块的运动矢量推导为修正后的运动矢量。
这里,当由第一预测方向初始运动矢量指示的第一搜索区域和由第二预测方向初始运动矢量指示的第二搜索区域被设置时,解码器通过使用指示第一搜索区域和第二搜索区域中与所述模板呈现最小差的各个预测块的运动矢量来推导修正后的运动矢量。
另一方面,当第一预测方向初始运动矢量或第二预测方向初始运动矢量不存在时,解码器通过对现有初始运动矢量进行镜像或缩放来推导不存在的初始运动矢量。
接下来,解码器通过使用修正后的运动矢量来生成当前块的预测块(S4230)。
在上述图像解码方法中,当前块可以是将被解码的当前块的子块。在这种情况下,解码器以子块为单位校正运动矢量。
可在编码器和解码器中以相同的方法执行以上实施例。
应用于以上实施例的顺序在编码器与解码器之间可不同,或者应用于以上实施例的顺序在编码器和解码器中可相同。
可对每个亮度信号和色度信号执行以上实施例,或者可对亮度信号和色度信号相同地执行以上实施例。
应用本发明的以上实施例的块形式可具有正方形形式或非正方形形式。
可依据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的以上实施例。这里,尺寸可被定义为最小尺寸或最大尺寸或者最小尺寸和最大尺寸两者,以便应用以上实施例,或者可被定义为应用以上实施例的固定尺寸。此外,在以上实施例中,可将第一实施例应用于第一尺寸,并且可将第二实施例应用于第二尺寸。换句话说,以上实施例可依据尺寸被组合应用。此外,当尺寸等于或大于最小尺寸并且等于或小于最大尺寸时,可应用以上实施例。换句话说,当块尺寸被包括在特定范围内时,可应用以上实施例。
例如,当当前块的尺寸是8×8或更大时,可应用以上实施例。例如,当当前块的尺寸是4×4或更大时,可应用以上实施例。例如,当当前块的尺寸是16×16或更大时,可应用以上实施例。例如,当当前块的尺寸等于或大于16×16并且等于或小于64×64时,可应用以上实施例。
可依据时间层来应用本发明的以上实施例。为了标识可应用以上实施例的时间层,可用信号发送附加标识符,并且可将以上实施例应用于由对应标识符标识的指定时间层。这里,标识符可被定义为可应用以上实施例的最低层或最高层或者最低层和最高层两者,或者可被定义为指示应用所述实施例的特定层。此外,可定义应用所述实施例的固定时间层。
例如,当当前图像的时间层是最低层时,可应用以上实施例。例如,当当前图像的时间层标识符是1时,可应用以上实施例。例如,当当前图像的时间层是最高层时,可应用以上实施例。
可定义应用本发明的以上实施例的条带类型,并且可依据对应的条带类型来应用以上实施例。
当运动矢量具有16-pel单位、8-pel单位、4-pel单位、整数-pel单位、1/8-pel单位、1/16-pel单位、1/32-pel单位和1/64-pel单位中的至少一个时,也可应用本发明的以上实施例。运动矢量可被选择性地用于每个像素单位。
在上述实施例中,基于具有一系列步骤或单元的流程图描述了方法,但是本发明不限于这些步骤的顺序,而是一些步骤可与其他步骤同时执行或以不同的顺序执行。此外,本领域的普通技术人员应该理解,流程图中的步骤并不互相排斥,并且在不影响本发明的范围的情况下,可将其他步骤添加到流程图或者可将步骤中的一些步骤从流程图删除。
实施例包括示例的各个方面。可不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括权利要求范围内的所有替换、修改和改变。
本发明的实施例可以以程序指令的形式实现,其中,该程序指令可由各种计算机组件执行并且被记录在计算机可读记录介质中。计算机可读记录介质可单独地包括程序指令、数据文件、数据结构等,或者可包括程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明专门设计和构建的,或者对于计算机软件技术领域的普通技术人员是公知的。计算机可读记录介质的示例包括磁记录介质(诸如,硬盘、软盘和磁带)、光学数据存储介质(诸如,CD-ROM或DVD-ROM)、磁光介质(诸如软光盘)以及被专门构造为存储和实现程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例不仅包括由编译器格式化的机械语言代码,而且包括可由计算机使用解释器来实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作或者反之亦可,以实施根据本发明的处理。
尽管已经在特定项目(诸如,详细元件)以及有限的实施例和附图方面描述了本发明,但是它们仅被提供以帮助更全面地理解本发明,并且本发明不限于以上实施例。本发明所属领域的技术人员将理解,可对以上描述进行各种修改和改变。
因此,本发明的精神不应限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。
工业实用性
本发明可在对图像进行编码/解码时使用。

Claims (21)

1.一种图像解码方法,包括:
推导当前块的初始运动矢量;
通过使用所述初始运动矢量来推导修正后的运动矢量;并且
通过使用所述修正后的运动矢量来生成当前块的预测块。
2.根据权利要求1所述的方法,其中,所述初始运动矢量包括初始L0运动矢量和初始L1运动矢量,所述修正后的运动矢量包括修正后的L0运动矢量和修正后的L1运动矢量,并且所述修正后的运动矢量是通过使用基于合并模式的运动矢量修正方法或基于预测块的运动矢量修正方法推导出的。
3.根据权利要求2所述的方法,其中,当通过基于合并模式的运动矢量修正方法推导所述修正后的运动矢量时,所述图像解码方法还包括:对指示将在基于合并模式的运动矢量修正方法中使用的初始运动矢量的信息进行熵解码。
4.根据权利要求3所述的方法,还包括:对所述修正后的运动矢量的大小信息和方向信息进行熵解码。
5.根据权利要求3所述的方法,还包括:对所述修正后的运动矢量的大小单位信息进行熵解码,其中,所述修正后的运动矢量的大小单位是指整数像素或子像素。
6.根据权利要求3所述的方法,其中,通过将L0初始运动矢量与已经在预定搜索区域内移动的L0运动矢量之间的差与L0初始运动矢量相加来推导所述修正后的L0运动矢量。
7.根据权利要求3所述的方法,其中,通过将L1初始运动矢量与在预定搜索区域内移动的L1运动矢量之间的差与L1初始运动矢量相加来推导所述修正后的L1运动矢量。
8.根据权利要求3所述的方法,其中,当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差以及L1参考画面与包括当前块的解码目标画面之间的POC差值都是负值时,通过将L1初始运动矢量与已经在预定搜索区域内移动的L1运动矢量之间的差与L0初始运动矢量相加来推导所述修正后的L0运动矢量。
9.根据权利要求3所述的方法,其中,当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差或者L1参考画面与包括当前块的解码目标画面之间的POC差中仅有一个具有负值时,通过对L1初始运动矢量与已经在预定搜索区域内移动的L1运动矢量之间的差进行镜像并将经过镜像的差与L0初始运动矢量相加来推导所述修正后的L0运动矢量。
10.根据权利要求3所述的方法,其中,当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差和L1参考画面与包括当前块的解码目标画面之间的POC差彼此不同时,通过对L1初始运动矢量与已经在预定搜索区域内移动的L1运动矢量之间的差进行缩放并将经过缩放的差与初始L0运动矢量相加来推导所述修正后的L0运动矢量。
11.根据权利要求3所述的方法,其中,当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差和L1参考画面与包括当前块的解码目标画面之间的POC差彼此不同时,通过对L0初始运动矢量与已经在预定搜索区域内移动的L0运动矢量之间的差进行缩放并将经过缩放的差与初始L1运动矢量相加来推导所述修正后的L1运动矢量。
12.根据权利要求2所述的方法,其中,当通过基于预测块的运动矢量修正方法推导所述修正后的运动矢量时,所述图像解码方法还包括:对指示基于预测块的运动矢量修正方法是否可用的信息进行熵解码。
13.根据权利要求12所述的方法,其中,仅当当前块具有双向预测合并模式时执行基于预测块的运动矢量修正方法。
14.根据权利要求12所述的方法,其中,仅当当前块的L0参考画面与包括当前块的解码目标画面之间的POC差等于当前块的L1参考画面与包括当前块的解码目标画面之间的POC差时,执行基于预测块的运动矢量修正方法。
15.根据权利要求12所述的方法,其中,仅当当前块的垂直尺寸是8或更大并且当前块的面积是64或更大时,执行基于预测块的运动矢量修正方法。
16.根据权利要求12所述的方法,其中,所述预测块位于落在距由所述初始运动矢量指示的像素位置预定距离内的预定搜索区域内,并且所述预定搜索区域是基于每个整数像素设置的且在水平方向和垂直方向两者上相对于由所述初始运动矢量指示的像素位置在从-2个像素位置至2个像素位置的范围内。
17.根据权利要求12所述的方法,其中,当当前块的垂直尺寸或水平尺寸大于16时,将当前块划分为16×16个子块,并且通过基于每个子块使用预测块来执行基于预测块的运动矢量修正方法。
18.根据权利要求12所述的方法,其中,所述修正后的L0运动矢量是从通过使用已经在以存在于L0参考画面内且由L0初始运动矢量指示的像素位置为中心的预定搜索区域内移动的运动矢量而生成的预测块与通过使用已经在以存在于L1参考画面内且由L1初始运动矢量指示的像素位置为中心的预定搜索区域内移动的运动矢量而生成的预测块之间的失真值推导出的。
19.根据权利要求18所述的方法,其中,所述失真值是通过从绝对差和(SAD)、绝对变换差和(SATD)、误差平方和(SSE)和均方误差(MSE)中选择的一个或更多个运算来计算的。
20.一种图像编码方法,包括:
推导当前块的初始运动矢量;
通过使用所述初始运动矢量来推导修正后的运动矢量;并且
使用所述修正后的运动矢量对当前块的运动补偿信息进行熵编码。
21.一种包括通过图像编码方法生成的比特流的非暂时性存储介质,其中,所述图像编码方法包括:推导当前块的初始运动矢量;通过使用所述初始运动矢量来推导修正后的运动矢量;并且使用所述修正后的运动矢量对当前块的运动补偿信息进行熵编码。
CN201980024117.4A 2018-03-30 2019-03-28 图像编码/解码方法和设备以及存储比特流的记录介质 Pending CN111971966A (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
KR10-2018-0037265 2018-03-30
KR20180037265 2018-03-30
KR10-2018-0043725 2018-04-16
KR20180043725 2018-04-16
KR10-2018-0075704 2018-06-29
KR20180075704 2018-06-29
KR20180082688 2018-07-17
KR10-2018-0082688 2018-07-17
KR10-2018-0112714 2018-09-20
KR20180112714 2018-09-20
KR10-2019-0026774 2019-03-08
KR20190026774 2019-03-08
PCT/KR2019/003642 WO2019190224A1 (ko) 2018-03-30 2019-03-28 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Publications (1)

Publication Number Publication Date
CN111971966A true CN111971966A (zh) 2020-11-20

Family

ID=68058466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980024117.4A Pending CN111971966A (zh) 2018-03-30 2019-03-28 图像编码/解码方法和设备以及存储比特流的记录介质

Country Status (4)

Country Link
US (3) US11575925B2 (zh)
KR (1) KR102643116B1 (zh)
CN (1) CN111971966A (zh)
WO (1) WO2019190224A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022253318A1 (en) * 2021-06-04 2022-12-08 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
WO2024019764A1 (en) * 2022-07-18 2024-01-25 Tencent America LLC Method for diversified merge candidate reordering

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10715819B2 (en) * 2017-04-26 2020-07-14 Canon Kabushiki Kaisha Method and apparatus for reducing flicker
KR20190046704A (ko) * 2017-10-26 2019-05-07 한국전자통신연구원 비대칭 서브 블록 기반 영상 부호화/복호화 방법 및 장치
KR20240055149A (ko) * 2018-05-10 2024-04-26 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN115550664B (zh) * 2018-06-04 2023-08-22 华为技术有限公司 获取运动矢量的方法和装置
JP7096373B2 (ja) * 2018-06-07 2022-07-05 北京字節跳動網絡技術有限公司 部分的コスト計算
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
JP6976916B2 (ja) * 2018-09-21 2021-12-08 Kddi株式会社 画像復号装置、画像符号化装置、画像処理システム及びプログラム
AU2019376595A1 (en) * 2018-11-08 2021-05-20 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for encoding/decoding image signal, and device for same
US11290743B2 (en) * 2018-12-08 2022-03-29 Qualcomm Incorporated Interaction of illumination compensation with inter-prediction
JP7005480B2 (ja) * 2018-12-27 2022-01-21 Kddi株式会社 画像復号装置、画像符号化装置、プログラム及び画像処理システム
CN111526362B (zh) * 2019-02-01 2023-12-29 华为技术有限公司 帧间预测方法和装置
WO2020185468A1 (en) * 2019-03-11 2020-09-17 Interdigital Vc Holdings, Inc. Reducing the number of regular coded bins
JP6835337B2 (ja) * 2019-06-20 2021-02-24 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
GB2585018A (en) * 2019-06-24 2020-12-30 Canon Kk Residual signalling
US11272203B2 (en) * 2019-07-23 2022-03-08 Tencent America LLC Method and apparatus for video coding
US11425414B2 (en) * 2019-08-05 2022-08-23 Tencent America LLC Method and apparatus for video coding
MX2022000834A (es) * 2019-08-08 2022-02-10 Fg innovation co ltd Dispositivo y metodo para la codificacion de datos de video.
JP2023011955A (ja) * 2019-12-03 2023-01-25 シャープ株式会社 動画像符号化装置、動画像復号装置
CN111050182B (zh) * 2019-12-27 2022-02-18 浙江大华技术股份有限公司 运动矢量的预测方法、视频编码方法及相关设备、装置
CN116132669A (zh) * 2020-04-02 2023-05-16 日本放送协会 去块滤波控制装置及程序
US20220248047A1 (en) * 2021-01-29 2022-08-04 Qualcomm Incorporated Model-based motion vector difference derivation and template matching prediction for video coding
WO2022173913A1 (en) * 2021-02-11 2022-08-18 Dolby Laboratories Licensing Corporation Intra-prediction for hexagonally-sampled video and image compression
JP2024513657A (ja) * 2021-03-30 2024-03-27 インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ ビデオエンコード及びデコードのためのテンプレートマッチング予測
WO2023200382A1 (en) * 2022-04-12 2023-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced multi-hypothesis prediction
CN115062174A (zh) * 2022-06-16 2022-09-16 电子科技大学 基于语义原型树的端到端图像字幕生成方法
KR20230175110A (ko) * 2022-06-22 2023-12-29 현대자동차주식회사 메타 정보를 이용하는 비디오 코딩방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102668562A (zh) * 2009-10-20 2012-09-12 汤姆森特许公司 运动矢量预测和细化
KR20140095607A (ko) * 2013-01-23 2014-08-04 한국전자통신연구원 인터 예측 방법 및 그 장치
US20170085906A1 (en) * 2014-04-01 2017-03-23 Mediatek Inc. Method of Motion Information Coding
CN107431820A (zh) * 2015-03-27 2017-12-01 高通股份有限公司 视频译码中运动向量推导

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711211B1 (en) 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US20110176611A1 (en) * 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
KR20120140592A (ko) 2011-06-21 2012-12-31 한국전자통신연구원 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치
US20130114717A1 (en) 2011-11-07 2013-05-09 Qualcomm Incorporated Generating additional merge candidates
EP2806635A4 (en) 2012-01-18 2015-12-02 Korea Electronics Telecomm METHOD AND DEVICE FOR ENCODING AND DECODING AN IMAGE
EP3202143B8 (en) * 2014-11-18 2019-09-25 MediaTek Inc. Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
JP2017011458A (ja) * 2015-06-19 2017-01-12 富士通株式会社 符号化データ生成プログラム、符号化データ生成方法および符号化データ生成装置
EP3340620A4 (en) * 2015-08-23 2019-04-17 LG Electronics Inc. IMAGE PROCESSING METHOD BASED ON INTER-PREDICTION MODE AND APPARATUS THEREOF
KR20180048736A (ko) * 2015-09-24 2018-05-10 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
KR20170059718A (ko) 2015-11-23 2017-05-31 삼성전자주식회사 디코딩 장치 및 그 방법
KR20170121383A (ko) 2016-04-22 2017-11-02 인텔렉추얼디스커버리 주식회사 움직임 백터 보정을 통한 비디오 복호화 방법 및 장치
KR20170116879A (ko) 2016-04-12 2017-10-20 인하대학교 산학협력단 패턴 정합 기반 움직임 벡터 생성 기법을 이용한 동영상 부호화 및 복호화 방법 및 장치
EP3264769A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
ES2699748B2 (es) 2016-07-05 2021-05-13 Kt Corp Metodo y aparato para procesar senal de video
CN110100440B (zh) * 2016-12-22 2023-04-25 株式会社Kt 一种用于对视频进行解码、编码的方法
EP3560202A4 (en) * 2016-12-27 2020-07-29 MediaTek Inc. METHOD AND DEVICE FOR BILATERAL TEMPLATE MV REFINING FOR VIDEO CODING
EP3343925A1 (en) * 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
US12063387B2 (en) * 2017-01-05 2024-08-13 Hfi Innovation Inc. Decoder-side motion vector restoration for video coding
CN116170585A (zh) * 2017-01-16 2023-05-26 世宗大学校产学协力团 影像编码/解码方法
WO2019009498A1 (ko) * 2017-07-03 2019-01-10 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102668562A (zh) * 2009-10-20 2012-09-12 汤姆森特许公司 运动矢量预测和细化
KR20140095607A (ko) * 2013-01-23 2014-08-04 한국전자통신연구원 인터 예측 방법 및 그 장치
US20170085906A1 (en) * 2014-04-01 2017-03-23 Mediatek Inc. Method of Motion Information Coding
CN107431820A (zh) * 2015-03-27 2017-12-01 高通股份有限公司 视频译码中运动向量推导

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022253318A1 (en) * 2021-06-04 2022-12-08 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
WO2024019764A1 (en) * 2022-07-18 2024-01-25 Tencent America LLC Method for diversified merge candidate reordering

Also Published As

Publication number Publication date
KR102643116B1 (ko) 2024-03-04
US20230138960A1 (en) 2023-05-04
US11997304B2 (en) 2024-05-28
WO2019190224A1 (ko) 2019-10-03
US11575925B2 (en) 2023-02-07
US20240283964A1 (en) 2024-08-22
KR20190114853A (ko) 2019-10-10
US20210195227A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
US11997304B2 (en) Image encoding/decoding method and device, and recording medium in which bitstream is stored
CN109997363B (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
US20220232228A1 (en) Method and apparatus for encoding/decoding a video using a motion compensation
CN112740685B (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
CN109804626B (zh) 用于对图像进行编码和解码的方法和设备以及用于存储比特流的记录介质
CN110771169A (zh) 视频编码/解码方法和装置以及存储比特流的记录介质
CN112740697B (zh) 图像编码/解码方法和装置及存储比特流的记录介质
CN111279695A (zh) 用于基于非对称子块的图像编码/解码的方法及装置
CN111919447A (zh) 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
CN112369021A (zh) 用于吞吐量增强的图像编码/解码方法和设备以及存储比特流的记录介质
CN110024402B (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
US20230308644A1 (en) Method and apparatus for encoding/decoding image, and recording medium for storing bitstream
CN113924779A (zh) 视频编码/解码方法和装置以及比特流存储介质
CN114342372A (zh) 帧内预测模式、以及熵编解码方法和装置
CN114731409A (zh) 图像编码/解码方法和装置、以及存储比特流的记录介质
CN113196758A (zh) 图像编码/解码方法和设备以及存储比特流的记录介质
CN113906740A (zh) 帧间预测信息编码/解码方法和装置
CN113228645A (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
CN113875237A (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

Effective date of registration: 20240528

Address after: Seoul City, Korea

Applicant after: INTELLECTUAL DISCOVERY Co.,Ltd.

Country or region after: Republic of Korea

Address before: Daejeon, Korea

Applicant before: ELECTRONICS AND TELECOMMUNICATIONS Research Institute OF KOREA

Country or region before: Republic of Korea