JP4275611B2 - Reproduction device, reproduction method and reproduction program, recording medium, and data structure - Google Patents

Reproduction device, reproduction method and reproduction program, recording medium, and data structure Download PDF

Info

Publication number
JP4275611B2
JP4275611B2 JP2004350191A JP2004350191A JP4275611B2 JP 4275611 B2 JP4275611 B2 JP 4275611B2 JP 2004350191 A JP2004350191 A JP 2004350191A JP 2004350191 A JP2004350191 A JP 2004350191A JP 4275611 B2 JP4275611 B2 JP 4275611B2
Authority
JP
Japan
Prior art keywords
playback
content data
reproduction
file
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004350191A
Other languages
Japanese (ja)
Other versions
JP2006164326A (en
Inventor
宏二 井原
秀介 内海
辰哉 各務
俊也 浜田
靖 藤波
Original Assignee
ソニー株式会社
株式会社ソニー・コンピュータエンタテインメント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社, 株式会社ソニー・コンピュータエンタテインメント filed Critical ソニー株式会社
Priority to JP2004350191A priority Critical patent/JP4275611B2/en
Publication of JP2006164326A publication Critical patent/JP2006164326A/en
Application granted granted Critical
Publication of JP4275611B2 publication Critical patent/JP4275611B2/en
Application status is Expired - Fee Related legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/322Indexing; 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 used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • 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
    • 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
    • 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

Description

  The present invention relates to a playback device, a playback method and a playback program, a recording medium, and a data structure that can easily control playback of a program recorded on a large-capacity recording medium.

  Conventionally, in cell packages that provide video and audio such as movies, dramas, and music concerts on a recording medium such as a DVD that is packaged and provided, a menu screen and a submenu screen for various settings can be displayed. On these menu screens, an interactive function for accepting input from the user and selecting a button (button image) displayed on the screen and instructing execution of the selected function has been realized.

  For example, in DVD video, such functions as menu screens and buttons are provided in the MPEG2 program stream as well as the sub-picture data multiplexed with the video stream in the MPEG2 (Moving Pictures Experts Group 2) program stream. This is realized by the highlight data in the multiplexed navigation pack. In other words, a bitmap image of a button is displayed in the same mechanism as subtitle display by sub-picture data, and a button for which selection or execution is instructed by the user is visually changed by changing the color of the bitmap image according to highlight data, for example. The effect is realized.

  In the highlight data, whether the newly specified button is selected or not when the user changes the selected button by operating the cursor key etc. And information on the color of the buttons in the selected state and the execution state are described. Further, in the highlight data, a navigation command (button command) to be executed when the button is put into an execution state is described. That is, in DVD video, a program (navigation command) that is executed when a button displayed on the screen is operated is distributed and multiplexed in the MPEG2 program stream.

Thus, the highlight data is distributed and multiplexed in the MPEG2 program stream, and is read into the player simultaneously with the video stream and the audio stream when the menu screen is displayed. When the menu screen is displayed, the read video stream is used as a moving image in the background of the menu screen, and the audio stream is used as background music (BGM). Patent Document 1 describes a technique for multiplexing button images and the like in a stream as described above.
JP 2004-304767 A

  According to this method, parts data such as button image data, a video stream, and an audio stream that are used during playback of a menu screen or the like are read and read from the disc as many times as necessary for playback of the menu screen or the like. There is an advantage that the capacity of the built-in memory of the player for temporarily storing the component data can be reduced.

  However, the above-described method for distributing and multiplexing highlight data in an MPEG2 program stream has a problem in that there are various restrictions as described below in order to realize an interactive function.

  First, since the production of interactive functions such as button images and menu screens is not independent of the creation (encoding) and multiplexing of MPEG2 elementary streams, the production of menu screens and the production of video are independent of each other. Difficult to do.

  Second, since navigation commands are distributed and multiplexed in an MPEG2 stream, it is difficult to debug a program at the time of production.

  Third, since navigation commands are distributed and multiplexed in the MPEG2 stream, there are restrictions on the program execution in the player. That is, in the conventional method, a navigation command executed at the same time as the video and audio is embedded in the vicinity where the video and audio data are multiplexed. become. For this reason, for example, only navigation commands are prefetched and speculatively executed to speed up the response to a menu screen display or user operation.

  Fourth, in the conventional method, when the menu screen is called, the reproduction of the moving image is interrupted. This is because the menu screen is called to jump to a location where the sub-picture data constituting the menu screen is multiplexed. For this reason, the playback of the video that was played back immediately before the jump is interrupted. In addition, when the menu screen is structured to be repeatedly reproduced, the above-described jump occurs at the repetition point, and in this case, the moving image reproduction is interrupted.

  Fifth, it is difficult to reuse a program for realizing an interactive function such as displaying a menu screen. This is because the position at which the sub-picture stream or the navigation pack in which highlight data is stored is multiplexed in the MPEG2 stream is closely related to the video stream, so the program is applied to other video streams. This is because the sub-picture stream or the navigation pack needs to be remultiplexed.

  To solve these problems, the data and programs that make up the menu screen are stored in a separate data file without being multiplexed into the video stream or audio stream, and this data file is played back during video playback. A method of reading and executing with a video stream or an audio stream to be executed can be considered.

  However, even this method has the following problems. In general, there is an upper limit to the data rate (reading rate) when reading data from the disc, and during video playback, the reading rate from the disc reaches the upper limit due to reading of the multiplexed stream. Therefore, the data file for realizing the interactive function needs to be read in advance before reading the stream. That is, the data file for realizing the interactive function is read before the video reproduction is started and stored in the memory, and then reading of the multiplexed stream is started.

  On the other hand, since there is an upper limit on the capacity of the built-in memory of the player, the limitation of the memory capacity limits the size of the data file, which limits the degree of freedom of content production. For example, the number of button images that can be used is limited, and it is difficult to provide a menu screen rich in variations. Even if it is desired to use image data having a larger number of colors or high-resolution image data as the button image, the number of colors and the resolution are limited by the memory capacity.

  Accordingly, an object of the present invention is to provide a playback device, a playback method and a playback program, a recording medium, and a data structure that can realize an interactive function with a higher degree of freedom.

  In order to solve the above-described problem, the invention described in claim 1 includes a content data including at least one of a video stream and an audio stream, a reproduction control program for controlling reproduction of the content data, and a reproduction control program. A computer-readable recording medium on which one or a plurality of resource files including data to be used is recorded, and the file name of the resource file indicates a language that is normally used when reproducing content data A computer-readable recording medium including information and information indicating a language attribute of a resource file.

  According to a fourth aspect of the present invention, in a playback device for playing back content data recorded on a recording medium, content data including at least one of a video stream and an audio stream, and playback of the content data are controlled. Read means for reading data from a recording medium in which a reproduction control program and one or more resource files including data used by the reproduction control program are recorded, and storage means for storing the resource file read by the read means And player means for playing back content data in accordance with the playback control program, and when a plurality of resource files are recorded on the recording medium, the reading means plays back the content from among the plurality of resource files by the player means. When The resource file used in a reproducing apparatus which is characterized in that the read out by selecting based on the file name of the resource file.

  According to a seventh aspect of the present invention, there is provided a playback method for playing back content data recorded on a recording medium, in which content data including at least one of a video stream and an audio stream and playback of the content data are player means. When reproducing a recording medium on which one or a plurality of resource files including a reproduction control program to be controlled and data used by the reproduction control program is reproduced, when a plurality of resource files are recorded on the recording medium, The reproduction method is characterized in that a resource file used first when the player means reproduces content from the top among a plurality of resource files is selected and read based on the file name of the resource file.

  According to an eighth aspect of the present invention, in a playback program for causing a computer apparatus to execute a playback method for playing back content data recorded on a recording medium, the playback method includes at least one of a video stream and an audio stream. When reproducing a recording medium in which one or a plurality of resource files including content data included, a reproduction control program for controlling the reproduction of the content data and data used by the reproduction control program are recorded, is recorded. When a plurality of resource files are recorded, the resource file that is used first when the player means plays the content from the top of the plurality of resource files is selected and read based on the file name of the resource file. Specially Which is a reproduction program to be.

  According to a ninth aspect of the present invention, there is provided a recording medium readable by a computer device on which a reproduction program for causing a computer device to execute a reproduction method for reproducing content data recorded on the recording medium is recorded. One or a plurality of resource files including content data including at least one of a video stream and an audio stream, a reproduction control program for causing the player means to control reproduction of the content data, and data used by the reproduction control program are recorded. When a plurality of resource files are recorded on the recording medium when the recorded recording medium is reproduced, the resource file that is used first when the player means reproduces the content from the top of the plurality of resource files, file of A computer-readable recording medium apparatus being characterized in that the read out and selected based on Airu name.

  According to a tenth aspect of the present invention, in a playback device for playing back content data recorded on a recording medium, content data including at least one of a video stream and an audio stream, and playback of the content data are controlled. Reading means for reading data from a recording medium on which a reproduction control program and a plurality of resource files including data used by the reproduction control program are recorded, storage means for storing the resource file read by the reading means, and reproduction control The content data is reproduced according to the program, and the reproduction of the content data is classified into two states classified according to whether or not the content data is reproduced, and two states classified according to whether or not a control command corresponding to a user operation is accepted. Defined by a combination of Player means for controlling based on the four states, and resource file switching control means for controlling switching of a plurality of resource files based on a command of the playback control program during playback of the content. Among these, the resource file is switched when the control command is not accepted, and when the content data is being played back, or when the content data is not being played back. It is a playback device.

  According to a twelfth aspect of the present invention, there is provided a reproduction method for reproducing content data recorded on a recording medium, wherein the content data including at least one of a video stream and an audio stream and reproduction of the content data by a player means. Whether or not the content data of the player means is reproduced according to the reproduction control program by reading the data from the recording medium on which the reproduction control program for controlling the data and the plurality of resource files including the data used by the reproduction control program are recorded The playback of content data is controlled based on the four states defined by the combination of the two states classified by 2 and the two states classified by whether or not a control command corresponding to a user operation is accepted. To playback control program instructions The plurality of resource files are switched, and the switching of the plurality of resource files is performed in a pause state in a state in which the control command is not accepted and the content data is being reproduced, among the four states of the player means. This is a playback method characterized in that it is performed when content data is not being played back.

  According to a thirteenth aspect of the present invention, in a playback program for causing a computer device to execute a playback method for playing back content data recorded on a recording medium, the playback method includes at least one of a video stream and an audio stream. Data is read from a recording medium in which content data including the content data, a playback control program for controlling playback of content data by a player means, and a plurality of resource files including data used by the playback control program are recorded. Based on the four states defined by the combination of the two states classified by whether or not the content data is being reproduced and the two states classified by whether or not to accept a control command according to a user operation, Playing content data And switching a plurality of resource files based on a command of a playback control program during playback of the content, the switching of the plurality of resource files is a state in which a control command is not accepted among the four states of the player means, and A reproduction program characterized in that the reproduction program is performed when the content data is being reproduced or when the content data is not being reproduced.

  According to a fourteenth aspect of the present invention, there is provided a recording medium readable by a computer device on which a reproduction program for causing a computer device to execute a reproduction method for reproducing content data recorded on the recording medium is recorded. Recording in which content data including at least one of a video stream and an audio stream, a reproduction control program for controlling reproduction of content data by a player means, and a plurality of resource files including data used by the reproduction control program are recorded Two states classified according to whether or not content data is being reproduced by the player means and two states classified according to whether or not a control command corresponding to a user operation is accepted according to the reproduction control program. In combination with Based on the four defined states, the playback of the content data is controlled, and a plurality of resource files are switched based on the instruction of the playback control program during the playback of the content. Of the four states, the computer is configured to be performed in a state where a control command is not accepted, a state where the content data is being reproduced, or a state where the content data is not reproduced. A recording medium readable by the apparatus.

  According to the fifteenth aspect of the present invention, there is provided content data including at least one of a video stream and an audio stream, a reproduction control program for causing the player means to control reproduction of the content data, and data used by the reproduction control program. A computer-readable recording medium having a plurality of resource files recorded therein, wherein the playback control program is classified into two states classified according to whether or not content data is being played back, and a user operation. A reproduction control command is given to the player means for controlling the reproduction of the content data based on the four states defined by the combination with the two states classified according to whether or not the control command is accepted, thereby controlling the reproduction of the content. Based on the instructions of the playback control program When the player means is in a state in which the control command is not accepted among the four states, and is in a paused state in which content data is being reproduced or in a state in which content data is not being reproduced, the content is being reproduced. It is a computer-readable recording medium characterized by switching a plurality of resource files.

  The invention described in claim 17 includes content data including at least one of a video stream and an audio stream, a playback control program for controlling playback of the content data, and data used by the playback control program. A data structure that includes multiple resource files, and the file name of the resource file includes information indicating the language that is normally used when playing back content data, and information indicating the language attribute of the resource file It is a data structure characterized by

  As described above, the invention described in claim 1 includes content data including at least one of a video stream and an audio stream, a reproduction control program for controlling reproduction of the content data, and data used by the reproduction control program. A computer-readable recording medium in which one or a plurality of resource files are recorded, the resource file name including information indicating a language used in standard reproduction of content data, and a resource Since information indicating the language attribute of the file is included, one file for displaying an appropriate language can be selected from a plurality of resource files based on the file name, and the content and the resource file are independently stored in the recording medium. Can record.

  According to the fourth, seventh, eighth, and ninth aspects of the present invention, there is provided content data including at least one of a video stream and an audio stream, a reproduction control program for causing the player means to control reproduction of the content data, and reproduction control. When playing back a recording medium on which one or more resource files including data used by the program are recorded, when the plurality of resource files are recorded on the recording medium, the content is played out of the plurality of resource files. Since the resource file used first when the means plays from the beginning is selected and read based on the file name of the resource file, even if multiple resource files are recorded on the recording medium, The initial selection can be made automatically It can be recorded in the independently recording medium the content and resource files.

  The inventions described in claims 10, 12, 13 and 14 include content data including at least one of a video stream and an audio stream, a reproduction control program for controlling reproduction of content data by a player means, and reproduction control. Two states classified according to whether or not the content data is being reproduced by the player means according to the reproduction control program, by reading data from a recording medium on which a plurality of resource files including data used by the program are recorded, and the user Based on four states defined by combinations with two states classified according to whether or not a control command corresponding to an operation is accepted, the reproduction of content data is controlled, and a plurality of units are based on a command of a reproduction control program during the reproduction of content. Switch resource files The switching of a plurality of resource files is a state in which the control command is not accepted among the four states of the player means, a pause state in a state where content data is being reproduced, or a state in which content data is not being reproduced Therefore, it is possible to safely switch the resource file during content reproduction.

  According to the fifteenth aspect of the present invention, there is provided content data including at least one of a video stream and an audio stream, a reproduction control program for causing the player means to control reproduction of the content data, and data used by the reproduction control program. A computer-readable recording medium having a plurality of resource files recorded therein, wherein the playback control program is classified into two states classified according to whether or not content data is being played back, and a user operation. A reproduction control command is given to the player means for controlling the reproduction of the content data based on the four states defined by the combination with the two states classified according to whether or not the control command is accepted, thereby controlling the reproduction of the content. Based on the instructions of the playback control program When the player means is in a state in which the control command is not accepted among the four states, and is in a paused state in which content data is being reproduced or in a state in which content data is not being reproduced, the content is being reproduced. Since a plurality of resource files are switched, it is possible to cause the playback device to safely switch the resource file during content playback.

  The invention described in claim 17 includes content data including at least one of a video stream and an audio stream, a playback control program for controlling playback of the content data, and data used by the playback control program. A data structure that includes multiple resource files, and the file name of the resource file includes information indicating the language that is normally used when playing back content data, and information indicating the language attribute of the resource file Therefore, one file that displays an appropriate language can be selected from a plurality of resource files based on the file name, and the content and the resource file can be provided independently.

  In the present invention, the naming convention for the resource file is appropriately set according to the language code, whether it is the default language, the aspect ratio of the assumed display device, the identification number, etc. A plurality of resource files can be placed, and the disk playback device can automatically determine the resource file to be read first when the disc is loaded into the disk playback device. Therefore, there is an effect that the content and the resource file can be recorded on the recording medium independently.

  In addition, the present invention obtains a player state required when switching a resource file during content playback, and determines whether or not the player state is in the state when switching a resource file during content playback. Yes. Therefore, it is possible to switch the resource file during the content reproduction, thereby relaxing the limitation of the memory capacity for storing the resource file in the player and enabling the production of the content with a higher degree of freedom.

  Since resource files are stored on the disk independently of stream files, the creation of resource files is independent of the creation (encoding) and multiplexing of elementary streams. Can be implemented simultaneously in parallel.

  Further, since the program for displaying the menu and the like is stored on the disk as an independent file and is not distributed and multiplexed in the stream, the program can be debugged easily.

  Furthermore, since a program for displaying a menu or the like is stored on the disk as an independent file and distributed in the stream and not multiplexed, there is an effect that video reproduction and program execution can be made independent. Accordingly, for example, it is possible to perform processing in which the menu screen is displayed over the background video image without interrupting the video playback while the background video playback is continued.

  In addition, since the program for displaying the menu and the like is independent of the stream, there is an effect that the program can be easily reused. For example, even when an existing program is applied to another stream, it is only necessary to rewrite link information specifying a stream number and a time.

Hereinafter, an embodiment of the present invention will be described in the following order.
1. About the UMD video standard 2. UMD video standard player model 3. Movie player event model 4. Movie player object Example of script program 6. File management structure Disc playback device 8. 8. State transition model of movie player 8-1. Definition of movie player status 8-2. Method for causing state transition in movie player 8-3. Operation of movie player during play list playback 8-4. Movie player playback recovery function 8-5. 8. Life cycle of each data About switching resource files

1. First, in order to facilitate understanding, a system applicable to this embodiment will be schematically described. In one embodiment of the present invention, the player model is described using a script language called an ECMA script. The ECMA script is a cross-platform scripting language based on JavaScript (registered trademark) defined by ECMA (European Computer Manufacturers Association). The ECMA script is suitable for use in the player model according to the present invention because it has a high affinity with an HTML document and can define an original object.

  In other words, in the conventional DVD video, a non-generic command defined in the DVD video standard is used to describe a control program for realizing an interactive function. The control program is embedded in a plurality of locations in a plurality of files and data files, and further distributed and embedded in an AV stream file. Conditions and order in which the embedded control program is executed are in accordance with the DVD standard. It was decided.

  In such a DVD video system, it is difficult to construct a general-purpose content production system. For this reason, content creation using a template for creating a story by applying it to a predetermined script has been performed. When producing complex content that cannot be handled by templates, the content production system itself was first created in a custom-made manner. In one embodiment of the present invention, such a problem is solved by using an ECMA script which is a general-purpose and highly extensible script language for controlling AV contents.

  Hereinafter, a standard based on an embodiment of the present invention using a script language based on the ECMA script is referred to as a UMD (Universal Media Disc: registered trademark) video standard. Of the UMD video standard, a part particularly related to a script is called a UMD video script standard.

  The UMD video standard will be schematically described. FIG. 1 shows the layer structure of the UMD video standard. In the UMD video standard, a three-layer structure including a script layer, a playlist layer, and a clip layer is defined, and stream management is performed based on this structure.

  In the UMD video standard, digitally encoded video, audio, and subtitles are handled as an MPEG2 stream that is multiplexed as a packetized elementary stream of MPEG2 (Moving Pictures Experts Group 2). The MPEG2 stream in which the video, audio, and subtitle elementary streams are multiplexed is referred to as a clip AV stream. The clip AV stream is stored in a clip AV stream file. When a clip AV stream file is recorded, a clip information file is created at the same time in a one-to-one correspondence with the clip AV stream file. A set of the clip information file and the corresponding clip AV stream file is called a clip.

  The clip should be called a unit of recording on the disc, and in what order the clip is played back at the time of playback is managed by a playlist layer which is a higher layer of the clip. The playlist layer is a layer that specifies a playback path of a clip, and includes one or a plurality of playlists (PlayList). The playlist is made up of a set of play items (PlayItem). A play item includes a set of in and out points that indicate the playback range of the clip. By connecting play items, clips can be played back in any order. It becomes like this. Play items can be specified by duplicating clips. The IN point and OUT point of the clip AV stream file are specified by a time stamp (time in the clip), and the time stamp is converted into a byte position on the clip AV stream by the information of the clip information file.

  A playlist has only a structure in which play items indicating all or part of a clip are played according to an order, and only the playlist is used to realize branching of the playback order and bidirectionality with the user. It is not possible. In the embodiment of the present invention, a plurality of playlists are collected in one file “PLAYLIST.DAT”.

  The script layer is a layer constructed by a UMD video script that is an extension of the ECMA script of the language specification. The UMD video script is a script to which an extension for realizing a function specific to UMD video is added based on the ECMA script.

  The script layer is an upper layer of the playlist layer, and includes a command sequence for performing playlist playback instructions and player settings. Playing playlists with conditional branching, such as selecting one of the streams prepared for multiple languages using a script layer command, or changing the playback flow to a playlist selected according to a certain condition Can be realized. An example of an application in which playlist reproduction with such conditional branching is used is multi-story. This script layer introduces a bidirectional function (interactive function) with the user.

  In the embodiment of the present invention, the script layer is configured by a file called a resource file. The resource file is a screen design composed of script data (script program) described based on an actual ECMA script, sound data for outputting a sound effect when a button is operated, image data used for a menu screen background image, and the like. In addition, image data (bitmap data) for displaying a GUI part such as a button image is included.

  There can be a plurality of resource files. In this embodiment, a resource file is given a file name according to a predetermined naming rule described later. For example, the file name extension “RCO” indicates that the file is a resource file.

2. Next, a model of a playback apparatus (player) that plays back data in accordance with the UMD video standard, that is, a player model will be described. The player first reads the resource file, playlist file, and clip information file from the disc, and then reads the clip AV stream file in accordance with the playback order determined by these, and plays back video, audio, subtitles, and the like.

  In the language specification of the script program, a functional block for reproducing a playlist is implemented as an object in the script program. In the UMD video standard, an object for performing play list reproduction is called a movie player object. A play list reproduction instruction and a player setting command are methods of the movie player object. The movie player object is controlled by a method from the script layer. At this time, a function for notifying the script layer of a change in state, a playback position, etc. from the movie player object is required. This corresponds to the movie player object issuing an event to the script program, and the processing corresponding to the event is described as an event handler.

  As described above, information transmission from the movie player object to the script program is performed by an event, and the playback of the clip AV stream can be controlled by the script program by constructing a model that controls the movie player object from the script program by a method. It becomes like this.

  FIG. 2 schematically shows an example player model according to the embodiment of the present invention described above. The movie player 300 is a module that manages playback of video, audio, and subtitles in the UMD video standard. The movie player object described above is an object in a script program for operating the movie object from the script program. In other words, the movie player object is an abstraction of the mounting module that realizes the function of the movie player and can be handled on the script program.

  Since the movie player 300 and the movie player object are considered to represent substantially the same target, the following description will be given with the same reference numerals.

  In FIG. 2, the movie player 300 is a playlist and clip information database according to a method from a lower layer (the native implementation platform 301 in the example of FIG. 2) caused by a user input 310 or the like, or a method from the script layer 302 which is an upper layer. Based on the above, the clip AV stream file is read, and the read clip AV stream is decoded and displayed.

  The inside of the movie player object 300 depends on the implementation of the UMD video player that reproduces the UMD video. From the script layer 302, an API (Application Programming Interface) such as a method or a property is displayed as a black boxed object. Is provided. Here, a UMD video player refers to an actual device in which a movie player is mounted. All UMD video players are mounted with movie players in compliance with the restrictions of the UMD video standard, and have playback compatibility.

  As shown in FIG. 2, the movie player object 300 receives a control command 311 from the native implementation platform 301, a path for notifying the script layer 302 of the event 312, and a path for receiving the method 313 from the script layer 302. The three input / output paths are provided.

  The control command 311 is a command for controlling the operation of the movie player object 300 from the platform 301 of the native implementation. The native implementation platform 301 is, for example, an interface between a part unique to a device and a movie player 300 in a UMD video player as an actual device. An event 312 is a script event from the movie player 300 to the script layer 302. A method 313 is a method instructed to the movie player 300 from the script program of the script layer 302.

  The movie player object 300 includes a UMD video standard playlist and a clip information database 320 therein. The movie player object 300 uses the database 320 to perform invalidation (mask) on the user input 310, processing for converting a playback position specified by time into a byte position in the clip AV stream, and the like.

  The playback module 321 in the movie player object 300 decodes a clip AV stream that is an MPEG2 PS (Program Stream) in which video, audio, and subtitles are multiplexed. The playback module 321 has two states of play and stop, and transits between these two states by a control command and a method (see FIG. 3). Note that the clip AV stream is not limited to MPEG2 PS. For example, even if MPEG2 TS (Transport Stream) is used as the clip AV stream, it can be similarly handled on the model.

  The script layer 302 is a layer that executes a script program based on the UMD video script standard and controls the movie player object 300 and displays a screen. The script layer 302 plays a role of realizing a scenario intended by the content creator. The script layer 302 issues a method 313 to the movie player object 300 and receives an event 312 from the movie player object 300. The script layer 302 exchanges with the native implementation platform 301 such as a key event 314 corresponding to the user input 310 and a method 315 for instructing the native implementation platform 301 to perform screen drawing.

  The native implementation platform 301 has various functions other than those defined in the UMD video standard. In the embodiment of the present invention, since the method 315 that works from the script layer 302 to the native implementation platform 301 exists, the native implementation platform 301 defines an object that abstracts the function, and the method 315 includes the script program. Above, it is considered to belong to this object. This is because a method belongs to an object. Therefore, a control object 330 is defined in the native implementation platform 301, and a method 315 is determined to be a method of the control object 330.

  For example, a button arranged on the menu screen is rendered by the native implementation platform 301 based on a method 315 passed from the script program of the script layer 302 to the native implementation platform 301. When the user performs an operation such as selection or determination on the button, a key event 314 corresponding to the user input 310 is notified from the native implementation platform 301 to the script layer 302, and the script program in the script layer 302 Based on the event 314, processing corresponding to the key input 310 is performed.

  As described above, the movie player 300 controls the decoding and display of video, audio, and subtitles, and the arrangement and display of component images (hereinafter referred to as GUI components) for configuring a GUI (Graphical User Interface) such as buttons, In addition, the role sharing is performed such that the script layer 302 performs processing when an operation such as selection or determination is performed on the GUI component.

  The native implementation platform 301 is a platform on which the movie player object 300 and the script program operate. For example, when an actual UMD video player is hardware, processing between the hardware and the player model is performed. Implemented specifically in hardware to act as an intermediary.

  For example, the native implementation platform 301 receives a user input 310 from a user, and determines whether the received user input 310 is a command for the movie player 300 or a command drawn and displayed on the script layer 302. If it is determined that the user input 310 is a command for the movie player 300, the native implementation platform 301 converts the user input 310 into a control command 311 that is an internal control command for the movie player 300, and controls the movie player 300. Issue an order.

  On the other hand, if the native implementation platform 301 determines that the user input 310 is an instruction for a GUI component drawn and displayed on the script layer 302, the native implementation platform 301 notifies the script layer 302 of a key event 314 corresponding to the user input 310. . Based on the method 315 instructed from the script layer 302 in response to the key event 314, for example, a button image can be displayed on the screen. That is, the native implementation platform 301 and the script layer 302 can directly pass events and methods without going through the movie player 300.

  Also, for example, the native implementation platform 301 is configured to access the properties of the movie player 300 as will be described later and view the status of the movie player 300.

  Next, the movie player 300 will be described in more detail. FIG. 3 shows an internal configuration of an example of the movie player 300. As described above, the movie player 300 includes the database 320 and the playback module 321. The database 320 is an area for storing playlist information read from the disc and clip information, that is, clip information.

  The playback module 321 includes a decoder engine 322 and a property 323 that is a value representing the state of the playback module 321. There are two types of properties 323, such as a language code, a property 323A (read-only parameter) whose value is determined by the initial setting of the movie player 300, and a property 323B (player status) whose value changes depending on the state of the playback module 321. There is.

  The property 323A whose value is determined by the initial setting is set by a native system, for example, an actual device, and the value is not changed by a playlist, clip information, or script program. The property 323A can only be read from the script program. On the other hand, the property 323B representing the state of the playback module 321 can read a value from the script program and write a value from a part of the script program.

  In this operation model, it is assumed that the playlist and clip information are preloaded from the disc before reproduction of the clip AV stream. However, the present invention is not limited to this, and it is only necessary to realize the operation defined by the movie player model even in other implementations.

  The movie player object 300 reproduces the designated playlist in accordance with an instruction from the script layer 302 or the native implementation platform 301. For example, the movie player 300 refers to the database 320 and obtains the playback position of the clip AV stream corresponding to the designated playlist as the byte position in the file. In the playback module 321, the decoder engine 322 controls the decoding of the clip AV stream based on the reproduction position information.

  As shown in FIG. 4, the movie player 300 has two states of play and stop according to the reproduction status of the playlist. The play state indicates a state in which a play list is designated and the play list is being reproduced. In addition to normal playback, various statuses such as variable speed playback such as 2 × speed and 1/2 × speed, forward fast forward and reverse fast forward, and pause (pause) are included in the play state. The so-called frame-by-frame playback in which playback is advanced or returned in frame units is a state in which a pause state and a play state are repeated. The stop state is a state where the playlist is not being played back. In the stop state, no playlist is selected, and the value of the player status indicating “currently playing playlist number” is indefinite.

  For example, the state of the movie player 300 is associated with the state transition of play and stop in the decoder engine 322 in the movie player 300, and the value of the property 323B is updated according to the state transition of the decoder engine 322.

  The resume information 324 stores the state immediately before the stop state. For example, when the movie player 300 decodes a playlist and is in the play state, when the state transitions to the stop state, the state immediately before the stop state is stored. Also, a plurality of resume information 324 can be stored in a non-volatile memory possessed by the player as hardware so that it can be identified for each title of the disc. For example, a disc has unique identification information (referred to as a title ID) for each title of the disc, and resume information 324 is stored in association with this identification information. In this way, when the disc with the title corresponding to the identification information transitions from the stop state to the play state next based on the information of the resume information 324, playback of the disc is performed immediately before the previous stop state. Can be started from.

3. About the event model of the movie player The event model of the movie player 300 will be described. The movie player 300 generates various events in a play state in which a play list is reproduced. This event causes an execution of a processing program called an event handler described in a script. An event handler is a method that is called when an event occurs. A program execution model that starts execution of a processing program when this event occurs is called an event-driven model. In the event-driven model, an irregular event occurs, and a program prepared for the occurrence of the event is executed. In this embodiment, the script program controls the operation of the movie player object 300 by an event handler group.

  FIG. 5 schematically shows an event model of the movie player 300 according to the embodiment of the present invention. In FIG. 5, event handlers onEventA (), onEventB () and onEventC () are interfaces, and the contents of each event handler are described in a script. The content of the event handler is created and implemented on the content creator side, for example. In the UMD video script standard, an event handler is prepared for each event notified from the movie player object 300 to the script program. In the example of FIG. 5, the processing program to be executed when the event A occurs is determined to be the event handler onEventA (). Similarly, for event B and event C, the corresponding event handler onEventB () is executed when event B occurs, and the corresponding event handler onEventC () is executed when event C occurs.

  The event handler that is called in response to the occurrence of an event is selected on the system side, so the content creator does not need to describe in the script program a process for determining which event has occurred.

  FIG. 6 shows an example of an event that occurs during playback of a playlist. Since a chapter mark ChapterMark is set at the top of the playlist PlayList, an event Chapter corresponding to the chapter mark is first generated when playback is started from the top of the playlist. Further, every time a chapter changes, an event chapter is notified to the script layer 302, and a corresponding event handler onChapter is executed. Further, when playback reaches the time at which the event mark EventMark is set, a corresponding mark event occurs. When the playback reaches the end of the playlist, the playback is paused at the end of the playlist, and the event PlayListEnd is notified from the movie player 300 to the script layer 302. On the script layer 302 side, the start of playback of another playlist is instructed in the corresponding event handler onPlayListEnd (). In this way, a series of play list reproduction is continued in the order intended by the content creator.

  As described above, it is assumed that various events occur during the operation of the player, and the higher-level program can grasp the state of the player by transmitting the event occurrence to the higher-level program. The host program handles various event occurrences by preparing a program (event handler) that is executed when each event occurrence is notified. Details of the event and event handler will be described later.

  When the event handler is not described by the content creator, the player built-in operation (default event handler) defined in the standard is executed, or the event is ignored and nothing is executed. When there is no need to perform any processing, it is possible to actively ignore an event by not writing an event handler corresponding to the event.

  As an event model, in addition to the above, if an object registers a listener corresponding to a certain event in the player object, and the event occurring in the player object is an registered event, the object that registered the event from the player object An event listener model that sends events to the object and executes the corresponding method on the object, or a single method model that calls a single method when any event occurs can be considered. .

  The event model according to this embodiment is simpler than the event listener model that requires processing such as event registration and event registration deletion. In addition, the single method model needs to know in which event an event has occurred, and describe in the method a pre-process for switching a processing routine prepared for each event. Since the method is implemented by the content creator, the method is simple, but the burden on the content creator increases. Furthermore, one large processing program (method) is called every time an event occurs, which occupies a large memory area and is considered to slow down the execution speed. According to the embodiment of the present invention, a model that prepares a processing program (event handler) for each event is advantageous in this respect.

4). Regarding Movie Player Object Next, external specifications of the movie player object 300 will be described. In general, an object defined by a language conforming to the ECMA script language specification has properties and methods. The movie player object 300 according to this embodiment also has properties and methods in the same manner as described above with reference to FIGS. A property can be directly read and written by specifying a target object name and a property name from an external object. Not limited to this, by defining the method setXXX () ("XXX" is the target property name) that sets property values and the method getXXX () that reads property values, the properties of other objects can be defined. Reading and writing can be performed by methods.

  FIG. 7 shows a list of examples of properties that the movie player object 300 has. This corresponds to the property 323 in FIG. FIG. 7A shows an example property belonging to the read-only parameter 323A in FIG. A property scriptVersion indicates the version of the UMD video script. A property audioChannelCapability indicates the number of audio channels that can be reproduced by the UMD video player. A property languageCode indicates the language code of the menu display language set in the UMD video player. A property audioLanguageCode indicates the language code of the audio language set in the UMD video player. Property subtitleLanguageCode indicates the language code of the subtitle language set in the UMD video player.

  When the disc is loaded, a script file to be read from the disc is determined based on the language code indicated by the property languageCode set in the read-only parameter 323A. If there is no script file corresponding to the language on the loaded disc, a default script file is read. For example, among the plurality of script files, the file arranged at the top on the disk is read as the default script file.

  FIG. 7B shows an example of properties belonging to the player status 323B in FIG. A property “playListNumber” indicates the number of a playlist that is currently being reproduced. A property chapterNumber indicates the number of the chapter that is currently being played back. Property videoNumber indicates the number of the video stream currently being played back. A property audioNumber indicates the number of the audio stream currently being reproduced. A property subtitleNumber indicates the number of the subtitle stream currently being reproduced. Property playListTime indicates the time when the top of the playlist is 0. Property audioFlag indicates ON / OFF of audio reproduction and designation of dual mono LR. A property subtitleFlag indicates ON / OFF of subtitle display.

  Note that dual mono is a mode in which the left and right (L, R) channels of stereo audio are used as independent mono audio channels.

  Each property belonging to the player status 323B has such information when the movie player 300 is in a reproduction or pause state. When transitioning to the stopped state, each property belonging to the player status 323B at that time is backed up as resume information (resumeInformation) 324. At this time, the contents of the player status 323B may be cleared.

  FIG. 8 shows a list of examples of methods that the movie player object 300 has. This corresponds to the method 313 in FIG. The method play () plays a video. The method playChapter () plays a video by specifying a chapter. A method resume () starts reproduction using the resume information 324. The method stop () stops video playback. The method pause () pauses video playback. The method playStep () plays the video frame by frame. A method changeStream () changes a video stream, an audio stream, and / or a subtitle stream. A method getPlayerStatus () acquires a status such as playback, stop, and pause in the movie player 300. A method changeResumeInfo () changes the contents of the resume information 324. The method reset () stops the video reproduction and clears the contents of the resume information 324.

  In the UMD video standard, video can be displayed on a part of a display screen. The following four methods are related to video display in this case. The method setPos () sets the video display position. The method getPos () acquires the video display position. The method setSize () sets the video display size. The method getSize () acquires the video display size.

  In practice, the movie player 300 and the native implementation platform 301 are integrally configured. In other words, which part is associated with the relationship between the UMD player as the hardware that actually loads and reproduces the disk and the software that controls the UMD player, which part is performed by hardware and which part is performed by software Depends on the configuration at the time of implementation. For example, when the UMD player is configured by a personal computer or the like, it can be configured by software except for the disk drive. Further, when configured as a single UMD player, in addition to the disk drive, for example, a video decoder or an audio decoder can be configured in hardware. Therefore, the methods, commands, and events performed between the movie player 300 and the native implementation platform 301 are not limited to explicit exchanges as shown in FIG.

    On the other hand, with respect to the key input from the user, the native implementation platform 301 first receives the user input 310 as already described with reference to FIG. That is, the native implementation platform 301 receives a key input from the user as the user input 310, determines whether the user input 310 is a command for the movie player 300 or an event for the script program of the script layer 302, and depending on the determination result Thus, the control command 311 or the key event 314 is generated and notified to the corresponding upper layer (movie player 300 or script layer 302).

  9 and 10 show an example key input by the user input 310. Each key starting with “VK” shown in FIG. 9 and FIG. 10 means a virtual key.

  FIG. 9 shows an example of key input related to the operation of the movie player 300. Key VK_PLAY provides a function corresponding to a playback key that instructs playback. The key VK_STOP provides a function corresponding to a stop key that instructs to stop reproduction. Key VK_PAUSE provides a function corresponding to a pause key that instructs to pause playback. Key VK_FAST_FORWARD provides a function corresponding to a fast-forward key that instructs fast-forward playback. The key VK_FAST_REVERSE provides a function corresponding to a fast reverse key that instructs fast reverse playback. The key VK_SLOW_FORWARD provides a function corresponding to a slow (forward) key that instructs forward slow playback. The key VK_SLOW_REVERSE provides a function corresponding to a slow (reverse) key for instructing slow playback in the reverse direction. Key VK_STEP_FORWARD provides a function corresponding to a frame advance (forward direction) key for instructing forward frame advance reproduction. Key VK_STEP_REVERSE provides a function corresponding to a frame advance (reverse direction) key for instructing reverse frame advance playback.

  Key VK_NEXT provides a function corresponding to a next designation key for inputting a value meaning “next”. Key VK_PREVIOUS provides a function corresponding to a pre-designated key for inputting a value meaning “previous”. For example, using the key VK_NEXT and the key VK_PREVIOUS, it is possible to instruct movement to the previous and next chapters.

  Key VK_ANGLE provides a function corresponding to an angle switching key for instructing angle switching for multi-angle video. Key VK_SUBTITLE provides a function corresponding to a subtitle switching key for switching English subtitles, Japanese subtitles, subtitle display / non-display, and the like. Key VK_AUDIO provides a function corresponding to audio switching for switching audio settings such as surround and bilingual. Key VK_VIDEO_ASPECT provides a function corresponding to an aspect switching key for instructing video aspect ratio switching.

  FIG. 10 shows an example of key input related to menu operation. The key VK_UP provides a function corresponding to the upward direction key for inputting a value meaning “up”. The key VK_DOWN provides a function corresponding to a down direction designation key for inputting a value meaning “down”. The key VK_RIGHT provides a function corresponding to a right direction designation key for inputting a value meaning “right”. The key VK_LEFT provides a function corresponding to a left direction designation key for inputting a value meaning “left”. The key VK_UP_RIGHT provides a function corresponding to an upper right direction designation key for inputting a value meaning “upward right”. The key VK_UP_LEFT provides a function corresponding to an upper left direction designation key for inputting a value meaning “upward leftward”. The key VK_DOWN_RIGHT provides a function corresponding to a lower right direction designation key for inputting a value meaning “slightly lower right”. The key VK_DOWN_LEFT provides a function corresponding to a lower left direction designation key for inputting a value meaning “down diagonally left”. By using these direction keys, for example, it is possible to instruct the movement of the cursor display on the screen.

  Key VK_MENU provides a function corresponding to a menu key for displaying a menu. The key VK_ENTER provides a function corresponding to a determination key for instructing “decision”. Key VK_RETURN provides a function corresponding to a return key that returns one processing step.

  Key VK_COLORED_KEY_1 is colored function key 1, key VK_COLORED_KEY_2 is colored function key 2, key VK_COLORED_KEY_3 is colored function key 3, key VK_COLORED_KEY_4 is colored function key 4, key VK_COLORED_KEY_5 is colored function key 5, Key VK_COLORED_KEY_6 provides a function corresponding to each colored function key 6.

  Since the key input shown in FIG. 9 and the key input shown in FIG. 10 have different roles, the notification destination needs to be distributed by the native implementation platform 301. As described above, an instruction regarding the reproduction of video, audio, and subtitles is given by the key input shown in FIG. Upon receiving the key input shown in FIG. 9 as the user input 310, the native implementation platform 301 converts the received key input into a command shown in FIG.

  On the other hand, since the key input shown in FIG. 10 is a user input 310 to the GUI, this user input needs to be notified to the script layer 302 where the screen configuration and buttons are arranged and processed. Upon receiving the key input shown in FIG. 10 as the user input 310, the native implementation platform 301 converts the event to the event 314 in FIG. FIG. 12 shows an example event 314 corresponding to this key input.

  9 and 10 described above also include key inputs relating to stream switching, such as key VK_ANGLE, key VK_SUBTITLE, and key VK_AUDIO. In these cases, first, the user input 310 is transmitted to the movie player 300, and the movie player 300 is notified of an event indicating that a stream switching request has been made to the script. Then, audio and subtitles are switched by a stream switching method for the movie player 300 from the script program. Therefore, the key input is to be transmitted from the native implementation platform 301 to the movie player 300.

  The above-described command of FIG. 11 will be described in more detail. The command uo_timeSearch (playListTime) instructs playback from the specified time of the playlist being played back. The argument playListTime represents the time when the top of the playlist is 0. Since the play list number cannot be specified with this command, the time represented by the argument playListTime is the specified time within the range of the play list currently being reproduced. The command uo_play () instructs to start playback at 1 × speed. The start position is determined based on the resume information 324. When there is no information corresponding to the resume information 324, this user operation is invalidated. This command corresponds to the method “play ()” that does not specify a playlist number. Also, in this command, the playlist number cannot be specified by user operation.

  The command uo_playChapter (chapterNumber) instructs the start of playback from the chapter specified by the argument chapterNumber of the playlist being played back. If no chapter is specified, the playback start from the beginning of the chapter currently being played back is instructed. This corresponds to the method playChapter () with no chapter number specified. The command uo_playPrevChapter () instructs the start of playback from the previous chapter. The command uo_playNextChapter () instructs the start of playback from the current next chapter.

  The command uo_jumpToEnd () instructs to jump to the end of the playlist. This command corresponds to a user operation that instructs the movie player 300 to stop the current reproduction and generate the event playListEnd. In response to this command, the script layer 302 executes the event handler onPlayListEnd. The command uo_forwardScan (speed) instructs forward playback at the playback speed specified by the argument speed. The command uo_backwardScan (speed) instructs reverse playback at the playback speed specified by the argument speed. The argument speed in the command uo_forwardScan (speed) and the command uo_backwardScan (speed) depends on the implementation of the UMD video player.

  The command uo_playStep (forward) instructs forward frame playback. The command uo_playStep (backward) instructs reverse frame-by-frame playback. The command uo_pauseOn () instructs to pause playback based on a user operation. The command uo_pauseOff () cancels the playback pause state based on a user operation.

  The command uo_setAudioEnabled (boolean) specifies ON / OFF of the audio stream. When this command is executed, the value of the flag audioFlag is also changed to the corresponding content. The command uo_setSubtitleEnabled (boolean) specifies ON / OFF of the subtitle stream. When this command is executed, the value of the flag subtitleFlag is also changed to the corresponding content. The command uo_angleChange () instructs to change the display angle. When the user operation by this command is transmitted to the movie player 300, the movie player 300 notifies the script layer 302 of the event angleChange. The command uo_audioChange (audioStreamNumber) instructs to change the audio stream to be reproduced. The command uo_changeAudioChannel (value) instructs audio channel switching or single channel switching during dual mono playback. When this command is executed, the value of the flag audioFlag is also changed to the corresponding content. The command uo_subtitleChange (subtitleStreamNumber) instructs to change the subtitle stream to be reproduced.

  The relationship between the event shown in FIG. 12 and the method of the movie player 300 of the event will be described in more detail. The event menu jumps to the menu. This event is notified not to the movie player 300 but from the native implementation platform 301 to the script layer 302. When this event menu is received by the script layer 302, the script layer 302 executes the event handler onMenu. The event exit is an event issued from the native implementation platform 301 when the native implementation platform 301 ends the UMD video application. When this event exit is received by the script layer 302, the script layer 302 executes the event handler onExit.

  The event resourceChanged is an event issued from the native implementation platform 301 when a resource file switch occurs. When this event resourceChanged is received by the script layer 302, the script layer 302 executes the event handler onResourceChanged.

  Event up, event down, event left, event right, event focusIn, event focusOut, event push, and event cancel are events that occur when a button image that is a GUI component displayed on the screen is focused. . This event is notified not to the movie player 300 but from the native implementation platform 301 to the script layer 302. The case where the button image is focused is, for example, a state in which the cursor for designating the position on the screen indicates the display coordinates of the button image and the button image can be selected. The event up, event down, event left, and event right occur when the focus on the button image moves to the upper, lower, left, and right button images, respectively. The event focusIn is generated when a certain button image is focused, and the event focusOut is generated when the focused button image is out of focus. The event push occurs when a pressing operation is performed on a focused button image. The event “cancel” is generated when a cancel operation is performed with respect to a button image pressing operation.

  The event autoPlay and the event continuePlay are events that instruct the start of script execution in the script layer 302. The event autoPlay is an event for instructing to automatically start execution of a script when a disc is loaded. The event “continuePlay” instructs to resume the execution of the script from the time when the disk was previously stopped, for example, based on the resume information 324 when the disc is loaded.

  For the event shown in FIG. 12, there is a program that is executed when the event occurs. A program corresponding to this event is called an event handler. Events and event handlers can be associated with each other by name, for example. As an example, an event handler name is obtained by adding “on” to the beginning of an event name. 13 and 14 show an example event handler. By describing the contents of the event handler, the content creator can cause the UMD video player to execute various operations intended by the content creator.

  FIG. 13 shows a part of an example of an event that the movie player object 300 has and a corresponding event handler. The event of FIG. 13 corresponds to the event 312 of FIG. 2 described above, and is notified from the movie player 300 to the script layer 302. The event handler is a kind of interface, and the content is implemented by, for example, a content creator using a script language. By configuring the event handler in this way, it is possible to realize the operation intended by the content creator when the event occurs.

  The event mark and the event handler onMark () are executed when an event mark (Event-mark) is detected. The event mark is embedded in, for example, a playlist, and is detected by the movie player 300 during playback of the playlist. When the event mark is detected by the movie player 300, the event mark is notified from the movie player 300 to the script layer 302. The script layer 302 executes an event handler onMark () corresponding to this event mark. Similarly, the event palyListEnd and the event handler onPlayListEnd () are executed when the play list ends. The event chapter and the event handler onChapter () are executed when a chapter mark (Chapter-mark) is detected. The chapter mark is embedded in, for example, a playlist, and is detected by the movie player 300 during playback of the playlist.

  The event angleChange and the event handler onAngleChange () are executed when an angle change is instructed by a user operation. For example, when the key input VK_ANGLE is input as the user input 310 to the native implementation platform 301 in response to a user operation, the native implementation platform 301 converts the user input 310 into a command uo_angleChange () and passes it to the movie player 300. The movie player 300 generates an event angleChange in response to the command uo_angleChange () and passes it to the script layer 302. The script layer 302 executes an event handler onAngleChange () corresponding to the event angleChange. Similarly, the event audioChange and the event handler onAudioChange () are executed when an audio change is instructed by a user operation. The event subtitleChange and the event handler onSubtitleChange () are executed when a subtitle change is instructed by a user operation.

  FIG. 14 shows a part of an example event handler included in the controller object 330. The event handler shown in FIG. 14 is an event handler that belongs to the controller object 330 of the native implementation platform 301, and is executed when notified from the native implementation platform 301 to the script layer 302.

  The event menu and event handler onMenu () jump to the menu. The event menu is an event notified from the native implementation platform 301 to the script layer 302 when, for example, a menu key is pressed by a user operation or the like. In response to this event, the script layer 302 executes a corresponding event handler onMenu (), and performs arrangement and display of GUI components constituting the menu screen within the event handler onMenu (). The event exit and the event handler onExit () are an event emitted from the native implementation platform 301 and a corresponding event handler when the native implementation platform 301 ends the UMD video application.

  The event exit is notified from the native implementation platform 301 to the script layer 302 when the end of the operation of the UMD video player is instructed by a user operation or the like, for example. The script of the script layer 302 can receive the notified event exit and perform end processing in the event handler onExit ().

  The event resourceChanged and the event handler onResourceChanged () are an event emitted from the native implementation platform 301 and a corresponding event handler after the native implementation platform 301 switches the resource file.

  The event autoPlay and the event handler onAutoPlay (), and the event continuePlay and the event handler onContinuePlay () each start execution of the script.

  In addition to the event handlers of the controller object 330, there are event handlers related to buttons. The event handler related to this button is not related to the present invention, so the explanation is omitted.

  With reference to the flowchart of FIG. 15, an example of a process in which a prepared program is executed triggered by a user input event will be schematically described. FIG. 15 corresponds to this key input when a user presses a key (for example, “next” key) for instructing playback of the next chapter during normal playback of the disc in the UMD video player. In this example, jumping to the next chapter is started and reproduction is started, and a prepared message is displayed on the screen.

  For example, when the user presses the key “next” using the remote control commander of the UMD video player during normal playback of the disc by the UMD video player (step S10), the key VK_NEXT is used as the user input 310 to the native implementation platform 301. Passed. In the native implementation platform 301, a user command uo_playNextChapter () is generated in response to the user input 310 (step S11). This user command uo_playNextChapter () is notified to the movie player 300.

  Upon receiving this command uo_playNextChapter (), the movie player 300 searches the database 320 and acquires the position of the next chapter mark from the playlist information with reference to the currently reproduced position (step S12). In step S13, it is determined whether or not the next chapter mark exists. If it is determined that the next chapter mark does not exist, the chapter reproduction is not performed and the current reproduction is continued.

  On the other hand, if it is determined in step S13 that the next chapter mark exists, the process proceeds to step S14. In step S <b> 14, the movie player 300 stops the current reproduction, and acquires the byte position in the clip AV stream file indicated by the next chapter mark from the feature point information of the clip information file in the database 320. In step S15, the obtained byte position in the file is accessed, and reading of the stream is started from that position to start reproduction.

  Step S16 and subsequent steps are a series of procedures for displaying on the screen a message notifying that the chapter has been switched. When chapters are switched and playback from the beginning of the chapter is started, a chapter event occurs (step S16). For example, a chapter mark provided at the beginning of a chapter is detected by the movie player 300, and an event chapter is generated. This chapter event is notified from the movie player 300 to the script layer 302. The movie player 300 notifies the script layer 302 of the chapter number of the chapter to be jumped at the time of notification of this event. The script layer 302 starts execution of an event handler corresponding to the notified event, for example, event handler onChapter () (step S17).

  In this example, it is assumed that, in the event handler, an operation for displaying a message informing that on the screen when a chapter is switched is described. The script of the script layer 302 executes this event handler, acquires the jump destination chapter number notified from the movie player 300 when the event occurs (step S18), and, for example, acquires the acquired chapter number from the native implementation platform 301. An instruction to display a predetermined message on the screen, such as the beginning of the chapter, is issued. In response to this instruction, the native implementation platform 301 displays a message on the screen (step S19), and the processing by the event handler is ended (step S20).

  Through the processing described above, a chapter jump is performed when the user operates the key “next” for instructing the start of playback of the next chapter, and the start of the chapter at the start of playback of the next chapter that is the jump destination Will be displayed on the screen.

  In this way, the user input event changes the state of the movie player 300 and also triggers the generation of a new event, and various processes can be performed using the newly generated event.

  With the player model as described above, video, audio, and subtitles can be reproduced. By generating an event that is set in advance by a content creator at a certain time during playback and an event handler prepared in advance is executed, an operation intended by the content creator can be realized. In addition, when there is a user operation on the player during playback of the playlist, a control command is given from the native implementation platform 301 to the movie player 300 in response to a user input 310 by the user operation, and as the user intends. It is possible to change the state of the player. Further, the native implementation platform 301 that receives the user input 310 by the user operation on the player notifies the script of the script layer 302 of the event, so that the operation prepared by the content creator can be executed according to the user operation. Become.

  By constructing the player model in this way, it is possible to provide the user with playback of video, audio and subtitles and interactive operation.

