CN105025299B - 对图像进行编码/解码的方法和设备 - Google Patents
对图像进行编码/解码的方法和设备 Download PDFInfo
- Publication number
- CN105025299B CN105025299B CN201510445868.7A CN201510445868A CN105025299B CN 105025299 B CN105025299 B CN 105025299B CN 201510445868 A CN201510445868 A CN 201510445868A CN 105025299 B CN105025299 B CN 105025299B
- Authority
- CN
- China
- Prior art keywords
- motion vector
- coding unit
- current block
- information
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种对图像进行编码/解码的方法和设备:基于在当前块被编码/解码之前编码/解码的至少一个块的运动矢量确定当前块的运动矢量,根据确定的运动矢量,基于第一方向预测、第二方向预测和双向预测之一对当前块进行预测编码/解码。
Description
本申请是向中国知识产权局提交的申请日为2011年1月19日、申请号为201180014824.9、发明名称为“使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备”的申请的分案申请。
技术领域
本发明涉及一种用于对图像进行编码/解码的方法和设备,更具体地说,涉及一种用于基于帧间预测对图像进行编码/解码的方法和设备。
背景技术
根据视频压缩标准(诸如MPEG-1、MPEG-2和MPEG-4H.264/MPEG-4AVC(先进视频编码)),通过将图像划分为预定大小的块来对图像进行编码。接下来,通过使用帧间预测或帧内预测来对每个预定大小的块进行预测编码。
对于帧间预测,通过搜索与当前块相同或相似的块的至少一个参考帧来执行运动估计,通过执行运动估计而产生的运动矢量与像素值一起被编码,编码的结果被随后插入比特流。
发明内容
技术方案
本发明的一个或多个方面提供了一种图像编码方法和设备以及图像解码方法和设备,以及记录有用于执行所述图像编码方法和/或所述图像解码方法的程序的计算机可读记录介质,其中,在所述图像编码方法和设备以及图像解码方法和设备中,基于至少一个先前块的运动矢量来确定当前块的运动矢量,并基于确定的运动矢量来对图像进行编码/解码。
有益效果
根据本发明,使用至少一个先前块的运动矢量作为当前块的运动矢量来执行编码,从而增加编码模式的命中率以及预测的精度。因此,可使用更高的压缩率来对图像进行编码和解码。
附图说明
图1是根据本发明的实施例的图像编码设备的框图。
图2是根据本发明的实施例的图像解码设备的框图。
图3示出根据本发明的实施例的分层编码单元。
图4是根据本发明的实施例的基于编码单元的图像编码器的框图。
图5是根据本发明的实施例的基于编码单元的图像解码器的框图。
图6示出根据本发明的实施例的最大编码单元、子编码单元和预测单元。
图7示出根据本发明的实施例的编码单元和变换单元。
图8a和图8b示出根据本发明的实施例的编码单元、预测单元和变换单元的划分形状。
图9是根据本发明的另一实施例的图像编码设备的框图。
图10是示出根据本发明的实施例的对包括在双向预测图像中的块进行预测的方法的示图。
图11a和图11b是示出根据本发明的实施例的基于先前编码块的运动矢量来确定当前块的运动矢量的方法的示图。
图12a和图12b是示出根据本发明的实施例的基于先前编码块的运动矢量来确定当前块的运动矢量的方法的示图。
图13a和图13b是示出根据本发明的实施例的基于先前编码块的运动矢量来确定当前块的运动矢量的方法的示图。
图14是根据本发明的另一实施例的图像解码设备的框图。
图15是示出根据本发明的实施例的图像编码方法的流程图。
图16是示出根据本发明的实施例的图像解码方法的流程图。
最佳模式
根据本发明的一方面,提供了一种基于在当前块被解码之前解码的至少一个块的运动矢量来确定当前块的运动矢量并基于确定的运动矢量来对当前块进行解码的图像解码方法,所述方法包括:对关于在第一方向、第二方向和双向中将被用于对当前块进行解码的预测方向的信息以及关于当前块的像素值的信息进行解码;基于对关于预测方向的信息进行解码的结果,确定当前块将被预测的预测方向,确定用于按照确定的预测方向对当前块进行预测的至少一个运动矢量;基于所述至少一个运动矢量和对关于像素值的信息进行解码的结果,恢复当前块。第一方向是从当前图像到先前图像的方向,第二方向是从当前图像到后续图像的方向。
根据本发明的另一方面,提供了一种基于在当前块被编码之前编码的至少一个块的运动矢量来确定当前块的运动矢量并基于确定的运动矢量来对当前块进行编码的图像编码方法,所述方法包括:基于所述至少一个块的运动矢量确定当前块的第一方向运动矢量和第二方向运动矢量;基于第一方向运动矢量和第二方向运动矢量,从第一方向预测、第二方向预测和双向预测中确定将被用于对当前块进行编码的预测方法;对关于在确定的预测方法中使用的预测方向的信息以及关于基于所述预测方法产生的当前块的像素值的信息进行编码。第一方向是从当前图像到先前图像的方向,第二方向是从当前图像到后续图像的方向。
根据本发明的另一方面,提供了一种基于在当前块被解码之前解码的至少一个块的运动矢量来确定当前块的运动矢量并基于确定的运动矢量来对当前块进行解码的图像解码设备,所述设备包括:解码器,对关于在第一方向、第二方向和双向中将被用于对当前块进行解码的预测方向的信息以及关于当前块的像素值的信息进行解码;运动矢量确定器,基于对关于预测方向的信息进行解码的结果,确定当前块将被预测的预测方向,确定用于按照确定的预测方向对当前块进行预测的至少一个运动矢量;恢复单元,基于所述至少一个运动矢量和对关于像素值的信息进行解码的结果,恢复当前块。第一方向是从当前图像到先前图像的方向,第二方向是从当前图像到后续图像的方向。
根据本发明的另一方面,提供了一种基于在当前块被编码之前编码的至少一个块的运动矢量来确定当前块的运动矢量并基于确定的运动矢量来对当前块进行编码的图像编码设备,所述设备包括:运动矢量确定器,基于所述至少一个块的运动矢量确定当前块的第一方向运动矢量和第二方向运动矢量;编码器,基于第一方向运动矢量和第二方向运动矢量,从第一方向预测、第二方向预测和双向预测中确定将被用于对当前块进行编码的预测方法,对关于在确定的预测方法中使用的预测方向的信息以及关于基于所述预测方法产生的当前块的像素值的信息进行编码。第一方向是从当前图像到先前图像的方向,第二方向是从当前图像到后续图像的方向。
根据本发明的另一方面,提供了一种记录有用于执行所述图像编码方法和/或所述图像解码方法的程序的计算机可读记录介质。
具体实施方式
以下,将参照附图更详细地描述本发明的示例性实施例。
图1是根据本发明的实施例的图像编码设备100的框图。
参照图1,图像编码设备100包括最大编码单元划分器110、编码深度确定器120、图像数据编码器130和编码信息编码器140。
最大编码单元划分器110可基于作为具有最大大小的编码单元的最大编码单元来对当前帧或像条进行划分。也就是说,最大编码单元划分器110可将当前帧或像条划分为至少一个最大编码单元。
根据本发明的实施例,可使用最大编码单元和深度来表示编码单元。如上所述,最大编码单元指示当前帧的多个编码单元中具有最大大小的编码单元,深度指示编码单元分层减小的程度。随着深度增加,编码单元从最大编码单元减小到最小编码单元,其中,最大编码单元的深度被定义为最小深度,最小编码单元的深度被定义为最大深度。由于随着深度增加,编码单元的大小从最大编码单元开始减小,第k深度的子编码单元可包括多个第k+n深度的子编码单元(k和n是等于或大小1的整数)。
根据将被编码的帧的大小的增加,按照较大的编码单元对图像进行编码可导致较高的图像压缩率。然而,如果较大的编码单元被固定,则可能无法通过反映连续变化的图像特征来对图像进行有效地编码。
例如,当平滑区域(诸如海洋或天空)被编码时,编码单元越大,压缩率可提高得越大。然而,当复杂的区域(诸如人或建筑物)被编码时,编码单元越小,压缩率可提高得越大。
因此,根据本发明的实施例,针对每个帧或像条设置不同最大图像编码单元和不同最大深度。由于最大深度表示编码单元可减小的最大次数,因此,包括在最大图像编码单元中的每个最小编码单元的大小可根据最大深度被不同地设置。
编码深度确定器120确定最大深度。可基于率失真(RD)代价的计算来确定最大深度。可针对每个帧或像条或者针对每个最大编码单元不同地确定最大深度。确定的最大深度被提供给编码信息编码器140,根据最大编码单元的图像数据被提供给图像数据编码器130。
最大深度表示可包括在最大编码单元中的具有最小大小的编码单元(即,最小编码单元)。换句话说,最大编码单元可根据不同深度被划分为具有不同大小的子编码单元(具体参见图8a和图8b)。包括在最大编码单元中的具有不同大小的子编码单元可基于具有不同大小的处理单元被预测或变换。变换可以是离散余弦变换(DCT)或Karhunen Loever变换(KLT),在所述变换中,空间域的像素值被变换为频域系数。
换句话说,图像编码设备100可基于具有各种大小和各种形状的处理单元来执行用于图像编码的多个处理操作。为了对图像数据进行编码,多个处理操作(诸如预测、变换和熵编码)被执行,其中,针对每个操作可使用具有相同大小或不同大小的处理单元。
例如,图像编码设备100可选择与编码单元不同的处理单元来对所述编码单元进行预测。
当编码单元的大小是2N×2N(其中,N是正整数)时,用于预测的处理单元可以是2N×2N、2N×N、N×2N和N×N。换句话说,可基于具有将编码单元的高度和宽度中的至少一个二等分的形状的处理单元来执行运动预测。以下,作为预测的基础的处理单元被定义为“预测单元”。
预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个,可仅对具有特定大小或特定形状的预测单元执行特定预测模式。例如,可仅对具有正方形形状的大小为2N×2N和N×N的预测单元执行帧内模式。此外,可仅对大小为2N×2N的预测单元执行跳过模式。如果多个预测单元存在于编码单元中,则在对每个预测单元执行预测之后,可选择具有最小编码误差的预测模式。
可选择地,图像编码设备100可基于具有与编码单元不同大小的处理单元对图像数据执行变换。对于编码单元中的变换,可基于具有与编码单元相同的大小或小于编码单元的大小的处理单元来执行变换。以下,作为变换的基础的处理单元被定义为“变换单元”。
编码深度确定器120可通过使用基于拉格朗日乘子的RD优化来确定包括在最大编码单元中的子编码单元。换句话说,编码深度确定器120可确定从最大编码单元划分的多个子编码单元具有何种形状,其中,所述多个子编码单元根据所述多个子编码单元的深度而具有不同大小。图像数据编码器130通过基于由编码深度确定器120确定的划分形状对最大编码单元进行编码来输出比特流。
编码信息编码器140对关于由编码深度确定器120确定的最大编码单元的编码模式的信息进行编码。换句话说,编码信息编码器140通过对以下信息进行编码来输出比特流:关于最大编码单元的划分形状的信息、关于最大深度的信息和关于每个深度的子编码单元的编码模式的信息。关于子编码单元的编码模式的信息可包括关于子编码单元的预测单元的信息、关于每个预测单元的预测模式的信息和关于子编码单元的变换单元的信息。
关于最大编码单元的划分形状的信息可以是指示每个编码单元是否被划分的信息,例如,标志信息。例如,当最大编码单元被划分并被编码时,指示最大编码单元是否被划分的信息被编码。另外,当从最大编码单元划分的子编码单元被划分并被编码时,指示子编码单元是否被划分的信息被编码。
由于在每个最大编码单元中存在具有不同大小的子编码单元并且针对每个子编码单元确定关于编码模式的信息,故可针对一个最大编码单元确定关于至少一个编码模式的信息。
图像编码设备100可根据深度的增加通过将最大编码单元的高度和宽度二等分来产生子编码单元。也就是说,当第k深度的编码单元的大小是2N×2N时,第(k+1)深度的编码单元的大小是N×N。
因此,图像编码设备100可考虑图像特征,基于最大编码单元的大小和最大深度,针对每个最大编码单元确定最优划分形状。通过考虑图像特征可变地调整最大编码单元的大小并通过将最大编码单元划分为不同深度的子编码单元而对图像进行编码,具有不同分辨率的图像可被更有效地编码。
图2是根据实施例的图像解码设备200的框图。
参照图2,图像解码设备200包括图像数据获取单元210、编码信息提取器220和图像数据解码器230。
图像数据获取单元210通过对由图像解码设备200接收的比特流进行解析来获取根据最大编码单元的图像数据,并将图像数据输出到图像数据解码器230。图像数据获取单元210可从当前帧或像条的头提取关于当前帧或像条的最大编码单元的信息。换句话说,图像数据获取单元210划分最大编码单元,从而图像数据解码器230可根据最大编码单元对图像数据进行解码。
编码信息提取器220通过对由图像解码设备200接收的比特流进行解析来从当前帧的头提取关于最大编码单元、最大深度、最大编码单元的划分形状和子编码单元的编码模式的信息。关于最大编码单元的划分形状的信息和关于编码模式的信息被提供给图像数据解码器230。
关于最大编码单元的划分形状的信息可包括关于根据深度具有不同大小并包括在最大编码单元中的子编码单元的信息。如上所述,关于划分形状的信息可以是指示每个编码单元是否被划分的信息,例如,标志信息。关于编码模式的信息可包括关于根据子编码单元的预测单元的信息、关于预测模式的信息以及关于变换单元的信息。
图像数据解码器230通过基于由编码信息提取器220提取的信息对每个最大编码单元的图像数据进行解码来恢复当前帧。
图像数据解码器230可基于关于最大编码单元的划分形状的信息对包括在最大编码单元中的子编码单元进行解码。解码处理可包括预测处理和逆变换处理,预测处理包括帧内预测和运动补偿。
图像数据解码器230可基于关于每个子编码单元的预测单元的信息和关于预测模式的信息执行帧内预测或帧间预测,从而对每个子编码单元进行预测。图像数据解码器230还可基于关于子编码单元的变换单元的信息对每个子编码单元执行逆变换。
图3示出根据本发明的实施例的分层编码单元。
参照图3,分层编码单元可包括宽度×高度是64×64、32×32、16×16、8×8和4×4的编码单元。除了这些具有完全正方形形状的编码单元之外,还可存在宽度×高度是64×32、32×64、32×16、16×32、16×8、8×16、8×4和4×8的编码单元。
参照图3,对于分辨率是1920×1080的图像数据310,最大编码单元的大小被设置为64×64,最大深度被设置为2。
对于分辨率是1920×1080的图像数据320,最大编码单元的大小被设置为64×64,最大深度被设置为3。对于分辨率是352×288的图像数据330,最大编码单元的大小被设置为16×16,最大深度被设置为2。
当分辨率高或者数据量大时,编码单元的最大大小可以相对大以提高压缩率并精确地反映图像特征。因此,对于具有比图像数据330更高的分辨率的图像数据310和320,可选择64×64作为最大编码单元的大小。
最大深度指示分层编码单元中的层的总数量。由于图像数据310的最大深度是2,故图像数据310的编码单元315可根据深度的增加而包括长轴大小是64的最大编码单元和长轴大小是32和16的子编码单元。
另一方面,由于图像数据330的最大深度是1,故图像数据330的编码单元335可根据深度的增加而包括长轴大小是16的最大编码单元以及长轴大小是8和4的编码单元。
然而,由于图像数据320的最大深度是3,故图像数据320的编码单元325可根据深度的增加而包括长轴大小是64的最大编码单元以及长轴大小是32、16、8和4的子编码单元。由于基于随着深度增加的更小的子编码单元对图像进行编码,实施例可适用于对包括更多精细场景的图像进行编码。
图4是根据本发明的实施例的基于编码单元的图像编码器400的框图。
帧内预测单元410对当前帧405中的帧内模式的预测单元执行帧内预测,运动估计器420和运动补偿器425使用当前帧405和参考帧495对帧间模式的预测单元执行帧间预测和运动补偿。
基于从帧内预测单元410、运动估计器420和运动补偿器425输出的预测单元产生残差值,产生的残差值通过变换器430和量化器440而被输出为量化的变换系数。
量化的变换系数通过反量化器460和逆变换器470而被恢复为残差值,并且恢复的残差值通过去块单元480和环路滤波单元490被后处理,并被输出为参考帧495。量化的变换系数可通过熵编码器450而被输出为比特流455。
为了基于根据本发明的实施例的图像编码方法执行编码,图像编码器400的组件(即,帧内预测单元410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元480和环路滤波单元490)基于最大编码单元、根据深度的子编码单元、预测单元和变换单元来执行图像编码处理。
图5是根据本发明的实施例的基于编码单元的图像解码器500的框图。
参照图5,比特流505经过解析器510,从而将被解码的编码图像数据以及解码所必需的编码信息被解析。编码图像数据通过熵解码器520和反量化器530而被输出为反量化的数据,并通过逆变换器540而被恢复为残差值。通过根据编码单元将残差值与帧内预测单元550的帧内预测结果或运动补偿器560的运动补偿结果相加来恢复残差值。恢复的编码单元通过去块单元570和环路滤波单元580而被用于下一编码单元或下一帧的预测。
为了基于根据本发明的实施例的图像解码方法执行解码,图像解码器500的组件(即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测单元550、运动补偿器560、去块单元570和环路滤波单元580)基于最大编码单元、根据深度的子编码单元、预测单元和变换单元来执行图像解码处理。
特别地,帧内预测单元550和运动补偿器560通过考虑最大编码单元和深度来按照子编码单元确定预测单元和预测模式,逆变换器540通过考虑变换单元的大小来执行逆变换。
图6示出根据本发明的实施例的最大编码单元、子编码单元和预测单元。
图1中示出的图像编码设备100和图2中示出的图像解码设备200通过考虑图像特征使用分层编码单元以执行编码和解码。最大编码单元和最大深度可根据图像特征而被自适应地设置,或根据用户的需要而被不同地设置。
在图6中,分层编码单元结构600具有高度和宽度是64并且最大深度是4的最大编码单元610。深度沿着分层编码单元结构600的垂直轴增加,并且随着深度增加,子编码单元620到650的高度和宽度减小。最大编码单元610和子编码单元620到650的预测单元沿着分层编码单元结构600的水平轴被显示。
最大编码单元610的深度为0,编码单元大小(即,高度和宽度)是64×64。深度沿着垂直轴增加,并且存在大小是32×32且深度是1的子编码单元620,大小是16×16且深度是2的子编码单元630,大小是8×8且深度是3的子编码单元640,以及大小是4×4且深度是4的子编码单元650。大小是4×4且深度是4的子编码单元650是最小编码单元。
参照图6,预测单元的示例根据每个深度沿着水平轴而被示出。也就是说,深度是0的最大编码单元610的预测单元可以是大小等于编码单元610(即,64×64)的预测单元,或者具有小于大小是64×64的编码单元610的大小的大小是64×32的预测单元612、大小是32×64的预测单元614或大小是32×32的预测单元616。
深度是1且大小是32×32的编码单元620的预测单元可以是大小等于编码单元620(即,32×32)的预测单元,或者具有小于大小是32×32的编码单元620的大小的大小是32×16的预测单元622、大小是16×32的预测单元624或大小是16×16的预测单元626。
深度是2且大小是16×16的编码单元630的预测单元可以是大小等于编码单元630(即,16×16)的预测单元,或者具有小于大小是16×16的编码单元630的大小的大小是16×8的预测单元632、大小是8×16的预测单元634或大小是8×8的预测单元636。
深度是3且大小是8×8的编码单元640的预测单元可以是大小等于编码单元640(即,8×8)的预测单元,或者具有小于大小是8×8的编码单元640的大小的大小是8×4的预测单元642、大小是4×8的预测单元644或大小是4×4的预测单元646。
最后,深度是4且大小是4×4的编码单元650是最大深度的编码单元。编码单元650的预测单元可以是大小等于预测单元650的大小的预测单元。然而,即使编码单元具有最大深度,编码单元的大小也不需要总是等于该编码单元的预测单元的大小。与编码单元610到640类似,也可通过将编码单元650划分为作为预测单元的子编码单元来对编码单元650进行预测。
图7示出根据本发明的实施例的编码单元和变换单元。
图1中示出的图像编码设备100和图2中示出的图像解码设备200对最大编码单元本身或者通过分别将最大编码单元划分为大小等于或小于最大编码单元的大小的至少一个子编码单元来执行编码和解码。在编码和解码处理中,可以以这样的方式来选择变换单元的大小:不管编码单元和预测单元而最大化压缩率。例如,参照图7,当当前编码单元710的大小是64×64时,可使用大小是32×32的变换单元720执行变换。
图8a和图8b示出根据本发明的实施例的编码单元、预测单元和变换单元的划分形状。
在图8a中,左示图示出由图1中示出的图像编码设备100选择的用于对最大编码单元810进行编码的划分形状。图像编码设备100将最大编码单元810划分为各种形状,执行编码,并通过基于R-D代价将各种划分形状的编码结果彼此进行比较来选择最优划分形状。当照其原样对最大编码单元810进行编码最优时,如图8a和图8b所示,可对最大编码单元810进行编码而不划分最大编码单元810。
在图8a的左示图中,通过将深度是0的最大编码单元810划分为深度等于或大于1的子编码单元来对最大编码单元810进行编码。也就是说,最大编码单元810被划分为4个深度是1的子编码单元,所有或一些深度是1的子编码单元被划分为深度是2的子编码单元。
深度是1的子编码单元中位于右上侧的子编码单元和位于左下侧的子编码单元被划分为深度等于或大于2的子编码单元。一些深度等于或大于2的子编码单元可被划分为深度等于或大于3的子编码单元。
在图8a中,右示图示出最大编码单元810的预测单元的划分形状。
在图8a中的右示图中,用于最大编码单元810的预测单元860可从最大编码单元810被不同地划分。换句话说,用于每个子编码单元的预测单元可小于相应的子编码单元。
例如,用于深度是1的子编码单元中位于右下侧的子编码单元854的预测单元可小于子编码单元854。此外,用于深度是2的子编码单元814、816、818、828、850和852中的一些子编码单元814、816、850和852的预测单元可分别小于子编码单元814、816、850和852。
此外,用于深度是3的子编码单元822、832和848的预测单元可分别小于子编码单元822、832和848。预测单元可具有各个子编码单元按照高度或宽度的方向被二等分的形状或具有各个子编码单元按照高度或宽度的方向被四等分的形状。
图8b示出根据本发明的实施例的预测单元和变换单元。
在图8b中,左示图示出用于图8a中示出的最大编码单元810的预测单元的划分形状,右示图示出最大编码单元810的变换单元的划分形状。
在图8b的右示图中,变换单元870的划分形状可与预测单元860不同地被设置。
例如,即使以深度是1的编码单元854的高度被二等分的形状来选择用于编码单元854的预测单元,也可以以与编码单元854相同的大小来选择变换单元。相似地,即使以深度是2的编码单元814和850中的每一个的高度被二等分的形状来选择用于编码单元814和850的预测单元,也可以以与编码单元814和850中的每一个的原始大小相同的大小来选择变换单元。
可以以小于预测单元的大小来选择变换单元。例如,当以深度是2的编码单元852的宽度被二等分的形状来选择用于编码单元852的预测单元时,可以以编码单元852按照高度和宽度的方向被四等分的形状来选择变换单元。
图9是根据本发明的另一实施例的图像编码设备900的框图。参照图9,图像编码设备900可被包括在图1的图像编码设备100或图4的图像编码器400中以基于帧间预测对当前块进行编码。
参照图9,图像编码设备900包括运动矢量确定器910和编码器920。
在一些编码模式中,基于已被先前编码的至少一个块的运动矢量来确定当前块的运动矢量,基于确定的运动矢量来对当前块进行编码。这些编码模式的示例是直接预测模式和跳过模式。在直接预测模式和跳过模式中,基于已被先前编码的信息来确定当前块的运动矢量,当前块的运动矢量被另外编码为关于当前块的信息。
然而,在直接预测模式中,通过从当前块减去使用运动矢量产生的预测块而产生的残差块被编码为关于像素值的信息,然而,在跳过模式中,预测块被视为与当前块相同,只有指示在跳过模式下执行编码的标志信息被编码为关于像素值的信息。
虽然直接预测模式和跳过模式都是基于帧间预测的编码模式,但是由于运动矢量不被另外编码,因此压缩率高。然而,在直接预测模式和跳过模式中,由于通过仅按照特定方向对当前块进行预测来对当前块进行编码,因此这些模式中的每个模式的命中率和预测的精度可能会低。因此,当根据直接预测模式或跳过模式对包括在双向预测图像中的当前块进行编码时,图像编码设备900通过按照各种方向执行预测来对当前块进行编码,这在以下将详细描述。
图10是示出根据本发明的实施例的对包括在双向预测图像中的块进行预测的方法的示图。
参照图10,通过参照在当前图像1000之前的先前图像和在当前图像1000之后的后续图像1030中的至少一个,对包括在作为双向预测图像的当前图像1000中的当前块1010进行预测编码。从先前图像1020和后续图像1030中的至少一个检测与当前块1010相应的至少一个块(例如,先前块1022和后续块1032),随后基于检测的块1022或1032来对当前块1010进行预测编码。
换句话说,如果从当前图像1000到先前图像1020的方向是第一方向(L0方向),则可按照第一方向基于从先前图像1020检测的先前块1022来对当前块1010进行预测(以下,称为“第一方向预测”)。同样,如果从当前图像1000到后续图像1030的方向是第二方向(L1方向),则可按照第二方向基于从后续图像1030检测的后续块1032来对当前块1010进行预测(以下,称为“第二方向预测”)。此外,可对当前块1010执行第一方向预测和第二方向预测两者,即,当前块1010可被双向预测。
然而,仅当当前块1010被双向预测时,可执行根据现有技术的直接预测模式。换句话说,当基于第一方向预测或第二方向预测对当前块1010进行预测编码时,当前块1010不能在所述直接预测模式下被编码。同样,仅当当前块1010被双向预测时,可执行根据现有技术的跳过模式。在根据现有技术的跳过模式下,基于与当前块1010邻近的先前块的运动矢量确定的当前块1010的运动矢量是第一方向上的运动矢量mv_L0,根据第一方向预测产生的预测块被视为与当前块1010相同,指示根据跳过模式执行编码的标志信息被编码。
也就是说,根据现有技术,虽然可对包括在双向预测图像中的块执行第一方向预测、第二方向预测和双向预测,但是仅当按特定方向执行预测时,才可使用直接预测模式和跳过模式。因此,导致压缩率提高的直接预测模式和跳过模式的使用受到限制。
为了解决这个问题,根据当前实施例的图像编码设备900根据这样的图像编码方法执行编码:基于先前编码信息确定当前块1010的运动矢量,可按照各种方法执行预测而不必对运动矢量进行编码。
运动矢量确定器910确定当前块1010的第一方向运动矢量和第二方向运动矢量以执行第一方向预测、第二方向预测和双向预测。基于在当前块1010被编码之前已先前编码的至少一个块的运动矢量来确定第一方向运动矢量和第二方向运动矢量。
可使用根据现有技术确定运动矢量的方法来确定第一方向运动矢量和第二方向运动矢量。例如,如果基于直接预测模式对当前块1010进行编码,则可使用根据基于H.264/AVC的直接预测模式确定运动矢量的方法来确定运动矢量,其中,在直接预测模式下,关于当前块1010的运动矢量的信息不被编码,而关于残差块的信息被编码。如果基于跳过模式对当前块1010进行编码,则可使用根据基于H.264/AVC的跳过模式确定运动矢量的方法来确定运动矢量,其中,在跳过模式下,关于运动矢量的信息和关于残差块的信息被编码。
基于H.264/AVC的直接预测模式可被分为时间直接预测模式和空间直接预测模式。因此,运动矢量确定器910可通过使用在基于H.264/AVC的时间直接预测模式下确定运动矢量的方法或通过使用在基于H.264/AVC的空间直接预测模式下确定运动矢量的方法来确定第一方向运动矢量和第二方向运动矢量。现在将参照图11a和图11b详细描述这些方法。
图11a是示出根据本发明的实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。
参照图11a,当基于时间直接预测模式对包括在当前图像1110中的当前块1010进行编码时,可使用后续块1120的运动矢量mv_colA来产生当前块1010的运动矢量,其中,后续块1120被包括在当前图像1110之后的后续图像1114中,并与当前块1010并置。
换句话说,如果后续图像1114是锚(anchor)图像,则可使用包括在锚图像1114中的后续块1120的运动矢量mv_colA来确定当前块1010的第一方向运动矢量mv_L0A和第二方向运动矢量mv_L1A。可通过基于当前图像1110与在当前图像1110之前的先前图像1112之间的时间距离以及锚图像1114与先前图像1112之间的时间距离对后续块1120的运动矢量mv_colA进行缩放(scale),来确定当前块1010的第一方向运动矢量mv_L0A和第二方向运动矢量mv_L1A。
例如,如果后续块1120的运动矢量mv_colA针对从先前图像1112检测的块1122被产生,则可使用以下等式来产生当前块1110的第一方向运动矢量mv_L0A和第二方向运动矢量mv_L1A:
mv_L0A=(t1/t2)×mv_colA
mv_L1A=mv_L0A-mv_colA,
其中,“mv_L0A”和“mv_L1A”分别表示当前块1010的第一方向运动矢量和第二方向运动矢量。
图11b是示出根据本发明的另一实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。
参照图11b,可基于与当前块1100邻近的块1130、1132和1134的运动矢量mv_A、mv_B和mv_C来确定当前块1010的第一方向运动矢量和第二方向运动矢量。可基于位于当前块1010的左侧、上侧和最右上侧的块的运动矢量来确定当前块1010的第一方向运动矢量和第二方向运动矢量。
当根据空间直接预测模式对当前块1010进行编码时,运动矢量mv_A、mv_B和mv_C中的至少一个第一方向运动矢量之间的中值被确定为当前块1010的第一方向运动矢量,运动矢量mv_A、mv_B和mv_C中的至少一个第二方向运动矢量之间的中值被确定为当前块1010的第二方向运动矢量。通过将所述至少一个第二方向运动矢量设置为“0”来计算所述至少一个第一方向运动矢量之间的中值,来确定第一方向运动矢量,通过将所述至少一个第一方向运动矢量设置为“0”来计算至少一个第二方向运动矢量之间的中值,来确定第二方向运动矢量。
在由运动矢量mv_A、mv_B和mv_C确定的参考图像中与最小第一方向参考索引相应的图像被确定为第一方向参考图像,在由运动矢量mv_A、mv_B和mv_C确定的参考图像中与最小第二方向参考索引相应的图像被确定为第二方向参考图像。
当根据跳过模式对当前块1010进行编码时,如图11b所示,与当前块1010邻近的块1130、1132和1134的运动矢量mv_A、mv_B和mv_C中的至少一个第一方向运动矢量之间的中值可被确定为当前块1010的运动矢量。
如果图9的图像编码设备900如以上参照图11a或图11b所述确定当前块的运动矢量并对当前块进行编码,则解码端如以上参照图11a或图11b所述确定当前块的运动矢量并恢复当前图像。换句话说,图像编码端和图像解码端可隐含地共享相同的确定运动矢量的方法,并根据共享的方法来确定当前块的运动矢量。
然而,根据本发明的另一实施例,图像编码端可基于在当前块被编码之前编码的多个先前块的运动矢量来产生多个运动矢量候选,对指定所述多个运动矢量候选中的当前块的运动矢量的信息进行明确地编码,并将编码的结果插入比特流。在这种情况下,图像解码端可基于插入比特流的编码的结果来确定当前块的运动矢量。现将参照图12a和图12b来描述这样的方法。
图12a和图12b是示出根据本发明的实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。
参照图12a,图9的运动矢量确定器910可基于与当前块邻近的先前编码块的运动矢量来产生多个运动矢量候选。所述多个运动矢量候选可以是与当前块的上侧邻近的块中的最左侧块a0的运动矢量、与当前块的左侧邻近的最上侧块b0的运动矢量、与当前块的右上侧邻近的块c的运动矢量、与当前块的左上侧邻近的块d的运动矢量以及与当前块的右下侧邻近的块e的运动矢量。
最左侧块a0、最上侧块b0、块c和块d的运动矢量中的第一方向运动矢量之一可被确定为当前块的第一方向运动矢量。最左侧块a0、最上侧块b0、块c和块d的运动矢量中的第二方向运动矢量之一可被确定为当前块的第二方向运动矢量。例如,如果最左侧块a0、最上侧块b0、块c和块d中的最左侧块a0和最上侧块b0的运动矢量是第一方向运动矢量,则最左侧块a0和最上侧块b0的运动矢量之一可被确定为当前块的第一方向运动矢量,块c和块d的运动矢量之一可被确定为当前块的第二方向运动矢量。
各种方法可被用于将所述多个运动矢量候选之一确定为当前块的运动矢量,但是,通常可按照这样的方法来选择当前块的运动矢量:当前块可基于运动矢量被更精确地预测。如果当在用为第一方向运动矢量的最左侧块a0和最上侧块b0的运动矢量中使用最左侧块a0的运动矢量时当前块被更精确地预测,则最左侧块a0的运动矢量可被确定为当前块的第一方向运动矢量。可从当前块减去通过分别使用所述多个运动矢量候选的运动矢量来预测当前块而获得的预测块以产生残差块,所述残差块中的每一个的绝对值和(SAD)可被计算,然后,在所述多个运动矢量候选中具有最小SAD的运动矢量可被确定为当前块的运动矢量。
参照图12b,与当前块邻近的所有块的运动矢量可被用作多个运动矢量候选。换句话说,不仅与当前块的上侧邻近的块(包括最左侧块a0)的运动矢量,而且与当前块的左侧邻近的块(包括最上侧块b0)的运动矢量都可被用作所述多个运动矢量候选。
如以上参照图12b所述,与当前块邻近的所有块的多个运动矢量候选中的第一方向运动矢量之一和第二方向运动矢量之一可分别被确定为当前块的第一方向运动矢量和第二方向运动矢量。
因此,参照图11a、图11b、图12a和图12b,运动矢量确定器910可通过使用以下等式来将多个运动矢量候选之一确定为当前块的运动矢量:
C={median(mv_a0,mv_b0,mv_c),mv_a0,mv_a1...,mv_aN,mv_b0,mv_b1,...,mv_bN,mv_c,mv_d,mv_e,mv_L0A,mv_L1A},
其中,“mv_L0A”和“mv_L1A”可表示根据图11a的方法而获得的运动矢量,“median(mv_a0,mv_b0,mv_c)”可表示根据图11b的方法获得的运动矢量。如以上参照图12a和图12b描述了其它运动矢量。
可从包括在以上描述的C集中的第一方向运动矢量确定当前块的第一方向运动矢量,可从包括在C集中的第二方向运动矢量确定当前块的第二方向运动矢量。
根据本发明的另一实施例,运动矢量候选的总数量可被确定为小,并且当前块的运动矢量可基于以下等式从运动矢量候选中被确定:
C={median(mv_a',mv_b',mv_c'),mv_a',mv_b',mv_c',mv_L0A,mv_L1A},
其中,“mv_x”表示块x的运动矢量,“median()”表示中值,“mv_a”表示运动矢量mv_a0、mv_a1、…、mv_aN中的第一有效运动矢量。例如,如果使用帧间预测对块a0进行编码,则块a0的运动矢量mv_a0无效,因此mv_a'=mv_a1。如果块a1的运动矢量mv_a1也无效,则mv_a'=mv_a2。
同样,“mv_b”表示运动矢量mv_b0、mv_b1、…、mv_bN中的第一有效运动矢量,“mv_c”表示运动矢量mv_c、mv_d、…、mv_e中的第一有效运动矢量。
“mv_L0A”和“mv_L1A”可表示根据图11a的方法获得的运动矢量。根据本发明的另一实施例,取代于运动矢量mv_L0A和mv_L1A,使用邻近图像之间的时间距离产生的运动矢量可被用作运动矢量候选。将参照图13a和图13b详细描述该实施例。
图13a和图13b是示出根据本发明的实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。
参照图13a,基于时间距离的运动矢量候选可与根据现有技术的时间直接预测模式不同地被确定。
包括在当前图像1110中的当前块1010的运动矢量候选可从块1320的运动矢量产生,其中,块1320包括在当前图像1110之前的先前图像1112中并与当前块1010并置。例如,如果与当前块1010并置的块1320的运动矢量mv_colB针对从后续图像1114检测的块1322被产生,则可使用以下等式来产生当前块1010的运动矢量候选mv_L0B和mv_L1B:
mv_L1B=(t3/t4)×mv_colB
mv_L0B=mv_L1B-mv_colB,
其中,“mv_L0B”表示当前块1010的第一方向运动矢量候选,“mv_L1B”表示当前块1010的第二方向运动矢量候选。
参照图13b,可使用块1330的运动矢量mv_colC来确定包括在当前图像1110中的当前块1010的运动矢量候选mv_L0C,其中,块1330包括在先前图像1112中,并与当前块1010并置。例如,当与当前块1010并置的块1330的运动矢量mv_colC针对从另一先前图像1116检测的块1332被产生时,可使用以下等式来产生当前块1010的运动矢量候选mv_L0C:
mv_L0C=(t6/t5)×mv_colC。
以上参照图13a和图13b描述的运动矢量候选mv_L0B和mv_L1B可被包括在上述的当前块1010的运动矢量候选的上述C集中。也就是说,取代于运动矢量候选mv_L0A和mv_L1A,运动矢量候选mv_L0B和mv_L1B可被包括在C集中,或者运动矢量候选mv_L0B和mv_L1B可被附加地包括在C集中。
返回参照图9,如果运动矢量确定器910基于先前编码块的运动矢量确定当前块的运动矢量,则编码器920对关于当前块的信息进行编码。
如果当前块的第一方向运动矢量和第二方向运动矢量被确定,则编码器920基于第一方向运动矢量和第二方向运动矢量来执行第一方向预测、第二方向预测和双向预测。随后,当前块可被最精确地预测的预测方向被确定。通过执行第一方向预测、第二方向预测和双向预测而获得的预测块可与当前块进行比较,可产生具有最小SAD的残差块的方向可被确定为预测方向。否则,可通过执行第一方向预测、第二方向预测和双向预测,对执行的结果进行编码并基于RD代价对编码的结果互相比较,来确定预测方向。
在预测方向被确定之后,关于预测方向的信息和关于像素值的信息被编码。关于预测方向的信息可被编码为序列参数、像条参数或块参数。预定二进制数可被分配给第一方向、第二方向和双向,与当前块被编码的预测方向相应的二进制数可被熵编码,随后熵编码的结果可被插入比特流。
与关于像素值的信息一样,关于残差块的信息(例如,直接预测模式)可被附加地编码。可通过从当前块减去通过按照确定的预测方向执行预测而产生的预测块来获得残差块,可通过对残差块执行变换来产生频域系数,随后,频域系数可被量化和熵编码。所述变换可以是DCT变换或KLT变换。
此外,与关于像素值的信息一样,仅根据现有技术的跳过模式以及指示预测块和当前块相同的标志信息可被编码。也就是说,由于通过按照确定的预测方向执行预测而获得的预测块被视为与当前块相同,因此可仅对跳过模式和标志信息进行编码。
可基于先前编码块的参考索引来推断用于预测当前块的参考图像。如上参照图11b所述,可基于先前编码块的参考索引来确定当前块的参考索引和与当前块相应的参照图像。此外,与由运动矢量确定器910确定的运动矢量相应的参考图像可被确定为当前块的参考图像。例如,如以上参照图11a所述,如果运动矢量mv_L0A被确定为当前块的第一方向运动矢量,则根据运动矢量mv_L0A的先前图像1112可被自动确定为当前块的参考图像。
如果运动矢量确定器910如以上参照图12a、图12b、图13a和图13b所述在多个运动矢量候选中明确地确定第一方向运动矢量和第二方向运动矢量,则编码器920可对指示第一方向运动矢量和第二方向运动矢量中的至少一个的信息进行编码。
如果预测方向被确定为第一方向,则指示所述多个运动矢量候选中的仅第一方向运动矢量的信息被编码。如果预测方向被确定为第二方向,则仅指示第二方向运动矢量的信息可被编码。然而,如果预测方向被确定为双向执行,则指示所述多个运动矢量候选中的第一方向运动矢量和第二方向运动矢量的信息可被编码。
二进制数可被分别分配给包括在上述的C集中的所有运动矢量,分配给被确定为当前块的运动矢量的第一方向运动矢量和/或第二方向运动矢量的二进制数可被编码。然而,由于如上所述C集中的第一方向运动矢量之一被确定为当前块的第一方向运动矢量,因此分配给C集中的第一方向运动矢量的二进制数中的分配给当前块的第一方向运动矢量的二进制数可被编码为指示第一方向运动矢量的信息。同样,分配给C集中的第二方向运动矢量的二进制数中的分配给当前块的第二方向运动矢量的二进制数可被编码为指示第二方向运动矢量的信息。
图14是根据本发明的另一实施例的图像解码设备1400的框图。图像解码设备1400可被包括在图2的图像解码设备200或图5的图像解码设备500中,并可通过执行帧间预测来对当前块进行解码。
参照图14,图像解码设备1400包括解码器1410、运动矢量确定器1420和恢复单元1430.
解码器1410接收包含关于当前块的数据的比特流,并对关于当前块被预测的预测方向的信息进行解码。图像解码设备1400基于在当前块被解码之前已被先前解码的至少一个块的运动矢量来确定当前块的运动矢量,并在用于恢复当前块的解码模式下基于确定的运动矢量来对当前块进行解码。因此,在当前块的运动矢量被确定之前对关于预测方向的信息进行解码。关于预测方向的信息可以是例如包括在比特流中的序列参数、像条参数或块参数。
在基于先前编码/解码块的运动矢量确定当前块的运动矢量的编码/解码模式(例如,直接预测模式或跳过模式)下,仅基于按照特定方向执行的预测来对当前块进行编码/解码。然而,在根据本发明的实施例的编码/解码方向中,可基于按照第一方向、第二方向和双向执行预测的结果,在直接预测模式或跳过模式下对当前块进行编码/解码。为此,图9的图像编码设备900对关于预测方向的信息进行编码,将编码的结果插入比特流。解码器1410对通过使用图像编码设备900被插入比特流的关于预测方向的信息进行解码。
解码器1410可对指示多个运动矢量候选中的当前块的运动矢量的信息以及关于预测方向的信息一起进行解码。如果如上所述基于在编码端和解码端之间共享的确定运动矢量的方法隐式地确定当前块的运动矢量,则根据共享的方法和指示当前块的运动矢量不需要被解码的信息确定当前块的一个运动矢量的总数。然而,当如上所述基于多个先前编码块的运动矢量产生多个运动矢量候选并且从所述多个运动矢量候选中确定当前块的运动矢量时,指示所述多个运动矢量候选中的当前块的运动矢量的信息可被解码。
此外,解码器1410对关于当前块的像素值的信息进行解码。在这种情况下,关于当前块的残差块的信息或指示当前块与预测块相同的标志信息被解码。解码器1410可通过对关于残差块的信息进行熵解码、反量化或逆变换来恢复残差块。
运动矢量确定器1420基于通过使用解码器1410对关于预测方向的信息进行解码的结果来确定当前块的运动矢量,从而按照预定方向预测当前块。如果基于解码的结果确定按照第一方向执行预测,则第一方向运动矢量被确定为当前块的运动矢量。如果基于解码的结果确定按照第二方向执行预测,则第二方向运动矢量被确定为当前块的运动矢量。如果基于解码的结果确定双向执行预测,则第一方向运动矢量和第二方向运动矢量被确定为当前块的运动矢量。
当将根据编码端和解码端之间共享的确定运动矢量的方法隐式地确定当前块的运动矢量时,根据共享的方法确定当前块的运动矢量。以上参照图11a和图11b描述了该方法。
然而,当将从多个运动矢量候选中确定当前块的运动矢量时,基于指示所述多个运动矢量候选中的由解码器1410解码的当前块的运动矢量的信息来确定当前块的运动矢量。使用在当前块被解码之前已解码的至少一个块的运动矢量来产生所述多个运动矢量候选,并从所述多个运动矢量候选中确定当前块的运动矢量。
如果仅按照第一方向预测当前块,则基于使用解码器1410解码的指示第一方向运动矢量的信息,从所述多个运动矢量候选确定第一方向运动矢量。如果仅按照第二方向预测当前块,则基于使用解码器1410解码的指示第二方向运动矢量的信息,从所述多个运动矢量候选确定第二方向运动矢量。如果当前块被双向预测,则基于使用解码器1410解码的指示第一方向运动矢量的信息和指示第二方向运动矢量的信息,从而所述多个运动矢量候选确定第一方向运动矢量和第二方向运动矢量。
恢复单元1430基于使用解码器1410解码的关于像素值的信息以及使用运动矢量确定器1420确定的当前块的运动矢量来恢复当前块。
通过根据使用运动矢量确定器1420确定的运动矢量按照第一方向、第二方向或双向预测当前块来产生预测块。如果通过使用解码器1410对关于像素值的信息进行解码来恢复残差块,则恢复的残差块与预测块组合以恢复当前块。如果解码器1410对指示预测块与当前块相同的标志信息进行解码,则预测块可被直接用作恢复的当前块。
可基于先前解码块的参考索引来参考用于预测当前块的参考图像。如上参照图11b所述,可基于先前解码块的参考索引来确定当前块的参考索引和与当前块相应的参考图像。此外,与通过运动矢量确定器1420确定的运动矢量相应的参考图像可被确定为当前块的参考图像。例如,如以上参考图11a所述,如果运动矢量mv_L0A被确定为当前块的第一方向运动矢量,则根据运动矢量mv_L0A的先前图像1112可被自动确定为当前块的参考图像。
图15是示出根据本发明的实施例的图像编码方法的流程图。
参照图15,在操作1510,图像编码设备确定当前块的运动矢量。例如,在操作1510,包括在当前画面的被双向预测的当前块的第一方向运动矢量和第二方向运动矢量被确定。如以上参照图11a和图11b所述,可根据在编码端和解码端之间共享的确定运动矢量的方法来隐式地确定当前块的运动矢量。另外,如以上参照图12a、图12b、图13a和图13b所述,产生多个运动矢量候选,并可从所述多个运动矢量候选中确定第一方向运动矢量和第二方向运动矢量。
在操作1520,图像编码设备从第一方向预测、第二方向预测和双向预测中确定预测方法以对当前块进行编码。从使用第一方向运动矢量的第一方向预测、使用第二方向运动矢量的第二方向预测以及使用第一方向运动矢量和第二方向运动矢量两者的双向预测来确定预测方法以对当前块进行编码。
第一方向预测、第二方向预测和双向预测中更精确地预测当前块的预测方法可被用于对当前块进行编码。如上所述,获得预测块和当前块之间的最小SAD的预测方法可被用于对当前块进行编码。
在操作1530,图像编码设备对关于在操作1520确定的预测方法中使用的预测方向的信息进行编码。二进制数可被分别分配给第一方向、第二方向和双向,分配给用于对当前块进行编码的预测方向的二进制数可被编码。可根据预定熵编码方法对编码的二进制数进行熵编码。关于预测方向的信息可被编码为序列参数、像条参数或块参数。
还对关于当前块的像素值的信息进行编码。在这种情况下,可对关于通过从当前块减去预测块而获得的残差块的残差值的信息进行编码。残差块可被变换、量化和熵编码。此外,如上所述,可仅对指示预测块与当前块相同的标志信息进行编码。
还可对定义多个运动矢量候选中用于对当前块进行编码的运动矢量的信息进行编码。如果基于在当前块被编码之前编码的至少一个块的运动矢量来产生所述多个运动矢量候选,并且所述多个运动矢量候选之一被选择并被用作当前块的运动矢量,则指示选择的运动矢量的信息可被编码。如果在操作1520第一方向预测被确定为预测方法,则可仅对关于第一方向运动矢量的信息进行编码。如果在操作1520第二方向预测被确定为预测方法,则可仅对关于第二方向运动矢量的信息进行编码。如果在操作1520双向预测被确定为预测方法,则仅对关于第一方向运动矢量和第二方向运动矢量两者的信息进行编码。
图16是示出根据本发明的实施例的图像解码方法的流程图。
参照图16,在操作1610,图像解码设备对关于第一方向、第二方向和双向中将被用于对当前块进行解码的预测方向的信息进行解码。在这种情况下,可对包括在比特流中的关于预测方向的信息进行解码。可对分别分配给第一方向、第二方向和双向的二进制数中分配给预测方向的二进制数进行解码。包括在比特流中的关于预测方向的信息可被解码为序列参数、像条参数或块参数。
在操作1610,图像解码设备还对关于当前块的像素值的信息进行编码。可对关于当前块的残差块的残差值的信息进行编码。可对关于残差块的信息进行熵解码、反量化和逆变换以恢复残差块。此外,可对指示当前块与预测块相同的信息进行解码。
当如上所述从多个运动矢量候选中确定当前块的运动矢量时,可对定义所述多个运动矢量候选中的将被用于对当前块进行解码的运动矢量的信息进行解码。如果对关于预测方向的信息进行解码的结果显示预测方向是第一方向,则可对指示所述多个运动矢量候选中的当前块的第一方向运动矢量的信息进行解码。如果对关于预测方向的信息进行解码的结果显示预测方向是第二方向,则可对指示所述多个运动矢量候选中的当前块的第二方向运动矢量的信息进行解码。如果对关于预测方向的信息进行解码的结果显示预测方向是双向,则可对指示所述多个运动矢量候选中的第一方向运动矢量的信息和指示所述多个运动矢量候选中的第二方向运动矢量的信息进行解码。
在操作1620,图像解码设备基于在操作1610解码的关于预测方向的信息来确定当前块将被预测的预测方向。基于与预测方向相应的二进制数来确定当前块将被预测的预测方向,其中,预测方向的信息在操作1610被解码。如果当前块将被预测的预测方向被确定,则用于按照确定的预测方向预测当前块的至少一个运动矢量被确定。
如上所述,可根据在编码端和解码端之间共享的确定运动矢量的方法来隐式地确定当前块的运动矢量。如果从多个运动矢量候选中显式地选择当前块的运动矢量,则基于在当前块被解码之前解码的至少一个块运动矢量来产生所述多个运动矢量候选,并从所述多个运动矢量候选中确定当前块的运动矢量。可基于在操作1610解码的指示所述多个运动矢量候选中的当前块的运动矢量的信息,确定当前块的运动矢量。可基于在操作1610解码的信息来确定第一方向运动矢量和第二方向运动矢量中的至少一个。
在操作1630,图像解码设备恢复当前块。基于在操作1620确定的当前块的运动矢量来确定当前块的预测块,基于预测块恢复当前块。
可通过在操作1620确定的基于第一方向运动矢量和/或第二方向运动矢量来执行第一方向预测、第二方向预测和双向预测之一,产生当前块的预测块。
如果在操作1610残差块被恢复,则预测块与恢复的残差块组合以恢复当前块。如果指示预测块与当前块相同的信息被解码,则预测块被用作当前块。
虽然参照本发明的示例性实施例和附图具体显示和描述了本发明,但本领域的普通技术人员将理解,在不脱离本发明的原理和精神的情况下可对这些示例性实施例进行改变,本发明的范围在权利要求及其等同物中被限定。此外,根据本发明的实施例的系统可被实现为计算机可读记录介质中的计算机可读代码。
例如,根据本发明的示例性实施例的图像编码设备、图像解码设备、运动矢量编码设备、运动矢量解码设备可包括与在图1、图2、图4、图5、图9和图14中示出的设备的各单元连接的总线以及与总线连接的至少一个处理器。所述设备中的每一个还可包括存储器,存储器与总线连接以存储命令、接收的消息或产生的消息,并与用于执行上述操作的所述至少一个处理器连接。
计算机可读记录介质可以是任何能够存储由计算机系统读取的数据的记录设备,例如,只读存储器(ROM)、随机存取存储器(RAM)、紧凑盘(CD)-ROM、磁带、软盘、光数据存储装置等。计算机可读记录介质可被分布在通过网络内联的计算机系统中,本发明可被存储和实现为分布式系统中的计算机可读代码。
Claims (4)
1.一种图像解码方法,包括:
将图像划分为多个最大编码单元;
基于从比特流获得的划分信息将所述多个最大编码单元之中的最大编码单元分层划分为至少一个编码单元;
在所述至少一个编码单元之中的当前深度的编码单元中确定预测单元;
获得关于将用于对预测单元进行预测的预测方向的信息,其中,关于预测方向的所述信息指示L0方向、L1方向和双向之一;
基于在对预测单元进行解码之前被解码的至少一个块的运动矢量,确定预测单元的运动矢量候选;
根据关于预测方向的所述信息,基于确定的运动矢量候选之中的L0方向上的运动矢量候选和L1方向上的运动矢量候选中的至少一个运动矢量候选,确定预测单元的至少一个运动矢量,
其中,在对预测单元进行解码之前被解码的所述至少一个块包括第一块和第二块中的至少一个,其中,第一块位于与预测单元的下侧邻近的下侧块中的最左侧块的左侧,第二块位于第一块的上侧,
其中,通过基于针对更高深度的编码单元的划分信息,独立于邻近编码单元而对更高深度的编码单元进行划分,来从更高深度的编码单元确定当前深度的编码单元,
其中,当前深度的编码单元是正方形数据单元。
2.如权利要求1所述的方法,其中,获得关于将用于对预测单元进行解码的预测方向的信息的步骤包括:通过对比特流执行熵解码,获得与LO方向、L1方向和双向之一相应的二进制数。
3.如权利要求1所述的方法,其中,确定预测单元的至少一个运动矢量的步骤包括:基于从比特流获得的指示确定的运动矢量候选中的至少一个运动矢量候选的信息,确定预测单元的所述至少一个运动矢量。
4.如权利要求1所述的方法,其中,确定预测单元的至少一个运动矢量的步骤包括:
当关于预测方向的所述信息指示L0方向时,通过对指示LO方向上的运动矢量候选的信息进行解码,从运动矢量候选之中确定预测单元的所述至少一个运动矢量;
当关于预测方向的所述信息指示L1方向时,通过对指示L1方向上的运动矢量候选的信息进行解码,从运动矢量候选之中确定预测单元的所述至少一个运动矢量;
当关于预测方向的所述信息指示双向时,通过对指示运动矢量候选之中的LO方向上的运动矢量候选的信息以及指示运动矢量候选之中的L1方向上的运动矢量候选的信息进行解码,确定预测单元的所述至少一个运动矢量。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29614110P | 2010-01-19 | 2010-01-19 | |
US61/296,141 | 2010-01-19 | ||
KR10-2011-0005377 | 2011-01-19 | ||
CN201180014824.9A CN102835111B (zh) | 2010-01-19 | 2011-01-19 | 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备 |
KR1020110005377A KR101607308B1 (ko) | 2010-01-19 | 2011-01-19 | 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180014824.9A Division CN102835111B (zh) | 2010-01-19 | 2011-01-19 | 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105025299A CN105025299A (zh) | 2015-11-04 |
CN105025299B true CN105025299B (zh) | 2019-04-16 |
Family
ID=48667759
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510446035.2A Active CN105025301B (zh) | 2010-01-19 | 2011-01-19 | 图像解码设备 |
CN201510445868.7A Active CN105025299B (zh) | 2010-01-19 | 2011-01-19 | 对图像进行编码/解码的方法和设备 |
CN201510446031.4A Active CN105025300B (zh) | 2010-01-19 | 2011-01-19 | 对图像进行编码/解码的方法和设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510446035.2A Active CN105025301B (zh) | 2010-01-19 | 2011-01-19 | 图像解码设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510446031.4A Active CN105025300B (zh) | 2010-01-19 | 2011-01-19 | 对图像进行编码/解码的方法和设备 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2013517733A (zh) |
CN (3) | CN105025301B (zh) |
MY (2) | MY197143A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3637766B1 (en) * | 2017-07-06 | 2021-09-01 | Samsung Electronics Co., Ltd. | Image encoding method, and image decoding method and apparatus |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401437A (zh) * | 2006-03-13 | 2009-04-01 | 三星电子株式会社 | 通过自适应应用最优预测模式编码和/或解码运动画面方法、介质和系统 |
EP2094017A2 (en) * | 2008-02-20 | 2009-08-26 | Samsung Electronics Co., Ltd. | Method for direct mode encoding and decoding |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1182726C (zh) * | 1999-10-29 | 2004-12-29 | 皇家菲利浦电子有限公司 | 视频编码方法 |
CN101031082B (zh) * | 2002-01-09 | 2011-08-17 | 松下电器产业株式会社 | 移动向量解码方法和移动向量解码装置 |
JP2004088722A (ja) * | 2002-03-04 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 動画像符号化方法および動画像復号化方法 |
US20040001546A1 (en) * | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US8625680B2 (en) * | 2003-09-07 | 2014-01-07 | Microsoft Corporation | Bitstream-controlled post-processing filtering |
US8064520B2 (en) * | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
KR100584603B1 (ko) * | 2004-08-03 | 2006-05-30 | 학교법인 대양학원 | 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치 |
KR101042623B1 (ko) * | 2004-11-17 | 2011-06-20 | 삼성전자주식회사 | 필드 가변분할방식을 이용한 디인터레이싱방법 및 장치 |
KR101517768B1 (ko) * | 2008-07-02 | 2015-05-06 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
-
2011
- 2011-01-19 CN CN201510446035.2A patent/CN105025301B/zh active Active
- 2011-01-19 JP JP2012549942A patent/JP2013517733A/ja active Pending
- 2011-01-19 MY MYPI2019001262A patent/MY197143A/en unknown
- 2011-01-19 CN CN201510445868.7A patent/CN105025299B/zh active Active
- 2011-01-19 CN CN201510446031.4A patent/CN105025300B/zh active Active
- 2011-01-19 MY MYPI2012003278A patent/MY184904A/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401437A (zh) * | 2006-03-13 | 2009-04-01 | 三星电子株式会社 | 通过自适应应用最优预测模式编码和/或解码运动画面方法、介质和系统 |
EP2094017A2 (en) * | 2008-02-20 | 2009-08-26 | Samsung Electronics Co., Ltd. | Method for direct mode encoding and decoding |
Also Published As
Publication number | Publication date |
---|---|
CN105025301B (zh) | 2019-08-23 |
MY184904A (en) | 2021-04-30 |
CN105025300A (zh) | 2015-11-04 |
CN105025300B (zh) | 2018-05-04 |
CN105025301A (zh) | 2015-11-04 |
MY197143A (en) | 2023-05-26 |
CN105025299A (zh) | 2015-11-04 |
JP2013517733A (ja) | 2013-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104967857B (zh) | 对图像进行编码/解码的方法和设备 | |
US10110902B2 (en) | Method and apparatus for encoding/decoding motion vector | |
CN104994380B (zh) | 用于对运动矢量进行编码和解码的方法和设备 | |
CN104754355B (zh) | 一种图像解码设备 | |
CN105025298B (zh) | 对图像进行编码/解码的方法和设备 | |
CN102598670A (zh) | 参考多个帧对图像进行编码/解码的方法和设备 | |
CN102239693A (zh) | 运动图像解码方法和运动图像编码方法 | |
CN105025299B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |