当前位置: 首页 > 专利查询>微软公司专利>正文

在交互式媒体环境中将事件排队制造技术

技术编号:3987437 阅读:194 留言:0更新日期:2012-04-11 18:40
提供了一种安排,其中交互式媒体环境中的所有应用程序在媒体播放器的单个应用程序线程上运行。利用事件队列(819)来调度应用程序线程对与在该环境中发生的事件相对应的工作项(810)的处理。工作项(810)包括当处理工作项(810)时要调用的方法以及用于该方法的自变量。工作项(810)还包括开始时间和结束时间,并且在事件队列(819)中首先按照开始时间,然后按照它们被插入到队列中的时间来排序。应用程序线程标记其开始时间对应于当前或先前的时间的工作项(810),然后按序处理来自队列的已标记工作项(822)。这种处理被提交,使得一旦应用程序线程开始处理工作项(822),它就不会停止。如果已经过了工作项的结束时间,则从事件队列(819)中丢弃该工作项(822)。

【技术实现步骤摘要】

所描述的安排、系统和方法一般涉及交互式媒体,尤其涉及在交互式媒体环境中 将事件排队。背景交互式媒体环境一般是在可用处理能力、存储器和对该环境中运行的应用程序可 用的其它资源方面受到约束的资源。交互式媒体的一个常见示例是在DVD(数字多功能盘) 上编码的视频,其中用户可以与图形菜单或其它控件交 互以导航到特定的视频内容或调用 被设计到DVD中的特殊特征。在更复杂的交互式媒体环境中,尽管资源是有限的,但应用程序仍需以其中视频 为精确到帧的实时方式来响应于用户。然而,使用实时多线程化编程来实现这一目标会对 交互式媒体作者施加处理诸如线程管理和同步等问题的较大负担。概述提供了一种安排,其中交互式媒体环境中的所有应用程序在媒体播放器中的单个 应用程序线程上运行。利用事件队列来调度应用程序线程对与该环境中发生的事件相对 应的工作项的处理。工作项包括当处理工作项时要调用的方法以及用于该方法的自变量。 由此,来自事件队列的工作项的调度和处理确定了在该环境中将完成什么工作以及何时完 成。典型的事件包括根据用户与媒体播放器的交互激发的用户事件、由媒体播放器激发的 系统事件、以及由应用程序激发的事件。在各种说明性示例中,工作项还包括开始时间和结束时间,并且先按照开始时间 然后按照它们被插入到队列中的时间在事件队列中排序。在一个说明性示例中,应用程序 线程标记其开始时间对应于当前或先前的时间的工作项,然后按序处理来自队列的所标记 的工作项。所有处理是在提交的基础上执行的,使得一旦应用程序线程开始处理一工作项, 它就不会停止。如果已经过了工作项的结束时间,则从事件队列中丢弃该工作项。用于在 处理期间发生的新事件的工作项被插入到队列的末尾以在已提交的工作项之后处理。在另 一说明性示例中,用于新事件的工作项基于其相对开始时间被插入到事件队列中以在已提 交的工作项之后处理。如定时器事件和应用程序绘制事件等重复性事件可具有从事件队列 丢弃的各次发生。然而,一次性(即,单次发生、非重复性的)事件从不被丢弃。有利的是,采用单个应用程序线程的该事件排队模型为交互式媒体作者提供了在 包括处理器周期和存储器在内的硬件资源受到限制的情况下以实时的精确到帧的方式管 理事件的稳定且可预测的方法。附图简述附图说明图1是示出构成在交互式媒体环境中使用的应用程序的元素的说明性框图;图2是示出多个标记文档和脚本之间的关系的图示;图3是包括交互式内容处理器、视频内容处理器和混合器的说明性交互式媒体播 放器的框图;图4是第二说明性交互式媒体播放器的框图;图5是具有多个事件队列和单个应用程序线程的说明性安排的框图;图6是一说明性事件队列的框图,它示出了首先按照开始时间,然后按照工作项 被插入到事件队列中的时间对工作项的排序;图7是应用程序线程自动将两个工作项插入到事件队列的结尾处的说明性安排 的框图;以及图8是用于将与交互式媒体环境中发生的事件相关联的工作项排队的说明性方 法的流程图。详细描述参考图1,示出了构成在交互式媒体环境中使用的应用程序110的元素的说明性 框图。通常在交互式媒体环境中使用应用程序来允许用户与在耦合的显示设备(诸如电视 机或监视器)上呈现图形和视频的交互式媒体播放器之间通过诸如遥控器等用户接口的 交互。更具体地,应用程序控制该环境中各种内容对象的演示行为,包括视频回放。视频上 诸如菜单和交互式按钮等图形对象的演示也是使用应用程序来实现的。应用程序还管理并 控制该环境中的音频回放和声音。可以构想,多个应用程序一般将同时在最具交互性的媒 体设置下运行。然而,对于应用程序同时运行并没有要求,并且在特定的设置下划分或聚集 应用程序的决定是交互式媒体作者的设计选择。应用程序还可取决于特定设置的要求在逻 辑上被细分为应用程序页。应用程序110包括包含零个或多个脚本文件117和119的脚本主机115以及用于 生成文档对象模型(DOM)的零个或多个标记文档120。标记文档120包括与例如图形对象 的内容、样式、定时和布局有关的信息。由此,一般使用标记上下文在交互式媒体环境中的 图形平面上提供图形。在该说明性示例中,标记文档是依照W3C标准的XML文档文件。如图1所示,可使 用标记中<head>(首部)部分中的<include>(包括)元素来访问多个物理XML文件。在 某些设置中,对应用程序而言较佳的可能是一次没有多于一个的活动标记。然而,应用程序 可通过使用标记中的<link>(链接)元素来切换其标记120。或者,应用程序可通过利用 允许应用程序获取对当前应用程序内的功能对象的访问的应用程序编程接口(API)来切 换其标记120。使用通过API的IoadMarkup ()(加载标记)调用,应用程序可通过经由API 传递新标记的统一资源标识符(URI)来切换标记文件120。在应用程序访问新标记的情况下,API调用仅在应用程序中的当前事件处理程序 完成执行其当前任务之后才生效。待决的任何当前标记相关事件处理程序也被取消,因为 一旦新标记被加载,该新标记将使那些事件处理程序无效。在该说明性示例中,脚本主机115包含与标记120 —起使用来实现交互式媒体体 验的脚本文件117和119。脚本文件117和119可例如使用如由国际欧洲计算机制造协会 (Ecma International)在 ECMA-262 规范中定义的 ECMAScript (ECMA 脚本)来实现。被归 入ECMA-262的常见脚本化编程语言包括JavaScript和JScript。在某些设置中,可能期望 使用ECMAScript 262的一个子集,具体地是ECMA-327,连同一主机环境和一组公共API来实现脚本117和119。大多数设置中的脚本上下文用于处理来自用户的交互式控制问题以 及系统事件、图形控制、视频回放、资源管理(例如,使用高速缓存或持久存储资源)以及仅 使用标记120不能容易或有效地实现的其它问题。API以及资源对应用程序110的可用性由图1中的参考标号125来指示。资源包 括例如音频和视频文件、字体、图片和图像(例如,采用常见的文件格式,包括PNG、JPEG、 GIF、BMP、TIFF等)以及应用程序根据特定设置的环境所需的其它资源。每一应用程序110维护其自己的脚本主机115,它维护用于脚本的变量、函数和其它状态的上下文。在大多数设置中,一个应用程序中的变量和函数对另一应用程序是不可 见的,除非该应用程序例如通过使用跨所有应用程序共享的对象被特别地设置成允许这样 的跨应用程序可见性。例如,在该说明性示例中,交互式媒体播放器具有跨所有应用程序共 享的单个实例。因此,可任选地,特殊对象可例如使用C++对象而被置于脚本主机115内 部,以实现其中该特殊对象都引用例如播放器的同一内部函数的单元素(singleton)(即, 一对象具有有限的实例化)。该可任选方面允许交互式媒体脚本作者在逻辑上将公共对象 作为单元素来对待,同时仍允许脚本主机115实现将一对象展示给单个脚本主机所必需的 功能。现在参考图2,提供了示出多个标记文档和脚本之间的关系的图示。应用程序清 单230与应用程序交互,如上所述,应用程序一般由所示的资源125、本文档来自技高网...

【技术保护点】
一种管理对与在交互式媒体环境中发生的重复性和非重复性事件相关联的工作项的处理的方法,每一所述工作项具有包括开始时间和结束时间的时间戳,其特征在于,所述方法包括以下步骤:按照开始时间,然后按照进入到事件队列的进入时间来对所述事件队列(515)中的工作项排序;按序并在提交的基础上处理来自所述事件队列(515)的多个工作项,使得与已处理的工作项相关联的事件在对所述多个工作项的处理终止之前被处理;将与在所述处理期间发生的新事件相关联的工作项插入到所述事件队列的尾端;以及仅从所述事件队列(515)丢弃与重复性事件相关联的工作项,其中每一时间队列被安排成馈送至同一应用程序线程。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:JC芬格JA伊冯K玛扎O科勒AWJ弗利曼
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1