记录媒体、再现装置、记录方法、以及再现方法

文档序号:6783033阅读:105来源:国知局
专利名称:记录媒体、再现装置、记录方法、以及再现方法
技术领域
本发明是属于同时执行数字化后的视频作品的再现和应用程序的执行 的再现控制技术的技术领域的发明,更深地涉及将本再现控制技术应用于 记录媒体的民用的再现装置、程序中的情况下的应用技术。
背景技术
每次进行如上所述的同时执行时,在数字流的时间轴上怎样定义应用 程序的生存区间成为问题。所谓应用程序的生存区间是指开始基于应用程 序的服务后到终止服务的期间。若将该期间定义为如章节那样精细的单位, 则可以轮流执行基于各种应用程序的服务。但是,若精细定义应用程序的 生存区间,则来自记录媒体的应用程序读出次数增加。另一方面,BD-R0M、 DVD那样的视频作品发布用的光盘媒体大多读出速度慢。若基于这种慢的速 度的读出次数增加,则对构成视频作品本篇的视频流的读出产生影响,运 动图像再现容易中途切断。虽说实现了多种服务,但是在有运动图像再现 的障碍这样的同时执行中,变为使用户很害怕,另外,视频作品的制作者 敬而远之。

发明内容
本发明的目的是提供一种可以以精细的单位来定义应用程序的生存区 间的记录媒体。
上述目的通过记录媒体来实现,所述记录媒体上存储有索引表和多个 操作模式对象,其中所述索引表示出了与所述多个操作模式对象相对应的
多个标题,所述多个操作模式对象中的至少一个操作模式对象是在Movie 模式中使用的第一操作模式对象,而所述多个操作模式对象中的至少另一 个操作模式对象是在虚拟机中使用的第二操作模式对象,所述第一操作模 式对象包括示出控制过程的导航指令,所述第二操作模式对象包括高速缓 存管理信息,以及所述高速缓存管理信息包括与多个应用程序一一对应的 多个项,每个项是指示再现装置将所述对应的应用程序读取到高速缓存中 的信息,并且按顺序为所述每个项分配预定的位置,分配给所述项的所述
位置具有以下功能指示所述再现装置首先将与分配有最高位置的项相对
应的应用程序读取到所述高速缓存中,并且随后从与按顺序具有下一最高 位置的项相对应的应用程序开始,将与剩余项相对应的多个应用程序按所 述对应位置的降序顺序连续读取到所述高速缓存中。
由于进行以标题为单位将应用程序装载到高速缓存器中、并从高速缓 存器中删除应用程序的处理,所以变为可在标题中使应用程序几次读出到 虚拟机的状态。由于可几次进行向虚拟机的应用程序读出,所以即使以章 节这样的精细的单位来定义应用程序的生存区间,也可减少来自记录媒体 的应用程序的读出次数。另外,由于在不需要无缝再现的保证的标题分支 时进行从光盘向高速缓存器的读出,所以可以进行可几次执行应用程序的 容易地准备,而不会使用户意识到基于应用程序读出的中断。
这里,若要标准化具有高速缓存器的再现装置,则不好判断该存储器 规模为哪种程度。在考虑了这种标准化的情况下, 一般决定作为最小标准 的存储器规模,并在所有的再现装置上义务附带该安装。但是,若将作为 操作环境的存储规模抑制得较小,则对于应用程序的操作环境产生了重要 的制约,很可能产生封杀了授权承担者侧的创作欲望的结果。
为了维持操作保证,同时不封杀授权承担者的创作欲望,因此所述高
速缓存管理信息使得首先将与分配有顺序中最高位置的项相对应的应用 程序读取到所述高速缓存中,并且随后从与具有顺序中下一最高位置的项 相对应的应用程序开始,按所述对应位置的降序顺序将与剩余项相对应的 多个应用程序连续读取到所述高速缓存中。
可以根据再现装置的存储器规模和与各应用程序相对应的项的位置, 将与作为最小标准的存储器规模对应的应用程序、与更大的存储器规模的
操作环境对应的应用程序中的任一个装载到再现装置的存储器中。通过该 装载,可以提供使操作保证了最小标准下的操作、同时可以任意发挥授权 承担者的创作欲望的土壤。
由于将多个应用程序中,与存储器规模对应的应用程序装载到高速缓 存器中,所以可以根据再现装置的等级,使更高质量的应用程序操作,标 题制作的范围增大。


