再现设备和再现方法 本申请是向中国知识产权局提交的申请日为 2005 年 7 月 29 日、 标题为 “与存储介 质一起使用的再现设备和方法” 、 申请号为 200580025708.1 的申请的分案申请。
技术领域 本发明的多方面涉及记录在存储介质中的视听 (AV) 数据再现, 更具体地讲, 涉及 包括 AV 数据和用于使用该 AV 数据提供附加功能的应用程序的存储介质、 再现该存储介质 的设备和方法。
背景技术 在存储介质中记录的视听 (AV) 数据包括压缩编码的 AV 信息和用于再现该 AV 信 息的导航信息。更详细地讲, AV 信息包括根据运动图像专家组 (MPEG) 标准编码的 AV 流。 AV 流包括视频、 音频和 / 或字幕。另外, AV 数据还可包括诸如 AV 流的编码属性或者随机访 问的入口点的信息以及在其中定义了 AV 再现顺序信息的播放列表。
导航信息包括用于控制 AV 信息的再现的导航命令 ( 例如, 用于再现播放列表的命 令和切换到另一播放列表的命令 )。 因此, 可通过参考导航信息再现 AV 信息, 从而用户可观 看诸如高质量电影的 AV 数据。
除了基本的 AV 数据再现功能之外, 还需要包括用于提高与用户的交互的编程功 能的应用程序。然而, 根据传统的包括 AV 数据的存储介质, 用于向用户提供交互功能的程 序数据 ( 例如, 使用被再现的 AV 数据聊天或者玩游戏 ) 不能与 AV 数据一起被记录在存储 介质中。
发明内容 技术方案
本发明的一方面提供了一种存储介质、 用于再现该存储介质的设备和方法, 在该 存储介质中, 记录有用于提供视听 (AV) 数据和使用该 AV 数据的附加功能的基于程序的应 用程序, 以提供 AV 数据的再现和提高的编程功能。
有益效果
如果使用根据本发明实施例的存储介质, 则可管理用于提供除了 AV 数据的再现 之外的附加功能的多个基于程序的应用程序, 当执行多个应用程序时, 可平稳地管理存储 器。即, 对于包括电影模式 AV 数据和添加了编程功能的程序模式数据的存储介质, 根据本 发明的实施例, 可使用系统数据和用于应用程序的管理信息来平稳地再现多个应用程序。
附图说明 通过参照附图对本发明示例性实施例的详细描述, 本发明的以上和 / 或其他方面 和优点将变得更加清楚和更容易理解, 其中 :
图 1 是根据本发明实施例的记录在存储介质中的数据的类型的示图 ;
图 2 是用于解释根据本发明实施例的使用系统数据再现电影模式数据的方法的 参考示图 ;
图 3 是用于解释根据本发明实施例的使用系统数据再现程序模式数据的方法的 参考示图 ;
图 4 是用于解释根据本发明实施例的使用系统数据和应用程序管理信息来再现 程序模式数据的方法的参考示图 ;
图 5 是根据本发明实施例的再现设备的示意性方框图 ;
图 6 是根据本发明实施例的再现设备的详细方框图 ;
图 7 是用于解释根据本发明实施例的再现存储介质的方法的流程图 ;
图 8 是根据本发明实施例的只记录有电影模式数据的存储介质中包括的系统数 据的示图 ;
图 9 是根据本发明实施例的记录有电影模式数据和程序模式数据的存储介质中 包括的系统数据的示图 ;
图 10 是用于解释根据本发明实施例的使用系统数据和应用程序管理信息来再现 存储介质的方法的流程图 ; 图 11 是用于解释根据本发明另一实施例的存储介质中记录的数据类型的示图 ;
图 12 是用于解释根据本发明另一实施例的使用系统数据和应用程序管理信息来 再现程序模式数据的方法的参考示图 ;
图 13 是用于解释根据本发明另一实施例的再现存储介质的方法的流程图 ; 和
图 14 是用于解释根据本发明另一实施例的使用系统数据和应用程序管理信息来 再现存储介质的方法的流程图。
最佳实施方式
根据本发明的一方面, 提供了一种存储介质, 包括 : 电影模式数据, 用于再现视听 (AV) 数据 ; 程序模式数据, 包括用于通过使用 AV 数据提供附加功能的多个应用程序 ; 系统 数据, 控制电影模式数据和程序模式数据的执行 ; 和管理信息, 以标题为单位管理应用程序 的执行, 其中, 系统数据包括模式信息, 所述模式信息指示将被再现的标题的再现模式是电 影模式还是程序模式。
根据本发明的一方面, 程序模式数据被实现为 JAVA 对象。
根据本发明的一方面, 所述 JAVA 对象包括标题中包括的至少一个 JAVA 应用程序。
根据本发明的一方面, 管理信息包括在 JAVA 对象中。
根据本发明的一方面, 管理信息包括用于在标题中将被执行的至少一个应用程序 的执行的控制信息和状态信息。
根据本发明的一方面, 模式信息包括在系统数据中的每项标题信息中, 并确定相 关标题的再现模式。
根据本发明的另一方面, 提供了再现设备, 包括 : 读取单元, 读取电影模式数据、 程序模式数据、 系统数据和管理信息, 所述电影模式数据用于再现视听 (AV) 数据, 所述程 序模式数据包括用于使用 AV 数据提供附加功能的多个应用程序, 所述系统数据用于控制 电影模式数据和程序模式数据的执行, 所述管理信息用于以标题为单位管理应用程序的执 行; 和再现单元, 通过参考模式信息确定再现模式, 所述模式信息包括在系统数据中, 并指
示将被再现的标题的再现模式是电影模式还是程序模式, 如果指示的再现模式是程序模 式, 则通过参考管理信息再现程序模式数据。
根据本发明的一方面, 如果将被再现的标题的模式信息被设置为电影模式, 则再 现单元通过使用在系统数据中与所述标题相应的标题信息中包括的电影对象的参考信息 来再现每个电影对象。
根据本发明的一方面, 如果将被再现的标题的模式信息被设置为程序模式, 则再 现单元参考在系统数据中与所述标题相应的标题信息中包括的每个 JAVA 对象, 并使用所 述 JAVA 对象中包括的管理信息来再现 JAVA 应用程序。
根据本发明的另一方面, 提供了一种再现方法, 包括 : 读取电影模式数据、 程序模 式数据、 系统数据和管理信息, 所述电影模式数据用于再现视听 (AV) 数据, 所述程序模式 数据包括使用 AV 数据提供附加功能的多个应用程序, 所述系统数据用于控制电影模式数 据和程序模式数据的执行, 所述管理信息用于以标题为单位管理应用程序的执行 ; 和
通过参考在读取的系统数据中包括的模式信息来确定再现模式, 所述模式信息指 示将被再现的标题的再现模式是电影模式还是程序模式 ; 和如果再现模式是程序模式, 则 通过参考管理信息再现程序模式数据。
本发明的其他方面和 / 或优点将在以下的描述中部分地被阐述, 并且从所述描述 中部分将明显, 或可通过实施本发明而了解。 具体实施方式
现在将详细描述本发明的实施例, 其示例参考附图被详细示出, 其中, 在整个附图 中, 相同的标号表示相同的部件。以下将参考附图描述这些实施例以解释本发明。
图 1 是根据本发明实施例的存储介质 1 中记录的数据的类型的示图。 参考图 1, 所 述存储介质 1 包括 : 电影模式数据 110、 程序模式数据 130、 系统数据 120 和应用程序管理信 息 140。
电影模式数据 110 包括视听 (AV) 信息和导航信息, 所述导航信息是一组用于再现 AV 信息的命令。电影模式数据 110 是用于基本 AV 再现的数据, 并且称为核心模式数据。由 于核心模式是这样一种模式, 即, 在该模式下, 将用于观看电影所需的数据再现为具有作为 典型的视频应用程序的数字通用盘 (DVD) 格式, 所以核心模式称为电影模式。以下, 核心模 式称为电影模式。如果数据包括电影模式数据 110 和具有用于提高与用户的交互的编程功 能的数据 ( 即, 程序模式数据 130), 则该数据称为用于全模式的数据或全模式数据。 尽管将 电影描述为核心模式, 但是应该理解, 其他数据 ( 例如, 程序模式或者仅音频模式 ) 可与全 数据模式下使用的电影一起作为核心模式。
当初始化再现设备 ( 例如, 如图 5 所示的设备 ) 时, 首先读取系统数据 120, 所述系 统数据 120 包括起始信息和标题信息。起始信息包括当再现设备再现存储介质 1 时将被首 先再现的对象的位置。标题信息包括入口点信息, 该入口点信息包括将被再现的每个对象 的位置。
除 AV 再现之外, 根据本发明的一方面, 程序模式数据 130 可包括用于提供附加功 能的至少一个应用程序的程序数据。 程序的示例包括用户交互功能、 使用视频的游戏功能、 在再现部分视频的同时显示导演解说词的功能、 在再现部分视频的同时显示其他附加信息的功能、 或在再现视频的同时聊天的功能。根据本发明的一方面, 程序模式数据 130 可包括 用于再现 AV 信息的呈现引擎的应用程序接口 (API) 功能以与再现的视频一起执行应用程 序。
应用程序管理信息 140 是当在再现存储介质中记录的 AV 数据的同时提供附加功 能时 ( 即, 当再现全模式数据时 ) 用于有效管理程序模式数据 130 的再现的信息, 下面将对 其进行详细描述。
尽管不需要在所有方面, 但优选的是, 根据该实施例的存储介质 1 可被容易地加 载到再现设备以及从再现设备卸载。 尽管不需要在所有方面, 但还是优选的是, 存储介质可 以是可使用再现设备的光学装置从其读取数据的光盘。例如, 存储介质可以是光盘, 例如, CD-ROM、 DVD 或 BD-ROM、 或者在将来将被研发的光盘。
现在将参考图 5 来描述根据该实施例的用于再现存储介质的再现设备的结构, 图 5 是根据本发明实施例的再现设备的示意性方框图。参考图 5, 所述再现设备是通过使用特 定模式数据来显示存储介质 520 上记录的 AV 数据的设备, 并包括读取单元 540、 缓冲器单 元 560 和再现单元 580。读取单元 540 从存储介质 520 读取将被再现的数据。如果存储介 质 520 是光盘, 则读取单元 540 包括用于读取光盘上记录的数据的光学装置。缓冲器单元 560 临时存储读取单元 540 读取的数据。再现单元 580 根据缓冲器单元 560 中存储的系统 数据 120 和应用程序管理信息 140 来再现 AV 数据和 / 或程序数据。通过显示单元 ( 未示 出 ) 显示再现的数据。尽管不要求, 但是应该理解, 所述设备除了再现数据之外还可记录数 据。 图 6 是根据本发明实施例的再现设备的详细方框图。参考图 6, 图 5 中示出的缓 冲器单元 560 和再现单元 580 被更详细地示出。缓冲器单元 560 包括根据数据类型的临时 存储从读取单元 540 输入的数据的程序数据缓冲器 562、 导航数据缓冲器 564、 AV 数据缓冲 器 566 和系统数据缓冲器 568。再现单元 580 包括根据再现的数据类型的具有再现功能的 再现引擎 : 程序引擎 582、 导航引擎 584、 呈现引擎 586、 应用程序管理器 588 和混和器 590。 尽管不要求, 但是应该理解, 在所述再现设备中还可包括其他部件。
程序引擎 582 再现从程序数据缓冲器 562 输入的程序数据。即, 程序引擎 582 执 行用于实现功能 ( 例如, 游戏、 聊天和导演解说词 ) 的特定应用程序。为此, 程序引擎 582 可通过视频向用户提供交互。程序引擎 582 如黑色箭头所示使用 API 函数来控制呈现引擎 586 再现视频。
导航引擎 584 从导航数据缓冲器 564 接收导航数据, 并控制 AV 数据的再现。即, 与程序引擎 582 相同, 导航引擎 584 如黑色箭头所示使用包括用于 AV 再现的命令的 API 函 数来控制用于再现视频的呈现引擎 586。
呈现引擎 586 对从 AV 数据缓冲器 566 输入的 AV 流、 静止图像或者数据文件解码, 并将其再现。应用程序管理器 588 从系统数据缓冲器 568 接收系统数据, 并控制再现引擎 582、 584 和 586 再现 AV 数据和 / 或程序数据。应用程序管理器 588 如虚线箭头所指示控制 程序引擎 582 和导航引擎 584, 以便呈现引擎 586 可再现 AV 数据并执行附加功能。应用程 序管理器 588 基于在系统数据中的起始信息中指定的入口点来确定将被首先再现的数据。 另外, 在再现期间, 应用程序管理器 588 将通过参考系统数据和搜索每个标题而获得的每 个标题的入口点发送到用于再现搜索到的标题的再现引擎, 以便搜索到的标题可被再现。
当选择了用于提供 AV 再现和编程功能的全模式时, 应用程序管理器 588 通过参考 应用程序管理信息 140 在逐标题的基础上管理多个应用程序。即, 应用程序管理器 588 执 行调度并管理诸如存储器的资源, 以便多个应用程序可被平稳地执行。作为下面在图 11 中 描述的另一实施例, 在作为程序模式数据 130A 的 JAVA 对象中包括应用程序管理信息 140A 的情况下, 程序引擎 582 而不是应用程序管理器 588 参考 JAVA 对象中包括的应用程序管理 信息 140A, 并执行调度和资源管理, 以便包括在 JAVA 对象中的多个应用程序可被平稳地执 行。
另外, 应用程序管理器 588 选择性地包括 : 用户输入接收和处理单元 ( 未示出 ), 处理用户输入, 并将用户输入发送到相关引擎。
混和器 590 通过用呈现引擎 586 再现的视频图像覆盖程序引擎 582 使用与呈现引 擎 586 相关的 API 函数再现的图形图像来产生一个图像, 并输出产生的图像。因此, 可与使 用基于程序的程序模式数据 130 再现视频同时实现附加功能。
总之, 根据本发明实施例的再现设备是使用特定模式数据根据电影模式或者程序 模式中的适当的显示模式来显示存储介质上记录的 AV 数据的设备。即, 所述再现设备使用 读取单元 540 从存储介质 1 或者 1A 读取如图 1 或者图 11 所示的电影模式数据 110、 程序模 式数据 130、 系统数据 120 和应用程序管理信息 140, 并使用相关的再现引擎再现数据。这 里, 将系统数据 120 发送到应用程序管理器 588, 并使用系统数据 120 基于系统数据的起始 数据中的入口点来确定将被首先再现的数据和模式。 所述再现设备在再现期间参考系统数 据 120。 如果模式发生改变或者如果搜索到标题, 则相应对象的入口点被发送到再现该对象 的相应的再现引擎, 并被再现。 在如图 1 所示应用程序管理信息 140 与其他数据分开存在的情况下, 应用程序管 理信息 140 还被发送到应用程序管理器 588, 被在逐标题的基础上用于管理诸如多个 JAVA 应用程序的程序模式数据 130, 并当所述多个 JAVA 应用程序被执行时应用程序管理信息 140 被用于平稳地管理存储器。
根据另一方面, 在应用程序管理信息 140A 包括在程序模式数据 130A( 即, JAVA 对 象 ) 的情况下, 程序引擎 582 读取程序模式数据 130A, 并通过参考程序模式数据 130A 中包 括的应用程序管理信息 140A 来控制多个应用程序的执行。尽管分开显示, 但是应该理解, 应用程序管理信息 140、 140A 和模式数据 130、 130A 可一起被包括在普通介质 1 或者 1A 上。
另外, 应用程序管理器 588 包括用户输入接收和处理单元, 该用户输入接收和处 理单元处理用户的输入, 并将用户的输入发送到相关模式的再现引擎。 示例包括, 但并不限 于, 通过显示器、 图形用户界面、 键盘、 遥控和其他类似的输入装置接收的数据。
现在将基于关于图 1、 2、 5 和 6 描述的再现设备的结构来详细描述根据本发明实施 例的再现存储介质的方法。图 2 是用于解释根据本发明实施例的使用系统数据 120 再现电 影模式数据 110 的方法的参考示图。 参考图 2, 将当初始化再现设备时通过读取单元 540 读 取的系统数据 120 发送到应用程序管理器 588。应用程序管理器 588 参考系统数据 120 中 的起始数据 222、 菜单 224 和标题 #1-#5226、 228、 230、 232、 234... 的入口点。当通过系统 数据 120 把将被首先再现的电影对象 ( 即, 电影对象 #1242) 的入口点发送到导航引擎 584 时, 导航引擎 584 将包括在电影对象 #1242 中的导航命令 ( 例如, PlayPL(#1)) 发送到呈现 引擎 586, 从而开始电影模式再现。
在通过使用将被首先再现的电影对象 ( 即, 电影对象 #1242) 中包括的导航命令连 续再现之后, 通过当前电影对象中的最后的导航命令开始下一电影对象 #2244 的再现。例 如, 根据电影对象 #1242 中的最后的导航命令 JumpObject(#2) 来再现与标题 #1 相应的电 影对象 #2244。
如果不存在用户请求的标题改变, 如图 2 的实线箭头所示, 如上所述顺序再现每 个电影对象 ( 即, 电影对象 #3246、 电影对象 #4248、 电影对象 #5250、 电影对象 #6252 和电影 对象 #7254), 在最后的电影对象 ( 即, 图 2 的电影对象 #7254) 之后, 再现设备根据内容制造 商设置的电影对象的最后导航命令停止或者定格最后的场景。
在一般电影模式下 ( 即, 当再现 AV 数据时 ), 如图 2 所示, 单个标题信息执行一个 电影对象。即使可顺序执行多个电影对象 ( 即, 在结束一个电影对象之后再现下一个电影 对象 ), 也不允许同时再现两个或者更多电影对象。 因此, 可将 AV 数据的再现范围清楚地确 定为特定电影对象的再现期间或者连续电影对象的再现期间。
如图 2 示出的系统数据 120 中包括的标题信息 226、 228、 230、 232、 234... 是允许 用户访问特定再现场景 ( 即, 随机访问 ) 的逻辑概念。尽管不需要在所有方面, 但是标题 信息的每一项都可包括入口点信息和关于是否存在用户访问的标题的信息, 所述入口点信 息是与相关标题相应的电影对象的再现开始位置。 因此, 除了连续再现之外, 可搜索特定场 景, 然后可从该场景继续再现 ( 如图 2 的虚线所示 )。 图 3 是用于解释根据本发明实施例的使用系统数据 120 再现程序模式数据 130 的 方法的参考示图。将导航 JAVA 应用程序的方法描述为程序模式的示例, 其中, 当再现 AV 数 据时提供附加功能。为了描述的方便, 假定程序模式指的是 JAVA 模式。然而, 应该理解, 可 使用其他类型的应用程序和语言。
参考图 3 和图 6, 通过系统数据缓冲器 568 将当初始化再现设备时通过读取单元 540 读取的系统数据 120 发送到应用程序管理器 588。应用程序管理器 588 参考系统数据 120 中的起始数据 322、 菜单 324 和标题 326、 328、 330... 的入口点。应用程序管理器 588 将参考的系统数据 120 中的入口点 ( 即, 将被首先再现的 JAVA 应用程序 #1 的入口点 ) 发 送到 JAVA 引擎 ( 即, 图 6 的程序引擎 582)。JAVA 引擎再现 JAVA 应用程序 #1。
由于可同时执行多个 JAVA 应用程序, 所以所述多个 JAVA 应用程序可与单项标题 信息相应。如图 3 所示, 起始数据 322 与 JAVA 应用程序 #1 相应。菜单 324 与 JAVA 应用程 序 #2 相应。标题 #1326 与 JAVA 应用程序 #3、 #4 和 #5 相应。标题 #2328 与 JAVA 应用程序 #6、 #7 和 #8 相应。还是如图 3 所示, JAVA 应用程序 #3 引用 JAVA 应用程序 #5, JAVA 应用程 序 #5 引用 JAVA 应用程序 #9, 所述 JAVA 应用程序 #9 没有唯一存在于标题 #1 内, 并且标题 #1 结束时并不终止。JAVA 应用程序 #3 和 #4 引用标题 #2328 中的 JAVA 应用程序 #6。JAVA 应用程序 #6 引用 JAVA 应用程序 #7。JAVA 应用程序 #7 引用 JAVA 应用程序 #8。此外, 在标 题 #1326 的开始, 直接引用 JAVA 应用程序 #3, 而在标题 #1 326 的执行期间则引用 JAVA 应 用程序 #4。在标题 #2328 的开始, 直接引用 JAVA 应用程序 #6。
图 3 中示出的每个 JAVA 应用程序 ( 即, JAVA App#1、 JAVA App#2、 JAVAApp#3、 JAVA App#4、 JAVA App#5、 JAVA App#6、 JAVA App#7、 JAVA App#8、 JAVA App#9...) 包括 JAVA 程 序提供的命令。尽管以记录的顺序执行所述命令, 但是所述命令被设计为在一个命令的执 行期间可执行其他命令。 另外, 即使执行了所有的命令之后, 由于必须执行与终止相关的命
令 ( 例如, exit()) 以终止 JAVA 应用程序, 所以 JAVA 应用程序不需要被终止。因此, 除非 执行与终止相关的命令, 否则与单项标题信息相关的多个 JAVA 应用程序根据每个 JAVA 应 用程序的寿命周期连续执行再现。
由于该特性, 特定的 JAVA 应用程序连续地处于再现状态而不管标题的概念, 从而 与特定标题相关的 JAVA 应用程序的再现范围是非特定的。另外, 当标题被改变时, 也不确 定根据每个 JAVA 应用程序的寿命周期正被再现的多个 JAVA 应用程序怎样被处理。
为了解决这些和其他问题, 使用应用程序管理信息 140。尽管不需要在所有方面, 但如图 1 所示, 根据本发明实施例的应用程序管理信息 140 可与其他数据分开存在。如图 11 所示, 根据本发明另一实施例的应用程序管理信息 140A 可包括在程序模式数据 130A 中, 并且可以是, 例如, 二进制或者文本类型的数据。
将如图 1 所示的应用程序管理信息 140 独立存在的情况描述为本发明的实施例, 然后将如图 11 所示的应用程序管理信息 140 包括在程序模式数据 130A 中的情况描述为本 发明的另一实施例。
现在将更详细地描述图 1 所示的实施例。图 4 是解释根据本发明实施例的使用系 统数据 120 和应用程序管理信息 140 再现程序模式数据 130 的方法的参考示图。参考图 4, 为了执行将通过作为系统数据 120 中的标题信息的标题 #1 被开始再现的 JAVA 程序 ( 应用 程序 JAVA App.#3), 应用程序管理器 588 从应用程序管理信息 140 中读取标题 #1 的应用程 序管理信息 ( 标题 #1 的 JAVA App.#3 管理信息 ), 并基于该管理信息执行 JAVA 程序 ( 应用 程序 JAVAApp.#3)。类似地, 起始数据 422 内的 JAVA App.#1 管理信息管理 JAVA 程序 ( 应 用程序 JAVA App.#1) 的执行, 菜单 424 内的 JAVA App.#2 管理信息管理 JAVA 程序 ( 应用 程序 JAVA App.#2) 的执行, 标题 #1 426 内的 JAVA App.#4 管理信息管理 JAVA 程序 ( 应用 程序 JAVA App.#4) 的执行, 标题 #1 426 内的 JAVAApp.#5 管理信息管理 JAVA 程序 ( 应用 程序 JAVA App.#5) 的执行, 标题 #2 428 内的 JAVA App.#6 管理信息管理 JAVA 程序 ( 应用 程序 JAVA App.#6) 的执行, 标题 #2428 内的 JAVA App.#7 管理信息管理 JAVA 程序 ( 应用 程序 JAVAApp.#7) 的执行。不在多个标题之一内的 JAVA App.#9 管理信息管理 JAVA 程序 ( 应用程序 JAVA App.#9) 的执行。 通过这样做, 如上所述, 不管 JAVA 应用程序的特性, 与特 定标题相关的 JAVA 应用程序的再现范围是清楚的, 即使存在标题改变, 也可基于相应的管 理信息来控制应用程序的执行。
同样地, 可不管 JAVA 对象中的 JAVA 应用程序的执行顺序就可再现所述 JAVA 应用 程序, 多于一个的应用程序可被同时执行, 并且不能预测应用程序的终止时间。因此, 为了 知道特定时间或者特定情况下 ( 例如, 在特定标题的范围内 ) 的 JAVA 应用程序的状态, 应 用程序管理信息 140 是必要的。
优选的, 但非要求, 应用程序管理信息 140 包括以下类型的信息 : 标题信息、 JAVA 应用程序信息、 以及每个 JAVA 应用程序的操作和状态信息。
标题信息是有关标题的信息。标题是这样一种逻辑单位, 即用户可通过该逻辑单 位感知 AV 数据的单位, 并且用户可通过标题访问存储介质中存储的信息。提供给用户的菜 单也是一种标题。
属于标题的 JAVA 应用程序信息是关于标题引用的 JAVA 应用程序的信息。具体地 讲, 每个标题可包括多个 JAVA 应用程序。这种信息与在一个标题中可被一起执行的 JAVA程序有关。
每个 JAVA 应用程序的操作和状态信息指的是指定每个 JAVA 应用程序的操作和状 态信息的信息。作为示例, 所述操作和状态信息可包括 : 开始时间、 开始方法、 终止时间、 和 / 或终止方法。 另外, 当通过用户的输入或者导航命令将特定标题选择作为标题指定的第一 执行应用程序时, 所述信息可包括关于在所述特定标题中将被首先再现的 JAVA 应用程序 的信息和该 JAVA 应用程序的存储器分配信息。
现在将参考图 7 所示的流程图来描述根据本发明实施例的再现存储介质的方法, 所述存储介质包括系统数据 120 和应用程序管理信息 140。 参考图 7, 当将包括系统数据 120 和应用程序管理信息 140 的存储介质加载到再现设备中时, 在操作 701, 再现设备将各种类 型的系统参数和全局参数初始化为预定值。另外, 在初始化中, 包括通过读取单元 540 读取 再现所需的系统数据 120 的处理。 在操作 702, 可预先读取在程序模式下再现所需的应用程 序管理信息 140。在再现设备的初始化完成之后, 在操作 703, 通过参考系统数据 120 的起 始信息开始第一重放, 在该第一重放中, 指定将被首先再现的对象。
这里, 读取在第一重放期间指定的标题中包括的模式信息, 从而确定标题的模式。 如果在操作 704 标题的模式信息是电影模式, 则在操作 707 开始被称为第一重放的电影对 象的再现 ( 参考图 2)。 如果在操作 704 标题的模式信息是程序模式, 则在操作 705 读取再现 程序模式的 JAVA 应用程序所需的应用程序管理信息 140。如果在再现设备的初始化 (701) 中已经读取了应用程序管理信息 140, 则可省略操作 705。即, 根据再现设备的规范, 可在再 现设备的初始化中预先读取应用程序管理信息 140, 或者当在程序模式下再现 JAVA 应用程 序时读取应用程序管理信息 140。 在操作 706, 应用程序管理器 588 通过参考应用程序管理信息 140 来执行属于特定 标题的 JAVA 应用程序。
如果在电影或程序模式再现期间通过导航命令、 API 或者用户输入改变了标题, 则 应用程序管理器 588 可通过如上所述的过程来控制相应模式数据的再现。
现在参考图 8 和图 9 来详细描述用于根据电影模式或者程序模式控制再现的系统 数据的 120 的结构。图 8 是根据本发明实施例的只记录有电影模式数据的存储介质中包括 的系统数据 120 的示图。参考图 8, 系统数据 120 包括起始信息 810、 菜单信息 820、 标题信 息 830, 并且起始信息 810、 菜单信息 820、 标题信息 830 分别包括为分别再现第一重放、 菜单 和标题而应该被执行的电影对象的用于第一重放的电影对象的参考信息 811、 用于菜单的 电影对象的参考信息 821、 用于标题的电影对象的参考信息 833。此外, 标题信息 830 包括 标题号 831 和关于用户是否访问的信息 832。如上所述, 对于电影模式, 不存在同时执行两 个或者更多电影对象的情况。因此, 即使信息 810、 820 和 830 的每一项都只包括一个电影 对象的参考信息, 也可平稳地执行再现。
然而, 对于还包括程序模式数据 130( 即, 支持全模式 ) 的存储介质, 由于可如上所 述再现一个标题中的多个 JAVA 应用程序, 所以可通过参考单独的应用程序管理信息 140 来 执行再现, 在应用程序管理信息 140 中, 定义了每个 JAVA 应用程序的寿命周期。图 9 是根 据本发明实施例的记录有电影模式数据和程序模式数据的存储介质中包括的系统数据 120 的示图。
参考图 9, 与图 8 中示出的只用于电影模式的系统数据 120 不同, 用于再现全模式
数据的系统数据 120 包括用于各项信息 910、 920 和 930 的模式信息 912、 922 和 934。起始 信息 910( 例如, 422)、 菜单信息 920( 例如, 424) 和标题信息 930( 例如, 426 至 430) 的各项 内的参考信息 911、 922 和 933 通常与图 8 中所示的参考信息 811、 821 和 833 相应。此外, 标题信息 930 内的标题号 931 和关于用户是否访问的信息 932 通常与图 8 中所示的标题号 831 和信息 832 相应。模式信息指示在相关存储介质中记录的数据是电影模式数据还是程 序模式数据, 并允许再现设备在不同的模式之间进行区分。
如果模式信息指示电影模式, 则通过参考图 8 中所述的电影对象来再现数据。如 果模式信息指示程序模式, 则不使用参考特定导航数据的信息 ( 例如, 参考电影对象的信 息 )。而是应用程序管理器 588 通过参考如上所述的应用程序管理信息 140 来再现相关的 程序模式数据, 和 / 或程序引擎 582 通过参考 JAVA 对象中包括的应用程序管理信息 140A 来再现相关的 JAVA 对象。
图 10 是用于解释根据本发明实施例的使用系统数据 120 和应用程序管理信息 140 来再现存储介质的方法的流程图。 参考图 10, 当在操作 1001 读取了系统数据 120 的应用程 序管理器 588 通过使用导航命令、 API 或者用户输入来分析起始信息 910、 菜单信息 920 或 标题信息 930 时, 在操作 1002, 应用程序管理器 588 检查起始信息 910、 菜单信息 920 或标 题信息 930 中包括的模式信息 912、 922 或 934。如果在操作 1003 模式信息 912、 922 或 934 指示电影模式, 则在操作 1007 使用起始信息 910、 菜单信息 920 或标题信息 930 中包括的电 影对象的参考信息, 然后在操作 1008 再现相应的 AV 数据。 如果在操作 1003 模式信息 912、 922 或 934 指示程序模式 ( 即, JAVA 模式 ), 则在 操作 1004 参考标题号 426、 428、 430、 起始数据 422 和 / 或菜单 424, 在操作 1005 参考与标 题号相应的 JAVA 对象的应用程序管理信息 140。 然后, 在操作 1006 参考在相应标题中定义 的将被首先再现的 JAVA 应用程序 ( 例如, JAVA App.#1、 JAVA App.#2、 JAVA App.#3、 JAVA App.#6 或 JAVA App.#9)。在操作 1008, 应用程序管理器 588 通过使用属于 JAVA 对象的应 用程序管理信息 140 中的特定标题的 JAVA 应用程序的操作和状态信息将关于将被首先再 现的 JAVA 应用程序的信息发送到程序引擎 582 来再现相应的 JAVA 应用程序。
现在将描述作为图 11 中示出的本发明另一实施例的 JAVA 对象中包括应用程序管 理信息 140A 的情况。参考图 11, 存储介质包括电影模式数据 110、 程序模式数据 130A 和系 统数据 120。具体地讲, 在程序模式数据 130A 中包括应用程序管理信息 140A。
电影模式数据 110、 程序模式数据 130A、 系统数据 120 和应用程序管理信息 140A 通常与图 1 中示出的相同。然而, 与图 1 中所示的应用程序管理信息 140 与其他数据分开 存在的情况不同, 应用程序管理信息 140A 包括在程序模式数据 130A 中。即, 程序模式数据 130A 包括与标题相应的应用程序管理信息 140A 以及多个应用程序。 程序模式数据 130A 被 实现为 JAVA 对象, 该 JAVA 对象包括在一个标题中包括的至少一个 JAVA 应用程序和应用程 序管理信息 140A。 然而, 应该理解, 可使用其他类型的对象来代替 JAVA 对象, 或者除了 JAVA 对象之外还可使用其他类型的对象。
图 12 是用于解释根据本发明另一实施例的使用系统数据 120 和应用程序管理信 息 140A 来再现程序模式数据 130A 的方法的参考示图。参考图 12, 应用程序管理器 588 读 取 JAVA 对象 #1, 并提取 JAVA 对象 #1 中包括的 JAVA 应用程序 #3 至 #5 中的每一个的管理 信息, 其中, 所述 JAVA 对象 #1 是其再现由作为系统数据 120 的标题信息的标题 #1 326 开始
的程序模式数据 130A。提取的管理信息包括执行相应的 JAVA 对象中包括的至少一个 JAVA 应用程序所需的操作信息和状态信息。可基于所述管理信息来执行所述相应的 JAVA 对象 中包括的 JAVA 应用程序。为了利用 JAVA 应用程序 #1、 JAVA 应用程序 #2 和 / 或 JAVA 应用 程序 #6 至 #8, 关于相应的 JAVA App.#1 管理信息、 JAVA App.#2 管理信息、 JAVA 对象 #2 管 理信息和 JAVA 对象 #3 管理信息对于起始数据 322、 菜单 324、 标题 #2328 和标题 #3330 执 行一组类似操作。因此, 不管以上所描述的 JAVA 应用程序的特性, 与特定标题相关的 JAVA 应用程序的再现范围是清楚的, 即使存在标题改变, 也可基于相应的管理信息来控制应用 程序的执行。
应用程序管理信息 140A 的详细内容通常与图 4 所示的相同。
图 13 是用于解释根据本发明另一实施例的再现存储介质的方法的流程图。参考 图 13, 当将包括系统数据 120 和应用程序管理信息 140A 的存储介质加载到再现设备中时, 在操作 1301, 再现设备将再现设备中的各种系统参数和全局参数初始化为预定值。 另外, 初 始化包括通过读取单元 540 读取再现所需的系统数据 120。在操作 1302, 应用程序管理器 588 分析系统数据 120 中包括的模式信息。
如果在操作 1303 分析的模式信息不指示 JAVA 模式 ( 即, 如果分析的模式信息指 示电影模式 ), 则在操作 1308 访问相关标题引用的电影对象。如果在操作 1303 标题的模 式信息指示 JAVA 模式, 则在操作 1304 访问相关标题引用的 JAVA 对象, 并在操作 1305 提取 JAVA 对象中包括的应用程序管理信息 140A。在操作 1306, 基于提取的应用程序管理信息 140A 来执行为执行 JAVA 应用程序所需的调度和资源管理。在操作 1307, 访问 JAVA 对象中 包括的 JAVA 应用程序, 并基于提取的应用程序管理信息 140A 来执行 JAVA 应用程序。 如果在电影或 JAVA 模式再现期间通过导航命令、 API 或者用户输入改变了标题, 则应用程序管理器 588 可通过以上描述的过程来控制相应模式数据的再现。
图 14 是用于解释根据本发明另一实施例的使用系统数据 120 和应用程序管理信 息 140A 再现存储介质的方法的流程图。 参考图 14, 当应用程序管理器 588 通过使用导航命 令、 API 或用户输入来分析起始信息、 菜单信息或标题信息时, 在操作 1401, 应用程序管理 器 588 参考系统数据 120 中包括的模式信息。如果在操作 1402 模式信息指示电影模式, 则 在操作 1407 使用起始信息、 菜单信息或标题信息中包括的电影对象的参考信息, 然后再现 相应的 AV 数据。
如果模式信息指示程序模式 ( 即, 在操作 1402 中为 JAVA 模式 ), 则在操作 1403 访问相关标题引用的 JAVA 对象, 并在操作 1404 提取 JAVA 对象中包括的应用程序管理信息 140A。在操作 1405, 基于提取的应用程序管理信息 140A 来执行为执行 JAVA 应用程序所需 的调度和资源管理。在操作 1406, 应用程序管理器 588 访问 JAVA 对象中包括的 JAVA 应用 程序, 并使用提取的应用程序管理信息 140A 中包括的操作信息和状态信息来执行 JAVA 应 用程序。
如上所述, 在程序模式下, 根据本发明实施例, 应用程序管理器 588 通过参考应用 程序管理信息 140 或 140A 来管理多个 JAVA 应用程序。即, 执行调度和资源 ( 例如, 存储 器 ) 管理以平稳地执行多个应用程序。换句话讲, 如果确定以标题为单位运行的应用程序, 则可确定每个应用程序所需的存储空间。另外, 通过根据应用程序的特性确定开始时间和 终止时间, 可存在不被同时执行的应用程序。 由于应用程序可使用同一存储空间, 所以可减
少所需的存储容量, 从而有效地管理存储器。
尽管使用 JAVA 应用程序描述了所述实施例, 但是相同的方法可同样被应用于 HTML、 程序语言和 / 或其他应用程序。
本发明的实施例可被编写为计算机程序, 并可在使用计算机可读记录介质执行程 序的通用和 / 或专用数字计算机中被实现。计算机可读记录介质的示例包括磁存储介质 ( 例如, ROM、 软盘、 硬盘等 )、 光学记录介质 ( 例如, CD-ROM、 DVD 等 ) 和诸如载波 ( 例如通过 互联网的传输 ) 的存储媒介。计算机可读记录介质还可分布于联网的计算机系统, 以便以 分布式方式存储和执行计算机可读代码。
如上所述, 如果使用根据本发明实施例的存储介质, 则除了管理 AV 数据的再现之 外还可管理用于提供附加功能的多个基于程序的应用程序, 当执行所述多个应用程序时, 可平稳地管理存储器。即, 对于包括电影模式 AV 数据和添加了编程功能的程序模式数据的 存储介质, 根据本发明实施例, 可使用用于应用程序的系统数据和管理信息来平稳地再现 多个应用程序。
尽管已参考本发明的优选实施例具体显示和描述了本发明, 但是本领域的技术人 员应该理解, 在不脱离权利要求限定的本发明的精神和范围的情况下, 可在形式和细节上 进行各种改变。上述实施例应该被认为只是为了描述的目的, 不是为了限制的目的。因此, 本发明的范围不是由本发明的详细描述来限定, 而是由权利要求及其等同物来限定, 该范 围内的所有不同应该被解释为包括在本发明中。