再生装置、再生方法及程序转让专利

申请号 : CN200980117431.3

文献号 : CN102027544B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 田中敬一山口高弘山下健

申请人 : 松下电器产业株式会社

摘要 :

由于受控复制消耗了大量的资源,若在再生装置一侧控制的受控复制和记录介质上的BD-J应用执行同时动作,会陷入资源不足的情况。本发明提供一种再生装置,在受控复制中,对于BD-J应用虚拟地使盘看上去是被取出的状态,从而对盘的访问加以限制,由此在避免了受控复制和BD-J应用执行之间的资源竞争的同时,使受控复制和BD-J应用执行的同时动作成为可能。

权利要求 :

1.一种再生装置,具备CPU,一边使应用执行,一边执行再生控制或复制控制,其特征在于,该再生装置具备:

再生部,包括解码器;和

平台,在上述CPU上运行,包括将应用变换为本地代码,并使上述再生装置的上述CPU动作的字节码解释器,上述平台包括介质再生模块,

上述再生控制是根据经过了上述平台内的I/O模块的来自上述应用的请求,读出在多个记录介质中的第一记录介质中记录的数据来供给上述再生部的处理,上述复制控制是不经由上述平台内的I/O模块而从上述第一记录介质读出数据,并写入上述多个记录介质中的第二记录介质的处理,在上述复制控制被执行期间,若上述I/O模块以及上述介质再生模块变为拒绝从上述应用对上述第一记录介质的数据的请求的状态,则上述应用把上述第一记录介质作为不存在的介质来进行处理。

2.如权利要求1所述的再生装置,其特征在于,

上述再生装置还具备:

读入控制部,从上述第一记录介质或上述第二记录介质读入数据;

写入控制部,向上述第二记录介质写入数据;以及

复制控制部,使上述读入控制部以及上述写入控制部动作,从而从上述第一记录介质读出数据,将上述读出的数据写入第二记录介质,上述平台包括复制控制API,该复制控制API用于上述应用使上述复制控制部动作,上述应用能够使用复制控制API控制上述复制控制部的动作。

3.如权利要求2所述的再生装置,其特征在于,

上述再生部还具备解复用器,

上述再生装置具备控制上述解复用器及上述解码器的AV再生库,包含在上述平台中的介质再生模块具有用于调用上述AV再生库的AV再生控制API,上述再生装置构成为,利用上述应用使用上述介质再生模块中所包含的AV再生控制API而调用的上述AV再生库,对上述解复用器以及上述解码器进行控制,由此进行上述再生控制,并且,在上述复制控制部进行的复制控制被执行期间,拒绝利用上述应用使用上述介质再生模块中所包含的AV再生控制API而调用的上述AV再生库,以使上述复制控制部能够使用上述AV再生库对上述解复用器以及上述解码器进行控制。

4.如权利要求3所述的再生装置,其特征在于,

在上述复制控制部进行的复制控制被执行期间,上述介质再生模块中包含的AV再生控制API转变为拒绝来自应用的请求的状态。

5.如权利要求3所述的再生装置,其特征在于,

上述复制控制是在服务器装置的管理下执行的受控复制,该服务器装置经由网络与上述再生装置连接,上述复制控制部具备接收部,该接收部接收从上述服务器装置发送的密钥信息,并将上述接收到的密钥信息设定在复制控制部,在上述接收到的密钥信息被设定在复制控制部后开始上述复制控制部进行的复制控制。

6.如权利要求4所述的再生装置,其特征在于,

若上述I/O模块以及上述介质再生模块变为依照来自上述应用的再生请求的状态,则上述应用把第一记录介质作为存在的介质来进行处理。

7.如权利要求2所述的再生装置,其特征在于,

上述复制控制部具备通知部,该通知部通知用于上述复制控制的、对第一记录介质上的数据的读取已开始的情况以及对上述第二记录介质上的数据的写入已结束的情况,上述复制控制API包括登记API,该登记API根据来自上述应用的调用来登记上述通知部应该通知的应用,当在上述平台上动作的应用调用上述登记API而进行了登记的情况下,上述通知部向通过上述登记API而被登记了的应用进行通知。

8.如权利要求7所述的再生装置,其特征在于,

在对上述第一记录介质上的数据的读取或者对上述第二记录介质上的数据的写入已失败的情况下,上述通知部向通过上述登记API而被登记了的应用通知基于上述复制控制的复制已失败的情况。

9.如权利要求7所述的再生装置,其特征在于,

上述再生装置还具备进度管理部,

上述进度管理部根据来自应用的编程接口的调用,向上述应用通知基于上述复制控制的向第二记录介质已写入的数据大小和预计写入但未写入的剩余的数据大小。

10.一种再生方法,用于具备CPU、一边在计算机上使应用执行,一边执行再生控制或复制控制的再生装置,其特征在于,上述计算机具备:

再生部,包括解码器,和

平台,在上述CPU上运行,包括使应用变换为本地代码并且使上述再生装置的CPU动作的字节码解释器,上述平台包括介质再生模块,

上述再生控制是根据经过了上述平台内的I/O模块的来自上述应用的请求,读出在多个记录介质中的第一记录介质中记录的数据来供给上述再生部的处理,上述复制控制是不经由上述平台内的I/O模块而从上述第一记录介质读出数据,并写入上述多个记录介质中的第二记录介质的处理,上述再生方法包括:

执行上述复制控制的步骤;以及

请求拒绝步骤,在上述复制控制被执行期间,若上述I/O模块以及介质再生模块变为拒绝从上述应用对上述第一记录介质的数据的请求的状态,则上述应用把上述第一记录介质作为不存在的介质来进行处理。

说明书 :

再生装置、再生方法及程序

技术领域

[0001] 本发明涉及对记录在BD-ROM(Blu-Ray Disc Read Only Memory:蓝光只读光盘)等的记录介质中的影像数据进行再生的再生装置,尤其涉及将记录在该记录介质中的影像数据向该记录介质以外的其他的记录介质进行记录的技术(受控复制:Managed Copy)。

背景技术

[0002] 受控复制是指,在将记录于BD-ROM等的只读记录介质的数字流、应用程序(下面,称为“应用”)向其他的光盘(BD-R、BD-RE、DVD-R、DVD-RW、DVD-RAM等)、硬盘、可移动存储介质(SD存储卡、存储棒(memory stick)、CF(Compact Flash)卡(注册商标)、SM(Smart Media)卡、MMC(Multimedia Card)卡等)等的可读写的记录介质复制时,不允许无限制地复制,在复制前与服务器进行通信,仅在进行了认证且被许可的状态下才能够执行复制的技术。通过该技术,由于能够进行限制备份次数、仅在已收费的状态下才允许备份等的控制,不需要完全禁止BD-ROM的备份,使得在受到管理的状态进行备份成为可能,能够提高BD-ROM视听的便利性。
[0003] 作为受控复制的现有技术,有在以下的专利文献中记载的技术。
[0004] 现有技术文献
[0005] 专利文献
[0006] 专利文献1:日本特开2008-98765号
[0007] 然而,若将受控复制完全交给再生装置侧,则不能够进行基于内容提供者的独自的管理,不能够有效地使用复制时间,例如,内容提供者采用独自的收费方法,复制中插入宣传,或者在复制时间中为了不使用户无聊而使简单的游戏应用程序动作等。但是,由于受控复制中消耗了较多的资源,若使在再生装置侧进行控制的受控复制和记录介质上的应用执行同时动作,则可能会陷入资源不足的情况。例如,在从BD-ROM向DVD-R进行备份时,除了进行BD-ROM的读取、向DVD-R的写入之外,还需要进行数字流的再压缩和加密处理。在这样的状况下,若执行应用,则会发生内存不足、BD-ROM读取的冲突、数字流的再生和压缩的冲突等的各种问题。若正在进行受控复制时执行应用,由于陷入资源不足而复制失败,这对于为了进行受控复制而已被收费的用户来说会造成很大的麻烦。
[0008] 为了避免上述那样的竞争,可以考虑在受控复制执行中使应用的动作全部结束这样的控制。但是,若为了避免与受控复制之间的资源使用的竞争而使动作中的应用完全结束,则不能够使应用执行受控复制的收费处理、受控复制的进度显示等,需要通过再生装置的常驻程序来实现这些功能。但是,网络中计费方式(清算:clearance)大多数情况下每个内容提供者都不同,若在再生装置侧实现基于受控复制的收费处理,则制造再生装置的制造者必须支持这些内容提供者各自的清算。这样对每个内容提供者的清算的支持给再生装置的制造者造成了极大的负担,结果使得家电设备的受控复制采用的可能性变小。