5. Example of Script Program Next, an example of the script program of the script layer 302 will be described. First, it is assumed that the content reproduction flow as shown in FIG. 16 is created by the content creator. The content shown in FIG. 16 includes playlists 400 and 401, a top menu 402, and a message 403 as displayed elements. The playlist 400 is for displaying a warning text screen that is automatically displayed when a disc is loaded. The playlist 401 is, for example, a main part of a movie that is the main content. On the top menu screen 402, GUI parts such as buttons are arranged so that playback of the play list 401 can be instructed. The message 403 is displayed at an arbitrary time during the reproduction of the playlist 401.

  Further, in the configuration of FIG. 16, several event handlers are prepared. The event handler onAutoPlay () automatically reproduces the playlist 400 and displays a warning text when a disc is loaded into the UMD player. The event handler onPlayListEnd () is an event handler that is called when playback of the playlist ends, and is called when the playlist 400 or playlist 401 ends in the example of FIG. That is, the event handler onPlayListEnd () determines which playlist has ended, and when the playback of the playlist 400 has ended, instructs the start of playback of the playlist 401. Further, when the reproduction of the play list 401 is finished, the top menu screen 402 is called.

  The event handler onMenu () is called when the user operates the menu key, and calls the top menu 402 and displays it on the screen. The event handler onMark () is executed when the time indicated by the mark Mark is reached during reproduction. In the example of FIG. 16, the mark Mark is set for the playlist 401, and when the reproduction of the playlist 401 reaches the time pointed to by the mark Mark, a message 403 is displayed on the screen. .

  That is, in the example of FIG. 16, when a disc is loaded in the UMD video player, the event handler onAutoPlay is called, the play list 400 is reproduced, and a warning screen is displayed. When the playback time of the playlist 400 elapses and the end of the playlist 400 is reached, the event handler onPlayListEnd is called, it is determined that the playlist 400 has been played back to the end, and the next playlist 401 is played back. Here, when the user operates the menu key during reproduction of the play list 401, the event handler onMenu is called and the top menu screen 402 is displayed. In addition, the event handler onMenu starts playback from the top of the playlist 401 in response to a predetermined operation on the top menu screen 402. Further, when the playback time of the playlist 401 reaches the time indicated by the mark Mark, the event handler onMark is called and a message 403 is displayed on the screen. When the play list 401 is reproduced to the end, the event handler onPlayListEnd is called, and it is determined that the play list 401 has been reproduced to the end, and the top menu screen 402 is displayed.

  FIG. 17 shows an example script program for realizing the operation shown in FIG. As described above, in the script program, event handlers are arranged, and corresponding event handlers are executed according to the occurrence of an event. The script program is stored in a resource file with an extension “RCO”.

  A method for instructing the movie player 300 to play a playlist is “movieplayer.play ()”. In the parentheses, the number of the playlist to be reproduced is described as an argument. When play list playback ends, event playListEnd occurs. When this event playListEnd occurs, the event handler movieplayer.onPlayListEnd () is called from the script. At this time, the object event_info is passed to the script together with the event playListEnd. The object event_info stores a playlist number indicating which playlist has ended, and the like. In the script, the next operation can be changed according to the contents of the object event_info.

