首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 修改 / 为了稳定而使用动态裁切对视频进行处理的方法和系统

为了稳定而使用动态裁切对视频进行处理的方法和系统

阅读:699发布:2022-05-23

专利汇可以提供为了稳定而使用动态裁切对视频进行处理的方法和系统专利检索,专利查询,专利分析的服务。并且描述了一种用于处理视频以便进行稳定的方法和系统。所记录的视频可以通过去除该视频中所引入的至少一部分晃动而被稳定。可以确定用来记录该视频的相机的原始相机路径。可以选择裁切窗口大小并且可以相应地确定裁切窗口变换。裁切窗口变换可以描述原始相机路径到比原始相机路径更为平滑的经 修改 的相机路径的变换。可以确定指示经修改的路径的平滑程度的平滑度量。基于该平滑度量与预定 阈值 的比较,例如可以对原始视频应用裁切窗口变换以获得稳定的经修改的视频。,下面是为了稳定而使用动态裁切对视频进行处理的方法和系统专利的具体信息内容。

1.一种方法,包括:
确定记录视频的相机的原始运动路径的估计;
选择比所述视频的视频大小小的裁切窗口大小;
确定裁切窗口变换以将所述相机的所述原始运动路径变换为经修改运动相机路径,其中与所述裁切窗口变换相关联的裁切窗口被限制为所述裁切窗口大小;
确定指示所述经修改的运动相机路径的平滑程度的平滑度量;以及
基于所述平滑度量与预定阈值的比较,对所述视频应用所述裁切窗口变换以从所述经修改的运动相机路径的视点提供修改的视频。
2.根据权利要求1所述的方法,所述方法进一步包括:
选择更小的裁切窗口大小;
确定对应于所述更小的裁切窗口大小的相应裁切窗口变换以及相应平滑度量;
确定所述平滑度量和所述相应平滑度量之间的数值变化;以及
基于给定的预定阈值与所述变化的比较,向所述视频应用所述裁切窗口变换以提供修改的视频。
3.根据权利要求2所述的方法,其中所述平滑度量与所述预定阈值的比较提供所述经修改的运动相机路径的绝对平滑程度的指示,并且其中所述给定的预定阈值与所述变化的比较提供所述经修改的运动相机路径关于相应的经修改的运动相机路径的相对平滑程度的指示。
4.根据权利要求2所述的方法,进一步包括:
使用连续的更小裁切窗口大小迭代地确定连续的平滑度量;以及
基于所述给定的预定阈值与对应于两个连续裁切窗口大小的两个连续的平滑度量之间的相应数值变化的比较,向所述视频应用对应于所述两个连续裁切窗口大小中的较大裁切窗口大小的给定的裁切窗口变换以提供修改的视频。
5.根据权利要求1所述的方法,进一步包括:
将所述视频划分为多于一个视频分段;
针对每个视频分段:
估计记录该视频分段的所述相机的相应原始运动路径;
选择相应裁切窗口大小;
确定相应裁切窗口变换以将所述相机的所述相应原始运动路径变换为相应经修改的运动相机路径,其中与所述相应裁切窗口变换相关联的相应裁切窗口被限制为所述相应裁切窗口大小;
确定指示所述相应经修改的运动相机路径的相应平滑程度的相应平滑度量;以及基于所述相应平滑度量与所述预定阈值的比较,对该视频分段应用相应裁切窗口变换以从所述相应经修改的运动相机路径的相应视点提供相应经修改的视频分段。
6.根据权利要求5所述的方法,进一步包括:
针对每个视频分段:
选择给定的更小的裁切窗口大小;
确定对应于所述给定的更小的裁切窗口大小的给定裁切窗口变换以及给定平滑度量;
确定所述相应平滑度量和所述给定平滑度量之间的给定数值变化;以及基于给定预定阈值与给定变化的比较,向该视频分段应用相应裁切窗口变换以提供相应经修改的视频分段。
7.根据权利要求5所述的方法,其中将所述视频划分为多于一个视频分段包括:对所述视频进行划分,使得第一视频分段的结尾部分和与所述第一视频分段连续的第二视频分段的开始部分重叠。
8.根据权利要求7所述的方法,进一步包括:
针对所述第一视频分段确定第一经修改的运动相机路径P1;以及
针对所述第二视频分段确定第二经修改的运动相机路径P2,其中在所述第二视频分段与所述第一视频分段的结尾部分相重叠的开始部分中P2=P1·S,其中S是具有统一比例的缩放变换,并且其中c1是针对所述第一视频分段选择的第一相应裁切窗口大小而c2是针对所述第二视频分段选择的第二相应裁切窗口大小。
9.根据权利要求1所述的方法,其中对所述视频应用所述裁切窗口变换以从经修改的运动相机路径的视点提供修改的视频包括:从所述视频去除内容。
10.根据权利要求1所述的方法,其中对所述视频应用所述裁切窗口变换以从经修改的运动相机路径提供修改的视频包括:稳定所述视频。
11.一种其上存储有指令的非瞬时计算机可读介质,所述指令可由计算设备执行而使得该计算设备执行功能,所述功能包括:
估计记录视频的相机的原始运动路径;
选择比所述视频的视频帧大小小的裁切窗口大小;
确定裁切窗口变换以将所述相机的原始运动路径变换为经修改的运动相机路径,其中与所述裁切窗口变换相关联的裁切窗口被限制为所述裁切窗口大小;
确定指示所述经修改的运动相机路径的平滑程度的平滑度量;以及
基于所述平滑度量与预定阈值的比较,对所述视频应用所述裁切窗口变换以从所述经修改的运动相机路径的视点提供修改的视频。
12.根据权利要求11所述的非瞬时计算机可读介质,其中所述指令可进一步由所述计算设备执行而使得所述计算设备执行功能,所述功能包括:
选择更小的裁切窗口大小;
确定对应于所述更小的裁切窗口大小的相应裁切窗口变换以及相应平滑度量;
确定所述平滑度量和所述相应平滑度量之间的数值变化;以及
应用以下中的一个:
(i)基于所述相应平滑度量与所述预定阈值的比较,向所述视频应用所述相应裁切窗口变换以提供相应修改的视频,和
(ii)基于给定的预定阈值与所述变化的比较,向所述视频应用所述裁切窗口变换以提供修改的视频。
13.根据权利要求11所述的非瞬时计算机可读介质,其中所述裁切窗口变换为B(t),-1
其中B(t)=C(t) P(t),并且C(t)是所述原始运动路径而P(t)是所述经修改的运动相机路径。
14.根据权利要求13所述的非瞬时计算机可读介质,其中所述经修改的运动相机路径P(t)通过使得目标函数 最小化而确定,其中a、b和c为线性权重,使
得与所述裁切窗口变换B(t)相关联的裁切窗口被限制为所述裁切窗口大小。
15.根据权利要求14所述的非瞬时计算机可读介质,其中使得所述目标函数最小化包括执行L1最小化。
16.根据权利要求14所述的非瞬时计算机可读介质,进一步包括每k个帧对所述相机的所述原始运动路径进行时间二次采样,使得所述目标函数为
其中k是比例因数。
17.一种系统,包括:
相机路径估计模,被配置为接收视频并且估计记录所述视频的相机的原始运动路径;
视频稳定模块,与所述相机路径估计模块通信并且被配置为选择比所述视频的视频帧大小小的裁切窗口大小,所述视频稳定模块被配置为确定裁切窗口变换以将所述相机的原始运动路径变换为经修改的运动相机路径,其中与所述裁切窗口变换相关联的裁切窗口被限制为所述裁切窗口大小,并且所述视频稳定模块被配置为确定指示所述经修改的运动相机路径的平滑程度的平滑度量;以及
视频转换模块,与所述相机路径估计模块和所述视频稳定模块通信并且被配置为基于所述平滑度量与预定阈值的比较而对所述视频应用所述裁切窗口变换以从所述经修改的运动相机路径的视点提供修改的视频。
18.根据权利要求17所述的系统,其中所述视频稳定模块进一步被配置为选择更小的裁切窗口大小,确定相应裁切窗口变换以及相应平滑度量,并且进一步被配置为确定所述平滑度量和所述相应平滑度量之间的数值变化;以及
基于给定预定阈值与所述变化的比较,所述视频转换模块进一步被配置为向所述视频应用所述裁切窗口变换以提供所述修改的视频。
19.根据权利要求17所述的系统,进一步包括服务器,所述服务器包括所述相机路径估计模块、所述视频稳定模块和所述视频转换模块。
20.根据权利要求19所述的系统,其中所述服务器被配置为:
接收所述视频;
接收请求稳定所述视频的单个动作所给出的单一命令;以及
将经修改的稳定视频上传至视频托管网站

