CN117528108A - 图像编码方法、图像解码方法及用于传送比特流的方法 - Google Patents

图像编码方法、图像解码方法及用于传送比特流的方法 Download PDF

Info

Publication number
CN117528108A
CN117528108A CN202311524467.1A CN202311524467A CN117528108A CN 117528108 A CN117528108 A CN 117528108A CN 202311524467 A CN202311524467 A CN 202311524467A CN 117528108 A CN117528108 A CN 117528108A
Authority
CN
China
Prior art keywords
motion vector
block
prediction
information
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311524467.1A
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
Intellectual Discovery Co Ltd
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 Intellectual Discovery Co Ltd filed Critical Intellectual Discovery Co Ltd
Publication of CN117528108A publication Critical patent/CN117528108A/zh
Pending legal-status Critical Current

Links

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/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/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/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/537Motion estimation other than block-based
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

公开了一种用于解码图像的方法、用于编码图像的方法和用于传送由图像编码器生成的比特流的方法。用于解码图像的方法包括:基于当前块的相邻块,推导合并候选列表;从当前块的合并候选列表推导初始运动矢量;推导校正的运动矢量,其指示在围绕参考画面中的由初始运动矢量指示的像素位置所确定的十字形区域内的像素位置;和通过使用校正的运动矢量生成当前块的预测块,其中,初始运动矢量是从由初始运动矢量索引信息指示的合并候选推导的,在初始运动矢量索引信息没有被解码的情况下,初始运动矢量被设置成合并候选列表中的第一合并候选,相邻块包括空间相邻块和时间相邻块中的至少一个,以及时间相邻块位于与当前画面不同的画面中。

Description

