技术领域
[0001] 本
发明涉及
视频帧率上变换领域,具体地,涉及一种多信息融合的帧率上变换运动估计的方法及系统。
背景技术
[0002] 视频帧率作为运动视频的关键参数,影响着人们观看过程中对于运动物体的流畅性体验。低帧率视频中,相邻帧间的
像素质量波动容易导致画面闪烁感(flickering),而在具有同一运动方向的运动场景或体育节目中,则很容易观察到运动抖动(motion jittering)和动画感。高帧率视频可以大大改善这些视觉体验,带来更好的综合视觉质量和画面流畅性,成为未来视频应用的发展方向和重要需求。
[0003] 帧率上变换FRUC作为视频后处理的一项重要技术,在视频
图像处理和
数字电视等领域已有大量研究工作和相关成果。目前,主流实用FRUC方法主要是利用视频序列相邻帧间的相关性,沿着物体运动轨迹进行插值,因此也被称为基于
运动补偿的帧率上变换(Motion compensated FRUC,MC-FRUC)。已有的研究主要围绕帧率上变换的运动估计和补偿插值这两个关键点,就提高
运动矢量场的准确性和增强插值图像的可靠性得到了一系列的研究成果。根据运动矢量的产生方式,可以分为基于
块匹配、特征匹配、区域、梯度或变换域等五类常用运动估计方法。其中
块匹配的方法由于简单高效和
硬件易实现,在实际中得到了广泛的应用。但是块匹配方法的平滑性比较差,尤其是在单调背景下,块匹配的运动矢量噪声很大。另外大部分的块匹配方法对于大运动矢量的很难准确估计,因此在实际中,基于块匹配的方法经常容易在运动矢量边界处以及动态背景上出现错误,降低了内插帧视频的视觉质量。针对块匹配出现的问题,研究人员提出了很多种方法,包括多
分辨率的运动估计,间接或者直接的施加平滑约束来进一步提升图像质量。但是即便如此,插帧图像的质量仍有待进一步提高。
[0004] 光流法,尤其是基于Horn-Schunck的变分光流法近些年来得到了更进一步的发展。其中Brox等人在ECCV上发表的《High Accuracy Optical Flow Estimation Based on a Theory for Warping》方法在实际应用中得到了广泛使用。这一方法利用分层的架构,同时利用全局优化的方式对矢量场进行平滑。实验发现,光流法产生的矢量场无论在
精度上还是平滑性都相比块匹配的方法有明显提升,可以将其运用到帧率上变换的运动估计中。但是在传统的光流法也有其不足之处。首先是传统的光流法采用分层的架构,一方面可以
加速运动矢量的收敛,但是在最上层容易丢失对于小物体的运动矢量描述。这种情况在小物体的尺寸和其运动矢量相比差距不大的时候尤为明显。另外由于全局平滑约束的存在,光流法对于大运动矢量的估计不准确,并且容易出在大物体运动矢量附近容易出现错误的聚集。
[0005] 特征提取和特征匹配的方法在图像处理中得到了广泛的应用,其中SIFT特征,SURF特征使用较多。SIFT特征具有以下特征,首先是SIFT特征是图像的局部特征,其对旋转、尺度缩放、
亮度变化保持不变性,对视
角变化、仿射变换、噪声也保持一定程度的
稳定性;其次,SIFT特征独特性好,信息量丰富,适用于在海量特征
数据库中进行快速、准确的匹配;另外SIFT具有多量性,即使少数的几个物体也可以提取大量的SIFT
特征向量。SIFT特征方法主要包括以下的步骤,首先是尺度空间极值检测,关键点
定位,方向确定,关键点描述。通过对连续两帧图像的关键点进行计算并且匹配,可以得到两帧之间的对应关键点的运动矢量。由于SIFT特征的特性,通过特征匹配得到的运动矢量在对于复杂运动以及大运动矢量都具有很好的估计性能。但是SIFT特征相对稀疏并且关键点的
位置不可预测。另外由于是点匹配,SIFT特征匹配得到的运动矢量在纹理简单区域很少或者容易出现错误。
[0006] 经检索,公开号为CN104915966A、
申请号为CN201510233587.5的中国发明申请,该发明公开一种基于卡尔曼滤波的帧率上变换运动估计方法及系统。所述方法包括以下步骤:首先设置卡尔曼滤波模型的参数以及状态初始值,使得模型与实际系统吻合;然后通过先进行单向运动估计、后映射到内插帧的策略得到运动矢量观测值;最后采用一种增益时变的卡尔曼滤波方法对观测矢量进行更新,从而得到更为准确的运动矢量。
[0007] 但是该种帧率上变换的运动估计方法对于小物体运动矢量以及大运动矢量的估计不够准确。对于复杂运动矢量也不够稳健。
发明内容
[0008] 针对
现有技术的
缺陷,本发明的目的是提供一种视频的帧率上变换中运动估计方法及系统,通过借助对光流法运动矢量、特征匹配运动矢量以及块匹配运动矢量进行融合,结合运动后处理手段,从而提供了高性能的运动矢量,提升了内插帧的视觉质量[0009] 根据本发明的第一方面,提供一种多信息融合的帧率上变换运动估计方法,所述方法包括如下步骤:
[0010] 步骤一:从高清
视频流中读取连续两帧图像;
[0011] 步骤二:对步骤一的图像数据进行降
采样;
[0012] 步骤三:对步骤二中前后两帧数据进行基于光流法的运动估计,得到光流法运动矢量;
[0013] 步骤四:对步骤一中前后两帧图像数据进行基于块匹配的运动估计,得到块匹配运动矢量;
[0014] 步骤五:对步骤一中前后两帧图像数据进行SIFT特征提取,并计算每一个特征的特征矢量,并进行特征匹配,得到对应的特征运动矢量;
[0015] 步骤六:将步骤四得到的块匹配运动矢量、步骤五得到的特征运动矢量和步骤三得到的光流法运动矢量进行融合,得到融合后的运动矢量场;
[0016] 步骤七:对步骤六得到的融合后的运动矢量场采用可靠运动矢量传递的方式进行修正;
[0017] 步骤八:回到步骤一,读取下两帧图像。
[0018] 优选地,步骤二中,图像降采样的方法是
水平、垂直方向每4点取一个点。
[0019] 优选地,步骤三中,光流法采用经典的变分光流法。
[0020] 优选地,步骤四中,块匹配
算法采用的是3维递归搜索。
[0021] 优选地,步骤六中,特征运动矢量、块匹配运动矢量矢量与光流法运动矢量融合,步骤为:
[0022] S1:获取通过光流法得到的光流法运动矢量场vo、特征匹配得到的特征运动矢量vf以及块匹配运动矢量场vb,创建融合后的矢量场vm;
[0023] S2:按照从左到右,从上到下的顺序依次扫描融合后的运动矢量场vm;
[0024] S3:判断在当前位置处,特征匹配运动矢量场vf是否存在特征运动矢量,如不存在,转到S4,否则转到S5;
[0025] S4:计算块匹配运动矢量场vb在当前位置处对应运动矢量的像素值差SADB,以及光流法运动矢量场vo在当前位置处对应运动矢量的像素值差SADO;
[0026] S5:从SADB和SADO中选择最小值对应的运动矢量作为融合后的矢量场vm在当前位置处的运动矢量;转到S8;
[0027] S6:分别计算光流法运动矢量场vo在当前位置处对应运动矢量的像素值差SADO,以及特征运动矢量vf在当前位置处对应运动矢量的像素值差SADF,块匹配运动矢量场vb在当前位置处对应运动矢量的像素值差SADB;
[0028] S7:从SADB、SADO和SADF中选择最小值对应的运动矢量作为融合后的矢量场vm在当前位置处的运动矢量;转到S8;
[0029] S8:是否已经扫描融合后的运动矢量场vm,如是则退出并得到运动矢量场vm,否则返回S2。
[0030] 更优选地,S4和S6中,计算运动矢量的像素值差的方法为:
[0031] 获取当前位置像素F(x),参考帧的像素RF(x+v),其中x是当前的坐标位置,v是当前位置对应的运动矢量,RF是参考帧;
[0032] SAD=|F(x)–RF(x+v)|,其中SAD为所求像素值差。
[0033] 优选地,步骤七中,运动矢量传递,步骤为:
[0034] 获取通过光流法得到的光流法运动矢量场vo、特征匹配得到的特征运动矢量vf以及块匹配运动矢量场vb,设创建融合后的矢量场vm;
[0035] S701:按照从左到右,从上到下的顺序依次扫描融合后的矢量场vm;
[0036] S702:对于当前位置(px,py),其中px为水平位置坐标,py为垂直位置坐标,vm(px,py)为当前位置的矢量,并依次得到左侧位置矢量vm(px-1,py),上边位置矢量vm(px,py-1),左上位置的矢量vm(px-1,py-1);
[0037] S703:计算S702中四个矢量对应的前后帧的像素值差,选择最小的像素值差对应的矢量对融合后的矢量场vm在当前位置的矢量进行更新;
[0038] S704:是否已经扫描完整帧图像,如果没有,则返回S701,否则进入S705;
[0039] S705:按照从右到左,从下到上的顺序依次扫描融合后的矢量场vm;
[0040] S706:对于当前位置(px,py),其中px为水平位置坐标,py为垂直位置坐标,vm(px,py)为当前位置的矢量,并依次得到右侧位置矢量vm(px+1,py),下边位置矢量vm(px,py+1),右下位置的矢量vm(px+1,py+1);
[0041] S707:计算S706中四个矢量对应的前后帧的像素值差,选择最小的像素值差对应的矢量对vm在当前位置的矢量进行更新;
[0042] 708:是否已经扫描完整帧图像,如果没有,则返回S705,否则退出。
[0043] 根据本发明的第二方面,提供一种多信息融合的帧率上变换运动估计系统,包括:
[0044] 图像输入模块:从高清视频流中读取连续两帧图像;
[0045] 降采样模块:对图像输入模块输入的图像数据进行降采样;
[0046] 光流法运动矢量获得模块:对降采样模块后的前后两帧数据进行基于光流法的运动估计,得到光流法运动矢量;
[0047] 块匹配运动矢量获得模块:对图像输入模块输入的前后两帧图像数据进行基于块匹配的运动估计,得到块匹配运动矢量;
[0048] 特征运动矢量获得模块:对图像输入模块输入的前后两帧图像数据进行SIFT特征提取,并计算每一个特征的特征矢量,并进行特征匹配,得到对应的特征运动矢量;
[0049] 运动矢量场融合模块:将上述各模块得到的块匹配运动矢量、特征运动矢量和光流法运动矢量进行融合,得到融合后的运动矢量场;
[0050] 矢量传递模块:对运动矢量场融合模块得到的融合后的运动矢量场采用可靠运动矢量传递的方式进行修正。
[0051] 与现有技术相比,本发明具有如下的有益效果:
[0052] 本发明因为采用了多种信息的融合方法,尤其是考虑到特征匹配的方法对于大运动矢量以及复杂矢量的具有很好的表征,以及块匹配运动方法对于小物体的具有较好的估计,在运动估计方面要比公开号为CN104915966A的发明性能要好。
[0053] 更进一步的,本发明:
[0054] 1.通过使用光流法可以保证得到的光流法运动矢量场是基本光滑的;
[0055] 2.基于块匹配的运动估计,对于保证小物体的运动矢量的精度具有明显效果;
[0056] 3.特征匹配的特征运动矢量,对于大运动矢量以及复杂运动矢量具有很好的估计效果,能够明显提升帧率上变换在复杂场景下的性能;
[0057] 4.融合过程中充分利用各个运动估计方法的优点,进行相互的交互,通过判断对应位置处多个运动矢量对应的的像素值差,选择当前位置处的最优运动矢量,提升整体矢量的可靠度;
[0058] 5.运动矢量的传递是根据周围矢量
选定当前位置最优矢量,一方面可以将正确的矢量进行传递,另外也保证了整体运动矢量场的平滑性;
[0059] 6.运动矢量的传递采用两次不同方向的运动传递,可以充分的将正确矢量传递,避免出现遗漏。
附图说明
[0060] 通过阅读参照以下附图对非限制性
实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0062] 图2是本发明一实施例的运动矢量传递示意图;
具体实施方式
[0064] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干
变形和改进。这些都属于本发明的保护范围。
[0065] 如图1所示,为本发明多信息融合的帧率上变换运动估计方法的一实施例流程图,具体的,该实施例包括如下步骤:
[0066] 1读取视频序列中的连续两帧图像,并将其进行分别存储为f1,f2;
[0067] 2图像降采样
[0068] 对于高清视频(分辨率为1920x1080),为了减少后续的计算复杂度,将其进行水平和垂直方向的降采样。水平方向每四个点选择其中一点,垂直同样每四个点选择其中的一点作为降采样后的图像,按照此种方法可以得到降采样后的图像,f1_s和f2_s,其分辨率分别为480x270;对于其他的分辨率,可以在考虑到运动估计性能以及计算能
力的情况下,选择合适的降采样方式。
[0069] 3光流法运动估计得到对应的光流矢量场。
[0070] 光流法的运动估计可以采用现有技术实现,比如采用Brox在ECCV上发表的论文《High Accuracy Optical Flow Estimation Based on a Theory for Warping》中的方法;其中输入图像为降采样后的图像f1_s和f2_s,得到的运动矢量是从f1_s指向f2_s的前向运动矢量vo;
[0071] 4
块匹配运动估计得到块匹配运动矢量场。
[0072] 块匹配方法采用的是三维递归搜索的方法,具体地:
[0073] 4.1输入的连续两帧图像是f1,f2;
[0074] 4.2将整帧图像进行按照NxN大小的块进行划分,这里N的大小应该是与图像的降采样的尺度是一致的。在本实施例中,取N=4;
[0075] 4.3按照从左到右,从上到下的扫描顺序,从左上角依次遍历每一个NxN大小的块;
[0076] 4.4对于位置位于(x,y)处的块,其候选矢量来自于已经计算完成的矢量,即在当前位置处的候选矢量来自于左边位置(x-1,y)处的运动矢量vleft,上边位置(x,y-1)处的运动矢量vabove,以及零矢量v0。计算每一个候选运动矢量的SAD值。其中对于矢量vt,水平方向运动矢量为vtx,垂直方向运动矢量为vty。其SAD值等于f1(x,y)-f2(x+vtx,y+vty)的绝对值。其中f1(x,y)与f2(x+vtx,y+vty)代表大小为NxN的块;从中选择SAD值最小对应的运动矢量,定义为vc;
[0077] 4.5对于得到的运动矢量vc,其水平和垂直的值分别为vcx以及vcy。更新的运动候选矢量为(vcx-1,vcy),(vcx+1,vcy),(vcx,vcy-1),(vcx,vcy+1)。按照上述中计算SAD的方式分别计算矢量对应的SAD,其中SAD值最小的矢量作为最终块匹配运动矢量;
[0078] 4.6扫描整帧图像,得到块匹配运动矢量场vb。
[0079] 5特征提取、特征匹配和计算特征运动矢量场。
[0080] 采用的特征是SIFT特征,具体地:
[0081] 5.1输入的连续两帧图像是f1,f2;
[0082] 5.2分别提取图像f1,f2上的特征点,记为k1,k2;
[0083] 5.3对k1,k2进行匹配,得到对应的特征匹配运动矢量场v;
[0084] 5.4为了与块匹配运动矢量场以及光流运动矢量场的大小一致,对矢量场v按照前述的降采样方式进行降采样,得到矢量场vf。
[0085] 6特征运动矢量、块匹配运动矢量和光流法运动矢量融合。具体地:
[0086] 6.1读取尺寸为480x270的光流矢量场vo,块匹配矢量场vb和特征匹配矢量场vf,并且建立同等尺寸的融合后的矢量场vm;
[0087] 6.2按照从左到右,从上到下的扫描顺序,从左上开始,逐块扫描;
[0088] 6.3当前的扫描位置为p。因为特征匹配的运动矢量是稀疏的,因此需要判断当前位置处,特征匹配矢量场vf是否存在对应的运动矢量。如果不存在,执行步骤6.4,否则执行步骤6.5;
[0089] 6.4计算块匹配运动矢量vb,光流法运动矢量vo在当前位置处矢量对应的绝对值误差。本实施例在此处采用绝对误差最小和作为判断准则,但本领域的技术人员容易理解本实施例的判断准则亦可以选取其他,如
最小均方误差和等;假设运动矢量为v,绝对值误差sad=|f(p)–f(p+v)|。绝对值误差最小的矢量,为当前位置的最优运动矢量,存入vm中的对应位置;
[0090] 6.5计算块匹配运动矢量vb,光流法运动矢量vo以及特征匹配vf在当前位置处矢量对应的绝对值误差。绝对值误差与6.4中的定义相同。对应最小绝对值误差的运动矢量为最优运动矢量,存入vm中的对应位置;
[0091] 6.6扫描全部位置,得到融合后的运动矢量场vm。
[0092] 7运动矢量传递。
[0093] 运动矢量传递的目的是将正确的运动矢量进行扩散,提升运动矢量场的精度,并且保证整体矢量场的平滑性。运动矢量的传递会进行两次不同方法的传递。如图2所示。
[0094] 7.1按照从左到右,从上到下的顺序依次扫描融合矢量场vm;
[0095] 7.2对于当前位置p,其水平和垂直的坐标分别为px,py,对应的运动矢量为v0。其中其左边位置(px-1,py)矢量v1,上边位置(px,py-1)运动矢量v2,左上位置(px-1,py-1)的运动矢量v3。按照当前的扫描处理顺序,v1,v2和v3是已经扫描处理过的矢量;
[0096] 7.3计算v0,v1,v2和v3对应像素值差,这里可以用绝对值误差或者其他的类似标准。对于矢量v,水平位移和垂直位移分别为vx,vy,需要计算其在原始图像上对应的位置,同时也为了增加鲁棒性,采用计算前后两帧在运动轨迹上的块对应的像素值差。其中降采样后的坐标分别是px,py。采用的扩展空间N=2;那么在原始分辨率上对应块的水平坐标范围h等于[-N+4*px,N+4*(px+1)-1],垂直方向的坐标范围v等于[-N+4*py,N+4*(py+1)-1]。在本实施例中,像素值差采用绝对值误差sad作为标准,sad=|f1(h,v)–f2(h+vx,v+vy)|。
从v0,v1,v2,v3中选择sad最小的矢量,作为当前的最优运动矢量,并且更新融合矢量场vm;
[0097] 7.4扫描完成融合矢量场vm的全部位置;
[0098] 7.5按照从下到上,从右到左的位置依次扫描已经更新过的运动矢量场vm;
[0099] 7.6对于当前位置p,其水平和垂直的坐标分别为px,py,对应的运动矢量为v0。其中其右边位置(px+1,py)矢量v1,下边位置(px,py+1)运动矢量v2,右下位置(px+1,py+1)的运动矢量v3。按照当前的扫描处理顺序,v1,v2和v3是已经扫描处理过的矢量;
[0100] 7.7和7.3相同,分别计算v0,v1,v2,v3对应的像素值差。选择像素值差最小的运动矢量,作为融合矢量场vm在当前位置的最优运动矢量;
[0101] 7.8扫描完成融合矢量场vm的全部位置。
[0102] 如图3所示,基于上述方法描述,提供一种实现上述方法的多信息融合的帧率上变换运动估计系统,包括:
[0103] 图像输入模块:从高清视频流中读取连续两帧图像;
[0104] 降采样模块:对图像输入模块输入的图像数据进行降采样;
[0105] 光流法运动矢量获得模块:对降采样模块后的前后两帧数据进行基于光流法的运动估计,得到光流法运动矢量;
[0106] 块匹配运动矢量获得模块:对图像输入模块输入的前后两帧图像数据进行基于块匹配的运动估计,得到块匹配运动矢量;
[0107] 特征运动矢量获得模块:对图像输入模块输入的前后两帧图像数据进行SIFT特征提取,并计算每一个特征的特征矢量,并进行特征匹配,得到对应的特征运动矢量;
[0108] 运动矢量场融合模块:将上述各模块得到的块匹配运动矢量、特征运动矢量和光流法运动矢量进行融合,得到融合后的运动矢量场;
[0109] 矢量传递模块:对运动矢量场融合模块得到的融合后的运动矢量场采用可靠运动矢量传递的方式进行修正。
[0110] 上述各模块具体实现的技术与多信息融合的帧率上变换运动估计方法步骤中的技术相同,在此不再赘述。
[0111] 本发明采用多信息融合的方式进行帧率上变换的运动估计,利用多种信息的各个的优点,从而提升运动矢量场的准确度。本发明对于保证运动矢量场的光滑性,同时对于提升对于小物体运动矢量的估计和复杂场景的运动估计具有显著效果。
[0112] 尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种
修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的
权利要求来限定。