CN101213540B - 在交互式媒体环境中呈现和合成多个应用程序 - Google Patents

在交互式媒体环境中呈现和合成多个应用程序 Download PDF

Info

Publication number
CN101213540B
CN101213540B CN2006800242080A CN200680024208A CN101213540B CN 101213540 B CN101213540 B CN 101213540B CN 2006800242080 A CN2006800242080 A CN 2006800242080A CN 200680024208 A CN200680024208 A CN 200680024208A CN 101213540 B CN101213540 B CN 101213540B
Authority
CN
China
Prior art keywords
application program
order
application
visual elements
interactive media
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
CN2006800242080A
Other languages
English (en)
Other versions
CN101213540A (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
Priority claimed from US11/352,575 external-priority patent/US8305398B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101213540A publication Critical patent/CN101213540A/zh
Application granted granted Critical
Publication of CN101213540B publication Critical patent/CN101213540B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Abstract

在交互式媒体环境(1250)中,提供了一种模型,其中各自包括零个或多个脚本组件以及零个或多个标记组件的应用程序本身作为具有Z顺序的可视元素被处理。提供了一种资源高效的呈现顺序,其中在交互式媒体环境(1250)中具有焦点(根据其接收用户输入)的应用程序被首先呈现。其余的应用程序按照从顶向下,即相反的Z顺序来呈现(1362)。呈现是通过绘制到与相应的应用程序相关联的一个或多个图形缓冲区(1528)中来执行的。用于应用程序的帧从底向上按照Z顺序从图形缓冲区(1528)中合成(1352),以向显示提供正确外观。

Description

在交互式媒体环境中呈现和合成多个应用程序
相关申请声明
本申请要求2005年7月1日提交的临时申请第60/695,944号的优先权,该临时申请通过引用结合于此。
技术领域
所描述的安排、系统和方法一般涉及交互式媒体,尤其涉及在交互式媒体环境中呈现和合成多个应用程序。
背景
交互式媒体环境一般是在可用处理能力、存储器和对该环境中运行的应用程序可用的其它资源方面受到约束的资源。交互式媒体的一个常见示例是在DVD(数字多功能盘)上编码的视频,其中用户可以与图形菜单或其它控件交互以导航到特定的视频内容或调用被设计到DVD中的特殊特征。
在典型的交互式媒体环境中,诸如图形和菜单等可视元素被给予“Z顺序”,它为显示屏上的元素提供一视觉顺序。Z顺序控制可视元素如何显现为沿从该显示屏向外延伸的假想z轴一个堆叠在另一个上。具有较低Z顺序的可视元素显现为在显示的底部(并且远离观众),而具有较高Z顺序的可视元素显现为在较低Z顺序元素之上(并且因此更接近观众)。
一般而言,当呈现用于显示的可视元素时,首先绘制较低Z顺序的元素,然后是较高Z顺序的元素。较高Z顺序的可视元素因此被绘制在较低Z顺序的元素上,且可能会遮蔽其一部分或全部。这样,显示能正确地显现,其中堆栈中的可视元素具有正确的重叠和相对顺序。然而,这种方法迫使资源聚焦在最底部的可视元素上(因为它们被最先绘制),这可能是低效的。处理能力浪费在绘制低Z顺序的可视元素上,即使这些元素在完全绘出的情形中最终会被较高Z顺序的元素遮挡。这种低效可能会使系统资源负担过重,并且导致诸如视频回放中的中断以及该环境中视频和图形之间的同步等不合需要的播放器行为。
概述
在交互式媒体环境中,提供了一种模型,其中各自包括零个或多个脚本组件以及零个或多个标记文件的应用程序本身作为具有Z顺序的可视元素被处理。利用了一呈现顺序,其中在交互式媒体环境中具有焦点(根据其接收用户事件)的应用程序被首先呈现。然后以从顶向下的顺序,即以相反的Z顺序呈现其余的应用程序。呈现是通过绘制到与相应应用程序相关联的一个或多个图形缓冲区中来执行的。用于应用程序的帧从底向上以Z顺序从图形缓冲区中合成,以向显示提供正确外观。
在各个说明性示例中,回放系统中的导航管理器为运行在该回放系统上的应用程序维护Z顺序。演示引擎将应用程序绘制到应用程序标记中的画布对象上,该画布对象以相反的Z顺序按照应用程序被呈现到相应的图形缓冲区中。图形呈现引擎使用画家(Painter)算法以Z顺序按照应用程序从图形缓冲区中合成帧。应用程序还可调用各种方法以穿过堆叠在其上(即,具有较高Z顺序)的应用程序来可视地将应用程序可视元素从堆栈底部提升,或将元素下压到显示中更低的位置。
有利的是,将应用程序按照相反的Z顺序呈现到图形缓冲区中,之后按照Z顺序来合成显示在包括处理器周期和存储器在内的硬件资源一般受到限制的环境中提供了一种资源高效的模型。给予聚焦应用程序和较高Z顺序的应用程序更自然的优先级,使得在绘制最终可能会被覆盖绘制并遮蔽的较低Z顺序的可视元素时花费更少的资源。
附图简述
图1是示出构成在交互式媒体环境中使用的应用程序的元素的说明性框图;
图2是示出多个标记文档和脚本之间的关系的图示;
图3是包括交互式内容处理器、视频内容处理器和混合器的说明性交互式媒体播放器的框图;
图4是第二说明性交互式媒体播放器的框图;
图5是具有多个事件队列和单个应用程序线程的说明性安排的框图;
图6是一说明性事件队列的框图,它示出了首先按照开始时间,然后按照工作项被插入到事件队列中的时间对工作项的排序;
图7是应用程序线程自动将两个工作项插入到事件队列的结尾处的说明性安排的框图;
图8是用于将与交互式媒体环境中发生的事件相关联的工作项排队的说明性方法的流程图;
图9是在交互式图形合成模型中使用的一组平面的框图;
图10是示出第一说明性应用程序中的可视元素的Z顺序的图示;
图11是示出第二说明性应用程序中的可视元素的Z顺序的图示;
图12是示出具有从图10和11所示的应用程序生成的可视元素的合成显示的图示;
图13是示出其中应用程序按照优先级顺序来呈现并以从底向上的顺序来合成的说明性安排的图示;
图14是其中应用程序以优先级顺序来呈现并以从底向上的顺序来合成的说明性方法的流程图;以及
图15是一说明性回放系统的框图;。
详细描述
参考图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上暂停一视频流时,媒体时钟3 12也被暂停。当视频流被用户设置成比实时快或慢地行进时(例如,当视频流被置于快进、回退或慢动作模式时-对这些模式中任一个的使用被称为“特效播放”),则媒体时钟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所示并在相应的文本中描述的安排来执行。所示的方法通常对每一报时信号迭代地执行。
该过程在框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)可被安排成包括在提交的工作项处理期间继续运行的其它线程。
在框830处,在所标记的工作项的处理期间创建的任何新的工作项在所标记的工作项之后被插入到事件队列515中,而不论其开始时间如何。标记工作项、提交它们以及在事件队列中在提交的工作项之后插入新工作项的过程(如框810、822和830所示)确保应用程序总是能够负担某些可见的进展。
如图8中的框835和828处所指示的,应用程序线程对每一报时信号自动将两个工作项插入到每一应用程序事件队列中,如图7所示并在相应文本中描述的。这些工作项调用每一应用程序的标记引擎以评估应用程序定时,然后回流并在显示设备上呈现标记。如上所述,工作项在应用程序启动时被插入,并且在每一报时信号之后被重新调度。另外,这两个工作项总是对一个应用程序报时信号要处理的最后两个工作项,并且作为可从事件队列515中丢弃的周期性事件来处理。
图9是在说明性图形合成模型中用于对显示上的可视元素按照功能和/或来源在逻辑上进行分组的一组图形平面900的图示。图形平面组900包括光标平面905、图形平面912、子图片平面918、子视频平面922以及主视频平面925。光标平面905是图形平面组900中最顶上的(即,用户930觉得最接近的)平面,其中显示如指针等光标对象。其余的平面如由图9中的箭头935所示地按显示的顶部到底部,从左到右排列。
图形平面组900中的所有平面使用一称为画布的公共xy坐标系统。第三维由如图9中的参考标号940所指示地从显示器向外投影的z轴来描述。在交互式媒体环境中运行的应用程序属于特定平面。应用程序不能被显式或任一地分配给平面-关联是根据应用程序的类型来隐式地作出的。例如,字幕应用程序在子图片平面918中呈现,而大多数其它应用程序在图形平面912中呈现。
图形平面912是图形平面组900的第二平面,并且由演示引擎如下所述地生成。如上所述,在交互式媒体环境中生成诸如图形和菜单等交互式内容的应用程序通常被呈现到图形平面912中。
子图片平面918是图形平面组900的第三平面,并且通常用于显示由相应的应用程序产生的字幕和/或文字说明。子视频平面922是图形平面组900中的第四平面,并且通常被用作“画中画”(PIP)安排中的次要视频显示。如由参考标号942所指示的PIP窗口通常小于主视频显示,并且可具有其它不同特性,诸如降低的分辨率、不同的宽高比等等。
主视频平面925是图形平面组900中的第五平面,并且位于平面堆栈的底部。主视频平面925通常用于在交互式媒体环境中显示包括如上在对附图3的描述中描述的视频标题的视频内容。如图9所示,图形平面组900中的所有平面由如下所述的图形呈现引擎混合并合成为单个显示950。
图10是示出称为被AppA的第一说明性应用程序中三个可视元素的Z顺序的图示。要强调的是应用程序内的Z顺序不同于应用程序的Z顺序。即,应用程序生成应用程序内具有Z顺序的可视元素,并且应用程序本身在运行在ICP(主图图4的ICP 435)上的多个应用程序之中是Z排序的。
应用程序AppA生成三个可视元素,包括元素1010(十字形)、元素1020(星)以及元素1030(箭头),它们分别具有如图所示的堆栈排列中的Z顺序0、1和2。由此,对于一组N个元素,一组Z顺序值以针对该堆栈中的最低元素的0处开始,并以针对该堆栈中的最高元素的N-1处结束。元素1010、1020和1030被绘制在显示1045上。图10中的窗口1050如同“从侧面”观看显示1045那样示出了由AppA产生的可视元素的Z顺序。显示1045和窗口1050如由xyz坐标1055所指示地相对于彼此定向。
图11是示出被称为AppB的第二说明性应用程序内的可视元素的Z顺序的图示。应用程序AppB生成三个可视元素,包括元素1110(三角)、元素1020(椭圆)和元素1030(矩形),它们分别具有显示1145上堆栈排列中的Z顺序0、1和2。窗口1150如由xyz坐标1155所指示地以显示1145的侧面视图示出了由AppB产生的可视元素的Z顺序。
图12是示出具有从应用程序AppA和AppB两者生成的可视元素(由参考标号1210共同指示)的合成显示1245的图示。窗口1250提供了显示1245的侧面视图(如由坐标1255所指示的),并示出了应用程序AppA和AppB具有相对于彼此的相对Z顺序。另外,应用程序AppA和AppB各自生成在应用程序内维持其Z顺序的可视元素,如图10和11所示并在相应文本中描述的。
图13是示出说明性安排1300的图示,其中应用程序以优先顺序呈现并以从底向上的顺序合成。安排1300包括显示的侧面视图1350,它如由xyz坐标1355所指示地朝向用户1330定向。在其它说明性排列(图13中未示出)中,呈现是响应于特定设置的要求从底向上(即,按照Z顺序)来执行的。
五个应用程序在交互式媒体环境中运行,包括如分别由参考标号1305、1310、1315、1320和1325指示的AppA、AppB、AppC、AppD和AppE。应用程序如由箭头1352所指示地在窗口1350中按照Z顺序从底向上合成。合成以Z顺序=0的应用程序AppA 1305开始,并以Z顺序=4的应用程序AppD 1325结束。
在该说明性示例中,如在图13所示的时间瞬间处所示,应用程序AppC 1320是产生接收用户输入的可视元素1358的聚焦应用程序。然而,由于在动态环境中运行,具有焦点的特定应用程序通常根据设计随时间变化,并且所有应用程序通常可在视频标题进展时按照Z顺序上下移动(尽管还要强调,应用程序能够在它们运行和操作时,甚至在主视频被停止、暂停或冻结的情况下改变Z顺序)。另外,聚焦应用程序可以位于堆栈中的任何位置(即,具有任何Z顺序)。然而,在许多情况下,聚焦应用程序将朝向显示顺序的顶部,使得它能以与用户期望相一致的方式与用户1330交互并接收诸如按钮按下(例如,从遥控器1332)、鼠标点击等用户事件。
如由箭头1362所指示的,应用程序以优先顺序来呈现,从聚焦应用程序(例如,应用程序AppD 1320)开始,之后按照从顶部向下,即相反的Z顺序呈现其余应用程序。
图14是其中应用程序按照优先顺序呈现并按照从底向上的顺序合成的说明性方法的流程图。该方法在框1405处开始。在框1412处,如上所述,对运行在交互式媒体环境中的应用程序维护Z顺序。对与特定视频标题相关联的应用程序的初始Z顺序由播放列表290(图2)使用绝对值(例如,1、2、5、7、…87等)来指定。这些绝对值通过使用播放列表词汇排序基于播放列表Z顺序来对所有应用程序排序而立即被转换成相对Z排序,以打破任何捆绑。
在框1415中,允许应用程序在视频标题进展时调用方法来操纵其相对Z排序。这些方法包括,例如:a)将应用程序移至平面内Z顺序的顶部;b)将应用程序移至平面内Z顺序的底部;以及c)将应用程序的Z顺序改为紧靠在显示堆栈中其上方的应用程序上方。
如上所述,应用程序属于特定的平面,这对应用程序通过调用Z顺序操纵方法可以在Z顺序中移动多远施加了限制。例如,调用将字幕应用程序移至顶部的方法将使字幕应用程序成为子图片平面918(图9)中的最顶部应用程序,但是其中生成的可视元素可能仍被由该平面中的应用程序呈现到图形平面912中的可视元素遮蔽(即,遮挡)。类似地,调用将常规交互式应用程序移至底部的方法将使其成为图形平面912中的最底部应用程序,但仍将其留在所有字幕应用程序上方。
在框1416处,应用程序接收提供应用程序的Z顺序被改变的通知的事件。这一通知替换地被安排成在应用程序转换到最顶部应用程序或从最顶部应用程序转换出来时接收。这一通知允许例如游戏应用程序在由菜单生成应用程序产生的菜单移至具有最高Z顺序的位置时暂停其自身。
该说明性方法在框1418处继续,其中来自应用程序的可视元素被呈现到一个或多个图形缓冲区中。在大多数情况下,呈现是按照优先顺序来执行的,以聚焦的应用程序开始,之后从显示的顶部开始向下按照相反的Z顺序呈现其余的应用程序。绘制(即,二维“2D”绘制)通过绘制到应用程序的标记(例如,图1中的标记120)中的“画布”对象上来处理,该对象然后以与呈现PNG(可移植网络图形)文件几乎相同的方式被呈现到图形缓冲区中。
在图14所示的说明性方法中,安排了缓冲步骤,使得应用程序通过将对应于周期性呈现事件的工作项置入相应的应用程序事件队列中来呈现。可用于这一安排的事件队列和相关联的方法在图5-8中示出并在相应的文本中描述。
工作项的放置意味着应用程序帧的呈现要遭受工作项超时。因此,执行对应用程序的双倍缓冲以适应在回放系统中的别处施加优先级的情况下新应用程序帧可能并不总是对每一视频帧呈现的概率。在这一情况下,最近可用的帧将继续被示出,直到完成了一个新的帧。
在框1421处,在合成显示之前,检查每一应用程序以查看它在其标记(例如,图1中的标记120)中是否包括<clearrect>元素。包括这一元素以产生由应用程序产生的图形中的开口(即,“孔”),通过该开口可看见主视频平面925。<clearrect>元素产生一矩形的开口,但是取决于特定设置的要求,也可使用其它规则的几何形状、不规则形状以及其它任意的形状。
诸如<clearrect>等元素以及其它这种产生开口的元素当在方法的框1418中呈现应用程序时不被包括在图形缓冲区中。相反,在合成期间,在Z顺序低于具有<clearrect>元素的应用程序的应用程序中清除孔,使得主视频平面925可通过应用程序中的孔来看见。由于呈现是按照优先化的方式来执行的,因此在将应用程序呈现到缓冲区时实现<clearrect>元素是不切实际的。如果如此实现,并且没有立即更新较低优先级应用程序,则孔可能会不恰当地出现。这例如在改变Z顺序或终止具有<clearrect>元素的应用程序而较低优先级应用程序正在等待更新且同时超时的情况下发生。
在框1425处,如图12所示并在相应文本中描述的,按照Z顺序从底向上合成应用程序。在大多数设置下,可使用简单的画家(Painter)算法,其中每一应用程序的标记使用对每一应用程序最近缓冲的帧来呈现到图形平面912中。另外,如上所述,在合成步骤期间实现<clearrect>或其它产生开口的元素。该说明性方法在框1433处结束。
图15是说明性回放系统1500的框图。导航管理器1505维护运行在交互式媒体环境中的N个应用程序的严格排序。每一应用程序被给予了从0到N-1的Z顺序,且所有应用程序具有唯一的Z顺序。在排序之间没有间隙,并且没有两个应用程序具有相同的Z顺序。Z顺序0出现在显示1512的底部,而Z顺序N-1出现在顶部。当视频标题在时间中进展时,导航管理器1505从由播放列表(例如,图2中的播放列表290)设置的初始Z顺序值开始以动态的方式维护应用程序的Z顺序,如上所述。
导航管理器1505耦合到演示引擎1515和图形呈现引擎1518。在大多数设置中,演示引擎1515被安排成将图形平面组900中的每一平面提供给图形呈现引擎1518,后者执行将平面和其中的应用程序合成到显示1512中。
设置在演示引擎1515和图形呈现引擎1518之间的是分别由参考标号1522、1526和1528指示的一个或多个图形缓冲区1、2、…N。这N个缓冲区被安排成在一对一的基础上映射到相应的应用程序。即,N缓冲区=N应用程序。在替换安排中,对所有应用程序使用单个缓冲区(由参考标号1540指示),或者在不相等的基础上将图形缓冲区映射到应用程序。
注意,为清晰且易于说明起见,在以上描述中,数据、程序以及诸如操作系统等其它可执行程序组件被示为离散的块、框或其它元素,但可以认识到并强调,这些程序和组件可在不同的时刻驻留在所使用的任何硬件主机的不同存储、存储器或处理组件中,并由这些主机硬件中的一个或多个处理器执行。
尽管示出并描述了用于在交互式媒体环境中管理应用程序状态的各种说明性安排和方法,但是应当理解,所附权利要求书的范围不必限于所描述的具体特征、安排或方法。相反,这些具体特征、安排或方法是作为以下更特别地要求保护的在交互式媒体环境中实现受管应用程序状态的说明性形式来公开的。

