用于运动补偿的视频解码方法和视频解码器与流程

文档序号:11844807阅读:196来源:国知局
用于运动补偿的视频解码方法和视频解码器与流程

相关申请

本专利文献要求2011年6月24日提交的临时美国专利申请No.6,501,112的在35 U.S.C.§119(e)下的申请日的利益,其完整内容以引用方式并入本文。

技术领域

本发明涉及用于帧间预测的运动补偿,具体地讲,涉及实现低复杂度和高精度的运动补偿中使用的分数样本(fractional sample)插值。



背景技术:

数字视频需要大量数据来以未压缩方式表示数字视频序列(例如,一系列帧)中的每一帧。由于带宽限制,对于大多数应用而言通过计算机网络发送未压缩的数字视频不可行。另外,未压缩的数字视频需要大量存储空间。通常以一些方式对数字视频进行编码,以降低存储要求并降低带宽要求。

对数字视频进行编码的一种技术是帧间预测。帧间预测利用了不同帧之间的时间冗余。视频的时间上相邻的帧通常包括基本上保持相同的像素块。在编码处理过程中,运动矢量使一个帧中的像素块的移动与另一帧中的类似像素块相互关联。因此,系统不需要对像素块编码两次,而是对像素块编码一次并提供运动矢量以预测另一像素块。

对数字视频进行编码的另一技术是帧内预测。帧内预测在不参照其它帧中的像素的情况下对帧或其一部分进行编码。帧内预测利用了帧内的像素块之间的空间冗余。由于空间上相邻的像素块通常具有相似的属性,所以通过参照相邻块之间的空间相关来提高编码处理的效率。可通过基于相邻块中使用的预测模式预测目标块来利用这种相关。

在帧间预测中,基于运动估计和补偿预测接收的图片。视频中的运动对象常常从一个帧到一个帧地出现,使得它的全部或一部分在那些后续帧中重新定位。不管那些重新定位,帧序列之间的相关较高,导致冗余。可通过将当前帧中的样本与基准帧中的相同对象的位置进行比较并相关来降低这种时间冗余。具体地讲,在运动估计过程中,将当前帧或其分区与基准帧进行比较,所述基准帧在时间上可在当前帧之前或前面。将相应基准帧中设置的搜索范围内的像素图案与当前帧中展现的像素图案进行比较,直至找到包含与待编码的当前帧中的像素图案最匹配的像素图案的基准帧为止。基于比较结果,来估计帧间位移矢量或运动矢量。利用估计的运动矢量,运动补偿生成当前帧的预测。

可通过对基准图片中的像素(称为整数位置处的样本,或简称为整数样本)应用插值以增加基准图片的分辨率,来增加运动矢量准确度和编码效率。插值是为了利用整数样本的值生成各个整数样本之间的分数样本。整数样品之间生成越多分数样本,基准图片的分辨率变得越高,可越精确和准确地补偿分数样本位移。例如,为了准确地补偿仅为半个像素的位移的运动对象的移动,需要至少半像素插值。可利用许多种不同的块尺寸来执行运动估计和补偿。可针对具有4×4、4×8、8×4、8×8、8×16、16×8或16×16像素的分区确定各个运动矢量。提供小的运动补偿分区提高了处理精细运动细节的能力。

H.264/AVC采用2步骤方法并实现高达四分之一像素分辨率的运动补偿。在H.264/AVC中,第一步骤使用6抽头滤波器来从周围整数样本的值生成半像素分辨率的中间值。在第二步骤中,对整数样本的值和中间值取平均,或者在中间值之间取平均,以生成四分之一像素位置处的分数样本(或简称为四分之一像素样本)。在B切片中,可对来自两个预测的两个预测分数样本进一步取平均。然而,请注意,多重平均运算在级联时会引入舍入误差,其对运动补偿的准确度和效率有不利影响。视频编码联合协作组(JCT-VC)的提案D321和E242解决了与双向平均关联的舍入误差问题。这些文献提出增加舍入操作,所述舍入操作被限制在两个预测之后的双向平均的最后步骤处进行。

