具体实施方式
第一实施例
下面说明本发明的记录介质的实施例。首先,将说明本发明记录介质的使用。图1显示本发明记录介质的使用。在图1中,本发明的记录介质是本地存储器200。本地存储器200用于向由再现装置300、电视机400、AV放大器500和扬声器600构成的家庭影院***提供电影。
现在将说明BD-ROM 100、本地存储器200和再现装置300。
BD-ROM 100是其中记录有电影的记录介质。
本地存储器200是嵌入在再现装置中的硬盘,用于存储从电影发行商的服务器分发的内容。
再现装置300是支持网络的数字家电设备,具有再现BD-ROM100的内容的功能。再现装置300也能够将经过网络从电影发行商的服务器下载的内容与记录在BD-ROM 100上的内容进行组合,以便扩展/更新BD-ROM 100的内容。通过所谓的“虚拟包”的技术,能够将记录在BD-ROM 100上的内容与记录在本地存储器200上的内容进行组合,并且能够像处理记录在BD-ROM 100上的数据那样处理没有记录在BD-ROM 100上的数据。
到目前为止,已经说明了本发明的记录介质的使用。
从现在开始,将说明本发明的记录介质的再现。能够通过改进BD-ROM上的文件***来得到本发明的记录介质。图2显示BD-ROM的文件/目录结构。在图2中,BD-ROM的文件/目录结构包括根目录下的BDMV目录。
<BD-ROM概述>
图2显示BD-ROM的内部结构。图2的第四行显示BD-ROM。第三行显示BD-ROM上的轨道。图2显示了在水平延伸状态下的轨道,尽管实际上它们是按照从内圆周到外圆周的顺序螺旋地形成的。轨道包括导入(lead-in)区、卷标区和导出(lead-out)区。图2的卷标区具有层模型,包括物理层、文件***层和应用层。图2的第一行显示了由目录结构表示的BD-ROM的应用层格式(应用格式)。在图2的 第一行中,BD-ROM包括根目录下的BDMV目录。
BDMV目录包括附加了扩展名“bdmv”的文件(“index.bdmv”和“MovieObject.bdmv”)。在BDMV目录下,有六个子目录:PLAYLIST目录、CLIPINF目录、STREAM目录、BDBJ目录、BDJA目录和AUXDATA目录。
PLAYLIST目录包括附加了扩展名“mpls”的文件(“00001.mpls”)。
CLIPINF目录包括附加了扩展名“clpi”的文件(“00001.clpi”)。
STREAM目录包括附加了扩展名“m2ts”的文件(“00001.m2ts”)。
BDBJ目录包括附加了扩展名“bobj”的文件(“00001.bobj”)。
BDJA目录包括附加了扩展名“jar”的文件(“00001.jar”)。
AUXDATA目录包括文件(“sound.bdmv”)。
从上述的目录结构可以理解,在BD-ROM中存储了多种不同类型的文件。
<BD-ROM结构1:AVClip>
首先,将说明具有扩展名“m2ts”的文件。图3显示了附加有扩展名“m2ts”的文件结构。附加了扩展名“m2ts”的文件(“00001.m2ts”)存储AVClip。AVClip是MPEG2传输流格式的数字流。通过将数字化的视频和音频(上面第一行)转换成由PES包(上面第二行)构成的基本流从而生成数字流,并将基本流转换成TS包(上面第三行),类似地将用于字幕等的Presentation Graphics(PG)流和用于交互目的Interactive Graphics(IG)流(下面第一行、下面第二行)转换成TS包(第三行),然后最终复合这些TS包来形成数字流。
PG流是构成由某种语言写的字幕的图形流。具有多个流,分别对应于多种语言,例如英语、日语和法语。PG流由功能片断构成,例如:PCS(表达控制片断);PDS(调色板定义片断);WDS(窗口定义片断);ODS(对象定义片断);和END(显示结束设置片断)。ODS(对象定义片断)是定义图形对象作为字幕的功能片断。
WDS是在屏幕上定义图形对象的绘图区域的功能片断。PDS(调色板定义片断)是定义绘制图形对象的颜色的功能片断。PCS是在显示字幕时定义页控制的功能片断。这种页控制包括***/切掉、淡入/ 淡出、颜色改变、滚动和划入/划出(Wipe-In/Out)。通过PCS的页控制能够获得显示效果,例如在显示下一个字幕的同时淡出当前字幕。
IG流是用于获得交互控制的图形流。通过IG流定义的交互控制是与DVD再现装置上的交互控制兼容的交互控制。IG流由功能片断构成,例如:ICS(互动合成(Interactive composition)片断);PDS(调色板定义片断);ODS(对象定义片断);和END(显示结束设置片断)。ODS(对象定义片断)是定义图形对象的功能片断。通过多个这样的图形对象绘制交互屏幕上的按钮。PDS(调色板定义片断)是定义绘制图形对象时的颜色的功能片断。ICS(交互组成片断)是实现其中按钮状态根据用户操作而改变的状态改变的功能片断。ICS包括当在按钮上执行确认操作时执行的按钮命令。
AVClip由一个或多个“STC_Seuences”构成。“STC_Seuences”是不包括***时钟(STC)的***时基间断的部分,***时钟(STC)是用于AV流的***标准时间。STC的***时基间断是PCR包的discontinuity_indicator为ON的点,PCR包的discontinuity_indicator携带供解码器参考以获得STC的PCR(程序时钟基准)。
接下来将说明如何将具有上述结构的AVClip写入BD-ROM。图4显示了在被写入BD-ROM之前,构成AVClip的TS包所经历的处理。图4的第一行显示构成AVClip的TS包。
如图4的第二行所示,4字节的TS_extra_header(附图中阴影部分)附加到每个构成AVClip的188字节的TS包,以生成每个192字节的源包。TS_extra_header包括作为指示将TS包输入到解码器的时间的信息的Arrival_Time_Stamp。
第三行中显示的AVClip包括一个或多个“ATC_Sequences”,其中的每一个是源包的序列。“ATC_Sequence”是源包的顺序,由ATC_Sequence 中包含的Arrival_Time_Stamps 参考的Arrival_Time_Clocks不包括“到达时基间断”。换句话说,“ATC_Sequence”是源包的序列,其中由ATC_Sequence中包含的Arrival_Time_Stamps参考的Arrival_Time_Clocks是连续的。
这种ATC_Sequence构成了AVClip,并以文件名“xxxxx.m2ts” 记录在BD-ROM上。
按照正常计算机文件的情况,将AVClip分成一个或多个文件范围(file extent),然后记录在BD-ROM上的区域中。第四行显示了如何将AVClip记录在BD-ROM上。在第四行中,构成文件的每个文件范围具有等于或大于称为Sextent的预定长度的数据长度。
Sextent是每个文件范围的最小数据长度,将AVClip分割成多个将要记录的文件范围。
这里假设通过下面的等式获得光学拾波器跳到BD-ROM上的位置所需的时间:
Tjump=Taccess+Toverhead。
“Taccess”是对应于跳跃距离(到跳跃目的地物理地址的距离)的所需的时间。
从BD-ROM读取的TS包被存储在称为读取缓冲器的缓冲器中,然后输出到解码器。当通过称为Rud的比特率执行到读取缓冲器的输入并由Secc表示ECC块中的扇区数时,通过下面的等式获得“Toverhead”:
Toverhead≤(2×Secc×8)/Rud=20msec。
从BD-ROM读取的TS包以源包的状态被存储在读取缓冲器中,然后以称为“TS_Recording_rate”的传输速率提供到解码器。
为了在将TS包提供至解码器的同时保持TS_Recording_rate的传输速率,需要在Tjump期间将TS包从读取缓冲器连续地输出到解码器。这里,从读取缓冲器输出源包而不是TS包。结果,当TS包与源包大小之比为192/188时,需要在Tjump期间,以“192/188×TS_Recording_rate”的传输速率从读取缓冲器连续地输出源包。
因此,通过下面等式表示不产生下溢的读取缓冲器的缓冲器容量的占用量:
Boccupied≥(Tjump/1000×8)×((192/188)×TS_Recording_rate)。
通过Rud表示到读取缓冲器的输入速率,通过TS_Recording_rate×(192/188)表示来自读取缓冲器的输出速率。因此,通过执行“(输入速率)-(输出速率)”来获得读取缓冲器的占用速率,并由此通过 “(Rud-TS_Recording_rate)×(192/188)”获得。
通过下面的等式获得由“Boccupied”占用读取缓冲器所需的时间“Tx”:
Tx=Boccupied/(Rud-TS_Recording_rate×(192/188))。
当从BD-ROM读取时,必须以比特率Rud持续输入TS包,持续时间为“Tx”。结果,当AVClip被分成多个将要记录的文件范围时,通过下面的等式获得每个范围的最小数据长度Sextent:
Sextent=Rud×Tx
=Rud×Boccupied/(Rud-TS_Recording_rate×(192/188))
≥Rud×(Tjump/1000×8)×((192/188)×TS_Recording_rate)
/(Rud-TS_Recording_rate×(192/188))
≥(Rud×Tjump/1000×8)×TS_Recording_rate×192
/(Rud×188-TS_Recording_rate×192)。
因此,
Sextent≥(Tjump×Rud/1000×8)×
(TS_Recording_rate×192/(Rud×188-TS_Recording_rate×192))。
如果构成AVClip的每个文件范围具有等于或大于Sextent的数据长度,其中Sextent被计算为不产生解码器下溢的值,那么即使构成AVClip的文件范围分散地位于BD-ROM上,也连续地向解码器提供TS包,从而使得再现期间连续地读出数据。
图5显示了BD-ROM的物理单元与构成一个文件范围的源包之间的关系。如第二行所示,在BD-ROM上形成多个扇区。如第一行所示,将构成文件范围的源包分成多个组,每个组包括32个源包。然后将每组源包写入三个连续扇区的集合。32个源包的组是6144字节(=32×192),其相当于三个扇区的大小(=2048×3)。存储在三个扇区中的32个源包被称作“对准单元”。以对准单元为单位执行向BD-ROM的写入。
在第三行中,纠错码附加到每个32个扇区的每个组块。带有纠错码的组块被称作ECC组块。至于以对准单元为单位访问BD-ROM, 再现装置能够获得32个完整的源包。到现在为止,已经说明了向BD-ROM写入AVClip的过程。
<基本流的类型>
图6显示了被复合入AVClip的基本流。
如图6所示,复合入AVClip的是:具有0x1011的PID的高图像质量视频流;具有0x1100至0x111F的PID的主音频流;具有0x1200至0x121F的PID的PG流;以及具有0x1400至0x141F的PID的IG流。构成基本流的包分配有对应的PID,并基于该PID进行多路分解。以下,将其中复合了这种高图像质量视频流的AVClip称作“MainClip”,将与MainClip同时再现的AVClip称作“SubClip”。
<BD-ROM结构2:Clip Information(剪辑信息)>
接下来,将说明附加了扩展名“clpi”的文件。附加了扩展名“clpi”的文件(00001.clpi)存储Clip信息。Clip信息是关于每个AVClip的管理信息。图7显示了Clip信息的内部结构。如图左侧所示,Clip信息包括:
i)存储关于AVClip的信息的“ClipInfo()”;
ii)存储关于ATC序列和STC序列的信息的“Sequence Info()”;
iii)存储关于Program Sequence的信息的“Program Info()”;以及
iv)“Characteristic Point Info(CPI())”。
“ClipInfo”包括“application_type”,其表示由Clip信息引用的AVClip的应用类型。指示是否包含视频或是否包含静态图像(放映幻灯片)的“TS_recording_rate”是AVClip的***比特率信息。
Sequence Info是关于AVClip中所包含的一个或多个STC-Sequence和ATC-Sequence的信息。提供这些信息的原因是预先将***时基间断和到达时基间断通知给再现装置。也就是说,如果存在这样的间断,则在AVClip中可能出现具有相同的值的PTS和ATS。这可能是有缺陷的再现的原因。提供Sequence Info用于指示在传输流中从哪到哪STC或ATC是有顺序的。
Program Info是指示内容恒定的节目的区间(称作“ProgramSequence”)的信息。这里,“Program”是共同具有用于同步再现的时 间轴的一组基本流。提供Program Info的原因是预先通知再现装置节目内容改变的点。在此应当注意,节目内容改变的点是例如视频流的PID改变的点,或者是视频流的类型从SDTV改变为HDTV的点。
从现在起将说明Characteristic Point Info。引线cu2表示CPI结构的细节。如引线cu2所示,CPI由Ne个EP_map_for_one_stream_PID构成:EP_map_for_one_stream_PID[0]…EP_map_for_one_stream_PID[Ne-1]。这些EP_map_for_one_stream_PID是属于AVClip的基本流的EP_map。EP_map是与进入时间(PTS_EP_start)相关联指示在其中Access Unit出现在一个基本流的进入位置处的包数量(SPN_EP_start)的信息。附图中的引线cu3指示EP_map_for_one_stream_PID的内部结构的细节。
由此可以理解,EP_map_for_one_stream_PID由Ne个EP_High(EP_High(0)…EP_High(Nc-1))和Nf个EP_low(EP_low(0)…EP_low(Nf-1))构成。这里,EP_High用于指示Access Unit(Non_IDRI图像,IDR图像)的SPN_EP_start和PTS_EP_start的高位,EP_low用于指示Access Unit(Non_IDR I图像,IDR图像)的SPN_EP_start和PTS_EP_start的低位。
图中的引线cu4指示EP_High的内部结构的细节。如引线cu4所示,EP_High(i)由作为EP_low的参考值的“ref_to_EP_Low_id[i]”,指示Access Unit(Non_IDR I图像,IDR图像)的PTS的高位的“PTS_EP_High[i]”以及指示Access Unit(Non_IDR I图像,IDR图像)的SPN的高位的“SPN_EP_High[i]”构成。这里,“i”是给定的EP_High的标识符。
图中的引线cu5指示EP_Low的结构的细节。如引线cu5所示,EP_Low(i)由指示对应的Access Unit是否是IDR Picture的“is_angle_change_point(EP_Low_id)”,指示对应的Access Unit的大小的“I_end_position_offset(EP_Low_id)”,指示Access Unit(Non_IDRI图像,IDR图像)的PTS的低位的“PTS_EP_Low(EP_Low_id)”;以及指示Access Unit(Non_IDR I图像,IDR图像)的SPN的低位的“SPN_EP_Low(EP_Low_id)”构成。这里,“EP_Low_id”是用于标 识给定的EP_Low的标识符。
<Clip信息说明2:EP_Map>
这里将以具体实例说明EP_Map。图8显示了在电影的视频流上的EP_map设置。第一行显示了多个图像(以MPEG4-AVC定义的IDR图像、I图像、B图像和P图像)。第二行显示了这些图像的时间轴。第四行显示了包序列,第三行指示EP_map的设置。
这里假设在第二行的时间轴中,在每个时间点t1……t7存在IDR图像或I图像。t1……t7的临近的时间点之间的间隔大约是1秒。设置用于该电影的EP_map,以指示t1至t7作为进入时间(PTS_EP_start ),并指示与进入时间相关的进入位置(SPN_EP_start)。
<PlatList信息>
接下来,将说明PlatList信息。附加了扩展名“mpls”的文件(00001.mpls)是存储PlatList(PL)信息的文件。
图9显示了PlayList信息的数据结构。如图9的引线mp1所示,PlatList信息包括:定义MainPath(主路径)的MainPath信息(MainPath());和定义章节的PlayListMark信息(PlayListMark())。
<PlatList信息说明1:MainPath信息>
首先,将说明MainPath。MainPath是在作为主图像的视频流和音频流方面定义的显示路径。
如箭头mp1所示,通过多条PlayItem信息来定义MainPath:PlayItem信息#1…PlayItem信息#m。PlayItem信息定义构成MainPath的一个或多个逻辑再现区间。图中的引线hs1指示PlayItem信息的结构的细节。如引线hs1所示,PlayItem信息由以下部分构成:指示再现区间的IN点和OUT点所属于的AVClip的再现区间信息的文件名的“Clip_Information_file_name”;指示AVClip编码方法的“Clip_codec_identifier”;指示PlayItem是否是多角度的“is_multi_angle”;指示是否无缝连接当前PlayItem与之前的PlayItem的“connection_condition”;指示由PlayItem瞄准的唯一的STC_Sequence的“ref_to_STC_id[0]”;作为指示再现区间的起点的时间信息的“In_time”;作为指示再现区间的终点的时间信息的 “Out_time”;指示哪个用户操作应当由PlayItem掩饰的“UO_mask_table”;指示是否允许随机访问PlayItem的中间点的“PlayItem_random_access_flag”;指示是否在PlayItem的再现结束之后继续最后的图像的静态显示的“Still_mode”;以及“STN_table”。在这些中,指示再现区间的起点的时间信息“In_time”和指示再现区间的终点的时间信息“Out_time”构成显示路径。显示路径信息由“In_time”和“Out_time”构成。
图10显示了AVClip与PlayList信息之间的关系。第一行显示了由PlayList信息保存的时间轴。第二至第五行显示由EP_map参考的视频流。
PlayList信息包括两条PlayItem信息:PlayItem信息#1;和PlayItem信息#2。两个再现区间由包含在PlayItem信息#1和PlayItem信息#2中的“In_time”和“Out_time”定义。当排列这些再现区间时,定义与AVClip时间轴不同的时间轴。也就是第一行中显示的PlayList时间轴。根据这里的理解,通过定义PlayItem信息能够定义与AVClip不同的显示路径。
上述的Clip信息和PlayList信息被分类成“静态脚本”。这是因为Clip信息和PlayList信息定义了作为静态再现单元的PlayList。这完成了静态脚本的说明。
从现在开始说明“动态脚本”。动态脚本是动态地定义AVClip的再现控制的脚本数据。这里,“动态地”表示再现控制的内容由于再现装置中的状态改变而改变,或者由于来自用户的关键事件而改变。BD-ROM采用两种模式作为再现控制的工作环境。第一工作环境类似于DVD再现装置,是基于命令的执行环境。另一种工作环境是JavaTM虚拟机的工作环境。第一工作环境被称作HDMV模式。第二工作环境被称作BD-J模式。由于这两种工作环境都是可用的,所以写入动态脚本以便与这些工作环境之一相一致。将按照HDMV模式写入的动态脚本称作“Movie Object”,将按照BD-J模式写入的动态脚本称作“BD-J Object”。
首先说明Movie Object。
<Movie Object>
Movie Object存储在图2所示的文件“MovieObject.bdmv”中,并包括导航指令序列。
导航指令序列是实现条件分支、在再现装置中设置状态寄存器、获取设置在状态寄存器中的值等的导航指令的序列。下面的导航指令能够写入Movie Object中。
PlayPL指令
格式:PlayPL(第一自变量,第二自变量)
作为第一自变量,写入PlayList编号以指定将要再现的PlayList。作为第二自变量,写入PlayList中包含的PlayItem、PlayList中给出的时间、Chapter或Mark,以指定再现起始位置。
使用PlayItem以在PL时间轴中指定再现起始位置的PlayPL函数被称作“PlayPLatPlayItem()”。
使用Chapter以在PL时间轴中指定再现起始位置的PlayPL函数被称作“PlayPLatChapter()”。
使用时间信息以在PL时间轴中指定再现起始位置的PlayPL函数被称作“PlayPLatSpecifiedTime()”。
Movie Object中的导航指令的写入格式类似于DVD中的导航指令的写入格式。这使得能够有效地从DVD向BD-ROM传输盘内容。在下面标识出的国际公布中,作为现有技术公开了Movie Object。请参照对Movie Object的细节的国际公布。
国际公布:WO 2004/074976
到目前为止已经说明了Movie Object。下面说明BD-J Object。
<BD-J Object>
BD-J Object是在JavTM编程环境中写入的BD-J模式的动态脚本,并存储成文件“00001.bobj”。BD-J Object与Movie Object的不同在于其不包含直接写入其中的指令。也就是说,在Movie Object中,控制过程直接写入导航指令中。相反,在BD-J Object中,通过在应用程序管理表中写入的对于JavaTM应用程序的说明间接地定义控制过程。这种间接定义使得能够有效地执行控制过程的共享,其中 有多个动态脚本共享控制过程。
通过写入指示再现PlayList的导航指令(PlayPL指令),实现使用Movie Object的PlayList的再现。通过将指示PlayList再现过程的PlayList管理表合并在BD-J Object中,实现使用BD-J Object的PlayList的再现。
这里,将说明BD-J模式中的JavaTM应用程序。这里假设在BD-J模式中,完全安装在JavaTM平台上的是Java2Micro_Edition(J2ME)Personal Basis Profile(PBP 1.0)以及包媒体目标的Globally Excutable MHP规范(GEM1.0.2)。
经由xlet接口通过Application Manager控制BD-J模式中的JavaTM应用程序。xlet接口具有四种状态:“loaded”、“paused”、“active”和“destroyed”。
上述的JavaTM平台包括用于显示符合JFIF(JPEG)、PNG等的图像数据的标准JavaTM库。通过此结构,JavaTM应用程序能实现与通过HDMV模式中的IG流所实现的GUI不同的GUI框架。JavaTM应用程序中的GUI框架包括在GEM1.0.2中定义的HAVi框架以及GEM1.0.2中的远程控制导航机制。
通过这样的结构,JavaTM应用程序能够实现屏幕显示,其中移动图像与按钮、文本和在线显示(BBS的内容)一起显示在屏幕上,并且能够在显示屏上执行操作。
JavaTM应用程序的实质是存储在图2所示的BDMV目录下的BDJA目录中的JavaTM档案文件(00001.jar)。
下面标识出的国际公布,作为现有技术公开了BD-J Object。请参照以下国际公布以了解BD-J Object的细节。
国际公布:WO 2004/045840A1
WO 2005/036555A1
WO 2005/036546A1
到目前为止已经说明了BD-J Object。
<sound.bdmv>
将说明sound.bdmv。sound.bdmv是用于存储音频数据的文件, 当操作IG流中绘制的菜单或JavaTM应用程序的GUI框架时输出该音频数据作为滴答声(将这种音频数据称作声音数据)。
图11显示了文件sound.bdmv的结构。文件sound.bdmv包括Sound Data()和Sound Index()。Sound Data()包括多条声音数据(sound_data(0)、sound_data(1)…)。在这些声音数据中,sound_data(0)是当操作菜单时输出的第一滴答声的声音源,sound_data(1)是当操作菜单时输出的第二滴答声的声音源。通过称作sound_ID的标识符来标识这些声音数据。
Sound Index()包括:声音的数量(number_of_sound_entries)、对sound_data(0)的索引、对sound_data(1)的索引……。
每个索引包括:指示声音的属性(例如单声道或立体声)的sound_attributes;指示对应的声音数据的地址的sound_data_start_address;和指示对应的声音数据的连续长度的sound_data_length。
如图2至6所示,将电影中所用的声音的源复合到作为主音频流的AVClip中。为了提供主音频流的目的而进行这种设置,其在读取视频流的同时提供电影中的声音/语音。另一方面,其中存储了用于由用户执行的菜单操作的滴答声的文件sound.bdmv与AVClip分离地记录在BD-ROM上。由于文件sound.bdmv与AVClip分离地记录,所以当在读取AVClip过程中试图输出声音数据时,光学拾取器进行跳跃以读取文件sound.bdmv。当发生此情况时,中断读取AVClip,并中断AVClip的再现。
为了防止这种AVClip再现的中断,需要在不再现AVClip时将文件sound.bdmv预先载入到缓冲器中。也就是说,需要在AVClip再现之前预先载入文件sound.bdmv的声音数据。到此完成了文件sound.bdmv的说明。
<Index.bdmv>
Index.bdmv是指示构成字幕的Movie Object或BD-J Object的表。
Index.bdmv定义了作为字幕组成部分的Movie Object或BD-JObject。
下面所述的国际公布公开了Index.bdmv。请参照对Index.bdmv的细节的国际公布。
国际公布:WO 2004/025651A1
到目前为止已经说明了BD-ROM 100。
<本地存储器200>
下面说明作为本发明记录介质的本地存储器200。图12显示了本地存储器200的内部结构。如图12所示,能够通过改进应用层来生产本发明的记录介质。
图12的第四行显示了本地存储器200。第三行显示了本地存储器200上的轨道。图12显示了在水平延伸状态下的轨道,尽管实际上它们按照从本地存储器200的内圆周到外圆周的顺序螺旋地形成。轨道包括导入区、卷标区和导出区。图12的卷标区具有层模型,包括物理层、文件***层和应用层。图12的第一行显示了由目录结构表示的本地存储器200的应用层格式(应用格式)。
在图12所示的目录结构中,在根目录下有子目录“organization#1”。此外,在目录“organization#1”下有子目录“disc#1”。将目录“organization#1”分配给特定的电影提供者。将目录“disc#1”分配给提供者所提供的每个BD-ROM。
通过该结构,其中分配给特定提供者的目录包括对应于BD-ROM的目录,分别地存储每个BD-ROM的下载数据。类似于存储在BD-ROM中的信息,在子目录“disc#1”下,存储下列信息:PlayList信息(“00002.mpls”);Clip信息(“00002.clpi”);AVClip(“00002.m2ts”);BD-J Object(“00002.bobj”);JavaTM档案文件(“00002.jar”);滴答声数据(“sound.bdmv”)和Movie Object(“MovieObject.bdmv”)。
下面说明作为本地存储器200的组成部分的PlayList信息、Clip信息和AVClip。
<本地存储器200结构1:AVClip>
本地存储器200中的AVClip(“00002.m2ts”)构成了SubClip。SubClip是包括与MainClip同时被解码和再现的基本流的AVClip。SubClip被分类为“主音频流”、“次音频流”、“Presentation Graphics(PG) 流”和“Interactive Graphics(IG)流”(以下也可以将SubClip称作Out-of-MUX流)。
在本实施例中,假设图12显示的“00002.m2ts”是其中复合了次音频流、PG流和IG流的SubClip。下面将详细说明次音频流。
<Out-of-MUX流说明1:次音频流>
当主音频流是包括称为主声音/语音的音频流时,次音频流是包括称为副声音/语音的音频流。当再现SubClip时,在主音频流的声音/语音与次音频流的声音/语音混合之后,输出用于再现的声音/语音。将包含在次音频流中的声音/语音包括,例如“解说词声音/语音”。当包含在主音频流中的主声音/语音是电影的声音/语音时,并且包含在次音频流中的副声音/语音是导演的解说词声音/语音时,在与解说词声音/语音混合之后输出电影的声音/语音。
次音频流只记录在本地存储器200上用于再现,而不记录在BD-ROM上。主音频流可以记录在BD-ROM和/或本地存储器200上。用于主音频流的编码编解码器可以不同于用于次音频流的编码编解码器。
图13显示了被复合到SubClip中的基本流。在图13中,具有PID“0x1200”至“0x121F”的PG流、具有PID“0x1400”至“0x141F”的IG流和具有PID“0x1A00”至“0x1A1F”的次音频流被多路复用。此处,SubClip中的PG流和IG流的PID与MainClip中的PG流和IG流的PID相同,但是32个次音频流的PID中的任何一个与32个主音频流的PID中的任何一个都不同,因为它们在高位字节不同。
图14显示了BD-ROM标准的PID分配图。根据图14,将“0x0100”被分配给“program_map”,将“0x1001”分配给“PCR”,将“0x1011”分配给视频流,将从“0x1100”到“0x111F”的范围分配给主音频流,将从“0x1200”到“0x121F”的范围分配给PG流,将从“0x1400”到“0x141F”的范围分配给IG流,将从“0x1A00”到“0x1A1F”的范围分配给次音频流。从PID分配图可以理解,分配给主音频流的范围与分配给次音频流的范围不同。
图15A显示次音频流的内部结构。
如图15A所示,次音频流由多个音频帧构成。图15B显示了音频帧的示例。次音频流的音频帧包括元数据。
图15C显示了元数据的内部结构。如图15C所示,元数据由“下降混合信息”和“增益控制信息”构成。
下降混合信息是用于下降混合的信息。下降混合是一种转换,其中音频再现声道的数量被调制为小于编码声道的数量。下降混合信息定义了用于下降混合的转换系数矩阵,从而使得再现装置能够执行下降混合。例如,下降混合能够使5.1声道的音频流在2个声道中再现。
增益控制信息用于增加或减小主音频流的音频输出的增益。在本实施例中,增益控制信息只用于降低增益。图15D显示了一个增益控制信息的例子。由此可以理解,次音频流的元数据能够实时的降低与次音频流同时再现的主音频流的输出。当组合(混合)主和次音频流时,不必实时控制两个音频流的增益。由于预先知道成对的主和次音频流,所以仅仅在混合(组合)它们时需要降低主音频流的增益,而不改变次音频流的增益。
在从由PlayListMark的“mark_time_stamp”指定的时间开始的期间内能够只存储有效的增益控制信息。
图16显示了如何通过次音频流中的元数据控制主音频流的音量。在图16中,第一行显示了时间轴,第二行显示了能够混合的主音频流的再现输出,第三行显示了次音频流的再现输出,第四行显示了复合在次音频流中的元数据。
设置在对应于再现时间t1的音频帧中的元数据总体上抑制了主音频流的再现输出的音量。设置在对应于再现时间t2的音频帧中的元数据恢复了主音频流的再现输出的音量。通过将元数据设置在再现时间t1和t2的这种布置,能够避免主音频流的再现输出的音量与次音频流的音量进行组合从而导致扬声器损坏的情况。
当使用次音频流的增益控制信息实时地执行用于混合的增益调整时,仅仅对于存储在次音频流的每个音频帧中的增益控制信息来讲,需要指定将主音频流的增益降低预定的量。例如,一直保证适当的增益控制的此方法比通过使用专用再现跳入再现时间t1和t2之间 的时期来执行混合再现的情况更方便。
<本地存储器200结构2:PlayList信息>
接下来将说明本地存储器200中的PlayList信息。附加了扩展名“mpls”的文件(00002.mpls)是通过组合称作MainPath和Subpath的两种类型的显示路径来定义PlayList(PL)的信息。图17显示了PlayList信息的数据结构。如图17所示,PlayList信息包括:定义MainPath的MainPath信息(MainPath());定义章节的PlayListMark信息(PlayListMark());和定义Subpath的Subpath信息(Subpath())。PlayList信息和PlayItem信息的内部结构与BD-ROM的相同,此处省略其说明。
<PlayList信息说明1:Subpath信息>
尽管MainPath是在作为主图像的MainClip方面定义的显示路径,Subpath是在与MainPath同步的SubClip方面定义的显示路径。
图18以特写方式显示了Subpath信息的内部结构。如箭头hc0所示,每个Subpath包括:指示SubClip类型的SubPath_type;和一条或多条SubPlayItem信息(…SubPlayItem()…)。
引线hc1指示SubPlayItem信息的结构的细节。如引线hc1所示,SubPlayItem 信息包括:“Clip_information_file_name”、“Clip_codec_identifier”、“ref_to_STC_id[0]”、“SubPlayItem_In_time”、“SubPlayItem_Out_time ”、“sync_PlayItem_id ”和“sync_start_PTS_of_PlayItem”。
“Clip_information_file_name”是通过写入Clip信息的文件名唯一指定对应于SubPlayItem的SubClip的信息。
“Clip_codec_identifier”指示AVClip的编码方法。
“ref_to_STC_id[0]”唯一指示作为PlayItem的目标的STC_Sequence。
“SubPlayItem_In_time”是指示SubPlayItem在SubClip的再现时间轴上的起点的信息。
“SubPlayItem_Out_time”是指示SubPlayItem在SubClip的再现时间轴上的终点的信息。
“sync_PlayItem_id”是在构成MainPath的PlayItem中唯一指定将与SubPlayItem同步的PlayItem的信息。“SubPlayItem_In_time”出现在由“sync_PlayItem_id”指定的PlayItem的再现时间轴上。
“sync_start_PTS_of_PlayItem”指示在由“sync_PlayItem_id”指定的PlayItem的再现时间轴上,由“SubPlayItem_In_time”指定的SubPlayItem的起点的位置。
<Subpath信息细节1:SubPath_type>
到目前为止,已经说明了Subpath信息。从现在开始,将说明SubPath_type。SubPath_type被设置为0至255之间的值,以指示由SubPath信息定义的SubPath的类型。
当SubPath_type被设置为5时,其表示由SubPath信息定义的SubPath是主音频显示路径。当在其再现之前将被由通过MainPath(PlayItem)引用的主音频流替代的音频流被存储在SubPath(SubPlayItem)中时,使用主音频显示路径。
当SubPath_type被设置为6时,其表示当前的SubPath信息定义用于添加或替代的Presentation Graphics显示路径。这里,“添加或替换”涉及向一个能够由PlayItem信息再现的PG流添加PG流,或者以能够由PlayItem信息再现的任何PG流替换一个PG流。
当SubPath_type被设置为7时,其表示当前的SubPath信息定义用于添加或替换的Interactive Graphics(交互图形)显示路径。这里,“添加或替换”涉及向一个能够由PlayItem信息再现的IG流添加IG流,或者以能够由PlayItem信息再现的任何IG流替换一个IG流。
当SubPath_type被设置为8时,其指示当前的SubPath信息定义了用于添加的次音频显示路径。这里,“添加”涉及将与能够由PlayItem信息再现的主音频流的再现声音/语音混合的次音频流的添加。
例如,当执行主和次音频流的混合再现时,需要操作两个音频解码器和两个混合器,因此需要预先获取播放器的再现类型,这与只再现普通的主音频流的情况不同。为此,使用SubPath_type或STN_table的PID在再现之前通知播放器存在将同步再现的次音频流。
到目前为止,已经说明了SubPath_type。
<Subpath信息细节2:三方间的关系>
应当注意,这里提到的“三方”是本地存储器200中的SubClip、本地存储器200中的PlayList信息和BD-ROM中的MainClip。
图19显示了在本地存储器200中的SubClip、本地存储器200中PlayList信息和BD-ROM中的MainClip之间的关系。在图19中,第一行显示了本地存储器200中的SubClip。如第一行所示,本地存储器200中的SubClip是次音频流、PG流和IG流的任意一个。使这些流的任何一个经历同步再现作为Subpath。
图19的第二行显示了由PlayList信息定义的两个时间轴。在这些时间轴中,下面的时间轴是由PlayItem信息定义的PlayItem时间轴,上面的时间轴是由SubPlayItem信息定义的SubPlayItem时间轴。
如图19所示,SubPlayItem信息的“SubPlayItem_Clip_information_file_name”指示存储在STREAM目录中的“.m2ts”文件之一,用于指定SubClip的再现区间。
“SubPlayItem_In_time”和“SubPlayItem_Out_time”用于定义再现区间的起点和终点。
箭头“sync_PlayItem_id”用于指定同步,即,指定将同步的PlayItem。箭头“sync_start_PTS_of_PlayItem”用于确定“SubPlayItem_In_time”在PlayItem时间轴中的位置。
图20显示了为MainClip设置的EP_map和PlayItem时间轴以及为SubClip设置的EP_map和SubPlayItem时间轴。
在图20中,中间行和下面第四行至下面第一行显示了图10中所示的PlayItem时间轴、图像序列、MainClip时间轴、EP_map和TS包序列。
此外,上面第一行至上面第三行显示了TS包序列、EP_map和SubClip时间轴,上面第四行显示了SubItem时间轴。
到目前为止,已经说明了SubPath信息。
<STN_stable>
唯一属于本地存储器200中的PlayList信息的是STN_stable。下 面说明本地存储器200中的PlayList信息。
STN_stable是指示在复合在由PlayItem信息中的Clip_Information_file_name指定的AVClip中的多个基本流中的、以及在由信息中的Clip_Information_file_name指定的Out_of_MUX流中的可再现流的表。更具体地,通过使分别对应于复合在MainClip中的多个基本流和对应于复合在SubClip中的Out_of_MUX流的Stream_attributes与Stream_entries相关联来产生STN_stable。
图21显示了STN_table的内部结构。如图21所示,STN_stable包括多个STN_stable的条目和属性的对(entry-attribute),并显示了对的数量(number_of_video_stream_entries、number_of_audio_stream_entries、number_of_PG_stream_entries、number_of_IG_stream_entries)。
在STN_table中,如括号“{”所示,每个entry-attribute对与允许通过PlayItem再现的视频流、主音频流、次音频流、PG流和IG流中的任何一个对应。特别地,这里应当注意,次音频流中的Stream_entry与Stream_attribute的对与Comb_info_Secondary_audio_Primary_audio相关联。
现在将详细说明entry-attribute。
图22A显示了对应于视频流的Stream_attribute。
用于视频流的Stream_attribute包括:表示视频流显示方法的“Video_format”;表示视频流的显示频率的“frame_rate”等。
图22B显示了对应于主音频流和次音频流的Stream_attribute。
用于主音频流和次音频流的Stream_attribute包括:表示音频流编码方法的“Stream_coding_type”;表示对应的音频流的声道结构的“audio_presentation_type”;表示对应的音频流的采样频率的“Sampling_frequency”;和表示音频流的语言属性的“audio_language_code”。
图22C显示了视频流的Stream_entry。如图22C所示,用于视频流的Stream_entry包括:表示用于多路分解视频流的PID的“ref_to_Stream_PID_of_Main_Clip”。
用于复合在MainClip中的主音频流、IG流和PG流的 Stream_attribute具有图22C中所示的格式。
图22D显示了用于复合在SubClip中的流(在下面的说明中称作次音频流)的Sub_entry。用于次音频流的Stream_entry包括表示引用次音频流的SubPath信息的“ref_to_Sub_Path_id;表示其中复合次音频流的SubClip的“ref_to_Sub_Clip_entry_id”;和表示用于多路分解次音频流的PID的“ref_to_stream_PID_of_Sub_Clip”。
图22E显示了与次音频流的一对Stream_entry和Stream_attribute相关的的Comb_info_Secondary_audio_Primary_audio的内部结构。Comb_info_Secondary_audio_Primary_audio由下列各项构成:为每个次音频流指示能够与该次音频流组合的主音频流的总数的number_of_primary_audio_stream_ref_entries;和表示再现期间能够组合的主音频流的流数量的primary_audio_stream_id_ref[0]…[n]。
图23显示根据Comb_info_Secondary_audio_Primary_audio的主音频流的说明。在图23中,右侧显示了32个次音频流,左侧显示了32个主音频流。箭头ym1表示根据次音频流#1的Comb_info_Secondary_audio_Primary_audio的说明。以此方式,为每个次音频流设置的Comb_info_secondary_audio_Primary_audio唯一地指定能够与次音频流的再现输出混合的一个或多个主音频流。这中结构使得能够在编辑时根据音频属性设置是否混合次音频流。例如,能够设置在再现期间不将次音频流与具有预定属性的主音频流混合,并设置在再现期间将次音频流与具有除预定属性之外的属性的主音频流混合。
到目前为止,已经说明了本地存储器200中的PlayList信息。这就完成了本地存储器200的说明。
<虚拟包>
从现在开始将说明虚拟包。图24显示了通过再现装置300产生的虚拟包。在图24中,左上方显示了BD-ROM的记录内容,左下方显示了本地存储器200的记录内容。此外,右侧显示了虚拟包的结构。
再现装置通过组合存储在BD-ROM和本地存储器200中的AVClip、Clip信息和PlatList信息获得虚拟文件***。
更具体地,对于此组合,再现装置:
i)虚拟地将本地存储器中的PlayList(00002.mpls)添加到BD-ROM中的MPLS目录;
ii)虚拟地将本地存储器中的Clip信息(00002.clpi)添加到BD-ROM中的CLPI目录;
iii)虚拟地将本地存储器中的AVClip#2信息(00002.m2ts)添加到BD-ROM中的STREAM目录;
通过上述组合,生成图24右侧显示的虚拟包。
到目前为止,已经说明了记录介质。从现在开始将说明再现装置。
图25显示了本发明的再现装置的内部结构。本发明的再现装置是根据图25所示的内部结构工业化生产的。本发明的再现装置主要由***LSI和驱动装置两部分构成,并且能够通过将这些部件安装在箱子中和衬底上进行工业化生产。***LSI是集成电路,其中包括执行再现装置功能的各种处理单元。以此方式生产的再现装置包括:BD-ROM驱动器1a、总线1b、读取缓冲器2a和2b、多路分解器(demultiplexer)3a和3b、视频解码器4、视频面5、缓冲器6a、6b和6c、音频解码器7a和7b、下降混合/下降采样(DownSample)8、混合器9a和9b、开关10a、编码器10b、交互图形解码器11、交互图形面12、显示图形解码器13、显示图形面14、JPEG解码器15、静态图像面16、组合单元17、STC生成单元18a和18b、ATC生成单元19a和19b、存储器21、控制器22、PSR组23、PID变换单元24、通信单元25、操作接收单元26、和HDMI发送/接收单元27。
BD-ROM驱动器1a执行BD-ROM的载入/弹出,并执行对BD-ROM的访问。
总线1b在其上传递从BD-ROM读取的TS包,以及从本地存储器200读取的TS包。
读取缓冲器2a是FIFO存储器,从BD-ROM 100或从本地存储器200读取的TS包按照先进先出的方法存储在其中。
读取缓冲器2b是FIFO存储器,从本地存储器200读取的TS包按照先进先出的方法存储在其中。
多路分解器3a将总线上传输的并且具有PID 0x1011、0x1100-0x111F、0x1200-0x121F和0x1400-141F的TS包中的,具有从PID变换单元24通知的PID的TS包输出到视频解码器4、音频解码器7a、IG解码器11和PG解码器13。
多路分解器3b多路分解在总线1b上传输的TS包中的具有PID0x1A00-0x1A1F的TS包,即构成次音频流的TS包。通过将写入stream_entry中的PID的参考值与总线1b上传输的TS包的PID进行比较,并将具有在比较中匹配的PID的TS包经由缓冲器6b输出到音频解码器7b来实现由多路分解器3b执行的多路分解,其中,所述stream_entry是包含STN_table的次音频流的stream_entry中的对应于存储在PSR 14中的流编号的stream_entry。这里应当注意,如果只有一个可再现的次音频流,则只需将写入stream_entry的PID参考值的高位字节“1A”与总线1b上传输的TS包的PID的高位字节“1A”进行比较。这是因为由于不再有其它的次音频流,所以只需引用表示其是次音频流的PID的高位字节。
如果具有多个可再现的次音频流,则除了将写入stream_entry中的PID参考值的高位字节“1A”与总线1b上传输的TS包的PID的高位字节“1A”进行比较之外,还需要将写入所述stream_entry中的PID参考值的低位字节(范围从0x00到0x1F的值)与总线1b上传输的TS包的PID的低位字节(范围从0x00到0x1F的值)进行比较。这是因为由于具有多个次音频流,所以需要引用PID的低位字节,从而使得唯一地识别次音频流。
这里,由于在总线1b上传输从BD-ROM和本地存储器200读取的TS包,因此多路分解器3a和多路分解器3b将这些从BD-ROM和本地存储器200读取的TS包作为一个传输流处理,并将它们作为一个传输流存储在缓冲器中。分配给构成主音频流的TS包的PID出现在PID分配图中的与分配给构成次音频流的TS包的PID所出现的范围不同的范围中。通过此结构,当输入这些TS包作为一个传输流时,多路分解器3a和多路分解器3b能够将主音频流和次音频流作为不同的基本流输出。这里,多路分解器3a和多路分解器3b能够通过执行 与多路分解它们时相同的过程,将复合在一个传输流中的多个音频流提供给解码器。因此多路分解器3a和多路分解器3b能够按照与只多路分解具有预定PID的TS包的多路分解器兼容的方式,将主音频流和次音频流从一个传输流提供给相应的解码器。
可能存在为了安装而只提供一个多路分解器的情况。在这种情况下,为主音频流和次音频流分配不同的PID是有效的。
到目前为止,已经说明了BD-ROM驱动器1a、总线1b、读取缓冲器2a和2b以及多路分解器3a和3b。
视频解码器4解码从多路分解器3a输出的多个PES包,以获得非压缩的图像,并将获得的图像写入视频面5。
视频面5是用于存储非压缩图像的面。“面”是再现装置中用于存储一屏像素数据的存储区域。视频面5的分辨率是1920×1080。存储在视频面5中的图像数据由多条像素数据构成,每条像素数据由16位的YUV值表示。
缓冲器6a按照先进先出方法在其中存储从多路分解器3a输出的并且具有从0x1100到0x111F的范围中的PID的TS包中的,具有将要再现的音频流的PID的TS包,并将存储的TS包提供给音频解码器7a。
缓冲器6b按照先进先出方法在其中存储从多路分解器3b输出的并且具有从0x1A00到0x1A1F的范围中的PID的TS包中的,具有将要再现的音频流的PID的TS包,并将存储的TS包提供给音频解码器7b。
缓冲器6c是用于在其中预先载入从BD-ROM/本地存储器读取的文件sound.bdmv的存储器。优选的是,当载入BD-ROM时或者当改变名称(title)时,执行到缓冲器6c的预先载入。这是因为在AVClip的再现过程中当试图读取文件sound.bdmv时,光学拾取器执行寻找以读取出与AVClip不同的文件。另一方面,当载入BD-ROM时或者当改变名称时,几乎不再现AVClip。因此,如果当载入BD-ROM时或者当改变名称时一直读取文件sound.bdmv,则装置的响应增加,AVClip的再现不容易于被中断。
音频解码器7a将存储在缓冲器6a中的TS包转换成PES包,解码该PES包以获得LPCM状态的非压缩音频数据,并输出获得的音频数据。这实现了对主音频流的数字输出。
音频解码器7b将存储在缓冲器6b中的TS包转换成PES包,解码该PES包以获得LPCM状态的非压缩的音频数据,并输出获得的音频数据。这实现了对次音频流的数字输出。
下降混合/下降采样8转换从音频解码器7a输出的数字音频,以使其在音频属性方面与从音频解码器7b输出的数字音频相匹配。这里,音频属性是采样频率和/或声道的数量。使得它们彼此兼容。根据由音频解码器7b提取的增益控制信息,下降混合/下降采样8或混合器9a也执行根据复合在次音频流中的元数据降低主音频流一侧的增益的处理。
混合器9a对从音频解码器7a输出的LPCM状态的数字音频与从音频解码器7b输出的LPCM状态的数字音频进行混合。
混合器9b对从混合器9a输出的LPCM状态的数字音频与存储在缓冲器6c中的声音数据进行混合。当CPU 22解码用于输出滴答声的导航指令或用于输出滴答声的字节码时,由混合器9b执行混合。
开关10a在下述(a)和(b)操作之间切换,其中,(a)操作是将通过多路分解器3a多路分解的主音频流的TS包和通过多路分解器3b多路分解的次音频流的TS包提供给音频解码器7a和7b,(b)操作是不提供给音频解码器7a和7b,而是只将基本流输出到其它装置。不将主音频流的TS包提供给音频解码器7a和7b而是只将基本流输出到其它装置的这种操作被称作“传递口输出”(pass-through output)。在开关10a中嵌入了将TS包转换成基本流(去除TS/PES头)的变换单元(未显示)。
当将通过音频解码器7a和音频解码器7b的解码以及混合器9b的混合而获得的LPCM状态的音频数据经过例如S/PDIF的数字接口作为环绕声音/语音发送时,编码器10b将混合的LPCM编码并压缩成杜比数字(DD)格式或杜比影院***(DTS)格式。
交互图形(IG)解码器11解码从BD-ROM 100或本地存储器200 读取出的IG流,并将获得的非压缩的图形写入IG面(IG plane)12。
交互图形(IG)面12是在其中写入通过IG解码器11获得的非压缩图形的面。此外,通过应用程序绘制的字符或图形也写入IG面12。
显示图形(PG)解码器13解码从BD-ROM 100或本地存储器200读取的PG流,并将获得的非压缩的图形写入PG面14。
显示图形(PG)面14是具有一屏区域的存储器,并存储一屏非压缩图形。
JPEG解码器15解码记录在BD-ROM 100或本地存储器200中的JPEG数据,并将获得的数据写入静态图像面16中。
静态图像面16是其中写入了通过解码JPEG数据而获得的非压缩图形的面。此外,通过应用程序绘制的字符或图形也写入IG面12。图形数据被用作通过JavaTM应用程序所写的GUI帧作品的“壁纸”。
组合单元17组合存储在IG面12中的数据、存储在PG面14中的数据、存储在视频面5中的数据和存储在静态图像面16中的数据,以获得合成的图像。
STC生成单元18a和18b按照控制器22的指令生成***时钟(STC),并调整每个解码器的操作时间。
ATC生成单元19a和19b按照控制器22的指令产生到达时钟(ATC),并调整多路分解器的操作时间。存储器21是用于存储当前PL信息和当前Clip信息的存储器。当前PL信息是BD-ROM中存储的多条PlayList信息中的当前被处理的PL信息。当前Clip信息是BD-ROM/本地存储器中存储的多条Clip信息中的当前被处理的Clip信息。
控制器22通过解码由存储在MovieObject.bdmv中的MovieObject或BD-J Object所引用的JavaTM应用程序,并按照解码的结果执行PlayList再现来实现BD-ROM的再现控制(也就是说,根据当前PL信息的再现控制)。控制器22也执行上述的ATS控制和STC控制。
PSR组23是嵌入在再现装置中的寄存器,并且由64个播放器设置/状态寄存器(PSR)和4096个通用寄存器(GPR)构成。在播放器设置/状态寄存器内设置的值(PSR)中,PSR4至PSR8用于表示当前再现点。
PID变换单元24基于STN表将主音频流和次音频流的流编号转换成PID,并将通过变换得到的PID通知给多路分解器3a和3b。
通信单元25实现读取装置中的通信功能。当在BD-J模式中通过JavaTM应用程序指定URL时,通信单元25与指定的URL的网站建立TCP连接或FTP连接。这种连接的建立使得JavaTM应用程序能够从网站上下载数据。
操作接收单元26接收来自用户的操作说明,并将表示用户指定的操作的用户操作信息通知给控制器22。
HDMI发送/接收单元27从经由HDMI(高清晰度多媒体接口)连接的装置接收关于装置的信息,并经过HDMI将通过视频解码器4解码而获得的数字非压缩视频与LPCM音频数据一起发送到该装置。
到目前为止,已经说明了本发明的再现装置的硬件结构。从现在开始,将说明本发明的再现装置的软件结构。
图26在功能方面显示了图25中所示的控制器22。图26显示了控制器22的功能。如图26所示,控制器22包括播放列表处理单元41、过程执行单元42和43、混合控制单元44以及分别使ATC生成单元19a和19b以及STC生成单元18a和18b生成ATC和STC的ATC/STC控制单元。
这些组件基于PSR组23执行的处理。下面说明PSR1、PSR14和PSR31。
<PSR1>
图27A显示了PSR1中的位分配。
如图27A所示,PSR1的32位中的低8位(b0-b7)代表流编号,并识别其条目写在当前PlayItem的STN表中的多个主音频流中的一个。当设置在PSR1中的值改变时,再现装置再现对应于改变以后的设置值的主音频流。PSR1被设置为“0xFF”作为初始值,然后可以通过再现装置设置成从“1”到“32”的范围内的值。值“0xFF”是未指定的值,并且指示不存在主音频流或者未选择主音频流。当PSR1被设置成从“1”到“32”的范围内的值时,设置值被解释为主音频流的流编号。
<PSR14>
图27B显示PSR14中的位分配。
如图27B所示,PSR14的32位中的低8位(b0-b7)代表流编号,并且识别其条目写在当前PlayItem的STN_table中的多个次音频流中的一个。当PSR14中设置的值改变时,再现装置再现对应于改变以后的设置值的次音频流。PSR14设置“0xFF”作为初始值,然后可以通过再现装置设置成从“1”到“32”的范围内的值。值“0xFF”是未指定的值,并且指示不存在次音频流或者未选择次音频流。当PSR14设置成从“1”到“32”范围内的值时,设置值被解释为次音频流的流编号。
<PSR31>
图27C显示了PSR31中的位分配。
如图27C所示,PSR31的32位中的位16至位19(b16-b19)代表播放器概况(profile)信息。当位16至位19为“0000”b时,它们表示再现装置在宽限期内被发送,其中“”b表示位值。这里,宽限期是期间没有预定功能的再现装置可以被发送的时间。在宽限期中发送的再现装置中能够省略的功能包括音频混合功能。因此,如果PSR31的位16至位19(b16-b19)被设置为“0000”b,即如果播放器概况信息是“0000”b,则表示包括音频混合功能在内的预定功能未安装在再现装置中。
当播放器概况信息是“0001”b时,其表示再现装置在宽限期之后被发送。由于基本上要求宽限期之后运送的再现装置要安装将要提供的所有功能,所以“0001”b的播放器概况信息表示再现装置安装了混合功能。
当播放器概况信息是“0011”b时,其表示再现装置安装了所要提供的所有功能。这种再现装置安装了所有功能,而不管是在宽限期之前还是之后运送。因此,当播放器概况信息是“0011”b时,其表示再现装置安装了声音混合功能。
PSR可以包括表示再现装置能够执行混合的声道数量的信息,作为表示混合功能的信息。
或者,PSR可以包括表示最终输出的音频输出声道的数量的信息。例如,如果连接了例如HDMI这样的接口供使用,则作为解码结果的5.1声道LPCM音频能够作为LPCM输出。但是,如果接口例如是S/PDIF,则音频作为2声道(L/R)输出,而不是5.1声道,为此需要利用编码器的压缩。因此,如果判断混合器之后是连接到S/PDIF的编码器(例如,没有连接到HDMI),则最终输出的音频输出声道的数量能够设置为5.1声道。如果混合器之后没有编码器,则在混合之后最终输出的音频输出声道的数量能够被设置为2声道。
到目前为止,已经说明了PSR组23。
从现在开始,将说明播放列表处理单元41、过程执行单元42和过程执行单元43。
<功能结构细节1:播放列表处理单元>
播放列表(PlayList)处理单元41实现PL再现。播放列表处理单元41再现视频流和主音频流的对应于PlayItem信息的从In_time到Out_time的区间的部分,并使其同步,播放列表处理单元41使音频解码器7b再现次音频流的对应于SubPlayItem信息的从Sub_PlayItem_In_time到Sub_PlayIterm_Out_time的区间的部分。
图28是显示由播放列表处理单元执行的PlayList再现过程的流程图。
在此流程图中,首先读取PL信息(.mpls)(步骤S101),然后执行步骤S102到S110。步骤S102到S110构成了循环,其中对构成当前PL信息的每条PI信息重复执行步骤S103到S110,直到在步骤S109中判断为“是”。在此循环处理中,处理对象PlayItem被称作PlayItem#x(PI#x)。通过被设置为当前PL信息的起始PlayItem将PlayItem#x初始化(步骤S102)。用于结束循环的条件是PlayItem#x为当前PL信息的最后的PlayItem(步骤S109)。如果在步骤S109中判断PlayItem#x不是当前PL信息的最后的PlayItem,则将PlayItem#x设置为当前PL信息中的下一个PlayItem(步骤S110)。
在循环处理中重复执行的步骤S103至S110中,将由PlayItem#x的Clip_information_file_name指定的Clip信息读取到存储器上(步 骤S103),使用当前Clip信息的EP_map将PlayItem#x的In_time转换成I图像地址u(步骤S104),使用当前Clip信息的EP_map将PlayItem#x的Out_time转换成I图像地址v(步骤S105),获得I图像地址v的下一个I图像地址,并将所获得的地址的前一个地址设置为地址w(步骤S107),指示BD-ROM 100或本地存储器200从I图像地址u到地址w读取TS包(步骤S108)。
另一方面,指示视频解码器等从当前的PLMark的mark_time_stamp开始输出直到PlayItem#x的Out_time(步骤S106)。在步骤S105到S108中,再现由PlayItem#x指定的AVClip的部分。
之后,判断PlayItem#x是否是当前PL信息的最后的PlayItem(步骤S109)。
如果在步骤S109中判断PlayItem#x不是当前PL信息的最后的PlayItem,则将PlayItem#x设置为当前PL信息中的下一个PlayItem(步骤S110),并且控制返回到步骤S103。因为重复上述的步骤S103到S110,所以按顺序再现了构成当前PL信息的每条PI信息。
<功能结构细节2:过程执行单元42>
当需要将一条PlayItem信息改变到另一条时,或者当用户通过操作指示改变流编号时,过程执行单元42执行预定的流选择过程,并将新的流编号写入PSR1。再现装置根据写入PSR1中的流编号再现主音频流。因此PSR1的设置使得能够选择主音频流。
下面是为什么当改变PlayItem信息时执行流选择过程的原因。由于对应于每条PlayItem信息提供STN_table,所以可能出现不能根据另一条PlayItem信息来再现根据一条PlayItem信息可再现的主音频流的情况。
如图29A所示,过程执行单元42使PSR1改变状态。图29A显示了在PSR1中设置的值的状态转换。在此应当注意,在图29A中,术语“有效的”意味着PSR1的值等于或小于写入PlayItem的STN_table中的条目的数量,并且是可解码的。
术语“无效的”意味着(a)PSR1的值是“0”,(b)PSR1的值大于写入PlayItem的STN_table中的条目的数量,或者(c)即使写入 PlayItem的STN_table中的条目的数量在“1”至“32”的范围内,也是不可解码的。
图29A中以虚线绘制的框表示用于当状态改变时确定PSR的值的过程。将用于为PSR设置值的过程分类为“当播放条件改变时的过程”和“当要求流改变时的过程”。
“当播放条件改变时的过程”是当由于装置发生一些情况而导致再现装置状态改变时将执行的过程。
“当要求流改变时的过程”是当用户要求一些改变时将执行的过程(在图29A中,“改变流”)。
“当播放条件改变时的过程”和“当要求流改变时的过程”是流选择过程,将参照流程图详细说明。
图29A中的箭头象征性地指示PSR的状态转换。
附加到箭头上的注释指示触发每个状态转换的事件。也就是说,图29A指示如果发生例如“载入盘”、“改变流”、“开始播放列表播放”、“跨过播放项目(Play Item)边界”、或“停止播放列表播放”这样的事件,则出现PSR1的状态转换。通过参照图29A应当理解,当发生“无效→无效”或“有效→无效”的状态转换时不执行上述程序。另一方面,“无效→有效”和“有效→无效”的状态转换穿过虚线框。也就是说,当PSR1被设置为“有效”时,执行上述的“当播放条件改变时的过程”和“当要求流改变时的过程”。
下面说明触发状态转换的事件。
事件“载入盘”表示BD-ROM已经载入到再现装置中。在这样的载入中,PSR1被立刻设置为未指定的值“0xFF”。事件“开始播放列表播放”表示已经开始基于PlayList的再现处理。当出现这样的事件时,执行“当播放条件改变时的过程”,并将PSR1设置为“有效”。
事件“停止播放列表播放”表示已经结束基于PlayList的再现处理。应当理解,当出现这样的事件时,不执行“当播放条件改变时的过程”,并将PSR1设置为“无效”。
事件“改变XXX”表示用户被要求改变XXX(在图29A中,流)。如果在PSR1为“无效”时发生此事件(在图29A中由“cj1”指示), 将PSR1设置为所要求的值。即使以此方式设置的值表示有效的流编号,也将PSR1中设置的值作为“无效”值对待。也就是说,在由事件“改变XXX”触发的状态转换中,PSR从来不从无效变为有效。
另一方面,如果在PSR1为“有效”时出现事件“改变流”(在图29A中由“cj2”指示),则执行“当要求流改变时的过程”,并将PSR1设置为新的值。这里,在执行“当要求流改变时的过程”时设置的值可以不是用户所预期的值。这是因为“当要求流改变时的过程”具有排除无效值的功能。如果在PSR1为“有效”时出现事件“改变流”,则PSR1不从有效变为无效。这是因为“当要求流改变时的过程”确保PSR1不变为“无效”。
事件“跨过播放项目边界”表示已经通过播放项目(Play Item)边界。这里,播放项目边界是两个连续播放项目之间的边界,即在两个连续的播放项目中的,前一个播放项目的终点与后一个播放项目的起点之间的位置。如果在PSR1为“有效”时出现事件“跨过播放项目边界”,则执行“当播放条件改变时的过程”。在“当播放条件改变时的过程”执行之后,PSR1的状态或者返回到“有效”或者转变为“无效”。由于对应于每个播放项目提供了STN_table,所以如果播放项目改变,则可再现的基本流也改变。状态转换的目标为通过在每次开始再现播放项目时,执行“当播放条件改变时的过程”,为每个播放项目将PSR1设置为最合适的值。
在上述的状态转换中,如图29B所示执行“当播放条件改变时的过程”。图29B是“当播放条件改变时的过程”的流程图。该过程通过执行两个判断步骤S1和S2在PSR1中设置值。
在步骤S1中,判断STN_table中的条目数量是否为“0”。如果判断STN_table中的条目的数量为“0”,则保持PSR1的值(步骤S3)。
在步骤S2中,如果在步骤S1中判断STN_table中的条目的数量不为“0”,则判断STN_table中的条目的数量是否等于或大于PSR1,以及条件(A)是否为真。这里,条件(A)为再现装置能够再现由PSR1标识的主音频流。如果步骤S2的判断结果是肯定的,则保持PSR1的值(步骤S4)。如果PSR1的值大于STN_table中的条目的数量或者 不满足条件(A),则执行处理来设置PSR1(步骤S5)。
图30是显示步骤S5的详细过程的流程图。
在此流程图中,步骤S6和S7构成了循环,其中对于所有的主音频流重复执行步骤S8。在此循环中,处理对象主音频流被称作主音频流i。在步骤S8中,检查主音频流i是否满足条件(a)、(b)和(c)。
条件(a)为再现装置能够再现主音频流i,并通过比较PSR15与主音频流i的stream_coding_type来判断是否满足该条件。
条件(b)为主音频流i的语言属性与再现装置中的语言设定相同,并通过检查写入STN_stable中的主音频流i的audio_language_code是否等于PSR中设置的值来判断是否满足该条件。
条件(c)为主音频流i的声道属性是环绕的,以及再现装置能够再现其,并通过将PSR15与主音频流i的audio_presentation_type、stream_coding_type进行比较来判断是否满足该条件。
根据方式(i)和(ii),本流程图为主音频流分配优选级,其中(i)为主音频流i满足多个条件中的哪个条件;(ii)为满足多少条件。
在对所有主音频流重复执行处理之后,执行步骤S9至S13。在步骤S9中,判断没有主音频流满足条件(a)是否为真。如果判断为真,则为PSR1设置未指定的值(0xFF)(步骤S14)。
在步骤S10中,判断是否有主音频流满足所有的条件(a)、(b)和(c)。如果判断为肯定的,则在PSR1中设置满足所有条件(a)、(b)和(c)的主音频流的流编号。
这里,如果多个主音频流满足所有的条件(a)、(b)和(c),则需要在它们中确定一个设置在PSR1中。在步骤S15,根据STN_table中的条目的顺序来确定。也就是说,在步骤S15中,如果存在多个在编解码、语言属性和声道属性方面相同的主音频流,则参照STN_table并且选择在STN_table中的条目顺序为第一的主音频流。
因此,负责编辑的人能够通过改变STN_table中的条目顺序来控制将要再现的流的优先级。
如果没有主音频流满足所有的条件(a)、(b)和(c),则控制进行到步骤S11,在步骤S11判断是否有满足条件(a)和(b)的主音频流。如果 判断有满足条件(a)和(b)的主音频流,则将这些流中的在STN_table中的条目顺序为第一的主音频流设置在PSR1中(步骤S16)。
如果没有主音频流满足所有的条件(a)、(b)和(c),并且没有满足条件(a)和(b)的主音频流,则控制进行到步骤S12,在步骤S12判断是否有满足条件(a)和(c)的主音频流。如果判断有满足条件(a)和(c)的主音频流,则将这些流中的在STN_table中的条目顺序为第一的主音频流设置在PSR1中(步骤S17)。
如果没有满足所有的条件(a)、(b)和(c)的主音频流,并且没有满足条件(a)和(b)的主音频流,也没有满足条件(a)和(c)的主音频流,则控制进行到步骤S13,在步骤S13判断是否有满足条件(a)的主音频流。如果判断有满足条件(a)的主音频流,则将这些流中的在STN_table中的条目顺序为第一的主音频流设置在PSR1中(步骤S18)。
到目前为止,已经说明了“当播放条件改变时的过程”。从现在开始,将说明“当要求流改变时的过程”。图31是显示当要求流改变时用于设置PSR1的过程的流程图。图31的流程图与图29B的流程图的不同之处在于,在一些地方,用X代替PSR1。“X”是根据从操作接收单元26输出的用户操作信息或从PG解码器13输出的按钮命令确定的值。
在流程图的步骤S19中,判断STN_table中的条目数量是否等于或大于X,以及条件(A)是否为真。这里,条件(A)为再现装置能够再现由PSR1标识的主音频流。通过将PSR15与与主音频流的stream_coding_type进行比较来判断。如果步骤S19的判断结果是肯定的,则将X设置到PSR1(步骤S21)。
如果X大于STN_table中的条目的数量或者不满足条件(A),则判断X是否为0xFF。这里,如果X不是0xFF,则认为用户想要选择的主音频流的编号是无效的,并且忽视根据用户操作确定的值X,保持PSR1中设置的值(步骤S23)。
如果X为0xFF,则设置PSR1(步骤S24)。步骤S24的处理过程与图30所示的过程相同(在图30所示的步骤中,在“当要求流改变时的过程”中不需要步骤S9中的判断。这是因为在“当要求流改变 时的过程”中,如果没有主音频流满足条件(a)、(b)和(c),则用户设置的X不被设置到PSR1,并保持PSR1中设置的值)。
<功能结构细节3:过程执行单元43>
当需要将一条PlayItem信息改变成另一条时,或者当用户通过操作指示改变流编号时,过程执行单元43执行预定的流选择过程,并将新的流编号写入PSR14。再现装置根据写入PSR14中的流编号再现主音频流。因此,PSR14的设置使得能够选择主音频流。
过程执行单元43使PSR14实现如图32A所示的状态转换。
图32A显示了在PSR14中设置的值的状态转换。在此应当注意,在图32A中,术语“有效的”意思是PSR14的值等于或小于写入PlayItem的STN_table中的条目的数量,并且是可解码的。
术语“无效的”意思是(a)PSR14的值是“0”,(b)PSR14的值大于写入Play Item的STN_table中的条目的数量,或者(c)即使写入PlayItem的STN_table中的条目的数量在“1”至“32”的范围内,也是不可解码的。
以图32A中虚线绘制的框表示用于当状态改变时确定PSR的值的过程。将用于为PSR设置值的过程分类为“当播放条件改变时的过程”和“当要求流改变时的过程”。
“当播放条件改变时的过程”是当由于装置发生一些情况导致再现装置状态改变时将执行的过程。
“当要求流改变时的过程”是当用户请求一些改变时将执行的过程(在图32A中,“改变流”)。
“当播放条件改变时的过程”和“当要求流改变时的过程”是流选择过程,将参照流程图详细说明。
图32A中的箭头象征地指示了PSR的状态转换。
附加到箭头的标注表示触发每种状态转换的事件。也就是说,图32A指示如果发生例如“载入盘”、“改变流”、“开始播放列表播放”、“跨过播放项目边界”、或“改变主音频流”的事件,则出现PSR14的状态转换。通过参照图32A应当理解,当发生“无效→无效”或“有效→无效”的状态转换时不执行上述过程。另一方面,“无效→ 有效”和“有效→有效”的状态转换穿过虚线框。也就是说,当PSR14设置为“有效”时,执行上述“当播放条件改变时的过程”或“当要求流改变时的过程”。
下面说明触发状态转换的事件。
事件“载入盘”表示BD-ROM已经载入到再现装置中。在这样的载入中,PSR14被立刻设置为未指定的值“0xFF”。
事件“开始播放列表播放”表示已经开始基于PlayList的再现处理。当出现这样的事件时,执行“当播放条件改变时的过程”,并将PSR14设置为“有效”。
事件“停止播放列表播放”表示已经终止基于PlayList的再现处理。应当理解,当出现这样的事件时,不执行“当播放条件改变时的过程”,并将PSR14设置为“无效”。
事件“改变XXX”指示用户要求改变XXX(在图32A中,流)。如果当PSR1为“无效”时发生此事件(在图32A中由“cj1”指示),则将PSR14设置为所要求的值。即使以此方式设置的值表示有效的流编号,也将在PSR14中设置的值作为“无效”值对待。也就是说,在由事件“改变XXX”触发的状态转换中,PSR从来不从无效变为有效。
另一方面,如果在PSR14为“有效”时发生事件“改变流”(在图32A中由“cj2”指示),则执行“当要求流改变时的过程”,并将PSR14设置为新的值。这里,当执行“当要求流改变时的过程”时设置的值可以不是用户所预期的值。这是因为“当要求流改变时的过程”具有排除无效值的功能。如果在PSR14为“有效”时发生事件“改变流”,则PSR14不从有效变为无效。这是因为“当要求流改变时的过程”确保PSR14不变为“无效”。
事件“跨过播放项目边界”表示已经通过播放项目边界。这里,播放项目边界是两个连续播放项目之间的边界,即在两个连续的播放项目中的前一个播放项目的终点与后一个播放项目的起点之间的位置。如果当PSR14为“有效”时发生事件“跨过播放项目边界”,则执行“当播放条件改变时的过程”。在“当播放条件改变时的过程” 执行之后,PSR14的状态或者返回到“有效”,或者如果发生事件“跨过播放项目边界”或“改变主音频流”,则转变为“无效”。状态转换的目的在于在每次将要开始再现播放项目或者每次改变主音频流时,通过执行“当播放条件改变时的过程”为每个播放项目将PSR14设置为最合适的值。
在上述的状态转换中,如图32B所示执行“当播放条件改变时的过程”。该过程通过执行两个判断步骤S31和S32在PSR14中设置值。
在步骤S31中,判断STN_table中的条目的数量是否为“0”。如果判断STN_table中的条目的数量为“0”,则保持PSR14的值(步骤S33)。
在步骤S32中,如果在步骤S31中判断STN_table中的条目的数量不为“0”,则判断STN_stable中的条目的数量是否等于或大于PSR14,以及条件(A)和条件(B)是否为真。这里,条件(A)为再现装置能够再现由PSR14标识的主音频流,条件(B)为在STN_table中允许Primary_Audio_Stream_Number和Second_Audio_Stream_Number的组合。如果步骤S32的判断结果是否定的(在步骤S32中为“否”),则保持PSR14中设置的值(步骤S34)。如果步骤S32的判断结果是肯定的(在步骤S32中为“是”),则执行设置PSR14的处理(步骤S35)。
图33是显示步骤S35的详细过程的流程图。
在此流程图中,步骤S36和S37构成了循环,其中对于所有的次音频流重复执行步骤S38。在此循环中,处理对象次音频流被称作次音频流i。在步骤S38中,检查次音频流i是否满足条件(a)、(b)和(c)。
条件(a)为再现装置能够再现次音频流i,并通过将表示音频流再现能力的寄存器(PSR15)与次音频流i的stream_coding_type进行比较来判断是否满足该条件。
条件(b)为主音频流能够与次音频流混合,并且通过检查设置在PSR14中的流编号是否写入Comb_info_Secondary_audio_Primary_audio来判断是否满足该条件。
条件(c)为次音频流i的语言属性与再现装置中的语言设定相同, 并通过检查写入STN_table中的次音频流i的audio_language_code是否等于PSR中设置的值来判断是否满足该条件。
根据方式(i)和(ii),本流程图为次音频流分配优选级,其中(i)为次音频流i满足多个条件中的哪个条件,(ii)为满足多少条件。
在对所有次音频流重复执行处理之后,执行步骤S39至S41和步骤S44至S46。在步骤S39中,判断没有次音频流满足条件(a)和(b)是否为真。如果判断为真,则为PSR14设置未指定的值(0xFF)(步骤S44)。
在步骤40中,判断是否存在满足所有条件(a)、(b)和(c)的次音频流。如果判断为肯定的,则在PSR14中设置满足所有条件(a)、(b)和(c)的这种次音频流的流编号。
这里,如果存在多个满足所有条件(a)、(b)和(c)的次音频流,则需要在它们中确定一个设置在PSR14中。在步骤S45,根据STN_table中的条目顺序来确定。也就是说,在步骤S45中,如果存在多个在编解码、语言属性和声道属性方面相同的次音频流,则参照STN_table并且选择在STN_table的条目顺序为第一的次音频流。
因此,通过改变STN_table中的条目顺序,负责编辑的人能够控制将要再现的流的优先级。
如果不存在满足所有条件(a)、(b)和(c)的次音频流,则控制进行到步骤S41,在步骤S41判断是否有满足条件(a)和(b)的次音频流。如果判断有满足条件(a)和(b)的次音频流,则将这些流中的在STN_table中的条目顺序为第一的次音频流设置在PSR14中(步骤S46)。
到目前为止,已经说明了“当播放条件改变时的过程”。从现在开始,将说明“当要求流改变时的过程”。图34是显示当要求流改变时用于设置PSR14的过程的流程图。图34的流程图与图32B的流程图的不同之处在于,在一些地方,使用X代替PSR14。“X”是根据从操作接收单元26输出的用户操作信息或从PG解码器13输出的按钮命令确定的值。
在流程图的步骤S49中,判断STN_table中的条目的数量是否等于或大于X,以及条件(A)和(B)是否为真。如果步骤S49的判断结果 是肯定的,则将X设置到PSR14(步骤S51)。
如果或者X大于STN_table中的条目的数量或者不满足条件(A)和(B),则判断X是否为0xFF(步骤S52)。这里,如果X不是0xFF,则认为用户想要选择的次音频流的编号是无效的,并且忽视根据用户操作确定的值X,并且保持PSR14中设置的值(步骤S53)。
如果X为0xFF,则设置PSR14(步骤S54)。步骤S54的处理过程与图33所示的过程相同(在图30所示的步骤中,在“当要求流改变时的过程”中不需要步骤S39中的判断。这是因为在“当要求流改变时的过程”中,如果没有满足条件(a)、(b)和(c)的次音频流,则用户设置的X不能被设置到PSR14,保持PSR14中设置的值)。
这就完成了过程执行单元43的说明。
<功能结构细节4:混合控制单元44>
如果播放器概况信息为0001h或0011h,则混合控制单元44控制混合器9a和9b来将主音频流的再现输出与次音频流的再现输出或声音数据的再现输出进行混合。
当PlayItem时间轴中的当前再现点在从SubPlayItem信息的In_time到Out_time的时间段内时,并且当次音频流在当前PlayItem信息的STN_Table中为有效时,混合控制单元44控制混合器9a以将音频解码器7a的再现输出与音频解码器7b的再现输出进行混合,这是因为音频解码器7b正在解码具有存储在PSR14中的流编号的次音频流。
如果主音频流的属性为“环绕的”,则能够在执行下降混合之后混合次音频流的再现输出,从而使得在例如L、R、C、LS、RS、LR、RR和LFE这样的分量中只保持期望的分量。这里,当次音频流是例如电影导演的解说词时,通过将与次音频流混合的主音频流的声道从L变为C和变为R,能够使用户感到好像导演就在其身边。这样的混合被称作漫游(panning)。在漫游中,使用声道数量少于主音频流的次音频流的声音/语音(例如,单声道的)。
当在通过JavaTM应用程序绘制的按钮上执行确认操作时,或者当在通过IG流绘制的按钮上执行确认操作时,混合控制单元44控制混 合器9b以将声音数据与主音频流的再现输出,或者与主音频流的再现输出和次音频流的再现输出的混合结果进行混合。
如上所述,按照本实施例,多路分解器3b能够获得在总线1b上传输的TS包,参照PID的高位字节,并将TS包输入专用于次音频流的解码器。通过此结构,多路分解器3b能够只多路分解构成次音频流的PES包,并且将PES包输入与专用于主音频流的解码器不同的解码器。
由于能够将构成主音频流的包和构成次音频流的包相应地输入不同的解码器,所以能够例如只对构成主音频流的包的增益进行下行变换、下降混合或降低。这使得即使在从BD-ROM 100读出主音频流的同时从本地存储器200读出次音频流,并且将两种流提供给两个相应的解码器时,也能够只使构成主音频流的包经历实时的特殊处理。
第二实施例
本发明的第二实施例涉及在家庭影院***的再现装置300和AV放大器500中选择用于解码主音频流的装置。
图35A显示了再现装置300、AV放大器500和扬声器600的连接形式。家庭影院***中的连接形式分类为再现装置300直接连接到扬声器600而不连接到之间的AV放大器500的形式(连接形式(1)),以及再现装置300经过AV放大器500连接到扬声器600的形式(连接形式(2))。
在前一种连接形式(1)中,通过再现装置300解码而获得的LPCM被提供至扬声器600。另一方面,在后面的连接形式(2)中,再现装置300仅执行传递口输出,并且通过AV放大器500解码而获得的LPCM被提供至扬声器600。
当在家庭影院***中可采用两种或多种连接形式时,在家庭影院***的每个装置中声道的数量会改变。
图35B显示了在再现装置300、AV放大器500和扬声器600中的每一个中声道的数量如何改变。图35B的第一行显示了BD-ROM 100、再现装置300、AV放大器500和扬声器600中的每一个。关于这些装置的解码能力,再现装置300最多能够解码5.1声道,AV放大器500最多能够够解码7.1声道,扬声器600最多能够够解码7.1声道。
第二至第四行显示了当BD-ROM 100具有7.1声道和5.1声道的主音频流时,通过哪个装置以及如何进行下降混合。第二行显示了BD-ROM 100具有7.1声道的主音频流以及通过再现装置300进行解码的情况。在此情况下,再现装置300从BD-ROM 100读取7.1声道的主音频流,并将其解码和下降混合成5.1声道,然后输出下降混合后的5.1声道的LPCM。AV放大器500将下降混合后的5.1声道的LPCM转换成7.1声道,并将转换后的7.1声道的LPCM输出到扬声器600。
第三行显示了BD-ROM 100具有5.1声道的主音频流的情况。在此情况下,再现装置300解码5.1声道的主音频流,并在不进行下降混合的情况下将作为解码结果的LPCM输出到AV放大器500。AV放大器500将5.1声道的LPCM转换成7.1声道,并将转换后的7.1声道的LPCM输出到扬声器600。
第四行显示了BD-ROM 100具有7.1声道的主音频流并由再现装置300通过传递口输出而输出的情况。在此情况下,由AV放大器500执行解码,并将作为AV放大器500的解码结果的7.1声道的声音/语音提供给扬声器600,并作为声音/语音输出。
下面比较了这些输出。在第二行的情况中,再现装置300将声音/语音从7.1声道转换为5.1声道,然后AV放大器500将其从5.1声道变为7.1声道,并将7.1声道的声音/语音输出到扬声器600。通过此构造,尽管记录在BD-ROM 100上的音频流是7.1声道,但是在第二行的情况中最终输出的声音/语音的音频质量几乎与第三行情况中最终输出的声音/语音的音频质量没有不同。
另一方面,在第四行的情况下,由于使具有7.1声道解码能力的AV放大器500来解码7.1声道的音频流,所以预计有高质量的输出。
在本实施例中,在这样的输出形式中,当再现装置所连接到的装 置具有再现能力时,再现装置执行传递口输出,使得该装置执行解码。
使用HDMI的DIB(解码器信息块)来确定连接对方的装置具有多高的再现能力或解码能力,或者确定是否执行流输出。图36A显示了DIB。
如图36A所示,DIB包括:显示编码方法的“编码类型”,通过该编码方法能够进行到AV放大器500的输出;显示连接对方的装置能够解码的声道数量的“声道计数”;显示扬声器的布置的“声道/扬声器配置”;和显示连接对方的装置能够再现的频率的“采样频率”。
图36B显示了能够设置在DIB的每个字段中的值。
在图36B的示例中,“编码类型”的行显示了编码方法DTS-HD、MLP、和DD+,通过这些方法连接对方的装置能够解码。在“编码类型”的实际写入中,使用四个参数“CT0”、“CT1”、“CT2”和“CT3”。此外,“声道计数”的行显示了5.1ch、7.1ch、和2ch,这些是连接对方的装置能够解码的声道数量。
此外,“声道/扬声器配置”的行显示了“L/R/C/LS/RS/LFE”,“L/R/C/LS/RS/LR/RR/LFE”和“L/R”,其表示分别对于5.1ch、7.1ch、和2ch的扬声器的物理布置。
“采样频率”的行显示了采样频率“48KHz”、“192KHz”和“96KHz”。
图36C显示了在再现装置300与AV放大器500之间使用DIB的通信序列。
当再现装置300与AV放大器500连接时,再现装置300的HDMI发送/接收单元27与AV放大器500执行由“◎1”所示的相互验证,然后如“◎2”所示,其作为接收机从AV放大器500接收DIB。当参照DIB之后,如果确认AV放大器500能够解码主音频流,则再现装置300能够通过传递口输出将主音频流输出到AV放大器500,如“◎3”所示。如果AV放大器500不能解码主音频流,则或者传输由再现装置解码的LPCM,或者不再现该流。
下面说明在第二实施例中对再现装置的改进。
图37显示了在PSR组23中的PSR15的内部结构。
与第一实施例中所述的PSR1、PSR14和PSR31相同,PSR15是32位长。
位b0至b3显示再现装置是否能够解码和再现LPCM音频流。当四位是“0001”b时,其表示再现装置能够再现具有立体声属性的48/96Hz的LPCM音频流。当四位是“0010”b时,其表示再现装置能够再现具有环绕属性的48/96Hz的LPCM音频流。当四位是“0101”b时,其表示再现装置能够再现具有立体声属性的任何频率的LPCM音频流。当四位是“0110”b时,其表示再现装置能够再现具有环绕属性的任何频率的LPCM音频流。
PSR15的位b4至b7显示再现装置是否能够解码和再现DD/DD+音频流。当四位的下两位是“01”b时,其表示再现装置能够最多再现DD/DD+音频流的基本数据(独立的副流)的两个声道(2ch)。当四位的下两位是“10”b时,其表示再现装置能够再现多声道(数量大于2ch的声道)的DD/DD+音频流的基本数据(独立的副流)。
当四位的上两位是“01”b时,其表示再现装置能够最多再现两个声道(2ch)的DD/DD+音频流的扩展数据(非独立的副流)。当四位的下两位是“10”b时,其表示再现装置能够再现多个声道(数量大于2ch的声道)的DD/DD+音频流的扩展数据(非独立的副流)。
当四位的上两位是“00”b时,其表示再现装置不能够再现DD/DD+音频流的扩展数据(非独立的副流)。
PSR15的位b8至b11显示了再现装置是否能够解码和再现DTS-HD音频流。当四位中的低两位是“01”b时,其表示再现装置能够再现DTS-HD音频流的基本数据(核心副流)的最多两个声道(2ch)。当四位中的低两位是“10”b时,其表示再现装置能够再现DTS-HD音频流的基本数据(核心副流)的多个声道。
当四位中的高两位是“01”b时,其表示再现装置能够最多再现两个声道(2ch)的DTS-HD音频流的扩展数据(扩展副流)的能力。当四位的高两位是“10”b时,其表示再现装置能够再现多个声道的DTS-HD音频流的扩展数据(扩展副流)。
当四位中的高两位是“00”b时,其表示再现装置不能够再现 DTS-HD音频流的扩展数据(扩展副流)。
PSR15的位b12至b15显示再现装置是否能够解码和再现DD/MLP音频流。当四位的低两位是“01”b时,其表示再现装置能够最多再现两个声道(2ch)的DD音频流。当四位中的低两位是“10”b时,其表示再现装置能够再现多个声道的DD音频流。
当四位的高两位是“01”b时,其表示再现装置能够最多再现MLP音频流的两个声道(2ch)。当四位中的高两位是“10”b时,其表示再现装置能够再现MLP音频流的多个声道。
当四位中的高两位是“00”b时,其表示再现装置不能够再现MLP音频流。
如上所述,PSR15能够为每种编码方法定义再现装置是否能够处理基本数据和扩展数据。这里,PSR15的说明中使用的“2ch”是指分别为L和R的两个声道。
通过PSR15的这种定义,第二实施例中的控制器22按照图38所示的流程执行主音频流的再现控制。图38是显示在第二实施例中的控制器22的处理过程的流程图。
在步骤S61中,判断是否已经激活再现装置。如果判断已经激活再现装置,则验证经过HDMI连接的对方的装置(步骤S62)。当连接的装置成功地相互验证时,控制移动到步骤S63。步骤S63是循环,在其中重复地判断是否已经接收到DIB。如果判断已经接收到DIB(在步骤S63中为“是”),则控制器22通过参照从连接对方接收到的DIB来识别连接对方的再现能力和扬声器(排列)的数量(步骤S64)。然后在步骤S65中,判断连接对方是否具有再现能力。如果判断连接对方具有再现能力,则控制器22显示用于接收传递口输出请求的菜单(步骤S67),并判断用户是否要求传递口输出(步骤S68)。
这里应当注意,如果通过参照DIB识别出连接到扬声器的装置(在许多情况中是AV放大器)具有解码能力,则可以自动地设置传递口输出(在步骤S68中为“是”),从而使得连接对方的装置执行解码,而不允许用户设置。
此外,可以预先地设置如果通过参照再现装置300的装置设置菜 单(初始设置菜单)识别出连接对方的装置具有解码能力,则自动地设置传递口输出(在步骤S68中为“是”)。
图39和40显示了用于接收关于是否执行传递口输出的确定的菜单。图39和40所示的菜单中的每一个都由假定吸引用户注意的消息构成:“在你的影院***中,在连接目的地装置音频解码可用”;或者“当在连接目的地装置XXX执行音频解码时,你能够欣赏高质量的音频”;以及用于接收关于是否允许连接目的地装置执行解码的确定的”是”和”否”按钮。
在图40的菜单所示的消息中,“XXX”可以填入产品名称或者AV放大器500的型号。或者,“XXX”可以填入产品名称或者电视机400的型号以及AV放大器500的型号,允许用户在其中选择。这使得用户能够选择将执行解码的装置。此外,如果用户具有两个或多个AV放大器,则优选的是显示AV放大器的产品名称和/或型号,使得用户能够在其中选择一个。
当用户在菜单的”是”按钮上进行确认以指示传递口输出时,根据DIB在PSR15中设置对于音频的播放器能力(步骤S71),并且使过程执行单元42执行根据AV放大器500的解码能力选择主音频流的过程(步骤S72)。之后,通过传递口输出来输出从BD-ROM读取的AVClip的主音频流(步骤S73)。
如果用户不执行使得AV放大器500执行解码的操作,则控制器22按照再现装置自身的解码能力设置PSR15,使再现执行单元42执行选择主音频流的过程(步骤S69),并使得通过再现装置解码的声音/语音(LPCM)被输出(步骤S70)。
图41和42是显示用于根据DIB在PSR15中设置音频的播放器能力的过程的流程图。
在图41的流程图中,在步骤S200中,判断DIB.CODING_TYPE是否指示DD+。
如果判断DIB.CODING_TYPE指示DD+,则控制移动到步骤S201,在步骤S201中判断DIB的声道计数是否具有大于2的值。如果步骤S201的判断结果是肯定的,则控制移动到步骤S203,在步骤 S203将非独立副流的“能力”设置为10b:环绕能力。
如果在步骤S201中判断为”否”,则控制移动到步骤S205,在步骤S205将非独立副流的“能力”设置为01b:立体声能力。
在图42的流程图中,在步骤S82中,判断DIB.CODING_TYPE是否指示MLP。如果判断DIB.CODING_TYPE指示MLP(在步骤S82中为“是”),则控制移动到步骤S91,在步骤S91中判断DIB的声道计数是否具有大于2的值。
如果步骤S91的判断结果是肯定的(在步骤S91中为“是”),则控制移动到步骤S93,在步骤S93将MLP的“能力”设置为10b:环绕能力。如果在步骤S91中判断为”否”,则控制移动到步骤S94,在步骤S94将MLP的“能力”设置为01b:立体声能力。
这里应当注意,尽管在图41和42的步骤S201和S91的判断中使用了DIB的声道计数,但是也可以替换的使用声道/扬声器配置。
如上所述,根据本实施例,经过例如HDMI的数字接口获得了连接对方装置的能力的信息,并且根据获得的能力信息设置PSR15。此外,从BD-ROM盘/本地存储器选择主音频流,并执行所选的主音频流的传递口输出。这使得能够有效地利用连接对方装置的解码器资源以实现高质量的音频再现。此外,由于AV放大器和扬声器经常作为一套来开发/销售。在这样的情况下,AV放大器提供了用于匹配扬声器特性的调整。因此,即使再现装置能够使用其内部解码器进行解码,也能够使连接到再现装置的AV放大器进行解码,以获得声学上较高质量的再现结果。
第三实施例
第一实施例中的本地存储器200是嵌入在再现装置中的硬盘,而第三实施例中的本地存储器200是作为便携式记录介质的SD存储卡。本实施例涉及当动态脚本记录在再现装置所使用的便携式记录介质中时的改进。
SD存储卡是便携式记录介质,具有安全区域和非安全区域。例如第一实施例中所示的那些本地存储器上的文件在其被编码之后被 记录在非安全区域中,密钥记录在安全区域中。不能从安全区域读取密钥,除非通过由SD存储卡执行的验证已确认读取者的真实性。这种结构防止了从非安全区域未授权地复制文件,并且使得只在BD-ROM是可访问时才能够读取文件。
动态脚本是例如JavaTM应用程序的程序或者是第一实施例中说明的Movie Object,其使再现装置通过PlayList信息执行再现。动态脚本可以记录在BD-ROM 100或本地存储器200上。当动态脚本记录在便携式记录介质上时,其意味着该动态脚本可被设置在各个位置的任何的再现装置访问。因此,可以由安装在汽车上的再现装置300来访问该动态脚本。
图43A显示了安装在汽车中的再现装置300。再现装置300和电视机400构成了汽车音频***。便携式本地存储器200可以与BD-ROM 100一起安装在再现装置300中。
当再现装置300安装在汽车中时,最好清楚地指示再现装置300类似于CD再现装置那样***作。为了清楚地指示再现装置300类似于CD再现装置那样***作,如图43B所示构造本实施例中的PSR31。
图43B显示了在第三实施例中的PSR31的内部结构。当再现装置安装在汽车中时,通过制造商的工程师或通过终端用户将第三实施例中PSR31的播放器概况信息设置为“1000”b。当PSR31的概况信息被设置为“1000”b时,概况信息指示再现装置被作为音频概况播放器操作。这里,“音频概况播放器”指示再现装置不适于经由交互屏幕***作,而是类似于CD播放器那样***作(也就是说,再现装置是BD-ROM再现装置,只通过类似于CD再现装置的线性操作对内容进行再现控制,并且不准备经由GUI等对内容进行再现控制,或者当其检测到汽车运行时再现装置临时地转换到这样的模式)。
当再现装置类似于CD播放器时,通过以章节为单位执行的操作(例如章节跳过和章节搜索)来再现内容。通过图17所示的PlayListMark信息来定义章节。
下面说明PlayList Mark信息。
图44显示了包含在PlayList信息中的PlayList Mark信息的内部 结构。如附图中引线pm0所示,PlayList Mark信息包括多条PL Mark信息(#1-#n)。PL Mark信息(PL Mark())指定了在PL时间轴上作为章节点的给定位置。如附图中引线pm1所示,PlayList Mark信息包括:指示作为章节指定的对象的PlayItem的“ref_to_PlayItem_Id”;和通过时间符号指示PlayItem中的章节位置的“Mark_time_stamp”。
图45显示了依据PL Mark信息的章节位置的指定。图45的第二至第五行显示了图10所示的EP_map和AVClip。
第一行显示了PL Mark信息和PL时间轴。在第一行中显示了两条PL Mark信息#1和#2。箭头kt1和kt2通过PL Mark信息中的ref_to_PlayItem_Id指示PlayItem的指定。根据箭头可以理解,PL Mark信息中的ref_to_PlayItem_Id指定了将被引用的PlayItem。此外,Mark_time_stamp指示章节#1和#2在PL时间轴上的时间。以此方式,PL Mark信息在PlayItem时间轴上定义了章节点。
到目前为止,已经说明了PL Mark信息。从现在开始,将说明对动态脚本的改进。
在程序嵌入到再现装置中的情况下,在制造阶段已知程序是用于汽车还是用于家庭影院***。但是,在动态脚本(Movie Object、JavaTM 应用程序)经由BD-ROM 100或便携式本地存储器200提供给再现装置的情况下,不能预先知道程序是用于汽车还是用于家庭影院***。这是因为用户确定是BD-ROM 100还是作为SD存储卡的本地存储器200将用于再现装置。
由于此原因,当设置播放器概况信息来指定音频概况播放器时,Movie Object或JavaTM应用程序需要控制将类似于CD播放器而***作的再现装置工作。另一方面,当播放器概况信息被设置为其它时,最好经由交互屏幕操作再现装置。
图46是本实施例中的JavaTM应用程序的处理过程的流程图。
在步骤S149中,判断是否设置PSR31来指定音频概况播放器。如果步骤S149中的判断结果是否定的,则开始再现PlayList(步骤S150)。然后控制移动到步骤S151中的循环。
步骤S151构成等待菜单呼叫操作的循环。如果判断已经执行了 菜单呼叫操作,则显示菜单(步骤S152),并执行步骤S153到S156。在步骤S153中,判断是否已经执行焦点移动操作。如果判断已经执行了焦点移动操作,则将焦点移动到另一个按钮上(步骤S155)。
在步骤S154,判断是否已经执行在按钮上进行确认的操作。如果判断已经执行了在按钮上进行确认的操作,则执行符合该按钮的处理(步骤S156)。
如果在步骤S149中判断PSR31被设置用来指定音频概况播放器(在步骤S149中为“是”),则再现音频通知的PlayList以通知用户执行线性的类似于CD的再现。然后控制移动到由步骤S158至S159构成的循环。
在步骤S158中,判断是否已经输入数值。在步骤S159中,判断是否已经操作向前跳跃键或向后跳跃键。
如果在步骤S158中判断已经输入了数值,则控制移动到步骤S160,在其中执行章节搜索功能。如果在步骤S159中判断已经操作了向前跳跃键或向后跳跃键,则控制移动到步骤S161,在其中执行章节跳过功能。
在上面提供的示例中,使用了JavaTM应用程序。当使用MovieObject时,使用IG流中的导航命令或Movie Object的导航命令来执行步骤S153至S155。在此情况下的操作类似于JavaTM应用程序的情况下的操作,因此省略了说明。
下面参照流程图提供章节搜索和章节跳过的过程的说明。图47是显示章搜索的过程的流程图。
首先,将对应于输入值的PL Mark信息设置为当前PL Mark(步骤S125)。其次,在步骤S126中,将写入当前PL Mark的ref_to_PlayItem_Id中的PI设置为PlayItem#x(步骤S126)。在步骤S127中,读取由PlayItem#x的Clip_information_file_name指定的Clip信息。在步骤S128中,使用当前Clip信息的EP_map将当前PLMark的Mark_time_stamp转换成I图像地址u。
在步骤S129中,使用当前Clip信息的EP_map将PlayItem#x的Out_time转换成I图像地址v。在步骤S130中,指示解码器输出 从当前PLMark的Mark_time_stamp延伸到PlayItem#x的Out_time的数据。到目前为止,已经说明了章节搜索。从现在开始,将说明章节跳过。图48是显示章跳过的过程的流程图。
在步骤S132中,判断向前跳跃键和向后跳跃键的哪一个被按压。如果判断向后跳跃键被按压,则控制移动到步骤S133,在其中将方向标志设置为-1。如果判断向前跳跃键被按压,则控制移动到步骤S134,在其中将方向标志设置为+1。
在步骤S135中,转换当前的PI编号和当前的PTM,以指定当前的PLMark。在步骤S136中,将通过将方向标志的值与当前的PLMark编号相加所得的结果设置为当前的PL Mark编号。这里,在向前跳跃键的情况下,方向标志已经设置为+1,因此当前的PL Mark编号增加;在向后跳跃键的情况下,方向标志已经设置为-1,因此当前的PL Mark编号减小。在以此方式设置了PL Mark信息之后,通过执行步骤S126到S130来读取TS包,如图47所示。
到目前为止,已经说明了在根据PL Mark信息的再现中的再现装置的过程。
如上所述,按照本实施例,当设置PSR31以指定音频概况播放器时,能够使用例如Movie Object或JavaTM应用程序这样的动态脚本,从而使得用户能够以相当于CD再现装置的操作能力来再现PlayList。通过这种结构,用户能够按照与音乐CD相同的方式来操作BD-ROM。更具体地,章节搜索/跳过功能对应于音乐CD中搜索/跳过歌曲的功能。此外,当动态脚本在未被设置成音频概况播放器的再现装置上运行时,假设图像被输出,通过被显示的基于GUI的菜单,交互再现是可获得的。在经过例如HDMI的接口执行再现的情况下,下列功能是可用的,所述HDMI使得能够监控所连接的装置的状态。也就是说,能够监控监视器的电源的ON/OFF,或者监控输入源图像的选择,如果检测到监视显示器没有显示再现的图像,则可以设置PSR31指定音频概况播放器,或者可以暂停再现,或者可以关闭再现装置300连同监视显示器。
第四实施例
第四实施例涉及如何获得第一实施例中所述的PlayList信息、Clip信息、或AVClip信息。获取处理的中心体是JavaTM应用程序。这是因为JavaTM应用程序能够在网络上形成连接并从服务器装置提交预期文件。
能够使用被称作JavaTM.net的JavaTM软件库中提供的开放式连接方法建立用于从服务器获取文件的连接。下面是当服务器中文件的URL为http://xxx.com/vp_data/0.m2ts时的这种连接的例子。
例子:
新的JavaTM.net.URL(http://xxx.com/vp_data/0.m2ts.
OpenConnection()
图49是在第四实施例中的JavaTM应用的流程图。在步骤S181中,开始再现BD-ROM中的PlayList。之后,在步骤S182中,从BD-ROM读取“Organization”和“Disc-id”,其中“Organization”是指示分发BD-ROM的公司或组织,“Disc-id”是BD-ROM的标识符。
在步骤S183中,判断本地存储器200不具有对应于在步骤S182中读取的Organization或Disc-id的区域是否为真。
如果判断本地存储器200不具有这样的区域,则控制转移到步骤S184,在其中判断PSR31的播放器概况不是“0000”b是否为真。
如果步骤S183或步骤S184中的判断结果为”否”,则结束当前的处理。如果本地器200不具有对应于Organization或Disc-id的区域,并且如果能够执行音频混合,则步骤S183和步骤S184中的判断结果都是”是”。
如果步骤S183和步骤S184中的判断结果都是”是”,则显示具有“更新按钮”的菜单(步骤S185)。然后,等待在“更新按钮”上的确认(步骤S186)。
图50显示了显示具有“更新按钮”的菜单的示例。在图50中,按钮“更新”是上述的“更新按钮”。如果执行操作以在“更新按钮”上进行确认,则在步骤S187中将Disc-id和PlayList-id发送至服务器 装置。
Disc-id是BD-ROM的识别信息,PlayList-id是正在再现的PlayList的识别信息。服务器装置使用这些信息在内容提供者的数据库上选择将获取的额外内容。将所选的额外内容经过网络发送回再现装置。额外内容包括将记录在本地存储器200上的一组文件(PlayList信息、Clip信息和AVClip)。
在步骤S188中,等待额外内容的接收。如果接收到额外内容,则控制移动到步骤S189,在其中将构成所接收的额外内容的PlayList信息、Clip信息和AVClip写入本地存储器200。之后,如果完成了从服务器装置的下载并且在再现中混合已经变为可用的,则通知用户混合在再现中是可用的(步骤S190)。然后处理进入循环,等待用户要求混合(步骤S191)。如果用户要求混合,则控制移动到步骤S192,在其中停止PlayList的再现,并构造虚拟包。
询问服务器是否更新是可用的,以及是否能够在任何时间执行下载用于更新的内容。例如,当载入盘或者再现内容时能够定期运行它们。此外,用户可以询问在准备开始再现之后是否立即再现内容(在准备再现虚拟包之后立即进行)。
如上所述,根据本实施例,当初始再现PlayList时,在执行下载的同时再现AVClip,并且用户在等待将被下载到本地存储器200中的数据的同时能够观察PlayList的再现图像。这防止了用户无聊的等待将被下载到本地存储器200中的数据,即使在本地存储器200中作为一个文件的数据具有几百兆字节。
这里,可以作为初始设置在再现装置300中设置从本地存储器200删除额外内容的条件,再现装置300可以根据初始设置删除额外的内容。例如,最好初始设置指定接收时间的输入,并在预定时间删除额外内容(例如在过了一个月之后自动删除额外内容)。
或者,当弹出BD-ROM时,可以询问用户是否从本地存储器200删除额外的内容,如果用户的回答是肯定的,则可以删除额外内容。
此外,当BD-ROM是具有只读区域和可写区域的部分盘(partialdisc)时,可以将本地存储器200中的额外内容写入部分盘的可重写区 域中。
<补充注释>
到目前为止,已经说明了到提交申请时申请人所知的用于执行本发明的最佳方式。但是,在下面的技术问题方面可以对本发明进行进一步的改进或修改。这里应当注意,是否进行改进或修改是可选的,这取决于本发明的实施。
<将对额外内容进行的设置>
优选的是,初始地将再现装置设置为在下载之后的几个月或几年之后从本地存储器200删除额外内容。
<PID的替代>
在第一实施例中,使用PID分辨主音频流与次音频流。在替代使用MPEG2-PS的情况下,最好主音频流和次音频流的PES包头具有不同的stream_id。
在***流的等级中只要求主音频流和次音频流是可辨识的,使得两个音频流是可通过一个多路分解器辨识的。或者,在两个流组合成一个之前只要求改变一个流的PID,从而使得两个流能够被辨识。
<控制过程的实现>
在上述实施例中使用流程图所说明的控制过程以及在上述实施例中所说明的功能部件的控制过程都满足“程序发明”的要求,这是因为上述控制过程是使用硬件资源具体实现的,并且是利用自然法则的技术思想的创建。
本发明的程序的产生
本发明的程序是能够在计算机上运行的目标程序(objectprogram)。目标程序由一个或多个能使计算机运行流程图中的每个步骤或功能部件的每个过程的程序代码构成。有各种类型的程序代码,例如处理器的本地代码和JavaTM字节代码。也有各种实现程序代码的步骤的形式。例如,当能够通过使用外部函数来实现每个步骤时,使用用于调用外部函数的调用语句作为程序代码。实现一个步骤的程序代码可以属于不同的目标程序。在其中限制了指令类型的RISC处理 器中,可以通过组合算术运算指令、逻辑运算指令、分支指令等来实现流程图的每个步骤。
能够如下产生本发明的程序。首先,软件开发者使用编程语言写出实现每个流程图和功能组件的源程序。在这过程中,软件开发者使用符合他/她使用的编程语言的语句结构的类结构、变量、数组变量、对外部函数的调用等。
将写出的源程序作为文件发送至编译器。编译器编译源程序并产生目标程序。
由编译器执行的编译包括例如语句结构分析、优化、资源分配和代码生成的处理。在语句结构分析中,分析字符和短语、语句结构和源程序的意思,并将源程序转换成中间程序。在优化中,中间程序经历例如基本块设置、控制流分析和数据流分析这样的处理。在资源分配中,为了适应目标处理器的指令集,将中间程序的变量分配给目标处理器的寄存器或存储器。在代码生成中,将中间程序中的每个中间指令转换成程序代码,并获得目标程序。
在生成目标程序之后,程序员激活链接器。链接器为目标程序和相关的库程序分配存储器空间,并将它们链接在一起以生成加载模块。生成的加载模块是基于以下假定的,即由计算机读取并使计算机运行流程图中所示的过程和功能部件的过程。能够以此方式产生本发明的程序。
本发明的程序的使用
能够如下使用本发明的程序。
(i)用作嵌入式程序
当本发明的程序被用作嵌入式程序时,将作为程序的加载模块与基本输入/输出***(BIOS)程序以及各种中间件(操作***)写入指令ROM中。当指令ROM被嵌入在控制单元中并通过CPU执行时,本发明的程序被用作再现装置300的控制程序。
(ii)用作应用程序
当再现装置300是硬盘嵌入型时,将基本输入/输出***(BIOS)程序嵌入在指令ROM中,并在硬盘中预先安装各种中间件(操作系 统)。此外,将用于从硬盘激活***的引导ROM设置在再现装置300中。
在此情况下,只将加载模块经过可运输的记录介质和/或网络提供给再现装置300,并安装在硬盘中作为一个应用程序。这使得再现装置300能够通过引导ROM执行引导以激活操作***,然后使CPU运行作为一个应用程的安装的加载模块,从而使得能够使用本发明的程序。
如上所述,当再现装置300是硬盘嵌入式时,可以将本发明的程序用作一个应用程序。因此,能够经过网络单独地传输、租借或提供本发明的程序。
<控制器22>
能够将上述实施例中描述的例如控制器22这样的部件实现为一个***LSI。
通过在高密度衬底上实现承载芯片(bear chip)并封装它们来获得***LSI。也通过在高密度衬底上实现多个承载芯片并封装它们来获得***LSI,从而使得多个承载芯片具有一个LSI的外观(将这样的***LSI称作多芯片模块)。
***LSI具有QFP(四边引线扁平封装)类型和PGA(针栅阵列)类型。在QFP型***LSI中,针脚连接到封装的四边上。在PGA型***LSI中,许多针脚连接到整个底部。
这些针脚用作与其它电路的接口。通过例如接口的针脚与其它电路连接的***LSI用作再现装置300的核心。
封装在***LSI中的承载芯片包括前端单元、后端单元和数字处理单元。前端单元将模拟信号数字化。后端单元将通过数字处理获得的数字数据转换成模拟格式并输出模拟数据。
在数字处理单元中实现上述实施例中显示的内部结构组件。
如在上面的“用作嵌入式程序”中的说明,将作为程序的加载模块、基本输入/输出***(BIOS)程序和各种中间件(操作***)写入指令ROM中。通过作为程序的加载模块实现实施例的主要改进。因此能够通过封装其中存储了作为程序的加载模块的指令ROM作为承载芯 片来生产本发明的***LSI。
关于具体实现方法,最好使用SoC实现或SiP实现。SoC(片上***)实现是用于在芯片上印刷多个电路的技术。SiP(封装内***)实现是用于通过树脂等封装多个电路的技术。通过这些处理,能够根据上面每个实施例中所述的再现装置300的内部结构生产本发明的***LSI。
这里应当注意,尽管这里使用了术语LSI,但是根据集成的水平,其也可以被称作IC、LSI、超大规模集成电路、超LSI等。
此外,每个再现装置的部分或所有的部件可以被实现为一个芯片。集成电路不限于SoC实现或SiP实现,也可以通过专用电路或通用处理器来实现。此外能够通过使用在制造后可被重新编程的FPGA(现场可编程门阵列)、或者能够重新配置LSI内的电路单元的连接和设置的可重新配置的处理器来实现集成电路。而且,随着半导体技术的改进或转变到其它的技术,在不远的将来可能出现替代LSI的用于集成电路的技术。在此情况下,可以将新技术结合在构成上述本发明的功能块的集成中。这钟可能的技术包括生物技术。