光盘、再现装置、程序、再现方法、以及记录方法

文档序号:7584257阅读:218来源:国知局
专利名称:光盘、再现装置、程序、再现方法、以及记录方法
技术领域
本发明涉及一种数字流光盘,例如蓝光光盘只读存储器(以下缩写为“BD-ROM”)。本发明也涉及此类光盘的再现装置、程序、再现方法,以及记录方法。本发明还涉及通过此类光盘发行电影作品等等的技术。
背景技术
有一种涉及通过光盘发行电影作品的商业模式,通过该商业模式,用同一光盘发行涉及一个角色的电影作品,在所述光盘中,还记录有涉及该角色的游戏。待记录到光盘上的游戏从猜谜形式的简单游戏,发展成为结合了三维电脑图形的成熟游戏。以下的专利参考1公开了现有技术的一个实例,该技术记录作为非AV数据的游戏程序,同时在同一光盘上预存构成电影作品主体的AV数据。
<专利参考1>日本专利公开号3069324然而在常规的结合了电脑图形的成熟游戏中,为了将库用于应用程序的运行,要求预先在存储器中载入多种库,所述库包括那些描绘电脑图形的库。例如DVD播放器等消费品的硬件规格不能满足这种运行环境的要求,因此消费者不得不在诸如个人电脑的其它运行环境中玩此游戏。这意味着需要经常以“推荐运行环境至少128M的存储空间”等等来提醒用户。
即使在光盘包括了成熟游戏时,如果游戏所需的运行环境与电影作品自身所需的运行环境相去甚远,对于用户来说,不倾向于购买所述光盘也是自然的。这使得以如此高的开发成本创作游戏,以便被包含进记录着电影作品的光盘变得毫无意义。

发明内容
由于所述问题,因此本发明的目的在于,在发行中,提出一种程序来实现记录在光盘上的形式的游戏,该光盘的操作环境与电影作品内容的操作环境尽可能的相似。
上述目标通过权利要求1实现。
采用上述结构,将与某个段的再现同步的程序位于具有插入单元格式的段前。根据这种结构,仅仅通过将光学拾取器的读取位置稍微远离该段的起始位置,就能够将构成数字流的每个段连同将与该段同步的程序一起读出。因此,在相应段的读取中,足以从光盘中读取必需同步的程序。在与段同步之后,能够从存储器中删除程序。因此,在贯穿于数字流再现的所有区间,不需要在存储器中驻留程序。如果存在大量将与数字流同步的程序,那么就可能存在一种资源管理,每当完成程序执行时,通过该资源管理从存储器中收集每个程序。利用这种资源管理,装配在再现装置上的存储器容量只需足够执行程序加载就行。因此,可以执行数字流再现,并随其一并执行多个程序的同步处理。
这里,权利要求2。
采用以上结构,为插入单元设定终止时间信息。因此,可以在光盘的创作阶段确定资源管理,所述资源管理规定何时将插入单元读取到存储器,以及到何时从存储器删除插入单元。如果根据这种资源管理执行程序,可以以最小的存储器容量,实现要求与数字流的AV再现同步的游戏软件。对于软件公司的程序员来说,实现在其中能与AV再现同步的运行环境是具有吸引力的。因此,本发明通过鼓励更多的软件公司走入电影市场市场和消费品市场,可以激励电影市场以及消费品市场。
权利要求3
采用以上结构,即使当三个库设置在光盘上分离的位置上时,通过调整每个库头的起始时间信息,也能同时使用这三个库。
权利要求4权利要求5采用以上结构,可以将插入单元的一个拷贝置于一个预期会受到频繁的随机访问的位置之后(例如,一个再现区的起始点)。如果这样做,那么无需光盘查找到段之前的插入单元,应用程序也可以使用库。即使基于再现路径信息的再现使随机访问更加频繁,也能够实现平稳读取。
权利要求6采用以上结构,即使当从数字流的再现时间轴上的未来到过去的方向上执行再现过程时,也可以实现从光盘到存储器的程序读取,而无需任何不必要的查找。即使在不规则的再现过程中,例如上述反向再现,也可以将程序读入存储器,并且,例如即使在反向再现过程中,也能由此实现假定与AV再现同步的多个处理。
权利要求13由于利用动态脚本的标识符、播放列表信息等等定义每个有效范围,可以容易地掌握有效范围相互重叠的插入单元,并且可以通过记忆中的资源管理很容易地制定插入单元读取规划。
附图简述