图像编码方法、图像解码方法及用于传送比特流的方法
本申请是2017年11月28日提交的国际申请号为PCT/KR2017/013673,进入中国国家阶段的申请号为201780073403.0,标题为“图像编码/解码方法和装置以及存储有比特流的记录介质”的专利申请的分案申请。
技术领域
本发明涉及用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质。更具体地,本发明涉及用于通过校正运动矢量对图像进行编码/解码的方法和设备。
背景技术
近来,在各种应用领域中对高分辨率且高质量图像(诸如高清(HD)图像或超高清(UHD)图像)的需求已经增加。然而,与传统的图像数据相比,更高分辨率且更高质量的图像数据具有增加的数据量。因此,当通过使用诸如传统有线或无线宽带网络的介质发送图像数据时,或者当在传统存储介质中存储图像数据时,传输成本和存储成本增加。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,需要高效的图像编码/解码技术。
图像压缩技术包括各种技术,包括:从当前画面的先前画面或后续画面预测包括在当前画面中的像素值的帧间预测技术;通过使用当前画面中的像素信息来预测包括在当前画面中的像素值的帧内预测技术;将短码分配给具有高出现频率的值并将长码分配给具有低出现频率的值的熵编码技术等。图像数据可通过使用这样的图像压缩技术被有效地压缩,并且压缩后的图像数据被发送或存储。
发明内容
技术问题
本发明的目的在于提供一种用于对图像进行编码/解码的方法和设备,其中,所述方法和设备校正运动矢量以提高图像的编码/解码效率。
技术方案
根据本发明,提供了一种对图像进行解码的方法,所述方法包括:从当前块的合并候选列表推导初始运动矢量;使用初始运动矢量推导校正的运动矢量;并且使用校正的运动矢量产生当前块的预测块。
在用于对图像进行解码的方法中,在推导初始运动矢量时,可从由合并索引信息指示的合并候选推导初始运动矢量。
在用于对图像进行解码的方法中,在推导初始运动矢量时,当当前块是能够进行双向预测的块并且在由合并索引信息指示的合并候选中存在仅一个预测方向上的运动信息时,可对现有运动信息的运动矢量进行镜像或缩放,以推导在不存在运动信息的预测方向上的初始运动矢量。
在用于对图像进行解码的方法中,在推导校正的运动矢量时,可在由初始运动矢量指示的参考画面的搜索区域中搜索指示使与当前块的邻近模板的差异最小化的模板的运动矢量,并且可将指示使所述差异最小化的模板的运动矢量推导为校正的运动矢量。
在用于对图像进行解码的方法中,所述搜索区域可被确定为以由初始运动矢量指示的参考画面的像素位置为中心的区域,其中,所述区域具有十字形形状、正方形形状、菱形形状和六边形形状中的至少一种形状。
在用于对图像进行解码的方法中,可基于模板之间的失真值和运动矢量的代价值中的至少一个来搜索在由初始运动矢量指示的参考画面的搜索区域中的指示使与当前块的邻近模板的差异最小化的模板的运动矢量。
在用于对图像进行解码的方法中,在推导校正的运动矢量时,可基于由初始运动矢量指示的至少一个预测块来推导校正的运动矢量。
在用于对图像进行解码的方法中,在推导校正的运动矢量时,当当前块是双向预测块时,可将由第一预测方向初始运动矢量指示的第一预测块和由第二预测方向初始运动矢量指示的第二预测块的加权和设置为模板,并且可设置由第一预测方向初始运动矢量和第二预测方向初始运动矢量中的至少一个指示的至少一个参考画面的搜索区域,使得可将所述搜索区域中的指示使与所述模板的差异最小化的第三预测块的运动矢量推导为校正的运动矢量。这里,当由第一预测方向初始运动矢量指示的第一搜索区域和由第二预测方向初始运动矢量指示的第二搜索区域被设置时,可使用第一搜索区域和第二搜索区域中的指示使与所述模板的差异最小化的预测块的运动矢量来推导校正的运动矢量。
在用于对图像进行解码的方法中,当第一预测方向初始运动矢量或第二预测方向初始运动矢量不存在时,可对现有初始运动矢量进行镜像或缩放来推导非现有的初始运动矢量。
在用于对图像进行解码的方法中,当前块可以是解码目标块的子块。
根据本发明,提供了一种用于对图像进行编码的方法,所述方法包括:从当前块的合并候选列表推导初始运动矢量;使用初始运动矢量推导校正的运动矢量;并且使用校正的运动矢量产生当前块的预测块。
在用于对图像进行编码的方法中,在推导初始运动矢量时,可从由合并索引信息指示的合并候选推导初始运动矢量。
在用于对图像进行编码的方法中,在推导初始运动矢量时,当当前块是能够进行双向预测的块并且在由合并索引信息指示的合并候选中存在仅一个预测方向上的运动信息时,可对现有运动信息的运动矢量进行镜像或缩放,以推导在不存在运动信息的预测方向上的初始运动矢量。
在用于对图像进行编码的方法中,在推导校正的运动矢量时,可在由初始运动矢量指示的参考画面的搜索区域中搜索指示使与当前块的邻近模板的差异最小化的模板的运动矢量,并且可将指示使所述差异最小化的模板的运动矢量推导为校正的运动矢量。
在用于对图像进行编码的方法中,所述搜索区域可被确定为以由初始运动矢量指示的参考画面的像素位置为中心的区域,其中,所述区域具有十字形形状、正方形形状、菱形形状和六边形形状中的至少一种形状。
在用于对图像进行编码的方法中,可基于模板之间的失真值和运动矢量的代价值中的至少一个来搜索在由初始运动矢量指示的参考画面的搜索区域中的指示使与当前块的邻近模板的差异最小化的模板的运动矢量。
在用于对图像进行编码的方法中,在推导校正的运动矢量时,可基于由初始运动矢量指示的至少一个预测块来推导校正的运动矢量。
在用于对图像进行编码的方法中,在推导校正的运动矢量时,当当前块是双向预测块时,可将由第一预测方向初始运动矢量指示的第一预测块和由第二预测方向初始运动矢量指示的第二预测块的加权和设置为模板,并且可设置由第一预测方向初始运动矢量或第二预测方向初始运动矢量指示的至少一个参考画面的搜索区域,使得可将所述搜索区域中的指示使与所述模板的差异最小化的第三预测块的运动矢量推导为校正的运动矢量。
在用于对图像进行编码的方法中,当第一预测方向初始运动矢量或第二预测方向初始运动矢量不存在时,可对现有初始运动矢量进行镜像或缩放来推导非现有的初始运动矢量。
在用于对图像进行编码的方法中,当前块可以是编码目标块的子块。
根据本发明,一种记录介质存储通过用于对图像进行解码的方法形成的比特流,所述方法包括:从当前块的合并候选列表推导初始运动矢量;使用初始运动矢量推导校正的运动矢量;并且使用校正的运动矢量产生当前块的预测块。
有益效果
根据本发明,用于对图像进行编码/解码的方法和设备可被设置有更高的压缩效率。
根据本发明,可提高图像的编码和解码效率。
根据本发明,可减小编码器和解码器的针对图像的计算复杂度。
附图说明
图1是示出根据本发明的实施例的编码设备的构造的框图。
图2是示出根据本发明的实施例的解码设备的构造的框图。
图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。
图4是示出帧间预测处理的实施例的示图。
图5是示出根据本发明的实施例的用于对图像进行编码的方法的流程图。
图6是示出根据本发明的实施例的用于对图像进行解码的方法的流程图。
图7是示出推导当前块的空间合并候选和时间合并候选的示例的示图。
图8是示出用于配置附加合并候选列表的空间邻近块和时间邻近块的示图。
图9和图10是示出初始运动矢量列表的配置的示图。
图11是示出使用合并索引信息推导初始运动矢量的方法的示图。
图12是示出运动矢量镜像的示图。
图13是示出运动矢量缩放的示图。
图14是示出当在可执行双向预测的块中仅存在与L0或L1列表相应的一个运动矢量时推导附加运动矢量的示例的示图。
图15是示出选择在可执行双向预测的块中的具有双向运动信息的合并候选作为初始运动矢量的示例的示图。
图16至图21是示出根据本发明的实施例的模板的示图。
图22是示出通过使用模板校正初始运动矢量的示例的示图。
图23至图25是示出通过使用当前块的预测块来校正初始运动矢量的示例的示图。
图26和图27是示出子块的示图。
图28是示出以子块为单位设置用于运动矢量校正的初始运动矢量的示例的示图。
图29是示出根据本发明的实施例的用于对图像进行解码的方法的流程图。
具体实施方式
可对本发明进行各种修改,并且存在本发明的各种实施例,其中,各种实施例的示例现在将参考附图被提供并被详细描述。然而,尽管示例性实施例可被解释为包括本发明的技术构思和技术范围中的所有修改、等同物或替代物,但是本发明不限于此。在各个方面,类似的附图标记指代相同或相似的功能。在附图中,为了清楚,可夸大元件的形状和尺寸。在本发明的以下详细描述中,参考了附图,其中,附图通过图示的方式示出了可以实践本发明的特定实施例。足够详细地描述了这些实施例,以使本领域技术人员能够实现本公开。应该理解的是,本公开的各种实施例虽然不同,但不一定是相互排斥的。例如,在不脱离本公开的精神和范围的情况下,结合一个实施例在此描述的特定特征、结构和特性可在其他实施例中实现。另外,应当理解,在不脱离本公开的精神和范围的情况下,可修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被视为具有限制意义,并且本公开的范围仅由所附权利要求(在合适的解释的情况下,还连同权利要求所要求的等同物的全部范围)来限定。
说明书中使用的术语“第一”、“第二”等可用于描述各种组件,但是组件不应被解释为限于这些术语。这些术语仅用于将一个组件与其他组件区分开。例如,在不脱离本发明的范围的情况下,“第一”组件可被命名为“第二”组件,并且“第二”组件也可被类似地命名为“第一”组件。术语“和/或”包括多个项目的组合或多个项目中的任何一个项目。
将理解,在本说明书中,当元件仅仅被称为“连接到”或“耦接到”另一元件而不是“直接连接到”或“直接耦接到”的另一元件时,它可“直接连接到”或“直接耦接到”另一元件,或者在使元件与另一元件之间介入有其他元件的情况下连接到或耦接到另一元件。相反,应该理解,当一个元件被称为“直接耦接”或“直接连接”到另一个元件时,不存在中间元件。
此外,本发明的实施例中所示的构成部分被独立地示出,以表示彼此不同的特征功能。因此,并不意味着每个构成部分都是以分离的硬件或软件的构成单元而构成的。换言之,为了方便,每个构成部分包括列举的构成部分中的每个。因此,每个构成部分中的至少两个构成部分可以组合以形成一个构成部分,或者一个构成部分可被划分为多个构成部分以执行每个功能。在没有脱离本发明的实质的情况下,组合每个构成部分的实施例和划分一个构成部分的实施例也包括在本发明的范围内。
本说明书中使用的术语仅用于描述特定实施例,并不意图限制本发明。除非在上下文中具有明显不同的含义,否则以单数形式使用的表述包括复数表述。在本说明书中,应理解,诸如“包括”、“具有”等的术语意图表示存在说明书中公开的特征、数字、步骤、动作、元件、部件或其组合,而并不意图排除可能存在或可能添加一个或更多个其他特征、数字、步骤、动作、元素、部件或其组合的可能性。换言之,当特定元素被称为被“包括”时,并没有排除除了相应元素之外的元素,而是可在本发明的实施例或本发明的范围内包括另外的元素。
另外,一些构成部分可能不是执行本发明基本功能的必不可少的构成部分,而是仅改善其性能的选择性构成部分。可通过仅包括用于实现本发明的本质的必不可少的构成部分而不包括用于改善性能的构成部分来实现本发明。仅包括必不可少的构成部分而不包括仅用于提高性能的选择性构成部分的结构也包括在本发明的范围内。
在下文中,将参考附图详细描述本发明的实施例。在描述本发明的示例性实施例时,将不详细描述公知的功能或结构,因为它们可能不必要地模糊对本发明的理解。附图中相同的构成元件由相同的附图标号表示,并且对相同元件的重复描述将被省略。
另外,在下文中,图像可指构成视频的画面,或者可指视频本身。例如,“图像的编码或解码、或者图像的编码和解码两者”可指“视频的编码或解码、或者视频的编码和解码两者”,并且可指“视频的图像中的一个图像的编码或解码、或者所述一个图像的编码和解码两者”。这里,画面和图像可具有相同的含义。
术语的描述
编码器:表示执行编码的装置。
解码器:表示执行解码的装置。
块:是M×N样本阵列。这里,M和N表示正整数,并且块可表示二维形式的样本阵列。块可指单元。当前块可指在执行编码时成为目标的编码目标块,或者在执行解码时成为目标的解码目标块。另外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
样本:是构成块的基本单元。根据比特深度(Bd),样本可被表示为0到2Bd-1范围内的值。在本发明中,样本可用作像素的含义。
单元:指编码和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而产生的区域。另外,当在编码或解码期间将单个图像分区为子划分单元时,单元可表示子划分单元。当对图像进行编码和解码时,可执行针对每个单元的预定处理。单个单元可被分区为具有比该单元的尺寸更小的尺寸的子单元。根据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。另外,为了区分单元和块,单元可包括亮度分量块、与亮度分量块相关联的色度分量块、以及每个颜色分量块的语法元素。单元可具有各种尺寸和形式,特别地,单元的形式可以是二维几何图形,诸如矩形、正方形、梯形、三角形、五边形等。另外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型、单元尺寸、单元深度、单元的编码和解码顺序等中的至少一个。
编码树单元:是用亮度分量Y的单个编码树块和与色度分量Cb和Cr有关的两个编码树块配置的。另外,编码树单元意思是包括块以及每个块的语法元素。可通过使用四叉树分区方法和二叉树分区方法中的至少一个来对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的下级单元。编码树单元可被用作用于指定像素块的术语,其中,该像素块在对作为输入图像的图像进行编码/解码时变为处理单元。
编码树块:可用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任何一个的术语。
邻近块:表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块、或者位于距当前块的预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块、或者与垂直相邻于当前块的邻近块水平相邻的块。
重建的邻近块:表示与当前块相邻并且已经在时间上/空间上被编码或解码的邻近块。这里,重建的邻近块可表示重建的邻近单元。重建的空间邻近块可以是在当前画面内并且已经通过编码或解码或者编码和解码两者被重建的块。重建的时间邻近块是参考画面内与当前画面的当前块位于相同位置的块、或该块的邻近块。
单元深度:表示单元的分区程度。在树结构中,根节点可以是最高节点,并且叶节点可以是最低节点。另外,当单元被表示为树结构时,单元所存在的级别可表示单元深度。
比特流:表示包括编码图像信息的比特流。
参数集:与比特流内的配置之中的头信息相应。参数集中可包括视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个。另外,参数集可包括条带(slice)头和并行块(tile)头信息。
解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。
符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。另外,符号可表示熵编码目标或熵解码结果。
预测单元:表示在执行预测(诸如,帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有小尺寸的多个分区,或者可被分区为更低级的预测单元。
预测单元分区:表示通过对预测单元进行分区而获得的形式。
参考画面列表:表示包括用于画面间预测或运动补偿的一个或更多个参考画面的列表。LC(列表组合)、L0(列表0)、L1(列表1)、L2(列表2),L3(列表3)等是参考画面列表的类型。一个或更多个参考画面列表可用于画面间预测。
画面间预测指示符:可表示当前块的画面间预测方向(单向预测、双向预测等)。可选地,画面间预测指示符可表示用于产生当前块的预测块的参考画面的数量。进一步可选地,画面间预测指示符可表示用于针对当前块执行画面间预测或运动补偿的预测块的数量。
参考画面索引:表示指示参考画面列表中的特定参考画面的索引。
参考画面:可表示特定块所参考的以执行画面间预测或运动补偿的画面。
运动矢量:是用于画面间预测或运动补偿的二维矢量,并且可表示参考画面与编码/解码目标画面之间的偏移。例如,(mvX,mvY)可表示运动矢量,mvX可表示水平分量,mvY可表示垂直分量。
运动矢量候选:可表示当对运动矢量进行预测时变为预测候选的块或该块的运动矢量。运动矢量候选可列在运动矢量候选列表中。
运动矢量候选列表:可表示运动矢量候选的列表。
运动矢量候选索引:表示指示运动矢量候选列表中的运动矢量候选的指示符。它也被称为运动矢量预测因子的索引。
运动信息:可表示包括运动矢量、参考画面索引、画面间预测指示符和以下项中的至少任意一个的信息:参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引。
合并候选列表:表示包括合并候选的列表。
合并候选:表示空间合并候选、时间合并候选、组合合并候选、组合双向预测合并候选、零合并候选等。合并候选可具有画面间预测指示符、用于每个列表的参考画面索引、以及诸如运动矢量的运动信息。
合并索引:表示合并候选列表内的合并候选的信息。合并索引可指示在空间上和/或时间上与当前块相邻的重建块之中的用于推导合并候选的块。合并索引可指示合并候选所拥有的运动信息中的至少一项。
变换单元:表示当对残差信号进行编码或解码时(例如,当执行变换、逆变换、量化、反量化或变换系数编码/解码时)使用的基本单元。一个变换单元可被分区为多个较小的变换单元。
缩放:表示将变换系数等级乘以因子的处理。可通过缩放变换系数等级来产生变换系数。缩放也可称为反量化。
量化参数:可表示在量化期间当产生变换系数的变换系数等级时使用的值。量化参数也可表示在反量化期间当通过缩放变换系数等级来产生变换系数时使用的值。量化参数可以是映射在量化步长上的值。
增量量化参数:表示预测出的量化参数与编码/解码目标单元的量化参数之间的差值。
扫描:表示对块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改变为一维矩阵可被称为扫描,并且将系数的一维矩阵改变为二维矩阵可被称为扫描或逆扫描。
变换系数:可表示在编码器中执行变换之后产生的系数值。它可表示在解码器中执行熵解码和反量化中的至少一个之后产生的系数值。通过对变换系数或残差信号进行量化而获得的量化等级、或量化的变换系数等级也可落入变换系数的含义内。
量化等级:表示通过在编码器中对变换系数或残差信号进行量化而产生的值。可选地,量化等级可表示作为在解码器中将被执行反量化的反量化目标的值。类似地,作为变换和量化的结果的量化的变换系数等级也可落在量化等级的含义内。
非零变换系数:表示具有除零之外的值的变换系数,或者具有除零之外的值的变换系数等级。
量化矩阵:表示在被执行以提高主观或客观图像质量的量化处理或反量化处理中使用的矩阵。量化矩阵也可被称为缩放列表。
量化矩阵系数:表示量化矩阵内的每个元素。量化矩阵系数也可被称为矩阵系数。
默认矩阵:表示在编码器或解码器中预先定义的预定量化矩阵。
非默认矩阵:表示未在编码器或解码器中预先定义而是由用户用信号发送的量化矩阵。
图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中。
运动补偿单元112可通过使用运动矢量执行运动补偿来产生预测块。这里,帧间预测可表示帧间预测或运动补偿。
当运动矢量值不具有整数值时,运动预测单元111和运动补偿单元112可通过将插值滤波器应用于参考图像的部分区域来产生预测块。包括在编码单元中的预测单元基于用于执行预测或运动补偿的编码单元的运动预测和运动补偿方法包括跳过模式(SkipMode)、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式,并且能够根据每个模式执行画面间预测或运动补偿。
减法器125可通过使用输入块与预测块之间的残差来产生残差块。残差块可被称为残差信号。残差信号可表示原始信号与预测信号之间的差。此外,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化、或者对原始信号与预测信号之间的差进行变换和量化而产生的信号。残差块可以是块单元的残差信号。
变换单元130可通过执行残差块的变换来产生变换系数,并且输出产生的变换系数。这里,变换系数可以是通过对残差块执行变换而产生的系数值。当变换跳过模式被应用时,变换单元130可跳过残差块的变换。
可通过将量化应用于变换系数或应用于残差信号来产生量化等级。在下文中,量化等级也可在实施例中被称为变换系数。
量化单元140可通过根据量化参数对变换系数或残差信号进行量化来产生量化等级,并且输出产生的量化等级。这里,量化单元140可通过使用量化矩阵来对变换系数进行量化。
熵编码单元150可通过对由量化单元140计算出的值或者对在执行编码时计算出的编码参数值执行根据概率分布的熵编码来产生比特流,并且输出产生的比特流。熵编码单元150可对图像的像素信息和用于对图像进行解码的信息执行熵编码。例如,用于对图像进行解码的信息可包括语法元素。
当熵编码被应用时,符号被表示,使得较少数量的比特被分配给具有高的被产生可能性的符号并且较大数量的比特被分配给具有低的被产生可能性的符号,因此,可减小将被编码的符号的比特流的大小。熵编码单元150可使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等的用于熵编码的编码方法。例如,熵编码单元150可通过使用可变长度编码/码(VLC)表来执行熵编码。另外,熵编码单元150可推断目标符号的二值化方法以及目标符号/二进制位的概率模型,并且通过使用推导出的二值化方法和上下文模型来执行算术编码。
为了对变换系数等级进行编码,熵编码单元150可通过使用变换系数扫描方法将二维块形式系数改变为一维矢量形式。
编码参数可包括在编码器中被编码并且被用信号发送给解码器的诸如语法元素的信息(标志、索引等),以及在执行编码或解码时推导出的信息。编码参数可表示当对图像进行编码或解码时所需的信息。例如,编码参数中可包括以下项中的至少一个值或以下项的组合形式:单元/块尺寸;单元/块深度;单元/块分区信息;单元/块分区结构;是否进行四叉树形式的分区;是否进行二叉树形式的分区;二叉树形式的分区方向(水平方向或垂直方向);二叉树形式的分区形式(对称分区或非对称分区);帧内预测的模式/方向;参考样本滤波方法;预测块滤波方法;预测块滤波器抽头;预测块滤波器系数;帧间预测模式;运动信息;运动矢量;参考画面索引;帧间预测角度;帧间预测指示符;参考画面列表;参考画面;运动矢量预测器候选;运动矢量候选列表;是否使用合并模式;合并候选;合并候选列表;是否使用跳过模式;插值滤波器类型;插值滤波器抽头;插值滤波器系数;运动矢量大小;运动矢量的表示精度;变换类型;变换大小;是否使用主(第一)变换的信息;是否使用二次变换的信息;主变换索引;二次变换索引;是否存在残差信号的信息;编码块模式;编码块标志(CBF);量化参数;量化矩阵;是否应用帧内环路滤波器;帧内环路滤波器系数;帧内环路滤波器抽头;帧内环路滤波器的形状/形式;是否应用去块滤波器;去块滤波器系数;去块滤波器抽头;去块滤波器强度;去块滤波器的形状/形式;是否应用自适应样本偏移;自适应样本偏移值;自适应样本偏移类别;自适应样本偏移类型;是否应用自适应环内滤波器;自适应环内滤波器系数;自适应环内滤波器抽头;自适应环内滤波器的形状/形式;二值化/逆二值化方法;上下文模型确定方法;上下文模型更新方法;是否执行常规模式;是否执行旁路模式;上下文二进制位;旁路二进制位;变换系数;变换系数等级;变换系数等级扫描方法;图像显示/输出顺序;条带标识信息;条带类型;条带分区信息;并行块标识信息;并行块类型;并行块分区信息;画面类型;比特深度;以及亮度信号或色度信号的信息。
这里,“用信号发送标志或索引”可表示相应的标志或索引由编码器熵编码并被包括在比特流中,并且可表示相应的标志或索引被解码器从比特流熵解码。
当编码设备100通过帧间预测执行编码时,编码的当前图像可用作之后被处理的另一图像的参考图像。因此,编码设备100可重建编码的当前图像或对编码的当前图像进行解码,或者将重建的或解码的图像存储为参考图像。
量化等级可在反量化单元160中被反量化,并且可在逆变换单元170中被逆变换。可由加法器175将反量化后的系数或逆变换后的系数或者这两者与预测块相加。通过将反量化后的系数或逆变换后的系数或者这两者与预测块相加,可产生重建块。这里,反量化后的系数或逆变换后的系数或者这两者可表示被执行了反量化和逆变换中的至少一个的系数,并可表示重建的残差块。
重建块可通过滤波器单元180。滤波器单元180可将去块滤波器、自适应偏移(SAO)和自适应环路滤波器(ALF)中的至少一个应用于重建块或者重建图像。滤波器单元180可被称为环内滤波器。
去块滤波器可去除在块之间的边界中产生的块失真。为了确定是否应用去块滤波器时,可基于块中包括的若干行或列中包括的像素来确定是否将去块滤波器应用于当前块。当去块滤波器被应用于块时,可根据所需要的去块滤波强度来应用另一滤波器。
为了补偿编码误差,可通过使用样本自适应偏移将合适的偏移值与像素值相加。样本自适应偏移可以以像素为单位校正去块滤波后的图像与原始图像的偏移。可使用以下方法:将图像的像素分区为预定数量的区域,确定应用偏移的区域,并且将偏移应用于确定的区域,或者可使用考虑关于每个像素的边缘信息来应用偏移的方法。
自适应环路滤波器可基于滤波后的重建图像和原始图像的比较值来执行滤波。可将包括在图像中的像素分区为预定组,可确定将被应用于每个组的滤波器,并且可对每个组执行不同的滤波。可通过编码单元(CU)用信号发送是否应用ALF的信息,并且将被应用于每个块的ALF的形式和系数可不同。
可将已通过滤波器单元180的重建块或重建图像存储在参考画面缓冲器190中。图2是示出根据应用了本发明的实施例的解码设备的构造的框图。
解码设备200可以是解码器、视频解码设备或图像解码设备。
参考图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波器单元260和参考画面缓冲器270。
解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读记录介质中的比特流、或者可接收通过有线/无线传输介质被流传输的比特流。解码设备200可通过使用帧内模式或帧间模式对比特流进行解码。此外,解码设备200可产生通过解码而产生的重建图像或解码图像,并且可输出重建图像或解码图像。
当解码时使用的预测模式是帧内模式时,可将切换器切换到帧内。可选地,当解码时使用的预测模式是帧间模式时,可将切换器切换到帧间模式。
解码设备200可通过对输入比特流进行解码来获得重建的残差块,并且产生预测块。当获得了重建的残差块和预测块时,解码设备200可通过将重建的残差块与预测块相加来产生成为解码目标的重建块。解码目标块可被称为当前块。
熵解码单元210可通过根据概率分布对比特流执行熵解码来产生符号。产生的符号可以包括量化等级形式的符号。这里,熵解码方法可以是以上描述的熵编码方法的逆处理。
为了对变换系数等级进行解码,熵解码单元210可通过使用变换系数扫描方法将一维矢量形式系数改变为二维块形式。
量化等级可在反量化单元220中被反量化,或者在逆变换单元230中被逆变换。量化等级可以是反量化或逆变换或者这两者的结果,并且可被产生为重建的残余块。这里,反量化单元220可将量化矩阵应用于量化等级。
当帧内模式被使用时,帧内预测单元240可通过执行使用与解码目标块相邻并且已经被解码的块的像素值的空间预测来产生预测块。
当帧间模式被使用时,运动补偿单元250可通过执行使用运动矢量和存储在参考画面缓冲器270中的参考图像的运动补偿来产生预测块。
加法器255可通过将重建的残差块与预测块相加来产生重建块。滤波器单元260可将去块滤波器、样本自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建图像。滤波器单元260可输出重建图像。重建块或重建图像可被存储在参考画面缓冲器270中,并且在执行帧间预测时被使用。
图3是示意性地示出当对图像进行编码和解码时的图像的分区结构的示图。图3示意性地示出将单个单元分区为多个下级单元的示例。
为了有效地对图像进行分区,当编码和解码时,可使用编码单元(CU)。编码单元可用作对图像进行编码/解码时的基本单元。另外,编码单元可用作用于在对图像进行编码/解码时区分帧内模式和帧间模式的单元。编码单元可以是用于变换系数的预测、变换、量化、逆变换、反量化或编码/解码处理的基本单元。
参照图3,按照最大编码单元(LCU)对图像300进行顺序地分区,并且将LCU单元确定为分区结构。这里,LCU可以以与编码树单元(CTU)相同的含义被使用。单元分区可表示对与该单元相关联的块进行分区。在块分区信息中,可包括单元深度的信息。深度信息可表示单元被分区的次数或程度或者这两者。可基于树结构在与深度信息相关联的层中对单个单元进行分区。每个分区出的下级单元可具有深度信息。深度信息可以是表示CU的尺寸的信息,并且可被存储在每个CU中。
分区结构可表示LCU 310内的编码单元(CU)的分布。这样的分布可根据是否将单个CU分区为多个(等于或大于2的正整数,包括2、4、8、16等)CU来确定。通过分区产生的CU的水平尺寸和垂直尺寸可分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可根据分区次数分别具有比分区之前的水平尺寸和垂直尺寸更小的尺寸。可将CU递归地分区为多个CU。可递归地执行CU的分区,直到预定义的深度或预定义的尺寸。例如,LCU的深度可以是0,并且最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的编码单元,并且SCU可以是具有最小编码单元尺寸的编码单元。分区从LCU 310开始,CU深度随着CU的水平尺寸或垂直尺寸或者水平尺寸和垂直尺寸两者通过分区减小而增加1。
另外,可通过使用CU的分区信息来表示CU是否被分区的信息。分区信息可以是1比特信息。除SCU之外的所有CU可包括分区信息。例如,当分区信息的值是1时,可不对CU进行分区,当分区信息的值是2时,可对CU进行分区。
参照图3,深度为0的LCU可以是64×64块。0可以是最小深度。深度为3的SCU可以是8×8块。3可以是最大深度。32×32块和16×16块的CU可被分别表示为深度1和深度2。
例如,当单个编码单元被分区为四个编码单元时,四个分区出的编码单元的水平尺寸和垂直尺寸可以是在被分区之前的CU的水平尺寸和垂直尺寸的一半。在一个实施例中,当具有32×32尺寸的编码单元被分区为四个编码单元时,四个分区出的编码单元中的每个可具有16×16尺寸。当单个编码单元被分区为四个编码单元时,可称为编码单元被分区为四叉树形式。
例如,当单个编码单元被分区为两个编码单元时,两个编码单元的水平尺寸或垂直尺寸可以是在被分区之前的编码单元的水平尺寸或垂直尺寸的一半。例如,当在垂直方向上对具有32×32尺寸的编码单元进行分区时,两个分区出的编码单元中的每个可具有16×32的尺寸。当单个编码单元被分区为两个编码单元时,可被称为编码单元以二叉树形式被分区。图3的LCU 310是应用了四叉树形式的分区和二叉树形式的分区两者的LCU的示例。
图4是示出画面间预测处理的实施例的示图。
在图4中,矩形可表示画面。在图5中,箭头表示预测方向。可根据画面的编码类型将画面分类为帧内画面(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,编码设备可在步骤S501推导合并候选,并且可基于推导出的合并候选产生合并候选列表。当产生了合并候选列表时,可在步骤S502使用产生的合并候选列表来确定运动信息,并且可在步骤S503使用确定的运动信息执行当前块的运动补偿。接下来,编码设备可在步骤S504对关于运动补偿的信息执行熵编码。
参照图6,解码设备可在步骤S601对从编码设备接收到的关于运动补偿的信息执行熵解码,可在步骤S602推导合并候选,并且可基于推导出的合并候选产生合并候选列表。当产生了合并候选列表时,可在步骤S603使用产生的合并候选列表来确定当前块的运动信息。接下来,解码设备可在步骤S604使用运动信息执行运动补偿。
这里,图5和图6示出应用了图4中描述的合并模式的示例。
在下文中,将详细描述图5和图6中示出的步骤。
首先,将详细描述推导合并候选的步骤S501和S602。
当前块的合并候选可包括空间合并候选、时间合并候选和附加合并候选中的至少一个。这里,推导空间合并候选可表示推导空间合并候选并将空间合并候选添加到合并候选列表。
图7是示出推导当前块的空间合并候选和时间合并候选的示例的示图。
参照图7,可从与当前块X相邻的邻近块推导当前块的空间合并候选。与当前块相邻的邻近块可包括与当前块的上方相邻的块B1、与当前块的左侧相邻的块A1、与当前块的右上角相邻的块B0、与当前块的左上角相邻的块B2以及与当前块的左下角相邻的块A0中的至少一个。
为了推导当前块的空间合并候选,可确定是否可在推导当前块的空间合并候选时使用与当前块相邻的邻近块。这里,可根据预定优先级确定是否可在推导当前块的空间合并候选时使用与当前块相邻的邻近块。例如,在图7中示出的示例中,可按照在位置A1、B1、B0、A0和B2处的块的顺序确定推导空间合并候选的可用性。可将基于确定可用性的顺序而确定的空间合并候选按顺序添加到当前块的合并候选列表。
例如,当从在位置A1、B0、A0和B2处的邻近块推导出四个空间合并候选时,可以按顺序将推导出的空间合并候选添加到合并候选列表。
此外,可以基于编码参数中的至少一个来推导空间合并候选。
这里,空间合并候选的运动信息可包括至少三条运动信息,诸如,L0、L1、L2、L3等的运动信息。这里,参考画面列表可包括L0、L1、L2、L3等中的至少一个。
接下来,将描述推导当前块的时间合并候选的方法。
可从包括在当前画面的同位画面中的重建块推导当前块的时间合并候选。这里,同位画面是在当前画面之前完成编码/解码的画面,并且可以是具有与当前画面的时间顺序不同的时间顺序的画面。
推导时间合并候选可表示推导时间合并候选并且将时间合并候选添加到合并候选列表。
参照图7,在当前画面的同位画面中,当前块的时间合并候选可从包括在空间上与当前块X相同的位置相应的块的外部位置的块或者从包括在空间上与当前块X相同的位置相应的块的内部位置的块被推导。这里,时间合并候选可表示同位块的运动信息。例如,当前块X的时间合并候选可从与块C的右下角相邻的块H被推导,或者从包括块C的中心点的块C3被推导,其中,块C在空间上与当前块相同的位置相应。用于推导当前块的时间合并候选的块H或块C3等可被称为“同位块”。
当可从包括块C的外部位置的块H推导出当前块的时间合并候选时,可将块H设置为当前块的同位块。在这种情况下,可基于块H的运动信息推导当前块的时间合并候选。相反,当不能从块H推导出当前块的时间合并候选时,包括块C的内部位置的块C3可被设置为当前块的同位块。在这种情况下,可基于块C3的运动信息推导当前块的时间合并候选。当不能从块H和块C3推导出当前块的空间合并候选时(例如,当块H和块C3被帧内编码时),可不推导当前块的时间合并候选或者可从与块H和块C3具有不同位置的块推导当前块的时间合并候选。
作为另一示例,可从同位画面中的多个块推导当前块的时间合并候选。例如,可从块H和块C3推导当前块的多个时间合并候选。
当包括当前块的当前画面与当前块的参考画面之间的距离不同于包括同位块的同位画面与同位块的参考画面之间的距离时,可通过缩放同位块的运动矢量来获得当前块的时间合并候选的运动矢量。这里,可基于当前画面和由当前块参考的参考画面之间的距离以及同位画面和由同位块参考的参考画面之间的距离中的至少一个来执行缩放。例如,根据当前画面和由当前块参考的参考画面之间的距离与同位画面和由同位块参考的参考画面之间的距离的比率,对同位块的运动矢量进行缩放,从而推导出当前块的时间合并候选的运动矢量。
此外,可基于当前块、邻近块和同位块的编码参数中的至少一个来推导时间合并候选、同位画面、同位块、预测列表使用标志和参考画面索引中的至少一个。
推导空间合并候选和时间合并候选中的至少一个,并且随后根据推导顺序将推导出的合并候选添加到合并候选列表,从而可产生合并候选列表。
接下来,将描述推导当前块的附加合并候选的方法。
附加合并候选可表示修改的空间合并候选、修改的时间合并候选、组合的合并候选和具有预定运动信息值的合并候选中的至少一个。这里,推导附加合并候选可表示推导附加合并候选并且将附加合并候选添加到合并候选列表。
修改的空间合并候选可表示这样的合并候选,其中,在该合并候选中,推导出的空间合并候选的至少一条运动信息被修改。
修改的时间合并候选可表示这样的合并候选,其中,在该合并候选中,推导出的时间合并候选的至少一条运动信息被修改。
组合的合并候选可表示通过将存在于合并候选列表中的空间合并候选、时间合并候选、修改的空间合并候选、修改的时间合并候选、组合的合并候选以及具有预定运动信息值的合并候选的运动信息之中的至少一条运动信息组合而推导出的合并候选。
可选地,组合的合并候选可表示通过将空间合并候选、时间合并候选、修改的空间合并候选、修改的时间合并候选、组合的合并候选以及具有预定运动信息值的合并候选的至少一条运动信息组合而推导出的合并候选。从合并候选列表中不存在但可用于推导空间合并候选和时间合并候选中的至少一个的块推导空间合并候选和时间合并候选。基于空间合并候选和时间合并候选产生修改的空间合并候选和修改的时间合并候选。
可选地,可使用在解码器中从比特流熵解码出的运动信息来推导组合的合并候选。这里,在编码器中推导组合的合并候选时使用的运动信息可被熵编码在比特流中。
组合的合并候选可表示组合的双向预测合并候选。组合的双向预测合并候选是使用双向预测的合并候选,并且可表示具有L0运动信息和L1运动信息的合并候选。
具有预定运动信息值的合并候选可表示具有运动矢量(0,0)的零合并候选。同时,具有预定运动信息值的合并候选可被设置为在编码设备和解码设备中具有相同的值。
可基于当前块、邻近块或同位块的编码参数中的至少一个来推导或产生修改的空间合并候选、修改的时间合并候选、组合的合并候选和具有预定运动信息值的合并候选中的至少一个。此外,可基于当前块、邻近块或同位块的至少一个编码参数,将修改的空间合并候选、修改的时间合并候选、组合的合并候选和具有预定运动信息值的合并候选中的至少一个添加到合并候选列表。
同时,合并候选列表的大小可基于当前块、邻近块或同位块的编码参数被确定,并且可根据编码参数而不同。
同时,在本发明中,使用运动矢量校正方法推导出的校正的运动矢量可在推导合并候选时被使用。稍后将参考图7至图28描述其详细描述。
接下来,将详细描述在步骤S502和S603通过使用产生的合并候选列表确定当前块的运动信息。
编码器可通过运动估计来确定合并候选列表中的合并候选之中的在运动补偿中被使用的合并候选,并且可在比特流中对指示确定的合并候选的合并候选索引(merge_idx)进行编码。
同时,为了产生预测块,编码器可基于合并候选索引从合并候选列表中选择合并候选,以确定当前块的运动信息。这里,可通过基于确定的运动信息执行运动补偿来产生当前块的预测块。
解码器可对比特流中的合并候选索引进行解码以确定合并候选列表中的由合并候选索引指示的合并候选。确定的合并候选可被确定为当前块的运动信息。确定的运动信息可在当前块的运动补偿中被使用。这里,运动补偿可指帧间预测。
接下来,将描述在步骤S503和S604使用确定的运动信息执行运动补偿。
在步骤S503和S604,编码设备和解码设备可使用确定的运动信息来执行帧间预测或运动补偿。这里,当前块可包含确定的合并候选的运动信息。
根据预测方向,当前块可具有至少一个运动矢量到最多N个运动矢量。可使用运动矢量产生至少一个预测块到最多N个预测块,以推导当前块的最终预测块。
例如,当当前块具有一个运动矢量时,可将使用运动矢量(或运动信息)产生的预测块确定为当前块的最终预测块。
相反,当当前块具有多个运动矢量(或运动信息)时,可使用多个运动矢量(或运动信息)产生多个预测块,并且可基于多个预测块的加权和来确定当前块的最终预测块。包括由多个运动矢量(或运动信息)指示的多个预测块的参考画面可被包括在不同的参考画面列表中,并且可被包括在同一参考画面列表中。
例如,可基于空间运动矢量候选、时间运动矢量候选、具有预定值的运动矢量和组合的运动矢量候选中的至少一个来产生多个预测块。可基于多个预测块的加权和来确定当前块的最终预测块。
作为另一示例,可基于由预设运动矢量候选索引指示的运动矢量候选来产生多个预测块。可基于多个预测块的加权和来确定当前块的最终预测块。此外,可基于存在于预设运动矢量候选索引范围中的运动矢量候选来产生多个预测块。可基于多个预测块的加权和来确定当前块的最终预测块。
应用于每个预测块的加权因子可具有相同的值1/N(这里,N是产生的预测块的数量)。例如,当两个预测块被产生时,应用于每个预测块的加权因子可以是1/2。当三个预测块被产生时,应用于每个预测块的加权因子可以是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(其中,1是第一值)时,它可指示编码设备和解码设备可使用当前块的预测出的运动矢量来执行帧间预测或运动补偿。当预测块列表使用标志指示0(其中,0是第二值)时,它可指示编码设备和解码设备不通过使用当前块的预测出的运动矢量来执行帧间预测或运动补偿。同时,预测块列表使用标志的第一值可被设置为0,并且其第二值可被设置为1。下面描述的公式1至3指示在当前块的帧间预测指示符是PRED_BI、PRED_TRI和PRED_QUAD并且针对每个参考画面列表的预测方向是单向的时产生当前块的最终预测块的示例。
[公式1]
P_BI(WF_LO*P_LO+OFFSET_LO+WF_L1*P_L1+OFFSET_L1+RF)>>1
[公式2]
P_TRI=(WF_LO*P_LO+OFFSET_LO+WF_L1*P_L1+OFFSET_L1+WF_L2*P_L2+OFFSET_L2+RF)/3
[公式3]
P_QU4D=(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可表示可被设置为零、正数或负数的舍入因子。LX参考画面列表可包括以下参考画面中的至少一个:长期参考画面、未执行去块滤波的参考画面、未执行样本自适应偏移的参考画面、未执行自适应环路滤波的参考画面、执行了去块滤波和自适应偏移的参考画面,执行了去块滤波和自适应环路滤波的参考画面、执行了样本自适应偏移和自适应环路滤波的参考画面、以及执行了去块滤波、样本自适应偏移和自适应环路滤波的参考画面。在这种情况下,LX参考画面列表可以是L2参考画面列表和L3参考画面列表中的至少一个。
即使当预定参考画面列表的预测方向是多个方向时,也可基于预测块的加权和来获得当前块的最终预测块。这里,被应用于从同一参考画面列表推导出的预测块的加权因子可具有相同的值,或者可具有不同的值。
用于多个预测块的加权因子(WF_LX)和偏移(OFFSET_LX)中的至少一个可以是被熵编码/熵解码的编码参数。作为另一示例,加权因子和偏移可从与当前块相邻的编码/解码的邻近块被推导。这里,与当前块相邻的邻近块可包括用于推导当前块的空间运动矢量候选的块或用于推导当前块的时间运动矢量候选的块中的至少一个。
作为另一示例,可基于当前画面和参考画面的显示顺序(POC)来确定加权因子和偏移。在这种情况下,在当前画面远离参考画面时,可将加权因子或偏移设置为小值。在当前画面靠近参考画面时,可将加权因子或偏移设置为大值。例如,在当前画面与L0参考画面之间的POC差为2时,可将被应用于通过参考L0参考画面产生的预测块的加权因子值设置为1/3。相反,在当前画面与L0参考画面之间的POC差为1时,可将被应用于通过参考L0参考画面产生的预测块的加权因子值设置为2/3。如上所述,加权因子或偏移值可与当前画面和参考画面之间的显示顺序差具有反比关系。作为另一示例,加权因子或偏移值可与当前画面和参考画面之间的显示顺序差具有正比关系。
作为另一示例,基于编码参数中的至少一个,可对加权因子或偏移中的至少一个进行熵编码/熵解码。另外,基于编码参数中的至少一个,可计算预测块的加权和。
可将多个预测块的加权和仅应用于预测块中的部分区域。这里,部分区域可以是预测块中的与边界相应的区域。如上所述,为了将加权和仅应用于部分区域,可对预测块的每个子块应用加权和。
在具有由区域信息指示的块尺寸的块内的具有较小块尺寸的子块中,可使用同一预测块或同一最终预测块来执行帧间预测或运动补偿。
此外,在具有由区域信息指示的块深度的块内的具有更深块深度的子块中,可使用同一预测块或同一最终预测块来执行帧间预测或运动补偿。
此外,当通过使用运动矢量预测来计算预测块的加权和时,可使用存在于运动矢量候选列表中的至少一个运动矢量候选来计算预测块的加权和,并且可将预测块的加权和用作当前块的最终预测块。
例如,可计算通过使用空间运动矢量候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可计算通过使用空间运动矢量候选和时间运动矢量候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可计算通过使用组合的运动矢量候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可计算通过使用具有特定运动矢量候选索引的运动矢量候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可计算通过使用存在于特定运动矢量候选索引范围中的运动矢量候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
此外,当通过使用合并模式计算预测块的加权和时,可使用合并候选列表中存在的至少一个合并候选来计算加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可计算通过使用空间合并候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可计算通过使用空间合并候选和时间合并候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可计算通过使用组合的合并候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可计算通过使用具有特定合并候选索引的合并候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可计算通过使用存在于特定合并候选索引范围中的合并候选产生的预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
在编码器和解码器中,可使用当前块的运动矢量/信息来执行运动补偿。这里,可使用至少一个预测块来产生作为运动补偿的结果的最终预测块。这里,当前块可表示当前编码块和当前预测块中的至少一个。
接下来,将详细公开对关于运动补偿的信息进行熵编码/熵解码的处理S504和S601。
编码设备可通过比特流对关于运动补偿的信息进行熵编码,并且解码设备可对包括在比特流中的关于运动补偿的信息进行熵解码。这里,被熵编码/熵解码的关于运动补偿的信息可包括以下项中的至少一项:帧间预测指示符(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可表示包括0的正整数。
可基于合并模式索引信息使用合并模式来执行当前块的运动补偿。
关于是否使用基于合并模式的运动矢量校正的信息(fruc_flag)可表示指示是否使用基于合并模式的运动矢量校正的信息。该信息可在编码块和预测块中的至少一个中被熵编码/熵解码。
例如,当关于是否使用基于合并模式的运动矢量校正的信息具有第一值1时,它可指示基于合并模式使用运动矢量。当它具有第二值0时,它可不指示基于合并模式使用运动矢量。这里,第一值和第二值可以不同。
然而,不限于此,可基于在编码器/解码器中预先定义的其他帧间预测模式(例如,跳过模式、AMVP模式等)来确定是否使用运动矢量校正。也就是说,即使在没有明确地用信号发送fruc_flag时,也可在预定条件下选择性地使用运动矢量校正。
同时,当关于是否使用合并模式的信息(merge_flag)具有指示使用合并模式的第一值时,可对关于是否使用基于合并模式的运动矢量校正的信息(fruc_falg)进行熵解码。
当在当前块的运动补偿期间产生两个或更多个预测块时,可通过每个预测块的加权和来产生当前块的最终预测块。当计算加权和时,可对每个预测块应用加权因子和偏移中的至少一个。可针对参考画面列表、参考画面、运动矢量候选索引、运动矢量差、运动矢量、关于是否使用跳过模式的信息、关于是否使用合并模式的信息、以及合并索引信息中的至少一个,对在计算加权和时使用的加权和因子(诸如,加权因子或偏移等)进行熵编码/熵解码。另外,可基于帧间预测指示符对每个预测块的加权和因子进行熵编码/熵解码。这里,加权和因子可包括加权因子和偏移中的至少一个。
当在CTU中对关于运动补偿的信息进行熵编码/熵解码时,可通过使用关于运动补偿的信息,根据关于运动补偿的信息的值,对CTU中存在的所有块或一些块执行运动补偿。
当在CTU或CTU的子单元中对关于运动补偿的信息进行熵编码/熵解码时,可基于预定块的尺寸和深度中的至少一个来对关于运动补偿的信息进行熵编码/熵解码。
这里,可对关于预定块的尺寸或深度的信息进行熵编码/熵解码。可选地,可基于编码器和解码器中的预设值和编码参数中的至少一个或者基于其他语法元素值中的至少一个来确定关于预定块的尺寸或深度的信息。
可仅在尺寸大于或等于预定块的块中对关于运动补偿的信息进行熵编码/熵解码,并且可不在尺寸小于预定块的块中对关于运动补偿的信息进行熵编码/熵解码。在这种情况下,可基于在尺寸大于或等于预定块的块中被熵编码/熵解码的关于运动补偿的信息,对尺寸大于或等于预定块的块中的子块执行运动补偿。也就是说,在尺寸大于或等于预定块的块中的子块可共享关于运动补偿的信息,其中,关于运动补偿的信息包括运动矢量候选、运动矢量候选列表、合并候选、合并候选列表等。
关于运动补偿的信息可仅在深度浅于或等于预定块的块中被熵编码/熵解码,并且关于运动补偿的信息可不在深度比预定块更深的块中被熵编码/熵解码。在这种情况下,可基于在深度浅于或等于预定块的块中被熵编码/熵解码的关于运动补偿的信息,对在深度浅于或等于预定块的块中的子块执行运动补偿。也就是说,深度浅于或等于预定块的块中的子块可共享关于运动补偿的信息,其中,关于运动补偿的信息包括运动矢量候选、运动矢量候选列表、合并候选、合并候选列表等。
关于运动补偿的信息可按照块单元被熵编码/熵解码,并且可在更高级别被熵编码/熵解码。例如,关于运动补偿的信息可按照诸如CTU、CU或PU等的块单元被熵编码/熵解码,或者可在诸如视频参数集、序列参数集、画面参数集、自适应参数集或条带头等的更高级别被熵编码/熵解码。
可基于关于运动补偿的信息差值对关于运动补偿的信息进行熵编码/熵解码,该信息差值指示关于运动补偿的信息与关于运动补偿的信息预测值之间的差值。
可将关于与当前块相邻的编码/解码块的运动补偿的信息用作关于当前块的运动补偿的信息而不对当前块的运动补偿的信息进行熵编码/解码。
此外,基于编码参数中的至少一个,可推导出至少一条关于运动补偿的信息。
此外,可基于编码参数中的至少一个从比特流对至少一条关于运动补偿的信息进行熵解码。可基于编码参数中的至少一个在比特流中对至少一条关于运动补偿的信息进行熵编码。
关于运动补偿的信息还可包括运动矢量、运动矢量候选、运动矢量候选索引、运动矢量差值、运动矢量预测值、关于是否使用跳过模式的信息(skip_flag)、关于是否使用合并模式的信息(merge_flag)、合并索引信息(merge_index)、运动矢量分辨率信息、重叠块运动补偿信息、局部照度补偿信息、仿射运动补偿信息、解码器侧运动矢量推导信息和双向光流信息中的至少一个。这里,解码器侧运动矢量推导可表示模式匹配的运动矢量推导。
运动矢量分辨率信息可以是指示特定分辨率是否用于运动矢量和运动矢量差值中的至少一个的信息。这里,分辨率可表示精度。此外,特定分辨率可被设置为16像素(16-pel)单位、8像素(8-pel)单位、4像素(4-pel)单位、整数像素(整数-pel)单位、1/2像素(1/2-pel)单位、1/4像素(1/4-pel)单位、1/8像素(1/8-pel)单位、1/16像素(1/16-pel)单位、1/32像素(1/32-pel)单位和1/64像素(1/64-pel)单位中的至少一个。
重叠块运动补偿信息可以是指示在当前块的运动补偿期间是否通过使用在空间上与当前块相邻的邻近块的运动矢量来计算当前块的预测块的加权和的信息。
局部照度补偿信息可以是指示在产生当前块的预测块时是否应用加权因子值和偏移值中的至少一个的信息。这里,加权因子值和偏移值中的至少一个可以是基于参考块计算出的值。
仿射运动补偿信息可以是指示在当前块的运动补偿期间是否使用仿射运动模型的信息。这里,仿射运动模型可以是用于通过使用多个参数将一个块分区为多个子块并且通过使用代表性运动矢量计算分区出的子块的运动矢量的模型。
解码器侧运动矢量推导信息可以是指示运动补偿所需的运动矢量是否通过由解码器推导而被使用的信息。基于解码器侧运动矢量推导信息,可不对关于运动矢量的信息进行熵编码/熵解码。此外,当解码器侧运动矢量推导信息指示解码器推导并使用运动矢量时,可对关于合并模式的信息进行熵编码/熵解码。也就是说,解码器侧运动矢量推导信息可指示在解码器中是否使用合并模式。
双向光流信息可以是指示是否通过校正每个像素或子块的运动矢量来执行运动补偿的信息。基于双向光流信息,可不对每个像素或子块的运动矢量进行熵编码/熵解码。这里,运动矢量校正可将运动矢量值从每个块的运动矢量修改为每个像素或子块的运动矢量。
通过使用至少一条关于运动补偿的信息对当前块执行运动补偿,并且可对至少一条关于运动补偿的信息进行熵编码/熵解码。
当对关于运动补偿的信息进行熵编码/熵解码时,可使用诸如截断莱斯二值化方法、第K阶指数哥伦布二值化方法、有限K阶指数哥伦布二值化方法、固定长度二值化方法、一元二值化方法或截断一元二值化方法等的二值化方法。
当对关于运动补偿的信息进行熵编码/熵解码时,可通过使用以下信息中的至少一条信息来确定上下文模型:关于与当前块相邻的邻近块的运动补偿的信息或该邻近块的区域信息;关于先前编码/解码的运动补偿或先前编码/解码的区域信息的信息;关于当前块的深度的信息;以及关于当前块的尺寸的信息。
此外,当对关于运动补偿的信息进行熵编码/熵解码时,可通过将关于邻近块的运动补偿的信息、关于先前编码/解码的运动补偿的信息、关于当前块的深度的信息以及关于当前块的尺寸的信息中的至少一条信息用作关于当前块的运动补偿的信息的预测值来执行熵编码/熵解码。在下文中,将参考图7至图28详细描述运动矢量校正方法。
在推导当前块的运动矢量时,可使用基于跳过/合并模式推导运动矢量的方法和使用增强的运动矢量预测模式推导运动矢量的方法中的至少一个来推导当前块的运动矢量。这里,推导运动矢量可包括推导当前块的运动矢量以及当前块的参考画面索引信息。
在下文中,将描述基于合并模式的运动矢量校正方法。然而,不限于合并模式,以下描述可应用于基于其他帧间预测模式的运动矢量校正方法。
基于合并模式的运动矢量校正方法可包括以下步骤中的至少一个步骤:推导初始运动矢量;基于初始运动矢量推导校正的运动矢量;以及以子块为单位推导校正的运动矢量。
首先,将详细描述初始运动矢量的推导。
如图7所示,可使用合并候选列表中的从空间邻近块和时间邻近块中的至少一个推导出的合并候选来推导当前块的初始运动矢量。
同时,附加合并候选列表可被配置用于基于合并模式的运动矢量校正。
图8是示出用于配置附加合并候选列表的空间邻近块和时间邻近块的示图。
参照图8,在配置附加合并候选列表时,按照A1、B1、B0、A0、B2、B3和A2的顺序,将来自空间邻近块A0、A1、A2、B0、B1、B2和B3的预定数量的候选包括在附加合并候选列表中,并随后将从时间邻近块推导出的候选、组合的双向预测合并候选和零合并候选包括在附加合并候选列表中,以便推导初始运动矢量。
同时,在使用合并候选列表中的合并候选时,可使用合并候选列表中的所有合并候选或一些合并候选来推导当前块的初始运动矢量。
例如,当合并候选列表中的合并候选具有以子块为单位推导出的运动信息时,该合并候选可替换在配置合并候选列表时从另外的空间邻近块和/或时间邻近块推导出的不可被用作初始运动矢量的运动信息。
图9和图10是示出初始运动矢量列表的配置的示图。
当合并候选列表被配置为如图9所示时,从相应于每个列表方向的合并候选,可将相应列表方向的初始运动矢量列表配置为如图10所示。这里,初始运动矢量列表可包括运动矢量和参考画面索引中的至少一个。
例如,初始运动矢量列表可仅使用合并候选列表中的运动矢量,并且参考画面索引可使用固定的预定值。这里,固定的预定值可以是从编码器向解码器用信号发送的值,或者可以是在编码器和解码器中共同设置的值。
同时,合并候选列表中的合并候选的参考画面索引信息不同于初始运动矢量列表的参考画面索引信息,考虑时间距离(或POC差)而缩放的运动矢量可被用作初始运动矢量。
同时,在配置初始运动矢量列表时,当该列表中包括相同的运动矢量和参考画面索引时,可不执行添加操作。
图11是示出使用合并索引信息推导初始运动矢量的方法的示图。在合并候选列表中的合并候选之中,与合并索引信息相应的合并候选的运动信息可被用作初始运动矢量。
参照图11,当合并索引信息的值为3时,作为合并候选列表的第四候选的L0列表[运动矢量:(3,1),参考画面索引:0]和L1列表[运动矢量:(-3,1),参考画面索引:0]可被推导为各个列表方向的初始运动矢量。
同时,当合并索引信息的值是4时,仅作为合并候选列表的第五候选的L0列表[运动矢量:(6,2),参考画面索引:0]可被用作L0列表方向的初始运动矢量。这里,合并索引信息可以是针对合并模式的索引信息。
然而,可进一步定义用于基于合并模式的运动矢量校正的初始运动矢量索引信息,并且可针对每个编码/解码块对所述初始运动矢量索引信息进行熵编码/熵解码。
同时,在使用合并候选列表中的合并候选时,在合并候选列表中的合并候选之中,可在不对合并索引信息进行熵解码的情况下将与预定编号对应的合并候选的运动矢量设置为初始运动矢量。这里,预定编号可以是在编码器和解码器中共同设置的编号。
例如,当编码器/解码器将作为合并候选列表的第一候选的运动矢量用作初始运动矢量时,图11中的作为合并候选列表的第一候选的L0列表[运动矢量:(3,1),参考画面索引:0]和L1列表[运动矢量:(-2,0),参考画面索引:0]可用作L0/L1列表方向的初始运动矢量。同时,在使用合并候选列表中的合并候选时,当当前块是可执行双向预测但是仅具有与L0列表或L1列表对应的一条运动信息的块时,可将基于现有运动信息推导出的运动信息用作附加的初始运动信息。这里,现有运动信息可以是同一列表中的另一合并候选的运动信息。
如上所述,在基于现有运动信息推导附加运动信息时,可考虑由现有运动信息指示的参考画面、包括当前块的当前画面以及需要运动信息产生的列表中的参考画面之间的时间距离(或POC差)中的至少一个来推导用于替换非现有的运动信息的附加初始运动矢量。
具体地,可对现有运动矢量执行镜像和缩放中的至少一个来推导用于替换非现有的运动矢量的附加初始运动矢量。
例如,当在图11中合并索引信息的值为2时,仅L0运动信息可存在。
在这种情况下,基于L1参考画面列表中的这样的参考画面而镜像的L0运动矢量可被推导为L1列表运动矢量:该参考画面和包括当前块的画面之间的POC差与由L0运动矢量指示的参考画面和包括当前块的画面之间的POC差相同。
此外,在L1列表的参考画面中,除了与由L0运动矢量指示的参考画面具有相同POC的参考画面之外,与当前画面具有最小POC差的画面可被推导为L1参考画面,并且考虑L0参考画面与当前画面之间的POC差以及推导出的L1参考画面与当前画面之间的POC差而缩放的L0运动矢量可被推导为L1方向运动矢量。
图12是示出运动矢量镜像的示图。
参照图12,基于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。
图13是示出运动矢量缩放的示图。
参照图13,在L1列表的参考画面之中,除了具有与由L0运动矢量指示的参考画面相同的POC的参考画面之外,与当前画面具有最小POC差的画面可被推导为L1参考画面,并且考虑L0参考画面和当前画面之间的POC差以及L1参考画面与当前画面之间的POC差而缩放的L0运动矢量可被推导为L1方向运动矢量。
具体地,除了由L0运动矢量指示的参考画面(POC 2)之外,与当前画面具有最小POC差的画面(POC 1)可被推导为L1参考画面。考虑L0参考画面与当前画面之间的POC差(tb)以及推导出的L1参考画面与当前画面之间的POC差(td)而缩放的L0运动矢量可被推导为L1方向运动矢量。
缩放运动矢量的处理可被执行如下。
td可表示当前画面的画面顺序计数与当前块的L1参考画面的画面顺序计数之间的差。tb可表示当前画面的画面顺序计数与当前块的L0参考图像的画面顺序计数之间的差。
可调整td值和tb值中的至少一个,使得td值或tb值存在于-128到127的范围内。这里,当tb值或td值小于-128时,td值或tb值可被调整为-128,并且当td值或tb值大于127时,td值或tb值可被调整为127。当td值或tb值在-128到127的范围内时,可不调整td值或tb值。也就是说,可执行tb值或tb值的限幅,使得tb值或tb值在预定值的范围内。
可以将tx值确定为(16384+Abs(td/2))/td。这里,绝对值函数被指定为Abs(),并且函数的输出值是输入值的绝对值。
缩放因子DistScaleFactor可被确定为(tb*tx+32)>>6,并且DistScaleFactor的值可被调整为在-1024到1023的范围内。
缩放后的运动矢量可被确定为Sign(DistScaleFactor*mv)*((Abs(DistScaleFactor*mv)+127)>>8)。这里,Sign()是输出特定值的符号信息的函数。Sign(-1)输出-。缩放之前的现有运动矢量值可被指定为mv。
图14是示出当在可执行双向预测的块中仅存在与L0列表或L1列表相应的一个运动矢量时推导附加运动矢量的示例的示图。在使用合并候选列表中的合并候选时,在当前块是可执行双向预测但仅具有与L0列表或L1列表相应的一个运动矢量的块时,可从不存在运动矢量的预测方向的合并候选列表推导附加运动矢量。
参照图14,当合并索引信息值是2时,仅存在L0运动矢量。在这种情况下,L1列表中的第n个可用运动矢量可被用作当前块的初始L1运动矢量。这里,n是在编码器/解码器中共同设置的值,并且可以是包括1的正整数。
图15是示出在可执行双向预测的块中选择具有双向运动信息的合并候选作为初始运动矢量的示例的示图。在使用合并候选列表中的合并候选时,在当前块是可执行双向预测的块时,在合并候选列表中的具有双向运动信息的合并候选可被用作初始运动矢量。这里,当在合并候选列表中存在具有双向运动信息的多个候选时,可使用具有最小合并索引信息的候选。
参照图15,在当前块是可执行双向预测的块时,可首先被使用的具有双向运动信息的与合并候选索引3相应的运动矢量可被用作初始运动矢量。
当不存在满足条件的参考画面时,可将通过现有合并索引信息选择的合并候选的运动信息推导为初始运动矢量。
同时,在基于按照描述的方式推导出的初始运动矢量执行运动校正时,当初始运动矢量具有子像素运动矢量时,可基于舍入到附近的整数像素位置的运动矢量来执行运动校正。
例如,在1/16运动矢量精度的情况下,可通过下面的公式4来执行舍入到整数像素位置。移位值根据精度而不同。在1/16运动矢量精度的情况下,移位值可以是4,并且在1/8运动矢量精度的情况下,移位值可以是3。
[公式4]
roundMV(x,y)=((MVx+(1<<shift-1))>>shift)<<shift,((MVy+(1<<shift-1))>>shift)<<shift
接下来,将详细描述基于推导出的初始运动矢量推导校正的运动矢量。
编码器/解码器可使用推导出的初始运动矢量以块为单位执行运动矢量校正。
在校正运动矢量时,可使用当前块的空间邻近块和/或时间邻近块来校正初始运动矢量。可将在校正运动矢量时使用的空间邻近块和/或时间邻近块的重建像素定义为模板。
例如,编码器/解码器可使用当前块的空间邻近重建像素来配置模板,并且可通过使用模板对初始运动矢量执行校正。
图16至图21是示出根据本发明的实施例的模板的示图。
在配置模板时,如图16所示,可使用当前块的上方和/或左侧邻近重建块的像素来配置模板。
这里,当当前块的上方或左侧邻近重建块的像素不可用时,可仅使用可用块的像素来配置模板。
例如,如图17所示,在当前块的上方邻近重建块不可用作画面边界、条带边界、并行块边界或CTU边界时,可仅使用左侧邻近重建块的像素来配置模板。在当前块的左侧邻近重建块不可用作画面边界、条带边界、并行块边界或CTU边界时,可仅使用上方邻近重建块的像素来配置模板。
此外,在配置模板时,可使用可用像素替换不可用像素以配置模板。这里,可用像素可以是当前块的邻近像素、将插值滤波器应用于邻近像素而推导出的像素、或者具有在编码器/解码器中预定义的值的像素。同时,可使用预测像素值而不是重建的像素值来配置模板。
在配置模板时,当运动矢量具有子像素单位时,可应用插值滤波器来产生相关位置的像素值。这里,在内插时使用的滤波器可以是双线性滤波器、8抽头DCT-IF滤波器等。在不发送关于在配置模板时使用的内插滤波器的信息的情况下,编码器/解码器可使用相同的预定方法,并且关于插值滤波器类型的信息可按照被包括在比特流中的方式被用信号发送。
同时,模板的尺寸可以是M×N,并且M和N可以是正整数。
例如,如图18所示,在当前块的尺寸(宽度×高度)是64×32并且在编码器/解码器中预定义的模板的像素长度是4个像素时,上方模板的尺寸可以是64×4并且左侧模板的尺寸可以是4×32。
这里,可根据运动矢量的精度来计算像素的长度。
例如,当运动矢量的精度是1/4单位并且块大小是16个像素时,模板的像素长度可被计算为4个像素。
同时,在配置模板时,当如图19所示当前块的宽度/高度不同时,上方模板和左侧模板的尺寸可以相同。
同时,在配置模板时,当模板的尺寸是M×N时,上方模板的M可具有大于当前块的宽度的值,并且N可具有在编码器/解码器中固定的像素长度。右侧模板的N可具有大于当前块的高度的值,并且M可具有在编码器/解码器中固定的像素长度。
例如,如图20所示,在当前块的尺寸为64×64并且由编码器/解码器定义的模板的像素长度为6个像素时,上方模板的尺寸可以是128×6,并且左侧模板的尺寸可以是6×128。
同时,在配置模板时,模板的尺寸可以是M×N,并且M和N可等于当前块的宽度/高度。
例如,在如图21所示当前块的尺寸是64×64时,左侧模板的尺寸可以是64×64并且上方模板的尺寸可以是64×64。
同时,在配置模板时,模板的尺寸可以是M×N,并且可根据当前块的尺寸信息或深度信息使用相反尺寸的模板。
例如,在当前块的尺寸为128×64并且宽度或高度大于32时,上方模板的尺寸可以是128×6并且左侧模板的尺寸可以是6×64。
例如,在当前块的尺寸(宽度×高度)是16×16并且宽度或高度小于32时,上方模板的尺寸可以是16×2并且左侧模板的尺寸可以是2×16。
同时,可将配置模板时所需的模板尺寸信息按照被包括在比特流中的方式用信号发送。
图22是示出通过使用模板校正初始运动矢量的示例的示图。
参照图22,在由初始运动矢量指示的参考画面的搜索区域中搜索指示使与当前块的邻近模板的误差最小化的模板的运动矢量,并且可将运动矢量确定为校正的运动矢量。
这里,可基于包括由初始运动矢量指示的像素位置的特定搜索区域来产生参考画面中的模板。
可根据十字形形状、正方形形状、菱形形状、六边形形状等的搜索方法不同地应用以由初始运动矢量指示的像素位置为中心的特定搜索区域。同时,使参考画面中的模板与当前块的邻近模板之间的误差最小化可表示使参考画面中的模板与当前块的邻近模板之间的差异最小化。
在计算参考画面中的模板与当前块的邻近模板之间的误差时,可考虑运动矢量的失真值和代价值中的至少一个来计算误差。
例如,当左侧模板和上方模板可用时,可如下计算代价值。
代价值=(左侧模板之间的失真值+上方模板之间的失真值)+(初始运动矢量(x,y)-校正的运动矢量(x,y))*加权因子
例如,当仅上方模板可用时,可如下计算代价值。
代价值=上方模板之间的失真值+(初始运动矢量(x,y)-校正的运动矢量(x,y))*加权因子
这里,在计算代价值时,加权因子可具有小于0的负数或大于0的正数。
同时,可使用模板之间的SAD和MR-SAD中的至少一个来计算失真值。
[公式5]
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)可表示参考画面中的左侧或上方模板像素值,并且detlatDC可表示(当前块的左侧模板平均像素值-参考画面中的左侧模板平均像素值)或(当前块的上方模板平均像素值-参考画面中的上方模板平均像素值)。
在以由基于初始运动矢量获得的校正的运动矢量(rMV)指示的像素位置为中心的特定搜索区域中,可找到指示使与当前块的模板的误差最小化的模板的新运动矢量(nMV)。
这里,当从新运动矢量(nMV)获得的参考画面的模板与当前块的模板之间的误差大于从校正的运动矢量(rMV)获得的参考画面的模板与当前块的模板之间的误差时,可不再执行校正处理。
然而,当从新运动矢量(nMV)获得的参考画面的模板与当前块的模板之间的误差小于从校正的运动矢量(rMV)获得的参考画面的模板与当前块的模板之间的误差时,可在以由新运动矢量(nMV)指示的像素位置为中心的特定搜索区域中获得并校正另一新运动矢量。
同时,当从新运动矢量(nMV)获得的参考画面的模板与当前块的模板之间的误差小于从校正的运动矢量(rMV)获得的参考画面的模板与当前块的模板之间的误差时,可重复搜索新运动矢量的操作。在这种情况下,可基于关于执行运动校正的次数的信息来限制搜索新运动矢量的操作。
例如,当关于执行运动校正的次数的信息具有值2时,搜索新运动矢量的操作可被限制为总共两次。
可将关于执行运动校正的次数的信息按照被包括在比特流中的方式用信号发送。
同时,执行运动校正的次数可以是在编码器和解码器两者中预设的特定值。
同时,当初始运动矢量具有用于N个预测方向的运动矢量(诸如,L0运动矢量、L1运动矢量等)时,可从每个预测方向获得针对运动矢量的校正的运动矢量。
同时,可基于搜索区域信息确定特定搜索区域。这里,可将确定搜索区域所需的搜索区域信息按照被包括在比特流中的方式用信号发送。
特定搜索区域的大小可根据编码参数(诸如,画面类型、时间层、块尺寸等)而不同。例如,当与最高层相应的画面的搜索区域的大小可具有1个整数像素大小时,与较低层相应的画面的搜索区域的大小可具有8个整数像素大小。图23至图25是示出通过使用当前块的预测块来校正初始运动矢量的示例的示图。可使用从运动矢量产生的当前块的预测块而不是如图22所描述的使用模板来执行初始运动矢量的校正。
在使用预测块执行运动校正时,可基于由初始运动矢量指示的每个参考画面中的预测块之间的差异来校正运动矢量。
这里,预测块可位于以由初始运动矢量指示的像素位置为中心的特定搜索范围中。根据从特定搜索范围推导出的运动矢量产生预测块,并且可将使预测块之间的差异最小化的运动矢量确定为校正的运动矢量。
预测块之间的差异可表示基于L0方向上的初始运动矢量(下文中,称为“L0初始运动矢量”)或L1方向上的初始运动矢量(下文中,称为“L1初始运动矢量”)产生的多个预测块之间的差异,或者可表示基于L0初始运动矢量和L1初始运动矢量分别产生的预测块之间的差异。
例如,如图23所示,可将使预测块P0与预测块P1之间的误差最小化的运动矢量确定为校正的运动矢量,其中,预测块P0是从在以由L0初始运动矢量指示的L0参考画面中的像素位置为中心的特定搜索区域内移位的运动矢量产生的,预测块P1是从基于L0运动矢量推导出的L1运动矢量产生的。这里,L1运动矢量可以是通过对初始L0运动矢量或在特定搜索范围内移位的L0运动矢量进行镜像或缩放而推导出的运动矢量。
作为另一示例,如图24所示,可将使预测块P1与预测块P0之间的误差最小化的运动矢量确定为校正的运动矢量,其中,预测块P1是从在以由L1初始运动矢量指示的L1参考图像中的像素位置为中心的特定搜索范围内移位的运动矢量产生的,预测块P0是从基于L1运动矢量推导出的L0运动矢量产生的。这里,L0运动矢量可以是通过对L1初始运动矢量或在特定搜索范围内移位的L1运动矢量进行镜像或缩放而推导出的运动矢量。
同时,在从Lx运动矢量推导Ly方向运动矢量时,可考虑由Lx运动矢量指示的参考画面、具有当前块的画面以及在Ly方向上的参考画面之间的时间距离(或POC差)中的至少一个。这里,x和y可以是包括0的不同的正整数。
作为镜像操作的示例,可将基于L1参考画面列表中的这样的参考画面而镜像的L0运动矢量推导为L1方向运动矢量:该参考画面和具有当前块的画面之间的POC差与由L0运动矢量指示的参考画面和具有当前块的画面之间的POC差相同。
作为缩放操作的示例,在L1参考画面列表中的参考画面之中,除了与由L0运动矢量指示的参考画面具有相同POC的参考画面之外,可将基于与当前画面具有最小POC差的画面考虑POC差而缩放的L0运动矢量推导为L1方向运动矢量。
同时,在使用预测块执行运动校正时,可使用通过对从L0初始运动矢量产生的预测块和从L1初始运动矢量产生的预测块进行加权求和而产生的块来执行运动校正。
例如,如图25所示,可将通过对从L0初始运动矢量产生的预测块Pr0和从L1初始运动矢量产生的预测块P1进行加权求和而产生的预测块Ps设置为模板。可使运动矢量在以由L0初始运动矢量指示的像素位置为中心的特定搜索范围内移位来产生预测块Pr0。这里,可将使产生的预测块(Pr0)和模板(Ps)之间的误差最小化的运动矢量确定为L0列表方向上的校正的运动矢量。
此外,可使运动矢量在以由L1运动矢量指示的像素位置为中心的特定搜索范围内移位来产生预测块(Pr1)。这里,可将使产生的预测块(Pr1)与模板(Ps)之间的误差最小化的运动矢量确定为L1列表方向上的校正的运动矢量。
同时,可如下计算预测块(Ps)。
Ps=(a1*P0+a2*P1)>>1
这里,a1和a2是加权求和中使用的加权因子。加权因子不限于固定值,并且可以是可变值。应用于每个预测块的加权因子可彼此相同或不同。为了应用可变的加权因子,可将用于解码目标块的加权因子信息按照被包括在比特流中的方式用信号发送。
同时,当仅推导出L0初始运动矢量时,可仅将从L0初始运动矢量产生的预测块P0设置为模板。可将使模板与预测块Pr0之间的误差最小化的运动矢量确定为L0列表方向上的校正的运动矢量,其中,预测块Pr0是使运动矢量在以由L0初始运动矢量指示的像素位置为中心的特定搜索范围内移位而产生的。
同时,在计算当前块与预测块之间的差异时,可考虑运动矢量的失真值和代价值中的至少一个来计算预测块之间的差异。
例如,当使用L0初始运动矢量产生了预测块P0和P1时,可如下计算代价值。
代价值=失真值(预测块P0-预测块P1)+(初始L0运动矢量–校正的L0运动矢量)*加权因子
例如,当使用L1初始运动矢量产生了预测块P0和P1时,可如下计算代价值。
代价值=失真值(预测块P0-预测块P1)+(初始L1运动矢量–校正的L1运动矢量)*加权因子
这里,在计算代价值时,加权因子可具有小于0的负数或大于0的正数。
同时,在计算代价值时,可使用预测块之间的SAD、SATD和MR-SAD中的至少一个来计算失真值。
在以由基于初始运动矢量获得的校正的运动矢量(rMV)指示的像素位置为中心的特定搜索区域中,搜索使预测块之间的误差最小化的新运动矢量(nMV)。
这里,当从新运动矢量(nMV)获得的预测块P0和P1之间的误差大于从校正的运动矢量(rMV)获得的预测块P0和P1之间的误差时,校正处理可不被进一步执行。然而,当从新运动矢量(nMV)获得的预测块P0和P1之间的误差小于从校正的运动矢量(rMV)获得的预测块P0和P1之间的误差时,在以由新运动矢量(nMV)指示的像素位置为中心的特定搜索区域中搜索另一新运动矢量,以校正所述另一新运动矢量。
同时,当从新运动矢量获得的预测块之间的误差小于从校正的运动矢量获得的预测块之间的误差时,可重复搜索新运动矢量的操作。在这种情况下,可基于关于执行运动校正的次数的信息来限制搜索新运动矢量的操作。
例如,当关于执行运动校正的次数的信息具有值2时,搜索新运动矢量可被限制为总共两次。
可将关于执行运动校正的次数的信息按照被包括在比特流中的方式用信号发送。同时,执行运动校正的次数可以是在编码器和解码器两者中预设的特定值。
如上所述,存在多种通过使用模板和预测块的基于初始运动矢量的运动矢量校正方法。
编码器/解码器可通过使用指示运动矢量校正方法的运动矢量校正模式信息(MV_REFINE_MODE)来选择多种运动矢量校正方法中的一种。
例如,当运动矢量校正模式信息(MV_REFINE_MODE)具有第一值0时,可使用当前块的邻近模板来校正运动矢量。相反,当运动矢量校正模式信息(MV_REFINE_MODE)具有第二值1时,可使用从运动矢量获得的预测块来校正运动矢量。这里,第一值和第二值可被分别设置为1和0。
同时,可将运动矢量校正模式信息按照被包括在比特流中的方式用信号发送。
同时,可根据编码参数确定运动矢量校正方法。
例如,在当前块的初始运动矢量具有单向运动矢量时,可使用邻近模板来校正运动矢量。在当前块的初始运动矢量具有双向矢量时,可使用从运动矢量获得的预测块信号来校正运动矢量。
编码器/解码器可通过使用编码参数而不是运动矢量校正模式信息来选择运动矢量校正方法。例如,在当前块可仅使用L0运动矢量或L1运动矢量时,可使用邻近模板来校正运动矢量。在当前块可使用L0运动矢量和L1运动矢量两者时,可使用通过对从运动矢量获得的预测块进行加权求和而产生的预测块作为模板来校正每个预测方向的运动矢量。作为另一示例,在当前块可使用仅L0运动矢量或L1运动矢量时,可使用邻近模板来校正运动矢量。在当前块可使用L0运动矢量和L1运动矢量两者时,可使用从每个预测方向的运动矢量获得的预测块之间的差异来校正每个预测方向的运动矢量。
同时,在推导当前块的运动矢量时,可将初始运动矢量用作当前块的运动矢量,而不校正初始运动矢量。接下来,将详细描述以子块为单位推导校正的运动矢量。
可以将当前块分区为一个或更多个子块。
例如,通过将当前块在水平方向上分区为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。
同时,可在编码器和解码器中预先确定子块的尺寸。
同时,可基于子块尺寸信息确定子块的尺寸。可将子块尺寸信息按照被包括在比特流中的方式用信号发送。
此外,在计算子块的尺寸时,可在确定子块的尺寸时考虑子块尺寸信息和当前块尺寸信息两者。
例如,当子块尺寸信息指示子块深度信息时,可如下使用当前块的宽度/高度和子块深度信息来确定子块的尺寸。
子块的尺寸=(块的宽度/高度的平均值>>子块深度信息)
例如,如图26所示,当块的宽度/高度的平均值是64并且子块深度信息具有值3时,子块的尺寸可以被确定为8。
子块可具有正方形形状和矩形形状中的至少一种。
例如,如图27所示,在当前块具有正方形形状时,子块可具有矩形形状。在当前块具有矩形形状时,子块可具有正方形形状。编码器和解码器可通过使用以下方法中的至少一种来以子块为单位设置用于运动矢量校正的初始运动矢量。
(1)可以以子块为单位将以块为单位确定的初始运动矢量或校正的运动矢量设置为初始运动矢量。
(2可以以子块为单位将零运动矢量(0,0)设置为初始运动矢量。
(3)可以以子块为单位将从同位画面中重建的块(作为子块的时间邻域)推导出的运动矢量设置为初始运动矢量。
(4)可以以子块为单位将通过以子块为单位的合并而推导出的运动矢量设置为初始运动矢量的初始值。
(5)可以以子块为单位将与当前子块的左侧和上方相邻的子块的运动矢量设置为初始运动矢量。例如,如图28所示,可将当前块(s)的左侧子块(b)、左下子块(a)、左上子块(c)、上方子块(d)和右上子块(f)的运动矢量用作当前子块的初始运动矢量。
在通过方法(1)至(5)设置的至少一个子块单元的初始运动矢量中,仅可使用与以块为单位确定的运动信息的参考画面索引信息具有相同值的初始运动矢量。
然而,当初始运动矢量不同于以块为单位确定的运动信息的参考画面索引信息时,可以以子块为单元将考虑时间距离的缩放值用作初始运动矢量。
在以子块为单位获得用于运动矢量校正的初始运动矢量时,可将子块的参考画面索引信息设置为同一特定值。
例如,可将所有子块的参考画面索引信息设置为值0。
因此,当以块为单位确定的运动信息和从邻域推导出的运动信息的参考画面索引信息不具有值0时,运动矢量考虑时间距离被缩放,并随后可被用作相关子块的初始运动矢量。
编码器和解码器可通过使用推导出的初始运动矢量以子块为单位执行运动矢量校正。
编码器和解码器通过使用上述模板的运动矢量校正方法和使用预测块的运动矢量校正方法中的至少一个,使用当前块的空间邻近块和/或时间邻近块来对子块的初始运动矢量执行校正。
同时,关于运动补偿的信息可包括可在运动矢量校正方法中使用的关于是否使用基于合并模式的运动矢量校正的信息、模板尺寸信息、搜索区域信息、加权因子信息、关于执行运动校正的次数的信息、运动矢量校正模式信息和子块尺寸信息。
由于已经参照图5的步骤S504和图6的步骤S601详细描述了对关于运动补偿的信息进行熵编码/熵解码,因此将它省略。
当AMVP模式而不是合并模式被应用于当前块并且存在至少一个运动矢量候选时,产生的运动矢量候选列表可用于推导校正的运动矢量候选。
例如,当重建的邻近块的运动矢量、col块的运动矢量和与col块相邻的块的运动矢量中的至少一个被确定为运动矢量候选并且运动矢量候选列表被产生时,可将产生的运动矢量候选用作初始运动矢量,并且可通过使用模板的运动矢量校正方法推导校正的运动矢量。
这里,当存在N个运动矢量候选时,可将使参考画面中的模板与编码/解码目标块的邻近模板之间的差异最小化的运动矢量候选用作校正的运动矢量。
同时,当确定的校正的运动矢量候选具有与运动矢量候选列表中的第一个运动矢量候选的运动矢量值不同的运动矢量值时,确定的校正的运动矢量候选可用作运动矢量候选列表中的第一个运动矢量候选。在这种情况下,可将列表中的现有运动矢量候选的位置递增一,并且可从该列表中去除第N个候选。
例如,当从重建的邻近块的运动矢量、col块的运动矢量和与col块相邻的块的运动矢量确定了一个运动矢量候选时,可将该运动矢量候选用作初始运动矢量,并且可通过使用模板的运动矢量校正方法推导校正的运动矢量。
同时,当确定的校正的运动矢量候选具有与运动矢量候选列表中的第一个运动矢量候选的校正的运动矢量值不同的校正的运动矢量值时,可将该校正的运动矢量候选用作运动矢量候选列表中的第二个候选。同时,在配置合并候选列表和运动矢量候选列表时,当使用运动校正方法对空间/时间候选块进行编码/解码时,相关候选可不被包括在列表中。
此外,对于通过运动校正方法编码/解码的块,可不进一步应用重叠块运动补偿(OMBC)、基于双向光流(BIO)的运动校正方法等。
此外,可从与合并索引信息相应的候选块推导针对通过运动校正方法编码/解码的块的局部照度补偿信息。图29是示出根据本发明的实施例的用于对图像进行解码的方法的流程图。
参照图29,在步骤S2910,解码器可从当前块的合并候选列表推导初始运动矢量。
在这种情况下,可从合并候选列表中的由合并索引信息指示的合并候选推导初始运动矢量。
同时,在当前块是可执行双向预测的块并且由合并索引信息指示的合并候选仅在一个预测方向上具有运动信息时,可对现有运动信息的运动矢量进行镜像或缩放以推导在不存在运动信息的预测方向上的初始运动矢量。由于其详细描述已经参照图12和图13被描述,因此它将被省略。
在步骤S2920,解码器可通过使用初始运动矢量来推导校正的运动矢量。
具体地,在步骤S2920推导校正的运动矢量时,在由初始运动矢量指示的参考画面的搜索区域中搜索指示使与当前块的邻近模板的差异最小化的模板的运动矢量,并且可将指示使所述差异最小化的模板的运动矢量推导为校正的运动矢量。
这里,可将特定搜索区域确定为以由初始运动矢量指示的参考画面的像素位置为中心的区域,其中,该区域具有十字形形状、正方形形状、菱形形状和六边形形状中的至少一种形状。
可基于模板之间的失真值和运动矢量的代价值中的至少一个来搜索由初始运动矢量指示的参考画面的搜索区域中的指示使当前块的邻近模板之间的差异最小化的模板的运动矢量。
同时,在步骤S2920中推导校正的运动矢量时,可基于由初始运动矢量指示的至少一个预测块来推导校正的运动矢量。
这里,在当前块是双向预测块时,可将由第一预测方向初始运动矢量指示的第一预测块和由第二预测方向初始运动矢量指示的第二预测块的加权和设置为模板,并且可设置由第一预测方向初始运动矢量和第二预测方向初始运动矢量中的至少一个指示的至少一个参考画面的搜索区域,使得可将搜索区域中的指示使与模板的差异最小化的第三预测块的运动矢量推导为校正的运动矢量。这里,当设置了由第一预测方向初始运动矢量指示的第一搜索区域和由第二预测方向初始运动矢量指示的第二搜索区域时,可使用第一个搜索区域和第二个搜索区域中的指示使与模板的差异最小化的预测块的运动矢量来推导校正的运动矢量。
同时,当第一预测方向初始运动矢量或第二预测方向初始运动矢量不存在时,可对现有初始运动矢量进行镜像或缩放来推导非现有的初始运动矢量。
在步骤S2930,可使用校正的运动矢量产生当前块的预测块。
在用于对图像进行解码的方法中,当前块可以是解码目标块的子块。在这种情况下,可以以子块为单位校正运动矢量。
可在编码器和解码器中以相同的方法执行以上实施例。
应用于以上实施例的顺序在编码器和解码器之间可以是不同的,或者应用于以上实施例的顺序在编码器和解码器中可以是相同的。
可对每个亮度信号和色度信号执行以上实施例,或者可对亮度信号和色度信号相同地执行以上实施例。
本发明的以上实施例所应用于的块形式可具有正方形形式或非正方形形式。
可根据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的以上实施例。这里,尺寸可被定义为最小尺寸或最大尺寸或者两者,使得以上实施例被应用,或者尺寸可被定义为以上实施例所应用于的固定尺寸。另外,在以上实施例中,第一实施例可被应用于第一尺寸,第二实施例可被应用于第二尺寸。换言之,可根据尺寸组合地应用以上实施例。另外,当尺寸等于或大于最小尺寸并且等于或小于最大尺寸时,以上实施例可被应用。换言之,当块尺寸包括在特定范围内时,以上实施例可被应用。
例如,当当前块的尺寸是8×8或更大时,以上实施例可被应用。例如,当当前块的尺寸是4×4或更大时,以上实施例可被应用。例如,当当前块的尺寸是16×16或更大时,以上实施例可被应用。例如,当当前块的尺寸等于或大于16×16并且等于或小于64×64时,以上实施例可被应用。
可根据时间层来应用本发明的以上实施例。为了识别以上实施例可被应用于的时间层,指示时间层的标识符可被用信号发送,并且以上实施例可应用于由相应标识符标识的指定时间层。这里,标识符可被定义为以上实施例可被应用于的最低层或最高层或者两者,或者可被定义为指示实施例被应用于的特定层。另外,可定义实施例被应用于的固定时间层。
例如,当当前图像的时间层是最低层时,以上实施例可被应用。例如,当当前图像的时间层标识符是1时,以上实施例可被应用。例如,当当前图像的时间层是最高层时,以上实施例可被应用。
可定义本发明的以上实施例被应用于的条带类型,并且可根据相应的条带类型应用以上实施例。
在上述实施例中,基于具有一系列步骤或单元的流程图描述了这些方法,但是本发明不限于这些步骤的顺序,相反,一些步骤可以与其他步骤同时或以不同顺序执行。另外,本领域普通技术人员应该理解,在不影响本发明的范围的情况下,流程图中的步骤不排除彼此,并且其他步骤可被添加到流程图中,或者步骤中的一些步骤可从流程图中删除。
实施例包括示例的各个方面。可不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括权利要求的范围内的所有替换、修改和改变。
可以以可由各种计算机组件执行并记录在计算机可读记录介质中的程序指令的形式实现本发明的实施例。计算机可读记录介质可单独地包括程序指令、数据文件、数据结构等,或者可包括程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明专门设计和构造的或者对于计算机软件技术领域中的普通技术人员公知的。计算机可读记录介质的示例包括磁记录介质(诸如硬盘、软盘和磁带)、光学数据存储介质(诸如,CD-ROM或DVD-ROM)、磁光介质(诸如软光盘)以及被专门构造为存储和实现程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)和闪存等)。程序指令的示例不仅包括由编译器格式化的机器语言代码,而且包括可由计算机使用解释器实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作或者反之亦然,以进行根据本发明的处理。
本发明的实施方式公开了但不限于如下方案:
方案1、一种对图像进行解码的方法,所述方法包括:
从当前块的合并候选列表推导初始运动矢量;
使用初始运动矢量推导校正的运动矢量;并且
使用校正的运动矢量产生当前块的预测块。
方案2、根据方案1所述的方法,其中,在推导初始运动矢量时,从由合并索引信息指示的合并候选推导初始运动矢量。
方案3、根据方案2所述的方法,其中,在推导初始运动矢量时,当当前块是能够进行双向预测的块并且在由合并索引信息指示的合并候选中存在仅一个预测方向上的运动信息时,对现有运动信息的运动矢量进行镜像或缩放,以推导在不存在运动信息的预测方向上的初始运动矢量。
方案4、根据方案1所述的方法,其中,在推导校正的运动矢量时,在由初始运动矢量指示的参考画面的搜索区域中搜索指示使与当前块的邻近模板的差异最小化的模板的运动矢量,并且将指示使所述差异最小化的模板的运动矢量推导为校正的运动矢量。
方案5、根据方案4所述的方法,其中,所述搜索区域被确定为以由初始运动矢量指示的参考画面的像素位置为中心的区域,其中,所述区域具有十字形形状、正方形形状、菱形形状和六边形形状中的至少一种形状。
方案6、如方案4所述的方法,其中,基于模板之间的失真值和运动矢量的代价值中的至少一个来搜索在由初始运动矢量指示的参考画面的搜索区域中的指示使与当前块的邻近模板的差异最小化的模板的运动矢量。
方案7、根据方案1所述的方法,其中,在推导校正的运动矢量时,基于由初始运动矢量指示的至少一个预测块来推导校正的运动矢量。
方案8、如方案7所述的方法,其中,在推导校正的运动矢量时,当当前块是双向预测块时,将由第一预测方向初始运动矢量指示的第一预测块和由第二预测方向初始运动矢量指示的第二预测块的加权和设置为模板,并且设置由第一预测方向初始运动矢量和第二预测方向初始运动矢量中的至少一个指示的至少一个参考画面的搜索区域,使得将所述搜索区域中的指示使与所述模板的差异最小化的第三预测块的运动矢量推导为校正的运动矢量。
方案9、根据方案8所述的方法,其中,当第一预测方向初始运动矢量或第二预测方向初始运动矢量不存在时,对现有初始运动矢量进行镜像或缩放来推导非现有的初始运动矢量。
方案10、如方案1所述的方法,其中,当前块是解码目标块的子块。
方案11、一种用于对图像进行编码的方法,所述方法包括:
从当前块的合并候选列表推导初始运动矢量;
使用初始运动矢量推导校正的运动矢量;并且
使用校正的运动矢量产生当前块的预测块。
方案12、根据方案11所述的方法,其中,在推导初始运动矢量时,从由合并索引信息指示的合并候选推导初始运动矢量。
方案13、根据方案12所述的方法,其中,在推导初始运动矢量时,当当前块是能够进行双向预测的块并且在由合并索引信息指示的合并候选中存在仅一个预测方向上的运动信息时,对现有运动信息的运动矢量进行镜像或缩放,以推导在不存在运动信息的预测方向上的初始运动矢量。
方案14、根据方案11所述的方法,其中,在推导校正的运动矢量时,在由初始运动矢量指示的参考画面的搜索区域中搜索指示使与当前块的邻近模板的差异最小化的模板的运动矢量,并且将指示使所述差异最小化的模板的运动矢量推导为校正的运动矢量。
方案15、根据方案14所述的方法,其中,所述搜索区域被确定为以由初始运动矢量指示的参考画面的像素位置为中心的区域,其中,所述区域具有十字形形状、正方形形状、菱形形状和六边形形状中的至少一种形状。
方案16、如方案14所述的方法,其中,基于模板之间的失真值和运动矢量的代价值中的至少一个来搜索在由初始运动矢量指示的参考画面的搜索区域中的指示使与当前块的邻近模板的差异最小化的模板的运动矢量。
方案17、根据方案11所述的方法,其中,在推导校正的运动矢量时,基于由初始运动矢量指示的至少一个预测块来推导校正的运动矢量。
方案18、如方案17所述的方法,其中,在推导校正的运动矢量时,当当前块是双向预测块时,将由第一预测方向初始运动矢量指示的第一预测块和由第二预测方向初始运动矢量指示的第二预测块的加权和设置为模板,并且设置由第一预测方向初始运动矢量和第二预测方向初始运动矢量中的至少一个指示的至少一个参考画面的搜索区域,使得将所述搜索区域中的指示使与所述模板的差异最小化的第三预测块的运动矢量推导为校正的运动矢量。
方案19、根据方案18所述的方法,其中,当第一预测方向初始运动矢量或第二预测方向初始运动矢量不存在时,对现有初始运动矢量进行镜像或缩放来推导非现有的初始运动矢量。
方案20、一种存储通过用于对图像进行解码的方法形成的比特流的记录介质,所述方法包括:
从当前块的合并候选列表推导初始运动矢量;
使用初始运动矢量推导校正的运动矢量;并且
使用校正的运动矢量产生当前块的预测块。
尽管已经在特定项目(诸如,详细元件)以及有限的实施例和附图方面描述了本发明,但是仅提供它们以帮助更一般地理解本发明,并且本发明不限于上述实施例。本发明所属领域的技术人员将理解,可从以上描述进行各种修改和改变。
因此,本发明的精神不应限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。
工业适用性
本发明可在用于对图像进行编码/解码的设备中被使用。

Claims (5)

1.一种用于解码图像的方法,所述方法包括:
基于当前块的相邻块,推导合并候选列表;
从所述当前块的所述合并候选列表推导初始运动矢量;
推导校正的运动矢量,所述校正的运动矢量指示在围绕参考画面中的由所述初始运动矢量指示的像素位置所确定的十字形区域内的像素位置;和
通过使用所述校正的运动矢量生成所述当前块的预测块,
其中,所述初始运动矢量是从由初始运动矢量索引信息指示的合并候选推导的,
其中,在所述初始运动矢量索引信息没有被解码的情况下,所述初始运动矢量被设置成所述合并候选列表中的第一合并候选,
其中,所述相邻块包括空间相邻块和时间相邻块中的至少一个,以及
其中,所述时间相邻块位于与当前画面不同的画面中。
2.根据权利要求1所述的方法,其中,所述方法还包括:
获得合并模式使用信息;和
基于所述合并模式使用信息,获得基于合并模式的运动矢量校正使用信息。
3.一种用于编码图像的方法,所述方法包括:
基于当前块的相邻块,推导合并候选列表;
从所述当前块的所述合并候选列表推导初始运动矢量;
推导校正的运动矢量,所述校正的运动矢量指示在围绕参考画面中的由所述初始运动矢量指示的像素位置所确定的十字形区域内的像素位置;
通过使用所述校正的运动矢量生成所述当前块的预测块;和
对指示用作所述合并候选列表中的所述初始运动矢量的合并候选的初始运动矢量索引信息进行编码,
其中,在所述初始运动矢量索引信息没有被编码的情况下,所述初始运动矢量被设置成所述合并候选列表中的第一合并候选,
其中,所述相邻块包括空间相邻块和时间相邻块中的至少一个,以及
其中,所述时间相邻块位于与当前画面不同的画面中。
4.根据权利要求3所述的方法,其中,所述方法还包括:
对合并模式使用信息进行编码;和
基于所述合并模式使用信息,对基于合并模式的运动矢量校正使用信息进行编码。
5.一种用于传送由图像编码器生成的比特流的方法,所述比特流包括初始运动矢量索引信息,
其中,所述初始运动矢量索引信息被用来指示当前块的合并候选列表中的初始运动矢量,
其中,所述初始运动矢量被用来推导校正的运动矢量,
其中,所述校正的运动矢量指示在围绕参考画面中的由所述初始运动矢量指示的像素位置所确定的十字形区域内的像素位置,
其中,在所述初始运动矢量索引信息没有被包括在所述比特流中的情况下,所述初始运动矢量被设置成所述合并候选列表中的第一合并候选,
其中,所述合并候选列表是基于所述当前块的相邻块被推导的,
其中,所述相邻块包括空间相邻块和时间相邻块中的至少一个,以及
其中,所述时间相邻块位于与当前画面不同的画面中。
CN202311524467.1A 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法 Pending CN117528108A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20160159717 2016-11-28
KR10-2016-0159717 2016-11-28
CN201780073403.0A CN109997363B (zh) 2016-11-28 2017-11-28 图像编码/解码方法和装置以及存储有比特流的记录介质
PCT/KR2017/013673 WO2018097693A2 (ko) 2016-11-28 2017-11-28 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780073403.0A Division CN109997363B (zh) 2016-11-28 2017-11-28 图像编码/解码方法和装置以及存储有比特流的记录介质

Publications (1)

Publication Number Publication Date
CN117528108A true CN117528108A (zh) 2024-02-06

Family

ID=62195228

Family Applications (8)

Application Number Title Priority Date Filing Date
CN201780073403.0A Active CN109997363B (zh) 2016-11-28 2017-11-28 图像编码/解码方法和装置以及存储有比特流的记录介质
CN202311530058.2A Pending CN117528111A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311521182.2A Pending CN117528105A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311523399.7A Pending CN117528106A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311529594.0A Pending CN117528110A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311524467.1A Pending CN117528108A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311529514.1A Pending CN117528109A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311524273.1A Pending CN117528107A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法

Family Applications Before (5)

Application Number Title Priority Date Filing Date
CN201780073403.0A Active CN109997363B (zh) 2016-11-28 2017-11-28 图像编码/解码方法和装置以及存储有比特流的记录介质
CN202311530058.2A Pending CN117528111A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311521182.2A Pending CN117528105A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311523399.7A Pending CN117528106A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311529594.0A Pending CN117528110A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202311529514.1A Pending CN117528109A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法
CN202311524273.1A Pending CN117528107A (zh) 2016-11-28 2017-11-28 图像编码方法、图像解码方法及用于传送比特流的方法

Country Status (6)

Country Link
US (4) US11343530B2 (zh)
EP (1) EP3547687A4 (zh)
JP (3) JP7044778B2 (zh)
KR (4) KR102283517B1 (zh)
CN (8) CN109997363B (zh)
WO (1) WO2018097693A2 (zh)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109997363B (zh) * 2016-11-28 2023-12-05 英迪股份有限公司 图像编码/解码方法和装置以及存储有比特流的记录介质
WO2019072368A1 (en) 2017-10-09 2019-04-18 Huawei Technologies Co., Ltd. LIMITED MEMORY ACCESS WINDOW FOR MOTION VECTOR REFINEMENT
US11057640B2 (en) * 2017-11-30 2021-07-06 Lg Electronics Inc. Image decoding method and apparatus based on inter-prediction in image coding system
WO2019151093A1 (en) * 2018-01-30 2019-08-08 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction for video coding using motion vector predictor origins
KR102368621B1 (ko) * 2018-02-28 2022-02-28 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
KR20230104771A (ko) 2018-02-28 2023-07-10 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN116684594A (zh) * 2018-04-30 2023-09-01 寰发股份有限公司 照度补偿方法及相应的电子装置
GB2588003B (en) 2018-06-05 2023-04-19 Beijing Bytedance Network Tech Co Ltd Interaction between pairwise average merging candidates and IBC
EP3809701A4 (en) 2018-06-18 2022-06-22 Industry Academy Cooperation Foundation Of Sejong University METHOD AND APPARATUS FOR ENCODING/DECODING AN IMAGE
WO2019244118A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Component-dependent sub-block dividing
WO2019244117A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
WO2020004931A1 (ko) * 2018-06-27 2020-01-02 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 처리 방법 및 장치
SG11202011714RA (en) 2018-06-29 2020-12-30 Beijing Bytedance Network Technology Co Ltd Partial/full pruning when adding a hmvp candidate to merge/amvp
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
WO2020005035A1 (ko) * 2018-06-29 2020-01-02 한국전자통신연구원 처리율 향상을 위한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20200002701A (ko) * 2018-06-29 2020-01-08 인텔렉추얼디스커버리 주식회사 디코더 측면의 움직임 보정을 사용하는 비디오 코딩 방법 및 장치
KR102646649B1 (ko) 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
EP3791586A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
TWI724442B (zh) 2018-06-29 2021-04-11 大陸商北京字節跳動網絡技術有限公司 用於查找表更新的編碼的運動信息的選擇
SG11202013028PA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Interaction between lut and amvp
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
TWI731364B (zh) * 2018-07-02 2021-06-21 大陸商北京字節跳動網絡技術有限公司 Hmvp+非相鄰運動
WO2020009390A1 (ko) * 2018-07-02 2020-01-09 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 처리 방법 및 장치
WO2020009427A1 (ko) * 2018-07-02 2020-01-09 엘지전자 주식회사 영상 코딩 시스템의 인터 예측에서 템플릿 기반의 후보 리스트 재정렬 방법 및 장치
WO2020009515A1 (ko) * 2018-07-05 2020-01-09 엘지전자 주식회사 Ctu 단위의 버퍼 압축을 이용한 영상 코딩 방법 및 그 장치
WO2020013673A1 (ko) * 2018-07-13 2020-01-16 엘지전자 주식회사 Dmvr에 기반하여 인터 예측을 수행하는 방법 및 장치
WO2020017840A1 (ko) * 2018-07-16 2020-01-23 엘지전자 주식회사 Dmvr에 기반하여 인터 예측을 수행하는 방법 및 장치
US11184635B2 (en) * 2018-08-31 2021-11-23 Tencent America LLC Method and apparatus for video coding with motion vector constraints
CN115250350B (zh) 2018-09-03 2024-04-09 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
CN111064959B (zh) 2018-09-12 2023-09-01 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
CN114125467A (zh) * 2018-09-13 2022-03-01 华为技术有限公司 一种预测运动信息的解码方法及装置
TWI815967B (zh) * 2018-09-19 2023-09-21 大陸商北京字節跳動網絡技術有限公司 仿射模式編解碼的模式相關自適應調整運動矢量分辨率
GB2577318B (en) * 2018-09-21 2021-03-10 Canon Kk Video coding and decoding
JP6976916B2 (ja) 2018-09-21 2021-12-08 Kddi株式会社 画像復号装置、画像符号化装置、画像処理システム及びプログラム
WO2020065518A1 (en) 2018-09-24 2020-04-02 Beijing Bytedance Network Technology Co., Ltd. Bi-prediction with weights in video coding and decoding
WO2020096425A1 (ko) * 2018-11-08 2020-05-14 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
CN112970262B (zh) * 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 三角预测模式中的取整
WO2020101392A1 (ko) * 2018-11-14 2020-05-22 에스케이텔레콤 주식회사 인터 예측 방법 및 이를 이용한 영상 복호화 장치
KR20200056272A (ko) 2018-11-14 2020-05-22 에스케이텔레콤 주식회사 인터 예측 방법 및 이를 이용한 영상 복호화 장치
EP3884672A1 (en) 2018-11-20 2021-09-29 InterDigital VC Holdings, Inc. Current picture referencing block vector initialization with dual tree
JP7319365B2 (ja) 2018-11-22 2023-08-01 北京字節跳動網絡技術有限公司 サブブロックに基づくインター予測のための調整方法
CN116744008A (zh) * 2018-12-15 2023-09-12 华为技术有限公司 图像重建方法和装置
US11876957B2 (en) 2018-12-18 2024-01-16 Lg Electronics Inc. Method and apparatus for processing video data
CN112236996A (zh) * 2018-12-21 2021-01-15 株式会社 Xris 视频信号编码/解码方法及其装置
CN112565785B (zh) 2018-12-28 2022-04-26 杭州海康威视数字技术股份有限公司 一种编解码方法及其设备
CN113273186A (zh) 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 Lut更新的调用
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
WO2020173196A1 (en) * 2019-02-28 2020-09-03 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for inter prediction
WO2020177696A1 (en) * 2019-03-05 2020-09-10 Huawei Technologies Co., Ltd. Use of extended samples during search in decoder-side motion refinement
CN113728643A (zh) * 2019-03-11 2021-11-30 Vid拓展公司 对称合并模式运动向量编码
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
EP3975561A4 (en) * 2019-06-14 2023-03-22 LG Electronics Inc. METHOD AND DEVICE FOR IMAGE CODING BASED ON INTER PREDICTION
KR20240006015A (ko) * 2019-06-14 2024-01-12 엘지전자 주식회사 움직임 벡터를 이용한 영상 코딩 방법 및 장치
JP7481430B2 (ja) 2019-08-13 2024-05-10 北京字節跳動網絡技術有限公司 サブブロックに基づくインター予測における動き精度
CN113709487B (zh) * 2019-09-06 2022-12-23 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
KR20220051842A (ko) * 2019-09-18 2022-04-26 삼성전자주식회사 움직임 정보의 부호화 장치 및 방법, 및 복호화 장치 및 방법
CN114762330A (zh) 2019-09-22 2022-07-15 北京字节跳动网络技术有限公司 视频的子图片编码和解码
US11792423B2 (en) * 2019-11-22 2023-10-17 Qualcomm Incorporated Early termination of motion vector refinement process in video coding
CN111163322B (zh) * 2020-01-08 2022-08-30 绍兴文理学院 对基于历史运动矢量的索引进行映射的编码及解码方法
WO2022173913A1 (en) * 2021-02-11 2022-08-18 Dolby Laboratories Licensing Corporation Intra-prediction for hexagonally-sampled video and image compression
KR20240050408A (ko) * 2021-08-27 2024-04-18 주식회사 윌러스표준기술연구소 움직임 정보를 보정하는 방법 및 이를 위한 장치
WO2024010338A1 (ko) * 2022-07-05 2024-01-11 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19548452C1 (de) * 1995-12-22 1997-02-20 Siemens Ag Verfahren zur rechnergestützten Bewegungsschätzung für Bildpunkte zeitlich aufeinander folgender Bilder einer Videosequenz
KR20010045766A (ko) 1999-11-08 2001-06-05 오길록 상태천이도를 이용하여 제어부를 구현한 움직임 추정 장치
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
KR100450746B1 (ko) 2001-12-15 2004-10-01 한국전자통신연구원 계층탐색 기반의 혼합형 움직임 추정 장치 및 방법
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
US9924188B2 (en) * 2011-01-07 2018-03-20 Lg Electronics Inc. Method for encoding and decoding image information to determine reference index in skip mode or merge mode and device using same
JP5786498B2 (ja) 2011-06-30 2015-09-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム
KR20130050407A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 움직임 정보 생성 방법
US20130114717A1 (en) * 2011-11-07 2013-05-09 Qualcomm Incorporated Generating additional merge candidates
WO2013105791A1 (ko) * 2012-01-09 2013-07-18 삼성전자 주식회사 움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치
CN110830799B (zh) * 2012-01-18 2023-09-15 韩国电子通信研究院 视频解码装置、视频编码装置和传输比特流的方法
AU2013285749B2 (en) * 2012-07-02 2016-06-16 Samsung Electronics Co., Ltd. Method and apparatus for predicting motion vector for coding video or decoding video
PL400344A1 (pl) * 2012-08-13 2014-02-17 Politechnika Poznanska Sposób wyznaczania predyktora wektora ruchu
KR102070719B1 (ko) * 2013-01-23 2020-01-30 한국전자통신연구원 인터 예측 방법 및 그 장치
WO2014120368A1 (en) * 2013-01-30 2014-08-07 Intel Corporation Content adaptive entropy coding for next generation video
KR20130067280A (ko) * 2013-04-18 2013-06-21 엠앤케이홀딩스 주식회사 인터 예측 부호화된 동영상 복호화 방법
WO2015006984A1 (en) * 2013-07-19 2015-01-22 Mediatek Singapore Pte. Ltd. Reference view selection for 3d video coding
EP3078196B1 (en) * 2013-12-06 2023-04-05 MediaTek Inc. Method and apparatus for motion boundary processing
US9854237B2 (en) * 2014-10-14 2017-12-26 Qualcomm Incorporated AMVP and merge candidate list derivation for intra BC and inter prediction unification
US10200711B2 (en) 2015-03-27 2019-02-05 Qualcomm Incorporated Motion vector derivation in video coding
WO2017036414A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of decoder side motion derivation for video coding
EP3264769A1 (en) 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
ES2737843B2 (es) * 2016-07-05 2021-07-15 Kt Corp Metodo y aparato para procesar una senal de video
US11638027B2 (en) * 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
CN109997363B (zh) * 2016-11-28 2023-12-05 英迪股份有限公司 图像编码/解码方法和装置以及存储有比特流的记录介质
US10750203B2 (en) * 2016-12-22 2020-08-18 Mediatek Inc. Method and apparatus of adaptive bi-prediction for video coding

Also Published As

Publication number Publication date
US11343530B2 (en) 2022-05-24
US20200267408A1 (en) 2020-08-20
WO2018097693A3 (ko) 2018-07-19
KR20230037530A (ko) 2023-03-16
KR20180061060A (ko) 2018-06-07
JP7253844B2 (ja) 2023-04-07
EP3547687A2 (en) 2019-10-02
KR20210095113A (ko) 2021-07-30
JP2022051733A (ja) 2022-04-01
JP2023068059A (ja) 2023-05-16
CN117528107A (zh) 2024-02-06
JP7044778B2 (ja) 2022-03-30
KR102509513B1 (ko) 2023-03-14
KR102625959B1 (ko) 2024-01-17
US20230353776A1 (en) 2023-11-02
KR102391524B1 (ko) 2022-04-27
US20220256187A1 (en) 2022-08-11
KR20220054572A (ko) 2022-05-03
CN117528109A (zh) 2024-02-06
EP3547687A4 (en) 2020-07-15
US20240155150A1 (en) 2024-05-09
CN117528105A (zh) 2024-02-06
CN117528111A (zh) 2024-02-06
WO2018097693A2 (ko) 2018-05-31
KR102283517B1 (ko) 2021-07-29
CN117528110A (zh) 2024-02-06
CN109997363A (zh) 2019-07-09
CN117528106A (zh) 2024-02-06
CN109997363B (zh) 2023-12-05
JP2019536376A (ja) 2019-12-12

Similar Documents

Publication Publication Date Title
CN109997363B (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
US20220232228A1 (en) Method and apparatus for encoding/decoding a video using a motion compensation
CN109804626B (zh) 用于对图像进行编码和解码的方法和设备以及用于存储比特流的记录介质
KR20190114853A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN116866594A (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