首页 / 专利库 / 视听技术与设备 / 块匹配运动估计 / 基于自适应步长和Levenberg-Marquardt优化的视频弹性运动估计方法

基于自适应步长和Levenberg-Marquardt优化的视频弹性运动估计方法

阅读:344发布:2020-05-11

专利汇可以提供基于自适应步长和Levenberg-Marquardt优化的视频弹性运动估计方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种基于自适应步长和Levenberg-Marquardt优化的视频弹性 运动估计 方法,采用Levenberg-Marquardt优化方法替代Guass-Newton法来求解弹性运动估计模型,从而避免Guass-Newton黑塞矩阵出现负定或者病态的情况,保证了 迭代 优化沿着正确的梯度下降方向进行;为Levenberg-Marquardt对 角 矩阵引进了一个自适应加权系数,并提出一种自适应加权系数的正负交替更新策略,进而在保证黑塞矩阵正定的前提下,有效扩大了参数搜索的空间;最后,采用Guass-Newton法在前两次迭代时的步长因子和预测误差,计算自适应加权系数的上界,并以此上界为约束。,下面是基于自适应步长和Levenberg-Marquardt优化的视频弹性运动估计方法专利的具体信息内容。

1.一种基于自适应步长和Levenberg-Marquardt优化的视频弹性运动估计方法,其特征在于按如下步骤进行:
步骤1.输入最大迭代次数Tmax和最小增量阈值Tm,并令λmin←2,λmax←10,δ←1,λ*←λmin,所述λmin表示自适应步长的下界,λmax表示自适应步长的上界,δ表示Levenberg-Marquardt对矩阵的加权系数,λ*表示自适应步长;
步骤2.若当前图像组的所有宏都已处理完毕,则算法结束;否则,从当前图像组中选取一个未处理过的、大小为M×N像素的宏块作为当前宏块I,并令xi、yi分别表示当前宏块中某个像素的横、纵坐标且0≤xi≤M-1,0≤yi≤N-1,其像素值为I(xi,yi);
步骤2.1根据公式⑴的定义,初始化当前宏块的弹性运动模型:
所述m表示坐标(xi,yi)处的弹性运动向量,p表示预设的运动向量的分量个数,mk表示m的第k个分量, 表示弹性运动的基函数,其定义由公式⑵给出:
且k=su+v+1,u,v=0,1,…,s-1,
步骤2.2将弹性运动向量m的所有分量mk置0,所述1≤k≤p;
步骤2.3利用整像素精度的菱形搜索方法,计算当前宏块的平移运动向量m1和mp/2+1,并计算该运动向量的模长的平方||Δm0||2=(m1)2+(mp/2+1)2;
步骤2.4令迭代计数器t←1;
步骤3.对于当前宏块中的每个像素(xi,yi),根据弹性运动向量m、公式⑴和公式⑵,在参考R中计算与其相匹配的像素坐标g(xi,yi;m),并利用双线性插值方法,计算该匹配像素的值R(g(xi,yi;m)),再将所有匹配像素组成一个与当前宏块相匹配的参考宏块,所述R(·)表示参考帧中位于坐标“·”处的像素值;
步骤4.根据公式⑶的定义,计算弹性运动向量m所对应的初始运动补偿误差e0:
步骤5.采用前向差分法,计算参考宏块的像素梯度 其中, 和
分别表示参考宏块沿着平方向、竖直方向的偏导数;
步骤6.计算雅克比矩阵 其中 所述 分别表
示 的第k个分量和第(p/2+k)个分量;
步骤7.计算最速下降方向 其中 所述
表示 的第k个分量;
步骤8.计算Guass-Newton黑塞矩阵H,其中 a,b∈
[1,p],所述T表示向量转置,Ha,b表示矩阵H中第a行、第b列的元素, 表示 的第a个分量, 表示 的第b个分量;
步骤9.计算方向向量b,其中 所述
bk表示b的第k个分量;
步骤10.若t>1,则转入步骤11;否则,计算自适应步长的上界λmax;
步骤10.1保留Guass-Newton黑塞矩阵H的对角线元素,而将其余元素清零,得到一个对角矩阵H′,并根据公式⑷的定义,计算其对角元素的绝对值之和S:
所述H′i,i表示对角矩阵H′中第i行、第i列的元素;
步骤10.2计算对角矩阵H′的逆矩阵(H′)-1;
步骤10.3计算对角矩阵所产生的弹性运动向量的增量Δm=(H′)-1b及其模长的平方||Δm||2;
步骤10.4令m′←m+Δm,并将m′代入公式⑴和公式⑵,计算在参考帧中,与当前宏块的每个像素(xi,yi)相匹配的像素坐标,并利用双线性插值方法,计算每个匹配像素的值R(g(xi,yi;m′));
步骤10.5根据公式⑸的定义,计算弹性运动向量m′的运动补偿误差e;
步骤10.6根据公式⑹的定义,计算Levenberg-Marquardt对角矩阵的加权系数的上界δmax:
步骤10.7根据公式⑺的定义,计算自适应步长的上界λmax:
步骤11.根据公式⑻的定义,计算Levenberg-Marquardt黑塞矩阵HLM:
步骤12.根据公式⑼的定义,计算第t次迭代后的弹性运动向量的增量Δmt:
所述 表示HLM的逆矩阵;
步骤13.根据公式⑽的定义,更新弹性运动向量m,并将其代入公式⑴和公式⑵,进而计算在参考帧中,与当前宏块的每个像素(xi,yi)相匹配的像素坐标,再利用双线性插值方法,计算每个匹配像素的值R(g(xi,yi;m));
m←m+Δmt                            ⑽
步骤14.根据公式⑾的定义,计算第t次迭代后的运动补偿误差et;
步骤15.根据公式⑿的定义,更新自适应步长λ*:
所述||Δmt||和||Δmt-1||分别表示第t次迭代和第(t-1)次迭代后,弹性运动向量的增量的模长;
步骤16.若et>et-1,则令δ←-δ×λ*,并转入步骤11;否则,令δ←δ/λ*,t←t+1;
步骤17.若t>Tmax或||Δmt||