发明内容

[0009] 本发明的目的在与提供一种既能够避免受控复制和应用执行的资源竞争,又能够实现受控复制和应用执行的同时动作的再生装置。
[0010] 为了解决上述课题,本发明提供一种再生装置,一边执行应用,一边执行对多个记录介质的介质控制,其特征在于,对多个记录介质的介质控制包括再生控制和复制控制,该再生装置具备再生部以及使应用动作的平台,上述再生控制是根据通过了平台内的I/O模块的来自应用的请求,从多个记录介质中读出在第一记录介质中记录的文件来供给再生部的处理,上述复制控制是不经由平台内的I/O模块而从上述第一记录介质读出数据,并写入第二记录介质的处理,上述I/O模块在复制控制被执行期间,拒绝来自应用的请求。
[0011] 发明效果
[0012] 在执行复制控制期间,平台内部的I/O模块拒绝来自上述应用的再生指示,由此,即使在受控复制中执行了来自应用的再生请求,由于没有执行再生,能够防止数字流的读取、译码、压缩中所利用的拾取控制、编码器、解码器等的资源竞争。
[0013] 此外,在受控复制的执行中,由于不是使动作中的应用全部结束,因此例如动作中的应用使用可利用的API,能够控制复制动作中的用户接口。
[0014] 因此,能够实现复制中的宣传、广告显示,在播放器侧不需要具有受控复制的用户接口,因此能够降低再生装置中的实装成本。此外,在实现受控复制时,能够通过应用来终结全部与服务器之间的通信,因此内容的制作工作室不会施加与服务器之间的通信使用何种协议这样的限制。由于产生了通信协议选择的自由度,工作室采用各自的协议,由此能够实现用于受控复制的清算。此外,再生装置不必为了与服务器之间的处理而实装常驻程序各自的通信模块,从而能够降低实装成本。
[0015] 另外,通过采用本发明,内容提供者可以通过网络同意用户进行BD-ROM的复制,并征收其等价报酬,在进行该等价报酬的征收时,可以采用内容提供者各自的清算。因此,基于BD-ROM的电影作品的发布而获得了一次收益后,通过同意该BD-ROM的复制,内容提供者能够容易地实现获取二次收益这样的商业模式。因此,内容提供者能够获得新的商机。
[0016] 此外,可以任意优选在执行上述复制控制部对上述第一记录介质上的数据的读取以及对上述第二记录介质的数据的写入的期间,若上述I/O模块以及介质再生模块变为拒绝来自应用的再生请求的状态,则上述应用把第一记录介质当做不存在的介质来进行处理,若上述I/O模块以及介质再生模块变为依照来自应用的再生请求的状态,则上述应用把第一记录介质当做存在的介质来进行处理。
[0017] 在受控复制中,即使应用请求了对BD-ROM上的数据的访问,由于作为第一记录介质的BD-ROM处于虚拟的被取出的状态,即使在访问目的地存在数据,也当做不存在而使访问失败,由于不进行实际的盘访问,能够防止BD-ROM的读取发生冲突。
[0018] 此外,任意优选在对上述第一记录介质上的数据的读取或者对上述第二记录介质上的数据的写入已失败的情况下,上述通知部向通过上述登记API而被登记的应用通知基于上述复制控制的复制已失败。
[0019] 该情况下,即使在复制中强制性地取出介质等而导致复制失败,由于应用能够接收复制失败通知,因此在复制失败时,能够采取取消复制前进行的收费等的对策。
[0020] 此外,任意优选上述再生装置还具备进度管理部,上述进度管理部根据来自应用的编程接口的调用,向上述应用通知基于上述复制控制的向第二记录介质已写入的数据大小和预计写入但未写入的剩余的数据大小。
[0021] 由此,虽然变为了虚拟的盘被取出的状态,不能从应用对BD-ROM上数据进行访问的状态,由于应用能够把握复制的开始和结束以及进度状况,因此能够在画面上显示表示进度的进度条或者显示剩余时间,到复制结束为止,可以显示宣传和广告画面和/或执行游戏应用程序等。

附图说明

[0022] 图1是表示实施方式1的系统图
[0023] 图2是表示实施方式1中的BD-ROM的数据层级图
[0024] 图3是表示以实施方式1中的BD-ROM为对象的软件的层模型的图。
[0025] 图4是表示通过实施方式1中的2个模式的动态的再生控制而制作的电影作品的图。
[0026] 图5是表示实施方式1中的再生装置的内部构成的图。
[0027] 图6是表示实施方式1中的受控复制控制部的内部构成的图。
[0028] 图7是表示实施方式1中的BD-J模块的具体构成的图。
[0029] 图8是表示实施方式1中的受控复制的流程图。
[0030] 图9是表示实施方式1中的复制目标介质选择画面的一例的图。
[0031] 图10是表示实施方式1中的受控复制中的画面显示的一例的图。
[0032] 图11是表示实施方式1中的盘访问限制的开始、结束的图。
[0033] 图12是表示实施方式1中的盘访问限制中的BD-J模块的内部构成的图。
[0034] 图13是表示实施方式1中的受控复制控制部的复制实施的流程图。
[0035] 图14是表示实施方式2中的考虑了可移动存储介质的文件名限制的受控复制的图。
[0036] 图15是表示实施方式2中的文件名变换表的一例的图。
[0037] 图16是表示录放式的再生装置的一般的内部构成以及添加了该代码转换的构成要素的图。
[0038] 图17是表示了BD-J模块的一般的构成要素的内部构成图。
[0039] 图18是表示拒绝来自BD-J应用的请求的状态的图。
[0040] 图19是表示拒绝来自BD-J应用的请求的状态结束并回复为通常后的状态的图。
[0041] 图20表示了受控复制前后中的标题边界应用、复制控制应用、受控复制控制部所进行的处理的时间转变。
[0042] 图21将来自BD-J应用的API调用与对应于该调用的处理内容建立对应来表示。
[0043] 图22是表示复制执行部604的处理顺序的流程图。
[0044] 图23是表示BD-J应用管理器的处理顺序的流程图。
[0045] 图24是表示进行复制控制的BD-J应用如何利用API的处理顺序的流程图。
[0046] 图25是表示利用了API的收费处理的处理顺序的流程图。
[0047] 图26是表示伴随着小游戏执行和/或预告片再生的复制进度显示的一例。
[0048] 附图标记说明
[0049] 101再生装置
[0050] 102遥控器
[0051] 103输出显示器
[0052] 104可移动存储介质
[0053] 105BD-ROM
[0054] 106外接驱动器
[0055] 401只读BD驱动器
[0056] 402读入控制部
[0057] 403解复用器(demultiplexer)
[0058] 404视频解码器
[0059] 405视频平面(plane)
[0060] 406音频解码器
[0061] 407图形(image)存储器
[0062] 408图形平面
[0063] 409图形解码器
[0064] 410加算器
[0065] 411静态场景(scenario)存储器
[0066] 412动态场景存储器
[0067] 413HDMV模块
[0068] 414BD-J模块
[0069] 415UO检测模块
[0070] 416模式管理模块
[0071] 417调度程序(Dispatcher)
[0072] 418渲染引擎(Rendering engine)
[0073] 420AV再生库
[0074] 421网络接口
[0075] 422本地存储器
[0076] 423受控复制控制部
[0077] 601序列号读出部
[0078] 602介质ID读出部
[0079] 603介质状态管理部
[0080] 604复制执行部
[0081] 605复制状态通知部
[0082] 606复制进度管理部
[0083] 607随机值(nonce)生成写入部
[0084] 608密钥信息写入部
[0085] 701JavaBD-J应用
[0086] 702介质再生模块
[0087] 703受控复制模块
[0088] 704I/O模块
[0089] 705网络模块
[0090] 706BD-J应用管理器
[0091] S101复制对象介质确认步骤
[0092] S102复制对象介质选择步骤
[0093] S103剩余容量管理步骤
[0094] S104收费处理步骤
[0095] S105密钥信息的要素数据取得步骤
[0096] S106密钥信息取得步骤
[0097] S107复制实施步骤
[0098] S201盘访问限制开始步骤
[0099] S202复制开始通知步骤
[0100] S203数据复制步骤
[0101] S204盘访问限制解除步骤
[0102] S205复制结束通知步骤
[0103] S206复制失败通知步骤

