[go: up one dir, main page]

CN1867999B - Recording method, reproducing device, reproducing method - Google Patents

Recording method, reproducing device, reproducing method Download PDF

Info

Publication number
CN1867999B
CN1867999B CN200480029746XA CN200480029746A CN1867999B CN 1867999 B CN1867999 B CN 1867999B CN 200480029746X A CN200480029746X A CN 200480029746XA CN 200480029746 A CN200480029746 A CN 200480029746A CN 1867999 B CN1867999 B CN 1867999B
Authority
CN
China
Prior art keywords
title
application
application program
playback
management table
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.)
Expired - Fee Related
Application number
CN200480029746XA
Other languages
Chinese (zh)
Other versions
CN1867999A (en
Inventor
池田航
岩本启明
冈田智之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority claimed from PCT/JP2004/015330 external-priority patent/WO2005036554A1/en
Publication of CN1867999A publication Critical patent/CN1867999A/en
Application granted granted Critical
Publication of CN1867999B publication Critical patent/CN1867999B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

BD-ROM上记录了可分支的多个标题和Java应用程序。Java应用程序是用面向虚拟机构的应用程序语言来描述的程序,预先规定可进行基于虚拟机构的执行的生存区间,所述各标题包含应用程序管理表,应用程序管理表按每个标题来表示以标题为生存区间的应用程序。

Figure 200480029746

BD-ROMs store multiple branchable titles and Java applications. Java applications are programs written in an application language for virtual machines, with a predefined lifecycle for virtual machine execution. Each title includes an application management table that lists applications with a lifecycle defined for each title.

Figure 200480029746

Description

记录方法、再现装置、再现方法Recording method, reproducing device, reproducing method

技术领域 technical field

本发明是属于同时执行数字化后的视频的再现和应用程序的执行的再现控制技术的技术领域的发明,更深涉及将本再现控制技术应用于记录媒体、民用的再现装置、程序中的情况下的应用技术。  The present invention belongs to the technical field of playback control technology that simultaneously executes the playback of digitized video and the execution of application programs, and further relates to the case where the playback control technology is applied to recording media, consumer playback devices, and programs. Application Technology. the

背景技术Background technique

在使用了记录媒体的视频业务中,有将数字化后的视频作品和在线购买用的应用程序同时记录在记录媒体上进行销售的销售策略。制作者有如下策划观点,即,是否能够将如在线销售与视频作品有关的角色商品结构装入到一片记录媒体上,通过视频作品和应用程序的协同效应来提高角色商品的销售量。希望每次实现该内容时,在今后出现的记录媒体和再现装置上装备自由度更高的应用程序执行环境。  In the video business using recording media, there is a sales strategy in which digitized video works and applications for online purchase are simultaneously recorded on recording media and sold. The producer has a planning point of view as to whether it is possible to incorporate the structure of character goods related to online sales of video works on one recording medium, and to increase the sales of character goods through the synergistic effect of video works and applications. It is desired that an application program execution environment with a higher degree of freedom be equipped on recording media and playback devices that will appear in the future every time this content is realized. the

这里,为了实现该数字化的视频作品和在线购物用的应用程序的同时执行,需要根据数字视频的再现,来使应用程序动作的技术。作为根据数字流的再现,使Java应用程序动作的技术,已知有DVB-MHP标准的“信令(signalling)”。所谓信令是在数字流的再现时间轴中,定义应启动应用程序的时刻和应终止的时刻,并在该时刻上发送称作AIT(application InformationTable)的信息,使再现装置进行基于该AIT的控制。  Here, in order to realize the simultaneous execution of the digitized video work and the application for online shopping, a technique for operating the application in response to playback of the digital video is required. "Signalling" of the DVB-MHP standard is known as a technique for operating a Java application based on reproduction of a digital stream. The so-called signaling is to define the time when the application should be started and the time to be terminated in the playback time axis of the digital stream, and send information called AIT (application Information Table) at this time, so that the playback device performs an application based on the AIT. control. the

但是,盘内容的再现进行可向再现时间轴的逆向进行。所谓逆行是指通过倒带时间轴逆向行进。若在应启动应用程序的时刻,应终止的时刻的前后几次进行该逆行、行进,重复来回,则几次进行向工作存储器的装载、废弃,产生了多余的读出负担。  However, the playback progress of the disc content can be performed in the reverse direction of the playback time axis. By retrograde I mean going backwards by rewinding the timeline. When the application program is to be started and terminated several times before and after the time when the application program should be terminated, the reverse movement and forward movement are repeated several times, loading and erasing to the working memory are performed several times, and an unnecessary read load is generated. the

发明内容Contents of the invention

本发明的目的是提供一种即使在再现时间轴上存在再现的逆行,也可避免多余的读出负担的产生的再现装置。  It is an object of the present invention to provide a playback device capable of avoiding an unnecessary read load even if there is a playback backtracking on the playback time axis. the

上述目的通过记录方法来实现。所述记录方法,向记录媒体中记录索引表、应用程序和动作模式对象,索引表表示标题和动作模式对象之间的对应关系,动作模式对象包含应用程序管理表,应用程序是用面向虚拟机的编程 语言描述的程序,应用程序管理表示出以与动作模式对象对应的标题为生存区间的1个以上的应用程序。  The above object is achieved by the recording method. In the recording method, an index table, an application program, and an action mode object are recorded in the recording medium, the index table represents the corresponding relationship between the title and the action mode object, the action mode object includes an application program management table, and the application program is a virtual machine-oriented In the program described in the programming language, the application program management indicates one or more application programs whose life span is the title corresponding to the operation mode object. the

本发明的再现装置,执行在记录媒体中以对应的标题为生存区间的应用程序,其特征在于,包括:模块管理器,基于索引表,从多个标题中选择成为分支目标标题的标题,模块,用于执行应用程序;在记录媒体中记录有索引表、应用程序和动作模式对象,所述索引表表示标题和动作模式对象之间的对应关系,所述动作模式对象包含应用程序管理表,所述应用程序是用面向虚拟机的编程语言描述的程序,所述应用程序管理表示出以对应的标题为生存区间的1个以上的应用程序,所述模块具有应用程序管理器,所述应用程序管理器在选择了分支目标标题的情况下,参考应用程序管理表来判断是否存在以与分支目标标题对应的标题为生存区间的应用程序,仅在存在以对应的标题为生存区间的应用程序的情况下,启动该应用程序。  The reproducing device of the present invention executes an application program whose life span is the corresponding title in the recording medium, and is characterized in that it includes: a module manager that selects a title to be a branch target title from a plurality of titles based on an index table, and the module , for executing an application program; an index table, an application program, and an action mode object are recorded in the recording medium, the index table represents the correspondence between the title and the action mode object, and the action mode object includes an application program management table, The application program is a program described in a programming language oriented to a virtual machine, the application program management represents one or more application programs with corresponding titles as life spans, the module has an application program manager, and the application program When the program manager selects the branch target title, it refers to the application program management table to determine whether there is an application whose life range is the title corresponding to the branch target title, and only if there is an application program whose life range is the corresponding title , start the application. the

附图说明Description of drawings

本发明的再现方法,执行在记录媒体中以对应的标题为生存区间的应用程序,其特征在于,包括:管理步骤,基于索引表,从多个标题中选择成为分支目标标题的标题;以及模块步骤,用于执行应用程序,在记录媒体中记录有索引表、应用程序和动作模式对象,所述索引表表示标题和动作模式对象之间的对应关系,所述动作模式对象包含应用程序管理表,所述应用程序是用面向虚拟机的编程语言描述的程序,所述应用程序管理表示出以对应的标题为生存区间的1个以上的应用程序,所述模块步骤在选择了分支目标标题的情况下,参考应用程序管理表来判断是否存在以与分支目标标题对应的标题为生存区间的应用程序,仅在存在以对应的标题为生存区间的应用程序的情况下,启动该应用程序。  The reproducing method of the present invention executes an application program that uses the corresponding title as the live area in the recording medium, and is characterized in that it includes: a management step of selecting a title to be a branch target title from a plurality of titles based on an index table; and a module Step, for executing the application program, an index table, an application program and an action mode object are recorded in the recording medium, the index table represents the corresponding relationship between the title and the action mode object, and the action mode object includes the application program management table , the application program is a program described in a programming language oriented to a virtual machine, the application program management represents more than one application program with the corresponding title as the survival interval, and the module step selects the branch target title In this case, the application management table is referred to to determine whether there is an application whose live range is the title corresponding to the branch target title, and only if there is an application whose live range is the corresponding title, the application is started. the

标题由时间轴和控制过程构成,由于通过分支指令来规定从标题向标题的分支,所以即使例如在一个标题中的时间轴内发生倒带,在基于该分支指令的分支执行前的分支源标题之前,再现不逆行。标题是“不能进行再现的逆行的单位”,若以该标题为基础,来规定应用程序的生存区间,则不会几次反复向工作存储器的装载、废弃。由于不会进行读入、废弃的重复,所以可以避免多余的读出负担的产生。  A title is composed of a time axis and a control procedure. Since branching from title to title is specified by a branch instruction, even if rewinding occurs within the time axis in one title, for example, the branch source title before the branch execution based on the branch instruction Before, reproduction was not retrograde. A title is a "retrograde unit that cannot be played back", and if the life span of the application program is defined based on this title, loading and erasing to the work memory will not be repeated several times. Since the repetition of reading and discarding is not performed, it is possible to avoid generation of redundant reading load. the

图1是表示本发明的再现装置的使用行为方式的图;  Fig. 1 is a diagram showing the usage behavior of the playback device of the present invention;

图2是表示BD-ROM中的文件·目录结构的图;  Fig. 2 is a diagram showing the file/directory structure in the BD-ROM;

图3是表示AVClip时间轴和PL时间轴的关系的图;  Figure 3 is a diagram representing the relationship between the AVClip time axis and the PL time axis;

图4是表示通过4个Clip_Information_file_name进行的统一指定的图;  Figure 4 is a diagram representing the unified specification through 4 Clip_Information_file_name;

图5是表示基于PLmark的章定义的图;  Figure 5 is a diagram representing chapter definitions based on PLmark;

图6是表示SubPlayItem时间轴上的再现区间定义和同步指定的图;  FIG. 6 is a diagram showing the definition and synchronization designation of playback intervals on the SubPlayItem time axis;

图7(a)是表示Movie对象的内部结构的图;  Figure 7 (a) is a diagram representing the internal structure of the Movie object;

图7(b)是表示BD-J对象的内部结构的图;  Figure 7(b) is a diagram representing the internal structure of a BD-J object;

图7(c)是表示Java应用程序的内部结构的图;  Figure 7(c) is a diagram representing the internal structure of a Java application;

图8(a)是表示在Jave归档文件中容纳的程序、数据的图;  Figure 8 (a) is a diagram representing programs and data contained in the Java archive;

图8(b)是表示xlet程序的一例的图;  Fig. 8 (b) is a diagram showing an example of an xlet program;

图9(a)是表示顶端菜单、title#1、title#2的一系列标题的图;  Figure 9(a) is a diagram representing a series of titles of the top menu, title#1, title#2;

图9(b)是表示PlayList#1、PlayList#2的时间轴一致的时间轴的图;  FIG. 9(b) is a diagram showing a time axis in which the time axes of PlayList#1 and PlayList#2 match;

图10是表示包含主标题、在线购物标题、游戏标题三个标题的盘内容的图;  Fig. 10 is a figure representing the content of the disk containing three titles of main title, online shopping title and game title;

图11是表示图10所示的三个标题的再现图像的一例的图;  Fig. 11 is a diagram showing an example of reproduced images of the three titles shown in Fig. 10;

图12(a)是根据图10的虚线所示的隶属关系来将各应用程序的生存区间图表化的图;  Fig. 12 (a) is a graph of the survival interval of each application program according to the affiliation shown by the dotted line in Fig. 10;

图12(b)是为规定图12(a)的生存区间而描述的应用程序管理表的一例的图;  Figure 12(b) is a diagram of an example of the application management table described for specifying the life span of Figure 12(a);

图13(a)是表示启动属性设定的一例的图;  Figure 13 (a) is a diagram showing an example of startup attribute setting;

图13(b)是表示有来自其他应用程序的应用程序调用而开始启动的应用程序(application#2)的图;  Figure 13(b) is a diagram showing an application program (application#2) that starts to start due to an application program call from another application program;

图14(a)、(b)是表示挂起(Suspend)为有意义的应用程序管理表、生存区间的一例的图;  Figure 14 (a), (b) is a diagram showing an example of a meaningful application management table and life span for suspend (Suspend);

图15是表示启动属性可取的三种形态(Persistent、AutoRun、Suspend)和之前标题中的应用程序状态的三种形态(非启动、启动中、挂起(Suspend))可取的组合的图;  Figure 15 is a diagram showing the possible combinations of the three forms (Persistent, AutoRun, Suspend) of the start attribute and the three forms of the application state (non-start, start, suspend) in the previous title;

图16是表示本发明的再现装置的内部结构的图;  Fig. 16 is a diagram showing the internal structure of the playback device of the present invention;

图17(a)是表示在本地存储器29上怎样识别BD-ROM上存在的Java应用程序的图;  Fig. 17 (a) is a diagram showing how to identify the Java application program existing on the BD-ROM on the local storage 29;

图17(b)是表示图17(a)的应用的图;  Figure 17(b) is a diagram representing the application of Figure 17(a);

图18是将由ROM24中存储的软件和硬件构成的部件置换为层结构来描述的图;  Fig. 18 is a diagram described by substituting components composed of software and hardware stored in the ROM 24 into a layer structure;

图19是将基于展示引擎31~模块管理器34的处理的情况模式化的图;  FIG. 19 is a schematic diagram of the processing by the presentation engine 31 to the module manager 34;

图20是将基于应用程序管理器36的处理的情况模式化的图;  FIG. 20 is a diagram that models the situation based on the processing of the application manager 36;

图21是表示工作存储器37~缺省操作管理器40的图;  Fig. 21 is the figure that shows working memory 37~default operation manager 40;

图22是表示基于应用程序管理器36的分支时的控制过程的图;  Fig. 22 is a diagram showing the control process when branching based on the application program manager 36;

图23是表示应用程序终止处理的处理过程的流程图;  Fig. 23 is a flowchart representing the processing procedure of application program termination processing;

图24是模式表示了应用程序终止的过程的图;  Fig. 24 is a diagram showing the process of application program termination;

图25(a)是表示在PL时间轴上定义生存区间的应用程序管理表的图;  FIG. 25(a) is a diagram representing an application management table defining a life span on a PL time axis;

图25(b)是根据图25(a)的应用程序管理表,来表示应用程序的生存区间的图;  Figure 25(b) is a diagram representing the life span of the application program according to the application program management table in Figure 25(a);

图26(a)表示基于PL时间轴设定的标题时间轴;  Figure 26(a) shows the title time axis set based on the PL time axis;

图26(b)是表示基于主应用程序的生存区间决定的标题时间轴;  Figure 26(b) shows the title timeline determined based on the life span of the main application;

图26(c)是表示基于多个应用程序的生存区间设定的标题时间轴的图;  Fig. 26(c) is a diagram showing a title time axis based on the life interval setting of a plurality of applications;

图27是表示标题再现时的应用程序管理器36的处理过程的流程图;  FIG. 27 is a flow chart showing the processing procedure of the application manager 36 during title reproduction;

图28(a)是表示通过BD-ROM实现的菜单等级的图;  Fig. 28 (a) is a figure representing the menu level realized by BD-ROM;

图28(b)是表示用于实现菜单等级的MOVIE对象的图;  Figure 28(b) is a diagram representing a MOVIE object for implementing a menu hierarchy;

图29是将索引表和从索引表向各Movie对象的分支的情况模式化的图;  Fig. 29 is a schematic diagram of the index table and the situation of branching from the index table to each Movie object;

图30(a)表示如图29(b)那样描述了索引表的情况下的分支;  Fig. 30 (a) represents the branch under the situation that described index table as Fig. 29 (b);

图30(b)是表示非AV系标题强制终止时的分支的图;  Fig. 30(b) is a diagram showing a branch when a non-AV title is forcibly terminated;

图31是表示模块管理器34的处理过程的流程图;  Fig. 31 is a flowchart representing the processing procedure of the module manager 34;

图32是表示基于应用程序管理器36的应用程序强制终止的动作例的图;  FIG. 32 is a diagram showing an example of an operation of forced termination of an application by the application manager 36;

图33是表示基于重放控制引擎32的PL再现过程的流程图;  FIG. 33 is a flowchart showing the PL reproduction process based on the playback control engine 32;

图34是表示角度切换、Skip Back、Skip Next的接收过程的流程图;  Figure 34 is a flow chart representing the receiving process of angle switching, Skip Back, and Skip Next;

图35是表示调用了Skip Back、Skip NextAPI时的处理过程的流程图;  Figure 35 is a flow chart showing the processing procedure when Skip Back and Skip NextAPI are called;

图36是表示基于展示引擎31的处理过程的细节的流程图;  FIG. 36 is a flow chart showing the details of the processing procedure based on the presentation engine 31;

图37是表示SubPlayItem的再现过程的流程图;  Fig. 37 is a flowchart representing the reproduction process of SubPlayItem;

图38是表示第五实施方式的应用程序管理器36的处理过程的流程图;  FIG. 38 is a flowchart showing the processing procedure of the application program manager 36 of the fifth embodiment;

图39是表示数据管理表的一例的图;  Fig. 39 is a diagram showing an example of a data management table;

图40是表示BD-J对象假定的执行模块的图;  Figure 40 is a diagram representing an execution module assumed by a BD-J object;

图41(a)是表示本地存储器29中的Java归档文件生存的生存区间的图;  Fig. 41 (a) is the figure that shows the survival interval that the Java archive file in the local memory 29 lives;

图41(b)是表示为了规定图41(a)的Java归档文件生存区间而描述的数据管理表的图;  Fig. 41(b) is a diagram showing a data management table described for specifying the life span of the Java archive file in Fig. 41(a);

图42是表示基于循环方式(carousel method)的Java归档文件嵌入的图;  Figure 42 is a diagram representing Java archive file embedding based on a carousel method;

图43(a)是表示基于交叉(interleave)方式的AVClip嵌入的图;  Figure 43(a) is a diagram showing AVClip embedding based on the interleave method;

图43(b)是表示读入属性的三种类型的图;  Figure 43(b) is a diagram representing three types of read-in attributes;

图44(a)是表示数据管理表的一例的图;  FIG. 44(a) is a diagram showing an example of a data management table;

图44(b)是表示基于图44(a)的数据管理表的分配的本地存储器29的存储内容的变迁的图;  Fig. 44(b) is a diagram showing transition of storage contents of the local memory 29 allocated based on the data management table of Fig. 44(a);

图45(a)是对比表示新旧再现装置中的本地存储器29的存储器规模的图;  FIG. 45(a) is a diagram showing a comparison of the memory sizes of the local memory 29 in the old and new playback devices;

图45(b)是表示设置了读入优先级的数据管理表的一例的图;  Fig. 45(b) is a diagram showing an example of a data management table in which the read-in priority is set;

图46是表示基于应用程序管理器36的预装载控制的处理过程的图;  Fig. 46 is a figure showing the processing procedure based on the preloading control of the application program manager 36;

图47(a)是表示规定了applicationID相同,但是读入优先级彼此不同的应用程序的数据管理表的一例的图;  FIG. 47(a) is a diagram showing an example of a data management table defining applications whose application IDs are the same but whose reading priorities are different from each other;

图47(b)是基于图47(a)的数据管理表的分配的本地存储器29的存储内容的改变的图;  Fig. 47 (b) is the change figure of the stored content of the local storage 29 based on the distribution of the data management table of Fig. 47 (a);

图48(a)是表示描述为在应预装载的应用程序、应装载的应用程序上添加同一applicationID的数据管理表的一例的图;  FIG. 48(a) is a diagram showing an example of a data management table described as adding the same applicationID to the application program to be preloaded and the application program to be loaded;

图48(b)是表示在存储器规模小的再现装置中的本地存储器29的存储内容的改变的图;  FIG. 48(b) is a diagram showing changes in storage contents of the local storage 29 in a playback device with a small memory scale;

图48(c)是表示在存储器规模大的再现装置中的本地存储器29的存储内容的改变的图;  FIG. 48(c) is a diagram showing changes in storage contents of the local storage 29 in a playback device with a large memory scale;

图49是表示基于根据数据管理表的应用程序管理器36的装载处理的处理过程的图;  FIG. 49 is a diagram showing a processing procedure of loading processing by the application manager 36 based on the data management table;

图50是表示基于当前的再现时刻到达应用程序q的生存区间的情况下的应用程序管理器36的处理过程的图;  FIG. 50 is a diagram showing the processing procedure of the application program manager 36 when the current playback time reaches the life span of the application program q;

图51是将怎样进行基于Java虚拟机38的应用程序的读入的情况模式化的图;  FIG. 51 is a schematic diagram of how to load an application program based on the Java virtual machine 38;

图52(a)是表示第七实施方式的BD-J对象的内部结构的图;  Fig. 52(a) is a diagram showing the internal structure of the BD-J object of the seventh embodiment;

图52(b)是表示播放列表管理表的一例的图;  FIG. 52(b) is a diagram showing an example of a playlist management table;

图52(c)是表示在分支目标标题的播放列表管理表中,存在再现属性设定为AutoPlay的PL的情况下,再现装置进行怎样的处理的图;  FIG. 52(c) is a diagram showing what kind of processing the playback device performs when there is a PL whose playback attribute is set to AutoPlay in the playlist management table of the branch target title;

图53(a)是表示设定为再现属性表示非自动再现的情况下的非AV系标题中的标题时间轴的图;  Fig. 53(a) is a diagram showing a title time axis in a non-AV title when the playback attribute is set to indicate non-automatic playback;

图53(b)是表示再现属性设定为AutoPlay的非AV系标题的标题时间轴的图;  FIG. 53(b) is a diagram showing a title time axis of a non-AV title whose playback attribute is set to AutoPlay;

图53(c)是表示在播放列表管理表中设定为再现属性表示“AutoPlay”,应用程序强制终止的情况的图;  FIG. 53(c) is a diagram showing a situation where the application program is forcibly terminated by setting the playback attribute expression "AutoPlay" in the playlist management table;

图53(d)是表示在播放列表管理表中设定为再现属性表示“AutoPlay”,主应用程序的启动失败的情况的图;  Fig. 53(d) is a diagram showing a case where the main application fails to start when the playback attribute is set to "AutoPlay" in the playlist management table;

图54是表示第七实施方式的应用程序管理器36的处理过程的图;  FIG. 54 is a diagram showing the processing procedure of the application program manager 36 of the seventh embodiment;

图55是表示将通过播放列表管理表中设定为“再现属性=AutoPlay”而进行怎样的再现的情况模式化的图;  FIG. 55 is a schematic diagram showing what kind of playback is performed by setting "playback attribute = AutoPlay" in the playlist management table;

图56(a)、(b)是表示应用程序的处理和启动属性的关系的图;  Figure 56 (a), (b) is a diagram representing the relationship between the processing of the application program and the startup attribute;

图57是将怎样进行基于第八实施方式的Java虚拟机38的应用程序的读入的情况模式化的图;  FIG. 57 is a schematic diagram of how to load an application program based on the Java virtual machine 38 of the eighth embodiment;

图58(a)、(b)是表示第九实施方式的读入优先级的一例的图;  Figure 58 (a), (b) is a figure showing an example of the reading priority of the ninth embodiment;

图59(a)是表示添加了组属性的数据管理表的图;  Fig. 59(a) is a diagram showing a data management table to which a group attribute is added;

图59(b)是表示对于基于应用程序管理表的本地存储器29的访问的图;  FIG. 59(b) is a diagram showing access to the local storage 29 based on the application management table;

图60是表示应用程序管理表的分配单位的变化的图。  Fig. 60 is a diagram showing changes in allocation units of the application management table. the

具体实施方式 Detailed ways

(第一实施方式)  (first embodiment)

下面,说明本发明的再现装置的实施方式。首先,开始说明本发明的再现装置的实施方式中,使用行为方式。图1是表示本发明的再现装置的使用行为方式。图1中,本发明的再现装置是再现装置200,与电视机300、遥控器400共同形成家庭影院系统。  Next, an embodiment of the playback device of the present invention will be described. First, in the embodiment of the playback device of the present invention, an action mode is used. FIG. 1 is a diagram showing usage behavior of the playback device of the present invention. In FIG. 1 , the playback device of the present invention is a playback device 200 , which forms a home theater system together with a television 300 and a remote controller 400 . the

该BD-ROM100用于向由再现装置200、遥控器300、电视机400形成的家庭影院系统供给视频作品。  This BD-ROM 100 is used to supply video content to a home theater system formed by the playback device 200 , the remote controller 300 , and the television 400 . the

以上是本发明的再现装置的使用方式的说明。  The above is the description of the mode of use of the playback device of the present invention. the

接着,说明作为本发明的再现装置的再现对象的记录媒体BD-ROM。通过BD-ROM,向家庭影院系统供给的盘内容由彼此可分支的多个标题构成。各标题由一个以上的播放列表和使用该播放列表的动态控制过程构成。  Next, a recording medium BD-ROM to be played back by the playback device of the present invention will be described. With the BD-ROM, the disc content supplied to the home theater system consists of a plurality of titles that can be branched from each other. Each title consists of one or more playlists and a dynamic control process using the playlists. the

所谓播放列表是指由一个以上的数字流和该数字流中的再现路径构成,是具有“时间轴”的概念的BD-ROM上的访问单位。由于包含以上的播放列表和动态控制过程,所以标题兼有数字流特有的时间轴的概念和计算机程序的性质。  A playlist is composed of one or more digital streams and playback paths in the digital streams, and is an access unit on the BD-ROM having the concept of a "time axis". Since the above-mentioned playlist and dynamic control process are included, the title has both the concept of the unique time axis of the digital stream and the nature of the computer program. the

图2是表示BD-ROM中的文件·目录结构的图。该图中,BD-ROM在根目录下有BDMV目录。  Fig. 2 is a diagram showing a file/directory structure in a BD-ROM. In this figure, the BD-ROM has a BDMV directory under the root directory. the

BDMV目录中有添加了扩展符bdmv的文件(index.bdmv,MovieObject.bdmv)、和添加了扩展符BD-J的文件(00001.BD-J,00002.BD-J,00003.BD-J)。并且,在该BDMV目录下进一步存在称作PLAYLIST目录、CLIPINF目录、STREAM目录、BDAR目录的4个子目录。  In the BDMV directory, there are files with the extension bdmv (index.bdmv, MovieObject.bdmv) and files with the extension BD-J (00001.BD-J, 00002.BD-J, 00003.BD-J) . Further, four subdirectories called PLAYLIST directory, CLIPINF directory, STREAM directory, and BDAR directory exist under the BDMV directory. the

PLAYLIST目录中有添加了扩展符mpls的文件(00001.mpls,00002.mpls,00003.mpls)。  In the PLAYLIST directory there are files with the extension mpls added (00001.mpls, 00002.mpls, 00003.mpls). the

CLIPINF目录中有添加了扩展符clpi的文件(00001.clpi,00002.clpi,00003.clpi)。  In the CLIPINF directory, there are files with the extension clpi added (00001.clpi, 00002.clpi, 00003.clpi). the

STREAM目录中有添加了扩展符m2ts的文件(00001.m2ts,00002.m2ts,00003.m2ts)。  There are files (00001.m2ts, 00002.m2ts, 00003.m2ts) with the extension m2ts added in the STREAM directory. the

BDAR目录中有添加了扩展符jar的文件(00001.jar,00002.jar,00003.jar)。可以看出通过以上的目录结构,在BD-ROM上配置了彼此不同类别的多个文件。  There are files (00001.jar, 00002.jar, 00003.jar) with the extension jar added in the BDAR directory. It can be seen that from the above directory structure, a plurality of files of different categories are arranged on the BD-ROM. the

该图中添加了扩展符m2ts的文件(00001.m2ts,00002.m2ts,00003.m2ts...)存储有AVClip。AVClip有MainClip、SubClip的类别。MainClip是通过对视频流、音频流、展示图形流、交互图形流这样的多个元素流进行多路复用来得到的数字流。  In this figure, files (00001.m2ts, 00002.m2ts, 00003.m2ts...) to which the extension m2ts is added store AVClips. AVClip has MainClip and SubClip categories. MainClip is a digital stream obtained by multiplexing multiple element streams such as video streams, audio streams, presentation graphics streams, and interactive graphics streams. the

SubClip是音频流、图形流、文本字幕流等相当于仅一个元素流时的数 字流。  SubClip is a digital stream equivalent to only one element stream, such as an audio stream, a graphics stream, and a text subtitle stream. the

添加了扩展符“clpi”的文件(00001.clpi,00002.clpi,00003.clpi...)是分别一一对应于AVClip的管理信息。由于是管理信息,所以Clip信息具有AVClip中的流的编码形式、帧频、比特率、分辨率等信息和表示提示(cue)位置位置的EP_map。  The files (00001.clpi, 00002.clpi, 00003.clpi, . . . ) to which the extension "clpi" is added are management information corresponding to AVClips one-to-one, respectively. Since it is management information, the Clip information includes information such as the encoding format, frame rate, bit rate, and resolution of the stream in the AVClip, and EP_map indicating the position of the cue. the

添加了扩展符“mpls”的文件(00001.mpls,00002.mpls,00003.mpls...)是存储播放列表信息的文件。播放列表信息是参考AVClip来定义播放列表的信息。播放列表由MainPath信息、PLMark信息、SubPath信息构成。  The files (00001.mpls, 00002.mpls, 00003.mpls...) to which the extension "mpls" is added are files storing playlist information. The playlist information is information for defining a playlist with reference to an AVClip. The PlayList is composed of MainPath information, PLMark information, and SubPath information. the

MainPath信息由多个PlayItem信息构成。所谓PlayItem是指在一个以上的AVClip时间轴上,通过指定In_Time,Out_Time来定义的再现区间。通过配置多个PlayItem信息,来定义由多个再现区间构成的播放列表(PL)。图3是表示AVClip和PL的关系的图。第一级表示AVClip具有的时间轴,第二级表示PL具有的时间轴。PL信息包含PlayItem#1、#2、#3三个PlayItem信息,通过这些PlayItem#1、#2、#3的In_Time,Out_Time来定义三个再现区间。若排列这些再现区间,则定义了与AVClip时间轴不同的时间轴。其是第二级表示的PL时间轴。这样,通过PlayItem信息的定义,可以进行与AVClip不同的时间轴的定义。  MainPath information is composed of a plurality of PlayItem information. The PlayItem refers to a playback section defined by specifying In_Time and Out_Time on the time axis of one or more AVClips. By arranging a plurality of PlayItem information, a playlist (PL) composed of a plurality of playback sections is defined. FIG. 3 is a diagram showing the relationship between AVClip and PL. The first level represents the time axis that AVClip has, and the second level represents the time axis that PL has. The PL information includes three PlayItem information of PlayItem#1, #2, and #3, and three playback intervals are defined by In_Time and Out_Time of these PlayItem#1, #2, and #3. Arranging these playback sections defines a time axis different from the AVClip time axis. It is the PL time axis represented by the second level. Thus, by defining PlayItem information, it is possible to define a time axis different from that of AVClip. the

对于AVClip的指定原则上是一个,但是也可对多个AVClip统一指定。该统一指定通过PlayItem信息中的多个Clip_Information_file_name来进行。图4是表示通过4个Clip_Information_file_name来进行的统一指定的图。该图中,第一级~第四级表示4个AVClip时间轴(AVClip#1、#2、#3、#4的时间轴),第五级表示PL时间轴。通过PlayItem信息具有的4个Clip_Information_file_name来指定这四个时间轴。由此,通过PlayItem具有的In_Time、Out_Time,来定义可择一再现的4个再现区间。由此,在PL时间轴上定义了由可切换的多个角度视频构成的区间(所谓的多角度区间)。  In principle, one AVClip can be specified, but multiple AVClips can also be specified collectively. This unified designation is performed by a plurality of Clip_Information_file_names in the PlayItem information. FIG. 4 is a diagram showing collective designation by four Clip_Information_file_names. In the figure, the first to fourth levels represent four AVClip time axes (the time axes of AVClip #1, #2, #3, and #4), and the fifth level represents the PL time axis. These four time axes are specified by four Clip_Information_file_names that PlayItem information has. In this way, four playback sections that can be played back alternatively are defined by the In_Time and Out_Time of the PlayItem. As a result, a section (so-called multi-angle section) consisting of switchable multiple-angle videos is defined on the PL time axis. the

PLmark信息是PL时间轴上将任意的区间指定为章节的信息。图5是表示基于PLmark的章节定义的图。该图中,第一级表示AVClip时间轴,第二级表示PL时间轴。图中的箭头pk1、2表示PLmark中的PlayItem指定 (ref_to_PlayItem_Id)和一个时刻的指定(mark_time_stamp)。通过这些指定在PL时间轴上定义了三个章节(Chapter#1、#2、#3)。  The PLmark information is information for specifying an arbitrary section on the PL time axis as a chapter. FIG. 5 is a diagram showing chapter definitions based on PLmark. In this figure, the first level represents the AVClip time axis, and the second level represents the PL time axis. The arrows pk1 and 2 in the figure represent the PlayItem designation (ref_to_PlayItem_Id) and the designation of a moment (mark_time_stamp) in PLmark. Three chapters (Chapter #1, #2, #3) are defined on the PL time axis by these designations. the

SubPath信息由多个SubPlayItem信息构成。SubPlayItem信息通过在SubClip的时间轴上指定In_Time、Out_Time来定义再现区间。另外,SubPlayItem信息可以进行使SubClip时间轴上的再现区间与PL时间轴同步的同步指定,通过该同步指定,来使PL时间轴和SubPlayItem信息时间轴同步行进。图6是表示SubPlayItem时间轴上的再现区间定义和同步指定的图。该图中,第一级表示PL时间轴,第二级表示SubPlayItem时间轴。分别是图中的SubPlayItem.IN_time表示再现区间的始点,SubPlayItem.Out_time表示再现区间的终点。由此,可以看出在SubCLip时间轴上也定义了再现区间。箭头Sn1中Sync_PlayItem_Id表示对于PlayItem的同步指定,箭头Sn2中sync_start_PTS_of_PlayItem表示PL时间轴中的PlayItem上的一时刻的指定。  SubPath information is composed of a plurality of SubPlayItem information. The SubPlayItem information defines a playback section by designating In_Time and Out_Time on the time axis of the SubClip. In addition, the SubPlayItem information can specify synchronization to synchronize playback sections on the SubClip time axis with the PL time axis, and the PL time axis and the SubPlayItem information time axis can be synchronized by this synchronization specification. FIG. 6 is a diagram showing definition of playback intervals and designation of synchronization on the time axis of a SubPlayItem. In the figure, the first level represents the PL time axis, and the second level represents the SubPlayItem time axis. In the figure, SubPlayItem.IN_time indicates the start point of the playback section, and SubPlayItem.Out_time indicates the end point of the playback section. From this, it can be seen that playback intervals are also defined on the SubCLip time axis. The Sync_PlayItem_Id in the arrow Sn1 indicates the synchronization specification for the PlayItem, and the sync_start_PTS_of_PlayItem in the arrow Sn2 indicates the specification of a moment on the PlayItem in the PL time axis. the

可对可切换多个AVClip的多角度区间、和使AVClip-SubClip同步的同步区间进行定义,这是BD-ROM中的播放列表信息的特征。将以上的Clip信息和播放信息分类为“静态脚本(scenario)”。这是因为通过以上的Clip信息和播放列表信息,定义了作为静态再现单位的PL。以上,结束对静态脚本的说明。  It is possible to define a multi-angle section in which a plurality of AVClips can be switched, and a synchronization section in which AVClip-SubClips can be synchronized, which is a characteristic of playlist information in a BD-ROM. The above Clip information and playback information are classified into "static scenario (scenario)". This is because the PL, which is a unit of still playback, is defined by the above Clip information and PlayList information. This concludes the description of the static script. the

接着,说明“动态脚本”。所谓动态脚本是指动态规定AVClip的再现控制的脚本数据。所谓“动态”是指通过再现装置的状态变化和来自用户的键事件再现控制的内容变化。BD-ROM中,作为该再现控制的动作环境假定了两个模式。第一个是与DVD再现装置的动作环境极其类似的动作环境,是指令库的执行环境。第二个是Java虚拟机的动作环境。这两个动作环境中的第一个称作HDMV模式,第二个称作BD-J模式。由于有这两个动作环境,所以假定其中一个动作环境来描述动态脚本。将假定了HDMV模式的动态脚本称作Movie对象,通过管理信息来进行定义。另一方面,将假定了BD-J模式的动态脚本称作BD-J对象。  Next, the "dynamic scenario" will be described. The term "dynamic scenario" refers to scenario data that dynamically defines playback control of an AVClip. The so-called "dynamic" refers to the change of the state of the playback device and the content change of the playback control from the user's key event. In the BD-ROM, two modes are assumed as the operation environment of this playback control. The first is an operating environment very similar to that of a DVD playback device, and is an execution environment of a command library. The second is the operating environment of the Java virtual machine. The first of these two motion environments is called HDMV mode, and the second is called BD-J mode. Since there are these two action environments, one of the action environments is assumed to describe the dynamic script. A dynamic scenario assuming the HDMV mode is called a Movie object, and is defined by management information. On the other hand, a dynamic scenario assuming the BD-J mode is called a BD-J object. the

首先,开始说明Movie对象。  First, let's describe the Movie object. the

<Movie对象>  <Movie object>

Movie对象是“标题”的构成要素,存储在文件MovieObject.bdmv中。图7(a)是表示Movie对象的内部结构的图。Movie对象由包括属性信息、多个导航指令的指令串构成。  The Movie object is a constituent element of the "title" and is stored in the file MovieObject.bdmv. Fig. 7(a) is a diagram showing the internal structure of the Movie object. A Movie object is composed of a command string including attribute information and a plurality of navigation commands. the

属性信息包括:在PL时间轴中,进行了MenuCall(调用菜单)时,表示是否想要MenuCall后的再现重新开始的信息(resume_intention_flag);在PL时间轴上表示是否屏蔽了MenuCall的信息(menu_call_mask);和表示是否屏蔽了标题搜索的信息(title_search_flag)。Movie对象可以兼有“时间轴”+“程序控制”两个性质,从而通过该Movie对象来描述执行主再现的标题等多种标题。  Attribute information includes: on the PL timeline, when a MenuCall (menu call) is performed, information indicating whether to restart playback after the MenuCall (resume_intention_flag); on the PL timeline, information indicating whether to mask the MenuCall (menu_call_mask) ; and the information (title_search_flag) indicating whether to shield the title search. A Movie object can have both properties of "time axis" and "program control", so that various titles such as a title that executes main playback can be described through this Movie object. the

导航指令串由实现条件分支、再现装置中的状态寄存器的设定、状态寄存器的设定值取得等的指令串构成。下面表示可在Movie对象中描述的指令。  The navigation command sequence is composed of a command sequence for realizing conditional branching, setting of a status register in the playback device, acquisition of a set value of the status register, and the like. The commands that can be described in the Movie object are shown below. the

PlayPL指令      PlayPL instruction

格式:PlayPL(第一自变量,第二自变量)  Format: PlayPL(first argument, second argument)

第一自变量是播放列表的号,可指定应再现的PL。第二自变量可以使用该PL中包含的PlayItem和该PL中的任意的时刻、Chapter、Mark来指定再现开始位置。  The first argument is the number of the playlist, and the PL to be played back can be specified. The second argument can specify the playback start position using PlayItem included in the PL and arbitrary time, Chapter, and Mark in the PL. the

将用PlayItem指定PL时间轴上的再现开始位置的PlayPL函数称作PlayPLatPlayItem();  The PlayPL function for specifying the playback start position on the PL time axis with PlayItem is called PlayPLatPlayItem();

将用Chapter指定PL时间轴上的再现开始位置的PlayPL函数称作PlayPLatChapter();  The PlayPL function for specifying the playback start position on the PL time axis by Chapter is called PlayPLatChapter();

将用时间信息指定PL时间轴上的再现开始位置的PlayPL函数称作PlayPLatSpecified Time()。  The PlayPL function for specifying the playback start position on the PL time axis using time information is called PlayPLatSpecifiedTime(). the

JMP指令  JMP instruction

格式:JMP自变量  Format: JMP Argument

JMP指令是在中途丢弃(discard)现在的动态脚本,执行作为自变量的分支目标动态脚本的分支。JMP指令的形式有直接指定分支目标动态脚本的 直接参考形式和间接指定分支目标动态脚本的间接参考形式。  The JMP command discards (discards) the current dynamic script on the way, and executes a branch of the branch target dynamic script as an argument. The form of the JMP instruction has a direct reference form that directly specifies the branch target dynamic script and an indirect reference form that indirectly specifies the branch target dynamic script. the

由于Movie对象中的导航指令的描述与DVD中的导航指令的描述方式极其相似,所以可以高效进行将DVD上的盘内容移植到BD-ROM上的操作。对于Movie对象,存在有在下面的国际公开公报中记载的在先的技术。对于细节,要参考该国际公开公报。  Since the description of the navigation command in the Movie object is very similar to the description method of the navigation command in the DVD, the operation of migrating the disc content on the DVD to the BD-ROM can be performed efficiently. For the Movie object, there is a prior art described in the following International Publication. For details, refer to the International Publication Gazette. the

国际公开公报WO2004/074976  International Publication Gazette WO2004/074976

终止以上对Movie对象的说明。接着说明BD-J对象。  This concludes the above description of the Movie object. Next, the BD-J object will be described. the

<BD-J对象>  <BD-J object>

添加了扩展符BD-J的文件(00001.BD-J、00002.BD-J、00003.BD-J)构成BD-J对象。BD-J对象是在Java编程环境下描述的BD-J模式的动态脚本。图7(b)是表示BD-J对象的内部结构的图。如该图所示,BD-J对象由与Movie对象同样的属性信息、应用程序管理表构成。在具有属性信息方面,BD-J对象与Movie对象大致相同。与Movie对象不同的是BD-J对象没有直接描述指令。即,在Movie对象中,控制过程由导航指令来直接描述。与此相对,BD-J对象中,通过在应用程序管理表上定义以该标题为生存区间的Java应用程序,来间接规定控制过程。通过这种间接的规定,可以高效进行在多个标题中使控制过程公共的控制过程的公共化。  Files (00001.BD-J, 00002.BD-J, 00003.BD-J) to which the extension BD-J is added constitute a BD-J object. The BD-J object is a dynamic script of the BD-J mode described in the Java programming environment. Fig. 7(b) is a diagram showing the internal structure of a BD-J object. As shown in the figure, the BD-J object is composed of the same attribute information and application management table as the Movie object. A BD-J object is almost the same as a Movie object in having attribute information. Unlike Movie objects, BD-J objects do not directly describe commands. That is, in the Movie object, the control process is directly described by the navigation instruction. On the other hand, in the BD-J object, the control procedure is indirectly specified by defining the Java application whose lifespan is defined in the title in the application management table. Through such indirect specification, it is possible to effectively commonize the control procedure in which the control procedure is shared among a plurality of titles. the

图7(c)是表示Java应用程序的内部结构的图。该图中,应用程序由在虚拟机的堆(heap)区域(还称作工作存储器)上装载的一个以上的xlet程序构成。在该工作存储器中,一个以上的线程动作,由在工作存储器上装载的xlet程序和线程构成应用程序。以上是应用程序的构成。  FIG. 7(c) is a diagram showing an internal structure of a Java application. In this figure, an application program is composed of one or more xlet programs loaded in a heap area (also referred to as a work memory) of a virtual machine. In this work memory, one or more threads operate, and an application program is composed of an xlet program and a thread loaded in the work memory. The above is the composition of the application program. the

相当于该应用程序的实体的是在BDMV目录下的BDAR目录上存储的Java归档(archive)文件(00001.jar、00002.jar)。下面,说明Java归档文件。  What corresponds to the substance of this application program are Java archive files (00001.jar, 00002.jar) stored in the BDAR directory under the BDMV directory. Next, the Java archive file will be described. the

Java归档文件(00001.jar、00002.jar)是存储了构成Java应用程序的程序和数据的Java归档文件。图8(a)是表示由归档文件容纳的程序、数据的图。该图中的数据通过java归档来整理配置了框内所示的目录结构的多个文件。框内所示的目录结构由root目录、java目录、image目录构成。在root 目录上配置common.pkg,在java目录上配置aaa.class、bbb.class,在image目录上配置menu.jpg。java归档文件通过java归档来整理这些而得到。这些数据在每次从BD-ROM向高速缓存器中读出时解压,在高速缓存器上,作为在目录上配置的多个文件进行处理。Java归档文件的文件名中的“xxxxx”的5位数值表示应用程序的ID(applicationID)。在将本Java归档文件向高速缓存器读出时,通过参考该文件名中的数值,可以取出构成任意的Java应用程序的程序、数据。  Java archive files (00001.jar, 00002.jar) are Java archive files that store programs and data constituting Java applications. Fig. 8(a) is a diagram showing programs and data contained in an archive file. The data in this figure is organized into a plurality of files configured with the directory structure shown in the box by java archiving. The directory structure shown in the box consists of root directory, java directory, and image directory. Configure common.pkg in the root directory, configure aaa.class and bbb.class in the java directory, and configure menu.jpg in the image directory. The java archive file is obtained by organizing these through the java archive. These data are decompressed every time they are read from the BD-ROM to the cache, and are handled as a plurality of files arranged in a directory on the cache. The 5-digit value of "xxxxx" in the file name of the Java archive file indicates an application ID (applicationID). When reading this Java archive file into the cache, the program and data constituting an arbitrary Java application can be taken out by referring to the numerical value in the file name. the

Java归档文件中归纳为一个的文件中有xlet程序。  The xlet program is included in one file in the Java archive. the

Xlet程序是可利用JMF(Java Media Frame Work)接口的Java程序。Xlet程序由接收键事件的EventListner等多个函数构成,根据JMF等的方式,来进行基于所接收的键事件的处理。  The Xlet program is a Java program that can use the JMF (Java Media Frame Work) interface. The Xlet program is composed of a plurality of functions such as EventListner that receives a key event, and performs processing based on the received key event in accordance with a method such as JMF. the

图8(b)是表示xlet程序的一例的图。JMF A“BD://00001.mpls”是向Java虚拟机命令再现PL的播放器实例(player instance)的生成的方法。A.play是向JMF播放器实例命令再现的方法。该JMF播放器实例生成是基于JMF库(library)进行。Xlet程序的描述并不限于BD-ROM的PL,是可适用于具有时间轴的内容整体的JMF的描述。由于可以进行这种描述,所以可以督促擅长Java编程的软件进行BD-J对象的生成。  Fig. 8(b) is a diagram showing an example of an xlet program. JMF A "BD://00001.mpls" is a method for instructing the Java virtual machine to generate a player instance (player instance) for reproducing PL. A.play is a method to instruct playback to the JMF player instance. The JMF player instance is generated based on a JMF library (library). The description of the Xlet program is not limited to the PL of the BD-ROM, but is a description of the JMF applicable to the entire content having a time axis. Since this kind of description is possible, software that is good at Java programming can be urged to create a BD-J object. the

图8(b)中的JumpTitle()是应用程序API的调用。该应用程序API向再现装置命令向其他标题的分支(图中是title#1)。这里所谓应用程序API是指通过BD-ROM再现装置供给的API(Appliation Interface)。除了JumpTitle指令之外,通过应用程序API的调用,可以将BD-ROM再现装置特有的处理描述在xlet程序中。  JumpTitle() in Figure 8(b) is the call of the application program API. This application API instructs the playback device to branch to another title (title#1 in the figure). The term "application API" here refers to an API (Application Interface) provided by the BD-ROM playback device. In addition to the JumpTitle command, by calling the application program API, processing specific to the BD-ROM playback device can be described in the xlet program. the

BD-J模式中,PL再现通过JMF接口来规定。由该JMF播放器实例规定了PL时间轴,所以标题时间轴由具有JMF播放器实例的标题来规定。另外,BD-J模式中通过JumpTitleAPI的调用来规定从标题向标题的分支。由于JumpTitleAPI调用可以说是规定标题的终止时刻的调用,所以具有这样的JMF播放器实例、JumpTitleAPI调用的应用程序在BD-J模式中规定标题的开始和终止。将该应用程序称作主再现应用程序。  In the BD-J mode, PL playback is specified through the JMF interface. Since the PL time axis is defined by this JMF player instance, the title time axis is defined by the title having the JMF player instance. In addition, in the BD-J mode, branching from title to title is specified by calling the JumpTitle API. Since the JumpTitleAPI call can be said to be a call to specify the end time of the title, an application having such a JMF player instance and the JumpTitleAPI call specifies the start and end of the title in the BD-J mode. This application is referred to as a main reproduction application. the

以上是对BD-J模式下的动态脚本的说明。通过该BD-J模式中的动态脚本,定义了兼有PL再现和程序控制的标题。另外,在本实施方式中,将构成应用程序的程序、数据整理为Java归档文件,但是也可以是LZH文件、zip文件。  This concludes the description of the dynamic scenario in the BD-J mode. A title that combines PL playback and program control is defined by the dynamic scenario in the BD-J mode. In addition, in this embodiment, the program and data constituting the application program are organized into a Java archive file, but it may be an LZH file or a zip file. the

<标题时间轴>   <Title Timeline> 

结束了对构成标题的静态脚本、动态脚本的说明后,说明通过这些来定义怎样的时间轴。将用标题定义的时间轴称作“标题时间轴”。所谓标题时间轴是由通过Movie对象或BD-J对象命令再现的PL构成。这里举出一例的是如图9(a)这样的标题。该标题是顶部菜单→title#1→title#2→顶部菜单、顶部菜单→title#3→顶部菜单的一系列的标题。这些标题中,若title#1命令PlayList#1、PlayList#2的再现,title#2命令PlayList#3的再现,title#3指令PlayList#4的再现,则如图9(b)那样,title#1具有将PlayList#1、PlayList#2的时间轴相加的时间轴。同样,title#2具有由PlayList#3时间轴构成的时间轴,PlayList#3具有由PlayList#4时间轴构成的时间轴。在这些标题时间轴的PL时间轴上保证了无缝再现,但是在标题时间轴间不需要保证无缝再现。每次Java应用程序动作时,必需将可以在虚拟机的工作存储器上存在Java应用程序的期间(服务期间)定义在这样的标题时间轴上。在BD-J模式中,每次Java应用程序动作时,必需在彼此互相分支的时间轴上定义Java应用程序的服务期间。该服务期间的定义是每次进行面向BD-J的编程时的注意点。  After the description of the static scenario and the dynamic scenario constituting the title is completed, what kind of time axis is defined by these will be described. The time axis defined by the title is called "title time axis". The so-called title timeline is constituted by the PL commanded for playback by the Movie object or the BD-J object. An example here is a title as shown in FIG. 9( a ). The title is a series of titles of top menu→title#1→title#2→top menu, top menu→title#3→top menu. Among these titles, if title#1 instructs playback of PlayList#1 and PlayList#2, title#2 instructs playback of PlayList#3, and title#3 instructs playback of PlayList#4, as shown in FIG. 9(b), title# 1 has a time axis in which the time axes of PlayList#1 and PlayList#2 are added. Similarly, title#2 has a time axis composed of a PlayList#3 time axis, and PlayList#3 has a time axis composed of a PlayList#4 time axis. Seamless reproduction is guaranteed on the PL timeline of these title timelines, but seamless reproduction does not need to be guaranteed between title timelines. It is necessary to define a period (service period) during which the Java application can exist in the work memory of the virtual machine on such a title time axis every time the Java application operates. In the BD-J mode, each time a Java application operates, it is necessary to define a service period of the Java application on a time axis branching from each other. The definition of this service period is a point of attention every time programming for BD-J is performed. the

最后,说明index.bdmv中所存储的IndexTabel。IndexTable是使标题号、Movie对象、BD-J对象对应的表,是在从动态脚本向动态脚本分支时所参考的间接参考用表。IndexTable由分别对多个标签的Index构成。各Index描述了对应于该标签的动态脚本的识别符。通过参考这种IndexTable,可以实现分支,而不用严格区分Movie对象、BD-J对象的不同。对于IndexTable其细节记载在下面的国际公开公报中。对于细节要参考该公报。  Finally, the IndexTabel stored in index.bdmv is described. The IndexTable is a table that associates title numbers, Movie objects, and BD-J objects, and is an indirect reference table referred to when branching from dynamic scenarios to dynamic scenarios. IndexTable consists of Indexes for multiple tags. Each Index describes the identifier of the dynamic scenario corresponding to the tag. By referring to such an IndexTable, branching can be realized without strictly distinguishing between a Movie object and a BD-J object. The details of the IndexTable are described in the following International Publication Gazette. For details refer to the bulletin. the

国际公开公报WO2004/025651A1公报  International Open Gazette WO2004/025651A1 Gazette

以上是对BD-ROM上记录的文件的说明。  This concludes the description of the files recorded on the BD-ROM. the

<应用程序管理表>  <application management table>

具有JMF播放器实例、JumpTitleAPI调用的应用程序规定标题时间轴的情况如上那样,但是在标题时间轴上使不具有JMF播放器实例、JumpTitleAPI调用的其他应用程序动作的情况下,明确规定从时间轴的何处开始基于应用程序的服务,在时间轴的何处终止基于应用程序的服务的“服务开始点·终止点”很重要。在本实施方式中,将开始基于应用程序的服务后到终止定义为“应用程序的生存”。用于定义应用程序的生存的信息存在于BD-J对象的应用程序管理表中。之后更详细地说明应用程序管理表。  An application having a JMF player instance and calling JumpTitleAPI defines the title timeline as above, but when operating another application that does not have a JMF player instance and calling JumpTitleAPI on the title timeline, specify the timeline from the timeline The "service start point and end point" where the application-based service starts and where in the time axis the application-based service ends is important. In the present embodiment, the period from the start of the application-based service to its termination is defined as "the life of the application". Information for defining the existence of an application exists in the application management table of the BD-J object. The application management table will be described in more detail later. the

应用程序管理表(AMT)是在各标题具有的标题时间轴中,表示在虚拟机的工作存储器上可生存的应用程序的信息。所谓工作存储器中的生存是指可向工作存储器读出构成该应用程序的xlet程序,并进行基于虚拟机的执行的状态。图7(b)中的虚线箭头at1展开(closeup)表示应用程序管理表的内部结构。如该内部结构所示,应用程序管理表由“生存区间”、表示将该标题作为生存区间的应用程序的“applicationID”和该应用程序的“启动属性”构成。  The application management table (AMT) is information indicating the applications that can exist in the work memory of the virtual machine in the title time axis of each title. Existence in the work memory refers to a state where the xlet program constituting the application program can be read out to the work memory and executed by a virtual machine. The dotted arrow at1 in FIG. 7(b) closes up the internal structure of the application management table. As shown in this internal structure, the application management table is composed of a "living period", an "applicationID" indicating an application having the title as a living period, and an "activation attribute" of the application. the

在不久的将来,将要实施的盘内容选作题材,而掺杂具体例来说明应用程序管理表中的生存区间描述。这里作为题材的盘内容包含构成主视频的主标题(title#1)、构成在线购物的在线购物标题(title#2)、构成游戏应用程序的游戏标题(title#3)这三个特性不同的标题。图10表示包含主标题、在线购物标题、游戏标题三个标题的盘内容的图。在该图中的右侧描述了IndexTable,左侧描述了三个标题。  In the near future, the content of the disc to be implemented will be selected as the subject matter, and a specific example will be used to explain the life range description in the application program management table. Here, the disc content as the subject includes three different characteristics, namely, the main title (title#1) constituting the main video, the online shopping title (title#2) constituting the online shopping, and the game title (title#3) constituting the game application. title. FIG. 10 is a diagram showing disc contents including three titles: a main title, an online shopping title, and a game title. In this figure, the IndexTable is depicted on the right and three headers are depicted on the left. the

右侧的虚线框表示各应用程序属于哪个标题的隶属关系。三个标题中,title#1由application#1、application#2、application#3三个应用程序构成。title#2包含application#3、application#4两个应用程序,title#3包含application#5。图11是表示图10所示的三个标题的再现图像的一例的图。在这三个标题的再现图像中,在图11(a)、(b)的主标题、在线购物标题上存在以购物车为基础的影像(车cr1)1,在图11(c)的游戏标题上不存在车影像。由于车cr1需要在主标题、在线购物标题中公共显示,所以在title#1、 title#2两者中启动作为车应用程序的application#3。这种多个标题中启动的应用程序上除了上述的车应用程序之外,还有根据模仿视频作品中出现的MASCOT(自动过程计算机操作测试)的代理应用程序、菜单调用操作来进行菜单显示的菜单应用程序。  The dotted boxes on the right indicate the affiliation of which title each application belongs to. Among the three titles, title#1 consists of three applications: application#1, application#2, and application#3. title#2 contains application#3 and application#4, and title#3 contains application#5. FIG. 11 is a diagram showing an example of reproduced images of the three titles shown in FIG. 10 . In the reproduced images of these three titles, there is a shopping cart-based video (car cr1)1 on the main title and online shopping title in Fig. 11(a), (b), and the game in Fig. 11(c) There is no car image on the title. Since the car cr1 needs to be publicly displayed in the main title and the online shopping title, application#3 as a car application is started in both title#1 and title#2. In addition to the above-mentioned car application, the applications activated by such multiple titles also have menu display by imitating the MASCOT (Automated Process Computer Operations Test) proxy application and menu call operation that appear in video works. menu application. the

若根据图10的虚线所示的隶属关系来将各应用程序的生存区间图表化,则变为如图12(a)。该图中,横轴表示标题时间轴,纵轴方向上配置了各应用程序的生存区间。这里由于application#1、application#2仅属于title#1,所以这些生存区间留在title#1内。由于application#4仅属于title#2,所以其生存区间仅留在title#2内。由于application#5仅属于title#3,所以其生存区间仅留在title#3内。由于application#3属于title#1、title#2,所以其生存区间经过title#1-title#2。若根据该生存区间,来描述应用程序管理表,则title#1,#2,#3的应用程序管理表变为如图12(b)所示。若这样来描述应用程序管理表,则在title#1的再现开始时,将application#1、application#2、application#3装载在工作存储器中。并且,在title#2开始时,进行从工作存储器中删除application#1、application#2,仅设为application#3的控制。与此相同,在title#2的开始时,进行将application#4装载在工作存储器中,在title#3的开始时,进行从工作存储器中删除application#3、application#4的控制。  When the life span of each application is graphed based on the membership relationship shown by the dotted line in FIG. 10 , it will be as shown in FIG. 12( a ). In this figure, the horizontal axis represents the title time axis, and the life span of each application is arranged in the direction of the vertical axis. Here, since application#1 and application#2 only belong to title#1, these survival intervals remain in title#1. Since application#4 only belongs to title#2, its survival range only stays within title#2. Since application#5 only belongs to title#3, its survival range only stays within title#3. Since application#3 belongs to title#1 and title#2, its survival interval passes through title#1-title#2. If the application management table is described according to the survival interval, the application management tables of title#1, #2, and #3 become as shown in FIG. 12(b). When the application management table is described in this way, application#1, application#2, and application#3 are loaded in the work memory when playback of title#1 starts. And, when title#2 starts, application#1 and application#2 are deleted from the work memory, and only application#3 is set as the control. Similarly, when title#2 starts, application#4 is loaded into the work memory, and when title#3 starts, application#3 and application#4 are deleted from the work memory. the

进一步,进行在title#3的再现中,将application#5装载在工作存储器中,并在title#3的再现终止时,从工作存储器中删除application#5的控制。  Furthermore, during playback of title#3, application#5 is loaded into the work memory, and when the playback of title#3 is terminated, application#5 is deleted from the work memory. the

由于在有标题间分支的情况下,将在分支源-分支目标中生存的应用程序存储在工作存储器上,将仅在分支目标而不在分支源存在的应用程序读入到工作存储器中就可以,所以将应用程序读入到工作存储器的次数为必要最低次数。这样,通过减小读入次数,可以实现不会意识到标题的边界的应用程序,即,无边际的应用程序。  When there is a branch between titles, the application program that exists between the branch source and the branch target is stored in the work memory, and the application program that exists only in the branch target and not in the branch source can be read into the work memory. Therefore, the number of times the application program is read into the work memory is the necessary minimum number of times. In this way, by reducing the number of reads, an application that does not recognize the boundaries of titles, that is, an application without boundaries can be realized. the

接着说明应用程序的启动属性。启动属性有表示自动的启动的“AutoRun”、表示不是自动启动的对象,但是也可放在虚拟机的工作存储器上的“Persistent”、虽然放在虚拟机的工作存储器上,但是不能进行CPU功 率的分配的“Suspend”。  Next, the startup properties of the application will be described. The startup attributes include "AutoRun" for automatic startup, "Persistent" for objects that are not automatically started, but can also be placed on the working memory of the virtual machine. Although they are placed on the working memory of the virtual machine, CPU functions cannot be performed. "Suspend" of the assigned rate. the

“AutoRun”是与对应的标题的分支一起将该应用程序读入到工作存储器中,且表示执行的内容的生存区间。若存在从某个标题向其他标题的分支,则进行应用程序管理的管理主体(应用程序管理器)将在该分支目标标题中生存,且启动属性设定为AutoRun的应用程序向虚拟机的工作存储器的读入来进行执行。由此,该应用程序与标题分支一起来自动启动。作为将启动属性设定为AutoRun的应用程序,可举出具有JMF播放器实例和JumpTitleAPI调用这样的应用程序。这是因为这种应用程序是规定标题时间轴侧的应用程序,若不自动启动这种应用程序,标题时间轴的概念不清。  "AutoRun" reads the application program into the work memory together with the branch of the corresponding title, and indicates the lifetime of the content to be executed. If there is a branch from a certain title to other titles, the management entity (application manager) that performs application management will exist in the branch target title, and the application whose startup attribute is set to AutoRun will work on the virtual machine Read from memory for execution. Thus, the application starts automatically with the title branch. Examples of applications that set the startup attribute to AutoRun include applications that have JMF player instances and JumpTitle API calls. This is because such an application is an application for specifying the title time axis, and unless such an application is automatically activated, the concept of the title time axis becomes unclear. the

启动属性“Persisten”是继续属性,表示继续分支源标题中的应用程序的状态。另外,是表示也可装载在工作存储器中的属性。在启动属性是“Persistent”的情况下,添加了该启动属性的应用程序允许来自其他应用程序的调用。进行应用程序管理的管理主体(应用程序管理器)若从启动中的应用程序有调用,则将该应用程序的applicationID描述在应用程序管理表中,并判断启动属性是否是“Persistent”。若是“Persistent”,则将该应用程序装载在工作存储器中。另一方面,在没有将该调用目标应用程序的applicationID描述在应用程序管理表上的情况下,不将该应用程序装载在工作存储器中。基于应用程序的调用限于添加了该“Persistent”的应用程序。  The startup attribute "Persisten" is a continuation attribute indicating that the state of the application in the source header of the continuation branch is continued. In addition, it is an attribute indicating that it can also be loaded in the work memory. In the case where the startup attribute is "Persistent", the application to which the startup attribute is added allows calls from other applications. When the management subject (application manager) that manages the application program is invoked from the application program being started, the application ID of the application program is described in the application program management table, and it is judged whether the startup attribute is "Persistent". If "Persistent", the application is loaded in the work memory. On the other hand, in the case where the application ID of the calling target application is not described on the application management table, the application is not loaded in the work memory. Application-based calls are limited to applications that have this "Persistent" added. the

由于“Persistent”是没有明示指定启动属性的情况下所添加的缺省的启动属性,所以在某个应用程序的启动属性是无指定“——”的情况下,是指该应用程序的启动属性是该Persistent。  Since "Persistent" is the default startup attribute added without explicitly specifying the startup attribute, if the startup attribute of an application is not specified "——", it refers to the startup attribute of the application is the Persistent. the

说明这些启动属性在图11的应用程序中怎样描述。图13是对于图12的三个应用程序的启动属性的设定例。图12所示的三个应用程序中application#2如图13(b)所示,设为有来自其他应用程序的应用程序调用、并开始启动的应用程序。与其余的application#1、application#3是与title#1的开始同时自动启动的应用程序。这时,如图13(a)所示,将应用程序管理表中的各应用程序的启动属性application#1、application#3设作“AutoRun”,将application#2设作“Persistent”。这时,application#1、 application#3在向title#1的分支时自动装载在工作存储器中来执行。另一方面,由于application#2的启动属性是“Persistent”,所以解释为“application#3是可装载在虚拟机的工作存储器上的应用程序”的消极含义。因此,application#2在有来自application#1的调用时才装载在虚拟机的工作存储器上并执行。通过以上的生存区间·启动属性,将可在虚拟机上动作的应用程序的数目限制为4个以下,可以将总线程数限制为64个以下,所以可以保证应用程序的稳定动作。  Describe how these startup attributes are represented in the application in Figure 11. FIG. 13 is an example of setting the activation attributes for the three application programs in FIG. 12 . Among the three applications shown in FIG. 12, application#2 is an application called from another application and starts to start, as shown in FIG. 13(b). The remaining application#1 and application#3 are applications that are automatically started simultaneously with the start of title#1. In this case, as shown in FIG. 13( a ), the startup attributes application#1 and application#3 in the application management table are set to "AutoRun", and application#2 is set to "Persistent". At this time, application#1 and application#3 are automatically loaded and executed in the work memory when branching to title#1. On the other hand, since the startup attribute of application#2 is "Persistent", it is interpreted as a negative meaning of "application#3 is an application program that can be loaded on the work memory of the virtual machine". Therefore, application#2 is loaded and executed on the working memory of the virtual machine when there is a call from application#1. With the above-mentioned lifetime and startup attributes, the number of applications that can operate on the virtual machine can be limited to 4 or less, and the total number of threads can be limited to 64 or less, so stable operation of applications can be guaranteed. the

接着,说明Suspend。  Next, Suspend will be explained. the

所谓Suspend是指在分配了资源,但是没有分配CPU功率的状态下放置应用程序的情况。该Suspend对例如在游戏标题的执行中,经过旁路(side pass)的处理有意义。图14(a)(b)是表示Suspend有意义的事例的图。如图14(b)所示,有三个标题(title#1、title#2、title#3),其中title#1、title#3执行游戏应用程序,但是中间的title#2是旁路,用来实现视频再现。在旁路中,由于需要实现视频再现,所以使游戏的执行中断。由于在游戏应用程序中计数了过程中的分数等,所以要在title#2的前后维持资源的存储植。这时,描述应用程序管理表,使其在title#2的开始时刻挂起游戏应用程序,在title#3的开始时刻重新开始application#2。由此,由于在title#2中,application#2分配了资源,所以维持了资源的存储植。但是,由于是没有分配CPU功率的状态,所以不会通过虚拟机来执行application#2。由此,在游戏标题的执行中,实现了执行旁路的处理。  The so-called Suspend refers to the situation where the application is placed in a state where resources are allocated but CPU power is not allocated. This Suspend is useful for processing that passes through a side pass during the execution of a game title, for example. 14(a)(b) are diagrams showing examples where Suspend is meaningful. As shown in Figure 14(b), there are three titles (title#1, title#2, title#3), among which title#1 and title#3 execute the game application, but the title#2 in the middle is a bypass, use for video reproduction. In the bypass, the execution of the game is interrupted due to the need to realize video reproduction. Since the score in the process is counted in the game application, it is necessary to maintain the storage of resources before and after title#2. At this time, the application management table is described so that the game application is suspended at the start time of title#2, and application#2 is restarted at the start time of title#3. Thus, since application#2 allocates resources in title#2, the storage of resources is maintained. However, since the CPU power is not allocated, application#2 will not be executed by the virtual machine. Thereby, in the execution of the game title, execution bypass processing is realized. the

图15是表示启动属性可取的三种形态(Persistent、AutoRun、Suspend)和最近前面的标题中的应用程序状态的三种形态(非启动、启动中、Suspend)可取的组合的图。在最近前面状态是“非启动”的情况下,若启动属性是“AutoRun”,则在分支目标标题中,启动该应用程序。  FIG. 15 is a diagram showing possible combinations of the three possible modes of activation attributes (Persistent, AutoRun, Suspend) and the three modes of the application state (non-starting, running, and Suspend) in the immediately preceding title. If the startup attribute is "AutoRun" when the most recent previous state is "non-start", the application is started in the branch target title. the

若最近前面状态是“非启动”,启动属性为“Persistent”、“Suspend”,则分支目标标题中,其应用程序什么都不做,继续状态。  If the previous state is "non-starting" and the startup attribute is "Persistent" or "Suspend", then the application program in the branch target title does not do anything and continues the state. the

在最近前面状态是“启动中”的情况下,若启动属性为“Persistent”、“Suspend”,则分支目标标题中,其应用程序什么都不做,继续状态。  When the most recent state is "starting", if the start attribute is "Persistent" or "Suspend", the application in the branch target title does not do anything and continues the state. the

若启动属性为“Suspend”,则应用程序的状态为挂起。在最近前面状态为“Suspend”的情况下,若分支目标标题的启动属性是“Suspend”,则维持挂起。若为“Persistent”、“AutoRun”,则在分支目标标题中,重新开始该应用程序。通过在应用程序管理表中定义生存期间和启动属性,沿着标题时间轴的行进,可以进行使Java应用程序动作的同步控制,可以特别送出伴随视频再现、应用程序执行的各种应用程序。以上是对于记录媒体的说明。接着说明本发明的再现装置。  If the startup attribute is "Suspend", the state of the application is suspended. When the most recent state is "Suspend", if the start attribute of the branch destination title is "Suspend", the suspension is maintained. If "Persistent", "AutoRun", in the branch target header, restart the application. By defining the lifetime and start attributes in the application management table, it is possible to perform synchronous control to operate Java applications along the title time axis, and it is possible to deliver various applications accompanying video playback and application execution. This concludes the description of the recording medium. Next, the playback device of the present invention will be described. the

图16是表示本发明的再现装置的内部结构的图。本发明的再现装置根据该图所示的内部结构来进行工业生产。本发明的再现装置主要由系统LSI和驱动装置的两个部件构成,通过将这些部件安装在装置的壳体和基板上来可进行工业生产。系统LSI是集成了实现再现装置的功能的各种处理部的集成电路。这样生产的再现装置由BD-ROM驱动器1、读缓存器2、多路分配器3、视频译码器4、视频平面5、P-Graphics译码器9、展示图形平面10、合成部11、字体生成器12、I-Graphics译码器13、开关14、交互图形平面15、合成部16、HDD17、读缓存器18、多路分配器19、音频译码器20、脚本(scenario)存储器21、CPU22、键事件处理部23、指令ROM24、开关25、CLUT部26、PSR组28、本地存储器29构成。  Fig. 16 is a diagram showing the internal structure of the playback device of the present invention. The playback device of the present invention is industrially produced based on the internal structure shown in this figure. The reproduction device of the present invention is mainly composed of two parts of a system LSI and a driving device, and can be industrially produced by mounting these parts on the case and the substrate of the device. The system LSI is an integrated circuit that integrates various processing units that realize the functions of the playback device. The playback device produced in this way is composed of BD-ROM drive 1, read buffer 2, demultiplexer 3, video decoder 4, video plane 5, P-Graphics decoder 9, presentation graphics plane 10, compositing unit 11, Font generator 12, I-Graphics decoder 13, switch 14, interactive graphics plane 15, synthesis unit 16, HDD 17, read buffer 18, demultiplexer 19, audio decoder 20, scenario memory 21 , CPU22, key event processing unit 23, instruction ROM24, switch 25, CLUT unit 26, PSR group 28, and local storage 29. the

BD-ROM驱动器1进行BD-ROM的装载/注入,执行对于BD-ROM的访问。  The BD-ROM drive 1 loads/injects the BD-ROM and accesses the BD-ROM. the

读缓存器2是FIFO存储器,以先入先出方式存储从BD-ROM中读出的TS包。  The read buffer 2 is a FIFO memory, and stores TS packets read from the BD-ROM in a first-in first-out manner. the

多路分配器(De-MUX)3从读缓存器2中取出TS包,并将构成该TS包的TS包转换为PES包。并且,将通过转换得到的PES包中具有由CPU22设定的PID的包输出到视频译码器4、音频译码器20、P-Graphics译码器9和I-Graphics译码器13中之一。  A demultiplexer (De-MUX) 3 fetches TS packets from the read buffer 2, and converts the TS packets constituting the TS packets into PES packets. And, output the packet with the PID set by the CPU 22 among the PES packets obtained by conversion to one of the video decoder 4, the audio decoder 20, the P-Graphics decoder 9, and the I-Graphics decoder 13. one. the

视频译码器4解码从多路分配器3输出的多个PES包后得到非压缩形式的图像,并写入到视频平面5上。  The video decoder 4 decodes a plurality of PES packets output from the demultiplexer 3 to obtain uncompressed images, and writes them into the video plane 5 . the

视频平面5是用于存储非压缩形式的图像的平面。所谓平面是指在再现 装置中存储一个画面的象素数据用的存储器区域。在再现装置上设置多个平面,按每个象素来相加这些平面的存储内容,进行视频输出时,可以在合成多个视频内容之后,进行视频输出。视频平面5中的分辨率为1920×1080,在该视频平面5上存储的图像数据由以16比特的YUV值表现的象素数据构成。  Video plane 5 is a plane for storing images in uncompressed form. The term "plane" refers to a memory area for storing pixel data of one screen in a playback device. When a plurality of planes are provided on the playback device, and storage contents of these planes are added for each pixel to perform video output, video output can be performed after synthesizing a plurality of video contents. The resolution in the video plane 5 is 1920×1080, and the image data stored in the video plane 5 is composed of pixel data represented by 16-bit YUV values. the

P-Graphics译码器9对从BD-ROM、HDD17中读出的展示图形流进行译码,并将非压缩图形写入到展示图形平面10中。通过图形流的译码,在画面上表现字幕。  The P-Graphics decoder 9 decodes the presentation graphics stream read from the BD-ROM or HDD 17 , and writes uncompressed graphics into the presentation graphics plane 10 . By decoding the graphics stream, subtitles are displayed on the screen. the

展示图形平面10是具有一个画面的区域的存储器,可以存储一个画面的非压缩图形。本平面的分辨率是1920×1080,展示图形平面10中的非压缩图形的各象素用8比特的索引彩色来表示。通过使用CLUT(ColorLookupTable)来转换该索引彩色,来将在展示图形平面10中存储的非压缩图形供给显示。  The presentation graphics plane 10 is a memory having an area of one screen, and can store uncompressed graphics for one screen. The resolution of this plane is 1920×1080, and each pixel of the uncompressed graphics in the presentation graphics plane 10 is represented by an 8-bit index color. The uncompressed graphics stored in the presentation graphics plane 10 are provided for display by converting the index color using CLUT (ColorLookupTable). the

合成部11将非压缩状态的图像数据(i)与展示图形平面10的存储内容合成。  The compositing unit 11 composites the uncompressed image data (i) with the content stored in the presentation graphics plane 10 . the

字体生成器12使用文字字体,将textST流中包含的文本码展开为位图。  The font generator 12 expands the text code included in the textST stream into a bitmap using a character font. the

I-Graphics译码器13对从BD-ROM或HDD17中读出的交互图形流进行译码,并将非压缩图形写入到交互图形平面15上。  The I-Graphics decoder 13 decodes the interactive graphics stream read from the BD-ROM or HDD 17 , and writes uncompressed graphics on the interactive graphics plane 15 . the

开关14是将字体生成器12生成的字体串、通过P-Graphics译码器9的译码得到的图形中的某一个有选择地写入到展示图形平面10的开关。  The switch 14 is a switch for selectively writing one of the font string generated by the font generator 12 and the graphics decoded by the P-Graphics decoder 9 to the presentation graphics plane 10 . the

交互图形平面15写入基于I-Graphics译码器13进行的译码得到的非压缩图形。  The interactive graphics plane 15 writes the uncompressed graphics obtained by decoding by the I-Graphics decoder 13 . the

合成部16合成交互图形平面10的存储内容和作为合成部8的输出的合成图像(合成了非压缩状态的图像数据和展示图形平面7的存储内容的内容)。  The compositing unit 16 synthesizes the storage content of the interactive graphics plane 10 and the synthesized image (combined image data in an uncompressed state and the content representing the storage content of the graphics plane 7) that is the output of the compositing unit 8 . the

HDD17是存储了经网络等下载的SubClip、Clip信息、播放列表信息的内置媒体。在该HDD17中的播放列表信息即使是存在于BD-ROM和HDD17的其中之一的Clip信息,在可以进行指定的方面不同。每次该指定时,HDD17 上的播放列表信息不需要通过全路径(full path)指定BD-ROM上的文件。这是因为本HDD17与BD-ROM为一体,作为虚拟的一个驱动器(称作虚拟包),通过再现装置来识别。因此,PlayItem信息中的Clip_nformation_file_name和SubPlayItem信息的Clip_Information_file_name,通过指定相当于存储了Clip信息的文件的文件主体的5位数值,可以指定HDD17、BD-ROM上的AVClip。通过读出该HDD的记录内容,并与BD-ROM的记录内容动态组合,可以产生各种不同的再现。  The HDD 17 is a built-in medium that stores SubClips, Clip information, and Playlist information downloaded via a network or the like. Playlist information on HDD 17 is different in that it can be specified even if it is Clip information existing in either BD-ROM or HDD 17 . The playlist information on the HDD17 does not need to specify the file on the BD-ROM through the full path (full path) every time it is specified. This is because the HDD 17 is integrated with the BD-ROM, and is recognized by the playback device as one virtual drive (called a virtual package). Therefore, Clip_nformation_file_name in PlayItem information and Clip_Information_file_name in SubPlayItem information can specify an AVClip on HDD 17 or BD-ROM by specifying a 5-digit numerical value corresponding to the file body of a file storing Clip information. By reading the recorded content of the HDD and dynamically combining it with the recorded content of the BD-ROM, various reproductions can be produced. the

读缓冲器18是FIFO存储器,以先入先出的形式来存储从HDD17读出的TS包。  The read buffer 18 is a FIFO memory, and stores TS packets read from the HDD 17 in a first-in first-out format. the

多路分配器(De-MUX)19从读缓存器18取出TS包,并将TS包转换为PES包。并且,将通过转换得到的PES包中具有希望的streamPID的包输出到字体生成器12中。  A demultiplexer (De-MUX) 19 takes out TS packets from the read buffer 18, and converts the TS packets into PES packets. And, among the PES packets obtained by the conversion, a packet having a desired streamPID is output to the font generator 12 . the

音频译码器20对从多路分配器19输出的PES包进行译码,并输出非压缩形式的音频数据。  The audio decoder 20 decodes the PES packets output from the demultiplexer 19, and outputs audio data in uncompressed form. the

脚本存储器21是用于存储当前的PL信息和当前的Clip信息的存储器。所谓当前PL信息是指BD-ROM中记录的多个PL信息中作为当前处理对象的信息。所谓当前Clip信息是指在BD-ROM中记录的多个Clip信息中,作为当前处理对象的信息。  The scenario memory 21 is a memory for storing current PL information and current Clip information. The term "current PL information" refers to information that is currently processed among the plurality of PL information recorded on the BD-ROM. The current Clip information refers to information that is currently processed among a plurality of Clip information recorded on the BD-ROM. the

CPU22执行在指令ROM24中存储的软件,并执行再现装置整体的控制。  The CPU 22 executes software stored in the command ROM 24 to control the entire playback device. the

键事件处理部23根据对于遥控器和再现装置的前面板的键操作,输出进行该操作的键事件。  The key event processing unit 23 outputs a key event for the key operation performed on the remote controller or the front panel of the playback device. the

指令ROM24存储规定再现装置的控制的软件。  The command ROM 24 stores software specifying control of the playback device. the

开关25是将从BD-ROM和HDD 17读出的各种数据有选择地输入到读缓存器2、读缓存器18、脚本存储器21、本地存储器29中某一个的开关。  The switch 25 is a switch for selectively inputting various data read from the BD-ROM and the HDD 17 to any one of the read buffer 2, the read buffer 18, the script memory 21, and the local memory 29. the

CLUT部26将视频平面5中存储的非压缩图形中的索引彩色转换为Y,Cr,Cb值。  The CLUT unit 26 converts the index color in the uncompressed graphics stored in the video plane 5 into Y, Cr, and Cb values. the

CLUT部27将交互图形平面15中存储的非压缩图形中的索引彩色转换 为Y,Cr,Cb值。  The CLUT unit 27 converts the index color in the uncompressed graphics stored in the interactive graphics plane 15 into Y, Cr, and Cb values. the

PSR组28是内置在再现装置中的寄存器,由64个播放器状态寄存器(PSR)和4096个通用寄存器(GPR)构成。播放器状态寄存器的设定值(PSR)中PSR4~PSR8用于表现当前的再现时刻。  The PSR group 28 is a register built into the playback device, and is composed of 64 player status registers (PSR) and 4096 general-purpose registers (GPR). Among the setting values (PSR) of the player status register, PSR4 to PSR8 represent the current playback time. the

PSR4通过设定为1~100的值,表示当前的再现时刻所属的标题,通过设定为0,表示当前的再现时刻是顶端菜单。  When PSR4 is set to a value of 1 to 100, it indicates the title to which the current playback time belongs, and when it is set to 0, it indicates that the current playback time is the top menu. the

PSR5通过设定为1~999的值,表示当前的再现时刻所属的章节号,通过设定为0xFFFF,表示再现装置中章节号无效。  When PSR5 is set to a value of 1 to 999, it indicates the chapter number to which the current playback time belongs, and when it is set to 0xFFFF, it indicates that the chapter number is invalid in the playback device. the

PSR6通过设定为0~999的值,表示当前的再现时刻所属的PL(当前PL)的号。  PSR6 is set to a value of 0 to 999, indicating the number of the PL (current PL) to which the current playback time belongs. the

PSR7通过设定为0~255的值,表示当前的再现时刻所属的Play Item(当前PlayItem)的号。  PSR7 is set to a value of 0 to 255, and indicates the number of the Play Item (current PlayItem) to which the current playback time belongs. the

PSR8通过设定为0~0xFFFFFFFF的值,而使用45KHz的时间精度来表示当前的再现时刻(当前PTM(Presentation Time))。通过以上的PSR4~PSR8,来确定当前的再现时刻。  The PSR8 is set to a value of 0 to 0xFFFFFFFF to represent the current playback time (current PTM (Presentation Time)) with a time precision of 45 KHz. The current playback time is determined by the above PSR4 to PSR8. the

本地存储器29由于从BD-ROM的读出为低速,所以是用于暂时存储BD-ROM的记录内容的高速缓存器。因存在该本地存储器29,可以使BD-J模式中的应用程序执行高效。图17(a)是表示在本地存储器29上怎样识别BD-ROM中存在的Java归档文件的图。图17(a)的表中,在左栏表示BD-ROM上的文件名,在右栏表示本地存储器29上的文件名。若比较这些右栏、左栏,可以看出通过省去目录指定“BDJA”的文件路径来指定本地存储器29中的文件。  The local storage 29 is a cache memory for temporarily storing the recorded content of the BD-ROM because reading from the BD-ROM is slow. Due to the presence of this local storage 29, it is possible to efficiently execute applications in the BD-J mode. FIG. 17( a ) is a diagram showing how to identify a Java archive file existing in the BD-ROM on the local storage 29 . In the table of FIG. 17( a ), the left column shows the file names on the BD-ROM, and the right column shows the file names on the local storage 29 . Comparing the right column and the left column, it can be seen that the file in the local storage 29 is specified by omitting the file path of the directory designation "BDJA". the

图17(b)是表示图17(a)的应用的图。本应用例以头+数据的形式存储文件中所存储的数据。将本地存储器9中的文件路径用于头。如图17(b)所示,由于在本地存储器29中将省略了BD-ROM中的文件路径的一部分的内容用于文件路径,所以通过将该文件路径存储在头中,可以明确各数据在BD-ROM中的位置。  Fig. 17(b) is a diagram showing the application of Fig. 17(a). This application example stores the data stored in the file in the form of header + data. Use the file path in local storage 9 for the header. As shown in FIG. 17(b), since a part of the file path in the BD-ROM is omitted for the file path in the local storage 29, by storing the file path in the header, the location of each data can be clarified. location in the BD-ROM. the

以上是本实施方式的再现装置的硬件结构。接着,说明本实施方式中的 再现装置的软件结构。  The above is the hardware configuration of the playback device of this embodiment. Next, the software configuration of the playback device in this embodiment will be described. the

图18是将由ROM24中存储的软件和硬件构成的部分转换为层结构来描述的图。如该图所示,再现装置的层结构由下面的a)、b)、c)、d-1)、d-2)、e)、f)构成。即,在a)物理的硬件等级上存在b)控制基于AVClip的再现的展示引擎31、和c)进行基于播放列表信息和Clip信息的再现控制的重放控制引擎32的这两个等级,在最上层的等级上有e)执行标题间的分支的模块管理器34。  FIG. 18 is a diagram for describing a part composed of software and hardware stored in the ROM 24 into a layer structure. As shown in this figure, the layer structure of the playback device is composed of the following a), b), c), d-1), d-2), e), and f). That is, there are two levels: a) at the physical hardware level, b) the presentation engine 31 that controls playback based on AVClips, and c) the playback control engine 32 that controls playback based on PlayList information and Clip information. On the topmost level there is e) a module manager 34 that executes branching between titles. the