6). File Management Structure Next, a file management structure applied to the UMD video standard will be described with reference to FIG. Files are hierarchically managed by the directory structure and recorded on the disc. As the disk file system, a file system defined by ISO (International Organization for Standarization) -9660 or UDF (Universal Disk Format) can be applied.

  A file “TITLEID.DAT” and a directory “VIDEO” are placed under the root directory. A directory “RESOURCE”, a directory “CLIP”, a directory “STREAM”, and a file “PLAYLIST.DAT” are further placed under the directory “VIDEO”.

  The file “TITLEID.DAT” is a file in which a different title identifier is stored for each title (type of content). One disk has one file "TITLEID.DAT".

  A resource file ("JA000000.RCO") is placed under the directory "RESOURCE". As described above, the resource file stores a script program that configures the script layer 302 and stores data used to configure the menu screen, for example, component data such as image data and sound data. Normally, one or a plurality of resource files are placed under the directory “RESOURCE”. The plurality of resource files are created for each language, for example, when preparing a plurality of menus with different display languages. Even in this case, one resource file is used at the same time.

  One or more clip information files are placed under the directory “CLIP”. For clip information files, the file name is a string consisting of 5 or several characters such as “00001” before the delimiter period (number in this example), and the extension after the period is “CLP”. . The extension “CLP” can identify that the file is a clip information file.

  One or more clip AV stream files are placed under the directory “STREAM”. The clip AV stream file has a file name, a character string consisting of 5 or several characters such as “00001” before the period as a delimiter (in this example, a number), and the extension after the period is “PS”. The The extension “PS” can identify that the file is a clip AV stream file. In this embodiment, the clip AV stream file includes a video stream, an audio stream, and a subtitle (caption) stream multiplexed, and as a program stream of MPEG2 (Moving Pictures Experts Group 2) with the above-mentioned extension “PS”. Stored in the identified file.

  As described above, a clip AV stream file is a file obtained by compression encoding and time-division multiplexing video data and audio data. By reading this file and performing decoding processing, video data and audio data are obtained. Is obtained. The clip information file is a file in which the properties of the clip AV stream file are described, and corresponds to the clip AV stream file. In this embodiment, the clip information stream and the corresponding clip AV stream file are matched by matching a character string consisting of 5 to several characters before the extension in the file name. You can easily grasp the relationship.

  As described above, the resource file includes a script file in which a script program is described, and stores a program used to make the playback mode of the disc to which this embodiment is applied interactive. The resource file is read prior to other files stored on the disk.

  The file “PLAYLIST.DAT” is a playlist file in which a playlist that specifies the playback order of the clip AV stream is described. The internal structure of the file “PLAYLIST.DAT” will be described with reference to FIGS. FIG. 19 shows an example of syntax that represents the entire structure of the file “PLAYLIST.DAT”. Here, the syntax is shown based on a description method in C language used as a program description language such as a computer device. This is the same in the diagrams representing other syntaxes.

  A field name_length has a data length of 8 bits and indicates the length of the name given to this playlist file. A field name_string has a data length of 255 bytes and indicates a name given to the playlist file. The field name_string is used as a valid name from the beginning to the byte length represented by the field name_length. For example, if the field name_length has the value “10”, the first 10 bytes from the beginning of the field name_string are interpreted as a valid name.

  A field number_of_PlayLists has a data length of 16 bits and indicates the number of blocks PlayList () described subsequently. The number of blocks PlayList () is described by the number of times indicated in the field number_of_PlayLists by the for loop of the next line. The block PlayList () is the playlist itself.

  An example of the internal structure of the block PlayList () will be described. A field PlayList_data_length is arranged at the head of the block PlayList (). Field PlayList_data_length has a data length of 32 bits and represents the data length of block PlayList () including the field PlayList_data_length. Subsequently, a field reserved_for_word_alignment having a data length of 15 bits and a flag capture_enable_flag_PlayList having a data length of 1 bit are arranged. The field reserved_for_word_alignment is used in combination with the flag capture_enable_flag_PlayList having a data length of 1 bit to align the arrangement in the block PlayList () at a 16-bit position.

  The flag capture_enable_flag_PlayList is a flag indicating whether or not secondary use of a moving image belonging to the block PlayList () including the capture_enable_flag_PlayList is permitted. For example, if the value of the flag capture_enable_flag_PlayList is “1”, this indicates that secondary use of the moving images belonging to the PlayList () within the playback device is permitted.

  In the above description, the flag capture_enable_flag_PlayList is a 1-bit flag, but this is not limited to this example. For example, the flag capture_enable_flag_PlayList may be configured with a plurality of bits to describe stepwise permission for secondary use. As an example, the flag capture_enable_flag_PlayList has a 2-bit configuration. When the value is “0”, secondary usage is completely prohibited, and when the value is “1”, for example, 64 pixels × 64 lines or less, etc. Secondary use is possible only when compression coding is performed. Further, if the value is “2”, it is conceivable that the secondary usage is permitted without limitation. Not limited to this, in the 2-bit configuration, when bit 0 is the value “1”, secondary use in the content playback application is permitted, and when bit 1 is the value “1” Allows secondary use in applications (eg wallpaper images and screen savers). In this case, the values of bit 0 and bit 1 can be used in combination.

  Field PlayList_name_length has a data length of 8 bits and represents the length of the name assigned to this block PlayList (). Field PlayList_name_string has a data length of 255 bits and represents the name assigned to this block PlayList (). The field PlayList_name_string is used as a valid name from the beginning to the byte length represented by the field PlayList_name_string.

  A field number_of_PlayItems has a data length of 16 bits and represents the number of blocks PlayItem () described subsequently. The number of blocks PlayItem () is described by the number of times indicated in the field number_of_PlayItem2 by the for loop of the next line. The block PlayItem () is the play item itself.

  Identification information (ID) is assigned to each block PlayItem () in the block PlayList (). For example, the block PlayItem () described first in the block PlayList () is number 0, and thereafter, serial numbers such as number 1, number 2,... Are assigned in the order of appearance of the block PlayItem (). This serial number is used as identification information of each block PlayItem (). A for-loop argument i repeated for the number of blocks PlauItem () can be used as identification information of the corresponding block PlayItem (). Next to the block PlayItem (), a block PlayListMark () is arranged.

  An example of the internal structure of the block PlayItem () will be described with reference to FIG. A field length is arranged at the head of the block PlayItem (). A field length has a data length of 16 bits and indicates the length of the block PlayItem (). Subsequently, a field Clip_Information_file_name_length is arranged. Field Clip_Information_file_name_length has a data length of 16 bits and represents the length of the name of the clip information file corresponding to this block PlayItem (). A field Clip_Information_file_name has a variable data length in units of bytes and indicates the name of a clip information file corresponding to this block PlayItem (). The field Clip_Information_file_name is used as a valid name from the beginning to the byte length represented by the field Clip_Information_file_name_length. When a clip information file is specified in the field Clip_Information_file_name, a clip AV stream file corresponding to the clip information file can be specified based on the above-described file name correspondence.

  The field IN_time and the field OUT_time each have a data length of 33 bits, and specify the playback start position and playback end position of the clip AV stream file corresponding to the clip information file specified by the field Clip_Information_file_name in the block PlayItem (). Information. By using the information of the field IN_time and the field OUT_time, it is possible to specify the start of reproduction from a portion other than the head of the clip AV stream file. Similarly, it is possible to specify the end of playback other than the rear end of the clip AV stream file. The field reserved_for_word_aliignment is an adjustment field for making the data length of the data structure an integral multiple of 16 bits, and has a data length of 15 bits.

  The internal structure of an example of the block PlayListMark () will be described with reference to FIG. A field length is arranged at the head of the block PlayListMark (). The field length has a data length of 32 bits and represents the length of the block PlayListMark (). Subsequently, field number_of_PlayList_marks is arranged. A field field number_of_PlayList_marks has a data length of 16 bits and indicates the number of subsequent blocks Mark (). The number of blocks Mark () is described by the number of times indicated in the field number_of_PlayList_marks by the for loop in the next line.

  An example of the internal structure of the block Mark () will be described. A block Mark () is preceded by a field mark_type. The field mark_type has a data length of 8 bits and indicates the type of the block Mark () including the field mark_type. In this embodiment, as shown in an example in FIG. 22, two types of marks, a chapter mark and an event mark, are defined. The chapter is a cueing unit for dividing the play list (block PlayList ()), and the chapter mark indicates the chapter position by time information. The event mark is a mark that generates a mark event.

  Field mark_name_length has a data length of 8 bits and represents the length of the name assigned to this block Mark (). A field mark_name_string arranged in the bottom line of the block Mark () indicates a name given to the block Mark (). The field mark_name_string is used as a valid name from the beginning to the byte length represented by the field mark_name_length.

  The four elements of field ref_to_PlayItem_id, field mark_time_stamp, field entry_ES_stream_id, and field entry_ES_private_stream_id associate block Mark () defined on block PlayList () with the clip AV stream file. That is, field ref_to_PlayItem_id has a data length of 16 bits and indicates identification information of block PlayItem (). Thereby, the clip information file and the clip AV stream file are specified.

