用于对视频进行编码和解码的方法和装置与流程

文档序号:13984708阅读:140来源:国知局
用于对视频进行编码和解码的方法和装置与流程

本申请是向中国知识产权局提交的申请日为2012年09月14日的标题为“用于对视频进行编码和解码的方法和装置”的第201280055956.0号申请的分案申请。

本发明涉及视频编码和解码,更具体地讲,涉及一种用于对视频进行编码和解码以减少用于在运动补偿期间读出参考帧的数据的存储器访问的方法和设备。



背景技术:

为了对视频进行编码,一个画面被划分为诸如宏块的预定数据单元。通过使用帧间预测或帧内预测来对宏块中的每个进行预测编码。

作为通过去除画面之间的时间冗余来对图像进行压缩的方法的帧间预测使用运动估计和运动补偿。运动估计通过使用至少一个参考画面对当前画面的块进行预测。运动估计和运动补偿是这样的处理:通过使用预定评估函数在预定搜索范围内搜索与当前块最类似的参考块,并读出与当前块最类似的参考块的数据。为了更精确地执行运动估计和运动补偿,通过在参考画面的预定搜索范围内执行插值来产生整数像素之间的子像素,并基于具有子像素精确度的参考画面执行运动补偿。为了以子像素精确度执行运动估计和运动补偿,需要对参考画面的数据进行插值的处理。

在传统技术中,通过使用具有预定抽头数量的有限脉冲响应(fir)滤波器来执行插值。n抽头fir滤波器通过使用n个相邻整数像素对子像素进行插值。为了在通过使用n抽头fir滤波器执行插值的处理中对一个子像素进行插值,需要从存储器读出n个参考像素。如果运动矢量的水平分量和垂直分量两者具有子像素精确度,则由于二维(2d)插值处理需要沿水平方向和垂直方向被执行,因此存储器访问被执行的次数增加。因为两个参考画面被使用,所以被执行用于双向运动估计的存储器访问的次数是被执行用于单向运动估计的存储器访问的次数的两倍。



技术实现要素:

技术问题

本发明提供一种用于对视频进行编码和解码的方法和设备,其中,所述方法和设备可减少用于在运动估计和运动补偿期间读出参考数据的存储器访问。

解决方案

根据本发明的一方面,基于预测单元的尺寸确定单向运动估计模式和双向运动估计模式是否被使用并通过使用确定的运动估计模式执行运动估计和运动补偿。

有益效果

根据本发明的一方面,可将用于读出参考帧的数据的存储器访问限制为预定带宽。

附图说明

图1是根据本发明的实施例的用于对视频进行编码的设备的框图;

图2是根据本发明的实施例的用于对视频进行解码的设备的框图;

图3是用于描述根据本发明的实施例的编码单元的概念的示图;

图4是根据本发明的实施例的基于编码单元的图像编码器的框图;

图5是根据本发明的实施例的基于编码单元的图像解码器的框图;

图6是示出根据本发明的实施例的根据深度的较深层编码单元和分区(partition)的示图;

图7是用于描述根据本发明的实施例的编码单元和变换单元之间的关系的示图;

图8是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图;

图9是根据本发明的实施例的根据深度的较深层编码单元的示图;

图10至图12是用于描述根据本发明的实施例的编码单元、预测单元和变换单元之间的关系的示图;

图13是用于描述根据表1的编码模式信息的编码单元、预测单元或分区和变换单元之间的关系的示图;

图14是示出根据本发明的实施例的运动估计设备的示图;

图15是示出根据本发明的实施例的在1/4像素精确度的运动补偿期间可选择的整数像素和子像素的位置的示图;

图16是用于解释根据本发明的实施例的对参考帧进行插值的处理的示图;

图17a至图17c是示出根据本发明的实施例的运动补偿处理所需的参考帧的数据的示图;

图18a至图18g是示出根据预测单元的尺寸、预测模式和预测单元的运动矢量的水平分量和垂直分量是否具有整数值的针对当前预测单元的每个像素的运动补偿所需的参考帧的像素的数量的表;

图19和图20是从高值开始以降序示出根据亮度分量的预测单元的尺寸、色度分量的预测单元的尺寸、预测模式和预测单元的运动矢量的水平分量和垂直分量是否具有整数值的针对当前预测单元的每个像素的运动补偿所需的参考帧的像素的数量的表;

图21至图23是用于解释根据本发明的另一实施例的用于减少读出参考帧的数据的处理的插值处理的参考示图;

图24和图25是从高值开始以降序示出根据亮度分量的预测单元的尺寸、色度分量的预测单元的尺寸、运动估计模式和预测单元的运动矢量的水平分量和垂直分量是否具有整数值的针对当前预测单元的每个像素的运动补偿所需的参考帧的像素的数量的表;

图26是示出根据本发明的实施例的视频编码方法的流程图;

图27是示出根据本发明的实施例的运动补偿设备的框图;

图28是示出根据本发明的实施例的视频解码方法的流程图;

图29a示出根据本发明的实施例的存储程序的盘的物理结构;

图29b示出根据本发明的实施例的通过使用盘记录和读取程序的盘驱动器;

图30示出根据本发明的实施例的提供内容分发服务的内容供应系统的整体结构;

图31和图32示出根据本发明的实施例的应用视频编码方法和视频解码方法的移动电话的外部结构和内部结构;

图33示出根据本发明的实施例的采用通信系统的数字广播系统;

图34示出根据本发明的实施例的使用视频编码设备和视频解码设备的云计算系统的网络结构。

最佳模式

根据本发明的一方面,提供一种对视频进行编码的方法,所述方法包括:基于将被编码的当前预测单元的尺寸确定单向运动估计模式和双向运动估计模式是否用于当前预测单元的运动估计和运动补偿;通过根据单向运动估计模式和双向运动估计模式是否被使用来使用单向运动估计模式和双向运动估计模式中的至少一个运动估计模式来对当前预测单元执行运动估计和运动补偿;基于通过运动估计和运动补偿获得的当前预测单元的编码成本确定当前预测单元的运动估计模式;基于当前预测单元的尺寸对确定的运动估计模式信息进行编码。

根据本发明的另一方面,提供一种用于对视频进行编码的设备,所述设备包括:运动估计器和运动补偿器,基于将被编码的当前预测单元的尺寸确定应用到当前预测单元的运动估计和运动补偿的单向运动估计模式和双向运动估计模式是否被使用,通过根据单向运动估计模式和双向运动估计模式是否被使用来使用单向运动估计模式和双向运动估计模式中的至少一个运动估计模式来对当前预测单元执行运动估计和运动补偿;控制器,基于通过运动估计和运动补偿获得的当前预测单元的编码成本确定当前预测单元的运动估计模式;熵编码器,基于当前预测单元的尺寸对确定的运动估计模式信息进行编码。

根据本发明的另一方面,提供一种用于对视频进行解码设备,所述设备包括:熵解码器,从比特流获得将被解码的当前预测单元的尺寸信息和指示应用到当前预测单元的运动估计模式的运动估计模式信息;运动补偿器,基于当前预测单元的尺寸和获得的运动估计模式信息,从单向运动估计模式和双向运动估计模式中确定应用到当前预测单元的运动估计模式,通过使用确定的运动估计模式对当前预测单元执行运动补偿。

具体实施方式

现将参照示出本发明的示例性实施例的附图来更充分地描述本发明。

图1是根据本发明的实施例的视频编码设备100的框图。

视频编码设备100包括最大编码单元划分器110、编码单元确定器120和输出单元130。

