具体实施方式
以下,参照附图对有关本发明的优选的实施方式的记录介质及再现装置进行说明。
(实施方式1)
图1是表示使用本发明的实施方式1的记录介质的家庭影院系统的示意图。在图1中,有关本发明的记录介质是BD-ROM101。如本图所示,该家庭影院系统以BD-ROM101为再现对象,包括再现装置102、电视机103、可移动(removable)介质104、及遥控器105。
BD-ROM101是只读蓝光光盘(注册商标)(BD:Blu-ray Disc)、即BD-ROM盘。BD-ROM101也可以是其他的便携(portable)记录介质、例如BD-R、或BD-RE等。
再现装置102搭载有作为依据BD-ROM方式的光盘驱动器的BD-ROM驱动器。此外,再现装置102具备安装SD存储卡、记忆棒、CF(注册商标)、Smart Media、多媒体卡、可拆装的硬盘驱动器等的可移动介质104的安装机构。
电视机103通过显示电影作品的再现影像、或显示菜单等,向用户提供交互式的操作环境。
遥控器105是再现装置102的附属物,从用户受理对再现装置102的操作,将对应于操作的指示信号向再现装置102发送。以上是关于有关本发明的记录介质及再现装置的使用形态的说明。
<BD-ROM101>
接着,对作为有关本发明的记录介质的BD-ROM101的详细情况进行说明。
图2是表示BD-ROM101上的数据构造的示意图。在本图的第4段表示BD-ROM101,在第3段表示BD-ROM上的轨道202。本图的轨道202将从BD-ROM101的内周朝向外周以螺旋状形成的轨道202在横向上拉伸而描绘。BD-ROM101与其他光盘、例如DVD或CD等同样,从其内周朝向外周以螺旋状具有记录区域,在内周的导入区(lead-in)与外周的导出区(lead-out)之间具有能够记录逻辑数据的逻辑地址空间。此外,在导入的内周侧,有称作BCA(Burst Cutting Area:突发切割区)的仅能够由驱动器读出的特别区域。该区域不能被从应用读出,所以经常被用在例如著作权保护技术等中。
本图的第2段表示由文件系统管理的逻辑地址空间。在逻辑地址空间中,从开头起记录有文件系统的卷信息,接着记录有影像数据等的应用数据。所谓文件系统,是将盘上的数据用称作目录或文件的单位来表现的构造,在BD-ROM101的情况下通过UDF(Universal Disc Format:通用盘格式)记录。在日常使用的PC(个人计算机)的情况下,也通过经由称作FAT或NTFS的文件系统用目录及文件的构造将记录在硬盘中的数据在计算机上表现,提高了可用性。通过该文件系统,能够与通常的PC同样将记录的逻辑数据使用目录、文件构造读出。
本图的第1段表示以文件系统为前提的BD-ROM101的应用格式。在本实施方式的情况下,BD-ROM101上的目录、文件构造在根目录(ROOT)之下放置有BDMV目录、CERTIFICATE目录、AACS目录等。BDMV目录是记录有由BD-ROM101处理的AV内容(content)及管理信息等的数据的目录,以下以BDMV目录为中心进行说明。
在BDMV目录的属下,存在定义构成标题的索引表的索引文件(index.bdmv)、定义动态的脚本的电影对象文件(MovieObject.bdmv)、PLAYLIST目录、CLIPINF目录、STREAM目录、BDJO目录、JAR目录、AUXDATA目录、META目录、BACKUP目录。将影像、声音等的AV内容复用并保存的AV片段(AV clip)(00001.m2ts)、保存有AV片段的管理信息的片段信息文件(00001.clpi)、定义AV片段的逻辑的再现路径的播放列表(playlist)文件(00001.mpls)、对执行哪个JAR文件及其执行方法进行定义的BDJ对象文件(00001.bdjo)、保存有BD-J应用的JAR文件(00001.jar)分别配置在上述STREAM目录、CLIPINF目录、PLAYLIST目录、BDJO目录、JAR目录、DINFO目录之下。
以下,对放置在BDMV目录属下的各文件的数据构造进行说明。
<索引文件>
首先,对索引文件(Index.bdmv)进行说明。索引文件是关于记录介质整体的管理信息,通过在向再现装置的插入后将索引表文件最先读出,盘在再现装置中被唯一地识别。索引文件还保存有表示在BD-ROM101中能够再现的多个标题的标题号码、与规定各个标题的程序文件、即BD-J对象或电影对象的对应的索引表。
如图3所示,索引表规定构成BD-ROM的标题构造的各个标题与规定动作模式的动作模式对象之间的对应。所谓标题构造是,在BD-ROM的装填时,开始向视听者的警告或伴随着内容提供商的标识(LOGOG)显示等的标题(首先播放(FirstPlay)标题)的再现,在首先播放标题的再现后,进行构成电影作品的正片的一般标题(用“1”、“2”、“3”那样的顺序号码识别的一般的标题)的再现,如果正片标题的再现结束,则再现受理标题选择的标题(顶层菜单标题),进行用户的一般标题的选择等待。
此外,顶层菜单标题在由通过遥控器的用户操作执行“返回菜单”那样的命令时被再现。电影作品与标题的关系是电影作品与其多个版本的关系。即,只有1个版本那样的电影作品为“电影作品=标题”的关系。BD-ROM的标题通过对上述那样的首先播放标题、一般标题、菜单标题分别分配规定动作模式的动作模式对象,详细地规定各个标题以怎样的动作模式动作。在索引表中,没有直接记述标题与视频流的关系,而记述标题与动作模式对象的关系,通过动作模式对象使视频流再现。这是为了规定不伴随着AV再现而仅使动作模式对象动作的标题。
<电影对象文件>
如图4所示,在电影对象文件(MovieObject.bdmv)内定义了1个以上的电影对象,各电影对象通过电影对象ID识别。电影对象是在以命令解释器(command interpreter)为控制主体的动作模式(HDMV模式)中规定再现装置应进行的控制步骤的程序文件,具有播放列表的再现的指示或命令向其他电影对象或标题的转变的1个以上的导航命令,再现装置依次执行该导航命令序列。例如,如果记述有PlayPL#N,则再现装置从PLAYLIST目录之中选择对应的播放列表的文件名并再现。此外,如果记述有例如JumpObject#N,则再现装置从电影对象文件之中选择对应的电影对象并执行。
<BDJ对象文件>
BDJ对象文件是被赋予了扩展名bdjo的程序文件(xxxxx.bdjo[″xxxxx″可变,扩展名″bdjo″固定])。BDJ对象文件保存有在BD-J模式中再现装置应进行的控制步骤的BD-J对象。BDJ对象包括应用管理表(ApplicationManagementTable()),是在BD-ROM再现时使平台部执行伴随着标题切换的应用信令(application signaling)的数据。将由应用管理表规定生命周期(lifecycle)的应用程序特别称作“BD-J应用”。ApplicationManagementTable()具体而言包括表示应执行的BD-J应用的application_id、和表示起动BD-J应用时的控制的application_control_code。application_control_code规定标题选择后的应用的最初的执行状态,能够规定是将BD-J应用装载到虚拟机中而自动开始(AUTOSTART)、还是虽然将BD-J应用装载到虚拟机中但不自动开始(PRESENT)。
<AV片段>
AV片段是被赋予了扩展名m2ts的流文件(xxxxx.m2ts[″xxxxx″可变,扩展名″m2ts″固定]),保存有MPEG-2传输流形式的数字流。
图5是表示AV片段的结构的图。如本图所示,AV片段通过将视频流、音频流、演示图形流(PG)、交互图形流(IG)中的1个以上复用而得到。视频流表示电影的主影像及副影像,音频流表示电影的主声音部分和与该主声音混合的副声音,演示图形流表示电影的字幕。这里,所谓主影像,表示在画面上显示的通常的影像,所谓副影像,表示在主影像中以较小的画面显示的影像。此外,交互图形流表示通过在画面上配置GUI部件而制作的交互画面。包含在AV片段中的各流通过PID被识别。例如,对于在电影的影像中使用的视频流分配0x1011,对于音频流分配0x1100到0x111F,对于演示图形分配0x1200到0x121F,对于交互图形流分配0x1400到0x141F,对于在电影的副影像中使用的视频流分配0x1B00到0x1B1F,对于在与主声音混合的副声音中使用的音频流分配0x1A00到0x1A1F。
图6是示意地表示将AV片段怎样复用的图。首先,将由多个视频帧构成的视频流、由多个音频帧构成的音频流(第1段)分别变换为PES包序列(第2段),再变换为源包序列(第3段)。同样,将演示图形流(PG流)及交互图形流(IG流)的数据(第7段)分别变换为PES包序列(第6段),再变换为源包(第5段)。通过将这样得到的构成视频、音频、图形的源包以其ATS的顺序排列,构成复用在1条流中的AV片段(第4段)。
图7(a)更详细地表示在PES包序列中怎样保存有视频流。图7(a)的第1段表示视频流的视频帧序列。第2段表示PES包序列。第3段表示通过将这些PES包序列变换而得到的TS包序列。如本图的箭头yg1、yg2、yg3、yg4所示,视频流中的多个作为Video Presentation Unit(视频演示单元)的I图片、B图片、P图片被按照每个图片划分而保存在PES包的有效载荷中。各PES包具有PES头,在PES头中,保存有作为图片的显示时刻的PTS(Presentation Time-Stamp:演示时戳)及作为图片的解码时刻的DTS(Decoding Time-Stamp:解码时戳)。
图7(b)表示最终写入在AV片段中的包的形式。第1段表示TS包序列,第2段表示源包序列。
如第1段所示,TS包是被分为具有识别流的PID等的信息的4字节的“TS头”和保存数据的184字节的“TS有效载荷”的固定长的包,上述说明的PES包被划分而保存在TS有效载荷中。在BD-ROM的情况下,如第2段所示,对于TS包赋予4字节的TP_Extra_Header,在变换为192字节的源包的状态下构成AV片段。在TP_Extra_Header中记载有ATS(Arrival_Time_Stamp:到达时戳)等的信息。ATS表示该TS包的向PID过滤器的传送开始时刻。在AV片段中,如第3段所示那样排列源包,将从AV片段的开头递增的号码称作SPN(源包号码)。
此外,在包含于AV片段中的TS包中,除了影像、声音、字幕等的各流以外,还有PAT(Program Association Table:节目关联表)、PMT(ProgramMap Table:节目映射表)、PCR(Program Clock Reference:节目时钟参考)等。PAT表示在AV片段中使用的PMT的PID是哪个,PAT自身的PID用0登记。PMT具有包含在AV片段中的影像、声音、字幕等的各流的PID和对应于各PID的流的属性信息,此外具有关于AV片段的各种描述符。在描述符中,有指示许可/不许可AV片段的拷贝的拷贝控制信息等。PCR为了取得作为ATS的时间轴的ATC(Arrival Time Clock:到达时间时钟)与作为PTS、DTS的时间轴的STC(System Time Clock:系统时间时钟)的同步而具有与该PCR包被传送给解码器的ATS相对应的STC时间的信息。
图8是详细地说明PMT的数据构造的图。在PMT的开头,配置有记述包含在该PMT中的数据的长度等的PMT头。在其后面配置多个关于AV片段的描述符。上述的拷贝控制信息等被作为描述符记载。在描述符的后面,配置有多个关于包含在AV片段中的各流的流信息。流信息由记载有用来识别流的压缩编解码器等的流类型、流的PID、流的属性信息(帧速率、宽高比等)的流描述符构成。流描述符以存在于AV片段中的流的数量存在。
<片段信息文件>
被赋予了扩展名clpi的片段信息文件(xxxxx.clpi[″xxxxx″可变,扩展名″clpi″固定])是与AV片段1对1地对应的管理信息,如图9所示,由片段信息、流属性信息和入口映射表构成。
片段信息如由本图的引出线eg1表示那样,包括系统速率、再现开始时刻、及再现结束时刻。系统速率表示属于对应的AV片段的TS包在再现装置内被从读缓冲器向系统目标解码器传送的速度的最高值。在AV片段中,设定源包的ATS的间隔,以将TS包的传送速度抑制为系统速率以下。再现开始时刻表示AV片段的开头的PTS、例如开头的影像帧的PTS。再现结束时刻表示从AV片段的后端的PTS延迟规定量后的STC的值、例如对最后的影像帧的PTS加上每1帧的再现时间而得到的值。
流属性信息如引出线eg2所示,将关于包含在AV片段中的各流的属性信息按照每个PID登记。属性信息具有按照视频流、音频流、演示图形流、交互图形流而不同的信息。视频流属性信息具有该视频流被怎样的压缩编解码器压缩、构成视频流的各个图片数据的分辨率是多少、宽高比是多少、帧速率是多少等的信息。音频流属性信息具有该音频流被怎样的压缩编解码器压缩、包含在该音频流中的声道数是多少、对应于什么语言、采样频率是多少等的信息。这些信息被用于再现装置再现之前的解码器的初始化等。
图10(a)是表示片段信息文件的入口映射表的图。入口映射表是记载有表示包含在AV片段内的视频流的各帧内编码图像(以下称作I图片)的显示时刻的PTS和各I图片开始的AV片段的SPN的表信息。
这里,将用表的1行表示的成对的PTS和SPN的信息称作入口点(entrypoint)信息。此外,将开头设为0,将按照每个入口点递增的值称作入口点ID(以下称作“EP ID”)。通过利用该入口点信息,如图10(b)所示,再现装置能够确定与视频流的时间轴上的任意的地点对应的AV片段的文件位置。例如,在快进、后退的特殊再现时,通过确定登记在入口点信息中的I图片并选择、再现,能够不将AV片段解析而高效率地进行处理。此外,入口点信息按照复用在AV片段内的各视频流的每个视频流而制作,通过PID管理。
<播放列表文件>
接着,对被赋予了扩展名mpls的播放列表文件(xxxxx.mpls[″xxxxx″可变,扩展名″mpls″固定])进行说明。
播放列表是表示AV片段的再现路径的。如图11所示,播放列表由1个以上的播放项目(playitem)构成,各播放项目表示对AV片段的再现区间。各播放项目分别通过播放项目ID识别,在播放列表内以应再现的顺序记述。此外,播放列表包括表示再现开始点的标记。标记可以对由播放项目定义的再现区间内赋予,对播放项目添加在可能作为再现开始点的位置,用于随机再现。例如,在电影标题中,通过将标记附加在作为章节的开头的位置,能够进行章节再现。
关于播放项目的内容使用图12进行说明。在播放项目中,包括参照的AV片段1401、再现开始时刻1402及再现结束时刻1403、连接状况1404、及流选择表1405。参照的AV片段1401将定义再现区间的AV片段用对应的片段信息文件的名称来表示。由于再现开始时刻和再现结束时刻是时间信息,所以如图13的下段所示,再现装置参照由所参照的AV片段1401表示的片段信息文件的入口映射,取得与指定的再现开始时刻及再现结束时刻相对应的SPN,确定读出开始位置,进行再现处理。另外,这里将一系列的播放项目的再现路径定义为主路径。
流选择表1405由多个流入口1409构成,流入口1409由流选择号码(No)1406、流路径信息1407、流识别信息1408构成。流选择号码1406是从包含在流选择表中的流入口1409的开头起依次递增的号码,用于再现装置中的流识别。流路径信息1407是表示由流识别信息1408表示的流被复用在哪个AV片段中的信息,例如如果是“主路径”,则表示对应的播放项目的AV片段,如果是“子路径ID=1”,则表示在该子路径ID表示的子路径中与对应的播放项目的再现区间相对应的子播放项目的AV片段。流识别信息1408是PID等的信息,表示复用在所参照的AV片段中的流。另外,在流入口1409中还同时记录有各流的属性信息。这里,所谓属性信息,是表示各流的性质的信息,例如在音频、演示图形、交互图形的情况下,包括语言属性等。
播放列表如图13所示,可以具有1个以上的子路径(sub-path)。子路径以登记在播放列表中的顺序被分配ID,作为子路径ID而用于识别子路径。子路径表示与主路径一起再现的一系列的再现路径。在子路径中,有与主路径的再现同步再现的同步型、能够与主路径的再现非同步地再现的非同步型,其类型记载在子路径类型中。子播放项目(sub-playitem)与播放项目同样,具有参照的AV片段1401和再现开始时刻1402及再现结束时刻1403。在子路径类型是同步型的情况下,子播放项目的再现开始时刻1402和再现结束时刻1403用与主路径相同的时间轴表示,而在子路径类型是非同步型的情况下,子播放项目的再现开始时刻1402和再现结束时刻1403用与主路径不同的时间轴表示。例如,在登记在播放项目#2的流选择表1405中的某个流入口1409用子路径ID=0表示演示图形1的情况下,在子路径ID=0的子路径中与播放项目#2的再现区间同步地再现的子播放项目#2的AV片段之中复用的演示图形1,在播放项目#2再现区间中被再现。此外,在登记在播放项目#2的流选择表1405中的某个流入口1409用子路径ID=2表示副影像1的情况下,在处于子路径ID=2的子路径中的子播放项目#1的AV片段之中复用的副影像1,被在播放项目#2再现区间中再现。
<JAR文件>
接着,对被赋予了扩展名jar的JAR文件(xxxxx.jar[″xxxxx″可变,扩展名″jar″固定])进行说明。
JAR文件保存在BD-J应用中。所谓BD-J应用,是在完全安装了Java(注册商标)2Micro_Edition(J2ME)Personal Basis Profile(PBP1.0)、和Globally Executable MHP specification(GEM1.0.2)for package media targets的平台部上动作的Java(注册商标)应用。
该BD-J应用经由xlet接口被Application Manager控制。xlet接口具有“loaded”、“paused”、“active”、“destroyed”的4个状态。
上述Java(注册商标)平台部包括用来显示JFIF(JPEG)或PNG、其他图像数据的标准Java(注册商标)库。因此,Java(注册商标)应用包括由GEM1.0.2规定的HAVi框架,可以实现包括GEM1.0.2的遥控导航机构的GUI框架。
由此,Java(注册商标)应用能够实现将基于HAVi框架的按钮显示、文本显示、在线显示(BBS的内容)等显示与动态图像的显示组合起来的画面显示,能够使用遥控器进行对该画面显示的操作。
构成这样的BD-J应用的一系列的文件被变换为依据记载在Http://Java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html中的规格的Java(注册商标)档案文件(archive file)。Java(注册商标)档案文件是将ZIP文件的形式为Java(注册商标)进行了特殊化的文件,可以通过市售的ZIP展开软件确认包含内容。
关于BD-J应用的动作内容的详细情况在后面叙述,但BD-J应用主要具备进行以下的5个动作的程序。
(1)经由后述的再现控制部7进行播放列表再现。这里所述的播放列表再现,是指对播放列表所管理的AV片段进行再现。
(2)从因特网等的WWW服务器取得更新套件(update kit),向本地存储器储存。
(3)将BD-ROM与更新套件组合,向虚拟文件控制部20命令虚拟文件的构建。
(4)对再现装置的寄存器组(register set)设置值。
(5)对系统目标解码器传送用于菜单或游戏的图形的PNG、JPEG,显示在画面上。
这些可以根据程序的制作而自由地进行,怎样控制由创作(authoring)工序中的BD-J应用的编程工序决定。
以上是作为有关本发明的记录介质的BD-ROM的数据构造。
<再现装置102>
接着,对有关本发明的再现装置、再现方法进行说明。
图14表示再现装置102的结构。再现装置102由BD-ROM驱动器1、读缓冲器(1)2a、读缓冲器(2)2b、本地存储器3、系统目标解码器4、平面存储器组5a、平面合成部5b、HDMI收发部6、再现控制部7、管理信息存储器9、寄存器组10、程序执行部11、程序存储器12、网络模块13、用户事件处理部17、非易失性存储器19、及虚拟文件控制部20构成。
BD-ROM驱动器1基于来自虚拟文件控制部20的请求从BD-ROM盘读出数据。将从BD-ROM盘读出的AV片段传送给读缓冲器(1)2a。从BD-ROM盘不仅是读出AV片段,还读出索引文件、电影对象文件、播放列表文件、片段信息文件、BD-J对象文件、JAR文件。将这些文件传送给虚拟文件控制部20。
读缓冲器(1)2a是由将使用BD-ROM驱动器读入的数据暂时保存的存储器等构成的缓冲器(buffer)。
本地存储器3具备用来访问硬盘的内置介质驱动器、用来访问SD存储卡等的半导体存储卡的可移动介质驱动器,用于从网络模块13等的外部I/F下载的更新套件、应用使用的数据等的保存。更新套件的保存区域被按照每个BD-ROM划分,此外,应用能够用于数据保持的区域被按照每个应用划分。储存在SD存储卡等中的更新套件等的数据被按照来自虚拟文件控制部20的请求由本地存储器3读出。读出的数据中的AV片段被传送给读缓冲器(2)2b。关于更新套件的数据构造在后面叙述,但在由本地存储器3读出的数据中,不仅是AV片段,还包括索引文件、电影对象文件、播放列表文件、片段信息文件、BD-J对象文件、JAR文件、合并管理信息。这些数据被传送给虚拟文件控制部20。
读缓冲器(2)2b是由将使用本地存储器3读入的数据暂时保存的存储器等构成的缓冲器。
系统目标解码器4对读出到读缓冲器(1)2a中的源包或读出到读缓冲器(2)2b中的源包进行解复用处理,进行将各流解码并再现的处理。此外,通过程序执行部11的指示,进行将用来显示在菜单等上的JPEG、PNG等的图形数据解码并再现的处理。关于系统目标解码器4的详细情况在后面叙述。
平面存储器组5a由多个平面存储器构成。在平面存储器中,有主影像平面、副影像平面、IG平面、PG平面、BD-J平面等的存储器。
平面合成部5b将写入在平面存储器组5a的各平面存储器中的数据瞬间叠加,将叠加后的影像数据向HDMI收发部6输出。
HDMI收发部6按照例如HDMI标准(HDMI:High DefinitionMultimedia Interface:高清多媒体接口),执行认证阶段、协商阶段,将影像数据向电视机103输出。
再现控制部7包括再现引擎7a、再现控制引擎7b,根据程序执行部11的再现命令、基于用户事件处理部17的通知,控制经由播放列表信息的AV片段的再现处理等、再现装置的再现。再现控制部7还根据再现状态的变化对寄存器组10设定更新各种播放器变量。此外,再现控制部7参照这些播放器变量,对系统目标解码器4指定解码对象的基本流,并且提供各基本流的解码所需要的信息。
再现引擎7a执行AV再现功能。所谓AV再现功能,是从DVD再现装置、CD再现装置沿袭的功能群,是再现开始、再现停止、暂停、暂停的解除、静止图像功能的解除、以立即值(immediate value)指定再现速度的快进、以立即值指定再现速度的后退、声音切换、次视频用的图片数据切换、视角切换等的处理。
再现控制引擎7b根据从作为HDMV模式的动作主体的命令解释器、作为BD-J模式的动作主体的Java平台的函数调用而执行播放列表的再现功能。所谓播放列表再现功能,是指将上述AV再现功能中的再现开始及再现停止按照构成当前播放列表的当前播放列表信息、当前片段信息进行。
管理信息存储器9是用来保存当前播放列表信息及当前片段信息的存储器。所谓当前播放列表信息,是指能够从BD-ROM或内置介质驱动器、可移动介质驱动器访问的多个播放列表信息中的、作为当前处理对象的播放列表信息。所谓当前片段信息,是指能够从BD-ROM或内置介质驱动器、可移动介质驱动器访问的多个片段信息中的、作为当前处理对象的片段信息。
再现状态/设定寄存器(Player Status/Setting Register)组10是用来存储播放器变量的寄存器组。在播放器变量的种类中,有系统参数(SPRM)、和能够保存程序文件利用的任意的信息的通用的参数(GPRM)。SPRM表示再现装置102的状态。图15是SPRM的一览表。对于各SPRM分配连续号码,对于各连续号码单独地对应着变量值。主要的SPRM的内容如以下这样。这里,括号内的数字表示连续号码。
SPRM(0):语言代码
SPRM(1):主音频流号码
SPRM(2):字幕流号码
SPRM(3):角度号码
SPRM(4):标题号码
SPRM(5):章节号码
SPRM(6):程序号码
SPRM(7):单元号码
SPRM(8):选择键信息
SPRM(9):导航定时器
SPRM(10):再现时刻信息
SPRM(11):卡拉OK用混合模式
SPRM(12):父母限制用国家信息
SPRM(13):父母限制级别
SPRM(14):播放器设定值(视频)
SPRM(15):播放器设定值(音频)
SPRM(16):音频流用语言代码
SPRM(17):音频流用语言代码(扩展)
SPRM(18):字幕流用语言代码
SPRM(19):字幕流用语言代码(扩展)
SPRM(20):播放器地区代码
SPRM(21):次视频流号码
SPRM(22):次音频流号码
SPRM(23):再现状态
SPRM(24):保留
SPRM(25):保留
SPRM(26):保留
SPRM(27):保留
SPRM(28):保留
SPRM(29):保留
SPRM(30):保留
SPRM(31):保留
SPRM(10)表示解码处理中的图片的PTS,每当该图片被解码并被写入到主影像平面存储器中时被更新。因而,只要参照SPRM(10),就能够得知当前的再现时点。
SPRM(16)的音频流用语言代码及SPRM(18)的字幕流用语言代码表示再现装置102的默认的语言代码。它们也可以利用再现装置102的OSD等使用户变更,也可以通过程序执行部11使应用程序进行变更。例如,当SPRM(16)表示“英语”时,再现控制部7在播放列表再现处理中,首先从PI内的流选择表中检索包括“英语”的语言代码的流入口。接着,从该流入口的流识别信息中提取PID,传递给系统目标解码器4。由此,将该PID的音频流通过系统目标解码器4选择、解码。这些处理可以利用电影对象文件或BD-J对象文件使再现控制部7执行。
此外,再现控制部7在再现处理中一边检查设定在播放器变量中的值一边控制再现。再现控制部7特别将SPRM(1)、SPRM(2)、SPRM(21)、及SPRM(22)更新。它们依次表示处理中的音频流、字幕流、次视频流、及次音频流的各流号码。设想例如由程序执行部11变更了表示音频流的STN的SPRM(1)时。再现控制部7此时首先在当前时点从再现处理中的PI内的STN表中检索包含变更后的SPRM(1)表示的STN的流入口。再现控制部7接着从该流入口内的流识别信息中提取PID,传递给系统目标解码器4。由此,将该PID的音频流通过系统目标解码器4选择并解码。这样,能够切换再现对象的音频流。同样,也可以切换再现对象的字幕及次要视频流。
程序执行部11包括HDMV模块13、BD-J平台14、中间件15、模式管理模块16,是执行保存在BD程序文件中的程序的处理器。
HDMV模块13是作为HDMV模式的动作主体的DVD虚拟播放器,为HDMV模式的执行主体。本模块具备命令解释器,通过将构成电影对象的导航命令解读并执行,从而执行HDMV模式的控制。导航命令由于用与DVD-Video相似那样的句法记述,所以通过执行该导航命令,能够实现类似DVD-Video的再现控制。
BD-J平台14是作为BD-J模式的动作主体的Java平台,完全安装有Java2Micro_Edition(J2ME)Personal Basis Profile(PBP 1.0)、和GloballyExecutable MHP specification(GEM1.0.2)for package media targets,由类装载器、字节码解释器、应用管理器构成。BD-J平台14根据所执行的BD-J应用实现各种功能。
类装载器(class loader)是系统应用之一,从存在于JAR档案文件中的类文件中读出字节码,通过保存到堆存储器中,执行BD-J应用的装载。
字节码解释器是所谓的Java虚拟机,将构成保存在堆存储器中的BD-J应用的字节码、构成系统应用的字节码变换为本机码(native code),使MPU执行。
应用管理器是系统应用之一,基于BD-J对象内的应用管理表起动BD-J应用或结束BD-J应用等,进行BD-J应用的应用信令。以上,结束对BD-J平台部的内部结构的说明。
中间件15是用于装入软件的操作系统,由内核、设备驱动器构成。内核根据来自BD-J应用的应用编程接口(API)的调用,对BD-J应用提供再现装置特有的功能。此外,实现通过中断信号起动中断处理器(interruption handler)等的硬件控制。
模式管理模块16保持从BD-ROM或内置介质驱动器、可移动介质驱动器读出的Index.bdmv,进行模式管理及分支控制。基于模式管理模块的模式管理是指使BD-J平台14、HDMV模块13的哪个执行动态脚本的模块的分配。
程序存储器12是保存有从虚拟文件控制部20传送的当前动态脚本、供作为HDMV模式的动作主体的HDMV模块、作为BD-J模式的动作主体的Java平台的处理的存储器。所谓当前动态脚本,是指记录在BD-ROM中的Index.bdmv、BD-J对象、电影对象中的作为当前执行对象者。此外,程序存储器12包括堆存储器。堆存储器是配置系统应用的字节码、BD-J应用的字节码、系统应用所利用的系统参数、BD-J应用所利用的应用参数的堆栈区域。
网络模块13是控制与外部网络之间的数据通信的模块,接受程序执行部11的控制,从因特网等的WWW服务器取得更新套件,向本地存储器传送。
用户事件处理部17响应于通过遥控器的用户操作,对程序执行部11或再现控制部7委托处理的执行。例如,在遥控器上按下了按钮的情况下,对程序执行部11委托以使其执行包含在该按钮中的命令。例如,在遥控器上按下了快进/后退按钮的情况下,对再现控制部7命令对当前再现的播放列表的AV片段的快进/后退处理的执行。
非易失性存储器19是能够读写的存储器等的记录介质,是即使没有被供给电源也能够保持记录内容的介质、例如闪存存储器、FeRAM等。它用于寄存器组10的存储内容的备份。
虚拟文件控制部20控制BD-ROM驱动器1、本地存储器3而实现虚拟文件系统的功能。所谓虚拟文件系统的功能,是虚拟包的构建、以及经由虚拟包的向ROM盘及本地盘上的文件的访问控制。所谓虚拟包,是基于保存在本地存储器3中的合并管理信息、将记录在ROM盘中的内容与保存在本地存储器3中的更新套件在存储器上进行组合之后的虚拟的BD-ROM包。制作出的虚拟包具有与BD-ROM的数据构造相同的形式。可以不仅对已有的ROM盘追加文件,还能将ROM盘上的已有文件用本地存储器上的文件替换。由虚拟文件控制部20进行的虚拟包构建以BD-ROM盘的插入、或程序执行部11的虚拟文件制作命令为触发事件,在标题再现的切换等标题再现停止的定时执行。关于虚拟包的构建、以及经由虚拟包的文件访问控制的详细情况在后面叙述。
接着,参照图16对系统目标解码器4进行说明。
源解包器(source depacketizer)对传送给系统目标解码器4的源包进行解释,取出TS包,向PID过滤器送出。在该送出时,根据各源包的ATS调节向解码器的输入时刻。具体而言,在ATC计数器生成的ATC的值与源包的ATS值变为相同的瞬间,按照AV片段的记录速率,仅将该TS包向PID过滤器传送。
PID过滤器将从源解包器输出的TS包中的、TS包的PID与再现所需要的PID一致的TS包按照PID向主影像视频解码器、副影像视频解码器、IG解码器、PG解码器、声音解码器、副声音解码器传送。例如,在BD-ROM的情况下,在包含在TS包中的PID是0x1011的情况下向主影像视频解码器传送,在PID是0x1B00到0x1B1F的情况下向副影像视频解码器传送,在PID是0x1100到0x111F的情况下向主声音解码器传送,在PID是0x1A00到0x1A1F的情况下向副声音解码器传送,在PID是0x1200到0x121F的情况下向PG解码器传送,在PID是0x1400到0x141F的情况下向IG解码器传送。
如图16所示,源解包器和PID过滤器分别具有两个,一个处理从读缓冲器(1)传送来的AV片段,一个处理从读缓冲器(2)传送来的AV片段。在子路径类型是同步型的情况下,从主路径参照的AV片段和从子路径参照的AV片段一边取同步一边再现。在子路径类型是非同步型的情况下,从主路径参照的AV片段和从子路径参照的AV片段非同步地再现。
主影像视频解码器具有缓冲器,通过一边在缓冲器中储存数据、一边将TS头、PES头等的信息去除,将处于编码状态的图片(I图片、B图片、P图片)取出,将视频流的各个帧图像按照规定的每个解码时刻(DTS)解码,制作多个帧图像,以显示时刻(PTS)的定时向主影像平面输出。在复用在AV片段中的视频流的压缩编码形式中有MPEG2、MPEG4 AVC、VC1等,所以根据流的属性切换压缩影像的解码方式。
副影像视频解码器具有与主影像视频解码器同样的结构,进行输入的副影像视频流的解码,以显示时刻(PTS)的定时将图片写出到副影像平面上。
IG解码器从由源解包器输入的TS包中提取交互图形流并解码,将非压缩的图形数据以显示时刻(PTS)的定时写出到IG平面上。
PG解码器从由源解包器输入的TS包中提取演示图形流并解码,将非压缩的图形数据以显示时刻(PTS)的定时写出到PG平面上。
主声音解码器具有缓冲器,一边将数据储存到缓冲器中,一边将TS头、PES头等的信息去除,进行声音流解码处理,得到非压缩的LPCM状态的音频数据,以再现时刻(PTS)的定时向声音混合器输出。在复用在AV片段中的音频流的压缩编码形式中有AC3、DTS等,所以根据流的属性切换压缩声音的解码方式。
副声音解码器具有与主声音解码器同样的结构,进行输入的副声音流的解码,以显示时刻的定时将非压缩的LPCM的状态的音频数据向声音混合器输出。在复用在AV片段中的音频流的压缩编码形式中有Dolby DigitalPlus、DTS-HD LBR等,所以根据流的属性切换压缩声音的解码方式。
声音混合器将从主声音解码器输出的非压缩声音数据与从副声音解码器输出的非压缩声音数据混合(声音的叠加),向扬声器等输出。
BD-J处理器将从程序执行部11传送的图形数据(PNG、JPEG)解码,按照从BD-J应用指定的显示时刻向BD-J平面输出。
以上是再现装置的内部结构。
<虚拟文件系统>
对虚拟文件系统中的虚拟包的构建、以及虚拟包上的文件访问进行说明。
虚拟包由记录在BD-ROM101中的文件、和记录在安装于本地存储器3中的SD存储卡104中的更新套件构建。首先,对记录在SD存储卡104中的更新套件的数据构造进行说明。
<更新套件>
图17是表示SD存储卡104中的更新套件的保存区域的图。在SD存储卡104中的更新套件的保存区域中,通过OrgID目录、DiscID目录,将各更新套件的保存区域按照每个BD-ROM划分。更新套件保存区域根目录存在于SD存储卡104的根目录之下,是表示更新套件保存区域的根的目录,是目录名分发介质字符以内的固定值(BD BUDA)。
OrgID目录是将记载在BD-ROM记录层上的BD管理信息(索引文件)中的、确定电影作品的提供商的32比特的识别符(OrganizationID)用16进制表述进行表示的8个字符的名称的目录。此外,OrganizationID的开头的连续的0从目录的名称中省略。例如,在OrganizationID是0x0000001A的情况下,目录的名称为“1A”。
DiscID目录是将记载在BD-ROM记录层上的BD管理信息(索引文件)中的、确定BD-ROM记录层的128比特的识别符(DiscID)从开头起每32比特分为4份、分别用16进制表述进行表示的目录。此外,与OrganizationID同样,DiscID的开头的连续的0从目录的名称中省略。
在DiscID目录的属下,按照每个更新套件制作更新套件目录,在其属下存在各更新套件。在图17的例子中,在“0123456789abcdef0123456789abcdef”的目录名的DiscID目录属下保存有“Update01”的名称的更新套件。
更新套件包括合并管理信息文件(bumf.xml)、签名信息文件(merge.sf)、状态信令文件(vp_unit.info)、及其他追加内容数据文件(game.bdjo、game.jar、resources.jar、jun_01.m2ts、jun_01.clpi、jun_01.mpls、jpn_sub.m2ts、jpn_sub.clpi等)。
合并管理信息文件(bumf.xml)如图18所示,保存有OrganizationID、DiscID和映射信息。映射信息是将用来构成虚拟包的追加内容数据文件、及状态信令文件的SD存储卡104中的文件路径(以下称作本地存储器文件路径)、和在虚拟文件系统上用来向这些文件访问的虚拟的文件路径(以下称作VFS文件路径)建立对应的表。具体而言,如图18所示,在映射信息中,本地存储器文件路径以自更新套件目录起的相对路径记载,VFS文件路径以自盘根目录起的相对路径记述。进而,在合并管理信息文件中,保存有映射信息所示的各追加内容数据文件的散列(hash)值。
签名信息文件是表示提供商对合并管理信息文件的电子的签名的文件,以merge.sf的文件名存在于更新套件目录之下。电子的签名一般使用对需要防止篡改的信息计算散列值、将散列值用某种私钥加密的值。在本实施方式的签名信息文件中,利用与处于BD-ROM记录层上的合并证书中的公钥对应的私钥将合并管理信息文件的散列值加密。
合并证书是在合并管理信息文件的认证中使用的证书,包含提供商公开的公钥。提供商提供的合并证书以bd.cert的文件名保存在BD-ROM记录层上。作为合并证书的文件形式的一例,可以使用X.509。
追加内容数据文件是对记录在BD-ROM记录层中的原始的内容追加/更新的内容的文件群。在其中可以包括播放列表文件、AV片段、片段信息文件、电影对象文件、BDJ对象文件、JAR文件、索引文件等。
状态信令文件是在有关本发明的再现装置中在由BD-J应用进行的虚拟包构建状态判断中使用的文件。在哪个更新套件中,状态信令文件的VFS文件路径都在合并管理信息文件中被分配图18所示的固定路径“BDMV/JAR/11111/VFSData.info”。在BD-ROM的创作工序中,禁止在BD-ROM上制作相当于该“BDMV/JAR/11111/VFSData.info”的文件路径的文件。
另外,在虚拟包构建状态判断的用途中,对于状态信令文件的内容没有特别限制,在本实施方式中作为状态信令文件而使用表示更新套件的内容的VP信息文件(vp_unit.info)。图19是表示有关本实施方式的状态信令文件的内容的图。具体而言,在状态信令文件中,记录有对象ROM盘的OrganizationID、对象ROM盘的DiscID、更新套件的识别符、更新套件的名称、版本号码、包含在更新套件中的数据的详细情况、代表更新套件的图像的文件名、以及代表更新套件的各语言的文本信息。通过这些信息,能够容易地取得更新套件的版本及包含在更新套件中的数据的详细的内容。另外,记录在图19的文件中的信息也可以根据需要而追加或删除。例如,对象ROM盘的OrganizationID、DiscID等也可以删除,也可以使得能够记录多个。此外,记录这些信息的状态信令文件的形式既可以是文本形式,也可以记录在XML(Extensible Markup Language:可扩展标记语音)形式、二进制形式等的其他形式的文件中。
<虚拟包的构建>
接着,对虚拟文件控制部20基于合并管理信息文件的具体内容物,由记录在BD-ROM101中的内容和记录在SD存储卡104中的内容构建虚拟包的过程进行说明。
虚拟文件控制部20通过以下(1)至(5)的次序构建虚拟包。
(1)合并管理信息文件的篡改判断
合并管理信息文件的篡改判断为,根据合并管理信息文件计算散列值,与使用处于BD-ROM记录层上的合并证书中的公钥将由签名信息文件表示的合并管理信息文件的散列值解密后得到的值进行比较。在这些值一致的情况下判断为合并管理信息文件没有被篡改。
(2)追加内容数据文件的存在确认
在合并管理信息文件没有被篡改的情况下,确认在映射信息中表示的本地存储器文件路径中存在各追加内容数据文件。
(3)追加内容数据文件的篡改判断
根据各追加内容数据文件计算散列值,将这些值与记录在映射信息中的各追加内容数据文件的散列值比较。在这些值一致的情况下判断为追加内容数据文件没有被篡改。
(4)将追加内容数据文件向只读属性变更
在由映射信息表示了对应关系的各追加内容数据文件没有被篡改的情况下,将追加内容数据文件向只读属性变更。
(5)向VFS文件路径的分配
将合并管理信息文件的映射信息读入,制作将更新套件的各文件向由映射信息表示的VFS文件路径分配的盘镜像(disc image),向再现控制部7及程序执行部11提供。
图20是表示基于图18所示的合并管理信息文件,对图2所示的BD-ROM101的文件结构组合图17所示的更新套件的文件结构而构建的虚拟包的文件结构的图。在本图中用粗框表示的目录及文件是实际记录在SD存储卡104中的。
图21是表示由虚拟文件系统实现的虚拟包的内容的一例的图。在图21中,在ROM盘上记录有电影正片、奖励影像,在本地存储器上记录有日语字幕、新作电影的预告片、关于奖励游戏的文件、以及作为状态信令文件使用的VP信息文件。通过在这样的情况下构建虚拟包,虚拟文件系统能够执行影像的输出及画面显示,以使ROM盘上的电影正片、奖励影像、和本地存储器上的日语字幕、新作电影的预告片、奖励游戏、VP信息文件宛如记录在1个盘中。
<向虚拟包的访问控制>
通过以上的步骤构建虚拟包,然后,虚拟文件控制部20对来自再现控制部7及程序执行部11的VFS文件路径下的访问请求,参照映射信息确定记录有实体的文件的记录介质,向BD-ROM驱动器1及本地存储器3的某个命令数据读出。
具体而言,在从再现控制部7及程序执行部11指定虚拟包上的文件路径而进行了读出命令的情况下,虚拟文件控制部20参照映射信息,检索指定的文件路径是否记载在映射信息的VFS文件路径中。这里,在指定的文件路径在映射信息的VFS文件路径中没有记载的情况下,虚拟文件控制部20判断为指定文件的实体记录在BD-ROM101中,将虚拟包上的文件路径变换为BD-ROM101上的文件路径,向BD-ROM驱动器1传送读出命令。另一方面,在指定的文件路径记载在映射信息的VFS文件路径中的情况下,虚拟文件控制部20判断为指定的文件的实体记录在SD存储卡104中,将虚拟包上的文件路径用通过映射信息建立了对应的本地存储器文件路径来进行变换,向本地存储器3传送读出命令。由此,再现控制部7及程序执行部11能够用虚拟包上的文件路径对SD存储卡104上的追加内容数据文件、及状态信令文件进行访问。这样,与包含在ROM盘中的数据同样,在进行追加在SD存储卡104上的字幕、声音、影像等的再现的情况下,再现控制部7及程序执行部11对虚拟文件控制部20请求上述文件访问,虚拟文件控制部20对ROM盘或SD存储卡104上的文件传送访问命令。即,在进行字幕、声音、影像等的再现的情况下,再现控制部7及程序执行部11经由虚拟文件控制部20对ROM盘或本地存储器上的文件进行访问。
另外,在没有构建虚拟包的状态下从再现控制部7及程序执行部11指定虚拟包上的文件路径而进行了读出命令的情况下,虚拟文件控制部20由于没有参照的合并管理信息文件,所以将虚拟包上的文件路径变换为BD-ROM101上的文件路径,向BD-ROM驱动器1传送读出命令。
<虚拟包的构建状态>
在虚拟包的构建状态中,可以考虑在安装在本地存储器3中的SD存储卡104中没有记录更新套件的状态、在SD存储卡104中记录有更新套件但虚拟文件控制部20没有完成虚拟包构建的状态、以及在SD存储卡104中记录有更新套件并且虚拟文件控制部20完成了虚拟包构建的状态的3种。
其中的第1种状态由于原本不存在更新套件,所以不能进行向更新套件的文件的访问。但是,在第2个状态和第3个状态下,BD-J应用通过用read命令直接指定SD存储卡上的文件路径,能够对更新套件的文件进行访问。所以,判断这两个状态的差异是重要的。以下,将在SD存储卡104中记录有更新套件、但虚拟文件控制部20没有完成虚拟包构建的状态设为虚拟包是“准备状态”,将在SD存储卡104中记录有更新套件、虚拟文件控制部20完成了虚拟包构建的状态设为虚拟包是“有效状态”。
参照图22说明虚拟包的准备状态及有效状态在怎样的情况下发生。首先,准备状态是在图中的st3及st2发生的状态。st3的状态在从使用记录在SD存储卡104中的更新套件一度构建了虚拟包的状态(st4)起、SD存储卡104被从本地存储器3拆下而虚拟包被解除后(st0)、SD存储卡104被再安装到本地存储器3中时(st3)发生。通常,此后虚拟文件控制部20等待标题的切换,通过在下个标题再现开始前再构建虚拟包,虚拟包成为有效状态(st4)。
在st2中成为准备状态的情况,在从一度构建了虚拟包的状态(st4)起、SD存储卡104被从本地存储器3拆下而虚拟包被解除后(st0)、BD-J应用被起动(st5)、然后SD存储卡104被再安装到本地存储器3中时(st2)发生。在此情况下,虚拟文件控制部20等待伴随着标题的切换的BD-J应用的停止,通过在BD-J应用再起动之前的时点再构建虚拟包,虚拟包成为有效状态(st4)。
如以上那样,准备状态是在伴随着记录有更新套件的SD存储卡104的拆下/再安装的虚拟包的再构建过程中、从再安装起到进行标题切换为止的期间发生的状态。
另外,虚拟包构建过程中的(3)的步骤有处理负荷较大的情况。例如,在更新套件中包含有AV片段等的尺寸较大的文件的情况下,该文件的散列值计算成为负荷较大的处理。每当记录有更新套件的SD存储卡104的拆下/再安装时需要虚拟包的再构建,但每次执行这样的负荷较大的处理,从硬件资源的利用效率提高的观点看并不优选。所以,也可以考虑进行安装,以使虚拟包构建过程中的(1)至(4)的步骤仅在初次的虚拟包时执行,在虚拟包再构建时仅执行(5)的步骤。此外,(1)至(4)的步骤不给BD-ROM101的标题再现带来影响,所以能够与BD-ROM101的标题再现并行地执行。相对于此,(5)的步骤一定需要在标题再现停止的状态下执行。因而,也可以看作已进行到(4)的阶段的状态是准备状态、而执行了(5)的步骤的状态是有效状态。
<虚拟包的构建状态判断>
以下,对判断虚拟包的构建状态是准备状态和有效状态的哪个的方法进行说明。
图23是说明BD-J应用具有的虚拟包构建状态判断功能的图。
在BD-J应用中,在创作工序中的BD-J应用的编程工序中装入了状态信令文件位置信息21。状态信令文件位置信息21是在更新套件的合并管理信息文件中对状态信令文件分配的VFS文件路径。对状态信令文件分配的VFS文件路径是在哪个更新套件中都共用的预先决定的固定文件路径,在本实施方式中使用“BDMV/JAR/11111/VFSData.info”。
虚拟包构建状态判断部22指定由状态信令文件位置信息21表示的文件路径而尝试读出命令,根据其成功与否判断虚拟包的构建状态。具体而言,在读出命令成功的情况下判断为虚拟包是有效状态,在读出命令为错误的情况下,判断为虚拟包是准备状态。
实际上,如果虚拟包是有效状态,则在虚拟包上被分配状态信令文件31,虚拟文件控制部20将由读出命令指定的路径变换为本地存储器文件路径,向本地存储器3传送读出命令,所以状态信令文件的读出成功。反之,如果虚拟包是准备状态,则虚拟文件控制部20将由读出命令指定的路径变换为BD-ROM101上的文件路径,向BD-ROM驱动器1传送读出命令。但是,在BD-ROM的创作工序中,由于禁止在BD-ROM上制作与“BDMV/JAR/11111/VFSData.info”的文件路径相对应的文件,所以在BD-ROM101上不可能存在同名的文件,读出命令必定为错误。
虚拟包构建状态判断部22的判断结果例如由菜单显示部23等利用,根据虚拟包的构建状态进行适当的菜单显示。
另外,在再现装置中在本地存储器3中没有插入SD存储卡的情况下,当然状态信令文件的读出命令也必定为错误。在这样的情况下也可以判断为虚拟包是准备状态。
以上那样的功能也可以通过将图24、图25的流程图所示的处理步骤用面向对象型编译器语言记述并使计算机执行来实现。
图24表示菜单显示控制步骤。本流程图在步骤S1中实施虚拟包构建状态判断,在判断的结果为虚拟包是有效状态的情况下(步骤S2:是),在显示菜单画面时,许可将包含在更新套件中的追加内容调出的按钮、例如“Game”按钮的显示(步骤S3)。另一方面,在判断的结果为虚拟包是准备状态的情况下(步骤S2:否),在显示菜单画面时,抑制将追加内容调出的“Game”按钮的显示(步骤S4)。
图25表示虚拟包构建状态判断处理的处理步骤。本流程图在步骤S11中,根据记录在再现装置内置的记录介质中的Profile(配置)信息等判断正执行BD-J应用的再现装置是否是对应于虚拟文件系统功能的装置。如果是对应于虚拟文件系统功能的装置(步骤S11:是),则将状态信令文件位置信息21读出,取得对状态信令文件分配的固定VFS文件路径(步骤S12)。通过使用该固定VFS文件路径向虚拟文件控制部20发出读出命令,判断状态信令文件是否存在于虚拟包上(步骤S13)。在指定固定VFS文件路径而将状态信令文件读出的情况下,判断为虚拟包是有效状态(步骤S14),在指定固定VFS文件路径而不能将状态信令文件读出的情况下,判断为虚拟包是准备状态(步骤S14)。
图25所示的处理在执行BD-J应用的期间中反复被执行。由于指定固定VFS文件路径、按照能否进行状态信令文件的访问的判断结果能够正确地判断虚拟包为准备状态还是有效状态,所以能够防止因BD-J应用误判断虚拟包构建状态而发生误动作那样的状况。
另外,虚拟包构建状态判断处理也可以在BD-J应用刚起动后进行。通过这样,能够减少向状态信令文件的访问次数。能够减少访问次数的理由是因为,虚拟包构建完成的定时被限定于BD-J应用起动前的时点,不会有在BD-J应用的动作中虚拟文件系统的构建完成的情况,所以在BD-J应用的刚起动后实施的判断结果在应用结束之前的期间中不会变化。因而,通过将在BD-J应用刚起动后实施的判断结果保存、贯穿BD-J应用的动作期间地加以使用,能够减少为了判断虚拟包构建状态而对本地存储器上的状态信令文件访问的次数。由此,能够使BD-J应用的处理高速化。
以上是关于判断虚拟包的构建状态是准备状态和有效状态的哪个的方法的说明。另外,进行图24、25的流程图所示的处理步骤的主体也可以是虚拟文件控制部20。此外,也可以做成在再现装置中设置其他的控制部、该控制部进行图24、25所示的处理步骤那样的结构。
或者,作为程序执行部11的中间件提供的API,也可以做成通过安装图24、25的流程图所示的处理步骤、从虚拟文件控制部20或设在再现装置中的其他控制部对BD-J应用提供虚拟包是否处于有效状态那样的结构。
此外,也可以将图24、25的流程图所示的处理步骤记载在BD-J应用的源代码中,通过执行这样的BD-J应用而使程序执行部11执行这些处理步骤。
<BD-J应用的动作例>
图26是以时间序列表示介质向本地存储器3的安装状态、标题的再现状态、实际的虚拟包构建状态、以及BD-J应用进行的构建状态判断结果的图。这里执行的BD-J应用具有从网络等取得图21所示那样的更新套件、请求虚拟包的构建、并显示对应于虚拟包构建状态的奖励选择菜单的功能。此外,在作为BD-J应用的实体的JAR文件中,包含有用来显示图27的(a)、(b)所示的奖励选择菜单的PNG文件。
首先,在图26的t0在本地存储器3中插入SD存储卡后,在t1,将记录在BD-ROM中的BD-J应用起动。在该时点,由于在SD存储卡中没有记录有更新套件,所以在图22所示的状态转变图中,成为从t0时点的状态st0向st1的转变、进一步向应用起动的状态st2转变。这里,执行通过BD-J应用进行的虚拟包构建状态判断,但在从图26的t1到t2的期间中没有构建虚拟包,在通过BD-J应用的虚拟包构建状态判断中判断为准备状态。因此,在该期间中显示奖励选择菜单的情况下,BD-J应用作为选择分支而显示作为仅包含“Making”(制作)按钮和“Trailer”(预告片)按钮的奖励功能菜单的图27(b)的菜单。这些按钮是需要向ROM盘上的电影正片、奖励影像的访问的。在图27(b)的奖励选择菜单中,由于不存在将新作电影的预告片再现的选择分支和用来执行奖励游戏的选择分支,所以用户不能执行新作电影的预告片的再现及奖励游戏。
如果在虚拟包构建状态判断中判断为准备状态,则BD-J应用将安装在本地存储器3中的SD存储卡用本地文件路径访问,判断是否记录有更新套件,如果没有记录更新套件,则经由网络模块下载更新套件。在取得更新套件后,BD-J应用使更新套件记录在本地存储器3中。然后,BD-J应用对虚拟文件控制部20请求虚拟文件系统构建的指示。
对虚拟文件控制部20请求虚拟文件系统的制作的BD-J应用,对程序执行部11请求再现中标题的停止/再开始。将再现中标题停止/再开始的理由是因为,虚拟文件系统的构建完成的定时被限定在开始标题再现之前的时点。即,即使在BD-J应用的起动中虚拟文件控制部20指示了虚拟文件系统的构建,如果标题再现一度停止而没有再开始再现,则虚拟包的构建没有完成。换言之,用于虚拟文件系统的构建完成的条件,是在开始标题再现之前、虚拟文件控制部20能够将记录在本地存储器上的规定的位置中的合并管理信息文件与对应于该合并管理信息文件(在合并管理信息文件中有记载)的更新套件的追加内容数据文件读入。结果,在图26的t2再现中的标题停止,接着在t3再开始标题再现时,虚拟包的构建完成。在图22所示的状态转变图中,通过伴随着标题再现停止的BD-J应用的停止,从状态st2向状态st3转变,进而在标题再现的再开始时向虚拟包构建完成的状态st4转变。这里,如果通过在再现再开始了的标题内起动的BD-J应用来执行虚拟包构建状态判断,则在图26的t3到t4的期间中,判断为虚拟包是有效状态。因此,在该期间中显示奖励选择菜单的情况下,BD-J应用作为选择分支而显示作为除了“Making”按钮和“Trailer”按钮以外还包括“Trailer New”(新预告片)按钮和“Game”(游戏)按钮的奖励功能菜单的图27的(a)的菜单。此时,如果用户选择“Trailer New”,则将追加在本地存储器上的新作电影的预告片再现,如果选择“Game”,则通过执行对本地存储器上追加的奖励游戏,ROM盘上的电影正片、奖励影像、和本地存储器上的日语字幕、新作电影的预告片、奖励游戏宛如用1个盘记录那样动作。
这里,在虚拟包的构建完成的状态下,如果在图26的t4从本地存储器3拆下SD存储卡,则再现中的标题被停止,BD-J应用被强制结束。并且,如果在保持从本地存储器3拆下SD存储卡不变的状态下开始标题再现,则成为在虚拟包的构建没有完成的状态下执行了再现中标题的BD-J应用的状态。在图22所示的状态转变图中,通过SD存储卡的拆下,从状态st4向状态st0转变。通过从那里再开始标题再现,向状态st5转变。
用于虚拟包构建完成的条件如上述那样,是在开始标题再现之前、虚拟文件控制部20能够将与记录在SD存储卡上的规定的位置中的合并管理信息文件相对应的更新套件读入。但是,在本图的例子中,在再开始标题再现的t5之前的时点,从本地存储器将SD存储卡拆下。因而,在开始标题再现之前,不存在与合并管理信息文件对应的更新套件,所以在开始标题再现之前,不能将记录在本地存储器上的规定的位置上的合并管理信息文件和对应的更新套件读入。由此,在该状态下,即使在t6将刚才拆下的SD存储卡再插入到本地存储器中,由于标题是再现中,所以虚拟包的再构建也没有完成。在图22所示的状态转变图中,通过SD存储卡的再安装,从状态st5向状态st2转变。
这里,在图35所示的现有技术中,通过在t6再安装SD存储卡,BD-J应用能够直接指定SD存储卡的本地地址而向记录在SD存储卡中的更新套件访问,所以BD-J应用误判断为是虚拟包的构建完成的有效状态。如果以状态转变图进行说明,则现有技术的BD-J应用通过SD存储卡的再安装,误判断为从状态st5如虚线箭头a1所示那样向状态st4进行了转变。因此,在现有技术的BD-J应用中,尽管虚拟包是准备状态,但显示了作为虚拟包是有效状态的情况下的奖励功能菜单的图27(a)的菜单,引起了菜单显示内容与显示内容附带的动作之间没有取得匹配性的异常状况。
相对于此,有关本实施方式的BD-J应用通过以图25所示的处理步骤执行利用了状态信令文件的虚拟包构建状态判断,在图26的t6到t7的期间中,能够正确地判断虚拟包是准备状态。因此,在该期间中显示奖励选择菜单的情况下,BD-J应用显示作为虚拟包是准备状态的情况下的奖励功能菜单的图27(b)的菜单。这样,即使是通过使用现有技术的BD-J应用可能发生异常状况的情况,根据有关本实施方式的BD-J应用,也不将选择需要向包含在更新套件中的追加内容数据文件进行访问的处理的按钮显示在奖励功能菜单上,能够保持菜单显示内容与显示内容所附带的动作之间的匹配性。
然后,如果在t7中使标题再现暂时结束、在t8中再开始标题再现,则在开始标题再现之前进行虚拟包的构建。因此,在标题再现再开始后,虚拟包的构建完成,在通过再现中标题内的BD-J应用进行的虚拟包构建状态判断中也判断为有效状态。因而,显示作为奖励选择菜单的选择分支而包含有执行奖励游戏的“Game”按钮的图27(a)的菜单。
如以上那样,根据本实施方式,由于能够正确地判断虚拟包构建状态,所以在从对本地存储器3再安装SD存储卡到BD-J应用的停止的期间中等,能够防止在BD-J应用中发生误动作。
此外,在本实施方式1中,将对状态信令文件分配的VFS文件路径设为预先决定的固定文件路径。因此,BD-J应用能够总是使用相同的文件路径正确地判断虚拟包构建状态。通过将状态信令文件的VFS文件路径作为固定文件路径,还使得由一个应用利用多个更新套件、以及由多个应用利用相同的更新套件变得更容易。
另外,为了步骤S13的判断而使用的文件只要是在合并管理信息中记载有VFS文件路径的对应关系的文件就可以,也可以是与图19所示的文件形式不同的文件,例如如状态信令文件那样属于更新套件的其他文件、或另外记录在再现装置内置的记录介质中的文件或BD-J应用内的数据文件。在使用记录在再现装置内置的记录介质中的文件或BD-J应用内的数据文件来进行判断的情况下,需要在更新套件的下载时将该文件与更新套件一起记录到本地存储器中。
另外,如果状态信令文件是AV数据形式,则有在访问时该AV数据被再现、发生不良状况的情况。所以,如果将该状态信令文件做成文本文件,则在访问判断时不会被实际再现,所以不发生不良状况。此外,通过使在该判断中使用的文件的尺寸尽可能小,能够缩短文件取得及访问所需要的时间等,能够高速地执行BD-J应用的处理。
此外,在使用另外记录在再现装置内置的记录介质中的文件或BD-J应用内的数据文件进行步骤S27的判断的情况下,需要预先准备能够对该文件访问的VFS文件路径信息,以便BD-J应用能够利用。该VFS文件路径信息既可以从合并管理信息参照,也可以记录在再现装置内或BD-J应用内。
(实施方式2)
在实施方式1中,对1个BD-J应用使用1个更新套件构建了虚拟包。但是,也可以通过准备对应于同一个BD-J应用的多个更新套件,从而从1个BD-J应用构建多个种类的虚拟包。在本实施方式2中,对使用多个更新套件从1个BD-J应用构建多个种类的虚拟包的状况下的本发明的实施方式进行说明。
图28是表示在SD存储卡104中记录有对应于同一个BD-J应用的2个更新套件的情况下的数据构造的图。SD存储卡104的更新套件保存区域被按照每个BD-ROM划分,在本图所示的例子中,在关于“0123456789abcdef0123456789abcdef”的DiscID的BD-ROM的DiscID目录属下,记录有“Update01”和“Update02”的2个更新套件。
在Update01的更新套件目录属下,配置有关于Update01更新套件的合并管理信息文件41和状态信令文件42。此外,尽管在本图中没有图示,但关于该更新套件追加的内容的追加内容数据文件也配置在更新套件目录属下。
在Update02的更新套件目录中也同样,在属下配置有关于Update02更新套件的合并管理信息文件43和状态信令文件44、和关于该更新套件追加的内容的追加内容数据文件。
这里,Update01的状态信令文件42、Update02的状态信令文件44分别以图19的格式记载有关于所属的更新套件的内容的信息。
此外,合并管理信息文件41、合并管理信息文件43都在映射信息中,在状态信令文件的本地存储器文件路径中相对应地表示了相同的VFS文件路径“BDMV/JAR/11111/VFSData.info”。
图29是示意地表示使用Update01及Update02构建的虚拟包的图。在本图所示的例子中,在ROM盘上记录有电影正片、奖励影像。此外,作为Update01,在SD存储卡上记录有关于日语字幕、新作电影的预告片、奖励游戏的文件,作为Update02,在SD存储卡上记录有关于中文字幕、面向中国的电影的预告片的文件。作为在这样的情况下能够构建的虚拟包,有ROM盘上的电影正片、奖励影像、和本地存储器上的日语字幕、新作电影的预告片、奖励游戏宛如记录在1个盘中那样能够执行影像的输出及画面显示的虚拟包(1),和ROM盘上的电影正片、奖励影像、和本地存储器上的中文字幕、面向中国的电影的预告片宛如记录在1个盘中那样能够执行影像的输出及画面显示的虚拟包(2)的两个不同的虚拟包。另外,在虚拟包的构建中不能同时使用多个更新套件。即,在一次的虚拟包的构建中仅能够使用Update01和Update02的某一方的更新套件,为了变更利用的更新套件而需要重新构建虚拟包。
在实施方式1中,通过图24、25所示那样的处理,在能够指定虚拟包上的固定文件路径“BDMV/JAR/11111/VFSData.info”而对状态信令文件访问的情况下判断虚拟包为有效状态,显示能够利用包含在更新套件中的追加内容的奖励选择菜单(图27的(a)),在不能指定固定文件路径而对状态信令文件访问的情况下判断虚拟包为无效状态,显示不能利用包含在更新套件中的追加内容的奖励选择菜单(图27的(b))。但是,在如本实施方式2那样BD-J应用需要处理多个更新套件的情况下,有发生问题的情况。具体而言,是当BD-J应用判断为某种虚拟包是有效状态时,显示了用来利用与在当前的虚拟包构建中使用的更新套件不同的更新套件所提供的追加内容的奖励选择菜单的情况。
说明发生上述问题的情况的一例。有对于BD-ROM101存在将日语字幕、新作电影的预告片、奖励游戏对ROM盘追加的图29的Update01,和将中文字幕、面向中国的电影的预告片向ROM盘追加的图29的Update02的情况。此时,虚拟文件控制部20或BD-J应用即使执行了图25所示的虚拟包构建状态判断处理,也不能判断出哪个更新套件被用于虚拟文件系统的制作。因而,有可能担心尽管实际上利用图29的Update02制作了将中文字幕、面向中国的电影的预告片向ROM盘追加的虚拟包(2),但BD-J应用通过图25所示的虚拟包构建状态判断处理判断虚拟包为有效状态,并显示图27的(a)所示的奖励选择菜单。在这样显示的图27的(a)的奖励选择菜单中,包含有用来执行奖励游戏的选择分支“Game”按钮,但即使用户选择了“Game”,只要没有实际构建图29的虚拟包(2),就不能执行奖励游戏。即,在这样的情况下,不能取得奖励选择菜单的显示内容与显示内容所附带的动作之间的匹配性。
所以,有关本实施方式2的BD-J应用通过确认状态信令文件的内容,确定当前正在构建的虚拟包所利用的更新套件。如图19所示,通过状态信令文件的信息,即使是在SD存储卡中存在多个不同的更新套件的情况,也能够唯一地确定当前正在使用的更新套件。进而,能够确定能够与对象更新套件组合而制作虚拟文件系统的ROM盘。此外,能够容易地取得更新套件的版本及包含在更新套件中的数据的详细的具体内容物。
这样,只要能够确定当前正在构建的虚拟包所利用的更新套件,就能够确认BD-J应用想要执行的处理所需要的文件是否包含在被用于虚拟包的构建的更新套件中。所以,有关本实施方式2的BD-J应用进行控制,以便按照在当前构建的虚拟包中使用的更新套件来显示适当的奖励菜单。通过这样制作BD-J应用,能够防止BD-J应用对在虚拟包的构建中正在使用的更新套件以外的更新套件进行访问,例如能够避免不能取得奖励显示菜单的显示内容与显示内容所附带的动作之间的匹配性那样的状况。
即,有关本实施方式2的BD-J应用进行判断哪个更新套件在虚拟包的构建中正在被使用,在想要对在虚拟包的构建中并非正在被使用的更新套件进行访问的情况下,禁止BD-J应用对该更新套件访问的控制。
另外,记录在图19的文件中的信息也根据需要也可以追加或删除。例如,对象ROM盘的OrganizationID、DiscID等也可以删除,也可以使得能够记录多个。此外,表示更新套件的内容的信息也可以记录在合并管理信息文件等的其他文件中。
以上那样的功能可以通过将图30的流程图所示的处理步骤用面向对象型编译器语言记述并使计算机执行来实现。
图30表示有关实施方式2的虚拟包构建状态判断处理的处理步骤。本流程图中的步骤S21至步骤S25的步骤是与在实施方式1中使用图25说明的虚拟包构建状态判断处理同样的步骤。
这里,在步骤S24中判断为虚拟包是有效状态的状态,是通过使用在步骤S23中发行的固定VFS文件路径的读出命令将状态信令文件读出的情况,但用固定VFS文件路径读出的状态信令文件是属于当前正在构建的虚拟包的文件。所以,在步骤S24中判断为虚拟包是有效状态的情况下,接着将状态信令文件的具体内容物读出(步骤S26),基于读入的信息,进行在BD-J应用要执行的处理所需要的数据是否包含在由当前构建完成的虚拟文件系统所利用的更新套件中的判断(步骤S27)。例如,如果BD-J应用要执行的处理是奖励选择菜单的显示,则参照图19所示的“包含在更新套件中的数据的详细情况”的项目,判断在更新套件中是否包含有奖励游戏、新作电影预告的追加内容(步骤S27)。如果包含有这些(步骤S27:是),则在显示菜单画面时,许可将包含在更新套件中的追加内容调出的按钮、例如“Game”按钮或“Trailer New”按钮的显示(步骤S28)。
另一方面,在判断为是不能用固定VFS文件路径将状态信令文件读出而虚拟包是准备状态的情况下(步骤S25),以及虽然能用固定VFS文件路径将状态信令文件读出、但在读出的状态信令文件的“包含在更新套件中的数据的详细情况”项目中不包含奖励游戏、新作电影预告的情况下(步骤S27:否),当显示菜单画面时,抑制将追加内容调出的“Game”按钮、“Trailer New”按钮的显示(步骤S29)。
以上是有关实施方式2的虚拟包构建状态判断处理的处理步骤。
另外,记录有为了步骤S27的判断而使用的更新套件的内容的文件也可以是与状态信令文件不同的文件,例如如状态信令文件那样属于更新套件的文件,或另外记录在再现装置内置的记录介质中的文件或BD-J应用内的数据文件。但是,只要将表示更新套件的内容的信息记录到与在虚拟包构建状态判断中使用的文件相同的文件中,就能够通过1次的文件读取执行虚拟包构建状态判断和使用中的更新套件的判断。这是因为,状态信令文件为了虚拟包构建状态的判断而在步骤S23中发出了读出命令。因此,如果在状态信令文件中记录更新套件的内容,则在步骤S24中判断为虚拟包是有效状态之后,不需要在步骤S26中重新发出读出命令。这样,通过使在虚拟包构建状态的判断中使用的文件与记录更新套件的具体内容物的文件相同,能够进行高效率的处理。
另外,如果在步骤S27的判断中使用的文件是AV数据,则有在访问时该AV数据被再现而发生不良状况的情况。所以,如果使该文件成为文本文件,则在访问判断时不会实际被再现,所以不发生不良状况。此外,通过使在该判断中使用的文件的尺寸尽可能小,能够缩短在文件取得及访问中需要的时间等,能够高速地执行BD-J应用的处理。
此外,在使用另外记录在再现装置内置的记录介质中的文件或BD-J应用内的数据文件进行步骤S27的判断的情况下,需要预先准备能够对该文件访问的文件路径信息。该文件路径信息既可以预先记载在合并管理信息内,也可以记录在再现装置内或BD-J应用内。
此外,如果将该文件路径信息表示的文件路径设为预先决定的固定文件路径,则BD-J应用能够总是使用相同的文件路径正确地判断虚拟包构建状态。通过设为固定文件路径,还能够实现将同一个应用由多个不同的更新套件共同地利用(应用的再利用)、以及由多个不同的应用共同地利用同一个更新套件(在多个标题中共同的更新套件的制作),所以能够高效率地实施应用的制作和更新套件的制作。
此外,作为判断更新套件的内容的方法,也可以构成为,从文件等仅取得更新套件的识别符等用来唯一地确定使用中的更新套件的信息,使用该信息作为关键字(key)从网络或其他记录介质取得其他需要的信息、即包含在更新套件中的数据或文件等的内容信息等。或者,也可以使用包含在更新套件中的其他文件或合并管理信息文件等作为关键字。
如以上那样,根据本实施方式2,应用在虚拟包构建状态判断中,通过表示记录在本地存储器上的文件中的更新套件的内容的信息,确定使用中的更新套件,能够根据在虚拟包的构建中使用的更新套件的内容控制应用的处理。因而,即使是存在多个更新套件的情况,也能够防止应用对在虚拟包构建中使用的更新套件以外的更新套件进行访问。此外,由于能够将多个更新套件用1个应用处理,所以能够高效率地实施应用的开发。
<实施方式2的变形例>
如以上这样,在实施方式2中,对在能够使用多个更新套件从1个BD-J应用构建多个种类的虚拟包的状况下,通过确认状态信令文件的内容确定当前构建的虚拟包使用的更新套件的结构进行了说明。在该结构中,在哪个合并管理信息文件的映射信息中,都对状态信令文件分配了相同的VFS文件路径(BDMV/JAR/11111/VFSData.info),以使多个更新套件的状态信令文件成为虚拟包上的同一个文件路径。由此,在哪个更新套件被使用的情况下,BD-J应用都能够总是用相同的文件路径确认状态信令文件的内容。
相对于此,也可以在各个合并管理信息文件的映射信息中,对状态信令文件分配不同的VFS文件路径,以使多个更新套件的状态信令文件在虚拟包上为完全不同的文件路径,BD-J应用通过尝试能否对各个更新套件的状态信令文件的虚拟包上的文件路径访问,来确定使用中的更新套件。
在这样的变形例中,例如在存在Update01及Update02的2个更新套件的情况下,在Update01的合并管理信息文件的映射信息中,作为状态信令文件的VFS文件路径而登记“BDMV/JAR/11111/VFSData_update01.txt”,在Update02的合并管理信息文件的映射信息中,作为状态信令文件的VFS文件路径而登记“BDMV/JAR/11111/VFSData_update02.txt”。
进而,在BD-J应用的制作时,将作为关于各个更新套件的状态信令文件位置信息的数据文件装入到作为BD-J应用的实体的JAR文件中。这里,状态信令文件位置信息表示在分别对应的更新套件中对状态信令文件分配的VFS文件路径。
在执行了如以上那样构成的BD-J应用的情况下,在虚拟包构建状态判断中,指定由各个更新套件的状态信令文件位置信息表示的文件路径并尝试读出命令,根据能够以哪个文件路径将状态信令文件读出,确定当前正在构建的虚拟包所利用的更新套件。
在上述的Update01、及Update02的2个更新套件存在的状况下,在能够指定“BDMV/JAR/11111/VFSData_update01.txt”而将状态信令文件读出的情况下,判断为在当前的虚拟包中正使用Update01,在能够指定“BDMV/JAR/11111/VFSData_update02.txt”而将状态信令文件读出的情况下,判断为在当前的虚拟包中正使用Update02。
(实施方式3)
在本实施方式3中,对用来实施有关本发明的记录装置及记录方法的形态进行说明。
这里说明的记录装置是称作创作装置的装置,为了电影内容的发行而设置在制作工作室(studio)中,供创作人员的使用。按照来自创作人员的操作,生成按照MPEG标准压缩编码的数字流及记述有怎样将电影标题再现的脚本,将包括这些数据的面向BD-ROM的卷镜像和更新套件生成,是有关本发明的记录装置的使用形态。有关本发明的记录装置的目的是生成由实施方式1说明的记录介质及更新套件。
图31是表示有关本发明的记录装置的内部结构的图。如本图所示,有关本发明的记录装置由素材制作部51、脚本生成部52、BD-J制作部53、复用处理部54、格式处理部55、差提取部56、更新套件制作部57构成。另外,有关本发明的记录装置也可以作为系统LSI(集成电路)实现。
素材制作部51制作视频流、音频流、演示图形流、交互图形流等的各流。素材制作部51通过将非压缩的位图等的图像按照MPEG4-AVC或MPEG2等的压缩方式编码而制作视频流。此外,素材制作部51通过将非压缩的Linear PCM声音等按照AC3等的压缩方式编码而制作音频流。素材制作部51基于字幕图像和显示定时、以及包括淡入/淡出等的字幕的效果的字幕信息文件,制作作为依据BD-ROM标准的字幕流的格式的演示图形流。素材制作部51基于在菜单中使用的位图图像、和记载有配置在菜单上的按钮的转变及显示效果的菜单文件,制作作为依据BD-ROM标准的菜单画面的格式的交互图形流。
脚本生成部52按照由素材制作部51制作的各流的信息、及来自创作人员的经由GUI的操作,以依据BD-ROM标准的格式制作脚本。这里所说的脚本相当于索引文件、电影对象文件、播放列表文件等的文件。此外,脚本生成部52制作记述有用来实现复用处理的各AV片段由哪个流构成的参数文件。
为了制作更新套件,制作虚拟包构建后的脚本数据。
BD-J制作部53是对BD-J应用进行编程的机构。通过GUI等的用户接口,按照来自用户的请求,制作BD-J应用程序的源代码,制作BD-J应用。此时,在BD-J应用程序中,作为外部文件而装入作为图23的状态信令文件位置信息21的数据文件。
复用处理部54将记述在BD-ROM脚本数据中的视频、音频、字幕、按钮等的多个流复用,制作MPEG2-TS形式的AV片段。此时,还同时制作与AV片段成对的片段信息文件。由复用处理部54进行的片段信息文件内的生成通过以下的方法进行。复用处理部54在制作AV片段的同时制作标记信息。更具体地讲,在由素材制作部51生成的各流中,如果包含的视频流是MPEG2则检测I图片存在于哪里、如果是MPEG4-AVC则检测I图片或IDR图片存在于哪里、如果是VC-1则检测I图片存在于哪里,将上述的各图片的显示时刻与在作为MPEG2-TS的AV片段的第几个源包中装入了上述各图片的开头数据建立了对应的标记,登记到标记信息中。在包含在AV片段中的视频流有主影像、副影像的两种的情况下,将两者的标记信息同时制作。复用处理部54将自己生成的标记信息、和表示包含在AV片段中的各流的声音属性、影像属性等的属性信息,成对地制作片段信息文件。
格式处理部55将由脚本生成部52生成的BD-ROM脚本数据、或虚拟包构建后的脚本数据、和由BD-J制作部53制作的BD-J应用、由复用处理部54生成的AV片段或片段信息文件,以依据BD-ROM标准的格式配置,以作为依据BD-ROM标准的文件系统的UDF的格式制作BD-ROM盘镜像、或虚拟包差分盘镜像。将生成的BD-ROM盘镜像变换为BD-ROM压制用数据,通过对该数据进行压制工序,能够进行BD-ROM的制造。
进而,格式处理部55根据虚拟包构建后的脚本数据的记述,制作包括用来唯一地确定想要制作的更新套件的信息的文件、例如实施方式1及2的状态信令文件。
另外,根据BD-ROM脚本数据也同样,也可以进行包括用来确定所制作的BD-ROM盘镜像的信息的文件的制作。
差提取部56将两个脚本数据比较,提取差分数据。例如,提取作为原始的盘镜像的文件、以及进行二进制比较而更新的文件等。
更新套件制作部57基于差提取部56和虚拟包差分盘镜像制作合并管理信息文件、签名信息文件、网络播放列表及片段,以使其匹配于在上述中说明的更新套件的数据格式,以依据BD-ROM标准的格式配置文件及目录。在这里制作的合并管理信息文件中,作为状态信令文件的VFS文件路径而记录“BDMV/JAR/11111/VFSData.info”。
接着,参照图32,对有关实施方式的BD-ROM盘镜像的制作方法进行说明。
在步骤S101中,素材制作部51生成视频流、音频流、IG流、PG流。
在步骤S102中,脚本生成部52制作记述索引文件、电影对象文件、播放列表文件等再现脚本的BD-ROM脚本数据。
在步骤S103中,BD-J制作部53制作BD-J应用的程序。
在步骤S104中,复用处理部54基于BD-ROM脚本数据制作AV片段和片段信息文件。
在步骤S105中,格式处理部55将BD-ROM脚本数据、变形AV片段、片段信息文件、复原字节码数据替换为BD-ROM标准的文件、目录构造,制作依据BD-ROM标准的盘镜像。
接着,参照图33对有关实施方式的更新套件的制作方法进行说明。
在步骤S201中,素材制作部51生成虚拟文件系统所需要的视频流、音频流、IG流、PG流。
在步骤S202中,脚本生成部52制作记述虚拟文件系统制作后的索引文件、电影对象文件、播放列表文件、网络播放列表文件等再现脚本的脚本数据。
在步骤S203中,差提取部56将两个脚本数据比较而提取差分数据。
在步骤S204中,BD-J制作部53制作虚拟文件系统制作后的BD-J应用的程序。
在步骤S205中,复用处理部54基于差分数据制作AV片段和片段信息文件。
在步骤S206中,格式处理部55根据虚拟文件系统制作后的脚本数据的记述,制作记录有用来唯一地确定想要制作的更新套件的信息的文件。
另外,这里也可以在制作的文件中仅记录作为关键字的信息、制作用来与该关键字建立关联而唯一地确定更新套件的信息作为别的文件或数据库。
在步骤S207中,格式处理部55将在步骤S206中制作的记录了用来唯一地确定更新套件的信息的文件、和虚拟文件系统制作后的脚本数据、BD-J应用、AV片段、片段信息文件,以依据BD-ROM标准的格式配置,制作虚拟文件系统差分盘镜像。
在步骤S208中,更新套件制作部57基于差提取部56和虚拟文件系统差分盘镜像,制作合并管理信息文件、签名信息文件、网络播放列表及片段,以使其匹配于在上述中说明的更新套件的数据格式,以依据BD-ROM标准的格式配置文件或目录。
(其他的变形例)
另外,基于上述实施方式说明了本发明,但本发明当然并不限定于上述实施方式。以下这样的情况也包含在本发明中。
(1)本发明也可以是在各实施方式中说明的流程图的处理步骤公开的再现装置的控制方法、记录装置的控制方法。此外,也可以是包括通过上述处理步骤使计算机动作的程序代码的计算机程序,也可以是由上述计算机程序构成的数字信号。
此外,本发明也可以将上述计算机程序或上述数字信号记录到计算机可读取的记录介质、例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc)、半导体存储器等中的产品。
此外,本发明也可以是将上述计算机程序或上述数字信号经由电通信线路、无线或有线通信线路、以因特网为代表的网络等传送的系统。
此外,也可以通过将上述计算机程序或上述数字信号记录到上述记录介质中并移送、或将上述计算机程序或上述数字信号经由上述网络等移送,从而由独立的其他计算机系统实施。
(2)在实施方式1、2中,对于通过BD-J应用进行的菜单显示,说明了根据虚拟包构建状态限制其功能。
本发明除此以外,也可以用于在基于虚拟包构建状态的判断限制需要对本地存储器上的追加内容数据文件访问的处理的用途。作为需要对本地存储器上的追加内容数据文件访问的处理,有本地存储器上的字幕、声音、影像的再现、追加到本地存储器上的BD-J应用的执行等。
另外,也有虽然是虚拟包的构建状态、但BD-J应用对本地存储器上的文件访问的情况。例如,如向本地存储器上的ADA(应用数据区)区域的用户信息(账户名、邮件地址等)的记录、游戏分数及操作履历(仅在初次视听时再现的警告的再现状况、及过去视听的盘履历等)、现金(cash)信息的记录等那样,是BD-J应用记录需要向本地存储器上读写的数据的情况、及将本地存储器上的文件作为字幕、声音、影像等数据再现等不需要经由虚拟文件控制部20的向本地存储器上的文件的访问的情况。
(3)在实施方式1中,在虚拟包是准备状态的情况下,作为禁止对本地存储器上的更新套件访问的方法,表示了不将需要向更新套件的访问的选择分支显示在菜单上的方法。作为禁止对本地存储器上的更新套件访问的其他方法,例如有在可选择的情况下变更选择分支的颜色或形状等而显示在菜单上等、进行控制以使用户不能选择用来执行发生误动作的功能的选择分支的方法,在用户选择了发生误动作的选择分支时进行控制以将当前不能执行的消息、不能执行的理由、为了执行而需要的步骤等向用户提示的方法,当用户选择了发生误动作的选择分支时在使该功能成为可执行的状态(完成虚拟包构建并开始标题再现)后执行用户选择的功能的方法,将用户的操作忽视的方法,或者将以上方法中的一些加以组合的方法等。
(4)在实施方式1中,作为更新套件的取得方法而表示了经由网络下载的方法。但是,更新套件除了经由网络的取得以外,也可以从其他记录介质等取得。
(5)BD-ROM盘也可以构成为,除了图2所示的文件结构以外还记录有代表盘的图像和文本信息成为集合的盘信息文件(CCC.DINFO)。
盘信息文件可以采用例如图34所示的数据构造。在本图的例子中,盘信息文件保存有至代表包含在BD-ROM中的内容的缩略图的图像文件的相对路径、和代表包含在BD-ROM中的内容的各国语言的每个语言的文本信息。在文本信息中,记载有包含在BD-ROM中的内容的标题名等。
通过将使用该盘信息文件将图像文件的图像或文本信息用GUI等显示的功能安装到再现装置中,用户能够容易地掌握盘内容。
在再现装置中安装这样的功能的情况下,通过使用记录有与盘信息文件同样的信息的状态信令文件,能够用再现装置的GUI画面等显示更新套件的内容,并且能够作为用于用户将更新套件删除的GUI使用。
具体而言,可以在应用从网络或其他记录介质等取得更新套件之前、作为更新套件的内容而显示代表更新套件的缩略图的图像和更新套件的名称等的文本信息等。通过这样,即使是存在多个更新套件的情况,也能够通过BD-J应用或再现装置提供容易根据用户的嗜好选择取得的更新套件的用户界面。
此外,在已经在本地存储器上记录有多个更新套件的情况下,并且本地存储器的空闲容量较少、为了记录接着取得的更新套件而需要将已记录的更新套件的一些删除的情况下等,作为记录在本地存储器上的更新的内容,可以显示代表更新套件的缩略图的图像和更新套件的名称等的文本信息等。通过这样,即使是多个更新套件记录在本地存储器中的情况,也能够通过BD-J应用或再现装置提供用户容易选择从本地存储器上删除的更新套件的用户界面。
进而,在本地存储器上记录有多个更新套件的情况下,并且利用某个更新套件的虚拟文件系统的制作完成的情况下,作为在虚拟文件系统的制作中使用的更新套件的内容,可以将代表更新套件的缩略图的图像和更新套件的名称等的文本信息等参照状态信令文件的记述而加以显示。通过这样,能够通过BD-J应用或再现装置提供用户能够容易地确认虚拟文件系统的制作是否完成、以及在虚拟文件系统的制作完成的情况下容易地确认在虚拟文件系统的制作中使用的更新套件的内容的用户界面。
(6)再现装置的内部结构中的系统目标解码器4、再现控制部7、程序执行部11、虚拟文件控制部20等、以逻辑元件为中心的部分优选的是由系统LSI构成。
所谓系统LSI,是指在高密度基板上安装裸片并封装的结构。通过将多个裸片安装在高密度基板上并封装,使多个裸片具有宛如1个LSI那样的外形构造的结构也包含在系统LSI中(这样的系统LSI称作多芯片模块)。
在此如果考察封装的类型,系统LSI的种类包括QFP(方形扁平封装)、PGA(插针网格阵列)。QFP是将插针安装在封装体的四个侧面上的系统LSI。PGA是在整个底面上安装多个插针的系统LSI。
这些插针作为与其他电路的接口来发挥作用。系统LSI中的插针具有这种接口的作用,所以通过向系统LSI中的这些插针连接其他电路,系统LSI发挥作为再现装置102的核心的作用。
这种系统LSI当然能够装配在再现装置102上,还能够装配在TV或游戏机、个人电脑、一段(one segment)电话等处理影像再现的各种设备上,能够更广地扩展再现装置的用途。
优选系统LSI的架构依据于Uniphier架构。
依据于Uniphier架构的系统LSI由下面的电路单元构成。
·数据并行处理器DPP
数据并行处理器DPP是多个单元处理器进行相同动作的SIMD型处理器,利用一个命令使内置于各个单元处理器中的运算器同时动作,由此实现针对构成图片的多个像素的解码处理的并行化。
·命令并行处理器IPP
命令并行处理器IPP具有:包括命令RAM、命令高速缓冲存储器、数据RAM、数据高速缓冲存储器的“Local Memory Controller”(本地存储器控制);包括命令提取部、解码器、执行单元、寄存器文件的“Processing Unit部”;使Processing Unit部并行执行多个应用的“Virtual Multi Processor Unit部”。
·MPU块
MPU块由ARM核、外部总线接口(Bus Control Unit:BCU)、DMA控制器、定时器、矢量中断控制器这些周边电路、和UART、GPIO(GeneralPurpose Input Output:一般用途输入输出)、同步串行接口等周边接口构成。
·流I/O块
流I/O块通过USB接口或ATA Packet接口,与连接在外部总线上的驱动器装置、硬盘驱动器装置、SD存储卡驱动器装置进行数据的输入输出。
·AV I/O块
AV I/O块由音频输入输出、视频输入输出、OSD控制器构成,与电视机、AV放大器进行数据的输入输出。
·存储器控制块
存储器控制块是实现通过外部总线连接的SD-RAM的读写的块,包括控制各个块之间的内部连接的内部总线连接部、与在系统LSI外部连接的SD-RAM进行数据传输的访问控制部、调整来自各个块的对SD-RAM的访问请求的访问计划部。
具体的生产步骤如下所述。首先,以各个实施方式所示的结构图为基本,生成应作为系统LSI的部分的电路图,使用电路元件及IC、LSI具体实现结构图中的构成要素。
并且,为了具体实现各个构成要素,规定将电路元件及IC、LSI之间进行连接的总线及其周边电路、与外部的接口等。另外,也规定连接线、电源线、接地线、时钟信号线等。在进行这种规定时,考虑LSI的规格来调整各个构成要素的动作定时,对各个构成要素实施保证必要的带宽等的调整,由此完成电路图。
在完成电路图后,进行安装设计。所说安装设计指基板布局的作成作业,即,将根据电路设计作成的电路图上的部件(电路元件及IC、LSI)配置在基板上的何处、或者确定在基板上如何布线电路图上的连接线。
在进行这种安装设计并确定基板上的布局后,把安装设计结果转换为CAM数据,输出给NC工作机械等设备。NC工作机械以该CAM数据为基础进行SoC安装及SiP安装。SoC(System on chip:芯片上系统)安装指在一个芯片上形成多个电路的技术。SiP(System in Package:封装中系统)安装指利用树脂等将多个芯片作成一个封装体的技术。经过以上过程,能够以各个实施方式所示的再现装置102的内部结构图为基础形成本发明涉及的系统LSI。
另外,按照以上所述生成的集成电路根据集成度的不同,有时也称为IC、LSI、超级(super)LSI、特级(ultra)LSI。
在使用FPAG来实现系统LSI的情况下,多个逻辑元件被配置成网格状,根据在LUT(Look UP Table:查找表)中记述的输入输出的组合,连接纵、横的布线,由此能够实现各个实施方式所示的硬件结构。LUT存储在SRAM中,这种SRAM的内容因电源断开而消失,所以在使用这种FPGA时,需要向SRAM写入利用配置信息的定义来实现各个实施方式所示的硬件结构的LUT。
在本实施方式中,利用中间件和对应于系统LSI的硬件、除系统LSI之外的硬件、针对中间件的接口的部分、中间件和系统LSI之间的接口的部分、中间件和除系统LSI之外的必要硬件之间的接口的部分、用户接口的部分来实现,在装配它们来构成再现装置时,通过使它们协作动作来提供特有的功能。
通过适当定义针对中间件的接口以及中间件与系统LSI的接口,能够分别独立地并行开发再现装置的用户接口部分、中间件部分、系统LSI部分,能够更高效地进行开发。另外,各个接口的分割方法(切り方),可以有各种分割方法。
(7)也可以将上述实施方式及上述变形例分别组合。
工业实用性
有关本发明的再现装置、再现方法、记录介质、记录装置、记录方法、集成电路能够正确地判断是否将从网络等取得的数据追加到ROM盘中,能够对用户仅显示可执行的菜单,因此能够向市场供给更有吸引力的电影标题等的动态图像内容,能够活跃电影市场及民用设备市场。因此,有关本发明的再现装置、再现方法、记录介质、记录装置、记录方法、集成电路在电影产业及民用设备产业中具有较高的实用性。
标号说明
101 BD-ROM
102再现装置
103电视机
104可移动介质
105遥控器
1 BD-ROM驱动器
2a读缓冲器(1)
2b读缓冲器(2)
3本地存储器
4系统目标解码器
5a平面存储器组
5b平面合成部
6 HDMI收发部
7再现引擎
7a再现控制引擎
7b再现控制部
9管理信息存储器
10寄存器组
11程序执行部
12程序存储器
13 HDMV模块
13网络模块
14 BD-J平台
15中间件
16模式管理模块
17用户事件处理部
19非易失性存储器
20虚拟文件控制部
21状态信令文件位置信息
22虚拟包构建状态判断部
23菜单显示部
31状态信令文件
41合并管理信息文件
42状态信令文件
43合并管理信息文件
44状态信令文件
51素材制作部
52脚本生成部
53 BD-J制作部
54复用处理部
55格式处理部
56差提取部
57更新套件制作部