The field mark_time_stamp has a data length of 33 bits and is used for designating the mark time in the clip AV stream file. This will be schematically described with reference to FIG. 23, the play list is composed of three play items numbers 0, 1 and 2 are designated respectively (PlayItem # 0, PlayItem # 1 and PlayItem # 2), the time t 0 on the playlist, No. 1 In the play item (PlayItem # 1). In addition, it is assumed that the play items of numbers 0, 1, and 2 correspond to the program streams (Program Sream) A, B, and C of the clip AV stream file via the corresponding clip information files, respectively.

In such a case, when a mark is designated at time t 0 on the playlist, the value of the field ref_to_PlayItem_id is set to “1” indicating a play item including time t 0 , and further, on the corresponding clip AV stream file B The time corresponding to the time t 0 is described in the field mark_time_stamp.

  Returning to the description of FIG. 21, the field entry_ES_stream_id and the field entry_ES_private_stream_id are arranged after the field mark_time_stamp. The field entry_ES_stream_id and the field entry_ES_private_stream_id each have a data length of 8 bits, and are used to specify the elementary stream when the block Mark () is associated with the specific elementary stream. Field entry_ES_stream_id and field entry_ES_private_stream_id indicate the stream ID (stream_id) of the packet (packet ()) in which the corresponding elementary stream is multiplexed and the private stream ID (private_stream_id) of the private packet header (private_packet_header ()) .

  Note that the stream ID (stream_id) of these packets (packet ()) and the private stream ID (private_stream_id) of the private packet header (private_packet_header ()) are based on, for example, the definition of the program stream of the MPEG2 system.

  These field entry_ES_stream_id and field entry_ES_private_stream_id are used, for example, when the clip AV stream # 0 and the clip AV stream # 1 have different chapter configurations. When the corresponding block Mark () is not associated with a specific elementary stream, the values of these two fields are set to “0”.

  Next, the internal structure of the clip information file will be described with reference to FIGS. As described above, the clip information file “XXXXX.CLP” describes the properties of the corresponding clip AV stream file “XXXXX.PS” placed under the directory “STREAM”.

  FIG. 24 shows an example of syntax that represents the entire structure of the clip AV stream file “XXXXX.CLP”. The clip AV stream file “XXXXX.CLP” is preceded by a field presentation_start_time and a field presentation_end_time. Field presentation_start_time and field presentation_end_time each have a data length of 33 bits, and indicate the time of the beginning and the end of the corresponding clip AV stream file. As the time information, PTS (Presentation Time Stamp) in the MPEG2 system can be used. PTS has an accuracy of 90 kHz.

  Next, a field reserved_for_word_alignment having a data length of 7 bits and a flag capture_enable_flag_Clip having a data length of 1 bit are arranged. The field reserved_for_word_alignment is used in combination with the flag capture_enable_flag_Clip having a data length of 1 bit to align the arrangement in the file “XXXXX.CLP” at the 16-bit position. The flag capture_enable_flag_Clip is a flag indicating whether or not secondary use of a moving image included in the clip AV stream file corresponding to the file “XXXXX.CLP” is permitted. For example, if the value of the flag capture_enable_flag_Clip is “1”, it indicates that secondary use of the moving image of the clip AV stream file corresponding to the file “XXXXX.CLP” in the playback device is permitted.

  Field number_of_streams has a data length of 8 bits and represents the number of subsequent block StreamInfo () structures. After the field number_of_streams, the block StreamInfo () is described by the number of times indicated by the field number_of_streams by the for loop. A block EP_map () is arranged after the for loop.

  An example of the internal structure of the block StreamInfo () will be described. A field length is arranged at the head of the block StreamInfo (). A field length has a data length of 16 bits and indicates the length of the block StreamInfo (). Subsequently, a field stream_id and a field private_stream_id each having a data length of 8 bits are arranged, and as shown in an example in FIG. 25, the block StreamInfo () is associated with the elementary stream. In the example of FIG. 25, the block StreamInfo () is associated with a video stream with a field stream_id having a value "0xE0" to a value "0xEF", and an ATRAC (Adaptive Transform Acoustic Coding) audio stream, LPCM (with a value "0xBD"). Linear Pulse Code Modulation) Associated with audio stream or subtitle stream. In addition, the block StreamInfo () has the field private_stream_id having a value “0x00” to a value “0x0F”, a value “0x10” to a value “0x1F”, and a value “0x80” to a value “0x9F”, and an ATRAC audio stream or LPCM audio stream And a subtitle stream, respectively.

  In the value notation in FIG. 25, “0x” indicates that the subsequent numerical value is in hexadecimal notation. This is common in the following similar expressions.

  Here, the block StreamInfo () is roughly classified into two types of information: information that does not change in the stream and information that changes in the stream. Information that does not change in the stream is described in the block StaticInfo (). On the other hand, the information that changes in the stream is described in the block DynamicInfo () with the change point specified by time information.

  In the block StreamInfo (), a field reserved_for_word_alignment having a data length of 8 bits for aligning byte positions is arranged after the block StaticInfo (), and then a field number_of_DynamicInfo is arranged. A field number_of_DynaminInfo has a data length of 8 bits and indicates the number of blocks DynamicInfo () described later in the block StreamInfo (). By the for loop, the field pts_change_point and the block DynamicInfo () are described as many times as indicated by the field number_of_DynamicInfo.

  A field pts_change_point has a data length of 33 bits, and indicates the time when information of the corresponding block DynamicInfo () becomes valid by PTS. The leading time for each stream is also indicated by a field pts_change_point, which is equal to the above-described field presentation_start_time defined in the file “XXXXX.CLP”.

  The internal structure of an example of the block StaticInfo () will be described with reference to FIG. The content of the block StaticInfo () differs depending on the type of the corresponding elementary stream. The type of the corresponding elementary stream can be determined based on the values of the field stream_id and the field private_stream_id described with reference to FIG. In FIG. 26, the type of elementary stream corresponding to the block StaticInfo () is described using an if syntax, which is a video stream, an audio stream, or a subtitle (caption) stream. Hereinafter, the block StaticInfo () will be described for each elementary stream.

  When the elementary stream is a video stream, the block StaticInfo () includes a field picture_size and a field frame_rate each having a data length of 4 bits, and a flag cc_flag having a data length of 1 bit. A field picture_size and a field frame_rate indicate the image size and frame frequency of the video stream, respectively. The flag cc_flag indicates whether or not the video stream includes a closed caption. For example, the value of the flag cc_flag is “1”, and the video stream includes a closed caption. The field reserved_for_word_alignment is used to align the data arrangement to 16 bits.

  When the elementary stream is an audio stream, the block StaticInfo () includes a field audio_language_code having a data length of 16 bits, a field channel_configuration having a data length of 8 bits, a flag lfe_exsistance having a data length of 1 bit, and 4 bits. It consists of a field sampling_frequency having a data length. A field audio_language_code indicates a code representing a language included in the audio stream. A field channel_configuration indicates a channel attribute of audio data such as monaural, stereo, and multichannel. A field lfe_existance indicates whether or not a low-frequency emphasis channel is included. For example, a value “1” indicates that it is included. A field sampling_frequency indicates a sampling frequency of audio data. The field reserved_for_word_alignment is used to align the data arrangement to 16 bits.

  When the elementary stream is a subtitle (caption) stream, the block StaticInfo () includes a field subtitle_language_code having a data length of 16 bits and a flag configurable_flag having a data length of 1 bit. A field subtitle_language_code indicates a code representing a language included in the subtitle stream. The flag configurable_flag indicates whether or not the change of the character size and position is permitted when the subtitle stream is displayed. For example, the value “1” indicates that the subtitle stream is permitted. The field reserved_for_word_alignment is used to align the data arrangement to 16 bits.

  The internal structure of an example of the block DynamicInfo () will be described with reference to FIG. In the block DynamicInfo (), a field reserved_for_word_alignment having a data length of 8 bits is arranged at the head. The following contents differ depending on the type of the corresponding elementary stream. The type of the corresponding elementary stream can be determined based on the values of the field stream_id and the field private_stream_id described with reference to FIG. In FIG. 27, the type of elementary stream supported by the block DynamicInfo () is described using an if syntax, which is a video stream, an audio stream, or a subtitle (caption) stream. Hereinafter, the block DynamicInfo () will be described for each elementary stream.

  When the elementary stream is a video stream, the block DynamicInfo () includes a field display_aspect_ratio having a data length of 4 bits. A field display_aspect_ratio indicates whether the video display output aspect ratio is 16: 9 or 4: 3. The field reserved_for_word_alignment is used to align the data arrangement to 16 bits.

  When the elementary stream is an audio stream, the block DynamicInfo () includes a field channel_assignment having a data length of 4 bits. The field channel_assignment indicates whether the output is stereo or dual mono when the audio stream is composed of two channels. The dual mono is used when, for example, bilingual audio can be reproduced. The field reserved_for_word_alignment is used to align the data arrangement to 16 bits.

  When the elementary stream is a subtitle stream, the block DynamicInfo () is configured with a field reserved_for_word_alignment used to align the data arrangement to 16 bits. That is, no dynamically changing attribute is defined for the subtitle stream.

  The internal structure of an example of the block EP_map () will be described using FIG. The block EP_map () represents a position where decoding can be started in the bitstream (also referred to as an entry point or random access point (RAP)) using time information and position information for each elementary stream. . As the position information, for example, a minimum access unit in a recording medium on which an elementary stream is recorded can be used. It is assumed that each elementary stream can be decoded from the position indicated by the block EP_map ().

  In a fixed-rate stream, the decoding startable position can be obtained by calculation, so information such as this block EP_map () is unnecessary. On the other hand, a variable rate stream or a stream whose data size changes for each access unit, such as an MPEG video compression encoding system, is important information for performing random access.

  In the block EP_map (), a field reserve_for_word_alignment having a data length of 8 bits is arranged at the head in order to align the arrangement to 16 bits. Subsequently, field number_of_stream_id_entries is arranged. A field number_of_stream_id_entries has a data length of 8 bits and indicates the number of elementary streams described in this block EP_map (). By the first for loop, the field stream_id, the field private_stream_id, and the field number_of_EP_entries are described as many times as indicated by the field number_of_stream_id_entries. Further, for each description of the first for loop, the field PTS_EP_start and the field RPN_EP_start are arranged by the number of times indicated by the field number_of_EP_entries by the second for loop.

  In the first for loop, first, a field stream_id and a field private_stream_id each having a data length of 8 bits are arranged, and an elementary stream is specified as shown in an example in FIG. Next, the distributed field number_of_EP_entries has a data length of 32 bits and indicates the number of entry points described for the elementary stream. Thereafter, in the second for loop, as many fields PTS_EP_start and RPN_EP_start as the number indicated by the field number_of_EP_entries are arranged.

  Field PTS_EP_start and field RPN_EP_start each have a data length of 33 bits and represent the entry point itself. A field PTS_EP_start indicates the time in the clip AV stream file of the entry point by PTS. On the other hand, the field RPN_EP_start indicates the position of the entry point in the clip AV stream file in units of 2048 bytes, for example.

  In this embodiment, one sector, which is a disk-shaped access unit, is 2048 bytes. Therefore, the position of the entry point in the clip AV stream file is indicated in units of sectors by the field RPN_EP_start.

  Here, the packet private_stream_2 is always arranged immediately before the position where the playback of the video stream can be started. This packet private_stream_2 is a packet in which information usable for decoding a video stream is stored. For this reason, the position of the entry point of the video stream is the position of pack pack () in which the packet private_stream_2 is stored.

  As described above, the block EP_map () associates the time on the clip AV stream with the position in the clip AV stream file. As a result, when the time information (time stamp) of the access point to the clip AV stream is given, it becomes easy to search the data address to start reading data in the clip AV stream file. Random access can be performed smoothly.

  In this embodiment, in the block EP_map (), a set of time information and position information for each elementary stream (a set of the field PTS_EP_start and the field RPN_EP_start in the second for loop) includes the fields PTS_EP_start and Both RPN_EP_starts are registered in advance in ascending order (or descending order). In other words, the time information and the position information are rearranged in a predetermined direction in advance. Therefore, it is possible to execute a binary tree search for the data as it is.

  In the embodiment of the present invention, the video elementary stream is described as an elementary stream based on the MPEG2-Video standard, but this is not limited to this example. For example, the elementary stream of video may be based on MPEG4-Visual or MPEG4-AVC. The audio elementary stream has been described as an ATRAC audio elementary stream. However, this is not limited to this example, and is applicable to, for example, MPEG1 / 2/4 audio.

7). Disc Reproducing Device Next, a disc reproducing device to which an embodiment of the present invention can be applied will be described. FIG. 29 schematically shows a configuration of an example of a disc playback apparatus 100 to which the present invention can be applied. A CPU (Central Processing Unit) 112, a memory 113, a drive interface 114, an input interface 115, a video decoder 116, an audio decoder 117, a video input / output interface 118, and an audio input / output interface 119 are connected to the bus 111, respectively. Each unit of the disc playback apparatus 100 can exchange a video stream, an audio stream, various commands, data, and the like via a bus 111.

  A disk drive 102 is further connected to the drive interface 114. The disk drive 102 exchanges data and commands with the bus 111 via the drive interface 114.

  The CPU 112 has a ROM (Read Only Memory) and a RAM (Random Access Memory) (not shown). According to a program and data stored in the ROM in advance, each unit of the disk playback device 100 and data Commands are exchanged to control the entire disk device 100. The RAM is used as a work memory for the CPU 112.

  Although omitted in FIG. 29, the disc playback apparatus 100 can rewrite data, and the stored contents are retained even after the disc playback apparatus 100 is turned off. Can have sex memory. The non-volatile memory is connected to, for example, the bus 111 so that the CPU 112 can write data into the non-volatile memory and read data from the non-volatile memory.

  The input interface 115 is supplied with an input signal from an input device on which an input operation is actually performed by a user. The input device is, for example, a remote control commander that remotely operates the disc playback apparatus 100 with an infrared signal or the like, or a key provided directly on the disc playback apparatus 100. The input interface 115 converts the input signal supplied from these input devices into a control signal for the CPU 112 and outputs it.

  The disc 101 is recorded with a playlist, a script program, a clip information file, a clip AV stream file, and the like in the format described with reference to FIG. When the disc 101 is loaded in the disc drive 102, the disc 101 is reproduced in accordance with automatic reproduction or user input operation. The script file, playlist file, and clip information file read from the disk 101 are supplied to the CPU 112 and stored in, for example, a RAM included in the CPU 112. The CPU 112 reads a clip AV stream file from the disk 101 based on these data and script programs stored in the RAM.

  The clip AV stream file read from the disk 101 is temporarily stored in the memory 113. The video decoder 116 decodes the video stream and subtitle stream of the clip AV stream file stored in the memory 113 based on the instruction of the CPU 112. The decoded video data and subtitle data are subjected to image processing such as enlargement and reduction processing by the CPU 112, for example, and combined and added to form one video data. These image processes are not limited to this, and can be performed by the video decoder 116 or the video output interface 118. This video data is buffered in the memory 113 and supplied to the video output interface 118. For example, the video output interface 118 converts the supplied video data into an analog video signal and outputs the analog video signal to the video output terminal 120.

  Similarly, the audio decoder 117 decodes the audio stream of the clip AV stream file stored in the memory 113 based on a command from the CPU 112. The decoded audio data is buffered in the memory 113 and supplied to the audio output interface 119. The audio output interface 119 converts the supplied audio data into, for example, an analog audio signal and derives it to the audio output terminal 121.

  Note that, here, it has been described that each unit illustrated in FIG. 29 is configured by independent hardware, but this is not limited to this example. For example, the video decoder 116 and / or the audio decoder 117 can be configured by software operating on the CPU 112.

  Further, since the above-described disc playback apparatus 100 includes a CPU 112 and a memory and operates according to a program, it can be considered as a kind of computer apparatus.

  FIG. 30 is a functional block diagram for explaining the operation in the disc reproducing apparatus 100 shown in FIG. 29 in more detail. The disc playback apparatus 100 generally includes an operation system 201 and a video content playback unit 210. The video content reproduction unit 210 is substantially a software program that operates on the operation system 201. The video content playback unit 210 is not limited to this, and the software and hardware may be integrated. In the following description, it is assumed that the video content reproduction unit 210 is software. In FIG. 30, the disk drive 102 is omitted.

  When power is turned on to the disc playback apparatus 100, the operation system 201 is first activated by the CPU 112, performs necessary processing such as initial setting of each unit, and calls an application program (here, the video content playback unit 210) from the ROM. The operation system 201 provides basic services such as reading of a file from the disc 101 and interpretation of the file system to the video content playback unit 210 during the operation of the video content playback unit 210. For example, the operation system 201 controls the disk drive 102 via the drive interface 114 and reads data recorded on the disk 101 in response to a file read request passed from the video content playback unit 210. The read data is transferred to the video content reproduction unit 210 under the control of the operation system 201.

  Further, the operation system 201 has a multitask processing function, and can control a plurality of software modules in parallel in appearance by, for example, time division control. That is, all the modules constituting the video content playback unit 210, an example of which is shown in FIG. 30, can be operated in parallel by the multitask processing function of the operation system 201.

Hereinafter, the operation of the video content reproduction unit 210 will be described more specifically. The video content reproduction unit 210 further includes some modules and realizes the following functions.
(1) It is determined whether or not the loaded disc 101 is a disc conforming to the UMD video standard (hereinafter referred to as a UMD video disc).
(2) When it is determined that the loaded disk 101 is a UMD video disk, the resource file is read from the disk 101 and transferred to the script control module 211.
(3) If it is determined that the loaded disc 101 is a UMD video disc, files (playlist file, clip information file, etc.) constituting the database are read out and passed to the player control module 212.

  Hereinafter, the operation of each module of the video content reproduction unit 210 will be described.

  The script control module 211 stores the received resource file in a predetermined area of a RAM (not shown) of the CPU 112, for example. The CPU 112 (script control module 211) reads, interprets and executes the script program stored in the RAM. The resource file may be stored in a predetermined area of the memory 113 and read into a RAM (not shown) of the CPU 112 as necessary.

  As already described in the description of the player model, the GUI for creating and outputting an image such as a menu screen, moving a cursor according to a user input, and changing a menu screen controls the graphics processing module 219 with a script program. Realize. At this time, image data and sound data stored in a resource file on the memory 113 are used to create a menu screen and the like. The script control module 211 can control the player control module 212 by executing a script program.

