运动图像编码方法

文档序号:7616402阅读:74来源:国知局
专利名称:运动图像编码方法
技术领域
本发明涉及运动图像编码系统,尤其涉及一种使用长期参考图像来提高编码效率的运动图像编码方法。
背景技术
要对运动图像序列进行最优压缩和编码,就需要检测序列中的场景变化。其原因在于许多诸如新闻、体育消息广播、对话类访谈和多点视频会议等视频应用包括重复性的场景变化。这种场景变化可以发生在整幅图像或图像的某些区域上。
一旦检测到场景变化,就可以改变其数字图像编码方法。例如,因为发生场景变化的图像和前一场景的图像之间的相似性非常低,所以对有场景变化的图像以帧内模式进行编码,即仅使用同一图像内的解码样本的预测来对图像进行编码,而不使用帧间模式,即通过先前解码的参考图像的运动补偿来对图像进行编码。
更详细地,整幅图像中发生了场景变化的图像是以帧内模式对全部块进行编码的帧内图像。同时,在某些区域发生了场景变化的图像中,以帧内模式对发生了场景变化的区域内的全部块进行编码。和帧间模式相比,这种帧内模式会产生更多的比特,所以在低比特率的应用中,频繁发生场景变化的序列存在致命的问题。
通常,当在运动图像编码系统中使用B图像时,编码顺序与显示顺序不同。
图1显示了使用两个B图像时显示各个图像的显示顺序。如图1所示,在即将显示的图像中,首先显示帧内图像I。帧内图像I显示后,随后显示两个B图像B1和B2。B图像显示后,显示P图像P3。如上所述,如此执行下一步。换句话说,P图像P3显示后,显示第四和第五B图像B4和B5。随后显示P图像P6。
然而,数字图像的编码顺序并不与显示顺序相同。换句话说,要在B图像之前,对P图像进行编码。
图2显示了使用两个B图像时显示各个图像的编码顺序。如图2所示,如果对帧内图像I进行编码,虽然B图像B1和B2显示在P图像P3之前,但要在B图像B1和B2之前对P图像P3进行编码。此后,对P6、B4、B5、P9、B7、B8、P12、B10和B11按顺序进行编码。
这里,B图像有五种模式,即帧内模式、前向模式、后向模式、双向预测模式和直接模式。双向预测模式有两个参考图像。该两个参考图像同时位于B图像之前或之后,或其中之一位于B图像之前,另一个位于B图像之后。
尤其是,直接模式使用时间冗余来保持两个相邻图像之间运动的连续性。换句话说,在直接模式中,B图像中的直接模式前向运动矢量和后向运动矢量源自于刚好位于B图像之后的后续图像中相同位置块的运动矢量。这种直接模式不需要诸如运动信息的附加比特,从而可减小比特率。
这里,当后续图像中的相同位置块有运动矢量MV时,利用图像之间的时间距离来缩放运动矢量MV,以获得普通直接模式的前向运动矢量MVf和后向运动矢量MVb。换句话说,使用以下公式1和公式2来确定前向运动矢量MVf和后向运动矢量MVb。
公式1MVf=TRb*MVTRd]]>
公式2MVb=(TRb-TRd)*MVTRd]]>其中,MV是后续图像中的相同位置块的运动矢量,MVf是B图像的直接模式前向运动矢量,MVb是B图像的直接模式后向运动矢量,TRd是后续图像和后续图像中相同位置块的运动矢量所指的参考图像之间的时间距离,TRb是B图像和后续图像中相同位置块的运动矢量所指的参考图像之间的时间距离。
因此,直接模式是一种使用两个运动矢量MVf和MVb来获得两个运动补偿块的编码模式,并通过对两个运动补偿块进行平均或插值计算来获得预测块。