在这些HDMV模块33、模块管理器34之间,d-1)作为Movie对象的译码·执行主体的HDMV模块33、和d-2)进行BD-J对象的译码·执行的BD-J模块35放在同一等级上。  Between the HDMV module 33 and the module manager 34, d-1) the HDMV module 33 that decodes and executes a Movie object, and d-2) the BD-J that decodes and executes a BD-J object. Module 35 is placed on the same level. the

BD-J模块35是所谓的Java平台,为包含工作存储器37的Java虚拟机38为核心的结构,由应用程序管理器36、事件监听管理器(event listnermanager)39、缺省操作管理器40构成。首先,最先说明展示引擎31~模块管理器34。图19是将基于展示引擎31~模块管理器34的处理模式化的图。  The BD-J module 35 is a so-called Java platform, which is a Java virtual machine 38 including a working memory 37. . First, the presentation engine 31 to the module manager 34 will be described first. FIG. 19 is a schematic diagram of processing by the presentation engine 31 to the module manager 34 . the

展示引擎31执行AV再现功能。所谓再现装置的AV再现功能是指从DVD播放器、CD播放器继承的传统的功能群,是再现开始(Play)、再现停止(Stop)、暂时停止(Pause ON)、暂时停止的解除(Pause Off)、静止功能的解除(Still off)、带速度指定的快进(Forward Play(speed))、带速度指定的倒带(Backward Play(speed))、声音切换(Audio Change)、副视频切换(Subtitle Change)、角度切换(Angle Change)的功能。为实现AV再现功能,展示引擎31控制视频译码器4、P-Graphics译码器9、I-Graphics译码器13和音频译码器20,以进行读出到读缓存器2上的AVClip中相当于希望时刻的部分的译码。作为希望的时刻,通过进行PSR8(当前PTM)所示的位置的解释,在AVClip中,可以再现任意的时刻。图中的◎1将基于展示引擎31的译码开始模式化来进行表示。  The presentation engine 31 performs an AV reproduction function. The so-called AV playback function of the playback device refers to the traditional function group inherited from DVD players and CD players, including playback start (Play), playback stop (Stop), pause (Pause ON), and release of pause (Pause). Off), release of still function (Still off), fast forward with speed designation (Forward Play(speed)), rewind with speed designation (Backward Play(speed)), sound switching (Audio Change), sub-video switching (Subtitle Change), angle switch (Angle Change) functions. In order to realize the AV reproduction function, the display engine 31 controls the video decoder 4, the P-Graphics decoder 9, the I-Graphics decoder 13 and the audio decoder 20, so as to read out the AVClip on the read buffer 2. Decoding of the portion corresponding to the desired time of day. By interpreting the position indicated by PSR8 (current PTM) as the desired time, any time can be reproduced in the AVClip. ⊚1 in the figure is based on the modeling of the start of decoding by the presentation engine 31 . the