说明书全文

为了稳定而使用动态裁切对视频进行处理的方法和系统

[0001] 相关申请的交叉引用
[0002] 本申请要求于2012年1月16日提交的题为“Methods and Systems for Processing a Video for Stabilization Using Dynamic Crop”的美国专利申请序列号13/351,037的优先权,其通过引用全文结合于此而如同在该描述中给出。

背景技术

[0003] 视频稳定(video stabilization)技术可以被用来改善所记录的视频。利用视频相机,相机的晃动会导致所记录的视频中可看到的至帧抖动。例如,由于握持相机的操作人员在记录期间的移动,手持记录的视频可能比使用安装有三脚架的相机(或者其它稳定装置,诸如相机移动台车或稳定相机)所记录的视频感觉上更为晃动。然而,使用手持视频记录来记录视频能够获得更多的拍摄机会。
[0004] 视频稳定技术可以被用来创建临时摄制的视频(例如,在具有很少或没有稳定装置的设备上记录的视频)的稳定版本。视频稳定技术通常尝试对所记录的视频进行呈现而使得该视频就像是从平滑或稳定的相机路径所记录的一样。发明内容
[0005] 本申请公开了为了稳定而使用动态裁切对视频进行处理的方法和系统。在一个方面,描述了一种方法。该方法可以包括估计记录视频的相机的原始运动路径。该方法还可以包括选择比该视频的视频帧大小小的裁切窗口大小。该方法可以进一步包括确定裁切窗口变换以将相机的原始运动路径变换为经修改运动相机路径。与裁切窗口变换相关联的裁切窗口可以被限制为裁切窗口大小。该方法还可以包括确定指示经修改的运动相机路径的平滑程度的平滑度量。该方法可以进一步包括基于该平滑度量与预定阈值的比较对该视频应用裁切窗口变换以从经修改的运动相机路径的视点提供修改视的频。
[0006] 在另一个方面,描述了一种其上存储有指令的非瞬时计算机可读介质,该指令可由计算设备执行而使得该计算设备执行功能。该功能可以包括估计记录视频的相机的原始运动路径。该功能还可以包括选择比该视频的视频帧大小小的裁切窗口大小。该功能可以进一步包括确定裁切窗口变换以将相机的原始运动路径变换为经修改的运动相机路径。与裁切窗口变换相关联的裁切窗口可以被限制为裁切窗口大小。该功能还可以包括确定指示经修改的运动相机路径的平滑程度的平滑度量。该功能可以进一步包括基于该平滑度量与预定阈值的比较对该视频应用裁切窗口变换以从经修改的运动相机路径的视点提供修改的视频。
[0007] 在又另一个方面,描述了一种系统。该系统可以包括相机路径估计模,其被配置为接收视频并且估计记录视频的相机的原始运动路径。该系统还可以包括视频稳定模块,其与该相机路径估计模块通信并且可以被配置为选择比该视频的视频帧大小于的裁切窗口大小,并且确定裁切窗口变换以将相机的原始运动路径变换为经修改的运动相机路径。与裁切窗口变换相关联的裁切窗口可以被限制为裁切窗口大小。该视频稳定模块可以进一步被配置为确定指示经修改的运动相机路径的平滑程度的平滑度量。该系统可以进一步包括视频转换模块,其与该相机路径估计模块和视频稳定模块通信并且可以被配置为基于该平滑度量与预定阈值的比较而对该视频应用裁切窗口变换以从经修改的运动相机路径的视点提供修改的视频。
[0008] 以上发明内容仅是说明性的而并非意在以任何方式进行限制。除了以上所描述的说明性方面、实施例和特征之外,另外的方面、实施例和特征将通过参考附图和以下的详细描述而是显而易见的。

附图说明

[0009] 图1图示了示例的最优裁切和视频稳定系统的框图
[0010] 图2是图示视频托管服务的示例系统视图的框图,该视频托管服务包括示例的最优动态裁切和视频稳定系统。
[0011] 图3A-3B是依据这里所描述的至少一些实施例的为了视频稳定而使用最优裁切来处理视频的方法的示例流程图
[0012] 图4图示了最优相机路径和原始相机路径的示例图形。
[0013] 图5图示了示例视频帧和示例裁切窗口。
[0014] 图6A-6B图示了示出目标函数值关于裁切窗口大小的变化的示例图形。
[0015] 图7A-7B图示了目标函数值关于视频内的多个视频分段的裁切窗口大小的变化的示例图形。
[0016] 图8A-8H图示了来自不同视频分段的示例视频帧以及具有变化大小的示例裁切窗口。
[0017] 图9是图示在依据这里所描述的至少一些实施例部署的计算系统中使用的示例计算设备的功能框图。
[0018] 图10是图示包括用于在依据这里所描述的至少一些实施例部署的计算设备上执行计算机过程的计算机程序的示例计算机程序产品的概念性部分视图的示意图。