JCT-VC草案E603公开了使用8抽头滤波器来实现四分之一像素分辨率。在E603中,一些四分之一像素样本通过将8抽头滤波器应用于最近的整数样本并将滤波结果截断为预定比特深度来导出。剩余四分之一像素样本通过两个处理来导出。在第一处理中,中间值通过在垂直方向上将8抽头滤波器应用于最近整数样本来导出。在第二处理中,在水平方向上将8抽头滤波器应用于中间值,并将滤波结果截断至预定比特深度。此2处理方法的优点在于,第二处理中的垂直滤波和水平滤波不要求固定顺序,因此没有必要向解码器提供有关第二处理中的垂直滤波和水平滤波的顺序的信令。然而,E603中讨论的运动补偿需要定义附加滤波操作来生成中间值。应用于中间值的滤波操作开销高,且需要高计算复杂度,尤其是对于具有高比特深度的视频数据而言。

另外,在E603讨论的运动补偿中,中间值没有被截断为确保从其计算的四分之一像素样本的准确度。因此,在E603讨论的运动补偿过程中,所计算出的值的按位精度不恒定。在上述第一处理的结尾,所得样本值的精度增加了由8抽头滤波器的增益确定的量。通过将8抽头滤波器应用于中间值,在截断至预定精度之前精度再次增加了与第一处理中相同的量。因此,第二处理中需要截断的分辨率是第一处理所需要的两倍,以便在第二步骤的结尾使分辨率回到原始比特深度。



技术实现要素:

鉴于上述现有技术,本发明提供了一种用于帧间预测的新颖的运动补偿操作。该运动补偿对样本应用分数样本插值以生成分数样本。在根据本发明的运动补偿中,在第一方向上对样本应用第一分数样本插值以生成第一组分数样本。在第二方向上对第一组分数样本应用第二分数样本插值,以生成第二组分数样本。在本发明中,利用与样本的表示精度无关的精度来表示第一组分数样本。

在本发明的一方面中,所述分数样本插值应用具有以下三组系数中的一个的8抽头FIR滤波器来生成四分之一像素样本:

[-1,4,-10,58,17,-5,1,0];

[-1,4,-11,40,40,-11,4,-1];以及

[0,1,-5,17,58,-10,4,-1]。

在本发明的一方面中,所述分数样本插值包括截断各个滤波结果,使得所述分数样本具有期望的精度。贯穿所述第一分数插值处理和第二分数插值处理,所述期望的精度可以是恒定的。

截断处理可涉及使截断结果朝负无穷大舍入。这通过不将任何偏移增加到截断处理之前的滤波结果来实现。

另外,在本发明的另一方面中,可独立于样本的原始比特深度将所述样本按比例放大至第二比特深度,该第二比特深度对于所述样本而言是恒定的。所述第二比特深度可被设置为等于可用于表示样本的比特数,按比例放大因子被设置为等于可用于表示样本的比特数减去样本的原始比特深度。

另外,在本发明的另一方面中,用按比例放大的样本减去偏移。

附图说明

图1是示出可实现本发明的示例性硬件体系结构的框图。

图2是示出可应用本发明的视频编码器的总体视图的框图。

图3是示出可应用本发明的视频解码器的总体视图的框图。

图4是示出根据本发明的实施方式的编码器的功能模块的框图。

图5是示出根据本发明的实施方式的视频编码器所执行的编码处理的流程图。

图6是示出根据本发明的实施方式的分数样本插值的处理的流程图。

图7是用于分数样本插值的滤波的示意图。

图8是示出根据本发明的实施方式的解码器的功能模块的框图。

图9是示出根据本发明的实施方式的视频解码器所执行的解码处理的流程图。

具体实施方式

图1示出可实现本发明的计算机100的示例性硬件体系结构。请注意,图1所示的硬件体系结构可以是实现本发明的实施方式的视频编码器和视频解码器这二者共有的。计算机100包括处理器101、存储器102、存储装置105以及经由本地接口107以通信方式耦合的一个或更多个输入和/或输出(I/O)装置106(或外设)。如本领域已知的,本地接口107可以是(例如,但不限于)一个或更多个总线或其它有线或无线连接。

处理器101是用于执行软件(尤其是存储在存储器102中的软件)的硬件装置。处理器101可以是任何定制或市售的处理器、中央处理单元(CPU)、与计算机100关联的多个处理器之间的辅助处理器、基于半导体的微处理器(微芯片或芯片组的形式)或者通常为用于执行软件指令的任何装置。

