+

CN101640059A - Playback apparatus for performing application-synchronized playback - Google Patents

Playback apparatus for performing application-synchronized playback Download PDF

Info

Publication number
CN101640059A
CN101640059A CN200910151262A CN200910151262A CN101640059A CN 101640059 A CN101640059 A CN 101640059A CN 200910151262 A CN200910151262 A CN 200910151262A CN 200910151262 A CN200910151262 A CN 200910151262A CN 101640059 A CN101640059 A CN 101640059A
Authority
CN
China
Prior art keywords
file
information
playback
management information
title
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910151262A
Other languages
Chinese (zh)
Other versions
CN101640059B (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
Publication of CN101640059A publication Critical patent/CN101640059A/en
Application granted granted Critical
Publication of CN101640059B publication Critical patent/CN101640059B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

一种结合应用程序用于播放数字流的重放装置包括包管理单元,用于根据合并管理信息通过合并记录在第一记录介质和第二记录介质上的文件来生成包信息,和选择单元,用于检测来自包信息的多个可播放标题,并且选择所检测到的标题中的一个作为当前标题。在应用程序通过指定新合并管理信息请求包管理单元更新合并管理信息之后,在更新包信息之前,包管理单元将从新指定合并管理信息引用的文件变为只读,并且在数字流重放由于选择单元选择的当前标题变化而停止时,包管理单元根据新指定的合并管理信息通过组合记录在第一和第二记录介质上的文件生成新包信息。

A playback device for playing a digital stream in combination with an application program includes a package management unit for generating package information by merging files recorded on a first recording medium and a second recording medium according to the merging management information, and a selection unit, Used to detect a plurality of playable titles from package information, and select one of the detected titles as the current title. After the application program requests the package management unit to update the merge management information by specifying the new merge management information, before updating the package information, the package management unit will make the file referenced from the newly specified merge management information read-only, and the playback of the digital stream due to the selection When the current title selected by the unit changes and stops, the package management unit generates new package information by combining files recorded on the first and second recording media according to newly designated merge management information.

Description

用于执行应用程序同步重放的重放装置 Playback device for performing application-synchronized playback

本申请为2005年7月21日提交的申请号为200580024823.7、名称为“用于执行应用程序同步重放的重放装置”的分案申请。This application is a divisional application filed on July 21, 2005 with application number 200580024823.7 and titled "Playback Apparatus for Executing Synchronous Playback of Application Programs".

技术领域 technical field

本发明属于数字流和应用程序同步重放的技术领域。The invention belongs to the technical field of synchronous playback of digital streams and application programs.

背景技术 Background technique

应用程序同步重放是用于在重放装置或用于播放视频的类似装置中运行Java(注册商标)应用程序的同时播放数字流的一项技术,并且属于在今后制造的消费品中将吸引大量关注的技术领域。用于同步的应用程序和数字流以被称为“标题”的重放为单位彼此相联系。下面描述传统的重放装置。传统的重放装置由虚拟文件系统单元、模块管理器、重放单元和平台单元构成。Application-synchronized playback is a technology for playing a digital stream while running a Java(registered trademark) application in a playback device or the like for playing video, and belongs to consumer products that will attract a large number of products manufactured in the future. Technical areas of concern. Applications and digital streams for synchronization are associated with each other in playback units called "titles". A conventional playback device is described below. A conventional playback device is composed of a virtual file system unit, a module manager, a playback unit, and a platform unit.

虚拟文件系统单元管理由重放装置访问的多个记录介质,例如光记录介质(例如DVD-ROM,BD-ROM,在后面作为例子描述后者)和磁记录介质(例如硬盘),并且生成整体地显示这些记录介质所记录内容的包信息。The virtual file system unit manages a plurality of recording media accessed by a playback device, such as optical recording media (such as DVD-ROM, BD-ROM, the latter will be described later as an example) and magnetic recording media (such as hard disks), and generates a whole The package information of the content recorded on these recording media is displayed accurately.

每条包信息被称为虚拟包,其在记录于这些记录介质上的数据流和应用程序(在下文简称为“应用程序”)的重放/执行中被提交,就如同它们实际记录在单一包中。Each piece of package information is called a virtual package, which is submitted in playback/execution of streams and applications (hereinafter simply referred to as "applications") recorded on these recording media as if they were actually recorded in a single in the bag.

模块管理器选择多个标题中的一个作为当前标题。The module manager selects one of the titles as the current title.

重放单元从包信息所示的数字流中播放构成当前标题的数字流(即记录在光或磁记录介质上)。The playback unit plays the digital stream constituting the current title (ie recorded on the optical or magnetic recording medium) from the digital stream indicated by the package information.

平台单元从包信息所示的应用程序中运行构成当前标题的应用程序(即记录在光或磁记录介质上)。The platform unit executes the application program constituting the current title (ie, recorded on an optical or magnetic recording medium) from among the application programs indicated by the package information.

根据以上结构,记录在不同记录介质例如BD-ROM和硬盘上的数字流和应用程序可以作为单一(虚拟)包来对待,并且重放装置能够以标题为单位实现重放控制。According to the above structure, digital streams and application programs recorded on different recording media such as BD-ROM and hard disk can be treated as a single (virtual) package, and the playback apparatus can realize playback control in units of titles.

以上结构中的标题不仅用于记录在用于重放的BD-ROM上的数字流而且用于记录在硬盘上的数字流。由于硬盘是可重写的记录介质,因此标题的组成要素可能通过重放部分地被替换,例如当使用新采集的数字流新生成包信息时。Titles in the above structure are used not only for the digital stream recorded on the BD-ROM for playback but also for the digital stream recorded on the hard disk. Since a hard disk is a rewritable recording medium, constituent elements of a title may be partially replaced by playback, for example, when package information is newly generated using a newly captured digital stream.

在很大程度上认为这样的替换引起的情况难以恢复例如在重放期间由重放单元的异常操作产生的视频中断。It is largely considered that such a replacement causes a situation where it is difficult to recover, for example, a video interruption generated by an abnormal operation of a playback unit during playback.

如果重放装置中的重放单元顺序地检验例如用于重放的数据流和重放控制信息的要素的一致性,可以预期通过重放部分地替换重放对象。然而,假设需要检验的信息类型互异,这对重放单元造成了很大负担。If the playback unit in the playback device sequentially checks, for example, the data stream for playback and the consistency of elements of playback control information, it can be expected to partially replace the playback object by playback. However, assuming that the types of information to be checked are different, this imposes a large burden on the playback unit.

为了绝对保证设备的稳定操作,理想的是当在硬盘上的记录内容中有变化时重启设备自身,就象当你安装软件时那样。然而,假设在任何地方重启设备花费几秒到几分钟的处理时间,这并不是用户能轻松承担的事情。In order to absolutely guarantee stable operation of the device, it is ideal to restart the device itself when there is a change in the recorded content on the hard disk, like when you install software. However, assuming that rebooting a device anywhere takes seconds to minutes of processing time, this is not something users can easily afford.

发明内容 Contents of the invention

本发明的目标是提供一种重放装置,即使在重放对象中有变化时所述重放装置也能够实现稳定重放。An object of the present invention is to provide a playback device capable of stable playback even when there is a change in a playback object.

为了解决以上问题,本发明是一种结合应用程序播放数字流的重放装置,其包括包管理单元,用于根据合并管理信息通过合并记录在第一记录介质和第二记录介质上的文件所述包管理单元生成包信息,和选择单元,用于检测来自包信息的多个可播放标题,并且选择检测到的标题中的一个作为当前标题。当应用程序通过指定新合并管理信息请求包管理单元更新合并管理信息之后,在更新包信息之前包管理单元将从新指定合并管理信息引用的文件变为只读,并且在数字流重放由于当前标题由选择单元改变而停止时,包管理单元根据新指定的合并管理信息通过组合记录在第一和第二记录介质上的文件生成新包信息。In order to solve the above problems, the present invention is a playback device for playing a digital stream combined with an application program, which includes a package management unit for combining files recorded on the first recording medium and the second recording medium according to the combination management information. The package management unit generates package information, and the selection unit detects a plurality of playable titles from the package information, and selects one of the detected titles as a current title. After the application program requests the package management unit to update the merge management information by specifying the new merge management information, the package management unit will make the file referenced from the newly specified merge management information read-only before updating the package information, and the playback of the digital stream due to the current title When stopped by the selection unit change, the package management unit generates new package information by combining files recorded on the first and second recording media according to newly designated merge management information.

由于具有以上结构,本发明保证了在应用程序通过指定新合并管理信息请求包管理单元更新合并管理信息的情况下,从新指定的合并管理信息引用的文件的内容从提出更新请求的时间直到当前标题变化都未被改变,这是因为在更新包信息之前包管理单元将从新指定的合并管理信息引用的文件设置为只读。而且,通过在数字流重放由于当前标题变化被停止时更新包信息,即使例如用于重放/执行的数字流或应用程序由于更新被替换也不会引起重放装置的异常操作。With the above structure, the present invention guarantees that in the case where an application program requests the package management unit to update the merge management information by designating new merge management information, the content of the file referenced from the newly designated merge management information will None of the changes were changed because the package management unit made the files referenced from the newly specified merge management information read-only before updating the package information. Also, by updating the package information when digital stream playback is stopped due to current title change, abnormal operation of the playback apparatus will not be caused even if, for example, a digital stream for playback/execution or an application program is replaced due to updating.

因而,由于可以通过动态地合并记录在第一和第二两个记录介质上的文件并且同时保证重放装置的稳定操作而实现重放控制,扩大了电影作品的表达宽度。Thus, since playback control can be realized by dynamically combining files recorded on both the first and second recording media while ensuring stable operation of the playback device, the expressive breadth of a movie production is expanded.

在这里,包管理单元可以被配置成如果请求更新的应用程序的许可标记(tag)中的信息指示应用程序已被分配更新包信息的权利,则更新包信息,如果该信息指示未被分配更新的权利,则拒绝更新请求并且执行异常处理。Here, the package management unit may be configured to update the package information if the information in the permission tag (tag) of the application program requesting the update indicates that the application program has been allocated the right to update the package information, and if the information indicates that the update package information has not been allocated rights, the update request is rejected and exception handling is performed.

该结构能够阻止未授权应用程序请求的包信息的更新。This structure can prevent update of package information requested by unauthorized applications.

附图说明 Description of drawings

图1是系统图;Fig. 1 is a system diagram;

图2显示了BD-ROM 100的内部结构;Figure 2 shows the internal structure of the BD-ROM 100;

图3系统地显示了怎样构造扩展名为“m2ts”的文件;Figure 3 systematically shows how to construct a file with the extension "m2ts";

图4显示了PL信息的结构;Figure 4 shows the structure of PL information;

图5显示了AVClip和PL之间的关系;Figure 5 shows the relationship between AVClip and PL;

图6显示了使用四个Clip_Information_file_names的分批指定;Figure 6 shows batch specification using four Clip_Information_file_names;

图7显示了PLMark信息的内部结构;Figure 7 shows the internal structure of PLMark information;

图8显示了使用PLMarks的章节定义;Figure 8 shows the chapter definition using PLMarks;

图9显示了Subpath信息的内部结构;Figure 9 shows the internal structure of Subpath information;

图10显示了同步指定和SubClip时间轴上的重放间隔定义;Figure 10 shows the synchronization specification and playback interval definition on the SubClip time axis;

图11A显示了被包含在档案文件中的程序数据;Figure 11A shows the program data contained in the archive file;

图11B显示了类文件的内部结构;Figure 11B shows the internal structure of the class file;

图12显示了BD-J对象的内部结构;Figure 12 shows the internal structure of the BD-J object;

图13显示了INDEX.BDMV的内部结构;Figure 13 shows the internal structure of INDEX.BDMV;

图14显示了本地存储器中的目录结构;Figure 14 shows the directory structure in the local storage;

图15显示了由存储在本地存储器中的PL信息定义的播放列表重放时间轴的类型;Fig. 15 has shown the type of playlist playback time axis defined by the PL information stored in the local memory;

图16A显示了存储在BD-ROM上的AVClip和存储在本地存储器中的Java应用程序和AVClip;Figure 16A shows an AVClip stored on a BD-ROM and a Java application and an AVClip stored in a local storage;

图16B显示了作为单一标题来对待的Java应用程序和AVClip#1-#4;Figure 16B shows a Java application and AVClip #1-#4 treated as a single title;

图17显示了合并管理信息文件的典型内部结构;Figure 17 shows a typical internal structure of a merge management information file;

图18显示了重放装置的硬件配置;Fig. 18 shows the hardware configuration of the playback device;

图19描绘了由硬件和存储在指令ROM 21上的软件组成的以层状结构重布置的元件;Fig. 19 depicts elements rearranged in a layered structure consisting of hardware and software stored on the instruction ROM 21;

图20显示了Java虚拟机30的内部结构;Fig. 20 has shown the internal structure of Java virtual machine 30;

图21显示了由标题变化产生的状态转变;Figure 21 shows the state transitions produced by title changes;

图22显示了由虚拟文件系统单元38典型地产生虚拟包信息;Fig. 22 has shown the virtual package information that is typically generated by the virtual file system unit 38;

图23A显示了整个光盘的时间轴;Figure 23A shows the time axis of the entire disc;

图23B显示了整个光盘的时间轴的结构;Figure 23B shows the structure of the time axis of the entire disc;

图24是由Java应用程序执行的下载处理的流程图;Fig. 24 is a flowchart of download processing performed by a Java application;

图25是更新“准备”过程的流程图;Figure 25 is a flowchart of the update "prepare" process;

图26是虚拟包“更新”过程的流程图;Fig. 26 is a flowchart of the virtual package "update" process;

图27是由模块管理器执行的处理的流程图;Figure 27 is a flowchart of the processing performed by the module manager;

图28是PL重放过程的流程图;Figure 28 is a flowchart of the PL playback process;

图29显示了在标题变化期间怎样更新虚拟包信息;Figure 29 shows how virtual package information is updated during a title change;

图30显示了将当前合并管理信息文件发送到服务器的Java应用程序;Figure 30 shows the Java application that sends the current merged management information file to the server;

图31显示了下载内容文件、新合并管理信息文件和新签名信息文件的Java应用程序;Figure 31 shows the Java application for downloading content files, new merged management information files and new signature information files;

图32显示了向虚拟文件系统单元38提出更新请求的Java应用程序;Figure 32 has shown the Java application program that makes update request to virtual file system unit 38;

图33显示了合并管理和签名信息文件的替换,和内容文件的映射;Figure 33 shows the replacement of merge management and signature information files, and the mapping of content files;

图34A是当标题调用之后暂停当前标题的重放时由重放控制引擎执行的处理的流程图;34A is a flowchart of the processing performed by the playback control engine when the playback of the current title is suspended after a title call;

图34B是当所调用的标题的重放结束之后继续重放原始标题时由重放控制引擎执行的处理的流程图;34B is a flowchart of processing performed by the playback control engine when playback of the original title continues after playback of the called title ends;

图35显示了实施方式3中的合并管理信息文件;Fig. 35 shows the merge management information file in Embodiment 3;

图36显示了关于实施方式3的Java应用程序,该应用程序请求更新虚拟包;Fig. 36 has shown the Java application program about embodiment 3, and this application program requests to update the virtual package;

图37显示了由使用合并管理信息文件的常驻应用程序向用户显示的典型附加内容列表;Figure 37 shows a typical additional content list displayed to a user by a resident application using a merged management information file;

图38是关于实施方式3的从BD-ROM的装载直到重放的处理流程的流程图;FIG. 38 is a flowchart of the flow of processing from loading of a BD-ROM to playback according to Embodiment 3;

图39显示了当请求虚拟包更新时被指定的有效间隔;Figure 39 shows the valid intervals specified when a virtual package update is requested;

图40是关于实施方式4的从BD-ROM的装载(或重放装置的重启)直到重放的处理流程的流程图;40 is a flowchart of the processing flow from loading of BD-ROM (or restart of playback device) to playback in Embodiment 4;

图41显示了用于筛选虚拟包更新请求的许可请求文件;Figure 41 shows a license request file for screening virtual package update requests;

图42显示了强加在用于合并的本地存储器中的目录上的访问限制;Figure 42 shows the access restrictions imposed on directories in local storage for merging;

图43显示了其生命周期被限制到单一标题的Java应用程序和其生命周期持续多个标题的Java应用程序;Figure 43 shows a Java application whose lifecycle is restricted to a single title and a Java application whose lifecycle lasts multiple titles;

图44显示了在标题变化期间当更新虚拟包时在未绑定标题(title-unbound)的应用程序上执行的处理;Figure 44 shows the processing performed on a title-unbound application when a virtual package is updated during a title change;

图45是考虑未绑定标题的应用程序的标题变化处理的流程图;和FIG. 45 is a flow chart of title change processing for applications considering unbound titles; and

图46是在INDEX.BDMV文件变化之后的虚拟包更新的流程图。Fig. 46 is a flowchart of virtual package update after INDEX.BDMV file change.

具体实施方式 Detailed ways

实施例1Example 1

下面描述与本发明相关的记录介质的实施例。首先,描述关于本发明的重放装置的实现形式中的一种使用形式。图1显示了关于本发明的重放装置的典型使用形式。在图1中,关于本发明的重放装置是重放装置200。重放装置200用于在家庭影院系统中提供电影作品,所述家庭影院系统例如由重放装置200,遥控器300,和电视400组成。Embodiments of recording media related to the present invention are described below. First, one usage form among the implementation forms of the playback apparatus related to the present invention will be described. Fig. 1 shows a typical usage form of the playback device related to the present invention. In FIG. 1 , a playback device related to the present invention is a playback device 200 . The playback device 200 is used to provide movie works in a home theater system composed of, for example, the playback device 200 , a remote controller 300 , and a television 400 .

关于本发明的重放装置的典型使用形式如上所述。接着描述用于由关于本发明的重放装置进行重放的记录介质。在给出的例子中,由关于本发明的重放装置播放的记录介质是BD-ROM 100(光记录介质)。图2显示了BD-ROM 100的内部结构。Typical forms of use of the playback apparatus of the present invention are as described above. Next, a recording medium for playback by the playback apparatus pertaining to the present invention will be described. In the given example, the recording medium played back by the playback apparatus pertaining to the present invention is the BD-ROM 100 (optical recording medium). Figure 2 shows the internal structure of the BD-ROM 100.

在图2中的第四层级显示了BD-ROM 100,而在第三层级显示了BD-ROM上的轨道。图2中描绘的轨道由从BD-ROM的内圆周到外圆周的轨道螺旋产生,其对于侧面已经被画出。该轨道由导入区、卷区和导出区组成。图2中的卷区具有由物理层、文件系统层和应用层组成的层状结构。使用目录结构表达BD-ROM的应用格式给出了图2中的第一层级。BDMV目录放置在BD-ROM中的第一层级的根目录下。The fourth level in FIG. 2 shows the BD-ROM 100, while the third level shows the tracks on the BD-ROM. The track depicted in Figure 2 results from a track spiral from the inner to the outer circumference of the BD-ROM, which has been drawn for the sides. The track consists of a lead-in area, a volume area and a lead-out area. The volume area in FIG. 2 has a layered structure consisting of a physical layer, a file system layer and an application layer. Expressing the application format of the BD-ROM using a directory structure gives the first level in FIG. 2 . The BDMV directory is placed under the root directory of the first level in the BD-ROM.

INDEX.BDMV文件布置在BDMV目录中,并且在BDMV目录下存在五个子目录,它们被称为PLAYLIST目录,CLIPINF目录,STREAM目录,BDJA目录,和BDBJ目录。The INDEX.BDMV file is arranged in the BDMV directory, and there are five subdirectories under the BDMV directory, which are called PLAYLIST directory, CLIPINF directory, STREAM directory, BDJA directory, and BDBJ directory.

STREAM目录存储形成主数字流的文件,将扩展名“m2ts”分配给该文件(00001.m2ts)。The STREAM directory stores files forming the main stream, to which the extension "m2ts" is assigned (00001.m2ts).

在PLAYLIST目录中存在扩展名为“mpls”的文件(00001.mpls)。A file (00001.mpls) with the extension "mpls" exists in the PLAYLIST directory.

在CLIPINF目录中存在扩展名为“clpi”的文件(00001.clpi)。A file (00001.clpi) with the extension "clpi" exists in the CLIPINF directory.

在BDJA目录中存在扩展名为“jar”的文件(00001.jar)。A file (00001.jar) with the extension "jar" exists in the BDJA directory.

在BDBJ目录中存在扩展名为“bdbj”的文件(00001.bdbj)。A file (00001.bdbj) with the extension "bdbj" exists in the BDBJ directory.

接着描述这些文件。These files are described next.

AVClipAVClips

首先描述扩展名为“m2ts”的文件(00001.m2ts)。图3系统地显示了怎样构造扩展名为“m2ts”的文件。该文件存储AVClip。通过多路复用TS包构成AVClip(中间层级),通过将由多个视频帧(图片pj1,pj2,pj3)组成的视频流和由多个音频帧组成的音频流(上面第一层级)首先转换成PES包(上面第二层级),然后转换成TS包(上面第三层级),并且以相同的方式将字幕图形显示(P图形或PG)流(下面第一层级)和对话交互图形(I图形或IG)流(下面第一层级)转换成TS包(下面第三层级)来产生所述TS包。First, a file (00001.m2ts) with an extension "m2ts" is described. Figure 3 systematically shows how to construct a file with the extension "m2ts". This file stores the AVClip. AVClip (middle level) is formed by multiplexing TS packets, and the video stream composed of multiple video frames (picture pj1, pj2, pj3) and the audio stream composed of multiple audio frames (first level above) are first converted into PES packets (the second level above), and then converted into TS packets (the third level above), and display subtitle graphics (P graphics or PG) streams (first level below) and dialog interactive graphics (I Graphics or IG) streams (first level below) are converted into TS packets (third level below) to generate the TS packets.

除了如图3中所示通过多路复用获得的AVClip之外,也存在不是由多路复用产生的AVClip。这些被称为SubClip,并且包括构成音频流、图形流或文本字幕流(TextST流)等的AVClip。In addition to AVClips obtained by multiplexing as shown in FIG. 3, there are also AVClips not produced by multiplexing. These are called SubClips, and include AVClips constituting an audio stream, a graphics stream, or a text subtitle stream (TextST stream), or the like.

剪辑信息clip information

扩展名为“clpi”的文件(00001.clpi)是与AVClip对应的一条剪辑信息。剪辑信息是管理信息,其包含显示GOP的头位置的EP_map,和诸如AVClip中的流的编码格式、帧频、比特率和分辨率等的信息。A file (00001.clpi) with an extension of "clpi" is a piece of clip information corresponding to an AVClip. Clip information is management information that contains EP_map showing the head position of a GOP, and information such as the encoding format, frame rate, bit rate, and resolution of a stream in an AVClip.

PL信息PL information

扩展名为“mpls”的文件(00001.mpls)存储播放列表(PL)信息。PL信息通过参考AVClip定义播放列表。图4显示了PL信息的结构,如图的左侧所示,PL信息由MainPath信息,PLMark信息和SubPath信息构成。A file (00001.mpls) with an extension of "mpls" stores Play List (PL) information. PL information defines a PlayList by referring to an AVClip. Figure 4 shows the structure of PL information. As shown on the left side of the figure, PL information consists of MainPath information, PLMark information and SubPath information.

MainPath信息“MainPath()”由箭头mpl所指示的播放项目信息“PlayItem()”组成。播放项目是通过在一个或多个AVClip时间轴上指定In_time和Out_time来定义的重放间隔。多条播放项目信息的放置定义由多个重放间隔组成的列表。图4中的箭头mp2显示了播放项目信息的内部结构的特写。如图4中所示,播放项目信息由In_time,Out_time和显示相应的AVClip的Clip_Information_file_name组成。图5显示了AVClip和PL之间的关系。第一层级显示AVClip的时间轴,而第二层级显示PL的时间轴。PL信息包括三条播放项目信息(PlayItem#1-#3),其中三个重放间隔由PlayItem#1、#2和#3的In_times和Out_times定义。当这些重放间隔以线布置时定义不同于AVClip的时间轴。这是在第二层级所示的PL时间轴。因而允许通过播放项目信息中的定义来定义不同于AVClip的时间轴。The MainPath information "MainPath( )" is composed of PlayItem information "PlayItem( )" indicated by the arrow mpl. PlayItems are playback intervals defined by specifying In_time and Out_time on one or more AVClip timelines. The placement definition of pieces of PlayItem information is a list consisting of a number of playback intervals. Arrow mp2 in Fig. 4 shows a close-up of the internal structure of the playitem information. As shown in FIG. 4, the PlayItem information is composed of In_time, Out_time, and Clip_Information_file_name showing the corresponding AVClip. Figure 5 shows the relationship between AVClip and PL. The first level shows the time axis of the AVClip, and the second level shows the time axis of the PL. The PL information includes three pieces of PlayItem information (PlayItem#1-#3), where three playback intervals are defined by In_times and Out_times of PlayItem#1, #2, and #3. A time axis different from AVClip is defined when these playback intervals are arranged in lines. This is the PL timeline shown at the second level. It is thus allowed to define a time axis other than AVClip by definition in PlayItem Information.

通常,在任何一个时间指定一个AVClip,尽管多个AVClip的分批指定也是可能的。使用播放项目信息中的Clip_Information_file_names执行AVClip的分批指定。图6显示了使用四个Clip_Information_file_names分批指定AVClip。图中的第一至第四层级显示了四个AVClip时间轴(时间轴AVClips#1-#4),而第五层级显示了PL时间轴。四个时间轴由包括在播放项目信息中的这四个Clip_Information_file_names指定。这允许由In_times和Out_times定义四种备选的可播放的重放间隔。结果,在PL时间轴上定义由多条可切换角视频(所称的多角度间隔)组成的间隔。Usually, one AVClip is assigned at any one time, although batch assignment of multiple AVClips is also possible. Batch designation of AVClip is performed using Clip_Information_file_names in PlayItem Information. Figure 6 shows specifying an AVClip in batches using four Clip_Information_file_names. The first to fourth levels in the figure show four AVClip time axes (time axes AVClips#1-#4), while the fifth level shows the PL time axis. Four time axes are specified by these four Clip_Information_file_names included in the PlayItem information. This allows four alternative playable playback intervals defined by In_times and Out_times. As a result, intervals consisting of a plurality of switchable angle videos (so-called multi-angle intervals) are defined on the PL time axis.

PLMark信息“PLMark()”指定PL时间轴上的任意间隔作为章节。图7显示了PLMark信息的内部结构,该内部结构包括箭头pm1所指示的ref_to_playitem_id和Mark_time_stamp。图8显示了使用PLMark定义章节。图8中的第一层级显示AVClip时间轴,而第二层级显示PL时间轴。图8中的箭头pk1和pk2显示PLMark中的播放项目(ref_to_playitem_id)和时间点(Mark_time_stamp)的指定。由于这些指定在PL时间轴上定义三个章节(Chapters#1-#3)。这完成了对PLMark的描述。PLMark information "PLMark()" specifies an arbitrary interval on the PL time axis as a chapter. Fig. 7 shows the internal structure of PLMark information, which includes ref_to_playitem_id and Mark_time_stamp indicated by arrow pm1. Figure 8 shows the chapter definition using PLMark. The first hierarchy in Fig. 8 shows the AVClip time axis, and the second hierarchy shows the PL time axis. Arrows pk1 and pk2 in FIG. 8 show designation of a play item (ref_to_playitem_id) and a time point (Mark_time_stamp) in PLMark. Due to these designations three chapters (Chapters#1-#3) are defined on the PL time axis. This completes the description of PLMark.

接着描述SubPath信息。SubPath information is described next.

SubPath信息“SubPath()”通过在SubClip时间轴上指定In_time和Out_time定义一个或多个重放间隔,并且具有图9中所示的内部结构。SubPath信息由箭头sh1所指示的子播放项目信息“SubPlayItem()”组成。在箭头sh2所标记的特写中,子播放项目信息由Clip_Information_file_name,In_time,Out_time,Sync_PlayItem_Id,和Sync_Start_PTS_of_PlayItem组成。使用包括在子播放项目信息中的Clip_Information_file_name,In_time和Out_time指定SubClip时间轴上的In_times和Out_times。Sync_PlayItem_Id,和Sync_Start_PTS_of_PlayItem用于使SubClip时间轴和PL时间轴上的重放间隔同步。这允许在SubClip时间轴和PL时间轴上的处理以彼此同步进行。SubPath information "SubPath()" defines one or more playback intervals by specifying In_time and Out_time on the SubClip time axis, and has the internal structure shown in FIG. 9 . The SubPath information is composed of subplayitem information "SubPlayItem()" indicated by the arrow sh1. In the close-up marked by arrow sh2, the sub play item information is composed of Clip_Information_file_name, In_time, Out_time, Sync_PlayItem_Id, and Sync_Start_PTS_of_PlayItem. In_times and Out_times on the SubClip time axis are specified using Clip_Information_file_name, In_time and Out_time included in the SubPlayItem information. Sync_PlayItem_Id, and Sync_Start_PTS_of_PlayItem are used to synchronize playback intervals on the SubClip time axis and the PL time axis. This allows processing on the SubClip time axis and the PL time axis to be performed in synchronization with each other.

图10显示了同步指定和SubClip时间轴上的重放间隔的定义。图10中的第一层级显示PL时间轴,而第二层级显示SubClip时间轴。图10中的SubPlayItem.In_time和SubPlayItem.Out_time分别显示重放间隔的开始和结束。因而显然重放间隔也在SubClip时间轴上被定义。箭头Sn1所标记的Sync_PlayItem_Id显示播放项目的同步指示,而箭头Sn2所标记的Sync_Start_PTS_of_PlayItem指定PL时间轴上的播放项目期间的一点。Fig. 10 shows synchronization designation and definition of playback intervals on the SubClip time axis. The first level in Fig. 10 shows the PL time axis, and the second level shows the SubClip time axis. SubPlayItem.In_time and SubPlayItem.Out_time in Fig. 10 show the start and end of the playback interval, respectively. It is thus obvious that the playback interval is also defined on the SubClip time axis. Sync_PlayItem_Id marked by an arrow Sn1 shows a synchronization indication of a PlayItem, and Sync_Start_PTS_of_PlayItem marked by an arrow Sn2 specifies a point during a PlayItem on the PL time axis.

BD-ROM中的PL信息的特征在于它使得定义允许切换AVClip的多角度间隔和允许同步AVClip和SubClip的同步间隔成为可能。将剪辑信息和PL信息归类为“静态脚本”。A feature of PL information in a BD-ROM is that it makes it possible to define a multi-angle interval that allows switching of AVClips and a synchronization interval that allows AVClips and SubClips to be synchronized. Clip information and PL information are classified as "static scenario".

下面描述“动态脚本”。在这里“动态”指的是重放控制的内容由于用户键事件和重放装置200中的状态变化等而变化。使用BD-ROM,可以使用与Java应用程序相同的描述来描述重放控制。也就是说,使用BD-ROM,Java应用程序充当动态脚本。"Dynamic script" is described below. "Dynamic" here means that the content of the playback control changes due to user key events, state changes in the playback apparatus 200, and the like. With BD-ROM, playback control can be described using the same description as Java applications. That is, with a BD-ROM, a Java application acts as a dynamic script.

Java应用程序java application

下面描述Java应用程序。Java应用程序由装载在虚拟机的堆积区(也称为工作存储器)中的一个或多个xlet程序组成。应用程序由装载在工作存储器中的xlet程序以及数据构成。Java应用程序结构如上所述。The Java application is described below. A Java application program consists of one or more xlet programs loaded in the heap area (also called working memory) of the virtual machine. The application program is composed of an xlet program and data loaded in the work memory. The Java application structure is as described above.

实际Java应用程序是存储在图2中的BDMV目录下的BDJA目录中的Java档案文件(00001.jar)。下面参考图11描述Java档案文件。The actual Java application is a Java archive file (00001.jar) stored in the BDJA directory under the BDMV directory in FIG. 2 . The Java archive file is described below with reference to FIG. 11 .

Java档案文件Java archive file

Java档案文件(图2中的00001.jar)是一个或多个类文件和数据文件等的集合。图11A显示了收集在档案文件中的程序和数据。图11A中的数据是由Java档案库存储器收集并且排列在框内所示的目录结构中的多个文件。该目录结构由根目录,Java目录,和图像目录组成,其中common.pkg文件,类文件(aaa.class,bbb.class),和menu.jpg文件放置在各自的目录内。Java档案文件是Java档案库存储器将这些文件收集在一起的结果。当从BD-ROM读入高速缓存时类文件和数据被扩展,并且在高速缓存中作为存在于目录中的多个文件来对待。Java档案文件的文件名中的五位数字数值“00001”显示Java档案文件的标识符(ID),并且BD-J对象使用该值来参考Java档案文件。当将Java档案文件读入到高速缓存中时通过参考文件名中的该数值,有可能提取构成任意Java应用程序的数据以及程序。A Java archive file (00001.jar in Figure 2) is a collection of one or more class files and data files. Figure 11A shows the programs and data collected in the archive files. The data in FIG. 11A is a number of files collected by the Java Archive and arranged in the directory structure shown inside the boxes. The directory structure consists of a root directory, a Java directory, and an image directory, where common.pkg files, class files (aaa.class, bbb.class), and menu.jpg files are placed in their respective directories. A Java Archive file is the result of the Java Archive Storage gathering these files together. Class files and data are expanded when reading from a BD-ROM into the cache, and are treated as a plurality of files existing in a directory in the cache. The five-digit value "00001" in the file name of the Java archive shows the identifier (ID) of the Java archive, and the BD-J object uses this value to refer to the Java archive. By referring to this numerical value in the file name when reading a Java archive file into the cache, it is possible to extract data and programs constituting an arbitrary Java application.

图11A中的类文件(aaa.class,bbb.class)对应于以上的xlet程序。使用这些类文件的xlet程序(即实例)定义由Java平台支持的工作模式(BD-J)中的重放过程。xlet程序是能够使用Java多媒体框架(JMF)接口的Java程序,并且基于根据JMF等的键事件执行处理。The class files (aaa.class, bbb.class) in FIG. 11A correspond to the above xlet programs. The xlet programs (ie, instances) using these class files define playback procedures in the work mode (BD-J) supported by the Java platform. The xlet program is a Java program capable of using a Java Multimedia Framework (JMF) interface, and performs processing based on key events according to JMF or the like.

此外,xlet程序也可以执行访问网站和下载内容的过程。这允许重放通过混合下载内容和列表创建的原始作品。In addition, xlet programs can also perform the process of visiting websites and downloading content. This allows the replay of original productions created by mixing downloads and lists.

接着描述xlet程序的类文件。图11B显示了类文件的内部结构。如图11B中所示,该类文件与普通类文件类似,由常数池,接口,和方法1,2,3…n组成。类文件中的方法包括由预记载的键事件触发的那些方法(EventListener)和用于调用重放装置200中的应用编程接口(API)函数的那些方法。通过利用分配给指定方法的局部变量和调用所述方法时出现的自变量描述这些方法中的计算过程等。Java档案文件如上所述。Next, the class file of the xlet program is described. Figure 11B shows the internal structure of the class file. As shown in FIG. 11B , this class file is similar to a normal class file and consists of a constant pool, an interface, and methods 1, 2, 3...n. The methods in the class file include those triggered by pre-documented key events (EventListener) and those used to call Application Programming Interface (API) functions in the playback apparatus 200 . Calculation procedures and the like in these methods are described by using local variables assigned to specified methods and arguments that appear when the methods are called. The Java archive files are described above.

接着描述扩展名为“bdbj”的文件。该文件(00001.bdbj)存储BD-J对象。BD-J对象是信息,该信息通过使PL信息中被定义的AVClip与应用程序相联系来定义标题。图12显示了BD-J对象的内部结构。BD-J对象显示应用程序管理表和PL信息参考值。应用程序管理表显示Java应用程序,所述Java程序的生命周期是由BD-J对象通过枚举单个Java应用程序的ID(应用程序ID)和属于特殊应用程序的Java档案文件的ID来定义的标题。换句话说,每个应用程序由一个或多个Java档案文件构成。Next, a file with the extension "bdbj" is described. This file (00001.bdbj) stores BD-J objects. The BD-J object is information that defines a title by associating an AVClip defined in PL information with an application. Figure 12 shows the internal structure of a BD-J object. BD-J object shows application management table and PL information reference value. The application management table shows Java applications whose life cycle is defined by the BD-J object by enumerating the IDs of individual Java applications (Application IDs) and the IDs of Java archive files belonging to a particular application title. In other words, each application consists of one or more Java archives.

PL信息参考值显示当开始标题时待显示的PL信息。The PL information reference value shows PL information to be displayed when starting a title.

扩展名为“bdbj”的文件如上所述。Files with the extension "bdbj" are as described above.

接着描述INDEX.BDMV文件。Next, the INDEX.BDMV file is described.

INDEX.BDMV是与整个BD-ROM有关的管理信息。该文件包含以下信息,诸如标识电影作品供应商的组织ID和分配给由供应商提供的单个BD-ROM的光盘ID。当装载光盘之后首先通过读取INDEX.BDMV在重放装置中唯一地识别光盘。INDEX.BDMV可以附加地包括这样的表,该表将BD-ROM中的多个可播放标题映射到定义单个标题的BD-J对象。下面描述可记录到BD-ROM的标题的类型,所述类型包括FirstPlayTitle,Top_menuTitle,和标题#1-#3。INDEX.BDMV is management information related to the entire BD-ROM. This file contains information such as an organization ID identifying a supplier of a movie work and a disc ID assigned to an individual BD-ROM provided by the supplier. When the disc is loaded, first the disc is uniquely identified in the playback device by reading INDEX.BDMV. INDEX.BDMV may additionally include a table that maps multiple playable titles in a BD-ROM to a BD-J object defining a single title. The following describes the types of titles recordable to the BD-ROM, the types including FirstPlayTitle, Top_menuTitle, and titles #1-#3.

FirstPlayTitle负责当装载BD-ROM时在做其他事情之前播放BD-ROM的动态商标。FirstPlayTitle因而实现了当装载BD-ROM时播放代表电影作品的创作者和/或发行人的动态商标。FirstPlayTitle is responsible for playing the BD-ROM's dynamic title before doing anything else when the BD-ROM is loaded. FirstPlayTitle thus enables playback of a dynamic logo representing the creator and/or distributor of a cinematic work when a BD-ROM is loaded.

Top_menuTitle由AVClip和播放位于BD-ROM中的菜单层次的最顶层的菜单的应用程序组成。Top_menuTitle consists of an AVClip and an application that plays the topmost menu of the menu hierarchy in the BD-ROM.

标题#1、#2和#3对应于普通电影作品。Titles #1, #2, and #3 correspond to ordinary movie works.

换句话说,INDEX.BDMV显示FirstPlayTitle,Top_menuTitle和标题#1-#3与单个BD-J对象的对应关系。In other words, INDEX.BDMV shows the correspondence of FirstPlayTitle, Top_menuTitle, and Titles #1-#3 to a single BD-J object.

图13显示了INDEX.BDMV的内部结构。该文件显示FirstPlayTitle信息,Top_menuTitle信息,标题#1信息,标题#2信息,和标题#3信息与标题ID和定义这些标题的BD-J对象的对应关系。定义标题的BD-J对象可以使用标题信息进行标识,而用于同步的PL信息和应用程序可以从这些BD-J对象导出。这完成了对BD-ROM的描述。Figure 13 shows the internal structure of INDEX.BDMV. This file shows the correspondence of FirstPlayTitle information, Top_menuTitle information, Title #1 information, Title #2 information, and Title #3 information with Title IDs and BD-J objects defining these titles. BD-J objects defining titles can be identified using title information, and PL information and applications for synchronization can be derived from these BD-J objects. This completes the description of the BD-ROM.

BD-ROM不是关于本发明的重放装置所用的唯一记录介质。BD-ROM is not the only recording medium used by the playback device related to the present invention.

在重放期间也使用与重放装置一体化的硬盘(本地存储器)。下面描述记录在本地存储器中的数据。A hard disk (local storage) integrated with the playback device is also used during playback. The data recorded in the local storage is described below.

图14显示了本地存储器中的目录结构。在该目录结构中,子目录“organization#1”位于根目录下,在该目录下有子目录“disc#1”和“disc#2”。organization#1目录被分配给电影作品的特定供应商。disc#1和disc#2目录被分配给由每个供应商提供的不同的BD-ROM。在这些目录名中利用在各自BD-ROM中的INDEX.BDMV文件中所示的组织ID和光盘ID。Figure 14 shows the directory structure in local storage. In this directory structure, a subdirectory "organization#1" is located under the root directory, and there are subdirectories "disc#1" and "disc#2" under this directory. The organization#1 directory is assigned to a specific supplier of a film production. The disc#1 and disc#2 directories are allocated to different BD-ROMs provided by each supplier. The organization ID and disc ID shown in the INDEX.BDMV file in each BD-ROM are used for these directory names.

提供与对应于特定供应商的目录中的BD-ROMs对应的目录允许独立地存储与单个BD-ROMs有关的下载数据。在这些子目录下存储了PL信息,剪辑信息,和AVClip,与存储在BD-ROM上的内容类似。也附加地存在Java档案文件,BD-J对象,合并管理信息文件,和签名信息文件。Providing a directory corresponding to BD-ROMs in a directory corresponding to a specific provider allows download data related to individual BD-ROMs to be stored independently. PL information, clip information, and AVClip are stored under these subdirectories, similar to those stored on a BD-ROM. A Java archive file, a BD-J object, a merge management information file, and a signature information file also exist additionally.

与仅仅涉及BD-ROM上的AVClip的BD-ROM上的PL信息相比,本地存储器中的PL信息包括涉及BD-ROM上的和本地存储器中的AVClip的信息;也就是,作为虚拟包被新添加的PL信息,其特定例子是图14中的PL INFO#2。Compared with the PL information on the BD-ROM that only relates to the AVClip on the BD-ROM, the PL information in the local storage includes information related to the AVClip on the BD-ROM and in the local storage; The specific example of the added PL information is PL INFO#2 in FIG. 14 .

在这里,由四条播放项目信息构成本地存储器中的PL信息(播放项目信息#1-#4)。在头条(播放项目信息#1)涉及BD-ROM上的剪辑信息而其余三条(播放项目信息#2-#4)涉及本地存储器中的剪辑信息的情况下,该PL信息可以从BD-ROM上的和本地存储器中的AVClip定义单一数据流序列,如图15中所示。Here, the PL information (playitem information #1-#4) in the local storage is constituted by four pieces of playitem information. In the case where the headline (play item information #1) refers to the clip information on the BD-ROM and the remaining three (play item information #2-#4) refer to the clip information in the local storage, the PL information can be retrieved from the BD-ROM. AVClips in and in local storage define a single stream sequence, as shown in FIG. 15 .

图15显示了由存储在本地存储器中的PL信息定义的播放列表重放时间轴的类型。第一层级显示存储在BD-ROM上的AVClip#1的重放时间轴,而第二层级显示在存储在本地存储器中的PL信息中定义的播放列表的重放时间轴,第三、第四和第五层级分别显示存储在本地存储器中的AVClip#2、#3和#4的重放时间轴。Fig. 15 shows the types of playlist playback time axis defined by PL information stored in the local storage. The first level shows the playback time axis of AVClip#1 stored on the BD-ROM, while the second level shows the playback time axis of the PlayList defined in the PL information stored in the local storage, the third, the fourth and fifth levels respectively display playback timelines of AVClips #2, #3, and #4 stored in the local storage.

在播放项目信息#2、#3和#4指定AVClip#2、#3和#4作为重放间隔的情况下,本地存储器中的PL信息能够将BD-ROM上的和本地存储器中的AVClip定义为单一数据流序列。In the case where PlayItem information #2, #3, and #4 specify AVClip #2, #3, and #4 as playback intervals, the PL information in the local storage can define AVClips on the BD-ROM and in the local storage. for a single data stream sequence.

如上所述,BD-ROM上的和本地存储器中的AVClip可以被定义为单一数据流序列,并且通过合并该数据流序列和BD-ROM上的或本地存储器中的应用程序,可以由AVClip和由记录在BD-ROM上的或本地存储器中的应用程序构成单一标题。如图16A中所示,在AVClip#1记录在BD-ROM上而AVClip#2-#4和Java应用程序记录在本地存储器中的情况下,这些AVClip和Java应用程序可以如图16B中所示作为单一标题来对待。As described above, an AVClip on a BD-ROM and in local storage can be defined as a single stream sequence, and by combining this stream sequence with an application on a BD-ROM or in local storage, an AVClip and a The application programs recorded on the BD-ROM or in the local storage constitute a single title. As shown in FIG. 16A, in the case where AVClip#1 is recorded on the BD-ROM and AVClip#2-#4 and Java applications are recorded in local storage, these AVClips and Java applications can be recorded as shown in FIG. 16B Treated as a single title.

接着描述合并管理信息。合并管理信息唯一地显示本地存储器中的disc#1和#2目录中的构成虚拟包的所有文件,并且被存储在指定文件(在下文被称为“合并管理信息文件”)中。图17显示了合并管理信息文件的典型内部结构。合并管理信息文件由本地存储器中构成虚拟包的每个文件的存储位置信息组成。存储位置信息由访问作为虚拟包的各个文件的标识符和指示本地存储器中各个文件的存储位置的文件路径组成。Next, the merge management information will be described. The merge management information uniquely shows all the files constituting the virtual package in the disc#1 and #2 directories in the local storage, and is stored in a specified file (hereinafter referred to as "merge management information file"). Fig. 17 shows a typical internal structure of a merge management information file. The merge management information file is composed of storage location information of each file constituting the virtual package in the local storage. The storage location information is composed of an identifier for accessing each file as a virtual package and a file path indicating a storage location of each file in the local storage.

接着描述签名信息文件。签名信息文件在合并管理信息文件上显示供应商的电子签名。通常使用的电子签名通过计算需要防窜改的信息的散列值,并使用某种秘密密钥加密该散列值来获得。Next, the signature information file is described. The signature information file displays the supplier's electronic signature on the consolidated management information file. A commonly used electronic signature is obtained by calculating a hash value of information to be tamper-proof and encrypting the hash value with some kind of secret key.

这完成了对本地存储器的描述。This completes the description of local storage.

下面描述关于本发明的重放装置的实施例。图18显示了重放装置的硬件配置。重放转置由BD-ROM驱动器1,读缓冲器2,多路分解器(Demux)3,视频解码器4,视频平面5,图形显示(P图形)解码器6,图形显示(P图形)平面7,合成单元8,字体发生器9,交互图形(I图形)解码器10,开关11,交互图形(I图形)平面12,合成单元13,颜色查找表(CLUT)单元14,颜色查找表(CLUT)单元15,音频解码器16,网络设备17,本地存储器18,读缓冲器19,多路分解器(Demux)20,指令ROM 21,用户事件(UE)处理单元22,播放器状态寄存器(PSR)组23,中央处理单元(CPU)24,脚本存储器25,本地存储器26,和开关27。Embodiments related to the playback apparatus of the present invention are described below. Fig. 18 shows the hardware configuration of the playback device. Playback transpose by BD-ROM drive 1, read buffer 2, demultiplexer (Demux) 3, video decoder 4, video plane 5, graphics display (P-graphics) decoder 6, graphics display (P-graphics) plane 7, composition unit 8, font generator 9, interactive graphics (I-graphics) decoder 10, switch 11, interactive graphics (I-graphics) plane 12, composition unit 13, color look-up table (CLUT) unit 14, color look-up table (CLUT) unit 15, audio decoder 16, network equipment 17, local memory 18, read buffer 19, demultiplexer (Demux) 20, instruction ROM 21, user event (UE) processing unit 22, player status register (PSR) group 23 , central processing unit (CPU) 24 , script memory 25 , local memory 26 , and switch 27 .

首先描述关于记录在BD-ROM 100上的AVClip的重放的元件(BD-ROM驱动器1-音频解码器16)。First, elements related to playback of AVClip recorded on the BD-ROM 100 (BD-ROM drive 1-audio decoder 16) will be described.

BD-ROM驱动器1装载/退出BD-ROMs,并且访问BD-ROM 100。The BD-ROM drive 1 loads/ejects BD-ROMs, and accesses the BD-ROM 100.

读缓冲器2是先进先出(FIFO)存储器,其中从BD-ROM 100或本地存储器18读取的传输流(TS)包在先进先出的基础上被存储。The read buffer 2 is a first-in-first-out (FIFO) memory in which Transport Stream (TS) packets read from the BD-ROM 100 or the local storage 18 are stored on a first-in-first-out basis.

Demux 3从读缓冲器2读取TS包,并且将这些TS包转换成打包基本流(PES)包。具有由CPU 24设置的包标识符(PID)的PES包,然后被输出到视频解码器4,P图形解码器6,I图形解码器10,和音频解码器16中的一个。Demux 3 reads TS packets from read buffer 2, and converts these TS packets into Packetized Elementary Stream (PES) packets. The PES packets with the packet identifier (PID) set by the CPU 24 are then output to one of the video decoder 4, P graphics decoder 6, I graphics decoder 10, and audio decoder 16.

视频解码器4解码从Demux3输出的PES包以获得未压缩格式的图片,并且将这些图片写入视频平面5。Video decoder 4 decodes PES packets output from Demux 3 to obtain pictures in uncompressed format, and writes these pictures into video plane 5 .

视频平面5用于存储未压缩图片。平面是重放装置中用于存储一屏像素数据的存储区。视频平面5具有1920×1080的分辨率,其中存储的图片数据由16位YUV表达的像素数据构成。在视频平面5中,每帧视频流中的重放视频可以被缩放。缩放包括将每帧的重放视频变化为整个视频平面5的1/4(四分之一)或1/1(全比例尺)。在BD-J模式中根据来自CPU 24的指令执行缩放,从而允许屏幕产生,由此视频流的重放图像被转移到屏幕的角上或投影到整个屏幕上。Video plane 5 is used to store uncompressed pictures. A plane is a storage area in a playback device for storing pixel data for one screen. The video plane 5 has a resolution of 1920×1080, and picture data stored therein is composed of pixel data expressed in 16-bit YUV. In Video Plane 5, the playback video in each frame of the video stream can be scaled. Scaling involves changing each frame of the playback video to 1/4 (quarter) or 1/1 (full scale) of the entire video plane 5 . Scaling is performed in accordance with an instruction from the CPU 24 in the BD-J mode, thereby allowing screen generation whereby the playback image of the video stream is shifted to a corner of the screen or projected onto the entire screen.

P图形解码器6解码从BD-ROM读取的P图形流,并且将未压缩图形写入P图形平面7。字幕由于图形流被解码出现在屏幕上。The P-graphics decoder 6 decodes the P-graphics stream read from the BD-ROM, and writes uncompressed graphics into the P-graphics plane 7 . Subtitles appear on the screen as the graphics stream is decoded.

P图形平面7是带有用于一屏数据的存储空间的存储器,其能够存储一屏未压缩图形。该平面具有1920×1080的分辨率,其中P图形平面7中的未压缩图形的像素由8位索引颜色表达。存储在P图形平面7中的未压缩图形通过使用CLUT转换索引颜色被提交以供显示。The P-graphics plane 7 is a memory with storage space for one screen of data capable of storing one screen of uncompressed graphics. This plane has a resolution of 1920×1080, where pixels of uncompressed graphics in P-graphics plane 7 are expressed by 8-bit indexed colors. Uncompressed graphics stored in the P-graphics plane 7 are submitted for display by converting indexed colors using the CLUT.

合成单元8合成存储在视频平面5中的未压缩图片数据和P图形平面7的存储内容。The compositing unit 8 composites the uncompressed picture data stored in the video plane 5 and the storage content of the P graphics plane 7 .

字体发生器9使用字符字体来扩展包括在位图中的TextST流中的文本代码,并且将扩展代码写入P图形平面7。The font generator 9 expands the text code included in the TextST stream in the bitmap using a character font, and writes the expanded code into the P graphics plane 7 .

I图形解码器10在DVD-like模式中解码从BD-ROM或本地存储器18读取的I图形流,并且将未压缩图形写入I图形平面12。The I-graphics decoder 10 decodes an I-graphics stream read from a BD-ROM or a local storage 18 in DVD-like mode, and writes uncompressed graphics into an I-graphics plane 12 .

开关11选择性地将字体发生器9生成的字体序列和由P图形解码器6解码产生的图形中的一个写入到P图形平面7。The switch 11 selectively writes one of the font sequence generated by the font generator 9 and the graphics decoded by the P graphics decoder 6 into the P graphics plane 7 .

用由I图形解码器10解码产生的未压缩图形写入I图形平面12。使用αRGB全彩色在BD-J模式中将应用程序绘制的字符和图形写入到I图形平面12中。The I-graphics plane 12 is written with uncompressed graphics resulting from decoding by the I-graphics decoder 10 . Characters and graphics drawn by an application program are written in the I graphics plane 12 in BD-J mode using αRGB full color.

合成单元13合成I图形平面12的存储内容和从合成单元8输出的合成图像(即合成未压缩图片数据和P图形平面7的存储内容)。该合成允许由应用程序写入I图形解码器10的字符和图形重叠在未压缩图片数据上并且被显示。The compositing unit 13 composites the storage content of the I graphics plane 12 and the composite image output from the compositing unit 8 (ie, composites uncompressed picture data and the storage content of the P graphics plane 7). This compositing allows characters and graphics written to the I graphics decoder 10 by an application program to be superimposed on the uncompressed picture data and displayed.

CLUT单元14将存储在视频平面5中的未压缩图形中的索引颜色转换成Y/Cr/Cb。The CLUT unit 14 converts indexed colors in uncompressed graphics stored in the video plane 5 into Y/Cr/Cb.

当在DVD-like模式(即用于播放象传统DVD这样的数字流的模式)中工作时CLUT单元15将存储在I图形平面15中的未压缩图形中的索引颜色转换成Y/Cr/Cb。当在BD-J模式(即用于与Java应用程序同步地播放数字流的模式)中工作时,CLUT单元15将αRGB全彩色转换成Y/Cr/Cb。需要注意的是Java应用程序可以绑定或不绑定到标题,以及绑定或不绑定到光盘。CLUT unit 15 converts indexed colors in uncompressed graphics stored in I graphics plane 15 to Y/Cr/Cb . When operating in BD-J mode (ie, a mode for playing digital streams in synchronization with Java applications), the CLUT unit 15 converts αRGB full color into Y/Cr/Cb. Note that a Java application can be bound or not bound to a title, and bound or not bound to a disc.

音频解码器16解码从Demux3输出的PES包并且输出未压缩音频数据。The audio decoder 16 decodes the PES packets output from the Demux3 and outputs uncompressed audio data.

关于AVClip重放的元件如上所述。下面描述关于在BD-J模式中工作的元件(网络设备17-Demux20)。The elements related to AVClip playback are as described above. The following describes elements (network device 17 - Demux 20 ) operating in BD-J mode.

网络设备17实现重放装置中的通信功能。在应用程序在BD-J模式中指定URL的情况下,网络设备17建立与URL所指示的网站的传输控制协议(TCP)或文件传送协议(FTP)连接等。由于连接被建立Java应用程序从网站被下载。The network device 17 realizes the communication function in the playback device. In the case where the application specifies a URL in the BD-J mode, the network device 17 establishes a Transmission Control Protocol (TCP) or File Transfer Protocol (FTP) connection or the like to the website indicated by the URL. Since the connection is established the Java application is downloaded from the website.

本地存储器18是硬盘,其用于存储通过网络设备17建立的连接从网站下载的内容,从除BD-ROM之外的通信和记录介质提供的内容,以及元数据。元数据是用于绑定和管理本地存储器18中的下载内容的信息。通过访问本地存储器18,BD-J模式中的应用程序可以使用下载内容执行许多处理。本地存储器18也保存合并管理信息文件。The local storage 18 is a hard disk for storing content downloaded from a website through a connection established by the network device 17, content provided from communication and recording media other than the BD-ROM, and metadata. Metadata is information for binding and managing downloaded content in the local storage 18 . By accessing the local storage 18, applications in the BD-J mode can perform many processes using the downloaded content. The local storage 18 also stores merge management information files.

读缓冲器19是FIFO存储器,其在SubClip被包括在存储于BD-ROM100上或本地存储器18中的下载内容中的情况下基于先入先存储构成SubClip的TS包。The read buffer 19 is a FIFO memory that stores TS packets constituting the SubClip on a first-in-first-in basis when the SubClip is included in downloaded content stored on the BD-ROM 100 or in the local storage 18 .

Demux20从读缓冲器19读取TS包,并且将读取的TS包转换成PES包。具有特定PID的PES包然后输出到P图形解码器6,字体发生器9,和音频解码器16。The Demux 20 reads TS packets from the read buffer 19, and converts the read TS packets into PES packets. The PES packets with a specific PID are then output to the P graphics decoder 6, the font generator 9, and the audio decoder 16.

以上元件17-20允许由Java应用程序通过网络下载的内容以类似于记录在BD-ROM上的内容的方式被播放。下面描述用于实现重放装置中的集中控制的元件(指令ROM21-开关27)。The above elements 17-20 allow content downloaded by a Java application over the network to be played in a manner similar to content recorded on a BD-ROM. Elements (command ROM 21 - switch 27) for realizing centralized control in the playback apparatus are described below.

指令ROM21存储软件,该软件定义与重放装置有关的控制。The instruction ROM 21 stores software that defines controls related to the playback device.

响应重放装置的遥控器或前面板的键操作,UE处理单元22将用于执行这些操作的用户事件输出到CPU24。In response to key operations of the remote controller of the playback device or the front panel, the UE processing unit 22 outputs user events for performing these operations to the CPU 24 .

PSR组23是在重放装置内部的一组寄存器,由64个播放器状态寄存器(PSR)和4096个通用寄存器(GPR)组成。PSR4-8用于表示当前重放点。The PSR group 23 is a group of registers inside the playback device, consisting of 64 player status registers (PSR) and 4096 general purpose registers (GPR). PSR4-8 are used to indicate the current playback point.

PSR 4由于被设置到1-100的值指示当前重放点的标题。将PSR 4设置为“0”表示当前重放点是菜单顶部(top menu)。PSR 4 indicates the title of the current playback point by being set to a value of 1-100. Setting PSR 4 to "0" means that the current playback point is the top menu.

PSR 5由于被设置到1-999的值指示当前重放点的章节编号。将PSR 5设置为“0xFFFF”指示在重放装置中的章节编号为零。PSR 5 indicates the chapter number of the current playback point as it is set to a value of 1-999. Setting PSR 5 to "0xFFFF" indicates that the chapter number in the playback device is zero.

PSR 6由于被设置到0-999的值指示当前重放点所属的PL(当前PL)的编号。The PSR 6 indicates the number of the PL (current PL) to which the current playback point belongs as a value set to 0-999.

PSR 7由于被设置到0-255的值指示当前重放点所属的播放项目(当前播放项目)的编号。PSR 7 indicates the number of the PlayItem (current PlayItem) to which the current playback point belongs due to being set to a value of 0-255.

PSR 8由于被设置到0-0xFFFFFFFF的值指示使用45KHz的时间精度的当前重放点(当前显示时间或“PTM”)。PSR 4-8允许在图23A中所示的整个BD-ROM的时间轴上标识当前重放点。The PSR 8 indicates the current playback point (current display time or "PTM") using a time precision of 45KHz by virtue of being set to a value of 0-0xFFFFFFFF. PSR 4-8 allows the current playback point to be identified on the time axis of the entire BD-ROM shown in FIG. 23A.

CPU 24运行存储在指令ROM 21中的软件以执行与整个重放装置有关的控制。这些控制动态地变化,其取决于从UE处理单元22输出的用户事件和PSR组23中的PSR值。The CPU 24 runs software stored in the instruction ROM 21 to perform control related to the entire playback device. These controls change dynamically depending on user events output from the UE processing unit 22 and the PSR values in the PSR group 23 .

脚本存储器25用于存储当前PL信息和当前剪辑信息。当前PL信息是记录在BD-ROM上的当前被处理的一条PL信息。当前剪辑信息是记录在BD-ROM上的当前被处理的一条剪辑信息。The script memory 25 is used to store current PL information and current clip information. The current PL information is a currently processed piece of PL information recorded on the BD-ROM. The current clip information is a currently processed piece of clip information recorded on the BD-ROM.

假设从BD-ROM低速读取,本地存储器26是临时存储BD-ROM的记录内容的高速缓冲存储器。本地存储器26的提供允许BD-J模式中的应用程序高效地运行。Assuming low-speed reading from the BD-ROM, the local storage 26 is a cache memory that temporarily stores the recorded content of the BD-ROM. The provision of local storage 26 allows applications in BD-J mode to run efficiently.

开关27选择性地将从BD-ROM和本地存储器18读取的数据输送到读缓冲器2,读缓冲器19,脚本存储器25和本地存储器26中的一个。The switch 27 selectively supplies data read from the BD-ROM and the local storage 18 to one of the read buffer 2 , the read buffer 19 , the script memory 25 and the local storage 26 .

关于本实施例的重放装置的硬件配置如上所述。下面描述关于本实施例的重放装置中的软件结构。The hardware configuration regarding the playback apparatus of this embodiment is as described above. The software structure in the playback apparatus related to the present embodiment will be described below.

图19描绘了由硬件和存储在指令ROM 21上的软件组成的以层状结构重布置的元件。如图19中所示,重放装置的层状结构由第一层(BD层),第二层(BD播放器模型),和第三层(应用程序运行时间环境)组成。FIG. 19 depicts elements rearranged in a layered structure consisting of hardware and software stored on the instruction ROM 21. As shown in FIG. 19, the layered structure of the playback device is composed of a first layer (BD layer), a second layer (BD player model), and a third layer (application runtime environment).

图18中所示的重放装置的硬件配置属于第一层。在该硬件配置中,在图19中的第一层的“BD播放器”包括由视频解码器4,P图形解码器6,I图形解码器10和音频解码器16组成的“解码器”,由视频平面5,P图形平面7和I图形平面12组成的“平面”,BD-ROM 100和相关文件系统,本地存储器18和相关文件系统,以及网络设备17。The hardware configuration of the playback device shown in FIG. 18 belongs to the first layer. In this hardware configuration, the "BD player" of the first layer in FIG. A "plane" consisting of Video Plane 5, P Graphics Plane 7 and I Graphics Plane 12, BD-ROM 100 and associated file system, local storage 18 and associated file system, and network device 17.

在第二层的“BD播放器模型”由用于显示引擎31和虚拟文件系统单元38的下层和用于重放控制引擎32的上层组成,并且提供与更高级别有关的API函数。The "BD player model" at the second layer is composed of a lower layer for the display engine 31 and virtual file system unit 38 and an upper layer for the playback control engine 32, and provides API functions related to higher levels.

图18中所示的PSR组23和脚本存储器25存在于重放控制引擎32内部。The PSR group 23 and the script memory 25 shown in FIG. 18 exist inside the playback control engine 32 .

在第三层的“应用程序运行时间环境”由包括模块管理器33的层组成,所述模块管理器33堆叠在包括DVD-like模块29a和Java平台29b的层上。The "application runtime environment" at the third layer is composed of a layer including a module manager 33 stacked on a layer including a DVD-like module 29a and a Java platform 29b.

下面描述该软件结构中的元件。The elements in this software structure are described below.

DVD-like模块29a,Java平台29bDVD-like module 29a, Java platform 29b

DVD-like模块29a解码导航命令,并且基于解码结果执行与重放控制引擎32有关的函数调用。The DVD-like module 29a decodes the navigation command, and executes function calls related to the playback control engine 32 based on the decoded result.

Java平台29b是所谓的具有层次结构的Java平台,所述层次结构由Java虚拟机30和Java虚拟机运行的中间软件(未示出)组成。The Java platform 29b is a so-called Java platform having a hierarchical structure composed of a Java virtual machine 30 and middleware (not shown) run by the Java virtual machine.

Java虚拟机30Java virtual machine 30

Java虚拟机30将构成应用程序的xlet程序装载到工作存储器中,解码xlet程序,并且根据解码结果在下层上执行控制。为了执行这些控制,Java虚拟机30向中间软件发布方法,使中间软件用对应于BD重放装置的函数调用替换所述方法,并且向重放控制引擎32发布所述函数调用。The Java virtual machine 30 loads the xlet program constituting the application program into the work memory, decodes the xlet program, and executes control on the lower layer according to the decoding result. In order to execute these controls, the Java virtual machine 30 issues a method to the middleware, causes the middleware to replace the method with a function call corresponding to the BD playback device, and issues the function call to the playback control engine 32 .

Java虚拟机30的内部结构Internal Structure of Java Virtual Machine 30

下面描述Java虚拟机30的内部结构。图20显示了Java虚拟机30的内部结构。如图20中所示,Java虚拟机30由CPU 24,用户类装载器52,方法区53,工作存储器54,线程55a,55b,…55n,和Java栈56a,56b,…56n构成。The internal structure of the Java virtual machine 30 is described below. FIG. 20 shows the internal structure of the Java virtual machine 30. As shown in Figure 20, Java virtual machine 30 is made of CPU 24, user class loader 52, method area 53, work memory 54, thread 55a, 55b, ... 55n, and Java stack 56a, 56b, ... 56n.

用户类装载器52从本地存储器26等读取BDJA目录中的Java档案文件中的类文件,并且将读取的类文件存储在方法区53中。由用户类装载器52读取类文件由于模块管理器33将指定文件路径的读指令发送到用户类装载器52被执行。如果文件路径指示本地存储器26,用户类装载器52将构成应用程序的Java档案文件中的类文件从本地存储器26读入工作存储器54。如果文件路径指示文件系统中的目录,用户类装载器52将构成应用程序的Java档案文件中的类文件从BD-ROM或本地存储器18读入工作存储器54。The user class loader 52 reads class files in the Java archive files in the BDJA directory from the local storage 26 or the like, and stores the read class files in the method area 53 . The class file is read by the user class loader 52 because the module manager 33 sends a read command specifying the file path to the user class loader 52 to be executed. If the file path indicates the local storage 26, the user class loader 52 reads the class files in the Java archive making up the application from the local storage 26 into the working storage 54. If the file path indicates a directory in the file system, the user class loader 52 reads the class files in the Java archive making up the application from the BD-ROM or the local storage 18 into the work memory 54 .

方法区53存储由用户类装载器52从本地存储器26读取的类文件。The method area 53 stores class files read from the local storage 26 by the user class loader 52 .

工作存储器54是所谓的存储各种类文件的实例的堆积区。工作存储器54存储对应于常驻应用程序的实例和读入到方法区53的类文件。一个实例是构成应用程序的xlet程序,通过将xlet程序放置到工作存储器54中使所述应用程序可执行。The work memory 54 is a so-called accumulation area that stores instances of various types of files. The work memory 54 stores instances corresponding to resident application programs and class files read into the method area 53 . One example is an xlet program constituting an application program that is made executable by placing the xlet program in the work memory 54 .

线程55a,55b,…55n是用于执行存储在工作存储器54中的方法的逻辑执行实体。它们使用局部变量和存储在操作数栈中作为操作数的自变量执行计算,并且将计算结果存储在局部变量或操作数栈中。图20中的箭头ky1,ky2,和kyn象征性地指示方法从工作存储器54提供给线程55a,55b,…55n。尽管CPU是唯一的物理执行实体,在Java虚拟机30中可以有高达64个逻辑执行实体或线程。线程可以被新创建并且现有线程可以在该数值限度内被删除,而且当Java虚拟机30工作时工作线程的数目可以变化。能够适当地增加线程的数目也使得有可能使用每个实例的多个线程并行地运行实例,并且由此加速实例的执行。Threads 55 a , 55 b , . . . 55 n are logical execution entities for executing methods stored in working memory 54 . They perform calculations using local variables and arguments stored as operands in the operand stack, and store calculation results in local variables or the operand stack. Arrows ky1, ky2, and kyn in FIG. 20 symbolically indicate that methods are provided from working memory 54 to threads 55a, 55b, . . . 55n. Although the CPU is the only physical execution entity, there can be up to 64 logical execution entities or threads in the Java virtual machine 30 . Threads can be newly created and existing threads can be deleted within this numerical limit, and the number of worker threads can vary while the Java virtual machine 30 is working. Being able to appropriately increase the number of threads also makes it possible to run instances in parallel using multiple threads per instance, and thereby speed up the execution of the instances.

Java栈56a,56b,…56n与线程55a,55b,…55n一比一地存在,并且每个具有程序计数器(图20中的“PC”)和一个或多个帧。程序计数器显示当前正在执行实例的哪个部分。帧是分配给方法的每次调用的栈型区域,并且由用于存储与调用同时出现的自变量的操作数栈和被所调用的方法使用的局部变量栈(图20中的“局部变量”)组成。由于无论何时进行调用帧都堆叠在Java栈56a,56b,…56n上,因此递归地调用自身的方法的帧也一个堆叠在另一个上面。Java stacks 56a, 56b, . . . 56n exist one-to-one with threads 55a, 55b, . . . 55n, and each have a program counter ("PC" in FIG. 20) and one or more frames. The program counter shows which part of the instance is currently executing. A frame is a stack-type area allocated to each call of a method, and consists of an operand stack for storing arguments that occur simultaneously with the call and a local variable stack used by the called method ("local variables" in Figure 20 )composition. Since frames are stacked on the Java stack 56a, 56b, . . . 56n whenever a call is made, the frames of methods that recursively call themselves are also stacked one on top of the other.

Java虚拟机的内部结构如上所述。具有以上结构的Java虚拟机充当事件驱动执行实体。这完成了对Java虚拟机的描述。The internal structure of the Java virtual machine is as described above. The Java virtual machine with the above structure acts as an event-driven execution entity. This completes the description of the Java Virtual Machine.

显示引擎31Display Engine 31

显示引擎31执行AV重放功能。重放装置的AV重放功能是从DVD播放器和CD播放器继承的传统功能组,包括播放,停止,暂停开始(PAUSEON),暂停结束(PAUSE OFF),静音(STILL OFF),快进播放(x2,x4等),快退播放(x2,x4等),音频变化,字幕变化,和角度变化。为了实现这些AV重放功能,显示引擎31控制视频解码器4,P图形解码器6,I图形解码器10和音频解码器16以解码读入到读缓冲器2的AVClip的一部分,所述部分对应于预期时间。通过将PSR8所指示的地方(当前PTM)解码为预期时间,可以致使AVClip中的任意点可播放。The display engine 31 performs an AV playback function. The AV playback function of the playback device is a traditional function group inherited from DVD players and CD players, including play, stop, pause start (PAUSEON), pause end (PAUSE OFF), mute (STILL OFF), fast forward playback (x2, x4, etc.), rewind playback (x2, x4, etc.), audio change, subtitle change, and angle change. In order to realize these AV playback functions, the display engine 31 controls the video decoder 4, the P graphics decoder 6, the I graphics decoder 10 and the audio decoder 16 to decode a part of the AVClip read into the read buffer 2, the part Corresponds to the expected time. Any point in the AVClip can be made playable by decoding the place indicated by PSR8 (current PTM) to the expected time.

重放控制引擎32Playback Control Engine 32

重放控制引擎32执行各种功能,包括(i)对播放列表的重放控制和(ii)采集/设置PSR组23的状态。重放控制功能包括根据当前PL信息和剪辑信息使显示引擎31执行以上AV重放功能中的播放和停止。功能(i)和(ii)根据从DVD-like模块29a和Java平台29b的函数调用被执行。The playback control engine 32 performs various functions including (i) playback control of the playlist and (ii) collecting/setting the state of the PSR group 23 . The playback control function includes causing the display engine 31 to perform play and stop in the above AV playback function based on the current PL information and clip information. Functions (i) and (ii) are executed according to function calls from DVD-like module 29a and Java platform 29b.

接着描述重放控制引擎32执行的处理与Java虚拟机执行的处理的同步。当调用函数时重放控制引擎32执行基于PL信息的处理。在用于重放的AVClip的持续时间执行该处理,无论重放时间是15分钟还是30分钟。这里的问题是在Java虚拟机30返回成功响应的时间和重放控制引擎32实际结束处理的时间之间存在延时(time lag)。作为事件驱动执行实体的Java虚拟机30在调用之后立即返回指示重放是否成功的响应,而重放控制引擎32在15或30分钟重放持续时间过去之后结束AVClip和播放项目的重放。因而,成功响应返回到应用程序的时间不能用作衡量15或30分钟以后处理结束的基础。当在PL重放期间执行快进或倒带时衡量处理结束变得更加困难,这是由于15或30分钟的重放时间发生变化。鉴于此,当各个播放项目或AVClip的重放结束时,重放控制引擎32将指示播放项目和AVClip重放结束的事件输出到应用程序。这种输出使得应用程序知道重放控制引擎32在哪个点结束播放项目或AVClip重放。Next, the synchronization of the processing executed by the playback control engine 32 and the processing executed by the Java virtual machine will be described. The playback control engine 32 executes processing based on PL information when a function is called. This processing is performed for the duration of the AVClip for playback, regardless of whether the playback time is 15 minutes or 30 minutes. The problem here is that there is a delay (time lag) between the time when the Java virtual machine 30 returns a successful response and the time when the playback control engine 32 actually finishes processing. The Java Virtual Machine 30 as an event-driven execution entity returns a response indicating whether the playback is successful immediately after the call, and the playback control engine 32 ends the playback of the AVClip and the PlayItem after the 15 or 30 minute playback duration elapses. Thus, the time for a successful response to be returned to the application cannot be used as a basis for measuring the end of processing after 15 or 30 minutes. Measuring the end of the process becomes more difficult when fast-forwarding or rewinding is performed during PL playback, since playback times of 15 or 30 minutes vary. In view of this, when the playback of each PlayItem or AVClip ends, the playback control engine 32 outputs an event indicating the end of playback of the PlayItem and AVClip to the application. This output lets the application know at what point playback control engine 32 has ended PlayItem or AVClip playback.

模块管理器33Module Manager 33

模块管理器33读取INDEX.BDMV并且选择INDEX.BDMV中的多条标题信息中的一条作为当前标题信息。模块管理器33读取当前标题信息所指示的BD-J对象,并且基于BD-J对象中所描述的PL信息控制重放控制引擎32执行重放控制。模块管理器33也控制Java虚拟机30以读取和执行BD-J对象中所描述的Java档案文件。The module manager 33 reads INDEX.BDMV and selects one of pieces of title information in INDEX.BDMV as current title information. The module manager 33 reads the BD-J object indicated by the current title information, and controls the playback control engine 32 to perform playback control based on the PL information described in the BD-J object. The module manager 33 also controls the Java virtual machine 30 to read and execute the Java archive file described in the BD-J object.

如果基于PL信息的数字流的重放和应用程序的执行结束,或者如果用户调用菜单,模块管理器33读取定义另一标题的标题信息,并且选择该条标题信息作为当前标题信息。根据数字流重放或用户菜单调用选择另一条标题信息作为当前标题信息的过程被称为“标题变化”。If the playback of the digital stream based on the PL information and the execution of the application end, or if the user invokes a menu, the module manager 33 reads title information defining another title, and selects this piece of title information as current title information. The process of selecting another piece of title information as the current title information based on digital stream playback or user menu calling is called "title change".

图21中所示的状态转变可以通过重复地执行标题变化实现。图21中的椭圆窗口表示标题。The state transition shown in Fig. 21 can be realized by repeatedly performing title changes. The oval window in Fig. 21 represents a title.

标题包括当BD-ROM首次被装载时用于重放的“FirstPlayTitle”,构成顶部菜单的“Top_menuTitle”,和其他普通标题。图21中的箭头jh1,jh2,jh3,jh4,jh5,jh6,jh7和jh8象征性地指示标题之间的转移。The titles include "FirstPlayTitle" for playback when the BD-ROM is loaded for the first time, "Top_menuTitle" constituting the top menu, and other general titles. Arrows jh1 , jh2 , jh3 , jh4 , jh5 , jh6 , jh7 and jh8 in FIG. 21 symbolically indicate transitions between titles.

图21中所示的状态转变包括当BD-ROM被装载时播放FirstPlayTitle,然后转移到Top_menuTitle并且等待从顶部菜单选择。The state transition shown in Fig. 21 includes playing FirstPlayTitle when the BD-ROM is loaded, then transitioning to Top_menuTitle and waiting for selection from the top menu.

当用户从菜单选择时,在再次返回到Top_menuTitle之前根据选择播放各个标题。直到光盘被退出无限地重复该处理的过程是光盘内容所独有的状态转变。该状态转变在上述的模块管理器33的控制下实现。When the user selects from the menu, the individual titles are played according to the selection before returning to Top_menuTitle again. The process of repeating this process infinitely until the disc is ejected is a state transition unique to the contents of the disc. This state transition is realized under the control of the above-mentioned module manager 33 .

这完成了对Java虚拟机30,显示引擎31,重放控制引擎32,和模块管理器33的描述。由Java虚拟机30对重放控制引擎32的控制通过虚拟包被执行。为了通过虚拟包实现对重放控制引擎32的控制,重放装置包括网络管理模块37和虚拟文件系统单元38。接着描述这些元件。This completes the description of the Java Virtual Machine 30, the Display Engine 31, the Playback Control Engine 32, and the Module Manager 33. Control of the playback control engine 32 by the Java virtual machine 30 is performed through a virtual package. In order to realize the control of the playback control engine 32 through the virtual package, the playback device includes a network management module 37 and a virtual file system unit 38 . These elements are described next.

网络管理模块37Network Management Module 37

网络管理模块37根据从应用程序的方法调用从电影作品的供应商所管理的网站下载产生虚拟包所需的数据。该数据包括替换或添加到合并管理信息文件,签名信息文件,和BD-ROM上的文件的文件(PL信息,剪辑信息,AVClip,Java档案文件,等等)。当工作存储器54中的应用程序提出下载请求时,网络管理模块37通过网络下载产生虚拟包所需的数据,并且将下载的数据写入本地存储器18。The network management module 37 downloads the data needed to generate the virtual package from the website managed by the provider of the movie work according to the method call from the application program. This data includes files (PL information, clip information, AVClip, Java archive files, etc.) to replace or add to the merge management information file, signature information file, and files on the BD-ROM. When the application program in the working memory 54 makes a download request, the network management module 37 downloads the data required to generate the virtual package through the network, and writes the downloaded data into the local memory 18 .

虚拟文件系统单元38Virtual File System Unit 38

虚拟文件系统单元38是属于图19中的第二层的元件,其根据从应用程序的方法调用产生虚拟包。虚拟包的产生包括管理构成虚拟包的AVClip的状态的处理和生成虚拟包信息的处理。The virtual file system unit 38 is an element belonging to the second layer in FIG. 19 that generates a virtual package according to a method call from an application program. The generation of the Virtual Package includes the processing of managing the state of AVClips constituting the Virtual Package and the processing of generating Virtual Package information.

虚拟包信息Virtual package information

虚拟包信息扩展BD-ROM上的卷管理信息。这里涉及的卷管理信息定义存在于记录介质上的目录结构,并且由与目录有关的目录管理信息和与文件有关的文件管理信息组成。The virtual package information extends the volume management information on the BD-ROM. The volume management information referred to here defines a directory structure existing on a recording medium, and is composed of directory management information related to directories and file management information related to files.

虚拟包信息通过将新文件管理信息添加到显示目录结构的卷管理信息来扩展BD-ROM上的目录结构。添加到卷管理信息的文件管理信息涉及存在于本地存储器18中的PL信息,剪辑信息,AVClip和Java档案文件。产生该文件管理信息已被添加到其中的虚拟包信息和将该虚拟包信息提供给重放控制引擎32的过程允许重放控制引擎识别如存在于BD-ROM上的存储在本地存储器18中的PL信息,剪辑信息,AVClip和Java档案文件。图22显示了由虚拟文件系统单元38典型地产生虚拟包信息。在图22的左上方是BD-ROM上的目录结构,这与图2相同。在左下方是本地存储器18中的目录结构,这与图14相同。与本地存储器18中的PL信息,剪辑信息,AVClip和Java档案文件有关的文件管理信息被添加到BD-ROM上的卷管理信息。The virtual package information expands the directory structure on the BD-ROM by adding new file management information to the volume management information showing the directory structure. The file management information added to the volume management information relates to PL information, clip information, AVClip, and Java archive files existing in the local storage 18 . The process of generating the virtual package information to which the file management information has been added and providing the virtual package information to the playback control engine 32 allows the playback control engine to recognize files stored in the local storage 18 as existing on the BD-ROM. PL information, clip information, AVClip and Java archive files. FIG. 22 shows virtual package information typically generated by the virtual file system unit 38. On the upper left of Fig. 22 is the directory structure on the BD-ROM, which is the same as Fig. 2 . At the bottom left is the directory structure in the local storage 18, which is the same as in FIG. 14 . File management information related to PL information, clip information, AVClip, and Java archive files in the local storage 18 is added to the volume management information on the BD-ROM.

具体而言:in particular:

i)与本地存储器18中的播放列表信息#2(00002.mpls)有关的文件管理信息被添加到PLAYLIST目录中的目录管理信息;i) The file management information related to the playlist information #2 (00002.mpls) in the local storage 18 is added to the directory management information in the PLAYLIST directory;

ii)与本地存储器18中的剪辑信息#2、#3和#4(00002.clip,00003.clip,00004.clip)有关的文件管理信息被添加到CLIPINF目录中的目录管理信息;ii) File management information related to clip information #2, #3, and #4 (00002.clip, 00003.clip, 00004.clip) in the local storage 18 is added to directory management information in the CLIPINF directory;

iii)与本地存储器18中的AVClip#2、#3和#4(00002.m2ts,00003.m2ts,00004.m2ts)有关的文件管理信息被添加到STREAM目录中的目录管理信息;iii) File management information related to AVClip#2, #3 and #4 (00002.m2ts, 00003.m2ts, 00004.m2ts) in the local storage 18 is added to the directory management information in the STREAM directory;

iv)与本地存储器18中的Java档案文件“00002.jar”有关的文件管理信息被添加到BDJA目录中的目录管理信息;iv) The file management information related to the Java archive file "00002.jar" in the local storage 18 is added to the directory management information in the BDJA directory;

由此获得虚拟包信息。换句话说,虚拟包信息是以上面的方式已被添加的卷管理信息。The virtual package information is thus obtained. In other words, virtual package information is volume management information that has been added in the above manner.

然后将该虚拟包信息提供给重放控制引擎32,重放控制引擎由此能够在与BD-ROM上的PL信息,剪辑信息,AVClip,和Java档案文件同等的基础上处理本地存储器18中的PL信息,剪辑信息,AVClip,和Java档案文件。虚拟包信息的生成如上所述。This virtual package information is then provided to the playback control engine 32, whereby the playback control engine can process the files in the local storage 18 on the same basis as the PL information on the BD-ROM, clip information, AVClip, and Java archive files. PL information, clip information, AVClip, and Java archive files. The generation of virtual package information is as described above.

下面描述虚拟包信息更新的定时。The timing of virtual package information update is described below.

假设当按照图21中的箭头jh1,jh2,jh3,jh4等所指示的参考标记的数值顺序执行转移之后BD-ROM被退出。这允许从BD-ROM的装载到退出的连续时间间隙被看作单一时间轴。该时间轴被作为整个光盘的时间轴。图23A显示了整个光盘的时间轴,而图23B显示了该时间轴的结构。如图23B中所示,整个光盘的时间轴由播放FirstPlayTitle的间隔,播放Top_menuTitle的间隔,和播放普通标题(标题#1等)的间隔组成。关于定义这些标题的重放间隔的方式,由于每个标题仅仅由一个BD-J对象构成,因此任何给定的BD-J对象有效的间隔可以被当作标题的重放间隔。这些重放间隔之间的空隙,或者从一个标题变化到另一标题的些微间隔(即“标题变化”)是虚拟包信息更新的时间。Assume that the BD-ROM is ejected after the transfer is performed in numerical order of reference signs indicated by arrows jh1 , jh2 , jh3 , jh4 , etc. in FIG. 21 . This allows the continuous time gap from loading to ejecting of the BD-ROM to be seen as a single time axis. This time axis is taken as the time axis of the entire disc. FIG. 23A shows the time axis of the entire disc, and FIG. 23B shows the structure of the time axis. As shown in FIG. 23B, the time axis of the entire disc is composed of intervals at which FirstPlayTitle is played, intervals at which Top_menuTitle is played, and intervals at which normal titles (Title #1, etc.) are played. Regarding the way of defining the playback intervals of these titles, since each title consists of only one BD-J object, the interval for which any given BD-J object is valid can be taken as the title's playback interval. The gaps between these playback intervals, or the slight intervals when changing from one title to another (ie "title change") are when the virtual package information is updated.

接着使用图24描述由Java应用程序执行的下载新合并管理和签名信息文件以及内容文件的过程。Next, a process of downloading a new merge management and signature information file and a content file performed by a Java application is described using FIG. 24 .

Java应用程序首先将当前合并管理信息文件发送到服务器(步骤S11),由此请求下载,并且判断是否已接收来自服务器的数据(步骤S12)。当数据被下载时,Java应用程序在相应光盘目录中创建新目录,并且将下载的合并管理信息文件和签名信息文件写入新目录(步骤S13)。需要注意的是如果下载的合并管理和签名信息文件的文件名不与光盘目录中的现有合并管理和签名信息文件一致,下载文件可以直接放置在现存目录(光盘#1文件)之下而不创建新目录。将下载的AVClip,剪辑信息,PL信息,和Java档案文件写入相应目录(步骤S14)。Java应用程序然后使用新合并管理和签名信息文件的文件路径作为自变量调用更新请求方法(步骤S15)。Java应用程序判断返回值是否为false(步骤S16),并且如果为false则终止处理。如果返回值是不是false,则Java应用程序使用更新的虚拟包信息执行处理(步骤S17)。The Java application first sends the current merge management information file to the server (step S11), thereby requesting download, and judges whether data from the server has been received (step S12). When the data is downloaded, the Java application program creates a new directory in the corresponding optical disc directory, and writes the downloaded combined management information file and signature information file into the new directory (step S13). It should be noted that if the file name of the downloaded merge management and signature information file is not consistent with the existing merge management and signature information file in the CD directory, the downloaded file can be directly placed under the existing directory (CD #1 file) without Create a new directory. The downloaded AVClip, clip information, PL information, and Java archive files are written into corresponding directories (step S14). The Java application then calls the update request method using the file path of the new merge management and signature information file as an argument (step S15). The Java application judges whether the return value is false (step S16), and if false, terminates the process. If the return value is false, the Java application executes processing using the updated virtual package information (step S17).

需要注意的是尽管根据当请求下载时Java应用程序将当前合并管理信息文件发送到服务器描述了以上处理,Java应用程序可以仅仅发送合并管理信息文件的ID。It is to be noted that although the above processing has been described in terms of the Java application sending the current merge management information file to the server when download is requested, the Java application may send only the ID of the merge management information file.

接着使用图25描述一旦接收更新请求由虚拟文件系统单元38执行的更新“准备”过程。Next, an update "preparation" process performed by the virtual file system unit 38 upon receiving an update request is described using FIG. 25 .

虚拟文件系统单元38首先使用当调用方法时充当自变量的文件路径读取新合并管理和签名信息文件(步骤S21),并且验证签名以便检验新合并管理信息文件是否已被窜改(步骤S22)。如果签名不能被验证则执行异常终止。如果签名被验证,则虚拟文件系统单元38检验调用应用程序的权限(步骤S23)。如果调用应用程序未被授权则执行异常终止。如果调用应用程序被授权,则虚拟文件系统单元38判断新合并管理信息文件所指定的文件是否实际存在于本地存储器中(步骤S24)。如果这些文件并不存在则执行异常终止。如果这些文件存在,则虚拟文件系统单元38将新合并管理和签名信息文件以及从新合并信息文件引用的本地存储器中的所有文件变为只读(步骤S25)。The virtual file system unit 38 first reads the new merge management and signature information file using the file path serving as an argument when the method is called (step S21), and verifies the signature to check whether the new merge management information file has been falsified (step S22). Execution terminates abnormally if the signature cannot be verified. If the signature is verified, the virtual file system unit 38 checks the authority of the calling application (step S23). Executes abnormal termination if the calling application is not authorized. If the calling application is authorized, the virtual file system unit 38 judges whether the file specified by the new merge management information file actually exists in the local storage (step S24). Execution terminates abnormally if these files do not exist. If these files exist, the virtual file system unit 38 makes the new merge management and signature information file and all files in the local storage referred from the new merge information file read-only (step S25).

图26是由虚拟文件系统单元38执行的虚拟包“更新”处理的流程图。虚拟文件系统单元38首先标识对应于被装载的BD-ROM的光盘目录,并且用Java应用程序调用更新请求方法时、充当自变量的文件路径所指定的新合并管理和签名信息文件替换光盘目录中的合并管理和签名信息文件(步骤S31)。虚拟文件系统单元38然后将本地存储器18中的合并管理信息文件所指定的PL信息的文件管理信息添加到PLAYLIST目录中的目录管理信息中(步骤S32),并且执行步骤S33到S37的循环。该循环包括对于存在于本地存储器18中的每一条剪辑信息重复步骤S34到S36。在这里,用于循环处理的一条剪辑信息假定为剪辑信息x。虚拟文件系统单元38标识对应于剪辑信息x的AVClip(步骤S34),将本地存储器18中的合并管理信息文件所指定的剪辑信息x的文件管理信息添加到CLIPINF目录中的目录管理信息中(步骤S35),并且将本地存储器18中的合并管理信息文件所指定的AVClipx的文件管理信息添加到STREAM目录中的目录管理信息中(步骤S36)。通过对于本地存储器18中的所有剪辑信息和AVClip重复以上处理,与剪辑信息和AVClip有关的文件管理信息被添加到卷管理信息。由此获得的卷管理信息是虚拟包信息。虚拟文件系统单元38将该虚拟包信息提供给进行虚拟包调用的应用程序(步骤S38),并且结束处理。FIG. 26 is a flowchart of the virtual package "update" process performed by the virtual file system unit 38 . The virtual file system unit 38 first identifies the disc directory corresponding to the loaded BD-ROM, and replaces the disc directory with the new merge management and signature information file specified by the file path serving as an argument when the Java application calls the update request method. Merge management and signature information files (step S31). The virtual file system unit 38 then adds the file management information of the PL information specified by the merge management information file in the local storage 18 to the directory management information in the PLAYLIST directory (step S32), and executes a loop of steps S33 to S37. This loop includes repeating steps S34 to S36 for each piece of clip information existing in the local storage 18 . Here, one piece of clip information used for loop processing is assumed to be clip information x. The virtual file system unit 38 identifies the AVClip corresponding to the clip information x (step S34), and the file management information of the clip information x specified by the merge management information file in the local storage 18 is added to the directory management information in the CLIPINF directory (step S34). S35), and the file management information of AVClipx specified by the merge management information file in the local storage 18 is added to the directory management information in the STREAM directory (step S36). By repeating the above processing for all clip information and AVClips in the local storage 18, file management information related to clip information and AVClips is added to the volume management information. The volume management information thus obtained is virtual package information. The virtual file system unit 38 provides the virtual package information to the application program that made the virtual package call (step S38), and ends the processing.

图27是由模块管理器33执行的处理的流程图。FIG. 27 is a flowchart of processing executed by the module manager 33 .

模块管理器33首先选择FirstPlayTitle作为当前标题(步骤S41),指定对应于当前标题的BD-J对象作为当前BD-J对象(步骤S42),并且使重放控制引擎32基于当前BD-J对象中所描述的PL信息执行PL重放(步骤S43)。模块管理器33然后使Java平台29b运行其生命周期是当前BD-J对象的应用程序管理表中的当前标题的Java应用程序(步骤S44),并且使Java平台29b终止其生命周期不是当前标题的Java应用程序(步骤S45)。模块管理器33然后判断基于当前PL信息的PL重放是否已经完成(步骤S46),并且如果完成,模块管理器33则标识下一个标题(步骤S47),并且选择该标题作为当前标题(步骤S48)。如果当前PL重放还未完成,则模块管理器33判断是否已发生标题调用(步骤S49),并且如果是这样的话则移动到步骤S47。如果未发生标题调用,则模块管理器33判断是否已发生标题跳转(步骤S50),并且如果是这样的话则移动到步骤S47。如果未发生标题跳转,则模块管理器33判断当前标题的主应用程序是否已结束(步骤S51)并且如果是这样的话则移动到步骤S47。如果主应用程序还未结束,则模块管理器33返回到步骤S46。The module manager 33 first selects FirstPlayTitle as the current title (step S41), designates the BD-J object corresponding to the current title as the current BD-J object (step S42), and makes the playback control engine 32 based on the current title in the current BD-J object. The described PL information performs PL playback (step S43). The module manager 33 then causes the Java platform 29b to run the Java application whose life cycle is the current title in the application management table of the current BD-J object (step S44), and causes the Java platform 29b to terminate the Java application whose life cycle is not the current title. Java application program (step S45). The module manager 33 then judges whether the PL playback based on the current PL information has been completed (step S46), and if completed, the module manager 33 identifies the next title (step S47), and selects this title as the current title (step S48 ). If the current PL playback has not been completed, the module manager 33 judges whether a title call has occurred (step S49), and moves to step S47 if so. If a title call has not occurred, the module manager 33 judges whether a title jump has occurred (step S50), and if so, moves to step S47. If a title jump has not occurred, the module manager 33 judges whether the main application for the current title has ended (step S51) and moves to step S47 if so. If the main application has not ended, the module manager 33 returns to step S46.

图28是由重放控制引擎32执行的重放处理的流程图。在将当前PL信息中的第一条播放项目信息设置为播放项目i之后重放控制引擎32执行步骤S62到S68的循环(步骤S61)。该循环中的控制变量是变量i。在执行步骤S62到S66之后在步骤S68重放控制引擎32使控制变量i增加“1”直到变量i超过播放项目的数量(步骤S67)。FIG. 28 is a flowchart of playback processing executed by the playback control engine 32 . The playback control engine 32 executes the loop of steps S62 to S68 after setting the first piece of play item information in the current PL information as the play item i (step S61). The control variable in this loop is the variable i. The playback control engine 32 increments the control variable i by "1" at step S68 after executing steps S62 to S66 until the variable i exceeds the number of playitems (step S67).

接着描述步骤S62到S66。重放控制引擎32将播放项目i中的Clip_information_file_name中所描述的AVClip设置为AVClipj(步骤S62),并且指示驱动设备和解码器播放从PlayItem.In_time到PlayItem.Out_time的AVClipj(步骤S63)。重放控制引擎32判断在Sync_PlayItem_Id中是否存在指定播放项目i的子播放项目k(步骤S64),并且如果该子播放项目并不存在则直接移动到步骤S67。如果子播放项目k存在,则重放控制引擎32将子播放项目k的Clip_information_file_name所描述的AVClip设置为AVClip h(步骤S65),指示驱动设备和解码器重放从Sync_Start_PTS_of_PlayItem到Out_time的AVClip h(步骤S66),并且移动到步骤S67。Next, steps S62 to S66 are described. The playback control engine 32 sets the AVClip described in Clip_information_file_name in PlayItem i to AVClipj (step S62), and instructs the drive device and decoder to play AVClipj from PlayItem.In_time to PlayItem.Out_time (step S63). The playback control engine 32 judges whether there is a sub play item k of the specified play item i in Sync_PlayItem_Id (step S64), and directly moves to step S67 if the sub play item does not exist. If the sub-play item k exists, then the playback control engine 32 sets the AVClip described by the Clip_information_file_name of the sub-play item k to AVClip h (step S65), instructs the drive device and the decoder to replay the AVClip from Sync_Start_PTS_of_PlayItem to Out_time (step S65) S66), and move to step S67.

