CN101410904A - 再现装置、调试装置、系统lsi、程序 - Google Patents
再现装置、调试装置、系统lsi、程序 Download PDFInfo
- Publication number
- CN101410904A CN101410904A CNA2007800105552A CN200780010555A CN101410904A CN 101410904 A CN101410904 A CN 101410904A CN A2007800105552 A CNA2007800105552 A CN A2007800105552A CN 200780010555 A CN200780010555 A CN 200780010555A CN 101410904 A CN101410904 A CN 101410904A
- Authority
- CN
- China
- Prior art keywords
- information
- transcriber
- rom
- application
- reproduction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/36—Monitoring, i.e. supervising the progress of recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2541—Blu-ray discs; Blue laser DVR discs
Abstract
有关本发明的再现装置具有支援应用的开发的功能。具体而言,能够经由网络取得应用存在的记录介质中的文件系统信息,将所取得的文件系统信息安装到装填在自身中的记录介质中的文件系统信息中,再现控制引擎再现能够由安装的文件系统信息识别的AV内容。平台部执行能够由安装的文件系统信息识别的应用。通过在平台部执行应用时将该执行日志发送给应用的调试装置,来进行上述开发支援功能。
Description
技术领域
本发明属于应用开发的技术领域,特别涉及用来实现AV内容的再现控制用应用的调试的改良。
背景技术
上述再现控制用应用记录在DVD-Video或BD-ROM中,对再现装置命令要再现的播放列表的选择、或数字流的选择等再现控制。通过该再现控制,将各种GUI提供给用户,所以这样的再现控制用应用在将电影作品用DVD-Video或BD-ROM分发时成为不能没有的必需品。
在DVD-Video中,AV内容的再现通过叠加在AV内容中的命令控制。实施AV再现的控制的命令与控制对象的流一起存在,由于AV内容的制作与进行AV内容的再现控制的应用的制作为串联的关系,所以为了开发DVD-Video用的应用,AV内容的制作的环境齐备成为大前提。这里,在AV内容的制作中,电影制片室导入那样的昂贵的写作设备是不可或缺的,对于一般的软件工作室来说是怎样也无能为力的。这样,设备投资成为大的瓶颈,有参加到DVD-Video应用的制作中的软件工作室受到限制的实际状况。
另一方面,在BD-ROM中,在程序记述语言中采用Java,备齐了AV内容与Java(TM)应用的交叉开发环境,所以能够召集许多软件工作室参加。
在关于用来使与DVD-Video盘制作时的AV再现控制处理相关联的不良状况解析及问题修正后的动作确认变得容易的装置、方法的现有技术中,有下述专利文献1中记载的技术。
专利文献1:日本特开平11-203841号公报
但是,由该BD-ROM播放器模型规定的AV内容的再现控制复杂并且跨越多个分支,所以即使在交叉开发环境中完成了Java(TM)应用,也不能直接做出能够出厂该Java(TM)应用的判断。这样,还是必须将Java(TM)应用保存在与AV内容相同的1个盘中来进行最终的动作确认。
进而,在该动作确认中,如果发现了程序错误,则需要修正Java(TM)应用,再次将Java(TM)应用保存在与AV内容相同的1个盘中。由于有可能发生这样的动作确认和程序错误修正的反复,所以如果考虑这些情况,则在BD-ROM应用的制作中优选地导入专用的写作设备。
但是,BD-ROM播放器模型具有以高清晰度电视图像为前提的高端硬件规格,所以制作它的写作设备也与DVD-Video的写作设备相比是非常昂贵且大规模的设备,对于小资本的软件工作室来说难以导入。这成为障碍,有可能发生加入到BD-ROM用的Java(TM)应用的开发中的软件工作室难以增加的问题。
以BD-ROM为题材,叙述了在本发明中作为前提的技术课题,但是并不限于BD-ROM,以某个特定的逻辑格式与AV内容一起记录在记录介质中而对终端用户供给那样的应用,在与AV内容的再现联动的再现动作能够确认之前都不能说应用的开发已结束,可以说其开发是很难的过程。并且,这样的动作确认的方法不足成为应用开发的较大的障碍。
发明内容
本发明的目的是提供一种即使不导入专用的写作设备、也能够进行BD-J应用的解析及修正的再现装置。
为了达到上述目的,有关本发明的再现装置的特征在于,具备:安装机构,取得配置有应用的记录介质中的网络文件系统信息,通过与装填在自身中的记录介质中的文件系统信息组合,得到虚拟文件系统;平台部,执行能够由虚拟文件系统识别的应用;再现控制引擎,按照来自上述应用的指示再现能够由虚拟文件系统识别的AV内容;上述开发支援功能是平台部将执行应用时的执行信息在网络上收发的功能。
发明效果:
由于有关本发明的再现装置具有上述结构,所以只要将AV内容配置在装填于再现装置中的盘介质中,将应用配置在作为网络驱动器的记录介质中,则通过与再现装置之间进行执行信息的收发,就能够使AV内容的再现与应用的动作联动。
由于不是在装填在再现装置中的盘介质中,而是在作为网络驱动器的记录介质中配置应用,则能够进行以实际设备中的再现为前提的应用的动作确认,所以能够高效率地实施伴随着AV再现控制的应用的验证及解析、修正。
即使不将应用配置在作为目标的盘介质中,只要将应用配置在开发环境中的网络驱动器中,就能够高效率地进行应用的解析、修正,所以只要有网络连接的环境,即使不导入昂贵的写作设备,也能够进行与AV内容的再现联动的应用的调试。
并且,BD-ROM用Java(TM)应用制作事业参加的障碍变低,能够对许多软件工作室召集参加到BD-ROM用Java(TM)应用制作事业中。此外,并不限于BD-ROM,以某个特定的逻辑格式与AV内容一起记录到记录介质中而对终端用户供给的应用的开发变得顺利,所以能够促进应用的充实化。
附图说明
图1是表示BD-J应用的制作顺序的流程图。
图2是表示有关第1实施方式的IDE环境及ADK环境的图。
图3是表示Java Platform Debugger Architecture(JPDA)的分层模型的图。
图4(a)、图4(b)是表示使用标准输出函数的ADK环境的调试例、使用ECLIPSE的调试例的图。
图5是表示在ADK环境中进行使用ECLIPSE的调试的情况下的GUI的一例的图。
图6是表示ADK环境中的调试顺序的流程图。
图7是表示有关第1实施方式的BD-ROM再现装置200的内部结构的图。
图8(a)是将包含在网络管理信息中的信息识别码和其解说建立对应而表示的图。
图8(b)是表示网络管理信息的具体的记述的图。
图9是表示将上方的文件系统与BD-ROM上的文件系统组合的虚拟的包中的文件系统的图。
图10是表示ADK处理部208的内部结构的图。
图11是示意地表示ADK环境中的BD-J应用执行、和AV内容再现的图。
图12是表示ADK环境的处理顺序的流程图。
图13是表示关于作为日志输出用API的DebugLog的类构造体的图。
图14(a)~图14(c)是表示setLevel方法、printLog方法、printException方法的处理顺序的流程图。
图15表示利用日志输出API的Java(TM)程序源代码的一例。
图16是表示try方法的处理顺序的流程图。
图17是表示调试装置的硬件结构的图。
图18是表示IDE环境的软件结构的图。
图19是表示BD-J模拟器118的内部结构的图。
图20是表示播放列表结构菜单501的一例的图。
图21(a)、图21(b)是表示声音流结构菜单601a、字幕流结构菜单601b的一例的图。
图22是表示AV再现画面显示部128的显示内容的一例的图。
图23(a)~图23(b)是表示当前时刻菜单701b、动作状态设置菜单701c的图。
图24(a)~图24(c)是表示画面配置设置菜单801a、声音输出设置菜单801b、字幕显示设置菜单801c的图。
图25是表示再现控制引擎存根126的处理顺序的主例程的流程图。
图26是表示当前时刻的更新处理的顺序的流程图。
图27(a)、图27(b)是表示模拟信息变更的详细顺序、状态变化通知处理的详细顺序的流程图。
图28是表示模拟信息变更的处理顺序的流程图。
图29是表示BD-ROM的内部结构的图。
图30是示意地表示被赋予了扩展名.m2ts的文件怎样构成的图。
图31表示构成AVClip的TS包经过怎样的过程被写入到BD-ROM中。
图32是表示BD-ROM的物理单位与构成1个文件扩展的源包之间的对应关系的图。
图33是表示多路复用在MainClip中的基本流的图。
图34是表示多路复用在SubClip中的基本流的图。
图35是表示Clip信息的内部结构的图。
图36是表示对于电影的视频流的EP_map设定的图。
图37(a)、图37(b)是表示Playlist信息的数据构造、Multi_Clip_entries的内部结构的图。
图38是表示Playlist信息中的PlaylistMark信息的内部结构的图。
图39是表示AVClip与Playlist信息的关系的图。
图40是将Subpath信息的内部结构特写而表示的图。
图41是表示本地储存器上的SubClip、本地储存器202上的PlayList信息以及BD-ROM上的MainClip之间的对应的图。
图42是表示PiP_metadata的内部结构的图。
图43是表示再现引擎205的内部结构的图。
图44是表示合成部15的内部结构的图。
图45是表示再现控制引擎206的处理顺序的流程图。
图46是表示按照PlayList信息中的SubPlayItem信息的再现顺序的流程图。
图47是表示有关本实施方式的写作系统的内部结构、和本系统的调试装置的定位的图。
图48是表示格式化工序中的处理的流程的流程图。
图49(a)、图49(b)是表示网络驱动器的目录-文件构造、JAR档案文件的内部结构的图。
图50(a)、图50(b)是表示证书的数据构造、证书的具体的一例的图。
图51是示意地表示在BD-ROM中根证书被怎样分配的图。
图52是表示没有权限提供的情况下的SIG-BD.RSA、SIG-BD.SF、BD.ROOT.CERTIFICATE、MANIFEST.MF的相互关系的图。
图53是表示没有权限提供的情况下的SIG-BD.RSA、SIG-BD.SF、BD.ROOT.CERTIFICATE、MANIFEST.MF、bd.XXXX.perm的相互关系的图。
图54是表示平台部的内部结构的图。
图55是表示具备BD-ROM驱动器、用来将AV内容解码的硬件及软件、平台部的PC100的结构的框图。
图56是示意地表示组装了再现装置的主要的结构要素后的系统LSI的图。
图57是表示将组装有再现装置的主要的结构要素的系统LSI装备到设备中的状态的图。
标号说明
100调试装置
101网络驱动器
102可引导启动ROM
103RAM
104输入输出I/O
105MPU
106网络I/F
200再现装置
201BD-ROM驱动器
202本地储存器
203网络I/F
204虚拟文件系统部
205再现引擎
206再现控制引擎
207BD-J平台部
208ADK处理部
209初始化处理部
210安装设定部
具体实施方式
以下,参照附图说明本发明的实施方式。
(第1实施方式)
首先,对BD-ROM的制作及工业化生产进行说明。
首先,进行计划工序,在该工序中,决定使BD-ROM以怎样的梗概再现。
接着,进行素材制作工序。该工序是进行动态图像收录、声音收录等的素材制作的工序。
接着,进行格式化工序。该工序是根据在计划工序中制作的梗概和素材,得到要记录在BD-ROM的卷区域中的数据的整体图像(一般称作体数据)的工序。
最后进行压制工序。在该压制工序中,将卷图像(volume image)变换为物理数据串,利用该物理数据串进行原盘切割,制作盘原盘。
这样,通过压制装置制作了原盘,再工业性地大量生产BD-ROM。该生产主要由基板成形、反射膜成膜、保护膜涂层、包覆、标贴的印刷各工序构成。
经过以上的工序,能够制作在各实施方式中表示的记录介质(BD-ROM)。
<Java(TM)应用的制作>
在上述格式化工序中,作为制作的对象的软件由称作BD-J应用的Java(TM)应用和BD-J对象构成。首先,对BD-J应用进行说明。
所谓的BD-J应用,是在完全安装了Java2Micro_Edition(J2ME)PersonalBasis Profile(PBP 1.0)、和Globally Executable MHP specification(GEM1.0.2)for package media targets之后的平台部上动作的Java应用。
该BD-J应用经由xlet接口受应用管理程序控制。Xlet接口具有“加载”、“中断”、“有效”、“毁损”的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(TM)档案文件。Java(TM)档案文件是将ZIP文件的形式特化为Java(TM)的文件,能够通过市售的ZIP解压软件确认内容。
后者的BD-J对象包括应用管理表(ApplicationManagementTable()),是在BD-ROM再现时使平台部执行伴随着标题切换的应用信号传输的数据。更具体地讲,ApplicationManagementTable()包括表示要执行的BD-J应用的application_id、和表示启动BD-J应用时的控制的application_contorol_code。application_contorol_code规定标题选择后的应用的最初的执行状态,此外,application_contorol_code能够规定是将BD-J应用装载到虚拟机中并自动开始(AUTOSTRART)、还是将BD-J应用装载到虚拟机中但不自动开始(PRESENT)。
以上是关于BD-J应用及BD-J对象的说明。接着,对BD-J应用制作工序的详细情况进行说明。
图1是表示BD-J应用的制作顺序的流程图。在IDE(IDE:IntegratedDevelopment Environment:全面发展环境)环境中制作Java代码(步骤S1),在将这样得到的Java程序源代码编译后,变换为JAR档案文件(步骤S2)。通过该变换,得到BD-J应用。然后,在IDE环境中使用模拟器,进行BD-J应用单体中的动作确认(步骤S3),判断是否动作OK(正确)(步骤S4)。如果动作NG(失败)(步骤S4中“否”),则在IDE环境中修正Java(TM)程序源代码后(步骤S5),并回到步骤S2,重新进行动作确认。
以上的过程为与AV内容的制作交叉开发的环境,与此不同地推进AV内容的制作。
本实施方式中所谓的AV内容,是所谓的BD-ROM内容,具有流实体-Clip信息-播放列表-标题的层级构造,具有称作标题的单位,是指供用户选择的数据客体。
如果AV内容的制作结束,则将制作的AV内容变换为BD-REver3.0格式后,写入到BD-RE中。BD-REver3.0格式是以改写型盘为对象的逻辑格式,同时是与作为读取专用型盘的BD-ROM具有完全的互换性的逻辑格式,通过将AV内容变换为该格式,即使不等待BD-ROM的完成,也能够实现假设了实际设备中的再现的综合测试。另外,为了说明的简略化,在本说明书中,将具有ver3.0格式的BD-RE称作BD-ROM。
如果BD-J应用侧的动作确认是正确(步骤S4中“是”),则记述BD-J对象(步骤S6),将BD-J对象、JRA档案文件配置在BD-ROM再现装置能够参照的位置上(步骤S7)。
接着,在ADK(ADK:Application Development Kit)环境中进行动作确认(步骤S8),判断调试是否结束(步骤S9)。所谓的ADK环境,详细在后面叙述,是接近于实际设备中的动作的开发环境。如果调试没有结束,则在IDE环境中进行Java(TM)程序源代码的修正(步骤S10),在将Java程序源代码编译后,变换为JAR档案文件(步骤S11)。然后,回到步骤S6,重新进行动作确认。
<IDE环境及ADK环境>
接着,对用来制作BD-J应用的IDE环境及ADK环境进行说明。图2是表示有关第1实施方式的IDE环境及ADK环境的图。有关本实施方式的IDE环境由该图1中的PC100构成。ADK环境由该图2中的PC100和BD-ROM再现装置200构成。调试装置通过将IDE环境的软件安装到一般的个人计算机(以下称作PC100)中而构成。
对ADK环境进行说明。所谓的ADK环境,是指动作环境,即,将构成BD-J应用的JAR档案文件、BD-J对象配置在网络驱动器(是PC搭载的HDD,能够经由网络参照)中,通过将网络文件系统的信息安装在BD-ROM的文件系统信息中,使BD-ROM再现装置执行网络驱动器上的BD-J应用。
在该ADK环境中,AV内容可以使用由搭载于BD-ROM再现装置中的BD-ROM驱动器记录的内容,BD-J对象可以使用被记录了PC上的网络驱动器的BD-J对象,来实现动作确认。通过使PC上的BD-J应用与处于BD-ROM再现装置上的BD-ROM中的BD-J应用同样地动作,能够进行假设为记录在BD-ROM中的状态的动作确认。
在ADK的调试中,通过利用JPDA(Java Platform DebuggerArchitecture)的结构,实现Java应用的调试。JPDA(Java Platform DebuggerArchitecture)是由Java 2平台部定义的接口,被设计成用于在应用开发环境中使用的调试程序,其分层模型如图3所示。
图3是表示Java平台调试架构(Java Platform Debugger Architecture:JPDA)的分层模型的图。JPDA由执行环境#1、执行环境#2、JDWP构成。
执行环境#1由“后端”、“JVMDI”、“JavaVM”构成。
“后端”与前端进行通信,收发来自Java(TM)应用的请求、对于请求的应答以及事件。
“JVMDI(Java VM Debug Interface:Java VM调试接口)”定义Java虚拟机提供的调试服务。以上是对执行环境#1的说明。
“JavaVM”是作为Java(TM)应用的执行主体的Java(TM)虚拟机。
执行环境#2由“UI”、“JDI”和“前端”构成。
“UI(User Interface:用户接口)”从用户受理后端的设定、变量的参照/变更操作、步骤执行等调试请求。
“JDI(Java Debug Interface:Java调试接口)”定义高等级的Java语言接口。
“前端”与后端进行通信,收发来自用户的请求、对请求的应答以及事件。
“JDWP(Java Debug Wire Protocol:Java调试有线协议)”定义在调试对象的过程与调试程序的过程间进行的通信,进行前端及后端间的通信。
在以上的JPDA中,执行日志或变量的保持值、程序计数器的值、作为断点的地址的收发是通过将再现装置与PC连结的串行端口、插座(Socket)进行的。为了便于说明,假设JPDA中的收发是通过串行端口进行的。插座是位于IEEE802.3(Ethernet(TM))、IP、TCP/UDP上的会话层的通信路径,BD-J应用由于采用IEEE802.3(Ethernet、IP、TCP/UDP作为网络模型,所以当然也可以在调试时的传送路径中采用该插座。本说明书中的执行信息广泛地包含有与应用的执行有关的信息,包括这些图7(a)、图7(b)中表示的执行日志及变量的保持值、程序计数器的值、作为断点的地址。
以上是对JPDA的说明。在图2的例子中,对该执行环境#1分配BD-ROM再现装置200,对执行环境#2分配调试装置100。
对ADK环境中的调试例(1)进行说明。
图4(a)是表示使用标准输出函数的ADK环境中的调试例的图。图中的气球帮助(hp1、hp2、hp3、hp4)是在PC100、BD-ROM再现装置200中进行的处理的解说。在BD-J应用中,如果输出利用标准输出函数的执行日志(hp1),则在BD-ROM再现装置200中,利用串行端口,对PC100侧的日志服务器终端发送执行日志(hp2)。通过这样,日志服务器终端能够获取执行日志,所以能够将该执行日志显示在命令提示符中(hp3)。通过以上的执行日志的发送,能够包括AV内容的再现、事件发生、BD-ROM再现装置保持的信息等,在与实际的动作环境(在产品版BD-ROM再现装置上的BD-ROM再现)同样的状态下实施动作确认。但是,因为依存于BD-ROM上的数据布局的动作(数据访问等),也有在一部分中并不能完全说是同样的情况,这一点需要注意。
此外,通过预先根据执行日志的内容设定等级(重要度),能够对应于该调试等级抑制执行日志。
在使用标准输出函数的调试中,能够轻易地检查应用的动作状况,对于应用的动作验证、再现确认等是有效的。但是,这不过是面向简单的调试作业。
接着,对使用ECLIPSE的调试进行说明。图4(b)是表示使用ECLIPSE的调试例的图。所谓的ECLIPSE,是Java IDE环境之一,具备用来利用JPDA进行调试的GUI。因此,如果利用ECLIPSE,则通过将应用的动作与源代码建立对应,以步(step)为单位进行检查,执行断点设定、一步式执行、执行中的变量值的确认等详细的调试作业,能够以步为单位详细地确认应用的动作。由于该ECLIPSE的利用,PC100与BD-ROM再现装置200按照JPDA的结构进行通信(hp4),从PC100上的ECLIPSE连接到在BD-ROM再现装置中动作的BD-J应用,实施调试作业(hp5)。这面向所发现的不良状态的原因解析以及修正等真正的调试作业。
在执行环境#2的GUI中,能够显示执行环境#1的平台部中的线程、变量、断点以及即时值。图5是表示在ADK环境中进行使用ECLIPSE的调试的情况下的GUI的一例的图。以下,在该GUI中,存在线程一览窗口wd1、变量一览窗口wd2、断点一览窗口wd3、源代码显示窗口wd4、标准输出函数显示窗口wd5。以下,对这些各窗口进行说明。
·线程一览窗口wd1
线程一览窗口wd1一览显示虚拟机的线程。在图中的例子中,显示有Thread[AWT-Windows(TM),Thread[AWT-Shutdown],Thread[AWT-EventQueue-0],其中,可知Thread[AWT-Windows,Thread[AWT-Shutdown]是执行状态(Running),Thread[AWT-EventQueue-0]是挂起状态。
此外,图中的PopupMainMenu(BasicFeatrure).keyPressed(int)line26表示上述Thread[AWT-EventQueue-0]中的构成PopupMainMenu(BasicFeatrure).keyPressed(int)的行26是执行行。
·变量一览窗口wd2
在变量一览窗口wd2中,将变量名与其保持值建立对应而配置。在图中的一例中,将choises,currentIndex,currentSubFeature,font,parent这5个变量和其保持值相对应地表示。
·断点一览窗口wd3
在断点一览窗口wd3中配置有断点。在图中的例子中,表示在BasicFeatrure中的行22、和PopupMainMenu的行67中设定了断点。
·源代码显示窗口wd4
源代码显示窗口wd4配置有源列表。作为PopupMainMenu(BasicFeatrure).keyPressed(int)的源代码文件的BasicFeatrure.java的源列表中的、第13行到第26行的源代码在本图中成为显示对象。并且,对于这些行中设定了断点的行,赋予特殊的标记,并且将执行行强调显示。
·标准输出函数显示窗口wd5
在标准输出函数显示窗口wd5中,配置有被从BD-ROM再现装置200发送的执行日志。图中的[util.JMFPlaybackControl]playPlayList 29 atMark 0是从BD-ROM再现装置200发送的执行日志。该执行日志是关于在方法util中执行的JMFPlaybackControl、即通过JMF播放实例进行的再现控制的执行日志。该JMF播放实例是通过来自方法util的API调用而在平台部内生成的,在本图中的执行日志中,具体而言,在该执行日志中表示通过再现控制引擎再现哪个播放列表、当前时刻是哪里。如果对本图中的具体例进行解说,则可知再现中的播放列表(playPlayList)是PlayListId=29的播放列表,当前时刻是markId=0的章节。
关于以上的GUI的详细情况,请参照下述HP等。
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/jpda/index.html
关于使用Eclipse的调试的详细情况,请参照下述HP等。
http://www-06.ibm.com/jp/developerworks/opensource/030711/j_os-ecbug.html
http://www.okisoft.co.jp/esc/eclipse3/eclipse-debug.html
以上是ECLIPSE中的GUI。接着,对ADK环境中的具体的处理顺序进行说明。
图6是表示ADK环境中的调试顺序的流程图。
所谓的ADK环境中的调试顺序,是验证小组进行关于BD-J应用的动作测试(步骤S12),通过目视或声音等检查BD-J应用的不正确动作。并且,判断是否发现了不良状况(步骤S13),如果没有发现不良状况,则跳过步骤S14~步骤S18,转移到步骤S19。
如果发现了不良状况,则开发者利用不良状况发生时或不良状况发生前后的执行日志进行原因解析(步骤S14)。接着,判断是否能够确定原因(步骤S15)。如果能够确定原因(步骤S15中“是”),则跳过步骤S16、步骤S17,而在不能确定原因的情况下(步骤S15中“否”),重复调试装置的解析(步骤S16)直到确定原因(步骤S17)。如果确定了原因,则进行代码修正及动作确认(步骤S18)。然后,判断所有的验证是否结束(步骤S19),如果残留有未验证的项目,则转移到步骤S12,从动作测试重新进行。如果没有残留未验证的项目,则结束处理。
接着,对有关本实施方式的再现装置的内部结构进行说明。图7表示有关第1实施方式的BD-ROM再现装置200的内部结构,具备BD-ROM驱动器201、本地储存器202、网络I/F203、虚拟文件系统部204、再现引擎205、再现控制引擎206、BD-J平台部207、ADK处理部208。
1、BD-ROM驱动器201
BD-ROM驱动器201进行BD-ROM的装载/弹出,执行对BD-ROM的访问。
2、本地储存器202
本地储存器202保存差分内容。所谓的差分内容,是从与BD-ROM不同的WWW服务器分发且与BD-ROM内容组合再现的内容的总称。
3、网络I/F203
网络I/F203基于网络管理信息进行与连接在LAN上的调试装置的通信。在通信的客体中,在从调试装置送入到再现装置中的客体中,有网络文件系统(NFS)信息、BD-J应用、BD-J对象,在从再现装置向调试装置送入的客体中,有安装命令。这里,网络管理信息是表示利用网络时的串行端口设定、网络掩码设定、网关设定、主机设定的信息。图8(a)是将对网络管理信息中的各设定项目分配的信息识别码与其解说相对应地表示的图。此外,图8(b)是表示网络管理信息的具体的记述的图。
本图中的信息识别码中的“LOGSERVERHOST”、“LOGSERVERSELECT”、“LOGSERVERPORT”是用来收发上述执行日志的设定。LOGSERVERHOST是作为执行日志的发送目的地的网络地址,在具体例中,记述有日志服务器终端动作的调试装置的网络地址“192.168.0.1”。
LOGSERVERSELECT是表示将执行日志输出给日志服务器终端的串行端口还是输出给服务器的输出设定,在具体例中,记述为“SERIAL”。在该LOGSERVERSELECT是“SERIAL”的情况下,无视LOGSERVERHOST、LOGSERVERPORT,将日志输出给SERIAL端口。当LOGSERVERSELECT是“SOCKET”时,对于LOGSERVERHOST、LOGSERVERPORT的地址、端口号,输出执行日志。
LOGSERVERPORT是用来确定作为输出目的地的插座的端口号,在具体例中,表示将执行日志输入到端口号4096的插座。
“NETMASK”表示网络掩码的设定,“GATEWAY”、“GATEWAYNAME”表示网关的设定。
NETMASK是再现装置与再现装置连接时使用的掩码。
GATEWAY表示是否经由网关将再现装置与再现装置实际设备连接。在该图(b)的具体例中,由于记述为“是”,所以可知经由网关与再现装置实际设备连接。
GATEWAYNAME是作为实际设备的再现装置存在的网络中的网关的地址。
“HOSTADR”、“BDVIDEOMOUNT”分别表示主机的设定。
HOSTADR表示作为实际设备的再现装置的网络地址。在具体例中,由于记述为“192.168.0.2”,所以可知在网络地址192.168.0.2中存在再现装置的实际设备。
BDVIDEOMOUNT记述有BD-J应用存在的网络路径。在具体例中,由于记述有“192.168.0.1:/home/bdrom/”,所以可知设定了网络地址192.168.0.1中的/home/bdrom/。此外,可知该/home/bdrom/中的文件系统信息作为网络文件系统的文件系统信息被送入到BD-ROM再现装置200中。
以上是对网络管理信息及网络I/F203的说明。
4、虚拟文件系统部204
虚拟文件系统部204通过在BD-ROM的文件系统信息中组合其他记录介质的文件系统信息来生成虚拟文件系统。一般,BD-ROM的再现装置通过将本地储存器的文件系统信息作为“其他记录介质”的文件系统信息读取,来生成虚拟的包,在本实施方式中特征在于,通过将网络驱动器的文件系统信息作为“其他记录介质”的文件系统信息读取,来生成虚拟的包。通过该虚拟的包的生成,平台部能够识别网络上的Java(TM)应用是否存在于BD-ROM上并访问。图9是示意地表示虚拟文件系统部204的文件系统信息的组合的图。右侧是网络驱动器中的文件目录构造,中侧是BD-ROM中的文件目录构造。左侧是虚拟的包。
右侧表示利用网络文件系统信息表现的硬盘。可知在该硬盘中,在home目录的属下,存在bd-rom目录、BD-VIDEO目录的子目录,进而在其属下,存在BDJO目录、JAR目录。
在BDJO目录中,存在被赋予扩展名bdjo的文件(00001.bdjo)。
在JAR目录中,存在JAR档案文件(00001.jar)。
中侧表示利用BD-ROM的文件系统信息表现的BD-ROM的文件系统。该BD-ROM文件系统在Root目录下存在BDVIDEO目录。
在BDVIDEO目录中,有被赋予了扩展名bdmv的文件(index.bdmv,MovieObject.bdmv)。并且,在该BDVIDEO目录的属下,还存在PLAYLIST目录、CLIPINF目录、STREAM目录。
在PLAYLIST目录中,有被赋予了扩展名mpls的文件(00001.mpls)。
在CLIPINF目录中,有被赋予了扩展名clpi的文件(00001.clpi)。
在STREAM目录中,有被赋予了扩展名m2ts的文件(00001.m2ts)。
图中的箭头mt1、mt2示意地表示上述那样的虚拟文件系统部204的文件系统信息的组合。通过该组合,存在于网络文件系统中的BDJO目录和JAR档案文件目录被装入到BD-ROM的文件系统中的BDVIDEO目录的属下(图中的虚线框hw1),存在于网络文件系统中的BDJO目录和JAR档案文件目录被处理成宛如在BD-ROM文件系统中存在于BDVIDEO目录的属下。
5、再现引擎205
再现引擎205再现由虚拟文件系统部204生成的虚拟包中能够识别的AV内容。
6、再现控制引擎206
再现控制引擎206使再现引擎205进行基于来自BD-J应用的API调用的再现。
7、BD-J平台部207
BD-J平台部207执行由虚拟文件系统部204生成的虚拟包能够识别的BD-J应用。
8、ADK处理部208
ADK处理部208是BD-J平台部207的结构要素,实现ADK环境中的调试。
以上是表示BD-ROM再现装置200的内部结构的图。记述了该ADK处理部208的结构要素中的特征性的要素的是图10。
图10是表示ADK处理部208的内部结构的图。如该图所示,ADK处理部208具备初始化处理部209、安装设定部210。
9、初始化处理部209
初始化处理部209进行装置的内部信息及硬件等的初始化处理,并且将网络管理信息读入到网络I/F中,进行网络设定处理。所谓的网络设定处理是指UNIX(TM)的route命令等的操作。在网络管理信息是图8(b)所示那样的内容的情况下,通过基于由图8(a)中的NETMASK、GATEWAY、GATEWAYNAME、HOSTADDR的各信息识别码指定的信息制作以下那样的route命令,来进行网络设定处理。
/sbin/route add-net 192.168.0.2 netmask 255.255.255.0 ethl
10、安装设定部210
安装设定部210基于由网络管理信息中的BDVIDEOMOUNT的信息识别码指定的信息,对连接在网络上的网络驱动器中的文件系统(NFS)进行安装设定处理。所谓的安装设定处理,表示UNIX的mount命令等的操作。
安装目录的处理是指UNIX的文件系统中的安装的操作。例如,是指在由计算机B(客户端)的文件系统管理的目录X中装入由其他计算机A(服务器)的文件系统管理的目录U的操作。如果进行该操作,则在计算机B上的应用访问计算机A的目录U的情况下,只要访问请求指定目录X就可以,不需要应用指定计算机A的目录U。在这样将某个目录x分配给其他目录U的操作称作将目录U安装到目录X中。在该操作中,将目录X称作“安装目的地的目录”,将目录U称作“安装源的目录”。这里,平台部由于在Linux等家电设备用的实时系统OS上动作,所以通过安装设定部210经由网络发出mount命令,能够进行上述那样的安装。如果假设网络管理信息是图8(b)所示的信息,则安装设定部210发出的mount命令变为以下那样。
mount-t nfs-o nolock-o ro 192.168.0.1:/home/bdrom/BDVIDEO/BDJO/BDVIDEO/BDJO
mount-t nfs-o nolock-o ro 192.168.0.1:/home/bdrom/BDVIDEO/JAR/BDVIDEO/JAR
在上述mount命令的处理中,在前半部分,将PC的/home/bdrom/BDVIDEO/BDJO目录安装到BD-ROM的/BDVIDEO/BDJO的目录中,BD-ROM的/BDVIDEO/BDJO的目录为安装目的地目录,PC的/home/bdrom/BDVIDEO/BDJO目录为安装源目录。此外,在后半部分,将PC的/home/bdrom/BDVIDEO/JAR档案文件目录安装到BD-ROM的/BDVIDEO/JAR档案文件目录中,BD-ROM的/BDVIDEO/JAR档案文件目录为安装目的地目录,PC的/home/bdrom/BDVIDEO/JAR档案文件目录为安装源目录。
通过该安装,平台部及再现控制引擎识别的文件系统成为组合了网络驱动器上的文件系统和BD-ROM上的文件系统的系统,即图9所示那样的虚拟的包中的文件系统。通过这样,平台部可以识别出网络驱动器上的BD-J应用宛如存在于BD-ROM上,能够使BD-ROM的AV内容的再现与平台部的BD-J应用的执行联动。在本实施方式中,通过BD-J应用对平台部调用用来调试的规定的安装用API,安装设定部210对于BD-J应用存在的网络驱动器执行上述那样的安装。
此外,在网络管理信息中,由于将标准输出函数的输出目的地设定为日志服务器终端的串行端口,所以平台部在BD-J应用内的标准输出函数的调用中,取出被指定为自变量的值,将取出的值作为执行日志,经由串行端口发送给日志服务器终端。
图11是示意地表示ADK环境中的BD-J应用执行和AV内容再现的图。本图是在图4的结构图中添加了气球帮助的图。该气球的右侧表示网络驱动器,中侧表示BD-ROM,左侧表示虚拟包的内容。这些内容与图9所示的是同样的。通过安装设定部210进行安装,生成虚拟包,所以如存在于BD-ROM中那样处理存在于硬盘中的BD-J应用及BD-J对象,BD-ROM再现装置200的再现控制引擎进行该虚拟包内的AV内容的再现,BD-ROM再现装置200的平台部执行该虚拟包内的BD-J应用,由此,在与实际在家庭内的再现装置中再现BD-J应用同样的环境中执行BD-J应用。
·ADK环境的处理顺序
图12是表示ADK环境的处理顺序的流程图。首先,在将网络管理信息设定在网络I/F203中之后(步骤S21),将PCI00上的硬盘中的文件系统信息安装到BD-ROM中的文件系统信息中,生成虚拟文件系统(步骤S22)。接着,从BD-ROM读取该虚拟文件系统的Index.bdmv。这里,所谓的index.bdmv,是为了执行上述那样的标题边界的应用信号传输而记载了标题与BD-J对象及BD-J应用之间的关联的信息(对于其详细情况在第6实施方式中说明)。如果读取了该Index.bdmv,则基于它和用户操作,确定要再现的标题(步骤S23)。
步骤S24是确定的标题是否是由BD-J应用控制的标题的判断,如果是由BD-J应用控制的标题,则基于BD-J对象内的ApplicationManagementTable()进行信号传输后,将BD-J应用装载到Java平台部内(步骤S25)。接着,执行BD-J应用,开始JPDA的调试(步骤S26)。如果BD-J应用的执行结束,标题中的播放列表的再现结束,则回到步骤S24,重复进行步骤S24~步骤S26的处理。
在上述那样的BD-J标题的再现中,如果播放列表的再现结束,则从再现控制引擎输出表示该播放列表的再现结束的事件。BD-J应用中的事件处理器按照该事件进行接着的标题。另一方面,表示播放列表再现结束的事件被发出,在切换标题时,平台部将日志发送给PC100。PC100通过接收该日志,能够进行标题切换是否被正确地进行的确认。
以上,根据本实施方式,由于在实际设备的平台部上将发生了错误的情况下的执行日志发送给调试装置,所以成为在调试装置上适当地进行探寻错误原因的处理,能够适当地进行引入了实际设备的综合测试。
此外,根据本实施方式,通过从BD-ROM驱动器取得AV内容,从网络驱动器装置取得应用,能够使应用与AV内容联动,所以在进行AV再现控制的应用的动作与制作者的意图不同的动作的情况下,能够在调试装置上进行解析、修正。由此,即使应用没有被配置在BD-ROM中,也能够实施有效率的解析、修正。
(第2实施方式)
本实施方式关于在ADK环境中进行执行日志输出的实施方式。在要通过标准输出函数调用而进行执行日志输出的部位中,有以下的部位。
1)在API调用时(AV再现控制用API、关于BD-ROM再现装置的各种信息取得/设定API等),输出调用API种类、自变量等。在这里的API调用中,有用来使再现控制引擎进行再现列表再现、再现列表切换、标题切换、副标题/音频/角度等的切换、再现速度/方向等的变更、寄存器值取得/变更等的API。
具体的Java(TM)程序源代码的记述如下。在源代码中的再现列表再现、再现列表切换、标题切换、副标题/音频/角度等的切换、再现速度/方向等的变更、寄存器值取得/变更的源代码中,记述标准输出函数的调用。在该调用时,将事件名、接收时的详细参数作为自变量。
2)在各种事件接收时,输出平台部接收到的事件名、接收时的详细参数。作为具体例,在关键事件、再现状态等变化事件的接收时,有平台部接收到的事件名、接收时的详细参数等。具体而言,在接收关键事件、再现状态等变化事件的事件侦听部的源代码中,记述有标准输出函数的调用。在该调用时,将事件名、接收时的详细参数作为自变量。
3)在错误发生时,输出错误消息、堆栈跟踪。这里所谓的错误,是指异常的发生、AV再现控制的失败、API调用的失败。特别是,在伴随着API调用的错误发生时,将作为调用的对象的API的种类以及该API调用时的自变量作为执行日志发送。在AV再现控制的失败时的执行日志中,除了当前再现的播放列表的号码以外,还有表示其再现时刻的时刻信息和由用户调用的菜单的菜单号码。
具体的Java(TM)程序源代码的记述如下。即,记述以异常的发生、AV再现控制的失败发生、API调用的失败发生为条件语句的If语句,记述Java(TM)程序源代码,以使得在该条件语句是真的情况下、以错误消息、或堆栈跟踪为自变量进行标准输出函数的调用。
4)在作为应用动作的点的处理执行时,输出能够确定处理执行的消息。具体而言,在标题边界处进行BD-J应用的信号传输时,应用的动作变化的时刻成为应用动作的点。即,由用户选择标题,开始应用的执行的定时和标题的再现结束而应用的执行结束的定时成为应用动作点。特别是,在标题的再现结束时,通过应用进行根菜单或标题菜单的显示,所以如果将该结束时作为应用动作点发送执行日志,则能够对应用的动作验证有用。
具体的Java(TM)程序源代码的记述如下。即,上述那样的应用的执行开始部分对应于构成BD-J应用的类文件中相当于主例程的部分的开头部分。同样,应用的执行结束部分对应于构成BD-J应用的类文件中相当于主例程的部分的末尾部分。如果在该开头部分及末尾部分中记述标准输出函数的调用,将作为显示对象的菜单的识别码作为其自变量,则能够正确地验证上述根菜单或标题菜单是否成为显示对象。
以下对于1)、3)的输出执行日志的情况进行说明。
为了该执行日志输出,只要使BD-ROM再现装置200执行装入有调试用例程后的状态下的BD-J应用来执行实际设备测试就可以。
这里装入在BD-J应用中的调试例程,是通过API对平台部命令播放列表的再现、并且在平台部中发生了例外处理(异常)时输出消息或存储器转储的程序。在Java的虚拟机的堆栈中,以先进后出式储存函数调用的信息、变量的信息。在本实施方式中,根据这些生成函数调用的转储(堆栈跟踪),作为执行日志输出。
平台部的例外处理是在发出了预想外的事件的情况、或者在进行了使用规定外的参数的系统调用的情况下发生。在本实施方式中所述的调试用例程以图13那样的日志输出用API为前提,以图15的形态装入到BD-J应用中,所以在平台部中发生了异常时启动,能够将异常发生时的错误消息及存储器转储输出到标准输出函数中。在本实施方式中将这样输出到标准输出函数中的存储器转储作为执行日志处理。
然后,对标准输出函数的日志输出用API进行说明。图13是表示关于作为日志输出用API的DebugLog的类构造体的图。
本图的类构造体作为组成项而具有整数型的公共变量ALL、FINEST、FINER、FINE、INFO、WARNING、ERROR、OFF、debugLevel。作为能够从外部调用的方法,有setLevel方法、printLog方法、printException方法。
setLevel方法是受理newLevel作为自变量、将该newLevel代入到debugLevel中(debugLevel=newLevel)并调用作为标准输出函数的System.out.println方法的方法。在该调用时,由于将“debugLevel set to”+debugLevel作为自变量,所以debugLevel以在其之前附加“debugLevel setto”的字符串的状态显示。
printLog方法是受理logLevel、Class caller、String message作为自变量、判断logLevel是否是debugLevel以下(logLevel<=debugLevel)、如果是则调用作为标准输出函数的System.out.println方法的方法。在该调用时,以“[“+caller.getName()+”]”+message为自变量。这里,caller.getName()是取得作为调用源的函数的名称的函数,由该caller.getName取得的函数名以前后被添加了括号[]且其后追加message的状态显示。
printException方法是受理logLevel、Class caller、Trowable t作为自变量、以logLevel、caller、t.getMessage()为自变量来进行printLog的调用并进行t.printStackTrace()的调用的方法。
图14(a)~图14(c)是表示setLevel方法、printLog方法、printException方法的处理顺序的流程图。
·setLevel方法
本图(a)中的setLevel方法的构成顺序是,在debugLevel中设定newLevel(步骤S31),为了对设定的debugLevel附加“debugLevel set to”的字符串进行显示而调用System.out.println方法(步骤S32)。
·printLog方法
本图(b)中的printLog方法的构成顺序是,判断由自变量给出的logLevel是否比debugLevel小(步骤S35),如果小则为了在调用源的方法名(Caller.getName())中显示由自变量给出的消息,而进行作为标准输出函数的System.out.println方法的调用(步骤S36),如果比debugLevel大则跳过该调用。
·printException方法
本图(c)中的printException方法是调用printLog方法来显示调用源的类名和由自变量给出的异常的消息名(步骤S33)、调用由自变量给出的异常的StackTrace方法的方法(步骤S34)。
图15表示利用日志输出API的Java(TM)程序源代码的一例。图中的func是受理playListId、markId作为自变量来调用try方法的函数。
try方法是命令PlayList再现的再现并将其结果输出到标准输出函数中的方法。具体而言,通过利用自变量playListId、markId调用PlayPL方法,使平台部执行JMFPlaybackControl即JMF播放器实例的再现控制(PlayPL(PlayListId,markId))。然后,进行printLog函数的调用(printLog(Debuglog.INFO,this,“PlayPL PL:”+playListId+“mark:”+markId))。这里,PlayPL方法的调用时的自变量是playListId、markId,所以从该自变量所表示的播放列表中的由markId指示的时刻开始,播放列表的再现开始。
作为printLog函数的调用时的自变量,包含有Debuglog.INFO,this,所以在该printLog函数的调用时,将作为调用源的函数的名称“try”显示在GUI中。
另一方面,printLog函数的调用时的自变量包含有“PlayPL PL:”+playListId+“mark:”+markId,所以playListId以在其之前附加有“PlayPL PL:”的字符串的状态显示。markId以附加有“mark:”的字符串的状态显示。经由串行端口将它们作为执行日志输出到调试装置中。
Catch(Exception e)是在发生了例外处理时执行的函数,其内容是以DebugLog.ERROR为自变量,调用printException。
图16是表示try方法的处理顺序的流程图。以playListID、MarkId为自变量,进行PlayPL方法的调用(步骤S41),将debugLevel的等级设定为“INFO”,调用用来输出由该方法再现的播放列表的日志的PrintLog方法(步骤S42)。在playListID=3、MarkId=2的情况下,在日志服务器终端的控制台上,如步骤S42的右侧所示,显示[try]playPL PL:3mark:2的字符串。
步骤S43是是否发生了异常的判断,如果没有发生,则结束本流程,而如果发生了,则将debugLevel的等级设定为“ERROR”,进行用来输出在该方法中产生的异常的错误消息和StackTrack的PrintException方法的调用(步骤S44)。这样,如该步骤S44的右肋所示,在日志服务器终端的控制台上,以两段表述显示[try]错误消息和堆栈跟踪。
通过如该调试例程那样在作为关键部位的程序源的位置上记载标准输出函数,能够进行任意的位置处的状态监视。但是,由于在输出函数的执行本身中需要时间,所以需要留意因标准输出函数的有无而对执行定时带来影响的情况。
(第3实施方式)
本实施方式是实现表示BD-ROM再现装置中的内部状态的变量的读写的实施方式。
在BD-J应用中,装入有中断命令和监视程序。该中断命令是如果向串行端口输入命令则从BD-J应用向监视程序分支的命令。
监视程序是进行来自串行端口的命令输入等待、如果经由串行端口被输入命令则按照该命令进行处理的程序。
这里,在有可能被输入的命令中,有读取命令、写入命令。读取命令可以在第1操作数中记述作为读取对象的PSR号码。写入命令可以在第1操作数中记述作为写入对象的PSR号码,可以在第2操作数中记述即时值。
在读取命令的输入时,监视程序对再现控制引擎进行再现控制引擎的调用,来读取被该第1操作数指定的寄存器号的PSR的保存值。作为对该调用的响应,如果读取到PSR保存值,则通过进行以该PSR保存值为自变量的标准输出函数的调用,将该PSR保存值发送给日志服务器终端。通过这样,日志服务器终端能够经由串行端口取得PSR保存值。
在写入命令的输入时,监视程序对再现控制引擎进行再现控制引擎的调用,来对于由该第1运算值指定的寄存器号的PSR写入由第2运算值指定的即时值。作为对于该调用的响应,如果从再现控制引擎输出了表示写入的成功与否的事件,则通过进行以该事件表示的写入成功与否为自变量的标准输出函数的调用,将该PSR保存值发送给日志服务器终端。通过这样,日志服务器终端能够经由串行端口取得PSR保存值。
以上,根据本实施方式,由于使组装在BD-J应用中的监视程序进行对PSR的读写,将其结果经由串行端口发送给日志服务器终端,所以日志服务器终端能够经由组装在BD-J应用中的监视程序自由地操作PSR的值。
(第4实施方式)
在本实施方式中,对于作为IDE环境的调试装置的内部结构进行说明。图17是表示调试装置的硬件结构的图。在本实施方式中,PC100如本图所示,包括网络驱动器101、可引导启动ROM102、RAM103、输入输出I/O104、MPU105、网络I/F106。
·网络驱动器101
网络驱动器101是用来保存对ADK环境提供的BD-J应用、BD-J对象的硬盘,从BD-ROM再现装置200识别作为网络驱动器。
·可引导启动ROM102
可引导启动ROM102保存用来进行操作系统的引导的软件代码。
·RAM103
在RAM103中,装载有用来在构成操作系统的内核、处理器部、IDE环境中用于制作BD-J应用的各种程序。
·输入输出I/O104
输入输出I/O104将键盘、鼠标这样的输入设备以及显示器那样的输出设备连接而构成GUI。
·MPU105
MPU105执行装载在RAM103中的软件。
·网络I/F106
网络I/F106进行网络上的数据输入输出。
·HDD107
HDD107是保存从写作系统取得的标题构造信息的硬盘驱动器。
所谓的标题构造信息,是利用树构造对BD-ROM中的再现单位的关系、例如标题、电影对象、BD-J对象、播放列表间的关系进行规定的信息。具体地讲,标题构造信息规定与要制作的BD-ROM的“盘名”相对应的节点、与该BD-ROM中能够从Index.bdmv再现的“标题”相对应的节点、与构成该标题的“电影对象及BD-J对象”相对应的节点、根据该电影对象及BD-J对象再现的“播放列表”的节点,通过在边缘(边)连结这些节点,来规定标题、电影对象、BD-J对象、播放列表之间的关系。在标题构造信息中,播放列表不是如00001.mpls、00002.mpls那样在实际向BD-ROM记录时使用的具体的文件名,而是以MainPlaylist、MenuPlaylist那样的抽象名称记载的文件名。这是因为,在同时制作面向BD-ROM的数据和面向DVD-Video的数据的情况下,该再现单位的构造优选为抽象地表现。
·HDD108
HDD108是用于保存操作系统的内核、处理器部、用于IDE环境的各种软件、ID类源代码、Java(TM)程序源代码、制作过程中的BD-J对象的HDD。
所谓的ID类源代码,是Java(TM)程序用来访问最终制作在盘上的Index.bdmv或PlayList信息的Java(TM)类库的源代码。ID类源代码具有通过指定播放列表号码而从盘读入规定的播放列表文件的构造程序,通过利用执行该构造程序而制作的实例实现AVClip的再现等。ID类库的变量名如MainPlaylist、MenuPlaylist那样,利用由标题构造信息定义的播放列表节点的名称定义。此时使用的播放列表号码是伪号码。将基于该ID类源代码编译生成的Java(TM)类库称作ID类库。
以上是PC100的硬件结构要素。然后,对软件结构要素进行说明。图18是表示IDE环境的软件结构的图。如本图所示,IDE环境包括ID类制作部111、Java(TM)编程部112、BD-J对象制作部113、Java(TM)输入部114、ID变换部115、Java(TM)输入部116、日志服务器终端117、BD-J模拟器118。
1、ID类制作部111
ID类制作部111利用保存在HDD107中的标题构造信息制作ID类源代码,保存在HDD108中。
2、Java(TM)编程部112
Java(TM)编程部112经由GUI等用户接口,按照来自用户的编辑操作,制作Java(TM)程序的源代码,将Java(TM)程序源代码写入到HDD108中。该Java(TM)程序源代码为BD-J应用的源,但为了制作该Java(TM)程序作为BD-J应用,必须参照Index.bdmv、播放列表这些BD-ROM特有的信息。它们在有关BD-ROM特有的信息的参照部分的记述中使用上述那样的ID类库。
3、BD-J对象制作部113
BD-J对象制作部113基于由Java(TM)编程部112制作的Java(TM)程序源代码和ID类源代码,制作BD-J对象生成信息。所谓的BD-J对象生成信息,是作为最终要记录在BD-ROM中的BD-J对象的雏形的信息,不是利用00001.mpls、00002.mpls那样的具体的文件名,而是利用由ID类库定义的变量名,指定要再现的播放列表。
4、Java(TM)输入部114
Java(TM)输入部114输入由BD-J对象制作部113制作的Java(TM)程序源代码、ID类源代码、BD-J对象生成信息。Java(TM)输入部114利用标题构造信息,进行输入的Java(TM)程序源代码、ID类源代码、BD-J对象生成信息、和它们的代码及信息对应于哪个BD-J对象的关联建立,设定标题构造的BD-J对象节点的BD-J对象生成信息。
5、ID变换部115
ID变换部115将由Java(TM)输入部114输入的ID类源代码变换为标题号码、播放列表号码。此外,ID变换部115对于BD-J对象生成信息也进行变换,以使在BD-J对象内定义的播放列表名与实际的盘上的播放列表号码一致。
6、Java(TM)输入部116
Java(TM)输入部116对由ID变换部115变换后的ID类源代码、Java(TM)程序源代码进行编译处理,输出BD-J对象及BD-J应用。这里输出的BD-J应用为JAR档案文件的形式。
在Java(TM)输入部116中,能够进行多个编译开关的设定,在使用面向ADK环境的编译开关的情况下,将图15所示的日志输出用API及作为该日志输出用API的使用例的部分编译。
在使用面向IDE环境的编译开关的情况下,将ID类源代码在没有被变换为标题号码、播放列表号码的情况下编译。这是因为,如后所述,在模拟中使用的抽象化内容如MainPlaylist、MenuPlaylist那样使用由标题构造信息定义的播放列表节点的名称定义。
7、日志服务器终端117
日志服务器终端117将从再现装置接收到的日志显示在窗口上。日志服务器终端的日志的窗口显示在与图5那样的窗口显示相同的画面上进行,所以用户能够一边观看该日志服务器终端的日志的显示,一边解析、修正源程序代码的不良状况。
8、BD-J模拟器118
BD-J模拟器118执行BD-J应用的模拟。
以上是IDE环境中的软件结构。接着,对BD-J模拟器118的内部结构更详细地进行说明。
图19是表示BD-J模拟器118的内部结构的图。如本图所示,包括源浏览器121、PC上平台部122、跟踪器123、抽象化内容124、抽象化内容制作部125、再现控制引擎存根126、模拟信息127、AV再现画面显示部128构成。以下,对构成该BD-J模拟器118的各结构要素进行说明。
1、源浏览器121
源浏览器121进行BD-J应用的源列表显示,并且按照来自用户的操作,执行源代码的制作及对制作的源代码的修正。
2、PC上平台部122
PC上平台部122是PC100上的Java平台部,在PC100上执行BD-J应用。
2、跟踪器123
跟踪器123是输出被执行的动作、寄存器、变量值等的软件。该跟踪器具有断点设定、一步式执行、快照功能。快照功能是在执行特定的功能时、或仅在特定的条件下输出寄存器的值及变量值、执行结果的功能。用户通过将这些处理组合,能够进行在改写变量值基础上的应用执行等各种调试方法。
3、抽象化内容124
抽象化内容124是在模拟中使用的AV内容的代替品。这里,如果说抽象化内容124与要记录在BD-ROM中的AV内容怎样不同,则BD-ROM中的AV内容按照BD-ROM应用层规格的语法记述,相对于此,抽象化内容124用比该BD-ROM应用层规格的语法抽象度高的语法记述。即,如MainPlaylist、MenuPlaylist那样,利用由标题构造信息定义的播放列表节点的名称,确定抽象化内容124的结构要素。该抽象化内容由1个或两个以上的播放列表构成。一个播放列表可以分为1个或两个以上的章节,在任意的地方设定有称作播放列表标识的逻辑性的记号。这里,在抽象化内容中,各播放列表根据影像的析像度、影像的编码种类、影像的帧速率、影像的长度、能够与播放列表组合而再现的声音流数、和能够与播放列表一起显示的副标题数确定,实现画中画。该画中画是在母画面、子画面的各自中显示动态图像而再现的功能。
4、抽象化内容制作部125
抽象化内容制作部125显示播放列表构成菜单501,基于对该菜单的用户操作,制作抽象化内容。
i)播放列表构成菜单501
图20是表示播放列表构成菜单501的一例的图。如本图所示,播放列表构成菜单501包括多个播放列表面板502、取消按钮、决定按钮。
ii)播放列表面板502
播放列表面板502是视觉地表现构成影像的各个播放列表的内容而供用户操作的GUI部件,在带有标签的状态下叠合显示。在这样的叠合显示中,如果某个标签被点击,则将被点击的播放列表面板502整面显示,此前整面显示的播放列表面板绕到其背后。
播放列表面板502是用来针对抽象化内容的各项目通过从用户受理输入而进行抽象化内容的设定的GUI,包括以下的表。
·影像属性表h1
影像属性表利用索引栏和与其对应的输入栏的组表现。索引栏是从用户受理“析像度”、“编码方式”、“帧速率”这些影像属性的名称输入的栏。用户通过用光标指示该索引栏而进行键输入,能够规定该影像属性的名称。输入栏是受理影像属性的具体的设定的栏,通过用光标指示该输入栏并进行键输入,对播放列表的结构要素赋予具体的值。在本图的一例中,可知将“析像度”规定为“1920×1080”、将“编码方式”规定为“MPGE-2”、将“帧速率”规定为“24”。
·流表h2
流表利用索引栏和与其对应的输入栏的组来表现。索引栏如“声音流数”、“字幕流数”那样,从用户受理与影像一起再现的流的名称输入。用户通过用光标指示该索引栏而进行键输入,能够规定该声音流数、字幕流数的名称。输入栏是受理流数的具体的设定的栏,通过用光标指示该输入栏而进行键输入,对播放列表的结构要素赋予具体的值。在本图的一例中,规定“声音流数”是“两条”、“字幕流数”是“3条”。
·章节表h3
章节表利用时间代码栏和与其对应的章节名栏的组表现。时间代码栏是从用户受理00:00:00:00、00:30:00:00~01:50:00:00、01:59:25:00这样的时间代码的数值输入的栏。用户通过用光标指示该时间代码栏而进行键输入,能够规定该时间代码。章节名栏是受理章节的具体的名称设定的栏,通过用光标指示该章节名栏而进行键输入,对章节赋予具体的名称。在本图的一例中,可知赋予了“开头”、“战役”、“结尾”的名称。
·标记表h4
标记表利用时间代码栏和与其对应的标记名栏的组表现。时间代码栏是从用户受理00:02:14:00、00:05:54:00~01:25:10:00、01:55:10:00这样的时间代码的数值输入的栏。用户通过用光标指示该时间代码栏而进行键输入,能够规定该时间代码。标记名栏是受理标记的具体的名称设定的栏,通过用光标指示该标记名栏而进行键输入,对标记赋予具体的名称。在本图的一例中,赋予了标题显示、序言结束、CG效果访谈、结局启动的名称。
此外,在播放列表构成菜单501中,有声音详细设定按钮503、字幕详细设定按钮504、章节追加按钮505、标记追加按钮506。
iii)声音详细设定按钮503
声音详细设定按钮503是用来从用户受理图21(a)所示那样的声音流构成菜单601a的显示请求的GUI部件。声音流构成菜单601a是从用户受理声音的详细设定的GUI。该声音的详细情况利用号码栏和与其对应的名称栏的组表现。号码栏是受理可再现的声音的号码输入(图中的#01、#02)的栏。名称栏是受理声音的抽象名称(日语、英语)的栏,通过用光标指示该输入栏而进行键输入,来规定声音的详细情况。
此外,在本画面中,将“取消”按钮、“决定”按钮一起显示,使用户选择是否使这些画面上的设定反映到模拟中。
iv)字幕详细设定按钮504
字幕详细设定按钮504是用来受理图21(b)所示那样的字幕流构成菜单601b的显示请求的GUI部件。字幕流构成菜单601b是从用户受理字幕的详细设定的GUI。该字幕的详细情况利用号码栏和与其对应的名称栏的组表现。号码栏是受理可再现的字幕的号码输入(图中的#01、#02、#03)的栏。名称栏是受理字幕的抽象名称(日语、英语、日语(译制))的栏,通过用光标指示该输入栏而进行键输入,规定字幕的详细情况。
此外,在本画面中,将“取消”按钮、“决定”按钮一起显示,使用户选择是否使这些画面上的设定反映到模拟中。通过经由该面板的输入,规定与应用联动的播放列表的详细情况。
由于基于对这些GUI的用户操作能够制作抽象化内容124,所以程序员能够如想法那样构成在BD-J应用的调试中使用的抽象化内容的规格。以上是关于抽象化内容制作部125的说明。
5、再现控制引擎存根126
再现控制引擎存根126在AV数据写作完成前且在没有AV数据的状态下执行PC上的调试。因而,再现控制引擎存根126对BD-J应用提供以下的项目。
-AV再现处理
-起因于再现状态变化(停止、特技再现等)等的事件发生
-PSR的设定值、Persistent区域的保存内容等BD-ROM再现装置保持的信息
由此,在实施主要的图形显示处理、关键事件处理等动作确认的同时,对于AV再现等模拟对象的处理,能够对其算法(逻辑)进行确认。一般,BD-ROM再现装置的标准模型为在再现控制引擎部上存在BDJ平台部的层结构。该再现控制引擎部是以HD图像的再现为前提的高端的引擎部,所以一般的PC100上的实现较困难,作为它的替代而在PC100中设有再现控制引擎存根126。
这里,再现控制引擎存根126在进行再现控制API的调用的情况下,进行被调用的再现控制引擎的解析,基于解析结果进行模拟信息的变更或从模拟信息的信息取得。如果在再现模拟信息中发生变更,则进行再现状态变化的通知。此时不需要对发生的所有变更进行通知,而基于变更内容及再现状态动态地变更通知的内容。
6、模拟信息127
模拟信息127例如是将模拟的动作条件赋予给再现控制引擎存根126的信息,包括“当前时刻信息”、“动作状态信息”、“画面配置信息”、“声音输出信息”、“字幕显示信息”。它们在再现控制引擎中作为PSR的设定值被规定。
在“当前时刻信息”中,例如包括表示再现流上的再现位置的再现时间代码、确定再现中的播放列表的播放列表号码、再现对象的影像的章节号码、和播放列表标识号码。
在“动作状态信息”中,例如包括表示再现处理处于再现停止、通常再现、特殊再现、再现暂时停止的哪个状态的再现状态、表示是按照时间轴将影像再现还是与时间轴逆行将影像再现的再现方向、和表示影像的速度的再现速度。
在“画面配置信息”中,例如包括表示画面上的模拟再现影像的显示位置的再现位置、显示在画面上的影像的尺寸、和表示再现中的影像的缩放倍率的缩放信息。
在“声音输出信息”中,例如包括声音流的再现音量、和确定再现中的声音流的声音流号码。在字幕显示信息中,例如包括副标题的显示状况和显示中的副标题号码。
7、AV再现画面显示部128
AV再现画面显示部128进行基于模拟信息及抽象化内容14的显示。如上所述,抽象化内容124、模拟信息127不过是BD-ROM内容及再现控制引擎的设定状态的代替物,所以AV再现画面显示部128的显示内容不过是显示例如用单色涂布的矩形的模拟的显示。
但是,在模拟信息中发生了变更的情况下,通过将该变更反映到显示中的内容中,使对于变更的影响呈现在画面上。
图22是表示AV再现画面显示部128的显示内容的一例的图。如果对本图中的标记进行解说,则矩形701a表示显示再现影像的区域,矩形702a表示画中画的主视频的显示位置和尺寸,矩形703a表示画中画的副视频的显示位置和尺寸。字符串704a表示与主视频的再现一起显示的字幕的显示。
8、模拟环境更新部129
模拟环境更新部129基于来自用户的指定对话性地更新模拟信息。模拟环境更新部129显示图23(a)所示那样的当前时刻菜单701b、图23(b)所示那样的动作状态设置菜单701b、图24(a)所示那样的画面配置设置菜单801a、图24(b)所示那样的声音输出设置菜单801b、以及图24(c)所示那样的字幕显示设置菜单801c,通过受理对于这些画面的用户输入,实现该对话性的更新。
该对话性的更新即使在AV再现画面显示部128的再现显示中也能够执行,在进行AV再现画面显示部128的再现的状态下,能够实时地变更再现状况。
a、当前时刻设置菜单701b
图23(a)所示的当前时刻设置菜单701b利用索引栏和与其对应的输入栏的组表现当前时刻。索引栏是利用“时间代码”、“当前播放列表”、“当前章节”、“当前标记”的信息要素表示当前时刻的栏。输入栏是受理影像属性的具体的设定的栏,通过用光标指示该输入栏而进行键输入,能够设定具体的值作为当前时刻。在本图的一例中,可知将“时间代码”设定为01:25:43:10,将“当前播放列表”设定为00001[主电影],将“当前章节”设定为#02[战役],将“当前标记”设定为CG效果访谈,来表现当前时刻。
此外,在本画面中,将“取消”按钮、“变更反映”按钮一起显示,使用户选择是否使这些画面上的设定反映到模拟中。
b、动作状态设置菜单701c
图23(b)所示的动作状态设置菜单701c利用索引栏和与其对应的输入栏的组表现当前时刻。索引栏是利用“再现状态”、“再现方向”、“再现速度”这些信息要素表示再现动作的状态的栏。输入栏是受理影像动作的具体的设定的栏,通过用光标指示该输入栏而进行键输入,能够设定具体的值作为再现动作的状态。在本图的一例中,可知利用“再现状态”为“特殊再现”、“再现方向”为“顺方向”、“再现速度”为“快进”这些信息来表现再现动作的状态。
此外,在本画面中,将“取消”按钮、“变更反映”按钮一起显示,使用户选择是否使这些画面上的设定反映到模拟中。
c、画面配置设置菜单801a
图24(a)所示的画面配置设置菜单801a利用索引栏和与其对应的输入栏的组表现显示位置。索引栏是利用“尺寸”、“缩放”、“透明度”、“左上坐标”这些信息要素表示显示位置的栏。输入栏是受理影像动作的具体的设定的栏,通过用光标指示该输入栏而进行键输入,能够设定具体的值作为显示位置。在本图的一例中,可知将“尺寸”设定为1920×1080,将“缩放”设定为1.0倍,将“透明度”设定为0%,将“显示坐标”设定为(0,180)。
此外,在本画面中,将“取消”按钮、“变更反映”按钮一起显示,使用户选择是否使这些画面上的设定反映到模拟中。
d、声音输出设置菜单801b
图24(b)所示的声音输出设置菜单801b利用索引栏和与其对应的输入栏的组表现声音设定。索引栏是利用“流选择”、“左前的音量”、“中央前的音量”、“右前的音量”、“左后的音量”、“右后的音量”、“左右的音量”这些信息要素表示声音设定的栏。输入栏是受理声音输出的具体的设定的栏,通过用光标指示该输入栏而进行键输入,能够进行具体的设定作为声音输出。在本图的一例中,可知作为“流选择”而设定#01[英语],作为“左前的音量”而设定“15”,作为“中央前的音量”而设定“20”,作为“右前的音量”而设定“15”,作为“左后的音量”而设定“10”,作为“右后的音量”而设定“10”,作为“左右的音量”而设定“10”。
此外,在本画面中,将“取消”按钮、“变更反映”按钮一起显示,使用户选择是否使这些画面上的设定反映到模拟中。
e、字幕显示设置菜单801c
图24(c)所示的字幕显示设置菜单801c利用索引栏和与其对应的输入栏的组表现字幕设定。索引栏是利用“显示状态”、“流选择”这些信息要素表示字幕设定的栏。输入栏是受理字幕的具体的设定的栏,通过用光标指示该输入栏而进行键输入,能够设定具体的值作为字幕设定。在本图的一例中,可知作为“显示状态”而设定“有显示”,作为“流选择”而设定#01[日语]。此外,在本画面中,将“取消”按钮、“变更反映”按钮一起显示,使用户选择是否使这些画面上的设定反映到模拟中。
由于能够经由以上的菜单设定或变更模拟的动作条件,所以能够提高BD-J应用的单体测试的效率。
然后,对软件的再现控制引擎存根126的安装进行说明。再现控制引擎存根126通过用计算机记述语言记述图25~图28的流程图的处理顺序,制作计算机可读取的程序,通过使MPU执行它,能够安装到再现装置内。
本流程图的步骤S101~步骤S104构成循环处理。本循环处理是,重复进行下述处理直到步骤S104判断为“是”,该处理是,判断是进行再现控制API的调用(步骤S101),还是受理变更再现状况的请求(步骤S102),并进行当前时刻的更新处理(步骤S103)。
该步骤S104是本循环处理的动作结束判断,重复执行上述那样的循环处理,直到判断该动作结束为“是”。
图26是表示当前时刻的更新处理的处理顺序的流程图。本流程图基于动作状态,将表示当前时刻的时间代码增加或减少(步骤S105),并转移到步骤S106。步骤S106是在当前时刻是否发生了播放列表或章节或标记的切换的判断,如果没有发生则跳过步骤S107,如果发生了,则在步骤S107中,更新当前播放列表、当前章节、当前标记后,转移到步骤S108。
步骤S108是当前时刻是否达到了音频或字母或副视频的再现时刻的判断,如果没有到达则跳过S109,如果到达了,则在步骤S109中,在更新AV再现画面后,返回到前图的流程图中。
在进行了再现控制API的调用的情况下(步骤S101为“是”),进行再现控制API调用的解释(步骤S110),进行模拟信息的变更处理(步骤S111)。对应用发送对于再现控制API的调用的应答(步骤S112),在步骤S113中,对应用进行状态变化通知处理,并回到步骤S101。
在虽然没有受理再现控制API调用(步骤S101为“否”)、但受理了用户操作的变更再现状况的请求的情况下(步骤S102为“是”),在步骤S114中进行模拟信息的更新处理,在步骤S115中,对应用进行状态变化通知,并回到步骤S101。
图27(a)是表示模拟信息变更的详细顺序的流程图。在本流程图中,在步骤S116中,基于由API调用请求的再现控制引擎,改写模拟信息中的信息要素。在步骤S117中,判断是否伴随着该模拟信息的改写而需要进行AV再现画面的更新。
在需要伴随着模拟信息的改写而进行AV再现画面的更新的情况下(步骤S117中“是”),在步骤S118中更新AV再现画面后,返回到主例程,但在不需要更新的情况下,跳过该步骤S118而返回到主例程。
图27(b)是表示状态变化通知处理的详细顺序的流程图。步骤S119是在模拟信息中被改写的信息要素是否是需要通知的信息要素的判断,如果本步骤是“是”,则在步骤S120中将表示变化的事件通知给应用后,返回到主例程,而在不需要更新的情况下,跳过该步骤S120而返回到主例程。
以下,一边结合具体例,一边更详细地说明在上述那样的流程图中表示的处理。这里假设的动作例是BD-J应用以缩放1倍请求在从画面左上的角向下方向移动180像素后的位置上进行析像度“1920×1080”的播放列表“00001”的再现的例子。
在从BD-J应用受理了意味着该请求的再现控制引擎的情况下,再现控制引擎存根126将动作状态信息的再现状态变更为“通常再现”,将再现方向变更为“顺方向”,将再现速度变更为“通常”(×1.0),将当前时刻信息的再现时间代码变更为“00:00:00:00”,将播放列表变更为“00001”,将章节变更为“#01”。
此时,AV再现画面显示部128将尺寸为1920×1080的矩形显示在从画面左上角向下方向180像素的位置上,进行当前时刻菜单和动作状态信息画面中的显示内容的更新。此外,再现控制引擎存根126通过输出对于API调用的事件,将开始了播放列表00001的再现的情况通知给应用。
在用户经由当前时刻设置菜单701b进行了将当前时刻变更为再现时间代码“00:10:00:00”的操作的情况下,将保持在模拟信息中的再现时间代码变更为“01:10:00:00”。如果进行了该变更,则AV再现画面显示部128将当前时刻设置菜单701b中的再现时间代码更新为“01:10:00:00”。
再现控制引擎存根126如果对再现控制引擎进行了API调用,则通过输出与其对应的事件,将时间代码被变更为“01:10:00:00”的情况通知给BD-J应用。
在用户对当前时刻设置菜单701b进行了将播放列表标记变更为“CG效果访谈”的操作的情况下,从抽象化内容取得表示播放列表标记“CG效果访谈”的位置的时间代码“01:25:10:00”,将保持在模拟信息17中的再现时间代码变更为“01:25:10:00”。
随之,AV再现画面显示部128将当前时刻设置菜单701b的再现时间代码更新为“01:25:10:00”。另一方面,再现控制引擎存根126通过对BD-J应用输出事件,将再现位置到达了播放列表标记“CG效果访谈”的位置的情况通知给BD-J应用。
假设接收到到达播放列表标记“CG效果访谈”的到达通知的BD-J应用调用再现控制引擎,使其将析像度“960×1440”的播放列表“00002”以缩放0.5倍再现在从画面左上角向下方向移动760像素并且向右方向移动1160像素的位置上。这样,AV再现画面显示部128接受该请求,将具有480×720的大小的矩形显示在从画面左上角向下方向760像素且向右方向1160像素的位置上,进行显示中的信息的更新。
此时,再现控制引擎存根126将开始了播放列表00002的再现的情况通知给BD-J应用。
以上,根据本实施方式,将AV内容与BD-J应用并行地开发,即使在BD-J应用开发者的手边不存在AV内容的情况下,也能够确认进行AV再现控制的应用的动作。
此外,能够通过时间代码以帧为单位指定并管理当前再现中的位置,能够在画面上确认影像的显示位置及显示缩放等AV内容的再现状况。此外,能够容易地将再现位置及再现状态变更为任意的状态,所以能够不利用AV内容而以足够的精度高效率地实施应用的动作验证及解析、修正。
进而,即使模拟的结果出现了不良状况,也能够再现完全相同的动作,所以对于程序错误原因的验证是方便的。
(第5实施方式)
本实施方式是在应用的动作依存于AV内容的再现影像、或者该再现影像中的特定的帧图像那样的情况下、有关用来高效率地实施动作验证、解析、修正作业的改良的实施方式。
在前面的实施方式中,利用图22所示那样的图形进行AV内容再现中的画面显示,但仅通过显示图形难以高效率地执行进行上述那样的动作的应用的动作验证。所以,在本实施方式中,能够进行图像和进行该图像的显示的AV内容上的位置的指定。
图28是表示模拟信息变更的处理顺序的流程图。本流程图是图28采用图27(a)为原图、通过对其添加步骤S120~步骤S122而制作的。添加这些步骤的地方是步骤S117与步骤S118之间。
然后,在本流程图中,对新添加的步骤进行说明。步骤S120是当前时刻是否到达了指定的时间代码的判断,如果到达了,则在步骤S121中取得指定的影像,在步骤S122中利用指定的图像在显示画面上进行再现状态的显示后,转移到步骤S118。如果没有到达,则跳过这些步骤S121、步骤S122,转移到步骤S118。
以上,根据本实施方式,在再现到达了用户预先设定的AV内容上的任意的位置的情况下,能够显示用户指定的任意的图像,能够高效率地实施下述应用的动作确认、以及解析、修正作业,该应用是例如将由应用显示的图形重叠显示在作为AV内容记录的图像的特定部分上那样的、依存于作为AV内容的特定1帧而显示的影像的应用。
(第6实施方式)
本实施方式是公开在第1实施方式中表示的BD-ROM内容(AV内容)的详细情况的实施方式。如上所述,BD-ROM内容由图29那样的目录及文件构成。
图29是表示BD-ROM的内部结构的图。本图的第2段表示BD-ROM。如果利用目录构造表现BD-ROM的应用层格式(应用格式),则成为图中第1段那样。在该第1段中,在BD-ROM中,在Root目录之下有BDVIDEO目录。
在该BDVIDEO目录的属下,还存在称作PLAYLIST目录、CLIPINF目录、STREAM目录的3个子目录。
在PLAYLIST目录中,有被赋予扩展名mpls的文件(00001.mpls)。
在CLIPINF目录中,有被赋予扩展名clpi的文件(00001.clpi)。
在STREAM目录中,有被赋予扩展名m2ts的文件(00001.m2ts)。
通过以上的目录构造,可知相互不同类别的多个文件被配置在BD-ROM上。
然后,进行对这些文件各自的说明。图中的xxxxx.m2ts是保存MainClip、SubClip的文件。
首先,对MainClip的内部结构进行说明。图30是示意地表示被赋予了扩展名.m2ts的文件怎样构成的图。被赋予了扩展名.m2ts的文件(00001.m2ts)保存AVClip。AVClip是MPGE2-传输流形式的数字流。该数字流是如下构成,即,将数字化后的影像、数字化后的声音(上第1段)变换为由PES包构成的基本流(上第2段),再变换为TS包(上第3段),同样将字幕类的呈现图形流(Presentation Graphics(PG)流)及对话类的交互图形流(Interactive Graphics(IG)流)(下第1段、下第2段)变换为TS包(下第3段),通过将它们多路复用来构成数字流。
接着,说明怎样将以上那样构成的AVClip写入到BD-ROM中。图31表示构成AVClip的TS包经过怎样的过程写入到BD-ROM中。在本图的第1段中表示构成AVClip的TS包。
构成AVClip的188字节的TS包如第2段所示那样被附加4字节的TS_extra_header(图中的阴影部),成为192字节长的源包。该TS_extra_header包括表示该TS包的解码器输入时刻信息的Arrival_Time_Stamp。
构成AVClip的源包在第3段的AVClip中构成1个以上的“ATC_Seuqence”。所谓的“ATC_Seuqence”,是源包的排列,是指在该Arrival_Time_Stamp参照的Arrival_Time_Clock中不存在不连续点(noarrival time-base discontinuity)。换言之,将在该Arrival_Time_Stamp参照的Arrival_Time_Clock中存在连续性的源包串称作“ATC_Seuqence”。
该ATC_Seuqence成为AVClip,以xxxxx.m2ts的文件名记录在BD-ROM中。
该AVClip与通常的计算机文件同样,被分割为1个以上的文件范围,记录在BD-ROM上的区域中。第4段示意地表示AVClip怎样记录在BD-ROM中。在该第4段中构成文件的各文件范围具有预先设定的Sextent以上的数据长(参照图中的数式)。
图32是表示BD-ROM的物理单位与构成1个文件范围的源包之间的对应关系的图。如第2段所示,在BD-ROM上形成有多个扇区。构成文件范围的源包如第1段所示,每32个分组化,写入到连续的3个扇区中。由32个源包构成的组是6144字节(=32×192),这与3个扇区尺寸6144字节(=2048×3)一致。将收纳在3个扇区中的32个源包称作“调整单元”,向BD-ROM的写入以调整单元为单位进行。
在第3段中,扇区以32个单位被赋予错误修正符号,构成ECC块。再现装置只要以调整单元为单位访问BD-ROM,就能够得到32个完整的源包。以上是对BD-ROM的AVClip的写入的过程。
对于多路复用在MainClip中的基本流更详细地进行说明。
图33是表示多路复用在MainClip中的基本流的图。多路复用在MainClip的STC-sequence中的基本流是具有0x1011的PID的主视频流、具有从0x1100到0x111F的PID的主音频流、具有从0x1200到0x121F的PID的32条PG流、具有从0x1400到0x141F的PID的32条IG流、具有从0x1B0O到0x1B1F的PID的32条副视频流。
然后,对这些视频流、音频流、PG流、IG流进行说明。
<主视频流>
主视频流是构成电影作品的正篇的流,由作为SD图像、HD图像的图片数据构成。在视频流中,存在VC-1的视频流、MPEG4-AVC的视频流、MPEG2-Video的视频流的形式。在MPEG4-AVC的视频流中,对IDR图片、I图片、P图片、B图片附加了PTS、DTS的时间戳,以该图片的单位进行再现控制。这样,将被赋予了PTS、DTS且作为再现控制的单位的视频流的一个单位称作“视频呈现单元”。
<副视频流>
副视频流是构成电影作品的注解等的流,通过将该副视频流合成到主视频流的再现影像内,执行画中画。在副视频流中,存在VC-1的视频流、MPEG4-AVC的视频流、MPEG2-Video的视频流的形式。具有“视频呈现单元”。在副视频流的格式中,有525/60视频格式、625/50视频格式、1920/1080格式、1280/720格式。
<主音频流>
主音频流是表示电影作品的主声音的流,存在LPCM音频流、DTS-HD音频流、DD/DD+音频流、DD/MLP音频流的形式。在音频流的音频帧中被赋予时间戳,以该音频帧的单位进行再现控制。这样,将被赋予时间戳、作为再现控制的单位的音频流的一个单位称作“音频呈现单元”。另外,虽然没有记录到BD-ROM中,但将表示电影作品的副声音那样的音频流称作副音频流。
<PG流>
PG流是构成各语言的字幕的图形流,如英语、日语、法语那样,存在关于多个语言的流。
<IG流>
IG流是实现对话控制的图形流。由IG流定义的对话控制是与DVD再现装置上的对话控制有互换性的对话控制。
如本图所示的各基本流那样,将多路复用在与主视频流相同的AVClip中的基本流称作“In_MUX流”。
以上结束了对MainClip的说明。接着,对SubClip的内部结构进行说明。
在SubClip中,多路复用有视频流、音频流、PG流、IG流的4种基本流。下面详细说明这样多路复用在AVClip中的基本流中是怎样的情况。
图34是表示多路复用在SubClip中的基本流的图。多路复用在SubClip中的基本流,是具有0x1800的PID的textST(text SubTitle(文本字幕)流、具有0x1A00到0x1A1F的PID的主音频流、具有0x1B00到0x1B1F的PID的32条Out_of_MUX_Secondary视频流、具有0x1200到0x121F的PID的32条PG流、具有0x1400到0x141F的PID的32条IG流。如该图34所示的基本流那样,将多路复用在与主视频流不同的AVClip中的基本流的全部称作“Out_of_MUX流”。
<BD-ROM的结构之二.Clip信息>
接着,对被赋予了扩展名.clpi的文件进行说明。被赋予了扩展名.clpi的文件(00001.clpi)保存有Clip信息。Clip信息是关于各个AVClip的管理信息。图35是表示Clip信息的内部结构的图。如本图的左侧所示,Clip信息包括:
i)保存有关于AVClip的信息的“ClipInfo()”、
ii)保存有关于ATC Sequence、STC Sequence的信息的“SequenceInfo()”、
iii)保存有关于Program Sequence信息的“Program Info()”、
iv)“Characteristic Point Info(CPI())”。
在ClipInfo中,有该Clip信息参照的AVClip的应用类型(application_type)。通过参照该ClipInfo,能够由应用类型识别是MainClip还是SubClip、以及包含有动态图像还是静止图像(幻灯片)。此外,在ClipInfo中记述有上述TS_recording_rate。
Sequence Info是关于包含在AVClip中的1个以上的STC-Sequence、ATC-Sequence的信息。设置这些信息的意义是为了将STC、ATC的不连续点预先通知给再现装置。即,如果存在该不连续点,则在AVClip内有可能出现相同值的PTS、ATS,在再现时会发生不良状况。为了表示STC、ATC连续是传输流中的从哪里到哪里而设置Sequence Info。
Program Info是表示Program内容是一定的区间(Program Sequence)的信息。所谓的Program,是相互共有用于同步再现的时间轴的基本流彼此的集合。设置Program Sequence信息的意义是为了将Program内容的变化点预先通知给再现装置。这里的所谓的Program内容的变化,是指视频流的PID变化、或视频流的种类从SD图像变化为HD图像等。
接着,对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是在1个基本流上将存取单元存在的条目位置的包号码(SPN_EP_start)与条目时刻(PTS_EP_start)建立对应而表示的信息。图中的引出线cu3将EP_map_for_one_stream_PID的内部结构特写。
由此可知,EP_map_for_one_stream_PID由Nc个EP_High(EP_High(0)~(EP_High(Nc-1))、和Nf个EP_low(EP_low(0)~(EP_low(Nf-1))构成。这里,EP_High具有表示存取单元(Non-IDR I图片、IDR图片)的SPN_EP_start及PTS_EP_start的高位字节的作用,EP_low具有表示存取单元(Non-IDR I图片、IDR图片)的SPN_EP_start及PTS_EP_start的低位字节的作用。
图中的引出线cu4将EP_High的内部结构特写。如该引出线所示,EP_High(i)由作为相对于EP_low的参照值的“ref_to_EP_low_id[i]”、表示存取单元(Non-IDR I图片、IDR图片)的PTS的高位字节的“PTS_EP_High[i]”、以及表示存取单元(Non-IDR I图片、IDR图片)的SPN的高位字节的“SPN_EP_High[i]”构成。这里,i是用来识别任意的EP_High的识别码。
图中的引出线cu5将EP_low的结构特写。如该引出线cu5所示,EP_low由表示对应的存取单元是否是IDR图片的“is_angle_change_point(EP_low_id)”、表示对应的存取单元的尺寸的“I_end_position_offset(EP_low_id)”、表示对应的存取单元(Non-IDR I图片、IDR图片)的PTS的低位字节的“PTS_EP_low[EP_low_id]”、表示对应的存取单元(Non-IDR I图片、IDR图片)的SPN的低位字节的“SPN_EP_low[EP_low_id]”构成。这里,EP_low_id是用来识别任意的EP_low的识别码。
<Clip信息的说明之二.EP_map>
以下,通过具体例对EP_map进行说明。图36是表示对于电影的视频流的EP_map设定的图。第1段表示以显示顺序配置的多个图片(由MPEG4-AVC规定的IDR图片、I图片、B图片、P图片),第2段表示该图片的时间轴。第4段表示BD-ROM上的TS包串,第3段表示EP_map的设定。
在第2段的时间轴中,假设在时刻t1~t7存在作为存取单元的IDR图片及I图片。并且,如果设这些t1~t7的时间间隔是1秒左右,则在电影中使用的视频流的EP_map设定为,将t1~t7表示为条目时刻(PTS_EP_start),与其建立对应而表示条目位置(SPN_EP_start)。
<PlayList信息>
对赋予了扩展名“mpls”的文件(00002.mpls)进行说明。本文件是将集合了称作MainPath、Subpath的两种再现路径的信息定义为Playlist(PL)的信息。图37(a)是表示PlayList信息的数据构造的图,如本图所示,PlayList信息由定义MainPath的MainPath信息(MainPath())、定义章节的PlayListMark信息(PlayListMark())、定义Subpath的Subpath信息(Subpath())、和其他扩展数据(Extention Data)构成。
<PlayList信息的说明之一.MainPath信息>
首先,对MainPath进行说明。MainPath是对主视频的视频流及音频流定义的再现路径。
MainPath如箭头mpl所示那样根据多个PlayItem信息#1、……#m定义。PlayItem信息定义构成MainPath的1个逻辑再现区间。PlayItem信息的结构通过引出线hsl特写。
如该引出线所示,PlayItem信息由表示再现区间的IN点及Out点所属的AVClip的再现区间信息的文件名的“Clip_Information_file_name[0]”、表示AVClip的编码方式的“Clip_codec_identifier[0]”、表示PlayItem是否构成多视角的“is_multi_angle”、表示该PlayItem(当前PlayItem)与其前1个PlayItem(previouPlayItem)的连接状态的“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”、在PlayItem构成多视角的情况下表示构成该多视角的多个AVClip的“Multi_Clip_entries”、和“STN_table”构成。
图37(b)是表示Multi_Clip_entries的内部结构的图。如本图所示,Multi_Clip_entries具有表示多视角区间中的视角总数的“number_of_angles”、在视角影像中有表示是否再现不同的声音的“is_different_audio”,包括“Clip_codec_identifier[1]”、“Clip_information_file_name[1]”、“ref_to_STC_id[1]”~“Clip_codec_identifier[N]”、“Clip_information_file_name[N]”、“ref_to_STC_id[N]”。
这些Multi_Clip_entries中的“Clip_codec_identifier”、“Clip_information_file_name”、“ref_to_STC_id[0]”分别在多视角区间中对应于构成各个视角影像的AVClip。
然后,对PlayListMark信息开始说明。
图38是表示PlayList信息中的PlayListMark信息的内部结构的图。如本图的图中的引出线pm0所示,PlayListMark信息由多个PLMark信息(#1~#n)构成。PLMark信息(PLMark())是将PL时间轴中的任意的位置指定为章节点的信息。如引出线pml所示,PLmark信息包括表示作为章节指定的对象的PlayItem的“ref_to_PlayItem_Id”、和通过时间标记表示该PlayItem中的章节位置的“mark_time_stamp”。
图39是表示AVClip与PlayList信息的关系的图。第2段到第5段表示由EP_map参照的视频流。
PlayList信息包括PlayItem信息#1、#2的两个PlayItem信息,通过这些PlayItem信息#1、#2的In_time、Out_time定义两个再现区间。如果排列这些再现区间,则定义与AVClip时间轴不同的时间轴。这是在第1段表示的PlayList时间轴。这样,通过PlayItem信息的定义,能够进行与AVClip不同的再现路径的定义。
本图的第1段表示PLMark信息和PL时间轴。在第1段中存在两个PLMark信息#1~#2。箭头kt1、2表示PLMark信息的ref_to_PlayItem_Id的指定。由该箭头也可知,PLMark信息的ref_to_PlayItem_Id指定参照的PlayItem。此外,Mark_time_Stamp表示该PlayItem时间轴中要作为Chapter#1、#2的时刻。这样,PLMark信息能够在PlayItem时间轴上定义章节点。
<PlayList信息的说明之一.Subpath信息>
相对于MainPath是对作为主视频的MainClip定义的再现路径,Subpath是对要与MainPath同步的SubClip定义的再现路径。
图40是将Subpath信息的内部结构特写表示的图。如本图中的箭头hc0所示,Subpath包括表示SubClip的类型的Subpath_type、和1个以上的SubPlayItem信息(…SubPlayItem()…)。
图中的引出线hc1将SubPlayItem信息的结构特写。
SubPlayItem定义从主路径分离的、1个以上的基本流再现路径,为了表现将该路径与主路径怎样同步的类型而使用。如果在SubPlayItem中使用的是The Primary audio/PG/IG/Secondary audio/Secondary video的子路径,则这些SubPlayItem与使用PlayList中的PlayItem的主路径同步。通过由该基本流再现的子路径使用的基本流,被多路复用在从由MainPath侧的PlayItem使用的MainClip分离的Clip、即SubClip中。
然后,对SubPlayItem的内部结构进行说明。SubPlayItem信息如图中箭头hc1所示,由“Clip_information_file_name[0]”、“Clip_codec_identifier[0]”、“ref_to_STC_id[0]”、“SubPlayItem_In_time”、“SubPlayItem_Out_time”、“sync_PlayItem_id”、“sync_start_PTS_of_PlayItem”构成。
“Clip_information_file_name[0]”是通过记述Clip信息的文件名而唯一地指定对应于SubPlayItem的SubClip的信息。
“Clip_codec_identifier[0]”表示AVClip的编码方式。
“ref_to_STC_id[0]”唯一地表示该SubPlayItem作为对象的STC_Sequence。
“SubPlayItem_In_time”是表示SubClip的再现时间轴上的SubPlayItem的起点的信息。
“SubPlayItem_Out_time”是表示SubClip的再现时间轴上的SubPlayItem的终点的信息。
“sync_PlayItem_id”是唯一地指定构成MainPath的PlayItem中本SubPlayItem应该同步的部分的信息。SubPlayItem_In_time存在于由该sync_PlayItem_id指定的PlayItem的再现时间轴上。
“sync_start_PTS_of_PlayItem”以45KHz的时间精度表示在由sync_PlayItem_id指定的PlayItem的再现时间轴上由SubPlayItem_In_time指定的SubPlayItem的起点。在某个SubPlayItem定义副视频流上的再现区间,该SubPlayItem的sync_start_PTS_of_PlayItem表示PlayItem时间轴的一时间点的情况下,该SubPlayItem实现“同步画中画”。
<关于Subpath的详细情况之二.三者的关系>
这里的三者,是指本地储存器202上的SubClip、本地储存器202上的PlayList信息、BD-ROM上的MainClip这三者。
图41是表示本地储存器上的SubClip、本地储存器202上的PlayList信息、和BD-ROM上的MainClip之间的对应的图。在本图中,第1段表示存在于本地储存器202上的SubClip。如该第1段所示,在本地储存器202上的SubClip中,有副视频流、副音频流、PG流、IG流的种类。其中的某一种作为Subpath供作同步再现。
第2段表示由PlayList信息定义的两个时间轴。第2段中的下侧的时间轴表示由PlayItem信息定义的PlayList时间轴,上侧的时间轴表示由SubPlayItem定义的SubPlayItem时间轴。
如该图所示,可知SubPlayItem信息的SubPlayItem_Clip_information_file_name发挥SubClip选择的作用,即在多路复用在保存于STREAM目录中的.m2ts文件中的Out-of-MUX流中选择哪个作为再现区间指定的对象。
并且,可知SubPlayItem.IN_time、SubPlayItem.Out_time发挥定义Subclip上再现区间的起点及终点的作用。
箭头Sync_PlayItem_Id发挥想要进行与哪个PlayItem同步的同步指定的作用,sync_start_PTS_of_PlayItem发挥决定PlayItem时间轴上的SubPlayItem_In_time的位置的作用。
以上是对Subpath信息的说明。
<STN_table>
在BD-ROM及本地储存器202中的PlayList信息中具有特征性的是STN_Table。然后,对本地储存器202上的PlayList信息进行说明。
STN_table是表示多路复用在PlayItem信息的Clip_information_file_name指定的AVClip中的多个In_MUX流、由SubPlayItem信息的Clip_information_file_name指定的Out_of_MUX流中的可再现的流的表。通过将关于多路复用在由MainClip中的多个In_MUX流和多路复用在SubClip中的Out_of_MUX流的各自的Stream entry与Stream attribute建立对应,来构成STN_table。
然后,对extention_data的内部结构进行说明。该extention_data保存有作为用于画中画的元数据的PiP_metadata。图42是表示PiP_metadata的内部结构的图。引出线hm1将PiP_metadata的内部结构特写。如该引出线hm1所示,PiP_metadata由number_of_metadata_block_entries、n1个metadata_block_header、和n2个PiP_metadata_block构成。
引出线hm2将metadata_block_header的内部结构特写表示。即,metadata_block_header是由同一类构造体生成的多个实例,其内部结构都为该引出线hm2所示。以下,对构成metadata_block_header的各字段进行说明。
ref_to_PlayItem_id[k]:
是表示要作为画中画的对象的PlayItem[k]的PlayItem_id的字段。
ref_to_secondary_video_stream_id[k]:
是表示通过由ref_to_PlayItem_id[k]参照的PlayItem的STN_table定义的secondary_video_stram_id的值中通过该画中画供作再现的字段。
pip_timeline_type[k]:
表示将PlayItem时间轴的Sync_Start_PTS_of_PlayItem的摄像点作为画中画执行定时的基准、还是以SubPlayItem的原点作为基准。
以上,通过使PlayItem侧、SubPlayItem的哪一个作为基准是理想的,能够适当地实现画中画再现。
Is_luma_key:
在该标志是1的情况下,按照upper_limit_luma_key值,在对应的副视频流中采用luma-keying。所谓的luma-keying是在构成副视频的各个图片中存在被摄体部分和背景部分的情况下、从各图片提取被摄体部分来供作与主视频的合成的处理。
Trick_playing_flag:
这是表示在对主视频的特技再现的执行中将用于画中画的窗口继续打开还是关闭的内容提供者的意思的标志。该标志仅在同步式画中画中是有效的。
Upper_limit_luma_key:
这是指定用于luma-keying的对应的副视频亮度(Y)的上限值的字段。
接着,对PIP_metadata_block的内部结构进行说明。引出线hm3将构成PIP_metadata_block的结构特写。如该引出线所示,PIP_metadata_block[1]由k个PIP_metadata_entry[1]~[k]、和number_of_pipmetadata_entries构成。
引出线hm4将PIP_metadata_entry的内部结构特写表示。即,PIP_metadata_entry是由相同的类构造体生成的多个实例,其内部结构都由PIP_metadata_stamp[i]和pip_composition_metadata()构成。
pip_metadata_time_stamp[i]:
是表示pip_composition_metadata()是有效的时间间隔的开始时刻的字段。
第k个PIP_metadata_block[k]中的第i个pip_composition_metadata()除了最后以外,在Pip_metadata_time_stamp[i]以上Pip_metadata_time_stamp[i+1]不到的时间间隔中为有效的。PIP_metadata_block[k]()内的最后的Pip_metadata_time_stamp的最后的pip_composition_metadata()在最后的Pip_metadata_time_stamp以上且不到由ref_to_secondary_video_id[k]指定的SubPath的显示结束时刻的时间间隔中是有效的。此外,连续的两个pip_metadata_time_stamp值间的最小的时间间隔是1秒,也包括1秒。
pip_composition_metadata()由以下的字段构成。
pip_horizontal_position[i]:
表示主视频平面上的副视频的左上端的像素的水平位置。在将视频平面的横宽表现为video_width的情况下,由本PIP_horizontal_position指定的水平位置成为0到video_width-1的范围。
pip_vertical_position[i]:
表示主视频平面上的副视频的左上端的像素的垂直位置。在将视频平面的纵宽设为video_height的情况下,由本PiP_vertical_position指定的垂直位置为0到video_height-1的范围。
Pip_scale[i]:是表示副视频的缩放类型的字段。在缩放类型中,有以下的类型。
0:定制
1:无缩放(×1)
2:1/2缩放(×1/2)
3:1/4缩放(×1/4)
4:1.5倍缩放(×1.5)
5、全屏幕缩放
以上是PlayList信息的内部结构。PlayList信息由于通过上述那样的内部结构参照AVClip、Clip信息,所以在playPlaylistAPI的调用时,基于该PlayList信息,能够验证AVClip是否被正确地再现。如果playPlaylist能够正确地形成,则能够按照该PlayList信息进行各种In_MUX流、Out-of-MUX流的再现。
以上,结束对PlayList信息的说明。到此为止叙述的SubClip、Clip信息、PlayList信息也可以不仅存在于BD-ROM上,还存在于本地储存器中。在PlayList信息、SubClip、Clip信息存在于本地储存器中的情况下,通过该PlayList信息规定将多路复用在记录于BD-ROM中的MainClip中的主视频流和多路复用在记录于本地储存器中的SubClip中的Out-of-MUX流再现,能够实现组合了BD-ROM的保存内容和本地储存器的保存内容之后的AV内容。
接着,对Movie Object进行说明。
<Movie Object>
Movie Object保存在MovieObject.bdmv的文件中。MovieObject.bdmv包括作为number_of_mobjs个的MovieObjcet的“MovieObjcets”。MovieObjcet由在进行MenuCall时表示是否想要进行MenuCall后的再现再开始的“resume_intention_flag”、表示是否屏蔽MenuCall的信息“menu_call_mask”、表示是否屏蔽标题搜索功能的“title_search_flag”、作为向导命令的个数的“number_of_navigation_command”、number_of_navigation_command个的“向导命令”构成。
向导命令串由实现条件分支、再现装置中的状态寄存器的设定、状态寄存器的设定值取得等的命令串构成。将能够在Movie Object中记述的命令在以下表示。
PlayPL命令
格式:PlayPL(第1自变量,第2自变量)
第1自变量能够通过播放列表的号码指定要再现的PL。第2自变量能够利用包含在该PL中的Playltem、该PL的任意的时刻、章节、标记指定再现开始位置。
将通过Playltem指定PL时间轴上的再现开始位置的PlayPL方法称作PlayPLatPlayItem(),
将通过章节指定PL时间轴上的再现开始位置的PlayPL方法称作PlayPLatChapter(),
将通过时刻信息指定PL时间轴上的再现开始位置的PlayPL方法称作PlayPLatSpecified Time()。
JMP命令
格式:JMP自变量
JMP命令是将当前的动态剧本在中途丢弃(discard)、执行作为自变量的分支目的地动态剧本的分支。在JMP命令的形式中,有直接指定分支目的地动态剧本的直接参照的形式、和间接参照分支目的地动态剧本的间接参照的形式。
Movie Object中的向导命令的记述与DVD中的向导命令的记述方式很相似,所以能够高效率地进行将DVD上的盘内容移植到BD-ROM中的作业。
<sound.bdmv>
接着对sound.bdmv进行说明。sound.bdmv是保存有在对Java应用的GUI框架进行了操作的情况下要作为点击音输出的音频数据(将该音频数据称作声音数据)的文件。为了避免该AVClip的再现中断,需要在没有进行AVClip的再现的时刻将文件sound.bdmv预先装载到缓冲存储器中。即,需要在AVClip的再现之前,预先将文件sound.bdmv内的声音数据预装载。以上是对文件sound.bdmv的说明。
<index.bdmv>
index.bdmv包括多个索引表入口,在开始某个标题的再现时,定义作为该标题的结构要素的电影对象是哪个、或者作为该标题的结构要素的BD-J对象是哪个。这里,索引表入口包括Title_bdjo_file_name、和Title_objcet_type。Title_bdjo_file_name确定与标题建立了关联的BD-J对象文件的名称。BD-J对象具有Application Management Table(),该ApplicationManagement Table()表示要执行的应用的application_id,所以可以理解为,索引表入口内的Title_bdjo_file_name的BD-J对象文件的文件名在作为分支目标的标题中,对BD-J终端指示要执行的BD-J应用。
通过将Title_objcet_type设定为“10”,表示由title_id确定的标题与BD-J对象建立了关联。通过设定为“01”,表示由title_id确定的标题与Movie Object建立了关联。Title_objcet_type的指定、即是否与BD-J对象建立关联的情况表现在该Title_objcet_type中。
以上是对BD-ROM100的说明。
在IDE环境中的模拟中,尽管是伪数据,但需要使用更接近于保存在BD-ROM中的内容。因此,在模拟中使用的抽象化内容优选地由上述那样的AVClip、Clip信息、PlayList信息构成。其中,对于各字段设定的设定值只要记述抽象的识别码就可以。
在ADK环境中的调试中,通过将PC100内的网络驱动器的文件系统信息安装到BD-ROM的文件系统信息中,生成虚拟的包而使再现控制引擎进行再现,所以如果制作AVClip、Clip信息、PlayList信息并配置在调试装置内的硬盘中,则通过开发中的BD-J应用,能够确认对这些AVClip、Clip信息、PlayList信息的再现是否被正常地进行。
本发明作为对象的AV内容包括由上述那样的数据构造一般化的AV内容,即根据规定播放列表信息那样的逻辑区间、路径的信息指定要进行再现的In-MUX流、Out-of-MUX流来在动态图像再现时实现音频的混合再现及画中画、字幕及菜单的合成显示的所有内容。在该内容中,当然包含DVD-Video内容、HD-DVD内容等。
接着,对用来再现上述那样的AV内容的再现引擎205的内部结构进行说明。
图43是表示再现引擎205的内部结构的图。如该图所示,再现引擎205包括读取缓冲存储器1b、c、ATC计数器2a、c、源拆包器2b、d、ATC计数器2b、d、STC计数器3a、c、PID过滤器3b、d、传输缓冲存储器(TB)4a、基本缓冲存储器(EB)4c、视频解码器4d、重排序缓冲存储器4e、解码图片缓冲存储器4f、视频平面4g、传输缓冲存储器(TB)5a、基本缓冲存储器(EB)5c、视频解码器5d、重排序缓冲存储器5e、解码图片缓冲存储器5f、视频平面5g、传输缓冲存储器(TB)6a、b、缓冲存储器7a、b、音频解码器8a、b、混合器9a、开关10a、b、c、d、e、BD-J平面11、传输缓冲存储器(TB)12a、缓冲存储器12b、字幕正文解码器12c、传输缓冲存储器(TB)13a、呈现图形解码器13b、呈现图形平面13c、合成部15、HDMI收发部16、PSR集合17、PID变换部18。
读取缓冲存储器(RB)1b储存从BD-ROM读取的源包串。
读取缓冲存储器(RB)1c储存从本地储存器202读取的源包串。
ATC计数器2a利用构成MainClip的源包中位于再现区间的开头的包的ATS被重置,对以后的源解包器2b输出ATC。
源解包器(Source De-packetizar)2b从构成MainClip的源包取出TS包并送出。在该送出时,对应于各TS包的ATS调节向解码器的输入时刻。具体而言,在ATC计数器2a生成的ATC值与源包的ATS值达到相同的瞬间,以TS_Recording_Rate仅将该TS包传送给PID过滤器3b。
ATC计数器2c利用构成SubClip的源包中位于再现区间的开头的包的ATS被重置,对以后的源解包器2d输出ATC。
源解包器(Source De-packetizar)2d从构成SubClip的源包取出TS包并送出。在该送出时,对应于ATS调节向解码器的输入时刻。具体而言,在ATC计数器2c生成的ATC值与源包的ATS值达到相同的瞬间,以TS_Recording_Rate仅将该TS包传送给PID过滤器3d。
STC计数器3a由MainClip的PCR重置,输出STC。
PID过滤器3b是MainClip用的多路复用分离部,将从源解包器2b输出的源包中具有从PID变换部24通知的PIC参照值的包,分别输出给视频解码器4d、视频解码器5d、音频解码器8a、呈现图形解码器13b。各解码器获取经由PID过滤器3b的基本流,按照MainClip的PCR从解码器进行再现的处理。这样通过PID过滤器3b输入到各解码器中的基本流按照MainClip的PCR被用于解码及再现。
STC计数器3c由SubClip的PCR重置,输出STC。PID过滤器3d参照该STC进行多路复用分离。
PID过滤器3d是SubClip用的多路复用分离部,将从源解包器2d输出的源包中具有从PID变换部18通知的PID参照值的包输出给各个音频解码器8b、呈现图形解码器13b。这样通过PID过滤器3d被输入到各解码器中的基本流按照SubClip的PCR被用于解码及再现。
传输缓冲存储器(TB)4a是当从PID过滤器3b输出归属于主视频流的TS包时进行临时储存的缓冲存储器。
基本缓冲存储器(EB)4c是保存处于编码状态的图片(I图片、B图片、P图片)的缓冲存储器。
解码器(DEC.)4d通过将构成主视频的各个图片每规定的解码时刻(DTS)进行解码而得到多个帧图像,并写入到主视频平面4g中。
重排序缓冲存储器4e是用来将解码后的图片的顺序从编码顺序改换为显示顺序的缓冲存储器。
解码图片缓冲存储器4f是保存通过解码器4d的解码得到的非压缩的图片的缓冲存储器。
主视频平面4g是用来保存构成主视频的一图片量的像素数据的存储器区域。像素数据用16位的YUV值表现,视频平面4g保存有对应于1920×1080的析像度的像素数据。
传输缓冲存储器(TB)5a是当从PID过滤器3b输出归属于副视频流的TS包时进行暂时储存的缓冲存储器。
基本缓冲存储器(EB)5c是保存处于编码状态的图片(I图片、B图片、P图片)的缓冲存储器。
解码器(DEC.)5d通过将构成副视频的各个图片每规定的解码时刻(DTS)进行解码而得到多个帧图像,并写入到副视频平面5g中。
重排序缓冲存储器5e是用来将解码后的图片的顺序从编码顺序改换为显示顺序的缓冲存储器。
解码图片缓冲存储器5f是保存通过解码器5d的解码得到的非压缩的图片的缓冲存储器。
副视频平面5g是用来保存构成副视频的一图片量的像素数据的存储器区域。
传输缓冲存储器(TB)6a将从PID过滤器3a输出的TS包中构成主音频流的包以先入先出式保存,并供给到音频解码器8a中。
传输缓冲存储器(TB)6b将从PID过滤器3b输出的TS包中构成副音频流的包以先入先出式保存,并供给到音频解码器8b中。
音频解码器8a将保存在传输缓冲存储器(TB)6a中的TS包变换为PES包,对该PES包进行解码处理,得到非压缩状态的LPCM状态的音频数据并输出。由此,进行主音频流中的数字输出。
音频解码器8b将保存在传输缓冲存储器(TB)6b中的TS包变换为PES包,对该PES包进行解码处理,得到非压缩状态的LPCM状态的音频数据并输出。由此,进行副音频流中的数字输出。
混合器9a将从音频解码器8a输出的LPCM状态的数字音频、和从音频解码器8b输出的LPCM状态的数字音频混合。
开关10a将从BD-ROM读取的TS包、从本地储存器202读取的TS包中的某一个有选择地向副视频解码器5d侧供给。
开关10b将从BD-ROM读取的TS包、从本地储存器202读取的TS包中的某一个有选择地向呈现图形解码器13b侧供给。
开关10d切换将由PID过滤器3b进行了多路复用分离后的构成主音频流的TS包和由PID过滤器3d进行了多路复用分离后的构成主音频流的TS包中的哪一个供给到音频解码器8a中。
开关10e切换将由PID过滤器3b进行了多路复用分离后的构成副音频流的TS包和由PID过滤器3d进行了多路复用分离后的构成副音频流的TS包中的哪一个供给到音频解码器8b中。
BD-J平面11是在BD-J应用的GUI描绘中使用的平面存储器。
传输缓冲存储器(TB)12a是暂时储存归属于textST流的TS包的缓冲存储器。
Buffer(TB)12b是暂时储存构成textST流的PES包的缓冲存储器。
字幕正文解码器12c在从BD-ROM或本地储存器202读取的textST流中,利用字符代码,将要表现的字幕展开到位图中,并写入到PG平面13c中。在该展开中,使用保存在BD-ROM100或本地储存器202中的字体数据,所以在textST流的解码中需要事先读入该字体数据。
传输缓冲存储器(TB)13a是暂时储存归属于PG流的TS包的缓冲存储器。
呈现图形(PG)解码器13b将从BD-ROM或本地储存器202读取的PG流解码,将非压缩图形写入到呈现图形平面13c中。通过PG解码器13b的解码,将字幕呈现在画面上。
呈现图形(PG)平面13c是具有一画面量的区域的存储器,可以保存一画面量的非压缩图形。
合成部15是将主视频平面4g、副视频平面5g、BD-J平面11、呈现图形平面13c的保存内容叠加输出的部分,具有图44那样的内部结构。图44是表示合成部15的内部结构的图。如本图所示,合成部15包括1-α3乘法部15a、比例缩放与配置部15b、α3乘法部15c、加法部15d、1-α1乘法部15e、α1乘法部15f、加法部15g、1-α2乘法部15h、α2乘法部15i和加法部15j。
1-α3乘法部15a对构成保存在视频解码器4g中的非压缩的数字图片的像素的亮度乘以透过率1-α3。
比例缩放与配置部15b实施将保存在视频平面5g中的非压缩的数字图片放大、缩小的处理(Scaling),并且进行变更配置位置的处理(Positioning)。该放大、缩小基于元数据中的PiP_scale,配置位置的变更基于元数据中的PiP_horizontal_position、PiP_vertical_positon。
α3乘法部15c对于构成由比例缩放与配置部15b实施了比例缩放、配置的非压缩图片的像素的亮度乘以透过率α3。
加法部15d将由α3乘法部15c对每个像素乘以透过率α3后的非压缩数字图片、与由1-α3乘法部15a对每个像素乘以透过率1-α3后的非压缩数字图片合成,得到合成图片。
1-α1乘法部15e对构成由加法部15d进行了合成后的数字图片的像素的亮度乘以透过率1-α1。
α1乘法部15f对构成保存在呈现图形平面13c中的非压缩图形的像素的亮度乘以透过率α1。
加法部15g将由1-α1乘法部15e对每个像素乘以透过率1-α1后的非压缩数字图片、与由α1乘法部15f对每个像素乘以透过率α1后的非压缩数字图形合成,得到合成图片。
1-α2乘法部15h将构成由加法部15g进行了合成后的数字图片的像素的亮度乘以透过率1-α2。
α2乘法部15i对构成保存在呈现图形平面13c中的非压缩图形的像素的亮度乘以透过率α2。
加法部15i将由1-α2乘法部15h对每个像素乘以透过率1-α2后的非压缩数字图片与由α2乘法部15i对每个像素乘以透过率α2后的非压缩数字图片合成,得到合成图片。
以上,由于在合成部15中存在多个加法部,所以BD-J应用描绘的显示内容被与视频流中的再现影像叠合。因此,在ADK环境中,可以确认AVClip的再现图像和开发中的BD-J应用的描绘内容被怎样合成并输出。
HDMI收发部16从经由HDMI(HDMI:High Definition MultimediaInterface:高清晰度多媒体介面)连接的其他设备接收有关该设备的信息,并且将通过加法部15j的合成得到的数字非压缩的视频与由混合器9a进行了合成后的音频数据一起发送给经由HDMI连接的TV等其他设备。
PSR集合17是内置于再现装置中的寄存器,由64个BD-ROM播放器设置/状态寄存器(PSR)、和4096个通用寄存器(GPR)构成。BD-ROM播放器设置/状态寄存器的设定值(PSR)中的PSR4~PSR8用于表现当前的再现时刻。关于64个BD-ROM再现装置Setting/Status Register(PSR)的详细情况如下。
PSR1:保存当前选择的主视频流的流号码。
PSR3:保存当前选择的视角号码。
PSR4:保存当前标题号码。
PSR5:保存当前章节号码。
PSR6:保存当前播放列表号码。
PSR7:保存当前的PlayItem号码。
PSR8:保存当前PTM(Presentation TiMe)。
PSR13:表示父母锁定的设定。
PSR14:保存副音频流的流号码、副视频流的流号码。
PSR15:表示音频再现能力。
PSR16:表示关于音频再现的语言设定。
PSR19:保存国家代码。
PSR20:保存地区代码。
PSR29:表示视频再现能力。
PSR31:表示概况/版本号码。
PID变换部18将保存在PSR集合17中的流号码基于STN_Table变换为PID参照值,将作为变换结果的PID参照值指示给PID过滤器3b、PID过滤器3d。
以上是再现引擎205的内部结构。接着,对再现控制引擎206进行说明。再现控制引擎206具体而言是按照PlayList信息再现AVClip的引擎。图45是表示再现控制引擎206的处理顺序的流程图。本流程图是在方法playPlaylist的调用时执行的,首先判断是否存在由playPlaylist的自变量PlaylistId指定的mpls文件(步骤S201)。如果存在,则读入构成由自变量PlaylistId指定的PlayList信息的.mpls文件(步骤S202),判断是否存在由自变量markId指定的PlayListMark(步骤S203)。
如果存在,则将PlayList信息中的PlayItem信息中的、由自变量指定的PlayListMark所存在的PlayItem作为当前PlayItem(步骤S204)。
步骤S206~步骤S216为重复对PlayList信息中的PlayItem信息的处理的循环构造。该循环构造是以步骤S215为结束条件的构造,对BD-ROM驱动器命令读取从对应当前PlayItem的in_Time的存取单元到对应当前PlayItem的Out_Time的存取单元(步骤S206),判断在当前PlayItem中是否存在previousPlayItem(步骤S207),根据判断结果,有选择地执行步骤S208的处理、步骤S209~步骤S213的处理。具体而言,如果在当前PlayItem中没有previousPlayItem(步骤S207中“否”),则对解码器命令再现当前PlayItem中从由自变量指定的markId到PlayItem_Out_Time(步骤S208)。
如果在当前PlayItem中有previousPlayItem(步骤S207中“是”),则计算用于被称作ATC_delta1的MainClip上的偏移值(步骤S207),通过对到目前为止的ATC_Sequence中的ATC值(ATC1)加上ATC_delta1,得到新的ATC_Sequence的ATC值(ATC2)(步骤S210)。
此外,在存在上述previousPlayItem的情况下,MainClip中的STC_Sequence切换。在该切换中,求出称作STC_delta1的偏移值(步骤S211),通过对到目前为止的STC_Sequence中的STC值(STC1)加上STC_delta1(步骤S212),得到新的STC_Sequence的STC值(STC2)。
并且,在对音频解码器8a、b指示了Audio Overrap的静音后,对解码器命令再现从PlayItem_In_Time到PlayItem_Out_Time(步骤S213)。
如果执行了步骤S208、步骤S209~步骤S213的某个处理,则执行步骤S214。
步骤S214判断是否是存在与当前PlayItem同步再现的SubPlayItem且当前的再现时刻(当前PTM(Presentation TiMe))达到了该SubPlayItem与下个SubPlayItem的边界。如果步骤S214为“是”,则执行图46的流程图的处理顺序。
步骤S215是当前PlayItem是否成为PlayList信息中的最后的PlayItem的判断,如果不是最后的PlayItem,则将PlayList信息中的接着的PlayItem作为当前PlayItem(步骤S216),转移到步骤S206。通过以上的处理,对PlayList信息中的所有的PlayItem实施了步骤S206~步骤S215的处理。
图46是表示按照PlayList信息中的SubPlayItem信息的再现顺序的流程图。
在步骤S221~步骤S223中,假设从1个PlayItem中的连续的两个SubPlayItem中的一个SubPlayItem向另一个SubPlayItem切换了再现,将该切换后的SubPlayItem作为当前SubPlayItem(步骤S221)。
接着,命令本地储存器202读取从对应于当前SubPlayItem的In_Time的存取单元到对应于当前SubPlayItem的Out_Time的存取单元(步骤S222),并命令解码器再现从当前SubPlayItem_In_Time到当前SubPlayItem_Out_Time(步骤S223)。以上是对再现控制引擎的说明。
然后,说明对于该再现控制引擎的BD-J应用的记述。
以上,由于规定了PSR,所以BD-J应用进行以下那样的处理。
1)基于PSR15所示的音频再现能力、PSR16所示的语言设定,选择主音频流,将所选择的流号码写入到PSR1中的处理。
2)基于PSR15所示的音频再现能力、PSR16所示的语言设定,选择副音频流,将所选择的流号码写入到PSR14中的处理。
3)基于PSR29所示的音频再现能力,选择副视频流,将所选择的流号码写入到PSR14中的处理。
4)基于用户操作决定视角号码,从由PlayItem信息中的multi_clip_entry指定的多个AVClip中再现对应于该视角号码的部分的处理。
5)选择对应于PSR13所示的父母锁定的设定的播放列表并再现的处理。
所以,在使用ECLIPSE的调试中,经由串行端口实现这些PSR的保存值的读写。如果执行对应于这样的BD-ROM内容的详细结构及PSR的设定值的综合测试,则能够以具体的水平进行BD-J应用的调试。
此外,说明在AV内容及再现引擎如上述那样构成的情况下,在单体测试及综合测试中,应对BD-J应用的怎样的API规格执行调试。一般,Java应用的调试通过使用ECLIPSE等中的调试工具进行。这是因为,在ECLIPSE中,能够通过微软公司的通用OS“Windows(TM)”使Java(TM)应用动作并进行调试。
另一方面,在BD-J应用的API中,有定义来自GEM for media control的BD-J特有的扩展部分的包。将该包称作org.bluray.media。在由org.bluray.media定义的事件侦听器中,有以下的结构。
AngleChangeListner是用来管理AngleChange事件的接口。AngleChange事件是在按照PlayList信息中的Multi_clip_entries切换多个视角影像时生成的事件,用于通知新成为再现对象的视角号码。
PanningChangeListner为了获取Panning控制的变化通知而安装在应用中。
PiPStatusListner是用来管理再现的播放列表的PiP状态事件的接口。所谓的PiP状态事件,是在按照PlayList信息中的PiP_meta_block_entry执行画中画时通知副视频的坐标及大小变化的事件。
PlaybackListner为了获取再现变化的通知而安装在应用中。
在由PlaybackListner通知的再现变化中,有MarkReached、PlayItemReached。MarkReached通知由PSR指示的当前时刻到达了PlayLiskMark的情况。PlayItemReached通知由PSR指示的当前时刻到达了PlayItem的边界的情况。
UOMaskTableListner是为了接收当按照每个PlayItem信息设定的UOMaskTable的内容变化时生成的事件而被执行的。
这些事件由于在ECLIPSE中没有被规定,所以不能通过上述那样的ECLIPSE进行这些事件发生时的调试。
所以,在单体测试时,调试装置内的再现控制引擎存根126在来自BD-J应用的再现控制引擎的调用时产生针对上述那样的事件侦听器的事件,BD-J应用中的事件侦听器正常地进行接收动作。
此外,在综合测试时,进行来自BD-J应用的再现控制引擎的调用,如果从再现控制引擎输出了针对上述那样的事件侦听器的事件,则通过以该事件为自变量而进行标准输出函数的调用,将该事件从再现装置发送给日志服务器终端。通过这样,将接收到该事件时的事件名及详细参数作为执行日志保存在日志服务器终端中。
以上,根据本实施方式,优选地基于AVClip、Clip信息、PlayList信息的具体记述,很好地实现是否合法地进行了BD-J应用的描绘、流选择、画中画的控制这样的动作确认。
此外,能够实现通过Java应用的通用调试工具很难实现的、BD-J应用固有部分的调试,所以能够促进BD-J应用的开发。
(第7实施方式)
本实施方式对于怎样制作在前面的实施方式中表示的AV内容进行了公开。该AV内容的制作通过称作写作系统的专用的系统进行。本系统设置在制作制片室中,供作用户的使用。图47是表示有关本实施方式的写作系统的内部结构和本系统中的调试装置的位置设置的图。然后,参照本图进行对写作系统的说明。
如本图所示,写作系统是通过将标题构造制作装置51、盘组编辑装置52、BD剧本生成装置53、素材制作/输入装置55、盘制作装置56、验证装置57、母盘制作部58这些装置经由机构内网络相互连接而构成的。
1)标题构造制作装置51
标题构造制作装置51决定要记录在BD-ROM中的各标题由怎样的内容构成。通过制作标题构造信息来进行本装置的决定。
2)盘组(reel set)编辑装置52
盘组编辑装置52决定视频、音频、字幕、按钮动画等作为影像完成的多个基本流的关系。例如,在1部电影由1条视频、两条音频、3条字幕、1条按钮动画构成的情况下,指定它们构成一部电影,并且对于电影正篇,指定仅一部分影像不同那样的导演剪辑,或设定具有多个视角的多视角。
3)BD剧本生成装置53
BD剧本生成装置53由菜单编辑部53a和剧本编辑部53b构成。
(菜单编辑部53a)
菜单编辑部53a按照经由GUI的用户操作,制作菜单中的按钮的配置、附加在按钮上的命令、按钮动画等的功能。
(剧本编辑部53b)
剧本编辑部53b通过对由标题构造制作装置51制作的标题构造信息实施按照经由GUI的用户操作的编辑处理,制作并输出剧本。这里,所谓的剧本,是在数字流的再现时使再现装置进行标题单位下的再现的信息,在BD-ROM中,作为IndexTable、MovieObicet、PlayList定义的信息对应于剧本。在BD-ROM剧本数据中,包括构成流的素材信息、再现路径信息、菜单画面配置、来自菜单的转移信息等,用户进行剧本编辑作业直到这些信息的验证结束。在该剧本编辑作业中,剧本编辑部53b设定标题构造信息的播放列表列表的内容。
4)素材制作/输入装置55包括字幕制作部55a、音频输入部55b、视频输入部55c。将输入的视频素材、音频素材、字幕用素材、Java(TM)程序源代码等变换为基于BD-ROM规格的形式,传递给盘制作装置56。
(字幕制作部55a)
字幕制作部55a基于包括字幕和显示定时、以及送入/淡出等字幕效果在内的字幕信息文件,生成基于BD-ROM规格的呈现图形流并输出。
(音频输入部55b)
音频输入部55b在被输入了预先通过AC-3等压缩的音频的情况下,实施附加对于所对应的视频的定时信息等或删除多余的数据等的处理后输出。在没有被压缩的情况下,变换为用户指定的格式并输出。
(视频输入部55c)
视频输入部55c在被输入预先以MPEG2、MPEG4-AVC、VC-1等方式压缩的视频流的情况下,根据需要将不需要的信息删除。此外,在被输入了非压缩的视频流的情况下,将该视频流按照用户指定的参数压缩后输出。
6)盘制作装置56
盘制作装置56包括静止图像编码器56b、数据库生成部56c、多路复用器56e、格式化部56f、光盘镜像制作部56g。
(静止图像编码器56b)
静止图像编码器56b在被输入的BD-ROM剧本数据中包含有静止图像或保持静止图像的场所的情况下,从包含在输入素材中的静止图像用图像之中选择对应的静止图像,变换为基于BD-ROM的MPEG2、MPEG4-AVC、VC-1中的任一种形式。
(数据库生成部56c)
数据库生成部56c基于被输入的BD-ROM剧本数据,生成基于BD-ROM的剧本数据的数据库。这里所谓的数据库,是由上述BD-ROM定义的Index.bdmv、电影对象、播放列表、BD-J对象等的总称。
(多路复用器56e)
多路复用器56e将实现记述在BD-ROM剧本数据中的视频、音频、字幕、菜单的多个基本流多路复用,得到MPEG2-TS形式的称作AVClip的数字流。此外,多路复用器56e在输出上述AVClip的同时,输出具有关于AVClip的信息的Clip信息。
具体而言,检测在AVClip的第几个包的TS包中存在I图片、IDR图片的开头,通过制作该对应关系而生成EP_map。多路复用器56e将自己生成的EP_map和表示每个流的声音属性、影像属性等的属性信息配对而制作Clip信息。
(格式化部56f)
格式化部56f将上述数据库、AVClip、由PC100生成的BD-J应用作为输入,以适合于BD-ROM格式的数据构造进行文件的配置处理。制作规定BD-ROM的应用层的目录构造,将各文件配置在适当的部位。此时,格式化部56f进行BD-J应用与AVClip的关联建立。通过基于来自用户的对话操作制作以上那样的目录构造,本装置完成文件彼此的关联建立。
(光盘镜像制作部56g)
光盘镜像制作部56g将上述数据库、AVClip作为输入,对它们分配适合于BD-ROM格式的地址,得到卷图像。
6)验证装置57
验证装置57包括仿真部57a和校验部57b。
在仿真部57a中,以上述卷图像为输入,再现实际的电影内容,验证是否正确地进行了制作者想要的动作、例如从菜单向正篇电影的转移、字幕切换及音频切换是否如想要那样动作、影像及音频的品质是否能够成为想要那样等。
(校验部57b)
在校验部57b中,以上述卷图像为输入,验证制作的数据是否基于BD-ROM的规格。
在通过Out_of_MUX流实现画中画时,必须将在STN_table中许可同时再现的多个基本流中的TS包的每1秒的总位量限制为48Mbit以下。为了确认是否满足该限制,校验部57b在ATC时间轴上的任意的1秒的期间中,将确认位量是否是该限制以下的该1秒的单位时间称作“Window”,置于ATC Sequence的时间轴上的任意的位置上。即,解码基本流中的位量在怎样的1秒的期间中也需要满足该48Mbit以下的条件。
在写作时,在源包串中一边使该Window每次1个包地移动,一边检查1秒的期间内的TS包的位数是否满足48Mbit以下的限制。如果满足限制,则使Window移动到下个TS包,如果不满足限制,则判断为违反BD-ROM规格。并且,反复进行该移动,结果如果Window的Out_Time达到了最后的源包,则做出该源包符合BD-ROM规格的判断。
这样通过仿真部57a及校验部57b验证卷图像,如果发现错误,则回到适当的前工序,重新作业。经过这两个验证过程后,经过母盘制作部58完成BD-ROM压制用数据,进入到进行盘的制造的压制工序中。
接着,一边参照图48,一边对格式化工序中的处理的流程进行说明。
在步骤S301中,用户利用标题构造制作装置51设定BD-ROM的标题构造。由此制作标题构造信息。
在步骤S303中,用户在准备用于标题的动态图像、声音、静止图像、字幕信息后,利用素材制作/输入装置55,对盘制作装置56进行输入。
在步骤S304中,利用ID类制作部111、Java(TM)编程部112,制作Java(TM)标题用的Java(TM)程序源代码、程序附加信息、ID类源代码。
在步骤S305中,用户利用Java(TM)输入部114,将在步骤S4中制作的Java(TM)程序源代码、ID类源代码输入到盘制作装置56中。
在步骤S306中,ID变换部115将ID类源代码、BD-J对象生成信息中的记述变换为实际的盘上的标题号码、播放列表号码。
在步骤S307中,Java(TM)程序构建部116利用在步骤S306中输出的源代码,通过编译处理制作Java(TM)程序。另外,步骤S306和步骤S307在标题构造信息中不存在Java(TM)标题的情况下可以跳过。
在步骤S308中,静止图像编码器56b在BD-ROM剧本数据中包含有静止图像或保持静止图像的场所的情况下,将对应的静止图像变换为基于BD-ROM的MPEG2、MPEG4-AVC、VC1中的任一种形式。
在步骤S309中,多路复用器56e按照BD-ROM剧本数据,进行多个基本流的多路复用,制作MPEG2-TS形式的AVClip。
在步骤S310中,数据库生成部56c按照BD-ROM剧本数据,制作基于BD-ROM的数据库信息。
在步骤S311中,格式化部56f以在步骤S307中制作的Java(TM)程序、在步骤S309中制作的AVClip、在步骤S10中制作的数据库作为输入,以基于BD-ROM的格式进行文件的配置。此时,进行Java(TM)程序与AVClip的关联建立,制作文件关联信息。
在步骤S312中,光盘镜像制作部56g一边利用文件关联信息,一边使用由步骤S311制作的文件组,制作适合于BD-ROM格式的卷图像。
在步骤S313中,验证部57进行在步骤S12中制作的光盘镜像的验证。如果在发生了错误的情况下,回到适当的前工序而重新进行作业。
在以上那样的写作系统中,调试装置在执行格式化部56f的变换之前根据Java(TM)程序源代码制作BD-J应用,在IDE环境及ADK环境中进行动作确认,所以能够减少上述那样的图中所示的整体工序中的重新进行。
(第8实施方式)
本实施方式是公开JAR档案文件的详细结构的实施方式。
图49(a)表示网络驱动器的目录-文件构造。该目录-文件构造是在根目录(ROOT)之下配置bdrom目录、BDVIDEO目录的构造。在目录BDDATA中记录有以下的两种文件。
(A)BD.ROOT.CERTIFICATE:盘根证书301
在其中保持有盘根证书的仿制品。所谓的盘根证书,是制作该BD-ROM的制作者将从根认证局接受了分发的根证书分配给BD-ROM。盘根证书例如以X.509的形式被编码。X.509的规格是由国际电信电话咨询委员会发布的,记载在CCITT Recommendation X.509(1988),“The Directory-Authentication Framework”中。在BD.ROOT.CERTIFICATE中,存在该根证书的仿制品。
(B)00001.JAR档案文件:Java(TM)档案文件302
JAR档案文件的内部结构通过图49(b)那样的目录及文件结构表现。图49(b)是表示JAR档案文件的内部结构的图。
JAR档案文件的目录构造是在Root目录的属下设有Xlet1目录和META-INF目录、进而在该Xlet1目录的属下配置保存有类文件的CLASSES目录和保存有数据文件的DATA目录的层级构造。
构成在这些CLASSES目录中的文件(Xlet1.class)和配置在DATA目录中的文件(Xlet1.dat)通过由类加载器装载到虚拟机内的堆区域中,构成BD-J应用。
(i)Xlet1.class:类文件401
类文件401是保存有定义能够在虚拟机上执行的Java(TM)应用那样的构造体的类文件401。
(ii)MANIFEST.MF:清单文件402
清单文件402对应于数字证书,是记载有Java(TM)档案文件302的属性、Java(TM)档案文件302内的类文件401及数据文件的散列值的文件。在Java(TM)档案文件302的属性中,有作为类文件401的实例的对Java(TM)应用赋予的应用ID、为了执行Java(TM)档案文件302而应最先执行的类文件401名。在不存在上述两个Java(TM)档案文件302的属性的情况下,不执行Java(TM)档案文件302中的作为类文件401的实例的Java(TM)应用。
(iii)SIG-BD.SF:签名文件403
签名文件403是记载有清单文件402的散列值的文件。
(iv)SIG-BD.RSA:数字签名文件404
数字签名文件404是记载有“数字证书链”、签名证书403的“署名信息”的文件。
对于签名文件403的“署名信息”是通过对签名文件403实施署名处理而得到的。在这些署名处理中,使用与数字签名文件404内的数字证书链中的公钥对应的私钥。
所谓的“数字证书链”,是具有第一个证书(根证书)将第二个证书署名并且同样第n个证书将第n+1个证书署名的形式的多个证书组。将数字证书链的最后的证书称作“叶证书”。通过利用该结构,通过从根证书开始依次保障下个证书,能够保障到数字证书链的最后的证书。
“根证书”保存有与存在于BD.ROOT.CERTIFICATE文件中的盘根证书301相同的证书。
在“叶证书”中记载有组织ID。签名文件403通过PKCS#7的形式保存。PKCS#7是用来保存签名及一个以上的数字证书的文件形式,记载在由IETF(Internet Engineering Task Force:因特网工程工作小组)发布的RFC2315中。RFC2315可以通过http://www.ietf.org/rfc/rfc2315.txt参照。
通常该数字证书链是1个,但在后述的有权限提供的情况下,制作两个该数字证书链。将这两个数字证书链称作第1数字证书链、第2数字证书链。第1数字证书链的根证书表示接受权限提供侧的组织的盘根证书,叶证书表示接受权限提供侧的组织的组织ID。第2数字证书链的根证书表示提供权限侧的组织的盘根证书,叶证书表示提供权限侧的组织的组织ID。另一方面,在没有权限提供的情况下,数字证书链仅为1个(第1数字证书链)。
清单文件402、签名文件403、数字签名文件404的详细情况记载在Java(TM)档案文件的规格中。清单文件402、签名文件403、数字签名文件404是为了进行署名处理及署名验证处理而使用的。最终能够将Java(TM)档案文件302中的作为类文件401的实例的Java(TM)应用及许可请求文件405通过数字证书署名。以后将清单文件402、签名文件403、数字签名文件404一起称作“数字证书的署名”。
(v)bd.Xlet.perm:许可请求文件405
许可请求文件405是保存对执行的Java(TM)应用赋予哪个许可的信息的文件。具体而言,保存以下的信息。
(a)证书(数字信用证书)
(b)应用间通信的许可信息
然后,对(a)证书进行说明。所谓的“证书”,是用来将属于某个组织的组织目录内的文件共有化的信息。该共有化是通过将利用属于某个组织的应用用文件的权限提供给属于其他组织的应用来进行的。因此,证书包括表示提供权限侧的组织的提供者组织ID、表示接受权限侧的组织的识别的接受者组织ID。
图50(a)表示证书的数据构造的一例。在证书中,包括从根认证局对提供者组织分发的根证书的散列值501、对提供者组织分配的提供者组织ID502、从根认证局对接受者分发的接受者根证书的散列值503、对接受者组织分配的接受者组织504、接受者应用ID505、提供文件列表506。在提供文件列表506中,保存有一个以上的提供文件名507和访问方法508(可读取、可写入)的信息。证书为了是有效的而必须被署名。在证书的署名中,与数字签名文件404同样可以利用PKCS#7方式。
图50(b)是表示证书的具体的一例的图。本图中的证书通过证书对文件“4/5/scores.txt”赋予读取许可,对文件“4/5/etc/settings.txt”赋予读写许可。
接着,对(b)应用间通信的许可信息进行说明。包含在一个Java(TM)档案文件302中的Java(TM)应用通常不被许可与包含在其他java(TM)档案文件302中的Java(TM)应用通信。仅在对许可请求文件405赋予了应用间通信的许可的情况下能够进行应用间通信。
以上是对许可请求文件405的说明。接着,对根证书更详细地说明。
图51是示意地表示在BD-ROM中根证书被怎样分配的图。本图的第1段表示设备(再现装置)和装填在该设备中的BD-ROM,第2段表示制作这些设备及BD-ROM的业者(BD-ROM的制作者、设备的制造业者)。第3段表示管理根证书的根认证局。
在本图中,BD-ROM制作者从根认证局接受根证书的分发(f1),将被分发的根证书作为盘根证书301分配在BD-ROM上后,将该根证书保存在BD.ROOT.CERTIFICATE中,写入到BD-ROM中(w1)。另一方面,在制作Java(TM)档案文件302时,将该根证书和表示组织ID的叶证书收录在SIG-BD.SF中,使其包含在Java(TM)档案文件302中。
在不是BD-ROM、而是从WWW服务器下载Java(TM)档案文件302并写入到再现装置内的存储装置中的情况也同样。该下载是以记录在BD-ROM中的内容的更新为目的的,但在该下载中,使收录在BD.ROOT.CERTIFICATE中并与作为盘根证书301写入的根证书具有同一性的根证书保存在SIG-BD.SF中,使其包含在Java(TM)档案文件中。通过这样,即使将以记录在BD-ROM中的内容的更新为目的的Java(TM)档案文件302通过下载而供给到再现装置中的情况下,通过使用对BD-ROM分配的盘根证书301,也能够使再现装置确认Java(TM)档案文件302的合法性。
图52是表示没有权限提供的情况下的SIG-BD.RSA、SIG-BD.SF、BD.ROOT.CERTIFICATE、MANIFEST.MF的相互关系的图。本图中的箭头d1表示这些文件的内部结构的信息要素中具有同一性的要素。在没有权限提供的情况下,BD.ROOT.CERTIFICATE内的根证书(盘根证书301)与SIG-BD.RSA的第1数字证书链内的根证书具有同一性。
MANIFEST.MF将类文件XXXX.class署名,SIG-BD.SF包含有由MANIFEST.MF计算的散列值,SIG-BD.RSA包括由SIG-BD.SF计算的散列值(箭头h1),所以通过确认这些署名是否正确、判断在这些图中表示的同一性,再现装置能够判断Java(TM)档案文件302是否合法的、还是被施加了篡改。此外,由于假设没有权限提供,所以在本图中没有表示bd.XXXX.perm。
图53是表示没有权限提供的情况下的SIG-BD.RSA、SIG-BD.SF、BD.ROOT.CERTIFICATE、MANIFEST.MF、bd.XXXX.perm的相互关系的图。本图中的箭头d1~d6表示这些文件的内部结构的信息要素中具有同一性的要素。即使在有权限提供的情况下,BD.ROOT.CERTIFICATE内的根证书(盘根证书)也与SIG-BD.RSA的第1数字证书链内的根证书具有同一性(箭头d1)。另一方面,如果有权限提供,则BD.ROOT.CERTIFICATE内的盘根证书为接受者的,所以bd.XXXX.perm中的证书的接受者根证书与BD.ROOT.CERTIFICATE内的根证书具有同一性(箭头d2)。此外,证书中的接受者组织ID与第1数字证书链的叶的组织ID具有同一性(箭头d3)。
bd.XXXX.perm中的证书的提供者组织的根证书与SIG-BD.RSA内的第2数字证书链的根证书具有同一性(箭头d4)。此外,证书中的提供者组织ID与SIG-BD.RSA内的第2数字证书链的叶的组织ID具有同一性(箭头d5)。证书的接受者应用ID与在bd.XXXX.perm中存在于证书以外的部分中的应用ID具有同一性(箭头d6)。
MANIFEST.MF包含有根据类文件XXXX.class计算出的散列值,SIG-BD.SF包含有根据MANIFEST.M计算出的散列值,SIG-BD.RSA包括从SIG-BD.SF取得的散列值(箭头h1),所以通过确认这些署名是否是正确并判断这些图中所示的同一性,再现装置能够判断Java(TM)档案文件302是合法的、还是被施加了篡改。虽然是预先判断,但在本实施方式中,比较各个根证书计算出的散列值,根据这些散列值是否一致,来判断根证书的同一性。此外,散列值的计算只要进行一次就可以,一般将计算出的值存储在存储器等中并利用。将根据根证书计算散列值的动作以及取出保存在存储器中的散列值的动作,称作散列值的“取得”。
以上是对盘根证书及JAR档案文件的说明。接着,对有关本实施方式的本地储存器202、以及BD-J平台部207的内部结构进行说明。图54是表示平台部207及本地储存器202的内部结构的图。如本图所示,平台部207包括应用管理器212、虚拟机213、安全管理器215。此外,本地储存器202包括Persistent区域214。
(应用管理器212)
应用管理器212是在虚拟机213内的堆区域内动作的系统应用,执行应用信号传输。“所谓的应用信号传输”,是指在GEM1.0.2规定的MHP(Multimedia Home Platform:多媒体家庭平台)中将“服务”作为生存区间进行应用的启动、执行的控制。本实施方式中的应用管理器212代替该“服务”而将BD-ROM的“标题”作为生存区间,实现应用的启动、执行的控制。这里,所谓的“标题”,是记录在BD-ROM中的影像·声音数据的再现单位,被唯一地分配给应用管理表(ApplicationManagementTable())。
在使应用启动时,应用管理器212判断要启动的应用是否是合法的。该判断顺序如下。如果装载了BD-ROM,则确认/BDDATA/BD.ROOT.CERTIFICATE的文件的存在。在文件存在的情况下,应用管理器212从BD-ROM读取其盘根证书301,保持在存储器上。然后,将Java(TM)档案文件302读取,验证存在于该Java(TM)档案文件302中的署名。如果该验证是正确的,则应用管理器212将存在于BD-ROM上的Java(TM)档案文件302中的类文件401读取到虚拟机213内,通过在堆区域中生成该类文件401的实例,启动Java(TM)应用。
(虚拟机213)
虚拟机213是由将类文件从BD-ROM读取的用户类加载器、将对应于类文件的实例作为Java(TM)应用保存的堆存储器、线程、Java(TM)堆栈构成的Java(TM)应用的执行主体。这里,线程是执行Java(TM)应用中的方法的逻辑执行主体,将本地变量、保存在操作数堆栈中的自变量作为操作数进行运算,将运算结果保存在本地变量或操作数堆栈中。在将构成方法的字节代码变换为CPU的原生码后对CPU发出,来进行基于线程的方法执行。关于该原生码变换,由于从本申请的主要着眼点偏离,所以省略说明。在Java(TM)档案文件302内存在许可请求文件405的情况下,如果在清单文件402之中没有Java(TM)应用的正确的散列值,则不能执行该Java(TM)应用。为了该散列值的判断,虚拟机213将表示执行的Java(TM)应用保存在哪个Java(TM)档案文件302中的信息保持在存储器上。通过参照该许可请求文件405,虚拟机213确认应用管理器212保持的应用间通信的许可,对Java(TM)应用提供应用间通信的功能。
(Persistent区域214)
Persistent区域214是能够通过使用来自Java(TM)IO Package的方法访问的本地储存器的一个区域。该Persistent区域214具有多个域区域。这里,所谓的域区域,是对应于各盘根证书301的目录(图中的R1、R2),是在这些目录的属下保存各组织的目录(图中的org1、org2、org3)的结构。组织的各应用的目录(图中的org1/app1、org1/app2、org1/app3……)与MHP的结构相同。即,在本地储存器中,是将由MHP规定的各组织的每个应用的目录(图中的org1/app1、org1/app2、org1/app3……)配置在对应于根证书的目录(图中的R1、R2)的属下的结构。通过这样,能够与MHP的保存方式维持互换。这里,将用来访问本地储存器的目录结构的文件路径中到对应于根证书的部分为止的部分(图中的Root/R1、Root/R2)称作“本地储存器根”。
(安全管理器215)
安全管理器215保持有散列管理表,该散列管理表表示了多个根据根证书计算出的散列值和本地储存器根之间的组,如果从应用请求文件的读取/写入,则对与请求源的应用对应的根证书计算散列值,从散列管理表中选择对应于这样计算出的散列值的本地储存器根。将这样选择的本地储存器根组装到文件路径中。此外,基于证书替换对应于文件路径的组织ID的目录。通过这样,应用的文件路径的记述能够与由MHP规定的记述保持互换。
以上是格式化部的结构。这样,可知盘根证书用于Java(TM)应用的认证及Java(TM)应用的权限检查、以及本地储存器中的域区域的访问。但是,盘根证书是对一个BD-ROM分配的,所以在BD-ROM未完成的阶段中,不能测试上述那样的Java(TM)应用的认证、Java(TM)应用的权限检查、域区域的访问。
所以,在本实施方式中,如上所述,将盘根证书的伪数据与JAR档案文件一起保存在网络驱动器中。这样,在装载JAR档案文件时,再现装置请求对应于该盘根证书的域区域,将对应于BD-ROM内容的差分内容保存在该域区域中。
并且,Java(TM)虚拟机以该盘根证书为线索访问域区域。
这样,如果在JAR档案文件中存在伪盘根证书,则在发出安装命令时,基于该仿制品进行认证,进行利用权限的检查。进而,在本地储存器中创建对应于该仿制品的域区域,将Java(TM)应用所利用的数据保存在该域区域中。
以上,根据本实施方式,通过在JAR档案文件内组装伪数据,能够测试Java(TM)应用的认证是否被合法地进行、对应用赋予的使用权限是否被合法地检查,所以能够提高测试效率。
(第9实施方式)
本实施方式关于将第1实施方式所示的PC100与第2实施方式所示的再现装置做成一体结构的改良。具体而言,有关本实施方式的PC100是具备BD-ROM驱动器、用来将AV内容解码的硬件及软件、平台部的PC100,日志服务器终端获取并收集从存在于本装置内的平台部输出的执行日志。
例如,在包括两个AV内容的BD-ROM的写作中,在仅一个AV内容的写作结束而另一个的写作还未结束那样的情况下,能够有效地进行应用的动作验证及解析、修正。
图55是具备BD-ROM驱动器、用来将AV内容解码的硬件及软件、平台部的PC100的结构的框图。本图中的调试装置具有与图17、图18所示的PC100的硬件结构及软件结构相同的结构要素(PC上的平台部122、抽象化内容124、抽象化内容制作部125、再现控制引擎存根126、AV再现画面显示部128、模拟环境更新部129),但不同点在于,该PC上的平台部122的属下存在BD-ROM再现装置200的结构要素(BD-ROM驱动器201、本地储存器202、虚拟文件系统部204、再现引擎205、再现控制引擎206)。
PC上的平台部122判断作为来自BD-J应用的再现请求的对象的AV内容的写作是否结束,在从BD-J应用接受到对于写作未结束的AV内容的再现请求的情况下,执行与第4实施方式同样的模拟,但在接受到对于已写作结束的AV内容的再现请求的情况下,不是对网络驱动器而是对内装在自身中的HDD执行与第1实施方式同样的安装处理。
以上,根据本实施方式,在再现对象的AV内容的写作结束的情况下,利用配置在BD-ROM上的实际的AV内容进行应用的动作验证及解析、修正,在再现对象的AV内容的写作未结束的情况下,能够进行不是利用实际的AV内容、而是利用抽象化内容的AV再现模拟的应用的动作验证及解析、修正。
由此,能够根据各个AV内容的写作作业的进展状况以适当的方法有效率地实施应用的动作验证及解析、修正。另外,在本实施方式中,利用包含在BD-ROM中的AV内容是两个的情况进行了说明,但对象也可以是包括3个以上的AV内容的BD-ROM。
(补充事项)
基于上述实施方式进行了说明,但只不过是提示了作为当前能够期待最好的效果的系统例。本发明在不脱离其主旨的范围内能够变更实施。作为代表性的变更实施的形态,有以下所述的形态。
(记录介质的变形)
在各实施方式中,设记录AV内容及应用的记录介质及写作的对象为BD-ROM而进行了说明,但该BD-ROM的物理性质对于本发明的作用、效果的发挥并没有很大地贡献。如果是与BD-ROM同样具有能够记录AV内容的容量的记录介质,则也可以采用其他记录介质。例如,当然也可以是BD-ROM以外的CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-R、DVD-RW、DVD-RAM、DVD+R、DVD+RW等其他光盘。此外,也可以是PD、MO等的光磁盘。进而,也可以是SD存储卡、CF(注册商标)卡、大众传播媒体、记忆棒、多媒体卡、PCM-CIA卡等半导体存储卡。也可以是HDD、软盘、超BD-ROM、Zip、Click!等磁记录盘、ORB、Jaz、SparQ、SyJet、EZFley、微驱动器等可移动硬盘驱动器。当然,本地储存器只要是装填在再现装置中并进行规定的著作权保护的记录介质,则是上述那样的记录介质的哪种都可以。
(BD-J应用的配置场所)
在各实施方式中,BD-J应用的配置场所选择了HDD,但也可以是其他能够通过USB等连接的存储器等。
(步骤S104中的结束判断)
在图25的流程图中,仅在步骤S101中是“否”、并且在步骤S102中是“否”的情况下在步骤S104中进行结束判断,但也可以不论步骤S102及S103的判断结果如何都进行结束判断(步骤S104)。此外,在进行了再现控制API调用的受理(步骤S101)后进行模拟信息的变更(步骤S114),但也可以通过相反的顺序进行。进而,在步骤S113的处理执行后回到步骤S101中,但也可以在步骤S110的执行后进行步骤S102的判断处理。
(GUI的利用)
在图22中,通过相同的GUI进行再现信息的显示和再现状况的变更,但也可以在不同的GUI上进行。
(画面的利用)
在图22中,利用两个以上的画面进行抽象化内容与模拟信息的显示,但也可以构成为利用1个画面进行显示。
(矩形的利用)
在图22中,进行了利用矩形的AV再现画面的显示,但不仅如此,也可以仅进行文字信息的显示,也可以在矩形中以重叠的形式显示各个影像的当前时刻信息等。此外,不需要将矩形用单色涂布,也可以构成为使其显示任意的背景图像。此外,也可以代替矩形而使用做成了圆形、多边形等的任意形状的图形。
此外,再现状况的变更通过受理来自用户的数值或字符串的输入进行了变更,但也可以构成为,进行预先设定的信息的显示,通过用户从其中选择而能够进行变更。
(安装)
PC100中的软件性结构要素也可以构成为使其通过PC100内的CPU等的运算装置来执行,也可以使用信号处理电路构成,也可以使用执行上述处理的LSI等集成电路来实现。
此外,PC100内的软件性的结构要素也可以预先记录在PC100内的存储器等中,也可以是预先保存在可读取的记录介质中并读取记录在记录介质中的内容来执行的结构。
抽象化内容的制作利用多个画面进行了设定,但也可以构成为,仅通过1个画面进行设定。
(错误显示)
也可以构成为,在AV内容与抽象化内容不一致的情况下,显示错误信息,能够选择修正AV内容和抽象化内容中的某个。此外,也可以构成为,在存在两个以上的AV内容的情况下,每当一个AV内容完成时将AV内容配置在BD-ROM中。
(BD-J应用的个数)
在本实施方式中,以进行AV内容的再现控制的应用是一个的情况为例进行了说明,但应用也可以是两个以上。
(当前时刻的变更)
在第4实施方式中,通过用户变更时间代码而进行当前时刻的变更,但也可以通过指定播放列表或章节号码来进行再现位置的变更。此外,也可以不使用户设定,而构成为,利用定时器,每当经过一定时间就自动地变更再现位置。
(AV内容、BD-J应用的配置)
AV内容、BD-J应用分别配置在BD-ROM、HDD中是一个例子,也可以将BD-J应用配置在BD-ROM中,也可以将AV内容配置在HDD中。此外,也可以配置在本地储存器中。
在IDE环境中,优选地设定编译开关,以便仅在调试时编译图13所示那样的日志输出API及利用它的调试例程。
标准输出函数的执行日志优选地作为维修员功能而仅在进行了特殊操作时执行。
(差分内容的制作工序)
在将电影作品用BD-ROM内容和差分内容构成的情况下,执行从上述计划工序到格式化工序。这样,如果能够得到构成1个体数据的AVClip、Clip信息、PlayList信息,则将它们中的已经除去应该由BD-ROM供给的信息后所剩余的部分作为差分信息通过档案程序等汇总为1个文件。如果经过这样的处理得到了差分数据,则将该差分数据提供给WWW服务器,根据来自再现装置的请求向再现装置送出。
(系统LSI化)
第1实施方式所示的再现装置的内部结构也可以构成为1个系统LSI。
所谓的系统LSI,是在高密度基板上安装裸芯片并封装而成的。通过将多个裸芯片安装在高密度基板上并封装,使多个裸芯片具有宛如1个LSI那样的外形构造的结构,该结构也包含在系统LSI中(将这样的系统LSI称作多芯片模组)。
这里,如果着眼于封装的种类,则在系统LSI中,有QFP(四方扁平阵列)、PGA(管脚网格阵列)的种类。QFP是在封装的四侧面上安装有管脚的系统LSI。PGA是在底面整体上安装有多个管脚的系统LSI。
这些管脚担负着作为与其他电路的接口的作用。在系统LSI的管脚中,存在这样的接口的作用,所以通过在系统LSI的这些管脚上连接其他电路,系统LSI发挥作为再现装置的核心的作用。
该系统LSI不仅是再现装置、还能够组装到TV或游戏机、个人计算机、One-Seg便携装置、处理影像再现的各种设备中,能够将本发明的用途大大地扩展。
图56是示意地表示组装了再现装置的主要的结构要素的系统LSI的图。
具体的生产顺序的详细情况如下。首先,基于各实施方式所示的结构图,制作要作为系统LSI的部分的电路图,利用电路元件及IC、LSI,将结构图中的结构要素具体化。
这样,如果将各结构要素具体化,则规定将电路元件或IC、LSI之间连接的总线及其周边电路、与外部的接口等。进而,还规定连接线、电源线、地线、时钟信号线等。在该规定时,一边考虑LSI的规格而调节各结构要素的动作定时、或对各结构要素施加保证需要的带宽等的调节,一边完成电路图。
对于各实施方式的内部结构中的一般的部分,优选地将定义已有的电路图案的知识产权组合而设计。关于特征性的部分,优选地利用使用HDL的抽象度较高的动作水平的记述、或电阻晶体管水平下的记述进行自上而下的设计。
如果电路图完成,则进行安装设计。所谓的安装设计,是决定将通过电路设计而制作的电路图上的部件(电路元件或IC、LSI)配置在基板上的哪里、或者决定将电路图上的连接线怎样配线在基板上的基板布局的制作作业。
如果这样进行安装设计、确定了基板上的布局,则将安装设计结果变换为CAM数据,输出NC工作机械等设备。NC工作机械根据该CAM数据进行SoC安装或SiP安装。所谓的SoC安装(System on chip)安装,是在1个芯片上焊接多个电路的技术。所谓的SiP(System in Package)安装,是将多个芯片通过树脂等做成1个封装的技术。经过以上的过程,有关本发明的系统LSI能够基于各实施方式所示的再现装置的内部结构图制作。图57是表示将这样制作的系统LSI装备在设备中的状态的图。
另外,如上述那样生成的集成电路根据集成度的不同,也有称作IC、LSI、超级LSI、超大规模LSI的情况。
在使用FPGA实现系统LSI的情况下,通过将多个逻辑元件配置为栅格状,基于记载在LUT(Look Up Table:查找表)中的输入输出的组合,连接纵横的布线,能够实现各实施方式所示的硬件结构。LUT存储在SRAM中,由于该SRAM的内容会因电源断开而消失,所以在该FPGA的利用时,需要通过配置信息的定义将实现各实施方式所示的硬件结构的LUT写入到SRAM中。进而,内置有解码器的影像解调电路优选地通过内置有积和运算功能的DSP实现。
(架构)
有关本发明的系统LSI实现再现装置的功能,所以系统LSI优选地基于Uniphier架构。
基于Uniphier架构的系统LSI由以下的电路块构成。
·数据并行处理器DPP
它是多个要素处理器进行相同动作的SIMD型处理器,通过用1个命令使内置于各要素处理器中的运算器同时动作,实现对于构成图片的多个像素的解码处理的并行化。
·命令并行处理器IPP
它包括由命令RAM、命令缓冲存储器、数据RAM、数据缓冲存储器构成的“局部存储控制器”、由命令取得部、解码器、执行单元、寄存器文件构成的“处理单元部”、使处理单元部进行多个应用的并行执行的“虚拟多处理器部”构成。
·CPU块
它包括ARM芯、外部总线接口(Bus Control Unit:BCU)、DMA控制器、定时器、矢量中断控制器这些周边电路、UART、GPIO(General PurposeInput Output:通用输入输出)、同步串行接口等周边接口。前面所述的控制器作为该CPU块安装在系统LSI中。
·流I/O块
它经由USB接口或ATAPacket接口,进行与连接在外部总线上的驱动装置、硬盘驱动装置、SD存储卡驱动装置之间的数据输入输出。
·AVI/O块
它由音频输入输出、视频输入输出、OSD控制器构成,进行与电视机、AV放大器之间的数据输入输出。
·存储器控制块
它是实现经由外部总线连接的SD-RAM的读写的块,包括控制各块间的内部连接的内部总线连接部、进行与连接在系统LSI外部上的SD-RAM的数据传送的访问控制部、以及调节来自各块的SD-RAM的访问请求的访问调度部。
(有关本发明的程序的生产形态)
有关本发明的程序是计算机能够执行的执行形式的程序(对象程序),由1个以上的程序代码构成,该程序代码使计算机执行实施方式所示的流程图的各步骤、或功能性结构要素的各个步骤。这里,程序代码如处理器的原生码、JAVA字节码那样各种种类。
有关本发明的程序可以如以下这样制作。首先,软件开发者利用编程语言记述实现各流程图或功能性结构要素的源程序。在该记述时,软件开发者按照编程语言的语法,利用类构造体或变量、数组变量、外部函数的调用,记述具体实现各流程图及功能性结构要素的源程序。
将记述的源程序作为文件赋予给编译器。编译器将这些源程序翻译而生成对象程序。
如果生成了对象程序,则程序对它们启动连接器。连接器将这些对象程序、关联的库程序分配给存储器空间,将它们结合为1个,生成装载模组。这样生成的装载模组是以计算机的读取为前提的,是使计算机执行各流程图所示的处理顺序及功能性结构要素的处理顺序的结构。经过以上的处理,能够制作有关本发明的程序。<BR>
工业实用性
有关本发明的再现装置及调试装置在上述实施方式中公开了内部结构,显然基于该内部结构可以进行量产,所以在资质上能够在产业中使用。并且,还能够在不存在用来进行AV内容的再现的环境的情况下用于应用解析、修正等的用途中。
Claims (11)
1、一种再现装置,具有支援应用的开发的功能,其特征在于,
具备:
安装机构,取得配置有应用的记录介质中的网络文件系统信息,通过与装填在自身中的记录介质中的文件系统信息组合,得到虚拟文件系统;
平台部,执行能够由虚拟文件系统识别的应用;以及
再现控制引擎,按照来自上述应用的指示,再现能够由虚拟文件系统识别的AV内容;
上述开发支援功能,是将平台部执行应用时的执行信息在网络上收发的功能。
2、如权利要求1所述的再现装置,其特征在于,
上述再现控制引擎具有状态寄存器;
执行信息包括从再现控制引擎内的状态寄存器读取的设定值或要写入到该状态寄存器中的设定值;
该设定值表示下述各项中的某个,即:
AV内容中的当前的再现时刻、
构成AV内容的基本流中当前被选择的流的流号码、
再现装置的再现能力、以及
再现装置的语言设定、年龄设定
中的某个。
3、如权利要求1所述的再现装置,其特征在于,
在平台部接收到规定的事件时,执行上述平台部进行的执行信息的发送;
规定的事件是下述事件中的某个,即:
通知多视角区间中的视角切换的事件、
表示左右定位控制的变化的事件、
通知画中画再现中的状态变化的事件、
通知当前时刻到达了播放列表标记的事件、以及
通知当前时刻到达了构成播放列表的播放项目的边界的事件中的某个;
通过平台部发送的执行信息包括由平台部接收到的事件的事件名和接收到的事件中的详细参数。
4、如权利要求1所述的再现装置,其特征在于,
在装填于上述再现装置中的记录介质中,有光盘和本地储存器;
AV内容包括记录在光盘或本地储存器的某个中的播放列表信息和基本流;
平台部包括编程接口,该编程接口使再现控制引擎按照播放列表信息再现记录在光盘或本地储存器中的基本流;
在调用编程接口时,执行平台部所进行的执行信息的发送;
执行信息包括上述调用时来自再现控制引擎的返回值。
5、如权利要求1所述的再现装置,其特征在于,
上述应用是标题边界应用;
在由用户选择了标题时或标题的再现结束时,执行上述平台部所进行的执行信息的发送。
6、如权利要求1所述的再现装置,其特征在于,
上述应用是使用盘所固有的盘根证书被署名后的带有署名的应用;
安装机构在安装时取得伪盘根证书;
仅在利用由安装机构取得的伪盘根证书进行认证处理并通过该认证处理确认了应用的合法性的情况下,执行上述平台部所进行的应用的执行。
7、如权利要求6所述的再现装置,其特征在于,
再现装置具备本地储存器;
本地储存器具有多个域区域;
上述应用访问多个域区域中与分配给自身的盘根证书对应的域区域。
8、一种调试装置,其特征在于,
具备:
调试机构,按照来自用户的指示,执行对应用的解析操作及/或修正操作;以及
收发机构,经由网络与再现装置进行收发;
上述收发机构在执行应用的解析及修正时,将记录有应用的记录介质中的网络文件系统信息以及应用发送给再现装置,与再现装置之间执行再现装置上的平台部所进行的执行信息的收发。
9、如权利要求8所述的调试装置,其特征在于,
在上述应用的调试中,包括:
交叉开发阶段中的调试和综合测试阶段中的调试;
上述调试装置通过基于存根使应用动作,执行综合测试阶段中的调试;
上述存根是再现装置中的再现控制引擎的替代机构;
具有表示再现控制引擎中的状态设定的状态寄存器,发出作为再现控制引擎发出的事件的仿制品的事件。
10、一种系统LSI,组装在再现装置中,具有支援应用的开发的功能,其特征在于,
具备:
安装机构,取得配置有应用的记录介质中的网络文件系统信息,通过与装填在自身中的记录介质中的文件系统信息组合,得到虚拟文件系统;
平台部,执行能够由虚拟文件系统识别的应用;以及
再现控制引擎,按照来自上述应用的指示,再现能够由虚拟文件系统识别的AV内容;
上述开发支援功能,是将平台部执行应用时的执行信息在网络上收发的功能。
11、一种程序,使计算机实现开发支援功能,其特征在于,
使计算机执行:
安装步骤,取得配置有应用的记录介质中的网络文件系统信息,通过与装填在自身中的记录介质中的文件系统信息组合,得到虚拟文件系统;以及
将能够由虚拟文件系统识别的AV内容再现的步骤;
上述开发支援功能,是将计算机执行程序时的执行信息在网络上收发的功能。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006083727 | 2006-03-24 | ||
JP083727/2006 | 2006-03-24 | ||
JP2006244254 | 2006-09-08 | ||
JP244254/2006 | 2006-09-08 | ||
PCT/JP2007/055803 WO2007111208A1 (ja) | 2006-03-24 | 2007-03-22 | 再生装置、デバッグ装置、システムlsi、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101410904A true CN101410904A (zh) | 2009-04-15 |
CN101410904B CN101410904B (zh) | 2011-09-14 |
Family
ID=38541128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800105552A Expired - Fee Related CN101410904B (zh) | 2006-03-24 | 2007-03-22 | 再现装置、调试装置、系统lsi、程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090103902A1 (zh) |
JP (1) | JP4491035B2 (zh) |
CN (1) | CN101410904B (zh) |
WO (1) | WO2007111208A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102568507A (zh) * | 2010-10-13 | 2012-07-11 | 索尼公司 | 在bd平台中实现网络浏览器 |
CN103019941A (zh) * | 2012-12-28 | 2013-04-03 | 大唐微电子技术有限公司 | 程序调试方法和装置 |
CN113760767A (zh) * | 2021-09-10 | 2021-12-07 | 元心信息科技集团有限公司 | 操作系统的调试方法、装置、电子设备及计算机可读存储介质 |
CN114039859A (zh) * | 2021-11-03 | 2022-02-11 | 中盈优创资讯科技有限公司 | 一种stn网络设备链改环方法及装置 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
US8429613B2 (en) * | 2006-10-31 | 2013-04-23 | Microsoft Corporation | Stepping and application state viewing between points |
KR101125286B1 (ko) * | 2007-03-27 | 2012-03-21 | 삼성전자주식회사 | 부가 데이터 업데이트 방법 및 재생 장치 |
US8555410B2 (en) * | 2007-04-10 | 2013-10-08 | Abbott Medical Optics Inc. | External interface access control |
US8555070B2 (en) * | 2007-04-10 | 2013-10-08 | Abbott Medical Optics Inc. | External interface access control for medical systems |
JP5006388B2 (ja) * | 2007-04-19 | 2012-08-22 | パナソニック株式会社 | データ管理装置 |
GB0709105D0 (en) * | 2007-05-11 | 2007-06-20 | Univ Leicester | Debugging tool |
JP4979533B2 (ja) * | 2007-10-10 | 2012-07-18 | キヤノン株式会社 | 情報処理装置、その制御方法 |
US8336029B1 (en) * | 2007-11-08 | 2012-12-18 | Google Inc. | Debugger connection |
JP5406178B2 (ja) * | 2008-04-16 | 2014-02-05 | パナソニック株式会社 | 再生装置、再生方法、プログラム |
CN102067226A (zh) * | 2008-06-17 | 2011-05-18 | 松下电器产业株式会社 | 光盘的再现装置及再现方法 |
JP5217713B2 (ja) * | 2008-07-11 | 2013-06-19 | ソニー株式会社 | 情報処理装置、情報処理システム、情報記録媒体、および情報処理方法、並びにプログラム |
JP2010020632A (ja) * | 2008-07-11 | 2010-01-28 | Sony Corp | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
US20100017725A1 (en) * | 2008-07-21 | 2010-01-21 | Strands, Inc. | Ambient collage display of digital media content |
US8332406B2 (en) * | 2008-10-02 | 2012-12-11 | Apple Inc. | Real-time visualization of user consumption of media items |
US8335425B2 (en) * | 2008-11-18 | 2012-12-18 | Panasonic Corporation | Playback apparatus, playback method, and program for performing stereoscopic playback |
EP2348746B1 (en) * | 2008-11-18 | 2015-03-11 | Panasonic Corporation | Reproduction device, reproduction method, and program for stereoscopic reproduction |
KR20110095128A (ko) * | 2008-11-18 | 2011-08-24 | 파나소닉 주식회사 | 특수재생을 고려한 재생장치, 집적회로, 재생방법 |
KR101084289B1 (ko) * | 2009-11-26 | 2011-11-16 | 애니포인트 미디어 그룹 | 미디어 재생 장치에서 실행되는 사용자 애플리케이션을 제공하는 컴퓨팅 장치 및 제공 방법 |
KR101104166B1 (ko) * | 2009-11-26 | 2012-01-12 | 애니포인트 미디어 그룹 | 컴퓨팅 장치 및 미디어 재생 장치를 이용한 사용자 애플리케이션 테스트 시스템 및 테스트 방법 |
KR101104165B1 (ko) * | 2009-11-26 | 2012-01-13 | 애니포인트 미디어 그룹 | 사용자 애플리케이션의 테스트가 가능한 미디어 재생 장치 및 이를 이용한 사용자 애플리케이션의 테스트 방법 |
US8826239B2 (en) * | 2010-10-06 | 2014-09-02 | International Business Machines Corporation | Asynchronous code testing in integrated development environment (IDE) |
CA2842260A1 (en) * | 2011-07-20 | 2013-01-24 | Sonos, Inc. | Web-based music partner systems and methods |
US8281288B1 (en) | 2011-10-20 | 2012-10-02 | Google Inc. | Integrated development environment with network-based compilation and sandboxed native machine-language capabilities |
US8417667B1 (en) * | 2011-10-31 | 2013-04-09 | Symantec Corporation | Running commands on files using filename extensions to overload operations |
CN103559121B (zh) * | 2013-09-23 | 2016-09-21 | 清华大学 | 基于日志注入的驱动配置调试方法 |
WO2016181455A1 (ja) | 2015-05-11 | 2016-11-17 | 三菱電機株式会社 | シミュレーション再現装置、シミュレーション再現方法およびシミュレーション再現プログラム |
EP3432148A4 (en) | 2016-04-12 | 2019-03-27 | Mitsubishi Electric Corporation | SIMULATION REPRODUCTION DEVICE AND SIMULATION REPRODUCTION PROGRAM |
CN107277693B (zh) * | 2017-07-17 | 2020-03-17 | 青岛海信移动通信技术股份有限公司 | 音频设备调用方法及装置 |
US11561771B2 (en) | 2017-08-22 | 2023-01-24 | Codestream, Inc. | System and method for in-ide code review |
CN111602114B (zh) * | 2017-08-22 | 2023-12-12 | 切普泰克有限责任公司 | 用于在集成开发环境内提供即时通信信道的系统和方法 |
US10810099B2 (en) * | 2017-09-11 | 2020-10-20 | Internatinal Business Machines Corporation | Cognitive in-memory API logging |
WO2020158095A1 (ja) * | 2019-02-01 | 2020-08-06 | 株式会社Nttドコモ | 評価装置 |
JP7424599B2 (ja) * | 2019-05-23 | 2024-01-30 | コネクトフリー株式会社 | システムおよび情報処理方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6622174B1 (en) * | 1997-08-15 | 2003-09-16 | Sony Corporation | System for sending, converting, and adding advertisements to electronic messages sent across a network |
JP3844026B2 (ja) * | 1997-08-15 | 2006-11-08 | ソニー株式会社 | 情報通信方法、情報通信システム、通信端末およびサーバ装置 |
DE10152875B4 (de) * | 2000-11-21 | 2014-08-07 | Heidelberger Druckmaschinen Ag | Wendeeinrichtung mit Speicher für flächiges Material |
JP3970040B2 (ja) * | 2001-01-31 | 2007-09-05 | 株式会社ソニー・コンピュータエンタテインメント | コンピュータシステム及びその使用方法 |
US7080373B2 (en) * | 2001-03-07 | 2006-07-18 | Freescale Semiconductor, Inc. | Method and device for creating and using pre-internalized program files |
US20030231343A1 (en) * | 2002-05-08 | 2003-12-18 | Ayako Kobayashi | Image forming apparatus, program adding method, and a recording medium |
KR100973861B1 (ko) * | 2002-09-25 | 2010-08-03 | 파나소닉 주식회사 | 재생장치, 기록매체, 재생방법 |
EP1603335B1 (en) * | 2003-02-19 | 2008-04-30 | Matsushita Electric Industrial Co., Ltd. | Recording medium, reproduction device, recording method, program, and reproduction method |
GB0311141D0 (en) * | 2003-05-15 | 2003-06-18 | Koninkl Philips Electronics Nv | DVD player enhancement |
US8732675B2 (en) * | 2003-06-23 | 2014-05-20 | Broadcom Corporation | Operational analysis system for a communication device |
TW200601300A (en) * | 2003-06-30 | 2006-01-01 | Matsushita Electric Ind Co Ltd | Apparatus and computer-readable program for generating volume image |
AU2004293960A1 (en) * | 2003-11-28 | 2005-06-09 | Sony Corporation | Reproduction device, reproduction method, reproduction program, and recording medium |
JP2005223687A (ja) * | 2004-02-06 | 2005-08-18 | Toshiba Corp | コンテンツ再生システム、コンテンツ再生方法及びテレビジョン受像機 |
KR100636141B1 (ko) * | 2004-04-30 | 2006-10-18 | 삼성전자주식회사 | 프로그래밍 기능을 가진 어플리케이션을 기록한 저장매체, 재생 장치 및 그 재생 방법 |
KR100601677B1 (ko) * | 2004-05-17 | 2006-07-14 | 삼성전자주식회사 | 저장 매체에 기록된 데이터와 다운로드된 데이터를 함께재생하는 재생 방법 및 그 재생 장치 |
US7720888B2 (en) * | 2004-12-08 | 2010-05-18 | Electronics & Telecommunications Research Institute | Contents conversion communication terminal, server system, and method |
KR20060081337A (ko) * | 2005-01-07 | 2006-07-12 | 엘지전자 주식회사 | 비밀키를 이용한 암호화 및 복호화 방법 |
KR101147763B1 (ko) * | 2005-01-19 | 2012-05-25 | 엘지전자 주식회사 | 데이터 복호방법 및 복호장치, 기록매체 |
KR20070014941A (ko) * | 2005-07-29 | 2007-02-01 | 엘지전자 주식회사 | 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치 |
KR20070014944A (ko) * | 2005-07-29 | 2007-02-01 | 엘지전자 주식회사 | 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법및 기록장치 |
US8024706B1 (en) * | 2005-09-27 | 2011-09-20 | Teradata Us, Inc. | Techniques for embedding testing or debugging features within a service |
US20070206929A1 (en) * | 2006-03-02 | 2007-09-06 | David Konetski | System and method for presenting karaoke audio and video features from an optical medium |
-
2007
- 2007-03-22 JP JP2008506866A patent/JP4491035B2/ja not_active Expired - Fee Related
- 2007-03-22 WO PCT/JP2007/055803 patent/WO2007111208A1/ja active Search and Examination
- 2007-03-22 US US12/294,083 patent/US20090103902A1/en not_active Abandoned
- 2007-03-22 CN CN2007800105552A patent/CN101410904B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102568507A (zh) * | 2010-10-13 | 2012-07-11 | 索尼公司 | 在bd平台中实现网络浏览器 |
CN103019941A (zh) * | 2012-12-28 | 2013-04-03 | 大唐微电子技术有限公司 | 程序调试方法和装置 |
CN103019941B (zh) * | 2012-12-28 | 2015-09-30 | 大唐微电子技术有限公司 | 程序调试方法和装置 |
CN113760767A (zh) * | 2021-09-10 | 2021-12-07 | 元心信息科技集团有限公司 | 操作系统的调试方法、装置、电子设备及计算机可读存储介质 |
CN113760767B (zh) * | 2021-09-10 | 2024-04-19 | 元心信息科技集团有限公司 | 操作系统的调试方法、装置、电子设备及计算机可读存储介质 |
CN114039859A (zh) * | 2021-11-03 | 2022-02-11 | 中盈优创资讯科技有限公司 | 一种stn网络设备链改环方法及装置 |
CN114039859B (zh) * | 2021-11-03 | 2023-05-30 | 中盈优创资讯科技有限公司 | 一种stn网络设备链改环方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101410904B (zh) | 2011-09-14 |
JPWO2007111208A1 (ja) | 2009-08-13 |
US20090103902A1 (en) | 2009-04-23 |
WO2007111208A1 (ja) | 2007-10-04 |
JP4491035B2 (ja) | 2010-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101410904B (zh) | 再现装置、调试装置、系统lsi、程序 | |
EP2234109B1 (en) | Individual sales oriented recording medium, recording device, reproducing device and method for them | |
CN101872637B (zh) | 再现装置和再现方法 | |
CN102005228B (zh) | 记录方法和再现装置 | |
CN101702319B (zh) | 重放设备 | |
CN102081944B (zh) | 读取装置、记录方法及读取方法 | |
CN102270482A (zh) | 记录介质、程序和再现方法 | |
US7996448B2 (en) | Recording medium, and method and apparatus for reproducing data from the recording medium | |
CN101156209B (zh) | 记录媒体、再现装置、记录方法、再现方法 | |
CN1942968B (zh) | 记录方法、再现装置和再现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110914 Termination date: 20190322 |
|
CF01 | Termination of patent right due to non-payment of annual fee |