CN102934444A - 用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备 - Google Patents

用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备 Download PDF

Info

Publication number
CN102934444A
CN102934444A CN2011800277767A CN201180027776A CN102934444A CN 102934444 A CN102934444 A CN 102934444A CN 2011800277767 A CN2011800277767 A CN 2011800277767A CN 201180027776 A CN201180027776 A CN 201180027776A CN 102934444 A CN102934444 A CN 102934444A
Authority
CN
China
Prior art keywords
prime
pixel
unit
current block
reference picture
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
CN2011800277767A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN102934444A publication Critical patent/CN102934444A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Abstract

通过使用像素单位的双向运动补偿来对视频进行编码和解码的方法和设备。根据对视频进行编码的方法,除了对当前块执行块单位的双向运动补偿之外,还通过使用用于双向运动预测和补偿的第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿,并通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,来产生当前块的双向运动预测值。

Description

用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
技术领域
本发明涉及对视频进行编码和解码,更具体地说,涉及对视频更精确地执行双向运动预测和补偿的处理。
背景技术
随着用于再现和存储高分辨率或高质量视频内容的硬件的发展和提供,对有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求正在增加。在传统的视频编解码器中,基于具有预定尺寸的宏块,根据受限的编码方法对视频进行编码。
发明内容
技术问题
本发明提供用于对图像进行编码和解码的方法和设备,所述方法和设备在对运动信息进行编码所需的比特数量无需大量增加的情况下,精确地执行像素单位的双向运动预测和补偿。
技术方案
根据本发明的实施例,通过基于参考画面的像素的光流以及块单位的运动补偿的结果执行像素单位的运动补偿,在与运动补偿模式有关的信息的附加开销无需增加的情况下,执行更精确的运动预测和补偿。
有益效果
根据本发明,在对运动信息进行编码所需的比特数量无需大量增加的情况下,执行精确的像素单位的双向运动预测和补偿。
附图说明
图1是根据本发明的实施例的用于对视频进行编码的设备的框图;
图2是根据本发明的实施例的用于对视频进行解码的设备的框图;
图3是用于描述根据本发明的实施例的编码单元的概念的示图;
图4是根据本发明的实施例的基于编码单元的图像编码器的框图;
图5是根据本发明的实施例的基于编码单元的图像解码器的框图;
图6是示出根据本发明的实施例的根据深度的较深层编码单元以及分区的示图;
图7是用于描述根据本发明的实施例的编码单元和变换单元之间的关系的示图;
图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图;
图9是根据本发明的实施例的根据深度的较深层编码单元的示图;
图10至图12是用于描述根据本发明的实施例的编码单元、预测单元和变换单元之间的关系的示图;
图13是用于描述根据表1的编码模式信息的编码单元、预测单元或分区以及变换单元之间的关系的示图;
图14是根据本发明的实施例的运动补偿器的框图;
图15是用于描述根据本发明的实施例的基于块的双向运动预测和补偿的处理的参考示图;
图16是用于描述根据本发明的实施例的执行像素单位的运动补偿的处理的参考示图;
图17是用于描述根据本发明的实施例的计算水平方向梯度和垂直方向梯度的处理的参考示图;
图18是用于描述根据本发明的另一实施例的计算水平方向梯度和垂直方向梯度的处理的参考示图;
图19是示出根据本发明的实施例的梯度计算滤波器的滤波器系数的表;
图20是用于描述根据本发明的实施例的确定水平方向位移矢量和垂直方向位移矢量的处理的参考示图;
图21是示出根据本发明的实施例的对视频进行编码的方法的流程图;
图22是根据本发明的实施例的包括在解码设备中的运动补偿器的框图;
图23是示出根据本发明的实施例的对视频进行解码的方法的流程图。
最佳实施方式
根据本发明的一方面,提供了一种对视频进行编码的方法,所述方法包括:执行用于确定第一运动矢量和第二运动矢量的双向运动预测,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
根据本发明的另一方面,提供了一种对视频进行解码的方法,所述方法包括:从比特流提取关于将被解码的当前块的运动预测模式的信息;当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,从比特流提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
根据本发明的另一方面,提供了一种用于对视频进行编码的设备,所述设备包括:运动预测器,执行用于确定第一运动矢量和第二运动矢量的双向运动预测,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;块单位的运动补偿器,通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;像素单位的运动补偿器,通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;预测值产生器,通过块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
根据本发明的另一方面,提供了一种用于对视频进行解码的设备,所述设备包括:熵解码器,从比特流提取关于将被解码的当前块的运动预测模式的信息,当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,从比特流提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;块单位的运动补偿器,通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;像素单位的运动补偿器,通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;预测值产生器,通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
具体实施方式
以下,将参考附图更充分地描述本发明,在附图中示出本发明的示例性实施例。
图1是根据本发明的实施例的视频编码设备100的框图。
视频编码设备100包括最大编码单元划分器110、编码单元确定器120和输出单元130。
最大编码单元划分器110可基于图像的当前画面的最大编码单元对当前画面进行划分。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个最大编码单元。根据本发明的实施例的最大编码单元可以是尺寸为32×32、64×64、128×128、256×256等的数据单元,其中,数据单元的形状是宽度和高度为2的若干次方并大于8的正方形。图像数据可根据所述至少一个最大编码单元被输出到编码单元确定器120。
根据本发明的实施例的编码单元可由最大尺寸以及深度来表征。深度表示编码单元从最大编码单元被空间划分的次数,并且随着深度加深,根据深度的较深层编码单元可从最大编码单元被划分为最小编码单元。最大编码单元的深度是最上层深度,最小编码单元的深度是最下层深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此,与上层深度相应的编码单元可包括多个与下层深度相应的编码单元。
如上所述,当前画面的图像数据根据编码单元的最大尺寸而被划分为最大编码单元,所述最大编码单元中的每一个可包括根据深度被划分的较深层编码单元。由于根据本发明的实施例的最大编码单元根据深度被划分,因此包括在最大编码单元中的空间域的图像数据可根据深度被分层划分。
可预先确定编码单元的最大深度和最大尺寸,所述最大深度和最大尺寸限定最大编码单元的高度和宽度被分层划分的总次数。
编码单元确定器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分的区域进行编码,并根据所述至少一个划分的区域确定用于输出最终编码的图像数据的深度。换句话说,编码单元确定器120通过根据当前画面的最大编码单元按照根据深度的较深层编码单元对图像数据进行编码,并选择具有最小编码误差的深度,来确定编码深度。确定的编码深度和根据确定的编码深度的编码图像数据被输出到输出单元130。
基于与等于或低于最大深度的至少一个深度相应的较深层编码单元对最大编码单元中的图像数据进行编码,并基于较深层编码单元中的每一个来比较对图像数据进行编码的结果。在比较较深层编码单元的编码误差之后,可选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。
随着编码单元根据深度而被分层划分,并且随着编码单元的数量增加,最大编码单元的尺寸被划分。此外,即使在一个最大编码单元中编码单元相应于相同深度,也通过分别测量每个编码单元的图像数据的编码误差来确定是否将与相同深度相应的编码单元中的每一个划分到下层深度。因此,即使当图像数据被包括在一个最大编码单元中时,在所述一个最大编码单元中,编码误差也可根据区域而不同,因此,编码深度可根据图像数据中的区域而不同。因此,在一个最大编码单元中可确定一个或多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
因此,编码单元确定器120可确定包括在最大编码单元中的具有树结构的编码单元。根据本发明的实施例的“具有树结构的编码单元”包括有在最大编码单元中包括的所有较深层编码单元中与被确定为编码深度的深度相应的编码单元。在最大编码单元的相同区域中,编码深度的编码单元可根据深度被分层确定,在不同的区域中,编码深度的编码单元可被独立地确定。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。
根据本发明的实施例的最大深度是关于从最大编码单元到最小编码单元的划分次数的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元的总划分次数。根据本发明的实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度为0时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度0、1、2、3和4这5个深度级,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。
可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的较深层编码单元来执行预测编码和变换。
由于每当最大编码单元根据深度被划分时较深层编码单元的数量增加,因此可针对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于描述,现在将基于最大编码单元中的当前深度的编码单元来描述预测编码和变换。
视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。
例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可选择与编码单元不同的数据单元,以便对编码单元中的图像数据执行预测编码。
为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与下层深度相应的编码单元的编码单元)执行预测编码。以下,现将不再被划分并且变成用于预测编码的基本单元的编码单元称为“预测单元”。通过对预测单元进行划分所获得的分区(partition)可包括预测单元或通过对预测单元的高度和宽度中的至少一个进行划分所获得的数据单元。
例如,当2N×2N(其中,N是正整数)的编码单元不再被划分,并且变成2N×2N的预测单元时,分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对预测单元的高度或宽度进行对称划分所获得的对称分区、通过对预测单元的高度或宽度进行不对称划分(诸如1:n或n:1)所获得的分区、通过对预测单元进行几何划分所获得的分区以及具有任意形状的分区。
预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可针对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。此外,可仅针对2N×2N的分区执行跳过模式。针对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。
视频编码设备100还可不仅基于用于对图像数据进行编码的编码单元,还基于不同于编码单元的数据单元,对编码单元中的图像数据执行变换。
为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的数据单元可包括用于帧内模式的数据单元和用于帧间模式的数据单元。
现将用作变换的基础的数据单元称为“变换单元”。与编码单元类似,编码单元中的变换单元可被递归地划分为更小尺寸的区域,从而可以以区域为单位独立地确定变换单元。因此,编码单元中的残差数据可基于根据变换深度的具有树结构的变换单元被划分。
还可在变换单元中设置变换深度,所述变换深度指示通过对编码单元的高度和宽度进行划分来实现变换单元的划分次数。例如,在2N×2N的当前编码单元中,当变换单元的尺寸为2N×2N时,变换深度可以是0,当变换单元的尺寸是N×N时,变换深度可以是1,当变换单元的尺寸是N/2×N/2时,变换深度可以是2。换句话说,可根据变换深度设置具有树结构的变换单元。
根据与编码深度相应的编码单元的编码信息不仅需要关于编码深度的信息,还需要关于与预测编码和变换有关的信息的信息。因此,编码单元确定器120不仅确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式和用于变换的变换单元的尺寸。
稍后将参照图3至图12详细描述根据本发明的实施例的最大编码单元中的根据树结构的编码单元以及确定分区的方法。
编码单元确定器120可通过使用基于拉格朗日乘子的率失真优化来测量根据深度的较深层编码单元的编码误差。
输出单元130在比特流中输出最大编码单元的图像数据以及关于根据编码深度的编码模式的信息,其中,所述图像数据基于由编码单元确定器120确定的至少一个编码深度被编码。
可通过对图像的残差数据进行编码来获得编码图像数据。
关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型的信息、预测模式以及变换单元的尺寸。
可通过使用根据深度的划分信息来定义关于编码深度的信息,所述划分信息指示是否针对下层深度而不是当前深度的编码单元来执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码并被输出,因此划分信息可被定义为不将当前编码单元划分到下层深度。可选地,如果当前编码单元的当前深度不是编码深度,则针对下层深度的编码单元来执行编码,因此,划分信息可被定义为划分当前编码单元以获得下层深度的编码单元。
如果当前深度不是编码深度,则针对被划分为下层深度的编码单元的编码单元来执行编码。由于在当前深度的一个编码单元中存在下层深度的至少一个编码单元,因此针对下层深度的每个编码单元重复执行编码,因此,可针对具有相同深度的编码单元递归地执行编码。
由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,因此,可针对一个最大编码单元确定关于至少一个编码模式的信息。此外,由于图像数据根据深度被分层划分,因此,最大编码单元的图像数据的编码深度可根据位置而不同,因此,可针对图像数据设置关于编码深度和编码模式的信息。
因此,输出单元130可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。
根据本发明的实施例的最小单元是通过将构成最低深度的最小编码单元划分4次所获得的正方形数据单元。可选地,最小单元可以是最大正方形数据单元,所述最大正方形数据单元可包括在最大编码单元中所包括的所有编码单元、预测单元、分区单元和变换单元中。
例如,通过输出单元130输出的编码信息可被分为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息和关于帧内模式的插值方法的信息。此外,关于根据画面、条带或GOP定义的编码单元的最大尺寸的信息以及关于最大深度的信息可被插入比特流的头中。
在视频编码设备100中,较深层编码单元可以是通过将作为上一层的上层深度的编码单元的高度或宽度划分两次所获得的编码单元。换句话说,当当前深度的编码单元的尺寸为2N×2N时,下层深度的编码单元的尺寸是N×N。此外,尺寸为2N×2N的当前深度的编码单元可最多包括下层深度的4个编码单元。
因此,视频编码设备100可通过基于考虑当前画面的特性所确定的最大编码单元的尺寸和最大深度,针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。此外,由于可通过使用各种预测模式和变换中的任何一个来针对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。
因此,如果以传统的宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块数量过度增加。因此,针对每个宏块产生的压缩信息的条数增加,因此难以发送压缩信息,并且数据压缩效率降低。然而,通过使用视频编码设备100,由于在考虑图像尺寸的同时增加编码单元的最大尺寸,同时在考虑图像特性的同时调整编码单元,因此可提高图像压缩效率。
图2是根据本发明的实施例的视频解码设备200的框图。
视频解码设备200包括接收器210、图像数据和编码信息提取器220以及图像数据解码器230。用于视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照图1和视频编码设备100描述的那些术语相同。
接收器210接收并解析编码视频的比特流。图像数据和编码信息提取器220从解析的比特流提取每个编码单元的编码图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个最大编码单元的树结构。图像数据和编码信息提取器220可从关于当前画面的头提取关于当前画面的编码单元的最大尺寸的信息。
此外,图像数据和编码信息提取器220从解析的比特流提取关于编码单元的编码深度和编码模式的信息,其中,编码单元具有根据每个最大编码单元的树结构。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换句话说,比特流中的图像数据被划分为最大编码单元,从而图像数据解码器230对每个最大编码单元的图像数据进行解码。
可针对关于与编码深度相应的至少一个编码单元的信息,来设置关于根据最大编码单元的编码深度和编码模式的信息,并且关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息和变换单元的尺寸。此外,根据深度的划分信息可被提取作为关于编码深度的信息。
由图像数据和编码信息提取器220提取的关于根据每个最大编码单元的编码深度和编码模式的信息是关于如下编码深度和编码模式的信息,其中,所述编码深度和编码模式被确定为用于当编码器(诸如视频编码设备100)根据每个最大编码单元对每个根据深度的较深层编码单元重复执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来恢复图像。
由于关于编码深度和编码模式的编码信息可被分配给相应编码单元、预测单元和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可根据预定数据单元提取关于编码深度和编码模式的信息。如果根据预定数据单元记录关于相应最大编码单元的编码深度和编码模式的信息,则被分配关于编码深度和编码模式的相同信息的预定数据单元可被推断为包括在相同最大编码单元中的数据单元。
图像数据解码器230通过基于关于根据最大编码单元的编码深度和编码模式的信息对每个最大编码单元中的图像数据进行解码,来恢复当前画面。换句话说,图像数据解码器230可基于提取的关于包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元的分区类型、预测模式和变换单元的信息,来对编码图像数据进行解码。解码处理可包括预测(包括帧内预测和运动补偿)和反变换。
图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的分区类型和预测模式的信息,根据每个编码单元的分区和预测模式执行帧内预测或运动补偿。
此外,图像数据解码器230可基于关于根据编码深度的编码单元的变换单元的尺寸的信息,根据编码单元中的每个变换单元执行反变换,从而根据最大编码单元执行反变换。
图像数据解码器230可通过使用根据深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息指示图像数据在当前深度下不再被划分,则当前深度是编码深度。因此,图像数据解码器230可通过使用与编码深度相应的每个编码单元的关于预测单元的分区类型、预测模式和变换单元尺寸的信息,对当前最大编码单元中与每个编码深度相应的至少一个编码单元的编码数据进行解码。
换句话说,可通过观察为编码单元、预测单元和最小单元中的预定数据单元分配的编码信息集来收集包括编码信息(包括相同划分信息)的数据单元,收集的数据单元可被视为将由图像数据解码器230以相同的编码模式进行解码的一个数据单元。
视频解码设备200可获得关于当针对每个最大编码单元递归执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。
因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式来有效地对图像数据进行解码和恢复,其中,通过使用从编码器接收的关于最佳编码模式的信息,根据图像数据的特性来自适应地确定所述编码单元的尺寸和所述编码模式。
现在将参照图3至图13描述根据本发明的实施例的确定具有树结构的编码单元、预测单元和变换单元的方法。
图3是用于描述根据本发明的实施例的编码单元的概念的示图。
编码单元的尺寸可被表示为宽度×高度,可以是64×64、32×32、16×16和8×8。64×64的编码单元可被划分为64×64、64×32、32×64或32×32的分区,32×32的编码单元可被划分为32×32、32×16、16×32或16×16的分区,16×16的编码单元可被划分为16×16、16×8、8×16或8×8的分区,8×8的编码单元可被划分为8×8、8×4、4×8或4×4的分区。
在视频数据310中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为3。在视频数据330中,分辨率为352×288,编码单元的最大尺寸为16,最大深度为1。图3中示出的最大深度指示从最大编码单元到最小解码单元的总划分次数。
如果分辨率高或数据量大,则编码单元的最大尺寸可较大,从而不仅提高了编码效率还精确地反映出图像的特性。因此,分辨率高于视频数据330的视频数据310和视频数据320的编码单元的最大尺寸可以是64。
由于视频数据310的最大深度是2,因此,由于通过将最大编码单元划分两次,深度被加深两层,因此视频数据310的编码单元315可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32和16的编码单元。同时,由于视频数据330的最大深度是1,因此,由于通过将最大编码单元划分一次,深度被加深一层,因此视频数据330的编码单元335可包括长轴尺寸为16的最大编码单元以及长轴尺寸为8的编码单元。
由于视频数据320的最大深度为3,因此,由于通过将最大编码单元划分三次,深度被加深3层,因此视频数据320的编码单元325可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32、16和8的编码单元。随着深度加深,可精确地表达详细信息。
图4是根据本发明的实施例的基于编码单元的图像编码器400的框图。
图像编码器400执行视频编码设备100的编码单元确定器120的操作以对图像数据进行编码。换句话说,帧内预测器410对当前帧405中的帧内模式下的编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495,对当前帧405中的帧间模式下的编码单元执行帧间估计和运动补偿。
从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出作为量化的变换系数。具体地,在双向运动预测和补偿期间,运动估计器420和运动补偿器425除了执行基于块的双向运动预测和补偿之外,还执行像素单位的双向运动补偿。这将在以下参照图14被详细描述。
量化的变换系数通过反量化器460和反变换器470被恢复为空间域中的数据,恢复的空间域中的数据在通过去块单元480和环路滤波单元490进行后处理之后被输出为参考帧495。量化的变换系数可通过熵编码器450被输出为比特流455。
为了将图像编码器400应用在视频编码设备100中,图像编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度的同时,基于具有树结构的编码单元中的每个编码单元来执行操作。
具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度的同时确定具有树结构的编码单元中的每个编码单元的分区和预测模式,变换器430确定具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。
图5是根据本发明的实施例的基于编码单元的图像解码器500的框图。
解析器510从比特流505解析将被解码的编码图像数据以及解码所需的关于编码的信息。编码图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的数据通过反变换器540被恢复为空间域中的图像数据。
帧内预测器550针对空间域中的图像数据,对帧内模式下的编码单元执行帧内预测,运动补偿器560通过使用参考帧585对帧间模式下的编码单元执行运动补偿。具体地,在双向运动补偿期间,运动补偿器560除了执行基于块的双向运动补偿之外,还执行像素单位的双向运动补偿。这将在以下参照图14被详细描述。
通过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580进行后处理之后被输出为恢复的帧595。此外,通过去块单元570和环路滤波单元580进行后处理的图像数据可被输出为参考帧585。
为了在视频解码设备200的图像数据解码器230中对图像数据进行解码,图像解码器500可执行在解析器510之后执行的操作。
为了将图像解码器500应用在视频解码设备200中,图像解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、反变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)针对每个最大编码单元基于具有树结构的编码单元执行操作。
具体地,帧内预测器550和运动补偿器560基于具有树结构的编码单元中的每个编码单元的分区和预测模式执行操作,反变换器540基于每个编码单元的变换单元的尺寸执行操作。
图6是示出根据本发明的实施例的根据深度的较深层编码单元以及分区的示图。
视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特性。可根据图像的特性适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸来确定根据深度的较深层编码单元的尺寸。
在根据本发明的实施例的编码单元的分层结构600中,编码单元的最大高度和最大宽度均为64,最大深度为4。由于深度沿分层结构600的纵轴加深,因此较深层编码单元的高度和宽度均被划分。此外,沿分层结构600的横轴示出作为用于每个较深层编码单元的预测编码的基础的预测单元和分区。
换句话说,编码单元610是分层结构600中的最大编码单元,其中,深度为0,尺寸(即,高度乘宽度)为64×64。深度沿纵轴加深,存在尺寸为32×32且深度为1的编码单元620、尺寸为16×16且深度为2的编码单元630、尺寸为8×8且深度为3的编码单元640以及尺寸为4×4且深度为4的编码单元650。尺寸为4×4且深度为4的编码单元650是最小编码单元。
编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果尺寸为64×64且深度为0的编码单元610是预测单元,则预测单元可被划分为包括在编码单元610中的分区,即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614或尺寸为32×32的分区616。
类似地,尺寸为32×32且深度为1的编码单元620的预测单元可被划分为包括在编码单元620中的分区,即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624和尺寸为16×16的分区626。
类似地,尺寸为16×16且深度为2的编码单元630的预测单元可被划分为包括在编码单元630中的分区,即,包括在编码单元630中的尺寸为16×16的分区630、尺寸为16×8的分区632、尺寸为8×16的分区634和尺寸为8×8的分区636。
类似地,尺寸为8×8且深度为3的编码单元640的预测单元可被划分为包括在编码单元640中的分区,即,包括在编码单元640中的尺寸为8×8的分区640、尺寸为8×4的分区642、尺寸为4×8的分区644和尺寸为4×4的分区646。
尺寸为4×4且深度为4的编码单元650是最小编码单元和最下层深度的编码单元。编码单元650的预测单元仅被分配给尺寸为4×4的分区。
为了确定组成最大编码单元610的编码单元的至少一个编码深度,视频编码设备100的编码单元确定器120针对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。
随着深度加深,以相同范围和相同尺寸包括数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度2相应的编码单元,以覆盖包括在一个与深度1相应的编码单元中的数据。因此,为了比较相同数据根据深度的编码结果,与深度1相应的编码单元和四个与深度2相应的编码单元各自被编码。
为了针对深度中的当前深度执行编码,可通过沿分层结构600的横轴,针对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度选择最小编码误差。可选地,可通过随着深度沿分层结构600的纵轴加深针对每个深度执行编码来比较根据深度的最小编码误差,从而搜索最小编码误差。在编码单元610中具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。
图7是用于描述根据本发明的实施例的编码单元710和变换单元720之间的关系的示图。
视频编码设备100或视频解码设备200针对每个最大编码单元,根据具有小于或等于最大编码单元的尺寸的编码单元来对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择在编码期间用于变换的变换单元的尺寸。
例如,在视频编码设备100或视频解码设备200中,如果编码单元710的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。
此外,可通过对小于64×64的尺寸为32×32、16×16、8×8和4×4的变换单元中的每一个执行变换,来对尺寸为64×64的编码单元710的数据进行编码,随后可选择具有最小编码误差的变换单元。
图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。
视频编码设备100的输出单元130可对与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810和关于变换单元的尺寸的信息820进行编码和发送,以作为关于编码模式的信息。
信息800指示关于通过对当前编码单元的预测单元进行划分而获得的分区的形状的信息,其中,所述分区是用于对当前编码单元进行预测编码的数据单元。例如,尺寸为2N×2N的当前编码单元CU_0可被划分为尺寸为2N×2N的分区802、尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的分区808中的任意一个。这里,关于分区类型的信息800被设置为指示尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的尺寸的分区808之一。
信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。
信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧内变换单元828。
视频解码设备200的图像数据和编码信息提取器220可根据每个较深层编码单元提取和使用用于解码的信息800、810和820。
图9是根据本发明的实施例的根据深度的较深层编码单元的示图。
划分信息可被用于指示深度的改变。划分信息指示当前深度的编码单元是否被划分为下层深度的编码单元。
用于对深度为0且尺寸为2N_0×2N_0的编码单元900进行预测编码的预测单元910可包括以下分区类型的分区:尺寸为2N_0×2N_0的分区类型912、尺寸为2N_0×N_0的分区类型914、尺寸为N_0×2N_0的分区类型916、尺寸为N_0×N_0的分区类型918。图9仅示出通过对预测单元910进行对称划分而获得的分区类型912至918,但分区类型不限于此,预测单元910的分区可包括不对称分区、具有预定形状的分区和具有几何形状的分区。
根据每个分区类型,对一个尺寸为2N_0×2N_0的分区、两个尺寸为2N_0×N_0的分区、两个尺寸为N_0×2N_0的分区和四个尺寸为N_0×N_0的分区重复执行预测编码。可对尺寸为2N_0×2N_0、N_0×2N_0、2N_0×N_0和N_0×N_0的分区执行帧内模式和帧间模式下的预测编码。仅对尺寸为2N_0×2N_0的分区执行跳过模式下的预测编码。
如果在分区类型912至916之一中编码误差最小,则预测单元910可不被划分到下层深度。
如果在分区类型918中编码误差最小,则深度从0改变到1以在操作920对分区类型918进行划分,并对深度为2且尺寸为N_0×N_0的编码单元930重复执行编码,以搜索最小编码误差。
用于对深度为1且尺寸为2N_1×2N_1(=N_0×N_0)的编码单元930进行预测编码的预测单元940可包括以下分区类型的分区:尺寸为2N_1×2N_1的分区类型942、尺寸为2N_1×N_1的分区类型944、尺寸为N_1×2N_1的分区类型946、尺寸为N_1×N_1的分区类型948。
如果在分区类型948中编码误差最小,则深度从1改变到2以在操作950对分区类型948进行划分,并对深度为2且尺寸为N_2×N_2的编码单元960重复执行编码,以搜索最小编码误差。
当最大深度为d时,可执行根据每个深度的划分操作,直到深度变为d-1,并且划分信息可被编码,直到深度为0到d-2中的一个。换句话说,当编码被执行直到在操作970与深度d-2相应的编码单元被划分之后深度为d-1时,用于对深度为d-1且尺寸为2N_(d-1)×2N_(d-1)的编码单元980进行预测编码的预测单元990可包括以下分区类型的分区:尺寸为2N_(d-1)×2N_(d-1)的分区类型992、尺寸为2N_(d-1)×N_(d-1)的分区类型994、尺寸为N_(d-1)×2N_(d-1)的分区类型996、尺寸为N_(d-1)×N_(d-1)的分区类型998。
可在分区类型992至998中对一个尺寸为2N_(d-1)×2N_(d-1)的分区、两个尺寸为2N_(d-1)×N_(d-1)的分区、两个尺寸为N_(d-1)×2N_(d-1)的分区、四个尺寸为N_(d-1)×N_(d-1)的分区重复执行预测编码,以搜索具有最小编码误差的分区类型。
即使当分区类型998具有最小编码误差时,由于最大深度为d,因此深度为d-1的编码单元CU_(d-1)也不再被划分到下层深度,用于组成当前最大编码单元900的编码单元的编码深度被确定为d-1,当前最大编码单元900的分区类型可被确定为N_(d-1)×N_(d-1)。此外,由于最大深度为d并且具有最下层深度d-1的最小编码单元980不再被划分到下层深度,因此不设置最小编码单元980的划分信息。
数据单元999可以为当前最大编码单元的“最小单元”。根据本发明的实施例的最小单元可以是通过将最小编码单元980划分4次而获得的正方形数据单元。通过重复执行编码,视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度以确定编码深度,并将相应的分区类型和预测模式设置为编码深度的编码模式。
这样,在1至d的所有深度中比较根据深度的最小编码误差,具有最小编码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式可作为关于编码模式的信息被编码和发送。此外,由于编码单元从深度0被划分到编码深度,因此仅编码深度的划分信息被设置为0,除了编码深度之外的深度的划分信息被设置为1。
视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度和预测单元的信息以对分区912进行解码。视频解码设备200可通过使用根据深度的划分信息将划分信息为0的深度确定为编码深度,并使用关于相应深度的编码模式的信息以进行解码。
图10至图12是用于描述根据本发明的实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。
编码单元1010是最大编码单元中与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是编码单元1010中的每一个的预测单元的分区,变换单元1070是编码单元1010中的每一个的变换单元。
当编码单元1010中的最大编码单元的深度是0时,编码单元1012和1054的深度是1,编码单元1014、1016、1018、1028、1050和1052的深度是2,编码单元1020、1022、1024、1026、1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。
在预测单元1060中,通过对编码单元1010中的编码单元进行划分来获得某些编码单元1014、1016、1022、1032、1048、1050、1052和1054。换句话说,编码单元1014、1022、1050和1054中的分区类型具有2N×N的尺寸,编码单元1016、1048和1052中的分区类型具有N×2N的尺寸,编码单元1032的分区类型具有N×N的尺寸。编码单元1010的预测单元和分区小于或等于每个编码单元。
对小于编码单元1052的数据单元中的变换单元1070中的编码单元1052的图像数据执行变换或反变换。此外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052在尺寸和形状方面与预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052不同。换句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据单元分别执行帧内预测、运动估计、运动补偿、变换和反变换。
因此,对最大编码单元的每个区域中具有分层结构的编码单元中的每一个递归地执行编码,以确定最佳编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表1示出可由视频编码设备100和视频解码设备200设置的编码信息。
表1
Figure BDA00002528274000191
视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的图像数据和编码信息提取器220可从接收的比特流提取关于具有树结构的编码单元的编码信息。
划分信息指示当前编码单元是否被划分为下层深度的编码单元。如果当前深度d的划分信息为0,则当前编码单元不再被划分到下层深度的深度是编码深度,因此可针对编码深度定义关于分区类型、预测模式和变换单元的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对下层深度的四个划分的编码单元独立地执行编码。
预测模式可以是帧内模式、帧间模式和跳过模式中的一个。可在所有分区类型中定义帧内模式和帧间模式,仅在尺寸为2N×2N的分区类型中定义跳过模式。
关于分区类型的信息可指示通过对预测单元的高度或宽度进行对称划分而获得的尺寸为2N×2N、2N×N、N×2N和N×N的对称分区类型,以及通过对预测单元的高度或宽度进行不对称划分而获得的尺寸为2N×nU、2N×nD、nL×2N和nR×2N的不对称分区类型。可通过按照1:3和3:1对预测单元的高度进行划分来分别获得尺寸为2N×nU和2N×nD的不对称分区类型,可通过按照1:3和3:1对预测单元的宽度进行划分来分别获得尺寸为nL×2N和nR×2N的不对称分区类型。
变换单元的尺寸可被设置为帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是2N×2N,这是当前编码单元的尺寸。如果变换单元的划分信息是1,则可通过对当前编码单元进行划分来获得变换单元。此外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型,则变换单元的尺寸可以是N×N,如果当前编码单元的分区类型是不对称分区类型,则变换单元的尺寸可以是N/2×N/2。
关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一个。与编码深度相应的编码单元可包括:包括相同编码信息的预测单元和最小单元中的至少一个。
因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否包括在与编码深度相应的相同编码单元中。此外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,从而可确定最大编码单元中的编码深度的分布。
因此,如果基于邻近数据单元的编码信息来预测当前编码单元,则可直接参考和使用与当前编码单元邻近的较深层编码单元中的数据单元的编码信息。
可选地,如果基于邻近数据单元的编码信息来预测当前编码单元,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,并且可参考搜索到的邻近编码单元来预测当前编码单元。
图13是用于描述根据表1的编码模式信息的编码单元、预测单元或分区、变换单元之间的关系的示图。
最大编码单元1300包括多个编码深度的编码单元1302、1304、1306、1312、1314、1316和1318。这里,由于编码单元1318是编码深度的编码单元,因此划分信息可被设置为0。关于尺寸为2N×2N的编码单元1318的分区类型的信息可被设置为以下分区类型之一:尺寸为2N×2N的分区类型1322、尺寸为2N×N的分区类型1324、尺寸为N×2N的分区类型1326、尺寸为N×N的分区类型1328、尺寸为2N×nU的分区类型1332、尺寸为2N×nD的分区类型1334、尺寸为nL×2N的分区类型1336和尺寸为nR×2N的分区类型1338。
当分区类型被设置为对称(即,分区类型1322、1324、1326或1328)时,如果变换单元的划分信息(TU尺寸标记)为0,则设置尺寸为2N×2N的变换单元1342,如果TU尺寸标记为1,则设置尺寸为N×N的变换单元1344。
当分区类型被设置为不对称(即,分区类型1332、1334、1336或1338)时,如果TU尺寸标记为0,则设置尺寸为2N×2N的变换单元1352,如果TU尺寸标记为1,则设置尺寸为N/2×N/2的变换单元1354。
现在将详细描述在图4的视频编码设备100的运动补偿器425以及视频解码设备200的运动补偿器560中执行的运动补偿的处理。以下,上述的预测单元将被称为块。
传统的运动预测和补偿方法使用块匹配算法,所述块匹配算法通过使用具有预定尺寸的矩形块(例如,16×16的宏块)从参考帧选择与当前编码的宏块最相似的区域,来产生预测值。例如,根据传统的双向运动预测和补偿方法,从先前帧P0和在后帧P1中搜索与将被编码的当前块最相似的区域,通过使用在先前帧P1中发现的区域和在后帧P1中发现的区域中的像素的平均值来产生当前块的预测值。在传统的基于块的运动预测和补偿方法中,在大多数视频序列中相对精确地搜索运动,但由于基于整个块执行预测和补偿,因此,如果在块中存在小运动区域,则小运动区域难以被有效地预测。然而,由于对每个像素的运动矢量信息进行编码所需的比特数量过分增加,被执行的用来预测在块中的小运动的像素单位的运动预测和补偿的效率不高。因此,根据本发明的实施例的对图像进行编码的方法包括:在对运动信息进行编码所需的比特数量无需大量增加的情况下,基于基于块的双向运动预测和补偿的结果,附加地执行像素单位的双向运动补偿。
图14是根据本发明的实施例的运动补偿器1400的框图。图14的运动补偿器1400相应于图4的视频编码设备100的运动补偿器425。
参照图14,运动补偿器1400包括块单位的运动补偿器1410、像素单位的运动补偿器1420和预测值产生器1430。
块单位的运动补偿器1410通过使用由图4的运动估计器420确定的双向运动矢量,对将被编码的当前块执行块单位的双向运动补偿。
像素单位的运动补偿器1420通过使用由双向运动矢量指示的参考画面的像素,对以块为单位被双向运动补偿的当前块的每个像素附加地执行像素单位的运动补偿。
预测值产生器1430通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的最终双向运动预测值。以下,将详细描述根据本发明的实施例的块单位的双向运动预测和补偿以及像素单位的双向运动补偿的处理。
图15是用于描述根据本发明的实施例的基于块的双向运动预测和补偿的处理的参考示图。
参照图4和图15,运动估计器420执行双向运动预测,以从第一参考画面1510和第二参考画面1520中搜索与当前画面1500中将被编码的当前块1501最相似的区域。这里,假设第一参考画面1510是当前画面1500的先前画面,第二参考画面1520是当前画面1500的在后画面。在执行双向运动预测时,运动估计器420确定在第一参考画面1510中与当前块1501最相似的第一相应区域1512,以及在第二参考画面1520中与当前块1501最相似的第二相应区域1522。此外,运动估计器420基于第一参考画面1510中与当前块1501处于相同位置的块1511和第一相应区域1512之间的位置差,确定第一运动矢量MV1,并基于第二参考画面1520中与当前块1501处于相同位置的块1521和第二相应区域1522之间的位置差,确定第二运动矢量MV2。
块单位的运动补偿器1410通过使用第一运动矢量MV1和第二运动矢量MV2,对当前块1501执行块单位的双向运动补偿。例如,当P0(i,j)表示位于(i,j)的第一参考画面1510的像素值(其中,i和j均为整数),P1(i,j)表示位于(i,j)的第二参考画面1520的像素值,MV1=(MVx1,MVy1),MV2=(MVx2,MVy2)时,可根据等式P_BiPredBlock(i,j)={P0(i+MVx1,j+MVy1)+P1(i+MVx2,j+MVy2)}/2来计算当前块1501的位于(i,j)的像素的块单位的双向运动补偿值P_BiPredBlock(i,j)。这样,块单位的运动补偿器1410通过使用分别由第一运动矢量MV1和第二运动矢量MV2指示的第一相应区域1512和第二相应区域1522的像素的平均值或加权和,对当前块1501执行块单位的运动补偿。
像素单位的运动补偿器1420基于第一参考画面1510和第二参考画面1520的像素的光流,对当前块1501执行像素单位的运动补偿。
光流是指由于观看者(眼或相机)和场景之间的相对运动而产生的对象或表面的明显运动的模式。在视频序列中,可通过计算在预定时间t和t+△t获得的帧之间的运动,来表示光流。I(x,y,t)表示在预定时间t在帧中位于(x,y)的像素值。换句话说,I(x,y,t)是时空改变的值。通过根据时间t区分I(x,y,t)来获得以下的等式1。
[等式1]
dI dt = ∂ I ∂ x dx dt + ∂ I ∂ y dy dt + ∂ I ∂ t
当假设像素值根据针对在块中的小运动区域的运动而改变但不根据时间而改变时,dI/dt为0。此外,当在dx/dt中Vx表示像素值I(x,y,t)的x轴方向上的位移矢量,Vy表示像素值I(x,y,t)的y轴方向上的位移矢量时,可根据以下的等式2来表示等式1。
[等式2]
∂ I ∂ t + Vx · ∂ I ∂ x + Vy · ∂ I ∂ y = 0
这里,x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy的大小可具有比在双向运动预测中使用的像素精度更小的值。例如,当在双向运动预测期间像素精度为1/4时,位移矢量Vx和Vy的大小可具有小于1/4的值。
根据本发明实施例的像素单位的运动补偿器1420根据等式2计算位移矢量Vx和Vy,通过使用位移矢量Vx和Vy来执行像素单位的运动补偿。由于像素值I(x,y,t)是等式2中的原始信号的值,因此在当按原样使用原始信号的值时进行编码期间,可能产生大量开销。因此,像素单位的运动补偿器1420通过使用基于块单位的双向运动预测确定的第一参考画面1510和第二参考画面1520的像素,根据等式2计算位移矢量Vx和Vy。
图16是用于描述根据本发明的实施例的执行像素单位的运动补偿的处理的参考示图。
在图16中,假设第一相应区域1610和第二相应区域1620分别相应于图15的第一相应区域1512和第二相应区域1522,并通过使用第一运动矢量MV1和第二运动矢量MV2移动第一相应区域1610和第二相应区域1620,以与当前块1600重叠。此外,P(i,j)表示在当前块1600中位于(i,j)的被双向预测的像素,其中,i和j均为整数,P0(i,j)表示与像素P(i,j)相应的第一参考画面的第一相应像素的像素值,P1(i,j)表示与像素P(i,j)相应的第二参考画面的第二相应像素的像素值。换句话说,第一相应像素的像素值P0(i,j)相应于由指示第一参考画面的第一运动矢量MV1确定的当前块1600的像素P(i,j)的像素值,第二相应像素的像素值P1(i,j)相应于由指示第二参考画面的第二运动矢量MV2确定的当前块1600的像素P(i,j)的像素值。
此外,GradX0(i,j)表示第一相应像素的水平方向梯度,GradY0(i,j)表示第一相应像素的垂直方向梯度,GradX1(i,j)表示第二相应像素的水平方向梯度,GradY1(i,j)表示第二相应像素的垂直方向梯度。此外,d0表示当前块1600的当前画面与第一相应区域1610的第一参考画面之间的时间距离,d1表示当前画面与第二相应区域1620的第二参考画面之间的时间距离。
如以下的等式3所示,当d0和d1为1时,等式2中的
Figure BDA00002528274000241
可近似为第一相应像素的像素值P0(i,j)和第二相应像素的像素值P1(i,j)根据时间的改变量。
[等式3]
∂ I ∂ t ≈ ( p 0 ( i , j ) - p 1 ( i , j ) ) / 2
根据以下的等式4和等式5,等式2中的梯度
Figure BDA00002528274000243
Figure BDA00002528274000244
可分别近似为第一相应像素和第二相应像素的水平方向梯度的平均值以及第一相应像素和第二相应像素的垂直方向梯度的平均值。
[等式4]
∂ I ∂ x ≈ ( GradX 0 ( i , j ) + GradX 1 ( i , j ) ) / 2
[等式5]
∂ I ∂ y ≈ ( GradY 0 ( i , j ) + GradY 1 ( i , j ) ) / 2
可通过使用等式3至等式5,将等式2布置为以下的等式6。
[等式6]
P0(i,j)-P1(i,j)+Vx(i,j)·(GradX0(i,j)+GradX1(i,j))+Vy(i,j)·(GradY0(i,j)+GradY1(i,j))=0
在等式6中,由于位移矢量Vx和位移矢量Vy可根据当前像素P(i,j)的位置而改变,即,取决于(i,j),因此,还可分别由Vx(i,j)和Vy(i,j)表示位移矢量Vx和Vy。
同时,如果假设在图16的视频序列中存在小的统一运动,则假设与进行了像素单位的双向运动补偿的当前像素P(i,j)最相似的第一参考画面的第一相应区域1610的像素不是第一相应像素P0(i,j),而是通过将第一相应像素P0(i,j)移动预定位移矢量Vd而获得的第一位移相应像素PA。由于假设在视频序列中存在小的统一运动,因此可假设第二参考画面的第二相应区域1620中与当前像素P(i,j)最相似的像素是通过将第二相应像素P1(i,j)移动-Vd而获得的第二位移相应像素PB。预定位移矢量Vd由x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy组成,因此,Vd=(Vx,Vy)。因此,根据本发明的实施例的像素单位的运动补偿器1420计算形成预定位移矢量Vd的位移矢量Vx和Vy,对通过块单位的双向运动补偿而获得的值再次执行像素单位的运动补偿。
可通过使用x轴方向上的位移矢量Vx、y轴方向上的位移矢量Vy、第一相应像素的水平方向梯度GradX0(i,j)、第一相应像素的垂直方向梯度GradY0(i,j)、第二相应像素的水平方向梯度GradX1(i,j)和第二相应像素的垂直方向梯度GradY1(i,j),分别根据等式7和等式8定义第一位移相应像素PA和第二位移相应像素PB。
[等式7]
PA=P0(i,j)+Vx(i,j)·GradX0(i,j)+Vy(i,y)·GrdY0(i,j)
[等式8]
PB=P1(i,j)-Vx(i,j)·GradX1(i,j)-Vy(i,j)·GradY1(i,j)
当△ij表示第一位移相应像素PA和第二位移相应像素PB之间的差时,可根据以下的等式9来计算△ij。
[等式9]
Δij=PA-PB=P0(i,j)-P1(i,j)+Vx(i,j)·(GradX0(i,j)+GradX1(i,j))+Vy(i,j)·(GradY0(i,j)+GradY1(i,j))
比较等式6和等式9,等式6示出当△ij为0,即,当第一位移相应像素PA和第二位移相应像素PB的值相同时的情况。
像素单位的运动补偿器1420通过使用等式7和等式8的第一位移相应像素PA和第二位移相应像素PB的值的平均值或加权和来执行像素单位的运动补偿,此时,为了计算等式7和等式8,需要确定位移矢量Vx和Vy,水平方向梯度GradX0(i,j)、垂直方向梯度GradY0(i,j)、水平方向梯度GradX1(i,j)和垂直方向梯度GradY1(i,j)。如以下所描述,通过计算第一相应像素和第二相应像素的水平方向和垂直方向上的位于子像素位置的像素值的改变量,确定每个相应像素的梯度,或可通过使用预定滤波器计算每个相应像素的梯度。
首先,将描述确定x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy的处理。
像素单位的运动补偿器1420在具有预定尺寸并包括有在被双向运动补偿的当前像素P(i,j)周围的邻近像素的窗口Ωij 1602中,确定最小化△ij的位移矢量Vx和Vy。优选地,△ij为0,但由于针对窗口Ωij 1602中的所有像素,可能不存在满足△ij=0的位移矢量Vx和Vy,因此确定最小化△ij的位移矢量Vx和Vy。
图20是用于描述根据本发明的实施例的确定水平方向位移矢量和垂直方向位移矢量的处理的参考示图。
参照图20,窗口Ωij 2000具有基于被双向预测的当前块的像素P(i,j)的(2M+1)×(2N+1)的尺寸,其中,M和N均为整数。
当P(i',j')表示在窗口(i',j')∈Ωi j中将被双向预测的当前块的像素且当i-M≤i'≤i+M和j-M≤j'≤j+M时,P0(i',j')表示第一参考画面2010的与像素P(i',j')相应的第一相应像素的像素值,P1(i',j')表示第二参考画面2020的与像素P(i',j')相应的第二相应像素的像素值,GradX0(i',j')表示第一相应像素的水平方向梯度,GradY0(i',j')表示第一相应像素的垂直方向梯度,GradX1(i',j')表示第二相应像素的水平方向梯度,GradY1(i',j')表示第二相应像素的垂直方向梯度,第一位移相应像素PA’具有根据公式P0(i',j')+Vx×GradX0(i',j')+Vy×GradY0(i',j')的值,第二位移相应像素PB’具有根据公式P1(i',j')-Vx×GradX1(i',j')-Vy×GradY1(i',j')的值。
可通过使用根据以下的等式10构成第一位移相应像素PA’和第二位移相应像素PB’之间的差△i'j'的平方和的Φ(Vx,Vy)的最大值或最小值,确定x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy,其中Vx和Vy最小化第一位移相应像素PA’和第二位移相应像素PB’之间的差△i'j'。
[等式10]
Φ ( Vx , Vy ) = Σ i ′ , j ′ ∈ Ωij Δ i ′ j ′ 2
= Σ i ′ , j ′ ∈ Ωij ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) + Vx ( i , j ) · ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) + Vy ( i , j ) · ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) ) 2
= Σ i ′ , j ′ ∈ Ωij [ ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) ) 2 + V x 2 ( i , j ) · ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) 2 + V y 2 ( i , j ) · ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) 2
+ 2 Vx ( i , j ) · ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) · ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) )
+ 2 Vy ( i , j ) · ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) · ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) )
+ 2 Vx ( i , j ) · ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) · ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) ]
Φ(Vx,Vy)是使用Vx和Vy作为参数的函数,可通过计算Vx和Vy来确定最大值或最小值,其中,通过根据以下的等式11和等式12令Φ(Vx,Vy)针对Vx和Vy进行部分微分的值等于0来计算Vx和Vy。
[等式11]
∂ Φ ( Vx , Vy ) ∂ Vx = Σ i ′ , j ′ ∈ Ωij [ 2 Vx ( i , j ) · ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) 2
+ 2 ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) · ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) )
+ 2 ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) · Vy ( i , j ) · ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) ] = 0
[等式12]
∂ Φ ( Vx , Vy ) ∂ Vy = Σ i ′ , j ′ ∈ Ωij [ 2 Vy ( i , j ) · ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) 2
+ 2 ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) · ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) )
+ 2 ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) · Vx ( i , j ) · ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) ] = 0
可从等式11和等式12获得使用Vx(i,j)和Vy(i,j)作为变量的两个线性等式,如以下的等式13所示。
[等式13]
Vx(i,j)·s1+Vy(i,j)·s2=s3;
Vx(i,j)·s4+Vy(i,j)·s5=s6
根据以下的等式14计算等式13中的s1至s6。
[等式14]
s 1 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) 2
s 2 = s 4 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) )
s 3 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) ) ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) )
s 5 = Σ i ′ , j ′ ∈ Ω i , j ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) 2
s 6 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) )
当等式13的联立方程组被解出时,可基于克莱默公式根据Vx(i,j)=det1/det和Vy(i,j)=det2/det获得Vx(i,j)和Vy(i,j)的值。这里,det1=s3×s5-s2×s6、det2=s1×s6-s3×s4且det=s1×s5-s2×s4。
返回参照图14,预测值产生器1430通过将块单位的双向运动补偿值和像素单位的运动补偿值相加来产生双向运动预测值。具体的,当P_OpticalFlow(i,j)表示当前块的位于(i,j)的像素的双向运动预测值,P0(i,j)表示第一参考画面的与当前块的位于(i,j)的像素相应的第一相应像素的像素值,GradX0(i,j)表示第一参考画面的第一相应像素的水平方向梯度,GradY0(i,j)表示第一参考画面的第一相应像素的垂直方向梯度,P1(i,j)表示第二参考画面的与当前块的位于(i,j)的像素相应的第二相应像素的像素值,GradX1(i,j)表示第二参考画面的第二相应像素的水平方向梯度,GradY1(i,j)表示第二参考画面的第二相应像素的垂直方向梯度,Vx表示水平方向位移矢量,Vy表示垂直方向位移矢量时,预测值产生器1430根据以下的等式15产生双向运动预测值。
[等式15]
P_OpticalFlow(i,j)=(P0(i,j)+P1(i,j))/2
+(Vx·GradX0(i,j)·GradX1(i,j))+Vy·(GradY0(i,j)-GradY1(i,j)))/2
在等式15中,(P0(i,j)+P1(i,j))/2相应于块单位的双向运动补偿值,(Vx×(GradX0(i,j)-GradX1(i,j))+Vy×(GradY0(i,j)-GradY1(i,j)))/2相应于根据本发明的实施例计算的像素单位的运动补偿值。
通过将预定权重α与像素单位的运动补偿值相乘,等式15可被修改为以下的等式16。
[等式16]
P_OpticalFlow(i,j)=(P0(i,j)+P1(i,j))/2
+(αVx·(GradX0(i,j)-GradX1(i,j))+αVy·(GradY0(i,j)-GradY1(i,j)))/2
这里,预定权重α可小于1,例如α=0.56±0.05。
假设当前画面和第一参考画面之间的时间距离d0以及当前画面和第二参考画面之间的时间距离d1均为1,来计算以上的等式13。如果d0和d1不为1,则可以以与d0和d1成反比来缩放预定位移矢量Vd的大小。换句话说,当(Vx0,Vy0)表示第一参考画面的指示第一相应像素中的第一位移相应像素的位移矢量,且(Vx1,Vy1)表示第二参考画面的指示第二相应像素中的第二位移相应像素的位移矢量时,d0×Vx1=-d1×Vx0且d0×Vy1=-d1×Vy0。当d=d1/d0时,可通过令函数Φ(Vx,Vy)针对位移矢量Vx和Vy进行部分微分计算最大值和最小值,来计算位移矢量Vx和Vy。如上所述,Vx(i,j)=det1/det,Vy(i,j)=det2/det,det1=s3×s5-s2×s6,det2=s1×s6-s3×s4且det=s1×s5-s2×s4。这里,根据以下的等式17计算s1至s6的值。
[等式17]
s 1 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + d · G radX 1 ( i ′ , j ′ ) ) 2
s 2 = s 4 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + d · GradX 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) )
s 3 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) ) ( GradX 0 ( i ′ , j ′ ) + d · GradX 1 ( i ′ , j ′ ) )
s 5 = Σ i ′ , j ′ ∈ Ω i , j ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) ) 2
s 6 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) )
此外,当时间距离d0和时间距离d1不为1时,等式16被修改为等式18,预测值产生器1430根据等式18产生双向运动补偿值。
[等式18]
P_OpticalFlow(i,j)=(P0(i,j)+P1(i,j))/2
+(αVx·(GradX0(i,j)-d·GradX1(i,j))+αVy·(GradY0(i,j)-d·GradY1(i,j)))/2
同时,上述等式2的光流基于像素值根据时间的改变量为0的假设,但像素值可根据时间而改变。当q表示像素值根据时间的改变量时,等式2被修改为以下的等式19。
[等式19]
∂ I ∂ t + Vx · ∂ I ∂ x + Vy · ∂ I ∂ y = q
这里,q表示第一相应区域和第二相应区域中的像素值的差的平均值,并可根据以下的等式20来计算q。
[等式20]
q = Σ i , j ∈ block P 1 ( i , j ) - P 0 ( i , j ) 2 · Hor _ block _ Size · ver _ block _ Size
Hor_block_size表示当前块的水平方向尺寸,ver_block_size表示当前块的垂直方向尺寸。当通过使用考虑改变量q的P1(i,j)-q的值而不使用等式6至等式18中的P1(i,j)的值来计算位移矢量Vx和Vy时,Vx(i,j)=det1/det,Vy(i,j)=det2/det,det1=s3×s5-s2×s6,det2=s1×s6-s3×s4且det=s1×s5-s2×s4。这里,根据以下的等式21计算s1至s6的值。
[等式21]
s 1 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + d · G radX 1 ( i ′ , j ′ ) ) 2
s 2 = s 4 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + d · GradX 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) )
s 3 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) - q ) ( GradX 0 ( i ′ , j ′ ) + d · GradX 1 ( i ′ , j ′ ) )
s 5 = Σ i ′ , j ′ ∈ Ω i , j ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) ) 2
s 6 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) - q ) ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) )
这里,预测值产生器1430还可根据以上的等式18产生双向运动补偿值。
同时,如上所述,可通过计算在第一相应像素和第二相应像素的水平方向和垂直方向上的子像素位置处的改变量,或者通过使用预定滤波器,来获得水平方向梯度和垂直方向梯度。
图17是用于描述根据本发明的实施例的计算水平方向梯度和垂直方向梯度的处理的参考示图。参照图17,可通过分别获得在第一相应像素P0(i,j)1710的水平方向上的邻近子像素处的像素值的改变量和在垂直方向上的邻近子像素位置处的像素值的改变量,计算第一参考画面的第一相应像素P0(i,j)1710的水平方向梯度GradX0(i,j)和垂直方向梯度GradY0(i,j)。换句话说,根据以下的等式22,可通过计算在水平方向上距离第一相应像素P0(i,j)1710h的子像素P0(i-h,j)1760和子像素P0(i+h,j)1770的像素值的改变量,计算水平方向梯度GradX0(i,j),其中h是小于1的分数,并可通过计算在垂直方向上距离第一相应像素P0(i,j)1710h的子像素P0(i,j-h)1780和子像素P0(i,j+h)1790的像素值的改变量,计算垂直方向梯度GradY0(i,j)。
[等式22]
GradX0(i,j)=(p0(i+h,j)-P0(i-h,j))/2h;
GradY0(i,j)=(p0(i,j+h)-P0(i,j-h))/2h
可使用一般的插值方法来计算子像素P0(i-h,j)1760、P0(i+h,j)1770、P0(i,j-h)1780和P0(i,j+h)1790的值。此外,可以以与等式22相似的方式来计算第二参考画面的第二相应像素的梯度。
根据本发明的实施例,可通过使用预定滤波器而不根据等式22计算在子像素位置处的像素值的改变量来计算每个相应像素的梯度。
图18是用于描述根据本发明的另一实施例的计算水平方向梯度和垂直方向梯度的处理的参考示图,图19是示出根据本发明的实施例的梯度计算滤波器的滤波器系数的表。
根据另一实施例,可通过将预定滤波器应用到参考画面的像素来确定梯度。参照图18,可通过将M个像素1820的预定值应用到相应像素P01800的左边并将M个像素1810应用到相应像素P01800的右边,来计算相应像素P01800的水平方向梯度。如图19所示,可根据用于确定窗口的尺寸的M的值和指示整数像素之间的插值位置的α的值,来确定在此时使用的滤波器系数。例如,当2M=4,且子像素距离相应像素P018001/4,即α等于1/4时,图19的第二行上的滤波器系数{-8,-36,54,-10}被应用到相邻像素P-2,P-1,P1和P2。这里,可根据等式GradX0=-8×P-2,-36×P-1+54×P1-10×P2+128>>8,基于滤波器系数和相邻像素的加权和来计算相应像素P01800的水平方向梯度GradX0。相似地,也根据窗口尺寸2N和插值位置通过将图19的滤波器系数应用到相邻像素,计算垂直方向梯度。这里,图19的2M可被2N代替。
图21是示出根据本发明的实施例的对视频进行编码的方法的流程图。
参照图21,在操作2110,运动估计器420执行用于确定第一运动矢量和第二运动矢量的双向运动预测,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域。
在操作2120,块单位的运动补偿器1410通过使用第一运动矢量和第二运动矢量来对当前块执行块单位的双向运动补偿。
在操作2130,像素单位的运动补偿器1420通过使用第一参考画面和第二参考画面的像素来对当前块的每个像素执行像素单位的运动补偿。如上所述,像素单位的运动补偿器1420通过使用第一参考画面的与当前块的每个像素相应的第一相应像素的水平方向梯度和垂直方向梯度、第二参考画面的与当前块的每个像素相应的第二相应像素的水平方向梯度和垂直方向梯度、以及通过使用第一参考画面和第二参考画面的像素确定的水平方向位移矢量和垂直方向位移矢量,来产生当前块的每个像素的像素单位的运动补偿值。
在操作2140,预测值产生器1430通过将块单位的双向运动补偿的结果和像素单位的运动补偿的结果相加来产生当前块的双向运动预测值。随后,通过变换、量化和熵编码来在比特流中对作为由预测值产生器1430预测的双向运动预测值与原始输入信号之间的差的残差信号进行编码。同时,根据本发明的实施例,当使用像素单位的运动补偿值时,由于像素单位的运动补偿值不同于一般的双向运动预测值,因此指示这样的使用的预定索引信息可被添加到编码的比特流中。
图22是根据本发明的实施例的包括在解码设备中的运动补偿器2200的框图。图22的运动补偿器2200相应于图5的运动补偿器560。
参照图22,根据本发明的实施例的运动补偿器2200包括块单位的运动补偿器2210、像素单位的运动补偿器2220和预测值产生器2230。
上述图5的熵解码器520从比特流提取将被解码的当前块的运动预测模式信息,当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,熵解码器520从比特流提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域。
块单位的运动补偿器2210通过使用由图5的熵解码器520提取的双向运动矢量,对将被解码的当前块执行块单位的双向运动补偿。由于块单位的运动补偿器2210执行与图14的块单位的运动补偿器1410相同的操作,因此,除了使用从比特流提取的双向运动矢量之外,这里将省略对其的详细描述。
像素单位的运动补偿器2220通过使用由从比特流提取的双向运动矢量指示的参考画面的像素,对被执行块单位的双向运动补偿的当前块的每个像素附加地执行像素单位的运动补偿。由于像素单位的运动补偿器2220执行与图14的像素单位的运动补偿器1420相同的操作,因此这里将省略对其的详细描述。
预测值产生器2230通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的最终双向运动预测值。
图23是示出根据本发明的实施例的对视频进行解码的方法的流程图。
参照图23,在操作2310,熵解码器520从比特流提取关于将被解码的当前块的运动预测模式的信息。
在操作2320,当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,熵解码器520从比特流附加地提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域。
在操作2330,块单位的运动补偿器2210通过使用第一运动矢量和第二运动矢量来对当前块执行块单位的双向运动补偿。
在操作2340,像素单位的运动补偿器2220通过使用每一参考画面和第二参考画面的像素来对当前块的每个像素执行像素单位的运动补偿。如上所述,像素单位的运动补偿器2220通过使用第一参考画面的与当前块的每个像素相应的第一相应像素的水平方向梯度和垂直方向梯度、第二参考画面的与当前块的每个像素相应的第二相应像素的水平方向梯度和垂直方向梯度、以及通过使用第一参考画面和第二参考画面的像素确定的水平方向位移矢量和垂直方向位移矢量,产生当前块的每个像素的像素单位的运动补偿值。
在操作2350,预测值产生器2230通过将块单位的双向运动补偿的结果与像素单位的运动补偿的结果相加,产生当前块的双向运动预测值。当前块的双向运动预测值与从比特流提取的并被解码的当前块的残差值相加,以恢复当前块。
本发明的实施例可被写为计算机程序,并可在通用数字计算机中执行,其中,通用数字计算机使用计算机可读记录介质执行程序。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光学记录介质(例如,CD-ROM或DVD)。
虽然已参照本发明的优选实施例具体示出和描述了本发明,但是本领域的普通技术人员将理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可进行形式和细节上的各种改变。所述优选实施例应该被视为仅是说明性的意义,而不是为了限制的目的。因此,本发明的范围不是由本发明的详细描述所限定,而是由权利要求限定,并且在所述范围内的所有差别将被视为包括在本发明中。

