CN116962717A - 图像编码/解码方法、存储介质和发送方法 - Google Patents

图像编码/解码方法、存储介质和发送方法 Download PDF

Info

Publication number
CN116962717A
CN116962717A CN202311147523.4A CN202311147523A CN116962717A CN 116962717 A CN116962717 A CN 116962717A CN 202311147523 A CN202311147523 A CN 202311147523A CN 116962717 A CN116962717 A CN 116962717A
Authority
CN
China
Prior art keywords
block
motion
information
motion vector
sub
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
CN202311147523.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.)
LX Semicon Co Ltd
Original Assignee
LX Semicon 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 LX Semicon Co Ltd filed Critical LX Semicon Co Ltd
Publication of CN116962717A publication Critical patent/CN116962717A/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/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/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
    • 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/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
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/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

Abstract

公开了一种图像编码/解码方法、存储介质和发送方法。根据本发明的图像解码方法可包括以下步骤:从空间邻近块的运动信息、时间邻近块的运动信息和预定义运动信息中的至少一个推导当前块的初始运动信息;通过针对所述初始运动信息执行运动信息修正来生成修正后的运动信息;并且通过使用所述修正后的运动信息来生成当前块的预测块。

Description

图像编码/解码方法、存储介质和发送方法
本申请是原案申请号为201980019167.3的发明专利申请(国际申请号:PCT/KR2019/002875,申请日:2019年3月13日,发明名称:用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质)的分案申请。
技术领域
本发明涉及一种图像编码/解码方法和设备以及一种存储比特流的记录介质。更具体地,本发明涉及一种通过修正运动信息来执行运动补偿的图像编码/解码方法和设备。
背景技术
近来,在各种应用领域中对诸如高清(HD)图像和超高清(UHD)图像的高分辨率和高质量图像的需求已经增加。然而,与传统图像数据相比,更高分辨率和质量的图像数据具有越来越多的数据量。因此,当通过使用诸如传统有线和无线宽带网络的介质来发送图像数据时,或者当通过使用传统存储介质来存储图像数据时,发送和存储的成本增加。为了解决随着图像数据的分辨率和质量的增加而发生的这些问题,对于更高分辨率和更高质量的图像,需要高效的图像编码/解码技术。
图像压缩技术包括各种技术,包括:一种从当前画面的先前画面或后续画面对包括在当前画面中的像素值进行预测的帧间预测技术;一种通过使用当前画面中的像素信息来对包括在当前画面中的像素值进行预测的帧内预测技术;一种用于压缩残差信号的能量的变换和量化技术;一种将短码分配给具有高出现频率的值并将长码分配给具有低出现频率的值的熵编码技术;等。可通过使用这样的图像压缩技术来有效地压缩图像数据,并且可发送或存储该图像数据。
由于传统的方法和设备基于空间/时间邻近块的运动信息针对编码/解码目标块执行运动补偿,因此传统的图像编码/解码方法和设备在提高编码效率方面具有它们的局限性。
此外,由于传统的方法和设备以块为单位执行运动补偿,因此传统的图像编码/解码方法和设备在提高编码效率方面具有它们的局限性。
发明内容
技术问题
本发明提供一种通过修正运动信息来执行运动补偿的编码/解码方法以及设备。
本发明提供一种以子块为单位执行运动补偿的编码/解码方法以及设备。
技术方案
根据本发明的一种对图像进行解码的方法,所述方法可包括:从空间邻近块的运动信息、时间邻近块的运动信息和预定义运动信息中的至少一个推导当前块的初始运动信息;通过针对所述初始运动信息执行运动信息修正来生成修正后的运动信息;并且通过使用所述修正后的运动信息来生成当前块的预测块。
在对图像进行解码的方法中,其中,生成修正后的运动信息的步骤包括:基于所述初始运动信息生成双边模板,通过对所述双边模板和由所述初始运动信息指示的参考图像内的搜索区域进行比较来计算失真值,并且通过基于所述失真值对所述初始运动信息进行修正来生成所述修正后的运动信息。
在对图像进行解码的方法中,其中,在生成修正后的运动信息的步骤中,所述修正后的运动信息是以当前块的子块为单位生成的。
在对图像进行解码的方法中,其中,所述搜索区域是正方形形状的区域,并以从由所述初始运动信息指示的像素起在水平方向和垂直方向上的预定义整数像素单位的像素范围被定义。
在对图像进行解码的方法中,其中,在当前块具有双向预测合并模式时,执行生成修正后的运动信息的步骤。
在对图像进行解码的方法中,其中,基于当前块的尺寸确定执行生成修正后的运动信息的步骤。
在对图像进行解码的方法中,其中,根据运动修正模式利用信息确定执行生成修正后的运动信息的步骤。
在对图像进行解码的方法中,其中,所述失真值是基于绝对差和(SAD)、绝对变换差和(SATD)、平方误差和(SSE)、平方误差平均(MSE)和去SAD平均(MR-SAD)中的至少一个计算出的。
在对图像进行解码的方法中,其中,在生成修正后的运动信息的步骤中,在搜索区域内对所述初始运动信息进行修正。
在对图像进行解码的方法中,其中,所述搜索区域是十字形的。
在对图像进行解码的方法中,其中,在当前块具有合并模式时,执行生成修正后的运动信息的步骤。
在对图像进行解码的方法中,其中,在对所述初始运动信息进行修正时,基于搜索方向的信息和搜索距离的信息中的至少一个在所述搜索区域内对所述初始运动信息进行修正。
根据本发明的一种对图像进行解码的方法,所述方法可包括:确定当前块的同位图像;通过使用空间上与当前块相邻的块的至少一条运动信息来确定所述同位图像中的同位块;从通过划分所述同位块而获得的子块推导以子块为单位的合并候选;并且通过使用所述合并候选来生成合并候选列表。
在对图像进行解码的方法中,其中,确定当前块的同位图像的步骤基于指示同位图像的信息被执行,其中,所述指示同位图像的信息以序列、画面和条带组中的至少一个为单位被用信号发送。
在对图像进行解码的方法中,其中,在当前块的尺寸等于或大于预设值时,推导所述以子块为单位的合并候选。
在对图像进行解码的方法中,其中,所述子块具有正方形形状,其中,所述正方形形状具有预设尺寸。
根据本发明的一种对图像进行编码的方法,所述方法可包括:确定当前块的同位图像;通过使用空间上与当前块相邻的块的至少一条运动信息来确定所述同位图像中的同位块;从通过划分所述同位块而获得的子块推导以子块为单位的合并候选;并且通过使用所述以子块为单位的合并候选来生成合并候选列表。
根据本发明的一种非暂时性存储介质,所述非暂时性存储介质包括通过使用图像编码方法生成的比特流,其中,所述图像编码方法包括:确定当前块的同位图像;通过使用空间上与当前块相邻的块的至少一条运动信息来确定所述同位图像中的同位块;从通过划分所述同位块而获得的子块推导以子块为单位的合并候选;并且通过使用所述以子块为单位的合并候选来生成合并候选列表。
有益效果
根据本发明,可提供一种压缩效率提高的图像编码/解码方法以及设备。
根据本发明,可提高图像的编码效率和解码效率。
根据本发明,可降低图像编码器和图像解码器的纹理的计算度。
附图说明
图1是示出根据本发明的实施例的编码设备的配置的框图。
图2是示出根据本发明的实施例的解码设备的配置的框图。
图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。
图4是示出帧间预测处理的示图。
图5是示出根据本发明的一个实施例的图像编码方法的流程图。
图6是示出根据本发明的一个实施例的图像解码方法的流程图。
图7是示出根据本发明的另一实施例的图像编码方法的流程图。
图8是示出根据本发明的另一实施例的图像解码方法的流程图。
图9是示出推导当前块的空间运动矢量候选的示例性方法的示图。
图10是示出推导当前块的时间运动矢量候选的示例性方法的示图。
图11是示出空间合并候选被添加到合并候选列表的示例的示图。
图12是示出时间合并候选被添加到合并候选列表的示例的示图。
图13是示出根据本发明的实施例的以第一子块为单元对运动信息进行预测的方法的示图。
图14是示出根据本发明的实施例的以第二子块为单元对运动信息进行预测的方法的示图。
图15是示出双边模板匹配的示图。
图16至图21是示出用于在双边模板匹配中搜索修正运动矢量的区域的示图。
图22是示出根据本发明的实施例的图像解码方法的流程图。
图23是示出根据本发明的实施例的图像解码方法的流程图。
具体实施方式
可对本发明进行各种修改,并且存在现在将参照附图提供并详细描述的本发明的各种实施例、示例。然而,虽然示例性实施例可被解释为包括本发明的技术构思和技术范围中的所有修改、等同或替代,但是本发明不限于此。相似的附图标号指代在各个方面的相同或相似的功能。在附图中,为了清楚起见,元件的形状和尺寸可能被夸大。在本发明的以下详细描述中,参照通过说明的方式示出可实践本发明的具体实施例的附图。充分详细地描述这些实施例以使得本领域技术人员能够实现本公开。应理解,本公开的各种实施例虽然不同,但是不一定相互排斥。例如,在不脱离本公开的精神和范围的情况下,这里结合一个实施例描述的特定特征、结构和特性可在其他实施例内实现。此外,应理解,在不脱离本公开的精神和范围的情况下,可修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被认为是限制意义的,并且本公开的范围仅由适当解释的所附权利要求以及权利要求所要求保护的等同物的全部范围来限定。
在说明书中使用的术语“第一”、“第二”等可被用于描述各种组件,但是组件不应被解释为限于该术语。该术语仅被用于将一个组件与其它组件区分开。例如,在不脱离本发明的范围的情况下,“第一”组件可被称为“第二”组件,并且“第二”组件也可类似地被称为“第一”组件。术语“和/或”包括多个项的组合或多个术语中的任意一个。
将理解,当元件在本说明书中被简单地称为“连接到”或“耦接到”另一元件而非“直接连接到”或“直接耦接到”另一元件时,它可“直接连接到”或“直接耦接到”另一元件,或者连接到或耦接到另一元件,其中,有其它元件介于其间。相反,应理解,当元件被称为“直接耦接”或“直接连接”到另一元件时,不存在中间元件。
此外,在本发明的实施例中所示的构成部件被独立地示出,以便表示彼此不同的特性功能。因此,这不表示各个构成部件以分离的硬件或软件为构成单元来被构成。换句话说,为了方便,各个构成部件包括所列举的构成部件中的每一个。因此,可将各个构成部件中的至少两个构成部件组合以形成一个构成部件,或者可将一个构成部件划分为多个构成部件以执行每一个功能。若不脱离本发明的本质,将各个构成部件组合的实施例以及将一个构成部件划分的实施例也被包括在本发明的范围内。
本说明书中使用的术语仅被用于描述特定实施例,而不旨在限制本发明。以单数形式使用的表达涵盖复数形式的表达,除非它在上下文中具有明显不同的含义。在本说明书中,需理解的是,诸如“包括”、“具有”等的术语旨在指示说明书中所公开的特征、数字、步骤、动作、元件、部件或其组合的存在,而不旨在排除可存在或可添加一个或更多个其他特征、数字、步骤、动作、元件、部件或其组合的可能性。换句话说,当特定元件被称为“被包括在”时,不排除除了对应元件之外的元件,而是可在本发明的实施例或本发明的范围中包括附加元件。
此外,一些构件可以不是执行本发明的必要功能的不可缺少的构件,而是仅改善其性能的选择性构件。可通过仅包括除了用于改善性能的构件之外的用于实现本发明的本质的不可缺少的构成部件来实现本发明。仅包括除了用于仅改善性能的选择性构件之外的不可缺少的构件的结构也被包括在本发明的范围内。
在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,由于公知的功能或结构可能不必要地使对本发明的理解模糊不清,因此将不详细描述公知的功能或结构。附图中的相同的构成元件由相同的附图标号表示,并且将省略对相同元件的重复描述。
在下文中,图像可表示配置视频的画面,或者可表示视频本身。例如,“图像的编码或解码或者两者”可表示“运动画面的编码或解码或者编码和解码两者”,并且可表示“运动画面的多个图像中的一个图像的编码或解码或者编码和解码两者”
在下文中,术语“运动图像”和“视频”可被用作相同的含义并且彼此替换。
在下文中,目标图像可以是作为编码的目标的编码目标图像和/或作为解码的目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像以及输入到解码设备的输入图像。这里,目标图像可与当前图像具有相同的含义。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且彼此替换。
在下文中,目标块可以是作为编码的目标的编码目标块和/或作为解码的目标的解码目标块。此外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且彼此替换。
在下文中,术语“块”和“单元”可被用作相同的含义并且彼此替换。可选地,“块”可表示特定单元。
在下文中,术语“区域”和“片段”可被彼此替换。
在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。
在实施例中,特定信息、数据、标志、索引、元素和属性等中的每一个可具有值。信息、数据、标志、索引、元素和属性的值等于“0”可表示逻辑假或第一预定义值。换句话说,值“0”、假、逻辑假和第一预定义值可被彼此替换。信息、数据、标志、索引、元素和属性的值等于“1”可表示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可被彼此替换。
当变量i或j被用于表示列、行或索引时,i的值可以是等于或大于0或者等于或大于1的整数。也就是说,列、行、索引等可从0开始计数或者可从1开始计数。
术语的描述
编码器:表示执行编码的设备。即,表示编码设备。
解码器:表示执行解码的设备。即,表示解码设备。
块:是样点的M×N的阵列。这里,M和N可表示正整数,并且块可表示二维形式的样点阵列。块可指代单元。当前块可表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
样点:是构成块的基本单元。可根据比特深度(Bd)将样点表达为从0至2Bd-1的值。在本发明中,样点可被用作像素的含义。也就是说,样点、pel、像素可具有彼此相同的含义。
单元:可指编码单元和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而生成的区域。此外,当在编码或解码期间将单个图像分区为细分出的单元时,单元可表示细分出的单元。也就是说,可将图像分区为多个单元。当对图像进行编码和解码时,可执行针对每个单元的预定处理。单个单元可被分区为具有比该单元的尺寸小的尺寸的子单元。根据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。此外,为了将单元与块区分开,单元可包括亮度分量块、与亮度分量块相关联的色度分量块以及每个颜色分量块的语法元素。单元可具有各种尺寸和形式,并且特别地,单元的形式可以是诸如正方形形状、矩形形状、梯形形状、三角形形状、五边形形状等的二维几何图形。此外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。
编码树单元:被配置有亮度分量Y的单个编码树块以及与色度分量Cb和Cr相关的两个编码树块。此外,编码树单元可表示包括块和每个块的语法元素。可通过使用四叉树分区方法、二叉树分区方法和三叉树分区方法中的至少一种来对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的下层单元。编码树单元可被用作用于将当对图像进行编码/解码时成为处理单元的样点块指定为输入图像的术语。这里,四叉树可表示四进制树。
如果编码块的尺寸在预定范围内,则可以仅划分为四叉树。这里,预定范围可被定义为仅可被划分为四叉树的编码块的最大尺寸和最小尺寸中的至少一个。可通过比特流用信号发送指示允许四叉树类型分区的编码块的最大/最小尺寸的信息,并且可以以序列、画面参数、并行块组或条带中的至少一个为单位来表示该信息。可选地,编码块的最大/最小尺寸可以是在编解码器中预先设置的固定尺寸。例如,如果编码块的尺寸对应于256×256至64×64,则可以仅划分为四叉树。如果编码块的尺寸大于最大变换块的尺寸,则可以仅分区为四叉树。在这种情况下,将被划分的块可以是编码块和变换块中的至少一个。在这种情况下,指示编码块的划分的信息(例如,split_flag)可以是指示是否划分为四叉树的标志。当编码块的尺寸落入预定范围内时,可以仅划分为二叉树或三叉树。在这种情况下,可以以相同的方式将四叉树的上述描述应用于二叉树或三叉树。
编码树块:可被用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。
邻近块:可表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块,或者距当前块位于预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块,或者与垂直相邻于当前块的邻近块水平相邻的块。
重建的邻近块:可表示与当前块相邻且已经在空间/时间上被编码或解码的邻近块。这里,重建的邻近块可表示重建的邻近单元。重建的空间邻近块可以是当前画面内的且已经通过编码或解码或者编码和解码两者被重建的块。重建的时间邻近块是参考图像内的与当前画面的当前块对应的位置处的块或该块的邻近块。
单元深度:可表示单元的分区程度。在树结构中,最高节点(根节点)可与未被分区的第一单元对应。此外,最高节点可具有最小深度值。在这种情况下,最高节点可具有等级0的深度。深度为等级1的节点可表示通过对第一单元进行一次分区而生成的单元。深度为等级2的节点可表示通过对第一单元进行两次分区而生成的单元。深度为等级n的节点可表示通过对第一单元进行n次分区而生成的单元。叶节点可以是最低节点和不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表达为树结构时,单元所在的等级可表示单元深度。
比特流:可表示包括编码图像信息的比特流。
参数集:与比特流内的配置中的头信息对应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带头和并行块头信息。
解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。
符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。
预测模式:可以是指示利用帧内预测进行编码/解码的模式或利用帧间预测进行编码/解码的模式的信息。
预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个更低层的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过划分预测单元而生成的分区也可以是预测单元。
预测单元分区:可表示通过对预测单元进行分区而获得的形式。
参考画面列表:可指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在多种类型的可用参考画面列表,包括LC(列表组合)、L0(列表0)、L1(列表1)、L2(列表2)、L3(列表3)。
帧间预测指示符:可指当前块的帧间预测(单向预测、双向预测等)的方向。可选地,帧间预测指示符可指用于生成当前块的预测块的参考画面的数量。可选地,帧间预测指示符可指在对当前块执行帧间预测或运动补偿时使用的预测块的数量。
预测列表利用标志:指示是否使用特定参考画面列表中的至少一个参考画面生成预测块。可使用预测列表利用标志来推导帧间预测指示符,相反,可使用帧间预测指示符来推导预测列表利用标志。例如,当预测列表利用标志具有第一值零(0)时,这表示参考画面列表中的参考画面不被用于生成预测块。另一方面,当预测列表利用标志具有第二值一(1)时,这表示参考画面列表被用于生成预测块。
参考画面索引:可指指示参考画面列表中的特定参考画面的索引。
参考画面:可表示为了特定块的帧间预测或运动补偿的目的而由特定块参考的参考画面。可选地,参考画面可以是包括为了帧间预测或运动补偿而由当前块参考的参考块的画面。在下文中,术语“参考画面”和“参考图像”具有相同的含义并且可被互换。
运动矢量:可以是用于帧间预测或运动补偿的二维矢量。运动矢量可表示编码/解码目标块与参考块之间的偏移。例如,(mvX,mvY)可表示运动矢量。这里,mvX可表示水平分量,并且mvY可表示垂直分量。
搜索范围:可以是在帧间预测期间被搜索以检索运动矢量的二维区域。例如,搜索范围的尺寸可以是M×N。这里,M和N都是整数。
运动矢量候选:可指当对运动矢量进行预测时的预测候选块或预测候选块的运动矢量。此外,运动矢量候选可被包括在运动矢量候选列表中。
运动矢量候选列表:可表示由一个或更多个运动矢量候选组成的列表。
运动矢量候选索引:可表示指示运动矢量候选列表中的运动矢量候选的指示符。可选地,运动矢量候选索引可以是运动矢量预测因子的索引。
运动信息:可表示包括以下项中的至少一项的信息:包括运动矢量、参考画面索引、帧间预测指示符、预测列表利用标志、参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引。
合并候选列表:可表示由一个或更多个合并候选组成的列表。
合并候选:可表示空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选或零合并候选。合并候选可包括诸如帧间预测指示符、针对每个列表的参考画面索引、运动矢量、预测列表利用标志和帧间预测指示符的运动信息。
合并索引:可表示指示合并候选列表中的合并候选的指示符。可选地,合并索引可指示空间上/时间上与当前块相邻的重建块中的已推导出合并候选的块。可选地,合并索引可指示合并候选的至少一条运动信息。
变换单元:可表示当执行编码/解码(诸如残差信号的变换、逆变换、量化、反量化、变换系数编码/解码)时的基本单元。单个变换单元可被分区为具有更小尺寸的多个低等级的变换单元。这里,变换/逆变换可包括首次变换/首次逆变换和二次变换/二次逆变换中的至少一个。
缩放:可表示将量化的等级乘以因子的处理。可通过对量化的等级进行缩放来生成变换系数。缩放还可被称为反量化。
量化参数:可表示当在量化期间使用变换系数来生成量化的等级时所使用的值。量化参数还可表示当通过在反量化期间对量化的等级进行缩放来生成变换系数时所使用的值。量化参数可以是映射在量化步长上的值。
增量量化参数:可表示编码/解码目标单元的预测的量化参数与量化参数之间的差值。
扫描:可表示对单元、块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改变为一维矩阵可被称为扫描,并且将系数的一维矩阵改变为二维矩阵可被称为扫描或逆扫描。
变换系数:可表示在编码器中执行变换之后生成的系数值。变换系数表示在解码器中执行熵解码和反量化中的至少一个之后生成的系数值。通过量化变换系数或残差信号而获得的量化的等级或者量化的变换系数等级也可落入变换系数的含义内。
量化的等级:可表示通过在编码器中量化变换系数或残差信号而生成的值。可选地,量化的等级可表示作为在解码器中经历反量化的反量化的目标的值。类似地,作为变换和量化的结果的量化的变换系数等级也可落入量化的等级的含义内。
非零变换系数:可表示具有除了零之外的值的变换系数或者具有除了零之外的值的变换系数等级或量化的等级。
量化矩阵:可表示在为了提高主观或客观图像质量而执行的量化处理或反量化处理中所使用的矩阵。量化矩阵还可被称为缩放列表。
量化矩阵系数:可表示量化矩阵内的每个元素。量化矩阵系数还可被称为矩阵系数。
默认矩阵:可表示在编码器或解码器中预先定义的预定量化矩阵。
非默认矩阵:可表示未在编码器或解码器中预先定义但由用户用信号发送的量化矩阵。
统计值:针对具有可计算的特定值的变量、编码参数、常数值等中的至少一个的统计值可以是对应特定值的平均值、加权平均值、加权和值、最小值、最大值、最频繁值、中值、内插值中的一个或更多个。
图1是示出根据应用本发明的实施例的编码设备的配置的框图。
编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括至少一个图像。编码设备100可顺序地对至少一个图像进行编码。
参照图1,编码设备100可包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。
编码设备100可通过使用帧内模式或帧间模式或者帧内模式和帧间模式两者来执行输入图像的编码。此外,编码设备100可通过对输入图像进行编码来生成包括经过编码的信息的比特流,并输出生成的比特流。生成的比特流可被存储在计算机可读记录介质中,或者可通过有线/无线传输介质被流传输。当帧内模式被用作预测模式时,切换器115可被切换到帧内。可选地,当帧间模式被用作预测模式时,切换器115可被切换到帧间模式。这里,帧内模式可表示帧内预测模式,并且帧间模式可表示帧间预测模式。编码设备100可针对输入图像的输入块生成预测块。此外,编码设备100可在预测块被生成之后使用输入块的残差和预测块对残差块进行编码。输入图像可被称为作为当前编码目标的当前图像。输入块可被称为作为当前编码目标的当前块,或者被称为编码目标块。
当预测模式是帧内模式时,帧内预测单元120可将已被编码/解码且与当前块相邻的块的样点用作参考样点。帧内预测单元120可通过使用参考样点针对当前块执行空间预测,或者通过执行空间预测来生成输入块的预测样点。这里,帧内预测可表示帧内-预测。
当预测模式是帧间模式时,运动预测单元111可在执行运动预测时从参考图像检索与输入块最佳匹配的区域,并且通过使用检索到的区域来推导运动矢量。在这种情况下,搜索区域可被用作该区域。参考图像可被存储在参考画面缓冲器190中。这里,当执行针对参考图像的编码/解码时,参考图像可被存储在参考画面缓冲器190中。
运动补偿单元112可通过使用运动矢量针对当前块执行运动补偿来生成预测块。这里,帧间预测可表示帧间-预测或运动补偿。
当运动矢量的值不是整数时,运动预测单元111和运动补偿单元112可通过将插值滤波器应用于参考画面的部分区域来生成预测块。为了对编码单元执行画面间预测或运动补偿,可确定跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式中的哪一种模式被用于包括在对应编码单元中的预测单元的运动预测和运动补偿。然后,可根据所确定的模式不同地执行画面间预测或运动补偿。
减法器125可通过使用输入块的残差和预测块来生成残差块。残差块可被称为残差信号。残差信号可表示原始信号与预测信号之间的差。此外,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化或者变换和量化而生成的信号。残差块可以是块单元的残差信号。
变换单元130可通过执行残差块的变换来生成变换系数,并输出所生成的变换系数。这里,变换系数可以是通过执行残差块的变换而生成的系数值。当变换跳过模式被应用时,变换单元130可跳过残差块的变换。
可通过将量化应用于变换系数或残差信号来生成量化的等级。在下文中,量化的等级在实施例中还可被称为变换系数。
量化单元140可通过根据参数对变换系数或残差信号进行量化来生成量化的等级,并输出所生成的量化的等级。这里,量化单元140可通过使用量化矩阵来对变换系数进行量化。
熵编码单元150可通过根据概率分布对由量化单元140计算出的值或对在执行编码时计算出的编码参数值执行熵编码来生成比特流,并输出所生成的比特流。熵编码单元150可执行对图像的样点信息和用于对图像进行解码的信息的熵编码。例如,用于对图像进行解码的信息可包括语法元素。
当熵编码被应用时,符号被表示为使得将较小数量的比特分配给具有高生成机会的符号并将较大数量的比特分配给具有低生成机会的符号,因此,可减小针对将被编码的符号的比特流的大小。熵编码单元150可使用用于熵编码的编码方法,诸如指数Golomb、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等。例如,熵编码单元150可通过使用可变长度编码/代码(VLC)表来执行熵编码。此外,熵编码单元150可推导目标符号的二值化方法以及目标符号/二进制位的概率模型,并且通过使用推导出的二值化方法和上下文模型来执行算术编码。
为了对变换系数等级(量化的等级)进行编码,熵编码单元150可通过使用变换系数扫描方法将二维块形式系数改变为一维矢量形式。
编码参数可包括诸如在编码器中被编码并被用信号发送到解码器的语法元素的信息(标志、索引等)以及在执行编码或解码时推导出的信息。编码参数可表示在对图像进行编码或解码时所需的信息。例如,以下项中的至少一个值或组合形式可被包括在编码参数中:单元/块残差、单元/块深度、单元/块分区信息、单元/块形状、单元/块分区结构、是否进行四叉树形式的分区、是否进行二叉树形式的分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形式(对称分区或非对称分区)、是否通过三叉树分区对当前编码单元进行分区、三叉树分区的方向(水平方向或垂直方向)、三叉树分区的类型(对称类型或非对称类型)划分、是否通过多类型树分区对当前编码单元进行分区、多类型树分区的分区方向(水平方向或垂直方向)、多类型树分区的类型(对称类型或非对称类型)和多类型树分区的树(二叉树或三叉树)结构、预测模式(帧内预测或帧间预测)、亮度帧内预测模式/方向、色度帧内预测模式/方向、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波方法、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波方法、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波方法、预测块边界滤波器抽头、预测块边界滤波器系数、帧内预测模式、帧间预测模式、运动信息、运动矢量、运动矢量差、参考画面索引、帧间预测角度、帧间预测指示符、预测列表利用标志、参考画面列表、参考画面、运动矢量预测因子索引、运动矢量预测因子候选、运动矢量候选列表、是否使用合并模式、合并索引、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头、插值滤波器系数、运动矢量大小、运动矢量的表示精度、变换类型、变换尺寸、是否使用初次(首次)变换的信息、是否使用二次变换的信息、初次变换索引、二次变换索引、是否存在残差信号的信息、编码块图案、编码块标志(CBF)、量化参数、量化参数残差、量化矩阵、是否应用帧内环路滤波器、帧内环路滤波器系数、帧内环路滤波器抽头、帧内环路滤波器形状/形式、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器形状/形式、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环路滤波器、自适应环路滤波器系数、自适应环路滤波器抽头、自适应环路滤波器形状/形式、二值化/逆二值化方法、上下文模型确定方法、上下文模型更新方法、是否执行常规模式、是否执行旁路模式、上下文二进制位、旁路二进制位、有效系数标志、最后有效系数标志、针对系数组的单元的编码标志、最后有效系数的位置、针对系数值是否大于1的标志、针对系数值是否大于2的标志、针对系数值是否大于3的标志、关于其余系数值的信息、符号信息、重建的亮度样点、重建的色度样点、残差亮度样点、残差色度样点、亮度变换系数、色度变换系数、量化的亮度等级、量化的色度等级、变换系数等级扫描方法、在解码器侧的运动矢量搜索区域的大小、在解码器侧的运动矢量搜索区域的形状、在解码器侧的运动矢量搜索次数、关于CTU尺寸的信息、关于最小块尺寸的信息、关于最大块尺寸的信息、关于最大块深度的信息、关于最小块深度的信息、图像显示/输出顺序、条带识别信息、条带类型、条带分区信息、并行块识别信息、并行块类型、并行块分区信息、画面类型、输入样点的比特深度、重建样点的比特深度、残差样点的比特深度、变换系数的比特深度、量化的等级的比特深度、以及关于亮度信号的信息或关于色度信号的信息。
这里,用信号发送标志或索引可表示对应标志或索引由编码器熵编码并被包括在比特流中,并且可表示对应标志或索引由解码器从比特流熵解码。
当编码设备100通过帧间预测执行编码时,经过编码的当前图像可被用作针对随后被处理的另一图像的参考图像。因此,编码设备100可对经过编码的当前图像进行重建或解码,或者将重建的或经过解码的图像作为参考图像存储在参考画面缓冲器190中。
量化的等级可在反量化单元160中被反量化,或者可在逆变换单元170中被逆变换。可通过加法器175将反量化系数或逆变换系数或者反量化系数和逆变换系数两者与预测块相加。通过将反量化系数或逆变换系数或者反量化系数和逆变换系数两者与预测块相加,可生成重建块。这里,反量化系数或逆变换系数或者反量化系数和逆变换系数两者可表示被执行反量化和逆变换中的至少一个的系数,并且可表示重建的残差块。
重建块可通过滤波器单元180。滤波器单元180可将去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)中的至少一个应用于重建样点、重建块或重建图像。滤波器单元180可被称为环内滤波器。
去块滤波器可去除在块之间的边界中生成的块失真。为了确定是否应用去块滤波器,可基于包括在块中的若干行或列中所包括的样点来确定是否将去块滤波器应用于当前块。当去块滤波器被应用于块时,可根据所需的去块滤波强度来应用另一滤波器。
为了补偿编码误差,可通过使用样点自适应偏移将适当的偏移值与样点值相加。样点自适应偏移可按样点单元修正去块图像与原始图像的偏移。将图像的样点分区为预定数量的区域、确定被应用偏移的区域并将该偏移应用于所确定的区域的方法或者考虑关于每个样点的边缘信息来应用偏移的方法可被使用。
自适应环路滤波器可基于经过滤波的重建图像与原始图像的比较结果来执行滤波。包括在图像中的样点可被分区为预定组,可确定将被应用于每个组的滤波器,并且可针对每个组执行差分滤波。可按编码单元(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中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,下层单元的分区信息可包括关于下层单元的尺寸的信息。
分区结构可表示LCU 310内的编码单元(CU)的分布。可根据是否将单个CU分区为多个(等于或大于2的正整数,包括2、4、8、16等)CU来确定这样的分布。通过分区生成的CU的水平尺寸和垂直尺寸可分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可根据分区的次数分别具有比分区之前的水平尺寸和垂直尺寸小的尺寸。CU可被递归地分区为多个CU。通过递归分区,与分区之前的CU的高度和宽度中的至少一个相比,分区之后的CU的高度和宽度中的至少一个可减小。可递归地执行CU的分区直到预定义深度或预定义尺寸为止。例如,LCU的深度可以是0,并且最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的编码单元,SCU可以是具有最小编码单元尺寸的编码单元。从LCU 310开始分区,随着CU的水平尺寸或垂直尺寸或者水平尺寸和垂直尺寸两者通过分区而减小,CU深度增加1。例如,对于每个深度,未被分区的CU可具有2N×2N的尺寸。此外,在被分区的CU的情况下,尺寸为2N×2N的CU可被分区为尺寸为N×N的四个CU。N的大小可随着深度增加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的尺寸。例如,当尺寸为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,编码设备可推导运动矢量候选(步骤S501),并且基于推导出的运动矢量候选生成运动矢量候选列表(步骤S502)。在生成了运动矢量候选列表之后,可基于所生成的运动矢量候选列表确定运动矢量(步骤S503),并且可基于所确定的运动矢量执行运动补偿(步骤S504)。随后,编码设备可对与运动补偿相关联的信息进行编码(步骤S505)。
参照图6,解码设备可对从编码设备接收到的与运动补偿相关联的信息执行熵解码(步骤S601),并推导运动矢量候选(步骤S602)。解码设备可基于推导出的运动矢量候选生成运动矢量候选列表(步骤S603),并且使用所生成的运动矢量候选列表来确定运动矢量(步骤S604)。随后,解码设备可通过使用所确定的运动矢量来执行运动补偿(步骤S605)。
图7是示出根据本发明的另一实施例的图像编码方法的流程图,以及图8是示出根据本发明的另一实施例的图像解码方法的流程图。
参照图7,编码设备可推导合并候选(步骤S701),并基于推导出的合并候选生成合并候选列表。在生成了合并候选列表之后,编码设备可使用所生成的合并候选列表来确定运动信息(步骤S702),并且可使用所确定的运动信息来对当前块执行运动补偿(步骤S703)。随后,编码设备可对与运动补偿相关联的信息执行熵编码(步骤S704)。
参照图8,解码设备可对从编码装置接收到的与运动补偿相关联的信息执行熵解码(S801),推导合并候选(S802),并基于推导出的合并候选生成合并候选列表。在生成了合并候选列表之后,解码设备可通过使用所生成的合并候选列表来确定当前块的运动信息(S803)。随后,解码设备可使用运动信息来执行运动补偿(S804)。
图5和图6示出应用图4中所示的AMVP的示例,并且图7和图8示出应用图4中所示的合并模式的示例。
在下文中,将描述图5和图6中的每个步骤,然后将描述图7和图8中的每个步骤。然而,将共同描述与S504、S605、S703和S804对应的运动补偿步骤以及与S505、S601、S704和S801对应的熵编码/熵解码步骤。
在下文中,下面将详细描述图5和图6中的每个步骤。
首先,将详细描述推导运动矢量候选的步骤(S501、S602)。
当前块的运动矢量候选可包括空间运动矢量候选和时间运动矢量候选中的至少一个或者空间运动矢量候选和时间运动矢量候选两者。
可从与当前块相邻的重建块推导当前块的时间运动矢量。例如,可将与当前块相邻的重建块的运动矢量确定为当前块的空间运动矢量候选。
图9是示出推导当前块的空间运动矢量候选的示例的示图。
参照图9,可从与当前块X相邻的邻近块推导当前块的空间运动矢量候选。这里,与当前块相邻的邻近块可包括与当前块的上方相邻的块B1、与当前块的左侧相邻的块A1、与当前块的右上角相邻的块B0、与当前块的左上角相邻的块B2、与当前块的左下角相邻的块A0、与当前块的左侧上方相邻的块A2以及与当前块的上方左侧相邻的块B3中的至少一个。此外,与当前块相邻的邻近块可包括位于B3与B1之间的块和位于A2与A1之间的块中的至少一个。
此外,与当前块相邻的邻近块可具有正方形形状或非正方形形状。当在与当前块相邻的邻近块中存在运动矢量时,邻近块的运动矢量可被确定为当前块的空间运动矢量候选。可基于邻近块是否存在或者邻近块是否通过帧间预测被编码来确定邻近块的运动矢量是否存在或者邻近块的运动矢量是否可用作当前块的空间运动矢量候选。这里,可根据预定优先级来确定邻近块的运动矢量是否存在或者邻近块的运动矢量是否可用作当前块的空间运动矢量候选。在示例中,在图9中所示的示例中,可按照A0、A1、B0、B1、B2、B3和A2位置处的块的顺序确定可用性。
在当前块的参考图像和具有运动矢量的邻近块的参考图像不同时,可通过针对邻近块的运动矢量执行缩放来将邻近块的运动矢量确定为当前块的空间运动矢量候选。这里,可基于当前图像与由当前块参考的参考图像之间的距离以及当前图像与由邻近块参考的参考图像之间的距离中的至少一个执行缩放。在一个示例中,可通过根据当前图像与由当前块参考的参考图像之间的距离和当前图像与由邻近块参考的参考图像之间的距离的比率针对邻近块的运动矢量执行缩放来推导当前块的空间运动矢量候选。
此外,在当前块的参考图像索引和具有运动矢量的邻近块的参考图像索引不同时,可通过针对邻近块的运动矢量执行缩放来将邻近块的运动矢量确定为当前块的空间运动矢量候选。这里,可基于当前图像与由当前块参考的参考图像之间的距离以及当前图像与由邻近块参考的参考图像之间的距离中的至少一个来执行缩放。
关于缩放,可通过基于由具有预定义值的参考图像索引指示的参考图像针对邻近块的运动矢量执行缩放来确定空间运动矢量候选。这里,预定义值可以是包括0的正整数。在一个示例中,通过根据当前图像与当前块的由具有预定义值的参考图像索引指示的参考图像之间的距离和当前图像与邻近块的由具有预定义值的参考图像索引指示的参考图像之间的距离的比率针对邻近块的运动矢量执行缩放,可推导当前块的空间运动矢量候选。
此外,可基于当前块的至少一个编码参数来推导当前块的空间运动矢量候选。
可从包括在当前图像的同位图像(同位画面)中的重建块推导当前块的时间运动矢量候选。这里,同位图像可以是在当前图像之前已经被编码/解码的图像,并且可以是具有与当前图像不同的时间顺序的图像。
图10是示出推导当前块的时间运动矢量候选的示例的示图。
参照图10,在当前图像的同位图像中,可从包括与当前块X的相同空间位置相关联的块的外部位置的块或者从包括与当前块X的相同空间位置相关联的块的内部位置的块推导当前块的时间运动矢量候选。这里,时间运动矢量候选可表示同位块的运动矢量。在一个示例中,可从与块C的右下角相邻的块H、包括块C的中心点的块C1和C3、与块C的内角相邻的块C0、C4、C5和C6、与块C的右侧上方相邻的块D0以及与块C的下方左侧相邻的块D1中的至少一个推导当前块的时间运动矢量候选,其中,块C与当前块的相同空间位置相关联。用于推导当前块的时间运动矢量候选的块H、块C1、块C3、块C0、块C4、块C5、块C6、块D0和块D1被称为“同位块(同位置块)”。当不从以上描述的块H、块C1、块C3、块C0、块C4、块C5、块C6、块D0和块D1中的至少一个推导时间运动矢量候选时(当执行帧内编码时),可通过使用排除以上块的其余块来推导时间运动矢量候选。
此外,可基于至少一个编码参数推导时间运动矢量候选、同位图像、同位块、预测列表利用标志、参照图像索引中的至少一个。
当包括当前块的当前图像与当前块的参考图像之间的距离和包括同位块的同位图像与同位块的参考图像之间的距离不同时,可通过针对同位块的运动矢量执行缩放来获得当前块的时间运动矢量候选。这里,可基于当前图像与由当前块参考的参考图像之间的距离以及同位图像与由同位块参考的参考图像之间的距离中的至少一个来执行缩放。在一个示例中,通过根据当前图像与由当前块参考的参考图像之间的距离和同位图像与由同位块参考的参考图像之间的距离的比率针对同位块的运动矢量执行缩放,可推导当前块的时间运动矢量候选。
当前块的附加运动矢量候选可表示修改后的空间运动矢量候选、修改后的时间运动矢量候选、组合运动矢量候选、具有预定运动矢量值的候选以及以子块为单位的运动矢量候选中的至少一个。这里,推导附加运动矢量候选可表示推导附加运动矢量候选并将其添加到运动矢量候选列表。
这里,修改后的空间运动矢量候选可表示通过修改上述空间运动矢量候选而获得的运动矢量。此外,修改后的时间运动矢量候选可表示通过修改上述时间运动矢量候选而获得的运动矢量。此外,组合运动矢量候选可表示通过将运动矢量候选列表中存在的空间运动矢量候选、时间运动矢量候选、修改后的空间运动矢量候选、修改后的时间运动矢量候选和具有预定运动矢量值的运动矢量候选的运动信息中的至少一个组合而获得的运动矢量。
此外,组合运动矢量候选可表示组合双预测运动矢量候选。组合双预测运动矢量候选可以是使用双预测的运动矢量候选,并且可表示具有L0运动矢量和L1运动矢量的运动矢量候选。此外,组合运动矢量候选可以是具有空间运动矢量候选、时间运动矢量候选、修改后的空间运动矢量候选、修改后的时间运动矢量候选和具有预定运动矢量值的运动矢量候选中的至少一个的统计值的运动矢量候选。这里,统计值可表示平均值。此外,可针对L0运动矢量和L1运动矢量中的每一个计算平均值。
此外,具有预定运动信息值的运动矢量候选可表示具有运动矢量(0,0)的零合并运动矢量。
此外,可针对每个子块推导修改后的空间运动矢量候选、修改后的时间运动矢量候选、组合运动矢量候选、具有预定运动矢量值的候选中的至少一个,并且针对每个子块推导出的上述运动矢量可被称为以子块为单位的运动矢量候选,并且可被添加到运动矢量候选列表。这里,“子块”可被用于与“下层块”或“子块”具有相同的含义,并且可被可互换地使用。
稍后将利用图13和图14详细描述以子块为单位的运动矢量候选。
接下来,将描述基于推导出的运动矢量候选生成运动矢量候选列表的步骤(S502、S603)。
生成运动矢量候选列表的步骤可包括将运动矢量候选添加到运动矢量候选列表或从运动矢量候选列表去除运动矢量候选的处理以及将组合运动矢量候选添加到运动矢量候选列表的处理。
首先,将描述将推导出的运动矢量候选添加到运动矢量候选列表或从运动矢量候选列表去除推导出的运动矢量候选的处理。编码设备和解码设备可按照推导运动矢量候选的顺序将推导出的运动矢量候选添加到运动矢量候选列表。
假设运动矢量候选列表mvpListLX可表示与参考画面列表L0、L1、L2和L3对应的运动矢量候选列表。也就是说,与参考画面列表L0对应的运动矢量候选列表可由mvpListL0表示。
除了空间运动矢量候选和时间运动矢量候选之外,具有预定值的运动矢量还可被添加到运动矢量候选列表。例如,当运动矢量列表中的运动矢量候选的数量小于可被包括在运动矢量列表中的运动矢量候选的最大数量时,可将具有值零的运动矢量添加到运动矢量候选列表。
接下来,将描述将组合运动矢量候选添加到运动矢量候选列表的处理。
当运动矢量候选列表中的运动矢量候选的数量小于可被包括在运动矢量候选列表中的运动矢量候选的最大数量时,将运动矢量候选列表中的一个或更多个运动矢量候选组合以生成一个或更多个组合运动矢量候选,并且可将所生成的组合运动矢量候选添加到运动矢量候选列表。例如,将包括在运动矢量候选列表中的空间运动矢量候选、时间运动矢量候选和零运动矢量候选中的至少一个或更多个用于生成组合运动矢量候选,并且可将所生成的组合运动矢量候选添加到运动矢量候选列表。
可选地,可基于编码参数中的至少一个生成组合运动矢量候选,并且可将基于编码参数中的至少一个生成的组合运动矢量候选添加到运动矢量候选列表。
接下来,下面将描述从运动矢量候选列表选择当前块的预测运动矢量的步骤(S503、S604)。
在包括在运动矢量候选列表中的运动矢量候选之中,由运动矢量候选索引指示的运动矢量候选可被确定为当前块的预测运动矢量。
编码设备可计算当前块的运动矢量与预测运动矢量之间的差,从而产生运动矢量差。解码设备可通过将预测运动矢量与运动矢量差相加来生成当前块的运动矢量。
这里,运动信息修正可被应用于包括在运动矢量候选列表中的运动矢量候选、预测运动矢量或者通过将预测运动矢量与运动矢量差相加而计算出的运动矢量中的任意一个。稍后将描述对运动信息修正的详细描述。
稍后将共同描述图5和图6中所示的执行运动补偿的步骤(S504、S605)和对与运动补偿相关联的信息进行熵编码/熵解码的步骤(S505、S601)以及图7和图8中所示的执行运动补偿的步骤(S703、S804)和熵编码/熵解码的步骤(S704、S801)。
在下文中,将详细描述图7和8中所示的每个步骤。
首先,将描述推导合并候选的步骤(S701、802)。
针对当前块的合并候选可包括空间合并候选、时间合并候选和附加合并候选中的至少一个。这里,表述“推导空间合并候选”表示推导空间合并候选并将推导出的合并候选添加到合并候选列表的处理。
参照图9,可从与当前块X相邻的邻近块推导当前块的空间合并候选。与当前块相邻的邻近块可包括与当前块的上方相邻的块B1、与当前块的左侧相邻的块A1、与当前块的右上角相邻的块B0、与当前块的左上角相邻的块B2、与当前块的左下角相邻的块A0、与当前块的左侧上方相邻的块A2以及与当前块的上方左侧相邻的块B3中的至少一个。此外,与当前块相邻的邻近块可包括位于B3与B1之间的块和位于A2与A1之间的块中的至少一个。
为了推导当前块的空间合并候选,可确定与当前块相邻的邻近块是否可用于推导当前块的空间合并候选。这里,可根据预定优先级来确定与当前块相邻的邻近块是否可用于推导当前块的空间合并候选。在一个示例中,在图9中所示的示例中,按照A0、A1、B0、B1、B2、B3和A2位置处的块的顺序确定推导空间合并候选是否可用。基于以上确定优先级而确定的空间合并候选可被顺序地添加到当前块的合并候选列表。
图11是示出将空间合并候选添加到合并候选列表的处理的示例的示图。
参照图11,从四个邻近块A1、B0、A0和B2推导四个空间合并候选,并且推导出的空间合并候选可被顺序地添加到合并候选列表。
可选地,可基于编码参数中的至少一个来推导空间合并候选。
这里,空间合并候选的运动信息可包括三条或更多条运动信息,其中,所述三条或更多条运动信息除了L0运动信息和L1运动信息之外还包括L2运动信息和L3运动信息。这里,可以存在至少一个参考画面列表,例如,包括L0、L1、L2和L3。
接下来,将描述推导当前块的时间合并候选的方法。
可从包括在当前画面的同位画面中的重建块推导当前块的时间合并候选。同位画面可以是在当前画面之前经过编码/解码的画面,并且可在时间顺序上与当前画面不同。
表述“推导时间合并候选”表示推导时间合并候选并将推导出的时间合并候选添加到合并候选列表的处理。
参照图10,在当前图像的同位图像中,可从包括与当前块X的相同空间位置相关联的块的外部位置的块或者从包括与当前块X的相同空间位置相关联的块的内部位置的块推导当前块的时间运动矢量候选。这里,时间运动矢量候选可表示同位块的运动矢量。在一个示例中,可从与和当前块的相同空间位置相关联的块C的右下角相邻的块H、包括块C的中心点的块C1和C3、与块C的内角相邻的块C0、C4、C5和C6、与块C的右侧上方相邻的块D0以及与块C的下方左侧相邻的块D1中的至少一个推导当前块的时间运动矢量候选。用于推导当前块的时间运动矢量候选的块H、块C1、块C3、块C0、块C4、块C5、块C6、块D0、块D1被称为“同位块(同位置块)”。
当可以从包括布置在块C的外侧的位置的块H推导当前块的时间合并候选时,将块H设置为当前块的同位块。在这种情况下,可基于块H的运动信息来推导当前块的时间合并候选。相反,当不可以从块H推导当前块的时间合并候选时,可将块C1、块C3、块C0、块C4、块C5、块C6、块D0和块D1中的至少一个块设置为当前块的同位块。当既不可以从块H也不可以从块C3(例如,这些块是经过帧内编码的块)推导当前块的任意时间合并候选时,可从除了这些块之外的块推导当前块的时间合并候选。
在另一示例中,可从同位图像内的多个块推导当前块的时间合并候选。在一个示例中,可从块H、块C1、块C3、块C0、块C4、块C5、块C6、块D0或块D1推导当前块的多个时间合并候选。
图12是示出将时间合并候选添加到合并候选列表的处理的示例的示图。
参照图12,当从位于位置H1的同位块推导出一个时间合并候选时,可将该推导出的时间合并候选添加到合并候选列表。
当包括当前块的当前画面与当前块的参考画面之间的距离不同于包括同位块的同位画面与同位块的参考画面之间的距离时,可通过对同位块的运动矢量进行缩放来获得当前块的时间合并候选的运动矢量。这里,可基于当前画面与当前块的参考画面之间的距离和同位画面与同位块的参照画面之间的距离中的至少一个来执行运动矢量的缩放。例如,可通过根据当前画面与当前块的参考画面之间的距离和同位画面与同位块的参考画面之间的距离的比率对同位块的运动矢量进行缩放来推导当前块的时间合并候选的运动矢量。
此外,可基于当前块、邻近块或同位块的编码参数中的至少一个推导时间合并候选、同位画面、同位块、预测列表利用标志和参考画面索引中的至少一个。
可通过生成空间合并候选和时间合并候选中的至少一个合并候选并按照推导出的顺序将推导出的合并候选顺序地添加到合并候选列表来生成合并候选列表。
接下来,将描述推导当前块的附加合并候选的方法。
附加合并候选可表示修改后的空间合并候选、修改后的时间合并候选、组合合并候选、具有预定运动信息值的合并候选和以子块为单位的合并候选中的至少一个。这里,推导附加合并候选可表示将附加合并候选添加到合并候选列表。
修改后的空间合并候选可表示通过修改推导出的空间合并候选的至少一条运动信息而获得的合并候选。
修改后的时间合并候选可表示通过修改推导出的时间合并候选的至少一条运动信息而获得的合并候选。
组合合并候选可表示通过将合并候选列表中存在的空间合并候选、时间合并候选、修改后的空间合并候选、修改后的时间合并候选、组合合并候选和具有预定运动信息值的合并候选中的至少一个的运动信息组合而推导出的合并候选。
可选地,组合合并候选可表示通过将如下候选中的至少一个的运动信息组合而推导出的合并候选:未被包括在合并候选列表中的但从可推导空间合并候选和时间合并候选的块推导出的空间合并候选和时间合并候选;基于未被包括在合并候选列表中的但从可推导空间合并候选和时间合并候选的块推导出的空间合并候选和时间合并候选而生成的修改后的空间合并候选和修改后的时间合并候选;组合合并候选;以及具有预定运动信息值的合并候选。
可选地,可由解码器通过使用从比特流熵解码的运动信息来推导组合合并候选。这里,用于由解码器推导组合合并候选的运动信息可被熵编码到比特流。
组合合并候选可表示组合双预测合并候选。组合双预测合并候选可以是使用双预测的合并候选,并且表示具有L0运动信息和L1运动信息的合并候选。
具有预定运动信息值的合并候选可表示具有运动矢量(0,0)的零合并候选。此外,具有预定运动信息值的合并候选可在编码设备和解码设备中被相同地预设为具有相同的值。
此外,可针对每个子块推导修改后的空间合并候选、修改后的时间合并候选、组合合并候选和具有预定运动信息值的合并候选中的至少一个,上述针对每个子块推导出的运动信息被称为以子块为单位的合并候选,并被添加到合并候选列表。
稍后将利用图13和图14详细描述以子块为单位的合并候选。
可基于当前块、邻近块和同位块的编码参数中的至少一个来推导或生成修改后的空间合并候选、修改后的时间合并候选、组合合并候选、具有预定运动信息值的合并候选和以子块为单位的合并候选中的至少一个。此外,可基于当前块、邻近块和同位块的编码参数中的至少一个将修正后的空间合并候选、修正后的时间合并候选、组合合并候选、具有预定运动信息值的合并候选和以子块为单位的合并候选中的至少一个添加到合并候选列表。
此外,合并候选列表的大小可基于当前块、邻近块的编码参数或者同位块的编码参数而被确定,并且其大小可基于编码参数而变化。
接下来,将描述使用所生成的合并候选列表来确定当前块的运动信息的步骤(S702、S803)。
编码器可通过运动估计从合并候选列表选择将被用于当前块的运动补偿的合并候选,并且将指示所确定的合并候选的合并候选索引merge_idx编码为比特流。
为了生成当前块的预测块,编码器可通过使用合并候选索引从合并候选列表选择合并候选,并且确定当前块的运动信息。然后,编码器可基于所确定的运动信息来执行运动补偿,从而生成当前块的预测块。
解码器可对接收到的比特流中的合并候选索引进行解码,并且确定包括在合并候选列表内且由合并候选索引指示的合并候选。所确定的合并候选可被确定为当前块的运动信息。所确定的运动信息被用于当前块的运动补偿。这里,术语“运动补偿”可具有与帧间预测相同的含义。
此外,运动信息修正可被应用于基于合并候选索引而确定的运动信息或者合并候选列表中包括的合并候选中的任意一个。稍后将描述运动信息修正的详细描述。
接下来,将描述使用运动矢量或运动信息来执行运动补偿的步骤(S504、S605、S703、S804)。
编码设备和解码设备可通过使用预测运动矢量和运动矢量差来计算当前块的运动矢量。在计算出运动矢量之后,编码设备和解码设备可使用计算出的运动矢量来执行帧间预测或运动补偿(S504、S605)。
编码设备和解码设备可使用所确定的运动信息来执行帧间预测或运动补偿(S703、S804)。这里,当前块可具有所确定的合并候选的运动信息。
根据当前块的预测方向,当前块可具有一(最少)个至N(最多)个运动矢量。可使用一个至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)时,编码设备和解码设备可使用针对当前块的预测运动矢量来执行当前块的帧间预测或运动补偿。然而,当预测块列表利用标志具有第二值零(0)时,编码设备和解码设备可不使用针对当前块的预测运动矢量来执行当前块的帧间预测或运动补偿。预测块列表利用标志的第一值和第二值可分别被相反地设置为0和1。表达式3至表达式5是当当前块的帧间预测指示符是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参考画面列表可包括长期参考画面、未经历去块滤波器的参考画面、未经历样点自适应偏移的参考画面、未经历自适应环路滤波器的参考画面、仅经历去块滤波器和自适应偏移的参考画面、仅经历去块滤波器和自适应环路滤波器的参考画面、经历样点自适应偏移和自适应环路滤波器的参考画面以及经历去块滤波器、样点自适应偏移和自适应环路滤波器全部的参考画面中的至少一个。在这种情况下,LX参考画面列表可以是L2参考画面列表和L3参考画面列表中的至少任意一个。
即使当针对预定参考画面列表存在多个预测方向时,也可基于预测块的加权和来获得当前块的最终预测块。在这种情况下,针对使用一个参考画面列表推导出的多个预测块的加权因子可彼此相等或者可彼此不同。
多个预测块的加权因子WF_LX或偏移OFFSET_LX中的至少任意一个可以是将被熵编码/熵解码的编码参数。可选地,例如,可从与当前块相邻的先前编码/解码的邻近块推导加权因子和偏移。这里,与当前块相邻的邻近块可包括用于推导当前块的空间运动矢量候选的块和用于推导当前块的时间运动矢量候选的块中的至少一个。
进一步可选地,例如,可基于当前画面的显示顺序(画面顺序计数(POC))以及参考画面中的每一个的POC来确定加权因子和偏移。在这种情况下,随着当前画面与参考画面之间的距离增加,加权因子或偏移的值可减小。也就是说,当当前画面和参考画面彼此接近时,可将更大的值设置为加权因子或偏移。例如,当当前画面的POC与L0参考画面的POC之间的差为2时,应用于使用L0参考画面生成的预测块的加权因子的值可被设置为1/3。此外,当当前画面的POC与L0参考画面的POC之间的差为1时,应用于使用L0参考画面生成的预测块的加权因子的值可被设置为2/3。如上所述,加权因子或偏移可与当前画面和参考画面的显示顺序(POC)之间的差成反比。可选地,加权因子或偏移可与当前画面和参考画面的显示顺序之间的差成正比例。
可选地,例如,可基于至少一个编码参数对加权因子和偏移中的至少一个进行熵编码/熵解码。此外,可基于至少一个编码参数来计算预测块的加权和。
多个预测块的加权和可仅被应用于预测块的部分区域。该部分区域可以是与每个预测块的边界相邻的边界区域。为了将加权和仅应用于如上所述的部分区域,可在每个预测块中逐个子块地计算加权和。
在具有由区域信息指示的块尺寸的块中,可通过使用相同的预测块或相同的最终预测块来针对小于该块的子块执行帧间预测或运动补偿。
在具有由区域信息指示的块深度的块中,可通过使用相同的预测块或相同的最终预测块来针对块深度比该块的块深度深的子块执行帧间预测或运动补偿。
此外,当通过运动矢量预测计算预测块的加权和时,可使用运动矢量候选列表中包括的运动矢量候选中的至少一个来计算加权和,并且可将计算结果用作当前块的最终预测块。
例如,可仅使用空间运动矢量候选来生成预测块,可计算所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可使用空间运动矢量候选和时间运动矢量候选来生成预测块,可计算所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可仅使用组合运动矢量候选来生成预测块,可计算所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可仅使用由特定索引指示的运动矢量候选来生成预测块,可计算所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可仅使用由预定索引范围内的索引指示的运动矢量候选来生成预测块,可计算所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
当使用合并模式来计算预测块的加权和时,可使用合并候选列表中包括的合并候选中的至少一个合并候选来计算加权和,并且可将计算结果用作当前块的最终预测块。
例如,可仅使用空间合并候选来生成预测块,可计算所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可使用空间合并候选和时间合并候选来生成预测块,可计算所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可仅使用组合合并候选来生成预测块,可生成所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可仅使用由特定索引指示的合并候选来生成预测块,可生成所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
例如,可仅使用由预定索引范围内的索引指示的合并候选来生成预测块,可计算所述预测块的加权和,并且可将计算出的加权和用作当前块的最终预测块。
在编码器和解码器中,可使用当前块的运动矢量或运动信息来执行运动补偿。此时,可使用至少一个预测块来确定作为运动补偿的结果的最终预测块。这里,当前块可表示当前编码块和当前预测块中的至少一个。
可通过对当前块的边界区域执行重叠块运动补偿来生成当前块的最终预测块。
当前块的边界区域可以是布置在当前块内且与当前块和当前块的邻近块之间的边界相邻的区域。当前块的边界区域可包括上边界区域、左边界区域、下边界区域、右边界区域、右上角区域、右下角区域、左上角区域和左下角区域中的至少一个。当前块的边界区域可以是与当前块的预测块的一部分对应的区域。
重叠块运动补偿可表示通过计算与当前块的边界区域对应的预测块和使用与当前块相邻的经过编码/解码的块的运动信息生成的预测块的加权和来执行运动补偿的处理。
可通过将当前块划分为多个子块来逐个子块地执行加权和的计算。也就是说,可使用与当前块相邻的经过编码/解码的子块的运动信息来逐个子块地执行当前块的运动补偿。子块可表示当前块的下层块。
此外,在加权和的计算中,使用当前块的运动信息针对当前块的各个子块生成的第一预测块以及使用空间上与当前块相邻的邻近子块的运动信息生成的第二预测块可被使用。在这种情况下,表述“使用运动信息”表示“推导运动信息”。第一预测块可表示通过使用当前块内的编码/解码目标子块的运动信息生成的预测块。第二预测块可以是通过使用空间上与当前块内的编码/解码目标子块相邻的邻近子块的运动信息生成的预测块。
可使用第一预测块和第二预测块的加权和来生成当前块的最终预测块。也就是说,重叠块运动补偿是使用当前块的运动信息和另一块的运动信息来找到当前块的最终预测块。
此外,当高级运动矢量预测(AMVP)模式、合并模式、仿射运动补偿模式、解码器侧运动矢量推导模式、自适应运动矢量分辨率模式、局部照度补偿模式、双向光流模式中的至少一个被使用时,当前块可被划分为多个子块,并且可逐个子块地执行重叠块运动补偿。
当合并模式被用于运动补偿时,可对高级时间运动矢量预测因子(ATMVP)候选和空间-时间运动矢量预测因子(STMVP)候选中的至少一个执行重叠块运动补偿。
接下来,将描述对与运动补偿相关联的信息执行熵编码/熵解码的处理(S505、S601、S704、S801)。
编码设备可将与运动补偿相关联的信息熵编码为比特流,并且解码设备可对包括在比特流中的与运动补偿相关联的信息进行解码。作为熵编码或熵解码的目标的与运动补偿相关联的信息可包括帧间预测指示符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、加权因子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或更多个方向。
特定参考画面列表的预测列表利用标志指示是否使用该参照画面列表生成预测块。
例如,当特定参照画面列表的预测列表利用标志具有第1值一(1)时,这表示使用该参照画面列表生成预测块。当预测列表利用标志具有第二值零(0)时,这表示不使用该参考画面列表生成预测块。这里,可将预测列表利用标志的第1值和第2值分别相反地设置为0和1。
也就是说,当特定参考画面列表的预测列表利用标志具有第一值时,可使用与该参考画面列表对应的运动信息来生成当前块的预测块。
参考画面索引可指示参考画面列表中存在的且由当前块参考的特定参考画面。对于每个参考画面列表,一个或更多个参考画面索引可被熵编码/熵解码。可使用一个或更多个参考画面索引来对当前块进行运动补偿。
运动矢量候选索引指示为每个参考画面列表或每个参考画面索引准备的运动矢量候选列表中包括的运动矢量候选中的当前块的运动矢量候选。可针对每个运动矢量候选列表对至少一个或更多个运动矢量候选索引进行熵编码/熵解码。可使用至少一个或更多个运动矢量候选索引来对当前块进行运动补偿。
运动矢量差表示当前运动矢量与预测运动矢量之间的差。对于针对当前块的每个参考画面列表或每个参考画面索引生成的运动矢量候选列表中的每一个,可对一个或更多个运动矢量差进行熵编码/熵解码。可使用一个或更多个运动矢量差来对当前块进行运动补偿。
关于跳过模式使用/不使用信息cu_skip_flag,当它具有第一值一(1)时,可使用跳过模式。相反,当它具有第二值零(0)时,可不使用跳过模式。可根据跳过模式使用/不使用信息使用跳过模式来执行对当前块的运动补偿。
关于合并模式使用/不使用信息merge_flag,当它具有第一值一(1)时,可使用合并模式。相反,当它具有第二值零(0)时,可不使用合并模式。可根据合并模式使用/不使用信息使用合并模式来执行对当前块的运动补偿。
合并索引信息merge_index可表示指示合并候选列表内的合并候选的信息。
可选地,合并索引信息可表示关于合并索引的信息。
此外,合并索引信息可指示空间上/时间上与当前块相邻的重建块中的用于推导合并候选的重建块。
合并索引信息可指示合并候选具有的一条或更多条运动信息。例如,当合并索引信息具有第一值零(0)时,合并索引信息可指示合并候选列表中作为第一条目被列出的第一合并候选;当合并索引信息具有第二值一(1)时,合并索引信息可指示合并候选列表中作为第二条目被列出的第二合并候选;并且当合并索引信息具有第三值二(2)时,合并索引信息指示合并候选列表中作为第三条目被列出的第三合并候选。类似地,当合并索引信息具有从第四值到第N值的值时,合并索引信息可指示合并候选列表中在根据该值的顺序的位置处列出的合并候选。这里,N可以是0或正整数。
可基于合并模式索引信息使用合并模式对当前块执行运动补偿。
当在当前块的运动补偿期间生成两个或更多个预测块时,可基于所述预测块的加权和来确定当前块的最终预测块。当计算加权和时,可将加权因子、偏移或者加权因子和偏移两者应用于各个预测块。用于计算加权和的加权和因子(例如,加权因子和偏移)可通过如下中的至少一个中的一些或与如下中的至少一个对应的一些而被熵编码/熵解码:参考画面列表、参考画面、运动矢量候选索引、运动矢量差、运动矢量、跳过模式使用/不使用信息、合并模式使用/不使用信息、合并索引信息。此外,可基于帧间预测指示符对针对每个预测块的加权和因子进行熵编码/熵解码。加权和因子可包括加权因子和偏移中的至少一个。
与运动补偿相关联的信息可逐块地被熵编码/熵解码,或者可以以更高等级单元为单位被熵编码/熵解码。例如,与运动补偿相关联的信息可逐块地(例如,逐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)单位中的至少任意一个。
重叠块运动补偿信息可以是指示在当前块的运动补偿期间是否另外将空间上与当前块相邻的邻近块的运动矢量用于计算当前块的预测块的加权和的信息。
局部照度补偿信息可以是指示当生成当前块的预测块时是否应用加权因子和偏移中的一个的信息。这里,加权因子和偏移中的至少一个可以是基于参考块计算出的值。
仿射运动补偿信息可以是指示是否将仿射运动模型用于当前块的运动补偿的信息。这里,仿射运动模型可以是使用多个参数将一个块划分为多个子块并使用代表性运动矢量来计算这些子块的运动矢量的模型。
解码器侧运动矢量推导信息可以是指示运动补偿所需的运动矢量是否由解码器推导并随后在解码器中使用的信息。根据解码器侧运动矢量推导信息,可不对与运动矢量相关联的信息进行熵编码/熵解码。当解码器侧运动矢量推导信息指示运动矢量由解码器推导并随后在解码器中使用时,可对与合并模式相关联的信息进行熵编码/熵解码。也就是说,解码器侧运动矢量推导信息可指示是否在解码器中使用合并模式。
双向光流信息可以是指示是否逐个像素地或逐个子块地修改运动矢量并随后将修改后的运动矢量用于运动补偿的信息。依据双向光流信息,可不逐个像素地或逐个子块地对运动矢量进行熵编码/熵解码。修改运动矢量表示将基于块的运动矢量的值转换为基于像素的运动矢量的值或基于子块的运动矢量的值。
可基于与运动补偿相关联的至少一条信息来对当前块进行运动补偿,并且可对与运动补偿相关联的至少一条信息进行熵编码/熵解码。
当对与运动补偿相关联的信息进行熵编码/熵解码时,可使用二值化方法,诸如,截断Rice二值化方法、K阶指数Golomb二值化方法、有限K阶指数Golomb二值化方法、定长二值化方法、一元二值化方法和截断一元二值化方法。
当对与运动补偿相关联的信息进行熵编码/熵解码时,可基于如下项中的至少一项来确定上下文模型:与相邻于当前块的邻近块的运动信息或该邻近块的区域信息相关联的信息;先前编码/解码的与运动补偿相关联的信息或先前编码/解码的区域信息;关于当前块的深度的信息;以及关于当前块的尺寸的信息。
此外,当对与运动补偿相关联的信息进行熵编码/熵解码时,可通过将与邻近块的运动补偿相关联的信息、先前编码/解码的与运动补偿相关联的信息、关于当前块的深度的信息以及关于当前块的尺寸的信息中的至少一个用作与当前块的运动补偿相关联的信息的预测值来执行熵编码/熵解码。
在下文中,将参照图13和图14描述以子块为单位的运动矢量候选或以子块为单位的合并候选的详细描述。这里,可通过使用以子块为单位对运动信息进行预测的以下方法来确定以子块为单位的运动矢量候选和以子块为单位的合并候选。
在当前块被划分为多个子块并且以子块为单位推导运动信息时,可使用以下两种以子块为单位对运动信息进行预测的方法。在以下两种以子块为单位对运动信息进行预测的方法中,示出了对运动矢量进行预测的示例,并且通过使用以子块为单位对运动信息进行预测的方法,包括在运动信息中的至少一条信息以及运动矢量可被预测。在以下示例中,为了方便,示出以子块为单位的运动矢量而非以子块为单位的运动信息。
此外,通过使用以下方法中的至少一个确定的以子块为单位的运动信息可被包括在附加合并候选中。换句话说,以子块为单位确定的运动信息可作为以子块为单位的合并候选而被包括在合并/跳过候选列表中。此外,通过使用以下方法中的至少一个确定的子块单元的运动信息可被包括在子块合并候选列表的附加合并候选中。换句话说,以子块为单位确定的运动信息可作为以子块为单位的合并候选而被包括在子块合并/跳过候选列表中。
此外,通过使用以下方法中的至少一个确定的子块单元的运动信息可被包括在时间合并候选中。换句话说,以子块为单位确定的运动信息可作为时间合并候选而被包括在合并/跳过候选列表中。此外,通过使用以下方法中的至少一个确定的子块单元的运动信息可被包括在子块合并候选列表的时间合并候选中。换句话说,以子块为单位确定的运动信息可作为以子块为单位的时间合并候选而被包括在合并/跳过候选列表中。
此外,如上确定的子块单元的运动矢量可作为附加运动矢量候选(即,以子块为单位的运动矢量候选)而被包括在运动矢量候选列表中,或者可作为时间运动矢量候选而被包括在运动矢量候选列表中。
图13是示出根据本发明的实施例的以第一子块为单位对运动信息进行预测的方法的示图。
以第一子块为单位对运动信息进行预测的方法可表示通过使用参考图像内的同位块内存在的子块的运动信息来对当前块内的子块的运动信息进行预测的方法。换句话说,这可表示基于通过划分同位块而获得的子块的运动信息来确定通过划分当前块而获得的子块的运动信息。这里,运动信息可包括运动矢量、参考图像索引和帧间预测方向中的至少一个。
可按照两个步骤执行以第一子块为单位对运动信息进行预测的方法。在第一步骤,可识别参考图像和同位块中的至少一个,并且在第二步骤,可将当前块划分为多个子块,并且可从同位块内的子块以当前块的子块为单位确定运动信息。
在第一步骤,可通过使用空间上与当前块相邻的块中的至少一个的运动信息来确定同位图像和同位块中的至少一个。这里,同位图像可以是包括同位块的图像。指示同位图像的信息可以是以序列、画面、条带、并行块组和并行块中的至少一个为单位用信号发送的信息,并且可以以索引形式来表示。
例如,在空间上与当前块相邻的块的运动信息中,运动矢量可被确定为时间运动矢量,并且参考图像索引可被确定为指示同位图像的索引。
此外,可通过使用具有特定值的至少一个编码参数来确定同位图像和同位块中的至少一个。特定值可以是在编码器/解码器中预先定义的固定值,或者可以是从编码器编码并被用信号发送的可变值。
例如,当合并候选列表内的合并候选具有至少两个运动矢量和至少两个参考图像索引时,可通过将由所述至少两个参考图像索引指示的参考图像的POC与当前图像的POC进行比较来计算差值,可将POC与当前图像的POC的差值最小的参考图像确定为用于以子块为单位对运动信息进行预测的同位图像。这里,POC之间的差值小可表示参考图像与当前图像时间上相邻。
例如,当合并候选列表内的合并候选具有至少两个运动矢量和至少两个参考图像索引时,可将L0方向的由参考图像索引指示的参考图像确定为用于以子块为单位对运动信息进行预测的同位图像。
例如,当合并候选列表内的合并候选具有至少两个运动矢量和至少两个参考图像索引时,可将L1方向的由参考图像索引指示的参考图像确定为用于以子块为单位对运动信息进行预测的同位图像。
例如,可将合并候选列表内的一个合并候选的运动矢量确定为指示同位块的时间运动矢量,并且可将指示同位图像的参考图像索引确定为特定值。该特定值可以是在编码器/解码器中预先定义的固定值,或者可以是从编码器编码并被用信号发送的可变值。例如,该特定值可以是0。这里,具有用于指示同位块的运动矢量的合并候选可以是具有与所确定的同位图像的POC相同的参考图像索引的合并候选。
例如,可通过使用合并候选列表内的一个合并候选的参考图像索引来确定同位图像,并且可将运动矢量确定为特定值。该特定值可以是在编码器/解码器中预先定义的固定值,或者可以是从编码器编码并被用信号发送的可变值。例如,该特定值可以是(0,0)。
例如,可根据合并候选列表内的第一合并候选中所包括的运动信息来确定同位图像和同位块。可将第一合并候选的运动矢量确定为时间运动矢量,并且可将第一合并候选的参考图像索引用作指示同位图像的索引。
在第二步骤,可通过将当前块的坐标与在第一步骤确定的时间运动矢量相加来确定同位块。在通过划分所确定的同位块而获得的每个子块处存在的运动信息可被确定为通过划分当前块而获得的每个子块单元的运动信息。这里,可从空间上位于与同位块内的子块单元相关联的子块确定当前块内的子块的运动信息。这里,通过使用所确定的时间运动矢量,可将当前块内的子块的运动信息确定为与当前块内的子块中所包括的左上位置、左下位置、右上位置、右下位置和中心位置中的至少一个相关联的同位块内的子块的运动信息。
这里,在当前块内的每个子块单元的运动信息中,可针对运动矢量执行缩放。
这里,合并候选列表内的合并候选可以是从与当前块相邻的重建块推导出的运动信息,并且可表示可能作为合并候选而被包括在合并候选列表中的至少一条运动信息。例如,合并候选列表内的合并候选可以是从与当前块相邻的重建块推导出的运动矢量,并且可表示可能作为合并候选而被包括在合并候选列表中的运动矢量。
图14是示出根据本发明的实施例的以第二子块为单位对运动信息进行预测的方法的示图。
以第二子块为单位对运动信息进行预测的方法表示通过使用通过划分同位块而获得的子块的运动信息以及与当前块内的子块相邻的子块的运动信息中的至少一个来对当前块内的子块的运动信息进行预测的方法。换句话说,可将通过使用通过划分同位块而获得的子块的运动信息以及与当前块的子块相邻的子块的运动信息中的至少一个而获得的计算结果确定为通过划分当前块而获得的子块的运动信息。这里,计算结果可以是中值、最小值、最大值、平均值、加权平均值和众数中的至少一个的统计值结果。
在以第二子块为单位对运动信息进行预测的方法中,可通过特定顺序以当前块内的子块为单位递归地推导运动信息。这里,特定顺序可以是光栅扫描顺序、水平扫描顺序、垂直扫描顺序、Z字形扫描顺序和对角线扫描顺序中的至少一个。特定顺序可以是在编码器/解码器中预定义的固定顺序,或者可以是通过在编码器中确定且在解码器中被用信号发送的信息而确定的顺序。
例如,在当前块被划分为N个子块并且当前子块与N个子块中的一个子块对应时,可确定当前子块的上方块是否可用以及是否针对上方块执行了帧间预测。此外,可确定当前子块的左侧块是否可用以及是否针对左侧块执行了帧间预测。结果是,当上方块或左侧块可用并且针对上方块或左侧块执行了帧间预测时,可从对应块确定空间运动信息。可从与在当前块内的N个子块中的至少一个子块的位置处的块相关联的同位图像内的同位块确定时间运动信息。这里,可基于当前块的至少一个编码参数针对推导出的空间运动信息或推导出的时间运动信息执行缩放。此外,可通过使用推导出的空间运动信息和推导出的时间运动信息中的至少一个的统计值来确定当前子块的运动信息。这里,N可以是正整数,例如,4。
这里,可通过使用基于当前子块的至少一个邻近子块的运动信息来推导空间运动信息,并且可通过使用基于当前子块的至少一个邻近子块的运动信息来推导时间运动信息。
此外,可基于当前块的至少一个编码参数来确定当前块内的子块的数量。
例如,子块的数量可根据当前块的尺寸而变化。在当前块的尺寸是32×32时,子块的数量可以是16,并且在当前块的尺寸是64×64时,子块的数量可以是4。
例如,子块的数量可根据当前块的形状而变化。在当前块的形状是16×32的垂直长的非正方形时,子块的数量可以是8,并且在当前块的形状是32×32的正方形时,子块的数量可以是16。
此外,当前块内的子块可被固定为具有正方形形状,而不管当前块的形状如何。
此外,当前块内的子块的形状可被相同地确定为当前块的块形状。
例如,在当前块具有垂直长的非正方形形状时,子块的形状可被确定为垂直长的非正方形形状。
通过使用上述以第一子块为单位和以第二子块为单位对运动信息进行预测的方法中的至少一个而确定的子块单元的运动信息可被包括为合并候选列表内的合并候选。这里,合并索引可被用于指示所确定的子块单元的运动信息。
此外,通过使用上述以第一子块为单位和以第二子块为单位对运动信息进行预测的方法中的至少一个而确定的子块单元的运动信息可被包括为合并候选列表内的以子块为单位的合并候选。这里,合并候选列表的以子块为单位的合并索引可被用于指示所确定的子块单元的运动信息。
此外,附加编码信息可被用于指示对通过使用上述以第一子块为单位和以第二子块为单位对运动信息进行预测的方法中的至少一个而确定的子块单元的运动信息的使用。这里,编码信息可从编码器被用信号发送到解码器,并且可以是标志或索引信息。
此外,当包括子块的当前块的尺寸等于或大于预设值时,可应用子块单元的运动信息预测。这里,预设值可以是8×8。
此外,子块单元的运动信息可被存储在以子块为单位的运动信息中,并稍后被用于将被编码/解码的块的帧间预测。
此外,可根据子块单元的运动信息来执行自适应样点偏移、去块滤波和自适应环路滤波器中的至少一个。
此外,为了减小存储器访问带宽,子块可具有M×N的尺寸单位。M和N可以是正整数,并且M和N可具有彼此不同的值。例如,M和N中的每一个可以是8。
可以以序列、画面、条带、并行块组、并行块和CTU中的至少一个为单位确定子块的尺寸。换句话说,可以以序列、画面、条带、并行块组、并行块和CTU中的至少一个为单位定义子块的尺寸。
例如,子块的尺寸以并行块组为单位可以是4×4或8×8。
例如,子块的尺寸以画面为单位可以是8×8或16×16。
例如,子块的尺寸以条带为单位可以是8×8或16×16。
这里,以序列、画面、条带、并行块、并行块组和CTU为单位指示子块的尺寸的信息可被熵编码/熵解码。
此外,为了减小存储器访问带宽,可以以M×N为单位存储同位图像的运动信息。这里,M和N可以是正整数,并且M和N可具有彼此不同的值。例如,M和N中的每一个可以是8。这里,M和N具有彼此不同的值表示可以以非正方形为单位存储同位图像的运动信息。当M和N在图像内具有固定值时,这可表示图像内的运动信息的单位是相同的。
当按诸如并行块、条带等的子图像单元对当前图像进行划分时,可基于对应子图像单元的形状来确定按其存储同位图像的运动信息的单位形状。例如,在当前子图像具有非正方形形状时,按其存储同位图像的运动信息的单位可具有非正方形形状。
此外,当按诸如并行块、条带等的子图像单元对当前图像进行划分时,可基于对应子图像的水平长度和垂直长度的高宽比来确定按其存储同位图像的运动信息的非正方形单位的尺寸。例如,在当前子图像单元的水平长度和垂直长度的高宽比为2:1时,按其存储参考图像的运动信息的非正方形单位的尺寸可被确定,使得高宽比为2:1。
同位图像的运动信息可不以M×N为单位被存储,并且可以编码/解码块为单位被存储。这里,运动信息以编码/解码块为单位被存储可表示运动信息按在图像编码/解码时使用的块的尺寸单位被存储。换句话说,按其存储图像内的运动信息的单位可变化。
这里,所存储的同位图像的运动信息可稍后在另一图像中被用作时间运动矢量、时间合并候选,或者在以子块为单位对运动信息进行预测的方法中的至少一个中被使用。当同位图像的运动信息以M×N为单位被存储时,通过使用当前块的坐标、同位块的坐标和M×N单位的尺寸信息中的至少一个,以M×N为单位存储的运动信息可被用作当前块的运动信息。
可通过执行上述以两种子块为单位对运动信息进行预测的方法,然后通过针对所确定的子块单元的运动信息执行稍后将描述的运动信息修正方法,来推导子块单元的修正后的运动信息。
此外,在运动修正模式下,可通过执行上述以两种子块为单位对运动信息进行预测的方法,然后通过针对所确定的子块单元的运动信息执行稍后将描述的双边模板匹配,来计算子块单元的修正后的运动信息。
在下文中,将参照图15至图21详细描述运动信息修正方法。这里,运动信息修正可表示对至少一条运动信息进行修正的处理。也就是说,将被执行运动信息修正的信息可以是包括如下项的运动信息中的至少一条:运动矢量、参考画面索引、参考画面、画面间预测指示符、预测列表利用标志、加权因子、偏移等。运动信息修正表示对运动矢量、参考画面索引、参考画面、画面间预测指示符、预测列表利用标志、加权因子和偏移中的至少一个的值进行修正。
将被执行运动信息修正的信息可以是诸如各种编码参数中的至少一个参数的信息。在这种情况下,运动信息修正表示对诸如编码参数中的至少一个参数的信息的值进行修正。
通过运动信息修正,产生了修正后的运动信息。可将由运动信息修正得到的修正后的运动信息用于将被编码/解码的当前块(在下文中也称为编码/解码目标块)的运动补偿(图5中的S504、图6中的S605、图7中的S703、图8中的S804)。
关于用于执行运动信息修正的时序,可在执行运动补偿之前执行运动信息修正。也就是说,在对编码/解码目标块执行运动补偿之前,首先执行运动信息修正以产生修正后的运动信息,并且随后将使用产生的修正后的运动信息来执行运动补偿。
例如,针对AMVP模式,可在确定运动矢量的步骤(图5中的S503和图6中的S604)中执行运动信息修正。在这种情况下,可将运动信息修正应用于如下项中的任意一种信息类型:包括在运动矢量候选列表中的运动矢量候选、预测运动矢量以及通过将预测运动矢量与运动矢量差相加而计算出的运动矢量。
例如,针对合并模式,可在确定运动信息的步骤(图7中的S702和图8中的S803)中执行运动信息修正。在这种情况下,可将运动信息修正应用于包括在合并候选列表中的合并候选或基于合并候选索引从合并候选列表提取出的运动信息。
另一方面,即使针对跳过模式,也可执行运动信息修正。在这种情况下,可将运动信息修正应用于包括在跳过候选列表中的跳过候选或基于跳过索引从跳过候选列表提取出的运动信息。
关于用于执行运动信息修正的时序,可在执行运动补偿(图5中的S504、图6中的S605、图7中的S703、图8中的S804)期间执行运动信息修正。也就是说,在对编码/解码目标块执行运动补偿时,执行运动信息修正以产生修正后的运动信息,并且使用修正后的运动信息来执行运动补偿。
例如,编码器/解码器可基于在运动矢量确定步骤或运动信息确定步骤(图5中的S503、图6中的604、图7中的702和图8中的S803)中确定的运动信息来生成预测块,并且可通过使用生成的预测块执行运动信息修正来生成修正后的运动信息。这里,编码器/解码器可使用修正后的运动信息来生成最终预测块。
可根据相同的规则在编码器侧和解码器侧对运动信息进行修正。由于根据相同的规则在编码器侧和解码器侧对运动信息进行了修正,因此可不对“关于运动信息修正的使用的信息”(在下文中,称为运动信息修正利用信息)进行熵编码/熵解码。
在下文中,参照图15至图21,将描述作为运动信息修正的实施例的双边模板匹配。
双边模板匹配是对运动信息的运动矢量进行修正的方法的实施例。可通过使用双边模板匹配来对用于双向预测的两个运动矢量中的至少一个运动矢量进行修正。这里,双边模板可表示通过在双向预测期间针对通过使用两个运动矢量而生成的预测块执行加权求和而计算出的预测块。双向可表示双预测。此外,可通过使用诸如双边模板匹配的修正方法以与运动矢量相似的形式对运动信息中包括的参考图像索引、参考图像、帧间预测指示符、预测列表利用标志、加权因子和偏移中的至少一个进行修正。
详细地,当针对双向预测块执行双边模板匹配时,可对与参考图像列表0对应的第一运动矢量以及与参考图像列表1对应的第二运动矢量中的至少一个进行修正。这里,修正后的运动矢量可具有与被修正之前的运动矢量不同的运动矢量值。此外,可在稍后将描述的参考图像的限制区域内执行对修正后的运动矢量的搜索。
图15是示出双边模板匹配的示图。
参照图15,双边模板匹配可包括:1)通过使用初始运动矢量来生成双边模板;以及2)通过对双边模板内的样点和参考图像内的重建样点进行比较来修正运动矢量。
1)生成双边模板
编码器/解码器可通过使用通过与参考图像列表0对应的第一运动矢量以及与参考图像列表1对应的第二运动矢量生成的预测块来生成双边模板。此外,编码器/解码器可通过使用通过与参考图像列表0对应的第一运动矢量以及与参考图像列表0对应的第二运动矢量生成的预测块来生成双边模板。此外,编码器/解码器可通过使用通过与参考图像列表1对应的第一运动矢量以及与参考图像列表1对应的第二运动矢量生成的预测块来生成双边模板。这里,可通过针对预测块执行加权求和来生成双边模板,并且在加权求和中使用的加权因子可以是0.5:0.5。
此外,用于生成双边模板的运动矢量可被称为初始运动矢量。初始运动矢量可表示通过经由使用合并模式、AMVP模式和跳过模式中的至少一个推导运动信息的方法而推导出的运动矢量。
2)运动矢量修正
编码器/解码器可通过对双边模板内的样点与参考图像内的重建样点之间的值进行比较来对与每个参考图像列表对应的每个运动矢量进行修正。
可将指示表示参考图像列表0的参考图像内的与双边模板的最小失真的位置的运动矢量确定为修正的第一运动矢量。此外,可将指示表示参考图像列表1的参考图像内的与双边模板的最小失真的位置的运动矢量确定为修正的第二运动矢量。
详细地,当由初始第一运动矢量指示的参考图像内的区域与双边模板之间的失真值大于由修正的第一运动矢量指示的参考图像内的区域与双边模板之间的失真值时,可对第一运动矢量进行修正。类似地,当由初始第二运动矢量指示的参考图像内的区域与双边模板之间的失真值大于由修正的第二运动矢量指示的参考图像内的区域与双边模板之间的失真值时,可对第二运动矢量进行修正。
这里,当对双边模板内的样点与参考图像内的重建样点之间的值进行比较时,编码器/解码器可通过使用计算样点之间的失真的方法(诸如SAD(绝对差和)、SATD(绝对变换差和)、SSE(误差平方和)、MSE(误差平方平均)、MR-SAD(去SAD平均)等)来将指示参考图像内的表示最小失真的重建样点的位置的运动矢量确定为修正后的运动矢量。可针对亮度分量和色度分量中的至少一个来计算失真。
此外,当对双边模板内的样点与参考图像内的重建样点之间的值进行比较时,可通过在双边模板内的样点与参考图像内的重建样点之间进行异或(XOR)来计算失真。
例如,在针对双边模板内的至少一个样点和参考图像内的至少一个重建样点执行了异或之后,可通过对通过针对每个样点执行异或而获得的结果求和来计算失真。
此外,当对双边模板内的样点和参考图像内的重建样点的值进行比较时,可通过将每个样点的比特深度减小特定值K来计算失真。这里,K可具有从0到样点的比特深度的值,并且可以是包括0的正整数。
例如,当双边模板内的样点和参考图像内的重建样点的比特深度是10比特时,双边模板内的样点和参考图像内的重建样点的比特深度可减小4,并且可通过使用计算样点之间的失真的方法(诸如SAD、SATD、SSE、MSE等)来计算失真。
此外,当对双边模板内的样点和参考图像内的重建样点的值进行比较时,通过计算样点之间的失真的方法和计算运动信息中包括的至少一条信息的速率的方法,可将参考图像内的表示最小率失真值的重建样点位置用作修正后的运动矢量。这里,可通过针对初始运动矢量值和修正后的运动矢量值中的至少一个执行熵编码来计算速率。此外,可通过针对初始运动矢量值与修正后的运动矢量值之间的差值执行熵编码来计算速率。这里,熵编码可表示二值化方法中的至少一个。
此外,当由初始第一运动矢量和初始第二运动矢量指示的参考图像内的区域之间的SAD值大于预定义值时,可通过执行双边模板匹配来修正初始第一运动矢量和初始第二运动矢量。相反,当由初始第一运动矢量和初始第二运动矢量指示的参考图像内的区域之间的SAD值小于预定义值时,可不执行双边模板匹配。
此外,在双向预测的情况下,当与第一预测方向(例如,L0预测方向)对应的初始第一运动矢量的值和应用了运动信息修正的修正的第一运动矢量的值相同时,可不针对与第二预测方向(例如,L1预测方向)对应的初始第二运动矢量执行运动信息修正。
此外,可递归地执行双边模板匹配。
详细地,在通过使用修正的第一运动矢量和修正的第二运动矢量生成第二双边模板之后,可通过使用所生成的第二双边模板执行双边模板匹配来重新对修正的第一运动矢量和修正的第二运动矢量进行修正。这里,通过双边模板匹配确定重新修正后的运动矢量的方法可被重复多达M次。这里,M可以是正整数(例如,2),M可以是在编码器/解码器中预先定义的固定值,或者可以是从编码器编码并被用信号发送的可变值。可选地,可基于编码/解码目标块的尺寸来确定M。此外,可在稍后将描述的参考图像的限制区域内对修正后的运动矢量进行重新修正。
在一个示例中,当编码/解码目标块的高度或宽度小于8时,M可被设置为2。
此外,当编码/解码目标块的高度和宽度是8时,M可被设置为2。
此外,当编码/解码目标块的宽度是8并且高度是16,或者反之亦然时,M可被设置为4。
此外,否则,M可被设置为8。这里,可针对第一参考图像(例如,L0参考图像)执行四次双边模板匹配,并且可针对第二参考图像(例如,L1参考图像)执行四次双边模板匹配。
此外,当按子像素单位递归地执行双边模板匹配时,可按整数像素单位递归地执行双边模板匹配。
通过双边模板匹配生成的修正后的运动矢量可被替换为初始运动矢量,并被用于编码/解码目标块的运动补偿。此外,可在编码器和解码器中通过相同的规则来执行双边模板匹配。
当执行双边模板匹配时,可在参考图像的限制区域内执行对修正后的运动矢量的搜索。
图16至图21是示出用于在双边模板匹配中搜索修正后的运动矢量的区域(在下文中,称为搜索区域)的示图。这里,在搜索区域中搜索修正后的运动矢量表示运动矢量可以被修正使得运动矢量被修正为具有搜索区域内的预定值。
此外,搜索区域的整数像素范围和搜索区域的子像素范围中的至少一个可以是在编码器和解码器中预先设置的范围。
参照图16至图21,搜索区域可被定义为以整数像素(整数pel)为单位在水平/垂直方向上的-M至+N的像素范围。这里,M和N可以是正整数。此外,搜索区域可被定义为以子像素(子pel)为单位在水平/垂直方向上的-O至+P的子像素范围。这里,O和P可以是小数值。在一个示例中,子像素单位可表示1/2像素、1/4像素、1/8像素、1/16像素、1/32像素等。此外,O和P可具有整数值以表示子像素。
当按子像素单位执行搜索修正后的运动矢量时,空间上与由整数像素单位的运动矢量指示的整数像素相邻的邻近子像素可成为运动矢量搜索目标。在图16至图21中,子像素单位示出1/2像素单位的示例。
此外,在搜索区域内,整数像素单位的水平方向上的像素范围和垂直方向上的像素范围可不同。
例如,为了减小存储器访问带宽,在搜索区域中,整数像素单位的垂直方向上的像素范围可被确定为小于水平方向上的像素范围。例如,整数像素单位的垂直方向上的像素范围可被确定为-1至+1,并且整数像素单位的水平方向上的像素范围可被确定为-2至+2。
此外,在搜索区域中,子像素单位的水平方向上的子像素范围和垂直方向上的子像素范围可彼此不同。
例如,为了减小存储器访问带宽,在搜索区域中,子像素单位的垂直方向上的子像素范围可被确定为小于水平方向上的子像素范围。例如,垂直方向上的子像素范围可被确定为-1/4至+1/4,水平方向上的子像素范围可被确定为-1/2至+1/2。
此外,为了减小存储器访问带宽,可限制子像素单位的搜索区域。例如,子像素单位的搜索区域可被限制为被包括在整数像素单位的搜索区域中。因此,可针对属于整数像素单位的搜索区域的至少一个子像素单位执行对修正后的运动矢量的搜索。
图17是示出将子像素单位的搜索区域限制为被包括在整数像素单位的搜索区域中的实施例的示图。
参照图17,阴影线的子像素表示不包括在整数像素单位的搜索区域中的子像素,并且搜索修正后的运动矢量可被限制为按对应的子像素单位。换句话说,搜索修正后的运动矢量可被限制为按无阴影线的子像素单位来执行,并且不从存储器附加地加载用于生成阴影线的子像素的整数像素,因此可减小存储器访问带宽。
此外,整数单位的搜索区域可包括中心点、上点、下点、左点和右点中的至少一个。
这里,可基于中心点、上点、下点、左点和右点的失真值进一步执行对至少一个点的搜索。这里,所述至少一个点可以是左上点、左下点、右上点和右下点中的至少一个。这里,可在中心点、上点、下点、左点、右点、左上点、左下点、右上点和右下点中的至少一个中设置子像素单位的搜索区域。在一个示例中,可在中心点、上点、下点、左点和右点中设置子像素单位的搜索区域。
此外,搜索区域的形状可以是基于由初始运动矢量指示的像素可以以二维形式表示的图形形状,诸如正方形、矩形、菱形/斜方形和十字形。搜索区域可具有在编码器/解码器中预先定义的固定形状,或者搜索区域的形状可由从编码器编码并被用信号发送的信息指定。
此外,可限制初始运动矢量和修正后的运动矢量中的至少一个的运动矢量值的范围,使得搜索区域不超过特定范围的图像边界。可通过限幅来实现限制运动矢量值的范围。
这里,运动矢量值的范围可被确定为在编码器和解码器中预先确定的范围。这里,预定范围可表示用于限制运动矢量值的阈值,并且阈值可由最小值和最大值中的至少一个来实现。此外,运动矢量值的范围可以是从编码器编码并被用信号发送的可变范围。
此外,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个的图像边界可被限制,使得所述图像边界可不超过预定范围。
此外,在执行整数像素单位的运动信息修正之后,可允许子像素单位的运动信息修正。
此外,可按视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、CTU和块中的至少一个对是否按整数像素单位执行搜索修正后的运动矢量的信息进行熵编码/熵解码。可在编码器/解码器中基于是否执行搜索整数像素单位的修正后的运动矢量的信息来确定是否按整数像素单位执行搜索运动矢量。
此外,可按视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、CTU和块中的至少一个对是否按子像素单位执行搜索修正后的运动矢量的信息进行熵编码/熵解码。可在编码器/解码器中基于是否执行搜索子像素单位的修正后的运动矢量的信息来确定是否按子像素单位执行搜索运动矢量。
此外,可按视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、CTU和块中的至少一个对整数像素单位的像素范围和子像素单位的子像素范围中的至少一个的搜索区域的信息进行熵编码/熵解码。可在编码器和解码器中通过使用整数像素范围信息和子像素范围信息来相同地执行运动矢量修正。
此外,可在编码器和解码器中预先确定针对搜索区域的整数像素单位的最大像素范围和针对搜索区域的子像素单位的最大子像素范围。这里,可按视频参数集、序列参数集、画面参数集、自适应参数集、并行块组头、CTU和块中的至少一个对最大像素范围的差值的信息和最大子像素范围的差值的信息中的至少一个进行熵编码/熵解码。
这里,在编码器和解码器中,可通过使用最大像素范围和最大像素范围的差值的信息中的至少一条信息来相同地执行运动矢量修正。此外,在编码器和解码器中,可通过使用最大子像素范围的差值和最大子像素范围的信息中的至少一条信息来相同地执行运动矢量修正。
此外,可基于是否按整数像素单位执行搜索修正后的运动矢量的信息对针对搜索区域的整数像素单位的像素范围与针对搜索区域的整数像素单位的最大像素范围的差值的至少一条信息进行熵编码/熵解码。
此外,可基于是否按子像素单位执行搜索修正后的运动矢量的信息对针对搜索区域的子像素单位的子像素范围与针对搜索区域的子像素单位的最大子像素范围的差值的至少一条信息进行熵编码/熵解码。
此外,可基于是否按子像素单位执行搜索修正后的运动矢量的信息来对子像素单位的信息进行熵编码/熵解码。这里,子像素单位可表示1/2像素、1/4像素、1/8像素、1/16像素、1/32像素等。
此外,可通过使用子像素单位的信息在编码器和解码器中相同地执行运动矢量修正。
此外,可对多个子像素单位的信息进行熵编码/熵解码。当多个子像素单位的信息被熵编码/熵解码时,可针对与多个编码单元的信息对应的每个子像素单位执行运动矢量修正。
为了减小存储器访问带宽,可基于当前块的尺寸确定整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个。这里,当前块的尺寸可表示水平尺寸、垂直尺寸和表面积中的至少一个。下面的N、M、I、R、J、K、S和T可以是包括0的正整数。
在当前块的尺寸增大时,整数像素单位的搜索区域和子像素单位的搜索区域的至少一个尺寸可增大。
在当前块具有N*M的尺寸并且N*M等于或小于I时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-R至+R。
例如,当N*M是32(4*8或8*4)并且I是64时,R可被确定为1。
例如,当N*M是256(16*16)并且I是512时,R可被确定为2。
例如,当N*M是16384(128*128)并且I是16384时,R可被确定为3。
类似地,在当前块具有N*M的尺寸并且N*M大于I时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-R至+R。
例如,当N*M是64(8*8)并且I是32时,R可被确定为1。
例如,当N*M是256(16*16)并且I是64时,R可被确定为2。
例如,当N*M是16384(128*128)并且I是256时,R可被确定为4。
在当前块具有N*M的尺寸并且N等于或小于J时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-S至+S。
例如,当N是8并且J是8时,S可被确定为1。
例如,当N是16并且J是32时,S可被确定为2。
例如,当N是64并且J是64时,S可被确定为3。
类似地,在当前块具有N*M的尺寸并且N大于J时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-S至+S。
例如,当N是16并且J是8时,S可被确定为1。
例如,当N是32并且J是16时,S可被确定为2。
例如,当N是128并且J是32时,S可被确定为4。
在当前块具有N×M的尺寸并且M等于或小于K时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-T至+T。
例如,当M是8并且K是16时,T可被确定为1。
例如,当M是16并且K是64时,T可被确定为2。
例如,当M是128并且K是128时,T可被确定为3。
类似地,在当前块具有N×M的尺寸并且M大于K时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-T至+T。
例如,当M是8并且K是4时,T可被确定为1。
例如,当M是32并且K是8时,T可被确定为2。
例如,当M是128并且K是64时,T可被确定为4。
此外,在当前块具有N×M的尺寸时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-N×M/D至+N×M/D。这里,D可以是等于或大于1的正整数,并且可以是预定义值。
例如,当N*M是32(8*4)并且D是64时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-1/2至+1/2。
例如,当N*M是64(8*8)并且D是64时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-1至+1。
例如,当N*M是128(16*8)并且D是64时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-2至+2。
在当前块具有N×M的尺寸并且N大于M时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-N/D至+N/D。
例如,当N*M是8*4并且D是16时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-1/2至+1/2。
例如,当N*M是16*8并且D是16时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-1至+1。
在当前块具有N×M的尺寸并且M大于N时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-M/D至+M/D。
例如,当N*M是8*16并且D是32时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-1/2至+1/2。
例如,当N*M是16*32并且D是32时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-1至+1。
在当前块具有N×M的尺寸并且N和M相同时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-M/D至+M/D。
例如,当N*M是8*8并且D是16时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-1/2至+1/2。
例如,当N*M是16*16并且D是16时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-1至+1。
例如,当N*M是32*32并且D是16时,整数像素单位的搜索区域和子像素单位的搜索区域中的至少一个可被确定为-2至+2。
当如上所述使用双边模板匹配时,可在解码器中改进运动矢量,而无需另外发送语法元素。此外,在双向预测合并模式或解码器运动矢量推导模式的情况下,可应用双边模板匹配。
根据实施例,在当前块不与单向预测合并候选模式、局部照度补偿模式、仿射运动补偿模式和子CU合并模式中的任意一个对应时,可执行双边模板匹配。
在下文中,将描述与运动信息修正相关的运动修正模式。这里,运动修正模式可表示用于推导用于画面间预测的运动信息的预测模式。例如,运动修正模式可以是基于上述使用双边模板匹配的运动信息修正来执行的一种合并模式。
利用运动修正模式,可有效地对在画面中具有零运动或微小运动的区域进行编码。
运动修正模式是基于上述运动信息修正的运动信息推导方案,并且可将上述运动信息修正方法应用于运动修正模式。
另一方面,可基于通过比特流用信号发送的信息来确定运动修正模式是否可用或运动修正模式是否适用。可逐个单元地用信号发送该信息,其中,单元可以是视频、序列、画面、条带、并行块、编码树单元(CTU)、编码单元(CU)、预测单元(PU)、变换单位(TU)或块。运动修正模式是否可用可表示运动修正模式对于上述对应单元是否可用。运动修正模式是否适用可表示运动修正模式是否适用于该对应单元。
运动修正模式可包括如下步骤:(1)推导运动信息,并且(2)通过对推导出的运动信息执行运动信息修正来生成修正后的运动信息。这里,运动信息修正方法可包括上述双边模板匹配。可将由执行运动修正模式得到的修正后的运动信息用于将被编码/解码的当前块(也称为编码/解码目标块)的运动补偿。
此外,可通过运动修正模式修正的运动信息可包括运动矢量、参考画面、画面间指示符、参考画面索引、预测列表利用标志、加权因子和偏移中的至少一个。
1)运动信息的推导
在运动修正模式下,可从空间上相邻的邻近块的运动信息、时间上相邻的邻近块的运动信息、预定义运动信息和在参考画面内最频繁出现的运动信息中的至少一种信息类型来推导运动信息。这里,可将推导出的运动信息作为运动修正候选记录在运动修正模式的列表(运动修正模式列表)中。从空间上相邻的邻近块的运动信息推导出的运动信息被称为空间运动修正候选,并且从时间上相邻的邻近块的运动信息推导出的运动信息被称为时间运动修正候选。
在下文中,将详细描述推导作为一条运动信息的运动矢量的方法。
在运动修正模式下,可从空间上相邻的邻近块的运动矢量、时间上相邻的邻近块的运动矢量、预定义运动矢量以及在参考画面中最频繁出现的运动矢量中推导运动矢量。
A、空间上相邻的邻近块
在运动修正模式下,可从空间上相邻的邻近块中的至少一个的运动矢量推导运动矢量。这里,空间上相邻的邻近块可包括图9中示出的邻近块。
在运动修正模式下,可从空间上相邻的邻近块中满足如下条件中的至少一个的邻近块的多个运动矢量中推导运动矢量:
-编码块标志为0的块(即,没有残差信号的块),
-与合并跳过模式对应的块,
-空间上与当前块相邻的邻近块中的运动矢量差值为零(例如,MVD=(0,0))的块,
-与合并模式对应的块,
-画面间预测指示符是PRED_LX(X是包括零的整数中的一个数)的块,以及
-画面间预测指示符是PRED_BI、PRED_TRI和PRED_QUAD中的任意一个的块。
在运动修正模式下,可从空间跳过/合并候选中的至少一个的多个运动矢量推导运动矢量。
例如,当空间跳过/合并候选的参考画面与编码/解码目标块的参考画面不同时(即,当空间跳过/合并候选的参考画面的画面顺序计数(POC)与编码/解码目标块的参考画面的画面顺序计数(POC)不同时),可基于画面的POC值,通过对从空间上相邻的邻近块的多个运动矢量中推导出的运动矢量进行缩放来推导运动矢量。
B、时间上相邻的邻近块
在运动修正模式下,可从时间上相邻的邻近块中的至少一个的多个运动矢量推导运动矢量。这里,时间上相邻的邻近块可包括参考画面内的同位块和同位画面内的同位块。
这里,参考画面中的同位块可以是如下块中的至少一个:
-参考画面中的与编码/解码目标块的左上侧位置(0,0)对应的同位块(在下文中,称为同位参考块),
-参考画面中的同位块(图10中的C3),
-参考画面中的同位块(图10中的C1),
-参考画面中的同位块(图10中的H),以及
-参考画面中的同位块(图10中的C4、C5、C6、C0、D0、D1中的至少一个)。
这里,同位画面中的同位块可以是如下块中的至少一个:
-同位画面中的与编码/解码目标块的左上方位置(0,0)对应的同位块,
-同位画面中的同位块(图10中的C3),
-同位画面中的同位块(图10中的C1),
-同位画面中的同位块(图10中的H),以及
-同位画面中的同位块(图10中的C4、C5、C6、C0、D0、D1中的至少一个)。
在运动修正模式下,可从时间上相邻的邻近块之中满足如下条件中的至少一个条件的邻近块的多个运动矢量推导运动矢量:
-被布置在同位块内和同位块外的块中的编码块标志为0的块(即,没有残差信号的块),
-被布置在同位块内和同位块外的块中的与合并跳过模式对应的块,
-被布置在同位块内和同位块外的块中的运动矢量差值为零(例如,MVD=(0,0))的块,
-被布置在同位块内和同位块外的块中的与合并模式对应的块,
-画面间预测指示符为PRED_LX(X是包括零的整数中的一个数)的块,以及
-被布置在同位块内和同位块外的块中的画面间预测指示符为PRED_BI、PRED_TRI和PRED_QUAD中的任意一个的块。
在运动修正模式下,可从时间跳过/合并候选中的至少一个的多个运动矢量推导运动矢量。
例如,当时间跳过/合并候选的参考画面或同位画面与编码/解码目标块的参考画面不同时(即,当时间跳过/合并候选和编码/解码目标块的参考画面的画面顺序计数(POC)彼此不同时),可基于画面的POC值,通过对从时间上相邻的邻近块的多个运动矢量中推导出的运动矢量进行缩放来推导运动矢量。
另外,可从空间上相邻的邻近块的参考画面索引中推导指示包括时间上相邻的邻近块的参考画面和同位画面的参考画面索引。
C、预定义运动矢量
在运动修正模式下,可将值为(0,0)的零运动矢量推导为运动矢量。
D、在参考画面中最频繁出现的运动矢量
在运动修正模式下,可推导在参考画面中最频繁出现的运动矢量。
在这种情况下,以在参考画面中运动矢量出现的频率的顺序来排列运动矢量,并且可根据该频率顺序推导出最多的L个运动矢量。其中,L为正整数。在这种情况下,L可以是在编码器/解码器中预设的固定值,或者可以是由编码器编码并用信号发送的可变值。
另一方面,在运动修正模式下,可以以项A、B、C和D的顺序推导运动矢量。在这种情况下,可重复地执行运动矢量的推导,直到推导出总共M个运动矢量。此外,可以以上述顺序顺序地推导运动矢量。当在先前推导出的运动矢量中已经存在新推导出的运动矢量时,停止推导运动矢量,并且因此最多M个运动矢量可被推导出并被用于运动修正模式。这里,M为正整数,并且它可以是在编码器/解码器中预设的固定值或由编码器编码并用信号发送的可变值。这里,当存在多个空间上相邻的邻近块时,可优先推导出双向预测的运动矢量并将该双向预测的运动矢量插入到运动修正模式列表中,并且随后可推导出单向预测的运动矢量并将该单向预测的运动矢量插入到运动修正模式列表中。
可根据以下描述的处理来执行上述运动修正模式下的运动矢量推导。
例如,可以以空间上相邻的邻近块的运动矢量、时间上相邻的邻近块的运动矢量和零运动矢量(0,0)的顺序来推导运动矢量。例如,可按照图9中的B0、A0、B2和图10中的C3、C0以及零运动矢量(0,0)的顺序推导运动矢量。
作为另一示例,可以以时间上相邻的邻近块的运动矢量、空间上相邻的邻近块的运动矢量和零运动矢量(0,0)的顺序来推导运动矢量。
这里,可以以推导空间跳过/合并候选的顺序来推导在空间相邻的邻近块的运动矢量,并且可以以推导时间跳过/合并候选的顺序来推导时间上相邻的邻近块的运动矢量。
在运动修正模式下,只有当通过上述方法推导出的运动矢量的值不为(0,0)时,才可使用推导出的运动矢量。
例如,当在运动修正模式下使用双向预测时,只有当推导出的第一运动矢量和第二运动矢量的值都不是(0,0)时,才可使用推导出的运动矢量。
当在运动修正模式下使用N方向预测(N为2或更大的整数)时,只有当推导出的N个运动矢量的值都不是(0,0)时,才可使用推导出的运动矢量。
在N方向预测中(N为2或更大的整数),在推导出的运动矢量中,仅可将值不为(0,0)的一些运动矢量用于运动修正模式下的运动矢量。
另外,当在运动修正模式下使用双向预测时,当推导出的第一运动矢量和推导出的第二运动矢量彼此不相等时,可在运动修正模式下使用推导出的第一运动矢量和推导出的第二运动矢量中的一个或两者。
另一方面,当空间上相邻的邻近块或时间上相邻的邻近块的画面间预测指示符指示双向预测、三向预测和四向预测中的至少一个时,可在运动修正模式下使用推导出的运动矢量。也就是说,当空间上相邻的邻近块或时间上相邻的邻近块的画面间预测指示符不指示单向预测时,可在运动修正模式下使用推导出的运动矢量。
当空间上相邻的邻近块或时间上相邻的邻近块的画面间预测指示符指示单向预测时,将画面间预测指示符改变为指示双向预测,并且将单向预测的运动矢量的符号相反地改变。因此,用于具有与先前的(原始的)单向预测的方向相反的方向的单向预测的运动矢量被推导出,并被用作运动修正模式下的运动矢量。
例如,当空间上相邻的邻近块或时间上相邻的邻近块的画面间预测指示符指示L0单向预测并且空间上相邻的邻近块或时间上相邻的邻近块的运动矢量为(-4,6)时,将画面间预测指示符改变为指示双向预测,并且针对L1方向预测推导出运动矢量(4,-6)。因此,可将两个运动矢量(-4,6)和(4,-6)用作运动修正模式下的运动矢量。在这种情况下,,可将位于与当前画面相距第一距离处的参考画面确定为用于L1单向预测的参考画面,其中,所述第一距离与作为当前画面与用于L0单向预测的参考画面之间的距离的第二距离相同或成正比。
在使用N方向预测(N为2或更大的整数)的运动修正模式下,当推导出的运动矢量的数量不是N时,可从一个或更多个先前推导出的运动矢量进一步推导出一个或更多个运动矢量,以获得总共N个运动矢量。具体地,可通过对基于当前画面和/或参考画面的画面顺序计数而生成的先前推导出的(多个)运动矢量进行缩放来生成(多个)运动矢量。
例如,当在运动修正模式下使用双向预测并且仅存在先前推导出的第一运动矢量时,基于参考画面列表1中的参考画面对第一运动矢量进行缩放以生成第二运动矢量。因此,可将先前推导出的第一运动矢量和新生成的第二运动矢量用作运动修正模式下的运动矢量。
可选地,当在运动修正模式下使用双向预测并且仅存在先前推导出的第二运动矢量时,基于参考画面列表0中的参考画面对第二运动矢量进行缩放以生成第一运动矢量。因此,可将先前推导出的第二运动矢量和新生成的第一运动矢量用作运动修正模式下的运动矢量。
在下文中,将详细描述推导也作为一条运动信息的参考画面的方法。
在运动修正模式下,可使用下述方法中的至少一种来推导参考画面。
例如,可从包括在参考画面列表0中的参考画面和包括在参考画面列表1中的参考画面中推导出参考画面索引为0的参考画面,作为将在运动修正模式下使用的参考画面。在包括在参考画面列表0和参考画面列表1内的参考画面中,可能存在分别在参考画面列表0和参考画面列表1中的参考画面索引为0的参考画面可彼此相同的情况。在这种情况下,在包括在参考画面列表1内的参考画面中,可将与包括在参考画面列表0内且参考画面索引为0的参考画面不同的参考画面推导为将在运动修正模式下使用的参考画面。在包括在参考画面列表0和参考画面列表1中的参考画面中,可能存在分别在参考画面列表0和参考画面列表1中的参考画面索引为0的参考画面彼此相同的情况。在这种情况下,在包括在参考画面列表0内的参考画面中,可将与包括在参考画面列表1内且参考画面索引为0的参考画面不同的参考画面推导为将在运动修正模式下使用的参考画面。
为了推导出如上所述的将在运动修正模式下使用的参考画面,可使用参考画面索引0。然而,本发明不限于此,可使用值为非零的参考画面索引来推导出将在运动修正模式下使用的参考画面。
通过使用非0的参考图像索引来推导运动修正模式的参考图像的方法可以如下所示。
在一个示例中,可将属于空间上与编码/解码目标块相邻的A1位置、B1位置、B0位置、A0位置、B2位置、B3位置和A2位置中的至少一个的参考图像索引的中值确定为参考图像索引。这里,可使用各种统计值(诸如最小值、最大值、平均值、加权平均值、众数等),而非中值。可将由所确定的参考图像索引指示的参考图像推导为运动修正模式的参考图像。这里,可针对每个参考图像列表通过使用以上方法来确定参考图像索引。
此外,当A1位置处存在块并且对应块具有帧间预测模式时,属于A1位置的参考图像索引可被确定为参考图像索引。
此外,当B1位置处存在块并且对应块具有帧间预测模式时,属于B1位置的参考图像索引可被确定为参考图像索引。
此外,当B0位置处存在块并且对应块具有帧间预测模式时,属于B0位置的参考图像索引可被确定为参考图像索引。
此外,当A0位置处存在块并且对应块具有帧间预测模式时,属于A0位置的参考图像索引可被确定为参考图像索引。
此外,当B2位置处存在块并且对应块具有帧间预测模式时,属于B2位置的参考图像索引可被确定为参考图像索引。
此外,当B3位置处存在块并且对应块具有帧间预测模式时,属于A0位置的参考图像索引可被确定为参考图像索引。
此外,当A2位置处存在块并且对应块具有帧间预测模式时,属于B2位置的参考图像索引可被确定为参考图像索引。
可通过将运动信息修正方法应用于通过使用上述方法推导出的参考画面来产生修正后的参考画面,并且可将修正后的参考画面用作运动修正模式的参考画面。
在上述实施例中,假设将使用两个参考画面列表。然而,参考画面列表的数量不限于此。可能存在N个参考画面列表。在这种情况下,N可以是2或更大的整数。当存在N个参考画面列表时,可以以与上述方法类似的方式(即,基于对于N个参考画面列表中的参考画面一致性的确定)来执行参考画面的推导。也就是说,可推导出N个彼此不同的参考画面。
在另一实施例中,在包括在参考画面列表i(i=0、……、或N,其中,N为0或更大的整数)中的参考画面中,可将与编码/解码目标画面具有最小的画面顺序计数(POC)的差的参考画面推导为运动修正模式的参考画面。
可选地,在包括在参考画面列表i(i=0、……、或N,其中,N为1或更大的整数)中的参考画面中,可将与编码/解码目标画面具有最小的画面顺序计数(POC)的差和/或具有最小时间层标识符值的参考画面推导为运动修正模式的参考画面。
进一步可选地,可将空间上相邻的邻近块的参考画面推导为运动修正模式的参考画面。
进一步可选地,可将时间上相邻的邻近块的参考画面推导为运动修正模式的参考画面。
进一步可选地,可将从跳过/合并候选中选择的一个或更多个参考画面推导为运动修正模式的参考画面。
进一步可选地,对包括在参考画面列表中的所有或部分参考画面进行运动信息修正处理,并且随后将在修正处理之后呈现最小失真值的参考画面推导为运动修正模式的参考画面。
在下文中,将详细描述推导作为一条运动信息的画面间预测指示符的方法。
在运动修正模式下,可使用下述方法中的至少一种方法来推导出画面间预测指示符。
例如,在运动修正模式下,可将画面间预测指示符固定为单向预测、双向预测、三向预测、四向预测和N向预测中的一个。
作为另一示例,可将空间上相邻的邻近块的画面间预测指示符推导为将在运动修正模式下使用的画面间预测指示符。
作为另一示例,可将时间上相邻的邻近块的画面间预测指示符推导为将在运动修正模式下使用的画面间预测指示符。
作为另一示例,可将跳过/合并候选中的一个或更多个画面间预测指示符推导为将在运动修正模式下使用的画面间预测指示符。
作为又一示例,可根据通过上述方法推导出的参考画面中的可用参考画面的数量来推导出画面间预测指示符,作为将在运动补偿模式下使用的画面间预测指示符。具体地说,当仅存在一个可用参考画面时,可通过使用单向预测来推导出画面间预测指示符。具体地说,当存在两个可用参考画面时,可通过使用双向预测来推导出画面间预测指示符。
通过将运动信息修正方法应用于先前推导出的画面间预测指示符来产生修正后的画面间预测指示符,并且可将修正后的画面间预测指示符用作当前块的运动修正模式下的画面间预测指示符。
2)运动信息的修正
编码器/解码器通过对通过使用上述方法而推导出的参考画面执行运动信息修正来产生修正后的参考画面,并且将修正后的运动信息用作运动修正模式下的运动信息。具体地,可通过使用修正后的运动矢量、修正后的参考画面和修正后的画面间预测指示符中的至少一个生成预测块来执行运动补偿。类似地,编码器/解码器通过将运动信息修正方法应用于先前推导出的参考画面索引、先前推导出的预测列表利用标志、先前推导出的加权因子和先前推导出的偏移中的至少一个来产生修正后的参考画面索引、修正后的预测列表利用标志、修正后的加权因子和修正后的偏移中的至少一个,通过使用修正后的参考画面索引、修正后的预测列表利用标志、修正后的加权因子和修正后的偏移中的至少一个来创建预测块。这里,运动信息修正方法可包括上述的双边模板匹配。在这种情况下,通过基于编码/解码目标画面与每个参考画面之间的画面顺序计数来计算预测块的加权和,以获得最终预测块,并且因此可执行运动补偿。
另一方面,当将运动信息修正处理应用于先前推导出的运动矢量时,可将先前推导出的运动矢量用于确定初始运动搜索位置。可基于初始运动搜索位置来确定修正后的运动矢量。
编码器/解码器可对最多M条推导出的运动信息执行运动信息修正。在这种情况下,M可以是在编码器/解码器中预设的固定值,或者可以是由编码器编码并用信号发送的可变值。例如,可修正第一条运动信息、第二条运动信息、……、和第N条运动信息中的至少一条运动信息。在这种情况下,M为等于或大于4的整数。
此外,在不将运动信息修正应用于所有或部分先前推导出的运动信息的情况下,可将先前推导出的运动信息用作运动修正模式的运动信息。具体地,可通过使用推导出的运动矢量、推导出的参考画面和推导出的画面间预测指示符中的至少一个生成预测块来执行运动补偿。
此外,在运动修正模式下,可选择性地应用运动信息修正(在一个示例中,双边模板匹配)。
根据实施例,在当前块不与单向预测合并候选模式、局部照度补偿模式、仿射运动补偿模式和子CU合并模式中的任意一个对应时,可执行运动信息修正。
此外,在当前块与双向预测合并模式对应时,可执行运动信息修正。
此外,当与第一预测方向(例如,L0预测方向)相关联的第一参考图像的POC与编码/解码目标图像的POC之间的差值(POCref0–POCcurr)以及与第二预测方向(例如,L1预测方向)相关联的第二参考图像的POC与编码/解码目标图像的POC之间的差值(POCref1–POCcurr)中的任意一个具有负值时,可执行运动信息修正。
此外,当与第一预测方向(例如,L0预测方向)相关联的第一参考图像的POC与编码/解码目标图像的POC之间的差值(POCref0–POCcurr)以及与第二预测方向(例如,L1预测方向)相关联的第二参考图像的POC与编码/解码目标图像的POC之间的差值(POCref1–POCcurr)相同时,可执行运动信息的修正。
此外,可基于当前块的尺寸(宽度、高度或表面积)确定是否执行运动信息修正。
在一个示例中,在当前块的宽度、高度或表面积等于或大于N时,可执行运动信息修正。这里,N可以是8。
在一个示例中,在当前块的表面积等于或大于M时,可执行运动信息修正。这里,M可以是64。
此外,当第一预测方向与第二预测方向彼此不同时,可执行运动信息修正。
编码器/解码器可对通过上述方法得到的至少一条推导出的运动信息执行双边模板匹配,使用具有最小失真的一条运动信息生成预测块,并且执行运动补偿。此时,至少一条运动信息可包括L0运动信息和L1运动信息中的至少一条。
编码器/解码器可对存在于跳过候选列表或合并候选列表中的一个或更多个候选执行双边模板匹配,使用具有最小失真的一个候选生成预测块,并且执行运动补偿。
编码器/解码器可对通过上述方法得到的至少一条推导出的运动信息执行双边模板匹配,通过使用皆具有最小失真的M条运动信息生成M个预测块,计算M个预测块的加权和,并且将加权和用作编码/解码目标块的最终预测块。这里,M可以是正整数,并且可等于或大于2。
编码器/解码器可对包括在跳过候选列表或合并候选列表中的一个或更多个候选执行双边模板匹配,使用皆具有最小失真的M个候选生成M个预测块,计算M个预测块的加权和,并且将加权和用作编码/解码目标块的最终预测块。这里,M可以是正整数,并且可等于或大于2。
编码器/解码器可对针对存在于跳过候选列表或合并候选列表中的单向预测候选的跳过索引或合并索引执行熵编码/熵解码,并且可通过使用M个或更多个双向预测候选中的具有最小失真的至少一个候选来产生预测块,从而执行运动补偿。在这种情况下,对一个标志或一个索引进行熵编码/熵解码以指示M个或更多个双向预测候选。也就是说,向每个单向预测候选分配跳过索引或合并索引,而向M个或更多个双向预测候选共同分配一个跳过索引或一个合并索引。对于M个或更多个双向预测候选,因为可通过使用双边模板匹配来确定表示最小失真的至少一个候选,所以可不向每个双向预测候选分配跳过索引或合并索引。
可根据运动修正模式利用信息来确定是否使用运动修正模式。这里,可使用标志信息和索引信息中的至少一个对运动修正模式利用信息进行熵编码/熵解码。
可基于跳过标志的值来对运动修正模式利用信息执行编码/解码。可基于跳过标志的编码/解码时序来确定运动修正模式利用信息的编码/解码时序。例如,当跳过标志为1时(即,当使用跳过模式时),可对运动修正模式利用信息进行熵编码/熵解码。在这种情况下,可在对跳过标志进行熵编码/熵解码之后,对运动修正模式利用信息进行熵编码/熵解码。
相反,可基于运动修正模式利用信息的值来对跳过标志执行编码/解码。例如,当运动修正模式利用信息为1时(即,当使用运动修正模式时),可对跳过标志进行熵解码/熵解码。在这种情况下,可在对跳过标志进行熵编码/熵解码之前,对运动修正模式利用信息进行熵编码/熵解码。
可基于合并标志的值来对运动修正模式利用信息执行编码/解码。可以基于合并标志的编码/解码时序来确定运动修正模式利用信息的编码/解码时序。例如,当合并标志为1时(即,当使用合并模式时),可对运动修正模式利用信息进行熵编码/熵解码。在这种情况下,可在对合并标志进行熵编码/熵解码之后,对运动修正模式利用信息进行熵编码/熵解码。
相反,可基于运动修正模式利用信息的值来对合并标志执行编码/解码。例如,当运动修正模式利用信息为1时(即,当使用运动修正模式时),可对合并标志进行熵编码/熵解码。在这种情况下,可在对合并标志进行熵编码/熵解码之前,对运动修正模式利用信息进行熵编码/熵解码。
可基于特定的运动补偿模式来对运动修正模式利用信息执行编码/解码。例如,当不使用仿射运动补偿模式时,可对运动修正模式利用信息进行熵编码/熵解码。
可基于运动修正模式利用信息的值来对解码器运动矢量推导模式标志进行编码/解码。也就是说,当运动修正模式利用信息为0时(即,当不使用运动修正模式时),可对解码器侧运动矢量推导模式标志进行熵编码/熵解码。
可根据按视频参数集、序列参数集、画面参数集、自适应参数集和并行块组头中的至少一个被熵编码/熵解码的上层等级的运动修正模式利用信息来执行对运动修正模式利用信息的熵编码/熵解码。
例如,当上层等级的运动修正模式利用信息指示第一值时,可对运动修正模式利用信息进行熵编码/熵解码。此外,可在对应等级内使用运动修正模式。
例如,当上层等级的运动修正模式利用信息指示第二值时,可不对运动修正模式利用信息进行熵编码/熵解码。此外,可不在对应等级内使用运动修正模式。
此外,当运动修正模式利用信息未被用信号发送时,可基于编码/解码目标块的一个或更多个邻近块的运动修正模式利用信息来推导运动修正模式利用信息。编码/解码目标块的一个或更多个邻近块可包括一个或更多个空间上相邻的邻近块和/或时间上相邻的邻近块。一个或更多个空间上相邻的块可包括位于编码/解码目标块左侧的块和/或位于编码/解码目标块上方的块。
当空间上与编码/解码目标块相邻的块中的至少一个使用跳过模式时,可对运动修正模式利用信息进行熵编码/熵解码。
当空间上与编码/解码目标块相邻的块中的至少一个使用合并模式时,可对运动修正模式利用信息进行熵编码/熵解码。
当空间上与编码/解码目标块相邻的块中的至少一个使用画面间模式时,可对运动修正模式利用信息进行熵编码/熵解码。
可使用旁路模式对运动修正模式利用信息进行熵编码/熵解码。
当一起使用运动修正模式和跳过模式时,可不对残差信号进行熵编码/熵解码。
当一起使用运动修正模式和合并模式时,可对残差信号进行熵编码/熵解码。
在运动修正模式下,仅可对残差信号的一部分进行熵编码/熵解码以供使用。在这种情况下,残差信号的该部分可以是DC量化电平(DC变换系数)。
当使用运动修正模式时,可不对除了运动修正模式利用信息之外的信息进行熵编码/熵解码。这里,除了运动修正模式利用信息之外的信息可以是关于运动补偿的至少一条信息。
在上文中,已经描述与运动信息修正相关的运动修正模式。在下文中,将描述在运动修正模式下推导出的运动修正候选。
运动修正候选可以是包括以下信息中的至少一个的运动信息:通过运动修正模式推导出的推导出的运动矢量、推导出的参考画面和推导出的画面间预测指示符。编码器/解码器可在跳过模式或合并模式下将运动修正候选作为跳过候选添加到跳过候选列表或将运动修正候选作为合并候选添加到合并候选列表。
下面将描述将运动修正候选添加到跳过/合并候选列表的实施例。
当在跳过/合并候选列表中存在与运动修正候选相同的跳过/合并候选时,可不将运动修正候选添加到跳过/合并候选列表。当在跳过/合并候选列表中存在与跳过/合并候选相同的运动修正候选时,可不将跳过/合并候选添加到跳过/合并候选列表。
可比空间跳过/合并候选更早地推导出运动修正候选,并且可将运动修正候选添加到跳过/合并候选列表。
可比从特定位置推导出的空间跳过/合并候选更早地推导出运动修正候选,并且随后可将运动修正候选添加到跳过/合并候选列表中。这里,特定位置可以是图10中的位置A1、B1、B0、A0、B2、B3和A2中的至少一个。
此外,可比时间跳过/合并候选、组合合并候选和具有预定运动信息值的合并候选中的至少一个更早地推导出运动修正候选,并且可将运动修正候选添加到跳过/合并候选列表。
编码器/解码器可将包括通过运动修正模式的运动信息修正而获得的修正后的运动矢量、修正后的参考画面和修正后的画面间预测指示符中的至少一个的运动信息确定为运动修正候选。编码器/解码器可在跳过模式下将运动修正候选作为跳过候选添加到跳过候选列表或在合并模式下将运动修正候选作为合并候选添加到合并候选列表。
可使用运动修正模式来代替跳过模式。也就是说,可通过使用运动修正模式而不是跳过模式来对画面进行编码/解码。可使用运动修正模式来代替合并模式。也就是说,可通过使用运动修正模式而不是合并模式来对画面进行编码/解码。
可将重叠块运动补偿模式、局部照度补偿模式和双向光流模式中的至少一个应用于使用运动修正模式而生成的最终预测块。
此外,在运动修正模式下,可将运动信息修正方法仅应用于一条运动信息或运动信息的一部分,而不生成运动信息候选的列表。
在下文中,将描述用于在运动修正模式(MRM)下执行运动信息修正的条件。
可基于运动矢量的参考画面的画面顺序计数(POC)来确定是否执行运动信息修正。
例如,当存在以下两个运动矢量时,可执行运动信息修正方法:第一运动矢量,指示画面顺序计数比编码/解码目标画面的画面顺序计数小的参考画面;以及第二运动矢量,指示画面顺序计数比编码/解码目标画面的画面顺序计数大的参考画面。
可选地,当存在指示画面顺序计数比编码/解码目标画面的画面顺序计数小的参考画面的两个运动矢量时,可执行运动信息修正方法。
进一步可选地,当存在指示画面顺序计数比编码/解码目标画面的画面顺序计数大的参考画面的两个运动矢量时,可执行运动信息修正方法。
当不使用仿射运动补偿模式、解码器运动矢量推导模式和局部照度补偿模式中的至少一种时,可对编码/解码目标块执行运动信息修正。
当编码/解码目标画面的画面顺序计数与第一参考画面的画面顺序计数之间的差值或编码/解码目标画面的画面顺序计数与第二参考画面的画面顺序计数之间的差值小于N(N为大于或等于0的整数)时,可执行运动信息修正。在这种情况下,第一参考画面可指由第一运动矢量指示的参考画面,并且第二参考画面可指由第二运动矢量指示的参考画面。
可基于作为运动信息修正的目标的第一运动矢量和第二运动矢量来执行运动信息修正。
例如,当第一运动矢量与第二运动矢量相同时且当由第一运动矢量指示的参考画面与由第二运动矢量指示的参考画面相同时,可不执行运动信息修正。也就是说,只有当第一运动信息与第二运动信息彼此不同时和/或当由第一运动信息和第二运动信息指示的参考画面彼此不同时,才可执行运动信息修正。此外,当第一运动矢量与第二运动矢量相同时,可不执行运动信息修正。也就是说,只有当第一运动矢量与第二运动矢量彼此不同时,才可执行运动信息修正。
可选地,只有当由第一运动矢量指示的参考画面与由第二运动矢量指示的参考画面相同时,才可执行运动信息修正。相反,只有当由第一运动矢量指示的参考画面与由第二运动矢量指示的参考画面不同时,才可执行运动信息修正。
作为另一示例,可对运动矢量值不是(0,0)的运动矢量执行运动信息修正。这里,当画面间预测指示符指示双向时且当第一运动矢量和第二运动矢量的值皆不是(0,0)时,可执行运动信息修正。此外,当画面间预测指示符指示N方向(N为等于或大于2的整数)时且当所有或预定数量的N个运动矢量的值不是(0,0)时,可不执行运动信息修正。
只有当画面间预测指示符指示特定数量的方向时,才可执行运动信息修正。例如,只有当跳过/合并候选的画面间预测指示符指示双向时,才可执行运动信息修正。
只有当由第一运动矢量指示的参考画面的参考画面索引为0且由第二运动矢量指示的参考画面的参考画面索引为0时,才可执行运动信息修正。可选地,只有当由各个运动矢量指示的参考画面的参考画面索引具有特定值时,才执行运动信息修正。
可针对空间跳过/合并候选、时间跳过/合并候选、组合跳过/合并候选和具有预定运动信息值的跳过/合并候选中的至少一个的情况执行运动信息修正。
可以以子块为单位执行运动信息修正,其中,以子块为单位对编码/解码目标块进行划分。
此外,当编码/解码目标块具有以子块为单位的运动信息或运动矢量时,可以以子块为单位执行运动信息修正,以便提高编码效率。这里,编码/解码目标块的子块可具有彼此不同的运动信息或运动矢量,或者可具有相同的运动信息或运动矢量。这里,当编码/解码目标块的子块具有彼此不同的运动信息或运动矢量时,可执行运动信息修正。
此外,当编码/解码目标块具有以子块为单位的运动信息或运动矢量时,可不针对以子块为单位的运动信息或运动矢量执行运动信息修正,以便降低计算复杂度。可选地,为了降低计算复杂度,当编码/解码目标块的所有子块具有相同的运动信息或运动矢量时,可执行运动信息修正。
当如上所述以子块为单位执行修正运动信息的方法时,可将每个子块的初始运动信息确定为该子块所属的编码/解码目标块的运动信息。
此外,当以子块为单位执行运动信息修正方法时,可通过在子块所属的编码/解码目标块的运动信息的基础上加上预定偏移值来确定每个子块的初始运动信息。针对子块单元执行运动信息修正方法,然后可通过每个子块的修正后的运动信息来对每个子块的初始运动信息进行修正。
此外,当以子块为单位执行运动信息修正方法时,为了减小存储器访问带宽,子块可具有M×N尺寸的单元。M和N可以是正整数,并且M和N可具有彼此不同的值。例如,M和N中的每一个可以是8。
此外,当以子块为单位执行运动信息修正方法时,可基于当前块的尺寸确定子块的尺寸。例如,在当前块的尺寸大于P×P时,子块的尺寸可被确定为P×P。这里,P可以是正整数并且可以是16。
此外,当以子块为单位执行运动信息修正方法时,可基于当前块的至少一个编码参数确定子块的数量。
例如,子块的数量可根据当前块的尺寸而变化。在当前块具有32×32的尺寸时,子块的数量可以是16,并且在当前块具有64×64的尺寸时,子块的数量可以是4。
例如,子块的数量可根据当前块的形状而变化。在当前块的形状是16×32的垂直长的非正方形时,子块的数量可以是8,并且在当前块的形状是32×32的正方形时,子块的数量可以是16。
此外,当以子块为单位执行运动信息修正方法时,子块的形状可被固定为正方形,而不管当前块的形状如何。
此外,当以子块为单位执行运动信息修正方法时,子块的形状可被确定为与当前块的块形状相同。
例如,在当前块的形状为垂直长的非正方形时,子块的形状可被确定为垂直长的非正方形。
此外,当以子块为单位执行运动信息修正方法时,可基于通过比特流用信号发送的信息来确定是否以子块为单位执行的信息。这里,可以以视频、序列、画面、条带、并行块组、并行块、编码树单元、编码单元、预测单元、变换单元和块中的至少一个为单位用信号发送是否以子块为单位执行的信息。是否以子块为单位执行的信息可表示是否针对对应单元执行以子块为单位的运动信息修正方法。
此外,可针对通过使用以子块为单位的运动信息预测方法中的至少一个而确定的子块单元的运动信息以子块为单位执行运动信息修正方法。
此外,可以以样点和块中的至少一个为单位执行运动信息修正方法。
当编码/解码目标块是诸如三向预测、四向预测等的N向预测时,可通过使用诸如三个运动矢量、四个运动矢量等的N个运动矢量计算模板来执行运动信息修正。这里,N可以是等于或大于3的正整数。
通过运动信息修正方法修正的运动信息中的至少一个可被用于运动补偿。这里,修正后的运动信息可包括修正后的运动矢量。
通过运动信息修正方法修正的运动信息中的至少一个可被用于存储时间运动矢量的运动矢量。这里,修正后的运动信息可包括修正后的运动矢量。这里,当修正后的运动信息被存储为时间运动矢量的运动矢量时,存储在除了当前画面/条带/并行块/并行块组之外的画面/条带/并行块/并行块组的当前画面中的修正后的运动矢量可被用作时间运动矢量。
此外,可在编码器/解码器中在可以被执行的第一运动信息修正模式下以特定规则操作运动信息修正方法,而无需用信号发送运动信息修正的附加信息。
此外,可在编码器中执行运动信息修正方法,然后可在第二运动信息修正模式下操作运动信息修正方法,其中,所述第二运动信息修正模式可对与运动信息修正方法相关的信息(是否使用运动信息修正的信息、成为运动信息修正的目标的初始运动指示信息、搜索方向的信息和搜索距离的信息中的至少一个)进行熵编码/熵解码,并将其发送到解码器。这里,解码器可通过使用与运动信息修正方法相关的信息来计算修正后的运动信息,而不使用附加运动信息修正。
当将双边模板匹配用作运动信息修正时,可通过针对已经推导出的运动信息执行缩放来生成新的运动信息。
在一个示例中,当在空间上相邻的邻近块或时间上相邻的邻近块中存在单条第一运动信息或单个第一运动矢量时,可通过基于对应的第一运动信息或第一运动矢量执行缩放来生成第二运动信息或第二运动矢量,并且因此可执行运动信息修正。
类似地,当在空间上相邻的邻近块或时间上相邻的邻近块中存在单条第二运动信息或单个第二运动矢量时,可通过基于对应的第二运动信息或第二运动矢量执行缩放来生成第一运动信息或第一运动矢量,并且因此可执行运动信息修正。
在另一示例中,当由初始运动矢量指示的参考图像和由修正后的运动矢量候选指示的参考图像不同时,可通过基于每个参考图像的POC值针对初始运动矢量执行缩放来计算修正后的运动矢量候选。这里,修正后的运动矢量候选可表示指示用于搜索修正后的运动矢量的区域的运动矢量,并且可通过对另一修正后的运动矢量候选和由初始运动矢量指示的位置中的失真值进行比较来执行双边模板匹配。
此外,可通过使用单个亮度分量运动矢量和两个色度分量运动矢量中的至少一个的运动信息修正来计算修正后的运动矢量。
此外,在针对参考图像列表内的全部或部分参考图像执行运动信息修正之后,可将具有最小失真的参考图像推导为修正后的参考图像。
当在运动矢量推导模式(解码器侧运动矢量推导模式)下执行运动信息修正时,可将执行上述运动信息修正的条件应用于解码器。
此外,可基于图16至图21的搜索区域来执行运动信息修正。
详细地,可在图16至图21的搜索区域内对在合并候选列表或运动矢量候选列表中推导出的初始运动矢量进行修正。
在一个示例中,可基于搜索方向的信息和搜索距离的信息中的至少一个在搜索区域内对初始运动矢量进行修正。这里,搜索方向的信息和搜索距离的信息可以是从编码器被发送到解码器的信息,并且可以以标志或索引形式被发送。
在一个示例中,可通过使用搜索方向的信息和搜索距离的信息中的至少一个来推导将被用于修正的运动矢量,并且可通过将推导出的运动矢量与初始运动矢量相加来推导修正后的运动矢量。这里,可通过根据当前画面与参考画面之间的POC差对将被用于修正的运动矢量进行缩放来将该运动矢量与初始运动矢量相加。
图22是示出根据本发明的实施例的图像解码方法的流程图的示图。
参照图22,在S2201,解码器可从空间邻近块的运动信息、时间邻近块的运动信息和预定义运动信息中的至少一个推导当前块的初始运动信息。
随后,在S2202,解码器可通过针对初始运动信息执行运动信息修正来生成修正后的运动信息。
上述生成修正后的运动信息的步骤(S2202)可包括:基于初始运动信息生成双边模板;通过对双边模板和由初始运动信息指示的参考图像内的搜索区域进行比较来计算失真值;并且通过基于该失真值修正初始运动信息来生成修正后的运动信息。
此外,在上述生成修正后的运动信息的步骤(S2202)中,可以当前块的子块为单位生成修正后的运动信息。
这里,搜索区域可以是具有正方形形状的区域,其中,所述区域通过从由初始运动信息指示的像素起在水平方向和垂直方向上的预定义整数像素单位的像素范围被定义。
此外,在当前块具有双向预测合并模式时,可执行上述生成修正后的运动信息的步骤(S2202)。
此外,可基于当前块的尺寸来确定是否执行上述生成修正后的运动信息的步骤(S2202)。
此外,可根据运动修正模式利用信息来确定是否执行上述生成修正后的运动信息的步骤(S2202)。
此外,可基于绝对差和(SAD)、绝对变换差和(SATD)、平方误差和(SSE)、平方误差平均(MSE)和去SAD平均(MR-SAD)中的至少一个来计算在S2202使用的失真值。
此外,在上述生成修正后的运动信息的步骤(S2202)中,可在搜索区域内修正初始运动信息。
这里,搜索区域可以是十字形的。
此外,可在当前块具有合并模式时执行上述生成修正后的运动信息的步骤(S2202)。
此外,在上述生成修正后的运动信息的步骤(S2202)中,可基于搜索方向的信息和搜索距离的信息中的至少一个在搜索区域内修正初始运动矢量。
图23是示出根据本发明的实施例的图像解码方法的流程图的示图。
参照图23,在S2301,解码器可确定当前块的同位图像。
详细地,在确定当前块的同位图像(S2301)的步骤中,可基于指示同位图像的信息来确定同位图像。这里,指示同位图像的信息可以是以序列、画面和并行块组中的至少一个为单位被用信号发送的信息。
随后,在S2302,解码器可通过使用空间上与块相邻的至少一个块的运动信息来确定同位图像中的同位块。
随后,在S2303,解码器可从通过划分同位块而获得的子块推导以子块为单位的合并候选。
这里,在当前块的尺寸等于或大于预设值时,可推导以子块为单位的合并候选。这里,该预设值可以是8×8。
此外,子块可具有正方形形状,其中,所述正方形形状具有预设尺寸。这里,该预设尺寸可以是8×8。
随后,在S2304,解码器可通过使用以子块为单位的合并候选来生成合并候选列表。
已经描述了根据本发明的图像解码方法。可在图像编码方法中相同地执行上述图像解码方法的每个步骤。此外,可通过使用图像编码方法来生成比特流。
可在编码器和解码器中以相同的方法执行以上实施例。
可以使用以上实施例中的至少一个或其组合来对图像进行编码/解码。
应用以上实施例的顺序在编码器与解码器之间可不同,或者应用以上实施例的顺序在编码器和解码器中可相同。
可对每个亮度信号和色度信号执行以上实施例,或者可对亮度信号和色度信号相同地执行以上实施例。
应用本发明的以上实施例的块形状可具有正方形形状或非正方形形状。
可根据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的以上实施例。这里,尺寸可被定义为使得以上实施例被应用的最小尺寸或最大尺寸或者最小尺寸和最大尺寸两者,或者可被定义为以上实施例被应用于的固定尺寸。此外,在以上实施例中,可将第一实施例应用于第一尺寸,并且可将第二实施例应用于第二尺寸。换句话说,可根据尺寸组合地应用以上实施例。此外,当尺寸等于或大于最小尺寸且等于或小于最大尺寸时,可应用以上实施例。换句话说,当块尺寸被包括在特定范围内时,可应用以上实施例。
例如,当当前块的尺寸是8×8或更大时,可应用以上实施例。例如,当当前块的尺寸是4×4或更大时,可应用以上实施例。例如,当当前块的尺寸是16×16或更大时,可应用以上实施例。例如,当当前块的尺寸等于或大于16×16且等于或小于64×64时,可应用以上实施例。
可根据时间层来应用本发明的以上实施例。为了识别以上实施例可被应用于的时间层,可用信号发送标识指定时间层的标识符,可将以上实施例应用于由对应标识符标识的指定时间层。这里,标识符可被定义为以上实施例可被应用于的最低层或最高层或最低层和最高层两者,或者可被定义为指示该实施例被应用于的特定层。此外,可定义实施例被应用于的固定时间层。
例如,在当前图像的时间层是最低层时,可应用以上实施例。例如,在当前图像的时间层标识符是1时,可应用以上实施例。例如,在当前图像的时间层是最高层时,可应用以上实施例。
可定义本发明的以上实施例被应用于的条带类型,并且可根据对应的条带类型来应用以上实施例。
根据上述的本发明,当在去块滤波器中计算边界强度时,可使用被修正之前的运动信息。
根据以上提及的本发明,运动矢量可具有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)单位中的至少一个。
本发明的实施例可被应用于使用运动矢量预测的帧间预测和运动补偿方法,以及被应用于使用跳过模式、合并模式等的帧间预测和运动补偿方法。
本发明的实施例可被应用于通过使用块矢量将当前图像内的重建区域用作预测块的块内复制模式。
在上述实施例中,基于具有一系列步骤或单元的流程图描述了方法,但是本发明不限于这些步骤的顺序,而是一些步骤可与其他步骤同时执行或以不同的顺序执行。此外,本领域的普通技术人员应该理解,流程图中的步骤并不互相排斥,并且在不影响本发明的范围的情况下,可将其他步骤添加到流程图或者可将步骤中的一些步骤从流程图删除。
实施例包括示例的各个方面。可不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括权利要求范围内的所有替换、修改和改变。
本发明的实施例可以以程序指令的形式实现,其中,该程序指令可由各种计算机组件执行并且被记录在计算机可读记录介质中。计算机可读记录介质可单独地包括程序指令、数据文件、数据结构等,或者可包括程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明专门设计和构建的,或者对于计算机软件技术领域的普通技术人员是公知的。计算机可读记录介质的示例包括磁记录介质(诸如,硬盘、软盘和磁带)、光学数据存储介质(诸如,CD-ROM或DVD-ROM)、磁光介质(诸如软光盘)以及被专门构造为存储和实现程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例不仅包括由编译器格式化的机械语言代码,而且包括可由计算机使用解释器来实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作或者反之亦然,以实施根据本发明的处理。
尽管已经在特定项目(诸如,详细元件)以及有限的实施例和附图方面描述了本发明,但是它们仅被提供以帮助更全面地理解本发明,并且本发明不限于以上实施例。本发明所属领域的技术人员将理解,可对以上描述进行各种修改和改变。
因此,本发明的精神将不应限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。
工业实用性
本发明可在对图像进行编码/解码时使用。