再现控制引擎(Playback Control Engine(PCE))32执行播放列表的再现功能(i)、再现装置中的状态取得/设定功能(ii)的各功能。所谓PL的再现功能是指根据当前PL信息和Clip信息来进行展示引擎31进行的AV 再现功能中的再现开始和再现停止。根据来自HDMV模块33~BD-J模块35的应用程序调用来执行这些功能(i)~(ii)。即,再现控制引擎32根据基于用户操作的指示、来自层模块中的上层位置的指示,来执行自身的功能。图19中,带◎2◎3的箭头将重放控制引擎32对Clip信息和播放列表信息的参考模式化来表示。  The playback control engine (Playback Control Engine (PCE)) 32 executes the functions of the playlist playback function (i) and the status acquisition/setting function (ii) in the playback device. The so-called PL playback function refers to the start and stop of playback in the AV playback function performed by the presentation engine 31 based on the current PL information and Clip information. These functions (i) to (ii) are executed by application calls from the HDMV module 33 to the BD-J module 35 . That is, the playback control engine 32 executes its own function according to an instruction based on a user operation or an instruction from an upper layer position in the layer module. In FIG. 19 , the arrows marked with ◎2◎3 represent in a model the reference of the playback control engine 32 to the Clip information and the Playlist information. the

HDMV模块33是MOVIE模式的执行主体,若从模块管理器34通知构成分支目标的Movie对象,则将构成分支目标标题的Movie对象读出到本地存储器29中,并对在该Movie对象中描述的导航指令进行译码,根据译码结果来执行对重放控制引擎32的应用程序调用。图19中带

Figure 04829746X_0
2、
Figure 04829746X_1
3、
Figure 04829746X_2
 4的箭头,将来自模块管理器34的分支目标Movie对象的通知(2)、Movie对象中描述的导航指令的译码(3)、对于重放控制引擎32的应用程序调用(4)模式化来表示。  HDMV module 33 is the executive subject of MOVIE mode, if notify from module manager 34 the Movie object that forms branch target, then the Movie object that will form branch target title is read in the local memory 29, and described in this Movie object The navigation command is decoded, and the application program call to the playback control engine 32 is executed according to the decoded result. Figure 19 with
