CN101833474B - 在交互式媒体环境中将事件排队的方法 - Google Patents

在交互式媒体环境中将事件排队的方法 Download PDF

Info

Publication number
CN101833474B
CN101833474B CN2010101651393A CN201010165139A CN101833474B CN 101833474 B CN101833474 B CN 101833474B CN 2010101651393 A CN2010101651393 A CN 2010101651393A CN 201010165139 A CN201010165139 A CN 201010165139A CN 101833474 B CN101833474 B CN 101833474B
Authority
CN
China
Prior art keywords
work item
time
event
event queue
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2010101651393A
Other languages
English (en)
Other versions
CN101833474A (zh
Inventor
J·C·芬格
J·A·伊冯
K·玛扎
O·科勒
A·W·J·弗利曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101833474A publication Critical patent/CN101833474A/zh
Application granted granted Critical
Publication of CN101833474B publication Critical patent/CN101833474B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

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

Description

在交互式媒体环境中将事件排队的方法
本发明专利申请是申请日为2006年6月22日、申请号为200680024300.7、名称为“在交互式媒体环境中将事件排队”的发明专利申请的分案申请。
技术领域
所描述的安排、系统和方法一般涉及交互式媒体,尤其涉及在交互式媒体环境中将事件排队。
背景
交互式媒体环境一般是在可用处理能力、存储器和对该环境中运行的应用程序可用的其它资源方面受到约束的资源。交互式媒体的一个常见示例是在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的loadMarkup()(加载标记)调用,应用程序可通过经由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、脚本205和标记文档251、260和275来定义。每一应用程序在大多数设置中通常使用单个应用程序清单文件,但是应用程序清单不是应用程序的运行时状态的一部分。在该说明性示例中,应用程序清单230被编码为XML文档文件。
应用程序清单230描述了要由应用程序110(图1)使用的初始标记文件251以及脚本主机115(图1)中包含的脚本文件-在图2中由带参考标号205的矩形来共同指示。如果应用程序清单230列出了一个以上脚本,如本说明性示例中所示的,则所有脚本都被加载到交互式媒体播放器的脚本处理引擎中。由此,多个脚本文件如同脚本作者将所有脚本文件按照应用程序清单230中列出的顺序串接成单个大文件那样被对待和表现。
如图2所示,应用程序清单230引用资源125。对交互式媒体环境中应用程序可用的资源形成了一有向图,其根为应用程序清单230中引用的资源125。用于每一应用程序的图形的允许范围由应用程序清单230来规定。
图2示出了在交互式媒体环境中运行的三个应用程序。如上所述,每一应用程序一次可以仅有一个活动标记,且应用程序内容按应用程序保持分开。如由标记页251、260和275之间的箭头所指示的,应用程序能够经由脚本205从标记页251前进到260,之后从页260前进到275。
交互式媒体环境中应用程序的上下文执行行进由播放列表290来指导,播放列表描述了环境中包括由播放器呈现到显示设备上的演示对象在内的对象之间的关系以及其它内容。这些演示对象通常包括由应用程序产生的视频(可以包括如以下更详细描述的多个流)和图形。
播放列表290还将跨交互式媒体环境的多个资源作为单个管理实体来管理,以有效地分配并控制应用程序对资源的消费。如同应用程序清单230一样,播放列表290在大多数设置中可被有利地具体化为XML文档文件。
图2中的标记页可在某些设置中用于向执行上下文(由图1中的脚本文件117和119创建)激发事件。执行上下文然后操纵由当前应用程序标记创建的DOM。当在交互式媒体环境中使用标记来指定该环境中的图形对象的样式、内容、定时和布局(如由图2中的元素253、262和277所表示的)时,脚本和标记的组合允许创建一组综合能力。
图3是第一说明性交互式媒体播放器305的框图,它包括交互式内容处理器(ICP)335、视频内容处理器(VCP)310和混合器339。注意,图3所示的安排提供了描述说明性交互式媒体播放器305中与应用程序状态管理有关的特征和功能的逻辑模型。由此,交互式媒体播放器的实际实现可利用各种结构形式,同时仍如此处所描述的操作以实现应用程序状态管理的好处。交互式媒体播放器305通常用诸如单机消费者电子设备等专用硬件来实现,或者使用采用计算机可读介质以及诸如在个人计算机中找到的通用处理器的软件实现来实现。
VCP 310管理可通过网络从多个源接收到的一个或多个媒体流,这些源包括诸如DVD驱动器或高清晰度DVD(HD-DVD)驱动器等本地光驱、本地存储器或远程宽带源。在本说明性示例中,VCP 310包括一个或多个媒体处理器1,2...N,如由图3中的元素304和306所指示的。媒体处理器304和306处理所接收的通常包括音频和视频的媒体流,以解码并呈现作为音频/视频流在线路325上输出的对应的图像和声音。音频/视频流325可以表示多个视频元素,例如用于使用“画中画”类型配置来呈现多个单独的视频窗口。
媒体处理器304和306各自包括媒体源接口、多路分解器和解码器。媒体处理器304和306也可任选地包括解密能力。显示设备355被耦合以接收并显示音频/视频流。
利用媒体时钟312,使得每一接收到的媒体具有相关联的“媒体时间”。当在交互式媒体播放器305上暂停一视频流时,媒体时钟312也被暂停。当视频流被用户设置成比实时快或慢地行进时(例如,当视频流被置于快进、回退或慢动作模式时-对这些模式中任一个的使用被称为“特效播放”),则媒体时钟312相应地加速或减慢。因此,媒体时间从媒体时钟以及媒体处理器304和306的操作中得到。媒体时间通过线路315被传递到ICP 335中的播放列表管理器337。交互式媒体环境中的时间,包括媒体时间通常以“报时信号(tick)”来计数。
ICP 335执行所有应用程序相关处理,并且可从可用硬件、软件、固件或其组合来实现的若干组件中安排。ICP 335的组件包括,例如标记引擎、脚本语言解释器以及XML解析组件(未示出)。ICP 335在线路321上输出与视频/音频流325同步的图形流。混合器338取线路321上的图形流以及线路325上的音频/视频流,使得图形在视频流上的图形层中呈现以实现对用户的交互式媒体会话。
在大多数设置中,ICP 335输出在逐帧的基础上与视频流同步的图形。然而,这一同步可使用其它基础来执行,包括例如时间(包括如以下定义的标题时间和媒体时间)、视频中的内容、或嵌入在视频中的用于指示或标记流中的特定点的其它元数据。
ICP 335包括播放列表管理器337和任务管理器330。播放列表管理器337负责控制环境中的演示对象。这些对象包括播放器305上的视频回放以及运行以生成交互式图形的应用程序。播放列表管理器337管理以上在伴随图2的文本中描述的播放列表290。
播放列表管理器337还计算与媒体流中的内容的每一部分相关联的“标题时间”。标题是视频和音频内容的唯一序列,它具有通常由DVD作者定义的开始和结束时间。然而,这一作者定义的标题可以是任意的。由此,视频中察觉到的特定内容可以是一个标题的一部分、一个完整标题或跨多个标题运行。
标题的一个示例是美国在所有模拟和数字形式的预录制视频之前的版权警告。DVD上有特色的吸引人的东西(例如,主电影)是另一示例,且通常是最长的标题。在某些设置中,电影中的各个章节可能被DVD作者指定为单独的标题。对于所有这些标题,标题时间被定义为如在媒体时钟312上所示的自从给定标题开始播放以来已经过的时间。
演示时钟360在线路362上耦合到播放列表管理器。演示时钟360是其时间以与真实世界时钟相同的步调改变的时钟(即,演示时钟360花费一秒的真实时间来前进一秒)。与媒体时钟312形成对比,演示时钟360从不停止,并且不能被加速或减慢。来自演示时钟360的演示时间被传递到任务管理器330,后者使用它来计算“应用程序时间”和应用程序“页时间”。
应用程序时间是自从应用程序启动(或如以下更详细描述地进入“活动”状态)以来已经过的时间。当多个应用程序在运行时,每一应用程序具有其自己的应用程序时间的观念。对于每一应用程序,应用程序时间总是在应用程序在环境中启动时从零开始。
例如,如果应用程序App1在20个任意时间单位的演示时间(对App1是0时间单位)处开始,并且应用程序App2在25个时间单位的演示时间(对App2是0时间单位)处开始,则在35个时间单位的演示时间处,App1的应用程序时间是15个时间单位,而App2的应用程序时间是10个时间单位。对于在逻辑上被细分成页的应用程序,页时间是自从应用程序的页被加载以来已经过的时间。
图4是第二说明性媒体播放器405的框图,它包括ICP 435、VCP 410和混合器439。说明性媒体播放器405在形式和功能上类似于图3所示的交互式媒体播放器305。然而,要注意,VCP 435包括被安排成向混合器439提供单独的馈送425和427的媒体处理器1,2...N(如由图4中的元素404和406所指示的)。这种安排在对个别媒体流的操纵在混合之前执行的某些设置中是合乎需要的。例如,诸如对媒体流中的视频的扫视和缩放等图像处理/选择技术可以在由图4中的参考标号425和427所表示的N个单独馈送中的一个或多个上实现。
音频/视频馈送425和427以及来自ICP 435的同步图形流在混合器439中混合,并在线路441上输出到显示设备455。图4中的其它元素,包括ICP 435(包括播放列表管理器437和任务管理器430)、VCP 410中的媒体时钟412以及演示时钟460以与其在图3中示出并在相应的文本中描述的对应物相似的方式来配置和运作。
图5是说明性安排500的框图,它具有分别由参考标号510、515和518指示的多个事件队列1,2...N,以及单个应用程序线程523。在这一说明性安排中,运行在ICP(诸如图4中的ICP 435)上的所有应用程序都是单线程的,并且应用程序线程523专用于这一目的。然而,ICP 435本身不必是单线程的。在替换实现中,ICP 435可以利用其它线程,例如用于将资源预取到高速缓存中。
事件队列510、515和518中的每一个被安排成从其头端(位于图5的右侧)馈入应用程序线程523。分别由参考标号527、530和532指示的多个应用程序App1,App2...AppN被安排成将分别由参考标号535指示的工作项从队列尾端(在图5的左侧)置入队列510、515和518中。
应用程序事件是由应用程序激发的事件。这些可包括由脚本(例如,图1中的脚本主机115)或标记(例如,图1中的标记120)激发的事件。在大多数情形中,应用程序事件仅由脚本来处理。然而,应用程序527、530和532不直接调用脚本或标记功能。相反,所有这些功能都以工作项的形式被置入应用程序各自的事件队列中,并在应用程序线程523处理该工作项时被调用。
在替换安排中,来自除应用程序之外的源的事件也使用事件队列来调度。例如,用户事件通过用户与遥控器的交互来激发。系统事件是由诸如图4所示并在相应的文本中描述的播放器405等交互式媒体播放器激发的事件。
事件队列510、515和518中的每一工作项包含如图5所示的字段。这些字段包括应用程序关联字段540、方法字段545、开始时间(BeginTime)字段552、结束时间(EndTime)字段555以及可任选的时钟选择器(ClockSelector)字段558。
应用程序关联字段540指示向其应用工作项的特定应用程序。方法字段545包含当该工作项由应用程序线程523处理时调用的方法。方法字段545还包括用于该方法的自变量。
开始时间字段552和结束时间字段555分别用于指示该工作项的方法何时开始和结束。在该说明性示例中,时间是使用应用程序时间来表达的。然而,在替换示例中,开始时间字段552和结束时间字段555包含取决于特定设置的要求可替换地用标题时间、应用程序时间或页时间来表达的值。在这些情况下,由工作项使用的特定时间帧在时钟选择器字段558中指示。不论所利用的时间帧是什么,工作项的开始时间必定总是小于结束时间。
图6是示出其中包含的工作项的排序的事件队列515的框图。图6中为便于清晰说明起见没有示出其它事件队列510和518(图5)。然而,以下描述的排序方法同样适用于这些其它事件队列。
事件队列515包括如分别由参考标号605、610、615和620指示的工作项1、2、3…N。每一工作项包括图5所示并在相应的文本中描述的字段。
工作项605包括开始时间1以及相关联的插入到事件队列515中的插入时间t1,如由图6中的框630所指示的。类似地,工作项610包括开始时间2,以及相关联的插入到事件队列515中的插入时间t2,如在框635中所指示的。工作项615包括开始时间3,以及相关联的插入到事件队列515中的插入时间t3,如在框640中所指示的。并且,工作项620包括开始时间N,以及相关联的插入到事件队列515中的插入时间tN,如在框645中指示的。
在该说明性示例中,工作项在事件队列515中首先按照开始时间,然后按照工作项被插入到事件队列中的时间来排序。这种排序导致应用程序线程523按照开始时间的顺序来处理工作项,或者当两个工作项具有相同的开始时间时,按照FIFO(先进先出)的顺序来处理。
由此,当工作项620位于事件队列515的头部时,暗示了开始时间N<开始时间3;或者如果开始时间N=开始时间3,则tN<t3(即,工作项620在工作项615之前插入到事件队列515中)。根据这一相同的推导,对于工作项605、610和615,则:
开始时间3<开始时间2
或者如果开始时间3=开始时间2,则t3<t2;并且
开始时间2<开始时间1
或者如果开始时间2=开始时间1,则t2<t1
事件队列中对工作项的排序使用两种替代方法来执行:工作项可在被插入到事件队列时或者在处理之前从事件队列中提取工作项时排序。任一安排都同样可用,只要对来自事件队列的工作项的处理是按照开始时间然后按照队列插入时间来执行的。
图7是一说明性安排的框图,其中应用程序线程523将两个工作项705和715自动插入到事件队列515的尾部。为便于清晰说明起见,图7中未示出其它事件队列510和518(图5)。然而,如下所述的应用程序线程对工作项的自动插入同样适用于这些其它事件队列。如图所示,自动插入的工作项705和715在事件队列515中跟在工作项605和620后面。在一个说明性示例中,两个工作项的自动插入是在应用程序启动并且在每一报时信号之后重新调度工作项时执行的。
工作项705包括对标记引擎(例如,图4的ICP 435中设置的标记引擎)的调用以处理对应用程序App2 530中的页的定时,如框730所示。在框735中,工作项715包括对标记的调用以使应用程序App2的标记回流来反映已处理的事件然后在显示设备(例如,图4中的显示器455)上呈现标记。工作项705和715总是在应用程序的报时信号中由应用程序线程523最后处理的工作项。
图8是用于对在交互式媒体环境中发生的事件相关联的工作项排队的说明性方法的流程图。在采用单个应用程序线程的事件排队的说明性示例中,该方法由图4-7所示并在相应的文本中描述的安排来执行。所示的方法通常对每一报时信号迭代地执行。
图8是用于对在交互式媒体环境中发生的事件相关联的工作项排队的方法的流程图。在采用单个应用程序线程的事件排队的说明性示例中,该方法由图4-7所示并在相应的文本中描述的安排来执行。所示的方法通常对每一报时信号迭代地执行。
该过程在框805处开始。在框810处,当应用程序线程523(图5-7)能够自由处理工作项时,它首先标记事件队列中其开始时间对应于当前或先前的报时信号的每一工作项。应用程序线程523仅处理所标记的工作项。由此,事件队列515中的工作项从不在其开始时间之前处理。
在判别框816处,如果所标记的工作项的结束时间已经过去,则如框819中所指示地,从事件队列515中丢弃该工作项。在这一情况下,将不执行对该工作项的任何处理。万一应用程序App2 530重新加载其页,则该应用程序的页时钟被复位为零,并且基于该应用程序的页时钟的所有未决(即,排队)的工作项如同它们已到达其结束时间那样从事件队列丢弃。
如果在判别框816处,所标记的工作项的结束时间还未过去,则控制被传递到框822,并且应用程序线程523处理该工作项。如上在描述附图6时所述的,每一工作项按照来自事件队列515的顺序来处理:首先按照开始时间,然后按照每一工作项被插入到事件队列515中的时间。
重复事件和一次性(即,单次发生、非重复)事件都使用图8所示的方法来管理。重复事件可包括其中相关联的工作项具有等于下一调度的开始时间的结束时间的周期性事件。即,每一周期性事件具有等于该事件的周期的持续时间。
周期性事件通常包括如定时器事件和应用程序绘制事件等事件。例如,如果应用程序的脚本(例如,在图1中的脚本主机115中)创建将每10秒回叫的定时器,则它将向事件队列515添加一开始时间等于当前事件加上10秒的定时器工作项。结束时间将被设为开始时间加上10秒。一旦定时器工作项在事件队列515外执行,则开始时间和结束时间将通过增加另外的10秒来调整,并且工作项基于新的开始时间在适当的位置上被重新插入到事件队列515中。
周期性事件在只要可能的时候就被调用。但是,如果它们不能由应用程序线程523在其相关联的工作项中的结束时间期满之前被处理,则该特定调用被丢弃,并且用一新的工作项调度下一调用。
有利的是,该事件排队方法允许参数可被传递到定时器事件以指示要调用该事件的时间。该参数必须与相关联的工作项中的开始时间相同。如上所述,与周期性定时器事件相关联的脚本可能不是精确地在调用时间上运行。然而,由于每一工作项包括指定该方法的自变量的方法字段545(图5),因此该自变量的值将反映预期的调用时间而非实际时间。因此,用于定时器事件的处理程序将知道它正在处理什么时间(即,报时信号)。
一次性事件具有带不定(INFINITE)结束时间的相应的工作项。因此,一次性事件从不被从事件队列515中丢弃。例如,如果一次性事件是输入事件,则该事件的处理程序作为事件队列515中带不定结束时间的工作项来调度。
如框822中所指示的,处理是在已提交的基础上执行的。即,一旦应用程序线程523开始处理来自事件队列515的工作项,它不会停止处理。例如,可以长时间运行的脚本不会被异常中止,异常也不会被注入到脚本中以将其抛出。尽管这一模式可能在应用程序线程处理脚本时使应用程序停滞,但是如上所述,ICP(例如,图4中的ICP 435)可被安排成包括在提交的工作项处理期间继续运行的其它线程。在替换安排中,可能期望以使得新事件基于其相对开始时间被插入到事件队列515中以在提交的工作项之后处理的方式来处理工作项。
在框830处,在所标记的工作项的处理期间创建的任何新的工作项在所标记的工作项之后被插入到事件队列515中,而不论其开始时间如何。标记工作项、提交它们以及在事件队列中在提交的工作项之后插入新工作项的过程(如框810、822和830所示)确保应用程序总是能够负担某些可见的进展。
如图8中的框835和828处所指示的,应用程序线程对每一报时信号自动将两个工作项插入到每一应用程序事件队列中,如图7所示并在相应文本中描述的。这些工作项调用每一应用程序的标记引擎以评估应用程序定时,然后回流并在显示设备上呈现标记。如上所述,工作项在应用程序启动时被插入,并且在每一报时信号之后被重新调度。另外,这两个工作项总是对一个应用程序报时信号要处理的最后两个工作项,并且作为可从事件队列515中丢弃的周期性事件来处理。
注意,为清晰且易于说明起见,在以上描述中,数据、程序以及诸如操作系统等其它可执行程序组件被示为离散的块、框或其它元素,但可以认识到并强调,这些程序和组件可在不同的时刻驻留在所使用的任何硬件主机的不同存储、存储器或处理组件中,并由这些主机硬件中的一个或多个处理器执行。
尽管示出并描述了用于在交互式媒体环境中管理应用程序状态的各种说明性安排和方法,但是应当理解,所附权利要求书的范围不必限于所描述的具体特征、安排或方法。相反,这些具体特征、安排或方法是作为以下更特别地要求保护的在交互式媒体环境中实现受管应用程序状态的说明性形式来公开的。

Claims (8)

1.一种管理对与在交互式媒体环境中发生的重复性和非重复性事件相关联的工作项的处理的方法,每一所述工作项具有包括开始时间和结束时间的时间戳,其特征在于,所述方法包括以下步骤:
按照开始时间,然后按照进入到事件队列的进入时间来对所述事件队列(515)中的工作项排序;
按序并在提交的基础上处理来自所述事件队列(515)的多个工作项,使得与已处理的工作项相关联的事件在对所述多个工作项的处理终止之前被处理;
将与在所述处理期间发生的新事件相关联的工作项插入到所述事件队列的尾端;以及
仅从所述事件队列(515)丢弃与重复性事件相关联的工作项,
其中每一事件队列被安排成馈送至同一应用程序线程。
2.如权利要求1所述的方法,其特征在于,所述重复性事件是周期性事件。
3.如权利要求2所述的方法,其特征在于,所述周期性事件是由结束时间等于下一已调度开始时间的工作项来表示的。
4.如权利要求1所述的方法,其特征在于,所述排序是在将工作项插入到所述事件队列(515)期间执行的。
5.如权利要求1所述的方法,其特征在于,所述排序是在从所述事件队列(515)中提取工作项期间执行的。
6.如权利要求1所述的方法,其特征在于,还包括将工作项插入到事件队列(515)中以调用交互式媒体应用程序中的标记引擎来评估定时改变(730)的步骤。
7.如权利要求1所述的方法,其特征在于,还包括将工作项插入到所述事件队列(515)中以调用交互式媒体应用程序中的标记引擎来回流交互式媒体应用程序中的标记并在显示设备上呈现所述标记的步骤。
8.如权利要求7所述的方法,其特征在于,在所述交互式媒体环境中使用一报时信号序列来对时间计数,并且在每一报时信号中最后处理插入的工作项。
CN2010101651393A 2005-07-01 2006-06-22 在交互式媒体环境中将事件排队的方法 Expired - Fee Related CN101833474B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US69594405P 2005-07-01 2005-07-01
US60/695,944 2005-07-01
US11/351,085 2006-02-09
US11/351,085 US8656268B2 (en) 2005-07-01 2006-02-09 Queueing events in an interactive media environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2006800243007A Division CN101213503B (zh) 2005-07-01 2006-06-22 在交互式媒体环境中将事件排队

Publications (2)

Publication Number Publication Date
CN101833474A CN101833474A (zh) 2010-09-15
CN101833474B true CN101833474B (zh) 2012-01-11

Family

ID=37591410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101651393A Expired - Fee Related CN101833474B (zh) 2005-07-01 2006-06-22 在交互式媒体环境中将事件排队的方法

Country Status (6)

Country Link
US (1) US8656268B2 (zh)
EP (1) EP1899791A4 (zh)
JP (2) JP2009503630A (zh)
KR (1) KR101265938B1 (zh)
CN (1) CN101833474B (zh)
WO (1) WO2007005316A2 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941522B2 (en) * 2005-07-01 2011-05-10 Microsoft Corporation Application security in an interactive media environment
US7721308B2 (en) 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US8108787B2 (en) * 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US8020084B2 (en) 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8305398B2 (en) 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US8195033B2 (en) * 2008-02-22 2012-06-05 Kabushiki Kaisha Square Enix Video creating system and program product for creating video
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US8949582B2 (en) * 2009-04-27 2015-02-03 Lsi Corporation Changing a flow identifier of a packet in a multi-thread, multi-flow network processor
CN101772212B (zh) * 2009-12-25 2013-06-12 中兴通讯股份有限公司 一种在移动终端上对多应用进行统一管理的方法及装置
CN109992380B (zh) * 2017-12-29 2021-06-08 Oppo广东移动通信有限公司 应用程序处理方法和装置、电子设备、计算机可读存储介质
JP7530286B2 (ja) 2020-12-24 2024-08-07 三協立山株式会社 建具
CN113222377A (zh) * 2021-04-29 2021-08-06 上海天好信息技术股份有限公司 基于实时音视频技术的在线人工坐席资源动态调度方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329791A (zh) * 1998-12-03 2002-01-02 雷德福格有限公司 交互式媒体系统
CN1419785A (zh) * 2000-03-31 2003-05-21 联合视频制品公司 显示暂停时间内容的交互式媒体系统和方法
US20040034795A1 (en) * 2001-04-30 2004-02-19 Anderson Mark Stephen Event handling system

Family Cites Families (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5195092A (en) 1987-08-04 1993-03-16 Telaction Corporation Interactive multimedia presentation & communication system
US5208745A (en) * 1988-07-25 1993-05-04 Electric Power Research Institute Multimedia interface and method for computer system
AU2010192A (en) 1991-05-21 1992-12-30 Videotelecom Corp. A multiple medium message recording system
JP2512250B2 (ja) * 1991-09-13 1996-07-03 松下電器産業株式会社 動画表示ワ―クステ―ション
US5394547A (en) * 1991-12-24 1995-02-28 International Business Machines Corporation Data processing system and method having selectable scheduler
US5452435A (en) * 1993-03-31 1995-09-19 Kaleida Labs, Inc. Synchronized clocks and media players
US5515490A (en) 1993-11-05 1996-05-07 Xerox Corporation Method and system for temporally formatting data presentation in time-dependent documents
US5574934A (en) * 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
JP2701724B2 (ja) * 1993-12-28 1998-01-21 日本電気株式会社 シナリオ編集装置
USRE44685E1 (en) * 1994-04-28 2013-12-31 Opentv, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system, and method and system to order an item using a distributed computing system
US6122433A (en) * 1994-10-20 2000-09-19 Thomson Licensing S.A. HDTV trick play stream derivation for VCR
US5717468A (en) * 1994-12-02 1998-02-10 International Business Machines Corporation System and method for dynamically recording and displaying comments for a video movie
JP3701051B2 (ja) * 1995-07-04 2005-09-28 パイオニア株式会社 情報記録装置及び情報再生装置
US5659539A (en) * 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
JP3471526B2 (ja) * 1995-07-28 2003-12-02 松下電器産業株式会社 情報提供装置
US5966121A (en) 1995-10-12 1999-10-12 Andersen Consulting Llp Interactive hypervideo editing system and interface
US5760780A (en) 1996-01-31 1998-06-02 Hewlett-Packard Company Computer graphics system using caching of pixel Z values to improve rendering performance
US5631694A (en) * 1996-02-01 1997-05-20 Ibm Corporation Maximum factor selection policy for batching VOD requests
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
JP3617887B2 (ja) 1996-10-14 2005-02-09 シャープ株式会社 撮像装置
US5949410A (en) * 1996-10-18 1999-09-07 Samsung Electronics Company, Ltd. Apparatus and method for synchronizing audio and video frames in an MPEG presentation system
US5877763A (en) * 1996-11-20 1999-03-02 International Business Machines Corporation Data processing system and method for viewing objects on a user interface
US6128712A (en) 1997-01-31 2000-10-03 Macromedia, Inc. Method and apparatus for improving playback of interactive multimedia works
US6069633A (en) * 1997-09-18 2000-05-30 Netscape Communications Corporation Sprite engine
US6100881A (en) 1997-10-22 2000-08-08 Gibbons; Hugh Apparatus and method for creating interactive multimedia presentation using a shoot lost to keep track of audio objects of a character
US5956026A (en) * 1997-12-19 1999-09-21 Sharp Laboratories Of America, Inc. Method for hierarchical summarization and browsing of digital video
US6665835B1 (en) * 1997-12-23 2003-12-16 Verizon Laboratories, Inc. Real time media journaler with a timing event coordinator
US6453459B1 (en) 1998-01-21 2002-09-17 Apple Computer, Inc. Menu authoring system and method for automatically performing low-level DVD configuration functions and thereby ease an author's job
US6385596B1 (en) * 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US6426778B1 (en) * 1998-04-03 2002-07-30 Avid Technology, Inc. System and method for providing interactive components in motion video
US6067638A (en) 1998-04-22 2000-05-23 Scientific Learning Corp. Simulated play of interactive multimedia applications for error detection
KR20010022752A (ko) * 1998-06-11 2001-03-26 요트.게.아. 롤페즈 디지털 비디오 레코더용 트릭 플레이 신호 발생
US6212595B1 (en) * 1998-07-29 2001-04-03 International Business Machines Corporation Computer program product for fencing a member of a group of processes in a distributed processing environment
US20030025599A1 (en) * 2001-05-11 2003-02-06 Monroe David A. Method and apparatus for collecting, sending, archiving and retrieving motion video and still images and notification of detected events
US6715126B1 (en) * 1998-09-16 2004-03-30 International Business Machines Corporation Efficient streaming of synchronized web content from multiple sources
JP3961693B2 (ja) 1998-09-28 2007-08-22 株式会社東芝 映像表示装置
US6927783B1 (en) 1998-11-09 2005-08-09 Broadcom Corporation Graphics display system with anti-aliased text and graphics feature
GB2344453B (en) * 1998-12-01 2002-12-11 Eidos Technologies Ltd Multimedia editing and composition system having temporal display
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6384846B1 (en) 1998-12-11 2002-05-07 Hitachi America Ltd. Methods and apparatus for rendering multiple images using a limited rendering resource
GB2344925A (en) 1998-12-16 2000-06-21 Memory Corp Plc Optical storage disc storing compressed and uncompressed data
US6430570B1 (en) * 1999-03-01 2002-08-06 Hewlett-Packard Company Java application manager for embedded device
WO2000062533A1 (en) 1999-03-30 2000-10-19 Tivo, Inc. Television viewer interface system
US6711620B1 (en) 1999-04-14 2004-03-23 Matsushita Electric Industrial Co. Event control device and digital broadcasting system
US6340977B1 (en) 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US6369830B1 (en) * 1999-05-10 2002-04-09 Apple Computer, Inc. Rendering translucent layers in a display system
US6629150B1 (en) * 1999-06-18 2003-09-30 Intel Corporation Platform and method for creating and using a digital container
US6772413B2 (en) * 1999-12-21 2004-08-03 Datapower Technology, Inc. Method and apparatus of data exchange using runtime code generator and translator
US20040220926A1 (en) 2000-01-03 2004-11-04 Interactual Technologies, Inc., A California Cpr[P Personalization services for entities from multiple sources
AU2773301A (en) * 2000-01-06 2001-07-16 Hd Media, Inc. System and method for distributing and controlling the output of media in publicspaces
US20020157103A1 (en) * 2000-01-07 2002-10-24 Deyang Song Method for digital media playback in a broadcast network
US8117644B2 (en) 2000-01-07 2012-02-14 Pennar Software Corporation Method and system for online document collaboration
US20050251732A1 (en) * 2000-01-20 2005-11-10 Interactual Technologies, Inc. System, method and article of manufacture for executing a multimedia event on a plurality of client computers using a synchronization host engine
US7367042B1 (en) 2000-02-29 2008-04-29 Goldpocket Interactive, Inc. Method and apparatus for hyperlinking in a television broadcast
CA2340144A1 (en) 2000-03-09 2001-09-09 Ethereal Minds, Inc. System and method for pre-loading still imagery data in an interactive multimedia presentation environment
US7725812B1 (en) * 2000-03-31 2010-05-25 Avid Technology, Inc. Authoring system for combining temporal and nontemporal digital media
US6628283B1 (en) 2000-04-12 2003-09-30 Codehorse, Inc. Dynamic montage viewer
DE10021286B4 (de) 2000-05-02 2005-03-10 Kara Can Verfahren und Vorrichtung zur Kompression und/oder Dekompression von Daten
US6505153B1 (en) * 2000-05-22 2003-01-07 Compaq Information Technologies Group, L.P. Efficient method for producing off-line closed captions
US7669238B2 (en) * 2000-06-21 2010-02-23 Microsoft Corporation Evidence-based application security
US7131143B1 (en) * 2000-06-21 2006-10-31 Microsoft Corporation Evaluating initially untrusted evidence in an evidence-based security policy manager
KR100424481B1 (ko) * 2000-06-24 2004-03-22 엘지전자 주식회사 디지털 방송 부가서비스 정보의 기록 재생장치 및 방법과그에 따른 기록매체
US8495679B2 (en) * 2000-06-30 2013-07-23 Thomson Licensing Method and apparatus for delivery of television programs and targeted de-coupled advertising
US7350204B2 (en) * 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
JP2004507172A (ja) * 2000-08-16 2004-03-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチメディアアプリケーションを再生する方法
US6785729B1 (en) * 2000-08-25 2004-08-31 International Business Machines Corporation System and method for authorizing a network user as entitled to access a computing node wherein authenticated certificate received from the user is mapped into the user identification and the user is presented with the opprtunity to logon to the computing node only after the verification is successful
AU2001224098A1 (en) 2000-08-25 2002-03-04 4C Soft Inc Electronic study method using multimedia
US6967725B2 (en) * 2000-10-13 2005-11-22 Lucent Technologies Inc. System and method for optical scanning
US7200357B2 (en) 2000-10-20 2007-04-03 Universal Electronics Inc. Automotive storage and playback device and method for using the same
US20020099738A1 (en) 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
US7210037B2 (en) 2000-12-15 2007-04-24 Oracle International Corp. Method and apparatus for delegating digital signatures to a signature server
US6728681B2 (en) 2001-01-05 2004-04-27 Charles L. Whitham Interactive multimedia book
US6792426B2 (en) 2001-01-10 2004-09-14 International Business Machines Corporation Generic servlet for browsing EJB entity beans
US6500188B2 (en) * 2001-01-29 2002-12-31 Ethicon Endo-Surgery, Inc. Ultrasonic surgical instrument with finger actuator
US6738911B2 (en) 2001-02-02 2004-05-18 Keith Hayes Method and apparatus for providing client-based network security
US20020138593A1 (en) 2001-03-26 2002-09-26 Novak Michael J. Methods and systems for retrieving, organizing, and playing media content
US20020188616A1 (en) 2001-06-07 2002-12-12 Chinnici Roberto R. Database access bridge system and process
EP1407349A4 (en) * 2001-07-06 2004-10-13 Genie Australia Pty Ltd E SOFTWARE APPLICATION EXECUTION METHOD AND SYSTEM
US6565153B2 (en) * 2001-07-31 2003-05-20 Johnson Controls Technology Corporation Upper back support for a seat
EP1286349A1 (en) * 2001-08-21 2003-02-26 Canal+ Technologies Société Anonyme File and content management
US6920613B2 (en) * 2001-08-27 2005-07-19 Xerox Corporation Video/text bi-directional linkage for software fault clearance applications
FR2829644A1 (fr) 2001-09-10 2003-03-14 St Microelectronics Sa Procede securise de transmission de donnees multimedia
JP3852568B2 (ja) * 2001-09-11 2006-11-29 ソニー株式会社 マルチメディアプレゼンテーション作成装置および方法
US7356763B2 (en) * 2001-09-13 2008-04-08 Hewlett-Packard Development Company, L.P. Real-time slide presentation multimedia data object and system and method of recording and browsing a multimedia data object
US7161599B2 (en) 2001-10-18 2007-01-09 Microsoft Corporation Multiple-level graphics processing system and method
US20040205479A1 (en) * 2001-10-30 2004-10-14 Seaman Mark D. System and method for creating a multimedia presentation
US20030152904A1 (en) * 2001-11-30 2003-08-14 Doty Thomas R. Network based educational system
US6925499B1 (en) * 2001-12-19 2005-08-02 Info Value Computing, Inc. Video distribution system using disk load balancing by file copying
WO2003062969A1 (en) 2002-01-24 2003-07-31 Activcard Ireland, Limited Flexible method of user authentication
US20030142137A1 (en) * 2002-01-28 2003-07-31 International Business Machines Corporation Selectively adjusting the order of windows in response to a scroll wheel rotation
TWI247295B (en) 2002-03-09 2006-01-11 Samsung Electronics Co Ltd Reproducing method and apparatus for interactive mode using markup documents
US7127700B2 (en) * 2002-03-14 2006-10-24 Openwave Systems Inc. Method and apparatus for developing web services using standard logical interfaces to support multiple markup languages
US20030182364A1 (en) * 2002-03-14 2003-09-25 Openwave Systems Inc. Method and apparatus for requesting and performing batched operations for web services
US7496845B2 (en) * 2002-03-15 2009-02-24 Microsoft Corporation Interactive presentation viewing system employing multi-media components
US7080043B2 (en) * 2002-03-26 2006-07-18 Microsoft Corporation Content revocation and license modification in a digital rights management (DRM) system on a computing device
JP2003284003A (ja) 2002-03-27 2003-10-03 Sanyo Electric Co Ltd デジタル映像信号再生装置
JP4436617B2 (ja) 2002-04-26 2010-03-24 パナソニック株式会社 逆多重化装置
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7496599B2 (en) 2002-04-30 2009-02-24 Microsoft Corporation System and method for viewing relational data using a hierarchical schema
US6928619B2 (en) * 2002-05-10 2005-08-09 Microsoft Corporation Method and apparatus for managing input focus and z-order
KR100866790B1 (ko) * 2002-06-29 2008-11-04 삼성전자주식회사 인터렉티브 모드에서의 포커싱 방법 및 그 장치
US20040034622A1 (en) * 2002-08-13 2004-02-19 Espinoza Danny Javier Applications software and method for authoring and communicating multimedia content in a multimedia object communication and handling platform
US7290057B2 (en) * 2002-08-20 2007-10-30 Microsoft Corporation Media streaming of web content data
US7038581B2 (en) * 2002-08-21 2006-05-02 Thomson Licensing S.A. Method for adjusting parameters for the presentation of multimedia objects
US20040107179A1 (en) * 2002-08-22 2004-06-03 Mdt, Inc. Method and system for controlling software execution in an event-driven operating system environment
US20040039909A1 (en) * 2002-08-22 2004-02-26 David Cheng Flexible authentication with multiple levels and factors
JP2004086551A (ja) 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd イベント制御装置及び方法
WO2004025651A1 (ja) 2002-09-12 2004-03-25 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法、記録方法
US7519616B2 (en) 2002-10-07 2009-04-14 Microsoft Corporation Time references for multimedia objects
US7840856B2 (en) 2002-11-07 2010-11-23 International Business Machines Corporation Object introspection for first failure data capture
US7580761B2 (en) * 2002-11-15 2009-08-25 Texas Instruments Incorporated Fixed-size cross-correlation computation method for audio time scale modification
KR100484181B1 (ko) * 2002-12-02 2005-04-20 삼성전자주식회사 멀티미디어 문서 저작 장치 및 방법
CA2414053A1 (en) 2002-12-09 2004-06-09 Corel Corporation System and method for manipulating a document object model
US7290263B1 (en) 2002-12-19 2007-10-30 Extreme, Networks, Inc. Method and system for a scriptable command line interface
WO2004063900A2 (en) * 2003-01-10 2004-07-29 Nexaweb Technologies, Inc. System and method for network-based computing
JP2004221900A (ja) 2003-01-14 2004-08-05 Sony Corp 画像情報復号装置及び画像情報復号方法
US7302057B2 (en) * 2003-01-31 2007-11-27 Realnetworks, Inc. Method and process for transmitting video content
US7437659B2 (en) * 2003-02-03 2008-10-14 Microsoft Corporation Automatic correction, and skipping of document design problems based on document types
US20040187157A1 (en) 2003-03-18 2004-09-23 Yen-Hwong Chong Multifunctional integrated multimedia viewer system
US7735104B2 (en) * 2003-03-20 2010-06-08 The Directv Group, Inc. System and method for navigation of indexed video content
US7620301B2 (en) 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
US20040221174A1 (en) 2003-04-29 2004-11-04 Eric Le Saint Uniform modular framework for a host computer system
US6906643B2 (en) * 2003-04-30 2005-06-14 Hewlett-Packard Development Company, L.P. Systems and methods of viewing, modifying, and interacting with “path-enhanced” multimedia
JP2004357275A (ja) * 2003-05-07 2004-12-16 Nec Corp 映像記録装置、記録媒体、映像記録方法及びプログラム
US20040244003A1 (en) * 2003-05-30 2004-12-02 Vidiator Enterprises Inc. Apparatus and method for task scheduling for media processing
US7739715B2 (en) * 2003-06-24 2010-06-15 Microsoft Corporation Variable play speed control for media streams
CN101527863B (zh) 2003-06-30 2011-09-07 松下电器产业株式会社 再现装置、记录方法和再现方法
AU2004258523B2 (en) 2003-07-07 2009-12-10 Irdeto B.V. Reprogrammable security for controlling piracy and enabling interactive content
GB2403697B (en) * 2003-07-09 2006-05-24 Peter Gordon Martin Cycle saddle suspension assembly
KR20050022072A (ko) 2003-08-26 2005-03-07 삼성전자주식회사 인터렉티브 데이터 처리방법 및 장치
CN100459659C (zh) 2003-09-17 2009-02-04 松下电器产业株式会社 应用执行设备、应用执行方法、和集成电路
US7511718B2 (en) * 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer
US7436535B2 (en) 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US8065616B2 (en) * 2003-10-27 2011-11-22 Nokia Corporation Multimedia presentation editor for a small-display communication terminal or computing device
KR101102639B1 (ko) 2003-11-12 2012-01-04 파나소닉 주식회사 기록매체, 재생장치 및 방법, 기록방법, 및 컴퓨터-판독가능한 기록매체
EP2234391A3 (en) 2003-11-12 2017-01-11 Panasonic Corporation Recording medium, playback apparatus and method, recording method, and computer-readable program
JP4507569B2 (ja) 2003-11-19 2010-07-21 ソニー株式会社 情報処理装置および情報処理方法、プログラム、並びに記録媒体
US7882034B2 (en) * 2003-11-21 2011-02-01 Realnetworks, Inc. Digital rights management for content rendering on playback devices
US7681114B2 (en) * 2003-11-21 2010-03-16 Bridgeborn, Llc Method of authoring, deploying and using interactive, data-driven two or more dimensional content
EP1536606A1 (fr) 2003-11-27 2005-06-01 Nagracard S.A. Méthode d'authentification d'applications
BRPI0407057A (pt) * 2003-11-28 2006-01-17 Sony Corp Aparelho de reprodução, método de reprodução, programa de reprodução, e, meio de gravação
US20050128520A1 (en) 2003-12-16 2005-06-16 Jeff Glickman Digital signature protection for software
US20050149729A1 (en) * 2003-12-24 2005-07-07 Zimmer Vincent J. Method to support XML-based security and key management services in a pre-boot execution environment
JP4166707B2 (ja) * 2004-01-20 2008-10-15 パイオニア株式会社 映像内容認識装置、録画装置、映像内容認識方法、録画方法、映像内容認識プログラム、および録画プログラム
US7801303B2 (en) * 2004-03-01 2010-09-21 The Directv Group, Inc. Video on demand in a broadcast network
JP4009634B2 (ja) 2004-03-04 2007-11-21 日本電気株式会社 アクセス制御方法、アクセス制御システム、メタデータ制御機、及び送信系装置
JP2005318472A (ja) * 2004-04-30 2005-11-10 Toshiba Corp 動画像のメタデータ
US7509497B2 (en) * 2004-06-23 2009-03-24 Microsoft Corporation System and method for providing security to an application
US8201191B2 (en) * 2004-06-30 2012-06-12 Time Warner Cable Inc. Apparatus and methods for implementation of network software interfaces
US20060041522A1 (en) * 2004-08-18 2006-02-23 Xerox Corporation. Abstract document management systems and methods
JP4039417B2 (ja) * 2004-10-15 2008-01-30 株式会社日立製作所 記録再生装置
US7593980B2 (en) * 2004-11-30 2009-09-22 Cisco Technology, Inc. Application server system and method
US20060123451A1 (en) * 2004-12-07 2006-06-08 Showtime Networks Inc. Enhanced content in an on-demand environment
EP1900206B1 (en) * 2005-05-18 2010-09-22 Panasonic Corporation Content reproduction apparatus
KR20060125465A (ko) * 2005-06-02 2006-12-06 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 저장방법및 저장장치
US20070006238A1 (en) 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US20070006078A1 (en) 2005-07-01 2007-01-04 Microsoft Corporation Declaratively responding to state changes in an interactive multimedia environment
US7721308B2 (en) 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8305398B2 (en) 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US8656268B2 (en) 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US7500175B2 (en) 2005-07-01 2009-03-03 Microsoft Corporation Aspects of media content rendering
US8108787B2 (en) 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US8020084B2 (en) 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006079A1 (en) 2005-07-01 2007-01-04 Microsoft Corporation State-based timing for interactive multimedia presentations
US7941522B2 (en) 2005-07-01 2011-05-10 Microsoft Corporation Application security in an interactive media environment
US20070174387A1 (en) 2006-01-20 2007-07-26 International Business Machines Corporation Methods and apparatus for implementing real-time collective moderation of collaborative environments
US8495592B2 (en) 2006-11-28 2013-07-23 International Business Machines Corporation Presenting completion progress status of an installer via join points

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329791A (zh) * 1998-12-03 2002-01-02 雷德福格有限公司 交互式媒体系统
CN1419785A (zh) * 2000-03-31 2003-05-21 联合视频制品公司 显示暂停时间内容的交互式媒体系统和方法
US20040034795A1 (en) * 2001-04-30 2004-02-19 Anderson Mark Stephen Event handling system

Also Published As

Publication number Publication date
JP5425322B2 (ja) 2014-02-26
WO2007005316A2 (en) 2007-01-11
JP2009503630A (ja) 2009-01-29
KR20080021722A (ko) 2008-03-07
US20070006233A1 (en) 2007-01-04
US8656268B2 (en) 2014-02-18
KR101265938B1 (ko) 2013-05-20
EP1899791A2 (en) 2008-03-19
WO2007005316A3 (en) 2007-06-21
EP1899791A4 (en) 2009-01-21
JP2013137791A (ja) 2013-07-11
CN101833474A (zh) 2010-09-15

Similar Documents

Publication Publication Date Title
CN101213503B (zh) 在交互式媒体环境中将事件排队
CN101833474B (zh) 在交互式媒体环境中将事件排队的方法
KR101247018B1 (ko) 상호작용 미디어 환경에서 다수의 애플리케이션으로의 입력이벤트 분배
JP4965567B2 (ja) 対話式メディア環境での複数アプリケーションのレンダリングおよび合成
JP5568186B2 (ja) ビデオのコンテキストのポップアップ
CN103891303B (zh) 基于脚本的视频呈现
JP4959695B2 (ja) 対話型マルチメディア・プレゼンテーション管理の同期性
CN102089823B (zh) 多媒体演示系统及方法
JP5015150B2 (ja) 対話式マルチメディア環境の状態変化への宣言式応答
JP5242387B2 (ja) インタラクティブ・メディア環境におけるアプリケーション状態の管理
JP2008545335A5 (zh)
JP2009500911A (ja) サーチ付きのインスタント・メッセージング
JP2009500909A (ja) 対話型マルチメディア・プレゼンテーション管理の同期性
Cheung et al. Content Loading
Navarro et al. MEDIACORE: A MULTIMEDIA INTERFACE COMPOSITION TOOLKIT
Matthews Everything Else

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150522

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150522

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120111

Termination date: 20210622