WO2005036547A1 - 再生装置、プログラム、再生方法 - Google Patents

再生装置、プログラム、再生方法 Download PDF

Info

Publication number
WO2005036547A1
WO2005036547A1 PCT/JP2004/015337 JP2004015337W WO2005036547A1 WO 2005036547 A1 WO2005036547 A1 WO 2005036547A1 JP 2004015337 W JP2004015337 W JP 2004015337W WO 2005036547 A1 WO2005036547 A1 WO 2005036547A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
title
playback
read
virtual machine
Prior art date
Application number
PCT/JP2004/015337
Other languages
English (en)
French (fr)
Inventor
Wataru Ikeda
Hiroaki Iwamoto
Tomoyuki Okada
Original Assignee
Matsushita Electric Industrial Co.,Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co.,Ltd. filed Critical Matsushita Electric Industrial Co.,Ltd.
Priority to CN2004800297436A priority Critical patent/CN1867988B/zh
Priority to KR1020067007239A priority patent/KR101051846B1/ko
Priority to US10/572,983 priority patent/US8437625B2/en
Priority to EP04773787A priority patent/EP1675119A4/en
Priority to JP2005514681A priority patent/JP4182110B2/ja
Publication of WO2005036547A1 publication Critical patent/WO2005036547A1/ja

Links

Classifications

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