由于对于构成PL信息的所有播放项目信息重复该处理,PL信息所定义的数据流序列被播放。As this process is repeated for all playitem information constituting the PL information, the stream sequence defined by the PL information is played.

图29显示了在标题变化期间怎样更新虚拟包信息。Figure 29 shows how virtual package information is updated during title changes.

图29中的第一层级显示时间轴上的标题重放间隔,第二层级显示其生命周期是标题#1的Java应用程序,第三层级显示数字流,第四层级显示虚拟文件系统单元38的状态。The first level in FIG. 29 shows the title playback interval on the time axis, the second level shows the Java application whose life cycle is Title #1, the third level shows the digital stream, and the fourth level shows the virtual file system unit 38. state.

一旦接受来自Java应用程序的更新请求,虚拟文件系统单元38被放置在“准备”状态,并且执行图25中所示的处理。Upon accepting the update request from the Java application, the virtual file system unit 38 is placed in the "ready" state, and the processing shown in FIG. 25 is executed.

在执行该处理之后,虚拟文件系统单元38在“准备好”状态等待标题变化。当发生标题变化时,虚拟文件系统单元38被放置在“更新”状态,并且在回复到“稳定”状态之前执行图26中所示的处理以更新虚拟包。如果在虚拟文件系统单元38回复到“稳定”状态之后,再次从Top_menuTitle选择标题#1,则使用更新的虚拟包播放标题#1。After executing this process, the virtual file system unit 38 waits for a title change in the "ready" state. When a title change occurs, the virtual file system unit 38 is placed in the "update" state, and performs the process shown in FIG. 26 to update the virtual package before reverting to the "stable" state. If Title #1 is selected again from Top_menuTitle after the virtual file system unit 38 has returned to the "stable" state, then Title #1 is played using the updated virtual package.