发明内容
本发明的目的在于提供一种运动图像编码方法,能从根本上避免由于现有技术的局限和缺点而引起的一个或多个问题。
因此,本发明的目的在于提供一种运动图像编码方法,该方法能够使用B图像的长期参考图像以直接模式来提高编码效率。
本发明的另一个目的在于提供一种运动图像编码方法,该方法对发生了场景变化的图像使用帧间模式,以减少比特数量。
本发明的其它优点、目的和特征有一部分将在以下的说明书中进行阐述,有一部分则对于本领域的技术人员经过对以下内容的检验后会变得明了,或者通过本发明的实践而体验到。所附的权利要求书具体指出了本发明的目的和优点。
如这里所体现和广泛描述的那样,为达到本发明的上述目的和其它优点,根据本发明的目的,一种确定B图像中的直接模式运动矢量的方法包括以下步骤在使用直接模式对B图像中各个块进行编码时,根据参考缓冲器的类型有差别地为B图像确定直接模式运动矢量,这里,参考缓冲器存储着由指定图像中的相同位置块的运动矢量所指的参考图像。
优选的,指定图像是B图像编码时使用的短期参考图像中的一个。
使用在指定图像中的相同位置块上所计算的参考图像索引来确定参考图像的类型。
该参考图像索引存储在系统缓冲器中。
当在指定图像中的相同位置块上计算的运动矢量指向一个长期参考图像时,B图像的直接模式前向运动矢量是指定图像中的相同位置块的运动矢量,并且B图像的直接模式后向运动矢量被确定为零。
在指定图像中的相同位置块上计算的运动矢量被存储在系统缓冲器中。
当在指定图像中的相同位置块上所计算的运动矢量指向一个短期参考图像时,通过图像之间的时间距离来对指定图像中的相同位置块的运动矢量进行缩放,以确定B图像的直接模式运动矢量。
在指定图像中的相同位置块上所计算的运动矢量被存储在系统缓冲器中。
本发明的另一个方面,确定B图像中的直接模式运动矢量的方法包含以下步骤在使用直接模式对B图像中各个块进行编码时,根据存储指定图像的参考缓冲器的类型来有差异地确定B图像的直接模式运动矢量。
该参考缓冲器包括长期参考缓冲器和短期参考缓冲器。
优选的,指定图像是短期参考图像和长期参考图像中的一个。
当指定图像存储在长期参考缓冲器中时,B图像的直接模式前向运动矢量是指定图像中的相同位置块的运动矢量,B图像的直接模式后向运动矢量被确定为零。
当指定图像存储在短期参考缓冲器中时,根据参考缓冲器的类型来有差异地确定B图像的直接模式运动矢量,这里,参考缓冲器存储着指定图像中的相同位置块的运动矢量所指的参考图像。
使用在指定图像中的相同位置块上所计算的参考图像索引来确定参考图像的类型。
该参考图像索引存储在系统缓冲器中。
当在指定图像中的相同位置块上所计算的运动矢量指向长期参考图像时,B图像的直接模式前向运动矢量是指定图像中的相同位置块的运动矢量,B图像的直接模式后向运动矢量被确定为零。
在指定图像中的相同位置块上所计算的运动矢量被存储在系统缓冲器中。
当在指定图像中的相同位置块上所计算的运动矢量指向短期参考图像时,通过图像之间的时间距离来对指定图像中的相同位置块的运动矢量进行缩放,以确定B图像的直接模式运动矢量。
在指定图像中的相同位置块上所计算的运动矢量被存储在系统缓冲器中。
本发明的另一个方面,以帧间模式对运动图像的P图像进行编码的方法包含以下步骤(a)确定P图像中是否发生了场景变化;以及(b)如果P图像中发生了场景变化,则根据长期参考图像来对P图像进行编码。
优选的,发生了场景变化的P图像是场景切换图像和局部场景变化图像中的一个。
如果发生场景变化的P图像是局部场景变化图像,则使用长期参考图像来对发生了场景变化的区域中包含的块进行编码。
存储长期参考图像的长期参考缓冲器是用于存储在预定时间前编码的图像的缓冲器。
如果发生场景变化的P图像是局部场景变化图像,则使用短期参考图像来对没有发生场景变化的区域内包含的块进行编码。
存储短期参考图像的短期参考缓冲器是用于存储在预定时间后编码的图像的缓冲器。
本发明的另一个方面,在运动图像编码系统中对运动图像序列进行编码的方法包含以下步骤(a)确定在P图像中是否发生了场景变化;(b)如果存在发生了场景变化的P图像,则根据长期参考图像以帧间模式对P图像进行编码;(c)当根据编码顺序使用直接模式对B图像中的每个块进行编码时,确定存储着指定图像的参考缓冲器的类型;以及(d)根据参考缓冲器的类型来计算B图像的直接模式运动矢量,并以直接模式对B图像进行编码。
在指定图像中的相同位置块上所计算的运动矢量被存储在系统缓冲器中。
在步骤(d)中,当指定图像存储在长期参考缓冲器中,B图像的直接模式前向运动矢量是指定图像中的相同位置块的运动矢量,B图像的直接模式后向运动矢量被确定为零。
在步骤(d)中,当指定图像存储在短期参考缓冲器中时,根据参考缓冲器的类型来有差异地确定B图像的直接模式运动矢量,这里,参考缓冲器存储着指定图像中的相同位置块的运动矢量所指的参考图像。
使用在指定图像中的相同位置块上所计算的参考图像索引来确定参考图像的类型。
该参考图像索引存储在系统缓冲器中。
当指定图像中的相同位置块上所计算的运动矢量指向长期参考图像时,B图像的直接模式前向运动矢量是指定图像中的相同位置块的运动矢量,B图像的直接模式后向运动矢量被确定为零。
在指定图像中的相同位置块上所计算的运动矢量被存储在系统缓冲器中。
当在指定图像中的相同位置块上所计算的运动矢量指向短期参考图像时,通过图像之间的时间距离来对指定图像中的相同位置块的运动矢量进行缩放,以确定B图像的直接模式运动矢量。
在指定图像中的相同位置块上所计算的运动矢量被存储在系统缓冲器中。
发生场景变化的P图像是场景切换图像和局部场景变化图像中的一个。
如果发生场景变化的P图像是局部场景变化图像,则使用长期参考图像来对发生场景变化的区域中包含的块进行编码。
存储长期参考图像的长期参考缓冲器是用于存储在预定时间之前编码的图像的缓冲器。
如果发生场景变化的P图像是局部场景变化图像,则使用短期参考图像来对没有发生场景变化的区域内包含的块进行编码。
存储短期参考图像的短期参考缓冲器是用于存储在预定时间之后编码的图像的缓冲器。
短期参考缓冲器由先入先出存储器(FIFO)构成。
用于B图像直接模式编码的指定图像是B图像编码中使用的参考图像中的一个。
可以理解,本发明的以上概述和以下的详述都是示例性的和解释性的,旨在帮助进一步阐明如所附权利要求所限定的本发明。


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

本发明的实施例并和说明书一起解释本发明的原理,附图中图1显示了使用两个B图像时所显示的每个图像的显示顺序;图2显示了使用两个B图像时所显示的每个图像的编码顺序;;图3A到图3B是流程图,显示了根据本发明优选实施例在运动图像编码系统中对运动图像序列进行编码的方法;图4显示了根据本发明的优选实施例对发生了场景变化的运动图像序列进行编码的方法;以及图5显示了根据本发明的优选实施例以直接模式对B图像进行编码的方法。
优选实施例说明下文将详细描述本发明的优选实施例,其中的实例被显示在附图中。只要可能,用同一数字指代附图相同或相似的部件。
首先,在描述本发明的优选实施例之前作如下定义,在发生了场景变化的运动图像中,完全发生场景变化的图像被定义为场景切换图像,部分发生场景变化的图像被定义为局部场景变化图像。
图3A和图3B是流程图,显示了根据本发明优选实施例的运动图像编码系统中对运动图像序列进行编码的方法。如图3A和图3B所示,从运动图像序列中顺序输出图像(S111)。
确定图像的类型(S114)。换言之,确定所输入的图像是P图像还是B图像。这里,在本发明的优选实施例中,假设已预先完成了对帧内图像的编码。
如果图像是P图像,则确定P图像中是否发生了场景变化(S117)。这里,将P图像与紧接该P图像之前显示的图像(P图像或B图像)进行比较,从而确定场景变化。
作为上述步骤S117的确定结果,如果P图像中的场景完全发生变化,则该P图像是场景切换图像。同时,如果P图像被确定为场景切换图像,则根据长期参考图像来执行编码(S120)。
如果P图像不是场景切换图像,则确定P图像是否是局部场景变化图像(S123)。
如果P图像是局部场景变化图像,则返回到步骤S120,根据长期参考图像来对发生场景变化的区域内包含的块进行编码(S126)。
根据短期参考图像来对没有发生场景变化的区域内包含的块进行编码(S129,S132)。
这里,长期参考图像是存储在长期参考缓冲器中的图像,短期参考图像是存储在短期参考缓冲器中的图像。
短期参考缓冲器具有先入先出存储器(FIFO),其中先输入的图像先输出,相对较短时间之前编码的图像存储在短期参考缓冲器中。
相对较长时间之前编码的图像存储在长期参考缓冲器中。各个场景组的第一个图像,即,帧内图像、场景切换图像、局部场景变化图像等等被存储在长期参考缓冲器中。
如果长期参考缓冲器中没有场景切换图像或局部场景变化图像,则可以另外存储发生了场景变化的图像。
因此,如图4所示,在长期参考缓冲器中可以存储场景组A1的第一个场景切换图像,即帧内图像10,场景组B1的第一个场景切换图像P50和第一个局部场景变化图像P120。这里,场景组是一组相似的图像。例如,假定有一个访谈节目,广播员出现,画面A出现,广播员重新出现,画面重新出现。广播员第一次出现的场景是场景组A,随后出现画面A的场景是场景组B。广播员重新出现的场景是场景组A,以及画面A重新出现的场景是场景组B。如上所述,当发生场景变化时,以帧间模式,而不是帧内模式,来根据短期参考图像或长期参考图像对P图像进行编码。这样减少了比特的数量,提高了编码效率。
用图4来描述步骤S117到S132。如图4所示,如果即将编码的P图像P200是属于场景组B2的场景切换图像,则不使用存储在短期参考缓冲器中的短期参考图像。其原因在于场景切换图像P200是场景组B2的第一个图像,且场景切换图像P200的场景组不同于属于场景组A2的短期参考图像,诸如P199、P198、P197等等。所以场景切换图像P200与属于场景组A2的短期参考图像的相似性被极大地减少了,由这些参考图像不能获得精确的编码。
在该情况下,根据属于和场景组B2一样的场景组B1的其它参考图像P50和P120,以帧间模式来对P图像进行编码。
另一方面,如果P图像P250中发生了部分场景变化,则根据两种状态来不同地执行编码。换言之,根据存储在长期参考缓冲器中的长期参考图像P250和P120,以帧间模式对发生了部分场景变化的区域内包含的块进行编码。根据P249、P248和P247等存储在短期参考缓冲器中的短期参考图像,以帧间模式对未发生部分场景变化的区域内包含的块进行编码。
如上所述,对一个P图进行编码后,输入下一个图像(S159)。如果相应的图像是B图像,则测试五种预测模式(帧内模式、前向模式、后向模式、双向预测模式和直接模式),并选择其中的一种作为最佳模式(S135,S138)。在本说明书中,将主要描述直接模式。
首先,读取B图像的一个块(S141)。当然,可随后读取其它块。此后,检查存储着指定图像的参考缓冲器的类型。
与显示顺序无关,按照编码顺序,在B图像之前的图像中确定指定图像。换言之,指定图像是编码B图像所用的参考图像中的一个。因此,指定图像可能是短期参考图像,也可以是长期参考图像。在显示顺序上,短期参考图像可以在B图像之前或之后,且被存储在短期参考缓冲器中。长期参考图像被存储在长期参考缓冲器中。如果指定图像是长期参考图像,则B图像的直接模式前向运动矢量是指定图像中相同位置块的运动矢量。B图像的直接模式后向运动矢量被确定为零(S150)。然而,如果指定图像是短期参考图像,则读取在指定图像中相同位置块上所计算的参考图像索引和运动矢量(S144)。上述参考图像索引和运动矢量是预先计算的,并被存储在系统缓冲器中。根据参考图像索引,确定指定图像中相同位置块的运动矢量是否指向长期参考图像(S147)。如上所述,该参考图像被存储在包含有短期参考缓冲器和长期参考缓冲器的参考缓冲器中。
如果指定图像中相同位置块的运动矢量指向长期参考图像,则使用以下表达式3和表达式4来对B图像进行编码(S150)。
表达式3MVf=MV这里,MV是指定图像中的相同位置块的运动矢量,MVf是B图像的直接模式前向运动矢量。
表达式4MVb=0这里,MV是指定图像中的相同位置块的运动矢量,MVb是B图像的直接模式后向运动矢量。
换言之,如果指定图像中相同位置块的运动矢量指向长期参考图像,则B图像的直接模式前向运动矢量是指定图像中的相同位置块的运动矢量,并且后向运动矢量被确定为零。
如图5所示,在步骤S150,如果指定图像P200中的相同位置块的运动矢量指向长期参考图像P50,则TRd和TRb在现有表达式1和表达式2中没有意义。换言之,因为TRd和TRb是时间距离,该时间距离包括了属于场景组B2的指定图像P200和属于相同场景组B1的长期参考图像P50之间的其它场景组A2,所以不能使用TRd和TRb来计算直接模式前向运动矢量和后向运动矢量。
参考图5进行更详细的描述。当向运动图像序列中插入两幅B图像,并对该B图像进行编码时,首先对编码顺序早于B1和B2的P图像P200进行编码。因为P图像P200是发生场景变化的场景切换图像,所以由存储在长期参考缓冲器中的长期参考图像P50,以帧间模式对P图像P200进行编码。根据编码顺序,即将编码的下一个图像是B1图像。因为B1图像属于场景组A2,所以由属于场景组A2的短期参考图像,以前向模式,或者以两个参考图像都属于场景组A2的双向预测模式,来对大多数块进行编码。然而,根据属于另一个场景组B2的P图像P200的帧内模式、后向模式或预测模式,以及由P图像P200中相同位置块获得直接模式运动矢量的直接模式,可能无法用作B1图像中的块的编码模式。
不同地是,因为用于B2图像直接模式运动矢量的B2图像和指定图像P200属于同一场景组B2,所以直接模式被选为用于B2图像中的大多数块的编码模式。换句话说,在由属于同一场景组B2的长期参考图像P50,以帧间模式获得指定图像P200中每个块的运动矢量之后,根据指定图像P200中的相同位置块的运动矢量来计算B2图像中的直接模式运动矢量。因为B2图像和指定图像P200属于场景组B2,所以长期参考图像P50也属于场景组B1,并且场景组B1和场景组B2之间的相似性非常高,所以直接模式可以被选为用作B2图像中的大多数块的编码模式。因此,B2图像的编码效率得到提高。
另一方面,如果指定图像中的相同位置块的运动矢量指向短期参考图像,则使用现有表达式1和表达式2来对B图像进行编码,因为存储在短期参考缓冲器中的短期参考图像与B图像属于同一场景组,并且在指定图像和该短期参考图像之间不存在其它场景组,所以使用与表示时间距离的TRd和TRb相关的现有表示式1和表示式2来确定直接模式前向运动矢量和后向运动矢量。
如果B图像的一个块被编码,则读取下一个B图像中的块且随后进行编码(S156)。对B图像中的所有块执行这种处理。在B图像被编码之后,下一个图像被输入并被编码,从而实现了对运动图像的编码(S159)。
如上所述,根据本发明的运动图像编码方法,根据由指定图像中的相同位置块的运动矢量所指的参考图像来有差异地确定B图像的直接模式前向运动矢量和后向运动矢量。当对B图像进行编码时,主要使用直接模式作为编码模式,以提高整体编码效率。
根据本发明的运动图像编码方法,使用来自长期参考图像的运动补偿,以帧间模式对发生了场景变化的P图像进行编码,从而减少了比特数量,并提高了编码效率。
对于本领域的技术人员,很显然本发明可以有很多的替换、改进和变化。在权利要求书中,装置加功能的语句旨在涵盖实现所述功能的结构,其不仅包括结构的等同,也包括等同的结构。
权利要求
1.一种获得用于B图像的直接模式运动矢量的方法,该方法包含读取待处理的块和相同位置块;以及基于存储指定图像的参考缓冲器的类型来获得直接模式运动矢量,其中,参考缓冲器的类型包括存储长期参考图像的第一缓冲器和存储短期参考图像的第二缓冲器。
2.根据权利要求1所述的方法,其中,如果指定图像被存储在第一缓冲器中,该直接模式的前向运动矢量被设置为所述相同位置块的运动矢量,并且该直接模式的后向运动矢量被设置为零。
3.根据权利要求1所述的方法,其中,所述指定图像是短期参考图像和长期参考图像之一。
4.根据权利要求1所述的方法,其中,使用在指定图像中的相同位置块的参考图像索引来确定参考图像的类型,如长期参考图像和短期参考图像。
5.根据权利要求2所述的方法,其中,第一缓冲器是长期参考缓冲器。
6.根据权利要求1所述的方法,其中,当该指定图像被存储在第二缓冲器中时,根据由该指定图像中的相同位置块的运动矢量所指向的参考图像的类型来确定直接模式运动矢量,其中,所述参考图像的类型包括长期参考图像和短期参考图像。
7.根据权利要求6所述的方法,其中,该第二缓冲器是短期参考缓冲器。
8.根据权利要求6所述的方法,其中,参考图像的类型是使用指定图像中的相同位置块的参考图像索引来确定的。
9.根据权利要求8所述的方法,其中,该相同位置块的参考图像索引和运动矢量被存储在系统缓冲器中。
全文摘要
本发明涉及一种运动图像编码方法,该方法使用长期参考图像,在B图像中通过帧间模式和直接模式来提高运动图像编码序列的编码效率。在本发明中,根据场景变化,以帧间模式对P图像进行编码。根据指定图像中的相同位置块的运动矢量所指的参考图像的类型,对直接模式运动矢量进行计算和编码。
文档编号H04N7/12GK1665305SQ20051005587
公开日2005年9月7日 申请日期2003年1月9日 优先权日2002年5月3日
发明者全炳文 申请人:Lg电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1