The player control module 212 is recorded on the disc 101 with reference to database information stored in files such as a playlist file “PLAYLIST.DAT” and a clip information file “XXXXX.CLP” read from the disc 101. The following control related to the playback of the video content is performed.
(1) Analyze database information such as playlists and clip information.
(2) Control the content data supply module 213, the decode control module 214, and the buffer control module 215.
(3) In accordance with an instruction from the script control module 211 or the input interface 115, player state transition control such as playback, playback stop, and playback pause, and playback control processing such as stream switching are performed.
(4) Time information is acquired from the decoding control module 214 for the video stream being played, and time display, mark event generation, and the like are performed.

  The content data supply module 213 reads content data such as a clip AV stream file from the disc 101 in accordance with an instruction from the player control module 212 and passes it to the buffer control module 215. The buffer control module 215 stores the delivered content data in the memory 113 as the buffer entity 215A. The content data supply module 213 controls the buffer control module 215, and in response to requests from the video decoder control module 216, the audio decoder control module 217, and the subtitle decoder control module 218, the content data stored in the memory 113 is stored in these modules. 216, 217 and 218 are supplied in a predetermined manner. The content data supply module 213 reads content data from the disc 101 so as to control the amount of content data stored by the buffer control module 215 to a predetermined level.

  The decode control module 214 controls the operations of the video decoder control module 216, the audio decoder control module 217, and the caption decoder control module 218 in accordance with instructions from the player control module 212. The decode control module 214 has a clock function inside, and controls operations of the decoder control modules 216, 217, and 218 so that video data and audio data are synchronously output.

  The buffer control module 215 exclusively uses a part of the memory 113 as the buffer entity 215A. The buffer control module 215 stores a data head pointer and a data write pointer. The buffer control module 215 further has a video reading function, an audio reading function, and a caption reading function as internal modules. The video read function includes a video read pointer. In addition, a register for storing information au_information () that is access unit information is provided inside the video reading function. The audio read function has an audio read pointer. The caption reading function includes a caption reading pointer and a caption reading function flag. The subtitle read function flag controls the validity / invalidity of the subtitle read function according to the value to be written. For example, when “1” is written in the caption reading function flag, the caption reading function is enabled, and when “0” is written, the caption reading function is disabled.

  The video reading function, the audio reading function, and the subtitle reading function, which are internal modules of the buffer control module 215, further demultiplex the respective streams from the clip AV stream in which the video stream, the audio stream, and the subtitle stream are multiplexed. It has a function. In one embodiment of the present invention, a clip AV stream is formed by time-division multiplexing a plurality of elementary streams in the MPEG2 system program stream format. Therefore, the video reading function, the audio reading function, and the caption reading function have a demultiplexer function for the program stream of the MPEG2 system.

  For this reason, the video reading function reads and holds the value of the field stream_id (see FIG. 25) arranged in a predetermined stream. Similarly, the audio reading function and the caption reading function read and hold the values of the field stream_id and the field private_stream_id (see FIG. 25). The values of the field stream_id and the field private_stream_id are used when analyzing the supplied bit stream.

  Video decoder control module 216 instructs the video read function in buffer control module 215 to read a single video access unit of the video stream from memory 113 and supply it to video decoder 116. The video decoder control module 216 controls the video decoder 116 to decode the video stream supplied to the video decoder 116 in units of access units. Video data generated by decoding the video stream is supplied to the graphics processing module 219.

  Similarly, the audio decoder control module 217 instructs the audio read function in the buffer control module 215 to read a single audio access unit of the audio stream from the memory 113 and supply it to the audio decoder 117. In this embodiment, the access units (audio frames) constituting the audio stream have a known fixed length. The audio decoder control module 217 controls the audio decoder 117 to decode the audio stream supplied to the audio decoder 117 in units of access units. Audio data generated by decoding the audio stream is supplied to the audio output module 242.

  Further, the subtitle decoder control module 218 issues an instruction to the subtitle read function in the buffer control module 215 so as to read a single subtitle access unit of the subtitle stream from the memory 113 and supply it to the subtitle decoder control module 218. . In this embodiment, the subtitle access unit constituting the subtitle stream stores the length information of the unit at the head of the unit. The caption decoder control module 218 has a caption decoding function and can decode the supplied caption stream. The caption image data obtained by decoding the caption stream by the caption decoding function of the caption decoder control module 218 is supplied to the graphics processing module 219.

  As described above, the graphics processing module 219 is supplied with the video data decoded by the video decoder 116 based on the control of the video decoder control module 216 and the subtitle image data decoded by the subtitle decoder control module 218. The graphics processing module 219 adds subtitle image data to the supplied video data in a predetermined manner to generate a video signal for output. The graphics processing module 219 further generates a menu image and a message image according to instructions from the script control module 211 and the player control module 212, and synthesizes (overlays) the output video signal.

  For example, the graphics processing module 219 performs enlargement processing or reduction processing on the supplied subtitle image data in accordance with an instruction from the script control module 211, and adds the predetermined amount to the video data.

  The graphics processing module 219 performs aspect conversion of the output signal based on the aspect ratio of the output video device specified in advance and the output aspect ratio specified in the content reproduced from the disc 101. For example, when the aspect ratio of the output video device is 16: 9, if the output aspect ratio is 16: 9, the video data is output as it is, and if the output aspect ratio is 4: 3, the output video data Is squeezed (reduced) so that the height of the image matches the screen height of the output video device, and a black image is inserted to the left and right of the image for output. When the output video device is 4: 3, if the output aspect ratio is 4: 3, the video data is output as it is. If the output aspect ratio is 16: 9, the output video data is converted into an image. Is squeezed so that the width of the image matches the screen width of the output video device, and black images are inserted above and below the image and output.

  In response to a request from the player control module 212, the graphics processing module 219 also performs processing such as capturing a video signal currently being processed and returning it to the player control module 212.

  The video output module 241 exclusively occupies a part of the memory 113 and uses it as a FIFO (First In First Out) buffer, and temporarily stores the video data processed by the graphics processing module 219 in this buffer. The reading is controlled at the timing. The video data read from the buffer is output from the video output interface 118.

  The audio output module 242 exclusively occupies a part of the memory 113 and uses it as a FIFO buffer. The audio output module 242 stores the audio data output from the audio decoder 119 in the buffer, and performs reading control at a predetermined timing. The audio data read from the buffer is output from the audio output interface 119.

  The audio output module 242 outputs audio data in accordance with a previously designated audio output mode when the audio mode of the content is dual mono (for example, bilingual). When the audio output mode is designated as “main audio”, for example, the left channel audio data is copied to the right channel in the memory 113, and both the two channel outputs are output as the left channel audio data. When the audio output mode is “sub audio”, for example, the right channel audio data is copied to the left channel in the memory 113, and both the two channel outputs are output as the right channel audio data. When the audio output mode is “main / sub audio” or the content is stereo, the audio data is output as it is.

  Such setting of the audio output mode can be performed interactively by the user through a menu screen generated by the video content reproduction unit 210 or the like.

  In response to an instruction from the player control module 212, the nonvolatile memory control module 250 writes data into an area that is not erased even when the video content playback unit 210 ends, and reads data from the area. Using the title identification ID (Title_ID) as a key, it has a function of storing a plurality of sets of data Saved_Player_Status and data Saved_User_Data in the area. Data Backup_Player_Status of the player control module 212 is stored as data Saved_Player_Status. The data Backup_Player_Status corresponds to, for example, the data of the above-described player status 323B immediately before the player control module 212 ends, and the data Saved_Player_Status corresponds to the resume information 324. Further, data User_Data possessed by the player control module 212 is stored as data Saved_User_Data. Data User_Data is predetermined data set for the player control module 212 by the user.

  The nonvolatile memory control module 250 stores a set of these data Saved_Player_Status and data Saved_User_Data in a predetermined area of the nonvolatile memory included in the disk device 100 in association with the title ID of the disk 101. The storage medium in which the nonvolatile memory control module 250 stores data is not limited to the nonvolatile memory, and may be a hard disk, for example.

8). Regarding the state transition model of the movie player 8-1. Next, the state transition model of the movie player 300 that can be applied to the embodiment of the present invention will be described in more detail. In the present invention, the state of the movie player 300 is defined only in the internal state of the movie player 300. That is, in the present invention, the state of the movie player 300 is defined based on the operation and function of the movie player 300 itself.

  More specifically, in terms of operation, two states are defined as whether the movie player 300 is in a play state or a stop state from the viewpoint of play list reproduction. In terms of functionality, two states are defined as to whether the movie player 300 accepts a control command from the native implementation platform 301 or not.

  FIG. 31 conceptually shows the definition of the state of the movie player 300 according to the present invention. The state seen from the operation surface of the movie player 300 will be described. Referring also to FIG. 3, the movie player 300 is in a play state or a stop state from the viewpoint of play list reproduction. The play state is a state in which the movie player 300 selects a play list and reproduces the selected play list. On the other hand, the stop state is a state in which the movie player 300 is not reproducing the playlist. In the stop state, no playlist is selected. In other words, it can be said that the state where the clip AV stream is decoded by the playback module 321 of the movie player 300 is the play state, and the state where the clip AV stream is not decoded is the stop state.

  The play state is further subdivided into several states. For example, the play state includes various playback states such as normal playback at normal speed in the forward direction, variable speed playback at playback speeds other than the normal speed in the forward and reverse directions, and pause. Frame advance and frame return playback are realized by alternately performing normal playback and pause. During playback of a playlist, the movie player 300 is synonymous with being in a play state.

  A state viewed from the functional aspect of the movie player 300 will be described. From the viewpoint of function, the movie player 300 has two operation modes: a mode for receiving a control command 311 from the native implementation platform 301 (referred to as a normal mode) and a mode for ignoring the control command 311 (referred to as a menu mode). Have. These two operation modes of the movie player 300 are defined as the states of the movie player 300, respectively.

  In the normal mode, the operation of the movie player 300 can be controlled by the user input 310 without using the script program of the script layer 302.

  On the other hand, in the menu mode, the movie player 300 does not accept the control command 311. The movie player 300 accepts only the method 313 from the script layer 302. Therefore, all the operations of the movie player 300 can be controlled by the script program of the script layer 302. For example, the user input 310 is passed to the script layer 302 as an event 314 from the native implementation platform 301. The script program of the script layer 302 controls the operation of the movie player 300 using a method 313 corresponding to the event 314.

  That is, the content creator can control the operation of the movie player 300 by using the menu mode. In addition, by using the menu mode, various controls can be realized with a small number of keys.

  As described above, the movie player 300 has two states, that is, a play state and a stop state on the operation side, and has two operation modes of a normal mode and a menu mode on the function side. Therefore, the movie player 300 defines four states, which are a combination of the two operation modes and the two functional modes. That is, the movie player 300 belongs to any one of these four states from when it is generated until it disappears. The generation and disappearance of the movie player 300 will be described later.

  When a method 313 for instructing the movie player 300 to transition to a state different from the current state is issued, on the model, the movie player 300 immediately changes the state according to the issued method 313. . In an actual device, the time from when a method 313 is issued to the movie player 300 until the movie player 300 completes the state transition according to the method 313 depends on the implementation of the device. Become.

  Further, even if a method 313 is issued to instruct the movie player 300 in a certain state to change the state to the same state, the state of the movie player 300 does not change. For example, even if a method 313 is issued to the movie player 300 that is already in the normal mode and in the stop state, and the state of the movie player 300 is changed to the stop mode in the normal mode. Does not change.

  Furthermore, the pause (pause) state is a kind of play state. In order to make a transition from the stop state to the pause state, a method play () with a value pauseMode for designating the pause as an argument is used.

  Next, the state of each of the four states combining the two states and the two operation modes of the movie player 300 and the state transition between the four states will be described. In the following, among the states in which the state of the movie player 300 is classified by function, the normal mode is “normal” and the menu mode is “menu”. In addition, the play state is “play” and the stop state is “stop” among the states of the movie player 300 classified in terms of operation. For convenience, the combination of the mode (mode) and the status (status) of the movie player 300 is expressed as a status {mode, status}. In the following, the state change and mode switching in the movie player 300 are both referred to as state transition.

  As can be seen from FIG. 31, there are 4 × 4 = 16 state transitions of the movie player 300, including transitions to its own state. These state transitions are caused by a method 313 passed from the script layer 302 to the movie player 300. That is, the state transition in the movie player 300 is caused from the outside of the movie player 300, and the state transition does not automatically occur inside the movie player 300 without an instruction by the method from the script layer 302. Even with a control command from the native implementation platform 301, no state transition occurs in the movie player 300.

  In this embodiment, since there are restrictions on the combinations of arguments of the method 313, all 16 possible state transitions in the movie player 300 cannot be generated by the method.

  Hereinafter, four states (state {Menu, Stop}, state {Normal, Stop}, state {Menu, Play}, and state {Normal, Play}) that the movie player 300 can take will be described.

(1) State {Menu, Stop}
The movie player 300 is in a stop state where the play list is not being reproduced, and is in a state where the control command 311 from the native implementation platform 301 is not accepted. This state is used, for example, on a menu screen where a moving image is not reproduced in the background.

  In order to ensure the control from the script program immediately after the movie player 300 is generated, it is effective not to accept the control command 311 from the native implementation platform 301 at that time. Therefore, immediately after the movie player 300 is generated, this state {Menu, Stop} is determined.

(2) State {Normal, Stop}
The movie player 300 is in a stop state where the play list is not being played back, and is in a state where the control command 311 from the native implementation platform 301 is received. This state is used, for example, in a state where a moving image is not reproduced. Since this state accepts the control command 311, it is preferable not to use it immediately after the movie player 300 is generated.

(3) State {Menu, Play}
This is a play state in which the movie player 300 is playing back a playlist, and a state in which the control command 311 from the native implementation platform 301 is not accepted. This state is used, for example, on a menu screen where a moving image is played back in the background.

(4) State {Normal, Play}
This is a play state in which the movie player 300 is playing back a playlist, and a state in which the control command 311 from the native implementation platform 301 is received. This state is used, for example, during reproduction of the main part.

  The above-described model when the movie player 300 is generated will be schematically described. For example, as described above, when the disc player 100 is turned on and the operation system 201 is activated in the CPU 112, the movie player 300 performs necessary processing such as initial setting of each unit and a video content playback unit. 210 is called from ROM. This video content playback unit 210 is executed by the CPU 112. When the disc player 100 is turned off, the movie player 300 disappears.

  Here, the movie player 300 is considered to have generated an implicit object, and it is not necessary to explicitly generate the movie player 300 in the script program.

As described above, the state immediately after the movie player 300 is generated is the menu mode stop state (state {Menu, Stop}). Immediately after generation of the movie player 300, for example, the following properties of the movie player 300 are indefinite values.
Property audioFlag
Property audioNumber
Property chapterNumber
Property playListNumber
Property playSpeed
Property subtitleFlag
Property subtitleNumber
Property videoNumber

  It should be noted that in a UMD video player having a “continuous playback function” that starts playback from the position where playback was previously stopped, for example, in the initialization of the movie player 300, for each of the above properties, a non-volatile value is used instead of the default value of each property. The value can be set using the value stored in the memory. For example, resume information 324 can be used.

8-2. Next, a method 313 for causing the movie player 300 to generate a state transition will be described. FIG. 32 shows the current state {Mode, Status} and the state {Mode, Status} after the state transition by the method 313 for each of the four states of the movie player 300. As can be seen from FIG. 32, a method stop (), a method play (), and a method resume () are prepared as methods 313 for causing the movie player 300 to generate a state transition. The operation of the method resume () changes depending on whether or not the resume information 324 exists.

  The method stop () will be described. The method stop () changes the movie player 300 to the stop state regardless of the state of the movie player 300. The method stop () can specify a mode as an argument, and can change the mode of the movie player 300 simultaneously with the transition to the stop state. As will be described later, when the method stop () is executed under a certain condition, the player status 323B is backed up and held as resume information 324.

  The method play () will be described. The method play () causes the movie player 300 to transition to the play state. The method play () can specify a mode as an argument, and can change the mode of the movie player 300 simultaneously with the transition to the play state. As will be described later, when the method play () is executed while satisfying a certain condition, the player status 323B is backed up and the resume information 324 is held.

  The method resume () will be described. The method resume () is a method for restoring resume information 324 by restoring it to the player status 323B. That is, the method resume () causes the movie player 300 to start playback from the position indicated by the resume information 324. Even if the method resume () is executed in the absence of the resume information 324, the state of the movie player 300 does not change.

  The conditions under which the resume information 324 is restored by the method resume () are as follows. When the method resume () is executed, if the resume information 324 exists and the current state is not the state {Normal, Play}, the movie player 300 restores the resume information 324. In other words, when the method resume () is executed, the resume information 324 exists, and the current state is the state {Menu, Stop}, the state {Normal, Stop}, and the state {Menu, Play}. In any case, the movie player 300 restores the resume information 324 at the same time as the transition to the state {Normal, Play}.

  The method play () has a plurality of arguments. Here, for the sake of explanation, it is assumed that the method play () has three types of arguments: an argument pauseMode, an argument menuMode, and an argument playListNumber. In practice, more arguments are defined.

  The argument “pauseMode” designates the state of reproduction in the play state, and can take one of a value “x1”, a value “pause”, and a value “−1”. The value “x1” specifies normal speed forward playback. The value “pause” specifies a pause. A value of “-1” specifies to maintain the current playback speed. As described above, the argument pauseMode sets details of the play state of the movie player 300 after the method play () is executed. If pause is specified, the picture at the position specified by the argument, or the picture at the position specified by the separately defined selection rule, is displayed if there is no specification by the argument, resulting in a paused state. .

  The argument menuMode specifies the mode (normal mode and menu mode) of the movie player 300, and can take any one of the values “Normal”, “Menu”, and “−1”. The value “Normal” specifies switching to normal mode. The value “Menu” specifies switching to the menu mode. A value of “-1” specifies to keep the current mode.

  The argument playListNumber specifies the number of the playlist to be played back. The argument playListNumber can be omitted. In this case, it represents that the playlist currently selected remains unchanged.

  An example of state transition of the movie player 300 when the method “play ()” is executed will be described with reference to FIG. 33A to 33E, the left side shows the current state 340A of the movie player 300, and the right side shows that the script program issues a method 313 to the movie player 300 in the current state 340A. A state 340B after the transition is shown. In addition, the playlist numbers (PL1, PL2) designated in the state are shown below the states 340A and 340B.

  FIG. 33A shows an example when the method play (x1, Normal, PL2) is issued to the movie player 300 in the state {Normal, Stop}. This indicates that the state of the movie player 300 is to play back the playlist with the playlist number “PL2” at the normal mode and the normal speed in accordance with the method “play (x1, Normal, PL2)”. The movie player 300 changes from the state {Normal, Stop} to the state {Normal, Play}.

  FIG. 33B has issued the method play (x1, Normal, PL2) to the movie player 300 in the state {Normal, Play}, which is paused during playback of the playlist with the playlist number “PL1”. This is an example. This indicates that the state of the movie player 300 is to start playback of the playlist with the playlist number “PL2” at the normal mode and the normal speed in accordance with the method “play (x1, Normal, PL2)”. In this case, the playback operation of the movie player 300 changes from the pause to the normal speed playback in the forward direction, but the state remains in the state {Normal, Play} before and after the method play (x1, Normal, PL2) is issued. Yes, no state transition has occurred.

  FIG. 33C shows that the method play (-1, -1, PL2) is applied to the movie player 300 in the state of {Normal, Play} while the playlist with the playlist number “PL1” is being reproduced at the normal speed in the forward direction. It is an example when issuing. This indicates that the state of the movie player 300 is to play back the playlist with the playlist number “PL2” in the normal mode and at the normal speed according to the method “play (−1, −1, PL2)”. Also in this case, the play list reproduced by the movie player 300 is changed, but the state remains in the state {Normal, Play}, and no state transition has occurred.

  FIG. 33D shows that the method play (pause, -1, PL2) is applied to the movie player 300 in the state of {Normal, Play} while the playlist with the playlist number “PL1” is being reproduced at the normal speed in the forward direction. This is an example when issued. In accordance with the method play (pause, -1, PL2), the movie player 300 selects the playlist with the playlist number “PL2” and pauses at the top of the playlist with the normal mode and the playlist number “PL2”. It shows that it is in a state of being. Also in this case, the playback operation of the movie player 300 changes from normal speed playback in the forward direction to pause, but the state remains the state {Normal, Play}, and no state transition has occurred.

  FIG. 33E shows a case where the method play (-1, Menu) is issued to the movie player 300 in the state {Normal, Play}, which is paused during reproduction of the playlist with the playlist number “PL1”. It is an example. In the method play (), the argument playListNumber is omitted. In accordance with the method “play (−1, Menu)”, the movie player 300 selects the playlist with the playlist number “PL1” and pauses at the top of the playlist with the menu mode and the playlist number “PL1”. It represents that it is in a state. The movie player 300 makes a transition from the state {Normal, Play} to the state {Menu, Stop}.

  As described above, the movie player 300 performs various operations in response to the method “play ()” from the script program, and state transition occurs depending on conditions. The content creator can realize various operations in the movie player 300 by describing the method play () with different arguments in the script program.

  Note that the movie player 300 starts playback of the playlist with the playlist number selected only by executing the method play () from the script program. Start playback of a playlist means starting playback of a playlist from the stop state, or stopping playback of a playlist and selecting a new playlist and starting playback of the selected playlist. Point to.

  When the script program issues a method play () with an argument to the movie player 300, the value of the argument is set in the player status 323B. For the omitted argument, the value of the argument is set by default value or automatic selection according to the rules defined for each parameter.

  In addition, since it is problematic if the playlists can be played back in an order not intended by the content creator, the playback of the playlist by specifying the playlist number cannot be started with the control command 311 caused by the user operation. Is done. This is one of the features in the operation model of the movie player 300 according to the embodiment of the present invention.

  Furthermore, if an invalid playlist or a nonexistent time is specified as an argument value of the method play (), the execution of the method play () fails. This means that there is an error in the script program, and the script program includes a violation of the standard. Error handling at this time depends on the implementation of the movie player 300.

  Here, reproduction between play items will be described. Once the movie player 300 starts playback of the playlist, the movie player 300 continues playback until the end of the playlist. Reproduction from the beginning to the end of one playlist does not require user operation or control from a script program. As schematically shown in FIG. 34, the movie player 300 sequentially plays the play items constituting the play list as specified by the play list file “PLAYLIST.DAT” (see FIG. 19). . The play items that make up the playlist are played back continuously without control by the event handler.

  The operation from the end of playing a play item until the next play item is played depends on the implementation of the movie player 300 and is not defined by the format. For example, the operation between play items, such as whether to continue displaying the last picture of the play item or to immediately turn to the black screen, depends on the implementation. However, consideration should be given so that the gap time between play items can be shortened as much as possible by devising authoring such as setting the IN point of a play item as a random access point (entry point: see FIG. 28). Is possible.

