WO2009101787A1 - 再生装置、記録装置、再生方法および記録方法 - Google Patents

再生装置、記録装置、再生方法および記録方法 Download PDF

Info

Publication number
WO2009101787A1
WO2009101787A1 PCT/JP2009/000505 JP2009000505W WO2009101787A1 WO 2009101787 A1 WO2009101787 A1 WO 2009101787A1 JP 2009000505 W JP2009000505 W JP 2009000505W WO 2009101787 A1 WO2009101787 A1 WO 2009101787A1
Authority
WO
WIPO (PCT)
Prior art keywords
play item
stream
playback
current
sub
Prior art date
Application number
PCT/JP2009/000505
Other languages
English (en)
French (fr)
Inventor
Taiji Sasaki
Hiroshi Yahata
Kazuhiro Mochinaga
Wataru Ikeda
Original Assignee
Panasonic Corporation
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 Panasonic Corporation filed Critical Panasonic Corporation
Priority to JP2009553359A priority Critical patent/JP5281021B2/ja
Priority to BRPI0902891A priority patent/BRPI0902891A2/pt
Priority to EP09710717.1A priority patent/EP2242269A4/en
Priority to CN2009800002409A priority patent/CN101682744B/zh
Priority to RU2009138027/07A priority patent/RU2516463C2/ru
Priority to MX2009010856A priority patent/MX2009010856A/es
Publication of WO2009101787A1 publication Critical patent/WO2009101787A1/ja

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/87Regeneration of colour television signals
    • H04N9/8715Regeneration of colour television signals involving the mixing of the reproduced video signal with a non-recorded signal, e.g. a text signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00855Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
    • G11B20/00869Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server wherein the remote server can deliver the content to a receiving device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/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/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/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
    • H04N9/8047Transformation 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 using transform coding
    • 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