Figure 04829746X_0
2,
Figure 04829746X_1
3.
Figure 04829746X_2
The arrow of 4 models the notification (2) of the branch target Movie object from the module manager 34, the decoding of the navigation instruction described in the Movie object (3), and the application call (4) to the playback control engine 32 To represent.

模块管理器34保持从BD-ROM中读出的索引表,并进行分支控制。该分支控制在HDMV模块33执行JumpTitle指令的情况下,或从BD-J模块35调用标题跳转API的情况下,接收作为该跳转目标的跳转号,并向HDMV模块33或BD-J模块35通知构成该标题的Movie对象或BD-J对象。图中的带0、1、

Figure 04829746X_5
2的箭头将JumpTitle指令的执行(0)、模块管理器34进行的IndexTable参考(1)和分支目标Movie对象(2)的通知模式化来表示。  The module manager 34 holds the index table read from the BD-ROM, and performs branch control. In this branch control, when the HDMV module 33 executes the JumpTitle command, or when the title jump API is called from the BD-J module 35, it receives the jump number as the jump destination, and sends the jump number to the HDMV module 33 or the BD-J Module 35 notifies the Movie object or BD-J object constituting the title. belt in the picture 0, 1,
Figure 04829746X_5
The arrow 2 represents the execution of the JumpTitle instruction (0), the reference of the IndexTable by the module manager 34 (1), and the notification of the branch target Movie object (2).

以上是对展示引擎31~模块管理器34的说明。接着,参考图20来说明应用程序管理器36。图20是表示应用程序管理器36的图。  The above is the description of the presentation engine 31 to the module manager 34 . Next, the application program manager 36 will be described with reference to FIG. 20 . FIG. 20 is a diagram showing the application program manager 36 . the

应用程序管理器36执行参考了应用程序管理表的应用程序的启动控制、执行标题正常终止时的控制。  The application manager 36 executes the start control of the application referring to the application management table, and the control when the title is normally terminated. the

所谓启动控制是指在每次从模块管理器34通知作为分支目标的BD-J模块时,读出该BD-J对象,并参考该BD-J对象内的应用程序管理表来进行本地存储器29访问。并且,所谓启动控制是将构成把当前的再现时刻作为生存区间的应用程序的xlet程序读出到工作存储器的控制。图20中的☆1、☆2、☆3将启动控制中的分支目标BD-J对象的通知(1)、应用程序管理表参考(2)、对于Java虚拟机38的启动指示模式化来表示。通过该启动指示, Java虚拟机38从本地存储器29读出xlet程序到工作存储器37(☆5)。  The so-called activation control refers to reading the BD-J object every time the BD-J module as the branch target is notified from the module manager 34, and performs local storage 29 by referring to the application program management table in the BD-J object. access. In addition, the start control is a control to read the xlet program constituting the application program having the current playback time as the life span to the working memory. ☆1, ☆2, and ☆3 in FIG. 20 represent the notification (1) of the branch destination BD-J object in the activation control, the reference to the application management table (2), and the activation instruction to the Java virtual machine 38, and represent them as models. . By this start instruction, the Java virtual machine 38 reads the xlet program from the local memory 29 to the work memory 37 (☆5). the

标题的终止控制有正常终止时的控制和异常终止时的控制。正常控制时的控制,有通过构成标题的应用程序来调用跳转标题API、并向分支控制的主体(模块管理器34)请求向分支目标标题的切换的控制。该终止控制中的将模块管理器34通知模式化表示的是箭头☆6。这里,每次正常终止标题时,也可原样启动构成标题的应用程序。这是因为在分支目标标题中判断是否终止应用程序。在本实施方式中虽然没有较深地涉及到,但是应用程序管理器36进行从BD-ROM向本地存储器29读出Java归档文件(8)的处理。将向该本地存储器29的读出模式化的是☆8。  Termination control of a title includes control for normal termination and control for abnormal termination. The control during the normal control includes calling the jump title API by the application program constituting the title, and requesting the main body of the branch control (module manager 34 ) to switch to the branch target title. Notification to the module manager 34 in this termination control is shown schematically by arrow ☆6. Here, every time the title is normally terminated, the application programs constituting the title may be started as they are. This is because it is judged whether to terminate the application in the branch target header. Although not mentioned in depth in this embodiment, the application manager 36 performs processing of reading the Java archive file ( 8 ) from the BD-ROM to the local storage 29 . The readout to the local memory 29 is modeled as ☆8. the

以上是对应用程序管理器36的说明。接着,参考图21来说明工作存储器37~缺省操作管理器40。  This concludes the description of the application program manager 36 . Next, the work memory 37 to the default operation manager 40 will be described with reference to FIG. 21 . the

工作存储器37是配置了构成应用程序的xlet程序的群区域。工作存储器37本来存在于Java虚拟机3 8内,但是在图21中,为了作图的方便,在Java虚拟机38上层位置描述工作存储器37。工作存储器37上的xlet程序包含EventListner和JMF播放器实例。  The work memory 37 is a group area in which xlet programs constituting application programs are arranged. The working memory 37 originally exists in the Java virtual machine 38, but in FIG. 21, for the convenience of drawing, the working memory 37 is described in the upper layer of the Java virtual machine 38. The xlet program on the working memory 37 contains EventListner and JMF player instances. the

Java虚拟机38将构成应用程序的xlet程序装载在工作存储器37上,对xlet程序进行译码,来执行基于译码结果的处理。如上所述,由于xlet程序包含命令JMF播放器实例生成的方法和命令该JMF播放器实例的执行的方法,所以为了实现通过这些方法命令的处理内容,进行对于下层的控制。若命令JMF播放器实例生成,则Java虚拟机38得到与BD-ROM上的YYYY.MPLS文件相关的JMF播放器实例。另外,若指令JMF播放器实例中的JMF方法的执行,则向BD中间件发出该JMF方法,并置换为BD再现装置对应的应用程序调用。并且,向重放控制引擎32发出置换后的应用程序调用。  The Java virtual machine 38 loads the xlet program constituting the application program on the work memory 37, decodes the xlet program, and executes processing based on the decoding result. As described above, since the xlet program includes a method for instructing the creation of a JMF player instance and a method for instructing the execution of the JMF player instance, the control of the lower layer is performed in order to realize the processing contents instructed by these methods. When commanding to create a JMF player instance, the Java virtual machine 38 obtains the JMF player instance associated with the YYYY.MPLS file on the BD-ROM. Also, when the execution of the JMF method in the JMF player instance is commanded, the JMF method is issued to the BD middleware and replaced with an application call corresponding to the BD playback device. And, a replaced application program call is issued to the playback control engine 32 . the

事件监听管理器39分析通过用户操作生成的事件(键事件),并进行事件的分配。图中的实线箭头◇1、◇2将基于该事件监听管理器39的分配进行模式化来表示。若是SRART、STOP、SPEED等在xlet程序内的Event Listner上登记的键事件,则分配通过BD-J对象间接参考的有关xlet程序的事件。 START、STOP、SPEED是对应于JMF的事件,由于在xlet程序的Event Listner上登记了这些键事件,所以通过本键事件可以进行xlet程序的启动。在键事件是Event Listner未登记的键事件的情况下,将本键事件分配给缺省操作管理器40。这是因为声音切换、角度切换等BD-ROM再现装置中产生的键事件上存在没有在Event Listner上登记的各种事件,即使产生了这些键事件,也执行没有遗漏的处理。  The event monitoring manager 39 analyzes events (key events) generated by user operations, and distributes the events. The solid line arrows ◇1 and ◇2 in the figure are represented in a model based on the allocation of the event listening manager 39 . In the case of key events such as SRART, STOP, SPEED registered on the Event Listner in the xlet program, events related to the xlet program that are indirectly referenced through the BD-J object are dispatched. START, STOP, and SPEED are events corresponding to JMF. Since these key events are registered on the Event Listner of the xlet program, the xlet program can be started through this key event. When the key event is not registered in the Event Listner, the key event is assigned to the default operation manager 40. This is because there are various events that are not registered in the Event Listner among the key events generated in the BD-ROM playback device such as audio switching and angle switching, and even if these key events are generated, processing without omission is performed. the

缺省操作管理器40若从事件监听管理器39分配没有在xlet程序内的Event Listner上登记的键事件,则对重放控制引擎32执行对应于该EventListner未登记事件的应用程序调用。模式化地表示基于该缺省操作管理器40的应用程序调用是图中的箭头◇3。另外,虽然图21中通过事件监听管理器39、缺省操作管理器40来分配Event Listner未登记事件,但是也可以由重放控制引擎32直接接收EventListner未登记事件,来进行再现控制(图中的◇4)。  If the default operation manager 40 distributes a key event not registered on the Event Listner in the xlet program from the event listener manager 39, then the playback control engine 32 executes an application program call corresponding to the Event Listner unregistered event. The application call based on the default operation manager 40 is represented schematically by the arrow ◇3 in the figure. In addition, although the Event Listner unregistered event is distributed by the event monitoring manager 39 and the default operation manager 40 in FIG. 21 , the playback control engine 32 can also directly receive the EventListner unregistered event to carry out playback control (in the figure ◇4). the

(流程图的说明)  (Description of Flowchart)

以上的对于应用程序管理器36的说明不过是涉及其概要。更详细地表示应用程序管理器36的处理的是图22、图23的流程图。之后,参考这些流程图来更详细说明应用程序管理器36的处理过程。  The above description of the application manager 36 is merely an outline. The flowcharts of FIG. 22 and FIG. 23 show the processing of the application program manager 36 in more detail. After that, the processing procedure of the application program manager 36 will be described in more detail with reference to these flowcharts. the

图22是表示基于应用程序管理器36的分支时的控制过程的图。本流程图是启动或终止满足步骤S2~步骤S5构成的条件的应用程序(是指应用程序x)的处理。  FIG. 22 is a diagram showing a control procedure at the time of branching by the application manager 36 . This flowchart is the process of activating or terminating the application program (referred to as the application program x) that satisfies the conditions constituted by steps S2 to S5. the

步骤S2中判断是否存在应用程序x,该应用程序x虽然在分支源标题中为非启动、但在分支目标标题中生存、且分支目标标题中的启动属性是AutoRun属性,并且若存在该应用程序x,则进行对于本地存储器29的高速缓存传感。若高速缓存传感的结果,在本地存储器29上有应用程序x(步骤S7中”是”),则从本地存储器29向工作存储器37读入应用程序x(步骤S8)。若本地存储器29中没有,则从BD-ROM向本地存储器29读入应用程序x后,从本地存储器29向工作存储器37读入应用程序x(步骤S9)。  In step S2, it is judged whether there is an application program x, although the application program x is non-started in the branch source title, but exists in the branch target title, and the startup attribute in the branch target title is the AutoRun attribute, and if the application program x exists x, the cache sensing for the local memory 29 is performed. As a result of the cache sensing, if the application program x exists in the local storage 29 ("Yes" in step S7), the application program x is read from the local storage 29 to the work memory 37 (step S8). If it does not exist in the local storage 29, after the application x is read from the BD-ROM to the local storage 29, the application x is read from the local storage 29 to the work memory 37 (step S9). the

步骤S3中判断是否存在分支源标题中为启动中、且在分支目标标题中 非生存的应用程序x。若存在,则从工作存储器37中删除应用程序x后终止(步骤S10)。  In step S3, it is judged whether there is an application program x that is started in the branch source title and does not exist in the branch target title. If it exists, the application x is deleted from the work memory 37 and terminated (step S10). the

步骤S4中判断是否存在分支源Suspend、分支目标AutoRun或Persistent的应用程序。若存在,则重新开始应用程序x(步骤S11)。  In step S4, it is judged whether there is an application program of branch source Suspend, branch target AutoRun or Persistent. If it exists, restart application x (step S11). the

步骤S5中判断是否存在在分支源标题中为启动中、且分支目标Suspend的应用程序。若存在,则挂起应用程序x(步骤S12)。  In step S5, it is judged whether there is an application program whose branch source title is activated and whose branch target is Suspend. If it exists, suspend application x (step S12). the

每次各应用程序终止时的应用程序管理器36的处理如图23所示。图23是表示应用程序终止处理的处理过程的流程图。该图示出分别对于应终止的多个应用程序重复进行步骤S16~步骤S20的处理的循环处理(步骤S15)。在本循环处理中,应用程序管理器36发出要终止启动中应用程序的终止事件(步骤S16),进行定时器设置(步骤S17),并进入到由步骤S18~步骤S20构成的循环处理。若Event Listner接收到该终止事件,则对应的xlet程序启动终止处理。若终止处理终止,则从工作存储器37中释放该xlet程序,并终止。  The processing of the application program manager 36 every time each application program is terminated is as shown in FIG. 23 . Fig. 23 is a flowchart showing the processing procedure of application termination processing. This figure shows a loop process (step S15 ) in which the processes of step S16 to step S20 are repeated for each of the plurality of application programs to be terminated. In this loop process, the application manager 36 issues a termination event to terminate the running application (step S16), sets a timer (step S17), and proceeds to a loop process consisting of steps S18 to S20. If the Event Listner receives the termination event, the corresponding xlet program starts termination processing. When the termination process is terminated, the xlet program is released from the work memory 37 and terminated. the

在步骤S18~步骤S20的循环处理的继续中,定时器持续计数。在本循环处理中,步骤S18是发送目标应用程序是否终止的判断,若已终止,则终止对该应用程序的处理。步骤S19是定时器是否超时的判断,若超时,则在步骤S20中,从工作存储器37中删除发送目标应用程序来强制终止应用程序。  During the continuation of the loop processing of step S18 to step S20, the timer keeps counting. In this loop processing, step S18 is to judge whether the sending target application program is terminated, and if it is terminated, the processing of the application program is terminated. Step S19 is to judge whether the timer expires. If the timer expires, then in step S20, the sending destination application program is deleted from the working memory 37 to forcibly terminate the application program. the

参考图24来说明以上的模块管理器34的处理。  The processing of the above module manager 34 is explained with reference to FIG. 24 . the

图24是模式地表示应用程序终止的过程的图。该图中的第一级表示应用程序管理器36,第二级表示三个应用程序。图24的第二级、左侧的应用程序表示接收终止事件后,终止处理成功的应用程序。图24的第二级、中间的应用程序表示接收终止事件后,终止处理失败的应用程序。第二级、右侧的应用程序由于没有安装EventListner,故表示不能接收终止事件的应用程序。  Fig. 24 is a diagram schematically showing a procedure for terminating an application program. The first level in the figure represents the application manager 36 and the second level represents the three applications. The application program on the left side of the second level in FIG. 24 indicates an application program that has successfully terminated after receiving the termination event. The middle application program in the second level in FIG. 24 indicates an application program that fails to terminate processing after receiving a termination event. The application on the second level and on the right is an application that cannot receive termination events because EventListner is not installed. the

第一级-第二级的箭头ep1、ep2模式地表示基于应用程序管理器的终止事件发送,箭头ep3模式地表示终止处理启动。  Arrows ep1 and ep2 from the first level to the second level indicate transmission of termination events by the application program manager in a pattern, and arrow ep3 in a pattern indicates activation of termination processing. the

第三级是终止处理成功时的状态转移后的状态,该应用程序通过本身的终止处理来终止。若存在如这些xlet程序那样,在预定期间内有没有终止的应用程序,则应用程序管理器36从工作存储器37中强制去除这些。第四级表示基于应用程序管理器36的强制终止。规定该第四级的强制终止也是应用程序管理器36的一个任务。  The third level is the state after the state transition when the termination processing is successful, and the application program is terminated by its own termination processing. If there are any application programs such as these xlet programs that have not been terminated within a predetermined period, the application program manager 36 forcibly deletes these from the work memory 37 . The fourth level represents forced termination based on the application program manager 36 . It is also a task of the application manager 36 to specify this fourth level of forced termination. the

如上所述,根据本实施方式,由于自动终止在分支源标题中启动并在分支目标标题中不生存的应用程序,所以即使在通过带条件的分支再现复杂地进行的情况下,不会进行超过再现装置的资源的界限的数目的应用程序启动。由于可以保证分支前后的应用程序动作,所以可以更多地发布边再现数字流边执行应用程序的盘内容。  As described above, according to the present embodiment, since the application started in the branch source title and not existing in the branch target title is automatically terminated, even if the playback is performed complicatedly by the conditional branch, no exceeding The number of applications that reproduce the resource limit of the device is started. Since the operation of the application before and after branching can be ensured, more disc contents in which the application is executed while reproducing the digital stream can be distributed. the

(第二实施方式)  (second embodiment)

第一实施方式中应用程序的生存区间与标题时间轴一致,但是第二实施方式提出了将PL时间轴的一部分作为应用程序的生存区间的方案。由于PL时间轴的一部分通过章节来表现,所以通过由章节来描述开始点、终止点,可以规定应用程序的生存区间。图25(a)是表示在PL时间轴上规定生存区间的应用程序管理表的图。图25(a)中,在应用程序管理表中描述了三个应用程序,其中application#2将title#1的Chapter#2到Chapter#3指定为生存区间,并在启动属性上规定了AutoRun。因此,application#2如图25(b)所示,在Chapter#2的起点启动,并在Chapter#3的终点终止。  In the first embodiment, the life span of the application coincides with the title time axis, but in the second embodiment, a part of the PL time axis is proposed as the life span of the application. Since a part of the PL time axis is represented by chapters, by describing the start point and end point by chapters, it is possible to specify the life span of the application. Fig. 25(a) is a diagram showing an application program management table defining life spans on the PL time axis. In FIG. 25( a ), three applications are described in the application management table, among which application#2 specifies Chapter#2 to Chapter#3 of title#1 as the life span, and specifies AutoRun in the startup attribute. Therefore, application#2 starts at the beginning of Chapter#2 and terminates at the end of Chapter#3 as shown in FIG. 25(b). the

另一方面,application#3将title#1的Chapter#4到Chapter#6指定为生存区间。因此,application#3如图25(b)所示,在Chapter#4的起点启动,在Chapter#6的终点终止。  On the other hand, application#3 specifies Chapter#4 to Chapter#6 of title#1 as the survival interval. Therefore, application#3 starts at the beginning of Chapter#4 and terminates at the end of Chapter#6 as shown in FIG. 25(b). the

为了根据这样描述的应用程序管理表进行处理,本实施方式的应用程序管理器36在每次达到通过Plmark指定的章节起始点时,判断是否存在生存区间从该章节起始点开始的应用程序,若存在,则将该应用程序装载到工作存储器37中。  In order to perform processing according to the application management table described in this way, the application manager 36 of this embodiment judges whether there is an application program whose life span starts from the chapter start point every time the chapter start point specified by Plmark is reached, and if exists, then the application is loaded into the working memory 37. the

同样,在每次到达章节起始点时,判断在该章节最近前面的章节中是否存在生存区间终止的应用程序,若存在,则从工作存储器37中释放该应用 程序。  Equally, when arriving at chapter starting point at every turn, judge whether there is the application program that life interval terminates in the chapter before this chapter, if exist, then release this application program from working memory 37. the

若以章节为单位来管理应用程序的生存,则可以以更精细的精度来指定应用程序的生存区间。但是,必须注意在盘内容上可以有时间轴的反向。所谓反向是指通过倒带使时间轴反向行进。若在章节的边界重复进行该反向和行进,则几次进行向工作存储器的装载、废弃,产生了多余的读出负载。因此,在本实施方式中,应用程序的启动时期为进入标题而开始基于重放控制引擎32的通常再现的瞬间。这里PL的再现有通常再现、技巧(trick)再现。所谓技巧再现有快进、倒带、跳下一个(SkipNext)、跳上一个(SkipBack)。在进行该快进、倒带、SkipNext、SkipBack的期间,不开始应用程序启动,而开始通常再现后,开始启动应用程序。在通过以通常再现开始的瞬间为基准,有如上所述的生存区间前后的到来的情况下,不需要重复需要以上的应用程序的启动。另外,也可在生存区间为title的情况下,执行将通常再现开始的瞬间作为应用程序的启动基准的处理。  If the lifetime of the application is managed in units of chapters, the lifetime of the application can be specified with finer precision. However, it must be noted that there can be a time axis inversion on the disc content. The so-called reverse is to make the time axis go backwards by rewinding. If the reverse and forward are repeated at chapter boundaries, loads and discards to the work memory are performed several times, resulting in an unnecessary read load. Therefore, in the present embodiment, the startup timing of the application program is the moment when the normal playback by the playback control engine 32 starts when the title is entered. The playback of PL here includes normal playback and trick playback. The so-called skill reproduction includes fast forward, rewind, skip to the next (SkipNext), and jump to the previous (SkipBack). While the fast-forward, rewind, SkipNext, and SkipBack are being performed, application startup is not started, but after normal playback is started, application startup is started. By using the instant when normal playback starts as a reference, when there are arrivals before and after the live intervals as described above, there is no need to repeat the activation of the above-mentioned application programs. In addition, when the life span is title, processing may be performed using the instant when normal playback starts as a reference for starting the application. the

如上所述,根据本实施方式,由于可以以比PL小的章节为单位来规定应用程序的生成区间,所以可以实现精细的应用程序控制。  As described above, according to the present embodiment, since the generation interval of the application can be specified in units of chapters smaller than the PL, fine application control can be realized. the

(第二实施方式的变形例)  (Modification of the second embodiment)

图25中,向各应用程序添加优先级。该优先级取0~255的值,在应用程序之间资源的使用冲突等冲突了的情况下,每次应用程序管理器36进行将使其中一个应用程序强制终止,或从其中一个应用程序争夺资源的处理时,上述优先级的值成为判断材料。图25的一例中,由于application#1的优先级为255,application#2、application#3的优先级为128,所以在application#1-application#2冲突时,应用程序管理器36进行强制终止优先级低的application#2的处理。  In Fig. 25, priority is added to each application. The priority takes a value from 0 to 255. In the case of resource usage conflicts between applications, each time the application manager 36 executes, one of the applications will be forcibly terminated, or one of the applications will be scrambled. When processing resources, the value of the above priority becomes the judgment material. In the example of FIG. 25, since the priority of application#1 is 255, and the priorities of application#2 and application#3 are 128, when application#1-application#2 conflicts, the application manager 36 performs forced termination priority. The processing of low-level application#2. the

(第三实施方式)  (third embodiment)

由BD-ROM供给的盘内容由可彼此分支的多个标题构成。各标题除了由一个以上的PL和使用该PL后的控制过程构成之外,有仅由对再现装置的控制过程构成的非AV系标题。本实施方式说明该非AV系标题。  The disc content provided by the BD-ROM is composed of a plurality of titles that can branch from each other. In addition to each title consisting of one or more PLs and a control procedure using the PL, there are non-AV titles consisting only of a control procedure for the playback device. This embodiment describes the non-AV title. the

在这种非AV系标题中,问题为怎样来决定标题时间轴。图26(a)表 示从PL时间轴决定的标题时间轴。这时PL时间轴为标题时间轴,在该标题时间轴上决定应用程序的生存区间。在没有作为该基准的PL时间轴的情况下,标题时间轴应如图26(b)、(c)那样来决定。  For such non-AV titles, the problem is how to determine the title time axis. Fig. 26(a) shows the title time axis determined from the PL time axis. In this case, the PL time axis is the title time axis, and the life span of the application is determined on the title time axis. If there is no PL time axis as the reference, the title time axis should be determined as shown in Figs. 26(b) and (c). the

图26(b)表示从主要的应用程序的生存区间决定的标题时间轴。所谓主应用程序是指在标题中将启动属性设定为AutoRun,在标题开始时自动启动的唯一的应用程序,例如,称作启动应用程序的程序相当于此。所谓启动应用程序是指启动其他应用程序的应用程序。  Fig. 26(b) shows the title time axis determined from the life span of the main application. The main application is the only application whose startup attribute is set to AutoRun in the title and is automatically started when the title is started. For example, a program called a startup application corresponds to this. The so-called startup application refers to an application that starts other applications. the

该图26(b)的考虑认为只要主应用程序启动,标题时间轴就继续,若主应用程序终止,则使时间轴终止。图26(c)是表示从多个应用程序的生存区间决定的标题时间轴的图。有这样的情况:在标题的开始点启动的是一个应用程序,但是该应用程序重复进行调用其他应用程序,进一步该应用程序调用其他应用程序的处理。这时,只要其中一个应用程序启动,就认为标题时间轴持续,若任何一个应用程序都没有启动的状态到来,则由此认为标题时间轴终止。这样,若决定非AV系统标题的标题时间轴,无论是AV标题还是非AV系统标题,都可以与标题时间轴的终止同时划一地进行分支到预定的标题的处理。另外,非AV标题中的标题时间轴在与AV标题对比时,不过是假定的想象的时间轴。因此,再现装置可以在非AV标题中的标题时间轴上逆行或定位到任意的位置。  The consideration in FIG. 26(b) is that the title timeline continues as long as the main application is started, and the timeline is terminated when the main application is terminated. Fig. 26(c) is a diagram showing a title time axis determined from the life spans of a plurality of applications. There are cases where one application is started at the start point of the title, but the application repeatedly calls other applications, and the application further calls the other applications. At this time, as long as one of the application programs is started, the title time axis is considered to continue, and if no application program is activated, the title time axis is considered to be terminated. In this way, when the title time axis of a non-AV system title is determined, regardless of whether it is an AV title or a non-AV system title, branching to a predetermined title can be uniformly performed at the same time as the termination of the title time axis. In addition, the title time axis in the non-AV title is merely an assumed imaginary time axis when compared with the AV title. Therefore, the playback device can go backward or locate at any position on the time axis of the title in the non-AV title. the

以上是对于本实施方式中的记录媒体的改进。接着,说明对于本实施方式中的再现装置的改进。  The above is the improvement on the recording medium in this embodiment. Next, improvements to the playback device in this embodiment will be described. the

为了以如上所述的过程来进行标题终止,第三实施方式的应用程序管理器36以如图27所示的处理来进行处理。图27是表示标题再现时的应用程序管理器36的处理过程的流程图。本流程图中为在标题再现中,重复步骤S21~S23的循环结构。  In order to terminate the title in the above-mentioned procedure, the application manager 36 of the third embodiment performs processing as shown in FIG. 27 . FIG. 27 is a flowchart showing the processing procedure of the application manager 36 when reproducing a title. In this flowchart, the loop structure repeats steps S21 to S23 during title playback. the

步骤S21中判断是否调出了标题跳转API,若调出,则向模块管理器34请求向跳转目标标题的分支(步骤S27)。  In step S21, it is judged whether the title jump API has been called, and if called, a branch to the jump target title is requested to the module manager 34 (step S27). the

步骤S22中判断是否存在承担标题内的应用程序调用这样的主应用程序,若存在,则确认其启动的有无(步骤S25)。若没有启动,则解释为“标 题的终止”,向模块管理器34通知终止(步骤S26)。  In step S22, it is determined whether or not there is a main application responsible for invoking the application in the title, and if there is, whether or not it is activated is checked (step S25). If not started, it is interpreted as "termination of the title", and the module manager 34 is notified of termination (step S26). the

步骤S23是没有主应用程序的情况下执行的步骤(步骤S22中”否”),判断是否为没有启动任何应用程序的状态。若是,则同样解释为“标题的终止”,而向模块管理器34通知终止(步骤S26)。  Step S23 is a step executed when there is no main application program ("No" in step S22), and it is judged whether or not any application program is activated. If yes, it is also interpreted as "termination of the title", and the termination is notified to the module manager 34 (step S26). the

如上所述,根据本实施方式,即使是不伴随PL再现的标题,也可进行在应用程序执行中不进行分支,在应用程序执行终止后进行分支的处理。  As described above, according to the present embodiment, even if the title is not reproduced along with the PL, it is possible to execute the process of not branching during the execution of the application, but branching after the execution of the application is terminated. the

(第四实施方式)  (Fourth Embodiment)

本实施方式涉及在BD-ROM上实现与DVD相同的菜单控制的情况的改进。图28(a)是表示通过BD-ROM实现的菜单等级的图。该图中的菜单等级在最上层配置TopMenu,可以从该TopMenu选择下层的TitleMenu、SubTitleMenu、AudioMenu的结构。图中的箭头sw1、2、3模式地表示基于按钮选择的菜单的切换。所谓TopMenu是指配置了接收进行声音选择、字幕选择、标题选择中之一的按钮(图中的按钮sn1、sn2、sn3)的菜单。  This embodiment relates to an improvement in realizing the same menu control on a BD-ROM as on a DVD. Fig. 28(a) is a diagram showing menu levels realized by the BD-ROM. In the menu hierarchy in this figure, a TopMenu is placed on the top layer, and the structure of the TitleMenu, SubTitleMenu, and AudioMenu in the lower layer can be selected from the TopMenu. Arrows sw1 , 2 , and 3 in the figure schematically represent menu switching based on button selection. The "TopMenu" refers to a menu provided with buttons (buttons sn1, sn2, and sn3 in the figure) for receiving one of audio selection, subtitle selection, and title selection. the

所谓TitleMenu是指配置了接受选择视频作品(title)的电影版、选择导演的剪辑(director’s cut)版或选择游戏版等视频作品的选择的按钮的菜单。所谓AudioMenu是指配置了接受用日语或用英语进行声音再现的按钮的菜单,所谓SubTitleMenu是指配置了接受用日语或用英语进行字幕显示的按钮的菜单。  The so-called TitleMenu refers to a menu provided with buttons for accepting the selection of a movie version of a video work (title), selection of a director's cut version, or selection of a game version. AudioMenu is a menu provided with buttons for accepting audio reproduction in Japanese or English, and SubTitleMenu is a menu provided with buttons for accepting subtitle display in Japanese or English. the

图28(b)表示用于使具有这种等级的菜单动作的MOVIE对象。图28(b)中在MovieObject.bdmv中存储了FirstPlayOBJ、TopMenu OBJ、AudioMenu OBJ、SubTitleMenu OBJ。  Fig. 28(b) shows a MOVIE object for operating a menu having this level. In Figure 28(b), FirstPlayOBJ, TopMenu OBJ, AudioMenu OBJ, SubTitleMenu OBJ are stored in MovieObject.bdmv. the

FirstPlay对象(FirstPlay OBJ)是BD-ROM向再现装置装载时自动执行的动态脚本。  The FirstPlay object (FirstPlay OBJ) is a dynamic scenario that is automatically executed when the BD-ROM is loaded into the playback device. the