最大编码单元划分器110可基于针对图像的当前画面的最大编码单元来划分当前画面。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个最大编码单元。根据本发明的实施例的最大编码单元可以是尺寸为32×32、64×64、128×128、256×256等的数据单元,其中,数据单元的形状是具有2的若干次方的宽度和长度的正方形。图像数据可根据至少一个最大编码单元被输出到编码单元确定器120。

根据本发明的实施例的编码单元可由最大尺寸和深度来表征。深度表示从最大编码单元空间划分编码单元的次数,并且随着深度加深,可将根据深度的较深层编码单元从最大编码单元划分为最小编码单元。最大编码单元的深度是最高深度,最小编码单元的深度是最低深度。由于随着最大编码单元的深度加深,与每个深度相应的编码单元的尺寸减小,因此,与更高深度相应的编码单元可包括多个与更低深度相应的编码单元。

如上所述,当前画面的图像数据根据编码单元的最大尺寸被划分为最大编码单元,并且每个最大编码单元可包括根据深度被划分的较深层编码单元。由于根据本发明的实施例的最大编码单元根据深度被划分,因此包括在最大编码单元中的空间域的图像数据可根据深度被分层地分类。

可预先确定编码单元的最大深度和最大尺寸,其中,编码单元的最大深度和最大尺寸限制最大编码单元的高度和宽度被分层地划分的总次数。

编码单元确定器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分区域进行编码,并根据所述至少一个划分区域确定用于输出最终编码的图像数据的深度。换句话说,编码单元确定器120通过根据当前画面的最大编码单元对根据深度的较深层编码单元中的图像数据进行编码并选择具有最小编码误差的深度,来确定编码深度。因此,与确定的编码深度相应的编码单元的编码的图像数据被最终输出。此外,与编码深度相应的编码单元可被看作编码的编码单元。确定的编码深度和根据确定的编码深度的编码图像数据被输出到输出单元130。

基于与等于或小于最大深度的至少一个深度相应的较深层编码单元对最大编码单元中的图像数据进行编码,并且基于每个较深层编码单元比较对图像数据进行编码的结果。在对较深层编码单元的编码误差进行比较之后,可选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。

随着编码单元根据深度被分层地划分,并且随着编码单元的数量增加,最大编码单元的尺寸被划分。另外,即使在一个最大编码单元中多个编码单元相应于相同深度,也通过分别测量每个编码单元的图像数据的编码误差来确定是否将与相同深度相应的编码单元中的每个编码单元划分至更低深度。因此,即使当图像数据被包括在一个最大编码单元中时,图像数据也根据深度被划分为区域并且在一个最大编码单元中编码误差可根据区域而不同,因此编码深度可根据图像数据中的区域而不同。因此,在一个最大编码单元中可确定一个或多个编码深度,并且可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。

因此,编码单元确定器120可确定包括在最大编码单元中的具有树结构的编码单元。根据本发明的实施例的“具有树结构的编码单元”包括最大编码单元中所包括的所有较深层编码单元中的与确定为编码深度的深度相应的编码单元。在最大编码单元的相同区域中,编码深度的编码单元可根据深度被分层地确定,在不同的区域中,具有该编码深度的编码单元可被独立地确定。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被独立确定。

根据本发明的实施例的最大深度是与从最大编码单元到最小编码单元执行划分的次数相关的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元的执行划分的总次数。根据本发明的实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度是0时,最大编码单元被划分一次的编码单元的深度可被设置为1,并且最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度为0、1、2、3和4的5个深度级,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。

可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的多个深度的较深层编码单元来执行预测编码和变换。可根据正交变换或整数变换的方法来执行变换。

由于每当最大编码单元根据深度被划分时,较深层编码单元的数量增加,因此对随着深度的加深而产生的所有的较深层编码单元执行包括预测编码和变换的编码。为了便于描述,现在将基于在最大编码单元中的当前深度的编码单元来描述预测编码和变换。

视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行多个操作(诸如,预测编码、变换和熵编码),此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。

例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可选择与该编码单元不同的数据单元,以便对编码单元中的图像数据执行预测编码。

为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与更低深度相应的多个编码单元的编码单元)执行预测编码。以下,不再被划分并且变为用于预测编码的基本单元的编码单元现在将被称为“预测单元”。通过划分预测单元而获得的分区可包括:通过划分预测单元的高度和宽度中的至少一个而获得的预测单元或数据单元。

例如,当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可通过使用基于拉格朗日乘子(lagrangianmultiplier)的率失真(rd)优化来测量根据深度的较深层编码单元的编码误差。

输出单元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被输出为量化的变换系数。量化的变换系数通过反量化器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在帧间模式下对编码单元执行运动补偿。

经过帧内预测器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的分区、尺寸为16×8的分区632、尺寸为8×16的分区634以及尺寸为8×8的分区636。

类似地,尺寸为8×8且深度为3的编码单元640的预测单元可被划分为包括在编码单元640中的分区,即,包括在编码单元640中的尺寸为8×8的分区、尺寸为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的分区执行跳过模式下的预测编码。

如果在尺寸为2n_0x2n_0、2n_0xn_0和n_0x2n_0的分区类型912至916之一中的编码误差最小,则预测单元910可不被划分为更低深度。

如果在尺寸为n_0×n_0的分区类型918中的编码误差最小,则在操作920,深度从0改变为1以划分分区类型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。

如果在尺寸为n_1×n_1的分区类型948中编码误差最小,则在操作950,深度从1改变为2以划分分区类型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)的四个分区。

即使在尺寸为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中,一些编码单元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

视频编码设备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的图像编码器400的运动补偿器425和图5的图像解码器500的帧内预测器550执行的运动补偿处理。

图14是示出根据本发明的实施例的运动估计设备1400的示图。图14的运动估计设备1400对应于图4的图像编码器400的运动估计器420。

插值单元1410通过对参考帧进行插值并产生子像素位置的像素值来产生经过插值的参考帧。运动估计执行单元1420通过使用经过插值的参考帧以子像素精确度执行运动估计,并确定指示与预测单元最类似的参考帧相应区域的运动矢量并输出该运动矢量。图4的运动补偿器425通过获得由运动矢量指示的参考帧的经过插值的子像素或整数像素来获得预测单元的像素的预测值。尽管插值单元1410包括在图14的运动估计设备1400中,但本发明不限于此,插值单元1410可与运动估计设备1400分离。

图15是示出根据本发明的实施例的在1/4像素精确度的运动补偿处理中可选择的子像素和整数像素的位置的示图。

参照图15,使用大写字母标注(lable)的a1501、b1502、c1503和d1504指示整数像素,使用小写字母标注的a1505至o1519指示整数像素之间的子像素。当运动矢量指示整数像素a1501、b1502、c1503和d1504中的任何一个时(即,当运动矢量的水平分量和垂直分量两者具有整数值时),在运动补偿处理期间可通过直接读出存储在存储器中的参考帧的数据来获得预测单元的预测值。因此,当运动矢量的水平分量和垂直分量具有整数值时,不需要插值处理。例如,当当前预测单元是l×m(l和m是整数)并且在对当前预测单元l×m执行运动估计之后获得的运动矢量mv的水平分量mvx和垂直分量mvy具有整数值时,运动补偿器425可通过获得与这样的位置的相应区域对应的l×m个整数像素来获得当前预测单元l×m的预测值,其中,通过按照运动矢量(mvx,mvy)从存储在存储器中的参考帧移动当前预测单元l×m而获得所述位置。