Claims (20)

1.一种用于合成显示的方法,所述方法包括以下步骤:
为在交互式媒体环境(1250)中运行的多个应用程序中的每一个维护Z顺序,每个应用程序具有零个或多个脚本组件以及一个或多个标记文件,其中所述Z顺序描述了可视元素在所述显示上的相对顺序,在所述多个应用程序中的每一个应用程序中的可视元素的Z顺序与该应用程序的Z顺序不同;
将应用程序呈现到与应用程序相关联的相应图形缓冲区(1528)中,其中所述是现是按照应用程序来执行的,从由于接收用户事件而具有焦点的应用程序开始呈现、并从应用程序的最高到最低Z顺序(1362)来继续呈现所述多个应用程序中的其余应用程序;以及
从所述图形缓冲区中的可视元素合成所述显示,其中对于所述多个应用程序中的每一个应用程序,所述合成是按照应用程序从最低到最高Z顺序(1352)来执行的。
2.如权利要求1所述的方法,其特征在于,在一播放列表(290)中设置初始Z顺序。
3.如权利要求1所述的方法,其特征在于,所述呈现包括使用双倍缓冲安排,使得所呈现的元素在被合成以供显示之前被双倍缓冲。
4.如权利要求1所述的方法,其特征在于,所述交互式媒体环境包括多个显示平面(900),并且所述应用程序被分配为呈现到所述多个显示平面(900)中的一图形平面(912)中。
5.如权利要求1所述的方法,其特征在于,所述交互式媒体环境包括多个显示平面(900),并且所述应用程序被分配为呈现到所述多个显示平面(900)中的一子图片平面(918)中。
6.如权利要求1所述的方法,其特征在于,所述相应图形缓冲区作为其中呈现来自所有应用程序的可视元素的单个图形缓冲区来维护。
7.一种与显示器连接的回放系统,所述回放系统包括:
导航管理器(1505),用于为在一交互式媒体环境中运行的应用程序维护Z顺序,每个应用程序具有零个或多个脚本组件以及一个或多个标记文件,其中所述Z顺序描述了可视元素在所述显示器上的相对顺序,在所述多个应用程序中的每一个应用程序中的可视元素的Z顺序与该应用程序的Z顺序不同;
一个或多个图形缓冲区(1528),用于缓冲由所述应用程序生成的可视元素;
操作上耦合到所述导航管理器的演示引擎(1515),用于按照相反的Z顺序按应用程序将可视元素呈现到所述图形缓冲区中,其中所述呈现是按照应用程序来执行的,从由于接收用户事件而具有焦点的应用程序开始呈现、并继续到所述多个应用程序中的其余应用程序;以及
图形呈现引擎(1518),用于从所述一个或多个图形缓冲区中为所述显示器合成帧图像,其中对于所述多个应用程序中的每一个应用程序,所述合成是按照应用程序以Z顺序来执行的。
8.如权利要求7所述的回放系统,其特征在于,所述合成包括清除Z顺序低于在标记中带有清除开口元素的应用程序的所有应用程序的图形缓冲区内的开口,使得可穿过所述开口看见视频平面(925)。
9.如权利要求8所述的回放系统,其特征在于,所述开口具有选自多种形状之一的形状,这些形状包括矩形、圆形、椭圆形和任意形状。
10.如权利要求7所述的回放系统,其特征在于,所合成的帧图像对每一视频帧包括一应用程序帧。
11.如权利要求10所述的回放系统,其特征在于,所述应用程序帧是在一新应用程序帧不可用时的最近可用的应用程序帧。
12.一种用于为N个应用程序设置绘制顺序的方法,每个应用程序具有零个或多个脚本组件以及一个或多个标记文件,这些应用程序中的每一个能被呈现为显示上的可视元素,所述方法包括以下步骤:
允许一应用程序调用用于操纵该应用程序在所述显示上的Z顺序(1415)的一个或多个方法,其中所述Z顺序描述了所述N个应用程序在所述显示上的相对顺序,并且Z顺序的值选自一由0和N-1界定的集合,在每一个应用程序中的可视元素的Z顺序与该应用程序的Z顺序不同;
将所述多个应用程序呈现到与这些应用程序相关联的相应图形缓冲区中(1418),其中所述呈现以相反的Z顺序、从N-1开始并在0处结束、按照应用程序来执行,其中第N-1个应用程序是由于接收用户事件而具有焦点的应用程序;以及
从图形缓冲区合成显示,其中对于每一个应用程序,所述合成是按照应用程序以Z顺序来执行的。
13.如权利要求12所述的方法,其特征在于,所述呈现是使用被插入到一事件队列(515)中的一个或多个工作项(535)来执行的。
14.如权利要求12所述的方法,其特征在于,还包括当一应用程序的Z顺序改变时向该应用程序提供一通知(1416)的步骤。
15.如权利要求12所述的方法,其特征在于,所述呈现包括绘制到应用程序的标记中的画布对象中。
16.如权利要求15所述的方法,其特征在于,所述画布对象被呈现到所述应用程序的相应图形缓冲区中。
17.如权利要求12所述的方法,其特征在于,还包括使用画家算法从最新近的缓冲区中合成所述显示(1425)的步骤。
18.如权利要求12所述的方法,其特征在于,所述调用的方法包括将一应用程序移至最高的Z顺序。
19.如权利要求12所述的方法,其特征在于,所述调用的方法包括将一应用程序移至最低的Z顺序。
20.如权利要求12所述的方法,其特征在于,所述调用的方法包括将一应用程序移至紧靠在具有比该正在移动的应用程序高一位的Z顺序的应用程序上方的位置。
CN2006800242080A 2005-07-01 2006-06-22 在交互式媒体环境中呈现和合成多个应用程序 Expired - Fee Related CN101213540B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US69594405P 2005-07-01 2005-07-01
US60/695,944 2005-07-01
US11/352,575 US8305398B2 (en) 2005-07-01 2006-02-13 Rendering and compositing multiple applications in an interactive media environment
US11/352,575 2006-02-13
PCT/US2006/024423 WO2007005327A2 (en) 2005-07-01 2006-06-22 Rendering and compositing multiple applications in an interactive media environment