Claims (10)

1.一种由解码设备执行的图像解码方法,所述图像解码方法包括以下步骤:
获得当前块的运动信息;
通过对所述当前块进行分区来推导所述当前块的子块;
基于所述当前块的所述运动信息来推导每个子块的修正后的运动信息;以及
基于每个子块的所述修正后的运动信息来推导所述当前块的预测块。
2.根据权利要求1所述的图像解码方法,其中,推导每个子块的所述修正后的运动信息的步骤包括以下步骤:
基于所述当前块的所述运动信息的L0运动矢量来推导在所述当前块的L0参考画面中所述当前块的每个子块的第一区域;
基于所述当前块的所述运动信息的L1运动矢量来推导在所述当前块的L1参考画面中所述当前块的每个子块的第二区域;
基于所述第一区域和所述第二区域来推导所述当前块的每个子块的绝对差和SAD;以及
基于每个子块的所述SAD来推导每个子块的所述修正后的运动信息的修正后的L0运动矢量和修正后的L1运动矢量。
3.根据权利要求2所述的图像解码方法,其中,在所述L0参考画面的搜索区域中推导所述修正后的L0运动矢量,并且在所述L1参考画面中的搜索区域中推导所述修正后的L1运动矢量。
4.根据权利要求3所述的图像解码方法,其中,子像素单位的所述L0参考画面中的所述搜索区域被限制为被包括在整数像素单位的所述L0参考画面中的所述搜索区域中,并且
其中,子像素单位的所述L1参考画面中的所述搜索区域被限制为被包括在整数像素单位的所述L1参考画面中的所述搜索区域中。
5.根据权利要求1所述的图像解码方法,其中,基于所述当前画面的画面顺序计数POC与L0参考画面的POC之间的差以及L1参考画面的POC与所述当前画面的POC之间的差来确定是否要推导所述修正后的运动信息。
6.根据权利要求1所述的图像解码方法,其中,基于所述当前块的尺寸来确定是否要推导所述修正后的运动信息。
7.一种由编码设备执行的图像编码方法,所述图像编码方法包括以下步骤:
推导当前块的运动信息;
通过对所述当前块进行分区来推导所述当前块的子块;
基于所述当前块的所述运动信息来推导每个子块的修正后的运动信息;
基于每个子块的所述修正后的运动信息来推导所述当前块的预测块;以及
对包括所述当前块的所述运动信息的预测相关信息的图像信息进行编码。
8.根据权利要求7所述的图像编码方法,其中,推导每个子块的所述修正后的运动信息的步骤包括以下步骤:
基于所述当前块的所述运动信息的L0运动矢量来推导在所述当前块的L0参考画面中所述当前块的每个子块的第一区域;
基于所述当前块的所述运动信息的L1运动矢量来推导在所述当前块的L1参考画面中所述当前块的每个子块的第二区域;
基于所述第一区域和所述第二区域来推导所述当前块的每个子块的绝对差和SAD;以及
基于每个子块的所述SAD来推导每个子块的所述修正后的运动信息的修正后的L0运动矢量和修正后的L1运动矢量。
9.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储通过根据权利要求7所述的图像编码方法而生成的经编码的图像信息的比特流。
10.一种用于图像数据的发送方法,所述发送方法包括以下步骤:
获得经编码的图像信息的比特流,其中,所述经编码的图像信息基于以下步骤生成:推导当前块的运动信息,通过对所述当前块进行分区来推导所述当前块的子块,基于所述当前块的所述运动信息来推导每个子块的修正后的运动信息,基于每个子块的所述修正后的运动信息来推导所述当前块的预测块,以及对包括所述当前块的所述运动信息的预测相关信息的所述图像信息进行编码;以及
发送包括所述比特流的所述图像数据。
CN202311147523.4A 2018-03-14 2019-03-13 图像编码/解码方法、存储介质和发送方法 Pending CN116962717A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20180029860 2018-03-14
KR10-2018-0029860 2018-03-14
KR20180111636 2018-09-18
KR10-2018-0111636 2018-09-18
CN201980019167.3A CN111919447A (zh) 2018-03-14 2019-03-13 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
PCT/KR2019/002875 WO2019177354A1 (ko) 2018-03-14 2019-03-13 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980019167.3A Division CN111919447A (zh) 2018-03-14 2019-03-13 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质

