Dvd播放器增强的制作方法

文档序号:6755377阅读:219来源:国知局
专利名称:Dvd播放器增强的制作方法
技术领域
本发明涉及一种DVD播放器和一种操作DVD播放器的方法,并特别地涉及一种操作具有增强功能的DVD的方法。
背景技术
传统多功能数码盘(DVD)可包含大量不同的数据类型。特别地,可以将DVD视频(DVD-V)数据存储在一种通用数据格式(UFD)文件中。DVD视频数据以一种标准格式存储在盘上,所述盘上具有形成单元的大量视频对象个体,所述单元依次被分组成DVD-V盘上的一个或多个标题。由于本领域技术人员熟知所述格式,因此这里不再提供进一步的细节。
可在传统的独立DVD视频播放器上播放DVD视频数据。DVD视频内容主要是音视频的,但DVD视频还包括有限交互式菜单的可能性,有限交互式菜单允许用户导航DVD的内容。在该DVD播放器上实现的虚拟机(VM)上执行这些指令。但是,DVD VM中可用的指令相对局限,并且无法用这些指令生成复杂的应用程序。
DVD盘还能够以不同于DVD视频的格式存储数据。特别地,DVD盘被广泛用来以一种ISO/UDF格式为计算机系统存储文件。这些文件可包括能够存储在计算机系统中的任何文件。因此,DVD可包括存储在DVD的ISO/UDF文件系统中的可执行文件。这些可执行文件能够被设备读取,特别是可被带有DVD读取器的计算机读取。当被计算机读取时,这些可执行文件可在该计算机上运行。
另一种标准是涉及广播素材的多媒体家用平台(MHP)。在这个已被世界上数个国家引入的标准中,可将Java代码编写的复杂应用程序同音视频内容一起广播。一个应用程序信息表被广播以通知MHP应用程序。但是,这一标准无法解决诸如DVD的存储内容的问题。
Zou等的US2002/0141741描述了一种在诸如DVD的盘上执行应用程序的方法。一种自动运行回放程序被存储在盘中,并且当盘被插入播放器时便自动地启动所述自动运行回放程序。该自动运行回放程序自动启动并随后被用来访问和回放媒体内容。通过在盘自身上提供这样一种程序,促进了复制保护,因为可将版权保护软件集成到所述程序中。该播放器同样包括一种传统DVD VM,用于播放不在DVD上存储回放程序的传统DVD盘。这一文献没有描述能够在增强播放器中提供附加功能的向后兼容的DVD盘,而是仍描述了在传统播放器中提供传统DVD回放功能的DVD盘。鉴于US2002/0141741中版权保护方面的焦点,传统播放器中缺乏回放增强DVD能力的这一问题值得考虑。
然而,鉴于大量现有的安装的DVD播放器,内容供给者很可能想提供既能在现有播放器上回放又能在增强播放器上提供增强功能的DVD视频盘。
因此,需要增强标准DVD-V,并需要回放方法以及设备,以便通过将应用程序以向后兼容的方式集成到传统DVD视频内容中的方法来在DVD上递送更复杂的应用程序。

