专利名称:一种视频数据还原的插帧方法
技术领域:
本发明涉及视频图像处理领域,尤其涉及一种视频数据还原的插帧方法。
背景技术:
在网络视频传输系统中,视频都是先经过压缩,通过网络传输到接收方,再由接收方解码显示。但是在很多实际应用的场合,由于受网络带宽的限制,现有的视频编解码算法无法满足人们对视频流畅显示的需求。显示设备显示图像的质量在很大程度上取决于扫描模式和图像的刷新率,传统的显示设备的扫描模式是隔行扫描,其图像的刷新率一般为60场/秒。在被显示图像从前帧切换到下一帧之前,虽然在同一帧中图像被连续显示,但人眼预期图像在下一帧的图像的显示,是在前帧图像上的运动物体的运动方向上移动的同时观看该图像。换句话说,由于眼睛的跟随运动是连续的,且进行的取样比帧间隔更精确,因此人眼观看两相邻帧之间的图像,看到的是模糊的图像。为了解决这一问题,只能使显示的帧间隔更短,这样,可能改善具有少数目显示帧的运动画面中都不自然的运动。插帧方法是在不改变原有码流的情况下,在解码出来的每两帧之间插出一帧,使显示的视频帧率比原来提高了将近1倍,有效的改善了视频流畅性问题。插帧算法是基于物体的运动是平滑连续的,这个假设对于大多数视频序列都是适用的。插帧算法的总体思路如图1所示。设当前帧的运动向量为(mVlx,mVly),插出帧的运动向量为(mvx = mvlx/2, mvy = mvly/2)。插出帧每个象素值的计算公式为F (x,y) = [Flri (x+mvx, y+mvy) +Fn (x-mvx, y-mvy) ] /2 ο其中Flri (χ, y)表示前一帧(x, y)位置的象素值,Fn(x,y)表示当前帧(x, y)位置的象素值。在实际应用中,根据上述方法生成的插帧效果并不理想。这主要是由于以下几个因素的影响(1)视频编解码算法中有I帧和I宏块,I帧和I宏块的运动向量为0,这些运动向量对插帧没有参考意义。(2) 一帧图像中虽然大部分物体运动是连续的,可能有小部分是不连续的,这样插帧的局部效果会比较差。(3)实际情况中由于光线变化和摄像机采集的影响,编码信息中的一些运动向量并不是物体的真实运动,这些运动向量不能用来作为插帧的参考运动向量。(4)在场景变换和前后两帧物体运动变化很大的情况下,插帧的马赛克现象比较严重。现有的插帧实现方法大部分都是针对特定的编解码算法,而且复杂度高,插帧效果也是针对测试序列而言,在实际应用中效果并不理想。
发明内容
本发明的目的在于克服现有技术的缺陷和不足,提供一种对视频压缩图像进行解压缩的方法,该方法设计简单,使视频流显示的帧数更加流畅,提高了视频质量。为达到上述目的,本发明是通过以下技术方案来实现的一种视频数据还原的插帧方法,包括如下步骤Sl 将解压后的相邻两帧图像分别分解为至少包括两个像素块的区域;S2 判断第一帧图像与第二帧图像相对应像素块的相关性;S3 根据两帧图像对应像素块的相关性,在相邻两帧图像间插入内插帧;S4:显示内插帧。进一步的,所述像素块区域包括静止像素区域、运动很慢的区域和快速运动像素区域。进一步的,所述内插帧至少包括两个像素块区域。进一步的,判断像素块的运动矢量相关性。进一步的,根据像素块的运动矢量相关性生成内插帧像素块。进一步的,所述内插帧采用OBMC方法来进行运动补偿产生。进一步的,所述步骤Sl中的像素块可以根据图像的特征进行区域大小调整。本发明公开一种一种对视频压缩图像进行解压缩的方法,该方法设计简单,使视频流显示的帧数更加流畅,提高了视频质量,具有广泛的适用性。
下面根据附图和实施例对本发明作进一步详细说明。图1为现有技术中插帧实现方法;图2为本发明视频数据还原的插帧方法的流程图;图3为OBMC图示。图4为OBMC算法像素块中的小块示意图。
具体实施例方式图1为现有技术中内插帧实现的方法,内插帧是通过帧间预测根据运动的惯性计算得到的。采用预测编码的方法消除序列图像在时间上的相关性,即不直接传送当前帧的像素值,而是传送帧和其前一帧或后一帧的对应像素之间的差值,这称为帧间预测。帧间预测编码是利用视频图像帧间的相关性,即时间相关性,来达到图像压缩的目的。在图像传输技术中,活动图像特别是电视图像是关注的主要对象。活动图像是由时间上以帧周期为间隔的连续图像帧组成的时间图像序列,它在时间上比在空间上具有更大的相关性。大多数电视图像相邻帧间细节变化是很小的,即视频图像帧间具有很强的相关性,利用帧所具有的相关性的特点进行帧间编码,可获得比帧内编码高得多的压缩比。对于静止图像或活动很慢的图像,可以少传一些帧,如隔帧传输,未传输的帧利用接收端的帧存储器中前一帧的数据作为该帧数据,对视觉没有什么影响。由于人眼对图像中静止或活动慢的部分,要求有较高的空间分辨率,而对时间分辨率的要求可低些。
当图像中存在着运动物体时,简单的预测不能收到好的效果,例如在图2中当前帧与前一帧的背景完全一样,只是图中像素块平移了一个位置,如果简单地以第帧像素值作为F帧的预测值,则当前像素块与前一帧像素块的预测误差都不为零。如果已经知道了像素块的方向和速度,可以从像素块在帧的位置推算出它在F帧中的位置来,而背景图像(不考虑被遮挡的部分)仍以前一帧的背景代替,将这种考虑了像素块位移的而-1帧图像作为F帧的预测值,就比简单的预测准确得多,从而可以达到更高的数据压缩比。这种预测方法称为具有运动补偿的帧间预测。本实施例中提出一种视频数据还原的插帧方法,根据视频前后帧之间的相关性插值出新的一幅视频图像。图2为该方法的流程图,包括Sl 将解压后的相邻两帧图像分别分解为至少包括两个像素块的区域;S2 判断第一帧图像与第二帧图像相对应像素块的相关性;S3 根据两帧图像对应像素块的相关性,在相邻两帧图像间插入内插帧;S4:显示内插帧。图3为OBMC图示。从图3可以看出,内插帧像素块的运动向量估计是通过OBMC (重叠宏块运动补偿的方法)来计算得到的,该方法可以有效的防止某一块运动量过大引起的估计不准确。图4为像素块中的小块示意图。一个宏块由4个Block组成,一个宏块为16x16象素矩阵,一个Block为8x8象素矩阵。数据编码以宏块为单位,运动预测以Block为单位。 I宏块直接以象素值编码,不进行运动预测。补偿块是通过前后帧图像的运动关系计算出中间插帧图像的一块。对所述宏块的运动向量进行分类取 SAD = Σ blocksize abs [Fn-1 (x+mvx, y+mvy) -Fn (x-mvx, y-mvy)],其中Σ blocksize表示对一个8x8的象素矩阵求和,Fn-I (a, b)表示前一帧(a, b)位置的象素值,i^(a,b)表示当前帧(a,b)位置的象素值,abs()表示取括号中数字的绝对值;当SAD <阈值T (在该方法中T取值切(8x8))时,运动向量(mvx,mvy)可以作为插出帧的参考运动向量。当SAD >阈值T时,取插出帧当前Block上方,左方,左上方3个 Block的运动向量分别计算SAD值,取其中SAD值最小的运动向量作为当前Block的运动向量;用OBMC方法生成插出帧的每个象素每个补偿块要覆盖周围4个Block,区域A中象素值的计算公式为
权利要求
1.一种视频数据还原的插帧方法,其特征在于,包括如下步骤51将解压后的相邻两帧图像分别分解为至少包括两个像素块的区域;52判断第一帧图像与第二帧图像相对应像素块的相关性;53根据两帧图像对应像素块的相关性,在相邻两帧图像间插入内插帧;54显示内插帧。
2.根据权利要求1所述的视频数据还原的插帧方法,其特征在于,所述像素块区域包括静止像素区域、慢运动像素区域和快速运动像素区域。
3.根据权利要求1所述的视频数据还原的插帧方法,其特征在于,所述内插帧至少包括两个像素块区域。
4.根据权利要求1所述的视频数据还原的插帧方法,其特征在于,判断步骤S2中像素块的运动矢量相关性。
5.根据权利要求4所述的视频数据还原的插帧方法,其特征在于,根据像素块的运动矢量相关性生成内插帧像素块。
6.根据权利要求4所述的视频数据还原的插帧方法,其特征在于,所述内插帧像素块采用OBMC方法进行运动补偿产生。
7.根据权利要求1所述的视频数据还原的插帧方法,其特征在于,所述步骤Sl中的像素块可以根据图像的特征进行区域大小调整。
全文摘要
本发明公开一种视频数据还原的插帧方法,根据视频前后帧之间的相关性插值出新的一幅视频图像,首先将解压后的相邻两帧图像分别分解为至少包括两个像素块的区域;判断第一帧图像与第二帧图像相对应像素块的相关性;根据两帧图像对应像素块的相关性,在相邻两帧图像间插入内插帧;显示内插帧。该方法设计简单,使视频流显示的帧数更加流畅,提高了视频质量,具有广泛的适用性。
文档编号H04N7/26GK102378010SQ20111036126
公开日2012年3月14日 申请日期2011年11月15日 优先权日2011年11月15日
发明者王芳 申请人:无锡港湾网络科技有限公司