Publications (1)

Publication Number Publication Date
CN116962717A true CN116962717A (zh) 2023-10-27

Family

ID=67907915

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202311346287.9A Pending CN117156155A (zh) 2018-03-14 2019-03-13 图像编码/解码方法、存储介质和发送方法
CN202311150528.2A Pending CN117041593A (zh) 2018-03-14 2019-03-13 图像编码/解码方法、存储介质和发送方法
CN201980019167.3A Pending CN111919447A (zh) 2018-03-14 2019-03-13 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
CN202311147523.4A Pending CN116962717A (zh) 2018-03-14 2019-03-13 图像编码/解码方法、存储介质和发送方法

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202311346287.9A Pending CN117156155A (zh) 2018-03-14 2019-03-13 图像编码/解码方法、存储介质和发送方法
CN202311150528.2A Pending CN117041593A (zh) 2018-03-14 2019-03-13 图像编码/解码方法、存储介质和发送方法
CN201980019167.3A Pending CN111919447A (zh) 2018-03-14 2019-03-13 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质

Country Status (4)

Country Link
US (4) US20200413040A1 (zh)
KR (8) KR20190108506A (zh)
CN (4) CN117156155A (zh)
WO (1) WO2019177354A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567808B2 (en) * 2016-05-25 2020-02-18 Arris Enterprises Llc Binary ternary quad tree partitioning for JVET
US11425390B2 (en) * 2018-01-26 2022-08-23 Electronics And Telecommunications Research Institute Method and apparatus for image encoding and image decoding using temporal motion information
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
US10638137B2 (en) * 2018-03-07 2020-04-28 Tencent America LLC Method and apparatus for video coding
CN112385213B (zh) * 2018-05-10 2023-06-23 Lg电子株式会社 基于帧间预测模式处理图像的方法和用于该方法的设备
KR102030384B1 (ko) 2018-06-19 2019-11-08 광운대학교 산학협력단 잔차 계수 부호화/복호화 방법 및 장치
US11350093B2 (en) * 2018-06-11 2022-05-31 Hanwha Techwin Co., Ltd. Residual coefficient encoding/decoding method and device
WO2019244052A1 (en) * 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Different precisions for different reference list
US11151748B2 (en) * 2018-07-13 2021-10-19 Electronics And Telecommunications Research Institute 3D point cloud data encoding/decoding method and apparatus
CA3111340A1 (en) * 2018-09-03 2020-03-12 Huawei Technologies Co., Ltd. A video encoder, a video decoder and corresponding methods
KR102635047B1 (ko) 2018-09-19 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 적응적 움직임 벡터 해상도를 가지는 어파인 모드에 대한 구문 재사용
US11509919B2 (en) * 2018-10-17 2022-11-22 Tencent America Reference sample memory size restrictions for intra block copy
JP7235877B2 (ja) 2019-01-31 2023-03-08 北京字節跳動網絡技術有限公司 アフィンモード適応型動きベクトル解像度を符号化するためのコンテキスト
CN111526362B (zh) * 2019-02-01 2023-12-29 华为技术有限公司 帧间预测方法和装置
US11039150B2 (en) 2019-04-19 2021-06-15 Tencent America LLC Method and apparatus for video coding
CN117676134A (zh) * 2019-04-25 2024-03-08 北京字节跳动网络技术有限公司 对运动矢量差的约束
WO2020257365A1 (en) * 2019-06-17 2020-12-24 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatuses for decoder-side motion vector refinement in video coding
CN117499667A (zh) 2019-06-25 2024-02-02 北京字节跳动网络技术有限公司 对运动矢量差的约束
US11190789B2 (en) * 2019-06-30 2021-11-30 Tencent America LLC Method and apparatus for video coding using inter-prediction mode signaling to dertermine motion vectors
CN115398917A (zh) * 2020-04-02 2022-11-25 夏普株式会社 运动图像解码装置及运动图像解码方法
CN113596452B (zh) * 2021-06-17 2023-03-24 浙江大华技术股份有限公司 一种编码方法、装置、电子设备、存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
WO2011096770A2 (ko) * 2010-02-02 2011-08-11 (주)휴맥스 영상 부호화/복호화 장치 및 방법
JP2014501091A (ja) * 2010-12-17 2014-01-16 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート インター予測方法及びその装置
KR101929026B1 (ko) * 2011-01-07 2018-12-13 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
KR102450324B1 (ko) * 2011-02-09 2022-10-04 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
CN105915902B (zh) * 2011-03-08 2017-09-22 Jvc 建伍株式会社 动图像编码装置以及动图像编码方法
JP5807621B2 (ja) * 2011-06-30 2015-11-10 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法および送信プログラム
KR20150088909A (ko) * 2011-06-30 2015-08-03 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
KR101347062B1 (ko) * 2012-06-27 2014-01-10 숭실대학교산학협력단 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
US9762927B2 (en) * 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
WO2015142057A1 (ko) * 2014-03-21 2015-09-24 주식회사 케이티 다시점 비디오 신호 처리 방법 및 장치
KR20180008445A (ko) * 2015-06-10 2018-01-24 삼성전자주식회사 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
JP6527460B2 (ja) * 2015-12-25 2019-06-05 日本電信電話株式会社 映像符号化装置、映像符号化方法及び映像符号化プログラム
KR102321394B1 (ko) * 2016-08-01 2021-11-03 한국전자통신연구원 영상 부호화/복호화 방법
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US10750190B2 (en) * 2016-10-11 2020-08-18 Lg Electronics Inc. Video decoding method and device in video coding system
US20180310017A1 (en) * 2017-04-21 2018-10-25 Mediatek Inc. Sub-prediction unit temporal motion vector prediction (sub-pu tmvp) for video coding
WO2018210315A1 (en) * 2017-05-18 2018-11-22 Mediatek Inc. Method and apparatus of motion vector constraint for video coding
KR20200095463A (ko) * 2017-11-01 2020-08-10 브이아이디 스케일, 인크. 병합 모드를 위한 서브-블록 모션 도출 및 디코더측 모션 벡터 정교화
US20190222834A1 (en) * 2018-01-18 2019-07-18 Mediatek Inc. Variable affine merge candidates for video coding
CN117061738A (zh) * 2018-04-02 2023-11-14 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
WO2020017892A1 (ko) * 2018-07-17 2020-01-23 엘지전자 주식회사 서브블록 단위의 시간적 움직임 벡터 예측을 위한 방법 및 그 장치

