视频图像的运动补偿方法和装置制造方法

文档序号:7988339阅读:255来源:国知局
视频图像的运动补偿方法和装置制造方法
【专利摘要】本发明公开了一种视频图像的运动补偿方法和装置,涉及视频图像处理领域。该方法包括:从接收的视频流中解码得到当前欲显示的视频帧及其下一个视频帧;根据下一个视频帧的帧类型以及解码得到的当前欲显示的视频帧的运动矢量信息和下一个视频帧的运动矢量信息,估计当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的运动矢量;根据估计的运动矢量,对当前欲显示的视频帧以及下一个视频帧进行叠加,并且在屏幕上显示叠加后的视频帧。本发明直接根据视频解码时产生的运动矢量来估计帧间的运动矢量,并且根据估计的运动矢量进行运动补偿,可以避免重新计算运动矢量的巨大运算量,有利于软硬件的实时实现。
【专利说明】视频图像的运动补偿方法和装置
【技术领域】
[0001]本发明涉及视频图像处理领域,特别涉及一种视频图像的运动补偿方法和装置。【背景技术】
[0002]目前,嵌入式设备,如手机、平板电脑等,在进行实时视频通信时,受限于软硬件的计算能力有限,对于部分常用编码格式,如h.263、h.264等,通常只能支持单向预测的编码形式,即视频流中只包含关键帧(简称I帧)和前向预测帧(简称P帧)。一个典型的视频帧发送的顺序为:1 → P →P→…一P → I → P →P →P...。单向预测误差会随P帧的增加而越来越强。当下一个I帧到达时,最后一个P帧与I帧间存在明显的图像质量差异,从而令视频的视觉质量明显降低。
[0003]利用多帧视频的时间平均可以一定程度消除帧间的视觉差异,从而减弱这种现象,但副作用是如果帧间存在相对运动,则会产生运动模糊。一种改进方式是先进行帧间运动补偿,然后再进行帧间平均。
[0004]现有一种基于图像块的运动补偿技术,该技术根据前一帧中的图像块,在后一帧中查找相似度最高的图像块作为其对应块,并以两者间的位移矢量作为运动矢量。由于相似图像块的查找过程包含多个图像块间的两两比对,计算量通常较大,不利于对视频进行实时增强。

【发明内容】

[0005]本发明实施例所要解决的一个技术问题是:解决基于图像块的运动补偿技术计算量较大,不利于对视频进行实时增强的问题。
[0006]本发明实施例的一个方面提供了一种视频图像的运动补偿方法,包括:从接收的视频流中解码得到当前欲显示的视频帧,将当前欲显示的视频帧缓存,如果当前欲显示的视频帧为前向预测帧,保存解码得到的当前欲显示的视频帧的运动矢量信息;从接收的视频流中解码得到当前欲显示的视频帧的下一个视频帧,将所述下一个视频帧缓存,如果所述下一个视频帧为前向预测帧,保存解码得到的所述下一个视频帧的运动矢量信息;根据所述下一个视频帧的帧类型以及解码得到的所述当前欲显示的视频帧的运动矢量信息和所述下一个视频帧的运动矢量信息,估计所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的运动矢量;根据估计的运动矢量,对所述当前欲显示的视频帧以及所述下一个视频帧进行叠加,并且在屏幕上显示叠加后的视频帧。
[0007]对于从接收的视频流中解码得到的视频帧的运动矢量信息,如果视频帧为动态图像专家组MPEG格式,则视频帧的每个宏块对应一个运动矢量,如果视频帧为H.264格式,则视频帧的每个子宏块对应一个运动矢量。
[0008]所述估计所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的运动矢量具体包括:如果所述下一个视频帧为前向预测帧,则将所述下一个视频帧每个像素所属的宏块或子宏块所对应的运动矢量信息作为所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的估计的运动矢量。
[0009]所述估计所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的运动矢量具体包括:如果所述下一个视频帧为关键帧,则所述当前欲显示的视频帧和所述关键帧的下一个视频帧均为前向预测帧,将所述当前欲显示的视频帧的运动矢量与所述关键帧之后的前向预测帧的运动矢量的平均作为所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧之间每个像素位置处的估计的运动矢量。
[0010]根据估计的运动矢量,对所述当前欲显示的视频帧以及所述下一个视频帧进行叠加具体包括:根据所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧之间每个像素位置处的估计的运动矢量,对所述当前欲显示的视频帧进行运动补偿;将补偿后的所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧进行帧平均得到叠加后的视频帧。
[0011]本发明实施例的另一个方面提供了一种视频图像的运动补偿装置,包括:解码单元,用于从接收的视频流中解码得到当前欲显示的视频帧,将当前欲显示的视频帧缓存,如果当前欲显示的视频帧为前向预测帧,保存解码得到的当前欲显示的视频帧的运动矢量信息;从接收的视频流中解码得到当前欲显示的视频帧的下一个视频帧,将所述下一个视频帧缓存,如果所述下一个视频帧为前向预测帧,保存解码得到的所述下一个视频帧的运动矢量信息;运动矢量估计单元,用于根据所述下一个视频帧的帧类型以及解码得到的所述当前欲显示的视频帧的运动矢量信息和所述下一个视频帧的运动矢量信息,估计所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的运动矢量;叠加显示单元,用于根据估计的运动矢量,对所述当前欲显示的视频帧以及所述下一个视频帧进行叠加,并且在屏幕上显示叠加后的视频帧。
[0012]在解码单元中,对于从接收的视频流中解码得到的视频帧的运动矢量信息,如果视频帧为动态图像专家组MPEG格式,则视频帧的每个宏块对应一个运动矢量,如果视频帧为H.264格式,则视频帧的每个子宏块对应一个运动矢量。
[0013]所述运动矢量估计单元,具体用于:如果所述下一个视频帧为前向预测帧,则将所述下一个视频帧每个像素所属的宏块或子宏块所对应的运动矢量信息作为所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的估计的运动矢量。
[0014]所述运动矢量估计单元,具体用于:如果所述下一个视频帧为关键帧,则所述当前欲显示的视频帧和所述关键帧的下一个视频帧均为前向预测帧,将所述当前欲显示的视频帧的运动矢量与所述关键帧之后的前向预测帧的运动矢量的平均作为所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧之间每个像素位置处的估计的运动矢量。
[0015]所述叠加显示单元,具体用于:根据所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧之间每个像素位置处的估计的运动矢量,对所述当前欲显示的视频帧进行运动补偿;将补偿后的所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧进行帧平均得到叠加后的视频帧。
[0016]本发明直接根据视频解码时产生的运动矢量来估计帧间的运动矢量,并且根据估计的运动矢量进行运动补偿,可以避免重新计算运动矢量的巨大运算量,有利于软硬件的实时实现。另外,本发明的运动补偿方案,在进行叠加显示时可以一定程度抑制噪声,平滑单向预测编码方式造成的视觉突变;同时,本发明的运动补偿方案,可以避免由于帧间相对运动导致的图像模糊,改善嵌入式设备播放网络视频或进行视频通讯时的视觉效果。
[0017]通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
【专利附图】