TopMenu对象(TopMenu OBJ)是控制TopMenu的举动的动态脚本。在用户请求菜单调用时,调用的是该TopMenu对象。TopMenu对象包含根据来自用户的操作来改变TopMenu中的按钮的状态的指令、和根据对于按钮的确定操作来进行分支的分支指令。该分支指令实现从TopMenu向TitleMenu,从TopMenu向SubTitleMenu,从TopMenu向AudioMenu的菜 单切换。  The TopMenu object (TopMenu OBJ) is a dynamic script that controls the actions of the TopMenu. When the user requests a menu call, it is the TopMenu object that is called. The TopMenu object includes an instruction for changing the state of the buttons in the TopMenu according to an operation from the user, and a branch instruction for branching according to a certain operation on the button. This branch instruction implements menu switching from TopMenu to TitleMenu, from TopMenu to SubTitleMenu, and from TopMenu to AudioMenu. the

AudioMenu对象(AudioMenu OBJ)是控制AudioMenu的举动的动态脚本,包含根据来自用户的操作来改变AudioMenu中的按钮的状态的指令、和根据对于按钮的确定操作来更新声音设置的指令。  The AudioMenu object (AudioMenu OBJ) is a dynamic script that controls the behavior of the AudioMenu, including instructions to change the state of the buttons in the AudioMenu according to user operations, and instructions to update the sound settings according to the determined operation of the buttons. the

SubTitleMenu对象(SubTitleMenu OBJ)是控制SubTitleMenu的举动的动态脚本,包含根据来自用户的操作来改变SubTitleMenu中的按钮的状态的指令、和根据对于按钮的确定操作来更新字幕设置用PSR的指令。  The SubTitleMenu object (SubTitleMenu OBJ) is a dynamic script that controls the behavior of the SubTitleMenu, including instructions to change the state of the buttons in the SubTitleMenu according to user operations, and instructions to update the PSR for subtitle setting according to the confirmation operation on the buttons. the

TitleMenu对象(TitleMenu OBJ)是控制TitleMenu的举动的动态脚本,包含改变TitleMenu中的按钮的状态的指令和根据对于按钮的确定操作来进行分支的分支指令。  The TitleMenu object (TitleMenu OBJ) is a dynamic script that controls the actions of the TitleMenu, including instructions for changing the state of the buttons in the TitleMenu and branch instructions for branching according to the determined operation on the buttons. the

通过这些菜单用MOVIE对象,可以实现如在DVD中实现的菜单的举动。以上是与菜单控制有关的MOVIE对象。  Through these MOVIE objects for menus, it is possible to realize the behavior of the menu as realized in DVD. Above is the MOVIE object related to the menu control. the

图29是模式化了索引表和从索引表向各Movie对象的分支的图。该图中左侧表示索引表的内部结构。在本实施方式的索引表中包含FirstPlayINDEX、TopMenuINDEX、Audio MenuINDEX、Subtitle MenuINDEX、titleMenuINDEX、title#1~#mINDEX、title#m+1~Nindex、title#0INDEX。图中的箭头bc1、2模式地表示从Index Table向FirstPlayOBJ的分支、从FirstPlayOBJ向TopMenu的分支,箭头bc3、4、5模式表示从TopMenu向TitleMenu、SubTitleMenu、AudioMenu的分支。箭头bc6、7、8模式地表示从TitleMenu向各Movie对象的分支。  Fig. 29 is a schematic diagram of an index table and branches from the index table to each Movie object. The left side of the figure shows the internal structure of the index table. The index table in this embodiment includes FirstPlayINDEX, TopMenuINDEX, Audio MenuINDEX, Subtitle MenuINDEX, titleMenuINDEX, title#1 to #mINDEX, title#m+1 to Nindex, and title#0INDEX. The arrows bc1 and 2 in the figure represent the branch from Index Table to FirstPlayOBJ and the branch from FirstPlayOBJ to TopMenu, and the patterns of arrows bc3, 4 and 5 represent the branches from TopMenu to TitleMenu, SubTitleMenu and AudioMenu. Arrows bc6, 7, and 8 schematically represent branches from TitleMenu to Movie objects. the

FirstPLayINDEX、TopMenuINDEX、Audio MenuINDEX、SubtitleMenuINDEX、title MenuINDEX分别是对于FirstPLay OBJ、TopMenuOBJ、Audio MenuOBJ、Subtitle MenuOBJ、title MenuOBJ的Index,描述了这些识别符。  FirstPLayINDEX, TopMenuINDEX, Audio MenuINDEX, SubtitleMenuINDEX, and title MenuINDEX are Indexes for FirstPLay OBJ, TopMenuOBJ, Audio MenuOBJ, Subtitle MenuOBJ, and title MenuOBJ respectively, and describe these identifiers. the

Title#1~#mINDEX是BD-ROM中从第一个进入到第m个的title的Index,描述了在这些1到m的title号的选择时作为分支目标的MOVIE对象的识别符(ID)。  Title#1~#mINDEX is the index of the title from the first to the mth title in the BD-ROM, and describes the identifier (ID) of the MOVIE object as the branch target when selecting these title numbers from 1 to m . the

Title#m+1~#nINDEX是BD-ROM中对于从第m+1进入到第n的title 的Index,描述了在这些m+1到n的title号的选择时作为分支目标的BD-J对象的识别符(ID)。  Title#m+1~#nINDEX is the index of the title from m+1 to n in the BD-ROM, and describes the BD-J as the branch target when selecting these title numbers from m+1 to n The object's identifier (ID). the

Title#0INDEX是规定在BD-J对象的强制终止时应作为分支目标的Movie对象或BD-J对象的INDEX。本实施方式中,将对于TopMenuOBJ的识别符存储在该title#0INDEX中。  Title#0INDEX is an INDEX specifying a Movie object or a BD-J object to be a branch destination when the BD-J object is forcibly terminated. In this embodiment, the identifier for TopMenuOBJ is stored in this title#0INDEX. the

图30(a)表示如图29那样描述了Index Table的情况下的分支。由于这样来描述Index Table,所以在将标签title#1~title#m作为分支目标的分支指令的执行时,从title#1~title#m INDEX中取出Movie对象#1~#m的识别符。在将标签title#m+1~title#n作为分支的分支指令的执行时,从title#m+1Index~title#nIndex中取出BD-J对象#m+1~#n的识别符。由于BD-J对象#m+1~#n的识别符是表示标题名的5位数值,所以取出“00001.BD-J、00002.BD-J、00003.BD-J...”,将该标题名的动态脚本读出到存储器中,来执行。其是使用了索引表的分支处理。  FIG. 30( a ) shows a branch when Index Table is described as in FIG. 29 . Since the Index Table is described in this way, the identifiers of the Movie objects #1 to #m are extracted from the title#1 to title#m INDEX when the branch instruction with the labels title#1 to title#m as branch targets is executed. When executing a branch instruction using labels title#m+1 to title#n as a branch, identifiers of BD-J objects #m+1 to #n are extracted from title#m+1Index to title#nIndex. Since the identifiers of BD-J objects #m+1 to #n are 5-digit numerical values representing title names, "00001.BD-J, 00002.BD-J, 00003.BD-J..." are extracted, and The dynamic script of the title name is read into the memory and executed. It is branch processing using an index table. the

图30(b)是表示BD-J对象执行时的强制终止时的分支的图。在强制终止时的分支中,从title#0Index取出识别符,并通过再现装置来执行该识别符的动态脚本。若该识别符为顶端菜单标题的识别符,则在应用程序强制终止时,自动选择顶端菜单OBJ。  Fig. 30(b) is a diagram showing a branch at the time of forced termination at the time of BD-J object execution. In the branch at the time of forced termination, the identifier is extracted from title#0Index, and the dynamic scenario of the identifier is executed by the playback device. If the identifier is the identifier of the top menu title, the top menu OBJ is automatically selected when the application program is forcibly terminated. the

以上是对于本实施方式中的记录媒体的改进。接着,说明对于本实施方式中的再现装置的改进。由于对应于上述的记录媒体的改进,所以再现装置内的模块管理器34以如图31所示的处理过程来进行处理。图31是表示模块管理器34的处理过程的流程图。本流程图构成由步骤S31、步骤S32构成的循环处理,并在步骤S31或步骤S32中之一为”是”时,执行对应的处理。  The above is the improvement on the recording medium in this embodiment. Next, improvements to the playback device in this embodiment will be described. The module manager 34 in the playback device performs processing as shown in FIG. 31 in response to the improvement of the recording medium described above. FIG. 31 is a flowchart showing the processing procedure of the module manager 34 . This flow chart constitutes a loop process consisting of step S31 and step S32, and when one of step S31 or step S32 is "Yes", the corresponding process is executed. the

步骤S31判断是否有标题跳转API的调用。若有标题跳转API的调用,则取得作为分支目标标签的标题号j(步骤S33),并从索引表中的标题号j的索引中取得IDj(步骤S34),而使HDMV模块33或BD-J模块35执行IDj的Movie对象或BD-J对象(步骤S35)。  Step S31 judges whether there is a title jump API call. If there is a call of the title jump API, then obtain the title number j (step S33) as the branch target label, and obtain the IDj (step S34) from the index of the title number j in the index table, and make the HDMV module 33 or BD - The J module 35 executes the Movie object or the BD-J object of IDj (step S35). the

步骤S32判断是否从应用程序管理器36通知标题终止的,若通知(步 骤S32中”是”),则使HDMV模块33或模块管理器34执行构成顶端菜单标题的顶部菜单OBJ(步骤S36)。  Step S32 judges whether to terminate from application program manager 36 notification title, if notification ("yes" in step S32), then make HDMV module 33 or module manager 34 execute the top menu OBJ (step S36) that constitutes the top menu title . the

参考图32来说明基于以上的应用程序管理器36的应用程序强制终止的动作例。这里应再现的标题是包含堆积降落的瓦(tile)片的游戏应用程序的非AV系标题。图32的下级表示由应用程序的生存区间构成的标题时间轴,上级表示标题时间轴中显示的图像。在非AV系标题是游戏应用程序的情况下,在该游戏应用程序的生存区间中,如图32的上段左侧那样,显示游戏应用程序的一画面。若应用程序有错误,而异常终止,则应用程序管理器36根据图23的流程图来使游戏应用程序强制终止,并向模块管理器34通知标题的终止。若通知了标题终止,则模块管理器34分支到顶端菜单标题。这样,显示如图32的上段右侧所示的图像,等待用户的操作。  An example of the operation of the forced termination of the application by the application manager 36 described above will be described with reference to FIG. 32 . The title to be reproduced here is a non-AV title of a game application including stacked tiles. The lower level in FIG. 32 shows the title timeline constituted by the life cycle of the application, and the upper level shows the images displayed on the title timeline. When the non-AV title is a game application, one screen of the game application is displayed in the live area of the game application as shown on the upper left side of FIG. 32 . If the application has an error and terminates abnormally, the application manager 36 terminates the game application forcibly according to the flowchart in FIG. 23 and notifies the module manager 34 of the termination of the title. If the title termination is notified, the module manager 34 branches to the top menu title. In this way, an image as shown on the upper right side of FIG. 32 is displayed, and the user's operation is awaited. the

如上所述,根据本实施方式,在包含程序,但是不包含数字流的非AV系标题终止时,可以进行分支到顶端菜单标题的控制。由此,即使应用程序出错终止,也可避免停机和破坏(bang up)的产生。  As described above, according to the present embodiment, when a non-AV title that includes a program but does not include a digital stream is terminated, control to branch to the top menu title can be performed. As a result, downtime and bang up can be avoided even if the application terminates with an error. the

(第五实施方式)  (fifth embodiment)

涉及BD-J模式中怎样实现与PL再现的同步的改进。在图8(b)的一例中,在Java虚拟机38对命令JMF播放器实例的再现的JMF播放器实例(A.play;)进行译码的情况下,Java虚拟机38调用PL再现API,在调用后,紧接着向应用程序返回表示“成功”的响应。  Improvements related to how synchronization with PL playback is achieved in BD-J mode. In an example of FIG. 8( b), when the Java virtual machine 38 decodes the JMF player instance (A.play;) that instructs the reproduction of the JMF player instance, the Java virtual machine 38 calls the PL playback API, Immediately after the call, a "success" response is returned to the application. the

重放控制引擎32在调用PL再现API时,执行基于PL信息的处理过程。若PL具有两小时的再现时间,则上述的处理持续该两小时的时间。这里成为问题的是Java虚拟机38返回成功响应的时间和重放控制引擎32实际终止处理的时间的间隔。Java虚拟机38由于是作为驱动事件的处理主体,所以在调用之后紧接着返回表示再现成功或再现失败的响应,但是由于基于重放控制引擎32的实际的处理终止在经过2小时后,所以在将访问响应返回应用程序的时间作为基准的情况中,不能感测相当于2小时经过后的处理终结。若在PL再现中进行快进、倒带、Skip,则该2小时的再现期间在2小时前后改变,处理终结的感测更加困难。  The playback control engine 32 executes processing based on PL information when calling the PL playback API. If the PL has a playback time of two hours, the above-described processing continues for the two-hour period. What becomes problematic here is the interval between when the Java virtual machine 38 returns a successful response and when the playback control engine 32 actually terminates processing. Since the Java virtual machine 38 is the processing subject of the driver event, it returns a response indicating playback success or playback failure immediately after the call. When the time taken for the access response to be returned to the application is used as a reference, it is not possible to sense the end of processing after the elapse of two hours. If Fast Forward, Rewind, or Skip is performed during PL playback, the 2-hour playback period changes around 2 hours, making it more difficult to detect the end of the process. the

重放控制引擎32由于在与应用程序孤立的状态下动作,所以在如第三实施方式那样的终止判断中,不能将PL再现的终止解释为标题终止。因此,在本实施方式中,虽然应用程序已经终止,但是只要工作存储器37上存在JMF播放器实例,即,在BD-J模块35掌握展示引擎3 1的控制权的期间,从重放控制引擎32等待再现终止事件。并且,若存在再现终止事件,则解释为标题终止,并为了进行向下一标题的分支,向模块管理器34进行通知。由此,可以将重放控制引擎32终止PL再现的时刻作为标题的终止。  Since the playback control engine 32 operates independently of the application program, it cannot interpret the termination of PL playback as the termination of the title in the termination judgment like the third embodiment. Therefore, in this embodiment, although the application program has been terminated, as long as there is a JMF player instance on the working memory 37, that is, while the BD-J module 35 has control of the presentation engine 31, the playback control engine 32 Waits for the reproduction termination event. And, if there is a playback end event, it is interpreted as the end of the title, and the module manager 34 is notified to branch to the next title. Thus, the time when the playback control engine 32 terminates PL playback can be regarded as the end of the title. the

之后,参考图33~图37的流程图来说明基于重放控制引擎32的具体的控制过程。  Next, a specific control procedure by the playback control engine 32 will be described with reference to the flowcharts in FIGS. 33 to 37 . the

图33是表示基于重放控制引擎32的PL再现控制过程的流程图。该再现过程主要包含对于展示引擎31的控制(步骤S46)和对于BD-ROM驱动器1或HDD17的控制(步骤S48)。将本流程图中作为处理对象的PlayItem设作PlayItem#x。本流程图进行当前PL信息(.mpls)的读取(步骤S41),之后,执行步骤S42~步骤S50的处理。这里,步骤S42~步骤S50在步骤S49为”是”之前,对于构成当前PL信息的各个PI信息,重复进行步骤S43~步骤S50的处理的循环处理。将该循环处理中作为处理对象的PlayItem称作PlayItem#x(PI#x)。该PlayItem#x通过设定为当前PL的头的PlayItem来进行初始化(步骤S42)。上述的循环处理的终止要件是该PlayItem#x是当前PL的最后的PlayItem(步骤S49),若是最后的PlayItem,则将当前PL的下一PlayItem设定为PlayItem#x(步骤S50)。  FIG. 33 is a flowchart showing the PL playback control process by the playback control engine 32. This playback process mainly includes control of the presentation engine 31 (step S46) and control of the BD-ROM drive 1 or HDD 17 (step S48). Let PlayItem to be processed in this flowchart be PlayItem#x. In this flowchart, the current PL information (.mpls) is read (step S41), and then the processing of steps S42 to S50 is executed. Here, steps S42 to S50 repeat the loop processing of steps S43 to S50 for each piece of PI information constituting the current PL information until "YES" in step S49. The PlayItem to be processed in this loop processing is called PlayItem#x (PI#x). This PlayItem#x is initialized by setting it as the head PlayItem of the current PL (step S42). The termination requirement of the above-mentioned loop processing is that the PlayItem#x is the last PlayItem of the current PL (step S49), and if it is the last PlayItem, the next PlayItem of the current PL is set as PlayItem#x (step S50). the

循环处理中重复执行的步骤S43~步骤S50将由PlayItem#x的Clip_information_file_name指定的Clip信息读入到脚本存储器21中(步骤S43),并使用当前Clip信息的Epmap,来将PlayItem#x的In_time转换为I图像地址u(步骤S44),使用当前Clip信息的EP_map来将PlayItem#x的Out_time转换为I图像地址v(步骤S45),并求出通过这些转换得到的地址v的下一I图像之后,将该地址的前一个设定为地址w(步骤S47)。使用这样算出的地址w,来向BD-ROM驱动器1或HDD17命令从I图像地址u到地址w的TS包的读出(步骤S48)。  Repeated steps S43 to S50 in the loop process read the Clip information specified by the Clip_information_file_name of PlayItem#x into the script memory 21 (step S43), and use the Epmap of the current Clip information to convert the In_time of PlayItem#x to I picture address u (step S44), use the EP_map of current Clip information to convert the Out_time of PlayItem#x into I picture address v (step S45), and after obtaining the next I picture of address v obtained by these conversions, The previous address is set as address w (step S47). Using the address w thus calculated, the BD-ROM drive 1 or the HDD 17 is instructed to read the TS packets from the I picture address u to the address w (step S48). the

另一方面,对展示引擎31,命令从当前PLMark的mark_time_stamp到PlayItem#x的Out_time为止的输出(步骤S46)。通过以上的步骤S45~步骤S48,在AVClip中,进行由PlayItem#x指示的部分的再现。  On the other hand, the presentation engine 31 is instructed to output from the mark_time_stamp of the current PLMark to the Out_time of PlayItem#x (step S46). Through the steps S45 to S48 described above, the part indicated by PlayItem#x is played back in the AVClip. the

之后,判断PlayItem#x是否为当前PL的最后的PI(步骤S49)。  After that, it is judged whether or not PlayItem#x is the last PI of the current PL (step S49). the

若PlayItem#x不是当前PL的最后的PI,则将当前PL中的下一PlayItem设定为PlayItem#x(步骤S50),而回到步骤S43。通过重复以上的步骤S43~步骤S50,依次再现构成PL的PI。  If PlayItem#x is not the last PI of the current PL, the next PlayItem in the current PL is set as PlayItem#x (step S50), and returns to step S43. By repeating the above steps S43 to S50, the PIs constituting the PL are sequentially reproduced. the

图34是表示角度切换过程和Skip Back、Skip Next的过程的流程图。本流程图与图33的处理过程并行,重复由步骤S51~S52构成的循环处理。本循环中的步骤S5 1中判断请求角度切换的API是否是从Java虚拟机38调用的,若存在角度切换API的调用,则执行切换当前Clip信息的操作。  Fig. 34 is a flow chart showing the angle switching process and the process of Skip Back and Skip Next. This flowchart is parallel to the processing procedure in FIG. 33, and the loop processing consisting of steps S51 to S52 is repeated. In step S51 in this cycle, judge whether the API of request angle switching is called from Java virtual machine 38, if there is the calling of angle switching API, then perform the operation of switching current Clip information. the

图34的步骤S55是判断步骤,进行PlayItem#x的is_multi_angles是否为ON的判断,所谓is_multi_angles是表示PlayItem#x是否对应于多角度的标志,若步骤S55为”否”,则进入到步骤S53。若步骤S55为”是”,则执行步骤S56~步骤S59。步骤S56~步骤S59将切换后的角度号代入自变量y(步骤S56),并向脚本存储器21读出由PlayItem#x中的第y的Clip_information_file_name指定的Clip信息(步骤S57),使用当前Clip信息的EP_map将当前PTM转换为I图像地址u(步骤S58),并使用当前Clip信息的EP_map来将PLayItem#x的Out_time转换为I图像地址v(步骤S59)。这样,在变化了I图像地址u、v后,进入到步骤S46。由于通过向步骤S46的进入,从其他AVClip读出TS包,所以切换视频内容。  Step S55 of FIG. 34 is a judging step. It is judged whether is_multi_angles of PlayItem#x is ON. The so-called is_multi_angles is a sign indicating whether PlayItem#x corresponds to multi-angles. If step S55 is "No", then proceed to step S53. If step S55 is "Yes", execute steps S56 to S59. Steps S56~step S59 substitute the angle number after switching into the argument y (step S56), and read the Clip information specified by the Clip_information_file_name of the yth Clip_information_file_name in PlayItem#x to the script memory 21 (step S57), use the current Clip information The EP_map of the current PTM converts the current PTM into an I image address u (step S58), and uses the EP_map of the current Clip information to convert the Out_time of PLayItem#x into an I image address v (step S59). In this way, after changing the I picture addresses u and v, the process proceeds to step S46. By going to step S46, TS packets are read from other AVClips, so the video content is switched. the

另一方面,图34的循环中的步骤S52判断是否从Java虚拟机38调用含义为Skip Back/Skip Next的API,若调用,则执行图35的流程图的处理过程。图35是表示调用Skip Back,Skip Next API时的处理过程的流程图。每次执行Skip Back,Skip Next时的处理过程多种多样。注意这里说明的只不过是一例。  On the other hand, step S52 in the cycle of Fig. 34 judges whether to call the API that meaning is Skip Back/Skip Next from Java virtual machine 38, if call, then carry out the processing procedure of the flowchart of Fig. 35. Fig. 35 is a flow chart showing the processing procedure when calling Skip Back, Skip Next API. Each time Skip Back and Skip Next are executed, there are various processing procedures. Note that what is described here is just an example. the

步骤S61通过转换用PSR表示的当前PI号和当前PTM,来得到当前Mark信息。步骤S62判断按下的键是Skip Next键还是Skip Back键,若是 Skip Next键,则在步骤S63中将方向标志设定为+1,若为Skip Back键,则在步骤S64中将方向标志设定为-1。  Step S61 obtains the current Mark information by converting the current PI number represented by PSR and the current PTM. Step S62 judges whether the key pressed is the Skip Next key or the Skip Back key, if it is the Skip Next key, then in step S63 the direction mark is set to +1, if it is the Skip Back key, then in the step S64 the direction mark is set Set to -1. the

步骤S65将在当前PLMark的号上补上了方向标志的值后的号设定为当前PLMark的号。这里,若是SkipNext键,则将方向标志设定为+1,所以增加当前PLMark。若是Skip Next键,则将方向标志设为-1,所以减去当前PLMark。  Step S65 sets the current PLMark number to the current PLMark number with the value of the direction flag added. Here, if it is the SkipNext key, the direction mark is set to +1, so the current PLMark is increased. If it is the Skip Next key, the direction flag is set to -1, so the current PLMark is subtracted. the

步骤S66中,将在当前的PLMark的ref_to_PlayItem_Id上描述的PI设为PlayItem#x,在步骤S67中,读入由PlayItem#x的Clip_information_file_name指定的Clip信息。在步骤S68中,使用当前Clip信息的EP_map,来将当前PLMark的mark_time_stamp转换为I图像地址u。另一方面,在步骤S69中,使用当前Clip信息的EP_map将PlayItem#x的Out_time转换为I图像地址v。步骤S70在向展示引擎31命令从当前PLMark的mark_time_stamp到PlayItem#x的Out_time的输出后,进入到图33的步骤S47。这样,在变化I图像地址u、v后,命令其他部分的再现后,向步骤S47进入,所以变为从其他AVClip中读出TS包,实现切换视频内容。  In step S66, the PI described in ref_to_PlayItem_Id of the current PLMark is set to PlayItem#x, and in step S67, the Clip information specified by the Clip_information_file_name of PlayItem#x is read. In step S68, the EP_map of the current Clip information is used to convert the mark_time_stamp of the current PLMark into an I picture address u. On the other hand, in step S69, the Out_time of PlayItem #x is converted to the I picture address v using the EP_map of the current Clip information. Step S70 commands the presentation engine 31 to output from the mark_time_stamp of the current PLMark to the Out_time of PlayItem#x, and then proceeds to step S47 in FIG. 33 . Like this, after changing the I picture address u, v, after ordering the reproduction of other parts, enter into step S47, so become and read out TS packet from other AVClip, realize switching video content. the

图36是表示基于展示引擎31的处理过程的细节的流程图。本流程图在将I图像的PTS设定为当前PTM后(步骤S71),执行由步骤S72~步骤S77构成的循环处理。  FIG. 36 is a flowchart showing the details of the processing procedure by the presentation engine 31 . In this flowchart, after the PTS of the I picture is set as the current PTM (step S71), a loop process consisting of steps S72 to S77 is executed. the

接着,说明步骤S72~步骤S77中的循环处理。该循环处理重复相当于当前PTM的图像、音频的再现输出和当前PTM的更新。本循环处理中的步骤S76规定循环处理的终止要件。即,步骤S76将当前PTM为PI#x的Out_time情况作为循环处理的终止要件。  Next, the loop processing in step S72 to step S77 will be described. This loop process repeats reproduction output of images and audio corresponding to the current PTM, and updating of the current PTM. Step S76 in this loop process specifies the termination requirements of the loop process. In other words, step S76 regards the fact that the current PTM is Out_time of PI#x as the termination requirement of the loop processing. the

步骤S73判断是否从Java虚拟机38调用快进API或快倒API。若是,则在步骤S78中进行快进或快倒的判断,若是快进,则将下一I图像的PTS设作当前PTM(步骤S79)。这样,通过将当前PTM设定为下一I图像的PTS,可以在一秒中很快地再现AVClip。由此,AVClip以2倍速等沿顺方向很快再现。若是快倒,则判断当前PTM是否达到PlayItem#x的Out_time(步骤S80)。若没有达到,则将前一个I图像的PTS设定为当前PTM(步 骤S81)。通过这样将读出端地址A设作前一个的I图像,可以沿后方向在一秒内很快再现AVClip。由此,以2倍速等沿逆方向来再现AVClip。另外,执行快进、倒带时的处理过程多种多样。注意这里说明的只不过是一例。  Step S73 judges whether to call the fast-forward API or the fast-reverse API from the Java virtual machine 38 . If so, then in step S78, the judgment of fast forward or fast rewind is carried out, if fast forward, then the PTS of the next I picture is set as the current PTM (step S79). In this way, by setting the current PTM as the PTS of the next I picture, an AVClip can be reproduced quickly within one second. As a result, the AVClip is quickly reproduced in the forward direction at double speed or the like. If fast rewind, it is judged whether the current PTM has reached the Out_time of PlayItem#x (step S80). If not reached, then the PTS of the previous I picture is set as the current PTM (step S81). By setting the read-side address A as the previous I-picture in this way, an AVClip can be quickly reproduced within one second in the backward direction. As a result, the AVClip is played back in the reverse direction at double speed or the like. In addition, there are various processing procedures for performing fast forward and rewind. Note that what is described here is just an example. the

步骤S74判断是否调用菜单调用API,若调用,则挂起当前的再现处理(步骤S82),执行菜单处理用菜单程序(步骤S83)。通过以上的处理,在进行了菜单调用的情况下,在中断再现处理后,执行菜单显示用的处理。  Step S74 judges whether the menu call API is called, and if called, suspends the current playback process (step S82), and executes the menu program for menu processing (step S83). Through the above processing, when the menu is called, the processing for displaying the menu is executed after the playback processing is interrupted. the

步骤S75通过Syn_PlayItem_id判断是否存在指定了PlayItem#x的SubPlayItem#y,若存在,则进入到图37的流程图。图37是表示SubPlayItem的再现过程的流程图。本流程图中,首先在步骤S86中,判断当前PTM是否是SubPlayItem#y的sync_start_of_PlayItem。若这样,则在步骤S93中通知重放控制引擎32进行基于SubPlayItem#y的再现处理。  Step S75 judges whether there is a SubPlayItem#y specifying PlayItem#x by Syn_PlayItem_id, and if so, proceeds to the flowchart of FIG. 37 . Fig. 37 is a flowchart showing the playback procedure of SubPlayItem. In this flow chart, first in step S86, it is judged whether the current PTM is sync_start_of_PlayItem of SubPlayItem#y. If so, in step S93, the playback control engine 32 is notified to perform playback processing based on SubPlayItem#y. the

图37的步骤S87~步骤S92是表示基于SubPlayItem#y的再现处理的流程图。  Steps S87 to S92 in FIG. 37 are flowcharts showing playback processing based on SubPlayItem#y. the

在步骤S87中,读入通过SubPlayItem#y的Clip_information_file_name指定的Clip信息。在步骤S88中,使用当前Clip信息的EP_map,将SubPlayItem#y的In_time转换为地址α。另一方面,在步骤S89中,使用当前Clip信息的EP_map,将SubPlayItem#y的Out_time转换为地址β。步骤S90向译码器命令从SubPlayItem#y的In_time到SubPlayItem#y的Out_time的输出。求出通过这些转换得到的地址β的下一I图像,并将该地址的前一个设作地址γ(步骤S91),使用这样算出的地址γ,向BD-ROM驱动器1或HDD17命令从SubClip#z的地址α到地址γ的TS包的读出(步骤S92)。  In step S87, the Clip information specified by Clip_information_file_name of SubPlayItem#y is read. In step S88, the In_time of SubPlayItem#y is converted into an address α using the EP_map of the current Clip information. On the other hand, in step S89, the Out_time of SubPlayItem#y is converted to the address β using the EP_map of the current Clip information. Step S90 instructs the decoder to output from In_time of SubPlayItem#y to Out_time of SubPlayItem#y. Find the next I-picture at address β obtained by these conversions, and set the previous address as address γ (step S91), and use the address γ calculated in this way to command BD-ROM drive 1 or HDD 17 from SubClip# Reading of TS packets from address α to address γ of z (step S92). the