Also Published As

Publication number Publication date
CN117041593A (zh) 2023-11-10
KR20230074452A (ko) 2023-05-30
WO2019177354A1 (ko) 2019-09-19
KR102645309B1 (ko) 2024-03-08
KR20240032810A (ko) 2024-03-12
KR20240032808A (ko) 2024-03-12
KR20240032807A (ko) 2024-03-12
KR20240032809A (ko) 2024-03-12
CN111919447A (zh) 2020-11-10
US20240064289A1 (en) 2024-02-22
KR20230150936A (ko) 2023-10-31
KR20190108506A (ko) 2019-09-24
KR20230131163A (ko) 2023-09-12
CN117156155A (zh) 2023-12-01
US20230344989A1 (en) 2023-10-26
US20200413040A1 (en) 2020-12-31
US20230379455A1 (en) 2023-11-23

Similar Documents

Publication Publication Date Title
US20230179793A1 (en) Video encoding/decoding method and device, and recording medium storing bit stream
US20240064289A1 (en) Method and Device for Encoding/Decoding Image and Recording Medium Having Bitstream Stored Thereon
CN110024394B (zh) 对图像编码/解码的方法和设备及存储比特流的记录介质
CN111279695B (zh) 用于基于非对称子块的图像编码/解码的方法及装置
CN111164978B (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN110024402B (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
CN112740697A (zh) 图像编码/解码方法和装置及存储比特流的记录介质
CN112740671A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
CN112740694A (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN113906740A (zh) 帧间预测信息编码/解码方法和装置
CN113273188A (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
CN114342372A (zh) 帧内预测模式、以及熵编解码方法和装置
CN113841398A (zh) 一种基于子块划分的图像编码/解码方法及装置
CN113196758A (zh) 图像编码/解码方法和设备以及存储比特流的记录介质
CN113841404A (zh) 视频编码/解码方法和设备以及存储比特流的记录介质
CN113841399A (zh) 图像编码/解码方法和设备
CN113545078A (zh) 图像编码/解码方法和设备以及用于存储比特流的记录介质
CN113924773A (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