Publications (2)

Publication Number Publication Date
CN101213540A CN101213540A (zh) 2008-07-02
CN101213540B true CN101213540B (zh) 2010-09-08

Family

ID=39612519

Family Applications (11)

Application Number Title Priority Date Filing Date
CN2006800242201A Active CN101371308B (zh) 2005-07-01 2006-06-20 交互式多媒体演示管理的同步方面
CN2006800242752A Expired - Fee Related CN101213607B (zh) 2005-07-01 2006-06-20 交互式多媒体演示管理的同步方面
CN2006800242324A Expired - Fee Related CN101213606B (zh) 2005-07-01 2006-06-20 用于交互式多媒体演示管理的同步系统和方法
CN2006800243030A Expired - Fee Related CN101213609B (zh) 2005-07-01 2006-06-20 播放交互式多媒体演示的方法和系统
CNA2006800242076A Pending CN101213537A (zh) 2005-07-01 2006-06-20 在交互式媒体环境中管理应用程序状态
CN2006800243045A Active CN101657805B (zh) 2005-07-01 2006-06-22 交互式媒体环境中的应用程序安全性
CN2006800242057A Expired - Fee Related CN101288128B (zh) 2005-07-01 2006-06-22 用于安排应用程序响应状态变化的方法
CN2006800242610A Active CN101213502B (zh) 2005-07-01 2006-06-22 在交互式媒体环境中将输入事件分发到多个应用程序
CN2006800243007A Expired - Fee Related CN101213503B (zh) 2005-07-01 2006-06-22 在交互式媒体环境中将事件排队
CN2006800242080A Expired - Fee Related CN101213540B (zh) 2005-07-01 2006-06-22 在交互式媒体环境中呈现和合成多个应用程序
CN2006800243026A Expired - Fee Related CN101213608B (zh) 2005-07-01 2006-06-22 交互式多媒体演示的基于状态的定时