Claims (15)

1.一种对视频进行解码的方法,所述方法包括:
从比特流提取关于将被解码的当前块的运动预测模式的信息;
当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,从比特流提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;
通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;
通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;
通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
2.如权利要求1所述的方法,其中,执行像素单位的运动补偿的步骤包括:通过使用第一参考画面的与当前块的每个像素相应的第一相应像素的水平方向梯度和垂直方向梯度、第二参考画面的与当前块的每个像素相应的第二相应像素的水平方向梯度和垂直方向梯度、以及通过使用第一参考画面和第二参考画面的像素确定的水平方向位移矢量和垂直方向位移矢量,产生当前块的每个像素的像素单位的运动补偿值。
3.如权利要求2所述的方法,其中,以这样的方式确定水平方向位移矢量和垂直方向位移矢量:第一位移值和第二位移值之间的差在具有预定尺寸的窗口中是最小值,其中,通过使用水平方向位移矢量、垂直方向位移矢量、以及第一相应像素的水平方向梯度和垂直方向梯度来移动第一参考画面的第一相应像素来获得第一位移值,通过使用水平方向位移矢量、垂直方向位移矢量、以及第二相应像素的水平方向梯度和垂直方向梯度来移动第二参考画面的第二相应像素来获得第二位移值。
4.如权利要求3所述的方法,其中,当(i,j)表示被双向预测的当前块的像素的位置,其中,i和j均为整数,P0(i,j)表示第一参考画面的与被双向预测的当前块的像素相应的第一相应像素的像素值,P1(i,j)表示第二参考画面的与被双向预测的当前块的像素相应的第二相应像素的像素值,GradX0(i,j)表示第一相应像素的水平方向梯度,GradY0(i,j)表示第一相应像素的垂直方向梯度,GradX1(i,j)表示第二相应像素的水平方向梯度,GradY1(i,j)表示第二相应像素的垂直方向梯度,Vx表示水平方向位移矢量,Vy表示垂直方向位移矢量时,
第一位移值具有根据等式P0(i,j)+Vx×GradX0(i,j)+Vy×GradY0(i,j)的值,
第二位移值具有根据等式P1(i,j)-Vx×GradX1(i,j)-Vy×GradY1(i,j)的值,
以这样的方式来确定水平方向位移矢量和垂直方向位移矢量:第一位移值和第二位移值之间的差(△ij)是最小值。
5.如权利要求3所述方法,其中,当窗口(Ωi j)具有基于被双向预测的当前块的像素的(2M+1)×(2N+1)的尺寸,其中,M和N均为整数,(i',j')表示在窗口中被双向预测的当前块的像素的位置,P0(i',j')表示第一参考画面的与被双向预测的当前块的像素相应的第一相应像素的像素值,P1(i',j')表示第二参考画面的与被双向预测的当前块的像素相应的第二相应像素的像素值,GradX0(i',j')表示第一相应像素的水平方向梯度,GradY0(i',j')表示第一相应像素的垂直方向梯度,GradX1(i',j')表示第二相应像素的水平方向梯度,GradY1(i',j')表示第二相应像素的垂直方向梯度,Vx表示水平方向位移矢量,Vy表示垂直方向位移矢量时,
第一位移值具有根据等式P0(i',j')+Vx×GradX0(i',j')+Vy×GradY0(i',j')的值,
第二位移值具有根据等式P1(i',j')-Vx×GradX1(i',j')-Vy×GradY1(i',j')的值,
以这样的方式确定水平方向位移矢量和垂直方向位移矢量:根据等式
Figure FDA00002528273900021
的值是最小值,其中,等式
Figure FDA00002528273900022
的值是在窗口(Ωi j)中针对被双向预测的当前块的像素的第一位移值和第二位移值之间的差(△i j)的平方和。
6.如权利要求5所述的方法,其中,当根据以下的等式计算s1至s6时,
s 1 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) 2 ,
s 2 = s 4 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) ,
s 3 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) ) ( GradX 0 ( i ′ , j ′ ) + GradX 1 ( i ′ , j ′ ) ) ,
s 5 = Σ i ′ , j ′ ∈ Ω i , j ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) 2 ,
s 6 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + GradY 1 ( i ′ , j ′ ) ) ,
det1=s3×s5-s2×s6,det2=s1×s6-s3×s4,和det=s1×s5-s2×s4,
在(i,j)位置处的当前块的像素的水平方向位移矢量Vx(i,j)具有根据等式Vx(i,j)=det1/det的值,
在(i,j)位置处的当前块的像素的垂直方向位移矢量Vy(i,j)具有根据等式Vy(i,j)=det2/det的值。
7.如权利要求5所述的方法,其中,当d0表示当前块的当前画面与第一参考画面之间的时间距离,且d1表示当前画面与第二参考画面之间的时间距离时,d=d1/d0,并且当根据以下的等式计算s1至s6时,
s 1 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + d · G radX 1 ( i ′ , j ′ ) ) 2 ,
s 2 = s 4 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + d · GradX 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) ) ,
s 3 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) ) ( GradX 0 ( i ′ , j ′ ) + d · GradX 1 ( i ′ , j ′ ) ) ,
s 5 = Σ i ′ , j ′ ∈ Ω i , j ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) ) 2 ,
s 6 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) ) ,
det1=s3×s5-s2×s6,det2=s1×s6-s3×s4,和det=s1×s5-s2×s4,
在(i,j)位置处的当前块的像素的水平方向位移矢量Vx(i,j)具有根据等式Vx(i,j)=det1/det的值,
在(i,j)位置处的当前块的像素的垂直方向位移矢量Vy(i,j)具有根据等式Vy(i,j)=det2/det的值。
8.如权利要求5所述的方法,其中,当q表示第一相应区域的像素和第二相应区域的像素之间的像素值的差的平均值,d0表示当前块的当前画面与第一参考画面之间的时间距离,d1表示当前画面与第二参考画面之间的时间距离时,d=d1/d0,并且当根据以下的等式计算s1至s6时,
s 1 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + d · G radX 1 ( i ′ , j ′ ) ) 2 ,
s 2 = s 4 = Σ i ′ , j ′ ∈ Ω i , j ( GradX 0 ( i ′ , j ′ ) + d · GradX 1 ( i ′ , j ′ ) ) ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) ) ,
s 3 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) - q ) ( GradX 0 ( i ′ , j ′ ) + d · GradX 1 ( i ′ , j ′ ) ) ,
s 5 = Σ i ′ , j ′ ∈ Ω i , j ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) ) 2 ,
s 6 = - Σ i ′ , j ′ ∈ Ω i , j ( P 0 ( i ′ , j ′ ) - P 1 ( i ′ , j ′ ) - q ) ( GradY 0 ( i ′ , j ′ ) + d · GradY 1 ( i ′ , j ′ ) ) ,
det1=s3×s5-s2×s6,det2=s1×s6-s3×s4,和det=s1×s5-s2×s4,
在(i,j)位置处的当前块的像素的水平方向位移矢量Vx(i,j)具有根据等式Vx(i,j)=det1/det的值,
在(i,j)位置处的当前块的像素的垂直方向位移矢量Vy(i,j)具有根据等式Vy(i,j)=det2/det的值。
9.如权利要求2所述的方法,其中,通过计算第一相应像素和第二相应像素的水平方向上和垂直方向上的子像素位置处的像素值的改变量,确定水平方向梯度和垂直方向梯度。
10.如权利要求2所述的方法,其中,通过使用预定滤波器来计算水平方向梯度和垂直方向梯度。
11.如权利要求1所述的方法,其中,产生双向运动预测值的步骤包括:当P_OpticalFlow(i,j)表示当前块的在(i,j)位置处的像素的双向运动预测值,P0(i,j)表示第一参考画面的与在当前块(i,j)位置处的像素相应的第一相应像素的像素值,GradX0(i,j)表示第一参考画面的第一相应像素的水平方向梯度,GradY0(i,j)表示第一参考画面的第一相应像素的垂直方向梯度,P1(i,j)表示第二参考画面的与当前块的(i,j)位置处的像素相应的第二相应像素的像素值,GradX1(i,j)表示第二参考画面的第二相应像素的水平方向梯度,GradY1(i,j)表示第二参考画面的第二相应像素的垂直方向梯度,Vx表示水平方向位移矢量,Vy表示垂直方向位移矢量时,
通过将根据等式(P0(i,j)+P1(i,j))/2计算的块单位的双向运动补偿值与根据等式(Vx×(GradX0(i,j)-GradX1(i,j))+Vy×(GradY0(i,j)-GradY1(i,j)))/2计算的像素单位的运动补偿值相加,来确定双向运动预测值P_OpticalFlow(i,j)。
12.如权利要求11所述的方法,还包括:将通过将预定权重与像素单位的运动补偿值相乘而获得的值确定为像素单位的运动补偿值。
13.一种用于对视频进行解码的设备,所述设备包括:
熵解码器,从比特流提取关于将被解码的当前块的运动预测模式的信息,当提取的运动预测模式是使用像素单位的运动补偿值的双向运动预测模式时,从比特流提取关于第一运动矢量和第二运动矢量的信息,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;
块单位的运动补偿器,通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;
像素单位的运动补偿器,通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;
预测值产生器,通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
14.一种对视频进行编码的方法,所述方法包括:
执行用于确定第一运动矢量和第二运动矢量的双向运动预测,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;
通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;
通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;
通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
15.一种用于对视频进行编码的设备,所述设备包括:
运动预测器,执行用于确定第一运动矢量和第二运动矢量的双向运动预测,其中,第一运动矢量和第二运动矢量分别指示在第一参考画面和第二参考画面中与当前块最相似的第一相应区域和第二相应区域;
块单位的运动补偿器,通过使用第一运动矢量和第二运动矢量,对当前块执行块单位的双向运动补偿;
像素单位的运动补偿器,通过使用第一参考画面和第二参考画面的像素,对当前块的每个像素执行像素单位的运动补偿;
预测值产生器,通过使用块单位的双向运动补偿的结果和像素单位的运动补偿的结果,产生当前块的双向运动预测值。
CN2011800277767A 2010-04-06 2011-04-06 用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备 Pending CN102934444A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US32119610P 2010-04-06 2010-04-06
US61/321,196 2010-04-06
US201061427529P 2010-12-28 2010-12-28
US61/427,529 2010-12-28
PCT/KR2011/002426 WO2011126309A2 (ko) 2010-04-06 2011-04-06 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
CN102934444A true CN102934444A (zh) 2013-02-13

