CN101213606B - 用于交互式多媒体演示管理的同步系统和方法 - Google Patents

用于交互式多媒体演示管理的同步系统和方法 Download PDF

Info

Publication number
CN101213606B
CN101213606B CN2006800242324A CN200680024232A CN101213606B CN 101213606 B CN101213606 B CN 101213606B CN 2006800242324 A CN2006800242324 A CN 2006800242324A CN 200680024232 A CN200680024232 A CN 200680024232A CN 101213606 B CN101213606 B CN 101213606B
Authority
CN
China
Prior art keywords
time
demonstration
interactive content
video
media object
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
CN2006800242324A
Other languages
English (en)
Other versions
CN101213606A (zh
Inventor
J·C·芬格
J·A·伊冯
O·科勒
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/355,609 external-priority patent/US7721308B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101213606A publication Critical patent/CN101213606A/zh
Application granted granted Critical
Publication of CN101213606B publication Critical patent/CN101213606B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Television Signal Processing For Recording (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

播放交互式多媒体演示(120/127)涉及在基于演示的交互式内容的帧速率(407)、视频内容(可包括视频、音频、数据或其任何组合)的帧速率(407)以及播放速度(480)的某些时间上预呈现(614)媒体对象(125)。所采取的某些动作包括,计算表示演示的播放持续时间中已经经过的量的当前已经过播放时间(709)。基于所计算的时间,从交互式内容时间线(144)查明(608)当前交互式内容演示时间(712)。交互式内容时间线(144)表示可演示媒体对象(125)的时间。从交互式内容时间线(144)中选择后续交互式内容演示时间(712)。为后续交互式内容演示时间(712)预测媒体对象(125)的演示状态。在后续交互式内容演示时间(712)发生之前的时间偏移量(718)时间段内预呈现媒体对象(125)。

Description

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

Claims (19)

1.一种用于播放交互式多媒体演示(120/127)的方法,所述交互式多媒体演示具有播放持续时间(292)、播放速度(480)、视频内容组成部分(122)和交互式内容组成部分(124),所述视频内容组成部分(122)被安排成多个视频帧(132),所述交互式内容组成部分(124)包括具有演示状态的媒体对象(125),所述方法包括:
查明(602)表示可在其中演示视频帧(132)的周期性时间间隔的视频帧速率(407)
查明(602)表示可在其中演示所述媒体对象(125)的周期性时间间隔(708)的交互式内容帧速率(405);
基于所述交互式内容帧速率(405),查明(604)交互式内容时间线(144)上具有交互式内容演示时间(706)的至少一部分,所述交互式内容演示时间表示所述播放持续时间(292)内可演示所述媒体对象(125)的时间;
基于所述视频帧速率(407)和所述播放速度(480),计算(606)表示所述播放持续时间(292)中已经经过的时间量的当前已经过播放时间(709);
基于所述当前已经过播放时间(709),从所述交互式内容时间线(144)查明(608)当前交互式内容演示时间(710)
从所述交互内容时间线(144)选择后续交互式内容演示时间(712),所述后续交互式内容演示时间(712)在不同于所述当前交互式内容演示时间(710)的时间上发生;
预测所述媒体对象(125)在所述后续交互式内容演示时间(712)处的演示状态;
基于所预测的演示状态,在离所述后续交互式内容演示时间(712)有一预定时间偏移量(718)的预呈现时间(716)预呈现(614)所述媒体对象(125);以及
安排(616)所述预呈现的媒体对象(125)在所述后续交互式内容演示时间(712)处演示。
2.如权利要求1所述的方法,其特征在于,所述后续交互式内容演示时间(712)是通过将基于所述交互式内容帧速率的量加到所述当前交互式内容演示时间来选择的。
3.如权利要求1所述的方法,其特征在于,所述预定时间偏移量(718)是通过取所述交互式帧速率(405)的倒数来确定的。
4.如权利要求1所述的方法,其特征在于,所述选择后续交互式内容演示时间(712)的步骤还包括:
计算(804)预测的已经过时间(720),所预测的已经过时间(720)表示,基于所述播放速度(480),所述播放持续时间(292)中除所述当前已经过播放时间(709)外已经经过的时间量;以及
基于所预测的已经过时间(720)来选择(806)所述后续交互式内容演示时间(712)。
5.如权利要求4所述的方法,其特征在于,还包括:
基于所述视频帧速率(407),查明视频时间线(142)中具有帧号演示时间(702)的至少一部分,所述帧号演示时间表示所述播放持续时间(292)内可在其中演示具有各个帧号的各个视频帧的时间。
6.如权利要求5所述的方法,其特征在于,还包括:
查明所述视频时间线(142)上的预测的帧号演示时间(702),所预测的帧号演示时间表示与所预测的已经过时间(720)相关联的帧号演示时间;以及
基于所预测的帧号演示时间(702)来选择所述后续交互式内容演示时间(712)。
7.如权利要求6所述的方法,其特征在于,所述查明视频时间线(142)上的预测的帧号演示时间(702)的步骤包括:估计所述视频时间线(142)上的多个预测的帧号演示时间(702),并确定所述多个预测的帧号演示时间内的模式,所述模式基于所述播放速度(480),且
所述选择后续交互式内容演示时间(712)的步骤包括基于所述模式选择所述后续交互式内容演示时间。
8.如权利要求4所述的方法,其特征在于,所预测的已经过时间(720)是通过将一倍数值加到所述当前已经过的播放时间上来计算的,所述倍数值是通过将播放速度因数乘以帧速率因数来计算的,所述播放速度因数是通过将表示所述播放速度的值除以所述视频帧速率来计算的,所述帧速率因数是通过将所述视频帧速率除以所述交互式内容帧速率来计算的。
9.如权利要求8所述的方法,其特征在于,所述表示播放速度(480)的值包括正值和负值之一。
10.如权利要求1所述的方法,其特征在于,所述交互式内容帧速率(405)与所述视频帧速率(407)相同。
11.如权利要求1所述的方法,其特征在于,所述媒体对象(125)包括图像、音频样本和文本中的一个或多个。
12.如权利要求1所述的方法,其特征在于,所述视频内容组成部分(122)包括选自视频、音频和数据的样本,所述查明(602)表示可在其中演示一个视频帧的周期性时间间隔的视频帧速率(407)的步骤包括:查明可在其中演示一组视频、音频或数据样本的周期性时间间隔。
13.如权利要求1所述的方法,其特征在于,所述媒体对象(125)的演示状态包括开和关之一。
14.一种用于播放交互式多媒体演示(120/127)的系统(100),所述交互式多媒体演示(120/127)具有播放持续时间(292)、播放速度(480)、视频内容组成部分(122)和交互式内容组成部分(124),所述视频内容组成部分(122)被安排成多个视频帧(132),所述交互式内容组成部分(122)包括具有演示状态的媒体对象(125),所述系统(100)包括:
交互式内容管理器(104),它被配置成基于所述演示状态来安排所述媒体对象(125)以交互式内容呈现速率(405)呈现;
视频内容管理器(102),它被配置成安排所述各个视频帧(132)以视频内容呈现速率(407)呈现;
时间基准计算器(408),它用于基于所述视频内容呈现速率(407)和所述播放速度(480)来测量表示所述播放持续时间(292)中已经经过的时间量的当前已经过播放时间(709);以及
演示管理器(106),它被配置成与所述交互式内容管理器(104)和所述视频内容管理器(102)通信,并负责从所述时间基准计算器(408)接收所述当前已经过播放时间(709),所述演示管理器(106)用于
基于所述交互式内容呈现速率(405),查明交互式内容时间线(144)上具有交互式内容演示时间(706)的至少一部分,所述交互式内容演示时间表示所述播放持续时间(292)内可在其中演示所述媒体对象(125)的时间,
基于所述当前已经过播放时间(709),从所述交互式内容时间线(144)查明当前交互式内容演示时间(710),以及
从所述交互式内容时间线(144)中选择后续交互式内容演示时间(712),所述后续交互式内容演示时间(712)在不同于所述当前交互式内容演示时间(709)的时间发生,
基于所述媒体对象(125)在所述后续交互式内容演示时间(712)的预测的演示状态,所述交互式内容管理器(104)可用于在离所述后续交互式内容演示时间(712)有预定时间偏移量(718)的预呈现时间(716)预呈现所述媒体对象(125),且可用于安排所述预呈现媒体对象(125)在所述后续交互式内容演示时间(712)的演示。
15.如权利要求14所述的系统,其特征在于,所述演示管理器(106)还可用于计算预测的已经过时间(720),所预测的已经过时间(720)表示基于所述播放速度(480),所述播放持续时间(292)中除所述当前已经过播放时间(709)以外已经经过的时间量,所述演示管理器(106)还可用于基于所预测的已经过时间(720)来选择所述后续交互式内容演示时间(712)。
16.如权利要求14所述的系统,其特征在于,所述系统包括操作系统。
17.如权利要求16所述的系统,其特征在于,所述操作系统与光盘播放器相关联。
18.如权利要求17所述的系统,其特征在于,所述光盘播放器遵循由DVD论坛发布的用于高清晰度视频的规范。
19.如权利要求16所述的系统,其特征在于,所述操作系统与电子设备相关联。
CN2006800242324A 2005-07-01 2006-06-20 用于交互式多媒体演示管理的同步系统和方法 Expired - Fee Related CN101213606B (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/355,609 US7721308B2 (en) 2005-07-01 2006-02-16 Synchronization aspects of interactive multimedia presentation management
US11/355,609 2006-02-16
PCT/US2006/023905 WO2007005268A2 (en) 2005-07-01 2006-06-20 Synchronization aspects of interactive multimedia presentation management

Publications (2)

Publication Number Publication Date
CN101213606A CN101213606A (zh) 2008-07-02
CN101213606B true CN101213606B (zh) 2010-09-01

Family

ID=39612519

Family Applications (11)

Application Number Title Priority Date Filing Date
CNA2006800242076A Pending CN101213537A (zh) 2005-07-01 2006-06-20 在交互式媒体环境中管理应用程序状态
CN2006800242201A Expired - Fee Related CN101371308B (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 播放交互式多媒体演示的方法和系统
CN2006800242752A Expired - Fee Related CN101213607B (zh) 2005-07-01 2006-06-20 交互式多媒体演示管理的同步方面
CN2006800243045A Expired - Fee Related CN101657805B (zh) 2005-07-01 2006-06-22 交互式媒体环境中的应用程序安全性
CN2006800242080A Expired - Fee Related CN101213540B (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 在交互式媒体环境中将事件排队
CN2006800243026A Expired - Fee Related CN101213608B (zh) 2005-07-01 2006-06-22 交互式多媒体演示的基于状态的定时
CN2006800242057A Expired - Fee Related CN101288128B (zh) 2005-07-01 2006-06-22 用于安排应用程序响应状态变化的方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CNA2006800242076A Pending CN101213537A (zh) 2005-07-01 2006-06-20 在交互式媒体环境中管理应用程序状态
CN2006800242201A Expired - Fee Related CN101371308B (zh) 2005-07-01 2006-06-20 交互式多媒体演示管理的同步方面

Family Applications After (8)

Application Number Title Priority Date Filing Date
CN2006800243030A Expired - Fee Related CN101213609B (zh) 2005-07-01 2006-06-20 播放交互式多媒体演示的方法和系统
CN2006800242752A Expired - Fee Related CN101213607B (zh) 2005-07-01 2006-06-20 交互式多媒体演示管理的同步方面
CN2006800243045A Expired - Fee Related CN101657805B (zh) 2005-07-01 2006-06-22 交互式媒体环境中的应用程序安全性
CN2006800242080A Expired - Fee Related CN101213540B (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 在交互式媒体环境中将事件排队
CN2006800243026A Expired - Fee Related CN101213608B (zh) 2005-07-01 2006-06-22 交互式多媒体演示的基于状态的定时
CN2006800242057A Expired - Fee Related CN101288128B (zh) 2005-07-01 2006-06-22 用于安排应用程序响应状态变化的方法

Country Status (3)

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

Families Citing this family (36)

* 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
US8954526B2 (en) 2007-09-28 2015-02-10 Xcerion Aktiebolag Network operating system
US8010690B2 (en) * 2008-06-26 2011-08-30 Microsoft Corporation Arrangement for connectivity within an advanced multimedia content framework
WO2010134098A1 (en) * 2009-05-21 2010-11-25 Vijay Sathya System and method of enabling identification of a right event sound corresponding to an impact 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
WO2016045729A1 (en) * 2014-09-25 2016-03-31 Huawei Technologies Co.,Ltd. A 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 乐视控股(北京)有限公司 单例组件资源释放方法及装置
CN110268686B (zh) * 2016-12-07 2023-04-04 查尔斯·诺思拉普 物机系统以及方法
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 华为技术有限公司 显示方法、移动终端及图形用户界面
EP3776193B1 (en) * 2018-03-30 2023-10-25 Fullstory, Inc. Capturing and processing interactions with a user interface of a native application
CN113163246A (zh) * 2020-01-22 2021-07-23 阿里巴巴集团控股有限公司 处理方法、处理装置及电子设备
CN112462716A (zh) * 2020-03-30 2021-03-09 林细兵 基于工业互联网的设备状态识别方法及系统
CN112632942B (zh) * 2020-08-19 2021-09-28 腾讯科技(深圳)有限公司 一种文档处理方法、装置、设备及介质
CN112987921B (zh) * 2021-02-19 2024-03-15 车智互联(北京)科技有限公司 一种vr场景讲解方案生成方法
CN113934524A (zh) * 2021-09-30 2022-01-14 青岛海尔科技有限公司 任务的异步处理方法和装置、存储介质及电子装置
US11610606B1 (en) * 2022-02-25 2023-03-21 Adobe Inc. Retiming digital videos utilizing machine learning and temporally varying speeds
US20240251130A1 (en) * 2023-01-19 2024-07-25 Snap Inc. Video notification system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2518277Y (zh) * 2002-01-31 2002-10-23 宪锋光电科技股份有限公司 数字化影音实时播录的处理装置
WO2005017780A1 (en) * 2003-04-30 2005-02-24 Hewlett-Packard Development Company L.P. Systems and methods of viewing, modifying, and interacting with “path-enhanced” multimedia

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
WO1992021211A1 (en) * 1991-05-21 1992-11-26 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
EP1034656A2 (en) * 1998-06-11 2000-09-13 Koninklijke Philips Electronics N.V. Trick play signal generation for a digital video recorder
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
WO2000028518A2 (en) * 1998-11-09 2000-05-18 Broadcom Corporation Graphics display system
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
CN100505076C (zh) * 1999-03-30 2009-06-24 提维股份有限公司 多媒体可视的播放进度指示系统
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
WO2001050401A1 (en) * 2000-01-06 2001-07-12 Hd Media, Inc. System and method for distributing and controlling the output of media in public spaces
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
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
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
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
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
US20040039909A1 (en) * 2002-08-22 2004-02-26 David Cheng Flexible authentication with multiple levels and factors
US20040107179A1 (en) * 2002-08-22 2004-06-03 Mdt, Inc. Method and system for controlling software execution in an event-driven operating system environment
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
US7328076B2 (en) * 2002-11-15 2008-02-05 Texas Instruments Incorporated Generalized envelope matching technique for fast 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
WO2004063900A2 (en) * 2003-01-10 2004-07-29 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
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
CN2518277Y (zh) * 2002-01-31 2002-10-23 宪锋光电科技股份有限公司 数字化影音实时播录的处理装置
WO2005017780A1 (en) * 2003-04-30 2005-02-24 Hewlett-Packard Development Company L.P. Systems and methods of viewing, modifying, and interacting with “path-enhanced” multimedia

Also Published As

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

Similar Documents

Publication Publication Date Title
CN101213606B (zh) 用于交互式多媒体演示管理的同步系统和方法
CN102089823B (zh) 多媒体演示系统及方法
CN101536105B (zh) 用于播放交互式多媒体演示的方法、装置和系统
JP4959695B2 (ja) 対話型マルチメディア・プレゼンテーション管理の同期性
JP5015150B2 (ja) 対話式マルチメディア環境の状態変化への宣言式応答
JP5015149B2 (ja) 対話型マルチメディア・プレゼンテーション管理の同期方法
JP4812833B2 (ja) 対話型マルチメディアプレゼンテーション管理の同期化の態様
JP2008545335A5 (zh)
US20070006079A1 (en) State-based timing for interactive multimedia presentations
WO2008141031A2 (en) Embedded video player advertisement display
JP5619838B2 (ja) 対話型マルチメディア・プレゼンテーション管理の同期性

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

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

Effective date of registration: 20150429

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

Termination date: 20210620