![视频片段中的定时元素的制作方法](http://img.xjishu.com/img/zl/2021/9/28/bxhmjtenu.jpg)
1.本公开总体上涉及编辑视频片段(video clip),更具体地说,涉及向视频片段的部分添加定时元素(timed element)。
2.背景
3.视频是向人们传递信息和提供娱乐的一种流行方式。视频共享服务允许视频片段被记录并与用户网络共享。视频片段在被共享之前可以出于各种目的进行编辑。不幸的是,传统的视频共享服务提供有限的视频编辑能力。
4.概述
5.本主题公开提供了用于编辑视频片段的系统和方法。根据各方面,允许用户向视频片段的一部分添加定时元素。例如,定时元素可以与视频片段的部分相关联以添加上下文。
6.根据本公开的一个实施例,提供了一种用于编辑视频片段的计算机实现的方法。该方法包括通过用户界面显示视频片段的预览。该方法还包括通过用户界面向视频片段添加定时元素。该方法还包括通过可调整时间线(timeline)来调整定时元素的定时,该可调整时间线基于视频片段的长度。该方法还包括调整定时元素在视频片段中的位置。该方法还包括最终确定视频片段以包含定时元素。
7.根据本公开的一个实施例,提供了一种系统,该系统包括处理器和存储器,该存储器包括存储在其上的指令,当该指令被处理器执行时,使得处理器执行用于编辑视频片段的方法。该方法包括通过用户界面显示视频片段的预览。该方法还包括通过用户界面向视频片段添加定时元素。该方法还包括通过可调整时间线来调整定时元素的定时,该可调整时间线基于视频片段的长度。该方法还包括调整定时元素在视频片段中的位置。该方法还包括最终确定视频片段以包含定时元素。
8.根据本公开的一个实施例,提供了一种包括指令(例如,存储的指令序列)的非暂时性计算机可读存储介质,当由处理器执行时,该指令使得处理器执行用于编辑视频片段的方法。该方法包括通过用户界面显示视频片段的预览。该方法还包括通过用户界面向视频片段添加定时元素。该方法还包括通过可调整时间线来调整定时元素的定时,该可调整时间线基于视频片段的长度。该方法还包括调整定时元素在视频片段中的位置。该方法还包括最终确定视频片段以包含定时元素。
9.根据本公开的一个实施例,提供了一种系统,该系统包括用于存储指令的装置,以及用于执行所存储的指令的装置,当该指令被装置执行时,使得装置执行用于编辑视频片段的方法。该方法包括通过用户界面显示视频片段的预览。该方法还包括通过用户界面向视频片段添加定时元素。该方法还包括通过可调整时间线来调整定时元素的定时,该可调整时间线基于视频片段的长度。该方法还包括调整定时元素在视频片段中的位置。该方法还包括最终确定视频片段以包含定时元素。
附图说明
10.为了容易识别任何特定元素或动作的讨论,附图标记中的最高有效数字是指首次引入该元素的图号。
11.图1a
‑
图1d示出了根据本公开的某些方面的示例性视频片段记录工具。
12.图2a
‑
图2d示出了根据本公开的某些方面的示例性视频片段编辑工具。
13.图3a
‑
图3f示出了根据本公开的某些方面的示例性视频片段后期编辑(post
‑
editing)工具。
14.图4a
‑
图4c示出了根据本公开的某些方面的视频片段的示例性后期编辑回放。
15.图5示出了根据一个或更多个实施方式的被配置用于编辑视频片段的系统。
16.图6示出了根据本公开的某些方面的用于编辑视频片段的示例流程图。
17.图7是示出示例计算机系统(例如,表示客户端和服务器)的框图,利用该示例计算机系统可以实现本主题技术的各方面。
18.在一个或更多个实施方式中,可能不需要每个图中描绘的所有组件,并且一个或更多个实施方式可以包括图中未示出的附加组件。在不脱离本主题公开的范围的情况下,可以对组件的布置和类型进行变化。在本主题公开的范围内,可以使用附加的组件、不同的组件或更少的组件。
19.详细描述
20.在以下详细描述中,阐述了许多具体细节以提供对本公开的全面理解。然而,对于本领域的普通技术人员来说,明显的是,可以在没有这些具体细节中的一些具体细节的情况下实施本公开的实施例。在其他情况下,没有详细示出众所周知的结构和技术,以免模糊本公开。
21.视频是向人们传递信息和提供娱乐的一种流行方式。视频共享服务允许视频片段被记录并与用户网络共享。视频片段在被共享之前可以出于各种目的进行编辑。不幸的是,传统的视频共享服务提供有限的视频编辑能力。
22.本主题公开提供了用于编辑视频片段的系统和方法。允许用户编辑一系列视频片段中先前记录的视频片段,而不必重新记录这些视频片段中的任一个。例如,视频片段可以被修剪(trim)以提高视频片段系列的连续性。
23.所公开的系统解决了传统视频编辑中与计算机技术相关的问题,即编辑一系列视频片段中先前记录的视频片段的技术问题。所公开的系统通过提供同样植根于计算机技术的解决方案来解决该技术问题,即,通过提供编辑先前记录的片段而不重新记录任何内容的能力。所公开的主题技术进一步提供了对计算机本身功能的改进,因为它降低了与传统视频编辑技术相关联的处理和带宽成本。
24.图1a
‑
图1d示出了根据本公开的某些方面的示例性视频片段记录工具。参考图1a,示出了用于向视频片段添加歌曲100的用户界面。例如,用户可以从播放列表或其他来源选择将被包括在记录的视频片段内的歌曲100。一旦选择了歌曲100,用户界面就可以显示歌曲标题和艺术家姓名。用户也可以选择歌曲100的一部分104来使用。用户界面可以显示歌曲100的节拍(beat)102,以帮助用户确定使用歌曲100的哪个部分。例如,节拍102可以帮助将视频片段与歌曲100的期望部分104(例如,节拍下降的部分、某些歌词出现的部分等)相关联。根据各方面,用户界面可以被配置为显示所选部分104的歌曲100的歌词。
25.图1b示出了根据某些方面的用于调整记录速度106的用户界面。例如,记录速度106可以允许用户向正在记录的视频片段添加减速或加速效果。在一个实施方式中,用户可以在几个记录速度106之间进行选择,包括但不限于0.3x、0.5x、1x、2x和3x。例如,0.3x以正常速度的三分之一记录,0.5x以正常速度的一半记录,1x以正常速度记录,2x以正常速度的两倍记录,以及3x以正常速度的三倍记录。
26.根据各方面,以正常速度的三分之一(例如,0.3x)记录将导致视频片段比正常情况快三倍播放。类似地,以正常速度的一半(例如,0.5x)记录将导致视频片段以正常情况的两倍播放。根据各方面,以正常速度的两倍(例如,2x)进行记录将导致视频片段比正常情况慢两倍播放。类似地,以正常速度的三倍(例如,3x)进行记录会导致视频片段比正常情况慢三倍播放。
27.根据各方面,可以从数字相册加载预先记录的视频片段。预先记录的视频片段的记录速度106也可以被调整,即使预先记录的视频片段可能已经以正常速度被记录。
28.图1c示出了用于设置定时器(timer)108以记录定时视频片段的用户界面。例如,用户可以为定时记录指定长度110。在设置长度110时,可以显示倒计时,给用户一些时间来准备定时记录。例如,可以显示三秒倒计时。应当理解,倒计时可以基于用户偏好进行调整。
29.根据各方面,定时记录的长度110可以由每个视频片段的总允许长度来限制。例如,每个视频片段可以是30秒或更短。根据各方面,定时记录的长度110可以由一系列视频片段的总允许长度来限制。例如,管理员可以将一系列视频片段的总长度设置为不超过两分钟。结果,定时记录的长度110可能受到之前的视频片段的长度的限制。
30.图1d示出了可以被生成来帮助记录下一个视频片段的轮廓(silhouette)112。例如,轮廓112可以基于最后记录的视频片段的最后一帧来生成。轮廓112可以迭加(overlay)在用户界面上,使得用户可以利用轮廓112作为向导来将最后记录的视频片段的某些特征与尚未记录的下一个视频片段相匹配。
31.如图所示,轮廓112可以是来自最后记录的视频片段的用户的手。用户可以将他们的手与轮廓112对齐,使得在记录下一个视频片段时,手的放置/取向将会有连续性。应当理解,轮廓112可以包括来自先前记录的片段的最后一帧的所有特征。根据各方面,轮廓112可以显示为先前记录的片段的最后一帧的“幻影(ghost)”(例如,透明(see
‑
through))。
32.图2a
‑
图2d示出了根据本公开的某些方面的示例性视频片段编辑工具。参考图2a,显示了视频捕获用户界面。如图所示,用户可能正在记录他们的手的移动。时间线200可以显示在一系列视频片段中先前记录了多少视频片段。时间线200还可以显示视频片段系列的总长度230,其可以包括当前正在记录的视频片段。
33.根据各方面,时间线200还可以显示在达到最大视频长度之前还剩多少时间240。例如,最大视频长度可以由管理员确定。最大视频长度可以沿着用户界面的顶部宽度可视地显示。例如,用户界面的宽度可以横跨用户设备的显示宽度。因此,一旦记录长度跨越了用户设备的整个宽度,用户将知道已经达到最大视频长度。
34.图2b示出了可以在视频片段拍摄之间显示的中间用户界面。例如,中间用户界面可以包括用于添加音乐的图标204、调整记录速度的图标206、添加定时器的图标208和添加轮廓的图标210,如以上关于图1a
‑
图1d所述。
35.如以上在图2a中描述的,中间用户界面也可以显示时间线200。如图所示,时间线
200可以包括关于已经记录的一系列视频片段的信息。例如,时间线200可以包括第一视频片段202a、第二视频片段202b、第三视频片段202c、第四视频片段202d和第五视频片段202e(例如,最新(latest)视频片段)。第五视频片段202e可以是该系列视频片段(例如,视频片段202a
‑
202e)中最近记录的视频片段。视频片段202a
‑
202e中的每一个的长度可以说明每个视频片段相对于其他视频片段的长度。
36.根据各方面,中间用户界面还可以包括编辑图标212、记录图标214和拼接图标216。例如,触发(toggle)编辑图标212允许用户编辑最新视频片段,在这种情况下将是第五视频片段202e。根据各方面,编辑图标212可以显示最新视频片段的一部分的缩略图视图。在一个实施方式中,触发记录图标214将允许用户记录要添加到视频片段系列202a
‑
202e的另一个视频片段(例如,下一个视频片段)。最后,触发拼接图标216将导致视频片段系列202a
‑
202e被拼接在一起以最终确定视频片段。
37.图2c示出了用于编辑最新视频片段(例如,第五视频片段202e)的用户编辑界面。根据各方面,可以显示编辑时间线220,其示出最新视频片段的各个部分的缩略图视图。滑块224可用于导航最新视频片段。或者,用户可以按住用户设备的屏幕,并且可以向左或向右滑动以导航最新视频片段。
38.时间线200可以显示与其余视频片段(例如,视频片段202a
‑
202d)相关的最新视频片段202e。根据各方面,可以修剪最新视频片段202e。参考图2d,可以从第一端226(例如,接近视频片段的开始)或第二端228(例如,接近视频片段的结束)调整编辑时间线220以修剪视频片段202e。随着视频片段202e被修剪,时间线200被相应地更新以反映修剪后的长度(trimmed length)。
39.如图2c和图2d所示,用户编辑界面还可以包括删除图标218和接受图标222。触发删除图标218将导致视频片段202e被删除。触发接受图标222将导致编辑被实施。
40.根据各方面,视频片段的修剪掉的部分(trimmed portion)可能显示为灰色(grayed out)。如果用户决定取消修剪(un
‑
trim)视频片段,他们可以相应地调整编辑时间线220以包括修剪掉的部分。根据各方面,用户可以通过加宽和/或缩窄编辑时间线220来随意调整编辑时间线220。以这种方式,可以基于用户的偏好来修剪和/或取消修剪视频片段。
41.图3a
‑
图3f示出了根据本公开的某些方面的示例性视频片段后期编辑工具。参考图3a,可以通过用户界面300预览视频片段。例如,视频片段可能已经通过以上在图1a
‑
图2d中描述的过程获得。
42.用户界面300可以包括用于添加定时元素310的功能。例如,定时元素310可以包括文本312、自定义元素(custom element)314、贴纸(sticker)316和/或动画318。自定义元素314可以包括手绘元素,例如草图或笔迹。用户可以通过用户界面300选择用于添加到视频片段的任何定时元素310。用户界面300还可以提供用于保存320视频片段的功能。
43.根据各方面,用户界面300可以包括在各种情况下显示视频片段的缩略图的视频时间线330。例如,视频时间线330上的滚动条332可以显示视频片段的哪个部分正在被回放。滚动条332可用于滚动到视频片段的一部分。在一个实施方式中,视频片段可以在用于编辑的循环中连续播放。
44.图3b示出了向视频片段添加文本312。例如,用户可以通过图3a的用户界面300触发用于添加文本312的图标。用户可以自定义文本312的各个方面,包括字体340、背景342、
对齐344、大小346和颜色348。对齐344可以包括左对齐、右对齐、居中等选项。例如,可以通过取色器(dropper)350从视频片段中复制颜色348。可以通过用户界面300的键盘输入文本。在一个实施方式中,如图3b所示,可以通过滑块来选择大小346。
45.参考图3c,用户已经添加了文本352(例如,第一定时元素)。例如,文本352可能已经被自定义为包括黑色背景342。背景342可以包括其他背景颜色供选择。通过包括背景342,可以使文本352的内容可见,以与视频片段的颜色形成对比。
46.参考图3d,一旦添加了文本352,用户就可以将文本352拖动到与视频片段相关的任何地方。例如,中心线356可以帮助文本352在屏幕上居中。中心线356可以被配置为仅在拖动文本352时出现。在一个实施方式中,将文本352拖动到删除图标358将删除文本352。
47.根据各方面,可以记录文本352被沿着路径拖动时的移动。例如,用户可以拖动文本352,使得它沿着路径移动。该路径可以被复制以基于该路径向定时元素310添加移动。
48.根据各方面,文本图标354可以出现在视频时间线330上方,以允许编辑文本352。另外,文本时间线360(例如,可调整时间线)可以与视频时间线330重叠,以允许调整文本352的定时。例如,文本时间线360可以包括第一端362和第二端364。第一端362可以接近视频片段的开始部分,并且第二端364可以接近视频片段的结束部分。在一个实施方式中,将第一端362和第二端364朝向彼此调整提供了文本352的定时的自定义。例如,文本352可以仅出现在视频的在第一端362和第二端364之间的部分期间。
49.如图3e所示,文本352已经被移动到视频片段的中心位置。另外,文本时间线360的第一端362和第二端364已经被调整,使得文本352仅出现在视频片段的开始部分附近。如图所示,滚动条332已经前进超过文本时间线360的第二端364。结果,文本352可以被配置为看起来透明。这是因为文本352没有被配置为在视频片段的这一部分期间出现。通过允许用户视文本352为透明的,用户可以相对于文本352协调附加定时元素310的位置和/或内容。
50.参考图3f,用户已经添加了文本370(例如,第二定时元素)。例如,文本370可以被配置为在文本352之后显示。如图所示,视频时间线330正在显示与第二文本370相关的第二文本时间线374。在第一文本图标354旁边还生成了第二文本图标372。在一个实施方式中,触发第一文本图标354将显示第一文本352以及第一文本时间线360。类似地,触发第二文本图标372将显示第二文本370以及第二文本时间线374。
51.如图所示,第二文本图标372已经被触发,因此显示第二文本370和第二文本时间线374。根据各方面,第二文本时间线374也可以包括第一端376和第二端378。如图3f所示,视频时间线330的滚动条332在第二文本时间线374的第一端376和第二端378内。结果,第二文本370被显示为它将出现在最终确定的视频中。调整第二文本时间线374的第一端376和第二端378也将调整第二文本370的定时。这是因为第二文本370被配置为仅出现在第二文本时间线374的第一端376和第二端378内。
52.应当理解,尽管文本已经被图示为被添加为定时元素,但是自定义元素314、贴纸316和/或动画318中的任何一种也可以被类似地添加。还应当理解,在不脱离本公开的范围的情况下,可以包括定时元素310的任何组合。
53.图4a
‑
图4c示出了根据本公开的某些方面的视频片段的示例性后期编辑回放。参考图4a,后期编辑用户界面400可以包括例如添加了定时元素的视频片段。如图所示,第一定时元素图标402和第二定时元素图标404指示两个定时元素已经被添加到视频片段。
54.根据各方面,编辑后的视频片段(edited video clip)可以循环地连续回放。用户还可以沿着时间线412滑动滚动条410,以跳转到编辑后的视频片段的特定部分。或者,用户可以按住界面400的屏幕以沿着时间线412向前或向后滚动。
55.如图4b所示,第一定时元素420可以在第一时间段期间出现。类似地,如图4c所示,第二定时元素422可以在第二时间段期间出现。例如,第一定时元素420和第二定时元素422可能已经根据上面的图3a
‑
图3f被添加。第一定时元素420和第二定时元素422可以被进一步自定义,和/或可以相应地添加额外的定时元素。一旦用户满意,视频片段可以被最终确定430以生成最终的视频片段。例如,最终的视频片段包含用户所包括的所有编辑后的元素。
56.根据各方面,可以根据以上描述添加、编辑和/或删除定时元素。以这种方式,可以自定义和配置定时元素,以向编辑后的视频片段提供有帮助的和/或娱乐的上下文。例如,定时元素可以被配置为在视频片段上的特定时刻出现。定时元素也可以被配置为一个接一个地出现,或者彼此结合地出现。诸如淡入淡出等效果也可以被添加到定时元素,以便利定时元素中的转换。通过允许与视频时间线(例如,时间线330)分开的单独时间线(例如,文本时间线360和374),可以相对于视频片段以高准确度自定义定时元素。这允许以低处理成本执行快速且有效的编辑。
57.根据各方面,可以通过操纵虚拟视频来完成如上所述的视频片段的编辑。例如,虚拟视频可以包括描述包括在每个时间范围中的数据的时间范围,以记录被修剪/编辑的内容的时间范围。标记可以指向清理(scrubbing)/编辑发生的时间范围,而不是操纵数据。这样,用户可以预览他们的编辑,而不必等待视频的渲染。类似地,可以通过记录对虚拟视频进行了多少修剪来完成修剪。预览修剪时,会跳过修剪掉的部分。因此,虚拟视频不需要片段的拼接,因为对视频对象本身的每一次修剪/编辑都不会被触及。利用虚拟视频节省了处理能力,并允许在编辑视频时有更大的灵活性。
58.图5示出了根据本公开的某些方面的被配置用于编辑视频片段的系统500。在一些实施方式中,系统500可以包括一个或更多个计算平台502。计算平台502可以被配置为根据客户端/服务器架构、对等架构和/或其他架构与一个或更多个远程平台504通信。远程平台504可以被配置成经由计算平台502和/或根据客户端/服务器架构、对等架构和/或其他架构与其他远程平台通信。用户可以通过远程平台504访问系统500。
59.计算平台502可以由机器可读指令506来配置。机器可读指令506可以包括一个或更多个指令模块。指令模块可以包括计算机程序模块。指令模块可以包括以下模块中的一个或更多个:片段获得模块508、片段导航模块510、片段编辑模块512、视频片段生成模块514、视频片段附加模块516、视频片段预览模块518、歌曲包含模块520、速度配置模块522、定时元素添加模块524、回放速度调整模块526、轮廓生成模块528、定时元素编辑模块530、时间线生成模块532和/或其他指令模块。
60.片段获得模块508可以被配置为获得要附加到一系列视频片段的最新视频片段。获得最新视频片段还可以包括配置用于获得最新视频片段的定时延迟。编辑最新视频片段还可以包括删除最新视频片段。向后导航(navigating back)还可以包括触发包括最新视频片段的缩略图视图的图标。该系列视频片段中的每个视频片段是彼此独立获得的。
61.片段导航模块510可以被配置为在获得下一个视频片段之前,导航回最新视频片
段。片段编辑模块512可以被配置为通过时间线编辑最新视频片段。时间线可以包括最新视频片段的缩略图。编辑最新视频片段可以包括对最新视频片段的调整。调整可以包括修剪最新视频片段。修剪可以起自最新视频片段的开始和结束。修剪掉的部分可能会显示为灰色。
62.视频片段生成模块514可以被配置为基于对最新视频片段的编辑来生成编辑后的视频片段。视频片段生成模块514可以被配置为基于组合生成最终视频片段。视频片段附加模块516可以被配置为将编辑后的视频片段附加到一系列视频片段。视频片段预览模块518可以被配置成预览视频片段。
63.歌曲包含模块520可以被配置为包含歌曲。歌曲可以包括视觉节拍。速度配置模块522可以被配置为每个视频片段配置记录速度。定时元素添加模块524可以被配置为向视频片段添加定时元素。回放速度调整模块526可以被配置成调整来自数字相册的视频片段的回放速度。轮廓生成模块528可以被配置成基于最新视频片段生成轮廓。定时元素编辑模块530可以被配置成编辑定时元素。时间线生成模块532可以被配置成生成时间线。
64.在一些实施方式中,计算平台502、远程平台504和/或外部资源536可以经由一个或更多个电子通信链路可操作地链接。例如,这种电子通信链路可以至少部分地经由诸如因特网和/或其他网络的网络来建立。应当理解,这并不旨在是限制性的,并且本公开的范围包括其中计算平台502、远程平台504和/或外部资源536可以经由一些其他通信介质可操作地链接的实施方式。
65.给定的远程平台504可以包括被配置为执行计算机程序模块的一个或更多个处理器。计算机程序模块可以被配置成使得与给定的远程平台504相关联的专家或用户能够与系统500和/或外部资源536接合,和/或提供在本文归于远程平台504的其他功能。作为非限制性示例,给定的远程平台504和/或给定的计算平台502可以包括以下项中的一个或更多个:服务器、台式计算机、膝上型计算机、手持计算机、平板计算平台、上网本、智能手机、游戏控制台和/或其他计算平台。
66.外部资源536可以包括系统500外部的信息源、参与系统500的外部实体和/或其他资源。在一些实施方式中,本文归于外部资源536的一些或所有功能可以由系统500中包括的资源提供。
67.计算平台502可以包括电子储存器538、一个或更多个处理器540和/或其他组件。计算平台502可以包括通信线路或端口,以实现与网络和/或其他计算平台的信息交换。图5中的计算平台502的图示不是限制性的。计算平台502可以包括多个硬件、软件和/或固件组件,它们一起操作以提供本文归于计算平台502的功能。例如,计算平台502可以由随计算平台502一起操作的计算平台的云来实现。
68.电子储存器538可以包括以电子方式存储信息的非暂时性存储介质。电子储存器538的电子存储介质可以包括与计算平台502集成(即,基本上不可移动)提供的系统储存器和/或经由例如端口(例如,usb端口、火线端口等)或驱动器(例如,磁盘驱动器等)可移动地连接到计算平台502的可移动储存器中的一个或两个。电子储存器538可以包括以下项中的一个或更多个:光学可读存储介质(例如,光盘等)、磁可读存储介质(例如,磁带、磁性硬盘驱动器、软盘驱动器等)、基于电荷的存储介质(如eeprom、ram等)、固态存储介质(例如,闪存驱动器等)和/或其他电子可读存储介质。电子储存器538可以包括一个或更多个虚拟存
储资源(例如,云存储、虚拟专用网和/或其他虚拟存储资源)。电子储存器538可以存储软件算法、由处理器540确定的信息、从计算平台502接收的信息、从远程平台504接收的信息和/或使计算平台502能够如本文所述运行的其他信息。
69.处理器540可以被配置为在计算平台502中提供信息处理能力。这样,处理器540可以包括数字处理器、模拟处理器、设计成处理信息的数字电路、设计成处理信息的模拟电路、状态机和/或用于电子处理信息的其他机构中的一个或更多个。尽管处理器540在图5中被示为单个实体,但是这仅仅是为了说明的目的。在一些实施方式中,处理器540可以包括多个处理单元。这些处理单元可以物理上位于同一设备内,或者处理器540可以代表协同操作的多个设备的处理功能。处理器540可以被配置成执行模块508、510、512、514、516、518、520、522、524、526、528、530和/或532和/或其他模块。处理器540可以被配置为通过软件、硬件、固件、软件、硬件和/或固件的某种组合、和/或用于配置处理器540上的处理能力的其他机构来执行模块508、510、512、514、516、518、520、522、524、526、528、530和/或532和/或其他模块。如本文所使用的,术语“模块”可以指执行归于该模块的功能的任何组件或组件集。这可以包括在执行处理器可读指令期间的一个或更多个物理处理器、处理器可读指令、电路、硬件、存储介质或任何其他组件。
70.应当理解,尽管模块508、510、512、514、516、518、520、522、524、526、528、530和/或532在图5中被示为在单个处理单元内实现,但是在处理器540包括多个处理单元的实施方式中,模块508、510、512、514、516、518、520、522、524、526、528、530和/或532中的一个或更多个可以相对于其他模块被远程地实现。下面描述的由不同模块508、510、512、514、516、518、520、522、524、526、528、530和/或532提供的功能的描述是为了说明的目的,而不是为了限制,因为模块508、510、512、514、516、518、520、522、524、526、528、530和/或532中的任何一个可以提供比所描述的更多或更少的功能。例如,模块508、510、512、514、516、518、520、522、524、526、528、530和/或532中的一个或更多个可以被消除,并且其部分或全部功能可以由模块508、510、512、514、516、518、520、522、524、526、528、530和/或532中的其他模块提供。作为另一个示例,处理器540可以被配置为执行一个或更多个附加模块,这些附加模块可以执行下面归于模块508、510、512、514、516、518、520、522、524、526、528、530和/或532之一的一些或全部功能。
71.本文描述的技术可以被实现为由物理计算设备执行的方法;被实现为存储指令的一个或更多个非暂时性计算机可读存储介质,当由计算设备执行时,所述指令导致所述方法的执行;或者被实现为物理计算设备,其专门配置有硬件和软件的组合,从而实现该方法的性能。
72.图6示出了根据本公开的某些方面的用于编辑视频片段的示例流程图(例如,过程600)。出于解释的目的,本文参考图1a
‑
图5描述了示例过程600。进一步为了解释的目的,示例性过程600的步骤在此被描述为串行或线性地发生。然而,示例过程600的多个实例可以并行发生。为了解释主题技术,将参考图1a
‑
图5讨论过程600。
73.在步骤602,通过用户界面预览视频片段。在步骤604,通过用户界面向视频片段添加定时元素。在步骤606,通过可调整时间线来调整定时元素的定时,该可调整时间线基于视频片段的长度。在步骤608,调整定时元素在视频片段中的位置。在步骤610,最终确定视频片段以包含定时元素。
74.例如,如上关于图3a
‑
图5所述,在步骤602,经由用户界面300(例如,通过视频片段预览模块518)预览视频片段。在步骤604,经由用户界面300(例如,通过定时元素添加模块524)向视频片段添加定时元素。在步骤606,通过可调整时间线(例如,文本时间线360和374)来调整定时元素的定时,该可调整时间线基于视频片段的长度。在步骤608,如图3d所示,调整定时元素在视频片段中的位置。在步骤610,如图4a
‑
图4c所示,最终确定视频片段以包含定时元素。
75.根据一个方面,视频片段包括一系列彼此独立获得的视频片段。根据一个方面,定时元素包括文本、贴纸、动画、图片、音乐或效果中的至少一种。根据一个方面,时间线包括视频片段的缩略图。
76.根据一个方面,调整位置还包括选择定时元素,并将定时元素拖动到所需的位置。根据一个方面,过程600还包括基于视频片段的背景音频添加视觉效果。
77.根据一个方面,过程600还包括记录定时元素的路径,并基于该路径向定时元素添加移动。
78.图7是示出示例性计算机系统700的框图,利用该示例性计算机系统700可以实现本主题技术的各方面。在某些方面,计算机系统700可以使用硬件或软件和硬件的组合来实现,或者在专用服务器中,集成到另一个实体中,或者分布在多个实体中。
79.计算机系统700(例如,服务器和/或客户端)包括用于传递信息的总线708或其他通信机制,以及与总线708耦合用于处理信息的处理器702。举例来说,计算机系统700可以用一个或更多个处理器702来实现。处理器702可以是通用微处理器、微控制器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、控制器、状态机、门控逻辑(gated logic)、分立硬件组件或能够执行计算或其他信息操作的任何其他合适的实体。
80.除了硬件之外,计算机系统700可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或更多个的组合的代码,这些代码存储在所包括的存储器704中,存储器例如随机存取存储器(ram)、闪存、只读存储器(rom)、可编程只读存储器(prom)、可擦除prom(eprom)、寄存器、硬盘、可移动盘、cd
‑
rom、dvd或耦合到总线708用于存储信息和将由处理器702执行的指令的任何其他合适的存储设备。处理器702和存储器704可以由专用逻辑电路来补充或并入专用逻辑电路。
81.指令可以存储在存储器704中,并以一个或更多个计算机程序产品实现,即,编码在计算机可读介质上的计算机程序指令的一个或更多个模块,用于由计算机系统700执行或控制计算机系统700的操作,并且根据本领域技术人员公知的任何方法实现,包括但不限于例如面向数据的语言(例如,sql、dbase)、系统语言(例如,c、objective
‑
c、c++、汇编)、体系结构语言(例如,java和.net)和应用语言(例如,php、ruby、perl、python)的计算机语言。指令也可以用如下计算机语言来实现,例如数组语言(array language)、面向方面的语言、汇编语言、写作语言(authoring language)、命令行界面语言、编译语言、并发语言(concurrent language)、花括号语言(curly
‑
bracket language)、数据流语言、数据结构化语言、说明性语言(declarative language)、深奥语言(esoteric language)、扩展语言、第四代语言、功能语言、交互模式语言、直译语言(interpreted language)、迭代语言
(iterative language)、基于列表的语言(list
‑
based language)、小众语言(little language)、基于逻辑的语言、机器语言、宏语言(macro language)、元编程语言(metaprogramming language)、多范式语言(multiparadigm language)、数值分析、基于非英语的语言、面向对象的基于类的语言(object
‑
oriented class
‑
based language)、面向对象的基于原型的语言(object
‑
oriented prototype
‑
based language)、越位规则语言(off
‑
side rule language)、过程化语言(procedural language)、反思性语言(reflective language)、基于规则的语言、脚本语言、基于堆栈的语言、同步语言、语法处理语言(syntax handling language)、视觉语言、wirth语言和基于xml的语言。存储器704还可以用于在由处理器702执行的指令的执行期间存储临时变量或其他中间信息。
82.本文讨论的计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或更多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或更多个模块、子程序或代码部分的文件)。计算机程序可被部署为在一个计算机上或在处于一个地点或分布于多个地点且由通信网络相互连接的多个计算机上执行。本说明书中描述的过程和逻辑流程可以由一个或更多个可编程处理器来执行,该可编程处理器执行一个或更多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。
83.计算机系统700还包括耦合到总线708的数据存储设备706,例如磁盘或光盘,用于存储信息和指令。计算机系统700可以经由输入/输出模块710耦合到各种设备。输入/输出模块710可以是任何输入/输出模块。示例性输入/输出模块710包括数据端口,例如usb端口。输入/输出模块710被配置为连接到通信模块712。示例性通信模块712包括网络接口卡,例如以太网卡和调制解调器。在某些方面,输入/输出模块710被配置为连接到多个设备,例如输入设备714和/或输出设备716。示例性输入设备714包括键盘和定点设备,例如鼠标或轨迹球,用户可以通过它们向计算机系统700提供输入。其他类型的输入设备714也可以用于提供与用户的交互,例如触觉输入设备、视觉输入设备、音频输入设备或脑
‑
机接口设备。例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈,并且可以以任何形式接收来自用户的输入,包括声音、语音、触觉或脑电波输入。示例性输出设备716包括用于向用户显示信息的显示设备,例如lcd(液晶显示器)。
84.根据本公开的一个方面,响应于处理器702执行包含在存储器704中的一个或更多个指令的一个或更多个序列,上述系统500可以使用计算机系统700来实现。这种指令可以从另一机器可读介质(例如数据存储设备706)读入存储器704。包含在主存储器704中的指令序列的执行使得处理器702执行本文描述的过程步骤。多处理布置中的一个或更多个处理器也可以用来执行包含在存储器704中的指令序列。在替代方面,可以使用硬连线电路来代替软件指令或者与软件指令相结合来实现本公开的各个方面。因此,本公开的方面不限于硬件电路和软件的任何特定组合。
85.本说明书中描述的主题的各个方面可以在计算系统中实现,该计算系统包括后端组件,例如数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实现进行交互;或者一个或更多个这样的后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)来
互连。通信网络可以包括例如lan、wan、互联网等中的任何一个或更多个。此外,通信网络可以包括但不限于例如以下网络拓扑中的任何一种或更多种,包括总线网络、星形网络、环形网络、网状网络、星形总线网络、树形或分层网络等。通信模块可以是例如调制解调器或以太网卡。
86.计算机系统700可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过在各自的计算机上运行并且彼此之间具有客户端
‑
服务器关系的计算机程序产生的。计算机系统700可以是例如但不限于台式计算机、膝上型计算机或平板计算机。计算机系统700也可以嵌入到另一个设备中,例如但不限于移动电话、pda、移动音频播放器、全球定位系统(gps)接收器、视频游戏控制台和/或电视机顶盒。
87.本文使用的术语“机器可读存储介质”或“计算机可读介质”是指参与向处理器702提供指令以供执行的任何介质(一个或多个)。这种介质可以采取多种形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘或磁盘,例如数据存储设备706。易失性介质包括动态存储器,例如存储器704。传输介质包括同轴电缆、铜线和光纤,包括构成总线708的导线。机器可读介质的常见形式包括,例如,软盘、柔性盘、硬盘、磁带、任何其他磁介质、cd
‑
rom、dvd、任何其他光学介质、穿孔卡、纸带、具有孔图案的任何其他物理介质、ram、prom、eprom、flash eprom、任何其他存储器芯片或盒式磁带、或计算机可以读取的任何其他介质。机器可读存储介质可以是机器可读存储设备、机器可读存储基底(storage substrate)、存储器设备、实现机器可读传播信号的物质成分、或者它们中的一个或更多个的组合。
88.当计算机系统700读取游戏数据并提供游戏时,可以从游戏数据中读取信息并将其存储在诸如存储器704的存储器设备中。另外,来自存储器704服务器的数据可经由网络、总线708或数据存储设备706被读取并加载到存储器704中。虽然数据被描述为在存储器704中找到,但是应当理解,数据不必存储在存储器704中,而是可以存储在处理器702可访问的其他存储器中,或者分布在多个介质(例如数据存储设备706)中。
89.如本文所使用的,在一系列项(用术语“和”或“或”来分隔任何项)之前的短语
“……
中的至少一个(at least one of)”将列表作为一个整体而不是针对列表的每个成员(即,每个项)来修改。短语
“……
中的至少一个”不要求选择至少一个项;相反,该短语允许包括以下中的任何一个的含义:项中的至少一个、和/或项的任何组合中的至少一个、和/或每一项中的至少一个。举例来说,短语“a、b和c中的至少一个”或者“a、b或c中的至少一个”各自指仅a、仅b或仅c;a、b和c的任意组合;和/或每个a、b和c中的至少一个。
90.就说明书或权利要求中使用的术语“包括”、“具有”等而言,该术语旨在以类似于术语“包含”(在权利要求中用作过渡词时所解释的“包含”)的方式包含在内。词语“示例性的”在本文中用于表示“用作示例、实例或说明”。本文描述为“示例性”的任何实施例不一定被解释为比其他实施例更优选或更有利。
91.除非特别说明,否则对单数形式的元件的引用并不意指“一个且只有一个”,而是指“一个或更多个”。本领域普通技术人员已知或以后将会知道的贯穿本公开描述的各种配置的元件的所有结构和功能等同物通过引用明确地结合于此,并且旨在被本主题技术所包含。此外,本文公开的任何内容都不旨在奉献于公众,无论此类公开是否在以上描述中被明
确陈述。
92.虽然本说明书包含许多细节,但是这些细节不应被解释为对所要求保护的范围的限制,而是对主题的特定实现的描述。在单独的实施例的上下文中本说明书中所描述的某些特征也可在单个实施例中结合实现。相反,在单个实施例的上下文中所描述的各种特征也可以在多个实施例中单独实现或者在任何合适的子组合中实现。此外,尽管上文可将特征描述为以某些组合形式起作用且甚至最初是如此主张的,但在某些情形中,可从一所主张组合去除来自该组合的一个或更多个特征,且所主张组合可涉及一子组合或一子组合的变化形式。
93.已经根据特定方面描述了本说明书的主题,但是可以实现其他方面,并且这些方面在所附权利要求的范围内。例如,虽然在附图中以特定顺序描述了操作,但是这不应该被理解为要求以所示的特定顺序或顺序地执行这些操作,或者要求执行所有示出的操作以获得期望的结果。权利要求中列举的动作可以以不同的顺序执行,并且仍然获得期望的结果。作为一个示例,附图中描述的过程不一定需要所示的特定顺序或顺序地来实现期望的结果。在某些情形下,多任务和并行处理可能是有利的。此外,上述方面中的各种系统组件的分离不应被理解为要求所有方面中的这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。其他变化在所附权利要求的范围内。