【附图说明】
[0018]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0019]图1为本发明视频图像的运动补偿方法一个实施例的流程示意图。
[0020]图2为本发明运动矢量估计的一个示意图。
[0021]图3为本发明视频图像的运动补偿方法另一个实施例的流程示意图。
[0022]图4为本发明视频图像的运动补偿装置一个实施例的流程示意图。
【具体实施方式】
[0023]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0025]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0026]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0027]在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0028]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0029]本发明的视频图像运动补偿方案,适用于单向预测的编码方式,即视频流中只包含关键帧(简称I帧)和前向预测帧(简称P帧)。一个典型的视频帧发送的顺序为:
I — P — PP — I — P — P — P …。
[0030]图1为本发明视频图像的运动补偿方法一个实施例的流程示意图。如图1所示,该实施例的方法包括以下步骤:
[0031]S101,从接收的视频流中解码得到当前欲显示的视频帧,将当前欲显示的视频帧缓存,如果当前欲显示的视频帧为前向预测帧,保存解码得到的当前欲显示的视频帧的运
动矢量信息。[0032]需要说明的是,如果当前欲显示的视频帧为前向预测帧,则解码除了能够获得该视频帧的像素值数据,还能够获得该视频帧的运动矢量信息。如果当前欲显示的视频帧为关键帧,则解码仅能获得该视频帧的像素值数据。
[0033]对H.264编码格式而言,一个图像帧从空间上被分割为多个宏块,每个宏块又可以划分为多个子宏块,每个子宏块对应于一个运动矢量。对于MPEG (Moving PicturesExperts Group,动态图像专家组)编码格式而言,每个宏块对应于一个运动矢量。
[0034]需要说明的是,解码过程中获取宏块或子宏块的运动矢量可以参考现有技术,这里不再详述。
[0035]S102,从接收的视频流中解码得到当前欲显示的视频帧的下一个视频帧,将下一个视频帧缓存,如果下一个视频帧为前向预测帧,保存解码得到的下一个视频帧的运动矢
量信息。
[0036]S103,根据下一个视频帧的帧类型以及解码得到的当前欲显示的视频帧的运动矢量信息和下一个视频帧的运动矢量信息,估计当前欲显示的视频帧与下一个视频帧之间每个像素位置处的运动矢量。
[0037]根据下一个视频帧的不同 的帧类型,本发明提供了不同的运动矢量估计方法。
[0038](I)如果下一个视频帧为前向预测帧,则将下一个视频帧每个像素所属的宏块或子宏块所对应的运动矢量信息作为当前欲显示的视频帧与下一个视频帧之间每个像素位置处的估计的运动矢量。可以采用如下公式表示:
【权利要求】
1.一种视频图像的运动补偿方法,包括: 从接收的视频流中解码得到当前欲显示的视频帧,将当前欲显示的视频帧缓存,如果当前欲显示的视频帧为前向预测帧,保存解码得到的当前欲显示的视频帧的运动矢量信息; 从接收的视频流中解码得到当前欲显示的视频帧的下一个视频帧,将所述下一个视频帧缓存,如果所述下一个视频帧为前向预测帧,保存解码得到的所述下一个视频帧的运动矢量/信息; 根据所述下一个视频帧的帧类型以及解码得到的所述当前欲显示的视频帧的运动矢量信息和所述下一个视频帧的运动矢量信息,估计所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的运动矢量; 根据估计的运动矢量,对所述当前欲显示的视频帧以及所述下一个视频帧进行叠加,并且在屏幕上显示叠加后的视频帧。
2.根据权利要求1所述的方法,其特征在于,对于从接收的视频流中解码得到的视频帧的运动矢量信息,如果视频帧为动态图像专家组MPEG格式,则视频帧的每个宏块对应一个运动矢量,如果视频帧为H.264格式,则视频帧的每个子宏块对应一个运动矢量。
3.根据权利要求1所述的方法,其特征在于,所述估计所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的运动矢量具体包括: 如果所述下一个视频帧为前向预测帧,则将所述下一个视频帧每个像素所属的宏块或子宏块所对应的运动矢量信息作为所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的估计的运动矢量。
4.根据权利要求1所述的方法,其特征在于,所述估计所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的运动矢量具体包括: 如果所述下一个视频帧为关键帧,则所述当前欲显示的视频帧和所述关键帧的下一个视频帧均为前向预测帧,将所述当前欲显示的视频帧的运动矢量与所述关键帧之后的前向预测帧的运动矢量的平均作为所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧之间每个像素位置处的估计的运动矢量。
5.根据权利要求1所述的方法,其特征在于,根据估计的运动矢量,对所述当前欲显示的视频帧以及所述下一个视频帧进行叠加具体包括: 根据所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧之间每个像素位置处的估计的运动矢量,对所述当前欲显示的视频帧进行运动补偿; 将补偿后的所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧进行帧平均得到叠加后的视频帧。
6.一种视频图像的运动补偿装置,包括: 解码单元,用于从接收的视频流中解码得到当前欲显示的视频帧,将当前欲显示的视频帧缓存,如果当前欲显示的视频帧为前向预测帧,保存解码得到的当前欲显示的视频帧的运动矢量信息;从接收的视频流中解码得到当前欲显示的视频帧的下一个视频帧,将所述下一个视频帧缓存,如果所述下一个视频帧为前向预测帧,保存解码得到的所述下一个视频帧的运动矢量息; 运动矢量估计单元,用于根据所述下一个视频帧的帧类型以及解码得到的所述当前欲显示的视频帧的运动矢量信息和所述下一个视频帧的运动矢量信息,估计所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的运动矢量; 叠加显示单元,用于根据估计的运动矢量,对所述当前欲显示的视频帧以及所述下一个视频帧进行叠加,并且在屏幕上显示叠加后的视频帧。
7.根据权利要求6所述的装置,其特征在于,在解码单元中,对于从接收的视频流中解码得到的视频帧的运动矢量信息,如果视频帧为动态图像专家组MPEG格式,则视频帧的每个宏块对应一个运动矢量,如果视频帧为H.264格式,则视频帧的每个子宏块对应一个运动矢量。
8.根据权利要求6所述的装置,其特征在于,所述运动矢量估计单元,具体用于: 如果所述下一个视频帧为前向预测帧,则将所述下一个视频帧每个像素所属的宏块或子宏块所对应的运动矢量信息作为所述当前欲显示的视频帧与所述下一个视频帧之间每个像素位置处的估计的运动矢量。
9.根据权利要求6所述的装置,其特征在于,所述运动矢量估计单元,具体用于: 如果所述下一个视频帧为关键帧,则所述当前欲显示的视频帧和所述关键帧的下一个视频帧均为前向预测帧,将所述当前欲显示的视频帧的运动矢量与所述关键帧之后的前向预测帧的运动矢量的平均作为所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧之间每个像素位置处的估计的运动矢量。
10.根据权利要求6 所述的装置,其特征在于,所述叠加显示单元,具体用于: 根据所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧之间每个像素位置处的估计的运动矢量,对所述当前欲显示的视频帧进行运动补偿; 将补偿后的所述当前欲显示的视频帧与所述当前欲显示的视频帧的下一个视频帧进行帧平均得到叠加后的视频帧。
【文档编号】H04N19/513GK103905825SQ201210580243
【公开日】2014年7月2日 申请日期:2012年12月27日 优先权日:2012年12月27日
【发明者】屈振华, 龙显军, 陈珣, 万军, 马涛, 孙健, 梅平, 贺征, 李屹寰, 白冰, 桂烜, 江洪, 陈宇华, 郭英, 尹梅, 钟远晖, 余冬苹, 张海涛, 林涛, 许捷翰, 刘豪, 叶文超, 梁铮 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1