图1为示出涉及本发明第一实施例的多重显示(multidisplay)装置的完整结构的示图;图2为示出BD-ROM结构的示图;图3为以目录结构表现BD-ROM应用层格式的示图;图4为从功能的角度示出文件分类的分类图;图5为示出BD-ROM所针对的软件程序层模型的示图;图6为概要示出AV流结构的示图;
图7为概要示出如何在BD-ROM上记录AV流的示意图;图8为示出流管理信息内部结构的示图;图9为示出PL信息内部结构的示图;图10为示出借助于PL信息的间接索引的示意图;图11为示出与如图10所示的PL信息不同的PL实例的示图;图12为示出层模型的第四层(动态脚本)中的再现模式的示图;图13为示出Java语言针对的Java平台的控制软件层模型的示图;图14为示出作为有效范围设置的目标的AV流的示图;图15A为示出如何在BD-ROM上记录段的示图;图15B示出在连续读取段i和段i+1时,经由光学拾取器的读取路径;图16为示出当对段i+1执行随机访问时,光学拾取器移动路径的示图;图17为示出1)如何将库读取到存储器,以及2)如何在AV流的再现时间轴上的每个时间点(t1、t2、t3、以及t4),执行将库加载到Java虚拟机工作区域的示图;图18为示出插入单元结构的示图;图19为示出对TMAP中访问单元通道的改进的示图;图20为示出当构成数字流的段被读出时,踪迹缓冲器的状态转换的示图;图21为示出由层叠图像构成的游戏程序的示图,所述层叠图像由作为背景的来自电影作品的移动图像和作为前景的电脑图形构成;图22A为分别示出1号、2号、3号、以及4号库的有效范围的示图;图22B为示出库有效范围进入点与段之间关系的示图;图23为示出在BD-ROM上,以何种方式记录每个段的示图;
图24为示出插入单元内部结构的示图;图25为示出根据本发明的再现装置的内部结构的示图;图26为示出再现控制引擎12的执行步骤的流程图;图27为示出从图25的组成元素中,分离并提取出与库库相关的元素的示图;图28为示出在Java语言针对的层模型中,显示数据所处位置的示图;图29为示出存储显示数据的插入单元的结构的示图;图30示出再现装置中显示数据的显示路径;图31为示出段插入单元拷贝应该被插入段中什么位置的示图;图32为示出在段i的中间位置执行随机访问时,如何执行程序读取的示图;图33为示出(图22A和22B中)1号、2号、3号、和4号四个库与段关系的示图;图34A为示出插入单元、段、以及插入单元拷贝的布局的示图;图34B为段i+1加入图34A的情况;图35为示出不存在插入单元拷贝时,如何执行反向再现的示图;图36为示出用于BD-ROM的查找操作的示图,其中在BD-ROM中加入插入单元拷贝;图37为示出图22中的1号、2号、3号、和4号四个库库与段关系的示图;图38为示出在用户执行反向再现操作时,由再现控制引擎12执行的处理过程的流程图;图39为示出根据第五实施例的BD-ROM的文件结构的示图;图40为示出由PLMark和ClipMark共享的通用结构的示图;图41A和41B为示出在定义1号播放列表的再现过程中出现的时间事件时,PLMark的,描述实例的示图;
图42为示出在定义1号播放列表的再现过程中出现的用户事件时,PLMark的描述实例的示图;图43为示出当ClipMark和PL定义时间事件和用户事件时,插入单元的布局实例的示图;图44为示出由再现控制引擎12所执行的处理过程的示图;图45为示出如何对与插入单元相关的信息执行间接索引的示图;图46为示出插入单元常规信息与加入AV流的三个插入单元之间关系的示图;图47为示出如何在根据第七实施例的插入单元中表示有效范围的示图;图48为概要示出由定位器描述的程序或显示数据的分级组织的示意图;图49为示出根据第九实施例的再现装置的内部结构的示图;图50为示出第十一实施例的BD-ROM的制造方法的流程图;图51为示出存储大量显示数据块的插入单元的示图。
发明详述(第一实施例)接下来的内容描述涉及本发明的光盘的一个实施例。首先,在涉及本发明的光盘的实施例中,描述涉及光盘的使用的一个实施例。图1为示出如何使用本发明的光盘的示图。在图1中,涉及本发明的光盘为BD-ROM 100。BD-ROM 100用于为家庭影院系统提供电影作品,所述家庭影院系统由再现装置200,电视300,以及遥控器400组成。
其次,描述光盘实施例中的光盘产品。通过对BD-ROM应用层的改进,涉及本发明的光盘是可运行的。
图2为示出BD-ROM结构的示图。BD-ROM显示在该图的第四层,并且BD-ROM上的轨显示在第三层。在该图中,沿从BD-ROM内侧到外侧的方向所形成的螺旋轨,在水平方向上延伸。该轨由导入区、容量区、以及导出区组成。该图中的容量区具有层模型物理层、文件系统层、以及应用层。通过在BD-ROM应用层上形成如图2所示的数据格式,对本发明的光盘进行产业化制造。
图3为以目录结构表示BD-ROM应用层格式(应用)的示图。如图所示,在ROOT目录下,BD-ROM具有BD-AV目录,而且在BD-AV目录下,存在JCLASS目录和BROWER目录。在BDAV目录下,存在诸如INFO.BD、XXX.M2TS、XXX.CLPI、YYY.PL以及ZZZ.MOVIE等文件。在JCLASS目录下,存在ZZZ.CLASS文件,在BROWER目录下,存在ZZZ.HTM文件。
图4为示出从功能的角度进行文件分类的分类示图。在该图中,由第一、第二、第三、和第四层所表示的分层结构,象征性地表示了示图的分类。在该图中,“XXX.M2TS”被归类到第二层。“XXX.CLPI”和“YYY.PL”被归类到第三层(静态脚本)。BDAV目录下的“ZZZ.MOVIE”,JCLASS目录下的“ZZZ.CLASS”,以及BROWER目录下的“ZZZ.HTM”被归类到第四层。
该图中的分类(也就是第一层到第四层)针对图5所示的层模型。下面参考图5,解释用于控制软件程序的层模型,该控制软件程序是BD-ROM的目标。
在图5中,第一层是物理层,用于控制对处理目标流的主体的供给。如第一层所示,处理目标流的供应源不限于BD-ROM,还包括各种记录/通信介质,例如HD、存储卡、以及网络。由第一层执行的控制被指引到这些供应源(也就是HD、存储卡、网络等等),并且被明确为光盘读取、卡读取、以及网络通信。
第二层为译码方法层。第二层定义了译码方法,经由第一层供给的数字流需要以此方法译码。本实施例采用的译码方法是MPEG2标准中的译码方法。
第三层(静态脚本)定义流的静态脚本。静态脚本由再现路径信息和流管理信息组成,这些信息由光盘制造商预先确定,并且在此基础上由第三层(静态脚本)定义再现控制。
第四层用于实现流的动态脚本。动态脚本用于根据用户操作和装置状态来改变再现过程,并且在此基础上由第四层定义再现控制。如下,根据该层模型阐明流的实体(也就是构成静态脚本的文件)。
首先,阐明属于第二层的数字流(XXX.M2TS)。
AV流(XXX.M2TS)是MPEG-TS(传输流)格式的数字流,并通过多路复用一路视频流、至少一路音频流、以及至少一路子图片流而产生。视频流表示电影作品的移动图片部分,音频流表示电影作品的声音部分,而子图片流表示电影作品的字幕。图6是概要示出AV流的结构的示图。
AV流(第四级)以如下方式形成。视频帧(图片pj1、2和3)构成的视频流,以及音频帧(第一级)构成的音频流被转换成PES包序列(第二级),接着该序列被转换成TS包序列(第三级)。同样地,子图片流(第七级)被转换成PES包序列(第六级),接着该序列被转换成TS包序列(第五级)。然后TS包序列(第三级)和TS包序列(第五级)被多路复用,因而形成AV流(第四级)。实际上该多路复用用于排列视频TS包和音频TS包,使得将从BD-ROM中同步读取的视频TS包和音频TS包被置于彼此接近的位置。
通过前述过程形成的AV流被分解为多个段,正如标准的计算机文件,并存储在BD-ROM的某个区域内。图7为概要示出如何在BD-ROM上记录AV流的示意图。
在文件管理信息“fk1”中为构成AV流的段描述其在BD-ROM中段的长度和地址。
图7中,在文件管理信息“fk1”中,对应于地址(adr1、2、3)和长度(长度1、2、3),分别存储通过分解AV流得到的三个段。AV流由一个或多个访问单元组成,并可访问多个访问单元的某个单元。访问单元是用于解码的最小单元,并且包括一个GOP(图片组)以及一个与GOP同步读取的音频帧。GOP包括一个双向预测(B)图片,一个预测(P)图片,以及一个内部(I)图片。利用与在B图片之前或之后所再现的图像的关系压缩所述B图片。利用与在P图片之前所再现的图像的关系压缩所述P图片。利用一帧图像的空间频率响应来压缩i图片,无需利用与其它图片的关系。
注意到,用于文件名“XXX.M2TS”的文件体“XXX”,以三个数字代表BD-ROM中分配给AV流的标识编号。换句话说,通过“XXX”唯一地标识该图中的AV流。(注意到,三个数字只是一个例子,标识编号可以是任何位数字的编号。)<静态脚本>
接下来,阐明“XXX.CLPI”和“YYY.PL”,它们每一个都是静态脚本文件。
流管理信息(XXX.CLPI)是每条AV流的管理信息。图8为示出流管理信息内部结构的示图。通过多路复用视频流和音频流形成AV流,并以称为“访问单元”的单元随机访问所述AV流。因此,包含在流管理信息中的管理项目为每一条视频流和音频流的属性,以及存在于AV流中的每一个随机访问点的位置。图中的引线用于集中反映流管理信息的结构。如引线“hn1”所示,流管理信息(XXX.CLPI)由每一条视频流和音频流的“属性信息”组成,而“TMAP”由用于对访问单元执行随机访问的索引表构成。
如引线“hn2”所示,属性信息(属性)由涉及视频流的属性信息(视频属性信息)和属性信息的编号(编号),以及复用在AV流上的每条音频流的属性信息集合(音频属性信息#1至#m)组成。如引线“hn3”所示,涉及视频流的管理信息示出了已将所述视频流编码的编码方法(编码),并且为构成视频流的每块图片数据示出分辨率(分辨率),纵横比(比例),和帧频(帧频)。
另一方面,如引线“hn4”所示,音频流的属性信息(音频属性信息#1至#m)示出每条音频流的编码方法(编码),通道编号(Ch.)和语言(Lang)。
使用时间信息的时间映射(TMAP)是用于多个可随机访问地址的间接索引的索引表。如引线“hn5”所示,时间映射由许多条条目信息块(访问单元#1条目信息、访问单元#2条目信息、访问单元#3条目信息……),以及多条条目信息的编号(编号)组成。每块条目信息由特定访问单元的再现持续时间(持续时间)和数据大小(大小)组成。即使各个访问单元的大小或再现持续时间彼此不同,通过采用可变长度编码压缩方法,并使用该条目信息,就能够实现从任意再现时间到图片数据的随机访问,其中所述图片数据在对应于所述再现时间的访问单元内。这里注意到文件名“XXX.CLPI”的文件主体与其流管理信息相匹配的AV流采用的名字相同。例如,在图中,AV流的文件主体为“XXX”,于是流管理信息“XXX.CLPI”与AV流(XXX.M2TS)相符。下面,阐明播放列表信息。
“YYY.PL”(播放列表信息,以下经常缩写为PL信息)是构成播放列表的表(作为再现路径),并由CellList构成。图9为示出PL信息内部结构的示图。
CellList由许多块CELL信息(CELL信息#1、#2、#3、…#n),以及多块CELL信息的编号(编号)组成。CELL信息是指针信息,并用于定义至少一个构成播放列表的逻辑再现区。引线“hs1”针对CELL信息的结构。如这条引线所示,CELL信息由代表AV流名字的“流名称”构成,再现区的进入点(起始点)和离开点(终止点)属于该AV流,“进入点信息”是所述再现区进入点的信息,而“离开点信息”是所述再现区离开点的信息。
CELL信息的特征在于其表示法。利用CELL信息,使用时间映射作为参考表,以间接参考的形式定义再现区。图10为概要示出通过PL信息的间接参考的示意图。在该图中,AV流由许多访问单元组成。流管理信息中的TMAP示出访问单元的扇区地址,如箭头ay1、2、3和4所示。图中的箭头jy1、2、3和4概要示出借助CELL信息对访问单元的参考。也就是说,借助CELL信息(也就是箭头jy1、2、3和4)执行的参考被解释为间接参考,借助这一间接参考,通过TMAP识别AV流内访问单元的地址。
BD-ROM上的再现区称为“Cell”,该再现区由“CELL信息—流管理信息—AV流”构成的组来表示。BD-ROM上的逻辑再现单元称为“PL”,该再现单元为由“PL信息—流管理信息—AV流”构成的组。记录在BD-ROM上的电影作品由逻辑再现单元(PL)构成。因此,如果可以定义一个PL,其仅指明有某个特定角色出现的场景,就可以除电影作品实体本身之外,很容易地制作出仅由此类场景构成的电影作品。图11为示出定义一个与图10所示的PL信息(PL信息#1)不同的PL(PL信息#2)的实例的示图。
仅仅通过定义多种PL信息,就可以增加多个电影作品,并拓宽电影制作人的表现手法。这就是静态脚本的最大优势。
除“PL”、“CELL”等等外,BD-ROM拥有另一个称为“章节”的再现单元。一个章节由一个或多个CELL组成。
注意到,用于PL信息文件名中的文件主体“YYY”,以三个数字表示分配给BD-ROM的PL信息的标识编号。换句话说,通过标识编号“YYY”唯一地识别该图中的PL信息。PL信息的标识编号表示为“YYY”的原因是为了表明该标识编号系统不同于分配给AV流和AV流管理信息的标识编号系统“XXX”。(注意到,三个数字只是一个例子,标识编号可以是任何位数字的编号。)
接下来描述动态脚本。
<动态脚本>
以下描述均作为动态脚本的“ZZZ.MOVIE”、“ZZZ.HTM”、以及“ZZZ.CLASS”。动态脚本指明AV流的再现控制过程。再现控制过程根据针对装置的用户操作而改变,并具有类似程序的特性。存在两种动态再现控制的模式。一种模式称为“正常模式”,在该模式中,在AV装置的唯一再现环境中,再现BD-ROM中的运动图像数据。另一种模式称为“增强模式”,通过该模式增强BD-ROM中的运动图像数据的附加值。图12为示出层模型的第四层中的再现模式的示图。在该图的第四层中,描述一种正常模式和两种增强模式。一种正常模式是在类DVD的再现环境中的再现模式,称为“电影模式”。两种增强模式中的一种是其实质为Java虚拟机的再现模式,并且因此被称为“Java模式”。两种增强模式的另一种是其实质为浏览器的再现模式,并且因此被称为“浏览器模式”。
注意到,文件名“ZZZ.MOVIE”、“ZZZ.HTM”、以及“ZZZ.CLASS”中使用的文件体“ZZZ”,以三个数字代表分配给动态脚本的标识编号。换句话说,通过标识编号ZZZ唯一地标识该图中的脚本。脚本的标识编号表示为“ZZZ”的原因是为了指明该标识编号系统不同于分配给AV流的标识编号系统“XXX”,并且不同于分配给PL信息的标识编号系统“YYY”。(注意到,三个数字只是一个例子,标识编号可以是任何位数字的编号。)以下更详细地描述各种模式的动态脚本。
“ZZZ.MOVIE”是针对电影模式的动态脚本。利用该动态脚本,能够在再现装置上实现与已有DVD再现装置极为类似的再现控制。
“ZZZ.HTM”是针对浏览器模式的动态脚本。利用该动态脚本,可以描述例如访问网址,以及下载文件等控制步骤。
“ZZZ.CLASS”是针对Java模式的动态脚本,并且是Java语言的应用程序。作为Java语言的应用程序,该动态脚本的实质为Java平台。以下参考图13详述Java模式的应用和Java平台的关系。图13为示出Java语言所针对的Java平台的层模型的示图。Java模式中的应用位于层模型中的最高层。API(应用界面)直接位于Java模式应用程序的下一层。Java平台位于API的下一层。本机绘图系统与Java平台位于同一层,该系统是再现装置必然装配的图像绘制函数。
Java平台由“Java虚拟机(Java VM)”、“配置”、“配置文件”、和“选项”构成。
Java虚拟机将已经用Java语言描述的Java模式应用程序转换为用于再现装置CPU的本机代码,并使CPU执行所述本机代码。该配置在再现装置中实现简单的输入/输出,配置文件在再现装置中执行IP通信、屏幕绘图等等。
选项包括多种库。这些库用于为Java模式应用程序提供多种不能由Java平台提供的功能。更具体地说,这些库为保障再现装置的安全性定义了处理,以及BD-ROM和Java应用程序间的输入/输出。
预先在再现装置中实现Java虚拟机、配置、配置文件、以及本机绘图系统。另外,图12示出的第一到第三层的控制软件程序也预先在再现装置中实现。然而选项应该从BD中读取,因为Java模式应用需要多种选项,而不可能在再现装置中预先实现所有选项。
插入单元“ILUsss.CLASS”是插入记录文件,并在其中存储程序、库等等。ILUsss.CLASS中的程序是字节码序列,在所述字节码序列中描述应用中独特的处理,以及作为应用实质的函数。ILUsss.CLASS中的库是被视为组件的程序,并且是可被多种应用程序使用的字节码序列。
以下详述此类库。本实施例中的库在AV流(PL)的再现时间轴上具有有效范围。这里,有效范围意指AV流(PL)的再现时间轴上的持续时间,在此过程中允许应用使用特定的库。
具体来讲,根据由应用所作的针对函数的调用,通过使Java虚拟机执行包含在库中的函数,应用程序使用该库。通过Java虚拟机执行库要满足一个重要条件。该条件是将库载入Java虚拟机内部的工作区域(堆积区域(heap area))。根据这一点,在使用库之前,为了从再现装置的缓存器向Java虚拟机的工作区域加载库,必须发出一条指令。这里,如果文件已经被预先从BD-ROM读取到再现装置的缓存器,所述加载指令将正常终止。另一方面,如果库还没有被读入再现装置的缓存器,加载指令将异常终止(错误终止)。如果希望正常终止,则需要将库文件读入再现装置的缓存器。通过这样做,可以在任何时候,将库从再现装置的存储器载入Java虚拟机的工作区域。
这里,定义库的有效范围被认为与将库读入再现装置的缓存器相同。然而,在例如BD-ROM再现装置等的消费电器的硬件规格中,其中的存储器容量很小。因此如果要使用多个库,就需要将每个库的有效范围限制在最小长度。
以下描述如何定义有效范围。
图14为示出作为有效范围设定目标的AV流的示图。在编写将与AV流同步再现的游戏应用程序的过程中,由于特定图像持续出现的原因,优选将持续时间定义为有效范围,在该持续时间内,预期到应用程序将频繁使用库。这是因为然后就可以与AV流的再现同步而执行多种库。例如,图14所示的AV流原先想要构成电影作品,并包括一些场景,例如在出现的角色间的对话和街景。其中,当游戏程序描绘电脑图形时,诸如街景之类的场景具有极高的可能性用于背景。如果这样的AV流上的持续时间被定义为库的有效范围,并因此在该有效范围期间,库准备好被读入再现装置的存储器,那么在应用程序发出加载指令时,可以确保将库载入到工作区域。根据以上所述,对于定义有效范围,在预创作阶段,必须理解,在AV流的再现时间轴上的哪个时间点,需要将场景与库(例如应用程序的背景)同步。并且在为每个库确定有效范围的过程中,要记住的一件重要事项是要避免库的有效范围间的重叠。
下面,阐明作为库的记录实施例的插入记录。插入记录就是在构成AV流的段之间,将待记录的对象记录到BD-ROM中。在图7的实例中,插入记录将对象记录到与“其它文件”相对应的位置。经历插入记录的每个对象被称为“插入单元”。以下描述当库作为将经历插入记录的对象时,如何记录库。当库是插入单元时,将其直接记录到包括库的有效范围的进入点的段之前。图15A为示出如何在BD-ROM上记录段的示图。这里,AV流被分解为多个段。如果段i+1包括特定库#x的有效范围的进入点,那么包括库#x的插入单元直接记录到段i+1的头之前。如上所述,插入单元的特征在于被直接记录到包括相应有效范围的进入点的段的头之前。
如图15A所示,记录插入单元#x和段i。因此如图15B所示,执行段读取。图15B示出当连续读取段i和段i+1时,经由光学拾取器的读取路径。原先,为了在读取段i后读取段i+1,如虚线箭头“sf1”所示,拾取器需要执行查找。然而插入单元位于段i+1的头之前。该插入单元包括一个库,该库具有的有效范围在段i+1再现的持续期间。当前面存在插入单元#x时,“sf2”是光学拾取器的读取位置。“sf3”指明经由光学拾取器的盘扫描。因为盘扫描“sf3”,插入单元#x和段i+1将在读取段i之后被连续读取,而无需查找。
图15B示出对构成一个AV流的段执行连续读取的情况。接下来,参考图16,阐明当对包括库有效范围的段执行随机访问时,如何执行光学拾取器读取。
图16为示出对段i+1执行随机访问时,光学拾取器的移动路径的示图。在将光学拾取器移动到图中的随机访问位置“ap1”期间,判断段i+1之前是否存在插入单元。(2)指明当前面存在插入单元时,光学拾取器的读取位置,以及(3)指明由光学拾取器执行的盘扫描。当在段之前存在插入单元时,从插入单元的开始到该段,执行光学拾取器扫描,使得再现装置能够读取插入单元和该段。通过以此方式移动光学拾取器,光学拾取器进行的一次扫描(3)足以完成移动图片再现所需的对访问单元的读取,并同时完成对与其相关的库的读取。
由于以插入单元的格式存储库,在当前再现时间点到达相应的有效范围时,将库读入存储器。因此,如果在有效范围内,应用程序发出加载指令,就会确保执行从再现装置存储器到Java虚拟机工作区域的加载。图17为示出1)如何将库读取到存储器,以及2)如何在AV流再现时间轴上的每个时间点(t1、t2、t3、以及t4),执行库到Java虚拟机工作区域的加载的示图。
时间点t1位于库的有效范围之外。因此库没有被读入高速缓存器,所以即使如箭头“py1”所示,应用程序发出加载指令,也不能完成库的加载。因此,如箭头“py2”所示,加载将被异常终止。
时间点“t2”对应库有效范围的进入点。由于当前再现时间点已到达有效范围的进入点,如箭头“py3”所示,库将被读入存储器。
时间点“t3”位于库的有效范围内,并对应于应用程序发出加载指令的时间点。由于存储器中存储了库,因此根据应用程序发出的加载指令,库可以被载入Java虚拟机的工作区域(箭头“py6”)。通过以上结构,应用程序可以从该库中自由调用函数。
时间点“t4”位于该库的有效范围内。由于当前再现时间点已到达有效范围的离开点,如箭头“py7”所示,将从存储器中删除该库。因此即使应用程序在这之后发出加载指令,加载指令也将在时间点“t0”被异常终止。
接下来,描述插入单元的内部结构。
图18为示出插入单元结构的示图。如该图所示,插入单元由头文件和主体部分组成。在本实施例中,主体部分对应于库。
头文件包括指明库(主体部分)在存储器中所处位置的“定位器”;指明对应于库有效范围进入点的时间点的“有效范围进入点信息”;以及指明对应于库有效范围离开点的时间点的“有效范围离开点信息”库。提供定位器以便识别再现装置存储器内的库。为库分配一个头文件,在所述头文件中描述涉及有效范围的信息,并以插入单元的格式将库记录到BD-ROM中。
以下描述提供此类定位器的技术意义。假设希望将包含在插入单元内的库视为Java目录下的文件“J001.CLASS”。在此情况下,定位器被描述为“CM//Java/J001.CLASS”,这里“CM//”表明插入单元存储在再现装置的高速缓存器中。相反地,如果插入单元存储在硬盘中,定位器将被描述为“HD//”。“Java/J001.CLASS”指明插入单元存储位置的文件路径。在读取插入单元时,再现装置在高速缓存器中创建/打开Java目录和文件“J001.CLASS”,并将包含在插入单元中的库存储到Java目录下的文件“J001.CLASS”中。通过这样做,当命令库从缓存器转移到Java虚拟机的工作区域时,应用程序能够利用文件路径“Java/J001.CLASS”指明高速缓存器中的库。
以下描述在插入单元头文件中提供“有效范围进入点信息”的技术意义。包含在插入单元中的有效范围的起始点,主要是AV流的再现时间轴上的时间点,在该时间点处,相应库存在于存储器中。然而头文件的有效范围进入点信息可以描述不同于上述时间点的另一个时间点。这需要考虑到以下情况。在某些Java语言的程序编写方法中,如果三个库中只有一个存在于存储器中,就不允许将库应用到应用程序中。只有当所有三个库都在存储器中准备好时,才允许应用程序应用该库。然而在三个库存储在BD-ROM的分离位置,作为三个插入单元的情况下,三个库彼此在不同的时间被读入存储器。在此情况下,如果一个或两个库存在于存储器中,必须禁止来自库的应用程序。因此每个插入单元头文件中的有效范围进入点信息,被设定到一个时间点,其中在该时间点该三个库已被存入存储器。
通过以上设置,即使当三个库中的一个或两个都已经在存储器中准备好时,这些库也未准备好使用。只有在第三个库已经在存储器中准备好时,这些库才能够准备好使用。通过在库的每一个头文件中提供此类有效范围进入点信息,即使这些库分散于BD-ROM中,也可以同步所有三个库准备好使用的时间。
接下来,描述提供“有效范围离开点信息”的技术意义。如上所述,BD-ROM再现装置的硬件规格在存储器大小上是受限的。因此如果试图将不同的库存储在高速缓存器中,会发生在库上重写库的情况,这可能进而导致挂机。为防止出现这种情况,必须迅速从高速缓存器中删除有效范围过期的库。为便于此类删除,在每个有效范围的头文件中描述“有效范围离开点信息”。
接下来,描述有效范围进入点信息和有效范围离开点信息的表示法。这里,AV流的再现时间轴是一个作为参考的时间轴,用于决定每一视频/音频帧的再现定时,以及每一视频帧的解码定时,其中视频帧和音频帧分别组成视频流和音频流,这些视频流和音频流被复用到AV流中。此再现时间轴上的某个位置,表示为相对于AV流中第一视频帧的时间信息的一个值。由于在再现时间轴上定义再现定时和解码定时,所以可以实现音频帧和视频帧的同步再现。这里,要注意到,有效范围的进入点/离开点也分别被视为再现时间轴上的一点。因此有效范围也可以表示为相对于相应视频流中的第一视频帧的时间信息的一个值。因此,利用相对于视频流的第一视频帧的时间信息的值,上述有效范围进入点信息和有效范围离开点信息分别指明有效范围的进入点和离开点。
为了对访问单元执行随机访问,对于执行访问单元-插入单元的读取,迫切需要做出以下改进。在段中,对于紧接在插入单元之后的访问单元,应该如图19所示修改TMAP中访问单元的条目。图19为示出对TMAP中的访问单元条目的改进的示图。在此图中,涉及访问单元的访问单元条目分别紧接在插入单元之后。此图的特征是,位于段的起始位置的访问单元#1,#20,#30的条目,分别存储插入单元文件名的文件体(ILU001、ILU002、ILU003)。这些插入单元分别位于相应段之前。通过将此类插入单元的文件名存入访问单元条目,可以在所有的段起始位置和插入单元上有效地执行访问单元读取处理。
要注意,“LIUsss.CLASS”中的“sss”表示分配给BD-ROM中的插入单元的三位数字标识编号。也就是说,使用“sss”来唯一标识该图中的插入单元。插入单元的标识编号被表示为“sss”的原因是为了指明该标识编号系统不同于分配给AV流和AV流管理信息的标识编号系统“XXX”,也不同于分配给播放列表信息的标识编号系统“YYY”以及不同于分配给动态脚本的标识编号系统“ZZZ”。(要注意,三个数字只是一个例子,标识编号可以是任何位数字的编号。)接下来,描述每个段的持续长度。在分解AV流期间,需要注意在记录AV流时,防止从进行段读取的缓冲器出现下溢(缓冲器称为“轨缓冲器”)。图20的上层示出构成AV流的一个段。该段占据BD-ROM中从位置“a1”到位置“a2”的区域。图20的下层图示出读取段时轨缓冲器的状态转换。在该图中,水平轴代表时间轴,而垂直轴代表轨缓冲器中的累积量。通过该图示出的状态转换由一个单一增长区间(上升率为Va-Vb)和一个单一下降区间(下降率为-Vb)组成。所述单一增长区间对应从时间点“t1”到时间点“t2”的时间段,单一下降区间对应从时间点“t2”到时间点“t3”的时间段。这里,时间点“t1”对应读取时间点“a1”,而时间点“t2”对应读取时间点“a2”。时间点“t3”对应读取时间点“a3”。Va表示轨缓冲器的输入速度,而Vb表示轨缓冲器的输出速度。在时间点“t2”,轨缓冲器的累积量“B(t2)”可以表示为如下形式B(t2)=(Va-Vb)×(t2-t1)…(表达式1)如上所示,当将段读取到其中的轨缓冲器的状态发生变化时,为了避免下溢,如下列表达式2所示,从“t1”到“t2”的增长量“B(t2)”应该大于从“t2”到“t3”的减少量“Vb(t3-t2)”。如果确定段的持续长度能够满足表达式2,就不会出现轨缓冲器下溢。
B(t2)≥Vb×(t3-t2)…(表达式2)接下来,阐明存储在“ILUsss.CLASS”中的程序。存储在“ILUsss.CLASS”中的程序与“ZZZ.CLASS”的应用的区别在于“ZZZ.CLASS”限于处理描述针对动态脚本的再现控制,且因此不具有有效范围。然而“ILUsss.CLASS”的应用不仅仅限于针对动态脚本的再现控制,它能够描述多种控制,例如游戏/客户处理,且具有有效范围。(勿庸置疑,“ILUsss.CLASS”中的程序拥有再现控制代码)。“ILUsss.CLASS”中的程序的有效范围是可以被其它应用(包括存储在“ZZZ.CLASS”中的应用)调用的一个区间。因此,通过插入记录,在相应有效范围的进入点之前,记录存有程序的“ILUsss.CLASS”。通过这样做,“ILUsss.CLASS”中的程序将在被“ZZZ.CLASS”的应用调用之前,被读入存储器14,并转移到Java虚拟机的工作区域。
上述插入记录拥有一项现有技术,称为“多路复用技术”。相比较于AV流的多路复用,本实施例所示的插入记录具有下列优点。在多路复用中,库连同视频流和音频流被一同嵌入AV流中,因而必须预先为作为非AV数据的库分配频带。换句话说,为了一同读取库和视频/音频流,必须限制最初为视频流分配的频带,以便为读取库分配频带。在关于电影作品的情况中,这种处理缩小了图像/声音的频带,降低了图像或声音的品质。以至于为试图防止图像/声音的频带变窄,要为库分配最佳频带,然后必须对每国语言的AV流执行多路复用。这对于制作电影作品来说,是一项非常棘手的工作。
与之相反,当使用插入单元将库存入BD-ROM中时,将以独立文件形式记录库。因此即使插入单元位于段之间,插入单元也被视为一个连续文件。因此,生成AV流的多路复用过程是另外一个不同于库创建过程的过程,这个过程减少了创作阶段库的工作量。
以下参考图21至24,描述插入单元的设定实例。该设定实例假定创建如图21所示的游戏程序。图21的游戏程序是一个层叠图像,该图像由来自电影作品作为背景的移动图像、和作为前景的电脑图形构成。作为前景的电脑图形是一架飞机,根据用户的操作,可以控制它的姿态和方向。
另一方面,作为背景的移动图像是一幅从空中拍摄的城市图像。由于向用户展示其间的层叠图像,用户能够体验逼真的飞行模拟。从软件控制的观点上看,Java模式的应用程序描绘电脑图形应该与AV流的再现同步。
如图22A所示,假定在这里阐明的实例具有四个具有有效范围的库(#1、#2、#3、#4)库。这些库具体是一个用于创建飞机外形数据的投影图像的绘图库;一个用于将表示飞机外观图案的纹理图案附着到投影图像上的纹理映射库;一个用于为投影图像提供色调/阴影的色调处理库。图22A为分别示出库#1、#2、#3、以及#4的有效范围的示图。该图中的垂直轴对应AV流的再现时间轴,沿该轴绘制库的有效范围。在所有库#1、#2、#3、以及#4中,库#1的有效范围的进入点处在最前端。其后,接着是库#2、#3、以及#4的有效范围的进入点。至于离开点,插入单元#1的有效范围的离开点处在最前端,接着是插入单元#2、#3、以及#4的有效范围的离开点。
构成运动图像的AV流被分解为四个段(即段1/4、段2/4、段3/4、段4/4),并存储于BD中。AV流中的段之间的每个分界线对应于库的有效范围的进入点。图22B为示出库的有效范围进入点与段之间的关系的示图。段之间的分界线(以虚线显示)设定在相应的库#1、#2、#3、以及#4的有效范围的进入点的稍微往前的位置。换句话说,通过库的有效范围的进入点分解AV流。
图23为示出以何种方式将每个段记录在BD上的示图。这里,插入单元以如下方式记录插入单元#1位于段1/4之前;插入单元#2位于段1/4和段2/4之间;插入单元#3位于段2/4和段3/4之间。图24为示出插入单元的内部结构的示图。每个插入单元由一个头和一个库组成,库是主体部分(也就是库#1、#2、#3、以及#4),头指明库#1、#2、#3、以及#4中对应的一个库的有效范围的进入点和离开点。
如图23所示,通过记录插入单元和段,每个库都在库有效范围之前被直接读入存储器。另外,由于每个插入单元的头示出有效范围的离开点,所以在AV流的再现时间点到达库的有效范围的离开点时,将要删除存储器中的库。通过这种已实现的控制,将会减少再现装置充足的存储器资源。在两个有效范围重叠的时间段内,再现装置需要它的最大的存储器资源,在此情况下,再现装置只能必须拥有使得相应库存于其中的足够资源。这意味着可以根据库的有效范围计算必需的最小存储空间,从而确定满足计算出的大小的推荐存储器大小。通过这样做,可以使运行环境与BD再现装置的硬件规格的运行环境相类似。
接下来,描述涉及本发明的再现装置的实施例。图25为示出根据本发明的再现装置的内部结构的示图。如该图所示,再现装置包括BD驱动器1、轨缓冲器2、解复用器3、视频解码器4、图片平面5、音频解码器6、图像平面8、图像解码器9、加法器10、静态脚本存储器11、再现控制引擎12、播放器寄存器13、存储器14、开关15、类DVD模块16、Java模块17、浏览器模块18、UO管理器19、以及轨缓冲器21。
BD-ROM驱动器1执行BD-ROM的载入/弹出,并访问BD-ROM。
轨缓冲器2是一个FIFO存储器,并以先进先出为基础存储从BD-ROM读取的访问单元。当轨缓冲器2的输入速率为Va且其输出速率为Vb时,将通过图20中的图形示出轨缓冲器2的缓冲状态。
通过从轨缓冲器2中提取访问单元,解复用器3执行解复用,获得构成GOP的视频帧和音频帧,并将视频帧输出到视频解码器4,将音频帧输出到音频解码器6。构成子图片流的子图片单元被输出到图像解码器9。由解复用器3执行的解复用包括将TS包转换为PES包的转换处理。
视频解码器4对从解复用器3输出的视频帧进行解码,从而将得到的非压缩图片写入图片平面5。
图片平面5是用于存储非压缩图片的存储器。
音频解码器6对解复用器3输出的音频帧执行解码,从而输出得到的非压缩音频数据。
图像平面8是具有一个屏显区域的存储器,待显示的图像(例如电脑图形以及字幕)被置于该屏显区域中。
图像解码器9是一个对应于图13所示的本机绘图系统的组成元件。图像解码器9对从解复用器3输出的子图片流执行解压缩,并将解压缩的子图片流写入图像平面8。另外,图像解码器9根据Java虚拟机的指令描绘电脑图形,并将电脑图形写入图像平面8。
加法器10将图像平面8上显影的图像覆盖在存储于图片平面5的非压缩图片数据上,并输出其结果。借助于该加法器,通过将图像平面8上的图像与图片平面5上的图片层叠在一起,并输出结果,就生成图21所示的重叠屏幕(该屏幕中,描绘飞机的电脑图形重叠于移动图像前面)。在重叠过程中,加法器10接收一条关于混合率α的指令,并根据该混合率α,将存于图片平面5和图像平面8的图像的像素值混合在一起。这一结构甚至能够实现重叠图像的显示,在该重叠图像中,可以通过电脑图形看到经视频数据描绘的图片。这里要注意,混合率α可以被设置为由动态脚本进行更改。
静态脚本存储器11是用于存储当前PL信息和当前流管理信息的存储器。当前PL信息是BD-ROM上多块PL信息之一,是当前的处理目标。当前流管理信息是BD-ROM上多块流管理信息之一,是当前的处理目标。
再现控制引擎12执行多种函数,包括AV再现函数(1);播放列表再现函数(2);获取/设定再现装置状态的函数。再现装置的AV再现函数是从DVD播放器和CD播放器继承来的函数组。根据用户操作,AV再现函数具体用于执行诸如“再现”、“停止”、“暂停”、“取消暂停”、“取消定格”、“快进(速度)”、“快退(速度)”、“音频改变”、“字幕改变”、以及“视角改变”等处理。根据PL信息,PL再现函数用于执行AV再现函数中的“再现”和“停止”。通过执行PL再现函数,再现控制引擎12作为层模型的第三层来运行(即基于静态脚本的再现控制)。再现控制引擎12根据用户操作执行AV再现函数,并根据类DVD模块16至浏览器模块18的函数调用,执行函数(2)到(3)。也就是说,再现控制引擎12根据作为用户操作的指令、层模型中更高层的指令等等,执行其函数。
再现寄存器13由32个系统参数寄存器以及32个通用寄存器组成。这些寄存器的存储值被用作用于编程的变量“SPRM”和“GPRM”。系统参数寄存器和通用寄存器由再现控制引擎12进行管理,该引擎与类DVD模块16—浏览器模块18分开。因此,即使从一个再现模式转换到另一个再现模式,仅仅通过参考再现控制引擎12的SPRM(0)-(31)以及GPRM(0)-(31),用于在转换之后执行再现模式的模块就能够识别再现装置的再现状态。
播放器状态寄存器的设定值(SPRM)的含义在下面示出。下列符号“SPRM(x)”表示第x个播放器状态寄存器的设定值。
SPRM(0)保留SPRM(1)待解码的音频流编号
SPRM(2)待解码的子图片流编号SPRM(3)表示用户设定的角度的编号SPRM(4)表示当前再现的片名的编号SPRM(5)表示当前再现的章节的编号SPRM(6)表示当前再现的PL的编号SPRM(7)表示当前再现的CELL的编号SPRM(8)表示当前再现时间点的时间信息SPRM(9)导航计时器的计数值SPRM(10)表示当前处于已选状态中的按钮的编号SPRM(11)-(12)保留SPRM(13)用户执行的过滤级别设置SPRM(14)与图像再现相关的再现装置的设置SPRM(15)与音频再现相关的再现装置的设置SPRM(16)用于再现装置中音频设置的语言代码SPRM(17)用于再现装置中字幕设置的语言代码SPRM(18)用于描绘菜单的语言设置SPRM(19)-(31)保留这里,每显示一次属于AV流的图片数据,SPRM(10)就更新一次。换句话说,每当再现装置显示一次新的图片数据时,SPRM(10)就更新以显示新的图片数据的显示起始时间(显示时间)。因此通过参考SPRM(10),可以获知当前的再现时间点。同样,通过参考SPRM(6),可获知表示PL的编号,所述PL是当前的再现目标,并通过参考SPRM(7),可以获知对应于CELL的编号,所述CELL是当前的再现对象。
存储器14是一个高速缓存器,在其中将存储从BD中读取的插入单元。存储器14与轨缓冲器2的区别在于存储器14不是一个基于FIFO(先进先出)的队列存储器。其它的组成元件可以从存储器14中提取数据。根据其它组成元件的请求,存储器14可以删除插入单元。
每当BD驱动器1的光学拾取器从BD-ROM的扇区读取信息时,开关15就通过参考文件管理信息,将读取的信息写入轨缓冲器2或存储器14。在文件管理信息中,通过与文件名对应,存储构成文件的段的地址。因此,通过比较光学拾取器的当前读取位置的扇区地址和文件管理信息,可以将从扇区中读取的信息存储于轨缓冲器2或存储器14中。如果指明当前读取位置的扇区地址落在文件“XXX.M2TS”的记录区域内,那么就将从BD-ROM中读取的信息顺序写入轨缓冲器2。如果指明当前读取位置的扇区地址落在库的记录区域内,那么就将从BD-ROM中读取的信息顺序写入存储器14。尽管从BD-ROM中读取的信息以扇区为单位的,通过重复将读取的信息写入轨缓冲器2或存储器14中,最终也可以在轨缓冲器2或存储器14中得到一个访问单元或一个库。
类DVD模块16是一个DVD虚拟播放器,它是电影模式下的执行主体。在已被读入到动态脚本存储器15的当前电影模式下,类DVD模块16执行动态脚本。
Java模块17是一个组成元件,对应于图13所示的Java平台。利用已被读入存储器14的库,在当前Java模式下,Java模块17执行动态脚本。
浏览器模块18是一个浏览器,它是浏览器模式下的执行主体。在已被读入动态脚本存储器15的当前浏览器模式下,浏览器模块18执行动态脚本。例如HTTP、IP、ARP、RARP、TCP、telnet、SMTP以及FTP等协议是浏览器模块18可用的协议。
UO管理器19检测用户对再现装置遥控器或面板的操作,并输出指明用户操作(以下称为“UO(用户操作)”)的信息。
动态脚本存储器21存储当前动态脚本,并为由类DVD模块16—浏览器模块18执行的处理提供当前动态脚本。当前动态脚本是记录在BD-ROM中的多个脚本之一,它是当前的执行目标。
接下来,以下阐明本实施例的再现装置如何读取插入单元。在执行PL再现时利用再现控制引擎12,读入存储器14的插入单元与访问单元一起构成AV流。依照图26的流程图所示的处理步骤执行PL再现。在从类DVD模块16—浏览器模块18调用PlayPL函数时,再现控制引擎12根据图26的流程图执行PL再现。PlayPL函数是通过“PlayPL(XX,YY)”这一形式来调用的函数,并且该函数指明来自CELL的PL再现,其中PL再现由第一个参数“XX”指定,CELL由第二个参数“YY”指定。
这里,假定将以图26中的流程处理的PL为“PLx”,待处理的CELL为“CELLy”,待处理的访问单元为“访问单元v”。在执行流程图之前,由PLPlay函数的参数指定的PL被设定为PLx,并且PLx被读入存储器,从而确定待处理的CELL。如果在函数调用中未指定参数,那么将CELLy设为PLx的第一个CELL,而将CELLz设为PLx的最后一个CELL。CELLz是定义读取范围的最末端的CELL。
如果指定了参数,将CELLy设为由参数指定的CELL,同样将CELLz也设为同样由参数指定的CELL。将CELLy和CELLz设为同样由参数指定的CELL的原因在于,在完成CELL的参数指定的情况下,仅仅足够读取CELL。
步骤S1至步骤S19示出读取/解码构成CELLy的访问单元的步骤。此步骤如下。从TMAP中确定包括CELLy的进入点视频帧的访问单元v(步骤S1),接着在经过步骤S2至步骤S5的判断之后,指示BD-ROM驱动器1读取访问单元v(步骤S6)。在经过步骤S7至步骤S8的判断之后,指示视频解码器4解码包含在访问单元v中的视频帧(步骤S9),然后将访问单元v设为下一个访问单元(步骤S10)。
步骤S2用于判断访问单元v所属的段是否已被读取。如果访问单元v是访问单元v所属的段中第一个被读取的访问单元(步骤S2否),则将访问单元v所属的段设为段i(步骤S11),通过参考TMAP,读取段i之前的插入单元i(步骤S12),然后指示BD驱动器1读取访问单元v(步骤S6)。通过这样做,从BD中同时读取访问单元v和段前的插入单元。
这里,包括访问单元的段被存储于文件“XXX.M2TS”中,而该段之前的库被存储于文件“ILUsss.CLASS”中。由于段和库分别存于两个不同的文件中,再现控制引擎12应该连续从文件“ILUsss.CLASS”和文件“XXX.M2TS”中进行读取。
以下述方式从文件“ILUsss.CLASS”中进行读取。打开文件“ILUsss.CLASS”,并将文件指针设定为指向已打开文件“ILUsss.CLASS”的起始位置。将设定成文件“ILUsss.CLASS”的总长度的READ命令发送到BD驱动器1。通过发出这样的命令,文件“ILUsss.CLASS”被读入再现装置200的存储器14中。
以下述方式从文件“XXX.M2TS”中进行读取。打开文件“XXX.M2TS”,并将文件指针设为指向文件“XXX.M2TS”中访问单元v的起始位置。将设定成访问单元v的总长度的READ命令发送到BD驱动器1。通过发出这样的命令,访问单元v被读入再现装置200的轨缓冲器2中。
在从BD驱动器1读取文件“ILUsss.CLASS”之后,文件指针立刻指向文件“ILUsss.CLASS”(插入单元)的终止位置。包括访问单元v的段紧接在插入单元之后。因此轻微移动光学拾取器将使文件指针设为指向访问单元v的起始位置。
根据以上结构,在从文件“ILUsss.CLASS”和文件“XXX.M2TS”进行读取的过程中,光学拾取器可以同时读取段和之前的插入单元,无需任何查找操作。
步骤S3用于判断当前的再现时间点是否已到达存储器中任意插入单元的有效范围的进入点。如果判断是肯定的(步骤S3是),就使相应插入单元中的库可用(步骤S13),并将控制转移到步骤S6。
在使插入单元中的库可用之前,即使当应用程序(Java模式下的动态脚本)发出将库从存储器14载入Java虚拟机的工作区域的指令时,也不会执行加载,而且在库还未读入存储器14时,加载会以异常终止方式终止。相反地,在使插入单元中的库可用之后,根据来自应用的加载指令,库被传输到Java虚拟机的工作区域。这种传输可以使Java虚拟机执行库。
步骤S4用于判断是否存在用户操作。如果判断是肯定的,则判断该操作是否为“停止”操作(步骤S15),并且如果它是“停止”操作(步骤S15是),则流程图中的处理结束。如果用户操作不是“停止”操作,执行相应的处理,而且控制将会返回到步骤S2至步骤S10的循环处理中。
步骤S5用于判断当前的再现时间点是否已到达存储器中任意插入单元的有效范围的离开点。如果判断是肯定的,就会从存储器中删除插入单元(步骤S14),并将控制转移到步骤S6。
步骤S7用于判断访问单元v是否包括进入点视频帧。如果判断是肯定的(步骤S7是),指示视频解码器对从进入点到访问单元v最后的视频帧进行解码(步骤S16),并将控制转移到步骤S9。
步骤S8用于判断访问单元v是否包括CELLy的离开点视频帧。如果判断是肯定的(步骤S8是),指示视频解码器4对从访问单元v的起始视频帧直到离开点视频帧进行解码(步骤S17),并执行步骤S18的判断。步骤S18是该流程图的终止判断,用于判断CELLy是否变成CELLz。如果步骤S18的判断结果为“是”,则该流程图终止。否则,CELLy被设为下一个CELL(步骤S19),并将控制转移到步骤S1。以下,在步骤S18的结果为“是”之前,重复执行步骤S1至步骤S19的处理。
图27为示出从图25的组成元件中,分离并绘出出与库相关的元件的示图。该图概要示出应用程序使用或调用库或程序的路径,所述库或程序被读入存储器14中作为“ILUsss.CLASS”。在段之前以插入单元的格式记录所述库或程序,并和该段一起被读入存储器14中(见箭头“gy1”)。箭头“gy2”表示应用程序使用库的路径。将库从存储器14载入Java模块17的工作区域。通过该加载,应用程序可以调用库中的函数,如箭头“gy3”所示。
箭头“gy4”表示“ILUsss.CLASS”中的程序的调用路径。将该程序从存储器14载入Java模块17的工作区域。通过该加载,“ILUsss.CLASS”中的程序与应用程序位于相同位置,从而能够被Java模块17执行。
如果载入Java虚拟机工作区域的库或应用程序用于执行对图像解码器9的控制“gy5”,则图像解码器9执行解压缩处理,且将解压缩后的图像存入图像平面8。另一方面,通过轨缓冲器2和解复用器3,访问单元已被读入视频解码器4。因此图片平面5将获得非压缩图片。如图21所示,通过将由图像解码器9获得的图像和由视频解码器获得的图片重叠在一起,获得层叠图像,其中由加法器10执行图像和图片的重叠。
如上所述,根据本实施例,与段再现同步执行的库,以插入单元的格式置于相应段之前。因此在再现该段时,通过将光学拾取器的读取位置偏离该段的起始位置,一同读取段和段和随其执行的库。根据这种设置,在读取该段时,将要求同步处理的库与该段一同读取是足够的。另外,在与该段的同步处理结束后,从存储器中删除该库,且在数字流再现的全过程中无需驻留该库。在存在多个库要与数字流同步处理的情况下,在每个程序结束时将该库从存储器删除的条件下,再现装置所需要的存储器大小将仅仅足够存储在与该段再现同步处理的过程中所需的程序。根据这种结构,可以在最小的存储空间内,实现数字流再现和各种库的同步处理。
(第二实施例)在第一实施例中,将被进行插入记录的对象是库程序;然而在第二实施例中,将被进行插入记录的对象是显示数据。显示数据包括图像数据、文档数据以及图形数据。图像数据包括JPEG、GIF、PNG、MNG数据,它是可以通过由图像解码器9直接执行的解压缩处理而被显示的数据。文档数据包括HTML/SMIL、XML文档、以及文本文档,这些文档数据是由浏览器模块18解释的数据,并可以通过基于解释结果的显示控制显示出来,并且被图像解码器9接收。
图形数据是定位于所谓图形编辑器的数据,是通过坐标、矢量和曲率表示三维形状和图形格式的数据。图形数据由Java模块17解释,并可以通过基于解释结果的控制使其可以显示出来,接着被图像解码器9接收。
显示数据作为插入单元,通过与段再现同步而显示。这里的同步显示包括一种情况,在段再现过程中,通过重叠,显示JPEG、GIF、PNG、MNG数据,以及一种情况,在段再现过程中,在单独窗口显示HTML/SMIL文档、XML文档或者文本文档。HTML/SMIL文档、XML文档或者文本文档被浏览器模式的应用程序使用;JPEG、GIF、PNG、MNG数据被Java模式的应用程序使用。当在AV流再现过程中,出现特定场景时,Java模式的应用程序可能发出一条从高速缓存器到Java虚拟机工作区域的加载指令。因此需要在规划同步显示的时段之前,将显示数据读入高速缓存器中。同样,浏览器模式的应用程序可能请求使用显示数据。因此需要在规划同步显示的时段之前,将显示数据读入高速缓存器中。由于这一点,在第二实施例中,从相应的显示数据应该被同步的时段计算出有效范围,使得包含显示数据的插入单元被插入记录到对应于有效范围进入点的位置。通过这样做,在紧接着规划同步显示的时段之前,将插入单元读入再现装置的高速缓存器。
图28为示出在Java语言针对的层模型中,数据所处位置的示图。如该图所示,和段再现同步显示的数据位于本机绘图系统的更高层。
显示数据被插入记录在BD-ROM中,与库的记录情况一样。
图29为示出存储显示数据的插入单元的结构的示图。在该图中,头除了和第一实施例一样包括定位器、有效范围进入点信息、以及有效范围离开点信息外,还包括文件的“文件名”、“起始地址”、以及“语言属性(语言类型)”、以及在AV流再现时间轴上的文件的“显示起始时间信息”和“显示终止时间信息”、屏幕的“显示坐标信息”、生成显示效果的“效果信息”,以及“强制输出标记”。
头包括“显示起始时间信息”和“显示终止时间信息”的原因在于,要实现显示数据的同步显示需要显示数据的显示定时,其中所述显示数据包含在与构成AV流的视频数据的再现同步的插入单元中。从“有效范围”分开定义“显示起始时间信息”和“显示终止时间信息”的原因是为了处理这些情况即使插入单元已读入存储器,也不希望显示插入单元的情况;以及包括在插入单元中的显示数据的重复显示/不显示的情况,其中所述插入单元位于存储器中。
头包括“语言属性(语言类型)”的原因在于,当显示数据涉及文本或会话时,必须明确地示出其中使用的语言。
头包括“显示坐标”的原因是为了依赖于作为背景的视频数据的图案,假定显示数据与视频数据重叠时,显示数据而难以读取的情况下,将显示数据移动到易于查看的位置。
头中的“效果信息”是为了在显示数据的显示起点或终点,满足生成例如淡入/淡出效果的要求。
头中的“强制输出标记”是为了即使用户已选择不显示字幕时,满足强制显示的要求。在本实施例中,如图29所示,显示数据以插入单元的格式,和头一起存于段之前。接下来,阐明与本实施例相关的再现装置的改进方法(也就是图像解码器9、开关15)。
每当BD驱动器1的光学拾取器从存有插入单元的扇区队列中读取信息时,开关15将读取的信息写入存储器14。通过将读取的信息重复写入存储器14,将在存储器14上获得插入单元。
图像解码器9参考存于存储器的插入单元的头,并且在当前再现时间点到达任意插入单元中显示数据的显示起始时间时,绘制相应的显示数据,并将其写入图像平面8。另一方面,在当前再现时间点到达任意插入单元中显示数据的显示终止时间时,图像解码器9从图像平面8中删除显示数据。
图30为示出将图像数据、文档数据以及图形数据以插入单元的格式读入存储器14的显示路径的示图。箭头“my1”概要示出图像数据的显示路径。图像数据以插入单元的格式,从BD-ROM读入存储器14(gy1),并直接提供给图像解码器9(my1)。图像解码器9执行解码处理,从而实现显示。
箭头“my2”和“my3”为文档数据的显示路径。文档数据被暂时从存储器14读入到浏览器模块18(my2)。浏览器模块18解释文档数据并输出解释结果(my3)。通过定位于图像解码器9的显示控制(ky1)显示文档数据,所述显示控制基于解释结果来执行。
箭头“my4”和“my5”为图形数据的显示路径。图形数据被暂时载入Java模块17的工作区域(my4)。Java模块17输出图形数据的解释结果(my5)。通过定位于图像解码器9的显示控制(ky2)显示图形数据,所述显示控制基于解释结果来执行。
如上所述,根据本实施例,插入记录显示数据,因此显示数据能和段同步被读入再现装置内的存储器。因此可以轻易地实现段再现和显示数据显示的同步。通过在相应插入单元的头中提供与显示数据相关的信息,作为插入单元的实体的多种类型的数据,能够与AV流的再现同步显示,而无需改变显示数据的格式。
(第三实施例)在第一实施例中,通过将插入单元置于相应程序有效范围的起始点之前,实现插入单元与程序的同步读取。然而,对于第一实施例,即使在对有效范围的中间位置执行随机访问时,也应该从相应插入单元的起始点执行读取,因此会花费较长时间执行读取。在BD-ROM中,可以借助于播放列表信息定义再现路径。因此在再现路径的再现过程中,很少从AV流的起始点执行再现。更通常的情况是从AV流的中间位置开始再现。
如果频繁发生对AV流或段的中间位置的随机访问,而且若插入单元置于段之前,就不可能实现最佳的插入单元读取。因此本实施例提出了插入单元的冗余。这里提出的冗余是为了提供位于特定段之前的插入单元的拷贝。拷贝的提供位置与包含在插入单元中的库的有效范围的中间位置相对应。图31为示出插入单元拷贝在段中结合位置的示图。在该图中,在库#x的有效范围的中间位置,AV流被段i和段i+1分解,且插入单元位于段i和段i+1之间。段i和段i+1之间的插入单元包括库#x,该插入单元是位于段i之前的插入单元的拷贝。也就是说,段i之前的插入单元的拷贝位于库#x的有效范围的中间位置。
图32为示出当对段i的中间位置执行随机访问时,如何执行程序读取的示图。该图中的(1)表示段i中的随机访问点。
由于插入单元位于段i之前,在常规情况下,需要在段i之前(对应于位置(2))执行光学拾取器的读取。然而根据本实施例,插入单元的拷贝位于程序的有效范围的中间位置。因此,如图32所示,如果从随机访问点(1)至(3)执行读取,将从随机访问点(1)读取插入单元的拷贝。根据这一结构,插入单元的拷贝记录在库的有效范围的中间位置。因此当对位于有效范围中间位置的访问单元执行随机访问时,通过对紧邻的插入单元的拷贝进行读取,可以开始AV流的读取。由于不再需要将光学拾取器移动到位于特定段之前的插入单元,因此很容易从数字流的随机访问位置进行读取,并利用库进行处理。
接下来,阐明关于如何将如图22至24所示的四个库合并到一条AV流中的改进。图33为示出(图22A和22B中的)四个库#1、#2、#3以及#4与段之间的关系的示图。在段1/5至段5/5中,从段2/5到段5/5的分界线分别对应库#1、#2、#3以及#4的有效范围的进入点。然而,段1/5和2/5之间的分界线位于库#1的有效范围的中间点。插入单元#1的拷贝位于段2/5之前。因此,插入单元#2、插入单元#3、插入单元#4分别位于段3/5、段4/5、段5/5之前。由于插入单元#1的拷贝位于段2/5之前,当对包含在段2/5中的访问单元执行随机访问时,只要借助于光学拾取器对插入单元#1的拷贝进行扫描,就能实现将插入单元#1读入存储器中,而无需将光学拾取器移动到位于段1/5之前的插入单元#1。
如上所述,根据本实施例,可以将插入单元的拷贝置于例如CELL的进入点这种位置之后,该拷贝处在构成AV流的访问单元中,并预期到会经常接受随机访问。如果做出这样的安排,应用程序就能够使用库,而无需对相应的位于段之前的插入单元执行盘查找。即使当由于在再现中使用PL信息,所以预期会频繁执行随机访问时,盘查找的数量也将是最小的,并因而有助于平稳读取。
(第四实施例)在第一实施例和第二实施例中,插入单元被置于程序有效范围之前,且第二实施例中还具有一个位于程序有效范围的中间点的插入单元的拷贝。然而,在沿相反方向再现数字流时,上述任意实施例中的再现装置都不能执行对插入单元的顺利读取。这是因为反向再现是在AV流的再现时间轴上,沿从将来到过去的方向进行回放。为了平稳地执行反向再现,本实施例提供插入单元的冗余。这里的冗余是指将位于特定段之前的插入单元的拷贝置于段之后。
图34A为示出插入单元、段、以及插入单元的拷贝的设置的示图。在图34A和34B中,在以第i位再现的段i之前,放置插入单元,所述插入单元i的有效范围落在该再现时间段内。段i包括库#x的有效范围的进入点。插入单元i包括库#x。另外,在段i之后,放置插入单元的拷贝,其中所述插入单元置于段i之前。
图34B为第i+1段加入图34A的示图。和图34A一样,插入单元i的拷贝位于段i之后,插入单元i+1位于更靠后的位置。提供此类插入单元的拷贝的技术意义是为了有效地执行反向再现。
以下比较了存在插入单元的拷贝的情况和不存在该拷贝的情况。图35为示出当存在插入单元拷贝时,如何执行反向再现的示图。在反向再现中,每个段中包含的访问单元将从最后一个开始读取。当段i+1包括访问单元#8,并且段i包括访问单元#4—#7时,图35中的箭头(1)(2)(3)(4)指明盘查找。第一个箭头(1)表示为从起始位置读取图片数据而执行的盘查找,所述图片数据属于包含在段i+1中的访问单元#8。箭头(2)表示为读取插入单元i而执行的盘查找,而箭头(3)表示为读取访问单元#7而执行的盘查找。该图中的长查找1表示在读取段i+1中的访问单元#8之后,并且在访问段i之前的插入单元i之前的长查找操作。长查找2表示在读取插入单元i之后,并且读取访问单元#7之前的长查找操作。
在完整读取段i+1之后,必须执行以下两个跳转跳转到插入单元i(长查找1);从插入单元i跳转到段i的最后一个访问单元(长查找2)。该查找操作造成较大的浪费。
图36为示出用于BD-ROM的查找操作的示图,其中在BD-ROM中加入插入单元的拷贝。该图和图35的区别在于插入单元i+1位于段i+1之前,而插入单元i的拷贝位于插入单元i+1之前。查找(1)是用于读取插入单元i的拷贝、插入单元i+1、以及段i+1中的访问单元的盘查找。查找(2)是用于读取段i中的访问单元#7的盘查找。查找(3)是用于读取段i中的访问单元#6的盘查找。
由于在反向再现中,插入单元i的拷贝位于插入单元i+1之前,查找(1)能够使插入单元i和段i+1中的第一访问单元一同被读取。由于同时读取插入单元和段,图36中的实例不需要执行任何长查找,并能够立即读取与段i相关的插入单元i。通以上述方式过将每个插入单元的拷贝置于相应段之后,就可以避免在反向再现中出现长查找。
接下来,阐明针对将如图22至24所示的四个库合并到一条AV流的情况的改进。图37为示出图22中示出的四个库#1、#2、#3以及#4与段之间的关系的示图。在该实施例中,在段1/4之后,在插入单元#2之前,记录插入单元#1的拷贝。另外,在段2/4之后,在插入单元#3之前,记录插入单元#2的拷贝;并且在段3/4之后,在插入单元#4之前,记录插入单元#3的拷贝。这样的拷贝设置方式防止在反向再现中出现长查找。
接下来,阐明根据本实施例的再现装置的改进。通过基于图38的流程图的处理,实现图36所示的盘访问,所述流程图中的处理在反向再现中由再现控制引擎12来执行。当用户指示执行图26的流程图中的反向再现操作时,将执行图38的流程图。
步骤S32至步骤S40表示对构成CELLy的访问单元进行的读取和解码,其细节描述如下。首先,执行步骤S32至步骤S35的判断。然后指示BD-ROM驱动器1读取访问单元v(步骤S36)。在执行步骤S37至步骤S38的判断之后,指示视频解码器4解码包含在访问单元v中的视频帧(步骤S39),并将访问单元v设为下一个访问单元(步骤S40)。
步骤S32用于判断访问单元v所属的段是否仍未被读取。如果其仍未被读取,判断访问单元v所属的段是否为第二个段或其后的段(步骤S42)。如果步骤S42的判断是肯定的(步骤S42是),那么将访问单元v所属的段设为段i+1(步骤S43),并通过参考TMAP,读取位于段i+1之前的插入单元i+1和插入单元i(步骤S44)。如果访问单元v所属的段是第一个段(步骤S42否),那么将访问单元v所属的段设为段i(步骤S11),并通过参考TMAP,读取位于段i之前的插入单元i(步骤S12)。这里,访问单元v和之前的两个插入单元已被存入三个单独的文件。因此要求Java模式的应用程序连续发出读取对应于这两个插入单元的两个文件的命令,并发出读取“XXX.M2TS”的命令。通过将光学拾取器移动到插入单元拷贝的起始地址,光学拾取器的一次读取操作就能够立即读取一个段和位于该段之前的两个插入单元。
步骤S33的处理和图26的步骤S3相同,也用于判断当前的再现时间点是否已到达存储器中任意插入单元的有效范围的进入点。如果判断是肯定的,就将插入单元中的库设为可用。
步骤S35的处理和图26的步骤S5相同,也用于判断当前的再现时间点是否已到达存储器中任意插入单元的有效范围的离开点。如果判断是肯定的,就从存储器中删除插入单元。
步骤S37用于判断访问单元v是否包括离开点视频帧。如果判断是肯定的(步骤S37是),指示视频解码器4对访问单元v中的第一视频帧到离开点视频帧执行解码(步骤S45),然后将控制转移到步骤S39。
步骤S38用于判断访问单元v是否包括进入点视频帧。如果判断是肯定的(步骤S38是),指示视频解码器4对访问单元v中的进入点视频帧直到最后的视频帧执行解码(步骤S46),然后执行步骤S47的判断。步骤S47是该流程图的终止判断;具体地说,它判断CELLy是否成为构成PL的第一CELL。如果步骤S47的结果为“是”,则终止流程图。否则,将CELLy设为构成PL的CELL之前的一个(步骤S48)。然后依照TMAP,明确说明包括CELL的进入点视频帧的访问单元,并将控制转移到步骤S32。其后,重复步骤S32至步骤S49的处理过程,直到步骤S47的判断结果为“是”。
如上所述,根据本实施例,即使当从将来到过去回溯再现时间轴时,为了到达库的有效范围,所以无需执行不必要的查找,就能实现从BD-ROM到存储器的库读取。因此即使当再现的行进过程不规则时,例如反向再现,库也能被读入存储器。因此,即使在反向再现的情况下,也能在AV再现同步的前提下,实现多种类型的处理。(第五实施例)第五实施例再现PL,并与该再现同步执行多种类型的再现控制。以下描述Java模式的应用程序。
图39为示出根据本实施例的BD-ROM的文件结构的示图。该图中新加入了YYY.Mark(PLMark)和XXX.Mark(ClipMark)。
PLMark是示出一个区域的信息,在PL再现过程中,再现装置应对该区域执行扩展的控制。文件名“YYY.Mark”的文件体“YYY”,与对应于PLMark的PL的文件名的文件体相同。由于该图中PLMark的文件名的文件体为“YYY”,因而它对应于PL(YYY.PL)。
ClipMark是示出一个区域的信息,在AV流再现过程中,再现装置应对该区域执行扩展的控制。文件名“XXX.Mark”的文件体“XXX”,与对应于ClipMark的AV流的文件名的文件体相同。由于该图中ClipMark的文件名的文件体为“XXX”,因而它对应于AV流(XXX.M2TS)。
ClipMark与PLMark之间的区别如下。ClipMark指明与AV流相关的应对其执行扩展控制的区域,而PLMark指明与PL相关的应对其执行扩展控制的区域。
例如,如图11所示,假设一种情况,其中为一条AV流定义两套PL信息。在该情况下,如果利用ClipMark指明应对其执行扩展控制的区域,那么该指定将应用于指明该AV流的两套PL信息中。另一方面,如果利用PLMark指明应对其执行扩展控制的区域,那么该指定将仅应用于对应PLMark的PL。换句话说,如果对应PLMark的PL为PL#1,指定将仅应用于PL#1,而不应用于PL#2。总之,如果利用ClipMark指明应对其执行扩展控制的区域,那么ClipMark将作用于包括特定AV流的任意PL。相反,如果利用PLMark指明该部分,PLMark将仅作用于对应于PLMark的PL。
本实施例中所述的扩展控制是为了在再现装置中生成一个事件。为了生成一个事件,PLMark和ClipMark具有图40中显示的共同的数据结构。图40为示出由PLMark和ClipMark共享的共同结构的示图。如该图所示,PLMark由事件编号(编号)和每个事件(事件#1-事件#m)组成,并定义再现过程中发生的事件。每个事件(事件#)由事件类型(类型)、事件ID(ID)、事件发生的时间点(时间)、以及事件有效的持续时间(持续时间)。
由上述数据结构定义了两种类型的事件时间事件和用户事件。时间事件是在当前再现位置到达播放列表的再现时间轴上的预定时间T时,发生的事件。用户事件是在当前再现位置落在预定时段内,执行用户操作时所发生的事件。以下参考图41B,阐明在定义出现在播放列表#1(PL#1)的再现过程中的时间事件时,如何描述PLMark。该图中的下面的时间轴表示PL#1再现的时间轴。这里,假设定义时间事件EX1,其从时间轴上的时间点t1发生。在该图中,在定义时间事件时描述PLMark的一个实例为PLMarkmtl。描述PLMark,使得“时间事件”被描述为类型,“EX1”被描述为ID,“t1”被描述为时间,并且“0”被描述为持续时间。该图中的箭头表示时间t1到来时的时间事件。由于该时间事件的出现,该图中的事件处理程序将被驱动。
与之形成对比,图41B示出从再现时间轴上的时间t1开始,以T为时间间隔生成时间事件的PLMark的描述实例。图41B和图41A的区别在于将“T”描述为PLMark的持续时间。通过持续时间的描述,从时间点t1开始,以T为时间间隔发生时间事件。
以下参考图42,阐明在1号播放列表的再现过程中,在定义用户事件时如何描述PLMark。图42的中间的时间轴是沿再现PL#1的再现时间轴。该时间轴上的当前再现时间通过SPRM(10)来示出。这里,假设一种情况,其中定义用户事件EV1,从时间点t1开始,其有效持续时间为T1。在该图中,定义该用户事件的PLMark为PLMark mt2。描述PLMark是将“用户事件”描述为类型,“EV1”描述为ID,“t1”描述为时间,以及“T1”描述为持续时间。该图中的遥控器rm1是用于接收用户操作的装置。箭头“uv1”表示通过按下遥控器的ENTER键发生的UO。如果从时间点t1开始,UO发生在持续时间T1内的任意时间点,根据该UO,将发生用户事件Ev1。根据该用户事件,将驱动该图中的事件处理程序。省略对ClipMark定义的事件的说明,因为ClipMark定义的事件与PLMark定义的事件相似,因为它们之间的区别仅仅在于,ClipMark定义发生于AV流再现过程中的事件,而PLMark定义发生于PL再现过程中的事件。
图43为示出在ClipMark和PL定义时间事件和用户事件的情况下,插入单元的放置实例的示图。在该图中,在将发生时间事件的时间t1之前分解AV流。在划分点处,记录存储事件处理程序Ex1的插入单元。
通过以此方式记录,存储事件处理程序Ex1的插入单元将与包括时间t1的段一同被读入存储器中。一旦事件处理程序被读入存储器,就可以根据来自应用程序的加载指令,将事件处理程序载入Java虚拟机的工作区域。因此,在当前再现时间点到达时间t1时,事件处理程序Ex1可以被立即驱动。
接下来,阐明对本实施例再现装置的改进。为了使上述时间事件和用户事件发生,不得不控制再现控制引擎12,使其执行图44所示的处理步骤。
图44为示出根据本实施例的再现控制引擎12执行的处理步骤的示图。该流程图是图22的流程图的改进版本。因此,相同的步骤或者分配相同的参考标记,或者在该图中省略。该图的创新点是在一系列处理中加入了两个判断步骤。具体地说,在图26的步骤S2至步骤S10的步骤S5和步骤S6之间加入步骤S20和步骤S22。步骤S20用于判断时间事件是否由PLMark或ClipMark定义,所述时间事件的生成时间为当前再现时间点。如果步骤S20的结果为“是”,则生成时间事件(步骤S21),并将控制转移到步骤S6。以时间事件作为驱动请求的事件处理程序,已经以插入单元的格式记录在BD-ROM中,并与相应段一同被读入再现装置的存储器。因此,立即驱动以时间事件作为驱动请求的事件处理程序。
步骤S22用于判断是否发生UO。如果步骤S22的结果为“是”,通过参考PLMark和ClipMark,判断当前是否处于UO有效的持续时间内(步骤S23)。如果判断是肯定的,生成用户事件(步骤S24),并将控制返回到步骤S6。以用户事件作为驱动请求的事件处理程序,被以插入单元的格式记录在BD-ROM中,并与相应段一同被读入再现装置的存储器。因此,立即驱动以用户事件作为驱动请求的事件处理程序。
如上所述,根据本实施例,以插入单元的格式将事件处理程序加入段之间,具体地讲,在AV流的再现时间轴上,规划事件处理程序的驱动的位置。因此,当应用程序发出事件处理程序加载指令时,事件处理程序被从存储器完好地载入Java虚拟机的工作区域。
请注意,可以选择使再现控制引擎12生成发生于PL再现之前的事件(前事件),或发生于PL再现之后的事件(后事件),以便将因此被驱动的事件处理程序存入插入单元。在此情况下,希望插入单元存储在播放列表信息中的第一条CELL信息指明的时间,以及播放列表信息中的最后一条CELL信息指明的时间。
本实施例中,阐明的事件处理程序与标记信息定义的事件相关联。然而,由其它程序生成的事件也能驱动待插入记录的事件处理程序。例如,由装置生成的事件能够驱动待插入记录的事件处理程序。由装置生成的事件实例包括表明BD-ROM开/关的事件,以及表明该装置状态(例如动力故障)的事件。
(第六实施例)在第一和第二实施例中,在插入单元的头中直接描述与库的有效范围和显示数据相关的信息。然而在第六实施例中,以间接引用的形式描述与库的有效范围和显示数据相关的信息。
图45为示出如何对与插入单元相关的信息执行间接参考的示图。
在该图中,通过将第一级的AV流分解为两个段,将其记录在BD-ROM中。在这些段之间,记录插入单元。该插入单元包括库和显示数据。到此为止,其结构与第一实施例的结构相同。然而在头中的定位器、有效范围进入点信息以及有效范围离开点信息被ID取代。另一方面,第二级和第三级中的静态脚本,包括插入单元常规信息。该插入单元常规信息描述并入AV流的每个插入单元的有效范围信息。为每个插入单元,将有效范围进入点信息、有效范围离开点信息以及插入单元的大小,共同存储于插入单元的常规信息中。与有效范围进入点信息和有效范围离开点信息相关的间接参考具体描述如下。在头中描述ID,并利用该ID从插入单元常规信息中获取有效范围进入点信息和有效范围离开点信息。被描述的间接参考不直接为头描述有效范围进入点信息或有效范围离开点信息。
图46为示出插入单元常规信息与加入AV流的三个插入单元之间的关系的示图。当分别为加入AV流中的插入单元分别分配ID=1,2,3…时,ID=1,2,3被描述为插入单元常规信息,并且为每个ID,描述有效范围进入点信息、有效范围离开点信息以及大小。分配给每个插入单元的ID唯一地识别(1)插入单元本身是否属于AV流,以及(2)插入单元的位置是否处于Ay流的序列中。
通过在静态脚本中提供此类插入单元常规信息,再现控制引擎12能够对加入AV流的大量插入单元执行集中管理。集中管理的一个实例是用于当不止一个插入单元具有彼此重叠的有效范围时,限制读入存储器14的插入单元的数目。
插入单元常规信息为每个插入单元一同指明大小和ID。因此,通过累积每个插入单元的大小,在试图同步存储大量插入单元时,能够计算存在于存储器14中的插入单元的总量。如果计算出的大小大于存储器14的存储空间,可以做出这样一种安排,使得只将一部分插入单元读入存储器,而不读入有效范围彼此重叠的所有插入单元。这种对读取数目的限制避免了插入单元的覆盖,同时避免了存储器14中插入单元的损坏。
如上所述,根据本实施例,在实际读取插入单元之前,可以估计可被读入高速缓存器中的插入单元的数目。因此,在存在插入单元的重叠的情况下,避免出现高速缓存器空间不足的情况。
由于能够根据装置的存储空间,调整待读取的插入单元的数量,所以就无需以数字形式,例如以“高速缓存器的需求空间”的形式,示出存储器大小的指导。由于无需以数字形式示出存储器大小,所以提高了规划存储器大小的判断力,为BD-ROM再现装置的广泛使用作出贡献。
请注意,为每一静态脚本提供一块插入单元常规信息。然而作为替代方案,也可以将其作为流管理信息的一个信息元素而加入。在此情况下,无需识别(1)每个插入单元加入哪条AV流。由于只需要识别AV流序列中的特定插入单元的位置,所以缩短了ID的位长。还有一种替代方案,插入单元常规信息可以被加入PL信息的一个信息元素中。
(第七实施例)在第一和第二实施例中,通过再现时间轴上的有效范围的进入点和离开点表现每一有效范围,通过有效范围进入点信息和有效范围离开点信息指明该有效范围的进入点和离开点。与之相反,第七实施例提出间接标识法。第七实施例中提出的间接标识法是这样的,由CELL信息编号、PL信息编号、标记信息编号、标题编号、章节编号、以及跳跃点编号表示每一有效范围。图47为示出如何表示本实施例中的每个插入单元的有效范围的示图。
这里,假设“CELL信息”指明AV流上的一个再现区,正如第一实施例所示。如果在插入单元的头中,将CELL信息编号描述为有效范围信息,就能够将“再现区”定义为插入单元的“有效范围”。在该图中,如果插入单元头中的CELL信息的编号指明CELL信息#1,则如ck1所示,CELL信息#1指明的再现区(也就是该图中ay1至ay2指明的区域)将为有效范围。
“PL信息”指明由一个或多个再现区组成的再现路径,如第一实施例所示。如果在插入单元的头中,将PL信息编号描述为有效范围信息,就能够将PL信息指明的再现路径定义为插入单元的有效范围。
“标记信息(ClipMark,PLMark)”指明应执行扩展控制的区域,如第五实施例所示。通过在插入单元的头中,将标记信息编号描述为有效范围信息,就能够将标记信息指明的区域定义为插入单元的有效范围。
“标题”对应于至少由一条再现路径和一个动态脚本组成的电影作品。通过在插入单元的头中,将片名编号描述为有效范围信息,就能够从一个较广的范围,例如从电影作品的范围,来定义有效范围。
“章节”是被用户识别为电影作品的章节的单元,并且由一块或多块CELL信息组成。通过在插入单元的头中,将章节编号描述为有效范围信息,就能够由电影作品的章节定义有效范围,这对用户来说是不用加以说明的。
“跳跃点”指明用户对其执行标记操作的章节的位置。此位置由标记信息定义。通过在插入单元的头中,将跳跃点编号描述为有效范围进入点信息和有效范围离开点信息,就能够由跳跃点定义有效范围,这对于用户来说是不用加以说明的。
接下来,在存在此类有效范围的情况下,阐明对库和显示数据执行的插入记录。本实施例与第一实施例的相同之处在于,尽管由CELL信息、PL信息、标记信息、标题、章节、或跳跃点的编号表示有效范围,但是有效范围存在于AV流之上。因此,在由CELL信息、PL信息—跳跃点指明的位置之前,可以记录库或显示数据。如果以上述位置为分界线,将AV流分解为多个段,且将包括库和显示数据的每个插入单元都记录在相邻段之间,在利用CELL信息、PL信息—跳跃点的再现的起始点,每个插入单元将和构成AV流的相应段一同被读入存储器14。
这里,由CELL信息指明的位置是AV流上由CELL信息的进入点信息指明的位置。由PL信息指明的位置是AV流上由PL信息内第一条CELL信息的进入点信息指明的位置。
由标题指明的位置是AV流上由第一PL信息内第一条CELL信息指明的位置,其中该第一PL信息来自构成该标题的多于一组PL信息中。最后,由标记信息指明的位置是AV流上由标记信息的时间信息所指明的位置。由章节编号和跳跃点编号指明的位置分别是,AV流上由相应章节或跳跃点指明的位置。
根据上述第七实施例中的改进,由CELL信息编号、PL信息编号、标记信息编号、标题编号、章节编号、以及跳跃点编号表示每个有效范围。因此,本实施例中再现装置的再现控制引擎12执行以下处理。
当利用PL信息、CELL信息、标记信息、标题、跳跃点编号指示再现时,本实施例的再现控制引擎12指明一个访问单元,该访问单元对应于由这些信息指明的位置,并在对应于该访问单元的TMAP中参考访问单元条目。如果访问单元条目中存在插入单元的任意文件名,就从BD-ROM中连续读取具有文件名的访问单元和访问单元。
在以下指明的六个定时执行这种连续读取。
第一定时在用户执行菜单列表标题的选择操作时。如果执行标题选择操作,再现控制引擎12执行搜索,查看处在由此标题指明的位置的访问单元之前是否存在插入单元。如果发现之前有插入单元,就将该插入单元和访问单元一起从BD-ROM读入存储器14。插入单元将被保留在存储器14中,直到标题再现完成。在标题再现完成后,再现控制引擎12从存储器14中删除已存储的插入单元。
第二定时在将特定PL信息读入静态脚本存储器11作为当前PL信息时。再现控制引擎12执行搜索,查看处在由当前PL信息指明的位置的访问单元之前是否存在插入单元。如果发现该插入单元,就将该插入单元和访问单元一起从BD-ROM读入存储器14。插入单元将被保留在存储器14中,直到根据当前PL信息的再现完成。在当前再现时间点到达当前PL信息中最后CELL信息的离开点时,再现控制引擎12从存储器14中删除插入单元。在上述PL信息再现过程中,通过发出加载指令,能够使Java模式的应用程序将库从存储器14提供到Java虚拟机的工作区域。
第三定时在将当前PL信息中的CELL信息指定为再现对象(也就是图26的流程图中的CELLy)时。在该定时,再现控制引擎12执行搜索,查看处在由CELL信息指明的位置的访问单元之前是否存在插入单元。如果发现该插入单元,就将该插入单元从BD-ROM读入存储器14。在当前再现时间点到达CELL信息的离开点时,再现控制引擎12从存储器14中删除插入单元。根据上述处理,在上述CELL信息再现过程中,通过发出加载指令,能够使Java模式的应用程序将库从存储器14提供到Java虚拟机的工作区域。
第四定时在当前再现时间点到达由标记信息指明的时间时。再现控制引擎12执行搜索,查看处在由标记信息指明的位置的访问单元之前是否存在插入单元。如果发现该插入单元,就将该插入单元从BD-ROM读入存储器14。
第五定时在用户执行从章节菜单中选择章节的操作时。如果执行章节选择操作,再现控制引擎12执行搜索,查看处在由章节指明的位置的访问单元之前是否存在插入单元。如果发现该插入单元,就将该插入单元从BD-ROM读入存储器14。注意到,在当前再现时间点到达章节起始点时,也能执行搜索,查看章节之前是否存在插入单元。如果发现该插入单元,就将该插入单元从BD-ROM读入存储器14。
第六定时在用户执行选择跳跃点的操作时。如果执行跳跃点选择操作,再现控制引擎12执行搜索,查看处在由跳跃点指明的位置的访问单元之前是否存在插入单元。如果发现该插入单元,就将该插入单元从BD-ROM读入存储器14。
如上所述,根据本实施例,用CELL信息和PL信息的编号定义有效范围。因此,很容易了解插入单元的有效范围间的重叠,从而以追求资源管理的观点来看,有助于规划插入单元的读取。
注意到,为了使再现控制引擎12更容易地进行搜索,希望能通过第一实施例的插入单元常规信息,实现对插入单元的有效范围信息的综合管理。利用这种已实现的结构,可以仅仅通过参考插入单元常规信息,执行针对每个插入单元的搜索。
另外,根据本实施例,借助于编号,使PL信息、CELL信息、标题、章节、以及跳跃点与插入单元相对应。然而,如果能够唯一识别PL信息、CELL信息、标题、章节、以及跳跃点,任意类型的识别信息都可以被采用。例如,如第六实施例所示,通过将插入单元的标识信息分配给PL信息或CELL信息,就能够执行标识。
(第八实施例)在第一和第二实施例中,定位器中文件路径的描述用于识别存储器14中的每个库和程序。第八实施例涉及一种改进,所述改进针对尝试通过利用头中的这种文件路径描述,来分等级地组织存储器14中的库和显示数据。图48通过对定位器的描述,概要说明了程序或显示数据的分级组织。该图的第一级表示AV流,以及插入记录在AV流中的插入单元。第二级表示每个插入单元的内部结构和相应头中的定位器描述。第三级表现存储器14中程序和显示数据的设置。在第二级中,插入单元的定位器分别为“CM//Java/Image”、“CM//Java/Game”、以及“CM//Java/Character”。因此在参考每个插入单元的头时,再现控制引擎12在存储器14中生成Java目录,在这些目录中创建诸如“Image”、“Game”、以及“Character”文件,并将插入单元的程序或显示数据放入每个文件中。在该图中,箭头“ty1”、“ty2”、以及“ty3”概要示出上述设置方式。这里,可以由第二级中的有效范围信息获知,插入单元的有效范围分别为1至6用于插入单元1;3至5用于插入单元2;以及0至10用于插入单元3。插入单元具有彼此重叠的有效范围。根据以上结构,具有彼此重叠的有效范围的库或显示数据,被分别存入标题为“Image”、“Game”、以及“Character”的文件,并位于一个Java目录之下。因此仅仅通过访问Java目录,Java模式的应用程序就能够将每个插入单元的库或显示数据载入Java虚拟机的工作区域。
(第九实施例)目前为止所描述的每个实施例中,对库或显示数据执行插入记录。与之相反,第九实施例涉及一种改进,以便将库或显示数据以与数据轮播相同的格式加入AV流中。数据轮播是一种广播方法,该方法为实现交互广播,重复广播相同内容。尽管最初不是用于存储广播数据,BD-ROM也能通过遵循该实施例中的的数据轮播存储格式,存储库和显示数据。
这里,阐明数据轮播方法中的传输。数据轮播的对象被分解为许多块,每个部分成为一个被称为“DDB(下载数据块)”的块,并与被称为“DII(DownloadinfoIndication)”的唯一控制信息一起被加入AV流中。DII位于相应的DDB之前,并具有DDB的长度描述。
如果将库和显示数据中的每一个视为数据轮播方法的对象,则库和显示数据的每一个都被分解为大量DDB,并分配有一个相应的头。然后每个DDB被置于对应于相应有效范围的进入点的位置之前。在再现装置读取对应于有效范围的进入点的访问单元的定时,包含库或显示数据的DDB被读入再现装置中。
到目前为止,描述涉及针对AV流的改进。以下描述涉及第九实施例中针对再现装置的改进。图49为示出根据第九实施例的再现装置的内部结构的示图。
由于AV流包括数据轮播格式的库和数据,根据本实施例的再现装置不包括用于从AV流中分离出插入单元的开关15。作为替代,库和数据从解复用器3读入存储器14中。在该图的再现装置中,解复用器3对AV流执行解复用,以便获得视频流、音频流、子图片流、以及数据轮播格式的库和数据。其中,具有数据轮播格式的库和数据存于存储器14中,并且因此,响应来自Java模式应用程序的加载指令,将数据轮播格式的库和数据,从存储器14读入Java虚拟机的工作区域。
根据本实施例,将可以为Java模式应用程序所用的库和显示数据,以与数据轮播相同的格式提供给再现装置。因此,再现装置可能具有和数字广播接收装置相同的结构。这样实现的再现装置还可以起到数字广播接收装置的作用。
(第十实施例)第十实施例涉及从再现装置中省略开关,同时将库和显示数据以插入记录的格式记录在BD-ROM中的改进。由于省略了开关15,根据第十实施例的应用程序以下列方式读取插入单元。
在一同读取插入单元和访问单元时,应用程序连续从文件“ILUsss.CLASS”和文件“XXX.M2TS”中进行读取。
以下述方式从文件“ILUsss.CLASS”中进行读取。首先,打开文件“ILUsss.CLASS”,并将文件指针设为指向已打开的文件“ILUsss.CLASS”的起始位置。到这里,与第一实施例中的过程相同。在此过程中,应用程序说明文件“ILUsss.CLASS”要被读入的区域。然后,向BD驱动器1发出设定了文件“ILUsss.CLASS”的总长度的READ命令。这里,要被读入文件的区域为存储器14。作为发出此命令的结果,文件“ILUsss.CLASS”将被读入再现装置200的存储器14中。
以下述方式从文件“XXX.M2TS”中进行读取。首先,打开文件“XXX.M2TS”,并将文件指针设为指向打开的文件“XXX.M2TS”中的访问单元v的起始位置。到这里,过程与第一实施例中的过程相同。在此过程中,应用程序说明文件“XXX.M2TS”要被读入的区域。文件要被读入的区域为轨缓冲器2。然后,向BD驱动器1发出设定了访问单元v的总长度的READ命令。作为发出命令的结果,访问单元v将被读入再现装置200的轨缓冲器2中。
如上所述,根据本实施例,当应用程序读取文件时,依靠该文件(也就是“ILUsss.CLASS”或“XXX.M2TS”)转换将读入文件的区域。根据该结构,无需开关15,也能执行插入单元和AV流的读取。
(第十一实施例)本实施例涉及BD-ROM的制造方法。图50为示出根据第十一实施例的BD-ROM的制造方法的流程图。
BD-ROM的制造方法包括素材创建步骤S101,用于创建素材,例如运动图像拍摄以及声音录制;编译步骤S102,用于利用编译装置生成应用格式;压制步骤S103,用于通过执行印刷/粘接完成BD-ROM的制作。
在这些步骤中,针对BD-ROM的编译步骤包括脚本编辑步骤S201;素材编码步骤S202;多路复用步骤S203;以及格式化步骤S204。
脚本编辑步骤S201是将规划阶段创建的脚本转换为再现装置能够识别的格式的步骤。作为脚本编辑的结果,生成BD-ROM的一个静态脚本。同样在该脚本编辑过程中,生成用于多路复用的多路复用参数等等。
素材编码步骤S202用于分别对视频素材、音频素材、以及子图素材进行编码,以便获得视频流、音频流、以及子图片流。
多路复用步骤S203用于插入式多路复用由素材编码获得的视频流、音频流、以及子图片流,并将这些流转换为一条AV流。
与这些步骤并行执行Java语言的程序(也就是步骤S204、S205)。
Java应用程序创建步骤S204用于创建Java语言的Java应用程序。
库创建步骤S205用于创建库。
格式化步骤S206用于使由步骤S201至S205产生的AV流、静态脚本、动态脚本、以及库符合BD-ROM的格式。在一致化处理中,如第一实施例所示,AV流被分解为多个段,并将库记录在段中。
在本实施例中,动态脚本对应于步骤S204中的Java应用程序,并且可以用Java语言描述。因此,可以按照与开发普通计算机软件程序相同的方式,开发动态脚本。因此,本实施例具有提高脚本创建效率的作用。
(第十二实施例)本实施例涉及将BD中的AV流复制到记录类型的记录介质中,例如BD-R和BD-RE。在复制过程中,记录装置从Web网址下载一个动态脚本和一个表格。如图22A所示,该表格指明AV流再现时间轴上的库有效范围的分配情况。由于该表格存有有效范围的分配情况,根据有效范围的进入点,分解AV流,因而在段之间,记录有效范围落在段内的库。在记录之前,将库转换为插入单元。
通过这样做,可以从不记录库的版本的BD,更新到记录有库和动态脚本的版本。
(其它注意事项)到目前为止,已经基于实施例描述了本发明。然而上述实施例仅仅是在目前的技术水平上,能够预期获得最佳效果的系统实例。不必说,可以在本发明的范围内修改本发明。以下以(A)、(B)、(C)…表示典型的修改实例。
(A)在第二实施例中,一个插入单元中只有一块显示数据。然而,BD-ROM的每个插入单元都可能包括多块显示数据。图51为示出存储多块显示数据的插入单元的示图。在该图中,图像数据、文档数据、以及图形数据分别为一块显示数据。通过将此类插入单元记录在BD-ROM中,插入单元的一次读取可以将多个显示数据存入存储器中。注意在此情况下,要求在头中具有对每个包括在插入单元中的文件的描述。
(B)在图12所示的层模型中,可以将浏览器模式或电影模式置于Java模式之上。尤其是如果在电影模式下,基于动态脚本,执行动态脚本的解释,并执行控制步骤,那么能够减轻再现装置的负担。因此,如果在Java模式之上执行电影模式将不会发生任何问题。另外,如果这样做,在再现装置和电影作品的开发中,可以确保一种模式下的操作。
或者,为了执行根据Java模式的处理,可以只提供Java模式,无需具备所有三种模式。可以只在Java模式下,实现再现控制与PL再现同步,所以就不必提供电影模式。另外,可以只在电影模式或只在浏览器模式下,执行对动态脚本的控制。
(C)在所有实施例中,光盘被阐明为BD-ROM。然而本发明的特征在于记录在光盘中的插入单元,而且该特征不依赖于BD-ROM的物理特性。因此任意光盘都可以用于实现本发明。例如,可以使用诸如DVD-ROM、DVD-RAM、DVD-RW、DVD-R、DVD+RW、DVD+R、CD-R、CD-RW等光盘,以及诸如PD和MO等光学磁盘。
可以将动态脚本和播放列表信息,从存储AV流和流管理信息的记录介质,记录到单独的记录介质中。为了将数据作为一个电影作品再现,可以并行读取上述种类的数据。
(D)在所有实施例中,在对AV流进行解码后,再现装置将BD-ROM的AV流输出到电视机。然而,再现装置可能只由一个BD-ROM驱动器构成,并且可以由电视机提供其它的组成元件。在此情况下,再现装置和电视机可以通过IEEE 1394连接器,并入家庭网络。另外,上述实施例中的再现装置是可以通过连接到电视机而使用的类型。然而,再现装置可以是与显示器组合而成的类型。另外,在每个实施例中,只有执行处理的主体可以被视为相应的再现装置。因为所有此类再现装置都在本发明中的说明中描述,基于每个实施例中再现装置的内部结构,制造任意再现装置的行为,构成了说明中所描述的本发明的实践行为。与每个实施例的再现装置相关的任何收费或免费的转让行为(如果收费就为销售品,如果免费就为赠品)、租借行为、以及进口行为也构成本发明的一个实施例。另外,任何通过店面展览、价目招商、以及手册分发等手段,提供转让和租借的行为,也构成本再现装置的实践行为。
(E)利用硬件资源,实际地实现利用图26、38、44中流程图所示的程序的信息处理。因此,描述流程图所示的操作步骤的程序本身也是一项发明。以上实施例描述了将程序加入再现装置的情况,但程序可以独立于再现装置应用。实践程序的行为包括(1)制造行为,(2)收费或免费的转让行为,(3)租借行为,(4)进口行为,(5)通过双向电子通信网络提供给公众的行为,以及(6)利用店面展览、价目表、或宣传手册为公众提供转让或租借的行为。
(F)如果将存在于每个步骤的时间概念视为指明本发明的不可缺少的因素,则阐明流程图中的每个步骤,以公开再现方法的一种使用模式,其中在图26、38、以及44的流程图中按时间顺序依次执行每个步骤。如果通过在其中按时间顺序依次执行每个步骤,来执行以上阐明的流程图的处理过程,为了有效并有助于实现本发明的目标,这将与本发明中记录方法的实施例相对应。
(G)实施例中Java模式应用程序是用于绘制电脑图形的应用程序,但不仅限于此。只要是用Java语言描述的,任何应用程序都可以使用。例如,可以使用EC(电子商务)的客户端应用程序。可以利用电影作品中的运动图像,实现能够呈现产品的Java模式应用程序,例如,呈现在与电影作品相关的角色扮演行业(character business)获得成功的产品。另外,Java模式应用程序可以是互联网上的在线游戏。另外,在Java模式应用程序中的电脑图形中描绘的角色(characters)可以作为一个代理来执行处理。作为代理的角色,可以提供与再现装置相关的帮助要素,或为用户提供建议。
网页对象从WEB网址获得的信息可以是网页或图像数据,或者更进一步,它可能是AV流、流管理信息、以及PL信息。另外,网页对象可以与搜索引擎联合来执行处理。
另外,可以选择性地将C++、C#、以及类似语言作为增强模式的描述语言。
(H)当在BD-ROM上记录AV剪辑时,为AV剪辑中的每个TS包增加一个扩展头。该扩展头称为TP_extra_header,包括arrival_time_stamp以及copy_permission_indicator,且数据长度为4字节。附有TP_extra_header的TS包(以下称为“EX TS包”)被打包进32个信息包的单元,并被写入三个扇区。由32个EX TS包组成的集合有6144字节(=32×192),等于三个扇区的大小6144字节(=2048×3)。包含在三个扇区中的32个EX TS包中的每一个都被称为阵列单元(Aligned Unit)。
在通过IEEE 1394连接器连接的家庭网络中,再现装置200以下述方式传送阵列单元。在阵列单元中,再现装置从32个EX TS包的每一个中移除TP_extra_header,根据DTCP规范加密每一个TS包的主体,并输出已加密的TS包。在输出TS包时,再现装置在相邻TS包之间插入同步信息包。基于TP_extra_header的arrival_time_stamp所示的时间,确定同步信息包插入的位置。再现装置200在输出TS包的同时,也输出DTCP_descriptor。DTCP_descriptor对应于TP_extra_header中的copy_permission_indicator。通过提供指明“禁止复制”的DTCP_descriptor,当在通过IEEE 1394连接器连接的家庭网络中使用TS包时,可以防止TS包被记录到其它设备上。
(I)在第十二实施例中,在嵌入式拷贝生成信息(CGI)的限制下,可以容许对AV流的复制。拷贝生成信息被分类为“自由拷贝”,指明可以任意进行拷贝;“一次生成拷贝”,指明容许记录一次生成拷贝;“不再拷贝”,表示禁止对拷贝的进一步复制;以及“从不拷贝”,表示禁止任何拷贝。换句话说,只有在拷贝生成信息为“任意拷贝”或“一次生成拷贝”时,才能够执行从HD到DVD的数据备份。如果拷贝生成信息为“不再拷贝”或“从不拷贝”,就不能执行任何备份。
(J)第十二实施例中,当为AV流分配权利管理信息时,依照该权利管理信息规定的使用条件,可以执行对AV流的拷贝。
如果该权利管理信息通过拷贝的次数,规定了拷贝许可条件,则需要遵守拷贝次数。如果规定了有效持续时间(年/月/日),则需要遵守有效持续时间。
(K)当拷贝处理包括移走(move)、移入(migrate)、校验(checkout)、或其它变更时,可以为每一次变更定义备份条件。移走是执行原始内容删除的拷贝处理。当在多个记录介质间移动内容时使用移走。
移入是假定在记录介质上生成使用条件信息的拷贝处理,拷贝被创建到该记录介质之上。
校验是一种带有拷贝次数限制的拷贝类型。每执行一次拷贝,允许拷贝的次数就减少一次。校验和限制次数的拷贝之间的区别在于校验也可以执行拷贝次数的增加。在禁止处理之后,执行拷贝次数的增加,其中所述禁止处理禁止在记录介质上的任何拷贝内容的再现(该处理被称为“登记(checkin)”)。
(L)每个实施例中的AV流也可以是DVD视频标准或DVD视频记录标准中的VOB(视频对象)。VOB是遵守ISO/IEC13818-1标准的程序流,通过多路复用视频流和音频流获得该VOB。另外,每个实施例中的AV流可以称为“AVClip”。在此情况下,流管理信息可以称为“Clip信息”。另外,AV流中的视频流可以是MPEG4格式或WMV格式。另外,音频流可以是线性PCM格式、Dolby-AC3格式、MP3格式、或MPEG-AAC格式。
(M)每个实施例中的Cell信息利用时间信息,指明再现区的起始/终止点。然而,BD-ROM中的逻辑地址可以用于指明再现区的起始/终止点。每个实施例中的CELL可以称为“PlayItem”。
(N)流管理信息中的TMAP可以称为“EP_map”。在此情况下,希望通过访问单元中第一图片数据的时间戳(展示时间戳),来表示访问单元的再现起始时间。另外,希望通过PES包的序列号(SPN(序列包编号))来表示每个插入单元的地址。
(O)在以上关于再现装置结构的说明中,动态脚本存储器21只存储当前动态脚本,而静态脚本存储器11只存储当前流管理信息和当前PL信息。然而,可以将多块脚本、流管理信息、以及PL信息预先分别存入动态脚本存储器21和静态脚本存储器11。通过这样做,可以缩短从BD-ROM读取这些数据块时易发生的时滞。
(P)为了顺序再现两个或更多构成PL的CELL,希望预先将这些CELL修改为无缝连接。
为实现此类无缝连接所必需的修改为,创建一个先前再现区的终止部分的拷贝,并创建一个后续再现区的起始部分的拷贝,然后对如此获得的拷贝进行再编码。注意,为无缝连接创建的拷贝可以称为“Bridge-Clip”。
这里,可以按照以下方式设定终止部分和起始部分。
首先,终止部分定义为,从包括VOB#x内的先前再现区的离开点的访问单元开始,直到两个访问单元。起始部分定义为,包括VOB#x+1内的后续再现区的进入点的访问单元。以上述方式定义终止/起始部分的原因,在早期的同一个申请人的现有技术参考文献USP6148140中有详细说明。因此有关细节请参阅发行文献。
另外,希望将无缝连接信息提供给为无缝连接创建的每个拷贝。无缝连接信息包括第一视频帧的再现起始时间、最末视频帧的再现终止时间、音频间隙的起始时间、音频间隙的时间长度、以及音频间隙的位置信息。如果定义了此类无缝连接信息,利用第一视频帧的再现起始时间和最末视频帧的再现终止时间,可以计算两个区的时间戳之间的差值(STC-Offset),从而为再现装置设定STC-Offset。另外,通过参考这些音频间隙信息块,控制音频解码器,可以防止随从一个区转移到另一个区的转移过程出现的音频中断。
(Q)每个实施例中的电影作品可以是由图像表现的任意类型的版权作品,例如电视电影以及游戏软件程序。这一点的原因在于每个实施例中的电影作品具有版权电影所必需的现有格式,这些要求是(i)利用生成视觉效果或视听效果的方法,在阴极射线管或液晶屏、或类似终端展现,(ii)通过以特定方法与BD-ROM(主体)连接,保持一致性,以及(iii)设置为待再现的状态。
然而,本发明的实质不只限于此类电影作品。本发明中的视频数据可以是监控摄像机中的图像,或者是由家庭摄影机拍摄的图像。
(R)在第二实施例中,图形数据可以是电脑图形数据。此类数据包括NURBS(非均匀合理B样条)(non uniform rational B-spline)格式以及多边形格式的数据。NURBS是贝塞尔曲线束(称为“B样条”),这里贝塞尔曲线的曲率不是一致的。
定义多边形格式是为了通过多边形近似,表示特定的立方体形式,其中包括AutoCAD公司(一家美国公司)的数据交换格式(DXF)的一个典型实例。其它实例为HRC、WAVEFRONT、IV、以及VRML格式。
另外,可以利用第二实施例中所示的图像数据,将其作为纹理映射。纹理映射是用于在三维平面或弯曲平面上,显示例如静止图像和位图的纹理图案的处理。为了描绘电脑图形,可以插入记录例如OPEN-GL或Java3D等程序。
(S)在每个实施例中,通过遥控器接收用户对电影作品的选择操作。然而,作为替代,可以通过再现装置的面板接收选择操作。还可以通过输入装置,例如键盘、触摸面板、鼠标或控制板、以及轨迹球,接收选择操作。在这些情况下,可以依靠点击操作或拖曳操作接收选择操作。
(T)通过对由模拟广播传播的模拟图像信号进行编码,可以获得每个实施例中的电影作品。电影作品或者可以是由传输流组成的数据流,所述传输流通过数字广播来传播。
另外,电影作品可以是通过对记录在录像磁带中的模拟/数字图像信号进行编码而获得的内容。或者,电影作品也可以是通过对直接从摄影机中获得的模拟/数字图像信号进行编码而得到的内容。或者,电影作品还可以是由发行服务器所发行的数字作品。
(U)Java模块17可以是并入接收卫星广播的装置中的Java平台。如果Java模块17为此类Java平台,本发明的再现装置可以进一步起到MHP的STB的功能。
或者,Java模块17可以是并入控制与便携式电话相关的处理的装置中的Java平台。如果Java模块17为此类Java平台,本发明的再现装置可以进一步起到便携式电话的功能。
另外,浏览器模块18可以是个人电脑中的浏览器软件,例如MicroSoft公司的Internet Explorer。
附图标记说明1BD驱动器2轨缓冲器3解复用器4视频解码器5图片平面6音频解码器8图像平面9图像解码器10加法器
11静态脚本存储器12再现控制引擎13播放器寄存器14存储器15开关16类DVD模块17Java模块18浏览器模块19UO管理器21动态脚本存储器100BD-ROM200再现装置300电视400遥控器工业适用性根据本发明的光盘将使游戏软件的运行环境接近于电影再现的运行环境,并因此有助于将更多有吸引力的电影作品投入市场,这鼓舞了电影市场和消费品市场。因此根据本发明的记录介质和再现装置在电影行业和消费品行业具有很高的可用性。
权利要求
1.一种其中记录有分为n段的数字流的光盘,其中插入单元记录在将要在第i位再现的第i段之前,其中i和n中的每个为满足i<n的整数,并且所述插入单元包括下述之一(a)与所述第i段的再现同步的程序,以及(b)与所述第i段的再现同步显示的数据。
2.如权利要求1所述的光盘,其中所述插入单元包括终止时间信息,所述终止时间信息指明应该在所述数字流的再现时间轴上的哪一个点,从存储器中删除所述程序或所述数据。
3.如权利要求1所述的光盘,其中所述插入单元包括起始时间信息,该起始时间信息指明在所述数字流的再现时间轴上的哪一个点,所述程序或所述数据变为可用的。
4.如权利要求1所述的光盘,其中在所述第i段和所述第i+1段之间,记录所述插入单元的拷贝。
5.如权利要求4所述的光盘,其中所述第i段和所述第i+1段之间的分界落在所述程序或所述数据的有效范围的中间。
6.如权利要求4所述的光盘,其中所述第i段和所述第i+1段之间的分界落在所述程序或所述数据的有效范围之后。
7.如权利要求1所述的光盘,其中所述第i段由多个访问单元组成,每个访问单元包含具有内部图片的视频数据,并且在所述光盘中记录有映射信息,所述映射信息示出与属于所述第i段的访问单元中的每个的地址和再现时间之一相关联的所述插入单元。
8.如权利要求1所述的光盘,其中i≥2,并且所述第i段和所述第i-1段之间的分界对应于所述数字流的再现时间轴上的所述程序或所述数据的有效范围的起始点。
9.如权利要求8所述的光盘,其中所述有效范围是所述再现时间轴上的一个区间,在所述区间内所述程序或所述数据变为可用的。
10.如权利要求1所述的光盘,其中所述程序是由事件驱动的事件处理程序,并且在所述数字流的再现时间轴上,在所述事件发生的时间之前,记录包含所述事件处理程序的插入单元。
11.如权利要求10所述的光盘,其中所述事件是下列之一(a)指明当前再现时间点已经到达再现时间轴上的预定时间的事件,(b)指明在所述再现时间轴预定时间期间内做出的用户操作的事件,(c)根据再现路径发生在再现之前的事件,(d)根据再现路径发生在再现之后的事件,(e)由再现装置生成的事件,以及(f)由另一个程序生成的事件。
12.如权利要求1所述的光盘,进一步在其中记录有插入单元常规信息,所述插入单元常规信息示出记录在所述光盘上的多个插入单元的标识符,所述标识符与相应的程序或数据的大小和有效范围相关联。
13.如权利要求1所述的光盘,进一步在其中记录有播放列表信息以及动态脚本,其中通过根据再现次序设置指示视频数据的再现区的信息块,所述播放列表信息定义再现路径,通过示出至少一条再现路径的再现过程,所述动态脚本定义视频标题,而且所述插入单元包含有标识符,所述标识符示出再现路径、再现区、完整视频标题、以及所述视频标题的章节中的一个,作为所述程序或数据的有效范围。
14.如权利要求1所述的光盘,其中所述插入单元包含一个定位器,所述定位器包含驱动信息和路径信息,所述驱动信息指明读取所述程序或所述数据的驱动器,而所述路径信息指明所述程序或所述数据存在于所述驱动器的分层结构中的哪一层。
15.一种再现装置,用于其中记录有数字流的光盘,所述再现装置包括读取单元,用于从所述光盘中一同读取第i段和位于所述第i段之前的插入单元,所述第i段将在构成所述数字流的n个段中的第i位再现,其中i和n中的每个为满足i<n的整数;再现单元,用于再现读取的所述第i段;以及处理单元,用于利用包含在读取的所述插入单元中的程序或数据,同步于所述第i段的再现执行同步处理。
16.如权利要求15所述的再现装置,包括存储器,用于存储所述读取的插入单元;以及轨缓冲器,用于存储所述读取的第i段,其中所述再现单元通过所述轨缓冲器接收所述第i段的供应,并且所述处理单元通过所述存储器接收所述插入单元的供应。
17.如权利要求16所述的再现装置,还包括一个开关,其中一旦读取所述光盘的一个扇区,所述读取单元就报告所述扇区的地址,所述开关(a)当判定从所述读取单元中报告的地址落在存储插入单元的区域内时,将从所述扇区中读取的信息写入所述存储器中,并且(b)当判定从所述读取单元中报告的地址落在存储段的区域内时,将从所述扇区中读取的信息顺序写入所述轨缓冲器中,所述存储器中的每个插入单元由所述开关写入所述存储器的信息组成,并且所述轨缓冲器中的每个段由所述开关写入所述轨缓冲器的信息组成。
18.如权利要求17所述的再现装置,其中在所述光盘中,将每个插入单元存入与所述数字流分开的文件中,在所述光盘中记录文件管理信息,所述文件管理信息指明每个文件标识符,所述文件标识符与所述数字流和插入单元之一在所述光盘中的地址相关联,并通过参考所述文件管理信息,执行判断当前读取位置是否在存储插入单元的所述区域内,或是否在存储段的所述区域内。
19.如权利要求16所述的再现装置,其中在所述光盘中,将每个插入单元存入与所述数字流分开的文件中,在所述光盘中记录有文件管理信息,所述文件管理信息指明每个文件标识符,所述文件标识符与所述数字流和插入单元之一在所述光盘中的地址相关联,而且在执行所述读取之前,所述读取单元打开每个文件,将所述存储器指定为存储插入单元的文件的读取目的地,并将所述轨缓冲器指定为存储所述数字流的文件的读取目的地。
20.如权利要求16所述的再现装置,其中所述插入单元包含终止时间信息,且当所述再现单元的当前再现时间点已经到达所述终止时间信息指示的终止时间时,所述处理单元从所述存储器中删除所述插入单元。
21.如权利要求16所述的再现装置,还包括一个虚拟机子单元,其中一旦被应用程序请求,所述处理单元就为所述虚拟机子单元的工作区域提供所述存储器上所述插入单元中的程序或数据,并让所述虚拟机子单元执行所述程序或所述数据。
22.如权利要求21所述的再现装置,其中所述插入单元包含起始时间信息,并且当所述再现单元的当前再现时间点已经到达所述起始时间信息指示的起始时间时,一旦被所述应用程序请求,所述处理单元就为所述虚拟机子单元的工作区域提供所述程序,而在所述再现单元的当前再现时间点尚未到达所述起始时间时,即使所述应用程序提出请求,所述处理单元也不会为所述虚拟机子单元的工作区域提供所述程序。
23.如权利要求15所述的再现装置,其中所述第i段和所述第i+1段之间的分界落在所述程序或所述数据的有效范围的中间,所述插入单元的拷贝记录在所述第i段和所述第i+1段之间,并且在对所述第i段执行随机访问时,所述读取单元从所述光盘中读取所述拷贝。
24.如权利要求15所述的再现装置,其中所述第i段和所述第i+1段之间的分界落在所述程序或所述数据的有效范围之后,所述插入单元的拷贝记录在所述第i段和所述第i+1段之间,在所述再现单元执行正常再现时,所述读取单元读取所述第i段,并且在执行反向再现时,所述再现单元一同读取所述n个段中的第i+1段,和位于所述第i+1段之前的所述插入单元的拷贝。
25.如权利要求15所述的再现装置,其中所述第i段由多个访问单元组成,每个访问单元包含具有内部图片的视频数据,所述光盘中记录有映射信息,所述映射信息示出与属于所述第i段的每个访问单元的地址及再现时间之一相关联的所述插入单元,并且通过参考所述映射信息,所述读取单元执行对所述插入单元的读取。
26.如权利要求15所述的再现装置,其中所述处理单元包括虚拟机子单元,所述再现单元再现所述数字流,并生成与所述再现同步的事件,并且在所述再现单元生成所述事件时,所述虚拟机子单元执行所述插入单元中的程序。
27.如权利要求26所述的再现装置,其中所述事件是以下之一(a)指明当前再现时间点已到达视频数据再现时间轴上的预定时间的事件,(b)由所述再现装置生成的事件,以及(c)由另一个程序生成的事件。
28.如权利要求27所述的再现装置,其中所述光盘中记录有标记信息,所述标记信息定义所述再现时间轴上的预定时间点以及预定时间间隔,并且所述再现单元根据所述标记信息生成所述事件。
29.如权利要求27所述的再现装置,包括接收单元,用于接收用户操作,其中所述事件是这样一个事件,其指明在所述视频数据的所述再现时间轴的预定持续时间内,所述接收单元已经接收到用户操作。
30.如权利要求15所述的再现装置,其中所述光盘中记录有插入单元常规信息,作为记录在所述光盘上的多个插入单元的管理信息,所述再现装置包括存储器和再现控制单元,根据所述插入单元常规信息,所述再现控制单元用于判断所述插入单元是否可存于所述存储器中,并且当所述再现控制单元做出肯定判断时,所述读取单元读取部分或全部所述插入单元。
31.如权利要求15所述的再现装置,其中所述光盘中记录有播放列表信息,根据再现次序,通过设置指示所述数字流的再现区的信息块,所述播放列表信息定义再现路径,并且根据所述播放列表信息,为了再现所述数字流,所述再现控制单元控制所述读取单元和所述再现单元。
32.如权利要求31所述的再现装置,其中每个插入单元包含一个标识符,并且根据所述播放列表信息,在所述数字流的再现过程中,所述再现控制单元控制所述读取单元从所述光盘中读取下列之一(a)包括所述播放列表信息的标识符的插入单元,以及(b)包括指明所述播放列表信息的再现区的信息的标识符的插入单元。
33.如权利要求31所述的再现装置,其中所述光盘中记录有动态脚本,通过示出播放列表信息所示的至少一条再现路径的再现步骤,所述动态脚本定义标题,所述再现控制单元控制所述读取单元从所述光盘中读取下列之一(a)包括对应于所述动态脚本的所述标题的标识符的插入单元,以及(b)包括章节的标识符的插入单元,其中所述章节包括在对应于所述动态脚本的所述标题之内。
34.如权利要求15所述的再现装置,其中每个插入单元包含一个定位器,所述定位器包含驱动信息和路径信息,所述驱动信息指明所述程序或所述数据将被读入的驱动器,所述路径信息指明在所述驱动器的分层结构中的哪一层设置所述程序或所述数据,并且所述再现装置在由所述路径信息指明的层中设置所述程序或所述数据。
35.一种再现程序,用于其中记录有数字流的光盘,所述再现程序包括读取步骤,从构成所述数字流的多个段中读取将在第i位再现的第i段;再现步骤,再现所述读取的第i段;以及处理步骤,利用包含在所述读取的插入单元中的程序或数据,执行与所述第i段的再现同步的同步处理。
36.一种再现方法,用于其中记录有数字流的光盘,所述再现方法包括读取步骤,从构成所述数字流的多个段中读取将在第i位再现的第i段;再现步骤,再现所述读取的第i段;以及处理步骤,利用包含在所述读取的插入单元中的程序或数据,执行与所述第i段的再现同步的同步处理。
37.一种用于光盘的记录方法,所述记录方法包括创建应用程序数据的步骤;以及将所述创建的应用程序数据记录在所述光盘上的步骤,其中所述应用程序数据包含被分解为n段的数字流和插入单元,所述插入单元记录在将在第i位再现的第i段之前,其中i和n中的每个为满足i<n的整数,且所述插入单元包括以下之一(a)与所述第i段的再现同步的程序,以及(b)与所述第i段的再现同步显示的数据。
全文摘要
一种光盘,已经在其中记录了被分解为段的AV流。一种插入单元,被记录在这些段中的将要在第i点再现的第i段之前。所述插入单元包括库,所述库的有效范围具有起始点,所述起始点落在第i段的再现时间内。
文档编号H04N5/92GK1726549SQ20038010576
公开日2006年1月25日 申请日期2003年10月10日 优先权日2002年10月10日
发明者池田航, 冈田智之, 上坂靖, 小塚雅之 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1