发明内容
根据本发明,提供了一种显示存储在一个盘上的音视频内容的方法,所述盘包括DVD视频内容和非DVD视频应用程序内容,该方法包括步骤运行一个外部应用程序;启动DVD视频虚拟机(VM),用以再生包括音视频内容和DVD视频菜单的DVD视频内容;在该DVD视频VM中,从盘中读取DVD视频内容并且根据这一内容提供一个音视频显示;确定该DVD视频VM中何时发生规定的事件,并且当发生规定的事件中的一个或多个时,从该DVD视频VM回调到所述外部应用程序;并且执行由所发生事件触发的应用程序命令。
由事件触发的应用程序可能仅为初始启动的外部应用程序。或者,该应用程序可能为一个独立的应用程序,其或者由DVD VM直接启动或者由例如外部应用程序的另一个应用程序启动。
优选地,一种独立于平台的执行环境被启动,并且所述的外部应用程序在这一环境中运行。
重要地,DVD VM被用来解释存储为传统DVD-V内容的音视频内容。因此,DVD-VM应该能够完全处理包括音视频内容和菜单的DVD视频。当规定的事件发生时,在独立于平台的执行环境中提供增强功能。
通过使用基本传统的DVD VM来显示标准音视频内容,将能够更容易地保证增强盘同传统播放器的兼容性。传统播放器仅将DVD视频解释为常规的。通常,传统播放器将仅运行其传统的DVD VM。尽管传统DVD VM不能登记事件以便在事件发生时回调调用程序,或者不能够允许处理数据结构,但它在没有增强功能的情况下仅将DVD-V数据回放为传统DVD-V。
可以方便地在平台独立的执行环境中编写DVD-VM。
特别优选地,一旦DVD插入播放器便自动启动独立于平台的执行环境。存在很多实现这一目的的方法。
一个方法中,盘包含一个具有标准名称的Java归档文件(jar文件),例如start.jar,包括DVD的ISO/UDF文件系统中所有的类和资源。这一文件包含标准的manifest.mf文件,它包括自动启动应用程序的位置及其启动参数。
另一种方法中,以0x06(私有数据)的流类型或以0x80到0xFF(用户数据)范围的流类型将一个附加基本流包含在盘上。这一附加基本流包括在分包基本流(PES)数据包中打包的Java归档文件的内容。第一数据包包括应用程序信息表(AIT)数据。
盘播放器的引导加载器识别附加基本流并且检查第一PES数据包是否包含AIT。如果包含,则从附加基本流的PES数据包建立一个jar文件并且启动AIT中规定的应用程序。
常规盘播放器只是忽略所述私有基本流。
优选地,通过一个应用编程接口(API)提供DVD VM同外部的平台独立的应用程序之间的通信。因此,不同于传统DVD回放系统中,优选实施例中的DVD VM包括一个用以由外部应用程序控制的API,它实现从平台独立的执行环境调用API以向API登记所规定的事件的功能,并且当所登记的规定事件发生时实现从VM回调到平台独立的执行环境的功能。
应该注意传统DVD回放系统具有媒体控制API来启动、暂停和后退DVD。但是,这些API仅覆盖DVD播放器的传统操作控制;DVD VM没有被暴露,因此无法访问,并且无法访问DVD VM的内部处理。
在一个优选实现中,DVD VM API允许外部应用程序调用API来处理VM数据结构,例如菜单。这允许例如在规定事件之一发生之后,外部应用程序根据需要提供不同的菜单选项。
在外部应用程序处理事件之后,可能将处理返回到DVD VM来播放更多的音视频内容或者显示一个更新的菜单并等待用户输入。
当在一个事件之后控制返回到外部应用程序时,外部应用程序可执行要求的任何处理。例如,外部应用程序可允许用户玩适当的视频游戏,并且外部应用程序可根据游戏的结果令DVD VM显示不同的连续的音视频内容。
DVD优选地包括MPEG流描述符,并且该方法包括识别这些MPEG流描述符的步骤,例如用以使外部应用程序同视频中的事件同步。
用于平台独立的执行环境的外部应用程序优选地为平台独立的代码,例如Java、MHEG、开放式电视(OpenTV)、高速传媒设备(Media Highway)或者它们的组合。这避免了传统DVD将应用程序存储于只能在适当计算机上执行的ISO或UDF文件系统中的问题。
本发明还涉及用于令DVD播放器执行前述方法的代码。
另一方面,本发明还涉及一种使用前述方法播放DVD盘的DVD播放器。因此,本发明同样涉及一种DVD播放器,其包括实现用于播放DVD视频数据的DVD虚拟机(VM)的代码,该DVD虚拟机进一步包括一个包含代码的应用编程接口(API),通过所述代码,外部应用程序能调用API来启动或停止DVD VM的执行,用以登记规定的事件,并且当规定事件发生时回调一个调用应用程序;一个自动启动系统,如果存在外部应用程序,其自动运行存储在插入的DVD盘上的该外部应用程序,由此该外部应用程序调用DVD VMAPI来回放DVD中的内容。


