内容感知的视频稳定的制作方法

文档序号:7717007阅读:158来源:国知局
专利名称:内容感知的视频稳定的制作方法
技术领域
本申请涉及视频处理领域,以及更特别地,涉及稳定视频。
背景技术
当摄影机用户使用不像专业电影制作公司使用的设备那么复杂的设备捕捉视频 序列时,所获得的视频序列通常包括一定量的“抖动”,这种“抖动”是由所不希望的摄影机 运动造成。例如,用户的手臂运动或者走动,用户所乘坐的交通工具的振动,或者安装摄影 机的装置的振动或不完美运动,都是摄影机的不希望运动的可能来源。摄影机在三维(3D) 空间中的运动也能够成为不希望的摄影机运动的来源,例如,由于用户行走在不完美的路 线上,或者正在乘坐不是直线移动的交通工具。一些摄影机具有内置特征,其用于尝试在捕捉视频时对不稳定的摄影机运动进行 补偿。一般地,这些摄影机尝试识别视频帧中的多个点,并且逐帧跟踪这些点。摄影机使运 动模型与这些点拟合,并且基于该运动模型对视频施加仿射弯曲(affine warp)。摄影机还 经常对视频施加低通滤波以便尝试平滑该结果。当能够通过这样的技术来控制摄影机运动 时,所得视频仍然包括明显不希望的摄影机运动。另外,仿射弯曲不遵守帧的内容,常常引 起图像中的失真,并且特别是在视频中的大部分可视感兴趣对象中引起失真。Buehler 等 人 的 “Non-Metric Image-Based Rendering for VideoStabilization”提出了用于视频稳定的机制,其包括将来自视频的多个帧进行混合 以生成输出帧。Buehler机制对于静态场景效果显著,但是由于混合了多个帧,导致在场景 中包括动态运动的视频出现重影和模糊。

发明内容
在一个实施例中,一种方法包括接收源视频序列;确定对于将要被稳定的源视 频序列的稳定摄影机路径;以及生成稳定的视频序列,其中稳定的视频序列中的每个帧由 输入序列的相应帧的内容感知弯曲来生成。在一个实施例中,一种方法包括接收源视频序列;生成来自于源视频序列的原始 摄像机路径的度量重构;确定对于将要被稳定的源视频序列的稳定摄像机路径;以及生成 稳定的视频序列,其中在稳定的视频中的每个给定时间点处的帧仅从在源视频序列中该给 定时间点处的相应帧导出。


图1示出用于视频序列的示例性实际摄像机路径以及示例性稳定的摄像机路径。
图2是图1的扩展视图,示出来自实际摄像机路径的帧和来自实际帧的在稳定的 摄像机路径上的稳定帧的生成。图3是示出一个视频稳定实施例的流程图。图4是示出来自图3的块的一个更详细的实施例的流程图。图5是为原始图像定义的网格(mesh)的示例。图6是用于相应的稳定图像的弯曲的网格的示例。图7是来自示例源视频的示例图像。图8是与图6所示网格一起弯曲的图像的示例。图9是不具有显著性(salience)加权弯曲的图像的示例。图10是具有显著性加权弯曲的图像的示例。图11示出在一个实施例中使用的各种等式。图12示出可以用于实施例的示例性计算机系统。尽管在此本申请以多个实施例以及示意性附图示例的方式描述,但是本领域技术 人员应该认识到,本发明不限于所描述的实施例或附图。应该理解,在此描述的附图和对 其进行的详细描述并非意图将本发明限制在所公开的特定形式,而是与此相反,其目的在 于覆盖落在本发明精神与范围内的所有修改、等价物以及备选。在此使用的标题仅用于组 织目的,而并非意图限制说明书的范围。贯穿本申请所使用的词语“可以”表示许可的意思 (即,意味着具有潜在可能性),而不是强制的意思(即,意味着必须)。类似地,词语“包 括”、“包含”意味着包含,但并非限制。
具体实施例方式在以下详细描述中,阐明大量特定细节以提供对所要求主题的全面理解。然而, 本领域技术人员应该理解,在不具有特定细节的情况下可以实现所要求的主题。在其他实 例中,并没有详细描述本领域技术人员已知的方法、装置或者系统,以便不混淆所要求的主 题。以下细节描述的一些部分以算法形式或者特定装置或专用计算设备或平台中的存储器 内存储的二进制数字信号的操作的符号表示来呈现。在该特定说明书的背景下,形式特定 的装置等包括通用计算机,一旦其被编程,则其依照来自程序软件中的指令执行特定功能。 算法描述或者符号表示是信号处理或者相关技术领域或者相关领域的普通技术人员所使 用技术的示例,以便将他们工作的内容传播到本领域的其他技术人员。一般认为算法是得 到期望结果的自相容操作或者类似信号处理的序列。在该背景下,操作或处理包括物理量 的物理处理。一般地,尽管不是必须,这些物理量可以采用可存储、可转换、可组合、可比较 或者其他处理的电或者磁信号的形式。有时是出于方便使用,主要出于一般应用的原因,将 其称为诸如位、数字、值、元素、符号、字符、项、号码、数字等。然而,应该理解的是,所有这些 术语或者类似术语与适当的物理量相关,并且仅仅是方便的标签。除非特别声明,从以下讨 论中显而易见的是,应该注意贯穿于本说明书讨论中所用的术语诸如“处理”、“计算”、“求 解”、“确定”等等表示特定装置的动作或过程,诸如专用计算机或者类似的专用电子计算设 备。因此,在本说明书背景下,专用计算机或类似的专用电子计算设备能够处理或转换信 号,一般地表示为存储器、寄存器、其他信息存储设备、传输设备或者专用计算机或类似专 用电子计算设备的显示装置的物理电量或磁量。
描述了用于执行视频稳定的方法和装置的各种实施例。特定地,实施例可以以内 容感知方式执行视频稳定。实际摄像机获得的输入视频可以包括不希望的摄像机抖动,例 如,由于用户手臂移动或者走动、用户乘坐的交通工具的振动,或者摄像机所安装的装置的 振动或不完美的移动。输入视频中不希望的移动还可以是由于在三维(3D)空间中的不完 美的摄像机路径捕获视频而造成,例如,由于用户沿不完美的线路行走,或者乘坐非直线行 进的交通工具。还可以存在不完美的摄像机运动的其他来源。在此可以认为实际摄像机获 得的输入视频是源视频。为了校正摄像机运动不规则性的影响,视频稳定处理可以对源视频来执行。视频 稳定处理可以尝试在3D空间中创建稳定摄像机路径。稳定路径可以使稳定的视频看起来 具有更“专业”的摄像机运动,其通常需要特殊的摄像机安装设备或者其他设计用于提供平 滑摄像机运动的装置。在此,将视频稳定处理的输出视频称作“稳定视频”。在一个实施例中,稳定视频中的每个帧可以严格地从源视频中的一个帧导出。具 体地,稳定视频中的时间“t”的稳定帧从源视频中时间“t”的源帧导出。由此,在一个实施 例中,稳定视频可以主要包括任何数量的未出现重影或者模糊效果的动态内容。可以通过 将时间“t”的场景投影到稳定摄像机中而执行源帧的内容感知弯曲,其基于相同时间“t” 的场景投影到源摄像机的投影。弯曲是内容感知的,其尝试保存场景中对象的尽可能多的 原始特性,该对象对于观看者而言很可能是显而易见的。测量帧图像中每个点的“显著性” 的各种方法可以用于确定应当尽可能多地保留的点。也即,具有高显著性的点可能承载了 对观看者而言更多的信息、或者对观看者而言比具有低显著性的点更易见的信息。一般地,视频(或者视频序列)可以包括彼此具有时间关系的帧序列。每个帧包 括在与其他帧相关的在特定时间拍摄的3D场景图像。当按时间顺序观看时,视频序列描述 了从相应于第一帧的时间、到相应于第n+1帧的时间tn的活动场景。如果实时观看(例 如,在每个帧相应的相对时间显示它,以每秒例如30帧或更高的速度),则视频示出了如下 场景,该场景是在场景中真实存在的人从与源摄像机具有相同方向并沿相同路径观看到的 场景。现在转向图1,所示框图示出示例性实际摄像机路径10和相应的拟合于实际摄像 机路径10的稳定路径12。实际摄像机路径10以实线显示,而稳定路径12以虚线显示。如 同在图1中所看到的,实际摄像机路径10可以包括各种不希望的移动,相对于较平滑的稳 定路径12,该实际摄像机路径10可能导致由实际摄像机所拍摄的真实视频序列表现出不 希望的不稳定。注意实际摄像机路径10和稳定路径12可以是3D空间中的路径。在一些 实施例中,路径10和12还可以包括除沿路径的摄像机3D平移外的摄像机的其他运动(例 如,摄像机的朝向或旋转)。稳定路径12可以是3D空间中最佳拟合于实际摄像机路径10的具有期望的方程 的路径。在图1中,3D空间中的线拟合于真实摄像机路径。稳定路径12可以是满足期望的 方程并表现出与实际摄像机路径10具有最小方差的路径。当在该示例中示出线时,其他示 例可以使用曲线作为稳定路径12。例如,可以用二次方程定义稳定路径12。可以用任何期 望的方程定义拟合于实际摄像机路径10的稳定路径12。图2是示出实际摄像机路径10和稳定路径12的视图,其从图1视图中扩展出以 夸张路径之间的差别从而示出沿路径的帧。在沿获得帧的路径12的点上示出源视频的帧(例如,图2中源帧14A、14B等至14N)。基于帧率(例如,每秒30帧或更多)以及实际摄 像机路径12所经过的时间长度,源视频中可以包括任何数量的帧。沿稳定路径12示出稳 定视频中的相应稳定帧(例如,图2中帧16A、16B等至16N)。如来自每个源帧14A-14N以 及相应稳定帧16A-16N的水平箭头所示,每个稳定帧可以从在源视频中与稳定视频中的稳 定帧具有相同时间点的源帧导出。由于稳定路径拟合于实际摄像机路径,源帧和稳定帧之 间的空间差异对于大多数帧来说是小的。由此,对于大多数帧,生成稳定帧的源帧中的改变 的数量相对较小。通过进行内容感知形式的源帧的改变(或“弯曲”),除了稳定视频可以 展示较为平缓的摄像机运动外,改变对于观看者而言可能更不易见。接下来转向图3,示出了显示视频稳定方法/过程的一个实施例的流程图。在一些 实施例中,视频稳定过程的一部分或者全部可以由在一个或多个计算机上执行的指令来实 现。因此,图3中的一个或多个框可以由在一个或多个计算机上执行的指令来实现。视频稳定处理可以包括确定捕捉源视频的源摄像机的度量重构(框20)。也就是 说,基于源视频中的图像,源摄像机的参数可以被重建。摄像机的参数可以包括在捕捉每个 图像时的摄像机在3D空间中所处位置(从中可以推断实际摄像机路径10,摄像机的帧率的 粒度)。度量重构还可以包括其他摄像机参数,诸如摄像机的朝向、其旋转、焦距等等。与非 度量重构相反,度量重构中的摄像机参数可以作为度量重构中的单独数字实体提供。在非 度量重构中,至少一些摄像机参数不能直接确定,并且因此一些摄像机信息对于后续处理 是不能直接利用的。度量重构可以进一步包括一组特征点,该组特征点基于帧图像在3D空间中重构。 一般来说,特征可以包括图像中的任意可识别结构。例如,在各种实施例中,特征可以包括 一个或多个点、线、曲线、面等等。重构可以包括多个图像之间的特征匹配,以及在图像之间 生成特征对应。特征对应可以识别检测出对应的图像,以及每个图像中匹配特征的位置。特 征对应可以进一步包括关于特征的其他信息(例如,颜色、描述特征附近的图像中的梯度 的数据等)。从多个图像之间的特征对应中,可以重构3D点和摄像机参数。一组特征点可 以与源视频中的每个图像相关联。视频中相邻图像之间的特征点组可以重叠,但是特征点 还可以逐图像的出现或者不出现。可以以任意期望的方式确定度量重构。例如,可以用来自运动算法的任何结构获 得度量重构。在一个实施例中,例如,可以使用从Hannover大学信息技术实验室可获得的 VooDoo摄像机跟踪器。其他实施例可以使用来自运动工具的任何结构,包括来自各种供应 商的任何商业可获得的工具。如上所述,度量重构提供3D空间中的一组摄像机位置,其表明帧率粒度内的实际 摄像机路径。视频稳定处理可以使稳定路径拟合于实际摄像机路径(框22)。如上所述,各 种实施例可以使用线性或者曲线的稳定路径。在一些实施例中,视频稳定处理可以使多个 稳定摄像机路径拟合于实际摄像机路径,并且可以在拟合于实际摄像机路径选择中具有最 小误差的稳定路径。对于每个图像,视频稳定处理可以进一步包括,根据稳定图像定位从源图像中识 别出的特征点(框24)。即,基于从实际摄像机路径中摄像机被重构的位置向稳定路径中相 应点移动摄像机位置,相应图像中的特征点的位置可以改变。有效的是,位置改变是3D点 投影到实际摄像机以及投影到稳定摄像机中的差。
视频稳定处理进一步包括源视频中图像的内容感知弯曲,以生成稳定视频中的稳 定图像(框26)。将源视频中时间、处的源图像用于生成稳定视频中的时间&处的相应 的稳定(结果)图像。弯曲可以表示图像中像素的位置的任何修改图4是更详细示出内容感知弯曲操作的一个实施例的流程图(图2中框26)。在 一些实施例中,图4中的一个或多个框的一部分或者全部可以由在计算机上执行的一个或 多个指令实现。如前所述,在重构中识别并在视频稳定处理中使用的特征点组可以逐帧改变,其 包括组中出现或未出现的点。即,在先前帧的特征点组中未包括的特征点可以包括在“出 现”在组中的特定帧的特征点组中。类似地,包括在先前帧的特征点组中的特征点可以不包 括在从组中“消失”的特定帧中。可能存在如下情况,突然出现或消失的特征点在图像弯曲 中引入立即改变,其可以在稳定视频中引起跳跃。为了降低或防止这种影响,在一些实施例 中,视频稳定处理可以包括对在序列中出现或消失的点提供时间淡化(框30)。S卩,在序列 中特定帧处出现的点可以在该特定帧临近的几个帧中淡入到序列中(或者在特定帧之前、 之后,或在特定帧的前后的帧的组合)。类似地,在特定帧处消失的特征点可以在该特定帧 临近的几个帧中淡出序列。通过所述点的淡入及淡出,对于视频稳定处理的效果可以分别 逐渐提高或者降低,这将降低或消除由于加入或删除特征点而在稳定视频中造成的任何跳 跃。视频稳定处理可以进一步包括在源图像上构建nXm网格(其中η和m都是整数, 并且可以直至等于图像的像素分辨率)(框32)。网格中的每个单元可以包括由网格涵盖的 源图像中的一组像素。图5是能够应用于图像的示例性网格的框图。一些网格单元将包括在度量重构中识别出的特征点。因此,视频稳定处理可以对 弯曲施加约束,该约束是将包含特征点的网格单元移动到将特征点放置在稳定帧中的正 确位置上的位置(根据稳定摄像机参数),如上描述的框24中所计算的(框34)。由于一 般来说,特征点可以不在网格顶点,约束中可以使用包含特征点的网格顶点的双线性内插。此外,通过对具有高显著性的网格单元执行变换到遵守网格单元的结构的稳定帧 的约束,来实现弯曲内容感知(框36)。例如,约束可以是相似性变换,其中单元(水平和/ 或垂直运动)被平移以及可能被缩放和/或旋转。其他实施例可以将具有高显著性的单元 约束到刚性变换(平移以及可能的旋转,没有缩放)或者平移变换(仅平移)。具有低显著 性的单元可以经历更复杂的变换(例如,单元形状可以变形)。显著性可以通过多种方式测量。一般地,期望的是,对于场景中吸引观看者注意力 的对象的一部分的单元赋予较高的显著性。从另一个角度来看,具有较高显著性的单元可 以比具有较低显著性的单元携带更多的可视信息。例如,在一个实施例中,测量单元之间的 颜色变化。具有高颜色变化的单元可以包括重要的可视信息,并且因此可以被认为更显著。 具有较低颜色变化的单元(即,那些单元之间的颜色接近相同的单元)可以具有更少的可 视信息,并且可在弯曲时存在较多失真而不易在视觉上引起注意。测量显著性的其他方法 可以用在其他实施例中。例如,图像中心的对象经常是视觉上最感兴趣的(例如,通常拍摄 的视频是以接近图像中心的场景为最关注部分)。由此,对接近中心的网格单元赋予的显著 性高于图像边缘附近的网格单元。还可以使用各种显著性测量的组合。然后,视频稳定处理可以跨越约束来求解网格单元,从而生成稳定视频的弯曲图像(框38)。在图6中示出弯曲结果网格的示例。该约束不能够被严格地满足。一般地,视 频稳定处理可以“促使”满足约束。即,该处理可以基于该约束而尝试在最小方次方面为图 像中的点找到最佳拟合。
图7和8示出基于以上描述的处理之前和之后的图像的示例。图7是处理“之前” 的来自于源视频的帧图像。图8是稳定视频中的相同帧。在图8中,弯曲处理中使用的多 种特征点用白色点示出,并且白色点不是结果图像的部分。应该注意,图8的图像在边缘周 围具有黑色区域,并且并非图7中的源图像那样的矩形。在一个实施例中,可以剪修(crop) 图像以生成稳定视频中所使用的图像。例如,视频稳定处理可以将图像剪修到最大尺寸的 矩形,以拟合于弯曲图像的边界。其他实施例可以使用多种填孔算法或者其他图像扩展技 术来填充弯曲造成的黑色区域。图9是弯曲的示例,在该示例中网格单元没有通过显著性来加权,并且没有对较 高显著性的网格单元施加相似性变换。图像左侧的矩形(附图标记40)示出具有竖直条的 两个窗口,该竖直条以易见的形式弯曲,而实际上并不存在所述弯曲。在图10中,在弯曲中 使用显著性加权的示例,窗口条更直(矩形由附图标记42标明)。应该注意,一般地,将帧的观察点从源摄像机移动到稳定摄像机可以包括显示在 源视频中没有捕捉到的原始场景的特征。将这些显示称为修复(disocclusion)。在一个实 施例中,视频稳定处理可以尝试不处理修复,但是替代地尝试以自然外观的方式来弯曲所 捕获的图像。图11示出在一个实施例中为实现图3中框26所示的内容感知弯曲而使用的一组 方程。如上所知,来自稳定视频中特征点的位置是已知的(包括实施淡入或淡出的点,如关 于框30所描述的)。由此,弯曲的目的可以是变换每个源视频帧,以便将特征点移动至其 期望的位置,同时引入最小的可视失真。在方程中,将给定时间处的源帧表示为I,而将稳定帧表示为?。如果需要,则 可以利用时间参考扩充I和?,以便表示不同时间处的帧。以上描述的网格顶点集合 可以表示为V= lvid,其中i是[l;n]中的元素,并且j是[l;m]中的元素}。使用 该栅格网格参数化,可以减少弯曲问题从而找到稳定视频帧;?中的网格,表示为方程
f = ,其中/是[1; ]中的元素’并且y是[1; m]中的元素j>。也就是说,弯曲问题可以是用
于找到最符合弯曲目标的^>栅格的优化问题(通过显著性和从源摄像机观察点到稳定摄像 机观察点的变换进行内容感知)。方程1至3示出将源观察点变换为稳定观察点的弯曲目标。方程1是需要求解的 能量方程。方程2和3根据特征点到周围栅格顶点的双线性内插而定义变量Pk和>4。即,
Pk和>4分别是I和?的第k个特征点,Pj是根据稳定路径的特征点,F是特征点集合,而Ck 是包括Pk的栅格单元,而Wi ;J是双线性内插系数。为了避免视觉失真,可以对每个网格单元应用相似性变换。可以使用两个相邻点 来计算每个网格单元的顶点。例如,如方程4所示,可以使用V2和V3(相同网格单元的左下 顶点和右下顶点)来定义V1 (单元的左上顶点)。相似性变换后,可以通过相同的方法使用f 2和。来计算。然而,由于还需要满足其他约束,可以不在理想的位置。在方程5中定 义理想位置表示为νΛ类似地,定义网格单元的其他3个顶点的理想位置。为了符合相似 性变换约束,如方程6所示,可以使得实际顶点^>逼近理想位置,其中Ck是第k个栅格单元, hj是Ck的四个顶点中的一个,而Vi ;Jd是根据相似性变换的顶的理想位置。在所示实施例中,测量单元内的颜色变化以作为显著性,并且用于为每个单元的 相似性变换约束进行加权。其由方程7和8示出,其中 ,是。的显著性测量,而I(Pi)是 Pi的颜色,而csize是单元的尺寸。方程8中的印sil0n(O是常数,具有缺省值(例如, 0.5)以保证每个单元都受制于相似性约束。基于以上,弯曲可以被表达为优化的问题,目的在于最小化方程9,其中 alpha (α )和beta ( β )是参数,分别具有例如100和1的缺省值。alpha对平移约束进行 加权,而beta对相似性约束进行加权。其他实施例可以使用其他加权(例如,用户可以使 用加权,并且选择视觉上最吸引人的结果)。在该实施例中,将被最小化的能量项是二次项 (最小方次)。由此,执行二次最小化以求解优化问题。二次最小化可以用任何形式求解。 例如,在一个实施例中,二次最小化可以通过求解单次、稀疏线性系统来达到全局最小化。 通过对单一矩阵施加约束而形成线性系统,并且然后形成“普通方程”用于最小方次分析。 可以使用任何线性系统求解器。方程10示出在时间T期间(例如,可以选择为帧率的倍数)的淡入和淡出点的一 个实施例。在方程10中,ta可以是特征点出现的帧的时间,而、是特征点消失的帧的时间。 仅出现的点和仅消失的那些点可以是方程10的子集。使用方程10,可以如方程11中所示 重写方程1。示例性系统用于内容感知视频稳定化的方法和装置的实施例的各种组件以及其他应用可以 在一个或多个计算机系统上执行,其可以与各种其他设备相交互。由图12示出一个这样的 系统。在所示实施例中,计算机系统700包括通过输入/输出(I/O)接口 730耦合到系统 存储器720的一个或多个处理器710。计算机系统700进一步包括耦合到I/O接口 730的 网络接口 740,以及一个或多个输入/输出设备750,诸如光标控制设备760、键盘770、音频 设备790以及显示器780。在一些实施例中,可预期的是,实施例可以使用计算机系统700 的单个实例来实现,而在其他实施例中,多个这样的系统或者节点构成计算机系统700,其 可以配置为主控实施例的主机的不同部分或者实例。例如,在一个实施例中,可以通过与实 现其他元件的节点不同的计算机系统700的一个或多个节点来实现一些元件。在各种实施例中,计算机系统700可以是包括一个处理器710的单处理器系统, 或者包括多个(例如,两个,四个,八个,或者其他适合的数量)处理器710的多处理器系 统。处理器710可以是能够执行指令的任何适合的处理器。例如,在各种实施例中,处理器 710可以是通用处理器或者实现任何一种指令集体系结构(ISA)嵌入式处理器,诸如,x86、 PowerPC、SPARC或者MIPS ISA,或者任何其他适合的ISA。在多处理器系统中,每个处理器 710通常可以,但不是必须地,实现相同的ISA。系统存储器720可以配置为存储程序指令和/或可由处理器710访问的数据。在 多个实施例中,系统存储器720可以用任何适合的存储器技术实现,诸如静态随机存储器(SRAM)、同步动态RAM(SDRAM)、非易失性存储器/Flash类型存储器或者其他任何类型的存 储器。在所示实施例中,实现期望操作的程序指令和数据(诸如以上所述的那些)分别显 示为存储在系统存储器720中的程序指令725和数据存储735。在其他实施例中,可以在 与系统存储器720或计算机系统700不同类型的计算机可访问介质或者类似介质上接收、 发送或者存储程序指令和/或数据。一般而言,计算机可访问介质可以包括存储介质或者 存储器介质诸如磁或者光学介质,例如,磁盘或者通过I/O接口 730耦合到计算机系统700 的⑶/DVD-ROM。通过计算机可访问介质存储的程序指令和数据可以通过传输介质或者诸 如电、电磁或者数字信号的信号来传输,其可以通过通信介质传送,诸如网络和/或无线链 接,这些例如可以通过网络接口 740实现。在一个实施例中,I/O接口 730可以配置为协调处理器710、系统存储器720和该 设备中的任何外围设备之间的I/O流量,包括网络接口 740,或者其他外围接口,诸如输入/ 输出设备750。在一些实施例中,I/O接口 730可以执行任何必需的协议,定时或其他数据 变换,以将数据信号从一个组件(例如系统存储器720)转换为适合另一个组件(例如,处 理器710)使用的格式。在一些实施例中,I/O接口 730可以包括支持通过各种类型的外围 总线附接的设备,诸如外围组件互连(PCI)总线标准或者通用串行总线(USB)标准的各种 变换。在一些实施例中,I/O接口 730的功能可以分为两个或者更多单独的组件,例如,诸 如北桥和南桥。此外,在一些实施例中,I/O接口 730的一些或全部的功能(诸如到系统存 储器720的接口)可以直接合并到处理器710。网络接口 740可以配置为允许数据在计算机系统700和连接到网络的其他设备 (诸如其他计算机系统)之间或者计算机系统700的节点之间交换。在多个实施例中,网络 接口 740可以支持通过有线或者无线普通数据网络通信,例如,诸如任何适合类型的以太 网;通过远程通信/电话网络诸如模拟声音网络或者数字光纤通信网络;通过存储区域网 络,诸如Fibre Channel SANs,或者通过任何其他合适类型的网络和/或协议。在一些实施例中,输入/输出设备750可以包括一个或多个显示终端、键盘、键区、 触摸板、扫描设备、声音或者光学识别设备,或者任何其他适合于从一个或多个计算机系统 700中输入或获取数据的设备。多输入/输出设备750可以存在于计算机系统700中,或者 可以分布在计算机系统700的各个节点上。在一些实施例中,类似的输入/输出设备可以 独立于计算机系统700,并且可以与计算机系统700的一个或多个节点通过有线或者无线 连接(诸如通过网络接口 740)来交互。如图12所示,存储器720可以包括程序指令725,其配置为实现以上所描述的方 法和装置的实施例;以及数据存储设备735,其包括可以由程序指令725访问的各种数据。 在一个实施例中,程序指令725可以包括以上描述的方法和设备的软件元件。数据存储设 备735可以包括实施例中可以使用的数据。在一些实施例中,可以包括其他或者不同的软 件组件和数据。在一些实施例中,计算机系统700还可以包括图形处理单元(GPU)。GPU可以优化 图形处理(例如,用于生成在连接到计算机系统700的显示屏幕上显示的图像)。GPU可以 是根据GPU实现的指令集(例如,由诸如NVIDIA或者ATI图形制造商开发的指令集),通过 程序指令可编程的。在一些实施例中,GPU可以具有私有的、仅对GPU是可访问的专用存储 器。在一个实施例中,程序指令可以存储在私有存储器中。在一个实施例中,GPU可以执行
11程序指令以实现在此所描述的一些或全部方法。本领域技术人员可以理解,计算机系统700仅仅是示例性的,且并非意图限制在 此所描述的方法和装置范围。特别地,计算机系统和设备可以包括可以执行所示功能的任 何硬件或软件的组合,包括计算机、网络设备、互联网应用、PDA、无线电话、寻呼机等等。计 算机系统700还可以连接到其他没有显示的设备上,或者可替代地作为单机系统操作。此 外,在一些实施例中,所示组件提供的功能可以组合在更少的组件中,或者分布在其他组件 中。类似地,在一些实施例中,可以利用所示组件没有提供的和/或其他附加功能。本领域技术人员还将理解,尽管各项示出为在使用时被存储在存储器或者存储设 备中,出于存储器管理以及数据完整性的目的,这些项或者其中的一部分还可以在存储器 和其他存储器设备之间传输。备选地,在其他实施例中,软件组件的一些或全部可以在其他 设备的存储器中执行,并且可以通过计算机内通信来与所示计算机系统通信。一些或全部 系统组件以及数据结构还可以存储在(例如作为指令或者结构化数据)计算机可访问介质 上或者其他便携装置上,以便通过适当的驱动器读出,上文描述了各种示例。在一些实施例 中,存储在独立于计算机系统700的计算机可访问介质上的指令可以通过传输介质或者诸 如电、电磁或者数字信号的信号,来传输到计算机系统700,通过诸如网络和/或无线链接 的通信介质传递。各种实施例可以进一步包括接收、发送或存储根据计算机可访问介质上 实现的前述内容的指令和/或数据。由此,本发明可以使用其他计算机系统配置来实现。结论附图中所示出以及在此描述的各种方法表示示例性的方法实施例。所述方法可以 通过软件、硬件或它们的组合来实现。可以改变方法的顺序,并且可以对各种组件进行增 加、重新排序、组合、删除、修改等等。对于受益于本公开的本领域技术人员来说,作出各种修改和改变是易见的。本发 明意图涵盖所有这些修改和改变,并且由此,认为以上的描述是示例性的而非限制性的。
权利要求
一种方法,包括接收源视频序列;确定对于将被稳定的源视频序列的稳定摄像机路径;以及生成稳定视频序列,其中所述稳定视频序列的每个帧由所述源视频序列中相应的帧的内容感知弯曲来生成。
2.如权利要求1所述的方法,进一步包括相应于捕获源视频序列的摄像机来生成原 始摄像机路径的度量重构。
3.如权利要求2所述的方法,其中生成所述稳定视频序列包括将每个源视频序列帧 划分为网格单元,并且其中内容感知弯曲包括(i)将包含在度量重构中识别的特征点的 单元移动到所述稳定摄像机路径上该帧中的特征点的位置上;以及(ii)将具有显著内容 的单元执行变换,变换为遵守单元结构的所述稳定摄像机路径上的帧。
4.如权利要求3所述的方法,其中变换是相似性变换。
5.如权利要求4所述的方法,进一步包括为每个单元确定显著性测量以识别具有显 著内容的单元。
6.如权利要求5所述的方法,其中显著性测量是基于单元的颜色变化,其中高颜色变 化表明高显著性,而低颜色变化表明低显著性。
7.如权利要求1所述的方法,其中确定所述稳定摄像机路径包括使期望的摄像机路 径拟合于原始摄像机路径。
8.如权利要求7所述的方法,其中期望的摄像机路径是直线。
9.如权利要求7所述的方法,其中期望的摄像机路径是曲线。
10.如权利要求1所述的方法,其中生成所述稳定视频序列包括剪修内容感知弯曲后 续的至少一个帧。
11.如权利要求1所述的方法,其中生成所述稳定视频序列包括使用一个或多个图像 扩展技术,扩展内容感知弯曲后续的至少一个帧。
12.—种系统,包括用于接收源视频序列的装置;用于确定对于将被稳定的源视频序列的稳定摄像机路径的装置;以及用于生成稳定的视频序列的装置,其中所述稳定视频序列的每个帧由所述源视频序列 中相应的帧的内容感知弯曲来生成。
13.如权利要求12所述的系统,进一步包括用于相应于捕获源视频序列的摄像机来 生成原始摄像机路径的度量重构的装置。
14.如权利要求13所述的系统,其中生成所述稳定视频序列包括将每个源视频序列帧 划分为网格单元,并且其中所述内容感知弯曲包括(i)将包含在度量重构中识别的特征 点的单元移动到所述稳定摄像机路径上该帧中的特征点的位置上;以及(ii)将具有显著 内容的单元执行变换,变换为遵守单元结构的所述稳定摄像机路径上的帧。
15.如权利要求14所述的系统,其中所述变换是相似性变换。
16.如权利要求15所述的系统,进一步包括用于为每个单元确定显著性测量以识别 具有显著内容的单元的装置。
17.如权利要求16所述的系统,其中显著性测量是基于单元的颜色变化,其中高颜色变化表明高显著性,而低颜色变化表明低显著性。
18.如权利要求12所述的系统,其中确定所述稳定摄像机路径包括使期望的摄像机 路径拟合于所述原始摄像机路径。
19.如权利要求18所述的系统,其中所述期望的摄像机路径是直线。
20.如权利要求18所述的系统,其中所述期望的摄像机路径是曲线。
21.如权利要求12所述的系统,其中生成所述稳定视频序列包括剪修内容感知弯曲 后续的至少一个帧。
22.如权利要求12所述的系统,其中生成所述稳定视频序列包括使用一个或多个图 像扩展技术,来扩展内容感知弯曲后续的至少一个帧。
全文摘要
本申请公开了一种用于内容感知的视频稳定的方法。在一个实施例中,方法包括接收源视频序列;确定对于将被稳定的源视频序列的稳定摄像机路径;以及生成稳定的视频序列,其中稳定视频序列中的每个帧由输入序列中的相应帧的内容感知弯曲来生成。
文档编号H04N5/14GK101969527SQ200910205749
公开日2011年2月9日 申请日期2009年8月28日 优先权日2008年8月28日
发明者A·O·阿加瓦拉, 刘丰, 金海琳 申请人:奥多比公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1