B图像的直接模式运动矢量计算方法

文档序号:7615475阅读:259来源:国知局
专利名称:B图像的直接模式运动矢量计算方法
技术领域
本发明涉及运动图像编码方法,尤其涉及用于计算在下一代运动图像压缩技术中定义的B(双向预测)图像的直接模式运动矢量的技术。
现有技术传统的B图像具有五种类型的预测模式,包括前向模式、后向模式、双向模式、直接模式和帧内模式。在前向模式、后向模式和双向模式中,因为方向信息包含在模式名称中,所以可以从模式名称中识别出运动矢量的方向。在直接模式中,基于时间冗余特征,即在两个相邻图像之间不变地保持运动连续性,从相邻图像的相同位置块的运动中,可以得出两个方向的两个运动矢量。此直接模式在编码效率方面具有优点,因为不把运动信息发送到解码器。
另一方面,在诸如H.264或者MPEG-4第10部分的下一代运动图像压缩技术中所采用的B图像具有如下特征,即因为能够将B图像存储在参考图像缓冲器中,所以允许将B图像用作参考图像。该B图像还具有如下特征,即,其具有5种类型的预测模式,即序列0模式,序列1模式,双向预测模式,直接模式和帧内模式。
序列0模式与传统的前向模式类似,分别使用ref_id×_l0和mvd_l0指示诸如参考图像索引和运动矢量差值的运动信息。序列1模式与传统的后向模式类似,分别使用ref_id×_l1和mvd_l1指示诸如参考图像索引和运动矢量差值的运动信息。双向预测模式具有两个参考图像,两个参考图像在时间上可以同时处于B图像之前或之后,或者分别处于B图像之前和之后。在此情况下,分别使用ref_id×_l0,ref_id×_l1,mvd_l0和mvd_l1指示两个参考图像索引和两个运动矢量差值,并且每一个参考图像都具有图像顺序计数(POC)数据,这是一个时间位置信息。
在直接模式中,通过选择空间技术和时间技术中的任意一种而获得运动矢量。空间直接模式技术用于从所要编码的宏块的相邻块中得出序列0和序列1参考图像索引和运动矢量。时间直接模式技术通过对直接模式的序列1参考图像中相同位置块的序列0运动矢量进行缩放(该参考图像与传统的B图像类似),从而得出序列0运动矢量MVF和序列1运动矢量MVB。此处,直接模式的序列1参考图像是这样一个图像序列1预测的索引为0,直接模式序列0参考图像是直接模式序列1参考图像中的相同位置块的运动矢量所指向的序列0参考图像。
图1a到1c分别显示的是,当可用的序列0和序列1参考图像的数目(或者短期缓冲器的大小)为6时,在IBBBP模式中,序列0预测的缺省索引,序列1预测的缺省索引和各个B图像的直接模式序列1参考图像。此处,序列0预测的缺省索引和序列1预测的缺省索引取决于先前解码的参考图像的输出顺序,或POC值,而与解码顺序无关。在图1中,所有的B图像使用在时间上紧随的P图像作为直接模式序列1参考图像。
图2a到2c分别显示的是,在仅使用B图像的IBBB模式中,序列0预测的缺省索引,序列1预测的缺省索引和各个B图像的直接模式序列1参考图像。在图2a中,当要编码的B图像为B8时,具有序列1索引0的、在时间上超前的B5为直接模式序列1参考图像。如图2b所示,接着要解码的B7的直接模式序列1参考图像是时间上落后的B8。最后,如图2C所示,接着要解码的B9的直接模式序列1参考图像是时间上超前的B7。
因此,如图1a到2c所示,直接模式序列1参考图像可以是在时间上落后于所要编码的B图像的P或B图像,或者在时间上超前于它的B图像。
图3a到3h显示的是当序列1参考图像在时间上落后于B图像时,直接模式序列1参考图像中的相同位置块所可以具有的模式。在这种情况下,因为序列1参考图像可以是P图像或者是B图像,从而它的相同位置块具有一个或者两个运动矢量,或者帧内模式。下一代的运动图像压缩技术,诸如H.264或者MPEG-4第10部分,允许在“片(slice)”的级别上对参考图像索引进行重新排序,从而将序列1预测的索引0分配给B图像之后的图像。即,由于序列1参考图像能够紧随B图像之后,所以相同位置块的运动矢量可以指向前或者后。
图4a到4h显示的是当序列1参考图像在时间上超前于B图像时,直接模式序列1参考图像中的相同位置块所可以具有的模式。如上所述,在这种情况下,相同位置块具有一个或者两个运动矢量,或者帧内模式。序列1参考图像和B图像之间可以有其它的参考图像,从而相同位置块的运动矢量可以指向时间上超前或者落后的方向。
如图3a到4h所示,直接模式序列1参考图像可以具有不同的预测模式,使得需要开发出一种方法,用于根据不同的情况,计算直接模式运动矢量。

