基于旋转缩放的自适应运动搜索方法与流程

文档序号:17149003发布日期:2019-03-19 23:15阅读:181来源:国知局
基于旋转缩放的自适应运动搜索方法与流程

本发明属于视屏编码和场景检测领域,涉及在视频编码中基于物体的刚性旋转缩放的运动搜索方法,具体地说是一种基于旋转缩放的自适应运动搜索方法,不仅可用于降低编码码字,也可以作为辅助技术用于场景检测和重建,进而成为无人驾驶、地图采集、地貌测绘以及三位场景重建等场景中。。



背景技术:

在传统的视频帧间参考区块的搜索过程中,主要针对的是2d平移的搜索。其基于的假设是物体的所有运动可近似的等效为在视屏面上的刚体平移运动。然而这个假设是相对比较粗糙的,在现实世界中没有绝对的刚体,而往往在视屏拍摄过程中,物体的运动也是会比平移复杂的多。为了弥补采用这种假设预测的误差,通常还需要在预测之后将预测值与实际值进行比较,并对其残差进行描述,通过预测和残差的和来还原真实的像素值。然而,在编码过程中,为了刻画残差通常需要相当一部分的码字,这就间接降低了同样码流下视频的质量。

近几年来,随着硬件设备的发展,视频的清晰度不断增高。在更高清的视频中如何更加有效的编码提出了许多挑战,其中有两方面非常有研究价值:其一是物体的运动刻画,如上所述,在传统的运动搜索中,物体被近似的刻画成了在二维平面上平移的刚体,然而在高清视频中这种近似的效果的差异相比于低码率下的视频,会更严重的暴露出来,因此需要有更合适的运动模型去更精确的刻画物体的运动;另一方面,在高码率的视屏中,残差的量化通常会采用更小的步长,这就意味着较大而不规律的残差刻画会需要非常高的码字,因此如何能更精确的表达预测值也是提高编码效率的重要手段。

cn201610716184.0号中国专利申请公开了一种候选框搜索步长的获取方法,该方法包括获取待搜索图像;获取所述待搜索图像中各个原始分区的图像信息以及各个原始分区各自对应的泊松分布函数;根据每个原始分区的图像信息和泊松分布函数,确定每个原始分区的分区类型;根据所述分区类型,确定在每个原始分区中的候选框搜索步长。

cn201610035012.7号中国专利申请公开了一种hevc中屏幕内容压缩的快速帧内模式决策和块匹配方法,属于视频编解码领域。其说明书44-48段公开了运用动态步长搜索的方法。



技术实现要素:

本发明为基于旋转缩放的自适应运动搜索方法、在动态场景的的帧间编码过程中能够有效的搜索最匹配的参考区块,旨在提供一种基于旋转缩放的自适应运动搜索方法。

为了达到上述目的,本发明采用的技术方案包括如下步骤:

步骤一:从候选参考的区块中获取参考运动参数,以该区块为起点初始化搜索;

步骤二:设置初始搜索步长开始搜索,在搜索过程中更新步长;

步骤三:搜索平移运动参数,得到最优点a;

步骤四:以a为初始点,进行对于旋转和缩放参数的搜索,并得到当前最优点b;

步骤五:比较a、b的参数,若一样则跳出循环;若不一样则重复步骤四;

步骤六:用步骤五得到的点作为初始点,同时对x方向运动矢量、y方向运动矢量、旋转角度和缩放尺度参数进行梯度下降式搜索,直到误差降低小于设定的阈值或者迭代次数大于设定的上限;

步骤七:对于步骤六得到的最优参数,分别对x方向运动矢量、y方向运动矢量、旋转和缩放参数进行步长为最后迭代步长的绝对值,正、反方向各进行两点式搜索,得到最终最优值。

其中,还包括步骤八:若还有候选参数未尝试搜索,则至步骤一,重新以另一个候选运动参数搜索,否则搜索完成。

其中步骤二中,初始搜索步长按照概率分布等密度设置;在后续搜索过程中根据得到的误差变化动态更新步长。

其中,搜索平移运动参数采用菱形算法。

其中,步骤一中,在垂直于视频面的运动中,通过缩放的方法构建等效于垂直于xy平面的z轴方向上的运动,基于x、y轴上的旋转等效为物体垂直于该轴在视频面上的平移、在边缘部分同时发生缩放。