在这里,当模块管理器33例如由于数据流序列的重放结束或由用户调用菜单而选择不同标题作为当前标题时,发生标题变化。Here, a title change occurs when the module manager 33 selects a different title as the current title, for example due to the end of the playback of the stream sequence or a menu call by the user.

使用图30到33示意性地描述以上处理。The above processing is schematically described using FIGS. 30 to 33 .

图30显示了将当前合并管理信息文件发送到服务器的Java应用程序。ROOT下所示的文件位于本地存储器中,而BDMV下的文件位于虚拟包中。Fig. 30 shows a Java application that sends the current merge management information file to the server. Files shown under ROOT are located in local storage, while files under BDMV are located in virtual packages.

图31显示了下载内容文件、新合并管理信息文件和新签名信息文件的Java应用程序。“00012.clpi”和“00012.m2ts”是下载的内容文件,而存储在newMF目录中的合并管理和签名信息文件已最新被下载。Fig. 31 shows a Java application for downloading a content file, a new merge management information file, and a new signature information file. "00012.clpi" and "00012.m2ts" are downloaded content files, and the merge management and signature information files stored in the newMF directory have been newly downloaded.

图32显示了请求虚拟文件系统单元38将现有合并管理和签名信息文件更新为最新下载的文件的Java应用程序。通过使用文件路径来指定新合并管理和签名信息文件提出该更新请求。FIG. 32 shows a Java application requesting the virtual file system unit 38 to update the existing merge management and signature information file to the latest downloaded file. The update request is made by specifying the new merge management and signature information file using the file path.