当运动矢量指示a1505至o1519中的任何一个子像素而不是整数像素时,需要插值处理以便获得对应的子像素。可通过将具有预定滤波器抽头数量的插值滤波器应用到参考帧的整数像素来执行子像素的插值处理。在作为布置在彼此水平邻近的整数像素a1501和b1502之间的子像素的a1505、b1506和c1507中,仅水平分量具有分数值,垂直分量具有整数值。因此,为了对子像素a1505、b1506和c1507进行插值,执行水平一维(1d)插值处理。同样,在作为布置在彼此垂直邻近的整数像素a1501和c1503之间的子像素的d1508、h1512和l1516中,仅垂直分量具有分数值并且水平分量具有整数值。因此,为了对子像素d1508、h1512和l1516进行插值,执行垂直1d插值处理。

在除子像素a1505、b1506、c1507、d1508、h1512和l1516以外的子像素e1509、f1510、g1511、i1513、j1514、k1515、m1517、n1518和o1519中,由于水平分量和垂直分量两者具有分数值,因此执行水平二维(2d)插值处理和垂直2d插值处理。

这样,在此使用的1d插值处理是指由于运动矢量的水平分量和垂直分量中的任何一个具有分数值而不是整数值而在运动补偿处理期间仅沿水平方向和垂直方向中的一个方向执行插值的处理。在此使用的2d插值处理是指由于运动矢量的水平分量和垂直分量两者具有分数值而不是整数值而沿水平方向和垂直方向执行插值的处理。

图16是用于解释根据本发明的实施例的对参考帧进行插值的处理的示图。在图16中,大写字母a至z表示整数像素,小写字母a至z表示1/2子像素或1/4子像素。

插值单元1410将具有预定滤波器抽头数量的插值滤波器应用到整数像素,以便产生运动估计和运动补偿所需的子像素。例如,参照图16,插值单元1410可通过沿水平方向或垂直方向将n抽头插值滤波器应用到整数像素信号a至z来产生子像素(n是整数)。可使用8抽头插值滤波器以便对亮度分量进行插值,可使用4抽头插值滤波器以便对色度分量进行插值。滤波器抽头数量n不限于此,并可被改变。

将参照图16更详细地解释对子像素进行插值的处理。

为了对作为位于与整数像素相同的行或列上的子像素的a、b、c、d、h和n进行插值,可通过如上所述地沿水平方向和垂直方向中的任何一个方向读出根据滤波器抽头数量的n个整数像素并将插值滤波器应用到读出的n个整数像素来产生子像素a、b、c、d、h和n。例如,可通过使用等式b=(g*p1+h*p2+i*p3+j*p4+k*p5+l*p6+m*p7+n*p8)将具有{p1,p2,p3,p4,p5,p6,p7,p8}的抽头系数的8抽头插值滤波器应用到作为与子像素b1610水平邻近的8个整数像素的g、h、i、j、k、l、m和n,来产生1/2子像素b1610。同样,可通过使用等式h=(a*p1+c*p2+e*p3+j*p4+r*p5+w*p6+y*p7+aa*p8)来将具有{p1,p2,p3,p4,p5,p6,p7,p8}的抽头系数的8抽头插值滤波器应用到作为与子像素h1620垂直邻近的8个整数像素的a、c、e、j、r、w、y、aa来产生1/2子像素h1620。如上所述,抽头数量和抽头系数可被改变。

可通过使用通过以上插值处理产生的1/2子像素b1610和1/2子像素h1620与整数像素之间的平均值来产生位于与整数像素相同的行或列上的1/4子像素a、c、d和n。例如,1/4子像素a1640可通过使用等式a=(j+b)/2来产生。这样,为了对位于与整数像素相同的行或列上的1/2子像素b或n或者1/4子像素a、c、d和n进行插值,需要读出n个相邻整数像素的处理(n是滤波器抽头数量)。

接下来,将解释对没有位于与整数像素相同的行或列上的子像素e、f、g、i、j、k、p、q和r进行插值的处理。

可通过沿水平方向和垂直方向中的任意方向应用插值滤波器来产生1/2子像素j1630。例如,可通过将8抽头插值滤波器应用到水平邻近的相邻的1/2子像素nn、mm、ll、h、hh、ii、jj和kk来产生1/2子像素j1630,或者可通过将8抽头插值滤波器应用到垂直邻近的相邻的1/2子像素aa、bb、cc、b、dd、ee、ff和gg来产生1/2子像素j1630。这里,可以以与用于获得1/2子像素h1620的方式类似的方式产生水平邻近的1/2子像素nn、mm、ll、h、hh、ii、jj和kk,可以以与用于获得1/2子像素b1610的方式类似的方式产生垂直邻近的1/2子像素aa、bb、cc、b、dd、ee、ff和gg。

可通过使用与相邻的邻近整数像素或1/2子像素的平均值滤波器来产生没有位于与整数像素相同的行或列上的1/4子像素e、f、g、i、k、p、q和r。例如,可通过使用1/2子像素b1610和1/2子像素j1630之间的平均值来获得1/4子像素f1650,可通过使用诸如等式r=(hh+dd)/2的对角线平均滤波器来产生1/4子像素r1660。

图17a至图17c是示出根据本发明的实施例的运动补偿处理所需的参考帧的数据的示图。

参照图17a,当具有尺寸为l×m(l和m是整数)的当前预测单元1711的运动矢量mv1通过由运动估计器420进行的运动估计被确定时,运动补偿器425通过从存储器读出参考帧1720中的由运动矢量mv1指示的对应区域来产生当前预测单元1711的预测值。假设运动矢量mv1的水平分量是mvx1,运动矢量mv1的垂直分量是mvy1,则水平分量mvx1具有整数值,垂直分量mvy1具有分数值。在这种情况下,为了读出对应区域1721,水平邻近的整数像素之间的子像素需要被产生。如果假设沿垂直方向应用的插值滤波器的抽头数量是nl,则由于针对每个像素的垂直插值所需的垂直整数像素的数量是nl并且对应区域1721的一列包括l个像素,为了读出对应区域1721,因此包括插值所需的垂直整数像素的(l+nl-1)*m个整数像素会需要被读出。

同样,参照图17b,当当前预测单元1711的运动矢量mv2通过由运动估计器420进行运动估计被确定时,运动补偿器425通过从存储器读出参考帧1720中的由运动矢量mv2指示的对应区域1721来产生当前预测单元1711的预测值。假设运动矢量mv2的水平分量是mvx2,运动矢量mv2的垂直分量是mvy2,则水平分量mvx2具有分数值并且垂直分量mvy2具有整数值。在这种情况下,为了读出对应区域1721,水平邻近的整数像素之间的子像素会需要被产生。如果假设沿水平方向应用的插值滤波器的抽头数量是nm,则针对每个像素的水平插值所需的水平整数像素的数量是nm并且对应区域1721的一行包括m个像素,为了读出对应区域1721,包括插值所需的水平整数像素的l*(m+nm-1)个整数像素会需要被读出。

参照图17c,当当前预测单元1711的运动矢量mv3通过由运动估计器420进行运动估计被确定时,运动补偿器425通过从存储器读出参考帧1720中的由运动矢量mv3指示的对应区域1721来产生当前预测单元1711的预测值。假设运动矢量mv3的水平分量是mvx3,运动矢量mv3的垂直分量是mvy3,则水平分量mvx3和垂直分量mvy3两者具有分数值。在这种情况下,为了读出对应区域1721,会需要通过沿水平方向和垂直方向执行插值来产生整数像素之间的子像素。如上所述,当假设沿垂直方向应用的插值滤波器的抽头数量是nl并且沿水平方向应用的插值滤波器的抽头数量是nm,则为了读出对应区域1721,包括插值所需的水平整数像素和垂直整数像素的(l+nl-1)*(m+nm-1)个整数像素会需要被读出。

这样,根据当前预测单元的运动矢量的水平分量和垂直分量确定为了对子像素进行插值而读出的参考帧的整数像素的数量。

