发明目的及概述
本发明的一个目的是进一步改善视频编码器。
为此,根据本发明的视频编码器的特征在于运动估算电路被安排使
用第一(P)预测模式中的帧编码周期中的第一个间隔来搜索表示输入
图像和所述一个参考图像之间的运动的运动矢量,并使用所述帧编码周
期中的第二个间隔以加工在第一个间隔中找到的运动矢量。
现有技术的视频编码器的运动估算电路在第二个(B)预测模式中
的一个帧编码周期中执行两次运动矢量搜索。搜索过程的一次运行或发
生被用于产生前向运动矢量,另一次运行被用于产生后向运动矢量。在
第一个(P)预测模式中,只需要搜索前向运动矢量。本发明基于的认
识是,运动估值器可以在P预测模式中被第二次使用,以进一步加工对
于前向运动矢量的搜索。利用本发明,与P图像有关的运动矢量比与B图
像有关的运动矢量更精确。这是有吸引力的,因为P图像通常比B图像互
相之间离开得更宽。
在编码器的一个实施例中,其中运动估算电路被安排来从多个指定
的候选运动矢量中搜索一个运动矢量,在第二个间隔中的所述候选运动
矢量由在第一个间隔中找到的运动矢量的预定变量构成。
实施例描述
现在参考MPEG视频编码器来描述本发明。不过,本发明并不限于遵
照MPEG标准的编码器。图1表示根据本发明的编码器的示意图。在本领
域中,其基本设计是已知的。该编码器包括减法器1、正交变换(例如
DCT)电路2、量化器3、变长编码器4、逆量化器5、逆变换电路6、加法
器7、存储器单元8和运动估算和补偿电路9。
存储器单元8包括存储器81a和81b,其中的每个具有用于存储参考
图像的容量。存储器单元还包括两个开关83和84。开关83控制由运动估
值器读取所述两个存储器中的哪一个。开关84控制被编码的图像存储到
所述两个存储器中的哪一个。在编码器的实际实施例中,开关被作为软
件控制的存储器寻址操作来实现。
在视频编码领域中众所周知,不用参考先前编码图像而对I图像自
主编码。减法器1是不起作用的。I图像被本地解码,并存储到存储器81a
或81b之一。参考一个预测图像而对P图像和B图像进行预测编码。为此,
减法器1从输入图像Xi中减去一个运动补偿预测图像Xp,这样,差被编码
并被发送。加法器7将被本地解码的P图像与预测图像相加以更新所存储
的参考图像。
图2表示概述编码器的现有技术操作的时序图。该图给出了在用于
对IBBPBBP..序列的连续帧周期中的开关83和84的位置。这些帧由编码
类型(I,B,P)和显示顺序来标识。I1是第一个帧,B2是第二个帧,
B3是第三个帧,P4是第五个帧等。
更具体地,图2表示I图像(I1)被写入存储器81a(位置a处的开关)。
第一个P图像(P4)被参考所存储的I图像(位置a处的开关83)而预测
编码,并写入存储器81b(位置b处的开关84)。后来的P图像(P7,P10,…)
被交替读出并写入存储器81a和81b。
参考先前和后来的I或P图像,对B图像编码。注意,这需要图像的
编码顺序与显示顺序不同。其电路在本领域中是公知的,所以图中未给
出。运动估算和补偿电路9访问存储器81a和81b,以(参考先前图像)
产生前向运动矢量和(参考后来图像)产生后向运动矢量。为此,开关
在位置a和位置b之间切换。为了简化起见,图中所示的所述切换是基于
逐帧的。实际上,切换是基于宏块等级进行的。
运动估算电路执行一个指定的运动矢量搜索过程。所述过程需要读
出各自的存储器一个指定的次数,例如N。如图2所示,B图像的编码需
要每个帧周期的2N次存储器访问。在P编码模式中,相同的矢量搜索过
程需要N次存储器访问,而2N次访问是可用的。本发明利用该认识。为
此,运动矢量搜索过程对于P图像执行两个步骤(pass)。在第一个步
骤中,利用‘标准’精确来找到运动矢量。在第二个步骤中,执行相同
的过程以进一步加工在第一个步骤中找到的运动矢量的正确性。图3给
出了两步骤操作,视情况而定,用‘a’或‘b’表示加工步骤。再次注
意,实际上,基于逐个宏块来执行两步骤操作。
图4A-4C表示进一步说明两步骤运动估算过程的图像的各部分。图
4A表示当前图像400要被预测(P)编码。该图像被划分成宏块。要被编
码的当前宏块包括一个目标401。参考编号41、42、43和44表示在相邻
宏块的编码过程中已经找到的的运动矢量。视情况而定,图4B和4C表示
存储在存储器81a和81b中之一的先前I或P图像402。在先前参考图像
中,目标(现在以403表示)在一个不同的位置,并且具有稍微不同的
形状。在本例中,运动估值器从多个候选运动矢量中搜索最佳运动矢
量。用于选择恰当的候选运动矢量的各种策略在本领域中是公知的。这
里假设图4A中的由41、42、43和44表示的运动矢量在对于当前宏块的候
选运动矢量中。图4B表示第一个运动矢量搜索过程步骤的结果。可以看
到,候选运动矢量43提供输入图像的当前宏块和参考图像的相同尺寸的
块404之间的最佳匹配。
在第二步骤中,相同的搜索算法用于不同的候选矢量。更具体地,
在第一个步骤中找到的运动矢量是一个候选运动矢量。其它候选矢量是
它的进一步加工。这在图4C中表示,其中43是在第一个步骤中找到的运
动矢量,并且八个点45表示新的候选运动矢量的结束点。它们与运动矢
量43相差一个(或者半个)象素。相同的搜索算法现在对于新的候选矢
量被执行。在本例中,可以看到,块405与当前宏块最相似。因此,运
动矢量46是用于产生运动补偿预测图像Xp的运动矢量。对于P图像的两
步骤操作尤其具有吸引力,因为它为比B图像分开更宽的图像提供了更
精确的运动矢量。
本发明可以概述如下。一个传统的MPEG视频编码器搜索关于先前图
像的前向运动矢量,并搜索关于后来图像的后向运动矢量,以提供一个
用于对B图像编码的运动补偿预测图像。这需要对于其中存储所述图像
的存储器的2N次访问。搜索对于P图像的运动矢量需要N次存储器访问。
本发明通过在P编码模式中运行两步骤运动矢量搜索来使用剩余容量。
在第二个步骤中,在第一个步骤中找到的运动矢量的精确度被进一步加
工。这提供了用于P图像的更精确的运动矢量。