另外,回到图33来进行重放控制引擎32的处理的说明的继续。步骤S53是基于展示引擎31的再现控制是否完成的判断,对于最后的PlayItem#x,只要进行图36的流程图的处理,步骤S53成为”否”。图36的流程图的处理终止后,步骤S53才变为”是”,并进入到步骤S54。步骤S54是向Java虚拟机38的再现终止事件的输出,通过该输出,Java虚拟机38可以知道两个小时的再现时间的经过。  In addition, return to FIG. 33 to continue the description of the processing of the playback control engine 32 . Step S53 is based on the judgment of whether playback control by the presentation engine 31 is completed, and if the processing of the flowchart in FIG. 36 is performed for the last PlayItem#x, the result of step S53 is "No". After the processing of the flowchart in FIG. 36 is terminated, step S53 becomes "Yes", and the process proceeds to step S54. Step S54 is an output of a playback termination event to the Java virtual machine 38, and the Java virtual machine 38 can know the lapse of the playback time of two hours through the output. the

以上是本实施方式中的重放控制引擎32、展示引擎31的处理。接着说明本实施方式中应用程序管理器36的处理过程。图38是表示第五实施方式的应用程序管理器36的处理过程的流程图。  The above is the processing of the reproduction control engine 32 and the presentation engine 31 in this embodiment. Next, the processing procedure of the application program manager 36 in this embodiment will be described. FIG. 38 is a flowchart showing the processing procedure of the application manager 36 of the fifth embodiment. the

图38的流程图改进了图27的流程图。其改进点是,在步骤S21-步骤S22之间追加了步骤S24,在该步骤S24为”是”时,存在所执行的步骤S101。  The flowchart of FIG. 38 improves the flowchart of FIG. 27 . The point of improvement is that step S24 is added between step S21-step S22, and step S101 is executed when step S24 is "Yes". the

步骤S24判断工作存储器37中是否存在JMF播放器实例,若不存在,则进入到步骤S22。若存在,则进入到步骤S101。步骤S101判断是否从重放控制引擎32输出了再现终止事件,若输出了,则在消除工作存储器中的Java播放器实例后(步骤S102),向模块管理器34通知标题终止(步骤S26)。若没有通知,则重复由步骤S21~步骤S24构成的循环处理。  Step S24 judges whether there is a JMF player instance in the working memory 37, if not, proceed to step S22. If it exists, go to step S101. Step S101 judges whether a playback termination event has been output from the playback control engine 32, and if so, the module manager 34 is notified of the title termination (step S26) after eliminating the Java player instance in the work memory (step S102). If there is no notification, the loop processing consisting of steps S21 to S24 is repeated. the

在以上的流程图中,只要在工作存储器37上存在JMF播放器实例(步骤S24中为”是”),就跳过步骤S22、步骤S23。因此,例如,即使所有的应用程序终止,也解释为标题继续中。  In the above flowchart, as long as there is a JMF player instance on the work memory 37 ("Yes" in step S24), step S22 and step S23 are skipped. Therefore, for example, even if all the applications are terminated, it is interpreted that the title is continuing. the

如上这样,根据本实施方式,应用程序管理器36可以把握两个小时的再现时间的经过时刻,所以可以实现在PL再现的终止条件上显示菜单,并根据对于该菜单的操作来分支到其他标题的控制。  As described above, according to the present embodiment, the application manager 36 can grasp the elapsed time of the playback time of two hours, so that the menu can be displayed on the termination condition of PL playback, and branching to other titles can be realized according to the operation on the menu. control. the

(第六实施方式)  (sixth embodiment)

第六实施方式涉及在BD-J对象上设置了数据管理表的改进。  The sixth embodiment relates to an improvement in which a data management table is set on a BD-J object. the

数据管理表(DMT)是表示在其标题时间轴上使应装载到本地存储器29上的Java归档文件与读入属性和读入优先级对应的表。所谓本地存储器29中的生存是指可从本地存储器29中读出构成该应用程序的Java归档文件,并传送到Java虚拟机38内的工作存储器37的状态。图39是表示数据管理表的一例的图。如该图所示,数据管理表表示应用程序的“生存区间”、识别具有该生存区间的应用程序的“applicationID”和该应用程序的“读入属性”、“读入优先级”。  The data management table (DMT) is a table showing that Java archive files to be loaded on the local storage 29 are associated with read attributes and read priorities on the title time axis. The existence in the local storage 29 means that the Java archive file constituting the application program can be read from the local storage 29 and transferred to the working memory 37 in the Java virtual machine 38 . Fig. 39 is a diagram showing an example of a data management table. As shown in the figure, the data management table shows the "lifetime" of the application, the "applicationID" for identifying the application having the lifecycle, and the "read attribute" and "read priority" of the application. the

如上所述,应用程序管理表中存在称作生存区间的概念,数据管理表中也存在相同的生存区间的概念。将与应用程序管理表相同的概念设置在数据管理表中,看上去认为浪费,但是其有含义。  As described above, the application management table has a concept called a life span, and the data management table also has the same concept of a life span. Setting the same concept as the application management table in the data management table may seem wasteful, but it has meaning. the

图40是表示BD-J对象假定的执行模型的图。该图中的执行模型由BD-ROM、本地存储器29、Java虚拟机38构成,表示BD-ROM、本地存储器29、工作存储器37三者的关系。箭头my1表示BD-ROM→本地存储器29之间的读入,箭头my2表示本地存储器29→工作存储器37之间的读入。箭头上的注解表示在怎样的定时下进行这些读取。基于注解,BD-ROM→本地存储器29之间的读入是所谓的“先读”,必须在需要应用程序之前的时刻进行。  Fig. 40 is a diagram showing an execution model assumed by a BD-J object. The execution model in this figure is composed of BD-ROM, local storage 29, and Java virtual machine 38, and shows the relationship among BD-ROM, local storage 29, and work memory 37. Arrow my1 indicates reading from BD-ROM → local storage 29 , and arrow my2 indicates reading from local storage 29 → work memory 37 . Notes on the arrows indicate at what timing these reads were performed. Based on the note, the reading between the BD-ROM → the local storage 29 is a so-called "pre-reading", which must be performed before the application program is needed. the

另外,若基于注解,则清楚在需要应用程序时进行本地存储器29→工作存储器37之间的读入。所谓“需要时”是指应用程序的生存区间到来时刻(1)和从其他应用程序或应用程序管理器36指示了应用程序的调用的时刻(2)。  In addition, based on the annotation, it is clear that reading between the local storage 29→work storage 37 is performed when the application program is required. "When needed" refers to the time (1) when the lifetime of the application program arrives and the time (2) when another application program or the application manager 36 instructs the call of the application program. the

箭头my3表示工作存储器37中的应用程序的占有区域的释放,箭头my4表示本地存储器19中的应用程序的占有区域的释放。箭头上的注解表示在哪个定时上进行这些读入。若基于注解,则明白与应用程序终止同时进行工作存储器37上的释放。另一方面,在对于Java虚拟机38来说不需要的时刻进行本地存储器29上的释放。所谓不需要的时刻不是“终止时刻”。是指“终止后,没有重新启动的可能性的时刻”,即,该title终止的时刻。从应用程序管理表中的生存区间来判断上述的读入·释放中工作存储器37中的释放时刻。但是不能对“需要应用程序之前的时刻”、“终止后,没有重新启动的可能性的时刻”进行规定。因此,在授权阶段中,由于在盘内容整体的时间轴上规定了该时刻,所以在本实施方式中,将各应用程序生存的区间描述在与应用程序管理表不同的数据管理表上。即,将“需要应用程序之前的时刻”定义为数据管理表中的生存区间的始点,将“终止后,没有重新启动的可能性的时刻”定义为数据管理表的终点,从而可以在授权时规定上述本地存储器29上的存储内容的迁移。其是数据管理表的描述意义。  Arrow my3 indicates release of the area occupied by the application program in the work memory 37 , and arrow my4 indicates release of the area occupied by the application program in the local storage 19 . Notes on the arrows indicate at which timing these readings are performed. Based on the annotation, it is clear that the work memory 37 is released simultaneously with the termination of the application program. On the other hand, the release on the local storage 29 is performed when the Java virtual machine 38 does not need it. The so-called unnecessary moment is not the "end moment". It refers to "the moment when there is no possibility of restart after termination", that is, the moment when the title terminates. The above-mentioned release time in the read-in/release work memory 37 is judged from the life span in the application program management table. However, the "time before the application is required" and "the time when there is no possibility of restarting after termination" cannot be specified. Therefore, in the authorization stage, since the time is defined on the time axis of the entire disc content, in this embodiment, the interval in which each application exists is described in a data management table different from the application management table. That is, by defining "the time before the application is required" as the start point of the life span in the data management table, and "the time when there is no possibility of restart after termination" as the end point of the data management table, it is possible to Migration of stored content on the above-mentioned local storage 29 is specified. It is the descriptive meaning of the data management table. the

说明基于数据管理表的本地存储器29生存区间的描述。这里要制作的盘内容由三个标题(title#1、titile#2、title#3)构成,这些标题的时间轴上,认为要以如图41(b)所示的定时,使用本地存储器29。这时,在title#1 时间轴的开始点中将构成application#1、application#2的Java归档文件读入到本地存储器29中,在title#1时间轴的继续中,使application#1、application#2常驻在本地存储器29上。并且,在title#2时间轴的起始点,从本地存储器29中释放构成application#1的Java归档文件,并代替此,将构成application#3的Java归档文件读入到本地存储器29中,而进行常驻(之后,构成应用程序的Java归档文件与应用程序同样地处理)。这时的数据管理表的描述如图41(a)那样,通过与其生存区间对应地描述应用程序的applicationID,来表现应在本地存储器29中常驻的应用程序。图41(a)中,可以看出与title#1对应地来描述application#1的applicationID,与title#1、title#2对应地来描述application#2的applicationID,与title#3对应地来描述application#3的applicationID。由此,通过授权承担者来规定本地存储器29占有的时间迁移。  The description of the life span of the local storage 29 based on the data management table will be described. The content of the disk to be created here is composed of three titles (title#1, title#2, title#3). On the time axis of these titles, it is considered that the local storage 29 should be used at the timing shown in FIG. 41(b). . At this time, the Java archive files constituting application#1 and application#2 are read into the local storage 29 at the start point of the title#1 time axis, and application#1 and application #2 is resident on local storage 29 . And, at the starting point of the time axis of title#2, the Java archive file constituting application#1 is released from the local storage 29, and instead of this, the Java archive file constituting application#3 is read into the local storage 29 to perform resident (afterwards, the Java archive that constitutes the application is handled in the same manner as the application). The description of the data management table at this time expresses the application program that should be resident in the local storage 29 by describing the application ID of the application program in association with the life span as shown in FIG. 41( a ). In Figure 41(a), it can be seen that the applicationID of application#1 is described corresponding to title#1, the applicationID of application#2 is described corresponding to title#1 and title#2, and the applicationID of application#2 is described corresponding to title#3 applicationID of application#3. Thus, the time transition occupied by the local storage 29 is defined by the authorized person. the

作为数据管理表、应用程序管理表的组合,最好在应用程序管理表中规定的生存区间为小的再现单位,在数据管理表中规定的生存区间为大的再现单位。大的再现单位最好是标题、PL这样的非无缝的再现单位。另一方面,作为小的再现单位,最好是如PL内的章节那样的无缝的再现单位。若按每个标题、PL来定义应用程序的生存区间,由于应用程序存在于工作存储器29上,所以在其标题的再现中为无论何时都可取出应用程序的状态。若这样,由于即使精细地定义应用程序的生存区间,也可立即将应用程序读出到虚拟机上的工作存储器上,所以即使频繁进行应用程序的启动·终止,也可实现平滑地执行应用程序。  As a combination of the data management table and the application management table, it is preferable that the life span specified in the application management table be a small reproduction unit, and the life span defined in the data management table be a large reproduction unit. The large playback unit is preferably a non-seamless playback unit such as title or PL. On the other hand, as a small playback unit, a seamless playback unit such as a chapter in the PL is preferable. If the life span of the application program is defined for each title and PL, since the application program exists in the work memory 29, the application program can be retrieved at any time during the reproduction of the title. In this way, even if the life span of the application program is finely defined, the application program can be immediately read to the work memory on the virtual machine, so even if the application program is frequently started and terminated, the application program can be executed smoothly. . the

接着,说明读入属性。  Next, the read attribute will be described. the

图2中,以Java归档文件记录在与AVClip不同的记录区域上为前提。但是,其不过是一例。Java归档文件存在嵌入到BD-ROM中AVClip所占有的记录区域的情况。该嵌入的方式有循环(carousel)、交叉单元化两种。  In FIG. 2, it is assumed that the Java archive is recorded in a recording area different from that of the AVClip. However, this is just an example. The Java archive file may be embedded in the recording area occupied by the AVClip in the BD-ROM. There are two types of embedding methods: carousel and cross unitization. the

这里所谓“循环”是指为实现对话广播而转换为重复同一内容的广播方式。BD-ROM虽然没有存储广播的数据,但是在本实施方式中,模仿循环的广播形式来存储JAVA归档文件。图42是表示基于循环的Java归档文件嵌入的图。第一级是在AVClip中嵌入的Java归档文件,第二级表示分段化。 第三级表示TS包化,第四级表示构成AVClip的TS包串。将这样分段化、TS包化的数据(图中的“D”)嵌入到AVClip中。通过循环,在AVClip中多路复用的Java归档文件在每次读出时,低频读出。由于该低频的读出需要大致2~3分钟这样的长时间,所以再现装置花费2~3分钟来读入Java归档文件。      The so-called "circulation" here refers to a broadcasting method that is converted to repeat the same content in order to realize dialogue broadcasting. Although the BD-ROM does not store broadcast data, in this embodiment, a JAVA archive file is stored in imitation of a cyclic broadcast format. Fig. 42 is a diagram showing loop-based Java archive embedding. The first level is the Java archive embedded in the AVClip, and the second level represents fragmentation. The third level represents TS packetization, and the fourth level represents the TS packet string that constitutes the AVClip. The segmented and TS-packetized data ("D" in the figure) is embedded in an AVClip. Java archives multiplexed in AVClip are read in low frequency each time they are read by looping. Since this low-frequency reading takes about 2 to 3 minutes, the playback device takes 2 to 3 minutes to read the Java archive file. ``

图43表示基于交叉的Java归档文件嵌入的图。第一级是应嵌入的AVClip,第二级是在AVClip中交叉的Java归档文件,第三级是BD-ROM的记录区域中的AVClip配置。如该图所示,应嵌入在流中的Java归档文件进行交叉后,记录在形成构成AVClip的XXXXX.m2ts的分割部分(图中的AVClip2/4,3/4)的间隔上。通过交叉在AVClip上多路复用的Java归档文件,与循环比较,以高频带读出。由于是该高频带的读出,所以再现装置在较短期间读入Java归档文件。  Figure 43 shows a diagram of cross-based Java archive embedding. The first level is the AVClip to be embedded, the second level is the Java archive file interleaved with the AVClip, and the third level is the AVClip configuration in the recording area of the BD-ROM. As shown in the figure, the Java archive files to be embedded in the stream are interleaved and recorded at the intervals forming the divisions (AVClip2/4, 3/4 in the figure) of XXXXX.m2ts constituting the AVClip. By interleaving Java archives multiplexed on AVClip, read out in high frequency band compared with loop. Since this high frequency band is read, the playback device reads the Java archive file in a short period of time. the

不预先装载循环·交叉后的Java归档文件。在当前的再现时刻到达BD-ROM中的AVClip的记录区域中的、嵌入了循环·交叉后的Java归档文件的部分时,装载到再现装置的本地存储器29中。Java归档文件的记录形态除了图2所示的形态之外,有图42、图43(a)所示的形态,所以如图43(b)所示那样来设置读入属性。如图43(b)所示,读入属性有表示在标题再现之前、并向本地存储器29读入的“Preload”、和表示在标题再现中以循环方式读入的“Load.Carousel”、以及表示在标题再现中以交叉方式读入的“Load.InterLeave”。读入属性中用后缀来表现循环或交叉,但是也可省略。  The Java archive file after cycle and crossover is not loaded in advance. When the current playback time reaches the portion of the AVClip recording area in the BD-ROM in which the looped/interleaved Java archive is embedded, it is loaded into the local storage 29 of the playback device. The recording form of the Java archive file has the forms shown in FIG. 42 and FIG. 43(a) in addition to the form shown in FIG. 2, so the read attribute is set as shown in FIG. 43(b). As shown in FIG. 43(b), the read attributes include "Preload" indicating that the title is loaded into the local storage 29 before title playback, "Load. Indicates "Load.InterLeave" that is loaded in an interleaved manner during Title playback. A suffix is used in the read attribute to represent a cycle or intersection, but it can also be omitted. the

参考图44来说明数据管理表中的生存区间的具体的描述例。图44(a)是表示数据管理表的一例的图。图44(b)是表示基于该数据管理表的分配的本地存储器29的存储内容的变化的图。该图在纵轴方向上表示本地存储器29中的占有区域,横轴为一个标题内的PL时间轴。由于数据管理表中,application#1描述为一个标题内的PL时间轴整体为生存区间,所以在该标题的Chapter#1~Chapter#5中占有本地存储器29内的区域。application#2描述为在数据管理表中使标题内的PL#1中的Chapter#1~Chapter#2为生存区间,所以在该标题的Chapter#1~Chapter#2中占有本地存储器29内 的区域。由于application#3描述为在数据管理表中使标题内的PL#1中的Chapter#4~Chapter#5为生存区间,所以在该标题的Chapter#4~Chapter#5中占有本地存储器29内的区域。结束以上对数据管理表中的生存区间的说明。  A specific description example of the life span in the data management table will be described with reference to FIG. 44 . Fig. 44(a) is a diagram showing an example of a data management table. FIG. 44(b) is a diagram showing changes in the storage content of the local storage 29 based on the assignment of the data management table. In this figure, the vertical axis represents the occupied area in the local memory 29, and the horizontal axis represents the PL time axis within one title. In the data management table, application#1 is described as the life span of the PL time axis in one title as a whole, so Chapter#1 to Chapter#5 of the title occupy the area in the local memory 29 . application#2 is described as making Chapter#1~Chapter#2 in PL#1 in the title the life range in the data management table, so Chapter#1~Chapter#2 in the title occupies the area in the local storage 29 . Since application#3 is described as having Chapter#4-Chapter#5 in PL#1 in the title as the live range in the data management table, Chapter#4-Chapter#5 in the title occupies the area in the local storage 29. area. This concludes the above description of the life span in the data management table. the

接着说明读入优先级。所谓读入优先级是指决定对于向本地存储器29的读入的优劣的优先级。读入优先级有多个值。在想要设置两个等级的优劣的情况下,将表示强制(Mandatory)的值、表示可选(optional)的值设定为读入优先级。这时,Mandatory是指高的读入优先级,optional是指低的读入优先级。在想要设置三个等级的优劣的情况下,将表示Mandatory的值、表示optional:high、optional:low的值设定为读入优先级。Mandatory表不最高的读入优先级,optional:high表示中等的读入优先级,optional:low表示最低的读入优先级。参考图45(a)、(b)来说明数据管理表中的读入优先级的具体的描述例。在该具体例中,假定的本地存储器29的存储器规模如图45(a)所示。图45(a)是对比表示新旧再现装置中的本地存储器29的存储器规模的图。箭头mkl表示旧再现装置中的存储器规模,箭头mk2表示新再现装置中的存储器规模。根据该箭头的对比,假定新再现装置中的本地存储器29的存储器规模与旧再现装置的存储器规模相比为三倍以上的状态。这样,在存储器规模有偏差的情况下,应用程序分类为如图45所示那样的两个组。第一个无论是什么样的存储器规模都应读入的应用程序(#1,#2)。第二个是不希望旧再现装置的读入,但是希望新再现装置的读入的应用程序(#3,#4)。若将要读入的应用程序分类为这两个组,则在属于前者的应用程序上设置读入优先级=Mandatory,并在属于后者的应用程序上设置读入优先级=Optional。图45(b)是表示设置了读入优先级的数据管理表的一例的图。若这样来设置数据管理表后,将application#1~application#4记录在BD-ROM上,则保证了一切的存储器规模的再现装置上的再现,同时在存储器规模大的再现装置上,可以使再现装置再现利用了更大的大小的数据的应用程序。  Next, the read priority will be described. The reading priority refers to a priority for determining whether reading into the local storage 29 is good or bad. There are multiple values for the read priority. When it is desired to set the superiority and inferiority of two levels, a value indicating mandatory (Mandatory) and a value indicating optional (optional) are set as the reading priority. At this time, Mandatory refers to a high read priority, and optional refers to a low read priority. When it is desired to set the superiority and inferiority of three levels, a value indicating Mandatory, a value indicating optional: high, and optional: low is set as the reading priority. Mandatory indicates the highest read priority, optional: high indicates the medium read priority, and optional: low indicates the lowest read priority. A specific description example of the read priority in the data management table will be described with reference to FIGS. 45( a ) and ( b ). In this specific example, the assumed memory size of the local storage 29 is as shown in FIG. 45(a). FIG. 45(a) is a diagram showing a comparison of the memory sizes of the local storage 29 in the old and new playback devices. Arrow mk1 indicates the memory size of the old playback device, and arrow mk2 shows the memory size of the new playback device. According to the comparison of the arrows, it is assumed that the memory size of the local storage 29 in the new playback device is more than three times the memory size of the old playback device. In this way, when the memory size varies, the application programs are classified into two groups as shown in FIG. 45 . The first application (#1, #2) that should be read regardless of the memory size. The second one is an application program (#3, #4) that does not want to be loaded by the old playback device, but wants to be loaded by the new playback device. If the applications to be read are classified into these two groups, the read priority=Mandatory is set on the application belonging to the former, and the read priority=Optional is set on the application belonging to the latter. Fig. 45(b) is a diagram showing an example of a data management table in which read priorities are set. If the data management table is set in this way, and application#1 to application#4 are recorded on the BD-ROM, the playback on all playback devices with a memory size can be guaranteed, and at the same time, it can be used on a playback device with a large memory size. The playback device plays back an application using data of a larger size. the

以上是对于本实施方式的记录媒体的改进。接着说明对于本实施方式中 的再现装置的改进。由于对应于上述的记录媒体的改进,所以应用程序管理器36以图46所示的处理过程来进行处理。  The above is the improvement on the recording medium of this embodiment. Next, improvements to the playback device in this embodiment will be described. The application program manager 36 performs processing in the processing procedure shown in FIG. the

图46是表示基于应用程序管理器36的预装载控制的处理过程的图。本流程图构成如下的循环处理:在读入应再现的标题中的数据管理表(步骤S111)、在数据管理表中具有最高的读入优先级,同时,将applicaitonID最小的应用程序设为应用程序i后(步骤S112),在经过了步骤S113、步骤S114的判断后,重复进行将应用程序i预装载到本地存储器29上(步骤S115)的处理,直到判断为步骤S116为”否”和步骤S117为”否”。  FIG. 46 is a diagram showing the processing procedure of the preload control by the application program manager 36 . This flow chart constitutes a loop process in which the data management table in the title to be reproduced is read (step S111), the data management table has the highest reading priority, and at the same time, the application with the smallest applicaitonID is set as the application After program i (step S112), after passing through the judgment of step S113, step S114, repeat the processing that application program i is preloaded on the local memory 29 (step S115), until it is judged that step S116 is "No" And step S117 is "NO". the

步骤S113判断应用程序i的读入属性是否是预装载,步骤S114判断应用程序的读入优先级是=Mandatory还是Optional。若在步骤S113中判断为预装载,在步骤S114中将读入优先级判断为Mandatory,则将应用程序预装载到本地存储器29中(步骤S115)。若在步骤S113中判断为读入属性是装载,则跳过步骤S114~步骤S115。  Step S113 judges whether the read-in attribute of the application program i is preloading, and step S114 judges whether the read-in priority of the application program is Mandatory or Optional. If it is judged as preloading in step S113, and the read priority is judged as Mandatory in step S114, then the application program is preloaded into the local storage 29 (step S115). If it is determined in step S113 that the read attribute is load, steps S114 to S115 are skipped. the

规定循环处理的终止要件的两个步骤中步骤S116,判断是否存在applicationID次高、读入优先级与应用程序I相同的应用程序k。若存在这种应用程序k,将该应用程序k设为应用程序i(步骤S119)。  In step S116 of the two steps defining the termination requirements of the loop processing, it is judged whether or not there is an application program k having the next highest application ID and the same reading priority as the application program I. If there is such an application k, this application k is set as application i (step S119). the

规定循环处理的终止要件的两个步骤中步骤S117判断数据管理表中是否存在具有次低的读入优先级的应用程序,若存在,将具有该次低的读入优先级的应用程序中最小的applciationID中选作应用程序k(步骤S118),将该应用程序k设作应用程序i(步骤S119)。只要这些步骤S116、步骤S117为”是”,则重复上述的步骤S113~步骤S115的处理。步骤S116、步骤S117中,若没有相应的应用程序,则本流程图的处理终止。  Step S117 judges whether there is an application program with the second-lowest read-in priority in the data management table in the two steps of specifying the termination requirements of the loop processing, and if it exists, the smallest application program with the second-lowest read-in priority is selected. The applciationID is selected as application k (step S118), and this application k is set as application i (step S119). As long as these steps S116 and S117 are "YES", the above-mentioned processing of steps S113 to S115 is repeated. In step S116 and step S117, if there is no corresponding application program, the processing of this flowchart is terminated. the

步骤S120~步骤S123是在步骤S14中判断为读入优先级=Optional的情况下执行的处理。  Step S120 to step S123 are processes executed when it is determined in step S14 that the read priority=Optional. the

步骤S120判断是否存在具有相同的applicationID、且读入优先级高的应用程序j。  Step S120 judges whether there is an application j with the same applicationID and high read-in priority. the

步骤S121判断本地存储器29的残留容量是否高于应用程序i的大小。在步骤S120为”否”,步骤S121为”是”的情况下,在步骤S115中,将应 用程序i预装载到本地存储器29中。在步骤S120为”否”,步骤S121为”否”的情况下,不将应用程序i装载到本地存储器29上而仍进入到步骤S116。  Step S121 judges whether the residual capacity of the local storage 29 is higher than the size of the application program i. In the case of "No" in step S120 and "Yes" in step S121, in step S115, the application program i is preloaded into the local memory 29. If "No" in step S120 and "No" in step S121, the process proceeds to step S116 without loading the application program i on the local storage 29 . the

这样,若读入优先级=Optional的数据在步骤S120-步骤S121的判断不是”是”时,不进行向本地存储器29的预装载。存储器规模小的旧再现装置为读入了2~3个应用程序的程度,在步骤S121的判断为”否”,但是存储器规模大的新再现装置即使读入更多的应用程序,步骤S121的判断也不成为”否”。如上这样,在旧再现装置中,仅向本地存储器29读入Mandatory的应用程序,向新再现装置读入Mandatory的应用程序和Optional的应用程序。  In this way, if the judgment of step S120-step S121 is not “Yes” for the data whose priority level=Optional is read, preloading to the local storage 29 is not performed. The old playback device with a small memory size reads about 2 to 3 application programs, and the judgment in step S121 is "No", but even if the new playback device with a large memory size has loaded more The judgment does not become a "no". As described above, in the old playback device, only Mandatory applications are loaded into the local storage 29, and Mandatory applications and Optional applications are loaded into the new playback device. the

步骤S122是在步骤S120中判断为”是”的情况下执行的步骤。在本地存储器29上存在具有同一applicationID、且读入优先级高的应用程序j的情况下,判断本地存储器29的剩余容量和应用程序j的大小的和是否超过了应用程序i的大小(步骤S122),若超过,则通过使用应用程序i来覆盖本地存储器29上的应用程序j,来进行预装载(步骤S123)。在低的情况下,不将应用程序i预装载到本地存储器29中来原样进入到步骤S116。  Step S122 is a step executed when the determination in step S120 is YES. In the local storage 29, if there is an application j with the same applicationID and a high read-in priority, it is judged whether the sum of the remaining capacity of the local storage 29 and the size of the application j exceeds the size of the application i (step S122 ), if it exceeds, preloading is performed by overwriting the application j on the local storage 29 with the application i (step S123). If it is low, the process proceeds to step S116 without preloading the application program i into the local storage 29 . the

参考图47(a)来说明基于步骤S115、步骤S123的读入处理的一例。图47(a)是表示该具体例假定的数据管理表的一例的图。将该图中的三个应用程序分别存储在三个文件中,applicationID相同(applicationID=1),但是读入优先级分别不同(mandatory,optional:high,optional:low)。若这样的数据管理表为处理对象,则通过步骤S115,将读入优先级=Mandatory的应用程序读入到本地存储器29中。但是,对于读入优先级=Optional的应用程序,在经过了步骤S120~步骤S122的判断后,在步骤S123中进行读入。在与步骤S115不同的步骤S123中,由于进行预装载,以使其覆盖已经存在于本地存储器29中的相同的applicationID的应用程序,所以排他地将多个应用程序中的一个装载到本地存储器29中。  An example of the reading process by step S115 and step S123 will be described with reference to FIG. 47( a ). FIG. 47( a ) is a diagram showing an example of a data management table assumed in this specific example. The three applications in the figure are stored in three files respectively, with the same applicationID (applicationID=1), but different reading priorities (mandatory, optional: high, optional: low). If such a data management table is to be processed, the application program whose reading priority=Mandatory is read into the local storage 29 by step S115. However, for the application whose reading priority=Optional, after the judgments in steps S120 to S122, the reading is performed in step S123. In step S123 different from step S115, since the preloading is performed so that it overwrites the application program with the same applicationID already existing in the local storage 29, one of the plurality of application programs is exclusively loaded into the local storage 29 in. the

i)在读入了读入优先级=mandatory的应用程序后,每次读入读入优先级=optional:high的应用程序时,若步骤S122判断为”否”,则在本地存储器29中保留读入优先级=mandatory的应用程序。在读入了读入优先级 =mandatory的应用程序后,每次读入读入优先级=option:high的应用程序时,若步骤S122判断为”是”,则通过读入优先级=optional:high的应用程序,来覆盖读入优先级=mandatory的应用程序,并在本地存储器29中保留读入优先级=optional:high的应用程序。  i) After reading in the application program with read-in priority=mandatory, when reading in the application program with read-in priority=optional:high each time, if step S122 judges as "no", then keep it in the local storage 29 Read in applications with priority = mandatory. After reading in the application program with read-in priority=mandatory, when reading in the application program with read-in priority=option:high each time, if step S122 is judged as "yes", then by reading in priority=optional: high to overwrite the application with read-in priority=mandatory, and keep the read-in priority=optional:high application in the local storage 29. the