从存储器访问的角度来看,可通过使用等式num=(当前预测单元的运动补偿所需的参考帧的像素的数量)/(包括在当前预测单元中的总像素数量)来获得在运动补偿期间的针对当前预测单元的每个像素所需的参考帧的整数像素的数量num。如上所述,假设沿垂直方向应用的插值滤波器的抽头数量是nl,沿水平方向应用的插值滤波器的抽头数量是nm,当前预测单元的运动矢量的水平分量是mvx并且当前预测单元的运动矢量的垂直分量是mvy。当仅运动矢量的水平分量mvx具有分数值而不是整数值时,由于具有尺寸为l×m的当前预测单元的运动补偿所需的参考帧的像素的数量是(l+nl-1)*m,因此在运动补偿期间的针对当前预测单元的每个像素所需的参考帧的整数像素的数量num是num=(l+nl-1)*m/(l*m)。

同样,当仅运动矢量的垂直分量mvy具有分数值而不是整数值时,由于具有尺寸为l×m的当前预测单元的运动补偿所需的参考帧的像素的数量是l*(m+nm-1),因此在运动补偿期间的针对当前预测单元的每个像素所需的参考帧的整数像素的数量num是num=l*(m+nm-1)/(l*m)。

当运动矢量的水平分量mvx和垂直分量mvy具有分数值而不是整数值时,由于具有尺寸为l×m的当前预测单元的运动补偿所需的参考帧的像素的数量是(l+nl-1)*(m+nm-1),因此在运动补偿期间的针对当前预测单元的每个像素所需的参考帧的整数像素的数量num是num=(l+nl-1)*(m+nm-1)/(l*m)。

这样,在运动补偿期间的针对当前预测单元的每个像素的参考帧的整数像素的数量num对应于单向预测的情况下的数量。在双向预测的情况下,由于两个参考帧被使用,需要的整数像素的数量是2*num。

如以下将描述,根据当前预测单元的尺寸和应用到当前预测单元的单向运动估计模式和双向运动估计模式来对针对当前预测单元的每一个像素的运动补偿所需的参考帧的像素的数量num进行分类,当针对当前预测单元的每一个像素的运动补偿所需的参考帧的像素的数量等于或小于预定阈值时,通过将单向运动估计模式和双向运动估计模式两者应用到当前预测单元来限制对存储参考帧的预定存储装置的访问,或者当针对当前预测单元的每一个像素的运动补偿所需的参考帧的像素的数量大于预定阈值时,通过仅将单向运动估计模式应用到当前预测单元来限制对存储参考帧的预定存储装置的访问。也就是说,在运动补偿期间,当针对每一个像素所需的参考帧的像素的数量过大时,通过对运动补偿处理进行限制来对用于在运动补偿处理中读出参考帧数据的存储器访问进行限制。

图18a至图18g是示出根据预测单元的尺寸、预测模式和预测单元的运动矢量的水平分量和垂直分量是否具有整数值的针对当前预测单元的每一个像素的运动补偿所需的参考帧的像素的数量的表。在图18a至图18g中,i指示运动矢量的水平分量和垂直分量两者具有整数值的情况,id指示运动矢量的水平分量和垂直分量中的任何一个具有分数值而不是整数值的情况,2d指示运动矢量的水平分量和垂直分量两者具有分数值而不是整数值的情况。此外,在包括参考第一参考像素列表的l0预测以及参考第二参考画面列表的l1预测的双向预测的情况下,i-i指示用于l0预测和l1预测的两个运动矢量中的每个的水平分量和垂直分量两者具有整数值的情况,id-id指示用于l0预测和l1预测的两个运动矢量具有具有分数值而不是整数值的一个水平分量或一个垂直分量的情况,2d-2d指示用于l0预测和l1预测的两个运动矢量的水平分量和垂直分量具有分数值而不是整数值的情况。此外,i-1d指示用于l0预测和l1预测的两个运动矢量中的一个运动矢量的水平分量和垂直分量两者具有整数值,并且剩余的运动矢量的水平分量和垂直分量中的任何一个具有分数值而不是整数值的情况。此外,i-2d指示用于l0预测和l1预测的两个运动矢量中的运动矢量的水平分量和垂直分量两者具有整数值,并且剩余的运动矢量的水平分量和垂直分量两者具有分数值而不是整数值的情况。此外,1d-2d指示用于l0预测和l1预测的两个运动矢量中的一个运动矢量的水平分量和垂直分量中的任何一个具有分数值而不是整数值,并且剩余的运动矢量的水平分量和垂直分量两者具有分数值而不是整数值的情况。

在图18a至图18g中,具有相同的抽头数量n的插值滤波器用作沿水平方向和垂直方向的插值滤波器,抽头数量n具有范围为从8到2的值。

参照图18a,当使用8抽头插值滤波器,具有尺寸为4×8的预测单元的运动矢量的水平分量和垂直分量中的任何一个具有分数值而不是整数值,并且对具有尺寸为4×8的预测单元执行单向运动估计时,由于具有尺寸为4×8的预测单元的运动补偿所需的整数像素的总数量是(4+8-1)*8,2.75可通过将(4+8-1)*8除以具有尺寸为4×8的预测单元中的32个像素来获得((4+8-1)*8/(4x8)=2.75)。通过该计算,如图18a中所示,当预测单元(块)的尺寸是4×8,运动矢量的水平分量和垂直分量中的仅一个具有分数值而不是整数值(1d的情况下),并且单向预测模式被执行时,作为针对每一像素所需的参考帧的整数像素的数量的2.75可被获得。类似地,可通过根据运动矢量的水平分量和垂直分量是整数值还是分数值,来使用用于计算运动补偿期间的针对当前预测单元的每一个像素所需的参考帧的整数像素的数量的num=(l+nl-1)*m/(l*m)、num=l*(m+nm-1)/(l*m)和num=(l+nl-1)*(m+nm-1)/(l*m)中的任何一个来获得图18a至图18g的表。

通过对图18a至图18g的表进行分析,发现随着预测单元的尺寸增加,在运动补偿期间的针对当前预测单元的每一个像素所需的参考帧的整数像素的数量减少。例如,参照图18a,在双向预测模式(bi-prediction)下,发现当运动矢量的水平分量和垂直分量具有分数值而不是整数值(在2d-2d的情况下)并且预测单元的尺寸从2×2增加到64×64时,针对每一个像素所需的参考帧的整数像素的数量从40.50减少到2.46。这样,当对具有过小尺寸的预测单元执行运动估计和运动补偿时,由于针对每一个像素所需的参考帧的整数像素的数量增加,从存储器访问的角度而言是低效率的。因此,可通过在预测单元的尺寸大于预定尺寸时使用单向运动估计模式和双向运动估计模式两者并通过在预测单元的尺寸等于或小于预定尺寸时仅使用单向运动估计模式,对在预测单元的尺寸具有等于或小于预定阈值的尺寸时使用的运动估计模式进行限制,来将用于读出参考帧数据的存储器访问限于预定带宽。

图19至图20是从高值开始以降序示出根据亮度分量的预测单元的尺寸、色度分量的预测单元的尺寸、预测模式和预测单元的运动矢量的水平分量和垂直分量是否具有整数值的针对当前预测单元的每一个像素的运动补偿所需的参考帧的像素的数量的表。在图19中,假设8抽头插值滤波器用作用于亮度分量的插值滤波器,4抽头插值滤波器用作用于色度分量的插值滤波器,亮度分量的最小预测单元的尺寸是4×8,色度分量的最小预测单元的尺寸是2×4。当与图19比较时,在图20中,亮度分量的最小预测单元的尺寸是4×4,色度分量的最小预测单元的尺寸是2×2。