说明书全文

基于自适应步长和Levenberg-Marquardt优化的视频弹性运

动估计方法

技术领域

[0001] 本发明涉及视频编码压缩领域,尤其是一种运算速度快、运动补偿质量高、搜索空间广、自适应能强、基于自适应步长和Levenberg-Marquardt优化的弹性运动估计方法。

背景技术

[0002] 自第一代视频编码标准发展至今,虽然压缩效率不断提高,可是视频编码技术的基本框架至今未发生本质改变,始终是以分为单位的差分预测+变换的闭环混合结构。在这个框架下,运动估计是一种有效的时间维差分预测技术,被广泛应用于H.261/2/3、MPEG-1/2/4、H.264/AVC和AVS等视频编码标准中,而且多年来视频编码效率的大部分提升均是由于其采用了更为优秀的运动估计算法。然而,运动估计环节所消耗的计算资源往往占编码器全部资源的50%以上,甚至可达80%。因此,运动估计算法的效率是影响视频编码性能的关键技术之一。
[0003] 虽然平移运动模型在视频编码标准中获得了广泛应用,有助于降低运动估计/补偿的计算复杂度,但是平移模型无法有效预测由物体的旋转、缩放、变形和摄像机运动产生的非刚性复合运动。于是,2010年以来有研究人员提出了一种弹性运动估计模型(Elastic Motion Estimation Model),它可有效克服块平移模型的不足,最初主要广泛用于医学图像配准、物体追踪、图像稳定和运动分析等领域。
[0004] 目前,关于视频弹性运动估计的研究和技术改进主要集中在以下两个方面:
[0005] 首先,弹性运动模型与视频编码标准的结合方式。Muhit等人将弹性运动估计引进H.264,依据图像的几何特征,采用不同斜率的线段划分待预测块,获得其三形或四边形网格表示,从而使弹性模型能更准确地描述复杂形状的运动区域、更好地适应多样的局部运动。Ahmmed等人将弹性运动估计作为HEVC的一种可选模式,通过已解码计算弹性运动场,再利用该运动场重建弹性变形后的参考帧,进而根据率失真准则在平移模型和弹性模型之间进行自适应地选择。但是,上述两项技术均简单地使用传统的Guass-Newton法求解弹性运动向量,既未能避免弹性运动估计的高计算量,又无法避免搜索陷入局部最优,这会从根本上影响弹性运动估计的有效性和实用性。
[0006] 其次,弹性运动向量的优化求解。Haque等人提出了基于1bit深度像素的Guass-Newton迭代法,并进一步将其推广到了2bit深度像素的情况下。尽管这两种算法通过避免黑塞矩阵及其逆矩阵的计算、固定迭代步长的方式实现了较快的运动估计速度,可是由于只采用了2个梯度下降方向,并且低位深像素的梯度往往不同于8bit深度像素,其预测质量与基于8bit深度像素的弹性运动估计尚存在较大差距。Song等人则通过大量实验发现,弹性运动模型的Guass-Newton解法对初始迭代点和迭代步长较为敏感,即固定的初始迭代点和迭代步长无法求解出全局最优解,进而采用2bit深度像素和均匀搜索模板将初始迭代点置于全局最优解的单调区间内,再利用离散余弦变换的低频能量比率和黄金分割法调整迭代步长使之适应目标函数的线性程度,明显提升了弹性运动估计的计算效率和补偿质量。然而,作为一类Newton型优化求解方法,上述技术在本质上仍不可避免Newton型方法存在的不足,也就是说,目标函数偏离线性的程度越大,初始迭代点距离全局最优点越远,Guass-Newton法的收敛速度就越慢,甚至出现远离最优点或不收敛的现象。事实上,视频数据以及运动补偿误差的复杂性,匹配误差曲面往往不会呈现我们期望的理想线性。