存储器102包括计算机可读介质,该计算机可读介质可包括易失性存储器元件(例如,随机存取存储器(RAM,例如DRAM、SRAM、SDRAM等))和非易失性存储器元件(例如,ROM、硬盘驱动器、磁带、CDROM等)中的任一个或组合。此外,存储器102可包含电子、磁、光学和/或其它类型的存储介质。计算机可读介质可以是可存储、通信、传播或传输由指令执行系统、设备或装置使用或与指令执行系统、设备或装置结合使用的程序的任何装置。请注意,存储器102可具有分布式体系结构,其中各种组件彼此远离地设置,但是可被处理器101访问。

存储器102中的软件103可包括一个或更多个单独的程序,各个程序包含用于实现计算机100的逻辑功能的可执行指令的有序列表,如下面所描述。在图1的示例中,存储器102中的软件103限定根据本发明的计算机100的视频编码或视频解码功能。另外,尽管未要求,但是存储器102可包含操作系统(O/S)104。操作系统104基本上控制计算机程序的执行并提供调度、输入-输出控制、文件和数据管理、存储器管理和通信管理以及相关服务。

计算机100的存储装置105可以是许多不同类型的存储装置中的一种,包括固定存储装置或便携式存储装置。作为示例,存储装置105可以是磁带、盘、闪存、易失性存储器或不同的存储装置。另外,存储装置105可以是安全数字存储卡或任何其它可移除存储装置105。

I/O装置106可包括输入装置,例如(但不限于)触摸屏、键盘、鼠标、扫描仪、麦克风或其它输入装置。另外,I/O装置106还可包括输出装置,例如(但不限于)显示器或其它输出装置。I/O装置106还可包括经由输入和输出这二者通信的装置,例如(但不限于)调制器/解调器(例如,调制解调器;用于访问另一装置、系统或网络)、射频(RF)、无线或其它收发器、电话接口、桥、路由器或者起到输入和输出这二者的功能的其它装置。

如本领域普通技术人员熟知的,通过去除视频序列中的冗余信息来实现视频压缩。存在许多不同的视频编码标准,其示例包括MPEG-1、MPEG-2、MPEG-4、H.261、H.263和H.264/AVC。应该注意,本发明并非旨在限于应用任何特定视频编码标准。然而,以H.264/AVC标准(以引用方式并入本文)为例提供本发明下面的描述。H.264/AVC是最新的视频编码标准,并且实现显著优于诸如MPEG-1、MPEG-2、H.261和H.263的先前编码标准的性能。

在H.264/AVC中,可将视频的各个帧或图片分成多个切片。然后将切片分成16×16像素块(称为宏块),然后可将宏块进一步分成8×16、16×8、8×8、4×8、8×4、直至4×4像素块。H.264/AVC支持五种类型的切片。在I切片中,所有宏块使用帧内预测来进行编码。在P切片中,可使用帧内预测或帧间预测对宏块进行编码。P切片允许每宏块使用仅一个运动补偿预测(MCP)信号。在B切片中,可使用帧内预测或帧间预测对宏块进行编码。每预测可使用两个MCP信号。SP切片使得P切片能够有效地在不同的视频流之间切换。SI切片是SP切片的精确匹配以用于随机访问或错误恢复,同时仅使用帧内预测。

图2示出可应用本发明的视频编码器的总体视图。图中所示的方框表示执行存储器102中的软件103的处理器101所实现的功能模块。将视频帧200的图片提供给视频编码器201。视频编码器以宏块200A为单位处理图片200。各个宏块包含图片200的多个像素。对各个宏块执行向变换系数的变换,然后执行向变换系数级别的量化。此外,使用帧内预测或帧间预测,以不直接对像素数据,而是对像素值与其预测之间的差执行编码步骤,从而实现更容易压缩的较小值。

对于各个切片,编码器201生成多个句法元素,这些句法元素形成相应切片的宏块的编码版本。句法元素中与变换系数的编码有关的所有残差数据元素(例如,变换系数级别或指示跳过的变换系数级别的有效图(significance map))称为残差数据句法元素。除了这些残差数据句法元素之外,由编码器201生成的句法元素包含控制信息句法元素,所述控制信息句法元素包含分别关于各个宏块如何编码以及必须要如何解码的控制信息。换言之,句法元素可分成两类。第一类是控制信息句法元素,其包含(例如)与宏块类型、子宏块类型以及空间和时间类型的预测模式的信息、以及基于切片和基于宏块的控制信息有关的元素。在第二类中,诸如有效图的所有残差数据元素组合并成为残差数据句法元素,所述有效图指示量化的变换系数块内的所有有效系数的位置以及有效系数的值(以与量化步长对应的级别为单位来指示)。