其中步骤三中:在计算预测的误差时,对于参考像素处于非整数像素点时,采用浮点型的多抽头差值。

和现有技术相比,本发明的运动模型不再局限于平面刚体平移,加入了三维的移动和旋转,因此可以更好的刻画物体的运动,从而寻找到更合适的参考区块;在搜索过程中运用动态的步长,可以将物体运动细节刻画的更精细,同时又可以在远离搜索区域时更快的跳出搜索循环;本发明采用多抽头的浮点型差值,能够同时避免精度不够和像素值波动的问题,使得在非整数点时的像素值更为准确。

附图说明

图1为本发明实施例的流程说明图;

图2为视平面上水平旋转的复合示意图;

图3为视平面上垂直旋转的复合示意图。

具体实施方式

现结合附图对本发明作进一步地说明。

本实施例目的在于构建一个基于旋转缩放等参数的三维物体运动模型,可以更精确的刻画出物体真实的运动状况,并将这种状况反应到二维视平面上。同时对于运动过程中出现非整数参考像素的情况,采用多抽头浮点型插值方法,更为精确的预测亚像素的像素值。具体包括如下步骤:

步骤一:从候选参考的区块中获取参考运动参数,以该区块为起点初始化搜索;

步骤二:设置初始搜索步长开始搜索,在搜索过程中更新步长;

步骤三:搜索平移运动参数,得到最优点a;

步骤四:以a为初始点,进行对于旋转和缩放参数的搜索,并得到当前最优点b;

步骤五:比较a、b的参数,若一样则跳出循环;若不一样则重复步骤四;

步骤六:用步骤五得到的点作为初始点,同时对x方向运动矢量、y方向运动矢量、旋转角度和缩放尺度参数进行梯度下降式搜索,直到误差降低小于设定的阈值或者迭代次数大于设定的上限;

步骤七:对于步骤六得到的最优参数,分别对x方向运动矢量、y方向运动矢量、旋转和缩放参数进行步长为最后迭代步长的绝对值,正、反方向各进行两点式搜索,得到最终最优值。

本实施例在运动建模的方面,除了传统的平移的运动矢量,额外的引入了缩放尺度(scale)和旋转角度(rotation)两个参数。为了更精确的刻画物体的变化,本发明中的建模不再完全的近似为视平面上的平移运动,而是尝试近似的描绘出一个三维空间中的刚体运动。物体的运动方向的刻画,在视平面上的运动沿袭了传统编码过程中的方法,用x,y轴予以刻画,而在垂直于视频面的运动中,通过缩放的方法构建一个等效于垂直于xy平面的z轴方向上的运动。

参见图2、图3,本实施例中,物体的运动方式刻画不仅限于平移,添加了旋转这一方式。基于x、y轴上的旋转可近似的等效为物体垂直于该轴在视频面上的平移,在边缘部分同时发生了缩放。对于基于z轴的旋转,通过新引入的旋转角度变量加以刻画。图2中,水平旋转可近似等效为缩放和平移运动的复合;图3中,垂直旋转可以近似等效为缩放和平移运动的复合。

在运动搜索方面,本发明在传统的遍历搜索和菱形搜索之上,对于搜索的步长和方法做了进一步的改进。实际中的运动场景,主要是基于恒力的匀变速运动,传统的方法中对于运动的刻画采用的是对于其运动矢量的变化量(mvd)进行刻画。在这方面,传统方法中采用了等长的方式去描述,基于实际场景的物理学基础,可以近似的推导出物体位移的二次导数在大多数场景下近似的为0或者在0的附近,因此本发明采用了非等步长的方式,而是通过数学模型构建步长进行搜索。本实施例中采用概率分布等密度设置步长,并在后续搜索过程中根据得到的误差变化动态更新步长。

同时在搜索过程中,如果能在某一维度同方向上连续搜索点的预测误差持续增大,则会提高搜索步长,这一方式可以间接的实现传统方法中菱形搜索的的功能。这一搜索方法可以应用在平移、缩放、旋转中每一个尺度上。在像素值获取方面,本发明采取了多抽头的浮点型差值。传统方法中多为多抽头的定精度亚像素差值(如1/8精度)或者是双线性差值,前者在针对更为精细的像素预测时会稍显不足,尤其是在像素值剧烈变化的区域微小的像素位置差异都会导致巨大的预测值变化;双线性的差值则会受到波动的影响,因为其方法只考虑了紧紧相邻的两个像素点,而忽略了周围的变化,导致其在像素值波动的区域预测精确度不高。因此本发明中选择了浮点型的多抽头预测,既可以保证像素位置的精确度,又可以降低邻近像素波动带来的误差。