Family

ID=44763411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800277767A Pending CN102934444A (zh) 2010-04-06 2011-04-06 用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备

Country Status (5)

Country Link
US (1) US20130083851A1 (zh)
EP (1) EP2557795A4 (zh)
KR (1) KR20110112240A (zh)
CN (1) CN102934444A (zh)
WO (1) WO2011126309A2 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017133661A1 (en) * 2016-02-05 2017-08-10 Mediatek Inc. Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding
CN108028929A (zh) * 2015-09-28 2018-05-11 高通股份有限公司 用于视频译码的改进双向光流
WO2018166357A1 (en) * 2017-03-16 2018-09-20 Mediatek Inc. Method and apparatus of motion refinement based on bi-directional optical flow for video coding
CN110036638A (zh) * 2017-01-04 2019-07-19 高通股份有限公司 用于双向光学流(bio)的运动向量重建
CN110324623A (zh) * 2018-03-30 2019-10-11 华为技术有限公司 一种双向帧间预测方法及装置
WO2020035054A1 (en) * 2018-08-17 2020-02-20 Mediatek Inc. Methods and apparatuses of video processing with bi-direction predicition in video coding systems
WO2020098650A1 (en) * 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Line buffer reduction for generalized bi-prediction mode
CN111955009A (zh) * 2018-04-15 2020-11-17 艾锐势有限责任公司 不等权重平面运动矢量导出
CN112135145A (zh) * 2019-11-14 2020-12-25 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
WO2021174396A1 (zh) * 2020-03-02 2021-09-10 Oppo广东移动通信有限公司 图像预测方法、编码器、解码器以及存储介质
CN113411609A (zh) * 2019-06-21 2021-09-17 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11153599B2 (en) 2018-06-11 2021-10-19 Mediatek Inc. Method and apparatus of bi-directional optical flow for video coding
CN115278229A (zh) * 2015-11-11 2022-11-01 三星电子株式会社 对视频进行解码的设备和对视频进行编码的设备
US11509923B1 (en) 2019-03-06 2022-11-22 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
US11838539B2 (en) 2018-10-22 2023-12-05 Beijing Bytedance Network Technology Co., Ltd Utilization of refined motion vector
US11956465B2 (en) 2018-11-20 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Difference calculation based on partial position

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8797414B2 (en) 2010-12-23 2014-08-05 Samsung Electronics Co., Ltd. Digital image stabilization device
WO2013109124A1 (ko) * 2012-01-19 2013-07-25 삼성전자 주식회사 쌍방향 예측 및 블록 병합을 제한하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20140089486A (ko) * 2013-01-04 2014-07-15 삼성전자주식회사 스케일러블 비디오의 부호화 및 복호화를 위한 움직임 보상 방법 및 장치
WO2016072559A1 (ko) * 2014-11-05 2016-05-12 전자부품연구원 3d 콘텐츠 제작 방법 및 시스템
CN106254888B (zh) * 2015-06-09 2020-06-02 同济大学 一种图像编码及解码方法、图像处理设备
EP3316580A4 (en) * 2015-10-13 2018-09-26 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image
KR102345475B1 (ko) * 2016-01-05 2022-01-03 한국전자통신연구원 잔차 신호에 대한 예측 방법 및 장치
WO2017123487A1 (en) * 2016-01-15 2017-07-20 Vid Scale, Inc. System and method for enhanced motion compensation using adaptive filtering
US10798385B2 (en) 2016-04-25 2020-10-06 Lg Electronics Inc. Inter-prediction method and apparatus in image coding system
WO2017195914A1 (ko) * 2016-05-11 2017-11-16 엘지전자 주식회사 비디오 코딩 시스템에서 인터 예측 방법 및 장치
WO2018012933A1 (ko) 2016-07-14 2018-01-18 삼성전자 주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
WO2018048265A1 (ko) * 2016-09-11 2018-03-15 엘지전자 주식회사 향상된 옵티컬 플로우 움직임 백터를 이용하여 비디오 신호를 처리하는 방법 및 장치
US10986367B2 (en) * 2016-11-04 2021-04-20 Lg Electronics Inc. Inter prediction mode-based image processing method and apparatus therefor
US20190349589A1 (en) * 2016-12-28 2019-11-14 Lg Electronics Inc. Image processing method based on inter prediction mode, and apparatus therefor
US11051033B2 (en) * 2017-01-04 2021-06-29 Samsung Electronics Co., Ltd. Video decoding method and apparatus and video encoding method and apparatus
WO2018169099A1 (ko) * 2017-03-13 2018-09-20 엘지전자(주) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN117014632A (zh) * 2017-04-27 2023-11-07 松下电器(美国)知识产权公司 解码装置、编码装置以及非暂时性记录介质
US10805630B2 (en) * 2017-04-28 2020-10-13 Qualcomm Incorporated Gradient based matching for motion search and derivation
WO2018212111A1 (ja) * 2017-05-19 2018-11-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2019045427A1 (ko) * 2017-08-29 2019-03-07 에스케이텔레콤 주식회사 양방향 옵티컬 플로우를 이용한 움직임 보상 방법 및 장치
US11212553B2 (en) * 2017-11-28 2021-12-28 Electronics And Telecommunications Research Institute Bidirectional intra prediction method and apparatus
CN110351556B (zh) * 2018-04-02 2021-03-02 腾讯科技(北京)有限公司 确定编码单元的编码代价的方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1525762A (zh) * 2003-09-12 2004-09-01 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
JP2004274411A (ja) * 2003-03-10 2004-09-30 Sony Corp 画像符号化装置と画像復号装置および画像符号化方法と画像復号方法
KR20060033936A (ko) * 2004-10-18 2006-04-21 삼성전자주식회사 움직임 추정장치 및 그 추정방법
CN101278563A (zh) * 2005-08-15 2008-10-01 诺基亚公司 用于视频编码中更新操作的亚像素内插的方法和装置
CN101641961A (zh) * 2007-03-28 2010-02-03 三星电子株式会社 使用运动补偿滤波的图像编码和解码方法及设备