编码器201包括熵编码器,该熵编码器对句法元素进行编码并生成各个切片的算术码字。在生成切片的算术码字时,熵编码器利用了视频信号比特流中的句法元素的数据值之间的统计相关。编码器201将图片200的切片的编码的视频信号输出给图3所示的视频解码器301。

图3示出可应用本发明的视频解码器的总体视图。同样,图中所示的方框表示执行存储器102中的软件103的处理器101所实现的功能模块。视频解码器301接收编码的视频信号,并首先将信号熵解码为句法元素。解码器301使用句法元素以便逐宏块地,然后一个切片接一个切片地重构图片300中的像素的图片样本300A。

图4示出视频编码器201(在图4中通常用标号400指代)的功能模块。这些功能模块由执行存储器102中的软件103的处理器101实现。输入视频图片是由样本点限定的自然(未压缩)视频图像的帧或场,所述样本点表示原始颜色的分量,例如色度(“chroma”)和亮度(“luma”)。其它分量也是可以的,例如色调、饱和度和值。输入视频图片被分成宏块,各个宏块表示由图片颜色的亮度分量的16×16像素组成的正方形图片区域。输入视频图片还被分割成宏块,各个宏块表示图片颜色的两个色度分量中的每一个的8×8像素。在一般编码器操作中,可利用帧间预测或帧内预测在时间或空间上预测输入的宏块。然而,为了讨论方便,假设宏块400全部为P切片类型宏块或者全部为B切片类型宏块,或者为这二者的混合,并仅经受帧间预测。

图4所示的视频编码器400仅发送当前图片与当前图片的预测之间的残差或差值。减法器410通过接收待编码的当前图片块作为输入信号IS,并从其减去由预测信号PS指示的预测图片块,来获得这些残差。如图4所示,视频编码器400包括变换/量化单元420以输出量化的变换系数QC。变换/量化单元420将残差从空域变换到频域,并将变换的残差量化。视频编码器400还包括熵编码单元490以用于对量化的变换系数QC执行熵编码(可变长度编码)并输出比特流BS。

视频编码器400还包括逆量化/变换单元430和加法器435。逆量化/变换单元430将量化的变换系数QC变换回残差信号RS,加法器435将所述残差信号RS与预测信号PS相加以输出解码的图片。解块滤波器437从解码的图片去除块效应,并将干净的解码图片存储在基准存储器440中。

视频编码器400还包括运动补偿/预测单元460和运动估计单元470。运动补偿/预测单元460从基准存储器440读取基准图片并应用插值,以生成四分之一像素位置处的分数样本。运动估计单元470还从基准存储器440读取基准图片,并通过将当前图片与基准图片进行比较来估计当前图片的运动矢量MV。运动矢量MV被输出给运动补偿/预测单元460和熵编码单元490。块可被分成具有4×4、4×8、8×4、8×8、8×16、16×8或16×16像素的分区。运动估计单元470对块中的相应分区执行运动估计,并输出相应分区的运动矢量MV。运动补偿/预测单元460使基准图片中的相应分区在运动矢量所指示的方向上移位运动矢量所指示的量,以导出预测图片,所述预测图片作为预测信号IS被提供给减法器410和加法器435。

图5是示出由视频编码器400执行的高级别的编码处理的流程图。在步骤502,运动补偿/预测单元460生成预测块。在步骤504,减法器410从当前图片中减去预测图片,以获得残差。在步骤506,变换/量化单元420对残差进行编码。

图6是示出根据本发明的实施方式的由运动补偿/预测单元460执行以生成预测信号的运动补偿处理的流程图。在步骤602中,运动补偿/预测单元460从基准存储器440读出基准样本。基准存储器440存储多个基准图片。如H.264/AVC的章节8.4.2及其子章节中所讨论的,可利用当前图片内的要预测的区域的位置、该区域的运动矢量MV以及基准帧索引来确定要从存储在基准存储器440中的基准图片检索的基准样本的位置。