参照图19,由于从存储器访问的角度来看表中的上部位置效率更低,因此运动估计器420和运动补偿器425可通过在上部位置的情况下对运动估计模式进行限制或改变来对运动补偿处理中的存储器访问进行限制。例如,当亮度分量的预测单元的尺寸是作为最小预测单元的4×8或8×4时,运动估计器420和运动补偿器425可仅执行包括l0预测和l1预测的单向运动估计模式,仅当亮度分量的预测单元的尺寸大于作为最小预测单元的4×8或8×4时,运动估计器420和运动补偿器425可执行除单向运动估计模式以外的双向运动估计模式。同样,当色度分量的预测单元的尺寸是作为最小预测单元的2×4或4×2时,运动估计器420和运动补偿器425可仅执行包括l0预测和l1预测的单向运动估计模式,仅当色度分量的预测单元的尺寸大于作为最小预测单元的2×4或4×2时,可执行除单向运动估计模式以外的双向运动估计模式。

同样,参照图20,运动估计器420和运动补偿器425可通过在上部位置的情况下对运动估计模式进行限制或改变来对运动补偿处理中的存储器访问进行限制。

如上所述,当从存储器访问的角度来看针对当前预测单元的每一个像素的运动补偿所需的参考帧的像素的数量等于或大于预定阈值时,运动估计器420和运动补偿器425对运动估计模式进行限制。也就是说,运动估计器420和运动补偿器425确定当当前预测单元的尺寸大于预定尺寸时单向运动估计模式和双向运动估计模式两者被使用,并确定当当前预测单元的尺寸等于或小于预定尺寸时仅单向运动估计模式被使用。运动估计器420和运动补偿器425可确定当当前预测单元的尺寸过小时运动估计模式不被使用。例如,运动估计器420和运动补偿器425可针对亮度分量的预测单元将最小预测单元的尺寸设置为4×8或8×4,并且当亮度分量的当前预测单元小于4×8或8×4时,可不执行运动估计。此外,运动估计器420和运动补偿器425可针对色度分量的预测单元将最小预测单元的尺寸设置为2×4或4×2,并且当色度分量的当前预测单元小于2×4或4×2时可不执行运动估计。即使在尺寸等于或大于最小预测单元的尺寸时,运动估计器420和运动补偿器425也可对将被执行的运动估计模式进行分类,并且可确定当效率最低的当前预测单元的尺寸是最小预测单元的尺寸时仅单向运动估计模式被使用,并确定仅当当前预测单元的尺寸不是最小预测单元的尺寸时(即,当前预测单元的尺寸大于最小预测单元的尺寸时),单向运动估计模式和双向运动估计模式两者被使用。

这样,运动估计器420和运动补偿器425基于当前预测单元的尺寸确定应用到当前预测单元的运动估计和运动补偿的单向运动估计模式和双向运动估计模式是否被使用,并通过根据单向运动估计模式和双向运动估计模式是否被使用来使用单向运动估计模式和双向运动估计模式中的至少一个运动估计模式,来针对当前预测单元执行运动估计和运动补偿。图4中未示出的控制器基于通过运动估计和运动补偿而获得的当前预测单元的编码成本(例如,rd成本)确定将应用到当前预测单元的最佳运动估计模式。熵编码器460基于当前预测单元的尺寸对确定的运动估计模式信息进行编码。

例如,熵编码器460基于表2确定指示基于当前预测单元的尺寸的当前预测单元的最终运动估计模式的语法inter_pred_idc,并对语法inter_pred_idc进行编码。

表2

参照表2,熵编码器460对指示基于当前预测单元的尺寸的用于当前预测单元的最终运动估计模式的inter_pred_idc进行熵编码。详细地,当当前预测单元作为亮度分量的预测单元具有大于作为最小预测单元的4×8或8×4时,单向预测(l0预测和l1预测)和双向预测两者可被使用。当l1预测被确定为当前预测单元的最终运动估计模式时,熵编码器460将1熵编码为inter_pred_idc。在解码器端的熵解码器520可基于从比特流获得的当前预测单元的inter_pred_idc和尺寸信息,根据表2确定用于当前预测单元的运动估计模式。可选择地,当当前预测单元作为亮度分量的预测单元是作为最小预测单元的4×8或8×4的最小预测单元时,仅单向预测(l0预测和l1预测)可被使用。当l1预测被确定为当前预测单元的最终运动估计模式时,熵编码器460将1熵编码为inter_pred_idc。

通过从存储访问的角度来看对基于预测单元的尺寸单向运动估计模式和双向运动估计模式是否被使用进行限制来执行运动补偿。可选择地,可减少用于运动估计的插值滤波器的抽头数量。例如,可使用用于对亮度分量进行插值的4抽头插值滤波器而不是8抽头滤波器,可使用用于对色度分量进行插值的2抽头插值滤波器而不是4抽头插值滤波器。

可选择地,可通过使用1d插值处理替代2d插值处理来减少读出参考帧数据的处理。

图21至图23是用于解释根据本发明的另一实施例的用于减少读出参考帧的数据的处理的插值处理的参考示图。

参照图21至图23,由于不能通过仅使用1d插值滤波器来获得没有位于与整数像素相同的行或列上的子像素e、f、g、i、j、k、m、n和o而是通过2d插值处理来获得它们,因此存储器访问增加。因此,根据本发明的另一实施例,在不对子像素e、f、g、i、j、k、m、n和o执行2d插值处理的情况下,可通过使用通过1d插值滤波器获得的相邻子像素或整数像素来获得子像素e、f、g、i、j、k、m、n和o的值。

参照图21至图23,运动估计器420和运动补偿器425可使用由箭头标记的相邻子像素或整数像素,以便产生子像素e、f、g、i、j、k、m、n和o的值。

图24和图25是根据本发明的另一实施例的在通过使用通过使用1d插值滤波器而不是2d插值处理或减少插值滤波器的抽头数量来执行插值时,从高值开始以降序示出根据亮度分量的预测单元的尺寸、色度分量的预测单元的尺寸、运动估计模式以及预测单元的运动矢量的水平分量和垂直分量是否具有整数值的针对当前预测单元的每一个像素的运动补偿所需的参考帧的像素的数量的表。图24示出亮度分量的最小预测单元的尺寸是4×8并且色度分量的最小预测单元的尺寸是2×4的情况。图25示出亮度分量的最小预测单元的尺寸是4×4并且色度分量的最小预测单元的尺寸是2×2的情况。此外,在图24和图25中,a指示插值滤波器的抽头数量减少的情况,b指示通过使用可通过使用1d插值滤波器而不是2d插值处理而获得的相邻子像素或整数像素来执行插值的情况。

参照图24和图25,发现当通过使用相邻子像素或整数像素来执行插值时,针对当前预测单元的每一个像素的运动补偿所需的参考帧的像素的数量可小于原始情况的数量,其中,可通过使用1d插值滤波器而不是2d插值处理或通过减少插值滤波器的抽头数量而获得所述相邻子像素或整数像素。

图26是示出根据本发明的实施例的视频编码方法的流程图。

参照图26,在操作2610,运动估计器420和运动补偿器425基于将被编码的当前预测单元的尺寸确定应用到当前预测单元的运动估计和运动补偿的单向运动估计模式和双向运动估计模式是否被使用。如上所述,从存储器访问的角度来看,当针对当前预测单元的每一个像素的运动补偿所需的参考帧的像素的数量等于或大于预定阈值时,运动估计器420和运动补偿器425对运动估计模式进行限制。也就是说,运动估计器420和运动补偿器425可确定当当前预测单元的尺寸大于预定尺寸时单向运动估计模式和双向运动估计模式两者被使用,并可确定当当前预测单元的尺寸等于或小于预定尺寸时仅单向运动估计模式被使用。