Family Cites Families (8)

* 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
US20060233258A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Scalable motion estimation
KR100748625B1 (ko) * 2006-09-06 2007-08-13 삼성전자주식회사 프레임 레이트 변환장치 및 프레임 레이트 변환방법
KR101418116B1 (ko) * 2007-10-24 2014-07-09 고려대학교 산학협력단 프레임 보간 장치 및 그를 포함한 프레임 속도 상향 변환장치
US8218638B2 (en) * 2007-10-31 2012-07-10 Broadcom Corporation Method and system for optical flow based motion vector estimation for picture rate up-conversion
US8396129B2 (en) * 2007-12-28 2013-03-12 Ati Technologies Ulc Apparatus and method for single-pass, gradient-based motion compensated image rate conversion
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
TWI442777B (zh) * 2009-06-23 2014-06-21 Acer Inc 空間性錯誤隱藏方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004274411A (ja) * 2003-03-10 2004-09-30 Sony Corp 画像符号化装置と画像復号装置および画像符号化方法と画像復号方法
CN1525762A (zh) * 2003-09-12 2004-09-01 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
KR20060033936A (ko) * 2004-10-18 2006-04-21 삼성전자주식회사 움직임 추정장치 및 그 추정방법
CN101278563A (zh) * 2005-08-15 2008-10-01 诺基亚公司 用于视频编码中更新操作的亚像素内插的方法和装置
CN101641961A (zh) * 2007-03-28 2010-02-03 三星电子株式会社 使用运动补偿滤波的图像编码和解码方法及设备

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028929A (zh) * 2015-09-28 2018-05-11 高通股份有限公司 用于视频译码的改进双向光流
CN108028929B (zh) * 2015-09-28 2021-04-20 高通股份有限公司 用于视频译码的改进双向光流
CN115278228A (zh) * 2015-11-11 2022-11-01 三星电子株式会社 对视频进行解码的方法和对视频进行编码的方法
CN115278229A (zh) * 2015-11-11 2022-11-01 三星电子株式会社 对视频进行解码的设备和对视频进行编码的设备
US11765384B2 (en) 2016-02-05 2023-09-19 Hfi Innovation Inc. Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding
WO2017133661A1 (en) * 2016-02-05 2017-08-10 Mediatek Inc. Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding
CN108781294B (zh) * 2016-02-05 2021-08-31 联发科技股份有限公司 视频数据的运动补偿方法及装置
US11109061B2 (en) 2016-02-05 2021-08-31 Mediatek Inc. Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding
CN108781294A (zh) * 2016-02-05 2018-11-09 联发科技股份有限公司 用于视频编解码的基于双向预测光流技术的运动补偿方法及装置
CN110036638A (zh) * 2017-01-04 2019-07-19 高通股份有限公司 用于双向光学流(bio)的运动向量重建
TWI663872B (zh) * 2017-03-16 2019-06-21 聯發科技股份有限公司 用於視訊編解碼的基於雙向光流的運動細化的方法及裝置
WO2018166357A1 (en) * 2017-03-16 2018-09-20 Mediatek Inc. Method and apparatus of motion refinement based on bi-directional optical flow for video coding
CN110476424A (zh) * 2017-03-16 2019-11-19 联发科技股份有限公司 用于视频编解码的基于双向光流的运动细化的方法及装置
US11109062B2 (en) 2017-03-16 2021-08-31 Mediatek Inc. Method and apparatus of motion refinement based on bi-directional optical flow for video coding
CN110476424B (zh) * 2017-03-16 2022-03-04 联发科技股份有限公司 一种视频编解码方法及装置
CN113923455B (zh) * 2018-03-30 2023-07-18 华为技术有限公司 一种双向帧间预测方法及装置
CN113923455A (zh) * 2018-03-30 2022-01-11 华为技术有限公司 一种双向帧间预测方法及装置
CN110324623A (zh) * 2018-03-30 2019-10-11 华为技术有限公司 一种双向帧间预测方法及装置
CN110324623B (zh) * 2018-03-30 2021-09-07 华为技术有限公司 一种双向帧间预测方法及装置
CN111955009A (zh) * 2018-04-15 2020-11-17 艾锐势有限责任公司 不等权重平面运动矢量导出
US11153599B2 (en) 2018-06-11 2021-10-19 Mediatek Inc. Method and apparatus of bi-directional optical flow for video coding
WO2020035054A1 (en) * 2018-08-17 2020-02-20 Mediatek Inc. Methods and apparatuses of video processing with bi-direction predicition in video coding systems
US11470348B2 (en) 2018-08-17 2022-10-11 Hfi Innovation Inc. Methods and apparatuses of video processing with bi-direction prediction in video coding systems
TWI730380B (zh) * 2018-08-17 2021-06-11 聯發科技股份有限公司 在視訊編解碼系統中利用雙向預測處理視訊的方法、設備和可讀介質
US11889108B2 (en) 2018-10-22 2024-01-30 Beijing Bytedance Network Technology Co., Ltd Gradient computation in bi-directional optical flow
US11838539B2 (en) 2018-10-22 2023-12-05 Beijing Bytedance Network Technology Co., Ltd Utilization of refined motion vector
US11843725B2 (en) 2018-11-12 2023-12-12 Beijing Bytedance Network Technology Co., Ltd Using combined inter intra prediction in video processing
WO2020098650A1 (en) * 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Line buffer reduction for generalized bi-prediction mode
US11284088B2 (en) 2018-11-12 2022-03-22 Beijing Bytedance Network Technology Co., Ltd. Using combined inter intra prediction in video processing
US11956449B2 (en) 2018-11-12 2024-04-09 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
US11516480B2 (en) 2018-11-12 2022-11-29 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
US11277624B2 (en) 2018-11-12 2022-03-15 Beijing Bytedance Network Technology Co., Ltd. Bandwidth control methods for inter prediction
US11956465B2 (en) 2018-11-20 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Difference calculation based on partial position
US11509923B1 (en) 2019-03-06 2022-11-22 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
US11930165B2 (en) 2019-03-06 2024-03-12 Beijing Bytedance Network Technology Co., Ltd Size dependent inter coding
CN113411593A (zh) * 2019-06-21 2021-09-17 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113411609A (zh) * 2019-06-21 2021-09-17 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113411593B (zh) * 2019-06-21 2022-05-27 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN113411609B (zh) * 2019-06-21 2022-05-31 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN112135145B (zh) * 2019-11-14 2022-01-25 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN112135145A (zh) * 2019-11-14 2020-12-25 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
WO2021174396A1 (zh) * 2020-03-02 2021-09-10 Oppo广东移动通信有限公司 图像预测方法、编码器、解码器以及存储介质

Also Published As

Publication number Publication date
EP2557795A2 (en) 2013-02-13
US20130083851A1 (en) 2013-04-04
WO2011126309A2 (ko) 2011-10-13
KR20110112240A (ko) 2011-10-12
EP2557795A4 (en) 2015-07-08
WO2011126309A3 (ko) 2012-01-26

Similar Documents

Publication Publication Date Title
CN102934444A (zh) 用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
CN102934443B (zh) 用于对视频进行编码和解码的方法和设备
CN103765901B (zh) 用于使用帧内预测进行图像编码和解码的方法和设备
CN103152577B (zh) 对视频编码的方法和设备以及对视频解码的方法和设备
CN102474599B (zh) 用于对图像进行编码的方法和设备,用于对编码图像进行解码的方法和设备
CN102474609B (zh) 对图像编码的方法和设备及对图像解码的方法和设备
CN106851314B (zh) 对图像进行解码的方法
CN103392341A (zh) 用于对图像预测单元的帧内预测模式进行编码的方法和装置,以及用于对图像预测单元的帧内预测模式进行解码的方法和装置
CN103782596A (zh) 使用图像的亮度分量的对图像的色度分量的预测方法和设备
CN103098467A (zh) 用于对运动矢量进行编码和解码的方法和设备
CN103733625A (zh) 用于对运动信息进行编码的方法和设备以及用于对运动信息进行解码的方法和设备
CN102939752A (zh) 通过基于树结构的数据单元执行环路滤波来对视频进行编码的方法和设备,以及通过基于树结构的数据单元执行环路滤波来对视频进行解码的方法和设备
CN104980745A (zh) 通过使用去块滤波对视频进行解码的方法和设备
CN103765884A (zh) 使用非对称插值滤波器的图像插值的方法及其设备
CN103119935A (zh) 图像插值方法和设备
CN103188496A (zh) 基于运动矢量分布预测的快速运动估计视频编码方法
CN105103553A (zh) 用于可缩放视频译码的空间运动向量缩放

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130213