参见图1,图1展示的是本发明的一个实施例,在编码具体实施过程中主要包括以下具体步骤:

1)在帧间编码过程中,从候选参考的区块中获取参考运动参数作为初始化搜索起点。该参数包括如下几项:

mvx,mvy点分别对应着传统方法中的x方向和y方向的运动矢量。但是在表述方法上,不再用定长的方式去表述,而是按照以参考单元mv为μ,mvd为σ的正态分布,其中距离μ每1/8概率插入一点,作为搜索点。rotation为本方法中提出的旋转参数,指的是这一帧中预测单元相对于上一帧中的参考单元的旋转角度,通过弧度制表示,以体心为选中中心,顺时针方向为正方向,范围为[-π,π]。当rotation为π/2,其余运动参数均为0时,这一帧的2n×2n的预测单元为上一帧中的同一块单元,以中心(即(n,n)点)为旋转轴,在视平面上顺时针旋转π/2弧度(即90°)得来。与mv类似,在rotation的搜索过程中,构建以参考单元旋转参数θ0为μ,以π/2为σ的正态分布,其中距离μ每1/8概率插入一点,作为搜索点。类似的,scale为本方法中对应的缩放参数,指的是这一帧中预测单元相对于上一帧中的参考单元的缩放倍数,通过一个浮点型常数表示,以体心为缩放中心,放大倍数为值,范围为(0,+∞)。即当scale为2其余运动参数均为0时,这一帧的2n×2n的预测单元为上一帧中的同一块单元,以中心(即(n,n)点)为缩放点,由中心的n×n区域放大两倍得到。类似的,在scale搜索过程中,构建以参考单元缩放比例α为μ,以预先选择好的最大缩放比例βmax/2为σ的正态分布,距离μ每1/8概率插入一点,作为搜索点。

以上所有参数均通过下标的形式从时域或者空域参考候选队列中选取,候选队列的生成方法参考hevc标准。

2)按照hevc中菱形搜索更新mvx和mvy,直至其搜索出误差最小点,作为后两组参数的初始搜索点。

此时选取预测参数scale得到其初始缩放比例α,并按照预先设置好的缩放概率密度n0,通过其对应在n(α,(α*βmax/2)^2)正态分布中对应的的缩放比例进行搜索(其中βmax为预先选择好的最大缩放比例),若得到的残差值更小,则保留当前搜索步长,否则搜索步长加倍,直至搜索完[α-α*βmax,α+α*βmax]区间。然后按照得出的缩放参数,继续选取预测参数rotation得到其初始旋转角度θ0,并按照预先设置好的旋转概率密度n0,通过其对应在n(θ0,(π/2)^2)正态分布中对应的的偏转角度进行搜索,若得到的残差值更小,则保留当前搜索步长,否则搜索步长加倍,直至搜索完[-π,π]区间。重复循环mv、scale和rotation的步骤直到搜索区间收敛。

3)在这两组搜索后假定搜索进入了一个足够好的搜索区间,开始进行局部的更精细的搜索,与上一步骤类似,在一步搜索过程中,同时更新mv、scale和rotation的值,则按照(当前残差变化值/前一次残差值)*当前概率密度n更新搜索角度对应的概率密度(可以理解为按照误差的大小更新搜索的步长,按照误差的反向以及误差相对于概率密度的步长进行梯度下降),这种类似于在mv、scale和rotation坐标上进行梯度下降的方法,可以在n参数的搜索中可以将搜索的时间复杂度从an近似的降到an,其中a为常数。在该搜索阶段中,会重复该步骤,直至最后误差不再显著变小或者达到预先设定的最大迭代次数。

以上一步结束的mv、scale和rotation值和其对应最后的搜索概率密度nmv,nscale,nrotationd,做一次两点式搜索。即在最终的到的mv、scale和rotation组合值中,分别在其两个方向上以最后一次的搜索步长,做一次全搜索。并将这组搜索得到的最优值作为最终的最优值供之后的搜索进行参考。

上面结合附图及实施例描述了本发明的实施方式,实施例给出的结构并不构成对本发明的限制,本领域内熟练的技术人员可依据需要做出调整,在所附权利要求的范围内做出各种变形或修改均在保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1