发明内容
因此,本发明已经考虑了上述问题,并且本发明的一个目的是提供一种计算在下一代运动图像压缩技术中定义的B(双向预测)图像的直接模式运动矢量的方法,其中,提出了一种用于计算B图像的直接模式运动矢量的方法,以提高将直接模式选作为宏块预测模式的概率,从而提高B图像编码效率。
根据本发明的一个方面,通过提供一种导出要解码的当前图像中双向预测块的直接模式运动矢量的方法,包括如果直接模式中序列1参考图像中的相同位置块具有序列0和序列1两个运动矢量,则选择相同位置块的序列0运动矢量作为用来导出直接模式运动矢量的运动矢量;将所述序列0运动矢量所指向的参考图像确定为直接模式中的序列0参考图像;以及使用所述的序列0运动矢量导出直接模式运动矢量。
优选地,上述导出步骤通过缩放所述序列0运动矢量来导出直接模式运动矢量。
优选地,上述导出步骤通过基于图像之间的时间距离缩放所述序列0运动矢量来导出直接模式运动矢量。


附图帮助更好地理解本发明,并在此结合构成本申请的一部分,

本发明的实施例并和说明书一起解释本发明的原理,附图中图1a到1c显示的是在传统的IBBBP模式中,直接模式的序列1参考图像;图2a到2c显示的是在普通的IBBB模式中,直接模式的序列1参考图像;图3a到3h显示的是直接模式序列1参考图像在时间上落后于B图像时的情况(L0 MV序列0运动矢量,L1 MV序列1运动矢量);图4a到4h显示的是直接模式序列1参考图像在时间上超前于B图像时的情况(L0 MV序列0运动矢量,L1 MV序列1运动矢量);
图5显示的是在考虑普通的空间冗余时,使用相邻块A,B和C的运动矢量的块E运动矢量预测;图6a到6c显示的是当B图像的宏块和直接模式序列1参考图像的相同位置宏块均处于帧模式,并且序列1参考图像在时间上落后于B图像时的情况;图7a到7d显示的是当B图像的宏块和直接模式序列1参考图像的相同位置宏块均处于场模式,并且序列1参考图像在时间上落后于B图像时的情况;图8a到8c显示的是当B图像的宏块处于场模式,直接模式序列1参考图像的相同位置宏块处于帧模式,并且序列1参考图像在时间上落后于B图像时的情况;图9a到9c显示的是当B图像的宏块处于帧模式,直接模式序列1参考图像的相同位置宏块处于场模式,并且序列1参考图像在时间上落后于B图像时的情况;图10a到10b显示的是当B图像的宏块和直接模式序列1参考图像的相同位置宏块均处于帧模式,并且序列1参考图像在时间上超前于B图像时的情况;图11a到11d显示的是当B图像的宏块和直接模式序列1参考图像的相同位置宏块均处于场模式,并且序列1参考图像在时间上超前于B图像时的情况;图12a到12b显示的是当B图像的宏块处于场模式,普通直接模式序列1参考图像的相同位置宏块处于帧模式,并且序列1参考图像在时间上超前于B图像时的情况;图13a到13b显示的是当B图像的宏块处于帧模式,普通直接模式序列1参考图像的相同位置宏块处于场模式,并且序列1参考图像在时间上超前于B图像时的情况。
优选实施例详细说明本发明提出了一种当直接模式序列1参考图像中的相同位置宏块处于帧内模式时,用于计算直接模式运动矢量的方法,以及在序列1参考图像在时间上落后于B图像的情况下,和在序列1参考图像在时间上超前于B图像的情况下,用于计算直接模式运动矢量的方法。
本发明还提出了一种与直接模式序列0和序列1参考图像的位置无关地计算直接模式运动矢量的方法,其通过为图像间时间距离值指定符号而简化了计算直接模式运动矢量的算法。
另一方面,在图像的级别上进行帧模式和场模式的转换,从而能够将B图像和序列1参考图像编码成为帧模式或者场模式。结果,B图像的宏块和序列1参考图像的相同位置宏块具有四种类型的帧/场编码组合。
序列1参考图像的相同位置宏块处于帧内模式的情况如图3f和4f所示,不管参考图像的时间位置,直接模式序列1参考图像中的相同位置宏块可以处于帧内模式。由于在此模式下的宏块没有运动信息,所以传统的方法只是简单地将直接模式运动矢量设置为0,而将序列0参考图像定义为最新解码的图像。然而,传统的方法不能保证很高的编码效率。因此,本发明基于空间冗余,从所要编码的B图像的宏块的相邻块中,对序列0和序列1参考图像和运动矢量进行预测和计算。
以下面的方式获得各个序列模式的参考图像索引。图5显示的是在考虑普通的空间冗余时,使用相邻块A,B和C的块E运动矢量预测。
——如果相邻块A,B和C具有不同的参考图像索引,则将参考图像索引中最小的一个确定为直接模式参考图像索引。
——如果相邻块中的两个具有相同的参考图像索引,则将此索引确定为直接模式参考图像索引。
——如果所有的相邻块具有相同的参考图像索引,则将此索引确定为直接模式参考图像索引。
另外,通过下面的运动矢量预测而获得各个序列模式的运动矢量。此时,如果相邻块A、B和C中的任何一个处于帧内模式,则将其序列0和序列1运动矢量设定为0。
——从相邻块中,选择具有与如上得到的各个序列模式的参考图像的时间位置方向相同的运动矢量,并且通过中值操作获得各个序列模式的运动矢量。
——如果相邻块具有方向相同的两个运动矢量,则在该块中仅选择两个运动矢量中的一个,并且进行中值操作。
另一方面,如果不能从相邻块中得到任何一个有效的序列0和序列1参考图像索引,则将其设定为0,并且将各个序列模式的运动矢量设定为0。
直接模式序列1参考图像时间上落后于B图像第1种情况B图像的宏块和序列1参考图像的相同位置宏块均处于帧模式如图3a到3h所示,序列1参考图像的相同位置块可以具有一个运动矢量或者两个运动矢量。在本发明中,如果相同位置块具有两个运动矢量,则选择两个运动矢量中的一个(L0 MV或者L1 MV),并且由所选择的运动矢量得到直接模式运动矢量(下文中根据选择L0MV(序列0运动矢量)的情况进行描述)。
因此,可以分别将图3a和3c简化为图6a,将图3b,3d和3e简化为图6c,将图3g和3h简化为图6b。
如果直接模式序列0参考图像和序列1参考图像分别在时间上超前于或者落后于B图像(图6a),或者如果直接模式的序列0和序列1参考图像在时间上都落后于B图像,且序列0参考图像在时间上落后于序列1参考图像(图6b),则按照下面的公式计算直接模式运动矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD其中,TDB表示当前B帧和序列0参考帧之间的时间距离,TDD表示序列1参考帧和序列0参考帧之间的时间距离。
为了方便,对直接模式运动矢量MVF和MVB的计算结果进行位操作,则上述公式表示为Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8如果直接模式序列0和序列1参考图像均在时间上落后于B图像,而序列0参考图像在时间上超前于序列1参考图像(图6c),则按照下面的公式计算直接模式运动矢量MVF=-TDB×MV/TDDMVB=-(TDB+TDD)×MV/TDD此公式可以表示如下Z=-TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8第2种情况B图像的宏块和序列1参考图像的相同位置宏块均处于场模式图7a到7d显示的是B图像的宏块和序列1参考图像的相同位置宏块均处于场模式的情况。由相同奇偶性的序列1参考场中的相同位置块的运动矢量,得到B图像的宏块的各个运动矢量。
如果直接模式序列0和序列1参考图像分别在时间上超前或者落后于B图像(图7a),或者如果直接模式序列0和序列1参考图像在时间上均落后于B图像,而序列0参考图像在时间上落后于序列1参考图像(图7b),则按照下面的公式计算B帧的各个场i的直接模式序列0和序列1运动矢量MVF,i和MVB,i(i=0表示第1个场,i=1表示第2个场)MVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i其中,MVi表示在序列1参考帧中,场i的相同位置块的运动矢量,TDB,i表示当前B场和序列0参考场之间的时间距离,而TDD,i表示序列1参考场和序列0参考场之间的时间距离。
上面的公式可以表示如下Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256MVB,i=(W×MVi+128)>>8如果,因为序列1参考帧中的场i的相同位置块的运动矢量指向一个在时间上落后于B图像的帧中的场,所以直接模式序列0和序列1参考图像均在时间上落后于B图像,且序列0参考图像在时间上超前于序列1参考图像(图7c和7d),则按照下面的公式计算直接模式序列0和序列1运动矢量MVF,i和MVB,iMVF,i=-TDB,i×MVi/TDD,iMVB,i=-(TDB,i+TDD,i)×MVi/TDD,i上面的公式可以表示如下Z=-TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8第3种情况B图像的宏块处于场模式,而序列1参考图像的相同位置宏块处于帧模式图8a到8c显示的是B图像的宏块处于场模式,而序列1参考图像的相同位置宏块处于帧模式的情况。此处,设当前宏块的纵坐标为ycurrent,设序列1参考图像的相同位置宏块的纵坐标为yco-located,在两个坐标之间建立yco-located=2×ycurrent的关系。另外,在相同奇偶性的序列0和序列1参考帧中分别出现序列0和序列1参考场。
如果直接模式序列0和序列1参考图像分别在时间上超前于和落后于B图像(图8a),或者如果直接模式序列0和序列1参考图像在时间上均落后于B图像,且序列0参考图像在时间上落后于序列1参考图像(图8b),则按照下面的公式计算B帧的各个场i的直接模式序列0和序列1运动矢量MVF,i和MVB,iMVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD上面的公式可以表示如下Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256MVB,i=(W×MV+128)>>8如果,由于序列1参考图像中的相同位置块的运动矢量指向一个在时间上落后于B图像的帧,所以直接模式序列0和序列1参考图像均在时间上落后于B图像,且序列0参考图像在时间上超前于序列1参考图像(图8c),则按照下面的公式计算B帧各个场i的直接模式序列0和序列1运动矢量MVF,i和MVB,iMVF,i=-TDB,i×MV/TDDMVB,i=-(TDB,i-TDD)×MV/TDD上面的公式可以表示如下Z=-TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示当前B场和序列0参考场之间的时间距离,TDD表示序列1参考帧和序列0参考帧之间的时间距离,而MV表示直接模式序列1参考帧中相同位置块的运动矢量。
第4种情况B图像宏块处于帧模式,而序列1参考图像的相同位置宏块处于场模式图9a到9c显示的是B图像宏块处于帧模式,而序列1参考图像的相同位置宏块处于场模式的情况。此处,设当前宏块的纵坐标为ycurrent,设序列1参考图像的相同位置宏块的纵坐标为yco-located,在两个坐标之间建立yco-located=ycurrent/2的关系。另外,由于序列1参考帧的场0在时间上比场1更接近于B图像,所以使用场0的相同位置块的运动信息来计算直接模式运动矢量。
如果直接模式序列0和序列1参考图像分别在时间上超前于和落后于B图像(图9a),或者如果直接模式序列0和序列1参考图像在时间上均落后于B图像,且序列0参考图像在时间上落后于序列1参考图像(图9b),则按照下面的公式计算B帧的直接模式序列0和序列1运动矢量MVF和MVBMVF=TDB×MV0/TDD,0MVB=(TDB-TDD,0)×MV0/TDD,0上面的公式可以表示如下Z=TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256MVB=(W×MV0+128)>>8如果,由于序列1参考帧的场0的相同位置块的运动矢量指向在时间上落后于B图像的帧中的一个场,所以直接模式序列0和序列1参考图像均在时间上落后于B图像,且序列0参考图像在时间上超前于序列1参考图像(图9c),则按照下面的公式计算B帧各个场i的直接模式序列0和序列1运动矢量MVF和MVBMVF=-TDB×MV0/TDD,0MVB=-(TDB+TDD,0)×MV0/TDD,0上面的公式可以表示如下Z=-TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256 MVB=(W×MV0+128)>>8其中,TDB表示当前B帧和序列0参考帧之间的时间距离,TDD,0表示序列1参考帧的场0和序列0参考场之间的时间距离,而MV0表示直接模式序列1参考帧的场0中相同位置块的运动矢量。
直接模式序列1参考图像在时间上超前于B图像在此情况下,序列0和序列1参考图像均在时间上超前于B图像。
第1种情况B图像的宏块和序列1参考图像的相同位置宏块均处于帧模式如图4a到4h所示,序列1参考图像中的相同位置块可以具有一个或者两个运动矢量。在本发明中,如果相同位置块具有两个运动矢量,则选择两个运动矢量中的一个(L0 MV或者L1 MV),并且由所选择的运动矢量得到直接模式运动矢量(在下文中,基于选择了L0 MV(序列0运动矢量)的情况进行描述)。
因此,可以分别将图4a,4c,4e,4g和4h简化为图10a,将图4b和4d简化为图10b。
如果直接模式序列0参考图像在时间上超前于直接模式序列1参考图像,则按照下面的公式计算直接模式运动矢量MVF和MVB(图10a)MVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD其中,TDB表示当前B帧和序列0参考帧之间的时间距离,TDD表示序列1参考帧和序列0参考帧之间的时间距离,MV表示直接模式序列1参考图像中相同位置块的运动矢量。
上面的公式可以表示如下Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256MVB=(W×MV+128)>>8
如果序列0参考图像在时间上落后于序列1参考图像,则按照如下公式计算直接模式运动矢量MVF和MVB(图10b)MVF=-TDB×MV/TDDMVB=-(TDB+TDD)×MV/TDD该公式可以表示如下Z=-TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示当前B帧和序列0参考帧之间的时间距离,TDD表示序列1参考帧和序列0参考帧之间的时间距离,MV表示直接模式序列1参考图像中相同位置块的运动矢量。
第2种情况B图像的宏块和序列1参考图像的相同位置宏块均处于场模式如果直接模式序列0参考图像在时间上超前于直接模式序列1参考图像,则按照下面的公式计算B帧各个场i的直接模式序列0和序列1运动矢量MVF,i和MVB,I(图11a和11b)MVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i上面的公式可以表示如下Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中TDB,i表示当前B场和序列0参考场之间的时间距离,TDD,i表示序列1参考场和序列0参考场之间的时间距离,MVi表示直接模式序列1参考场中相同位置块的运动矢量。
如果,因为序列1参考帧中的场i的相同位置块的运动矢量指向时间上落后的帧中的一个场,所以序列0参考图像在时间上超前于序列1参考图像,则按照如下公式计算直接模式序列0和序列1运动矢量MVF,i和MVB,i(图11c和11d)MVF,i=-TDB,i×MVi/TDD,iMVB,i=-(TDB,i+TDD,i)×MVi/TDD,i上面的公式可以表示如下Z=-TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中TDB,i表示当前B场和序列0参考场之间的时间距离,TDD,i表示序列1参考场和序列0参考场之间的时间距离,MVi表示直接模式序列1参考场中相同位置块的运动矢量。
第3种情况B图像的宏块处于场模式,而序列1参考图像的相同位置宏块处于帧模式如果直接模式序列0参考图像在时间上超前于直接模式序列1参考图像,则按照下面的公式计算B帧各个场i的直接模式序列0和序列1运动矢量MVF,i和MVB,I(图12a)MVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD上面的公式可以表示如下Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示当前B场和序列0参考场之间的时间距离,TDD表示序列1参考帧和序列0参考帧之间的时间距离,MV表示直接模式序列1参考帧中相同位置块的运动矢量。
如果,因为序列1参考帧中的相同位置块的运动矢量指向一个时间上落后的帧,所以序列0参考图像在时间上落后于序列1参考图像,则按照如下公式计算B帧各个场i的直接模式序列0和序列1运动矢量MVF,i和MVB,i(图12b)MVF,i=-TDB,i×MV/TDD
MVB,i=-(TDB,i+TDD)×MV/TDD上面的公式可以表示如下Z=-TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示当前B场和序列0参考场之间的时间距离,TDD表示序列1参考帧和序列0参考帧之间的时间距离,MV表示直接模式序列1参考帧中相同位置块的运动矢量。
第4种情况B图像的宏块处于帧模式,而序列1参考图像的相同位置宏块处于场模式因为序列1参考帧的场1 f1比场0 f0在时间上更接近于B图像,所以使用场1 f1的相同位置块的运动信息来计算直接模式运动矢量。
如果直接模式序列0参考图像在时间上超前于直接模式序列1参考图像,则按照下面的公式计算B帧各个场i的直接模式序列0和序列1运动矢量MVF和MVB(图13a)MVF=TDB×MV1/TDD,1MVB=(TDB-TDD,1)×MV1/TDD,1上面的公式可以表示如下Z=TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256MVB=(W×MV1+128)>>8其中,TDB表示当前B帧和序列0参考帧之间的时间距离,TDD,1表示序列1参考图像的场1和序列0参考场之间的时间距离,而MV1表示直接模式序列1参考帧的场1中相同位置块的运动矢量。
如果,因为序列1参考帧的场1 f1的相同位置块的运动矢量指向时间上落后的帧中的一个场,所以序列0参考图像在时间上落后于序列1参考图像,则按照下面的公式计算直接模式序列0和序列1运动矢量MVF和MVB(图13b)
MVF=-TDB×MV1/TDD,1MVB=-(TDB+TDD,1)×MV1/TDD,1上面的公式可以表示如下Z=-TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示当前B帧和序列0参考帧之间的时间距离,TDD,1表示序列1参考图像的场1和序列0参考场之间的时间距离,而MV1表示直接模式序列1参考帧的场1中相同位置块的运动矢量。
通过为图像间时间距离值指定符号而计算直接模式运动矢量的情况对于直接模式序列1参考图像在时间上超前或者落后于B图像的情况,对各种情况均给出了两种类型的算法。此算法可以简单地表示为向图像间时间距离值指定符号,如下所示。
第1种情况B图像的宏块和序列1参考图像的相同位置宏块均处于帧模式如果B图像的宏块和序列1参考图像的相同位置宏块均处于帧模式,则按照下面的公式计算直接模式运动矢量MVF和MVBMVF=TDB×MV/TDDMVB=(TDB-TDD)×MV/TDD或者Z=TDB×256/TDDMVF=(Z×MV+128)>>8W=Z-256 MVB=(W×MV+128)>>8其中,TDB表示当前B帧和序列0参考帧之间的时间距离,如果从B帧进行测量,则指定为正(+)号,如果从序列0参考帧进行测量,则指定为负(-)号,TDD表示序列1参考帧和序列0参考帧之间的时间距离,如果从序列1参考帧进行测量,则指定为正(+)号,如果从序列0参考帧进行测量,则指定为负(-)号,MV表示直接模式序列1参考图像中相同位置块的运动矢量。
第2种情况B图像的宏块和序列1参考图像的相同位置宏块均处于场模式如果B图像的宏块和序列1参考图像的相同位置宏块均处于场模式,则按照下面的公式计算B帧各个场的直接模式运动矢量MVF,i和MVB,iMVF,i=TDB,i×MVi/TDD,iMVB,i=(TDB,i-TDD,i)×MVi/TDD,i或者Z=TDB,i×256/TDD,iMVF,i=(Z×MVi+128)>>8W=Z-256 MVB,i=(W×MVi+128)>>8其中,TDB,i表示当前B场和序列0参考场之间的时间距离,如果从B场进行测量,则指定为正(+)号,如果从序列0参考场进行测量,则指定为负(-)号,TDD,i表示序列1参考场和序列0参考场之间的时间距离,如果从序列1参考场进行测量,则指定为正(+)号,如果从序列0参考场进行测量,则指定为负(-)号,MVi表示直接模式序列1参考场中相同位置块的运动矢量。
第3种情况B图像的宏块处于场模式,序列1参考图像的相同位置宏块处于帧模式如果B图像的宏块处于场模式,而序列1参考图像的相同位置宏块处于帧模式,则按照下面的公式计算B帧各个场的直接模式运动矢量MVF,i和MVB,iMVF,i=TDB,i×MV/TDDMVB,i=(TDB,i-TDD)×MV/TDD或者Z=TDB,i×256/TDDMVF,i=(Z×MV+128)>>8W=Z-256 MVB,i=(W×MV+128)>>8其中,TDB,i表示当前B场和序列0参考场之间的时间距离,如果从B场进行测量,则指定为正(+)号,如果从序列0参考场进行测量,则指定为负(-)号,TDD表示序列1参考帧和序列0参考帧之间的时间距离,如果从序列1参考帧进行测量,则指定为正(+)号,如果从序列0参考帧进行测量,则指定为负(-)号,MV表示直接模式序列1参考帧中相同位置块的运动矢量。
第4种情况B图像的宏块处于帧模式,序列1参考图像的相同位置宏块处于场模式如果B图像的宏块处于帧模式,而序列1参考图像的相同位置宏块处于场模式,且序列1参考图像在时间上落后于B图像,序列1参考帧的场0比场1在时间上更接近于B图像,则使用场0的相同位置块的运动信息来计算直接模式运动矢量。从而,由下面的公式计算B帧的直接模式运动矢量MVF和MVB,其中使用序列1参考帧的场1中的相同位置块的运动信息来计算直接模式运动矢量MVF=TDB×MV0/TDD,0MVB=(TDB-TDD,0)×MV0/TDD,0或者Z=TDB×256/TDD,0MVF=(Z×MV0+128)>>8W=Z-256MVB=(W×MV0+128)>>8其中,TDB表示当前B帧和序列0参考帧之间的时间距离,如果从B帧进行测量,则指定为正(+)号,如果从序列0参考场进行测量,则指定为负(-)号,TDD,0表示序列1参考帧的场0和序列0参考场之间的时间距离,如果从序列1参考帧的场0进行测量,则指定为正(+)号,如果从序列0参考场进行测量,则指定为负(-)号,MV0表示直接模式序列1参考帧的场0中相同位置块的运动矢量。
如果序列1参考图像在时间上超前于B图像,序列1参考帧的场1比其场0在时间上更接近于B图像,则使用场1的相同位置块的运动信息来计算直接模式运动矢量。从而,由下面的公式计算B帧的直接模式运动矢量MVF和MVB,其中使用序列1参考帧的场1中的相同位置块的运动信息来计算所述的直接模式运动矢量
MVF=TDB×MV1/TDD,1MVB=(TDB-TDD,1)×MV1/TDD,1或者Z=TDB×256/TDD,1MVF=(Z×MV1+128)>>8W=Z-256 MVB=(W×MV1+128)>>8其中,TDB表示当前B帧和序列0参考帧之间的时间距离,如果从B帧进行测量,则指定为正(+)号,如果从序列0参考场进行测量,则指定为负(-)号,TDD,1表示序列1参考帧的场1和序列0参考场之间的时间距离,如果从序列1参考帧的场1进行测量,则指定为正(+)号,如果从序列0参考场进行测量,则指定为负(-)号,MV1表示直接模式序列1参考帧的场1中相同位置块的运动矢量。
从上面的描述中可以明晰,本发明提供了一种用于计算B(双向预测)图像的直接模式运动矢量的方法,这里的B图像是在下一代运动图像压缩技术中定义的。提出了一种用于计算B图像的直接模式运动矢量的技术,以提高将直接模式选择为宏块预测模式的概率,从而提高了B图像编码效率。
尽管说明性地公布了本发明的优选实施例,但是对于本领域技术人员而言,在不脱离所附权利要求书中限定的精神或本质特征的情况下,显然可以有各种替换、改进和变化。
权利要求
1.一种导出要解码的当前图像中双向预测块的直接模式运动矢量的方法,包括如果直接模式中序列1参考图像中的相同位置块具有序列0和序列1两个运动矢量,则选择相同位置块的序列0运动矢量作为用来导出直接模式运动矢量的运动矢量;将所述序列0运动矢量所指向的参考图像确定为直接模式中的序列0参考图像;以及使用所述的序列0运动矢量导出直接模式运动矢量。
2.根据权利要求1所述的方法,其中所述的导出步骤通过缩放所述序列0运动矢量来导出直接模式运动矢量。
3.根据权利要求1所述的方法,其中所述的导出步骤通过基于图像之间的时间距离缩放所述序列0运动矢量来导出直接模式运动矢量。
全文摘要
在运动图像编码系统中,一种用于计算B(双向预测)图像的直接模式运动矢量的方法,以提取B图像的直接模式运动矢量。当直接模式序列1参考图像在时间上超前或者落后于B图像时,则不论相同位置块的运动矢量的模式(序列0模式和/或序列1模式),将序列1参考图像中的相同位置块的任何一个运动矢量确定为运动矢量,以得到直接模式运动矢量。对所确定的运动矢量进行缩放,以得到序列0运动矢量MV
文档编号H04N7/26GK1812585SQ20051004885
公开日2006年8月2日 申请日期2003年1月10日 优先权日2002年10月4日
发明者全炳文 申请人:Lg电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1