级联相机运动估计、滚动快门检测和用于视频稳定性的相机抖动检测的制作方法_5

文档序号:9333044阅读:来源:国知局
。这会隔离一帧,或分散在若干相邻帧上。第 五,通过小的负权重,将剪辑的、的缩放增加到如在方程(14)中所述的目标上,有效地将 逆弹力施加在剪辑窗上来使结果偏向较小剪辑。
[0140] 在一个实施例中,在时间(例如,6秒时间)视频的片段(或部分)上确定剪辑变 换匕。可以对单个片段设置另外的约束,但不一定可应用于另外的片段。首先,剪辑窗偏向 对齐的轴和以片段的第一帧为中心的帧(例如,零变换、缩放1以及零旋转)。这约束用于 片段的剪辑的初始定向。其次,如果片段的第一帧的平移模型被认为无效,将身份模型嵌入 相似性模型中,并且剪辑变换以片段的第一帧为中心。第三,如果片段的第一帧的相似性模 型被认为无效,将身份模型嵌入相似性中并且将那一片段的帧上的旋转变化和剪辑的缩放 设定为零(例如仅允许平移D0F)。
[0141] II.D稳定视频生成
[0142] 稳定视频生成模块340被配置成使用有效运动模型Ft(k)集合和来自每一帧对的 剪辑变换Bt,生成稳定视频,并且是用于执行该功能的一种装置。在一个实施例中,为生成 稳定视频304,稳定视频模块340生成来自原始输入视频302的每一输入帧^的稳定帧Jt。 在一个实施例中,稳定视频模块340根据下述方程通过根据剪辑Bt,重新采样原始帧It,并 且通过校正重新采样来补偿任何剩余运动,生成每一稳定视频帧Jt:
[0143]
[0144] 其中,x是帧的像素的笛卡尔坐标轴,其中,Rt表示剩余运动:
[0145]
[0146]并且其中,Ht=Ft(w,并且其中,k*等于2或3,只要是用于那一帧的最高D0F有 效估计运动模型。
[0147] 根据Bt的重新采样It校正相机运动具有相似性(例如,D0F= 4)或更低(例如, 平移)D0F。然而,该重新采样不考虑较高D0F相机运动,诸如由单应和单应混合模型捕捉的 那些相机运动。如果不执行进一步校正,这些较高D0F运动将看起来像最终稳定帧中的高 频剩余晃动失真。另外的项氏和Rt在逐帧基础上对这些较高D0F运动做了应对。它们影 响输出帧Jt,其中存在已被确定为对那一帧有效的单应和/或单应混合模型。
[0148] 实际上,为了解包括剩余Rt的等式(17),将等式(17)递归地展开为:
[0149]
[0150] 直到一些较早时间/帧p为止。固定时间t=p和t=n的两个关键帧。使用简 单重新采样,即,Jt(x) =It(Btx)使得tc丨p,n}d对中间帧t:p〈t〈n,使用方程(19)来递归地 计算从P到t的重新采样位置yt(p)和使用从n至t的向后链的重新采样位置yt(n)。然后, 线性地混合(或内插)这两个重新采样位置来确定Jt(x)的最终值,使得:
[0151]
[0152] 更一般地说,稳定视频模块340通过将剪辑匕和估计的有效运动模型F,直接应用 于每一帧It的像素,生成帧Jt。估计运动模型指定来自每一帧的每一像素在稳定后将出现 的位置,如果真有的话,由该剪辑指定。对所有可用帧可以完成该处理来生成稳定视频304。
[0153] II.E.相机抖动检测
[0154] II.E.i概述
[0155] 抖动检测模块360被配置成分析视频来确定视频302是否将受益于稳定,因为并 非所有视频均将受益。确定视频是否将受益于稳定的过程称为相机抖动检测,或简称抖动 检测。抖动检测模块360被配置成通过生成多个抖动特征,量化视频中的抖动量。该抖动 特征用于确定是否稳定视频302。
[0156] 可以自动地或经所接收的请求执行抖动检测。响应于执行抖动检测,获得有关该 视频是否具有相对于阈值的足够抖动以值得稳定的结论。可以在达到该阈值时,自动地执 行稳定,或另外,可以基于抖动检测模块360的结论,通过执行稳定的选项,提示输入视频 302的用户。
[0157] 用于确定视频将受益于稳定的阈值可以在实现方式之间改变。对具有非常小相机 运动(或抖动)的视频,稳定实际上使视频比不执行稳定更糟(例如,观众更难以观看)。 可以设定阈值,使得仅当改进该视频时执行稳定。执行稳定涉及的处理成本也是一个因素。 还可以设定阈值,使得仅当足够地改进视频来证明处理成本合理时才执行稳定。由此,用于 确定是否应用稳定的阈值可以在实现方式之间改变。
[0158]II.E.ii生成抖动特征
[0159]如上所述,为确定是否对视频应用稳定,抖动检测模块360被配置成通过生成多 个抖动特征,量化存在于视频中的抖动。为生成抖动特征,抖动检测模块360基于用于视频 帧的所估计的相似性模型Ct (见方程12),生成视频302的多个频谱图S。
[0160] 每一频谱图S描述多个相邻帧上的相似性模型的单一D0F的值的频率(或能量) 分量。由此,每一频谱图表示沿x坐标轴的平移^的DOFdfty轴的平移t¥的D0F、缩放变 化的D0F或旋转变化的D0F。如上所述,用于帧的每一D0F的值由运动模型中的参数表示, 由此,每一相似性D0F的值是用于那一帧的所估计的相似性运动模型Ft(1)中的对应的参数 的值。
[0161] 每一频谱图S还覆盖帧的有限时间窗(例如128帧,或约5秒视频)。频谱图还部 分地在时间上相互重叠,使得两个频谱图可以共享帧。例如,第一频谱图可以基于帧0-128, 第二频谱图可以基于帧64-196,以及第三频谱图可以基于帧128-256。
[0162] 在使用窗口的帧上的D0F值和使用傅立叶变换,诸如离散余弦变换(DCT)-II算 法,生成用于每一帧k的频谱图Sk的一部分的频率坐标系中,生成频谱图S:
[0163]
[0164] 对每一频谱图使用128帧的实现方式,其中,dn表示对窗口的帧的D0F值的特定频 率/能量的作用量。频谱图&的单个部分能存储在数据存储350中,作为包括128个仓的 直方图,每一仓表示特定频率/能量范围。每一仓具有dn的高度,表示对窗口的帧的D0F值 的仓的作用。由此,在Sk*,相对高仓指示那一仓的频率/能量范围与另一相对较短仓相 比,更强烈地作用于窗口中的D0F的值。通常,较高频率/能量的较高直方图仓表示更强烈 的相机运动,诸如相机的快速抖动。因此,较低频率/能量的较高直方图仓表示较慢相机运 动。直方图S将时间窗的帧的D0F值汇总成具有多个仓的直方图,其中,每一仓表不对窗口 中的帧的D0F值的不同频率(或能量)范围的作用。
[0165] 可以压缩频谱图来帮助节省存储空间。在一个实施例中,使用缩放2压缩,因为通 常期望发现大多数视频302频谱图中的大部分能量处于较低能量。缩放2以间隔[2n,2n+1] 汇总所有频率,导致用于频谱图的总共8个仓(2 S= 128)而不是上述示例的128仓。由此, 在执行压缩中,将相似能量范围的作用九汇总在一起。使用上述示例,在压缩后,不是128 个九值,而是,频谱图S^勺每一部分具有8个d"值,一个用于每一能量仓。
[0166] 图9是根据一个实施例,用于多个时间窗和相似性模型的不同自由度的多个频谱 图的图示。图9A图示第一、长度为短长度视频12窗口的频谱图,以及图9B图示第二、长度 为较长长度视频40窗口的频谱图。对用于每一视频的相似性模型的每一个D0F,图示单独 的图。图9的示例图假定每个频谱图128帧,缩放2压缩,并且由此每个频谱图8个能量 仓,并且在每一频谱图的帧中,约50%窗口重叠。每一图的y轴图示8个能量仓,仓数目相 对于能量而增加。每一图的x轴按窗口图示视频的频谱图。图的每一像素的颜色表示帧的 每一窗口内的特定频率范围内的能量量(即运动)。
[0167] 比较图9A和9B的频谱图,较短视频在较高能量处具有D0F的非常小的抖动,而较 长视频在较高能量处具有显著抖动量。由此,可以推断相对于较短视频,较长视频将更大地 受益于稳定。
[0168] 可以使用若干不同方法的任何一个,包括例如基于所有窗上的频谱图直方图仓高 度的平均值、中值和/或最大值和基于根据百分位聚组频谱图的能量的单独的直方图,由 频谱图生成抖动特征。现在依次描述这些方法的每一个。
[0169] 可以通过采用视频的窗口上的每一仓的平均值、最大值和中值频谱图高度的一个 或多个,由频谱图生成一个或多个抖动特征集合。如上所述,频谱图的仓的高度表示在逐窗 的基础上,特定范围的能量/频率对窗口的D0F值的作用。由此,所有窗的平均值表示在视 频的窗口上,按窗口,那一仓的频率/能量作为整体对视频的平均作用。类似地,所有窗口 上的最大值表示在视频的窗口上,按窗口,那一仓的频率/能量作为整体对视频的最大作 用,以及所有窗口上的中值表示在视频的窗口上,按窗口,那一仓的频率/能量作为整体对 视频的中值作用。使用上述示例条件,如果每D0F,存在8个能量仓,并且假定在相似性模型 中存在4个D0F,因此,抖动检测模块360为视频生成32个平均值抖动特征、32个最大值抖 动特征和32个中值抖动特征。注意,所生成的抖动特征的数目与视频的长度(例如窗口数 目)无关。
[0170] 可以通过产生频谱图域的直方图的单独集合,由频谱图生成另一抖动特征集合, 一个域直方图用于每一D0F的每一能量仓,并且由此使用上述示例性条件,总共32个域直 方图(例如,8个能量仓乘以4个D0F)。每一域直方图具有多个仓(称为域仓来避免与下 面的频谱图的能量仓混淆)。每一域仓具有其自己的抖动特征。继续上述示例,如果每一域 直方图具有10个域仓,那么由该技术生成的抖动特征总共达320个。
[0171] 域直方图将频谱图的单个能量仓(例如0-7中的一个)的单个窗口的高度/作用 dn聚组成相对于所有窗口的频谱图的所有能量仓的作用的百分位范围。例如,在[0,1]的 缩放上,归一化域直方图,其中,0表示为0的作用值dn,或者直方图中的最小作用量<_, 以及1表示频谱图中的最高作用量dni_。
[0172] 每一域仓覆盖作用值的限定的百分比范围。每一域仓的高度是具有在那一百分位 范围内的作用值九的能量仓中的窗口的数目。例如,如果10个域仓的每一个覆盖10%范 围,第一域仓的高度指示具有在频谱图中的任一仓的最大作用的作用的〇至10%之间的作 用值九的能量仓(例如,仓0-7中的频谱图仓0)的窗口的数目。第二域仓的高度指示具 有频谱图中的任一仓的最大作用的作用的11-20%之间的作用值dn的相同能量仓(例如还 是频谱图仓〇)的窗口的数目。
[0173] 域仓的高度可以由视频中的窗口总数归一化,使得域仓相对于视频的长度不变。 尽管各种长度的视频具有不同窗口数目,这允许比较来自视频的域仓抖动特征。
[0174] II.E.ii确定是否稳定视频
[0175] 分析抖动特征来确定是否将稳定应用于视频。在一种实现方式中,抖动检测模块 360使用机器学习算法来训练抖动分类器来确定是否应用稳定。为训练抖动分类器,抖动检 测模块360使用来自已知视频的抖动特征和这些已知视频是否将稳定的确定作为训练输 入。通过以有关这些已知视频将被稳定或不被稳定的判定来训练分类器,训练该抖动分类 器来了解是否应当稳定稍后接收的视频302。
[0176] 用来训练抖动分类器的抖动特征在实现方式之间可以改变。在一个实施例中,使 用32个平均值抖动特征、32个最大值抖动特征和320个域抖动特征来训练分类器。在其他 实施例中,平均值、最大值、中值和域抖动特征的任意组合可以用来训练分类器。在其他实 施例中,也
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1