8-3. Operation of Movie Player During Play List Playback Next, the operation of the movie player 300 during play list playback will be described. For example, a variable speed playback instruction by the user, such as high speed playback such as 2 × speed playback, 3 × speed playback, low speed playback such as 1/2 × speed playback, and reverse playback, is sent to the native implementation platform 301 as a user input 310. In response to the user input 310, the native implementation platform 301 transmits the control command 311 depending on the implementation to the movie player 300.

  The speed during variable speed reproduction depends on the implementation of the movie player 300. For example, it is transmitted to the movie player 300 as an instruction of the native implementation platform 301 capable of specifying the speed, and “faster” or “slower” is passed to the movie player 300 as an argument to convert the movie player 300 to a speed that can be realized. For example, a method for realizing variable speed reproduction is considered, and which method is used depends on the implementation of the movie player 300. The script program can know the speed determined by the movie player 300 by the method getPlayerStatus ().

  On the other hand, in the method play () for the movie player 300 from the script program, the speed cannot be specified by an argument. The method play () can be specified only for pause (argument “pause”) and normal speed reproduction (argument “x1”).

  The movie player 300 reproduces the next play item when the end of the play item is reached while performing variable speed reproduction of the play list in the forward direction. At this time, the movie player 300 reproduces the next play item in the same direction and at the same speed as the previous play item, and continues the variable speed reproduction.

  FIG. 35 shows an example of the operation of the movie player 300 when the start point and end point of the playlist are reached during playback of the playlist. When the movie player 300 reaches the end of the playlist during playback in the forward direction, the movie player 300 pauses while displaying the last picture. To delete the last picture, it is necessary to explicitly instruct the movie player 300 to stop (issue method stop ()) in the event handler onPlayListEnd or the like.

  In high-speed playback where playback is faster than normal speed, the last picture in the playlist will be displayed when the last picture in the playlist does not correspond to the jump point when the end point of the playlist is reached. indicate.

  On the other hand, when the movie player 300 reaches the beginning of the play item while playing the playlist in the reverse direction, the movie player 300 is played back in time when played in the previous play item, that is, in the forward direction. Play the play item. The playback of the previous play item is also continued in the reverse direction from the end toward the top. Playback speed is also maintained. When the head of the playlist is reached during reverse playback, the variable speed playback is canceled and the movie player 300 is paused at the head of the playlist.

  Furthermore, the state of the movie player 300 is changed to a pause by the control command 311 instructing the pause. The playback direction and playback speed of the playlist when the pause is canceled by the control command 311 depend on the implementation of the UMD video player.

  Next, events that occur during playback of a playlist will be described. As described above with reference to FIG. 13, the events that occur during playback of the playlist include the event angleChange, event audioChange, and event subtitleChange according to the user operation, and the event according to the mark embedded in the playlist. There are chapter and event event marks. A detailed example of the operation when an event occurs has already been described with reference to FIG.

  Here, the process at the end of the playlist will be described. As already described, the movie player 300 plays the playlist having the number designated by the method play (). Once playback of the playlist is started, playback continues until the end of the playlist without control by the script program or the control command 311. When the reproduction reaches the end of the playlist, the movie player 300 notifies the script program of the event playListEnd. It doesn't matter how to reach the end of the playlist. In other words, the movie player 300 generates the event playListEnd when the play list has reached the end of the play list, regardless of whether the play list is played normally, fast forward, or played by jumping from another play list.

  When playback reaches the end of the playlist and the event playListEnd is generated, the state of the movie player 300 is paused, and the playback time of the playlist that the movie player 300 has internally is the last time of the playlist. It matches. Note that the last time of the playlist is the playback end time of the last picture in the playlist, and matches the OUT point of the last play item on the playback time axis.

  The event playListEnd can be used to play a playlist in a line or to display a menu at a multi-story branch point.

  For example, if the script program has an event handler onPlayListEnd as a program to be executed when the event playListEnd occurs, the script handler executes the event handler onPlayListEnd. If the method play () for starting playback of another playlist is described in this event handler onPlayListEnd, the movie player 300 starts playback of another playlist. In this way, playback of the playlist is continued.

  More specifically with reference to FIG. 36, reproduction of the playlist with the playlist number “PL1” is finished, and an event “playListEnd” is generated. In response to the occurrence of this event playListEnd, an event handler onPlayListEnd included in the script program is executed. In this event handler onPlayListEnd, playback of the playlist with the playlist number “PL2” is designated. Upon receiving this event handler onPlayListEnd, the movie player 300 plays the playlist with the designated playlist number “PL2”.

  The playback path temporarily moves from the end of the playlist with the playlist number “PL1” to the event handler onPlayListEnd, and further to the top of the playlist with the playlist number “PL2”.

  Also, for example, when displaying a menu at a multi-story branch point, describe the instruction to play the playlist that displays the menu screen in the event handler onPlayListEnd corresponding to the event playListEnd, with the end of the playlist as the branch point It is possible to do.

  FIG. 37 shows an example of the flow of processing in the script layer 302 at the end of the playlist and an example of the operation of the movie player 300 in more detail. In FIG. 37, steps S30 to S33 show processing on the script layer 302 side, and steps S40 to S44 show processing on the movie player 300 side.

  In order for the next playlist to be played after the play list is played to the end, an explicit play instruction from the script program is required. Since the playback order of the playlist is determined by the script program, the movie player 300 cannot voluntarily determine the playlist to be played next.

  When the reproduction reaches the end of the playlist (step S40), the movie player 300 notifies the script layer 302 of the event playListEnd (step S41). The movie player 300 transitions to a pause state while continuing to display the last picture of the playlist that has been reproduced to the end in step S40 (step S42).

  The script layer 302 receives the event playListEnd and executes the event handler onPlayListEnd (step S30). The next operation of the movie player 300 is determined by the script description in the event handler onPlayListEnd.

  It should be noted that the movie player 300 ignores a method or control command 311 for starting the pause release or the forward playback when the pause is at the end of the playlist after step S40. The methods for starting the forward reproduction are the method play () and the method playStep () instructing the forward reproduction by an argument. Control commands 311 for starting forward playback include a command uo_play (), a command uo_playNextChapter (), a command uo_forwardScan (), a command uo_playStep (), a command uo_pauseOn (), and a command uo_pauseOff (). Ignored when paused at the end of the playlist.

  The method stop () and method resume () are valid even when paused at the end of the playlist. Mode switching is also effective in the last paused state of the playlist.

  Even after the event playListEnd has occurred, the movie player 300 in the normal mode accepts a control command 311 other than the control command 311 for starting forward playback. Even in this case, when the method 313 is executed from the script program to the movie player 300, the operation instructed by the method 313 is followed.

  In the example of FIG. 37, the method stop () is instructed by the event handler onPlayListEnd (step S31). The movie player 300 suspends the operation caused by the control command 311 by executing the method stop (), and makes a transition to the stop state (step S43). In the stop state, for example, the last picture in the playlist that has been played back immediately before is erased, and a black screen is displayed.

  Further, in the script layer 302, a method 313 for reproducing the next playlist is instructed in the event handler onPlayListEnd (step S32). For example, in the method “play ()”, the value “x1” is specified as the argument “pauseMode”, the value “Menu” is specified as the argument menuMode, and the next play list number is specified as the argument “playListNumber”. Are switched, and the play list of the number specified by the argument playListNumber is instructed to be played back at normal speed playback. Then, the event handler onPlayListEnd is terminated in the script layer 302 (step S33). On the movie player 300 side, the mode is switched according to the method play () instructed in step S32, and reproduction of the designated playlist is started at the designated speed (step S44).

  In addition, in order to improve the operability for the user, the content creator should not leave the next operation for the movie player 300 without specifying the next operation after the play list has been reproduced. The next operation is described in the event handler onPlayListEnd, and the state of the movie player 300 is changed to the stop state, the playback of the next playlist is instructed by the method play (), or the authoring is performed to return to the menu screen. Should.

8-4. Next, a description will be given of the state transition and playback recovery function of the movie player 300. FIG. First, the three types of memory areas provided in the UMD video player will be described with reference to FIG. In the UMD video player model, a player status area 401, a resume information area 402, and a user data area 403, which are essential three types of memory areas, are defined. Note that these three types of memory areas 401, 402, and 403 are formed on the memory 113, for example. You may form on RAM as a work memory of CPU112.

  The player status area 401 is a memory area that holds information indicating the playback state of the movie player 300. That is, the player status area 401 holds the player status 323B in FIG. The contents of the player status area 401 can be read from the script program 400 with the method getPlayerStatus ().

  The resume information area 402 is a memory area for temporarily saving (backup) a part of the information held in the player status area 401. That is, part of the information in the player status area 401 is held in the resume information area 402 as resume information 324 in FIG. A part of the information in the player status area 401 saved in the resume information area 402 is restored to the player status area 401 as necessary (restoration). These backups and restores are performed by the native implementation platform 301. The information held in the resume information area 402 is used in a resume playback function that starts playback from the previous playback stop point.

  The contents of the resume information area 402 can be read from the script program 400 by the method getResumeInfo (). Of the resume information 324 held in the resume information area 402, the parameter related to the stream can be changed from the script program 400 by the method changeResumeInfo ().

  The information held in the resume information area 402 is written to the nonvolatile memory 410 as needed by the native implementation platform 301 (save). Similarly, information written from the resume information area 402 to the nonvolatile memory 410 is read from the nonvolatile memory 410 as needed by the native implementation platform 301 (load) and stored in the resume information area 402.

  The backup from the player status area 401 to the resume information area 402 and the restoration from the resume information area 402 to the player status area 401 are processes that occur when the movie player 300 performs a specific state transition by executing a method. This is automatically performed by the movie player 300.

  The user data area 403 is an area for holding content-dependent information and can be used arbitrarily by a content creator. Usage is arbitrary depending on the content such as a history of a play list reproduction path by the movie player 300 and correct / incorrect quiz answers.

  Data can be written to the user data area 403 from the script program 400 by the method setUserData (). The contents of the user data area 403 can be read from the script program 400 with the method getUserData (). Information held in the user data area 403 is written into the nonvolatile memory 410 as needed by the native implementation platform 301 (save). Similarly, information written from the user data area 403 to the nonvolatile memory 410 is read from the nonvolatile memory 410 (load) as necessary by the native implementation platform 301 and stored in the user data area 403.

  A UMD video player model constructed in one embodiment of the present invention in order to realize the playback restoration function will be described.

  First, the resume operation will be schematically described. The operation of restoring the playback state using the information backed up in the resume information area 402 is referred to as resume. Resume is performed by the method resume ().

  More specifically, the player status 323B in the player status area 401 is backed up in the resume information area 402 as the resume information 324, and the resume information 324 backed up in the resume information area 402 is used according to the method resume (). To restore the playback state. The player status 323B includes the state of the movie player 300, that is, the number of the playlist that the movie player 300 is currently playing, the chapter number, the selected stream number, and the like.

  The operation of the movie player 300 when the method resume () is issued to the movie player 300 differs depending on whether or not the resume information 324 exists in the resume information area 402. When the resume information 324 exists in the resume information area 402, the resume information 324 is restored to the player status area 401 as the player status 323B. At this time, the resume information 324 in the resume information area 402 is discarded.

  The method changeResumeInfo () is used to change the playback stream in the menu called during content playback. If the resume information 324 held in the resume information area 402 is changed to a predetermined value by the method changeResumeInfo () and then resumed by the method resume (), the playback stream can be changed and playback can be started.

  By executing the method resume (), it is possible to cause the movie player 300 to resume, but by obtaining the resume information 324 with the method getResumeInfo (), the method play () with an argument is executed. It is possible to realize the resume.

  The backup of the player status 323B to the resume information area 402 will be described with reference to FIGS. 39 and 40. FIG. FIG. 39 shows a state transition in which the player status 323 </ b> B held in the player status area 401 is backed up in the resume information area 402 among the state transitions between the four states defined in the movie player 300. FIG. 40 shows conditions when the player status 323B is backed up in the resume information area 402.

  When the movie player 300 that is playing the playlist and is in the play state (state {Normal, play}) in the normal mode transitions to the stop state, the player status 323B held in the player status area 401 is displayed in the resume information area 402 Backed up and held as resume information 324. In the stop state, some values of the player status 323B are undefined.

  In addition, when the movie player 300 changes from the state {Normal, play} to the state {Menu, play}, the player status 323B held in the player status area 401 is backed up in the resume information area 402.

  On the other hand, even if the movie player 300 playing the playlist in the menu mode changes state, the player status 323B held in the player status area 401 is not backed up in the resume information area 401.

In other words, the player status 323B is backed up in the resume information area 402 and used as resume information 324 in the following case.
(1) The current state of the movie player 300 is the state {Normal, Play}, and the state transition is directly made to the state {Menu, Play} by executing the method play ().
(2) The state of the movie player 300 is the state {Normal, Play}, and the state transitions to the state {Normal, Stop} or the state {Menu, Stop} by executing the method stop (). At this time, the argument resumeInfoClearFlag of the method stop () is the value “false”.

  It is assumed that the storage (backup) of the player status 323B in the resume information area 402 is used to store the return position in the main part. For example, when realizing a series of operations such as jumping to the moving image menu during reproduction of the main part and returning to the main part again for reproduction, the resume information 324 that is data in which the player status 323B is backed up is used in the resume information area 402. is assumed.

  Therefore, the resume information 324 in the resume information area 402 is discarded when the main part is being played back, that is, when the movie player 300 is in the state {Normal, Play}. When the movie player 300 transitions from the state {Normal, Play} to another state, the player status 323B is backed up in the resume information area 402 to be resume information 324.

  As described above, in order to realize the resume reproduction, backup of the player status 323B to the resume information area 402 and discard of the resume information 324 in the resume information area 402 are appropriately performed according to the state transition of the movie player 300. . If the resume information 324 is present in the resume information area 402 when the method resume () is instructed in the script layer 302, the resume information 324 is restored to the player status area 401 and becomes the player status 323B. .

  From the script layer 302, the resume information 324 in the resume information area 402 can be read using the method getResumeInfo (). Parameters related to the stream in the resume information 324 in the resume information area 402 can be changed by a method changeResumeInfo (). Furthermore, the resume information 324 in the resume information area 402 can be discarded by designating with the argument of the method stop ().

  The restoration and discard of the resume information 324 held in the resume information area 402 to the player status area 401 will be described with reference to FIGS. The resume information 324 stored as the return position in the main part is discarded after the movie player 300 returns to the main part reproduction state, that is, the state {Normal, Play}. At this time, there are two cases where the resume information 324 is discarded after being restored in the player status area 401 as the player status 323B and when it is discarded without being restored.

  That is, in this model, when the movie player 300 returns to the state {Normal, Play}, the resume information 324 in the resume information area 402 is discarded, and at this time, the movie player 300 and the like satisfy a predetermined condition. If the resume information is stored in the resume information area 402, the resume information 324 is restored to the player status area 401 and then discarded. When the resume information 324 is restored to the player status area 401, playback is started from a location specified by the resume information 324, which corresponds to resume playback.

  FIG. 41 shows a state transition among the state transitions between the four states defined in the movie player 300, in which the resume information 324 is restored to the player status area 401 and then discarded.

When the following three conditions (1) to (3) are met, the resume information 324 is discarded after being restored.
(1) The current state of the movie player 300 is the state {Menu, Stop}, the state {Normal, Stop}, or the state {Menu, Play}.
(2) Resume information 324 exists in the resume information area 402.
(3) Transition to the state {Normal, Play} by executing the method resume ().

  FIG. 42 shows these conditions together. Note that when the state of the movie player 300 is the state {Normal, Play}, the resume information 324 does not exist and is not defined in FIG.

  If the method resume () is executed when the resume information 324 exists in the resume information area 402, the state of the movie player 300 transitions to the state {Normal, Play}. Also, the method resume () when the resume information 324 does not exist in the resume information area 402 does not change the state of the movie player 300. At this time, the state {Mode, State} immediately before the execution of the method resume () is maintained, and the player status 323B is not changed.

On the other hand, when the following three conditions (4) to (6) are met, the resume information 324 is discarded without being restored.
(4) The current state of the movie player 300 is the state {Menu, Stop}, the state {Normal, Stop}, or the state {Menu, Play}. (5) Resume information 324 exists in the resume information area 402.
(6) By executing the Play () method, the state transits to {Normal, Play}.

  FIG. 43 shows these conditions together. When the state of the movie player 300 is the state {Normal, Play}, the resume information 324 is not defined in FIG. 43 because the resume information 324 does not exist in the resume information area 402.

  Note that, when the resume information 324 does not exist, when the state of the movie player 300 transitions to the state {Normal, Play} by executing the method play (), the situation in which the resume information 324 does not exist is retained as a result.

  Discarding the resume information 324 in the resume information area 402 can also be generated by setting an argument of the method stop (). Specifically, in the embodiment of the present invention, an argument resumeInfoClearFlag that specifies whether or not to discard the resume information 324 in the resume information area 402 is defined as an argument of the method stop (). As shown in FIG. 44, when the value “True” is designated for the argument resumeInfoClearFlag when the method stop () is executed, the resume information 324 is discarded.

  For example, when the movie main part is reproduced to the end and the movie player 300 is stopped, the last position of the movie main part is recorded as the resume information 324. When the user subsequently plays back (continuous playback), the user jumps to the end of the main movie and pauses, which deteriorates usability.

  In order to improve this, it is necessary to have means for discarding the resume information 324 that is automatically recorded in the definition of the model. Since only the content creator knows where the final part of the movie main part is, the discard information of the resume information 324 can be designated from the script program 400 by the argument resumeInfoClearFlag of the method stop () for the movie player 300.

  FIG. 45 shows an exemplary operation of the UMD video player using the argument resumeInfoClearFlag of the method stop (). 45, steps S50 to S54 show processing on the script layer 302 side, and steps S60 to S64 show processing on the movie player 300 side.

  When playback reaches the end of the playlist (step S60), the movie player 300 notifies the script layer 302 of the event playListEnd (step S61). The movie player 300 transitions to a pause state while continuing to display the last picture of the playlist that has been reproduced to the end in step S60 (step S62).

  The script layer 302 receives the event playListEnd and executes the event handler onPlayListEnd (step S50). In the next step S51, it is determined whether or not the playlist notified of the event playListEnd is the last of the author scenario. Whether or not a playlist is the last playlist in the scenario can be determined based on the script program 400, for example.

  If it is determined that it is not the last, the process proceeds to step S 53, the method “resumeInfoClearFlag” of the method “stop ()” is set to the value “false”, and the method “stop ()” that does not discard the resume information 324 is sent to the movie player 300. Issue. In response to this method stop (), the movie player 300 changes the state to the stop state, and the player status 323B is backed up in the resume information area 402 (step S64).

  On the other hand, if it is determined in step S51 that the scenario is the last in the script layer 302, the process proceeds to step S52, the argument resumeInfoClearFlag of the method stop () is set to the value “True”, and the resume information 324 is discarded. Stop () is notified to the movie player 300. Upon receiving this method stop (), the movie player 300 changes the state to the stop state, and the resume information 324 in the resume information area 402 is discarded (cleared) (step S63).

  In the script layer 302, after step S52, depending on the description of the script program 400, the method end () is executed (step S54).