现将仅以示例的方式、参考附图对本发明的一个优选实施例进行说明,附图中图1示出一个根据本发明的DVD播放器;图2示出一个根据本发明的盘的表示;以及图3为实现本发明的API的示意图。
具体实施例方式
根据本发明第一实施例的DVD视频播放器2包括DVD读取器4,用以读取插入播放器2中的DVD盘6。DVD视频播放器2还包括处理器10和存储器12。DVD视频播放器还可具有许多其它部件,例如在独立播放器的情况下包括遥控器14。如果DVD视频播放器2转而在传统个人计算机上实现,遥控器14可由键盘和鼠标或者其它众所周知的数据输入系统代替。
DVD视频播放器2被连接到一个例如传统电视机的音视频再生系统16。本领域技术人员将理解,所述音视频再生系统可比一个简单的电视机复杂得多并且包括环绕声解码器、多路放大器以及许多其它部件。
存储器12包括代码18,用以在DVD播放器2中实现一个平台独立虚拟机。“虚拟机”是指能够实施标准指令的系统,以允许以平台独立的方式来执行程序。在当前描述的具体实例中,虚拟机为Java虚拟机18,它允许DVD视频播放器执行Java代码。但是,本领域技术人员将理解,存在其它平台独立代码,例如MHEG、开放式电视、高速传媒设备等等,并且它们可以被替代使用或附加使用。
存储器12还包括代码20,用以实现一个DVD-V虚拟机。它的大部分功能都是标准的,并且允许DVD视频播放器2仅回放音视频DVD视频内容、使用遥控器14访问菜单、并且执行DVD视频播放器的所有标准功能。
优选实施例中,在平台独立的虚拟机18的平台独立的代码18中实现DVD VM 20。这使得DVD VM 20同运行在平台独立的虚拟机18中的外部应用程序之间的通信变得直接。但是,技术人员将意识到如何在运行于相同DVD播放器的不同应用程序中的进程之间进行通信,因此DVD VM不必一定运行在相同的平台独立的虚拟机18中。
DVD VM 20还包括一个应用编程接口30(API),它赋予DVD视频播放器2增强功能。
API 30暴露了DVD视频数据和虚拟机的结构,因为到API的调用可被用来访问这些数据,包括单元、视频对象以及DVD视频数据的各种其它标准部分。到API的调用可被用来执行图3中示意性示出的下列功能(1)启动VM 32,即启动DVD视频的解码;(2)停止VM 34;(3)向VM登记36规定的事件,例如DVD视频数据中的特定位置,诸如所到达的特定单元或在特定菜单中选择的特定选项;以及(4)处理数据结构38,例如用以改变由VM显示的菜单。
API提供登记来自DVD VM的回调的能力,当规定的事件发生时调用所述回调。通常,这些是在先由一个调用向API登记的事件,但其它事件也可能引发回调,例如到达DVD视频数据末端。
图2示意性示出了具有增强功能的DVD 6。
DVD包括DVD视频数据22并附加包括存储于DVD的UDF/ISO文件系统中的具有标准名称的Java归档文件(.jar文件)24,例如start.jar。归档文件存储包括清单文件26(如传统在Java归档中被称为META_INF/MANIFEST.MF)以及自动启动应用程序文件29的多个文件。这扩展为包括如同在MHP广播环境中用来发信号通知MHP应用程序的应用程序信息表(AIT)28的表示。AIT识别主要的外部应用程序27和启动参数。
插入DVD盘6时,Java归档文件24被解压缩且清单被用来运行具有适当参数的自动启动应用程序29。假定以Java来编写自动启动应用程序29,这一自动启动应用程序29将在DVD视频播放器2中的java虚拟机18上运行。
自动启动应用程序29调用DVD视频API来登记事件。
在登记事件之后,自动启动应用程序29便调用DVD视频API来启动DVD VM 20回放DVD视频数据22。DVD VM 20经过登记的事件之一时,将控制从DVD VM 20回传到自动启动应用程序29,用以允许自动启动应用程序29处理该事件。
不同的事件需要不同的处理,且所描述的方法旨在灵活和允许提供不同的内容。API 30允许调用DVD VM来更新菜单结构,且这可以到达某些事件所要求的程度。或者,对于其它事件,复杂的交互式程序可由自动启动应用程序29启动并运行,例如计算机游戏应用程序27。在某些情况下,将要求停止DVD VM,且这可以通过从自动启动应用程序29到DVD VM API的适当调用来执行。其它情况下,要求DVD VM只是继续下去。
在本说明书中,诸如运行于DVD VM外部的自动应用程序29的应用程序和其它应用程序27将被公知为外部应用程序27、29。
某些情况下,外部应用程序27、29响应于一个事件而加入一个菜单项,且这一菜单项的选择被登记为一个事件,并且处理传回到DVDVM。那么,如果到达菜单且选择了项目,应用程序可执行适当的动作,例如停止DVD视频回放并启动一个游戏。
处理事件之后,可使用DVD视频API将控制传回到DVD VM,以便允许后续的DVD视频回放。
因此,通过使用适当播放器2中的自动启动应用程序29,这一方法允许DVD盘6自动启动。但是,如果DVD盘6插入到传统播放器中,尽管没有由外部应用程序27、29中的事件处理所提供的或由这些应用程序所调用的附加功能,但该播放器中的传统DVD VM将启动并按标准方式播放DVD盘6。
可提供另一种方法来提供适当自动启动功能,其中Java归档文件24被存储在DVD盘上提供的附加基本流中。例如,可在一种流中提供归档文件,所述流具有表示私有数据的0x06的流类型,或用户数据范围0x80到0xFF的流类型,例如0xBS或0xBF。归档文件被分割为数据包,第一数据包包含AIT数据。
DVD盘6插入DVD播放器2时,引导加载器识别附加的基本流并且检查第一数据包是否包含AIT。如果包含,它从所述流建立一个jar文件,将这一文件加入到路径中并启动AIT中规定的应用程序。
标准DVD播放器将简单地忽略这个附加流。
这个备选方法具有很大的优点,即外部应用程序27、29可被DVD加扰系统保护。
MPEG流描述符可包含在DVD视频流中用以允许外部应用程序同DVD视频内的事件同步。例如,支持这种情况的一种机制包括在对于外部应用程序可见的文件系统中放置一个数字存储媒体命令和控制(DSMCC)StreamEvent(流事件)对象。在MHP应用程序的情况下,将使用org.dvb.dsmcc API在该DSMCC StreamEvent对象上登记一个回调。这令系统启动对DVD视频流的某些流描述符的监控。在解码这些描述符时发生回调。应该注意这一机制比仅将UDF文件系统安装在DVD上的要求要多,或者需要UDF之上的仿真层或者需要用于在盘上分开存储的DSMCC文件系统的解码器。
同样值得注意,DVD视频文件系统通过API暴露,并且这允许所述外部应用程序极好地集成到DVD视频中。
还可通过Java媒体框架(JMF)提供外部应用程序对DVD VM的控制。
尽管将自动启动应用程序29描述为Java应用程序,但还存在许多其它独立于平台的标准,例MHEG、开放式电视、高速传媒设备,并且可采用这些标准中的一个或多个编写所述自动启动应用程序的至少一部分。某些情况下,例如当已知DVD盘6将运行在什么类型的播放器2时,可提供非平台独立的代码;或者,可使用此类非平台独立的代码在某些类型的机器上实现附加功能。
可将本发明应用到任何适当的播放器。
通过阅读本公开,本领域的技术人员将明显看出其它的变形和修改。这些变形和修改包含了在音视频播放器和广播系统的设计、制造和使用中已知的、并且可以用来替换或者辅助此处所描述的特征的等价替换和其它特征。尽管在本申请中权利要求阐明了特定特征的组合,应当理解的是本公开的范围还包括任何新颖的特征或者此处公开的特征的任何新颖的组合,而不管它们是明确的、隐含的还是这些特征的任何归纳,也不管它是否同本发明一样可以解决所有相同的技术问题,或者解决这些技术问题中的一部分。本发明在此给出以下评论新的权利要求被表达为在本申请或者从它衍生的任何进一步的申请审查阶段的任何此类特征和/或此类特征的组合。
权利要求
1.一种DVD盘(6),包括以DVD视频格式存储的内容(22),包括音视频内容和至少一个菜单;独立于非DVD视频平台的格式的应用程序代码(28、29);以及存储在盘上的装置,用于识别在回放以DVD视频格式存储的内容期间发生的事件,以便触发一个增强的DVD播放器来运行对应所触发事件的应用程序代码。
2.一种用于显示存储在盘上的音视频内容的方法,所述盘包括DVD视频内容和非DVD视频应用程序内容,该方法包括步骤运行存储在盘上的外部应用程序(28);启动DVD视频虚拟机(VM)(20),用以运行包括音视频内容和DVD视频菜单的DVD视频内容;在DVD视频VM(20)中,从所述盘读取DVD视频内容并且根据这一内容提供一个音视频显示;确定DVD视频VM中何时发生规定的事件,并且当发生所述规定的事件中的一个或多个时,从DVD视频VM回调到外部应用程序(28);以及执行由所发生事件触发的应用程序命令(28、29)。
3.权利要求2所述的方法,进一步包括启动一种平台独立的执行环境(18),并且在这一环境中运行所述外部应用程序(28)。
4.权利要求3所述的方法,包括将盘(6)插入一个适当的播放器并且自动启动平台独立的执行环境(18)。
5.权利要求3或4所述的方法,其中DVD VM包括一个用于根据平台独立的执行环境进行控制的应用编程接口API,所述方法包括步骤从平台独立的执行环境调用所述API,用以向该API登记规定的事件,并且当登记的规定事件发生时,从视频VM回调到平台独立的执行环境。
6.权利要求2-6中任一权利要求所述的方法,包括步骤调用API用以处理来自外部应用程序(28)的视频VM数据结构。
7.权利要求6所述的方法,其中视频VM数据结构为菜单。
8.权利要求2-7中任一权利要求所述的方法,包括识别一个存储在DVD中标识DVD视频内容的MPEG流描述符,以便触发在DVD视频VM中对规定事件之发生的确定。
9.一种DVD播放器,包括一个DVD虚拟机(VM)(20),用以显示DVD视频数据,该DVD虚拟机(20)进一步包括一个包含代码的应用编程接口(API)(30),通过所述代码,外部应用程序能调用API来启动或停止DVD VM的运行,以便登记规定的事件,并且当规定的事件发生时,调用一个回调应用程序;一个自动启动系统,如果存在外部应用程序,其用以自动运行存储在插入的DVD盘上的外部应用程序(28),由此,外部应用程序(28)调用DVD VM API(20)来回放DVD上的内容。
10.权利要求9所述的DVD播放器,其中DVD VM API还实现对API的调用来处理DVD数据结构。
11.一种计算机程序,用以令DVD播放器执行根据权利要求2-8中任一权利要求所述的方法的步骤。
12.权利要求11所述的计算机程序,被记录在数据载体中。
全文摘要
一种扩展的DVD系统包括DVD播放器2,它能够播放具有扩展应用程序能力的盘6。一旦插入盘,便从一种平台独立的执行环境(18)启动DVD视频虚拟机(VM)20,其从盘中读取视频内容并且根据这一内容提供一种音视频显示。DVD视频VM 20确定何时发生规定事件并且回调到平台独立的执行环境18,这产生需要执行的命令,例如存储于DVD盘6的独立应用程序。
文档编号G11B27/10GK1788316SQ200480013027
公开日2006年6月14日 申请日期2004年5月10日 优先权日2003年5月15日
发明者A·S·R·阿斯莱, I·本杰斯, J·C·福斯特, R·J·豪德斯沃思 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1