交互式多媒体演示的基于状态的定时的制作方法

文档序号:6776683阅读:134来源:国知局

专利名称::交互式多媒体演示的基于状态的定时的制作方法交互式多媒体演示的基于状态的定时相关申请的声明本申请要求于2005年7月1日提交的(美国)临时申请第60/695,944号的优先权,该申请通过引用被包含在此。背景多媒体播放器是呈现视频、音频或数据内容的组合("多媒体演示")供用户消费的设备。诸如DVD播放器等多媒体播放器当前在视频内容播放期间并不提供许多(如果有的话)用户交互——通常中断视频内容播放来接收用户输入而非播放速度调节。例如,DVD播放器的用户一般必须停止他正在播放的电影以返回到包括允许他选择和接收诸如音频解说、演员传记、或游戏等特征的各选项的菜单。交互式多媒体播放器是与传统的视频、音频或数据内容并发地呈现交互式内容的组合("交互式多媒体演示")的设备(这样的设备可包括硬件、软件、固件或其任何组合)。尽管任何类型的设备可以是交互式多媒体播放器,但诸如光学介质播放器(例如,DVD播放器)、计算机、和其它电子设备等设备尤其适用于允许创建有商业价值的交互式多媒体演示,且允许消费者对其的需求,因为它们提供了对大量相对较不昂贵、便携的数据存储的访问。交互式内容一般是任何用户可选的可视或可听对象,它们可单独演示或与其它视频、音频或数据内容并发演示。一种类型的可视对象是图形对象,诸如圆圈,它可用于标识和/或跟随视频内容内的某些事物——例如,出现在电影中的人、汽车或建筑物。一种类型的可听对象是被播放来指示用户已使用了诸如遥控器或鼠标等设备选择了诸如圆圈等可视对象的的点击声。交互式内容的其它示例可包括,但不限于,菜单、文字说明和动画。为了增加对交互式多媒体播放器和交互式多媒体演示的投资,期望确保交互式多媒体演示中的交互式内容组成部分与这样的演示中的传统视频、音频或数据内容组成部分的准确同步。准确同步一般对视频、音频或数据内容组成部分的可预测且无假信号的播放给予优先级。例如,当在电影中的汽车周围呈现一圆圈时,电影一般不应暂停以等待该圆圈被绘制完成,且在汽车移动时,该圆圈应跟随它。可以理解,所要求保护的主题不限于解决特定交互式多媒体演示系统或其各方面的任何或所有缺点的实现。概述一般而言,交互式多媒体演示包括视频内容组成部分和交互式内容组成部分。视频内容组成部分出于示例性的目的而被称为电影,但实际上可以是视频、音频、数据或其任何组合。演示的交互式内容组成部分被安排成由交互式内容管理器以基于定时信号的速率来呈现,其采用了一个或多个应用程序的形式。应用程序包括声明形式和脚本形式的指令。一种类型的声明形式包括可扩展标记语言("XML")数据结构。提供应用程序指令来组织、格式化和同步媒体对象向用户的演示,这种演示通常与视频内容组成部分并发地进行。此处所讨论的方法、系统、装置和制品使用声明形式的应用程序指令来触发与播放交互式多媒体演示的交互式内容组成部分相关联的动作。具体地,某些应用程序指令指定可在演示播放期间改变状态(例如,基于用户输入)的特定媒体对象的特性。其它应用程序指令指定与基于特性的状态改变来播放交互式内容组成部分相关联的一个或多个动作(例如,当一个或多个媒体对象可呈现时,事件生成、脚本执行或变量值的改变)。通过查询应用程序结构化的表示来检测状态改变,该结构化表示可包括与应用程序指令、媒体对象和/或特性相关联的节点。当检测到状态改变时,触发与播放交互式内容组成部分相关联的指定动作。可如上使用的应用程序指令的示例包括标记元素和属性。媒体对象的特性可由与媒体对象相关联的内容元素的样式或非样式属性来指定。某些可使用的属性由一个或多个XML模式定义。例如,由DVD论坛公布的一个或多个XML模式描述了基于在交互式高清晰度DVD电影播放期间接收的用户输入改变值的属性(包括前景(foreground)、已聚焦(focuesd)、指针(pointer)、已作用(actkmed)、已启用(enabled)和值(value)属性)。可在定时元素内指定与播放交互式内容相关联的动作。在由DVD论坛公布的XML模式中描述了可以此方式使用的某些定时元素。其它定时元素由用于同步多媒体集成语言("SMIL")的XML模式来定义,该语言由万维网联盟("W3C")发布。可使用XPATH查询来查询诸如文档对象模型("DOM")等应用程序的结构化表示以检测属性的值以及这些值的改变。提供该概述以便以简化的形式介绍一些概念。这些概念将在详细描述一节中进一步描述。除概述中所述的以外的元素或步骤是可能的,且没有任何元素或步骤是必需的。该概述并不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用来协助确定所要求保护的主题的范围。附图简述图1是交互式多媒体演示系统的简化功能框图。图2是可从图1中所示的播放列表中查明的示例性演示时间线的图示。图3是与图1中所示的交互式多媒体演示相关联的应用程序的简化的功能框图。图4是更详细示出图1的定时信号管理块的简化的功能框图。图5是示出,对于连续定时信号,示例性事件对图4中所示的某些时间基准的值的影响的示意图。图6是用于使用图3中所示的某些应用程序指令来播放件交互式多媒体演示的方法的流程图。图7是可结合图6中所示的方法的各方面使用的文档对象模型的示意图。图8是可结合图1中所示的交互式多媒体演示系统的各方面使用的通用计算单元的简化的功能框图。图9是可在其中实现或使用图1中所示的交互式多媒体演示系统的操作系统的示例性配置的简化的功能框图。图IO是可在其中实现或使用图1中所示的交互式多媒体演示系统的客户机一服务器体系结构的简化的功能框图。详细描述转向附图,其中同样的参考标号指定同样的组件,图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的视频、音频、或数据的样本组被称为剪辑123(剪辑123在视频组成部分122、AVC管理器102和播放列表128内示出)。参考AVC管理器102,从一个或多个媒体源160接收与剪辑123相关联的信息,并在解码器块161处对其解码。媒体源是可从中导出或获取视频、音频或数据的任何设备、位置或数据。媒体源的示例包括但不限于,网络、硬盘驱动器、光学介质、备用的物理盘以及引用特定视频、音频或数据的存储位置的数据结构。解码器块161表示用于从自媒体源160接收的信息中检索可呈现视频、音频或数据内容的任何设备、技术或步骤。解码器块161可包括例如编码器/解码器对、多路分解器、或解密器。尽管示出了解码器与媒体源之间的一对一关系,但可以理解,一个解码器可服务于多个媒体源,反之亦然。音频/视频内容数据("A/V数据")132是与视频组成部分122相关联的数据,这些数据被准备来由AVC管理器120呈现并被传输给混合器/呈现器110。A/V数据134的帧通常对每一活动剪辑123包括剪辑中的一部分的呈现。在特定帧中呈现的剪辑的精确部分或量可基于若干因素,诸如剪辑的视频、音频或数据内容的特征、或用于对该剪辑编码或解码的格式、技术或速率。再次参考演示内容120,IC组成部分124包括媒体对象125以及用于演示可视或可听对象的任何指令(被示为应用程序155,并在以下进一步讨论),媒体对象是用户可选择的可视或可听对象,它可任选地可与视频组成部分122并发地演示。媒体对象125可以是静态或动画的。媒体对象的示例包括视频样本或剪辑、音频样本或剪辑、图形、文字及其组合等。媒体对象125源自一个或多个源(未示出)。源可以是可从中导出或获取媒体对象的任何设备、位置或数据。媒体对象125的源的示例包括但不限于,网络、硬盘驱动器、光学介质、备用物理盘、以及引用特定媒体对象的存储位置的数据结构。媒体对象125的格式的示例包括但不限于,可移植网络图形("PNG")、联合图片专家组("JPEG")、运动图片专家组("MPEG")、多图像网络图形("MNG")、音频视频交错("AVI")、可扩展标记语言("XML")、超文本标记语言("HTML")、以及可扩展HTML("XHTML")、可扩展样式表语言("XSL")以及WAV。应用程序155提供演示系统100用于向用户演示媒体对象124的机制。应用程序155表示电子地控制对数据的预定操作的任何信号处理方法或已存储的指令。为讨论起见,假定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上示出。对于视频组成内容122——示出了两个剪辑123,第一视频剪辑("视频剪辑l")230和第二视频剪辑("视频剪辑2")250。对于IC组成内容124,如以上结合图l所述,第一应用程序负责演示包括版权通知260的一个或多个媒体对象(例如,图像和/或文字)。第二应用程序负责演示提供菜单280的用户可选项(例如,带有相关联文字或图形的按钮)的某些媒体对象。第三应用程序负责演示提供图形覆盖物290的一个或多个媒体对象。如图所示,菜单280与视频剪辑1230和视频剪辑2250并发地显示,而图形覆盖物290可与视频剪辑1230和菜单280并发地显示。沿水平轴220的其中可向用户演示标题131的特定时间量被称为标题131的播放持续时间292。播放持续时间292内的特定时间被称为标题时间。在演示时间线130上示出了四个标题时间("TT")——TT1293、TT2294、TT3295禾nTT4296。因为标题可被播放一次或一次以上(例如,以循环方式),所以基于标题131的一次重复来确定播放持续时间292。播放持续时间292可关于任何所需基准来确定,包括但不限于,预定播放速度(例如,正常即lx播放速度)、预定帧速率或预定的定时信号状态。播放速度、帧速率和定时信号将在以下结合图4进一步讨论。可以理解,诸如显示技术和关于播放序列和每一标题的剪辑和媒体项之间的定时关系的特定规则的实现专用因素都会影响标题的播放持续时间及其中的标题时间的精确值。术语播放持续时间和标题时间旨在包括所有这样的实现专用细节。尽管可演示与IC组成部分124相关联的内容的标题时间一般是预定的,但可以理解,在用户与这样的内容交互时所采取的动作可仅基于播放已播放演示127时用户的输入来确定。例如,用户可在已播放演示127的播放期间选择、激活或停用某些应用程序、媒体对象和/或与之相关联的附加内容。也在此处定义和讨论播放持续时间292内的其它时间和/或持续时间。视频演示间隔240由播放持续时间292的开始和结束时间来定义,在此期间可播放与视频组成部分122相关联的特定内容。例如,视频剪辑1230具有在标题时间TT2294与TT4296之间的演示间隔240,而视频剪辑2250具有在标题时间TT3295与TT4296之间的演示间隔240。应用程序演示间隔、应用程序播放持续时间、页演示间隔、以及页持续时间也在以下结合图3来定义和讨论。继续参考图1和2,图3是单个应用程序155的功能框图。应用程序155—般表示负责演示媒体对象260、280和290(图2中示出)的应用程序。应用程序155包括指令304(将在以下进一步讨论),包括内容指令302、定时指令306、脚本指令308、样式指令310、媒体对象指令312以及事件指令360。应用程序155具有与其相关联的零个或多个资源包数据结构340(将在以下进一步讨论)、应用程序播放持续时间320、以及一个或多个应用程序显示间隔321。应用程序播放持续时间320是特定的时间量,指的是其中可向已播放演示127的接收方演示和/或可由其选择与应用程序155相关联的媒体对象125的一定量(一部分或全部)的播放持续时间292。在图2的上下文中,例如负责版权通知260的应用程序155具有由TT1293和TT2294之间的时间量组成的应用程序播放持续时间。负责菜单390的应用程序具有由TT2294和TT4296之间的时间量组成的应用程序播放持续时间。负责图形覆盖物290的应用程序具有由TT2294与TT3295之间的时间量组成的应用程序播放持续时间。当与特定应用程序相关联的应用程序播放持续时间在演示时间线上概念化时获取的由开始和结束标题时间所定义的间隔被称为应用程序演示间隔321。例如,参考图2,负责版权通知260的应用程序具有开始于TT1293并结束于TT2294的应用程序演示间隔,负责菜单280的应用程序具有开始于TT2294并结束于TT4296的应用程序演示间隔,负责图形覆盖物290的应用程序具有开始于TT2294并结束于TT3295的应用程序演示间隔。再次参考图3,在某些情况中,应用程序155可具有一个以上的页。页是在特定应用程序播放持续时间320和/或应用程序演示间隔321内可同时期演示的一个或多个媒体对象的逻辑分组。示出了初始页330和后续页335。每一页又具有其自己的页持续时间。页持续时间是特定的时间量,指的是其中向用户演示(和/或由用户选择)与特定页相关联的媒体对象125的一定量(一部分或全部)的应用程序播放持续时间330。如图所示,初始页330具有页持续时间332,后续页335具有页持续时间337。与特定页相关联的媒体对象可被并发地、串行地或按照其组合来演示。如图所示,初始页330具有相关联的初始媒体对象331,后续页335具有相关联的与媒体对象336。当与特定页相关联的页持续时间在演示时间线(见图2)上概念化时所获取的由开始和结束标题时间所定义的间隔被称为页演示间隔343。页演示间隔343是应用程序演示间隔321内可演示特定媒体对象331、336的子间隔。特定的媒体对象演示间隔345也可在页演示间隔343内定义。与给定标题相关联的应用程序和页的数目,以及与每一应用程序或页相关联的媒体对象一般是逻辑上的区别,这是设计选择的问题。例如,不必指定特定的初始页、应用程序一个以上的页可并发地演示、或应用程序一开始可以没有页(或不包含任何内容的初始页)。在保持应用程序和脚本原封不动的同时可加载和卸载应用程序的各个页。当期望管理(例如,限制)与应用程序相关联的、在应用程序执行期间被加载到存储器内的资源的数目或数量时,可使用多个页。应用程序的资源包括应用程序所使用的媒体对象、以及用于呈现媒体对象的指令304。例如,当带有多个页的应用程序可被演示时,有可能仅将与应用程序的当前可演示页相关联的那些资源加载到存储器中。资源包数据结构340被用于便于(可任选地,在应用程序执行之前)将应用程序资源加载到存储器中。资源包数据结构340引用应用程序的资源所处的存储器位置。资源包数据结构340可与其所引用的资源一起或分开地存储在任何期望的位置。例如,资源包数据结构340可被安置在诸如高清晰度DVD等光学介质上,位于与视频组成部分122分开的区域中。或者,资源包数据结构340可被嵌入到视频组成部分122中。在又一替换中,资源包数据结构可放置在远程位置。远程位置的一个示例是联网的服务器。涉及处理用于应用程序执行的资源以及在应用程序之间的转换的主题将不在此处详细讨论。再次参考应用程序155本身,当指令304被执行时,它基于用户输入执行关于呈现与应用程序155相关联的媒体对象125的任务。一种类型的用户输入(或其结果).是用户事件。用户事件是由已播放演示127的接收方启动的涉及IC组成部分124的动作或发生的事情。用户事件一般,但不一定是异步的。用户事件的示例包括但不限于,用户与已播放演示127内的媒体对象的交互,诸如对菜单280内的按钮的选择、或对与图形覆盖物2卯相关联的圆圈的选择。这样的交互可使用现在已知或将来开发的任何类型的用户输入设备来进行,包括键盘、遥控器、鼠标、指示笔、或语音命令。可以理解,应用程序155可响应除用户事件以外的事件,诸如系统事件、文档对象模型事件、或其它类型的事件。在一个实现中,指令304是编码在计算机可读介质(以下结合图8和9进一步描述)内的计算机可执行指令。在此处所述的示例中,使用脚本308或标记元素302、306、310、312、360来实现指令304。尽管可单独使用脚本或标记元素中的任何一个,但一般而言,脚本和标记元素的组合允许创建高清晰度DVD电影的一组综合的交互式能力。脚本308包括以非声明性程序设计语言,诸如命令性程序设计语言编写的指令304。命令性程序设计语言按照将由处理器执行的命令的序列来描述计算。在使用脚本308的大多数情况中,使用脚本来响应用户事件。然而,脚本可用于其它上下文中,诸如处理单独使用标记元素不容易或不能高效实现的问题。这样的上下文的示例包括系统事件、状态管理和资源管理(例如,访问高速缓存的或持久存储的资源)。在一种实现中,脚本308是如由国际欧洲计算机制造协会(ECMAInternationa)在ECMA-262规范中定义的ECMAScript。落入ECMA-262中的常用的脚本化程序设计语言包括JavaScript和Jscript。在某些设置中,可能期望使用ECMAScript262的子集,诸如ECMA-327来实现308。标记元素302、306、310、312和360表示以声明性程序设计语言,诸如可扩展标记语言("XML")编写的指令304。在XML中,元素是XML文档内使用开始标签和结尾标签定义的逻辑信息单元。XML文档是由被称为实体(也被称为容器)的存储单元组成的数据对象,这些存储单元包含已经解析或未解析的数据。已解析的数据由字符组成,其中某些字符形成字符数据,某些字符形成标记。标记对文档的存储布局和逻辑结构的描述编码。在XML文档中存在一个根元素,其任何部分都不在任何其它元素的内容中出现。对所有的其它元素,开始标签和结尾标签位于其它元素的内容内,彼此嵌套。XML模式是一类XML文档的句法的定义。某些XML模式由万维网联盟("W3C")定义。其它XML模式由DVD论坛公布以用于遵循高清晰度视频的DVD规范的XML文档和其它用途。可以理解,有可能有高清晰度DVD电影的其它模式以及其它交互式多媒体演示的模式。在较高层次上,XML模式包括(1)全局元素声明,它将元素名与元素类型相关联,以及(2)类型定义,它定义该类型元素的属性、子元素和字符数据。元素的属性使用名/值对来指定元素的特定特性,一个属性指定单个元素特性。可包括事件元素260的内容元素302被用于标识可由应用程序155向用户演示的特定媒体对象元素312。媒体对象元素312—般又指定安置定义特定媒体对象125的数据的位置。这样的位置可以是,例如本地或远程存储中的位置,包括光学介质、有线或无线、公共或专用网络、诸如因特网、私人管理的网络或万维网上的位置。媒体对象元素312所指定的位置也可以是对位置的引用,诸如对资源包数据结构340的引用。以此方式,媒体对象125的位置可被间接指定。定时元素306被用于指定特定内容元素302可由特定应用程序155向用户演示的时间或时间间隔。定时元素的示例包括XML文档的时间容器内的并行(par)、定时或串行(seq)元素。某些定时元素由W3C发布的用于同步多媒体集成语言("SMIL")的标准来定义。其它定时元素由DVD论坛发布的标准(例如,用于高清晰度视频的DVD规范)来定义。这些标准为所有目的通过引用被包含在此。与用于声明性语言文档的其它定时模型相关联的不同的定时元素也是有可能的。样式元素310—般被用于指定可由特定应用程序向用户演示的特定内容元素302的外观。某些样式元素由W3C和/或DVD论坛在一个或多个已发布的规范中定义。由W3C发布的规范的示例包括涉及XSL的规范和涉及级联样式表("CSS")的规范。事件元素360表示用于定义或响应诸如用户事件、系统事件、文档对象模型事件、或其它事件(诸如由一个或多个XML模式所指定或与其结合来使用以用于与高清晰度DVD电影相关联的应用程序的事件)等事件的内容元素302、定时元素306或样式元素310。这样的事件标签可从W3C指定的事件标签中导出或与之类似,或者它们可与由W3C指定的事件标签不同。标记元素302、306、310、360具有可用于指定其相关联媒体对象元素312/媒体对象125的某些特性的属性。在一个实现中,这些属性/特性表示一个或多个时钟或定时信号(以下结合图4进一步描述)的值。使用具有表示时间或持续时间的特性的标记元素的属性是在用户接收已播放演示127的同时实现IC组成部分124与视频组成部分122之间的同步的一种方式。在另一实现(将在以下结合图6进一步讨论)中,周期性查询这些属性/图形的结构化表示,其中特定的值或其改变可用于触发与播放已播放演示127内的IC组成部分124相关联的一个或多个动作。以下描述了包含标记元素的示例XML文档(未示出脚本308)。示例XML文档包括用于对内容元素302执行裁剪动画的样式310和定时306元素,内容元素302引用被称为"id"的媒体对象元素312。定义与"id"媒体对象元素相关联的媒体对象215的数据的位置未被示出。可以理解,出于示例性的目的提供了以下的示例XML文档,该文档可能在句法上是不合法的。该示例XML文档以被称为"root"的根元素开始。在该根元素之后,若干名字空间"xmlns"字段引用万维网上可找到定义该示例XML文档的句法的若干模式及其中的容器的位置。在例如用于高清晰度DVD电影的XML文档的上下文中,名字空间字段可引用与DVD论坛相关联的网站。在由标为"body"的标签描述的容器中定义被称为"id"的一个内容元素302。在由标为"head"的标签描述的容器内定义与内容元素"id"相关联的样式元素310(在该示例中,标签"styling"下的元素)。还在由标为"head"的标签描述的容器内定义定时元素306(标签"timing"下的元素)。-<rootxml: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特性)<styleid="s-p"style:fontSize="10px"/><styleid="s-bosbkg"style:opacity="0,4"style:backgroundImage="url('../../img/pass/boston.png')"/〉<styleid="s-div4"style="s-bosbkg"style:width="100px"style:height="200px"/><styleid="s-div5"style:crop="00100100"style="s-bosbkg"style:width="200px"style:height="100px"/>〈styleid="s-div6"style:crop="10050200150"style="s-bosbkg"style:width="100px"style:height="100px"/></styling>-<Timing>(此处为Timing特性)-<timingclock="title">-<defs>-<gid="xcrop"><setstyle:opacity="1.0"/><animatestyle:crop="00100200;2000300200"/></g>-<gid="ycrop"〉<setstyle:opacity="1.0"/><animatestyle:crop="00100IOO;O100100200"/></g>-<gid="zoom"><setstyle:opacity="1.0"/><animatestyle:crop="10050200150;12575150100"/></g></defs>-<seq><cueuse="xcrop"select="〃div[@id='d4']"dur="3s"/><cueuse="ycrop"select="〃div[@id='d5']"dur="3s"/><cueuse="zoom"select="〃div[@id='d6']"dur="3s"/></seq></timing></head>-<bodystate:foreground="true">Body是内容元素的容器-<divid="dl">内容从此处开始。-<pstyle:textAlign="center">裁剪动画测试<br/><spanstyle:fontSize^'12px"〉启动标题时钟以制作裁剪动画。</span></p></div><divid="d4"style="s-div4"style:position-"absolute"style:x="10%"style:y="40%"><pstyle="s-p">x:0->200</p></div>-<divid="d5"style="s-div5"style:position="absohite"style:x="30%"style:y="40%"><pstyle="s-p">y:0->100</p></div>-<divid="d6"style="s-div6"style:position="absolute"style:x="70%"style:y="60%">-<pstyle="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内已经经过的时间总量。时间基准计算器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的影响。<table>tableseeoriginaldocumentpage18</column></row><table><table>tableseeoriginaldocumentpage19</column></row><table>表l图5是更详细示出某些事件502在已播放演示127的播放期间对应用程序时间基准492、页时间基准494、标题时间基准409和媒体时间基准455的影响的示意图。关于连续定时信号,诸如定时信号401的值来示出事件502及其影响。除非另有指示,否则高清晰度DVD电影的特定标题正以正常速度播放,且具有三个可串行演示的页的单个应用程序提供用户交互活动。电影在定时信号具有值O时开始播放。当定时信号具有值10时,应用程序变为有效并激活。应用程序时间492以及与应用程序的页1相关联的页时间494假定为值O。页2和3是不活动的。标题时间409和媒体时间455均具有值10。应用程序的页2在定时信号值15时加载。应用程序时间和页1时间具有值5,而标题时间和媒体时间具有值15。应用程序的页3在定时信号具有值20时加载。应用程序时间具有值IO,页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处,用户跳转、后退至同一剪辑中的另一部分。假定应用程序在所跳转到的位置有效,且在之后不久重新激活。应用程序时间具有值O,页l时间具有值O,其它页不活动,标题时间具有值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)的能力的一种方法的流程图。该方法涉及使用声明性形式的某些应用程序指令来有条件地触发与播放IC组成部分124相关联的某些动作。动作基于交互式多媒体演示播放期间一个或多个媒体对象的一个或多个特性的状态(例如,基于用户输入)来触发。该方法在框600处开始,并在框602处继续,在那里访问具有声明性语言指令的应用程序。该应用程序的第一指令指定一个或多个媒体对象的一个或多个特性。在交互式多媒体演示的播放期间,这些特性可表现出多个状态。第二指令指定与基于特征的状态改变来播放演示的交互式内容相关联的一个或多个动作。在框604处,周期性査询应用程序的结构化表示来检测状态改变。当检测到相关状态改变时,如在菱形框606处确定的,在框608处触发由第二指令指定的动作,且框604处的周期性査询继续。如果在菱形框606处未检测到相关状态改变,则框604处的周期性査询继续。参考框602,在演示系统100的上下文中讨论指定一个或多个媒体对象的一个或多个特性的第一指令。应用程序指令304(图3中示出),诸如内容元素302、样式元素310、媒体对象元素312、或事件元素360及其属性用于指定特定的媒体对象125和可在已播放演示127的播放期间表现出的相关联的特性状态(例如,属性的值)。用于出现在高清晰度DVD电影中的标记元素的某些属性由DVD论坛公布的一个或多个XML模式来定义。这样的属性的示例包括样式属性、以及属性前景、已聚焦、指针、已作用、已启用和值(此处被称为"显示属性")。某些样式属性和显示属性可关于用户事件来定义。可能影响样式属性或显示属性的值的一种类型的用户事件为姿势事件。姿势事件是影响已播放演示127内的媒体对象的演示的任何用户发起的动作(诸如来自诸如键盘、遥控器或鼠标的设备的输入)。一般的特性状态和属性的值,尤其是样式或显示属性的值,可表现出交替、或二元的状态。这样的交替或二元状态的示例包括真或假、开或关、零或一等。或者,特性状态和属性的值可表现出一般值,诸如串值或数字值。在又一替换中,特性状态和属性的值可表现出预定义集合内的值,诸如表示颜色的预定义集合内的特定颜色的值。再次参考框602,也在演示系统100的上下文中讨论指定与播放交互式内容相关联的一个或多个动作的第二指令。在诸如定时元素306等应用程序指令304(在图3中示出)内,指定了可基于特性状态的改变而触发的与播放IC组成部分124相关联的一个或多个动作。这样的动作的示例包括内容呈现、事件生成、脚本执行、变量值改变、和其它动作。在应用程序或其页内,可使用多个定时元素,且定时元素可被同步到相同或不同的时钟。例如,可直接或间接参考定时信号401和471来建立定时元素所同步到的时钟。例如,可经由时钟源402、IC帧速率计算器404、A/V帧速率计算器406、应用程序时间492或页时间494来间接参考定时信号401。同样地,可例如经由时钟源470、已经过的剪辑播放时间452、时间基准计算器454、媒体时间基准455、时间基准计算器408或标题时间基准409来间接参考定时信号471。此外,涉及对时钟、定时信号、时间基准计算器和/或时间基准的逻辑引用的表达式也可用于指定定时元素的同步。例如,诸如"AND"、"OR"和"NOT"等布尔操作数以及其它操作数及其类型可用于定义这样的表达式或条件。再次参考图6的流程图,在演示系统100的上下文中讨论了框604、菱形框606和框607处所示的步骤。在演示内容120/已播放演示127的播放期间,在应用程序的结构化表示内维护与特定应用程序155相关联的声明性语言指令(诸如内容元素302、定时元素306、样式元素310、媒体对象元素312、事件元素360和/或其各自的属性(以及可任选地,属性的属性))的状态。这样的结构化表示的一个示例是文档对象模型("DOM")。DOM的结构和功能由W3C发布的一个或多个规范所描述。图7是D0M700的图示。DOM700是若干类型的节点的树形分层结构,包括作为根节点的文档节点702、元素节点704、属性节点706、以及文本节点708。通常,在DOM中,定时数据结构与内容数据结构分开。DOM700的结构仅是出于示例性目的而提出的。可以理解,任何元素,包括属性本身,均可具有属性或文本。DOM70(或其部分)可以使用XPATH查询或其它类型的查询(例如XQUERY)来周期性地查询以确定属性节点(诸如样式属性或显示属性)何时具有特定值。在一个实现中,XPATH查询确定属性节点何时改变值。如上所述,属性可具有二元值、数字值、串值或其它类型的值。属性节点(分别由DOM700中的节点704和706表示)在交互式多媒体演示播放时和/或响应于诸如用户事件等事件而被解析成特定值。在一个实现中,XPATH査询基于所查询的值而被解析为真或假。以此方式,可形成用于特定媒体对象的活动时间间隔,并且可在定时结构内有利地使用XPATH来参考和/或监视内容数据结构内的信息。查询可在一个或多个属性节点上并发地执行,并且也可使用涉及对属性的逻辑引用的表达式或条件来定义査询。例如,诸如"AND"、"OR"和"NOT"等布尔操作数以及其它操作数或其类型可用于定义这种表达式或条件。在某些情况下,也可能跳过某些周期性查询。例如,基于对査询结果和/或其它信息的分析,可标识査询结果不改变的时间周期,并且在这些周期期间跳过査询。XPATH查询可按基于诸如定时信号401或定时信号471等定时信号的速率在DOM上执行。可以理解,可以直接或间接参考定时信号401和471来建立查询DOM的时间。例如,可经由时钟源402、IC帧速率计算器404、A/V帧速率计算器406、应用程序时间492或页时间494来间接参考定时信号401。同样,可经由例如时钟源470、已经过的剪辑播放时间52、时间基准计算器454、媒体时间基准455、时间基准计算器408或标题时间基准409来间接参考定时信号471。另外,也可使用涉及对时钟、定时信号、时间基准计算器、和/或时间基准的逻辑引用的表达式来定义何时对DOM执行查询。例如,可使用诸如"AND"、"OR"和"NOT"等布尔操作数以及其它操作数或其类型来定义这种表达式或条件。当特定动作由经由对DOM的查询检测到的状态变化触发时,访问适当的内容并执行与这些动作有关的指令。例如,外部事件处理程序一般访问事件相关内容并安排涉及这些事件的指令的执行。执行与所触发的动作有关的指令所得的工作项(未示出)被放置在队列(未示出)中,并且以预定的速率,诸如由IC帧速率405提供的速率来执行。执行工作项所得的IC数据134(例如,根据用户输入对特定媒体对象的呈现)被发送到混合器/呈现器110。混合器/呈现器IIO在图形平面中呈现IC数据134以为用户产生已播放演示127的交互式部分。由此,应用程序提供了指定媒体对象的特定特性的状态的某些声明性语言指令,以及指定与播放交互式多媒体演示的交互式内容相关联的、基于特性的状态变化的动作(诸如媒体对象的呈现、事件生成、变量变化和其它动作)的其它声明性语言指令。与播放交互式内容相关联的动作可通过周期性地查询应用程序的结构化表示以检测状态变化来有条件地触发。XPATH功能尤其适用于查询DOM来检测这种状态变化。提供关于图6的方法如何在演示系统100中使用以演示已播放演示127内的特定媒体对象125/IC组成部分124/IC数据134的示例。出于讨论的目的,假定已播放演示127为高清晰度DVD电影,媒体对象是按钮图形,交互活动由与电影的至少某些部分并发地将按钮图形演示为菜单280(图2中示出)内的用户可选项的应用程序155提供。该应用程序包括被称为"mybutton(我的按钮)"的内容元素,它具有被称为"己聚焦(focused)"的属性。已聚焦属性可基于用户的姿势事件来表现出已聚焦和未聚焦的两种状态。引起已聚焦状态为真的姿势事件的一个示例是当用户操纵特定按钮的"热点"区时(例如,用户将光标尖端移入热点)。引起己聚焦状态为假的姿势事件的一个示例是当用户从菜单280选择一不同项时。以下示出了说明可用于有条件地触发与具有如上所述称为"已聚焦"的状态属性的内容元素(例如,MyButton)相关联的媒体对象的呈现的声明性语言指令的伪代码,该属性基于特定姿势事件可以为真或假<parbegin="id('MyButton,)[state:focused()=true()],,end="id('MyButton,)[state:focused()=false()]"〃现在运行动画,因为状态已聚焦为真〃如果状态改为假则停止动画可以看到,"par"定时元素阐明了呈现与"Mybutton"元素相关联的媒体对象的动作。该动作在对表示Mybutton元素的已聚焦属性的DOM节点的查询解析为真时被触发(即,呈现媒体对象),并且该动作在对表示Mybutton元素的已聚焦属性的DOM节点的査询解析为假时停止(即,不呈现媒体对象)。尽管在该示例中,可呈现媒体对象是其特性被配置为表现出多个状态的同一媒体对象,但是可呈现媒体对象可以是不同的。可使用诸如以下结合图8所讨论的处理器802等一个或多个通用、多用途或单用途处理器来实现图6中所示的过程。除非另有指示,否则此处所述的方法不限于特定次序或顺序。此外,所述的方法及其元素中的某一些可并发发生或执行。图8是通用计算单元800的框图,它示出了可用于实现演示系统100的各个功能组件或可由其访问或可被包括在其中的某些功能组件。计算单元800的一个或多个组件可用于实现IC管理器104、演示管理器106和AVC管理器102或可由其访问或可被包括在其中。例如,图8的一个或多个组件可被包装在一起或分开包装以按照各种方式来实现演示系统100的功能(整体或部分)。处理器802响应于计算机可读介质804和计算机程序806。处理器802可以是真实或虚拟的处理器,它通过执行计算机可执行指令来控制电子设备的功能。处理器802可在汇编、编译或机器级执行指令以执行特定的过程。这样的指令可使用源代码或任何其它已知的计算机程序设计工具来创建。计算机可读介质804表示任何形式的、现在已知或将来开发的、能够记录、存储或传输诸如可由处理器802执行的指令等计算机可读数据的任何数目的本地或远程设备或其组合。具体地,计算机可读介质804可以是或可包括半导体存储器(诸如只读存储器("ROM")、任何类型的可编程ROM("PROM")、随机存取存储器("RAM")、或闪存);磁存储设备(诸如软盘驱动器、硬盘驱动器、磁鼓、磁带或磁光盘);光存储设备(诸如任何类型的压縮盘或数字多功能盘);磁泡存储器;高速缓冲存储器;磁心存储器;全息存储器;记忆棒;纸带;穿孔卡;或其任何组合。计算机可读介质804也可包括传输介质及其相关联的数据。传输介质/数据的示例包括但不限于,具体化成任何形式的有线或无线传输的数据,诸如由己调制载波信号承载的已分组或未分组数据。计算机程序806表示电子地控制对数据的预定操作的任何信号处理方法或已存储指令。一般而言,计算机程序806是根据基于组件的软件开发的公知实践被实现为软件组件、并被编码到计算机可读介质(诸如计算机可读介质804)中的计算机可执行指令。计算机程序可按照各种方式组合或分布。在演示系统100的上下文中描述的功能/组件不限于由计算机程序的任何具体实施例来实现。相反,功能是传达或变换数据的过程,一般可由硬件、软件、固件或其组合实现或执行,并位于演示系统100的功能元件的任何组合处或可由其访问。继续参考图8,图9是可在其中实现或使用演示系统100的全部或一部分的操作环境900的示例性配置的框图。操作环境900—般指示各种各样的通用或专用计算环境。操作环境900仅是合适的操作环境的一个示例,而不旨在对此处所述的系统和方法的使用范围或功能提出任何限制。例如,操作环境900可以是现在已知或将来开发的一种类型的计算机,诸如个人算机、工作站、服务器、便携式设备、膝上型计算机、图形输入板、或任何其它类型的电子设备,诸如光介质播放器或另一类型的媒体播放器,或其任何方面。操作环境900例如也可以是分布式计算网络或Web服务。操作环境900的一个具体示例是诸如DVD播放器或与其相关联的操作系统等便于播放高清晰度DVD电影的环境。如图所示,操作环境900包括或访问计算单元800的各组件,包括处理器802、计算机可读介质804以及计算机程序806。存储904包括与操作环境卯0特别相关联的其它或不同的计算机可读介质,诸如光盘,它由光盘驱动器906处理。作为公知且广泛可用的元件的一个或多个内部总线920可用于承载数据、地址、控制信号以及计算环境900或其元件内的、去往它们的或来自它们的其它信息。输入接口908对计算环境卯0提供输入。输入可使用任何类型的现在已知或将来开发的接口,诸如用户接口来收集。用户接口可以是诸如遥控器、显示器、鼠标、笔、指示笔、跟踪球、键盘等触摸输入设备、麦克风、扫描设备和用于输入数据的所有类型的设备。输出接口910提供来自计算环境900的输出。输出接口910的示例包括显示器、打印机、扬声器、驱动器(诸如光盘驱动器卯6和其它盘片驱动器)等。外部通信接口912可用于增强计算环境900经由诸如信道信号、数据信号或计算机可读介质等通信介质与另一实体之间往返收发信息的能力。外部通信接口912可以是或可包括诸如线缆调制解调器、数据终端设备、媒体播放器、数据存储设备、个人数字助理、或任何其它设备或组件/其组合以及相关联的网络支持设备和/或软件或接口的各种元件。图10是可结合其使用演示系统100或操作环境900的客户机一服务器体系结构1000的简化功能框图。演示系统100和/或操作环境900的一个或多个方面可表示在体系结构1000的客户机侧1002上或表示在体系结构1000的服务器侧1004上。如图所示,通信架构1003(可以是任何类型的例如有线或无线的公共或专用网络)便于在客户机侧1002与服务器侧1004之间通信。在客户机侧1002上,可使用硬件、软件、固件或其任何组合实现的一个或多个客户机1006响应于客户机数据存储1008。客户机数据存储1008可以是计算机可读介质804,用于存储对客户机1006本地的信息。在服务器侧1004上,一个或多个服务器1010响应于服务器数据存储1012。与客户机数据存储1008—样,服务器数据存储1012可包括一个或多个计算机可读介质804,用于存储对服务器1010本地的信息。描述了用于与音频/视频内容同步地向用户演示交互式内容的交互式多媒体演示系统的各方面。交互式多媒体演示一般被描述为具有播放持续时间、可变播放速度、视频组成部分和IC组成部分。然而,可以理解,不必使用所有前述组成部分,各组成部分在被使用时也不必同时存在。在演示系统100的上下文中被描述为计算机程序的功能/组件不限于由计算机程序的任何具体实施例来实现。相反,功能是传达或变换数据的过程,一般可使用硬件、软件、固件或其任何组合来实现或执行。尽管使用结构特征和/或方法动作专用的语言描述了此处的主题,但也可以理解,权利要求书中定义的主题不必限于上述的具体特征或动作。相反,上述的具体特征和动作是作为实现权利要求书的示例形式来公开的。还可以理解,当一个元素被指示为响应于另一个元素时,这些元素可直接或间接耦合。此处所述的连接在实践中可以是逻辑或物理的,以实现元素之间的耦合或通信接口。连接可被实现为软件进程之间的进程间通信,或联网计算机之间的机器间通信等。此处使用词语"示例性"指的是用作示例、实例或说明。此处被描述为"示例性"的任何实现或其各方面不必被解释为对于其它实现或其方面是优选的或有利的。如可以理解的,可设计除上述具体实施例以外的实施例,而不背离所附权利要求书的精神和范围,此处主题的范围旨在由所附权利要求书限定。权利要求1.一种用于标识引用一个或多个媒体对象的声明性标记语言文档的结构化表示中的状态改变的方法,包括实现访问所述表示中的节点的查询;基于所述查询,判断所述节点是否具有预定的值;以及基于所述判断,建立查询结果,其中所述查询结果被用于触发与播放交互式多媒体演示的交互式内容组成部分相关联的动作。2.如权利要求l所述的方法,其特征在于,所述结构化表示是从XML文档中创建的文档对象模型("DOM")。3.如权利要求2所述的方法,其特征在于,所述节点表示与所述XML文档相关联的内容数据。4.如权利要求1所述的方法,其特征在于,所述判断所述节点是否具有预定的值的步骤包括判断所述节点的值是否已改变。5.如权利要求l所述的方法,其特征在于,所述査询包括XPATH査询。6.—种用于播放与交互式多媒体演示相关联的交互式内容的方法,所述方法包括访问具有用于播放所述交互式内容的指令的应用程序,所述指令包括第一指令,它具有声明形式,并指定媒体对象的特性,所述特性被配置成在所述交互式多媒体演示的播放期间表现出第一状态和第二状态之一,以及第二指令,它具有声明形式,并基于所述特性从所述第一状态状态到所述第二状态的状态改变来指定与播放所述交互式内容相关联的动作,-安排周期性地査询所述应用程序的结构化表示以检测所述特性的状态改变;以及基于对所述状态改变的检测,安排触发与播放所述交互式内容相关联的动作。7.如权利要求6所述的方法,其特征在于,所述交互式内容包括媒体对象,所述第二指令基于所述特性的状态改变来指定何时所述媒体对象可呈现,且所述状态改变的检测触发所述媒体对象的呈现。8.如权利要求6所述的方法,其特征在于,所述第一指令包括与XML内容元素相关联的属性。9.如权利要求8所述的方法,其特征在于,所述属性包括样式属性和非样式属性之一。10.如权利要求8所述的方法,其特征在于,所述第一状态和所述第二状态包括所述属性的值。11.如权利要求10所述的方法,其特征在于,所述属性的值选自二元值、数字值、串值和预定值组成的集合。12.如权利要求6所述的方法,其特征在于,所述第二指令包括XML定时元素。13.如权利要求6所述的方法,其特征在于,所述第二指令基于所述状态改变来指定事件创建。14.如权利要求6所述的方法,其特征在于,所述第二指令基于所述状态改变来指定变量值改变。15.如权利要求6所述的方法,其特征在于,所述第二指令基于所述状态改变来指定脚本指令的执行。16.如权利要求6所述的方法,其特征在于,所述应用程序的结构化表示具有对应于所述第一指令的第一节点以及对应于所述第二指令的第二节点。17.如权利要求16所述的方法,其特征在于,所述安排周期性地查询所述结构化表示的步骤包括使用XPATH查询来检査所述第一节点和所述第二节点之一。18.如权利要求6所述的方法,其特征在于,所述周期性査询是以可变速率执行的。19.如权利要求6所述的方法,其特征在于,所述结构化表示包括文档对象模型("DOM")。20.—种以用于执行如权利要求6所述的方法的计算机可执行指令编码的计算机可读介质。全文摘要使用声明性语言应用程序指令,基于特定媒体对象的样式或非样式特性的状态改变,来有条件地触发与播放交互式多媒体演示的交互式内容相关联的一个或多个动作。某些应用程序指令指定媒体对象的特性,而其它应用程序指令基于状态改变来指定与播放交互式内容相关联的动作(例如,当一个或多个媒体对象可呈现时、事件生成、脚本执行或变量改变)。通过查询应用程序的结构化表示来检测状态改变,该表示包括与应用程序指令、媒体对象和/或特性相关联的节点。当检测到状态改变时,触发一个或多个所指定的动作。文档编号G11B27/00GK101213608SQ200680024302公开日2008年7月2日申请日期2006年6月22日优先权日2005年7月1日发明者A·W·杰瑞索伯瑞,J·C·芬格,O·科勒,S·海耶斯申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1