具体实施方式

[0019] 以下具体描述参考附图来描述了所公开的系统和方法的各种特征和功能。在图中,除非上下文另外指示,否则相似的附图标记表示相似的组件。这里所描述的说明性系统和方法实施例并非意在作为限制。可以容易理解的是,所公开的系统和方法的某些方面能够以各种不同配置进行部署和组合,所有这些都在这里得到预期。
[0020] 本公开可以公开用于对视频进行稳定的系统和方法。所记录的视频可以通过去除视频中所引入的至少一部分晃动而被稳定。可以确定用来记录该视频的相机的原始相机路径。可以选择裁切窗口大小并且可以相应地确定裁切窗口变换。裁切窗口变换可以描述原始相机路径到比原始相机路径更为平滑的经修改的相机路径的变换。可以确定指示经修改的路径的平滑程度的平滑度量。基于该平滑度量与预定阈值的比较,例如可以对原始视频应用裁切窗口变换以获得稳定的经修改的视频。
[0021] 在一个示例中,视频可以通过执行后处理技术而被稳定。可以对视频进行处理以估计记录该视频的相机的原始路径(例如,运动),以估计新的稳定/平滑的相机路径,并且从该新的平滑相机路径的视点对视频进行重构。例如,该稳定或平滑的相机路径可以抑制高频抖动并且去除在手持摇摄或人在行走时记录视频期间所出现的低频失真。
[0022] 在一个示例中,为了估计新的相机路径,可以确定能够应用于原始路径以获得新路径的裁切窗口变换。与该裁切窗口变换相关联的裁切窗口的大小可以被限制为比原始帧大小小的大小。为了确定最优裁切窗口大小,可以使用迭代方法,其中该迭代方法的目标可以是确定平滑的相机路径同时去除或裁切掉尽可能少量的内容。
[0023] 可以确定指示新路径的平滑程度的平滑度量。可以基于平滑度量与预定阈值的比较来确定裁切窗口大小是否为最优。例如,如果平滑度量超过了第一预定阈值,则裁切窗口大小可能是最优的并且可以向视频应用裁切窗口变换而从新的平滑相机路径的视点获得修改的视频。如果该平滑度量没有超过第一预定阈值,则可以选择更小的裁切窗口大小并且可以针对相应的新的相机路径来确定相应的平滑度量。例如,以迭代方式,可以选择连续更小的裁切窗口大小并且可以确定连续的平滑度量直至对应于给定裁切窗口大小的给定平滑度量可以超过第一预定阈值。在另一个实施例,可以继续利用连续更小的裁切窗口大小的迭代并且可以将与两个相应裁切窗口大小相关联的两个连续平滑度量之间的差值与第二预定阈值进行比较以确定更小的裁切窗口大小是否可以改善相应相机路径的平滑。
[0024] 例如,作为该迭代方法的结果,可以确定最优裁切窗口大小以及相对应的裁切窗口变换,并且能够将其应用于所记录的视频以重构所记录的视频,就像该视频是从平滑相机路径记录的一样,从而从该记录的视频中去除晃动。
[0025] 现在参考附图,图1图示了示例的最优动态裁切和视频稳定系统100的框图。系统100包括相机路径估计模块102、与相机路径估计模块102通信的视频稳定模块104、以及与相机路径估计模块102和视频稳定模块104通信的视频转换模块106。系统100可以被配置为从相机108接收视频,并且对该视频执行视频稳定过程。例如,相机路径估计模块102可以被配置为基于所接收的视频内的背景对象的运动来估计记录视频的相机的路径。
视频稳定模块104因此可以被配置为估计新的稳定/平滑的相机路径,并且视频转换模块
106可以被配置为从视频稳定模块104所确定的平滑相机路径的视点对所接收的视频进行重构。系统100的组件可以被配置为以彼此和/或与耦合至相应系统的其它组件互连的方式进行工作。
[0026] 在一个示例中,相机路径估计模块102可以被配置为基于所接收的视频内的背景对象或帧的运动来估计记录视频的相机的路径。可以通过提取视频帧中的可追踪特征、匹配特征、并且执行局部异常值抛弃以去除可能使得运动估计失真的虚假匹配来估计相机路径。线性运动模型(例如,转换、相似性、仿射)可以对被追踪特征进行拟合以估计两个帧之间的相机运动,并且能够将该运动模型变换至共用坐标系统并且进行连接以在所有视频帧上产生估计的原始相机路径。
[0027] 视频稳定模块104可以被配置为基于约束来估计新的稳定/平滑相机路径。平滑相机路径可以使用如相机路径估计模块102估计的原始相机路径的导数最小化来进行估计。例如,恒定路径可以表示静态相机,即 (其中P是表示相机路径的函数),恒定速度的路径可以表示摇摄或移动摄像车拍摄,即 并且恒定加速度的路径可以表示静态和摇摄相机之间的慢速开始(ease-in)和慢速结束(ease-out)变换,即 所估计的平滑相机路径可以包括恒定、线性或抛物线运动的分段。分段可以是静态分段而不是分段的叠加以避免残余运动。
[0028] 在一个示例中,为了估计包括恒定、线性和抛物线运动的分段的相机路径P(t),可以执行作为被约束的L1最小化的优化。例如,阶数p的N维矢量范数被定义为这是结果的p阶根所遵循的其分量的绝对值的p次幂之和。可以使用该标准来执行L1/L2范数计算。L1最小化会导致其中导数(以上所描述的)对于许多分段为零的路径。L1相机路径可以包括类似静态相机、线性运动和恒定加速的分段。在另一个示例中,L2最小化可以被用来使得以上导数平均地最小化而产生小的但可能非零的梯度(例如,其可能导致具有某个小幅非零运动的L2相机路径)。
[0029] 此外,可以确定在满足约束的同时使得以上导数最小化的相机路径P(t)。可以使用各种约束,诸如包含、近似和显著性约束。作为约束的示例,可以将与给定裁切窗口变换相关联的裁切窗口约束为给定大小,该裁切窗口变换可以将原始相机路径变换为经修改的相机路径。
[0030] 视频稳定模块104可以被配置为使用迭代方法来确定最优裁切窗口大小。该迭代方法的目标可以是确定平滑的相机路径同时去除或裁切掉尽可能少的内容。
[0031] 在该迭代方法中,视频稳定模块104可以被配置为选择裁切窗口大小并且确定将原始路径变换为经修改的路径的相对应裁切窗口变换。视频稳定模块104可以被配置为确定指示经修改的路径的平滑程度的平滑度量并且将该平滑度量与第一预定阈值进行比较以确定所选择的裁切窗口大小是否为最优。在一个示例中,如果平滑度量超过第一预定阈值,则裁切窗口大小可以被指定为最优。在该示例中,如果平滑度量没有超过第一预定阈值,则可以选择更小的裁切窗口大小并且能够针对相应经修改的路径确定相应平滑度量。在该示例中,视频稳定模块104可以被配置为选择连续更小的裁切窗口大小并且确定连续的平滑度量直至对应于给定裁切窗口大小的给定平滑度量可以超过第一预定阈值。在该示例中,视频稳定模块104还可以被配置为使用连续更小的裁切窗口大小继续进行迭代并且被配置为将与两个相应裁切窗口大小相关联的两个连续平滑度量之间的差值与第二预定阈值进行比较以确定更小的裁切窗口大小是否可以提高相应经修改的相机路径的平滑。
如果该差值与第二预定阈值的比较指示更小的裁切窗口大小可以提高平滑,则可以继续迭代。如果否,则更小的裁切窗口大小可能无法充分提高平滑而证明从所接收的视频裁切掉更多内容合适。
[0032] 作为该迭代方法的结果,可以确定最优裁切窗口大小和相对应的最优裁切窗口变换。例如,视频转换模块106可以被配置为向所记录的视频应用最优裁切窗口变换以对所记录视频进行重构,就像该视频是从平滑的相机路径记录,而从所记录的视频去除晃动。
[0033] 系统100的一个或多个所描述的功能或组件可以被划分为另外的功能或物理组件,或者合并为更少的功能或物理组件。在一些另外的示例中,可以向图1所示的示例增加另外的功能和/或物理组件。更进一步地,相机路径估计模块102、视频稳定模块104和/或视频转换模块106中的任一个可以包括处理器或者以处理器的形式提供,该处理器(例如,微处理器、数字信号处理器(DSP)等)被配置为执行包括用于实施这里所描述的逻辑功能的一个或多个指令的程序代码。系统100可以进一步包括任意类型的计算机可读介质(非瞬时介质)或存储器以存储程序代码,例如包括磁盘或硬盘的存储设备。在其它示例中,系统100可以包括在其它系统内。
[0034] 图2是图示包括最优动态裁切和适配稳定系统202的视频托管服务200的系统视图的框图。多个用户/观看者可以使用客户端204A-N以向视频托管服务200发送视频托管请求,诸如向视频托管网站上传视频,以及从视频托管服务200接收所请求的服务。视频托管服务200可以被配置为经由网络206与一个或多个客户端204A-N进行通信。视频托管服务200可以通过有线或无线连接从客户端204A-N接收视频托管服务请求。
[0035] 转向图2所示的个体实体,每个客户端204A-N可以被用户用来请求视频托管服务。例如,用户可以使用客户端204A发送用于上传视频以便共享或者播放视频的请求。客户端204A-N可以是任意类型的计算机设备,诸如个人计算机(诸如,台式机、笔记本、平板电脑、膝上电脑),以及诸如移动电话个人数字助理或支持IP的视频播放器之类的设备。客户端204A-N可以包括处理器、显示设备(或者到显示设备的输出)和诸如客户端204A-N向其存储用户在执行任务时所使用的数据的硬盘或闪存设备的本地存储,以及用于经由网络206耦合至视频托管服务200的网络接口
[0036] 客户端204A-N可以包括用于播放视频流的视频播放器208A-N(例如,来自Adobe TMSystems公司的Flash 播放器,或者专有视频播放器)。视频播放器208A-N可以是独立应用,或者是针对诸如网络或互联网浏览器的其它应用的插件。在客户端204A-N是通用设备(即,台式计算机、移动电话)的情况下,播放器208A-N可以被实施为由计算机执行的软件
在客户端204A-N是专用设备(例如,专用视频播放器)的情况下,播放器208A-N可以以硬件或者硬件和软件的组合来实施。播放器208A-N可以包括用户界面控件(和相对应的应用编程接口),用于选择视频馈送,开始、停止和倒退视频馈送。而且,播放器208A-N可以在用户界面中包括视频显示格式选择,其被配置为指示视频显示格式(例如,标清电视或高清电视)。也可以使用其它类型的用户界面控件(例如,按钮、键盘控件)以控制播放器
208A-N的播放和视频格式选择功能。
[0037] 网络206使得能够在客户端204A-N和视频托管服务200之间进行通信。在一个示例中,网络206是互联网,并且使用目前已知或后续研发的标准化网络间通信技术和协议,其使得客户端204A-N能够与视频托管服务200进行通信。在另一个示例中,网络206可以是无线蜂窝网络,其使得能够在客户端204A-N和视频托管服务200之间进行无线通信。
[0038] 视频托管服务200包括最优动态裁切和视频稳定系统202、视频服务器210、摄取服务器212和视频数据库216。视频服务器210可以被配置为响应于用户视频托管服务请求而派发来自视频数据库216的视频。摄取服务器212可以被配置为接收用户上传的视频并且将视频存储在视频数据库216中。视频数据库216可以被配置为存储用户上传的视频以及由最优动态裁切和视频稳定系统202所处理的视频。在一个示例中,视频数据库216存储大型数据库集。
[0039] 最优动态裁切和视频稳定系统202可以包括相机路径估计模块218、视频稳定模块220和视频转换模块222。系统202可以被配置为从摄取服务器212接收用户所上传的视频,并且对该视频执行视频稳定。
[0040] 视频托管服务200可以被配置为从客户端204A-N中的客户端接收视频,并且接收请求稳定视频的客户端的用户通过单个动作所给出的单一命令。基于该单一命令,耦合至视频托管服务200的最优动态裁切和视频稳定系统202可以被配置为对视频进行处理以确定最优裁切窗口大小并且相应地确定用于从相对应的最优相机路径对视频进行重构的最优裁切窗口变换。从最优相机路径的视点所重构的稳定的经修改的视频然后被提供给用户。在另一个示例中,用户可以手工选择给定的裁切窗口大小,并且使用手工选择的给定裁切窗口从视频托管服务200请求将视频重构为给定的经修改的视频。
[0041] 图3A-3B是依据这里所描述的至少一些实施例的为了视频稳定而使用最优裁切来处理视频的方法的示例流程图。图3A-3B所示的方法300提供了示例方法,其例如可以随系统100和200使用,并且可以由设备、服务器或者设备和服务器的组合来执行。
[0042] 方法300可以包括由框302-326中的一个或多个所图示的一个或多个操作、功能或动作。虽然这些框以连续顺序进行图示,但是这些框在一些情况下可以并行执行,和/或以与这里所描述的不同的顺序来执行。而且,各个框可以被组合为更少的框、划分为另外的框,和/或基于所期望的实施方式被去除。
[0043] 此外,对于方法300以及这里所公开的其它处理和方法,流程图示出了本实施例的一种可能实施方式的功能和操作。在该方面,每个框可以表示程序代码的模块、分段或一部分,其包括可由处理器执行以便实施过程中的特定逻辑功能或步骤的一个或多个指令。该程序代码可以存储在任意类型的计算机可读介质或存储器上,例如包括磁盘或硬盘的存储设备。计算机可读介质可以包括非瞬时计算机可读介质,诸如在短期内存储数据的计算机可读媒体,如寄存器存储器、处理器高速缓存和随机访问存储器(RAM)。计算机可读介质还可以包括非瞬时介质或存储器,诸如二级或持久性长期存储,例如只读存储器(ROM)、光盘或磁盘、紧致盘只读存储器(CD-ROM)。计算机可读介质还可以是任意其它的易失性或非易失性存储系统。例如,计算机可读介质可以被认为计算机可读存储介质、有形存储设备或者其它制造品。
[0044] 此外,对于方法300以及这里所公开的其它过程和方法,图3中的每个框可以表示被连线以执行该过程中的特定逻辑功能的电路
[0045] 在框302,方法300包括接收所记录的视频。相机例如可能已经记录了视频,并且该视频可能已经被上传并且在诸如计算机、膝上电脑、移动电话等的设备或服务器处被接收。
[0046] 在框304,方法300包括估计记录视频的相机的原始移动路径。耦合至接收视频的设备或服务器的处理器或计算设备可以基于所接收的视频内的对象或图像的运动来估计记录该视频的相机的路径。可以通过提取视频帧中的可追踪特征、匹配特征、并且执行局部异常值抛弃而去除可能使得运动估计失真的虚假匹配来估计相机路径。线性运动模型(例如,转换、相似性、仿射)可以对被追踪特征进行拟合以估计两个帧之间的相机运动,并且能够将该运动模型变换至共用坐标系统并且进行连接以在所有视频帧上产生估计的原始相机路径。本领域技术人员将会意识到,能够使用其它算法和部署形式以及其它元件来估计相机的原始运动路径。
[0047] 相机晃动会导致所记录的视频中可看到的帧至帧抖动。例如,由于握持相机的操作人员在记录期间的运动(例如,操作人员在记录视频时可能在驾车),手持记录的视频可能比使用安装有三脚架的相机所记录的视频感觉上更为晃动。图4示出了示例的原始相机路径402,其图示出了这样的相机晃动。从根据原始相机路径402进行移动的相机所记录的视频可能包括晃动的视频部分,其可能需要进行稳定。
[0048] 在框306,方法300包括选择裁切窗口大小并且确定第一裁切窗口变换,其将相机的原始运动路径修改为第一经修改的运动相机路径。为了对视频进行稳定,处理器可以被配置为确定平滑或最优的经修改的相机路径。例如,平滑或最优的相机路径P(t)可以被划分为三个分段,其中在每个时间t仅存在一个分段:表示静态相机的恒定路径,即表示摇摄或移动摄像车拍摄的恒定速度的路径,即 和可以表示静态和摇摄相机之间的慢速开始和慢速结束变换的恒定加速度的路径,即 两个不同分段的连接可以具有感觉上无限的加速度,其在视频中可作为突然移动而被注意到,并且因此可以使用恒定加速度的路径。例如,给定连续的原始相机路径运动C(t),所期望的平滑路径P(t)可以被表示为:
[0049] P(t)=C(t)*B(t) 等式(1)-1
[0050] 其中B(t)=C(t) P(t)能够被称之为裁切窗口变换,其能够被应用于所记录的视频内的每个视频帧以从平滑路径P(t)的视点获得稳定视频。
[0051] 稳定或平滑的相机运动路径能够通过执行具有所施加约束的L1优化而进行估计。示例约束可以包括将与裁切窗口变换B(t)相关联的裁切窗口限制为在框306所选择的裁切窗口大小(例如,给定视频帧大小的95%)。该优化可以通过使得以下目标函数最小化而确定稳定的相机路径P(t):
[0052] 等式(2)
[0053] 其具有线性权重a、b和c,使得与B(t)相关联的裁切窗口例如被限制为所选择的裁切窗口大小。裁切窗口变换B(t)可以通过对每个视频帧应用与裁切窗口变换B(t)相关联的裁切窗口以去除该裁切窗口之外的所有内容而去除视频或视频帧内的空间内容以使得该视频稳定。例如,能够通过将每个导数设置为等于零而使得等式(2)最小化。因此,导数能够在沿相机路径的不同点(例如,每帧)进行定义,并且导数能够在每一点(每一帧)被确定。
[0054] 在一个示例中,使得该目标函数最小化以及确定经修改的运动相机路径可以包括对所接收的视频的每一帧进行采样并且在每一帧上执行计算。替选地,为了可能地提高计算效率,作为示例,可以通过因数k对所接收的视频的帧进行时间二次采样。在该示例中,第k帧的第k变换可以被之前的k个变换的串联所替代。时间二次采样因此可以包括使得以下经修改的目标函数最小化:
[0055] 等式(3)
[0056] 同样,使用链式规则,等式(3)可以被写为:
[0057] 等式(4)i
[0058] 等式(4)可以建议被乘以第i个导数的线性权重可以进一步被乘以k 以实现时间二次采样。
[0059] 返回参考图4,图示了示例的最优相机路径404。最优相机路径404例如可以去除原始相机路径402中所包括的部分抖动和高频运动。
[0060] 返回参考图3A,在框306,针对所选择的裁切窗口大小,可以通过使得等式(2)或等式(4)中的目标函数O(P)最小化来确定第一裁切窗口变换和第一经修改的路径。在第一经修改的路径进行评估的目标函数可以被表达为O(P1)。第一经修改的路径越平滑,第一目标函数O(P1)就越小。
[0061] 在框308,方法300包括针对经第一修改的运动相机路径确定第一平滑度量。针对在框306所确定的第一经修改的路径,可以确定第一平滑度量。对应于在第一经修改的路径所评估的目标函数O(P1)的第一平滑度量可以被表达为S(P1)。例如,第一平滑度量可以是O(P1)的函数。作为具体示例,由于目标函数值越小,相对应的经修改的路径就可以越平滑,所以平滑度量可以包括在相对应的经修改的路径所评估的目标函数的倒数。在具体示例中,在相对应的经修改的路径所评估的目标函数越小,该目标函数的倒数就越大并且因此平滑度量越大。可能有产生指示给定经修改的路径的平滑程度的值的其它函数。
[0062] 在决策框310,方法300可以包括确定与第一经修改的路径相关联的第一平滑度量是否超过第一预定阈值。处理器可以将在框308所确定的第一平滑度量S(P1)与第一预定阈值进行比较。在一个示例中,第一预定阈值可以表示平滑的绝对平,其可以指示第一经修改的路径有多接近成为恒定路径。例如,接近于零的目标函数值O(P1)可以指示第一经修改的路径可能接近于成为恒定路径。接近于零的(例如,低于大约0.002)目标函数值或者相对应的平滑度量(例如,大于大约500)例如可以被选择为第一预定阈值。可以选择其它值。在其它示例中,该目标函数值可以被选择为平滑指示符,并且方法300可以包括在框310确定作为平滑指示符的该目标函数值是否可能低于给定阈值。在描述方法300的框310时使用超过第一预定阈值仅是为了说明。通常,平滑度量可以与给定阈值进行比较以确定第一经修改的路径有多接近成为恒定路径。
[0063] 在框312,方法300包括对所记录的视频应用第一裁切窗口变换。例如,如果第一平滑度量与第一预定阈值顺利比较(例如,第一平滑度量S(P1)超过第一预定阈值,或者替选地目标函数O(P1)低于给定阈值),则裁切窗口大小可以被指定为最优并且处理器可以对所接收的视频应用第一裁切窗口变换以从第一经修改的路径的视点提供经修改的(更平滑的)视频。与第一裁切窗口变换B(t)相关联—并且被限制为所选择的裁切窗口大小并被确定为最优—的裁切窗口可以被应用于所接收的视频的帧以去除帧内的空间内容并使得所接收的视频稳定。
[0064] 图5图示了示例视频帧和示例裁切窗口。矩形帧502可以是原始视频帧,并且裁切窗口504可以是经变换的裁切窗口—其由第一裁切窗口变换B(t)进行变换—并且可以被限制为所选择的裁切窗口大小并被确定为最优。在图5中,作为示例,裁切窗口504被示为通过第一裁切窗口变换B(t)而关于z轴旋转。裁切窗口变换B(t)所变换的裁切窗口的四506A-D被示为处于矩形帧502内。
[0065] 现在参考图3B,在框314,方法300包括选择更小的裁切窗口大小(例如,90%)。在一个示例中,利用在框306所选择的裁切窗口大小不可能超过第一预定阈值,并且可以选择第二个更小的裁切窗口大小而从所接收的视频中去除更多内容以稳定所接收的视频。
[0066] 在框316,方法300包括确定第二裁切窗口变换,其将相机的原始运动路径变换为第二经修改的运动相机路径。处理器可以确定对应于所选择的更小裁切窗口大小的第二裁切窗口变换。该第二裁切窗口变换可以将相机的原始运动路径修改为第二经修改的运动相机路径。
[0067] 在框318,方法300包括针对第二经修改的运动相机路径确定第二平滑度量。处理器可以确定对应于第二经修改的运动相机路径的第二平滑度量S(P2)。第二平滑度量S(P2)可以指示第二经修改的运动相机路径的平滑程度并且可以包括在第二经修改的运动相机路径所评估的目标函数O(P2)的函数。
[0068] 在框320,方法300确定第二平滑度量S(P2)是否超过第一预定阈值。类似于在框310处的描述,第二平滑度量可以与第一预定阈值进行比较,这可以表示平滑的绝对水平并且可以指示第二经修改的路径有多接近成为恒定路径。
[0069] 在框322,方法300包括对所记录的视频应用第二裁切窗口变换。例如,如果第二平滑度量与第一预定阈值顺利比较(例如,第二平滑度量S(P2)超过第一预定阈值,或者替选地目标函数O(P2)低于给定阈值),则更小的(第二)裁切窗口大小可以被指定为最优并且处理器可以对所接收的视频应用第二裁切窗口变换以从第二经修改的路径的视点提供经修改的(更平滑的)视频。
[0070] 在框324,方法300包括确定第一平滑度量和第二平滑度量之间的比率是否超过第二阈值。第一平滑度量和第二平滑度量之间的数值变化可以被确定以评估选择更小的裁切窗口对于经修改的路径的平滑并且因此所接收的视频的影响。在一个示例中,该变化能够通过评估第一平滑度量和第二平滑度量之间的差值而确定。在另一个示例中,可以确定第一平滑度量和第二平滑度量之间的比率以指示第二经修改的路径与第一经修改的路径相比的相对平滑。第一平滑度量和第二平滑度量之间的比率可以被确定并且与可以被称作相对平滑阈值的第二预定阈值rs进行比较。第一平滑度量和第二平滑度量之间的比率可以被表达为 例如,如果平滑度量被确定为目标函数值的倒数,则这可以等同地被表达为第二和第一目标函数值之间的比率 作为具体示例,超过第二预定阈值rs=0.8的比率 (即,从第一目标函数值到第二目标函数值的数值变化小于第一目标函数值的20%)可以指示使用更小的裁切窗口可能并被证明合适。在该具体示例中,第二平滑度量在数值上可能接近于第一平滑度量,使得对应于更小裁切窗口大小的第二经修改的路径可能并非足够大值地比第一经修改的路径更加平滑而证明裁切掉更多内容是合适的。在该具体示例中,第一经修改的路径可以被指定为最优。可以使用其它的rs数值。也可以使用相对平滑的其它量度。例如,可以计算第二平滑度量和第一平滑度量之间的差值并且将其与给定阈值进行比较。如果该差值小于给定阈值,则例如可以将第一裁切窗口指定为最优。计算第一平滑度量和第二平滑度量之间的比率被用来对方法300进行描述,仅用于说明。
[0071] 在框326,方法300可以包括对所记录的视频应用第一裁切窗口变换。例如,如果在框324所确定的比率与第二预定阈值顺利比较(例如 或者替选地),则可以将更大的(第一)裁切窗口指定为最优并且处理器可以对所接收的视频应用第一裁切窗口变换,以从第一经修改的路径的视点提供经修改的(更平滑的)视频。
[0072] 如果在框324,方法300确定第一平滑度量和第二平滑度量之间的比率没有超过第二预定阈值,则可以通过选择甚至更小的裁切窗口大小并重复方法300中的步骤继续进行迭代,直至可以满足在框320或324所描述的任一条件。也就是说,直至给定平滑度量超过了第一预定(绝对平滑)阈值,或者对应于两个连续裁切窗口大小的两个平滑度量之间的比率超过了第二预定(相对平滑)阈值。
[0073] 图6A图示了示出目标函数值关于给定视频的裁切窗口大小的变化的示例图形。更具体地,图6A针对原始的所接收的视频帧大小的裁切窗口大小95%、90%、85%、80%和
75%示出了目标函数O(P)的数值。对于裁切窗口大小95%、90%和85%,目标函数值高于绝对平滑阈值(例如,0.002),这可以指示平滑度量没有超过第一预定阈值。对于裁切窗口大小80%,目标函数值被示为低于0.002,这可以指示平滑度量超过了第一预定阈值。针对该示例,裁切窗口大小80%可以被指定为最优并且可以对所接收的视频应用相对应的裁切窗口变换以提供更为平滑的视频。
[0074] 图6B图示了示出目标函数值关于裁切窗口大小的变化的另一视频的另一示例图形。在图6B中,目标函数值没有低于0.002的绝对平滑阈值,这可以指示针对该视频不可能确定可作为具有接近于零的相对应目标函数的恒定路径的最优经修改的路径。
[0075] 在图6B中,相对平滑度量rs=0.8由虚线指示。通过确定实线是否局部高于或低于虚线,可以将目标函数值的数值变化与该相对平滑阈值rs进行比较。例如,对应于两个连续裁切窗口大小的两个目标函数值之间小于相对平滑阈值rs的比率可以由局部低于虚线的实线所指示。大于相对平滑阈值rs的比率可以由局部高于虚线的实线所指示。
[0076] 如图6B中的具体示例,两个连续裁切窗口大小80%和75%之间的目标函数值的变化大于相对平滑度量阈值rs 这由局部高于虚线的实线所指示。在该具体i示例中,小于80%的裁切窗口大小(例如,75%)可能并没有充分提高平滑以证明丢弃更多内容是合适的。在该具体示例中,因此可以认为80%的裁切窗口大小是最优的。
[0077] 在一些示例中,除了所接收的视频可能出现晃动的给定部分之外,所接收的视频可能已经是稳定视频。例如,所接收的视频可能由驾车的用户所拿着的相机进行记录,并且车辆行驶可能除了遇到一系列可能导致相机晃动并且使得该相机所记录的视频包括晃动部分的颠簸之外都是平滑的。对于作为整体的视频而言,全局最优裁切窗口大小例如可以使用方法300来确定。然而,该全局最优裁切窗口大小可能被确定为从视频中裁切掉内容而使得该视频的晃动部分中的视频稳定,但是也去除了该视频中其它可能稳定的部分中的内容。
[0078] 作为确定全局最优裁切窗口的替选,所接收的视频可以被划分为多个分段并且可以针对每个分段确定最优裁切窗口大小。每个分段可以包括若干帧的序列。可以使用时间分区,使得每个分段可以为给定时间长度(例如,大约3-5秒)。可以使用任意的时间分区并且分段可以为相同时间长度或者包括相同数量的帧或者可以不为相同时间长度或者包括相同数量的帧。
[0079] 针对包括晃动部分的视频分段所确定的最优裁切窗口可能很小(例如,原始视频帧大小的75%)以使得视频的晃动部分稳定,而其它分段的最优裁切窗口则可能很大(例如,原始视频帧大小的95%),这是因为其它分段与包括晃动部分的分段相比已经是更为稳定且平滑的。针对视频的不同视频分段确定不同裁切窗口大小可以被称作动态裁切。
[0080] 图7A-7B图示了示出目标函数值关于视频内的多个视频分段的裁切窗口大小的变化的示例图形。具体地,图7A图示了目标函数值关于视频的三个剪辑的裁切窗口大小的变化。对于剪辑1,例如,最优裁切窗口大小可以被确定为80%,即80%的裁切窗口大小使得剪辑1的目标函数值低于绝对平滑阈值(例如,0.002)。对于剪辑2和3,如图7A所示,最优裁切窗口大小可以被确定为85%。
[0081] 图7B图示了随另一视频中所包括的三个剪辑的裁切窗口大小变化的目标函数值的另一个示例。在图7B中,三个剪辑的目标函数值可以不与绝对平滑阈值(例如,0.002)相交,并且可以使用相对平滑阈值来为这三个剪辑确定最优裁切窗口大小。当虚线针对给定剪辑可能局部低于实线时,可以确定该给定剪辑的最优裁切窗口大小。在图7B中,对于剪辑1,80%的裁切窗口大小可以被认为是最优的;对于剪辑2,90%的裁切窗口大小可以被认为是最优的;而对于剪辑3,85%的裁切窗口大小可以被认为是最优的。剪辑1可能已经要求了更小的裁切窗口大小,则表示剪辑1可能包括比剪辑2和3更加晃动或更不稳定的部分。对于图7B中的视频剪辑,如果针对作为整体的视频确定全局最优裁切窗口大小,则会选择80%的裁切窗口大小而使得剪辑1稳定,但是会丢弃来自剪辑2和3中的更多内容却并未使得剪辑2和3更为平滑。
[0082] 图8A-8H图示了来自不同的概念视频分段的示例视频帧以及具有变化大小的示例裁切窗口。图8A、8C、8E和8G以连续顺序图示了所记录并且包括晃动和不稳定视频内容的视频帧。图8B、8D、8F和8H则图示了去除了抖动和高频输入并且能够以连续顺序进行播放来表示原始视频的平滑版本的经修改的视频帧。
[0083] 例如,图8A示出了从视频的原始第一视频分段所获得的原始帧,而图8B则示出了在对图8A的原始帧应用原始帧大小的80%的最优裁切窗口802之后的修改帧。最优裁切窗口802例如已经通过方法300进行了评估。而且,图8C示出了从视频的原始第二视频分段所获得的原始帧,而图8D则示出了在对图8C的原始帧应用原始帧大小的85%的最优裁切窗口804之后的修改帧。类似地,图8E示出了从视频的原始第三视频分段所获得的原始帧,而图8F则示出了在对图8E的原始帧应用原始帧大小的90%的最优裁切窗口806之后的修改帧。而且,图8G示出了从视频的原始第四视频分段所获得的原始帧,而图8H则示出了在对图8G的原始帧应用原始帧大小的95%的最优裁切窗口808之后的修改帧。最优裁切窗口大小可以表明原始第二视频分段可能比原始第一视频分段更为平滑,因为针对原始第一视频分段所确定的最优裁切窗口大小小于针对原始第二视频分段所确定的最优裁切窗口大小。类似地,原始第三视频分段可能比原始第二视频分段更为平滑或更加稳定,并且原始第四视频分段可能比原始第三视频分段更为平滑或更加稳定。在图8A-8H中,基于针对相应视频分段所确定的相应裁切窗口变换,给定裁切窗口可以绕z轴旋转或者关于相应原始帧的中心转换。
[0084] 在一个示例中,为了跨剪辑实现一致性,视频可以被划分为多于一个视频分段,使得两个连续视频分段的给定部分在预定时间段内重叠。在该给定部分中,可以通过对针对这两个连续视频分段中的第一视频分段所确定的第一经修改的运动相机路径进行缩放而确定这两个连续视频分段中的第二视频分段的第二经修改的运动相机路径。可以针对第一分段确定第一最优裁切窗口大小copt,i,并且可以针对第二分段确定第二最优裁切窗口大小copt,i+1。第二视频分段的第二经修改的运动相机路径Pi+1可以在与第一分段相重叠的给定部分中被限制为Pi+1=Pi·S,其中S可以被定义为相似性或具有统一比例 缩放变换。
[0085] 图9是在依据这里所描述的至少一些实施例进行部署的计算系统中使用的示例计算设备900的功能框图。该计算设备可以是个人计算机、移动设备、蜂窝电话、视频游戏系统或全球定位系统,并且可以被实施为客户端设备、服务器、系统、它们的组合,或者被实施为图1-2中所描述的组件的一部分。在基本配置902中,计算设备900可以包括一个或多个处理器910和系统存储器920。存储器总线930可以被用于在处理器910和系统存储器920之间进行通信。根据所期望的配置,处理器910可以是任意类型,包括但并不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或者它们的任意组合。还可以随处理器910使用存储器控制器915,或者在一些实施方式中,存储器控制器915可以是处理器910的内部部分。
[0086] 根据所期望的配置,系统存储器920可以是任意类型,包括但并不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任意组合。系统存储器920可以包括一个或多个应用922以及程序数据924。应用922可以包括依据本公开的最优且动态裁切算法923,其被配置为向电路提供输入。程序数据924可以包括能够指向任意类型的数据的内容信息925。在一些示例实施例中,应用922可以被配置为利用程序数据
924在操作系统上进行操作。
[0087] 计算设备900可以具有另外的特征或功能以及用于在基本配置902与任意设备和接口之间促成通信的另外的接口。例如,可以提供包括可移动存储设备942、非可移动存储设备944或者其组合的数据存储设备940。作为举例,可移动存储和非可移动存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘设备,诸如紧致盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器,固态驱动器(SSD)以及带式驱动器。计算机存储介质可以包括以用于信息存储的任意方法或技术所实施的易失性和非易失性、非瞬时、可移动和非可移动介质,上述信息诸如计算机可读指令、数据结构、程序模块或其它数据。
[0088] 系统存储器920和存储设备941是计算机存储介质的示例。计算机存储介质包括但并不安于RAM、ROM、EEPROM、闪存或其它存储器技术;CD-ROM、数字多功能盘(DVD)或其它光学存储;磁性卡盒、磁带、磁盘存储或其它磁性存储设备;或者能够被用来存储期望信息并且能够被计算设备900访问的任意其它介质。任意这样的计算机存储介质都可以是设备900的一部分。
[0089] 计算设备900还可以包括输出接口950,其可以包括图形处理单元952,其可以被配置为经由A/V端口954或通信接口970中的一个或多个与诸如显示设备960或扬声器之类的各种外部设备进行通信。通信接口970可以包括网络控制器972,其能够被配置为通过网络通信经由一个或多个通信端口974而促成与一个或多个其它计算设备980和一个或多个传感器982的通信。一个或多个传感器982被示为处于计算设备900之外,但是也可以处于设备内部。通信连接是通信介质的一个示例。通信介质可以由计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制的调制数据信号中的其它数据所体现,并且包括任意信息传递介质。调制数据信号可以是具有其一个或多个特征集合或者以将信息编码在信号中的方式进行变化的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接线路连接的有线介质,以及诸如声音、射频(RF)、红外(IR)的无线介质以及其它无线介质。
[0090] 计算设备900可以被实施为诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线web手表设备、个人机设备、应用特定设备或者包括以上任意功能的混合设备的小型形式因素的便携式(或移动)电子设备的一部分。计算设备900还可以被实施为包括膝上计算机和非膝上计算机配置的个人计算机。
[0091] 在一些实施例中,所公开的方法可以被实施为以机器可读格式编码在计算机可读存储介质上或者在其它非瞬时介质或制造品上的计算机程序指令。图10是图示示例计算机程序产品1000的概念部分视图的示意图,其包括用于在根据这里所给出的至少一些实施例进行部署的计算设备上执行计算机过程的计算机程序。在一个实施例中,示例计算机程序产品1000使用信号承载介质1001提供。信号承载介质1001可以包括一个或多个程序指令1002,当被一个或多个处理器执行时,程序指令1002可以提供以上参考图1-9所描述的功能或部分功能。因此,例如,参考图3A-3B中所示的实施例,框302-326的一个或多个特征可以由与信号承载介质1001相关联的一个或多个指令来实施。此外,图10中的程序指令1002还描述了示例指令。
[0092] 在一些示例中,信号承载介质1001可以包含计算机可读介质1003,诸如但并不限于硬盘驱动器、紧致盘(CD)、数字多功能盘(DVD)、数字带、存储器等。在一些实施方式中,信号承载介质1001可以包含计算机可记录介质1004,诸如但并不限于存储器、读/写(R/W)CD、R/W DVD等。在一些实施方式中,信号承载介质1001可以包含通信介质,诸如但并不限于数字和/或模拟通信介质(例如,光纤线缆、波导、有线通信链路、无线通信链路等)。因此,例如,信号承载介质1001可以通过无线形式的通信介质1005(例如,符合IEEE 802.11标准或其它传输协议的无线通信介质)进行传递。
[0093] 一个或多个程序指令1002例如可以是计算机可执行和/或逻辑实施的指令。在一些示例中,诸如图9的计算设备900的计算设备可以被配置为响应于由计算机可读介质1003、计算机可记录介质1004和/或通信介质1005中的一个或多个传递至计算设备900的程序指令而提供各种操作、功能或动作。应当理解的是,这里所描述的部署形式仅是出于示例的目的。因此,本领域技术人员将会意识到,能够另外使用其它的部署形式或其它元件(例如,机器、接口、功能、顺序和功能分组等),并且一些元件可以根据所期望的结果而一起被省略。另外,所描述的许多元件是可以被实施为离散或分布式组件并且以任意适当组合和位置与其它组件相结合的功能实体。
[0094] 虽然这里已经描述了各个方面和实施例,但是其它方面和实施例对于本领域技术人员将是显而易见的。这里所描述的各个方面和实施例是出于说明的目的而并非意在对以下权利要求所指示的实际范围以及这些权利要求所保护的等同形式的完整范围进行限制。还要理解的是,这里所使用的术语仅是出于描述特定实施例的目的而非意在作为限制。
相关专利内容
标题 发布/更新时间 阅读量
定向声音修改 2020-05-13 713
修改对话窗口 2020-05-13 593
修改液笔 2020-05-11 430
修改对象的基层 2020-05-12 643
业务流修改流程 2020-05-13 464
修改比特流 2020-05-12 695
修改液笔 2020-05-11 350
修改设备通知 2020-05-13 653
修改液 2020-05-11 792
错字修改笔 2020-05-12 309
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