ii)在读入了读入优先级=optional:high的应用程序后,每次读入读入优先级=optional:low的应用程序时,若步骤S122判断为”否”,则在本地存储器29中保留读入优先级=Mandatory的应用程序。在读入了读入优先级=optional:high的应用程序后,每次读入读入优先级=optional:low的应用程序时,若步骤S122判断为”是”,则通过读入优先级=optional:low的应用程序,来覆盖读入优先级=optional:high的应用程序(步骤S123),在本地存储器29中保留读入优先级=optional:low的应用程序。  ii) after reading in the application program with read-in priority=optional:high, when reading in the application program with read-in priority=optional:low each time, if step S122 judges as "no", then the local storage 29 Applications with read-in priority = Mandatory are reserved in . After reading in the application program of read-in priority=optional:high, when reading in the application program of read-in priority=optional:low each time, if step S122 judges as "yes", then by reading in priority= The application program with optional: low overrides the application program with read-in priority = optional: high (step S123 ), and the application program with read-in priority = optional: low is reserved in the local storage 29 . the

由于只要本地存储器29的容量允许,重复覆盖本地存储器29上的应用程序的处理,所以本地存储器29的存储内容如图47(b)所示,而变为mandatory=optional:high=>optional:low。由于可以根据存储器规模,将大小不同的Java归档文件装载到本地存储器29中,所以对于存储器规模小的再现装置,将具有必要最小限度的分辨率的缩略图像的Java归档文件装载到本地存储器29中,对于存储器规模为中等程度的再现装置,将具有中等程度的分辨率的SD图像的Java归档文件装载到本地存储器29中,对于存储器规模大规模的再现装置,将具有高分辨率的HD图像的Java归档文件装载到本地存储器29中。通过该装载,可以根据存储器大小来显示分辨率不同的图像,授权承担者的标题制作的表现范围宽。  As long as the capacity of the local storage 29 allows, the process of covering the application program on the local storage 29 is repeated, so the storage content of the local storage 29 becomes mandatory=optional: high=>optional: low as shown in Figure 47 (b). . Since Java archive files of different sizes can be loaded into the local storage 29 according to the size of the memory, for a playback device with a small memory size, Java archive files of thumbnail images having the necessary minimum resolution are loaded into the local storage 29. Among them, for a playback device with a medium memory size, the Java archive file of an SD image with a medium resolution is loaded into the local storage 29, and for a playback device with a large memory size, an HD image with a high resolution is loaded. The Java archive file is loaded into the local memory 29. With this loading, images with different resolutions can be displayed according to the size of the memory, and the expressive range of title production by the authorized person can be widened. the