在步骤604中,将检索到的基准样本按比例放大,以增加基准样本的精度。可利用基准样本的比特深度以及可用于表示基准样本的比特数来确定比例因子。可用于表示基准样本的比特数可被确定为使得如果16是用于表示基准样本的最大可用比特数,则可用于表示样本的比特数可被限制为14,以防止运动补偿过程中可能发生的数据上溢或下溢。如果可用于表示基准样本的比特数为14,则对于8比特宽的基准样本,比例因子为6,通过将检索到的基准样本的比特左移6比特来将其按比例放大。对于10比特宽的基准样本,比例因子应为4,通过将检索到的基准样本的比特左移4比特来将其按比例放大。更一般地,比例因子可通过“可用于表示基准样本的比特数”减去“基准样本的比特深度”来表达。步骤604中执行的按比例放大处理是有利的,因为它按照与其比特深度无关的形式转换存储在基准存储器中的基准样本,按比例放大处理之后的处理将变得与视频数据的原始比特深度无关。

可选地,可从基准样本的按比例放大的值中减去偏移。例如,如果使用带符号的14比特表示来表示按比例放大的基准样本,则要被减去的偏移的值可以是8192(=213),这使得按比例放大的基准样本在-8192至8192的范围内。增加此偏移的益处在于减少表示样本所需的比特数。由于下述插值处理涉及带符号的样本值,因此所有样本值的带符号的表示是优选的。在上面将样本按比例放大至14比特表示的示例中,如果没有减去所述偏移,则将不得不使用15比特带符号的表示,这比减去偏移所获得的14比特带符号的表示开销高。请注意,可在将基准样本存储在基准存储器中时将其按比例放大并偏移。如果基准样本在按比例放大并偏移之后存储在基准存储器中,则不需要步骤604。

然后,利用分数样本插值生成四分之一像素位置处的分数样本,从而增加按比例放大的基准样本的分辨率。图7是用于分数样本运动补偿的滤波的示意图。在图7中,大写字母Ai,j表示按比例放大的基准样本。这些样本称为整数样本。由诸如a0,0、b0,0、c0,0、d0,0…和r0,0的小写字母示出的其它样本是四分之一像素位置处的分数样本。在步骤606中,通过下面的插值方程式导出四分之一像素样本a0,0、b0,0或c0,0

a0,0=(-A-3,0+4*A-2,0-10*A-1,0+58*A0,0+17*A1,0-5*A2,0+A3,0)>>6

b0,0=(-A-3,0+4*A-2,0-11*A-1,0+40*A0,0+40*A1,0-11*A2,0+4*A3,0-A4,0)>>6

c0,0=(A-2,0-5*A-1,0+17*A0,0+58*A1,0-10*A2,0+4*A3,0-A4,0)>>6

运动矢量的水平分量的分数部分确定导出哪一样本。例如,如果分数部分为1/4,则导出a0,0

各个插值操作包括将8抽头FIR滤波器应用于最近整数样本并截断滤波结果以使滤波器增益偏移。各个滤波器的系数之和被设置为等于64(=26)。因此,截断操作包括将滤波结果除以64或者将滤波结果右移6。请注意,在上述插值操作中,将截断结果朝着负无穷大舍入。通过将偏移与滤波结果相加,可将截断结果朝着最近整数舍入。然而,朝负无穷大舍入是有利的,因为它不需要将偏移与滤波结果相加。可选地,可提供不同类型的滤波器,根据运动矢量的水平分量所指定的分数位移来选择性地应用这些滤波器当中的一个滤波器。在水平分数位移为零的情况下,可省略此步骤。还请注意,在具有8比特输入的示例中,有在步骤606中右移6比特的操作,在步骤604中左移6比特的操作。因此,步骤604和606可组合,使得去除左移操作和右移操作而不改变输出。

在步骤608中,通过下面的插值方程式导出分数样本d0,0、h0,0、n0,0、e0,0、i0,0、p0,0、f0,0、j0,0、q0,0、g0,0、k0,0或r0,0

d0,0=(-A0,-3+4*A0,-2-10*A0,-1+58*A0,0+17*A0,1-5*A0,2+A0,3)>>6

h0,0=(-A0,-3+4*A0,-2-11*A0,-1+40*A0,0+40*A0,1-11*A0,2+4*A0,3-A0,4)>>6

n0,0=(A0,-2-5*A0,-1+17*A0,0+58*A0,1-10*A0,2+4*A0,3-A0,4)>>6

e0,0=(-a0,-3+4*a0,-2-10*a0,-1+58*a0,0+17*a0,1-5*a0,2+a0,3)>>6