Family Applications Before (9)

Application Number Title Priority Date Filing Date
CN2006800242201A Active CN101371308B (zh) 2005-07-01 2006-06-20 交互式多媒体演示管理的同步方面
CN2006800242752A Expired - Fee Related CN101213607B (zh) 2005-07-01 2006-06-20 交互式多媒体演示管理的同步方面
CN2006800242324A Expired - Fee Related CN101213606B (zh) 2005-07-01 2006-06-20 用于交互式多媒体演示管理的同步系统和方法
CN2006800243030A Expired - Fee Related CN101213609B (zh) 2005-07-01 2006-06-20 播放交互式多媒体演示的方法和系统
CNA2006800242076A Pending CN101213537A (zh) 2005-07-01 2006-06-20 在交互式媒体环境中管理应用程序状态
CN2006800243045A Active CN101657805B (zh) 2005-07-01 2006-06-22 交互式媒体环境中的应用程序安全性
CN2006800242057A Expired - Fee Related CN101288128B (zh) 2005-07-01 2006-06-22 用于安排应用程序响应状态变化的方法
CN2006800242610A Active CN101213502B (zh) 2005-07-01 2006-06-22 在交互式媒体环境中将输入事件分发到多个应用程序
CN2006800243007A Expired - Fee Related CN101213503B (zh) 2005-07-01 2006-06-22 在交互式媒体环境中将事件排队

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2006800243026A Expired - Fee Related CN101213608B (zh) 2005-07-01 2006-06-22 交互式多媒体演示的基于状态的定时

