视频编码设备、方法和程序及 视频解码设备、方法和程序 【技术领域】
本发明涉及视频编码设备,视频编码方法,视频编码程序,视频解码设备,视频解码方法和视频解码程序。
背景技术
通常在视频编码设备中,编码目标帧被分成多个预定尺寸的块,并且执行每个块和参考帧中预定区域的预测参考图象之间的运动补偿预测以检测运动向量,从而产生编码目标帧的预测图象。在视频编码设备中,通过相对参考帧的运动向量表示编码目标帧,以便降低时间方向存在的冗余度。此外,通过DCT(离散余弦变换)转换基于编码目标帧和预测图象之间的差的预测残留图象,并且预测残留图象被表示成一组DCT系数,以便降低空间方向存在的冗余度。
在上述视频编码设备中,为了进一步降低时间方向存在的冗余度,通过在参考帧的整数象素之间布置插入象素以执行高分辨率运动补偿预测,从而改进编码效率。通过对6个整数象素应用(1,-5,20,20,-5,1)/16的线性滤波器而得到的象素值被提供给插入象素,其中所述6个整数象素包含分别在左和右两边的3个邻近整数象素,所述插入象素位于沿水平方向对齐的整数象素之间的1/2象素位置。通过对6个整数象素应用(1,-5,20,20,-5,1)/16的线性滤波器而得到的象素值被提供给插入象素,其中所述6个整数象素包含分别在上方和下方的3个邻近整数象素,所述插入象素位于沿垂直方向对齐地整数象素之间的1/2象素位置。在水平方向相邻的1/2象素位置上的插入象素的象素值的均值被提供给插入象素,所述插入象素位于和4个邻近整数象素相距相等距离的位置。此外,由邻近整数象素或1/2象素位置的插入邻近象素中间的两个象素的线性插值被提供给1/4象素位置的插入象素。也就是,通过对邻近整数象素应用滤波而得到的象素值被提供给插入象素,使得即使在参考帧和编码目标帧之间的差异较大的情况下也是如此。于是有效降低了冗余度。
这里,视频编码设备是已知的,其中通过为(3/4,3/4)象素位置上的象素指定4个邻近整数象素的均值来执行运动补偿预测,以进一步改进滤波效果(例如参见G.Bjontegaard,奇异位置(FunnyPosition)′的识别",ITU-T SG 16/Q15,doc.Q15-K-27,Portland,2000)。在这种视频编码设备中,使用低通滤波器提供插入象素(其中低频带中的频谱通带窄于对应于线性插值的滤波器),从而进一步改进滤波的效果。结果,降低了冗余度。对其应用低频带中频谱通带较窄的低通滤波器的插入象素被称作"奇异位置"。
【发明内容】
在上述视频编码设备中遇到以下问题:也就是,虽然通过在对编码目标帧(与参考帧相差较大)分块的情况下提供奇异位置来降低冗余度,然而提供奇异位置会增加对编码目标帧(与参考帧相差较小)分块的情况下与参考帧的差异,导致实现高分辨率运动补偿预测的效果的损失。
为解决上述问题而提出了本发明;本发明的目的是提供一种允许因运动补偿预测分辨率的增加而提高编码效率,并且因滤波而提高编码效率的视频编码设备,视频编码方法和视频编码程序,以及一种根据本发明的视频编码设备所产生的压缩数据恢复视频的视频解码设备,视频解码方法和视频解码程序。
为了解决上述问题,本发明的视频编码设备包括通过以下步骤产生编码目标帧的预测图象的运动补偿预测装置:将编码目标帧分割成多个块;产生通过提供插入象素而形成的预测参考图象,其中通过在参考帧的预定区域的整数邻近象素中的整数象素之间进行插入来产生所述插入象素;和针对多个块中的每个确定预测参考图象的运动向量。运动补偿预测装置具有复杂度提取装置,用于针对多个块中的每个提取表示相对参考帧的移动复杂度的复杂度信息;和预测图象产生装置,用于使用预测参考图象产生预测图象,其中根据提高滤波象素数目的预定规则、按照复杂度信息对预测参考图象提供滤波象素,所述滤波象素具有通过对邻近整数象素应用低通滤波器而产生的象素值,并且所述低通滤波器的低频带中的频谱通带在具有不同高频截止特性的多个低通滤波器中间是较窄的。
本发明的另一个方面的视频编码设备包括运动补偿预测步骤,其中通过以下步骤产生编码目标帧的预测图象:将编码目标帧分割成多个块;产生通过提供插入象素而形成的预测参考图象,其中通过在参考帧的预定区域的整数邻近象素中的整数象素之间进行插入来产生所述插入象素;和针对多个块中的每个确定预测参考图象的运动向量。在运动补偿预测步骤中,复杂度提取装置针对多个块中的每个提取表示相对参考帧的移动复杂度的复杂度信息,并且预测图象产生装置使用预测参考图象产生预测图象,其中根据提高滤波象素数目的预定规则、按照复杂度信息对预测参考图象提供滤波象素,所述滤波象素具有通过对邻近整数象素应用低通滤波器而产生的象素值,并且所述低通滤波器的低频带中的频谱通带在具有不同高频截止特性的多个低通滤波器中间是较窄的。
本发明的另一个方面的视频编码使得计算机充当运动补偿预测装置,用于通过以下步骤产生编码目标帧的预测图象:将编码目标帧分割成多个块;产生通过提供插入象素而形成的预测参考图象,其中通过在参考帧的预定区域的整数邻近象素中的整数象素之间进行插入来产生所述插入象素;和针对多个块中的每个确定预测参考图象的运动向量。运动补偿预测装置具有复杂度提取装置,用于针对多个块中的每个提取表示相对参考帧的移动复杂度的复杂度信息;和预测图象产生装置,用于使用预测参考图象产生预测图象,其中根据提高滤波象素数目的预定规则、按照复杂度信息对预测参考图象提供滤波象素,所述滤波象素具有通过对邻近整数象素应用低通滤波器而产生的象素值,并且所述低通滤波器的低频带中的频谱通带在具有不同高频截止特性的多个低通滤波器中间是较窄的。
根据本发明,针对分割编码目标帧而成的多个块中的每个提取表示相对参考帧的移动复杂度的复杂度信息。根据这种复杂度信息指定的复杂度增加预测参考图象中的滤波象素数目,其中为所述滤波象素指定通过应用低通滤波器而得到的象素值,所述低通滤波器中的每个的低频带的频谱通带在具有不同高频截止特性的多个低通滤波器中间是较窄的。也就是,对于和参考帧相差较小的块,使用其中降低滤波象素数目、具有高分辨率的预测参考图象产生预测图象,以改进运动补偿预测的精度;因此,降低了冗余度。另一方面,对于和参考帧相差较大的块,使用其中增加滤波象素数目的预测参考图象产生预测图象。因此,降低了预测图象和处理目标块之间的差异。结果,降低了冗余度。如上所述,由于根据编码目标帧的每个块与参考帧之间的差异灵活改变滤波象素的数目,改进了编码效率。
在本发明中,复杂度提取装置可以使用将对其提取复杂度信息的块周围的块的差分运动向量(differential motion vector)的绝对值,作为复杂度信息。
此外,在本发明中,转换装置根据预定转换规则将预测残留差分图象(difference image)转换成一组系数,其中通过计算编码目标帧和预测图象之间的差异来产生所述预测残留差分图象。在这种情况下,复杂度提取装置可以使用将对其提取复杂度信息的块周围的块中的系数中的非零系数的数目(numbers),作为复杂度信息。
此外,在本发明中,复杂度提取装置可以使用将对其提取复杂度信息的块的差分运动向量的绝对值,作为复杂度信息。
另外,本发明的视频解码设备包括运动补偿预测装置,用于产生预测参考图象,并且通过将解码目标帧分割成多个块,以及使用预测参考图象、根据压缩数据中包含的运动向量执行运动补偿来产生预测图象,其中通过提供插入象素来形成预测参考图象,并且通过在参考帧的预定区域的整数邻近象素中的整数象素之间进行插入来产生所述插入象素。运动补偿预测装置具有复杂度提取装置,用于针对多个块中的每个提取表示相对参考帧的移动复杂度的复杂度信息;和预测图象产生装置,用于使用预测参考图象产生预测图象,其中根据提高滤波象素数目的预定规则、按照复杂度信息对预测参考图象提供滤波象素,所述滤波象素具有通过对邻近整数象素应用低通滤波器而产生的象素值,并且所述低通滤波器的低频带中的频谱通带在具有不同高频截止特性的多个低通滤波器中间是较窄的。
本发明的另一个方面的视频解码方法包含运动补偿预测步骤,其中运动补偿预测装置产生预测参考图象,并且通过将解码目标帧分割成多个块,以及使用预测参考图象、根据压缩数据中包含的运动向量执行运动补偿来产生预测图象,其中通过提供插入象素来形成预测参考图象,并且通过在参考帧的预定区域的整数邻近象素中的整数象素之间进行插入来产生所述插入象素。在运动补偿预测步骤中,复杂度提取装置针对多个块中的每个提取表示相对参考帧的移动复杂度的复杂度信息,并且预测图象产生装置使用预测参考图象产生预测图象,其中根据提高滤波象素数目的预定规则、按照复杂度提取装置提取的复杂度信息对预测参考图象提供滤波象素,所述滤波象素具有通过对邻近整数象素应用低通滤波器而产生的象素值,并且所述低通滤波器的低频带中的频谱通带在具有不同高频截止特性的多个低通滤波器中间是较窄的。
本发明的另一个方面的视频解码程序导致计算机充当运动补偿预测装置,其用于产生预测参考图象,并且通过将解码目标帧分割成多个块,以及使用预测参考图象、根据压缩数据中包含的运动向量执行运动补偿来产生预测图象,其中通过提供插入象素来形成预测参考图象,并且通过在参考帧的预定区域的整数邻近象素中的整数象素之间进行插入来产生所述插入象素。运动补偿预测装置具有复杂度提取装置,用于针对多个块中的每个提取表示相对参考帧的移动复杂度的复杂度信息;和预测图象产生装置,用于使用预测参考图象产生预测图象,其中根据提高滤波象素数目的预定规则、按照复杂度提取装置提取的复杂度信息对预测参考图象提供滤波象素,所述滤波象素具有通过对邻近整数象素应用低通滤波器而产生的象素值,并且所述低通滤波器的低频带中的频谱通带在具有不同高频截止特性的多个低通滤波器中间是较窄的。
根据本发明,根据上述视频编码设备或由上述视频编码程序操作的计算机产生的压缩数据解码运动向量。此外,对于解码目标帧的多个块中的每个,提取表示相对参考帧的移动复杂度的复杂度信息。产生预测参考图象,其中根据这种复杂度信息指定的移动复杂度增加预测参考图象中的滤波象素数目,所述滤波象素具有通过应用低通滤波器而产生的象素值,所述低通滤波器中的每个的低频带的频谱通带在具有不同高频截止特性的多个低通滤波器中间是较窄的。使用上述运动向量根据预测参考图象产生预测图象。因此,根据上述视频编码设备或由上述视频编码程序操作的计算机产生的压缩数据可以恢复出视频。
在本发明中,复杂度提取装置可以使用将对其提取复杂度信息的块周围的块的差分运动向量的绝对值,作为复杂度信息。
此外,在本发明中,解码装置对包含压缩编码的压缩数据进行解码。通过根据预定转换规则将预测残留差分图象转换成一组系数并且对该组系数进行编码,产生压缩编码,其中通过计算解码目标帧和预测图象之间的差异来产生所述预测残留差分图象。在这种情况下,复杂度提取装置可以使用将对其提取复杂度信息的块周围的块中的所述系数中的非零系数的数目,作为复杂度信息。
此外,在本发明中,复杂度提取装置可以使用将对其提取复杂度信息的块的差分运动向量的绝对值,作为复杂度信息。
根据下面提供的详细描述和附图可更加全面地理解本发明,其中仅通过图解提供详细描述,但不应被视作是对本发明的限制。
通过此后提供的详细描述可以理解本发明的其它适用范围。然而应当理解,虽然指出了本发明的优选实施例,然而这里的详细描述和特定例子只用于图解,因为本领域的技术人员通过这些详细描述可以理解本发明的宗旨和范围内的各种改变和修改。
【附图说明】
在以下详细描述的过程中,会参照附图,其中:
图1的模块图示出了第一实施例的视频编码设备的功能结构;
图2的模块图示出了第一实施例的视频编码设备中提供的运动补偿预测单元的结构;
图3是第一实施例的视频编码设备中提供的第一FP产生单元所产生的第一预测参考图象的例子的示意图;
图4是第一实施例的视频编码设备中提供的第二FP产生单元所产生的第二预测参考图象的例子的示意图;
图5的流程图示出了第一实施例的视频编码方法;
图6是涉及第一实施例的视频编码方法中的运动补偿预测的流程图;
图7的模块图示出了涉及第一实施例的视频编码程序的结构;
图8的模块图示出了第一实施例的视频编码程序中的运动补偿预测模块的结构;
图9的模块图示出了第一实施例的视频编码设备中的可选运动补偿预测单元的结构;
图10是涉及第一实施例的视频编码方法中的可选运动补偿预测的流程图;
图11的模块图示出了第一实施例的视频编码程序中的可选运动补偿预测模块的结构;
图12的模块图示出了第二实施例的视频编码设备的功能结构;
图13的模块图示出了构成第三实施例的视频编码设备的功能结构;
图14的模块图示出了第三实施例的视频编码设备中的运动补偿预测单元的结构;
图15的流程图示出了第三实施例中的运动补偿预测的处理;
图16的模块图示出了涉及第三实施例的视频编码程序的运动补偿预测模块的结构;
图17的模块图示出了涉及第四实施例的视频解码设备的功能结构;
图18的模块图示出了第四实施例的视频解码设备中的运动补偿预测单元的结构;
图19是涉及第四实施例的视频解码方法的流程图;
图20的流程图示出了涉及第四实施例的视频解码方法的运动补偿预测的处理;
图21的模块图示出了涉及第四实施例的视频解码程序的结构;
图22的模块图示出了第四实施例的视频解码设备中的可选运动补偿预测单元的结构;
图23的模块图示出了第四实施例的视频解码程序中的可选运动补偿预测模块的结构;
图24的模块图示出了涉及第五实施例的视频解码设备的功能结构;
图25的模块图示出了构成第六实施例的视频解码设备的功能结构;
图26的模块图示出了第六实施例的视频解码设备中的运动补偿预测单元的结构;
图27的流程图示出了涉及第六实施例的视频解码方法中的运动补偿预测的处理;
图28的模块图示出了涉及第六实施例的视频解码程序的结构。
【具体实施方式】
现在描述本发明的优选实施例。此外,在涉及以下实施例的说明中,相同符号被提供给各个图例中相同或相应的单元,以利于理解说明。
[第一实施例]
下面描述本发明第一实施例的视频编码设备1。在物理上,视频编码设备1是包括CPU(中央处理单元),被称作存储器的存储器装置,被称作硬盘的存储装置等等的计算机。这里,除了诸如个人计算机等等的普通计算机之外,术语"计算机"还包含诸如移动通信终端的便携信息终端,使得本发明的构思可以广泛应用于能够进行信息处理的装置。
下面描述视频编码设备1的功能结构。图1是示出视频编码设备1的功能结构的模块图。视频编码设备1在功能上包括运动补偿预测单元2,帧存储器4,减法单元6,转换单元8,量化单元10,编码单元12,反量化单元14,反转换单元16,加法单元18和MVD存储单元20。
运动补偿预测单元2使用帧存储器4中存储的参考帧执行运动补偿预测,从而确定差分运动向量(此后,差分运动向量被称作"MVD"),并且产生编码目标帧的预测图象。MVD是通过处理目标块的运动向量和处理目标块周围的块中运动向量的中间值形成的差分向量。后面会描述运动补偿预测单元2的细节。
减法单元6计算运动补偿预测单元2产生的预测图象和编码目标帧之间的差异,使得减法单元6产生预测残留差分图象。
转换单元8根据预定转换规则将预测残留差分图象分解成一组系数。例如,DCT(离散余弦变换)可以被用作预定转换规则。在使用DCT的情况下,预测残留差分图象被转换成一组DCT系数。此外,除了DCT之外,匹配追踪方法(matching pursuits method)(此后被称作"MP方法")可以被用作预定转换规则。在MP方法中,预测残留差分图象被用作初始残留分量,并且重复这样的处理,其中使用根据如下等式(1)的基集(basis set)分解残留分量。这里,在等式(1)中,f表示预测残留图象,Rnf表示第n次重复操作之后的残留分量,gkn表示使得与Rnf的内积最大的基(basis),Rmf表示第m次重复操作之后的残留分量。也就是说,根据MP方法,从基集中选择使得与残留分量的内积值最大的基,并且残留分量被分解成选定的基和最大内积值,该最大内积值是用于和这个基相乘的系数。
f=Σn=0m-1〈Rnf,gkn〉gkn+Rmf---(1)]]>
通过对系数应用量化操作,量化单元10产生量化系数,其中通过用转换单元8分解预测残留图象来产生所述系数。
编码单元12产生压缩编码,其中通过对运动补偿预测单元2产生的MVD进行编码而得到所述压缩编码。此外,编码单元12产生压缩编码,其中通过对量化单元10产生的量化系数进行编码而得到所述压缩编码。编码单元12产生含有这些压缩编码的压缩数据。例如,诸如算术编码的熵编码可以被用于这种编码处理。
反量化单元14,反转换单元16和加法单元18是执行被用来在帧存储器4中存储参考帧的处理的单元。反量化单元14对量化单元10得到的量化系数进行反量化。使用反量化单元14产生的系数,反转换单元16执行与转换单元8的转换处理相反的转换处理,从而恢复预测残留图象。通过相加参考帧的预测图象和反转换单元16恢复的预测残留图象,加法单元18产生参考帧。如上所述,参考帧被存储在帧存储器4中,并且在运动补偿预测单元2所执行的产生下一编码目标帧的预测图象的处理中使用。
MVD存储单元20存储运动补偿预测单元2产生的MVD。在运动补偿预测单元2执行的处理中使用MVD存储单元20中存储的MVD(以后描述)。
下面详细描述运动补偿预测单元2。运动补偿预测单元2将编码目标帧分割成具有预定尺寸的多个块。对于多个块中的每个,运动补偿预测单元2检测相对参考帧的运动向量,并且使用参考帧产生编码目标帧的预测图象。图2是示出运动补偿预测单元2的结构的模块图。运动补偿预测单元2包括预测参考区产生单元24,第一FP产生单元26,第二FP产生单元28,第一预测参考区存储单元30,第二预测参考区存储单元32,运动向量产生单元34,参考区选择器36,预测图象产生单元38和预测误差判定单元40。
预测参考区产生单元24根据帧存储器4中存储的参考帧RI产生预测参考图象。预测参考区产生单元24包括1/2象素插入区产生单元42和1/4象素插入区产生单元44。
1/2象素插入区产生单元42在参考帧的整数象素之间的1/2象素位置提供插入象素,于是将参考帧转换成具有双倍分辨率的图象。通过对总共6个整数象素(分别在左和右两边的3个邻近整数象素)应用(1,-5,20,20,-5,1)/16的线性滤波器而产生的象素值被提供给插入象素,所述插入象素位于夹在沿水平方向对齐的整数象素之间的1/2象素位置。通过对总共6个整数象素(分别在上方和下方的3个邻近整数象素)应用(1,-5,20,20,-5,1)/16的线性滤波器而产生的象素值被提供给插入象素,所述插入象素位于夹在沿垂直方向对齐的整数象素之间的1/2象素位置。在水平方向相邻的1/2象素位置上插入象素的象素值的均值作为象素值被提供给插入象素,所述插入象素位于和4个邻近整数象素相距相等距离的位置。
1/4象素插入区产生单元44进一步为1/2象素插入区产生单元42产生的具有双倍分辨率的图象提供插入象素,于是产生参考帧的分辨率为四倍的图象。由邻近整数象素和1/2象素位置的插入象素中间的2个象素进行线性插值的数值被提供给这些插入象素以作为象素值。1/2象素插入区产生单元42和1/4象素插入区产生单元44将参考帧转换成具有四倍分辨率的图象,并且该图象作为预测参考图象被输出到第一FP产生单元26和第二FP产生单元28。
第一FP产生单元26产生第一预测参考图象,其中通过对预测参考图象应用低通滤波器而产生的象素值被提供给(3/4,3/4)象素位置,所述低通滤波器的低频带的频谱通带较窄。第一FP产生单元26在第一预测参考区存储单元30中存储第一预测参考图象。此后,在本说明书中,配有通过对整数象素应用低通滤波器(低通滤波器中的每个的低频带的频谱通带较窄)而得到的象素值的每个插入象素被称作"FP(奇异位置)"。此外,其的低频带的频谱通带较窄的每个低通滤波器被称作"低通滤波器"。
图3是第一实施例的视频编码设备中提供的第一FP产生单元所产生的第一预测参考图象的例子的示意图。图3中的圆圈表示象素。在图3中,实心黑圈表示整数象素,空圈表示插入象素。此外,具有网格影线的圆圈表示FP。第一FP产生单元26向每个FP提供通过相加数值而确定的象素值,其中通过使直接位于FP下面并且沿水平方向对齐的4个邻近整数象素的每个象素值与1/2的系数相乘来计算所述数值。
第二FP产生单元28产生第二预测参考图象,与第一FP产生单元的情况相比,第二预测参考图象提供有更大数量的FP。第二FP产生单元28在第二预测参考区存储单元32中存储第二预测参考图象。图4是第一实施例的视频编码设备中提供的第二FP产生单元所产生的第二预测参考图象的例子的示意图。象在图3中那样,在图4中,圆圈表示象素。在图4中,实心黑圈表示整数象素,空圈表示插入象素,具有影线的圆圈表示FP。
第二FP产生单元28为FP提供如下所述产生的象素值。通过对水平对齐并且位于紧临FP上方的方向的3个邻近整数象素应用具有(4/32,24/32,4/32)的系数的一维低通滤波器而得到的象素值,被提供给图4中具有对角影线的(1/4,1/4)象素位置上的每个FP。通过对水平方向对齐并且紧接在FP上方的6个邻近整数象素应用具有(-2/32,1/32,17/32,17/32,1/32,-2/32)的系数的一维低通滤波器而得到的象素值,被提供给具有垂直影线的(3/4,1/4)象素位置上的每个FP。通过对水平方向对齐并且紧接在FP下方的5个邻近整数象素应用具有(2/32,6/32,8/32,8/32,2/32)的系数的一维低通滤波器而得到的象素值,被提供给具有水平影线的(1/4,3/4)象素位置上的每个FP。通过对水平方向对齐并且紧接在FP下方的4个邻近整数象素应用具有(3/32,13/32,13/32,3/32)的系数的一维低通滤波器而得到的象素值,被提供给具有网格影线的(3/4,3/4)象素位置上的每个FP。
运动向量产生单元34产生从编码目标帧的处理目标块到第一或第二预测参考图象的预定区域中执行运动补偿的块匹配的位置的运动向量,并且向参考区选择器36和预测图象产生单元38输出这些运动向量。例如,运动向量产生单元34产生从(-16,-16)到(16,16)的运动向量,(-16,-16)和(16,16)以和编码目标帧的处理目标块相同的位置为中心。
参考区选择器36从MVD存储单元20获得处理目标块周围的块中的MVD,并且将这些MVD的绝对值用作表示处理目标块的移动复杂度的复杂度信息。由于MVD是某个块的运动向量和该块周围的块的运动向量之间的差分向量,具有复杂移动的处理目标块周围的块的MVD的绝对值较大。另一方面,具有平滑移动的处理目标块周围的块的MVD的绝对值较小。因此,通过处理目标块周围的块的MVD绝对值可以表示处理目标块相对参考帧的移动的复杂度。
如果处理目标块周围的块的MVD绝对值小于预定数值,则参考区选择器36判定处理目标块的移动不复杂,接着判定第一预测参考区存储单元30中存储的第一预测参考图象应当被选作用于运动补偿预测的预测参考图象。另一方面,如果处理目标块周围的块的MVD绝对值等于或大于预定数值,则参考区选择器36判定处理目标块的移动复杂,接着判定第二预测参考区存储单元32中存储的第二预测参考图象应当被选作用于运动补偿预测的预测参考图象。参考区选择器36将判决输出到预测图象产生单元38。
根据来自参考区选择器36的判决结果,预测图象产生单元38选择第一预测参考图象或第二预测参考图象。预测图象产生单元38从选定图象得到运动向量产生单元34输出的运动向量所指定的部分的块的图象,以作为预测图象候选,并且确定这些候选和上述运动向量之间的对应关系。针对运动向量产生单元34产生的多个运动向量中的所有运动向量确定这种预测图象候选,以产生多个集合,其中每个集合均由预测图象候选和对应于该候选的运动向量构成。
预测误差判定单元40选择预测图象候选,并且以选择的候选作为处理目标块的预测图象PI,在预测图象产生单元38产生的预测图象候选中,所选择的预测图象候选相对编码目标帧EI中的处理目标块表现出最小误差。此外,预测误差判定单元40将与选定候选相关的运动向量作为处理目标块的运动向量。针对编码目标帧EI的所有块确定预测图象PI。如上所述,减法单元6处理这些预测图象。此外,还针对编码目标帧EI的所有块确定运动向量,并且预测误差判定单元40将这些运动向量转换成MVD。预测误差判定单元40将这种MVD输出到编码单元12。
下面描述视频编码设备1的操作。同时描述本发明第一实施例的视频编码方法。图5的流程图示出了第一实施例的视频编码方法。此外,图6是涉及这个视频编码方法中的运动补偿预测的流程图。
如图5所示,在第一实施例的视频编码方法中,首先由运动补偿预测单元2执行运动补偿预测(步骤S01)。如图6所示,在运动补偿预测中,首先由预测参考区产生单元24产生预测参考图象(步骤S02)。根据参考帧产生预测参考图象。1/2象素插入区产生单元42和1/4象素插入区产生单元44将参考帧转换成具有四倍分辨率的图象,并且具有四倍分辨率的结果图象被作为预测参考图象。
如上所述,预测参考图象被第一FP产生单元26转换成第一预测参考图象,并且被存储在第一预测参考区存储单元30中。此外,预测参考图象被第二FP产生单元28转换成第二预测参考图象,并且被存储在第二预测参考区存储单元32中(步骤
接着,参考区选择器36使用处理目标块周围的块的MVD确定处理目标块的复杂度。参考区选择器36将这个复杂度与预定数值进行比较,并且根据比较结果选择第一预测参考图象或第二预测参考图象(步骤S04)。
接着,运动向量产生单元34产生运动向量,并且运动向量被输出到预测图象产生单元38(步骤S05)。接着,根据处理目标块的移动复杂度,参考区选择器36选择第一预测参考图象或第二预测参考图象。预测图象产生单元38提取参考区选择器36选择的图象中上述运动向量所指定的区域的图象,并且该图象被作为预测图象候选。预测图象候选与运动向量相关(步骤S06)。
针对为处理目标块预定的预测参考图象中的区域重复步骤S05和步骤S06的处理,并且预测误差判定单元40从多个预测图象候选中提取表现出相对处理目标块的最小误差的候选,以作为处理目标块的预测图象。此外,预测误差判定单元40提取与如此提取的预测图象候选相关的运动向量,以作为处理目标块的运动向量(步骤S07)。在针对编码目标帧的所有块重复步骤S02至S07的处理之后,产生编码目标帧的预测图象并输出到减法单元6;此外,所有块的运动向量被转换成MVD,并且这些MVD被输出到编码单元12。
回到图5,减法单元6执行运动补偿预测单元2输出的预测图象和编码目标帧之间的差的计算,以产生预测残留图象(步骤S08)。转换单元8将预测残留图象分解成一组系数(步骤S09)。系数分别被量化单元10量化,并且被转换成量化系数(步骤S10)。接着,上述MVD和量化系数被编码单元12编码,以产生压缩数据(步骤S11)。
接着描述使得计算机充当视频编码设备1的视频编码程序50。图7是图解视频编码程序50的结构的模块图。视频编码程序50包括控制处理的主模块51,运动补偿预测模块52,减法模块54,转换模块56,量化模块58,编码模块60,反量化模块62,反转换模块64,加法模块66和MVD存储器模块68。如图8所示,其中图解了运动补偿预测模块52的结构,运动补偿预测模块52包括预测参考区产生子模块70,第一FP产生子模块72,第二FP产生子模块74,运动向量产生子模块76,参考区选择子模块78,预测图象产生子模块80和预测误差判决模块82。预测参考区产生子模块70包括1/2象素插入区产生子模块84和1/4象素插入区产生子模块86。
通过运动补偿预测模块52,减法模块54,转换模块56,量化模块58,编码模块60,反量化模块62,反转换模块64,加法模块66,MVD存储器模块68,预测参考区产生子模块70,第一FP产生子模块72,第二FP产生子模块74,运动向量产生子模块76,参考区选择子模块78,预测图象产生子模块80,预测误差判决模块82,1/2象素插入区产生子模块84和1/4象素插入区产生子模块86在计算机中实现的功能分别与运动补偿预测单元2,减法单元6,转换单元8,量化单元10,编码单元12,反量化单元14,反转换单元16,加法单元18,MVD存储单元20,预测参考区产生单元24,第一FP产生单元26,第二FP产生单元28,运动向量产生单元34,参考区选择器36,预测图象产生单元38,预测误差判定单元40,1/2象素插入区产生单元42和1/4象素插入区产生单元44相同。例如,通过诸如CD-ROM,DVD,ROM等等的记录介质,或通过半导体存储器提供视频编码程序50。视频编码程序50可以是通过网络以载波上的计算机数据信号的形式提供的程序。
下面描述第一实施例的视频编码设备1的操作和效果。在视频编码设备1中,针对编码目标帧被分割而成的多个块中的每个,提取块周围的MVD的绝对值。这些MVD的绝对值表示处理目标块相对参考帧的移动的复杂度。在视频编码设备1中,如果处理目标块周围的块的MVD绝对值小于预定数值,则使用第一FP产生单元26产生的第一预测参考图象产生预测图象。也就是,如果处理目标块相对参考帧的移动不复杂,则从FP数目较小的第一预测参考图象中提取预测图象。因此,对于相对参考帧的移动不复杂的处理目标块,通过增加分辨率来改进编码效率。另一方面,如果处理目标周围的块的MVD绝对值等于或大于预定数值,则使用第二FP产生单元28产生的第二预测参考图象产生预测图象。也就是,如果处理目标块的移动较复杂,则从FP数目较大的第二预测参考图象中提取预测图象。因此,对于相对参考帧的移动较复杂的处理目标块,由于作为从FP数目较大的第二预测参考图象中提取的预测图象的结果,预测图象和处理目标块的图象之间的差异较小,因此降低了冗余度。如此,作为根据处理目标块相对参考帧的改变,以灵活方式由第一预测参考图象和第二预测参考图象产生的预测图象的结果,改进了编码效率。
注意,在上述运动补偿预测单元2中,当执行运动补偿预测时,整体产生参考帧的预测参考图象。然而,也可以根据处理目标块的位置,仅针对参考帧中的预定区域(即为检测运动向量而执行块匹配的区域)产生预测参考图象。在这种情况下,每当切换处理目标块时,产生新的预测参考图象。图9的模块图示出了第一实施例的视频编码设备中的可选运动补偿预测单元的结构。这个运动补偿预测单元88可以替换视频编码设备1的运动补偿预测单元2。
如图9所示,运动补偿预测单元88包括预测参考区产生单元90,自适应FP产生单元92,预测参考区存储单元99,运动向量产生单元96,预测图象产生单元98和预测误差判定单元100。
根据参考帧中对应于将执行运动补偿预测的处理目标块的预定区域的图象,预测参考区产生单元90产生预测参考图象。这种预定区域是其中将执行块匹配以检测处理目标块的运动向量的区域。
预测参考区产生单元90包括1/2象素插入区产生单元102和1/4象素插入区产生单元104。1/2象素插入区产生单元102将参考帧中上述预定区域的图象转换成具有双倍分辨率的图象。此外,1/4象素插入区产生单元产生预测参考图象,其中具有双倍分辨率的图象被进一步转换成具有四倍分辨率的图象。通过处理实现分辨率的增加,该处理与上述1/2象素插入区产生单元42和1/4象素插入区产生单元44执行的处理相同。
自适应FP产生单元92从MVD存储单元20获得处理目标块周围的块的MVD。如果MVD的绝对值小于预定数值,自适应FP产生单元92将预测参考图象的(3/4,3/4)象素位置转换为FP。这种FP的产生处理与第一FP产生单元26执行的处理相同。另一方面,如果上述MVD的绝对值等于或大于预定数值,则自适应FP产生单元92通过与第二FP产生单元28的处理相同的处理向预测参考图象提供FP。具有自适应FP产生单元92提供的FP的预测参考图象被存储在预测参考区存储单元94中。
运动向量产生单元96产生从处理目标块到将对其执行匹配的预测参考图象的位置的运动向量,并且输出这些运动向量到预测图象产生单元98。产生运动向量以实现与预测参考图象的全部区域的块匹配。
预测图象产生单元98从预测参考区存储单元99中存储的预测参考图象中提取运动向量产生单元96输出的运动向量所指定的区域的图象,以作为预测图象的候选,并且确定预测图象候选和运动向量之间的对应关系。与运动向量产生单元96产生的每个运动向量相对应地产生这种预测图象候选。
预测误差判定单元100选择预测图象候选,并且以选择的候选作为处理目标块的预测图象PI,在预测图象产生单元98产生的预测图象候选中,所选择的预测图象候选表现出相对处理目标块的最小误差。此外,预测误差判定单元100得到与选择的预测图象候选相关的运动向量,以作为处理目标块的运动向量。针对编码目标帧EI的所有块确定预测图象,并且这些预测图象PI接着被输出到减法单元6。此外,还针对编码目标帧EI的所有块确定运动向量。这些运动向量被转换成MVD,接着MVD被预测误差判定单元100输出到编码单元12。
下面描述在使用运动补偿预测单元88的情况下视频编码设备1的操作,以及这个视频编码设备1执行的视频编码方法。这里只描述运动补偿预测单元88执行的、不同于视频编码设备1使用运动补偿预测单元2执行的处理的处理。图10是涉及第一实施例的视频编码方法中的可选运动补偿预测的流程图。
在这个视频编码方法中,首先根据处理目标块的位置提取参考帧的预定区域的图象。预测参考区产生单元90将提取的图象转换成具有四倍分辨率的图象。具有四倍分辨率的图象被作为预测参考图象(步骤S20)。
接着,自适应FP产生单元92在预测参考图象中提供FP(步骤S21)。如上所述,自适应FP产生单元92根据处理目标块周围的块的MVD绝对值与预定数值的比较结果,改变预测参考图象中提供的FP的数目。于是具有FP的预测参考图象被存储在预测参考区存储单元94中。
接着,运动向量产生单元96产生的运动向量被输出到预测图象产生单元98(步骤S22)。此外,预测图象产生单元98从预测参考图象中提取运动向量所指定的块的图象,并且提取的图象被作为预测图象候选,并且与运动向量相关(步骤S23)。在改变运动向量时重复步骤S22和S23的处理,以产生多个预测图象候选。此外,在多个预测图象候选中间,预测误差判定单元40选择表现出相对处理目标块的最小误差的候选,以作为处理目标块的预测图象。此外,预测误差判定单元100提取与所选择的候选相关的运动向量,以作为处理目标块的运动向量(步骤S24)。针对编码目标帧的所有块重复步骤S20至S24的处理,以产生编码目标帧的预测图象,并且这些预测图象被输出到减法单元6。此外,预测误差判定单元100将涉及所有块的运动向量转换成MVD,并且MVD被输出到编码单元12。
接着,描述被用来使得计算机充当包括运动补偿预测单元88的视频编码设备1的视频编码程序。如下所述,通过用运动补偿预测模块106替代视频编码程序50中的运动补偿预测模块52,构造这个视频编码程序。图11的模块图示出了第一实施例的视频编码程序中的可选运动补偿预测模块的结构。
运动补偿预测模块106包括预测参考区产生子模块108,自适应FP产生子模块110,运动向量产生子模块112,预测图象产生子模块114和预测误差决定子模块116。此外,预测参考区产生子模块108包括1/2象素插入区产生子模块118和1/4象素插入区产生子模块120。通过预测参考区产生子模块108,自适应产生子模块110,运动向量产生子模块112,预测图象产生子模块114,预测误差决定子模块116,1/2象素插入区产生子模块118和1/4象素插入区产生子模块120在计算机中实现的功能分别与预测参考产生单元90,自适应FP产生单元92,运动向量产生单元96,预测图象产生单元98,预测误差判定单元100,1/2象素插入区产生单元102和1/4象素插入区产生单元104相同。
对于针对参考帧中将对其执行块匹配的预定区域产生预测参考图象的处理,与整体产生参考帧的预测参考图象的处理相比较,减少了一次需要的存储器容量。
[第二实施例]
下面描述本发明第二实施例的视频编码设备130。视频编码设备130不同于第一实施例的视频编码设备1的地方在于,处理目标块周围的块中的非零DCT系数的数目被用来表示处理目标块相对参考帧的移动复杂度。由于DCT系数是分解预测残留差分图象而成的系数,随着处理目标块和预测图象之间的差异的增加,即随着处理目标块相对参考帧的移动复杂度的增加,非零DCT系数的数目相应增加。
在物理上,视频编码设备130具有类似于第一实施例的视频编码设备1的结构。图12的模块图示出了第二实施例的视频编码设备的功能结构。在功能方面,如图12所示,视频编码设备130包括运动补偿预测单元132,帧存储器134,减法单元136,转换单元138,量化单元140,编码单元142,反量化单元144,反转换单元146,加法单元148和系数数目存储单元150。在这些组成单元中间,运动补偿预测单元132,转换单元138和系数数目存储单元150的功能不同于视频编码设备1中的单元。下面描述运动补偿预测单元132,转换单元138和系数数目存储单元150,并且省略其它单元的说明。
转换单元138将减法单元136输出的预测残留差分图象分割成具有预定尺寸的多个块,并且对多个块中的每个的预测残留差分图象执行DCT。DCT系数被量化单元140量化,于是被转换成量化DCT系数,并且非零量化DCT系数的数目被记录在每个块的系数数目存储单元中。运动补偿预测单元132使用系数数目存储单元150中存储的非零DCT系数的数目。
运动补偿预测单元132的结构类似于图2示出的第一实施例的运动补偿预测单元2的结构,但是当参考区选择器36确定第一实施例中处理目标块的移动复杂度时,使用处理目标块周围的块中的非零量化DCT系数的数目,而不是使用处理目标块周围的块的MVD绝对值。此外,由于运动补偿预测单元132的其余处理类似于运动补偿预测单元2的处理,因此省略了对这种处理的说明。
视频编码设备130的操作和视频编码设备130执行的视频编码方法不同于第一实施例的地方仅在于,处理目标块周围的块中的非零量化DCT系数的数目被用来表示处理目标块相对参考帧的移动复杂度。因此省略了该操作和方法的说明。此外,类似地,被用来使得计算机充当视频编码设备130的视频编码程序不同于第一实施例的视频编码程序50的地方仅在于,周围块中非零量化DCT系数的数目被用来表示处理目标块相对参考帧的移动复杂度。因此省略了该程序的说明。
此外,象在第一实施例的视频编码设备1中那样,在视频编码设备130中,当执行运动补偿预测时,可以针对参考帧整体产生预测参考图象,也可以根据处理目标块的位置,仅针对参考帧中将对其执行块匹配的预定区域产生预测参考图象。
如上所述,通过使用处理目标块周围的块中的非零量化DCT系数的数目以作为处理目标块相对参考帧的移动复杂度,也可以实现本发明的构思。
[第三实施例]
下面描述本发明第三实施例的视频编码设备160。视频编码设备160不同于第一实施例的视频编码设备1的地方在于,处理目标块中MVD的绝对值被用来表示处理目标块相对参考帧的移动复杂度。
在物理上,视频编码设备160具有类似于第一实施例的视频编码设备1的结构。图13的模块图示出了构成第三实施例的视频编码设备的功能结构。在功能方面,如图13所示,视频编码设备160包括运动补偿预测单元162,帧存储器164,减法单元166,转换单元168,量化单元170,编码单元172,反量化单元174,反转换单元176和加法单元178。对于这些组成单元,在视频编码设备160中,运动补偿预测单元162执行的处理不同于视频编码设备1中提供的组成单元的处理。因此,下面描述运动补偿预测单元162,并且省略涉及其它组成单元的说明。
图14的模块图示出了第三实施例的视频编码设备中的运动补偿预测单元的结构。如图14所示,运动补偿预测单元162包括预测参考区产生单元180,预测参考区存储单元182,运动向量产生单元184和自适应FP产生单元186,预测图象产生单元188和预测误差判定单元190。
预测参考区产生单元180包括1/2象素插入区产生单元192和1/4象素插入区产生单元194。预测参考区产生单元180产生预测参考图象,其中通过与第一实施例的预测参考区产生单元90的处理相同的处理,将参考帧中对应于处理目标块的预定区域的图象转换成具有四倍分辨率的图象。预测参考区产生单元180在预测参考区存储单元182中存储预测参考图象。
运动向量产生单元184产生针对预测参考图象(其中将针对处理目标块执行块匹配)中的位置的运动向量,并且将这些运动向量输出到自适应FP产生单元186和预测图象产生单元188。
通过计算处理目标块周围的块中的运动向量的中值(medianvalue)和运动向量产生单元184输出的运动向量之间的差,自适应FP产生单元186产生MVD。如果MVD的绝对值小于预定数值,自适应FP产生单元186将预测参考图象的(3/4,3/4)象素位置转换为FP。产生这些FP的处理类似于第一实施例的第一FP产生单元26所执行的处理。另一方面,如果MVD的绝对值等于或大于预定数值,则通过类似于第一实施例的第二FP产生单元的处理的处理在预测参考图象中提供FP。具有自适应FP产生单元186提供的FP的预测参考图象被输出到预测图象产生单元188。
预测图象产生单元188从自适应FP产生单元186输出的预测参考图象中得到运动向量产生单元184输出的运动向量所指定的区域的图象,以作为预测图象候选,并且确定预测图象候选和运动向量之间的对应关系。运动向量产生单元184产生多个运动向量,以便针对预测参考图象的整个区域执行块匹配,并且预测图象产生单元188产生多个运动向量的预测图象候选。
在预测图象产生单元188产生的多个预测图象候选中间,预测误差判定单元190选择表现出相对处理目标块的最小误差的候选,以作为处理目标块的预测图象。预测误差判定单元190提取与选择的候选相关的运动向量,以作为处理目标块的运动向量。针对编码目标帧的所有块确定预测图象,并且预测图象被输出到减法单元166。还针对编码目标帧的所有块确定运动向量。这些运动向量被转换成MVD,接着MVD被预测误差判定单元190输出到编码单元172。
下面描述视频编码设备160的操作和第三实施例的视频编码方法。这里只描述涉及运动补偿预测、不同于第一实施例的视频编码方法的处理。图15的流程图示出了第三实施例中的运动补偿预测的处理。
如图15所示,在第三实施例的运动补偿预测中,预测参考区产生单元180首先将参考帧中根据处理目标块预定的区域的图象转换成具有四倍分辨率的图象,并且具有四倍分辨率的图象作为预测参考图象被存储在预测参考区存储单元182中(步骤S30)。
接着,运动向量产生单元184产生针对将执行块匹配的预测参考图象的位置的运动向量,并且运动向量被输出到自适应FP产生单元186和预测图象产生单元188(步骤S31)。
接着,根据运动向量产生单元184输出的运动向量,和通过处理目标块周围的块的运动向量的中值形成的向量,自适应FP产生单元186产生差分运动向量(MVD)。如上所述,根据MVD的绝对值和预定数值的比较结果,自适应FP产生单元186改变预测参考图象中提供的FP的数目(步骤S33)。
从自适应FP产生单元186输出的预测参考图象中,预测图象产生单元188提取对应于运动向量产生单元184输出的运动向量的位置上的块的图象,并且该图象被作为预测图象候选,使得对应于上述运动向量,并且输出到预测误差判定单元190(步骤S34)。重复步骤S31到步骤S34的处理,直到针对预测参考图象的所有完整区域执行了块匹配,从而产生多个预测图象候选。
在多个预测图象候选中间,预测误差判定单元190选择表现出相对处理目标块的最小误差的候选,以作为预测图象,并且输出预测图象到减法单元166。此外,预测误差判定单元190提取与预测图象相关的运动向量。预测误差判定单元190将运动向量转换成MVD,并且输出MVD到编码单元172(步骤S35)。
下面描述使得计算机充当视频编码设备160的视频编码程序。由于这个视频编码程序不同于第一实施例的视频编码程序50的地方仅在于运动补偿预测模块的结构,因此这里只描述运动补偿预测模块200的结构。
图16的模块图示出了涉及第三实施例的视频编码程序的运动补偿预测模块的结构。运动补偿预测模块200包括预测参考区产生子模块202,运动向量产生子模块204,自适应产生子模块206,预测图象产生子模块208和预测误差决定子模块210。预测参考区产生子模块202包括1/2象素插入区产生子模块212和1/4象素插入区产生子模块214。通过预测参考区产生子模块202,运动向量产生子模块204,自适应产生子模块206,预测图象产生子模块208,预测误差决定子模块210,1/2象素插入区产生子模块212和1/4象素插入区产生子模块214在计算机中实现的功能分别与预测参考区产生单元180,运动向量产生单元184,自适应FP产生单元186,预测图象产生单元188,预测误差判定单元190,1/2象素插入区产生单元192和1/4象素插入区产生单元194相同。
如上所述,通过具有使用处理目标块本身的MVD表示处理目标块的移动复杂度的结构的视频编码设备,也可以实现本发明的构思。
[第四实施例]
下面描述本发明第四实施例的视频解码设备220。视频解码设备220是通过对第一实施例的视频编码设备1产生的压缩数据进行解码来产生视频的装置。在物理上,视频解码设备220是包括CPU(中央处理单元),被称作存储器的存储器装置,被称作硬盘的存储装置等等的计算机。这里,除了诸如个人计算机等等的普通计算机之外,术语"计算机"还包含诸如移动通信终端的便携信息终端,使得本发明的构思可以广泛应用于能够进行信息处理的装置。
下面描述视频解码设备220的功能结构。图17的模块图示出了涉及第四实施例的视频解码设备的功能结构。在功能方面,视频解码设备220包括解码单元222,反量化单元224,反转换单元226,MVD存储单元228,运动补偿预测单元230,帧存储器232和加法单元234。
解码单元222是对视频编码设备1产生的压缩数据进行解码的单元。解码单元向MVD存储单元228和运动补偿预测单元230输出通过解码压缩数据而得到的MVD。此外,解码单元222向反量化单元224输出根据压缩数据解码的量化系数。
反量化单元224通过对量化系数执行反量化操作产生系数,并且输出这些系数到反转换单元226。使用反量化单元224输出的系数,反转换单元226通过根据预定反转换规则执行反转换,产生预测残留差分图象。反转换单元226输出预测残留图象到加法单元234。这里,在视频编码设备1的转换单元8使用DCT的情况下,反DCT可以被用作指定的反转换规则。此外,在视频编码设备1的转换单元8使用MP方法的情况下,MP方法的反操作可以被用作预定反转换规则。
MVD存储单元228存储解码单元222输出的MVD。运动补偿预测单元230使用MVD存储单元存储的MVD。
使用解码单元222输出的MVD,运动补偿预测单元230根据帧存储器232中存储的参考帧产生解码目标帧的预测图象。后面会描述这个处理的细节。运动补偿预测单元230向加法单元234输出所产生的预测图象。
加法单元234相加运动补偿预测单元230输出的预测图象和反转换单元226输出的预测残留差分图象,于是产生解码目标帧。加法单元234向帧存储器232输出帧,而运动补偿预测单元230将输出到帧存储器232的帧用作参考帧。
下面描述运动补偿预测单元230的细节。图18的模块图示出了第四实施例的视频解码设备中的运动补偿预测单元的结构。运动补偿预测单元230包括预测参考区产生单元236,第一FP产生单元238,第二FP产生单元240,第一预测参考区存储单元242,第二预测参考区存储单元244,参考区选择器246和预测图象产生单元248。
预测参考区产生单元236根据帧存储器232中存储的参考帧RI产生预测参考图象。预测参考区产生单元24具有1/2象素插入区产生单元250和1/4象素插入区产生单元252。1/2象素插入区产生单元250和1/4象素插入区产生单元252分别执行与视频编码设备1的1/2象素插入区产生单元42和1/4象素插入区产生单元44相同的处理。
第一FP产生单元238执行与视频编码设备1的第一FP产生单元26相同的处理;这个单元产生第一预测参考图象,并且在第一预测参考区存储单元242中存储图象。第二FP产生单元240执行与视频编码设备1的第二FP产生单元28相同的处理;这个单元产生第二预测参考图象,并且在第二预测参考区存储单元244中存储图象。
参考区选择器246执行与视频编码设备1的参考区选择器36相同的处理;这个选择器从MVD存储单元228获得处理目标块周围的块中的MVD,将获得的MVD的绝对值与预定数值相比较,并且根据比较结果输出选择第一预测参考图象或第二预测参考图象的决定。
预测图象产生单元248根据解码单元222输出的MVD计算处理目标块的运动向量。此外,预测图象产生单元248根据参考区选择器246产生的决定选择第一预测参考图象或第二预测参考图象,并且在选择的图象中间,提取处理目标块的运动向量所指定的区域的图象,以作为处理目标块的预测图象。
下面描述视频解码设备220的操作,还描述第四实施例的视频解码方法。图19是涉及第四实施例的视频解码方法的流程图。此外,图20的流程图示出了涉及第四实施例的视频解码方法的运动补偿预测的处理。
如图19所示,在第四实施例的视频解码方法中,根据视频编码设备1产生的压缩数据,解码单元222首先解码出解码目标帧的多个块中的每个的MVD和量化系数(步骤S40)。量化系数被转换成反量化单元224通过执行反量化操作而产生的系数(步骤S41)。这些系数被用于反转换单元226执行的反转换,并且作为这个反转换的结果,恢复出预测残留差分图象(步骤S42)。
MVD存储单元208存储解码单元222解码的MVD。此外,解码单元222解码的MVD被输出到运动补偿预测单元230,并且运动补偿预测单元230使用这些MVD执行运动补偿预测(步骤S43)。
如图20所示,在运动补偿预测单元230中,由预测参考区产生单元236产生预测参考图象,该预测参考图象被形成为参考帧分辨率变为四倍的图象(步骤S44)。预测参考图象被输出到第一FP产生单元和第二FP产生单元240。预测参考图象被第一FP产生单元238转换成第一预测参考图象,或被第二FP产生单元240转换成第二预测参考图象(步骤S45)。
接着,参考区选择器246使用处理目标块周围的块的MVD确定处理目标块的移动复杂度。参考区选择器246将这个复杂度与预定数值进行比较,并且根据比较结果作出选择第一预测参考图象或第二预测参考图象的决定(步骤S46)。此外,预测图象产生单元248根据MVD产生处理目标块的运动向量。此外,从参考区选择器246在第一预测参考图象和第二预测参考图象中选择的图象中,预测图象产生单元248提取处理目标块的运动向量所指定的区域的图象。预测图象产生单元248提取的图象被作为处理目标块的预测图象。
针对解码目标帧的所有块执行步骤S52和S53的处理,以产生解码目标帧的预测图象。回到图19,加法单元234相加解码目标帧的预测图象和预测残留差分图象,以恢复解码目标帧(步骤S48)。
下面描述使得计算机充当视频解码设备220的视频解码程序。图21的模块图示出了涉及第四实施例的视频解码程序的结构。视频解码程序260包括控制处理的主模块261,解码模块262,反量化模块264,反转换模块266,MVD存储器模块268,运动补偿预测模块270和加法模块272。运动补偿预测模块270包括预测参考区产生子模块274,第一FP产生子模块276,第二FP产生子模块278,参考区选择子模块280和预测图象产生子模块282。预测参考区产生子模块274包括1/2象素插入区产生子模块284和1/4象素插入区产生子模块286。
通过解码模块262,反量化模块264,反转换模块266,MVD存储模块268,运动补偿预测模块270,加法模块272,预测参考区产生子模块274,第一FP产生子模块276,第二FP产生子模块278,参考区选择子模块280,预测图象产生模块282,1/2象素插入区产生子模块284和1/4象素插入区产生子模块286在计算机中实现的功能分别与解码单元222,反量化单元224,反转换单元226,MVD存储单元228,运动补偿预测单元230,加法单元234,预测参考区产生单元236,第一FP产生单元238,第二FP产生单元240,参考区选择器246,预测图象产生单元248,1/2象素插入区产生单元250和1/4象素插入区产生单元252相同。例如,通过诸如CD-ROM,DVD,ROM等等的记录介质,或通过半导体存储器提供视频解码程序260。视频解码程序260可以是通过网络以载波上的计算机数据信号的形式提供的程序。
下面描述第四实施例的视频解码设备220的操作和效果。在视频解码设备220中,提取处理目标块周围的块中的MVD的绝对值。这些MVD的绝对值表示处理目标块相对参考帧的移动复杂度。在视频解码设备220中,如果处理目标块周围的区域的MVD绝对值小于预定数值,则从第一FP产生单元238产生的第一预测参考图象中提取预测图象。也就是,使用其中FP数目较小的第一预测参考图象产生预测图象。另一方面,如果处理目标块周围的区域的MVD绝对值等于或大于预定数值,则从第二FP产生单元240产生的第二预测参考图象中提取预测图象。也就是,使用其中FP数目较大的第二预测参考图象产生预测图象。于是,通过如实执行与视频编码设备1的处理相反的处理,视频解码设备220可以恢复出视频。
注意,在运动补偿预测单元230中,当执行运动补偿预测时,针对参考帧整体产生预测参考图象。然而,运动补偿预测单元230也可以被构造成只针对参考帧中相对于处理目标块的预定区域,即使用运动向量提取预测图象所需的区域产生预测参考图象。在这种情况下,每当切换处理目标块时,产生预测参考图象。图22的模块图示出了第四实施例的视频解码设备中的可选运动补偿预测单元的结构。这种运动补偿预测单元290可以替换视频解码设备220的运动补偿预测单元230。
运动补偿预测单元290包括预测参考区产生单元292,自适应FP产生单元299,预测参考区存储单元296和预测图象产生单元298。
预测参考区产生单元292根据参考帧中对应于处理目标块的预定区域产生预测参考图象。预测参考区产生单元292包括1/2象素插入区产生单元302和1/4象素插入区产生单元304。1/2象素插入区产生单元302将上述预定区域的图象转换成具有双倍分辨率的图象。此外,1/4象素插入区产生单元304产生预测参考图象,其中具有双倍分辨率的图象被进一步转换成具有四倍分辨率的图象。通过与视频编码设备1的1/2象素插入区产生单元42和1/4象素插入区产生单元44执行的处理相类似的处理,可以实现这种分辨率增加。
自适应FP产生单元294从MVD存储单元208获得处理目标块周围的块中的MVD,并且如果这些MVD的绝对值小于预定数值,自适应FP产生单元294将预测参考图象的(3/4,3/4)象素位置转换成FP。产生这些FP的处理类似于第一FP产生单元238所执行的处理。另一方面,如果上述MVD的绝对值等于或大于预定数值,则自适应FP产生单元294通过与第二FP产生单元240的处理类似的处理向预测参考图象提供FP。具有自适应FP产生单元294提供的FP的预测参考图象被存储在预测参考区存储单元296中。
预测图象产生单元298根据解码单元222解码的MVD产生处理目标块的运动向量。预测图象产生单元298从预测参考区存储单元94中存储的预测参考图象中提取处理目标块的运动向量所指定的图象,并且输出结果图象以作为预测图象。
下面描述运动补偿预测模块310,运动补偿预测模块310被用来使得计算机以和运动补偿预测单元290相同的方式操作。使用运动补偿预测模块310,而不是视频解码程序260的运动补偿预测模块270。图23的模块图示出了第四实施例的视频解码程序中的可选运动补偿预测模块的结构。
运动补偿预测模块包括预测参考区产生子模块312,自适应产生子模块314和预测图象产生子模块316。预测参考区产生子模块312包括1/2象素插入区产生子模块318和1/4象素插入区产生子模块320。通过预测参考区产生子模块312,自适应产生子模块314,预测图象产生子模块316,1/2象素插入区产生子模块318和1/4象素插入区产生子模块320在计算机中实现的功能分别与预测参考区产生单元292,自适应FP产生单元294,预测图象产生单元298,1/2象素插入区产生单元302和1/4象素插入区产生单元304相同。
对于运动补偿预测单元290,可以只针对为了提取处理目标块的预测图象而需要的区域产生预测参考图象;因此,可以减少整体产生参考帧的预测参考图象所需的存储器容量。
[第五实施例]
下面描述构成本发明的第五实施例的视频解码设备330。视频解码设备330是根据第二实施例的视频编码设备130产生的压缩数据恢复出视频的装置。视频解码设备330不同于第四实施例的视频解码设备220的地方在于,处理目标块周围的块中的量化CDT系数的数目被用来表示解码目标帧中处理目标块相对参考帧的移动复杂度。
在物理上,视频解码设备330具有类似于第四实施例的视频解码设备220的结构。图24的模块图示出了涉及第五实施例的视频解码设备的功能结构。在功能方面,视频解码设备330包括解码单元332,反量化单元334,反转换单元336,系数数目存储单元338,运动补偿预测单元340,帧存储器342和加法单元344。在这些组成单元中间,反转换单元336,系数数目存储单元338和运动补偿预测单元340的功能不同于视频解码设备220;因此,下面描述反转换单元336,系数数目存储单元338和运动补偿预测单元340,并且省略其它单元的说明。
通过对反量化单元334执行反量化操作而产生的DCT系数应用反DCT,反转换单元336恢复预测残留差分图象。
系数数目存储单元338存储解码单元332针对解码目标帧的每个块解码出的量化DCT系数的数目。运动补偿预测单元340使用非零量化DCT系数的数目。
在运动补偿预测单元340中,参考区选择器使用处理目标块周围的块中的非零量化DCT系数的数目,以作为涉及处理目标块的移动复杂度。在涉及运动补偿预测单元340的结构的其它方面,结构与视频解码设备220的运动补偿预测单元230相同;因此省略了说明。运动补偿预测单元390产生预测图象,其中根据移动复杂度改变FP的数目。
此外,第五实施例的视频解码方法与第四实施例的视频解码方法相同,例外的是处理目标块周围的块中的非零量化DCT系数的数目被用作处理目标块的移动复杂度;因此省略了说明。此外,通过将视频解码程序260的运动补偿预测模块270改变成使得计算机实现运动补偿预测单元390的功能的模块,也可以构造被用来使得计算机充当视频解码设备330的视频解码程序。
于是,通过如实执行与视频编码设备130的处理相反的处理,第五实施例的视频解码设备330可以恢复出视频。
[第六实施例]
下面描述本发明第六实施例的视频解码设备350。视频解码设备350是根据第三实施例的视频编码设备160产生的压缩数据解码出视频的装置。视频解码设备350不同于第四实施例的视频解码设备220的地方在于,处理目标块中MVD的绝对值被用来表示解码目标帧中处理目标块相对参考帧的移动复杂度。
在物理上,视频解码设备350具有类似于第四实施例的视频解码设备220的结构。图25的模块图示出了构成第六实施例的视频解码设备的功能结构。在功能方面,如图25所示,视频解码设备350包括解码单元352,反量化单元359,反转换单元356,运动补偿预测单元358,帧存储器360和加法单元362。对于这些组成单元,在视频解码设备350中,运动补偿预测单元358执行的处理不同于视频解码设备220中提供的组成单元的处理;因此,下面描述运动补偿预测单元358,并且省略涉及其它组成单元的说明。
图26的模块图示出了第六实施例的视频解码设备中的运动补偿预测单元的结构。如图26所示,运动补偿预测单元358包括预测参考区产生单元370,自适应FP产生单元372,预测参考区存储单元374和预测图象产生单元376。预测参考区产生单元370包括1/2象素插入区产生单元380和1/4象素插入区产生单元382。预测参考区产生单元370产生预测参考图象,其中通过与第四实施例的预测参考区产生单元292的处理相同类似的处理,将参考帧中对应于处理目标块的预定区域的图象转换成具有四倍分辨率的图象。
如果被解码单元352解码的处理目标块的MVD的绝对值小于预定数值,自适应FP产生单元372将预测参考图象的(3/4,3/4)象素位置转换为FP。产生这些FP的处理类似于第四实施例的第一FP产生单元238所执行的处理。另一方面,如果上述MVD的绝对值等于或大于预定数值,则自适应FP产生单元372通过与第四实施例的第二FP产生单元240的处理类似的处理向预测参考图象提供FP。自适应FP产生单元372提供的预测参考图象被存储在预测参考区存储单元374中。
预测图象产生单元376根据解码单元352解码的处理目标块的MVD产生运动向量。预测图象产生单元376从自适应FP产生单元372产生的预测参考图象中提取处理目标块的运动向量所指定的区域的图象,以作为预测图象。针对解码目标帧的所有块确定预测图象,并且预测图象被输出到加法单元362。
下面描述第六实施例的视频解码方法。对于这个视频解码方法,下面描述不同于第四实施例的视频解码方法的运动补偿预测处理。图27的流程图示出了涉及第六实施例的视频解码方法中的运动补偿预测的处理。如图27所示,在这个运动补偿预测处理中,首先由预测参考区产生单元370产生预测参考图象(步骤S50)。根据参考帧中为产生预测图象而需要的预定区域,产生预测参考图象。接着,将处理目标块的MVD的绝对值与预定数值相比较,并且产生具有对应于这个比较结果的FP数目的预测参考图象(步骤S51)。接着,预测图象产生单元376根据处理目标块的MVD产生运动向量。接着,预测图象产生单元376提取处理目标块的运动向量所指定的区域的图象,并且输出图象以作为预测图象(步骤S52)。针对解码目标帧的所有块执行步骤S50至S52的处理,以恢复解码目标帧。
下面描述使得计算机充当视频解码设备350的视频解码程序390。图28的模块图示出了涉及第六实施例的视频解码程序的结构。视频解码程序390包括控制处理的主模块391,解码模块392,反量化模块394,反转换模块396,运动补偿预测模块398和加法模块400。运动补偿预测模块398包括预测参考区产生子模块402,自适应产生子模块404和预测图象产生子模块406。预测参考区产生子模块402包括1/2象素插入区产生子模块408和1/4象素插入区产生子模块410。
通过解码模块392,反量化模块394,反转换模块396,运动补偿预测模块398,加法模块400,预测参考区产生子模块402,自适应产生子模块404,预测图象产生子模块406,1/2象素插入区产生子模块408和1/4象素插入区产生子模块410在计算机中实现的功能分别与解码单元352,反量化单元354,反转换单元356,运动补偿预测单元358,加法单元362,预测参考区产生单元370,自适应FP产生单元372,预测图象产生单元376,1/2象素插入区产生单元380和1/4象素插入区产生单元382相同。例如,通过诸如CD-ROM,DVD,ROM等等的记录介质,或通过半导体存储器提供视频解码程序390。视频解码程序390可以是通过网络以载波上的计算机数据信号的形式提供的程序。
于是,通过如实执行与视频编码设备160的处理相反的处理,第六实施例的视频解码设备350可以恢复出视频。
前面在优选实施例中图解和描述了本发明的原理,但是本领域技术人员明白,在不偏离这种原理的前提下可以在结构和细节方面对本发明进行修改。因此,我们对源于权利要求的精神和范围的所有变型和改型提出权利要求。