Definitions

  • Playback device program, playback method
  • the present invention is an invention belonging to the technical field of reproduction control technology for simultaneously executing the reproduction of a digitized movie work and the execution of an application, and uses the reproduction control technology for a consumer-use reproduction apparatus and program. It is deeply related to applied technology when applied to
  • DVD playback devices have established a solid position as package media playback devices.
  • the DVD playback device has an interpreter-type execution entity, and issues commands to the DVD playback device to execute playback control.
  • description using commands is mandatory, but for future BD playback devices, there is a demand that playback control descriptions for playback devices can be written in Java programming. This is to encourage various software houses that are good at Java programming to enter the BD content production business.
  • the execution subject of the intermediary type when executing the playback of the digital stream having a length of two hours, the execution subject of the intermediary type does not return any response for two hours, and only responds after two hours. return.
  • the Java virtual machine that executes Java programs is the event-driven execution entity, and the Java virtual machine returns a response immediately after decoding the playback command and issuing an instruction to the lower layer. In such a case, it is impossible to perform control such that some processing is performed after a lapse of the reproduction time of two hours.
  • An object of the present invention is to provide a reproducing apparatus which can execute some processing after a lapse of a reproducing time of 2 hours even if it is intended for an event driven type execution subject.
  • the above object includes a module for executing an application, a playback engine for playing back a digital stream belonging to a title, and a module manager for controlling branching between the titles.
  • the module comprises a virtual machine, an application, and the like.
  • a virtual machine unit that decodes an application, generates an instance, and executes the generated instance.
  • the application manager stores the instance in a work memory in the virtual machine unit. You In this case, even if the application is terminated, it is interpreted that the title playback is continued, and if a playback end event is issued from the playback control engine, the title playback is finished and the next title is given to the module manager. This is achieved by a playback device characterized by selecting.
  • the virtual machine unit returns an event of a response to the application, even if the application is terminated, as long as the instance is in the work memory of the virtual machine unit, title playback is still pending.
  • the digital stream has a playback time of 2 hours, the application can be operated in synchronization with the playback time of 2 hours.
  • synchronous control can be realized, which is no different from a DVD playback device, and reproduction control can be easily described by Java programming.
  • Java programming becomes familiar, the entry into the BD content production business with a software house that is skilled in Java programming will gain momentum.
  • FIG. 1 is a diagram showing a mode of use of the playback device according to the present invention.
  • FIG. 2 is a diagram showing a file 'directory structure in the BD-ROM.
  • FIG. 3 is a diagram showing the relationship between the AV Clip time axis and the PL time axis.
  • FIG. 4 is a diagram showing a batch specification made by four ClipJnformation_file_names.
  • FIG. 5 is a diagram showing a chapter definition by PLmark.
  • FIG. 6 is a diagram showing a playback section definition on the SubPlayltem time axis and synchronization designation.
  • FIG. 7A shows the internal structure of a Movie object.
  • FIG. 7B shows the internal structure of the BD-J object.
  • FIG. 7 (c) is a diagram showing the internal configuration of the Java application.
  • Fig. 8 (a) shows the programs and data stored in the Java archive file.
  • FIG. 8B shows an example of an xlet program.
  • FIG. 9A is a diagram showing a series of titles such as a top menu, title_l, and title # 2.
  • FIG. 9B is a diagram showing a time axis obtained by adding the time axes of PlayList # 1 and PlayList # 2.
  • FIG. 10 is a diagram showing disc contents including three titles: a main title, an online shopping title, and a game title.
  • FIG. 11 is a diagram showing an example of the reproduced images of the three titles shown in FIG.
  • FIG. 12 (a) is a graph in which the life span of each application is graphed from the membership shown by the broken line in FIG.
  • FIG. 12 (b) is a diagram showing an example of an application management table described in order to define the life cycle of FIG. 12 (a).
  • FIG. 13A is a diagram showing an example of the activation attribute setting.
  • - Figure 13 (b) is a diagram showing an application (application # 2) that starts for the first time when an application is called from another application.
  • FIGS. 14A and 14B are diagrams illustrating an example of an application management table and a live range in which Suspend is significant.
  • FIG. 15 is a diagram showing combinations of three possible modes of the startup attribute (Persistent, AutoRun. Suspend) and three modes of the application state in the immediately preceding title (non-start, running, and Suspend).
  • FIG. 16 is a diagram showing the internal configuration of the playback device according to the present invention.
  • FIG. 17A is a diagram showing how the Java archive file existing in the BD-R0M is identified on the low-level memory 29.
  • FIG. 17 (b) is a diagram showing an application of FIG. 17 (a).
  • FIG. 18 is a diagram in which a portion composed of software and hardware stored in the R0M24 is replaced with a layer configuration.
  • FIG. 19 is a diagram schematically illustrating processing performed by the Presentation Engine 31 to the module manager 34.
  • FIG. 20 is a diagram schematically illustrating a process performed by the application manager 36.
  • FIG. 21 is a diagram showing the work memory 37 to the Default Operation Manager 40.
  • FIG. 22 is a diagram showing a control procedure at the time of branching by the application manager 36.
  • FIG. 23 is a flowchart showing the processing procedure of the application termination processing.
  • FIG. 24 is a diagram schematically showing a process of terminating the application.
  • FIG. 25 (a) is a diagram showing an application management table in which a live range is defined on the PL time axis.
  • FIG. 25 (b) is a diagram showing a live range of 7 cases based on the application management table of FIG. 25 (a).
  • Figure 26 (a) shows the title time axis determined from the PL time axis.
  • Figure 26 (b) shows the title time axis determined from the life span of the main application.
  • Figure 26 (c) is a diagram showing a title time axis determined from the life spans of multiple applications.
  • FIG. 27 is a flowchart showing the processing procedure of the application manager 36 during title playback.
  • FIG. 28 (a) is a diagram showing a menu hierarchy realized by the BD-R0M.
  • FIG. 28 (b) is a diagram showing a MOVIE object for implementing the menu hierarchy.
  • FIG. 29 is a diagram schematically illustrating an Index Table and a branch from the Index Table to each Movie object.
  • FIG. 30 (a) shows a branch when the Index Table is described as shown in FIG. 29 (b).
  • FIG. 30 (b) is a diagram showing a branch when a non-AV title is forcibly terminated.
  • FIG. 31 is a flowchart showing a processing procedure of the module manager 34.
  • FIG. 32 is a diagram showing an operation example of the application manager 36 forcibly terminating the application.
  • FIG. 33 is a flowchart showing a PL playback procedure by the Playback Control Engine 32.
  • FIG. 34 is a flowchart showing a procedure for accepting angle switching and SkipBack and SkipNext.
  • FIG. 35 is a flowchart showing a processing procedure when the SkipBack, SkipNext API is called.
  • FIG. 36 is a flowchart showing details of the processing procedure by the Presentation Engine 31.
  • FIG. 37 is a flowchart showing the playback procedure of SubPlayltem.
  • FIG. 38 is a flowchart showing a processing procedure of the application manager 36 according to the fifth embodiment.
  • FIG. 39 is a diagram illustrating an example of the data management table.
  • FIG. 40 is a diagram showing an execution model assumed by a BD-J object.
  • FIG. 41 (a) is a diagram showing a live range indicating the existence of a Java archive file in the oral memory 29.
  • FIG. 41 (b) is a diagram showing a data management table described in order to define the Java archive file live range in FIG. 41 (a).
  • FIG. 42 is a diagram showing embedding of a Java archive file by carouseling.
  • FIG. 43 (a) is a diagram showing AVClip embedding by interleaving.
  • FIG. 43 (b) is a diagram showing three types of read attributes.
  • FIG. 44 (a) is a diagram showing an example of the data management table.
  • FIG. 44 (b) is a diagram showing the transition of the storage contents of the roll memory 29 due to the assignment of the data management table of FIG. 44 (a).
  • FIG. 45 (a) is a diagram showing the memory size of the local memory 29 in the old and new playback devices in comparison.
  • FIG. 45 (b) is a diagram showing an example of a data management table in which read priorities are set.
  • FIG. 46 is a diagram showing a processing procedure of preload control by the application manager 36.
  • HI 47 (a) is a diagram showing an example of a data management table defining a plurality of applications having the same applicationID but different read priorities.
  • FIG. 47 (b) is a diagram showing changes in the contents stored in the roll memory 29 due to the assignment of the data management table in FIG. 47 (a).
  • Figure 48 (a) shows data management that describes the application to be preloaded and the application to be loaded with the same applicationID. It is a figure showing an example of a table.
  • FIG. 48 (b) is a diagram showing the transition of the storage contents of the local memory 29 in the playback device having a small memory scale.
  • FIG. 48 (c) is a diagram showing the transition of the storage contents of the local memory 29 in the playback device having a large memory scale.
  • FIG. 49 is a diagram showing a processing procedure of the load processing by the application manager 36 based on the data management table.
  • FIG. 50 is a diagram showing a processing procedure by the application manager 36 when the current playback point has reached the live range of the application q.
  • FIG. 51 is a diagram schematically illustrating how an application is read by the Java virtual machine 38.
  • FIG. 52 (a) is a diagram showing the internal structure of a BD-J object according to the seventh embodiment.
  • FIG. 52 (b) is a diagram showing an example of the playlist management table.
  • FIG. 52 (c) is a diagram illustrating what processing is performed by the playback device when there is a PL whose playback attribute is set to AutoPlay in the playlist management table of the branch destination title.
  • FIG. 53 (a) is a diagram showing a title time axis in a non-AV system title when the playback attribute is set to indicate non-automatic playback.
  • FIG. 53 (b) is a diagram showing a title time axis of a non-AV title whose playback attribute is set to AutoPlay.
  • FIG. 53 (c) is a diagram illustrating a case where the playback attribute is set to indicate “AutoPlay” in the playlist management table and the application is forcibly terminated.
  • FIG. 53 (d) is a diagram showing a case where the playback attribute is set to indicate “AutoPlay” in the playlist management table, and the activation of the main application has failed.
  • FIG. 54 is a flowchart showing a processing procedure of the application manager 36 according to the seventh embodiment.
  • FIG. 56 (a) and (b) show the relationship between application handling and launch attributes.
  • FIG. 57 is a diagram schematically illustrating how an application is read by the Java virtual machine 38 according to the eighth embodiment.
  • FIGS. 58 (a) and (b) are diagrams showing an example of the read priority according to the ninth embodiment.
  • FIG. 59 (a) is a diagram showing a data management template to which a group attribute has been assigned.
  • FIG. 59 (b) is a diagram showing access to the oral memory 29 based on the application management table.
  • FIG. 60 is “0”, which indicates a variation of the allocation unit of the application management table.
  • FIG. 1 is a diagram showing a mode of use of the playback device according to the present invention.
  • a reproducing apparatus according to the present invention is a reproducing apparatus 200, and forms a home theater system together with a television 300 and a remote control 400.
  • the BD-R0M 100 is used for supplying a movie work to a home theater system composed of a playback device 200, a remote controller 300, and a television 400.
  • the disc content supplied to the home theater system by the BD-R0M is composed of multiple titles that can branch off from each other.
  • Each title consists of one or more playlists and a dynamic control procedure using the playlists.
  • a playlist is composed of one or more digital streams and a playback path in the digital streams, and is a unit of access on a BD-ROM having a concept of "time axis".
  • FIG. 2 is a diagram showing a file 'directory structure in BD-R0M.
  • the BD-ROM has a BDMV directory below the Root directory.
  • the BDMV directory contains a file with the extension bdmv (index, bdmv, MovieObject.bdmv) and a file with the extension BD-J (00001.80- ⁇ 1, 00002. 80- ⁇ 1,00003.80-> 1) is available. Under the 80 directory, there are four subdirectories called PLAYLIST directory, CLIPINF directory, STREAM directory, and BDAR directory.
  • the PLAYLIST directory includes files (00001. mpls, 00002. mpls, 00003mpls) to which the extension Im is immediately added.
  • the CLIPINF directory has files with the extension clpi (00001.clpi, 00002.clpi, 00003.clpi).
  • the STREAM directory has files with the extension ra2ts (00001.m2ts, 00002.m2ts, 00003.m2ts).
  • the BDAR directory contains files (00001.jar, 00002.jar, 00003jar) with the extension jar. From the directory structure described above, it can be seen that a plurality of files of different types are arranged on the BD-R0M.
  • AVCl ip has types such as MainCLip and SubCl ip.
  • MainClip is a digital stream obtained by multiplexing multiple elementary streams such as a video stream, an audio stream, a presentation graphics stream, and an interactive graphics stream.
  • SubCli is a digital stream corresponding to only one elementary stream such as an audio stream, a graphics stream, and a text subtitle stream.
  • clpi is management information corresponding to each AV Clip on a one-to-one basis. Because of the management information, the Clip information has information such as the encoding format of the stream in AVCl i, the frame rate, the bit rate, the resolution, etc., and EPjnap indicating the cue position.
  • Files with the extension "mpls" (00001.mpls, 00002.mpls,
  • the playlist information is information that defines a playlist with reference to the AV Clip.
  • the playlist is composed of MainPath information, PLMark information, and SubPath information.
  • MainPath information is composed of multiple Playltem information.
  • Playltem is a playback section defined by specifying In-Time and Out-Time on one or more AV Clip time axes.
  • a playlist (PL) including a plurality of playback sections is defined.
  • FIG. 3 is a diagram showing the relationship between the AV Clip and the PL. The first level shows the time axis of the AV Clip, and the second level shows the time axis of the PL.
  • the PL information contains three Playltem information, Playltem # l, # 2, and # 3, and these Playltem # l, # 2, and # 3 In-time, 0u, and time define three playback sections. Will be done.
  • a time axis different from the AV Clip time axis is defined. This is the PL time axis shown in the second row.
  • the definition of the Playltem information enables the definition of a time axis different from that of the AV Clip.
  • FIG. 4 is a diagram showing a collective designation made by four C1ip_Inf0rraationon_fi1e_narae.
  • the first to fourth rows show four AVCl ip time axes (the time axes of AVCl ip # 1, # 2, # 3, and # 4), and the fifth row shows the PL Shows the time axis.
  • These four time axes are specified by four Clip_Information-file-names included in the Playltem information.
  • FIG. 5 is a diagram showing a chapter definition by PLmark.
  • the first row shows the AV Clip time axis
  • the second row shows the PL time axis.
  • Arrows pkl, 2 in the figure indicate the Playltem specification (ref__to_PlayItem-Id) and the one-time specification (mark-time_stamp) in PLmark.
  • the PL time axis has three caps Tar (Chapter * 1, # 2, # 3) will be defined.
  • the SubPath information is composed of a plurality of SubPayAyItern information.
  • the SubPlayItem information defines a playback section by designating In—Time, Out_Tiine on the time axis of SubC 1 ip.
  • the SubPlayltem information can be specified to synchronize the playback section on the SubClip time axis with the PL time axis.
  • the PL time axis and the SubPlayltem information time axis are synchronized. Will progress.
  • FIG. 6 is a diagram showing the definition of a playback section on the SubPlaytime time axis and the designation of synchronization. In this figure, the first level shows the PL time axis, and the second level shows the SubPlayltem time axis.
  • SubPlayltem.IN-time indicates the start point of the playback section
  • SubPlayltem.Ou indicates the end point of the playback section. This shows that the playback section is also defined on the SubClip time axis.
  • Sync—Playltem—Id indicates the synchronization specification for the PlayItem
  • sync_start—PTS—of_PlayItem indicates the specification of one point on the Playltem on the PL time axis.
  • the dynamic scenario is scenario data that dynamically defines the playback control of the AV Clip.
  • “Dynamic” means that the contents of playback control change due to a state change in the playback device or a key event from the user.
  • the second is the operating environment of the Java virtual machine. The first of these two operating environments is called HDMV mode. The second is called BD-J mode. Since there are these two operating environments, the dynamic scenario is described assuming one of these operating environments.
  • a dynamic scenario assuming the HDMV mode is called a Movie object and is defined by management information.
  • a dynamic scenario that assumes BD-J mode is called a BD-J object.
  • the Movie object will be described.
  • FIG. 7 (a) is a diagram showing an internal configuration of a Movie object.
  • the Movie object consists of attribute information and a command sequence consisting of multiple navigation commands.
  • the attribute information is information (resume-intention-flag) that indicates whether playback is intended to be resumed after MemiCal1 when MenuCal1 is performed on the PL time axis, and masks MenuCall on the PL time axis. It consists of information (menu_call_mask) indicating whether or not to perform the title search and information (title_search_flag) indicating whether to perform the title search.
  • a Movie object can have both properties of "time axis" + "programmatic control”. Various kinds of titles, such as those that execute the main part playback, are described by this Movie object. become.
  • the navigation command sequence is a command sequence that implements conditional branching, setting of a status register in a playback device, acquisition of a setting value of a status register, and the like.
  • the commands that can be described in the Movie object are shown below.
  • the first argument is the playlist number, which can specify the PL to be played.
  • the second argument can specify the playback start position using the Playltem included in the PL, an arbitrary time in the PL, and a Chapter Mark.
  • PlayPLatPlayltemO The PlayPL function that specifies the playback start position on the PL time axis by Playltem.
  • PlayPLatChapterO the PlayPL function that specifies the playback start position on the PL time axis.
  • the PlayPL function that specifies the playback start position on the PL time axis by the time information is called PlayPLatSpecified TimeO. Evasion command Format: JMP argument
  • the JMP command is a branch that discards the current dynamic scenario on the way (discard) and executes the branch destination dynamic scenario as an argument.
  • FIG. 7B is a diagram showing the internal configuration of the BD-J object.
  • the BD-J object includes attribute information and an application management table similar to the Movie object.
  • a BD-J object is almost the same as a Movie object in that it has attribute information.
  • the difference from the Movie object is that the BD-J object does not directly describe commands. That is, the control procedure in the Movie object was directly described by the navigation command.
  • the control procedure is indirectly specified by defining the Java application whose life cycle is the title on the application management table.
  • FIG. 7 (c) is a diagram showing the internal configuration of the Java application.
  • the application consists of one or more xlet programs loaded in the virtual machine heap area (also called work memory).
  • work memory also called work memory
  • one or more threads are running, and the application is composed of xlet programs, threads, and threads loaded in the work memory.
  • the above is the configuration of the application.
  • the entity of this application is the Java archive file (00001.jar, 00002.jar) stored in the BDAR directory under the BDMV directory.
  • the Java archive file will be described.
  • the Java archive file (00001.jar, 00002.jar) is an archive file that stores the programs and data that make up the Java application.
  • FIG. 8 (a) is a diagram showing programs and data stored in an archive file.
  • the data in this figure is a collection of multiple files in which the directory structure shown in the frame is arranged by the java archiver.
  • the directory structure shown in the frame consists of a root directory, a java directory, and an image directory. Common, pkg in the root directory, aaa.class, bbb.class in the java directory, and menu, jpg in the image directory. Is arranged.
  • a java archive file can be obtained by putting these together in a java archiver.
  • Such data is expanded when it is read from the BD-R0M to the cache, and is treated as multiple files placed in a directory on the cache.
  • the five-digit numerical value "xxxxx" in the file name of the Java archive file indicates the application ID (applicationID).
  • applicationID application ID
  • One file that is bundled together in a Java archive file is the xlet program.
  • the xlet program is a Java program that can use the JMF (Java Media FrameWori) interface.
  • the xlet program consists of multiple functions, such as EventListner that receives key events, and receives received keys according to a method such as JMF. Perform processing based on one event.
  • FIG. 8B shows an example of the xlet program.
  • JMF A "BD: ⁇ 00001. Mpls"; is a method for instructing the Java virtual machine to generate a player instance for playing the PL.
  • A. play is a method that instructs the JMF player instance to play. Such JMF player instance generation is performed based on the JMF library.
  • the description of the xlet program is not limited to the PL of the BD-ROM, but is the description of the JMF applicable to all contents with a time axis. Since such a description is possible, it is possible to encourage a software house that is good at Java programming to create a BD-J object.
  • JumpTItleO in Fig. 8 (b) is a function API call.
  • This function API instructs the playback device to branch to another title (title # l in the figure).
  • the function API is an APK application interface supplied by the BD-R0M playback device.
  • BD-ROM playback device-specific processing can be described in the xlet program by calling the function API.
  • PL playback is specified by the JMF interface. Since this JMF player instance defines the PL time axis, the title time axis is determined from the title with this JMF player instance. Also
  • the branch from title to title in BD-J mode is specified by a call to JumpTitleAPI. Since the JumpTitleAPI call determines the end point of the title, so to speak, such a JMF player instance and an application having the JumpTitleAPI call govern the start and end of the title in the BD-J mode. Such an application is called a main playback application.
  • the above is the description of the dynamic scenario in the BD-J mode.
  • the dynamic scenario in the BD-J mode defines a title that combines PL playback and programmatic control.
  • the programs and data constituting the application are collected in a Java archive file, but may be an LZH file or a zip file.
  • Fig. 9 (a).
  • This title is a series of titles such as top menu "title # l ⁇ title # 2 ⁇ top menu, top menu” title # 3 ⁇ top menu.
  • Title #l has a time axis obtained by adding the time axes of #l and PlayList # 2.
  • Title # 2 has a time axis composed of PlayList # 3 time axis
  • Title # 3 has a time axis composed of PlayList # 4 time axis.
  • Seamless playback is guaranteed on the PL time axis in these title time axes, but seamless playback is not necessary between title time axes.
  • service period the period during which the Java application can exist in the work memory of the virtual machine
  • the service period of the Java application must be defined on the time axis that branches off from each other. This definition of service period is a point to keep in mind when programming for BD-ROM.
  • IndexTable is a table that associates title numbers with Movie objects and BD-J objects, and is an indirect reference table that is referenced when branching from a dynamic scenario to a dynamic scenario.
  • IndexTable consists of Index for each of multiple labels. Each Index describes the identifier of the dynamic scenario corresponding to the label. By referring to such an IndexTable, branching can be realized without strictly distinguishing between a Movie object and a BD-J object.
  • the details of IndexTable are described in the following International Publication. See this gazette for details. International Publication TO 2004/025651 A1 Publication The above is an explanation of the files recorded on the BD-ROM.
  • JMF player instances and applications with JumpTitleAPI calls govern the title time axis, but JMF player instances and other applications without JumpTitleAPI calls run on the title timeline.
  • the period from the start of the service based on the abridgement to the end of the service is defined as “survival of the application”.
  • Information for defining the survival of an application exists in the application management table in the BD-J object.
  • the abbreviated management table will be described in more detail.
  • the application management table is information indicating an application that can survive on the work memory of the virtual machine on the title time axis of each title. Survival in the work memory refers to the state in which the xlet program that constitutes the application is read into the work memory and can be executed by the virtual machine.
  • the broken arrow atl in FIG. 7 (b) shows a close-up of the internal structure of the application management table. As shown in this internal configuration, the application management table includes “live range”, “applicationID” indicating an application whose title is a live range, and “activation attribute” of the application.
  • the disc content used as the material here is the title of the main part of the video (Title # l), the title of the online shopping (Title # 2), the title of the online application, and the title of the game (Title # 2).
  • tle # 3 which includes three titles with different personalities.
  • FIG. 10 is a diagram showing disc contents including three titles: a main title, an online shopping title, and a game title. In the figure, IndexTable is described on the right side, and three titles are described on the left side.
  • FIG. 11 is a diagram showing an example of reproduced images of the three titles shown in FIG. In the playback images of these three titles, the main title in Fig. 11 (a) and (b), and the online shopping titles have images (cart crl) 1 that imitate the shopping power. There is no cart video in the game title of (c).
  • Such applications that start with multiple titles include, in addition to the cart application described above, an agent application that imitates a mascot appearing in a movie, and a menu application that displays a menu in response to a menu call operation. is there.
  • Fig. 12 (a) shows a graph of the life span of each application based on the membership shown by the broken line in Fig. 10.
  • the horizontal axis is the title time axis, and the live ranges of each application are arranged in the vertical axis direction.
  • application # K application # 2 belongs to title # l only, so these live ranges remain in Utle # l. Since application # 4 belongs to title # 2 only, these live ranges remain within title # 2.
  • application # 5 belongs to title # 3 only, so these live ranges remain within title # 3. Since application # 3 belongs to title # l and title # 2, their life span extends from title # l to title # 2.
  • the application management table for title # 1, # 2, and # 2 is as shown in Fig. 12 (b). If the application management table is described in this way, application # l, application # 2. Application # 3 are loaded into the work memory at the start of playback of title # 1. Then, at the start of title # 2, control is performed such that application # l and application # 2 are deleted from the work memory and only app1 i cation # 3 is performed. Similarly, control can be performed such that application # 4 is loaded into the work memory at the start of playback of title # 2 and app license # 3, # 4 is deleted from the work memory at the start of title # 3. . Further, control can be performed such that application # 5 is loaded into the work memory while title # 3 is being reproduced, and application # is deleted from the work memory at the end of reproduction of title # 3.
  • the surviving application at the branch source and one branch destination is stored in the work memory, and the application that is not at the branch source but exists only at the branch destination can be read into the work memory. Therefore, the number of times the application is read into the work memory is the minimum required. As described above, by reducing the number of times of reading, it is possible to realize an application that is not aware of the title boundary, that is, an unbounded application.
  • the startup attributes include "AutoRun”, which indicates automatic startup, "Persistent”, which indicates that the file can be placed in the virtual machine's work memory, which is not the target of automatic startup, and is placed in the virtual machine's work memory. There is a “Suspend” where CPU power cannot be allocated.
  • AutoRun is a live range indicating that the application is read into the private memory and executed at the same time as the branch of the corresponding title. If there is a branch from one title to another title, the management entity (application manager) that manages the application is alive in the branch destination title and the startup attribute is set to AutoRun. Load the application into the work memory of the virtual machine and execute it. This will automatically launch the application with the title branch.
  • Applications that set the startup attribute to AutoRun include applications that have a JMF player instance and a JurapTitle API call. This is because such an application is the application that governs the title time axis, and the concept of the title time axis becomes ambiguous unless such an application is started automatically. is there.
  • the activation attribute “Persistent” is a continuation attribute, and indicates that the application state at the branch source title is to be continued. Also, this attribute indicates that it can be loaded into the work memory. If the startup attribute is "Persistent”, the application to which this startup attribute is assigned is allowed to be called from other applications. Management entity that performs application management (Application Management When a call is made from the running application, the application determines whether the applicationlD of the application is described in the application management table and the startup attribute is rPersistentJ. If it is rPersistentJ, load the application into work memory. On the other hand, if the applicationlD of the called application is not recorded in the application management table, the application is not loaded into the work memory. Calls by the application will be limited to applications to which this "Persistentj" is assigned.
  • rPersistentJ is a default startup attribute that is assigned when the startup attribute is not explicitly specified, the startup attribute of a certain application is unspecified "11". If so, the startup attribute of the startup attribute of that application Means this Persistent.
  • FIG. 13 is an example of setting the startup attributes for the three applications in FIG. Of the three applications shown in FIG. 12, application # 2 is assumed to be the first application to be started upon receiving an application call from another application as shown in FIG. 13 (b).
  • the rest (application # U application # 3 is assumed to be an application that is started automatically at the start of title # l. In this case, as shown in Fig.
  • each application in the application management table Application startup attributes are set to “AutoRun” for application # l and appl ication # 3, and “Persistent” for appl ication # 2
  • application # l and appl ication # 3 are set to title # l
  • Application # 2 has a startup attribute of Persistent, so "application # 3 is stored in the work memory of the virtual machine.”
  • the negative meaning is that the application can be loaded. Therefore, application # 2 is loaded into the virtual machine's work memory and executed only after a call from application # l. That's it Survival area ⁇
  • the startup attribute allows the number of applications that can run on the virtual machine to be limited to 4 or less and the total number of threads to be limited to 64 or less. Can be guaranteed.
  • FIGS. 14 (a) and 14 (b) are diagrams showing examples in which Suspend is significant.
  • Fig. 14 (b) there are three titles (title #l, title # 2, title # 3), of which title #U title # 3 executes the game app, Title # 2 is a side bus, which realizes video playback.
  • Title # 2 is a side bus, which realizes video playback.
  • a side bus the game execution is interrupted because of the necessity for video playback.
  • scores in the middle are counted, so the stored value of the resource should be maintained before and after title # 2.
  • the application management table is described such that the game application is suspended at the start of title # 2, and application # 2 is resumed at ⁇ ; at the start of title # 3.
  • the resources are allocated, so the stored values of the resources are maintained.
  • app 1 i cation # 2 is not executed by the virtual machine because the CPU power is not allocated. As a result, a process for executing a side pass during the execution of the game title is realized.
  • Figure 15 is a diagram showing possible combinations of three aspects of the startup attribute (Persi stent, AutoRun, Suspend) and three aspects of the application status in the immediately preceding title (non-starting, running, Suspend). is there. If the previous state is "not started”, and if the start attribute is "AutoRun", the application will be started at the branch target title.
  • the application state will be Suspend. If the previous state is "Suspend”, Suspend will be maintained if the start attribute of the branch destination title is "Suspend”. "Persistent”, "AutoRun” If so, the application will resume at the branch destination title.
  • the live range and the start attribute in the application management table it becomes possible to perform synchronous control of running a Java application along with the progress of the title time axis, which involves video playback and program execution. In addition, various applications can be launched. The above is the description of the recording medium. Next, the playback device according to the present invention will be described.
  • FIG. 16 is a diagram showing the internal configuration of the playback device according to the present invention.
  • the playback device according to the present invention is industrially produced based on the interior shown in the drawing.
  • the playback device according to the present invention mainly includes two parts, a system LSI and a drive device, and can be industrially produced by mounting these parts on a cabinet and a substrate of the device.
  • a system LSI is an integrated circuit that integrates various processing units that perform the functions of a playback device.
  • the playback devices produced in this way are BD-R0M drive 1, read buffer 2, demultiplexer 3, video decoder 4, video plane 5, P-Graphics decoder 9, Presentation Graphics plane 10, synthesizing unit 11, font generator 12, I-Graphics Decoder 13, Switch 14, Interactive Graphics Plane 15, Synthesizer 16, HDD 17, Read Buffer 18, Demultiplexer 19, Audio Decoder 20, Scenario Memory 21, CPU 22, a key event processing section 23, an instruction R0M24, a switch 25, a CLUT section 26, a CLUT section 27, a PSR set 28, and a oral memory 29.
  • BD-R0M drive 1 performs loading / injection of BD-R0M and executes access to BD-R0M.
  • the read buffer 2 is a FIFO memory, in which TS buckets read from the BD-ROM are stored in a first-in first-out manner.
  • the demultiplexer (De-MUX) 3 extracts a TS packet from the lead buffer 2 and converts a TS packet constituting the TS packet into a PES packet. Then, among the PES buckets obtained by the conversion, those having the PID set by the CPU 22 are output to one of the video decoder 4, the audio decoder 20, the P-Graphics decoder 9, and the I-Graphics decoder 13 .
  • the video decoder 4 decodes the plurality of PES buckets output from the demultiplexer 3 to obtain an uncompressed picture and writes the picture in the video plane 5.
  • Video plane 5 is a plane for storing uncompressed pictures.
  • a plane is a memory area for storing pixel data for one screen in a playback device. If a plurality of planes are provided in the playback apparatus, and the stored contents of these planes are added for each pixel and video output is performed, the video output can be performed after combining the video content.
  • the resolution in the video plane 5 is 1920 1080, and the picture data stored in the video plane 5 is composed of 16-bit YUV pixel data.
  • the P-Graphics decoder 9 decodes the presentation graphics stream read from the BD-R0M and HDD 17, and writes the uncompressed graphics to the Presentation Graphics plane 10. Subtitles will appear on the screen due to the decoding of the graphics stream.
  • the Presentation Graphics plane 10 is a memory having an area for one screen, and can store uncompressed graphics for one screen.
  • the resolution in this plane is 1920 x 1080, and each pixel of uncompressed graphics in the Presentation Graphics plane 10 is represented by an 8-bit index color.
  • GLUT Color Lookup Table
  • the synthesizing unit 11 synthesizes the uncompressed picture data (i) with the contents stored in the Presentation Graphics plane 10.
  • the font generator 12 expands the text code included in the textST stream into a bitmap using a character font.
  • the I-Graphics decoder 13 decodes the interactive graphics stream read from the BD-ROM or the HDD 17 and writes uncompressed graphics to the Interactive Graphics plane 15.
  • the switch 14 is a switch for selectively writing any one of the font sequence generated by the font generator 12 and the graphics obtained by decoding the P-Graphics decoder 9 to the Presentation Graphics plane 10.
  • the synthesizing unit 16 combines the contents stored in the Interactive Graphics plane 10 with the synthesized image (combined uncompressed picture data and the contents stored in the Presentation Graphics plane 7) output from the synthesizing unit 8. Combine.
  • the HDD 17 is a built-in medium for storing SubClip, Clip information, and playlist information downloaded via a network or the like.
  • the playlist information in the HDD 17 is different in that it can specify CIi information existing in either the BD-R0M or the HDD 17.
  • the playlist information on the HDD 17 does not need to specify the file on the BD-R0M with the full path. This is because the HDD 17 is recognized by the playback device as a single virtual drive (called a virtual package) together with the BD-ROM.
  • Cl ip_Information on fi-1e-name in Playltem information and CI ip_Informaton on fi1e-name of SubPlay Itern Jiyongol are the file pod of the file in which Cl ip information is stored.
  • the AV Clip on the HDD 17 and BD-ROM can be specified.
  • various reproduction variations can be produced.
  • the read buffer 18 is a FIFO memory, and stores TS packets read from the HDD 17 in a first-in first-out manner.
  • a demultiplexer (De-MUX) 19 extracts a TS packet from the read buffer 18 and converts the TS packet into a PES packet. Then, of the PES packets obtained by the conversion, those having the desired streamPID are output to the font generator 12.
  • the audio decoder 20 decodes the PES bucket output from the demultiplexer 19 and outputs uncompressed audio data.
  • the scenario memory 21 is a memory for storing the current PL information and the current Clip information.
  • the current PL information is the current PL to be processed among the multiple PL information recorded on the BD-R0M.
  • Current clip information refers to the information currently being processed from the multiple pieces of clip information recorded on the BD-R0M.
  • the CPU 22 executes the software stored in the instruction R0M24 to control the entire playback device.
  • the key event processing unit 23 outputs a key event for performing a key operation in response to a key operation on the front panel of the remote controller or the playback device.
  • the instruction R0M24 stores software for controlling the playback device.
  • the switch 25 selectively stores various data read from the BD-ROM and HDD 17 into one of the read buffer 2, the read buffer 18, the scenario memory 21 and the local memory 29. This is the switch to be put in.
  • the CLUT unit 26 converts the index color in the uncompressed graphics stored in the video plane 5 into Y, Cr, Cb values.
  • the part 27 converts the index colors in the uncompressed graphics stored in the Interactive Graphics plane 15 into Y, Cr, Cb values.
  • 811 Set 28 is a register built into the playback device, and consists of 64 Player Status Registers (PSRs) and 4096 General Purpose Registers (GPRs). Of the Player Status Register settings (PSR), PSR4 to PSR8 are used to represent the current playback point.
  • PSRs Player Status Registers
  • GPRs General Purpose Registers
  • PSR4 when set to a value between 1 and 100, indicates the title to which the current playback point belongs, and when set to 0, indicates that the current playback point is the top menu.
  • PSR5 indicates a chapter number to which the current playback point belongs by being set to a value of up to 999, and indicates that the chapter number is invalid in the playback device by being set to OxFFFF.
  • PSR6 when set to a value from 0 to 999, indicates the number of the PL (current PL) to which the current playback point belongs.
  • PSR7 when set to a value from 0 to 255, indicates the number of the Play Item (current PlayItem) to which the current playback point belongs.
  • PSR8 is set to a value from 0 to OxFFFFFF to indicate the current playback point (current PTM (Presentation TiMe)) using a time accuracy of 45 KHz.
  • the current playback point is specified by PSR4 to PSR8 described above.
  • the oral memory 29 is a cache memory for temporarily storing the recorded contents of the BD-ROM because reading from the BD-R0M is slow. Due to the presence of the oral memory 29, application execution in the BD-J mode is The efficiency will be reduced.
  • FIG. 17 (a) is a diagram showing how the Java live file existing in the BD-ROM is identified on the oral memory 29.
  • the left column shows the file names on the BD-ROM
  • the right column shows the file names on the local memory 29. By comparing these right and left columns, it can be seen that the file in the local memory 29 is specified by a file path without the directory specification "BDJA".
  • FIG. 17 (b) is a diagram showing an application of FIG. 17 (a).
  • data stored in a file is stored in the format of header + data.
  • What is used for the header is the file path in the local memory 29.
  • a part of the file path in the BD-ROM which is omitted is used for the file path.
  • FIG. 18 is a diagram in which a portion composed of software and hardware stored in the R0M 24 is replaced with a layer configuration.
  • the layer configuration of the playback device consists of the following &),), 0), (1-1), (1-2), 6). That is,
  • Playback Control Engine 32 which performs playback control based on playlist information and Clip information
  • the d-l) HDMV module 33 which is the subject of decryption and execution of Movie objects, and the BD-J module 35, which performs d-2) decryption and execution of BD-J objects, are located in the same hierarchy.
  • BD—J module 35 is a so-called Java platform, .
  • FIG. 19 is a diagram schematically illustrating the processing performed by the Presentation Engine 31 to the module manager 34.
  • the AV playback function of the playback device is a group of traditional functions followed from DVD players and CD players. Playback (Play), playback stop (Stop), pause (Pause On), release of pause (Pause) Off). Release of Still function (stil off), Fast forward with specified speed (Forward PI ay (speed)), Rewind with specified speed (Backward Play (speed)), Audio change (Audio Change) , Subtitle Change, and Angle Change.
  • the Presentation Engine 31 decodes the video decoder 4, the P-Graphics decoder 9, and the P-Graphics decoder 9 to decode the part corresponding to the desired time in the AV Clip read out to the read buffer 2. Controls I-GrapMcs decoder 13 and audio decoder 20. By decoding the part indicated in PSR8 (current PTM) as the desired time, it is possible to reproduce any point in the AV Clip.
  • the playback control engine (PCE) 32 executes various functions such as a playlist playback function (i) and a status acquisition / setting function (ii) in the playback device.
  • the PL playback function means that among the AV playback functions performed by the Presentation Engine 31, the playback station and the playback stop are performed according to the current PL information and Clip information.
  • These functions (i) to (ii) are executed in response to a function call from the HDMV module 33 to the BD-J module 35.
  • the playback control engine 32 executes its own function in response to an instruction from a user operation or an instruction from a higher layer in the layer model.
  • arrows marked with ⁇ 2, ⁇ 0> 3 schematically indicate the reference of Playback Control Engine 32 to Clip information and playlist information.
  • the HDMV module 33 is the execution entity of the MOVIE mode.
  • the module manager 34 notifies the movie object constituting the branch destination, the movie object constituting the branch destination title is stored in the oral memory 29.
  • Read this Movie Decode the navigation command described in the object, and based on the decoding result
  • the module manager 34 holds the Index Table read from the BD-R0M and performs branch control.
  • this branch control receives the title number to which the jump is to be made, and rewrites the title. This is to notify the HDMV module 33 or the BD-J module 35 of the composed Movie object or BD-J object.
  • the arrows with V0, V1, and V2 in the figure schematically show the execution of the JumpTitle command (0), the index table reference (1) by the module manager 34, and the notification of the branch destination Movie object (2). I have. This concludes the description of Presentation Engine 31 through Module Manager 34.
  • the application manager 36 will be described with reference to FIG.
  • FIG. 20 is a diagram showing the application manager 36.
  • the application manager 36 controls the startup of the application with reference to the application management table and controls when the title ends normally.
  • Start control means that every time a BD-J object that is a branch destination is notified from the module manager 34, the BD-J object is read out, and the local management is performed by referring to the application management table in the BD-J object. Performs memory 29 access. Then, the control is to read the xlet program that constitutes the application whose live period is the current playback point into the work memory.
  • Reference numerals 1, 2, and 3 in FIG. 20 schematically show the notification of the branch target BD-J object in the start control (1), the reference to the application management table (2), and the start instruction to the Java virtual machine 38. With this start instruction, the Java virtual machine 38 reads the xlet program from the local memory 29 to the single memory 37 (ir5).
  • Title end control includes control for normal termination and control for abnormal termination.
  • the application that constitutes the title There is a control in which the title API is called and a switch to the branch destination title is requested to the branch control entity (module manager 34).
  • An arrow 6 schematically shows the notification of the module manager 34 in this end control.
  • the applications that make up the title may remain running. This is because whether to terminate the application is determined by the branch destination title.
  • the application manager 36 reads the Java live file from the BD-ROM to the local memory 29 (8).
  • Reference numeral 8 schematically illustrates the reading to the local memory 29.
  • the work memory 37 is a heap area in which xlet programs constituting the application are located.
  • the work memory 37 originally exists in the Java virtual machine 38, but in FIG. 21, the work memory 37 is described in the upper layer of the Java virtual machine 38 for convenience of drawing.
  • the xlet program on the work memory 37 includes EventListner and a JMF player instance.
  • the Java virtual machine 38 loads the xlet program constituting the application into the park memory 37, decodes the xlet program, and executes a process according to the decoding result.
  • the xlet program includes a method for instructing the creation of a JMF player instance and a method for instructing the execution of this JMF player instance
  • the lower layer controls the lower layer so as to realize the processing contents instructed by these methods. I do. If a JMF player instance is ordered, the Java virtual machine 38 obtains a JMF player instance associated with the YYYY.MPLS file on the BD-ROM.
  • this JMF method is issued to the BD middleware, and replaced with a function call supported by the BD playback device. Then, the function call after the replacement is issued to the Playback Control Engine 32.
  • the Event Listner Manager 39 analyzes events (key events) generated by user operations and sorts the events.
  • the solid arrows 1 and 2 in the figure indicate this Event
  • the distribution by Listner Manager 39 is schematically shown. If a key event such as START, STOP, or SPEED is registered in the Event List in the xlet program, the event related to the xlet program indirectly referenced by the BD-J object is sorted. START, STOP, and SPEED are events corresponding to JMF. Since these key events are registered in the Event Listner of the xlet program, the xlet program can be started by this key event. If the key event is a non-registered key event, the key event is distributed to Default Operation Manager 40. There are a variety of key events that occur on the BD-ROM playback device, such as audio switching and angle switching, that are not registered in the Event Listner. Even if these key events occur, processing is performed without omission. It is to do.
  • Event Listner non-registered events were sorted by Event Listner Manager 39 and Default Operation Manager 40, but Playback Control Engine 32 directly receives Event Listner non-registered events and controls playback. (4 in the figure).
  • FIG. 22 is a diagram showing a control procedure at the time of branching by the application manager 36.
  • This flowchart is a process of starting or terminating an application (referred to as application X) that satisfies the conditions of steps S2 to S5.
  • Step S2 is a determination as to whether or not the application X with the AutoRun attribute exists in the branch destination title, although it is not started in the branch source title but alive in the branch destination title. For example, the cache memory for the oral memory 29 is performed.
  • step S7 if the application X is on the local memory 29 (Yes in step S7), the application X is read from the oral memory 29 to the work memory 37 (step S8). If it is not in the oral memory 29, the application X is read from the BD-ROM to the local memory 29, and then the application X is read from the local memory 29 to the work memory 37 (step S9).
  • step S3 it is determined whether or not there is an absent application X that is running in the branch source title and is non-existent in the branch destination title. If it exists, the application case X is deleted from the work memory 37 and the process is terminated (step S10). In step S4, it is determined whether there is a branch source Suspend, a branch destination AutoRun, or a persistent application. If it exists, Resume the application X (step S11).
  • step S5 it is determined whether or not the application of the branch destination Suspend is being started in the branch source title and there is an application of the branch destination Suspend. If it exists, the application X is suspended (step S12).
  • FIG. 23 is a flowchart showing the processing procedure of the application termination processing.
  • This figure shows a loop process in which the processes from step S16 to step S20 are repeated for each of a plurality of applications to be terminated (step S15).
  • the application manager 36 issues a terminate event for terminating the running application (step S16), sets a timer (step S17), and proceeds to step S18.
  • the process proceeds to a loop process consisting of steps S20.
  • the Event Listner the corresponding xlet program starts the termination process.
  • the xlet program is released from the work memory 37 and ends.
  • step S18 is a determination as to whether or not the application to which the application has been issued has ended. If the application has ended, the processing for this application ends.
  • step S19 it is determined whether or not the timer has timed out. If timed out, in step S20, the application to be issued is deleted from the work memory 37 and the application is forcibly terminated.
  • FIG. 24 is a diagram schematically showing a process of terminating the application.
  • the first row shows the application manager 36
  • the second row shows three applications.
  • the application on the left shows the application that received the terminate event and successfully completed the termination process.
  • applications in the middle row indicate applications that received a terminate event but failed to terminate.
  • the application on the right shows an application that could not receive a terminate event because EventListner was not implemented.
  • the arrows epl and ep2 between the first stage and the second stage schematically show the issuance of the terminate event by the application manager, and the arrow ep3 schematically shows the start of the termination process.
  • the third row is the state after the state transition when the termination process is successful, and this abridgement will be terminated by its own termination process. If there are applications such as these xlet programs that do not end within a predetermined period, the application manager 36 forcibly removes them from the work memory 37.
  • the fourth row shows the forced termination by the application manager 36. It is one of the missions of Application Manager 36 to specify the forced termination in the fourth stage.
  • an application that is activated in the branch source title and is not alive in the branch destination title is automatically terminated, so that reproduction is complicated by conditional branching. Even if the process proceeds to the next step, the number of applications that exceeds the resource limit of the playback device is not started. Since the application operation before and after branching can be guaranteed, a lot of disc contents that execute applications while playing digital streams are distributed. can do.
  • FIG. 25 (a) is a diagram showing an application management table in which a live range is defined on the PL time axis.
  • Fig. 25 (a) three applications are described in the application management table. Among them, application # 2 has title # l from Chapter # 2 to Chapter # 3 specified as a live range. AutoRun is specified in the startup attribute. Therefore, application # 2 is started at the beginning of Chapter # 2 and ends at the end of Chapter # 3, as shown in Fig. 25 (b).
  • the application manager 36 In order to perform processing based on the application management table described in this way, the application manager 36 according to the present embodiment starts the live range from the chapter start point every time the chapter start point specified by PLmark is reached. It is determined whether or not the application exists, and if so, the application is loaded into the work memory 37.
  • the life span of the application can be specified with finer precision.
  • disc content can have a reverse time axis. Retrograde means that the time axis advances in the reverse direction by rewinding. If this reversal and progress are repeated at the chapter boundaries, the work memory will be loaded and discarded many times, An extra read load occurs. Therefore, in the present embodiment, the application is started at the moment when the playback starts by the Playback Control Engine 32 after entering the title.
  • PL playback includes normal playback and trick playback.
  • Trick playback includes fast forward, rewind, SkipNext and SkipBack. During fast forward, rewind, and SkipNext.
  • SkipBack the application is not started, and the application is started only after normal playback starts. Normally, based on the moment of the start of playback, even if there is a crossing before and after the life cycle as described above, the application startup will not be repeated more than necessary. It should be noted that the process of setting the instant of the normal reproduction to be the reference for starting the application may be executed even when the live range is the title.
  • the live range of an application can be defined in units of chapters, which are smaller than the PL, so that precise application control can be realized.
  • each application is assigned a priority. This priority takes a value from 0 to 255. If there is a conflict between resource usage among applications, which application should be forcibly terminated, and which application should take away the resource When the application manager 36 performs this process, it will be used as a basis for judgment.
  • the priority of appl ication ⁇ is 255
  • the priority of appl ication # 2 is 128. Therefore, when the conflict of appl ication # l -appl ication # 2 occurs, the application manager 3 6 Performs the process of forcibly terminating the application priority with low priority.
  • the disc content provided by the BD-ROM is composed of a plurality of titles that can be branched to each other.
  • Each title includes one or more PLs and a control procedure using the PL, and a non-AV title that includes only a control procedure for the playback device. In the present embodiment, this non-AV title will be described.
  • Figure 26 (a) shows the title time axis determined from the PL time axis.
  • the PL time axis becomes the title time axis, and the application is placed on this title time axis.
  • the live range of Chillon is determined. If there is no PL time axis that serves as this criterion, the title time axis should be determined as shown in Figure 26 (b) and (c).
  • Figure 26 (b) shows the title time axis determined from the life span of the main application.
  • the main application is the only application that has the launch attribute set to AutoRun in the title and is automatically started when the title starts.
  • this is a launcher application.
  • a launcher application is an application program that starts another application.
  • Figure 26 (b) is that the title time axis is assumed to be continuous as long as the main application is running, and the time axis is terminated when the main application ends.
  • Figure 26 (c) is a diagram showing the title time axis determined from the life cycle of multiple applications. One application is started at the beginning of the title, but this application calls another application, and this application calls another application. There is a case that is. In this case, the idea is that the title time axis is continued as long as any application is running, and the title time axis ends when a state arrives in which no application is started. It is.
  • the title time axis of the non-AV title is determined, regardless of whether the title is an AV title or a non-AV title, the title is set to a predetermined title at the same time as the end of the title time axis.
  • the process of branching can be performed uniformly.
  • the evening timeline for non-AV titles is only a hypothetical time axis for comparison with AV titles. Therefore, the playback device cannot go backward on the title time axis in a non-AV title or search for an arbitrary position.
  • FIG. 27 is a flowchart showing a processing procedure of the application manager 36 during evening play. This flowchart has a loop structure in which steps S21 to S23 are repeated during title playback.
  • Step S21 is to determine whether the title jump API has been called, When called, the module manager 34 is requested to branch to the jump destination title (step S27).
  • step S22 it is determined whether or not there is a main application that is responsible for calling the application in the title. If so, it is confirmed whether or not the main application is activated (step S22). Five ). If not started, it is interpreted as "end of title" and the end is notified to the module manager 34 (step S26).
  • Step S23 is a step executed when there is no main application (No in step S22), and it is determined whether or not any application is running. If so, it is also interpreted as "end of title", and the end is notified to module manager 34 (step S26).
  • FIG. 28 (a) is a diagram showing a menu hierarchy realized by the BD-ROM.
  • the menu hierarchy in this figure has a structure in which TopMenu is arranged at the top level and lower TitleMenu, SubTitleMenu.AudioMenu can be selected from this TopMenu. Arrows swl, 2, and 3 in the figure schematically show menu switching by button selection.
  • TopMenu is a menu with buttons (spots snl, sn2, sn3 in the figure) to accept whether to select audio, subtitle, or title.
  • the Title Menu is a menu with buttons for accepting the selection of a movie, such as selecting the movie version of the movie (title), selecting the director's cut version, selecting the game version, etc. is there.
  • AudioMenu is a menu with buttons to accept audio playback in Japanese or English
  • SubTitleMenu is a button to accept subtitles in Japanese or English. It is a menu.
  • FIG. 28 (b) A MOVIE object for operating a menu with such a hierarchy is shown in Fig. 28 (b).
  • MovieObject.bdmv stores FirstPlay 0BJ, TopMenu OBJ, AudioMenu OBJ, and SubTitleMenu OBJ.
  • the first play object (first play OBJ) is a dynamic scenario that is automatically executed when a BD-R0M is dictated to a playback device.
  • TopMenu object (TopMenu OBJ) is a dynamic scenario that controls the behavior of TopMemi. It is this TopMenu object that is invoked when the user requests a menu call. TopMenu objects include those that change the state of the buttons in the TopMenu in response to user operations, and branch commands that branch in response to button operations. This branch command realizes menu switching from TopMenu to TitleMentu TopMenu to SubTitleMemu TopMenu to AudioMenu.
  • the AudioMenu object (AudioMenu OBJ) is a dynamic scenario that controls the behavior of the AudioMenu. Commands that change the state of the buttons in the AudioMenu in response to user operations and audio settings that are updated in response to the button's confirmation operation Command.
  • the SubTitleMenu object (SubTitleMenu 0BJ) is a dynamic scenario that controls the behavior of the SubTitleMenu.
  • a command that changes the state of a button in the SubTitle 11 eMenu or a final operation on the button is performed.
  • the TitleMenu object (Tit1 eMenu OBJ) is a dynamic scenario that controls the behavior of the TitleMenu, including those that change the state of the buttons in the TitleMenu and branching commands that branch in response to a confirmation operation on the button. .
  • FIG. 29 is a diagram schematically showing an Index Table and branching from the Index Table to each movie object.
  • the left side shows the internal structure of the Index Table.
  • the arrows bcl, 2 in the figure schematically show the branch from the Index Table to FirstPayAyOBJ and the branch from FirstPlayOBJ to TopMenu.
  • Branch to AudioMenu It is shown schematically.
  • Arrows bc6, 7, and 8 schematically show branches from TitleMenu to Movie objects.
  • FirstPLay INDEX, TopMenu INDEX, Audio MenuINDEX, Subtitle MenuINDEX, title MenuINDEX are indexes for FirstPLayOBJ, TopMenuOBJ, Audio MenuOBJ, Subtitle Men OBJ. Title MenuOBJ, respectively, and these identifiers are described.
  • title # l to #mINDEX are the indexes of the titles entered from 1 to m in BD-R0M, and are the destinations of MOVIE objects to be branched when selecting the title numbers from 1 to m.
  • An identifier (ID) is described.
  • title # m + l to #nINDEX is the index of the title that is the nth entry from the m + 1 in the BD-ROM, and becomes the branch destination when selecting the title numbers from m + 1 to n
  • the identifier (ID) of the BD-J object is described.
  • title # 0INDEX is an INDEX that specifies the Movie object or BD-J object that should be the branch destination when the BD-J object is forcibly terminated.
  • the identifier for TopMenuOBJ is stored in this title_OINDEX.
  • FIG. 30 (a) shows a branch when the Index Table is described as shown in FIG. Since the Index Table is described in this way, when executing a branch command with the label title # l to ti tle # m as the branch destination, the movie objects #l to #m are copied from ti tle # l lndex to title # mlndex. The identifier is retrieved.
  • the identifier of the BD-J off-project # m + l to #n is extracted from UUe # m + l Index to title # nIndex . Since the identifier of the BD-J object # m + l to #n is a 5-digit numerical value indicating the file name, it is written as "00001. BD-J, 00002. BD-J, 00003. BD-J -- ⁇ J is fetched and the dynamic scenario with that file name is read into memory and executed. This is the branching process using the Index Table.
  • FIG. 30 (b) is a diagram showing a branch at the time of forced termination when executing a BD-J object.
  • an identifier is extracted from ti 1 e # 01 ndex, and a dynamic scenario of the identifier is executed by the playback device. If this identifier is the identifier of the top menu title, the top menu 0BJ will be automatically selected when the application is forcibly terminated.
  • the above is an improvement on the recording medium in the present embodiment.
  • improvements to the playback device in the present embodiment will be described.
  • the module manager 34 in the playback device performs processing according to a processing procedure as shown in FIG. FIG.
  • step S31 is a flowchart showing the processing procedure of the module manager 34.
  • This flowchart constitutes a loop process consisting of step S31 and step S32, and when either step S31 or step S32 becomes Yes, the corresponding process is executed. Is what you do.
  • Step S31 is to determine whether or not the title jump API has been called. If the title jump API is called, the title number j which is the branch destination label is obtained (step S33), and IDj is extracted from the index of the title number j in the Index Table (step S34).
  • the HDMV module 33 or the BD-J module 35 executes the Movie object or the BD-J object of IDj (step S35).
  • Step S32 is a determination as to whether or not the end of the title has been notified from the application manager 36. If the end has been notified (Yes in step S32), the top menu 0BJ constituting the top menu title is set to the HDMV The module 33 or the module manager 34 is executed (step S36).
  • the title to be played here is a non-AV title that includes a game application that stacks falling tile pieces.
  • the lower part of Fig. 32 shows the title time axis consisting of the live range of the application, and the upper part shows the image displayed on the title time axis.
  • the non-AV title is a game application
  • one screen of the game application is displayed as shown in the upper left part of FIG.
  • the application manager 36 forcibly terminates the game application according to the flowchart in FIG. 23 and notifies the module manager 34 of the end of the title.
  • the module manager 34 branches to the top menu title. Then, an image as shown on the upper right side of FIG. 32 is displayed, and the user waits for an operation.
  • it is possible to control to branch to the top menu title even at the end of a non-AV title that includes a program but does not include a digital stream. As a result, even if the application program ends in error, it is possible to avoid occurrence of blackout / hangup.
  • BD-J mode it relates to the improvement of how to achieve synchronization with PL playback.
  • the Java virtual machine 38 decodes the JMF player instance (A. play;) that instructs playback of the JMF player instance, the Java virtual machine 38 calls the PL playback API. A response indicating “success” is returned to the application immediately after the call.
  • the Playback Control Engine 32 executes a processing procedure based on the PL information when the PL playback API is called. If the PL has a playback time of 2 hours, the processing described above will continue during these 2 hours. The problem here is the gap between the time when the Java virtual machine 38 returns a success response and the time when the Playback Control Engine 32 actually finishes processing. Since the Java virtual machine 38 is an event-driven processing subject, it returns a response indicating success or failure of playback immediately after the call, but since the actual processing by Playback Control Engine 32 ends after 2 hours, However, if the time to return the success response to the application is used as a reference, it will not be possible to detect the end of the process after 2 hours. If fast forward, rewind, or skip is performed in PL playback, the playback time of 2 hours will fluctuate around 2 hours, making it more difficult to detect the end of processing.
  • Playback Control Engine 32 Since Playback Control Engine 32 operates stand-alone with the application, the end determination as in the third embodiment cannot interpret the end of PL playback as the end of title. Therefore, in this embodiment, whether or not the application is terminated, as long as the JMF player instance is present in the work memory 37, that is, the BD-J module 35 has control of the Presentation Engine 31 1. Meanwhile, it waits for a playback end event from Playback Control Engine 32. If there is a playback end event, it interprets that the title is over and notifies module manager 34 to branch to the next title. By doing this, Playback The point at which Control Engine 32 ends PL playback can be used as the end of the title.
  • FIG. 33 is a flowchart showing a PL playback procedure by the Playback Control Engine 32.
  • This playback procedure mainly includes control on the Presentation Engine 31 (step S46) and control on the BD-R0M drive 1 or HDD 17 (step S48).
  • the Playltem to be processed in this flowchart is Playltem # x.
  • the current PL information (.mpls) is read (step S41), and then the processing of steps S42 to S50 is executed.
  • Steps S42 to S50 repeat the processing of Steps S43 to S50 for each PI information configuring the current PL information until Step S49 becomes Yes. Constructs loop processing.
  • the Playltem to be processed in this loop processing is called PlayItem # x (PI # x).
  • This Playltem # x is initialized by being set to the first Playltem of the current PL (step S42).
  • the termination requirement of the loop processing described above is that this Playltenix becomes the last Playltem of the current PL (step S49), and if not the last Playltem, the next Playltem in the current PL is set to Playltenix. (Step S50).
  • Steps S43 to S50 which are repeatedly executed in the loop processing, are Playltem # x 0) CI ip_information_fi 1 e—Read the C 1 ip information specified by dust e into the scenario memory 21 (step S 4). 4 3), In-time of Playltenix is converted to I picture address u using EPmap of current Clip information (step S44), and Out-time of Playltenix is converted to EPjnap of current Clip information. Is converted to an I picture address V (step S45), the next I picture of the address V obtained by these conversions is obtained, and one immediately before the address is set to an address w (step S45). S 47), using the address w calculated in this way, if the BD-R0M drive 1 or the HDD 17 is instructed to read the TS packet from the I picture address u to the address w, There is (step S4 8).
  • the current PLMark Command is output from mark—time_s tamp to Play—time # x—Out—time (step S46).
  • the part indicated by Playtem # x is reproduced in the AV Clip.
  • Playltem # x is the last PI of the current PL (step S49).
  • step S50 the next Playliter in the current PL is set to Playliter # x (step S50), and the process returns to step S43.
  • the PIs constituting the PL will be reproduced next time.
  • FIG. 34 is a flow chart showing an angle switching procedure and SkipBack. SkipNext procedures. This flowchart is performed in parallel with the processing procedure of FIG. 33, and repeats a loop process including steps S51 to S52. Step S51 in this loop is a determination as to whether or not the API requesting angle switching has been called from the Java virtual machine 38. If there is a call for the angle switching API, an operation of switching the current Clip information is performed. Execute
  • Step S55 in FIG. 34 is a determination step, in which it is determined whether or not the angles of Playltem # x are turned on. isjmil ti-angles is a flag indicating whether Playtem # x supports multi-angle, and if step S55 is No, the process proceeds to step S53. If step S55 is Yes, execute steps S56 to S59. From step S56 to step S59, the angle number after the switching is substituted into a variable y (step S56), and the y-th CI ip in Playltem # x is specified by information—file_name.
  • the Clip information is read out to the scenario memory 21 (step S57), the current PTM is converted to an I picture address u using the EPjnap of the current Clip information (step S58), and Playtem # x Is converted into I picture address V using EPjnap of the current CI ip information (step S59).
  • the flow shifts to step S46.
  • the TS packet is read from another AV Clip, so that the video content is switched.
  • step S52 in the loop of Fig. 34 means SkipBack / SkipNext. This is a determination as to whether the API to be executed has been called from the Java virtual machine 38, and if so, executes the processing procedure of the flowchart in FIG. 35.
  • FIG. 35 is a flowchart showing a processing procedure when SkipBack, SkipNext API is called.
  • the processing procedures for executing SkipBack and Ski pNext are various. It is to be noted that the description here is only an example.
  • step S61 current Mark information is obtained by converting the current PI number indicated by the PSR and the current PTM.
  • step S62 it is determined whether the pressed key is the SkipNext key or the SkipBack key. If the key is the SkipNext key, the direction flag is set to +1 in step S63 and the SkipBack key is pressed. If so, the direction flag is set to -1 in step S64.
  • step S65 the number obtained by adding the value of the direction flag to the number of the current PLMark is set as the number of the current PLMark. If it is a SkipNext key, the direction flag is set to +1 and the power mark PLMark will be incremented. If it is a SkipBack key, the direction flag is set to -1, so the current PLMark will be decremented.
  • step S66 the PI described in the ref—to—Playltemjd of the current PLMark is set to Playltem # x, and in step S67, the PI is specified by the Clip—informationjTile—name of Playltem # x. Read Cl ip information.
  • step S68 mark_tirae_stam of the current PLMark is converted to an I picture address u using the EP_map of the current Clip information.
  • 0ut_time of Playltentx is converted to an I picture address V using the EP-map of the current CI ip information.
  • step S70 the output from the mark-time_stamp of the current PLMark to the Out-time of Pyltem # is instructed to the Presentation Engine 31, and the process proceeds to step S47 in FIG. In this way, the I picture addresses u and v are changed, and the reproduction of another part is ordered. Then, the flow shifts to step S47, so that the TS bucket is read from another AV clip, and the video content is Switching is realized.
  • FIG. 36 is a flowchart showing details of a processing procedure by the Presentation Engine 31.
  • a loop process consisting of steps S72 to S77 is executed.
  • Step S76 in this loop processing defines the requirements for terminating the loop processing. That is, in step S76, the current PTM is Out-time of N # x, which is a requirement for terminating the loop processing.
  • step S73 it is determined whether or not the fast forward API or the fast reverse API has been received from the Java virtual machine 38.
  • step S78 it is determined in step S78 whether fast forward or fast reverse. If fast forward, the PTS of the next I picture is set to the current PTM (step S79). By setting the current PTM to the PTS of the next I-picture in this way, the AV Clip can be played every second. As a result, the AV Clip is reproduced in the forward direction at a double speed or the like. If the rewind is fast, it is determined whether or not the current PTM has reached the Out-time of Playtem # x (step S80).
  • Step S 8 Do As described above, by setting the read address A to the previous I picture, the AVCl It is possible to play back the ip one second at a time in the backward direction, so that the AVCl ip is played in the reverse direction at 2x speed etc. Processing for executing fast forward and rewind It should be noted that the procedures are many and varied and are described here only by way of example.
  • Step S74 is a determination as to whether the menu call API has been called. If so, the current playback process is suspended (step S82), and the menu program for menu processing is executed. (Step S83). According to the above processing, when a menu menu call is made, the processing for menu display is executed after the reproduction processing is interrupted.
  • step S75 it is determined whether or not SubPlayItem # y specifying Playltem # x exists according to sync_PlayItem-id. If so, the flow shifts to the flowchart of FIG. FIG. 37 is a flowchart showing the playback procedure of SubPlayltem.
  • step S86 it is determined whether or not the current PTM is sync_start-PTS-o playltem of SubPlayItem # y. If so, in step S93, the playback control engine 32 is notified to perform a playback process based on SubPlaylteniy.
  • Steps S87 to S92 in FIG. 37 are flowcharts showing a reproduction process based on SubPlayItem # y.
  • step S87 the Cl ip 'information_file_name of the SubPlayItem # y is read.
  • step S88 the In_time of SubPlayItem # y is converted to an address ⁇ using EPjnap of the current Clip information.
  • step S89 Out-time of SubPlayItem # y is converted to address / 3 using EPjnap of current Clip information.
  • step S90 commands the decoder to output from In_time of SubPlayItem # y to 0ut_time of SubPlayItem # y. The next I-picture following the address / 3 obtained by these conversions is obtained, one address before the address is set to the address r (step S91), and the address y calculated in this manner is used.
  • Step S53 is a determination as to whether or not the playback control by Presentation Engine 31 has been completed. Step S53 is performed as long as the processing in the flowchart of FIG. 36 is performed on the last Playtem #x. No Only after the processing of the flowchart in FIG. 36 is completed, step S53 becomes Yes and the process proceeds to step S54. Step S54 is the output of the reproduction end event to the Java virtual machine 38. By this output, the Java virtual machine 38 can know the lapse of the reproduction time of 2 hours.
  • FIG. 38 is a flowchart showing the processing procedure of the application manager 36 according to the fifth embodiment.
  • the flowchart of FIG. 38 is a modification of the flowchart of FIG. The improvement is that step S 24 is added between step S 21 1 and step S 22, and when step S 24 becomes Yes, there is a step S 101 to be executed.
  • Step S24 is for determining whether or not the JMF player instance exists in the work memory 37. If not, the process proceeds to step S22. If there is, the process proceeds to step S101.
  • Step S 101 is the Playback Control Engine This is a determination of whether or not the playback end event has been output from 32. If so, the Java player instance in the work memory is deleted (step S102), and the end of the title is determined by the module. Notify the manager 34 (step S26). Until the notification is made, the loop processing consisting of steps S21 to S24 is repeated. In the above flowchart, steps S22 and S23 are skipped as long as the JMF player instance exists in the work memory 37 (Yes in step S24). Therefore, the title is interpreted as ongoing even if all applications are terminated.
  • the application manager 36 can know the lapse of the playback time of 2 hours, a menu is displayed as the PL playback end condition, and this menu is displayed. It is possible to realize a control of branching to another title according to the operation on.
  • the sixth embodiment relates to an improvement of providing a data management table in a BD-J object.
  • the data management table is a table showing the Java archive files to be loaded on the local memory 29 on the title time axis in association with the read attribute and the read priority. "Surviving in local memory 29" means that the Java archive file that constitutes the application is read from local memory 29 and can be transferred to work memory 37 in Java virtual machine 38. State.
  • FIG. 39 is a diagram showing an example of the data management table. As shown in this figure, the data management table contains the “live range” of the application, the “applicationID” that identifies the application that has the live range, the “read attribute” of the application, and the “read priority”. ] Is shown.
  • the application management table has the concept of a live range
  • the data management table has the same concept of a live range. At first glance, it seems wasteful to have the same concept as the application management table in the data management table, but this is intentional.
  • FIG. 40 is a diagram showing an execution model assumed by a BD-J object.
  • the execution model in this figure is from BD-R0M, oral memory 29, and Java virtual machine 38.
  • the relationship between the BD-R0M, the local memory 29, and the work memory 37 is shown.
  • Arrow myl indicates reading between BD-R0M ⁇ local memory 29, and arrow my2 indicates reading between mouth-cal memory 29 ⁇ work memory 37.
  • the annotations on the arrows indicate when these readings are made. According to the annotation, reading from BD-R0M to local memory 29 is so-called "look-ahead" and must be performed before the application is needed.
  • the arrow my3 indicates the release of the application occupied area in the work memory 37
  • the arrow my4 indicates the release of the application occupied area in the local memory 29.
  • the annotations on the arrows indicate when these readings occur. According to the annotation, the release on the work memory 37 is performed at the same time as the end of the application. Releases on local memory 29, on the other hand, are made when they are no longer needed for the Java virtual machine 38. This obsolete point is not the "end point.” It means "at the point when it has finished and there is no possibility of restarting", that is, when the corresponding title has finished. Of the read-release described above, the release point in the work memory 37 is determined from the live range in the application management table.
  • the section where each application is alive is stored in the data management table separately from the application management table. It is to be described. In other words, by defining "the point before the application is needed” as the starting point of the live range in the data management table, and defining "the point at which there is no possibility of restart after restart” as the end point of the data management table.
  • the transition of the storage content on the local memory 29 described above can be defined at the time of authoring. This is the description significance of the data management table.
  • the disc content to be produced here consists of three titles (U tle #l, title # 2, and title # 3). In the time axis of these titles, as shown in Fig. 41 (b) You want to use oral memory 29 at a time.
  • the Java archive file constituting appl ication # Kappl ication # 2 is read into the local memory 29 at the start point of the title # l time axis, and while the title # l time axis continues, appl ication * U appl ication # 2 is resident in oral memory 29.
  • the Java archive file constituting appl ication ⁇ is released from the local memory 29, and the Java archive file constituting appl ication ⁇ is read into the local memory 29 instead.
  • the Java archive files that make up the application will be treated the same as the application.
  • the description of the data management table in this case is as shown in Fig. 41 (a), and the application's applicati.onID should be described in association with its life span, and should be resident in the local memory 29. Express the application.
  • appl icationID of appl ication # l is described as being associated with Utle # l
  • appl icationlD of appl ication # 2 is associated with title # l and title # 2
  • the live range specified in the application management table be a fine reproduction unit and the live range specified in the data management table be a rough reproduction unit.
  • a non-seamless playback unit such as a title or PL is desirable as a rough playback unit.
  • a seamless playback unit such as a chapter in a PL is desirable.
  • the Java archive file was recorded in a separate recording area from the AV Clip. But this is only an example.
  • the Java archive file may be embedded in the recording area occupied by the AV Clip in BD-R0M.
  • FIG. 42 is a diagram showing the embedding of a Java archive file by carouseling.
  • the first row shows a Java archive file to be embedded in the AV Clip, and the second row shows sectioning.
  • the third tier shows TS buckets, and the fourth tier shows TS bucket sequences that make up the AV Clip.
  • the sectioned and TS bucketed data (“D" in the figure) is embedded in the AV Clip.
  • Java files multiplexed on the AV Clip by the carousel will be read at a low bandwidth when read. This low-bandwidth reading takes a long time, typically two to three minutes, so the playback device will read the Java archive file in two to three minutes.
  • Fig. 43 is a diagram showing embedding of Java archive files by interleaving.
  • the first row is the AVCl ip to be embedded
  • the second row is the Java archive file interleaved with the AVCl ip
  • the third row is the AVCl ip location in the recording area of the BD-ROM. It is.
  • the Java archive 'file to be embedded in the stream is interleaved and divided into the XXXXX.m2ts that make up the AVCl ip (AVCl ip2 / 4, 3/4 in the figure) It is recorded in between.
  • Java archive files multiplexed on AV Clips by interleaving will be read at a higher bandwidth than carouseling. Due to this high bandwidth reading, the playback device will read the Java archive file in a relatively short time.
  • the read attribute is "Preload” indicating that it is read into the oral memory 29 prior to the title playback, and is read in a carousel format during the title playback. "Load. Carousel” indicating that the title is being played, and “Load. Interleave” indicating that the title is read in an interleaved manner during playback.
  • the read attribute whether the character is squeezed or interleaved is represented by a subscript, but this may be omitted.
  • FIG. 44 (a) shows an example of the data management table.
  • FIG. 44 (b) is a diagram showing a change in the storage content of the local memory 29 due to the assignment of the data management table.
  • the vertical axis shows the occupied area in the local memory 29
  • the horizontal axis shows the PL time axis in one title.
  • application ⁇ is described so that the entire PL time axis in one title is a live range. Therefore, the local memory 2 is written in Chapter # l to Chapter # 5 of this title! 9 will occupy the area.
  • the read priority is a priority that determines the priority of reading to the local memory 29.
  • the read priority has a plurality of values. To set two levels of priority, set the value indicating Mandatory and the value indicating optional as the read priority.
  • Mandatory means higher read priority, optional means lower read priority.
  • To provide three levels of priority set the value indicating Mandatory, optional: high.
  • Mandatory indicates the highest read priority, optional: high indicates a medium read priority, and optional: low indicates the lowest read priority.
  • FIGS. 45 (a) and (b) the assumed memory size of the oral memory 29 is as shown in FIG. 45 (a).
  • FIG. 45 (a) is a diagram showing the memory size of the local memory 29 in the old and new playback devices in comparison.
  • Arrow mkl indicates the memory size of the old playback device
  • arrow mk2 indicates the memory size of the new playback device. From the comparison of the arrows, it is assumed that the memory size of the local memory 29 in the new playback device is three times or more that of the old playback device.
  • applications are classified into two groups as shown in Fig. 45. The first is an application (# 1, # 2) that should be read regardless of the memory size. Second, applications (# 3, # 4) that do not want to read on the old playback device but do want to read on the new playback device.
  • FIG. 45 (b) shows an example of a data management table in which read priorities are set. After setting the data management table in this way, record application # l to application # 4 on the BD-ROM. ⁇ > Large memory size while guaranteeing playback on playback devices of any memory size In the playback device, an application using data of a larger size can be played back by the playback device.
  • the application manager 36 performs the processing according to the processing procedure shown in FIG.
  • FIG. 46 shows the procedure for preload control by the application manager 36.
  • the data management table in the title to be reproduced is read (step S111), and the application having the lowest applicationID with the highest read priority in the data management table is set as application i.
  • the application i is preloaded into the local memory 29 (Step S 1 15).
  • the loop processing is repeated until S116 is determined to be No and step S117 is determined to be No.
  • Step S113 is a determination as to whether the read attribute of the application i is preload.
  • Step S114 is a determination as to whether the read priority of the application is -Mandatory or Optional. . If it is determined in step S113 that the load is preload, and if the read priority is determined to be mandatory in step SI14, the application is preloaded into the local memory 29 (step S115). If it is determined in step S113 that the read attribute is "speak", steps S114 to S115 are skipped.
  • the step S116 of the two steps for defining the termination requirement of the loop processing is to determine whether the application ID is the next highest and the application k having the same read priority as the application i exists. It is. If such an application k exists, the application k is made an application i (step S119).
  • Step SI17 of the two steps for defining the termination requirement of the loop processing is to determine whether or not there is an application having the next lower read priority in the data management table.
  • the application k having the lowest applicationID among the applications having the lower read priority is selected (step S118), and the application k is set to the application i (step S119).
  • steps S116 and S117 are set to Yes, the above-mentioned processing of steps S113 to S115 is repeated.
  • steps S116 and S117 if there is no corresponding application, the processing of this flowchart ends.
  • Steps S120 to S123 are read priority in step S114.
  • Degree-This is the process that is executed when it is determined to be Optional.
  • Step S120 is a determination as to whether or not there is an application j having the same applicationID and having a high read priority.
  • Step S1221 is a step for determining whether or not the remaining capacity of the local memory 29 exceeds the size of the application i. If step S120 is No and step S122 is Yes, application i will be preloaded into local memory 29 in step S115. If step S120 is No and step S122 is No, the application i will proceed to step S116 without being preloaded into the local memory 29.
  • the data of the read priority -Optional is not preloaded into the local memory 29 unless the judgment in step S120-step S122 becomes "Yes".
  • the old playback device with a small memory scale reads in only a few applications, and the determination in step S121 is No.
  • the new playback device with a large memory scale requires more applications. Even if it is read, the judgment in step S122 is not No.
  • the judgment in step S122 is not No.
  • only the Mandatory application is read into the local memory 29 in the old playback device, and the Mandatory application and the Optional application are read into the new playback device.
  • Step S122 is a step executed when it is determined to be Yes in step S122. If the application j with the same applicationID and high read priority exists on the local memory 29, the sum of the remaining capacity of the local memory 29 and the size of the application j is It is determined whether or not the size exceeds the size (step S122). If it exceeds, the application j is preloaded by overwriting the application j on the local memory 29 using the application i (step S122). If it is less, the application i is not preloaded into the local memory 29, and the process directly proceeds to step S116.
  • FIG. 47 (a) is a diagram showing an example of a data management table assumed in this specific example.
  • step S123 preloading is performed to overwrite the application of the same applicationlD already in the local memory 29, so one of the applications is exclusively used. Will be loaded into local memory 29.
  • Java archive files of different sizes can be loaded into the low-level memory 29 according to the memory size.Thus, a playback device with a small memory size has a thumbnail image with the minimum necessary resolution. Java archive file, a Java archive file with SD images with medium resolution for playback devices with medium memory size, and a high resolution for playback devices with large memory size. A Java Eve file with an HD image with a can be imported to local memory 29.
  • FIG. 48 is a diagram illustrating a specific example of the reading process with reference to the data management table.
  • the two applications in the figure are diagrams showing two applications to which the same & 1 1 ⁇ 01110 (& 1 & 1 ⁇ 011 # 3) is assigned. One of them is embedded in the AV Clip and the read priority is set to mandatory. On the other hand, it is recorded in a separate file from AVClip, and the read priority is set to Optional. Since the former application is embedded in the AV Clip, the live range corresponding to the embedded portion is described as a live range (title #l: chapter # 4 to # 5).
  • appl ication # 2 has Chapter # l ⁇ (; hapter # 2 as a live range, and application ⁇ has Chapter # 4 ⁇ Chapter # 5 as a live range. It will be resident exclusively on local memory 29.
  • Figure 48 (b) shows appl ication # 2, appl ication ⁇ stored exclusively at different time points on the title time axis This is a consideration in consideration of playback on a playback device that has only the minimum required memory size. If the data management table of such contents is to be processed, the application manager 36 Performs different processing according to the memory scale according to the flowchart of FIG. 46 described above.
  • the problem here is when reading by a playback device with a large memory size. Despite the large memory size, the inability to read applic ication ⁇ until Chapter # 4 ⁇ (: Chapter # 5 is reached is a waste of memory size.
  • Appl ication ⁇ is given a read attribute indicating a pre-word and recorded on BD- ⁇ , and the same appl icationID is given to these.
  • the former application has a read priority of ⁇ Optional, so Preloading is performed only when step S121 is set to Yes (step S115), so that a playback device having a large memory size can be used as a title # l, Chapter # 4 to Chapter #. Without waiting for the arrival of 5, the same application embedded in the AVClip can be loaded into the oral memory 29 ( Figure 48 (c) :).
  • FIG. 49 is a diagram showing a processing procedure of the load processing based on the data management table.
  • the loop processing consisting of step S131 to step S133 is repeated while title playback is continued.
  • Step S1311 is for judging whether or not the live section of the application having the start attribute indicating AutoRun has arrived. If it arrives, the application having the start attribute indicating AutoRun is set to application q (step S134), and a start instruction to start application q is issued to the Java virtual machine 38. Then, the application q is read from the local memory 29 to the work memory 37 (step S135).
  • Step S133 is a determination as to whether or not all PLs in the title have been reproduced. This determination is made based on whether or not a playback end event from the Playback Control Engine 32 has been received, as described in the fifth embodiment. If completed, the processing of this flowchart ends.
  • step S132 it is determined whether or not a call has been made from the running application. If there is, the call destination application is set to application q (step S136), and the current playback point is set in the application management table. It is determined whether or not it is the live range of the application q (step S1337). If it is not a live range, a start failure is displayed (step S148), and the process returns to the loop consisting of steps S131 to S133. If it is a live range, load processing is performed according to the flowchart in FIG.
  • Step S138 in FIG. 50 is a judgment indicating whether or not the current reproduction time point is a live range of the application q in the data management table. If it is not a live range, application q cannot be loaded into local memory 29. In this case, a start instruction to start the application q is issued to the Java virtual machine 38, and the application q is directly read from the BD-R0M to the work memory 37 without passing through the local memory 29. In this case, since the head seek for reading the application occurs, the PL reproduction is interrupted (step S15).
  • step S139 it is determined whether a read attribute is added to the application. Absence of the read attribute means that the abbreviation q is not carouseled or interleaved. However, even if the read attribute is not added, it is allowed to put the application q in the oral memory 29. Therefore, the application is read out after knowing that the playback has been interrupted. That is, the application is read from the BD-R0M to the oral memory 29, and then the application is read to the work memory 37 (step S140).
  • Steps S141 to S146 are processing performed when step S139 is determined to be Yes.
  • step S141 it is determined whether or not the application is preloaded by referring to the read attribute. If preloaded, the process moves to step S135.
  • Step S142 is a determination step performed when the read attribute is "load”, and determines whether the application q is carouseled or interleaved. If interleaved, the cache sense is executed by the Java virtual machine 38 (step S144). If the application q exists in the local memory 29, the process proceeds to step S135 to load the application q into the Java virtual machine 38. If there is no application in the local memory 29, exception processing such as branching to the top menu title is performed (step S144). If it has been carouseled, a timer is set (step S148), and the cache sense is executed by the Java virtual machine 38 (step S148) until the timer times out (step S147). 4 6). If the application q appears in the local memory 29, the process proceeds to step S135 of FIG. 49, and the application q is loaded into the Java virtual machine 38. If a timeout occurs, exception processing such as branching to the top menu title is performed (step S144).
  • FIG. 51 is a diagram schematically illustrating how an application is read by the Java virtual machine 38.
  • Arrows ⁇ 1 and 2 indicate the reading of a Java archive file that is alive in the application management table, is alive in the data management table, and has a read attribute that indicates force-rucelling and interleaving.
  • the arrow ⁇ 1 indicates the local memory 29 sense performed in steps S65 and S67.
  • the local memory 29 sense senses data embedded in the local memory 29 because the data embedded by force lucinolization or interleaving may exist in the local memory 29.
  • the arrow ⁇ 2 is a read corresponding to step S135, and indicates a load from the local memory 29 to the work memory 37 when the application exists in the local memory 29.
  • the arrow with X indicates that there is no data in the local memory 29.
  • Arrows VI and 2 indicate reading of a Java archive file that is alive in the application management table but not in the data management table and has no read attribute.
  • Arrow VI corresponds to the reading in step S145, and indicates a request for direct reading from the BD-ROM by the Java virtual machine 38.
  • the arrow V2 indicates the reading of the Java archive file from the BD-ROM to the work memory 37 according to the request.
  • Arrows 1, 2, and 3 indicate that a Java archive file that is alive in the application management table and alive in the data management table but has no read attribute exists.
  • Arrow 1 corresponds to the reading in step S140, and indicates a request for direct reading from the BD-ROM by the Java virtual machine 38.
  • the arrow indicates the reading of the Java archive file to the local memory 29 according to the request.
  • Arrow 3 indicates reading the Java archive file from local memory 29 to work memory 37.
  • the number of applications resident simultaneously on the local memory 29 can be specified so as to be equal to or less than a predetermined number.
  • a cache miss can be avoided as much as possible. Since application reading without cache mistakes can be guaranteed, the application will not be read from the BD-R0M until playback of the AV Clip is stopped when the application is called. Since the AV Clip playback is not interrupted, seamless playback of the AV Clip can be guaranteed.
  • the time axis of the non-AV title is determined based on the life span of the application.
  • the operation of the application is unstable, and there may be startup failure or abnormal termination.
  • the present embodiment proposes a fail safe mechanism in the event of a startup failure or abnormal termination.
  • FIG. 52 (a) shows the internal structure of a BD-J object according to the seventh embodiment. What is different from FIG. 7 (b) is that a playlist management table has been added.
  • FIG. 52 (b) is a diagram showing an example of the playlist management table.
  • the playlist management table includes a PL specification and a playback attribute of the PL.
  • the designation of the PL indicates the PL that can be reproduced on the title time axis of the corresponding title.
  • the playback attribute of the PL indicates whether or not the specified PL is automatically played at the same time as the start of title playback (the PL that is automatically played in this manner is called the default PL).
  • FIG. 53 (a) shows the title time axis in a non-AV title when the playback attribute is set to indicate non-automatic playback. In this case, since the default PL is not played back, the title time axis is determined from the live range of the application as in the case of non-AV titles.
  • Figure 53 (b) shows the title of a non-AV title with the playback attribute set to AutoPlay.
  • FIG. 3 is a diagram showing a time axis. If the playback attribute is set to indicate AutoPlay, the Playback Control Engine 32 starts playback of the default PL at the same time as playback of the non-AV title starts. However, even if the application operates normally and terminates normally, the tightness time axis is determined based on the PL time axis.
  • FIG. 53 (c) shows a case where the playback attribute is set to indicate “AutoPlay” in the playlist management table and the application ends abnormally. Due to such abnormal termination, no application is running, but the playback of the default PL continues. In this case as well, the PL time axis of the default PL becomes the title time axis.
  • FIG. 53 (d) shows a case where the playback attribute is set to indicate “AutoPlay” in the playlist management table, and the main application fails to start. Also in this case, the default PL playback by the Playback Control Engine 32 is performed irrespective of the failure to start the application, so the time axis of the default PL is the title time axis.
  • FIG. 52 (c) is a diagram showing what processing is performed by the playback device when there is a PL whose playback attribute is set to AutoPlay in the playlist management table of the branch destination title.
  • the application manager 36 in the BD-J module 35 immediately follows the title branch. Instructs Playback Control Engine 32 to start playback of this AutoPlayPL. In this way, the PL whose playback attribute is AutoPlay is instructed to start playback immediately after the title branch.
  • the application manager 36 Processing is performed according to the processing procedure shown in FIG.
  • FIG. 54 is a flowchart showing the processing procedure of the application manager 36 according to the seventh embodiment. This flowchart is different from the flowchart of FIG. 38 in that steps S103 and S104 are added before step S21, so that steps S21 and S22 are interposed. Step S100 is added, and step S105 is added between step S23_ and step S26.
  • Step S103 is to determine whether or not the playback attribute of the playlist management table of the corresponding title is AutoPlay. If it is AutoPlay, the playback control for the default PL is started by the Playback Control Engine 32 (step S104).
  • step S100 it is determined whether or not reproduction by Presentation Engine 31 is in progress. If the data is being reproduced, the process proceeds to step S101.
  • Step S105 is a determination step performed when Step S23 is Yes and Step S25 is No, and indicates whether or not the playback attribute is AutoPlay. If not, notify module manager 34 of the end of the title. If it is AutoPlay, the flow shifts to step S101 to continue the processing.
  • the title to be played here is a non-AV title including a game application that stacks falling tile pieces.
  • the playback PL engine by the Playback Control Engine 32 also starts. Since the execution of the game application and the playback of the default PL are performed in parallel, as shown in the upper left of Fig. 55, a composite image with the screen of the game application as the foreground and the playback image of the default PL as the background is displayed. Will be displayed. It is assumed that this game application ends abnormally on the way.
  • the BD-J object has two tables, a data management table and an application management table.
  • the present embodiment discloses a form in which these are integrated into one table. .
  • the item of the read attribute in the data management table is abolished, and the attribute of the ready attribute is provided in the start attribute instead.
  • the Ready attribute is a type of a startup attribute indicating that an application is loaded in the local memory 29 in advance in preparation for a call from another application or the like or a call from the application manager 36.
  • Figure 56 (b) is a diagram showing the relationship between application handling and startup attributes.
  • the application is handled by whether it is preloaded (1), automatically started when the current playback point reaches the valid section, or responded to a call from another. 5 (2), loading according to the progress of title playback (3), and alive.
  • the startup attribute is set to AutoRun when preloading is performed and "automatic startup” is performed, and when loading is performed and "automatic startup” is performed.
  • the activation attribute is set to the Ready attribute when preloading or loading has been performed and the activation item indicates "call activation".
  • the application manager 36 Since the Ready attribute has been added as the start attribute, the application manager 36 locally stores the application whose start attribute is set to AutoRun and the application whose start attribute is set to Ready before the title is played. Processing for preloading to memory 29 is performed. By doing so, the processing of preloading the application in the local memory 29 can be performed without providing a read attribute.
  • FIG. 57 shows an example of an application executed by the Java virtual machine 38 according to the eighth embodiment.
  • FIG. 4 is a diagram schematically illustrating how reading is performed. The reading in this figure is based on Figure 51.
  • Arrows ⁇ and 2 indicate reading of a Java archive file that exists in the application data management table and whose startup attribute is set to the Ready attribute. Arrows 1, 2, and 3 indicate that an application that is alive in the application's data management table and whose startup attribute is Persistent is read.
  • the data management table and the application management table can be combined into one table (application's data management table), the processing by the application manager 36 can be simplified. it can. Note that the application's data management table may be made more stubby by eliminating the read priority.
  • the read priority when the application is read into the oral memory 29, the read priority is referred to, and the read processing is given priority according to the read priority.
  • the ninth embodiment is an embodiment in which the read priority is represented by a combination of information meaning Optional and a numerical value from 0 to 255.
  • FIGS. 58 (a) and (b) are diagrams showing an example of the read priority according to the ninth embodiment.
  • 255 and 128 are examples of read priorities from 0 to 255.
  • application ⁇ means that the read priority is higher than application # 3.
  • the application manager 36 first reads the application to which the read priority assigned to Mandatory is assigned into the local memory 29.
  • the application to which the read priority indicating Optional is assigned, whether the capacity in the oral memory 29 exceeds the size of the application Is determined. If it exceeds, the application to which the read priority ⁇ Optional has been added is read into the local memory 29 as it is. If the value is lower than this, among the data constituting the application, the application having a higher numerical value representing the read priority is read into the local memory 29. Then, an application having a low numerical value representing the read priority is read out to the remaining area in the local memory 29. By doing so, even if the storage capacity of the entire application is not in the local memory 29 of the playback device, a part of the application can be stored in the local memory 29.
  • the application manager 36 loads the application with the same application ID exclusively into the oral memory 29 according to the read priority.
  • Exclusive load is realized by giving group attribute to.
  • FIG. 59 is a diagram showing a data management table to which group attributes have been added.
  • the group attribute can be set in two ways, such as no exclusive group and exclusive group. If there is an exclusive group, the group number is described. In FIG. 59 (a), “1” in title_l indicates that no exclusive group exists. On the other hand, rgrouptlj of title # 2 and # 3 indicates that there is an exclusive group, and title # 2 and # 3 belong to the exclusive group of group # l.
  • the above is the improvement of the recording medium according to the present embodiment.
  • the playback device reads each application into the local memory 29 based on the data management table, and then verifies the group attribute of the application in the local memory 29. If two or more applications belonging to the same exclusive group exist in the local memory 29, one of them is deleted from the local memory 29.
  • a specific example of an exclusive group is a group consisting of a launcher application and an application started by this application. Since the number of applications activated by this application is limited to one in principle, the local memory 29 has only the launcher + 1 application. If three or more If the application exists, the application manager 36 must perform processing to delete it from the local memory 29.Therefore, a group attribute f is provided for each application, and the application exists on the local memory 29. It checks whether the application is a launcher + one application.
  • FIG. 59 (a) is a diagram showing access to the local memory 29 based on the application management table.
  • these applications belong to the same exclusive group.
  • ppl ication # l is the launcher application described above, and application # 2 and application # 3 are applications started by this, so only one of them is local memory. 29, the group attribute is added.
  • the application manager 36 refers to the group attributes of the application # 2 and the application # 3, and performs a process of removing one of the two from the local memory 29. Such deletion creates a margin in the oral memory 29.
  • the application management table is provided for each title.
  • it is proposed to change the allocation unit of the application management table.
  • FIG. 60 is a diagram showing variations of the allocation unit.
  • the first row shows the three application management templates recorded on the BD-R0M
  • the second row shows the title unit
  • the third row shows the disk unit
  • the fourth row Indicates a disk set unit composed of a plurality of BD-R0Ms.
  • the arrows in the figure schematically show the assignment of the application management table. Referring to this arrow, the first row of the application management tables # 1, # 2, and # 3 are the same as those of the Utl #l, # 2, and # 3 shown in the second row.
  • the application management table # 4 is allocated to each disk, and the application management table # 5 is allocated to the entire disk set.
  • the allocation unit of the management table By setting the allocation unit of the management table to a unit larger than the title, survives while one BD-ROM is being read. Application that survives while one of the BD-ROMs is loaded.
  • the above description does not necessarily represent all the forms of implementation of the present invention.
  • the embodiment of the present invention can also be implemented in the form of the following (A), (B), (0 (D), etc.).
  • the description is an expanded or generalized description of a plurality of embodiments and their modifications, and the degree of expansion or generalization is based on the characteristics of the state of the art in the technical field of the present invention at the time of filing. .
  • the optical disc according to the present invention is implemented as BD-R0M, but the optical disc of the present invention is characterized by a recorded dynamic scenario and an Index Table. It does not depend on the physical properties of. Any recording medium that can record the dynamic scenario and the Index Table may be used.
  • optical discs such as DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD + RW, DVD + R, CD-R, and CD-R, and magneto-optical discs such as PD. Is also good.
  • a semiconductor memory card such as a compact flash card, smart media, memory stick, multimedia card, PCM-CIA card, etc. may be used.
  • It may be a magnetic recording disk (i :) such as a flexible disk, SuperDisk, Zip, Clik !, etc., or a removable hard disk drive (ii) such as an ORB, Jaz, SparQ, SyJet, EZFley, or Microdrive. Furthermore, a hard disk with a built-in device may be used.
  • the playback device in all the embodiments decodes the AV Clip recorded on the BD-ROM and outputs it to the TV, but the playback device is only a BD-ROM drive and other configurations Elements may be included in a TV, in which case the playback device and the TV may be incorporated into a home network connected by IEEE1394. Further, the playback device in the embodiment is of a type used by connecting to a television, but may be a playback device integrated with a display. Furthermore, in the playback device of each embodiment, only a portion that forms an essential part of the processing may be used as the playback device.
  • each of these playback devices is an invention described in the specification of the present application
  • a playback device is manufactured based on the internal configuration of the playback device described in each embodiment regardless of any of these aspects.
  • the act of doing so is an act of practicing the invention described in the specification of the present application.
  • the act of transferring the playback device shown in each embodiment for a fee or free of charge (selling it for a fee, giving it a gift for free), lending, or importing it is also an act of implementing the present invention.
  • the act of inviting the general user to transfer or lend them through in-store displays, solicitation for invitations, and distribution of pamphlets is also the practice of the playback device.
  • a Menu for displaying a list of Chapters and a MOVIE object that controls the behavior of this may be recorded on the BD-ROM so that the menu can be branched from the Top Menu. It may be called up by pressing the Chapter key of the remote control key.
  • the playback device 200 When used in a home network connected via IEEE1394, the playback device 200 transmits an ignited unit by the following transmission processing.
  • the sender's device removes the TP-extra-header from each of the 32 EX-attached TS buckets included in the Aligned Unit, encrypts the TS packet itself based on the DTCP standard, and outputs it.
  • isochronous buckets are inserted everywhere between TS buckets. This entry is based on the time indicated in the Arribval-Time-Stamp of the TP-extra-header.
  • the playback device 200 With the output of the TS packet, the playback device 200 outputs a DTCP-Descriptor.
  • DTCP-Descriptor indicates copy permission / prohibition setting in TP-extra-header. If a DTCP Descriptor is described so as to indicate "copy prohibited", the TS bucket will not be recorded on other devices when used in a home network connected via IEEE1394.
  • the digital stream recorded on the recording medium is AV Clip, but may be V0B (Video Object) of DVD-Video standard or DVD-Video Recording standard.
  • V0B is a program stream conforming to the IS0 / IEC13818-1 standard obtained by multiplexing a video stream and an audio stream.
  • the video stream in the AV Clip may be of the MPEG4 or WMV format.
  • the audio stream may be a Li near-PCM system, Do 1 by-AC3 system, MP3 system, MPEG-AAC system, Dts, WMA (Windows media audio).
  • the video work in each embodiment may be obtained by encoding an analog video signal broadcasted by analog broadcasting. It may be stream data composed of a transport stream broadcast by digital broadcasting. Also, the content may be obtained by encoding an analog // digital video signal recorded on a video tape. Further, the content may be obtained by encoding an analog / digital video signal directly taken from a video camera. Alternatively, it may be a digital work distributed by a distribution server.
  • D BD-J module 35 may be a Java platform embedded in the device for receiving satellite broadcasting. Java platform on which BD-J module 35 is installed If it is an ohm, the playback device according to the present invention also serves as the MHP STB.
  • the playback device may be a Java platform built into the device for processing control of mobile phones. If the BD-J module 35 is such a Java platform, the playback device according to the present invention also serves as a mobile phone.
  • the MOVIE mode may be arranged above the BD-J mode.
  • the interpretation of dynamic scenarios in the MOVIE mode and the execution of control procedures based on the dynamic scenarios are light on the playback device, so there is no problem if the MOVIE mode is executed on the BD-J mode. It is.
  • operation is guaranteed in only one mode.
  • the reproduction process may be executed only in the BD-J mode. As described in the fifth embodiment, even in the BD-J mode, the reproduction control synchronized with the PL reproduction can be performed, so that the MOVIE mode does not have to be provided.
  • a navigation command may be provided in the interactive graphics stream to be multiplexed on the AV Clip to realize branching from one PL to another PL.
  • the playback device according to the present invention may be used for personal use, such as in a home theater system.
  • the internal configuration of the present invention is disclosed in the above embodiment, and since it is clear that mass production is performed based on this internal configuration, the present invention can be industrially used in terms of quality. From this, the reproducing apparatus according to the present invention has industrial applicability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

BD-ROM再生装置は、AVClipを含むタイトルの再生と、アプリケーションの実行とを同時に行うものであり、アプリケーションを実行するBD-Jモジュール35と、タイトルに帰属するAVClipを再生するPlayback Control Engine32と、タイトル間の分岐を制御するモジュールマネージャ34とを備えている。BD-Jモジュール35は、Java仮想マシン38と、アプリケーションマネージャ36とを有し、Java仮想マシン38は、アプリケーションを解読して、インスタンスの生成と、生成されたインスタンスの実行とを行う。アプリケーションマネージャ36は、インスタンスがJava仮想マシン38内のワークメモリ37が存在する場合、アプリケーションが終了したとしても、タイトル再生は継続していると解釈し、Playback Control Engine32から再生終結イベントが発せられれば、タイトル再生は終了したとして、モジュールマネージャ34に、次のタイトルを選択させる。

Description

明細書
再生装置、 プログラム、 再生方法
技術分野 本発明は、 デジタル化された映画作品の再生と、 アプリケーション の実行とを同時に実行する、 再生制御技術の技術分野に属する発明であり、 本再 生制御技術を民生用の再生装置、 プログラムに応用する場合の応用技術に深く係 る。
背景技術 DVD再生装置は、 パッケージメディァの再生装置として確固とした 地位を築いている。 DVD再生装置は、 インタプリタ型の実行主体を有し、 これに コマンドを発行することで DVD再生装置は再生制御を実行する。 DVD再生装置で は、 コマンドによる記述が必須としているが、今後登場する BD再生装置では、再 生装置の再生制御の記述が Javaプログラミングで行えるよう、 要望がでている。 これは、 Javaプロダラミングに長けた様々なソフトハウスに、 BDコンテンツの制 作事業の参入を呼び掛けるためである。
ここで DVD再生装置においてィンタプリ夕型の実行主体は、 2時間長のデジ夕 ルストリームの再生が命じられた際、 2時間という間何の応答も返さず、 2時間が 経過して初めて応答を返す。 しかし Javaプログラムの実行主体である Java仮想 マシンはイベント ドリブンの実行主体であり、 Java仮想マシンは、再生コマンド の解読と、 下位層への指示を発した直後に応答を返してしまう。 そうすると、 2 時間という再生時間の経過後に何等かの処理を行うような制御が不可能になって しまう。
発明の開示
本発明の目的は、 イベント ドリブン型の実行主体を対象としていたとしても、 2 時間という再生時間の経過後に何等かの処理を実行できるような再生装置を提供 することである。
上記目的は、 アプリケーションを実行するモジュールと、 タイ トルに帰属する デジタルストリームを再生する再生エンジン部と、 タイ トル間の分岐を制御する モジュールマネージャとを備え、 モジュールは、 仮想マシン部と、 アプリケーシ ヨンマネージャとを有し、 前記仮想マシン部は、 アプリケーションを解読して、 インスタンスの生成と、 生成されたインスタンスの実行とを行い、 前記アプリケ ーシヨンマネージャは、 インスタンスが仮想マシン部内のワークメモリに存在す る場合、 アプリケーションが終了したとしても、 タイトル再生は継続していると 解釈し、 再生制御エンジン部から再生終結イベントが発せられれば、 タイ トル再 生は終了したとして、 モジュールマネージャに、 次のタイトルを選択させること を特徴とする再生装置により達成される。
上記再生装置によれば、 仮想マシン部がアプリケーションに対し応答のィベン トを返した場合でも、 アプリケーションがたとえ終了したとしても、 インスタン スが仮想マシン部のワークメモリ上にある限り、 タイトル再生係属中として解釈 するので、 デジタルストリームが 2時間という再生時間を有する場合、 この 2時 間という再生時間に同期して、 アプリケーションを動作させることができる。 こ れにより、 たとえアプリケーションの実行主体が仮想マシンであっても、 DVD再 生装置と何等変わらない、 同期制御が実現可能になり、 Javaプログラミングによ る再生制御の記述が行い易くなる。 Javaプロダラミングによる開発が身近な存在 になるので、 Javaプログラミングに長けたソフトハウスによる BDコンテンツ制 作事業参入に弾みがつく。
図面の簡単な説明
図 1は、 本発明に係る再生装置の使用行為についての形態を示す図である。 図 2は、 BD- ROMにおけるファイル 'ディレクトリ構成を示す図である。
図 3は、 AVCl ip時間軸と、 PL時間軸との関係を示す図である。
図 4は、 4つの Cl ipJnformation_fi le_nameによりなされた一括指定を示す図 である。
図 5は、 PLmarkによるチャプター定義を示す図である。
図 6は、 SubPlayltem時間軸上の再生区間定義と、同期指定とを示す図である。 図 7 ( a ) は、 Movieオブジェクトの内部構成を示す図である。
図 7 (b ) は、 BD-Jオブジェクトの内部構成を示す図である。
図 7 ( c ) は、 Javaアプリケーションの内部構成を示す図である。
図 8 ( a ) は、 Javaアーカイブファイルに収められているプログラム、 データ を示す図である。
図 8 ( b ) は、 xletプログラムの一例を示す図である。
図 9 ( a ) は、 トップメニュー、 ti tle#l、 ti tle#2といった一連のタイトルを 示す図である。 図 9 (b) は、 PlayList#l、 PlayList#2の時間軸を足し合わせた時間軸を示す 図である。
図 10は、 本編タイ トル、 オンラインショッピングタイ トル、 ゲームタイ トル という 3つのタイ トルを含むディスクコンテンツを示す図である。
図 1 1は、 図 10に示した 3つのタイ トルの再生画像の一例を示す図である。 図 12 (a) は、 図 10の破線に示される帰属関係から各アプリケーションの 生存区間をグラフ化した図である。
図 12 (b) は、 図 12 (a) の生存区間を規定するため、 記述されたアプリ ケーション管理テーブルの一例を示す図である。
図 13 (a) は、 起動属性設定の一例を示す図である。 - 図 13 (b) は、 他のアプリケーションからのアプリケーション呼出があって 初めて起動するアプリケーション(application#2)を示す図である。
図 14 (a) (b)は、 Suspendが有意義となるアプリケーション管理テーブル、 生存区間の一例を示す図である。
図 15は、 起動属性がとり得る三態様(Persistent、 AutoRun. Suspend)と、 直 前タイ トルにおけるアプリケーション状態の三態様(非起動、 起動中、 Suspend) とがとりうる組合せを示す図である。
図 16は、 本発明に係る再生装置の内部構成を示す図である。
図 17 (a) は、 BD-R0Mに存在している Javaアーカイブファイルを、 ロー力 ノレメモリ 29上でどのように識別するかを示す図である。
図 17 (b) は、 図 17 (a) の応用を示す図である。
図 18は、 R0M24に格納されたソフトウエアと、ハードウエアとからなる部分 を、 レイァ構成に置き換えて描いた図である。
図 19は、 Presentation Engine 31〜モジュールマネージャ 34による処理を 模式化した図である。
図 20は、アプリケーションマネージャ 36による処理を模式化した図である。 図 21は、ワークメモリ 37〜Default Operation Manager 40を示す図である。 図 22は、 アプリケーションマネージャ 36による分岐時の制御手順を示す図 である。
図 23は、アプリケーション終了処理の処理手順を示すフローチャートである。 図 24は、 アプリケーション終了の過程を模式的に示した図である。
図 25 (a) は、 PL時間軸上に生存区間を定めたアプリケーション管理テ一ブ ルを示す図である。
図 25 (b) は、 図 25 (a) のアプリケーション管理テーブルに基づき、 7 プリケーシヨンの生存区間を示した図である。
図 26 (a) は、 PL時間軸から定まるタイ トル時間軸を示す。
図 26 (b) は、 メインとなるアプリケーションの生存区間から定まるタイ ト ル時間軸を示す。
図 26 (c) は、 複数アプリケーションの生存区間から定まるタイ トル時間軸 を示す図である。
図 27は、 タイ トル再生時におけるアプリケ一ションマネージャ 36の処理手 順を示すフローチャートである。
図 28 (a) は、 BD-R0Mにより実現されるメニュー階層を示す図である。 図 28 (b) は、 メニュー階層を実現するための MOVIEオブジェクトを示す図 である。
図 29は、 Index Tableと、 Index Tableから各 Movieオブジェクトへの分岐と を模式化した図である。
図 30 (a) は、 図 29 (b) のように Index Tableが記述された場合におけ る分岐を示す。
図 30 (b) は、 非 AV系タイ トルが強制終了した際における分岐を示す図であ る。
図 31は、モジュールマネージャ 34の処理手順を示すフローチャートである。 図 32は、 アプリケ一シヨンマネージャ 36によるアプリケーション強制終了 の動作例を示す図である。
図 33は、 Playback Control Engine32による PL再生手順を示すフローチヤ 一トである。
図 34は、 アングル切換、 SkipBack, SkipNext の受付手順を示すフローチヤ一 トである。
図 35は、 SkipBack, SkipNextAPIがコールされた際の処理手順を示すフローチ ャ一トである。 図 36は、 Presentation Engine 31による処理手順の詳細を示すフローチヤ一 トである。
図 37は、 SubPlayltemの再生手順を示すフローチャートである。
図 38は、 第 5実施形態に係るアプリケーションマネージャ 36の処理手順を 示すフローチャートである。
図 39は、 データ管理テーブルの一例を示す図である。
図 40は、 BD- Jォブジェクトが想定している実行モデルを示す図である。 図 41 (a) は、 口一カルメモリ 29における Javaアーカイブフアイル生存を 示す生存区間を示す図である。
図 41 (b) は、 図 41 (a) での Javaアーカイブファイル生存区間を規定す るため、 記述されたデー夕管理テーブルを示す図である。
図 42は、カルーセル化による Javaアーカイブファイル埋め込みを示す図であ る。
図 43 (a) は、 インターリーブ化による AVClip埋め込みを示す図である。 図 43 (b) は、 読込属性の 3つの類型を示す図である。
図 44 (a) は、 デ一夕管理テーブルの一例を示す図である。
図 44 (b) は、 図 44 (a) のデータ管理テーブルの割り当てによるロー力 ルメモリ 29の格納内容の変遷を示す図である。
図 45 (a) は、 新旧再生装置におけるローカルメモリ 29のメモリ規模を対 比して示す図である。
図 45 (b) は、 読込優先度が設定されたデータ管理テーブルの一例を示す図 である。
図 46は、 アプリケーションマネージャ 36によるプリロード制御の処理手順 を示す図である。
HI 47 (a) は、 applicationIDが同一である.が、 読込優先度は互いに異なる 複数のアプリケーシヨンを規定するデータ管理テーブルの一例を示す図である。 図 47 (b) は、 図 47 (a) のデータ管理テーブルの割り当てによるロー力 ルメモリ 29の格納内容の変遷を示す図である。
図 48 (a) は、 プリロードされるべきアプリケーション、 ロードされるべき アプリケーシヨンに同一の applicationIDを付与するよう記述されたデータ管理 テ一ブルの一例を示す図である。
図 48 (b) は、 メモリ規模が小さい再生装置におけるローカルメモリ 29の 格納内容の変遷を示す図である。
図 48 (c) は、 メモリ規模が大きい再生装置におけるローカルメモリ 29の 格納内容の変遷を示す図である。
図 49は、 データ管理テーブルに基づぐアプリケーションマネージャ 36によ るロード処理の処理手順を示す図である。
図 50は、 アプリケーション qの生存区間に、 現在の再生時点が到達した場合 のアプリケーションマネージャ 36による処理手順を示す図である。
図 51は、 Java仮想マシン 38によるアプリケーシヨンの読み込みがどのよう にして行われるかを模式化した図である。
図 52 (a) は、第 7実施形態に係る BD-Jオブジェクトの内部構成を示す図で ある。
図 52 (b) は、 プレイリスト管理テーブルの一例を示す図である。
図 52 (c) は、 分岐先タイ トルのプレイリスト管理テーブルにおいて、 再生 属性が AutoPlayに設定された PLが存在する場合、 再生装置がどのような処理を 行うかを示す図である。
図 53 (a) は、再生属性が非自動再生を示すよう設定された場合の非 AV系夕 ィ トルにおけるタイ トル時間軸を示す図である。
図 53 (b) は、 再生属性が AutoPlayに設定された非 AV系タイ トルのタイト ル時間軸を示す図である。
図 53 (c) は、 プレイリスト管理テーブルにおいて再生属性が" AutoPlay" を示すよう設定され、 アプリケーションが強制終了した場合を示す図である。 図 53 (d) は、 プレイリスト管理テーブルにおいて再生属性が" AutoPlay" を示すよう設定され、 メインアプリの起動に失敗したケースを示す図である。 図 54は、 第 7実施形態に係るアプリケーションマネージャ 36の処理手順を 示すフローチヤ一トである。
図 55は、 プレイリスト管理テーブルにおいて" 再生属性 = AutoPlay" に設定 されることにより、 どのような再生が行われるかを模式化した図である。
図 56 (a) (b) は、 アプリケーションの扱いと、 起動属性との関係を示した 図である。
図 5 7は、第 8実施形態に係る Java仮想マシン 3 8によるアプリケーションの 読み込みがどのようにして行われるかを模式化した図である。
図 5 8 ( a ) ( b ) は、 第 9実施形態に係る読込優先度の一例を示す図である。 図 5 9 ( a ) は、 グループ属性が付与されたデータ管理テ一プルを示す図であ る。
図 5 9 ( b ) は、 アプリケーション管理テーブルに基づく口一カルメモリ 2 9 に対するアクセスを示す図である。
図 6 0は、 アプリケーション管理テーブルの割当単位のバリエーションを示す 0である。 発明を実施するための最良の形態
(第 1実施形態)
以降、 本発明に係る再生装置の実施形態について説明する。 先ず始めに、 本発 明に係る再生装置の実施行為のうち、 使用行為についての形態を説明する。 図 1 は、 本発明に係る再生装置の、 使用行為についての形態を示す図である。 図 1に おいて、 本発明に係る再生装置は再生装置 2 0 0であり、 テレビ 3 0 0、 リモコ ン 4 0 0と共にホームシアターシステムを形成する。
この BD- R0M 1 0 0は、 再生装置 2 0 0、 リモコン 3 0 0、 テレビ 4 0 0により 成されるホームシアターシステムに、 映画作品を供給するという用途に供され る。
以上が本発明に係る再生装置の使用形態についての説明である。
続いて本発明に係る再生装置の再生の対象となる、記録媒体である BD- ROMにつ いて説明する。 BD-R0Mにより、 ホームシアターシステムに供給されるディスクコ ンテンッは、 互いに分岐可能な複数タイ トルから構成される。 各タイ トルは、 1 つ以上のプレイリストと、このプレイリストを用いた動的な制御手順とからなる。 プレイリストとは、 1 つ以上のデジタルストリームと、 そのデジタルストリー ムにおける再生経路とから構成され、" 時間軸" の概念をもつ BD- ROM上のァクセ ス単位である。 以上のプレイリストと、 動的な制御手順とを包含しているため、 タイ トルはデジタルストリーム特有の時間軸の概念と、 コンピュータプログラム 的な性質とを併せもっている。
図 2は、 BD-R0M におけるファイル 'ディ レクトリ構成を示す図である。 本図に おいて BD- ROMには、 Rootディ レクトリの下に、 BDMVディ レクトリがある。
BDMV デ ィ レ ク ト リ には、 拡張子 bdmv が付与されたフ ァ イ ル (index, bdmv, MovieObject. bdmv) と、 拡張子 BD-J が付与されたフ ァ イル (00001.80-<1, 00002. 80-<1,00003.80->1)がぁる。そしてこの 80 ディ レクトリの配 下には、 更に PLAYLISTディレクトリ、 CLIPINFディレクトリ、 STREAMディ レクト リ、 BDARディ レクトリと呼ばれる 4つのサブディレクトリが存在する。
PLAYLIST ディ レク ト リ には、 拡張子 即 Is が付与されたフ ァ イ ル (00001. mpls, 00002. mpls, 00003mpls)がある。
CLIPINF ディ レ ク ト リ には、 拡張子 clpi が付与されたフ ァ イ ル (00001. clpi , 00002. clpi , 00003. clpi)がある。
STREAM デ ィ レク ト リ には、 拡張子 ra2ts が付与されたフ ァ イ ル (00001. m2ts, 00002. m2ts, 00003. m2ts)がある。
BDAR デ ィ レ ク ト リ には、 拡張子 jar が付与された フ ァ イ ル (00001. jar, 00002. jar, 00003jar)がある。 以上のディ レクトリ構造により、 互い に異なる種別の複数ファィルが、 BD-R0M上に配置されていることがわかる。
本 図 に お い て 拡 張 子 . m2ts が 付 与 さ れ た フ ァ イ ル
(00001. m2ts, 00002. ra2ts, 00003. m2ts )は、 AVCl ip を格納している。 AVCl ip には、 MainCLip、 SubCl ipといった種別がある。 MainCLipは、 ビデオストリーム、 オーディオストリーム、 プレゼンテーショングラフィクスストリーム、 インタラ クティブグラフィクスストリームというような複数エレメンタリストリームを多 重化することで得られたデジタルストリームである。
SubCl i は、 オーディオストリーム、 グラフィクスストリーム、 テキスト字幕 ストリーム等、 1 つのエレメンタリストリームのみにあたるデジタルストリーム である。
拡張子" clp ' が付与されたフ ァ イ ル (00001. clpi , 00002. clpi,
00003. clpi )は、 AVCl ipのそれぞれに 1対 1に対応する管理情報である。管 理情報故に、 Cl ip情報は、 AVCl i におけるストリームの符号化形式、 フレームレ ート、ビットレート、解像度等の情報や、頭出し位置を示す EPjnapをもっている。 拡張子" mpls " が付与さ れた フ ァ イ ル(00001. mpls, 00002. mpls,
00003. mpls )は、 プレイリスト情報を格納したファイルである。 プレイリス ト情報は、 AVCl ipを参照してプレイリストを定義する情報である。 プレイリスト は、 MainPath情報、 PLMark情報、 SubPath情報から構成される。
MainPath情報は、 複数の Playltem情報からなる。 Playltemとは、 1つ以上の AVCl ip時間軸上において、 In— Time, Out— Timeを指定することで定義される再生区 間である。 Playltem情報を複数配置させることで、複数再生区間からなるプレイ リスト(PL)が定義される。 図 3は、 AVCl ipと、 PLとの関係を示す図である。 第 1 段目は AVCl ipがもつ時間軸を示し、 第 2段目は、 PLがもつ時間軸を示す。 PL情 報は、 Playltem#l,#2, #3 という 3 つの Playltem情報を含んでおり、 これら Playltem#l, #2, #3の In— time, 0uし timeにより、 3つの再生区間が定義されること になる。 これらの再生区間を配列させると、 AVCl ip時間軸とは異なる時間軸が定 義されることになる。 これが第 2 段目に示す PL 時間軸である。 このように、 Playltem情報の定義により、 AVCl ipとは異なる時間軸の定義が可能になる。
AVCl i に対する指定は、 原則 1つであるが、 複数 AVCl ipに対する一括指定も あ り 得 る 。 こ の 一括指定 は 、 Playl tem 情報 に お け る 複数 の Cl ip一 Information— fi le_name に よ り な さ れ る 。 図 4 は 、 4 つ の C 1 i p_ I nf 0 rraat i on_f i 1 e_naraeによりなされた一括指定を示す図である。本図にお いて第 1段目〜第 4段目は、 4つの AVCl ip時間軸 (AVCl ip#l, #2, #3, #4の時間軸) を示し、 第 5 段目は、 PL 時間軸を示す。 Playltem 情報が有する、 4 つの Cl ip_Information— f i le— nameにて、 これら 4つの時間軸が指定されている。 こう することで、 Playltemが有する In— time, Out— timeにより、択一的に再生可能な 4 つの再生区間が定義されることになる。 これにより、 PL時間軸には、 切り換え可 能な複数ァンダル映像からなる区間(いわゆるマルチアンダル区間)が定義される ことになる。
PLmark情報は、 PL時間軸のうち、任意の区間を、 チャプターとして指定する情 報である。 図 5は、 PLmarkによるチャプター定義を示す図である。 本図において 第 1段目は、 AVCl ip時間軸を示し、第 2段目は PL時間軸を示す。図中の矢印 pkl, 2 は、 PLmark における Playltem 指定(ref__to_PlayItem— Id)と、 一時点の指定 (mark— time_stamp)とを示す。 これらの指定により PL時間軸には、 3つのチヤプ タ― (Chapter* 1, #2, #3)が定義されることになる。
SubPath情報は、複数の SubP 1 ay I tern情報からなる。 SubP lay Item情報は、 SubC 1 i p の時間軸上に In— Time, Out_Tiine を指定することで再生区間を定義する。 また SubPlayltem情報は、 SubCl ip時間軸上の再生区間を、 PL時間軸に同期させると いう同期指定が可能であり、 この同期指定により、 PL時間軸と、 SubPlayltem情 報時間軸とは同期して進行することになる。 図 6は、 SubPlayl tem時間軸上の再 生区間定義と、 同期指定を示す図である。 本図において第 1段目は、 PL時間軸を 示し、 第 2段目は SubPlayltem時間軸を示す。 図中の SubPlayltem. IN— timeは再 生区間の始点を、 SubPlayltem. Ouし timeは再生区間の終点をそれぞれ示す。 これ により SubCl ip時間軸上にも再生区間が定義されていることがわかる。 矢印 Snl において Sync— Playltem— Idは、 Play Itemに対する同期指定を示し、 矢印 Sn に おいて sync_start— PTS— of_PlayItemは、 PL時間軸における Playltem上の一時点 の指定を示す。
複数 AVCl ipの切り換えを可能とするマルチアングル区間や、 AVCl ip—SubCl ip を同期させ得る同期区間の定義を可能とするのが、 BD-R0Mにおけるプレイリスト Iff幸 βの特徴である。 以上の Cl ip情報及びプレイリスト情報は、" 静的シナリォ" に分類される。何故なら、 以上の Cl ip情報及びプレイリスト情報により、静的な 再生単位である PLが定義されるからである。以上で静的シナリオについての説明 を終わる。
続いて" 動的なシナリオ" について説明する。 動的シナリオとは、 AVCl ipの再 生制御を動的に規定するシナリオデータである。"動的に" というのは、再生装置 における状態変化やユーザからのキーィベントにより再生制御の中身がかわるこ とをいう。 BD-R0Mでは、 この再生制御の動作環境として 2つのモードを想定して ^ヽる。 1つ目は、 DVD再生装置の動作環境と良く似た動作環境であり、 コマンドべ ースの実行環境である。 2つ目は、 Java仮想マシンの動作環境である。 これら 2 つの動作環境のうち 1つ目は、 HDMVモードと呼ばれる。 2つ目は、 BD- Jモードと 乎ばれる。 これら 2つの動作環境があるため、 動的シナリオはこのどちらかの動 作環境を想定して記述される。 HDMVモードを想定した動的シナリオは Movieォブ ジェクトと呼ばれ、管理情報により定義される。一方 BD-Jモードを想定した動的 シナリオは BD- Jォプジェクトと呼ばれる。 先ず初めに Movieォブジェクトについて説明する。
<Movieオブジェクト >
Movie オブジェク トは、" タイ トル" の構成要素であり、 フ ァイル MovieObject. bdmvに格納される。 図 7 ( a ) は、 Movieォプジヱクトの内部構成 を示す図である。 Movie オブジェクトは、 属性情報、 複数のナビゲーシヨンコマ ンドからなるコマンド列からなる。
属性情報は、 PL時間軸において、 MenuCal 1がなされた際、 MemiCal l後の再生 再開を意図しているか否かを示す情報(resume一 intention— flag)、 PL 時間軸にお いて MenuCal lをマスクするかを示す情報(menu_cal l_mask)、タイトルサーチをマ スクするかを示す情報(ti tle— search_flag)からなる。 Movie オブジェクトは、" 時間軸" +" プログラム的制御" という 2つの性質を併せ持つことができるで、本 編再生を実行するもの等、 多様な種類のタイトルがこの Movieオブジェクトによ り記述されることになる。
ナビゲーシヨンコマンド列は、 条件分岐、 再生装置における状態レジスタの設 定、 状態レジス夕の設定値取得等を実現するコマンド列からなる。 Movie ォプジ ェクトにおいて記述可能なコマンドを以下に示す。
PlayPLコマンド
書式: PlayPL (第 1引数, 第 2引数)
第 1引数は、 プレイリストの番号で、 再生すべき PLを指定することができる。 第 2引数は、その PLに含まれる Playltemや、その PLにおける任意の時刻、 Chapter Markを用いて再生開始位置を指定することができる。
Playltem により PL 時間軸上の再生開始位置を指定した PlayPL 関数を PlayPLatPlayltemO ,
Chapter により PL 時間軸上の再生開始位置を指定した PlayPL 関数を PlayPLatChapterO ,
時刻情報により PL 時間軸上の再生開始位置を指定した PlayPL 関数を PlayPLatSpecified TimeOという。 避コマンド 書式: JMP 引数
JMPコマンドは、 現在の動的シナリオを途中で廃棄し(discard) , 引数たる分岐 先動的シナリオを実行するという分岐である。 JMP命令の形式には、 分岐先動的 シナリオを直接指定している直接参照のものと、 分岐先動的シナリオを間接参照 している間接参照のものがある。
Movieォブジェクトにおけるナビゲーシヨンコマンドの記述は、 DVDにおけるナ ピゲーシヨンコマンドの記述方式と良く似ているので、 DVD上のディスクコンテ ンッを、 BD-R0Mに移植するという作業を効率的に行うことができる。 Movieォブ ジヱクトについては、 以下の国際公開公報に記載された先行技術が存在する。 詳 糸田については、 本国際公開公報を参照されたい。 国際公開公報 TO 2004/074976 以上で Movieオブジェクトについての説明を終える。続いて BD-Jォブジヱクト について説明する。
<BD- Jォブジェクト〉
拡張子 BD-J が付与されたファイル(00001. BD-J, 00002. BD-J, 00003. BD-J)は、 BD-Jォブジヱクトを構成する。 BD-Jォブジヱクトは、 Javaプロダラミング環境 で記述された、 BD-Jモードの動的シナリオである。 図 7 ( b ) は、 BD- Jオブジェ クトの内部構成を示す図である。 本図に示すように BD- Jオブジェクトは、 Movie オブジェクト同様の属性情報、 アプリケーション管理テーブルからなる。 属性情 報を有している点で BD-Jオブジェクトは Movieオブジェク卜とほぼ同じである。 Movieオブジェクトとの違いは、 BD- Jォブジェクトはコマンドが直接記述されて いない点である。 つまり Movieオブジェクトにおいて制御手順は、 ナビゲーショ ンコマンドにより直接記述されていた。 これに対し BD- Jオブジェクトでは、その タイ トルを生存区間としている Java アプリケーションをアプリケーション管理 テーブル上に定めることにより、 間接的に制御手順を規定している。 このような 間接的な規定により、 複数タイ トルにおいて制御手順を共通化するという、 制御 手順の共通化を効率的に行うことができる。
図 7 ( c ) は、 Javaアプリケーションの内部構成を示す図である。 本図におい てアプリケーションは、 仮想マシンのヒープ領域(ワークメモリとも呼ばれる)に ロードされた 1つ以上の xletプログラムからなる。 このワークメモリでは、 1つ 以上のスレッドが動作しており、 ワークメモリにロードされた xletプログラム、 及ぴ、 スレッドから、 アプリケーションは構成されることになる。 以上がアプリ ケーションの構成である。
このアプリケーションの実体にあたるのが、 BDMVディ レクトリ配下の BDARデ ィ レクトリに格納された Javaアーカイブファイル(00001. jar, 00002. jar)である。 以降、 Javaアーカイブファイルについて説明する。
Javaァ一カイプフアイル(00001. jar, 00002. jar)は、 Javaアプリケーションを 構成するプログラム、 データを格納したアーカイブファイルである。 図 8 ( a ) は、 アーカイブファイルにより収められているプログラム、 データを示す図であ る。 本図におけるデータは、 枠内に示すディ レクトリ構造が配置された複数ファ ィルを、 javaアーカイバでまとめたものである。枠内に示すディレクトリ構造は、 root ディ レクトリ、 java ディレクトリ、 image ティレクトリとからなり、 root ディに common, pkgか、 javaディ レクトリに aaa. class, bbb. classが、 imageティ レクトリに、 menu, jpgが配置されている。 javaアーカイブファイルは、 これらを javaアーカイバでまとめることで得られる。かかるデータは、 BD-R0Mからキヤッ シュに読み出されるにあたって展開され、 キャッシュ上で、 ディレクトリに配置 された複数ファイルとして取り扱われる。 Javaアーカイブファイルのファイル名 における" xxxxx"という 5桁の数値は、アプリケーションの ID(appl icationID) ¾ 示す。本 Javaアーカイブファイルがキャッシュに読み出された際、 このファイル 名における数値を参照することにより、任意の Javaアプリケーションを構成する プログラム, データを取り出すことができる。
Javaアーカイブファイルにおいて 1つにまとめられるファイルには、 xletプロ グラムがある。
xlet プログラムは、 JMF (Java Media FrameWori)インターフェイスを利用する ことができる Javaプログラムである。 xletプログラムは、 キーイベントを受信 する EventListner等、 複数の関数からなり、 JMF等の方式に従って、 受信したキ 一イベントに基づく処理を行う。
図 8 ( b )は、 xletプログラムの一例を示す図である。 JMF A" BD:〃00001. mpls"; は、 PLを再生するプレーヤィンスタンスの生成を Java仮想マシンに命じるメソ ッ ドである。 A. playは、 JMFプレーヤインスタンスに再生を命じるメソッドであ る。かかる JMFプレーヤィンスタンス生成は、 JMFライブラリに基づきなされる。 xletプログラムの記述は、 BD- ROMの PLに限らず、 時間軸をもったコンテンツ全 般に適用可能な JMFの記述である。 このような記述が可能であるので、 Javaプロ グラミングに長けたソフトハウスに、 BD- Jオブジェクト作成を促すことができる。 図 8 ( b ) における JumpTItleO;は、 ファンクション APIのコールである。 こ のファンクション APIは、 他のタイ トルへの分岐(図中では title#l)を再生装置 に命じるものである。 ここでファンクション APIとは、 BD-R0M再生装置により供 給される APKAppl iation Interface)である。 JumpTi tleコマンドの他にも、 ファ ンクシヨン APIのコールにより、 BD- ROM再生装置特有の処理を xletプログラム に記述することができる。
BD- Jモードにおいて PL再生は、 JMFインターフヱイスにより規定される。 この JMFプレーヤインスタンスは、 PL時間軸を定めるものだから、タイ トル時間軸は、 この JMFプレーヤィンスタンスをもったタイ トルから定まる。 また
BD-Jモードにおいてタイ トルからタイ トルへの分岐は JumpTi tleAPIのコール により規定される。 JumpTi tleAPIコールは、 いわばタイトルの終了時点を定める ものなので、 こうした JMFプレーヤインスタンス、 JumpTitleAPI コールをもった アプリケーションが、 BD- Jモードにおいてタイ トルの開始及ぴ終了を律すること になる。 かかるアプリケーションを本編再生アプリケーションという。
以上が、 BD- J モードにおける動的シナリオについての説明である。 この BD - J モードにおける動的シナリオにより、 PL再生と、 プログラム的制御とを併せもつ たタイ トルが定義されることになる。 尚、 本実施形態においてアプリケーション を構成するプログラム、 データは、 Java アーカイブファイルにまとめられたが、 LZHファイル、 zipファイルであってもよい。
<タイ トル時間軸〉
タイ トルを構成する静的シナリオ、 動的シナリオについて説明を終えたところ で、 これらによりどのような時間軸が定義されるかについて説明する。 タイ トル により定義される時間軸は、"タイ トル時間軸"と呼ばれる。タイ トル時間軸とは、
Movi eォブジヱクト、又は、 BD- Jオブジェクトにより再生が命じられる PLにより 構成される。 ここで一例を挙げるのは、 図 9 ( a ) のようなタイ トルである。 こ のタイ トルは、 トップメニュ一" title#l→title#2→トップメニュー、 トップメ ニュ一" ti tle#3→ ップメニューという一連のタイ トルである。かかるタイトル のうち、 ti tletl は PlayList#l、 PlayList#2、 ti tle#2が PlayList#3、 ti tle#3 が PlayList#4 の再生を命じるものなら、 図 9 ( b ) のように、 PlayList#l、 PlayList#2の時間軸を足し合わせた時間軸を、 ti tle#lはもつことになる。 同様 に t i tle#2は、 PlayList#3時間軸からなる時間軸を、 ti tle#3は PlayList#4時間 軸からなる時間軸を持つことになる。これらタイトル時間軸における PL時間軸で はシームレス再生が保証されるが、 タイ トル時間軸間ではシームレス再生の保証 は 、要でなくなる。 Javaアプリケーションを動作させるにあたっては、 Javaアブ リケーションを、仮想マシンのワークメモリ上に存在させてもよい期間(サービス 期間)を、 こうしたタイ トル時間軸上に定義せねばならない。 BD-J モードにおい て Javaアプリケーションを動作させるにあたっては、互いに分岐し合う時間軸上 に、 Javaアプリケーションのサービス期間を定義せねばならない。 このサービス 期 Γ曰の定義が、 BD- ROM向けのプログラミングを行うにあたっての留意点になる。 最後に、 index, bdmvに格納された IndexTableについて説明する。 IndexTable は、 タイ トル番号と、 Movieォブジヱクト、 BD-Jオブジェクトとを対応づけるテ —ブルであり、 動的シナリオから動的シナリオへの分岐の際、 参照される間接参 照兩テーブルである。 IndexTableは、 複数ラベルのそれぞれに対する Indexから なる。 各 Indexには、 そのラベルに対応する動的シナリオの識別子が記述されて いる。 こうした IndexTableを参照することで、 Movieォブジヱクト、 BD- Jォプジ ェク トの違いを厳密に区別することなく、 分岐を実現することができる。 IndexTableについては、 以下の国際公開公報に詳細が記載されている。 詳細につ いては、 本公報を参照されたい。 国際公開公報 TO 2004/025651 A1公報 以上が BD- ROMに記録されているファイルについて説明である。 くアプリケーション管理テーブル >
JMFプレーヤィンスタンス、 JumpTi tleAPIコールをもったアプリケーションが、 タイトル時間軸を律することは上述した通りだが、 JMF プレーヤインスタンスや JumpTi tleAPIのコールをもたないその他のアプリケーションを、 タイ トル時間軸 上で動作させる場合、 時間軸の何処からアプリケーションによるサービスを開始 し、 時間軸の何処でアプリケーションによるサービスを終えるかという" サ一ビ スの開始点'終了点" を明確に規定することが重要になる。本実施形態では、 アブ リケ一シヨンによるサービスが開始してから、終了するまでを、"アプリケーショ ンの生存" として定義する。 アプリケーションの生存を定義するための情報は、 BD- Jォブジェク卜におけるアプリケーション管理テ一ブルに存在する。以降アブ リケーシヨン管理テーブルについてより詳しく説明する。
アプリケーション管理テーブル(AMT)は、各タイトルが有しているタイトル時間 軸において、 仮想マシンのワークメモリ上で生存し得るアプリケーシヨンを示す 情報である。 ワークメモリにおける生存とは、 そのアプリケーションを構成する xletプログラムが、 ワークメモリに読み出され、 仮想マシンによる実行が可能に なっている状態をいう。 図 7 ( b ) における破線矢印 atlは、 アプリケーション 管理テーブルの内部構成をクローズァップして示す。この内部構成に示すように、 アプリケーション管理テーブルは、『生存区間』 と、 そのタイトルを生存区間とし ているアプリケ一ションを示す『appl icationID』と、そのアプリケーションの『起 動属性』 とからなる。
近い将来、 実施されるであろうディスクコンテンツを題材に選んで、 アプリケ ーション管理テーブルにおける生存区間記述について、具体例を交えて説明する。 ここで題材にするディスクコンテンツは、 映像本編を構成する本編タイ トル (ti tle#l)、オンラインショッビングを構成するオンラインショッビングタイトル (ti tle#2)、ゲームアプリケーションを構成するゲームタイトル(ti tle#3)という、 性格が異なる 3つのタイ トルを含むものである。 図 1 0は、 本編タイトル、 オン ラインショッビングタイ トル、 ゲームタイ トルという 3つのタイトルを含むディ スクコンテンツを示す図である。本図における右側には IndexTabl eを記述してお り、 左側には 3つのタイ トルを記述している。
右側における破線枠は、 各アプリケーションがどのタイトルに属しているかと いう帰属関係を示す。 3 つのタイ トルのうち title#l は、 application#l、 app 1 i cat i on#2, app 1 i cat i on#3という 3つのアプリケーションからなる。 title#2 は、 application#3, application^という 2つのアプリケーション、 title#3は、 application#5を含む。 図 1 1は、 図 10に示した 3つのタイトルの再生画像の 一例を示す図である。 これら 3つのタイトルの再生画像において、 図 1 1 (a) (b) の本編タイ トル、 オンラインショッピングタイトルには、 ショッピング力 一トを模した映像(カート crl)lが存在するが、 図 1 1 (c)のゲームタイ トルに は、 カート映像が存在しない。 カート crlは、 本編タイ トル、 オンラインショッ ビングタイ トルにおいて共通して表示しておく必要があるので、 カートプロダラ ムたる application#3を、 title#l、 title#2の双方で起動するようにしている。 このように複数タイ トルで起動するようなアプリケーションには、 上述したカー トアプリの他に、 映画作品に登場するマスコットを模したエージヱントアプリ、 メニューコール操作に応じてメニュー表示を行うメニューアプリがある。
図 10の破線に示される帰属関係から各アプリケーションの生存区間をグラフ 化すると、 図 12 (a) のようになる。 本図において横軸は、 タイトル時間軸で あ り、 縦軸方向に各アプリケーションの生存区間を配置している。 ここで ap lication#K application#2は、 title#lのみに帰属しているので、 これらの 生存区間は、 Utle#l内に留まっている。 application#4は、 title#2のみに帰属 しているので、 これらの生存区間は、 title#2内に留まっている。 application#5 は、 title#3のみに帰属しているので、 これらの生存区間は、 title#3内に留まつ ている。 application#3は、 title#l及ぴ title#2に帰属しているので、 これらの 生存区間は、 title#l— title#2にわたる。 この生存区間に基づき、 アプリケ一シ ヨン管理テーブルを記述すると、 title#l,#2,#2 のアプリケーション管理テ一ブ ルは図 12 (b) のようになる。 このようにアプリケーション管理テーブルが記 述されれば、 title#l の再生開始時において application#l、 ap l ication#2. application#3 をワークメモリにロードしておく。 そして title#2 の開始時に applicati on#l、 ap licati on#2をワークメモリから削除して app 1 i cat i on#3のみ にするという制御を行う。 これと同様に title#2 の再生開始時において application#4 をワークメモリ にロー ドしておき、 title#3 の開始時に app licati on#3, #4をワークメモリから削除するという制御を行いうる。 更に、 ti tle#3の再生中において appl ication#5をワークメモリにロードして おき、 title#3の再生終了時に appl ication^をワークメモリから削除するとい う制御を行いうる。
タイ トル間分岐があった場合でも、 分岐元一分岐先において生存しているアブ リケーシヨンはワークメモリ上に格納しておき、 分岐元にはなく、 分岐先にのみ 存在するアプリケーションをワークメモリに読み込めば良いから、 アプリケーシ ヨンをワークメモリに読み込む回数は必要最低数になる。 このように、 読込回数 を少なくすることにより、 タイ トルの境界を意識させないアプリケーション、 つ まりアンバウンダリなアプリケーションを実現することができる。
続いてアプリケーションの起動属性について説明する。 起動属性には、 自動的 な起動を示す 「AutoRun」、 自動起動の対象ではないが、 仮想マシンのワークメモ リに置いて良いことを示す「Persistent」、仮想マシンのワークメモリにはおかれ るが、 CPUパワーの割り当ては不可となる 「Suspend」 がある。
「AutoRun」 は、 対応するタイ トルの分岐と同時に、 そのアプリケーションをヮ —クメモリに読み込み、 且つ実行する旨を示す生存区間である。 あるタイトルか ら、別のタイトルへの分岐があると、アプリケーション管理を行う管理主体(アブ リケーシヨンマネージャ)は、その分岐先タイ トルにおいて生存しており、かつ起 動属性が AutoRunに設定されたアプリケーションを仮想マシンのワークメモリに 読み込み実行する。 これによりそのアプリケーションは、 タイ トル分岐と共に自 動的に起動されることになる。 起動属性を AutoRunに設定しておくアプリケーシ ョンとしては、 JMFプレーヤィンスタンス及び JurapTitleAPIコールをもつような アプリケーションが挙げられる。 何故なら、 このようなアプリケーションは、 タ ィ トル時間軸を律する側のアプリケーションであり、 このようなアプリケーショ ンを自動的に起動にしないと、 タイ トル時間軸の概念が曖昧になってしまうから である。
起動属性 「Persistent」 は、 継続属性であり、 分岐元 ti tleにおけるアプリケ ーシヨンの状態を継続することを示す。 またワークメモリにロードしてよいこと を示す属性である。 起動属性が 「Persistent」 である場合、 この起動属性が付与 されたアプリケーシヨンは、 他のアプリケーシヨンからの呼び出しが許可される ことになる。 アプリケーション管理を行う管理主体(アプリケーションマネージ ャ)は、 起動中のアプリケーションから呼出があると、 そのアプリケーションの applicationlD が、 アプリケーション管理テーブルに記述されていて、 起動属性 が rPersistentJ であるか否かを判定する。 rPersistentJ であれば、 そのアプリ ケーシヨンをワークメモリにロードする。 一方、 その呼出先アプリケーションの applicationlD がアプリケーション管理テーブルに記逑されていない場合、 その アプリケーシヨンはワークメモリにロードされない。 アプリケーションによる呼 出は、この「Pers i stentjが付与されたアプリケーションに限られることになる。
rPersistentJ は、 起動属性を明示的に指定しない場合に付与されるデフオル トの起動属性であるから、 あるアプリケーションの起動属性が無指定 「一一」 で. ある場合、そのアプリケーションの起動属性の起動属性はこの Persistentである ことを意味する。
これらの起動属性が、 図 11のアプリケーションにおいてどのように記述され ているかについて説明する。 図 13は、 図 12の 3つのアプリケーションに対す る起動属性の設定例である。 図 12に示した 3つのアプリケーションのうち application#2 は、 図 1 3 (b) に示すように他のアプリケーションからのァプ リケ一シヨン呼出があって初めて起動するアプリケーションであるとする。 残り ( application#U application#3は、 title#lの開始と同時に自動的に起動され るアプリケーションであるとする。 この場合、 図 1 3 (a) に示すように、 ァプ リケーション管理テーブルにおける各アプリケーションの起動属性を、 application#l、 appl ication#3は 「AutoRun」、 appl ication#2は、 「Persistent」 と設定しておく。 この場合、 application#l、 appl ication#3は、 title#lへの分 岐時において自動的にワークメモリにロードされ、 実行されることになる。 一方 appl i cat ion#2は、起動属性が Persistentなので、「appl ication#3は仮想マシン のワークメモリ上にロードしてよいアプリケーション」 であるとの消極的な意味 に解される。故に、 application#2は、 appl ication#lからの呼出があって初めて 仮想マシンのワークメモリにロードされ、 実行されることになる。 以上の生存区 間 ·起動属性により、仮想マシン上で動作し得るアプリケーションの数を 4個以下 に制限し、総スレツ ド数を 64個以下に制限することが可能なので、アプリケ一シ ョンの安定動作を保証することができる。
続いて Suspendについて説明する。 Suspendとは、 リソースは割り付けられているが、 CPUパワーは割り当てられな い状態にアプリケーションが置かれることをいう。 かかる Suspendは、 例えばゲ ームタイ トルの実行中に、 サイドパスを経由するという処理の実現に有意義であ る。 図 1 4 ( a ) (b )は Suspendが有意義となる事例を示す図である。図 1 4 (b ) に示すように、 3 つのタイ トル(title#l、 title#2、 title#3)があり、 そのうち ti t le#U ti tle#3はゲームアプリを実行するが、途中の title#2はサイ ドバスで あり、 映像再生を実現するものである。 サイ ドバスでは、 映像再生を実現する必 要力 sあるため、 ゲームの実行を中断させることになる。 ゲームアプリでは途中の スコア等が計数されているため、 リソースの格納値は title#2の前後で維持した い。 この場合、 ti tle#2の開始時点でゲームアプリを Suspendし、 title#3の開始 時,^;で appl ication#2をレジュームするというようにアプリケーション管理テー ブノレを記述する。 こうすることで title#2において appl ication^は、 リソース は割り付けられているので、 リソースの格納値は維持される。 しかし、 CPUパヮ 一は割り当てられな ヽ状態なので仮想マシンにより app 1 i cat i on#2は実行される ことはない。 これにより、 ゲームタイ トルの実行中に、 サイ ドパスを実行すると い 処理が実現される。
図 1 5は、 起動属性がとり得る三態様 (Persi stent、 AutoRun, Suspend)と、 直 前タイ トルにおけるアプリケーション状態の三態様(非起動、 起動中、 Suspend) とがとりうる組合せを示す図である。 直前状態が" 非起動" である場合、 起動属 性力 AutoRun" であるなら、 分岐先タイトルにおいてそのアプリケーションは、 起動されることになる。
直前状態が" 非起動" であり、 起動属性が" Persistent"/ Suspend" であるな ら、 分岐先タイトルにおいてそのアプリケーションは、 何ももせず、 状態を継続 することになる。
直前状態が" 起動中" である場合、 起動属性が" Persistent" ," AutoRun" であ るなら、 分岐先タイ トルにおいてそのアプリケーションは、 何もせず、 状態を継 続することになる。
起動属性が" Suspend" であるなら、 アプリケーションの状態は Suspendされる ことになる。 直前状態が" Suspend" である場合、 分岐先タイ トルの起動属性が" Suspend" なら Suspendを維持することになる。" Persistent"," AutoRun" である なら、 分岐先タイ トルにおいてそのアプリケーションは、 レジュ一ムすることに なる。 アプリケ一ション管理テーブルにおいて生存区間及び起動属性を定義する ことにより、 タイ トル時間軸の進行に沿って、 Javaアプリケーションを動作させ るという同期制御が可能になり、 映像再生と、 プログラム実行とを伴った、 様々 なアプリケーションを世に送り出すことができる。 以上が記録媒体についての説 明である。 続いて本発明に係る再生装置について説明する。
図 1 6は、 本発明に係る再生装置の内部構成を示す図である。 本発明に係る再 生装置は、 本図に示す内部に基づき、 工業的に生産される。 本発明に係る再生装 置は、 主としてシステム LSIと、 ドライブ装置という 2つのパーツからなり、 こ れらのパーツを装置のキャビネット及び基板に実装することで工業的に生産する ことができる。 システム LSIは、 再生装置の機能を果たす様々な処理部を集積し た集積回路である。 こうして生産される再生装置は、 BD-R0Mドライブ 1、 リード バッファ 2、 デマルチプレクサ 3、 ビデオデコーダ 4、 ビデオプレーン 5、 P- Graphicsデコーダ 9、 Presentation Graphicsプレーン 1 0、 合成部 1 1、 フ オントゼネレータ 1 2、 I- Graphics デコーダ 1 3、 スィッチ 1 4、 Interactive Graphics プレーン 1 5、 合成部 1 6、 HDD 1 7、 リードバッファ 1 8、 デマルチ プレクサ 1 9、 オーディオデコーダ 2 0、 シナリオメモリ 2 1、 CPU 2 2、 キ一ィ ベント処理部 2 3、 命令 R0M2 4、 スィツチ 2 5、 CLUT部 2 6、 CLUT部 2 7、 PSR セット 2 8、 口一カルメモリ 2 9から構成される。
BD-R0M ドライブ 1は、 BD-R0Mのローデイング/イジ: クトを行い、 BD-R0Mに 対するアクセスを実行する。
リードバッファ 2は、 FIFOメモリであり、 BD - ROMから読み出された TSバケツ トが先入れ先出し式に格納される。
デマルチプレクサ(De-MUX) 3は、リ一ドパッファ 2から TSパケットを取り出し て、 この TSパケットを構成する TSパケットを PESパケットに変換する。 そして 変換により得られた PESバケツトのうち、 CPU 2 2から設定された PIDをもつもの をビデオデコーダ 4、 オーディオデコーダ 2 0、 P- Graphics デコーダ 9、 I -Graphicsデコーダ 1 3のどれかに出力する。
ビデオデコーダ 4は、 デマルチプレクサ 3から出力された複数 PESバケツトを 復号して非圧縮形式のピクチャを得てビデオプレーン 5に書き込む。 ビデオプレーン 5は、 非圧縮形式のピクチャを格納しておくためのプレーンで ある。 プレーンとは、 再生装置において一画面分の画素データを格納しておくた めのメモリ領域である。 再生装置に複数のプレーンを設けておき、 これらプレー ンの格納内容を画素毎に加算して、 映像出力を行えば、 複数の映像内容を合成さ せた上で映像出力を行うことができる。 ビデオプレーン 5における解像度は 1920 1080 であり、 このビデオプレーン 5に格納されたピクチャデータは、 16 ビッ トの YUV値で表現された画素データにより構成される。
P - Graphics デコーダ 9は、 BD-R0M、 HDD 1 7から読み出されたプレゼンテーシ ヨ ン グラフ ィ クスス ト リームをデコー ドして、 非圧縮グラフ イ クスを Presentation Graphics プレーン 1 0に書き込む。 グラフィクスストリームのデ コー ドにより、 字幕が画面上に現れることになる。
Presentation Graphics プレーン 1 0は、 一画面分の領域をもったメモリであ り、 一画面分の非圧縮グラフィクスを格納することができる。 本プレーンにおけ る解像度は 1920 X 1080であり、 Presentation Graphicsプレーン 1 0中の非圧縮 グラ フィ クスの各画素は 8 ビッ トのインデックスカラーで表現される。 GLUT (Color Lookup Table)を用いてかかるインデックスカラ一を変換することに より、 Presentation Graphicsプレーン 1 0に格納された非圧縮グラフィクスは、 表示に供される。
合成部 1 1は、 非圧縮状態のピクチャデータ(i)を、 Presentation Graphicsプ レーン 1 0の格納内容と合成する。
フ ォントゼネレータ 1 2は、文字フォントを用いて textSTストリームに含まれ るテキストコードをビットマップに展開する。
I - Graphicsデコーダ 1 3は、 BD- ROM又は HDD 1 7から読み出されたインタラク ティ プグラフィ クスス ト リームをデコードして、 非圧縮グラフイ クスを Interactive Graphicsプレーン 1 5に書き込む。
スィッチ 1 4は、 フォントゼネレータ 1 2が生成したフォント列、 P-Graphics デコ ーダ 9のデコードにより得られたグラフィ クスの何れかを選択的に Presentation Graphicsプレーン 1 0に書き込むスィッチである。
Interactive Graphicsプレーン 1 5は、 I -Graphicsデコーダ 1 3によるデコ一 ドで得られた非圧縮グラフィタスが書き込まれる。 合成部 1 6は、 Interactive Graphicsプレーン 1 0の格納内容と、 合成部 8の 出力である合成画像(非圧縮状態のピクチャデータと、 Presentation Graphicsプ レーン 7の格納内容とを合成したもの)とを合成する。
HDD 1 7は、 ネットワーク等を介してダウンロードされた SubCl ip、 Cl ip情報、 プ レイリスト情報が格納される内蔵媒体である。 この HDD 1 7中のプレイリスト情 報は BD-R0M及び HDD 1 7のどちらに存在する CI i 情報であつても、 指定できる 点で異なる。 この指定にあたって、 HDD 1 7上のプレイリスト情報は、 BD-R0M上 のファイルをフルパスで指定する必要はない。 本 HDD 1 7は、 BD- ROMと一体にな つて、 仮想的な 1つのドライブ(バーチャルパッケージと呼ばれる)として、 再生 装置により認識されるからである。 故に、 Playltem 情報における Cl ip_ I nformat i on— f i 1 e— name及び SubP lay I tern情幸艮の CI i p_ I nformat i on— f i 1 e— nameは、 Cl ip情報の格納したファィルのフアイルポディにあたる 5桁の数値を指定するこ とにより、 HDD 1 7、 BD- ROM上の AVCl ipを指定することができる。 この HDDの記 録内容を読み出し、 BD-R0Mの記録内容と動的に組み合わせることにより、様々な 再生のバリエーションを産み出すことができる。
リードバッファ 1 8は、 FIFOメモリであり、 HDD 1 7から読み出された TSパケ ッ トが先入れ先出し式に格納される。
デマルチプレクサ (De-MUX) 1 9は、リ一ドバッファ 1 8から TSパケットを取り 出して、 TSパケッ トを PESパケットに変換する。 そして変換により得られた PES パケットのうち、 所望の streamPIDをもつものをフォントゼネレータ 1 2に出力 する。
オーディォデコーダ 2 0は、 デマルチプレクサ 1 9から出力された PESバケツ トを復号して、 非圧縮形式のオーディオデータを出力する。
シナリオメモリ 2 1は、 力レントの PL情報や力レントの Cl ip情報を格納して おくためのメモリである。 カレント PL情報とは、 BD-R0Mに記録されている複数 PL情報のうち、現在処理対象になっているものをいう。力レント Cl ip情報とは、 BD-R0Mに記録されている複数 Cl ip情報のうち、 現在処理対象になっているもの をいう。
CPU 2 2は、 命令 R0M2 4に格納されているソフトウヱァを実行して、再生装置 全体の制御を実行する。 キーイベント処理部 2 3は、 リモコンや再生装置のフロントパネルに対するキ 一操作に応じて、 その操作を行うキーイベントを出力する。
命令 R0M 2 4は、 再生装置の制御を規定するソフトウエアを記憶している。 スィッチ 2 5は、 BD- ROM及び HDD 1 7から読み出された各種デー夕を、 リ一ド ノ ッファ 2、 リードバッファ 1 8、 シナリオメモリ 2 1、 ローカルメモリ 2 9の どれかに選択的に投入するスィッチである。
CLUT部 2 6は、 ビデオプレーン 5に格納された非圧縮グラフィクスにおけるィ ンデックスカラーを、 Y,Cr, Cb値に変換する。
(1 部2 7は、 Interactive Graphicsプレーン 1 5に格納された非圧縮グラフ イクスにおけるインデックスカラーを、 Y,Cr,Cb値に変換する。
?811 セッ ト 2 8は、 再生装置に内蔵されるレジスタであり、 64個の Player Status Register (PSR)と、 4096個の General Purpose Register (GPR)とからなる。 Player Status Registerの設定値 (PSR)のうち、 PSR4〜PSR8は、 現在の再生時点 を表現するのに用いられる。
PSR4は、 1〜100の値に設定されることで、現在の再生時点が属するタイ トルを 示し、 0 に設定されることで、 現在の再生時点がトップメニューであることを示 す。
PSR5は、 〜 999の値に設定されることで、現在の再生時点が属するチャプター 番号を示し、 OxFFFFに設定されることで、 再生装置においてチャプター番号が無 効であることを示す。
PSR6は、 0〜999の値に設定されることで、 現在の再生時点が属する PL (カレン ト PL)の番号を示す。
PSR7 は、 0〜255 の値に設定されることで、 現在の再生時点が属する Play I tem (力レント Play Item)の番号を示す。
PSR8は、 0〜OxFFFFFFFFの値に設定されることで、 45KHzの時間精度を用いて 現在の再生時点(カレント PTM (Presentation TiMe))を示す。 以上の PSR4〜PSR8 により、 現在の再生時点が特定されることになる。
口一カルメモリ 2 9は、 BD-R0Mからの読み出しは低速である故、 BD- ROMの記録 内容を一時的に格納しておくためのキャッシュメモリである。 かかる口一カルメ モリ 2 9が存在することにより、 BD-J モードにおけるアプリケーション実行は、 効率 ί匕されることになる。 図 1 7 ( a ) は、 BD- ROMに存在している Javaァ一力 イブファイルを、口一カルメモリ 2 9上でどのように識別するかを示す図である。 図 1 7 ( a ) の表は、 左欄に BD- ROM上のファイル名を、 右欄にローカルメモリ 2 9上のファイル名をそれぞれ示している。 これら右欄、 左欄を比較すれば、 ロー カルメモリ 2 9におけるファイルは、 ディ レクトリ指定" BDJA"を省いたファイル パスで指定されていることがわかる。
図 1 7 ( b ) は、 図 1 7 ( a ) の応用を示す図である。 本応用例は、 ヘッダ + デ一タという形式で、 ファイルに格納されているデータを格納するというもので ある。 何をヘッダに用いるかというと、 ローカルメモリ 2 9におけるファイルパ スを用いる。 図 1 7 ( b ) に示したように、 口一カルメモリ 2 9では BD- ROMにお けるファイルパスの一部を省略したものをファイルパスに用いるから、 当該ファ ィルノ、。スをへッダに格納することで、各データにおける BD-R0M上の所在を明らか にすることができる。
以上が、 本実施形態に係る再生装置のハードウェア構成である。 続いて本実施 形態に係る再生装置のソフトウエア構成について説明する。
図 1 8は、 R0M 2 4に格納されたソフトウエアと、ハードウヱァとからなる部分 を、 レイァ構成に置き換えて描いた図である。 本図に示すように、 再生装置のレ ィァ構成は、 以下の&), ),0) , (1-1),(1-2) , 6), からなる。 つまり、
a)物理的なハードウェア階層の上に、 .
b)AVCl i による再生を制御する Presentation Engine 3 1、
c)プレイリスト情報及び Cl ip情報に基づく再生制御を行う Playback Control Engine 3 2、
という 2つの階層があり、
最上位の階層に
e)タイ トル間の分岐を実行するモジュールマネージャ 3 4がある。
これら HDMVモジュール 3 3、 モジュールマネージャ 3 4の間に、
d-l) Movieォブジェクトの解読'実行主体である HDMVモジュール 3 3と、 d - 2) BD-Jォブジヱクトの解読'実行を行う BD- Jモジュール 3 5とが同じ階層に 置かれている。
BD— Jモジュール 3 5は、 いわゆる Javaプラットフォームであり、 ワークメモ .
リ 3 7を含む Java仮想マシン 3 8を中核にした構成になっていて、アプリケ一シ ョンマネージャ 3 6、 Event Listner Manager 3 9、 Default Operation Manager 4 0から構成される。 先ず初めに、 Presentation Engine 3 1〜モジュールマネ一 ジャ 3 4について説明する。 図 1 9は、 Presentation Engine 3 1〜モジュールマ ネージャ 3 4による処理を模式ィ匕した図である。
Presentation Engine 3 1は、 AV再生機能を実行する。 再生装置の AV再生機能 とは、 DVDプレーヤ、 CDプレーヤから踏襲した伝統的な機能群であり、 再生開始 (Play)、再生停止(Stop)、一時停止 (Pause On)、一時停止の解除 (Pause Off) . Sti l l 機能の解除(sti l l off) , 速度指定付きの早送り(Forward PI ay (speed)) , 速度指 定付きの巻戻し(Backward P lay (speed) )、 音声切り換え(Audio Change)、 副映像 切り換え (Subtitle Change) , アングル切り換え (Angle Change)といった機能であ る。 AV 再生機能を実現するべく、 Presentation Engine 3 1は、 リードバッファ 2上に読み出された AVCl ipのうち、所望に時刻にあたる部分のデコードを行うよ う、 ビデオデコーダ 4、 P-Graphicsデコーダ 9、 I-GrapMcsデコーダ 1 3、 ォー ディォデコーダ 2 0を制御する。 所望の時刻として PSR8(カレント PTM)に示され る箇所のデコードを行わせることにより、 AVCl ipにおいて、 任意の時点を再生を 可能することができる。 図中の ©)1は、 Presentation Engine 3 1によるデコード 開始を模式化して示す。
再生制御エンジン(Playback Control Engine (PCE)) 3 2は、 プレイリストの再 生機能(i)、再生装置における状態取得/設定機能(i i)といった諸機能を実行する。 PLの再生機能とは、 Presentation Engine 3 1が行う AV再生機能のうち、 再生開 女台や再生停止を、 カレント PL情報及び Cl ip情報に従って行わせることをいう。 これら機能(i) ~ (i i)は、 HDMVモジュール 3 3 ~BD- Jモジュール 3 5からのファ ンクシヨンコールに応じて実行する。 つまり再生制御エンジン 3 2は、 ユーザ操 作による指示、 レイヤモデルにおける上位層からの指示に応じて、 自身の機能を 実行する。 図 1 9において、 ©2, <0>3が付された矢印は、 Cl ip情報及びプレイリ スト情報に対する Playback Control Engine 3 2の参照を模式的に示す。
HDMVモジュール 3 3は、 MOVIEモードの実行主体であり、 モジュールマネージ ャ 3 4から分岐先を構成する Movieォブジヱク卜が通知されれば、 分岐先タイト ノレを構成する Movieォブジェクトを口一カルメモリ 2 9に読み出して、この Movie ォプジヱクトに記述されたナビゲーシヨンコマンドを解読し、 解読結果に基づき
Playback Control Engine 3 2に対するファンクションコールを実行する。 図 1 9 において V2, V3, V4 が付された矢印は、 モジュールマネージャ 3 4からの分岐 先 Mov ieォブジヱク卜の通知(2)、 Movieォブジェクトに記述されたナビゲーショ ンコマンドの解読(3)、 Playback Control Engine 3 2に対するファンクションコ ール (4)を、 模式的に示している。
モジュールマネージャ 3 4は、 BD-R0Mから読み出された Index Tableを保持し て、 分岐制御を行う。 この分岐制御は、 JumpTitleコマンドを HDMVモジュール 3 3が実行した場合、又は、 タイ トルジヤンプ APIが BD-Jモジュール 3 5からコー ルされた場合、 そのジャンプ先となるタイトル番号を受け取って、 そのタイトル を構成する Movieオブジェクト又は BD-Jオブジェクトを HDMVモジュール 3 3又 は BD - Jモジュール 3 5に通知するというものである。図中の V0,V1,V2が付さ れた矢印は、 JumpTitle コマンドの実行(0)、 モジュールマネージャ 3 4による IndexTable参照(1)、分岐先 Movieオブジェクト(2)の通知を模式的に示している。 以上が Presentation Engine 3 1〜モジュールマネージャ 3 4についての説明 である。 続いてアプリケーションマネージャ 3 6について、 図 2 0を参照しなが ら説 B月する。 図 2 0は、 アプリケーションマネージャ 3 6を示す図である。
アプリケーションマネージャ 3 6は、 アプリケーション管理テーブルを参照し たアプリケーションの起動制御、タイ トルの正常終了時における制御を実行する。 起 i ?制御とは、モジュールマネージャ 3 4から分岐先となる BD- Jオブジェクト が通知される度に、 その BD-Jォブジヱクトを読み出し、 その BD- Jオブジェクト 内のアプリケーション管理テーブルを参照してローカルメモリ 2 9アクセスを行 う。 そして現在の再生時点を生存区間とするアプリケーションを構成する xlet プログラムを、 ワークメモリに読み出すという制御である。 図 2 0における 1, 2, 3は、 起動制御における分岐先 BD- Jォブジヱクトの通知(1)、 アプリケー ション管理テーブル参照(2)、 Java仮想マシン 3 8に対する起動指示を模式化し て示す。 この起動指示により Java仮想マシン 3 8は、 ローカルメモリ 2 9からヮ 一ク モリ 3 7に xletプログラムを読み出す(ir5)。
タイ トルの終了制御には、 正常終了時の制御と、 異常終了時の制御とがある。 正常終了時の制御には、 タイ トルを構成するアプリケーションによりジャンプ夕 ィ トル APIがコールされて、分岐先タイ トルへの切り換えを分岐制御の主体(モジ ユールマネージャ 3 4 )に要求するという制御がある。 この終了制御における、モ ジュールマネージャ 3 4通知を模式化して示したのが矢印 6 である。 ここで夕 ィ トルを正常終了するにあたって、 タイ トルを構成するアプリケーションは、 起 動されたままであってもよい。何故なら、アプリケーションを終了するか否かは、 分岐先タイトルにおいて判断するからである。 本実施形態では深く触れないが、 アプリケーションマネージャ 3 6は、 BD- ROMからローカルメモリ 2 9に Javaァ 一力イブファイルを読み出す(8)との処理を行う。このローカルメモリ 2 9への読 み出しを模式化したのが 8である。
以上がアプリケーションマネージャ 3 6についての説明である。 続いてワーク メモリ 3 7〜Def au It Operation Manager4 0について、 図 2 1を参照しながら説 明する。
ワークメモリ 3 7は、アプリケーションを構成する xletプログラムが配置され るヒープ領域である。ワークメモリ 3 7は、本来 Java仮想マシン 3 8内に存在す るが、 図 2 1では、作図の便宜上、 ワークメモリ 3 7を Java仮想マシン 3 8上位 層に記述している。 ワークメモリ 3 7上の xlet プログラムには、 EventListner や、 JMFプレーヤインスタンスが含まれる。
Java仮想マシン 3 8は、 アプリケーションを構成する xletプログラムをヮー クメモリ 3 7にロードして、 xletプログラムを解読し、 解読結果に従った処理を 実行する。 上述したように xletプログラムは、 JMFプレーヤインスタンス生成を 命じるメソッド、 この JMFプレーヤィンスタンスの実行を命じるメソッドを含む ので、 これらのメソッドで命じられた処理内容を実現するよう、 下位層に対する 讳 ϋ御を行う。 JMFプレーヤインスタンス生成が命じられば、 Java仮想マシン 3 8 は、 BD- ROM上の YYYY. MPLSフアイルに関連付けられた JMFプレーヤインスタンス を得る。 また、 JMFプレーヤインスタンスにおける JMFメソッドの実行が命じら れれば、 この JMFメソッドを BDミ ドルウェアに発行して、 BD再生装置が対応し ているファンクションコールに置き換させる。 そして置換後のファンクションコ —ルを Playback Control Engine 3 2に発行する。
Event Listner Manager 3 9は、 ユーザ操作により生じたイベント(キーィベン ト)を解析し、イベントの振り分けを行う。図中の実線矢印 1,ぐ2は、この Event Listner Manager 3 9による振り分けを模式的に示す。 START、 STOP, SPEED等、 xletプログラム内の Event L i stnerに登録されたキーイベントなら、 BD- Jォブジ ェク トにより間接参照されている xlet プログラムにかかるイベントを振り分け る。 START、 STOP, SPEEDは、 JMFに対応したイベントであり、 xletプログラムの Event Listner には、 これらのキーイベントが登録されているので、 本キーィべ ントにより xletプログラムの起動が可能になる。 キーイベントが Event Listner 非登録のキーィベントである場合、本キーイベントを Default Operation Manager 4 0に振り分ける。 音声切り換え、 アングル切り換え等、 BD- ROM再生装置におい て生じるキーイベントには、 Event Listner に登録されていない多様なものがあ り、 これらのキーイベントが生じたとしても、 漏れの無い処理を実行するためで ある。
Defaul t Operation Manager 4 0は、 xletプログラム内の Event Listnerに登 録されてないキーイベントが Event Listner Manager 3 9から振り分けられると、 その Event L i stner非登録イベントに対応するファンクションコールを PI ay back Control Engine 3 2に対して実行する。 この Defaul t Operation Manager4 0に よるファンクションコールを模式的に示したのが、 図中の矢印 03 である。 尚、 図 2 1において Event Listner非登録ィベントは Event Listner Manager 3 9、 Defaul t Operation Manager 4 0により振り分けられたが、 Playback Control Engine 3 2がダイレクトに Event Listner非登録イベントを受け取り、 再生制御 を行ってもよい(図中のぐ4)。
(フローチヤ一卜の説明)
以上のアプリケーションマネージャ 3 6についての説明は、 その概要に触れた に過ぎない。 アプリケーションマネージャ 3 6の処理を更に詳しく示したのが図 2 2、 図 2 3のフローチャートである。 以降、 これらのフローチャートを参照し てアプリケーシヨンマネージャ 3 6の処理手順についてより詳しく説明する。 図 2 2は、 アプリケーションマネージャ 3 6による分岐時の制御手順を示す図 である。 本フローチャートは、 ステップ S 2〜ステップ S 5がなす条件を満たす アプリケーション(アプリケーション Xという)を、 起動又は終了させるという処 理である。 ステップ S 2は、 分岐元タイトルで非起動だが、 分岐先タイ トルで生存してい て、 分岐先タイ トルにおける起動属性が AutoRun属性のアプリケーション Xが存 在するか否かの判定であり、 もしあれば、 口一カルメモリ 2 9に対するキヤッシ ュセンスを行う。 キャッシュセンスの結果、 アプリケーション Xがローカルメモ リ 2 9上に有れば(ステップ S 7で Yes)、 口一カルメモリ 2 9からワークメモリ 3 7にアプリケーシヨン Xを読み込む(ステップ S 8 )。 口一カルメモリ 2 9に無 ければ、 BD- ROMからローカルメモリ 2 9にアプリケーション Xを読み込んだ上で、 ローカルメモリ 2 9からワークメモリ 3 7にアプリケーション X を読み込む(ス テツプ S 9 )。
ステップ S 3は、 分岐元タィトルで起動中で、 分岐先タイ トルで非生存のアブ リケーシヨン Xが存在するかどうかの判定である。 もし存在するのなら、 アプリ ケ一シヨン Xをワークメモリ 3 7から削除して終了させる(ステップ S 1 0 )。 ステップ S 4は、 分岐元 Suspend、 分岐先 AutoRun又は Persistentのアプリケ ーシヨンが存在するか否かの判定である。 もし存在するなら、 アプリケーション Xを Resumeする(ステップ S 1 1 )。
ステップ S 5は、 分岐元夕ィトルで起動中で、 分岐先 Suspendのアプリケーシ ヨンが存在するか否かの判定である。 もし存在すれば、 アプリケーション X を Suspendする(ステップ S 1 2 )。
個々のアプリケーションを終了させるにあたってのアプリケーションマネージ ャ 3 6の処理は、 図 2 3に示すものとなる。 図 2 3は、 アプリケーション終了処 理の処理手順を示すフローチャートである。 本図は、 終了すべき複数アプリケ一 ショ ンのそれぞれについて、 ステップ S 1 6〜ステップ S 2 0の処理を繰り返す ループ処理になっている(ステップ S 1 5 )。 本ループ処理においてアプリケ一シ ヨンマネージャ 3 6は起動中アプリケーシヨンを終了するような terminateィべ ント を発行し(ステップ S 1 6 )、 タイマセットして(ステップ S 1 7 )、 ステップ S 1 8〜ステップ S 2 0からなるループ処理に移行する。 この terminateィベン トを Event Li stnerが受信すれば、 対応する xletプログラムは、 終了プロセスを 起 ¾7する。終了プロセスが終了すれば、その xletプログラムはワークメモリ 3 7 から解放され、 終了することになる。
ステップ S 1 8〜ステップ S 2 0のループ処理の継続中、 タイマはカウントダ ゥンを継続する。 本ループ処理においてステップ S 1 8は、 発行先アプリケーシ ョンが終了したか否かの判定であり、 もし終了していればこのアプリケ一ション に対する処理を終える。 ステップ S 1 9は、 タイマがタイムアウトしたか否かの 判定でぁリ、 タイムアウトすれば、 ステップ S 2 0において発行先アプリケーシ ョンをワークメモリ 3 7から削除してアプリケーションを強制終了する。
以上のモジュールマネージャ 3 4の処理を、 図 2 4を参照しながら説明する。 図 2 4は、 アプリケーション終了の過程を模式的に示した図である。 本図にお ける第 1段目は、 アプリケーションマネージャ 3 6を、 第 2段目は、 3つのアブ リケーションを示す。 図 2 4の第 2段目、左側のアプリケーションは、 terminate イベントを受信して終了プロセスに成功したアプリケーションを示す。 図 2 4の 第 2段目、 中列のアプリケーションは、 terminateイベントを受信したが終了プ 口セスに失敗したアプリケーションを示す。 第 2段目、 右側のアプリケーション は、 EventListnerが実装されていないので、 terminateイベントを受信すること ができなかったアプリケーションを示す。
第 1段目—第 2段目間の矢印 epl , ep2は、 アプリケーシヨンマネージャによる terminateイベント発行を模式的に示し、 矢印 ep3は、 終了プロセス起動を模式 的に示している。
第 3段目は、 終了プロセス成功時における状態遷移後の状態であり、 このアブ リケーシヨンは、 自身の終了プロセスにより終了することになる。 これら xlet プログラムのように、 所定の期間内に終了しないアプリケーションがあれば、 ァ プリケ一シヨンマネージャ 3 6は、 それらを強制的にワークメモリ 3 7から取り 除く。 第 4段目は、 アプリケーションマネージャ 3 6による強制終了を示す。 か かる第 4段目の強制終了を規定するのも、 アプリケーションマネージャ 3 6の 1 つの使命といえる。
以上のように本実施形態によれば、 分岐元タイ トルで起動しており、 分岐先夕 ィ トルで生存していないアプリケーションは、 自動的に終了させられるので、 条 件付き分岐により再生が複雑に進行する場合でも、 再生装置におけるリソースの 限界を越える数のアプリケーシヨン立ち上げはなされ無い。 分岐前後におけるァ プリケーシヨン動作を保証することができるので、 デジタルストリームを再生さ せながら、 アプリケーションを実行させるようなディスクコンテンツを多く頒布 することができる。
(第 2実施形態)
第 1実施形態においてアプリケーションの生存区間は、 タイ トル時間軸と一致 していたが、 第 2実施形態は、 PL時間軸の一部をアプリケーションの生存区間と することを提案する。 PL時間軸の一部は、 チャプターにより表現されるので、 チ ャプターにて開始点、 終了点を記述することにより、 アプリケーションの生存区 間を規定することができる。 図 2 5 ( a ) は、 PL時間軸上に生存区間を定めたァ プリケ一シヨン管理テーブルを示す図である。 図 2 5 ( a ) においてアプリケ一 シヨン管理テーブルには、 3 つのアプリケーションが記述されており、 このうち appl ication#2は、 title#lの Chapter#2から Chapter#3までが生存区間に指定さ れ、 起動属性に AutoRunが規定されている。 このため appl ication#2は、 図 2 5 (b ) に示すように、 Chapter#2の始点で起動され、 Chapter#3の終点で終了する ことになる。
一方 appl ication#3は、 ti tle#lの Chapter#4から Chapter#6までが生存区間 に指定されている。 このため appl ication#3は、 図 2 5 ( b ) に示すように、 図 2 5 (b ) に示すように、 Chapter#4の始点で起動され、 Chapter#6の終点で終了 することになる。
こうして記述されたアプリケーション管理テーブルに基づき、 処理を行うため 本実施?^態に係るアプリケーションマネージャ 3 6は、 PLmarkにより指示される チャプター開始点に到達する度に、 そのチャプター開始点から生存区間が始まる アプリケーションが存在するか否かを判定し、 もし存在すればそのアプリケーシ ヨンをワークメモリ 3 7にロードする。
同様に、 チャプター開始点に到達する度に、 そのチャプターの直前のチヤプタ 一で生存区間が終わるアプリケーションが存在するか否かを判定し、 もし存在す ればそのアプリケ一ションをワークメモリ 3 7から解放する。
チャプターという単位でアプリケ一シヨンの生存を管理すれば、 アプリケーシ ョンの生存区間をより細かい精度で指定することができる。 しかしディスクコン テンッには、 時間軸の逆向がありうることに留意せねばならない。 逆行とは、 巻 戻しにより時間軸を逆向きに進行することである。 チャプターの境界でこの逆行 と、 進行とが繰り返されれば、 ワークメモリへのロード、 廃棄が何度もなされ、 余分な読出負荷が生じる。 そこで本実施形態では、 アプリケーションの起動時期 を、 タイ トルに入って Playback Control Engine 3 2による通常再生が開始され た瞬間にしている。 ここで PLの再生には、 通常再生、 トリック再生がある。 トリ ック再生とは、 早送り、 巻戻し、 SkipNext. SkipBack がある。 かかる、 早送り、 巻戻し、 SkipNext. SkipBack がなされている間、 アプリケーション起動を開始せ ず、 通常再生が開始されて初めて、 アプリケーションを起動するのである。 通常 再生開始の瞬間を基準にすることにより、 上述したような生存区間前後の行き来 があつた場合でも、 アプリケーションの起動が必要以上に繰り返されることはな い。尚、通常再生開始の瞬間を、アプリケーションの起動基準にするとの処理は、 生存区間が ti tleである場合にも、 実行してよい。
以上のように本実施形態によれば、 PLより小さい、 チャプターの単位でアプリ ケーシヨンの生存区間を規定することができるので、 緻密なアプリケーション制 御を実現することができる。
(第 2実施形態の変更例)
図 2 5では、各アプリケーションに優先度が付与されている。 この優先度は、 0 〜255 の値をとり、 アプリケーション間でリソースの使用が競合等が競合した場 合、 どちらのアプリケーションを強制的に終了させるか、 また、 どちらのアプリ ケーションからリソースを奪うかという処理をアプリケーションマネージャ 3 6 が行うにあたって、 判断材料になる。 図 2 5の一例では、 appl ication^ の優先 度は 255, appl ication#2、 appl ication#3の優先度は 128なので、 appl ication#l -appl ication#2 の競合時において、 アプリケーションマネージャ 3 6は優先度 が低い appl ication^を強制終了するとの処理を行う。
(第 3実施形態)
BD- ROMにより供されるディスクコンテンツは、互いに分岐可能な複数タイトル から構成される。 各タイ トルは、 1つ以上の PLと、 この PLを用いた制御手順と からなるもの以外に、再生装置に対する制御手順のみからなる非 AV系タイ トルが ある。 本実施形態は、 この非 AV系タイ トルについて説明する。
こうした非 AV系タイトルのタイトルでは、どのようにタイ トル時間軸を定める のかが問題になる。図 2 6 ( a )は、 PL時間軸から定まるタイ トル時間軸を示す。 この場合 PL時間軸がタイトル時間軸になり、このタイ トル時間軸上にアプリケー シヨンの生存区間が定まる。 この基準となる PL時間軸がない場合、タイ トル時間 軸は図 2 6 ( b ) ( c ) のように定めるべきである。
図 2 6 ( b ) は、 メインとなるアプリケーションの生存区間から定まるタイト ル時間軸を示す。 メインアプリとは、 タイ トルにおいて起動属性が AutoRunに設 定され、 タイトル開始時に自動起動される唯一のアプリケーションであり、 例え ばランチャ一アプリと呼ばれるものがこれにあたる。 ランチャ一アプリとは、 他 のアプリケーションを起動するアプリケーションプログラムである。
この図 2 6 ( b ) の考え方は、 メインアプリが起動している限り、 タイ トル時 間軸は継続していると考え、 メインアプリが終了すれば、 時間軸を終結させると いうものである。 図 2 6 ( c ) は、 複数アプリケーションの生存区間から定まる タイトル時間軸を示す図である。 タイ トルの開始点で起動されるのは 1つのアブ リケーションであるが、 このアプリケ一ションが他のアプリケーションを呼び出 し、 更にこのアプリケーションが別のァプリケーションを呼び出すとの処理が繰 り返されるというケースがある。 この場合、 どれかのアプリケーションが起動し ている限り、 タイ トル時間軸は継続していると考え、 どのアプリケーションも起 動していない状態が到来すれば、 そこでタイ トル時間軸は終結するという考え方 である。 このように非 AV系タイ トルのタイ トル時間軸を定めれば、 AVタイ トル であっても、非 AV系タイ トルであっても、 タイ トル時間軸の終結と同時に、 所定 のタイ トルに分岐するという処理を画一的に行うことができる。尚非 AVタイ トル における夕イ トル時間軸は、 AVタイ トルと対比する上で、 想定した架空の時間軸 に過ぎない。故に再生装置は、非 AVタイ トルにおけるタイトル時間軸上を逆行し たり、 任意の位置に頭出しすることができない。
以上は本実施形態における記録媒体に対する改良である。 続いて本実施形態に おける再生装置に対する改良について説明する。
上 したような手順でタイ トル終了を行うため第 3実施形態に係るアプリケー シヨンマネージャ 3 6は、 図 2 7に示すような処理で処理を行う。 図 2 7は、 夕 ィトノレ再生時におけるアプリケーションマネージャ 3 6の処理手順を示すフロー チャー トである。 本フローチャートは、 タイ トル再生中、 ステップ S 2 1〜ステ ップ S 2 3を繰り返すというループ構造になっている。
ステップ S 2 1は、タイトルジャンプ APIが呼び出されたか否かの判定であり、 呼び出されれば、 ジャンプ先タイ トルへの分岐をモジュールマネージャ 3 4に要 求する(ステップ S 2 7 )。
ステップ S 2 2は、 タイ トル内のアプリケーション呼出を担っているようなメ インアプリが存在するか否かの判定であり、 もし存在するなら、 それの起動の有 無を確認する(ステップ S 2 5 )。起動してなければ、" タイ トルの終わり"である と解釈し、 モジュールマネージャ 3 4に終結を通知する(ステップ S 2 6 )。
ステップ S 2 3は、メインアプリがない場合に実行されるステップであり(ステ ップ S 2 2で No)、 どのアプリケーションも起動してない状態かどうかを判定す る。 もしそうなら、 同じく" タイ トルの終わり" であると解釈し、 モジュールマ ネージャ 3 4に終結を通知する(ステップ S 2 6 )。
以上のように本実施形態によれば、 PL再生を伴わないタイトルであつとしても、 アプリケーション実行中は分岐せず、 アプリケーション実行が終了して初めて分 岐するという処理が可能になる。
(第 4実施形態)
本実施形態は、 DVDと同様のメニュー制御を BD-R0M上で実現する場合の改良に 関する。図 2 8 ( a )は、 BD- ROMにより実現されるメニュー階層を示す図である。 本図におけるメニュー階層は、 TopMenuを最上位に配し、 この TopMenuから下位 の Ti tleMenu、 SubTi tleMenu. AudioMenuを選択できる構造になっている。 図中の 矢印 swl,2, 3 は、 ボタン選択によるメニュー切り換えを模式的に示す。 TopMenu とは、 音声選択、字幕選択、 タイ トル選択の何れを行うかを受け付けるポタン(図 中のポタン snl, sn2, sn3)を配置したメニューである。
Ti tleMenuとは、 映画作品(ti tle)の劇場版を選択するか、 ディ レクターズカツ ト版を選択するか、 ゲーム版を選択するか等、 映画作品の選択を受け付けるボタ ンを ffi置したメニューである。 AudioMenu とは、 音声再生を日本語で行うか、 英 語で行うかを受け付けるボタンを配置したメニュー、 SubTitleMenuとは、字幕表 示を日本語で行うか、 英語で行うかを受け付けるポタンを配置したメニューであ る。
こうした階層をもったメニューを動作させるための MOVIEォブジェクトを図 2 8 ( b ) に示す。 図 2 8 ( b ) において MovieObject. bdmvには、 FirstPlay 0BJ、 TopMenu OBJ. AudioMenu OBJ, SubTitleMenu OBJが格納されている。 Fi rstPlayオブジェクト (Fi rstPlay OBJ)は、 再生装置への BD-R0Mの口一ディ ング時に自動的に実行される動的シナリオである。
TopMenuォブジヱクト(TopMenu OBJ)は、 TopMemiの挙動を制御する動的シナリ ォである。ユーザがメニューコールを要求した際、呼び出されるのはこの TopMenu オブジェク トである。 TopMenu オブジェク トは、 ユーザからの操作に応じて TopMenu 中のボタンの状態を変えるものや、 ボタンに対する確定操作に応じて分 岐を行う分岐コマンドを含む。 この分岐コマンドは、 TopMenu から TitleMentu TopMenuから SubTi tleMemu TopMenuから AudioMenuというメニュー切り換えを 実現するものである。
AudioMenuォブジヱクト(AudioMenu OBJ)は、 AudioMenuの挙動を制御する動的 シナリォであり、 ユーザからの操作に応じて AudioMenu中のボタンの状態を変え るコマンドや、 ボタンに対する確定操作に応じて音声設定を更新するコマンドを 含む。
SubTi tleMenuオブジェクト(SubTitleMenu 0BJ)は、 SubTi tleMenuの挙動を制御 する動的なシナリオであり、ユーザからの操作に応じて SubT i 11 eMenu中のボタン の状態を変えるコマンドや、 ボタンに対する確定操作に応じて字幕設定用の PSR を更新するコマンドを含む。
Ti tleMenuオブジェクト(Ti t 1 eMenu OBJ)は、 Ti tleMenuの挙動を制御する動的 シナリオであり、 TitleMenu 中のボタンの状態を変えるものや、 ポタンに対する 確定操作に応じて分岐を行う分岐コマンドをふくむ。
これらのメニュー用 MOVIEオブジェクトにより、 DVDで実現されているような メニューの挙動を実現することができる。 以上がメニュー制御に関連する MOVIE ォブジヱクトである。
図 2 9は、 Index Tableと、 Index Tableから各 Movieォブジヱタトへの分岐と を模式化した図である。 本図では左側に Index Tableの内部構成を示している。 本実施形態における Index Table には、 FirstPLay INDEX, TopMenu INDEX, Audio Menu INDEX, Subti tle Menu INDEX, ti tle Menu INDEX, title#l〜#mINDEX、 ti tle#m+l 〜#nINDEX、 title#OINDE を含む。 図中の矢印 bcl, 2 は、 Index Table から Fi rstPl ayOBJへの分岐と, Firs tPl ayOBJから TopMenuへの分岐とを模式的に示し、 矢印 bc3, 4, 5は、 TopMemiから Ti tleMemi、 SubTi tleMenu, AudioMenuへの分岐を 模式的に示している。 矢印 bc6,7, 8は、 TitleMenuから各 Movieオブジェクトへ の分岐を模式的に示している。
FirstPLay INDEX, TopMenu INDEX, Audio MenuINDEX, Subtitle MenuINDEX, title MenuINDEXは、 それぞれ、 FirstPLayOBJ, TopMenuOBJ, Audio MenuOBJ, Subtitle Men OBJ. title MenuOBJについての Indexであり、これらの識別子が記述される。 title# l〜#mINDEXは、 BD-R0Mにおいて 1から m番目にエントリーされている ti tleについての Indexであり、 これら 1から mまでの ti tle番号の選択時にお いて分岐先となる MOVIEォブジヱクトの識別子(ID)が記述される。
title#m+l〜#nINDEXは、 BD- ROMにおいて m+1から n番目にェントリーされてい る title についての Indexであり、 これら m+1から nまでの title番号の選択時 において分岐先となる BD- Jォブジヱクトの識別子(ID)が記述される。
title#0INDEX は、 BD-J オブジェクトの強制終了時において分岐先になるべき Movieォフジヱクト又は BD- Jォブジヱクトを規定する INDEXである。本実施形態 では、 TopMenuOBJについての識別子が、 この ti tle#OINDEXに格納されている。 図 3 0 ( a ) は、 図 2 9のように Index Tableが記述された場合における分岐 を示す。 Index Tableがこのように記述されているので、ラベル title#l〜ti tle#m を分岐先とした分岐コマンドの実行時には、 ti tle#l lndex〜title#mlndex から Movieオブジェクト #l〜#mの識別子が取り出される。ラベル title#m+l〜ti tle#n を分岐と した分岐コマンドの実行時には、 UUe#m+l Index〜title#nIndex から BD-Jオフ^ジヱクト #m+l〜#nの識別子が取り出される。 BD-Jォプジヱクト #m+l〜 #n の識別子は、 フ ァ イ ル名 を表す 5 桁の数値であ る の で、 『00001. BD-J, 00002. BD-J, 00003. BD-J- - · Jが取り出され、そのファイル名の動的 シナリオがメモリに読み出されて、 実行されることになる。 これが Index Table を用いた分岐処理である。
図 3 0 ( b ) は、 BD-Jオブジェクト実行時の強制終了時における分岐を示す図 である。強制終了時における分岐では、 t i 1 e#01 ndexから識別子が取り出されて、 その識別子の動的シナリオが再生装置により実行される。 この識別子が、 トップ メニュータイ トルの識別子なら、 アプリケーション強制終了時には、 自動的にト ップメニュー 0BJが選択されることになる。 以上は本実施形態における記録媒体に対する改良である。 続いて本実施形態に おける再生装置に対する改良について説明する。 上述した記録媒体の改良に対応 するため、 再生装置内のモジュールマネージャ 3 4は図 3 1に示すような処理手 順で処理を行う。 図 3 1は、 モジュールマネージャ 3 4の処理手順を示すフロー チャートである。 本フローチヤ一トは、 ステップ S 3 1、 ステップ S 3 2からな るループ処理を構成しており、 ステップ S 3 1又はステップ S 3 2のどちらかが Yesになった際、 対応する処理を実行するものである。
ステップ S 3 1は、 タイ トルジャンプ APIの呼び出しがあつたか否かの判定で ある。 もしタイトルジャンプ APIの呼び出しがあれば、 分岐先ラベルであるタイ トル番号 j を取得し(ステップ S 3 3 )、 Index Tableにおけるタイトル番号 jの Indexから、 IDjを取り出して(ステップ S 3 4 )、 IDjの Movieオブジェクト又は BD-Jォブジヱクトを、 HDMVモジュール 3 3又は BD- Jモジュール 3 5に実行させ る(ステップ S 3 5 )。
ステップ S 3 2は、 タイ トル終了がアプリケーションマネージャ 3 6から通知 されたか否かの判定であり、 もし通知されれば(ステップ S 3 2で Yes)、 トップ メニュータイ トルを構成するトップメニュー 0BJを HDMVモジュール 3 3又はモジ ユールマネージャ 3 4に実行させる(ステップ S 3 6 )。
以上のアプリケーションマネージャ 3 6によるアプリケーション強制終了の動 作例を、 図 3 2を参照しながら説明する。 ここで再生すべきタイ トルは、 落下す るタイル片を積み重ねるというゲームアプリを含む非 AV系タイ トルである。図 3 2の下段は、 アプリケーションの生存区間からなるタイ トル時間軸を示し、 上段 は、 タイ トル時間軸において表示される画像を示す。非 AV系タイトルがゲームァ プリである場合、 このゲームアプリの生存区間において、 図 3 2の上段左側のよ うに、 ゲームアプリの一画面が表示される。 ゲームアプリにバグがあり、 異常終 了すると、 アプリケーションマネージャ 3 6は図 2 3のフローチャートに従って ゲームアプリを強制終了させ、 タイトルの終了をモジュールマネージャ 3 4に通 知する。 タイ トル終了が通知されると、 モジュールマネージャ 3 4はトップメニ ュ一タイ トルに分岐する。 そうすると、 図 3 2の上段右側に示すような画像が表 示され、 ユーザの操作待ちになる。 以上のように本実施形態によれば、 プログラムが含むが、 デジタルストリーム は含まな^ヽような非 AV系タイ トルの終了時においても、トップメニュータイ トル に分岐するという制御が可能になる。 これによりアプリケーションプログラムが エラ一終了したとしても、 ブラックァゥトゃハングアップの発生を回避すること ができる。
(第 5実施形態)
BD - Jモードにおいて、 PL再生との同期をどのように実現するかという改良に関 する。 図 8 (b ) の一例において JMFプレーヤインスタンスの再生を命じる JMF プレーヤィンスタンス(A. play;)を Java仮想マシン 3 8が解読した場合、 Java仮 想マシン 3 8は PL再生 APIをコールして、 コール直後に" サクセス" を示す応答 をアプリケーションに返す。
Playback Control Engine 3 2は、 PL再生 APIがコールされれば、 PL情報に基 づく処理手順を実行する。 PLが 2時間という再生時間を有するなら、 この 2時間 の間、 上述した処理は継続することになる。 ここで問題になるのは、 Java仮想マ シン 3 8がサクセス応答を返す時間と、 Playback Control Engine 3 2が実際に処 理を終える時間とのギヤップである。 Java仮想マシン 3 8は、 イベントドリブン の処理主体であるためコール直後に再生成功か、再生失敗かを示す応答を返すが、 Playback Control Engine 3 2による実際の処理終了は 2時間経過後であるので、 サクセス応答をアプリケーションに返す時間を基準にしたのでは、 2 時間経過後 にあたる処理終結を感知しえない。 PL再生において早送り、巻戻し、 Skipが行わ れると、 この 2時間という再生期間は 2時間前後に変動することになり、 処理終 結の感知は更に困難になる。
Playback Control Engine 3 2は、 アプリケーションとスタンドアローンで動作 するため、 第 3実施形態のような終了判定では、 PL再生の終了をタイトル終了と 解釈することができない。 そこで本実施形態では、 アプリケーションが終了して ようがいまいが、 ワークメモリ 3 7に JMFプレーヤインスタンスがある限り、 つ まり、 Presentation Engine 3 1の制御権を BD-Jモジュール 3 5が掌握している 間、 Playback Control Engine 3 2から再生終結イベントを待つ。 そして再生終結 イベントがあれば、 タイ トルが終了したと解釈して、 次のタイ トルへの分岐を行 うようモジュールマネージャ 3 4に通知する。 こうすることにより、 Playback Control Engine 3 2が PL再生を終結した時点を、 タイ トルの終端とすることがで ぎる。
以降図 3 3〜図 3 7のフローチャートを参照して、 Playback Control Engine 3 2による具体的な制御手順を説明する。
図 3 3は、 Playback Control Engine 3 2による PL再生手順を示すフローチヤ ートである。 この再生手順は、 Presentation Engine 3 1に対する制御(ステップ S 4 6 )と、 BD-R0M ドライブ 1又は HDD 1 7に対する制御(ステップ S 4 8 )とを主 に含む。本フローチヤ一トにおいて処理対象たる Playltemを Playltem#xとする。 本フローチャートは、 カレント PL情報(. mpls)の読み込みを行い(ステップ S 4 1 )、その後、ステップ S 4 2〜ステップ S 5 0の処理を実行するというものであ る。 ここでステップ S 4 2〜ステップ S 5 0は、 ステップ S 4 9が Yesになるま で、 カレント PL情報を構成するそれぞれの PI情報について、 ステップ S 4 3 ~ ステップ S 5 0の処理を繰り返すというループ処理を構成している。 このループ 処理において処理対象となる Playltem を、 PlayItem#x(PI#x)とよぶ。 この Playl tem#xは、 カレント PLの先頭の Playltemに設定されることにより、 初期化 される(ステップ S 4 2 )。 上述したループ処理の終了要件は、 この Playltenix がカレント PLの最後の Playltemになることであり(ステップ S 4 9 )、 もし最後 の Playltemでなければ、 カレント PLにおける次の Playltemが Playltenixに設 定される(ステップ S 5 0 )。
ループ処理において繰り返し実行されるステップ S 4 3〜ステップ S 5 0は、 Playl tem#x 0) CI ip_information_f i 1 e—塵 eで指定される C 1 i p情報をシナリオメ モリ 2 1に読み込み(ステップ S 4 3 )、 Playltenixの In— timeを、 カレント Cl ip 情報の EPmap を用いて、 I ピクチャアドレス u に変換し(ステップ S 4 4 )、 Playl tenixの Out— timeを、 カレント Cl ip情報の EPjnapを用いて、 I ピクチャァ ドレス Vに変換して(ステップ S 4 5 )、 これらの変換で得られたアドレス Vの次 の Iピクチャを求めて、そのァドレスの 1つ手前をァドレス wに設定し(ステップ S 4 7 ) , そうして算出されたアドレス wを用いて、 Iピクチャアドレス uからァ ドレス wまでの TSパケッ トの読み出しを BD-R0M ドライブ 1又は HDD 1 7に命じ るとレヽぅものである(ステップ S 4 8 )。
一方、 Presentation Engine 3 1 に対しては、 カ レ ン ト PLMark の mark— t ime_s tampから Playl tem#xの Out— timeまでの出力を命じる(ステップ S 4 6 )。 以上のステップ S 4 5〜ステップ S 4 8により、 AVCl ip において、 Playl tem#xにより指示されている部分の再生がなされることになる
その後、 Playltem#xがカレント PLの最後の PIであるかの判定がなされる(ス テツプ S 4 9 )。
Pla ltem#xが力レント PLの最後の PIでなければ、 カレント PLにおける次の Playl temを、 Playltem#xに設定して(ステップ S 5 0 )、 ステップ S 4 3に戻る。 以上のステップ S 4 3〜ステップ S 5 0を繰り返することにより、 PLを構成する PIは;頃次再生されることになる。
図 3 4は、 アングル切り換え手順及び SkipBack. SkipNextの手順を示すフロー チャートである。 本フローチャートは、 図 3 3の処理手順と並行してなされるも のであり、 ステップ S 5 1〜S 5 2からなるループ処理を繰り返すというもので ある。本ループにおけるステップ S 5 1は、アングル切り換えを要求する APIが、 Java 仮想マシン 3 8からコールされたか否かの判定であり、 アングル切り換え APIのコールがあれば、 カレント Cl ip情報を切り換えるという操作を実行する。
図 3 4のステップ S 5 5は、 判定ステッ プであり、 Playltem#x の isjnul tし angles がオンであるか否かの判定を行う。 isjmil ti— angles とは、 Playl tem#xがマルチアングルに対応しているか否かを示すフラグであり、 もしス テツプ S 5 5が Noであるならステップ S 5 3に移行する。ステップ S 5 5が Yes であるなら、 ステップ S 5 6〜ステップ S 5 9を実行する。 ステップ S 5 6〜ス テツプ S 5 9は、 切り換え後のアングル番号を変数 y に代入して(ステップ S 5 6 )、 Playltem#xにおける y番目の CI ip一 information— fi le_nameで指定されてい る Cl ip情報をシナリオメモリ 2 1に読み出し(ステップ S 5 7 )、 カレント PTM を、力 レント Cl ip情報の EPjnapを用いて Iピクチャアドレス uに変換し(ステツ プ S 5 8 )、 Playl tem#xの Out一 timeを、 カレント CI ip情報の EPjnapを用いて I ピクチャァドレス Vに変換する(ステップ S 5 9 )というものである。 こうして I ピクチャアドレス u,vを変化した後、 ステップ S 4 6に移行する。 ステップ S 4 6への移行により、 別の AVCl ipから TSパケットが読み出されるので、 映像内容 が切り換わることになる。
一方、 図 3 4のループにおけるステップ S 5 2は、 SkipBack/SkipNext を意味 する APIが Java仮想マシン 3 8からコールされたか否かの判定であり、もしコー ルされれば、 図 3 5のフローチャートの処理手順を実行する。 図 3 5は、 SkipBack, SkipNextAPI がコールされた際の処理手順を示すフローチャートであ る。 SkipBack, Ski pNext を実行するにあたっての処理手順は多種多様なものであ る。 ここで説明するのはあくまでも一例に過ぎないことに留意されたい。
ステップ S 6 1は、 PSRで示されるカレント PI番号、 及び、 カレント PTMを変 換することにより、 カレント Mark情報を得る。 ステップ S 6 2は、押下されたの が SkipNextキーであるか、 SkipBackキーであるかの判定であり、 SkipNextキー であるならステップ S 6 3において方向フラグを +1に設定し、 SkipBackキーであ るならステップ S 6 4において方向フラグを- 1に設定する。
ステップ S 6 5は、 カレント PLMarkの番号に方向フラグの値を足した番号を、 カレント PLMarkの番号として設定する。 ここで SkipNextキーであるなら方向フ ラグは +1 に設定されているので力レント PLMarkはィンクリメントされることに なる。 SkipBackキーであるなら方向フラグは -1に設定されているので、 カレント PLMarkはデクリメントされることになる。
ステップ S 6 6では、 カレント PLMarkの ref— to— Playltemjdに記述されてい る PI を、 Playltem#x に設定し、 ステップ S 6 7では、 Playltem#x の Cl ip—informationjTi le— nameで指定される Cl ip情報を読み込む。 ステップ S 6 8では、 カレント Cl ip 情報の EP_map を用いて、 カレント PLMark の mark _tirae_stam を、 I ピクチャアドレス uに変換する。 一方ステップ S 6 9では、 Playltentxの 0ut_timeを,カレント CI ip情報の EP— mapを用いて, Iピクチャアド レス Vに変換する。ステップ S 7 0は、カレント PLMarkの mark— t ime_s tampから Pl yltem# の Out— timeまでの出力を Presentation Engine3 1に命じた上で、図 3 3のステップ S 4 7に移行する。こうして Iピクチャァドレス u,vを変化して、 別の部分の再生を命じた上でステップ S 4 7への移行するので、別の AVCl ipから TSバケツ トが読み出されることになり、 映像内容が切り換えが実現する。
図 3 6〖ま、 Presentation Engine 3 1による処理手順の詳細を示すフローチヤ一 トである。 本フローチャートは、 I ピクチャの PTSをカレント PTMに設定した後 で(ステツプ S 7 1 )、 ステップ S 7 2〜ステップ S 7 7からなるループ処理を実 行するものである。 続 、てステップ S 7 2〜ステップ S 7 7におけるループ処理について説明する。 このル一プ処理は、 カレント PTMにあたるピクチャ、 オーディオの再生出力と、 カレント PTMの更新とを繰り返すものである。 本ループ処理におけるステップ S 7 6は、 ループ処理の終了要件を規定している。 つまりステップ S 7 6は、 カレ ント PTMが N#xの Out— timeであることをループ処理の終了要件にしている。 ステップ S 7 3は、 早送り API、 又は、 早戻し APIが Java仮想マシン 3 8から コーノレされたか否かの判定である。 もしコールされれば、 ステップ S 7 8におい て早送りか早戻しかの判定を行い、 早送りであるなら、 次の I ピクチャの PTSを カレント PTMに設定する(ステップ S 7 9 )。 このように力レント PTMを、 次の I ピクチャの PTSに設定することで、 1秒飛びに AVCl ipを再生してゆくことができ る。 これにより、 2倍速等で AVCl ipは順方向に早く再生されることになる。 早戻 しであるなら、 カレント PTMが Playl tem#xの Out— timeに到達したかを判定する (ステップ S 8 0 )。 もし到達してないのなら、 1つ前の I ピクチャの PTSをカレ ント PTMに設定する(ステップ S 8 Do このように読出先ァドレス Aを、 1つ前 の I ピクチャに設定することで、 AVCl ipを後方向に 1秒飛びに再生してゆくこと ができる。 これにより、 2倍速等で AVCl ipは、 逆方向に再生されることになる。 尚、 早送り、 巻戻しを実行するにあたっての処理手順は多種多様なものである。 ここで説明するのはあくまでも一例に過ぎないことに留意されたい。
ステップ S 7 4は、 メニューコール APIがコールされたか否かの判定であり、 もしコールされれば、 現在の再生処理をサスペンドして(ステップ S 8 2 )、 メニ ユー処理用のメニュープログラムを実行する(ステップ S 8 3 )。 以上の処理によ り、 メニューメニューコールがなされた場合は、 再生処理を中断した上で、 メニ ユー表示のための処理が実行されることになる。
ステップ S 7 5は、 sync_PlayI tem— id により、 Playltem#x を指定した SubPlayItem#y が存在するか否かの判定であり、 もし存在すれば、 図 3 7のフロ 一チャートに移行する。 図 3 7は、 SubPlayltem の再生手順を示すフローチヤ一 トである。 本フローチャートでは、 先ずステップ S 8 6において、 カレント PTM は SubPlayItem#yの sync_start一 PTS一 o playltemであるか否かを判定する。もし そうであれば、 ステップ S 9 3において SubPlaylteniyに基づく再生処理を行う よう Playback Control Engine 3 2に通知する。 図 3 7のステップ S 8 7〜ステップ S 9 2は、 SubPlayItem#y に基づく再生処 理を示すフローチヤ一トである。
ステップ S 8 7では、 SubPlayItem#yの Cl ip— information_f i le— nameで指定さ れる Cl ip '膚報を読み込む。 ステップ S 8 8では、 カレント Cl ip情報の EPjnap を用いて、 SubPlayItem#yの In_timeを、 アドレス αに変換する。 一方ステップ S 8 9では、 SubPlayItem#yの Out—timeを,カレント Cl ip情報の EPjnapを用い て、 アドレス /3に変換する。 ステップ S 9 0は、 SubPlayItem#yの In_timeから SubPlayItem#yの 0ut_timeまでの出力をデコーダに命じる。 これらの変換で得ら れたァドレス /3の次の Iピクチャを求めて、 そのァドレスの 1つ手前をァドレス rに設定し(ステップ S 9 1 )、 そう して算出されたアドレス yを用いて、 SubCl ip#z におけるァドレス からァドレスァまでの TS バケツトの読み出しを BD-R0Mドライブ 1又は HDD 1 7に命じるというものである(ステップ S 9 2 )。 また図 3 3に戻って Playback Control Engine3 2の処理の説明の続きを行う。 ステップ S 5 3は Presentation Engine 3 1による再生制御が完了したかの判定 であり、最後の Playl tem#xに対して、図 3 6のフローチャートの処理が行われて いる限り、ステップ S 5 3が Noになる。図 3 6のフローチャートの処理が終了し て初めて、 ステップ S 5 3は Yesになりステップ S 5 4に移行する。 ステップ S 5 4は、 Java仮想マシン 3 8への再生終結イベントの出力であり、 この出力によ り、 2時間という再生時間の経過を Java仮想マシン 3 8は知ることができる。 以上が本実施形態における Playback Control Engine 3 2 Presentation Engine 3 1の処理である。 続いて本実施形態におけるアプリケーションマネージャ 3 6 処理手順について説明する。 図 3 8は、 第 5実施形態に係るアプリケーションマ ネージャ 3 6の処理手順を示すフローチャートである。
図 3 8のフローチャートは、 図 2 7のフローチャートを改良したものである。 その改良点 、ステップ S 2 1—ステップ S 2 2間にステップ S 2 4が追加され、 このステップ S 2 4が Yesになった際、 実行されるステップ S 1 0 1が存在する 点である。
ステップ S 2 4は、 JMF プレーヤィンスタンスがワークメモリ 3 7に存在する か否かの判定であり、 もし存在しなければステップ S 2 2に移行する。 存在すれ ば、ステップ S 1 0 1に移行する。ステップ S 1 0 1は、 Playback Control Engine 3 2から再生終結イベントが出力されたか否かの判定であり、もし出力されれば、 ワークメモリ中の Javaプレーヤィンスタンスを消滅させた上で(ステップ S 1 0 2 )、タイ トル終了をモジュールマネージャ 3 4に通知する(ステップ S 2 6 )。通 知されね tま、 ステップ S 2 1〜ステップ S 2 4からなるループ処理を繰り返す。 以上のフローチャートにおいて、 ワークメモリ 3 7に JMFプレーヤインスタン スが存在する限り(ステップ S 2 4で Yes)、 ステップ S 2 2、 ステップ S 2 3は スキップされる。 そのため、 たとえ全てのアプリケーションが終了したとしても タイトルは継続中と解釈される。
以上のように本実施形態によれば、 2 時間という再生時間の経過時点をアプリ ケ一ションマネージャ 3 6は把握することができるので、 PL再生の終了条件にメ ニューを表示して、 このメニューに対する操作に応じて他のタイ トルに分岐する という制御を実現することができる。
(第 6実施形態)
第 6実施形態は、 BD-Jォブジェクトにデータ管理テーブルを設ける改良に関す る。
データ管理テーブル(DMT)は、そのタイトル時間軸においてローカルメモリ 2 9 上にロー ドすべき Javaアーカイブファイルを、読込属性と、読込優先度とに対応 づけて示すテーブルである。" ローカルメモリ 2 9における生存" とは、 そのアブ リケーションを構成する Java アーカイブファイルがローカルメモリ 2 9から読 み出され、 Java仮想マシン 3 8内のワークメモリ 3 7への転送が可能になってい る状態を 、う。 図 3 9は、 データ管理テーブルの一例を示す図である。 本図に示 すようにデータ管理テーブルは、 アプリケーションの 『生存区間』 と、 その生存 区間をもったアプリケーションを識別する『appl icationID』 と、 そのアプリケー シヨンの 『読込属性』 と、 『読込優先度』 とを示す。
上述したようにアプリケーション管理テーブルには、 生存区間という概念があ り、 データ管理テーブルにも同じ生存区間という概念がある。 アプリケーション 管理テーブルと同じ概念を、 データ管理テーブルに設けておくというのは一見無 駄のように思えるがこれには意図がある。
図 4 0は、 BD- Jォブジヱクトが想定している実行モデルを示す図である。 本図 における実行モデルは、 BD- R0M、 口一カルメモリ 2 9、 Java仮想マシン 3 8から なり、 BD-R0M、 ローカルメモリ 2 9、ワークメモリ 3 7という三者の関係を示す。 矢印 mylは、 BD-R0M→ローカルメモリ 2 9間の読み込みを示し、 矢印 my2は、 口 —カルメモリ 2 9→ワークメモリ 3 7間の読み込みを示す。 矢印上の注釈は、 こ れらの読み込みが、 どのようなタイミングでなされるかを示す。 注釈によると、 BD- R0M→ローカルメモリ 2 9間の読み込みは、 いわゆる" 先読み" であり、 ァプ リケーションが必要となる以前の時点に行われねばならない。
また注釈によると、 ローカルメモリ 2 9→ワークメモリ 3 7間の読み込みは、 アプリケーションが必要になった際になされることがわかる。" 必要になつた際" とは、アプリケ一シヨンの生存区間が到来した時点(1)、アプリケーションの呼出 が他のアプリケーション又はアプリケーションマネージャ 3 6から指示された時 点(2)を意味する。
矢印 my3は、 ワークメモリ 3 7におけるアプリケーションの占有領域の解放を 示し、 矢印 my4は、 ローカルメモリ 2 9におけるアプリケーションの占有領域の 解放を示す。 矢印上の注釈は、 これらの読み込みが、 どのようなタイミングでな されるかを示す。 注釈によると、 ワークメモリ 3 7上の解放は、 アプリケ一ショ ン終了と同時になされることがわかる。一方ローカルメモリ 2 9上の解放は、 Java 仮想マシン 3 8にとつて必要でなくなつた時点でなされる。 この必要でなくなつ た時点とは、" 終了時点" ではない。" 終了した上、 再起動の可能性もない時点" であること、 つまり該当する ti tle が終了した時点を意味する。 上述した読込' 解放のうち、 ワークメモリ 3 7における解放時点は、 アプリケーション管理テ一 ブルにおける生存区間から判明する。 しかし" アプリケーションが必要となる以 前の時点"、" 終了した上、 再起動の可能性もない時点" については、 規定し得な い。 そこで、 ォーサリング段階において、 かかる時点をディスクコンテンツ全体 の時間軸上で規定しておくため、 本実施形態では各アプリケーションが生存して いる区間を、 アプリケーション管理テ一ブルとは別に、 データ管理テーブルに記 述するようにしている。 つまり" アプリケーションが必要となる以前の時点" を データ管理テーブルにおける生存区間の始点と定義し、"終了した上、再起動の可 能性もない時点" をデータ管理テーブルの終点と定義することにより、 上述した ローカルメモリ 2 9上の格納内容の遷移をォーサリング時に規定しておくことが できる。 これがデータ管理テーブルの記述意義である。 データ管理テーブルによるローカルメモリ 2 9生存区間の記述について説明す る。 ここで制作しょうとするディスクコンテンツは 3 つのタイ トル(U tle#l、 ti tle#2、 ti tle#3)からなり、 これらタイ トルの時間軸において、 図 4 1 (b ) に 示すようなタイ ミングで、口一カルメモリ 2 9を使用したいと考える。この場合、 ti tle#l時間軸の開始点において appl ication#Kappl ication#2を構成する Java アーカイブファィルをローカルメモリ 2 9に読み込み、 title#l時間軸の継続中、 appl ication* U appl ication#2を口一カルメモリ 2 9に常駐させておく。 そして ti tle#2時間軸の始点で、 appl ication^を構成する Javaアーカイブファイルを ローカルメモリ 2 9から解放して、代わりに appl ication^を構成する Javaァ一 カイブフアイノレをローカルメモリ 2 9に読み込んで、 常駐させるというものであ る(以降、 アプリケーションを構成する Javaアーカイブファイルは、 アプリケー シヨンと同義に扱う。 )。 この場合のデータ管理テーブルの記述は、 図 4 1 ( a ) の通りであり、 アプリケーションの appl icati.onIDを、 その生存区間に対応づけ て記述するこヒで、 ローカルメモリ 2 9に常駐すべきアプリケーションを表現す る。 図 4 1 ( a ) では、 appl ication#lの appl icationIDが Utle#l と対応づけ られて記述されており、 appl ication#2の appl icationlDは title#l、 title#2と 対応づけられ、 appl ication#3の appl icationlDは title#3と対応づけられて記 述されていることがわかる。 こうすることで、 ローカルメモリ 2 9占有の時間的 遷移がォーサリング担当者により規定されることになる。
データ管理テーブル、 アプリケーション管理テーブルの組合せとしては、 ァプ リケーション管理テーブルに規定する生存区間は、 細かい再生単位にし、 データ 管理テーブルに規定する生存区間は、 大まかな再生単位にすることが望ましい。 大まかな再生単位には、 タイ トル、 PLといった非シームレスな再生単位が望まし い。 一方、 細かい再生単位としては、 PL内のチャプターというようにシームレス な再生単位が望ましい。 アプリケーションの生存区間をタイ トル毎、 PL毎に定め れば、 アプリケーションはローカルメモリ 2 9上に存在するので、 そのタイ トル の再生中においてアプリケーションは何時でも取り出せる状態になる。 そうであ れば、 アプリケーションの生存区間を細かく定めたとしても、 アプリケーション を即座に、 仮想マシン上のワークメモリに読み出すことができるので、 アプリケ ーションの起動 '終了が頻繁になされたとしても、スムーズなアプリケーション実 行を実現することができる。
次に、 読込属性について説明する。
図 2において Javaアーカイブファイルは、 AVCl ipとは別の記録領域に記録さ れることを前提にしていた。 しかしこれは一例に過ぎない。 Javaアーカイブファ ィルは、 BD-R0Mにおいて AVCl ipが占める記録領域に埋め込まれることがある。 この埋め込みの態様には、 カルーセル化、 インターリーブユニット化という 2種 類がある。
ここで" カルーセル化" とは、 対話的な放送の実現のために同一内容を繰り返 しするという放送方式に変換することである。 BD-R0Mは、放送されたデータを格 納するものではないが、 本実施形態では、 カルーセルの放送形式に倣って JAVA アーカイブファイルを格納するようにしている。 図 4 2は、 カルーセル化による Javaアーカイブファイル埋め込みを示す図である。第 1段目は、 AVCl ip中に埋め 込む Java アーカイブファイルであり、 第 2段目は、 セクション化を示す。 第 3 段目は、 TSバケツ ト化、 第 4段目は、 AVCl ipを構成する TSバケツト列を示す。 こうしてセクション化、 TSバケツト化されたデータ(図中の" D" )が、 AVCl ipに 埋め込まれるのである。 カルーセルにより AVCl ipに多重化された Java了一カイ ブフアイノレは、 読み出すにあたって、 低帯域で読み出されることになる。 この低 帯域での読み出しは、概して 2〜3分というように長期間を要するため、再生装置 は Javaアーカイブファイルを 2〜3分をかけて読み込むことになる。
図 4 3は、ィンタ一リーブ化による Javaアーカイブファイル埋め込みを示す図 である。第 1段目は、 埋め込まれるべき AVCl ip、 第 2段目は、 AVCl ipにィンター リ一ブ化された Javaアーカイブファイル、 第 3段目は、 BD- ROMの記録領域にお ける AVCl ip配置である。本図に示すように、ストリームに埋め込まれるべき Java アーカイブ'ファイルは、 インタ一リーブ化され、 AVCl ip を構成する XXXXX. m2ts を構成する分割部分(図中の AVCl ip2/4,3/4)の合間に記録される。 インターリー ブ化により AVCl ipに多重化された Javaアーカイブファイルは、 カルーセル化と 比較して、 高い帯域で読み出されることになる。 この高い帯域での読み出しであ るため、再生装置は Javaアーカイブフアイルを比較的短期間に読み込むことにな る。
カルーセル化 'インターリーブ化された Javaアーカイブファイルは、 プリ口一 ドされるのではない。 BD- ROMにおける AVCl ipの記録領域のうち、 カルーセル化- インターリ一ブイ匕された javaアーカイブフアイルが埋め込まれた部分に、現在の 再生時点が到達した際、 再生装置のローカルメモリ 2 9にロードされる。 Javaァ 一力イブフアイノレの記録態様には、 図 2に示すものの他に、 図 4 2、 図 4 3 ( a ) に示すものがあるので、読込属性は、図 4 3 ( b ) に示すように、設定されうる。 図 4 3 (b ) に示すように、 読込属性は、 タイ トル再生に先立ち、 口一カルメモ リ 2 9に読み込まれる旨を示す" Preload" と、 タイ トル再生中に、 カルーセル化 方式で読み込まれる旨を示す" Load. Carousel" と、 タイトル再生中に、 インター リーブ化方式で読み込まれる旨を示す" Load. Interleave" とがある。読込属性に は、 力ルーセルイ匕されているか、 ィンターリーブ化されているかが添え字で表現 されているが、 これを省略してもよい。
データ管理テーブルにおける生存区間の具体的な記述例について、 図 4 4を参 照しながら説明する。 図 4 4 ( a ) は、 デーダ管理テーブルの一例を示す図であ る。 図 4 4 (b ) は、 かかるデータ管理テーブルの割り当てによるローカルメモ リ 2 9の格納内容の変遷を示す図である。 本図は、 縦軸方向にローカルメモリ 2 9における占有領域を示し、 横軸を、 1つのタイ トル内の PL時間軸としている。 データ管理テーブルにおいて appl ication^は、 1つのタイトル内の PL時間軸全 体を生存区間とするよう記述されているので、 このタイ トルの Chapter#l ~ Chapter#5 にお!^てローカルメモリ 2 9内の領域を占有することになる。 データ 管理テーブルにおいて appl ication#2は、タイ トル内の PL#1における Chapter#l 〜Chapter#2 を生存区間とするよう記述されているので、 このタイ トルの Chapter#l〜Chapter#2 においてローカルメモリ 2 9内の領域を占有することに なる。データ管理テーブルにおいて appl ication#3は、タイトル内の PU1におけ る Chapter#4〜Ch_apter#5を生存区間とするよう記述されているので、このタイ ト ルの Ch¾pter#4〜Chapter#5 において口一カルメモリ 2 9内の領域を.占有するこ とになる。 以上で、 デ一夕管理テ一ブルにおける生存区間についての説明を終え る。 続いて読込優先度について説明する。 読込優先度とは、 ローカルメモリ 2 9へ の読み込みに対する優劣を決める優先度である。読込優先度には複数の値がある。 2段階の優劣を設けたい場合、 Mandatoryを示す値、 optional を示す値を読込優 先度に設定する。この場合、 Mandatoryは高い読込優先度を意味し、 optionalは、 低い読込優先度を意味する。 3段階の優劣を設けたい場合、 Mandatoryを示す値、 optional :high. optional: lowを示す値を読込優先度に設定する。 Mandatoryは、 最も高い読込優先度を示し、 optional :high は、 中程度の読込優先度、 optional : lowは、 最も低い読込優先度を示す。 データ管理テーブルにおける読込 優先度の具体的な記述例について、 図 4 5 ( a ) ( b ) を参照しながら説明する。 この具体例で、 想定している口一カルメモリ 2 9のメモリ規模は、 図 4 5 ( a ) に示すようなものである。 図 4 5 ( a ) は、 新旧再生装置におけるローカルメモ リ 2 9のメモリ規模を対比して示す図である。 矢印 mklは旧再生装置におけるメ モリ規模を、 矢印 mk2は新再生装置におけるメモリ規模をそれぞれ示す。 この矢 印の対比から、 新再生装置におけるローカルメモリ 2 9のメモリ規模は、 旧再生 装置のそれと比較して、 三倍以上である状態を想定している。 このようにメモリ 規模にバラツキがある場合、 アプリケーションは、 図 4 5に示すような 2つのグ ループに分類される。 1 つ目は、 どのようなメモリ規模であっても読み込むんで おくべきアプリケーション(#1, #2)である。 2つ目は、 旧再生装置での読み込みは 望まないが、新再生装置での読み込みは希望するアプリケーション(#3, #4)である。 読み込もうとするアプリケーションが、 これら 2つのグループに分類されれば、 前者に帰属するアプリケ一ションに、 読込優先度 -Mandatoryを設定し、 後者に属 するアプリケーションに、 読込優先度 -Optional を設定する。 図 4 5 ( b ) は、 読込優先度が設定されたデータ管理テーブルの一例を示す図である。 データ管理 テーブルをこのように設定した上で、 appl ication#l〜appl ication#4 を BD- ROM に記録すれ《ί、 あらゆるメモリ規模の再生装置での再生を保証しつつも、 メモリ 規模が大きい再生装置では、 より大きなサイズのデータを利用したアプリケーシ ヨンを再生装置に再生させることができる。
以上は本実施形態における記録媒体に対する改良である。 続いて本実施形態に おける再生装置に対する改良について説明する。 上述した記録媒体の改良に対応 するため、 アプリケーションマネージャ 3 6は図 4 6に示すような処理手順で処 理を行う。
図 4 6は、 アプリケーションマネージャ 3 6によるプリロード制御の処理手順 を示す図である。 本フローチャートは、 再生すべきタイ トルにおけるデータ管理 テーブルを読み込み(ステップ S 1 1 1 )、 データ管理テーブルにおいて最も高い 読込優先度をもちつつ、 appl icationID が最も小さいアプリケーションをアプリ ケ一シヨン i にした上で(ステップ S 1 1 2 )、 ステップ S 1 1 3、 ステップ S 1 1 4の判定を経た上で、 アプリケーション iをローカルメモリ 2 9にプリロード する(ステップ S 1 1 5 )という処理を、ステップ S 1 1 6が No及びステップ S 1 1 7が Noと判定されるまで、 繰り返すというループ処理を構成している。
ステップ S 1 1 3は、 アプリケーション iの読込属性がプリロードであるか否 かの判定であり、 ステップ S 1 1 4は、 アプリケーションの読込優先度が -Mandatoryであるか Optionalであるかの判定である。 ステップ S 1 1 3におい てプリロードと判定され、 ステップ S I 1 4において読込優先度が Mandatoryと 判定されれば、 アプリケーションはローカルメモリ 2 9にプリロードされること . になる(ステップ S 1 1 5 )。 もしステップ S 1 1 3において読込属性が口一ドで あると判定されれば、 ステップ S 1 1 4〜ステップ S 1 1 5はスキップされるこ とになる。
ループ処理の終了要件を規定する 2つのステップのうちステップ S 1 1 6は、 appl icationIDが次に高く、 アプリケ一ション i と同一読込優先度のアプリケー シヨン kが存在するか否かを判定するものである。 そのようなアプリケーション kが存在するなら、そのアプリケーション kをアプリケーション iにする(ステツ プ S 1 1 9 )。
ループ処理の終了要件を規定する 2つのステップのうちステップ S I 1 7は、 データ管理テーブルにおいて次に低い読込優先度をもつアプリケーションが存在 するか否かの判定であり、 もし存在すれば、 その次に低い読込優先度をもつアブ リケーシヨンのうち、 最も小さい appl icationIDをアプリケーション kを選んで (ステップ S 1 1 8 )、そのアプリケーシヨン kをアプリケーシヨン iにする(ステ ップ S 1 1 9 )。 これらステップ S 1 1 6、 ステップ S 1 1 7が Yesになっている 限り、 上述したステップ S 1 1 3〜ステップ S 1 1 5の処理は繰り返されること になる。 ステップ S 1 1 6、 ステップ S 1 1 7において、 該当するアプリケ一シ ョンが無くなれば本フローチャートの処理は終了することになる。
ステップ S 1 2 0〜ステップ S 1 2 3は、 ステップ S 1 1 4において読込優先 度 -Optionalであると判定された場合に、 実行される処理である。
ステップ S 1 2 0は、 同じ appl icationIDをもち、 読込優先度が高いアプリケ ーシヨン jが存在するか否かの判定である。
ステップ S 1 2 1 は、 ローカルメモリ 2 9の残り容量がアプリケーシヨン iの サイズを上回るか否かを判定するステップである。 ステップ S 1 2 0が No、 ステ ップ S 1 2 1が Yes である場合、 ステップ S 1 1 5においてアプリケーション i がローカルメモリ 2 9にプリロードされることになる。 ステップ S 1 2 0が No、 ステップ S 1 2 1が Noである場合、アプリケーション iはローカルメモリ 2 9に プリロードされずそのままステップ S 1 1 6に移行することになる。
こうしておくと、 読込優先度 -Optionalのデータは、 ステップ S 1 2 0—ステ ップ S 1 2 1の判定が Yesにならないと、 ローカルメモリ 2 9へのプリロードが なされない。 メモリ規模が小さい旧再生装置は、 2~3個のアプリケーションを読 み込んだ程度で、ステップ S 1 2 1の判定は Noになるが、メモリ規模が大きい新 再生装置は、 更に多くのアプリケーションを読み込んだとしても、 ステップ S 1 2 1の判定は Noにならない。以上のように、 旧再生装置では、 ローカルメモリ 2 9に Mandatory のアプリケーショ ンのみが読み込まれ、 新再生装置には、 Mandatoryのアプリケーシヨンと、 Optionalのアプリケ一ションとが読み込まれ ることになる。
ステップ S 1 2 2は、 ステップ S 1 2 0において Yesと判定された場合に実行 されるステップである。 同じ appl icationIDをもち、 読込優先度が高いアプリケ —シヨン jが口一力ルメモリ 2 9上に存在する場合、 口一カルメモリ 2 9の残り 容量と、 アプリケーション jのサイズとの和が、 アプリケーション iのサイズを 上回るか否かを判定し(ステップ S 1 2 2 )、 もし上回れば、 アプリケーション i を用いてローカルメモリ 2 9上のアプリケーション jを上書きすることによりプ リロードする(ステップ S 1 2 3 )。 下回る場合は、 アプリケーション iはロー力 ルメモリ 2 9にプリ ロードされずそのままステップ S 1 1 6に移行することにな る。
ステップ S 1 1 5、 ステップ S 1 2 3による読込処理の一例を、 図 4 7 ( a ) を参照しながら説明する。 図 4 7 ( a ) は、 この具体例が想定しているデータ管 理テーブルの一例を示す図である。 本図における 3つのアプリケーションは、 そ れぞれ 3 つのファイルに格納されており、 appl icationlD は同じであるが (appl icationID=l) , 読込優先度は互いに異なる(mandatory, optional : igh, optional : low)。 こうしたデータ管理テーブルが処理対象であると、ステップ S 1 1 5により、 読込優先度 = Mandatory のアプリケーションはローカルメモリ 2 9 に読み込まれる。 しかし読込優先度- Optional のアプリケーションについては、 ステップ S 1 2 0〜ステップ S 1 2 2の判定を経た上で、 ステップ S 1 2 3にお いて読み込まれる。 ステップ S 1 1 5と違いステップ S 1 2 3では、 既にロー力 ルメモリ 2 9にある同じ appl icationlDのアプリケーションを上書きしてゆくよ う、 プリロードがなされるので、 複数アプリケーションのうち 1つが排他的に、 ローカルメモリ 2 9にロードされることになる。 i)読込優先度 ^mandatory のアプリケーションを読み込んだ後、 読込優先度 = optional : high のアプリケーションを読み込むにあたって、 ステップ S 1 2 2が Noと判定されればれば、 読込優先度 = mandatoryのアプリケーションがローカル メモリ 2 9に残ることになる。 読込優先度 =mandatory のアプリケーションを読 み込んだ後、 読込優先度 = optional :high のアプリケーションを読み込むにあた つて、 ステップ S 1 2 2が Yesと判定されれば、 読込優先度 = optional :highの アプリケーショ ンにより、 読込優先度 = mandatory のアプリケーションは上書き され、 読込優先度 = optional : high のアプリケーションがローカルメモリ 2 9に 残ることになる。
i i)読込優先度 = optional :highのアプリケーションを読み込んだ後、読込優先 度 -optional : l owのアプリケーションを読み込むにあたって、 ステップ S 1 2 2 が Noと判定されればれば、読込優先度 -Mandatoryのアプリケーションが口一力 ルメモリ 2 9に残ることになる。 読込優先度 = optional : high のアプリケーショ ンを読み込んだ後、読込優先度 = optional: lowのアプリケーションを読み込むに あたって、 ステップ S 1 2 2が Yesと判定されれば、 読込優先度 = optional : low のアプリケーションにより、 読込優先度 = optional : high のアプリケーションは 上書きされ(ステップ S 1 2 3 )、読込優先度 -optional : lowのアプリケ一シヨン がローカルメモリ 2 9に残ることになる。
ローカルメモリ 2 9の容量が許す限り、 ローカルメモリ 2 9上のアプリケ一シ ョンを上書きしてゆく との処理が繰り返されるので、 ローカルメモリ 2 9の格納 内容は、 図 4 7 (b ) に示すように、 mandatory=optional :high=>optional : low と遷移してゆくことになる。メモリ規模に応じて、サイズが異なる Javaァ一カイ ブファイルをロー力ノレメモリ 2 9にロードすることができるので、 メモリ規模が 小さい再生装置については、 必要最小限の解像度をもったサムネール画像を有す る Javaアーカイブフ アイルを、メモリ規模が中程度の再生装置については、中程 度の解像度をもった SD画像を有する Javaアーカイブファイルを、 メモリ規模が 大規模である再生装置については、 高解像度をもった HD画像を有する Javaァー 力イブファイルをローカルメモリ 2 9に口一ドすることができる。 かかるロード により、 メモリ規模に応じて解像度が異なる画像を表示させることができ、 ォー サリング担当者によるタイ トル制作の表現の幅が広がる。 図 4 8は、 データ管理テーブルを参照した読取処理の具体例を示す図である。 本図における 2つのアプリケ一ションは、同じ& 1 1^01110(& 1 &1^ 011#3)が 付与された 2つのアプリケーションを示す図である。 そのうち一方は、 AVCl ip中 に埋め込まれていて、読込優先度が mandatoryに設定されている。他方は、 AVCl ip とは別ファイルに記録されていて、読込優先度が Optionalに設定されている。前 者のアプリケーションは、 AVCl ipに埋め込まれているので、 その埋込部分にあた る生存区間が、生存区間(ti tle#l : chapter#4〜#5)として記述されている。 これら のアプリケーションのうち appl ication#2、 appl ication#3には、 ロードを示す読 込属性が付与されてレヽる。 appl ication#2は Chapter#l〜(; hapter#2を生存区間に しており、 appl icati on^は Chapter#4〜Chapter#5を生存区間にしているので、 タイトル時間軸においてどちらか一方が排他的にローカルメモリ 2 9上に常駐す ることになる。 図 4 8 ( b ) は、 タイトル時間軸上の別々の時点において、 排他 的に格納される appl ication#2、 appl ication^を示す図である。 これは必要最低 限のメモリ規模しかもたない再生装置での再生を念頭に置いた配慮である。 こう した内容のデ一タ管理テ一ブルが処理対象であるとアプリケーションマネージャ 3 6は、 上述した図 4 6のフローチャートによりメモリ規模に応じて異なる処理 を行う。
後者のアプリケーションは、 読込優先度 =ロードであるので、 ローカルメモリ 2 9にロードされる。 かかる処理により、 Mandatory なメモリ規模さえあれば、 アプリケーションマネージャはデータをローカルメモリ 2 9にロードすることが できる。 ここで問題になるのは、 メモリ規模が大きい再生装置による読み込み時 である。 メモリ規模が大きいにも拘らず、 Chapter#4〜(: hapter#5に到達するまで appl ication^ を読み込めないというのは、 メモリ規模の無駄になる。 そこで本 図のデータ管理テーブルには、 同じ appl ication^にプリ口一ドを示す読込属性 を付与して BD-ϋΟΜに記録しておき、これらに同じ appl icationIDを付与している。 前者のアプリケーションは、 読込優先度 ^Optionalであるので、 ステップ S 1 2 1が Yesになった場合に限り、 プリロードされる(ステップ S 1 1 5 )。 こうす ることで、 メモリ規模が大きい再生装置は、 ti tle#l、 Chapter#4〜Chapter#5 の 到達を待つことなく、 AVCl ipに埋め込まれているのと同じアプリケーションを口 一カルメモリ 2 9にロードすることができるのである(図 4 8 ( c ) :)。
以上がプリ口一ド時における処理である。 続いてロード時における処理手順に ついて説明する。
図 4 9は、データ管理テーブルに基づくロード処理の処理手順を示す図である。 本フローチヤ一トは、 ステップ S 1 3 1〜ステップ S 1 3 3からなるループ処理 を、 タイトル再生が継続されている間、 繰り返すというものである。
ステップ S 1 3 1は、 AutoRun を示す起動属性を有したアプリケーションの生 存区間が到来したか否かの判定である。 もし到来すれば、 AutoRun を示す起動属 性を有したアプリケーシヨンをアプリケーシヨン qにして(ステップ S 1 3 4 )、 アプリケーシヨン qを起動する旨の起動指示を Java仮想マシン 3 8に発行して、 アプリケーション qをローカルメモリ 2 9からワークメモリ 3 7に読み出させる (ステップ S 1 3 5 )。
ステップ S 1 3 3は、 タイ トル内 PLの再生が全て終了したかの判定である。 こ の判定は、 第 5実施形態に示したように、 Playback Control Engine 3 2からの再 生終結イベントがあつたか否かでなされる。 もし終了すれば、 本フローチャート の処理を終了する。
ステップ S 1 3 2は、 起動中アプリケーションからの呼出があつたか否かの判 定である。もしあれば、呼出先アプリケーションをアプリケーション qにして(ス テツプ S 1 3 6 )、 現在の再生時点は、 アプリケーション管理テーブルにおける アプリケーション qの生存区間であるか否かを判定する(ステップ S 1 3 7 )。 も し生存区間でなければ、 起動失敗を表示して(ステップ S 1 4 8 )、 ステップ S 1 3 1〜ステップ S 1 3 3からなるループ処理に戻る。 生存区間であれば、 図 5 0 のフローチャートに従い、 ロード処理を行う。
図 5 0におけるステップ S 1 3 8は、 現在の再生時点がデータ管理テーブルに おけるアプリケーション qの生存区間であるか否かを示す判定である。 もし生存 区間でなければ、 アプリケーション qはローカルメモリ 2 9にロードすることが できない。この場合、アプリケーション qを起動する旨の起動指示を Java仮想マ シン 3 8に発行し、 ローカルメモリ 2 9を介することなく、 直接アプリケーショ ン qを BD-R0Mからワークメモリ 3 7に読み出させる。この場合アプリケーション を読み出すためのへッドシークが発生するから、 PL 再生は中断することになる (ステップ S 1 5 )。
もし生存区間であれば、 ステップ S 1 3 9において、 アプリケーションには読 込属性が付加されているか否かを判定する。 読込属性がないということは、 アブ リケ一シヨン qは、 カルーセル化、 若しくはィンターリーブ化されていないこと を意味する。 しかし読込属性が付加されていなくても、 口一カルメモリ 2 9にァ プリケーシヨン qを置くことは許される。 そこで再生中断を承知の上、 アプリケ ーションの読み出しを行う。つまり BD-R0Mから口一カルメモリ 2 9へとアプリケ ーシヨンを読み出した上で、アプリケ一シヨンをワークメモリ 3 7に読み出す(ス テツプ S 1 4 0 )。
ステップ S 1 4 1〜ステップ S 1 4 6は、 ステップ S 1 3 9が Yesと判定され た場合になされ 処理である。 ステップ S 1 4 1では、 読込属性を参照すること で、 アプリケーションがプリロードされているか否かを判定する。 プリロードさ れていれば、 ステップ S 1 3 5に移行する。
ステップ S 1 4 2は、 読込属性がロードである場合に実行される判定ステップ であり、 アプリケーション qがカル一セル化されているか、 ィンターリーブ化さ れているかを判定する。 ィンターリーブ化されていれば、 キャッシュセンスを Java仮想マシン 3 8に実行させる(ステップ S 1 4 3 )。 ローカルメモリ 2 9にァ プリケ一シヨン qが存在すれば、 ステップ S 1 3 5に移行して、 アプリケーショ ン qを Java仮想マシン 3 8にロードさせる。 ローカルメモリ 2 9にアプリケーションがなければ、 トップメニュータイトル に分岐する等の例外処理を行う(ステップ S 1 4 4 )。カルーセル化されていれば、 タイマをセットし(ステップ S 1 4 8 )、そのタイマがタイムアウトするまで(ステ ップ S 1 4 7 )、キヤッシュセンスを Java仮想マシン 3 8に実行させる(ステップ S 1 4 6 )。もしローカルメモリ 2 9にアプリケーション qが出現すれば、図 4 9 のステップ S 1 3 5に移行して、アプリケーション qを Java仮想マシン 3 8に口 —ドさせる。 タイムアウトすれば、 トップメニュータイ トルに分岐する等の例外 処理を行う(ステップ S 1 4 4 )。
図 5 1は、 Java仮想マシン 3 8によるアプリケーションの読み込みがどのよう にして行われるかを模式化した図である。
矢印 ©1, 2 は、 アプリケーション管理テーブルに生存していて、 データ管理テ 一ブルに生存しており、力ルーセル化,インターリーブ化を示す読込属性が存在す る Javaアーカイブファイルの読み込みを示す。 矢印 ©1は、 ステップ S 6 5、 6 7においてなされるローカルメモリ 2 9センスを示す。 このローカルメモリ 2 9 センスは、 力ルーセノレ又はインターリーブ化により埋め込まれたデータが、 ロー カルメモリ 2 9に存在するかもしれないためローカルメモリ 2 9内をセンスする というものである。 矢印 ©2 は、 ステップ S 1 3 5に対応する読み込みであり、 アプリケーションがローカルメモリ 2 9に存在していた場合の、 ローカルメモリ 2 9からワークメモリ 3 7へのロードを示す。 X付きの矢印は、 ローカルメモリ 2 9にデータがない場合を示す。
矢印 VI, 2 は、 アプリケーション管理テーブルに生存しているが、 データ管理 テーブルに生存しておらず、読込属性が存在しない Javaアーカイブファイルの読 み込みを示す。
矢印 VI は、 ステップ S 1 4 5における読み込みに対応するものであり、 Java 仮想マシン 3 8による BD- ROMからのダイレクトリードの要求を示す。矢印 V2は その要求による、 BD- ROMからワークメモリ 3 7への Javaアーカイブファイル読 み出しを示す。
矢印 1, 2,3 は、 アプリケーション管理テーブルに生存していて、 データ管理 テーブルに生存しているが、読込属性が存在しない Jav アーカイブファイルの読 み込みを示す。 矢印 1 は、 ステップ S 1 4 0における読み込みに対応するものであり、 Java 仮想マシン 3 8による BD- ROMからのダイレクトリードの要求を示す。矢印 は その要求による、ローカルメモリ 2 9への Javaアーカイブファイルの読み出しを 示す。矢印 3はローカルメモリ 2 9からワークメモリ 3 7への Javaアーカイブ ファイルの読み出しを示す。
以上のように本実施形態によれば、 ローカルメモリ 2 9上で同時に常駐される アプリケーションの数が所定数以下になるように規定しておくことができるので、 ローカルメモリ 2 9からの読み出し時におけるキャッシュミスを極力回避するこ とができる。 キヤッシュミスのないアプリケーシヨン読み出しを保証することが できるので、 アプリケーション呼出時にあたては、 AVCl ip の再生を止めてまで、 BD-R0Mからアプリケーシヨンを読み出すことはなくなる。 AVCl ip再生を途切れさ せないので、 AVCl ipのシ一ムレス再生を保証することができる。
(第 7実施形態)
第 3実施形態では、非 AV系タイ トルの時間軸をァプリケーシヨンの生存区間に 基づき定めることにした。 しかしアプリケーションの動作というのは不安定であ り、 起動の失敗や異常終了がありうる。 本実施形態は、 起動失敗、 異常終了があ つた場合の Fai l Safe機構を提案するものである。 図 5 2 ( a ) は、 第 7実施形 態に係る BD-Jオブジェクトの内部構成を示す図である。 図 7 ( b ) と比較して本 図が新規なのは、 プレイリスト管理テーブルが追加されている点である。
図 5 2 ( b ) は、 プレイリスト管理テーブルの一例を示す図である。 本図に示 すようにプレイリスト管理テーブルは、 PLの指定と、 その PLの再生属性とから なる。 PLの指定は、 対応するタイ トルのタイ トル時間軸において、 再生可能とな る PLを示す。 PLの再生属性は、 指定された PLを、 タイ トル再生の開始と同時に 自動再生するか否かを示す(こうして自動再生される PLをデフォルト PLという)。 次にプレイリスト管理テーブルによりタイ トル時間軸がどのように規定される かを、 図 5 3を参照しながら説明する。 図 5 3 ( a ) は、 再生属性が非自動再生 を示すよう設定された場合の非 AV 系タイ トルにおけるタイトル時間軸を示す図 である。 この場合、 デフォルト PLは再生されないから、 非 AV系タイトル同様、 アプリケーシヨンの生存区間からタイトル時間軸が定まる。
図 5 3 ( b ) は、 再生属性が AutoPlayに設定された非 AV系タイ トルのタイ ト ル時間軸を示す図である。 再生属性が AutoPlay を示すよう設定されれば、 Playback Control Engi ne 3 2は非 AV系タイ トルの再生開始と同時に、 デフオル ト PLの再生を開始する。 しかしアプリケーションが正常に動作し、正常終了した としても、 このタイトノレ時間軸は、 PL時間軸を基準にして定められる。
図 5 3 ( c ) は、 プレイリスト管理テーブルにおいて再生属性が" AutoPlay" を示すよう設定され、 アプリケーションが異常終了した場合を示す。 かかる異常 終了により、 どのアプリケーションも動作してない状態になるが、 デフォルト PL の再生は継続する。 この場合も、 デフォルト PLの PL時間軸がタイ トル時間軸に なる。
図 5 3 ( d ) は、 プレイリスト管理テーブルにおいて再生属性が" AutoPlay" を示すよう設定され、メ ィンアプリの起動に失敗したケースを示す。この場合も、 Playback Control Engi ne 3 2によるデフォルト PL再生は、 アプリケーションの 起動失敗とは関係なしに行われるので、デフォルト PLの時間軸がタイ トル時間軸 になる。
以上のようにプレイリスト管理テーブルの再生属性を、" AutoPlay"に設定して おけば、 Javaアプリケーションの起動に、 5〜10秒という時間がかかったとして も、 その起動がなされている間、" とりあえず何かが写っている状態" になる。 こ の" とりあえず何かが写っている状態" によりタイ トル実行開始時のスタートァ ップディレイを補うことができる。
以上は本実施形態における記録媒体に対する改良である。 続いて本実施形態に おける再生装置に対する改良について説明する。
図 5 2 ( c ) は、 分岐先タイトルのプレイリスト管理テーブルにおいて、 再生 属性が AutoPlayに設定された PLが存在する場合、 再生装置がどのような処理を 行うかを示す図である。 本図に示すように、 再生属性が AutoPlay に設定された PLが、分岐先タイトルのプレイリスト管理テーブルに存在すれば、 BD- Jモジユー ル 3 5内のアプリケーションマネージャ 3 6は、 タイ トル分岐直後にこの AutoPlayPLの再生を開 台するよう Playback Control Engine3 2に指示する。 こ のように再生属性が AutoPlayの PLは、 タイ トル分岐直後に再生開始が命じられ ることになる。
上述した記録媒体の改良に対応するため、 アプリケーションマネージャ 3 6は 図 5 4に示すような処理手順で処理を行う。
図 5 4は、 第 7実施形態に係るアプリケーションマネージャ 3 6の処理手順を 示すフローチャートである。 本フローチャートは、 図 3 8のフローチャートにお いてステップ S 2 1の前にステップ S 1 0 3、 ステップ S 1 0 4を追加し、 ステ ップ S 2 1と、 ステップ S 2 2との間にステップ S 1 0 0を追加し、 ステップ S 2 3 _ステップ S 2 6間に、 ステップ S 1 0 5を追加したものである。
ステップ S 1 0 3は、 対応するタイ トルのプレイリスト管理テーブルの再生属 性が AutoPlayであるか否かの判定である。 もし AutoPlayなら、 デフォルト PL に対する再生制御を Playback Control Engine3 2に開始させる(ステップ S 1 0 4 ) o
ステップ S 1 0 0は、 Presentation Engine 3 1による再生中であるか否かを判 定する。 もし再生中であるなら、 ステップ S 1 0 1に移行する。
ステップ S 1 0 5は、 ステップ S 2 3が Yes、 ステップ S 2 5が Noである場合 に実行される判定ステップであり、再生属性が AutoPlayであるか否かを示す。 も し否であるなら、 タイ トル終了をモジュールマネージャ 3 4に通知する。 もし AutoPlayであるなら、 ステップ S 1 0 1に移行して、 処理を継続する。
図 5 5は、 プレイリスト管理テーブルにおいて" 再生属性 = AutoPlay" に設定 されることにより、 どのような再生が行われるかを模式化した図である。 ここで 再生すべきタイ トルは、 落下するタイル片を積み重ねるというゲームアプリを含 む非 AV系タイトルである。 この非 AV系タイ トルにおいて、 プレイリスト管理テ 一ブルの再生属个生が AutoPlayに設定されていれば、 Playback Control Engine 3 2によるデフオノレト PL再生も開始する。 ゲームアプリの実行と、 デフォルト PL 再生とが並列的になされるので、 図 5 5の上段の左側に示すように、 前景をゲー ムアプリの画面とし、背景をデフオルト PLの再生画像とした合成画像が表示され ることになる。 このゲームアプリは途中で異常終了したとする。 ゲームアプリは アプリケ一ショ ンマネージャ 3 6により強制終了させられるが、 デフォルト PL の再生が継続してなされるため、 タイ トルは、 何かが写っている状態になる。 こ のようなプレイ リスト管理テーブルにおける再生属性の指定により、非 AV系タイ トル内のゲームアプリが異常終了した場合でも、 ハングアップやブラックァゥト がない動作を維持することができる。 (第 8実施形態)
第 1実施形態において BD- Jオブジェクトは、データ管理テーブル、アプリケー シヨン管理テーブルという 2つのテーブルを具備していたが、 本実施形態は、 こ れらを 1つのテーブルに統合するという形態を開示する。かかる統合にあたって、 図 5 6 ( a ) に示すように、 データ管理テ一ブルにおける読込属性という項目を 廃し、 代わりに起動属性に Ready属性という属性を設ける。 Ready属性とは、 他 のアプリケーションカ、らの呼出又はアプリケーションマネージャ 3 6からの呼出 に備えて、 ローカルメモリ 2 9に予めアプリケーションをロードしておく旨を示 す起動属性の類型である。
図 5 6 ( b ) は、 アプリケーションの扱いと、 起動属性との関係を示した図で ある。 第 1実施形態に示したようにアプリケーションの扱いには、 プリロードさ れるか否か(1)、 現在の再生時点が有効区間に到来した際自動的に起動されるか、 他からの呼出に応じて起動されるか(2)、タイトル再生進行に従ってロードされる か(3)、 生存しているかという違いがあり、 これらの違いにより、 図 5 6 ( b ) に 示すような 5つの態様が出現する。 このうち起動属性が AutoRunに設定されるの は、 プリロードがなされ、" 自動起動" である場合、 及び、 ロードがなされ、" 自 動起動" である場合である。
一方、 起動属性が Ready属性に設定されるのは、 プリロード、 又は、 ロードが なされ、 起動項目が" 呼出起動" を示している場合である。
尚、 ワークメモリ 3 7では生存しているが、 口一カルメモリ 2 9にはロードさ れない" との類型が存在し得ない。 これは、 アプリケーション 'データ管理テープ ルでは、 ワークメモリ 3 7の生存区間と、 ローカルメモリ 2 9の生存区間とがー 体だからである。
起動属性として、 この Ready属性を追加されたので、 アプリケーションマネー ジャ 3 6はタイトル再生に先立ち、 起動属性が AutoRunに設定されたアプリケ一 シヨン、 及び、 起動属性が Ready属性に設定されたアプリケーションをローカル メモリ 2 9にプリロードするとの処理を行う。 こうすることにより、 読込属性を 設けなくても、 アプリケーションをローカルメモリ 2 9にプリロードしておくと の処理が可能になる。
図 5 7は、第 8実施形態に係る Java仮想マシン 3 8によるアプリケーションの 読み込みがどのようにして行われるかを模式化した図である。 本図における読み 込みは、 図 5 1をベースにして作図している。
矢印 ©1, 2は、 アプリケーション.データ管理テーブルに生存していて、起動属 性が Ready属性に設定されている Javaアーカイブフアイルの読み込みを示す。 矢印 1, 2,3は、 アプリケーション 'データ管理テーブルに生存していおり、 起 動属性が Persistentであるアプリケーションの読み込みを示す。
これらの矢印 ©1, 2、 矢印 1, 2,3は、 図 5 1でも記述されていたものだが、 図 5 1に記述していた、 VI , 2 の矢印に該当する読み込み" は、 図 5 7では存在し ない。 これは、 アプリケーション 'データ管理テーブルは、 アプリケーション管理 テーブル、 データ管理テ一ブルを一体化したものなので、 アプリケーション管理 テーブル =生存、 データ管理テ一ブル =非存在という組合せは表現し得ないから でめる。
以上のように本実施形態によれば、 データ管理テーブル、 アプリケーション管 理テーブルを 1 つのテーブル(アプリケーション'データ管理テーブル)にまとめ ることができるので、 アプリケーションマネージャ 3 6による処理を簡略化する ことができる。尚、読込優先度をなくすことによりアプリケーション 'データ管理 テーブルをより筒咯化にしても良い。
(第 9実施形態)
第 1実施形態では、 アプリケーションを口一カルメモリ 2 9に読み込むにあた つて、 読込優先度を参照して、 この読込優先度に従い、 読み込み処理に優劣を与 えた。 これに対し第 9実施形態は、 Optionalを意味する情報と、 0から 255まで の数値との組合せにより読込優先度を表す実施形態である。
図 5 8 ( a ) ( b ) は、 第 9実施形態に係る読込優先度の一例を示す図である。 255、 128 は、 0 から 255 までの読込優先度の一例であり、 本例における appl ication^は、 appl ication#3より読込優先度が高いことを意味する。
本実施形態にお ヽてアプリケーションマネージャ 3 6は、 第 1実施形態同様、 先ず Mandatoryを す読込優先度が付与されたアプリケーションをローカルメモ リ 2 9に読み込む。
その後、 Optional を示す読込優先度が付与されたアプリケーションに対しては、 口一カルメモリ 2 9における容量が、 アプリケーションのサイズを上回るか否か を判定する。 もし上回るなら、 読込優先度 ^Optionalが付与されたアプリケ一シ ヨンをそのままローカルメモリ 2 9に読み込む。 もし下回るなら、 アプリケーシ ョンを構成するデータのうち、 読込優先度を表す数値が高いァプリケ一シヨンを ローカルメモリ 2 9に読み込む。 そして、 ローカルメモリ 2 9における残りの領 域に、 読込優先度を表す数値が低いアプリケーションを読み出す。 こうすることで Optional扱いのアプリケ一シヨンについては、全体を格納する 容量が再生装置のローカルメモリ 2 9になくても、 その一部分を口一カルメモリ 2 9に格納しておくことができる。
(第 1 0実施形態)
第 1 実施形態においてアプリ ケーシ ョ ンマネージャ 3 6は、 同じ appl icationID が付与されたアプリケーションを、 読込優先度に従い排他的に口 一カルメモリ 2 9にロードするとしたが、 第 1 0実施形態は、 アプリケーション にグループ属性を与えることにより、 排他的なロードを実現する。 図 5 9は、 グ ループ属性が付与されたデータ管理テーブルを示す図である。グループ属性には、 排他グループなし、 排他グループあり、 といった、 2通りの設定が可能であり、 排他グループありの場合、 そのグループ番号が記述される。 図 5 9 ( a ) におけ る ti tle#lの「一」は、排他グループが存在しないことを示す。一方、 title#2,#3 の rgrouptlj は、 排他グループがあり、 ti tle#2,#3は、 group#lという排他ダル ープに帰属していることを示す。以上が本実施形態に係る記録媒体の改良である。 本実施形態に係る再生装置は、 データ管理テーブルに基づいて各アプリケーシ ョンをローカルメモリ 2 9に読み込んだ後、 ローカルメモリ 2 9のアプリケーシ ョンにおけるグループ属性をべリファイする。 同じ排他グループに帰属するアブ リケーシヨンが、 ローカルメモリ 2 9上に 2つ以上存在していれば、 そのうち一 方をローカルメモリ 2 9から削除する。
こうすることにより、 ローカルメモリ 2 9の利用効率を向上させることができ る。 排他グループの具体例としては、 ランチャーアプリと、 このアプリにより起 動されるアプリとからなるグループが相応しい。 本アプリケーションにより起動 されるアプリケーションは、原則 1つに限られるので、ローカルメモリ 2 9には、 ランチャー + 1個のアプリケーションのみが存在する喾である。 もし 3つ以上の アプリケーションが存在していれば、 これをローカルメモリ 2 9から削除すると いう処理をアプリケーションマネージャ 3 6は行う必要があるので、 各アプリケ ーシヨンのグループ属 f生を設け、 ローカルメモリ 2 9上で存在するアプリケーシ ョンがランチャー + 1個のアプリケーションになっているかどうかのチェックを 行うのである。
図 5 9 ( a ) は、 アプリケーション管理テーブルに基づくローカルメモリ 2 9 に対するアクセスを す図である。 本図において、読込優先度 = Optionalと設定 された appl ication#2、 appl icati on#3のグループ属性は、 group#lであるので、 これらのアプリケーションは、 同じ排他グループに属することになる。 3 つのァ プリケーシヨンのうち、 ppl ication#l は上述したランチャ一アプリケーション であり、 appl ication#2、 appl icati on#3は、 これにより起動されるアプリケーシ ヨンであるので、 どちらかのみがローカルメモリ 2 9上に存在するよう、 グルー プ属性が付与されている。 アプリケーシ ョ ンマネージャ 3 6は、 これら appl ication#2, appl i cation#3のグループ属性を参照して、 どちらか 1つをロー カルメモリ 2 9から肖 ϋ除するとの処理を行う。 かかる削除により口一カルメモリ 2 9に余白が生まれる。
(第 1 1実施形態)
第 1実施形態では、 アプリケーション管理テーブルをタイ トル毎に持たせると したが、 本実施形態では、 このアプリケーション管理テーブルの割当単位を変更 させることを提案する。 図 6 0は、 割当単位のバリエーションを示す図である。 本図において第 1段目は、 BD-R0Mに記録されている 3つのアプリケーション管理 テ一プルを示し、 第 2段目は、 タイ トル単位、 第 3段目は、 ディスク単位、 第 4 段目は、複数 BD-R0Mからなるディスクセット単位を示す。 図中の矢印は、 アプリ ケ一ション管理テーブルの割り当てを模式化して示している。 この矢印を参照す ると、 第 1段目にお W "るアプリケーション管理テーブル #1 , #2, #3のそれぞれは、 第 2段目に示した Ut le#l , #2, #3のそれぞれに割り当てられていることがわかる。 また、ディスク単位ではアプリケーション管理テ一ブル #4が割り当てられており、 ディスクセッ ト全体に対しはアプリケーション管理テーブル #5 が割り当てられ ている。 このようにアプリケーション管理テ一ブルの割当単位を、 タイ トルより 大きい単位にすることにより、 1つの BD- ROMが口一ディングされている間、 生存 するようなアプリケーションや複数 BD- ROM のうちどれかがローデイングされて いる間、 生存するようなアプリケーションを定義することができる。
(備考)
以上の説明は、 本発明の全ての実施行為の形態を示している訳ではない。 下記 (A) (B) (0 (D)……の変更を施した実施行為の形態によっても、本発明の実施は可 能となる。 本願の請求項に係る各発明は、 以上に記載した複数の実施形態及びそ れらの変形形態を拡張した記載、 ないし、 一般化した記載としている。 拡張ない し一般化の程度は、 本発明の技術分野の、 出願当時の技術水準の特性に基づく。
(A)全ての実施形態では、本発明に係る光ディスクを BD-R0Mとして実施したが、 本発明の光ディスクは、 記録される動的シナリオ、 Index Table に特徴があり、 この特徴は、 BD-R0Mの物理的性質に依存するものではない。動的シナリォ、 Index Tableを記録しうる記録媒体なら、どのような記録媒体であつてもよい。例えば、 DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD+RW, DVD+R, CD-R, CD-R 等の光ディ スク、 PD. M0等の光磁気ディスクであってもよい。また、コンパクトフラッシュカード、 スマートメディア、 メモリスティ ック、 マルチメディアカード、 PCM-CIA カード 等の半導体メモ リ カー ドであってもよい。 フ レシキブルディ スク、 SuperDisk, Zi p, Cl ik !等の磁気記録ディスク(i:)、 ORB, Jaz, SparQ, SyJet, EZFley, マイクロドライブ等のリムーバルハードディスクドライブ(i i)であってもよい。 更に、 機器内蔵型のハードディスクであってもよい。
(B) 全ての実施形態における再生装置は、 BD- ROMに記録された AVCl ipをデコ ードした上で TVに出力していたが、 再生装置を BD- ROM ドライブのみとし、 これ 以外の構成要素を TVに具備させてもい、この場合、再生装置と、 TVとを IEEE1394 で接続されたホームネッ トワークに組み入れることができる。 また、 実施形態に おける再生装置は、 テレビと接続して利用されるタイプであつたが、 ディスプレ ィと一体型となった再生装置であってもよい。 更に、 各実施形態の再生装置にお いて、 処理の本質的部分をなす部分のみを、 再生装置としてもよい。 これらの再 生装置は、 何れも本願明細書に記載された発明であるから、 これらの何れの態様 であろうとも、 各実施形態に示した再生装置の内部構成を元に、 再生装置を製造 する行為は、 本願の明細書に記載された発明の実施行為になる。 各実施形態に示 した再生装置の有償 ·無償による譲渡 (有償の場合は販売、 無償の場合は贈与にな る)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタ口グ勧誘、 パンフレット配布により、 これらの譲渡や貸渡を、 一般ユーザに申し出る行為も 本再生装置の実施行為である。
(C)各フローチャートに示したプログラムによる情報処理は、ハードウエア資源 を用いて具体的に実現されていることから、 上記フローチャートに処理手順を示 したプログラムは、 単体で発明として成立する。 全ての実施形態は、 再生装置に 組み込まれた態様で、 本発明に係るプログラムの実施行為についての実施形態を 示したが、 再生装置から分離して、 各実施形態に示したプログラム単体を実施し てもよい。 プログラム単体の実施行為には、 これらのプログラムを生産する行為 (1)や、 有償'無憤によりプログラムを譲渡する行為 (2)、 貸与する行為 (3)、 輸入 する行為 (4)、双方向の電子通信回線を介して公衆に提供する行為 (¾、店頭展示、 カタログ勧誘、 ノ、。ンフレッ ト配布により、 プログラムの譲渡や貸渡を、 一般ユー ザに申し出る行為(6)がある。
(D)各フローチャートにおいて時系列に実行される各ステップの「時」の要素を、 発明を特定するための必須の事項と考える。 そうすると、 これらのフローチヤ一 トによる処理手順は、 再生方法の使用形態を開示していることがわかる。 各ステ ップの処理を、 時系列に行うことで、 本発明の本来の目的を達成し、 作用及び効 果を奏するよう、 これらのフロ—チャートの処理を行うのであれば、 .本発明に係 る記録方法の実施行為に該当することはいうまでもない。
(E) Chapterを一覧表示するための Menu (Chapter Menu)と、 これの挙動を制御す る MOVIEォブジェクトとを BD- ROMに記録しておき、 Top Menuから分岐できるよ うにしてもよい。 またリモコンキーの Chapterキーの押下により呼出されるよう にしてもよい。
(F) BD- ROMに記録するにあたって、 AVCl ipを構成する各 TSバケツトには、拡張 ヘッダを付与しておくことが望ましい。 拡張ヘッダは、 TP— ext ra— header と呼ば れ、 『Arribval— Time— Stamp』 と、 『copy一 permission— indicator』 と み 4ノ ィ トのデータ長を有する。 TP_extra_header付き TSバケツト(以下 EX付き TSパケ ットと略す)は、 32 個毎にグループ化されて、 3 つのセクタに書き込まれる。 32 個の EX付き TSバケツトからなるグループは、 6144パイ ト(=32 X 192)であり、 こ れは 3個のセクタサイズ 6144バイト(=2048 x 3)と一致する。 3個のセクタに収め られた 32個の EX付き TSパケットを" Al igned Uni t" という。
IEEE1394を介して接続されたホ一ムネットワークでの利用時において、再生装 置 2 0 0は、 以下のような送信処理にて Al igned Unitの送信を行う。 つまり送り 手側の機器は、 Al igned Uni tに含まれる 32個の EX付き TSバケツトのそれぞれ から TP— extra— headerを取り外し、 TSパケット本体を DTCP規格に基づき暗号化 して出力する。 TS バケツ 卜の出力にあたっては、 TS バケツ ト間の随所に、 isochronous バケツ トを揷入する。 この揷入箇所は、 TP— extra— header の Arribval— Time— Stampに示される時刻に基づいた位置である。 TSパケットの出力 に伴い、 再生装置 2 0 0は DTCP—Descriptorを出力する。 DTCP— Descriptorは、 TP— extra— header におけるコピー許否設定を示す。 ここで 「コピー禁止」 を示す よう DTCP一 Descriptorを記述しておけば、 IEEE1394を介して接続されたホームネ ッ トワークでの利用時において TSバケツトは、他の機器に記録されることはない。
(G)各実施形態において、 記録媒体に記録されるデジタルストリームは AVCl ip であったが、 DVD-Video規格、 DVD- Video Recording規格の V0B(Video Object)で あってもよい。 V0B は、 ビデオストリーム、 オーディオストリームを多重化する ことにより得られた IS0/IEC13818-1規格準拠のプログラムストリームである。ま た AVCl ipにおけるビデオストリームは、 MPEG4や WMV方式であってもよい。 更に オーディオストリームは、 Li near- PCM方式、 Do 1 by-AC3方式、 MP3方式、 MPEG-AAC 方式、 Dts、 WMA (Windows media audio)であってもよい。
(H)各実施形態における映像作品は、アナ口グ放送で放送されたアナ口グ映像信 号をエンコードすることにより得られたものでもよい。 デジタル放送で放送され たトランスポートストリームから構成されるストリームデータであってもよい。 またビデオテープに記録されているアナログ/ /デジタルの映像信号をェンコ一 ドしてコンテンツを得ても良い。 更にビデオカメラから直接取り込んだアナ口グ /デジタルの映像信号をエンコードしてコンテンツを得ても良い。 他にも、 配信 サーバにより配信されるデジタル著作物でもよい。
(D BD-Jモジュール 3 5は、衛星放送受信のために機器に組み込まれた Javaプ ラッ トフオームであってもよい。 BD- Jモジュール 3 5がかかる Javaプラットフ オームであれば、 本発明に係る再生装置は、 MHP用 STBとしての処理を兼用する ことになる。
更に携帯電話の処理制御のために機器に組み込まれた Java プラットフォーム であってもよい。 かかる BD- Jモジュール 3 5がかかる Javaプラットフオームで あれば、本発明に係る再生装置は、携帯電話としての処理を兼用することになる。
(K)レイァモデルにおいて、 BD-Jモードの上に MOVIEモードを配置してもよい。 特に MOVIEモードでの動的シナリォの解釈や、 動的シナリオに基づく制御手順の 実行は、 再生装置に対する負担が軽いので、 MOVIEモードを BD-Jモード上で実行 させても何等問題は生じないからである。 また再生装置や映画作品の開発にあた つて、 動作保証が 1つのモードで済むからである。
更に BD- Jモードだけで再生処理を実行してもよい。第 5実施形態に示したよう に、 BD- Jモードでも PLの再生と同期した再生制御が可能になるから、強いて MOVIE モ一ドを設けなくてもよいという理由による。
(L)AVCl ip に多重化されるべきィンタラクティブグラフィクスストリームにナ ピゲ一シヨンコマンドを設けて、ある PLから別の PLへの分岐を実現しても良い。 産業上の利用可能性
本発明に係る再生装置は、 ホームシアターシステムでの利用のように、 個人的な 用途で利用されることがありうる。 しかし本発明は上記実施形態に内部構成が開 示されており、 この内部構成に基づき量産することが明らかなので、 資質におい て工業上利用することができる。 このことから本発明に係る再生装置は、 産業上 の利用可能性を有する。

Claims

請求の範囲
1 . デジタルストリームを含むタイトルの再生と、 アプリケーションの実行と を同時に行う再生装置であって、
アプリケーションを実行するモジュールと、
タイ トルに帰属するデジタルストリームを再生する再生エンジン部と、 タイ トル間の分岐を制御するモジュールマネージャとを備え、
モジュールは、 仮想マシン部と、 アプリケーションマネージャとを有し、 前記仮想マシン部は、 アプリケーションを解読して、 インスタンスの生成と、 生成されたィンスタンスの実行とを行い、
前記アプリケーションマネージャは、 インスタンスが仮想マシン部内のワーク メモリに存在する場合、 アプリケーションが終了したとしても、 タイ トル再生は 継続していると解釈し、 再生制御エンジン部から再生終結イベントが発せられれ ば、 タイ トル再生は終了したとして、 モジュールマネージャに、 次のタイトルを 選択させる
ことを特徴とする再生装置。
2. 前記モジュールは、 ユーザ操作に応じて発生するキーイベントがアプリケ ーシヨン向けのィンターフェイスに対応したキーィベントであるか否かを判定す るリスナモジュールマネージャと、
非対応のキーイベントである場合、 その非対応キーイベントに応じた処理を再 生制御エンジン部に命じるデフォルト処理部と、 を備えることを特徴とする、 請 求項 1記載の再生装置。
3 . デジタルストリームを含むタイ トルの再生と、 アプリケーションの実行と を同時にコンピュータに実行させるプログラムであって、
前記コンピュータは、 仮想マシン部を有し、
前記仮想マシン部は、 アプリケーションを解読して、 インスタンスの生成と、 生成されたィンスタンスの実行とを行い、
前記プログラムは、 ィンスタンスが仮想マシン部内のワークメモリに存在する 場合、 アプリケーションが終了したとしても、 タイ トル再生は継続していると解 釈し、 再生終結イベントが発せられれば、 タイトル再生は終了したとして、 次の タイ トルを選択させるようコンピュータを制御する
ことを特徴とするプログラム。
4. デジタルストリームを含むタイトルの再生と、 アプリケーションの実行と を同時にコンピュータに実行させる再生方法であって、
前記コンピュータは、 仮想マシン部を有し、
前記仮想マシン部は、 アプリケーションを解読して、 インスタンスの生成と、 生成されたィンスタンスの実行とを行い、
前記プログラムは、 ィンスタンスが仮想マシン部内のワークメモリに存在する 場合、 アプリケーションが終了したとしても、 タイトル再生は継続していると解 釈し、 再生終結イベントが発せられれば、 タイトル再生は終了したとして、 次の タイ トルを選択させるようコンピュータを制御する
ことを特徴とする再生方法。
PCT/JP2004/015337 2003-10-10 2004-10-12 再生装置、プログラム、再生方法 WO2005036547A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN2004800297436A CN1867988B (zh) 2003-10-10 2004-10-12 再现装置、再现方法
KR1020067007239A KR101051846B1 (ko) 2003-10-10 2004-10-12 재생장치, 기록매체, 재생방법
US10/572,983 US8437625B2 (en) 2003-10-10 2004-10-12 Playback apparatus program and playback method
EP04773787A EP1675119A4 (en) 2003-10-10 2004-10-12 DEVICE, PROGRAM, AND METHOD OF READING
JP2005514681A JP4182110B2 (ja) 2003-10-10 2004-10-12 再生装置、プログラム、再生方法。

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2003352913 2003-10-10
JP2003-352913 2003-10-10
JP2003379758 2003-11-10
JP2003-379758 2003-11-10

Publications (1)

Publication Number Publication Date
WO2005036547A1 true WO2005036547A1 (ja) 2005-04-21

Family

ID=34436929

Family Applications (5)

Application Number Title Priority Date Filing Date
PCT/JP2004/015335 WO2005036546A1 (ja) 2003-10-10 2004-10-12 再生装置、プログラム、再生方法
PCT/JP2004/015339 WO2005036555A1 (ja) 2003-10-10 2004-10-12 記録媒体、再生装置、プログラム、再生方法
PCT/JP2004/015333 WO2005036545A1 (ja) 2003-10-10 2004-10-12 再生装置、プログラム、再生方法
PCT/JP2004/015330 WO2005036554A1 (ja) 2003-10-10 2004-10-12 記録媒体、再生装置、プログラム、再生方法
PCT/JP2004/015337 WO2005036547A1 (ja) 2003-10-10 2004-10-12 再生装置、プログラム、再生方法

Family Applications Before (4)

Application Number Title Priority Date Filing Date
PCT/JP2004/015335 WO2005036546A1 (ja) 2003-10-10 2004-10-12 再生装置、プログラム、再生方法
PCT/JP2004/015339 WO2005036555A1 (ja) 2003-10-10 2004-10-12 記録媒体、再生装置、プログラム、再生方法
PCT/JP2004/015333 WO2005036545A1 (ja) 2003-10-10 2004-10-12 再生装置、プログラム、再生方法
PCT/JP2004/015330 WO2005036554A1 (ja) 2003-10-10 2004-10-12 記録媒体、再生装置、プログラム、再生方法

Country Status (7)

Country Link
US (10) US8131130B2 (ja)
EP (9) EP1677302A4 (ja)
JP (6) JP4182110B2 (ja)
KR (7) KR100937791B1 (ja)
CN (2) CN101702320B (ja)
TW (1) TW200518070A (ja)
WO (5) WO2005036546A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7515812B2 (en) 2003-10-10 2009-04-07 Panasonic Corporation Recording medium, reproduction device, program, and reproduction method
WO2010007757A1 (ja) * 2008-07-16 2010-01-21 パナソニック株式会社 再生装置、再生方法、プログラム
EP2180477A1 (en) 2004-07-22 2010-04-28 Panasonic Corporation Playback apparatus and playback method
EP2372711A1 (en) 2010-04-01 2011-10-05 Alpine Electronics, Inc. Video playback apparatus and resume playback method
US8045429B2 (en) 2008-07-29 2011-10-25 Fujitsu Ten Limited Control apparatus and method for content reproducing

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218951B2 (en) 2003-10-30 2012-07-10 Samsung Electronics Co., Ltd. Storage medium storing program management information, and reproducing method and apparatus
EP1691367B1 (en) 2003-11-10 2008-03-19 Matsushita Electric Industrial Co., Ltd. Recording medium, reproduction device, program, reproduction method, and system integrated circuit
KR20050066264A (ko) 2003-12-26 2005-06-30 엘지전자 주식회사 고밀도 광디스크의 메뉴 구성방법 및 실행방법과기록재생장치
KR20050066265A (ko) 2003-12-26 2005-06-30 엘지전자 주식회사 고밀도 광디스크의 메뉴 구성방법 및 실행방법과기록재생장치
JP4626799B2 (ja) * 2004-07-12 2011-02-09 ソニー株式会社 再生装置および方法、情報提供装置および方法、データ、記録媒体、並びにプログラム
EP2270804B1 (en) 2004-07-22 2018-09-12 Panasonic Intellectual Property Management Co., Ltd. Playback apparatus for performing application-synchronized playback
KR100694123B1 (ko) * 2004-07-30 2007-03-12 삼성전자주식회사 동영상 데이터와 어플리케이션 프로그램이 기록된 저장매체 및 그 재생 장치 및 방법
KR100677132B1 (ko) * 2004-09-09 2007-02-02 삼성전자주식회사 동영상 재생 및 프로그래밍 기능을 위한 멀티미디어데이터를 기록한 저장 매체, 그 재생 장치 및 재생 방법
CN101057288B (zh) 2004-11-09 2010-12-22 汤姆森许可贸易公司 把内容绑定到可移动存储器上的方法和装置
KR20060059572A (ko) * 2004-11-29 2006-06-02 삼성전자주식회사 플레이리스트를 자동 재생하기 위한 정보를 포함하는 저장매체, 그 재생 장치 및 재생 방법
CN102290083B (zh) * 2004-12-06 2016-03-16 皇家飞利浦电子股份有限公司 用于扩展对于多个存储介质的交互性的方法和装置
KR20060081336A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 기록매체에서의 디지털 인증방법
KR20060085154A (ko) * 2005-01-21 2006-07-26 엘지전자 주식회사 기록매체, 로컬 스토리지를 이용한 기록매체의 재생방법과재생장치
WO2006080462A1 (ja) 2005-01-28 2006-08-03 Matsushita Electric Industrial Co., Ltd. 記録媒体、プログラム、再生方法
EP1696321A1 (en) 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
RU2007103565A (ru) 2005-02-04 2008-08-10 Мацусита Электрик Индастриал Ко., Лтд. (Jp) Устройство считывания, программа и способ считывания
EP2498255A1 (en) * 2005-02-18 2012-09-12 Panasonic Corporation Stream reproduction device and stream supply device
US8787131B2 (en) 2005-02-28 2014-07-22 Koninklijke Philips N.V. Fallback mechanism for data reproduction
EP1859624A2 (en) * 2005-03-03 2007-11-28 Koninklijke Philips Electronics N.V. Streamed file system for optical disc applications
US20080022343A1 (en) * 2006-07-24 2008-01-24 Vvond, Inc. Multiple audio streams
US7937379B2 (en) * 2005-03-09 2011-05-03 Vudu, Inc. Fragmentation of a file for instant access
US20090019468A1 (en) * 2005-03-09 2009-01-15 Vvond, Llc Access control of media services over an open network
US8219635B2 (en) * 2005-03-09 2012-07-10 Vudu, Inc. Continuous data feeding in a distributed environment
US20090025046A1 (en) * 2005-03-09 2009-01-22 Wond, Llc Hybrid architecture for media services
US8904463B2 (en) 2005-03-09 2014-12-02 Vudu, Inc. Live video broadcasting on distributed networks
US7698451B2 (en) * 2005-03-09 2010-04-13 Vudu, Inc. Method and apparatus for instant playback of a movie title
US7191215B2 (en) * 2005-03-09 2007-03-13 Marquee, Inc. Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines
US9176955B2 (en) * 2005-03-09 2015-11-03 Vvond, Inc. Method and apparatus for sharing media files among network nodes
US8099511B1 (en) 2005-06-11 2012-01-17 Vudu, Inc. Instantaneous media-on-demand
US8020084B2 (en) * 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20080238938A1 (en) * 2005-08-29 2008-10-02 Eklund Don Effects for interactive graphic data in disc authoring
JP4972933B2 (ja) * 2005-12-28 2012-07-11 ソニー株式会社 データ構造、記録装置、記録方法、記録プログラム、再生装置、再生方法および再生プログラム
US20070223889A1 (en) * 2006-03-16 2007-09-27 Dandekar Shree A Embedded high definition media management module for information handling systems
JP2007328692A (ja) * 2006-06-09 2007-12-20 Canon Inc 代数演算方法及びその装置、プログラム
US8296812B1 (en) 2006-09-01 2012-10-23 Vudu, Inc. Streaming video using erasure encoding
EP1923781A1 (en) * 2006-11-14 2008-05-21 Thomson Holding Germany GmbH & Co. OHG Method and device for sequentially processing a plurality of programs
US8015548B2 (en) * 2007-03-22 2011-09-06 Arcsoft, Inc. Method for obtaining context of corresponding Xlet while playing BD-J title
EP2234109B8 (en) * 2007-12-17 2016-06-01 Panasonic Intellectual Property Corporation of America Individual sales oriented recording medium, recording device, reproducing device and method for them
KR100943907B1 (ko) * 2008-01-10 2010-02-24 엘지전자 주식회사 데이터 재생방법 및 기록재생장치 및 디지털 방송수신장치
EP2107567A1 (en) * 2008-04-04 2009-10-07 Deutsche Thomson OHG Data carrier carrying a set of machine-interpretable instructions and media content which is presented upon execution of said machine-interpretable instructions
KR20100134015A (ko) 2008-04-16 2010-12-22 파나소닉 주식회사 기록매체, 기록장치, 기록방법 및 재생장치
WO2009128232A1 (ja) * 2008-04-16 2009-10-22 パナソニック株式会社 再生装置、再生方法、プログラム
KR101486772B1 (ko) * 2008-06-04 2015-02-04 삼성전자주식회사 재생 위치에 따라 디지털 컨텐츠를 관리하는 방법과 장치및 실행하는 방법 및 장치
JP2010009408A (ja) * 2008-06-27 2010-01-14 Sony Corp 情報処理装置、およびデータ処理方法、並びにプログラム
US8566869B2 (en) 2008-09-02 2013-10-22 Microsoft Corporation Pluggable interactive television
US20100088602A1 (en) * 2008-10-03 2010-04-08 Microsoft Corporation Multi-Application Control
US8671077B2 (en) * 2008-11-06 2014-03-11 Deluxe Digital Studios, Inc. Methods, systems and apparatuses for use in updating a portable storage medium
WO2010052857A1 (ja) * 2008-11-06 2010-05-14 パナソニック株式会社 再生装置、再生方法、再生プログラム、及び集積回路
CN102227775B (zh) * 2008-12-04 2014-03-12 三菱电机株式会社 视频信息再现方法和视频信息再现装置
JP5433239B2 (ja) * 2009-01-15 2014-03-05 日本放送協会 放送型アプリケーションの起動システム
KR101862351B1 (ko) * 2009-01-21 2018-05-29 삼성전자주식회사 콘텐트 정보 제공 및 재생 방법 및 장치
KR20100111996A (ko) * 2009-04-08 2010-10-18 삼성전자주식회사 가상 이미지 파일 처리 방법 및 장치
EP2254119B1 (en) 2009-05-20 2019-03-13 Sony DADC Austria AG Method for copy protection
EP2254118A1 (en) 2009-05-20 2010-11-24 Sony DADC Austria AG Method for copy protection
EP2254117B1 (en) 2009-05-20 2018-10-31 Sony DADC Austria AG Method for copy protection
US9263085B2 (en) 2009-05-20 2016-02-16 Sony Dadc Austria Ag Method for copy protection
EP2254121A1 (en) 2009-05-20 2010-11-24 Sony DADC Austria AG Method for copy protection
RU2539717C2 (ru) 2009-05-20 2015-01-27 Сони Дадк Аустриа Аг Способ защиты от копирования
EP2254116A1 (en) 2009-05-20 2010-11-24 Sony DADC Austria AG Method for copy protection
EP2254120A1 (en) 2009-05-20 2010-11-24 Sony DADC Austria AG Method for copy protection
JP5215255B2 (ja) * 2009-07-10 2013-06-19 シャープ株式会社 プログラム実行装置、プログラム実行方法、コンテンツ再生装置、プログラムおよび記録媒体
US20120109871A1 (en) * 2009-07-14 2012-05-03 Pioneer Corporation Reproducing apparatus and method, and computer program
US8401370B2 (en) * 2010-03-09 2013-03-19 Dolby Laboratories Licensing Corporation Application tracks in audio/video containers
US8909029B2 (en) * 2010-10-13 2014-12-09 Sony Corporation Capturing playback key events in BD players
US8648959B2 (en) 2010-11-11 2014-02-11 DigitalOptics Corporation Europe Limited Rapid auto-focus using classifier chains, MEMS and/or multiple object focusing
JP6018797B2 (ja) * 2011-05-20 2016-11-02 日本放送協会 受信機
US8355305B1 (en) 2011-07-14 2013-01-15 Disney Enterprises, Inc. System and method for initialization of media asset modules for improved execution sequence on a playback environment
JP5857636B2 (ja) 2011-11-02 2016-02-10 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US10869104B2 (en) * 2012-04-19 2020-12-15 Saturn Licensing Llc Receiving apparatus, reception method, transmitting apparatus, transmission method, and program
KR20140018743A (ko) * 2012-08-03 2014-02-13 삼성전자주식회사 디스크리스 어플리케이션 재생 장치 및 기록 장치, 재생 방법 및 기록 방법과 디스크리스 어플리케이션을 기록한 정보저장매체
CN102917246B (zh) * 2012-08-31 2015-01-14 北京视博云科技有限公司 一种基于虚拟机的应用数据提供方法、装置及系统
KR20140039504A (ko) * 2012-09-24 2014-04-02 삼성전자주식회사 블루레이 디스크 재생 장치 및 블루레이 디스크 로딩 방법
EP2908539B1 (en) * 2012-10-10 2019-12-18 Saturn Licensing LLC Reception device, reception method, transmission device, transmission method, and program
JP5901843B2 (ja) 2013-03-28 2016-04-13 三菱電機株式会社 再生装置、制御方法及びプログラム
CN104679578B (zh) * 2015-03-12 2018-09-07 绚视软件科技(上海)有限公司 BD-java平台上的最小内存自适应机制及使用方法
CN104951340B (zh) * 2015-06-12 2018-07-06 联想(北京)有限公司 一种信息处理方法及装置
WO2017056194A1 (ja) * 2015-09-29 2017-04-06 株式会社 東芝 情報機器または情報通信端末および、情報処理方法
KR102401772B1 (ko) 2015-10-02 2022-05-25 삼성전자주식회사 전자 장치에서 어플리케이션 실행 장치 및 방법
US10204059B2 (en) * 2016-09-29 2019-02-12 International Business Machines Corporation Memory optimization by phase-dependent data residency
CN106980579B (zh) 2016-09-30 2020-08-14 阿里巴巴集团控股有限公司 一种图片加载方法及装置
US10506268B2 (en) * 2016-10-14 2019-12-10 Spotify Ab Identifying media content for simultaneous playback
JP7119858B2 (ja) * 2018-09-28 2022-08-17 ブラザー工業株式会社 工具寿命管理装置、工作機械、表示処理方法及びコンピュータプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002369154A (ja) * 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0491078A (ja) 1990-08-06 1992-03-24 Kao Corp イミダゾール誘導体
JPH0491104A (ja) 1990-08-06 1992-03-24 Ootex Kk 光重合反応開始剤
JPH0759608B2 (ja) 1990-08-06 1995-06-28 株式会社クラレ イミド化アクリル樹脂粒子体の処理方法
JP2609749B2 (ja) 1990-08-31 1997-05-14 日本電気アイシーマイコンシステム株式会社 電流供給回路
JP2798490B2 (ja) 1990-09-03 1998-09-17 日本電気アイシーマイコンシステム株式会社 発振回路
JPH064166A (ja) * 1992-06-24 1994-01-14 Okayama Nippon Denki Software Kk ジョブの有効期間設定装置
JPH06230946A (ja) 1993-02-07 1994-08-19 Fuji Xerox Co Ltd 自動プログラム開始装置
WO1997007509A1 (fr) * 1995-08-21 1997-02-27 Matsushita Electric Industrial Co., Ltd. Disque optique multimedia capable de conserver pendant longtemps la fraicheur du contenu en images, appareil et procede de reproduction de ce disque
EP0788094A4 (en) * 1995-08-21 1998-06-24 Matsushita Electric Ind Co Ltd MULTIMEDIA OPTICAL DISK WHICH CAN COMPLETELY GENERATE UNEXPECTED SCENES THROUGH INTERACTIVE CONTROL, THEIR PLAYBACK DEVICE AND PLAYBACK METHOD
CN1106642C (zh) * 1995-08-21 2003-04-23 松下电器产业株式会社 制作者能自由协调引入特殊再现后的视听形态的光盘的再现装置及方法
MX9702847A (es) * 1995-08-21 1997-07-31 Matsushita Electric Ind Co Ltd Disco optico de multimedia que facilita la reproduccion de ramificacion para las secciones de bloqueo paternal usando informacion reducida de control y un dispositivo de reproducciones para este disco
EP0777230A1 (de) * 1995-12-04 1997-06-04 Markus Zwickl CDs enthaltend zusätzliche Textinformation
KR100439879B1 (ko) * 1996-04-12 2004-12-03 마츠시타 덴끼 산교 가부시키가이샤 오디오비디오기능을실행할영상타이틀과,그렇지않은영상타이틀을수록하고,그들의차이를순간에분별할수있는광디스크및그재생장치,재생방법
CN1112039C (zh) 1996-05-09 2003-06-18 松下电器产业株式会社 配置主图像以使副图像重合在主图像上的多媒体光盘再生装置及方法
JPH1063362A (ja) 1996-08-16 1998-03-06 Nec Corp レジューム要因別に複数のプログラム状態を保持可能なサスペンドレジューム方法
JP3948051B2 (ja) 1997-04-30 2007-07-25 ソニー株式会社 編集装置及びデータ編集方法
JP3655433B2 (ja) 1997-06-20 2005-06-02 パイオニア株式会社 コンピュータ読み取り可能な記録媒体及び情報再生装置
JPH11219313A (ja) 1998-02-02 1999-08-10 Mitsubishi Electric Corp コンテンツ先読み方法
WO1999050771A1 (en) 1998-03-31 1999-10-07 International Business Machines Corporation A method and apparatus for creating an electronic commerce system
JPH11296381A (ja) * 1998-04-08 1999-10-29 Matsushita Electric Ind Co Ltd 仮想マシン及びコンパイラ
JP3262539B2 (ja) 1998-06-15 2002-03-04 株式会社ディジタル・ビジョン・ラボラトリーズ データ放送方式及び同方式に適用されるデータ受信装置
EP0989743A1 (en) * 1998-09-25 2000-03-29 CANAL+ Société Anonyme Application data table for a multiservice digital transmission system
JP2000149514A (ja) 1998-11-10 2000-05-30 Alpine Electronics Inc ディスク再生装置
US7634787B1 (en) 1999-06-15 2009-12-15 Wink Communications, Inc. Automatic control of broadcast and execution of interactive applications to maintain synchronous operation with broadcast programs
JP2001022625A (ja) 1999-07-09 2001-01-26 Sony Corp データ記録装置、データ記録方法、データ取得装置、データ取得方法
US6874145B1 (en) * 1999-07-13 2005-03-29 Sun Microsystems, Inc. Methods and apparatus for implementing an application lifecycle design for applications
WO2001004743A2 (en) 1999-07-13 2001-01-18 Sun Microsystems, Inc. Methods and apparatus for managing an application according to an application lifecycle
JP3756708B2 (ja) * 1999-09-30 2006-03-15 株式会社東芝 情報処理端末装置およびそのファイル管理方法
DK1234446T3 (da) 1999-10-29 2003-10-13 Opentv Corp Afspilning af interaktive programmer
ES2211641T3 (es) 1999-10-29 2004-07-16 Opentv, Corp. Sistema y metodo para el registro de datos "pushed".
CN1344413A (zh) * 1999-11-10 2002-04-10 皇家菲利浦电子有限公司 记录载体、用于重放记录载体的装置、用于重放记录载体的方法、用于录制记录载体的装置以及用于录制记录载体的方法
JP2001238161A (ja) * 2000-02-25 2001-08-31 Sony Corp 情報付加装置、情報付加方法および記録媒体
US7200857B1 (en) * 2000-06-09 2007-04-03 Scientific-Atlanta, Inc. Synchronized video-on-demand supplemental commentary
EP1198132A4 (en) * 2000-04-21 2010-07-28 Sony Corp CODING DEVICE AND METHOD, RECORDING MEDIUM AND PROGRAM
GB0016062D0 (en) 2000-06-30 2000-08-23 Koninkl Philips Electronics Nv Playback of applications with non-linear time
JP2002057990A (ja) 2000-08-09 2002-02-22 Nec Corp 映像再生システム及びそれに用いるデータ同期方式
GB2370658A (en) 2000-12-29 2002-07-03 Metadyne Ltd A modular software framework
JP2002238161A (ja) 2001-02-14 2002-08-23 Yanmar Diesel Engine Co Ltd 分散電源用発電機の出力方法
JP2002269929A (ja) 2001-03-08 2002-09-20 Hitachi Ltd ディスク装置
US20020194618A1 (en) * 2001-04-02 2002-12-19 Matsushita Electric Industrial Co., Ltd. Video reproduction apparatus, video reproduction method, video reproduction program, and package media for digital video content
KR100771264B1 (ko) 2001-05-12 2007-10-29 엘지전자 주식회사 스크립트 파일이 포함 기록된 기록매체와, 그 재생장치 및방법
JP2003032637A (ja) 2001-07-16 2003-01-31 Sharp Corp データ放送受信装置
DE60223483T2 (de) * 2001-10-29 2008-09-18 Humax Co. Ltd., Yougin Verfahren zum aufzeichenen eines digitalen Rundfunkprogramms und zeitbasierter Wiedergabe eines aufgezeichneten Rundfunkprogramms und zugehörige Vorrichtung
TW200300928A (en) 2001-11-30 2003-06-16 Sony Corportion Information processing method and apparatus, program storage medium, program and information recording medium
JP3921593B2 (ja) 2001-11-30 2007-05-30 ソニー株式会社 情報処理装置および方法、プログラム格納媒体、プログラム、並びに情報記録媒体
US6968445B2 (en) 2001-12-20 2005-11-22 Sandbridge Technologies, Inc. Multithreaded processor with efficient processing for convergence device applications
GB0130534D0 (en) 2001-12-20 2002-02-06 Aspex Technology Ltd Improvements relating to data transfer addressing
AU2003206150A1 (en) * 2002-02-07 2003-09-02 Samsung Electronics Co., Ltd Information storage medium containing display mode information, and reproducing apparatus and method therefor
JP4532810B2 (ja) 2002-02-22 2010-08-25 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、プログラム、及びコンピュータ読み取り可能な記憶媒体
JP2003249057A (ja) 2002-02-26 2003-09-05 Toshiba Corp デジタル情報媒体を用いるエンハンスド・ナビゲーション・システム
JP3990928B2 (ja) 2002-03-19 2007-10-17 キヤノン株式会社 テレビジョン放送受信装置、再生方法及びプログラム
US7814025B2 (en) * 2002-05-15 2010-10-12 Navio Systems, Inc. Methods and apparatus for title protocol, authentication, and sharing
DE10228103A1 (de) 2002-06-24 2004-01-15 Bayer Cropscience Ag Fungizide Wirkstoffkombinationen
WO2004001750A1 (en) * 2002-06-24 2003-12-31 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple reproduction path video data recorded thereon and recording and reproducing methods and apparatuses
EP1540647A4 (en) * 2002-08-26 2010-08-18 Samsung Electronics Co Ltd INTERACTIVE MODE AUDIO-VISUAL DATA REPRODUCTION DEVICE, USER INPUT PROCESSING METHOD, AND INFORMATION STORAGE MEDIUM FOR IMPLEMENTING THE SAME
EP1551027A4 (en) 2002-09-12 2009-08-05 Panasonic Corp RECORDING MEDIUM, REPRODUCTION DEVICE, PROGRAM, REPRODUCTION METHOD, AND RECORDING METHOD
US7715695B2 (en) * 2002-11-26 2010-05-11 Panasonic Corporation Apparatus for managing removable storage media that can be connected thereto, and method, program, and system LSI for managing removable storage media
JP3908724B2 (ja) 2002-12-09 2007-04-25 株式会社東芝 情報再生装置及び情報再生方法
JP3940164B2 (ja) * 2003-02-21 2007-07-04 松下電器産業株式会社 記録媒体、再生装置、記録方法、集積回路、再生方法、プログラム
KR100957799B1 (ko) 2003-03-06 2010-05-13 엘지전자 주식회사 대화형 디스크의 재생환경 설정방법
US7563748B2 (en) 2003-06-23 2009-07-21 Cognis Ip Management Gmbh Alcohol alkoxylate carriers for pesticide active ingredients
KR101014665B1 (ko) * 2003-10-06 2011-02-16 삼성전자주식회사 프리로드 정보가 기록된 정보저장매체, 그 재생장치 및재생방법
JP4117019B2 (ja) 2003-10-10 2008-07-09 松下電器産業株式会社 記録媒体、再生装置、記録方法、再生方法
TW200518070A (en) 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
JP4091105B2 (ja) 2003-10-10 2008-05-28 松下電器産業株式会社 記録媒体、再生装置、記録方法、再生方法
JP4091104B2 (ja) 2003-10-10 2008-05-28 松下電器産業株式会社 記録媒体、再生装置、記録方法、再生方法
US7467197B2 (en) * 2005-01-20 2008-12-16 International Business Machines Corporation Workflow anywhere: invocation of workflows from a remote device
JP2007265851A (ja) 2006-03-29 2007-10-11 Molex Inc ケーブル用コネクタ
JP2007265850A (ja) 2006-03-29 2007-10-11 Konica Minolta Holdings Inc 有機エレクトロルミネッセンス素子の製造方法及び製造装置
JP2007265852A (ja) 2006-03-29 2007-10-11 Matsushita Electric Ind Co Ltd 複合集電体およびその製造方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002369154A (ja) * 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131130B2 (en) 2003-10-10 2012-03-06 Panasonic Corporation Recording medium, playback apparatus, recording method, and playback method
US8437625B2 (en) 2003-10-10 2013-05-07 Panasonic Corporation Playback apparatus program and playback method
US7630615B2 (en) 2003-10-10 2009-12-08 Panasonic Corporation Recording medium, playback apparatus, recording method, and playback method
US8509596B2 (en) 2003-10-10 2013-08-13 Panasonic Corporation Recording medium, playback apparatus, program, and playback method
US7702222B2 (en) 2003-10-10 2010-04-20 Panasonic Corporation Playback apparatus program and playback method
US8406604B2 (en) 2003-10-10 2013-03-26 Panasonic Corporation Playback apparatus, recording method, and playback method
US7715696B2 (en) 2003-10-10 2010-05-11 Panasonic Corporation Recording medium, playback apparatus, program, and playback method
US7515812B2 (en) 2003-10-10 2009-04-07 Panasonic Corporation Recording medium, reproduction device, program, and reproduction method
US8107788B2 (en) 2003-10-10 2012-01-31 Panasonic Corporation Recording medium, playback device, recording method and playback method
US7623769B2 (en) 2003-10-10 2009-11-24 Panasonic Corporation Recording medium, playback apparatus, recording method, and playback method
EP2214172A1 (en) 2004-07-22 2010-08-04 Panasonic Corporation Playback apparatus and playback method
EP2214171A1 (en) 2004-07-22 2010-08-04 Panasonic Corporation Playback apparatus and playback method
EP2214170A1 (en) 2004-07-22 2010-08-04 Panasonic Corporation Playback apparatus and playback method
EP2216783A1 (en) 2004-07-22 2010-08-11 Panasonic Corporation Playback apparatus and playback method
EP2216782A1 (en) 2004-07-22 2010-08-11 Panasonic Corporation Playback apparatus and playback method
EP2216781A1 (en) 2004-07-22 2010-08-11 Panasonic Corporation Playback apparatus
EP2214169A1 (en) 2004-07-22 2010-08-04 Panasonic Corporation Playback apparatus and playback method
US8036513B2 (en) * 2004-07-22 2011-10-11 Panasonic Corporation Playback apparatus and playback method
EP2180477A1 (en) 2004-07-22 2010-04-28 Panasonic Corporation Playback apparatus and playback method
US8347099B2 (en) 2004-07-22 2013-01-01 Panasonic Corporation Playback apparatus and playback method
US8649653B2 (en) 2008-07-16 2014-02-11 Panasonic Corporation Reproduction device, reproduction method, and program
WO2010007757A1 (ja) * 2008-07-16 2010-01-21 パナソニック株式会社 再生装置、再生方法、プログラム
US8045429B2 (en) 2008-07-29 2011-10-25 Fujitsu Ten Limited Control apparatus and method for content reproducing
EP2372711A1 (en) 2010-04-01 2011-10-05 Alpine Electronics, Inc. Video playback apparatus and resume playback method

Also Published As

Publication number Publication date
JPWO2005036547A1 (ja) 2006-12-28
US20100014832A1 (en) 2010-01-21
US20070274680A1 (en) 2007-11-29
EP1675118A1 (en) 2006-06-28
US7515812B2 (en) 2009-04-07
JP4117006B2 (ja) 2008-07-09
EP1672637A4 (en) 2010-02-24
EP1672637A1 (en) 2006-06-21
EP1675117A4 (en) 2010-01-06
US20060282612A1 (en) 2006-12-14
US20100260016A1 (en) 2010-10-14
KR101059290B1 (ko) 2011-08-24
US20080304811A1 (en) 2008-12-11
WO2005036555A1 (ja) 2005-04-21
JPWO2005036555A1 (ja) 2006-12-28
US20090165024A1 (en) 2009-06-25
CN101840718A (zh) 2010-09-22
EP1944772A2 (en) 2008-07-16
KR20070017099A (ko) 2007-02-08
EP1675118A4 (en) 2010-01-06
US20100202278A1 (en) 2010-08-12
US7702222B2 (en) 2010-04-20
KR20070028290A (ko) 2007-03-12
EP1944771A2 (en) 2008-07-16
WO2005036554A1 (ja) 2005-04-21
KR20080043887A (ko) 2008-05-19
US20080205859A1 (en) 2008-08-28
KR20070026322A (ko) 2007-03-08
CN101840718B (zh) 2013-01-23
US7630615B2 (en) 2009-12-08
EP1944772A3 (en) 2010-01-06
JP3825463B2 (ja) 2006-09-27
JP2008287864A (ja) 2008-11-27
EP1675119A1 (en) 2006-06-28
JP4262250B2 (ja) 2009-05-13
US20070089146A1 (en) 2007-04-19
EP1677302A4 (en) 2007-03-14
EP2239737A3 (en) 2010-11-17
JPWO2005036554A1 (ja) 2006-12-28
TWI352342B (ja) 2011-11-11
US8406604B2 (en) 2013-03-26
KR100937791B1 (ko) 2010-01-20
CN101702320B (zh) 2011-11-23
JP4091078B2 (ja) 2008-05-28
US8131130B2 (en) 2012-03-06
US7623769B2 (en) 2009-11-24
EP1675119A4 (en) 2010-01-06
CN101702320A (zh) 2010-05-05
KR20070028289A (ko) 2007-03-12
JPWO2005036546A1 (ja) 2006-12-28
JPWO2005036545A1 (ja) 2006-12-28
EP2267711A2 (en) 2010-12-29
WO2005036546A1 (ja) 2005-04-21
EP2239737A2 (en) 2010-10-13
EP2267711A3 (en) 2013-04-17
TW200518070A (en) 2005-06-01
EP1675117A1 (en) 2006-06-28
US8509596B2 (en) 2013-08-13
KR100937790B1 (ko) 2010-01-20
US20070089156A1 (en) 2007-04-19
EP1944771A3 (en) 2010-01-06
KR101051843B1 (ko) 2011-07-26
EP1677302A1 (en) 2006-07-05
US8107788B2 (en) 2012-01-31
US8437625B2 (en) 2013-05-07
KR101051846B1 (ko) 2011-07-25
JP4182110B2 (ja) 2008-11-19
KR101059343B1 (ko) 2011-08-24
JP4262296B2 (ja) 2009-05-13
US7715696B2 (en) 2010-05-11
KR100937792B1 (ko) 2010-01-20
KR20080043888A (ko) 2008-05-19
WO2005036545A1 (ja) 2005-04-21
KR20090088969A (ko) 2009-08-20

Similar Documents

Publication Publication Date Title
JP4262250B2 (ja) 再生装置、プログラム、再生方法。
KR101076198B1 (ko) 기록매체, 재생장치, 기록방법, 재생방법
JP4012563B2 (ja) 記録媒体、再生装置、プログラム、再生方法。
JP4117019B2 (ja) 記録媒体、再生装置、記録方法、再生方法
JP4091105B2 (ja) 記録媒体、再生装置、記録方法、再生方法
JP4091104B2 (ja) 記録媒体、再生装置、記録方法、再生方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480029743.6

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005514681

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020067007239

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004773787

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004773787

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10572983

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1020067007239

Country of ref document: KR