Definitions

  • the present invention is an invention belonging to the technical field of playlist reproduction technology.
  • a playlist is information for defining a logical playback path. In various application formats for storing content, this playlist is one determined playback unit. Generally, a play list is composed of play items and sub play items. A play item is a logical playback section that is defined by designating a set of In points and Out points on the time axis of a video stream that constitutes a main moving image.
  • a sub play item is a logical playback section that is defined by designating a set of in points and out points on the time axis of the sub stream.
  • the sub-stream refers to an audio stream, a subtitle stream, and a video stream that are not multiplexed with the video stream but are reproduced together with the video stream.
  • the playback section of the substream downloaded through the network can be defined by the subplayitem.
  • the playlist can realize a combination of new subtitles / sounds and moving images that are not on the optical disc.
  • Patent Document 1 JP 2006-109494 A
  • bit rate of 54 Mbps can be secured for reading from the ROM disk.
  • bit rate guaranteed at the time of streaming reproduction is often the best effort, and a bit rate of a constant height cannot be secured at all times like the stream reproduction from the ROM disk.
  • a play item is accompanied by 10 sub play items, and these sub play items support the languages of 10 countries that are treated as options.
  • the clip file referenced by each sub play item has a data size of 10 MB
  • the application responsible for downloading the clip file first downloads a total of 100 Mbytes of the clip file referenced by the ten sub play items, and postpones the download of the clip file referenced by the play item.
  • the supply of the clip file referred to by the play item may be delayed, and the playback progress may be delayed.
  • the clip file referenced by the main path is downloaded first and the download of the clip file referenced by the sub play item is postponed, the user is referenced by the sub play item.
  • the elementary stream to be played back cannot be supplied to the decoder, and playback is performed with any subtitles, audio, or moving images missing. There is a risk of progress.
  • the playback device since the user is not aware of whether the stream is read from the ROM disk or the stream is supplied from the network, if a part of the playback content is missing, the playback device seems to be out of order. There is a possibility of complaining about product complaints at the manufacturer's consultation desk.
  • the procedure for downloading a clip file that constitutes a sub play item is not an embedded program in a playback apparatus but an application program created by a movie creator. It is not desirable for the manufacturer that the application program created by the movie creator is given the above-mentioned complaint because it happens to give priority to the download of the clip file constituting the sub play item.
  • An object of the present invention is to provide an application with a guideline as to what should be preferentially downloaded when there are many clip files to be downloaded because there are many sub play items. It is to provide a playback device.
  • a playback device is a playback device that plays a playlist
  • the playlist includes a plurality of play items and a plurality of sub play items
  • the play items are: This is information that defines a clip file including a main stream and a playback section in the clip file, and the sub play item is a playback to be synchronized with the play item in the clip file including the sub stream and the playback section in the clip file.
  • the clip file referred to by the sub play item is a clip file transmitted via the transmission path, and the sub stream is multiplexed with the clip file referred to by the play item. Not included in the playlist.
  • a playback means for playing back an item a specifying means for specifying a play target among a plurality of play items as a current play item, and a sub play optimum for the current play item each time the current play item changes
  • Determining means for determining an item as a current sub play item; and a sub stream register indicating a current sub stream to be reproduced in synchronization with the current play item, wherein the current sub play item is synchronized with the current play item.
  • the playback device when a clip file referred to by the current sub play item that includes the current sub stream does not exist in the recording medium, the playback is uniformly stopped.
  • the clip file to be processed is a clip file that includes the main stream and a clip file that is referred to by the current sub play item information and includes the current sub stream.
  • bit rate B (Clip file data size corresponding to the next play item + clip file data size corresponding to the next sub play item) / Current play item playback time
  • the “next play item” is a play item to be reproduced next to the play item
  • the “next sub play item” is a sub play item that defines the sub play item to be reproduced next to the current sub play item information. It is. Since the bit rate necessary for the download is sufficient as described above, even if the bit rate is limited, the interruption of reproduction can be minimized.
  • the playback device can download and play back only the download of the minimum clip file necessary for playback, the user can continue playing the playlist without unnecessarily waiting for the download of the clip file.
  • FIG. 3 is a diagram illustrating an example of a usage act of the playback apparatus 101. It is a figure which shows an example of a playlist. It is a figure which shows an example of the playlist used as the theme of an operation example. It shows how the playlist shown in FIG. 3 is reproduced.
  • 2 is a diagram illustrating an example of a configuration of a playback device 101.
  • FIG. It is a list of system parameters (SPRM). It is a figure which shows a streaming-like reproduction
  • FIG. 10 is a diagram illustrating an example of a state where a playback position is about to reach play item # 2.
  • FIG. 10 is a diagram assuming that play item # 3 becomes the current play item and sub play item # 3 becomes the current sub play item information because there is a chapter jump. It is a flowchart which shows the process sequence of a BD-J application. It is a flowchart which shows the process sequence of AV clip download. It is a flowchart which shows the process sequence of play list reproduction
  • a clip file to be requested for download is indicated.
  • FIG. 3 is a diagram illustrating an example of an internal configuration of a system target decoder 13.
  • FIG. It is a figure which shows an example of the data structure of play list information. It is a figure which closes up and shows the internal structure of subpath information. It is a figure which shows an example of the whole structure of STN_table.
  • FIG. 33 is a diagram illustrating an example of a stream_entry for a secondary video stream in the entire configuration of the STN_table illustrated in FIG. 32.
  • (A) It is a figure which shows an example of Stream_entry and Stream_attribute in a primary video stream.
  • (B) Indicates Stream_entry in the secondary video stream.
  • (A) It is a figure which shows an example of the bit assignment of PSR14.
  • (B) It is a figure which shows an example of the bit assignment of PSR29. It is a figure which shows an example of an internal structure of a reproduction
  • 3 is a diagram illustrating an example of an internal configuration of a system target decoder 13.
  • (B) It is a figure which shows an example of the bit assignment of PSR14. It is a flowchart which shows the current primary audio stream determination procedure at the time of current play item change. It is a flowchart which shows the process sequence of the stream selection procedure of a secondary audio stream. It is a flowchart which shows the procedure which selects the optimal current secondary audio stream about a current play item. It is the figure which extracted and drawn the thing especially relevant to PGtestST stream among STN_table. (A) It is a figure which shows an example of the numerical range which the stream number of the current PGtestST stream can take.
  • (B) It is a figure which shows an example of the bit assignment of PSR2. It is a flowchart which shows the determination procedure of the current PGtestST stream at the time of the current play item change. It is a flowchart which shows the process sequence which selects the optimal current PGTextST stream about a current play item. It is a figure which shows an example of a structure of BD-ROM. It is a figure which shows an example of the internal structure of an index file. 3 is a diagram illustrating an example of an internal configuration of an update kit stored in a local storage 103. FIG.
  • FIG. 1 is a diagram illustrating an example of a usage act of the playback apparatus 101.
  • the playback apparatus 101 is used by a user together with a BD-ROM 100, a WWW server 102, a local storage 103, and a television 104 as an example of a first recording medium.
  • BD-ROM 100 is a recording medium on which movie works are recorded.
  • the playback apparatus 101 constructs a home theater system together with the television 103, and plays back the BD-ROM 100.
  • a recording apparatus has a function of writing data to a recording medium and has a function as a recording apparatus.
  • the WWW server 102 is a server device that manages the official website of movie distributors.
  • a set of files (update kits) that realize partial replacement or addition of movie works recorded on the BD-ROM 100 is transmitted via the Internet or the like. To supply to the user.
  • the local storage 103 is loaded in the playback device and used as a tray for content distributed from the movie distributor's WWW server 102. Therefore, it is possible to extend / update the content of the BD-ROM 100 by combining the content downloaded through the net and stored in the local storage and the content recorded on the BD-ROM 100.
  • the television 104 provides a user with an interactive operation environment by displaying a playback image of a movie work or displaying a menu or the like.
  • FIG. 2 is a diagram showing an example of a playlist.
  • the playlist is composed of a “main path” and one or more “sub paths”.
  • the main path consists of one or more play items.
  • Sub path indicates a series of playback paths that are played together with the main path, and IDs (sub path IDs) are assigned in the order of registration in the playlist.
  • the sub path ID is used to identify the sub path.
  • the sub play item is composed of one or more pieces of sub play item information.
  • the playback start time and playback end time of the sub play item are represented on the same time axis as the main path, but when the sub path type is asynchronous, the sub play item playback start time and The playback end time is represented on a different time axis from the main path.
  • “Play item” includes a stream number table.
  • the stream number table is information indicating the stream numbers of elementary streams that are permitted to be played back in the play item. Details of the play list information, play item information, sub play item information, and stream number table are left to the description of the later embodiment.
  • FIG. 3 is a diagram showing an example of a play list that is the subject of the operation example.
  • Both sub-paths are synchronous and refer to AV clips in which presentation graphics streams, which are subtitle data in different languages, are multiplexed. All the AV clips used from the playlist are the contents of the update kit stored in the local storage, and have a progressive attribute. Progressive attributes do not need to be stored in the local storage in advance when playing a playlist, and the sub play item referring to the AV clip is stored in the local storage immediately before it becomes the current sub play item information. It is an attribute of an AV clip that is sufficient if stored.
  • # 1, # 2, # 3, # 4, and # 5 refer to 00001.m2ts, 00002m2ts, 00003.m2ts, 00004.m2ts, 00005.m2ts, respectively.
  • Each play item in the main path has a stream number table as shown in the upper right of the figure.
  • FIG. 4 shows how the playlist shown in FIG. 3 is reproduced.
  • the right side shows the WWW server 102
  • the left side shows the playback apparatus 101.
  • the middle shows a transmission path such as the Internet or an intranet.
  • AV clips are stored and managed in files having file names different from the file names 00001.m2ts, 00002.m2ts, 00003.m2ts, 00004.m2ts, 00005.m2ts. This is because a file for which a virtual package is to be constructed can be accessed by an alias using a manifest file.
  • components for the playback apparatus 101 to perform playlist playback, download request, and download will be described.
  • the components for these processes include a BD-J application and a BD-J object.
  • these components will be described.
  • BD-J application is a platform part that fully implements Java2 Micro_Edition (J2ME) Personal Basis Profile (PBP 1.0) and Globally Excecutable MHP specification (GEM1.0.2) for package media targets. It is a Java (TM) application that is activated by application signaling as a life cycle. The BD-J application instructs the Java TM virtual machine to generate a JMF player instance that reproduces playlist information, thereby starting playlist reproduction.
  • a JMF (Java Media Frame work) player instance is actual data generated on a heap memory of a virtual machine based on a JMF player class.
  • JMF A BD: //00001.mpls ”; is a method that instructs the Java (TM) virtual machine to generate a player instance that plays a playlist of the file 00001.mpls.
  • A.play is a method that commands the JMF player instance to play. Such JMF player instance generation is performed based on the JMF library.
  • the WWW server 102 After generating the JMF instance, the WWW server 102 is requested to download a necessary AV clip when playing the playlist.
  • a connection for acquiring an AV clip on the WWW server 102 can be established using the openConnection method of a Java software library called java.net.
  • An example of connection connection when the URL of a file on the server is http://xxx.com/vp_data/00001.m2ts is shown below.
  • the BD-J application accepts user operations using a GUI framework.
  • the GUI framework for Java (TM) applications includes the HAVi framework specified in GEM1.0.2, and includes the remote control navigation mechanism in GEM1.0.2.
  • Java (TM) applications can realize screen display that combines button display, text display, and online display (BBS content) display based on the HAVi framework with the display of moving images. Can be used to realize playlist playback and AV clip download as described above.
  • the series of files that make up the BD-J application conforms to the specifications described in Http: // Java (TM) .sun.com / j2se / 1.4.2 / docs / guide / jar / jar.html , Converted to Java (TM) archive file.
  • the Java (TM) archive file is a ZIP file format specialized for Java (TM), and the contents can be confirmed by commercially available ZIP development software.
  • the BDJ object is data that includes an application management table (ApplicationManagementTable ()) and causes the platform unit to execute application signaling associated with title switching during BD-ROM playback. More specifically, ApplicationManagementTable () includes application_id indicating a BD-J application to be executed and application_control_code indicating control when starting the BD-J application. application_control_code defines the initial execution state of the application after the title is selected, and application_control_code loads the BD-J application to the virtual machine and starts it automatically (AUTOSTART), or sets the BD-J application to the virtual machine. You can specify whether to load but not autostart (PRESENT).
  • ApplicationManagementTable includes application_id indicating a BD-J application to be executed and application_control_code indicating control when starting the BD-J application.
  • application_control_code defines the initial execution state of the application after the title is selected, and application_control_code loads the BD-J application to the virtual machine and starts it automatically (AUTOSTART), or sets the BD-
  • FIG. 5 is a diagram illustrating an example of the configuration of the playback apparatus 101.
  • the playback apparatus 101 includes a BD-ROM drive 10, a read buffer 11, a read buffer 12, a system target decoder 13, a BD-J execution unit 14, a network interface 15, a virtual package control unit 16, a state management unit 17, and a user event processing unit. 18, playback engine 19, playback control engine 20, HDMI transmission / reception unit 21, heap memory 22, virtual machine interpreter 23, and PSR set 24.
  • BD-ROM drive 10 includes a BD-ROM drive 10, a read buffer 11, a read buffer 12, a system target decoder 13, a BD-J execution unit 14, a network interface 15, a virtual package control unit 16, a state management unit 17, and a user event processing unit.
  • playback engine 19 playback control engine
  • HDMI transmission / reception unit 21 heap memory 22, virtual machine interpreter 23, and PSR set 24.
  • the BD-ROM drive 10 reads data from the BD-ROM disc and stores the data in the read buffer 11.
  • the read buffer 11 is a buffer composed of a memory or the like that temporarily stores data read using a BD-ROM drive.
  • the read buffer 1 12 is a buffer composed of a memory or the like that temporarily stores data read from the local storage.
  • the system target decoder 13 performs demultiplexing processing on the source packet read to the read buffer 11 and the source packet read to the read buffer 12, and performs processing to decode and reproduce each stream.
  • the BD-J execution unit 14 performs processing for decoding and reproducing graphics data such as JPEG and PNG for display on a menu or the like. Details of the system target decoder 13 will be described later.
  • the BD-J execution unit 14 is a program processing engine that executes a BD-J application transferred from the virtual package control unit 16. Operates according to the program of the BD-J application and performs the following control. (1) Play a playlist to the virtual package control unit 16. (2) Accumulate from the WWW server such as the Internet to the local storage of the update kit. (3) Command the construction of the virtual package by combining the BD-ROM and the update kit. (4) A value is set in the player variable. (5) PNG / JPEG for menu and game graphics is transferred to the system target decoder and displayed on the screen. These can be performed freely according to the creation of the program, and how to control them depends on the programming process of the BD-J application by the authoring process.
  • the network interface 15 implements a communication function in the playback device.
  • a URL designation is given from a BD-J application
  • the network interface 15 establishes a TCP connection, an FTP connection, or the like with a web site corresponding to the URL.
  • the Java (TM) application is made to download from the website.
  • the virtual package control unit 16 has a function of controlling the BD-ROM drive 10 and the local storage 103, constructing a virtual package, and controlling playback of the player.
  • a virtual package is a memory that stores content recorded on a BD-ROM disc, difference data stored in the local storage 103, and content on the BD-ROM based on merge management information stored in the local storage 103. This is a virtual BD-ROM package combined above.
  • the constructed virtual package has the same format as the data structure of the BD-ROM.
  • the timing for constructing the virtual package includes when a disk is inserted and when a virtual package construction instruction of the BD-J execution unit 14 is executed.
  • the virtual package control unit 16 controls the playback processing of the AV clip via the playlist information based on the playback command of the BD-J execution unit or the notification from the user event processing unit. Further, the virtual package control unit 16 sets and references player variables and performs a reproduction operation.
  • the state management unit 17 manages whether each AV clip existing in the BD-ROM or the local storage is in a Missing state, an Enable state, or a Disable state, and controls whether or not to stop playback of the playlist. Do.
  • the Missing state means a state in which the AV clip referenced from the play item information and the sub play item information does not exist in the BD-ROM or the local storage.
  • the “Enable state” means a state that can be reproduced by the virtual package control unit 16 and is controlled by the API of the BD-J application.
  • the API to set to the Enable state is executed, the AV clip has a read-only attribute, and the virtual package control unit 16 can reproduce the AV clip.
  • the Disable state means the opposite of the Enable state, and the virtual package control unit 16 cannot play back the corresponding AV clip. If the BD-J application has never been set to the Enable state for the AV clip, the AV clip is in the Disable state. If the BD-J application wants to delete or overwrite an AV clip in the Enable state, it transitions to the Disable state once using the API and executes it.
  • the AV clip in the Missing state and the AV clip in the Disable state are collectively referred to as an Unavailable clip.
  • Control of whether or not to stop playback of the playlist means that if the current sub play item information changes, it is determined whether the AV clip referenced in the current sub play item information is an Unavailable clip. If there is, the DataStarved event is notified to the JMF player instance and the playback control engine, and the JMF player instance and the playback control engine are changed from the playback state to the stop state.
  • the user event processing unit 18 requests the BD-J execution unit 14 and the virtual package control unit 16 to execute processing in response to a user operation through the remote controller. For example, when a button is pressed with the remote controller, the BD-J execution unit 14 is requested to execute a command included in the button. For example, when the fast forward / rewind button is pressed on the remote controller, the virtual package control unit 16 is instructed to execute fast forward / rewind processing for the AV clip of the playlist currently being played.
  • the playback engine 19 executes an AV playback function.
  • the AV playback function of the playback device is a group of traditional functions followed from DVD players and CD players. Playback start (Play), playback stop (Stop), pause (PauseOn), pause release (Pause Off) ), Still function release (still off), fast forward with specified speed (Forward Play (speed)), rewind with specified speed (BackwardPlay (speed)), audio switching (Audio Change), secondary video switching (Subtitle Change) ) And angle change (AngleChange).
  • the playback engine 19 controls the system target decoder so as to decode a portion corresponding to a desired time in the AV clip.
  • the playback control engine 20 executes a playback control function for the playlist.
  • the playback control function for the playlist means that the playback start and the playback stop of the AV playback function performed by the playback engine 19 are performed according to the current playlist information and clip information.
  • HDMI transmission / reception unit 21 receives information related to the device from another device connected via HDMI (HDMI: High Definition Multimedia Interface), and digital uncompressed video obtained by decoding of the system target decoder. Are transmitted to other devices connected via HDMI together with LPCM and compressed audio data.
  • HDMI High Definition Multimedia Interface
  • the heap memory 22 is a stack memory reserved for the BD-J execution unit 14, and is generated by performing a class loader on the JMF player instance generated by the BD-J application or the BD-J application.
  • the byte code to be stored is stored. These are in the form of threads and are provided for execution by the virtual machine interpreter 23 in a first-in first-out manner.
  • the virtual machine interpreter 23 converts the byte code stored in the heap memory 22 into a native code that can be executed by the CPU, and causes the CPU to execute it.
  • the player variables include a system parameter (SPRM) indicating the player state and a general parameter (GPRM) that can be used for general purposes.
  • SPRM system parameter
  • GPRM general parameter
  • Fig. 6 is a list of system parameters (SPRM).
  • the SPRM (16) audio stream language code and the SPRM (18) subtitle stream language code are items that can be set by the OSD of the player, and indicate the default language code of the player. For example, if the SPRM (16) audio stream language code is English, when playing a playlist, search for a stream entry having the same language code from the play item stream selection table and select the audio stream. Can be added to the BD-J application on the BD-ROM disc. Each of these SPRMs is stored in a register having a word length of 32 bits.
  • the numerical value in parentheses specifying SPRM basically means the register number of the corresponding register (however, SPRM (21), SPRM (22) means the register number of the corresponding register) is not.).
  • FIG. 7 is a diagram schematically showing a streaming-like playback function.
  • a streaming-like playback function refers to an AV clip that is referenced by play item information or sub play item information and has a progressive attribute, and that play item information or sub play item information is the current play item information. Reproduction operation and download operation are performed in parallel so as to be stored in the local storage immediately before becoming item or current sub play item information.
  • the upper part of FIG. 7 shows a playlist, and the five play items refer to 00001.m2ts, 0002.m2ts, 00003.m2ts, 00004.m2ts, and 00005.m2ts, all of which are stored in the local storage.
  • the content of the update kit which has a progressive attribute.
  • 00001.m2ts and 00002.m2ts have already been downloaded and are set to the Enable state by the BD-J application.
  • “00003.m2ts”, “00004.m2ts”, and “00005.m2ts” indicate that they have not been downloaded yet, or have been downloaded but are in a disabled state.
  • the virtual package control unit 16 sequentially plays back from the first play item in the playlist, as shown in the upper part of FIG. 7, when the playback position exists in play item # 1 and play item # 2, playback is not hindered. . This is because the play item information of these play items refers to AV clips that are in the Enable state. Therefore, playback proceeds to play item
  • the middle part of FIG. 7 shows a diagram in which the playback position has further advanced from the upper part of FIG. 7.
  • the download of 00003.m2ts is completed, and the BD-J application sets the Enable state It shows that. Therefore, playback proceeds to play item # 3.
  • FIG. 7 shows a diagram in which the playback position has further advanced from the middle part of FIG. 7.
  • the playback position transitions to play item # 4
  • the reference 00004.m2ts has not yet been downloaded or is in a disabled state. Indicates.
  • a DataStarved event is output.
  • the BD-J application completes the download of 00004.m2ts, makes a transition to the Enable state, and performs recovery by controlling to start playback from the point where the DataStarved event is received.
  • FIG. 8 is a diagram showing an example of streaming-like reproduction progress in the case of accompanying a sub play item.
  • the third level is a playlist in which an arrow schematically showing how far playback has progressed is added to the playlist of FIG.
  • the first row shows the state of the JMF player instance
  • the second row shows the state of the playback control engine.
  • the third level shows a playlist as a theme.
  • the JMF player instance is in a playback state, but if a DataStarved event is output, it enters a stop state.
  • the DataStarved event is an event indicating that the data to be played back is deficient, and the JMF player instance and the playback control engine that have received the DataStarved event transition to the stop state. Since the operations of the JMF player instance and the playback control engine are stopped, the DataStarved event is also called a “playback stop event”.
  • the playback control engine is in the playback state, but if the DataStarved event is output, it will be in the stop state along with the JMF player instance. That is, it can be seen that the JMF player instance and the playback control engine are switched from the playback state to the stop state with the DataStarved event as a trigger.
  • FIG. 9 is a diagram showing an example of a state where the playback position is about to reach play item # 2.
  • the AV clips to be downloaded are 10001. .m2ts, 10002.m2ts, 10003.m2ts, 10004.m2ts, 10005.m2ts, 20001.m2ts, 20002.m2ts, 20003.m2ts, 20004.m2ts, 20005.m2ts You have to wait for the number of AV clips to download. In that case, as the number of sub-passes increases, the user must wait for a long time to reproduce the playlist.
  • the Primary audio stream number SPRM (1), the subtitle stream number SPRM (2), the Secondary video stream number SPRM (21), and the Secondary audio stream number SPRM (22) are used. If all the AV clips including the specified stream are in the Enable state, it is assumed that the reproduction can be continued without waiting until the AV clip of the sub play item in the other sub-pass is in the Enable state. In this way, the user can continue playing the playlist without waiting for unnecessary AV clips to be downloaded.
  • the virtual package control unit 16 stops playback and DataStarved Notify BD-J application of the event.
  • FIG. 11 is a diagram assuming that play item # 3 has become the current play item and sub play item # 3 has become the current sub play item information because of the chapter jump. Since 20003.m2ts referred to by the sub play item # 3 is an Unavailable clip, a DataStarved event is generated and playback is stopped.
  • the playback is stopped. Therefore, when downloading, the clip file referenced by the next play item and the next sub play item However, if a file including the current stream to be reproduced is preferentially downloaded, the reproduction can be continued.
  • any of the primary audio stream number SPRM (1), the subtitle stream number SPRM (2), the secondary video stream number SPRM (21), and the secondary audio stream number SPRM (22) is used for jump playback such as chapter jump.
  • the virtual package control unit 16 sets the DataStarved event to BD-J when the stream number corresponds to SubPlayItem and the subplayitem refers to an AV clip that has not been downloaded yet or is in a disabled state. The application will be notified. By defining the playback operation of the virtual package control unit 16 as described above, it is possible to continue the playback with the minimum AV clip download.
  • FIG. 12 is a flowchart showing the processing procedure of the BD-J application.
  • step S1 the update kit corresponding to the loaded BD-ROM is downloaded to the BUDA (Biding-Unit-Data-Area) directory of the local storage.
  • step S2 a virtual package construction request specifying the Missing state in the update kit is issued.
  • step S3 selects a playlist and creates a JMF player instance (step S3), sets the first play item in the playlist information as the current play item (step S4), and is specified by Clip_Information_file_name in the current play item.
  • the selected AV clip is selected (step S5), the AV clip is downloaded (step S6), the following three threads are set up in the virtual machine in the virtual machine, and these processes are executed in parallel ( The process of step S7) is repeated.
  • FIG. 13 is a flowchart showing an AV clip download processing procedure.
  • the network interface is instructed to download the AV clip from the server device on the WWW to the BUDA directory.
  • step S12 the AV clip is changed from the Missing state to the Disable state.
  • step S13 the process waits for downloading. If downloading is performed, verification is performed in step S14. If normal, the AV clip is set in an enable state in step S15.
  • FIG. 14 is a flowchart showing the processing procedure of the playlist reproduction processing.
  • step S21 current sub play item information is determined, and the process proceeds to a loop of steps S22 to S24.
  • the loop from Step S22 to Step S24 determines whether or not the AV clip specified by Clip_Information_file_name of the current play item is an Unavailable clip (Step S22). If it is not an Unavailable clip, the loop of the source packet constituting the AV clip is determined.
  • the process of reading the current play item from In_Time to Out_Time from the BD-ROM (step S23), determining whether the AV clip specified by Clip_Information_file_name of the current sub play item information is an Unavailable clip (Step S24) If the clip is not an Unavailable clip, the process of reading from the local storage the source packet constituting the AV clip from the In_Time to the Out_Time of the current play item (Step S25), Of the packets, the process of outputting the STN_table of the current play item that is permitted to be reproduced to the decoder (step S26), and the process of determining whether or not the current play item is the last play item (step S27) ), The process of changing the current play item (step S28) is repeated.
  • the end condition of this loop is that it is determined that there is no next play item in the play list (Yes in step S27).
  • step S29 if the AV clip specified by Clip_Information_file_name of the current play item or the AV clip specified by Clip_Information_file_name of the current sub play item information is an Unavailable clip, a DataStarved event is generated, and the playback control engine Then, the JMF player instance is brought to a stop state, and then resumed (step S30).
  • FIG. 15 is a flowchart showing a procedure for determining current sub play item information.
  • the current primary audio stream is determined by the procedure and set to SPRM (1).
  • the current secondary audio stream is determined by the procedure and set to SPRM (14).
  • the current secondary video stream is determined and set to SPRM (21).
  • the current PG text subtitle stream is determined and set to SPRM (2).
  • FIG. 16 is a flowchart showing a processing procedure of progressive attribute AV clip control.
  • step S41 the AV clip specified by Clip_Information_file_name in the next play item (next play item) of the current play item is selected, and in step S42, the sub play item (next sub item) describing the next play item in Sync_PlayItem_Id is selected. Play item).
  • step S43 an AV clip that is specified by Clip_Information_file_name of the next sub play item and includes an elementary stream corresponding to the current stream number in the PSR is selected.
  • step S44 it is determined whether or not the selected AV clip exists in the local storage. If not, the AV clip selected in step S45 is downloaded.
  • step S46 an AV clip to be deleted is selected, and it is determined whether there is an AV clip to be deleted (step S47). If it exists, the AV clip is deleted (step S48).
  • step S49 it waits for the current play item and current sub play item information to change, and if changed, it is determined whether or not reproduction of the playlist has ended, and then the process proceeds to step S41 (step S50).
  • FIG. 17 is a flowchart showing a processing procedure of the reproduction stop recovery process.
  • Step S61 is a loop that constitutes a wait for acquiring a DataStarved event. If a DataStarved event is made, step S62 is an event completion wait loop that waits for the download of an AV clip that has acquired the DataStarved event to be completed. It is.
  • step S63 playback of the playlist from the playback position where the DataStarved event was acquired is started.
  • step S64 it is determined whether playback of the playlist has ended.
  • 00001.m2ts constituting the current play item and 20001.m2ts constituting the current sub play item information need to be in the Enable state.
  • the clip file that should be requested to be downloaded during playback of the current play item and current sub play item information is: It becomes 00002.m2ts constituting the next play item and 20002.m2ts constituting the next sub play item.
  • 00002m2ts constituting the current play item and 20002.m2ts constituting the current sub play item information need to be in the Enable state.
  • the clip file to be downloaded is 0003.m2ts constituting the next play item and 20003.m2ts constituting the next sub play item.
  • 00003.m2ts constituting the current play item and 20003.m2ts constituting the current sub play item information need to be in the Enable state.
  • the clip file to be downloaded is It becomes 00004.m2ts constituting the next play item and 20004.m2ts constituting the next sub play item.
  • the playback time length of the current sub play item information is equal to the playback time length of the current play item. Therefore, in the above download, the next play item and the next sub are played while the current play item is being played back. What is necessary is just to implement
  • bit rate B Data size of the clip file that constitutes the next play item + data size of the clip file that constitutes the next sub play item / Play time of the current play item
  • a player variable indicating which stream built in the playback device is selected is referred to for playback.
  • Unnecessary AV clips can continue to be played even if they are not yet downloaded, enabling efficient streaming-like playback ⁇ Remarks>
  • the technical topics shown below can be further improved or changed. It should be noted that the implementation as shown in the first embodiment or whether or not these improvements / changes are made is arbitrary and depends on the subjectivity of the person who implements it.
  • the AV clip including the audio stream and the subtitle stream having the language code described in the SPRM (16) audio stream language code and the SPRM (18) subtitle stream language code is given priority. Should be downloaded.
  • BD-J application determines SPRM (1) as a special value "No stream selected", or the stream number of an AV clip that is already enabled or exists on the disc Rewrite (In this case, it is better to prepare dummy contents on the disc in advance assuming this situation).
  • the BD-J application can be controlled so as not to issue the DataStarved event.
  • the above processing is the same for stream switching by user operation such as switching Japanese voice to English voice.
  • the AV clip is a digital stream in the MPEG-2 transport stream format.
  • FIG. 21 is a diagram showing an example of the configuration of an AV clip.
  • an AV clip is obtained by multiplexing one or more of a video stream, an audio stream, a presentation graphics stream (PG), and an interactive graphics stream.
  • the video stream shows the primary video and secondary video of the movie
  • the audio stream shows the primary audio portion of the movie and the secondary audio mixed with the primary audio
  • the presentation graphics stream shows the subtitles of the movie.
  • the primary video indicates a normal video displayed on the screen
  • the secondary video is a video displayed on a small screen in the primary video.
  • the interactive graphics stream indicates an interactive screen created by arranging GUI parts on the screen.
  • Each stream included in the AV clip is identified by PID.
  • 0x1011 for video streams used for movie images 0x1100 to 0x111F for audio streams, 0x1200 to 0x121F for presentation graphics, 0x1400 to 0x141F for interactive graphics streams, 0x1B00 to 0x1B1F are assigned to the video stream used for the secondary video, and 0x1A00 to 0x1A1F are assigned to the audio stream used for the secondary audio mixed with the primary audio.
  • FIG. 22 is a diagram schematically showing how AV clips are multiplexed.
  • the video stream and the audio stream (first stage) are converted into PES packet sequences (second stage) and converted into TS packet sequences (third stage).
  • the presentation graphics stream and the interactive graphics 7 (7th stage) are converted into PES packet sequences (elementary stream) and further converted into TS packet sequences (5th stage).
  • the AV clip (fourth stage) is configured by multiplexing these TS packets into one stream.
  • FIG. 23 shows in more detail how the video stream is stored in the PES packet sequence.
  • the first level in the figure shows a video frame sequence of the video stream.
  • the second level shows a PES packet sequence.
  • the third level shows a TS packet sequence obtained by converting these PES packet sequences.
  • a plurality of Video Presentation Unit I pictures, B pictures, and P pictures in the video stream are divided for each picture and stored in the payload of the PES packet.
  • Each PES packet has a PES header, and a PTS (Presentation Time-Stamp) that is a picture display time and a DTS (Decoding Time-Stamp) that is a picture decoding time are stored in the PES header.
  • PTS Presentation Time-Stamp
  • DTS Decoding Time-Stamp
  • FIG. 24 shows the format of the TS packet that is finally written in the AV clip.
  • the first level shows a TS packet sequence
  • the second level shows a source packet sequence.
  • the third level shows an AV clip.
  • the TS packet is a fixed-length packet divided into a 4-byte “TS header” having information such as a PID for identifying a stream and a 184-byte “TS payload” for storing data.
  • the described PES packet is divided and stored in the TS payload.
  • TP_Extra_Header is assigned to the TS packet, and the TS packet is converted into a 192-byte source packet and written to the AV clip.
  • TP_Extra_Header describes information such as ATS (Arrival_Time_Stamp).
  • ATS indicates the transfer start time of the TS packet to the PID filter.
  • SPN source packet number
  • TS packets included in AV clips include PAT (Program Association Table), PMT (Program Map Table), PCR (Program Clock Reference), etc. in addition to video, audio, subtitles and other streams.
  • the PAT indicates what PMT PID is used in the AV clip, and is registered in the PAT array of the PAT itself.
  • the PMT has the PID of each stream such as video, audio, and subtitles included in the AV clip, the stream attribute information corresponding to each PID, and various descriptors related to the AV clip.
  • the descriptor includes copy control information for instructing permission / non-permission of copying of AV clips.
  • PCR supports ATS (Arrival Time Clock) which is the time axis of ATS and ATS where the PCR packet is transferred to the decoder in order to synchronize STC (System Time Clock) which is the time axis of PTS / DTS Has STC time information.
  • ATS Arriv Time Clock
  • STC System Time Clock
  • FIG. 25 is a diagram for explaining the data structure of the PMT in detail.
  • a “PMT header” that describes the length of data included in the PMT is arranged at the top of the PMT. Behind that, a “descriptor” relating to the AV clip is arranged.
  • the copy control information described above is described as a descriptor.
  • a plurality of “stream information # 1 to #N” regarding each stream included in the AV clip is arranged.
  • the stream information is composed of a stream descriptor in which a stream type, a stream PID, and stream attribute information (frame rate, aspect ratio, etc.) are described to identify the compression codec of the stream.
  • details of the clip information file will be described.
  • FIG. 26 is a diagram illustrating an example of a clip information file.
  • the clip information file is management information of the AV clip as shown in the figure, has a one-to-one correspondence with the AV clip, and includes stream attribute information and an entry map.
  • FIG. 27 is a diagram showing an example of stream attribute information.
  • attribute information about each stream included in the AV clip is registered for each PID.
  • the attribute information has different information for each video stream, audio stream, presentation graphics stream, and interactive graphics stream.
  • Video stream attribute information indicates the compression codec of the video stream, the resolution of individual picture data constituting the video stream, the aspect ratio, the frame It has information such as how much the rate is.
  • “Audio stream attribute information” indicates what compression codec the audio stream was compressed, what number of channels are included in the audio stream, what language it corresponds to, and how much the sampling frequency is It has information such as. These pieces of information are used for initialization of a decoder before the playback device plays back.
  • FIG. 28 is a diagram showing an example of an entry map.
  • the entry map includes a PTS indicating the display time of each intra-frame coded image (hereinafter referred to as I picture) of the video stream included in the AV clip and the SPN of the AV clip starting from each I picture.
  • I picture the display time of each intra-frame coded image
  • SPN the SPN of the AV clip starting from each I picture.
  • an entry point A value incremented for each entry point with the head set to 0 is referred to as an entry point ID (hereinafter referred to as EP_ID).
  • EP_ID an entry point ID
  • the player can specify the file position of the AV clip corresponding to an arbitrary point on the time axis of the video stream. For example, at the time of special playback such as fast-forward / rewind, it is possible to efficiently perform processing without analyzing an AV clip by specifying, selecting and playing back an I picture registered in the entry map.
  • An entry map is created for each video stream multiplexed in an AV clip and managed by PID.
  • FIG. 29 is a diagram showing an example of the internal configuration of the system target decoder 13.
  • the system target decoder 13 includes source depacketizers 32a and 32b, PID filters 33a and 33b, a primary video decoder 34, a primary video plane 35, a secondary video decoder 36, and a secondary video plane.
  • 37, PG decoder 38, PG plane 39, IG decoder 40, IG plane 41, Primary audio decoder 42, Secondary audio decoder 43, audio mixer 44, BD-J processor 45, BD-J A plane 46 and an adder 47 are included.
  • the source depacketizers 32a and 32b interpret the source packet transferred to the system target decoder 13, take out the TS packet, and send it to the PID filter. In this transmission, the input time to the decoder is adjusted according to the ATS of each source packet. Specifically, at the moment when the ATC value generated by the ATC counter becomes the same as the ATS value of the source packet, only the TS packet is transferred to the PID filter according to the recording rate of the AV clip.
  • the PID filters 33a and 33b are the TS packets output from the source depacketizer, and those in which the PID of the TS packet matches the PID required for reproduction are determined according to the PID, the primary video decoder and the secondary video decoder. IG decoder, PG decoder, audio decoder, and secondary audio decoder. For example, in the case of a BD-ROM, when the PID included in the TS packet is 0x1011, the primary video decoder is used, when the PID is 0x1B00 to 0x1B1F, the secondary video decoder 2505 is used, and the PID is 0x1100 to 0x111F.
  • the sub-path type is synchronous, the AV clip referenced from the main path and the AV clip referenced from the sub-path are reproduced while being synchronized.
  • the sub-path type is asynchronous, the AV clip referenced from the main path and the AV clip referenced from the sub-path are reproduced asynchronously.
  • the primary video decoder 34 has a buffer buffer, and while storing data in the buffer, removes information such as a TS header and a PES header, takes out a picture (I picture, B picture, P picture) in an encoded state, A plurality of frame images are created by decoding individual frame images of the video stream at predetermined decoding times (DTS), and are written in the Primary video plane 35 at the timing of the display time (PTS). Since there are MPEG2, MPEG4AVC, VC1, and the like in the compression encoding format of the video stream multiplexed on the AV clip, the decoding method of the compressed video is switched according to the attribute of the stream.
  • the primary video plane 35 stores the frame image obtained by the primary video decoder 34.
  • the secondary video decoder 36 has the same configuration as that of the primary video decoder 35, decodes the input secondary video stream, and writes a picture to the secondary video plane at the display time (PTS) timing.
  • PTS display time
  • the secondary video plane 37 stores the frame image obtained by the secondary video decoder 36.
  • the PG decoder 38 extracts and decodes the presentation graphics stream from the TS packet input from the source packetizer, and writes the uncompressed graphics data to the PG plane at the display time (PTS) timing.
  • PTS display time
  • the PG plane 39 stores uncompressed graphics data.
  • the IG decoder 40 extracts and decodes an interactive graphics stream from TS packets input from the source packetizer, and writes uncompressed graphics data to the IG plane at the display time (PTS) timing.
  • PTS display time
  • the IG plane 41 stores uncompressed graphics data.
  • the primary audio decoder 42 has a buffer buffer, removes information such as TS header and PES header while storing data in the buffer, performs audio stream decoding processing, and obtains and reproduces uncompressed LPCM audio data Output to the audio mixer at the time of the day (PTS). Since there are AC3, DTS, and the like in the compression encoding format of the audio stream multiplexed into the AV clip, the decoding method of the compressed audio is switched according to the attribute of the stream.
  • the secondary audio decoder 43 has the same configuration as the primary audio decoder, decodes the input secondary audio stream, and outputs uncompressed LPCM audio data to the audio mixer at the timing of the display time. Since there are DolbyDigitalPlus, DTS-HD LBR, and the like as the compression encoding format of the audio stream multiplexed with the AV clip, the decoding method of the compressed audio is switched according to the attribute of the stream.
  • the audio mixer 44 mixes the uncompressed audio data output from the primary audio decoder and the uncompressed audio data output from the secondary audio decoder (superposition of sounds) and outputs the result to a speaker or the like.
  • the BD-J processor 45 decodes the PNG format or JPEG format graphics data transferred from the BD-J execution unit, and outputs it to the BD-J plane according to the display time specified by the BD-J application.
  • BD-J plane 46 graphics data decoded by the BD-J processor 45 is stored.
  • the adder 47 instantaneously superimposes data written on the Primary video plane, Secondary video plane, IG plane, PG plane, and BD-J plane and displays them on a screen such as a TV.
  • reproduction of a playlist can be realized by realizing an internal configuration compliant with the BD-ROM player model.
  • FIG. 30 is a diagram showing the data structure of playlist information.
  • playlist information includes MainPath information (MainPath ()) defining MainPath and subpath information (Subpath () defining Subpath. ).
  • Subpath Information is a playback path defined for the MainClip as the primary video, while Subpath is a playback path defined for the SubClip to be synchronized with the MainPath.
  • FIG. 31 is a diagram showing a close-up of the internal structure of the subpath information. As indicated by an arrow hc0 in this drawing, each Subpath includes SubPath_type indicating the type of the subpath, and one or more pieces of SubPlayItem information (... SubPlayItem ()).
  • the lead line hc1 in the figure closes up the structure of SubPlayItem information.
  • SubPlayItem is used to define one or more elementary stream playback paths separated from the main path, and to express the type of how to synchronize the path with the main path. If the SubPlayItem uses sub-paths of The Primary, Audio, PG, IG, and Secondary, Audio, and Secondary, video, these SubPlayItems are synchronized with the main path using the PlayItem in the PlayList.
  • the elementary stream used by the sub path for reproducing the elementary stream is multiplexed into a clip separated from the MainClip used by the PlayItem on the MainPath side, that is, the SubClip.
  • the SubPlayItem information includes “Clip_information_file_name”, “Clip_codec_identifier”, “ref_to_STC_id [0]”, “SubPlayItem_In_time”, “SubPlayItem_Out_time”, “sync_PlayItem_id”, “sync_start_PTS_of_PlayItem”, as indicated by an arrow hc1 in the figure.
  • “Clip_information_file_name” is information for uniquely specifying a SubClip corresponding to a SubPlayItem by describing the file name of the clip information.
  • “Clip_codec_identifier” indicates the encoding method of the AV clip.
  • SubPlayItem_In_time is information indicating the start point of SubPlayItem on the playback time axis of SubClip.
  • SubPlayItem_Out_time is information indicating the end point of SubPlayItem on the playback time axis of SubClip.
  • Sync_PlayItem_id is information that uniquely designates the PlayItems constituting the MainPath that should be synchronized with the SubPlayItem.
  • SubPlayItem_In_time exists on the playback time axis of Play Item specified by this sync_PlayItem_id.
  • “Sync_start_PTS_of_PlayItem” indicates where the start point of the SubPlayItem specified by SubPlayItem_In_time exists on the playback time axis of the Play Item specified by sync_PlayItem_id with a time accuracy of 45 KHz.
  • the SubPlayItem realizes “synchronous picture-in-picture”.
  • an indefinite value (0xFFF) can be set in Sync_Start_Pts_of_PlayItem. This indefinite value indicates that the time point when the lock operation is performed by the user on the time axis of the PlayItem specified by Sync_PlayItem_Id is determined as the synchronization time with the PlayItem specified by Sync_PlayItem_Id.
  • sync_start_PTS_of_PlayItem is set to an indefinite value, and SubPlayItem is intended to reproduce a secondary video stream, the SubPlayItem realizes “asynchronous picture-in-picture”.
  • a characteristic of the playlist information is STN_Table.
  • STN_table is a table indicating a reproducible one among a plurality of elementary streams multiplexed in an AV clip specified by Clip_Information_file_name of PlayItem information and an Out_of_MUX stream specified by Clip_Information_file_name of SubPlayItem information.
  • STN_table is configured by associating Stream_entry with Stream_entry for each of a plurality of In_MUX streams multiplexed in MainClip and an Out_of_MUX stream multiplexed in SubClip.
  • FIG. 32 is a diagram illustrating an example of the overall configuration of the STN_table.
  • FIG. 33 is a diagram illustrating an example of a stream_entry for a secondary video stream in the entire configuration of the STN_table illustrated in FIG.
  • the lead line hs1 shows a close-up of the internal structure of Secondary_video_stream_entry [1]. That is, Secondary_video_stream_entry [1] to Secondary_video_stream_entry [n] are a plurality of instances generated from the same class structure, and the internal configuration thereof is the same as that indicated by the lead line hs1.
  • the numerical value in parentheses [] in Secondary_video_stream_entry indicates the order of Secondary_video_stream_entry, which is the position of Secondary_video_stream_entry in STN_table.
  • leader line hs3 As described above, when the secondary video stream number is set to x, the secondary_video_stream_entry [x] located at the xth position in the STN_table is the secondary video stream PID corresponding to the x, and the video of the secondary video stream The playback apparatus is instructed about what attributes are and what secondary audio streams and PGTextST streams can be combined.
  • the stream representing subtitles includes a text subtitle stream expressed by a text code in addition to the presentation graphics stream described in the above embodiments.
  • the PG text subtitle stream is a name that combines the presentation graphics stream and the text subtitle stream.
  • a PG text subtitle stream used for picture-in-picture is referred to as a PiP_PG_text subtitle stream.
  • FIG. 34A shows an example of Stream_entry and Stream_attribut in the primary video stream.
  • the Stream_entry includes “ref_to_stream_PID_of_mainClip” indicating a packet identifier of the PES packet constituting the primary video stream.
  • Stream_attribute includes “Video_format” indicating the display method of the video stream and “frame_rate” indicating the display frequency of the video stream.
  • FIG. 34 (b) shows Stream_entry in the secondary video stream.
  • the Stream_entry of the secondary video stream includes “ref_to_Sub_Path_id” indicating SubPath information referring to the Secondary video stream, and “ref_to_stream_PID_of_mainClip” indicating the packet identifier of the PES packet constituting the Secondary video stream.
  • the word length in PSR is 32 bits.
  • the bit positions of each bit data constituting one word (32 bits) of the PSR are hereinafter referred to as b0 to b31.
  • the most significant bit of the PSR is called b31 and the least significant bit is called b0.
  • FIG. 35A is a diagram showing an example of bit assignment of PSR14.
  • b8 to b15 in the 32-bit length PSR14 are the stream numbers of the secondary video stream, and specify one of a plurality of Secondary video streams whose entries are described in the STN_table of the current Play Item. If the setting value of PSR 14 changes, the playback device plays back the secondary video stream after the change.
  • the stream number of the secondary video stream in the PSR 14 is set to 0xFF as an initial value, and can be set to a value of 1 to 32 by the playback device.
  • This 0xFF is an indefinite value, and indicates that there is no Secondary video stream or that no Secondary video stream is selected.
  • the setting values 1 to 32 are interpreted as the stream number of the secondary video stream.
  • B31 of PSR14 is disp_v_flag, and whether the playback device has the capability to play the secondary video (1b: Presentation of Secondary Video is enable) or the playback device does not have the capability to play the secondary video (0b: Presentation of Secondary Video is disable).
  • FIG. 35B is a diagram illustrating an example of the bit assignment of PSR29.
  • B0 of PSR29 is HD_Secondary_video_Capability, and the playback device has the capability to play HDTV-compatible secondary video (1b: HD Secondary Video is capable), or the playback device has the capability to play HDTV-compatible secondary video (0b: HD Secondary Video is incapable).
  • B1 of PSR29 is 50 & 25Hz_video_Capability, whether the playback device has the ability to play 50 & 25Hz video, that is, PAL video (1b: 50 & 25Hz Video is capable), or does the playback device not have the ability to play 50 & 25Hz video? (0b: 50 & 25Hz Video is incapable).
  • FIG. 36 is a diagram showing an example of the internal configuration of the playback control engine.
  • the reproduction control engine unit includes a procedure execution unit 48 and a PID conversion unit 49.
  • the Procedure execution unit 48 executes a predetermined stream selection procedure when switching from one PlayItem information to another PlayItem information or when an operation for switching the stream number is performed by the user, Write the stream number of the new secondary video stream. Since the playback device plays back the secondary video stream in accordance with the stream number written in the PSR 14, the secondary video stream is selected through the setting of the PSR 14.
  • the stream selection procedure is executed because the STN_Table exists for each PlayItem information, so that a secondary video stream that was playable in one PlayItem information cannot be played in another PlayItem information. This is because it is possible.
  • the PID conversion unit 49 converts the stream number stored in the PSR set 23 into a PID reference value based on the STN_Table, and instructs the PID Filter 33a and PID Filter 33b as the PID reference value as the conversion result.
  • FIG. 37 is a flowchart showing the processing procedure of the stream selection procedure for selecting the current secondary video stream.
  • step S71 it is checked whether or not the secondary video stream having the number set in PSR14 satisfies the following condition (A) and condition (B).
  • Condition (A) In comparison between Video format, frame_rate, HD Secondary Video Capability, and 50 & 25 Hz Video Capability, the playback device has the playback capability of the secondary video stream determined by the number stored in PSR14.
  • Video format and frame_rate are described in stream_attribute for the secondary video stream in STN_table.
  • the presence or absence of HD Secondary Video Capability and 50 & 25 Hz Video Capability is indicated by b0 and b1 of PSR29. It is determined whether or not the condition (A) is satisfied by comparing the setting by STN_table with the value of b1 of PSR29.
  • step S71 After step S71 is executed, step S72 and step S73 are executed.
  • Step S72 is a determination step of determining whether or not the number of Stream_entry in the STN_table of the secondary video stream in the STN_table of the current play item is zero.
  • the number of Stream_entry in the STN_table of the secondary video stream being zero means that there is no secondary video stream that is permitted to be played back. If it is 0, the secondary video stream number of PSR14 is maintained (step S73). This is because the current value of PSR14 should be maintained as long as there is no secondary video stream permitted to be played back in the current play item.
  • Step S74 is a determination step that is executed when it is determined that step S73 is not 0. Whether the number X stored in PSR14 is equal to or less than the total number of stream_entry in the STN_table and satisfies the condition (A) Determine. If it is determined that step S74 is Yes, an optimum current secondary video stream for the current play item is selected (step S75).
  • step S76 determines whether or not the condition (B) is satisfied. If the condition (B) is satisfied, OxFE is set in PSR14 in step S78. This OxFE is a value that means that the secondary video stream number in PSR14 is valid, but the secondary video stream is not selected. If this value is set in PSR14 when executing asynchronous picture-in-picture, the procedure for determining the current stream is executed when a user operation is performed. However, if the stream number of the PSR 14 is Invalid, even if a user operation is performed, the procedure for determining the current stream is not executed, and the secondary video stream is not reproduced indefinitely. To avoid this, OxFE is set in PSR14 when executing asynchronous picture-in-picture.
  • step S77 if a valid secondary video stream number already exists in the PSR 14, this is not changed.
  • FIG. 38 is a flowchart showing a processing procedure for selecting an optimal current secondary video stream for the current playitem.
  • step S81 to step S83 a check is performed on the streams described in all stream_entry in the STN_table to check whether the following conditions (a) and (b) are satisfied.
  • the playback device In comparison between the Video format and frame_rate for the secondary video stream and the HD Secondary Video Capability and 50 & 25 Hz Video Capability, the playback device has the playback capability of the secondary video stream determined by the number stored in the PSR14. ing.
  • Step S84 is performed. The determination step is executed.
  • Step S84 is a determination as to whether or not there is no secondary video stream satisfying the condition (a). If so, 0xFFF is set in PSR14 as the stream number for the secondary video stream (step S85). .
  • Step S84 becomes Yes and Step S86 is executed.
  • step S86 a secondary video stream satisfying the condition (a) and having the head rank in the STN_table determines whether the condition (b) is satisfied. If the condition (b) is satisfied, the secondary video stream number of 0xFE is set in PSR in step S87.
  • the secondary video stream satisfying the condition (a) is selected with the corresponding Stream_Entry in the top rank in the STN_table, and the stream number of the selected secondary video stream is set in the PSR14. Set (step S88).
  • the sub play item that defines the playback section in the current secondary video stream is specified as the current sub play item.
  • the current secondary video stream most suitable for the current play item is stored in the PSR14.
  • the above is the selection procedure for selecting the optimum current secondary video stream number.
  • the playback is interrupted if the AV clip is an Unavailable clip. Therefore, if the AV clip that includes the current secondary video stream and is referenced from the sub play item information is rushed to download, the playback will not be interrupted, so that smooth playback can be ensured. .
  • the advantage of this method is that it is possible to realize stereoscopic viewing by simply preparing two viewpoint images for the right eye and left eye.
  • the home theater system including the playback device and the television described in the first embodiment has a continuous stereo goggles.
  • FIG. 39 is a diagram showing an example of the continuous stereo goggles.
  • This figure (a) shows the home theater system which can implement
  • the home theater system of this figure there is a continuous stereo goggles 105 as an accessory of the television 104.
  • FIG. 5B shows a state in which the user wears the continuous stereo goggles 105.
  • the continuous stereo goggles 105 include a liquid crystal shutter and allow the user to view a parallax image by the continuous separation method.
  • a parallax image is a set of videos composed of a video image that enters the right eye and a video image that enters the left eye, and allows stereoscopic viewing so that only pictures corresponding to each eye enter the user's eyes.
  • the time-separation method is a method in which left-eye video and right-eye video are alternately displayed in the time axis direction, and left and right scenes are superimposed in the brain by an afterimage reaction of the eyes to be recognized as a stereoscopic video.
  • This figure (c) shows the state of the continuous goggles 105 in the case of realizing a plan view. When realizing planar view, the liquid crystal shutters for both eyes are in a translucent state.
  • FIG. 4D shows the display time of the left-eye video. At the moment when the image for the left eye is displayed on the display, the above-described continuous stereo goggles 105 transmit the liquid crystal shutter corresponding to the left eye and shield the liquid crystal shutter corresponding to the right eye.
  • FIG. 4E shows the time when the right-eye video is displayed. At the moment when the image for the right eye is displayed on the display, the liquid crystal shutter corresponding to the right eye is made transparent and the liquid crystal shutter corresponding to the left eye is shielded from light.
  • this method in order to display the left and right images alternately in the time axis direction, for example, in the case of a normal two-dimensional movie, 24 images are displayed per second, while the left and right images are combined. It is necessary to display 48 images per second. Therefore, this method is suitable for a display in which rewriting of one screen is relatively fast, but is not limited as long as it can be rewritten a predetermined number of times per second.
  • the previous stereo goggles 105 output the left and right pictures alternately in the time axis direction, whereas the left-eye picture and right-eye picture in the vertical direction in one screen.
  • the pixels of the left-eye picture are focused on the left eye and the pixels of the right-eye picture are connected only to the right eye.
  • a device having the same function for example, a liquid crystal element may be used, and a vertically polarized filter is used for the left eye pixel, and a horizontally polarized filter is used for the right eye pixel.
  • the viewer can view stereoscopically by viewing the display using polarized glasses with a vertically polarized filter for the left eye and a horizontally polarized filter for the right eye.
  • the stereoscopic vision using this parallax image is already used generally in amusement park playground equipment and the like, and since it has been established technically, it can be said that it is the closest to practical use at home.
  • various techniques such as a two-color separation method have been proposed as a method for stereoscopic viewing using a parallax image.
  • the continuous separation method or the polarized glasses method is taken as an example.
  • the present invention is not limited to these two methods as long as parallax images are used.
  • a method of storing a parallax image used for stereoscopic viewing in an information recording medium will be described.
  • the video in which the screen for the left eye is stored is referred to as “left-eye video”
  • the video in which the screen for the right eye is stored is referred to as “right-eye video”
  • both videos are referred to as “stereoscopic video”.
  • the primary video stream in the present embodiment is a video stream that is played back as a planar video on a planar playback device and as a left-eye video when playing back a stereoscopic video on a planar / stereoscopic video playback device.
  • This video stream is referred to as a planar / left-eye viewing video stream.
  • the secondary video stream in this embodiment stores a right-eye viewing video stream.
  • the right-eye viewing video stream is a video stream that is played back as a right-eye video when a stereoscopic video is played back by the planar / stereoscopic playback device.
  • the right-eye viewing video stream is assigned 0x1012 different from the PID of the primary video stream.
  • the correlation between the images is large.Therefore, by performing inter-picture predictive encoding between the viewpoints, the right-eye video stream has a larger data volume than the planar / left-eye viewing video stream. Can be greatly reduced.
  • the frame rate of the video stream for planar view / left-eye viewing is the frame rate when the planar playback device plays back the video stream for planar view / left-eye viewing alone, and this value is stored in the GOP header.
  • FIG. 40 is a diagram illustrating an example of an internal configuration of a primary video stream and a secondary video stream for stereoscopic viewing.
  • the second level in the figure shows the internal structure of the primary video stream.
  • This primary video stream includes picture data of picture data I1, P2, Br3, Br4, P5, Br6, Br7, and P9. These picture data are decoded according to DTS.
  • the first row shows a right eye image.
  • the decoded picture data I1, P2, Br3, Br4, P5, Br6, Br7, P9 are reproduced in the order of I1, Br3, Br4, P2, Br6, Br7, P5 according to PTS, and the right eye image Will be played.
  • the fourth level shows the internal structure of the secondary video stream.
  • This secondary video stream includes picture data P1, P2, B3, B4, P5, B6, B7, and P8. These picture data are decoded according to DTS.
  • the first row shows a left eye image.
  • the decoded picture data P1, P2, B3, B4, P5, B6, B7, and P8 are reproduced in the order of P1, B3, B4, P2, B6, B7, and P5 according to PTS. Will be played.
  • the fifth row shows how the state of the continuous goggles 105 is changed. As shown in the fifth row, the right-eye shutter is closed when the left-eye image is viewed, and the left-eye shutter is closed when the right-eye image is viewed.
  • These primary video stream and secondary video stream are compressed by inter-picture predictive coding using inter-view redundancy in addition to inter-picture predictive coding using temporal redundancy.
  • the picture of the right-eye viewing video stream is compressed with reference to the picture at the same display time of the planar / left-eye viewing video stream.
  • the first P picture of the right-eye viewing video stream refers to the I picture of the planar / left-eye viewing video stream
  • the B picture of the right-eye viewing video stream refers to the Br picture of the planar / left-eye viewing video stream.
  • the second P picture of the right-eye viewing video stream refers to the P picture of the planar / left-eye viewing video stream.
  • ⁇ Video access unit> The relationship between the display time (PTS) and decoding time (DTS) assigned to each video access unit of the planar / left-eye viewing video stream and the right-eye viewing video stream is as shown in the time axis of FIG.
  • the DTS of each picture data in the planar view / left-eye viewing video stream and the DTS of each picture data in the right-eye viewing video stream are set to alternate on the time axis.
  • the PTS of the picture data and the PTS of each picture data in the right-eye viewing video stream are also set to alternate on the time axis. This can be realized by alternately setting the decoding order and the display order of pictures for plane view / left-eye viewing and right-eye viewing that have a reference relationship for inter-picture prediction coding.
  • the time interval of DTS between the frame for plane view / left eye viewing and the next frame for right eye viewing is set to be half of the display time interval of one frame for plane view / left eye viewing.
  • the time interval of PTS between the frame for planar view / left-eye viewing and the next frame for right-eye viewing is set to be half the display interval of one frame for planar view / left-eye viewing.
  • ⁇ Stereoscopic display delay> The difference in the PTS interval between the pictures in the right-eye viewing video stream at the same display time as the pictures in the planar / left-eye viewing video stream is defined as a stereoscopic display delay.
  • the stereoscopic display delay has a value that is half the display interval of one frame of the video stream for viewing in the plan view / left-eye view.
  • a sub-path for storing the right-eye viewing is prepared.
  • the sub path refers to a plurality of AV clips that store the right-eye viewing, and is set to synchronize with the main path on the time axis.
  • a stereoscopic flag exists in the playlist information.
  • the stereoscopic flag indicates whether playback of the secondary video stream is permitted in the stream number table in the playlist information and stereoscopic viewing by playing the secondary video stream is possible.
  • the Primary video plane 35 is replaced with a 2D / left-eye video plane 61 and a right-eye viewing plane 62.
  • Q13 has an internal configuration such as z41.
  • FIG. 41 is a diagram showing an example of the internal configuration of the system target decoder 13.
  • the configurations of the secondary video decoder, IG decoder, PG decoder, primary audio decoder, secondary audio decoder, audio mixer, and image processor are the same as those of the playback device for planar view described in the first embodiment. I will omit it.
  • the source depacketizer 32a interprets the source packet stored in the read buffer 11, takes out the TS packet, and sends it to the PID filter 33a.
  • the source depacketizer 32b interprets the source packet stored in the read buffer 11, takes out the TS packet, and sends it to the PID filter 34b. In this transmission, the input time to the decoder is adjusted according to the ATS of each source packet. Specifically, at the moment when the ATC value generated by the ATC counter becomes the same as the ATS value of the source packet, only the TS packet is transferred to the PID filter according to the recording rate of the AV clip.
  • the PID filter 33a is a TS packet output from the source depacketizer 32a.
  • the PID of the TS packet matches the PID required for playback, according to the PID. Transfer to decoder, IG decoder, PG decoder, audio decoder, and secondary audio decoder.
  • the PID filter 34 converts the TS packet output from the source depacketizer 32a to the TB 51 of the 3D video decoder according to the PID in which the PID of the TS packet matches the PID required for reproduction. Forward.
  • the 3D video decoder 50 includes TB51, M52, EB53, TB58, M59, decoder 54, DPB55, buffer switch 56, picture switch 57, and EB60.
  • TB 51 is a buffer that temporarily accumulates TS packets as they are when TS packets including a 2D / left-eye video video stream are output from the PID filter 33.
  • the MB 52 is a buffer for temporarily storing PES packets when outputting a video stream from the TB 51 to the EB 53.
  • the TS header of the TS packet is removed.
  • EB 53 is a buffer in which a video access unit in an encoded state is stored.
  • the PES header is removed.
  • TB58 is a buffer that temporarily accumulates TS packets as they are when TS packets including a video stream for right-eye viewing are output from the PID filter 34.
  • MB59 is a buffer for temporarily storing PES packets when outputting a video stream from TB58 to EB60.
  • the TS header of the TS packet is removed.
  • EB 60 is a buffer in which a video access unit in an encoded state is stored.
  • the PES header is removed.
  • the decoder 54 creates a frame / field image by decoding each video access unit of the video elementary stream at a predetermined decoding time (DTS). Since there are MPEG2, MPEG4AVC, VC1 and the like in the compression encoding format of the video stream multiplexed on the AV clip, the decoding method of the decoder 54 is switched according to the attribute of the stream.
  • the decoder 54 transfers the decoded frame / filled image to the DPB 55, and transfers the corresponding frame / field image to the picture switch at the display time (PTS) timing.
  • PTS display time
  • the DPB 55 is a buffer that temporarily stores the decoded frame / field image.
  • the decoder 54 decodes a video access unit such as a P picture or B picture subjected to inter-picture prediction encoding, it is used to refer to the already decoded picture.
  • the buffer switch 56 transfers the EB and the picture stored in the EB to the decoder 54 at the decoding time (DTS) timing assigned to the video access unit. Further, it may be determined whether the next access unit is pulled out from EB or EB using the decode switch information acquired when the decoder 54 decodes the video access unit. In addition, since the DTS of the 2D / left-eye video stream and the right-eye viewing video stream is set to alternate in units of pictures on the time axis, for example, the decoder 54 that decodes ahead of time while ignoring DTS In this case, the video access unit may be transferred to the decoder 54 in units of pictures.
  • the picture switch 57 uses the decoded frame / field image transferred from the decoder 54 as a 2D / left-eye video plane 61 when the stream is a 2D / left-eye video stream, and right-view viewing plane 62 when the stream is a right-eye viewing stream. Write instantly.
  • the virtual package control unit 16 does not output a DataStarved event even if an AV clip including any secondary video stream has not been downloaded. Therefore, even if the secondary video stream is not downloaded, the JMF player instance and the playback control engine do not stop playback.
  • the virtual package control unit 16 notifies the playback control engine and the JMF player instance of the DataStarved event. This stops playback.
  • the play item when the stereoscopic view is set to OFF, the play item can be played back without waiting for the download of the AV clip including the secondary video stream.
  • FIG. 42 is a diagram illustrating an example of an internal configuration of Primary_audio_stream_entry and Secondary_audio_stream_entry and an internal configuration of Comb_info_Secondary_video_Secondary_audio. Leaders ha1 and ha2 in the figure close up the internal structure of Primary_audio_stream_entry and Secondary_audio_stream_entry. These internal configurations are common to each other and are composed of stream_entry and stream_attribute.
  • the leader line ha3 shows a close-up of the internal structure of the Stream_entry.
  • the Stream_entry of the primary audio stream and the secondary audio stream includes “ref_to_Sub_Path_id” indicating SubPath information referring to the secondary audio stream, and the SubClip in which the primary audio stream and the secondary audio stream are multiplexed.
  • “Ref_to_stream_PID_of_Sub_Clip” indicating a reference value for the PID of the PES packet constituting the primary audio stream and the secondary audio stream.
  • the leader line ha4 shows the close-up of the internal structure of stream_attribute.
  • Stream_attribute in the primary audio stream and the secondary audio stream includes “stream_coding_type” indicating the encoding method of the audio stream, “audio_presentation_type” indicating the channel configuration of the corresponding audio stream, and the corresponding audio stream “Sampling_frequency” indicating the sampling frequency of the audio stream, and “audio_language code” indicating the language attribute of the audio stream.
  • the leader line ha6 shows a close-up of the internal structure of the Comb_info_Secondary_video_Secondary_audio.
  • Comb_info_Secondary_video_Secondary_audio includes “number_of_Secondary_audio_stream_ref_entries” indicating the total number of secondary audio streams that can be combined for each Secondary video stream, and “Secondary_audio_stream_id_ref [0] to [0] [ n] ".
  • the STN_table includes the stream_entry of the primary audio stream that is the sound of the primary video stream, and the stream_entry of the secondary audio stream that is the sound of the secondary video stream, and the stream_entry of the secondary video stream includes the secondary_stream_entry. It can be seen that a secondary audio stream intended for combination with a video stream is described for each secondary video stream (Comb_info_Secondary_video_Secondary_audio).
  • the stream number of the current primary audio stream and the stream number of the current secondary audio stream will be described for the playback device.
  • FIG. 43A shows an example of the bit assignment of PSR1.
  • the lower 8 bits (b0 to b7) of 32-bit PSR1 are the primary audio stream number, and one of the multiple primary audio streams whose entries are described in the STN_table of the current Play Item is Identify.
  • PSR1 is set to 0xFF as an initial value, and can be set to a value of 1 to 32 by the playback device.
  • This 0xFF is an indefinite value and indicates that there is no primary audio stream or that the primary audio stream is not selected.
  • the setting values 1 to 32 are interpreted as the stream number of the primary audio stream.
  • FIG. 43B is a diagram showing an example of bit assignment of PSR14.
  • the lower 8 bits (b0 to b7) in 32-bit PSR14 are secondary audio stream numbers, and one of the secondary audio streams whose entries are described in the STN_table of the current Play Item is Identify. If the setting value of PSR 14 changes, the playback device plays back the secondary audio stream after the change.
  • PSR14 is set to 0xFF as an initial value, and can be set to a value of 1 to 32 by the playback device. This 0xFF is an indefinite value, indicating that there is no secondary audio stream or that no secondary audio stream is selected. Setting values 1 to 32 are interpreted as the stream number of the secondary audio stream.
  • FIG. 44 is a flowchart showing a procedure for determining the current primary audio stream when the current playitem changes.
  • Steps S96 and S97 form a loop process in which step S98 is repeated for all the primary audio streams indicated in the STN_table.
  • each primary audio stream to be processed is referred to as a primary audio stream i.
  • step S98 it is checked whether the primary audio stream i satisfies the three condition conditions (a), (b), and (c).
  • the condition (a) is that the playback apparatus has the capability of playing the primary audio stream i, and whether or not this is satisfied is determined by comparing PSR15 with the stream_coding_type of the primary audio stream i. .
  • Condition (b) is that the language attribute of the Primary audio stream i is the same as the deck information.
  • the deck information is information indicating the language setting of the playback device, and whether or not the condition (b) is satisfied is determined by whether the Audio_language_code of the Primary audio stream i described in the STN_table is the same as the setting value of PSR16 This is done by comparing the results.
  • the condition (c) is that the channel attribute of the primary audio stream i is surround, and the playback apparatus has the ability to play back the channel attribute. Whether or not this is satisfied is determined by comparing PSR15 with audio_presentation_type and stream_coding_type of AudioStream.
  • this flowchart takes precedence over the Primary audio stream according to the pattern of conditions that should be satisfied, such as “How and which Primary Audio Stream i satisfies” and “How many conditions are satisfied”. Give a ranking.
  • Step S99 is a determination as to whether there is no Primary audio stream that satisfies (a). If not, an indefinite value (0xFF) is set in PSR1 (step S104).
  • Step S100 is a determination of whether or not there is a primary audio stream that satisfies all of the conditions (a), (b), and (c). If it exists, the number of the primary audio stream that satisfies the conditions (a), (b), and (c) is set in PSR1 (step S105).
  • step S105 the order in each stream is determined according to the order of entries in the STN_table. That is, for the primary audio stream having the same codec-language attribute-channel attribute, the primary audio stream with the highest priority is selected by referring to the entry order in the STN_table.
  • the person in charge of authoring can specify selection control of which stream is preferentially reproduced during reproduction and which stream is delayed.
  • Step S101 is a determination of whether or not there is a primary audio stream that satisfies the conditions (a) and (b) when there is no primary audio stream that satisfies all the conditions (a), (b), and (c). If it exists, among the primary audio streams satisfying the conditions (a) and (b), the one with the highest entry order in the STN_table is set to PSR1 (step S106).
  • Step S102 sets the conditions (a) and (c) when there is no Primary audio stream that satisfies all of the conditions (a), (b), and (c), or there is no Primary audio stream that satisfies the conditions (a) and (b). This is a determination as to whether or not there is a primary audio stream to satisfy. If it exists, the primary audio stream satisfying the conditions (a) and (c) is set to PSR1 with the highest entry order in the STN_table (step S107).
  • step S103 when there is no primary audio stream that satisfies all of the conditions (a), (b), and (c), the conditions (a), (b), and the conditions (a), (c), the primary audio that satisfies (a) is satisfied. This is a determination of whether a stream exists. If it exists, the primary audio stream satisfying (a) having the highest entry order in the STN_table is set to PSR1 (step S108).
  • the sub play item that defines the playback section in the current primary audio stream is specified as the current sub play item.
  • the above is the stream selection procedure for selecting the current primary audio stream.
  • FIG. 45 is a flowchart showing the processing procedure of the stream selection procedure for the secondary audio stream.
  • a secondary audio stream number is acquired from PSR14.
  • step S113 is executed.
  • step S113 it is determined whether or not the number of Stream_entry in the STN_table of the secondary audio stream in the current play item is zero. If the number of Stream_entry in STN_table is 0, the secondary audio stream number of PSR14 is maintained (step S116). If the number of Stream_entry in the STN_table is not 0, the determination in step S114 is performed.
  • step S114 it is determined whether or not the secondary audio stream number is equal to or less than the number of stream_entry of STN_table in the current play item and the condition (A) is satisfied. If it is satisfied, it is considered that a valid secondary audio stream number already exists in the PSR 14, so this is not changed (step S117). If not satisfied, the optimum current secondary audio stream for the current play item is selected (step S115).
  • FIG. 46 is a flowchart showing a procedure for selecting an optimal current secondary audio stream for the current playitem.
  • steps S121 to S123 a check is performed on the stream described in all stream_entry in the STN_table to check whether the following condition is satisfied for an arbitrary stream.
  • step S124 is executed.
  • Step S124 is a determination step of determining whether or not there is a secondary audio stream that satisfies the condition (a). If not, a secondary audio stream number of 0xFF is set in PSR14 (step S125).
  • step S126 determines whether or not there is at least one secondary audio stream that satisfies the condition (a) and the condition (b). If there is a stream, the stream satisfying the condition (a) and the condition (b) is selected with the corresponding Stream_Entry first located in the STN_table, and the secondary audio stream number of the selected secondary audio stream is set in the PSR14. (Step S127).
  • step S128 determines whether or not there is a secondary audio stream that satisfies the condition (a). If there is a secondary audio stream satisfying the condition (a), the corresponding Stream_Entry is selected in the STN_table in the top order, and the secondary audio stream number of the selected secondary audio stream is set in PSR14. (Step S129).
  • the sub play item that defines the playback section in the current secondary audio stream is specified as the current sub play item.
  • the STN_table specifies which playback is permitted as the primary audio stream for the primary video stream and the secondary audio stream for the secondary video stream, and exists in this STN_table. Select one primary audio stream and one secondary audio stream from the stream_entry to perform mixing output, so when executing picture-in-picture, listen to the synthesized audio with the movie director's commentary added to the main audio Can do.
  • the playback is interrupted if the AV clip is an Unavailable clip. Therefore, if you download an AV clip that includes the current primary audio stream and current secondary audio stream and is referenced from the sub-playitem information, playback will not be interrupted, so smooth playback progress can be achieved. Can be secured.
  • the primary audio stream and the secondary audio stream are assigned to the primary video stream and the secondary video stream, respectively, but the subtitles are for the primary video stream and the secondary video stream, although there is a distinction between the presentation graphics stream and the text subtitle stream. There is no clear distinction.
  • FIG. 47 is a diagram in which STN_table is extracted that is particularly relevant to the PGtestST stream. According to this figure, among the STN_tables, “number_of_PG_textST_streams_entries [1] to [n]”, “number_of_PiP_PG_textST_stream_entries_plus”, “PGtestST_stream_entry”, “Secondary_video_Stream_ent _” _ Comb_info_Second_video_ST .
  • “Number_of_PG_textST_streams_entries” indicates the number of PGtestST streams to be selected when picture-in-picture is not executed. “Number_of_PiP_PG_textST_stream_entries_plus” is a picture-in-picture application and should be added to number_of_PG_textST_streams_entries defined in STN_table. Indicates the number of presentation graphics streams and text subtitle streams. The sum of this number_of_PG_textST_streams_entries and number_of_PiP_PG_textST_stream_entries_plus is 255 or less.
  • the range of stream numbers from 1 to n1 is the range of the PG text subtitle stream, but if number_of_PiP_PG_textST_stream_entries_plus is n2, 1 to n1 + n2 at the time of picture-in-picture execution
  • the range of the stream number up to is the range of the PG text subtitle stream. That is, if number_of_PiP_PG_textST_stream_entries_plus is described in STN_table, the range of stream numbers of the PGTextST stream is expanded by the number described in number_of_PiP_PG_textST_stream_entries_plus.
  • non-picture-in-picture among the stream_entry for the PGtestST stream, 1 to n1 are selected.
  • subtitles for the primary video and secondary video are not reproduced.
  • One of the subtitles for primary video and the subtitles for secondary video is displayed in picture-in-picture. This means that if subtitles for primary video and secondary video are recorded separately on a BD-ROM, the playback device requires two graphics decoders, resulting in an increase in hardware costs. (i) Even if subtitles are reduced and displayed for secondary video, it is only difficult to view (ii).
  • the leader line hp1 shows a close-up of the internal structure of PG_testST_Stream_entry. As shown in this leader line, PG_testST_Stream_entry has Stream_entry and Stream_Attribute, and the PID of the PGtestST stream that is permitted to be reproduced exists in Stream_entry.
  • the leader line hp2 shows a close-up of the internal structure of “Secondary_video_Stream_entry [1]”.
  • Comb_info_Secondary_video_PiP_PG_textST in this internal configuration uniquely indicates a PGtestST stream that is allowed to be combined with a secondary video stream.
  • the leader line hp3 indicates the internal configuration of Comb_info_Secondary_video_PiP_PG_textST.
  • Comb_info_Secondary_video_PiP_PG_textST includes “number_of_PiP_PG_textST_stream_ref_entries” indicating the total number of PiP_PG_text subtitle streams that can be combined for each secondary video stream, and “PiP_PG_text_ref_stream_id [id_id] [piP_PG_textST_stream_stream_ref [0] _stream_ref [0] _stream_ref_streamST_stream It consists of.
  • the playback apparatus includes the stream number of the current PGTextST stream when executing picture-in-picture and the stream number of the current PGTextST stream when not executing picture-in-picture separately in the PSR set 23. Stored.
  • FIG. 48 (a) is a diagram showing an example of a numerical range that can be taken by the stream number of the current PGtestST stream.
  • the stream number of the current PGtestST stream takes a value from 1 to n1, as shown in the upper part of the figure, where PiP_PG_text_ST_stream_number described in STN_table is n1.
  • PiP_PG_TextST stream number takes a value from 1 to n1 + n2.
  • FIG. 48B is a diagram illustrating an example of the bit assignment of PSR2.
  • disp_s_flag B31 of PSR2 is disp_s_flag, and the set value of 1 bit is interpreted as follows.
  • 0b Indicates that it is not possible to display both “PG textST stream” and “PiP PG textST stream”.
  • a procedure for selecting a PG text subtitle stream is not executed when disp_s_flag is off indicating that it is possible to display both “PG textST stream” and “PiP PG textST stream”. If disp_s_flag in PSR2 is off, there is no current PG text subtitle stream. Therefore, in steps S34 and S35 in FIG. 34, an AV clip including only the PG text subtitle stream is selected for download. exclude. Downloading AV clips containing only PG text subtitle streams can be omitted, so if subtitles are turned off, even if AV clips containing only PG text subtitle streams are not downloaded, Playback can proceed. Thereby, switching from a certain play item to the next play item can be realized at high speed.
  • PiP_PG_textST_valid_flag B30 of PSR2 is PiP_PG_textST_valid_flag, and the set value of 1 bit is interpreted as follows.
  • PiP_PG_textST_valid_flag does not affect the display of the BD-ROM playback device when the secondary video stream is not displayed while the current playitem is displayed.
  • the “PG” TextST “Stream” Number defined in PSR2 is used.
  • PG TextST Stream Number B0 to b11 of PSR2 are PG TextST Stream Number, and the set value of 12 bits is interpreted as follows.
  • the disp_v_flag of the PSR14 is set to 0b
  • the PG TextST Stream Number of the PSR2 The value is used to specify whether the PG stream or the TextST stream is displayed from among the PG TextST stream items in the STN_table of the current play item.
  • PiP PG TextST Stream Number B16 to b27 of PSR2 are PiP PG TextST Stream Numbers, and the set value of 12 bits is interpreted as follows.
  • PiP_PG_textST_valid_flag 1b
  • disp_v_flag of PSR14 1b
  • the value of the PiP PG TextST Stream Number in PSR2 is the PG stream and TextST from the PG TextST stream items in the STN_table of the current play item. Used to specify which of the streams is displayed.
  • FIG. 49 is a flowchart showing the procedure for determining the current PGtestST stream when the current playitem changes.
  • the stream number of the PGtestST stream for non-picture-in-picture and the handling thereof are only a simplified selection of the PGtestST stream for picture-in-picture, and thus description thereof is omitted.
  • the PGtestST stream number for picture-in-picture will be described.
  • step S151 the current PiP_PG_TextST stream number is acquired from PSR2, and in step S152, it is determined whether the current PiP_PG_TextST stream number is for the presentation graphics stream or the text subtitle stream. In step S153, it is checked whether or not the presentation graphics stream corresponding to the current PiP_PG_TextST stream number satisfies the condition (A), the condition (B), and the condition (C).
  • condition (A), condition (B), and condition (C) are defined as follows.
  • the playback device has the ability to decode the presentation graphics stream specified from the current PiP_PG_TextST stream number.
  • the playback device has the ability to play the specified language.
  • step S154 it is checked whether the text subtitle stream corresponding to the current PiP_PG_TextST stream number satisfies the condition (A), the condition (B), and the condition (C).
  • the playback device has the ability to expand the character code of the text subtitle stream of the current PiP_PG_TextST stream number into a bitmap. Such playback capability is indicated by PSR 30 in the PSR set 23.
  • the playback device has the ability to support the language attribute of the text subtitle stream of the current PiP_PG_TextST stream number. Such support capability is shown in PSR 48 to 61 in the PSR set 23.
  • the text subtitle stream of that language can be said to be “decodable” by expanding the character code in that language into a bitmap. Capabilities and support capabilities that support the characteristics of the language need to exist on the playback device side.
  • the English subtitle display is only supported by the features of “horizontal writing”, “kerning”, and “ligature / hugging”. Judgment can be made.
  • Japanese subtitle display can only be determined to support the language characteristics when the functions “horizontal writing”, “vertical writing”, “line ending prohibition”, and “ruby” are supported.
  • Arabic subtitle display can be determined to support the language characteristics only after the functions of “right-to-left drawing” and “ligature / hugging” are supported.
  • Step S155 is for the playback device to determine whether or not the condition (Z) is satisfied.
  • the condition (Z) means that the user intends to play back the subtitles in the unsupported language. And this intent is shown in PSR30 in PSR set 23.
  • step S156 the determination step of step S156 is executed. This is to determine whether or not the sum of number_of_PG_textST_streams_entries and number_of_PiP_PG_textST_stream_entries_plus in the STN_table of the current play item is zero.
  • the number of the PGTextST stream in PSR2 is maintained (step S157). If there is at least one PGTextST stream that is permitted to be played back in the current STN_table, step S158 is executed.
  • step S160 determines whether or not the current PiP_PG_TextST stream number is less than or equal to the total number of stream_entry in the STN_table and satisfies the condition (A). If it is satisfied, the PiP_PG_TextST stream number of the text subtitle in the unsupported language is set in PSR2, but since the user intends to play the unsupported language, PSR2 is not changed (step S161). If it is determined in step S160 that the current play item is not satisfied, an optimal current PG text subtitle stream is selected for the current play item (step S162).
  • FIG. 50 is a flowchart showing a processing procedure for selecting an optimal current PGTextST stream for the current playitem.
  • step S1 90 it is checked whether or not the conditions (a) to (d) are satisfied for all the PGTextST streams.
  • the playback device has the ability to decode the presentation graphics stream i.
  • the playback device has the ability to play back the language specified from the presentation graphics stream i.
  • the PG_language_code of the presentation graphics stream i matches the deck information.
  • the deck information indicates the language setting in the deck information in the playback apparatus, and specifically indicates the PSR 17 in the PSR set 23.
  • the playback device must have the ability to expand the character code of the text subtitle stream i into a bitmap.
  • the playback device has the ability to support the language attribute of the text subtitle stream i.
  • step S191 the playback device determines whether or not the condition (Z) (: playback of unsupported language) described in the previous flowchart is satisfied. If not, it is determined in step S192 whether there is a PGTextST stream that satisfies the conditions (a) to (d). If it exists, the PGTextST stream satisfying the conditions (a) to (d) is selected with the corresponding Stream_Entry positioned at the top in the STN_table, and the selected PiP_PG_TextST stream number is set in the PSR2 (step S193).
  • the condition (Z) : playback of unsupported language
  • step S194 it is determined in step S194 whether there is a PGTextST stream that satisfies a more relaxed condition.
  • the relaxed condition means that the three conditions (a), (b), and (c) are satisfied.
  • step S194 it is determined whether there is a PGTextST stream that satisfies the conditions. If there is a PiPPGtestST stream satisfying the conditions (a), (b), and (c), select the stream with the corresponding Stream_Entry located at the top in the STN_table, and select the selected PiP_PG_TextST stream number as PSR2. (Step S196).
  • step S195 the PiP_PG_TextST stream number of 0xFFF is set in PSR2 (step S195). If it is determined in step S191 that the condition (Z) is satisfied, it is determined in step S197 whether there is a PGTextST stream that satisfies another relaxed condition. The other relaxed conditions satisfy the conditions (a), (c), and (d). In step S198, it is determined whether there is a PGTextST stream that satisfies these conditions.
  • step S199 it is determined in step S199 whether there is a PGTextST stream that satisfies the conditions (a) and (c). If there is a PiP_PGtestST stream that satisfies the conditions (a) and (c), the stream having the corresponding Stream_Entry positioned at the top in the STN_table is selected, and the PiP_PG_TextST stream number of the selected stream is the stream of the current PiP_PG_TextST stream. The number is set to PSR2 (step S200). If not, 0xFFF is set to PSR2 (step S201).
  • the sub play item that defines the playback section in the current PiP_PG_TextST stream number is specified as the current sub play item.
  • the PiP_PG_TextST stream number is selected from the numerical range obtained by adding number_of_PG_textST_streams_entries and number_of_PiP_PG_textST_stream_entries_plus, and corresponds to this PiP_PG_TextST stream number. Since the presentation graphics stream or the text subtitle stream is played back, in some cases, the subtitle suitable for the primary video stream may be played with the moving image, and in some cases, the subtitle suitable for the secondary video stream may be played with the moving image. Yes, you can widen the range of subtitle selection.
  • FIG. 51 is a diagram showing an example of the configuration of the BD-ROM.
  • the BD-ROM 100 is shown in the fourth level of the figure, and the track 202 on the BD-ROM is shown in the third level.
  • the track 202 in the figure is drawn by extending the track 202 formed in a spiral shape from the inner periphery to the outer periphery of the BD-ROM 100 in the horizontal direction.
  • the BD-ROM 100 has a recording area spiraling from the inner periphery to the outer periphery like other optical disks such as DVD and CD, and can record logical data between the inner lead-in and the outer lead-out. It has a logical address space.
  • BCA Burt Cutting Area
  • volume information of the file system is recorded from the beginning, and subsequently application data such as video data is recorded.
  • the file system is a mechanism for expressing data on a disc in units called directories or files.
  • the file system is recorded in UDF (Universal Disc Disc Format).
  • UDF Universal Disc Disc Format
  • FAT or NTFS file system
  • This file system makes it possible to read logical data recorded in the same way as a normal PC using a directory and file structure.
  • the directory and file structure on the BD-ROM 100 has a BDMV directory directly under the root directory (ROOT).
  • the BDMV directory is a directory in which data such as AV content and management information handled by the BD-ROM 100 is recorded.
  • an index file (index.bdmv) that defines the index table that constitutes the title
  • a movie object file (MovieObject.bdmv) that defines a dynamic scenario
  • a PLAYLIST directory a CLIPINF directory
  • STREAM directory BDJO directory
  • JAR directory JAR directory
  • directories contain AV clips (XXX.M2TS) in which AV contents such as video and audio are multiplexed and stored, clip information files (XXX.CLPI) in which AV clip management information is stored, and logical clips of AV clips.
  • AV clips XXX.M2TS
  • clip information files XXX.CLPI
  • logical clips of AV clips There is a playlist file (YYY.MPLS) that defines the playback path.
  • BDJ object file BBB.BDJO
  • AAA.JAR JAR file
  • index file (Index.bdmv) will be described.
  • An index file has an index table.
  • FIG. 52 is a diagram showing an example of the internal structure of the index file.
  • Index table is a top-level table that defines the title structure such as all titles, top menus, and FirstPlay stored in the BD-ROM. In this table, all titles, top menus, and movie objects included in the movie object file that is executed first from FirstPlay are designated.
  • the BD-ROM player refers to the index table each time a title or menu is called, and executes a predetermined movie object or BDJ object.
  • FirstPlay is set by a content provider, and a movie object or a BDJ object that is automatically executed when a disc is inserted is set.
  • the top menu specifies a movie object and a BDJ object to be called when a command such as “return to menu” is executed by a user operation on the remote controller.
  • a playlist to be played with the progressive attribute must be played by the BD-J object.
  • the above is the data structure of the BD-ROM that is the premise of the virtual package.
  • FIG. 53 is a diagram showing an example of the internal configuration of the update kit stored in the local storage 103.
  • the update kit stored in the local storage 103 includes additional content storage directory, OrgID directory, DiscID directory, merge management information file (MERGE.XML), signature information file (MERGE.SF), and additional Includes content data files (CCC.MPL, VVV.M2T, VVV.CLP, etc.).
  • the additional content area root directory exists directly under the root directory of the local storage 103 and indicates the root of the additional content area, and is a fixed value (BD_BUDA) within the directory name distribution medium characters.
  • Order directory is an 8-character hexadecimal representation of a 32-bit identifier (OrganizationID) that identifies the provider of a movie work, as described in the BD management information (index file) on the BD-ROM recording layer. Name directory. The leading zeros in OrganizationID are omitted from the directory name. For example, when the Organization ID is 0x0000001A, the name of the directory is “1A”.
  • the “DiscID directory” is a 128-bit identifier (DiscID) that specifies the BD-ROM recording layer described in the BD management information (index file) on the BD-ROM recording layer, divided into four 32 bits from the beginning. Is a directory in hexadecimal notation. Similarly to OrganizationID, the leading zeros of DiscID are omitted from the directory name.
  • DiscID 128-bit identifier
  • the merge management information file, signature information file, and additional content data file exist under the DiscID directory.
  • Merge management information file (MERGE.XML) is composed of the file storage location information recorded in the local storage for configuring the virtual package and the virtual path information for accessing those files on the virtual package. And saved directly under the DiscID directory.
  • Signature information file is a file indicating the provider's electronic signature for the merge management information file, and is stored directly under the DiscID directory with the file name MERGE.SF.
  • a hash value is generally calculated for information that needs to be prevented from being falsified, and the hash value is encrypted using a secret key.
  • the hash value of the merge management information file is encrypted using a private key corresponding to the public key in the merge certificate on the BD-ROM recording layer.
  • Merge certificate is a certificate used to authenticate the merge management information file and includes the public key published by the provider.
  • the merge certificate provided by the provider is stored on the BD-ROM recording layer with the file name bd.cert.
  • X.509 can be used as an example of the file format of the merge certificate.
  • “Additional content data files” are files that are added / updated to the original content recorded on the BD-ROM recording layer.
  • a playlist file, an AV clip, and the like are recorded.
  • FIG. 54 is a diagram showing an example of the process of building a virtual package from the contents of the merge management information file and the BD-ROM file and the update kit file based on the contents.
  • FIG. 54 shows the directory / file structure of the BD-ROM.
  • the lower left of the figure shows the directory / file structure of the update kit.
  • the lower right of FIG. 54 shows the contents of the merge management information file.
  • the manifest file is composed of a “local storage path” in the local storage constituting the virtual package, a “virtual package path” for accessing these files on the virtual package, and a “progressive attribute”.
  • the progressive attribute indicates that the file need not exist before the virtual package is constructed.
  • BDMV / PLAYLIST / CCC.MPLS BDMV / STREAM / VVV.M2TS, BDMV / CLIPINF / VVV.CLPI, BDMV / STREAM / SSS.M2TS, BDMV / CLIPINF / SSS.CLPI are described as virtual package paths. Yes.
  • FIG. 54 shows a virtual package generated by this manifest file.
  • files that exist in 1/1 / CCC.MPL, 1/1 / VVV.M2T, 1/1 / VVV.CLP, 1/1 / SSS.M2T, 1/1 / SSS.CLP Virtual directory to be placed in BDMV / PLAYLIST / CCC.MPLS, BDMV / STREAM / VVV.M2TS, BDMV / CLIPINF / VVV.CLPI, BDMV / STREAM / SSS.M2TS, BDMV / CLIPINF / SSS.CLPI ⁇
  • the file structure is changed. By doing this, VVV.CLPI, VVV.M2TS, SSS.CLPI, and SSS.M2TS that are not in the BD-ROM are handled as if they exist in the virtual package.
  • the sub play item can be supplied to the system target decoder through the virtual file system.
  • the authoring system includes storages 300a and 300b, a material production unit 301, a scenario generation unit 302, a BD-J production unit 303, a multiplexing processing unit 304, and a format processing unit.
  • FIG. 55 is a diagram illustrating an example of an authoring system.
  • Storage 300a, b, and c store ROM scenario data, ROM disk image version 1 (ver. 1), and ROM disk image version 2 (ver. 2), respectively.
  • the material production unit 301 creates each stream such as a video stream, an audio stream, a presentation graphics stream, and an interactive graphics stream.
  • the material production unit 301 creates a video stream by encoding an image image such as an uncompressed bitmap according to a compression method such as MPEG4-AVC or MPEG2.
  • the material production unit 301 creates an audio stream by encoding uncompressed LinearPCM audio or the like according to a compression method such as AC3.
  • the material production unit 301 creates a presentation graphics stream, which is a subtitle stream, based on a subtitle information file including subtitle images, display timing, and subtitle effects such as fade-in / fade-out.
  • the material production unit 301 creates an interactive graphics stream constituting the menu screen based on the bitmap image used for the menu and the menu file describing the transition of the buttons arranged in the menu and the display effect.
  • the scenario generation unit 302 creates a scenario according to the information of each stream created by the material production unit 301 and the operation from the authoring staff via the GUI.
  • the scenario here refers to an index file, a movie object file, a playlist file, and the like.
  • the scenario generation unit 302 creates a parameter file that describes which stream each AV clip for realizing the multiplexing process is composed of.
  • the BD-J production unit 303 is a means for programming a BD-J application.
  • the source code of the BD-J application program is created according to a request from the user through a user interface such as a GUI, and a BD-J application is created.
  • the multiplexing processing unit 304 multiplexes a plurality of streams such as video, audio, subtitles, and buttons described in the ROM scenario data to create an MPEG2-TS format AV clip. At this time, a clip information file paired with the AV clip is created at the same time. Generation in the clip information file by the multiplexing processing unit 304 is performed by the following method.
  • the multiplexing processing unit 304 creates an entry map at the same time as creating an AV clip. More specifically, in each stream generated by the material production unit 301, an I picture if the included video stream is MPEG2, an I picture or IDR picture if it is MPEG4-AVC, and an I picture if it is VC-1.
  • the multiplexing processing unit 304 creates a clip information file by pairing the entry map generated by itself with attribute information indicating the audio attribute, the video attribute, and the like for each stream included in the AV clip.
  • the format processing unit 305 includes the ROM scenario data generated by the scenario generation unit 302, the BD-J application generated by the BD-J production unit 303, the AV clip and clip information file generated by the multiplexing processing unit 2604,
  • the files and directories are arranged in the format described in the embodiment, and a disk image is created in the UDF format.
  • a BD-ROM can be manufactured by converting the generated disk image into BD-ROM press data and performing a press process on the data.
  • To prepare an update kit prepare two disk images. One is a disk image stored in the BD-ROM, and the first characteristic is a disk image after the virtual package is constructed.
  • the difference extraction unit 306 compares the two ROM disk images stored in the storages 300a and 300b, and extracts difference data. For example, a file that was not in the original disk image or a file that has been updated through binary comparison is extracted.
  • the update kit production unit 307 creates a merge management information file and a signature information file based on the difference extraction unit 306 to match the update kit data format described above, and arranges the files and directories.
  • FIG. 56 explains how to create a ROM disk image and an update kit image.
  • step S211 the material production unit 301 generates a video stream, an audio stream, an IG stream, and a PG stream.
  • step S212 the scenario generation unit 302 creates ROM scenario data describing a playback scenario such as an index file, a movie object file, and a playlist file.
  • step S213 the BD-J production unit 303 creates a program for the BD-J application.
  • step S214 the multiplexing processing unit 304 creates an AV clip and a clip information file based on the ROM scenario data.
  • step S215 the format processing unit 307 rearranges the ROM scenario data, the modified AV clip, the clip information file, and the restored bytecode data into the file / directory structure described in the previous embodiments, thereby creating a ROM disk image.
  • step S221 the difference extraction unit 306 compares the two disk images and extracts difference data.
  • step S222 the update kit production unit 307 creates ROM scenario data describing a reproduction scenario such as an index file, a movie object file, and a playlist file.
  • step S223 the BD-J production unit 303 creates a program for the BD-J application.
  • step S224 the multiplexing processing unit 304 creates an AV clip and a clip information file based on the ROM scenario data.
  • step S225 the format processing unit 307 converts the difference data so as to match the data format of the update kit.
  • Java (Scope of programming language)
  • TM is used as the programming language of the virtual machine, but other than Java (TM), such as B-Shell used in UNIX (TM) OS, Perl Script, ECMA Script, etc. It may be a programming language.
  • the playback apparatus 101 may record the clip file in the local storage by performing real-time recording.
  • the AV stream may be a transport stream obtained by self-encoding the analog input signal by the recording device, or a trans-stream obtained by partializing the transport stream digitally input by the recording device. It may be a port stream.
  • the apparatus performs processing for generating clip information and playlist information on the memory along with recording of the AV stream.
  • the clip information and playlist information described in each of the above-described embodiments are stored on the memory.
  • the generated clip information and playlist information are written to the recording medium.
  • the clip information and playlist information shown in each embodiment can be created by a home recording device or a personal computer having a function as a recording device without using an authoring system. .
  • the AV stream, clip information, and playlist information thus created may be written on a write-once recording medium.
  • the target of AV playback is not limited to that defined in the BD-ROM, as long as the content is composed of a digital stream, map information, and playlist information.
  • a digital stream is a multiplexed stream obtained by multiplexing a video stream and an audio stream encoded by an encoding method such as MPEG2, MPEG4-AVC, and is called VOB in DVD Video-Recording.
  • the map information is information indicating the correspondence between the address information of the access unit (referred to as a playback unit that can be independently decoded) in the video stream and the playback time on the playback time axis of the video stream. It is called Map.
  • Playlist information is information that defines one or more playback sections based on a combination of time information that is a start point and time information that is an end point.
  • An application program that downloads clip files and outputs DataStarved events can be created as follows. First, a software developer uses a programming language to write a source program that implements each flowchart and functional components. In this description, the software developer describes a source program that embodies each flowchart and functional components using a class structure, a variable, an array variable, and an external function call according to the syntax of the programming language. At this time, various API calls for programs in the Java language are used.
  • the described source program is given to the compiler as a file.
  • the compiler translates these source programs to generate an object program.
  • Translator translation consists of processes such as syntax analysis, optimization, resource allocation, and code generation.
  • syntax analysis lexical analysis, syntax analysis, and semantic analysis of the source program are performed, and the source program is converted into an intermediate program.
  • optimization operations such as basic block formation, control flow analysis, and data flow analysis are performed on the intermediate program.
  • resource allocation in order to adapt to the instruction set of the target processor, a variable in the intermediate program is allocated to a register or memory of the processor of the target processor.
  • code generation each intermediate instruction in the intermediate program is converted into a program code to obtain an object program.
  • the object program generated here is composed of one or more program codes that cause a computer to execute the steps of the flowcharts shown in the embodiments and the individual procedures of the functional components.
  • program codes such as a processor native code and a JAVA byte code.
  • a call statement that calls the external function becomes a program code.
  • a program code that realizes one step may belong to different object programs.
  • each step of the flowchart may be realized by combining arithmetic operation instructions, logical operation instructions, branch instructions, and the like.
  • the programmer activates the linker for these.
  • the linker allocates these object programs and related library programs to a memory space, and combines them into one to generate a load module.
  • the load module generated in this manner is premised on reading by a computer, and causes the computer to execute the processing procedures and the functional component processing procedures shown in each flowchart. Through the above processing, you can create an application program that downloads clip files and outputs DataStarved events. The program created in this way may be recorded on a computer-readable recording medium and supplied to the user.
  • System LSI A system having logical elements as main parts, excluding mechanical components (BD drive) and components (video plane, graphics plane) implemented by a large-capacity memory among hardware constituting the playback apparatus 101 It is desirable to integrate the target decoder and the BD-J processing unit into a system LSI. This is because the part having the logic element as the main part can be integrated at a high density.
  • System LSI refers to a bare chip mounted on a high-density substrate and packaged.
  • a system LSI that includes a plurality of bare chips mounted on a high-density substrate and packaged so that the bare chip has an external structure like a single LSI is also included in system LSIs (such systems LSI is called a multichip module.)
  • system LSIs are classified into QFP (Quad-Flood Array) and PGA (Pin-Grid Array).
  • QFP is a system LSI with pins attached to the four sides of the package.
  • the PGA is a system LSI with many pins attached to the entire bottom surface.
  • pins serve as an interface with other circuits. Since pins in the system LSI have such an interface role, by connecting other circuits to these pins in the system LSI, the system LSI plays a role as the core of the playback apparatus 101.
  • Such a system LSI can be incorporated not only in the playback device 101 but also in various devices that handle video playback, such as a TV, a game, a personal computer, and a one-seg mobile phone, and can broaden the application of the playback device.
  • the system LSI architecture conforms to the Uniphier architecture.
  • a system LSI that conforms to the Uniphier architecture consists of the following circuit blocks.
  • ⁇ Data parallel processor DPP This is a SIMD type processor in which multiple element processors operate in the same way. By operating the arithmetic units incorporated in each element processor simultaneously with a single instruction, the decoding process for multiple pixels constituting a picture is performed in parallel. Plan
  • Instruction parallel processor IPP This is a "Local Memory Controller” consisting of instruction RAM, instruction cache, data RAM, and data cache, "Processing Unit” consisting of instruction fetch unit, decoder, execution unit and register file, and Processing Unit part for parallel execution of multiple applications. It consists of a “Virtual Multi Processor Unit section” to be performed.
  • MPU block This is a peripheral interface such as ARM core, external bus interface (Bus Control Unit: BCU), DMA controller, timer, vector interrupt controller, UART, GPIO (General Purpose Input Output), synchronous serial interface, etc. Consists of.
  • -Stream I / O block This performs data input / output with drive devices, hard removable media drive devices, and SD memory card drive devices connected to the external bus via the USB interface or ATA Packet interface.
  • ⁇ AVI / O block This is composed of audio input / output, video input / output, and OSD controller, and performs data input / output with TV and AV amplifier.
  • Memory control block This is a block that realizes reading and writing of the SD-RAM connected via the external bus.
  • the internal bus connection part that controls the internal connection between each block, the SD-RAM connected outside the system LSI It consists of an access control unit that transfers data to and from the RAM, and an access schedule unit that adjusts SD-RAM access requests from each block.
  • the buses connecting circuit elements, ICs, LSIs, their peripheral circuits, external interfaces, etc. will be defined.
  • connection lines, power supply lines, ground lines, clock signal lines, and the like will be defined.
  • the circuit diagram is completed while adjusting the operation timing of each component in consideration of the specifications of the LSI, and making adjustments such as ensuring the necessary bandwidth for each component.
  • Mounting design refers to where on the board the parts (circuit elements, ICs, and LSIs) on the circuit board created by circuit design are placed, or how the connection lines on the circuit board are placed on the board. This is a board layout creation operation for determining whether to perform wiring.
  • the mounting design result is converted into CAM data and output to equipment such as an NC machine tool.
  • NC machine tools perform SoC implementation and SiP implementation based on this CAM data.
  • SoC (System on chip) mounting is a technology that burns multiple circuits on a single chip.
  • SiP (System-in-Package) packaging is a technology that combines multiple chips into one package with resin or the like.
  • the integrated circuit generated as described above may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the hardware configuration shown in each embodiment can be realized.
  • the LUT is stored in the SRAM, and the contents of the SRAM disappear when the power is turned off.
  • the LUT that realizes the hardware configuration shown in each embodiment is defined by the definition of the configuration information. Must be written to SRAM.
  • the playback device according to the present invention efficiently performs a streaming-like playback function and does not give the user a long download time, video content such as a more attractive movie title can be supplied to the market.
  • the movie market and consumer equipment market can be activated. Therefore, the playback device according to the present invention has high applicability in the movie industry and consumer equipment industry.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

 再生装置は、プレイリストを再生する。カレントプレイアイテムが変化する度に、カレントプレイアイテムにとって最適なサブストリームをカレントサブストリームとして決定する。この選択の際、カレントサブプレイアイテムを特定する。  カレントサブプレイアイテムによって参照されているクリップファイルが、ダウンロード済みであり、ローカルストレージにおいてEnable状態になっていればプレイアイテムの再生を進行するが、カレントサブプレイアイテムによって参照されているクリップファイルが記録媒体においてMissing状態になっているか、又は、無効状態になっていれば、DataStarvedイベントを出力することにより、プレイアイテムの再生を停止する。

Description

再生装置、記録装置、再生方法および記録方法
 本発明は、プレイリスト再生技術の技術分野に属する発明である。
 プレイリストとは、論理的な再生経路を定義するための情報であり、コンテンツ格納のための様々なアプリケーションフォーマットでは、このプレイリストが、1つの決まった再生単位となる。一般にプレイリストは、プレイアイテム、サブプレイアイテムから構成される。プレイアイテムとは、主たる動画像を構成するビデオストリームの時間軸において、イン点、及び、アウト点の組みを指定することで定義される論理的な再生区間である。
 サブプレイアイテムとは、サブストリームの時間軸において、イン点、及び、アウト点の組みを指定することで定義される論理的な再生区間である。ここでサブストリームとは、ビデオストリームとは多重化されていないが、ビデオストリームと共に再生されるようなオーディオストリーム、字幕ストリーム、ビデオストリームのことである。
 ROMディスクの記録内容と、他の記録媒体の記録内容とを組合せて、仮想パッケージを構築する場合、ネットワークを通じてダウンロードされるサブストリームの再生区間を、サブプレイアイテムにて定義することができる。ここで、プレイリストにおけるプレイアイテムにおいて、ROMディスクに記録されているAVストリームの再生区間を定義し、プレイリストにおけるサブプレイアイテムにおいて、ダウンロードされるべきサブストリームの再生区間を定義することにより、当該プレイリストは、光ディスクにない、新しい字幕・音声と、動画像との組合せを実現することができる。
 この仮想的なパッケージを生成する技術の先行技術としては、以下の特許文献1に記載されたものがある。
特開2006-109494号公報
 ところが、ROMディスクからの読み出しには、54Mbpsというビットレートを確保することができる。しかし、一般のユーザ宅内では、ストリーミング再生時に保障されるビットレートが、ベストエフォートであることが多く、ROMディスクからのストリーム再生のように、常時、一定の高さのビットレートを確保できない。
 ストリーミング再生のためのビットレートが制約されている状況下で、多くのサブプレイアイテムを包含しているようなプレイリストを再生しようとした場合を考える。
 例えば、本編映像の特定のシーンにおいて、あるプレイアイテムには、10個のサブプレイアイテムが付随しており、これらのサブプレイアイテムが、オプション扱いとなる10ヶ国の言語をサポートしているケースを想定する。そして、個々のサブプレイアイテムによって参照されているクリップファイルが10Mバイトのデータサイズをもつものとすると、一個のプレイアイテムの再生を開始するには、本編であるプレイアイテムによって参照されているAVクリップとは別に、“10ヶ国の言語×10Mバイト=100Mバイト”のファイルのダウンロードが完了しなければならない。この場合、クリップファイルのダウンロードを担うアプリケーションが、10個のサブプレイアイテムによって参照されている合計100Mバイトのクリップファイルのダウンロードを先に行い、プレイアイテムによって参照されているクリップファイルのダウンロードを後回しにすれば、ビットレートが制限されている状況下では、プレイアイテムによって参照されているクリップファイルの供給が遅れて、再生進行が遅れる恐れがある。
 これを避けるため、メインパスによって参照されているクリップファイルのダウンロードを先に行い、サブプレイアイテムによって参照されているクリップファイルのダウンロードを後回しにすると、ユーザが、サブプレイアイテムにて参照されているクリップファイル内のエレメンタリストリームを、再生対象として選択している場合、再生対象となるエレメンタリストリームをデコーダに供給することができず、字幕、音声、動画像の何れかが欠落したまま再生が進行する恐れがある。
 このように、多くのサブプレイアイテムが存在しているためダウンロードすべきクリップファイルが多くなると、これらのうち、何を優先してダウンロードすべきかという指針を、アプリケーションに与えることができなくなるので、ビットレートが制限されている状況下では、再生の途切れが顕著化したり、字幕、音声、動画像の何れかが欠落したまま再生が進行する恐れがある。
 加えてユーザは、ROMディスクからのストリーム読み出しであるか、ネットワークからのストリーム供給であるかを意識していないので、再生内容の一部が欠落した場合、再生装置が、故障しているかのように勘違いして、メーカーの相談窓口に、商品苦情を訴え出る可能性がある。サブプレイアイテムを構成するようなクリップファイルのダウンロード手続きは、再生装置における組込みプログラムではなく、映画作品の制作者が作成したアプリケーションプログラムによってなされることが一般的である。映画作品の制作者が作成したアプリケーションプログラムが、たまたまサブプレイアイテムを構成するクリップファイルのダウンロードを優先したために、メーカーが上述したような苦情にまきこまれるのは、メーカーにとって望ましいことではない。
 本発明の目的は、多くのサブプレイアイテムが存在しているためダウンロードすべきクリップファイルが多く存在する場合、これらのうち、何を優先してダウンロードすべきかという指針を、アプリケーションに与えることができる再生装置を提供することである。  
 上記課題を解決するため、本発明にかかる再生装置は、プレイリストを再生する再生装置であって、プレイリストは、複数のプレイアイテムと、複数のサブプレイアイテムとを含み、前記プレイアイテムは、メインストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を規定する情報であり、前記サブプレイアイテムは、サブストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を、プレイアイテムと同期すべき再生区間として規定する情報であり、前記サブプレイアイテムが参照するクリップファイルは、伝送路を介して伝送されるクリップファイルであり、サブストリームは、プレイアイテムが参照しているクリップファイルとは多重化されておらず、プレイリストに含まれるプレイアイテムを再生する再生手段と、複数のプレイアイテムのうち、再生対象になっているものをカレントプレイアイテムとして特定する特定手段と、カレントプレイアイテムが変化する度に、カレントプレイアイテムにとって最適なサブプレイアイテムをカレントサブプレイアイテムとして決定する決定手段と、前記カレントプレイアイテムと同期して再生すべきカレントサブストリームを指し示すサブストリームレジスタとを備え、前記カレントサブプレイアイテムとは、カレントプレイアイテムと同期すべき再生区間を規定するサブプレイアイテムであって、前記サブストリームレジスタが指し示すサブストリームの再生区間を規定するものであり、前記再生手段は、再生装置がアクセス可能な記録媒体に、カレントサブプレイアイテムによって参照されているクリップファイルが存在すればプレイアイテムの再生を進行し、カレントサブプレイアイテムによって参照されているクリップファイルが記録媒体において存在しないか又は認識不能な状態になっていれば、プレイアイテムの再生を停止することを特徴とする。
 上記再生装置によれば、カレントサブプレイアイテムによって参照されているクリップファイルであって、カレントサブストリームを含むものが記録媒体に存在しない場合、一律に再生停止されることになる。
 言い換えれば、カレントサブプレイアイテム情報によって参照されているクリップファイルであって、カレントサブストリームを含むものさえ記録媒体に揃っていれば、再生進行を継続することができるので、優先的にダウンロードを行うべきクリップファイルは、メインストリームを含むクリップファイル、及び、カレントサブプレイアイテム情報によって参照されているクリップファイルであって、カレントサブストリームを含むクリップファイルになる。
 よってアプリケーションが、これらのクリップファイルを優先的にダウンロードして、その他のサブプレイアイテムから参照されるクリップファイルのダウンロードを後回しにすれば、ROMディスクと比較して、充分なビットレートを確保することができでなくても、サブプレイアイテムを多く含むようなプレイリストの再生を継続することができる。
 サブプレイアイテムが多く存在したとしても、これらのうち、カレントサブプレイアイテム情報によって参照されているクリップファイルであって、カレントサブストリームを含むものさえ揃っていれば、再生を継続することができるため、何を優先してダウンロードすべきかという指針を、アプリケーションに与えることができる。よってアプリケーションは、“あるプレイアイテムの再生がなされている期間に、次にカレントサブプレイアイテム情報になるべきサブプレイアイテムによって参照されているクリップファイルをダウンロードする”とのルールで、ダウンロードを行えば、たとえサブプレイアイテムが多く存在していて、ビットレートが制限されていたとしても、再生を継続させることができる。ダウンロードを行うべきクリップファイルの優先順序を律することができるので、字幕、音声、動画像の何れかが欠落したまま再生が進行する恐れがなくなり、またストリーム供給が遅れることによる再生進行の途切れを最小限に留めることができる。
 更に詳しくいうと、上記ルールでダウンロードを行う場合、クリップファイルのダウンロードに必要なビットレートBは、以下の計算で示されるものとなる。

 ビットレートB=
 (ネクストプレイアイテムに対応するクリップファイルのデータサイズ+ネクストサブプレイアイテムに対応するクリップファイルのデータサイズ)
            /カレントプレイアイテムの再生時間
 ここで、
 「ネクストプレイアイテム」は、プレイアイテムの次に再生されるべきプレイアイテムであり、「ネクストサブプレイアイテム」は、カレントサブプレイアイテム情報の次に再生されるべきサブプレイアイテムを規定するサブプレイアイテムである。

 ダウンロードに必要となるビットレートは、上述したような値で足りるので、ビットレートが制限されていても、再生の中断を必要最低限にすることができる。
 また、カレントサブプレイアイテム情報によって参照されるクリップファイルが認識できない状態であれば、再生進行を停止させるとの処理を行えば、ROMディスクからのストリーム供給であるか、ダウンロードによるストリーム供給であるかをユーザに意識させることはなくなる。サブプレイアイテムによる再生が欠落した状況で、再生内容がどのようになるかを検証する必要はなくなり、オーサリング時の負担も軽減する。
 再生装置は、再生に必要最低限のクリップファイルのダウンロードだけをダウンロードして再生できるため、ユーザは不必要にクリップファイルのダウンロードを待つことなく、プレイリストの再生を継続できる。
再生装置101の、使用行為についての形態の一例を示す図である。 プレイリストの一例を示す図である。 動作例の題材となるプレイリストの一例を示す図である。 図3に示したプレイリストが、どのようにして再生されるかを示す。 再生装置101の構成の一例を示す図である。 システムパラメータ(SPRM)の一覧である。 ストリーミングライクな再生機能を模式的に示す図である。 サブプレイアイテムを伴う場合のストリーミングライクな再生進行の一例を示す図である。 再生位置がプレイアイテム#2に到達しようとしている状態の一例を示す図である。 字幕切替えがユーザによって要求されたため、現在の再生時点が、サブパス(ID=#0)の10003.m2tsを参照しているサブプレイアイテム#3から、サブパス(ID=#1)の20003.m2tsを参照しているサブプレイアイテム#3に変化した場合を想定した図である。 チャプタージャンプがあったため、プレイアイテム#3がカレントプレイアイテムになり、サブプレイアイテム#3がカレントサブプレイアイテム情報になったことを想定した図である。 BD-Jアプリケーションの処理手順を示すフローチャートである。 AVクリップダウンロードの処理手順を示すフローチャートである。 プレイリスト再生処理の処理手順を示すフローチャートである。 カレントサブプレイアイテムの決定手順を示すフローチャートである。 プログレッシブ属性AVクリップ制御の処理手順を示すフローチャートである。 再生停止リカバリー処理の処理手順を示すフローチャートである。 カレントプレイアイテムがプレイアイテム#1であり、カレントサブプレイアイテム情報がサブパス(ID=1)のサブプレイアイテム#1である場合に、ダウンロードを要求すべきクリップファイルを示す。 カレントプレイアイテムがプレイアイテム#2であり、カレントサブプレイアイテム情報がサブパス(ID=1)のサブプレイアイテム#2である場合に、ダウンロードを要求すべきクリップファイルを示す。 カレントプレイアイテムがプレイアイテム#3であり、カレントサブプレイアイテム情報がサブパス(ID=1)のサブプレイアイテム#3である場合に、ダウンロードを要求すべきクリップファイルを示す。 AVクリップの構成の一例を示す図である。 AVクリップがどのように多重化されるかを模式的に示す図である。 PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示している。 AVクリップに最終的に書き込まれるTSパケットの形式を示した図である。 PMTのデータ構造を詳しく説明する図である。 クリップ情報ファイルの一例を示す図である。 ストリーム属性情報の一例を示す図である。 エントリマップの一例を示す図である。 システムターゲットデコーダ13の内部構成の一例を示す図である。 プレイリスト情報のデータ構造の一例を示す図である。 サブパス情報の内部構成をクローズアップして示す図である。 STN_tableの全体構成の一例を示す図である。 図32に示したSTN_tableの全体構成のうち、セカンダリビデオストリームについてのstream_entryの一例を示す図である。 (a)プライマリビデオストリームにおけるStream_entry及びStream_attributeの一例を示す図である。
 (b)セカンダリビデオストリームにおけるStream_entryを示す。
(a)PSR14のビットアサインの一例を示す図である。
 (b)PSR29のビットアサインの一例を示す図である。
再生制御エンジンの内部構成の一例を示す図である。 カレントセカンダリビデオストリームを決定するための処理手順を示すフローチャートである。 カレントプレイアイテムについて最適なカレントセカンダリビデオストリームを決定する処理手順を示すフローチャートである。 継時型ステレオゴーグルの一例を示す図である。 立体視のためのプライマリビデオストリーム、セカンダリビデオストリームの内部構成の一例を示す図である。 システムターゲットデコーダ13の内部構成の一例を示す図である。 Primary_audio_stream_entry、Secondary_audio_stream_entryの内部構成と、Comb_info_Secondary_video_Secondary_audioの内部構成との一例を示す図である。 (a)PSR1のビットアサインの一例を示す図である。
 (b)PSR14のビットアサインの一例を示す図である。
カレントプレイアイテム変化時におけるカレントプライマリオーディオストリーム決定手順を示すフローチャートである。 セカンダリオーディオストリームのストリーム選択プロシージャの処理手順を示すフローチャートである。 カレントプレイアイテムについて最適なカレントセカンダリオーディオストリームを選択する手順を示すフローチャートである。 STN_tableのうち、PGtestSTストリームに特に関連あるものを抜き出して描いた図である。 (a)カレントPGtestSTストリームのストリーム番号が取りうる数値範囲の一例を示す図である。
 (b)PSR2のビットアサインの一例を示す図である。
カレントプレイアイテム変化時におけるカレントPGtestSTストリームの決定手順を示すフローチャートである。 カレントプレイアイテムについて最適なカレントPGTextSTストリームを選択する処理手順を示すフローチャートである。 BD-ROMの構成の一例を示す図である。 インデックスファイルの内部構成の一例を示す図である。 ローカルストレージ103に格納されるアップデートキットの内部構成の一例を示す図である。 マージ管理情報ファイルの内容と、その内容を元にBD-ROMのファイルとアップデートキットのファイルとから、仮想パッケージを構築する過程の一例を示す図である。 オーサリングシステムの一例を示す図である。 ROMディスクイメージ、アップデートキットイメージの作成方法について説明する図である。
符号の説明
 100 BD-ROM
 102 WWWサーバ
 103 ローカルストレージ
 104 テレビ
 以下、上記課題解決手段を具備した再生装置及び記録装置の実施の形態について、図面を参照しながら説明する。
 (第1実施形態)
 以降、上記再生装置及び記録装置の実施形態について説明する。先ず始めに、再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、再生装置101の、使用行為についての形態の一例を示す図である。本図に示すように、再生装置101は、第1記録媒体の一例であるBD-ROM100、WWWサーバ102、ローカルストレージ103、テレビ104と共にユーザによる使用に供される。
 BD-ROM100は、映画作品が記録された記録媒体である。
 再生装置101は、テレビ103と共に、ホームシアターシステムを構築して、BD-ROM100を再生する。かかる記録装置は、記録媒体に対してデータをダウンロードを書き込む機能を有したものであり、記録装置としての機能を兼備している。
 WWWサーバ102は、映画配給者の公式サイトを運営するサーバ装置であり、BD-ROM100に記録された映画作品の部分的な置き換えや追加を実現するファイル一式(アップデートキット)を、インターネット等を介してユーザに供給する。
 ローカルストレージ103は、再生装置に装填され、映画配給者のWWWサーバ102から配信されたコンテンツの受け皿として利用される。そのため、ネットを通じてダウンロードされ、ローカルストレージに格納されたコンテンツと、BD-ROM100に記録されたコンテンツとを組み合わせて、BD-ROM100のコンテンツを拡張/更新をすることができる。
 テレビ104は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
 以上が再生装置の使用形態についての説明である。続いて再生装置が再生の対象としている、プレイリストについて説明する。
 図2は、プレイリストの一例を示す図である。プレイリストは、「メインパス」、1つ以上の「サブパス」から構成される。
 「メインパス」は、1つ以上のプレイアイテムから構成される。
 「サブパス」は、メインパスと一緒に再生される一連の再生経路を示し、プレイリストに登録される順にID(サブパスID)が振られる。サブパスIDは、サブパスを識別するために使われる。サブパスには、メインパスの再生に同期して再生される同期型、メインパスの再生に非同期で再生可能な非同期型があり、そのタイプはサブパスタイプに記される。サブプレイアイテムは、1つ以上のサブプレイアイテム情報から構成される。サブパスタイプが同期型の場合は、サブプレイアイテムの再生開始と再生終了時刻は、メインパスと同じ時間軸で表されるが、サブパスタイプが非同期型の場合は、サブプレイアイテムの再生開始時刻と再生終了時刻は、メインパスと違う時間軸で表される。
 また「プレイアイテム」は、ストリーム番号テーブルを含む。ストリーム番号テーブルは、プレイアイテムにおいて再生が許可されているエレメンタリストリームのストリーム番号を示す情報である。プレイリスト情報、プレイアイテム情報、サブプレイアイテム情報、ストリーム番号テーブルの詳細については、後の実施形態に説明の場を譲る。
 以降の動作例の説明では、以下のようなプレイリストを題材として選らぶ。
 図3は、動作例の題材となるプレイリストの一例を示す図である。
 題材となるプレイリストは、1つのメインパスと、2つのサブパス(サブパス(ID=0),サブパス(ID=1))から構成される。メインパスは、5つのプレイアイテム#1,#2,#3,#4,#5を含み、ID=0のサブパスは、5つのサブプレイアイテム#1,#2,#3,#4,#5を含む。ID=1のサブパスは、5つのサブプレイアイテム#1,#2,#3,#4,#5を含む。
 どちらのサブパスも同期型で、それぞれ別々の言語の字幕データであるプレゼンテーショングラフィックスストリームが多重化されたAVクリップを参照している。プレイリストから利用されるAVクリップはすべてローカルストレージに格納されたアップデートキットのコンテンツであり、プログレッシブ属性が付与されている。プログレッシブ属性とは、プレイリスト再生にあたって、予めローカルストレージに格納されていることは必要ではなく、当該AVクリップを参照しているサブプレイアイテムが、カレントサブプレイアイテム情報になる直前に、ローカルストレージに格納されていれば足りるというAVクリップの属性のことである。
 5つのプレイアイテム#1,#2,#3,#4,#5は、それぞれ00001.m2ts、00002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsを参照している。
 ID=0のサブパスにおけるサブプレイアイテム#1,#2,#3,#4,#5は、それぞれ10001.m2ts、10002.m2ts、10003.m2ts、10004.m2ts、10005.m2tsを参照している。
 ID=1のサブパスにおけるサブプレイアイテム#1,#2,#3,#4,#5は、それぞれ20001.m2ts、20002.m2ts、20003.m2ts、20004.m2ts、20005.m2tsを参照している。
 メインパスの各プレイアイテムは、図中右上のようなストリーム番号テーブルを有する。このストリーム番号テーブルは、ストリーム番号1,2,3が割り当てられた3つのエントリーをもつ。これら3つのエントリーは、メインパスのプレイアイテム情報によって参照されるプライマリビデオストリーム、サブプレイアイテム(サブパスID=0)によって参照されるAVクリップに包含されているプレゼンテーショングラフィクスストリーム(PG#1)、サブプレイアイテム(サブパスID=1)によって参照されるAVクリップに包含されているプレゼンテーショングラフィクスストリーム(PG#2)の再生を許可するものである。
 カレントとなる字幕ストリーム番号が“2”であるとき、該当するストリームエントリはサブパスID=0で示されるPG#1であるため、プレイアイテムの再生と同期して、サブパスID=0のPG#1が再生される。
 図4は、図3に示したプレイリストが、どのようにして再生されるかを示す。本図における右側は、WWWサーバ102を示し、左側は、再生装置101を示す。真ん中は、インターネット、イントラネット等の伝送路を示す。図3における00001.m2ts、00002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsは、テレビ103に存在する。これらのAVクリップのうち、00001.m2ts、10001.m2tsは、WWWサーバ102に対してダウンロード要求を送信することで、WWWサーバ102から再生装置101へと伝送されていることがわかる。
 サーバ装置のデータベースにおいて、AVクリップは、00001.m2ts、00002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsというファイル名とは異なるファイル名のファイルに格納されて管理される。これは、仮想パッケージ構築の対象となるファイルは、マニフェストファイルによって別名でアクセスされることが可能だからである。
 以下、再生装置101が、プレイリスト再生、ダウンロード要求及びダウンロードを行うための構成要素について説明する。これらの処理のための構成要素には、BD-Jアプリケーションと、BD-Jオブジェクトとがある。以下、これらの構成要素について説明する。
 <BD-Jアプリケーション>
 「BD-Jアプリケーション」とは、Java2Micro_Edition(J2ME) Personal Basis  Profile(PBP  1.0)と、Globally Excecutable  MHP specification(GEM1.0.2)for  package media  targetsとをフル実装したプラットフォーム部において、タイトルを生存区間としたアプリケーションシグナリングによって起動されるJava(TM)アプリケーションである。BD-Jアプリケーションは、プレイリスト情報を再生するJMFプレーヤインスタンスの生成をJava(TM)仮想マシンに命じることで、プレイリスト再生を開始させる。JMF(Java Media Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
 JMF A”BD://00001.mpls”;は、00001.mplsというファイルのプレイリストを再生するプレーヤインスタンスの生成をJava(TM)仮想マシンに命じるメソッドである。A.playは、JMFプレーヤインスタンスに再生を命じるメソッドである。かかるJMFプレーヤインスタンス生成は、JMFライブラリに基づきなされる。
 JMFインスタンスを生成した後、プレイリスト再生にあたって、必要となるAVクリップのダウンロードをWWWサーバ102に対して要求する。ダウンロードにあたって、WWWサーバ102上のAVクリップを取得するためのコネクションは java.netと呼ばれるJavaソフトウェアライブラリィのopenConnectionメソッドを使って、確立することができる。サーバ上のファイルのURLが、http://xxx.com/vp_data/00001.m2tsである場合におけるコネクション接続の用例を以下に示す。用例:new java.net.URL(http://xxx.com/vp_data/00001.m2ts.openConnection()
 上述したようなプレイリスト再生及びAVクリップダウンロードに先立ち、BD-Jアプリケーションは、GUIフレームワークを用いて、ユーザ操作を受け付ける。Java(TM)アプリケーションにおけるGUIフレームワークは、GEM1.0.2にて規定されたHAViフレームワークを含み、GEM1.0.2におけるリモートコントロールナビゲーション機構を含む。
 これにより、Java(TM)アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、上述したようなプレイリスト再生やAVクリップダウンロードを実現することができる。BD-Jアプリケーションを構成する一連のファイルは、Http://Java(TM).sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準じた、Java(TM)アーカイブファイルに変換される。Java(TM)アーカイブファイルは、ZIPファイルの形式を、Java(TM)に特化したものであり、市販されているZIP展開ソフトウェアにより中身を確認することができる。
 <BDJオブジェクト>
 BDJオブジェクトは、アプリケーション管理テーブル(ApplicationManagementTable())を含み、BD-ROM再生時において、タイトル切り替えに伴うアプリケーションシグナリングをプラットフォーム部に実行させるデータのことである。より具体的にいうと、ApplicationManagementTable()は、実行すべきBD-Jアプリケーションを示すapplication_idと、BD-Jアプリケーションを起動する際の制御を示すapplication_control_codeを含む。application_control_codeは、タイトル選択後におけるアプリケーションの最初の実行状態を規定しており、またapplication_control_codeは、BD-Jアプリケーションを仮想マシンにロードして自動開始するか(AUTOSTART)、BD-Jアプリケーションを仮想マシンにロードするが自動開始はしないか(PRESENT)を規定することができる。
 続いて、再生装置の内部構成について説明する。
 図5は、再生装置101の構成の一例を示す図である。再生装置101は、BD-ROMドライブ10、リードバッファ11、リードバッファ12、システムターゲットデコーダ13、BD-J実行部14、ネットワークインターフェイス15、仮想パッケージ制御部16、状態管理部17、ユーザイベント処理部18、再生エンジン19、再生制御エンジン20、HDMI送受信部21、ヒープメモリ22、仮想マシンインタプリタ23、PSRセット 24から構成されている。以降、これらの構成要素について説明する。
 <BD-ROMドライブ10>
 BD-ROMドライブ10は、BD-ROMディスクからデータを読み出し、リードバッファ11にデータを蓄える。
 <リードバッファ11>
 リードバッファ11は、BD-ROMドライブを使って読み込んだデータを一時的に格納するメモリ等で構成されたバッファである。
 <リードバッファ12>
 リードバッフ1ァ12は、ローカルストレージから読み込んだデータを一時的に格納するメモリ等で構成されたバッファである。
 <システムターゲットデコーダ13>
 システムターゲットデコーダ13は、リードバッファ11に読み出されたソースパケットやリードバッファ12に読み出されたソースパケットに対して多重分離処理を行い、各ストリームをデコードし再生する処理を行う。また、BD-J実行部14よりメニューなどに表示するためのJPEG,PNGなどのグラフィックスデータをデコードして再生する処理を行う。システムターゲットデコーダ13の詳細については後述する。
 <BD-J実行部14>
 BD-J実行部14は、仮想パッケージ制御部16から転送されるBD-Jアプリケーションを実行するプログラム処理エンジンである。BD-Jアプリケーションのプログラムに従った動作を行い次のような制御を行う。(1)仮想パッケージ制御部16に対してプレイリスト再生する。(2)インターネットなどのWWWサーバからアップデートキットのローカルストレージへ蓄積する。(3)BD-ROMとアップデートキットとを組み合わせて仮想パッケージの構築を命令する。(4)プレーヤ変数に値をセットする。(5)システムターゲットデコーダに対してメニューやゲームのグラフィックスのためのPNG・JPEGを転送して画面に表示する。これらはプログラムの作りに応じて自由に行うことができ、どのように制御するかは、オーサリング工程によるBD-Jアプリケーションのプログラミング工程によって決まる。
 <ネットワークインターフェイス15>
 ネットワークインターフェイス15は、再生装置における通信機能を実現するものであり、URL指定がBD-Jアプリケーションから与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードをJava(TM)アプリケーションに行わせる。
 <仮想パッケージ制御部16>
 仮想パッケージ制御部16は、BD-ROMドライブ10、ローカルストレージ103を制御して、仮想パッケージを構築し、プレーヤの再生を制御する機能を持つ。仮想パッケージとは、BD-ROMディスクに記録されたコンテンツと、ローカルストレージ103に格納された差分データと、ローカルストレージ103に格納されたマージ管理情報を元に、BD-ROM上のコンテンツとをメモリ上で組み合せた仮想的なBD-ROMパッケージである。構築された仮想パッケージは、BD-ROMのデータ構造と同じ形式を持つ。仮想パッケージを構築するタイミングは、ディスクがインサートされた時や、BD-J実行部14の仮想パッケージ構築命令が実行された時などがある。仮想パッケージ制御部16は、仮想パッケージが構築された後は、BD-J実行部の再生命令や、ユーザイベント処理部より通知に基づきプレイリスト情報を介してAVクリップの再生処理を制御する。また、仮想パッケージ制御部16は、プレーヤ変数の設定や参照を行い、再生動作を行う。
 <状態管理部17>
 状態管理部17は、BD-ROM又ローカルストレージに存在する個々のAVクリップが、Missing状態、Enable状態、Disable状態の何れであるかを管理し、プレイリストの再生を停止させるかどうかの制御を行う。
 Missing状態とは、プレイアイテム情報、サブプレイアイテム情報から参照されているAVクリップがBD-ROM又ローカルストレージに存在しない状態を意味する。
 Enable状態とは、仮想パッケージ制御部16での再生可能な状態を意味し、BD-JアプリケーションのAPIで制御される。Enable状態にセットするAPIが実行された場合、AVクリップはリードオンリー属性になり、仮想パッケージ制御部16でのAVクリップの再生が可能になる。
 Disable状態は、Enable状態の反対を意味し、仮想パッケージ制御部16は該当AVクリップの再生をすることができない。BD-JアプリケーションによりAVクリップに対してEnable状態に一度もセットされていない場合は、そのAVクリップはDisable状態である。もし、BD-Jアプリケーションが、Enable状態のAVクリップを削除や上書きなどをしたい場合は、Disable状態に一度APIを使って遷移して実行する。
 これらのうち、Missing状態になっているAVクリップ、Disable状態になっているAVクリップを併せてUnavailableクリップという。
 プレイリストの再生を停止させるかどうかの制御とは、カレントサブプレイアイテム情報が変化した場合、カレントサブプレイアイテム情報にて参照されているAVクリップがUnavailableクリップかどうかを判定して、Unavailableクリップであれば、DataStarvedイベントをJMFプレーヤインスタンス及び再生制御エンジンに通知して、JMFプレーヤインスタンス及び再生制御エンジンを再生状態からストップ状態に遷移させるというものである。
 <ユーザイベント処理部18>
 ユーザイベント処理部18は、リモコンを通じたユーザ操作に応答して、BD-J実行部14や仮想パッケージ制御部16に処理の実行を依頼する。例えば、リモコンでボタンを押した場合は、そのボタンに含まれるコマンドを実行するようBD-J実行部14に依頼する。例えば、リモコンで早送り・巻戻しボタンが押された場合には、仮想パッケージ制御部16に、現在再生しているプレイリストのAVクリップに対する早送り・巻戻し処理の実行を命令する。
 <再生エンジン19>
 再生エンジン19は、AV再生ファンクションを実行する。再生装置のAV再生ファンクションとは、DVDプレーヤ、CDプレーヤから踏襲した伝統的な機能群であり、再生開始(Play)、再生停止(Stop)、一時停止(PauseOn)、一時停止の解除(Pause Off)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(BackwardPlay(speed))、音声切り換え(Audio Change)、Secondaryビデオ切り換え(Subtitle Change)、アングル切り換え(AngleChange)といった機能である。AV再生ファンクションを実現するべく、再生エンジン19は、AVクリップのうち、所望に時刻にあたる部分のデコードを行うよう、システムターゲットデコーダを制御する。
 <再生制御エンジン20>
 再生制御エンジン20は、プレイリストに対する再生制御ファンクションを実行する。プレイリストに対する再生制御ファンクションとは、再生エンジン19が行うAV再生ファンクションのうち、再生開始や再生停止を、カレントプレイリスト情報及びクリップ情報に従って行わせることをいう。
 <HDMI送受信部21>
 HDMI送受信部21は、HDMI(HDMI:High Definition Multimedia Interface)を介して接続された他の機器から、その機器に関する情報を受信とすると共に、システムターゲットデコーダのデコードにより得られたデジタル非圧縮のビデオを、LPCMや圧縮されたオーディオデータと共に、HDMIを介して接続された他の機器に送信する。
 <ヒープメモリ22>
 ヒープメモリ22は、BD-J実行部14のために確保されるスタックメモリであり、BD-Jアプリケーションによって生成されたJMFプレーヤインスタンスや、BD-Jアプリケーションに対してクラスローダを行うことで生成されるバイトコードが格納される。これらは、スレッドの態様をなし、先入先出し式に、仮想マシンインタプリタ23による実行に供される。
 <仮想マシンインタプリタ23>
 仮想マシンインタプリタ23は、ヒープメモリ22に格納されたバイトコードをCPUが実行可能なネィティブコードに変換してCPUに実行させる。

 <PSRセット 24>
 PSRセット 24は、プレーヤ変数を格納しているプレーヤセッティングレジスタ、プレーヤステータスレジスタである。プレーヤ変数は、プレーヤの状態を示すシステムパラメータ(SPRM)と一般用途として使用可能なゼネラルパラメータ(GPRM)とがある。
 図6はシステムパラメータ(SPRM)の一覧である。
  SPRM(0)   : 言語コード
  SPRM(1)   : Primaryオーディオストリーム番号
  SPRM(2)   : 字幕ストリーム番号
  SPRM(3)   : アングル番号
  SPRM(4)   : タイトル番号
  SPRM(5)   : チャプタ番号
  SPRM(6)   : プログラム番号
  SPRM(7)   : セル番号
  SPRM(8)   : 選択キー情報
  SPRM(9)   : ナビゲーションタイマー
  SPRM(10)  : 再生時刻情報
  SPRM(11)  : カラオケ用ミキシングモード
  SPRM(12)  : パレンタル用国情報
  SPRM(13)  : パレンタルレベル
  SPRM(14)  : プレーヤ設定値(ビデオ)
  SPRM(15)  : プレーヤ設定値(オーディオ)
  SPRM(16)  : 音声ストリーム用言語コード
  SPRM(17)  : 音声ストリーム用言語コード(拡張)
  SPRM(18)  : 字幕ストリーム用言語コード
  SPRM(19)  : 字幕ストリーム用言語コード(拡張)
  SPRM(20)  : プレーヤリージョンコード
  SPRM(21)  : Secondaryビデオストリーム番号
  SPRM(22)  : Secondaryオーディオストリーム番号
  SPRM(23)  : 再生状態
  SPRM(24)  : 予備
  SPRM(25)  : 予備
  SPRM(26)  : 予備
  SPRM(27)  : 予備
  SPRM(28)  : 予備
  SPRM(29)  : 予備
  SPRM(30)  : 予備
  SPRM(31)  : 予備
 SPRM(10)は、AVクリップに属する各ピクチャデータが表示される度に更新される。つまり再生装置が新たなピクチャデータを表示させれば、その新たなピクチャデータの表示時刻(PTS)を示す値にSPRM(10)は更新される。このSPRM(10)を参照すれば、現在の再生時点を知得することができる。
 SPRM(16)の音声ストリーム用言語コードやSPRM(18)の字幕ストリーム用言語コードは、プレーヤのOSDなどで設定できる項目であり、プレーヤのデフォルトの言語コードを示す。例えば、SPRM(16)の音声ストリーム用言語コードが英語であれば、プレイリストを再生する上で、プレイアイテムのストリーム選択テーブルの中から同じ言語コードを持つストリームエントリを探し出し、その音声ストリームを選択して再生するといった機能をBD-ROMディスクの中のBD-Jアプリケーションに入れることが出来る。これらのSPRMは、それぞれが32ビットの語長をもつレジスタに格納される。SPRMを特定する括弧書きの数値は、基本的には、対応するレジスタのレジスタ番号を意味する(但し、SPRM(21),SPRM(22)は、対応するレジスタのレジスタ番号を意味している訳ではない。)。
 <ストリーミングライクな再生機能>
 次に図7を用いながら、仮想パッケージを利用したストリーミングライクな再生機能における仮想パッケージ制御部16の再生遷移について説明する。図7は、ストリーミングライクな再生機能を模式的に示す図である。
 ストリーミングライクな再生機能とは、プレイアイテム情報又はサブプレイアイテム情報によって参照されているAVクリップであって、プログレッシブ属性が付与されているものを、当該プレイアイテム情報又はサブプレイアイテム情報が、カレントプレイアイテム又はカレントサブプレイアイテム情報になる直前にローカルストレージに格納するよう、再生動作とダウンロード動作とを並列に行うことをいう。
 図7上段は、プレイリストを示し、5つのプレイアイテムは、それぞれ、00001.m2ts、0002.m2ts、00003.m2ts、00004.m2ts、00005.m2tsを参照するが、これらはすべてローカルストレージに格納されたアップデートキットのコンテンツであり、プログレッシブ属性が付与されている。このうち、00001.m2ts、00002.m2tsは、すでにダウンロードが完了しており、BD-JアプリケーションによりEnable状態にセットされている。00003.m2ts、00004.m2ts、00005.m2tsはまだダウンロードがされていないか、あるいは、ダウンロードはされているがDisable状態であることを示す。仮想パッケージ制御部16は、プレイリストの先頭プレイアイテムから順に再生する場合、図7上段のとおり、再生位置がプレイアイテム#1、プレイアイテム#2に存在する場合は、再生が妨げられることはない。これらのプレイアイテムのプレイアイテム情報は、Enable状態であるAVクリップを参照しているからである。よって、プレイアイテム#3まで再生が進行する。
 図7中段は、図7上段からさらに再生位置が進んだ図を示し、再生位置がプレイアイテム#3に遷移する前に00003.m2tsのダウンロードが完了し、BD-JアプリケーションによりEnable状態にセットされたことを示す。よって、再生は、プレイアイテム#3まで進行する。
 図7下段は、図7中段からさらに再生位置が進んだ図を示し、再生位置がプレイアイテム#4に遷移した時に、参照する00004.m2tsがまだダウンロードがされていないか、Disable状態であることを示す。この場合、DataStarvedイベントが出力されることになる。BD-Jアプリケーションは、DataStarvedイベントを受け取った後は、00004.m2tsのダウンロードを完了させ、Enable状態に遷移させ、DataStarvedイベントを受け取った地点から再生開始するという制御などでリカバーを図る。
 以上のように、ストリーミングライクな再生では、次の再生位置にあるプレイアイテムのAVクリップが、前もってダウンロードされてEnable状態にセットされる限り、再生進行が妨げられることはない。
 図8は、サブプレイアイテムを伴う場合のストリーミングライクな再生進行の一例を示す図である。
 第3段目は、図3のプレイリストに、再生がどこまで進行を示したかを模式的に示す矢印を書き加えたものである。
 第1段目は、JMFプレーヤインスタンスの状態を示し、第2段目は、再生制御エンジンの状態を示す。第3段目は、題材となるプレイリストを示す。第1段目によると、JMFプレーヤインスタンスは、再生状態になっているが、DataStarvedイベントが出力されれば、ストップ状態になる。DataStarvedイベントとは、再生すべきデータが、欠乏していることを示すイベントであり、このDataStarvedイベントを受け取ったJMFプレーヤインスタンス及び再生制御エンジンは、ストップ状態に遷移することになる。JMFプレーヤインスタンス及び再生制御エンジンの動作を停止させるので、DataStarvedイベントは、“再生停止イベント”とも呼ばれる。
 第2段目によると、再生制御エンジンは、再生状態になっているが、DataStarvedイベントが出力されれば、JMFプレーヤインスタンスと共にストップ状態になる。即ちJMFプレーヤインスタンス及び再生制御エンジンは、DataStarvedイベントをトリガとして、再生状態からストップ状態に切り替わっていることがわかる。
 図8では、サブプレイアイテム(パスID=0)に属するサブプレイアイテム#1がカレントサブプレイアイテム情報になっているため、再生は、プレイアイテム#1,SubPlayItem#1まで進行する。プレイアイテム#2では、対応するサブプレイアイテム#2によって参照されている20002.m2tsがUnavailableクリップであるから、カレントサブプレイアイテムがサブプレイアイテム#2になると、DataStarvedイベントを出力して再生をストップせざるをえない。
 図9は、再生位置がプレイアイテム#2に到達しようとしている状態の一例を示す図である。本図の例では、現在の再生位置であるプレイアイテム#2に対応する、サブパスID=0のサブプレイアイテム#2はEnable状態のAVクリップを参照している。しかし、サブパスID=1のサブプレイアイテム#2は、まだダウンロードがされていないか、Disable状態のAVクリップを参照している。SPRM(2)が示すのは、サブパスID=0のサブプレイアイテム#2であるため、サブパスID=1のサブプレイアイテム#2のAVクリップがEnable状態になっていなくても、仮想パッケージ制御部16は再生を継続できる。
 20002.m2tsが、Unavailableクリップであっても、再生が妨げられないので、再生は、プレイアイテム#3まで進行する。プレイアイテム#4では、対応するサブプレイアイテム#4にて参照されている、10004.m2tsがUnavailableクリップになるから、カレントプレイアイテム情報がプレイアイテム#4になった時点で再生が中断する。
 以上のことから次のことがいえる。つまり、プレイアイテム#2の再生区間に対応するすべてのサブパス(ID=0,ID=1)のサブプレイアイテムから参照されるAVクリップをダウンロードしようとすると、ダウンロードの対象となるAVクリップは、10001.m2ts、10002.m2ts、10003.m2ts、10004.m2ts、10005.m2ts、20001.m2ts、20002.m2ts、20003.m2ts、20004.m2ts、20005.m2tsになるので、仮想パッケージ制御部16は、サブパスの数だけAVクリップのダウンロードを待たなければならない。その場合、サブパスの数が増えると、ユーザはプレイリストの再生を行う上で多くの時間を待たなければならなくなる。
 一方、上述したような動作では、サブプレイアイテムにおいては、Primaryオーディオストリーム番号SPRM(1)、字幕ストリーム番号SPRM(2)、Secondaryビデオストリーム番号SPRM(21)、Secondaryオーディオストリーム番号SPRM(22)によって指定されるストリームを含むAVクリップがすべてEnable状態であれば、他のサブパスのサブプレイアイテムのAVクリップがEnable状態になるまで待つことなく、再生を続行できるとする。こうすることによって、ユーザは不要なAVクリップのダウンロードを待たずにプレイリストの再生を継続できる。
 図10は、字幕切替えがユーザによって要求されたため、現在の再生時点が、サブパス(ID=#0)の10003.m2tsを参照しているサブプレイアイテム#3から、サブパス(ID=#1)の20003.m2tsを参照しているサブプレイアイテム#3に変化した場合を想定した図である。
 ユーザ操作などでSPRM(2)を3に変更した場合、再生する字幕はサブパスID=1のサブプレイアイテム#3になる。サブプレイアイテム#3が参照している20003.m2tsは、Unavailableクリップであるから、この切り替えと同時に、DataStarvedイベントが出力されることになる。以上のように、字幕切り替えが要求された場合、切り替え先の字幕ストリームを包含しているAVクリップがダウンロードされていないか、Disable状態であれば、仮想パッケージ制御部16は再生を停止し、DataStarvedイベントをBD-Jアプリケーションに通知する。
 図11は、チャプタージャンプがあったため、プレイアイテム#3がカレントプレイアイテムになり、サブプレイアイテム#3がカレントサブプレイアイテム情報になったことを想定した図である。サブプレイアイテム#3によって参照されている20003.m2tsは、Unavailableクリップであるため、DataStarvedイベントを発生し、再生をストップ状態させる。
 Unavailableクリップを参照しているサブプレイアイテムがカレントサブプレイアイテム情報になった際、再生がストップ状態するので、ダウンロードにあたっては、次のプレイアイテム及び次のサブプレイアイテムにて参照されているクリップファイルであって、再生対象となるカレントストリームを含むものを優先的にダウンロードすれば、再生を継続することができる。
 以上のように、チャプタジャンプなどの飛び込み再生では、Primaryオーディオストリーム番号SPRM(1)、字幕ストリーム番号SPRM(2)、Secondaryビデオストリーム番号SPRM(21)、Secondaryオーディオストリーム番号SPRM(22)のどれかのストリーム番号が、SubPlayItemに対応しており、そのサブプレイアイテムが、まだダウンロードがされていないか、Disable状態であるAVクリップを参照するときに、仮想パッケージ制御部16はDataStarvedイベントをBD-Jアプリケーションに通知することになる。このような仮想パッケージ制御部16の再生動作を定義することにより、同様に最小のAVクリップのダウンロードで再生を継続することができる。
 図12は、BD-Jアプリケーションの処理手順を示すフローチャートである。
 ステップS1において、ローディングされたBD-ROMに対応するアップデートキットを、ローカルストレージのBUDA(Biding Unit Data Area)ディレクトリにダウンロードする。ステップS2では、アップデートキット内のMissing状態を指定した仮想パッケージ構築要求を発行する。
 以降、ステップS3~ステップS8のループを実行する。このループは、プレイリストを選択してJMFプレーヤインスタンスをクリエイトし(ステップS3)、プレイリスト情報における先頭のプレイアイテムを、カレントプレイアイテムに設定し(ステップS4)、カレントプレイアイテムにおけるClip_Information_file_nameで指定されているAVクリップを選択して(ステップS5)、AVクリップをダウンロードし(ステップS6)、仮想マシン内で、以下の3つのスレッドを仮想マシン内に立てて、これらの処理を並列で実行する(ステップS7)という処理を繰り返すものである。
 (1).プレイリスト再生、
 (2).プログレッシブ属性AVクリップ制御
 (3).DataStarvedイベントリカバリー処理
 これらの3つの処理の実行が終了すれば、3つのスレッドを終了させ、ステップS3に戻る。
 図13は、AVクリップダウンロードの処理手順を示すフローチャートである。ステップS11において、WWW上のサーバー装置からBUDAディレクトリにAVクリップをダウンロードするようネットワークインターフェイスに指示し、ステップS12において、AVクリップをMissing状態からDisable状態に変更する。ステップS13においてダウンロードがなされるのを待ち、ダウンロードがなされれば、ステップS14においてベリファイを行って、正常であれば、ステップS15においてAVクリップをEnable状態にする。
 図14は、プレイリスト再生処理の処理手順を示すフローチャートである。ステップS21においてカレントサブプレイアイテム情報を決定して、ステップS22~ステップS24のループに移行する。ステップS22~ステップS24のループは、カレントプレイアイテムのClip_Information_file_nameで指定されているAVクリップはUnavailableクリップであるかどうかを判定し(ステップS22)、Unavailableクリップでなければ、AVクリップを構成するソースパケットのうち、カレントプレイアイテムのIn_TimeからOut_TimeまでのものをBD-ROMから読み出すという処理(ステップS23)、カレントサブプレイアイテム情報のClip_Information_file_nameで指定されているAVクリップがUnavailableクリップであるかどうかを判定して(ステップS24)、Unavailableクリップでなければ、AVクリップを構成するソースパケットのうち、カレントプレイアイテムのIn_TimeからOut_Timeまでのものをローカルストレージから読み出すという処理(ステップS25)、読み出されたソースパケットのうち、カレントプレイアイテムのSTN_tableで再生が許可されているものを、デコーダに出力するという処理(ステップS26)、カレントプレイアイテムが最後のプレイアイテムであるか否かを判定する処理(ステップS27)、カレントプレイアイテムを変更するという処理(ステップS28)を繰り返すものである。このループの終了条件は、プレイリスト内に、次のプレイアイテムがないと判定されることである(ステップS27でYes)。
 ステップS29において、カレントプレイアイテムのClip_Information_file_nameで指定されているAVクリップ、又は、カレントサブプレイアイテム情報のClip_Information_file_nameで指定されているAVクリップがUnavailableクリップであるなら、DataStarvedイベントを発生して、再生制御エンジン及びJMFプレーヤインスタンスのストップ状態にさせ、その後、再開を待つ(ステップS30)。
 図15は、カレントサブプレイアイテム情報の決定手順を示すフローチャートである。ステップS31において、プロシージャによってカレントプライマリオーディオストリームを決定して、SPRM(1)に設定し、ステップS32においてプロシージャによってカレントセカンダリオーディオストリームを決定して、SPRM(14)に設定する。ステップS33において、カレントセカンダリビデオストリームを決定して、SPRM(21)に設定し、ステップS34において、カレントPGテキスト字幕ストリームを決定して、SPRM(2)に設定する。
 そして、カレントプライマリオーディオストリーム、カレントセカンダリオーディオストリーム、カレントプライマリビデオストリーム、カレントPGテキスト字幕ストリームをClip_Information_file_nameで参照している全てのサブプレイアイテムを、カレントサブプレイアイテムに設定する。
 図16は、プログレッシブ属性AVクリップ制御の処理手順を示すフローチャートである。
 ステップS41において、カレントプレイアイテムの次のプレイアイテム(ネクストプレイアイテム)におけるClip_Information_file_nameで指定されているAVクリップを選択し、ステップS42において、ネクストプレイアイテムをSync_PlayItem_Idに記述しているサブプレイアイテム(ネクストサブプレイアイテム)を特定する。ステップS43において、ネクストサブプレイアイテムのClip_Information_file_nameで指定されているAVクリップであって、PSRにおけるカレントストリーム番号に対応するエレメンタリストリームを含むAVクリップを選択する。
 ステップS44では、選択されたAVクリップがローカルストレージに存在するかどうかを判定し、存在しなければ、ステップS45において選択されたAVクリップのダウンロードを行う。ステップS46では、削除すべきAVクリップの選択を行い、削除すべきAVクリップが存在するかどうかを判定する(ステップS47)。存在すれば、AVクリップの削除を行う(ステップS48)。ステップS49では、カレントプレイアイテム、カレントサブプレイアイテム情報が変化するのを待ち、変化すれば、プレイリストの再生が終了したかどうかを判定した上で、ステップS41に移行する(ステップS50)。
 図17は、再生停止リカバリー処理の処理手順を示すフローチャートである。ステップS61は、DataStarvedイベントを取得待ちを構成するループであり、DataStarvedイベントがなされれば、ステップS62は、ステップS62は、DataStarvedイベントを取得したAVクリップのダウンロードが完了するのを待つ事象完了待ちループである。ステップS63は、DataStarvedイベントを取得した再生位置からのプレイリスト再生を開始し、ステップS64では、プレイリストの再生が終了したか否かを判定する。
 次に、AVクリップにおけるカレントの再生位置と、ダウンロードの対象となるAVクリップとの関係を示す。
 図18は、カレントプレイアイテムがプレイアイテム#1であり、カレントサブプレイアイテム情報がサブパス(ID=1)のサブプレイアイテム#1である場合に、ダウンロードを要求すべきクリップファイルを示す。ローカルストレージでは、カレントプレイアイテムを構成する00001.m2ts、及び、カレントサブプレイアイテム情報を構成する20001.m2tsが、Enable状態になっている必要がある。この場合、ネクストプレイアイテムはプレイアイテム#2、ネクストサブプレイアイテムはサブプレイアイテム情報#2になるから、カレントプレイアイテム及びカレントサブプレイアイテム情報の再生中に、ダウンロードを要求すべきクリップファイルは、ネクストプレイアイテムを構成する00002.m2ts、及び、ネクストサブプレイアイテムを構成する20002.m2tsとなる。
 図19は、カレントプレイアイテムがプレイアイテム#2であり、カレントサブプレイアイテム情報がサブパス(ID=1)のサブプレイアイテム#2である場合に、ダウンロードを要求すべきクリップファイルを示す。ローカルストレージでは、カレントプレイアイテムを構成する00002.m2ts、及び、カレントサブプレイアイテム情報を構成する20002.m2tsが、Enable状態になっている必要がある。この場合、ネクストプレイアイテムはプレイアイテム#3、ネクストサブプレイアイテムはサブプレイアイテム情報#3になるから、カレントプレイアイテム及びカレントサブプレイアイテム情報の再生中に、ダウンロードを要求すべきクリップファイルは、ネクストプレイアイテムを構成する00003.m2ts、及び、ネクストサブプレイアイテムを構成する20003.m2tsとなる。
 図20は、カレントプレイアイテムがプレイアイテム#3であり、カレントサブプレイアイテム情報がサブパス(ID=1)のサブプレイアイテム#3である場合に、ダウンロードを要求すべきクリップファイルを示す。ローカルストレージでは、カレントプレイアイテムを構成する00003.m2ts、及び、カレントサブプレイアイテム情報を構成する20003.m2tsが、Enable状態になっている必要がある。この場合、ネクストプレイアイテムはプレイアイテム#4、ネクストサブプレイアイテムはサブプレイアイテム情報#4になるから、カレントプレイアイテム及びカレントサブプレイアイテム情報の再生中に、ダウンロードを要求すべきクリップファイルは、ネクストプレイアイテムを構成する00004.m2ts、及び、ネクストサブプレイアイテムを構成する20004.m2tsとなる。


 サブパスが同期型である場合、カレントサブプレイアイテム情報の再生時間長は、カレントプレイアイテムの再生時間長に等しいため、以上のダウンロードでは、カレントプレイアイテムの再生継続中に、ネクストプレイアイテム及びネクストサブプレイアイテムを構成するクリップファイルのダウンロードを実現すればよい。
 よってダウンロードに必要なビットレートBは、以下の計算で示されるものとなる。

 ビットレートB=
 ネクストプレイアイテムを構成するクリップファイルのデータサイズ+ネクストサブプレイアイテムを構成するクリップファイルのデータサイズ
            /カレントプレイアイテムの再生時間

 このように、カレントプレイアイテム及びカレントサブプレイアイテム情報の再生中に、ネクストプレイアイテムによって参照されるAVクリップと、ネクストサブプレイアイテムによって参照されるAVクリップとをダウンロードしておけば、必要最低限のAVクリップは、ローカルストレージに揃うので、DataStarvedイベントの発生によって再生進行が妨げられることはない。
 以上のように本実施の形態によれば、複数のサブパスから構成されるプレイリストを再生する上で、再生装置に内蔵されるどのストリームが選択されているかを示すプレーヤ変数を参照し、再生に必要でないAVクリップは、ダウンロードが完了していない状態でも再生を継続することができるようになり、効率的なストリーミングライクな再生を実現できる
 <備考>
 第1実施形態のうち、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。第1実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
  <プレイリスト再生の前処理>
 プレイリスト再生の前処理では、SPRM(16)の音声ストリーム用言語コードやSPRM(18)の字幕ストリーム用言語コードに記された言語コードを持つ音声ストリームや字幕ストリームを含むAVクリップを優先的にダウンロードするべきである。このような構成にすることによって、ユーザがプレイリスト再生で利用する可能性が高いAVクリップをダウンロード対象に選べることができる。
 <BD-ROMとの併用>
 メインパスがディスクに格納されている本編映像を示す場合には、現在の再生位置以降のサブプレイアイテムで利用される、
 現在のPrimaryオーディオストリーム番号SPRM(1)、
    字幕ストリーム番号SPRM(2)、
    Secondaryビデオストリーム番号SPRM(21)、
    Secondaryオーディオストリーム番号SPRM(22)が示すストリーム番号に対応するストリームを含むAVクリップ
 を逐次、現在の再生位置から近い順にシーケンシャルに決定することが望ましい。
 このようにすることで、本編映像を見る間ユーザは、字幕や音声を変えることはまれなので、ユーザに待ち時間を与えることなくプレイリストの再生を実現できる。
 <本編再生の中断防止>
 本編再生中に、字幕・音声・Secondaryビデオ・Secondaryオーディオのダウンロードが間に合わないため、DataStarvedイベントが発行されて、一時的に本編再生がストップしてしまうという状態を避けるためには、次のような処理をBD-Jアプリケーションに用意しておく。それは、例えば現在のPrimaryオーディオストリーム番号SPRM(1)で、そのストリーム番号に対応するストリームを含むAVクリップがまだEnable状態になっていない場合は、そのAVクリップを含むサブプレイアイテムに到達する前に、BD-JアプリケーションがSPRM(1)を「何もストリームが選択されていない」という特殊値か、すでにEnable状態になっている、もしくはディスク上に存在するAVクリップのストリーム番号を決定するように書き換える(この場合、あらかじめこの状況を想定してダミーのコンテンツをディスク上に用意しておくとよい)。このような構成にすることによりBDーJアプリケーションはDataStarvedイベントを発行させない制御が可能となる。上記の処理は、日本語音声を英語音声に切り替えるようなユーザ操作によるストリーム切り替えに対しても同じことがいえる。ストリーム切り替えSPRM(1)の書き換えが実際に発生する前にBD-Jアプリケーションがそれを禁止することで本編再生の一時的な再生停止を防ぐことができる。
 (第2実施形態)
 AVクリップ(XXX.M2TS)とクリップ情報ファイル(XXX.CLPI)、システムターゲットデコーダについて説明する。
 <AVクリップの内部構成>
 AVクリップは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
 図21は、AVクリップの構成の一例を示す図である。本図に示すようにAVクリップは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラファイックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画のPrimaryビデオおよびSecondaryビデオを、オーディオストリームは、映画のPrimaryオーディオ部分とそのPrimaryオーディオとミキシングするSecondaryオーディオを、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここでPrimaryビデオとは画面に表示される通常の映像を示し、SecondaryビデオとはPrimaryビデオの中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。AVクリップに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画のSecondaryビデオに利用するビデオストリームには0x1B00から0x1B1Fまで、PrimaryオーディオとミキシングするSecondaryオーディオに利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
 <AVクリップにおける多重化>
 図22は、AVクリップがどのように多重化されるかを模式的に示す図である。まず、ビデオストリーム、及び、オーディオストリームを(第1段目)、それぞれPESパケット列に変換し(第2段目)、TSパケット列に変換する(第3段目)。同じくプレゼンテーショングラフィックスストリームおよびインタラクティブグラフィックス7(第7段目)を、それぞれPESパケット列に変換し(エレメンタリストリーム)、更にTSパケット列に変換する(第5段目)。AVクリップ(第4段目)はこれらのTSパケットを1本のストリームに多重化することで構成される。
 図23は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示している。本図における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。第3段目は、これらのPESパケット列を変換することで得られるTSパケット列を示す。本図の矢印yy1,yy2, yy3, yy4に示すように、ビデオストリームにおける複数のVideo  Presentation  UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
 <TSパケット列>
 図24は、AVクリップに最終的に書き込まれるTSパケットの形式を示している。第1段目は、TSパケット列を示し、第2段目は、ソースパケット列を示す。第3段目は、AVクリップを示す。
 第1段目に示すようにTSパケットは、ストリームを識別するPIDなどの情報を持つ4Byteの「TSヘッダ」とデータを格納する184Byteの「TSペイロード」に分かれる固定長のパケットであり、前述で説明したPESパケットは分割されTSペイロードに格納される。
 第2段目によると、TSパケットには、4ByteのTP_Extra_Headerが付与されて、192Byteのソースパケットに変換された状態で、AVクリップに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのPIDフィルタへの転送開始時刻を示す。AVクリップには、第3段目に示すようにソースパケットが並ぶこととなり、AVクリップの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
 AVクリップに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program  Association Table)、PMT(Program  Map Table)、PCR(Program  Clock Reference)などがある。PATはAVクリップ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPID配列で登録される。PMTは、AVクリップ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、またAVクリップに関する各種ディスクリプタを持つ。ディスクリプタにはAVクリップのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival  Time  Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
 図25はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記した「PMTヘッダ」が配置される。その後ろには、AVクリップに関する「ディスクリプタ」が配置される。前述したコピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、AVクリップに含まれる各ストリームに関する「ストリーム情報#1~#N」が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタはAVクリップに存在するストリームの数だけ存在する。 以上がAVクリップについての説明である。続いて、クリップ情報ファイルの詳細について説明する。
 <クリップ情報ファイル>
 図26は、クリップ情報ファイルの一例を示す図である。クリップ情報ファイルは、本図に示すようにAVクリップの管理情報であり、AVクリップと1対1に対応し、ストリーム属性情報とエントリマップから構成される。
 図27は、ストリーム属性情報の一例を示す図である。ストリーム属性情報は本図に示すように、AVクリップに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。
 「ビデオストリーム属性情報」は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。
 「オーディオストリーム属性情報」は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、再生機が再生する前のデコーダの初期化などに利用される。
 図28は、エントリマップの一例を示す図である。
 エントリマップは、本図に示すように、AVクリップ内に含まれるビデオストリームの各フレーム内符号化画像(以下Iピクチャと呼ぶ)の表示時刻を示すPTSと各Iピクチャが開始するAVクリップのSPNが記載されたテーブル情報である。
 ここではテーブルの1つの行で示される対となるPTSとSPNの情報をエントリポイントと呼ぶことにする。また先頭を0として各エントリポイント毎にインクリメントした値をエントリポイントID(以下EP_ID)と呼ぶことにする。このエントリマップを利用することにより、再生機はビデオストリームの時間軸上の任意の地点に対応するAVクリップのファイル位置を特定することが出来るようになる。例えば、早送り・巻戻しの特殊再生の際には、エントリマップに登録されるIピクチャを特定し選択して再生することによりAVクリップを解析することなく効率的に処理を行うことが出来る。また、エントリマップはAVクリップ内に多重化される各ビデオストリーム毎に作られ、PIDで管理される。
 以上がAVクリップ、クリップ情報ファイルについての説明である。続いて、システムターゲットデコーダ13の詳細について説明する。
 図29は、システムターゲットデコーダ13の内部構成の一例を示す図である。本図に示すように、システムターゲットデコーダ13は、ソースデパケットタイザ32a,bと、PIDフィルタ33a,bと、Primaryビデオデコーダ34と、Primaryビデオプレーン35と、Secondaryビデオデコーダ36と、Secondaryビデオプレーン37と、PGデコーダ38と、PGプレーン39と、IGデコーダ40と、IGプレーン41と、Primaryオーディオデコーダ42と、Secondaryオーディオデコーダ43と、音声ミキサー44と、BD-Jプロセッサ45と、BD-Jプレーン46と、加算部47とから構成される。
 ソースデパケットタイザ32a,bは、システムターゲットデコーダ13に転送されるソースパケットを解釈し、TSパケットを取り出しPIDフィルタに送出する。この送出にあたって、各ソースパケットのATSに応じてデコーダへの入力時刻を調整する。具体的には、ATCカウンタが生成するATCの値と、ソースパケットのATS値とが同一になった瞬間に、AVクリップの記録レートにしたがって、そのTSパケットだけをPIDフィルタに転送する。
 PIDフィルタ33a,bは、ソースデパケッタイザから出力されたTSパケットのうち、TSパケットのPIDが、再生に必要とされるPIDに一致するものを、PIDにしたがって、Primaryビデオデコーダ、Secondaryビデオデコーダ、IGデコーダ、PGデコーダ、音声デコーダ、Secondaryオーディオデコーダに転送する。例えば、BD-ROMの場合には、TSパケットに含まれるPIDが0x1011である場合はPrimaryビデオデコーダに、PIDが0x1B00から0x1B1Fである場合はSecondaryビデオデコーダ2505に、PIDが0x1100から0x111Fである場合はPrimaryオーディオデコーダに、PIDが0x1A00から0x1A1Fである場合はSecondaryオーディオデコーダに、PIDが0x1200から0x121Fである場合はPGデコーダ2507に、PIDが0x1400から0x141Fである場合はIGデコーダ2506に転送される。
 図28の通りソースデパケッタイザとPIDフィルタはそれぞれ二つもち、一つはリードバッファ11から転送されるAVクリップ、一つはリードバッファ12から転送されるAVクリップを処理する。サブパスタイプが同期型の場合は、メインパスから参照されるAVクリップとサブパスから参照されるAVクリップは同期を取りながら再生する。サブパスタイプが非同期型の場合は、メインパスから参照されるAVクリップとサブパスから参照されるAVクリップは非同期で再生する。
 Primaryビデオデコーダ34は、緩衝バッファを有し、バッファにデータを蓄えながら、TSヘッダ、PESヘッダなどの情報を取り除いて、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)を取り出し、ビデオストリームの個々のフレーム画像を所定の復号時刻(DTS)ごとにデコードすることにより複数フレーム画像を作成し、表示時刻(PTS)のタイミングでPrimaryビデオプレーン35に書き込む。AVクリップに多重化されるビデオストリームの圧縮符号化形式にはMPEG2、MPEG4AVC、VC1などがあるため、ストリームの属性に応じて、圧縮映像の復号化方式を切り替える。
 Primaryビデオプレーン35は、Primaryビデオデコーダ34によって得られたフレーム画像が格納される。
 Secondaryビデオデコーダ36は、Primaryビデオデコーダ35と同様の構成を持ち、入力されるSecondaryビデオストリームのデコードを行い、表示時刻(PTS)のタイミングでピクチャをSecondaryビデオプレーンに書き出す。
 Secondaryビデオプレーン37は、Secondaryビデオデコーダ36によって得られたフレーム画像が格納される。
 PGデコーダ38は、ソースパケタイザから入力されるTSパケットからプレゼンテーショングラフィックスストリームを抽出してデコードし、非圧縮のグラフィックスデータを表示時刻(PTS)のタイミングでPGプレーンに書き出す。
 PGプレーン39は、非圧縮のグラフィクスデータが格納される。
 IGデコーダ40は、ソースパケタイザから入力されるTSパケットからインタラクティブグラフィックスストリームを抽出してデコードし、非圧縮のグラフィックスデータを表示時刻(PTS)のタイミングでIGプレーンに書き出す。
 IGプレーン41には、非圧縮のグラフィクスデータが格納される。
 Primaryオーディオデコーダ42は、緩衝バッファを有し、バッファにデータを蓄えながら、TSヘッダ、PESヘッダなどの情報を取り除いて、音声ストリームデコード処理を行い、非圧縮のLPCM状態のオーディオデータを得て再生時刻(PTS)のタイミングで音声ミキサーに出力する。AVクリップに多重化されるオーディオストリームの圧縮符号化形式にはAC3、DTSなどがあるため、ストリームの属性に応じて、圧縮音声の復号化方式を切り替える。
 Secondaryオーディオデコーダ43は、Primaryオーディオデコーダと同様の構成を持ち、入力されるSecondaryオーディオストリームのデコードを行い、表示時刻のタイミングで非圧縮のLPCMの状態のオーディオデータを音声ミキサーに出力する。AVクリップに多重化されるオーディオストリームの圧縮符号化形式にはDolbyDigitalPlus、DTS-HD LBRなどがあるため、ストリームの属性に応じて、圧縮音声の復号化方式を切り替える。
 音声ミキサー44は、Primaryオーディオデコーダから出力される非圧縮音声データとSecondaryオーディオデコーダから出力される非圧縮音声データとをミキシング(音の重ね合わせ)をしてスピーカなどに出力する。
 BD-Jプロセッサ45は、BD-J実行部から転送されるPNG形式又はJPEG形式のグラフィクスデータをデコードして、BD-Jアプリケーションから指定される表示時刻にしたがって、BD-Jプレーンに出力する。
 BD-Jプレーン46には、BD-Jプロセッサ45によってデコードされたグラフィクスデータが格納される。
 加算部47は、Primaryビデオプレーン、Secondaryビデオプレーン、IGプレーン、PGプレーン、BD-Jプレーンに書かれたデータを瞬時に重畳し、TVなどの画面に表示する。
 以上のように本実施形態によれば、BD-ROMプレーヤモデルに準拠した内部構成を実現しすることにより、プレイリストの再生を実現することができる。
 (第3実施形態)
 本実施形態では、プレイリスト情報の詳細なデータ構造と、カレントセカンダリビデオストリームの決定の仕方とを述べる。
 図30は、プレイリスト情報のデータ構造を示す図であり、本図に示すようにプレイリスト情報は、MainPathを定義するMainPath情報(MainPath())と、Subpathを定義するサブパス情報(Subpath())とを含む。
 <プレイリスト情報の説明その1.サブパス情報>
 MainPathが、プライマリビデオたるMainClipに定義される再生経路であるのに対し、Subpathは、MainPathと同期すべきSubClipに対して定義される再生経路である。
 図31は、サブパス情報の内部構成をクローズアップして示す図である。本図における矢印hc0に示すように各Subpathは、サブパスの類型を示すSubPath_typeと、1つ以上のSubPlayItem情報(・・・SubPlayItem()・・・)とを含む。
 図中の引き出し線hc1は、SubPlayItem情報の構成をクローズアップしている。
 SubPlayItemは、メインパスから分離した、1以上のエレメンタリストリーム再生パスを定義し、当該パスをメインパスとどのように同期するかという類型を表現するのに使われる。SubPlayItemで使用されるのが、The Primary audio / PG / IG / Secondary audio / Secondary video のサブパスであるなら、これらのSubPlayItemは、PlayList中のPlayItemを使っているメインパスと同期することになる。このエレメンタリストリーム再生のためのサブパスによって使われるエレメンタリストリームは、MainPath側のPlayItemによって使われるMainClipから分離したClip、つまりSubClipに多重化される。
 以降、SubPlayItemの内部構成について説明する。SubPlayItem情報は、図中の矢印hc1に示すように『Clip_information_file_name』、『Clip_codec_identifier』、『ref_to_STC_id[0]』、『SubPlayItem_In_time』、『SubPlayItem_Out_time』、『sync_PlayItem_id』、『sync_start_PTS_of_PlayItem』からなる。
 『Clip_information_file_name』は、クリップ情報のファイル名を記述することにより、SubPlayItemに対応するSubClipを一意に指定する情報である。
 『Clip_codec_identifier』は、AVクリップの符号化方式を示す。
 『ref_to_STC_id[0]』は、このSubPlayItemが対象としているSTC_Sequenceを一意に示す。
 『SubPlayItem_In_time』は、SubClipの再生時間軸上における、SubPlayItemの始点を示す情報である。
 『SubPlayItem_Out_time』は、SubClipの再生時間軸上における、SubPlayItemの終点を示す情報である。
 『sync_PlayItem_id』は、MainPathを構成するPlayItemのうち、本SubPlayItemが同期すべきものを一意に指定する情報である。SubPlayItem_In_timeは、このsync_PlayItem_idで指定されたPlay Itemの再生時間軸上に存在する。
 『sync_start_PTS_of_PlayItem』は、sync_PlayItem_idで指定されたPlay Itemの再生時間軸上において、SubPlayItem_In_timeで指定されたSubPlayItemの始点が、どこに存在するかを45KHzの時間精度で示す。あるSubPlayItemがセカンダリビデオストリーム上の再生区間を定義していて、そのSubPlayItemのsync_start_PTS_of_PlayItemが、PlayItem時間軸における一時点を示している場合、そのSubPlayItemは、“同期ピクチャインピクチャ”を実現することになる。
 また、このSync_Start_Pts_of_PlayItemには、不定値(0xFFF)を設定することもできる。この不定値は、Sync_PlayItem_Idにて指定されたPlayItemの時間軸において、ユーザによりロック操作がなされた時点を、Sync_PlayItem_Idにて指定されたPlayItemとの同期時点に定める旨を示す。sync_start_PTS_of_PlayItemが不定値に設定されており、尚且つSubPlayItemが、セカンダリビデオストリームの再生を意図している場合、かかるSubPlayItemは、“非同期ピクチャインピクチャ”を実現することになる。
 以上が、SubPath情報についての説明である。
 <STN_table>
 プレイリスト情報において特徴的であるのは、STN_Tableである。
 STN_tableは、PlayItem情報のClip_Information_file_nameで指定されているAVクリップに多重化された複数エレメンタリストリーム、SubPlayItem情報のClip_Information_file_nameで指定されているOut_of_MUXストリームのうち、再生可能なものを示すテーブルである。具体的にいうとSTN_tableは、MainClipに多重化されている複数In_MUXストリーム、SubClipに多重化されているOut_of_MUXストリームのそれぞれについてのStream_entryを、Stream_attributeと対応付けることで構成される。
 図32は、STN_tableの全体構成の一例を示す図である。図33は、図32に示したSTN_tableの全体構成のうち、セカンダリビデオストリームについてのstream_entryの一例を示す図である。本図に示すようにSTN_tableは、n個のSecondary_video_stream_entry「Secondary_video_stream_entry[1]~Secondary_video_stream_entry[n]」と、セカンダリビデオストリームの個数「number_of_Secondary_video_stream_entries(=n)」とから構成される。
 引き出し線hs1は、Secondary_video_stream_entry[1]の内部構成をクローズアップして示している。つまり、Secondary_video_stream_entry[1]~Secondary_video_stream_entry[n]は、同一のクラス構造体から生成した複数のインスタンスであり、その内部構成は、どれも、この引き出し線hs1に示すものと同じになる。そして、Secondary_video_stream_entryにおける括弧書き[]の中の数値は、Secondary_video_stream_entryが、STN_tableにおいて何番目に位置するかという、Secondary_video_stream_entryの順位を示す。
 引き出し線hs1に示すように、Secondary_video_stream_entry[1]は、Secondary Video  Stream Number=1に対応するPIDを再生装置に提示する「Stream_entry」と、Secondary Video  Stream Number=1に対応するビデオ属性を示す「Stream_attribute」と、econdary Video Stream Number=1の設定時にて、再生可能となるセカンダリオーディオストリームを示す「Comb_info_Secondary_Video_Secondary_Audio」と、Secondary Video Stream Number=1の設定時にて、再生可能となるPGストリーム又はテキスト字幕ストリームを示す「Comb_info_Secondary_Video_PiP_PG_textST()」とからなる。
 引き出し線hs2に示すように、Secondary_video_stream_entry[2]は、Secondary Video  Stream Number=2に対応するPIDを再生装置に提示する「Stream_entry」と、Secondary Video  Stream Number=2に対応するビデオ属性を示す「Stream_attribute」と、Secondary Video Stream Number=2の設定時にて、再生可能となるセカンダリオーディオストリームを示す「Comb_info_Secondary_Video_Secondary_Audio」と、Secondary Video Stream Number=2の設定時にて、再生可能となるPGストリーム又はテキスト字幕ストリームを示す「Comb_info_Secondary_Video_PiP_PG_textST()」とからなる。
 引出線hs3についても同様である。以上のように、STN_tableにおいてx番目に位置するsecondary_video_stream_entry[x]は、セカンダリビデオストリーム番号がxに設定された際、そのxに対応するセカンダリビデオストリームのPIDは何か、そのセカンダリビデオストリームのビデオ属性はどのようなものか、どのようなセカンダリオーディオストリーム、PGTextSTストリームと組合せ可能であるかを再生装置に指示する。
 字幕を表すストリームには、これまでの実施形態で述べたプレゼンテーショングラフィクスストリームの他に、テキストコードによって表現されたテキスト字幕ストリームがある。ここでのPGテキスト字幕ストリームとは、プレゼンテーショングラフィクスストリームと、テキスト字幕ストリームとを併せた呼び名である。また、ピクチャインピクチャに使用されるPGテキスト字幕ストリームをPiP_PG_テキスト字幕ストリームと呼ぶ。
 図34(a)は、プライマリビデオストリームにおけるStream_entry及びStream_attributの一例を示す図である。Stream_entryは、プライマリビデオストリームを構成するPESパケットの、パケット識別子を示す『ref_to_stream_PID_of_mainClip』を含む。
 Stream_attributeは、ビデオストリームの表示方式を示す『Video_format』と、ビデオストリームの表示周波数を示す『frame_rate』を含む。
 図34(b)は、セカンダリビデオストリームにおけるStream_entryを示す。本図に示すように、SecondaryビデオストリームのStream_entryは、Secondaryビデオストリームを参照しているSubPath情報を示す『ref_to_Sub_Path_id』、Secondaryビデオストリームを構成するPESパケットの、パケット識別子を示す『ref_to_stream_PID_of_mainClip』を含む。
 以上が、本実施形態における記録媒体の詳細についての説明である。
 以降、PSR1、PSR14、PSR31について説明する。PSRにおける語長は、32ビットである。PSRの一語(32ビット)を構成する各ビットデータのビット位置を、以降、b0~b31と呼ぶことにする。この呼び方では、PSRの最上位ビットはb31、最下位ビットはb0と呼ばれることになる。
  <PSR14>
 図35(a)は、PSR14のビットアサインの一例を示す図である。
 本図によると、32ビット長のPSR14におけるb8~b15は、セカンダリビデオストリームのストリーム番号であり、カレントPlay ItemのSTN_tableにentryが記述されている複数Secondaryビデオストリームのうち、1つを特定する。PSR14の設定値が変化すれば、再生装置はこの変化後のSecondaryビデオストリームを再生する。PSR14におけるセカンダリビデオストリームのストリーム番号は初期値として0xFFが設定されており、再生装置により1~32の値に設定されうる。この0xFFは、不定値であり、Secondaryビデオストリームが存在しない旨、又は、Secondaryビデオストリームが選択されてない旨を示す。1~32の設定値は、Secondaryビデオストリームのストリーム番号として解釈される。
 PSR14のb31は、disp_v_flagであり、セカンダリビデオを再生する能力が再生装置に存在するか(1b:Presentation of Secondary Video is enable)、セカンダリビデオを再生する能力が再生装置に存在しないか(0b:Presentation of Secondary Video is disable)を示す。
  <PSR29>
 図35(b)は、PSR29のビットアサインの一例を示す図である。
 PSR29のb0は、HD_Secondary_video_Capabilityであり、HDTV対応のセカンダリビデオを再生する能力が再生装置に存在するか(1b:HD Secondary Video is capable)、HDTV対応のカンダリビデオを再生する能力が再生装置に存在しないか(0b:HD Secondary Video is incapable)を示す。
 PSR29のb1は、50&25Hz_video_Capabilityであり、50&25Hzビデオ、つまりPAL方式のビデオを再生する能力が再生装置に存在するか(1b:50&25Hz Video is capable)、50&25Hzビデオを再生する能力が再生装置に存在しないか(0b:50&25Hz Video is incapable)を示す。
 以上が、PSRセット23についての説明である。
 図36は、再生制御エンジンの内部構成の一例を示す図である。本図に示すように、再生制御エンジン部は、Procedure実行部48、PID変換部49を含む。
 Procedure実行部48は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定のストリーム選択プロシージャを実行して、PSR14に新たなセカンダリビデオストリームのストリーム番号を書き込む。再生装置は、PSR14に書き込まれたストリーム番号に応じて、セカンダリビデオストリームを再生するので、かかるPSR14の設定を通じて、セカンダリビデオストリームが選択されることになる。
 PlayItem情報の切り換わり時に、ストリーム選択プロシージャを実行するのは、STN_TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったセカンダリビデオストリームが、別のPlayItem情報において再生不可能になることが有り得るからである。
 PID変換部49は、PSRセット23に格納されているストリーム番号を、STN_Tableに基づき、PID参照値に変換して、変換結果たるPID参照値をPID Filter33a、PID Filter33bに指示する。
 図37は、カレントセカンダリビデオストリームを選択するためのストリーム選択プロシージャの処理手順を示すフローチャートである。
 ステップS71では、PSR14に設定された番号のセカンダリビデオストリームが、以下の条件(A)、条件(B)を満たすか否かをチェックする。、
 条件(A):Video format,frame_rateと、HD Secondary Video Capabilityや50&25Hz Video Capabilityとの比較では、PSR14に格納された番号により定められるセカンダリビデオストリームの再生能力が再生装置に存在している。
 条件(B):セカンダリビデオストリームにおけるSubPath_Typeは、“=6(非同期ピクチャインピクチャ)”である
 ここで、Video format,frame_rateは、STN_tableにおいて、セカンダリビデオストリームについてのstream_attributeに記載されている。また、HD Secondary Video Capabilityや50&25Hz Video Capabilityの有無は、PSR29のb0,b1に示されている。これらSTN_tableによる設定と、PSR29のb1の値とを照合することで、条件(A)を具備しているかどうかの判断がなされる。
 ステップS71の実行後、ステップS72、ステップS73を実行する。
 ステップS72は、カレントプレイアイテムのSTN_tableにおけるセカンダリビデオストリームのSTN_tableにおけるStream_entryの個数が0であるか否かを判定する判定ステップである。ここでセカンダリビデオストリームのSTN_tableにおけるStream_entryの個数が0であることは、再生許可されているセカンダリビデオストリームが1つも存在しないことを意味する。もし0である場合、PSR14のセカンダリビデオストリーム番号を維持する(ステップS73)。カレントプレイアイテムにおいて、再生許可されているセカンダリビデオストリームが存在しない以上、PSR14の現状値を維持すべきだからである。
 ステップS74は、ステップS73が0でないと判定された場合、実行される判定ステップであり、PSR14に格納された番号XがSTN_tableにおけるstream_entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定する。このステップS74がYesと判定されたなら、カレントプレイアイテムについて最適なカレントセカンダリビデオストリームを選択する(ステップS75)。
 もしステップS74において、Noと判定されたなら、ステップS76の判定ステップを実行する。この判定ステップは、条件(B)を満たすかどうかを判定するものである。条件(B)を満たせば、ステップS78におけるPSR14に、OxFEを設定する。このOxFEは、PSR14におけるセカンダリビデオストリーム番号はValidだが、セカンダリビデオストリームは非選択であることを意味する値である。非同期ピクチャインピクチャの実行時において、かかる値をPSR14に設定しておけば、ユーザ操作があった際、カレントストリームの決定手順が実行されることになる。しかし、仮に、PSR14のストリーム番号がInvalidであれば、たとえユーザ操作がなされたとしても、カレントストリームの決定手順は実行されず、いつまでたっても、セカンダリビデオストリームが再生されないという事態に陥る。これを避けるため、非同期ピクチャインピクチャの実行時においては、PSR14にOxFEを設定することにしている。
 条件(B)は満たさないが、有効なセカンダリビデオストリーム番号が既にPSR14に存在するなら、これを変化させない(ステップS77)。
 以上が、セカンダリビデオストリームにおけるストリーム選択プロシージャについての説明である。
 図38は、カレントプレイアイテムについて最適なカレントセカンダリビデオストリームを選択する処理手順を示すフローチャートである。
 ステップS81~ステップS83では、以下の条件(a)、条件(b)が満たされているかのチェックを、STN_tableにおける全てのstream_entryに記述されているストリームに対して実行する。
 条件(a):セカンダリビデオストリームについてのVideo format、frame_rateと、HD Secondary Video Capabilityや50&25Hz Video Capabilityとの比較では、PSR14に格納された番号により定められるセカンダリビデオストリームの再生能力が再生装置に存在している。
 条件(b):セカンダリビデオストリームにおけるSubPath_Typeは、“=6(非同期ピクチャインピクチャ)”である
 以上のようなチェックが、STN_tableにおいて再生許可されている全てのセカンダリビデオストリームについてなされれば、ステップS84の判定ステップを実行する。
 ステップS84は、条件(a)を満たすセカンダリビデオストリームが1つも存在しないか否かの判定であり、もしそうであれば、0xFFFをセカンダリビデオストリームについてのストリーム番号としてPSR14に設定する(ステップS85)。
 もしセカンダリビデオストリームが1つでも存在するなら、ステップS84がYesになり、ステップS86が実行されることになる。ステップS86は、条件(a)を満たすセカンダリビデオストリームであって、STN_tableにおいて先頭順位になっているものは、条件(b)を満たすかどうかを判定する。もし条件(b)を満たすなら、ステップS87において0xFEとなるセカンダリビデオストリーム番号をPSRに設定する。
 条件(b)を満たさないなら、条件(a)を満たすセカンダリビデオストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したセカンダリビデオストリームのストリーム番号を、PSR14に設定する(ステップS88)。
 カレントセカンダリビデオストリームにおける再生区間がSubPlayItemによって規定されていれば、カレントセカンダリビデオストリームにおける再生区間を規定しているサブプレイアイテムをカレントサブプレイアイテムとして特定されることになる。
 これらの手順を経て、カレントプレイアイテムにとって最適なカレントセカンダリビデオストリームがPSR14に格納されることになる。以上が、最適なカレントセカンダリビデオストリーム番号を選択するための選択手順である。
 以上のように本実施形態によれば、BD-ROMやローカルストレージに記録されているセカンダリビデオストリームの中に、再生不能なものが存在したとしても、次のストリームを選ぶという手順を実行することで、「自身が再生できるものをピクチャインピクチャに用いる」という選択の余地がうまれる。従って、セカンダリビデオの総サイズ自体にバラツキがあり、再生装置におけるセカンダリビデオの再生能力の有無にバラツキががあったとしても、何等かのセカンダリビデオを再生装置に表示させ、ピクチャインピクチャを実行させることができる。
 そうして選択されたセカンダリビデオに対応するセカンダリビデオストリームを包含しているAVクリップがサブプレイアイテムによって参照されている場合、かかるAVクリップがUnavailableクリップであると、再生が中断することになる。よって、カレントセカンダリビデオストリームを包含しているAVクリップであって、サブプレイアイテム情報から参照されているもののダウンロードを急げば、再生が中断することはないのでスムーズな再生進行を確保することができる。
 (第4実施形態)
 再生されるべきプレイリストが、立体視映像用のプレイリストである場合の改良である。
 立体視を実現する手法としては、ホログラフィ技術を用いる方法と、視差画像を用いる方式とがある。
 まず、1つ目のホログラフィ技術の特徴としては、人間が通常物体を認識するのと全く同じように物体を立体として再現することができるが、動画生成に関しては、技術的な理論は確立しているが、ホログラフィ用の動画をリアルタイムで生成する膨大な演算量を伴うコンピューター、及び1mmの間に数千本の線を引けるだけの解像度を持ったディスプレイデバイスが必要であるが、現在の技術での実現は非常に難しく、商用として実用化されている例はほとんどない。
 2つ目の視差画像を用いた方式である。この方式のメリットは、高々右目用と左目用の2つの視点の映像を準備するだけで立体視を実現できることにあり、技術的には、左右のそれぞれの目に対応した絵を、いかにして対応した目にだけ見せることができるかの観点から、継時分離方式を始めとするいくつかの技術が実用化されている。
 この立体視を実現するため、第1実施形態に説明した、再生装置、テレビを含むホームシアターシステムには、継時型ステレオゴーグルが存在する。
 図39は、継時型ステレオゴーグルの一例を示す図である。本図(a)は、立体視を実現することができるホームシアターシステムを示す。本図のホームシアターシステムには、テレビ104の付属品として継時型ステレオゴーグル105が存在する。
 同図(b)は、継時型ステレオゴーグル105をユーザが装着した状態を示す。継時型ステレオゴーグル105は、液晶シャッターを備え、継時分離方式による視差画像をユーザに視聴させる。視差画像とは、右目に入る映像と、左目に入る映像とから構成される一組の映像であり、それぞれの目に対応したピクチャーだけがユーザの目に入るようにして立体視を行わせる。
 継時分離方式とは、左目用映像及び右目用映像を時間軸方向で交互に表示させ、目の残像反応により左右のシーンを脳内で重ね合わさせて、立体映像として認識させる方法である。本図(c)は、平面視を実現する場合の継時型ゴーグル105の状態を示す。平面視を実現する場合、両眼の液晶シャッターが透光状態になる。同図(d)は、左目用映像の表示時を示す。ディスプレイ上に左目用の映像が表示されている瞬間において、前述の継時型ステレオゴーグル105は、左目に対応する液晶シャッターを透過にし、右目に対応する液晶シャッターは遮光する。同図(e)は、右目用映像の表示時を示す。ディスプレイ上に右目用の映像が表示されている瞬間において、先ほどと逆に右目に対応する液晶シャッターを透過にし、左目に対応する液晶シャッターを遮光する。
  この方式では、左右の映像を時間軸方向で交互に表示させるために、例えば、通常の2次元の映画であれば1秒に24枚の映像を表示させるのに対して、左右の映像合わせて1秒に48枚の映像を表示させる必要がある。従って、この方式では、一画面の書き換えが比較的早いディスプレイにおいて好適であるが、1秒間に所定の回数書き換え可能なディスプレイであれば限定されない。
 また、別の方法としては、先ほどの継時型ステレオゴーグル105では左右のピクチャーを時間軸方向で交互に出力していたのに対して、一画面中の縦方向に左目用のピクチャーと右目用のピクチャーを同時に交互に並べ、ディスプレイ表面にレンチキュラーレンズと呼ばれる蒲鉾上のレンズを通して、左目用のピクチャーを構成する画素は左目だけに結像し、右目用のピクチャーを構成する画素は右目だけに結像するようにすることで、左右の目に視差のあるピクチャーを見せ、立体視を実現させる方式がある。なお、レンチキュラーレンズだけでなく、同様の機能を持たせたデバイス、例えば液晶素子を用いてもよいし、また左目用の画素には縦偏光のフィルター、右目用の画素には横偏光のフィルターを設置し、視聴者は、左目用には縦偏光、右目用には横偏光のフィルターを設置した偏光メガネを用いてディスプレイを見ることによって立体視が可能となる。
 この視差画像を用いた立体視は、既に遊園地の遊具などで一般的に使用されており、技術的にも確立されているため、家庭における実用化に最も近いものと言える。なお、視差画像を用いた立体視のための方法はこの他にも、2色分離方式などさまざまな技術が提案されており、本実施形態においては、継時分離方式あるいは偏光メガネ方式を例として用いて説明するが、視差画像を用いる限りこれら2方式に限定するものではない。
 本実施形態では、立体視に使う視差画像を情報記録媒体に格納する方法を説明する。ここでは、左目用の画面が格納された映像を「左目映像」、右目用の画面が格納された映像を「右目映像」、両方の映像のことを「立体視映像」と呼ぶことにする。
 <プライマリビデオストリーム、セカンダリビデオストリームの改良>
 本実施形態におけるプライマリビデオストリームは、平面視再生装置では平面視映像として、平面視/立体視映像再生装置で立体視映像を再生する際の左目映像として再生されるビデオストリームである。このビデオストリームを平面視/左目視聴用ビデオストリームと呼ぶことにする。
 本実施形態におけるセカンダリビデオストリームは、右目視聴用ビデオストリームが格納されている。右目視聴用ビデオストリームは、平面視/立体視再生装置で立体視映像を再生する際の右目用の映像として再生されるビデオストリームである。右目視聴用ビデオストリームは、プライマリビデオストリームのPIDと異なる0x1012が割り当てられている。続いて、平面視/左目視聴用ビデオストリームと、右目視聴用ビデオストリームの構造について説明する。
 ただし、左右の視点からは同じ被写体を見るため映像の相関が大きいため、視点間のピクチャ間予測符号化を行うことで、右目用ビデオストリームは平面視/左目視聴用ビデオストリームに比べてデータ量を大幅に削減できる。また、平面視/左目視聴用ビデオストリームのフレームレートは、平面視/左目視聴用ビデオストリーム単体で平面視再生装置が再生したときのフレームレートであり、この値がGOPヘッダに格納される。
 図40は、立体視のためのプライマリビデオストリーム、セカンダリビデオストリームの内部構成の一例を示す図である。
 本図の第2段目は、プライマリビデオストリームの内部構成を示す。このプライマリビデオストリームには、ピクチャデータI1,P2,Br3,Br4,P5,Br6,Br7,P9というピクチャデータが含まれている。これらのピクチャデータは、DTSに従いデコードされる。第1段目は、右目画像を示す。そうしてデコードされたピクチャデータI1,P2,Br3,Br4,P5,Br6,Br7,P9をPTSに従い、I1,Br3,Br4,P2,Br6,Br7,P5の順序で再生することで、右目画像が再生されることになる。
 第4段目は、セカンダリビデオストリームの内部構成を示す。このセカンダリビデオストリームは、P1,P2,B3,B4,P5,B6,B7,P8というピクチャデータが含まれている。これらのピクチャデータは、DTSに従いデコードされる。第1段目は、左目画像を示す。そうしてデコードされたピクチャデータP1,P2,B3,B4,P5,B6,B7,P8をPTSに従い、P1,B3,B4,P2,B6,B7,P5の順序で再生することで、左目画像が再生されることになる。
 第5段目は、継時型ゴーグル105の状態をどのように変化させるかを示す。この第5段目に示すように、左目画像の視聴時は、右目のシャッターを閉じ、右目画像の視聴時は、左目のシャッターを閉じていることがわかる。
 これらのプライマリビデオストリーム、セカンダリビデオストリームは、時間方向の冗長性を利用したピクチャ間予測符号化に加えて、視点間の冗長性を利用したピクチャ間予測符号化によって圧縮されている。右目視聴用ビデオストリームのピクチャは、平面視/左目視聴用ビデオストリームの同じ表示時刻のピクチャを参照して圧縮されている。
 例えば、右目視聴用ビデオストリームの先頭Pピクチャは、平面視/左目視聴用ビデオストリームのIピクチャを参照し、右目視聴用ビデオストリームのBピクチャは、平面視/左目視聴用ビデオストリームのBrピクチャを参照し、右目視聴用ビデオストリームの二つ目のPピクチャは、平面視/左目視聴用ビデオストリームのPピクチャを参照している。
 <ビデオアクセスユニット>
 平面視/左目視聴用ビデオストリームと右目視聴用ビデオストリームの各ビデオアクセスユニットに割り当てる表示時刻(PTS)、デコード時刻(DTS)の関係は、図40の時間軸に示す通りである。平面視/左目視聴用ビデオストリームにおける各ピクチャデータのDTSと、右目視聴用ビデオストリームにおける各ピクチャデータのDTSは時間軸上で交互になるように設定され、平面視/左目視聴用ビデオストリームにおける各ピクチャデータのPTSと、右目視聴用ビデオストリームのにおける各ピクチャデータのPTSも時間軸上で交互になるように設定される。これは、ピクチャ間予測符合化の参照関係にある平面視/左目視聴用と右目視聴用のピクチャのデコード順、表示順を交互に設定することで実現できる。
 また、平面視/左目視聴用のフレームと次の右目視聴用のフレーム間のDTSの時間間隔は、平面視/左目視聴用の1フレームの表示時間間隔の半分になるように設定する。同様に、平面視/左目視聴用のフレームと次の右目視聴用のフレーム間のPTSの時間間隔は、平面視/左目視聴用の1フレームの表示間隔の半分になるように設定する。
 <立体視表示ディレイ>
 平面視/左目視聴用ビデオストリームのピクチャと同じ表示時刻の右目視聴用ビデオストリームのピクチャのPTSの間隔の差分を立体視表示ディレイとする。立体視表示ディレイは、平面視/左目視聴用ビデオストリームの1フレームの表示間隔の半分の値となる。
 <立体視プレイリスト>
 立体視プレイリストには、右目視聴用を格納するためのサブパスが用意されている。サブパスは右目視聴用を格納する複数のAVクリップを参照しており、メインパスと時間軸上で同期するように設定される。この構造により、平面視プレイリストと立体視プレイリストで、平面視/左目視聴用が格納されたAVクリップを共有することができ、立体視プレイリストでは左目映像と右目視聴用を時間軸上で同期させて関連付けることができる。
 立体視プレイリストと、平面視プレイリストとを区別するため、プレイリスト情報には立体視フラグが存在する。立体視フラグは、プレイリスト情報内のストリーム番号テーブルにおいてセカンダリビデオストリームの再生が許可されていて、セカンダリビデオストリームを再生することによる立体視が可能であるか否かを示す。
 以上が記録媒体の改良である。続いて、再生装置の詳細について説明する。本実施形態における再生装置は、Primaryビデオプレーン35が、2D/左目映像プレーン61と、右目視聴用プレーン62とに置き換えられている。そして、q13がz41のような内部構成を有する。
 図41は、システムターゲットデコーダ13の内部構成の一例を示す図である。本図の内部構成のうち、Secondaryビデオデコーダ、IGデコーダ、PGデコーダ、Primaryオーディオデコーダ、Secondaryオーディオデコーダ、音声ミキサー、イメージプロセッサの構成は第1実施形態で説明した平面視用の再生装置と同じであるため省略する。
 ソースデパケットタイザ32aは、リードバッファ11に蓄えられたソースパケットを解釈し、TSパケットを取り出し、PIDフィルタ33aに送出する。
 ソースデパケットタイザ32bは、リードバッファ11に蓄えられたソースパケットを解釈し、TSパケットを取り出し、PIDフィルタ34bに送出する。この送出にあたって、各ソースパケットのATSに応じてデコーダへの入力時刻を調整する。具体的には、ATCカウンタが生成するATCの値と、ソースパケットのATS値とが同一になった瞬間に、AVクリップの記録レートにしたがって、そのTSパケットだけをPIDフィルタに転送する。
 PIDフィルタ33aは、ソースデパケッタイザ32aから出力されたTSパケットのうち、TSパケットのPIDが、再生に必要とされるPIDに一致するものを、PIDにしたがって、3DビデオデコーダのTB31、Secondaryビデオデコーダ、IGデコーダ、PGデコーダ、音声デコーダ、Secondaryオーディオデコーダに転送する。また、PIDフィルタ34は、ソースデパケッタイザ32aから出力されたTSパケットのうち、TSパケットのPIDが、再生に必要とされるPIDに一致するものを、PIDにしたがって、3DビデオデコーダのTB51に転送する。
 3Dビデオデコーダ50は、TB51、M52、EB53、TB58、M59、デコーダ54、DPB55、バッファスイッチ56、ピクチャスイッチ57、EB60から構成される。
 TB51は、2D/左目映像ビデオストリームを含むTSパケットがPIDフィルタ33から出力された際、TSパケットのまま一旦蓄積されるバッファである。
 MB52は、TB51からEB53にビデオストリームを出力するにあたって、一旦PESパケットを蓄積しておくためのバッファである。TB51からMB52にデータが転送される際に、TSパケットのTSヘッダは取り除かれる。
 EB53は、符号化状態にあるビデオアクセスユニットが格納されるバッファである。MB52からEB53にデータが転送される際にPESヘッダが取り除かれる。
 TB58は、右目視聴用ビデオストリームを含むTSパケットがPIDフィルタ34から出力された際、TSパケットのまま一旦蓄積されるバッファである。
 MB59は、TB58からEB60にビデオストリームを出力するにあたって、一旦PESパケットを蓄積しておくためのバッファである。TB58からMB59にデータが転送される際に、TSパケットのTSヘッダは取り除かれる。
 EB60は、符号化状態にあるビデオアクセスユニットが格納されるバッファである。MB59からEB60にデータが転送される際にPESヘッダが取り除かれる。
 デコーダ54は、ビデオエレメンタリストリームの個々のビデオアクセスユニットを所定の復号時刻(DTS)でデコードすることによりフレーム/フィールド画像を作成する。AVクリップに多重化されるビデオストリームの圧縮符号化形式にはMPEG2、MPEG4AVC、VC1などがあるため、ストリームの属性に応じて、デコーダ54のデコード方法は切り替えられる。デコーダ54は、デコードされたフレーム/フィルド画像をDPB55に転送し、表示時刻(PTS)のタイミングで対応するフレーム/フィールド画像をピクチャスイッチに転送する。
 DPB55は、復号されたフレーム/フィールド画像を一時的に保持しておくバッファである。デコーダ54が、ピクチャ間予測符号化されたPピクチャやBピクチャなどのビデオアクセスユニットをデコードする際に、既にデコードされたピクチャを参照するために利用する。
 バッファスイッチ56は、EBとEBに蓄えられたピクチャをビデオアクセスユニットに割り当てられた復号時刻(DTS)のタイミングでデコーダ54に転送する。また、デコーダ54がビデオアクセスユニットをデコードする際に取得したデコードスイッチ情報を使って、次のアクセスユニットをEB、EBのどちらから引き抜くかを決定しても良い。また、2D/左目映像ビデオストリームと右目視聴用ビデオストリームのDTSは時間軸上でピクチャ単位で交互に来るように設定されているため、例えばDTSを無視して前倒しでデコードするようなデコーダ54の場合には、ピクチャ単位でビデオアクセスユニットをデコーダ54に転送しても良い。
 ピクチャスイッチ57は、デコーダ54から転送されたデコード済みのフレーム/フィールド画像が、2D/左目映像のストリームの場合は2D/左目映像プレーン61に、右目視聴用のストリームの場合は右目視聴用プレーン62に瞬時に書き出す。
 以上がシステムターゲットデコーダについての説明である。続いて、本実施形態における仮想パッケージ制御部16の改良について説明する。
 仮想パッケージ制御部16は、立体視フラグがオフに設定されていれば、何れのセカンダリビデオストリームを包含しているAVクリップが、ダウンロードされていなかっても、DataStarvedイベントを出力しない。よって、セカンダリビデオストリームがダウンロードされていなくでも、JMFプレーヤインスタンス及び再生制御エンジンは、再生を停止しない。
 逆に立体視フラグがオンに設定されていれば、カレントセカンダリビデオストリームがサブプレイアイテムに対応しており、そのサブプレイアイテムが未だダウンロードされていないAVクリップやDisable状態であるAVクリップを参照している場合、仮想パッケージ制御部16はDataStarvedイベントを再生制御エンジン及びJMFプレーヤインスタンスに通知する。これにより再生が停止する。
 また、継時型ゴーグル105が取り外されていて、再生装置101の設定が、“立体視オフ”である場合も、セカンダリビデオストリームを格納したAVクリップのダウンロードを待たずに、再生を進行する。
 以上のように本実施形態によれば、立体視がオフに設定されている場合、セカンダリビデオストリームを含むAVクリップのダウンロードを待つことなく、プレイアイテムの再生を進行させることができる。
 (第5実施形態)
 本実施形態では、カレントプライマリオーディオストリーム、カレントセカンダリオーディオストリームを選択するための詳細なデータ構造と、再生装置における構成とについて説明する。
 図42は、Primary_audio_stream_entry、Secondary_audio_stream_entryの内部構成と、Comb_info_Secondary_video_Secondary_audioの内部構成との一例を示す図である。図中の引出線ha1,ha2は、Primary_audio_stream_entry、Secondary_audio_stream_entryの内部構成をクローズアップしている。これらの内部構成は、何れも共通であり、stream_entryと、stream_attributeとからなる。
 引出線ha3は、Stream_entryの内部構成をクローズアップして示している。この引出線に示すように、プライマリオーディオストリーム及びセカンダリオーディオストリームのStream_entryは、セカンダリオーディオストリームを参照しているSubPath情報を示す『ref_to_Sub_Path_id』、プライマリオーディオストリーム及びセカンダリオーディオストリームが多重化されているSubClipを示す『ref_to_Sub_Clip_entry_id』、プライマリオーディオストリーム及びセカンダリオーディオストリームを構成するPESパケットのPIDに対する参照値を示す『ref_to_stream_PID_of_Sub_Clip』を含む。
 引出線ha4は、stream_attributeの内部構成をクローズアップして示している。この引出線に示すように、プライマリオーディオストリーム,セカンダリオーディオストリームにおけるStream_attributeは、オーディオストリームの符号化方式を示す『stream_coding_type』と、対応するオーディオストリームのチャネル構成を示す『audio_presentation_type』と、対応するオーディオストリームのサンプリング周波数を示す対応する『Sampling_frequency』と、オーディオストリームの言語属性を示す『audio_language code』からなる。
 このセカンダリオーディオストリームに対応する情報として、セカンダリビデオストリーム用のstream_entryには、引出線ha5に示すように、Comb_info_Secondary_video_Secondary_audioが存在する。
 引出線ha6は、Comb_info_Secondary_video_Secondary_audioの内部構成をクローズアップして示している。Comb_info_Secondary_video_Secondary_audioは、各Secondaryビデオストリームごとに組合せ可能なセカンダリオーディオストリームの総数を示す「number_of_Secondary_audio_stream_ref_entries」と、セカンダリビデオストリームの再生時に組合せることができるセカンダリオーディオストリームのストリーム番号を示す「Secondary_audio_stream_id_ref[0]~[n]」とからなる。
 以上のように、STN_tableには、プライマリビデオストリームの音声となるプライマリオーディオストリームのstream_entry、セカンダリビデオストリームの音声となるセカンダリオーディオストリームのstream_entryのそれぞれがあり、また、セカンダリビデオストリームのstream_entryには、セカンダリビデオストリームとの組合せを意図したセカンダリオーディオストリームが、セカンダリビデオストリーム毎に記述されている(Comb_info_Secondary_video_Secondary_audio)ことがわかる。
 以上がオーディオストリーム再生のための記録媒体の特徴である。次に、オーディオストリーム再生のための再生装置の特徴について説明する。
 音声再生のための構成として、再生装置には、カレントプライマリオーディオストリームのストリーム番号と、カレントセカンダリオーディオストリームのストリーム番号とについて説明する。
 <PSR1>
 図43(a)は、PSR1のビットアサインの一例を示す図である。
 本図によると、32ビット長のPSR1の下位8ビット(b0~b7)は、プライマリオーディオストリーム番号であり、カレントPlay ItemのSTN_tableにentryが記述されている複数プライマリオーディオストリームのうち、1つを特定する。PSR1の設定値が変化すれば、再生装置はこの変化後のプライマリオーディオストリームを再生する。PSR1は初期値として0xFFが設定されており、再生装置により1~32の値に設定されうる。この0xFFは、不定値であり、プライマリオーディオストリームが存在しない旨、又は、プライマリオーディオストリームが選択されてない旨を示す。1~32の設定値は、プライマリオーディオストリームのストリーム番号として解釈される。
 <PSR14>
 図43(b)は、PSR14のビットアサインの一例を示す図である。
 本図によると、32ビット長のPSR14における下位8ビット(b0~b7)は、セカンダリオーディオストリーム番号であり、カレントPlay ItemのSTN_tableにentryが記述されている複数セカンダリオーディオストリームのうち、1つを特定する。PSR14の設定値が変化すれば、再生装置はこの変化後のセカンダリオーディオストリームを再生する。PSR14は初期値として0xFFが設定されており、再生装置により1~32の値に設定されうる。この0xFFは、不定値であり、セカンダリオーディオストリームが存在しない旨、又は、セカンダリオーディオストリームが選択されてない旨を示す。1~32の設定値は、セカンダリオーディオストリームのストリーム番号として解釈される。
 図44は、カレントプレイアイテム変化時におけるカレントプライマリオーディオストリーム決定手順を示すフローチャートである。ステップS96、ステップS97は、STN_tableに示される全てのPrimaryオーディオストリームについてステップS98を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のPrimaryオーディオストリームを、Primaryオーディオストリームiという。ステップS98は、Primaryオーディオストリームiが3つの条件条件(a)(b)(c)を満たすかのチェックを行う。
 条件(a)とは、Primaryオーディオストリームiを再生する能力が再生装置に存在することであり、これを満たすか否かの判定は、PSR15と、Primaryオーディオストリームiのstream_coding_typeとの比較でなされる。
 条件(b)とは、Primaryオーディオストリームiの言語属性がデッキ情報と同じであることである。デッキ情報とは、再生装置の言語設定を示す情報であり、条件(b)を満たすか否かの判定は、STN_tableに記述されたPrimaryオーディオストリームiのAudio_language_codeがPSR16の設定値と同じであるか否かの比較でなされる。
 条件(c)とは、Primaryオーディオストリームiのチャネル属性がサラウンドであり、これを再生する能力が再生装置に存在することである。これを満たすか否かの判定は、PSR15と,AudioStreamのaudio_presentation_type、stream_coding_typeとの比較でなされる。
 これらの複数の条件のうち、「Primaryオーディオストリームiがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、Primaryオーディオストリームに優先順位を付与する。
 以上の処理をPrimaryオーディオストリームの全てについて繰り返されれば、ステップS99~ステップS103の処理を行う。ステップS99は、(a)を満たすPrimaryオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値(0xFF)をPSR1に設定する(ステップS104)。
 ステップS100は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)(c)を満たすPrimaryオーディオストリームの番号をPSR1に設定する(ステップS105)。
 ここで問題になるのが、条件(a)(b)(c)を満たすPrimaryオーディオストリームが複数存在する場合である。条件(a)~条件(c)が全てみたされるので、同じ優先順位になってしまうので優劣を決めることができない。この場合ステップS105では、STN_tableにおけるentryの順序に応じて、各ストリームにおける順位が定める。即ち、コーディック-言語属性-チャネル属性が同じPrimaryオーディオストリームについては、STN_tableにおけるentryの順位を参照することで、最も優先順位が高いPrimaryオーディオストリームが選ばれることになる。
 STN_tableにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
 ステップS101は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリームが存在しない場合、条件(a)(b)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリー順位が最も高いものをPSR1に設定する(ステップS106)。
 ステップS102は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリーム、又は、条件(a)(b)を満たすPrimaryオーディオストリームが存在しない場合に、条件(a)(c)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(c)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリー順位が最も高いものをPSR1に設定する(ステップS107)。
 ステップS103は、条件(a)(b)(c)の全て、条件(a)(b)、条件(a)(c)を満たすPrimaryオーディオストリームが存在しない場合に、(a)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、(a)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリー順位が最も高いものをPSR1に設定する(ステップS108)。
 カレントプライマリオーディオストリームにおける再生区間がSubPlayItemによって規定されていれば、カレントプライマリオーディオストリームにおける再生区間を規定しているサブプレイアイテムがカレントサブプレイアイテムとして特定されることになる。
 以上がカレントプライマリオーディオストリームを選択するためのストリーム選択プロシージャである。
 続いて、セカンダリオーディオストリームを選択するためのストリーム選択プロシージャの処理手順について説明する。
 図45は、セカンダリオーディオストリームのストリーム選択プロシージャの処理手順を示すフローチャートである。ステップS111において、PSR14からセカンダリオーディオストリーム番号を取得し、ステップS112では、取得した番号のセカンダリオーディオストリームが条件(A)を満たすか否かを判定する。
 条件(A):Comb_info_secondary_video_Secondary_audioに規定されたセカンダリオーディオストリーム番号と、PSR14から取得したセカンダリオーディオストリーム番号との比較では、どの番号のセカンダリオーディオストリームと、カレントセカンダリビデオストリームとの組合せが許可されている。
 この判定を経た後、ステップS113を実行する。ステップS113では、カレントプレイアイテムにおけるセカンダリオーディオストリームのSTN_tableにおけるStream_entryの個数が0であるか否かを判定するものである。もし、STN_tableにおけるStream_entryの個数が0であるなら、PSR14のセカンダリオーディオストリーム番号を維持する(ステップS116)。もしSTN_tableにおけるStream_entryの個数が0でなければ、ステップS114の判定を行う。
 ステップS114では、セカンダリオーディオストリーム番号が、カレントプレイアイテムにおけるSTN_tableのstream_entry数以下であり、尚且つ、条件(A)を満たすかどうかを判定する。もし満たすなら、有効なセカンダリオーディオストリーム番号が既にPSR14に存在すると考えられるので、これを変化させない(ステップS117)。満たさないなら、カレントプレイアイテムについて最適なカレントセカンダリオーディオストリームを選択する(ステップS115)。
 以上が、セカンダリオーディオストリームにおけるストリーム選択プロシージャについての説明である。
 図46は、カレントプレイアイテムについて最適なカレントセカンダリオーディオストリームを選択する手順を示すフローチャートである。
 ステップS121~ステップS123は、任意のストリームについて、以下の条件が満たされているかのチェックを、STN_tableにおける全てのstream_entryに記述されているストリームに対して実行する。
 条件(a):Comb_info_secondary_video_Secondary_audioに規定されたセカンダリオーディオストリーム番号と、セカンダリオーディオストリームiの番号との比較では、セカンダリオーディオストリームiと、カレントセカンダリビデオストリームとの組合せが許可されている。
 条件(b):カレントプライマリオーディオストリームのaudio_language_codeと、セカンダリオーディオストリームのaudio_language_codeとが一致している。
 以上のチェックを、STN_tableにおいて再生許可されている全てのセカンダリオーディオストリームに対して実行すれば、ステップS124を実行する。
 ステップS124は、条件(a)を満たすセカンダリオーディオストリームが存在するか否かを判定する判定ステップである。存在しないなら0xFFとなるセカンダリオーディオストリーム番号をPSR14に設定する(ステップS125)。
 条件(a)を満たすセカンダリオーディオストリームが存在するなら、ステップS126の判定を実行する。これは、条件(a)及び条件(b)を満たすセカンダリオーディオストリームが、少なくとも1つ存在するか否かを判定するというものである。存在するなら、条件(a)及び条件(b)を満たすストリームのうち、対応するStream_EntryがSTN_tableにおいて最初に位置するものを選択して、選択したセカンダリオーディオストリームのセカンダリオーディオストリーム番号を、PSR14に設定する(ステップS127)。
 条件(a)及び条件(b)を満たすセカンダリオーディオストリームが存在しないなら、ステップS128の判定を実行する。これは、条件(a)を満たすセカンダリオーディオトリームが存在するか否かを判定するものである。もし存在するなら、条件(a)を満たすセカンダリオーディオストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したセカンダリオーディオストリームのセカンダリオーディオストリーム番号を、PSR14に設定する(ステップS129)。
 カレントセカンダリオーディオストリームにおける再生区間がSubPlayItemによって規定されていれば、カレントセカンダリオーディオストリームにおける再生区間を規定しているサブプレイアイテムがカレントサブプレイアイテムとして特定されることになる。
 以上のように本実施形態によれば、プライマリビデオストリーム用のプライマリオーディオストリーム、セカンダリビデオストリーム用のセカンダリオーディオストリームとしてそれぞれどれの再生を許可するかを、STN_tableに規定しておき、このSTN_tableに存在するstream_entryからプライマリオーディオストリーム、セカンダリオーディオストリームをそれぞれ1つ選んで、これらのミキシング出力を行うので、ピクチャインピクチャの実行時において、本編の音声に、映画監督によるコメンタリが加わった合成音声を聴くことができる。
 そうして選択されたプライマリオーディオストリーム、セカンダリオーディオストリームを包含しているAVクリップがサブプレイアイテムによって参照されている場合、かかるAVクリップがUnavailableクリップであると、再生が中断することになる。よって、カレントプライマリオーディオストリーム、カレントセカンダリオーディオストリームを包含しているAVクリップであって、サブプレイアイテム情報から参照されているもののダウンロードを急げば、再生が中断することはないのでスムーズな再生進行を確保することができる。
  (第5実施形態)
 本実施形態では、カレント字幕ストリームを選択するためのデータ構造と、再生装置における改良とを説明する。
 始めに、STN_tableにおける字幕のためのstream_entryについて説明する。プライマリオーディオストリーム、セカンダリオーディオストリームはそれぞれ、プライマリビデオストリーム、セカンダリビデオストリームに割り当てられたが、字幕には、プレゼンテーショングラフィクスストリーム、テキスト字幕ストリームという区別はあるものの、プライマリビデオストリーム用、セカンダリビデオストリーム用という明確な区別は存在しない。
 以降、PGtestSTストリームについてのstream_entryについて説明する。図47は、STN_tableのうち、PGtestSTストリームに特に関連あるものを抜き出して描いた図である。この図によると、STN_tableのうち、字幕表示に特に関連するのは、「number_of_PG_textST_streams_entries[1]~[n]」、「number_of_PiP_PG_textST_stream_entries_plus」、「PGtestST_stream_entry」、「Secondary_video_Stream_entry」内の「Comb_info_Secondary_video_PiP_PG_textST」であることがわかる。
 「number_of_PG_textST_streams_entries」は、ピクチャインピクチャを実行していない場合に、選択の対象となるPGtestSTストリームの個数を示す
 「number_of_PiP_PG_textST_stream_entries_plus」は、ピクチャインピクチャアプリケーションのため、STN_tableに定義されているnumber_of_PG_textST_streams_entriesに追加すべきプレゼンテーショングラフィクスストリーム及びテキスト字幕ストリームの個数を示す。このnumber_of_PG_textST_streams_entriesと、number_of_PiP_PG_textST_stream_entries_plusとの和は、255以下になる。
 ここでnumber_of_PG_textST_streams_entriesがn1である場合、1からn1までのストリーム番号の範囲が、PGテキスト字幕ストリームの範囲となるが、number_of_PiP_PG_textST_stream_entries_plusがn2であれば、ピクチャインピクチャの実行時において、1からn1+n2までのストリーム番号の範囲が、PGテキスト字幕ストリームの範囲となる。つまり、number_of_PiP_PG_textST_stream_entries_plusがSTN_tableに記述されていれば、PGTextSTストリームのストリーム番号の範囲は、number_of_PiP_PG_textST_stream_entries_plusに記述された個数だけ広がることになる。
 非ピクチャインピクチャ時にあっては、PGtestSTストリームについてのstream_entryのうち、1からn1までのものが選択の対象になり、ピクチャインピクチャ時にあっては、PGtestSTストリームについてのstream_entryのうち、1からn1+n2までのものが選択の対象になる。予め断っておくが、ピクチャインピクチャが行われる場合であっても、プライマリビデオの字幕、セカンダリビデオの字幕がそれぞれ再生される訳ではない。ピクチャインピクチャで表示されるのは、プライマリビデオ用の字幕、セカンダリビデオ用の字幕のどちらか1つである。これは、プライマリビデオ用、セカンダリビデオ用の字幕を別々にBD-ROMに記録しておくとすると、再生装置には、グラフィクス用のデコーダが2つ必要になり、ハードウェアコストの増大をもたらすこと(i)、セカンダリビデオ用に字幕を縮小して表示したとしても、見づらくなるだけであること(ii)、という2つの理由による。
 引出線hp1は、PG_testST_Stream_entryの内部構成をクローズアップして示している。この引出線に示すように、PG_testST_Stream_entryは、Stream_entry,Stream_Attributeを有していて、Stream_entryの中に、再生が許可されているPGtestSTストリームのPIDが存在する。
 引出線hp2は、「Secondary_video_Stream_entry[1]」の内部構成をクローズアップして示している。この内部構成におけるComb_info_Secondary_video_PiP_PG_textSTには、PGtestSTストリームのうち、セカンダリビデオストリームとの組合せが許可されているものを一意に示している。
 引出線hp3は、Comb_info_Secondary_video_PiP_PG_textSTの内部構成を示す。Comb_info_Secondary_video_PiP_PG_textSTは、各Secondaryビデオストリームごとに組合せ可能なPiP_PG_テキスト字幕ストリームの総数を示す「number_of_PiP_PG_textST_stream_ref_entries」と、再生時に組合せることができるPiP_PG_テキスト字幕ストリームのストリーム番号を示す「PiP_PG_textST_stream_id_ref[0]~[n]」とからなる。
 以上が、本実施形態における記録媒体の改良である。続いて、本実施形態における再生装置についての改良について説明する。字幕再生のための構成として、再生装置には、ピクチャインピクチャ実行時におけるカレントPGTextSTストリームのストリーム番号と、ピクチャインピクチャ非実行時におけるカレントPGTextSTストリームのストリーム番号とが、それぞれ別々にPSRセット23に格納されている。
 図48(a)は、カレントPGtestSTストリームのストリーム番号が取りうる数値範囲の一例を示す図である。非ピクチャインピクチャ実行時において、カレントPGtestSTストリームのストリーム番号は、STN_tableに記載されたPiP_PG_text_ST_stream_numberをn1とすると、本図の上段に示すように、1からn1までの値をとる。
 一方、ピクチャインピクチャ実行時におけるカレントPGtestSTストリームの番号は、PiP_PG_TextSTストリーム番号と呼ばれ、STN_tableに記載されたPG_text_ST_stream_numberをn1、STN_tableに記載されたnumber_of_PiP_PG_textST_stream_entries_plusをn2とすると、本図の下段に示すように、PiP_PG_TextSTストリーム番号は1からn1+n2までの値をとる。
 図48(b)は、PSR2のビットアサインの一例を示す図である。以降、PSR2における各ビットの意味合いについて述べる。disp_s_flag
 PSR2のb31は、disp_s_flagであり、その1ビットの設定値は以下のように解釈される。
 0b: 「PG textST ストリーム」と「PiP PG textST ストリーム」の両方を表示することは不可となることを示す。
 1b: 「PG textST ストリーム」と「PiP PG textST ストリーム」の両方を表示することは可能となることを示す
 disp_s_flagがオフになっている場合、PGテキスト字幕ストリーム選択のためのプロシージャを実行しない。PSR2におけるdisp_s_flagがオフになっていれば、カレントのPGテキスト字幕ストリームが存在しないため、図34のステップS34、S35では、PGテキスト字幕ストリームのみを包含しているAVクリップは、ダウンロードの選択対象から除外する。PGテキスト字幕ストリームのみを包含しているAVクリップのダウンロードを省くことができるので、字幕がオフになっていれば、PGテキスト字幕ストリームのみを包含しているAVクリップが未ダウンロードであっても、再生を進行してゆくことができる。これにより、あるプレイアイテムから次のプレイアイテムの切り替えを高速に実現することができる。PiP_PG_textST_valid_flag
 PSR2のb30は、PiP_PG_textST_valid_flagであり、その1ビットの設定値は以下のように解釈される。
 0b: カレントプレイアイテム 表示中に Secondary ビデオストリームが表示されている場合、PSR2 で定義された PG TextST Stream Numberが用いられる。
 1b: カレントプレイアイテム 表示中に Secondary ビデオストリームが表示されている場合、PSR2 で定義された PiP PG TextST Stream Numberが用いられる。
 カレントプレイアイテム 表示中に Secondary ビデオストリームが表示されていないとき、PiP_PG_textST_valid_flag は BD-ROM再生装置の表示に影響しない。この場合、PSR2 で定義された PG TextST Stream Numberが用いられる。
  PG TextST Stream Number:
 PSR2のb0~b11は、PG TextST Stream Numberであり、その12ビットの設定値は以下のように解釈される。
 カレントプレイアイテム 表示中に Secondary ビデオストリームが表示されていない場合(Secondary ビデオストリームは表示されていない場合とは、PSR14 の disp_v_flag は 0b に設定されている状態をいう)、PSR2 における PG TextST Stream Numberの値は、カレントプレイアイテム の STN_tableにおける PG TextST ストリーム項目の中から、PG ストリームと TextST ストリームのどちらが表示されるかを特定するために用いられる。
  PiP PG TextST Stream Number:
 PSR2のb16~b27は、PiP PG TextST Stream Numberであり、その12ビットの設定値は以下のように解釈される。
 カレントプレイアイテム 表示中に Secondary ビデオストリームが表示されていて、PSR2 の PiP_PG_textST_valid_flag が 1b に設定されている場合(ここでセカンダリビデオストリームの表示時とは、PSR14 の disp_v_flag は 1b に設定され、カレントプレイアイテム 表示中に PSR14 によって決定された Secondary ビデオストリームが表示される場合をいう。)、PSR2 における PiP PG TextST Stream Numberの値は、カレントプレイアイテム の STN_table における PG TextST ストリーム項目の中から、PG ストリームと TextST ストリームのどちらが表示されるかを特定するために用いられる。
  図49は、カレントプレイアイテム変化時におけるカレントPGtestSTストリームの決定手順を示すフローチャートである。
 ここで非ピクチャインピクチャのためのPGtestSTストリームのストリーム番号及びその取り扱いは、ピクチャインピクチャのためのPGtestSTストリームの選択を簡略にしたものに過ぎないから説明を省略する。本実施形態では、ピクチャインピクチャのためのPGtestSTストリームの番号について説明する。
 ステップS151においてPSR2からカレントPiP_PG_TextSTストリーム番号を取得し、ステップS152において、カレントPiP_PG_TextSTストリーム番号は、プレゼンテーショングラフィクスストリームについてのものかテキスト字幕ストリームについてのものかを判定する。ステップS153は、カレントPiP_PG_TextSTストリーム番号に対応するプレゼンテーショングラフィクスストリームが、条件(A)、条件(B)、条件(C)を満たすか否かをチェックする。
 ここで条件(A),条件(B)、条件(C)は、以下のように規定される。
 条件(A):カレントPiP_PG_TextSTストリーム番号から特定されるプレゼンテーショングラフィクスストリームをデコードする能力が再生装置に存在する。
 条件(B):特定された言語を再生する能力が再生装置に存在する。
 条件(C):PSR14におけるセカンダリビデオストリーム番号と、comb_info_Secondary_video_PiP_textST()によるPGテキスト字幕ストリーム番号との比較では、カレントセカンダリビデオストリームと、カレントPiP_PG_TextSTストリーム番号から特定されるPGテキスト字幕ストリームとの組合せが許可されている。
  一方ステップS154では、カレントPiP_PG_TextSTストリーム番号に対応するテキスト字幕ストリームが、条件(A)、条件(B)、条件(C)を満たすか否かをチェックするものである。
 条件(A):カレントPiP_PG_TextSTストリーム番号のテキスト字幕ストリームのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。かかる再生能力は、PSRセット23におけるPSR30に示されている。
 条件(B):カレントPiP_PG_TextSTストリーム番号のテキスト字幕ストリームの言語属性をサポートする能力が再生装置に存在すること。かかるサポート能力は、PSRセット23におけるPSR48~61に示されている。
 条件(C):PSR14におけるセカンダリビデオストリーム番号と、comb_info_Secondary_video_PiP_textST()によるPGテキスト字幕ストリーム番号との比較では、PSR14に格納されているカレントセカンダリビデオストリームと、カレントPiP_PG_TextSTストリーム番号から特定されるPGテキスト字幕ストリームとの組合せが許可されていること。
 ここで、ある言語の字幕がテキスト字幕ストリームで表現されている場合、その言語のテキスト字幕ストリームを、“デコードすることができる”といえるには、その言語における文字コードを、ビットマップに展開する能力と、その言語の特性をサポートするサポート能力とが再生装置側に存在する必要がある。
 英語、日本語、アラビア語を例にとってみると、英語の字幕表示は、“横書き”,“カーニング”,“合字・抱き字”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。
 日本語の字幕表示は、“横書き”,“縦書き”,“行末禁則”,“ルビ”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。
 アラビア語の字幕表示は、“右から左の描画”、“合字・抱き字”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。
 ある言語のテキスト字幕ストリームをビットマップに展開することができ、その言語の特性をサポートすることができる場合、上記条件(A)、条件(B)は、満たされているということができる。その言語のテキスト字幕ストリームをビットマップに展開することができるが、その言語の特性をサポートすることができない場合、上記条件(B)は満たされず、条件(A)のみが、満たされているということができる。


 以上の判定を経た後、ステップS155を実行する。ステップS155は、再生装置は、条件(Z)を満たすか否かを判定するものである
 ここで条件(Z)とは、アンサポート言語の字幕を、再生することをユーザが意図していることであり、かかる意図は、PSRセット23におけるPSR30に示されている。
 その後、ステップS156の判定ステップを実行する。これは、カレントプレイアイテムのSTN_tableにおけるnumber_of_PG_textST_streams_entriesと、number_of_PiP_PG_textST_stream_entries_plusとの和が=0であるか否かを判定するものである。STN_tableに再生が許可されているPGTextSTストリームが存在しない場合、PSR2におけるPGTextSTストリームの番号を維持する(ステップS157)。カレントSTN_tableにおいて再生が許可されているPGTextSTストリームが少なくとも1つ存在する場合、ステップS158を実行する。これは、カレントPiP_PG_TextSTストリーム番号の有効性を問うステップであり、カレントPiP_PG_TextSTストリーム番号がSTN_tableにおけるstream_entryの総数以下であり、且つ、条件(A)、条件(B)、条件(C)を満たすかどうかを判定する。
 もし満たすなら、有効なPiP_PG_TextSTストリーム番号が既にPSR2に存在するとして、これを変化させない(ステップS159)。
 もしステップS158で満たさないと判定されたなら、ステップS160の判定を実行する。これは、カレントPiP_PG_TextSTストリーム番号がSTN_tableにおけるstream_entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定するものである。もし満たすなら、PSR2には、アンサポート言語のテキスト字幕のPiP_PG_TextSTストリーム番号が設定されているが、ユーザはアンサポート言語の再生を意図しているので、PSR2を変化させない(ステップS161)。ステップS160において満たさないと判定されたなら、カレントプレイアイテムについて最適なカレントPGテキスト字幕ストリームを選択する(ステップS162)。
 以上が、PGTextSTストリームにおけるストリーム選択プロシージャについての説明である。
 図50は、カレントプレイアイテムについて最適なカレントPGTextSTストリームを選択する処理手順を示すフローチャートである。
 ステップS1 90において、全てのPGTextSTストリームについて、条件(a)~条件(d)を満たすかどうかをチェックする。
 チェック対象となるプレゼンテーショングラフィクスストリームを、プレゼンテーショングラフィクスストリームiとした場合、条件(a)~条件(d)は、以下のように規定される。
 条件(a):プレゼンテーショングラフィクスストリームiをデコードする能力が再生装置に存在する。
 条件(b):プレゼンテーショングラフィクスストリームiから特定された言語を再生する能力が再生装置に存在する。
 条件(c):PSR14におけるセカンダリビデオストリーム番号と、comb_info_Secondary_video_PiP_textST()によるPGテキスト字幕ストリーム番号との比較では、カレントセカンダリビデオストリームと、プレゼンテーショングラフィクスストリームiとの組合せが許可されている。
 条件(d):プレゼンテーショングラフィクスストリームiのPG_language_codeが、デッキ情報と一致している。ここで、デッキ情報とは、再生装置内のデッキ情報における言語設定を示すものであり、具体的には、PSRセット23におけるPSR17を示す。
 チェック対象となるテキスト字幕ストリームを、テキスト字幕ストリームiとした場合、条件(a)~条件(d)は、以下のように規定される。
 条件(a):テキスト字幕ストリームiのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。
 条件(b):テキスト字幕ストリームiの言語属性をサポートする能力が再生装置に存在すること。
 条件(c):PSR14におけるセカンダリビデオストリーム番号と、comb_info_Secondary_video_PiP_textST()によるPGテキスト字幕ストリームiの番号との比較では、カレントセカンダリビデオストリームと、PiP_PG_TextSTストリーム番号から特定されるテキスト字幕ストリームiとの組合せが許可されていること。
 条件(d):テキスト字幕ストリームiのtextST_language_codeが、再生装置内のデッキ情報における言語設定と一致していること。
 以上のチェックを経た後、ステップS191では、再生装置が、前のフローチャートで述べた条件(Z)(:アンサポート言語の再生)を満たすかどうかを判定する。みたさない場合、ステップS192において、条件(a)~条件(d)を満たすPGTextSTストリームが存在するかを判定する。存在するなら、条件(a)~条件(d)を満たすPGTextSTストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したPiP_PG_TextSTストリーム番号を、PSR2に設定する(ステップS193)。
 存在しないなら、ステップS194において、より緩和された条件を満たすPGTextSTストリームが存在するか否かを判定する。緩和された条件とは、条件(a)、条件(b)、条件(c)の3つを満たすことであり、これを満たすPGTextSTストリームが存在するかが、ステップS194で判定される。存在するなら、条件(a)、条件(b)、条件(c)を満たすPiPPGtestSTストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したPiP_PG_TextSTストリーム番号を、PSR2に設定する(ステップS196)。
 存在しないなら、0xFFFであるPiP_PG_TextSTストリーム番号をPSR2に設定する(ステップS195)。ステップS191において、条件(Z)を満たすと判定されたなら、ステップS197において、別の緩和された条件を満たすPGTextSTストリームが存在するかを判定する。別の緩和された条件とは、条件(a)、条件(c)、条件(d)を満たすものであり、ステップS198では、これらを満たすPGTextSTストリームが存在するかか否かが判定される。
 もし存在するなら、条件(a)、条件(c)、条件(d)を満たすPiP_PGTextSTストリームのうち、対応するStream_EntryがSTN_tableの最初に位置するものを選択して、選択したもののPiP_PG_TextSTストリーム番号を、PSR2に設定する(ステップS198)。
 存在しない場合、ステップS199において、条件(a)、条件(c)を満たすPGTextSTストリームが存在するかを判定する。存在する場合、条件(a)、条件(c)を満たすPiP_PGtestSTストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したもののPiP_PG_TextSTストリーム番号を、カレントPiP_PG_TextSTストリームのストリーム番号としてPSR2に設定する(ステップS200)。存在しない場合、0xFFFをPSR2に設定する(ステップS201)。
 カレントPiP_PG_TextSTストリーム番号における再生区間は、必ずSubPlayItemによって規定されているので、カレントPiP_PG_TextSTストリーム番号における再生区間を規定しているサブプレイアイテムをカレントサブプレイアイテムとして特定されることになる。
 以上が、カレントPGTextSTストリームの選択手順についての説明である。
 以上のように本実施形態によれば、ピクチャインピクチャが有効である場合、number_of_PG_textST_streams_entriesと、number_of_PiP_PG_textST_stream_entries_plusとを足しあわせた数値範囲のの中から、PiP_PG_TextSTストリーム番号が選ばれ、このPiP_PG_TextSTストリーム番号に対応するプレゼンテーショングラフィクスストリーム又はテキスト字幕ストリームを再生するので、あるときは、プライマリビデオストリームに適した字幕を動画像と共に再生させ、またあるときは、セカンダリビデオストリームに適した字幕を動画像と共に再生させることができ、字幕選択の幅を広げることができる。
 そうして選択された字幕に対応するテキスト字幕ストリームを包含しているAVクリップがサブプレイアイテムによって参照されている場合、かかるAVクリップがUnavailableクリップであると、再生が中断することになる。よって、カレントテキスト字幕ストリームを包含しているAVクリップであって、サブプレイアイテム情報から参照されているもののダウンロードを急げば、再生が中断することはないのでスムーズな再生進行を確保することができる。 (第6実施形態)
 本実施形態では、仮想パッケージの構築について詳しく説明する。
 先ず始めに、仮想パッケージの基本部分となるBD-ROMのデータ構造について説明する。
 図51は、BD-ROMの構成の一例を示す図である。
 本図の第4段目にBD-ROM100を示し、第3段目にBD-ROM上のトラック202を示す。本図のトラック202は、BD-ROM100の内周から外周にかけて螺旋状に形成されているトラック202を横方向に引き伸ばして描画している。BD-ROM100は他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリードインと外周のリードアウトの間に論理データを記録できる論理アドレス空間を有している。また、リードインの内側にはBCA(Burst  Cutting Area)と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
 「論理アドレス空間」には、先頭からファイルシステムのボリューム情報が記録され、続いて映像データなどのアプリケーションデータが記録されている。ファイルシステムとはディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みであり、BD-ROM100の場合ではUDF(Universal  Disc  Format)によって記録される。日常使っているPC(パーソナルコンピュータ)の場合でも、FATまたはNTFSと呼ばれるファイルシステムを通すことにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。このファイルシステムにより、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。
 BD-ROM100上のディレクトリ、ファイル構造は、ルートディレクトリ(ROOT)直下にBDMVディレクトリが置かれている。BDMVディレクトリはBD-ROM100で扱うAVコンテンツや管理情報などのデータが記録されているディレクトリである。BDMVディレクトリの配下には、タイトルを構成するインデックステーブルが定義されたインデックスファイル(index.bdmv)、動的なシナリオを定義するムービーオブジェクトファイル(MovieObject.bdmv)と、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDJOディレクトリ、JARディレクトリが存在する。
 これらのディレクトリには、映像・音声といったAVコンテンツが多重化され格納されたAVクリップ(XXX.M2TS)、AVクリップの管理情報を格納したクリップ情報ファイル(XXX.CLPI)、AVクリップの論理的な再生経路を定義したプレイリストファイル(YYY.MPLS)が存在する。
 これらの他にも、以下のファイルが存在する。つまりどのJARファイルを実行するかおよびその実行方法について定義したBDJオブジェクトファイル(BBB.BDJO)、BD-Jアプリケーションを格納したJARファイル(AAA.JAR)が存在する。これらのファイルは、それぞれ前述のSTREAMディレクトリ、CLIPINFディレクトリ、PLAYLISTディレクトリ、BDJOディレクトリ、JARディレクトリの下に配置される。
 以下に、BDMVディレクトリ配下に置かれる各ファイルのデータ構造について説明する。まずインデックスファイル(Index.bdmv)について説明する。インデックスファイルはインデックステーブルを持つ。
 図52は、インデックスファイルの内部構成の一例を示す図である。
 「インデックステーブル」は、BD-ROMに格納されるすべてのタイトル、トップメニュー、FirstPlayといったタイトル構成を定義する最上位層のテーブルである。このテーブルには、全てのタイトル、トップメニュー、FirstPlayから最初に実行されるムービーオブジェクトファイルに含まれるムービーオブジェクトが指定されている。BD-ROMの再生機は、タイトルあるいはメニューが呼び出されるたびにインデックステーブルを参照して、所定のムービーオブジェクトもしくはBDJオブジェクトを実行する。ここで、FirstPlayとは、コンテンツプロバイダによって設定されるもので、ディスク投入時に自動実行されるムービーオブジェクトまたはBDJオブジェクトが設定されている。また、トップメニューは、リモコンでのユーザ操作で、「メニューに戻る」というようなコマンドが実行されるときに、呼び出されるムービーオブジェクト、BDJオブジェクトが指定されている。プログレッシブ属性で再生されるべきプレイリストは、必ずBD-Jオブジェクトによって再生されねばならない。
 以上が、仮想パッケージの前提となるBD-ROMのデータ構造である。
 次に、図53を参照しながらローカルストレージ103に格納されるアップデートキットのデータ構造について説明する。
 図53は、ローカルストレージ103に格納されるアップデートキットの内部構成の一例を示す図である。
 ローカルストレージ103に格納されるアップデートキットは、本図に示すように、追加コンテンツ格納ディレクトリ、OrgIDディレクトリ、DiscIDディレクトリと、マージ管理情報ファイル(MERGE.XML)、署名情報ファイル(MERGE.SF)、追加コンテンツデータファイル(CCC.MPL、VVV.M2T、VVV.CLPなど)を含む。追加コンテンツ領域ルートディレクトリは、ローカルストレージ103のルートディレクトリの直下に存在し、追加コンテンツ領域のルートを示すディレクトリで、ディレクトリ名配布媒体文字以内の固定値(BD_BUDA)である。
 「OrgIDディレクトリ」は、BD-ROM記録層上のBD管理情報(インデックスファイル)に記載されている、映画作品のプロバイダを特定する32bitの識別子(OrganizationID)を16進表記で表した、8文字の名前のディレクトリである。また、OrganizationIDの先頭の連続する0は、ディレクトリの名前から省略する。例えば、OrganizationIDが0x0000001Aの場合は、ディレクトリの名前は"1A"となる。
 「DiscIDディレクトリ」は、BD-ROM記録層上のBD管理情報(インデックスファイル)に記載されている、BD-ROM記録層を特定する128bitの識別子(DiscID)を先頭から32bitずつ4分割し、それぞれを16進表記で表したディレクトリである。また、OrganizationIDと同様にDiscIDの先頭の連続する0は、ディレクトリの名前から省略する。
 DiscIDディレクトリの配下には、マージ管理情報ファイル、署名情報ファイル、追加コンテンツデータファイルが存在する。
 「マージ管理情報ファイル(MERGE.XML)」は、仮想パッケージを構成するためのローカルストレージに記録される各ファイル格納位置情報と、仮想パッケージ上でそれらのファイルへアクセスするための仮想パス情報から構成され、DiscIDディレクトリ直下に保存される。
 「署名情報ファイル」は、マージ管理情報ファイルに対するプロバイダの電子的な署名を示すファイルであり、MERGE.SFというファイル名でDiscIDディレクトリ直下に保存される。電子的な署名は、一般的に改ざん防止が必要な情報に対してハッシュ値を計算し、ハッシュ値をなんらかの秘密鍵を用いて暗号化したものを用いる。本実施形態の署名情報ファイルでは、BD-ROM記録層上にあるマージ証明書中の公開鍵に対応する秘密鍵を利用して、マージ管理情報ファイルのハッシュ値が暗号化されている。
 「マージ証明書」は、マージ管理情報ファイルの認証に利用する証明書で、プロバイダが公開する公開鍵が含まれる。プロバイダが提供するマージ証明書は、BD-ROM記録層上にbd.certというファイル名で保存されている。マージ証明書のファイル形式の一例としてはX.509を利用することができる。
 「追加コンテンツデータファイル」は、BD-ROM記録層に記録されたオリジナルのコンテンツに対し、追加/更新するファイル群である。ここには、プレイリストファイル、AVクリップなどが記録される。
 図54は、マージ管理情報ファイルの内容と、その内容を元にBD-ROMのファイルとアップデートキットのファイルとから、仮想パッケージを構築する過程の一例を示す図である。
 図54の左上は、BD-ROMのディレクトリ・ファイル構成を示す。本図の左下は、アップデートキットのディレクトリ・ファイル構成を示す。
 図54の右下は、マージ管理情報ファイルの内容を示す。マニフェストファイルは、仮想パッケージを構成するローカルストレージにおける「ローカルストレージパス」と、仮想パッケージ上でそれらのファイルへアクセスするための「仮想パッケージパス」と、「プログレッシブ属性」から構成される。プログレッシブ属性は、仮想パッケージを構築する前に、そのファイルがなくても良いことを示す。
 ローカルストレージパスの一例として、本図では、1/1/CCC.MPL、1/1/VVV.M2T、1/1/VVV.CLP、1/1/SSS.M2T、1/1/SSS.CLPが記述されている。BD_BUMFディレクトリから追加コンテンツデータファイルへのパスが明記されている。
 一方、仮想パッケージパスとして、BDMV/PLAYLIST/CCC.MPLS、BDMV/STREAM/VVV.M2TS、BDMV/CLIPINF/VVV.CLPI、BDMV/STREAM/SSS.M2TS、BDMV/CLIPINF/SSS.CLPIが記述されている。
 図54の右上は、このマニフェストファイルによって生成される仮想パッケージを示す。ローカルストレージパスにおいて、1/1/CCC.MPL、1/1/VVV.M2T、1/1/VVV.CLP、1/1/SSS.M2T、1/1/SSS.CLPに存在するファイルが、BDMV/PLAYLIST/CCC.MPLS、BDMV/STREAM/VVV.M2TS、BDMV/CLIPINF/VVV.CLPI、BDMV/STREAM/SSS.M2TS、BDMV/CLIPINF/SSS.CLPIに配置されるように、仮想的にディレクトリ・ファイル構成が変更される。こうすることで、BD-ROMにはないVVV.CLPI、VVV.M2TS、SSS.CLPI、SSS.M2TSが、仮想パッケージでは存在するかの如く取り扱われることになる。
 マージ管理情報に基づき、仮想パッケージが生成されれば、ローカルストレージ上のこれらのファイルは、このマージ管理情報におけるパス情報でアクセスすることができる。このとき、プログレッシブ属性が付与されているSSS.M2TSにおいては、仮想パッケージが構築される前に、ローカルストレージにダウンロードが完了している必要はない。仮想パッケージが構築された後、必要になる段階でダウンロードしても良い。

   よって、アップデートキットのダウンロードにあたって、ローカルストレージへの書き込みの順序は、
 マージ管理情報ファイル→プレイリスト情報→複数クリップ情報→複数AVクリップ
 となる。ここでプレイリスト情報-複数のクリップ情報の書き込みが完了した段階で、仮想パッケージの構築は可能になる。何故なら、AVクリップをDisable状態として扱えば、足りるからである。
 以上のように本実施形態によれば、サブプレイアイテムを、仮想的なファイルシステムを通じて、システムターゲットデコーダに供給することができる。(第6実施形態)
 本実施形態では、PGストリームプレイリストを実現するアップデートキットを作成するためのオーサリングシステムについての説明する。本図に示すように、オーサリングシステムは、ストレージ300a,b、素材制作部301、シナリオ生成部302、BD-J制作部303、多重化処理部304、フォーマット処理部から構成される。
 図55は、オーサリングシステムの一例を示す図である。
 ストレージ300a,b,cは、それぞれ、ROMシナリオデータ、ROMディスクイメージのバージョン1(ver.1)、ROMディスクイメージのバージョン2(ver.2)を格納している。
 素材制作部301は、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックストリームなどの各ストリームを作成する。素材制作部301は、非圧縮のビットマップなどの画像イメージをMPEG4-AVCやMPEG2などの圧縮方式に従い符号化することでビデオストリームを作成する。また素材制作部301は、非圧縮のLinearPCM音声などをAC3などの圧縮方式に従い符号化することでオーディオストリームを作成する。素材制作部301は、字幕イメージと表示タイミング、およびフェードイン/フェードアウトなどの字幕の効果を含む字幕情報ファイルを元にして、字幕ストリームであるプレゼンテーショングラフィックスストリームを作成する。素材制作部301は、メニューに使うビットマップイメージと、メニューに配置されるボタンの遷移や表示効果を記載したメニューファイルを元にして、メニュー画面を構成するインタラクティブグラフィックスストリームを作成する。
 シナリオ生成部302は、素材制作部301で作成した各ストリームの情報や、オーサリングスタッフからのGUIを経由した操作にしたがって、シナリオを作成する。ここで言うシナリオは、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなどのファイルがそれにあたる。また、シナリオ生成部302は、多重化処理を実現するための各AVクリップがどのストリームから構成されるかを記述したパラメータファイルを作成する。
 BD-J制作部303は、BD-Jアプリケーションをプログラミングする手段である。GUI等のユーザインターフェースを通じて、ユーザからの要求に従って、BD-Jアプリケーションプログラムのソースコードを作成し、BD-Jアプリケーションを作成する。
 多重化処理部304は、ROMシナリオデータに記述されているビデオ、オーディオ、字幕、ボタンなどの複数のストリームを多重化して、MPEG2-TS形式のAVクリップを作成する。このとき、AVクリップと対になるクリップ情報ファイルも同時に作成する。多重化処理部304によるクリップ情報ファイル内の生成は、以下の方法で行われる。多重化処理部304はAVクリップを作成と同時にエントリマップを作成する。より具体的には、素材制作部301で生成された各ストリームにおいて、含まれるビデオストリームがMPEG2であればIピクチャ、MPEG4-AVCであればIピクチャかIDRピクチャ、VC-1であればIピクチャが何処に存在するかを検出し、前述の各ピクチャの表示時刻と、MPEG2-TSとなっているAVクリップの何パケット目のソースパケットに前述の各ピクチャの先頭データが入っているかを対応付けたエントリポイントをエントリマップに登録していく。AVクリップに含まれるビデオストリームが、Primaryビデオ・Secondaryビデオの2種類がある場合は、どちらのエントリマップも同時に作成していく。多重化処理部304は、自ら生成したエントリマップと、AVクリップに含まれるストリーム毎の音声属性、映像属性などを示す属性情報をペアにしてクリップ情報ファイルを作成する。
 フォーマット処理部305は、シナリオ生成部302で生成したROMシナリオデータと、BD-J制作部303で制作したBD-Jアプリケーション、多重化処理部2604で生成したAVクリップやクリップ情報ファイルや、これまでの実施形態で説明したフォーマットでファイルやディレクトリを配置し、UDFのフォーマットでディスクイメージを作成する。生成したディスクイメージをBD-ROMプレス用データに変換し、このデータに対してプレス工程を行うことで、BD-ROMの製造が可能となる。
 アップデートキットを作成するには、二つのディスクイメージを用意する。1つはBD-ROMに格納されるディスクイメージであり、も第1の特徴つは仮想パッケージ構築後のディスクイメージである。
 差分抽出部306は、ストレージ300a,bに格納された二つのROMディスクイメージをコンペアして、差分データを抽出する。例えば、オリジナルのディスクイメージになかったファイルや、バイナリコンペアしてアップデートされているファイルなどを抽出する。
 アップデートキット制作部307は、差分抽出部306を元に前述で説明したアップデートキットのデータフォーマットに合うようにマージ管理情報ファイルや署名情報ファイルを作成し、ファイルやディレクトリを配置する。
 図56は、ROMディスクイメージ、アップデートキットイメージの作成方法について説明する。
 ステップS211において、素材制作部301はビデオストリーム、オーディオストリーム、IGストリーム、PGストリームを生成する。
 ステップS212において、シナリオ生成部302は、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなど再生シナリオを記述するROMシナリオデータを作成する。
 ステップS213において、BD-J制作部303は、BD-Jアプリケーションのプログラムを作成する。
 ステップS214において、多重化処理部304はROMシナリオデータを元にAVクリップとクリップ情報ファイルを作成する。
 ステップS215において、フォーマット処理部307は、ROMシナリオデータ、変形AVクリップ、クリップ情報ファイル、復元バイトコードデータを、これまでの実施形態で述べたファイル・ディレクトリ構造に並び替え、ROMディスクイメージを作成する。
 ステップS221において、差分抽出部306は二つのディスクイメージを比較して差分データを抽出する。
 ステップS222において、アップデートキット制作部307は、インデックスファイル、ムービーオブジェクトファイル、プレイリストファイルなど再生シナリオを記述するROMシナリオデータを作成する。
 ステップS223において、BD-J制作部303は、BD-Jアプリケーションのプログラムを作成する。
 ステップS224において、多重化処理部304はROMシナリオデータを元にAVクリップとクリップ情報ファイルを作成する。
 ステップS225において、フォーマット処理部307は、差分データをアップデートキットのデータフォーマットに合うように変換する。ステップS226において、マージ管理情報ファイルや署名情報ファイルを作成し、アップデートキット内に配置する。
 (備考)
 以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
 (プログラミング言語の適用範囲)
 上記実施形態では、仮想マシンのプログラミング言語としてJava(TM)を利用したが、Java(TM)ではなく、UNIX(TM) OSなどで使われているB-Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。
 (リアルタイムレコーディング)
 再生装置101は、リアルタイムレコーディングを行うことで、クリップファイルをローカルストレージに記録してもよい。この際、AVストリームは、アナログ入力信号を記録装置がセルフエンコードすることにより得られたトランスポートストリームであってもよいし、記録装置がデジタル入力したトランスポートストリームをパーシャル化することで得られるトランスポートストリームであってもよい。
 リアルタイムレコーディングにあたって上記装置は、AVストリームの記録と共に、メモリ上でクリップ情報やプレイリスト情報を生成する処理を行うが、この際、上述した各実施形態に記載したクリップ情報、プレイリスト情報をメモリ上で生成する。そしてAVストリームの記録を終えた後、生成されたクリップ情報、プレイリスト情報を記録媒体に書き込む。こうすることで、オーサリングシステムを用いずとも、家庭用の記録装置や、記録装置としての機能を具備したパーソナルコンピュータにて、各実施形態に示したクリップ情報、プレイリスト情報を作成することができる。そうして作成されたAVストリーム、クリップ情報、プレイリスト情報を、ライトワンス型の記録媒体に書き込んでもよい。
 (AV再生の対象)
 AV再生の対象は、デジタルストリーム、マップ情報、プレイリスト情報から構成されるコンテンツであるなら、BD-ROMに規定されたものに限らない。デジタルストリームは、MPEG2,MPEG4-AVC等の符号化方式で符号化されたビデオストリーム、オーディオストリームを多重化することで、得られた多重化ストリームであり、DVD Video-RecordingではVOBと呼ばれる。
 マップ情報は、上述したビデオストリームにおけるアクセスユニット(独立復号可能な再生単位をいう)のアドレス情報と、ビデオストリームの再生時間軸における再生時刻との対応を示す情報であり、DVD Video-RecordingではTime Mapと呼ばれる。
 プレイリスト情報は、開始点たる時刻情報と、終了点たる時刻情報との組みにより、1つ以上の再生区間を定義する情報である。
 (制御手順の実現)
 各実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。
 ・クリップファイルのダウンロードやDataStarvedイベントの出力を行うアプリケーションプログラムの生産形態
 クリップファイルのダウンロードやDataStarvedイベントの出力を行うアプリケーションプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。この際、Java言語でのプログラムのための様々なAPIコールを使用する。
 記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
 コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
 ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVAバイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
 オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、クリップファイルのダウンロードやDataStarvedイベントの出力を行うアプリケーションプログラムを作ることができる。こうして作成したプログラムをコンピュータ読取可能な記録媒体に記録してユーザに供給してもよい。
 (システムLSI化)
 再生装置101を構成するハードウェアのうち、機構的な構成要素(BDドライブ)、大容量のメモリによって実装される構成要素(ビデオプレーン、グラフィクスプレーン)を除いた、論理素子を主要部とするシステムターゲットデコーダやBD-J処理部の部分を一体化してシステムLSIとして構成することが望ましい。何故なら、論理素子を主要部とする部分は、高密度に集積化することができるからである。
  システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
 ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
 これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置101の中核としての役割を果たす。
 かかるシステムLSIは、再生装置101は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、再生装置の用途を多いに広げることができる。
 エレメンタバッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
 Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
 ・データ並列プロセッサDPP
 これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
 ・命令並列プロセッサIPP
 これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
  ・MPUブロック
 これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
 ・ストリームI/Oブロック
 これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリムーバブルメディアドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
 ・AVI/Oブロック
 これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
 ・メモリ制御ブロック
 これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
 具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
 そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
 回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
 こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置101の内部構成図を基に作ることができる。
 尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込ませる必要がある。
 本発明に係る再生装置は、ストリーミングライクな再生機能を効率的に行い、ユーザに長いダウンロード時間を与えずにすむので、より魅力的な映画タイトルなどの動画コンテンツを市場に供給することができ、映画市場や民生機器市場を活性化させることができる。故に本発明に係る再生装置は、映画産業や民生機器産業において高い利用可能性をもつ

Claims (11)

  1. プレイリストを再生する再生装置であって、
     プレイリストは、複数のプレイアイテムと、複数のサブプレイアイテムとを含み、
     前記プレイアイテムは、メインストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を規定する情報であり、
     前記サブプレイアイテムは、サブストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を、プレイアイテムと同期すべき再生区間として規定する情報であり、
     前記サブプレイアイテムが参照するクリップファイルは、伝送路を介して伝送されるクリップファイルであり、サブストリームは、プレイアイテムが参照しているクリップファイルとは多重化されておらず、
     プレイリストに含まれるプレイアイテムを再生する再生手段と、
     複数のプレイアイテムのうち、再生対象になっているものをカレントプレイアイテムとして特定する特定手段と、
     カレントプレイアイテムが変化する度に、カレントプレイアイテムにとって最適なサブプレイアイテムをカレントサブプレイアイテムとして決定する決定手段と、
     前記カレントプレイアイテムと同期して再生すべきカレントサブストリームを指し示すサブストリームレジスタとを備え、
     前記カレントサブプレイアイテムとは、
     カレントプレイアイテムと同期すべき再生区間を規定するサブプレイアイテムであって、前記サブストリームレジスタが指し示すサブストリームの再生区間を規定するものであり、
     前記再生手段は、
     再生装置がアクセス可能な記録媒体に、カレントサブプレイアイテムによって参照されているクリップファイルが存在すればプレイアイテムの再生を進行し、カレントサブプレイアイテムによって参照されているクリップファイルが記録媒体において存在しないか又は認識不能な状態になっていれば、プレイアイテムの再生を停止する
     ことを特徴とする再生装置。
  2.  サブストリームには、オーディオストリーム、ビデオストリーム、字幕ストリームという種別があり、
     サブストリームレジスタは、サブストリームの種別毎にストリーム番号を保持する番号レジスタを備え、各番号レジスタは、ストリーム番号を保持することで、サブストリームの種別毎のカレントサブストリームを指し示し、
     前記カレントサブプレイアイテムは、
     番号レジスタが指し示すカレントサブストリームを格納したクリップファイルを参照しているサブプレイアイテムである
     ことを特徴とする請求項1記載の再生装置。
  3.  前記再生装置は、
     記録媒体におけるクリップファイルの状態を管理する管理手段を備え、
     前記クリップファイルは、
     アプリケーションがサーバ装置に対してダウンロードを要求することで伝送路を介して再生装置に送信され、
     前記再生手段による再生開始は、
     アプリケーションが、プレイリスト情報に対してプレーヤインスタンスを生成することでなされ、
     前記再生手段の停止は、
     カレントサブプレイアイテムによって参照されているクリップファイルが記録媒体において存在しないか又は認識不能な状態になっている場合、管理手段が、再生手段及びプレーヤインスタンスに、再生停止を指示するイベントを出力することでなされる
     ことを特徴とする請求項1記載の再生装置
  4.  プレイアイテムから参照されるクリップファイルはビデオストリームを含み、

     サブストリームは、前記ビデオストリームと同期して再生することで立体視をユーザに行うサブビデオストリームであり、
     プレイリストは、立体視セッティング情報を含み、立体視セッティング情報は、立体視をオンとするか、オフとするかを示し、
     立体視セッティング情報が立体視オフを示している場合、再生手段は、サブプレイアイテムにて参照されているクリップファイルであって、サブビデオストリームを含むクリップファイルが前記記録媒体に存在しないか又は認識不能な状態になっていたとしても、再生を停止せず、
     再生手段が再生を停止するのは、プレイリストにおける立体視セッティング情報が立体視オンを示している場合であって、カレントサブプレイアイテムによって参照されているクリップファイルが前記記録媒体に存在しないか又は認識不能な状態になっている場合に限る
     ことを特徴とする請求項1記載の再生装置。
  5.  サブストリームは、字幕ストリームであり、
     前記サブストリームレジスタは更に、字幕オン/オフの設定を含み、
     前記再生手段は、
     前記サブストリームレジスタが字幕オフを示している場合、字幕ストリームを含む何れのクリップファイルが記録媒体に存在しないか、又は、認識不能な状態であったとしても再生を停止せず、
     再生を停止するのは、前記サブストリームレジスタが字幕オンを示している場合であって、カレントサブプレイアイテムによって参照されているクリップファイルが記録媒体において存在しないか又は認識不能な状態になっている場合に限る
     ことを特徴とする請求項1記載の再生装置。
  6. プレイアイテム情報は、再生が可能なサブストリームを示すストリーム番号テーブルを含み、
     前記ストリーム番号テーブルは、複数のサブストリームエントリーとを含み、
     複数のサブストリームエントリーは、プレイアイテムと同期して再生することができる複数のサブストリームを示す情報であり、
     各々サブストリームエントリーは、同期再生可能なサブストリームと、サブプレイアイテム情報との対応付けて示す情報であり、ストリーム番号テーブルにおけるサブストリームエントリーの順序は、サブストリームの優先順位を示し、
     カレントサブストリームは、
     同期再生可能な複数のサブストリームのうち、対応するサブストリームエントリーの優先順位が最高位のものである
     ことを特徴とする請求項1記載の再生装置。
  7.  前記再生装置は、デッキ情報を格納するセッティングレジスタを備え、
     デッキ情報は、再生装置における言語設定を示し、
     前記決定手段は、
     再生が許可されているサブストリームのうち、デッキ情報に示される言語設定と合致する言語属性を有するものを、カレントサブストリームとして決定する
     ことを特徴とする請求項1記載の再生装置。
  8. プレイリストの再生時に参照されるクリップファイルを記録媒体に書き込む記録装置であって、
     プレイリストは、複数のプレイアイテムと、複数のサブプレイアイテムとを含み、
     前記プレイアイテムは、メインストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を規定する情報であり、
     前記サブプレイアイテムは、サブストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を、プレイアイテムと同期すべき再生区間として規定する情報であり、
     前記サブプレイアイテムが参照するクリップファイルは、伝送路を介して伝送されるクリップファイルであり、サブストリームは、プレイアイテムが参照しているクリップファイルとは多重化されておらず、
     クリップファイルを伝送路を介して受け取って、記録媒体に書き込む書込手段と、
     記録媒体に書き込まれたクリップファイルの状態を管理する管理手段と、
     プレイリストに含まれるプレイアイテムを再生する再生手段と、
     複数のプレイアイテムのうち、再生対象になっているものをカレントプレイアイテムとして特定する特定手段と、
     カレントプレイアイテムが変化する度に、カレントプレイアイテムにとって最適なサブプレイアイテムをカレントサブプレイアイテムとして決定する決定手段と、
     前記カレントプレイアイテムと同期して再生すべきカレントサブストリームを指し示すサブストリームレジスタとを備え、
     前記カレントサブプレイアイテムとは、
     カレントプレイアイテムと同期すべき再生区間を規定するサブプレイアイテムであって、前記サブストリームレジスタが指し示すサブストリームの再生区間を規定するものであり、
     前記再生手段は、
     再生装置がアクセス可能な記録媒体に、カレントサブプレイアイテムによって参照されているクリップファイルが存在すればプレイアイテムの再生を進行し、カレントサブプレイアイテムによって参照されているクリップファイルが記録媒体において存在しないか又は認識不能な状態になっていれば、プレイアイテムの再生を停止する

     ことを特徴とする記録装置。
  9.  アプリケーションは、カレントプレイアイテムの再生がなされている期間内に、プレイリスト情報に含まれる複数のサブプレイアイテム情報のうち、カレントサブプレイアイテムの次順位となるものをネクストサブプレイアイテムとして特定して、ネクストサブプレイアイテムによって参照されているクリップファイルのダウンロードを、サーバ装置に対して要求し、
     前記書込手段によって記録媒体に書き込まれるクリップファイルは、ネクストサブプレイアイテム情報によって参照されているクリップファイルである
     ことを特徴とする請求項8記載の記録装置。
  10. プレイリストを再生する再生方法であって、
     プレイリストは、複数のプレイアイテムと、複数のサブプレイアイテムとを含み、
     前記プレイアイテムは、メインストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を規定する情報であり、
     前記サブプレイアイテムは、サブストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を、プレイアイテムと同期すべき再生区間として規定する情報であり、
     前記サブプレイアイテムが参照するクリップファイルは、伝送路を介して伝送されるクリップファイルであり、サブストリームは、プレイアイテムが参照しているクリップファイルとは多重化されておらず、
     プレイリストに含まれるプレイアイテムを再生する再生ステップと、
     複数のプレイアイテムのうち、再生対象になっているものをカレントプレイアイテムとして特定する特定ステップと、
     カレントプレイアイテムが変化する度に、カレントプレイアイテムにとって最適なサブプレイアイテムをカレントサブプレイアイテムとして決定する決定ステップと、
     前記カレントプレイアイテムと同期して再生すべきカレントサブストリームを指し示すステップとを有し、
     前記カレントサブプレイアイテムとは、
     カレントプレイアイテムと同期すべき再生区間を規定するサブプレイアイテムであって、カレントサブストリームの再生区間を規定するものであり、
     前記再生ステップは、
     アクセス可能な記録媒体に、カレントサブプレイアイテムによって参照されているクリップファイルが存在すればプレイアイテムの再生を進行し、カレントサブプレイアイテムによって参照されているクリップファイルが記録媒体において存在しないか又は認識不能な状態になっていれば、プレイアイテムの再生を停止する
     ことを特徴とする再生方法。
  11. プレイリストの再生時に参照されるクリップファイルを記録媒体に書き込む記録方法であって、
     プレイリストは、複数のプレイアイテムと、複数のサブプレイアイテムとを含み、
     前記プレイアイテムは、メインストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を規定する情報であり、
     前記サブプレイアイテムは、サブストリームを含むクリップファイルと、当該クリップファイルにおける再生区間を、プレイアイテムと同期すべき再生区間として規定する情報であり、
     前記サブプレイアイテムが参照するクリップファイルは、伝送路を介して伝送されるクリップファイルであり、サブストリームは、プレイアイテムが参照しているクリップファイルとは多重化されておらず、
     クリップファイルを伝送路を介して受け取って、記録媒体に書き込む書込ステップと、
     記録媒体に書き込まれたクリップファイルの状態を管理する管理ステップと、
     プレイリストに含まれるプレイアイテムを再生する再生ステップと、
     複数のプレイアイテムのうち、再生対象になっているものをカレントプレイアイテムとして特定する特定ステップと、
     カレントプレイアイテムが変化する度に、カレントプレイアイテムにとって最適なサブプレイアイテムをカレントサブプレイアイテムとして決定する決定ステップと、
     前記カレントプレイアイテムと同期して再生すべきカレントサブストリームを指し示すステップとを有し、
     前記カレントサブプレイアイテムとは、
     カレントプレイアイテムと同期すべき再生区間を規定するサブプレイアイテムであって、カレントサブストリームの再生区間を規定するものであり、
     前記再生ステップは、
     カレントサブプレイアイテムによって参照されているクリップファイルが、記録媒体において存在すればプレイアイテムの再生を進行し、カレントサブプレイアイテムによって参照されているクリップファイルが記録媒体において存在しないか又は認識不能な状態になっていれば、プレイアイテムの再生を停止する
     ことを特徴とする記録方法。
PCT/JP2009/000505 2008-02-15 2009-02-09 再生装置、記録装置、再生方法および記録方法 WO2009101787A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2009553359A JP5281021B2 (ja) 2008-02-15 2009-02-09 再生装置、記録装置、再生方法および記録方法
BRPI0902891A BRPI0902891A2 (pt) 2008-02-15 2009-02-09 dispositivo de reprodução, dispositivo de gravação, método de reprodução e método de gravação
EP09710717.1A EP2242269A4 (en) 2008-02-15 2009-02-09 APSPIELGERÄT, RECORDING DEVICE, PLAYING PROCEDURE AND RECORDING PROCEDURE
CN2009800002409A CN101682744B (zh) 2008-02-15 2009-02-09 再现装置、记录装置、再现方法及记录方法
RU2009138027/07A RU2516463C2 (ru) 2008-02-15 2009-02-09 Устройство воспроизведения, записывающее устройство, способ воспроизведения и способ записи
MX2009010856A MX2009010856A (es) 2008-02-15 2009-02-09 Dispositivo de reproduccion, dispositivo de grabacion, metodo de reproduccion y metodo de grabacion.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2905408P 2008-02-15 2008-02-15
US61/029,054 2008-02-15

Publications (1)

Publication Number Publication Date
WO2009101787A1 true WO2009101787A1 (ja) 2009-08-20

Family

ID=40955219

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/000505 WO2009101787A1 (ja) 2008-02-15 2009-02-09 再生装置、記録装置、再生方法および記録方法

Country Status (9)

Country Link
US (1) US8849088B2 (ja)
EP (1) EP2242269A4 (ja)
JP (1) JP5281021B2 (ja)
KR (1) KR20100121574A (ja)
CN (1) CN101682744B (ja)
BR (1) BRPI0902891A2 (ja)
MX (1) MX2009010856A (ja)
RU (1) RU2516463C2 (ja)
WO (1) WO2009101787A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011040414A1 (ja) * 2009-09-30 2011-04-07 シャープ株式会社 情報記録媒体、情報記録媒体を用いた再生方法及び記録方法、情報記録再生装置、並びに、3次元化ユニット及び情報記録装置
JP2011205481A (ja) * 2010-03-26 2011-10-13 Sharp Corp 立体映像視聴具及び立体映像表示システム
CN102714662A (zh) * 2010-01-18 2012-10-03 瑞典爱立信有限公司 用于http媒体流分发的方法和装置
JPWO2011074070A1 (ja) * 2009-12-15 2013-04-25 パイオニア株式会社 画像出力装置
US9131203B2 (en) 2009-09-30 2015-09-08 Sharp Kabushiki Kaisha Information recording medium, reproduction method and recording method using information recording medium, information recording/reproduction device, and 3D conversion unit and information recording device
CN106411969A (zh) * 2015-07-28 2017-02-15 广州酷狗计算机科技有限公司 歌单生成方法及装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
JP5314915B2 (ja) * 2008-04-10 2013-10-16 アルパイン株式会社 車載ビデオ再生装置
MY158412A (en) * 2008-07-25 2016-10-14 Koninkl Philips Electronics Nv 3d display handling of subtitles
KR100972541B1 (ko) * 2008-07-28 2010-07-28 드리머 Bd-j 기반 컨텐츠 제공 방법 및 이를 실현시키기 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
US9754625B2 (en) * 2008-07-31 2017-09-05 Warner Bros. Entertainment Inc. Generation and use of user-selected scenes playlist from distributed digital content
TWI389001B (zh) * 2009-06-01 2013-03-11 Mstar Semiconductor Inc 檔案系統及檔案系統轉換方法
US9185328B2 (en) * 2009-06-08 2015-11-10 Lg Electronics Inc. Device and method for displaying a three-dimensional PIP image
US20110157302A1 (en) * 2009-12-30 2011-06-30 Ati Technologies Ulc Three-dimensional video display system with multi-stream sending/receiving operation
US8771064B2 (en) 2010-05-26 2014-07-08 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming
WO2012123982A1 (ja) * 2011-03-11 2012-09-20 日立コンシューマエレクトロニクス株式会社 記録装置/方法/媒体、再生装置/方法
US8681170B2 (en) 2011-05-05 2014-03-25 Ati Technologies Ulc Apparatus and method for multi-streaming for more than three pixel component values
KR20140029991A (ko) * 2012-08-31 2014-03-11 삼성전자주식회사 프로그래시브 플레이리스트 재생 장치 및 재생 방법, 기록 장치 및 기록 방법, 이를 위한 정보저장매체
WO2016157860A1 (ja) * 2015-03-27 2016-10-06 パナソニックIpマネジメント株式会社 録画再生装置、および番組情報の表示方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005124779A1 (ja) * 2004-06-18 2005-12-29 Matsushita Electric Industrial Co., Ltd. 再生装置、プログラム、再生方法
JP2006244655A (ja) * 2005-03-04 2006-09-14 Matsushita Electric Ind Co Ltd 再生装置および再生方法
JP2007074608A (ja) * 2005-09-09 2007-03-22 Hitachi Ltd 再生装置および再生方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2175665B1 (en) * 1996-12-04 2012-11-21 Panasonic Corporation Optical disk for high resolution and three-dimensional video recording, optical disk reproduction apparatus, and optical disk recording apparatus
WO2004030356A1 (ja) 2002-09-25 2004-04-08 Matsushita Electric Industrial Co., Ltd. 再生装置、光ディスク、記録媒体、プログラム、再生方法
BR0307028A (pt) 2002-11-20 2004-11-03 Lg Electronics Inc Meio de gravação tendo uma estrutura de dados para o gerenciamento da reprodução de dados gravados no mesmo e métodos e aparelhos de gravação e reprodução
JP4228767B2 (ja) 2003-04-25 2009-02-25 ソニー株式会社 再生装置、再生方法、再生プログラムおよび記録媒体
KR100863395B1 (ko) * 2003-10-03 2008-10-14 샤프 가부시키가이샤 기록 재생 장치 및 파일 액세스 방법
KR100982517B1 (ko) 2004-02-02 2010-09-16 삼성전자주식회사 이벤트 정보가 포함된 동영상 데이터가 기록된 저장 매체 및 재생 장치
MXPA06012806A (es) * 2004-05-11 2007-01-26 Matsushita Electric Ind Co Ltd Reproductor, programa y metodo de reproduccion.
BRPI0514432A (pt) * 2004-08-17 2008-06-10 Lg Electronics Inc método e aparelho para reproduzir dados gravados em meio de gravação
EP1836710A2 (en) * 2005-01-07 2007-09-26 LG Electronics Inc. Method and apparatus for reproducing data from recording medium using local storage
CN101151671B (zh) * 2005-01-28 2011-03-02 松下电器产业株式会社 播放装置和方法
CN101156208B (zh) * 2005-04-07 2010-05-19 松下电器产业株式会社 记录媒体、再现装置、记录方法、再现方法
JP4923751B2 (ja) * 2005-08-30 2012-04-25 ソニー株式会社 再生装置、並びに記録媒体及びその製造方法
JP4815962B2 (ja) * 2005-09-12 2011-11-16 ソニー株式会社 再生装置および再生方法、プログラム、並びに、プログラム格納媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005124779A1 (ja) * 2004-06-18 2005-12-29 Matsushita Electric Industrial Co., Ltd. 再生装置、プログラム、再生方法
JP2006244655A (ja) * 2005-03-04 2006-09-14 Matsushita Electric Ind Co Ltd 再生装置および再生方法
JP2007074608A (ja) * 2005-09-09 2007-03-22 Hitachi Ltd 再生装置および再生方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2242269A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011040414A1 (ja) * 2009-09-30 2011-04-07 シャープ株式会社 情報記録媒体、情報記録媒体を用いた再生方法及び記録方法、情報記録再生装置、並びに、3次元化ユニット及び情報記録装置
US9131203B2 (en) 2009-09-30 2015-09-08 Sharp Kabushiki Kaisha Information recording medium, reproduction method and recording method using information recording medium, information recording/reproduction device, and 3D conversion unit and information recording device
JPWO2011074070A1 (ja) * 2009-12-15 2013-04-25 パイオニア株式会社 画像出力装置
CN102714662A (zh) * 2010-01-18 2012-10-03 瑞典爱立信有限公司 用于http媒体流分发的方法和装置
US9621610B2 (en) 2010-01-18 2017-04-11 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for HTTP media stream distribution
CN102714662B (zh) * 2010-01-18 2017-06-09 瑞典爱立信有限公司 用于http媒体流分发的方法和装置
JP2011205481A (ja) * 2010-03-26 2011-10-13 Sharp Corp 立体映像視聴具及び立体映像表示システム
CN106411969A (zh) * 2015-07-28 2017-02-15 广州酷狗计算机科技有限公司 歌单生成方法及装置

Also Published As

Publication number Publication date
MX2009010856A (es) 2009-11-02
EP2242269A1 (en) 2010-10-20
JPWO2009101787A1 (ja) 2011-06-09
CN101682744A (zh) 2010-03-24
BRPI0902891A2 (pt) 2015-09-22
EP2242269A4 (en) 2014-05-07
US20090208189A1 (en) 2009-08-20
RU2516463C2 (ru) 2014-05-20
US8849088B2 (en) 2014-09-30
KR20100121574A (ko) 2010-11-18
JP5281021B2 (ja) 2013-09-04
RU2009138027A (ru) 2011-04-20
CN101682744B (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
JP5281021B2 (ja) 再生装置、記録装置、再生方法および記録方法
JP4923162B2 (ja) 受信装置、受信方法
JP5336436B2 (ja) 集積回路
JP5027952B2 (ja) 受信装置
JP4724255B1 (ja) 再生装置
JP5291026B2 (ja) 3d映像を再生する再生装置、および配信装置
WO2010038409A1 (ja) 再生装置、記録媒体、及び集積回路
JP2013255250A (ja) 旧来のフォーマットとの互換を維持しつつも、記録内容を編集することができる記録媒体、再生装置、記録装置
JPWO2010103827A1 (ja) 再生装置、再生方法、記録媒体、アプリケーション、及びオーサリング装置

Legal Events

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

Ref document number: 200980000240.9

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020097016807

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2009710717

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2009553359

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 3475/KOLNP/2009

Country of ref document: IN

Ref document number: 12009501905

Country of ref document: PH

WWE Wipo information: entry into national phase

Ref document number: MX/A/2009/010856

Country of ref document: MX

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09710717

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009138027

Country of ref document: RU

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: PI0902891

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20091014