8-5. Next, the life cycle of the player status 323B, the resume information 324, and the user data will be described.

  FIG. 46 shows an example of a life cycle of the player status 323B. When the movie player 300 is generated, a player status 323B is also generated. When the movie player 300 disappears, the player status 323B also disappears. The player status 323B is initialized at the time of generation. At the time of generation, the property representing the state of the movie player 300 represents a stopped state, and other properties are undefined. The value of the player status 323B changes as the playback state in the movie player 300 changes. Further, the value of the player status 323B changes when the contents of the resume information area 402 are restored. Further, the player status 323B can be read by a method getPlayerStatus () from the script layer 302.

  Note that how the player status 323B is stored depends on the implementation of the movie player 300. Information can be held in any form as long as the information can be obtained from the script by the method getPlayerStatus ().

  FIG. 47 shows an example life cycle of the resume information 324. When the movie player 300 is generated, the resume information memory area 402 is secured, and initialization is performed together with the generation of the resume information 324. When initialized, the contents of the resume information 324 are discarded. A UMD video player equipped with a non-volatile memory loads resume information 324 from the non-volatile memory when the movie player 300 is initialized. At this time, loading of user data is also performed at the same time.

  When the state of the movie player 300 transitions from the state {Normal, Play} to another state, the player status 323B is backed up in the resume information area 402.

  Parameters videoNumber, audioNumber, audioFlag, subtitleNumber, and subtitleFlag related to the stream in the resume information 324 can be changed by a method changeResumeInfo () from the script layer 302.

  When the play list reproduction in the normal mode is started in the movie player 300, the contents of the resume information 324 are discarded. At this time, there is a case where the resume information 324 is restored to the player status 323B prior to discarding or not. Further, when the stop () method whose argument resumeInfoClearFlag is set to “True” is executed, the contents of the resume information 324 are discarded.

  When the method resume () is executed when the resume information 324 exists, the resume information 324 is restored to the player status 323B.

  From the script layer 302, the value of the resume information 324 can be read out by the method getResumeInfo (). When the resume information 324 in the discarded state is read, the value “0” is returned as the return value playStatus, so that the presence or absence of the resume information 324 can be distinguished.

  When the movie player 300 ends (disappears), the resume information 324 also disappears. A UMD video player equipped with a non-volatile memory saves resume information 324 in the non-volatile memory when the movie player 300 ends (disappears). At that time, user data is also saved at the same time.

  FIG. 48 shows a life cycle of an example of user data. When the movie player 300 is generated, a memory area is secured and user data is generated. Initialization occurs at the same time as generation. When initialized, the contents of user data are cleared (method getUserData () returns an array of length “0”). A UMD video player equipped with a non-volatile memory loads user data from the non-volatile memory when the movie player 300 is initialized. At this time, the resume information is also loaded at the same time.

  When the method setUserData () is executed, user data is written in the user data area 403. The method setUserData () holds an Int type array having a maximum data length of 64 bits in the user data area 402. Data in the user data area 403 can be read out by the method getUserData () from the script layer 302. If no user data is set, an array with a length of 0 is returned.

  There is no method for clearing the contents of the user data area 403 from the script layer 302. By overwriting the user data area 403, the contents can be rewritten.

  When the movie player 300 ends (disappears), the user data area 403 also disappears. The UMD video player in which the nonvolatile memory is mounted saves the data held in the user data area 403 in the nonvolatile memory when the movie player 300 ends (disappears). At this time, the resume information 324 is also saved at the same time.

9. Resource File Switching Next, resource file switching according to an embodiment of the present invention will be described. According to the present invention, a plurality of resource files that collectively store data related to content playback control, such as script data and image data constituting a menu screen, are prepared on the disc, and when the playback of the disc is started, An appropriate file is automatically selected from the above, and the resource file to be used can be appropriately switched at the timing when the reading of the stream is interrupted during the reproduction of the disc.

  As a result, the entire content recorded on the disc can use the resource file beyond the capacity of the memory 113 of the disc playback apparatus 100, and the content having an interactive function can be produced with a higher degree of freedom. Will be able to.

  Note that by preparing resource files for each display language such as Japanese and English and for each aspect ratio (4: 3 or 16: 9) of the display screen, reading of data that is not used depending on the playback environment can be suppressed. .

  As shown in FIG. 49, the resource file is placed under the directory “RESOURCE” further below the directory “VIDEO” under the root directory. As already described, the resource file stores a script program for playback control and data used in the script program. Data used in the script program is, for example, button image data, texture information, GUI (Graphical User Interface) layout information, and sound data.

  The resource file according to this embodiment is a file including a script file storing a script program and various files storing data used by the script program. That is, the resource file has a structure in which a plurality of files are further stored therein.

  As described above, by storing the resource file on the disk as a file independent of the stream file, the creation of the resource file is independent of the creation (encoding) and multiplexing of the elementary stream, and the video production and menu Can be performed in parallel with the production.

  Furthermore, since a program for displaying a menu or the like is stored on the disk as an independent file and distributed in the stream and not multiplexed, it is easy to debug the program.

  Furthermore, since a program for displaying a menu or the like is stored on the disk as an independent file and distributed in the stream and not multiplexed, video playback and program execution can be made independent. Accordingly, for example, it is possible to perform processing in which the menu screen is displayed over the background video image without interrupting the video playback while the background video playback is continued.

  In addition, since the program for displaying the menu and the like is independent of the stream, the program can be easily reused. For example, even when an existing program is applied to another stream, it is only necessary to rewrite link information specifying a stream number and a time.

  When a plurality of files are placed in one directory, it is necessary to prevent the file names of the plurality of files from overlapping each other. In addition, when there are a plurality of resource files, it is necessary to make it possible for the disk playback apparatus 100 to recognize which resource file should be read first in the initial state when starting playback of the disk.

  In the present invention, these are solved by defining a predetermined naming rule for the resource file. In the embodiment of the present invention, the file name of the resource file is in the format of “CCdannn.RCO” as shown in FIG. The meaning of each part of the resource file name will be described.

  The file name of the resource file consists of 12 characters as a whole, the character string after the delimiter (period) is the extension, the character string of this extension is “RCO”, and this file is a resource file. Show.

  The first two characters “CC” of the file name indicate the language attribute of this resource file. A language code represented by two characters defined in the international standard ISO (International Organization for Standarization) -639-1 is converted to upper case and used. For example, Japanese is “JA” and English is “EN”.

  The third character “d” indicates whether this resource file is a resource file designated as the default language. Note that the default language is a language that is selected as a standard when reproducing the content corresponding to the resource file. If “d” is “1”, this indicates that the resource file is a resource file designated as the default language. If “d” is “0”, the resource file is not designated as the default language. Indicates that there is.

  The fourth character “a” indicates the aspect ratio of the display device assumed by the resource file. If “a” is “0”, it indicates that the assumed aspect ratio is 16: 9, and if “a” is “1”, it indicates that the assumed aspect ratio is 4: 3. Show.

  “Nnnnn” in the fifth to eighth characters is an identification number, and “n” is a number from 0 to 9. When there are a plurality of resource files having the same first two characters “CC” and “a” in the fourth character name, the file names of these resource files are made different from each other by using different identification numbers. Can not overlap each other. When there are a plurality of resource files having the same first two characters “CC” and the fourth character “a” in the file name, the identification number may be different between the plurality of files. Need not be. Further, when there are a plurality of resource files in which the first two characters “CC” and the fourth character “a” are the same, the identification number of one of the files needs to be “0000”. .

  In the directory “RESOURCE”, there are one or two resource files designated as the default language. When resource files having different aspect ratios (16: 9 and 4: 3) are prepared, there are two resource files designated as the default language. If there are two resource files designated as the default language, the language attributes of these two resource files are the same. “D” can be set to “1” only in a file whose identification number is “0000”. In addition, when “d” is set to “1” for a certain language “CC”, it is assumed that files with “d” being “0” and identification number “0000” must not exist simultaneously.

  Note that the resource file naming convention is not limited to the above. That is, information indicating the language attribute of the resource file, information indicating whether the resource file is a resource file designated as a default language, and information indicating an aspect ratio of the display device assumed in the resource file Are included, and when a plurality of resource files exist in the same directory, the file names of the resource files may be set based on other naming rules. For example, the length of the file name is not limited to 12 characters including the delimiter, and is not limited to “RCO” as long as the extension can be identified by the system as a resource file.

  By defining the naming rules for the resource file name as described above, it is possible to realize the initial selection of the resource file described below. A method for initial selection of a resource file in a player, that is, a UMD video player will be described. As described above, at least one resource file always exists on the disk. Upon receiving the instruction “start playback from the beginning of content”, the UMD video player selects and executes one optimal file from among a plurality of resource files that may exist on the disc.

  There may be multiple resource files prepared for each language under the directory "RESOURCE" on the disk. Furthermore, there are at least one resource file designated as the default language and a maximum of two files according to the resource file naming rules described above. When two files exist, a resource file of a default language is prepared for each display aspect.

  FIG. 51 is a flowchart showing an example of processing for initial selection of a resource file. The process of this flowchart is performed by the video content reproduction unit 210, for example. When the disc 101 is loaded in the disc playback apparatus 100 and an instruction to start playback from the beginning of the content is given, the directory of the disc is searched in step S70, and the extension of the files placed under the directory “RESOURCE” is A resource file that is “RCO” and whose file name identification number is “0000” is selected. In other words, the files targeted for the initial selection process of the resource file are limited to the files whose file name identification number is “0000”.

  For example, the position of a period in the file name is searched, the last three characters of the period are acquired, and a file whose character string consisting of the acquired three characters is “RCO” is selected. Further, the four characters before the period are acquired, and the file whose character string consisting of the acquired four characters is “0000” is selected.

  Next, in step S71, the language attribute indicated in the above-described “CC” portion of the file name is acquired. For example, the characters 8 and 7 characters before the period of the file name are acquired. The character string consisting of these two characters indicates the language attribute of the resource file. Based on this language attribute, it is determined whether or not there is a resource file that matches the language setting of the player. If it is determined that there is a matching resource file, the process proceeds to step S72, and a resource file that matches the language set by the player and the language attribute is selected. If a file is selected, the process proceeds to step S74.

  On the other hand, if it is determined in step S71 that there is no file that matches the language set by the player and the language attribute, the process proceeds to step S73. In step S73, the resource file set as the default language is selected. That is, the character shown in the above-mentioned “d” part of the file name is acquired. For example, the character six characters before the period is acquired. Then, the file whose acquired character is “1” is selected. If a file is selected, the process proceeds to step S74.

  In step S74, it is determined whether there are two files selected in step S72 or step S73 described above. If it is determined that there is one selected file, the file is read as an initially selected resource file.

  On the other hand, if it is determined in step S74 that two files have been selected in step S72 or step S73, the process proceeds to step S75. In step S75, the character indicated by the “a” portion of the file name is acquired. For example, the character five characters before the period is acquired. Then, a resource file in which the aspect ratio indicated by the acquired character matches the aspect ratio setting of the display device in the player is selected.

  In the above description, in order to obtain a predetermined character or character string from the file name of the resource file, first, the position of a period included in the file name is searched, and the position of another character or character string is based on the position of this period. However, this is an example method capable of realizing a process of acquiring a predetermined character or character string in a file name, and is not limited to this method. For example, a character string may be searched from the beginning of the file name, or may be searched from the end side.

  There should be one or two resource files on the disc whose language attributes match the language set by the player. By executing the processing according to the flowchart of FIG. 51 described above, an appropriate resource file can always be selected.

  On the other hand, if there is no resource file that can be selected even if the processing according to the above-described flowchart is executed, it is considered that the disc is in a format violation or a disc error. The response to such an error depends on the player implementation. For example, a method of selecting one readable resource file and reproducing it can be considered. It is also conceivable that the disc is determined to be a disc that cannot be played and playback is not started.

  The resource file initially selected as described above is read by the video content playback unit 210, passed to the script control module 211, and content playback is started in accordance with the script program included in the resource file. After the reproduction of the content is started, the resource file to be read next is explicitly specified by the script program. Therefore, the resource file selection rule needs to be determined only when the reproduction is started.

  Next, a process from when a resource file is selected until a script program included in the resource file is executed until the event-driven model operates will be described. FIG. 52 shows an example of the contents of a script file stored in the resource file. The script file includes an event handler group and a main processing unit. In the event handler group, one or a plurality of event handlers are arranged. Script files are evaluated from the beginning before execution. During the evaluation process, event handler registration, reference resolution, variable definition, object generation, etc. are performed. This series of processing before execution is called first execution. The initial execution is performed by the native implementation platform 301.

  The main processing part of the script file is evaluated only once at the first execution. In this main processing section, a definition of a global variable that is a variable commonly used in the entire script file can be described (in FIG. 52, it is described as “var a, b;”). At the first execution, there is a restriction that events are not queued and user operations are not accepted. For this reason, it is prohibited to describe methods of the movie player 300 and the controller object 330 and methods related to components (Widgets) constituting the screen in the main processing unit.

  When the initial execution of the script ends, the script program is ready to accept events. On the other hand, the native implementation platform 301 suppresses the occurrence of other events until the event autoPlay or the event continuePlay is generated. When the initial execution of the script ends, the controller object 330 of the native implementation platform 301 generates either the event autoPlay or the event continuePlay. The generated event is passed to the script layer 302.

  FIG. 53 is a flowchart showing an example of processing from the first execution of a script until the first event handler is selected and executed. The disc 101 is loaded in the disc playback apparatus 100, and the disc 101 is played from the beginning by user operation (hereinafter referred to as "play from the beginning"), or is played from the continuation of the position where playback was previously stopped on the disc 101 ( In the following, “continuous playback” is selected (step S80). If “continuous playback” is selected, the process proceeds to step S81. If “play from the beginning” is selected, the process proceeds to step S86.

  In step S81, the native implementation platform 301 determines whether or not the resume information 324 corresponding to the disk 101 exists. If it is determined that it does not exist, “continuous playback” cannot be performed, and the process proceeds to step S86. If it is determined that there is resume information 324 corresponding to the disc 101, the process proceeds to step S82.

  In step S <b> 82, the event continuePlay is notified from the controller object 330 to the script layer 302. In response to this notification, in step S83, it is determined in the script layer 302 whether or not an event handler onContinuePlay corresponding to this event continuePlay is prepared in the script program. If it is determined that the corresponding event handler onContinuePlay is prepared, the process proceeds to step S84, and the event handler onContinuePlay is executed.

  On the other hand, if it is determined in step S83 that the event handler onContinuePlay corresponding to the script program is not prepared, the process proceeds to step S85. In step S85, a default event handler onContinuePlay is executed. This default event handler onContinuePlay is incorporated in the disc playback apparatus 100 in advance, for example, and the return playback using the resume information 324 is performed. That is, the resume information 324 corresponding to the disc 101 is restored to the player status 323B, and the movie player 300 reproduces the content using the player status 323B by the restoration.

  As described above, when “play from the beginning” is selected by the user operation in step S80, and when it is determined in step S81 that the resume information 324 corresponding to the disc 101 does not exist, the process proceeds to step S86. Transition. In step S86, the event autoPlay is generated by the controller object 330 and notified to the script layer 302. In a next step S87, it is determined whether or not an event handler onAutoPlay corresponding to the event autoPlay is prepared in the script program. If it is determined that it is prepared, the process proceeds to step S 88, and the event handler onAutoPlay is executed in the script layer 302.

  On the other hand, if it is determined in step S87 that the event handler onAutoPlay corresponding to the script program is not prepared, the process proceeds to step S89. In step S89, no processing is performed. In this way, it is possible to intentionally create a state in which no processing is performed. In this case, a corresponding event is generated by operating the menu key.

  Whether or not the event handler onAutoPlay is prepared in the script program can be arbitrarily determined by the content creator. On the other hand, when the event handler onAutoPlay is not prepared, even if the user loads the disc 101 into the disc playback apparatus 100, for example, automatic playback is not performed. From the viewpoint of user convenience, it is highly preferable to prepare an event handler onAutoPlay.

  Next, a method for switching resource files during content reproduction will be described. Due to the limited memory capacity of the player's built-in memory 113 and the like, resource files having data such as script programs, still images used on menu screens, sound data, and the like are limited in data size. By dividing resource files and switching them during content playback, more script programs, still image data, sound data, etc. can be handled.

  FIG. 54 is a flowchart showing an example of processing for switching resource files. The resource file is switched by a method changeResource () from the script layer 302 to the native implementation platform 301. A method changeResource () is a method of the controller object 330 in the native implementation platform 301. On the content production side, the method changeResource () is described at the position where the resource file in the script program is to be switched.

  In step S100, the method changeResource () is issued from the script program to the native implementation platform 301. Upon receiving this method changeResource (), the native implementation platform 301 refers to the player status 323B of the movie player 300 and determines whether or not the operation mode of the movie player 300 is the menu mode (step S101). If it is determined that the menu mode is not selected, the process proceeds to step S111, and the controller object 330 of the native implementation platform 301 returns a value “false” to the script program as a return value of the method changeResource (). It is assumed that switching to the resource has failed (step S112). You may make it return to step S100 again after step S112.

  If it is determined in step S101 that the operation mode of the movie player 300 is the menu mode, the process proceeds to step S102. In step S102, it is determined whether or not the state of the movie player 300 is the stop state or the play state and the pause state. That is, in step S102, it is determined whether or not the time in the content is advanced in the movie player 300. If the movie player 300 is in a stop state or a pause state in the play state, there is no need to read a stream from the disc. The pause state of the play state is realized, for example, when the video output module 241 repeatedly reads out one frame of video data stored in the buffer.

  If the state of the movie player 300 is not the pause state in the stop state or the play state, that is, if the time axis of the content reproduced in the play state is advanced, the process proceeds to step S111. The controller object 330 returns a value “false” as a return value, and it is assumed that the switching of the resource file has failed in step S112.

  On the other hand, if it is determined in step S102 that the state of the movie player 300 is the stop state or the play state, the process is shifted to step S103, and the controller object 330 of the native implementation platform 301 uses the method changeResource ( ) Is returned as a return value to the script program, and in the next step S104, the native implementation platform 301 suppresses the occurrence of a new event. That is, in step S104, the issue of the event 314 from the native implementation platform 301 to the script layer 302 is suppressed. In the next step S105, all events 314 accumulated in the queue are discarded in the native implementation platform 301.

  In the next step S106, the currently displayed screen (page) is deleted. For example, among the data stored in the buffer for video output by the video output module 241, the screen (page) data displayed by the resource file before switching is erased from the buffer. By this processing, the image data displayed by the resource file before switching is deleted. Here, the graphics image created by the resource data that is displayed over the video image is only deleted. When the movie player 300 is paused in the play state, the paused video image is displayed in the background, but the video still image is continuously displayed.

  Note that the process of step S106 can be omitted. In other words, even when the resource file is being switched or immediately after switching, if image data exists in the buffer, the video output module 241 repeatedly reads out the image data to continue displaying the screen (page). be able to.

  In Step 107, the resource file currently in use is discarded by the native implementation platform 301, and a new resource file is read from the disk. The resource file to be read is described in the script program in the original resource file before switching. When a new resource file is read, the loaded resource file is first executed by the native implementation platform 301 in the next step S108. Then, an event resourceChanged is issued from the native implementation platform 301 to the script layer 302 by the new script file (step S109), and the event handler onResourceChanged is executed in the script layer 302 in response to the event resourceChanged (step S110). ). At this point, new events are allowed to be issued.

  In the event-driven model, it is important to suppress new events and handle waiting event handlers. Therefore, if an appropriate process is not performed, an unintended event may occur or an event handler that is waiting to be executed may be executed, and a desired operation may not be achieved.

  In the embodiment of the present invention, it is determined whether or not the control command 311 from the native implementation platform 301 corresponding to the user input 310 is received in step S101 in the flowchart described above, and the stream from the disk is determined in step S102. It is determined whether or not reading has been performed. That is, according to the embodiment of the present invention, since these processes that are unavoidable when performing stream switching during content playback are performed, it is possible to safely switch resource files.

  Actually, prior to the process of steps S101 and S102 described above, the operation mode of the movie player 300 is explicitly set to the menu mode and the state is set to the stop state before the method changeResource () is generated. Is desirable.

  In order to realize switching of the resource file, it is necessary to ensure that the operation after switching of the resource file can be performed. Therefore, there are information that exists before switching resource files and is stored in the player's memory, and that must be maintained until after switching resource files, and information that must be discarded when switching resource files. .

  The player status 323B, resume information 324, and user data (data held in the user data area 403) are data that must be maintained until after the resource file is switched.

  On the other hand, global variables held in the script layer 302 and values assigned to event handler properties are not maintained until after the resource file is switched.

  The page (screen), button image, etc. displayed as a menu or the like immediately before switching the resource file are deleted. Even when the image data and the like remain in the buffer of the video output module 241 and the display is continued, the data for configuring the menu display page (screen) is deleted from the memory in which the resource file is stored. . Similarly, all event handlers in the execution waiting queue are discarded immediately before the resource file is switched. Therefore, after the resource file is switched, the event handler is not accumulated in the queue.

  As described above, in the embodiment of the present invention, information that is maintained after resource file switching and information that is not maintained are respectively defined, and a restriction is provided that an event handler is discarded immediately before resource file switching. . This makes it possible to switch resource files.

  In the above description, the present invention is applied to the disc playback apparatus 100 that processes both an audio stream and a video stream. However, the present invention is not limited to this example. For example, the present invention can be applied to a case where only an audio stream or only a video stream is reproduced.

  In the above description, the on-disc recording medium is used as the recording medium on which the content data is recorded. However, this is not limited to this example. For example, a semiconductor memory can be used as a recording medium on which content data is recorded.

  Furthermore, in the above description, the disk reproducing apparatus 100 to which the present invention is applied has been described as being configured with dedicated hardware, but this is not limited to this example. That is, the configuration other than the disk drive of the disk playback apparatus 100 can be realized by software operating on the computer apparatus. In this case, the software for realizing the disc playback apparatus 100 can be supplied by being recorded on a recording medium such as a CD-ROM (Compact Disc-Read Only Memory) or a DVD-ROM (Digital Versatile Disc-ROM). A recording medium on which software for realizing the disc playback apparatus 100 is recorded is loaded into a disk drive of the computer apparatus, and the software recorded on the recording medium is installed in the computer apparatus. By connecting a UMD-compatible disk drive device to the computer device, a configuration equivalent to the disk reproducing device 100 according to the present invention can be realized. It is also conceivable to record and provide the software together on a recording medium on which UMD video content is recorded.