图33显示了合并管理和签名信息文件的替换以及内容文件的映射。在图33的左侧显示了更新期间旧合并管理和签名信息文件的替换。在图33的右侧显示了标题变化后内容文件的映射。Fig. 33 shows the replacement of merge management and signature information files and the mapping of content files. The replacement of the old merge management and signature information files during the update is shown on the left side of FIG. 33 . On the right side of Fig. 33 is shown the mapping of content files after title change.

需要注意的是从旧合并管理信息而不是从新合并管理信息引用的文件的只读属性被移除,从而使这些文件可由Java应用程序写入。Note that the read-only attribute of files referenced from the old merge management information but not from the new merge management information is removed, thereby making these files writable by Java applications.

合并管理信息文件包括指示添加到本地存储器的内容的位置的信息。指示附加内容位置的信息包括内容ID,内容存储于其中的目录的目录路径,或单个内容文件的文件路径。当将这些文件映射到虚拟包时可以在合并管理信息文件中描述文件名映射信息,从而允许在虚拟包中的不同文件名下访问这些文件。在这里,文件名映射信息用本地存储器中的文件名(包括文件路径)映射虚拟包中的文件名(包括文件路径)。The merge management information file includes information indicating the location of content added to the local storage. The information indicating the location of the additional content includes a content ID, a directory path of a directory in which the content is stored, or a file path of a single content file. File name mapping information may be described in the merge management information file when mapping these files to the virtual package, thereby allowing access to these files under different file names in the virtual package. Here, the file name mapping information maps the file name (including the file path) in the virtual package with the file name (including the file path) in the local storage.