在操作2620,运动估计器420和运动补偿器425通过根据单向运动估计模式和双向运动估计模式是否被使用来应用单向运动估计模式和双向运动估计模式中的至少一个运动估计模式,来对当前预测单元执行运动估计和运动补偿。

在操作2630,控制器基于通过运动估计和运动补偿获得的当前预测单元的编码成本来确定当前预测单元的运动估计模式。在操作2640,熵编码器460对基于当前预测单元的尺寸确定的运动估计模式信息进行熵编码。如上所述,熵编码器460基于表2确定指示用于当前预测单元的最终运动估计模式的语法inter_pred_idc,并对语法inter_pred_idc进行熵编码。

图27是示出根据本发明的实施例的运动补偿设备2700的框图。图27的运动补偿设备2700对应于图5的图像解码器500的运动补偿器560。

参照图5和图27,熵解码器520从比特流获得指示应用到当前预测单元的运动估计模式的运动估计模式信息和将被解码的当前预测单元的尺寸信息。

如参照图1至图13所描述,可获得来自比特流的指示通过对构成视频的帧进行划分而获得的最大编码单元的尺寸的信息、指示最大编码单元被空间划分的次数的深度、以及具有分层结构的变换单元以及用于根据深度分层地分类的编码单元的预测编码的预测单元的结构,并针对基于获得的信息以最大尺寸的编码单元为单位对帧进行划分而获得的每个至少一个最大编码单元,从指示最大编码单元被空间划分的次数的深度的根据深度分层地分类的编码单元中可确定包括编码深度的编码单元的具有树结构的编码单元,可确定针对每个编码深度的编码单元的用于预测编码的预测单元,并可确定具有树结构的变换单元。

此外,作为运动估计模式信息,可使用基于当前预测单元的尺寸的指示应用到当前预测单元的运动估计模式的语法inter_pred_idc。

运动补偿执行单元2720基于当前预测单元的尺寸和获得的运动估计模式信息(即,语法inter_pred_idc)通过使用表2从单向运动估计模式和双向运动估计模式确定应用到当前预测单元的运动估计模式。

返回参照表2,当当前预测单元作为亮度分量的预测单元具有大于作为最小预测单元的4×8或8×4的尺寸并且从比特流提取的语法inter_pred_idc的值是1时,运动补偿执行单元2720将当前预测单元的运动估计模式确定为单向l1预测。可选择地,当当前预测单元作为亮度分量的预测单元是作为最小预测单元的4×8或8×4的最小预测单元时,运动补偿执行单元2720确定当从比特流提取的语法inter_pred_idc的值是1时当前预测单元的最终运动估计模式是l1预测,并确定当语法inter_pred_idc的值是2时运动估计模式不应用到当前预测单元。

图28是示出根据本发明的实施例的视频解码方法的流程图。

参照图28,在操作2810,熵解码器520从比特流获得指示应用到将被解码的当前预测单元的运动估计模式和当前预测单元的尺寸信息的运动估计模式信息。

在操作2820,运动补偿器560基于当前预测单元的尺寸和获得的运动估计模式信息从单向运动估计模式和双向运动估计模式中确定应用到当前预测单元的运动估计模式。如上所述,运动补偿器560可基于预测单元的尺寸和根据表2确定的语法inter_pred_idc确定将用于当前预测单元的运动估计模式。

在操作2830,运动补偿器560通过根据确定的运动估计模式读出参考帧的数据来执行获得用于当前预测单元预测的预测值的运动补偿。

由于用于执行参照图1至图28描述的视频编码方法和视频解码方法的每个实施例的程序被存储在计算机可读记录介质中,因此,独立的计算机系统可容易地执行根据存储在计算机可读记录介质中的每个实施例的操作。

将详细解释存储程序的计算机可读记录介质是盘260的实施例。

图29a示出根据本发明的实施例的存储程序的盘260的物理结构。作为存储介质的盘260可以是硬盘驱动器、致密盘-只读存储器(cd-rom)盘、蓝光盘或数字多功能盘(dvd)。盘260包括多个同心磁道tf,其中,tf沿盘260的圆周方向均被划分为特定数量的扇区se。在盘260的特定区域中,可分配和存储执行如上所述的对多视点视频进行预测的方法、对多视点视频进行预测恢复的方法、对多视点视频进行编码的方法和对多视点视频进行解码的方法的程序。

现将参照图29b描述使用存储介质实施的计算机系统,其中,所述存储介质存储用于执行如上所述的视频编码方法和视频解码方法的程序。

图29b示出通过使用盘260记录和读取程序的盘驱动器263。计算机系统265可经由盘驱动器263将执行根据本发明的实施例的视频编码方法和视频解码方法中的至少一个的程序存储在盘260中。为了运行存储在计算机系统265中的盘260中的程序,可通过使用盘驱动器263来从盘260读取程序,并将其发送到计算机系统265。

执行根据本发明的实施例的视频编码方法和视频解码方法中的至少一个的程序不仅可被存储在图29a或图29b中所示的盘260中,还可被存储在存储卡、rom盒或固态驱动器(ssd)中。

以下将描述应用了上述视频编码方法和视频解码方法的系统。

图30示出提供内容分布服务的内容供应系统1100的整体结构。通信系统的服务区域被划分为预定大小的单元(cell),并且无线基站1170、1180、1190和1200分别被安装在这些单元中。

内容供应系统1100包括多个独立装置。例如,多个独立装置(诸如,计算机1210、个人数字助理(pda)1220、视频相机1230和移动电话1250)经由互联网服务提供器1120、通信网络1140和无线基站1170、1180、1190和1200被连接到互联网1110。

然而,内容供应系统110不限于图30中示出的内容供应系统,并且装置可选择性地被连接到内容供应系统。多个独立的装置可直接而不是经由无线基站1170、1180、1190和1200被连接到通信网络1140。

视频相机1230是成像装置(例如,能够捕获视频图像的数字视频相机)。移动电话1250可采用如下的各种协议中的至少一个通信方法:例如,个人数字通信(pdc)、码分多址(cdma)、宽带码分多址(w-cdma)、全球移动通信系统(gsm)和个人手持电话系统(phs)。

视频相机1230可经由无线基站1190和通信网络1140被连接到流传输服务器1130。流传输服务器1130允许经由视频相机1230从用户接收的内容经由实时广播被流传输。可使用视频相机1230或流传输服务器1130对从视频相机1230接收的内容进行编码。由视频相机1230捕获的视频数据可经由计算机1210被发送到流传输服务器1130。

由相机1230捕获的视频数据还可经由计算机1210被发送到流传输服务器1130。与数字相机类似,相机1260是能够捕获静止图像和视频图像两者的成像装置。可使用相机1260或计算机1210对由相机1260捕获的视频数据进行编码。对视频进行编码和解码的软件可被存储在可由计算机1210访问的计算机可读记录介质(例如,cd-rom盘、软盘、硬盘驱动器、ssd或存储卡)中。

如果由设置在移动电话1250中的相机捕获视频数据,则可从移动电话1250接收视频数据。

还可通过安装在视频相机1230、移动电话1250或相机1260中的大规模集成电路(lsi)系统对视频数据进行编码。

根据本发明的实施例,内容供应系统1110可对由用户使用视频相机1230、相机1260、移动电话1250或另一成像装置记录的内容数据(例如,在演唱会期间记录的内容)进行编码,并将编码的内容数据发送到流传输服务器1130。流传输服务器1130可将编码的内容数据流传输到请求该内容数据的其他客户机。

客户机是能够对编码的内容数据进行解码的装置(例如,计算机1210、pda1220、视频相机1230或移动电话1250)。因此,内容供应系统1100允许客户机接收和再现编码的内容数据。此外,内容供应系统1100允许客户机接收编码的内容数据,并实时地对编码的内容数据进行解码和再现,从而实现个人广播。

