详细描述
转向附图,其中同样的参考标号指定同样的组件,图1是交互式多媒体演示系统(“演示系统”)100的简化的功能框图。演示系统100包括音频/视频内容(“AVC”)管理器102、交互式内容(“IC”)管理器104、演示管理器106、定时信号管理块108、以及混合器/呈现器110。一般而言,设计选择规定了如何实现演示系统100的特定功能。这样的功能可使用硬件、软件或固件、或其组合来实现。
在操作中,演示系统100处理交互式多媒体演示内容(“演示内容”)120。演示内容120包括视频内容组成部分(“视频组成部分”)122和交互式内容组成部分(“IC组成部分”)124。视频组成部分122和IC组成部分124一般,但不一定分别由AVC管理器102和IC管理器104作为单独的数据流来处理。
演示系统100也便于将演示内容120作为已播放演示127向用户(未示出)演示。已播放演示127表示与由混合器/呈现器110产生且可由用户通过诸如显示器或扬声器(未示出)等设备接收的演示内容120相关联的可视和/或可听信息。为讨论起见,假定演示内容120和已播放演示127表示任何格式的高清晰度DVD电影内容。然而,可以理解,演示内容120和已播放演示127可以是现在已知或将来开发的任何类型的交互式多媒体演示。
视频组成部分122表示演示内容120中的传统视频、音频或数据组成部分。例如,电影一般具有一个或多个版本(例如,针对成年观众的一个版本、以及针对年轻观众的一个版本);一个或多个标题131,其具有与每一标题相关联的一个或多个章节(未示出)(标题在以下结合演示管理器106进一步描述);一个或多个音轨(例如,电影可使用一种或多种语言来播放,带有或不带有字幕);以及诸如导演的评论、附加镜头、预告片等。可以理解,标题与章节之间的区别纯粹是逻辑上的区别。例如,单个可感知的媒体片段可以是单个标题/章节中的一部分,或可由多个标题/章节组成。由内容创作源来确定适用的逻辑区别。也可理解,尽管视频组成部分122被称为电影,但视频组成部分122实际上可以是视频、音频、数据或其任何组合。
形成视频组成部分122的视频、音频、或数据源自一个或多个媒体源160(为示例性的目的,在A/V管理器102内示出两个媒体源160)。媒体源是可从中导出或获取视频、音频或数据的任何设备、位置或数据。媒体源的示例包括但不限于,网络、硬盘驱动器、光学介质、备用的物理盘以及引用特定视频、音频或数据的存储位置的数据结构。
来自特定媒体源的视频、音频或数据的样本组被称为剪辑123(在视频组成部分122、AVC管理器102和播放列表128内示出)。参考AVC管理器102,从一个或多个媒体源160接收与剪辑123相关联的信息,并在解码器块161处对其解码。解码器块161表示用于从自媒体源160接收的信息中检索可呈现视频、音频或数据内容的任何设备、技术或步骤。解码器块161可包括例如编码器/解码器对、多路分解器、或解密器。尽管示出了解码器与媒体源之间的一对一关系,但可以理解,一个解码器可服务于多个媒体源,反之亦然。
音频/视频内容数据(“A/V数据”)132是与视频组成部分122相关联的数据,这些数据被准备来由AVC管理器120呈现并被传输给混合器/呈现器110。A/V数据132的帧通常对每一活动剪辑123包括剪辑中的一部分的呈现。在特定帧中呈现的剪辑的精确部分或量可基于若干因素,诸如剪辑的视频、音频或数据内容的特征、或用于对该剪辑编码或解码的格式、技术或速率。
IC组成部分124包括媒体对象125以及用于演示可视或可听对象的任何指令(被示为应用程序155,并在以下进一步讨论),媒体对象是用户可选择的可视或可听对象,它可任选地可与视频组成部分122并发地演示。媒体对象125可以是静态或动画的。媒体对象的示例包括视频样本或剪辑、音频样本或剪辑、图形、文字及其组合等。
媒体对象125源自一个或多个源(未示出)。源可以是可从中导出或获取媒体对象的任何设备、位置或数据。媒体对象125的源的示例包括但不限于,网络、硬盘驱动器、光学介质、备用物理盘、以及引用特定媒体对象的存储位置的数据结构。媒体对象125的格式的示例包括但不限于,可移植网络图形(“PNG”)、联合图片专家组(“JPEG”)、运动图片专家组(“MPEG”)、多图像网络图形(“MNG”)、音频视频交错(“AVI”)、可扩展标记语言(“XML”)、超文本标记语言(“HTML”)、以及可扩展HTML(“XHTML”)。
应用程序155提供演示系统100用于向用户演示媒体对象124的机制。应用程序1 55表示电子地控制对数据的预定操作的任何信号处理方法或已存储的指令。为讨论起见,假定IC组成部分124包括三个应用程序155,它们将在以下结合图2和3来讨论。第一应用程序在电影之前演示版权通知,第二应用程序与电影的视频方面并发地演示提供具有多个用户可选择项的菜单的某些媒体对象,第三应用程序演示提供可用于标识和/或跟随出现在电影中的一个或多个项(例如,人、汽车、建筑物或产品)的图形覆盖物(诸如,圆圈)的一个或多个媒体对象。
交互式内容数据(“IC数据”)134是与IC组成部分124相关联的数据,它被准备来由IC管理器104呈现并被传输给混合器/呈现器110。每一应用程序具有一相关联的队列(未示出),该队列保存与呈现应用程序相关联的一个或多个工作项(未示出)。
演示管理器106被配置成与AVC管理器104和IC管理器102两者通信,它便于对演示内容120的处理以及已播放演示127向用户的演示。演示管理器106能访问播放列表128。播放列表128包括可向用户演示的剪辑123和应用程序155(包括媒体对象125)的时间排序序列等。剪辑123和应用程序155/媒体对象125可被安排成形成一个或多个标题131。为示例性的目的,此处讨论一个标题131。播放列表128可使用可扩展标记语言(“XML”)文档或另一数据结构来实现。
演示管理器106使用播放列表128来查明标题131的演示时间线130。概念上,演示时间线130指示标题131内何时可向用户演示特定剪辑123和应用程序155的时间。结合图2示出并讨论了示例演示时间线130,它示出了剪辑123和应用程序155的演示之间的示例性关系。在某些情况中,使用播放列表128和/或演示时间线130来查明视频内容时间线(“视频时间线”)142和交互式内容时间线(“IC时间线”)144也是有用的。
演示管理器106向AVC管理器102和IC管理器104提供信息,包括但不限于关于演示时间线130的信息。基于来自演示管理器206的输入,AVC管理器102准备好A/V数据132以便呈现,IC管理器104准备好IC数据134以便呈现。
定时信号管理块108产生各种定时信号158,这些信号被用于控制AVC管理器102和IC管理器104分别对A/V数据132和IC数据134进行的准备和产生的定时。具体地,定时信号158被用于实现A/V数据132和IC数据134的帧级同步。定时信号管理块108和定时信号158的细节将在以下结合图4进一步讨论。
混合器/呈现器在视频平面(未示出)中呈现A/V数据132,并在图形平面(未示出)中呈现IC数据134。图形平面一般,但不一定被覆盖在视频平面上以便为用户产生已播放演示127。
继续参考图1,图2是播放列表128内的标题131的示例演示时间线130的图示。时间在水平轴220上示出。关于视频组成部分122(示出了剪辑123)和IC组成部分(示出了演示媒体对象125的应用程序155)的信息在垂直轴225上示出。示出了两个剪辑123,第一视频剪辑(“视频剪辑1”)230和第二视频剪辑(“视频剪辑2”)250。为讨论起见,如以上结合图1所述,假定第一应用程序负责演示构成版权通知260的一个或多个媒体对象(例如,图像和/或文字)。第二应用程序负责演示提供菜单280的用户可选项(例如,带有相关联文字或图形的按钮)的某些媒体对象。第三应用程序负责演示提供图形覆盖物290的一个或多个媒体对象。菜单280与视频剪辑1 230和视频剪辑2 250并发地显示,而图形覆盖物290可与视频剪辑1 230和菜单280并发地显示。
沿水平轴220的其中可向用户演示标题131的特定时间量被称为标题131的播放持续时间292。播放持续时间292内的特定时间被称为标题时间。在演示时间线130上示出了四个标题时间(“TT”)——TT1 293、TT2 294、TT3 295和TT4296。因为标题可被播放一次或一次以上(例如,以循环方式),所以基于标题131的一次重复来确定播放持续时间292。播放持续时间292可关于任何所需基准来确定,包括但不限于,预定播放速度(例如,正常即1x播放速度)、预定帧速率或预定的定时信号状态。播放速度、帧速率和定时信号将在以下结合图4进一步讨论。可以理解,诸如编码技术、显示技术和关于播放序列和每一标题的剪辑和媒体对象之间的定时关系的特定规则等实现专用因素都会影响标题的播放持续时间及其中的标题时间的精确值。术语播放持续时间和标题时间旨在包括所有这样的实现专用细节。尽管可演示与IC组成部分124相关联的内容的标题时间一般是预定的,但可以理解,在用户与这样的内容交互时所采取的动作可仅基于播放已播放演示127时用户的输入来确定。例如,用户可在已播放演示127的播放期间选择、激活或停用某些应用程序、媒体对象和/或与之相关联的附加内容。
也在此处定义和讨论播放持续时间292内的其它时间和/或持续时间。视频演示间隔240由播放持续时间292的开始和结束时间来定义,在此期间可播放与视频组成部分122相关联的特定内容。例如,视频剪辑1 230具有在标题时间TT2 294与TT4 294之间的演示间隔240,而视频剪辑2 250具有在标题时间TT3 295与TT4296之间的演示间隔240。应用程序演示间隔、应用程序播放持续时间、页演示间隔、以及页持续时间也在以下结合图3来定义和讨论。
继续参考图2,在播放持续时间292内存在两种类型的时间间隔。第一种类型的时间间隔是其中视频组成部分122未被调度来演示的间隔。时间间隔1 297,即电影演示之前显示版权通知260的时间,是第一种类型的时间间隔的示例。尽管演示版权通知260的应用程序被调度来在时间间隔1 297期间演示,但可以理解,应用程序不必在第一种类型的时间间隔期间被调度来演示。
第二种类型的时间间隔是其中视频组成部分122被调度来演示的间隔。时间间隔2 298和时间间隔3 299是第二种类型的时间间隔的示例。有时,可在第二种类型的时间间隔期间调度一个以上的视频来演示。通常,但不总是,交互式内容可在第二种类型的时间间隔期间演示。例如,在时间间隔2 298中,调度菜单280和图形覆盖物290来与视频剪辑230并发地演示。在时间间隔3 299中,调度菜单280来与视频剪辑1230和视频剪辑2 250并发地演示。
继续参考图1和2,图3是单个应用程序155的功能框图。应用程序1 55一般表示负责演示媒体对象260、280和290的应用程序。应用程序155包括指令304(以下进一步讨论)。应用程序155具有与之相关联的资源包数据结构340(以下进一步讨论)、应用程序播放持续时间320、以及一个或多个应用程序演示间隔321。
应用程序播放持续时间320是特定的时间量,指的是其中可向已播放演示127的接收方演示和/或可由其选择与应用程序155相关联的媒体对象125的一定量(一部分或全部)的播放持续时间292。在图2的上下文中,例如负责版权通知260的应用程序155具有由TT1 293和TT2 294之间的时间量组成的应用程序播放持续时间。负责菜单390的应用程序具有由TT2 294和TT4 296之间的时间量组成的应用程序播放持续时间。负责图形覆盖物290的应用程序具有由TT2 294与结束于TT3295之间的时间量组成的应用程序播放持续时间。
当与特定应用程序相关联的应用程序播放持续时间在演示时间线上概念化时获取的由开始和结束标题时间所定义的间隔被称为应用程序演示间隔321。例如,负责版权通知260的应用程序具有开始于TT1 293并结束于TT2 294的应用程序演示间隔,负责菜单280的应用程序具有开始于TT2 294并结束于TT4 296的应用程序演示间隔,负责图形覆盖物290的应用程序具有开始于TT2 294并结束于TT3295的应用程序演示间隔。
再次参考图3,在某些情况中,应用程序155可具有一个以上的页。页是在特定应用程序播放持续时间320和/或应用程序演示间隔321内可同时演示的一个或多个媒体对象的逻辑分组。然而,与特定页相关联的媒体对象可并发地、串行地或按其组合来演示。如图所示,初始页330具有相关联的初始媒体对象331,后续页335具有相关联的媒体对象336。每一页又具有其自己的页持续时间。如图所示,初始页330具有页持续时间332,后续页335具有页持续时间337。页持续时间是特定的时间量,指的是其中向用户演示(和/或由用户选择)与特定页相关联的媒体对象125的一定量(一部分或全部)的应用程序播放持续时间330。当与特定页相关联的页播放持续时间在演示时间线上概念化时所获取的由开始和结束标题时间所定义的间隔被称为页演示间隔343。页演示间隔343是应用程序演示间隔321的子间隔。特定的媒体对象演示间隔345也可在页演示间隔343内定义。
与给定标题相关联的应用程序和页的数目,以及与每一应用程序或页相关联的媒体对象一般是逻辑上的区别,这是设计选择的问题。当期望管理(例如,限制)与应用程序相关联的、在应用程序执行期间被加载到存储器内的资源的数目或数量时,可使用多个页。应用程序的资源包括应用程序所使用的媒体对象、以及用于呈现媒体对象的指令304。例如,当带有多个页的应用程序可被演示时,有可能仅将与应用程序的当前可演示页相关联的那些资源加载到存储器中。
资源包数据结构340被用于便于在应用程序执行之前将应用程序资源加载到存储器中。资源包数据结构340引用应用程序的资源所处的存储器位置。资源包数据结构340可与其所引用的资源一起或分开地存储在任何期望的位置。例如,资源包数据结构340可被安置在诸如高清晰度DVD等光学介质上,位于与视频组成部分122分开的区域中。或者,资源包数据结构340可被嵌入到视频组成部分122中。在又一替换中,资源包数据结构可放置在远程位置。远程位置的一个示例是联网的服务器。涉及处理用于应用程序执行的资源以及在应用程序之间的转换的主题将不在此处详细讨论。
再次参考应用程序155本身,当指令304被执行时,它基于用户输入执行关于呈现与应用程序155相关联的媒体对象125的任务。一种类型的用户输入(或其结果)是用户事件。用户事件是由已播放演示127的接收方启动的涉及IC组成部分124的动作或发生的事情。用户事件一般,但不一定是异步的。用户事件的示例包括但不限于,用户与已播放演示127内的媒体对象的交互,诸如对菜单280内的按钮的选择、或对与图形覆盖物290相关联的圆圈的选择。这样的交互可使用现在已知或将来开发的任何类型的用户输入设备来进行,包括键盘、遥控器、鼠标、指示笔、或语音命令。可以理解,应用程序155可响应除用户事件以外的事件,但这样的事件在此处将不特别讨论。
在一个实现中,指令304是编码在计算机可读介质(以下结合图9进一步描述)内的计算机可执行指令。在此处所述的示例中,使用脚本308或标记元素302、306、310、312、360来实现指令304。尽管可单独使用脚本或标记元素中的任何一个,但一般而言,脚本和标记元素的组合允许创建高清晰度DVD电影的一组综合的交互式能力。
脚本308包括以非声明性程序设计语言,诸如命令性程序设计语言编写的指令304。命令性程序设计语言按照将由处理器执行的命令的序列来描述计算。在使用脚本308的大多数情况中,使用脚本来响应用户事件。然而,脚本可用于其它上下文中,诸如处理单独使用标记元素不容易或不能高效实现的问题。这样的上下文的示例包括系统事件和资源管理(例如,访问高速缓存的或持久存储的资源)。在一种实现中,脚本308是如由国际欧洲计算机制造协会(ECMA Internationa)在ECMA-262规范中定义的ECMAScript。落入ECMA-262中的常用的脚本化程序设计语言包括JavaScript和Jscript。在某些设置中,可能期望使用ECMAScript 262的子集,诸如ECMA-327以及主机环境和一组应用程序编程接口来实现308。
标记元素302、306、310、312和360表示以声明性程序设计语言,诸如可扩展标记语言(“XML”)编写的指令304。在XML中,元素是XML文档内使用开始标签和结尾标签定义的逻辑信息单元。XML文档是由被称为实体(也被称为容器)的存储单元组成的数据对象,这些存储单元包含已经解析或未解析的数据。已解析的数据由字符组成,其中某些字符形成字符数据,某些字符形成标记。标记对文档的存储布局和逻辑结构的描述编码。在XML文档中存在一个根元素,其任何部分都不在任何其它元素的内容中出现。对所有的其它元素,开始标签和结尾标签位于其它元素的内容内,彼此嵌套。
XML模式是一类XML文档的句法的定义。一种类型的XML模式是通用模式。某些通用模式由万维网联盟(“W3C”)定义。另一类型的XML模式是专用模式。例如在高清晰度DVD上下文中,由DVD论坛公布了一个或多个专用XML模式,用于遵循高清晰度视频的DVD规范的XML文档。可以理解,有可能有高清晰度DVD电影的其它模式以及其它交互式多媒体演示的模式。
在较高层次上,XML模式包括:(1)全局元素声明,它将元素名与元素类型相关联,以及(2)类型定义,它定义该类型元素的属性、子元素和字符数据。元素的属性使用名/值对来指定元素的特定特性,一个属性指定单个元素特性。
可包括用户事件元素260的内容元素302被用于标识可由应用程序155向用户演示的特定媒体对象元素312。媒体对象元素312一般又指定安置定义特定媒体对象125的数据的位置。这样的位置可以是,例如持久本地或远程存储中的位置,包括光学介质、有线或无线、公共或专用网络、诸如因特网、私人管理的网络或万维网上的位置。媒体对象元素312所指定的位置也可以是对位置的引用,诸如对资源包数据结构340的引用。以此方式,媒体对象125的位置可被间接指定。
定时元素306被用于指定特定内容元素302可由特定应用程序155向用户演示的时间或时间间隔。定时元素的示例包括XML文档的时间容器内的并行(par)、定时或串行(seq)元素。
样式元素310一般被用于指定可由特定应用程序向用户演示的特定内容元素302的外观。
用户事件元素360表示用于定义或响应用户事件的内容元素302、定时元素306或样式元素310。
标记元素302、306、310、360具有可用于指定其相关联媒体对象元素3 12/媒体对象125的某些特性的属性。在一个实现中,这些属性/特性表示一个或多个时钟或定时信号(以下结合图4进一步描述)的值。使用具有表示时间或持续时间的特性的标记元素的属性是在用户接收已播放演示127的同时实现IC组成部分124与视频组成部分122之间的同步的一种方式。
以下描述了包含标记元素的示例XML文档(未示出脚本308)。示例XML文档包括用于对内容元素302执行裁剪动画的样式310和定时306元素,内容元素302引用被称为“id”的媒体对象元素312。定义与“id”媒体对象元素相关联的媒体对象215的数据的位置未被示出。
该示例XML文档以被称为“xml”的根元素开始。在该根元素之后,若干名字空间“xmlns”字段引用万维网上可找到定义该示例XML文档的句法的若干模式及其中的容器的位置。在例如用于高清晰度DVD电影的XML文档的上下文中,名字空间字段可引用与DVD论坛相关联的网站。
在由标为“body”的标签描述的容器中定义被称为“id”的一个内容元素302。在由标为“head”的标签描述的容器内定义与内容元素“id”相关联的样式元素310(在该示例中,标签“styling”下的元素)。还在由标为“head”的标签描述的容器内定义定时元素306(标签“timing”下的元素)。
-<root xml:lang=″en″xmlns=″http://www.dvdforum.org/2005/ihd″
xmlns:style=″http://www.dvdforum.org/2005/ihd#style″
xmlns:state=″http://www.dvdforum.org/2005/ihd#state”
-<head>(Head是style(样式)和timing(定时)特性的容器)
-<styling>(此处为Styling特性)
<style id=″s-p″ style:fontSize=″10px″/>
<style id=″s-bosbkg″style:opacity=″0.4″
style:backgroundImage=″url(′../../img/pass/boston.png′)″/>
<style id=″s-div4″style=″s-bosbkg″style:width=″100px″
style:height=″200px″/>
<style id=″s-div5″style:crop=″0 0 100 100″style=″s-bosbkg″
style:width=″200px″style:height=″100px″/>
<style id=″s-div6″style:crop=″100 50 200 150″style=″s-bosbkg″
style:width=″100px″style:height=″100px″/>
</styling>
-<Timing>(此处为Timing特性)
-<timing clock=″title″>
-<defs>
-<g id=″xcrop″>
<set style:opacity=″1.0″/>
<animate style:crop=″0 0 100 200;200 0 300 200″/>
</g>
-<g id=″ycrop″>
<set style:opacity=″1.0″/>
<animate style:crop=″0 0 100 100;0 100 100 200″/>
</g>
-<g id=″zoom″>
<set style:opacity=″1.0″/>
<animate style:crop=″100 50 200 150;125 75 150 100″/>
</g>
</defs>
-<seq>
<cue use=″xcrop″select=″//div[@id=′d4′]″dur=″3s″/>
<cue use=″ycrop″select=″//div[@id=′d5′]″dur=″3s″/>
<cue use=″zoom″ select=″//div[@id=′d6′]″dur=″3s″/>
</seq>
</timing>
</head>
-<body state:f0reground=″true″> Body是内容元素的容器
-<div id=″d1″>内容从此处开始。
-<p style:textAlign=″center″>
裁剪动画测试
<br/>
<span style:fontSize=″12px″>启动标题时钟以制作裁剪动画。</span>
</p>
</div>
<div id=″d4″style=″s-div4″style:position=″absolute″
style:x=″10%″style:y=″40%″>
<p style=″s-p″>x:0->200</p>
</div>
-<div id=″d5″style=″s-div5″style:position=″absolute″style:x=″30%″
style:y=″40%″>
<p style=″s-p″>y:0->100</p>
</div>
-<div id=″d6″style=″s-div6″style:position=″absolute″
style:x=″70%″style:y=″60%″>
-<p style=″s-p″>
x:100->125
<br/>
y:50->75
</p>
</div>
</body>
</root>
继续参考图1-3,图4是更详细示出定时信号管理块108和定时信号158的各个组件的简化的功能框图。
定时信号管理块108负责处理用于确定演示系统100内的特定时间或持续时间的时钟和/或定时信号。如图所示,由时钟源402以预定速率产生连续的定时信号401。时钟源402可以是与处理系统,诸如通用计算机或专用电子设备相关联的时钟。由时钟源402产生的定时信号401一般如真实世界的时钟一样连续改变——在真实时间的一秒钟内,时钟源402以预定速率产生相当于一秒钟的定时信号401。定时信号401被输入到IC帧速率计算器404、A/V帧速率计算器406、时间基准计算器408和时间基准计算器409。
IC帧速率计算器404基于定时信号401产生定时信号405。定时信号405被称为“IC帧速率”,它表示IC管理器104产生IC数据134的帧的速率。IC帧速率的一个示例性值是每秒30帧。IC帧速率计算器404可减少或增加定时信号401的速率以产生定时信号405。
IC数据134的帧一般根据相关用户事件对每一有效应用程序155和/或其页包括与有效应用程序和/或页相关联的每一媒体对象125的呈现。为示例性的目的,有效应用程序是具有基于演示时间线130播放持续时间292的当前标题时间落入其中的应用程序演示间隔321的应用程序。可以理解,应用程序可具有一个以上的应用程序演示间隔。也可理解,此处不对基于用户输入或资源可用性的应用程序状态进行特定区分。
A/V帧速率计算器406还基于定时信号401来产生定时信号——定时信号407。定时信号407被称为“A/V帧速率”,它表示AVC管理器102产生A/V数据132的帧的速率。A/V帧速率可以与IC帧速率405相同或不同。A/V帧速率的一个示例性值为每秒24帧。A/V帧速率计算器406可减少或增加定时信号401的速率以产生定时信号407。
时钟源470产生定时信号471,它管控从媒体源160产生与剪辑123相关联的信息的速率。时钟源470可以是与时钟402相同的时钟,或基于与时钟源402相同的时钟。或者,时钟470和402可完全不同和/或具有不同的源。时钟源470基于播放速度输入480来调节定时信号471的速率。播放速度输入480表示所接收的影响已播放演示127的播放速度的用户输入。例如,当用户从电影的一部分跳转到另一部分(被称为“特效播放”),或当用户暂停、慢进、快进、慢退或快退电影时,播放速度受到影响。特效播放可通过从菜单280(图2中示出)作出选择或以其它方式来实现。
时间基准452表示在与活动剪辑123相关联的特定演示间隔240内经过的时间量。此处为讨论的目的,活动剪辑是具有基于演示时间线130播放持续时间292的当前标题时间落入其中的演示间隔240的剪辑。时间基准452被称为“经过的剪辑播放时间”。时间基准计算器454接收时间基准452,并产生媒体时间基准455。媒体时间基准455表示基于一个或多个时间基准452已经经过的播放持续时间292的总量。一般而言,当两个或多个剪辑正并发播放时,仅使用一个时间基准452来产生媒体时间基准455。用于确定媒体时间基准455的特定剪辑以及如何基于多个剪辑确定媒体时间基准455是实现偏好的问题。
时间基准计算器408接收定时信号401、媒体时间基准455以及播放速度输入480,并产生标题时间基准409。标题时间基准409表示基于对时间基准计算器408的一个或多个输入、在播放持续时间292内已经经过的时间总量。结合图6示出并描述了用于计算标题时间的示例性方法。
时间基准计算器490接收定时信号401和标题时间基准409,并产生应用程序时间基准492和页时间基准494。单个应用程序时间基准492表示,参考连续定时信号401,特定应用程序播放持续时间320(结合图3示出并讨论)中已经过的时间量。当标题时间基准409指示当前标题时间落入特定应用程序的应用程序演示间隔321内时,确定应用程序时间基准492。在应用程序演示间隔321结束时,应用程序时间基准492复位(例如,变为不活动或重新开始)。应用程序时间基准492也可在其它情况中复位,诸如响应于用户事件或当进行特效播放时。
页时间基准494表示,参考连续定时信号401,单个页播放持续时间332、337(也结合图3示出和讨论)中已经过的时间量。当标题时间基准409指示当前标题时间落入适用的页演示间隔342内时,确定应用程序的特定页的页时间基准494。页演示间隔是应用程序演示间隔321的子间隔。页时间基准494可在适用的页演示间隔343结束时复位。页时间基准494也可在其它情况中复位,诸如响应于用户事件或当进行特效播放时。可以理解,也可定义媒体对象演示间隔345,它可以是应用程序演示间隔321和/或页演示间隔343的子间隔。
表1示出了在演示系统100播放已播放演示127期间的示例性事件,以及这样的事件对应用程序时间基准492、页时间基准494、标题时间基准409和媒体时间基准455的影响。
事件 |
应用程序 时间492 |
页时间 494 |
标题时间409 |
媒体时间 455 |
电影开始 |
不活动,除非 /直到应用程 序有效 |
不活动,除非 /直到适用页 有效 |
开始(例如,位于0处) |
开始(例如,位 于0处) |
下一剪辑开 始 |
不活动,除非 /直到应用程 序有效 |
不活动,除非 /直到适用页 有效 |
基于之前的标题时间和经过的剪辑播放时间来确定 |
复位/重新开 始 |
下一标题开 |
不活动,除非 |
不活动,除非 |
复位/重新开 |
复位/重新开 |
[0149]
始 |
/直到应用程 序有效 |
/直到适用页有效 |
始 |
始 |
应用程序变 为有效 |
开始 |
当适用页有效时开始 |
继续/没有影响 |
继续/没有影响 |
特效播放 |
如果适用的 应用程序在 所跳转到的 标题时间有 效,则复位/ 重新开始;否 则变为不活 动 |
如果适用的页在所跳转到的标题时间有效,则复位/重新开始;否则变为不活动 |
基于所跳转到的位置,前进或后退至对应于演示时间线上已经过的播放持续时间的时间 |
前进或后退至对应于标题内活动剪辑在跳转到的位置上的已经过的剪辑播放时间的时间 |
改变播放速 度N倍 |
继续/没有影 响 |
继续/没有影响 |
以N倍速度经过 |
以N倍速度经过 |
电影暂停 |
继续/没有影 响 |
继续/没有影响 |
暂停 |
暂停 |
电影恢复 |
继续/没有影 响 |
继续/没有影响 |
恢复 |
恢复 |
表1
图5是更详细示出某些事件502在已播放演示127的播放期间对应用程序时间基准492、页时间基准494、标题时间基准409和媒体时间基准455的影响的示意图。关于连续定时信号,诸如定时信号401的值来示出事件502及其影响。除非另有指示,否则高清晰度DVD电影的特定标题正以正常速度播放,且具有三个可串行演示的页的单个应用程序提供用户交互活动。
电影在定时信号具有值0时开始播放。当定时信号具有值10时,应用程序变为有效并激活。应用程序时间492以及与应用程序的页1相关联的页时间494假定为值0。页2和3是不活动的。标题时间409和媒体时间455均具有值10。
应用程序的页2在定时信号值15时加载。应用程序时间和页1时间具有值5,而标题时间和媒体时间具有值15。
应用程序的页3在定时信号具有值20时加载。应用程序时间具有值10,页2时间具有值5,页1时间不活动。标题时间和媒体时间2具有值20。
电影在定时信号值22时暂停。应用程序时间具有值12,页3时间具有值2,页1和2不活动。标题时间和媒体时间具有值22。电影在定时信号值24时恢复。于是,应用程序时间具有值14,页3时间具有值4,标题时间和媒体时间具有值22。
在定时信号值27时,新剪辑开始。应用程序时间具有值17,页3时间具有值7,标题时间具有值25,媒体时间被复位到0。
用户在定时信号值32时停用应用程序。应用程序时间具有值22,页时间具有值12,标题时间具有值30,而媒体时间具有值5。
在定时信号值39处,用户跳转、后退至同一剪辑中的另一部分。假定应用程序在所跳转到的位置有效,且在之后不久重新激活。应用程序时间具有值0,页1时间具有值0,其它页不活动,标题时间具有值27,媒体时间具有值2。
在定时信号值46处,用户改变电影的播放速度,以正常速度的两倍快进。快进继续直到定时信号值53。如图所示,应用程序和页时间继续随连续的定时信号以恒定的步调改变,未受到电影播放速度改变的影响,而标题和媒体时间与电影的播放速度成比例地改变。应注意到,加载应用程序的特定页的时间被绑定至标题时间409和/或媒体时间455(见结合图3对应用程序演示间隔321和页演示间隔343的讨论)。
在定时信号值48处,新标题开始,标题时间409和媒体时间455被复位到值0。对于初始标题,这在标题时间具有值62、媒体时间具有值36时发生。应用程序时间492和页时间494的复位(未示出)跟随在标题时间409和媒体时间455的复位之后。
能够访问各个时间线、时钟源、定时信号和定时信号基准增强了演示系统100实现已播放演示127内的IC数据124和A/V数据132的帧级同步以及在用户交互活动期间维持这样的帧级同步的能力。
继续参考图1-4,图6是用于增强诸如演示系统100等交互式多媒体演示系统同步演示交互式多媒体演示的交互式和视频组成部分(诸如演示内容120/已播放演示127的IC组成部分124和视频组成部分122)的能力的一种方法的流程图。
该方法涉及在调度媒体对象,诸如媒体对象125来演示的时间之前预测和预呈现该媒体对象。可以理解,可预呈现任何数目的媒体对象,但出于示例性的目的,讨论一个媒体对象。
媒体对象具有演示状态,它表示用于指示是否和/或如何在演示内演示媒体对象的特性。由媒体对象的演示状态表示的特性的示例包括各种时钟或定时信号的状态,或用户对于该媒体对象的各种姿势的状态。
在演示系统100的上下文中讨论该方法。可以理解,可预呈现任何数目的媒体对象,但出于示例性的目的,讨论一个媒体对象。将视频组成部分122和IC组成部分124分别作为A/V数据132和IC数据134在由播放持续时间292所表示的时间量内向用户演示。安排A/V数据132由AVC管理器102呈现,该管理器以基于A/V帧速率407的速率将一个或多个剪辑123安排成多个视频帧。视频帧包括视频、音频、数据或其任何组合的样本,视频帧速率是其中可演示特定一组视频、音频或数据样本的周期性时间间隔。
在图7A中示出了参考A/V帧速率407的示例性视频时间线142。在视频时间线142上指示了各个帧号演示时间702。帧号演示时间702表示播放持续时间292内可演示A/V数据132的各个编号的帧的时间。如图所示,帧号演示时间702以基于A/V帧速率407的速率发生,该速率也定义了各个帧号演示时间702之间的周期性视频时间间隔704的持续时间。将在以下进一步讨论图7A的其余部分。
安排媒体对象125由IC管理器104呈现,该管理器根据演示状态以基于IC帧速率405的速率在多个交互式内容帧中演示该媒体对象。IC帧速率405与A/V帧速率407相互没有影响。
该方法在框600处开始,并继续至框602,在那里查明视频帧速率、交互式内容帧速率以及演示的播放速度。
出于示例性的目的,假定A/V帧速率407为每秒24帧(注意到,帧速率407不必与录制特定剪辑123的帧速率相同),假定IC帧速率405为每秒30帧,且假定播放速度为正常,即1x。
在框604,查明交互式内容(“IC”)时间线。在图7B中示出示例性IC时间线144。在IC时间线144上指示了各个IC演示时间706。IC演示时间706表示播放持续时间292内可演示媒体对象的时间。如图所示,IC演示时间706以基于IC帧速率405的速率发生,该速率也定义了IC演示时间706之间的周期性交互式内容时间间隔708的持续时间。出于讨论的目的,假定IC帧速率405为每秒30帧。图7B的其余部分将在以下进一步讨论。
以下是演示系统100的上下文中对是否和/或如何可演示媒体对象的简要描述。一般而言,当标题时间基准409落入适用的应用程序演示间隔321和/或与媒体对象相关联的应用程序155的页演示间隔343内时,媒体对象可演示。也可定义特定的媒体对象演示间隔345。然而可以理解,当媒体对象可演示时,它也不总是被呈现,因为特定的用户输入可指示是否和/或何时呈现该媒体对象。
诸如指令304等指令一般与应用程序155/媒体对象125相关联。指令304表示一个或多个声明性语言数据结构,诸如XML标记元素302、306、310、312、360或其属性,它们被单独使用或与脚本308组合使用,以设立可演示媒体对象的条件。内容容器、定时容器或样式容器内的标记元素可用于设立可演示媒体对象的条件。
在一个实现中,元素及其属性可直接或间接参考定时信号401和/或定时信号407,以便设立可演示媒体对象的时间或持续时间。例如,可经由时钟源402、IC帧速率计算器404、A/V帧速率计算器406、应用程序时间492或页时间494来间接参考定时信号401。同样地,可例如经由时钟源470、已经过的剪辑播放时间452、时间基准计算器454、媒体时间基准455、时间基准计算器408或标题时间基准409来间接参考定时信号407。
涉及对时钟、定时信号、时间基准计算器和/或时间基准的逻辑引用的表达式也可用于定义可演示特定媒体对象的时间/条件。例如,诸如“AND”、“OR”和“NOT”的布尔操作数以及其它操作数及其类型可用于定义这样的表达式或条件。然而,可以理解,媒体对象的演示状态可参考除定时信号、时钟或时间基准以外的项来定义。
再次参考图6,执行框606到616所示的步骤。在框606处,基于视频帧速率和播放速率来计算当前已经过的播放时间。接着,在框608处,基于当前已经过播放时间来查明当前交互式内容演示时间。在框610处,选择后续交互式内容演示时间。后续交互式内容演示时间不同于当前交互式内容演示时间。在框612处,预测媒体对象在后续交互式内容演示时间的演示状态。在框614处,基于所预测的演示状态,在预呈现时间预呈现媒体对象。最后,如框616处所示,安排预呈现的媒体对象在后续交互式内容演示时间演示。
在演示系统100的上下文中,参考图7A和7B中所示的时间线,参考视频时间线142来查明播放持续时间292中的当前已经过播放时间709。当前已经过播放时间709例如可以是标题时间409的当前值。参考视频时间线142和IC时间线144来查明当前IC演示时间710——对应于当前已经过播放时间709的IC演示时间706表示当前IC演示时间710。如果在IC时间线144上不存在精确对应于视频时间线142上的标题时间409的IC演示时间706,则可将另一IC演示时间706视为当前IC演示时间710。在一个示例中,最接近标题时间409的IC演示时间被视为IC演示时间710。或者,可使用其它准则来选择IC演示时间710。
也参考IC时间线144来查明后续IC演示时间712。在一个实现中,后续IC演示时间712是对应于视频时间线142上下一可演示帧号演示时间714的IC演示时间706。下一可演示帧号演示时间714表示与可向用户演示的下一帧号(与当前已经过播放时间709/标题时间409相关联的帧号之后)相关联的帧号演示时间702。然而,可以理解,下一可演示帧号可以是基于播放列表208的下一连续帧号,或者可以是离开与当前已经过播放时间709相关联的帧号有一个或多个帧号演示时间702的帧号。在一个示例中,在正常播放速度期间,通过将基于IC帧速率407的量加到当前IC演示时间710上来选择后续IC演示时间712。
同样地,后续IC演示时间712可以不是相对于当前IC演示时间710的下一连续IC演示时间706。这些差别的一个原因是因为IC帧速率405可与A/V帧速率407不同。另一个原因是因为用户输入可能会影响演示的播放速度(和/或方向)。以下结合图8讨论了用于预测后续IC演示时间712的方法。
为了预测媒体对象125在后续IC演示时间712的演示状态,可从可用信息中确定演示状态。或者,如果不能确定地预测演示状态,则可基于一个或多个先前的演示状态来假定演示状态,或者可基于演示系统100内现有的条件或诸如所接收的用户输入等其它相关条件将演示状态设置(或复位)成预定值。
在特定应用程序155的执行期间,与应用程序相关联的文档对象模型(“DOM”)树(未示出)维护标记元素和/或受影响的相关联媒体对象的状态的上下文,与应用程序相关联的脚本主机(未示出)维护脚本的变量、函数和其它状态的上下文。随着应用程序指令304的执行继续,以及接收到用户输入,任何受影响的元素的特性被记录且可用于触发已播放演示127内的媒体对象125的行为。
在预呈现时间716,预呈现媒体对象,并安排它由IC管理器104演示。预呈现时间716从后续IC演示时间712偏离由时间偏移量718表示的量。时间偏移量718按照保持A/V数据132在帧号演示时间714以及媒体对象125在预测的IC演示时间712的同步演示的外观的方式来确定。例如,时间偏移量718可通过取IC帧速率405或A/V帧速率407的倒数来确定。
呈现/预呈现涉及执行因置于与各个应用程序/媒体对象相关联的队列(未示出)中的指令的执行而得到的工作项(未示出)。因工作项的执行而得到的IC数据134被发送给呈现器/混合器110。混合器/呈现器110在图形平面上呈现IC数据134以便为用户产生已播放演示127的交互式部分。
提前短时间(例如,一个IC帧和/或视频帧)来预呈现媒体对象125是有用的,因为一般在交互式环境各种不能预先查明媒体对象是否受到特定时间的用户事件的影响。如果提前太多帧来预呈现媒体对象,则不能保证保证预呈现的帧将被需要,且为错误预测的帧执行的指令不能被取消执行。而且,提前太多来预呈现媒体对象可能会限制以及时方式响应用户事件的能力。当用户按下经由媒体对象显示的按钮时,期望有快速的响应。在响应于用户按钮按下之前执行众多预测的帧可能会使用户体验延迟的响应。
接收影响电影播放速度的用户输入(诸如特效播放、暂停、慢进、快进、慢退、或快退)可能会加剧实现交互式内容和视频内容的逐帧同步的问题。在以正常速率播放演示期间,一般由AVC管理器102预呈现视频帧。预呈现涉及基于演示时间线130,在调度来自媒体源160的活动剪辑的某些部分以便演示的时间之前检索和准备呈现这些部分。在某个播放速度改变发生(诸如特效播放)之后,用户在视频内容演示之前可能会体验到短时间的延迟。该延迟表示用来定位和解码视频组成部分122的第一适用帧的时间等。然而,如果直到视频组成部分122的第一适用帧被完全解码之后还未确定IC组成部分124的第一帧,则IC组成部分124的演示可相对于视频组成部分122延迟,且用户可能会注意到同步性的丢失。
图8是用于预测当发生了影响电影的播放速度的用户输入时用于演示和预呈现媒体对象的适当时间的方法的流程图。在演示系统100的上下文中,该方法涉及从IC时间线144查明适用的IC演示时间706以用作后续IC演示时间712。取决于播放速度改变(例如,慢进、快进、慢退或快退)的方向,后续IC演示时间712可在当前IC演示时间710之前或之后发生。
该方法开始于框800,并继续至框802,在那里示出了结合图6的框610示出和讨论的用于选择后续IC演示时间的步骤。
在框804处,查明所预测的帧号演示时间。所预测的帧号演示时间然后在框806处被用于选择后续IC演示时间
在演示系统100的上下文中,参考图7A和7B,可查明下一可演示帧号时间714。查明下一可演示帧号时间714的一种方式是基于播放速度和A/V帧速率407来预测播放持续时间292中除当前已经过播放时间709/标题时间409以外的已经经过的已经过时间量720。
在一种实现中,通过估计自当前已经过播放时间709/标题时间409处的视频内容演示以来视频时间线142上经过了多少预测的帧号演示时间702来计算所预测的已经过时间量720。例如,可通过将一倍数值加到当前已经过播放时间709上来计算所预测的已经过时间量720。该倍数值通过将播放速度因数(取决于播放速度改变的方向,它可以是正数或负数)乘以帧速率因数来获取。播放速度因数通过将表示播放速率的值除以A/V帧速率407来获取。帧速率因数通过将A/V帧速率407除以IC帧速率405来获取。
因此,使用结合图6讨论的一个或多个技术,所预测的已经过时间量720被用于定位将用作所选后续IC演示时间712的特定IC演示时间706。
通常,以各种播放速度,可在所预测的已经过时间量720(以及与其相对应的帧号演示时间702)与相应的IC演示时间706之间观察到各种模式。
例如,视频时间线上与以A/V帧速率为每秒24帧的正常播放速度进行的演示相关联的帧号演示时间702可被表示为一连串离散值:0.04716秒、0.0833秒、0.71250秒、0.716666秒等。而所预测的已经过时间量720(即,标题时间409)在相同的条件下对应于0.03333秒、0.06666秒、0.8000秒、0.13333秒。因此,所预测的已经过时间量720不必精确对应于帧号演示时间702。为了实现预测的改进,可使用经调节的所预测的已经过时间(以下在表2中示出)来代替所预测的已经过时间量720。这样的调节可通过将所预测的已经过时间720舍入(向上或向下)成最接近的离散帧号演示时间702来实现。可关于相应的IC演示时间706进行类似的调节。
表2示出了在其中特定演示具有正常播放速度、每秒24帧的A/V帧速率、每秒30帧的IC帧速率(“ICFR”)以及以0开始并以对应于IC帧速率的倒数的速率递增的当前IC演示时间的情况中可用于预测经调节的所预测的已经过时间(“APET”)的一些示例性模式。示出了用于经调节的所预测的已经过时间(“APET”)、IC演示时间706(“ICPT”)、帧号演示时间702(“FNPT”)以及所预测的已经过时间量720(“PET”)的模式。
ICFR |
ICPT |
FNPT |
PET |
APET |
0.0000 |
0.0333 |
0.0000 |
0.0333 |
0.04716 |
0.0333 |
0.0666 |
0.0000 |
0.0333 |
0.04716 |
0.0666 |
0.800 |
0.04716 |
0.0749 |
0.0833 |
0.800 |
0.1333 |
0.0833 |
0.17166 |
0.71250 |
0.1333 |
0.71666 |
0.71250 |
0.1583 |
0.71666 |
0.71666 |
0.2000 |
0.71666 |
0.2000 |
0.2083 |
表2
识别视频和/或IC时间线上的各模式可减少在每一帧号演示时间702执行对IC演示时间706的计算的需求。模式可使用预定表或其它数据结构来表示,它可用于基于特定的帧号演示时间702来查找IC演示时间706/后续IC演示时间712。以此方式来使用预定数据结构或表,可跳过某些帧的呈现和其它调节,从而允许更好的同步。此外,可并发处理多个视频和/或IC内容时间线(例如,在其中正播放一个以上视频的情况中)。
可使用诸如以下结合图9所述的处理器902等一个或多个通用、多用途或单用途处理器来实现图6-8中所示的过程。除非另有指示,否则此处所述的方法不限于特定次序或顺序。此外,所述的方法及其元素中的某一些可并发进行或执行。
图9是通用计算单元900的框图,它示出了可用于实现演示系统100的各个功能组件或可由其访问或可被包括在其中的某些功能组件。例如,图9的一个或多个组件可被包装在一起或分开包装以按照各种方式来实现演示系统100的功能(整体或部分)。具体地,计算单元900的一个或多个组件可用于实现IC管理器104、演示管理器106和AVC管理器102或可由其访问或可被包括在其中。
处理器902响应于计算机可读介质904和计算机程序906。处理器902可以是真实或虚拟的处理器,它通过执行计算机可执行指令来控制电子设备的功能。
计算机可读介质904表示任何形式的、现在已知或将来开发的、能够记录、存储计算机可读数据的任何数目的本地或远程设备或其组合。具体地,计算机可读介质904可以是或可包括半导体存储器(诸如只读存储器(“ROM”)、任何类型的可编程ROM(“PROM”)、随机存取存储器(“RAM”)、或闪存);磁存储设备(诸如软盘驱动器、硬盘驱动器、磁鼓、磁带或磁光盘);光存储设备(诸如任何类型的压缩盘或数字多功能盘);磁泡存储器;高速缓冲存储器;磁心存储器;全息存储器;记忆棒;纸带;穿孔卡;或其任何组合。计算机可读介质904也可包括传输介质及其相关联的数据。传输介质/数据的示例包括但不限于,具体化成任何形式的有线或无线传输的数据,诸如由已调制载波信号承载的已分组或未分组数据。
计算机程序906表示电子地控制对数据的预定操作的任何信号处理方法或已存储指令。一般而言,计算机程序906是根据基于组件的软件开发的公知实践被实现为软件组件、并被编码到计算机可读介质(诸如计算机可读介质904)中的计算机可执行指令。计算机程序可按照各种方式组合或分布。
继续参考图9,图10是可在其中实现或使用演示系统110的全部或一部分的操作环境1000的示例性配置的框图。操作环境1000一般指示各种各样的通用或专用计算环境。操作环境1000仅是合适的操作环境的一个示例,而不旨在对此处所述的系统和方法的使用范围或功能提出任何限制。例如,操作环境1000可以是现在已知或将来开发的一种类型的计算机,诸如个人计算机、工作站、服务器、便携式设备、膝上型计算机、图形输入板、或任何其它类型的电子设备,诸如光介质播放器或另一类型的媒体播放器,或其任何方面。操作环境1000例如也可以是分布式计算网络或Web服务。操作环境1000的一个具体示例是诸如DVD播放器或与之相关联的操作系统等便于播放高清晰度DVD电影的环境。
如图所示,操作环境1000包括或访问计算单元900的各组件,包括处理器902、计算机可读介质904以及计算机程序906。存储1004包括与操作环境1000特别相关联的其它或不同的计算机可读介质,诸如光盘,它由光盘驱动器1006处理。作为公知且广泛可用的元件的一个或多个内部总线1020可用于承载数据、地址、控制信号以及计算环境1000或其元件内的、去往它们的或来自它们的其它信息。
输入接口1008对计算环境1000提供输入。输入可使用任何类型的现在已知或将来开发的接口,诸如用户接口来收集。用户接口可以是诸如遥控器、显示器、鼠标、笔、指示笔、跟踪球、键盘等触摸输入设备、麦克风、扫描设备和用于输入数据的所有类型的设备。
输出接口1010提供来自计算环境1000的输出。输出接口1010的示例包括显示器、打印机、扬声器、驱动器(诸如光盘驱动器1006和其它盘片驱动器)等。
外部通信接口1012可用于增强计算环境1000经由诸如信道信号、数据信号或计算机可读介质等通信介质与另一实体之间往返收发信息的能力。外部通信接口1012可以是或可包括诸如线缆调制解调器、数据终端设备、媒体播放器、数据存储设备、个人数字助理、或任何其它设备或组件/其组合以及相关联的网络支持设备和/或软件或接口的各种元件。
图11是可结合其使用演示系统100或操作环境1000的客户机—服务器体系结构1100的简化功能框图。演示系统100和/或操作环境1000的一个或多个方面可表示在体系结构1100的客户机侧1102上或表示在体系结构1100的服务器侧1104上。如图所示,通信架构1103(可以是任何类型的例如有线或无线的公共或专用网络)便于在客户机侧1102与服务器侧1104之间通信。
在客户机侧1102上,可使用硬件、软件、固件或其任何组合实现的一个或多个客户机1106响应于客户机数据存储1108。客户机数据存储1108可以是计算机可读介质1004,用于存储对客户机1106本地的信息。在服务器侧1104上,一个或多个服务器1110响应于服务器数据存储1112。与客户机数据存储1108一样,服务器数据存储1112可以是计算机可读介质1004,用于存储对服务器1110本地的信息。
描述了用于与音频/视频内容同步地向用户演示交互式内容的交互式多媒体演示系统的各方面。交互式多媒体演示一般被描述为具有播放持续时间、可变播放速度、视频组成部分和IC组成部分。然而,可以理解,不必使用所有前述组成部分,各组成部分在被使用时也不必同时存在。在演示系统100的上下文中被描述为计算机程序的功能/组件不限于由计算机程序的任何具体实施例来实现。相反,功能是传达或变换数据的过程,一般可使用硬件、软件、固件或其任何组合来实现或执行。
尽管使用结构特征和/或方法动作专用的语言描述了此处的主题,但也可以理解,权利要求书中定义的主题不必限于上述的具体特征或动作。相反,上述的具体特征和动作是作为实现权利要求书的示例形式来公开的。
还可以理解,当一个元素被指示为响应于另一个元素时,这些元素可直接或间接耦合。此处所述的连接在实践中可以是逻辑或物理的,以实现元素之间的耦合或通信接口。连接可被实现为软件进程之间的进程间通信,或联网计算机之间的机器间通信等。
此处使用词语“示例性”指的是用作示例、实例或说明。此处被描述为“示例性”的任何实现或其各方面不必被解释为对于其它实现或其方面是优选的或有利的。
如可以理解的,可设计除上述具体实施例以外的实施例,而不背离所附权利要求书的精神和范围,此处主题的范围旨在由所附权利要求书限定。