It is a basic diagram which shows the layer structure of a UMD video standard. It is a basic diagram which shows typically an example player model by one Embodiment of this invention. It is a basic diagram which shows the internal structure of an example of a movie player. It is a figure for demonstrating the play state and stop state of a movie player. It is a schematic diagram which shows typically the event model of the movie player by one Embodiment of this invention. It is a basic diagram which shows an example of an event which generate | occur | produces during reproduction | regeneration of a play list. It is a basic diagram which lists and shows an example of the property which a movie player object has. It is a basic diagram which lists and shows an example method which a movie player object has. It is an approximate line figure showing an example key input by user input. It is an approximate line figure showing an example key input by user input. It is an approximate line figure showing an example of a control command according to key input. It is an approximate line figure showing an example of an event corresponding to key input. It is a basic diagram which shows an example event handler. It is a basic diagram which shows an example event handler. It is a flowchart which shows an example of a process in which the prepared program is executed triggered by a user input event. It is a figure for demonstrating the example of a script program. It is a basic diagram which shows an example script program. It is a basic diagram which shows the management structure of an example of the file applied to a UMD video specification. It is a basic diagram which shows the syntax of an example showing the whole structure of file "PLAYLIST.DAT". It is a basic diagram which shows the internal structure of an example of block PlayItem (). It is a basic diagram which shows the internal structure of an example of block PlayListMark (). It is a figure for demonstrating field mark_type in block Mark (). It is a figure for demonstrating designation | designated of the mark time in a clip AV stream file. FIG. 22 is a schematic diagram illustrating an example of syntax representing an entire structure of a clip AV stream file “XXXXX.CLP”. It is a figure for demonstrating the correlation with respect to the elementary stream of block StreamInfo (). It is a basic diagram which shows the internal structure of an example of block StaticInfo (). It is a basic diagram which shows the internal structure of an example of block DynamicInfo (). It is a basic diagram which shows the internal structure of an example of block EP_map (). 1 is a block diagram schematically showing a configuration of an example of a disc playback apparatus to which the present invention is applicable. It is a functional block diagram for demonstrating in detail the operation | movement in a disc reproducing | regenerating apparatus. It is a basic diagram which shows notionally the definition of the state of the movie player by this invention. It is a basic diagram which shows combining the present state and the state after state transition by a method about each of four states of a movie player. It is a basic diagram explaining the example of the state transition of a movie player at the time of performing method play (). It is a basic diagram for demonstrating the reproduction method of play item. It is a basic diagram which shows operation | movement of an example of a movie player when the start point and the end point of a playlist are reached during reproduction of a playlist. It is a basic diagram for demonstrating reproduction | regeneration between playlists. It is a flowchart which shows in detail the example of the flow of a process in the script layer in the last of a play list, and an operation | movement of a movie player. It is a basic diagram for demonstrating three types of memory areas with which a UMD video player is provided. It is an approximate line figure for explaining backup of a player status. It is an approximate line figure for explaining backup of a player status. It is a basic diagram for demonstrating restoration and discard of resume information. It is a basic diagram for demonstrating restoration and discard of resume information. It is a basic diagram for demonstrating restoration and discard of resume information. It is a basic diagram for demonstrating restoration and discard of resume information. It is a basic diagram which shows operation | movement of an example of the UMD video player using the argument resumeInfoClearFlag of the method stop (). It is a basic diagram which shows the life cycle of an example of player status. It is a basic diagram which shows the life cycle of an example of resume information. It is a basic diagram which shows the life cycle of an example of user data. It is a basic diagram which shows arrangement | positioning of an example of the resource file on a disk. It is a basic diagram for demonstrating the naming rule of the file name of a resource file. It is a flowchart which shows an example of a process which performs initial selection of a resource file. It is a basic diagram which shows the content of an example of the script file stored in the resource file. It is a flowchart which shows an example of a process after the first execution of a script until a first event handler is selected and executed. It is a flowchart which shows an example process which switches a resource file.

Explanation of symbols

101 disk 112 CPU
113 Memory 115 Input Interface 116 Video Decoder 117 Audio Decoder 118 Video Output Interface 119 Audio Output Interface 201 Operation System 210 Video Content Playback Unit 211 Script Control Module 212 Player Control Module 214 Decode Control Module 215 Buffer Control Module 216 Video Decoder Control Module 217 Audio Decoder control module 218 Subtitle decoder control module 219 Graphics control module 241 Video output module 242 Audio output module 250 Non-volatile memory control module 300 Movie player 301 Native implementation platform 302 Script layer 310 User input 311 control Command 312 Event 313 Method 320 database 321 playback module 322 decoder engine 323 property 323B the player status 324 resume information 400 script program 401 the player status area 402 resume information area 403 the user data area 410 nonvolatile memory

Claims (17)

  1. Content data including at least one of a video stream and an audio stream, a playback control program for controlling playback of the content data, and one or more resource files including data used by the playback control program are recorded A recording medium readable by a computer device,
    The resource file includes a file name that includes information indicating a language that is normally used when the content data is reproduced and information indicating a language attribute of the resource file. Recording medium.
  2. The recording medium according to claim 1,
    The computer-readable recording medium, wherein the resource file is continuously held in a memory of the computer device while the resource file is read by the computer device and is reproduced in a predetermined section of the recording medium.
  3. The recording medium according to claim 1,
    A computer-readable recording medium, wherein the file name of the resource file further includes information indicating a display aspect ratio assumed when reproduction control based on the resource file is performed.
  4. In a playback device for playing back content data recorded on a recording medium,
    Content data including at least one of a video stream and an audio stream, a reproduction control program for controlling reproduction of the content data, and one or a plurality of resource files including data used by the reproduction control program are recorded. Reading means for reading data from the recorded medium;
    Storage means for storing the resource file read by the reading means;
    Player means for reproducing the content data in accordance with the reproduction control program,
    When a plurality of the resource files are recorded on the recording medium, the reading unit selects a resource file used first when the player unit reproduces the content from the top of the plurality of resource files. A playback apparatus characterized by being selected and read based on a file name of a resource file.
  5. The playback apparatus according to claim 4, wherein
    The file name of the resource file includes at least information indicating a language that is normally used when reproducing the content data, and information indicating a language attribute of the resource file,
    When the player means reproduces the content from the beginning, the reading means
    Based on the file name of the resource file, it is determined whether or not the resource file with the language attribute that matches the set language exists on the recording medium, and the resource file with the language attribute that matches the set language is If it is determined that it exists on the recording medium, the resource file is selected and read,
    If it is determined that there is no resource file whose language attribute matches the set language on the recording medium, the resource file includes information indicating a language used in standard when reproducing the content data. A reproduction apparatus characterized by selecting and reading out.
  6. The playback apparatus according to claim 5, wherein
    The file name of the resource file further includes information indicating a display aspect ratio assumed when performing playback control based on the resource file,
    In the case where there are a plurality of the resource file in which the resource name in which the set language and the language attribute match or the information indicating the language used as a standard is included in the file name on the recording medium A playback apparatus, wherein the resource file is selected and read based on information indicating the display aspect ratio included in the file name.
  7. In a reproduction method for reproducing content data recorded on a recording medium,
    One or a plurality of resource files including content data including at least one of a video stream and an audio stream, a playback control program for causing the player means to control playback of the content data, and data used by the playback control program; When playing back a recording medium with
    When a plurality of the resource files are recorded on the recording medium, a resource file that is used first when the player means plays the content from the top of the plurality of resource files is a file name of the resource file A reproduction method characterized by being selected and read based on the above.
  8. In a reproduction program for causing a computer device to execute a reproduction method for reproducing content data recorded on a recording medium,
    The above playback method is
    One or a plurality of resource files including content data including at least one of a video stream and an audio stream, a playback control program for causing the player means to control playback of the content data, and data used by the playback control program; When playing back a recording medium with
    When a plurality of the resource files are recorded on the recording medium, a resource file that is used first when the player means plays the content from the top of the plurality of resource files is a file name of the resource file A reproduction program characterized by being selected and read based on the above.
  9. In a recording medium readable by a computer apparatus on which a reproduction program for causing a computer apparatus to execute a reproduction method for reproducing content data recorded on the recording medium is recorded,
    The above playback method is
    One or a plurality of resource files including content data including at least one of a video stream and an audio stream, a playback control program for causing the player means to control playback of the content data, and data used by the playback control program; When playing back a recording medium with
    When a plurality of the resource files are recorded on the recording medium, a resource file that is used first when the player means plays the content from the top of the plurality of resource files is a file name of the resource file A computer-readable recording medium characterized by being selected and read based on the above.
  10. In a playback device for playing back content data recorded on a recording medium,
    Recording medium on which content data including at least one of a video stream and an audio stream, a reproduction control program for controlling reproduction of the content data, and a plurality of resource files including data used by the reproduction control program are recorded Reading means for reading data from,
    Storage means for storing the resource file read by the reading means;
    According to the reproduction control program, the content data is reproduced, and the reproduction of the content data is classified into two states classified by whether or not the content data is being reproduced, and whether or not a control command corresponding to a user operation is received. Player means for controlling based on four states defined by combinations with two states to be classified;
    Resource file switching control means for performing control to switch the plurality of resource files based on an instruction of the playback control program during playback of the content,
    The resource file switching control means is in a state in which the control command is not accepted among the four states, a pause state in a state where the content data is being reproduced, or a state where the content data is not being reproduced. In addition, a playback apparatus characterized in that the resource file is switched.
  11. The playback device according to claim 10, wherein
    The playback apparatus, wherein the playback control program controls playback of the content data based on an event driven model.
  12. In a reproduction method for reproducing content data recorded on a recording medium,
    Content data including at least one of a video stream and an audio stream, a playback control program for controlling playback of the content data by player means, and a plurality of resource files including data used by the playback control program are recorded. Read data from the recorded media,
    A combination of two states classified according to whether or not the content data is being reproduced by the player means and two states classified according to whether or not a control command corresponding to a user operation is accepted according to the reproduction control program. Based on the four states defined by the above, the playback of the content data is controlled,
    The plurality of resource files are switched based on an instruction of the reproduction control program during reproduction of the content, and the switching of the plurality of resource files does not accept the control command among the four states of the player means. A reproduction method characterized by being performed in a state, a pause state in which the content data is being reproduced, or a state in which the content data is not being reproduced.
  13. In a reproduction program for causing a computer device to execute a reproduction method for reproducing content data recorded on a recording medium,
    The above playback method is
    Content data including at least one of a video stream and an audio stream, a playback control program for controlling playback of the content data by player means, and a plurality of resource files including data used by the playback control program are recorded. Read data from the recorded media,
    A combination of two states classified according to whether or not the content data is being reproduced by the player means and two states classified according to whether or not a control command corresponding to a user operation is accepted according to the reproduction control program. Based on the four states defined by the above, the playback of the content data is controlled,
    The plurality of resource files are switched based on an instruction of the reproduction control program during reproduction of the content, and the switching of the plurality of resource files does not accept the control command among the four states of the player means. And a playback program that is executed when the content data is being paused or when the content data is not being played back.
  14. In a recording medium readable by a computer apparatus on which a reproduction program for causing a computer apparatus to execute a reproduction method for reproducing content data recorded on the recording medium is recorded,
    The above playback method is
    Content data including at least one of a video stream and an audio stream, a playback control program for controlling playback of the content data by player means, and a plurality of resource files including data used by the playback control program are recorded. Read data from the recorded media,
    A combination of two states classified according to whether or not the content data is being reproduced by the player means and two states classified according to whether or not a control command corresponding to a user operation is accepted according to the reproduction control program. Based on the four states defined by the above, the playback of the content data is controlled,
    The plurality of resource files are switched based on an instruction of the reproduction control program during reproduction of the content, and the switching of the plurality of resource files does not accept the control command among the four states of the player means. A computer-readable recording medium characterized by being performed in a state of being paused in a state where the content data is being reproduced or in a state where the content data is not being reproduced.
  15. Content data including at least one of a video stream and an audio stream, a reproduction control program for causing the player means to control reproduction of the content data, and a plurality of resource files including data used by the reproduction control program are recorded. In addition, a computer-readable recording medium,
    The playback control program is
    The content data based on four states defined by a combination of two states classified by whether or not the content data is being reproduced and two states classified by whether or not a control command according to a user operation is received. A playback control command is given to the player means for controlling playback of the content to control playback of the content,
    Based on the instruction of the playback control program, the player means is in a paused state or the content data in a state where the control command is not accepted among the four states and the content data is being played back. A computer-readable recording medium characterized in that the plurality of resource files are switched during reproduction of the content when not being reproduced.
  16. The recording medium according to claim 15, wherein
    A computer-readable recording medium, wherein the reproduction control program controls reproduction of the content data based on an event driven model.
  17. A data structure including content data including at least one of a video stream and an audio stream, a playback control program for controlling playback of the content data, and one or a plurality of resource files including data used by the playback control program Body,
    A data structure characterized in that the file name of the resource file includes information indicating a language used in standard when reproducing the content data and information indicating a language attribute of the resource file.
JP2004350191A 2004-12-02 2004-12-02 Reproduction device, reproduction method and reproduction program, recording medium, and data structure Expired - Fee Related JP4275611B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004350191A JP4275611B2 (en) 2004-12-02 2004-12-02 Reproduction device, reproduction method and reproduction program, recording medium, and data structure

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2004350191A JP4275611B2 (en) 2004-12-02 2004-12-02 Reproduction device, reproduction method and reproduction program, recording medium, and data structure
US11/289,483 US8005339B2 (en) 2004-12-02 2005-11-30 Reproduction apparatus, reproduction method, reproduction program, record medium, and data structure
TW094142337A TWI297887B (en) 2004-12-02 2005-12-01
KR1020050117055A KR101154796B1 (en) 2004-12-02 2005-12-02 Reproducing apparatus, reproducing method, and recording medium
CN 200510121676 CN100533571C (en) 2004-12-02 2005-12-02 Reproduction apparatus, reproduction method, reproduction program, record medium, and data structure
KR1020110125329A KR101143252B1 (en) 2004-12-02 2011-11-28 Reproducing apparatus, reproducing method, and recording medium

Publications (2)

Publication Number Publication Date
JP2006164326A JP2006164326A (en) 2006-06-22
JP4275611B2 true JP4275611B2 (en) 2009-06-10

Family

ID=36666175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004350191A Expired - Fee Related JP4275611B2 (en) 2004-12-02 2004-12-02 Reproduction device, reproduction method and reproduction program, recording medium, and data structure

Country Status (5)

Country Link
US (1) US8005339B2 (en)
JP (1) JP4275611B2 (en)
KR (2) KR101154796B1 (en)
CN (1) CN100533571C (en)
TW (1) TWI297887B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4640046B2 (en) * 2005-08-30 2011-03-02 株式会社日立製作所 Digital content playback device
JP2007179682A (en) * 2005-12-28 2007-07-12 Toshiba Corp Disk reproducing device and content reproducing method
US20090060055A1 (en) * 2007-08-29 2009-03-05 Sony Corporation Method and apparatus for encoding metadata into a digital program stream
US20100079472A1 (en) * 2008-09-30 2010-04-01 Sean Shang Method and systems to display platform graphics during operating system initialization
WO2010064433A1 (en) * 2008-12-04 2010-06-10 三菱電機株式会社 Video information reproduction method, video information reproduction device, recording medium, and video content
ES2649556T3 (en) * 2009-07-10 2018-01-12 Panasonic Intellectual Property Management Co., Ltd. Reproduction device, registration procedure and system comprising a recording medium and a reproduction device
CN102117295B (en) * 2009-12-31 2014-09-10 上海博泰悦臻网络技术服务有限公司 Binding method of object file and correlative information thereof and correlative information searching method
SG2014008775A (en) 2011-08-16 2014-04-28 Destiny Software Productions Inc Script-based video rendering
WO2016132977A1 (en) * 2015-02-20 2016-08-25 ソニー株式会社 Transmission device, transmission method, reception device, and reception method
CN105914245A (en) * 2016-04-01 2016-08-31 殷玉惠 Self-cleaning double-faced fresnel lens condensation rare earth Gb3+, Yb3+, Tm3+ and Er3+ co-doped photon upconversion CGSe wide spectrum film solar energy cell

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257669A (en) * 1992-03-16 1993-10-08 Fujitsu Ltd Data processor
US5745902A (en) * 1992-07-06 1998-04-28 Microsoft Corporation Method and system for accessing a file using file names having different file name formats
US5850500A (en) 1995-06-28 1998-12-15 Kabushiki Kaisha Toshiba Recording medium comprising a plurality of different languages which are selectable independently of each other
JP3348339B2 (en) 1995-08-02 2002-11-20 ソニー株式会社 Data recording method and apparatus, a data reproducing method and apparatus
US7178106B2 (en) * 1999-04-21 2007-02-13 Sonic Solutions, A California Corporation Presentation of media content from multiple media sources
JP3961168B2 (en) 1999-09-30 2007-08-22 株式会社島津製作所 Ultrasonic diagnostic equipment
US6654758B1 (en) * 2000-07-21 2003-11-25 Unisys Corporation Method for searching multiple file types on a CD ROM
JP4552296B2 (en) * 2000-09-08 2010-09-29 ソニー株式会社 Information processing apparatus, information processing method, and recording medium
JP2003249057A (en) * 2002-02-26 2003-09-05 Toshiba Corp Enhanced navigation system using digital information medium
KR20040000290A (en) * 2002-06-24 2004-01-03 엘지전자 주식회사 Method for managing multi-path data stream of high density optical disc
JP3859146B2 (en) * 2002-10-01 2006-12-20 パイオニア株式会社 Information recording medium, information recording apparatus and method, information reproducing apparatus and method, information recording / reproducing apparatus and method, computer program for recording or reproduction control, and data structure including control signal
AU2003282439A1 (en) * 2002-11-27 2004-06-18 Samsung Electronics Co., Ltd. Apparatus and method for reproducing interactive contents by controlling font according to aspect ratio conversion
EP1716573A1 (en) * 2004-02-10 2006-11-02 LG Electronic Inc. Recording medium having a data structure for managing data streams associated with different languages and recording and reproducing methods and apparatuses

Also Published As

Publication number Publication date
US20060161954A1 (en) 2006-07-20
CN1822175A (en) 2006-08-23
KR101143252B1 (en) 2012-05-18
TW200630995A (en) 2006-09-01
KR20060061919A (en) 2006-06-08
KR101154796B1 (en) 2012-06-18
JP2006164326A (en) 2006-06-22
CN100533571C (en) 2009-08-26
TWI297887B (en) 2008-06-11
KR20110133537A (en) 2011-12-13
US8005339B2 (en) 2011-08-23

Similar Documents

Publication Publication Date Title
TWI338288B (en)
KR101084150B1 (en) Recording medium having a data structure for managing sound data and recording and reproducing methods and apparatuses
CN100466713C (en) Method for managing the variations of data flow rate
CN1118049C (en) Multimedia optical disk reproduction apparatus capable of developing scenes with full unexpectedness on basis of interactive control
CN1695197B (en) Play device, play method, and recording method of recording medium
CN1186930C (en) Recording appts. and method, reproducing appts. and method
CN101853680B (en) Reproducing device and reproduction method
CN102394090B (en) Reording medium, playback device and recording method
JP2007207328A (en) Information storage medium, program, information reproducing method, information reproducing device, data transfer method, and data processing method
KR100491399B1 (en) Enhanced navigation system using digital information medium
JP3195284B2 (en) The image display apparatus the video reproduction control method and a method thereof is applied
JP5142453B2 (en) Playback device
KR100584708B1 (en) Optical disk apparatus and optical disk processing method and optical disk
US8620140B2 (en) Reproducing apparatus, reproducing method, reproducing program, and recording medium
US7844355B2 (en) Stream reproduction device and stream supply device
US7580614B2 (en) Information playback apparatus having expansion information storage unit and information playback method
CN1326396C (en) Reproducing apparatus and reproducing method
ES2650987T3 (en) Playback device, playback method, playback program and recording medium
KR100846281B1 (en) Recording medium, reproduction device, recording method and reproduction method
CN1273965C (en) Information recording method
KR20070054260A (en) Information storage medium, information reproducing apparatus, and information reproducing method
JP4715094B2 (en) Reproduction device, reproduction method, reproduction program, and recording medium
CN101510980A (en) Recording medium, reproduction apparatus, recording method, program, and reproduction method
WO2006043383A1 (en) Moving picture data edition device and moving picture data edition method
CN101833967B (en) Reproducing apparatus and method for controlling reproducing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071126

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090304

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120313

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130313

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140313

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees