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

文档序号:9333044阅读:434来源:国知局
级联相机运动估计、滚动快门检测和用于视频稳定性的相机抖动检测的制作方法
【技术领域】
[0001] 本公开内容通常涉及操作视频内容,并且更具体地说,涉及稳定视频内容中的相 机运动。
【背景技术】
[0002] 网站上共享视频内容已经发展成由许多网站支持的全球现象。每天发布数千视 频,并且该数目随着用于捕捉视频的工具和机会变得更易于使用和更普及而增加。上百万 的人们观看所发布的视频。
[0003] 通常需要处理所发布的视频来提高图像和音频质量。该处理能包含校正视频来降 低由于用来捕捉视频的物理相机的不期望运动而导致的视频中可见的抖动。例如,随着移 动电话相机的增长,上传和共享由临时用户通过他们的移动设备捕捉他们的日常经历的视 频有显著增加。这些视频的很大一部分易于抖动,因为难以保持手持相机稳定,尤其是当捕 捉移动物体时或如果边录制边移动。
[0004] 尽管许多现代的相机通常配备用于静态图像的图像稳定器,但在存在严重相机抖 动或低频运动,诸如当拍摄期间,用户正行走或跑动时引起的抖动,由图像稳定器提供的稳 定性通常不足。仅预测具有显著抖动的临时视频量随着可穿戴和第一人称视图相机的增长 而增加,尤其运动和其他活动中受欢迎。大多数临时用户未使用或倾向使用专业稳定装备 (例如,三脚架、摄影车、稳定凸轮)。此外,由较早相机拍摄或从胶片数字化的传统视频也 能从稳定性受。
[0005] 此外,大多数临时用户也没有使用过专业稳定软件。此外,尽管这些专业稳定软件 通常存在,但这些软件程序通过变动质量度校正视频。此外,许多这些软件程序在没有从物 理相机获得的元数据的情况下,或没有来自用户有关应当如何执行稳定化的输入的情况下 无法工作。

【发明内容】

[0006] 描述一种易于使用的在线视频稳定系统和计算机实现的视频稳定方法。在捕捉视 频后稳定视频,并且因此,稳定对包括传统视频和新捕捉的视频所有形式的视频长度起作 用。在一种实现方式中,视频稳定系统是完全自动的,除视频本身外,不要求用户的输入或 参数设置。视频稳定系统使用级联运动模型来选择应用于视频的不同帧的校正。在不同实 现方式中,视频稳定系统能检测和校正高频抖动伪像、低频抖动伪像、滚动快门伪像、显著 前景运动、不良照明、场景切换以及长短视频。
[0007] 在一个实施例中,至少部分地通过访问视频和生成视频的至少两个相邻帧的每一 个的多个跟踪特征来生成相机路径,相邻帧的跟踪特征指示相机的帧间运动。将多个运动 模型应用于跟踪特征的帧间运动来估计所应用的运动模型的每一个的多个特性,运动模型 分别表示包括不同数目的自由度(D0F)的不同类型的相机运动。通过将运动模型的特性与 对应的阈值进行比较,确定运动模型中的一个或多个是有效的。基于有效运动模型,生成相 邻帧之间的相机路径。
[0008] 在一个实施例中,至少部分地通过访问视频和生成视频的至少两个相邻帧的每一 个的多个跟踪特征来校正滚动快门,相邻帧的跟踪特征指示相机的帧间运动。将单应模型 应用于帧间运动来确定作为与单应模型匹配的内点的多个跟踪特征。将单应混合模型应用 于帧间运动来确定作为与单应混合模型匹配的内点的多个跟踪特征。如果单应混合内点的 数目比单应内点的数目超出阈值,通过将单应混合模型应用于视频的相邻帧,生成稳定视 频。
[0009] 在一个实施例中,至少部分地通过访问视频和生成视频的至少两个相邻帧的每一 个的多个跟踪特征来校正滚动快门,相邻帧的跟踪特征指示相机的帧间运动。将单应模型 应用于帧间运动来确定作为与单应模型匹配的内点的多个跟踪特征。将多个单应混合模型 应用于跟踪特征来对单应混合模型的每一个,确定作为与每一单应混合模型匹配的内点的 多个跟踪特征,单应混合模型具有不同刚性。确定单应混合内点的数目比单应内点的数目 超出专用于那一单应混合模型的阈值的最小刚性单应混合模型。通过将最小刚性单应混合 模型应用于视频的相邻帧,生成稳定视频。
[0010] 在一个实施例中,至少部分地通过访问视频和对视频的多个帧,估计相似性运动 模型的多个自由度(D0F)的值,每一自由度表示用来捕获视频的原始相机的不同相机运 动,D0F的值表示不同相机运动的大小。生成用于D0F的每一个的频谱图,每一频谱图基于 在包括视频的多个相邻帧的时间窗上的D0F的值。基于频谱图,生成多个抖动特征。基于 抖动特征,分类视频。然后,基于分类稳定视频。
【附图说明】
[0011] 图1是根据一个实施例,包括视频稳定系统的计算环境的高级框图。
[0012] 图2是图示用作视频稳定系统、视频服务器和/或客户端的计算机的示例的高级 框图。
[0013] 图3是根据一个实施例,图示视频稳定系统内的模块的高级框图。
[0014] 图4是根据一个实施例,图示用于确定视频的相机路径的过程的流程图。
[0015] 图5是根据一个实施例,图示用于检测和校正视频中的滚动快门的过程的流程 图。
[0016] 图6图示根据一个实施例,示例跟踪特征的运动和它们的帧内运动。
[0017] 图7图示根据一个实施例,分别具有不同数目的自由度的多个运动模型。
[0018] 图8是根据一个实施例,图示用于检测视频中的相机抖动的过程的流程图。
[0019] 图9A和9B根据一个实施例,图不用于相似性模型的多个时间窗和不同自由度的 多个频谱图,其中,图9A图示第一、长度方面短长度的视频12个窗口的频谱图,以及图9B 图示第二、长度方面更长长度视频的40个窗口的频谱图。
[0020] 附图仅为示例目的,描绘本发明的实施例。本领域的技术人员将易于从下述描述 意识到在不背离在此所述的本发明的原理的情况下,可以采用在此所示的结构和方法的替 代实施例。
【具体实施方式】
[0021] I?概述
[0022] 图1是根据一个实施例,包括视频稳定系统的计算环境的高级框图。图1图示由 网络116连接的视频服务器110、视频稳定系统112( "稳定系统")和客户端114。在图1 中仅示出一个客户端114以便简化和使描述清楚。计算环境100的实施例能具有上千或上 百万客户端114,以及多个视频服务器110和稳定系统112。
[0023] 视频服务器110经由网络116,向客户端114提供视频内容(在此称为"视频")。 在一个实施例中,视频服务器110位于由YOUTUBE?提供的网站上,尽管该视频服务器也能 由另一实体提供。视频服务器110包括存储多个视频的数据库和用于与客户端114交互的 Web服务器。视频服务器110从客户端114的用户接收对于数据库中的视频的请求并且作 为响应,提供视频。另外,视频服务器110能接收、存储、处理(例如稳定)和提供由客户端 114的用户和由其他实体发布的视频。
[0024] 客户端114是由一个或多个用户使用来执行活动的计算机或其他电子设备,所述 活动包括上传视频、使用稳定系统112来启动视频的稳定化和浏览从视频服务器110接收 的视频和其他内容。客户端114例如能是执行允许用户浏览和搜索可在视频服务器网站获 得的视频的Web浏览器118的个人计算机。在其他实施例中,客户端114是除计算机外的 可连网设备,诸如个人数字助理(PDA)、移动电话、寻呼机、电视"机顶盒"等等。
[0025] 网络116实现与之连接的实体之间通信。在一个实施例中,网络116是互联网并 且使用标准通信技术和/或协议。由此,网络116能包括使用技术,诸如以太网、802. 11、全 球微波接入互操作性(WiMAX)、3G、数字用户线路(DSL)、异步传输模式(ATM)、InfiniBand、 PCI高级交换等等的链路。类似地,用在网络116上的联网协议能包括多协议标签交 换(MPLS)、传输控制协议/网际协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议 (HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP)等等。在网络116上交换的数据能 使用包括超文本标记语言(HTML)、可扩展标记语言(XML)等等的技术和/或格式表示。另 外,能使用常规的加密技术,诸如安全套接层(SSL)、传输层安全性(TLS)和虚拟专用网络 (VPN)、互联网协议安全(IPsec)等等加密所有或一些链路。在另一实施例中,代替或除上 述外,实体使用定制和/或专用数据通信技术。
[0026] 稳定系统112被配置成接收输入视频并且通过变更视频帧的像素内容稳定该输 入视频。稳定系统112输出稳定视频。作为稳定化过程的一部分,稳定系统112确定描述 初始用来录制该视频的相机的二维(2D)运动的相机路径。稳定系统112也可以与使用相 机路径仅来稳定该视频分离,输出该相机路径。为了稳定视频,使用相机路径来尽可能地排 除由于相机的运动而导致的视频帧中的像素的运动。在一个实施例中,输出稳定视频是原 始视频的副本,其中,根据所确定的相机路径来调整每一帧的像素的位置,以抵消帧间的运 动。
[0027] 图2是图示用作视频服务器110、稳定系统112和/或客户端114的计算机200的 示例的高级框图。示出耦接到芯片组204的至少一个处理器202。芯片组204包括存储器 控制中心220和输入/输出(I/O)控制中心222。存储器206和图形适配器212耦接到存 储器控制中心220,以及显示设备218耦接到图形适配器212。存储设备208、键盘210、指 示设备214和网络适配器216耦接到I/O控制中心222。计算机200的其他实施例具有不 同体系结构。例如,在一些实施例中,存储器206直接耦接到处理器202。
[0028] 存储设备208是非瞬时计算机可读存储介质,诸如硬驱动、只读光盘存储器 (⑶-ROM)、DVD或固态存储设备。存储器206保存由处理器202使用的指令和数据。指示 设备214是鼠标、跟踪球或其他类型的指示设备,并且结合键盘210使用来将数据输入到计 算机系统200。图形适配器212在显示设备218上显示图像和其他信息。网络适配器216 将计算机系统200耦接到网络116。计算机200的一些实施例具有与图2所示不同和/或 其他的部件。
[0029] 计算机200被适配成执行用于提供在此所述的功能性的计算机程序模块。如在此 所使用的,术语"模块"是指用来提供特定功能性的计算机程序指令和其他逻辑。由此,能 以硬件、固件和/或软件实现模块。在一个实施例中,由可执行计算机程序指令形成的程序 模块存储在存储设备208上、加载到存储器206中并且由处理器202执行。
[0030]由图1的实体使用的计算机200的类型能取决于实施例和实体使用的处理能力改 变。例如,作为移动电话的客户端114通常具有有限的处理能力、小显示器218并且可能缺 少指示设备214。相反,稳定系统112可以包括一起工作来提供在此所述的功能性的多个服 务器。如从下述的描述显而易见,就要求由计算机实现而言,稳定系统112稳定视频的操作 非常复杂,并且由此不能完全在智力上由人类思想执行。
[0031] II?视频稳定化
[0032]图3是根据一个实施例,图示视频稳定系统112内的模块的高级框图。如上所介 绍的,稳定系统112被配置成接收输入视频302来稳定该视频并且输出稳定视频304和/ 或相机路径306。
[0033] 在一个实施例中,稳定系统112包括运动估计系统模块310、相机路径分析模块 3
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1