公开/公告号CN1842162A
专利类型发明专利
公开/公告日2006-10-04
原文格式PDF
申请/专利权人 腾讯科技(深圳)有限公司;
申请/专利号CN200510056885.8
申请日2005-03-28
分类号H04N7/26(20060101);
代理机构11018 北京德琦知识产权代理有限公司;
代理人王琦;程殿军
地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室
入库时间 2023-12-17 17:42:34
法律状态公告日
法律状态信息
法律状态
2009-01-14
授权
授权
2006-12-06
实质审查的生效
实质审查的生效
2006-10-04
公开
公开
技术领域
本发明涉及实时视频编码技术领域,更确切地说是涉及一种视频编码中的运动图像处理方法。
背景技术
目前,实时视频编码技术已经广泛应用于可视电话、网络视频聊天、视频会议等场合。在视频编码时,一帧图像可以分成若干个宏块,图像编码需要对每个宏块分别进行编码。视频编码主要包括帧内预测编码以及帧间预测编码两种编码模式,帧内预测编码即为I帧编码,帧间编码即为P帧编码。I帧编码主要是利用本帧图像的相邻宏块来预测当前宏块,P帧编码则主要是利用前一帧图像来预测当前宏块。
在通常情况下,图像序列中帧与帧之间的相关性比较大,对于运动小的图像来说尤其如此,因此P帧编码的压缩效果比较好。目前的视频编码大都采用这种编码方式。
但是,在目前采用P帧编码进行视频压缩的情况下,如果输入的图像是运动图像,则编码器的编码效率会降低,而且压缩比下降,输出码流增加。如果编码器的编码效率太低,则会导致计算机无法将输入的图像实时编码并传输出去,这就影响了视频编码技术在实时场合中的应用。如果输出码流太大,则在带宽有限的情况下,输出的码流往往无法及时通过网络传输到对方,从而使得实时视频应用出现延迟、堵塞等问题,这就会降低用户对图像的体验效果,甚至使得实时视频完全无法应用。
发明内容
有鉴于此,本发明所要解决的主要问题在于提供一种视频编码中的运动图像处理方法,以在图像发生运动时,能够保证码流的相对稳定。
本发明同时还提供了另一种视频编码中的运动图像处理方法,以提高图像进入场景切换状态时的编码效率。
本发明的一种视频编码中的运动图像处理方法,所述视频编码采用P帧编码方式,该方法包括以下步骤:
a.确定图像当前帧的运动速度;
b.根据当前帧的运动速度调整下一帧的量化系数,且在当前帧的运动速度增大时,增大下一帧的量化系数;
c.根据步骤b所确定的量化系数,对下一帧进行编码。
所述步骤a中,所述图像当前帧的运动速度根据当前帧的平均运动矢量确定。
所述当前帧的平均运动矢量mv通过公式
所述步骤b之前进一步包括:设置运动速度与量化系数的对应关系,且运动速度越高,对应的量化系数越高;
所述步骤b包括:根据所述对应关系确定当前帧的运动速度所对应的量化系数,并将所确定的量化系数作为下一帧的量化系数。
所述步骤b之前进一步包括:设置运动速度与运动程度等级的对应关系,以及运动程度等级与量化系数的对应关系;
所述步骤b包括:根据运动速度与运动程度等级的对应关系确定步骤a所确定的运动速度相应的运动程度等级,并根据运动程度等级与量化系数的对应关系确定当前确定的运动程度等级所对应的量化系数,之后将所确定的量化系数作为下一帧的量化系数。
该方法在执行步骤b之前,进一步包括:根据当前帧的运动速度判断当前是否处于场景切换状态,如果是,则改用I帧编码方式对一个或一个以上的后续帧进行编码,之后再采用P帧编码方式进行编码;否则,继续执行步骤b。
在改用I帧编码方式进行编码时,进一步包括:根据当前帧的运动速度调整需要采用I帧编码方式进行编码的后续帧的量化系数,并根据调整后的量化系数对所述的后续帧进行I帧编码。
本发明的另一种视频编码中的运动图像处理方法,所述视频编码采用P帧编码方式,该方法包括以下步骤:
A.确定图像当前帧的运动速度;
B.根据当前帧的运动速度判断当前是否处于场景切换状态,如果是,则改用I帧编码方式对一个或一个以上的后续帧进行编码,之后再采用P帧编码方式进行编码;否则,继续采用P帧编码方式处理后续帧图像,并针对后续帧图像再次执行步骤A。
对于上述两种运动图像处理方法来说,所述根据当前帧的运动速度判断当前是否处于场景切换状态为:判断当前帧的运动速度是否大于预先设置的场景切换阈值,如果是,则处于场景切换状态;否则,不处于场景切换状态。
所述在确定处于场景切换状态之前,进一步包括:确定下一帧的运动速度,并判断下一帧的运动速度是否大于预先设置的场景切换阈值,如果是,则确定处于场景切换状态;否则,确定不处于场景切换状态。
对于上述两种运动图像处理方法来说,还可以进一步包括:设置运动速度与运动程度等级的对应关系;
所述根据当前帧的运动速度判断当前是否处于场景切换状态为:根据所述对应关系确定当前帧的运动速度所对应的运动程度等级,并判断该运动程度等级是否为最大运动程度等级,如果是,则确定处于场景切换状态;否则,确定不处于场景切换状态。
所述在确定处于场景切换状态之前,进一步包括:确定下一帧的运动速度,并根据所述运动速度与运动程度等级的对应关系确定该下一帧的运动速度所对应的运动程度等级,判断该运动程度等级是否为最大运动程度等级,如果是,则确定处于场景切换状态;否则,确定不处于场景切换状态。
本发明方案根据当前帧的运动速度对下一帧的量化系数进行调整,在当前帧图像运动加剧时,提高下一帧的量化系数,并根据调整后的量化系数对下一帧进行编码,从而增大了对下一帧的编码压缩比,进而降低了码流输出。
本发明还提供了根据当前帧的运动速度确定当前是否处于场景切换状态,并在确定当前处于场景切换状态时,对后续一个或一个以上的帧图像采用帧内预测编码的I帧编码方式的图像处理方案。相比于帧间预测编码的P帧编码方式,对处于场景切换状态的若干个帧采用I帧编码方式,提高了对运动图像的编码效率。
本发明还提供了同时采用上述两种方案的运动图像处理方案,从而在实现了码流输出稳定的同时,还能进一步提高对运动图像的编码效率。
附图说明
图1为本发明通过调整量化系数QP进行图像处理的流程图;
图2为本发明通过调整编码方式进行图像处理的流程图。
具体实施方式
由于P帧编码方式中预测残差的编码包括DCT变换、量化及编码这几个步骤,而量化系数QP直接影响编码的压缩比,因此,本发明主要是提供了根据当前图像的运动程度对量化系数QP进行调整的方案,并根据调整后的量化系数QP对下一帧进行编码,从而调整了编码的压缩比,进而达到降低图像剧烈运动情况下的输出码流、保持码流相对稳定的目的。
下面结合附图及具体实施例对本发明方案作进一步详细的说明。
本发明中调整量化系数QP的方案如图1所示,对应以下步骤:
步骤101、确定图像当前帧的运动速度。
图像当前帧的运动速度可以根据当前帧的平均运动矢量mv来衡量,mv则可以采用下述公式进行计算:
其中,N为一帧的宏块数目,当宏块n为Inter宏块时,mvn为宏块运动估计得到的运动矢量值;当n为Intra宏块时,mvn为最大搜索半径对应的运动矢量值。
步骤102、根据步骤101所确定的运动速度确定下一帧的量化系数QP。
具体来说,本发明方案可以设置不同运动速度所对应的量化系数QP,设置原则是:运动速度越高,对应的量化系数越高。由于运动速度非常多,直接设置运动速度与QP的对应关系比较复杂,为简化处理,可以根据运动速度确定相应的运动程度等级,并设置每个运动程度等级所对应的量化系数QP。
下面以设置运动程度等级与QP的对应关系为例。首先,为根据mv的值来确定图像当前帧的运动程度等级,可以设置多个运动程度等级,并设置不同等级所对应的阈值,从而可以根据所设置的阈值确定当前帧的运动程度。比如,将运动程度分为I、II、III和IV四个等级,并设置如下的阈值判断关系:
mv<m1, 图像平稳,运动很小,无运动 (1)
m1≤mv<m2 图像有较小的运动,为I级运动 (2)
m2≤mv<m3 图像有较大的运动,为II级运动 (3)
m3≤mv<m4 图像运动很大,为III级运动 (4)
mv≥m4 图像剧烈运动,为IV级运动 (5)
其中,m1、m2、m3和m4可以根据需要设置,比如,设置为m1=3、m2=10、m3=17、m4=24。
在根据mv的值确定了图像当前帧的运动程度后,可以认为下一帧也是该运动程度,因此可以根据该当前帧的运动程度等级来确定下一帧的量化系数QP,并以此来调整下一帧的量化系数QP。
其中,在设置不同运动程度所对应的量化系数QP时,可以是先设置一个基本的帧量化系数QP0,该QP0即为无运动情况下的量化系数,并设置不同运动程度等级所需增加的增加量,比如,可以作如下设置:
I级运动图像: QP=QP0+Δ1 (6)
II级运动图像: QP=QP0+Δ2 (7)
III级运动图像: QP=QP0+Δ3 (8)
IV级运动图像: QP=QP0+Δ4 (9)
其中,Δ1,Δ2,Δ3,Δ4的具体选值可以根据需要设置,比如,可以设置Δ1=1、Δ2=2、Δ3=3、Δ4=4。
通过上述步骤,即可实现根据当前帧对下一帧量化系数QP的调整。比如,根据步骤101确定当前帧处于II级运动程度,则将下一帧的量化系数设置为QP0+Δ2。
步骤103、将步骤102所确定的量化系数QP作为下一帧的量化系数QP,对下一帧进行编码。
通过上述步骤即实现了对运动图像的处理。
另外,视频编码所采用的P帧编码方式充分利用了图像的时域相关性,通常能够获得更高的压缩比,但在处于场景切换状态时,采用P帧编码的压缩效果并不比I帧编码的压缩效果好。这是因为在场景切换时,图像的时域相关性非常小,并且场景切换时图像的剧烈运动导致了运动估计的效率很低,从而造成编码效率很低。而I帧编码由于是帧内预测,因此不会因图像的剧烈运动而导致编码效率降低,并且在这种情况下的压缩效果往往和P帧编码的压缩效果相差无几。
基于上述原因,为提高编码效率,本发明进一步提出了在场景切换时采用I帧编码方式的方案。当然,要实现编码方式的转换,首先要确定何时为场景切换。由于图1所示方案中已经能够确定图像的不同运动程度,因此可以在确定当前帧的运动程度为最大级别时,确定当前处于场景切换状态。也可以是设置一个场景切换阈值,如果当前帧的运动速度大于该阈值,则确定当前处于场景切换状态。其中,为确保场景切换状态的判断准确性,还可以在确定连续两帧或两帧以上图像的运动程度为最大级别,或相应的运动速度大于所设置的场景切换阈值时,表明图像进入场景切换状态。
在确定当前处于场景切换状态后,即可直接对编码方式进行改变,具体来说,可以将接下来的M帧看作是场景切换过渡帧,对这M帧采用I帧编码,在对这M帧采用I帧编码方式处理完成后,再采用P帧编码方式对后面的帧进行编码处理。其中,这M帧的具体帧数可以根据需要设置。当然,在采用I帧编码时,还可以同时对量化系数QP进行调整,并根据调整后的量化系数QP进行I帧编码,以增加压缩比,降低输出码流。
另外,在重新采用P帧编码方式后,还可以按照上述方案继续进行量化系数调整以及后续的场景切换等处理。
以上所描述的方案主要是基于对帧量化系数的调整,并进一步增加了在场景切换状态时的处理,在实际处理中,为简化处理,还可以不对量化系数进行调整,只是判断当前帧是否处于场景切换状态,如果当前不处于场景切换状态,则继续采用P帧编码方式进行编码处理;如果处于场景切换状态,则将当前所采用的P帧编码方式更改为I帧编码方式,即采用I帧编码方式对M个帧进行编码处理,在对这M个帧编码完毕后,即认为场景切换完毕,再重新采用P帧编码方式进行编码。当然,在重新采用P帧编码方式后,还可以继续通过判断当前是否处于场景切换状态而确定是否改变编码方式。该实现流程如图2所示。基于图2所示处理,其场景切换状态的具体判断方式与前述方式相同,因此不再赘述。
以上所述仅为本发明方案的较佳实施例,并不用以限定本发明的保护范围。
机译: 视频编码设备,视频解码设备,运动图像编码方法,运动图像解码方法,运动图像编码程序,运动图像解码程序以及视频编码和解码系统
机译: 运动图像编码方法,运动图像解码方法,视频编码设备,运动图像解码设备以及视频编码和解码设备
机译: 运动图像解码装置,运动图像解码方法,运动图像解码程序,运动图像编码装置,运动图像编码方法,运动图像编码程序以及视频编码解码装置