连续媒体流的规则采样和呈现 【相关申请的交叉引用】
本申请要求以下美国专利申请的优先权:(1)2006年12月22日提交的题为“Regular Sampling and Presentation of Continuous MediaStream(连续媒体流的规则采样和呈现)”的美国临时申请No.60/871,750,以及(2)2007年6月29日提交的题为“Regular Samplingand Presentation of Continuous Media Stream(连续媒体流的规则采样和呈现)”的美国申请No.11/771,777。以上两件美国申请的全部公开作为本申请说明书的一部分并入作为参考。
【技术领域】
一般来说,本文档描述了用于使用视频编辑软件编辑视频剪辑的系统和技术。
背景技术
可以利用从在电视和电影制作中所使用的最先进的专业摄像机到蜂窝电话上的简易相机的多种设备拍摄并记录运动场景。某些可被用来拍摄运动画面的设备(包括数字便携式摄像放像一体机和数码相机)还允许以数字格式(包括运动图像专家组:MPEG)存储所拍摄的图像。根据设备性能和用户设置,相机可以拍摄并存储音频以及视频。所记录的信息自动以数字格式被存储,并且可以通过使用诸如基于蓝牙或通用串行总线(USB)的设备这样的各种有线或无线通信协议而容易地被传送到包括硬盘在内的辅助设备中。
视频编辑软件(诸如iMovie HD 6.0.1)为拥有大量视频剪辑的用户提供非线性编辑技术来编辑原始镜头。这样的编辑包括剪切镜头片段、重新排布同一视频剪辑的片段、重新排布和组合多个视频剪辑的片段、以及通过添加包括音频轨道、画外音(voice-over)、标题和帧间过渡的内容来修改内容。软件制造商经常向软件添加特征,使得软件对于普通用户来说易于操作,同时为加工后的视频提供近乎专业的品质。
【发明内容】
在一个示例中,根据用户输入,系统可以加载视频剪辑库,在用户界面中将视频剪辑显示为一系列缩略图,提供视频剪辑中特定时刻的预览,并且允许用户编辑在用户界面中所显示的视频剪辑的内容。
在一个实现中,描述了一种计算机实现的方法。该方法包括以下步骤:在数字媒体系统的用户界面内显示表示媒体项的至少一部分的有界区域,所述媒体项包括多个帧;确定在所述有界区域内光标的位置;以及根据所确定的光标位置,在所述有界区域内显示所述多个帧中的一帧。
这方面以及其他方面可以提供一个或多个下列特征。该方法可以包括以下步骤:检测所述光标在所述有界区域内已经移动到新位置;以及更新所述有界区域以显示对应于所检测到的新位置的新帧。该方法可以包括以下步骤:在用户界面内显示预览窗格;以及同时在预览窗格内显示根据所确定的光标位置而显示在有界区域内的相同帧。该方法可以包括以下步骤:检测光标在有界区域内已经移动到新位置;以及更新预览窗格以显示根据所检测到的新位置而显示在有界区域内的相同帧。该方法可以包括以下步骤:当光标离开有界区域时在预览窗格内显示默认帧,默认帧包括与媒体项有关的帧。该方法可以包括以下步骤:当光标离开有界区域时在有界区域内显示默认帧,默认帧包括与媒体项有关的帧。有界区域可以包括共同表示媒体项的一个或多个缩略图。缩略图可以被分配以时间段。可以根据媒体项的总持续时间和所述时间段确定有界区域中的多个缩略图。当光标位于缩略图的不包含帧的部分内的位置处时,与缩略图的包含帧的部分不同地显示缩略图的不包含帧的部分。缩略图可以具有统一的水平尺寸和统一的垂直尺寸。所述时间段可以根据用户输入而改变。光标的位置可以根据用户输入而被改变。该方法可以包括以下步骤:在用户界面内显示包含一个或多个有界区域地媒体窗格,每个有界区域对应于不同的媒体项。有界区域可以具有起始边和终止边,终止边相对于起始边偏移第一距离,第一距离对应于媒体项的总持续时间,并且其中根据起始边和光标位置之间的第二距离选择要在有界区域内显示的特定帧。有界区域的起始边可以对应于媒体项的起始帧,有界区域的终止边可以对应于媒体项的终止帧,并且与从媒体项的开始到结束的时间相对应的帧可以在水平方向上从左到右位于有界区域内。对应于总持续时间的第一距离具有可以由用户改变的标度(scale)。有界区域的长度可以对应于媒体项的总持续时间,并且其中要在有界区域内显示的特定帧对应于有界区域内光标位置所表示的中间时间。媒体项可以包括视频剪辑。光标当位于有界区域上时可以被显示为有界区域内的垂直线。
在另一实现中,描述了一种承载使一个或多个机器能够执行操作的指令的介质。所述操作包括:在数字媒体系统的用户界面内显示表示媒体项至少一部分的有界区域,媒体项包括多个帧;确定有界区域内光标的位置;以及根据所确定的光标位置,在有界区域内显示这多个帧中的一帧。
这一方面和其他方面可以包括一个或多个特征。所述操作可以包括:检测光标在有界区域内已经移动到新位置;以及更新有界区域以显示对应于所检测到的新位置的新帧。所述操作可以包括:在用户界面内显示预览窗格;以及同时在预览窗格内显示根据所确定的光标位置而显示在有界区域内的相同帧。所述操作可以包括:检测光标在有界区域内已经移动到新位置;以及更新预览窗格以显示根据所检测到的新位置而显示在有界区域内的相同帧。所述操作可以包括:当光标远离有界区域时在预览窗格内显示默认帧,默认帧包括与媒体项有关的帧。所述操作可以包括:当光标远离有界区域时在有界区域内显示默认帧,默认帧包括与媒体项有关的帧。有界区域可以包括共同表示媒体项的一个或多个缩略图。缩略图被分配有时间段。可以根据媒体项的总持续时间和所述时间段,确定有界区域中的多个缩略图。当光标位于缩略图的不包含帧的部分内的位置处时,可以与缩略图的包含帧的部分不同地显示缩略图的不包含帧的部分。缩略图可以具有统一的水平尺寸和统一的垂直尺寸。时间段可以根据用户输入而改变。光标的位置可以根据用户输入而改变。所述操作可以包括:在用户界面内显示包含一个或多个有界区域的媒体窗格,每个有界区域对应于不同的媒体项。有界区域可以具有起始边和终止边,终止边相对于起始边偏移第一距离,第一距离对应于媒体项的总持续时间,并且其中根据起始边和光标位置之间的第二距离选择要在有界区域内显示的特定帧。有界区域的起始边可以对应于媒体项的起始帧,有界区域的终止边可以对应于媒体项的终止帧,并且与从媒体项的开始到结束的时间相对应的帧可以在水平方向上从左到右位于有界区域内。对应于总持续时间的第一距离可以具有可以由用户改变的标度。有界区域的长度可以对应于媒体项的总持续时间,并且其中要在有界区域内显示的特定帧对应于有界区域内光标位置所表示的中间(interim)时间。媒体项可以包括视频剪辑。光标当位于有界区域上时可以被显示为有界区域内的垂直线。
在此所述的系统和技术可以提供一个或多个以下优势。首先,视频库中的视频剪辑可以作为多行水平缩略图而被查看,其中缩略图可以表示视频剪辑时间段的全部或部分。缩略图在用户界面的可查看窗口内被卷绕(wrap),以避免窗口内的水平滚动来访问视频剪辑的片段。视频剪辑在用户看来是二维时间线的形式。其次,仅通过将由指示装置(诸如鼠标)操作的显示装置上的光标置于与视频剪辑相关的缩略图上的期望位置处就可以预览视频剪辑中对应于某时刻的帧。在指示装置(pointing device)为鼠标的系统中,通过简单的鼠标悬停(mouse over)而无需在用户界面上的任意点处点击鼠标就可以预览视频剪辑中的多个帧。在编辑期间选择视频片段时,用户可以利用该特征来确定视频剪辑中的起始点和终止点。第三,期望长度的片段可以从视频剪辑中被选择,并且与视频剪辑的剩余部分相分离以用于编辑。以类似于在文本编辑器中选择文本的方式,用户可以选择视频剪辑的一个或多个期望的片段。随后,用户可以将这一个或多个选择的片段移动到用户界面的单独部分,以编辑片段的内容。可以使用指示装置(诸如鼠标)来移动所选择的片段,而无需在所选择的片段中的任意点处点击鼠标。第四,用户可以将叠加在所记录的视频上的附加内容(包括音频轨道、画外音、标题和帧间过渡)中的特定点锚定(anchor)到视频剪辑的内容中的特定点。以此方式,用户可以将叠加内容的播放起始时间与视频剪辑的内容同步,即使添加到视频剪辑中或者从视频剪辑中删除。用户可以确保一旦叠加内容已经被锚定到期望的位置,则这样的内容在加工完成后的视频剪辑中将总是在锚定位置处被播放,即使用户可能对视频剪辑进行其他修改。
另外,该系统可以简化视频编辑处理并且使其变得用户友好。由于明显减少了编辑中所涉及的乏味,所以鼓励用户对视频内容执行改进的编辑操作。可以同时改善加工完成后的视频的质量和视频编辑中用户的信心。
在附图和下面描述中阐述了一个或多个实现的细节。从说明中和附图以及权利要求中将清楚地获知其他特征、目的和优点。
【附图说明】
图1是执行视频编辑的用户界面的示意图的一个示例。
图2A是将每个视频剪辑显示为缩略图的用户界面的示意图的一个示例。
图2B是将每个视频剪辑显示为缩略图组的用户界面的示意图的一个示例。
图3是将多个视频剪辑显示为相应缩略图组的用户界面的示意图的一个示例。
图4A是与播放头(playhead)的第一位置相对应的视频剪辑中第一帧的示意图的一个示例。
图4B是与播放头的第二位置相对应的视频剪辑中第二帧的示意图的一个示例。
图4C是与播放头的第三位置相对应的视频剪辑中第三帧的示意图的一个示例。
图4D是与播放头的第四位置相对应的视频剪辑中第四帧的示意图的一个示例。
图4E是与播放头的第五位置相对应的视频剪辑中第五帧的示意图的一个示例。
图5是从媒体窗格中选择的并且被传送到项目窗格(projectpane)的视频内容片段的示意图的一个示例。
图6是锚定到项目窗格中视频内容的叠加(overlay)内容的一个示例。
图7是将视频剪辑显示为缩略图组中一个或多个缩略图的系列的方法的流程图的一个示例。
图8是预览与视频剪辑中某一时刻相对应的帧的方法的流程图的一个示例。
图9是根据播放速度洗刷(scrubbing)方法的流程图的一个示例。
图10是将叠加内容与视频内容同步的方法的流程图的一个示例。
图11是在其上执行视频编辑软件的系统的示意图的一个示例。
图12是中央处理单元的示意图的一个示例。
各个附图中相同参考符号指代相同的元件。
【具体实施方式】
图1示出了执行视频编辑的用户界面100的示意图的一个示例。用户界面100包括媒体窗格105、项目窗格110和预览窗格115。包含利用记录仪器记录的原始镜头的视频剪辑被加载到用户界面100中,并且被显示在媒体窗格105中。在有些实现方式中,包含原始镜头的视频剪辑可以被存储在诸如视频库这样的存储装置上。当打开用户界面时,系统可以在与媒体窗格105相邻的窗格中显示可用的视频库。在其他实现方式中,当打开用户界面时,系统可以自动搜索存储装置来查找视频剪辑,并且在媒体窗格105中显示全部可用的视频剪辑。在其他实现方式中,系统可以基于用户输入检索所存储的视频剪辑。用户所选择的所有视频剪辑可以被加载到用户界面100并且被显示在媒体窗格105中,而不管视频剪辑或记录仪器的类型是什么。可以使用包括数字便携式摄像放像一体机、数码相机和蜂窝电话在内的任何记录仪器记录视频剪辑。可以以包括quicktime、mpeg-1、mpeg-2、AVI和real video在内的任意格式存储视频剪辑。另外,每个视频剪辑的时间段可以被显示在相应视频剪辑上或者与相应视频剪辑附近。
项目窗格110包括来自显示在媒体窗格105中的一个或多个视频剪辑的、可由用户选择用于编辑的一个或多个片段。当片段被选择并且从媒体窗格105传送到项目窗格110时,自动创建项目。在有些实现方式中,显示项目的窗格与项目窗格110相邻地被显示。在编辑之后,项目窗格110的内容可以被保存为加工完成后的项目。可以以包括quicktime、AVI、mpeg-1、mpeg-2和real在内的任意格式来保存加工完成后的项目,而不管从中获得项目中每个片段的视频的格式是什么。保存后的项目可以被再次打开用于进一步编辑。另外,项目窗格105还可以包括指示包括音频轨道、画外音、标题和帧间过渡在内的附加内容的表示。
视频剪辑中的视频被存储为帧序列。预览窗格115显示各个帧,其中帧是运动画面中多个摄影图像中的一幅。预览窗格115中显示的一帧对应于视频剪辑中的一时刻。预览窗格115可以显示与媒体窗格105中所显示的内容以及项目窗格110中所显示的内容相对应的帧。另外,预览窗格115基于用户输入而播放在媒体窗格105中和在项目窗格110中所显示的视频内容。根据系统性能,在预览窗格115中播放的内容可以包括与视频内容一起被记录的或者被添加到原始镜头中的音频内容。用户可以在预览窗格115中预览编辑视频内容的效果。
在有些实现方式中,媒体窗格105的宽度等于项目窗格110和预览窗格115的宽度之和。这三个窗格的高度可以彼此相等。用户可以在显示用户界面100的显示装置的尺寸限度内改变窗格的尺寸。用户界面100的尺寸也可以在显示装置的限度内被改变,使得窗格的尺寸成比例改变。
在有些实现方式中,媒体窗格105可以被显示在用户界面100的下半部中,而项目窗格110和预览窗格115可以被显示在上半部中。可替代地,媒体窗格105可以被显示在上半部中,而项目窗格110可以被显示在下半部中。媒体窗格105和项目窗格110在用户界面100内的位置可以在单个操作中被切换。例如,媒体窗格105可以显示来自视频库的视频剪辑。项目窗格110可以显示来自由用户选择的一个或多个视频剪辑的片段。预览窗格115可以显示与显示装置上光标位置所确定的时刻相对应的帧。在从用户接收到输入时,在一步操作中,媒体窗格105和项目窗格110的位置可以被同时调换,同时保持在媒体窗格105和项目窗格110中所显示的内容。
图2A示出了将每个视频剪辑200显示为缩略图的用户界面100的示意图的一个示例。视频剪辑200包括从打开记录特征的时刻到关闭记录特征的时刻记录仪器所记录的内容。当视频库中的视频剪辑200被加载到用户界面100中时,每个视频剪辑200被显示为一行或多行矩形缩略图。视盘剪辑200的时间线(time line)从左到右以及从上到下地延伸。在有些实现方式中,每个视频剪辑200可以被表示为单个矩形缩略图,其中系统限定的距离将每个缩略图分开以在视频剪辑之间进行区分。在第一行中显示缩略图,直到缩略图的宽度之和超过了所显示的媒体窗格105的宽度为止。随后的缩略图被卷绕到媒体窗格105中的下一行。作为系统指定间隔的空白(gutter)将两行缩略图分开。
图2B示出了将视频剪辑200显示为缩略图组203的用户界面100的示意图的一个示例。共同表示视频剪辑的缩略图组203被显示为一个或多个矩形缩略图205的连续序列。每个缩略图205的垂直和水平尺寸由系统指定。每个视频剪辑200由缩略图组203共同表示。每个缩略图组203可以包括一个或多个缩略图205。与同一缩略图组203有关的缩略图205被显示为连续序列。对应于分开的视频剪辑的缩略图组203被显示为使得缩略图组203的最后一个缩略图205与下一缩略图组203的第一个缩略图205分隔开。缩略图组中缩略图的显示顺序对应于拍摄相应视频剪辑的顺序。时间进度对应于在水平方向上从左到右以及在垂直方向从上到下的缩略图定位。基于用户输入,视频剪辑200可以被包括到用户界面100中的显示中或者从显示中去除。当对应于视频剪辑200的缩略图组203被隐藏时,其余缩略图组203被重新排布,以填充对应于被隐藏的缩略图组203的间隙。以此方式,缩略图组203以类似于字处理应用程序用户界面中字的方式被显示。
每个缩略图205被分配以视频剪辑200中视频内容的时间段的一部分。视频剪辑200的持续时间除以分配给每个缩略图205的时间段。以此方式,确定为了显示视频剪辑200而需要的缩略图组203中缩略图205的数量。视频剪辑200的持续时间可以正好能被分配给每个缩略图205的时间段整除,而没有剩余时间。在这样的情况下,当视频剪辑200的持续时间除以分配给每个视频剪辑200的时间时,为了显示视频剪辑200而需要的缩略图组203中缩略图205的数量等于相除的商(Q),而没有时间剩余。视频剪辑200在缩略图组203中Q个缩略图205上被显示。可替代地,在将视频剪辑200的总时间段除以分配给每个缩略图205的时间段之后,可能存在时间剩余。在这样的情况下,为了视频剪辑200而需要的缩略图组203中缩略图205的数量等于相除的商(Q)加1。视频剪辑200在缩略图组203中(Q+1)个缩略图205上被显示。而且,在这样的情况下,与缩略图组203中最后一个缩略图205相对应的时间段小于与缩略图组203中其他缩略图205相对应的时间段。然而,缩略图组203中与视频剪辑400有关的全部缩略图205的尺寸彼此相等。当显示装置上的光标置于视频剪辑200的最后一个缩略图205上时,视频剪辑200的最后一个缩略图205的不包含视频内容的片段被填充以颜色,例如灰色。以此方式,用户可以容易地辨别出缩略图组203的最后一个缩略图205的被填充片段没有任何视频内容。在编辑期间不使用内容为空的缩略图205的片段。通过将缩略图组203中全部缩略图205的尺寸保持为相等并且避免显示部分化缩略图205来表示较短时间段的内容,改善了用户界面100的美感。
在有些实现方式中,如果最后一个缩略图中的内容的时间段小于缩略图组中其他缩略图的时间段时,则缩略图组中最后一个缩略图的内容被分布在缩略图的整个尺寸上。在这样的实现方式中,尽管最后一个缩略图与同一缩略图组中其余缩略图中的内容时间段不匹配,缩略图所占据的物理空间中的每个点都对应于媒体项中的帧。在其他实现方式中,如果最后一个缩略图中的内容的时间段小于缩略图组中其他缩略图的时间段时,则可以截短最后一个缩略图的尺寸来指示减小的时间段。
用户可以改变分配给用户界面100中缩略图205的时间段。项目窗格110中的缩略图205可以被分配以不同于媒体窗格105中的缩略图205的时间段。在有些实现方式中,第一交互标度和第二交互标寸分别邻近于媒体窗格105和项目窗格110地被显示。标度被操作地结合到相应窗格,使得可以通过分别滑动第一标度和第二标度来独立地改变分配给媒体窗格105中的缩略图的时间以及分配给项目窗格110中的缩略图的时间。在有些实现方式中,对应于每个缩略图205的时间段由系统分配。在其他实现方式中,对应于每个缩略图205的时间段由用户指定。在其他实现方式中,当视频剪辑200被首次装载到媒体窗格105中时,每个缩略图205被分配以等于系统默认值的时间段。用户可以在系统所指定的限度内将该值改变为用户定义值。
缩略图205的垂直尺寸和水平尺寸是统一的,并且由系统指定。媒体窗格105和项目窗格110的尺寸可能不足以在同一行中显示与一个或多个缩略图组203有关的全部缩略图405。在有些实现方式中,交互标度邻近于媒体窗格105和项目窗格110地被显示。标度被操作地结合到媒体窗格105和项目窗格110中的缩略图的尺寸。用户可以改变标度的位置,以增大或减小媒体窗格105和项目窗格110中缩略图205的大小。以此方式,可以同时改变媒体窗格105和项目窗格110中显示的缩略图205的大小。在其他实现方式中,通过添加行而自动地增大媒体窗格105的大小来容纳所有缩略图205。然而,所显示的媒体窗格105的尺寸保持不变。垂直滚动条被结合到媒体窗格105中,使得用户可以垂直滚动以访问没有直接看到的视频剪辑200。在其他实现方式中,用户可以使用指示装置或键盘或同时使用这两者来扫视(pan)媒体窗格105。也可以通过利用交互标度调整缩略图大小并增大媒体窗格105的大小相结合来改变缩略图205的显示大小。
图3示出了将多个视频剪辑200显示为相应缩略图组203的用户界面100的示意图的一个示例。每个缩略图组203包括一个或多个缩略图205。在有些实现方式中,视频库的所有视频剪辑200可以被自动地加载到用户界面100中,并且在媒体窗格105中被显示为多行缩略图组203。在其他实现方式中,视频库的一个或多个视频剪辑200可以基于用户输入被选择性地加载到用户界面100中,并且在媒体窗格105中被显示。用户界面100的默认尺寸由系统指定。基于分配给缩略图205的时间段以及基于视频剪辑200的持续时间,每个视频剪辑200分布在缩略图组203中的一个或多个缩略图205上。在所示的示例中,在用户界面100的默认示图中,缩略图组1、2、3和4分别对应于显示在6个、1个、3个和1个缩略图上的视频剪辑1、2、3和4。如果一行中的缩略图205的总宽度超出媒体窗格105的宽度,则添加新的一行,并且随后的缩略图205被卷绕在媒体窗格105内并且被显示在下一行中。基于用户输入,可以按比例地改变媒体窗格105和项目窗格110的缩略图的大小。
基于分配给每个缩略图205的时间段,自动地改变显示视频剪辑200的缩略图组203中缩略图205的数量。当在缩略图组203中的一个或多个缩略图205上显示视频剪辑200时,对应于每个缩略图205的时间段彼此相等,除了每个缩略图组203中的最后一个缩略图205以外。对应于缩略图组203中最后一个缩略图205的时间段小于或者等于、但不大于对应于相同缩略图组203中其他缩略图205的时间段。响应于用户输入,每个视频剪辑200可以被显示为单个缩略图205。在这样的实现方式中,对应于视频剪辑200的缩略图205的尺寸彼此相等。由缩略图205表示的视频剪辑200的持续时间不必彼此相等。
当显示装置上的光标被置于用户界面100中的缩略图205之上时,播放头在显示装置上被显示在光标位置处。在有些实现方式中,播放头是高度等于缩略图205的垂直尺寸的垂直线。当光标被置于远离缩略图205的位置时,播放头消失。用户可以通过操控指示装置或键盘或者这两者来改变光标在显示装置上的位置。当播放头位于缩略图205上的位置处时,与缩略图上播放头的位置所确定的时刻相对应的视频中的帧被显示在预览窗格115中。以此方式,与在媒体窗格105和项目窗格110中一个或多个缩略图上显示的视频内容有关的帧可以在预览窗格115中预览。
当播放头位于缩略图205上时,视频剪辑200中对应于播放头位置的帧被显示在缩略图205上。随着播放头在缩略图205上被移动,用对应于播放头新位置的帧连续地更新缩略图205上的显示。而且,同时在预览窗格115上显示在缩略图205上显示的帧。由于在缩略图205上显示的帧随着播放头移动而被更新,所以在预览窗格115中显示的帧也被更新。
图4A-图4E示出了对应于播放头位置的视频剪辑中的帧的示意图的示例。在所示的示例中,播放头在编号为3的缩略图组中编号为2的缩略图上水平移动。随着播放头从缩略图的左侧(播放头位置1)移动到缩略图的右侧(播放头位置5),在预览窗格115中显示对应于播放头位置的帧。在预览窗格115中更新帧的速率对应于播放速度。播放速度输出由用户提供。在有些实现方式中,用户可以通过使用鼠标作为指示装置来在这一个或多个缩略图205上水平移动鼠标。播放速度对应于用户移动指示装置的速度。在其他实现方式中,系统可以具有用户可选择的一个或多个指定的播放速度。洗刷是指通过在缩略图组203中的缩略图205上前向或后向地移动光标来预览一个或多个缩略图205的内容。可以通过不需要在缩略图205上点击鼠标来在预览窗格115中预览帧的简单鼠标悬停操作来洗刷缩略图205的内容。表示视频剪辑的进度的时间线从左向右移动。因此,将播放头从左向右移动就在预览窗格115中按照帧记录顺序显示与播放头位置对应的帧。类似地,将播放头从右向左移动就在预览窗格115中按照与帧记录顺序相反的顺序显示与播放头位置对应的帧。用户可以使用指示装置以播放速度从左到右或者从右到左或者从左到右和从右到左地移动置于缩略图205上的播放头,从而在预览窗格115中洗刷缩略图205的内容。
在播放头以播放速度在一个或多个缩略图205上移动时,用与缩略图205上播放头的位置相对应的帧连续地更新预览窗格115。以此方式,洗刷视频剪辑200的内容。记录仪器可以具有记录视频和音频内容的特征。因而,视频剪辑可以包括与视频内容一起记录的音频内容。当洗刷视频剪辑的内容时,根据播放头的移动方向,可以前向或反向地播放视频和音频内容。在有些实现方式中,如果播放速度小于第一阈值,则播放被洗刷的片段的视频和音频内容。根据系统的音频特征,根据用户输入前向或反向地洗刷视频和与视频相关联的音频。播放视频和音频内容的顺序对应于播放头的移动方向。如果播放速度超过第一阈值,但是低于第二阈值,则仅洗刷视频内容而不洗刷音频内容(如果有的话)。如果播放速度超过第二阈值,则即不播放视频也不播放与视频相关联的音频。在这样的情况下,在预览窗格115中显示缩略图205的默认示图。缩略图的默认示图可以包括视频剪辑的任意帧,包括播放头位于其上的缩略图中的帧以及缩略图所关于的视频剪辑的任何缩略图中的帧,而不管播放头的位置如何。如果确定播放头的移动方向基本上是垂直的,则在预览窗格115中也显示缩略图的默认示图。媒体窗格105中所显示的视频内容可以被播放并且以播放速度在预览窗格115中被预览。用户可以在媒体窗格105中所显示的任何缩略图中任何期望位置处开始和停止播放。
用户可以从被加载在媒体窗格305中的视频剪辑200选择视频片段,并且将所选择的片段传送到项目窗格110。图5示出了从媒体窗格105选择并且被传送到项目窗格110的视频内容片段的示意图的一个示例。以此方式,用户可以编辑在媒体窗格105中显示的原始镜头的内容。按照类似于在文本编辑器中选择文本的方式,从媒体窗格105中的缩略图205选择内容。播放头被置于缩略图205上期望的开始位置处。用户可以通过将播放头置于缩略图205中某一位置,基于预览窗格115中帧的预览来选择缩略图205上的开始位置。在有些实现方式中,指示装置是鼠标。用户可以通过将播放头置于期望位置并且点击鼠标来选择缩略图205上的开始位置。随后,用户可以在对应于视频剪辑200的缩略图组203的全部或者片段上将鼠标水平地移动到期望的结束位置。当用户在该期望的结束位置点击鼠标时,选择播放头所跨越的片段。在有些实现方式中,所跨越的片段可以被显示为能容易分辨的阴影矩形。所选择片段的结束位置可以位于所选择片段的开始位置之前或之后。所选择片段的开始位置和结束位置位于同一缩略图组内,并且与同一视频剪辑有关。
在其他实现方式中,用户可以通过使用指示装置(例如鼠标)的单击并拖动操作来选择视频剪辑200的片段。在其他实现方式中,用户可以通过选择开始位置和结束位置来选择视频剪辑200的片段,而无需将播放头从开始位置拖动到结束位置。例如,用户可以将播放头置于期望的开始位置上,并且点击指示装置(诸如鼠标)。用户可以保持按下键盘上的“命令(Command)键”,将播放头移动到期望的结束位置,并且在结束位置处点击鼠标。自动选择开始和结束位置之间的片段。可以指定键盘或指示装置上的一个或多个按键的任意组合来执行片段选择操作。
在有些实现方式中,用户可以从媒体窗格105中不同行上所显示的一个或多个缩略图中选择视频片段。用户可以使用键盘或指示装置或者这两者上的一个或多个按键的组合来选择开始位置和结束位置,使得开始位置与结束位置位于不同行上。可以选择开始位置与结束位置之间的所有内容,而不管开始和结束位置所位于的行是什么。在有些实现方式中,用户可以从在媒体窗格105中显示的视频剪辑200中选择多个片段。每个片段都可以具有开始位置和结束位置。例如,用户可以通过在开始位置点击鼠标并且将鼠标拖动到结束位置来选择视频剪辑200的第一片段。可替代地,用户可以通过在开始位置点击鼠标、保持按下键盘上的一按键(例如“命令”键)并且在结束位置点击鼠标来选择第一片段。随后,用户可以保持按下键盘上的第二按键(例如“换档(shift)”键),并且在媒体窗格105中的不同位置处重复用于选择片段的处理。以此方式,用户可以从媒体窗格105中选择视频剪辑200的多个片段,其中每个选择的片段都具有开始位置和结束位置。
这一个或多个视频剪辑200的一个或多个选择的片段可以被从媒体窗格105传送到项目窗格110。在有些实现方式中,在媒体窗格105中选择的视频片段可以被传送到项目窗格110,而无需在所选择的片段上点击指示装置(例如鼠标)。将指示装置置于所选择的片段中的任意点处就允许将整个所选择的片段移动到项目窗格110,而无需在所选择的片段中的任何点处点击指示装置。在其他实现方式中,可以按照类似于文本编辑的方式,将所选择的片段从媒体窗格105中拖曳出来并且放入项目窗格110中。在其他实现方式中,可以按照类似于文本编辑的方式,将所选择的片段从媒体窗格105中剪切出并且粘贴到项目窗格110中。在这样的情况下,当所选择的片段从媒体窗格105传送到项目窗格110时,可以将所选择的片段从媒体窗格105中的显示中去除。在其他实现方式中,可以复制所选择的片段并且可以将所复制的片段粘贴到项目窗格110中。在这样的实现方式中,所选择的片段将继续被显示在媒体窗格105中以及在项目窗格110中。
每个选择的片段都可以单独地从媒体窗格105被传送到项目窗格110。可替代地,一个或多个选择的片段可以被同时传送到项目窗格110。所传送的片段被显示为相应的缩略图组。对应于传送片段的缩略图组包括一个或多个水平行的缩略图,其中每个缩略图的高度彼此相等。在其上显示传送片段的缩略图的数量取决于分配给每个缩略图的时间,并且可以由用户改变。首先传送的片段作为缩略图出现在项目窗格110中的行的左端。随后传送的片段作为一个或多个缩略图被显示到与已经呈现在项目窗格110中的片段有关的这一个或多个缩略图的右侧。片段由系统指定的间隔所分隔开,以在片段之间进行区分。片段可以被插入在一行中的任意位置处,包括行的开始、行的结束或者它们之间的任意位置处。所有传送片段被系统指定的间隔分隔开。如果缩略图的宽度超过项目窗格110的宽度,则为项目窗格添加新的一行,并且随后的片段被传送到该新的一行。通过改变被配置为改变缩略图的垂直和水平尺寸的交互标度的位置,可以与媒体窗格105中缩略图的大小一起改变项目窗格110中缩略图的大小。
可以基于用户输入重新布置项目窗格110中所显示的选择的视频剪辑片段。在有些实现方式中,用户可以通过将指示装置(例如鼠标)置于所选片段上的任意位置、将所选择的片段从其当前位置移动、并且将所选片段置于期望位置处来改变所选择的片段的位置。可以移动整个所选择的片段,而不管鼠标位于所选择的片段中的哪个点。首先选择的片段可以被拖动并放到包括第二片段的开始、第二片段的结束、行的开始以及行的结束在内的位置。通过移动播放头,可以洗刷用户所选择的、被传送到项目窗格110的以及按照用户期望的顺序显示的片段的内容。按照类似于在媒体窗格105中洗刷缩略图内容的方式,预览窗格110中的内容(包括音频)可以根据播放头的移动速度而在预览窗格110中被预览。另外,所传送的片段的内容可以作为连续的视频剪辑被播放。可以在预览窗格115中播放和预览项目窗格110中的片段的内容。用户可以在项目窗格110中显示的任何缩略图中的任何期望位置处开始和停止播放。
媒体窗格105和项目窗格110中所显示的视频内容相对于时间线对齐。在有些实现方式中,用户可以将叠加内容(包括音频轨道、画外音、标题和视频中帧间过渡)添加和关联到在项目窗格110中所显示的视频内容。用户可以在项目窗格110中的任意位置处添加叠加内容,并且将叠加内容中的一点锚定到项目窗格110中所显示的视频内容中的一点,使得在与视频内容中的锚定点相同的时刻播放附加内容中的该点,不管播放视频内容中该点时时间线中的时间是什么。以此方式,叠加内容中第一点的播放可以与视频内容中第二点同步。在有些实现方式中,当用户将叠加内容包括到项目窗格110中所显示的内容中时,叠加内容被显示为与该叠加内容相关联的视频内容相对应的缩略图组203下面的水平条。叠加内容中的任何点可以被同步到项目窗格110中视频内容中的任何点。缩略图205下面的水平条的显示是叠加内容的指示。
叠加内容(例如音频轨道)被锚定到视频内容中的特定点。图6示出了锚定到项目窗格105中视频内容的叠加内容的一个示例。用户可以将叠加内容锚定到视频内容中的特定位置,使得只要视频内容中的相应被锚定点播放,就播放叠加内容中的被锚定点,不管播放视频内容和叠加内容的剩余部分的时刻是什么。在有些实现方式中,用户可以在视频内容中选择第一点,然后选择叠加内容。叠加内容中的开始点被自动锚定到第一点。在其他实现方式中,当用户将叠加内容添加到项目窗格110中与视频内容有关的缩略图时,叠加内容被自动锚定到缩略图组中第一缩略图中的第一帧。随后,用户可以通过使用指示装置将叠加内容中的被锚定点和视频内容中的被锚定点重新定位到任何期望的点。用户可以基于与预览窗格115中所看到的与项目窗格110中显示的缩略图相关的帧的预览来对视频内容中的被锚定点进行重新定位。在有些实现方式中,视频和音频内容中的被锚定点被显示为由垂直线连接的点。在这样的实现方式中,即使添加到、从中删除或者重新布置项目窗格110中的视频内容,叠加内容中的被锚定点相对于视频内容中的被锚定点的位置也保持不变。自动调整被锚定点之前和之后的叠加内容,使得叠加内容中的被锚定点在与其被锚定到的视频内容中的点相同的时刻播放。
在有些实现方式中,叠加内容是用户可以添加到视频内容的画外音。用户可以选择在项目窗格310中显示的视频内容的一个点作为画外音的开始点。用户可以记录音频达期望的时间段。用户可以选择用于画外音结束的结束点。画外音的开始点被锚定到视频内容中所选择的开始点。用户可以分别独立地将视频内容中的被锚定点和画外音中的被锚定点移动到表示视频内容的缩略图组中的和表示画外音的水平条中的任何期望的第二点。
在有些实现方式中,叠加内容可以包括帧间过渡。该系统可以包括多个过渡风格。在有些实现方式中,用户可以选择并插入两个帧之间的过渡风格。过渡可以看起来是垂直尺寸等于表示所选片段的缩略图的垂直尺寸的矩形缩略图。基于用户输入,可以改变表示过渡的缩略图的水平尺寸。用户可以通过改变表示过渡的缩略图的水平尺寸来改变过渡的持续时间。依此方式,用户可以编辑利用记录仪器记录的原始镜头,并且向编辑后的视频剪辑添加特征。随后,用户可以将编辑后的视频剪辑存储在存储装置中。存储装置可以是存储原始镜头的存储装置。可替代地,存储装置可以是单独的器件。
图7示出了将视频剪辑200显示为缩略图组203中一系列的一个或多个缩略图205的方法的流程图的一个示例。在有些实现方式中,在700处,视频剪辑400被加载到媒体窗格305中。系统100为每个缩略图205分配默认时间段。在705处,获得每个缩略图205的该系统值。在710处,基于视频剪辑200的持续时间以及缩略图205的时间段的系统值,视频剪辑200被显示为缩略图组203。缩略图组203可以包括一个或多个缩略图205。用户可以改变分配给每个缩略图205的时间段。如果用户改变每个缩略图205的时间段(715),则使用用户指定的时间来确定缩略图组203中缩略图205的数量。如果不改变时间段,则使用系统分配的值来确定缩略图组203中缩略图205的数量。如果用户指定将每个视频剪辑200显示为单个缩略图205的输入(720),则在725处,每个视频剪辑200被显示为单个缩略图205。如果用户没有为缩略图205指定时间段,则在730处,将视频剪辑200的持续时间除以缩略图205的时间段的系统分配值,并且确定相除的商(Q)。如果用户为缩略图205指定了时间段,则在735处,将视频剪辑200的持续时间除以用户指定的值,并且确定相除的商(Q)。如果相除后没有时间剩余(740),则在745处,在Q个缩略图上显示视频剪辑。缩略图组203包括Q个缩略图205。如果相除后还有时间剩余(740),则在750处,在Q+1个缩略图上显示缩略图。缩略图组203包括Q+1个缩略图205。
还可以基于片段持续时间以及分配给项目窗格110中每个缩略图的时间段来改变从媒体窗格105传送到项目窗格110的视频内容片段的显示以及缩略图组203中表示片段的缩略图205的数量。用户可以将任意时间段的视频片段从媒体窗格105传送到项目窗格110。分配给项目窗格110中每个缩略图的时间段被分配以可基于用户输入改变的默认系统值。为了将所传送的片段显示为缩略图组而需要的缩略图数量是片段持续时间和分配给每个缩略图的时间段的函数。分配给媒体窗格105中的缩略图的时间段可以独立于分配给项目窗格110中的缩略图的时间段地被改变。
图8示出了预览对应于视频剪辑200中一时刻的帧的方法的流程图的一个示例。视频剪辑200可以被显示为一个缩略图205或者缩略图组203中水平序列的多个缩略图205。显示装置上的光标可以由键盘或指示装置或者由这两者来控制。在800处,光标被置于与视频剪辑200有关的缩略图205上,其中光标被显示为播放头。在805处,确定视频剪辑200中与缩略图205上播放头位置相对应的时刻。在810处,识别视频剪辑200中对应于所确定时刻的帧。在815处,在预览窗格115中显示所识别的帧。
图9示出了基于播放头的播放速度进行洗刷的方法的流程图的一个示例。可以使用键盘或指示装置或者使用这两者来控制播放头。通过在一个或多个缩略图上移动播放头,对应于播放头位置的帧被显示在预览窗格115中,并且因此可以被洗刷。在900处,确定在缩略图205上移动播放头的播放速度。如果播放头的移动方向基本上是垂直的,则不洗刷缩略图205中的帧。在910处,在预览窗格115中显示缩略图205的默认示图。如果确定播放速度不是基本上垂直的,则在915处,将播放速度与第一阈值进行比较。如果播放速度小于第一阈值,则洗刷对应于播放头位置的视频和音频内容(920)。如果播放速度大于第一阈值,则在925处,将播放速度与第二阈值进行比较。如果播放速度大于第一阈值并且小于第二阈值,则在930处,仅洗刷该帧的视频内容。不洗刷与该帧相关联的音频内容。如果播放速度大于第二阈值,则认为播放速度太快以至于不能更新预览窗格中的帧,并且显示默认示图。既不洗刷视频也不洗刷任何其他相关内容。默认示图可以是包括缩略图205的开始帧、缩略图205的结束帧、表示视频剪辑200的缩略图组203的开始帧以及表示视频剪辑200的缩略图组203的结束帧在内的任何帧。
图10示出了将叠加内容与视频内容同步的方法的流程图的一个示例。叠加内容被叠加在项目窗格110中所显示的视频内容上。基于用户输入,在1000处,待叠加的内容被添加到项目窗格110。叠加内容包括一个或多个音频轨道、画外音、标题、帧间过渡以及这三者的组合。在有些实现方式中,叠加内容在项目窗格110中被显示为在表示视频内容的缩略图组203各行之间的空白中的水平条。用户可以将叠加内容中的第一点同步为只要视频内容中的第二点被播放就播放。在有些实现方式中,用户选取缩略图205上的第一点。用户然后添加叠加内容。叠加内容的开始点被自动地锚定到缩略图中的第一点。在其他实现方式中,用户向项目窗格110中的缩略图添加叠加内容。叠加内容的开始点被自动地锚定到叠加内容被添加到的缩略图的开始点。锚定被显示为由垂直线连接的两个点,其中每一个位于视频内容和叠加内容上。基于用户输入,在1005处,第一锚点被移动到第一同步点。类似地,基于用户输入,在1010处,叠加内容中的第二锚点被移动到第二同步点。在1015处,第一同步点被锚定到第二同步点。一旦被锚定,叠加内容中的第二同步点总是与其被锚定到的视频内容中的第一同步点同时播放,即使向或从视频内容和叠加内容进行添加或删除。可以使用指示装置或键盘或使用这两者来移动视频内容和叠加内容上的锚点。
图11示出了执行视频编辑软件的系统的示意图的一个示例。系统1100包括显示装置1105、中央处理单元(CPU)1110、键盘1115和指示装置1120。软件可以在几乎任何适合的系统1100(例如,台式计算机、膝上型计算机、个人数字助理(PDA)、智能电话、工作站)中执行。可以使用包括阴极射线管(CRT)和液晶显示器(LCD)监视器在内的任何适合的显示装置1105来将信息显示给用户。用户可以使用键盘1115和几乎任何适合的指示装置(例如鼠标、轨迹球、指示笔、触摸屏)来与视频编辑软件进行交互。指示装置也可以由近程接触屏(near contact screen)来操作,其中近程接触屏采用区域感测场(regional sensing field)来检测附近的对象。显示装置1105、键盘1115和指示装置1120可以通过有线或无线装置被可操作地与CPU 1110耦接。
在有些实现方式中,软件可以被安装在由操作系统(诸如Macintosh操作系统(Mac OS)X v10.0)控制的CPU 1110上。在其他实现方式中,软件可以被安装在由包括Microsoft Windows、UNIX和Linux在内的其他操作系统控制的CPU 1110上。在有些实现方式中,系统1100是单独的装置,如台式计算机。在其他实现方式中,系统1100是网络,其中软件被安装在中央服务器中并且用户可以通过一个或多个节点(如工作站)来访问该软件。
图12示出了中央处理单元1110的示意图的一个示例。CPU 1110包括微处理器1200、随机存取存储器(RAM)1205以及只读存储器(ROM)1210。当用户运行安装在系统1100上的视频编辑软件应用程序时,用户利用包括键盘1115和指示装置1120在内的一个或多个输入装置来为CPU 1110提供指令。微处理器1200基于用户输入以及来自RAM 1205或ROM 1210或者来自RAM和ROM两者的指令来执行用户所指定的操作。系统1100在显示装置1105上显示输出。另外,CPU 1110可以包括存储装置来存储包括利用记录仪器记录的原始镜头、编辑后的视频和附加内容在内的内容。在有些实现方式中,存储装置驻留在CPU 1110中。在其他实现方式中,存储器位于CPU 1110外部。在其他实现方式中,存储装置驻留在记录仪器中。记录仪器可操作地通过有线或无线装置耦接到CPU 1110以检索所存储的内容。
尽管在此已经描述了一些实现方式,然而其他修改也是可能的。例如,视频编辑软件可以被嵌入到记录仪器中。播放记录内容的显示装置可以被用来显示包括媒体窗格105、项目窗格110和预览窗格115的用户界面100。用户可以使用包括指示笔和触摸屏在内的指示装置1120来在媒体窗格105中的缩略图上进行洗刷、从媒体窗格105中的缩略图中选择视频片段以及将所选择的片段传送到项目窗格110。可以在预览窗格115中查看媒体窗格105中显示的缩略图组203中的内容或项目窗格110中的视频内容片段或者这两者的预览。要叠加到项目窗格110中视频内容上的附加内容可以被存储在位于记录仪器中的存储装置中。可替代地,要叠加的内容可以被存储在能够可操作地耦接到记录仪器的单独存储装置中。
在有些实现方式中,可以同时打开和查看不止一个用户界面100。例如,第一视频库中的视频剪辑200可以被加载到第一用户界面100中的第一媒体窗格105中。第二视频库中的视频剪辑可以被加载到第二用户界面100中的第二媒体窗格105中。可以通过类似于文本编辑的操作(包括拖放、剪切粘贴和复制粘贴)选择第一媒体窗格105中的视频剪辑并且将其传送到第二媒体窗格105,反之亦然。与第一媒体窗格105中的视频剪辑200有关的一个或多个缩略图205的时间段不必与同第二媒体窗格105中的视频剪辑200有关的一个或多个缩略图的时间段相同。当视频剪辑200被从第一媒体窗格105传送到第二媒体窗格105时,与被传送视频剪辑200有关的一个或多个缩略图205可以被自动地分配以第二媒体窗格105中一个或多个缩略图205的时间段,反之亦然。可以通过类似于文本编辑的操作(包括拖放、剪切粘贴和复制粘贴)选择在第一用户界面100的第一媒体窗格105中所选择的视频片段并将其传送到第二用户界面100的第二项目窗格110,反之亦然。视频片段可以被从第一项目窗格105中选择并传送到第二项目窗格105,反之亦然。可以在相应用户界面100的预览窗格115中预览用户界面100中媒体窗格105和项目窗格110中的视频内容。用户界面100可以在显示装置1105上被显示为层叠方式,其中可以基于用户输入单独地对每个用户界面100进行访问、查看和调整大小。
在另一实现方式中,可以在同一用户界面100中打开和查看不止一个媒体窗格105。例如,第一视频库中的视频剪辑可以被加载到用户界面100的第一媒体窗格105中。可以在同一用户界面100中打开第二媒体窗格105,并且第二视频库中的视频剪辑可以被加载到第二媒体窗格105中。可以通过类似于文本编辑的操作(包括拖放、剪切粘贴和复制粘贴)从第一媒体窗格105中选择视频剪辑200并且将其传送到第二媒体窗格105,反之亦然。分配给与从第一媒体窗格105传送到同一用户界面100中第二媒体窗格105的视频剪辑200有关的一个或多个缩略图205的时间段可以被自动地调整以对应于分配给第二媒体窗格105中缩略图205的时间段。可以在用户界面100的同一预览窗格115中预览第一媒体窗格105和第二媒体窗格105中的视频内容。可以通过类似于文本编辑的操作(包括拖放、剪切粘贴和复制粘贴)选择来自第一媒体窗格105和第二媒体窗格105的视频内容片段并且将其传送到相同项目窗格110,反之亦然。
在另一实现方式中,可以在同一界面100中打开和查看不止一个项目窗格110。来自同一媒体窗格105或不同媒体窗格105的视频片段可以被选择并传送到第一项目窗格110和第二项目窗格110。视频片段还可以在两个项目窗格110之间被传送。每个项目窗格105的内容可以被保存为单独的加工完成后的项目。依此方式,用户可以同时在一个或多个项目上工作。
在有些实现方式中,用户界面100的窗格可以在显示装置1105上被显示为彼此分离。媒体窗格105、项目窗格110和预览窗格115可以在显示装置1105上被显示为彼此分隔开。基于用户输入,可以对每个窗格进行单独地访问、移动和改变大小。尽管窗格被显示为分离,但是从媒体窗格105选择片段,将片段传送到项目窗格110以及在预览窗格115中预览媒体窗格105或项目窗格110中的视频可以保持不受影响。基于用户输入,可以重新连接两个或多个窗格。
在有些实现方式中,媒体窗格105可以占据用户界面的右半边,而项目窗格110和预览窗格115可以占据左半边,反之亦然。一个或多个视频剪辑100可以在媒体窗格105中被显示为多列缩略图组203。播放头可以被显示为当显示装置1105上的光标置于缩略图上时出现的水平条。可以通过在一个或多个缩略图205上垂直洗刷播放头来预览缩略图组203中的帧。
在有些实现方式中,当一个或多个视频剪辑200被加载到媒体窗格105中并且被显示为一个或多个缩略图205时,每个视频剪辑200在存储装置中被存储在其下的标题可以在视频剪辑200附近而出现。而且,根据每个视频剪辑200被分布到的缩略图205的数量,缩略图数量可以在每个缩略图205附近出现。在其他实现方式中,表示一个或多个视频剪辑200的附加数据可以出现在媒体窗格105中。
在有些实现方式中,当媒体窗格105中一个或多个缩略图205中所显示的视频内容片段被选择时,所选择的片段可以从媒体窗格105中的显示中去除。可替代地,除了所选择的片段之外的所有缩略图片段可以从媒体窗格105中的显示中被去除。用户可以提供输入来永久地从原始镜头中删除去除的片段。类似地,在项目窗格110中显示的片段也可以被从显示中去除。
另外,附图中所示的逻辑流程不要求所示的特定顺序、或者顺次顺序来获得期望的结果。另外,从所述的流程中,可以提供其他步骤或者可以删除一些步骤,并且可以向或从所述系统添加或删除其他部件。因此,其他实现方式落入了所附权利要求的范围内。