具体实施方式
首先参考图1A到1D,框图示出了系统100,它是用于依照本发明对序列中的多个媒体对象118实现一个或多个特征114的多媒体编辑软件的一部分。系统100可以是软件程序、应用程序以及要安装或实现在诸如图7的计算机130等计算设备中的一组计算机可执行指令。系统100能够通过向诸如118-1到118-M等一个或多个媒体对象应用特征来编辑媒体对象和/或对媒体对象创建有趣的结果。在一个实施例中,媒体对象118可以是视频剪辑、图像、幻灯片演示、可视图形作品、音频作品、视觉/音频表示等等。媒体对象118也可以是文件、文件的电子编译、视觉和/或音频作品的文件的集合、电子文档等等。特征114可以是在媒体对象118之间应用的、以创建从一个媒体对象到下一连续的媒体对象的过渡的过渡,是要放置在媒体对象118之前或之后的标题,是应用于媒体对象118的效果,是媒体对象118之间的空白或彩色屏幕,或是可修改媒体对象118的作品的其它特征114。作为示例而非局限,诸如标题或过渡等特征可应用于两个连续的媒体对象之间(例如,擦拭、淡入淡出或其它过渡)。在特征的另一示例中,效果可应用于单个媒体对象(例如,修改黑白、棕褐色、色彩平衡等等)。在特征的另一示例中,可在媒体对象序列的起始处放置标题以介绍它们、诸如在影片的片头字幕中那样在媒体对象序列的末尾放置标题、或诸如在影片的对白字幕中那样在一个或多个媒体对象的上方放置标题。
最初,诸如114-1、114-2到114-N等一个或多个特征具有影响该特征的至少一个可变方面或属性的参数。这些特征对于消费者或系统100的其它用户是可用的。可变方面或属性控制特征的演示。通过改变特征的参数,改变了该特征的方面或属性。例如,诸如擦拭过渡等特征至少包括可变方面或属性,诸如擦拭的方向方面(例如,从左到右、从右到左等等)、擦拭的形状方面(例如,平滑边缘形状、锯齿形边缘形状等等)、擦拭的速率方面(例如,快速擦拭、慢速擦拭等等)。在另一示例中,诸如标题等特征包括可变方面或属性,如标题的颜色方面(例如,红色标题、蓝色标题等等)、标题的字体方面(例如,字体大小、字体类型、字体颜色等等)。在其它示例中,诸如色调偏移效果等特征包括可变方面或属性,诸如色调应当偏移到的颜色以及它应当朝向该颜色偏移的程度等。特征114可作为系统100的一部分包括在内。在另一实施例中,第三方提供特征114并将其设计成与系统100结合。同样,媒体对象118的序列112可以以由诸如数码相机或数码便携式摄像机等输入设备提供的文件的形式提供给系统100。
在图1A中,系统100包括用于指定诸如114-1等具有影响可变的至少一个方面的参数的特征的特征组件102。在图1B中,消费者使用指示器组件104来标识特征之一,例如114-2相对于序列112中的媒体对象118的位置。这可以通过例如使用鼠标拖放特征114-2来完成。指示器组件104标识序列112中要在媒体对象118-1和媒体对象118-2之间放置诸如过渡或标题等特征114-2的位置。在诸如过渡或标题等特征的情况下,用户使用指示器组件104来标识由该媒体对象或诸如媒体对象118-1、118-2和118-3之间要应用特征的位置。在效果的情况下,消费者使用指示器组件104来标识媒体对象中用于指定特征的位置。
消费者可继续使用指示器组件104来标识序列112中用于指定特征114的其它位置。例如,在图1C中,消费者使用指示器组件104来标识序列112中媒体对象118-1和118-2之间用于特征114-1的位置。消费者也可使用指示器组件104来指定媒体对象118-3和118-4之间的位置中的特征114-1的另一实例。
系统100也包括序列生成器组件106或用于通过改变其参数以改变至少一个方面A来修改特征114的修改组件,该方面由图1D中的特征114-1或114-2内的框示出。例如,特征114-2可以是具有诸如从左到右、从右到左、从上到下、从下到上等方向方面的擦拭过渡。特征114-1可以是具有诸如蓝、红、绿、黄等颜色方面的标题特征。序列生成器106修改用于特征114-1和114-2和/或在序列112中存在的其它特征114的序列数据。序列生成器106通过根据特征在序列112中的位置改变特征114-1的参数来修改特征114-1和114-2。具体地,方面A可以根据特征相对于序列112中的媒体对象的位置或相对于序列112中的其它特征的位置来修改(在图5A到5D中详细讨论)。
可以构想,消费者无需看见当特征被定位在序列中时由序列生成器106在显示上执行的修改。换言之,系统100被配置或设计成操作,以使消费者指定特征并标识指定特征的位置,且系统100在显示序列112时执行具有变化方面的特征。
系统100也包括用于在顺序地显示媒体对象时在标识位置处依照其变化参数来呈现特征的呈现组件108。每一特定特征类型具有其自己的特征呈现组件,在图1D中被示为108-1和108-2。特征呈现组件108-1依照由序列生成器106设置的特征的方面A来呈现特征114-1。例如,在序列生成器106修改特征114-1的方面A以指示它现在是相同特征序列中的第三个而非第二个之后,呈现组件118-1可在标识的位置中呈现从右到左的擦拭而非从上到下的擦拭。
在一个实施例中,系统100实时地显示修改的特征。例如,在消费者指定了特征并标识了该特征在时间线中的位置之后,序列生成器106直接修改指定特征的各方面,且呈现组件118在序列中所标识的位置上呈现该特征。这一修改和呈现在流传送媒体对象用于显示时实时地发生。在另一实施例中,系统100在它完成了呈现由序列生成器106改变的其方面A的所有特征之前,不开始时间线的回放。例如,消费者可指定诸如3-D过渡等复杂特征插入到时间线序列的一个位置中。由于3-D过渡可能要求额外的处理,因此呈现组件可在序列生成器106更新了其方面信息的同时就开始呈现特征,但是不允许在它完成呈现该复杂3-D过渡之前开始时间线的回放。在又一实施例中,在时间线的回放中用复杂特征的代理来替代(诸如向用户解释该特征仍被呈现的静态图像),直到呈现组件完成了对时间线上存在的所有特征的呈现。
现在参考图2,一个示例性框图示出了时间线上具有一个或多个修改特征的一个或多个媒体对象。时间线202依照位置标识了媒体对象和修改的特征,诸如1到15。序列204是示出修改的特征和媒体对象的显示序列的一个实例。序列204包括一个或多个修改的特征,其中TI指标题特征(例如,TI1指标题1),E指效果特征(例如,E2指效果2),并且T指过渡特征(例如,T3指过渡3)。序列204也包括一个或多个媒体对象,其中VC指视频剪辑(例如,VC4指视频剪辑4)。修改的特征和媒体对象的结合206示出了时间线被分解成其构成元素。
如先前所讨论的,消费者可继续编辑序列204中修改的特征和/或媒体对象。例如,消费者可选择被设计成自动生成擦拭模式(从左到右、从右到左、从上到下)的擦拭过渡(T)。当用户将该擦拭过渡放置在时间线上时,序列生成器106修改时间线上存在的该擦拭过渡的每一实例的方面,以及时间线上存在的所有其它过渡的方面,以指示它们在时间线上的新的相对位置。然后,呈现组件108使用该修改的方面数据来依照模式(从左到右、从右到左以及从上到下)为擦拭过渡的每一实例生成适当的擦拭过渡。此处,如序列204中所显示的,T1是从左到右擦拭,T2是从右到左擦拭,T3是从上到下擦拭,T4是从左到右擦拭,T5是从右到左擦拭,T6是从上到下擦拭,T7是从左到右擦拭。之后,消费者可从序列204中移除VC4和T5(分别在位置9和10上)。在某些现有的多媒体编辑软件中,消费者需要修改擦拭过渡T6和T7以维持相同的擦拭过渡模式,(即,从左到右、从右到左和从上到下)。另一方面,依照本发明的一个优点,系统100在移除了Vc4和T5之后动态地修改过渡T6和T7,以使消费者无需修改T6和T7。换言之,系统100依照特征相对于诸如序列204等序列中的媒体对象和/或其它特征的位置来修改特征。
系统100如何依照特征相对于序列中的其它特征的位置来修改特征的另一实例如下。假定消费者指定了自动标题特征(T1),它生成看上去类似书本封面的标题、看上去类似书本封底的标题、以及封面标题和封底标题之间的一个或多个自动标号的章节标题。由此,在序列204中,TI1将显示封面标题,T2将显示“第1章”标题,T3将显示封底标题。在某些现有的多媒体软件中,消费者需要使用三个不同的标题样式来实现时间线上的这一效果,并且如果消费者希望在时间线上位置3之后(例如,在VC1和T2之间)插入另一章节标题而同时维持相同的标题模式,则消费者需要在位置3之后插入一个新的“第1章”标题,并且需要将TI2修改成“第2章”。依照本发明的另一优点,系统100响应于在位置3处新插入的标题特征修改TI2,因为系统100是通过使用包括在特征中的一个或多个参数值、依照特征相对于序列中的其它特征的位置来修改特征的。
作为示例而非局限,以下参数类别的一个或多个值可储存在特征的数据结构中(在图4中更详细讨论):
家族本地序列号,它指示该特征在具有相同家族号和各种类型号的不间断特征序列中的位置;
家族全局序列号,它指示该特征在具有相同家族号和各种类型号的所有特征中的位置;
个体本地序列号,它指示该特征在具有相同家族号和相同类型号的不间断特征序列中的位置;
个体全局序列号,它指示该特征在具有相同家族号和相同类型号的所有特征中的位置;
家族本地总计数,它指示具有相同家族号和各种类型号的不间断特征序列中的最高家族本地序列号;
家族全局总计数,它指示具有相同家族号和各种类型号的所有特征中的最高家族全局序列号;
个体本地总计数,它指示具有相同家族号和相同类型号的不间断特征序列中的最高个体本地序列号;
个体全局总计数,它指示具有相同家族号和相同类型号的所有特征中的最高个体全局序列号。
可以构想,每一特征仅使用这八个参数中的少数几个,并且在某些情况下,系统100可能不执行以上列出的所有八个参数,并且对该参数列表的任何添加不脱离本发明的精神。
图3A到3C示出了具有类似特征(例如,过渡(T)、效果(E)和标题(TI))的相关联参数的特征的图。具体地,图3A示出了依照诸如图2中的过渡特征T1到T7的每一过渡特征中的各种参数值来链接这些特征的方法。例如,全局链表302依照T1到T7各自在时间线中的全局序列号304来链接它们。即,全局序列号是每一特征在序列中的号码,而无论其家族或类型如何。另一方面,家族链表306依照每一特征的家族号链接特征列表。例如,家族链表306包括每一过渡家族的单独列表:家族1和家族2。由此,家族1列表链接到T3、T4和T6。类似地,家族2列表链接T1、T2、T5和T7。另外,依照家族链表306,每一特征具有家族本地序列号308以及家族全局序列号310。
个体类型链表312依照特征在特定家族内的个体类型号来链接特征。例如,个体类型链表312具有包含诸如T3、T4和T6等特征的个体类型1列表,因为它们是家族1中的类型1。类似地,个体类型2列表包含诸如T2和T5等家族2的类型2特征,而个体类型3列表包含诸如T1和T7等家族3的类型3特征。个体类型本地序列号314和个体类型全局序列号316依照个体类型链表312指示了特征T1到T7的序列。
在一个实施例中,以上在图3A中所述的链表于在时间线(例如,图2中的时间线202)上改变特征(例如,效果、过渡或标题)时被重新计算。例如,如果消费者通过移除T3和VC3+E3来编辑图2中的特征,则系统100可重新计算被该对时间线的改变影响的所有个体类型链表。序列生成器106响应于任何改变对时间线上的每一特征重新计算参数。它也创建其参数(例如,个体本地序列号和个体全局序列号)在重新计算过程中改变的所有特征的列表。接下来,系统重新计算受该时间线的改变影响的所有家族链表,并添加到其参数(例如,家族本地序列号和家族全局序列号)改变的所有特征的列表。在呈现组件108显示特征和媒体对象之前,序列生成器106为每一受影响的特征重新计算参数。如先前所讨论的,某些非复杂的特征可以实时地处理,而某些复杂的特征可能要求预呈现或预计算。由此,呈现组件108可在序列生成器向其通知改变之后立即或在稍候的某一时刻重新计算和/或重新绘制时间线的受影响部分。
图3B是示出在媒体对象序列中不同家族中不同类型特征的确定参数值的另一图示。具体地,图3B示出了同一过渡(T)特征家族中的同一个体类型的参数值。“T”之后的数字(例如,T3的“3”)指示过渡在总过渡序列中的号码。例如,T3、T4、T6、T12、T13、T15和T17都属于同一家族和同一类型(例如,家族1,类型1)。这些过渡之间的过渡属于不同的家族或不同的类型或同时属于不同家族和不同类型。由此,依照上述不同参数类别的定义,每一过渡特征(例如,T3、T4、T6、T12、T13、T15或T17)具有对应于特征相对于其它特征的位置的参数值。
图3C是示出媒体对象序列中不同家族中的不同类型特征的确定参数值的另一图示。具体地,图3C示出了不间断序列中的过渡(例如,T11到T17)。例如,T11和T14的家族全局序列号分别是1和2,因为它们属于同一家族(例如,家族2)。类似地,T12、T13、T15、T16和T17的家族全局序列号分别是1、2、3、4和5,因为它们属于同一家族(例如,家族1)。T12、T13、T15和T17的个体全局序列号分别是1、2、3和4,因为它们属于同一家族和同一类型(例如,家族1和类型1)。
接下来参考图4,一框图示出了依照本发明要与序列中的多个媒体对象中的一个或多个相关联的特征的数据结构。特征402具有第一组字段404,包括标识特402的数据。标识特征402的数据可包括用于标识号、特征家族号或唯一地标识其它特征中的每一特征的其它标识号的字段。例如,擦拭过渡特征可具有标识号“1”。系统100或特征402的第三方制造商可具有用于向所有特征分配唯一标识号的统一标识系统。第一字段404可包括标识包含一个或多个成员的特征家族的标识号。例如,擦拭过渡特征家族可具有诸如平滑擦拭、锯齿状擦拭等的成员。
同样,标识特征402的数据可包括类型号、或标识特征制造商的类型号。例如,如在图3B和3C中,擦拭过渡特征可具有不同类型的擦拭过渡,诸如2-D擦拭、3-D擦拭、有组织擦拭等等。
特征402也包括第二组字段406,它们储存表示特征相对于与序列中的媒体对象相关联的其它特征的位置的多个值和/或由序列生成器计算的其它数据。在本发明的一个实施例中,该组字段406保持上述所有八个参数值。在本发明的另一实施例中,该组字段406也包含表示关于特征周围的媒体对象的信息的值,例如,关于特征之前或之后的视频剪辑的平均亮度的数据、或表示特征之前或之后的视频剪辑中存在的运动的一组复杂的运动矢量(见图5D的讨论)。
本发明构想以上特征数据结构可以由与系统100兼容的特征的第三方销售商、制造商或设计者来采用或实现。例如,特征的第三方销售商可设计一系列用于系统100的标题特征来编辑媒体对象。由此,特征的第三方销售商可用图4所示的数据结构配置每一特征,使得消费者可购买要用于系统100的该组第三方标题特征。另外,一个或多个上述参数也可以被实现为特征设计或制造的一部分。例如,设计该标题特征系列的第三方销售商选择仅包含家族全局序列号。
图5A示出了依照个体全局序列号来改变特征的各方面。如先前所讨论的,序列生成器106依照特征在时间线上相对于其它特征和/或依照诸如围绕该特征的媒体对象的内容等其它上下文信息来修改特征内的参数406。在502,这些参数406被传递到特征以呈现组件,后者依照部分或全部这些参数来呈现特征。例如,呈现组件108依照图5A中的个体全局序列号的值来改变擦拭过渡特征的方面。假定消费者希望从左到右、从右到左和从上到下的擦拭过渡模式,如果在504擦拭过渡特征的个体全局序列号模3等于1(其中模意味着整数除法中的余数),则呈现组件108在510呈现从左到右擦拭。类似地,如果在506个体全局序列号模3等于2,则呈现组件108在512呈现从右到左擦拭。在508,如果个体全局序列号模3既不是1也不是2,则呈现组件108在514呈现从上到下擦拭。由此,消费者将在550看到一致的擦拭过渡模式。
图5B示出了依照个体全局序列号和个体总计数来改变特征的各方面。如先前所讨论的,序列生成器106依照特征在时间线上相对于其它特征的位置和/或依照诸如围绕该特征的媒体对象的内容等其它上下文信息来修改特征内的参数406。假定消费者希望具有在起始处从左到右擦拭、在末尾从上到下擦拭、并且在中间从右到左擦拭的模式的擦拭过渡。在图5B中,呈现组件108在516确定擦拭过渡特征的个体全局序列号是否等于1。如果是,则呈现组件108在522呈现从左到右擦拭。在518,呈现组件108确定个体全局序列号是否等于个体全局总计数,这意味着它是最后一个擦拭过渡。如果确定是肯定的,则呈现组件108在524呈现从右到左擦拭。否则,呈现组件108在526呈现从上到下擦拭。因此,消费者将在522看到擦拭过渡模式。图5C示出了依照家族全局序列号和家族全局总计数来改变特征的各方面。如先前所讨论的,序列生成器106依照特征在时间线上相对于其它特征的位置和/或依照诸如围绕该特征的媒体对象的内容等其它上下文信息来修改特征内的参数406。假定消费者希望将媒体对象组织成类似具有封面、封底和中间章节标题的书本的标题特征。呈现组件108在528确定标题特征的家族本地序列号是否等于1。如果家族本地序列号等于1,则呈现组件108在530基于个体类型执行具有颜色的“书本封面”标题。在图5C中,在彩色标题家族中有三种类型的标题特征:1=红色书本样式,2=蓝色书本样式,3=绿色书本样式。当序列生成器106确定了家族全局序列号和家族全局总计数之后,这些值由呈现组件108用于创建标题的不同方面(例如,书本封面、书本封底或中间章节)。在530,如果家族全局序列号是“1”,即这是该标题家族在时间线上第一次出现,则呈现组件108执行该方面(“书本封面”标题)。在532,呈现组件108将家族全局序列号与家族全局总计数进行比较。如果它们是相同的,则呈现组件108在534对彩色标题家族中的每一类标题特征执行“书本封底”标题方面,意味着这是最后一个彩色标题。如果在532的确定是否定的,则呈现组件在538对彩色标题家族中的每一类标题执行“书本章节”方面。总体上,消费者可以看到由呈现组件108在566用三种类型的标题特征554呈现的特征结果。
在另一实施例中,图5D示出了依照从相关媒体对象导出的参数来改变特征的各方面。媒体对象(例如,视频剪辑560)可以拥有实际的或导出的属性。媒体对象的实际属性可包括,但不限于,媒体对象的持续时间,以及在视频剪辑或静止图像的情况下,包括记录该视频或图像的日期和时间。媒体对象的导出属性可包括,但不限于,诸如运动属性562、图像色彩属性564和/或其它属性等属性。运动属性562可包括如下属性:诸如X轴上的导出或实际摄像机速率、y轴上的导出或实际摄像机速率、z轴上的导出或实际摄像机速率、x轴上的导出或实际物体速率、y轴上的导出或实际物体速率、z轴上的导出或实际物体速率、摄像机稳定性、导出或实际摄像机变焦速率、或涉及运动矢量的其它属性。图像色彩属性564可包括诸如媒体对象中的主要色彩以及媒体对象内的其它色彩的频率等参数,或涉及色彩直方图的其它参数。媒体对象560也可包括诸如媒体对象560的持续时间、摄像机设置、全局定位卫星(GPS)信息或其它实际或导出数据等的参数。序列生成器108将这些参数从围绕特征的媒体对象复制到当前特征之前或之后的预定数量的媒体对象的特征中的字段(例如,字段组406)中。例如,在本发明的一个实施例中,序列生成器106将前导或后续媒体对象的物体运动矢量复制到当前特征中。在本发明的另一实施例中,序列生成器106将五个前导和五个后续媒体对象的物体运动矢量复制到当前特征中。采用这些参数作为566处的输入,本示例中的呈现组件108确定在568处所呈现的特征的另一侧的媒体对象(例如,VC1和VC2)中的物体的运动方向是否是从左到右。如果确定是肯定的,则呈现组件108在570执行VC1和VC2之间的从左到右擦拭过渡(例如,T1)。在572,如果序列生成器106确定相邻媒体对象中的物体的运动方向是从右到左,则呈现组件108在574在媒体对象之间执行从右到左擦拭过渡。否则,呈现组件108在576执行从上到下擦拭。总体上,消费者可在558看到由序列生成器106修改的特征的结果。这一情况下的总体效果是用于过渡向其本身分配它所过渡的媒体剪辑中的物体的水平运动,或者没有相干的水平运动来执行垂直擦拭。
换言之,呈现组件108可通过分析涉及媒体对象内容的参数来改变特征的各方面。
如图5A到5D所示的,系统100可以通过使用上述参数的一个或多个组合来实现以达到期望的结果。
可以构想,一个或多个参数值的任何变更和/或操纵不偏离本发明的精神。例如,特征的第三方销售商可在改变淡入淡出过渡的各方面时使用个体本地序列号和个体全局总计数,而特征的另一第三方销售商可对暂停特征使用家族全局序列号和家族全局总计数,等等。
在一个实施例中,特征包括一组预定的规则,用于改变特征的各方面。例如,在设计特征的过程中,特征的第三方销售商可配置特征,使得特征的方面是由上述一个或多个参数值来确定的。可以构想,呈现组件108在确定如何呈现特征时可以不使用所有标识的数据或值(例如,参数值)。典型的呈现组件仅使用许多可能参数中的少数几个。某些呈现组件使用对基于序列的参数的选择,而其它呈现组件使用从相邻媒体对象导出的参数,另外一些呈现组件可使用这两种类型参数的混合。
在另一实施例中,特征的另一第三方销售商可在改变特征的各方面时使用涉及媒体对象内容的参数值和/或上述参数值。在又一实施例中,特征向消费者提供了覆盖自动行为并选择应当如何改变特征的各方面的特定模式的选项。例如,消费者可为擦拭特征选择一种模式,诸如从左到右、从右到左等等。这一用户交互可创建又一参数,它可被传递到周围的特征,使得它们可自动调整以适应用户的选择。例如,如果用户强迫擦拭为从左到右,则剩余的擦拭可自动调整以启动从右到左擦拭开始的新序列。在另一实施例中,第三方销售商预定义一组特征模式。
参考图6,流程图示出了依照本发明向序列中的多个媒体对象应用特征的方法。在602,系统100接收多个媒体对象,并在604排列它们以形成时间线或序列。消费者使用输入设备(例如,数码相机或数码便携式摄像机)输入多个媒体对象。系统100也可从其它存储设备或计算机可读介质接收多个媒体对象。
在606,系统100等待用户输入。此时,用户可请求系统执行一个或多个任务,包括但不限于,如A、B和C所示的任务。例如,A用于向时间线添加特征或更多媒体对象。B用于修改或删除时间线上现有的特征或媒体对象。C用于从时间线上预览或发布完成的视频。系统100通过诸如鼠标等输入设备接收用户对这些任务的输入/选择。在另一实施例中,响应于用户选择A、B和/或C,自动完成一个或多个任务。例如,当用户添加复杂特征(例如,3D过渡),则系统100实质上立即可预呈现该3D过渡特征。
在610,消费者使用系统100来指定要在604添加到序列中的时间线上的所选择特征或媒体对象。例如,消费者在由系统100或特征的第三方制造商/销售商(例如,图1A中的110或图2中的204)提供的特征集合中选择一个或多个特征。消费者也可通过将购买的特征下载或安装到特征集合来从第三方销售商购买额外的特征。可以构想,这些第三方制造的特征被设计和配置成与系统100和/或所有其组件、模块、数据结构、参数串和其它设置兼容。
在612,系统100标识多个媒体对象中用于插入指定的特征或另外的媒体对象的位置,诸如消费者将选择的特征拖放到时间线上(见图1B和1C)。每一特征包括至少一个可变方面或属性,诸如擦拭过渡的方向。由此,系统100在632根据特征相对于序列中的媒体对象和/或相对于其它特征的所标识的位置以各种方法呈现特征。例如,系统100通过评估一个或多个参数值(如,图5A到5D中所讨论的)改变特征的各方面或属性。在614,系统100将修改的特征插入到媒体对象序列中所标识的位置以供显示。在640,序列生成器更新由在614向时间线添加特征或媒体对象所影响的所有特征的参数。
在606,消费者可决定修改或删除时间线上现有的媒体对象或特征。消费者在620选择特征或媒体对象,并在622选择删除或修改所选择的特征或媒体对象。一旦消费者完成了删除或修改特征或媒体对象,序列生成器106就在640更新时间线上所有受影响的特征的参数。
在630,消费者在606选择任务C后决定预览或发布时间线。在632,系统100使用呈现组件108依照在640处设置在特征上的参数来呈现每一特征。在634,将完成的视频写入输出文件或其它介质。
本发明可由编辑包括本发明的至少某些特征的一个或多个媒体对象的软件程序来实现。在操作中,系统100可以是软件程序、代码或一组能够编辑媒体对象的计算机可执行指令。最初,有一组媒体对象可用于编辑,诸如多个视频剪辑或图像。特征组件102从一个或多个特征的集合中指定一个特征。消费者协助标识特征(例如,通过使用鼠标点击显示器上的特征),诸如擦拭过渡特征。消费者也通过使用鼠标指针将所标识的特征(例如,表示所表示的特征的图标)拖曳到媒体对象序列中所标识的位置,将所标识的特征关联到媒体对象。换言之,消费者通过指定要插入擦拭过渡特征的位置,诸如在图1B中的118-1和118-2之间,或在图1C中的媒体对象118-2或118-4之前插入标题特征,来编辑视频剪辑。
序列生成器106之后通过根据特征相对于序列中的媒体对象和/或相对于其它特征的位置设置特征的各种参数来修改特征。之后,呈现组件108根据其上设置的一个或多个参数来呈现特征。例如,呈现组件108根据特征相对于序列中的媒体对象和/或其它特征的位置和/或内容来呈现特征的各种擦拭过渡或标题样式(见图5A到5D)。通过实现本发明的一个或多个特征,消费者无需修改特征来维持模式,因为序列生成器106根据特征相对于序列中的媒体对象或其它特征的位置来自动修改特征的参数,且呈现组件108根据那些参数来自动呈现特征。
在消费者完成了编辑媒体对象之后,序列生成器106修改所有受到消费者执行的编辑影响的特征的参数。当消费者请求预览或发布时间线时,呈现组件108依照由序列生成器106在其上设置的参数来呈现特征。在本发明的一个实施例中,一旦序列生成器修改了某些复杂特征上的参数,呈现组件108就可预呈现这些复杂特征,而不是等待系统100的预览或发布组件调用呈现组件108。
图7示出了计算机130形式的通用计算设备的一个示例。在本发明的一个实施例中,诸如计算机130等计算机适用于此处所示和所描述的其它附图。计算机130具有一个或多个处理器或处理单元132以及系统存储器134。在所示的实施例中,系统总线136将包括系统存储器134的各种系统组件耦合到处理器132。总线136表示任意若干种总线结构类型的一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各类总线体系结构的处理器或局部总线。作为示例,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机130通常至少具有某种形式的计算机可读介质。计算机可读介质可以是可由计算机130访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器134包括易失性和/或非易失性存储器形式的计算机存储介质。在所示的实施例中,系统存储器134包括只读存储器(ROM)138和随机存取存储器(RAM)140。基本输入/输出系统142(BIOS)包括如在启动时帮助在计算机130内的元件之间传输信息的基本例程,通常储存在ROM 138中。RAM 140通常包含处理单元132立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统144、应用程序146、其它程序模块148和程序数据150。
计算机130也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图7示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器154。图7也示出了对可移动、非易失性磁盘158进行读写的磁盘驱动器156以及对可移动、非易失性光盘162,如CD ROM或其它光介质进行读写的光盘驱动器160。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器154、磁盘驱动器156和光盘驱动器150通常通过非易失性存储器接口,如接口166连接到系统总线136。
上文讨论并在图7示出的驱动器及其关联的计算机存储介质为计算机130提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器154储存操作系统170、应用程序172、其它程序模块174和程序数据176。注意,这些组件可以与操作系统144、应用程序146、其它程序模块148和程序数据150相同,也可以与它们不同。这里对操作系统170、应用程序172、其它程序模块174和程序数据176给予不同的标号来说明至少它们是不同的副本。
用户可以通过输入设备,如键盘180和定点设备182(例如鼠标、跟踪球或触摸板)向计算机130输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线136的用户输入接口184连接至处理单元132,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器188或其它类型的显示设备也通过接口,如视频接口190连接至系统总线136。除监视器188之外,计算机通常包括其它外围输出设备(未示出),如扬声器和打印机,它们可通过输出外围接口(未示出)连接。
计算机130可以使用到一个或多个远程计算机,如远程计算机194的逻辑连接在网络化环境中操作。远程计算机194可以是个人计算机、服务器、路由器、网络PC、对等设备或其它普通网络节点,并通常包括许多或所有相对于计算机130所描述的元件。图7描述的逻辑连接包括局域网(LAN)196和广域网(WAN)198,但也可包括其它网络。LAN 196和/或WAN 198可以是有线网络、无线网络、其组合等等。这类网络环境常见于办公室、企业范围计算机网络、内联网以及全球计算机网络(例如,因特网)。
当在局域网网络环境中使用时,计算机130通过网络接口或适配器186连接至LAN 196。当在广域网网络环境中使用时,计算机130通常包括调制解调器178或用于通过WAN 198,如因特网建立通信的其它装置。调制解调器178可以是内置或外置的,它通过用户输入接口184或其它适当的机制连接至系统总线136。在网络化环境中,相对于计算机130所描述的程序模块或其部分可储存在远程存储器存储设备(未示出)中。作为示例而非局限,图7示出了远程应用程序192驻留在存储器设备上。示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
一般而言,计算机130的数据处理器通过在不同的时刻储存在计算机的各种计算机可读存储介质上的指令来编程。程序和操作系统通常例如分布在软盘或CD-ROM上。从那里,它们被安装或加载到计算机的次级存储器中。在执行时,它们至少部分地被加载到计算机的初级电子存储器中。当这些和其它各种类型的计算机可读存储介质包含用于实现以下结合微处理器或其它数据处理器描述的步骤的指令或程序时,此处所描述的本发明包括这类介质。当依照此处所描述的方法和技术来编程时,本发明也包括计算机本身。
为说明起见,诸如操作系统等程序和其它可执行程序组件此处被示出为离散的框。然而,可以认识到,这类程序和组件在不同的时刻驻留在计算机的不同存储组件中,并由计算机的数据处理器来执行。
尽管结合包括计算机130的示例性计算系统环境描述了本发明,然而本发明可用众多其它通用或专用计算系统环境或配置来操作。该计算系统环境不旨在对本发明的使用范围或功能提出任何局限。此外,该计算系统环境不应当被解释为对在示例性操作环境中所示出的组件的任一个或其组合具有任何依赖性或要求。适用于本发明的众所周知的计算系统、环境和/或配置包括但不限于,个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
本发明可在诸如由一个或多个计算机或其它设备执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括但不限于,例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
软件体系结构上下文中的接口包括软件模块、组件、代码部分或其它计算机可执行指令序列。接口包括,例如,访问第二模块来代表第一模块执行计算任务的第一模块。在一个示例中,第一和第二模块包括诸如由操作系统提供的应用程序编程接口(API)、组件对象模型(COM)接口(例如,用于对等应用程序通信)、以及可执行标记语言元数据交换格式(XMI)接口(例如,用于web服务之间的通信)。
接口可以是诸如Java 2平台企业版(J2EE)、COM或分布式COM(DCOM)示例中的紧耦合的同步实现。或者或除此之外,接口可以是诸如web服务中的松耦合的异步实现(例如,使用简单对象访问协议)。一般而言,接口包括以下特征的任何组合:紧耦合的、送耦合的、同步的和异步的。此外,接口可符合标准协议、专有协议、或标准和专有协议的任何组合。
此处所描述的接口可以都是单个接口的一部分,或者可以被实现为单独的接口或其中的任何组件。接口可本地或远程地执行以提供功能。此外,接口可包括比此处所示或所描述的更多或更少的功能。
此处所示和所描述的方法的执行或进行顺序不是必要的,除非另外指定。即,方法的元素可以用任何顺序来执行,除非另外指定,且方法可包括比此处所揭示的更多或更少的元素。例如,可以构想,在另一元素之前、同时或之后执行一特定的元素在本发明的范围之内。
当介绍本发明或其实施例的元素时,冠词“一”、“一个”、“该”和“所述”意味着有一个或多个元素。术语“包括”、“包含”和“具有”旨在包含性的,意味着可以有除所列出的元素之外的其它元素。
鉴于上述内容,可以看到,实现了本发明的若干目的并获得了其它有利的结果。
由于可以在上述产品和方法中做出各种改变而不脱离本发明的范围,因此包含在以上说明书中并在附图中示出的所有内容都被解释为说明性而非在限制意义上解释。