在该情况下,作为虚拟包介质由虚拟文件系统单元38产生虚拟包,所述虚拟包介质由这样的文件构成,文件名映射信息中所描述的虚拟包中的所述文件的文件名已被添加到BD-ROM上的文件结构中。由Java应用程序访问的虚拟包中的文件被指定为虚拟包中的文件而不是BD-ROM上或本地存储器中的文件。当Java应用程序请求访问虚拟包中的文件时,虚拟文件系统单元38基于文件名映射信息将访问目的地切换到本地存储器或BD-ROM。如果在文件名映射信息中描述了所期望的文件,访问目的地变为本地存储器中的相应文件。如果未在文件名映射信息中描述所期望的文件,访问目的地变为BD-ROM上的相应文件。In this case, a virtual package is generated by the virtual file system unit 38 as a virtual package medium composed of files whose file names in the virtual package described in the file name mapping information have been changed to Added to the file structure on the BD-ROM. Files in the virtual package that are accessed by Java applications are designated as files in the virtual package rather than files on the BD-ROM or in local storage. When a Java application program requests access to a file in the virtual package, the virtual file system unit 38 switches the access destination to the local storage or the BD-ROM based on the file name mapping information. If a desired file is described in the file name mapping information, the access destination becomes the corresponding file in the local storage. If the desired file is not described in the file name mapping information, the access destination becomes the corresponding file on the BD-ROM.

换句话说,Java应用程序的创作者不需要知道单个文件存储于其上的介质(BD-ROM或本地存储器),因为虚拟文件系统单元38将虚拟包中由Java应用程序指定的文件的访问目的地切换到实际存储所述文件的介质,由此减轻了程序创作的负担。In other words, the author of the Java application does not need to know the medium (BD-ROM or local storage) on which the individual files are stored, because the virtual file system unit 38 assigns the access purpose of the file specified by the Java application in the virtual package to can switch to the medium that actually stores the file, thereby reducing the burden of program authoring.

根据本实施例,虚拟包在标题变化期间被更新,这意味着重放对象的替换将不会导致重放装置的异常操作。According to the present embodiment, the virtual package is updated during title change, which means that the replacement of the playback object will not cause abnormal operation of the playback device.

实施例2Example 2

本实施例涉及当执行标题调用时的改进。标题调用导致在首先暂停当前标题之后播放被调用标题,然后在被调用标题的重放结束之后继续原始标题。由于标题调用以继续重放为前提,因此当调用标题时重放控制引擎32将存储在PSR中的用于重放控制的系统参数保存到备份PSR中,并且在被调用标题的重放结束之后将被保存参数恢复到PSR中。This embodiment relates to improvement when performing title calling. Title invocation causes the called title to play after first pausing the current title, then resume the original title after playback of the called title has ended. Since title calling is predicated on continuing playback, the playback control engine 32 saves the system parameters for playback control stored in the PSR into the backup PSR when the title is called, and after the playback of the called title ends, Restore saved parameters to PSR.

下面是存储在PSR中的系统参数的列表。PSR 0到PSR 12存储显示重放状态的系统参数,PSR 13到PSR 19存储由播放器设置为优选的系统参数,PSR20到PSR32是备份PSR。Below is a list of system parameters stored in the PSR. PSR 0 to PSR 12 store system parameters showing playback status, PSR 13 to PSR 19 store system parameters set as preferred by the player, and PSR20 to PSR32 are backup PSRs.

PSR0:I图形流编号PSR0: I graphics stream number

PSR1:音频流编号PSR1: audio stream number

PSR2:P图形流/TextST流编号PSR2: P graphics stream/TextST stream number

PSR3:角度编号PSR3: angle number

PSR4:当前标题编号PSR4: current title number

PSR5:当前章节编号PSR5: current chapter number

PSR6:当前播放列表IDPSR6: current playlist ID

PSR7:当前播放项目IDPSR7: current play item ID

PSR8:重放时间信息PSR8: Replay time information

PSR9:导航定时器PSR9: Navigation Timer

PSR10:选择键信息PSR10: Select key information

PSR11:I图形流中的当前页IDPSR11: current page ID in I graphics stream

PSR12:P图形流和TextST流中的用户样式IDPSR12: User style IDs in P graphics stream and TextST stream

PSR13:视听年龄等级(parental level)PSR13: audio-visual age level (parental level)

PSR14:字幕支持信息PSR14: Subtitle Support Information

PSR15:播放器设定值(音频)PSR15: Player Settings (Audio)

PSR16:音频流的语言代码PSR16: Language code of the audio stream

PSR17:P图形流和TextST流的语言代码PSR17: Language code for P graphics stream and TextST stream

PSR18:菜单的语言代码PSR18: Language code for the menu

PSR19:播放器的版本信息PSR19: Player version information

PSR20:PSR0的备份PSR20: backup of PSR0

PSR21:PSR1的备份PSR21: backup of PSR1

PSR22:PSR2的备份PSR22: backup of PSR2

PSR23:PSR3的备份PSR23: backup of PSR3

PSR24:PSR4的备份PSR24: backup of PSR4

PSR25:PSR5的备份PSR25: backup of PSR5

PSR26:PSR6的备份PSR26: backup of PSR6

PSR27:PSR7的备份PSR27: backup of PSR7

PSR28:PSR8的备份PSR28: backup of PSR8

PSR29:PSR9的备份PSR29: backup of PSR9

PSR30:PSR10的备份PSR30: Backup for PSR10

PSR31:PSR11的备份PSR31: backup of PSR11

PSR32:PSR12的备份PSR32: backup of PSR12

在标题调用期间更新虚拟包信息导致调用前后虚拟包信息的差异。Updating the virtual package information during a title call results in a difference in the virtual package information before and after the call.

由于当恢复原始标题时虚拟包信息将变化,因此如果重放控制引擎32试图使用备份值播放原始标题则会出现错误。该问题通过当Java应用程序请求更新时清除备份PSR得以避免。然而,假定变化没有影响取决于合并管理信息文件的内容,关于是否清除系统参数值的决定可以留待Java应用程序处理。Since the virtual package information will change when the original title is restored, an error may occur if the playback control engine 32 attempts to play the original title using the backup values. This problem is avoided by clearing the backup PSR when the Java application requests an update. However, assuming that changes have no effect depending on the contents of the merge management information file, the decision on whether to clear system parameter values can be left to the Java application.

图34A是当标题调用之后暂停当前标题的重放时由重放控制引擎32执行的处理的流程图。图34B是当被调用标题的重放结束之后继续重放原始标题时由重放控制引擎32执行的处理的流程图。FIG. 34A is a flowchart of processing performed by the playback control engine 32 when the playback of the current title is suspended after a title call. FIG. 34B is a flowchart of processing performed by the playback control engine 32 when playback of the original title continues after playback of the called title ends.

当暂停当前标题重放时,重放控制引擎32将PSR 0-12保存到PSR20-32(步骤S71)。When the playback of the current title is suspended, the playback control engine 32 saves PSR 0-12 to PSR 20-32 (step S71).

当被调用标题的重放结束之后继续原始标题重放时,重放控制引擎32首先判断虚拟包是否已被更新(步骤S81)。如果未更新则将PSR 20-32恢复到PSR 0-12(步骤S83),如果虚拟包信息已被更新则在执行步骤S83之前初始化PSR20-32(步骤S82)。When continuing the playback of the original title after the playback of the called title ends, the playback control engine 32 first judges whether the virtual package has been updated (step S81). If not updated then PSR 20-32 is recovered to PSR 0-12 (step S83), if the virtual package information has been updated then initialize PSR20-32 (step S82) before performing step S83.

根据本实施例,在标题调用期间当虚拟包信息已被更新时初始化备份PSR,由此消除当继续原始标题重放时发生重放错误的危险。因而使重放控制引擎32稳定工作。According to the present embodiment, the backup PSR is initialized when the virtual package information has been updated during title invocation, thereby eliminating the risk of a playback error when the playback of the original title is continued. Thus, the playback control engine 32 is stably operated.

需要注意的是当虚拟包信息被更新时,PSR中的系统参数值可以被强制清除,而不是将该决定留待Java应用程序处理。Note that the system parameter values in the PSR can be forcibly cleared when the virtual package information is updated, rather than leaving the decision to the Java application.

实施例3Example 3

本实施例涉及一种方法,该方法用于管理合并管理信息的版本和从重放装置中的常驻应用程序指定用于合并的附加内容。图35显示了关于本实施例的合并管理信息文件的典型内容。在实施例1中,通过改写旧合并管理信息更新合并管理信息文件(或更确切地说存储在其中的合并管理信息),从而导致旧信息被擦除。在本实施例中,新合并管理信息不断地被添加到文件中,而且即使对于相同的光盘ID也不改写旧信息。因而,如果虚拟文件系统单元38取消产生虚拟包并且回复到原始BD-ROM,则反映该状态的信息被保留在合并管理信息文件中。在该情况下,合并管理信息文件的合并目标目录中的相应单元被留下空白或者记下指示原始BD-ROM的字符串。The present embodiment relates to a method for managing versions of merge management information and specifying additional content for merge from a resident application in a playback device. Fig. 35 shows typical contents of a merge management information file related to this embodiment. In Embodiment 1, the merge management information file (or more precisely the merge management information stored therein) is updated by rewriting the old merge management information, thereby causing the old information to be erased. In this embodiment, new merge management information is continuously added to the file, and old information is not rewritten even for the same disc ID. Thus, if the virtual file system unit 38 cancels the generation of the virtual package and reverts to the original BD-ROM, information reflecting this state is retained in the merge management information file. In this case, the corresponding unit in the merge target directory of the merge management information file is left blank or a character string indicating the original BD-ROM is written.

通过执行更新时不改写旧合并管理信息使将先前的合并管理信息(的历史)保留在合并管理信息文件中,然后如果用户想要虚拟包的旧版本,可以参考先前的合并管理信息产生旧版本。而且,先前由用户产生的虚拟包可以参考合并管理信息文件(或者更确切地说存储在其中的旧合并管理信息)不仅从Java应用程序而且从重放装置中的常驻应用程序产生。Keep the previous merge management information (history) in the merge management information file by not overwriting the old merge management information when performing the update, and then if the user wants the old version of the virtual package, he can refer to the previous merge management information to generate the old version . Also, a virtual package previously generated by a user can be generated not only from a Java application but also from a resident application in the playback device with reference to the merge management information file (or rather the old merge management information stored therein).

由常驻应用程序使用先前的合并管理信息的另一例子包括显示附加内容列表,从而用户可以从常驻应用程序删除不想要的附加内容。由于合并管理信息文件可以用于区分存储附加内容的目录,因此也可以从除了存储附加内容的Java应用程序之外的应用程序(即常驻应用程序)检索和删除附加内容。Another example of the use of previously merged management information by the resident application includes displaying a list of additional content so that the user can delete unwanted additional content from the resident application. Since the merge management information file can be used to distinguish directories storing additional content, it is also possible to retrieve and delete additional content from applications other than the Java application storing the additional content (ie, resident applications).

图36显示了关于本实施例的请求虚拟包更新的Java应用程序。与实施例1的差异在于这样的事实,即在不改写旧信息的情况下不断地添加合并管理信息,即使用于目标光盘ID的合并管理信息已经存在。当请求虚拟包更新时Java应用程序允许通过追加日期信息标识合并管理信息文件中最新的一条合并管理信息。日期信息不限于日期,也可以简单地为连续编号。FIG. 36 shows a Java application requesting virtual package update regarding this embodiment. The difference from Embodiment 1 lies in the fact that merge management information is continuously added without rewriting old information even if merge management information for the target disc ID already exists. When a virtual package update is requested, the Java application is allowed to identify the latest piece of merged management information in the merged management information file by adding date information. Date information is not limited to dates, and may simply be consecutive numbers.

图37显示了由使用合并管理信息文件的常驻应用程序向用户显示的典型附加内容列表。在这里,被显示的附加内容列表基于图35中所示的合并管理信息文件。理想的是显示使用户掌握附加内容涉及的信息。图37中的附加内容被显示为内容名。尽管仅仅日期信息被添加到图36中的合并管理信息,但是也可以添加附加内容的提要,因为常驻应用程序能够执行这样的显示。在该情况下,提供附加内容的提要用于当Java应用程序请求虚拟包更新时与内容ID一起输入。这些提要可以为包含各自提要的文件指定文件路径,而不是简单地包括字符串的直接输入。因而除了更新日期之外合并管理信息存储内容提要,并且常驻应用程序能够连同日期信息一起在附加内容列表中显示这些提要。Figure 37 shows a typical additional content list displayed to the user by a resident application using a merged management information file. Here, the displayed additional content list is based on the merge management information file shown in FIG. 35 . It is ideal to display information that enables the user to grasp the additional content involved. Additional content in Fig. 37 is displayed as a content name. Although only date information is added to the consolidated management information in FIG. 36, a summary of additional content may also be added since the resident application can perform such a display. In this case, a feed of additional content is provided for input with the content ID when a Java application requests a virtual package update. These feeds can specify file paths to files containing the respective feeds, rather than simply including direct input of strings. The management information store content feeds are thus merged in addition to the date of update, and the resident application can display these feeds in an additional content list along with date information.

胜于使Java应用程序指定内容提要,显示特定内容关于什么的元信息可以被追加到内容本身,常驻应用程序可以读取该信息并且基于读取的信息显示提要。Rather than having a Java application specify a content feed, meta information showing what a particular content is about can be appended to the content itself, and the resident application can read this information and display a feed based on the read information.

图37中的“添加”栏显示各个附加内容首次与BD-ROM合并的日期。该信息也可以从合并管理信息读取。The "Add" column in Fig. 37 shows the date when each additional content was first merged with the BD-ROM. This information can also be read from the merge management information.

需要注意的是首次合并附加内容的日期可以与合并管理信息分开保存。这些日期也可以从存储附加内容的目录被创建的日期确定。当显示在附加内容列表中的选择按钮之一被按压时,常驻应用程序将所选内容的目录路径/光盘ID和选择日期作为相应合并管理信息写入到合并管理信息文件中。换句话说,最近选择的附加内容变为最新合并管理信息。如果选择原始BD-ROM,指示原始BD-ROM的值或空白单元被插入到合并管理信息文件的合并目标目录中。当显示在附加内容列表中的删除按钮之一被按压时,常驻应用程序参考合并管理信息文件读取用于删除的附加内容的目录,并且删除该目录。对应于该内容的内容ID的合并管理信息也从合并管理信息文件被删除。Note that the date when the add-on was first merged can be kept separately from the merge management information. These dates can also be determined from the date the directory storing the additional content was created. When one of the selection buttons displayed in the additional content list is pressed, the resident application writes the directory path/disc ID and selection date of the selected content into the merge management information file as corresponding merge management information. In other words, the most recently selected additional content becomes the latest merged management information. If the original BD-ROM is selected, a value indicating the original BD-ROM or a blank cell is inserted into the merge target directory of the merge management information file. When one of delete buttons displayed in the additional content list is pressed, the resident application reads the directory of the additional content for deletion with reference to the merge management information file, and deletes the directory. Merge management information corresponding to the content ID of the content is also deleted from the merge management information file.

图38是关于本实施例的从BD-ROM的装载直到重放的处理流程的流程图。虚拟文件系统单元38首先检验被装载的BD-ROM的光盘ID(步骤S91),读取合并管理信息文件(步骤S92),并且判断是否存在对应于被装载的BD-ROM的光盘ID的合并管理信息(步骤S93)。如果判断是否定的(步骤S93=否),则仅仅使用原始BD-ROM执行重放(步骤S94)。如果判断是肯定的(步骤S93=是),则使用最新合并管理信息产生虚拟包(步骤S95)。在产生虚拟包期间,虚拟文件系统单元38判断是否已检测到错误(步骤S96)。如果判断是肯定的(步骤S96=是),则虚拟文件系统单元38判断是否存在对应于BD-ROM的光盘ID的在先的合并管理信息(步骤S97)。如果判断是肯定的(步骤S97=是),则使用在最新合并管理信息之前的合并管理信息的版本产生虚拟包(步骤S98)。如果判断是否定的(步骤S97=否),则仅仅使用原始BD-ROM执行重放(步骤S94)。如果在步骤S96未检测到错误,使用产生的虚拟包执行重放(步骤S99)。典型错误包括最新合并管理信息中的错误和不存在从播放列表引用的数据流等。FIG. 38 is a flowchart of the flow of processing from loading of the BD-ROM to playback in this embodiment. The virtual file system unit 38 first checks the disc ID of the loaded BD-ROM (step S91), reads the merge management information file (step S92), and judges whether there is a merge management corresponding to the disc ID of the loaded BD-ROM. information (step S93). If the judgment is negative (step S93=No), playback is performed using only the original BD-ROM (step S94). If the judgment is affirmative (step S93=Yes), a virtual package is generated using the latest merge management information (step S95). During the generation of the virtual package, the virtual file system unit 38 judges whether an error has been detected (step S96). If the judgment is affirmative (step S96=YES), the virtual file system unit 38 judges whether there is previous merge management information corresponding to the disc ID of the BD-ROM (step S97). If the judgment is affirmative (step S97=Yes), a virtual package is generated using the version of the merge management information preceding the latest merge management information (step S98). If the judgment is negative (step S97=NO), playback is performed using only the original BD-ROM (step S94). If no error is detected at step S96, playback is performed using the generated virtual package (step S99). Typical errors include errors in the latest merge management information and non-existent data streams referenced from playlists, etc.

根据本实施例,通过将先前的合并管理信息保存在合并管理信息文件中,可以参考合并管理信息文件的内容历史使用合并管理信息的旧版本从重放装置中的常驻应用程序产生虚拟包。如果在产生虚拟包期间出现错误,可以通过产生虚拟包的旧版本作为备选的动作过程避免所述问题。According to the present embodiment, by saving previous merge management information in a merge management information file, a virtual package can be generated from a resident application in a playback device using an old version of merge management information with reference to the content history of the merge management information file. If an error occurs during the generation of the virtual package, the problem can be avoided by generating an older version of the virtual package as an alternative course of action.

实施例4Example 4

本实施例涉及一种方法,该方法用于当Java应用程序请求虚拟包更新时指定虚拟包的有效期限,和仅仅在有效期限内使用虚拟包执行重放。The present embodiment relates to a method for designating an effective period of a virtual package when a Java application requests virtual package update, and performing playback using the virtual package only within the effective period.

图39显示了当请求虚拟包更新时被指定的有效期限。Java应用程序指定用于合并的附加内容的内容ID和用于虚拟包的使用的有效期限。例如,如果用户想要作为虚拟包播放内容直到光盘被退出并且然后在重装载光盘之后仅仅使用原始BD-ROM播放内容,则到光盘被退出为止指示虚拟包是有效的值在从Java应用程序请求虚拟包更新时的自变量中被指定。Fig. 39 shows the valid period specified when a virtual package update is requested. The Java application specifies the content ID for the incorporated additional content and the expiration date for use of the virtual package. For example, if a user wants to play the content as a virtual package until the disc is ejected and then after reloading the disc with just the original BD-ROM, the value indicating that the virtual package is valid until the disc is ejected is not available in the request from the Java application. It is specified in the argument at the time of virtual package update.

图40是关于本实施例的从BD-ROM的装载(或重放装置的重启)直到重放的处理流程的流程图。虚拟文件系统单元38首先检验被装载的BD-ROM的光盘ID(步骤S101),读取合并管理信息文件(步骤S102),并且判断是否存在对应于被装载的BD-ROM的光盘ID的合并管理信息(步骤S103)。如果判断是否定的(步骤S103=否),则仅仅使用原始BD-ROM执行重放(步骤S104)。如果判断是肯定的(步骤S103=是),则虚拟文件系统单元38判断相应的合并管理信息是否在有效期限内(步骤S105)。如果不再有效,则删除相应的合并管理信息(步骤S106),并且仅仅使用原始BD-ROM执行重放(步骤S104)。如果仍然有效,则相应的合并管理信息用于产生虚拟包(步骤S107),并且使用虚拟包执行重放(步骤S108)。FIG. 40 is a flowchart of the flow of processing from loading of the BD-ROM (or restart of the playback device) to playback in this embodiment. The virtual file system unit 38 first checks the disc ID of the loaded BD-ROM (step S101), reads the merge management information file (step S102), and judges whether there is a merge management corresponding to the disc ID of the loaded BD-ROM. information (step S103). If the judgment is negative (step S103=No), playback is performed using only the original BD-ROM (step S104). If the judgment is affirmative (step S103=Yes), the virtual file system unit 38 judges whether the corresponding merge management information is within the validity period (step S105). If no longer valid, the corresponding merge management information is deleted (step S106), and playback is performed using only the original BD-ROM (step S104). If still valid, the corresponding merge management information is used to generate a virtual package (step S107), and playback is performed using the virtual package (step S108).

需要注意的是作为本实施例的应用也可以想到其中仅Java模式虚拟包被产生的方式。如果当从Java应用程序请求产生虚拟包时仅指定Java模式,当存在从DVD-like模式到Java模式的过渡时,虚拟文件系统单元38产生虚拟包并且然后变换到Java模式。相反地,当存在从Java模式到DVD-like模式的过渡时,在取消虚拟包并回复到原始BD-ROM之后虚拟文件系统单元38变换到DVD-like模式。It should be noted that a mode in which only the Java mode virtual package is generated is also conceivable as an application of the present embodiment. If only the Java mode is specified when creating a virtual package is requested from a Java application, when there is transition from the DVD-like mode to the Java mode, the virtual file system unit 38 creates a virtual package and then shifts to the Java mode. Conversely, when there is a transition from the Java mode to the DVD-like mode, the virtual file system unit 38 transitions to the DVD-like mode after canceling the virtual package and reverting to the original BD-ROM.

根据本实施例,有可能使用虚拟包指定重放的有效期限,由此允许使用仅一次虚拟包(即一旦BD-ROM被退出就被禁止的虚拟包)进行重放,和产生带有使用期限限制的虚拟包。According to the present embodiment, it is possible to specify the effective period of playback using a virtual package, thereby allowing playback using only one virtual package (i.e., a virtual package that is prohibited once the BD-ROM is ejected), and generating Limited virtual packages.

需要注意的是在本实施例中有效期限在请求虚拟包更新时被指定,有效期限也可以在装载BD-ROM之后请求产生虚拟包时被指定。It should be noted that in this embodiment, the valid period is specified when requesting the update of the virtual package, and the valid period can also be specified when requesting to generate the virtual package after the BD-ROM is loaded.

实施例5Example 5

下面是关于在实施例1的图25中的步骤S23的调用应用程序的权限的具体描述。具体而言,本实施例涉及拒绝来自未授权Java应用程序的虚拟包更新请求的方法。The following is a specific description about the authority to invoke the application program in step S23 in FIG. 25 of Embodiment 1. Specifically, the present embodiment relates to a method of rejecting a virtual package update request from an unauthorized Java application.

图41显示了用于筛选虚拟包更新请求的许可请求文件。如上所述,在来自Java应用程序的更新请求的基础上执行虚拟包更新。然而,当在来自未授权Java应用程序的请求的基础上执行更新时,由于查看限制被改变或者仅仅可以在某些条件下查看的视频剪辑的重放被允许,存在光盘内容被非法更新的危险。鉴于此,根据本实施例的虚拟包更新仅仅可以由具有更新许可的Java应用程序请求,所述更新许可是显示请求更新的许可已被准许的信息。通过检验与发布请求的Java应用程序对应的许可请求文件的内容判断是否具有更新许可。具体而言,类装载器根据各个许可请求文件的内容限制Java应用程序的功能。例如,如果许可请求文件中的更新属性值为“真”则处理更新请求,如果为“假”则拒绝。Figure 41 shows a license request file used to filter virtual package update requests. As described above, virtual package update is performed on the basis of an update request from a Java application. However, when the update is performed on the basis of a request from an unauthorized Java application, there is a risk that the contents of the disc are illegally updated because viewing restrictions are changed or playback of video clips that can only be viewed under certain conditions is allowed . In view of this, the virtual package update according to the present embodiment can only be requested by a Java application having an update permission which is information showing that the permission requesting the update has been granted. Whether or not there is an update license is judged by checking the content of the license request file corresponding to the Java application that issued the request. Specifically, the class loader restricts the functions of Java applications according to the contents of each license request file. For example, the update request is processed if the value of the update attribute in the permission request file is "true" and rejected if it is "false".

图42显示了强加在用于合并的本地存储器中的目录上的访问限制。如果用于合并的目录的内容由未授权Java应用程序更改,即使更新请求被筛选也存在虚拟包的内容被非法改变的危险。鉴于此,也在各个许可请求文件的内容的基础上限制对本地存储器访问的许可。例如,如果许可请求文件中的读和写属性值都为“真”,下载的内容可以被写入并且存储的文件可以被读取和编辑。然而,将在带有读和写属性之一或两者为“假”的许可请求文件的Java应用程序,或不带有许可请求文件的Java应用程序上强加文件访问限制。Figure 42 shows the access restrictions imposed on directories in local storage for merging. If the content of the directory for merging is changed by an unauthorized Java application, there is a risk that the content of the virtual package is illegally changed even if the update request is filtered. In view of this, permission for local storage access is also restricted on the basis of the contents of each permission request file. For example, if the read and write attribute values in the permission request file are both "true", downloaded content can be written and stored files can be read and edited. However, file access restrictions will be imposed on Java applications with a permission request file with one or both of the read and write attributes false, or without a permission request file.

根据本实施例,可以防止未授权Java应用程序更新虚拟包和改变本地存储器中的目录的内容。According to the present embodiment, it is possible to prevent unauthorized Java applications from updating virtual packages and changing contents of directories in local storage.

下面是使用许可请求文件来限制虚拟包更新的具体例子。考虑一个例子,其中本地存储器中的目录被分配给电影作品的特定供应商。具体而言,假设由A工作室、B工作室和C公司提供的内容同时存储在本地存储器中和BD-ROM上。在这里,C公司是数字杂志的供应商。当合并本地存储器和BD-ROM中的内容时,例如如果B工作室所提供的内容与A工作室所提供的内容合并将出现问题。鉴于此,仅仅准许C公司的更新许可(即许可请求文件中的更新属性值设置为“真”),由此允许使各种服务可用。A工作室和B工作室仅仅能够合并它们自己的内容。The following is a concrete example of using a license request file to restrict virtual package updates. Consider an example where a directory in local storage is assigned to a particular supplier of a movie production. Specifically, it is assumed that contents provided by A studio, B studio, and C company are simultaneously stored in the local storage and on the BD-ROM. Here, Company C is a supplier of digital magazines. A problem arises when merging the content in the local storage and the BD-ROM, for example if the content provided by studio B is merged with the content provided by studio A. In view of this, only the update permission of the C company is granted (ie, the update attribute value in the permission request file is set to "true"), thereby allowing various services to be made available. Studio A and Studio B are only able to merge their own content.

实施例6Example 6

本实施例涉及一种方法,该方法用于在Java应用程序在多个标题上操作的情况下在标题变化期间更新虚拟包。The present embodiment relates to a method for updating a virtual package during a title change in a case where a Java application operates on a plurality of titles.

图43显示了其生命周期被限制到单一标题的Java应用程序和其生命周期持续多个标题的Java应用程序。Java应用程序的生命周期在应用程序管理信息中被显示,并且模块管理器33根据该应用程序管理信息管理Java应用程序的开始和结束。Java应用程序包括仅仅在它们开始的标题内存在的那些应用程序(在下文被称为“标题绑定应用程序”)和可以在多个标题上存在的那些应用程序(在下文被称为“标题未绑定应用程序”)。应用程序管理信息包含标题数目,应用程序ID和显示特定Java应用程序是否被绑定的信息。Figure 43 shows a Java application whose lifecycle is limited to a single title and a Java application whose lifecycle lasts for multiple titles. The life cycle of the Java application is displayed in the application management information, and the module manager 33 manages the start and end of the Java application based on the application management information. Java applications include those that exist only within the title in which they start (hereinafter referred to as "title-bound applications") and those that can exist on multiple titles (hereinafter referred to as "title-bound applications"). Unbound application"). The application management information includes title number, application ID and information showing whether a specific Java application is bound or not.

在图43所示的应用程序管理信息中,例如,在标题#1中Java应用程序#1被绑定而Java应用程序#2未绑定。模块管理器33连同标题#1的结束一起终止绑定Java应用程序#1。在另一方面,在标题#1结束之后允许未绑定的Java应用程序#2存活,并且根据下一个标题的应用程序管理信息作出是否终止该应用程序的决定。由于图43中的应用程序管理信息的例子表明Java应用程序#2可以同时在标题#1和标题#2中存在,因此允许该应用程序在从标题#1到标题#2的过渡期间存活。然而,由于Java应用程序#2在标题#2中是标题绑定的,因此模块管理器33连同该标题的结束一起终止应用程序。In the application management information shown in FIG. 43, for example, Java application #1 is bound and Java application #2 is not bound in Title #1. The module manager 33 terminates the binding of the Java application #1 along with the end of the title #1. On the other hand, the unbound Java application #2 is allowed to survive after the end of Title #1, and a decision whether to terminate the application is made based on the application management information of the next Title. Since the example of application management information in FIG. 43 shows that Java application #2 can exist in both Title #1 and Title #2, the application is allowed to survive during the transition from Title #1 to Title #2. However, since the Java application #2 is title-bound in Title #2, the module manager 33 terminates the application along with the end of the title.