图1是表示本发明的再现装置的使用行为方式的图2是表示BD-ROM中的文件 目录结构的图3是表示AVClip时间轴和PL时间轴的关系的图4是表示通过4个Clip_Information_f ile_name进行的统一指定的
图5是表示基于PLmark的章定义的图6是表示SubPlayltem时间轴上的再现区间定义和同步指定的图7 (a)是表示Movie对象的内部结构的图7 (b)是表示BD-J对象的内部结构的图7 (c)是表示Java应用程序的内部结构的图8 (a)是表示在Jave归档文件中容纳的程序、数据的图8 (b)是表示xlet程序的一例的图9 (a)是表示顶端菜单、title#l、 title弁2的一系列标题的图; 图9 (b)是表示PlayListftl、 PlayList#2的时间轴一致的时间轴的
图10是表示包含主标题、在线购物标题、游戏标题三个标题的盘内容 的图11是表示图10所示的三个标题的再现图像的一例的图; 图12 (a)是根据图10的虚线所示的隶属关系来将各应用程序的生存 区间图表化的图12 (b)是为规定图12 (a)的生存区间而描述的应用程序管理表的 一例的图13 (a)是表示启动属性设定的一例的图13 (b)是表示有来自其他应用程序的应用程序调用而开始启动的应 用程序(application弁2)的图;
图14 (a)、 (b)是表示挂起(Suspend)为有意义的应用程序管理表、 生存区间的一例的图15是表示启动属性可取的三种形态(Persistent、AutoRun、Suspend)
和之前标题中的应用程序状态的三种形态(非启动、启动中、挂起 (Suspend))可取的组合的图16是表示本发明的再现装置的内部结构的图-,
图17 (a)是表示在本地存储器29上怎样识别BD-ROM上存在的Java 应用程序的图17 (b)是表示图17 (a)的应用的图18是将由R0M24中存储的软件和硬件构成的部件置换为层结构来描 述的图19是将基于展示引擎31 模块管理器34的处理的情况模式化的图20是将基于应用程序管理器36的处理的情况模式化的图21是表示工作存储器37 缺省操作管理器40的图22是表示基于应用程序管理器36的分支时的控制过程的图23是表示应用程序终止处理的处理过程的流程图24是模式表示了应用程序终止的过程的图25 (a)是表示在PL时间轴上定义生存区间的应用程序管理表的图; 图25 (b)是根据图25 (a)的应用程序管理表,来表示应用程序的生 存区间的图26 (a)表示基于PL时间轴设定的标题时间轴;
图26 (b)是表示基于主应用程序的生存区间决定的标题时间轴;
图26(c)是表示基于多个应用程序的生存区间设定的标题时间轴的图27是表示标题再现时的应用程序管理器36的处理过程的流程图28 (a)是表示通过BD-ROM实现的菜单等级的图28 (b)是表示用于实现菜单等级的MOVIE对象的图29是将索引表和从索引表向各Movie对象的分支的情况模式化的
图30 (a)表示如图29 (b)那样描述了索引表的情况下的分支;
图30 (b)是表示非AV系标题强制终止时的分支的图31是表示模块管理器34的处理过程的流程图32是表示基于应用程序管理器36的应用程序强制终止的动作例的
图33是表示基于重放控制引擎32的PL再现过程的流程图34是表示角度切换、Skip Back、 Skip Next的接收过程的流程图35是表示调用了 SkipBack、 SkipNextAPI时的处理过程的流程图36是表示基于展示引擎31的处理过程的细节的流程图37是表示SubPlayltem的再现过程的流程图38是表示第五实施方式的应用程序管理器36的处理过程的流程图39是表示数据管理表的一例的图40是表示BD-J对象假定的执行模块的图41 (a)是表示本地存储器29中的Java归档文件生存的生存区间的
图41 (b)是表示为了规定图41 (a)的Java归档文件生存区间而描 述的数据管理表的图42是表示基于循环方式(carousel method)的Java归档文件嵌入 的图43 (a)是表示基于交叉(interleave)方式的AVClip嵌入的图; 图43 (b)是表示读入属性的三种类型的图; 图44 (a)是表示数据管理表的一例的图44 (b)是表示基于图44 (a)的数据管理表的分配的本地存储器29
的存储内容的变迁的图45 (a)是对比表示新旧再现装置中的本地存储器29的存储器规模 的图45 (b)是表示设置了读入优先级的数据管理表的一例的图46是表示基于应用程序管理器36的预装载控制的处理过程的图47 (a)是表示规定了 applicationID相同,但是读入优先级彼此不
同的应用程序的数据管理表的一例的图47 (b)是基于图47 (a)的数据管理表的分配的本地存储器29的 存储内容的改变的图48 (a)是表示描述为在应预装载的应用程序、应装载的应用程序上 添加同一 applicationID的数据管理表的一例的图48 (b)是表示在存储器规模小的再现装置中的本地存储器29的存
储内容的改变的图48 (c)是表示在存储器规模大的再现装置中的本地存储器29的存
储内容的改变的图49是表示基于根据数据管理表的应用程序管理器36的装载处理的 处理过程的图50是表示基于当前的再现时刻到达应用程序q的生存区间的情况下 的应用程序管理器36的处理过程的图51是将怎样进行基于Java虚拟机38的应用程序的读入的情况模式 化的图52 (a)是表示第七实施方式的BD-J对象的内部结构的图; 图52 (b)是表示播放列表管理表的一例的图52 (c )是表示在分支目标标题的播放列表管理表中,存在再现属 性设定为AutoPlay的PL的情况下,再现装置进行怎样的处理的图53 (a)是表示设定为再现属性表示非自动再现的情况下的非AV系 标题中的标题时间轴的图53 (b)是表示再现属性设定为AutoPlay的非AV系标题的标题时间 轴的图53(c)是表示在播放列表管理表中设定为再现属性表示"AutoPlay",
应用程序强制终止的情况的图53(d)是表示在播放列表管理表中设定为再现属性表示"AutoPlay",
主应用程序的启动失败的情况的图54是表示第七实施方式的应用程序管理器36的处理过程的图; 图55是表示将通过播放列表管理表中设定为"再现属性二AutoPlay"
而进行怎样的再现的情况模式化的图56 (a)、 (b)是表示应用程序的处理和启动属性的关系的图; 图57是将怎样进行基于第八实施方式的Java虚拟机38的应用程序的 读入的情况模式化的图58 (a)、 (b)是表示第九实施方式的读入优先级的一例的图59 (a)是表示添加了组属性的数据管理表的图59 (b)是表示对于基于应用程序管理表的本地存储器29的访问的
图60是表示应用程序管理表的分配单位的变化的图。
具体实施例方式
(第一实施方式)
下面,说明本发明的再现装置的实施方式。首先,开始说明本发明的 再现装置的实施方式中,使用行为方式。图1是表示本发明的再现装置的 使用行为方式。图1中,本发明的再现装置是再现装置200,与电视机300、 遥控器400共同形成家庭影院系统。
该BD-ROM100用于向由再现装置200、遥控器300、电视机400形成 的家庭影院系统供给视频作品。
以上是本发明的再现装置的使用方式的说明。
接着,说明作为本发明的再现装置的再现对象的记录媒体BD-ROM。 通过BD-ROM,向家庭影院系统供给的盘内容由彼此可分支的多个标题构 成。各标题由一个以上的播放列表和使用该播放列表的动态控制过程构成。
所谓播放列表是指由一个以上的数字流和该数字流中的再现路径构 成,是具有"时间轴"的概念的BD-ROM上的访问单位。由于包含以上的
播放列表和动态控制过程,所以标题兼有数字流特有的时间轴的概念和计 算机程序的性质。
图2是表示BD-ROM中的文件'目录结构的图。该图中,BD-ROM在 根目录下有BDMV目录。
BDMV目录中有添加了扩展符bdmv的文件(index.bdmv , MovieObject.bdmv )、和添加了扩展符BD-J的文件(00001 .BD-J , 00002.BD-J, 00003.BD-J)。并且,在该BDMV目录下进一步存在称作PLAYLIST目录、
CLIPINF目录、STREAM目录、BDAR目录的4个子目录。
PLAYLIST目录中有添加了扩展符mpls的文件(00001.mpls,
00002. mpls, 00003 .mpls)。
CLIPINF目录中有添加了扩展符clpi的文件(00001. clpi, 00002. clpi,
00003. clpi)。
STREAM目录中有添加了扩展符m2ts的文件(00001. m2ts, 00002. m2ts, 00003. m2ts)。
BDAR目录中有添加了扩展符jar的文件(00001. jar, 00002. jar, 00003.
jar)。可以看出通过以上的目录结构,在BD-ROM上配置了彼此不同类别 的多个文件。
该图中添加了扩展符m2ts的文件(00001. m2ts, 00002. m2ts, 00003. m2ts…)存储有AVClip。 AVClip有MainClip、 SubClip的类别。MainClip 是通过对视频流、音频流、展示图形流、交互图形流这样的多个元素流进 行多路复用来得到的数字流。
SubClip是音频流、图形流、文本字幕流等相当于仅一个元素流时的数 字流。
添加了扩展符"clpi"的文件(00001. clpi, 00002. clpi, 00003. clpi…) 是分别一一对应于AVClip的管理信息。由于是管理信息,所以Clip信息具 有AVClip中的流的编码形式、帧频、比特率、分辨率等信息和表示提示(cue) 位置位置的EP—map。
添加了扩展符"mpls"的文件(00001.mpls, 00002.mpls, 00003.mpls…) 是存储播放列表信息的文件。播放列表信息是参考AVClip来定义播放列表 的信息。播放列表由MainPath信息、PLMark信息、SubPath信息构成。
MainPath信息由多个Playltem信息构成。所谓Playltem是指在一个以 上的AVClip时间轴上,通过指定InJTime, Out一Time来定义的再现区间。 通过配置多个Playltem信息,来定义由多个再现区间构成的播放列表(PL)。 图3是表示AVClip和PL的关系的图。第一级表示AVClip具有的时间轴, 第二级表示PL具有的时间轴。PL信息包含Playltem弁l、 #2、 #3三个 Playltem信息,通过这些Playltem# 1 、 #2、 #3的In—Time, Out—Time来 定义三个再现区间。若排列这些再现区间,则定义了与AVClip时间轴不同
的时间轴。其是第二级表示的PL时间轴。这样,通过Playltem信息的定义, 可以进行与AVClip不同的时间轴的定义。
对于AVClip的指定原则上是一个,但是也可对多个AVClip统一指定。 该统一指定通过Playltem信息中的多个Clip—Information—file—name来进行。 图4是表示通过4个Clip—Information—file_name来进行的统一指定的图。 该图中,第一级 第四级表示4个AVClip时间轴(AVClip#l、 #2、 #3、 #4的时间轴),第五级表示PL时间轴。通过Playltem信息具有的4个 Clip—Information—file—name来指定这四个时间轴。由此,通过Playltem具有 的ln—Time、 Out—Time,来定义可择一再现的4个再现区间。由此,在PL 时间轴上定义了由可切换的多个角度视频构成的区间(所谓的多角度区 间)。
PLmark信息是PL时间轴上将任意的区间指定为章节的信息。图5是 表示基于PLmark的章节定义的图。该图中,第一级表示AVClip时间轴, 第二级表示PL时间轴。图中的箭头pkl、 2表示PLmark中的Playltem指 定(ref—to_PlayItem_Id)和一个时刻的指定(mark—time一stamp)。通过这些 指定在PL时间轴上定义了三个章节(Chapter弁l、 #2、 #3)。
SubPath信息由多个SubPlayltem信息构成。SubPlayltem信息通过在 SubClip的时间轴上指定In—Time、 Out—Time来定义再现区间。另外, SubPlayltem信息可以进行使SubClip时间轴上的再现区间与PL时间轴同步 的同步指定,通过该同步指定,来使PL时间轴和SubPlayltem信息时间轴 同步行进。图6是表示SubPlayltem时间轴上的再现区间定义和同步指定的 图。该图中,第一级表示PL时间轴,第二级表示SubPlayltem时间轴。分 别是图中的 SubPlayItem.IN—time表示再现区间的始点, SubPlayltem.Out—time表示再现区间的终点。由此,可以看出在SubCLip时 间轴上也定义了再现区间。箭头Snl中Sync—Playltem—Id表示对于Playltem 的同步指定,箭头Sn2中sync—start_PTS_of—Playltem表示PL时间轴中的 Playltem上的一时刻的指定。
可对可切换多个AVClip的多角度区间、和使AVClip—SubClip同步的 同步区间进行定义,这是BD-ROM中的播放列表信息的特征。将以上的 Clip信息和播放信息分类为"静态脚本(scenario)"。这是因为通过以上的
Clip信息和播放列表信息,定义了作为静态再现单位的PL。以上,结束对
静态脚本的说明。
接着,说明"动态脚本"。所谓动态脚本是指动态规定AVClip的再现 控制的脚本数据。所谓"动态"是指通过再现装置的状态变化和来自用户 的键事件再现控制的内容变化。BD-ROM中,作为该再现控制的动作环境 假定了两个模式。第一个是与DVD再现装置的动作环境极其类似的动作环 境,是指令库的执行环境。第二个是Java虚拟机的动作环境。这两个动作 环境中的第一个称作HDMV模式,第二个称作BD-J模式。由于有这两个 动作环境,所以假定其中一个动作环境来描述动态脚本。将假定了 HDMV 模式的动态脚本称作Movie对象,通过管理信息来进行定义。另一方面, 将假定了 BD-J模式的动态脚本称作BD-J对象。
首先,开始说明Movie对象。
〈Movic对象>
Movie对象是"标题"的构成要素,存储在文件MovieObject.bdmv中。 图7 (a)是表示Movie对象的内部结构的图。Movie对象由包括属性信息、 多个导航指令的指令串构成。
属性信息包括在PL时间轴中,进行了 MenuCall (调用菜单)时, 表示是否想要MenuCall后的再现重新开始的信息(resume—intention—flag); 在PL时间轴上表示是否屏蔽了 MenuCall的信息(menu—call—mask);和表 示是否屏蔽了标题搜索的信息(title—search—flag)。 Movie对象可以兼有"时 间轴"+ "程序控制"两个性质,从而通过该Movie对象来描述执行主再 现的标题等多种标题。
导航指令串由实现条件分支、再现装置中的状态寄存器的设定、状态 寄存器的设定值取得等的指令串构成。下面表示可在Movie对象中描述的 指令。
PlayPL指令
格式PlayPL (第一自变量,第二自变量)
第一自变量是播放列表的号,可指定应再现的PL。第二自变量可以使 用该PL中包含的Playltem和该PL中的任意的时刻、Chapter、 Mark来指
定再现开始位置。
将用Playltem指定PL时间轴上的再现开始位置的PlayPL函数称作 PlayPLatPlayltem ();
将用Chapter指定PL时间轴上的再现开始位置的PlayPL函数称作 PlayPLatChapter ();
将用时间信息指定PL时间轴上的再现开始位置的PlayPL函数称作 PlayPLatSpecified Time ()。
JMP指令
格式JMP自变量
JMP指令是在中途丢弃(discard)现在的动态脚本,执行作为自变量 的分支目标动态脚本的分支。JMP指令的形式有直接指定分支目标动态脚 本的直接参考形式和间接指定分支目标动态脚本的间接参考形式。
由于Movie对象中的导航指令的描述与DVD中的导航指令的描述方式 极其相似,所以可以高效进行将DVD上的盘内容移植到BD-ROM上的操 作。对于Movie对象,存在有在下面的国际公开公报中记载的在先的技术。 对于细节,要参考该国际公开公报。
国际公开公报WO2004/074976
终止以上对Movie对象的说明。接着说明BD-J对象。 <BD-J对象>
添加了扩展符BD-J的文件(OOOOl.BD-J、 00002.BD-J、 00003.BD-J) 构成BD-J对象。BD-J对象是在Java编程环境下描述的BD-J模式的动态脚 本。图7 (b)是表示BD-J对象的内部结构的图。如该图所示,BD-J对象 由与Movie对象同样的属性信息、应用程序管理表构成。在具有属性信息 方面,BD-J对象与Movie对象大致相同。与Movie对象不同的是BD-J对 象没有直接描述指令。即,在Movie对象中,控制过程由导航指令来直接 描述。与此相对,BD-J对象中,通过在应用程序管理表上定义以该标题为 生存区间的Java应用程序,来间接规定控制过程。通过这种间接的规定, 可以高效进行在多个标题中使控制过程公共的控制过程的公共化。
图7 (c)是表示Java应用程序的内部结构的图。该图中,应用程序由 在虚拟机的堆(heap)区域(还称作工作存储器)上装载的一个以上的xlet 程序构成。在该工作存储器中, 一个以上的线程动作,由在工作存储器上
装载的xlet程序和线程构成应用程序。以上是应用程序的构成。
相当于该应用程序的实体的是在BDMV目录下的BDAR目录上存储的 Java归档(archive)文件(00001.jar、 00002.jar)。下面,说明Java归档文件。
Java归档文件(OOOOljar、 00002.jar)是存储了构成Java应用程序的 程序和数据的Java归档文件。图8 (a)是表示由归档文件容纳的程序、数 据的图。该图中的数据通过Java归档来整理配置了框内所示的目录结构的 多个文件。框内所示的目录结构由root目录、Java目录、image目录构成。 在root目录上酉己置common.pkg,在java目录上酉己置aaa.class、 bbb.class, 在image目录上配置menu.jpg。 Java归档文件通过Java归档来整理这些而 得到。这些数据在每次从BD-ROM向高速缓存器中读出时解压,在高速缓 存器上,作为在目录上配置的多个文件进行处理。Java归档文件的文件名 中的"xxxxx"的5位数值表示应用程序的ID (applications )。在将本Java 归档文件向高速缓存器读出时,通过参考该文件名中的数值,可以取出构 成任意的Java应用程序的程序、数据。
Java归档文件中归纳为一个的文件中有xlet程序。
Xlet程序是可利用JMF (Java Media Frame Work)接口的Java程序。 Xlet程序由接收键事件的EventListner等多个函数构成,根据JMF等的方 式,来进行基于所接收的键事件的处理。
图8 (b)是表示xlet程序的一例的图。JMF A "BD:〃00001.mpls"是 向Java虚拟机命令再现PL的播放器实例(player instance)的生成的方法。 A.play是向JMF播放器实例命令再现的方法。该JMF播放器实例生成是基 于JMF库(library)进行。Xlet程序的描述并不限于BD-ROM的PL,是可 适用于具有时间轴的内容整体的JMF的描述。由于可以进行这种描述,所 以可以督促擅长Java编程的软件进行BD-J对象的生成。
图8 (b)中的JumpTitle ()是应用程序API的调用。该应用程序API 向再现装置命令向其他标题的分支(图中是title#l )。这里所谓应用程序API 是指通过BD-ROM再现装置供给的API (Appliation Interface)。除了 JumpTitle指令之夕卜,通过应用程序API的调用,可以将BD-ROM再现装置 特有的处理描述在xlet程序中。
BD-J模式中,PL再现通过JMF接口来规定。由该JMF播放器实例规 定了 PL时间轴,所以标题时间轴由具有JMF播放器实例的标题来规定。 另外,BD-J模式中通过JumpTitleAPI的调用来规定从标题向标题的分支。 由于JumpTMeAPI调用可以说是规定标题的终止时刻的调用,所以具有这 样的JMF播放器实例、JumpTitleAPI调用的应用程序在BD-J模式中规定标 题的开始和终止。将该应用程序称作主再现应用程序。
以上是对BD-J模式下的动态脚本的说明。通过该BD-J模式中的动态 脚本,定义了兼有PL再现和程序控制的标题。另外,在本实施方式中,将 构成应用程序的程序、数据整理为Java归档文件,但是也可以是LZH文件、 zip文件。
<标题时间轴>
结束了对构成标题的静态脚本、动态脚本的说明后,说明通过这些来 定义怎样的时间轴。将用标题定义的时间轴称作"标题时间轴"。所谓标题 时间轴是由通过Movie对象或BD-J对象命令再现的PL构成。这里举出一 例的是如图9 (a)这样的标题。该标题是顶部菜单一title#l—title#2—顶部 菜单、顶部菜单一title#3—顶部菜单的一系列的标题。这些标题中,若title#l 命令PlayListtfl 、 PlayList#2的再现,title#2命令PlayList#3的再现,title#3 指令PlayList弁4的再现,则如图9 (b)那样,title#l具有将PlayList弁l 、 PlayLis祐2的时间轴相加的时间轴。同样,title#2具有由PlayList#3时间轴 构成的时间轴,PlayLis说3具有由PlayLis估4时间轴构成的时间轴。在这些 标题时间轴的PL时间轴上保证了无缝再现,但是在标题时间轴间不需要保 证无缝再现。每次Java应用程序动作时,必需将可以在虚拟机的工作存储 器上存在Java应用程序的期间(服务期间)定义在这样的标题时间轴上。 在BD-J模式中,每次Java应用程序动作时,必需在彼此互相分支的时间轴 上定义Java应用程序的服务期间。该服务期间的定义是每次进行面向BD-J 的编程时的注意点。
最后,说明index.bdmv中所存储的IndexTabel 。 IndexTable是使标题号、 Movie对象、BD-J对象对应的表,是在从动态脚本向动态脚本分支时所参 考的间接参考用表。IndexTable由分别对多个标签的Index构成。各Index 描述了对应于该标签的动态脚本的识别符。通过参考这种IndexTable,可以
实现分支,而不用严格区分Movie对象、BD-J对象的不同。对于IndexTable
其细节记载在下面的国际公开公报中。对于细节要参考该公报。 国际公开公报WO2004/025651A1公报 以上是对BD-ROM上记录的文件的说明。 <应用程序管理表>
具有JMF播放器实例、JumpTitleAPI调用的应用程序规定标题时间轴 的情况如上那样,但是在标题时间轴上使不具有JMF播放器实例、 JumpTitleAPI调用的其他应用程序动作的情况下,明确规定从时间轴的何处 开始基于应用程序的服务,在时间轴的何处终止基于应用程序的服务的"服 务开始点 终止点"很重要。在本实施方式中,将开始基于应用程序的服 务后到终止定义为"应用程序的生存"。用于定义应用程序的生存的信息存 在于BD-J对象的应用程序管理表中。之后更详细地说明应用程序管理表。
应用程序管理表(AMT)是在各标题具有的标题时间轴中,表示在虚 拟机的工作存储器上可生存的应用程序的信息。所谓工作存储器中的生存 是指可向工作存储器读出构成该应用程序的xlet程序,并进行基于虚拟机 的执行的状态。图7 (b)中的虚线箭头atl展开(closeiip)表示应用程序 管理表的内部结构。如该内部结构所示,应用程序管理表由"生存区间"、 表示将该标题作为生存区间的应用程序的"applicatkmID"和该应用程序的 "启动属性"构成。
在不久的将来,将要实施的盘内容选作题材,而掺杂具体例来说明应 用程序管理表中的生存区间描述。这里作为题材的盘内容包含构成主视频 的主标题(title#l)、构成在线购物的在线购物标题(title#2)、构成游戏应 用程序的游戏标题(title#3)这三个特性不同的标题。图10表示包含主标 题、在线购物标题、游戏标题三个标题的盘内容的图。在该图中的右侧描 述了 IndexTable,左侧描述了三个标题。
右侧的虚线框表示各应用程序属于哪个标题的隶属关系。三个标题中, title#l由application^ 1、 application弁2、 application#3三个应用程序构成。 title#2包含application弁3 、 application # 4两个应用程序,title#3包含 applicationtt5。图11是表示图IO所示的三个标题的再现图像的一例的图。 在这三个标题的再现图像中,在图11 (a)、 (b)的主标题、在线购物标题
上存在以购物车为基础的影像(车crl) 1,在图11 (c)的游戏标题上不 存在车影像。由于车crl需要在主标题、在线购物标题中公共显示,所以 在title弁l、 title#2两者中启动作为车应用程序的application弁3。这种多个标 题中启动的应用程序上除了上述的车应用程序之外,还有根据模仿视频作 品中出现的MASCOT (自动过程计算机操作测试)的代理应用程序、菜单 调用操作来进行菜单显示的菜单应用程序。
若根据图10的虚线所示的隶属关系来将各应用程序的生存区间图表 化,则变为如图12 (a)。该图中,横轴表示标题时间轴,纵轴方向上配置 了各应用程序的生存区间。这里由于applications 1、 application#2仅属于 title#l ,所以这些生存区间留在title#l内。由于application#4仅属于title#2, 所以其生存区间仅留在tit1^2内。由于application#5仅属于titleW,所以 其生存区间仅留在title弁3内。由于application弁3属于title弁l、 title#2,所以 其生存区间经过title^—title弁2。若根据该生存区间,来描述应用程序管理 表,则titMl, #2, #3的应用程序管理表变为如图12 (b)所示。若这样来 描述应用程序管理表,则在title#l的再现开始时,将application# 1 、 application#2、 application弁3装载在工作存储器中。并且,在title#2开始 时,进行从工作存储器中删除application # 1 、 application # 2 ,仅设为 application#3的控制。与此相同,在title#2的开始时,进行将application#4 装载在工作存储器中,在title#3的开始时,进行从工作存储器中删除 application # 3 、 application # 4的控审U 。
进一步,进行在title弁3的再现中,将application井5装载在工作存储器 中,并在title弁3的再现终止时,从工作存储器中删除application弁5的控制。
由于在有标题间分支的情况下,将在分支源一分支目标中生存的应用 程序存储在工作存储器上,将仅在分支目标而不在分支源存在的应用程序 读入到工作存储器中就可以,所以将应用程序读入到工作存储器的次数为 必要最低次数。这样,通过减小读入次数,可以实现不会意识到标题的边 界的应用程序,B口,无边际的应用程序。
接着说明应用程序的启动属性。启动属性有表示自动的启动的 "AutoRim"、表示不是自动启动的对象,但是也可放在虚拟机的工作存储 器上的"Persistent"、虽然放在虚拟机的工作存储器上,但是不能进行CPU功率的分配的"Suspend"。
"AutoRun"是与对应的标题的分支一起将该应用程序读入到工作存储 器中,且表示执行的内容的生存区间。若存在从某个标题向其他标题的分 支,则进行应用程序管理的管理主体(应用程序管理器)将在该分支目标 标题中生存,且启动属性设定为AutoRim的应用程序向虚拟机的工作存储 器的读入来进行执行。由此,该应用程序与标题分支一起来自动启动。作 为将启动属性设定为AutoRun的应用程序,可举出具有JMF播放器实例和 JumpTitleAPI调用这样的应用程序。这是因为这种应用程序是规定标题时间 轴侧的应用程序,若不自动启动这种应用程序,标题时间轴的概念不清。
启动属性"Persisten"是继续属性,表示继续分支源标题中的应用程序 的状态。另外,是表示也可装载在工作存储器中的属性。在启动属性是 "Persistent"的情况下,添加了该启动属性的应用程序允许来自其他应用程 序的调用。进行应用程序管理的管理主体(应用程序管理器)若从启动中 的应用程序有调用,则将该应用程序的applicationID描述在应用程序管理 表中,并判断启动属性是否是"Persistent"。若是"Persistent",则将该应用 程序装载在工作存储器中。另一方面,在没有将该调用目标应用程序的 applicationID描述在应用程序管理表上的情况下,不将该应用程序装载在工 作存储器中。基于应用程序的调用限于添加了该"Persistent"的应用程序。
由于"Persistent"是没有明示指定启动属性的情况下所添加的缺省的启 动属性,所以在某个应用程序的启动属性是无指定"一一"的情况下,是 指该应用程序的启动属性是该Persistent。
说明这些启动属性在图11的应用程序中怎样描述。图13是对于图12 的三个应用程序的启动属性的设定例。图12所示的三个应用程序中 application^如图13 (b)所示,设为有来自其他应用程序的应用程序调用、 并开始启动的应用程序。与其余的applications 1、 application^是与title #1的开始同时自动启动的应用程序。这时,如图13 (a)所示,将应用程 序管理表中的各应用程序的启动属性application#l、 application#3设作 "AutoRun",将application#2设作"Persistent"。这时,application# 1 、 application#3在向title井l的分支时自动装载在工作存储器中来执行。另一 方面,由于application井2的启动属性是"Persistent",所以解释为"application
#3是可装载在虚拟机的工作存储器上的应用程序"的消极含义。因此, application井2在有来自application井l的调用时才装载在虚拟机的工作存储 器上并执行。通过以上的生存区间*启动属性,将可在虚拟机上动作的应 用程序的数目限制为4个以下,可以将总线程数限制为64个以下,所以可 以保证应用程序的稳定动作。 接着,说明Suspend。
所谓Suspend是指在分配了资源,但是没有分配CPU功率的状态下放 置应用程序的情况。该Suspend对例如在游戏标题的执行中,经过旁路(side pass)的处理有意义。图14 (a) (b)是表示Suspend有意义的事例的图。 如图14 (b)所示,有三个标题(title#l、 title#2、 title#3),其中title#l、 title#3 执行游戏应用程序,但是中间的title#2是旁路,用来实现视频再现。在旁 路中,由于需要实现视频再现,所以使游戏的执行中断。由于在游戏应用 程序中计数了过程中的分数等,所以要在titled的前后维持资源的存储植。 这时,描述应用程序管理表,使其在titl^2的开始时刻挂起游戏应用程序, 在title#3的开始时刻重新开始application弁2。由此,由于在title#2中, application弁2分配了资源,所以维持了资源的存储植。但是,由于是没有 分配CPU功率的状态,所以不会通过虚拟机来执行application弁2。由此, 在游戏标题的执行中,实现了执行旁路的处理。
图15是表示启动属性可取的三种形态(Persistent、 AutoRun、 Suspend) 和最近前面的标题中的应用程序状态的三种形态(非启动、启动中、Suspend) 可取的组合的图。在最近前面状态是"非启动"的情况下,若启动属性是 "AutoRun",则在分支目标标题中,启动该应用程序。
若最近前面状态是"非启动",启动属性为"Persistent"、 "Suspend", 则分支目标标题中,其应用程序什么都不做,继续状态。
在最近前面状态是"启动中"的情况下,若启动属性为"Persistent"、 "Suspend",则分支目标标题中,其应用程序什么都不做,继续状态。
若启动属性为"Suspend",则应用程序的状态为挂起。在最近前面状态 为"Suspend"的情况下,若分支目标标题的启动属性是"Suspend",则维 持挂起。若为"Persistent"、 "AutoRim",则在分支目标标题中,重新开始 该应用程序。通过在应用程序管理表中定义生存期间和启动属性,沿着标
题时间轴的行进,可以进行使Java应用程序动作的同步控制,可以特别送 出伴随视频再现、应用程序执行的各种应用程序。以上是对于记录媒体的 说明。接着说明本发明的再现装置。
图16是表示本发明的再现装置的内部结构的图。本发明的再现装置根 据该图所示的内部结构来进行工业生产。本发明的再现装置主要由系统LSI
和驱动装置的两个部件构成,通过将这些部件安装在装置的壳体和基板上 来可进行工业生产。系统LSI是集成了实现再现装置的功能的各种处理部 的集成电路。这样生产的再现装置由BD-ROM驱动器1、读缓存器2、多 路分配器3、视频译码器4、视频平面5、 P—Gmphics译码器9、展示图形 平面IO、合成部ll、字体生成器12、 I—Graphics译码器13、开关14、交 互图形平面15、合成部16、 HDD17、读缓存器18、多路分配器19、音频 译码器20、脚本(scenario)存储器21、 CPU22、键事件处理部23、指令 ROM24、开关25、 CLUT部26、 PSR组28、本地存储器29构成。
BD-ROM驱动器1进行BD-ROM的装载/注入,执行对于BD-ROM的 访问。
读缓存器2是FIFO存储器,以先入先出方式存储从BD-ROM中读出 的TS包。
多路分配器(De—MUX) 3从读缓存器2中取出TS包,并将构成该 TS包的TS包转换为PES包。并且,将通过转换得到的PES包中具有由 CPU22设定的PID的包输出到视频译码器4、音频译码器20、 P—Graphics 译码器9和I一Graphics译码器13中之一。
视频译码器4解码从多路分配器3输出的多个PES包后得到非压縮形 式的图像,并写入到视频平面5上。
视频平面5是用于存储非压縮形式的图像的平面。所谓平面是指在再 现装置中存储一个画面的象素数据用的存储器区域。在再现装置上设置多 个平面,按每个象素来相加这些平面的存储内容,进行视频输出时,可以 在合成多个视频内容之后,进行视频输出。视频平面5中的分辨率为1920 X1080,在该视频平面5上存储的图像数据由以16比特的YUV值表现的 象素数据构成。
P—Graphics译码器9对从BD-ROM、 HDD17中读出的展示图形流进
行译码,并将非压縮图形写入到展示图形平面10中。通过图形流的译码,
在画面上表现字幕。
展示图形平面io是具有一个画面的区域的存储器,可以存储一个画面
的非压縮图形。本平面的分辨率是1920X1080,展示图形平面IO中的非压 縮图形的各象素用8比特的索引彩色来表示。通过使用CLUT(Color Lookup Table)来转换该索引彩色,来将在展示图形平面10中存储的非压縮图形供
给显示。
合成部11将非压縮状态的图像数据(i)与展示图形平面10的存储内 容合成。
字体生成器12使用文字字体,将textST流中包含的文本码展开为位图。
I一Graphics译码器13对从BD-ROM或HDD 17中读出的交互图形流进 行译码,并将非压縮图形写入到交互图形平面15上。
幵关14是将字体生成器12生成的字体串、通过P—Graphics译码器9 的译码得到的图形中的某一个有选择地写入到展示图形平面10的开关。
交互图形平面15写入基于I一Graphics译码器13进行的译码得到的非 压縮图形。
合成部16合成交互图形平面10的存储内容和作为合成部8的输出的 合成图像(合成了非压縮状态的图像数据和展示图形平面7的存储内容的 内容)。
HDD17是存储了经网络等下载的SubClip、 Clip信息、播放列表信息 的内置媒体。在该HDD17中的播放列表信息即使是存在于BD-ROM和 HDD17的其中之一的Clip信息,在可以进行指定的方面不同。每次该指定 时,HDD17上的播放列表信息不需要通过全路径(foil path)指定BD-ROM 上的文件。这是因为本HDD17与BD-ROM为一体,作为虚拟的一个驱动 器(称作虚拟包),通过再现装置来识别。因此,Playltem信息中的 Clip—Information—file—name 禾口 SubPlayltem <言 息 的 Clip—Information—file—name,通过指定相当于存储了 Clip信息的文件的文件 主体的5位数值,可以指定HDD17、 BD-ROM上的AVClip。通过读出该 HDD的记录内容,并与BD-ROM的记录内容动态组合,可以产生各种不 同的再现。
读缓冲器18是FIFO存储器,以先入先出的形式来存储从HDD17读出 的TS包。
多路分配器(De—MUX) 19从读缓存器18取出TS包,并将TS包转 换为PES包。并且,将通过转换得到的PES包中具有希望的streamPID的 包输出到字体生成器12中。
音频译码器20对从多路分配器19输出的PES包进行译码,并输出非 压縮形式的音频数据。
脚本存储器21是用于存储当前的PL信息和当前的Clip信息的存储器。 所谓当前PL信息是指BD-ROM中记录的多个PL信息中作为当前处理对象 的信息。所谓当前Clip信息是指在BD-ROM中记录的多个Clip信息中, 作为当前处理对象的信息。
CPU22执行在指令ROM24中存储的软件,并执行再现装置整体的控制。
键事件处理部23根据对于遥控器和再现装置的前面板的键操作,输出 进行该操作的键事件。
指令ROM24存储规定再现装置的控制的软件。
开关25是将从BD-ROM和HDD17读出的各种数据有选择地输入到读 缓存器2、读缓存器18、脚本存储器21、本地存储器29中某一个的开关。
CLUT部26将视频平面5中存储的非压縮图形中的索引彩色转换为 Y,Cr,Cb值。
CLUT部27将交互图形平面15中存储的非压缩图形中的索引彩色转换 为Y,Cr,Cb值。
PSR组28是内置在再现装置中的寄存器,由64个播放器状态寄存器 (PSR)和4096个通用寄存器(GPR)构成。播放器状态寄存器的设定值 (PSR)中PSR4 PSR8用于表现当前的再现时刻。
PSR4通过设定为1 100的值,表示当前的再现时刻所属的标题,通 过设定为0,表示当前的再现时刻是顶端菜单。
PSR5通过设定为1 999的值,表示当前的再现时刻所属的章节号, 通过设定为0xFFFF,表示再现装置中章节号无效。
PSR6通过设定为0 999的值,表示当前的再现时刻所属的PL (当前
PL)的号。
PSR7通过设定为0 255的值,表示当前的再现时刻所属的Play Item (当前Play Item)的号。
PSR8通过设定为0 OxFFFFFFFF的值,而使用45KHz的时间精度来 表示当前的再现时刻(当前PTM (Presentation Time))。通过以上的PSR4 PSR8,来确定当前的再现时刻。
本地存储器29由于从BD-ROM的读出为低速,所以是用于暂时存储 BD-ROM的记录内容的高速缓存器。因存在该本地存储器29,可以使BD-J 模式中的应用程序执行高效。图17 (a)是表示在本地存储器29上怎样识 别BD-ROM中存在的Java归档文件的图。图17 (a)的表中,在左栏表示 BD-ROM上的文件名,在右栏表示本地存储器29上的文件名。若比较这些 右栏、左栏,可以看出通过省去目录指定"BDJA"的文件路径来指定本地 存储器29中的文件。
图17 (b)是表示图17 (a)的应用的图。本应用例以头+数据的形式 存储文件中所存储的数据。将本地存储器9中的文件路径用于头。如图17 (b)所示,由于在本地存储器29中将省略了BD-ROM中的文件路径的一 部分的内容用于文件路径,所以通过将该文件路径存储在头中,可以明确 各数据在BD-ROM中的位置。
以上是本实施方式的再现装置的硬件结构。接着,说明本实施方式中 的再5见装置的软件结构。
图18是将由ROM24中存储的软件和硬件构成的部分转换为层结构来 描述的图。如该图所示,再现装置的层结构由下面的a)、 b)、 c)、 d—l)、 d-2)、 e)、 f)构成。即,在a)物理的硬件等级上存在b)控制基于AVClip 的再现的展示引擎31、和c)进行基于播放列表信息和Clip信息的再现控 制的重放控制引擎32的这两个等级,在最上层的等级上有e)执行标题间 的分支的模块管理器34。
在这些HDMV模块33、模块管理器34之间,d-l)作为Movie对象的 译码 执行主体的HDMV模块33、和d-2)进行BD-J对象的译码 执行 的BD-J模块35放在同一等级上。
BD-J模块35是所谓的Java平台,为包含工作存储器37的Java虚拟
机38为核心的结构,由应用程序管理器36、事件监听管理器(eventlistner manager) 39、缺省操作管理器40构成。首先,最先说明展示引擎31 模 块管理器34。图19是将基于展示引擎31 模块管理器34的处理模式化的图。
展示引擎31执行AV再现功能。所谓再现装置的AV再现功能是指从 DVD播放器、CD播放器继承的传统的功能群,是再现开始(Play)、再现 停止(Stop)、暂时停止(Pause ON)、暂时停止的解除(Pause Off)、静止 功能的解除(Still off)、带速度指定的快进(Forward Play (speed))、带速 度指定的倒带(Backward Play (speed))、声音切换(Audio Change)、副视 频切换(Subtitle Change)、角度切换(Angle Change)的功能。为实现AV 再现功能,展示引擎31控制视频译码器4、P—Graphics译码器9、I一Graphics 译码器13和音频译码器20,以进行读出到读缓存器2上的AVClip中相当 于希望时刻的部分的译码。作为希望的时刻,通过进行PSR8 (当前PTM) 所示的位置的解释,在AVClip中,可以再现任意的时刻。图中的 1将基 于展示引擎31的译码开始模式化来进行表示。
再现控制引擎(Playback Control Engine (PCE)) 32执行播放列表的再 现功能(i)、再现装置中的状态取得/设定功能(ii)的各功能。所谓PL的 再现功能是指根据当前PL信息和Clip信息来进行展示引擎31进行的AV 再现功能中的再现开始和再现停止。根据来自HDMV模块33 BD-J模块 35的应用程序调用来执行这些功能(i) (ii)。即,再现控制引擎32根 据基于用户操作的指示、来自层模块中的上层位置的指示,来执行自身的 功能。图19中,带 2<03的箭头将重放控制引擎32对Clip信息和播放列 表信息的参考模式化来表示。
HDMV模块33是MOV正模式的执行主体,若从模块管理器34通知 构成分支目标的Movie对象,则将构成分支目标标题的Movie对象读出到 本地存储器29中,并对在该Movie对象中描述的导航指令进行译码,根据 译码结果来执行对重放控制引擎32的应用程序调用。图19中带V2、 V3、 ▽4的箭头,将来自模块管理器34的分支目标Movie对象的通知(2)、Movie 对象中描述的导航指令的译码(3)、对于重放控制引擎32的应用程序调用 (4)模式化来表示。
模块管理器34保持从BD-ROM中读出的索引表,并进行分支控制。 该分支控制在HDMV模块33执行JumpTitle指令的情况下,或从BD-J模 块35调用标题跳转API的情况下,接收作为该跳转目标的跳转号,并向 HDMV模块33或BD-J模块35通知构成该标题的Movie对象或BD-J对象。 图中的带V0、 VI、 V2的箭头将JumpTitle指令的执行(0)、模块管理器 34进行的IndexTable参考(1)和分支目标Movie对象(2)的通知模式化 来表示。
以上是对展示引擎31 模块管理器34的说明。接着,参考图20来说 明应用程序管理器36。图20是表示应用程序管理器36的图。
应用程序管理器36执行参考了应用程序管理表的应用程序的启动控 制、执行标题正常终止时的控制。
所谓启动控制是指在每次从模块管理器34通知作为分支目标的BD-J 模块时,读出该BD-J对象,并参考该BD-J对象内的应用程序管理表来进 行本地存储器29访问。并且,所谓启动控制是将构成把当前的再现时刻作 为生存区间的应用程序的xlet程序读出到工作存储器的控制。图20中的众 1、众2、众3将启动控制中的分支目标BD-J对象的通知(1)、应用程序管 理表参考(2)、对于Java虚拟机38的启动指示模式化来表示。通过该启动 指示,Java虚拟机38从本地存储器29读出xlet程序到工作存储器37 (☆ 5)。
标题的终止控制有正常终止时的控制和异常终止时的控制。正常控制 时的控制,有通过构成标题的应用程序来调用跳转标题API、并向分支控制 的主体(模块管理器34)请求向分支目标标题的切换的控制。该终止控制 中的将模块管理器34通知模式化表示的是箭头众6。这里,每次正常终止 标题时,也可原样启动构成标题的应用程序。这是因为在分支目标标题中 判断是否终止应用程序。在本实施方式中虽然没有较深地涉及到,但是应 用程序管理器36进行从BD-ROM向本地存储器29读出Java归档文件(8) 的处理。将向该本地存储器29的读出模式化的是众8。
以上是对应用程序管理器36的说明。接着,参考图21来说明工作存 储器37 缺省操作管理器40。
工作存储器37是配置了构成应用程序的xlet程序的群区域。工作存储
器37本来存在于Java虚拟机38内,但是在图21中,为了作图的方便,在 Java虚拟机38上层位置描述工作存储器37。工作存储器37上的xlet程序 包含EventListner和JMF播放器实例。
Java虚拟机38将构成应用程序的xlet程序装载在工作存储器37上, 对xlet程序进行译码,来执行基于译码结果的处理。如上所述,由于xlet 程序包含命令JMF播放器实例生成的方法和命令该JMF播放器实例的执行 的方法,所以为了实现通过这些方法命令的处理内容,进行对于下层的控 帝ij。若命令JMF播放器实例生成,贝U Java虚拟机38得到与BD-ROM上的 YYYY.MPLS文件相关的JMF播放器实例。另夕卜,若指令JMF播放器实例 中的JMF方法的执行,则向BD中间件发出该JMF方法,并置换为BD再 现装置对应的应用程序调用。并且,向重放控制引擎32发出置换后的应用 程序调用。
事件监听管理器39分析通过用户操作生成的事件(键事件),并进行 事件的分配。图中的实线箭头Ol、 <0>2将基于该事件监听管理器39的分配 进行模式化来表示。若是SRART、 STOP、 SPEED等在xlet程序内的Event Listner上登记的键事件,则分配通过BD-J对象间接参考的有关xlet程序的 事件。START、 STOP、 SPEED是对应于JMF的事件,由于在xlet程序的 Event Listner上登记了这些键事件,所以通过本键事件可以进行xlet程序的 启动。在键事件是Event Listner未登记的键事件的情况下,将本键事件分 配给缺省操作管理器40。这是因为声音切换、角度切换等BD-ROM再现装 置中产生的键事件上存在没有在Event Listner上登记的各种事件,即使产 生了这些键事件,也执行没有遗漏的处理。
缺省操作管理器40若从事件监听管理器39分配没有在xlet程序内的 Event Listner上登记的键事件,则对重放控制引擎32执行对应于该Event Listner未登记事件的应用程序调用。模式化地表示基于该缺省操作管理器 40的应用程序调用是图中的箭头O3。另外,虽然图21中通过事件监听管 理器39、缺省操作管理器40来分配Event Listner未登记事件,但是也可以 由重放控制引擎32直接接收EventListner未登记事件,来进行再现控制(图 中的04)。
(流程图的说明)
以上的对于应用程序管理器36的说明不过是涉及其概要。更详细地表 示应用程序管理器36的处理的是图22、图23的流程图。之后,参考这些 流程图来更详细说明应用程序管理器36的处理过程。
图22是表示基于应用程序管理器36的分支时的控制过程的图。本流 程图是启动或终止满足步骤S2 步骤S5构成的条件的应用程序(是指应用 程序x)的处理。
步骤S2中判断是否存在应用程序x,该应用程序x虽然在分支源标题 中为非启动、但在分支目标标题中生存、且分支目标标题中的启动属性是 AutoRim属性,并且若存在该应用程序x,则进行对于本地存储器29的高 速缓存传感。若高速缓存传感的结果,在本地存储器29上有应用程序x (步 骤S7中"是"),则从本地存储器29向工作存储器37读入应用程序x (步 骤S8)。若本地存储器29中没有,则从BD-ROM向本地存储器29读入应 用程序x后,从本地存储器29向工作存储器37读入应用程序x(步骤S9)。
步骤S3中判断是否存在分支源标题中为启动中、且在分支目标标题中 非生存的应用程序x。若存在,则从工作存储器37中删除应用程序x后终 止(步骤SIO)。
步骤S4中判断是否存在分支源Suspend、分支目标AutoRun或Persistent 的应用程序。若存在,则重新开始应用程序x (步骤Sll)。
步骤S 5中判断是否存在在分支源标题中为启动中、且分支目标 Suspend的应用程序。若存在,则挂起应用程序x (步骤S12)。
每次各应用程序终止时的应用程序管理器36的处理如图23所示。图 23是表示应用程序终止处理的处理过程的流程图。该图示出分别对于应终 止的多个应用程序重复进行步骤S16 步骤S20的处理的循环处理(步骤 S15)。在本循环处理中,应用程序管理器36发出要终止启动中应用程序的 终止事件(步骤S16),进行定时器设置(步骤S17),并进入到由步骤S18 步骤S20构成的循环处理。若Event Listner接收到该终止事件,则对应的 xlet程序启动终止处理。若终止处理终止,则从工作存储器37中释放该xlet 程序,并终止。
在步骤S18 步骤S20的循环处理的继续中,定时器持续计数。在本循 环处理中,步骤S18是发送目标应用程序是否终止的判断,若已终止,则终止对该应用程序的处理。步骤S19是定时器是否超时的判断,若超时, 则在步骤S20中,从工作存储器37中删除发送目标应用程序来强制终止应
用程序。
参考图24来说明以上的模块管理器34的处理。
图24是模式地表示应用程序终止的过程的图。该图中的第一级表示应 用程序管理器36,第二级表示三个应用程序。图24的第二级、左侧的应用 程序表示接收终止事件后,终止处理成功的应用程序。图24的第二级、中 间的应用程序表示接收终止事件后,终止处理失败的应用程序。第二级、 右侧的应用程序由于没有安装EveritListner,故表示不能接收终止事件的应 用程序。
第一级一第二级的箭头epl、 ep2模式地表示基于应用程序管理器的终 止事件发送,箭头ep3模式地表示终止处理启动。
第三级是终止处理成功时的状态转移后的状态,该应用程序通过本身 的终止处理来终止。若存在如这些xlet程序那样,在预定期间内有没有终 止的应用程序,则应用程序管理器36从工作存储器37中强制去除这些。 第四级表示基于应用程序管理器36的强制终止。规定该第四级的强制终止 也是应用程序管理器36的一个任务。
如上所述,根据本实施方式,由于自动终止在分支源标题中启动并在 分支目标标题中不生存的应用程序,所以即使在通过带条件的分支再现复 杂地进行的情况下,不会进行超过再现装置的资源的界限的数目的应用程 序启动。由于可以保证分支前后的应用程序动作,所以可以更多地发布边 再现数字流边执行应用程序的盘内容。 (第二实施方式)
第一实施方式中应用程序的生存区间与标题时间轴一致,但是第二实 施方式提出了将PL时间轴的一部分作为应用程序的生存区间的方案。由于 PL时间轴的一部分通过章节来表现,所以通过由章节来描述开始点、终止 点,可以规定应用程序的生存区间。图25 (a)是表示在PL时间轴上规定 生存区间的应用程序管理表的图。图25 (a)中,在应用程序管理表中描述 了三个应用程序,其中application^将title#l的Chapter^到Chapter^指 定为生存区间,并在启动属性上规定了 AutoRun。因此,applicatioi^2如图
25 (b)所示,在Chapterf2的起点启动,并在Chapter#3的终点终止。
另一方面,application弁3将title#l的Chapter#4到Chapter#6指定为生
存区间。因此,applicationa如图25 (b)所示,在Chapter^的起点启动,
在Chapters的终点终止。
为了根据这样描述的应用程序管理表进行处理,本实施方式的应用程
序管理器36在每次达到通过Plmark指定的章节起始点时,判断是否存在生
存区间从该章节起始点开始的应用程序,若存在,则将该应用程序装载到
工作存储器37中。
同样,在每次到达章节起始点时,判断在该章节最近前面的章节中是
否存在生存区间终止的应用程序,若存在,则从工作存储器37中释放该应
用程序。
若以章节为单位来管理应用程序的生存,则可以以更精细的精度来指 定应用程序的生存区间。但是,必须注意在盘内容上可以有时间轴的反向。 所谓反向是指通过倒带使时间轴反向行进。若在章节的边界重复进行该反 向和行进,则几次进行向工作存储器的装载、废弃,产生了多余的读出负 载。因此,在本实施方式中,应用程序的启动时期为进入标题而开始基于 重放控制引擎32的通常再现的瞬间。这里PL的再现有通常再现、技巧 (trick)再现。所谓技巧再现有快进、倒带、跳下一个(SkipNext)、跳上 一个(SkipBack)。在进行该快进、倒带、SkipNext、 SkipBack的期间,不 开始应用程序启动,而开始通常再现后,开始启动应用程序。在通过以通 常再现开始的瞬间为基准,有如上所述的生存区间前后的到来的情况下, 不需要重复需要以上的应用程序的启动。另外,也可在生存区间为title的 情况下,执行将通常再现开始的瞬间作为应用程序的启动基准的处理。
如上所述,根据本实施方式,由于可以以比PL小的章节为单位来规定 应用程序的生成区间,所以可以实现精细的应用程序控制。 (第二实施方式的变形例)
图25中,向各应用程序添加优先级。该优先级取0 255的值,在应 用程序之间资源的使用冲突等冲突了的情况下,每次应用程序管理器36进 行将使其中一个应用程序强制终止,或从其中一个应用程序争夺资源的处 理时,上述优先级的值成为判断材料。图25的一例中,由于application#1
的优先级为255, application#2、 application#3的优先级为128,所以在 application^ 1 — application#2冲突时,应用程序管理器36进行强制终止优 先级低的application弁2的处理。 (第三实施方式)
由BD-ROM供给的盘内容由可彼此分支的多个标题构成。各标题除了 由一个以上的PL和使用该PL后的控制过程构成之外,有仅由对再现装置 的控制过程构成的非AV系标题。本实施方式说明该非AV系标题。
在这种非AV系标题中,问题为怎样来决定标题时间轴。图26(a)表 示从PL时间轴决定的标题时间轴。这时PL时间轴为标题时间轴,在该标 题时间轴上决定应用程序的生存区间。在没有作为该基准的PL时间轴的情 况下,标题时间轴应如图26 (b)、 (c)那样来决定。
图26 (b)表示从主要的应用程序的生存区间决定的标题时间轴。所谓 主应用程序是指在标题中将启动属性设定为AutoRun,在标题开始时自动 启动的唯一的应用程序,例如,称作启动应用程序的程序相当于此。所谓 启动应用程序是指启动其他应用程序的应用程序。
该图26 (b)的考虑认为只要主应用程序启动,标题时间轴就继续,若 主应用程序终止,则使时间轴终止。图26 (c)是表示从多个应用程序的生 存区间决定的标题时间轴的图。有这样的情况在标题的开始点启动的是 一个应用程序,但是该应用程序重复进行调用其他应用程序,进一步该应 用程序调用其他应用程序的处理。这时,只要其中一个应用程序启动,就 认为标题时间轴持续,若任何一个应用程序都没有启动的状态到来,则由 此认为标题时间轴终止。这样,若决定非AV系统标题的标题时间轴,无论 是AV标题还是非AV系统标题,都可以与标题时间轴的终止同时划一地进 行分支到预定的标题的处理。另外,非AV标题中的标题时间轴在与AV标 题对比时,不过是假定的想象的时间轴。因此,再现装置可以在非AV标题 中的标题时间轴上逆行或定位到任意的位置。
以上是对于本实施方式中的记录媒体的改进。接着,说明对于本实施 方式中的再现装置的改进。
为了以如上所述的过程来进行标题终止,第三实施方式的应用程序管 理器36以如图27所示的处理来进行处理。图27是表示标题再现时的应用
程序管理器36的处理过程的流程图。本流程图中为在标题再现中,重复步 骤S21 S23的循环结构。
步骤S21中判断是否调出了标题跳转API,若调出,则向模块管理器 34请求向跳转目标标题的分支(步骤S27)。
步骤S22中判断是否存在承担标题内的应用程序调用这样的主应用程 序,若存在,则确认其启动的有无(步骤S25)。若没有启动,则解释为"标 题的终止",向模块管理器34通知终止(步骤S26)。
步骤S23是没有主应用程序的情况下执行的步骤(步骤S22中"否"), 判断是否为没有启动任何应用程序的状态。若是,则同样解释为"标题的 终止",而向模块管理器34通知终止(步骤S26)。
如上所述,根据本实施方式,即使是不伴随PL再现的标题,也可进行 在应用程序执行中不进行分支,在应用程序执行终止后进行分支的处理。 (第四实施方式)
本实施方式涉及在BD-ROM上实现与DVD相同的菜单控制的情况的 改进。图28 (a)是表示通过BD-ROM实现的菜单等级的图。该图中的菜 单等级在最上层配置TopMenu,可以从该TopMenu选择下层的TitleMenu、 SubTitleMenu、 AudioMenu的结构。图中的箭头swl、 2、 3模式地表示基 于按钮选择的菜单的切换。所谓TopMenu是指配置了接收进行声音选择、 字幕选择、标题选择中之一的按钮(图中的按钮snl、 sn2、 sn3)的菜单。
所谓TitleMe皿是指配置了接受选择视频作品(title)的电影版、选择 导演的剪辑(director's cut)版或选择游戏版等视频作品的选择的按钮的菜 单。所谓AudioMenu是指配置了接受用日语或用英语进行声音再现的按钮 的菜单,所谓SubTitleMemi是指配置了接受用日语或用英语进行字幕显示 的按钮的菜单。
图28 (b)表示用于使具有这种等级的菜单动作的MOVIE对象。图28 (b)中在MovieObject.bdmv中存储了 FirstPlayOBJ、 TopMenu OBJ、 AudioMenu OBJ、 SubTitleMenu OBJ。
FirstPlay对象(FirstPlay OBJ)是BD-ROM向再现装置装载时自动执 行的动态脚本。
TopMenu对象(TopMenu OBJ)是控制TopMenu的举动的动态脚本。
在用户请求菜单调用时,调用的是该TopMenu对象。TopMenu对象包含根 据来自用户的操作来改变TopMenu中的按钮的状态的指令、和根据对于按 钮的确定操作来进行分支的分支指令。该分支指令实现从TopMenu向 TitleMenu ,从TopMenu向SubTitleMenu,从TopMenu向AudioMenu的菜
单切换。
AudioMenu对象(AudioMenu OBJ)是控制AudioMenu的举动的动态 脚本,包含根据来自用户的操作来改变AudioMenu中的按钮的状态的指令、
和根据对于按钮的确定操作来更新声音设置的指令。
SubTitleMenu对象(SubTitleMenu OBJ)是控制SubTitleMenu的举动 的动态脚本,包含根据来自用户的操作来改变SubTitleMenu中的按钮的状 态的指令、和根据对于按钮的确定操作来更新字幕设置用PSR的指令。
TitleMenu对象(TitleMenu OBJ)是控制TitleMenu的举动的动态脚本, 包含改变TitleMenu中的按钮的状态的指令和根据对于按钮的确定操作来 进行分支的分支指令。
通过这些菜单用MOVIE对象,可以实现如在DVD中实现的菜单的举 动。以上是与菜单控制有关的MOV正对象。
图29是模式化了索引表和从索引表向各Movie对象的分支的图。该图 中左侧表示索引表的内部结构。在本实施方式的索引表中包含 FirstPlay函EX 、 TopMenuINDEX 、 Audio Menu脂EX 、 Subtitle MenuINDEX、 titleMenu歸EX、 title#l~#mINDEX、 title#m+l Nindex、 title#0INDEX。图中的箭头bcl 、 2模式地表示从Index Table向FirstPlayOBJ 的分支、从FirstPlayOBJ向TopMenu的分支,箭头bc3、 4、 5模式表示从 TopMenu向TitleMenu、 SubTitleMenu、 AudioMenu的分支。箭头bc6、 7、 8模式地表示从TitleMenu向各Movie对象的分支。
FirstPLayINDEX 、TopMenuINDEX 、Audio Menu聽EX 、 SubtitleMenuINDEX 、 title MenuINDEX分别是对于FirstPLay OBJ 、 TopMenuOBJ、 Audio MenuOBJ、 Subtitle MenuOBJ、 title MenuOBJ的Index, 描述了这些识别符。
Title#l~#mINDEX是BD-ROM中从第一个进入到第m个的title的 Index,描述了在这些1到m的title号的选择时作为分支目标的MOV正对
象的识别符(ID)。
Title#m+l #nINDEX是BD-ROM中对于从第m+l进入到第n的title 的Index,描述了在这些m+l到n的title号的选择时作为分支目标的BD-J 对象的识别符(ID)。
Title#0INDEX是规定在BD-J对象的强制终止时应作为分支目标的 Movie对象或BD—J对象的INDEX。本实施方式中,将对于TopMenuOBJ 的识别符存储在该title糾INDEX中。
图30 (a)表示如图29那样描述了 Index Table的情况下的分支。由于 这样来描述Index Table,所以在将标签title# 1 title#m作为分支目标的分 支指令的执行时,从title弁l title弁m INDEX中取出Movie对象井l 井m的 识别符。在将标签title#m+l title#n作为分支的分支指令的执行时,从 title#m+llndex~title#nlndex中取出BD-J对象弁m+l 弁n的识别符。由于 BD-J对象弁m+l 弁n的识别符是表示标题名的5位数值,所以取出 "OOOOl.BD-J、 00002.BD-J、 00003.BD-J...",将该标题名的动态脚本读出 到存储器中,来执行。其是使用了索引表的分支处理。
图30 (b)是表示BD-J对象执行时的强制终止时的分支的图。在强制 终止时的分支中,从title井01ndex取出识别符,并通过再现装置来执行该识 别符的动态脚本。若该识别符为顶端菜单标题的识别符,则在应用程序强 制终止时,自动选择顶端菜单OBJ。
以上是对于本实施方式中的记录媒体的改进。接着,说明对于本实施 方式中的再现装置的改进。由于对应于上述的记录媒体的改进,所以再现 装置内的模块管理器34以如图31所示的处理过程来进行处理。图31是表 示模块管理器34的处理过程的流程图。本流程图构成由步骤S31、步骤S32 构成的循环处理,并在步骤S31或步骤S32中之一为"是"时,执行对应 的处理。
步骤S31判断是否有标题跳转API的调用。若有标题跳转API的调用, 则取得作为分支目标标签的标题号j (步骤S33),并从索引表中的标题号j 的索引中取得IDj (步骤S34),而使HDMV模块33或BD-J模块35执行 IDj的Movie对象或BD-J对象(步骤S35)。
步骤S32判断是否从应用程序管理器36通知标题终止的,若通知(步
骤S32中"是"),则使HDMV模块33或模块管理器34执行构成顶端菜单 标题的顶部菜单OBJ (步骤S36)。
参考图32来说明基于以上的应用程序管理器36的应用程序强制终止 的动作例。这里应再现的标题是包含堆积降落的瓦(tile)片的游戏应用程 序的非AV系标题。图32的下级表示由应用程序的生存区间构成的标题时 间轴,上级表示标题时间轴中显示的图像。在非AV系标题是游戏应用程序 的情况下,在该游戏应用程序的生存区间中,如图32的上段左侧那样,显 示游戏应用程序的一画面。若应用程序有错误,而异常终止,则应用程序 管理器36根据图23的流程图来使游戏应用程序强制终止,并向模块管理 器34通知标题的终止。若通知了标题终止,则模块管理器34分支到顶端 菜单标题。这样,显示如图32的上段右恻所示的图像,等待用户的操作。
如上所述,根据本实施方式,在包含程序,但是不包含数字流的非AV 系标题终止时,可以进行分支到顶端菜单标题的控制。由此,即使应用程 序出错终止,也可避免停机和破坏(bang up)的产生。 (第五实施方式)
涉及BD-J模式中怎样实现与PL再现的同步的改进。在图8 (b)的一 例中,在Java虚拟机38对命令JMF播放器实例的再现的JMF播放器实例 (A.play;)进行译码的情况下,Java虚拟机38调用PL再现API,在调用 后,紧接着向应用程序返回表示"成功"的响应。
重放控制引擎32在调用PL再现API时,执行基于PL信息的处理过 程。若PL具有两小时的再现时间,则上述的处理持续该两小时的时间。这 里成为问题的是Java虚拟机38返回成功响应的时间和重放控制引擎32实 际终止处理的时间的间隔。Java虚拟机38由于是作为驱动事件的处理主体, 所以在调用之后紧接着返回表示再现成功或再现失败的响应,但是由于基 于重放控制引擎32的实际的处理终止在经过2小时后,所以在将访问响应 返回应用程序的时间作为基准的情况中,不能感测相当于2小时经过后的 处理终结。若在PL再现中进行快进、倒带、Skip,则该2小时的再现期间 在2小时前后改变,处理终结的感测更加困难。
重放控制引擎32由于在与应用程序孤立的状态下动作,所以在如第三 实施方式那样的终止判断中,不能将PL再现的终止解释为标题终止。因此,
在本实施方式中,虽然应用程序已经终止,但是只要工作存储器37上存在 JMF播放器实例,SP,在BD-J模块35掌握展示引擎31的控制权的期间, 从重放控制引擎32等待再现终止事件。并且,若存在再现终止事件,则解 释为标题终止,并为了进行向下一标题的分支,向模块管理器34进行通知。 由此,可以将重放控制引擎32终止PL再现的时刻作为标题的终止。
之后,参考图33 图37的流程图来说明基于重放控制引擎32的具体 的控制过程。
图33是表示基于重放控制引擎32的PL再现控制过程的流程图。该再 现过程主要包含对于展示引擎31的控制(步骤S46)和对于BD-ROM驱动 器1或HDD17的控制(步骤S48)。将本流程图中作为处理对象的Playltem 设作Playltem#x。本流程图进行当前PL信息(.mpls)的读取(步骤S41), 之后,执行步骤S42 步骤S50的处理。这里,步骤S42 步骤S50在步骤 S49为"是"之前,对于构成当前PL信息的各个PI信息,重复进行步骤 S43 步骤S50的处理的循环处理。将该循环处理中作为处理对象的 Playltem称作Playltem#x (PI弁x)。该Playltem#x通过设定为当前PL的头 的Playltem来进行初始化(步骤S42)。上述的循环处理的终止要件是该 Playltem弁x是当前PL的最后的Playltem(步骤S49),若是最后的Playltem, 则将当前PL的下一 Playltem设定为Playltem#x (步骤S50)。
循环处理中重复执行的步骤S43 步骤S50将由Playltem#x的 Clip—information—file_name指定的Clip信息读入到脚本存储器21中(步骤 S43),并使用当前Clip信息的Epmap,来将Playltem#x的In—time转换为 I图像地址u (步骤S44),使用当前Clip信息的EP_map来将Playltem弁x 的Out—time转换为I图像地址v (步骤S45),并求出通过这些转换得到的 地址v的下一 I图像之后,将该地址的前一个设定为地址w (步骤S47)。 使用这样算出的地址w,来向BD-ROM驱动器1或HDD17命令从I图像 地址u到地址w的TS包的读出(步骤S48)。
另一方面,对展示引擎31,命令从当前PLMark的mark—time—stamp 到Playltem弁x的Out—time为止的输出(步骤S46)。通过以上的步骤S45 步骤S48,在AVCIip中,进行由Playltem弁x指示的部分的再现。
之后,判断Playltem弁x是否为当前PL的最后的PI (步骤S49)。
若Playltem#x不是当前PL的最后的PI,则将当前PL中的下一 Playltem设定为Playltem#x (步骤S50),而回到步骤S43。通过重复以上的 步骤S43 步骤S50,依次再现构成PL的 PI。
图34是表示角度切换过程和Skip Back、 Skip Next的过程的流程图。 本流程图与图33的处理过程并行,重复由步骤S51 S52构成的循环处理。 本循环中的步骤S51中判断请求角度切换的API是否是从Java虚拟机38 调用的,若存在角度切换API的调用,则执行切换当前Clip信息的操作。
图34的步骤S55是判断步骤,进行Playltem#x的is—multi—angles是否 为ON的判断,所谓is—multi—angles是表示Playltem井x是否对应于多角度 的标志,若步骤S55为"否",则进入到步骤S53。若步骤S55为"是", 则执行步骤S56 步骤S59。步骤S56 步骤S59将切换后的角度号代入自 变量y (步骤S56),并向脚本存储器21读出由Playltem#x中的第y的 Clip—information—file—name指定的Clip信息(步骤S57),使用当前Clip信 息的EP_map将当前PTM转换为I图像地址u(步骤S58),并使用当前Clip 信息的EP—map来将Playltem#x的Out—time转换为I图像地址v (步骤 S59)。这样,在变化了I图像地址u、 v后,进入到步骤S46。由于通过向 步骤S46的进入,从其他AVClip读出TS包,所以切换视频内容。
另一方面,图34的循环中的步骤S52判断是否从Java虚拟机38调用 含义为Skip Back/Skip Next的API,若调用,则执行图35的流程图的处理 过程。图35是表示调用Skip Back, Skip Next API时的处理过程的流程图。 每次执行Skip Back, Skip Next时的处理过程多种多样。注意这里说明的只 不过是一例。
步骤S61通过转换用PSR表示的当前PI号和当前PTM,来得到当前 Mark信息。步骤S62判断按下的键是Skip Next键还是Skip Back键,若是 SkipNext键,则在步骤S63中将方向标志设定为+ 1,若为SkipBack键, 则在步骤S64中将方向标志设定为一l。
步骤S65将在当前PLMark的号上补上了方向标志的值后的号设定为当 前PLMark的号。这里,若是SkipNext键,则将方向标志设定为+ 1,所以 增加当前PLMark。若是SkipNext键,则将方向标志设为一l,所以减去当 前PLMark。
步骤S66中,将在当前的PLMark的ref—to一Playltem一Id上描述的PI设 为 Playltem弁x , 在步骤 S67 中,读入由 Playltem # x的 Clip—information—file—name指定的Clip信息。在步骤S68中,使用当前Clip 信息的EP—map,来将当前PLMark的mark_time_stamp转换为I图像地址u。 另一方面,在步骤S69中,使用当前Clip信息的EP—map将Playltem#x 的Out—time转换为I图像地址v。步骤S70在向展示引擎31命令从当前 PLMark的mark—time—stamp到Playltem弁x的Out—time的输出后,进入到 图33的步骤S47。这样,在变化I图像地址u、 v后,命令其他部分的再现 后,向步骤S47进入,所以变为从其他AVClip中读出TS包,实现切换视 频内容。
图36是表示基于展示引擎31的处理过程的细节的流程图。本流程图 在将I图像的PTS设定为当前PTM后(步骤S71),执行由步骤S72 步骤 S77构成的循环处理。
接着,说明步骤S72 步骤S77中的循环处理。该循环处理重复相当于 当前PTM的图像、音频的再现输出和当前PTM的更新。本循环处理中的 步骤S76规定循环处理的终止要件。gp,步骤S76将当前PTM为PIttx的 Out_time情况作为循环处理的终止要件。
步骤S73判断是否从Java虚拟机38调用快进API或快倒API。若是, 则在步骤S78中进行快进或快倒的判断,若是快进,则将下一 I图像的PTS 设作当前PTM (步骤S79)。这样,通过将当前PTM设定为下一 I图像的 PTS,可以在一秒中很快地再现AVClip。由此,AVClip以2倍速等沿顺方 向很快再现。若是快倒,则判断当前PTM是否达到Playltem弁x的Out—time (步骤S80)。若没有达到,则将前一个I图像的PTS设定为当前PTM (步 骤S81)。通过这样将读出目标地址A设作前一个的I图像,可以沿后方向 在一秒内很快再现AVClip。由此,以2倍速等沿逆方向来再现AVClip。另 外,执行快进、倒带时的处理过程多种多样。注意这里说明的只不过是一 例。
步骤S74判断是否调用菜单调用API,若调用,则挂起当前的再现处 理(步骤S82),执行菜单处理用菜单程序(步骤S83)。通过以上的处理, 在进行了菜单调用的情况下,在中断再现处理后,执行菜单显示用的处理。
步骤S75通过Syn_PlayItem—id判断是否存在指定了 Playltem弁x的 SubPlayItem#y,若存在,则进入到图37的流程图。图37是表示SubPlayltem 的再现过程的流程图。本流程图中,首先在步骤S86中,判断当前PTM是 否是SubPlayltem弁y的sync—start—of—playltem。若这样,则在步骤S93中 通知重放控制引擎32进行基于SubPlayltem弁y的再现处理。
图37的步骤S87 步骤S92是表示基于SubPlayltem#y的再现处理的 流程图。
在步骤S87中,读入通过SubPlayltem井y的Clip—information—file—name 指定的Clip信息。在步骤S88中,使用当前Clip信息的EP—map,将 SubPlayltem弁y的In—time转换为地址a 。另一方面,在步骤S89中,使用 当前Clip信息的EP—map,将SubPlayltem井y的Out—time转换为地址P 。 步骤S90向译码器命令从SubPlayltem弁y的In—time到SubPlayltem弁y的 Out—time的输出。求出通过这些转换得到的地址3的下一I图像,并将该地 址的前一个设作地址y (步骤S91),使用这样算出的地址y,向BD-ROM 驱动器l或HDD17命令从SubClip弁z的地址a到地址y的TS包的读出(步 骤S92)。
另外,回到图33来进行重放控制引擎32的处理的说明的继续。步骤 S53是基于展示引擎31的再现控制是否完成的判断,对于最后的 PlayItem#X,只要进行图36的流程图的处理,步骤S53成为"否"。图36 的流程图的处理终止后,步骤S53才变为"是",并进入到步骤S54。步骤 S54是向Java虚拟机38的再现终止事件的输出,通过该输出,Java虚拟机 38可以知道两个小时的再现时间的经过。
以上是本实施方式中的重放控制引擎32、展示引擎31的处理。接着说 明本实施方式中应用程序管理器36的处理过程。图38是表示第五实施方 式的应用程序管理器36的处理过程的流程图。
图38的流程图改进了图27的流程图。其改进点是,在步骤S21 —步骤 S22之间追加了步骤S24,在该步骤S24为"是"时,存在所执行的步骤 S101。
步骤S24判断工作存储器37中是否存在JMF播放器实例,若不存在, 则进入到步骤S22。若存在,则进入到步骤S101。步骤S101判断是否从重
放控制引擎32输出了再现终止事件,若输出了,则在消除工作存储器中的 Java播放器实例后(步骤S102),向模块管理器34通知标题终止(步骤S26)。 若没有通知,则重复由步骤S21 步骤S24构成的循环处理。
在以上的流程图中,只要在工作存储器37上存在JMF播放器实例(步 骤S24中为"是"),就跳过步骤S22、步骤S23。因此,例如,即使所有的 应用程序终止,也解释为标题继续中。
如上这样,根据本实施方式,应用程序管理器36可以把握两个小时的 再现时间的经过时刻,所以可以实现在PL再现的终止条件上显示菜单,并 根据对于该菜单的操作来分支到其他标题的控制。 (第六实施方式)
第六实施方式涉及在BD-J对象上设置了数据管理表的改进。
数据管理表(DMT)是表示在其标题时间轴上使应装载到本地存储器 29上的Java归档文件与读入属性和读入优先级对应的表。所谓本地存储器 29中的生存是指可从本地存储器29中读出构成该应用程序的Java归档文 件,并传送到Java虚拟机38内的工作存储器37的状态。图39是表示数据 管理表的一例的图。如该图所示,数据管理表表示应用程序的"生存区间"、 识别具有该生存区间的应用程序的"applicationID"和该应用程序的"读入 属性"、"读入优先级"。
如上所述,应用程序管理表中存在称作生存区间的概念,数据管理表 中也存在相同的生存区间的概念。将与应用程序管理表相同的概念设置在 数据管理表中,看上去认为浪费,但是其有含义。
图40是表示BD-J对象假定的执行模型的图。该图中的执行模型由 BD-ROM、本地存储器29、 Java虚拟机38构成,表示BD-ROM、本地存 储器29、工作存储器37三者的关系。箭头myl表示BD-ROM—本地存储 器29之间的读入,箭头my2表示本地存储器29—工作存储器37之间的读 入。箭头上的注解表示在怎样的定时下进行这些读取。基于注解,BD-ROM —本地存储器29之间的读入是所谓的"先读",必须在需要应用程序之前 的时刻进行。
另外,若基于注解,则清楚在需要应用程序时进行本地存储器29—工 作存储器37之间的读入。所谓"需要时"是指应用程序的生存区间到来时
刻(1)和从其他应用程序或应用程序管理器36指示了应用程序的调用的 时刻(2)。
箭头my3表示工作存储器37中的应用程序的占有区域的释放,箭头 my4表示本地存储器19中的应用程序的占有区域的释放。箭头上的注解表 示在哪个定时上进行这些读入。若基于注解,则明白与应用程序终止同时 进行工作存储器37上的释放。另一方面,在对于Java虚拟机38来说不需 要的时刻进行本地存储器29上的释放。所谓不需要的时刻不是"终止时刻"。 是指"终止后,没有重新启动的可能性的时刻",即,该title终止的时刻。 从应用程序管理表中的生存区间来判断上述的读入 释放中工作存储器37 中的释放时刻。但是不能对"需要应用程序之前的时刻"、"终止后,没有 重新启动的可能性的时刻"进行规定。因此,在授权阶段中,由于在盘内 容整体的时间轴上规定了该时刻,所以在本实施方式中,将各应用程序生 存的区间描述在与应用程序管理表不同的数据管理表上。即,将"需要应 用程序之前的时刻"定义为数据管理表中的生存区间的始点,将"终止后, 没有重新启动的可能性的时刻"定义为数据管理表的终点,从而可以在授 权时规定上述本地存储器29上的存储内容的迁移。其是数据管理表的描述 意义。
说明基于数据管理表的本地存储器29生存区间的描述。这里要制作的 盘内容由三个标题(title#l、 titile#2、 title#3)构成,这些标题的时间轴上, 认为要以如图41 (b)所示的定时,使用本地存储器29。这时,在title#l 时间轴的开始点中将构成application//1、 application/^的Java归档文件读入 到本地存储器29中,在title#l时间轴的继续中,使application 1 、 application^常驻在本地存储器29上。并且,在title#2时间轴的起始点, 从本地存储器29中释放构成applications的Java归档文件,并代替此,将 构成application#3的Java归档文件读入到本地存储器29中,而进行常驻(之 后,构成应用程序的Java归档文件与应用程序同样地处理)。这时的数据管 理表的描述如图41 (a)那样,通过与其生存区间对应地描述应用程序的 applicationID,来表现应在本地存储器29中常驻的应用程序。图41 (a)中, 可以看出与title#l对应地来描述application^的applicationID,与title#l 、 title#2对应地来描述application#2的applicationID,与title#3对应地来描述
applications的applicationID。由此,通过授权承担者来规定本地存储器29 占有的时间迁移。
作为数据管理表、应用程序管理表的组合,最好在应用程序管理表中 规定的生存区间为小的再现单位,在数据管理表中规定的生存区间为大的 再现单位。大的再现单位最好是标题、PL这样的非无缝的再现单位。另一 方面,作为小的再现单位,最好是如PL内的章节那样的无缝的再现单位。 若按每个标题、PL来定义应用程序的生存区间,由于应用程序存在于工作 存储器29上,所以在其标题的再现中为无论何时都可取出应用程序的状态。 若这样,由于即使精细地定义应用程序的生存区间,也可立即将应用程序 读出到虚拟机上的工作存储器上,所以即使频繁进行应用程序的启动 终 止,也可实现平滑地执行应用程序。
接着,说明读入属性。
图2中,以Java归档文件记录在与AVClip不同的记录区域上为前提。 但是,其不过是一例。Java归档文件存在嵌入到BD-ROM中AVClip所占 有的记录区域的情况。该嵌入的方式有循环(carousel)、交叉单元化两种。
这里所谓"循环"是指为实现对话广播而转换为重复同一内容的广播 方式。BD-ROM虽然没有存储广播的数据,但是在本实施方式中,模仿循 环的广播形式来存储JAVA归档文件。图42是表示基于循环的Java归档文 件嵌入的图。第一级是在AVClip中嵌入的Java归档文件,第二级表示分段 化。第三级表示TS包化,第四级表示构成AVClip的TS包串。将这样分段 化、TS包化的数据(图中的"D")嵌入到AVClip中。通过循环,在AVClip 中多路复用的Java归档文件在每次读出时,低频读出。由于该低频的读出 需要大致2 3分钟这样的长时间,所以再现装置花费2 3分钟来读入Java 归档文件。
图43表示基于交叉的Java归档文件嵌入的图。第一级是应嵌入的 AVClip,第二级是在AVClip中交叉的Java归档文件,第三级是BD-ROM 的记录区域中的AVClip配置。如该图所示,应嵌入在流中的Java归档文件 进行交叉后,记录在形成构成AVClip的XXXXX.m2ts的分割部分(图中的 AVClip2/4, 3/4)的间隔上。通过交叉在AVClip上多路复用的Java归档文 件,与循环比较,以高频带读出。由于是该高频带的读出,所以再现装置
在较短期间读入Java归档文件。
不预先装载循环 交叉后的Java归档文件。在当前的再现时刻到达 BD-ROM中的AVClip的记录区域中的、嵌入了循环 交叉后的Java归档 文件的部分时,装载到再现装置的本地存储器29中。Java归档文件的记录 形态除了图2所示的形态之外,有图42、图43 (a)所示的形态,所以如 图43 (b)所示那样来设置读入属性。如图43 (b)所示,读入属性有表示 在标题再现之前、并向本地存储器29读入的"Preload"、和表示在标题再 现中以循环方式读入的"Load.Carousd"、以及表示在标题再现中以交叉方 式读入的"Load.InterLeave"。读入属性中用后缀来表现循环或交叉,但是 也可省略。
参考图44来说明数据管理表中的生存区间的具体的描述例。图44 (a) 是表示数据管理表的一例的图。图44 (b)是表示基于该数据管理表的分配 的本地存储器29的存储内容的变化的图。该图在纵轴方向上表示本地存储 器29中的占有区域,横轴为一个标题内的PL时间轴。由于数据管理表中, applications描述为一个标题内的PL时间轴整体为生存区间,所以在该标 题的Chapter弁1 Chapter井5中占有本地存储器29内的区域。application^ 描述为在数据管理表中使标题内的PL#1中的Chapter^ 1 Chapter弁2为 生存区间,所以在该标题的Chapter弁l Chapter弁2中占有本地存储器29 内的区域。由于application井3描述为在数据管理表中使标题内的PL弁l中 的Chapter#4 Chapter#5为生存区间,所以在该标题的Chapter弁4 Chapter弁5中占有本地存储器29内的区域。结束以上对数据管理表中的生 存区间的说明。
接着说明读入优先级。所谓读入优先级是指决定对于向本地存储器29 的读入的优劣的优先级。读入优先级有多个值。在想要设置两个等级的优 劣的情况下,将表示强制(Mandatory)的值、表示可选(optional)的值设 定为读入优先级。这时,Mandatory是指高的读入优先级,optional是指低 的读入优先级。在想要设置三个等级的优劣的情况下,将表示Mandatory 的值、表示optional: high、 optional: low的值设定为读入优先级。Mandatory 表示最高的读入优先级,optional: high表示中等的读入优先级,optional: low表示最低的读入优先级。参考图45 (a)、 (b)来说明数据管理表中的
读入优先级的具体的描述例。在该具体例中,假定的本地存储器29的存储 器规模如图45 (a)所示。图45 (a)是对比表示新旧再现装置中的本地存 储器29的存储器规模的图。箭头mkl表示旧再现装置中的存储器规模,箭 头mk2表示新再现装置中的存储器规模。根据该箭头的对比,假定新再现 装置中的本地存储器29的存储器规模与旧再现装置的存储器规模相比为三 倍以上的状态。这样,在存储器规模有偏差的情况下,应用程序分类为如 图45所示那样的两个组。第一个无论是什么样的存储器规模都应读入的应 用程序(#1, #2)。第二个是不希望旧再现装置的读入,但是希望新再现 装置的读入的应用程序(#3, #4)。若将要读入的应用程序分类为这两个 组,则在属于前者的应用程序上设置读入优先级二Mandatory,并在属于后 者的应用程序上设置读入优先级二Optional。图45 (b)是表示设置了读入 优先级的数据管理表的一例的图。若这样来设置数据管理表后,将 application 1 application糾记录在BD-ROM上,则保证了一切的存储器规 模的再现装置上的再现,同时在存储器规模大的再现装置上,可以使再现 装置再现利用了更大的大小的数据的应用程序。
以上是对于本实施方式的记录媒体的改进。接着说明对于本实施方式 中的再现装置的改进。由于对应于上述的记录媒体的改进,所以应用程序 管理器36以图46所示的处理过程来进行处理。
图46是表示基于应用程序管理器36的预装载控制的处理过程的图。 本流程图构成如下的循环处理在读入应再现的标题中的数据管理表(步 骤Slll)、在数据管理表中具有最高的读入优先级,同时,将applicaitonID 最小的应用程序设为应用程序i后(步骤S112),在经过了步骤S113、步骤 S114的判断后,重复进行将应用程序i预装载到本地存储器29上(步骤 S115)的处理,直到判断为步骤S116为"否"和步骤S117为"否"。
步骤S113判断应用程序i的读入属性是否是预装载,步骤S114判断应 用程序的读入优先级是二Mandatory还是Optional。若在步骤S113中判断 为预装载,在步骤S114中将读入优先级判断为Mandatory,则将应用程序 预装载到本地存储器29中(步骤S115)。若在步骤S113中判断为读入属性 是装载,则跳过步骤S114 步骤S115。
规定循环处理的终止要件的两个步骤中步骤S116,判断是否存在
applicationID次高、读入优先级与应用程序I相同的应用程序k。若存在这 种应用程序k,将该应用程序k设为应用程序i (步骤S119)。
规定循环处理的终止要件的两个步骤中步骤S117判断数据管理表中是 否存在具有次低的读入优先级的应用程序,若存在,将具有该次低的读入 优先级的应用程序中最小的appdationlD中选作应用程序k (步骤S118), 将该应用程序k设作应用程序K步骤S119)。只要这些步骤S116、步骤S117 为"是",则重复上述的步骤S113 步骤S115的处理。步骤S116、步骤S117 中,若没有相应的应用程序,则本流程图的处理终止。
步骤S120 步骤S123是在步骤S14中判断为读入优先级二Optional
的情况下执行的处理。
步骤S120判断是否存在具有相同的applicationID、且读入优先级高的
应用程序j。
步骤S121判断本地存储器29的残留容量是否高于应用程序i的大小。 在步骤S120为"否",步骤S121为"是"的情况下,在步骤S115中,将 应用程序i预装载到本地存储器29中。在步骤S120为"否",步骤S121 为"否"的情况下,不将应用程序i装载到本地存储器29上而仍进入到步 骤S116。
这样,若读入优先级二Optional的数据在步骤S120—步骤S121的判断 不是"是"时,不进行向本地存储器29的预装载。存储器规模小的旧再现 装置为读入了2 3个应用程序的程度,在步骤S121的判断为"否",但是 存储器规模大的新再现装置即使读入更多的应用程序,步骤S121的判断也 不成为"否"。如上这样,在旧再现装置中,仅向本地存储器29读入Mandatory 的应用程序,向新再现装置读入Mandatoiy的应用程序和Optional的应用程 序。
步骤S122是在步骤S120中判断为"是"的情况下执行的步骤。在本 地存储器29上存在具有同一 applicationID、且读入优先级高的应用程序j 的情况下,判断本地存储器29的剩余容量和应用程序j的大小的和是否超 过了应用程序i的大小(步骤S122),若超过,则通过使用应用程序i来覆 盖本地存储器29上的应用程序j,来进行预装载(步骤S123)。在低的情况 下,不将应用程序i预装载到本地存储器29中来原样进入到步骤S116。
参考图47 (a)来说明基于步骤S115、步骤S123的读入处理的一例。 图47 (a)是表示该具体例假定的数据管理表的一例的图。将该图中的三个 应用程序分别存储在三个文件中,applicationID相同(applicationID=l ),但 是读入优先级分另lj不同(mandatory, optional: high, optional: low)。若这 样的数据管理表为处理对象,则通过步骤S115,将读入优先级二Mandatoiy 的应用程序读入到本地存储器29中。但是,对于读入优先级二Optional的 应用程序,在经过了步骤S120 步骤S122的判断后,在步骤S123中进行 读入。在与步骤S115不同的步骤S123中,由于进行预装载,以使其覆盖 己经存在于本地存储器29中的相同的applicationID的应用程序,所以排他 地将多个应用程序中的一个装载到本地存储器29中。
i) 在读入了读入优先级二mandatory的应用程序后,每次读入读入优 先级二optional: high的应用程序时,若步骤S122判断为"否",则在本地 存储器29中保留读入优先级二mandatory的应用程序。在读入了读入优先 级二mandatory的应用程序后,每次读入读入优先级-option: high的应用 程序时,若步骤S122判断为"是",则通过读入优先级-optional: high的 应用程序,来覆盖读入优先级二mandatory的应用程序,并在本地存储器29 中保留读入优先级二叩tional: high的应用程序。
ii) 在读入了读入优先级二optional: high的应用程序后,每次读入读 入优先级二optionah low的应用程序时,若步骤S122判断为"否",则在 本地存储器29中保留读入优先级二Mandatory的应用程序。在读入了读入 优先级二optional: high的应用程序后,每次读入读入优先级=optional: low 的应用程序时,若步骤S122判断为"是",则通过读入优先级二optional: low的应用程序,来覆盖读入优先级二optional: high的应用程序(步骤 S123),在本地存储器29中保留读入优先级二叩tional: low的应用程序。
由于只要本地存储器29的容量允许,重复覆盖本地存储器29上的应 用程序的处理,所以本地存储器29的存储内容如图47 (b)所示,而变为 mandatory=optional:high=>optional:Iow。由于可以根据存储器规模,将大小 不同的Java归档文件装载到本地存储器29中,所以对于存储器规模小的再 现装置,将具有必要最小限度的分辨率的縮略图像的Java归档文件装载到 本地存储器29中,对于存储器规模为中等程度的再现装置,将具有中等程
度的分辨率的SD图像的Java归档文件装载到本地存储器29中,对于存储 器规模大规模的再现装置,将具有高分辨率的HD图像的Java归档文件装 载到本地存储器29中。通过该装载,可以根据存储器大小来显示分辨率不 同的图像,授权承担者的标题制作的表现范围宽。
图48是表示参考数据管理表的读取处理的具体例的图。该图中的两个 应用程序是表示添加了同一applicationID (application^)的两个应用程序。 其中一个嵌入到AVClip中,将读入优先级设定为mandatory。另一方面, 记录在与AVClip不同的文件中,将记录优先级设定为Optional。由于将前 者的应用程序嵌入到AVClip中,所以相当于该嵌入部分的生存区间描述为 生存区间(title#l: chapter#4 #5)。在这些应用程序中application#2、 application弁3上添加了表示装载的读入属性。由于application^ 2将Chapter #l Chapter#2作为生存区间,application#3将Chapter弁4 Chapter弁5 作为生存区间,所以在标题时间轴上排他性地在本地存储器29上常驻其中 一个。图48 (b)是表示在标题时间轴上的不同的时刻,排他性地存储的 application#2、 application井3的图。其是考虑了仅要在必要最低限度的存 储器规模的再现装置上的再现为目的的。若这种内容的数据管理表为处理 对象,则应用程序管理器36通过上述的图46的流程图来根据存储器规模 进行不同的处理。
由于读入优先级=装载,所以将后者的应用程序装载到本地存储器29 上。通过该处理,只要有Mandatory的存储器规模,则应用程序管理器可以 将数据装载到本地存储器29上。这里成为问题的是基于存储器规模大的再 现装置的读入时。不管存储器规模大小,在到达Chapter弁4 Chapter弁5 之前,不读入application井3是存储器规模的浪费。因此,在该图的数据管 理表中向同一 applications添加表示预装载的读入属性而记录在BD-ROM 上,并向其添加相同的applicationID。
由于前者的应用程序读入优先级二Optional,所以只要是步骤S121为" 是"的情况下,就进行预装载(步骤S115)。由此,存储器规模大的再现装 置可以将与在AVClip中嵌入的应用程序相同的应用程序装载到本地存储器 中,而不用等待title弁l、 Chapter弁4 Chapter弁5的到达(图48 (c))。
以上是预装载时的处理。接着说明装载时的处理过程。
图49是表示基于数据管理表的装载处理的处理过程的图。本流程图在 持续标题再现的期间,重复进行由步骤S131 步骤S133构成的循环处理。
步骤S131是具有表示AutoRim的启动属性的应用程序的生存区间是否 到来的判断。若到来,则将具有表示AutoRun的启动属性的应用程序设作 应用程序q (步骤S134),向Java虚拟机38发出表示启动应用程序q的启 动指示,并从本地存储器29向工作存储器37读出应用程序q(步骤S135)。
步骤S133判断标题内PL的再现是否完全终止。该判断如第五实施方 式,通过是否存在来自重放控制引擎32的再现终止事件来进行。若终止, 则终止本流程图的处理。
步骤S132判断是否有来自启动中应用程序的调用。若有,则将调用目 标应用程序设为应用程序q (步骤S136),判断当前的再现时刻是否是应用 程序管理表中的应用程序q的生存区间(步骤S137)。若不是生存区间,则 显示启动失败(步骤S148),回到由步骤S131 步骤S133构成的循环处理。 若是生存区间,则根据图50的流程图来进行装载处理。
图50中的步骤S138判断表示当前再现时刻是否是数据管理表中的应 用程序q的生存区间。若不是生存区间,则不能将应用程序q装载到本地 存储器29中。这时,向Java虚拟机38发出表示启动应用程序q的启动指 示,并直接将应用程序q从BD-ROM读出到工作存储器37中,而不用经 过本地存储器29。这时由于产生了用于读出应用程序的头搜索,所以PL 再现中断(步骤S145)。
若是生存区间,则在步骤S139中,判断是否在应用程序上添加了读入 属性。所谓没有读入属性是指没有循环或交叉应用程序q。但是,即使没有 添加读入属性,也允许在本地存储器29上放置应用程序。因此,在知道再 现中断后,进行应用程序的读出。即,在将应用程序从BD-ROM读出到本 地存储器29后,将应用程序读出到工作存储器37 (步骤S140)。
步骤S141 步骤S146是在步骤S139被判断为"是"的情况下所作的 处理。在步骤S141中,通过参考读入属性,来判断是否预装载了应用程序。 若进行了预装载,则进入到步骤S135。
步骤S142是在读入属性是装载的情况下所执行的判断步骤,判断是否 循环、交叉应用程序q。若进行了交叉,则使Java虚拟机38执行高速缓存
传感(步骤S143)。若在本地存储器29上存在应用程序q,则进入到步骤 S135,使应用程序q装载到Java虚拟机38上。
若本地存储器29上没有应用程序,则进行分支到顶端菜单标题等的例 外处理(步骤S144)。若进行了循环,则设置定时器(步骤S148),在该定 时器超时之前(步骤S147),使Java虚拟机38执行高速缓存传感(步骤 S146)。若在本地存储器29上出现应用程序q,则进入到图49的步骤S135, 将应用程序q装载到Java虚拟机38上。若超时,则进行分支到顶端菜单标 题等的例外处理(步骤S144)。
图51是模式化了怎样进行基于Java虚拟机38的应用程序的读入的图。
箭头 1、 2表示在应用程序管理表上生存、且在数据管理表上生存、 且存在表示循环、交叉的读入属性的Java归档文件的读入。箭头 1表示 在步骤S65、 67中进行的本地存储器29传感。该本地存储29传感由于可 能在本地存储器29中存在通过循环或交叉嵌入的数据,所以在本地存储器 29内进行传感。箭头^2表示对应于步骤S135的读入,表示应用程序存 在于本地存储器29中的情况下的、从本地存储器29向工作存储器37的装 载。带X的箭头表示在本地存储器29上没有数据的情况。
箭头V1、 2表示在应用程序管理表上生存、但是不在数据管理表中 生存、且读入属性不存在的Java归档文件的读入。
箭头V1对应于步骤S145中的读入,表示基于Java虚拟机38的来 自BD-ROM的直接读取的请求。箭头V2表示基于该要求的从BD-ROM向 工组存储器37的Java归档文件读出。
箭头A1、 2、 3表示在应用程序管理表上生存、在数据管理表上生存、 但是读入属性不存在的Java归档文件的读入。
箭头众l对应于步骤S140中的读入,表示基于Java虚拟机38的来 自BD-ROM的直接读取请求。箭头众2表示基于该请求的Java归档文件向 本地存储器29的读出。箭头众3表示从本地存储器29向工作存储器37的 Java归档文件的读出。
如上所述,根据本实施方式,由于可以将在本地存储器29上同时常驻 的应用程序的数目规定为预定数目以下,所以可以尽量避免从本地存储器 29读出时的高速缓存损失。由于可以保证没有高速缓存损失的应用程序的
读出,所以每次应用程序调用时,不会从BD-ROM中读出应用程序,直到 停止AVClip的再现。由于没有中途切断AVClip再现,所以可以保证AVClip的无缝再现。
(第七实施方式)
第三实施方式中,根据应用程序的生存区间来决定非AV系标题的时间 轴。但是,应用程序的动作不稳定,会有启动的失败和异常终止。本实施 方式提出了有启动失败、异常终止的情况下的失败安全机构。图52 (a)是 表示第七实施方式的BD-J对象的内部结构的图。与图7 (b)相比,该图的 新的方面是追加了播放列表管理表。
图52 (b)是表示播放列表管理表的一例的图。如该图所示,播放列表 管理表由PL的指定和该PL的再现属性构成。PL的指定表示在对应的标题 的标题时间轴中,可进行再现的PL。 PL的再现属性表示是否与标题再现的 开始同时自动再现所指定的PL (将这样自动再现的PL称作缺省PL)。
接着,参考图53来说明怎样通过播放列表管理表来规定标题时间轴。 图53 (a)是设定为再现属性表示表示非自动再现的情况下的非AV系标题 中的标题时间轴的图。这时,由于没有再现缺省PL,所以非AV系标题同 样从应用程序的生存区间来决定标题时间轴。
图53 (b)是表示将再现属性设定为AutoPlay的非AV系标题的标题时 间轴的图。若设定为再现属性表示AutoPlay,则重放控制引擎32与非AV 系统标题的再现开始同时,开始缺省PL的再现。但是,即使应用程序正常 动作,正常终止,以PL时间轴为基准来决定该标题时间轴。
图53 (c)表示在播放列表管理表中设定为再现属性表示"AutoPlay", 应用程序异常终止的情况。通过该异常终止,变为什么应用程序都不动作 的状态,但是缺省PL的再现继续。这时,缺省PL的PL时间轴为标题时 间轴。
图53 (d)表示在播放列表管理表中设定为再现属性表示"AutoPlay", 主应用程序的启动失败的情况。这时由于基于重放控制引擎32的缺省PL 再现也与应用程序的启动失败无关地进行,所以缺省PL的时间轴变为标题 时间轴。
如上所述,若将播放列表管理表的再现属性设定为"AutoPlay",在Java
应用程序的启动中,在即使花费5 10秒的时间,进行该启动的期间,变 为"总之是复制什么的状态"。通过为该"总之是复制什么的状态",可以 补偿标题执行开始时的启动延时。
以上是对于本实施方式中的记录媒体的改进。接着说明对于本实施方 式的再现装置的改进。
图52 (c)是表示在分支目标标题的播放列表管理表中,存在将再现属 性设定为AutoPlay的PL的情况下,再现装置进行怎样的处理的图。如该 图所示,若再现属性被设定为AutoPlay的PL存在于分支目标标题的播放 列表管理表中,则BD-J模块35内的应用程序管理器36指示重放控制引擎 32,在标题分支紧之后开始该AutoPlayPL的再现。这样,再现属性为 AutoPlay的PL在标题分支紧之后,命令再现开始。
由于对应于上述的记录媒体的改进,所以应用程序管理器36以如图54 所示的处理过程来进行处理。
图54是表示第七实施方式的应用程序管理器36的处理过程的流程图。 本流程图在图38的流程图中,在步骤S21之前追加步骤S103、步骤S104, 在步骤S21、步骤S22之间追加步骤S100,在步骤S23 步骤S26之间追 加步骤S105。
步骤S103判断对应的标题的播放列表管理表的再现属性是否是 AutoPlay。若是AutoPlay,则使重放控制引擎32开始对缺省PL的再现控 制(步骤S104)。
步骤S100判断是否是基于展示引擎31的再现中。若为再现中,则进 入到步骤SIOI。
步骤S105是在步骤S23为"是",步骤S25为"否"的情况下执行的 判断步骤,表示再现属性是否是AutoPlay。若为否,则向模块管理器34通 知标题终止。若为AutoPlay,则进入到步骤S101后继续处理。
图55是模式化表示通过在播放列表管理表中设定为"再现属性= AutoPlay"来进行怎样的再现的图。这里,应进行再现的标题是包含叠加降 落的瓦片的游戏应用程序的非AV系标题。在该非AV系标题中,若将播放 列表管理表的再现属性设定为AutoPlay,则还开始基于重放控制引擎32的 缺省PL再现。由于并行进行游戏应用程序的执行和缺省PL再现,所以如
图55的上级的左侧所示,显示了将前景作为游戏应用程序的画面,将背景 作为缺省PL的再现图像的合成图像。设该游戏应用程序在中途异常终止。 虽然游戏应用程序通过应用程序管理器36进行了强制终止,但是缺省PL 的再现继续,所以标题变为复制什么的状态。通过这种播放列表管理表中 的再现属性的指定,即使在非AV系统标题内的游戏应用程序异常终止的情 况下,也可维持没有破坏和停机的动作。 (第八实施方式)
第一实施方式中BD-J对象具有数据管理表、应用程序管理表二个标题, 但是本实施方式公开了将这些综合到一个表的形态。在该综合时,如图56
(a) 所示,废弃数据管理表中的读入属性项目,代替其,在启动属性上设 置称作Ready属性的属性。所谓Ready属性是指包含于来自其他应用程序 的调用和来自应用程序管理器36的调用中具有的、表示在本地存储器29 上预先装载应用程序的启动属性的类型。
图56 (b)是表示应用程序的处理和启动属性的关系的图。如第一实施 方式所示,应用程序的处理有是否预装载(1),当前的再现时刻在有效 区间到来时自动启动,或根据其他的调用来启动(2),根据标题再现进行 来进行装载(3),存在有是否生存的不同,根据这些不同,出现了如图56
(b) 所示的5种形态。其中,将启动属性设定为AutoRun的是进行预装载, "自动启动"的情况和进行装载,"自动启动"的情况。
另一方面,启动属性设定为Ready属性,是表示预装载或进行装载、 启动项目为"调用启动"的情况。
另外,不会存在在工作存储器37中生存,但是在本地存储器29中不 进行装载的类型。这是因为在应用程序数据管理表中,工作存储器37的生 存区间和本地存储器29的生存区间一体。
作为启动属性,由于追加了该Ready属性,所以应用程序管理器36在 标题再现之前,进行将启动属性设定为AutoRun的应用程序和将启动属性 设定为Ready属性的应用程序预装载到本地存储器29中的处理。由此,即 使不设置读入属性,也可进行将应用程序预装载到本地存储器29中的处理。
图57是模式化怎么进行第八实施方式的基于Java虚拟机38的应用程 序的读入的图。以图51以基础来做出了该图中的读入的表现图。
箭头 1、 2表示在应用程序 数据管理表中生存、且将启动属性设
定为Ready属性的Java归档文件的读入。
箭头众l、 2、 3表示在应用程序.数据管理表中生存、且启动属性为 Persistent的应用程序的读入。
这些箭头 1、 2,箭头众l、 2、 3在图51中进行了描述,但是在图57 中不存在在图51中描述的相当于V1、 2的箭头的读入。这是因为应用程 序 数据管理表一体化了应用程序管理表和数据管理表,所以不能表现应 用程序管理表=生存、数据管理表=不存在的组合。
如上所述,根据本实施方式,由于可以将数据管理表、应用程序管理 表整理为一个表(应用程序数据管理表),所以可以简化基于应用程序管理 器36的处理。另外,通过没有读入优先级,可以更简化应用程序 数据管 理表。
(第九实施方式)
第一实施方式中,在将应用程序读入到本地存储器29中时,参考读入 优先级,根据该读入优先级,对读入处理赋予优劣。与此相对,第九实施 方式是表示通过含义为Optional的信息和0到255的数值的组合来表示读 入优先级的实施方式。
图58 (a) (b)是表示第九实施方式的读入优先级的一例的图。255、 128是0到255的读入优先级的一例,含义是本例中的application井2读入 优先级比application#3高。
在本实施方式中,应用程序管理器36与第一实施方式相同,首先将添 加了表示Mandatory的读入优先级的应用程序读入到本地存储器29。
之后,对于添加了表示Optional的读入优先级的应用程序,判断本地 存储器29中的容量是否超过了应用程序的大小。若超过,则将添加了读入 优先级二Optkmal的应用程序原样读入到本地存储器29。若小,则将构成 应用程序的数据中,表示读入优先级的数值最高的应用程序读入到本地存 储器29中。并且,向本地存储器29中的其余的区域读出表示读入优先级 的数值低的应用程序。
由此,对于Optional处理的应用程序,即使在再现装置的本地存储器 29上没有存储整体的容量,也可将其一部分存储到本地存储器29中。
(第十实施方式)
第一实施方式中应用程序管理器36将添加了同样applicationID的应用 程序,根据读入优先级排他地装载到本地存储器29中,但是第十实施方式 中,通过对应用程序施加组属性,来实现排他的装载。图59是表示添加了 组属性的数据管理表的图。组属性可以有不是排他组、是排他组的两种设 定。在是排他组的情况下,描述其组号。图59 (a)中的titl^1的"一"表 示不存在排他组。另一方面,title#2、 #3的"group#l"有排他组,title弁2、 存3表示属于groupW的排他组。以上是本实施方式的记录媒体的改进。
本实施方式的再现装置在根据数据管理表,将各应用程序读入到本地 存储器29后,来核对本地存储器29的应用程序中的组属性。同样,若属 于排他组的应用程序在本地存储器29上存在两个以上,则从本地存储器29 中删除其中一个。
由此,可以提高本地存储器29的使用效率。作为排他组的具体例,由 启动应用程序和通过该程序启动的应用程序构成的组对应。由于通过本应 用程序启动的应用程序原则上限于一个,所以在本地存储器29上应该仅存 在启动+ l个的应用程序。若存在三个以上的应用程序,则需要应用程序管 理器36进行从本地存储器29中删除其的处理,所以设置各应用程序的组 属性,并进行在本地存储器29上存在的应用程序是否是启动+ 1个的应用 程序的校验。
图59 (a)是表示对基于应用程序管理表的本地存储器29的访问的图。 该图中,由于设定为读入优先级二Optional的application#2、 application弁3 的组属性是groups,所以这些应用程序属于同样排他组。三个应用程序中, application^是上述的启动应用程序,由于application^, application#3是 由其启动的应用程序,所以添加组属性,使得仅某个存在于本地存储器29 中。应用程序管理器36参考这些applications, application^ 二3的组属性, 进行从本地存储器29中删除某一个的处理。通过该删除在本地存储器29 上产生了空余。
(第十一实施方式)
第一实施方式中,使每个标题具有应用程序管理表,但是在本实施方 式中,提出了使该应用程序管理表的分配单位改变的提案。图60是表示分
配单位的变化的图。该图中,第一级表示在BD-ROM上记录的三个应用程 序管理表,第二级表示标题单位,第三级表示盘单位,第四级表示由多个 BD-ROM构成的盘设置单位。图中的箭头模式地表示应用程序管理表的分 配。若参考该箭头,则可以看出第一级中的应用程序管理表井1、 #2、 #3 分别分配到第二级表示的title弁l、 #2、 #3上。另外,以盘为单位来分配应 用程序管理表井4,对盘设置整体分配应用程序管理表井5。这样,通过将 应用程序管理表的单位设为比标题大的单位,可以在装载了一个BD-ROM 的期间,装载了要生存的应用程序和多个BD-ROM中某一个的期间,定义 要生存的应用程序。 (参考)
以上的说明不应表示本发明的所有实施行为的形态。通过实施了下面 (A) (B) (C) (D)...的改变的形态的实施行为方式,也可以实施本发明。 本申请的权利要求的各发明是扩展了以上记载的多个实施方式及其变形方 式的记载乃至一般化的记载。扩展乃至一般化的程序基于本发明的技术领 域的申请当时的技术水平的特性。
(A) 所有的实施方式中,将本发明的光盘作为BD-ROM来实施, 但是本发明的光盘在记录的动态脚本,索引表上有特征,该特征不依赖于 BD-ROM的物理性质。若是记录了动态脚本、索引表的记录媒体,可以是 任何记录媒体。例如,可以是DVD-ROM、 DVD-RAM、 DVD—RW、 DVD 一R、 DVD+RW、 DVD+R、 CD-R、 CD-RW等的光盘、PD、 MO等的光磁 盘。另外,也可以是压縮闪存卡、智能媒体(smartmedia)、存储棒、多媒 体卡、PCM-CIA卡等的半导体存储卡。也可以是软盘、SuperDisk、 Zip、 Clik!等磁记录盘(i)、 ORB、 Jaz、 SparQ、 SyJet、 EZFley、微驱动器等可 移动硬盘驱动器(ii),进一步也可以是机器内置型的硬盘驱动器。
(B) 所有的实施方式中的再现装置在译码了在对BD-ROM上记录 的AVClip进行了译码后输出到TV,但是,再现装置也可仅为BD-ROM驱 动器,在TV上具有除此之外的构成要素,这时,可以将再现装置和TV组 装到由正EE1394连接的家庭网络中。另外,实施方式的再现装置是与电视 机相连来使用的驱动器,但是也可以是与显示器为一体的再现装置。进一 步,在各实施方式的再现装置中,可以仅将成为处理的本质部分的部分作
为再现装置。由于这些再现装置都是在本说明书中记载的发明,所以即便 是这些的任何一个形态,以各实施方式所示的再现装置的内部结构为基础, 来制造再现装置的行为也为本申请的说明书中记载的发明的实施行为。各 实施方式所示的再现装置的基于有偿 无偿的转让(有偿的情况下是贩卖、 无偿的情况下是赠与)、出借、输入的行为都是本发明的实施方式。通过店 面展示、目录要约、小册子发布,向一般用户提议这些的转让和出租的行 为也是本再现装置的实施行为。
(c) 由于使用硬件资源来具体实现基于各流程图所示的程序的信
息处理,所以上述流程图中表示了处理过程的程序单体作为发明成立。所 有的实施方式以组装到再现装置的形态来表示了对于本发明的程序的实施 行为的实施方式,但是也可从再现装置分离,来实施各实施方式中表示的 程序单体。程序单体的实施行为有生产这些程序的行为(1)、通过有偿*无
偿来转让程序的行为(2)、出借的行为(3)、输入的行为(4)和经双向的 电子通信线路向公众提供的行为(5)、和通过(6)店面展示、目录要约、 小册子发布,向一般用户提议程序的转让和出租的行为。
(D) 认为各流程图中按时间序列执行的各步骤的"时间"的要素 为特定发明用的必须的事项。这样,可以看出基于这些流程图的处理过程 公开了再现方法的使用方式。若通过按时间序列来进行各步骤的处理,进 行这些流程图的处理来实现本发明的本来的目的,达到作用和效果,则当 然相当于本发明的记录方法的实施行为。
(E) 也可在BD-ROM上记录一览显示Chapter用的菜单(Chapter Menu)和控制其举动的MOVIE对象,而从顶端菜单中分支。另外,也可 通过遥控器键的Chapter键的按下来进行调用。
(F) 每次记录在BD—ROM上时,最好在构成AVClip的各TS包 上添加扩展头。扩展头称作TP—extra—header,包含"Arribval—Time_Stamp" 禾口"copy_permission—indicator ",具有4字节的数据长度。带TP—extra—header 的TS包(下面简写为带EX的TS包)按每32个来进行分组,并写入到三 个扇区中。由32个带EX的TS包构成的组是6144字节(=32X192),其 与三个扇区大小6144字节(=2048X3) —致。将容纳在三个扇区中的32 个带EX的TS包称作"排列的单元(AlignedUnit)"。
在经正EE1394相连的本地网络的使用时,再现装置200通过如下这样 的发送处理来进行Aligned Unit的发送。g卩,发送侧的设备分别从在Aligned Unit中包含的32个带EX的TS包取出TP—extra—header,并根据DTCP标 准来加密TS包标题后输出。每次TS包的输出时,在TS包之间的任意位 置上插入同步的(isochronous)包。该插入位置是基于TP—extra—header的 Arribval—Time—Stamp所示的时刻的位置。随着TS包的输出,再现装置200 输出DTCP—Descriptor DTCP—Descriptor表示TP—extra—header中的复制允 许设置,这里若描述DTCP—Descriptor,使其表示"禁止复制",则在经 IEEE1394相连的本地网的使用时TS包不记录在其他设备上。
(G) 在各实施方式中,在记录媒体上记录的数字流是AVClip,但 是也可以是DVD— Video标准、DVD-Video记录标准的VOB (video Object)。 VOB是通过多路复用视频流、音频流得到的ISO/正C13818—1规 格标准的节目流。另夕卜,AVClip中的视频流也可以是MPEG4和MMV方 式。进一步,音频流也可以是Linear—PCM方式、Dolby—AV3方式、MP3 方式、MPEG—AAC方式、Dts、 WMA (Windows media audio)。
(H) 各实施方式中的视频作品也可通过对用模拟广播广播的模拟 视频信号进行编码来得到。也可以是由通过数字广播广播的传输流构成的 流数据。
另外,也可对在录像带上记录的模拟/数字的视频信号进行编码来得到 内容。进一步,也可以对从摄像机直接取得的模拟/数字的视频信号进行编 码来得到内容。除此之外,也可以是通过发送服务器发送的数字作品。
(I) BD-J模块35也可以是为进行卫星广播接收而在设备上嵌入的 Java平台。BD-J模块35若是该Java平台,则本发明的再现装置兼有作为 MHP用STB的处理。
进一步,也可以是为进行便携电话的处理控制在设备中嵌入的Java平 台。若BD-J模块35是该Java平台,则本发明的再现装置兼有作为便携电 话的处理。
(K)在层模型中,也可以在BD-J模式上配置MOV正模式。这是因 为尤其由于MOVIE模式下的动态脚本的解释和基于动态脚本的控制过程 的执行对于再现装置的负担轻,所以即使在BD-J模式上执行MOV正模式
也可不会产生任何问题。这是因为在再现装置和视频作品的开发时,在一 个模式下完成动作保证。
进一步,也可仅在BD-J模式下执行再现处理。如第五实施方式所示那 样,由于可以在BD-J模式下进行与PL的再现同步的再现控制,所以是不 用强制设置MOVIE模式的理由。
(L)也可通过在应多路复用在AVClip上的交互图像流上设置导航指 令,来实现从某个PL向其他PL的分支。
产业上的可用性
本发明的再现装置可以在如家庭影院系统中使用那样,可以在个人用 途中使用。但是本发明在上述实施方式中公开了内部结构,由于根据该内 部结构可以批量生产,所以实质上可以在工业上使用。由此,本发明的再 现装置具有产业上的可利用性。
权利要求
1、一种在其上存储有索引表和多个操作模式对象的记录媒体,其中所述索引表示出了与所述多个操作模式对象相对应的多个标题,所述多个操作模式对象中的至少一个操作模式对象是在Movie模式中使用的第一操作模式对象,而所述多个操作模式对象中的至少另一个操作模式对象是在虚拟机中使用的第二操作模式对象,所述第一操作模式对象包括示出控制过程的导航指令,所述第二操作模式对象包括高速缓存管理信息,以及所述高速缓存管理信息包括与多个应用程序一一对应的多个项,每个项是指示再现装置将所述对应的应用程序读取到高速缓存中的信息,并且按顺序为所述每个项分配预定的位置,分配给所述项的所述位置具有以下功能指示所述再现装置首先将与分配有最高位置的项相对应的应用程序读取到所述高速缓存中,并且随后从与按顺序具有下一最高位置的项相对应的应用程序开始,将与剩余项相对应的多个应用程序按所述对应位置的降序顺序连续读取到所述高速缓存中。
2、 一种再现装置,其进行记录媒体上记录的标题的再现,并执行应用 程序,所述再现装置包括模块管理器,基于索引表从多个标题中选择变为当前标题的标题;以及模块,执行所述应用程序, g巾所述记录媒体在其上存储有索引表和多个操作模式对象, 所述索引表示出了与所述多个操作模式对象相对应的多个标题,所述 多个操作模式对象中的至少一个操作模式对象是在Movie模式中使用的第 一操作模式对象,而所述多个操作模式对象中的至少另一个操作模式对象 是在虚拟机中使用的第二操作模式对象,所述第一操作模式对象包括示出控制过程的导航指令,所述第二操作模式对象包括高速缓存管理信息,以及所述高速缓存管理信息包括与多个应用程序一一对应的多个项,每个 项是指示再现装置将所述对应的应用程序读取到高速缓存中的信息,并且 按顺序为所述每个项分配预定的位置,所述模块首先将与分配有最高位置的项相对应的应用程序读取到所述 高速缓存中,并且随后从与按顺序具有下一最高位置的项相对应的应用程 序开始,将与剩余项相对应的多个应用程序按所述对应位置的降序顺序连 续读取到所述高速缓存中。
3、 一种记录方法,其生成体数据并获得在其上存储有所述体数据的记 录媒体,其中将索引表和多个操作模式对象记录在所述体数据中, 所述索引表示出了与所述多个操作模式对象相对应的多个标题,所述 多个操作模式对象中的至少一个操作模式对象是在Movie模式中使用的第 一操作模式对象,而所述多个操作模式对象中的至少另一个操作模式对象 是在虚拟机中使用的第二操作模式对象,所述第 一操作模式对象包括示出控制过程的导航指令, 所述第二操作模式对象包括高速缓存管理信息,以及 所述高速缓存管理信息包括与多个应用程序一一对应的多个项,每个 项是指示再现装置将所述对应的应用程序读取到高速缓存中的信息,并且 按顺序为所述每个项分配预定的位置,分配给所述项的所述位置指示所述再现装置首先将与分配有最高位置 的项相对应的应用程序读取到所述高速缓存中,并且随后从与按顺序具有 下一最高位置的项相对应的应用程序开始,将与剩余项相对应的多个应用 程序按所述对应位置的降序顺序连续读取到所述高速缓存中。
4、 一种再现方法,其进行记录媒体上记录的标题的再现,并执行应用 程序,所述再现方法包括管理器选择步骤,基于索引表从多个标题中选择变为当前标题的标题;以及模块执行步骤,执行所述应用程序, 3巾所述记录媒体在其上存储有索引表和多个操作模式对象, 所述索引表示出了与所述多个操作模式对象相对应的多个标题,所述多个操作模式对象中的至少一个操作模式对象是在Movie模式中使用的第一操作模式对象,而所述多个操作模式对象中的至少另一个操作模式对象是在虚拟机中使用的第二操作模式对象,所述第一操作模式对象包括示出控制过程的导航指令, 所述第二操作模式对象包括高速缓存管理信息,以及 所述高速缓存管理信息包括与多个应用程序一一对应的多个项,每个项是指示再现装置将所述对应的应用程序读取到高速缓存中的信息,并且按顺序为所述每个项分配预定的位置,所述模块步骤首先将与分配有最高位置的项相对应的应用程序读取到所述高速缓存中,并且随后从与按顺序具有下一最高位置的项相对应的应用程序开始,将与剩余项相对应的多个应用程序按所述对应位置的降序顺序连续读取到所述高速缓存中。
全文摘要
本发明提供一种BD-ROM再现装置,同时进行包含AVClip的标题的再现和应用程序的执行,包括执行应用程序的BD-J模块(35)、再现属于一个标题的AVClip的重放控制引擎(32)和控制多个标题间的分支的模块管理器(34)。所述标题包含数据管理表,数据管理表按每个标题表示应用程序的读入优先级,所述BD-J模块(35)包含Java虚拟机(38)、本地存储器(29)和将应用程序装载到本地存储器(29)的应用程序管理器(36)。应用程序管理器(36)根据各应用程序的读入优先级和本地存储器(29)的存储器规模,将应用程序读入到本地存储器(29)中。
文档编号G11B27/32GK101393761SQ20081014595
公开日2009年3月25日 申请日期2004年10月12日 优先权日2003年10月10日
发明者冈田智之, 岩本启明, 池田航 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1