Country Status (3)

Country Link
US (1) US20070006065A1 (zh)
CN (11) CN101371308B (zh)
ZA (1) ZA200711195B (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814412B2 (en) * 2007-01-05 2010-10-12 Microsoft Corporation Incrementally updating and formatting HD-DVD markup
WO2009043033A2 (en) 2007-09-28 2009-04-02 Xcerion Aktiebolag Network operating system
US8010690B2 (en) * 2008-06-26 2011-08-30 Microsoft Corporation Arrangement for connectivity within an advanced multimedia content framework
EP2433229A4 (en) * 2009-05-21 2016-11-30 Vijay Sathya SYSTEM AND METHOD FOR ENABLING THE IDENTIFICATION OF A RIGHT EVENT TONE ACCORDING TO A PUSH-RELATED EVENT
US9513882B2 (en) 2010-04-15 2016-12-06 Microsoft Technology Licensing, Llc Platform independent presentation composition
CN101873311A (zh) * 2010-05-26 2010-10-27 上海动量软件技术有限公司 云构件软件系统基于政策的网络实现配置条款处理的方法
CN102469092B (zh) * 2010-11-18 2016-04-06 卓望数码技术(深圳)有限公司 一种实现手机应用的安全保护机制的方法及系统
US20130127877A1 (en) * 2011-02-28 2013-05-23 Joaquin Cruz Blas, JR. Parameterizing Animation Timelines
CN102521039B (zh) * 2011-12-08 2014-08-13 汉柏科技有限公司 网络通信产品的时间组实现方法及系统
CN103426197A (zh) * 2012-05-17 2013-12-04 上海闻泰电子科技有限公司 一种基于活性边表和辅助数组的逆画家消隐算法
US20140001949A1 (en) * 2012-06-29 2014-01-02 Nitto Denko Corporation Phosphor layer-covered led, producing method thereof, and led device
US9690748B1 (en) * 2012-07-02 2017-06-27 Amazon Technologies, Inc. Delivering notifications to background applications
US20140344702A1 (en) * 2013-05-20 2014-11-20 Microsoft Corporation Adaptive timing support for presentations
CN103354547B (zh) * 2013-06-28 2016-01-20 贵阳朗玛信息技术股份有限公司 控制语音接续的系统及方法
CN103559035B (zh) * 2013-10-31 2016-09-07 青岛海信移动通信技术股份有限公司 一种应用于Android平台的处理事件的方法和装置
US9832538B2 (en) * 2014-06-16 2017-11-28 Cisco Technology, Inc. Synchronizing broadcast timeline metadata
US11537777B2 (en) 2014-09-25 2022-12-27 Huawei Technologies Co., Ltd. Server for providing a graphical user interface to a client and a client
JP6542519B2 (ja) * 2014-09-29 2019-07-10 ロレアル 組成物
CN104244027B (zh) * 2014-09-30 2017-11-03 上海斐讯数据通信技术有限公司 音/视频数据实时传输并共享播放进程的控制方法及系统
US9894126B1 (en) * 2015-05-28 2018-02-13 Infocus Corporation Systems and methods of smoothly transitioning between compressed video streams
US20160373498A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Media-timed web interactions
CN105741630B (zh) * 2016-02-03 2018-11-13 李毅鸥 一种使演示文件具有交互式功能的系统及方法
US10572137B2 (en) * 2016-03-28 2020-02-25 Microsoft Technology Licensing, Llc Intuitive document navigation with interactive content elements
CN105843686A (zh) * 2016-03-29 2016-08-10 乐视控股(北京)有限公司 单例组件资源释放方法及装置
US11769062B2 (en) * 2016-12-07 2023-09-26 Charles Northrup Thing machine systems and methods
JP6231713B1 (ja) * 2017-04-13 2017-11-15 株式会社Live2D プログラム、記録媒体、及び描画方法
US10694223B2 (en) * 2017-06-21 2020-06-23 Google Llc Dynamic custom interstitial transition videos for video streaming services
CN114968452A (zh) * 2017-09-30 2022-08-30 华为技术有限公司 显示方法、移动终端及图形用户界面
CN112074813A (zh) * 2018-03-30 2020-12-11 完整故事有限公司 捕获并处理与原生应用的用户界面的交互
CN113163246A (zh) * 2020-01-22 2021-07-23 阿里巴巴集团控股有限公司 处理方法、处理装置及电子设备
CN112462715A (zh) * 2020-03-30 2021-03-09 林细兵 基于工业互联网的设备状态识别方法及识别终端
CN112632942B (zh) * 2020-08-19 2021-09-28 腾讯科技(深圳)有限公司 一种文档处理方法、装置、设备及介质
CN112987921B (zh) * 2021-02-19 2024-03-15 车智互联(北京)科技有限公司 一种vr场景讲解方案生成方法
US11610606B1 (en) * 2022-02-25 2023-03-21 Adobe Inc. Retiming digital videos utilizing machine learning and temporally varying speeds

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6369830B1 (en) * 1999-05-10 2002-04-09 Apple Computer, Inc. Rendering translucent layers in a display system
US6700588B1 (en) * 1998-11-09 2004-03-02 Broadcom Corporation Apparatus and method for blending graphics and video surfaces

Family Cites Families (101)

* 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
US5974548A (en) * 1996-07-12 1999-10-26 Novell, Inc. Media-independent document security method and apparatus
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
CN1311958A (zh) * 1998-06-11 2001-09-05 皇家菲利浦电子有限公司 数字视频记录器用的特技播放信号的产生
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
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
US6430570B1 (en) * 1999-03-01 2002-08-06 Hewlett-Packard Company Java application manager for embedded device
AU4186000A (en) * 1999-03-30 2000-11-14 Tivo, Inc. Television viewer interface 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
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
US8117644B2 (en) * 2000-01-07 2012-02-14 Pennar Software Corporation Method and system for online document collaboration
US20020157103A1 (en) * 2000-01-07 2002-10-24 Deyang Song Method for digital media playback in a broadcast network
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
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
WO2002015564A1 (en) * 2000-08-16 2002-02-21 Koninklijke Philips Electronics N.V. Method of playing multimedia applications
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
US20020099738A1 (en) * 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
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
US20020138593A1 (en) * 2001-03-26 2002-09-26 Novak Michael J. Methods and systems for retrieving, organizing, and playing media content
AUPR464601A0 (en) * 2001-04-30 2001-05-24 Commonwealth Of Australia, The Shapes vector
US20020188616A1 (en) * 2001-06-07 2002-12-12 Chinnici Roberto R. Database access bridge system and process
WO2003005190A1 (en) * 2001-07-06 2003-01-16 E-Genie Australia Pty Limited Method and system for computer software application execution
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
US7161599B2 (en) * 2001-10-18 2007-01-09 Microsoft Corporation Multiple-level graphics processing system and method
US20030152904A1 (en) * 2001-11-30 2003-08-14 Doty Thomas R. Network based educational system
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
CN2518277Y (zh) * 2002-01-31 2002-10-23 宪锋光电科技股份有限公司 数字化影音实时播录的处理装置
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
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
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
US7707563B2 (en) * 2003-01-10 2010-04-27 Nexaweb Technologies Inc System and method for network-based computing
US7302057B2 (en) * 2003-01-31 2007-11-27 Realnetworks, Inc. Method and process for transmitting video content
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
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
CN100417155C (zh) * 2003-05-08 2008-09-03 上海交通大学 远程教学多模式实时多媒体交互系统
US7681114B2 (en) * 2003-11-21 2010-03-16 Bridgeborn, Llc Method of authoring, deploying and using interactive, data-driven two or more dimensional content
US7801303B2 (en) * 2004-03-01 2010-09-21 The Directv Group, Inc. Video on demand in a broadcast network
JP2005318472A (ja) * 2004-04-30 2005-11-10 Toshiba Corp 動画像のメタデータ
JP4039417B2 (ja) * 2004-10-15 2008-01-30 株式会社日立製作所 記録再生装置
WO2006123799A1 (en) * 2005-05-18 2006-11-23 Matsushita Electric Industrial Co., Ltd. Content reproduction apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6700588B1 (en) * 1998-11-09 2004-03-02 Broadcom Corporation Apparatus and method for blending graphics and video surfaces
US6369830B1 (en) * 1999-05-10 2002-04-09 Apple Computer, Inc. Rendering translucent layers in a display system

Also Published As

Publication number Publication date
CN101213607B (zh) 2010-09-29
CN101213607A (zh) 2008-07-02
CN101213609B (zh) 2011-06-15
CN101371308A (zh) 2009-02-18
CN101213608B (zh) 2012-11-14
CN101213608A (zh) 2008-07-02
CN101371308B (zh) 2011-03-09
CN101213537A (zh) 2008-07-02
CN101213502B (zh) 2011-10-26
CN101213540A (zh) 2008-07-02
CN101213609A (zh) 2008-07-02
CN101213503B (zh) 2011-04-27
CN101213503A (zh) 2008-07-02
CN101213606B (zh) 2010-09-01
CN101213606A (zh) 2008-07-02
CN101288128B (zh) 2011-04-13
CN101657805A (zh) 2010-02-24
ZA200711195B (en) 2009-09-30
CN101657805B (zh) 2013-09-18
CN101213502A (zh) 2008-07-02
US20070006065A1 (en) 2007-01-04
CN101288128A (zh) 2008-10-15

Similar Documents

Publication Publication Date Title
CN101213540B (zh) 在交互式媒体环境中呈现和合成多个应用程序
CN101833474B (zh) 在交互式媒体环境中将事件排队的方法
KR101247018B1 (ko) 상호작용 미디어 환경에서 다수의 애플리케이션으로의 입력이벤트 분배
JP4965567B2 (ja) 対話式メディア環境での複数アプリケーションのレンダリングおよび合成
JP4959695B2 (ja) 対話型マルチメディア・プレゼンテーション管理の同期性
US7853895B2 (en) Control of background media when foreground graphical user interface is invoked
JP5015150B2 (ja) 対話式マルチメディア環境の状態変化への宣言式応答
US6369835B1 (en) Method and system for generating a movie file from a slide show presentation
JP5015149B2 (ja) 対話型マルチメディア・プレゼンテーション管理の同期方法
JP2008545335A5 (zh)
CN102089823A (zh) 媒体内容呈现的各方面
WO1998044435A1 (en) Method and apparatus for integrating hyperlinks in video
JP5753240B2 (ja) 電子情報処理装置及びプログラム
WO2005002198A2 (en) Video playback image processing
JP5395993B2 (ja) 電子情報処理装置およびコンピュータプログラム
US8687945B2 (en) Export of playback logic to multiple playback formats
Benenson VideoLogo--synthetic movies in a learning environment

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: 20150428

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

Effective date of registration: 20150428

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

Granted publication date: 20100908

Termination date: 20210622

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