发明内容

[0007] 本发明是为了解决现有技术所存在的上述技术问题,提供一种运算速度快、运动补偿质量高、搜索空间广、自适应能力强、基于自适应步长和Levenberg-Marquardt优化的弹性运动估计方法。
[0008] 本发明的技术解决方案是:一种基于自适应步长和Levenberg-Marquardt优化的视频弹性运动估计方法,其特征在于按照如下步骤进行:
[0009] 步骤1.输入最大迭代次数Tmax和最小增量阈值Tm,并令λmin←2,λmax←10,δ←1,λ*←λmin,所述λmin表示自适应步长的下界,λmax表示自适应步长的上界,δ表示Levenberg-Marquardt对角矩阵的加权系数,λ*表示自适应步长;
[0010] 步骤2.若当前图像组(Group of Pictures,GOP)的所有宏块都已处理完毕,则算法结束;否则,从当前图像组中选取一个未处理过的、大小为M×N像素的宏块作为当前宏块I,并令xi、yi分别表示当前宏块中某个像素的横、纵坐标且0≤xi≤M-1,0≤yi≤N-1,其像素值为I(xi,yi);
[0011] 步骤2.1根据公式⑴的定义,初始化当前宏块的弹性运动模型:
[0012]
[0013] 所述m表示坐标(xi,yi)处的弹性运动向量,p表示预设的运动向量的分量个数,mk表示m的第k个分量, 表示弹性运动的基函数,其定义由公式⑵给出:
[0014]
[0015] 且k=su+v+1,u,v=0,1,…,s-1,
[0016] 步骤2.2将弹性运动向量m的所有分量mk置0,所述1≤k≤p;
[0017] 步骤2.3利用整像素精度的菱形搜索方法,计算当前宏块的平移运动向量m1和2 2 2
mp/2+1,并计算该运动向量的模长的平方||Δm0||=(m1) +(mp/2+1) ;
[0018] 步骤2.4令迭代计数器t←1;
[0019] 步骤3.对于当前宏块中的每个像素(xi,yi),根据弹性运动向量m、公式⑴和公式⑵,在参考帧R中计算与其相匹配的像素坐标g(xi,yi;m),并利用双线性插值方法,计算该匹配像素的值R(g(xi,yi;m)),再将所有匹配像素组成一个与当前宏块相匹配的参考宏块,所述R(·)表示参考帧中位于坐标“·”处的像素值;
[0020] 步骤4.根据公式⑶的定义,计算弹性运动向量m所对应的初始运动补偿误差e0:
[0021]
[0022] 步骤5.采用前向差分法,计算参考宏块的像素梯度 其中,和 分别表示参考宏块沿着平方向、竖直方向的偏导数;
[0023] 步骤6.计算雅克比矩阵 其中 所述 分别表示 的第k个分量和第(p/2+k)个分量;
[0024] 步骤7.计算最速下降方向 其中 所述 表示 的第k个分量;
[0025] 步骤8.计算Guass-Newton黑塞矩阵H,其中a,b∈[1,p],所述T表示向量转置,Ha,b表示矩阵H中第a行、第b列的元素, 表示的第a个分量, 表示 的第b个分量;
[0026] 步骤9.计算方向向量b,其中所述bk表示b的第k个分量;
[0027] 步骤10.若t>1,则转入步骤11;否则,计算自适应步长的上界λmax;
[0028] 步骤10.1保留Guass-Newton黑塞矩阵H的对角线元素,而将其余元素清零,得到一个对角矩阵H′,并根据公式⑷的定义,计算其对角元素的绝对值之和S:
[0029]
[0030] 所述H′i,i表示对角矩阵H′中第i行、第i列的元素;
[0031] 步骤10.2计算对角矩阵H′的逆矩阵(H′)-1;
[0032] 步骤10.3计算对角矩阵所产生的弹性运动向量的增量Δm=(H′)-1b及其模长的平方||Δm||2;
[0033] 步骤10.4令m′←m+Δm,并将m′代入公式⑴和公式⑵,计算在参考帧中,与当前宏块的每个像素(xi,yi)相匹配的像素坐标,并利用双线性插值方法,计算每个匹配像素的值R(g(xi,yi;m′));
[0034] 步骤10.5根据公式⑸的定义,计算弹性运动向量m′的运动补偿误差e;
[0035]
[0036] 步骤10.6根据公式⑹的定义,计算Levenberg-Marquardt对角矩阵的加权系数的上界δmax:
[0037]
[0038] 步骤10.7根据公式⑺的定义,计算自适应步长的上界λmax:
[0039]
[0040] 步骤11.根据公式⑻的定义,计算Levenberg-Marquardt黑塞矩阵HLM:
[0041]
[0042] 步骤12.根据公式⑼的定义,计算第t次迭代后的弹性运动向量的增量Δmt:
[0043]
[0044] 所述 表示HLM的逆矩阵;
[0045] 步骤13.根据公式⑽的定义,更新弹性运动向量m,并将其代入公式⑴和公式⑵,进而计算在参考帧中,与当前宏块的每个像素(xi,yi)相匹配的像素坐标,再利用双线性插值方法,计算每个匹配像素的值R(g(xi,yi;m));
[0046] m←m+Δmt   ⑽
[0047] 步骤14.根据公式⑾的定义,计算第t次迭代后的运动补偿误差et;
[0048]
[0049] 步骤15.根据公式⑿的定义,更新自适应步长λ*:
[0050]
[0051] 所述||Δmt||和||Δmt-1||分别表示第t次迭代和第(t-1)次迭代后,弹性运动向量的增量的模长;
[0052] 步骤16.若et>et-1,则令δ←-δ×λ*,并转入步骤11;否则,令δ←δ/λ*,t←t+1;
[0053] 步骤17.若t>Tmax或||Δmt||
[0054] 与现有技术相比,本发明的技术特点在于:第一,采用Levenberg-Marquardt优化方法替代Guass-Newton法来求解弹性运动估计模型,能够避免Guass-Newton黑塞矩阵出现负定或者病态的现象及其所导致的求解过程不收敛的问题,从而有利于保证迭代优化沿着正确的梯度下降方向进行;第二,为Levenberg-Marquardt对角矩阵引进了一个自适应加权系数,使得Levenberg-Marquardt优化方法在初始迭代点距离局部极小点较近时,能够表现出类似于Newton法和Guass-Newton法的快速收敛速度,而当初始迭代点距离局部极小点较远时,又能表现出近似于最速下降法和对角线法的优良收敛效率;第三,为自适应加权系数设计了一种基于上、下界的正负交替更新策略,在保证黑塞矩阵正定的前提下,可有效扩大传统Levenberg-Marquardt优化方法的参数搜索空间,进而有利于获得更加准确的弹性运动向量,更有效地逼近全局最优点;第四,自适应加权系数使Levenberg-Marquardt优化方法能够根据运动补偿误差曲面的情况,自适应地计算出恰当的迭代步长,一般只需1~2次迭代就能取得高于块平移全搜索和基于Guass-Newton法的传统弹性运动估计的峰值信噪比。因此,本发明具有运算速度快、运动补偿质量高、搜索空间广、自适应能力强等优点。

具体实施方式

[0055] 一种供基于自适应步长和Levenberg-Marquardt优化的视频弹性运动估计方法,其特征在于按照如下步骤进行:
[0056] 步骤1.输入最大迭代次数Tmax和最小增量阈值Tm,并令λmin←2,λmax←10,δ←1,λ*←λmin,所述λmin表示自适应步长的下界,λmax表示自适应步长的上界,δ表示Levenberg-Marquardt对角矩阵的加权系数,λ*表示自适应步长,本实施例中,令Tmax=15,Tm=0.0001;
[0057] 步骤2.若当前图像组(Group of Pictures,GOP)的所有宏块都已处理完毕,则算法结束;否则,从当前图像组中选取一个未处理过的、大小为M×N像素的宏块作为当前宏块I,并令xi、yi分别表示当前宏块中某个像素的横、纵坐标且0≤xi≤M-1,0≤yi≤N-1,其像素值为I(xi,yi);
[0058] 步骤2.1根据公式⑴的定义,初始化当前宏块的弹性运动模型:
[0059]
[0060] 所述m表示坐标(xi,yi)处的弹性运动向量,p表示预设的运动向量的分量个数,mk表示m的第k个分量, 表示弹性运动的基函数,其定义由公式⑵给出:
[0061]
[0062] 且k=su+v+1,u,v=0,1,…,s-1, 本实施例中,令p=8;
[0063] 步骤2.2将弹性运动向量m的所有分量mk置0,所述1≤k≤p;
[0064] 步骤2.3利用整像素精度的菱形搜索方法,计算当前宏块的平移运动向量m1和mp/2+1,并计算该运动向量的模长的平方||Δm0||2=(m1)2+(mp/2+1)2;
[0065] 步骤2.4令迭代计数器t←1;
[0066] 步骤3.对于当前宏块中的每个像素(xi,yi),根据弹性运动向量m、公式⑴和公式⑵,在参考帧R中计算与其相匹配的像素坐标g(xi,yi;m),并利用双线性插值方法,计算该匹配像素的值R(g(xi,yi;m)),再将所有匹配像素组成一个与当前宏块相匹配的参考宏块,所述R(·)表示参考帧中位于坐标“·”处的像素值;
[0067] 步骤4.根据公式⑶的定义,计算弹性运动向量m所对应的初始运动补偿误差e0:
[0068]
[0069] 步骤5.采用前向差分法,计算参考宏块的像素梯度 其中,和 分别表示参考宏块沿着水平方向、竖直方向的偏导数;
[0070] 步骤6.计算雅克比矩阵 其中 所述 分别表示 的第k个分量和第(p/2+k)个分量;
[0071] 步骤7.计算最速下降方向 其中 所述 表示 的第k个分量;
[0072] 步骤8.计算Guass-Newton黑塞矩阵H,其中a,b∈[1,p],所述T表示向量转置,Ha,b表示矩阵H中第a行、第b列的元素, 表示的第a个分量, 表示 的第b个分量;
[0073] 步骤9.计算方向向量b,其中所述bk表示b的第k个分量;
[0074] 步骤10.若t>1,则转入步骤11;否则,计算自适应步长的上界λmax;
[0075] 步骤10.1保留Guass-Newton黑塞矩阵H的对角线元素,而将其余元素清零,得到一个对角矩阵H′,并根据公式⑷的定义,计算其对角元素的绝对值之和S:
[0076]
[0077] 所述H′i,i表示对角矩阵H′中第i行、第i列的元素;
[0078] 步骤10.2计算对角矩阵H′的逆矩阵(H′)-1;
[0079] 步骤10.3计算对角矩阵所产生的弹性运动向量的增量Δm=(H′)-1b及其模长的平方||Δm||2;
[0080] 步骤10.4令m′←m+Δm,并将m′代入公式⑴和公式⑵,计算在参考帧中,与当前宏块的每个像素(xi,yi)相匹配的像素坐标,并利用双线性插值方法,计算每个匹配像素的值R(g(xi,yi;m′));
[0081] 步骤10.5根据公式⑸的定义,计算弹性运动向量m′的运动补偿误差e;
[0082]
[0083] 步骤10.6根据公式⑹的定义,计算Levenberg-Marquardt对角矩阵的加权系数的上界δmax:
[0084]
[0085] 步骤10.7根据公式⑺的定义,计算自适应步长的上界λmax:
[0086]
[0087] 步骤11.根据公式⑻的定义,计算Levenberg-Marquardt黑塞矩阵HLM:
[0088]
[0089] 步骤12.根据公式⑼的定义,计算第t次迭代后的弹性运动向量的增量Δmt:
[0090]
[0091] 所述 表示HLM的逆矩阵;
[0092] 步骤13.根据公式⑽的定义,更新弹性运动向量m,并将其代入公式⑴和公式⑵,进而计算在参考帧中,与当前宏块的每个像素(xi,yi)相匹配的像素坐标,再利用双线性插值方法,计算每个匹配像素的值R(g(xi,yi;m));
[0093] m←m+Δmt   ⑽
[0094] 步骤14.根据公式⑾的定义,计算第t次迭代后的运动补偿误差et;
[0095]
[0096] 步骤15.根据公式⑿的定义,更新自适应步长λ*:
[0097]
[0098] 所述||Δmt||和||Δmt-1||分别表示第t次迭代和第(t-1)次迭代后,弹性运动向量的增量的模长;
[0099] 步骤16.若et>et-1,则令δ←-δ×λ*,并转入步骤11;否则,令δ←δ/λ*,t←t+1;
[0100] 步骤17.若t>Tmax或||Δmt||
[0101] 不同视频测试序列采用本发明实施例、基于块平移模型的全搜索、基于改进Guass-Newton法的弹性运动估计方法得到的平均运动补偿峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)结果如表1。
[0102] 表1不同运动估计方法的运动补偿PSNR比较
[0103]
[0104] 从表1可见,对于具有不同空间分辨率、不同纹理复杂度和不同运动量的各个视频序列,本发明的运动补偿质量均优于高于基于块平移模型的全搜索和基于改进Guass-Newton法的弹性运动估计,其平均峰值信噪比分别比二者提高了2.74dB、1.70dB。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