i0,0=(-a0,-3+4*a0,-2-11*a0,-1+40*a0,0+40*a0,1-11*a0,2+4*a0,3-a0,4)>>6

p0,0=(a0,-2-5*a0,-1+17*a0,0+58*a0,1-10*a0,2+4*a0,3-a0,4)>>6

f0,0=(-b0,-3+4*b0,-2-10*b0,-1+58*b0,0+17*b0,1-5*b0,2+b0,3)>>6

j0,0=(-b0,-3+4*b0,-2-11*b0,-1+40*b0,0+40*b0,1-11*b0,2+4*b0,3-b0,4)>>6

q0,0=(b0,-2-5*b0,-1+17*b0,0+58*b0,1-10*b0,2+4*b0,3-b0,4)>>6

g0,0=(-c0,-3+4*c0,-2-10*c0,-1+58*c0,0+17*c0,1-5*c0,2+c0,3)>>6

k0,0=(-c0,-3+4*c0,-2-11*c0,-1+40*c0,0+40*c0,1-11*c0,2+4*c0,3-c0,4)>>6

r0,0=(c0,-2-5*c0,-1+17*c0,0+58*c0,1-10*c0,2+4*c0,3-c0,4)>>6

运动矢量的水平分量和垂直分量的分数部分确定导出哪一样本。例如,如果水平分数部分和垂直分数部分为3/4,则导出p0,0

上述插值操作包括将8抽头FIR滤波器垂直地应用于样本A0,j、a0,i、b0,i和c0,i(其中i=-3..4),并按照因子6截断滤波结果。请注意,在本发明中,截断每一滤波结果,未使用滤波结果作为未截断中间值以从其计算分数样本。因此,在本发明中,样本值的精度贯穿分数样本插值始终是恒定的。步骤606和步骤608均不会改变样本的表示精度。

在上述分数样本插值的实施方式中,垂直滤波操作和水平滤波操作中使用的滤波器集合全部为8抽头滤波器。应该注意,具有不同抽头数的滤波器可用于分数运动插值。例如,可取的是,对于较小的块尺寸,使用具有更少抽头的滤波器。使用具有较少抽头的滤波器减少了要从基准存储器检索的样本数,从而可减小存储器带宽。使用具有较少抽头的滤波器还减少了滤波操作中的乘法数,提高了运动补偿的效率。H.264/AVC使得能够为了运动补偿而将宏块或子宏块分成一个或更多个分区。在H.264/AVC中,具有16×16尺寸的宏块可分成各自具有4×4、4×8、8×4、8×8、8×16或16×8尺寸的一个或更多个分区。因此,可准备具有不同抽头数的滤波器并根据分区的宽度选择性地应用这些滤波器。例如,8抽头滤波器可应用于宽度等于或大于8的分区,4抽头滤波器可应用于宽度小于8的分区。在一个实施方式中,这种4抽头滤波器具有系数[-4 36 36 -4]。JCT-VC草案E603引入了编码单元(CU)的概念。具有N×N尺寸的CU可分成具有N×N、N×N/2或N/2×N尺寸的一个或更多个分区。可根据CU的高度或宽度是N还是N/2来选择性地应用具有不同抽头数的滤波器。

在上述分数样本运动补偿的实施方式中,水平分数样本插值(步骤606)在垂直分数样本插值(步骤608)之前。应该注意,此顺序可切换,只要编码器与解码器之间就此顺序预先达成一致即可。在另一实施方式中,可将该顺序从编码器用信号通知给解码器。当基准样本为8比特宽时,不管水平插值和垂直插值的顺序如何,计算结果将相同。如果是这样,则编码器与解码器之间无需就顺序事先达成一致。

在JCT-VC草案E603中讨论的运动补偿中,无论中间值垂直导出并水平应用,还是水平导出并垂直应用,均可导出相同的分数样本。这样做的益处在于,编码器与解码器之间没有必要就中间值应该垂直导出并水平应用还是水平导出并垂直应用事先达成一致。然而,中间值具有比本发明中高的精度,将第二FIR滤波器应用于这些中间值的开销高于本发明。通常,开销与精度成比例地增加。在精度超过诸如16比特的普通字大小的软件中,此开销会显著更高。在这种情况下,进一步扩展精度以匹配下一普通字大小。例如,具有17比特的精度的中间值将被扩展至32比特。如JCT-VC草案E603中讨论的中间值的较高精度具有显著的开销影响,而在预测信号的准确度方面未提供显著益处。