具体实施方式

[0104] 下面,针对本发明的实施方式,参照附图来进行说明。
[0105] (实施方式1)
[0106] 首先,对本发明的再生装置的实施行为中的使用行为的形态进行说明。图1是表示本发明的再生装置的使用行为的形态的一例的图。图1中,本发明的再生装置是再生装置101。该再生装置101具有向例如由遥控器102、电视机103形成的家庭影院系统提供电影作品的用途。此外,再生装置101具备插入SD存储卡、存储棒、CF卡、SM卡、MMC卡等的可移动存储介质104的插入口以及用于外接BD驱动器106的插入口。
[0107] 以上是关于本发明的再生装置的使用形态的说明。接下来对作为本发明的再生装置的再生的对象的记录介质(media)进行说明。在本例子中,本发明的再生装置所再生的记录介质是光盘即BD-ROM105。
[0108] 图2是表示BD-ROM(下面有时也称为“BD”)的结构的图。本实施方式中,将用于再生电影等的AV内容的AV应用作为主要着眼点来说明BD-ROM,但当然也可以将BD-ROM换成CD-ROM、DVD-ROM那样的用于计算机的记录介质来利用本发明。BD-ROM与其他的光盘,例如DVD、CD等相同,具有从其内周向外周呈螺旋状的记录区域,内周的导入(lead in)和外周的导出(lead out)之间具有能够记录逻辑数据的逻辑地址空间。此外,在导入的内侧是仅被称为BCA(Burst Cutting Area)的驱动器才能够读出的特别的区域。该区域不能够从应用被读出,因此在著作权保护技术等中被利用,记录有表示记录介质的物理的序列号的PMSN(Pre-recordedMedia Serial Number)。
[0109] 在逻辑地址空间中记录有影像数据等的应用数据,该应用数据的开头是文件系统信息(容量:volume)。文件系统是UDF、ISO9660等,与通常的PC相同,能够使用目录、文件结构来读出所记录的逻辑数据,能够读出255字符的文件名、目录名。
[0110] 在本实施方式的情况下,BD-ROM上的目录、文件结构是在根目录(ROOT)下有BDMV目录和CERTIFICATE目录。BDMV目录是记录有通过BD-ROM来处理的AV内容、管理信息等的数据的目录,CERTIFICATE目录下有discroot.crt(文件名固定)文件,记录着在应用的署名检证时所使用的证书。
[0111] 在BDMV目录下存在有被称为PLAYLIST目录、CLIPINF目录、STREAM目录、BDJO目录和JAR目录的5个子目录,BDMV目录下配置有index.bdmv、MovieObJect.bdmv 2种文件。
[0112] STREAM目录可以说是存储了成为数字流主体的文件的目录,该目录下存在附加了扩展名M2TS的文件(xxx.m2ts,其中“xxx”可变,扩展名“m2ts”固定)。在PLAYLIST目录下存在附加了扩展名mpls的文件(xxx.mpls,其中“xxx”可变,扩展名“mpls”固定)。在CLIPINF目录下存在附加了扩展名clpi的文件(xxx.clpi,其中“xxx”可变,扩展名”clpi”固定)。在JAR目录下存在附加了扩展名jar的文件(xxx.jar,其中“xxx”可变,扩展名“jar”固定)。在BDJO目录下存在附加了扩展名bdjo的文件(xxx.bdjo,其中“xxx”可变,扩展名”bdjo”固定)。
[0113] 附加了扩展名“m2ts”的文件是使MPEG-TS(Transport stream)格式的数字AV流、视频流、1个以上的音频流、1个以上的副影像流复用而得到的。视频流是电影的影像部分,音频流是电影的音声部分,副影像流分别表示电影的字幕。
[0114] 附加了扩展名“clpi”的文件是与每个数字AV流1对1对应的Clip信息。作为管理信息,Clip信息具有数字AV流的编码格式、帧率、比特率、分辨率等的信息,以及表示GOP的开头位置的EP_map。
[0115] 附加了扩展名“mpls”的文件是存储了PlayList信息的文件,记录有流的再生区间(“In Time/Out Time”)。
[0116] 附加了扩展名“jar”的文件是Java(注册商标)归档文件,描述了使用Java虚拟机进行动态的场景控制的Java应用的程序。在希望根据Java应用来控制各标题的再生的情况下,该文件是必要的,其中所述各标题表示BD-ROM上的内容的再生单位。
[0117] 附加了扩展名“bdjo”的文件是存储了BD-J对象的文件。BD-J对象是通过将PlayList信息所表示的AV流和应用建立关联来定义标题的信息。BD-J对象表示“应用管理表”以及在该标题中能够再生的PlayList一览。应用管理表是通过罗列应用的识别符(应用ID)和属于该应用的Java归档文件的ID来表示将该标题作为生存区间的应用的表。即,一个应用由一个以上的Java归档文件构成。
[0118] index.bdmv(文件名固定)是与BD-ROM整体有关的管理信息,具有确定电影作品的提供者的识别符organizationID(32bit)、向提供者所提供的每个BD-ROM分配的识别符discID(128bit)等的信息,在向再生装置插入盘后,index.bdmv被最先读出,由此在再生装置中盘被唯一地识别。而且,在index.bdmv中含有在BD-ROM中将变为能够再生的多个标题以及规定各个标题的BD-J对象建立对应来表示的表。
[0119] MovieObject.bdmv(文件名固定)中包括描述了在HDMV模式(后述)下的各标题再生中使再生进行动态变化的场景的场景程序。
[0120] 图3是表示再生控制的层模型的图。图3的第1层是物理层,控制作为处理对象的流主体的供给。如该第1层所示,作为处理对象的流不仅将BD-ROM作为供给源,还将HDD(硬盘驱动器)等的再生装置中预先装入的记录介质即本地存储器、可移动存储介质、网络之类的所有记录介质、通信介质作为供给源。对这些本地存储器、可移动存储介质、网络之类的供给源的控制(盘访问、卡访问、网络通信)是第1层的控制。
[0121] 第2层是AV数据的层。该第2层规定了使用怎样的译码方式来对第1层所供给的流进行译码。
[0122] 第3层(BD管理数据)是规定流的静态的场景的层。静态的场景是指由盘制作者预先规定的再生路径信息、流管理信息,该第3层规定了基于这些信息的再生控制。
[0123] 第4层(BD再生程序)是实现流中的动态的场景的层。动态的场景是执行AV流的再生顺序以及与该再生有关的控制顺序中的至少一方的程序。基于动态的场景的再生控制是根据对于装置的用户操作而变化的,具有程序性的性质。这里的动态的再生控制有2个模式。2个模式中的1个是在AV设备特有的再生环境中对记录于BD-ROM中的影像数据进行再生的模式(HDMV模式),另一个模式使提高在BD-ROM中记录的影像数据的附加价值的模式(BD-J模式)。在图3中的第4层中描述了HDMV模式和BD-J模式这两个模式。
HDMV模式是类似于DVD的再生环境的再生模式,使描述了场景的场景程序进行动作,所述场景是用于使再生前进动态变化的场景。另一个BD-J模式是与Java虚拟机为主体的再生模式,根据Java应用来进行再生控制。
[0124] 图4是表示通过2个模式的动态的再生控制来制作的电影作品的图。图4(a)是表示通过定义HDMV模式下动态的再生控制来制作的电影作品的一个场面的图。HDMV模式能够通过与DVD再生装置能够解释的命令非常相似的命令来描述再生控制,因此能够定义与DVD相同的再生控制,即通过对菜单进行选择来进行再生的再生控制。
[0125] 图4(b)是通过定义在BD-J模式下的动态的再生控制而制作的电影作品。BD-J模式能够使用Java虚拟机能够解释的Java言语来描述控制顺序。若该再生控制控制计算机绘图(CG)的动作,则BD-J模式能够定义在显示了影像的画面的旁边CG(图中的猫头鹰的图像)来回动作那样的再生控制。
[0126] 图5是表示再生装置的大致功能构成的框图。如图5所示,再生装置包括BD-ROM驱动器401、读入控制部402、解复用器403、视频解码器404、视频平面405、音频解码器406、图形存储器407、图形平面408、图形解码器409、加算器410、静态场景存储器411、动态场景存储器412、HDMV模块413、BD-J模块414、UO探测模块415、模式管理模块416、调度程序417、渲染引擎418、写入控制部419、AV再生库420、网络接口421、本地存储器422、受控复制控制部423、可移动存储介质104和记录式BD驱动器106。
[0127] BD-ROM驱动器401进行BD-ROM的载入/取出、执行对BD-ROM的访问。
[0128] 读入控制部402对在载入BD-ROM驱动器401中的BD-ROM105、载入记录式BD驱动器106中的BD-R/RE、本地存储器422以及可移动存储介质104上记录的数据进行读取控制。
[0129] 解复用器403对由读入控制部402读出的传输流的多重分离,获得构成GOP的视频帧和音频帧,并将视频帧向视频解码器404输出,将音频帧向音频解码器406输出。副影像流存储在图形存储器407中,NavigationButton信息存储在动态场景存储器412中。基于解复用器403的多重分离包括将TS数据包变换为PES数据包的变换处理。
[0130] 视频解码器404对从解复用器403输出的视频帧进行译码并将非压缩格式的图像写入视频平面405。
[0131] 视频平面405是用于存储非压缩格式的图像的存储器。
[0132] 音频解码器406对从解复用器403输出的音频帧进行译码,并输出非压缩格式的音频数据。
[0133] 图形存储器407是用于存储从解复用器403读出的副影像流、Navigation Button信息内的PNG数据、从读出控制部402直接读入的图像文件的缓存。
[0134] 图形平面408是具有一个画面的量的区域的存储器,被配置了展开的副影像流、PNG数据、图像文件。
[0135] 图形解码器409将图形存储器407中所存储的副影像流、PNG数据、图像文件展开并写入图形平面408。通过副影像流的解码,各种菜单、副影像在画面上被显示。
[0136] 加算器410向存储于图像平面405中的非压缩格式的图像数据中合成在图形平面408中展开的图形并输出。通过该加算器410合成图形平面408内的图形和视频平面405内的图像,从而输出如图4(b)所示的画面(在显示了影像的画面的旁边CG(图中的猫头鹰的图像)来回动作的画面)。
[0137] 静态场景存储器411是用于存储当前的播放列表(PL)、当前的流管理信息的存储器。当前播放列表是在BD-ROM中记录的多个播放列表中的成为了现在处理对象的播放列表。当前流管理信息是在BD-ROM中记录的多个流管理信息中的成为了现在处理对象的流管理信息。
[0138] 动态场景存储器412是存储当前动态场景并提供给HDMV模块413、BD-J模块414所进行的处理的存储器。当前动态场景是在BD-ROM中记录的多个场景中的成为了现在执行对象的场景。
[0139] HDMV模块413是成为HDMV模式的执行主体的DVD虚拟播放器,执行向动态场景存储器412中读出的当前的场景程序。
[0140] BD-J模块414是Java平台,由Java虚拟机、配置(Configuration)、简表(Profile)构成。BD-J模块414根据向动态场景存储器412读出的Java类文件生成当前的Java对象并执行。Java虚拟机将用Java言语描述的Java对象变换为再生装置的CPU的本地代码(native code)并使CPU来执行。
[0141] UO探测模块415检测用户对遥控器、再生装置的前面板进行的用户操作,将表示用户操作的信息(下面称为UO(User Operation))向模式管理模块416输出。
[0142] 模式管理模块416保持从BD-ROM读出的模式管理表,进行模式管理以及分支控制。基于模式管理模块416的模式管理是使哪个HDMV模块413、BD-J模块414来执行动态场景的模块的分配。
[0143] 调度程序417从UO中仅选择与现在的再生装置的模式相适应的UO,并交给执行该模式的模块。例如在HDMV模式的执行中,在接受到上下左右、激活(active)之类的UO的情况下,向HDMV模式的模块输出这些UO这样的处理是调度程序417的处理。
[0144] 渲染引擎418具备Java2D、OPEN-GL之类的基础软件,按照来自BD-J模块414的指示进行计算机绘图的描画,将描画出的计算机绘图向图形平面408输出。
[0145] 写入控制部419按照来自受控复制控制部423的指示,向记录式BD驱动器106中所载入的介质、本地存储器422或者可移动存储介质104中写入数据。
[0146] AV再生库420根据来自HDMV模块413、BD-J模块414的函数调用,执行AV再生功能、播放列表的再生功能。AV再生功能是指从DVD播放器、CD播放器沿袭的功能群,包括再生开始、再生停止、暂停、暂停的解除、静止画功能的解除、以立即值指定了再生速度的快进、以立即值指定了再生速度的快退、声音切换、副影像切换、角度切换之类的处理。播放列表再生功能按照播放列表信息进行该AV再生功能中的再生开始、再生停止。
[0147] 网络接口421在为了进行受控复制的认证而与服务器连接时使用。认证的协议使用指示了被BD-J模块执行着的Java应用的协议。
[0148] 本地存储器422、可移动存储介质104以及记录式BD驱动器106作为受控复制的复制目标而被使用。选择哪个介质作为复制目标是用户从作为受控复制的复制目标而被支持的介质中选择出介质来进行的。
[0149] 受控复制控制部423接收由BD-J模块执行的Java应用的指示,进行BD-ROM上数据的复制。根据复制目标的介质的不同,还进行流的再编码。例如,若复制目标的介质是BD-R,则实施Bit by Bit(逐比特)复制,若复制目标的介质是DVD-R等容量小的介质,则进行流的再编码,一边压缩流一边进行数据复制。
[0150] 以上是再生装置的结构要素。
[0151] 图6是表示受控复制控制部423的详细结构的图。受控复制控制部423包括序列号读出部601、介质ID读出部602、介质状态管理部603、复制执行部604、复制状态通知部605、复制进度管理部606、随机值生成写入部607和密钥信息写入部608。
[0152] 序列号读出部601进行PMSN(Pre-recorded Media Serial Number)的读出,该PMSN表示在BD-ROM上的特殊区域即BCA(Burst Cutting Area)中记录的记录介质的物理上的序列号。该序列号在后述的密钥信息的生成中使用。
[0153] 介质ID读出部602读出在复制目标的介质中记录的、对每个介质唯一设定的介质固有的信息(介质ID)。该值通常不能够重写,即使是同种类的介质也按各介质而被分配不同的值。该介质ID在密钥信息的生成时使用。
[0154] 介质状态管理部603管理再生装置能够作为现在复制目标而利用的介质的种类一览。例如,再生装置具备SD卡插槽和记录式BD驱动器,现在若仅插入了SD卡,则将SD卡判断为现在的复制目标的对象。若SD卡和BD-R两者都被插入,则判断为可以将SD卡、BD-R两者作为复制目标。而且,还进行复制目标介质的剩余容量管理。
[0155] 复制执行部604执行将BD-ROM上的数据向其他介质的复制。根据复制目标的介质的不同,也进行流的再编码。
[0156] 复制状态通知部605对复制的开始、正常结束、错误结束等的状态转变进行管理,通过BD-J模块向Java应用通知状态转变。
[0157] 复制进度管理部606对成为复制对象的剩余字节数、复制完成字节数进行管理,根据来自Java应用的请求,通知现在的进度信息。
[0158] 随机值生成写入部607在每次实施受控复制时制作并写入随机生成的值(随机值)。该随机值的值在后述的密钥信息的生成中被使用。
[0159] 密钥信息写入部608进行BD-ROM的序列号、复制目标介质的介质ID以及根据随机值而生成的密钥信息的写入。密钥信息的生成以服务器中的秘密密钥为基础来进行。Java应用在取得序列号、介质ID、随机值之后,向服务器发送该值。服务器以从Java应用发送来的值和在服务器侧管理的秘密密钥为基础,生成密钥信息,并将密钥信息返送给Java应用。Java应用将从服务器发送过来的密钥信息设置在密钥信息写入部608,密钥信息写入部608进行将被设置的密钥信息向复制目标介质的写入。密钥信息在加密内容密钥的译码中被使用,若能够进行加密内容密钥的译码,则保护内容的再生成为可能。即,若没有该密钥信息,即使擅自将加密内容密钥和保护内容从BD-ROM复制到其他的介质也不能够进行再生。
[0160] 受控复制控制部具有以上的构成,为了根据Java应用能够控制这些操作,对BD-J模块提供了受控复制控制API。下面,对这些API进行说明。
[0161] ·ManagedCopy_getPMSN()
[0162] 返回复制源的介质的序列号。
[0163] ·ManagedCopy_getMCMediaInfo()
[0164] 返回介质的列表,所述介质是再生装置作为复制目标而支持的介质,且介质已被插入,作为复制目标现在能够利用的介质。
[0165] ·ManagedCopy_startMC(MCMediaInfo)
[0166] 开始向参数所指定的介质的受控复制。
[0167] MCMediaInfo_getMediaType()
[0168] 若针对通过getMCMediaInfo而取得的复制目标列表的各要素调用该API,则返回介质的种类(BD-R,BD-RE,SD,HDD,DVD-R等)。
[0169] ·MCMediaInfo_getUniqueId()
[0170] 返回复制目标的介质的介质ID以及随机值的字节列。复制目标的随机值在调用了该API的时刻被生成、写入。根据介质的种类的不同,也有不存在随机值的情况。在该情况下仅返回介质ID。
[0171] ·MCMediaInfo_setSignature(byte[])
[0172] 设置向复制目标写入的密钥信息。若受控复制开始,则通过该API设置后的值作为密钥信息被写入复制目标。
[0173] ·MCMediaInfo_getFreeSpace()
[0174] 返回复制目标的剩余容量。
[0175] ·MCMediaInfo_getRequiredSpace()
[0176] 返回复制所需的容量。
[0177] ·MCMediaInfo_addMCListener(MCListener)
[0178] 登记接收受控复制的状态转变通知的监听程序。在受控复制的开始、正常结束、异常结束等的状态转变发生时,向通过该API登记了的监听程序通知状态转变。
[0179] ·MCProgress_getMCProgress()
[0180] 返回包含受控复制的剩余字节数、复制完成字节数的进度信息。
[0181] 图7是表示图5所示的BD-J模块的更具体的结构的图。BDJ模块414包括介质再生模块702、受控复制模块703、文件I/O模块704、网络模块705和应用管理器706。
[0182] 介质再生模块702针对Java应用701提供用于介质再生控制的API。若Java应用701调用介质再生控制API,则介质再生模块调用对应的AV再生库420的函数,进行AV再生控制。
[0183] 受控复制模块703针对Java应用701提供用于上述的受控复制控制的API。
[0184] 文件I/O模块704执行来自Java应用701的对BD-ROM本地存储器、可移动存储介质、记录式BD驱动器等的各介质的文件访问请求的处理。
[0185] 网络模块705针对Java应用701提供用于网络控制的API。根据来自Java应用701的网络控制请求,使用网络接口421来进行网络连接。Java应用701使用网络模块705,能够对受控复制的认证时所需的服务器进行访问。
[0186] 应用管理器706以在BD-ROM上记录的应用管理信息为基础,管理Java应用的启动和结束。此外,应用管理器还进行将从调度程序417接收到的UO事件交给现在动作中的Java应用701的处理。
[0187] 以上是BD-J模块的构成要素。
[0188] 图8是基于Java应用的受控复制控制的流程图。首先,Java应用调用ManagedCopy_getMCMediaInfo(),检验是否存在成为现在复制对象的介质(S101)。若存在复制对象介质,则从其中选择成为复制对象的介质(S102)。选择方法可以是Java应用自身来进行选择,可以是向用户提示可复制介质一览,然后使用户从其中选择。图9示出了向用户提示可复制介质一览的情况的一例。不仅显示介质名,也可以根据MCMediaInfo_getFreeSpace()来检验剩余容量,连剩余容量也一并显示。此外,也可以根据复制源的文件大小计算必要的容量,并将该值也一并显示。复制目标介质中所需的容量计算可以通过Java应用自身来进行,也可以根据复制的文件的列表通过再生装置进行计算。特别是,在对流进行再压缩来保存的情况下,由于伴随着文件大小的变更,在该情况下,通过再生装置来计算必要容量是方式效率更高。Java应用可以根据MCMediaInfo_getRequiredSpace()来取得通过再生装置计算出的必要容量。
[0189] 对被选择的复制目标介质的剩余容量进行检验,若存在复制所需的剩余容量,则进行收费处理步骤(S104)。此吃所谓的收费处理步骤是指与服务器连接,进行信用卡卡号等的认证的一系列的步骤。尤其是,在不需要收费的情况下,可以跳过该步骤,也可以不进行收费,仅检验复制次数的计数。
[0190] 若收费处理成功,则进行密钥信息的要素数据的取得(S105)。密钥信息的要素数据是指复制源介质的序列号、复制目标介质的介质ID以及随机值。复制源介质的序列号可以通过ManagedCopy_getPMSN()来取得,复制目标介质的介质ID以及随机值可以通过MCMediaInfo_getUniqueId()来取得。
[0191] 若密钥信息的要素数据的取得结束,则向服务器发送这些要素数据。服务器根据这些要素数据以及服务器所具有的秘密密钥生成密钥信息,并将生成的密钥信息向Java应用发送。Java应用将发送过来的密钥信息指定为MCMediaInfo_setSignature(byte[])的参数,向再生装置设置(S106)。
[0192] 若密钥信息的设置结束,则通过调用ManagedCopy_startMC(MCMediaInfo)的API,受控复制开始。在进行受控复制期间,Java应用通过调用MCProgress_getMCProgress(),能够把握复制的进度状况。图10是表示对复制的进度状况进行画面显示的一例的图。由于Java应用能够知道剩余字节数、复制完成字节数,因此能够判断出从现在开始的大致的剩余时间。此外,通过调用MCMediaInfo_addMCListener()并登记用于接受受控复制的状态转变通知的监听程序,能够接收复制的开始、结束通知,因此在接收到复制结束通知之前的期间,可以显示进度条,或进行新产品介绍等的广告显示。此外,也可以考虑实施简单的游戏应用程序等。此外,由于在复制失败的情况下也能够接收通知,例如在因介质被强行取出等而复制失败的情况下,Java应用能够接收复制失败通知,并进行取消收费处理等的对应处理。
[0193] 图11是表示复制实施中的盘访问限制的图。Java应用在基于受控复制控制部的复制实施前,能够调用介质再生模块702而进行流的再生,或者调用文件I/O模块704来访问BD-ROM上的文件。另一方面,若基于受控复制控制部的复制实施开始,则如图12所示,来自介质再生模块702的流再生以及来自文件I/O模块704的文件访问被加以限制。该限制的理由在于,为了防止受控复制控制部与Java应用的文件I/O处理、流的解码处理冲突从而因资源不足而导致复制失败,使受控复制控制部能够排他地利用文件系统、解码器和编码器等。因此,对Java应用加以限制,使复制实施中被虚拟成盘被取出的状态。但是,即使虚拟成盘被取出的状态,不能够进行盘访问,但由于能够利用缓存存储器上的图形数据、网络I/F与服务器连接,因此能够执行简单的游戏、广告、宣传显示。该限制在基于受控复制控制部的复制实施结束后的时刻解除。即,Java应用调用MCMediaInfo_addMCListener(),登记用于接收受控复制的状态转变通知的监听程序,由此不仅能够知道复制的开始和结束,还能够知道盘访问限制的开始和结束。另外,由于伴随着复制实施的开始和结束对Java应用执行了虚拟的盘取出和盘插入,因此为了对Java应用明确通知盘已被取出的情况,也可以在复制实施时与复制开始通知一起实施盘取出通知。此外,在复制结束时也相同,可以与复制结束通知一起实施盘插入通知。
[0194] 图13是表示基于受控复制控制部的复制实施的流程图。该流程图更详细地表示了图8的步骤S107。在基于受控复制控制部的复制开始之前,进行来自Java应用的盘访问限制(S201)。在进行了盘访问限制之后,对Java应用实施复制开始通知(S202)。复制开始通知后,开始从复制源向复制目标的数据复制。若成为复制对象的数据的复制全部结束,则解除步骤S201中所进行的盘访问限制(S204),对Java应用实施复制结束通知(S205),受控复制控制部中的复制处理结束。此外,在步骤S203的复制中途失败的情况下,在解除盘访问限制后,对Java应用实施复制失败通知。
[0195] 如上所述,根据本实施例,在避免了资源竞争的同时使得受控复制和Java应用执行的同时动作成为可能,并且能够实现受控复制中的进度状况的显示、宣传和/或广告的显示、游戏应用程序等的执行。
[0196] (实施方式2)
[0197] 在实施方式2中,对向限制了可记录的文件名的可移动存储介质的受控复制进行说明。由于BD-ROM中所记录的文件采用了Long File Name(LFN)格式,因此能够记录具有10字符、20字符这样的文件名、4字符、5字符这样的扩展名的文件名。另一方面,可移动存储介质多采用文件名最大8字符、目录名最大8字符、扩展名最大3字符的文件名受到限制的文件系统。因此,有时不能够将BD-ROM中所记录的文件名原样不动地向可移动存储介质复制。
[0198] 图14是表示考虑了可移动存储介质的文件名限制的受控复制的图。在将BD-ROM上的具有9字符以上的文件名或者配送字符以上的扩展名的文件向可移动存储介质进行复制的情况下,以变为8字符以下的文件名或通常再生字符以下的扩展名的方式进行文件名变换来实施保存。在文件名变换时若发生了文件名冲突的情况,则通过附加连续编号等的方法来避免文件名的冲突。而且,关于进行文件名变换后所保存的文件,在文件名变换表(filename.tbl)中记载变换前文件名和变换后的文件名的对应。图15示出了文件名变换表的一例。
[0199] 在从可移动存储介质进行再生时,确认文件名变换表的有无,在存在文件名变换表的情况下,在读入控制部402检测到对文件名变换表中记载的变换前的文件名进行访问的情况,读入控制部402置换成变换后的文件名,并对可移动存储介质上的文件进行访问。
[0200] 如上所述,将受控复制时所进行的文件名变换保存在文件名变换表中,在再生时以文件名变换表为基础,通过使用变换前的文件名而进行虚拟的访问,即使向具有文件名限制的记录介质进行了受控复制,也能够顺利地实施再生。
[0201] (实施方式1中的补充说明)
[0202] 下面,针对实施方式1中所记载的再生装置的各构成要素进行补充说明。实施方式1的再生装置能够执行复制,是录放式的再生装置。
[0203] 与便携式的再生装置不同,固定式的再生装置一般不仅具有再生功能,一般还具有录像功能。在再生装置具有录像功能的情况下,能够实现执行受控复制时的数据格式的变换以及编码方式的变换(这些变换被表述为代码转换)。对向录放式的再生装置中追加用于代码转换的构成要素的构成例进行说明。
[0204] 图16中示出了录放式的再生装置的一般的内部构成,此外还增加了该代码转换的构成要素。在本图所示的再生装置中具有HDMI收发部501、信号输入部502、音频编码器503、视频编码器504和多路复用器505。
[0205] 这里,代码转换是指如下处理:将BD-ROM中所记录的数字流的格式从MPEG2传输流格式变换为MPEG2程序流格式等,或者降低对视频流以及音频流分配的比特率来进行再编码,使数字流适合复制目标介质的应用格式。
[0206] 总线tc0是实现将BD-ROM中所记录的比特流直接向其他的记录介质记录的复制即所谓的逐比特复制时所使用的总线,将从读出控制部402读出的视频流直接输入写入控制部419。
[0207] 总线tc1是将BD-ROM中复用记录的视频流、音频流再次复用时的总线。
[0208] 总线tc2、tc3是执行视频流、音频流的再编码时的总线。
[0209] HDMI收发部501向电视机103发送非压缩的视频数据、非压缩的音频数据,并接受来自电视机103的数据。
[0210] 信号输入部502受理对电视机103的模拟信号输入。
[0211] 音频编码器503对从信号输入部502输入的模拟输入信号进行编码而得到音频流,但在执行代码转换的情况下,对通过总线tc2而输入的非压缩的音频数据进行再编码。
[0212] 视频编码器504对从信号输入部502输入的模拟输入信号进行编码而得到视频流,但在执行代码转换的情况下,对通过总线tc3而输入的非压缩的视频数据进行再编码。
[0213] 多路复用器505将通过视频编码器504而获得的视频流以及通过音频编码器503而得到的音频流复用为传输流格式、程序流格式等的适合于复制目标介质的格式。
[0214] 以上是录像再生型再生装置的内部构成。接下来,说明BD-J模块的技术的意义。
[0215] (BD-J模块的一般构成)
[0216] BD-J模块是Java平台,完全实装了Java2Micro_Edition(J2ME)PersonalBasis Profile(PBP 1.0)和Globally Executable MHP specification(GEM1.0.2)for package media targets,从JAR归档文件中存在的类文件读出字节码并存储于堆存储器中,从而负担启动Java应用的责任。而且,将构成Java应用的字节码、构成系统应用的字节码变换为本地代码,并使MPU执行该代码。图17更明确地表示了BD-J模块的功能。
[0217] 图17是明示了BD-J模块的一般的构成要素的内部构成图。参照该图,对文件I/O模块704、介质再生模块702的技术意义进行说明。
[0218] 在本图中,在BD-J模块的堆存储器中存在有Java应用。在此,在BD-ROM中,按照BD-J对象内的应用管理表,规定了Java应用的动作。这样的BD-J对象按各标题而存在,因此,BD-ROM中的Java应用将标题作为生存区间来进行动作。这样,通过BD-J对象内的应用管理表而被限制了动作的Java应用被称为“BD-J应用”。而且,随着标题的切换而其动作结束的Java应用被称为标题边界应用,随着BD-ROM的更换而其动作必须结束的应用被称为盘边界应用。
[0219] 在本图的堆存储器中存在有BD-J应用,其中的1个BD-J应用是使用上述的API执行复制控制的BD-J应用(复制控制BD-J应用)。该复制控制BD-J应用在受控复制控制部423命令了复制控制时,指定BD-J应用的动作模式。该动作模式中,包括结束动作中的BD-J应用,将受控复制的控制委托给再生装置的常驻程序的第1模式、不结束BD-J应用的第2模式、以及使动作中的BD-J应用变为拒绝来自BD-J应用的请求的状态,在限制了BD-J应用的功能的情况下使其动作的第3模式,在该复制控制BD-J应用指定第3模式、受控复制控制部423指示了受控复制的情况下,实施实施方式1的处理。
[0220] 对文件I/O模块704如何变为拒绝来自BD-J应用的再生请求的状态进行说明。
[0221] 再生装置采用了Linux等的操作系统,因此通过发出命令“/mount pointBD/BDMV”,对BD-ROM105的驱动器分配BDMV目录。通过发出命令“/mount point SD/BUDA”,能够对可移动存储介质104分配BUDA目录。根据这样的命令操作,对只读BD、本地存储器、记录式BD分配虚拟的文件系统,供BD-J应用来使用。若执行解除mount(分配目录)的操作,即,执行unmount(卸载目录)操作,则BD-J应用不能够通过虚拟的文件系统辨识只读BD、本地存储器、记录式BD,从而能够变为拒绝来自BD-J应用的再生请求的状态。
[0222] 对介质再生模块702如何变为拒绝来自BD-J应用的再生请求的状态进行说明。基于BD-J应用的播放列表的再生是通过使BD-J应用执行JavaMedia Framework(JMF)播放器实例的生成来进行的。该生成是通过在进行指定了播放列表信息文件的JMF播放器实例的生成时介质再生模块702创建JMF播放器实例来进行的。另一方面,即使BD-J应用命令JMF播放器实例的生成,但若介质再生模块702没生成播放列表信息文件的JMF播放器实例并返回错误,则不会承认BD-J应用的请求。因此,介质再生模块702在拒绝来自BD-J应用的再生请求的状态时,即使存在来自BD-J应用的请求,也不生成JMF播放器实例。
[0223] 针对文件I/O模块704、介质再生模块702对MCMediaInfo_addMCListener的用法进行说明。
[0224] 在受控复制的开始时,在使文件I/O模块704、介质再生模块702向拒绝来自BD-J应用的请求的状态转变时,使文件I/O模块704、介质再生模块702调用MCMediaInfo_addMCListener(MCListener),向文件I/O模块704、介质再生模块702登记用于接收受控复制的状态转变通知的监听程序。这样,由于向文件I/O模块704、介质再生模块702的事件监听程序通知基于受控复制控制部的受控复制的开始,在向这样的事件监听程序通知受控复制的开始时,文件I/O模块704、介质再生模块702向拒绝来自BD-J应用的请求的状态转变。而且,在从BD-J应用请求文件访问的情况下,或者请求JMF播放器实例的生成的情况下,文件I/O模块704、介质再生模块702对这些请求返回错误的响应。这样,BD-ROM的访问等不会造成受控复制控制和BD-J应用之间的竞争。另一方面,在正常结束或异常结束发生时,由于该结束被通知给了文件I/O模块704、介质再生模块702,因此文件I/O模块704、介质再生模块702向通常状态转变。这样,在从BD-J应用请求文件访问的情况下,或者请求JMF播放器实例的生成的情况下,按照这些请求来进行处理。
[0225] 上述内容仅是使文件I/O模块704、介质再生模块702向拒绝来自BD-J应用的请求的状态转变的软件实装的一例,也可以在从BD-J应用请求盘访问或者再生时,由文件I/O模块704、介质再生模块702检测受控复制是否已执行,再向拒绝来自BD-J应用的请求的状态转变。
[0226] 如上所述,在文件I/O模块704、介质再生模块702变为拒绝来自BD-J应用的再生请求的状态后的情况下,BD-J应用不能够访问只读BD、本地存储器、记录式BD。但是,能够利用缓存707内的数据。
[0227] 缓存707是在某标题变为当前标题时用于存储与该当前标题对应的BD-J对象的缓存管理信息所指示的归档文件的缓存存储器。在此存储的归档文件在某标题变为当前标题的期间是有效的,BD-J应用即使不访问BD-ROM、本地存储器,也能够利用该缓存内的归档文件中所包含的程序和/或数据。因此,BD-J应用即使在BD-ROM被取出的期间内也能够利用该归档文件内的数据。
[0228] 图18是表示拒绝来自BD-J应用的请求的状态的图。由于介质再生模块702、文件I/O模块704变为了拒绝来自BD-J应用的再生请求的状态,因此,经由介质再生模块702、文件I/O模块704对读出控制部402、写入控制部403、多路复用器505、写入控制部419命令再生处理的BD-J应用,不能够再对这些构成要素命令再生处理。因此,这些资源的使用不会带来BD-J应用和复制执行部604之间的竞争。
[0229] 图19是表示拒绝来自BD-J应用的请求的状态结束而返回通常的状态的图。在拒绝来自BD-J应用的请求的状态下,介质再生模块702、文件I/O模块704变为许可来自BD-J应用的再生请求的状态,因此BD-J应用能够请求再生处理。以上是针对文件I/O模块704、介质再生模块702的技术意义的说明。接下来,对BD-J应用的API调用进行详细说明。
[0230] (BD-J应用状态的时间的转变)
[0231] 在受控复制执行时,介质再生模块702、文件I/O模块704变为许可来自BD-J应用的处理请求的状态,因此标题边界应用、复制控制应用的状态如图20所示地进行转变。
[0232] 图20示出了受控复制前后的标题边界应用、复制控制应用、受控复制控制部的处理的时间转变。第1级示出了将标题作为生存区间的标题边界应用的处理,第2级示出了复制控制应用的处理内容。第3级示出了受控复制控制部423的处理内容。在认证和收费处理进行期间(t0~t1),标题边界应用处于启动中,在复制实施的期间(t1~t2),标题边界应用由于不能够再生AV流的运动影像,仅进行存在于缓存中的CG人物的描画。在复制结束后的期间(t2~t3),返回至通常再生状态,执行伴随着AV流的运动影像再生的CG人物的描画。如上所述,在执行受控复制的期间,BD-J应用能够描画使用了缓存内的CG数据的人物,创作担当者实现了不使用户感觉无聊的方法。
[0233] 以上是针对标题边界应用、复制控制应用的状态的时间转变的说明。
[0234] (复制控制中使用的API)
[0235] 本申请说明书中的复制控制是以BD-J应用为主体而进行的,因此受控复制控制部的处理必须使用BD-J应用编程接口(API)来描述。下面,对复制控制中使用的API进行说明。
[0236] 图21将来自BD-J应用的API调用和与该调用对应的处理内容建立对应来表示。
[0237] 箭头(1-1)、(1-2)示意性地示出了来自BD-J应用的MCMedia_SetMediaType的调用以及与该调用对应的基于介质状态管理部603的介质种类的通知。
[0238] 箭头(2-1)、(2-2)示意性地示出了来自BD-J应用的ManagedCopy_getPMSN的调用以及与该调用对应的基于序列号读出部601的序列号的传递。
[0239] 箭头(3-1)、(3-2)、(3-3)示意性地示出了来自BD-J应用的MediaInfo get UNiqued ID的调用、与该调用对应的基于介质ID读出部602的Media-lD的传递以及基于随机值生成写入部607的随机值的传递。
[0240] 箭头(4-1)、(4-2)示意性地示出了来自BD-J应用的MCMediaInfo_SetSignature的调用以及与该调用对应的基于密钥信息写入部608的密钥信息的写入。
[0241] 箭头(5-1)、(5-2)示意性地示出了来自BD-J应用的MCMediaCopy_start_MC的调用以及与该调用对应的向复制执行部604的密钥信息的传递。
[0242] 箭头(6-1)、(6-2)示意性地 示出了来自BD-J应用 的MCProgress_get_MCProcessAPI的调用以及与该调用对应的基于复制状态通知部605、复制进度管理部606的剩余的字节数、复制完成字节数的传递。
[0243] 以上是针对来自BD-J应用的API调用以及与该调用对应的处理内容的说明。
[0244] (复制执行部604的详细内容)
[0245] 本申请说明书中的受控复制是假设了不同种介质间的复制的情况,由于伴随着代码转换,在受控复制中,仅通过从最内周到最外周依次复制作为复制源的BD-ROM中的比特流这样的动作是不够的。将BD-ROM中存在的文件以及目录按每个文件、每个目录来进行复制的动作是必要的。这样的假设了代码转换的复制执行部的处理顺序如图22所示。
[0246] 图22是表示复制执行部604的处理顺序的流程图。步骤S1是调用等待,等待是否调用Managed Copy_start,若进行了调用,则在步骤S2中将介质再生模块702、文件I/O模块704的状态向拒绝来自BD-J应用的请求的状态转变。
[0247] 在步骤S3中,在复制目标介质中创建BDMV目录,在步骤S4中,向BDMV目录下复制Index.bdmv、MovieObject。在步骤S5中,向复制目标介质的BDMV目录下复制PlayList目录、BDJO目录、JAR目录。步骤S6判断是否有代码转换的指示,若有代码转换的指示,则在步骤S7中将STREAM目录、CLIPINF目录复制到BDMV目录下。然后,在步骤S8中复制ROOT目录的CERTIFICATE目录。
[0248] 若有代码转换的指示,在复制目标介质中创建STREAM目录,创建CLIPINF目录。然后在步骤S12中执行包含视频流的AVClip的代码转换,在步骤S13中制作与代码转换后的AVClip对应的Clip信息文件。在有代码转换的情况下,重新制作Clip信息文件的原因在于,Clip信息文件包含有表示数据包番号和显示时间戳(presentation time stamps)的对应关系的项目映射等依存于流的信息要素。
[0249] 在步骤S14中将代码转换后的AVClip写入STREAM目录,将新生成的Clip信息文件写入CLIPINF目录中,移至步骤S8。
[0250] 若以上的复制结束,则在步骤S9中使介质再生模块702、文件I/O模块704的状态向许可来自BD-J应用的处理请求的状态转变。
[0251] 以上是关于复制执行部604的处理顺序的说明结束。
[0252] (BD-J应用管理的内容)
[0253] 本申请中,介质再生模块702、文件I/O模块704变为许可来自BD-J应用的处理请求的状态,此时即使BD-ROM被装填在再生装置中,BD-J应用也虚拟地当成BD-ROM被取出的状态,本申请中的BD-J应用管理器所进行的BD-J应用的管理不是一般的管理。特殊的管理如图23所示。下面参照图23,对BD-J应用管理器的处理顺序进行说明。
[0254] 图23是表示BD-J应用管理器的处理顺序的流程图。本流程图是重复从步骤S71到步骤S72的处理的循环结构。
[0255] 步骤S71判断是否有基于模块管理器的当前标题的选择,若有当前标题的选择,则执行步骤S74、步骤S75的处理并返回步骤S71~步骤S73的循环。步骤S74是将与当前标题对应的在BD-J对象的缓存管理信息中记载的归档文件读入缓存的处理,步骤S75将与当前标题对应的在BD-J对象的BD-J应用管理表中记载的BD-J应用载入堆存储器中,启动BD-J应用。
[0256] 步骤S72判断是否开始了受控复制,若开始了受控复制,则在步骤S76中使BD-J应用变为虚拟的盘被取出的状态,变为仅使缓存内的数据动作的状态。在步骤S77中等待受控复制的结束。若受控复制结束,则在步骤S78中使BD-J应用变为通常状态,返回步骤S71~步骤S73的处理。
[0257] 在步骤S73中若发生DiscEject事件,则执行步骤S79~步骤S81的处理。在步骤S79中,将标题作为生存区间的标题边界应用以及将盘作为生存区间的盘边界应用全部结束,在步骤S80中等待DiscInsert事件的发生。若发生DiscInsert事件,在步骤S81中被插入的盘的第一播放标题设定为当前标题,并移至步骤S74。根据上述的本流程图可知,在受控复制的执行中,在BD-ROM被装入再生装置的状态下,使BD-J应用变为拒绝来自BD-J应用的再生请求的状态。
[0258] (利用了API的BD-J应用的描述)
[0259] 基于BD-J应用的复制控制是利用了API的控制,不仅基于复制控制应用的复制控制需要利用上述API,连复制之前的收费处理、复制进度显示也需要利用上述API。下面,对利用了API的复制控制、收费处理、复制进度显示的描述进行说明。
[0260] 图24是表示进行复制控制的BD-J应用如何利用API的处理顺序的流程图,图25是表示利用了API的收费处理的处理顺序的流程图。图26是表示伴随着小游戏执行、预告片再生的复制进度显示的一例。
[0261] 在步骤S21中调用Managed Copy_get MCMedia Info,在步骤S22中取得可以作为复制目标介质而利用的介质的列表。若取得了上述列表,则针对复制目标列表的各要素调用MCMedia Info_Media Type(步骤S23),取得复制目标列表的各要素的介质种类(步骤S24)。
[0262] 在步骤S25中,与介质种类相对应地一览显示复制目标列表的各要素,等待用户进行选择(步骤S26)。若被选择,则判断是否存在复制对象介质ID(步骤S27),若存在,则确定被选择的复制目标介质(步骤S28),调用MCMedia Info_get Free Space,取得复制目标介质的剩余容量(步骤S29)。在步骤S30中,判断是否有剩余容量A,若有剩余容量A(步骤S30:“Yes”),调用MCMedia Info_Required Space,取得复制所需的容量B(步骤S31),对容量A和必要容量B进行比较(步骤S32)。若剩余容量不足,则计算压缩率,指示伴随着再编码的代码转换(步骤S34)。在步骤S33中,开始收费处理,若收费成功(步骤S35),则开始进度条的显示(步骤S36)。然后,针对确定的复制目标介质调用MCMedia Info_getUniqued,取得介质ID、随机值(步骤S37)。通过Managed Copy_get MSN的调用来取得复制目标介质的序列号(步骤S38),向复制源的提供者组织的管理服务器发送复制源介质的序列号、介质ID、随机值(步骤S39),变为密钥信息的取得等待(步骤S40)。若发送了密钥信息,则参数中指定密钥信息的字节数,调用MCMedia Info_Set Signature来设置密钥信息(步骤S41),将MCMedia Info用作参数来调用Managed Copy_start MC,从而开始受控复制(步骤S42)。
[0263] 在图25(a)的步骤S51中,在参数MCListner中指定用于接收受控复制的状态转变通知的监听程序,调用MCMedia Info_add MCListner,在步骤S52中开始收费处理。然后,移至步骤S53~步骤S54的循环处理。步骤S53判断复制是否已失败,若判断出复制失败,则在步骤S55中取消收费。步骤S54判断复制是否已结束,若判断出复制结束,在步骤S56中确定收费处理。
[0264] 图25(b)是表示进度条显示的处理顺序的流程图。在参数MCListner中指定用于接收受控复制的状态转变通知的监听程序,调用MCMediaInfo_add MCListner。然后,在步骤S62中等待受控复制开始。若开始,则显示进度条,并移至步骤S64~步骤S65的循环处理。步骤S64判断是否经过了一定时间,若判断为经过了一定时间,在步骤S66中调用MCProgress_set MC Progress,取得剩余字节数、复制完成字节数。在步骤S67中,使用这样制作的剩余字节数、复制完成字节数来更新进度条。步骤S65判断复制是否已结束,若判断出复制结束,则在步骤S68中进行复制结束的显示。
[0265] 图26表示了伴随着小游戏执行、预告片再生的复制进度显示的一例。本图以图10为基础来作图,在该基础的进度显示上增加了小游戏的执行画面、预告片再生画面。这些是以复制控制应用的归档文件中所存储的数据为基础进行显示、再生的结果,即使在盘被取出的状态下,通过从缓存中读出这些数据,也能够进行本图这样的显示、再生。通过显示这样的小游戏的执行画面、预告片再生,在受控复制需要长时间的情况下能够缓和用户的无聊感。
[0266] (其他的变形例)
[0267] 以上,基于实施方式说明了本发明的再生装置,本发明当然不仅限于上述的实施方式。
[0268] 在上述实施方式中,对仅具有再生记录介质的再生功能的再生装置进行了说明,但不仅限于此。例如,也可以是具有录像功能的录像再生装置。
[0269] 在上述实施方式中,作为虚拟机的编程言语利用了Java(注册商标),但不仅限于Java(注册商标),也可以是UNIX(注册商标)、OS等中使用的B-Shell、Perl Script,ECMA Script等其他的编程言语。
[0270] 作为本发明的对象的复制源数据不仅限于2D影像,也同样适用于3D立体影像。
[0271] 上述的实施方式中所说明的受控复制控制部根据复制对象的不同需要再编码,因此暂时性地请求了负荷高的处理。因此,在再生装置侧的CPU性能不足够高的情况,可以考虑去掉向LSI上嵌入受控复制控制部的构成。
[0272] 此外,在上述的实施方式中队再生BD-ROM的再生装置进行了说明,对于在可写入的光记录介质上记录有上述实施方式所说明的BD-ROM上的必要的数据的情况,当然也能够获得与上述相同的效果。
[0273] 工业实用性
[0274] 构成本发明的再生装置能够在制造产业中经营性地、或者持续地反复制造、贩卖。尤其能够在影像内容的制作有关的电影产业、家电设备产业中被利用。