图44显示了在标题变化期间当更新虚拟包时在未绑定标题的应用程序上执行的处理。如图43中所示,可以在标题变化之前的标题和之后的标题中同时存在的标题未绑定应用程序在标题变化期间继续工作。然而,如果请求虚拟包更新,包括标题未绑定应用程序的所有应用程序在标题变化期间被终止。在更新虚拟包之后,标题未绑定应用程序然后与属于下一个标题的标题绑定应用程序一起被重新启动。Fig. 44 shows the processing performed on an application not bound to a title when a virtual package is updated during a title change. As shown in FIG. 43, title-unbound applications that can exist in both the title before the title change and the title after the title change continue to work during the title change. However, if a virtual package update is requested, all applications including title-unbound applications are terminated during the title change. After updating the virtual package, the title-unbound application is then restarted together with the title-bound application belonging to the next title.

图45是考虑未绑定标题应用程序的标题变化处理的流程图。当标题重放开始时(步骤S111),虚拟文件系统单元38首先判断在当前标题重放期间是否已从Java应用程序请求虚拟包更新(步骤S112)。如果判断是肯定的(步骤S112=是),则虚拟文件系统单元38执行更新准备(步骤S113)。当标题变化发生时(步骤S114),虚拟文件系统单元38判断更新请求是否已被处理(步骤S115)。如果判断是肯定的(步骤S115=是),终止包括标题未绑定应用程序的所有应用程序(步骤S116),并且更新虚拟包(步骤S117)。然后在标题变化之后播放下一个标题(步骤S118)。如果在步骤S112虚拟包更新还未被请求或者如果在S115更新请求还未被处理,则当标题变化发生时模块管理器33仅仅终止标题绑定应用程序(步骤S119)。Fig. 45 is a flowchart of title change processing in consideration of unbound title applications. When title playback starts (step S111), the virtual file system unit 38 first judges whether virtual package update has been requested from the Java application during playback of the current title (step S112). If the judgment is affirmative (step S112=Yes), the virtual file system unit 38 performs update preparation (step S113). When a title change occurs (step S114), the virtual file system unit 38 judges whether or not an update request has been processed (step S115). If the judgment is affirmative (step S115=Yes), all applications including the title-unbound application are terminated (step S116), and the virtual package is updated (step S117). Then the next title is played after the title change (step S118). If a virtual package update has not been requested at step S112 or if an update request has not been processed at S115, the module manager 33 simply terminates the title binding application when a title change occurs (step S119).

由于本实施例保证所有应用程序在虚拟包的更新期间被终止,因此根据对旧的更新前文件的参考仍然保留在高速缓存中或者新文件与旧文件一起存在于高速缓存中,有可能在完成虚拟包更新之后防止任何连贯性损失。Since this embodiment guarantees that all applications are terminated during the update of the virtual package, it is possible to Prevents any loss of continuity after a virtual package update.

需要注意的是如果能够在多个光盘上存在的Java应用程序(“光盘未绑定应用程序”)在请求虚拟包更新之后发生标题变化时正在工作,通过以与光盘变化操作相同的方式对待虚拟包更新,光盘未绑定应用程序可以继续工作而不会被强制终止。Note that if a Java application capable of existing on multiple discs ("disc-unbundled application") is working when a title change occurs after a virtual package update is requested, by treating the virtual Package updates, disc-unbound applications can continue to work without being forcibly terminated.

还需要注意的是在发生标题变化之后模块管理器33可以根据完成虚拟包更新之后更新的应用程序管理信息,管理标题未绑定应用程序的开始和结束,而不会在更新期间终止标题未绑定应用程序。在该情况下,在更新完成之前,使标题未绑定应用程序参考更新前的虚拟包。It should also be noted that after a title change occurs, the module manager 33 can manage the start and end of the title-unbound application based on the application management information updated after the virtual package update is completed, without terminating the title-unbound application during the update. custom application. In this case, before the update is completed, the title-unbound application is made to refer to the pre-update virtual package.

实施例7Example 7

本实施例涉及在INDEX.BDMV文件变化之后的虚拟包更新。一旦接收来自Java应用程序的虚拟包更新请求,虚拟文件系统单元38确认INDEX.BDMV文件存在于用于合并的目录中。如果INDEX.BDMV文件存在,虚拟文件系统单元38为准备更新读取INDEX.BDMV文件。然后现有的INDEX.BDMV文件被无效而新的INDEX.BDMV文件生效。如果例如BD播放器的常驻应用程序执行标题搜索或Java应用程序采集标题信息,在标题变化之前使用该新INDEX.BDMV文件。换句话说,在更新标题结构之后事先通知Java应用程序和用户使得有可能防止标题变化为将在更新之后停止存在的标题或标题变化到未预期的标题。This embodiment relates to the update of the virtual package after the INDEX.BDMV file is changed. Upon receiving a virtual package update request from a Java application, the virtual file system unit 38 confirms that the INDEX.BDMV file exists in the directory for merging. If the INDEX.BDMV file exists, the virtual file system unit 38 reads the INDEX.BDMV file in preparation for the update. Then the existing INDEX.BDMV file is invalidated and the new INDEX.BDMV file is enabled. If a resident application such as a BD player performs a title search or a Java application collects title information, this new INDEX.BDMV file is used before a title change. In other words, notifying the Java application and the user in advance after updating the title structure makes it possible to prevent the title from changing to a title that will cease to exist after the update or to an unexpected title.

图46是在INDEX.BDMV文件变化之后的虚拟包更新的流程图。首先,当在Java模式中播放标题时(步骤S121),虚拟文件系统单元38判断Java应用程序是否已请求虚拟包更新(步骤S122),并且如果已请求,则虚拟文件系统单元38接收请求并且执行更新准备(步骤S123)。在检验文件和目录结构是否正确的同时,虚拟文件系统单元38判断INDEX.BDMV文件是否存在(步骤S124)。如果INDEX.BDMV文件存在,则在判断是否已发生标题调用之前(步骤S126),虚拟文件系统单元38使现有的INDEX.BDMV文件无效并且使新的INDEX.BDMV文件生效(步骤S125)。参考在步骤S125中生效的INDEX.BDMV文件从BD播放器中的常驻应用程序或从Java应用程序执行标题变化。当标题变化发生时虚拟文件系统单元38执行更新(步骤S127)。Fig. 46 is a flowchart of virtual package update after INDEX.BDMV file change. First, when a title is played in Java mode (step S121), the virtual file system unit 38 judges whether the Java application has requested a virtual package update (step S122), and if requested, the virtual file system unit 38 receives the request and executes Updating preparation (step S123). While checking whether the file and directory structures are correct, the virtual file system unit 38 judges whether the INDEX.BDMV file exists (step S124). If the INDEX.BDMV file exists, the virtual file system unit 38 invalidates the existing INDEX.BDMV file and validates the new INDEX.BDMV file (step S125) before judging whether a title call has occurred (step S126). The title change is performed from a resident application in the BD player or from a Java application referring to the INDEX.BDMV file validated in step S125. The virtual file system unit 38 performs an update when a title change occurs (step S127).

因而,尽管在更新请求后发生标题变化之前不执行虚拟包更新,在标题变化之前可以使新INDEX.BDMV文件可用。这意味着在更新请求之后,在标题搜索期间显示的标题列表将在标题变化发生之前已变化。Thus, although the virtual package update is not performed until the title change occurs after the update request, the new INDEX.BDMV file can be made available before the title change. This means that after an update request, the list of titles displayed during a title search will have changed before the title change occurred.

由于用户然后基于改变的标题列表选择标题,因此可以防止由选择将在更新之后停止存在的标题引起的错误。因而可以在标题变化期间更新虚拟包而不会出现问题,即使由于更新而改变了标题结构。Since the user then selects a title based on the changed title list, errors caused by selecting a title that will cease to exist after the update can be prevented. It is thus possible to update the virtual package without problems during a title change, even if the title structure is changed due to the update.

需要注意的是可以在重启BD播放器之后执行在INDEX.BDMV文件变化之后的虚拟包更新。It should be noted that the update of the virtual package after the change of the INDEX.BDMV file can be performed after restarting the BD player.

变型transform

以上基于优选实施例描述了关于本发明的重放装置,尽管本发明当然不限于这些实施例。The playback apparatus related to the present invention has been described above based on the preferred embodiments, although the present invention is of course not limited to these embodiments.

关于其仅有的功能是播放记录介质的重放装置描述了以上实施例,尽管本发明并不限于此。例如,本发明可以是具有记录和重放功能的记录/重放装置。The above embodiments have been described with respect to the playback device whose only function is to play a recording medium, although the present invention is not limited thereto. For example, the present invention may be a recording/playback device having recording and playback functions.

文件可以放置在使用任何类型结构的本地存储器中,只要与用于合并的BD-ROM上的文件的对应关系被清楚地显示。Files can be placed in local storage using any type of structure as long as the correspondence with the files on the BD-ROM for merging is clearly shown.

在以上实施例中,Java(注册商标)用作虚拟机的编程语言,尽管也可以使用除了Java之外的编程语言,这样的例子包括Perl Script,ECMA Script和B-Shell等,其与UNIX(注册商标)操作系统一起使用。In the above embodiments, Java (registered trademark) is used as the programming language of the virtual machine, although it is also possible to use programming languages other than Java, and such examples include Perl Script, ECMA Script, and B-Shell, etc., which are compatible with UNIX ( registered trademark) operating system.

关于播放BD-ROM的重放装置描述了以上实施例,尽管当然可以在如以上实施例中描述的BD-ROM上的必要数据被记录在可写光记录介质上的情况下实现与以上相同的效果。The above embodiments have been described with regard to a playback device that plays a BD-ROM, although of course the same as above can be realized in the case where necessary data on a BD-ROM is recorded on a writable optical recording medium as described in the above embodiments. Effect.

而且,当然可以在如以上实施例中描述的BD-ROM上的必要数据被记录在除了光记录介质之外的便携式记录介质(例如SD卡,小型闪存等)上的情况下实现与以上相同的效果。Also, it is of course possible to realize the same as above in the case where the necessary data on the BD-ROM as described in the above embodiment is recorded on a portable recording medium (such as an SD card, a compact flash memory, etc.) other than an optical recording medium. Effect.

工业适用性Industrial applicability

构成本发明的重放装置可以在制造业中经营地、持续地和重复地被制造。该重放装置特别应用于关于视频内容产品的电影和消费用品产业。The playback devices constituting the present invention can be manufactured operationally, continuously and repeatedly in the manufacturing industry. The playback device finds particular application in the film and consumer goods industry with respect to video content production.

Claims (2)

1. a limit and executory application program are play the replay device of digital stream in interlock, limit mutually, and described replay device comprises:
Assure the reason unit, be used for according to the merging management information that writes down on the re-writable recording medium, make up file that is recorded on the recording medium and the file that is recorded on the re-writable recording medium, thereby generation package informatin, and the indicated file of the employed merging management information of the generation of described package informatin being become read-only, the indication of described merging management information is used to be combined to the file of described recording medium;
Selected cell, but be used for detecting a plurality of play title from described package informatin, and select one of them as current title;
Processing unit is used to carry out and the relevant application program of described current title; And
The playback Control Engine, be used for according to described current title appointment and be included in playlist information in the described package informatin, the playback of control figure stream, wherein
When specifying different by performed described application program and being recorded in new merging management information on the described re-writable recording medium with the employed merging management information of the generation of described package informatin, ask described when assuring the reason unit and carrying out the renewal of package informatin of described generation
The described reason unit of assuring,
Before upgrading described package informatin, with the new merging management information of described appointment indicated, be recorded in file on the described re-writable recording medium become read-only, and,
Selection at the new current title that carries out owing to described selected cell, make the playback Control Engine stop the digital stream playback time that carries out according to the playlist information of indicating in the described current title, new merging management information according to described appointment, combination is recorded in the file and the file that is recorded on the described re-writable recording medium on the described recording medium, generate new package informatin
Described re-writable recording medium comprises a plurality of CDs and relies on the district,
The described described a plurality of CDs of reason unit marks of assuring rely on CD dependence district corresponding with the described recording medium that is loaded in the district, and rely in the district at the CD that is identified, described merging management information is converted to the new merging management information of described application program appointment.
2. a limit and executory application program are play the playback method of digital stream in interlock, limit mutually, and described playback method comprises:
Package informatin generates step, be used for according to the merging management information that writes down on the re-writable recording medium, make up file that is recorded on the recording medium and the file that is recorded on the re-writable recording medium, thereby the generation package informatin, described merging management information indication is used to be combined to the file of described recording medium;
Attribute change step becomes the indicated file of the employed merging management information of the generation of described package informatin read-only;
Select step, but be used for detecting a plurality of play title, and select one of them as current title from described package informatin;
Treatment step is used to carry out and the relevant application program of described current title; And
The playback controlled step, be used for according to described current title appointment and be included in playlist information in the described package informatin, the playback of control figure stream, wherein
When specifying different by performed described application program and being recorded in new merging management information on the described re-writable recording medium with the employed merging management information of the generation of described package informatin, when asking the renewal of package informatin of described generation,
Before upgrading described package informatin, by described attribute change step, with the new merging management information of described appointment indicated, be recorded in file on the described re-writable recording medium become read-only, and,
In selection owing to the new current title in the described selection step, make the playback controlled step stop the digital stream playback time that carries out according to the playlist information of indicating in the described current title, generate in the step at described package informatin, new merging management information according to described appointment, combination is recorded in the file and the file that is recorded on the described re-writable recording medium on the described recording medium, generate new package informatin
Described re-writable recording medium comprises a plurality of CDs and relies on the district,
Described package informatin generates in the step, identify described a plurality of CD and rely on CD dependence district corresponding in the district with the described recording medium that is loaded, and rely in the district at the CD that is identified, described merging management information is converted to the new merging management information of described application program appointment.
CN2009101512627A 2004-07-22 2005-07-21 Playback apparatus for performing application-synchronized playback Expired - Fee Related CN101640059B (en)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
JP2004-214916 2004-07-22
JP2004214916 2004-07-22
JP2004214916 2004-07-22
JP2004-268512 2004-09-15
JP2004268512 2004-09-15
JP2004268512 2004-09-15
JP2004293043 2004-10-05
JP2004293043 2004-10-05
JP2004-293043 2004-10-05
JP2004-369701 2004-12-21
JP2004369701 2004-12-21
JP2004369701 2004-12-21
JP2005099410 2005-03-30
JP2005-099410 2005-03-30
JP2005099410 2005-03-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2005800248237A Division CN1989565B (en) 2004-07-22 2005-07-21 Playback device for performing application-synchronized playback

Publications (2)

Publication Number Publication Date
CN101640059A true CN101640059A (en) 2010-02-03
CN101640059B CN101640059B (en) 2012-06-20

Family

ID=38185469

Family Applications (5)

Application Number Title Priority Date Filing Date
CN2009101512576A Expired - Fee Related CN101587735B (en) 2004-07-22 2005-07-21 Playback apparatus for performing application-synchronized playback
CN2009101512627A Expired - Fee Related CN101640059B (en) 2004-07-22 2005-07-21 Playback apparatus for performing application-synchronized playback
CN2009101512612A Expired - Fee Related CN101587736B (en) 2004-07-22 2005-07-21 Playback apparatus for performing application-synchronized playback
CN2009101512561A Expired - Fee Related CN101587734B (en) 2004-07-22 2005-07-21 Playback apparatus for performing application-synchronized playback
CN2005800248237A Expired - Lifetime CN1989565B (en) 2004-07-22 2005-07-21 Playback device for performing application-synchronized playback

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2009101512576A Expired - Fee Related CN101587735B (en) 2004-07-22 2005-07-21 Playback apparatus for performing application-synchronized playback

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN2009101512612A Expired - Fee Related CN101587736B (en) 2004-07-22 2005-07-21 Playback apparatus for performing application-synchronized playback
CN2009101512561A Expired - Fee Related CN101587734B (en) 2004-07-22 2005-07-21 Playback apparatus for performing application-synchronized playback
CN2005800248237A Expired - Lifetime CN1989565B (en) 2004-07-22 2005-07-21 Playback device for performing application-synchronized playback

Country Status (1)

Country Link
CN (5) CN101587735B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104541244A (en) * 2012-09-27 2015-04-22 英特尔公司 Methods and systems for performing a replay execution

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100933003B1 (en) * 2008-06-20 2009-12-21 드리머 Method for providing WD-J based channel service and computer readable recording medium recording program for realizing the same
JP4984181B2 (en) * 2009-06-22 2012-07-25 ソニー株式会社 Playback apparatus and playback method
US20120131566A1 (en) * 2010-11-23 2012-05-24 Microsoft Corporation Efficient virtual application update
CN111240882B (en) * 2020-01-16 2020-11-20 深圳开源互联网安全技术有限公司 Method and system for detecting abnormal state

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003001792A1 (en) * 2001-06-25 2003-01-03 Narad Networks, Inc. Delivering consumer entertainment services using virtual devices
CN101504853B (en) * 2002-09-25 2012-10-31 松下电器产业株式会社 Reproducing device and recording method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104541244A (en) * 2012-09-27 2015-04-22 英特尔公司 Methods and systems for performing a replay execution
CN104541244B (en) * 2012-09-27 2017-09-15 英特尔公司 Method and apparatus for carrying out resetting execution
US10474471B2 (en) 2012-09-27 2019-11-12 Intel Corporation Methods and systems for performing a replay execution

Also Published As

Publication number Publication date
CN101587735A (en) 2009-11-25
CN101587734A (en) 2009-11-25
CN101587736B (en) 2011-12-07
CN1989565B (en) 2010-10-20
CN101587736A (en) 2009-11-25
CN101587735B (en) 2011-08-31
CN101640059B (en) 2012-06-20
CN101587734B (en) 2012-08-22
CN1989565A (en) 2007-06-27

Similar Documents

Publication Publication Date Title
CN101916578B (en) Playback apparatus for performing application-synchronized playback
JP5103514B2 (en) Playback device, playback method, and program
KR101217203B1 (en) Reproducer, and reproducing method
CN101640059B (en) Playback apparatus for performing application-synchronized playback

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120620

Termination date: 20160721

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载