WO2005045840A1 - 記録媒体、再生装置、プログラム、再生方法、システム集積回路 - Google Patents

記録媒体、再生装置、プログラム、再生方法、システム集積回路 Download PDF

Info

Publication number
WO2005045840A1
WO2005045840A1 PCT/JP2004/016598 JP2004016598W WO2005045840A1 WO 2005045840 A1 WO2005045840 A1 WO 2005045840A1 JP 2004016598 W JP2004016598 W JP 2004016598W WO 2005045840 A1 WO2005045840 A1 WO 2005045840A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
playback
title
playlist
recording medium
Prior art date
Application number
PCT/JP2004/016598
Other languages
English (en)
French (fr)
Inventor
Hiroaki Iwamoto
Wataru Ikeda
Tomoyuki Okada
Masafumi Okubo
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
Priority to KR1020057018474A priority Critical patent/KR101121382B1/ko
Priority to CA2518767A priority patent/CA2518767C/en
Priority to KR1020127011482A priority patent/KR101268335B1/ko
Priority to DE602004012598T priority patent/DE602004012598D1/de
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US10/549,318 priority patent/US7565062B2/en
Priority to EP04818238A priority patent/EP1691367B1/en
Priority to KR1020117013248A priority patent/KR101176904B1/ko
Priority to JP2005515351A priority patent/JP3851341B2/ja
Priority to MXPA05010367A priority patent/MXPA05010367A/es
Priority to CN200480008998.4A priority patent/CN1768387B/zh
Priority to BRPI0409003-9A priority patent/BRPI0409003A/pt
Priority to KR1020117029789A priority patent/KR101204653B1/ko
Publication of WO2005045840A1 publication Critical patent/WO2005045840A1/ja
Priority to US12/241,517 priority patent/US7627233B2/en
Priority to US12/581,193 priority patent/US8406611B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • 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
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal

Definitions

  • Recording medium playback device, program, playback method, system integrated circuit
  • the present invention is an invention belonging to the technical field of application control for controlling the execution of an application for a virtual machine, and uses the control technology as a recording medium for distributing movie works such as a BD-ROM, Deeply related to applied technology when applied to playback devices for BD-ROMs.
  • Patent Document 1 Japanese Patent No. 2813245
  • a recording medium stores an application, a digital stream, and management information
  • the application is a program written in a programming language for a virtual machine.
  • a live range that can be executed by a virtual machine is defined in advance
  • the management information indicates reproduction control of a digital stream to be performed simultaneously with execution of an application in the live range.
  • the reproduction control of the digital stream to be performed simultaneously with the execution of the application is defined for each live range. Therefore, even if the application fails to start or the application terminates abnormally during the execution of the application, the digital stream being played at the same time is continued, resulting in "a state where something is reflected". be able to. As a result, the worst case in which the device is blacked out can be avoided, so that the manufacturer of the device can be provided with a minimum sense of security.
  • FIG. 1 is a diagram showing an embodiment of an act of using a playback device according to the present invention.
  • FIG. 2 is a diagram showing a file / directory structure in a BD-ROM.
  • FIG. 3 is a diagram showing a configuration of PL information.
  • FIG. 4 is a diagram showing a relationship between an AVClip time axis and a PL time axis.
  • FIG. 5 is a diagram showing a batch specification made by four Clip_Information_file_names.
  • FIG. 6 is a diagram showing an internal structure of PLmark information.
  • FIG. 7 is a diagram showing a chapter definition by PLmark.
  • FIG. 8 is a diagram showing an internal structure of SubPath information.
  • S U bPl ay Item time axis playback section definition is a diagram showing a synchronization specification.
  • FIG. 10 is a diagram showing an internal configuration of a Movie Object.
  • FIG. 11 is a diagram showing an internal configuration of a BD-J Object.
  • FIG. 12 (a) is a diagram showing programs and data stored in a Java (registered trademark) archive file.
  • (B) is a diagram showing the internal structure of a class file.
  • FIG. 13 is a diagram showing a state transition in a disc content.
  • FIG. 14 is a diagram showing Titles that also constitute the dynamic scenario power in the HDMV mode.
  • FIG. 15 is a diagram showing the internal structure of a Title composed of a BD-J mode dynamic scenario (BD-J Object).
  • FIG. 16 is a diagram showing Titles without a playlist management table.
  • FIG. 17 is a diagram showing a branch from Title in HDMV mode to Title in BD-J mode.
  • FIG. 18 is a diagram showing a branch from Title in BD-J mode to Title in HDMV mode.
  • FIG. 19 is a diagram showing the internal structure of index.bdmv.
  • FIG. 20 (a) is a diagram showing an internal configuration of an application management table.
  • (B) is a diagram showing the semantic contents of the information elements constituting the application management table
  • FIG. 21 (a) is a diagram showing a time axis of the entire BD-ROM.
  • (B) is a diagram showing a configuration on the time axis of the entire BD-ROM.
  • FIG. 10 is a diagram showing a title playback section specified by a BD-J Object card.
  • FIG. 23 is a diagram showing a typical example of a life span defined on the time axis of FIG. 22 (b).
  • FIG. 24 A diagram showing disc contents including three titles: main title, online shopping title, and game title.
  • FIGS. 25A and 25B are diagrams showing an example of an application management table and a live range.
  • FIG. 26 is a diagram showing possible combinations of three modes (Present, AutoRun, Suspend) that the startup attribute can take, and three modes of the application state (non-start, running, Suspend) in the immediately preceding title .
  • FIG. 27 (a) shows the internal structure of a playlist management table.
  • (b) is a diagram showing the semantic contents of the information elements constituting the playlist management table.
  • FIG. 7 is a diagram showing six combinations that can be taken between “state” and “reproducing state”.
  • FIG. 29 (a) is a diagram showing a description example of a playlist management table and an application management table.
  • FIG. 29 is a diagram showing how playlist playback and application execution progress according to the application management table and playlist management table described as shown in FIG. 29 (a).
  • FIG. 30 (a) is a diagram showing another description example of the playlist management table.
  • (B) is a diagram showing the progress of application execution and playlist playback based on the case of FIG. 30 (a).
  • FIG. 31 (a) One (c) is a diagram showing a relationship between a playlist time axis and a title playback section.
  • FIG. 32 A diagram showing an internal configuration of a playback device according to the present invention.
  • FIG. 33 A diagram in which software stored in a ROM 24 and parts that are powerful with hardware are replaced with a layer configuration.
  • FIG. 34 is a diagram schematically illustrating processing performed by a presentation engine 31—a module manager 34.
  • FIG. 35 is a diagram schematically illustrating processing by an application manager 36.
  • FIG. 36 is a diagram showing User Event Manager 37—Default Operation Manager 40.
  • FIG. 37 is a diagram showing an internal configuration of a Java (registered trademark) virtual machine 38.
  • FIG. 38 is a diagram showing four modes of application termination.
  • FIG. 39 is a diagram showing a processing procedure by an application manager 36.
  • FIG. 40 is a diagram showing a specific example of a playlist management table and an application management table.
  • FIG. 41 (a) shows the internal structure of a BD-J Object according to the second embodiment.
  • FIG. 4B is a diagram showing an internal configuration of an error management table.
  • FIG. 42 shows the meaning of the five flags in the error management table.
  • FIG. 43 is a diagram showing the progress of application execution and playlist playback based on the application management table and error management table described as in FIG. 43 (a).
  • FIG. 44 is a flowchart showing a processing procedure of an application manager 36 according to the second embodiment.
  • FIG. 45 is a flowchart showing a processing procedure of an application manager 36 according to the second embodiment.
  • FIG. 46 is a flowchart showing a procedure of a notification process by the application manager 36.
  • FIG. 47 is a view showing a processing procedure of an application manager 36 according to the third embodiment.
  • FIG. 49 is a diagram schematically illustrating a process of causing a title unboundary application to select a PL.
  • FIG. 50 is a flowchart showing a PL playback procedure by the Playback Control Engine 32.
  • FIG. 51 is a flowchart showing a procedure for accepting angle switching, SkipBack, and SkipNext.
  • FIG. 52 is a flowchart showing a processing procedure when SkipBack, SkipNext API is called.
  • FIG. 53 is a flowchart showing details of a processing procedure by Presentation Engine 31.
  • FIG. 54 is a flowchart showing a procedure for reproducing a SubPlayItem. Explanation of reference numerals
  • FIG. 1 is a diagram showing a mode of use of a recording medium according to the present invention.
  • a recording medium according to the present invention is a BD-ROM 100.
  • the BD-ROM 100 is used for supplying a copyrighted work to a home theater system formed by a playback device 200, a remote control 300, and a television 400. Is done.
  • the remote controller 400 includes a playback start (Play), a playback stop (Stop), a pause (Pause On), a release of the pause (Pause 011), a release of the StiU function (still off), and a speed designation.
  • FIG. 2 is a diagram showing a file / directory structure in the BD-ROM.
  • the BD-ROM has a BDMV directory under a Root directory.
  • the BDMV directory contains files with the extension bdmv.
  • BDMV directory (index.bdmv, MovieObject.bdmv, BD-J Object.bdmv).
  • BDMV directory there are four subdirectories called a PLAYLIST directory, a CLIPINF directory, a STREAM directory, and a BDJA directory.
  • STREAM directory contains files with the extension m2ts
  • AVClip (00001.m2ts, 00002.m2ts, 00003.m2ts) stores an AVClip.
  • AVClip has
  • MainClip is a digital stream obtained by multiplexing multiple elementary streams such as a video stream, an audio stream, a presentation graphics stream (PG stream) that constitutes subtitles, and an interactive graphics stream (IG stream) that constitutes a menu. It is a stream.
  • PG stream presentation graphics stream
  • IG stream interactive graphics stream
  • SubClip is an audio stream, graphics stream, text subtitle stream
  • the files with the extension "mpls" are files storing playlist information.
  • Playlist information can be played by referring to AVClip. This is information that defines a ray list.
  • FIG. 3 is a diagram showing the structure of the PL information. As shown on the left side of the figure, the playlist information is composed of “MainPath information”, “PLMark information”, and “SubPath information”.
  • the MainPath information (MainPathO) is composed of a plurality of Playltem information (PlayltemO) as indicated by a dashed arrow mpl. Playltem means that on one or more AVClip time axis,
  • a playlist (PL) including a plurality of playback sections is defined.
  • the broken line mp2 in the figure shows a close-up of the internal structure of the Playltem information.
  • the Playltem information includes “Clip_information_file_name” indicating the corresponding AVClip, “In_time”, and “Out_time”.
  • FIG. 4 is a diagram showing the relationship between AVClip and PL. The first level shows the time axis of the AVClip force, and the second level shows the time axis of the PL.
  • the PL information includes three pieces of Playltem information, Playltem # l, # 2, and # 3, and three playback sections are defined by the In_time and Out_time of these Playltems # 1, # 2, and # 3. .
  • a time axis different from the AVClip 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 AVClip.
  • FIG. 5 is a diagram showing a batch specification made by four Clip_Information_file_names.
  • the first stage to the fourth stage show four AVClip time axes (time axes of AVClips # 1, # 2, # 3, and # 4), and the fifth stage shows the PL time axis. .
  • These four time axes are specified by four Clip_Information_file_names included in the Playltem information.
  • a section (so-called multi-angle section) is also defined on the PL time axis, in which a switchable multi-angle video power is also provided.
  • PLmark information is information for specifying an arbitrary section on the PL time axis as a chapter.
  • FIG. 6 is a diagram showing the internal structure of the PLmark information. As shown by the lead line pml in the drawing, the PLmark information includes “ref_to_PlayItem_Id” and “Mark_time_stamp” .
  • FIG. 7 is a diagram showing a chapter definition by PLmark. In the figure, the first row shows the AVClip time axis, and the second row shows the PL time axis. Arrow pkl, 2 in the figure indicates Playltem designation (ref_to_PlayItem Jd) and temporary point designation (mark_time_stamp) in PLmark. With these specifications, three chapters (Chapter # 1, # 2, and # 3) are defined on the PL time axis. This concludes the description of PLmark. Next, the SubPath information will be described.
  • the SubPath information is information that defines one or more playback sections by specifying In_Time and Out_Time on the time axis of the SubClip, and has an internal configuration shown in FIG. As shown in this figure, the SubPath information consists of multiple
  • SubPlayltem information includes “Clip—information—file—name”, “In—time”, “Out—time”, “Sync_PlayItemJd”, "Sync_start_Pts_of_PlayItem”. In-Time and Out-Time are defined with respect to the time axis of the SubClip. [Clip-information-file-name], [In-time], [Out-time]. “Sync—Playltemjd” and “Sync—start—Pts—of—Playltem” specify synchronization to synchronize the playback section on the SubClip time axis with the PL time axis. With this synchronization specification, the PL time axis and the SubPlayltem time axis proceed in synchronization.
  • FIG. 9 is a diagram showing a playback section definition on the SubPlayltem time axis and a synchronization designation.
  • the first row shows the PL time axis
  • the second row shows the SubPlayltem time axis.
  • SubPlayItem.IN_time indicates the start point of the playback section
  • SubPlayltem.OuUime indicates the end point of the playback section. This shows that a playback section is also defined on the SubClip time axis.
  • Sync_PlayItem_Id indicates synchronization designation for Playltem
  • sync_start_PTS_of_PlayItem indicates designation of a single point on Playltem on the PL time axis.
  • a feature of the playlist information in the BD-ROM is that it is possible to define a multi-angle section in which a plurality of AVClips can be switched and a synchronous section in which AVClip-SubClip can be synchronized.
  • the above-described Clip information and playlist information are classified into “static scenarios”. Because the PL, which is a static playback unit, is Because it is defined. This concludes the description of the static scenario.
  • a dynamic scenario is scenario data that dynamically defines AVClip playback control.
  • “Dynamic” means that the content of playback control changes due to a state change in the playback device or a key event of the user's power!
  • the BD-ROM two modes are assumed as the operation environment of the reproduction control.
  • the first is an operating environment that is very similar to the operating environment of DVD playback devices, and is a command-based execution environment.
  • the second is the operating environment of the Java (registered trademark) virtual machine.
  • the first of these two operating environments is called HDMV mode.
  • the second is called BD-J mode. Since these two operating environments exist, 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 assuming the BD-J mode is called a BD-J Object.
  • FIG. 10 shows the internal structure of MovieObject.bdmv. As shown on the left side of this figure
  • MovieObject.bdmv is composed of a code sequence, “MOBJ”, “type—indicator”, “version—number”, and one or more MovieObjects, “MovieObjects0”.
  • the leader line vhl in the figure closes up the internal structure of MovieObjects.
  • MovieObjectsO has its own data length "length", the number of MovieObjects contained in it "number-of-mobjs", and number-of-mobjs MovieObjects "Movieubjects”. . These number_of_mobjs MovieObjects are identified by the identifier mobjjd.
  • the leader line vh2 in the figure is an arbitrary line specified by the identifier mobjjd.
  • the MovieObject has a "resume_intention_flag” indicating whether or not to resume playback after the MenuCall, and information indicating whether or not to mask the MenuCall. "Menu_call_mask”, “title_search_flag” indicating whether to mask the title search function, "number of navigation commands” number—of— navigation—command ”and number—of— navigation—command.
  • 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 Movie Object are shown below.
  • the first argument is the playlist number, which can specify the PL to be played.
  • the second argument can be used to specify the Playltem included in the PL, the arbitrary time in the PL, the Chapter, the Mark, and the playback start position.
  • a PlayPL function that specifies the playback start position on the PL time axis using Playltem
  • Chapter provides a PlayPL function that specifies the playback start position on the PL time axis.
  • a PlayPL function that specifies the playback start position on the PL time axis based on the time information
  • the JMP command is a branch that discards the current dynamic scenario in the middle (discard) and executes the branch destination dynamic scenario as an argument.
  • BD-J Object is a BD-J mode dynamic scenario described in the Java (registered trademark) programming environment.
  • FIG. 11 is a diagram showing the internal structure of BD-J Object.bdmv.
  • BD-J Object.bdmv is a "type-indicator" indicating the code system IJ, BOBJ, and "version-number", and one or more BD-J Object. It consists of “BD-J Objects0”.
  • the lead line bhl in the figure closes up the internal structure of BD-J Objects.
  • BD-J ObjectsO has “length” which is its own data length, “number-of-bobjs” which is the number of BD-J Objects included in itself, and number-of- bob js BD-J It consists of the object “BD-J Objects”. These number_of_bobjs BD-J Objects are identified by the identifier bobjjd.
  • a lead line bh2 in the figure shows a close-up of the internal configuration of an arbitrary BD-J Object [bobj_id] 0 specified by the identifier bobjjd.
  • the BD-J Object is "
  • Playlist Management—Table [boDj—id] ”.
  • the BD-J Object is almost the same as the Movie Object, including "resume-intention-flag”, “menu_call_mask”, and "title_search_flag”.
  • PL playback in the MovieObject is performed according to the description of the navigation command (PlayPl command) that commands the PL playback.
  • the description can be made by incorporating “Playlist_Management_Table [bobjjd]” indicating BD into BD-J Object.
  • the description can be made by incorporating the PL playback procedure into the application that also refers to the application management table.
  • the playlist playback procedure can be incorporated into both the description of the playlist management table and the description of the PL playback procedure in the application.
  • Java (registered trademark) application consists of one or more xlet programs loaded into a virtual machine's heap area (also called work memory).
  • An application is composed of the xlet program and data loaded in the work memory. The above is the configuration of the Java (registered trademark) application.
  • the Java (registered trademark) application corresponds to a Java (registered trademark) archive file (00001.jar, 00002.jar) stored in the BDJA directory under the BDMV directory in FIG.
  • the Java (registered trademark) archive file will be described with reference to FIG.
  • the Java (registered trademark) archive file (00001.jar, 00002.jar in FIG. 2) is a file obtained by combining one or more class files, one or more data files, and the like.
  • FIG. 12A shows programs and data stored in an archive file. The data in this figure is obtained by collecting a plurality of files in which the directory structure shown in the frame is arranged by a Java (registered trademark) archiver.
  • the directory structure shown in the frame is composed of a Root directory, a Java (registered trademark) directory, and an image directory. Common.pkg is stored in the Root directory, and class files are stored in the Java (registered trademark) directory.
  • Java (registered trademark) archive files can be obtained by combining them with a Java (registered trademark) archiver.
  • the powerful class files and data are expanded when they are read from the BD-ROM to the cache, and are treated as multiple files placed in directories on the cache.
  • the file name of the Java (registered trademark) archive file "zzzzz",!, And the five-digit number indicate the application ID (applicationlD).
  • This Java (registered trademark) key When the live file is read into the cache, by referring to the numerical value in this file name, it is possible to extract the program and data constituting an arbitrary Java (registered trademark) application.
  • the class files (aaa.class, bbb.class in the figure) in the figure are class files corresponding to the above-mentioned xlet program.
  • the playback procedure in BD-J mode is specified by an xlet program that is an instance of this class file.
  • the xlet program is a Java (registered trademark) program that can use an interface of the JMFOava (registered trademark) Media FrameWork) method, and performs processing based on a key event according to a method such as JMF. Since the xlet program can perform JMF processing, it is possible to instruct the playback device to play back a playlist by generating an instance (0MF player instance) for an MPLS file. In addition, in the xlet program, processing specific to the BD-ROM playback device can be executed by describing the function API call.
  • the xlet program can execute a procedure of accessing a WWW site and downloading content. As a result, it is possible to play a novel work that mixes the download content and the playlist playback.
  • FIG. 12B shows the internal structure of the class file.
  • the class file consists of “constant pool”, “interface”, and “methods 1, 2, 3,... ⁇ ”, just like a normal class file.
  • the methods in the class file include methods in which key events that trigger behavior are registered in advance (EventListner), methods that instruct JMF playback procedures (methods of JMF player instances), and function APIs on the BD-ROM playback device side There is a method that calls In these methods, procedures such as operations are described by using local variables assigned to the method itself and arguments used to call the method.
  • the above is the description of the Java (registered trademark) archive file.
  • the programs and data constituting the application are collected in a Java (registered trademark) archive file, but may be an LZH file or a zip file.
  • FIG. 13 is a diagram showing a state transition in the disc content.
  • the square frame in this figure is Title.
  • Title is a playback unit that corresponds to one "state” in a state transition specific to the disc content. Titles include “FirstPlayTitle”, which is played first when loading a BD-ROM, “Top_menuTitle”, which forms the Top-Menu, and other general “Title”.
  • the state transition shown in this figure means that “FirstPlayTitle” is played at the time of BD-ROM loading, a branch to “Top_menuTitle” occurs, and the selection of the top menu is awaited.
  • the dynamic trademark represents the creator and distributor of the movie, and FirstPlayTitle plays the role of playing back the dynamic trademark first when BD-ROM is loaded. Take responsibility.
  • FIG. 14 is a diagram showing two titles that also constitute the dynamic scenario power of the HDMV mode.
  • the first row of the figure shows an arbitrary Title (titlejd) identified by the identifier titlejd.
  • the second row shows a MovieObject sequence consisting of one or more MovieObjects that make up the Title.
  • the third row shows the navigation commands that make up the MovieObject.
  • the title in the HDMV mode can define a movie work accompanied by video playback. This is the structure of Title defined by the dynamic scenario in DMV mode.
  • FIG. 15 is a diagram showing an internal structure of a Title composed of a BD-J mode dynamic scenario (BD-J Object).
  • the first row shows an arbitrary Title identified by the identifier title jd, and the second row shows that Title.
  • the third row shows the application management table and playlist management table inside the BD-J Object.
  • the fourth tier shows the applications that will operate with the third tier application management table.
  • this application includes a method for instructing the playback device to jump to another Title (a method for calling JumpTitleAPI)! / The branch to the other Title shown will be realized.
  • the playlist management table is described in the third row, the PL is played along with the execution of the application in the fourth row.
  • the BD-J Object includes an application management table and a playlist management table, application execution and PL playback are performed simultaneously as shown in the fourth row. Simultaneous execution capability of such application execution and PL playback ⁇ This is a feature of Title in DJ mode.
  • the playlist management table does not exist in all BD-J Objects.
  • the playlist management table is an optional component, and some BD-J objects have a playlist management table, and some BD-J objects do not have a playlist management table.
  • FIG. 16 is a diagram showing a Title having a playlist management table. Since there is only an application management table, in a BD-J Object that does not have a playlist management table, only the application operation is specified as shown in the fourth row. According to the specification of the application operation described above, the title of only the control procedure without PL playback is specified. In FIG. 14, the branch from the title in the HDMV mode to the title in the HDMV mode is described. However, as shown in FIG.
  • Index.bdmv is a table that indicates a Movie Object or BD-J Object that constitutes the title.
  • FIG. 19 is a diagram showing the internal structure of index.bdmv.
  • index.bdmv contains "type-indicator” having a value indicating "INDX”, “version-number”, and "Indexes_start_address” indicating a relative address from the top of this file to Indexes.
  • Indexes () is an index for each Title. As indicated by the dashed leader line ixl, “Indexes” includes “length” and “length”.
  • FirstPlayback () ⁇ FirstPlayback—mobj—id—rei is an index for the FirstPlayTitle, and stores a reference value (FirstPlayback_mobj_id_rel) of a MovieObject identifier that constitutes the FirstPlayTitle.
  • TopicMenuO ⁇ TopMenu—mobj—id—rei is an index to Top-MenuTitle, and stores the reference value (TopMenu_mobjjd_rel) of the MovieObject identifier that constitutes TopjnenuTitle.
  • Title [0] 0-Title [number—of—Titles—1] 0 is an index for Title other than FirstPlayTitle ⁇ Top—MenuTitle, and number_of_Title exists! These are identified IJ with the identifier title jd.
  • the index specified by the identifier titlejd is set to Title [title_id] 0.
  • the leader line ix2 in the figure shows a close-up of the internal configuration for Title [titlejd] ().
  • "Title [title_id] 0" is composed of "Title_Playback_Type [title_id]” indicating the type of Title playback, such as "Title [title jd] power branch” and the like. It consists of “Title_access_Flag [titlejd]”, which indicates whether or not execution of the search function is permitted, and “title_mobjjd_rel [title_id]”, which uniquely indicates the MovieObject that constitutes the Title.
  • the application management table and the playlist management table included in the BD-J Object are the main constituent elements of the present embodiment, and will be described in detail. First, the application management table (AMT) will be described.
  • FIG. 20A shows the internal structure of the application management table.
  • the application management table includes “life-cycle”, “apli-id-ref”, “run_attribute”, and “run_priority”.
  • Fig. 20 (b) shows the meaning of the information elements that make up the application management table.
  • Apli_id_ref indicates which application has the live range shown on the left by describing a reference value for “application identifier”.
  • the application identifier is represented by a 5-digit numerical value zzzzz given as a file name in a Java (registered trademark) archive file. “Apli_id_ref” describes this 5-digit number.
  • “Run_attribute” describes the “start attribute” of the application in the life cycle.
  • the start attributes include types such as AutoRun, Present, and Susped.
  • the live range indicates a range in which the application can live on the work memory of the virtual machine on the time axis of the entire content recorded on the BD-ROM.
  • "Survival" in the work memory refers to the state in which the xlet program power that constitutes the application is read into the work memory and becomes executable by the virtual machine.
  • the service starting point and the service end point at the time axis start and end the application service at the time axis. It is important to specify "" clearly. The ability to define the starting point and ending point of this service.
  • FIG. 21 (a) is a diagram showing the time axis of the entire disc
  • FIG. 21 (b) shows the configuration on this time axis.
  • the time axis of the entire disc includes a section where FirstPlay Title is reproduced, a section where TopMenu Title is reproduced, and a section where title # l is reproduced.
  • the playback section of these Titles is defined in terms of power.
  • a Title is composed of one or more MovieObjects or only one BD-J Object. However, the period during which it is valid can be considered as a Title playback section.
  • FIG. 22 (a) is a diagram showing, on the time axis of the entire BD-ROM, a title playback section in which the BD-J Object strength specified by the identifier bobjjd is also specified.
  • the BD-J Object specified by the identifier bobjjd constitutes one Title
  • one of the BD-R0M time axes on which the BD-J Object specified by the identifier bobjjd is valid is valid.
  • the section can be considered as the title playback section.
  • the MovieObject specified by the identifier mobjjd constitutes one Title
  • one section on the BD-R0M time axis in which the MovieObject specified by the identifier mobjjd is valid is It can be considered as a Title playback section.
  • the end of the period during which the MovieObject and the BD-J Object are activated is until the Title branch OumpTitle) is made.
  • the Title branch JumpTitle
  • the dynamic scenario that is the target of execution is treated as the current MovieObject and current BD-J Object
  • a JumpTitle occurs in that MovieObject or BD-J Object.
  • One section up to is treated as a Title playback section.
  • PL playback procedure can be described as one processing procedure. If there is a description of the PL playback procedure, all or part of the PL time axis described above will belong to the Title section.
  • a playlist management table is described in 80 Objects in the example of FIG. 22 (&).
  • the PL time axis belongs to the Title section corresponding to the BD-J Object, as shown in FIG. Since multiple chapters (Chapter # 1, # 2, # 3) can be further defined on this PL time axis, the time axis on BD-R0M includes the entire BD-R0M-Title-PL- chapter and ⁇ The domain will exist.
  • FIG. 23 is a diagram showing a typical example of a life span defined on the time axis of FIG. 22 (b).
  • the application includes “Title Boundary Break” with Title as a live range, “Chapter Boundary Precaution” with Title within a live range, and a live range on the BD-ROM as a whole.
  • Title unboundary applications There are three types of "title unboundary applications”.
  • the life cycle of the title boundary application can be defined using the identifier of the title.
  • the life span of a chapter boundary application can be defined using a combination of the identifier of the title to which the chapter belongs and the identifier of the chapter.
  • FIG. 24 is a diagram showing a disc content including three titles: a main title, an online shopping title, and a game title. On the right side of this figure
  • Title # l of the three titles consists of three applications: applications, application # 2, and applications.
  • title # 2 contains two applications called application ⁇ and applications, and title # 3 contains application ⁇ .
  • applications are started in both title # l and title # 2.
  • FIG. 25 (a) also shows the membership force indicated by the broken line in FIG. 24 when the life span of each application is graphed.
  • the horizontal axis is the title playback section, and the vertical axis direction
  • the live range of each application is placed in the application.
  • applications and application ⁇ belong only to title # l, so their live range remains within title # l. Since the applications belong only to title # 2, these live ranges remain within title # 2. Since application ⁇ belongs to title # 3 only, these live ranges remain in title # 3. Since applications belong to title # l and title # 2, their survival spans title # l—title # 2.
  • the application management table is described based on this life cycle, the application management tables of title # 1, # 2, and # 3 are as shown in FIG. 25 (b).
  • the application #l, application # 2, and application ⁇ are loaded into the work memory at the time of starting playback of title #l.
  • application # l and application ⁇ are deleted from the work memory to control only applications.
  • control can be performed such that applications are loaded into the work memory at the start of title # 2 playback, and application # 3 and # 4 are deleted at the start of title # 3.
  • the startup attribute is ⁇ AutoRun '' indicating automatic startup, ⁇ Present '' indicating that it is not a target of automatic startup but can be placed in the work memory of the virtual machine, and is placed in the work memory of the virtual machine However, there is "Suspend" in which CPU power cannot be allocated.
  • AutoRun is an attribute indicating that the application is read into the work memory and executed at the same time as the branch of the corresponding title. From one title to another When there is a branch, the management entity (application manager) that performs application management
  • the application that is alive at the branch destination title and whose startup attribute is set to AutoRun is read into the work memory of the virtual machine and executed. This will cause the application to be launched automatically with the title branch.
  • the activation attribute “Present” is a continuation attribute, and indicates that the state of the application at the branch source title is continued. An attribute indicating that the corresponding application is to be executed. If the activation attribute power is S “Pre Sent ”, the application to which this activation attribute is assigned is permitted to be called from another application.
  • the management entity application manager
  • the management entity that manages the application checks whether or not the application's application ID is described in the application management table and the startup attribute is “Present”. judge. If “Present”, load the application into work memory. On the other hand, if the application ID of the called application is described in the application management table as!, Na! /, The application is not loaded into the work memory.
  • the call by the application is limited to the application to which the “Present” is assigned.
  • "Present” is a default startup attribute given when the startup attribute is not explicitly specified. Therefore, if the startup attribute of an application is "----", the startup attribute of the application is not specified. The startup attribute of this means that this is Present.
  • “Suspend” means that an application is placed in a state where resources are allocated and CPU power is not allocated. Powerful Suspend is useful for realizing a process of passing through a side path during the execution of a game title, for example.
  • FIG. 26 is a diagram showing possible combinations of three modes (Present, AutoRun, Suspend) that the startup attribute can take, and three modes of the application state (non-starting, running, and Suspend) in the immediately preceding title. If the immediately preceding state is "non-start”, if the start attribute is ⁇ 'AutoRun ", the application will be started at the branch target title.
  • the activation attribute is “Suspend”, the state of the application is suspended. When the immediately preceding state is “Suspend”, if the activation attribute of the branch destination title is “Suspend”, Suspend is maintained. If "Present” or "AutoRun”, the application will resume at the branch target title.
  • the immediately preceding state is “Suspend” and the activation attribute of the branch destination title is “Present”, the immediately preceding state, that is, the suspended state may be maintained.
  • This startup priority takes a value from 0 to 255, and determines which application is forcibly terminated when memory resources run out or CPU load increases, and which application takes resources. ! /, Which is used to make judgments when the application manager performs processing. In this case, the application manager terminates the operation of the application with a low activation priority and continues the operation of the application with a high activation priority.
  • the startup priority is also used for arbitration between applications when a request for a playing PL conflicts.
  • the application is fast-forwarding a certain playlist. If another application makes a pause request for the same playlist, the activation priorities assigned to these applications are compared. If the priority of the application for which fast-forward is ordered is high, fast-forward by such application is continued. Conversely, if the application that ordered the pause has a higher startup priority, pause the PL during fast forward.
  • the number of applications that can operate on the virtual machine can be limited to a predetermined number or less based on the above-mentioned life cycle 'start attribute' start priority at the time of authoring. Works. Therefore, stable operation of the application can be guaranteed.
  • the playlist management table is a table that indicates playback control to be performed simultaneously with the execution of each application in the application section.
  • the operation of the application is unstable, and may fail to start or abnormally terminate. Therefore, in the present embodiment, a playlist management table is provided for each live range of the application as a Fail Safe mechanism in the event of a startup failure or abnormal termination.
  • the play list management table is information that specifies the playback control to be performed at the same time when the live range of a certain application starts. This playback control is AVClip playback based on playlist information. By simultaneously performing playback control based on playlist information, application execution and playlist playback are performed simultaneously.
  • the playlist management table is provided for each life cycle of the application.
  • the applications provided with the playlist management table are limited to title boundary applications. This is because, in the title unboundary application, all titles are set as a live range, so the control of playing the playlist simultaneously with the execution of the application is not suitable.
  • the live range is defined on the premise that the application execution is started from a chapter in one playlist, so that it is not necessary to define playlist playback.
  • the playlist management table is defined as a live range that has one or more Title powers.
  • FIG. 27A shows the internal structure of the playlist management table. As shown in the figure, the playlist management table includes “PL_id_ref” and “Playback_Attribute”.
  • FIG. 27 (b) shows the meaning of the information elements that make up the playlist management table.
  • PL_id_ref indicates which PL can be reproduced in the life cycle of the application by describing the “reference value” for the PL identifier.
  • the PL identifier is represented by a five-digit numerical value YYYYY assigned as the file name in the file YYYYY.MPLS! Since this YYYYY is described, “PL_id_ref” is re-created in the corresponding Title. Indicates which PLs can be produced.
  • Playback_Attribute is an attribute similar to the start attribute in the application management table, and is a playback attribute that defines how to play back the PL described in "PL_id_ref" at the start of the title.
  • Play attributes for PL include "AutoPlay”, ""
  • AutoPlay is an attribute indicating that the play list is reproduced at the same time as the branch of the corresponding title. If there is a branch from a certain title to another title, the management entity (application manager) that manages the application can play back that branch destination title and play it with the playback attribute set to AutoPlay. Start playing the list. As a result, the playlist in which the activation attribute is set to AutoPlay is automatically activated together with the title branch.
  • Present is a continuation attribute like Present in the activation attribute, and indicates that the state of the PL in the branch source title is continued. This attribute indicates that the corresponding playlist is to be reproduced! For example, there are two Titles that are played back consecutively.
  • the playback attribute of a playlist is set to AutoPlay
  • the playlist management table on the branch destination Title side the playlist is It is assumed that the playback attribute of is set to Present.
  • the playback time of the playlist is two hours long, and a branch occurs when one hour elapses.
  • the playback attribute is set to Present in the branch destination Title
  • the playlist in the branch destination Title is reproduced immediately after the already-reproduced section of one hour. If the playback attribute is set to Present in this way, even if there is a branch between Titles, playlist playback can be started from the remaining part. This makes it possible to easily realize a “common play of playlist playback between titles” in which a common playlist is played in a series of branched Titles. If any of the playback attributes is set to Present, the playback of one common playlist can be continued regardless of the branch to any of the multiple playlists.
  • the playback attribute is "Pre Se nt" playlists this playback attribute is assigned, it will be reproduced by a reproduction request from another application.
  • the management entity application manager
  • the management entity that performs application management describes the request in the PLjd_rel3 ⁇ 4 playlist management table of the requested playlist and plays the playlist. It is determined whether the attribute is “!” Or “Off” of “AutoPlay” or “Present”. If it is one of "AutoPlay” Present ", play the playlist. On the other hand, if the requested playlist is not described in the PLjcLrel ⁇ playlist management table, the playlist is not reproduced.
  • the playlist playback requested by the application is limited to the playlist to which "! Of “AutoPlay” or "Present” is added. "Pre Se nt”, since the playback attribute of the default, which is provided when you do not explicitly specify a playback attribute, a playback attribute is not specified in the play list "-" and its play list of a The playback attribute means this is Present.
  • Fig. 28 shows three modes that the branch destination Title can take (no playlist management table (0, playlist management table exists and AutoPlay (ii), playlist management table exists, and Pre Sent (m )) And six possible combinations of PL states (non-reproducing state, reproducing state) in the immediately preceding title.
  • FIG. 29 (b) is a diagram showing how the playlist playback and the application execution proceed according to the application management table and the playlist management table described as in FIG. 29 (a).
  • the application management table and playlist management table are set as described above, so the title #l side has a certain description Execution is stopped. PlayList # l that is not described on the title # 2 side is also stopped.
  • PlayList # 2 and application ⁇ which are described on the title # 2 side, automatically start playback and execution. If there is a title branch, the playlist to be reproduced can be switched to another playlist upon the branch.
  • the application management table and the playlist management table in this way, when the playlist playback is switched at the time of branching, it is possible to prescribe the processing at the authoring stage.
  • Startup priorities of 200, 128, 200 are given. By giving these activation priorities, arbitration can be performed when control requests for PlayList # l and PlayList # 2 conflict. Here, it is assumed that applications instruct PlayList # l to fast forward. On the other hand, it is assumed that applications make a pause request. In this case, the application management tape Therefore, arbitration is performed for both applications according to this startup priority. As a result, if the request by applications is rejected and the control by application ⁇ is continued, the processing can be defined at the time of authoring. By using the activation priority in combination with the playlist management table, it is possible to cause the playback device to perform even arbitration when control over the playlist conflicts.
  • FIG. 30 (a) is a diagram showing another description example of the playlist management table. This figure assumes that two consecutive titles (title # l, title # 2) are! /, And the playlist management table on the title # l side has PlayList # as an AutoPlay playlist. PlayList # 2 is described as a playable playlist, and the application management table on the title # l side describes applications that are AutoPlay applications and application ⁇ as an executable application. On the other hand, PlayList # 2 and PlayList # 3 are described as playable playlists in the playlist management table on the title # 2 side, and applications are described as AutoRun applications in the application management table. FIG.
  • FIG. 30 (b) is a diagram showing the progress of application execution and playlist playback based on the case of FIG. 30 (a). Since application ⁇ is described as an AutoRun application in the application management table of title # l, applications are automatically started when title # l starts. On the other hand, application # 2 is described as an executable application in the application management table of title # l, so application ⁇ is invoked by call ydl from application ⁇ .
  • PlayList # 2 is playable in addition to PlayList # l, so applications stop playback of PlayList # l, and By requesting the playback of # 2, a playlist change can be performed.
  • PlayList # 2 and PlayList # 3 are described as playable playlists. And there is no playlist to which the AutoPlay attribute is added. Therefore, even if the playback of PlayList # l that was automatically played back at the start of title # l continues to be called title, the playback of PlayList # l ends automatically.
  • PlayList # 2 reaches title # 2 while the playback of PlayList # 2 continues, the playback of PlayList # 2 continues even after the start of title # 2.
  • PlayList # 2 and PlayList # 3 are described as playable playlists. Therefore, the applications running in title # 2 stop the playback of PlayList # 2 and request the playback of PlayList # 3 instead, so that the playlist being played can be changed.
  • FIG. 31A shows a title playback section of a title whose playback attribute is set to AutoPlay. If the playback attribute is set to indicate AutoPlay, playback of AutoPlayPL starts at the same time as playback of the title starts. Here, even if the application operates normally and ends normally, the title playback section is determined based on the PL time axis.
  • FIG. 31B shows a case where the play attribute is set to “AutoPlay” in the playlist management table and the application ends abnormally. As a result of such abnormal termination, the playback of AutoPlayPL continues, with no application running. Also in this case, the PL time axis of AutoPlayPL is the title playback section.
  • FIG. 31 (c) shows 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. Also in this case, since the AutoPlayPL playback is performed irrespective of the failure in starting the application, the time axis of the AutoPlayPL becomes the title playback section.
  • the playback attribute of the playlist management table is set to "AutoPlay", it takes 5 to 10 seconds to start the Java (registered trademark) application. Also, while it is being activated, it will be in a "state where something is being shown” for the time being. At the start of the execution of the title, even if it takes a long time to start the application, the screen will be in a state where something is shown for the time being. This makes it possible to compensate for the prolonged start-up delay due to the time required to start the application.
  • FIG. 32 is a diagram showing the internal configuration of the playback device according to the present invention.
  • the reproducing apparatus 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 manufactured 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 include a BD-ROM drive 1, a read buffer 2, a demultiplexer 3, a video decoder 4, a video plane 5, a P-Graphics decoder 6, a Presentation Graphics plane 7, a synthesizer 8, a font generator 9, I-Graphics decoder 10, switch 11, Interactive Graphics plane 12, synthesis unit 13, CLUT unit 14, CLUT unit 15, audio decoder 16, Network Device 17, Local Storage 18, read buffer 19, demultiplexer 20, instruction It comprises a ROM 21, a user event processing unit 22, a PSR set 23, a CPU 24, a scenario memory 25, a local memory 26, and a switch 27.
  • the BD-ROM drive 1 loads / ejects the BD-ROM and executes access to the BD-ROM.
  • the read buffer 2 is a FIFO memory in which TS packets read from the BD-ROM are stored on a first-in first-out basis.
  • the demultiplexer (De-MUX) 3 extracts the TS packet from the read buffer 2 and Convert the TS packets that make up the TS packets into PES packets. Then, of the PES packets obtained by the conversion, those having the PID set by the CPU 24 are output to any of the video decoder 4, the P-Graphics decoder 6, the I-Graphics decoder 10, and the audio decoder 16.
  • the video decoder 4 decodes the plurality of PES packets output from the demultiplexer 3 to obtain an uncompressed picture and writes the picture in the video plane 5.
  • the video plane 5 is a plane for storing uncompressed pictures.
  • the plane is a memory area for storing one screen of pixel data in the playback device.
  • the resolution in the video plane 5 is 1920 ⁇ 1080, and the picture data stored in the video plane 5 is composed of pixel data represented by a 16-bit YUV value.
  • the playback image of each frame in the video stream can be scaled. Scaling means changing the reproduced image for each frame to either 1/4 (called quota) or 1/1 (called full scale) of the entire video plane 5. Since the powerful scaling is performed in accordance with the instruction from the CPU 24 in the BD-J mode, it is possible to produce a screen image in which the reproduced image of the video stream is driven to the corner of the screen or completely displayed.
  • the P-Graphics decoder 6 decodes the presentation graphics stream read from the BD-ROM, and writes uncompressed graphics to the Presentation Graphics plane 7. Subtitles will appear on the screen by decoding the graphics stream
  • the Presentation Graphics plane 7 is a memory having an area for one screen and can store one screen of uncompressed graphics.
  • the resolution of this plane is 1920 X 1080, and each pixel of uncompressed graphics in the Presentation Graphics plane 7 is represented by an 8-bit index color.
  • CLUT Color Lookup Table
  • the synthesizing unit 8 synthesizes the uncompressed picture data (0) stored in the video plane 5 with the content stored in the Presentation Graphics plane 7.
  • the font generator 9 converts the text code included in the textST stream into a bitmap using the character font, and writes the bitmap to the Presentation Graphics plane 7.
  • the I-Graphics decoder 10 decodes the IG stream read from the BD-ROM or the Local Storage 8 in the HDMV mode, and writes uncompressed graphics to the Interactive Graphics plane 12.
  • the switch 11 is a switch for selectively writing any one of the font sequence generated by the font generator 9 and the graphics obtained by decoding by the P-Graphics decoder 6 to the Presentation Graphics plane 7.
  • the synthesizing unit 13 synthesizes the contents stored in the Interactive Graphics plane 12 with the synthesized image output from the synthesizing unit 8 (the uncompressed picture data and the contents stored in the Presentation Graphics plane 7). Are synthesized. Applications can be made
  • Graphics written in the Graphics decoder 10 can be displayed by overlaying it on uncompressed picture data.
  • the CLUT unit 14 converts the index colors in the uncompressed graphics stored in the video plane 5 into Y, Cr, Cb values.
  • the CLUT unit 15 converts an index color in uncompressed graphics stored in the Interactive Graphics plane 12 into Y, Cr, Cb values.
  • the audio decoder 16 decodes the PES packet output from the demultiplexer 3 and outputs uncompressed audio data.
  • Network Device 7 realizes the communication function of the playback device.
  • the URL specification capability is provided by the 3 ⁇ 4ava (registered trademark) application, and the TCP connection, the FTP connection, etc. with the website corresponding to the URL are provided.
  • a Java (registered trademark) application is downloaded from a website.
  • the Local Storage 8 stores content supplied from a recording medium other than a BD-ROM or a communication medium, such as content downloaded from a web site through a connection established by the Network Device 7, together with metadata. Hard disk. This metadata is information for binding and managing the download content to the Local Storage 18. By accessing the Local Storage 18, the application in the BD-J mode can perform various operations using the download content length. Processing can be performed.
  • the read buffer 19 is a FIFO memory, and when the downloaded content stored in the Local Storage 8 includes a SubClip, stores the TS packets constituting the SubClip in a first-in first-out manner.
  • a demultiplexer (De-MUX) 20 extracts a TS packet from the read buffer 19 and converts the TS packet into a PES packet. Then, of the PES packets obtained by the conversion, those having a desired PID are output to the font generator 9, the I-Graphics decoder 10, and the audio decoder 16.
  • the command ROM 21 stores software for controlling the playback device.
  • the user event processing unit 22 In response to a key operation on the front panel of the remote control or the playback device, the user event processing unit 22 outputs a user event for performing the operation to the CPU 24.
  • the PSR set 23 is a register built in the playback device, and includes 64 Player Status Registers (PSRs) and 4096 General Purpose Registers (GPRs). Of the Player Status Register settings (PSR), PSR4—PSR8 are used to represent the current playback point.
  • PSRs Player Status Registers
  • GPRs General Purpose Registers
  • PSR4 indicates the title to which the current playback point belongs by being set to a value of 1 to 100. , 0 indicates that the current playback point is the top menu.
  • PSR5 indicates the chapter number to which the current playback point belongs by being set to a value of 11-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 Playltem (current PlayItem) number to which the current playback point belongs.
  • PSR8 indicates the current playback point (current PTM (Presentation TiMe)) using a time accuracy of 45 KHz by being set to a value of 0—OxFFFFFF. From the above PSR4—PSR8, the PSR8 shown in FIG. It is possible to specify where the current playback point is on the time axis of the entire BD-ROM.
  • the CPU 24 executes software stored in the instruction ROM 21 to control the entire playback device.
  • the contents of this control dynamically change according to the user event output from the user event processing unit 22 and the set value of each PSR in the PSR set 23.
  • the scenario memory 25 stores the current PL information and current This is the memory for storing the Clip information of this.
  • the current PL information refers to the information currently being processed from among the multiple PL information recorded on the BD-ROM.
  • the current Clip information is the information that is currently being processed among the multiple pieces of Clip information recorded on the BD-ROM.
  • the local memory 26 is a cache memory for temporarily storing the recorded contents of the BD-ROM.
  • the presence of the local memory 26 improves the efficiency of application execution in the BD-J mode.
  • the switch 27 is a switch for selectively inputting various data read from the BD-ROM and the Local Storage 8 to any of the read buffer 2, the read buffer 19, the scenario memory 25, and the local memory 26.
  • FIG. 33 is a diagram in which a portion composed of software and hardware stored in the ROM 24 is replaced with a layer configuration.
  • the layer configuration of the playback device is composed of the following a), b) and c).
  • the hardware configuration of the playback device shown in FIG. 32 belongs to the first layer.
  • “decoder” including the video decoder 4, the P-Graphics decoder 6, the I-Graphics decoder 10, and the audio decoder 16 in the hardware configuration shown in FIG. Includes “plane” consisting of video plane 5, Presentation Graphics plane 7, and Interactive Graphics plane 12, BD-ROM and its file system, Local Storage 18 and its file system.
  • the second layer "BD Player Model ',” is composed of the following layers bl) and b2).
  • the third layer "Application Runtime Environment” consists of the following layers cl) and c2). That is,
  • this module manager 34 is located at the highest level.
  • the module manager 34 has a detour url that bypasses the HDMV module 33 and the BD-J module 35 to reach the Playback Control Engine 32. . Due to this detour, the module manager 34 has a configuration in which the “L” shape is inverted in the layer model of FIG. 33, and has a built-in User Event Manager 37.
  • the BD-J module 35 is a so-called Java (registered trademark) platform. (Trademark) The configuration is based on the virtual machine 38. In the work memory in the Java (registered trademark) virtual machine 38, various system programs and applications operate! Above the Java TM virtual machine 38, the Application Manager 36, Event Listner Manager 39 (Default Operation Manager 40) is one such system program. The PLMT Prcessor 41 exists in the application manager 36. Further, a Permission Controller 42 is interposed between the BD-J module 35 and the Playback Control Engine 32.
  • FIG. 34 is a diagram schematically illustrating the processing performed by the Virtual File System 30—the module manager 34.
  • the Virtual File System 30 is a virtual file system for handling the download contents stored in the Local Storage 8 together with the disc contents in the BD-ROM.
  • the download content stored in the Local Storage 8 includes SubClip, Clip information, and playlist information.
  • the playlist information in this download content differs from the playlist information on the BD-ROM in that it can be specified whether the Clip information exists in the BD-ROM or the Local Storage18.
  • the AVClip on the Virtual File System 30 and the BD-ROM can be specified by specifying a 5-digit numerical value corresponding to the file body of the file storing the Clip information in the Clip_Information_file_name in the Playltem information and the Clip_Information_file_name in the SubPlayltem information.
  • the “, BD-ROM” in the present application includes the combination of the Local Storage 8 and the BD-ROM.
  • a virtual recording medium is also included.
  • the Presentation Engine 31 executes an AV playback function.
  • the AV playback function of the playback device is a group of traditional functions followed by DVD players and CD players. Playback starts (Play), stops playback (Stop), pauses (Pause On), and releases pause (Pause). Oil), Release of Still function (still off), Fast forward with specified speed (Forward Play (speed)), Rewind with specified speed (Backward Play (speed)), Audio switching (Audio Change), Sub video switching ( Subtitle Change) and Angle Change.
  • the Presentation Engine 31 which implements the AV playback function, decodes the video decoder 4, the P-Graphics decoder 6, and the I-Graphics decoder so as to decode the portion of the AVClip read on the read buffer 2 at the desired time. 10, control the audio decoder 16.
  • PSR8 current PTM
  • a playback control engine (Playback Control Engine (PCE)) 32 executes various functions such as a playback control function (0, a status acquisition Z setting function GO in the PSR set 23) and a play list.
  • the function means that the playback start and stop are performed according to the current PL information and the Clip information among the AV playback functions performed by the Presentation Engine 31.
  • These functions (0— (ii) are performed by the HDMV module 33—BD -Executes in response to a function call from J module 35.
  • the Playback Control Engine 32 reads out the playlist information instructed to be played back from the BD-ROM or the Local Storage 18 via the Virtual File System 30.
  • the Playltem information includes! / And the Clip information described in the Clip_Information_file_name from the BD-ROM or the Local Storage 18 via the Virtual File System 30. read out.
  • ( ⁇ ) 1,2,3,4 are for reading playlist information via Virtual File System30 ( ⁇ 1), decrypting Playltem information constituting playlist information (( ⁇ ) 2), via Virtual File System30
  • This is a schematic representation of the Clip information reading (( ⁇ ) 3) and decryption of the Clip information (( ⁇ ) 4).
  • the TS packet constituting the AVClip is delivered to the Presentation Engine 31 through the Virtual File System 30. In this way, if the TS packets are sequentially passed to Presentation Engine 31, Presentation Engine 31 outputs the TS packets constituting the AVClip to the decoder and displays them on a plane.
  • 1, 2, 3, and 4 in the figure indicate reading of TS packets constituting an AVClip (1, 2), delivery of TS packets from Virtual File System 30 to Presentation Engine 31 (3), input of TS packets to a decoder (4) Also, the decoding power is schematically shown as the decoding result output to various planes (5).
  • the HDMV module 33 is an execution entity of the HDMV mode. And decodes the navigation command described in the Movie Object, and executes a function call to the Playback Control Engine 32 based on the result of the decoding.
  • arrows marked with V2, V3, and ⁇ 4 indicate activate (mobj_id) (2) by module manager 34, decoding of navigation command described in Movie Object (3), and function call to Playback Control Engine 32. (4) is schematically shown.
  • the module manager 34 holds the Index.bdmv read from the BD-ROM and performs branch control. This branch control is applied to the dynamic scenario that composes the current title.
  • the notification of (V2) is schematically shown as follows: The same applies to the case where a BD-J Object calls JumpTitleAPI (JumpTitle (title-id), and a Terminate event is sent to the BD-J Object that constitutes the current title. Issue, and activate (bobjjd) is issued to the BD-J module 35 to activate the BD-J Object constituting the title corresponding to the titlejd.
  • JumpTitleAPI JumpTitle (title-id)
  • a Terminate event is sent to the BD-J Object that constitutes the current title.
  • Issue, and activate (bobjjd) is issued to the BD-J module 35 to activate the BD-J Object constituting the title corresponding to the titlejd.
  • FIG. 35 is a diagram showing the application manager 36.
  • the application manager 36 executes the Java (registered trademark) virtual machine 38 so as to start the application having the AutoRun start attribute in the new title, but not in the title before the branch every time the title branch occurs. To instruct. At the same time, the application is executed in the title before branching, but the application is terminated without setting a new title as a live range. These start control and end control are performed with reference to the application management table in the current BD-J Object. If there is a title branch here, activate (bobjjd) is notified from the module manager 34.
  • the BD-J Object corresponding to bobjjd is set as the current BD-J Object, and by referring to the application management table in the current BD-J Object, the application to be automatically started and the automatic end described above are terminated. Identify applications that should be.
  • 0, 1, 2, and 3 indicate occurrence of Titlejump ( ⁇ ()), notification of activate (bobjjd) (1), reference to application case management table (2), Java (registered trademark) virtual machine 38
  • An application start instruction (3) to the user and a series of steps are schematically shown.
  • the Java TM virtual machine 38 reads the xlet program from the local memory 26 to the work memory (4, 5).
  • the User Event Manager 37 separates the user event received by the user event processing unit 22 into a user event for playback control and a key event.
  • Play The user events for control, the playback start (Pl ay), playback stop (Stop), pause (Pause 0n), unpausing (Pause 011), release of the Still function (still off), speed specified Select one of fast forward (Forward Play (speed)), rewind with specified speed (Backward Play (speed)), audio change (Audio Change), sub-picture change (Subtitle Change), and angle change (Angle Change).
  • a key event indicates the pressing of any of the Pop-up, MoveUp, MoveDown, MoveRight, MoveLeft, and Numeric keys.
  • a function call for causing the Playback Control Engine 32 to execute a playback control function is performed.
  • This function call is called U0 (User Operation), and is made by using the UO controller 37a in a detour in the module manager 34 without passing through the HDMV module 33 and the BD-J module 35.
  • playback control such as playback start (Play), playback stop (Stop), pause (Pause 0n), and release of pause (Pause Off) can be performed without delay.
  • 1, 2, and 3 in the figure schematically depict the playback control user event and the key event by the User Event Manager 37 (1, 2), and the function call to the Playback Control Engine 32 based on the playback control user event (3). Shown in
  • the Java (registered trademark) virtual machine 38 loads an xlet program constituting an application into a park memory, decrypts the xlet program, and controls the lower layer according to the decryption result.
  • the JMF method is issued to the BD middleware (not shown), the BD playback device replaces it with the corresponding function call, and issues the replaced function call to the Playback Control Engine 32. It is done by things.
  • the Event Listner Manager 39 analyzes key events and sorts the events.
  • the Default Operation Manager 40 sends a function call corresponding to the Event Listner unregistered event to the Playback Control Engine 32. Run.
  • the arrow in the power diagram schematically shows the function call by the Default Operation Manager 40.
  • the PLMT processor 41 is a component of the application manager 36.
  • the PLMT processor 41 refers to the playlist management table of the BD-J Object specified by the bobjjd. If the playback attribute is in the playlist management table of the BD-J Object,
  • the description of the permission controller 42 in this embodiment is omitted.
  • FIG. 37 is a diagram showing an internal configuration of the Java (registered trademark) virtual machine 38.
  • the Java (registered trademark) virtual machine 38 includes the CPU 24 shown in FIG. 32, a user class loader 52, a method area 53, a work memory 54, a thread 55a, b ' ⁇ ⁇ , and a Java (registered trademark). ) Stack 56a, b ' ⁇ ⁇ ⁇ .
  • the user class loader 52 reads the class file in the Java (registered trademark) archive file in the BDJA directory, also reads the local memory 26 and stores it in the method area 53.
  • the reading of the class file by the user class loader 52 is performed by the application manager 36 instructing the user class loader 52 to read the file specifying the file path. If the file path indicates the local memory 26, the user class loader 52 reads the class file in the Java archive file constituting the application from the local memory 26 to the work memory 54. Virtual file path If a directory on the File System 30 is indicated, the user class loader 52 reads a class file in a Java (registered trademark) archive file constituting the application from the BD-ROM or the Local Storage 8 to the work memory 54.
  • the application start control (3, 4, 5) shown in FIG. 35 is realized by reading a class file by the user class loader 52. If the class file to be read is not in the local memory 26, the user class loader 52 notifies the application manager 36 of the read failure.
  • the method area 53 stores the class file read from the local memory 26 by the user class loader 52.
  • the work memory 54 is a so-called heap area, and stores instances of various class files.
  • An application manager 36 and an event listener manager 39 shown in FIG. 33 are resident applications resident in the work memory 54.
  • the work memory 54 stores an instance corresponding to the class file read into the method area 53 in addition to the resident type instance. This instance is the xlet program that makes up the application. By placing a powerful xlet program in the work memory 54, the application becomes executable. 33, 35, and 36, the work memory 54 is described in the upper layer of the Java (registered trademark) virtual machine 38! / ⁇ . This is merely a consideration for describing the application manager 36 and the event listener manager 39 on the work memory 54 in a simple and easy manner.
  • the application manager 36 and the Event Listner Manager 39 are executed by the threads 55a, b '... ⁇ as instances.
  • the thread 55a, b ' ⁇ ⁇ is the logical execution entity that executes the method stored in the work memory 54, and performs operations using local variables and arguments stored in the operand stack as operands. , And stores the operation result in a local variable or an operand stack.
  • Arrows kyl, ky2, and kyn in the figure symbolically indicate method supply from the work memory 54 to the threads 55a, b '... ⁇ . While there is only one physical execution agent CPU, there can be up to 64 logical execution agents in the Java TM virtual machine 38. Within this 64 number, new threads can be created or existing threads can be deleted. The number of running threads can increase or decrease during the operation of the Java TM virtual machine 38.
  • the correspondence between the CPU 24 and the threads is a one-to-many relationship.
  • the correspondence between the CPU and the threads can be a many-to-many relationship.
  • the method execution by the threads 55a, b '... ⁇ is performed by converting the bytecode constituting the method into the native code of the CPU 24 and issuing it to the CPU 24. This native code conversion is out of the scope of the present application, and will not be described.
  • the Java (registered trademark) stack 56a, b ' ⁇ ⁇ exists in a one-to-one ratio with the threads 55a, b' ⁇ ⁇ , and the program counter (PC in the figure) and one It has the above frame inside.
  • the "program counter” indicates which part of the instance is currently being executed.
  • a “frame” is a stack-type area allocated for one call to a method.
  • the "operand stack” that stores the arguments for one call and the "local” used by the called method.
  • Variable stack local variable in the figure) ".
  • the application manager 36 When the module manager 34 outputs an event (activatred [bobj_id]) requesting activation of the BD-J Object of bobjjd, the application manager 36, which is an instance on the work memory 54, outputs the BD-J having the bobjjd. Object is newly made current BD-J Object. Then, the application manager 36 determines the application to be automatically started (0, the application GO to be automatically terminated, by comparing the execution status of the branch source title with the startup attribute of the application in the current BD-J Object.
  • the application to be automatically started is determined as follows: aplijd_rel of the application having the AutoPlay attribute in the current BD-J Object, but the application management table of the current BD-J Object. If there is a strong apli jd_rel ⁇ , read the class file belonging to the Java (registered trademark) archive file for the application [ ap lijd_ref] into the method area 53. Instructs the class loader 52 to generate an instance for the class file on the work memory 54. In this way, the application in which the current title is the live range is in an executable state. • By letting ⁇ run, To row.
  • the PLMT Prcessor 41 which is a component of the application manager 36, compares the playback state in the branch source title with the playback attribute of the playlist in the current title, and determines the playlist (0, Judge playlist G0.
  • the playlist to be automatically played is determined in the non-playback state in the branch source title, and the AutoPlay attribute is set in the current title in the playlist management table. This is done by searching the playlist management table for the presence / absence of the playlist, and if so, executing a playlist playback function call with the PL_id_re3 ⁇ 4 argument of the playlist to be played. , The argument! ⁇ "(1_1
  • the frame force stored in the operand stack 3 ⁇ 4ava (registered trademark) stack 56a, b ' ⁇ ⁇ is generated. Then, the thread 55a, b '... ⁇ executes a function call for playlist playback. The execution of this function call causes the Presentation Engine 31 to start playing the playlist.
  • the determination of the playlist to be automatically terminated is performed by retrieving whether or not there is a playlist that is in the reproduction state of the branch source title and is not described in the playlist management table of the current title. This is done by performing on the list management table. If so, a function call for stopping the reproduction of the playlist is executed, and the frame corresponding to the function call for reproducing the playlist is deleted from the Java (registered trademark) stack 56a, b ',' n. I do.
  • FIG. 38 is a diagram showing four modes of application termination. The first is that the application is terminated by issuing a Terminate event by the application manager 36 because the resource has run out (1). The second is that the Terminate event issued by another application is sent to the application manager 36. (2) The third mode is that the live range described in the application management table has ended, and the process ends with the Terminate event issued by the application manager 36 (3). The fourth mode is that the application is terminated by activating its own termination process (4). Since three of these four aspects are performed by the application manager 36, it can be seen that the application manager 36 has a central role in application operation control. If the application does not terminate even if the Terminate event is issued, the application manager 36 can forcibly terminate the application and give up the used resources.
  • One of the features of Application Manager 36 is that it is responsible for releasing resources in a powerful manner.
  • FIG. 39 is a diagram showing a processing procedure by the application manager 36.
  • the processing procedure in this figure has a main loop that also has Step S1—Step S2—Step S3—Step S4.
  • Step S1 is a determination as to whether or not a title jump has been performed.If the title is jumped, the title is switched (step S7). Then, the non-surviving application is terminated at the branch destination Title (step S8).
  • the playlist management table of the branch destination Title the reproduction of the PL that is being reproduced at the branch source Title and is not alive at the branch destination Title is stopped (step S9).
  • the PLMT Prcessor 41 determines the non-playback state in the branch source Title and the PL having the AutoPlay attribute in the branch destination Title (step S10). If there is, the PLMT Prcessor 41 instructs the Playback Control Engine 32 to play the AutoPlayPL (step Sl). If not, AutoPlayPL will not play.
  • a series of procedures consisting of the following steps S12 to S18 realizes activation of an application in which the life cycle is the branch destination Title.
  • a start instruction is issued to the AutoRun application (step S14), and if the start is successful (Yes in step S15), the playback image of AutoPlayPL is converted into a quota (1/4) (step S14). It implements the procedure called SI 8).
  • step S 15 a loop process consisting of step S 14 -step S 17 is executed.
  • the control variable in this loop processing is a restart counter.
  • the restart counter is a counter that defines the number of restarts of the application. This restart counter is reset in step S12, and in step S16, it is determined whether or not it is 0. If not 0, the restart counter is decremented in step S17.
  • the loop processing including steps S14, S15, S16, and S17, as long as the restart counter is not 0, the start of the AutoRun application is repeated. By vigorous repetition, application launch is guaranteed.
  • Step S2 is for determining whether or not the main application is not being executed. If so, the determination in step S5 is performed. Step S5 is the application Is normally terminated. If abnormal termination has occurred, the processing of steps S19 and S20 is executed. If the processing has been normally completed, the process returns to the main loop including Step S1—Step S4 without executing Step S19—Step S20.
  • Step S19 is a determination as to whether or not AutoPlayPL is being played back. If so, the Playback Control Engine 32 is instructed to display the AutoPlayPL playback image in full screen (step S20). After that, the routine goes to Step S16. By shifting to step S16, a loop process consisting of step S14—step S17 is executed even at abnormal termination. Thus, the restart of the application is repeated until the number of the restart counter set in step S12 becomes zero.
  • Step S4 is for determining whether or not a BD-ROM exists in the BD drive 1. If the BD-ROM does not exist, a termination instruction is issued to all applications (step S4). S6).
  • FIG. 40 shows specific examples of the playlist management table and the application management table.
  • the first row in FIG. 40 shows the title playback video, and the second row shows the time axis of the title. No.
  • the third row shows progress of PL playback
  • the fourth row shows application execution.
  • application # l is activated at the start of Title, and then becomes active at time tl.
  • PlayList # l is started to be reproduced at the same time as the start of Title. Playback of Playlist # l starts at the same time as the start of Title, so as shown on the left side of the first row
  • the playback image gjl of the playlist is displayed in full screen in the startup delay from the start of the playback of the Title to the start of the application.
  • the composite image gj2 with the PL playback image as the child screen and the application execution image as the main screen is displayed at the time tl.
  • the application execution image is a game screen on which a Start button, a continue button, and a POWER indicator are arranged, and is executed by a Java (registered trademark) application executing drawing processing on the Interactive Graphics plane 12.
  • Java (registered trademark) application power S To perform such drawing processing, a library for graphics drawing and character drawing is required.
  • step S20 the application manager 36 makes the playback image of the PL full screen.
  • the time point t3 in the figure indicates the timing of this full screen.
  • an image gj3 obtained by the full-screen dagger is shown.
  • the reproduction attribute of the playlist management table is set to “
  • the second embodiment relates to an improvement for defining a recovery process at the time of error termination at the time of authoring.
  • the recording medium according to the present embodiment has an error management table in one BD-J Object.
  • (a) is a diagram illustrating an internal configuration of a BD-J Object according to the second embodiment.
  • an error management table (Error Maangement Table [bobj_id]) is added to the BD-J Object in addition to the application management table and the playlist management table.
  • FIG. 41B shows the internal structure of the error management table.
  • the error management table includes Number_of_recovery pieces of recovery information (recoveryO).
  • Restart_Application_flag when set to 0, indicates that restart will not be performed upon abnormal termination. When set to an integer value n other than 0, it indicates that restart is repeated n times. This flag is set to 0 as a default value.
  • Continuous_Playback_flag when set to 0, indicates that PL playback is not continued at the time of abnormal termination.
  • An integer value of 1 indicates that PL playback is continued at abnormal termination, and a setting of 2 indicates that PL playback is continued at full screen at 1x speed at abnormal termination. This flag is set to 0 as a default value.
  • the "Select_Title_flag" is set to 0 to indicate that the Title branch is not performed at the time of abnormal termination. When set to an integer value n other than 0, it indicates that jumping to the title specified by the title number n is performed. This flag is set to 0 as a default value.
  • Notify_Event_flag when set to 0, indicates that no event is output at abnormal termination. When set to an integer value n other than 0, it indicates that the event with the event number n is to be output. This flag is set to 1 as a default value.
  • Reboot_flag when set to 0, indicates that the bootstrap of the playback device is not performed at the time of abnormal termination. An integer value of 1 indicates that bootstrapping is to be performed.
  • FIG. 43 (a) is a diagram showing two Titles (title # l, title # 2) in which an error management table is described.
  • the application management table of title # l describes applications as AutoRun applications, and the error management table of title # l describes Recovery information to be used when this application # l terminates abnormally.
  • the playlist management table of title # l PlayList # l is described as an AutoPlay playlist!
  • FIG. 43 (b) shows the progress of application execution and playlist playback based on the application management table and the error management table described as in FIG. 43 (a).
  • the processing when the application ends abnormally can be changed for each Title and for each application.
  • FIG. 44 is a flowchart showing a processing procedure of the application manager 36 according to the second embodiment.
  • Step S1 to Step S4 are the main loop.
  • the processing when a title is selected in the main application is as shown in Step S21-Step S27.
  • step S21 the PLMT processor 41 determines whether or not the playlist management table exists at the branch destination Title. If it exists, it is in a non-playback state at the branch source Title, but has an AutoPlay attribute at the branch destination Title! /, And the Playback Control Engine 32 starts playback of the PL (step S22). It is determined whether or not the reproduction was successful (step S23). If successful, the processing of step S25—step S28 is performed. If not successful, the flow moves to the flowchart in FIG.
  • step S24 the playback of the PL that was in the playback state at the branch source Title is stopped by the Playback Control Engine 32 (step S24), and the processing of step S25—step S28 is performed. .
  • Step S25 is for judging whether or not the application management table exists in the branch destination Title. If present, the AutoRun application in the branch target application Yeon is activated (step S26), and it is determined in step S27 whether or not the force has been successfully activated. If successful, the process returns to the loop processing of step S1—step S4. If not successful, the flow shifts to the flowchart in FIG.
  • Step S30 is for judging whether or not an error management table exists in the Title to which the abnormally terminated application belongs. If not, the process returns to the loop consisting of steps S1 to S4.
  • step S31 it is determined whether the Restart_Application_flag force SO in the error management table is! /. If it is not 0, a loop process consisting of step S40—step S44 is executed. This loop processing
  • step S40 If the value n of Restart_Application_flag is set to the restart counter (step S40), and the loop processing of step S41 and step S44 is executed, the result is! /.
  • the control variable of this loop processing is a restart counter, and the condition for ending this loop processing is that the restart counter power is used (Yes in step S41) and that the application was successfully started (Yes in step S44). It is. In this loop processing, these steps S41 and S44 are performed. As long as, the restart counter is decremented (step S42), and when the AutoRun application is started, the operation is repeated (step S43). Abnormal termination by such repetition! Thus, the application is restarted. If it is the Restart_Application_flag force, step S32 is executed.
  • Step S32 is a step in which it is determined whether the Continuous_Playback_flag force is the force 1 that is SO and the force is 2. If it is 2, the playback image of AutoPlayPL is displayed in full screen (step S33), and the process returns to the main loop including step S1—step S4.
  • step S34 the playback image of AutoPlayPL is displayed in the quota (step S34), and the process returns to the main loop including step SI—step S4.
  • step S35 If it is 0, the process moves to step S35.
  • Step S35 is a judgment as to whether or not the selev itle_flag force of the error management table is! /, And if it is 0, the process proceeds to step S37. If not 0, set the value of selevt_title_flag n The branch destination is set to Title (step S36), and the flow shifts to step S7 in FIG.
  • Step S37 is for judging whether or not Notify_Event_flag power of the error management table is not!, And if it is 0, the process proceeds to step S39. If it is not 0, an event n specified from the value n of Notify_Event_flag is generated (step S38), and the flow shifts to the main loop of step S1—step S4 in FIG. Step S39 is the Boot_flag power SO of the error management table! If it is 0, the process proceeds to the main node consisting of steps S1 to S4. If it is not 0, the processing moves to the top of FIG. 44 and the bootstrap of the playback device is executed.
  • a program for performing a recovery process when an abnormal termination of an application occurs during reproduction of a title having no error management table may be incorporated in the reproduction apparatus.
  • the PL playback in the Java (registered trademark) virtual machine can be specified using the playlist management table in the BD-J Object.
  • the present embodiment focuses on PL playback using the JMF method of the application.
  • the problem here is the playlist management table. In other words, whether or not to play the PL is described in the playlist management table for each BD-J Object, so it can be played back in one Title, but not in another Title. is there. Even if PL playback is possible, it may be necessary to prohibit playback from certain applications from the viewpoint of copyright protection.
  • the Permission Controller 42 and the application manager 36 perform the following processing in order to realize such restrictions on PL playback.
  • the permission controller 42 is provided when any application power PL playback is requested. In this case, mutual authentication is performed with the application, and it is determined whether or not the requesting application has the playback right of the PL. If so, the playback request is requested to the Playback Control Engine 32; otherwise, a response event indicating rejection is output to the requesting application.
  • the Permission Controller 42 By the permission / rejection determination by the Permission Controller 42, even if an application that assists in distribution by another distribution company requests a PL that assists in distribution by one distribution company, such request can be rejected. Therefore, it is possible to prevent unauthorized quotation of the PL by the application without the right authority.
  • the combination of a PL and an application to be permitted and the combination of a PL and an application to be disallowed are specified in a Permission file separately recorded on the BD-ROM, and the determination by the Permission Controller 42 is based on this.
  • the details of such a file are not the main subject of the present application, and thus description thereof is omitted.
  • FIG. 46 is a flowchart showing a processing procedure of the notification processing by the application manager 36.
  • the application while the application is running, it is monitored whether or not the application has issued a request (GetPL) for a notification of a reproducible PL (Step S45). If issued, it is determined whether or not a playlist management table exists in the BD-J Object constituting the Title to which the current playback point belongs (step S46). If there is a description of the PL, the PL described in the playlist management table is notified to the requesting application as a reproducible PL (step S47).
  • step S48 If there is no description of the PL, it notifies the issuer application that PL playback is not possible (step S48).
  • the above is the processing procedure of the application manager 36 according to the third embodiment.
  • the application manager 36 performs processing according to the flowchart of FIG.
  • the application manager 36 determines whether or not there is an application that has requested the PL playback (step S51). If any application requests PL playback, whether or not the requesting application has the right to play PL Authentication is performed by the Permission Controller 42 (step S52). If there is a right to play, the playback control engine 32 is instructed to start playback (step S53), and waits for a success response from the playback control engine 32 (step S54).
  • Playback Control Engine 32 checks the validity of the playlist information.
  • the strong validity check is performed by checking if the playlist information, Clip information, and AVClip exist in the BD-ROM and Local Storage 18 that constitute a valid playlist, and is specified by the clip_Information_file_name in the playlist information.
  • Playback Control Engine 32 will return a response indicating false.
  • an application having a higher startup priority than the requesting application is playing back the PL, and there is a conflict in resources for realizing the PL playback, the Playback Control Engine 32 returns a response indicating false most.
  • step S55 If there is a success response through the above process, an event indicating the success of PL playback is output to the requesting application (step S55).
  • step S56 If there is no success response, an event indicating that the PL playback has failed is output to the requesting application (step S56). On the other hand, if the requesting application does not have the right to reproduce the requesting application in step S52, an event indicating that the PL cannot be reproduced is output to the requesting application (step S57).
  • the playability of a playlist is different for each Title, and even if there are various applications such as an application with a right to play a playlist and an application that is not, Appropriate playlist playback can be performed as required by the application. Therefore, a variety of content expressions combining application execution and playlist playback can be realized.
  • the present embodiment relates to an improvement in which an unboundary application is recorded on a BD-ROM, and at the time of starting the title, the title to be automatically started to be played back is selected by the unboundary application.
  • the unbounded application is an application, such as Playback Control Engine 32, which is in a position equivalent to the resident application in the playback device, and is played back from multiple playlist information described in the playlist management table.
  • a device that matches the PSR set value on the device side is selected, and the process of notifying is performed in response to a request from Playback Control Engine 32.
  • Fig. 48 (a)-(c) are diagrams showing the contents of the selection algorithm incorporated in the unboundary application in a table format. This table shows the range of possible values of the PSR and the PL to be reproduced when the PSR reaches those values.
  • Fig. 48 (a) shows the contents of the selection algorithm based on the parental level.
  • the parental level is indicated in the PSR (14) in the playback device.
  • an integer value indicating the age of the user is set in PSR (14), and the playback device interprets this as a parental level.
  • the values that PSR (14) can take are divided into three ranges: under the age of 14, between 14 and under 18, and over 18. PL to be reproduced is associated with each of these ranges. If the unboundary application makes a selection using a powerful selection algorithm, PlayList # l if the PSR setting value is under 14 years old, PlayList # 2 if the PSR value is 14 years old and under 18 years old, PlayList # 3 if 18 years old or older Each will be selected.
  • FIG. 48 (b) shows the contents of the selection algorithm based on Languege for Audio.
  • “Languege for Audio” is shown in PSR (16) in the playback device.
  • an integer value is set in the PSR (16), and the playback device sets this to the language setting for audio playback.
  • the values that PSR (16) can take are divided into three ranges: values indicating English, values indicating Japanese, and other values. The PL to be reproduced is associated with each of these ranges. If the unboundary application makes a selection using a strong algorithm, PlayList # l if the PSR (16) setting value indicates English, PlayList # 2 if the setting value indicates Japanese, PlayList if the value is other than English or Japanese # 3 is selected respectively.
  • Fig. 48 (c) shows the content of the selection algorithm based on the Player Configuration for Video.
  • the Player Configuration for Video is indicated in the PSR (14) in the playback device.
  • an integer value is set in the PSR (14), and the playback device interprets this as an environment setting for video playback.
  • the values that the PSR (14) can take are divided into three ranges: resolution 525 X 600 TVsystem LetterBox, resolution 525 X 600 TVsystem, and 1920 X 1080 TVsystem.
  • the PL to be reproduced is associated with each of these ranges. If the unboundary application makes a selection according to the powerful selection algorithm, the PSR (14) setting will be
  • the selection algorithm shown in FIGS. 48 (a)-(c) can be created by describing the conditional branches shown in these figures in a computer description language.
  • the application manager 36 determines whether or not AutoPlayPL exists in the playlist management table. If there is no AutoPlayPL, the playlist management table is delivered to the Playback Control Engine 32, and a request is made to the Playback Control Engine 32 to automatically play any of the PLs described in the playlist management table.
  • the Playback Control Engine 32 Upon receiving the delivery of the playlist management table, the Playback Control Engine 32 requests the boundary application to perform PL selection. According to this request If a list of PLs that can also be played back by the unbounded application is notified, of the PLs listed in the PL list, those that exist in the playlist management table passed from Playltem are determined. If any of the PLs selected by the unboundary application is listed in the playlist management table, the playback of that is automatically started.
  • FIG. 49 is a diagram schematically illustrating a process of causing the title unboundary application to select a PL.
  • the left side of the figure shows the layer configuration of software in the playback device, and the right side of the figure shows the recorded contents of the BD-ROM.
  • ⁇ 1,2,3,4 in the figure are notifications from the application manager 36 when a playlist management table without AutoPlay is found ( ⁇ 1), and a query for a playable PL by Playback Control Engine 32 (( ⁇ 2), PSR setting value acquisition by title boundary application (( ⁇ ) 3), notification of playable PL from title unboundary application to Playback Control Engine 32 (( ⁇ ) 4) I'm drawing.
  • the title unboundary application is described on the BD-ROM, but this is only a consideration for describing the title unboundary application in an easily understandable manner. Since the title unboundary application is a Java (registered trademark) application, it is a realistic description that it is executed by the thread 55 as an instance in the work memory 54 in the Java (registered trademark) virtual machine 38.
  • the values that the PSR can take are associated with the playlist, but if the set value of the PSR in the playback device is an unexpected value, the playback device A playlist to be played back on the device is specified in advance.
  • the title unboundary application has a selection algorithm when selecting a PL to be reproduced according to the set value of the PSR.
  • the title unboundary application according to the present embodiment has In the case where there is a multi-angle section in one PL, the process of selecting one of a plurality of angles in the multi-angle section is performed by a title unboundary application.
  • the title unboundary application according to the present embodiment associates a plurality of ranges of values that the PSR can take with angles to be reproduced for each of the ranges.
  • the Playback Control Engine 32 inquires of the title unboundary application which angle to play.
  • the title unboundary application obtains the current PSR setting, executes the selection algorithm, and selects an angle according to the obtained setting. The result of the selection is notified to the Playback Control Engine 32, and the playback of the angle is performed by the Playback Control Engine 32.
  • the algorithm for selecting which angle is selected when the PSR is a given value can be prescribed by the authoring person, so that various applications using the angle can be used. Authoring personnel can produce.
  • the Playback Control Engine 32 executes a processing procedure based on the PL information. If the PL has a playback time of 2 hours, the process described above will continue during these 2 hours.
  • the problem here is the gap between the time when the Java TM virtual machine 38 returns a success response and the time when the Playback Control Engine 32 actually finishes processing. Since the Java TM virtual machine 38 is an event-driven processing subject, it returns a response indicating success or failure of playback immediately after the call. However, the actual processing by the Playback Control Engine 32 ends after 2 hours.
  • the Playback Control Engine 32 Since the Playback Control Engine 32 operates standalone with the application, the application manager 36 cannot correctly interpret the end point of the PL playback. Therefore, in this embodiment, whether or not the application is terminated, as long as the JMF player instance is in the work memory, that is, while the BD-J module 35 has control of the Presentation Engine 31, the Playback Control Engine 32 Wait for Notify event from. If there is a Notify event, the module interprets that the title is over and notifies the module manager 34 to branch to the next title. By doing so, the time when the Playback Control Engine 32 ends the PL playback can be set as the end of the title.
  • FIG. 50 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 S106) and control on the BD-ROM drive 1 or the Local Storage 18 (step SI08).
  • the Playltem to be processed is referred to as Playltemfe.
  • the current PL information (.mpls) is read (step S101), and then the processing of step S102—step S110 is executed.
  • Step S102—Step S110 constitutes a loop processing in which the processing of Step S103—Step S110 is repeated for each PI information constituting the current PL information until Step S109 becomes Yes.
  • the Playltem to be processed is
  • This Playltemfe is initialized by being set to the first Playltem of the current PL (step S102).
  • the termination requirement of the above-mentioned loop processing is that this Playltemfe becomes the last Playltem of the current PL (step S109), and if not the last Playltem, the next Playltem in the current PL is set to Playltemfe ( Step S110).
  • Step S103 Step S110 repeatedly executed in the loop processing includes: The Clip information specified by the Playltemfe Clip_information_file_name is read into the scenario memory 25 (step S103), and the Play_temfe In_time is converted into an I picture address u using the current Clip information EPmap (step S104). The OuUime of Playltemfe is converted to an I-picture address v using the EP_map of the current Clip information (step S105), and the next I-picture following the address V obtained by these conversions is obtained. The immediately preceding address is set to address w (step S107), and reading of TS packets from I picture address u to address w is performed using BD-ROM drive 1 or Local Storage 18 using the calculated address w. (Step SI 08).
  • the Presentation Engine 31 is instructed to output from mark_time_stamp of the current PLMark to OuUime of Playltemfe (step S106).
  • Step S 105 Step S 108 above, the portion indicated by the Playltemfe in the AVClip is reproduced.
  • Playltemfe is the last PI of the current PL (step S109).
  • step S110 If Playltemfe is not the last PI of the current PL, the next Playltem in the current PL is set to Playltemfe (step S110), and the process returns to step S103. By repeating the above steps S103 and S110, the PIs constituting the PL are sequentially reproduced.
  • FIG. 51 is a flowchart showing the angle switching procedure and the SkipBack and SkipNext procedures. This flowchart is performed in parallel with the processing procedure of FIG. 50. Steps SI11 to S112 are repeated when a loop process with a large force is repeated! Step S111 in this loop is to determine whether or not the API force for requesting angle switching has been called from the Java (registered trademark) virtual machine 38. If the angle switching API is called, the current Clip information is switched. Perform an operation.
  • Step S115 in Fig. 51 is a determination step, which determines whether or not is-multi-angles of Playltemfe is on. is_multi_angles is a flag indicating whether or not Playltemfe supports multi-angles. If step S115 is No, proceed to step S113. Step SI15 If SYes, step S116 —Perform step S 119 To do.
  • Step S116 substitutes the changed angle number for the variable y (step S116), reads out the Clip information specified by the y-th Clip_information_file_name in Playltemfe to the scenario memory 21 (step S117), The PTM is converted to an I-picture address u using the EP_map of the current Clip information (step S118), and the OuUime of Playltemfe is converted to an I-picture address v using the EP_map of the current Clip information (step S119). That is.
  • the process of FIG. 50 which is being executed simultaneously, is stopped, and the process proceeds to step S106. Since the TS packet is read from another AVClip by shifting to step S106, the video content is switched.
  • step S112 in the loop of FIG. 51 is for determining whether or not the API force Uava (registered trademark) virtual machine 38, which means SkipBack / SkipNext, has been called.
  • the processing procedure of the flowchart is executed.
  • Figure 52 shows
  • step S121 the current Mark information is obtained by converting the current PI number indicated by the PSR and the current PTM.
  • step S122 it is determined whether the pressed key is the SkipNext key or the SkipBack key. If the key is the SkipNext key, the flow advances to step S123 to set the direction flag to +1. If it is the SkipBack key, go to step S124! /, And set the direction flag to -1.
  • step S125 a 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 the SkipNext key, the direction flag is set to +1! /, So the current PLMark is incremented. If it is the SkipBack key, the direction flag is set to -1, so the current PLMark will be decremented.
  • step S126 the PI described in the o_PlayItem_Id of the current PLMark!
  • step S1208 the EP_map of the current Clip information is To convert the mark_time_stamp of the current PLMark into an I-picture address u.
  • step S129 the OuUime of Playltemfe is converted to an I-picture address V using the EP_map of the current Clip information.
  • step S130 the output from the mark_time_stamp of the current PLMark to the Out_time of Playltemfe is instructed to the Presentation Engine 31, and the concurrently executed processing in FIG. 50 is stopped. Then, the flow proceeds to step S107 in FIG.
  • the I picture addresses u and v are changed, and the reproduction of another part is ordered, and then the process proceeds to step S107.As a result, the TS packet is also read with another AVClip force, and the video content is switched. Is realized.
  • FIG. 53 is a flowchart showing details of the processing procedure by the Presentation Engine 31.
  • a loop process including step S132—step S137 is executed.
  • step S132 step S137
  • This loop processing repeats the reproduction output of the picture and audio corresponding to the current PTM and the update of the current PTM.
  • Step S136 in this loop processing defines the requirements for terminating the loop processing. In other words, step S136 uses the fact that the current PTM is Out_time of PI # x as a requirement for terminating the loop processing.
  • Step S133 is to judge whether the fast forward API or the fast reverse API has been called from the Java (registered trademark) virtual machine 38. If called, it is determined in step S138 whether fast-forward or fast-reverse, and if fast-forward, the PTS of the next I-picture is set to the current PTM (step S139). By setting the current PTM to the PTS of the next I-picture in this way, AVClip can be played every second. As a result, the AVClip is reproduced in the forward direction at a double speed or the like. If the rewind is fast, it is determined whether the current PTM has reached OuUime of Playltemfe (step S140). If you do not reach!
  • Step S141 The PTS of the immediately preceding I picture is set as the current PTM (step S141).
  • the AVClip can be played back one second at a time in the backward direction.
  • the AVClip is reproduced in the reverse direction at a double speed or the like.
  • the processing procedures for executing the fast forward and rewind are various. It is to be noted that the description here is only an example.
  • Step S134 is for determining whether or not the menu call API has been called. If a call has been made, the current playback process is suspended (step S142), and the menu program for menu processing is executed. Execute (step S143). When a menu menu call is made by the above processing, the processing for menu display is executed after the reproduction processing is interrupted.
  • Step S135 is a determination as to whether or not SubPlayItem # y specifying Playltemfe exists by sync_PlayItemjd, and if so, the flow moves to the flowchart of Fig. 54.
  • FIG. 54 is a flowchart showing the playback procedure of SubPlayltem. In this flowchart, first, in step S146, the current PTM is
  • step S153 the playback control engine 32 is notified to perform a playback process based on SubPlayItem # y.
  • step S136 When step S136 is determined to be Yes, steps S144 and S145 are executed.
  • step S144 it is determined whether the Notify End Of File event has been output from the Virtual File System 30 and the Notify End Of Decoding event has been output from the decoder. If output, output a Notify End Of Stream event to Playback Control Engine 32.
  • Steps S147 to S152 in Fig. 54 are flowcharts showing a reproduction process based on SubPlayItem # y.
  • step S147 the Clip information specified by Clip_information_file_name of SubPlayItem # y is read.
  • step S148 using the EP_map of the current Clip information,
  • step S149 Convert In_time of SubPlayItem # y to address ⁇ .
  • step S149 the OuUime of SubPlayItem # y is converted to an address j8 using the EP_map of the current Clip information.
  • a step S150 instructs the decoder to output from In_time of SubPlayItem # y to OuUime of SubPlayItem # y.
  • the I-picture next to address j8 obtained by these conversions is obtained, the immediately preceding I-picture is set to address ⁇ (step S151), and SubClipte is calculated using address ⁇ calculated in this way. If you instruct the BD-ROM drive 1 or the Local Storage 18 to read the TS bucket up to the address ⁇ and the address ⁇ at! Step SI 52).
  • Step S113 is a judgment as to whether or not the reproduction control by the Presentation Engine 31 has been completed. As long as the processing of the flowchart of FIG. 53 is performed on the last Playltemfe, the step S113 is No. Only after the processing of the flowchart in FIG. 53 is completed is Yes in step S113, and the routine goes to step S114.
  • Step S114 is the output of the Notify event to the Java (registered trademark) virtual machine 38. By this output, the Java (registered trademark) virtual machine 38 can know the lapse of the reproduction time of 2 hours.
  • the application manager 36 can recognize the point in time at which the playback time of 2 hours has elapsed.
  • the virtual machine 38 can be executed.
  • the embodiment of the present invention can also be carried out in the form of an implementation action in which (A), (B), (C), and (D) are changed.
  • Each invention according to the claims of the present application is described as an expanded description or a generalized description of the above-described plurality of embodiments and their modifications. The degree of extension or generalization is based on the state of the art in the technical field of the present invention at the time of filing.
  • the power of implementing the optical disc according to the present invention as a BD-ROM is characterized by a recorded dynamic scenario and an Index Table. -Does not depend on the physical properties of the ROM. Any recording medium that can record the dynamic scenario and the Index Table may be used. For example,
  • It may be an optical disk such as DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD + RW, DVD + R, CD-R, or CD-RW, or a magneto-optical disk such as PD or MO.
  • a semiconductor memory card such as a compact flash (registered trademark) card, a smart media, a memory stick, a multimedia card, and a PCM-CIA card may be used.
  • the playback device that decodes the AVClip recorded on the BD-ROM and outputs it to the TV is now a BD-ROM drive only.
  • the playback device and the TV can be incorporated in a home network connected by IEEE1394.
  • the playback device in the embodiment may be a playback device integrated with a force display which is a type used by being connected to a television.
  • the playback device of each embodiment only the portion that forms an essential part of the processing may be used as the playback device. Since these playback devices are all the inventions described in the specification of the present application, regardless of these aspects, the playback devices are manufactured based on the internal configuration of the playback device described in each embodiment.
  • the act is an act of practicing the invention described in the specification of the present application.
  • the transfer of the playback device shown in each embodiment at no charge (free for sale and sale for no charge), lending, and importing are also implementations of the present invention.
  • the act of inviting the general user to transfer or lend them through in-store display, solicitation of catalogs, and distribution of pamphlets is also an act of implementing the present reproducing apparatus.
  • the implementation of a single program includes the act of producing these programs (1), the act of transferring the program for a fee or free of charge (2), the act of lending (3), and the act of importing (4) (5), or offer to transfer or lend the program to general users by exhibiting it in stores, soliciting catalogs, and distributing pamphlets (6).
  • the extension header is called TP_extra_header, and has a 4-byte data length of "Arribval-Time-Stamp” and "u copy-permission-indicator”.
  • TS packets with TP_extra_header (hereinafter abbreviated as EX-attached TS packets) are grouped into groups of 32 and written to three sectors.
  • 32 TS packets with EX stored in 3 sectors are called "Aligned Unit"
  • the playback device 200 When used in a home network connected via IEEE1394, the playback device 200 transmits Aligned Units by the following transmission processing. That is, the sender device removes TP_extra_header from each of the 32 EX-attached TS packets included in the Aligned Unit, and encrypts and outputs the TS packet itself based on the DTCP standard. When outputting TS packets, isochronous packets are inserted anywhere between TS packets. This insertion point is a position based on the time indicated in Arribval_Time_Stamp of TP_extra_header. With the output of the TS packet, the playback device 200 outputs a DTCP_Descriptor.
  • DTCP_Descriptor indicates a copy permission / prohibition setting in TP_extra_header. If the DTCP_Descriptor is described so as to indicate "copy prohibited", the TS packet 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 an AVClip, but may be a VOB (Video Object) of the DVD-Video standard or the DVD-Video Recording standard.
  • VOB is a program stream compliant with ISO / IEC13818-1 standard obtained by multiplexing video stream and audio stream.
  • the video stream in AVClip may be in the MPEG4 or WMV format.
  • the audio stream is compatible with Linear-PCM, Dolby-AC3, MP3, MPEG-AAC, Dts,
  • WMA Windows (registered trademark) media audio
  • the video work in each embodiment may be obtained by encoding an analog video signal broadcast by analog broadcasting.
  • Transformer broadcast by digital broadcasting The port data may also be configured stream data.
  • the analog z-digital video signal recorded on the video tape may be encoded with the analog z-digital video signal recorded on the video tape.
  • the content may be obtained by encoding an analog / digital video signal directly captured from a video camera camera.
  • Other digital works distributed by the distribution server are also acceptable.
  • the BD-J module 35 may be a Java (registered trademark) platform embedded in a device for receiving satellite broadcasting. If the BD-J module 35 is such a Java (registered trademark) platform, the playback device according to the present invention can also perform processing as an MHP STB.
  • a Java (registered trademark) platform embedded in a device for processing control of a mobile phone may be used. If the BD-J module 35 is such a Java (registered trademark) platform, the playback device according to the present invention also serves as a mobile phone.
  • the HDMV mode may be arranged on the BD-J mode!
  • the interpretation of the dynamic scenario in the HDMV mode and the execution of the control procedure based on the dynamic scenario have a light load on the playback device, so that there is no problem even if the HDMV mode is executed on the BD-J mode. It is.
  • only one mode is required to guarantee operation.
  • 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 playback control synchronized with the PL playback can be performed. Therefore, it is not necessary to provide the HDMV mode.
  • a navigation command may be provided in the interactive graphics stream to be multiplexed in the AVClip, and a certain PL may implement branching to another PL.
  • the title unboundary application is defined as a title that has all of the plurality of titles belonging to one BD-ROM as a live range.
  • a title unboundary application in which all of the titles belonging to a plurality of BD-ROMs have a live range may be specified.
  • the reasons for limiting the number of concurrently executing applications to four or less are as follows. Many BD-ROM playback devices have a tuner function for digital broadcasting. Applications that realize the tuner function often reside (resident) in S memory. The number of applications is limited to four or less to allow room for powerful resident applications to run. It is desirable to break down the four applications into one, a title unboundary application, a second as a title boundary application, and a third as a chapter boundary application.
  • the error management table is defined to execute one recovery process when one application ends abnormally. However, when one application ends abnormally, a plurality of recovery processes may be executed. That is, when an application terminates abnormally, the playback device may continue the playback of the playlist, restart the application, and output the event.
  • the error management table may be configured so that one recovery process is defined for one title instead of for each application.
  • AVClip can multiplex an interactive graphics stream for displaying a menu and accepting interactive operations, an AVClip that displays a top menu and accepts interactive operations, You can create a top menu title simply by describing the navigation command that will be played back in MovieObject! /.
  • the directory structure and the data structure in the file in each embodiment are merely examples, and the management information which is a feature of the present invention does not depend on the directory structure and the data structure in the file.
  • a BD-J Object which is an operation scenario in the BD-J mode, is placed in the BDJA directory as a file (ZZZZZ.BD-J) with the identifier bobjjd and the identifier BD-J, and BD-J Object.bdmv In BD-J Object [n] (), only the identifier bobjjd should be stored!
  • the recording medium and the playback device according to the present invention may be used for personal use, such as in a home theater system.
  • the present invention is The structure is disclosed and it is clear that mass production will be based on this internal structure, so that it can be used industrially in terms of quality. From this, the recording medium and the reproducing apparatus according to the present invention have industrial applicability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Signal Processing Not Specific To The Method Of Recording And Reproducing (AREA)

Abstract

 BD-ROMには、AVClip及びプレイリスト情報からなるプレイリストと、アプリケーションと、BD-J Objectとが記録されている。アプリケーションは、仮想マシン向けプログラミング言語で記述されたプログラムであり、仮想マシンによる実行が可能となる生存区間が、予め規定されている。前記BD-J Objectには、プレイリスト管理テーブルが含まれている。プレイリスト管理テーブルは、アプリケーションの生存区間において、各アプリケーションの実行と同時に行うべきプレイリストの再生制御を示す。

Description

明 細 書
記録媒体、再生装置、プログラム、再生方法、システム集積回路 技術分野
[0001] 本発明は、仮想マシンを対象にしたアプリケーションの実行を制御する、アプリケー シヨン制御の技術分野に属する発明であり、本制御技術を BD-ROM等の映画作品 頒布のための記録媒体、 BD-ROMを対象とした再生装置等に応用する場合の応用 技術に深く係る。
背景技術
[0002] Java (登録商標)プログラミング等、仮想マシンを対象にしたアプリケーション制御技 術は、パソコンソフトの業界において深く浸透している。パソコンソフトから更に発展し て、現在、 Blu- ray Disc Read Only Memory(BD- ROM)用再生装置における再生制 御を Java (登録商標)プログラミングで実現するための様々な工夫が検討されて 、る。 同様の再生装置についての先行技術としては、以下の特許文献 1に記載されたも のが知られている。
特許文献 1:特許 2813245号公報
発明の開示
発明が解決しょうとする課題
[0003] ところで、 Java (登録商標)プログラミングで作成されたアプリケーションの動作と!/、う のは、リソースの使用状況や CPUの負荷により変動を受ける不安定なものである。リソ ースが枯渴していたため、アプリケーションの起動に失敗したり、アプリケーションが 異常終了したりして装置がブラックアウトするのは、ノ ソコンソフトの業界では"よくある こど,で済まされる力もしれな 、が、 BD-ROM再生装置の製造に携わる民生機器の分 野では品質問題になりかねない。品質問題への波及がありうるので、メーカ各社は、 Java (登録商標)プログラミングによる装置制御の実現に二の足を踏むことが多かった (注;ブラックアウトとは、装置のソフトウェアがフリーズして表示画面が真っ暗になる状 態をいう)。
[0004] 本発明の目的は、記録媒体に対する制御を実現するようなアプリケーションが異常 終了した場合、又は、起動に失敗した場合の、 Fail Safeを実現することができる記録 媒体を提供する。
課題を解決するための手段
[0005] 上記目的を達成するため、本発明に係る記録媒体は アプリケーションと、デジタル ストリームと、管理情報とが記録されていて、前記アプリケーションは、仮想マシン向 けプログラミング言語で記述されたプログラムであり、仮想マシンによる実行が可能と なる生存区間が、予め規定されており、前記管理情報は、生存区間において、アプリ ケーシヨンの実行と同時に行うべきデジタルストリームの再生制御を示すことを特徴と している。
発明の効果
[0006] 本発明に係る記録媒体によれば、アプリケーション実行と同時に行うべきデジタル ストリームの再生制御が生存区間毎に規定されている。そのため、アプリケーションの 起動に失敗したり、アプリケーションの実行の途中でたとえアプリケーションが異常終 了したとしても、同時になされているデジタルストリーム再生を継続することにより、 "何 かが写っている状態"をもたらすことができる。これにより、装置がブラックアウトしてし まうという最悪ケースを回避することができるので、装置を製造するメーカに、最低限 度の安心感を与えることができる。
[0007] こうした安心感が与えられるので、品質問題への波及に神経を尖らせているメーカ 各社に対しても、 Java (登録商標)アプリケーションによる再生装置制御の開発を強く 後押しすることができる。こうした強い後押しにより、再生装置の低価格化、多様化が 進めば、 BD-ROMコンテンツの充実化を図ることができるので、コンテンツ関連産業 の発達を強く牽引することができる。
図面の簡単な説明
[0008] [図 1]本発明に係る再生装置の使用行為についての形態を示す図である。
[図 2]BD- ROMにおけるファイル ·ディレクトリ構成を示す図である。
[図 3]PL情報の構成を示す図である。
[図 4]AVClip時間軸と、 PL時間軸との関係を示す図である。
[図 5]4つの Clip_Information_file_nameによりなされた一括指定を示す図である。 [図 6]PLmark情報の内部構成を示す図である。
[図 7]PLmarkによるチャプター定義を示す図である。
[図 8]SubPath情報の内部構成を示す図である。
[図 9]SUbPlayItem時間軸上の再生区間定義と、同期指定とを示す図である。
[図 10]Movie Objectの内部構成を示す図である。
[図 11]BD- J Objectの内部構成を示す図である。
[図 12] (a) Java (登録商標)アーカイブファイルに収められているプログラム、データを 示す図である。
[0009] (b)クラスファイルの内部構成を示す図である。
[図 13]ディスクコンテンツにおける状態遷移を示す図である。
[図 14]HDMVモードの動的シナリオ力も構成される Titleを示す図である。
[図 15]BD-Jモードの動的シナリオ (BD-J Object)により構成される Titleの内部構成を 示す図である。
[図 16]プレイリスト管理テーブルをもたない Titleを示す図である。
[図 17]HDMVモードの Titleから、 BD- Jモードの Titleへの分岐を示す図である。
[図 18]BD- Jモードの Titleから、 HDMVモードの Titleへの分岐を示す図である。
[図 19]index.bdmvの内部構成を示す図である。
[図 20] (a)アプリケーション管理テーブルの内部構成を示す図である。
[0010] (b)アプリケーション管理テーブルを構成する情報要素の意味内容を示す図である
[図 21] (a) BD- ROM全体の時間軸を示す図である。 (b) BD- ROM全体の時間軸 における構成を示す図である。
[図 22] (a) (b) BD- ROM全体の時間軸において、識別子 bobjjdにより特定される
BD-J Objectカゝら特定されるタイトル再生区間を示す図である。
[図 23]図 22 (b)の時間軸上に規定される、生存区間の典型を示す図である。
[図 24]本編タイトル、オンラインショッピングタイトル、ゲームタイトルという 3つのタイト ルを含むディスクコンテンツを示す図である。
[図 25] (a) (b)アプリケーション管理テーブル、生存区間の一例を示す図である。 [図 26]起動属性がとり得る三態様 (Present, AutoRun、 Suspend)と、直前タイトルにお けるアプリケーション状態の三態様 (非起動、起動中、 Suspend)とがとりうる組合せを示 す図である。
[図 27] (a)プレイリスト管理テーブルの内部構成を示す図である。
[0011] (b)プレイリスト管理テーブルを構成する情報要素の意味内容を示す図である。
[図 28]分岐先 Titleがとり得る三態様 (プレイリスト管理テーブル無し、プレイリスト管理 テーブル有りで尚且つ Present、プレイリスト管理テーブル有りで尚且つ AutoPlay)と、 直前タイトルにおける PLの状態 (非再生状態、再生中状態)とがとりうる 6通りの組合せ を示す図である。
[図 29] (a)プレイリスト管理テーブル及びアプリケーション管理テーブルの記述例を示 す図である。
[0012] (b)図 29 (a)のように記述されたアプリケーション管理テーブル、プレイリスト管理テ 一ブルによりプレイリスト再生、アプリケーション実行がどのように進行するかを示す図 である。
[図 30] (a)プレイリスト管理テーブルの他の記述例を示す図である。
[0013] (b)図 30 (a)のケースに基づくアプリケーション実行及びプレイリスト再生の進行を 示す図である。
[図 31] (a)一(c) プレイリスト時間軸と、タイトルの再生区間との関係を示す図である [図 32]本発明に係る再生装置の内部構成を示す図である。
[図 33]ROM24に格納されたソフトウェアと、ハードウェアと力もなる部分を、レイァ構 成に置き換えて描 、た図である。
[図 34]Presentation Engine31—モジュールマネージャ 34による処理を模式化した図 である。
[図 35]アプリケーションマネージャ 36による処理を模式化した図である。
[図 36]User Event Manager37— Default Operation Manager40を示す図である。
[図 37]Java (登録商標)仮想マシン 38の内部構成を示す図である。
[図 38]アプリケーション終了の 4態様を示す図である。 [図 39]アプリケーションマネージャ 36による処理手順を示す図である。
[図 40]プレイリスト管理テーブル、アプリケーション管理テーブルの具体例を示す図 である。
[図 41] (a)第 2実施形態に係る BD-J Objectの内部構成を示す図である。
[0014] (b) エラー管理テーブルの内部構成を示す図である。
[図 42]エラー管理テーブルにおける 5つのフラグの意味内容を示す。
[図 43] (a)エラー管理テーブルが記述された 2つの Title(title#l、 title#2)を示す図で める。
[0015] (b)図 43 (a)のように記載されたアプリケーション管理テーブル、エラー管理テープ ルに基づくアプリケーション実行及びプレイリスト再生の進行を示す図である。
[図 44]第 2実施形態に係るアプリケーションマネージャ 36の処理手順を示すフローチ ヤートである。
[図 45]第 2実施形態に係るアプリケーションマネージャ 36の処理手順を示すフローチ ヤートである。
[図 46]アプリケーションマネージャ 36による通知処理の処理手順を示すフローチヤ一 トである。
[図 47]第 3実施形態に係るアプリケーションマネージャ 36の処理手順を示す図である
[図 48] (a)パレンタルレベルに基づく選択アルゴリズムの内容を示す。
[0016] (b) Languege for Audioに基づく選択アルゴリズムの内容を示す。
(c) Player Configuration for Videoに基づく選択アルゴリズムの内容を示す。
[図 49]タイトルアンバウンダリーアプリケーションに PL選択を行わせる過程を模式的に 描いた図である。
[図 50]Playback Control Engine32による PL再生手順を示すフローチャートである。
[図 51]アングル切換、 SkipBack,SkipNextの受付手順を示すフローチャートである。
[図 52]SkipBack,SkipNextAPIがコールされた際の処理手順を示すフローチャートであ る。
[図 53]Presentation Engine31による処理手順の詳細を示すフローチャートである。 [図 54]SubPlayItemの再生手順を示すフローチャートである。 符号の説明
1 BD- ROMドライブ
2 リードバッファ
3 デマルチプレクサ
4 ビデオデコーダ
5 ビデオプレーン
6 P— raphics "コ ~~タ
7 Presentation Graphicsプレ1 ~~ン
8 合成部
9 フォントゼネレータ
10 ト Graphicsデコータ
11 スィッチ
12 Inter ctive Graphicsプレ ~~ン
13 合成部
14 CLUT部
15 CUJT部
16 オーディオデコーダ
22 ユーザイベント処理部
23 PSRセッ卜
24 CPU
25 シナリオメモリ
26 ロー力ノレメモリ
33 HDMVモジュール
34 モジュールマネージャ
35 BD- Jモジュール
36 アプリケーションマネージャ
37 UOコントローラ 38 Java (登録商標)仮想マシン
41 PLMTプロセッサ
42 パーミッションコントローラ
52 ユーザクラスローダ
53 メソッドエリア
54 ワークメモリ
55a,b ' · ·η スレッド
56a,b · · · d Java (登録商標)スタック
発明を実施するための最良の形態
[0018] (第 1実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明 に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図 1は、 本発明に係る記録媒体の、使用行為についての形態を示す図である。図 1において 、本発明に係る記録媒体は BD- ROM100であり、 BD- ROM100は、再生装置 200、リ モコン 300、テレビ 400により形成されるホームシアターシステムに、著作物を供給す るという用途に供される。
[0019] このうちリモコン 400には、再生開始 (Play)、再生停止 (Stop)、一時停止 (Pause On)、 一時停止の解除 (Pause 011)、 StiU機能の解除 (still off),速度指定付きの早送り (Forward Play(speed))、速度指定付きの卷戻し (Backward Play(speed))、音声切り換え (Audio Change),副映像切り換え (Subtitle Change),アングル切り換え (Angle Change) を受け付けるキーや、メニュー操作時にあたってのフォーカス移動操作を受け付ける MoveUpキー、 MoveDownキー、 MoveRightキー、 MoveLeftキー、メニュー表示操作を 受け付ける Pop-upキー、数値入力を受け付ける Numericキーが存在する。
[0020] 以上が本発明に係る記録媒体の使用形態についての説明である。
続、て本発明に係る記録媒体の生産行為につ 、て説明する。本発明に係る記録 媒体は、 BD-ROMのファイルシステム上における改良で実現することができる。図 2 は、 BD- ROMにおけるファイル.ディレクトリ構成を示す図である。本図において BD- ROMには、 Rootディレクトリの下に、 BDMVディレクトリがある。 [0021] BDMVディレクトリには、拡張子 bdmvが付与されたファイル
(index.bdmv,MovieObject.bdmv,BD-J Object.bdmv)がある。そしてこの BDMVディレ クトリの配下には、更に PLAYLISTディレクトリ、 CLIPINFディレクトリ、 STREAMディレク トリ、 BDJAディレクトリと呼ばれる 4つのサブディレクトリが存在する。
PLAYLISTディレクトリには、拡張子 mplsが付与されたファイル
(00001.mpls,00002.mpls,00003mpls)がある。
[0022] CLIPINFディレクトリには、拡張子 clpiが付与されたファイル
(00001.clpi,00002.clpi,00003.clpi)がある。
STREAMディレクトリには、拡張子 m2tsが付与されたファイル
(00001.m2ts,00002.m2ts,00003.m2ts)がある。
BDJAディレクトリには、拡張子 jarが付与されたファイル
(00001.jar,00002.jar,00003jar)がある。以上のディレクトリ構造により、互いに異なる種 別の複数ファイル力 BD-ROM上に配置されて!、ることがわ力る。
[0023] 本図にお!/、て拡張子. m2tsが付与されたファイル
(00001.m2ts,00002.m2ts,00003.m2ts )は、 AVClipを格納している。 AVClipには
、 MainCLip, SubClipといった種別がある。 MainCLipは、ビデオストリーム、オーディオ ストリーム、字幕を構成するプレゼンテーショングラフィクスストリーム (PGストリーム)、メ ニューを構成するインタラクティブグラフィクスストリーム (IGストリーム)というような複数 エレメンタリストリームを多重化することで得られたデジタルストリームである。
[0024] SubClipは、オーディオストリーム、グラフィクスストリーム、テキスト字幕ストリーム
(TextSTStream)等、 1つのエレメンタリストリームのみにあたるデジタルストリームである 拡張子" clpi"が付与されたファイル (00001.clpi,00002.clpi,00003.clpi )は、
AVClipのそれぞれに 1対 1に対応する管理情報である。管理情報故に、 Clip情報は、 AVClipにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の 情報や、 GOPの先頭位置を示す EP_mapをもって!/、る。
[0025] 拡張子" mpls"が付与されたファイル (00001.mpls,00002.mpls,00003.mpls )は、 プレイリスト情報を格納したファイルである。プレイリスト情報は、 AVClipを参照してプ レイリストを定義する情報である。図 3は、 PL情報の構成を示す図であり、本図の左側 に示すように、プレイリスト情報は、『MainPath情報』、『PLMark情報』、『SubPath情報 』から構成される。
[0026] MainPath情報 (MainPathO)は、破線の矢印 mplに示すように複数の Playltem情報 (PlayltemO)からなる。 Playltemとは、 1つ以上の AVClip時間軸上において、
In_Time,Out_Timeを指定することで定義される再生区間である。 Playltem情報を複数 配置させることで、複数再生区間からなるプレイリスト (PL)が定義される。図中の破線 mp2は、 Playltem情報の内部構成をクローズアップしている。本図に示すように Playltem情報は、対応する AVClipを示す『Clip_information_file_name』と、『In_time』と 、『Out_time』と力 なる。図 4は、 AVClipと、 PLとの関係を示す図である。第 1段目は AVClip力もつ時間軸を示し、第 2段目は、 PLがもつ時間軸を示す。 PL情報は、 Playltem#l,#2,#3という 3つの Playltem情報を含んでおり、これら Playltem#l,#2,#3の In_time,Out_timeにより、 3つの再生区間が定義されることになる。これらの再生区間を 配列させると、 AVClip時間軸とは異なる時間軸が定義されることになる。これが第 2段 目に示す PL時間軸である。このように、 Playltem情報の定義により、 AVClipとは異な る時間軸の定義が可能になる。
[0027] AVClipに対する指定は、原則 1つであるが、複数 AVClipに対する一括指定もあり得 る。この一括指定は、 Playltem情報における複数の Clip_Information_file_nameによりな される。図 5は、 4つの Clip_Information_file_nameによりなされた一括指定を示す図で ある。本図において第 1段目一第 4段目は、 4つの AVClip時間軸 (AVClip#l,#2,#3,#4 の時間軸)を示し、第 5段目は、 PL時間軸を示す。 Playltem情報が有する、 4つの Clip_Information_file_nameにて、これら 4つの時間軸が指定されている。こうすることで 、 Playltemが有する In_time,Out_timeにより、択一的に再生可能な 4つの再生区間が 定義されることになる。これにより、 PL時間軸には、切り換え可能な複数アングル映像 力もなる区間 (いわゆるマルチアングル区間)が定義されることになる。
[0028] PLmark情報 (PLmarkO)は、 PL時間軸のうち、任意の区間を、チャプターとして指定 する情報である。図 6は、 PLmark情報の内部構成を示す図であり、本図の引き出し線 pmlに示すように PLmark情報は、『ref_to_PlayItem_Id』と、『Mark_time_stamp』とを含む 。図 7は、 PLmarkによるチャプター定義を示す図である。本図において第 1段目は、 AVClip時間軸を示し、第 2段目は PL時間軸を示す。図中の矢印 pkl,2は、 PLmarkに おける Playltem指定 (ref_to_PlayItem Jd)と、一時点の指定 (mark_time_stamp)とを示す 。これらの指定により PL時間軸には、 3つのチャプター (Chapter#l,#2,#3)が定義され ることになる。以上が PLmarkについての説明である。続いて SubPath情報について説 明する。
[0029] SubPath情報 (SubPathO)は、 SubClipの時間軸上に In_Time,Out_Timeを指定すること で 1つ以上の再生区間を定義する情報であり、図 8に示す内部構成を有している。本 図に示すように SubPath情報は、破線の弓 Iき出し線 shlに示すように複数の
SubPlayltem情報 (SubPlayltemO)からなる。破線 sh2を用いてクローズアップして!/、るよ うに、 SubPlayltem情報は、『Clip— information— file— name』と、『In— time』と、『Out— time』と 、『Sync_PlayItemJd』と、『Sync_start_Pts_of_PlayItem』とからなる。 SubClipの時間軸上 に対する、 In— Time, Out— Timeの旨定【ま、『Clip— information— file— name』、『In— time』、『 Out— time』によりなされる。『Sync— Playltemjd』及び『Sync— start— Pts— of— Playltem』は、 SubClip時間軸上の再生区間と、 PL時間軸とを同期させるという同期指定をなす。こ の同期指定により、 PL時間軸と、 SubPlayltem時間軸とは同期して進行することになる
[0030] 図 9は、 SubPlayltem時間軸上の再生区間定義と、同期指定を示す図である。本図 において第 1段目は、 PL時間軸を示し、第 2段目は SubPlayltem時間軸を示す。図中 の SubPlayItem.IN_timeは再生区間の始点を、 SubPlayltem.OuUimeは再生区間の終 点をそれぞれ示す。これにより SubClip時間軸上にも再生区間が定義されていること がわかる。矢印 Snlにおいて Sync_PlayItem_Idは、 Playltemに対する同期指定を示し、 矢印 Sn2において sync_start_PTS_of_PlayItemは、 PL時間軸における Playltem上の一 時点の指定を示す。
[0031] 複数 AVClipの切り換えを可能とするマルチアングル区間や、 AVClip— SubClipを同 期させ得る同期区間の定義を可能とするのが、 BD-ROMにおけるプレイリスト情報の 特徴である。以上の Clip情報及びプレイリスト情報は、 "静的シナリオ"に分類される。 何故なら、以上の Clip情報及びプレイリスト情報により、静的な再生単位である PLが 定義されるからである。以上で静的シナリオについての説明を終わる。
[0032] 続いて"動的なシナリオ"について説明する。動的シナリオとは、 AVClipの再生制御 を動的に規定するシナリオデータである。 "動的に"というのは、再生装置における状 態変化やユーザ力 のキーイベントにより再生制御の中身がかわることを!、う。
BD-ROMでは、この再生制御の動作環境として 2つのモードを想定している。 1つ目 は、 DVD再生装置の動作環境と良く似た動作環境であり、コマンドベースの実行環 境である。 2つ目は、 Java (登録商標)仮想マシンの動作環境である。これら 2つの動 作環境のうち 1つ目は、 HDMVモードと呼ばれる。 2つ目は、 BD- Jモードと呼ばれる。 これら 2つの動作環境があるため、動的シナリオはこのどちらかの動作環境を想定し て記述される。 HDMVモードを想定した動的シナリオは Movie Objectと呼ばれ、管理 情報により定義される。一方 BD-Jモードを想定した動的シナリオは BD-J Objectと呼 ばれる。
[0033] 先ず初めに Movie Objectについて説明する。
< Movie Object >
Movie Objectは、 MovieObject.bdmvというファイルに格納される。図 10は、 MovieObject.bdmvの内部構成を示す図である。本図の左端に示すように
MovieObject.bdmvは、コード列,' MOBJ' す『type— indicater』と、『version— number』 と、 1つ以上の MovieObjectである『MovieObjects0』とからなる。図中の図中の引き出 し線 vhlは MovieObjectsの内部構成をクローズアップしている。 MovieObjectsOは、自 身のデータ長である『length』と、自身に含まれる MovieObjectの個数である『 number— of— mobjs』と、 number— of— mobjs個の MovieObjectである『Movieubjects』と力ら なる。これら number_of_mobjs個の MovieObjectは、識別子 mobjjdをもって識別される 。図中の引き出し線 vh2は、識別子 mobjjdにより特定される任意の
MovieObject[mobj_id]0の内部構成をクローズアップして 、る。
[0034] この引き出し線に示すように、 MovieObjectは、 MenuCallがなされた際、 MenuCall後 の再生再開を意図して 、るか否かを示す『resume_intention_flag』、 MenuCallをマスク するか否かを示す情報『menu_call_mask』、タイトルサーチ機能をマスクするかを示す『 title_search_flag』、ナビゲーシヨンコマンドの個数である『 number— of— navigation— command』、 number— of— navigation— command個の『ナビゲ ~~ショ ンコマンド』からなる。
[0035] ナビゲーシヨンコマンド列は、条件分岐、再生装置における状態レジスタの設定、 状態レジスタの設定値取得等を実現するコマンド列からなる。 Movie Objectにおいて 記述可能なコマンドを以下に示す。
PlayPLコマンド
書式: PlayPL (第 1引数,第 2引数)
第 1引数は、プレイリストの番号で、再生すべき PLを指定することができる。第 2引数 は、その PLに含まれる Playltemや、その PLにおける任意の時刻、 Chapter、 Markを用 V、て再生開始位置を指定することができる。
[0036] Playltemにより PL時間軸上の再生開始位置を指定した PlayPL関数を
PlayPLatPlayltemO,
Chapterにより PL時間軸上の再生開始位置を指定した PlayPL関数を
PlayPLatし hapter0、
時刻情報により PL時間軸上の再生開始位置を指定した PlayPL関数を
PlayPLatSpecified TimeOという。
コマンド
書式: JMP引数
JMPコマンドは、現在の動的シナリオを途中で廃棄し (discard),引数たる分岐先動 的シナリオを実行するという分岐である。 JMP命令の形式には、分岐先動的シナリオ を直接指定している直接参照のものと、分岐先動的シナリオを間接参照している間 接参照のものがある。
Movie Objectにおけるナビゲーシヨンコマンドの記述は、 DVDにおけるナビゲーショ ンコマンドの記述方式と良く似ているので、 DVD上のディスクコンテンツを、 BD-ROM に移植するという作業を効率的に行うことができる。 Movie Objectについては、以下 の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開 公報を参照されたい。
国際公開公報 W0 2004/074976 以上で Movie Objectについての説明を終える。続いて BD- J Objectについて説明 する。
< BD-J Object >
BD-J Objectは、 Java (登録商標)プログラミング環境で記述された、 BD-Jモードの 動的シナリオである。
[0037] 図 11は、 BD-J Object.bdmvの内部構成を示す図である。本図の左端に示すように BD-J Object.bdmvは、コード歹 IJ,,BOBJ,,を示す『type— indicater』と、『version— number』 と、 1つ以上の BD- J Objectである『BD- J Objects0』とからなる。図中の図中の引き出 し線 bhlは BD- J Objectsの内部構成をクローズアップしている。 BD- J ObjectsOは、自 身のデータ長である『length』と、自身に含まれる BD-J Objectの個数である『 number— of— bobjs』と、 number— of— bob js個の BD- J Objectである『BD- J Objects』とからな る。これら number_of_bobjs個の BD-J Objectは、識別子 bobjjdをもって識別される。図 中の引き出し線 bh2は、識別子 bobjjdにより特定される任意の BD-J Object[bobj_id]0 の内部構成をクローズアップして 、る。
[0038] この引き出し線に示すように、本図に示すように BD-J Objectは、『
resume— intention— flag[bobj—ia]』と、『menu— call— mask[Dobj— id]』と、『
title— search— flag[bobj—id]』と、『Application— Management— Table[bobj—ia]』と、『
Playlist— Management— Table[boDj— id]』と力らなる。『resume— intention— flag』、『 menu_call_mask』、『title_search_flag』を含んで 、る点にぉ 、て BD- J Objectは Movie Objectとほぼ同じである。
[0039] Movie Objectとの違いは、 BD-J Objectにコマンドが直接記述されて!ヽな 、点であ る。つまり Movie Objectにおいて制御手順は、ナビゲーシヨンコマンドにより直接記述 されていた。これに対し BD-J Objectでは、 Java (登録商標)アプリケーションに対する 指定を『Application_Management_Table[bobj_id]』上に記載することにより、間接的に 制御手順を規定している。このような間接的な規定により、複数動的シナリオにおい て制御手順を共通化するという、制御手順の共通化を効率的に行うことができる。
[0040] また MovieObjectにおける PL再生は、 PL再生を命じるナビゲーシヨンコマンド (PlayPl コマンド)の記述によりなされていた力 BD-J Objectにおける PL再生は、 PL再生手順 を示す 『Playlist_Management_Table[bobjjd]』を BD- J Objectに組み込むことで記述 が可能になる。それだけではなくアプリケーション管理テーブル力も参照されるアプリ ケーシヨンに、 PL再生手順を組み込むことでも記述が可能になる。つまりプレイリスト 管理テーブルの記述、アプリケーションにおける PL再生手順の記述のどちらであって も、プレイリスト再生の手順を組み込んでおくことができる。
[0041] ここで Java (登録商標)アプリケーションにつ 、て説明する。 Java (登録商標)アプリケ ーシヨンは、仮想マシンのヒープ領域 (ワークメモリとも呼ばれる)にロードされた 1っ以 上の xletプログラムからなる。このワークメモリにロードされた xletプログラム、及び、デ ータから、アプリケーションは構成されることになる。以上が Java (登録商標)アプリケ ーシヨンの構成である。
この Java (登録商標)アプリケーションの実体にあたるのが、図 2における BDMVディ レクトリ配下の BDJAディレクトリに格納された Java (登録商標)アーカイブファイル (00001. jar,00002. jar)である。以降、 Java (登録商標)アーカイブファイルについて、図 12を参照しながら説明する。
[0042] < Java (登録商標)アーカイブファイル >
Java (登録商標)アーカイブファイル (図 2の 00001.jar,00002.jar)は、 1つ以上のクラス ファイル、 1つ以上のデータファイル等を 1つにまとめることで得られるファイルである。 図 12 (a)は、アーカイブファイルにより収められているプログラム、データを示す図で ある。本図におけるデータは、枠内に示すディレクトリ構造が配置された複数ファイル を、 Java (登録商標)アーカイバでまとめたものである。枠内に示すディレクトリ構造は 、 Rootディレクトリ、 Java (登録商標)ディレクトリ、 imageディレクトリとからなり、 Rootディ レクトリに common.pkgが、 Java (登録商標)ディレクトリにクラスファイル
、aaa.class,bbb.classノ;^、 imageアイレクトリに、 menu.jpg 目置 れている。 Java (登録 商標)アーカイブファイルは、これらを Java (登録商標)アーカイバでまとめることで得 られる。力かるクラスファイル及びデータは、 BD-ROMからキャッシュに読み出される にあたって展開され、キャッシュ上で、ディレクトリに配置された複数ファイルとして取 り扱われる。 Java (登録商標)アーカイブファイルのファイル名における" zzzzz "と!、う 5 桁の数値は、アプリケーションの ID(applicationlD)を示す。本 Java (登録商標)ァ一力 イブファイルがキャッシュに読み出された際、このファイル名における数値を参照する ことにより、任意の Java (登録商標)アプリケーションを構成するプログラム,データを 取り出すことができる。
本図におけるクラスファイル (図中の aaa.class,bbb.class)は、上述した xletプログラム に対応するクラスファイルである。 BD-Jモードにおける再生手順は、このクラスフアイ ルのインスタンスにあたる xletプログラムにより規定される。
[0043] xletプログラムとは、 JMFOava (登録商標) Media FrameWork)方式のインターフェイ スを利用することができる Java (登録商標)プログラムであり、 JMF等の方式に従って、 キーイベントに基づく処理を行う。 xletプログラムは、 JMF方式の処理が可能であるの で、 MPLSファイルに対するインスタンス 0MFプレーヤインスタンス)を生成することによ り、プレイリスト再生を再生装置に命じることができる。他にも xletプログラムでは、ファ ンクシヨン APIのコールを記述することにより、 BD-ROM再生装置特有の処理を実行さ せることができる。
[0044] 更に xletプログラムは、 WWWサイトをアクセスしてコンテンツをダウンロードするとい う手順を実行することもできる。これによりダウンロードコンテンツと、プレイリスト再生と を交えた斬新な作品を再生させることができる。
xletプログラムのクラスファイルについて説明する。図 12 (b)は、クラスファイルの内 部構成を示す図である。本図に示すようにクラスファイルは、通常のクラスファイル同 様、『コンスタントプール』、『インターフェイス』、『メソッド 1,2,3 · · · ·η』からなる。クラス ファイルにおけるメソッドには、挙動のトリガになるキーイベントが予め登録されている メソッド (EventListner)と、 JMFの再生手順を命じるメソッド (JMFプレーヤインスタンスの メソッド)、 BD- ROM再生装置側のファンクション APIをコールするメソッドがある。これら のメソッドは、自身に割り当てられたローカル変数や、自身をコールする際の引数を 用いることにより、演算等の手順が記述されている。以上が Java (登録商標)ァーカイ ブファイルについての説明である。尚、本実施形態においてアプリケーションを構成 するプログラム、データは、 Java (登録商標)アーカイブファイルにまとめられたが、 LZHファイル、 zipファイルであってもよい。
[0045] 以上が、 BD-Jモードにおける動的シナリオについての説明である。 < BD- ROMにおける状態遷移 >
DVD-Videoのような読出専用ディスクで供給されるディスクコンテンツは、トップメ- ユーを中核とした構造になっている。そのトップメニューから、個々の著作物へと分岐 して再生を行い、その後再び、 TopMenu Titleに戻るという独特の状態遷移をなす。 図 13は、ディスクコンテンツにおける状態遷移を示す図である。本図における四角枠 は、 Titleである。 Titleとは、ディスクコンテンツ特有の状態遷移において、 1つの"状 態"にあたる再生単位である。 Titleには、 BD-ROMのローデイング時に最初に再生さ れる『FirstPlayTitle』、 Top- Menuを構成する『Top_menuTitle』、これら以外の一般的 な『Title』がある。また、図中の矢印 jhl,2,3,4,5,6,7,8は、 Title間の分岐を象徴的に示 す。本図に示される状態遷移とは、 BD- ROMローデイング時に、『FirstPlayTitle』が再 生され、『Top_menuTitle』への分岐が発生して、トップメニューに対する選択待ちにな るというものである。 BD-ROMのような映画作品頒布用の記録媒体の業界では、動的 商標を、ローデイング時に再生するという慣習が定着している。この動的商標は、映 画作品の制作者や頒布者を表徴するものであり、 FirstPlayTitleは、 BD- ROMのロー デイングされた際、なによりも先に、この動的商標を再生させるという役割分担を担う。
[0046] そしてユーザによるメニューに対する選択操作があれば、選択に従って該当 Titleの 再生を行い、再び TopMenu Titleに戻るとの処理を、 BD- ROMのイジヱタトがなされる まで延々と繰り返すというの力 ディスクコンテンツ特有の状態遷移である。
力かる状態遷移をなす Titleは、 HDMVモードの動的シナリオ、 BD-Jモードの動的シ ナリオ力も構成される。図 14は、 HDMVモードの動的シナリオ力も構成される 2つの Titleを示す図である。本図の第 1段目は、識別子 titlejdにより識別される任意の Title(titlejd)を示す。第 2段目は、その Titleを構成している 1つ以上の MovieObjectか らなる MovieObject列を示す。第 3段目は、 MovieObjectを構成するナビゲーシヨンコ マンドを示す。
[0047] 他の Titleへの Jumpを再生装置に命じるナビゲーシヨンコマンド OumpTitleコマンド) を MovieObjectに記述しておくことにより、図 13に示したような、ある Titleから別の Title への分岐が実現されることになる。また PL再生を命じるナビゲーシヨンコマンド (PlayPLコマンド)を MovieObjectに記述しておくことにより、本図第 4段目に示す PLが、 Titleに帰属することになる。
[0048] PLを帰属させることにより、 HDMVモードにおける Titleでは、動画再生を伴う映画作 品を定義することができる。これ力 ¾DMVモードの動的シナリオにより定義される Title の構成である。
続いて BD-Jモードの動的シナリオにより構成される Titleの内部構成について説明 する。図 15は、 BD-Jモードの動的シナリオ (BD-J Object)により構成される Titleの内 部構成を示す図である。
[0049] 第 1段目は、識別子 title jdにより識別される任意の Titleを示し、第 2段目は、その
Titleを構成する唯一の BD-J Objectを示す。第 3段目は、その BD-J Objectの内部に あるアプリケーション管理テーブル、プレイリスト管理テーブルを示す。第 4段目は、第 3段目のアプリケーション管理テーブルにより動作することになるアプリケーションを示 す。このアプリケーションは、第 5段目に示すように、他の Titleへの Jumpを再生装置に 命じるメソッド (JumpTitleAPIをコールするメソッド)を含んで!/、るので、 JumpTitleAPIの コールメソッドにより、図 13に示した他のの Titleへの分岐が実現することになる。一方 、第 3段目にはプレイリスト管理テーブルが記述されているので、第 4段目にあたって は、アプリケーションの実行と共に PLが再生されることになる。
[0050] BD-J Objectには、アプリケーション管理テーブル,プレイリスト管理テーブルが含ま れているので、第 4段目に示すように、アプリケーション実行と、 PL再生とが同時にな されることになる。このようなアプリケーション実行と、 PL再生との同時実行力 ¾D-Jモ ードにおける Titleの特徴である。
プレイリスト管理テーブルは、全ての BD-J Objectに存在する訳ではない。プレイリ スト管理テーブルは任意的な構成要素であり、プレイリスト管理テーブルをもつ BD-J Objectもあるし、プレイリスト管理テーブルをもたない BD- J Objectもある。図 16は、プ レイリスト管理テーブルをもたな ヽ Titleを示す図である。アプリケーション管理テープ ルしか存在しないため、プレイリスト管理テーブルをもたないような BD-J Objectでは、 第 4段目に示すように、アプリケーション動作のみが規定される。以上によるアプリケ ーシヨン動作の規定により、 PL再生を伴わない、制御手順のみの Titleが規定されるこ とになる。 [0051] また図 14では HDMVモードの Titleから、 HDMVモードの Titleへの分岐が記述され ていたが、図 17に示すように HDMVモードの Titleから、 BD- Jモードの Titleへの分岐 もありえる。同様に図 15では BD- Jモードの Titleから、 BD- Jモードの Titleへの分岐が 記述されていたが、図 18に示すように BD- Jモードの Titleから、 HDMVモードの Title への分岐もありえる。
[0052] 上述した Titleの内部構成において、ある Titleの構成要素となる MovieObjectはどれ であるか、又は、ある Titleの構成要素となる BD-J Objectはどれであるのかを定義す るの力 図 2に示した index.bdmvである。以降 index.bdmvについて説明する。
Index.bdmvは、タイトルを構成する、 Movie Object又は BD- J Objectを示すテープ ルである。
[0053] 図 19は、 index.bdmvの内部構成を示す図である。本図に示すように index.bdmvは、 値" INDX"を示す値をもつ『type— indicator』と、『version— number』と、本ファイルの先頭 から Indexesまでの相対アドレスを示す『Indexes_start_address』と、『Indexes()』とからな る。『Indexes』は、各 Titleに対するインデックスであり、破線の引き出し線 ixlでクロー ズアップしているように、『Indexes』は、『length』,『
FirstPlayback(){FirstPlayback— mobj— id— rei ,『TopMenuO{TopMenu— mobj— id— rei』,『 number— of— Titles』,『Title[0]0一 Title[number— of— Titles— 1]()』からなる。
[0054] 『FirstPlayback(){FirstPlayback— mobj— id— rei は、 Fir stPlayTitleに対する Indexであり 、 FirstPlayTitleを構成する MovieObject識別子の参照値 (FirstPlayback_mobj_id_rel) が格納される。
『TopMenuO{TopMenu— mobj— id— rei は、 Top- MenuTitleに対する Indexであり、 TopjnenuTitleを構成する MovieObject識別子の参照値 (TopMenu_mobjjd_rel)が格 納される。
[0055] 『Title[0]0一 Title[number— of— Titles— 1]0』は、 FirstPlayTitleゝ Top— MenuTitle以外の Titleに対する Indexであり、 number_of_Title個存在して!/、る。これらは識別子 title jdを もって識另 IJされる。
ここで識別子 titlejdにより特定されるインデックスを Title[title_id]0とする。図中の引 き出し線 ix2は、 Title[titlejd]()に対する内部構成をクローズアップしている。 [0056] 本図に示すように" Title[title_id]0"は、 "Title [title jd]力 分岐をもっているか否か等 、 Titleの再生の類型を示す『Title_Playback_Type[title_id]』と、この Titleに対するサー チ機能の実行が許可されているか否かを示す『Title_access_Flag[titlejd]』と、 Titleを 構成する MovieObjectを一意に示す『title_mobjjd_rel[title_id]』とからなる。ここで Title を構成する動的シナリオが BD-J Objectであれば、『title_bobj_id_rel[titlejd]^S『 title_mobj_id_rel title_id]』の代わりになる。『title_bobj_id_rel[title_id]』は、 Titleを構成 する BD- J Objectを一意に示す。
Index.bdmvについては、以下の国際公開公報に詳細が記載されている。詳細につ いては、本公報を参照されたい。
国際公開公報 W0 2004/025651 A1公報
<アプリケーション管理テーブル >
BD-J Objectに含まれるアプリケーション管理テーブル及びプレイリスト管理テープ ルは、本実施形態の主眼となる構成要素であり、その詳細について説明する。先ず アプリケーション管理テーブル (AMT)について説明する。
[0057] 図 20 (a)は、アプリケーション管理テーブルの内部構成を示す図である。本図に示 すようにアプリケーション管理テーブルは、『life— cycle』と、『apli— id— ref』と、『 run_attribute』と、『run_priority』力らなる。
図 20 (b)は、アプリケーション管理テーブルを構成する情報要素の意味内容を示 す。
[0058] 『life_cycle』は、アプリケーションの"生存区間"を示す。
『apli_id_ref』は、 "アプリケーション識別子"に対する参照値が記述されることにより、 左記の生存区間をもつアプリケーションがどれであるかを示す。アプリケーション識別 子は、 Java (登録商標)アーカイブファイルにおいて、ファイル名として付与された 5桁 の数値 zzzzzで表現される。『apli_id_ref』には、この 5桁の数値が記述される。
[0059] 『run_attribute』は、当該生存区間におけるアプリケーションの"起動属性"が記述さ れる。起動属性には、 AutoRun、 Present, Suspedといった種別がある。
『run_pri0rity』は、当該生存区間におけるアプリケーションの"起動優先度"が記述 される。 BD-J Objectでは、これらの情報を用いてアプリケーションの挙動を制御する <生存区間 >
アプリケーション管理テーブルに規定される情報のうち、生存区間について説明す る。
[0060] 生存区間とは、 BD-ROMに記録されたコンテンツ全体の時間軸において、仮想マ シンのワークメモリ上でアプリケーションが生存し得る区間を示す。ワークメモリにおけ る"生存"とは、そのアプリケーションを構成する xletプログラム力 ワークメモリに読み 出され、仮想マシンによる実行が可能になって 、る状態を 、う。
Java (登録商標)仮想マシンにお!、てアプリケーションを動作させる場合、時間軸の 何処からアプリケーションによるサービスを開始し、時間軸の何処でアプリケーション によるサービスを終えるかという"サービスの開始点 ·終了点"を明確に規定すること が重要になる。このサービスの開始点.終了点を規定するの力 アプリケーション管理 テーブルにおける生存区間である。
[0061] それでは、図 13のような状態遷移をなすディスクコンテンツにおいて、 Titleの生存 区間はどのように規定されるのであろうか。 BD-ROMのローデイングがなされた後、図
13において矢印 jhl, 2,3,4 に示された参照符号の数値順に分岐がなされ、
BD- ROMがイジェタトされたものとする。そうすると、 BD- ROMがローデイングされてか ら、イジェタトされるまでの連続時間帯を一本の時間軸と同視することができる。この 時間軸を、ディスク全体の時間軸とする。図 21 (a)は、ディスク全体の時間軸を示す 図であり、図 21 (b)は、この時間軸における構成を示す。図 21 (b)に示すように、ディ スク全体の時間軸は、 FirstPlay Titleが再生されている区間、 TopMenu Titleが再生さ れている区間、 title#lが再生されている区間等力もなる。これら Titleの再生区間はど のように規定されている力というと、 Titleは、 1つ以上の MovieObject,又は、唯一の BD-J Objectから構成されるから、どれかの MovieObject又は BD- J Objectが、有効に なっている期間を Titleの再生区間と考えることができる。
[0062] つまり FirstPlay Title, TopMenu Title,その他の Titleは、何れも動的シナリオから構 成されるから、 Titleを構成する MovieObject又は BD-J Objectのうち、どれかがカレン ト MovieObject、又は、カレント BD-J Objectとして Activatedされ、再生装置内におい て解読 '実行に供されている期間を、 Titleの再生区間と定義することができる。図 22 (a)は、 BD-ROM全体の時間軸において、識別子 bobjjdにより特定される BD-J Object力も特定されるタイトル再生区間を示す図である。ここで識別子 bobjjdにより特 定される BD-J Object力 1つの Titleを構成しているなら、その識別子 bobjjdにより特 定される BD-J Objectが有効になっている BD-R0M時間軸上の一区間を、 Titleの再 生区間と考えることができる。
[0063] 同様に、識別子 mobjjdにより特定される MovieObject力 1つの Titleを構成している なら、その識別子 mobjjdにより特定される MovieObjectが有効になっている、 BD-R0M時間軸上の一区間を、 Titleの再生区間と考えることができる。
ここで MovieObject、 BD-J Objectが Activateされている期間の終期は、 Title分岐 OumpTitle)がなされるまでである。つまり、 Title分岐 (JumpTitle)がなされるまで、実行 の対象になつている動的シナリオは、カレント MovieObject及びカレント BD-J Object として扱われるから、その MovieObject又は BD- J Objectにおいて JumpTitleが発生す るまでの 1つの区間を、 Title再生区間として扱う。
[0064] 続いて Title区間と、 PL時間軸との関係について説明する。上述したように
MovieObject, BD-J Objectでは、 1つの処理手順として PL再生手順を記述することが できる。 PL再生手順の記述があれば、上述した PL時間軸の全部又は一部が Title区 間に帰属することになる。図 22 (&)のー例にぉぃて80 Objectに、プレイリスト管理 テーブルが記述されているとする。この場合、 BD-J Objectに対応する Title区間には 、図 22 (b)に示すように、 PL時間軸が帰属する。この PL時間軸には更に、複数チヤ プター (Chapter#l,#2,#3)が定義され得るため、 BD-R0M上の時間軸には、 BD-R0M 全体- Title-PL-チャプターと ヽぅドメインが存在することになる。これらのドメインを用 いて、アプリケーションの生存区間を記述することができる。尚、プレイリスト再生は、 アプリケーション実行と同時になされため、プレイリスト再生の途中で、 Title分岐が発 生することがある。この場合、 1つの Title再生区間内にはプレイリスト時間軸全体では なぐプレイリスト時間軸の一部分のみが帰属することになる。つまり 1つの Titleの再 生区間において、プレイリスト時間軸の全体が帰属する力、その一部分が帰属するか は、 Title分岐が何時発生するかによって変わる。
[0065] 図 23は、図 22 (b)の時間軸上に規定される、生存区間の典型を示す図である。本 図に示すようにアプリケーションには、 Titleを生存区間にした"タイトルバウンダリアブ リケーシヨン"、 Title内におけるチャプターを生存区間にした"チャプターバウンダリア プリケーシヨン"、 BD-ROM全体の時間軸を生存区間にした"タイトルアンバウンダリー アプリケーション"という 3つの典型がある。
[0066] このうちタイトルバウンダリアプリケーションの生存区間は、そのタイトルの識別子を 用いて定義することができる。またチャプターバウンダリアプリケーションの生存区間 は、チャプターが属するタイトルの識別子と、そのチャプターの識別子との組みを用 いて定義することができる。
プラットフォームが動作していたとしても、 Titleやチャプターという生存区間が終わ れば、リソースをアプリケーションから回収することができる。リソース回収の機会を保 証するので、プラットフォームの動作を安定ィ匕させることができる。
[0067] 近い将来、実施されるであろうディスクコンテンツを題材に選んで、アプリケーション 管理テーブルにおける生存区間記述について、具体例を交えて説明する。ここで題 材にするディスクコンテンツは、映像本編を構成する本編タイトル (title#l)、オンライン ショッピングを構成するオンラインショッピングタイトル (title#2)、ゲームアプリケーショ ンを構成するゲームタイトル (title#3)と!、う、性格が異なる 3つのタイトルを含むもので ある。図 24は、本編タイトル、オンラインショッピングタイトル、ゲームタイトルという 3つ のタイトルを含むディスクコンテンツを示す図である。本図における右側には
Index.bdmvを記述しており、左側には 3つのタイトルを記述して!/、る。
[0068] 右側における破線枠は、各アプリケーションがどのタイトルに属しているかという帰 属関係を示す。 3つのタイトルのうち title#lは、 applications、 application#2、 applicationsという 3つのアプリケーションからなる。 title#2は、 application^、 applicationsという 2つのアプリケーション、 title#3は、 application^を含む。図 24の 一例において applicationsは、 title#l、 title#2の双方で起動される。
[0069] 図 24の破線に示される帰属関係力も各アプリケーションの生存区間をグラフ化する と、図 25 (a)のようになる。本図において横軸は、タイトル再生区間であり、縦軸方向 に各アプリケーションの生存区間を配置している。ここで applications、 application^ は、 title#lのみに帰属しているので、これらの生存区間は、 title#l内に留まっている。 applicationsは、 title#2のみに帰属しているので、これらの生存区間は、 title#2内に 留まっている。 application^は、 title#3のみに帰属しているので、これらの生存区間 は、 title#3内に留まっている。 applicationsは、 title#l及び title#2に帰属しているので 、これらの生存区間は、 title#l— title#2にわたる。この生存区間に基づき、アプリケー シヨン管理テーブルを記述すると、 title#l,#2,#3のアプリケーション管理テーブルは図 25 (b)のようになる。このようにアプリケーション管理テーブルが記述されれば、 title#lの再生開始時にお!、て application#l、 application#2、 application^をワークメ モリにロードしておく。そして title#2の開始時に application#l、 application^をワークメ モリから削除して applicationsのみにするという制御を行う。これと同様に title#2の再 生開始時において applicationsをワークメモリにロードしておき、 title#3の開始時に application#3,#4をワークメモリ力 削除するという制御を行いうる。
[0070] 更に、 title#3の再生中において applicationsをワークメモリにロードしておき、
title#3の再生終了時に applicationsをワークメモリから削除するという制御を行いうる タイトル間分岐があった場合でも、分岐元 分岐先にお 、て生存して ヽるアプリケ ーシヨンはワークメモリ上に格納しておき、分岐元にはなぐ分岐先にのみ存在するァ プリケーシヨンをワークメモリに読み込めば良 、から、アプリケーションをワークメモリに 読み込む回数は必要最低数になる。このように、読込回数を少なくすることにより、タ ィトルの境界を意識させな!/、アプリケーション、つまりアンバウンダリなアプリケーショ ンを実現することができる。
[0071] 続いてアプリケーションの起動属性についてより詳しく説明する。起動属性には、自 動的な起動を示す「AutoRun」、自動起動の対象ではないが、仮想マシンのワークメ モリに置 ヽて良 、ことを示す「Present」、仮想マシンのワークメモリにはおかれるが、 CPUパワーの割り当ては不可となる「Suspend」がある。
「AutoRun」は、対応するタイトルの分岐と同時に、そのアプリケーションをワークメモ リに読み込み、且つ実行する旨を示す属性である。あるタイトルから、別のタイトルへ の分岐があると、アプリケーション管理を行う管理主体 (アプリケーションマネージャ)は
、その分岐先タイトルにおいて生存しており、かつ起動属性が AutoRunに設定された アプリケーションを仮想マシンのワークメモリに読み込み実行する。これによりそのァ プリケーシヨンは、タイトル分岐と共に自動的に起動されることになる。
[0072] 起動属性「Present」は、継続属性であり、分岐元 titleにおけるアプリケーションの状 態を継続することを示す。また対応するアプリケーションを実行してょ ヽことを示す属 性である。起動属性力 S「PreSent」である場合、この起動属性が付与されたアプリケー シヨンは、他のアプリケーションからの呼び出しが許可されることになる。アプリケーシ ヨン管理を行う管理主体 (アプリケーションマネージャ)は、起動中のアプリケーション から呼出があると、そのアプリケーションの applicationID力 アプリケーション管理テー ブルに記述されていて、起動属性が「Present」であるか否かを判定する。「Present」 であれば、そのアプリケーションをワークメモリにロードする。一方、その呼出先アプリ ケーシヨンの applicationIDがアプリケーション管理テーブルに記述されて!、な!/、場合 、そのアプリケーションはワークメモリにロードされない。アプリケーションによる呼出は 、この「Present」が付与されたアプリケーションに限られることになる。「Present」は、起 動属性を明示的に指定しない場合に付与されるデフォルトの起動属性であるから、あ るアプリケーションの起動属性が無指定「——」である場合、そのアプリケーションの起 動属性の起動属性はこの Presentであることを意味する。
[0073] 「Suspend」とは、リソースは割り付けられている力 CPUパワーは割り当てられない状 態にアプリケーションが置かれることをいう。力かる Suspendは、例えばゲームタイトル の実行中に、サイドパスを経由するという処理の実現に有意義である。
図 26は、起動属性がとり得る三態様 (Present, AutoRun, Suspend)と、直前タイトル におけるアプリケーション状態の三態様 (非起動、起動中、 Suspend)とがとりうる組合 せを示す図である。直前状態が"非起動"である場合、起動属性力 ^'AutoRun"である なら、分岐先タイトルにおいてそのアプリケーションは、起動されることになる。
[0074] 直前状態が"非起動"であり、起動属性が" Present"、 "Suspend"であるなら、分岐先 タイトルにおいてそのアプリケーションは、何もせず、状態を継続することになる。 直前状態が"起動中"である場合、起動属性が" Present"、 "AutoRun"であるなら、 分岐先タイトルにおいてそのアプリケーションは、何もせず、状態を継続することにな る。
[0075] 起動属性が" Suspend"であるなら、アプリケーションの状態は Suspendされることにな る。直前状態が" Suspend"である場合、分岐先タイトルの起動属性が" Suspend"なら Suspendを維持することになる。 "Present"又は" AutoRun"であるなら、分岐先タイトル においてそのアプリケーションは、レジュームすることになる。アプリケーション管理テ 一ブルにおいて生存区間及び起動属性を定義することにより、タイトル再生区間の進 行に沿って、 Java (登録商標)アプリケーションを動作させるという同期制御が可能に なり、映像再生と、プログラム実行とを伴った、様々なアプリケーションを世に送り出す ことができる。
[0076] 尚、直前状態が" Suspend"であり、分岐先タイトルの起動属性が" Present"の場合は 、直前状態、すなわちサスペンド状態を維持しても良い。
最後に、各アプリケーションに対する"起動優先度"について説明する。 この起動優先度は、 0— 255の値をとり、メモリリソース枯渴時や、 CPU負荷が高まつ た時に、どのアプリケーションを強制的に終了させる力、また、どちらのアプリケーショ ンからリソースを奪うかと!/、う処理をアプリケーションマネージャが行うにあたっての判 断材料になる。この場合、アプリケーションマネージャは、起動優先度が低いアプリケ ーシヨンの動作を終了し、起動優先度が高いアプリケーションの動作を継続させると の処理を行う。
[0077] また起動優先度は、再生中 PLに対する要求が競合した場合のアプリケーション間 の調停でも利用される。ここであるアプリケーション力 あるプレイリストの早送りしてい るものとする。ここで別のアプリケーションが同じプレイリストに対するポーズ要求を行 つたとすると、これらのアプリケーションに付与された起動優先度を比較する。そして 早送りを命じたアプリケーションの起動優先度が高いなら、かかるアプリケーションに よる早送りを継続して行う。逆にポーズを命じたアプリケーションの起動優先度が高い なら、早送り中 PLをポーズを行う。
[0078] 以上の生存区間'起動属性'起動優先度により、仮想マシン上で動作し得るアプリ ケーシヨンの数を所定数以下に制限するよう規定しておくことがォーサリング時に可 能なる。そのため、アプリケーションの安定動作を保証することができる。
<プレイリスト管理テーブル >
以上がアプリケーション管理テーブルにつ 、ての説明である。続 、てプレイリスト管 理テーブルについて説明する。プレイリスト管理テーブルとは、アプリケーションの生 存区間において、各アプリケーション実行と同時に行うべき再生制御を示すテーブル である。アプリケーションの動作というのは不安定であり、起動の失敗や異常終了が ありうる。そこで起動失敗、異常終了があった場合の Fail Safe機構として、本実施形 態ではアプリケーションの生存区間毎に、プレイリスト管理テーブルを設けている。プ レイリスト管理テーブルは、あるアプリケーションの生存区間が開始した際、これと同 時に行うべき再生制御を規定する情報である。この再生制御とは、プレイリスト情報に 基づく AVClip再生であり、プレイリスト情報による再生制御を同時に行うことで、アプリ ケーシヨン実行と、プレイリスト再生とが同時になされることになる。プレイリスト管理テ 一ブルは、アプリケーションの生存区間毎に設けられるとした力 プレイリスト管理テ 一ブルが設けられるアプリケーションは、タイトルバウンダリのアプリケーションに限ら れる。何故ならタイトルアンバウンダリーアプリケーションは、全タイトルを生存区間に しているため、アプリケーション実行と同時にプレイリスト再生を行うという制御は、適 合しないからである。
[0079] チャプターバウンダリアプリケーションは、 1つのプレイリスト内のチャプターからァプ リケーシヨン実行を開始するという前提の下で生存区間が規定されているため、プレ イリスト再生を規定する必要はな 、からである。以上のことからプレイリスト管理テープ ルは、 1つ以上の Title力もなる生存区間に定義されることになる。
図 27 (a)は、プレイリスト管理テーブルの内部構成を示す図である。本図に示すよう にプレイリスト管理テーブルは、『PL_id_ref』と、『Playback_Attribute』とからなる。
[0080] 図 27 (b)は、プレイリスト管理テーブルを構成する情報要素の意味内容を示す。
『PL_id_ref』は、 PL識別子に対する"参照値"が記述されることにより、アプリケーショ ンの生存区間において再生可能となる PLがどれであるかを示す。 PL識別子は、ファ ィル YYYYY.MPLSにお!/、て、ファイル名として付与された 5桁の数値 YYYYYで表現さ れる。この YYYYYが記述されること〖こより、『PL_id_ref』は、対応する Titleにおいて再 生可能となる PLがどれであるかを示す。
[0081] 『Playback_Attribute』は、アプリケーション管理テーブルにおける起動属性に倣った 属性であり、『PL_id_ref』に記述された PLを、タイトル開始時において、どのように再生 するかを規定する再生属性である。 PLに対する再生属性には、『AutoPlay』、『
Present』と!ヽつた種另 Uがある。
『AutoPlay』とは、対応するタイトルの分岐と同時に、そのプレイリストを再生させる旨 を示す属性である。あるタイトルから、別のタイトルへの分岐があると、アプリケーショ ン管理を行う管理主体 (アプリケーションマネージャ)は、その分岐先タイトルにお 、て 再生可能であり、かつ再生属性が AutoPlayに設定されたプレイリストの再生を開始す る。これにより起動属性が AutoPlayに設定されたプレイリストは、タイトル分岐と共に自 動的に起動されることになる。
[0082] 『Present』とは、起動属性における Present同様、継続属性であり、分岐元 titleにお ける PLの状態を継続することを示す。また対応するプレイリストを再生してよ!、ことを 示す属性である。例えば連続して再生される 2つの Titleがあり、分岐元 Title側のプレ イリスト管理テーブルでは、あるプレイリストの再生属性が AutoPlayに設定され、分岐 先 Title側のプレイリスト管理テーブルでは、そのプレイリストの再生属性が Presentに 設定されているものとする。ここでプレイリストの再生時間が 2時間長であり、このうち 1 時間が経過した時点で分岐が発生したとする。この場合分岐先 Titleでは、再生属性 が Presentに設定されているので、分岐先 Titleにおいて、そのプレイリストは、 1時間と いう再生済み区間の直後から、再生されることになる。このように再生属性を Present に設定しておけば、 Title間の分岐があった場合でも、プレイリスト再生をその残りの部 分から開始することができる。これにより分岐し合う一連の Titleにおいて、共通のプレ イリストを再生するという"タイトル間におけるプレイリスト再生の共通イビ'を容易に実現 することができる。また分岐先タイトルが複数ある場合、これら複数タイトルの再生属 性を何れも Presentにしておけば、複数のうちどれに分岐したとしても、 1つの共通の プレイリスト再生を継続させることができる。
[0083] 尚 Titleの境界は、シームレス再生を保証しなくてもよ!、ので、上述したように複数 Title間で 1つのプレイリストを再生しょうとする場合、分岐前後でプレイリスト再生を中 断させることは許容される。
また、再生属性が「PreSent」である場合、この再生属性が付与されたプレイリストは、 他のアプリケーションからの再生要求により再生されることになる。アプリケーション管 理を行う管理主体 (アプリケーションマネージャ)は、起動中のアプリケーションから、プ レイリストの再生要求があると、要求を受けたプレイリストの PLjd_rel¾ プレイリスト管 理テーブルに記述されて 、て、再生属性が「AutoPlay」か「Present」の!、ずれかか否 かを判定する。「AutoPlay 「Present」のいずれかであれば、そのプレイリストを再生 する。一方、要求を受けたプレイリストの PLjcLrel^プレイリスト管理テーブルに記述さ れていない場合、そのプレイリストを再生しない。アプリケーションの要求によるプレイ リスト再生は、この「AutoPlay」か「Present」の!、ずれかが付与されたプレイリストに限ら れることになる。「PreSent」は、再生属性を明示的に指定しない場合に付与されるデ フォルトの再生属性であるから、あるプレイリストの再生属性が無指定「——」であるとそ のプレイリストの再生属性はこの Presentであることを意味する。
[0084] 図 28は、分岐先 Titleがとり得る三態様 (プレイリスト管理テーブル無し (0、プレイリス ト管理テーブル有りで尚且つ AutoPlay(ii)、プレイリスト管理テーブル有りで尚且つ PreSent(m))と、直前タイトルにおける PLの状態 (非再生状態、再生中状態)とがとりうる 6通りの組合せを示す図である。
本図における 6通りの組合せのうち、 "直前状態 =非再生状態"と、 "分岐先 Title = プレイリスト管理テーブル有り、尚且つ、分岐先 Titleの再生属性 =AutoPlay"との組 合せにおいて、分岐先タイトルにおける PLの再生は、自動的に開始することになる。
[0085] また"直前状態 =再生中状態"と、 "分岐先 Title =プレイリスト管理テーブル無じ'と の組合せにおいて、分岐先タイトルでの PLの再生は、自動的に停止することになる。 そしてこれら 2つの組合せ以外は全て、分岐元 Titleの状態を継続することになる。 プレイリスト管理テーブルに基づくプレイリスト再生の開始は、分岐元タイトルにおい て非再生状態であり、分岐先タイトルにお 、て AutoPlay属性が付与されて 、る場合 に限られるので、タイトルの分岐発生する毎に、プレイリスト再生を開始させる必要は ない。タイトル間の分岐が多数発生したとしても、プレイリスト再生を開始させる回数を 必要最低数にすることができる。 プレイリスト管理テーブル及びアプリケーション管理テーブルの記述例について図 2 9 (a)を参照しながら説明する。ここで想定する具体例は、 2つの連続する Title(title#l 、 title#2)であリ、そのうち title#lでは、 AutoRunアプリケーションとして application#l、 applicationsが記述されて!、る。 title#2では AutoRunアプリケーションとして applications、 application^が記述されている。一方、 title#lのプレイリスト管理テー ブルには、 AutoPlayプレイリストとして PlayList#l力 title#2のプレイリスト管理テープ ルには、 AutoPlayプレイリストとして PlayList#2が記述されているものとする。図 29 (b) は、図 29 (a)のように記述されたアプリケーション管理テーブル、プレイリスト管理テ 一ブルによりプレイリスト再生、アプリケーション実行がどのように進行するかを示す図 である。
[0086] title#lにおいてアプリケーション管理テーブル、プレイリスト管理テーブルは上述し たように設定されているので、 title#lの開始時には application#l、 application^が自 動的に起動され、 PlayList#lの再生が自動的に開始される。
title#2にお!/、てアプリケーション管理テーブル、プレイリスト管理テーブルは上述し たように設定されて 、るので、 title#l側に記載はある力 titled側には記載がな!ヽ applicationsの実行は停止させられる。同じく title#l側に記載がある力 title#2側に 記載がない PlayList#lの再生も停止させられる。
[0087] title#l側に記載はな!/、が、 title#2側に記載がある PlayList#2、 application^は再生 及び実行が自動的に開始することになる。タイトル分岐があれば、その分岐を契機に 、再生すべきプレイリストを他のプレイリストに切り換えることができる。このようにアプリ ケーシヨン管理テーブル、プレイリスト管理テーブルを用いることで分岐を契機にして 、プレイリスト再生を切り換えると!/、う処理をォーサリング段階にぉ 、て規定しておくこ とがでさる。
[0088] また図 29では、 applications、 application#2、 application^にはそれぞれ
200, 128,200の起動優先度が与えられている。これらの起動優先度を付与することに より、 PlayList#l、 PlayList#2に対する制御要求が競合した場合の調停を行わせること ができる。ここで applicationsが PlayList#lに対し早送りを命じているものとする。一方 、 applicationsがポーズ要求を行ったとする。この場合、アプリケーション管理テープ
Figure imgf000031_0001
、るため、この起動優先度 に従って、両アプリケーションに対する調停がなされることになる。その結果、 applicationsによる要求を退け、 application^による制御を継続すると!/、う処理をォ ーサリング時に規定しておくことができる。起動優先度をプレイリスト管理テーブルと 併せて利用することにより、プレイリストに対する制御が競合した場合の調停さえも再 生装置に行わせることができる。
[0089] プレイリスト管理テーブル記述の他の具体例にっ 、て説明する。図 30 (a)は、プレ イリスト管理テーブルの他の記述例を示す図である。本図で想定しているのは、 2つ の連続するタイトル (title#l、 title#2)にお!/、て、 title#l側のプレイリスト管理テーブルに は、 AutoPlayプレイリストとして PlayList#l力 再生可能なプレイリストとして PlayList#2 が記述され、 title#l側のアプリケーション管理テーブルには、 AutoPlayアプリケーショ ンである applicationsと、実行可能なアプリケーションとして application^が記述され て 、る。一方 title#2側のプレイリスト管理テーブルには再生可能なプレイリストとして PlayList#2, PlayList#3が記述され、アプリケーション管理テーブルには、 AutoRunァ プリケーシヨンとして applicationsが記述されている。図 30 (b)は、図 30 (a)のケース に基づくアプリケーション実行及びプレイリスト再生の進行を示す図である。 title#lの アプリケーション管理テーブルには、 AutoRunアプリケーションとして application^が 記述されているので、 title#lの開始時には applicationsが自動起動される。一方、 title#lのアプリケーション管理テーブルには、実行可能アプリケーションとして ap plication#2が記述されて!、るので、 application^からの呼出 ydlにより application^が 起動される。
[0090] title#2側のアプリケーション管理テーブルにお!/、て application#l、 application^が 非生存になっており、代わりに AutoRunアプリケーションとして applicationsが記述さ れている。そのため title#l— title#2の境界部では、 application#l、 application^を停止 し、 application^を自動的に起動するとの処理がなされる。プレイリスト管理テーブル を参照すると、 title#l側のプレイリスト管理テーブルは、 PlayList#l、 PlayList#2が再生 可能と記述されており、そのうち PlayList#lは AutoPlay属性になっている。そのため PlayList#lは、 title#lの開始時において自動的に再生される。 [0091] title#l側のプレイリスト管理テーブルには、 PlayList#lの他、 PlayList#2が再生可能 であると記述されているので、 applicationsは PlayList#lの再生を停止させ、代わりに PlayList#2の再生を要求することにより、プレイリスト交代を実行することができる。 title#2側のプレイリスト管理テーブルには、再生可能なプレイリストとして PlayList#2 、 PlayList#3が記述されている。そして AutoPlay属性が付与されたプレイリストはない 。そのため、仮に title#l開始時において自動再生された PlayList#lの再生が titledま で継続したとしても、 PlayList#lの再生は自動的に終了することになる。
[0092] しかし PlayList#2再生が継続したまま title#2に至れば、 PlayList#2再生は title#2開 始以降も継続する。 title#2のプレイリスト管理テーブルには、再生可能なプレイリスト として PlayList#2、 PlayList#3が記述されている。そのため、 title#2で実行中となる applicationsは、 PlayList#2の再生を停止し、代わりに PlayList#3の再生を要求するこ とにより、再生中のプレイリストを交代させることができる。
[0093] 次にプレイリスト管理テーブルによりタイトル再生区間がどのように規定されるかを、 図 31を参照しながら説明する。
図 31 (a)は、再生属性が AutoPlayに設定されたタイトルのタイトル再生区間を示す 図である。再生属性が AutoPlayを示すよう設定されれば、タイトルの再生開始と同時 に、 AutoPlayPLの再生を開始する。ここでアプリケーションが正常に動作し、正常終 了したとしても、このタイトル再生区間は、 PL時間軸を基準にして定められる。
[0094] 図 31 (b)は、プレイリスト管理テーブルにお!/、て再生属性が" AutoPlay"を示すよう 設定され、アプリケーションが異常終了した場合を示す。かかる異常終了により、どの アプリケーションも動作してない状態になる力 AutoPlayPLの再生は継続する。この 場合も、 AutoPlayPLの PL時間軸がタイトル再生区間になる。
図 31 (c)は、プレイリスト管理テーブルにおいて再生属性が" AutoPlay"を示すよう 設定され、メインアプリの起動に失敗したケースを示す。この場合も、 AutoPlayPL再 生は、アプリケーションの起動失敗とは関係なしに行われるので、 AutoPlayPLの時間 軸がタイトル再生区間になる。
[0095] 以上のようにプレイリスト管理テーブルの再生属性を、 "AutoPlay"に設定しておけ ば、 Java (登録商標)アプリケーションの起動に、 5— 10秒という時間が力かったとして も、その起動がなされている間、 "とりあえず何かが写っている状態"になる。タイトル 実行開始時において、アプリケーション起動に時間が力かったとしても、画面は、 "と りあえず何かが写っている状態"になる。これにより、アプリケーション起動に時間がか 力ることによるスタートアップディレイの長期化を補うことができる。
[0096] アプリケーション管理テーブル及びプレイリスト管理テーブルを定義することにより、 タイトル再生区間の進行に沿って、 Java (登録商標)アプリケーションを動作させると いう同期制御が可能になり、映像再生と、プログラム実行とを伴った、様々なアプリケ ーシヨンを世に送り出すことができる。以上が記録媒体についての説明である。続い て本発明に係る再生装置につ 、て説明する。
[0097] 図 32は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生 装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は 、主としてシステム LSIと、ドライブ装置という 2つのパーツからなり、これらのパーツを 装置のキャビネット及び基板に実装することで工業的に生産することができる。システ ム LSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうし て生産される再生装置は、 BD-ROMドライブ 1、リードバッファ 2、デマルチプレクサ 3 ゝビテォデコーダ 4、ビデオプレーン 5、 P- Graphicsデコーダ 6、 Presentation Graphicsプレーン 7、合成部 8、フォントゼネレータ 9、 I- Graphicsデコーダ 10、スイツ チ 11、 Interactive Graphicsプレーン 12、合成部 13、 CLUT部 14、 CLUT部 15、ォー ディォデコーダ 16、 Network Device 17, Local Storage 18,リードノくッファ 19、デマル チプレクサ 20、命令 ROM21、ユーザイベント処理部 22、 PSRセット 23、 CPU24、シ ナリオメモリ 25、ローカルメモリ 26、スィッチ 27から構成される。
[0098] 先ず初めに、 BD-ROMに記録された AVClip再生に係る構成要素 (BDドライブ 1ーォ 一ディォデコーダ 16)について説明する。
BD— ROMドライブ 1は、 BD— ROMのローデイング/イジェクトを行い、 BD— ROMに対 するアクセスを実行する。
リードバッファ 2は、 FIFOメモリであり、 BD- ROM力ら読み出された TSパケットが先入 れ先出し式に格納される。
[0099] デマルチプレクサ (De- MUX)3は、リードバッファ 2から TSパケットを取り出して、この TSパケットを構成する TSパケットを PESパケットに変換する。そして変換により得られ た PESパケットのうち、 CPU24から設定された PIDをもつものをビデオデコーダ 4、 P- Graphicsデコーダ 6、 I- Graphicsデコーダ 10、オーディオデコーダ 16のどれかに出 力する。
ビデオデコーダ 4は、デマルチプレクサ 3から出力された複数 PESパケットを復号し て非圧縮形式のピクチャを得てビデオプレーン 5に書き込む。
[0100] ビデオプレーン 5は、非圧縮形式のピクチャを格納しておくためのプレーンである。
プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ 領域である。ビデオプレーン 5における解像度は 1920 X 1080であり、このビデオプレ ーン 5に格納されたピクチャデータは、 16ビットの YUV値で表現された画素データに より構成される。ビデオプレーン 5では、ビデオストリームにおける一フレーム毎の再 生映像を、スケーリングすることができる。スケーリングとは、一フレーム毎の再生画像 をビデオプレーン 5全体の 1/4(クォータという)、 1/1(フルスケールという)のどちらかに 変化させることである。力かるスケーリングを、 BD-Jモードにおいて CPU24からの指 示に従い実行するので、ビデオストリームの再生画像を、画面の隅に追いやったり、 全面的に出すという画面演出が可能になる。
[0101] P-Graphicsデコーダ 6は、 BD- ROMから読み出されたプレゼンテーショングラフイク スストリームをデコードして、非圧縮グラフィクスを Presentation Graphicsプレーン 7に 書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる
Presentation Graphicsプレーン 7は、一画面分の領域をもったメモリであり、一画面 分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は 1920 X 1080であり、 Presentation Graphicsプレーン 7中の非圧縮グラフィクスの各画素は 8 ビットのインデックスカラーで表現される。 CLUT(Color Lookup Table)を用いてかかる インデックスカラーを変換することにより、 Presentation Graphicsプレーン 7に格納され た非圧縮グラフィクスは、表示に供される。
[0102] 合成部 8は、ビデオプレーン 5に格納された非圧縮状態のピクチャデータ (0を、 Presentation Graphicsプレーン 7の格納内容と合成する。 フォントゼネレータ 9は、文字フォントを用いて textSTストリームに含まれるテキストコ ードをビットマップに展開して Presentation Graphicsプレーン 7に書き込む。
I- Graphicsデコーダ 10は、 HDMVモードにおいて BD- ROM又は Local Storagel8力 ら読み出された IGストリームをデコードして、非圧縮グラフィクスを Interactive Graphics プレーン 12に書き込む。
[0103] スィッチ 11は、フォントゼネレータ 9が生成したフォント列、 P- Graphicsデコーダ 6の デコードにより得られたグラフィクスの何れかを選択的に Presentation Graphicsプレー ン 7に書き込むスィッチである。
Interactive Graphicsプレーン 12は、 I- Graphicsデコーダ 10によるデコードで得られ た非圧縮グラフィクスが書き込まれる。また Interactive Graphicsプレーン 12には、 BD-Jモードにおいて、アプリケーションにより描画された文字やグラフィクスが書き込 まれる。
[0104] 合成部 13は、 Interactive Graphicsプレーン 12の格納内容と、合成部 8の出力であ る合成画像 (非圧縮状態のピクチャデータと、 Presentation Graphicsプレーン 7の格納 内容とを合成したもの)とを合成する。カゝかる合成により、アプリケーションが
ト Graphicsデコーダ 10に書き込んだ文字 'グラフィクスを、非圧縮状態のピクチャデ ータ上にオーバレイして、表示することができる。
[0105] CLUT部 14は、ビデオプレーン 5に格納された非圧縮グラフィクスにおけるインデッ クスカラーを、 Y,Cr,Cb値に変換する。
CLUT部 15は、 Interactive Graphicsプレーン 12に格納された非圧縮グラフィクスに おけるインデックスカラーを、 Y,Cr,Cb値に変換する。
オーディオデコーダ 16は、デマルチプレクサ 3から出力された PESパケットを復号し て、非圧縮形式のオーディオデータを出力する。
[0106] 以上が AVClip再生に係る構成要素である。続いて BD-Jモードでの動作に係る構 成要素 (Network Devicel7— De- mux20)について説明する。
Network Devicel7は、再生装置における通信機能を実現するものであり、 BD- Jモ ードにおいて URL指定力 ¾ava (登録商標)アプリケーションから与えられれば、その URLにあたる webサイトとの TCPコネクション、 FTPコネクション等を確立する。かかるコ ネクシヨン確立により webサイトからのダウンロードを Java (登録商標)アプリケーション に行わせる。
[0107] Local Storagel8は、 Network Devicel7により確立されたコネクションを通じて webサ イトからダウンロードされたコンテンツ等、 BD-ROM以外の記録媒体、通信媒体から 供給されたコンテンツを、メタデータと共に格納しておくためのハードディスクである。 このメタデータは、ダウンロードコンテンツを Local Storage 18にバインドして管理する ための情報であり、この Local Storage 18をアクセスすることで、 BD-Jモードにおける アプリケーションは、ダウンロードコンテンツ長さを利用した様々な処理を行うことがで きる。
[0108] リードバッファ 19は、 FIFOメモリであり、 Local Storagel8に格納されたダウンロード コンテンツに、 SubClipが含まれている場合、この SubClipを構成する TSパケットを、先 入れ先出し式に格納する。
デマルチプレクサ (De- MUX)20は、リードバッファ 19から TSパケットを取り出して、 TSパケットを PESパケットに変換する。そして変換により得られた PESパケットのうち、 所望の PIDをもつものをフォントゼネレータ 9、 I- Graphicsデコーダ 10、オーディオデコ ーダ 16に出力する。
[0109] 以上の Network Devicel7—De-mux2(^ f 、 Java (登録商標)アプリケーションが ネットワークを通じてダウンロードしたコンテンツを、 BD- ROMに記録されたコンテンツ 同様再生させることができる。続いて、再生装置における統合制御を実現する構成要 素 (命令 ROM21—スィッチ 27)について説明する。
命令 ROM21は、再生装置の制御を規定するソフトウェアを記憶している。
[0110] ユーザイベント処理部 22は、リモコンや再生装置のフロントパネルに対するキー操 作に応じて、その操作を行うユーザイベントを CPU24に出力する。
PSRセット 23は、再生装置に内蔵されるレジスタであり、 64個の Player Status Register(PSR)と、 4096個の General Purpose Register (GPR)とからなる。 Player Status Registerの設定値 (PSR)のうち、 PSR4— PSR8は、現在の再生時点を表現するのに用 いられる。
[0111] PSR4は、 1一 100の値に設定されることで、現在の再生時点が属するタイトルを示し 、 0に設定されることで、現在の再生時点がトップメニューであることを示す。
PSR5は、 1一 999の値に設定されることで、現在の再生時点が属するチャプター番 号を示し、 OxFFFFに設定されることで、再生装置においてチャプター番号が無効で あることを示す。
[0112] PSR6は、 0— 999の値に設定されることで、現在の再生時点が属する PL (カレント PL) の番号を示す。
PSR7は、 0— 255の値に設定されることで、現在の再生時点が属する Playltem (カレ ント Play Item)の番号を示す。
PSR8は、 0— OxFFFFFFFFの値に設定されることで、 45KHzの時間精度を用いて現 在の再生時点 (カレント PTM(Presentation TiMe》を示す。以上の PSR4— PSR8により、 図 21 (a)における BD-ROM全体の時間軸において、現在の再生時点はどこであるか を特定することができる。
[0113] CPU24は、命令 ROM21に格納されているソフトウェアを実行して、再生装置全体 の制御を実行する。この制御の内容は、ユーザイベント処理部 22から出力されたュ 一ザイベント、及び、 PSRセット 23における各 PSRの設定値に応じて動的に変化する シナリオメモリ 25は、カレントの PL情報やカレントの Clip情報を格納しておくためのメ モリである。カレント PL情報とは、 BD-ROMに記録されている複数 PL情報のうち、現 在処理対象になっているものをいう。カレント Clip情報とは、 BD- ROMに記録されてい る複数 Clip情報のうち、現在処理対象になって!/、るものを 、う。
[0114] ローカルメモリ 26は、 BD- ROMからの読み出しは低速である故、 BD- ROMの記録 内容を一時的に格納しておくためのキャッシュメモリである。かかるローカルメモリ 26 が存在することにより、 BD-Jモードにおけるアプリケーション実行は、効率化されるこ とになる。
スィッチ 27は、 BD- ROM及び Local Storagel8から読み出された各種データを、リ ードバッファ 2、リードバッファ 19、シナリオメモリ 25、ローカルメモリ 26のどれかに選 択的に投入するスィッチである。
[0115] 以上が、本実施形態に係る再生装置のハードウェア構成である。続いて本実施形 態に係る再生装置のソフトウェア構成について説明する。
図 33は、 ROM24に格納されたソフトウェアと、ハードウェアとからなる部分を、レイァ 構成に置き換えて描いた図である。本図に示すように、再生装置のレイァ構成は、以 下の a),b),c)からなる。つまり、 a) BD Player Deviceの第 1階層、
b) BD Player Modelの第 2階層、
c) Application Runtime Enviromentの第 3階層からなる。
これらの階層のうち図 32に示した再生装置のハードウェア構成は、第 1階層に属す ることになる。本図の第 1階層" BD Player Device"には、図 32に示したハードウェア 構成のうちビデオデコーダ 4、 P- Graphicsデコーダ 6、 I- Graphicsデコーダ 10、オーデ ィォデコーダ 16からなる"デコーダ"と、ビデオプレーン 5、 Presentation Graphicsプレ ーン 7、 Interactive Graphicsプレーン 12からなる"プレーン"、 BD- ROM及びそのファ ィルシステム、 Local Storage 18及びそのファイルシステムを含む。
[0116] 第 2階層" BD Player Model',は、以下の bl),b2)の層からなる。つまり、
b2)Playback Control Engine32の層
bl)Virtual File System30及び Presentation Engine31の層
からなり、 自身より上位の階層に対し、ファンクション APIを提供する。
第 3階層" Application Runtime Enviroment"は、以下の cl),c2)の階層からなる。つま り、
cl)モジュールマネージャ 34が存在する層、
c2)HDMVモジュール 33、 BD-Jモジュール 35が存在する層
力らなる。図 33のレイァモデルにおいてこのモジュールマネージャ 34が最上位の 階層に位置する力 モジュールマネージャ 34は、 HDMVモジュール 33及び BD- Jモ ジュール 35をバイパスして Playback Control Engine32に至る迂回路 urlを有している 。この迂回路によりモジュールマネージャ 34は、図 33のレイァモデルにおいて" L"字 形を逆さまにした形状をなし、 User Event Manager37を内蔵した構成になっている。
[0117] BD- Jモジュール 35は、いわゆる Java (登録商標)プラットフォームであり、 Java (登録 商標)仮想マシン 38を中核にした構成になって 、る。 Java (登録商標)仮想マシン 38 内のワークメモリは、様々なシステムプログラムやアプリケーションが動作して!/、る。 Java (登録商標)仮想マシン 38の上位に描!、た、アプリケーションマネージャ 36、 Event Listner Manager39 (Default Operation Manager40)は、そうしたシステムプログ ラムの 1つである。このうちアプリケーションマネージャ 36の中には PLMT Prcessor41 が存在している。また BD-Jモジュール 35と、 Playback Control Engine32との間には、 Permission Controller42が介在して 、る。
先ず初めに、第 2層に属する Virtual File System30—モジュールマネージャ 34に ついて説明する。図 34は、 Virtual File System30—モジュールマネージャ 34による 処理を模式ィ匕した図である。
Virtual File System30は、 Local Storagel8に格納されたダウンロードコンテンツを、 BD- ROMにおけるディスクコンテンツと一体的に取り扱うための仮想的なファイルシス テムである。ここで Local Storagel8に格納されたダウンロードコンテンツは、 SubClip、 Clip情報、プレイリスト情報を含む。このダウンロードコンテンツにおけるプレイリスト情 報は BD- ROM及び Local Storagel8のどちらに存在する Clip情報であっても、指定で きる点で、 BD- ROM上のプレイリスト情報と異なる。この指定にあたって、 Virtual File System30上のプレイリスト情報は、 BD- ROMや Local Storage 18におけるファイルをフ ルパスで指定する必要はない。 BD- ROM上のファイルシステムや Local Storagel8上 のファイルシステムは、仮想的な 1つのファイルシステム (Virtual File System30)として 、認識されるからである。故に、 Playltem情報における Clip_Information_file_name及び SubPlayltem情報の Clip_Information_file_nameは、 Clip情報の格納したファイルのファ ィルボディにあたる 5桁の数値を指定することにより、 Virtual File System30、 BD- ROM上の AVClipを指定することができる。 Virtual File System30を介して Local Storagel8の記録内容を読み出し、 BD-ROMの記録内容と動的に組み合わせること により、様々な再生のバリエーションを産み出すことができる。 Local Storagel8と、 BD- ROMとを組合せてなるディスクコンテンツは、 BD- ROMにおけるディスクコンテン ッと対等に扱われるので、本願における,, BD- ROM"は、 Local Storagel8 + BD- ROM の組合せからなる仮想的な記録媒体をも含むことにする。 [0119] Presentation Engine31は、 AV再生ファンクションを実行する。再生装置の AV再生 ファンクションとは、 DVDプレーヤ、 CDプレーヤから踏襲した伝統的な機能群であり、 再生開始 (Play)、再生停止 (Stop)、一時停止 (Pause On)、一時停止の解除 (Pause Oil) 、 Still機能の解除 (still off),速度指定付きの早送り (Forward Play(speed))、速度指定 付きの巻戻し (Backward Play(speed))、音声切り換え (Audio Change),副映像切り換え (Subtitle Change),アングル切り換え (Angle Change)といった機能である。 AV再生フ アンクシヨンを実現するべぐ Presentation Engine31は、リードバッファ 2上に読み出さ れた AVClipのうち、所望に時刻にあたる部分のデコードを行うよう、ビデオデコーダ 4 、 P- Graphicsデコーダ 6、 I- Graphicsデコーダ 10、オーディオデコーダ 16を制御する 。所望の時刻として PSR8(カレント PTM)に示される箇所のデコードを行わせることによ り、 AVClipにおいて、任意の時点を再生を可能することができる。
[0120] 再生制御エンジン (Playback Control Engine(PCE))32は、プレイリストに対する再生 制御ファンクション (0、 PSRセット 23における状態取得 Z設定ファンクション GOと 、つ た諸機能を実行する。 PLに対する再生制御ファンクションとは、 Presentation Engine3 1が行う AV再生ファンクションのうち、再生開始や再生停止を、カレント PL情報及び Clip情報に従って行わせることをいう。これら機能 (0— (ii)は、 HDMVモジュール 33— BD-Jモジュール 35からのファンクションコールに応じて実行する。
[0121] つまり、 PL再生を命じるファンクションコールがあれば、 Playback Control Engine32 は、再生が命じられたプレイリスト情報を、 Virtual File System30経由で BD- ROM又 は Local Storagel8から読み出す。そのように読み出されたプレイリスト情報内の Playltem情報を参照し、その Playltem情報にお!/、て Clip_Information_file_nameに記載 されている Clip情報を、 Virtual File System30経由で BD- ROM又は Local Storage 18 から読み出す。図 34における (§)1,2, 3,4は、 Virtual File System30経由のプレイリスト 情報読み出し (©1)、プレイリスト情報を構成する Playltem情報の解読 ((§)2)、 Virtual File System30経由の Clip情報読み出し ((§)3)、 Clip情報の解読 ((§)4)を模式ィ匕したも のである。以上の過程を経て Clip情報、プレイリスト情報が解読されれば、 AVClipを 構成する TSパケットを、 Virtual File System30を通じて Presentation Engine31に引き 渡す。このようにして Presentation Engine31に TSパケット力順次渡れば、 Presentation Engine31は AVClipを構成する TSパケットをデコーダに出力して、プレーンに表示さ せる。図中の 1,2,3,4は、 AVClipを構成する TSパケットの読み出し ( 1,2)、 Virtual File System30から Presentation Engine31への TSパケット引き渡し ( 3)、デコーダへ の TSパケット投入 ( 4)、デコーダ力も各種プレーンへのデコード結果出力 ( 5)を模 式的に示している。
[0122]
HDMVモジュール 33は、 HDMVモードの実行主体であり、 mob jjdにより分岐先 MovieObjectを指定した activate要求 (activate(mobjjd))がモジユーノレマネージャ 34力 らなされれば、 MovieObject(mobjjd)をローカルメモリ 26に読み出して、この Movie Objectに記述されたナビゲーシヨンコマンドを解読し、解読結果に基づき Playback Control Engine32に対するファンクションコールを実行する。図 28において V2,V3, ▽4が付された矢印は、モジュールマネージャ 34による activate(mobj_id)(2)、 Movie Objectに記述されたナビゲーシヨンコマンドの解読 (3)、 Playback Control Engine32に 対するファンクションコール (4)を、模式的に示している。
[0123] モジュールマネージャ 34は、 BD- ROMから読み出された Index.bdmvを保持して、分 岐制御を行う。この分岐制御は、カレントタイトルを構成する動的シナリオに
Terminateイベントを発行し、分岐先タイトルを構成する動的シナリオに Activateィべ ントを発行することでなされる。 title jdを指定した JumpTitleコマンド
(JumpTitle(title_id》を MovieObjectが実行した場合、カレントタイトルを構成する MovieObjectに Terminateイベントを発行し、 titlejdに対応するタイトルを構成する Movie Objectを activateするよう、 activate(mobjjd)イベントが発行する。図中の▽(),▽ 1,V2が付された矢印は、 JumpTitleコマンドの実行 (▽())、モジュールマネージャ 34に よる Index.bdmv参照 (Vl)、分岐先 Titleを構成する Movie Objectの activate(V2)の通 知を模式的に示して 、る。 JumpTitleAPI(JumpTitle(title— id》を BD— J Objectがコール した場合も同様であり、カレントタイトルを構成する BD-J Objectに Terminateイベント を発行し、その titlejdに対応するタイトルを構成する BD-J Objectを activateするよう、 activate(bobjjd)を BD-Jモジュール 35に発行する。
[0124] 以上が Presentation Engine31—モジュールマネージャ 34についての説明である。 続いてアプリケーションマネージャ 36について、図 35を参照しながら説明する。図 3 5は、アプリケーションマネージャ 36を示す図である。
アプリケーションマネージャ 36は、タイトル分岐が発生する度に、分岐前タイトルで は実行されて ヽな 、が、新たなタイトルでは AutoRunの起動属性を有するアプリケー シヨンを起動するよう Java (登録商標)仮想マシン 38に指示する。それと共に、分岐前 タイトルでは実行されて 、たが、新たなタイトルを生存区間としな 、アプリケーションを 終了させる。これら起動制御及び終了制御は、カレント BD-J Objectにおけるアプリケ ーシヨン管理テーブルを参照した上でなされる。ここでタイトル分岐があった場合、モ ジュールマネージャ 34から activate(bobjjd)が通知される。かかる通知があれば、 bobjjdに対応する BD-J Objectをカレント BD-J Objectにして、そのカレント BD-J Objectにおけるアプリケーション管理テーブルを参照することで、上述した自動起動 すべきアプリケーション及び自動終了すべきアプリケーションを特定する。図 35にお ける 0, 1, 2, 3は、 Titlejumpの発生 (☆())、 activate(bobjjd)の通知 ( 1)、アプリ ケーシヨン管理テーブル参照 ( 2)、 Java (登録商標)仮想マシン 38に対するアプリケ ーシヨン起動指示 ( 3)と 、う一連の過程を模式化して示す。この起動指示により Java (登録商標)仮想マシン 38は、ローカルメモリ 26からワークメモリに xletプログラムを読 み出す ( 4,5)。
以上がアプリケーションマネージャ 36についての説明である。続いて User Event Manager37— Default Operation Manager40について、図 36を参照しながら説明す る。
User Event Manager37は、ユーザイベント処理部 22が受け付けたユーザイベント を、再生制御のためのユーザイベントと、キーイベントとに分離する。再生制御のため のユーザイベントとは、再生開始 (Play)、再生停止 (Stop)、一時停止 (Pause 0n)、一時 停止の解除 (Pause 011)、 Still機能の解除 (still off),速度指定付きの早送り (Forward Play(speed))、速度指定付きの巻戻し (Backward Play(speed))、音声切り換え (Audio Change),副映像切り換え (Subtitle Change),アングル切り換え (Angle Change)のどれ かを命じるユーザイベントである。一方キーイベントとは、 Pop- upキー, MoveUpキー ,MoveDownキー, MoveRightキー, MoveLeftキー, Numericキーのどれ力の押下を示す ユーザイベントである。そして再生制御のためのユーザイベントに基づき、再生制御 ファンクションを Playback Control Engine32に実行させるためのファンクションコール を行う。このファンクションコールは、 U0(User Operation)と呼ばれ、 HDMVモジュール 33、 BD-Jモジュール 35を介することなぐモジュールマネージャ 34における迂回路 にある UOコントローラ 37aを用いてなされる。これにより再生開始 (Play)、再生停止 (Stop),一時停止 (Pause 0n)、一時停止の解除 (Pause Off)というような再生制御は、 遅延なくなされること〖こなる。図中の 1,2,3は、 User Event Manager37による再生制 御ユーザイベントと、キーイベントとの分離 ( 1,2)、再生制御ユーザイベントに基づく Playback Control Engine32に対するファンクションコール ( 3)を模式的に示している
[0126] Java (登録商標)仮想マシン 38は、アプリケーションを構成する xletプログラムをヮー クメモリにロードして、 xletプログラムを解読し、解読結果に従って、下位層に対する制 御を行う。下位層への制御は、 JMFメソッドを図示しない BDミドルウェアに発行して、 BD再生装置が対応して!/、るファンクションコールに置き換させ、置換後のファンクショ ンコールを Playback Control Engine32に発行することでなされる。
[0127] Event Listner Manager39は、キーイベントを解析し、イベントの振り分けを行う。図 中の実線矢印 Ol,^2は、この Event Listner Manager39による振り分けを模式的に 示す。 xletプログラム内の Event Listnerに登録されたキーイベントなら、 BD-J Object により間接参照されている xletプログラムにかかるイベントを振り分ける。 xletプロダラ ムの Event Listnerには、 JMFに対応したキーイベントが登録されているので、本キー イベントにより xletプログラムの起動が可能になる。キーイベントが Event Listner非登 録のキーイベントである場合、本キーイベントを Default Operation Manager40に振り 分ける。 BD- ROM再生装置において生じるキーイベントには、 Event Listnerに登録さ れていない多様なものがあり、これらのキーイベントが生じたとしても、漏れの無い処 理を実行するためである。
[0128] Default Operation Manager40は、 xletプログラム内の Event Listnerに登録されてな いキーイベントが Event Listner Manager39から振り分けられると、その Event Listner 非登録イベントに対応するファンクションコールを Playback Control Engine32に対し て実行する。この Default Operation Manager40によるファンクションコールを模式的 に示したの力 図中の矢印 である。
[0129] PLMTプロセッサ 41は、アプリケーションマネージャ 36の一構成要素であり、モジュ ールマネージャ 34から activate(bobjjd)がなされれば、その bobjjdにより特定される BD-J Objectのプレイリスト管理テーブルを参照する。そして再生属性 =AutoPlayの PL力 その BD-J Objectのプレイリスト管理テーブル内に存在すれば、その
AutoPlayPLを再生するよう Playback Control Engine32に出力する。一方、 PLによる 再生終了を示す Notifyイベントを Playback Control Engine32が発行すれば、その発 行された時点を Title終了時点として解釈する。図中の Δ1,2は、 Playback Control Engine32に対する PlayPLファンクションのコール (Δ1)、 Playback Control Engine 32 力 の Notifyイベント出力 (Δ2)を模式化して!/、る。
[0130] 以上で BD-Jモジュール 35内のレイヤ構成についての説明を終える。尚、
Permission Controller42については、本実施形態における説明を割愛する。
Permission Controller42の処理内容は、本実施形態よりも第 3実施形態で詳述する のが望ましいからである。
< Java (登録商標)仮想マシン 38の内部構成 >
Java (登録商標)仮想マシン 38の内部構成について説明する。図 37は、 Java (登録 商標)仮想マシン 38の内部構成を示す図である。本図に示すように Java (登録商標) 仮想マシン 38は、図 32に示した CPU24と、ユーザクラスローダ 52、メソッドエリア 53 、ワークメモリ 54、スレッド 55a,b ' · ·η、 Java (登録商標)スタック 56a,b ' · ·ηとから構成 される。
[0131] ユーザクラスローダ 52は、 BDJAディレクトリの Java (登録商標)アーカイブファイルに おけるクラスファイルをローカルメモリ 26等力も読み出してメソッドエリア 53に格納す る。このユーザクラスローダ 52によるクラスファイル読み出しは、ファイルパスを指定し た読み出しをアプリケーションマネージャ 36がユーザクラスローダ 52に指示すること でなされる。ファイルパスがローカルメモリ 26を示しているなら、ユーザクラスローダ 5 2は、アプリケーションを構成する Java (登録商標)アーカイブファイルにおけるクラス ファイルを、ローカルメモリ 26からワークメモリ 54に読み出す。ファイルパスが Virtual File System30上のディレクトリを示しているなら、ユーザクラスローダ 52は、アプリケ ーシヨンを構成する Java (登録商標)アーカイブファイルにおけるクラスファイルを、 BD- ROM又は Local Storagel8からワークメモリ 54に読み出す。図 35に示したアプリ ケーシヨン起動制御 ( 3,4,5)は、このユーザクラスローダ 52によるクラスファイル読み 出しにより実現される。読み出しが指示されたクラスファイルがローカルメモリ 26にな い場合、ユーザクラスローダ 52は読み出し失敗をアプリケーションマネージャ 36に通 知すること〖こなる。
[0132] メソッドエリア 53は、ユーザクラスローダ 52によりローカルメモリ 26から読み出された クラスファイルが格納される。
ワークメモリ 54は、いわゆるヒープエリアであり、様々なクラスファイルのインスタンス が格納される。図 33に示したアプリケーションマネージャ 36、 Event Listner Manager 39は、このワークメモリ 54に常駐するレジデントアプリケーションである。ワークメモリ 5 4には、これらレジデント型のインスタンスの他に、メソッドエリア 53に読み出されたク ラスファイルに対応するインスタンスが格納される。このインスタンスが、アプリケーショ ンを構成する xletプログラムである。力かる xletプログラムをワークメモリ 54に配置する ことによりアプリケーションは実行可能な状態になる。図 33、図 35、図 36のレイァモ デルでは、このワークメモリ 54を Java (登録商標)仮想マシン 38上位層に記述して!/ヽ た。これはワークメモリ 54上のアプリケーションマネージャ 36及び Event Listner Manager39を、わ力り易く記述するための配慮に過ぎない。アプリケーションマネージ ャ 36及び Event Listner Manager39はインスタンスとしてスレッド 55a,b ' · ·ηにより実 行されるというの力 現実的な記述になる。
[0133] スレッド 55a,b ' · ·ηは、ワークメモリ 54に格納されたメソッドを実行する論理的な実行 主体であり、ローカル変数や、オペランドスタックに格納された引数をオペランドにし て演算を行い、演算結果を、ローカル変数又はオペランドスタックに格納する。図中 の矢印 kyl,ky2,kynは、ワークメモリ 54からスレッド 55a,b ' · ·ηへのメソッド供給を象徴 的に示している。物理的な実行主体力 CPU唯 1つであるのに対し、論理的な実行主 体たるスレッドは、最大 64個 Java (登録商標)仮想マシン 38内に存在し得る。この 64 個という数値内において、スレッドを新規に作成することも、既存のスレッドを削除す ることも可能であり、スレッドの動作数は、 Java (登録商標)仮想マシン 38の動作中に おいて増減し得る。スレッドの数は適宜増やすことができるので、複数スレッドにより 1 つのインスタンスの並列実行を行い、インスタンスの高速ィ匕を図ることもできる。本図 では CPU24と、スレッドとの対応関係は、 1対多の関係にしている力 CPUが複数ある 場合、 CPUとスレッドとの対応関係は多対多の関係になりうる。スレッド 55a,b ' · ·ηによ るメソッド実行は、メソッドをなすバイトコードを、 CPU24のネイティブコードに変換した 上、 CPU24に発行することでなされる。このネイティブコード変換については、本願の 主眼から外れるため、説明を省く。
[0134] Java (登録商標)スタック 56a,b ' · ·ηは、スレッド 55a,b ' · ·ηと 1対 1の比率で存在して おり、プログラムカウンタ (図中の PC)と、 1つ以上のフレームとを内部に持つ。 "プログ ラムカウンタ"は、インスタンスにおいて、現在どの部分が実行されているかを示す。 " フレーム"はメソッドに対する 1回のコールに対して割り当てられたスタック式の領域で あり、その 1回のコール時の引数が格納される"オペランドスタック"と、コールされたメ ソッドが用いる"ローカル変数スタック (図中のローカル変数)"とからなる。フレームは、 コール力 1回なされる度に Java (登録商標)スタック 56a,b ' · ·η上に積み上げられるの だから、あるメソッドが自身を再帰的に呼び出す場合も、このフレームは、 1つ積み上 げられること〖こなる。 JMFプレーヤインスタンスの再生メソッドをコールする場合、又は 、 JumpTitleAPIのコールをコールする場合にも、これらのコールに対応するフレーム 力 Uava (登録商標)スタック 56a,b ' · ·η上に積み上げられる。そしてこれらのフレーム のオペランドスタックには、再生メソッドによる再生の対象となる MPLSファイルのフアイ ル名、又は、 JumpTitleAPIのコールのジャンプ先を示す titlejd等が引数として格納さ れる。
[0135] 以上のように構成された Java (登録商標)仮想マシン 38の内部構成において、アブ リケーシヨンマネージャ 36及びその構成要素たる PLMT Prcessor41がどのような処理 を行うかを、詳細に説明する。
bobjjdの BD- J Objectの activateを要求するイベント (activatred[bobj_id])をモジユー ルマネージャ 34が出力すれば、ワークメモリ 54上の一インスタンスであるアプリケー シヨンマネージャ 36は、その bobjjdを有する BD-J Objectを新たにカレント BD-J Objectにする。そしてアプリケーションマネージャ 36は、分岐元タイトルにおける実行 状態と、カレント BD-J Objectにおけるアプリケーションの起動属性とを照合して、自 動起動すべきアプリケーション (0、自動終了すべきアプリケーション GOを判定する。
[0136] (0自動起動すべきアプリケーションの判定は、分岐前タイトルにお 、て非実行状態 であるが、カレント BD-J Objectにおいて AutoPlay属性を有するアプリケーションの aplijd_rel¾カレント BD-J Objectのアプリケーション管理テーブルから検索することで なされる。力かる apli jd_rel ^あれば、アプリケーション [aplijd_ref]につ!/、ての Java (登 録商標)アーカイブファイルに属するクラスファイルを、メソッドエリア 53に読み出よう ユーザクラスローダ 52に指示し、そのクラスファイルに対するインスタンスをワークメモ リ 54上に生成させる。こうしてカレントタイトルを生存区間としているアプリケーション が実行可能な状態になる。その後、アプリケーションにおけるメソッドをスレッド 55a,b ' • ·ηに実行させることで、アプリケーションを実行させる。
[0137] (ii)自動終了すべきアプリケーションの判定は、分岐元タイトルにお 、て実行状態で ある力 カレントタイトルにおいて生存区間を有しないアプリケーションの aplijcLrel^ カレント BD-J Objectのアプリケーション管理テーブル力も検索することでなされる。か 力る apli_id_rei¾あれば、力かるアプリケーションを構成する xletプログラムを終了させ る。これにより当該アプリケーションがワークメモリ 54上で占めていた領域や、そのァ プリケーシヨンのメソッド実行のための Java (登録商標)スタック 56a,b ' · ·ηにおけるフ レーム等のリソースが回収されることになる。
[0138] アプリケーションマネージャ 36の構成要素たる PLMT Prcessor41は、分岐元タイト ルにおける再生状態と、カレントタイトルにおけるプレイリストの再生属性とを照合して 、 自動再生すべきプレイリスト (0、自動終了すべきプレイリスト G0を判定する。
(0自動再生すべきプレイリストの判定は、分岐元タイトルにお 、て非再生状態であり 、カレントタイトルにお 、て AutoPlay属性に設定されて!、るプレイリストがプレイリスト管 理テーブル内に存在するカゝ否かの検索をプレイリスト管理テーブルに対して行うこと でなされる。もしあれば、再生すべきプレイリストの PL_id_re¾引数としたプレイリスト再 生のファンクションコールを実行する。このコールにより、引数たる !^」(1_ 1¾ォペラン ドスタックに格納したフレーム力 ¾ava (登録商標)スタック 56a,b ' · ·ηに生成される。そ してプレイリスト再生のファンクションコールをスレッド 55a,b' · ·ηが実行する。このファ ンクシヨンコール実行により Presentation Engine31はプレイリスト再生を開始する。
[0139] GO自動終了すべきプレイリストの判定は、分岐元タイトルにおいて再生中状態であ り、カレントタイトルのプレイリスト管理テーブルに記述されてないプレイリストが存在す る力否かの検索をプレイリスト管理テーブルに対して行うことでなされる。もしあれば、 そのプレイリストの再生停止を命じるファンクションコールを実行して、そのプレイリスト の再生のためのファンクションコールに対応するフレームを Java (登録商標)スタック 5 6a,b','nから削除する。
[0140] ワークメモリ 54上でのアプリケーション終了には、 4つの態様がある。図 38は、アプリ ケーシヨン終了の 4態様を示す図である。 1つ目は、リソースが枯渴したためアプリケー シヨンマネージャ 36による Terminateイベント発行によりアプリケーションが終了すると の態様 ( 1)、 2つ目は、他のアプリケーションが発行した Terminateイベントを、アプリ ケーシヨンマネージャ 36を介して受け付けて、終了するとの態様 ( 2)、 3つ目は、ァ プリケーシヨン管理テーブルに記述された生存区間が終了したため、アプリケーショ ンマネージャ 36が発行した Terminateイベントにより終了するとの態様 ( 3)、 4つ目は 、アプリケーションが自身の終了プロセスを起動することにより終了するとの態様であ る ( 4)。これらの 4つの態様のうち 3つもの力 アプリケーションマネージャ 36によりな されているため、アプリケーションマネージャ 36は、アプリケーション動作制御の中枢 を掌握することがわかる。仮に、 Terminateイベントの発行でもアプリケーションが終了 しない場合、アプリケーションマネージャ 36は、そのアプリケーションを強制終了させ て、使用しているリソースを明け渡させることができる。強権的なリソース解放を担うの も、アプリケーションマネージャ 36の 1つの特徴である。
[0141] 以上が BD-Jモジュール 35の構成要素である。
(フローチャートの説明)
以上のアプリケーションマネージャ 36についての説明は、その概要に触れたに過 ぎない。アプリケーションマネージャ 36の処理を更に詳しく示したのが図 39、図 40の フローチャートである。以降、これらのフローチャートを参照してアプリケーションマネ ージャ 36の処理手順についてより詳しく説明する。 [0142] 図 39は、アプリケーションマネージャ 36による処理手順を示す図である。本図にお ける処理手順は、ステップ S1—ステップ S 2—ステップ S3—ステップ S4力もなるメインル ープを有している。ステップ S1は、 Titlejumpがなされたか否かの判定であり、もしなさ れれば Title切り換えを行 、(ステップ S 7)、分岐先 Titleのアプリケーション管理テープ ルを参照することにより、分岐元 Titleで起動中で、分岐先 Titleで非生存のアプリケー シヨンを終了させる (ステップ S8)。一方、分岐先 Titleのプレイリスト管理テーブルを参 照することにより、分岐元 Titleで再生中で、分岐先 Titleで非生存となる PLの再生を 停止させる (ステップ S 9)。
[0143] そして、分岐元 Titleでは非再生状態、分岐先 Titleにおいて AutoPlay属性になって いる PLを PLMT Prcessor41に判定させる (ステップ S10)。もし存在すれば PLMT Prcessor41は AutoPlayPLを再生するよう Playback Control Engine32に指示する (ステ ップ Sl l)。もし存在しないなら、 AutoPlayPLは再生しない。
続くステップ S12—ステップ S18からなる一連の手順は、分岐先 Titleを生存区間と するアプリケーションの起動を実現する。この手順は、 AutoRunアプリケーションに対 して起動指示を行 、(ステップ S 14)、起動に成功すれば (ステップ S 15で Yes)、 AutoPlayPLの再生画像をクォータ (1/4)に変換する (ステップ SI 8)という手順を実現 するものである。
[0144] 一方このステップ S 15が Noであればステップ S 14—ステップ S 17からなるループ処 理を実行することになる。本ループ処理における制御変数は、再起動カウンタである 。再起動カウンタは、アプリケーションの再起動回数を規定するカウンタである。本再 起動カウンタは、ステップ S12においてリセットされ、ステップ S16において、 0か否か の判定がなされる。 0でない場合、ステップ S17において再起動カウンタはデクリメント される。以上のステップ S14、ステップ S15、ステップ S16、ステップ S17からなるルー プ処理により、再起動カウンタが 0でない限り、 AutoRunアプリケーションの起動は繰り 返されることになる。力かる繰り返しにより、アプリケーションの起動が保証されることに なる。
[0145] ステップ S2は、メインとなるアプリケーションが実行されてない状態かどうかの判定 であり、もしそうであれば、ステップ S5の判定を行う。ステップ S5は、アプリケーション が正常終了したかの判定である。もし異常終了していればステップ S19、ステップ S2 0の処理を実行する。正常終了していればステップ S 19—ステップ S 20を実行せず、 ステップ S1—ステップ S4からなるメインループに戻る。
[0146] ステップ S19は、 AutoPlayPLの再生中であるか否かの判定であり、もし再生中なら、 AutoPlayPLの再生画像をフルスクリーン化するよう Playback Control Engine32に指 示する (ステップ S20)。その後、ステップ S 16に移行する。ステップ S 16への移行によ り、異常終了時においてもステップ S 14—ステップ S 17からなるループ処理が実行さ れることになる。これによりステップ S 12において設定された再起動カウンタの回数が 0になるまで、アプリケーションの再起動は繰り返されることになる。
[0147] ステップ S4は、 BDドライブ 1に BD- ROMが存在しているか否かの判定であり、もし BD-ROMが存在しなければ、全てのアプリケーションに対し、終了指示を発する (ステ ップ S6)。
図 40は、プレイリスト管理テーブル、アプリケーション管理テーブルの具体例を示す
。図 40の第 1段目は、 Titleの再生映像を示し、第 2段目は、 Titleの時間軸を示す。第
3段目は PL再生の進行、第 4段目は、アプリケーション実行を示す。第 4段目において application#lは、 Titleの開始と共に起動されており、その後、時点 tlにおいて動作状 態になる。一方 PlayList#lは、 Titleの開始と共に再生が開始されている。 Playlist#lの 再生は、 Titleの開始と同じ時点に開始されているので、第 1段目の左側に示すように
、 Titleの再生開始直後から、アプリケーションが動作状態になるまでのスタートアップ ディレイにおいて、プレイリストの再生画像 gjlがフルスクリーン表示される。一方、 applicationsは、時点 tlで動作状態になるので、 PL再生画像を子画面、アプリケー シヨンの実行画像を親画面にした合成画像 gj2が時点 tlにお ヽて表示されることにな る。アプリケーションの実行画像は、 Startボタン, continueボタン, POWERインディケ一 タを配置したゲーム用の画面であり、 Interactive Graphicsプレーン 12に対する描画 処理を Java (登録商標)アプリケーションが実行することでなされる。 Java (登録商標) アプリケーション力 Sかかる描画処理を行うには、グラフィクス描画や文字描画のための ライブラリが必要になる。以降アプリケーション実行と PL再生とが同時になされる限り 、親子画面の表示は継続する。 [0148] その後 applicationsが異常終了してしまい、時点 t2においてアプリケーションマネ ージャ 36がこの異常終了を検知したとする。矢印 brlは、この検知を象徴的に示す。 そうするとステップ S 20においてアプリケーションマネージャ 36は、 PLの再生画像を フルスクリーンにする。図中の時点 t3は、このフルスクリーン化のタイミングを示す。図 中の第 1段目の右側に、フルスクリーンィ匕で得られた画像 gj3を示す。
[0149] 以上のように本実施形態によれば、プレイリスト管理テーブルの再生属性を、 "
AutoPlay"に設定しておくことにより、 Java (登録商標)アプリケーションが動作状態に なるまで 5— 10秒という時間が力かったとしても、その間、 "とりあえず何かが写ってい る状態"になる。この"とりあえず何かが写っている状態"によりタイトル実行開始時の スタートアップディレイを補うことができる。
[0150] また、アプリケーションの起動に失敗したり、アプリケーションが異常したとしても、プ レイリスト管理テーブルで規定されたプレイリストの再生を継続することにより、"とりあ えず何かが写っている状態"になる。これにより、装置がブラックアウトしてしまうという 最悪ケースを回避することができるので、装置を製造するメーカに、最低限度の安心 感を与えることができる。
[0151] (第 2実施形態)
第 2実施形態は、エラー終了時におけるリカノ リー処理を、ォーサリング時に規定し ておくための改良に関する。力かるリカノ リー処理を規定するため、本実施形態に係 る記録媒体では、 1つの BD-J Object内にエラー管理テーブルを設けている。 041 (a )は、第 2実施形態に係る BD-J Objectの内部構成を示す図である。本図に示すよう に、 BD-J Objectにはアプリケーション管理テーブル、プレイリスト管理テーブルの他 に、エラー管理テーブル (Error Maangement Table[bobj_id])が追加されている。図 41 (b)は、エラー管理テーブルの内部構成を示す図である。本図に示すように、エラー 管理テーブルは、 Number_of_recovery個のリカバリー情報 (recoveryO)からなる。識別 子 recovery jdで特定される、任意のリカバリー情報の内部構成を、引き出し線 emlに てクローズアップしている。この引き出し線によるとリカノくリー情報は、リカバリー情報 に対応するアプリケーションの識別子を、一意に特定する参照値『Apli_id_ref』、『 Restart— Application— flag』、 Uし ontinuous— Playback— flag』、『¾eiect— Title— flag』、『 Notify_Event_flag』、『Reboot_flag』という 5つの flagからなる。図 42は、これら 5つのフラ グの意味内容を示す。以降エラー管理テーブルにおける各フラグの意味内容につい て説明する。
[0152] 『Restart_Application_flag』は、 0に設定されることにより異常終了時に再起動しない ことを示す。 0以外の整数値 nに設定されることにより、再起動を n回繰り返すことを示 す。デフォルト値として本 flagは、 0に設定されている。
『Continuous_Playback_flag』は、 0に設定されることにより異常終了時に PL再生を継 続しないことを示す。整数値 1に設定されることにより、異常終了時に PL再生を継続 することを示し、 2に設定されることにより、異常終了時に、フルスクリーン '一倍速で PL再生を継続することを示す。デフォルト値として本 flagは、 0に設定されている。
[0153] 『Select_Title_flag』は、 0に設定されることにより異常終了時に Title分岐を行わないこ とを示す。 0以外の整数値 nに設定された場合、 Title番号 nにより特定される Titleに Jumpすることを示す。デフォルト値として本 flagは、 0に設定されている。
『Notify_Event_flag』は、 0に設定されることにより異常終了時に、イベントを出力しな いことを示す。 0以外の整数値 nに設定された場合、イベント番号 nのイベントを出力す ることを示す。デフォルト値として本 flagは、 1に設定されている。
[0154] 『Reboot_flag』は、 0に設定されることにより異常終了時に、再生装置のブートストラッ プを行わないことを示す。整数値 1に設定された場合、ブートストラップを行うことを示 す。
以上の flagが存在するので、アプリケーションが異常終了した際、どのようなリカバリ 処理を実行するかをォーサリング時に予め規定しておくことができる。 エラー管理テ 一ブル記述の具体例について説明する。図 43 (a)は、エラー管理テーブルが記述さ れた 2つの Title(title#l、 title#2)を示す図である。 title#lのアプリケーション管理テー ブルには、 AutoRunアプリケーションとして applicationsが記述されており、 title#lの エラー管理テーブルにはこの application#lが異常終了した際に用いられるべき Recovery情報が記述されている。 title#lのプレイリスト管理テーブルには、 AutoPlay プレイリストとして PlayList#lが記述されて!、る。
[0155] title#2側のアプリケーション管理テーブルには AutoRunアプリケーションとして applicationsが記述されており、 title#2側のエラー管理テーブルには、この applicationsに対する Recovery情報が記述されて!、る。
図 43 (b)は、図 43 (a)のように記載されたアプリケーション管理テーブル、エラー管 理テーブルに基づくアプリケーション実行及びプレイリスト再生の進行を示す。
application#lにつ!/、ての Recovery†青報は、し ontinuous— PlayDacK— Flag=2と己 i bされ ているため、 applicationsの異常終了時にはプレイリスト再生が一倍速、フルスクリー ンにより継続することになる。
[0156] 一方 applicationsにつ 、ての Recovery情報は、 Notify_Event_Flag=2と記述されて!ヽ るので、 applicationsの異常終了には、番号 =2のイベントを出力することになる。 以上のような Recovery情報の記述により、アプリケーションが異常終了した際の処 理を、 Title毎、アプリケーション毎に変化させることができる。
BD-J Objectにおいて上述したエラー管理テーブルが追加されたため、本実施形 態に係るアプリケーションマネージャ 36は図 44、図 45のフローチャートに従って処理 を行う。図 44は、第 2実施形態に係るアプリケーションマネージャ 36の処理手順を示 すフローチャートである。本フローは、図 39同様、ステップ S1—ステップ S4をメイン ループにしている。このメインアプリにおいてタイトルが選択された際の処理は、ステ ップ S21—ステップ S27に示されるものとなる。
[0157] ステップ S21では、分岐先 Titleにプレイリスト管理テーブルが存在するか否かの判 定を PLMT Prcessor41に行わせる。もし存在すれば、分岐元 Titleにおいて非再生状 態だが、分岐先 Titleにお!/、て AutoPlay属性になって!/、る PLの再生を Playback Control Engine32に開始させて (ステップ S22)、その再生が成功したかどうかを判定 する (ステップ S23)。もし成功すればステップ S25—ステップ S28の処理を行う。成功 しなければ図 45のフローチャートに移行する。
[0158] 分岐先 Titleにプレイリスト管理テーブルがない場合は、分岐元 Titleにおいて再生 状態であった PLの再生を Playback Control Engine32に停止させて (ステップ S24)、 ステップ S25—ステップ S28の処理を行う。
ステップ S25は、分岐先 Titleにアプリケーション管理テーブルが存在するか否かの 判定である。もし存在すれば、分岐先アプリケーションにおける AutoRunアプリケーシ ヨンを起動して (ステップ S26)、ステップ S27において起動に成功した力否かを判定 する。成功すればステップ S1—ステップ S4のループ処理に戻る。成功しなければ図 45のフローチャートに移行する。
[0159] 図 45のフローチャートは、アプリケーションが異常終了した場合の処理手順を示す フローチャートである。ステップ S30は、異常終了したアプリケーションが属する Title に、エラー管理テーブルが存在するか否かの判定であり、もし存在しなければステツ プ S1—ステップ S4からなるループ処理に戻る。
存在すれば、ステップ S31—ステップ S44の処理を経た上でステップ S1—ステップ S4力もなるループ処理に戻る。ステップ S31は、エラー管理テーブルにおける Restart_Application _flag力 SOでな!/、かの判定である。 0でなければ、ステップ S40—ス テツプ S44からなるループ処理を実行する。このループ処理は、
Restart_Application_flagの値 nを再起動カウンタに設定して (ステップ S40)、ステップ S 41一ステップ S44のループ処理を実行すると!/、うものである。このループ処理の制御 変数は再起動カウンタであり、この再起動カウンタ力 になること (ステップ S41で Yes) 、及び、アプリケーションの起動に成功したこと (ステップ S44で Yes)が本ループ処理 の終了条件である。本ループ処理では、これらのステップ S41、ステップ S44力 。で ある限り、再起動カウンタをデクリメントして (ステップ S42)、 AutoRunアプリケーション を起動すると 、う (ステップ S43)を繰り返す。こうした繰り返しにより異常終了にお!/ヽて 、アプリケーションの再起動がなされるのである。 Restart_Application_flag力 であれば 、ステップ S32を実行する。
[0160] ステップ S32は、 Continuous_Playback_flag力 SOである力 1である力、、 2であるかを判 定するステップである。もし 2であれば、 AutoPlayPLの再生画像をフルスクリーン表示 にして (ステップ S33)、ステップ S 1—ステップ S4からなるメインループに戻る。
もし 1であれば、 AutoPlayPLの再生画像をクォータ表示にしたまま (ステップ S34)、 ステップ SI—ステップ S4からなるメインループに戻る。
[0161] もし 0であれば、ステップ S35に移行する。
ステップ S35は、エラー管理テーブルの selev itle _flag力 でな!/、か否かの判定で あり、もし 0であるならステップ S37に移行する。 0でないなら、 selevt_title_flagの値 nを 分岐先 Titleにして (ステップ S36)、図 44のステップ S7に移行する。
ステップ S37は、エラー管理テーブルの Notify_Event_flag力^でな!、か否かの判定 であり、もし 0であるならステップ S39に移行する。 0でないなら、 Notify_Event_flagの値 nから特定されるイベント nを発生して (ステップ S 38)、図 44のステップ S1—ステップ S 4のメインループに移行する。ステップ S39は、エラー管理テーブルの Boot_flag力 SOで な!、か否かの判定であり、もし 0であるならステップ S1—ステップ S4からなるメインノレ ープに移行する。 0でないなら、図 44の先頭に移行して、再生装置のブートストラップ を実行する。
[0162] 以上のように本実施形態によれば、アプリケーションがエラー終了した際、再生装 置はどのような処置をとるべきかを、装置側の製造者ではなぐォーサリング担当者が 規定しておくことができる。
尚、エラー管理テーブルをもたないタイトルの再生時においてアプリケーションの異 常終了が発生した場合に、リカバリー処理を行うようなプログラムを再生装置に組み 込んでいてもよい。
[0163] また Restart_Application_Flag— Rboot_Flagのどれかを指定するような引数を
TitleJumpAPIに設けておき、この引数に応じたリカバリー処理をアプリケーションマネ ージャ 36に実行させてもよ!、。
(第 3実施形態)
第 1実施形態において Java (登録商標)仮想マシンにおける PL再生は、 BD-J Object内のプレイリスト管理テーブルを用いて規定することができた。これに対し本実 施形態では、アプリケーションの JMFメソッドによる PL再生を主眼としている。ここで問 題になるのがプレイリスト管理テーブルである。つまり PLを再生してょ 、か否かは、 BD-J Object毎のプレイリスト管理テーブルに記述されているから、ある Titleでは再生 可能であるが、別の Titleでは再生不可能になることがある。また PL再生は可能であつ たとしても、著作権保護の観点から、ある種のアプリケーションからの再生を禁じたい 場合がある。かかる PL再生の制限を実現するため、第 3実施形態では、 Permission Controller42、アプリケーションマネージャ 36が以下の処理を行う。
[0164] パーミッションコントローラ 42は、どれかのアプリケーション力 PL再生を要求した場 合、そのアプリケーションと相互認証を行い、要求元アプリケーションに PLの再生権 限があるかどうかを判定する。もしあれば、当該再生を Playback Control Engine32に 要求し、なければ不許可を示す応答イベントを要求元アプリケーションに出力する。 この Permission Controller42による許否判定により、ある配給会社の配給に力かる PL を、別の配給会社の配給に力かるアプリケーションが要求したとしても、かかる要求を 不許可にすることができる。そのため、正当権限なきアプリケーションによる PLの無断 引用を避けることができる。許可とすべき PLとアプリケーションとの組合せ、不許可と すべき PLとアプリケーションとの組合せは、別途 BD- ROMに記録された Permissionフ アイルに規定されており、 Permission Controller42による判定はこれに基づく。かかる ファイルの詳細は本願の主眼ではないので説明を省略する。
[0165] 第 3実施形態においてアプリケーションマネージャ 36は、現在の再生時点において 再生可能な PLを、アプリケーションからの要求に応じて通知する。図 46は、このァプ リケーシヨンマネージャ 36による通知処理の処理手順を示すフローチャートである。 本フローチャートでは、アプリケーションの起動中において、再生可能な PLの通知を 求める要求 (GetPL)をアプリケーションが発行したか否かの監視を行っている (ステツ プ S45)。もし発行されれば、現在の再生時点が属している Titleを構成する BD-J Objectに、プレイリスト管理テーブルが存在するか否かを判定する (ステップ S46)。 PL の記述があれば、プレイリスト管理テーブルに記述された PLを再生可能な PLとして要 求元のアプリケーションに通知する (ステップ S47)。
[0166] PLの記述がなければ、 PL再生が不可能な旨を発行元アプリケーションに通知する( ステップ S48)。以上が第 3実施形態に係るアプリケーションマネージャ 36の処理手 順である。
続!、て PL再生が要求された場合のアプリケーションマネージャ 36の処理につ!、て 説明する。第 3実施形態に係るアプリケーションマネージャ 36は、図 47のフローチヤ ートに従って処理を行う。
[0167] 図 47においてアプリケーションマネージャ 36は、 PL再生を要求したアプリケーショ ンが存在するか否かの判定を行っている (ステップ S51)。どれかのアプリケーションが PL再生を要求すれば、要求元アプリケーションに PL再生の権利が存在するか否か の認証を Permission Controller42に行わさせる (ステップ S52)。もし再生する権利が あれば、 Playback Control Engine32に再生開始を指示して (ステップ S53)、 Playback Control Engine32からのサクセス応答を待つ (ステップ S54)。
[0168] 力かる再生要求があると Playback Control Engine32は、プレイリスト情報の正当性 をチェックする。力かる正当性チェックには、プレイリスト情報、 Clip情報、 AVClipが存 在する BD-ROM及び Local Storage 18において、正当なプレイリストを構成しているか というチェックやプレイリスト情報における clip_Information_file_nameにより指定される Clip情報及び AVClipが BD- ROM及び Local Storage 18に現存するか否かと!/、うチェッ クがある。 clip_Information_file_nameにより正し!/、ファイルが参照されて!、な!/、場合、又 は、 BD- ROM及び Local Storagel8から構成される仮想的なパッケージに矛盾があり 、正しプレイリストを構成することができない場合、 Playback Control Engine 32は false を示す応答を返すことになる。また要求元アプリケーションより、高い起動優先度をも つアプリケーションがその PLを再生しており、 PL再生を実現するリソースにおいて競 合が生じている場合最も Playback Control Engine32は、 falseを示す応答を返す。
[0169] 以上の過程を経てサクセス応答があれば、 PL再生成功を示すイベントを要求元ァ プリケーシヨンに出力する (ステップ S55)。
サクセス応答がなければ、 PL再生失敗を示すイベントを要求元アプリケーションに 出力する (ステップ S56)。一方、ステップ S52において要求元アプリケーションを再生 する権利が要求元アプリケーションになければ、 PL再生不可を示すイベントを要求元 アプリケーションに出力する (ステップ S57)。
[0170] 以上のように本実施形態によれば、プレイリスト再生可否が各 Title毎でバラバラで あり、プレイリスト再生の権限をもったアプリケーションやそうでないアプリケーション等 様々なアプリケーションがあつたとしても、適切なプレイリスト再生を、アプリケーション 力もの要求に応じて実行することができる。そのため、アプリケーション実行と、プレイ リスト再生とを組み合わせた、多彩なコンテンツ表現が可能になる。
[0171] (第 4実施形態)
第 1実施形態では、 Title開始時において、再生を開始したいプレイリストに AutoPlayを示す再生属性を付与して、 AutoPlayPLの再生を再生装置に命じて!/、た。 これに対し本実施形態では、アンバウンダリーアプリケーションを BD-ROMに記録し ておき、 Title開始時にあたって、自動的に再生を開始すべき Titleをアンバウンダリー アプリケーションに選択させる改良に関する。
[0172] アンバウンダリーアプリケーションは、 Playback Control Engine32のような、再生装 置におけるレジデントアプリケーションと対等な立場にあるアプリケーションであり、プ レイリスト管理テーブルに記述されている複数プレイリスト情報の中から再生装置側 の PSR設定値に合致するものを選び、通知するとの処理を Playback Control Engine3 2からの要求に応じて実行する。
[0173] PL選択をアンバウンダリーアプリケーションに行わせる場合、かかる選択が必要な Titleにあたっては、プレイリスト管理テーブルにおける再生属性を、全て無指定に設 定しておく。これは、 "全てが無指定"であることを合図に、 Playback Control Engine3 2に PL選択をタイトルアンバウンダリーアプリケーションに要求させるためである。 このアンバウンダリーアプリケーションによる選択は、ォーサリング時に規定された 選択アルゴリズムに基づく。図 48 (a)—(c)は、アンバウンダリーアプリケーションに組 み込まれた選択アルゴリズムの内容を表形式に示す図である。この表は、 PSRの値が 取り得る値の範囲と、 PSRがそれらの値になった際、再生すべき PLとを対応付けて示 している。このうち図 48 (a)は、パレンタルレベルに基づく選択アルゴリズムの内容を 示す。ここでパレンタルレベルは、再生装置において PSR(14)に示されている。具体 的にいうと、 PSR(14)には、ユーザの年齢を示す整数値が設定されており、これを再生 装置はパレンタルレベルとして解釈する。図 48 (a)において、 PSR(14)がとりうる値は、 14歳未満、 14歳以上 18歳未満、 18歳以上という 3つの範囲に分けられている。そして これらの範囲毎に、再生すべき PLが対応づけられている。アンバウンダリーアプリケ ーシヨンが力かる選択アルゴリズムによる選択を行えば、 PSRの設定値が 14歳未満な ら PlayList#lが、 14以上 18歳未満なら PlayList#2が、 18歳以上なら PlayList#3がそれ ぞれ選択されることになる。
[0174] 図 48 (b)は、 Languege for Audioに基づく選択アルゴリズムの内容を示す。ここで Languege for Audioは、再生装置において PSR(16)に示されている。具体的にいうと、 PSR(16)には、整数値が設定されており、これを再生装置は音声再生用の言語設定と して解釈する。図 48 (b)において、 PSR(16)がとりうる値は、英語を示す値、日本語を 示す値、その他の値という 3つの範囲に分けられている。そしてこれらの範囲毎に、再 生すべき PLが対応づけられて 、る。アンバウンダリーアプリケーションが力かる選択 アルゴリズムによる選択を行えば、 PSR(16)の設定値が英語を示すなら PlayList#lが、 日本語を示すなら PlayList#2力 英語、日本語以外の値なら PlayList#3がそれぞれ選 択されること〖こなる。
[0175] 図 48 (c)は、 Player Configuration for Videoに基づく選択アルゴリズムの内容を示 す。ここで Player Configuration for Videoは、再生装置において PSR(14)に示されてい る。具体的にいうと、 PSR(14)には、整数値が設定されており、これを再生装置は映像 再生用の環境設定として解釈する。図 48 (c)において、 PSR(14)がとりうる値は、解像 度 525 X 600 TVsystem LetterBox 解像度 525 X 600 TVsystem、 1920 X 1080 TVsystemという 3つの範囲に分けられている。そしてこれらの範囲毎に、再生すべき PLが対応づけられている。アンバウンダリーアプリケーションが力かる選択アルゴリズ ムに従って選択を行えば、 PSR(14)の設定値が解像度 525 X 600 TVsystem
LetterBoxを示すものなら PlayList#l力 解像度 525 X 600を示すものなら PlayList#2が 、 TVsystem, 1920 X 1080 TVsystemを示すものなら PlayList#3がそれぞれ選択され ることになる。図 48 (a)—(c)に示したような選択アルゴリズムは、これらの図に示され る条件分岐を、コンピュータ記述言語で記述することにより作成することができる。
[0176] 以上が本実施形態に係る記録媒体の改良である。続いて本実施形態に係る再生 装置の改良について説明する。本実施形態での改良点は。主としてアプリケーション マネージャ 36、 Playback Control Engine32にある。
アプリケーションマネージャ 36は、 Titleの分岐が生じ、プレイリスト管理テーブルを 参照した際、そのプレイリスト管理テーブルに AutoPlayPLが存在するカゝ否かを判定す る。 AutoPlayPLが無ければ、プレイリスト管理テーブルを Playback Control Engine32 に引き渡して、このプレイリスト管理テーブルに記載されている PLのうち、どれかを自 動的に再生するよう Playback Control Engine32に要求する。
[0177] Playback Control Engine32は、プレイリスト管理テーブルの引き渡しを受ければ、ァ ンバウンダリーアプリケーションに対し、 PL選択を行うよう要求する。この要求に応じて アンバウンダリーアプリケーション力も再生可能な PLのリストが通知されれば、その PL リストに記載された PLのうち、 Playltemから引き渡されたプレイリスト管理テーブルに存 在するものを判定する。アンバウンダリーアプリケーションにより選択された PLの中に 、プレイリスト管理テーブルに記載されたものがあれば、それの再生を自動的に開始 する。
[0178] 図 49は、タイトルアンバウンダリーアプリケーションに PL選択を行わせる過程を模式 的に描いた図である。本図の左側は再生装置におけるソフトウェアのレイヤ構成を示 し、本図の右側に、 BD- ROMの記録内容を示す。図中の ©1,2,3,4は、 AutoPlayがな いプレイリスト管理テーブルを発見した場合の、アプリケーションマネージャ 36からの 通知 (©1)、 Playback Control Engine32による再生可能 PLの問合せ ((§)2)、タイトルァ ンバウンダリーアプリケーションによる PSR設定値取得 ((§)3)、タイトルアンバウンダリー アプリケーションから Playback Control Engine32への再生可能な PLの通知 ((§)4)を模 式的に描いている。
[0179] 尚、図 49においてタイトルアンバウンダリーアプリケーションは、 BD- ROM上に記述 していたが、これはタイトルアンバウンダリーアプリケーションを、わかり易く記述する ための配慮に過ぎない。タイトルアンバウンダリーアプリケーションは、 Java (登録商標 )アプリケーションであるので、 Java (登録商標)仮想マシン 38内のワークメモリ 54に おいてインスタンスとしてスレッド 55により実行されるというの力 現実的な記述になる
[0180] 以上のように本実施形態によれば、 Titleのバウンダリで生存しているようなアプリケ ーシヨンに、上述したような判定を行わせるので、再生装置側の Playback Control Engine32は、 BD-ROMにおける複数 PLのうち、再生装置側の状態設定に応じたもの はどれであるかを、 Title開始時の早い段階で知得することができる。再生属性 = AutoPlayのアプリケーションを決めておかなくても、 Title開始時に再生を開始すべき PLを決定することができるので、ラングエージクレジットゃパレンタルロックと 、つた再 生制御を BD-Jモードにおいても実現することができる。
[0181] 尚、本実施形態における選択アルゴリズムは、 PSRがとり得る値をプレイリストに対応 づけたが、再生装置における PSRの設定値が、想定外の値であった場合に、再生装 置に再生させるプレイリストを予め規定してぉ 、てもよ 、。
(第 5実施形態)
第 4実施形態においてタイトルアンバウンダリーアプリケーションは、 PSRの設定値 に応じて再生すべき PLを選択すると 、う選択アルゴリズムを有して 、たが、本実施形 態に係るタイトルアンバウンダリーアプリケーションは、 1つの PL内にマルチアングル 区間がある場合、当該マルチアングル区間における複数アングルのどれかを選ぶと の処理を、タイトルアンバウンダリーアプリケーションに行わせる改良に関する。本実 施形態に係るタイトルアンバウンダリーアプリケーションは、 PSRがとりうる値の複数の 範囲と、それら範囲毎に再生すべきアングルとを対応づけたものである。本実施形態 において現在の再生時点がマルチアングル区間であると Playback Control Engine32 はタイトルアンバウンダリーアプリケーションに対し、何れのアングルを再生するかの 問い合わせを行う。力かる問い合わせがあれば、タイトルアンバウンダリーアプリケー シヨンは現在における PSR設定値を取得し、選択アルゴリズムを実行して、取得した設 定値に応じたアングルを選択する。その選択結果を Playback Control Engine32に通 知してそのアングルの再生を Playback Control Engine32に行わせる。
以上のように本実施形態によれば、 PSRがどの値であるとき、どのアングルを選択す るというアルゴリズムを、ォーサリング担当者が規定しておくことができるので、アング ルを応用した様々なアプリケーションをォーサリング担当者は作り出すことができる。
(第 6実施形態)
BD-Jモードにぉ 、て、 PL再生との同期をどのように実現するかと 、う改良に関する 。 Playback Control Engine32は、 PlayPLAPIファンクションがコールされれば、 PL情報 に基づく処理手順を実行する。 PLが 2時間という再生時間を有するなら、この 2時間の 間、上述した処理は継続することになる。ここで問題になるのは、 Java (登録商標)仮 想マシン 38がサクセス応答を返す時間と、 Playback Control Engine32が実際に処理 を終える時間とのギャップである。 Java (登録商標)仮想マシン 38は、イベントドリブン の処理主体であるためコール直後に再生成功か、再生失敗かを示す応答を返すが 、 Playback Control Engine32による実際の処理終了は 2時間経過後であるので、サク セス応答をアプリケーションに返す時間を基準にしたのでは、 2時間経過後にあたる 処理終結を感知しえない。 PL再生において早送り、巻戻し、 Skipが行われると、この 2 時間という再生期間は 2時間前後に変動することになり、処理終結の感知は更に困難 になる。
[0183] Playback Control Engine32は、アプリケーションとスタンドアローンで動作するため 、アプリケーションマネージャ 36は、 PL再生の終了時点を正確に解釈することができ ない。そこで本実施形態では、アプリケーションが終了してようがいまいが、ワークメモ リに JMFプレーヤインスタンスがある限り、つまり、 Presentation Engine31の制御権を BD- Jモジュール 35が掌握している間、 Playback Control Engine32から Notifyイベント を待つ。そして Notifyイベントがあれば、タイトルが終了したと解釈して、次のタイトル への分岐を行うようモジュールマネージャ 34に通知する。こうすることにより、 Playback Control Engine32が PL再生を終結した時点を、タイトルの終端とすることができる。
[0184] 以降図 50—図 54のフローチャートを参照して、 Playback Control Engine32による 具体的な制御手順を説明する。
図 50は、 Playback Control Engine32による PL再生手順を示すフローチャートであ る。この再生手順は、 Presentation Engine31に対する制御 (ステップ S 106)と、 BD- ROMドライブ 1又は Local Storage 18に対する制御 (ステップ SI 08)とを主に含む 。本フローチャートにおいて処理対象たる Playltemを Playltemfeとする。本フローチヤ ートは、カレント PL情報 (.mpls)の読み込みを行い (ステップ S101)、その後、ステップ S 102—ステップ S110の処理を実行するというものである。ここでステップ S 102—ステ ップ S 110は、ステップ S109が Yesになるまで、カレント PL情報を構成するそれぞれ の PI情報について、ステップ S103—ステップ S110の処理を繰り返すというループ処 理を構成して 、る。このループ処理にぉ 、て処理対象となる Playltemを、
PlayItem#x(PI#x)とよぶ。この Playltemfeは、カレント PLの先頭の Playltemに設定され ることにより、初期化される (ステップ S 102)。上述したループ処理の終了要件は、この Playltemfeがカレント PLの最後の Playltemになることであり (ステップ S 109)、もし最後 の Playltemでなければ、カレント PLにおける次の Playltemが Playltemfeに設定される( ステップ S 110)。
[0185] ループ処理において繰り返し実行されるステップ S 103—ステップ S 110は、 Playltemfeの Clip_information_file_nameで指定される Clip情報をシナリオメモリ 25に読 み込み (ステップ S 103)、 Playltemfeの In_timeを、カレント Clip情報の EPmapを用いて 、 Iピクチャアドレス uに変換し (ステップ S 104)、 Playltemfeの OuUimeを、カレント Clip 情報の EP_mapを用いて、 Iピクチャアドレス vに変換して (ステップ S 105)、これらの変 換で得られたアドレス Vの次の Iピクチャを求めて、そのアドレスの 1つ手前をアドレス w に設定し (ステップ S 107)、そうして算出されたアドレス wを用いて、 Iピクチャアドレス u からアドレス wまでの TSパケットの読み出しを BD- ROMドライブ 1又は Local Storage 18 に命じるというものである (ステップ SI 08)。
[0186] 一方、 Presentation Engine 31に対しては、カレント PLMarkの mark_time_stampから Playltemfeの OuUimeまでの出力を命じる (ステップ S106)。以上のステップ S 105— ステップ S108により、 AVClipにおいて、 Playltemfeにより指示されている部分の再生 がなされることになる
その後、 Playltemfeがカレント PLの最後の PIであるかの判定がなされる (ステップ S1 09)。
[0187] Playltemfeがカレント PLの最後の PIでなければ、カレント PLにおける次の Playltemを 、 Playltemfeに設定して (ステップ S 110)、ステップ S 103に戻る。以上のステップ S 10 3—ステップ S110を繰り返することにより、 PLを構成する PIは順次再生されることにな る。
図 51は、アングル切り換え手順及び SkipBack,SkipNextの手順を示すフローチヤ一 トである。本フローチャートは、図 50の処理手順と並行してなされるものであり、ステツ プ SI 11— S 112力もなるループ処理を繰り返すと!、うものである。本ループにおける ステップ S111は、アングル切り換えを要求する API力 Java (登録商標)仮想マシン 3 8からコールされたか否かの判定であり、アングル切り換え APIのコールがあれば、力 レント Clip情報を切り換えると 、う操作を実行する。
[0188] 図 51のステップ S 115は、判定ステップであり、 Playltemfeの is— multi— anglesがオン であるか否かの判定を行う。 is_multi_anglesとは、 Playltemfeがマルチアングルに対応 して 、るか否かを示すフラグであり、もしステップ S 115が Noであるならステップ S 113 に移行する ステップ SI 15力 SYesであるなら、ステップ S 116—ステップ S 119を実行 する。ステップ S116—ステップ S119は、切り換え後のアングル番号を変数 yに代入 して (ステップ S116)、 Playltemfeにおける y番目の Clip_information_file_nameで指定さ れている Clip情報をシナリオメモリ 21に読み出し (ステップ S117)、カレント PTMを、力 レント Clip情報の EP_mapを用いて Iピクチャアドレス uに変換し (ステップ S118)、 Playltemfeの OuUimeを、カレント Clip情報の EP_mapを用いて Iピクチャアドレス vに変 換する (ステップ S 119)というものである。こうして Iピクチャアドレス u,vを変化した後、 同時実行されている図 50側の処理を停止させた上でステップ S106に移行する。ス テツプ S106への移行により、別の AVClipから TSパケットが読み出されるので、映像 内容が切り換わることになる。
[0189] 一方、図 51のループにおけるステップ S112は、 SkipBack/SkipNextを意味する API 力 Uava (登録商標)仮想マシン 38からコールされたか否かの判定であり、もしコールさ れれば、図 52のフローチャートの処理手順を実行する。図 52は、
SkipBack,SkipNextAPIがコールされた際の処理手順を示すフローチャートである。 SkipBack,SkipNextを実行するにあたっての処理手順は多種多様なものである。ここ で説明するのはあくまでも一例に過ぎないことに留意されたい。
[0190] ステップ S121は、 PSRで示されるカレント PI番号、及び、カレント PTMを変換するこ とにより、カレント Mark情報を得る。ステップ S 122は、押下されたのが SkipNextキー であるか、 SkipBackキーであるかの判定であり、 SkipNextキーであるならステップ S 12 3にお!/、て方向フラグを +1に設定し、 SkipBackキーであるならステップ S 124にお!/、て 方向フラグを- 1に設定する。
[0191] ステップ S125は、カレント PLMarkの番号に方向フラグの値を足した番号を、カレン ト PLMarkの番号として設定する。ここで SkipNextキーであるなら方向フラグは +1に設 定されて!/、るのでカレント PLMarkはインクリメントされることになる。 SkipBackキーであ るなら方向フラグは- 1に設定されて 、るので、カレント PLMarkはデクリメントされること になる。
[0192] ステップ S 126では、カレント PLMarkの reむ o_PlayItem_Idに記述されて!、る PIを、
Playltem#xに設疋し、スァップ; 5127で i 、 Playltenwxのし lip— information— file— nameで 指定される Clip情報を読み込む。ステップ S 128では、カレント Clip情報の EP_mapを 用いて、カレント PLMarkの mark_time_stampを、 Iピクチャアドレス uに変換する。一方ス テツプ S129では、 Playltemfeの OuUimeを,カレント Clip情報の EP_mapを用いて, Iピク チヤアドレス Vに変換する。ステップ S 130は、カレント PLMarkの mark_time_stampから Playltemfeの Out_timeまでの出力を Presentation Engine31に命じて、同時実行され ている図 50側の処理を停止させた上で、図 50のステップ S 107に移行する。こうして I ピクチャアドレス u,vを変化して、別の部分の再生を命じた上でステップ S 107への移 行するので、別の AVClip力も TSパケットが読み出されることになり、映像内容が切り 換えが実現する。
[0193] 図 53は、 Presentation Engine31による処理手順の詳細を示すフローチャートであ る。本フローチャートは、 Iピクチャの PTSをカレント PTMに設定した後で (ステップ S13 1)、ステップ S 132—ステップ S 137からなるループ処理を実行するものである。
続いてステップ S 132—ステップ S 137におけるループ処理について説明する。こ のループ処理は、カレント PTMにあたるピクチャ、オーディオの再生出力と、カレント PTMの更新とを繰り返すものである。本ループ処理におけるステップ S136は、ルー プ処理の終了要件を規定している。つまりステップ S136は、カレント PTMが PI#xの Out_timeであることをループ処理の終了要件にしている。
[0194] ステップ S133は、早送り API、又は、早戻し APIが Java (登録商標)仮想マシン 38か らコールされたか否かの判定である。もしコールされれば、ステップ S138において早 送りか早戻しかの判定を行い、早送りであるなら、次の Iピクチャの PTSをカレント PTM に設定する (ステップ S 139)。このようにカレント PTMを、次の Iピクチャの PTSに設定す ることで、 1秒飛びに AVClipを再生してゆくことができる。これにより、 2倍速等で AVClipは順方向に早く再生されることになる。早戻しであるなら、カレント PTMが Playltemfeの OuUimeに到達したかを判定する (ステップ S 140)。もし到達してな!、の なら、 1つ前の Iピクチャの PTSをカレント PTMに設定する (ステップ S141)。このように 読出先アドレス Aを、 1つ前の Iピクチャに設定することで、 AVClipを後方向に 1秒飛び に再生してゆくことができる。これにより、 2倍速等で AVClipは、逆方向に再生されるこ とになる。尚、早送り、巻戻しを実行するにあたっての処理手順は多種多様なもので ある。ここで説明するのはあくまでも一例に過ぎないことに留意されたい。 [0195] ステップ S134は、メニューコール APIがコールされたか否かの判定であり、もしコー ルされれば、現在の再生処理をサスペンドして (ステップ S 142)、メニュー処理用のメ ニュープログラムを実行する (ステップ S 143)。以上の処理により、メニューメニューコ ールがなされた場合は、再生処理を中断した上で、メニュー表示のための処理が実 行されること〖こなる。
[0196] ステップ S 135は、 sync_PlayItemjdにより、 Playltemfeを指定した SubPlayItem#yが 存在する力否かの判定であり、もし存在すれば、図 54のフローチャートに移行する。 図 54は、 SubPlayltemの再生手順を示すフローチャートである。本フローチャートでは 、先ずステップ S 146において、カレント PTMは SubPlayItem#yの
sync_start_PTS_of_playItemであるか否かを判定する。もしそうであれば、ステップ S 15 3において SubPlayItem#yに基づく再生処理を行うよう Playback Control Engine32に 通知する。
[0197] ステップ S 136が Yesと判定された場合、ステップ S 144、ステップ S 145を実行する 。ステップ S144は、 Virtual File System30から Notify End Of Fileイベントが出力され 、尚且つ、デコーダから Notify End Of Decodingイベントが出力されたかを判定する。 もし出力されれば、 Notify End Of Streamイベントを Playback Control Engine32に出 力する。
[0198] 図 54のステップ S147—ステップ S152は、 SubPlayItem#yに基づく再生処理を示す フローチャートである。
ステップ S147では、 SubPlayItem#yの Clip_information_file_nameで指定される Clip情 報を読み込む。ステップ S148では、カレント Clip情報の EP_mapを用いて、
SubPlayItem#yの In_timeを、アドレス αに変換する。一方ステップ S149では、 SubPlayItem#yの OuUimeを,カレント Clip情報の EP_mapを用いて、アドレス j8に変換 する。ステップ S 150は、 SubPlayItem#yの In_timeから SubPlayItem#yの OuUimeまで の出力をデコーダに命じる。これらの変換で得られたアドレス j8の次の Iピクチャを求 めて、そのアドレスの 1つ手前をアドレス γに設定し (ステップ S151)、そうして算出さ れたアドレス γを用いて、 SubClipteにおけるアドレス α力 アドレス γまでの TSバケツ トの読み出しを BD- ROMドライブ 1又は Local Storage 18に命じると!、うものである (ス テツプ SI 52)。
[0199] また図 50に戻って Playback Control Engine32の処理の説明の続きを行う。ステップ S 113は Presentation Engine31による再生制御が完了したかの判定であり、最後の Playltemfeに対して、図 53のフローチャートの処理が行われている限り、ステップ S1 13力Noになる。図 53のフローチャートの処理が終了して初めて、ステップ S113は Yesになりステップ S114に移行する。ステップ S114は、 Java (登録商標)仮想マシン 38への Notifyイベントの出力であり、この出力により、 2時間という再生時間の経過を Java (登録商標)仮想マシン 38は知ることができる。
[0200] 以上のように本実施形態によれば、 2時間という再生時間の経過時点をアプリケー シヨンマネージャ 36は把握することができるので、プレイリストの再生終了と同期した 処理を Java (登録商標)仮想マシン 38に実行させることができる。
(備考)
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記
(A)(B)(C)(D) の変更を施した実施行為の形態によっても、本発明の実施は可能 となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれら の変形形態を拡張した記載、ないし、一般ィ匕した記載としている。拡張ないし一般ィ匕 の程度は、本発明の技術分野の、出願当時の技術水準の特性に基づく。
[0201] (A)全ての実施形態では、本発明に係る光ディスクを BD-ROMとして実施した力 本 発明の光ディスクは、記録される動的シナリオ、 Index Tableに特徴があり、この特徴 は、 BD-ROMの物理的性質に依存するものではない。動的シナリオ、 Index Tableを 記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、
DVD- ROM'DVD- RAM'DVD- RW,DVD- R,DVD+RW,DVD+R,CD- R,CD- RW等の光 ディスク、 PD,MO等の光磁気ディスクであってもよい。また、コンパクトフラッシュ(登録 商標)カード、スマートメディア、メモリスティック、マルチメディアカード、 PCM- CIA力 ード等の半導体メモリカードであってもよ 、。フレシキブルディスク、
SuperDisk,Zip,Clik!等の磁気記録ディスク (0、 ORB,Jaz,SparQ,SyJet,EZFley,マイクロ ドライブ等のリムーバルノヽードディスクドライブ (ϋ)であってもよい。更に、機器内蔵型 のハードディスクであってもよ ヽ。 (B)全ての実施形態における再生装置は、 BD-ROMに記録された AVClipをデコー ドした上で TVに出力していた力 再生装置を BD-ROMドライブのみとし、これ以外の 構成要素を TVに具備させてもい、この場合、再生装置と、 TVとを IEEE1394で接続さ れたホームネットワークに組み入れることができる。また、実施形態における再生装置 は、テレビと接続して利用されるタイプであった力 ディスプレイと一体型となった再生 装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分を なす部分のみを、再生装置としてもよい。これらの再生装置は、何れも本願明細書に 記載された発明であるから、これらの何れの態様であろうとも、各実施形態に示した 再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載さ れた発明の実施行為になる。各実施形態に示した再生装置の有償'無償による譲渡 (有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の 実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や 貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
[0202] (C)各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用い て具体的に実現されていることから、上記フローチャートに処理手順を示したプロダラ ムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態 様で、本発明に係るプログラムの実施行為についての実施形態を示した力 再生装 置力も分離して、各実施形態に示したプログラム単体を実施してもよい。プログラム単 体の実施行為には、これらのプログラムを生産する行為 (1)や、有償 ·無償によりプロ グラムを譲渡する行為 (2)、貸与する行為 (3)、輸入する行為 (4)、双方向の電子通信 回線を介して公衆に提供する行為 (5)、店頭展示、カタログ勧誘、パンフレット配布に より、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為 (6)がある。
[0203] (D)各フローチャートにおいて時系列に実行される各ステップの「時」の要素を、発明 を特定するための必須の事項と考える。そうすると、これらのフローチャートによる処理 手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時 系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これ らのフローチャートの処理を行うのであれば、本発明に係る記録方法の実施行為に該 当することは 、うまでもな 、。 [0204] (E)BD- ROMに記録するにあたって、 AVClipを構成する各 TSパケットには、拡張へ ッダを付与しておくことが望ましい。拡張ヘッダは、 TP_extra_headerと呼ばれ、『 Arribval—Time— Stamp』と、 u 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パケットを" Aligned Unit"とい
[0205] IEEE1394を介して接続されたホームネットワークでの利用時において、再生装置 2 00は、以下のような送信処理にて Aligned Unitの送信を行う。つまり送り手側の機器 は、 Aligned Unitに含まれる 32個の EX付き TSパケットのそれぞれから TP_extra_header を取り外し、 TSパケット本体を DTCP規格に基づき暗号ィ匕して出力する。 TSパケットの 出力にあたっては、 TSパケット間の随所に、 isochronousパケットを挿入する。この揷 入箇所は、 TP_extra_headerの Arribval_Time_Stampに示される時刻〖こ基づ 、た位置で ある。 TSパケットの出力に伴い、再生装置 200は DTCP_Descriptorを出力する。
DTCP_Descriptorは、 TP_extra_headerにおけるコピー許否設定を示す。ここで「コピー 禁止」を示すよう DTCP_Descriptorを記述しておけば、 IEEE1394を介して接続された ホームネットワークでの利用時において TSパケットは、他の機器に記録されることはな い。
[0206] (F)各実施形態において、記録媒体に記録されるデジタルストリームは AVClipであ つたが、 DVD- Video規格、 DVD- Video Recording規格の VOB(Video Object)であつ てもよい。 VOBは、ビデオストリーム、オーディオストリームを多重化することにより得ら れた ISO/IEC13818-1規格準拠のプログラムストリームである。また AVClipにおけるビ デォストリームは、 MPEG4や WMV方式であってもよい。更にオーディオストリームは、 Linear- PCM方式、 Dolby- AC3方式、 MP3方式、 MPEG- AAC方式、 Dts、
WMA(Windows (登録商標) media audio)であってもよい。
[0207] (G)各実施形態における映像作品は、アナログ放送で放送されたアナログ映像信号 をエンコードすることにより得られたものでもよ ヽ。デジタル放送で放送されたトランス ポートストリーム力も構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ zデジタルの映像信号をエンコードし てコンテンツを得ても良 ヽ。更にビデオカメラカゝら直接取り込んだアナログ/デジタル の映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信 されるデジタル著作物でもよ ヽ。
[0208] (H)BD-Jモジュール 35は、衛星放送受信のために機器に組み込まれた Java (登録 商標)プラットフォームであってもよ 、。 BD- Jモジュール 35がかかる Java (登録商標) プラットフォームであれば、本発明に係る再生装置は、 MHP用 STBとしての処理を兼 用すること〖こなる。
更に携帯電話の処理制御のために機器に組み込まれた Java (登録商標)プラットフ オームであってもよ ヽ。かかる BD-Jモジュール 35がかかる Java (登録商標)プラットフ オームであれば、本発明に係る再生装置は、携帯電話としての処理を兼用することに なる。
[0209] (I)レイァモデルにぉ 、て、 BD- Jモードの上に HDMVモードを配置してもよ!/、。特に HDMVモードでの動的シナリオの解釈や、動的シナリオに基づく制御手順の実行は 、再生装置に対する負担が軽いので、 HDMVモードを BD-Jモード上で実行させても 何等問題は生じないからである。また再生装置や映画作品の開発にあたって、動作 保証が 1つのモードで済むからである。
[0210] 更に BD-Jモードだけで再生処理を実行してもよい。第 5実施形態に示したように、 BD-Jモードでも PLの再生と同期した再生制御が可能になるから、強いて HDMVモー ドを設けなくてもよいという理由による。
(J)AVClipに多重化されるべきインタラクティブグラフィクスストリームにナビゲーショ ンコマンドを設けて、ある PL力も別の PLへの分岐を実現しても良い。 (K)第 1実施形 態では、 1つの BD-ROMに属する複数タイトルの全てを生存区間とするタイトルとして タイトルアンバウンダリーアプリケーションを規定した。この他にも、複数の BD- ROMに 属するタイトルの全てを生存区間とするタイトルアンバウンダリーアプリケーションを規 定してちよい。
[0211] (L)第 1実施形態でアプリケーション管理テーブルを作成するにあたって、同時実行 し得るアプリケーションの数は、例えば 4個以下に制限することが望ましい。
アプリケーションの同時実行数を 4個以下に制限する理由は以下の通りである。 BD-ROMの再生装置は、デジタル放送のチューナ機能を具備しているものが多ぐ そのチューナ機能を実現するアプリケーション力 Sメモリに常駐 (レジデント)して 、ること も多い。力かるレジデントアプリケーションが動作する余地を生むため、アプリケーショ ンの数は 4つ以下に制限されている。 4つのアプリケーションの内訳として、 1つ目をタ イトルアンバウンダリーアプリケーション、 2つ目をタイトルバウンダリアプリケーション、 3つ目をチャプターバウンダリーアプリケーションとしておくことが望ましい。
[0212] (M)第 2実施形態においてエラー管理テーブルは、 1つのアプリケーションが異常終 了した際、 1つのリカノ リー処理を実行するよう規定されていた。しかし 1つのアプリケ ーシヨンが異常終了した際、複数のリカノ リー処理を実行するようにしてもよい。つま りあるアプリケーションが異常終了した際、プレイリスト再生を «続と、アプリケーション と再起動と、イベント出力とを再生装置に実行させてもよい。
[0213] またアプリケーション毎ではなぐ 1つのタイトルにっき 1つのリカバリー処理を規定す るようエラー管理テーブルを構成してもよ 、。
(N)AVClipには、メニューを表示して対話的な操作を受け付けるためのインタラクテ イブグラフィクスストリームを多重化しておくことができるため、トップメニューを表示し て対話的な操作を受け付けるような AVClipを、単に再生させるようなナビゲーシヨンコ マンドを MovieObjectに記述しておくだけで、トップメニュータイトルを製作してもよ!/、。
[0214] (0)各実施形態におけるディレクトリ 'ファイル構成及びファイル内のデータ構造は 一例であり、本発明の特徴である管理情報は、ディレクトリ 'ファイル構成及びフアイ ル内のデータ構造に依存しな 、。例えば BD-Jモードの動作シナリオである BD-J Objectは、識別子 bobjjdと、識別子 BD-Jが付与されたファイル (ZZZZZ.BD-J)として、 BDJAディレクトリに配置し、 BD-J Object.bdmvの BD- J Object[n]()には、識別子 bobjjdのみを格納してよ!、。
産業上の利用可能性
[0215] 本発明に係る記録媒体及び再生装置は、ホームシアターシステムでの利用のよう に、個人的な用途で利用されることがありうる。しかし本発明は上記実施形態に内部 構成が開示されており、この内部構成に基づき量産することが明らかなので、資質に おいて工業上利用することができる。このことから本発明に係る記録媒体及び再生装 置は、産業上の利用可能性を有する。

Claims

請求の範囲
[1] アプリケーションと、デジタルストリームと、管理情報とが記録された記録媒体であって 前記アプリケーションは、
仮想マシン向けプログラミング言語で記述されたプログラムであり、
仮想マシンによる実行が可能となる生存区間が、予め規定されており、 前記管理情報は、
生存区間において、アプリケーションの実行と同時に行うべきデジタルストリームの 再生制御を示す
ことを特徴とする記録媒体。
[2] 前記記録媒体には更に、デジタルストリームの再生経路を規定するプレイリスト情報 が複数記録されており、
前記管理情報により示される再生制御は、所定の再生属性が付加されたプレイリス ト情報に示される再生経路に従って、デジタルストリームを再生することである、請求 項 1記載の記録媒体。
[3] 所定の再生属性とは、プレイリスト情報に示される再生経路の再生を自動的に開始 する旨を示す属性であり、
前記デジタルストリーム再生の同時実行は、
プレイリスト情報に自動再生を示す再生属性が付加されている場合になされる、こと を特徴とする請求項 2記載の記録媒体。
[4] 前記記録媒体には更に、生存区間がないタイトルアンバウンダリーアプリケーション が記録されており、
タイトルアンバウンダリーアプリケーションは、記録媒体に記録されて!、る複数プレイ リスト情報のうち、何れか 1つを、再生装置における状態レジスタの格納値に応じて選 択する処理を行い、
前記所定の再生属性とは、タイトルアンバウンダリーアプリケーションの選択を待つ て再生される旨を示す再生属性である
ことを特徴とする請求項 2記載の記録媒体。
[5] 管理情報は更に、アプリケーションの異常終了時に行うべきリカバリー処理を規定す る再生継続フラグを含み、
前記再生継続フラグは所定の値に設定されることにより
アプリケーションと同時になされた再生制御を、アプリケーションの異常終了後も再 生装置に継続させる旨を示す
ことを特徴とする請求項 1記載の記録媒体。
[6] 管理情報は更に、アプリケーションの異常終了時に行うべきリカノリー処理を規定す るフラグを含み、
フラグには、
異常終了したアプリケーションを再起動する力否かを示すフラグ (0、
アプリケーションの異常終了時に、出力すべきイベントを示すフラグ G0、 再生装置をリブートするか否かを示すフラグ (iii)がある
ことを特徴とする請求項 1記載の記録媒体。
[7] 前記アプリケーションは、記録媒体において複数記録されており、
各アプリケーションのそれぞれは、複数タイトルのどれかに帰属しており、 前記アプリケーションの生存区間は、タイトルを用いて表現されて 、る
ことを特徴とする請求項 1記載の記録媒体。
[8] 記録媒体に記録されたアプリケーションを実行する仮想マシン部と、
同記録媒体に記録されたデジタルストリームを再生する再生制御エンジン部と、 各アプリケーションの生存区間が到来すれば、アプリケーションを仮想マシンに実 行させ、それと同時に、記録媒体に記録された管理情報に基づくデジタルストリーム の再生を、再生制御エンジン部に実行させるアプリケーションマネージャと
を備えることを特徴とする再生装置。
[9] 前記アプリケーションマネージャによる再生制御は、
アプリケーションの実行画像を親画面に配置し、デジタルストリームの再生画像を子 画面に配置した合成画像を再生制御エンジン部に出力させる制御を含む
ことを特徴とする請求項 8記載の再生装置。
[10] 前記アプリケーションマネージャは更に、 アプリケーションが起動されるまでのスタートアップディレイにお 、て、デジタルストリ ームの再生画像を主画像として再生させるよう、再生制御エンジン部に対する制御を 行い、
前記合成画像を、アプリケーションが正常に起動した後に再生制御エンジン部に表 示させる
ことを特徴とする請求項 9記載の再生装置。
[11] 前記アプリケーションマネージャは更に、
デジタルストリームの再生画像を主画像として再生させる制御を、アプリケーション の起動に失敗した際、及び、アプリケーションが異常終了した際にも実行する ことを特徴とする請求項 10記載の再生装置。
[12] 前記記録媒体には、プレイリスト情報が複数記録されており、
前記アプリケーションマネージャによる再生制御とは、所定の再生属性が付加され たプレイリスト情報に示される再生経路に従って、デジタルストリームを再生させること である、請求項 8記載の再生装置。
[13] 前記所定の再生属性とは、プレイリスト情報に示される再生経路の再生を自動的に 開始する旨を示す再生属性である、ことを特徴とする請求項 12記載の再生装置。
[14] 前記記録媒体には更に、生存区間がないタイトルアンバウンダリーアプリケーション が記録されており、
タイトルアンバウンダリーアプリケーションは、記録媒体に記録されて!、る複数プレイ リスト情報のうち、何れか 1つを、再生装置における状態レジスタの格納値に応じて選 択する処理を行い、
前記所定の再生属性とは、タイトルアンバウンダリーアプリケーションの選択を待つ て再生される旨を示す再生属性であり、
前記再生制御エンジン部によるデジタルストリーム再生は、
所定の再生属性が付加されたプレイリスト情報のうちタイトルアンバウンダリーアプリ ケーシヨンにより選択されたものに基づきなされる
ことを特徴とする請求項 12記載の再生装置。
[15] 前記管理情報は更に、アプリケーションの異常終了時に行うべきリカバリー処理を規 定する再生継続フラグを含み、
前記アプリケーションマネージャは更に、前記再生継続フラグが所定の値に設定さ れて 、る力否かの判定を行 、、前記再生継続フラグが所定の値に設定されて 、れば 、アプリケーションと同時になされた再生制御を、アプリケーションの異常終了後も再 生制御エンジン部に継続させる
ことを特徴とする請求項 8記載の再生装置。
[16] 前記アプリケーション毎の生存区間は、記録媒体に記録された管理情報に示されて おり、
管理情報は更に、アプリケーションの異常終了時に行うべきリカバリー処理を規定 するフラグを含み、
アプリケーションマネージャは更に、管理情報内のフラグに基づき
異常終了したアプリケーションを再起動する制御 (1)、
予め規定されたイベントを出力する制御 (2)、
再生装置をリブートする制御 (3)のどれ力を実行する
ことを特徴とする請求項 8記載の再生装置。
[17] 前記再生装置は、
何れかのプレイリスト情報を指定した再生がアプリケーションから命じられた場合、 当該アプリケーションの正当性を認証するパーミッションコントローラを備え、 前記再生制御エンジン部がプレイリスト情報に基づく再生を行うのは、パーミツショ ンコントローラが正当性ありと認証した場合である
ことを特徴とする請求項 8記載の再生装置。
[18] アプリケーションマネージャは、プレイリスト情報に基づく再生を行うアプリケーション が存在する場合、当該アプリケーションが再生可能なプレイリスト情報を判定して、当 該アプリケーションに通知し、
前記再生制御エンジン部による再生は、通知されたプレイリスト情報に基づく ことを特徴とする請求項 8記載の再生装置。
[19] 記録媒体に記録されたアプリケーションを実行する仮想マシン部と、同記録媒体に記 録されたデジタルストリームを再生する再生制御エンジン部とを有したコンピュータが 読み込むことができるプログラムであって、
各アプリケーションの生存区間が到来すれば、アプリケーションを仮想マシンに実 行させるステップと、
仮想マシンによる実行と同時に、記録媒体に記録された管理情報に基づくデジタ ルストリームの再生を、再生制御エンジン部に実行させるステップと
をコンピュータに実行させることを特徴とするプログラム。
[20] 記録媒体に記録されたアプリケーションを実行する仮想マシン部と、同記録媒体に記 録されたデジタルストリームを再生する再生制御エンジン部とを有したコンピュータに 対する再生方法であって、
各アプリケーションの生存区間が到来すれば、アプリケーションを仮想マシンに実 行させるステップと、
仮想マシンによる実行と同時に、記録媒体に記録された管理情報に基づくデジタ ルストリームの再生を、再生制御エンジン部に実行させるステップと
をコンピュータに実行させることを特徴とする再生方法。
[21] デジタルストリームを再生する再生装置に組み込むことができるシステム集積回路で あって、
記録媒体に記録されたアプリケーションを実行する仮想マシン部と、
各アプリケーションの生存区間が到来すれば、アプリケーションを仮想マシンに実 行させ、それと同時に、記録媒体に記録された管理情報に基づくデジタルストリーム の再生を、実行させるアプリケーションマネージャと
を備えることを特徴とするシステム集積回路。
PCT/JP2004/016598 2003-11-10 2004-11-09 記録媒体、再生装置、プログラム、再生方法、システム集積回路 WO2005045840A1 (ja)

Priority Applications (14)

Application Number Priority Date Filing Date Title
EP04818238A EP1691367B1 (en) 2003-11-10 2004-11-09 Recording medium, reproduction device, program, reproduction method, and system integrated circuit
KR1020127011482A KR101268335B1 (ko) 2003-11-10 2004-11-09 기록매체, 재생장치, 재생방법
DE602004012598T DE602004012598D1 (de) 2003-11-10 2004-11-09 Aufzeichnungsmedium, wiedergabeeinrichtung, programm, wiedergabeverfahren und systemintegrierte schaltung
JP2005515351A JP3851341B2 (ja) 2003-11-10 2004-11-09 記録媒体、再生装置、プログラム、再生方法、システム集積回路
US10/549,318 US7565062B2 (en) 2003-11-10 2004-11-09 Recording medium, reproduction device, program, reproduction method, and system integrated circuit
CA2518767A CA2518767C (en) 2003-11-10 2004-11-09 Recording medium, playback apparatus, program, playback method, system integrated circuit
KR1020117013248A KR101176904B1 (ko) 2003-11-10 2004-11-09 기록매체, 재생장치, 재생방법
KR1020057018474A KR101121382B1 (ko) 2003-11-10 2004-11-09 기록매체, 재생장치, 재생방법
MXPA05010367A MXPA05010367A (es) 2003-11-10 2004-11-09 Medio de grabacion, dispositivo de reproduccion, programa, metodo de reproduccion y circuito integrado de sistema.
CN200480008998.4A CN1768387B (zh) 2003-11-10 2004-11-09 记录方法,播放装置及播放方法
BRPI0409003-9A BRPI0409003A (pt) 2003-11-10 2004-11-09 meio de gravação, aparelho de reprodução, programa, método de reprodução, circuito integrado do sistema
KR1020117029789A KR101204653B1 (ko) 2003-11-10 2004-11-09 기록매체, 재생장치, 재생방법
US12/241,517 US7627233B2 (en) 2003-11-10 2008-09-30 Integrated circuit for use in a playback apparatus
US12/581,193 US8406611B2 (en) 2003-11-10 2009-10-19 Integrated circuit for use in a playback apparatus

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2003-380464 2003-11-10
JP2003380464 2003-11-10
JP2004-261376 2004-09-08
JP2004261376 2004-09-08

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10/549,318 A-371-Of-International US7565062B2 (en) 2003-11-10 2004-11-09 Recording medium, reproduction device, program, reproduction method, and system integrated circuit
US12/241,517 Continuation US7627233B2 (en) 2003-11-10 2008-09-30 Integrated circuit for use in a playback apparatus

Publications (1)

Publication Number Publication Date
WO2005045840A1 true WO2005045840A1 (ja) 2005-05-19

Family

ID=34575949

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/016598 WO2005045840A1 (ja) 2003-11-10 2004-11-09 記録媒体、再生装置、プログラム、再生方法、システム集積回路

Country Status (12)

Country Link
US (3) US7565062B2 (ja)
EP (7) EP1691367B1 (ja)
JP (9) JP3851341B2 (ja)
KR (5) KR101176904B1 (ja)
CN (3) CN101833970B (ja)
AT (1) ATE389935T1 (ja)
BR (1) BRPI0409003A (ja)
CA (2) CA2761989C (ja)
DE (1) DE602004012598D1 (ja)
ES (1) ES2302076T3 (ja)
MX (1) MXPA05010367A (ja)
WO (1) WO2005045840A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006129815A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Recording and reproduction apparatus and recording and reproduction method
WO2007063794A1 (ja) * 2005-11-30 2007-06-07 Pioneer Corporation 情報再生装置及び方法、並びにコンピュータプログラム
JP2007280515A (ja) * 2006-04-06 2007-10-25 Sony Corp 記録装置、記録方法および記録プログラム
JP2008004247A (ja) * 2005-07-27 2008-01-10 Matsushita Electric Ind Co Ltd 情報記録媒体、記録装置、および記録方法
JP2008532197A (ja) * 2005-02-28 2008-08-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ再生のためのフォールバックメカニズム
WO2009054498A1 (ja) 2007-10-26 2009-04-30 Sony Corporation 電子機器、再生方法及びプログラム
JPWO2007119765A1 (ja) * 2006-04-13 2009-08-27 パナソニック株式会社 記録媒体、再生装置、記録装置、システムlsi、方法、プログラム
EP2180477A1 (en) 2004-07-22 2010-04-28 Panasonic Corporation Playback apparatus and playback method
EP1819155A3 (en) * 2006-02-13 2010-10-27 LG Electronics Inc. Apparatus for playing media and method of setting resources thereof
JP2010268464A (ja) * 2009-05-15 2010-11-25 Samsung Electronics Co Ltd コンテンツ制御方法及び装置

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
EP1691367B1 (en) * 2003-11-10 2008-03-19 Matsushita Electric Industrial Co., Ltd. Recording medium, reproduction device, program, reproduction method, and system integrated circuit
JP4546465B2 (ja) 2004-06-03 2010-09-15 パナソニック株式会社 再生装置、プログラム
KR100677132B1 (ko) * 2004-09-09 2007-02-02 삼성전자주식회사 동영상 재생 및 프로그래밍 기능을 위한 멀티미디어데이터를 기록한 저장 매체, 그 재생 장치 및 재생 방법
CN101057288B (zh) 2004-11-09 2010-12-22 汤姆森许可贸易公司 把内容绑定到可移动存储器上的方法和装置
KR20060059572A (ko) * 2004-11-29 2006-06-02 삼성전자주식회사 플레이리스트를 자동 재생하기 위한 정보를 포함하는 저장매체, 그 재생 장치 및 재생 방법
KR20060085154A (ko) * 2005-01-21 2006-07-26 엘지전자 주식회사 기록매체, 로컬 스토리지를 이용한 기록매체의 재생방법과재생장치
EP1696321A1 (en) 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
JP4403437B2 (ja) * 2005-03-18 2010-01-27 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
EP1866724A1 (en) * 2005-03-29 2007-12-19 Koninklijke Philips Electronics N.V. Method and device for protecting the contents of an information carrier
US8234679B2 (en) * 2005-04-01 2012-07-31 Time Warner Cable, Inc. Technique for selecting multiple entertainment programs to be provided over a communication network
CN101228584B (zh) * 2005-07-27 2010-12-15 松下电器产业株式会社 信息记录装置以及记录方法
WO2007015216A2 (en) * 2005-08-04 2007-02-08 Koninklijke Philips Electronics, N.V. Title substitution on dvd+rw video format discs
KR20080069702A (ko) * 2005-11-23 2008-07-28 코닌클리케 필립스 일렉트로닉스 엔.브이. 영상을 재생하는 방법 및 장치
JP2007328692A (ja) * 2006-06-09 2007-12-20 Canon Inc 代数演算方法及びその装置、プログラム
US8015548B2 (en) * 2007-03-22 2011-09-06 Arcsoft, Inc. Method for obtaining context of corresponding Xlet while playing BD-J title
KR101470961B1 (ko) * 2007-06-06 2014-12-10 파나소닉 주식회사 재생장치, 기록방법
US8101387B2 (en) * 2007-06-08 2012-01-24 Coskata, Inc. Process to sequence bioreactor modules for serial gas flow and uniform gas velocity
KR100935862B1 (ko) * 2007-07-06 2010-01-07 드리머 매체 재생 장치 기반 컨텐츠 제공 시스템
KR100894055B1 (ko) * 2007-07-06 2009-04-20 드리머 디스크 매체 재생 장치 및 이를 이용한 멀티미디어 컨텐츠제공 방법
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
WO2009128232A1 (ja) * 2008-04-16 2009-10-22 パナソニック株式会社 再生装置、再生方法、プログラム
JP2009271589A (ja) * 2008-04-30 2009-11-19 Sony Corp 情報処理装置、その制御方法、制御プログラム及びネームマッピング情報
JP4762269B2 (ja) * 2008-06-06 2011-08-31 パナソニック株式会社 再生装置、集積回路及び再生方法
EP2293583A1 (en) * 2008-06-24 2011-03-09 Panasonic Corporation Recording medium, reproducing device, integrated circuit, reproducing method, and program
CN102067591B (zh) * 2008-06-26 2014-03-19 松下电器产业株式会社 再现装置、记录装置、再现方法及记录方法
EP2293302A1 (en) * 2008-06-30 2011-03-09 Panasonic Corporation Recording device, recording method, reproduction device, and reproduction method
JP5217713B2 (ja) * 2008-07-11 2013-06-19 ソニー株式会社 情報処理装置、情報処理システム、情報記録媒体、および情報処理方法、並びにプログラム
US8306387B2 (en) * 2008-07-24 2012-11-06 Panasonic Corporation Play back apparatus, playback method and program for playing back 3D video
JP5032408B2 (ja) * 2008-07-25 2012-09-26 パナソニック株式会社 簡易レジューム再生装置及び簡易レジューム再生方法
US9754625B2 (en) 2008-07-31 2017-09-05 Warner Bros. Entertainment Inc. Generation and use of user-selected scenes playlist from distributed digital content
WO2010047123A1 (ja) * 2008-10-24 2010-04-29 パナソニック株式会社 Bd再生システム、bd再生装置、表示装置及びコンピュータプログラム
US8671077B2 (en) * 2008-11-06 2014-03-11 Deluxe Digital Studios, Inc. Methods, systems and apparatuses for use in updating a portable storage medium
US9069585B2 (en) * 2009-03-02 2015-06-30 Microsoft Corporation Application tune manifests and tune state recovery
RU2533057C2 (ru) * 2009-05-25 2014-11-20 Панасоник Корпорэйшн Носитель записи, устройство воспроизведения, интегральная схема, способ воспроизведения и программа
JP2011155559A (ja) * 2010-01-28 2011-08-11 Panasonic Corp ディスク再生装置
CN103038783B (zh) * 2010-03-09 2016-03-09 泰景系统公司 自适应视频解码电路及其方法
JP2011216165A (ja) * 2010-04-01 2011-10-27 Alpine Electronics Inc ビデオ再生装置、コンピュータプログラム及びレジューム再生方法
US9601692B1 (en) 2010-07-13 2017-03-21 Crossbar, Inc. Hetero-switching layer in a RRAM device and method
US8946046B1 (en) 2012-05-02 2015-02-03 Crossbar, Inc. Guided path for forming a conductive filament in RRAM
US9570678B1 (en) 2010-06-08 2017-02-14 Crossbar, Inc. Resistive RAM with preferental filament formation region and methods
US9012307B2 (en) 2010-07-13 2015-04-21 Crossbar, Inc. Two terminal resistive switching device structure and method of fabricating
WO2011156787A2 (en) 2010-06-11 2011-12-15 Crossbar, Inc. Pillar structure for memory device and method
JP2012018727A (ja) * 2010-07-08 2012-01-26 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
US8374018B2 (en) 2010-07-09 2013-02-12 Crossbar, Inc. Resistive memory using SiGe material
US8884261B2 (en) 2010-08-23 2014-11-11 Crossbar, Inc. Device switching using layered device structure
US8569172B1 (en) 2012-08-14 2013-10-29 Crossbar, Inc. Noble metal/non-noble metal electrode for RRAM applications
US8168506B2 (en) 2010-07-13 2012-05-01 Crossbar, Inc. On/off ratio for non-volatile memory device and method
US8947908B2 (en) 2010-11-04 2015-02-03 Crossbar, Inc. Hetero-switching layer in a RRAM device and method
KR101122962B1 (ko) * 2010-08-04 2012-03-16 삼성에스디에스 주식회사 사용자 단말장치 및 멀티 가상머신 전환 방법
US8492195B2 (en) 2010-08-23 2013-07-23 Crossbar, Inc. Method for forming stackable non-volatile resistive switching memory devices
US8889521B1 (en) 2012-09-14 2014-11-18 Crossbar, Inc. Method for silver deposition for a non-volatile memory device
US9401475B1 (en) 2010-08-23 2016-07-26 Crossbar, Inc. Method for silver deposition for a non-volatile memory device
US8558212B2 (en) 2010-09-29 2013-10-15 Crossbar, Inc. Conductive path in switching material in a resistive random access memory device and control
US8909029B2 (en) * 2010-10-13 2014-12-09 Sony Corporation Capturing playback key events in BD players
USRE46335E1 (en) 2010-11-04 2017-03-07 Crossbar, Inc. Switching device having a non-linear element
US8502185B2 (en) 2011-05-31 2013-08-06 Crossbar, Inc. Switching device having a non-linear element
US8930174B2 (en) 2010-12-28 2015-01-06 Crossbar, Inc. Modeling technique for resistive random access memory (RRAM) cells
US8815696B1 (en) 2010-12-31 2014-08-26 Crossbar, Inc. Disturb-resistant non-volatile memory device using via-fill and etchback technique
US9153623B1 (en) 2010-12-31 2015-10-06 Crossbar, Inc. Thin film transistor steering element for a non-volatile memory device
US8843940B2 (en) * 2011-02-28 2014-09-23 Cellco Partnership Centralized audit and error handling
US9620206B2 (en) 2011-05-31 2017-04-11 Crossbar, Inc. Memory array architecture with two-terminal memory cells
US8619459B1 (en) 2011-06-23 2013-12-31 Crossbar, Inc. High operating speed resistive random access memory
US9166163B2 (en) 2011-06-30 2015-10-20 Crossbar, Inc. Sub-oxide interface layer for two-terminal memory
US9564587B1 (en) 2011-06-30 2017-02-07 Crossbar, Inc. Three-dimensional two-terminal memory with enhanced electric field and segmented interconnects
US9627443B2 (en) 2011-06-30 2017-04-18 Crossbar, Inc. Three-dimensional oblique two-terminal memory with enhanced electric field
US8946669B1 (en) 2012-04-05 2015-02-03 Crossbar, Inc. Resistive memory device and fabrication methods
WO2013015776A1 (en) 2011-07-22 2013-01-31 Crossbar, Inc. Seed layer for a p + silicon germanium material for a non-volatile memory device and method
US8674724B2 (en) 2011-07-29 2014-03-18 Crossbar, Inc. Field programmable gate array utilizing two-terminal non-volatile memory
US9729155B2 (en) 2011-07-29 2017-08-08 Crossbar, Inc. Field programmable gate array utilizing two-terminal non-volatile memory
US10056907B1 (en) 2011-07-29 2018-08-21 Crossbar, Inc. Field programmable gate array utilizing two-terminal non-volatile memory
JP5957204B2 (ja) * 2011-11-01 2016-07-27 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP5821631B2 (ja) * 2011-12-28 2015-11-24 富士通株式会社 再生装置、再生方法、及び再生プログラム
CN102590833B (zh) * 2012-03-12 2014-02-19 航天恒星科技有限公司 一种卫星导航接收机多通道联合捕获方法
US9087576B1 (en) 2012-03-29 2015-07-21 Crossbar, Inc. Low temperature fabrication method for a three-dimensional memory device and structure
US9685608B2 (en) 2012-04-13 2017-06-20 Crossbar, Inc. Reduced diffusion in metal electrode for two-terminal memory
US8658476B1 (en) 2012-04-20 2014-02-25 Crossbar, Inc. Low temperature P+ polycrystalline silicon material for non-volatile memory device
US8796658B1 (en) 2012-05-07 2014-08-05 Crossbar, Inc. Filamentary based non-volatile resistive memory device and method
KR20140018743A (ko) * 2012-08-03 2014-02-13 삼성전자주식회사 디스크리스 어플리케이션 재생 장치 및 기록 장치, 재생 방법 및 기록 방법과 디스크리스 어플리케이션을 기록한 정보저장매체
US9583701B1 (en) 2012-08-14 2017-02-28 Crossbar, Inc. Methods for fabricating resistive memory device switching material using ion implantation
US9741765B1 (en) 2012-08-14 2017-08-22 Crossbar, Inc. Monolithically integrated resistive memory using integrated-circuit foundry compatible processes
US8946673B1 (en) 2012-08-24 2015-02-03 Crossbar, Inc. Resistive switching device structure with improved data retention for non-volatile memory device and method
US9312483B2 (en) 2012-09-24 2016-04-12 Crossbar, Inc. Electrode structure for a non-volatile memory device and method
US9576616B2 (en) 2012-10-10 2017-02-21 Crossbar, Inc. Non-volatile memory with overwrite capability and low write amplification
US8982647B2 (en) 2012-11-14 2015-03-17 Crossbar, Inc. Resistive random access memory equalization and sensing
US9412790B1 (en) 2012-12-04 2016-08-09 Crossbar, Inc. Scalable RRAM device architecture for a non-volatile memory device and method
US9406379B2 (en) 2013-01-03 2016-08-02 Crossbar, Inc. Resistive random access memory with non-linear current-voltage relationship
US9112145B1 (en) 2013-01-31 2015-08-18 Crossbar, Inc. Rectified switching of two-terminal memory via real time filament formation
US9324942B1 (en) 2013-01-31 2016-04-26 Crossbar, Inc. Resistive memory cell with solid state diode
US10290801B2 (en) 2014-02-07 2019-05-14 Crossbar, Inc. Scalable silicon based resistive memory device
JP5748879B2 (ja) * 2014-03-26 2015-07-15 三菱電機株式会社 映像再生装置及び起動方法
JP6855348B2 (ja) * 2017-07-31 2021-04-07 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびダウンロード処理方法
CA3051950A1 (en) 2018-08-13 2020-02-13 Belden Canada Inc. Telescoping cable spool

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 自動プログラム開始装置
JPH10297303A (ja) * 1997-05-01 1998-11-10 Kubota Corp 作業機
JPH11161663A (ja) * 1997-11-28 1999-06-18 Toshiba Corp 動画再生制御方法およびその方法が適用される画像表示装置
JP2001056772A (ja) * 1999-08-18 2001-02-27 Oki Electric Ind Co Ltd 障害監視システム
JP2002063051A (ja) * 2000-08-23 2002-02-28 Will:Kk ソフトウェア動作監視システムおよびその記録媒体およびソフトウェア動作監視方法
JP2002262233A (ja) * 2001-03-01 2002-09-13 Mitsubishi Electric Corp 行動計測システム
JP2002369154A (ja) * 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア
JP2003123389A (ja) * 2001-10-16 2003-04-25 Sony Corp 記録媒体再生装置および方法、記録媒体、並びにプログラム
JP2003249057A (ja) * 2002-02-26 2003-09-05 Toshiba Corp デジタル情報媒体を用いるエンハンスド・ナビゲーション・システム

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US194618A (en) * 1877-08-28 Improvement in substitutes for coffee
JPS6042804A (ja) * 1983-08-18 1985-03-07 Hitachi Maxell Ltd 磁気記録媒体及び磁気記録媒体用磁性粉末
JPH04256867A (ja) * 1991-02-08 1992-09-11 Hamamatsu Photonics Kk 三軸加速度検出装置
JPH04272685A (ja) * 1991-02-26 1992-09-29 Sakaguchi Dennetsu Kk シ−ズヒ−タ
JPH04272683A (ja) * 1991-02-26 1992-09-29 Matsushita Electric Ind Co Ltd 電気毛布
JPH04272684A (ja) * 1991-02-26 1992-09-29 Matsushita Electric Ind Co Ltd 電気毛布
JP2820330B2 (ja) * 1991-04-23 1998-11-05 信越ポリマー株式会社 プラスチックフィルム巻回体の検査方法
US5508994A (en) * 1993-03-05 1996-04-16 Nakamichi Corporation Disk player with compact arrangement of a reader and disk storage magazine
US5541738A (en) * 1994-04-12 1996-07-30 E. Guide, Inc. Electronic program guide
US5644782A (en) * 1994-10-17 1997-07-01 Motorola, Inc. System with virtual update capable read-only memory
JP2813245B2 (ja) 1995-08-21 1998-10-22 松下電器産業株式会社 光ディスクの再生装置及び再生方法
KR19980072969A (ko) 1997-03-10 1998-11-05 김광호 영상 노래 반주용 광 디스크 기록 매체와 그의 재생 방법 및 재생장치
JPH10293703A (ja) 1997-04-17 1998-11-04 Yazaki Corp 暴走監視装置並びに暴走監視方法、及びマイクロコンピュータ並びに情報処理方法
US6580870B1 (en) 1997-11-28 2003-06-17 Kabushiki Kaisha Toshiba Systems and methods for reproducing audiovisual information with external information
JPH11238288A (ja) * 1997-12-17 1999-08-31 Pioneer Electron Corp 情報記録媒体再生装置
WO2000049803A1 (fr) * 1999-02-18 2000-08-24 Kabushiki Kaisha Toshiba Support d'enregistrement pour flux de donnees, procede d'enregistrement et procede de reproduction associes
EP1203377A1 (en) * 1999-04-21 2002-05-08 Research Investment Network, Inc. System, method and article of manufacture for updating content stored on a portable storage medium
WO2001004743A2 (en) * 1999-07-13 2001-01-18 Sun Microsystems, Inc. Methods and apparatus for managing an application according to an application lifecycle
JP4300642B2 (ja) * 1999-08-18 2009-07-22 ソニー株式会社 記録媒体及び記録媒体の再生装置並びに再生方法
JP2003514338A (ja) * 1999-11-12 2003-04-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ保持ディスクから情報を再生するための装置
JP2001290704A (ja) * 2000-04-06 2001-10-19 Nec Microsystems Ltd マルチプロセス制御装置及びマルチプロセス制御方法
JP4395998B2 (ja) * 2000-06-07 2010-01-13 ソニー株式会社 光ディスク装置、光ディスクの記録方法及び光ディスク
JP4863540B2 (ja) * 2000-07-31 2012-01-25 ソニー株式会社 録画再生装置およびコンテンツ管理方法
JP2002108698A (ja) * 2000-10-04 2002-04-12 Nissin Electric Co Ltd メモリ管理システム及びメモリ管理方法
US7058284B2 (en) 2001-03-29 2006-06-06 Matsushita Electric Industrial Co., Ltd. Universal multimedia optic disc player and its application for revocable copy protection
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 엘지전자 주식회사 스크립트 파일이 포함 기록된 기록매체와, 그 재생장치 및방법
JP2003015892A (ja) * 2001-06-29 2003-01-17 Casio Comput Co Ltd 情報端末装置及びアプリケーション管理プログラム
KR100382655B1 (ko) 2001-07-25 2003-05-09 삼성전자주식회사 프로그램 저장 방법 및 이에 적합한 저장 장치
JP3990928B2 (ja) * 2002-03-19 2007-10-17 キヤノン株式会社 テレビジョン放送受信装置、再生方法及びプログラム
EP1551027A4 (en) 2002-09-12 2009-08-05 Panasonic Corp RECORDING MEDIUM, REPRODUCTION DEVICE, PROGRAM, REPRODUCTION METHOD, AND RECORDING METHOD
EP1553769A4 (en) * 2002-09-25 2006-01-04 Matsushita Electric Ind Co Ltd REPRODUCTION DEVICE, OPTICAL DISK, RECORDING MEDIUM, PROGRAM, AND REPRODUCTION METHOD
JP3940164B2 (ja) 2003-02-21 2007-07-04 松下電器産業株式会社 記録媒体、再生装置、記録方法、集積回路、再生方法、プログラム
KR20060135621A (ko) * 2003-10-10 2006-12-29 코닌클리케 필립스 일렉트로닉스 엔.브이. 블루레이 디스크용 자바 생명주기 모델
TW200518070A (en) * 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
CN101404173B (zh) * 2003-10-10 2012-05-23 松下电器产业株式会社 再现装置、记录方法、以及再现方法
EP1691367B1 (en) * 2003-11-10 2008-03-19 Matsushita Electric Industrial Co., Ltd. Recording medium, reproduction device, program, reproduction method, and system integrated circuit
JP3888348B2 (ja) * 2003-11-25 2007-02-28 ソニー株式会社 情報提供システム、再生装置および方法、情報提供装置および方法、記録媒体、並びにプログラム
JP5119566B2 (ja) * 2004-02-16 2013-01-16 ソニー株式会社 再生装置および再生方法、プログラム記録媒体、並びにプログラム
KR100601677B1 (ko) * 2004-05-17 2006-07-14 삼성전자주식회사 저장 매체에 기록된 데이터와 다운로드된 데이터를 함께재생하는 재생 방법 및 그 재생 장치
EP1789972A4 (en) * 2004-09-13 2009-12-30 Lg Electronics Inc METHOD AND APPARATUS FOR READING DATA FROM A RECORDING MEDIUM USING LOCAL STORAGE

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 自動プログラム開始装置
JPH10297303A (ja) * 1997-05-01 1998-11-10 Kubota Corp 作業機
JPH11161663A (ja) * 1997-11-28 1999-06-18 Toshiba Corp 動画再生制御方法およびその方法が適用される画像表示装置
JP2001056772A (ja) * 1999-08-18 2001-02-27 Oki Electric Ind Co Ltd 障害監視システム
JP2002063051A (ja) * 2000-08-23 2002-02-28 Will:Kk ソフトウェア動作監視システムおよびその記録媒体およびソフトウェア動作監視方法
JP2002262233A (ja) * 2001-03-01 2002-09-13 Mitsubishi Electric Corp 行動計測システム
JP2002369154A (ja) * 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア
JP2003123389A (ja) * 2001-10-16 2003-04-25 Sony Corp 記録媒体再生装置および方法、記録媒体、並びにプログラム
JP2003249057A (ja) * 2002-02-26 2003-09-05 Toshiba Corp デジタル情報媒体を用いるエンハンスド・ナビゲーション・システム

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036513B2 (en) * 2004-07-22 2011-10-11 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
US8347099B2 (en) 2004-07-22 2013-01-01 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
EP2216783A1 (en) 2004-07-22 2010-08-11 Panasonic Corporation Playback apparatus and playback method
EP2180477A1 (en) 2004-07-22 2010-04-28 Panasonic Corporation Playback apparatus and playback method
EP2214169A1 (en) 2004-07-22 2010-08-04 Panasonic Corporation Playback apparatus and playback method
EP2214172A1 (en) 2004-07-22 2010-08-04 Panasonic Corporation Playback apparatus and playback method
JP2013175274A (ja) * 2005-02-28 2013-09-05 Koninklijke Philips Nv データ再生のためのフォールバックメカニズム
JP2008532197A (ja) * 2005-02-28 2008-08-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ再生のためのフォールバックメカニズム
US8787131B2 (en) 2005-02-28 2014-07-22 Koninklijke Philips N.V. Fallback mechanism for data reproduction
US7894710B2 (en) 2005-05-31 2011-02-22 Panasonic Corporation Recording and reproduction apparatus and recording and reproduction method
US8571385B2 (en) 2005-05-31 2013-10-29 Panasonic Corporation Recording and reproduction apparatus and recording and reproduction method
WO2006129815A1 (en) * 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Recording and reproduction apparatus and recording and reproduction method
JP2008004247A (ja) * 2005-07-27 2008-01-10 Matsushita Electric Ind Co Ltd 情報記録媒体、記録装置、および記録方法
JP4651680B2 (ja) * 2005-11-30 2011-03-16 パイオニア株式会社 情報再生装置及び方法、並びにコンピュータプログラム
JPWO2007063794A1 (ja) * 2005-11-30 2009-05-07 パイオニア株式会社 情報再生装置及び方法、並びにコンピュータプログラム
WO2007063794A1 (ja) * 2005-11-30 2007-06-07 Pioneer Corporation 情報再生装置及び方法、並びにコンピュータプログラム
EP1819155A3 (en) * 2006-02-13 2010-10-27 LG Electronics Inc. Apparatus for playing media and method of setting resources thereof
US8472784B2 (en) 2006-04-06 2013-06-25 Sony Corporation Recording apparatus, recording method, and recording program
JP2007280515A (ja) * 2006-04-06 2007-10-25 Sony Corp 記録装置、記録方法および記録プログラム
JPWO2007119765A1 (ja) * 2006-04-13 2009-08-27 パナソニック株式会社 記録媒体、再生装置、記録装置、システムlsi、方法、プログラム
US8290343B2 (en) 2007-10-26 2012-10-16 Sony Corporation Electronic apparatus, reproducing method and program
WO2009054498A1 (ja) 2007-10-26 2009-04-30 Sony Corporation 電子機器、再生方法及びプログラム
JP2009111530A (ja) * 2007-10-26 2009-05-21 Sony Corp 電子機器、再生方法及びプログラム
JP2010268464A (ja) * 2009-05-15 2010-11-25 Samsung Electronics Co Ltd コンテンツ制御方法及び装置

Also Published As

Publication number Publication date
US20100034518A1 (en) 2010-02-11
JP2008140532A (ja) 2008-06-19
US7565062B2 (en) 2009-07-21
EP1691367B1 (en) 2008-03-19
KR101204653B1 (ko) 2012-12-11
KR101121382B1 (ko) 2012-03-13
CN101833970B (zh) 2012-10-03
CA2761989C (en) 2013-11-26
JP2008152902A (ja) 2008-07-03
EP1906407A3 (en) 2015-03-18
JP5103432B2 (ja) 2012-12-19
JPWO2005045840A1 (ja) 2007-05-24
CN101814305A (zh) 2010-08-25
US20090060476A1 (en) 2009-03-05
JP4272684B2 (ja) 2009-06-03
ATE389935T1 (de) 2008-04-15
EP2270796A2 (en) 2011-01-05
JP2008140533A (ja) 2008-06-19
KR20070005449A (ko) 2007-01-10
EP2270795A2 (en) 2011-01-05
EP2270799A3 (en) 2015-03-18
EP2270797A2 (en) 2011-01-05
US8406611B2 (en) 2013-03-26
EP2270798A2 (en) 2011-01-05
CA2761989A1 (en) 2005-05-19
CN101826363A (zh) 2010-09-08
KR101176904B1 (ko) 2012-08-30
KR20110074947A (ko) 2011-07-04
KR20070118710A (ko) 2007-12-17
ES2302076T3 (es) 2008-07-01
DE602004012598D1 (de) 2008-04-30
JP4323544B2 (ja) 2009-09-02
KR101268335B1 (ko) 2013-05-28
EP2270796A3 (en) 2015-03-18
JP5336622B2 (ja) 2013-11-06
JP3851341B2 (ja) 2006-11-29
US7627233B2 (en) 2009-12-01
EP1691367A4 (en) 2006-09-13
JP2008146813A (ja) 2008-06-26
CN101826363B (zh) 2012-11-28
JP2009187575A (ja) 2009-08-20
EP2270798A3 (en) 2015-03-18
JP2012181910A (ja) 2012-09-20
EP1691367A1 (en) 2006-08-16
KR20120063548A (ko) 2012-06-15
MXPA05010367A (es) 2005-11-17
US20060140091A1 (en) 2006-06-29
EP1906407A2 (en) 2008-04-02
KR100840851B1 (ko) 2008-06-23
CN101833970A (zh) 2010-09-15
JP4272683B2 (ja) 2009-06-03
CA2518767C (en) 2012-03-13
JP2009151923A (ja) 2009-07-09
JP4272685B2 (ja) 2009-06-03
KR20120003018A (ko) 2012-01-09
BRPI0409003A (pt) 2006-03-28
EP2270795A3 (en) 2015-03-18
CA2518767A1 (en) 2005-05-19
JP5103514B2 (ja) 2012-12-19
CN101814305B (zh) 2013-02-27
JP2011090772A (ja) 2011-05-06
EP2270797A3 (en) 2015-03-18
JP4709908B2 (ja) 2011-06-29
EP2270799A2 (en) 2011-01-05

Similar Documents

Publication Publication Date Title
JP5103514B2 (ja) 再生装置、再生方法、プログラム
WO2005036554A1 (ja) 記録媒体、再生装置、プログラム、再生方法
JP4256867B2 (ja) 記録媒体、再生装置。

Legal Events

Date Code Title Description
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): BW GH 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 IS 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: 2005515351

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2518767

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2004818238

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: PA/a/2005/010367

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 1020057018474

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20048089984

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2006140091

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10549318

Country of ref document: US

ENP Entry into the national phase

Ref document number: PI0409003

Country of ref document: BR

WWP Wipo information: published in national office

Ref document number: 10549318

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2004818238

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020057018474

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 2004818238

Country of ref document: EP