包括在内容供应系统1100中的多个独立装置的编码操作和解码操作可与根据本发明的实施例的视频编码设备和视频解码设备的操作类似。

现将参照图31和图32更详细地描述包括在根据本发明的实施例的内容供应系统1100中的移动电话1250。

图31示出根据本发明的实施例的应用了视频编码方法和视频解码方法的移动电话1250的外部结构。移动电话1250可以是智能电话、智能电话的功能不受限制并且智能电话的大部分功能可被改变或扩展。

移动电话1250包括内部天线1251,并包括显示屏1252(例如,液晶显示器(lcd)或有机发光二极管(oled)屏幕),其中,可经由内部天线1251与图26的无线基站1200交换射频(rf)信号,显示屏1252用于显示由相机1253捕获的图像或经由天线1251接收的和解码的图像。智能电话1251包括包含控制按钮和触摸面板的操作面板1254。如果显示屏1252是触摸屏,则操作面板1254还包括显示屏1252的触摸感测面板。智能电话1251包括用于输出语音和声音的扬声器或另一类型的声音输出单元、以及用于输入语音和声音的麦克风1255或另一类型的声音输入单元。智能电话1251还包括相机1253(诸如,电荷耦合元件(ccd)相机)以捕获视频和静止图像。智能电话1251还可包括:存储介质1257,用于存储编码/解码的数据(例如,由相机1253捕获、经由电子邮件接收或根据另一方法获得的视频或静止图像);槽1256,存储介质1257经由其被加载到移动电话1250。存储介质1257可以是闪存(例如,包括在塑料盒中的安全数字(sd)卡或电可擦可编程只读存储器(eeprom))。

图32示出根据本发明的实施例的移动电话1250的内部结构。为了系统地控制移动电话1250的部件(包括显示屏1252和操作面板1254),电源电路1270、操作输入控制器1264、图像编码器1272、相机接口1263、lcd控制器1262、图像解码器1269、复用器/解复用器1268、记录/读取单元1267、调制/解调单元1266和声音处理器1265经由同步总线1273被连接到中央控制器1271。

如果用户操作电源按钮并从“电源关闭”状态改变为“电源打开”状态,则电源电路1270从电池组将功率供应给移动电话1250的所有部件,从而将移动电话1250设置为操作模式。

中央控制器1271包括中央处理单元(cpu)、rom和随机存取存储器(ram)。

当移动电话1250将通信数据发送到外部时,在中央控制器的控制下,在移动电话1250中产生数字信号。例如,声音处理器1265可产生数字声音信号,图像编码器1272可产生数字图像信号,并且消息的文本数据可经由操作面板1254和操作输入控制器1264被产生。当在中央控制器1271的控制下数字信号被传送到调制/解调单元1266时,调制/解调单元1266对数字信号的频带执行调制,通信电路1261对频带调制的数字信号执行数模转换(dac)和频率转换。从通信电路1261输出的传输信号可经由天线1251被发送到语音通信基站或无线基站1200。

例如,当移动电话1250处于对话模式时,在中央控制器1271的控制下由声音处理器1265将经由麦克风1255获得的声音信号变换为数字声音信号。可经由调制/解调单元1266和通信电路1261将数字声音信号变换为变换信号,并可经由天线1251进行发送。

当在数据通信模式下发送文本消息(例如,电子邮件)时,经由操作面板1254输入文本消息的文本数据,并经由操作输入控制器1264将其发送到中央控制器1261。在中央控制器1261的控制下,文本数据经由调制/解调单元1266和通信电路1261被变换为传输信号,并经由天线1251被发送到无线基站1200。

为了在数据通信模式下发送图像数据,由相机1253捕获的图像数据经由相机接口1263被提供给图像编码器1272。捕获的图像数据可经由相机接口1263和lcd控制器1262被直接地显示在显示屏1252上。

图像编码器1272的结构可对应于上述视频编码设备100的结构。图像编码器1272可根据由上述视频编码设备100或图像编码器400采用的视频编码方法将从相机1253接收的图像数据变换为压缩编码的图像数据,随后将编码的图像数据输出到复用器/解复用器1268。在相机1253的记录操作期间,由移动电话1250的麦克风1255获得的声音信号可经由声音处理器1265被变换为数字声音数据,并且数字声音数据可被传送到复用器/解复用器1268。

复用器/解复用器1268将从图像编码器1272接收的编码图像数据连同从声音处理器1265接收的声音数据一起进行复用。可经由调制/解调单元1266和通信电路1261将对数据进行复用的结果变换为传输信号,随后可经由天线1251进行发送。

当移动电话1250从外部接收通信数据时,对经由天线1251接收的信号执行频率恢复和adc以将该信号变换为数字信号。调制/解调单元1266对数字信号的频带进行调制。根据数字信号的类型,将频带调制的数字信号发送到视频解码器1269、声音处理器1265或lcd控制器1262。

在对话模式下,移动电话1250对经由天线1251接收的信号进行放大,并通过对经放大的信号执行频率转换和adc来获得数字声音信号。在中央控制器1271的控制下,经由调制/解调单元1266和声音处理器1265将接收的数字声音信号变换为模拟声音信号,并经由扬声器1258输出模拟声音信号。

当在数据通信模式下接收到经由互联网网站访问的视频文件的数据时,经由调制/解调单元1266将经由天线1251从无线基站1200接收的信号输出为复用的数据,并将复用的数据发送到复用器/解复用器1268。

为了对经由天线1251接收的复用的数据进行解码,复用器/解复用器1268将复用的数据解复用为编码的视频数据流和编码的音频数据流。经由同步总线1273,编码的视频数据流和编码的音频数据流分别被提供给视频解码器1269和声音处理器1265。

图像解码器1269的结构可对应于上述视频解码设备200的结构。图像解码器1269可根据由上述视频解码设备200或图像解码器500采用的视频解码方法对编码的视频数据进行解码以获得恢复的视频数据,并经由lcd控制器1262将恢复的视频数据提供给显示屏1252。

因此,经由互联网网站访问的视频文件的数据可被显示在显示屏1252上。同时,声音处理器1265可将音频数据变换为模拟声音信号,并将模拟声音信号提供给扬声器1258。因此,还可经由扬声器1258再现经由互联网网站访问的视频文件中包含的音频数据。

移动电话1250或另一类型的通信终端可以是包括根据本发明的实施例的视频编码设备和视频解码设备两者的收发终端,可以是仅包括视频编码设备的收发终端或可以是仅包括视频解码设备的收发终端。

根据本发明的通信系统不限于以上参照图30描述的通信系统。例如,图33示出根据本发明的实施例的采用通信系统的数字广播系统。图32的数字广播系统可通过使用根据本发明的实施例的视频编码设备和视频解码设备接收经由卫星或地面网络发送的数字广播。

具体地讲,广播站1289通过使用电波将视频数据流发送到通信卫星或广播卫星1290。广播卫星1290发送广播信号,并且经由家庭天线1286将广播信号发送到卫星广播接收器。在每个家庭中,可由tv接收器1281、机顶盒1287或另一装置对编码的视频流进行解码和再现。

当根据本发明的实施例的视频解码设备包括在再现设备1283中时,再现设备1283可对记录在存储介质1282(诸如,盘或存储卡)上的编码的视频流进行解析和解码以恢复原始视频信号。因此,可例如在监视器1284上再现恢复的视频信号。

在用于卫星/地面广播的天线1286或连接到用于接收有线电视(tv)节目的有线天线1285的机顶盒1287中,可安装根据本发明的实施例的视频解码设备。还可在tv监视器1288上再现从机顶盒1287输出的数据。

作为另一示例,根据本发明的实施例的视频解码设备可被安装在tv接收器1281而不是机顶盒1287中。

包括适合的天线1291的汽车1292可接收从卫星1290或图26的无线基站1170发送的信号。可在设置在汽车1292中的汽车导航系统1293的显示屏幕上再现解码的视频。

可由根据本发明的实施例的视频编码设备对视频信号进行编码,并随后可将该视频信号存储在存储介质中。具体地讲,可由dvd记录器将图像信号存储在dvd盘1296中,或可由硬盘记录器将图像信号存储在硬盘中。作为另一示例,视频信号可被存储在sd卡1297中。如果硬盘记录器1295包括根据本发明的实施例的视频解码设备,则可在tv监视器1288上再现记录在dvd盘1296、sd卡1297或另一存储介质中的视频信号。

汽车导航系统1293可不包括图32的相机1253、相机接口1263和图像编码器1272。例如,计算机1210和tv接收器1281可不包括图32的相机1253、相机接口1263和图像编码器1272。

图34示出根据本发明的实施例的使用视频编码设备和视频解码设备的云计算系统的网络结构。

云计算系统可包括云计算服务器1400、用户数据库(db)1410、多个计算资源1420和用户终端。

云计算系统响应于来自用户终端的请求经由信息通信网络(例如,互联网)提供多个计算资源1420的按需外包服务。在云计算环境下,服务提供商通过使用虚拟化技术通过将位于物理上不同的位置的数据中心处的计算资源组合来向用户提供期望的服务。服务用户不必将计算资源(例如,应用,存储设施、操作系统(os)或安全功能)安装到他/她自己的终端中以便使用它们,但可在期望的时间点从通过虚拟化技术产生的虚拟空间中的服务中选择期望的服务,并使用期望的服务。

特定服务用户的用户终端经由包括互联网和移动通信网络的信息通信网络被连接到云计算服务器1410。可从云计算服务器1410向用户终端提供云计算服务,尤其是运动图像再现服务。用户终端可以是能够被连接到互联网的各种类型的电子装置,例如,桌上型pc1430、智能tv1440、智能电话1450、笔记本计算机1460、便携式多媒体播放器(pmp)1470、平板pc1480等。

云计算服务器1410可将分布于云网络中的多个计算资源1420组合,并向用户终端提供组合的结果。多个计算资源1420可包括各种数据服务,并可包括从用户终端上传的数据。如上所述,云计算服务器1410可根据虚拟化技术通过将分布于不同区域中的运动图像数据库组合来向用户终端提供期望的服务。

关于已订阅云计算服务的用户的用户信息被存储在用户db1410中。用户信息可包括日志信息、用户的地址、名称和个人信用信息。用户信息还可包括运动图像的索引。这里,索引可包括已被再现的运动图像的列表、正被再现的运动图像的列表、正被再现的运动图像的暂停点等。

可在用户装置之间共享关于存储在用户db1410中的运动图像的信息。例如,当响应于来自笔记本计算机1460的请求运动图像服务被提供给笔记本计算机1460时,运动图像服务的再现历史被存储在用户db1410中。当从智能电话1450接收到再现该运动图像服务的请求时,云计算服务器1410基于用户db1410搜索该运动图像服务,并再现该运动图像服务。当智能电话1450从云计算服务器1410接收到运动图像数据流时,通过对运动图像数据流进行解码来再现视频的处理与以上参照图28所述的移动电话1250的操作类似。

云计算服务器1410可参考存储在用户db1410中的期望的运动图像服务的再现历史。例如,云计算服务器1410从用户终端接收再现存储在用户db1410中的运动图像的请求。如果该运动图像正被再现,则由云计算服务器1410执行的流传输该运动图像的方法可根据来自用户终端的请求(即,根据将从运动图像的起点开始还是从运动图像的暂停点开始再现运动图像)而变化。例如,如果用户终端请求从运动图像的起点开始再现运动图像,则云计算服务器1410将从运动图像的第一帧开始的运动图像流传输到用户终端。如果用户终端请求从运动图像的暂停点开始再现运动图像,则云计算服务器1410将从与暂停点相应的帧开始的运动图像流传输到用户终端。

在这种情况下,用户终端可包括以上参照图1至图28描述的视频解码设备。作为另一示例,用户终端可包括以上参照图1至图28描述的视频编码设备。可选择地,用户终端可包括以上参照图1至图28描述的视频解码设备和视频编码设备两者。

以上已参照图29a至图34描述了以上参照图1至图28描述的根据本发明的实施例的视频编码方法、视频解码方法、视频编码设备和视频解码设备的各种应用。然而,根据本发明的各种实施例的将视频编码方法和视频解码方法存储在存储介质中的方法或将视频编码设备和视频解码设备包括在装置中的方法不限于以上参照图29a至图34描述的实施例。

本领域的普通技术人员应将在本公开中公开的框图理解为用于实现本发明的原理的电路的概念图。类似地,对本领域的普通技术人员而言显然的是不论计算机或处理器是否被明确地示出,任意流程图、流程示图、状态转换图、伪代码等都表示可实质上存储在计算机可读记录介质中并可由计算机或处理器执行的各种处理。因此,以上描述的本发明的实施例可被实施为计算机程序。可将计算机程序存储在计算机可读记录介质中,并使用通用数字计算机来执行。计算机可读介质的示例是磁记录介质(rom、软盘、硬盘等)和光学记录介质(cd-rom、dvd等)。

在附图中示出的各种元件的功能可与适合的软件相关,并且不仅经由能够执行该软件的硬件还经由专用硬件来提供在附图中示出的各种元件的功能。还可经由单个专用处理器、单个共享处理器或其中的一些可被共享的多个单个处理器提供这些功能。此外,术语“处理器”或“控制器”的明确的用途不限于只使用能够执行软件的硬件,并可隐含地包括用于存储软件的硬件(诸如,数字信号处理器(dsp)、只读存储器(rom)、随机存取存储器(ram)或非易失性存储介质)。

在本申请的权利要求中,提出作为用于执行特定操作的元件的元件包括执行特定操作的任何任意方法。元件的示例可包括能够执行特定操作的电路元件的组合、或与用于执行用于执行特定操作的软件的适合的电路结合的具有任意形式的软件(例如,固件或微代码)。

在本公开中,本发明的原理的表达“实施例”以及该表达的各种修改表示与该实施例相关的特定特征、结构和特性包括在本发明的原理的至少一个实施例中。因此,在本公开中公开的表达“实施例”及其任意其他修改不总是指示相同的实施例。

在本公开中,表达“a和b中的至少一个”的“…中的至少一个”用于包含地表示仅第一选项(a)被选择,仅第二选项(b)被选择,或第一操作和第二操作两者(a和b)被选择。另外,表达“a、b和c中的至少一个”用于包含地表示仅第一选项(a)被选择,仅第二选项(b)被选择,仅第三选项(c)被选择,仅第一选项和第二选项(a和b)被选择,仅第二选项和第三选项(b和c)被选择,仅第一选项和第三选项(a和c)被选择或全部三个选项(a、b和c)被选择。当与该表达相关地多于三个项被列出时,其含义对于本领域的普通技术人员而言将是显然的。

以上已描述本发明的示例性实施例。

尽管已参照本发明的示例性实施例具体地示出和描述了本发明,但本领域的普通技术人员将理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可进行形式和细节上的各种改变。示例性实施例应仅被看作描述性意义,而不是限制的目的。因此,本发明的范围不由本发明的详细描述而由权利要求来限定,并且在所属范围内的所有不同将被解释为包括在本发明中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1