图48是表示参考数据管理表的读取处理的具体例的图。该图中的两个应用程序是表示添加了同一applicationID(application#3)的两个应用程序。其中一个嵌入到AVClip中,将读入优先级设定为mandatory。另一方面,记录在与AVClip不同的文件中,将记录优先级设定为Optional。由于将前者的应用程序嵌入到AVClip中,所以相当于该嵌入部分的生存区间描述为生存区间(title#1:chapter#4~#5)。在这些应用程序中application#2、application#3上添加了表示装载的读入属性。由于application#2将Chapter #1~Chapter#2作为生存区间,application#3将Chapter#4~Chapter#5作为生存区间,所以在标题时间轴上排他性地在本地存储器29上常驻其中一个。图48(b)是表示在标题时间轴上的不同的时刻,排他性地存储的application#2、application#3的图。其是考虑了仅要在必要最低限度的存储器规模的再现装置上的再现为目的的。若这种内容的数据管理表为处理对象,则应用程序管理器36通过上述的图46的流程图来根据存储器规模进行不同的处理。  FIG. 48 is a diagram showing a specific example of reading processing of the reference data management table. The two applications in the figure represent two applications to which the same applicationID (application#3) has been added. One of them is embedded in AVClip, and the read priority is set to mandatory. On the other hand, it is recorded in a file different from AVClip, and the recording priority is set to Optional. Since the former application is embedded in the AVClip, the life span corresponding to the embedded portion is described as a life span (title#1: chapter#4 to #5). Among these applications, application#2 and application#3 have added read-in attributes representing loading. Since application#2 uses Chapter #1-Chapter#2 as the life span, and application#3 uses Chapter#4-Chapter#5 as the life span, one of them resides exclusively in the local storage 29 on the title timeline. Fig. 48(b) is a diagram showing application#2 and application#3 stored exclusively at different times on the title time axis. This is for the purpose of playback on a playback device with only a minimum necessary memory size in consideration. If the data management table of such content is the object of processing, the application manager 36 performs different processing according to the size of the memory through the above-mentioned flowchart of FIG. 46 . the

由于读入优先级=装载,所以将后者的应用程序装载到本地存储器29上。通过该处理,只要有Mandatory的存储器规模,则应用程序管理器可以将数据装载到本地存储器29上。这里成为问题的是基于存储器规模大的再现装置的读入时。不管存储器规模大小,在到达Chapter#4~Chapter#5之前,不读入application#3是存储器规模的浪费。因此,在该图的数据管理表中向同一application#3添加表示预装载的读入属性而记录在BD-ROM上,并向其添加相同的applicationID。  Since read priority=load, the latter application is loaded onto the local storage 29 . Through this process, the application manager can load data into the local storage 29 as long as the storage size is Mandatory. What becomes a problem here is the time of reading by a playback device with a large memory size. Regardless of the size of the memory, it is a waste of the memory size not to read application#3 before reaching Chapter#4~Chapter#5. Therefore, the same application#3 is added to the same application#3 in the data management table of the figure, and recorded on the BD-ROM, and the same applicationID is added thereto. the

由于前者的应用程序读入优先级=Optional,所以只要是步骤S121为”是”的情况下,就进行预装载(步骤S115)。由此,存储器规模大的再现装置可以将与在AVClip中嵌入的应用程序相同的应用程序装载到本地存储器中,而不用等待title#1、Chapter#4~Chapter#5的到达(图48(c))。  Since the former application read-in priority=Optional, preloading is performed as long as it is YES in step S121 (step S115). Thus, a playback device with a large memory size can load the same application program as the application program embedded in the AVClip into the local storage without waiting for the arrival of title#1, Chapter#4 to Chapter#5 (FIG. 48(c) )). the

以上是预装载时的处理。接着说明装载时的处理过程。  The above is the processing at the time of preloading. Next, the processing procedure at the time of loading will be described. the

图49是表示基于数据管理表的装载处理的处理过程的图。本流程图在持续标题再现的期间,重复进行由步骤S131~步骤S133构成的循环处理。  Fig. 49 is a diagram showing the processing procedure of loading processing based on the data management table. In this flowchart, the loop processing consisting of steps S131 to S133 is repeated while the playback of the title is continued. the

步骤S131是具有表示AutoRun的启动属性的应用程序的生存区间是否到来的判断。若到来,则将具有表示AutoRun的启动属性的应用程序设作应用程序q(步骤S134),向Java虚拟机38发出表示启动应用程序q的启动指示,并从本地存储器29向工作存储器37读出应用程序q(步骤S135)。  Step S131 is to judge whether the live interval of the application having the startup attribute indicating AutoRun has arrived. If arrival, then set the application program with the startup attribute that represents AutoRun as application program q (step S134), send the startup indication that shows startup application program q to Java virtual machine 38, and read out from local memory 29 to working memory 37. Application q (step S135). the

步骤S133判断标题内PL的再现是否完全终止。该判断如第五实施方式,通过是否存在来自重放控制引擎32的再现终止事件来进行。若终止,则终止本流程图的处理。  Step S133 judges whether the reproduction of the PL in the title is completely terminated. This determination is made by whether or not there is a playback termination event from the playback control engine 32 as in the fifth embodiment. If terminated, the processing of this flowchart is terminated. the

步骤S132判断是否有来自启动中应用程序的调用。若有,则将调用目标应用程序设为应用程序q(步骤S136),判断当前的再现时刻是否是应用程序管理表中的应用程序q的生存区间(步骤S137)。若不是生存区间,则显示启动失败(步骤S148),回到由步骤S131~步骤S133构成的循环处理。若是生存区间,则根据图50的流程图来进行装载处理。  Step S132 judges whether there is a call from the starting application. If yes, set the call target application as application q (step S136), and judge whether the current playback time is within the life span of application q in the application management table (step S137). If it is not in the survival interval, it will display that the startup failed (step S148), and return to the loop processing composed of steps S131 to S133. If it is a live range, the loading process is performed according to the flowchart in FIG. 50 . the

图50中的步骤S138判断表示当前再现时刻是否是数据管理表中的应用程序q的生存区间。若不是生存区间,则不能将应用程序q装载到本地存储器29中。这时,向Java虚拟机38发出表示启动应用程序q的启动指示,并直接将应用程序q从BD-ROM读出到工作存储器37中,而不用经过本地存储器29。这时由于产生了用于读出应用程序的头搜索,所以PL再现中断(步骤S145)。  Step S138 in FIG. 50 judges whether or not the current playback time is the life span of the application q in the data management table. If it is not in the live area, the application program q cannot be loaded into the local storage 29 . At this time, an instruction to start the application q is issued to the Java virtual machine 38, and the application q is directly read from the BD-ROM to the work memory 37 without passing through the local memory 29. At this time, since a header search for reading the application program occurs, PL playback is interrupted (step S145). the

若是生存区间,则在步骤S139中,判断是否在应用程序上添加了读入属性。所谓没有读入属性是指没有循环或交叉应用程序q。但是,即使没有添加读入属性,也允许在本地存储器29上放置应用程序。因此,在知道再现中断后,进行应用程序的读出。即,在将应用程序从BD-ROM读出到本地存储器29后,将应用程序读出到工作存储器37(步骤S140)。  If it is the life span, then in step S139, it is judged whether the read-in attribute has been added to the application program. The so-called no read-in attribute means no loop or cross-application q. However, placing an application on the local storage 29 is allowed even if the read-in attribute is not added. Therefore, the application program is read out after knowing that playback has been interrupted. That is, after the application program is read from the BD-ROM to the local storage 29, the application program is read to the work memory 37 (step S140). the

步骤S141~步骤S146是在步骤S139被判断为”是”的情况下所作的处理。在步骤S141中,通过参考读入属性,来判断是否预装载了应用程序。若进行了预装载,则进入到步骤S135。  Step S141 to step S146 are processes performed when the determination of step S139 is "YES". In step S141, it is determined whether the application program is preloaded by referring to the read-in attribute. If preloading is performed, go to step S135. the

步骤S142是在读入属性是装载的情况下所执行的判断步骤,判断是否循环、交叉应用程序q。若进行了交叉,则使Java虚拟机38执行高速缓存传感(步骤S143)。若在本地存储器29上存在应用程序q,则进入到步骤S135,使应用程序q装载到Java虚拟机38上。  Step S142 is a judging step executed when the read-in attribute is loading, and it is judged whether to loop or cross application q. If interleaved, the Java virtual machine 38 is caused to execute cache sensing (step S143). If the application program q exists in the local memory 29, the process proceeds to step S135, and the application program q is loaded onto the Java virtual machine 38. the

若本地存储器29上没有应用程序,则进行分支到顶端菜单标题等的例外处理(步骤S144)。若进行了循环,则设置定时器(步骤S148),在该定时器超时之前(步骤S147),使Java虚拟机38执行高速缓存传感(步骤S146)。若在本地存储器29上出现应用程序q,则进入到图49的步骤S135,将应用程序q装载到Java虚拟机38上。若超时,则进行分支到顶端菜单标题等的 例外处理(步骤S144)。  If there is no application program on the local storage 29, exception processing branching to the top menu title and the like is performed (step S144). If the loop is performed, a timer is set (step S148), and the Java virtual machine 38 is caused to execute cache sensing (step S146) until the timer expires (step S147). If the application program q appears on the local storage 29, then enter step S135 of FIG. 49, and the application program q is loaded on the Java virtual machine 38. If overtime, then carry out branching to the exception processing (step S144) of top menu title etc. the

图51是模式化了怎样进行基于Java虚拟机38的应用程序的读入的图。  FIG. 51 is a diagram schematically showing how to load an application program by the Java virtual machine 38 . the

箭头◎1、2表示:在应用程序管理表上生存、且在数据管理表上生存、且存在表示循环、交叉的读入属性的Java归档文件的读入。箭头◎1表示在步骤S65、67中进行的本地存储器29传感。该本地存储29传感由于可能在本地存储器29中存在通过循环或交叉嵌入的数据,所以在本地存储器29内进行传感。箭头◎2表示对应于步骤S135的读入,表示:应用程序存在于本地存储器29中的情况下的、从本地存储器29向工作存储器37的装载。带×的箭头表示在本地存储器29上没有数据的情况。  Arrows ◎1 and 2 represent the reading of a Java archive file that exists on the application management table and that exists on the data management table and that has a read attribute indicating loop and crossover. Arrow ◎1 indicates the sensing of the local memory 29 performed in steps S65 and S67. This local storage 29 sensing is performed in the local storage 29 because there may be data embedded in the local storage 29 by looping or crossing. Arrow ⊚2 indicates reading corresponding to step S135 , and indicates loading from the local storage 29 to the work memory 37 when the application program exists in the local storage 29 . An arrow with a x indicates that there is no data on the local storage 29 . the

箭头

Figure 04829746X_6
1、2表示:在应用程序管理表上生存、但是不在数据管理表中生存、且读入属性不存在的Java归档文件的读入。  arrow
Figure 04829746X_6
1 and 2 represent: the reading of a Java archive file that exists in the application management table but does not exist in the data management table and whose read attribute does not exist.

箭头

Figure 04829746X_7
1对应于步骤S145中的读入,表示:基于Java虚拟机38的来自BD-ROM的直接读取的请求。箭头
Figure 04829746X_8
2表示基于该要求的从BD-ROM向工组存储器37的Java归档文件读出。  arrow
Figure 04829746X_7
1 corresponds to the reading in step S145 and indicates a request for direct reading from the BD-ROM by the Java virtual machine 38 . arrow
Figure 04829746X_8
2 indicates reading of the Java archive file from the BD-ROM to the group storage 37 based on the request.

箭头☆1、2、3表示:在应用程序管理表上生存、在数据管理表上生存、但是读入属性不存在的Java归档文件的读入。  Arrows ☆1, 2, and 3 indicate the reading of a Java archive file that exists in the application management table and data management table, but does not have the read attribute. the

箭头☆1对应于步骤S140中的读入,表示:基于Java虚拟机38的来自BD-ROM的直接读取请求。箭头☆2表示基于该请求的Java归档文件向本地存储器29的读出。箭头☆3表示从本地存储器29向工作存储器37的Java归档文件的读出。  Arrow ☆1 corresponds to the reading in step S140, and indicates a direct reading request from the BD-ROM by the Java virtual machine 38. Arrow ☆2 indicates the reading of the Java archive file to the local storage 29 based on this request. Arrow ☆3 indicates reading of the Java archive file from the local storage 29 to the work memory 37 . the

如上所述,根据本实施方式,由于可以将在本地存储器29上同时常驻的应用程序的数目规定为预定数目以下,所以可以尽量避免从本地存储器29读出时的高速缓存损失。由于可以保证没有高速缓存损失的应用程序的读出,所以每次应用程序调用时,不会从BD-ROM中读出应用程序,直到停止AVClip的再现。由于没有中途切断AVClip再现,所以可以保证AVClip的无缝再现。  As described above, according to the present embodiment, since the number of applications concurrently resident on the local storage 29 can be set to a predetermined number or less, cache loss at the time of reading from the local storage 29 can be avoided as much as possible. Since the reading of the application program without cache loss can be ensured, the application program is not read from the BD-ROM every time the application program is invoked until playback of the AVClip is stopped. Since AVClip playback is not interrupted midway, seamless playback of AVClip can be guaranteed. the

(第七实施方式)  (seventh embodiment)

第三实施方式中,根据应用程序的生存区间来决定非AV系标题的时间 轴。但是,应用程序的动作不稳定,会有启动的失败和异常终止。本实施方式提出了有启动失败、异常终止的情况下的失败安全机构。图52(a)是表示第七实施方式的BD-J对象的内部结构的图。与图7(b)相比,该图的新的方面是追加了播放列表管理表。  In the third embodiment, the time axis of the non-AV title is determined according to the lifetime of the application program. However, the operation of the application program is unstable, and there may be startup failure and abnormal termination. This embodiment proposes a failure safety mechanism in the case of startup failure or abnormal termination. Fig. 52(a) is a diagram showing the internal structure of a BD-J object according to the seventh embodiment. Compared with Fig. 7(b), this figure is new in that the playlist management table is added. the

图52(b)是表示播放列表管理表的一例的图。如该图所示,播放列表管理表由PL的指定和该PL的再现属性构成。PL的指定表示在对应的标题的标题时间轴中,可进行再现的PL。PL的再现属性表示是否与标题再现的开始同时自动再现所指定的PL(将这样自动再现的PL称作缺省PL)。  Fig. 52(b) is a diagram showing an example of a playlist management table. As shown in the figure, the playlist management table is composed of designation of PLs and playback attributes of the PLs. The designation of the PL indicates the playable PL in the title time axis of the corresponding title. The playback attribute of the PL indicates whether to automatically play back the designated PL simultaneously with the start of title playback (the PL automatically played back in this way is called a default PL). the

接着,参考图53来说明怎样通过播放列表管理表来规定标题时间轴。图53(a)是设定为再现属性表示表示非自动再现的情况下的非AV系标题中的标题时间轴的图。这时,由于没有再现缺省PL,所以非AV系标题同样从应用程序的生存区间来决定标题时间轴。  Next, how to define the title time axis by the playlist management table will be described with reference to FIG. 53 . FIG. 53( a ) is a diagram showing the time axis of a title in a non-AV title when the playback attribute is set to indicate non-automatic playback. At this time, since the default PL is not played back, the title time axis is also determined from the lifetime of the application for non-AV titles. the

图53(b)是表示将再现属性设定为AutoPlay的非AV系标题的标题时间轴的图。若设定为再现属性表示AutoPlay,则重放控制引擎32与非AV系统标题的再现开始同时,开始缺省PL的再现。但是,即使应用程序正常动作,正常终止,以PL时间轴为基准来决定该标题时间轴。  Fig. 53(b) is a diagram showing a title time axis of a non-AV title whose playback attribute is set to AutoPlay. If the playback attribute is set to indicate AutoPlay, the playback control engine 32 starts playback of the default PL at the same time as playback of the non-AV system title starts. However, even if the application program operates normally and terminates normally, the title time axis is determined based on the PL time axis. the

图53(c)表示在播放列表管理表中设定为再现属性表示“AutoPlay”,应用程序异常终止的情况。通过该异常终止,变为什么应用程序都不动作的状态,但是缺省PL的再现继续。这时,缺省PL的PL时间轴为标题时间轴。  Fig. 53(c) shows a case where the playback attribute is set to "AutoPlay" in the playlist management table and the application terminates abnormally. Due to this abnormal termination, no application programs are operated, but the playback of the default PL continues. At this time, the PL time axis of the default PL is the title time axis. the

图53(d)表示在播放列表管理表中设定为再现属性表示“AutoPlay”,主应用程序的启动失败的情况。这时由于基于重放控制引擎32的缺省PL再现也与应用程序的启动失败无关地进行,所以缺省PL的时间轴变为标题时间轴。  Fig. 53(d) shows a case where the playback attribute indication "AutoPlay" is set in the playlist management table and the main application fails to start. At this time, since the playback of the default PL by the playback control engine 32 is performed regardless of failure to start the application, the time axis of the default PL becomes the title time axis. the

如上所述,若将播放列表管理表的再现属性设定为“AutoPlay”,在Java应用程序的启动中,在即使花费5~10秒的时间,进行该启动的期间,变为“总之是复制什么的状态”。通过为该“总之是复制什么的状态”,可以补偿标题执行开始时的启动延时。      As described above, if the playback attribute of the playlist management table is set to "AutoPlay", even if it takes 5 to 10 seconds to start the Java application, it will be changed to "copy anyway" during the start-up. what state". By setting the "status of what to copy anyway", it is possible to compensate for the start-up delay at the start of title execution. ``

以上是对于本实施方式中的记录媒体的改进。接着说明对于本实施方式 的再现装置的改进。  The above is the improvement on the recording medium in this embodiment. Next, improvements to the playback device of this embodiment will be described. the

图52(c)是表示在分支目标标题的播放列表管理表中,存在将再现属性设定为AutoPlay的PL的情况下,再现装置进行怎样的处理的图。如该图所示,若再现属性被设定为AutoPlay的PL存在于分支目标标题的播放列表管理表中,则BD-J模块35内的应用程序管理器36指示重放控制引擎32,在标题分支紧之后开始该AutoPlayPL的再现。这样,再现属性为AutoPlay的PL在标题分支紧之后,命令再现开始。  Fig. 52(c) is a diagram showing what kind of processing the playback device performs when there is a PL whose playback attribute is set to AutoPlay in the playlist management table of the branch destination title. As shown in the figure, if the PL whose playback attribute is set to AutoPlay exists in the playlist management table of the branch target title, the application manager 36 in the BD-J module 35 instructs the playback control engine 32 to set The reproduction of the AutoPlayPL starts immediately after the branch. In this way, the PL whose playback attribute is AutoPlay commands the start of playback immediately after the title branch. the

由于对应于上述的记录媒体的改进,所以应用程序管理器36以如图54所示的处理过程来进行处理。  The application program manager 36 performs processing as shown in FIG. 54 in response to the improvement of the recording medium described above. the

图54是表示第七实施方式的应用程序管理器36的处理过程的流程图。本流程图在图38的流程图中,在步骤S21之前追加步骤S103、步骤S104,在步骤S21、步骤S22之间追加步骤S100,在步骤S23~步骤S26之间追加步骤S105。  FIG. 54 is a flowchart showing the processing procedure of the application manager 36 of the seventh embodiment. In the flowchart of FIG. 38 , steps S103 and S104 are added before step S21, step S100 is added between steps S21 and S22, and step S105 is added between steps S23 to S26. the

步骤S103判断对应的标题的播放列表管理表的再现属性是否是AutoPlay。若是AutoPlay,则使重放控制引擎32开始对缺省PL的再现控制(步骤S104)。  Step S103 judges whether the playback attribute of the playlist management table of the corresponding title is AutoPlay. If it is AutoPlay, the playback control engine 32 is caused to start playback control of the default PL (step S104). the

步骤S100判断是否是基于展示引擎31的再现中。若为再现中,则进入到步骤S101。  Step S100 judges whether or not the presentation engine 31 is playing back. If playback is in progress, go to step S101. the

步骤S105是在步骤S23为”是”,步骤S25为”否”的情况下执行的判断步骤,表示再现属性是否是AutoPlay。若为否,则向模块管理器34通知标题终止。若为AutoPlay,则进入到步骤S101后继续处理。  Step S105 is a judging step executed when the result of step S23 is "Yes" and step S25 is "No", and indicates whether the playback attribute is AutoPlay or not. If not, the module manager 34 is notified of the title termination. If it is AutoPlay, proceed to step S101 and continue processing. the

图55是模式化表示通过在播放列表管理表中设定为“再现属性=AutoPlay”来进行怎样的再现的图。这里,应进行再现的标题是包含叠加降落的瓦片的游戏应用程序的非AV系标题。在该非AV系标题中,若将播放列表管理表的再现属性设定为AutoPlay,则还开始基于重放控制引擎32的缺省PL再现。由于并行进行游戏应用程序的执行和缺省PL再现,所以如图55的上级的左侧所示,显示了将前景作为游戏应用程序的画面,将背景作为缺省PL的再现图像的合成图像。设该游戏应用程序在中途异常终止。 虽然游戏应用程序通过应用程序管理器36进行了强制终止,但是缺省PL的再现继续,所以标题变为复制什么的状态。通过这种播放列表管理表中的再现属性的指定,即使在非AV系统标题内的游戏应用程序异常终止的情况下,也可维持没有破坏和停机的动作。  Fig. 55 is a diagram schematically showing how playback is performed by setting "playback attribute = AutoPlay" in the playlist management table. Here, the title to be reproduced is a non-AV title of a game application including tiles that are superimposed and dropped. In this non-AV title, if the playback attribute of the playlist management table is set to AutoPlay, default PL playback by the playback control engine 32 also starts. Since the execution of the game application and the playback of the default PL are performed in parallel, as shown on the upper left side of FIG. 55 , a composite image is displayed in which the game application screen is the foreground and the default PL playback image is the background. Assume that the game application terminates abnormally midway. Although the game application is forcibly terminated by the application manager 36, the playback of the default PL continues, so the title becomes a state of copying something. By specifying the playback attribute in the playlist management table, even when the game application in the non-AV system title terminates abnormally, it is possible to maintain the operation without damage and stoppage. the

(第八实施方式)  (eighth embodiment)

第一实施方式中BD-J对象具有数据管理表、应用程序管理表二个标题,但是本实施方式公开了将这些综合到一个表的形态。在该综合时,如图56(a)所示,废弃数据管理表中的读入属性项目,代替其,在启动属性上设置称作Ready属性的属性。所谓Ready属性是指包含于来自其他应用程序的调用和来自应用程序管理器36的调用中具有的、表示在本地存储器29上预先装载应用程序的启动属性的类型。  In the first embodiment, the BD-J object has two titles, the data management table and the application management table, but this embodiment discloses a form in which these are integrated into one table. In this integration, as shown in FIG. 56(a), the read attribute item in the data management table is discarded, and an attribute called Ready attribute is set in the start attribute instead. The Ready attribute is a type of start attribute included in calls from other applications and calls from the application manager 36 , indicating that the application is preloaded on the local storage 29 . the

图56(b)是表示应用程序的处理和启动属性的关系的图。如第一实施方式所示,应用程序的处理有:是否预装载(1),当前的再现时刻在有效区间到来时自动启动,或根据其他的调用来启动(2),根据标题再现进行来进行装载(3),存在有是否生存的不同,根据这些不同,出现了如图56(b)所示的5种形态。其中,将启动属性设定为AutoRun的是进行预装载,“自动启动”的情况和进行装载,“自动启动”的情况。  Fig. 56(b) is a diagram showing the relationship between application processing and activation attributes. As shown in the first embodiment, the processing of the application program includes: whether to preload (1), the current playback time is automatically activated when the effective period comes, or activated by other calls (2), depending on the playback progress of the title Carrying out loading (3), there is a difference whether there is survival or not, and according to these differences, five forms as shown in Fig. 56(b) appear. Among them, the case of setting the startup attribute to AutoRun is the case of performing preloading, "automatic startup", and the case of performing loading, "automatic startup". the

另一方面,启动属性设定为Ready属性,是表示预装载或进行装载、启动项目为“调用启动”的情况。  On the other hand, setting the start attribute to the Ready attribute indicates a case where preloading or loading is performed, and the start item is "call start". the

另外,不会存在在工作存储器37中生存,但是在本地存储器29中不进行装载的类型。这是因为在应用程序数据管理表中,工作存储器37的生存区间和本地存储器29的生存区间一体。  Also, there will be no types that live in the working memory 37 but are not loaded in the local memory 29 . This is because the live range of the work memory 37 and the live range of the local memory 29 are integrated in the application data management table. the

作为启动属性,由于追加了该Ready属性,所以应用程序管理器36在标题再现之前,进行将启动属性设定为AutoRun的应用程序和将启动属性设定为Ready属性的应用程序预装载到本地存储器29中的处理。由此,即使不设置读入属性,也可进行将应用程序预装载到本地存储器29中的处理。  Since the Ready attribute is added as the startup attribute, the application manager 36 preloads the application whose startup attribute is set to AutoRun and the application whose startup attribute is set to the Ready attribute before playing back the title. Processing in memory 29 . Thus, even if the read attribute is not set, processing of preloading the application program into the local storage 29 can be performed. the

图57是模式化怎么进行第八实施方式的基于Java虚拟机38的应用程序的读入的图。以图51以基础来做出了该图中的读入的表现图。  FIG. 57 is a diagram schematically showing how to load an application program by the Java virtual machine 38 according to the eighth embodiment. Based on FIG. 51 , a representation diagram of the reading in this figure is made. the

箭头◎1、2表示:在应用程序·数据管理表中生存、且将启动属性设定为Ready属性的Java归档文件的读入。  Arrows ◎1 and 2 indicate the reading of a Java archive file which exists in the application/data management table and whose startup attribute is set to the Ready attribute. the

箭头☆1、2、3表示:在应用程序·数据管理表中生存、且启动属性为Persistent的应用程序的读入。  Arrows ☆1, 2, and 3 indicate the loading of an application that exists in the application/data management table and whose activation attribute is Persistent. the

这些箭头◎1、2,箭头☆1、2、3在图5 1中进行了描述,但是在图57中不存在在图51中描述的相当于

Figure 04829746X_9
1、2的箭头的读入。这是因为应用程序·数据管理表一体化了应用程序管理表和数据管理表,所以不能表现应用程序管理表=生存、数据管理表=不存在的组合。  These arrows ◎1, 2 and arrows ☆1, 2, 3 are described in Fig. 51, but they do not exist in Fig. 57 and are equivalent to those described in Fig. 51
Figure 04829746X_9
1, 2 Arrow reading. This is because the application/data management table is an integration of the application management table and the data management table, so the combination of application management table=existence and data management table=absence cannot be expressed.

如上所述,根据本实施方式,由于可以将数据管理表、应用程序管理表整理为一个表(应用程序数据管理表),所以可以简化基于应用程序管理器36的处理。另外,通过没有读入优先级,可以更简化应用程序·数据管理表。  As described above, according to this embodiment, since the data management table and the application management table can be organized into one table (application data management table), processing by the application manager 36 can be simplified. In addition, the application/data management table can be further simplified by not having the read priority. the

(第九实施方式)  (Ninth Embodiment)

第一实施方式中,在将应用程序读入到本地存储器29中时,参考读入优先级,根据该读入优先级,对读入处理赋予优劣。与此相对,第九实施方式是表示通过含义为Optional的信息和0到255的数值的组合来表示读入优先级的实施方式。  In the first embodiment, when an application program is read into the local storage 29, the read priority is referred to, and the read process is assigned superiority or inferiority according to the read priority. On the other hand, the ninth embodiment is an embodiment in which the reading priority is indicated by a combination of information meaning Optional and a numerical value from 0 to 255. the

图58(a)(b)是表示第九实施方式的读入优先级的一例的图。255、128是0到255的读入优先级的一例,含义是本例中的application#2读入优先级比application#3高。  58( a ) and ( b ) are diagrams showing an example of read priority in the ninth embodiment. 255 and 128 are examples of read priorities ranging from 0 to 255, which means that application#2 has a higher read priority than application#3 in this example. the

在本实施方式中,应用程序管理器36与第一实施方式相同,首先将添加了表示Mandatory的读入优先级的应用程序读入到本地存储器29。  In this embodiment, as in the first embodiment, the application manager 36 first reads into the local storage 29 an application to which a read priority indicating Mandatory is added. the

之后,对于添加了表示Optional的读入优先级的应用程序,判断本地存储器29中的容量是否超过了应用程序的大小。若超过,则将添加了读入优先级=Optional的应用程序原样读入到本地存储器29。若小,则将构成应用程序的数据中,表示读入优先级的数值最高的应用程序读入到本地存储器29中。并且,向本地存储器29中的其余的区域读出表示读入优先级的数值低的应用程序。  Afterwards, for the application to which the read priority indicating Optional is added, it is judged whether or not the capacity in the local storage 29 exceeds the size of the application. If it exceeds, the application program to which the read priority=Optional is added is read into the local storage 29 as it is. If it is small, among the data constituting the application program, the application program with the highest value indicating the reading priority is read into the local storage 29 . Then, the application program whose reading priority is low is read to the remaining area in the local storage 29 . the

由此,对于Optional处理的应用程序,即使在再现装置的本地存储器29上没有存储整体的容量,也可将其一部分存储到本地存储器29中。  Thus, even if the entire application program of the optional process does not have the capacity to be stored in the local storage 29 of the playback device, a part thereof can be stored in the local storage 29 . the

(第十实施方式)  (tenth embodiment)

第一实施方式中应用程序管理器36将添加了同样applicationID的应用程序,根据读入优先级排他地装载到本地存储器29中,但是第十实施方式中,通过对应用程序施加组属性,来实现排他的装载。图59是表示添加了组属性的数据管理表的图。组属性可以有不是排他组、是排他组的两种设定。在是排他组的情况下,描述其组号。图59(a)中的title#1的“-”表示不存在排他组。另一方面,title#2、#3的“group#1”有排他组,title#2、#3表示属于group#1的排他组。以上是本实施方式的记录媒体的改进。  In the first embodiment, the application manager 36 exclusively loads the applications to which the same applicationID is added into the local storage 29 according to the read-in priority, but in the tenth embodiment, by applying a group attribute to the application, Exclusive loading. Fig. 59 is a diagram showing a data management table to which group attributes are added. The group attribute can have two settings of not being an exclusive group and being an exclusive group. In the case of an exclusive group, describe its group number. "-" in title#1 in Fig. 59(a) indicates that there is no exclusive group. On the other hand, "group#1" of title#2 and #3 has an exclusive group, and title#2 and #3 indicate the exclusive group belonging to group#1. The above is the improvement of the recording medium of this embodiment. the

本实施方式的再现装置在根据数据管理表,将各应用程序读入到本地存储器29后,来核对本地存储器29的应用程序中的组属性。同样,若属于排他组的应用程序在本地存储器29上存在两个以上,则从本地存储器29中删除其中一个。  The playback device according to this embodiment checks the group attributes of the applications in the local storage 29 after reading each application into the local storage 29 based on the data management table. Similarly, if two or more applications belonging to the exclusive group exist on the local storage 29 , one of them is deleted from the local storage 29 . the

由此,可以提高本地存储器29的使用效率。作为排他组的具体例,由启动应用程序和通过该程序启动的应用程序构成的组对应。由于通过本应用程序启动的应用程序原则上限于一个,所以在本地存储器29上应该仅存在启动+1个的应用程序。若存在三个以上的应用程序,则需要应用程序管理器36进行从本地存储器29中删除其的处理,所以设置各应用程序的组属性,并进行在本地存储器29上存在的应用程序是否是启动+1个的应用程序的校验。  Thereby, the use efficiency of the local memory 29 can be improved. As a specific example of an exclusive group, a group consisting of a start-up application program and an application program started by the program corresponds. Since the application program activated by this application program is limited to one in principle, only the activated + 1 application programs should exist on the local storage 29 . If there are more than three application programs, the application program manager 36 needs to delete it from the local storage 29, so the group attribute of each application is set, and whether the application program existing on the local storage 29 is started +1 for the verification of the app. the

图59(a)是表示对基于应用程序管理表的本地存储器29的访问的图。该图中,由于设定为读入优先级=Optional的application#2、application#3的组属性是group#1,所以这些应用程序属于同样排他组。三个应用程序中,application#1是上述的启动应用程序,由于application#2,application#3是由其启动的应用程序,所以添加组属性,使得仅某个存在于本地存储器29中。应用程序管理器36参考这些application#2,application#1=3的组属性,进行从本地存储器29中删除某一个的处理。通过该删除在本地存储器29上产 生了空余。  Fig. 59(a) is a diagram showing access to the local storage 29 based on the application management table. In this figure, since the group attribute of application#2 and application#3 set to read priority=Optional is group#1, these applications belong to the same exclusive group. Of the three applications, application#1 is the startup application described above, and since application#2 and application#3 are the startup applications, a group attribute is added so that only one of them exists in the local storage 29 . The application manager 36 refers to the group attributes of application#2 and application#1=3, and deletes any one from the local storage 29 . This deletion creates free space on the local storage 29. the

(第十一实施方式)  (Eleventh Embodiment)

第一实施方式中,使每个标题具有应用程序管理表,但是在本实施方式中,提出了使该应用程序管理表的分配单位改变的提案。图60是表示分配单位的变化的图。该图中,第一级表示在BD-ROM上记录的三个应用程序管理表,第二级表示标题单位,第三级表示盘单位,第四级表示由多个BD-ROM构成的盘设置单位。图中的箭头模式地表示应用程序管理表的分配。若参考该箭头,则可以看出第一级中的应用程序管理表#1、#2、#3分别分配到第二级表示的title#1、#2、#3上。另外,以盘为单位来分配应用程序管理表#4,对盘设置整体分配应用程序管理表#5。这样,通过将应用程序管理表的单位设为比标题大的单位,可以在装载了一个BD-ROM的期间,装载了要生存的应用程序和多个BD-ROM中某一个的期间,定义要生存的应用程序。  In the first embodiment, the application management table is provided for each title, but in the present embodiment, it is proposed to change the allocation unit of the application management table. Fig. 60 is a diagram showing changes in allocation units. In this figure, the first level shows the three application management tables recorded on the BD-ROM, the second level shows the title unit, the third level shows the disc unit, and the fourth level shows the disc setup composed of a plurality of BD-ROMs. unit. The arrows in the diagram schematically represent the allocation of application management tables. Referring to the arrows, it can be seen that the application management tables #1, #2, #3 in the first level are assigned to the titles #1, #2, #3 shown in the second level, respectively. In addition, the application management table #4 is assigned in units of disks, and the application management table #5 is assigned to the entire disk setting. In this way, by setting the unit of the application management table to a unit larger than the title, it is possible to define the period during which the application to be stored and one of the plurality of BD-ROMs is loaded during the period when one BD-ROM is loaded. survival app. the

(参考)  (refer to)

以上的说明不应表示本发明的所有实施行为的形态。通过实施了下面(A)(B)(C)(D)...的改变的形态的实施行为方式,也可以实施本发明。本申请的权利要求的各发明是扩展了以上记载的多个实施方式及其变形方式的记载乃至一般化的记载。扩展乃至一般化的程序基于本发明的技术领域的申请当时的技术水平的特性。  The above description should not represent all forms of implementation of the present invention. The present invention can also be carried out by implementing the following modified forms of (A) (B) (C) (D) . . . The respective inventions in the claims of the present application are descriptions that expand or generalize the above-described plural embodiments and modifications thereof. The procedures of expansion and generalization are based on the characteristics of the technical level at the time of application of the technical field of the present invention. the

(A)所有的实施方式中,将本发明的光盘作为BD-ROM来实施,但是本发明的光盘在记录的动态脚本,索引表上有特征,该特征不依赖于BD-ROM的物理性质。若是记录了动态脚本、索引表的记录媒体,可以是任何记录媒体。例如,可以是DVD-ROM、DVD-RAM、DVD-RW、DVD-R、DVD+RW、DVD+R、CD-R、CD-RW等的光盘、PD、MO等的光磁盘。另外,也可以是压缩闪存卡、智能媒体(smart media)、存储棒、多媒体卡、PCM-CIA卡等的半导体存储卡。也可以是软盘、SuperDisk、Zip、Clik!等磁记录盘(i)、ORB、Jaz、SparQ、SyJet、EZFley、微驱动器等可移动硬盘驱动器(ii),进一步也可以是机器内置型的硬盘驱动器。  (A) In all the embodiments, the optical disc of the present invention is implemented as a BD-ROM. However, the optical disc of the present invention has characteristics in recorded dynamic scenarios and index tables, and these characteristics do not depend on the physical properties of the BD-ROM. If the recording medium on which the dynamic script and the index table are recorded, it may be any recording medium. For example, optical disks such as DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD+RW, DVD+R, CD-R, and CD-RW, and optical disks such as PD and MO may be used. Also, a semiconductor memory card such as a compact flash card, smart media, memory stick, multimedia card, or PCM-CIA card may be used. It can also be a floppy disk, SuperDisk, Zip, Clik! Such as a magnetic recording disk (i), ORB, Jaz, SparQ, SyJet, EZFley, a removable hard disk drive (ii) such as a micro drive, and a built-in hard disk drive may also be used. the

(B)所有的实施方式中的再现装置在译码了在对BD-ROM上记录的AVClip进行了译码后输出到TV,但是,再现装置也可仅为BD-ROM驱动器,在TV上具有除此之外的构成要素,这时,可以将再现装置和TV组装到由IEEE1394连接的家庭网络中。另外,实施方式的再现装置是与电视机相连来使用的驱动器,但是也可以是与显示器为一体的再现装置。进一步,在各实施方式的再现装置中,可以仅将成为处理的本质部分的部分作为再现装置。由于这些再现装置都是在本说明书中记载的发明,所以即便是这些的任何一个形态,以各实施方式所示的再现装置的内部结构为基础,来制造再现装置的行为也为本申请的说明书中记载的发明的实施行为。各实施方式所示的再现装置的基于有偿·无偿的转让(有偿的情况下是贩卖、无偿的情况下是赠与)、出借、输入的行为都是本发明的实施方式。通过店面展示、目录要约、小册子发布,向一般用户提议这些的转让和出租的行为也是本再现装置的实施行为。  (B) The playback device in all the embodiments decodes the AVClip recorded on the BD-ROM and then outputs it to the TV. However, the playback device may be only a BD-ROM drive, and the TV has In addition to other components, in this case, playback devices and TVs can be integrated into a home network connected by IEEE1394. In addition, the playback device in the embodiment is a drive used in connection with a television, but may also be a playback device integrated with a display. Furthermore, in the playback device of each embodiment, only the part that becomes the essential part of the processing may be used as the playback device. Since these playback devices are all inventions described in this specification, even in any of these forms, the act of manufacturing a playback device based on the internal structure of the playback device shown in each embodiment is also included in the specification of this application. Acts of implementation of the invention described in. Transfer (sell if paid, donate if free), lending, and input of the playback device described in each embodiment are all embodiments of the present invention. Acts of proposing these transfers and leases to general users through storefront display, catalog offer, and brochure distribution are also implementation acts of this playback device. the

(C)由于使用硬件资源来具体实现基于各流程图所示的程序的信息处理,所以上述流程图中表示了处理过程的程序单体作为发明成立。所有的实施方式以组装到再现装置的形态来表示了对于本发明的程序的实施行为的实施方式,但是也可从再现装置分离,来实施各实施方式中表示的程序单体。程序单体的实施行为有生产这些程序的行为(1)、通过有偿·无偿来转让程序的行为(2)、出借的行为(3)、输入的行为(4)和经双向的电子通信线路向公众提供的行为(5)、和通过(6)店面展示、目录要约、小册子发布,向一般用户提议程序的转让和出租的行为。  (C) Since the information processing based on the programs shown in the respective flowcharts is realized concretely using hardware resources, the individual programs showing the processing procedures in the above-mentioned flowcharts are established as inventions. All the embodiments have shown the implementation of the program of the present invention in the form of being incorporated into the playback device, but the program shown in each embodiment may be implemented separately from the playback device. Acts of implementing individual programs include the act of producing these programs (1), the act of transferring the program with compensation or free of charge (2), the act of lending (3), the act of importing (4), and the act of sending the program via two-way electronic communication lines to The act of offering to the public (5), and the act of proposing transfer and rental of programs to general users through (6) storefront display, catalog offer, and brochure distribution. the

(D)认为各流程图中按时间序列执行的各步骤的“时间”的要素为特定发明用的必须的事项。这样,可以看出基于这些流程图的处理过程公开了再现方法的使用方式。若通过按时间序列来进行各步骤的处理,进行这些流程图的处理来实现本发明的本来的目的,达到作用和效果,则当然相当于本发明的记录方法的实施行为。  (D) The "time" element of each step executed in time series in each flow chart is regarded as an essential item for specifying the invention. Thus, it can be seen that the processes based on these flow charts disclose the usage manner of the reproduction method. If the original purpose of the present invention is achieved by performing the processing of each step in time series and the processing of these flow charts, and the functions and effects are achieved, it is of course equivalent to the implementation behavior of the recording method of the present invention. the

(E)也可在BD-ROM上记录一览显示Chapter用的菜单(ChapterMenu)和控制其举动的MOVIE对象,而从顶端菜单中分支。另外,也可通 过遥控器键的Chapter键的按下来进行调用。  (E) A menu (ChapterMenu) for displaying a list of Chapters and a MOVIE object for controlling its behavior may be recorded on the BD-ROM and branched from the top menu. In addition, it can also be called by pressing the Chapter key of the remote control key. the

(F)  每次记录在BD-ROM上时,最好在构成AVClip的各TS包上添加扩展头。扩展头称作TP_extra_header,包含“Arribval_Time_Stamp”和“copy_permission_indicator”,具有4字节的数据长度。带TP_extra_header的TS包(下面简写为带EX的TS包)按每32个来进行分组,并写入到三个扇区中。由32个带EX的TS包构成的组是6144字节(=32×192),其与三个扇区大小6144字节(=2048×3)一致。将容纳在三个扇区中的32个带EX的TS包称作“排列的单元(Aligned Unit)”。  (F) It is preferable to add an extension header to each TS packet constituting an AVClip every time it is recorded on a BD-ROM. The extension header is called TP_extra_header, contains "Arribval_Time_Stamp" and "copy_permission_indicator", and has a data length of 4 bytes. TS packets with TP_extra_header (hereinafter referred to as TS packets with EX) are grouped every 32 and written into three sectors. A group consisting of 32 EX-attached TS packets is 6144 bytes (=32×192), which coincides with three sector sizes of 6144 bytes (=2048×3). The 32 TS packets with EX contained in three sectors are called "Aligned Unit". the

在经IEEE1394相连的本地网络的使用时,再现装置200通过如下这样的发送处理来进行Aligned Unit的发送。即,发送侧的设备分别从在AlignedUnit中包含的32个带EX的TS包取出TP_extra_header,并根据DTCP标准来加密TS包标题后输出。每次TS包的输出时,在TS包之间的任意位置上插入同步的(isochronous)包。该插入位置是基于TP_extra_header的Arribval_Time_Stamp所示的时刻的位置。随着TS包的输出,再现装置200输出DTCP_Descriptor。DTCP_Descriptor表示TP_extra_header中的复制允许设置,这里若描述DTCP_Descriptor,使其表示“禁止复制”,则在经IEEE1394相连的本地网的使用时TS包不记录在其他设备上。  When using a local network connected via IEEE1394, the playback device 200 transmits the Aligned Unit through the following transmission process. That is, the device on the sending side extracts the TP_extra_header from each of the 32 TS packets with EX included in the AlignedUnit, encrypts the TS packet header according to the DTCP standard, and outputs it. Every time a TS packet is output, an isochronous packet is inserted at an arbitrary position between the TS packets. This insertion position is based on the time indicated by Arribval_Time_Stamp of TP_extra_header. Along with the output of the TS packets, the playback device 200 outputs the DTCP_Descriptor. DTCP_Descriptor indicates the copy permission setting in TP_extra_header. If DTCP_Descriptor is described here so that it means "copy prohibited", then TS packets will not be recorded on other devices when using a local network connected via IEEE1394. the

(G)在各实施方式中,在记录媒体上记录的数字流是AVClip,但是也可以是DVD-Video标准、DVD-Video记录标准的VOB(video Object)。VOB是通过多路复用视频流、音频流得到的ISO/IEC13818-1规格标准的节目流。另外,AVClip中的视频流也可以是MPEG4和MMV方式。进一步,音频流也可以是Linear-PCM方式、Dolby-AV3方式、MP3方式、MPEG-AAC方式、Dts、WMA(Windows media audio)。  (G) In each embodiment, the digital stream recorded on the recording medium is an AVClip, but it may be a DVD-Video standard or a VOB (video object) of the DVD-Video recording standard. VOB is an ISO/IEC13818-1 standard program stream obtained by multiplexing a video stream and an audio stream. In addition, the video stream in AVClip can also be MPEG4 and MMV. Further, the audio stream can also be Linear-PCM, Dolby-AV3, MP3, MPEG-AAC, Dts, WMA (Windows media audio). the

(H)各实施方式中的视频作品也可通过对用模拟广播广播的模拟视频信号进行编码来得到。也可以是由通过数字广播广播的传输流构成的流数据。  (H) The video work in each embodiment can also be obtained by encoding an analog video signal broadcast by analog broadcasting. It may also be stream data constituted by a transport stream broadcast by digital broadcasting. the

另外,也可对在录像带上记录的模拟/数字的视频信号进行编码来得到内容。进一步,也可以对从摄像机直接取得的模拟/数字的视频信号进行编 码来得到内容。除此之外,也可以是通过发送服务器发送的数字作品。  In addition, the content can also be obtained by encoding an analog/digital video signal recorded on a video tape. Furthermore, it is also possible to encode the analog/digital video signal directly obtained from the camera to obtain the content. In addition, it may also be a digital work sent through a sending server. the

(I)BD-J模块35也可以是为进行卫星广播接收而在设备上嵌入的Java平台。BD-J模块35若是该Java平台,则本发明的再现装置兼有作为MHP用STB的处理。  (I) The BD-J module 35 may be a Java platform embedded in the device for satellite broadcast reception. If the BD-J module 35 is the Java platform, the playback device of the present invention also serves as an MHP STB. the

进一步,也可以是为进行便携电话的处理控制在设备中嵌入的Java平台。若BD-J模块35是该Java平台,则本发明的再现装置兼有作为便携电话的处理。  Furthermore, a Java platform embedded in the device may be used to control the processing of the mobile phone. If the BD-J module 35 is the Java platform, the playback device of the present invention also functions as a mobile phone. the

(K)在层模型中,也可以在BD-J模式上配置MOVIE模式。这是因为尤其由于MOVIE模式下的动态脚本的解释和基于动态脚本的控制过程的执行对于再现装置的负担轻,所以即使在BD-J模式上执行MOVIE模式也可不会产生任何问题。这是因为在再现装置和视频作品的开发时,在一个模式下完成动作保证。  (K) In the layer model, the MOVIE mode can also be arranged on the BD-J mode. This is because the interpretation of the dynamic scenario and the execution of the control process based on the dynamic scenario in the MOVIE mode are light on the playback device, so that no problem occurs even if the MOVIE mode is executed in the BD-J mode. This is because motion assurance is accomplished in one mode at the time of development of a reproduction device and a video work. the

进一步,也可仅在BD-J模式下执行再现处理。如第五实施方式所示那样,由于可以在BD-J模式下进行与PL的再现同步的再现控制,所以是不用强制设置MOVIE模式的理由。  Furthermore, playback processing may be performed only in BD-J mode. As shown in the fifth embodiment, since playback control synchronized with playback of PL can be performed in BD-J mode, this is the reason why it is not necessary to forcibly set MOVIE mode. the

(L)也可通过在应多路复用在AVClip上的交互图像流上设置导航指令,来实现从某个PL向其他PL的分支。  (L) Branching from a certain PL to another PL can also be realized by setting a navigation command on an interactive video stream to be multiplexed on an AVClip. the

产业上的可用性  Industrial Availability

本发明的再现装置可以在如家庭影院系统中使用那样,可以在个人用途中使用。但是本发明在上述实施方式中公开了内部结构,由于根据该内部结构可以批量生产,所以实质上可以在工业上使用。由此,本发明的再现装置具有产业上的可利用性。  The playback device of the present invention can be used for personal use as in a home theater system. However, the present invention discloses an internal structure in the above-mentioned embodiments, and since mass production is possible with this internal structure, it can be practically used industrially. Therefore, the playback device of the present invention has industrial applicability. the

Claims (5)

1. recording method, recording indexes table, application program and pattern object is characterized in that in recording medium,
Said concordance list is represented the corresponding relation between title and the pattern object,
Said pattern object comprises the application program management table,
Said application program is to use the program of describing towards the programming language of virtual machine,
Said application program management is expressed with the interval for survival application program more than 1 of the title corresponding with said pattern object.
2. recording method according to claim 1 is characterized in that, said recording method is to said recording medium archive file, and this archive file stores constitutes application's data and program;
The combination that with the interval for survival application program of said each title is the title number of being inscribed by the identifier of the archive file that stores said application program and only table indicating shows.
3. transcriber is carried out in recording medium with the interval for survival application program of the title of correspondence, it is characterized in that, comprising:
Module management based on concordance list, is selected to the title of branch target title from a plurality of titles,
Module is used for executive utility;
In recording medium, record concordance list, application program and pattern object,
Said concordance list is represented the corresponding relation between title and the pattern object,
Said pattern object comprises the application program management table,
Said application program is to use the program of describing towards the programming language of virtual machine,
Said application program management is expressed with the interval for survival application program more than 1 of the title of correspondence,
Said module has application manager; Said application manager is under the situation of having selected the branch target title; The reference applications admin table judges whether to exist with the interval for survival application program of the title corresponding with the branch target title; Only for survival under the situation of interval application program, start this application program existing with the title of correspondence.
4. transcriber according to claim 3 is characterized in that:
The termination control of said application manager is following control: under the situation of having selected the branch target title; Reference table judges whether to exist in the application program in startup not with the interval for survival application program of branch target title; For survival under the situation of interval application program, stop existing not with the interval for survival application program of branch target title with the branch target title.
5. reproducting method is carried out in recording medium with the interval for survival application program of the title of correspondence, it is characterized in that, comprising:
Management process based on concordance list, is selected to the title of branch target title from a plurality of titles; And the module step, be used for executive utility,
In recording medium, record concordance list, application program and pattern object,
Said concordance list is represented the corresponding relation between title and the pattern object,
Said pattern object comprises the application program management table,
Said application program is to use the program of describing towards the programming language of virtual machine,
Said application program management is expressed with the interval for survival application program more than 1 of the title of correspondence,
Said module step is under the situation of having selected the branch target title; The reference applications admin table judges whether to exist with the interval for survival application program of the title corresponding with the branch target title; Only for survival under the situation of interval application program, start this application program existing with the title of correspondence.
CN200480029746XA 2003-10-10 2004-10-12 Recording method, reproducing device, reproducing method Expired - Fee Related CN1867999B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2003352913 2003-10-10
JP352913/2003 2003-10-10
JP379758/2003 2003-11-10
JP2003379758 2003-11-10
PCT/JP2004/015330 WO2005036554A1 (en) 2003-10-10 2004-10-12 Recording medium, reproduction device, program, and reproduction method

Publications (2)

Publication Number Publication Date
CN1867999A CN1867999A (en) 2006-11-22
CN1867999B true CN1867999B (en) 2012-03-21

Family

ID=37426174

Family Applications (7)

Application Number Title Priority Date Filing Date
CN200480029746XA Expired - Fee Related CN1867999B (en) 2003-10-10 2004-10-12 Recording method, reproducing device, reproducing method
CN200480029696A Expired - Lifetime CN100576331C (en) 2003-10-10 2004-10-12 Reproducing apparatus, reproducing method, and recording method
CN2004800297436A Expired - Fee Related CN1867988B (en) 2003-10-10 2004-10-12 Reproducing device, reproducing method
CN2008101459565A Expired - Fee Related CN101404173B (en) 2003-10-10 2004-10-12 Reproduction device, recording method, and reproduction method
CN2004800296950A Expired - Fee Related CN1867998B (en) 2003-10-10 2004-10-12 Recording method, reproducing device, reproducing method
CN2008101459550A Expired - Fee Related CN101393761B (en) 2003-10-10 2004-10-12 Playback apparatus, recording method, and playback method
CNB2004800296946A Expired - Fee Related CN100565687C (en) 2003-10-10 2004-10-12 Reproducing device, reproducing method

Family Applications After (6)

Application Number Title Priority Date Filing Date
CN200480029696A Expired - Lifetime CN100576331C (en) 2003-10-10 2004-10-12 Reproducing apparatus, reproducing method, and recording method
CN2004800297436A Expired - Fee Related CN1867988B (en) 2003-10-10 2004-10-12 Reproducing device, reproducing method
CN2008101459565A Expired - Fee Related CN101404173B (en) 2003-10-10 2004-10-12 Reproduction device, recording method, and reproduction method
CN2004800296950A Expired - Fee Related CN1867998B (en) 2003-10-10 2004-10-12 Recording method, reproducing device, reproducing method
CN2008101459550A Expired - Fee Related CN101393761B (en) 2003-10-10 2004-10-12 Playback apparatus, recording method, and playback method
CNB2004800296946A Expired - Fee Related CN100565687C (en) 2003-10-10 2004-10-12 Reproducing device, reproducing method

Country Status (2)

Country Link
KR (1) KR101076198B1 (en)
CN (7) CN1867999B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005045840A1 (en) * 2003-11-10 2005-05-19 Matsushita Electric Industrial Co., Ltd. Recording medium, reproduction device, program, reproduction method, and system integrated circuit
KR100694123B1 (en) 2004-07-30 2007-03-12 삼성전자주식회사 Storage medium recording motion picture data and application program, apparatus and method for playing same
KR100943907B1 (en) * 2008-01-10 2010-02-24 엘지전자 주식회사 Data playback method and recording / playback device and digital broadcast receiver
WO2010007757A1 (en) * 2008-07-16 2010-01-21 パナソニック株式会社 Reproduction device, reproduction method, and program
JP5368470B2 (en) * 2008-11-06 2013-12-18 パナソニック株式会社 Reproduction apparatus, reproduction method, reproduction program, and integrated circuit
JP4825321B2 (en) * 2009-05-25 2011-11-30 パナソニック株式会社 Playback device, playback method, and program
US9600351B2 (en) * 2012-12-14 2017-03-21 Microsoft Technology Licensing, Llc Inversion-of-control component service models for virtual environments
CN104679578B (en) * 2015-03-12 2018-09-07 绚视软件科技(上海)有限公司 Minimum memory adaptation mechanism on BD-java platforms and application method
CN110083737A (en) * 2019-03-20 2019-08-02 维沃移动通信有限公司 A kind of searching method and terminal device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194618A1 (en) * 2001-04-02 2002-12-19 Matsushita Electric Industrial Co., Ltd. Video reproduction apparatus, video reproduction method, video reproduction program, and package media for digital video content

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0777230A1 (en) * 1995-12-04 1997-06-04 Markus Zwickl Compact discs comprising additional text information
EP1003173A4 (en) * 1998-06-09 2006-01-18 Sony Corp RECORDED MEDIUM, REPRODUCING APPARATUS, RECORDING APPARATUS, AND REPRODUCING AND RECORDING METHODS
AU781357B2 (en) * 1999-07-13 2005-05-19 Sun Microsystems, Inc. Methods and apparatus for managing an application according to an application lifecycle
CA2388789A1 (en) * 1999-10-29 2001-05-10 Opentv, Corp. System and method for recording pushed data
EP1234446B1 (en) * 1999-10-29 2003-06-18 OpenTV, Corp. Playback of interactive programs
JP2002369154A (en) * 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd Video playback device, video playback method, video playback program, and package media for digital video content
DE60223483T2 (en) * 2001-10-29 2008-09-18 Humax Co. Ltd., Yougin A method of recording a digital broadcast program and time based replay of a recorded broadcast program and associated apparatus
JP2003249057A (en) 2002-02-26 2003-09-05 Toshiba Corp Enhanced navigation system using digital information media

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194618A1 (en) * 2001-04-02 2002-12-19 Matsushita Electric Industrial Co., Ltd. Video reproduction apparatus, video reproduction method, video reproduction program, and package media for digital video content

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP特开2003-249057A 2003.09.05
JP特开平6-4166A 1994.01.14

Also Published As

Publication number Publication date
CN101404173A (en) 2009-04-08
CN101393761A (en) 2009-03-25
CN1867999A (en) 2006-11-22
KR101076198B1 (en) 2011-10-21
CN101393761B (en) 2012-01-11
CN100565687C (en) 2009-12-02
CN1867998B (en) 2011-12-14
CN101404173B (en) 2012-05-23
CN1867998A (en) 2006-11-22
CN1867986A (en) 2006-11-22
CN1867988B (en) 2010-05-05
CN100576331C (en) 2009-12-30
CN1867988A (en) 2006-11-22
CN1867987A (en) 2006-11-22
KR20070018799A (en) 2007-02-14

Similar Documents

Publication Publication Date Title
CN101702320B (en) reproduction device
CN1867999B (en) Recording method, reproducing device, reproducing method
JP4012563B2 (en) Recording medium, playback device, program, and playback method.
JP4117019B2 (en) Recording medium, reproducing apparatus, recording method, reproducing method
JP4091105B2 (en) Recording medium, reproducing apparatus, recording method, reproducing method
JP4091104B2 (en) Recording medium, reproducing apparatus, recording method, reproducing method

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: 20120321

Termination date: 20151012

EXPY Termination of patent right or utility model