在上述本发明的实施方式中,编码器与解码器之间需要固定水平插值和垂直插值的顺序。然而,固定水平插值和垂直插值的顺序将不会给编码器和解码器带来任何开销。相反,通过固定顺序,运动补偿可按照较低(但仍足够高)的精度来操作,以降低诸如乘法的运算的开销。另外,通过固定顺序,贯穿分数样本插值,计算精度变得恒定。因此,滤波计算可简化,因为样本与系数之间的所有乘法可在固定的比特范围(例如,用于样本的16比特带符号范围,用于滤波器系数的8比特带符号范围)内执行。由于所有乘法在固定的比特范围内执行,所以可在SIMD体系结构上有效地并行实现滤波操作。

回到图6,在步骤610中对导出的样本应用变换。这种变换的示例在H.264/AVC的章节8.4.2.3及其子章节中被描述为加权样本预测处理。加权样本预测处理通过线性插值将两组样本组合。对于包含衰落的场景,所述变换可提高编码效率。由变换生成的组合样本的值可被截取以在特定范围(例如,16比特带符号范围)内。请注意,当不需要这种变换时,可省略步骤610。

然后在步骤612中检查是否需要生成另一预测以用于运动补偿。例如,当将要执行双向平均时,需要生成两个预测以便于对其取平均。如果确定需要另一预测,则处理返回到步骤602。在步骤614中,对两个预测取平均以生成双向预测。如果未指示双向平均,则跳过步骤614。

在步骤616中,将生成的预测按比例缩小并截取至有效范围。步骤616中执行的按比例缩小操作撤销步骤604中执行的按比例放大操作,并使所生成的预测右移与步骤604中用于使样本左移的比特数相同的比特数。优选的是,在右移操作之前增加舍入偏移,以使按比例缩小的值朝最近整数舍入。如果在步骤604中从样本中减去偏移,则将相同的偏移增加到预测。预测所截取的有效范围通常被限定为{0...255},其中所存储的基准样本为8比特宽。通常,对于M比特宽的基准样本,有效范围可被限定为{0...2M-1}。

在本发明的实际实现方式中,无需如图6所示单独地执行步骤,一些步骤可以组合。例如,在图6的步骤中单独执行的移位操作可组合。示例是在步骤614中执行的双向平均中包括的右移操作以及在步骤616中执行的按比例缩小中包括的右移操作可以组合。另外,对于处理可简化(例如,不存在分数位移,进而不需要FIR滤波)的情况,可实现多个功能或电路。

图8示出视频解码器301的功能模块,其在图8中通常利用标号800来指代。这些功能模块由执行存储器102中的软件103的处理器101来实现。在图8中,熵解码单元810获得由运动图片编码设备400输出的比特流BS,并执行该比特流的熵解码处理。然后,熵解码单元810将量化的变换系数QC输出给逆量化/逆变换单元820。熵解码单元810还将运动矢量MV输出给运动补偿/预测单元860。逆量化/逆变换单元820对量化的变换系数QC执行逆量化和逆DCT变换的解码处理。然后,逆量化/逆变换单元820输出残差信号RS。

加法器830将残差信号RS与从运动补偿单元860获得的预测信号PS相加,并将解码的图片输出给解块滤波器840。解块滤波器840从解码的图片消除块效应并将其存储在基准存储器850中。从存储器850检索解码的图片并将其作为输出信号OS输出。

运动补偿/预测单元860检索存储在基准存储器850中的基准图片中的样本,并如图7所示执行分数样本插值。此运动补偿/预测单元860基于运动矢量MV以及已经执行了分数样本插值的基准图片生成预测。这样,运动补偿/预测单元860将预测信号PS输出给加法器830。

图9是示出由视频解码器800执行的高级别的解码处理的流程图。在步骤902中,运动补偿/预测单元860生成预测块。在步骤904中,逆量化/逆变换单元820对量化的变换系数QC进行解码并输出残差信号RS。在步骤906中,加法器830将残差信号RS与预测信号PS相加。

本领域普通技术人员在阅读上面的描述之后,本发明的许多更改和修改毫无疑问将变得明显,但是应该理解,以示意性方式示出并描述的任何特定实施方式绝非旨在被认为是限制。因此,对各种实施方式的细节的引用并非旨在限制权利要求的范围,权利要求本身仅列举被视作本发明必不可少的那些特征。

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