WO2010052857A1 - 再生装置、再生方法、再生プログラム、及び集積回路 - Google Patents

再生装置、再生方法、再生プログラム、及び集積回路 Download PDF

Info

Publication number
WO2010052857A1
WO2010052857A1 PCT/JP2009/005713 JP2009005713W WO2010052857A1 WO 2010052857 A1 WO2010052857 A1 WO 2010052857A1 JP 2009005713 W JP2009005713 W JP 2009005713W WO 2010052857 A1 WO2010052857 A1 WO 2010052857A1
Authority
WO
WIPO (PCT)
Prior art keywords
playback
image data
video
unit
application program
Prior art date
Application number
PCT/JP2009/005713
Other languages
English (en)
French (fr)
Inventor
ライクセンリングジェルマーノ
柏木吉一郎
森美裕
小塚雅之
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to CN2009801072184A priority Critical patent/CN101960862A/zh
Priority to JP2010536659A priority patent/JP5368470B2/ja
Publication of WO2010052857A1 publication Critical patent/WO2010052857A1/ja

Links

Images

Classifications

    • 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
    • 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
    • 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/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • 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/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • 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/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00253Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
    • G11B20/00362Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being obtained from a media key block [MKB]
    • 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/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • G11B20/00528Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted wherein each title is encrypted with a separate encryption key for each title, e.g. title key for movie, song or data file
    • 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording

Definitions

  • the present invention relates to a stereoscopic video reproduction technique, and more particularly, to a technique for superimposing and displaying a graphics video on a stereoscopic video.
  • BD read-only Blu-ray Disc
  • the content on the BD-ROM disc is composed of at least one title.
  • the “title” is expressed by a combination of an application program, a video / audio stream, and image data.
  • the image data represents graphics video such as subtitles and graphics user interface (GUI), and background video.
  • GUI graphics user interface
  • the resolution of the video stream varies from a standard image quality of 720 ⁇ 480 according to the NTSC standard to a high image quality of up to 1920 ⁇ 1080.
  • the BD-ROM playback device reads an application program corresponding to the title from the BD-ROM disc and executes it.
  • the application program causes the playback device to select one suitable for the playback environment from among the image data, and writes it to a different plane memory for video, graphics, and background.
  • the data held in each plane memory, that is, the plane is processed in parallel and then combined into a single video frame.
  • the BD-ROM playback device can reproduce appropriate video / audio on various display devices (see, for example, Patent Document 1).
  • an application program when a playback device can be connected to an external network such as the Internet, an application program can cause the playback device to download new digital content from the external network.
  • contents include content added to the contents on the BD-ROM disc such as privilege video and subtitles, and interactive contents such as a browser screen and a game.
  • the application program further causes the playback device to display the subtitles downloaded from the external network overlaid on the playback video from the BD-ROM disc, and the browser screen downloaded from the external network on the same screen as the video Can be displayed together.
  • These functions are called “BD-Live” (registered trademark). With the widespread use of BD-ROM playback devices, user interest in the BD-Live function is increasing.
  • the spread of the BD-ROM playback device further increases the possibility of spreading the display technology of stereoscopic video (also referred to as three-dimensional (3D) video) to each home.
  • Stereoscopic video display technology is considered promising as the next generation display technology, and its development is rapidly progressing.
  • the display technology basically uses the fact that “a person perceives the three-dimensional shape and depth of an object from binocular parallax” (see, for example, Patent Documents 1-3 and Non-Patent Document 1). Specifically, first, two video frames, that is, a left-view video frame and a right-view video frame are prepared for one scene. Between these frames, the horizontal position and orientation of the same subject are slightly different.
  • the left-view video frame is projected to the viewer's left eye, and almost simultaneously, the right-view video frame is projected to the right eye.
  • the viewer perceives the three-dimensional shape and depth of the subject from slight displacement and posture change of the subject between frames seen by each eye, that is, binocular parallax.
  • the stereoscopic image display technique requires two frames for each scene. Accordingly, a stereoscopic video has a larger amount of data per display time than a planar video (also referred to as a two-dimensional (2D) video). Therefore, a BD-ROM disc and a BD-ROM playback device are advantageous for the stereoscopic image display technology.
  • each plane memory has a capacity that can cope with a high image quality of 1920 ⁇ 1080.
  • an image data area is provided in a memory device built in the BD-ROM playback device. In the image data area, image data read from the BD-ROM disc is stored in a decoded state. The image data stored in the image data area is written in different plane memories, for example, for the interactive screen and the background.
  • a cache area is provided in the built-in memory device. The cache area stores image data downloaded from the external network.
  • the BD-ROM playback device requires a large capacity memory for storing and processing image data. Therefore, when a stereoscopic video display function is added to the BD-ROM playback device, additional capacity such as the capacity of the plane memory to be added is required to suppress the increase in the manufacturing cost of the playback device as much as possible. It is desirable to reduce the memory capacity as much as possible.
  • the memory area for storing the image data may be changed dynamically.
  • the cache area used for the BD-Live function can be used for holding the left and right image planes.
  • both the memory area for storing image data and the cache area are fixed in accordance with the hardware environment such as the presence or absence of connection to an external network.
  • application programs belonging to each title are designed on the premise of static allocation of memory areas.
  • an application program that uses the BD-Live function requires a cache area having a capacity equal to a fixed value. Therefore, if the memory area is changed while these application programs are running, the image data downloaded from the external network by the application program may be written to a memory area other than the cache area. Sex occurs.
  • An object of the present invention is to solve the above-described problems, and in particular, to provide a playback device capable of playing back digital content with a higher stereoscopic effect of graphics images without increasing the memory capacity. It is in.
  • a playback device includes a reading unit, a virtual machine unit, a memory unit, a playback unit, and a management unit.
  • the reading unit reads an application program, image data, a video stream, and an application management file from the recording medium.
  • the virtual machine unit executes the application program.
  • the memory unit includes an image data area for storing the image data.
  • the reproduction unit reproduces video data from the image data and the video stream according to the application program.
  • the management unit instructs the virtual machine unit to start and end the application program, and instructs the memory unit to change the image data area.
  • the management unit instructs the memory unit to change the image data area, it is compulsory even if the application program is specified in the virtual machine unit and the continuation of the execution is specified in the application management file. To finish.
  • the playback device changes the image data area after forcibly terminating the application program read from the recording medium.
  • the image data area can be dynamically changed while reliably preventing malfunction of the application program.
  • the image data area can be reduced, and the free area generated thereby can be used to hold both the left-view and right-view image planes.
  • the above-described playback apparatus can play back digital content with a higher stereoscopic effect of graphics video without increasing the memory capacity.
  • FIG. 2 is a schematic diagram showing a data structure on a BD-ROM disc 100 according to Embodiment 1 of the present invention.
  • (A) is a schematic diagram showing the data structure of a BD-J object
  • (b) is a schematic diagram showing the life cycle of six types of application programs A1-A5 and A11.
  • State transition diagram showing states 1-4 of the playback device according to the first embodiment of the present invention Schematic diagram showing the data structure of the JAR file 237A shown in FIG.
  • FIG. 13 Schematic diagram showing the data structure of the 3D metadata 1103 shown in FIG. Schematic diagram showing the data structure of the second playlist file 233B shown in FIG. Schematic diagram showing the data structure of the play item information 1400 shown in FIG. Schematic diagram showing playlist information 1301 shown in FIG. 13 and AV clips CL1, CL2, and CL4 to be played according to the playlist information 1301.
  • the block diagram which shows the hardware constitutions of the reproducing
  • FIG. 19 is a schematic diagram showing image planes stored in the offset mode and the two-plane mode in the IG plane memory area 1911 shown in FIG. Functional block diagram of state 1 of adder 1807 shown in FIG. Functional block diagram in state 2 of the adder 1807 shown in FIG.
  • the schematic diagram which shows the cropping process with respect to PG plane GP by the 2nd cropping processor 2212 shown by FIG.
  • FIG. 1 is a schematic diagram showing a home theater system including a playback device according to Embodiment 1 of the present invention.
  • the home theater system includes a recording medium 100, a playback device 110, a display device 120, shutter glasses 130, and a remote controller 140.
  • the recording medium 100 is a BD-ROM disc.
  • the recording medium 100 may be another portable recording medium, for example, a semiconductor memory device such as an optical disk, a magneto-optical disk, a flexible disk, a removable hard disk drive (HDD), or an SD memory card using another method such as a DVD. Good.
  • the BD-ROM disc 100 stores 3D video movie content.
  • the movie content includes a left-view and right-view video stream pair.
  • the playback device 110 is equipped with a BD-ROM drive 111.
  • the BD-ROM drive 111 is an optical disk drive conforming to the BD-ROM system.
  • the playback apparatus 110 reads movie content from the BD-ROM disc 100 using the BD-ROM drive 111.
  • the playback device 110 further decodes the movie content into video data / audio data.
  • the video data is a video frame of either a left view or a right view. Including only.
  • both the playback device 110 and the display device 120 are capable of displaying 3D video, the video data includes both left-view and right-view video frames.
  • the playback device 110 is connected to the display device 120 via an HDMI (High-Definition Multimedia Interface) cable 112.
  • the playback device 110 converts the video data / audio data into an HDMI video signal / audio signal and transmits it to the display device 120 through the HDMI cable 112.
  • the playback device 110 exchanges CEC messages with the display device 120 through the HDMI cable 112. Thereby, the playback device 110 inquires of the display device 120 whether or not the display device 120 can support the display of 3D video.
  • the playback device 110 is connected to an external network 150 such as the Internet, and can communicate with the server device 160 through the external network 150.
  • the playback device 110 is compatible with the BD-Live function. That is, the playback device 110 can download new content from the server device 160 and play it back.
  • the new content includes content added to the movie content on the BD-ROM disc 100 and interactive content.
  • the additional content includes sub-audio, subtitles, and application programs to be added to the movie content, and privileged video related to the movie content.
  • Interactive content includes browser screens and games.
  • the playback device 110 displays the video of the additional content such as captions superimposed on the video played from the BD-ROM disc 100, or displays the video of the interactive content such as a browser screen on the same screen as the video. it can.
  • the display device 120 is a liquid crystal display.
  • the display device 120 may be another type of flat panel display or projector such as a plasma display and an organic EL display.
  • the display device 120 reproduces the video on the screen 121 according to the video signal, and generates sound from the built-in speaker according to the audio signal.
  • both the playback device 110 and the display device 120 can support 3D video display, the left-view video frame and the right-view video frame are alternately displayed on the screen 121.
  • the display device 120 When the display device 120 can support 3D video display, the display device 120 further includes a left / right signal transmission unit 122.
  • the left / right signal transmitting unit 122 transmits the left / right signal LR to the shutter glasses 130 by infrared rays or wirelessly.
  • the left / right signal LR indicates which video frame of left view or right view is currently displayed on the screen.
  • the display device 120 identifies both video frames from the control signal accompanying the video signal, and changes the left / right signal LR to the left / right signal transmission unit 122 in synchronization with the switching thereof.
  • the shutter glasses 130 include two liquid crystal display panels 131L and 131R and a left / right signal receiving unit 132.
  • the liquid crystal display panels 131L and 131R constitute left and right lens portions.
  • the left / right signal receiving unit 132 receives the left / right signal LR, and sends a signal to the left and right liquid crystal display panels 131L and 131R according to the change.
  • Each of the liquid crystal display panels 131L and 131R transmits or blocks light uniformly in its entirety according to the signal.
  • the left / right signal LR indicates a left-view video frame
  • the left-eye liquid crystal display panel 131L transmits light
  • the right-eye liquid crystal display panel 131R blocks light.
  • the left and right signal LR indicates the display of a right view video frame.
  • the two liquid crystal display panels 131L and 131R alternately transmit light in synchronization with the switching of the frames.
  • the left-view video frame appears only in the viewer's left eye
  • the right-view video frame appears only in the right eye.
  • the viewer perceives the difference between frames appearing in each eye as binocular parallax for one virtual solid. That is, the viewer sees the two frames as one virtual solid.
  • the remote control 140 includes an operation unit and a transmission unit.
  • the operation unit includes a plurality of buttons. Each button is associated with each function of the playback device 110 or the display device 120, such as turning on / off the power source or starting / stopping playback of video from the BD-ROM disc 100.
  • the operation unit detects pressing of each button by the user, and passes a signal specifying the button to the transmission unit.
  • the transmission unit transmits the signal to the playback device 110 or the display device 120 as an infrared or wireless signal IR. Thereby, the user can remotely control the playback device 110 or the display device 120.
  • FIG. 2 is a schematic diagram showing a data structure on the BD-ROM disc 100.
  • a BCA (BursturCutting Area) 201 is provided at the innermost periphery of the data recording area on the BD-ROM disc 100. Access to the BCA 201 is permitted only by the BD-ROM drive 111, and access by the application program is prohibited. Thereby, the BCA 201 is used for copyright protection technology.
  • a track 202 extends spirally from the inside of the disk 100 to the outside. In FIG. 2, the track 202 is depicted as being virtually stretched in the horizontal direction.
  • the left side of the track 202 represents the inside of the disc 100, and the right side represents the outside.
  • the track 202 includes a lead-in area 211, a volume area 212, and a lead-out area 213 in order from the inside of the disk 100.
  • the lead-in area 211 is provided just outside the BCA 201.
  • the lead-in area 211 includes information necessary for accessing the volume area 212, such as the size and physical address of data recorded in the volume area 212.
  • the lead-out area 213 is provided on the outermost side of the data recording area and indicates the end of the volume area 212.
  • the volume area 212 includes application data such as video and audio.
  • the volume area 212 is divided into small areas called “sectors”. Each sector is assigned a serial number in order from the top of the volume area 212. This serial number is called a logical address (or logical block number). Reading data from the BD-ROM disc 100 is executed by designating the logical address of the sector in which the data is stored. Thus, the volume area 212 can be accessed in units of sectors. Further, in the BD-ROM disc 100, the logical address is substantially equal to the physical address. That is, the physical address is substantially continuous in the area where the logical address is continuous. Accordingly, the BD-ROM drive 111 can continuously read data from sectors having consecutive logical addresses without causing the optical pickup to seek.
  • the file system for the volume area 212 employs UDF (Universal Disc Format).
  • the file system may be ISO 9660.
  • the data recorded in the volume area 212 is expressed in a directory / file format. That is, these data can be accessed in directory units or file units.
  • FIG. 2 further shows a directory / file structure 214 on the BD-ROM disc 100.
  • a BD movie (BDMV: BD Movie) directory 230 and a certificate (CERTIFICATE) directory 240 are placed immediately below a root (ROOT) directory 220.
  • the BDMV directory 230 stores the content main body.
  • the CERTIFICATE directory 240 stores information necessary for authenticating the content.
  • index file (index.bdmv) 231 and a movie object file (MovieObject.bdmv) 232 are placed immediately below the BDMV directory 230.
  • the index file 231 is information for managing the entire contents recorded on the BD-ROM disc 100.
  • the movie object file 232 generally includes a plurality of movie objects.
  • the “movie object” includes a command group for causing the playback device 110 to execute playback processing similar to playback processing by a general DVD player.
  • the movie object file 232 particularly includes a movie object that causes the playback device 110 to perform playback processing of 2D video, and a movie object that causes playback processing of 3D video to be performed.
  • the BDMV directory 230 further includes a playlist (PLAYLIST) directory 233, a clip information (CLIPINF) directory 234, a stream (STREAM) directory 235, a BD-J object (BDJO: BD Java (registered trademark)) directory 236, and a Java archive. (JAR: Java Archive) directory 237 is included.
  • AV (Audio Vidual) stream files (01000.m2ts) 235A and (02000.m2ts) 235B are placed.
  • An “AV stream file” is an entity of video content and represents video, audio, subtitles, and the like.
  • AV stream file types include 2D AV stream files, left-view AV stream files, and right-view AV stream files.
  • the “2D AV stream file” means an AV stream file that can be used independently for playback of 2D video.
  • the “left view AV stream file” means an AV stream file representing a left view of 3D video.
  • the “right view AV stream file” means an AV stream file representing a right view of 3D video.
  • the left-view AV stream file and the right-view AV stream file are used as a pair for displaying 3D video.
  • the first AV stream file (01000.m2ts) 235A is a 2D AV stream file and a left-view AV stream file.
  • the second AV stream file (02000.m2ts) 235B is a right-view AV stream file, and is used for playback of 3D video in combination with the first AV stream file 235A.
  • clip information files (01000.clpi) 234A and (02000.clpi) 234B are placed.
  • the “clip information file” is associated with an AV stream file on a one-to-one basis, and mainly represents a correspondence relationship between a video display time represented by the AV stream file and a logical address in the AV stream file.
  • Types of clip information files include 2D clip information files, left-view clip information files, and right-view clip information files, and 2D AV stream files, left-view AV stream files, and right-view AVs, respectively.
  • Associated with a stream file In the example shown in FIG.
  • the first clip information file (01000.clpi) 234A is a 2D clip information file and a left-view clip information file
  • the first AV stream file (01000.m2ts) 235A is associated with.
  • the second clip information file (02000.clpi) 234B is a right-view clip information file and is associated with the second AV stream file (02000.m2ts) 235B.
  • playlist files (00001.mpls) 233A and (00002.mpls) 233B are placed.
  • the “playlist file” defines the playback path of the AV stream file, that is, the part to be decoded of the AV stream file and the decoding order thereof.
  • “2D playlist file” refers to a playlist file that defines the playback path of a 2D AV stream file.
  • the “3D playlist file” refers to a playlist file that defines a playback path of a pair of a left view AV stream file and a right view AV stream file.
  • the first playlist file (00001.mpls) 233A is a 2D playlist file
  • the second playlist file (00002.mpls) 233B is a 3D playlist file. is there.
  • BD-J object files (xxxxx.bdjo) 236A and (yyyyy.bdjo) 236B are placed.
  • the “BD-J object file” includes only one BD-J object.
  • the “BD-J object” is a bytecode program, and defines an application program to be executed by the Java virtual machine installed in the playback device 110 and the timing of the execution. The application program causes the playback device 110 to execute title playback processing and graphics video rendering processing.
  • the BD-J object in the first BD-J object file (xxxxx.bdjo) 236A causes the playback device 110 to perform 2D video playback processing.
  • the BD-J object in the second BD-J object file (yyyy.bdjo) 236B causes the playback device 110 to perform 3D video playback processing.
  • JAR files (xxxxx.jar) 237A and (yyyyy.jar) 237B are placed in the JAR directory 237.
  • the “JAR file” generally includes a plurality of execution target application programs indicated by the BD-J object.
  • An application certificate file (app.discroot.crt) 241 is placed directly under the CERTIFICATE directory 240.
  • the application certificate file 241 is unique to the provider of the content recorded on the BD-ROM disc 100.
  • the “application certificate file” is a so-called digital certificate and is used for authentication of an application program.
  • the application certificate file 241 is used for signature verification of the application program. In signature verification, the presence or absence of falsification of an application program is confirmed, and the supplier is authenticated. By verifying the signature, only the application program permitted by the content provider can be started in the Java virtual machine, or the access right to each memory device in the playback device 110 can be selectively given to the application program. it can.
  • the index file 231 includes information necessary for recognition of the BD-ROM disc 100.
  • the index file 231 is first read and used for recognition of the BD-ROM disc 100 by the control unit of the playback device 110.
  • the index file 231 further includes an index table.
  • the index table defines the correspondence between titles constituting the content and movie objects or BD-J objects.
  • FIG. 3 is a schematic diagram showing the index table 310 in the index file 231.
  • Each item is associated with one of movie objects MVO-2D, MVO-3D,..., Or BD-J objects BDJO-2D, BDJO-3D,.
  • each item is associated with various events by the control unit of the playback device 110.
  • the “event” includes, for example, insertion / removal of a disk in the BD-ROM drive 111, operation of the remote controller 140 by the user, and a request by an application program.
  • the control unit of the playback device 110 refers to the index table 310 and calls the object indicated by the item corresponding to the event from the BD-ROM disc 100.
  • the control unit further performs various processes according to the called object.
  • an object to be called when the disc 100 is inserted into the BD-ROM drive 111 is assigned.
  • the object causes the playback device 110 to execute, for example, processing for displaying a warning message for the viewer and a logo of the content provider.
  • the item “top menu” 302 is assigned an object to be called when a command “return to menu” is input by a user operation, for example.
  • the object causes the playback device 110 to execute menu display processing.
  • title k” 303 an object is individually assigned to each title constituting the main body of the content on the disc 100 such as a main part of a movie. The object is called, for example, when the title is designated as a playback target by a user operation, and causes the playback device 110 to perform playback processing of the AV stream file belonging to the title.
  • both the item “title 1” and the item “title 2” are assigned to the title of the 2D video.
  • the first movie object MVO-2D associated with the item “title 1” includes a group of instructions related to 2D video playback processing using the first playlist file 233A.
  • the first playlist file 233A is read from the disc 100 in accordance with each command in the first movie object MVO-2D, and the playback path defined in the first playlist file 233A is read.
  • a 2D video playback process is executed along the line.
  • the first BD-J object BDJO-2D associated with the item “title 2” designates an application program related to 2D video reproduction processing using the first playlist file 233A.
  • the application program is executed in accordance with the first BD-J object BDJO-2D.
  • the first playlist file 233A is read from the disc 100, and 2D video playback processing is executed along the playback path defined therein.
  • the item “title 3” and the item “title 4” are assigned to the title of the 3D video.
  • the second movie object MVO-3D associated with the item “title 3” uses the second playlist file 233B in addition to the command group related to the playback processing of 2D video using the first playlist file 233A. And a group of instructions related to 3D video playback processing.
  • the second BD-J object BDJO-3D associated with the item “title 4” is added to the second playlist file 233B in addition to the application program related to the 2D video playback processing using the first playlist file 233A. Specifies an application program related to 3D video playback processing using.
  • the playback device 110 calls the second movie object MVO-3D with reference to the item “title 3”. Accordingly, the playback device 110 first performs the following three types of discrimination processing: (1) whether or not the playback device 110 itself supports playback of 3D video, and (2) the user selects playback of 3D video. And (3) whether or not the display device 120 is compatible with 3D video playback. Next, the playback device 110 selects one of the playlist files 233A-B according to the determination result, and executes playback processing of 3D video according to the playback path defined there.
  • the playback device 110 calls the second BD-J object BDJO-3D with reference to the item “title 4”, the playback device 110 executes various application programs according to the object. Thereby, the playback device 110 performs the above-described determination, playlist file selection according to the result, and playback of 3D video along the playback path.
  • the movie object file 232 generally includes a plurality of movie objects. Each movie object includes a sequence of navigation commands.
  • the navigation command is a control command for causing the playback apparatus to execute playback processing similar to playback processing by a general DVD player.
  • Types of navigation commands include, for example, an instruction to read a playlist file corresponding to a title, an instruction to reproduce an AV stream file indicated by the playlist file, and an instruction to transition to another title.
  • the navigation command is written in an interpreted language and is decoded by an interpreter incorporated in the playback apparatus, that is, a job control program, and causes the control unit to execute a desired job.
  • a navigation command consists of an opcode and an operand.
  • the opcode indicates the content of an operation to be performed by the playback device, such as title branching, playback, and computation.
  • the operand indicates identification information of the operation target such as a title number.
  • the control unit of the playback device 110 calls each movie object in accordance with a user operation, and executes navigation commands included in the movie object in the order of columns. As a result, the playback device 110 first displays a menu on the display device 120 and allows the user to select a command, as in a general DVD player. Next, in accordance with the selected command, the playback device 110 dynamically changes the progress of the video to be played back, such as starting / stopping playback of a title and switching to another title.
  • the operation mode of the playback apparatus 110 according to the movie object is referred to as an HDMV (High Definition Movie) mode.
  • BD-J object files 236A and 236B describe BD-J objects in a compiler type language such as Java language.
  • the control unit of the playback device 110 calls the BD-J object in response to a user operation or an application program request.
  • the BD-J object is interpreted by the Java platform installed in the control unit.
  • the control unit further causes the Java virtual machine to execute various application programs according to the BD-J object.
  • the playback device 110 dynamically changes the progress of the playback video of the title, or causes the display device 120 to display the graphics video independently of the title video.
  • the operation mode of the playback device 110 according to the BD-J object is referred to as a BD-J mode.
  • FIG. 4 is a schematic diagram showing images displayed on the screen 121 of the display device 120 in each of the HDMV mode and the BD-J mode.
  • FIG. 4A shows one scene of a playback video in the HDMV mode.
  • the playback video in the HDMV mode displays the content main body video recorded on the BD-ROM disc 100, for example, the video of the main part of the movie, on the entire screen 121, similar to the video played from the DVD.
  • FIG. 4B shows one scene of a playback video in the BD-J mode.
  • a graphics video can be drawn on the Java virtual machine in the playback device 110 in conjunction with the video of the content body.
  • the main movie SCN the title TL of the movie
  • BG and pop-up menu PPM can be displayed simultaneously.
  • the BD-Live function can be used. That is, the application program can cause the playback device 110 to download additional content such as subtitles and interactive content such as a browser screen from the server device 160 on the network 150. The application program can further cause the playback device 110 to display the downloaded content together with the video of the content body recorded on the BD-ROM disc 100 as shown in FIG. it can.
  • the graphics video is converted to 3D video in the Java virtual machine in addition to the 3D video of the content body.
  • There are two types of processing for reproducing a graphics video as a 3D video a 2-plane mode and an offset mode.
  • the “2 plane mode” both left view and right view image data are prepared separately, and the left view and right view image planes are prepared in the same manner as the video stream of the content body. Individually drawn by a Java virtual machine.
  • the playback device 110 In the “offset mode”, the playback device 110 generates a pair of left-view and right-view image planes from image data representing normal 2D video.
  • FIG. 5 is a schematic diagram showing an example of generating the left view 502L and the right view 502R from the 2D video 501 in the offset mode.
  • the 2D video 501 includes a disk 511 and a caption 513 in the background 512.
  • the playback device 110 processes the image data representing the 2D video 501 and moves the display positions of the respective parts in the 2D video 501 to the left and right. Thereby, a left view 502L and a right view 502R are generated from the 2D video image 501.
  • the display position of the disc 521L in the left view 502L moves to the right by the offset value S1 from the display position of the disc 511 in the 2D video 501.
  • the display position of the disk 521R in the light view 502R moves to the left by the offset value S1.
  • the display position of the subtitle 523L in the left view 502L is moved to the right by the offset value S3 from the display position of the subtitle 513 in the 2D video 501, and the display position of the subtitle 523R in the right view 502R is left by the offset value S3.
  • the disc 531 and the caption 533 are both seen in front of the screen 503 for the viewer.
  • the display position of the background 522L in the left view 502L moves to the left by the offset value S2 from the display position of the background 512 in the 2D video 501, and the display position of the background 522R in the right view 502R moves to the right by the offset value S2. Moving. In that case, the viewer can see the background 532 behind the screen 503.
  • FIG. 6A is a schematic diagram showing the data structure of a BD-J object.
  • the BD-J object includes an application management table 610 and an image playback state value 620.
  • the application management table 610 is a list of application programs to be executed and their execution times, that is, life cycles. Referring to FIG. 6A, the application management table 610 includes a plurality of combinations of application identifiers 611, control codes 612, and application detailed information 613.
  • the application identifier 611 indicates the file name of the JAR file that includes the application program to be executed.
  • the control code 612 indicates the activation mode of the application program specified by the application identifier 611. There are two types of start-up modes: Auto Start and Present. “Auto start” indicates that the application program is automatically started together with the start of reproduction of the title. “Present” indicates that an application program is activated in response to a call from another application program.
  • the detailed application information 613 includes an application name 631, binding information 632, and an icon locator 633.
  • the application name 631 indicates the name of the application program to be executed.
  • the binding information 632 indicates the life cycle of the application program indicated by the application name 631.
  • the icon locator 633 indicates an address in the JAR file of icon data to be associated with the application program indicated by the application name 631.
  • FIG. 6 is a schematic diagram showing the life cycle of six types of application programs A1-A5, A11.
  • the playback device 110 first plays back the first title TL1 from the first disc D1 during the period from time T1 to time T2, and then continues during the period from time T2 to time T3. Play the second title TL2.
  • the first disk D1 is removed from the playback device 110.
  • the playback device 110 plays back the third title TL3 from the second disc D2 in a period after time T4.
  • One title-bound application program A1, A2, A3 is executed one by one during the playback period of each title TL1, TL2, TL3.
  • each application program A1-A3 coincides with the playback period of each title TL1-TL3.
  • another title bound application program A11 is also executed.
  • the application program A11 is activated in response to a call CL from the auto-start application program A1 being executed during the same period because the activation mode is present.
  • the application program A11 is title bound, it ends at the same time as the end of the reproduction period of the first title TL1.
  • the disc bound application program A4 is further executed.
  • the application program A11 is continuously executed even when the first title TL1 is switched to the second title TL2 at time T2. However, since the application program A11 is disk bound, the application program A11 ends when the first disk D1 is removed from the playback device 110 at time T3.
  • the disk unbound application program A5 is executed from time T1 to time T4. This application program A5 is continuously executed both when the first disc D1 is taken out from the playback device 110 at time T3 and when the second disc D2 is inserted into the playback device 110 at time T4.
  • the image playback state value 620 is a setting state of the playback device 110 regarding the playback processing of image data, and represents what should be realized in the playback period of the title associated with the BD-J object.
  • the setting state of the playback device 110 such as memory area allocation, is changed according to the image playback state value 620 indicated by the BD-J object.
  • states There are four types of states from state 1 to state 4 in the setting state of the reproducing apparatus 110 relating to image data reproduction processing.
  • the image playback state value 620 can take four kinds of integer values from 0 to 3: When the image playback state value 620 is equal to 0, 1, 2, 3, the playback device 110 during the playback period of the title. Are set to state 1, state 2, state 3, and state 4.
  • FIG. 7 is a state transition diagram showing states 1-4. Referring to FIG. 7, among the states 1 to 4, the combinations of the offset mode, the 2-plane mode, and the BD-Live function that are permitted or prohibited by the application program are different.
  • both 2-plane mode and offset mode are permitted for 3D video playback processing from the image data.
  • BD-Live function is permitted, a cache area for holding image data such as a browser screen is limited.
  • state 4 as in state 3, 3D video playback processing from the video stream and 3D video playback processing from either the 2-plane mode or the offset mode from the image data are permitted.
  • the BD-Live function is prohibited.
  • FIG. 8 is a schematic diagram showing the data structure of the JAR file 237A.
  • the JAR file 237A is a Java archive file.
  • the Java archive file is specialized for Java in the ZIP format according to the specifications described in http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html It has been made. Therefore, the contents of the Java archive file can be confirmed by commercially available ZIP development software.
  • a directory / file group 800 having the structure shown in FIG. 8 is compressed in the JAR file 237A.
  • These directory / file groups 800 are expanded by the Java virtual machine from the JAR file 237A into a heap area (also referred to as work memory) in the Java virtual machine.
  • a classes directory 810 and an image directory 820 are placed immediately below the ROOT directory 801.
  • a class file (aaa.class) 811 is placed in the class directory 810.
  • the “class file” 811 includes an xlet program.
  • the xlet program is the main body of the application program, and its name is described in the application management table 410 in the BD-J object.
  • the xlet program is a bytecode program written in a compiler type language such as Java language, like the BD-J object.
  • the types of xlet programs include those that cause the Java virtual machine to execute title reproduction processing and those that cause the Java virtual machine to execute graphics video rendering processing.
  • image data to be used for the GUI by the application program is placed.
  • image data include a JPEG file (menu.jpg) 821 and a PNG file (menu.png) 822.
  • These image data represent GUI graphic parts such as menus, and are equivalent to those used in European digital broadcasting terminals (DVB-MHP).
  • image data include in particular those representing the left view and right view of each graphic component.
  • AV stream files 235A and 235B are MPEG-2 transport stream (TS) format digital streams. Generally, a plurality of elementary streams are multiplexed in each AV stream file 235A, 235B.
  • (A) and (b) of FIG. 9 are schematic diagrams showing elementary streams multiplexed in the first AV stream file 235A and the second AV stream file 235B, respectively.
  • the first AV stream file 235A includes a left-view video stream 901L, primary audio streams 902A and 902B, presentation graphics (PG) streams 903A and 903B, interactive graphics (IG) ) Stream 904, secondary video stream 905, and secondary audio stream 906.
  • the second AV stream file 235B includes a right-view video stream 901R.
  • the left-view video stream 901L and the right-view video stream 901R are both primary video streams, and represent the left view and the right view of the main video of the movie, respectively.
  • the main video means a main video of content such as a main video of a movie, and is displayed on the entire screen in the HDMV mode.
  • the secondary video stream 905 represents a sub-picture of a movie.
  • the sub-picture means a picture that is displayed on the screen at the same time as the main picture by using a picture-in-picture method, such as a picture that is displayed on a small screen in the main picture.
  • Each video stream is encoded by a moving image compression encoding method such as MPEG-2, MPEG-4 AVC, or SMPTE VC-1.
  • the left-view video stream 901L is compressed by predictive coding between its own pictures.
  • the right-view video stream 901R is compressed by a prediction code between the pictures in the left-view video stream 901L in addition to the self-picture.
  • Primary audio streams 902A and 902B represent the main audio of a movie.
  • the language or audio output format differs between the two primary audio streams 902A and 902B.
  • Secondary audio stream 906 represents the sub audio to be mixed with the main audio.
  • Each audio stream is AC-3, Dolby Digital Plus (Dolby Digital Plus: “Dolby Digital” is a registered trademark), MLP, DTS (Digital Theater System: registered trademark), DTS-HD, or linear PCM ( It is encoded by a method such as Pulse (Code Modulation).
  • PG streams 903A and 903B represent movie subtitle graphics.
  • the subtitle language is different between the two PG streams 903A and 903B.
  • the IG stream 904 represents a graphic part for GUI and its arrangement.
  • the IG stream 404 is mainly used to construct an interactive screen on the screen 131 of the display device 120 in the HDMV mode.
  • Elementary streams 901-906 are identified by packet ID (PID).
  • PID packet ID
  • the hexadecimal value 0x1011 is assigned as the PID to the left-view video stream 901L
  • 0x1012 is assigned as the PID to the right-view video stream 901R.
  • the primary audio streams 902A and 902B are assigned any value from 0x1100 to 0x111F as the PID.
  • Any value from 0x1200 to 0x121F is assigned as the PID to the PG streams 903A and 903B.
  • Any value from 0x1400 to 0x141F is assigned to the IG stream 904 as the PID.
  • the secondary video streams 905A and 905B are assigned any value from 0x1B00 to 0x1B1F as the PID.
  • the secondary audio stream 906 is assigned any value from 0x1A00 to 0x1A1F as the PID.
  • FIG. 10 is a schematic diagram showing the arrangement of the packets of the elementary streams 1001, 1004, 1007, and 1010 multiplexed in the first AV stream file 235A.
  • Each of the video stream 1001, the audio stream 1004, the PG stream 1007, and the IG stream 1010 is first converted into a PES (Packetized Elementary Stream) packet sequence 1002, 1005, 1008, 1011, and then a TS packet sequence 1003, Converted to 1006, 1009, 1012. Subsequently, a header is individually added to each TS packet to generate a source packet 1013. Finally, each source packet 1013 is multiplexed into one stream by time division.
  • the first AV stream file 235A is configured.
  • the source packets 1013 are numbered in order from the top in the first AV stream file 235A. This number is called a source packet number (SPN).
  • SPN is used as the address of each source packet 1013 in the first AV clip file 235A.
  • a TS packet sequence 1003 is obtained from the video stream 1001 as follows. First, a sequence of video frames 1001A constituting the video stream 1001 is converted into a sequence of PES packets 1002. Here, each video frame 1001A is encoded into one picture by the moving image compression encoding method. Further, the column of the video frame 1001A is divided into a plurality of GOPs (Group Of Pictures). Each PES packet 1002 includes a PES header and a PES payload. Each video frame 1001A is compressed into one picture by the above encoding method and stored in each PES payload.
  • GOPs Group Of Pictures
  • each PES packet 1002 is generally converted into a plurality of TS packets 1003.
  • a TS packet 1003 is a fixed-length packet and includes a TS header and a TS payload.
  • the TS header includes the PID of the video stream stored in the corresponding TS payload.
  • Each PES packet is generally divided and stored in a plurality of TS payloads. The structure of such a TS packet is the same for other elementary streams.
  • the types of TS packets included in the AV stream file include, in addition to those converted from the elementary stream shown in FIG. 9, PAT (Program Association Table), PMT (Program Map Table), and PCR ( Program Clock Reference).
  • PCR, PMT, and PAT are defined in the European digital broadcasting standard, and originally have a role of defining a partial transport stream constituting one program.
  • the AV stream file is also defined in the same manner as the partial transport stream.
  • PAT indicates the PID of the PMT included in the same AV stream file.
  • the PID of the PAT itself is 0.
  • the PMT includes the PID of each elementary stream representing video / audio / subtitles and the attribute information included in the same AV stream file.
  • the attribute information includes identification information of the codec used for compression of the elementary stream, and the frame rate and aspect ratio of the elementary stream.
  • the PMT further includes various descriptors (also referred to as descriptors) regarding the AV stream file.
  • the descriptor includes copy control information indicating permission / prohibition of copying of the AV stream file.
  • the PCR includes information indicating the value of STC (System Time Clock) that should correspond to the ATS of the packet.
  • STC is a clock used as a reference for PTS and DTS in the decoder.
  • the decoder uses PCR to synchronize the STC with ATC (Arrival Time Clock), which is the ATS standard.
  • AV clip The part that can be played seamlessly in one AV stream file is called “AV clip”. In each AV clip, seamless reproduction is ensured over the entire display time because the PTS of data stored in the source packet is continuous.
  • FIG. 11 is a schematic diagram showing the data structure of the first clip information file (01000.clpi) 234A.
  • the first clip information file 234A includes stream attribute information 1101, an entry map 1102, and 3D metadata 1103.
  • the second clip information file 234B has the same data structure as the first clip information file 234A except for the 3D metadata 1103.
  • the stream attribute information 1101 is a correspondence table between the PID 1111 of each elementary stream included in the first AV stream file 235A and the attribute information 1112, as shown in FIG. Items included in the attribute information 1112 are different for each of the video stream, the audio stream, the PG stream, and the IG stream.
  • the attribute information associated with PID0x1011 of the left-view video stream includes the type of codec used for compression of the video stream, the resolution of each picture constituting the video stream, the aspect ratio, and the frame Includes rate.
  • the attribute information associated with PID 0x1101 of the primary audio stream includes the type of codec used for compression of the audio stream, the number of channels included in the audio stream, the language, and the sampling frequency.
  • the attribute information 1112 is used by the playback device 110 to initialize the decoder.
  • the codec type, resolution, aspect ratio, and frame rate all match.
  • the entry map 1102 includes a different table 1121 for each video stream in the first AV stream file 235A.
  • Each table 1211 is associated with a PID of a different video stream.
  • Each table 1211 includes a plurality of entry points 1122.
  • Each entry point 1122 includes a pair of PTS and SPN.
  • the PTS is equal to the PTS of the first picture of any GOP included in the allocated video stream, that is, the I picture.
  • the SPN of the same entry point 1122 is equal to the first SPN of the source packet group storing the I picture.
  • the playback device 110 can specify the SPN in the first AV stream file 235A corresponding to the scene at an arbitrary time point during the playback period of the video from the video stream. Particularly in special playback such as fast forward playback and rewind playback, the playback device 110 selectively extracts and decodes source packets from the SPN of each entry point 1122. Thereby, the I picture is selectively reproduced. In this way, the playback device 110 can efficiently process special playback without analyzing the first AV stream file 235A itself.
  • the entry map includes a plurality of entry points for the right-view video stream.
  • Each entry point includes a pair of PTS and SPN.
  • the PTS is equal to the PTS of the first picture of any GOP included in the right-view video stream, that is, the P picture.
  • the SPN of the same entry point is equal to the top SPN of the source packet group in which the P picture is stored.
  • the PTS of each entry point is further equal to the PTS of each entry point for the left-view video stream indicated by the first clip information file 234A.
  • the playback device can immediately acquire the first SPN of the source packet group to be played back from the corresponding entry point. In this way, the response speed of processing that requires random access to the video stream, such as dive playback, can be improved also in playback of 3D video.
  • FIG. 12 is a schematic diagram showing the data structure of the 3D metadata 1103.
  • the 3D metadata 1103 is used for the cropping process for the PG streams 903A and 903B and the IG stream 904 multiplexed in the first AV stream file 235A shown in FIG.
  • “Cropping processing” refers to processing for giving a sense of depth to 2D video played back from each stream.
  • a pair of a left view and a right view is generated by displacing each 2D video image in the horizontal direction.
  • the amount of displacement at that time corresponds to the binocular parallax necessary to give the 2D image a sense of depth.
  • the 3D metadata 1103 includes a value representing the amount of displacement by the number of pixels, that is, an “offset value”.
  • Each table 1201 generally describes a plurality of pairs of PTSs 1202 and offset values 1203, that is, offset entries 1204.
  • the PTS 1202 is equal to the PTS of one picture included in the PG stream 903A and the IG stream 904.
  • An offset value 1203 represents an offset value for a picture to which the PTS 1202 is assigned.
  • the offset value 1203 may be a negative value.
  • the valid section of each offset entry 1204 is from the PTS of the offset entry to the PTS of the next offset entry. In the example of FIG.
  • the PTS of the first offset entry is 180000
  • the PTS of the second offset entry is 270000
  • the PTS of the third offset entry is 360000.
  • the offset value “+5” of the first offset entry is valid in the STC range of 180,000 to 270000
  • the offset value “+3” of the second offset entry is the STC value of 270000 to 360000. Valid in range.
  • FIG. 13 is a schematic diagram showing the data structure of the second playlist file 233B.
  • the second playlist file 233B includes playlist information 1301.
  • the playlist information 1301 includes main path information 1310 and sub path information 1320 and 1330.
  • the main path information 1310 includes at least one piece of play item information 1311, 1312, 1313,.
  • Each play item information 1311-1313 defines a playback section of the first AV stream file 235A, that is, a portion to be played back continuously.
  • the play item information 1311-1313 is further assigned serial numbers # 1, # 2, # 3,... In the order of playback in the playback section.
  • Each of the sub-path information 1320 and 1330 is assigned a unique identifier, that is, sub-path IDs “# 1” and “# 2”.
  • FIG. 14 is a schematic diagram showing the data structure of play item information 1400.
  • the play item information 1400 includes reference clip information 1401, a playback start time 1402, a playback end time 1403, and a stream selection table 1404.
  • the sub play item information also has a similar data structure except for the stream selection table.
  • the reference clip information 1401 is information for identifying a clip information file to be used for conversion from PTS to SPN.
  • the reproduction start time 1402 and the reproduction end time 1403 indicate the PTSs at the beginning and the end of the AV clip to be decoded.
  • the playback device 110 refers to the entry map from the clip information file indicated by the reference clip information 1401, and acquires SPNs corresponding to the playback start time 1402 and playback end time 1403, respectively. As a result, the playback device 110 identifies an AV clip to be read from the AV stream file, and performs playback processing on the AV clip.
  • the stream selection table 1404 represents a list of elementary streams that can be selected from AV clips by the decoder in the playback apparatus 110 between the playback start time 1402 and the playback end time 1403.
  • the stream selection table 1404 includes a plurality of stream entries 1410, 1420,. Each stream entry 1410, 1420 includes a stream selection number 1411, stream path information 1412, and stream identification information 1413.
  • the stream identification information 1413 indicates PIDs of elementary streams that can be selected between the reproduction start time 1502 and the reproduction end time 1503.
  • the stream selection number 1411 is a serial number of the stream entry 1410 and is used by the playback device 110 to identify the elementary stream to be selected.
  • the playback section indicated by the sub play item information is included between the playback start time 1402 and the playback end time 1403.
  • the second playlist file 233B is a 3D playlist file
  • the stream entries 1410 and 1420 also record attribute information of each elementary stream.
  • the attribute information of the video stream indicates the resolution and the frame rate
  • the attribute information of the audio stream, the PG stream, and the IG stream indicates the language type.
  • FIG. 15 is a schematic diagram showing the playlist information 1301 shown in FIG. 13 and the AV clips CL1, CL2, and CL4 to be reproduced according to the playlist information 1301.
  • the three time axes MP, SP1, and SP2 shown in FIG. 15 represent the playback time of the video stream that is played back according to the main path information 1310, the subpath information # 11320, and the subpath information # 21330, respectively.
  • the play item information 1311-1313 is referred to in the order of serial numbers # 1-3.
  • an entry point including a PTS equal to the reproduction start time IN1 is searched from the entry map of the first clip information file 234A indicated by the reference clip information 1401.
  • the SPN of the entry point is specified as the start address SP1.
  • the SPN of the entry point including the PTS equal to the reproduction end time OUT1 is specified as the end address EP1.
  • the portion from the start address SP1 to the end address EP1 of the first AV stream file 235A, that is, the first AV clip CL1 is specified as the playback target.
  • both the playback device 110 and the display device 120 are selected from the elementary streams registered in the stream selection table 1404 of the play item information # 11311 using the stream attribute information 1101 of the first clip information file 234A. Can be played back. Further, the detected elementary stream having the smallest stream selection number 1411 is selected, and the PID described in the stream identification information 1413 in the stream entry 1410 indicated by the stream selection number 1411 is stored in the playback device 110. Set to the decoder.
  • the source packet having the PID in the first AV clip CL1 is decoded.
  • play item information # 21312, # 31313,... are sequentially referred to, and in playback sections PI2, PI3,... From each playback start time to playback end time, the AV clips belonging to the first AV stream file 235A are used. The source packet is decoded.
  • the playback device 110 refers to the sub play item information 1321-1323 in the sub path information # 11320 in the order of the serial numbers # 1-3 in parallel with the playback processing according to the main path information 1310.
  • the sub play item information 1321-1323 has a one-to-one correspondence with the play item information 1311-1313.
  • the reproduction start time and the reproduction end time are common to the sub play item information 1321-1323 and the corresponding play item information 1311-1313.
  • sub play item information # 113132 when sub play item information # 113132 is referred to, first, an entry point including a PTS equal to the reproduction start time IN1 is searched from the entry map of the second clip information file 234B indicated by the reference clip information. Next, the SPN of the entry point is specified as the start address SP2. Similarly, the SPN of the entry point including the PTS equal to the reproduction end time OUT1 is specified as the end address EP2. Thus, in the playback section PI1 from the playback start time IN1 to the playback end time OUT1, the portion from the start address SP2 to the end address EP2 of the second AV stream file 235B, that is, the second AV clip CL2 is specified as the playback target.
  • a reproducible one is detected.
  • the detected elementary stream having the smallest stream selection number is selected, and the PID described in the stream identification information in the stream entry indicated by the stream selection number is set in the decoder in the playback apparatus 110. Is done.
  • the source packet having the PID in the second AV clip CL2 is decoded by the decoder.
  • the decoding process is performed in parallel with the decoding process of the source packet from the first AV clip CL1.
  • the sub play item information # 21322, # 31323,... are sequentially referred to, and the second AV stream file 235B is combined with the playback sections PI2, PI3,... Of the corresponding playitem information # 21312, # 31313,.
  • the source packet is decoded from the AV clip belonging to.
  • the sub play item information # 21 included in the sub path information # 21330 is included.
  • the sub play item information # 11331 is detected from the condition that “the playback section SPI4 from the playback start time IN4 to the playback end time OUT4 is included in the playback section PI1 of the playitem information # 1”.
  • the start address SP4 and the end address EP4 of the fourth AV clip CL4 from the reproduction section SPI4 of the sub play item information # 11331 are the same as the first AV clip CL1 is identified from the reproduction section PI1 of the playitem information # 11311. Are identified.
  • the source packet is decoded from the fourth AV clip CL4 in addition to the first AV clip CL1 and the second AV clip CL2.
  • the main path information 1310 defines the playback path of the first AV stream file 235A as a permutation of the play item information 1311-1313
  • the sub path information # 11320 is the second AV stream file.
  • the playback path of 235B is defined as a permutation of the sub play item information 1321-1323.
  • the 3D playlist file defines the playback path of the AV stream file in the left view and the right view by a combination of the main path information and the sub path information.
  • the playlist file may further include sub path information such as sub path information # 21330 shown in FIG.
  • the sub path information defines another reproduction path of the AV stream file to be reproduced together with the reproduction path of the AV stream file defined by the main path information 1310, or another reproduction path of the AV stream file.
  • the first playlist file 233A has the same data structure as the second playlist file 233B, except that it does not include subpath information that defines the playback path of the right-view AV stream file.
  • FIG. 16 is a block diagram showing a hardware configuration of the playback device 110.
  • the playback device 110 includes a BD-ROM drive 111, a local storage 1610, an operation unit 1620, a network interface 1630, a bus 1640, a control unit 1650, a playback unit 1660, and an HDMI transmission unit 1670.
  • the BD-ROM drive 111, the local storage 1610, the operation unit 1620, and the network interface 1630 can communicate with the control unit 1650 and the playback unit 1660 through the bus 1640. Further, the control unit 1650 and the playback unit 1660 can communicate with each other through a bus 1640.
  • the control unit 1650 and the reproduction unit 1660 are mounted on different integrated circuits. In addition, both may be integrated into a single integrated circuit.
  • the BD-ROM disc 100 can be inserted into BD-ROM drive 111.
  • the BD-ROM drive 111 reads data from the disk 100 in response to an instruction from the control unit 1650.
  • the BD-ROM drive 111 includes an optical pickup, that is, an optical head.
  • the optical head includes a semiconductor laser, a collimator lens, a beam splitter, an objective lens, a condenser lens, and a photodetector.
  • the light beam emitted from the semiconductor laser passes through the collimator lens, the beam splitter, and the objective lens in order, and is collected on the recording layer of the BD-ROM disc 100.
  • the collected light beam is reflected / diffracted by the recording layer.
  • the reflected / diffracted light is collected on a photodetector through an objective lens, a beam splitter, and a condenser lens.
  • the photodetector generates a reproduction signal having a level corresponding to the amount of collected light.
  • data recorded on the disc 100 is demodulated from the reproduced signal.
  • the BD-ROM drive 111 reads data from the volume area 212 of the disk 100 and transfers it to the local storage 1610, the control unit 1650, or the playback unit 1660.
  • the local storage 1610 is a rewritable storage device built in the playback device 110.
  • the local storage 1610 includes a card reader / writer 1611 and an HDD 1612.
  • the card reader / writer 1611 can insert a memory card 1600 therein, and can read / write data from / to the memory card 1600.
  • the HDD 1612 is built in the playback device 100.
  • the HDD 1612 may be portable.
  • an external HDD may be connected to the bus 1640 through a predetermined interface and used as the local storage 1610.
  • the local storage 1610 stores additional content or a browser screen downloaded from the server device 160 on the external network 150 by the BD-Live function.
  • the local storage 1610 may store parameters and tables used by the control unit 1650.
  • the operation unit 1620 detects various events and notifies the control unit 1650 of the contents of the events. For example, the operation unit 1620 receives a command transmitted from the remote controller 140 by radio such as infrared rays, decodes the content of the command, and notifies the control unit 1650 of the command. The operation unit 1620 further detects pressing of a button such as playback start / stop / fast forward / rewind provided on the front panel of the playback device 110, interprets the operation content that means the press, and controls the control unit 1650. Notify In addition, the operation unit 1620 detects the insertion / extraction of the BD-ROM disc 100 in the BD-ROM drive 111 and notifies the control unit 1650 of it.
  • a button such as playback start / stop / fast forward / rewind provided on the front panel of the playback device 110
  • the network interface 1630 connects the external network 150 and the bus 1640 so that they can communicate with each other.
  • the control unit 1650 can communicate with the server device 160 on the external network 150 through the network interface 1630.
  • the communication function is used for the BD-Live function.
  • the control unit 1650 is a microcomputer system, and includes a CPU 1651, a ROM 1652, and a RAM 1653. They are connected to each other by an internal bus 1654.
  • the ROM 1652 stores a program for controlling the basic operation of the playback device 110, that is, firmware.
  • the firmware includes a device driver for each element 111, 1610-1660 connected to the bus 1640.
  • the CPU 1651 reads the firmware from the ROM 1652 and executes it when the power is turned on, for example. Thereby, each element 111, 1610-1660 is initialized, and the execution environment of the Java platform, that is, the BD-J object is prepared.
  • the RAM 1653 provides a work area for the CPU 1651.
  • the control unit 1650 uses the combination of these elements 1651 to 1653 to execute firmware and an application program, and controls other elements according to them.
  • control unit 1650 reads a desired title from the content recorded on the BD-ROM disc 100 or the local storage 1610 and causes the playback unit 1660 to play it back. Specifically, the control unit 1650 first reads out playlist information corresponding to the title to be played, that is, current playlist information from the BD-ROM disc 100 or the local storage 1610. The control unit 1650 selects an AV clip to be reproduced, that is, a current AV clip according to the current playlist information. Next, the control unit 1650 causes the BD-ROM drive 111 or the local storage 1610 to supply the current AV clip to the playback unit 1660.
  • the control unit 1650 in the BD-J mode, the control unit 1650 generates GUI graphic parts such as menus as image data in JPEG format or PNG format in accordance with the application program, and supplies them to the playback unit 1660.
  • the control unit 1650 realizes the BD-Live function according to the application program. That is, the control unit 1650 downloads image data such as a browser screen from the server device 160 on the network 150 through the network interface 1630 and supplies the image data to the playback unit 1660.
  • the playback unit 1660 reads the current AV clip from the BD-ROM drive 111 or the local storage 1610 in accordance with an instruction from the control unit 1650.
  • the playback unit 1660 further separates and decodes an elementary stream of a specific PID from the AV clip.
  • the PID is designated in advance by the control unit 1650.
  • a video plane is generated from the video stream
  • an audio data AD is generated from the audio stream
  • a PG plane is generated from the PG stream
  • an IG plane is generated from the IG stream.
  • the playback unit 1660 synthesizes each plane into one video frame.
  • the image data supplied from the control unit 1650 is further combined with a video frame.
  • the playback unit 1660 forms video data VD from the video frame after the synthesis processing, and sends it to the HDMI transmission unit 1670 together with the audio data AD.
  • the HDMI transmission unit 1670 is connected to the display device 120 via the HDMI cable 112.
  • the HDMI transmission unit 1670 receives the video data VD from the reproduction unit 1660 and converts it into a video signal in the HDMI format. In particular, both left-view and right-view video frames are multiplexed in the video signal in a time division manner.
  • the HDMI transmission unit 1670 receives the audio data AD from the reproduction unit 1660 and converts it into an audio signal in the HDMI format.
  • the HDMI transmission unit 1670 further multiplexes the converted video signal and audio signal with the synchronization signal and accompanying data, and transmits the multiplexed signal to the display device 120 through the HDMI cable 112.
  • the HDMI transmission unit 1670 encrypts transmission data using a protocol compliant with HDCP (High-bandwidth Digital Content Protection) and performs mutual authentication with the display device 120.
  • the HDMI transmission unit 1670 may be incorporated in the playback unit 1660.
  • the audio signal may be sent to an amplifier or a speaker externally attached to the display device 120 such as a surround system, separately from the video signal.
  • FIG. 17 is a functional block diagram of the control unit 1650.
  • the control unit 1650 includes a bus interface 1701, a user operation detection module 1702, a virtual file system 1703, and a reproduction control unit 1704.
  • the control unit 1650 implements each functional unit 1701-1704 by executing firmware incorporated therein.
  • the bus interface 1701 connects the functional units in the control unit 1650 through the bus 1640 to the elements 111, 1610-1640, and 1660 shown in FIG.
  • the bus interface 1701 reads scenario information to be played back, that is, current scenario information DS and SS, from the BD-ROM drive 111 in accordance with an instruction from the virtual file system 1703 and passes it to the playback control unit 1704.
  • the scenario information includes dynamic scenario information DS and static scenario information SS.
  • the dynamic scenario information DS includes a movie object file, a BD-J object file, and a JAR file.
  • the static scenario information SS includes a playlist file and a clip information file.
  • the user operation detection module 1702 receives the notification INT from the operation unit 1620, and identifies the type of event such as the content of the operation by the user from the notification INT.
  • the user operation detection module 1702 further sends an operation signal UO indicating the type of the event to the reproduction control unit 1704.
  • the types of events include, for example, buttons for insertion / extraction of the BD-ROM disc 100 in the BD-ROM drive 111 and playback start / stop / fast forward / rewind on the remote control 140 or the front panel of the playback device 110. The pressing of is included.
  • the virtual file system 1703 manages file access to the BD-ROM disc 100 and the local storage 1610 by the playback control unit 1704.
  • the virtual file system 1703 constructs a virtual package from the content on the BD-ROM disc 100 and the additional content in the local storage 1610.
  • the “virtual package” refers to a directory / file structure similar to the directory / file structure 214 on the BD-ROM disc 100 shown in FIG.
  • the application program accesses the BD-ROM disk 100 and the local storage 1610 through the virtual file system 1703. Thereby, it is possible to treat the content recorded in the content as content on the same virtual package without distinguishing from each other.
  • the virtual file system 1703 further reads the index file IF from the virtual package and passes it to the playback control unit 1704 in response to the command COM from the playback control unit 1704. Thereafter, the virtual file system 1703 manages file access to the virtual package in accordance with the command COM from the playback control unit 1704 and the operation signal UO from the user operation detection module 1702. For example, the virtual file system 1703 reads out the current scenario information DS and SS from the virtual package and passes them to the reproduction control unit 1704. In addition, the virtual file system 1703 causes the BD-ROM drive 111 or the local storage 1610 to supply the current AV clip to the playback unit 1660 in accordance with the command COM from the playback control unit 1704.
  • the playback control unit 1704 executes the firmware to prepare an execution environment for the application program, and further reads and executes the application program from the dynamic scenario information DS in that environment. Thereby, the playback control unit 1704 controls each element in the playback device 110 according to the application program.
  • the playback control unit 1704 includes a dynamic scenario memory 1741, a static scenario memory 1742, a mode management module 1743, an HDMV module 1744, a BD-J module 1745, and an AV playback library 1746.
  • Both the dynamic scenario memory 1741 and the static scenario memory 1742 are buffer memories built in the control unit 1650. As the buffer memories 1741 and 1742, different areas of the RAM 1653 are used. In addition, the buffer memories 1741 and 1742 may be independent memory elements.
  • the dynamic scenario memory 1741 holds the current dynamic scenario information DS
  • the static scenario memory 1742 holds the current static scenario information SS.
  • the mode management module 1743 receives the index file IF from the virtual file system 1703 and holds it.
  • the mode management module 1743 further uses the index file IF to control the switching of the operation mode of the playback apparatus 110 when the title is switched. Specifically, the mode management module 1743 first selects one item from the index table in the index file IF in accordance with the operation signal UO from the user operation detection module 1702. When a movie object is specified for the item, the mode management module 1743 assigns the current dynamic scenario information DS to the HDMV module 1744. Thereby, the operation mode of the playback device 110 shifts to the HDMV mode.
  • the mode management module 1743 assigns the current dynamic scenario information DS to the BD-J module 1745. Thereby, the operation mode of the playback device 110 shifts to the BD-J mode.
  • the mode management module 1743 is activated when the operation signal UO from the user operation detection module 1702 indicates switching of the operation mode or when the HDMV module 1744 or the BD-J module 1745 is requested to switch the operation mode.
  • the allocation destination of the dynamic scenario information DS is switched between the two modules 1744 and 1745.
  • the mode management module 1743 includes a dispatcher 1743A.
  • the dispatcher 1743A receives the operation signal UO from the user operation detection module 1702, selects one suitable for the current operation mode, and passes it to the module 1744 or 1745 to which the dynamic scenario information DS is assigned. For example, when the operation signal UO indicates fast forward playback / rewind playback, the dispatcher 1743A passes the operation signal UO to the HDMV module 1744 in the HDMV mode and to the BD-J module 1745 in the BD-J mode.
  • the dispatcher 1743A sends an instruction COM to the virtual file system 1703 through the AV playback library 1746, and the index file IF Instruct reading.
  • the index file IF read according to the instruction is held in the mode management module 1743.
  • the HDMV module 1744 is a virtual DVD player, and controls the playback processing of titles from the BD-ROM disc 100 in the same manner as playback processing by a general DVD player. Specifically, the HDMV module 1744 reads a movie object from the dynamic scenario information DS in the dynamic scenario memory 1741, and executes navigation commands included therein in the order of arrangement. Thereby, the HDMV module 1744 instructs the AV playback library 1746 in order of the processing indicated by each navigation command.
  • the BD-J module 1745 is a Java platform, and particularly includes an application manager 1745A and a virtual machine 1745B.
  • the BD-J module 1745 reads a BD-J object from the dynamic scenario information DS in the dynamic scenario memory 1741 in response to an instruction from the mode management module 1743.
  • the application manager 1745A instructs the virtual machine 1745B to start or end the application program according to the application management table 410 in the BD-J object.
  • the virtual machine 1745B is a Java virtual machine and incorporates a work memory 1745C.
  • One area of the RAM 1653 is used as the work memory 1745C.
  • the virtual machine 1745B reads a JAR file including the application program from the dynamic scenario information DS and expands it in the work memory 1745C.
  • the virtual machine 1745B further reads and executes the xlet program to be activated from the class file expanded in the work memory 1745C.
  • each method included in the xlet program is converted into a native code for the CPU 1651 and passed to the AV playback library 1746.
  • processing according to the application program is instructed to the AV playback library 1746.
  • the virtual machine 1745B when instructed by the application manager 1745A to terminate the application program, executes the termination process of the application program, or forcibly, the xlet program that is the main body of the application program Is deleted from the work memory 1745C.
  • Processing by the application program includes BD-Live processing and graphics processing in addition to title playback processing.
  • the virtual machine 1745B causes the network interface 1630 to download additional content from the server device 160 to the local storage 1610 or download a browser screen to the playback unit 1660 according to the application program.
  • the virtual machine 1745B In the graphics processing, the virtual machine 1745B generates image data GD according to the application program.
  • the image data GD represents a graphic image such as a GUI graphic part such as a menu, a background, and an animation image.
  • a JPEG file 821 or a PNG file 822 expanded from the JAR file in the dynamic scenario information DS into the work memory 1745C is used.
  • the BD-J module 1745 further sends the image data GD to the reproduction unit 1660 through the bus interface 1701 and the bus 1640 in accordance with the application program.
  • the virtual machine 1745B first generates both left view and right view image data GD and passes them to the reproduction unit 1660. Next, the virtual machine 1745B sends a drawing command to the playback unit 1660 at an appropriate timing. As a result, the virtual machine 1745B uses the playback unit 1660 so that the left-view image data GD is combined with the left-view video frame and the right-view image data GD is combined with the right-view video frame. Control.
  • the virtual machine 1745B passes the offset value together with the image data GD representing the normal 2D video to the reproduction unit 1660. Based on the offset value, the playback unit 1660 generates left view and right view image data from the image data GD, and synthesizes the left view and right view video frames.
  • the BD-J module 1745 Every time the BD-J module 1745 reads a BD-J object from the dynamic scenario information DS, the BD-J module 1745 compares the image playback state value 620 indicated by the BD-J object with the current image playback state value.
  • the current image playback state value is held by the AV playback library 1746.
  • the BD-J module 1745 changes the setting state of the playback device 110 according to the image playback state value 620 indicated by the BD-J object. Specifically:
  • the BD-J module 1745 prohibits the 3D video playback process itself for the application program. In particular, both the offset mode and the 2-plane mode are prohibited. On the other hand, the BD-J module 1745 permits BD-Live processing to the application program.
  • the BD-J module 1745 prohibits the application program from 2-plane mode, while playing back 3D video from the video stream, offset mode, and BD. -Allow Live processing.
  • the BD-J module 1745 performs playback processing of 3D video from the video stream, 2-plane mode, offset mode, and BD-Live processing for the application program. to approve.
  • the cache area that can be used for BD-Live processing is limited.
  • the BD-J module 1745 permits the application program to play back 3D video from the video stream, the 2 plane mode, and the offset mode. On the other hand, the BD-J module 1745 prohibits the application program from performing BD-Live processing, that is, connection to the external network 150.
  • the BD-J module 1745 uses the application manager 1745A to forcibly terminate all application programs in the virtual machine 1745B. . That is, as indicated by the dashed arrow in FIG. 7, when the playback device 110 switches the setting state between the state 1 and the state 2, the BD-J module 1745 sends an application program to the virtual machine 1745B. It does not have to be terminated. On the other hand, as indicated by solid arrows in FIG. 7, the playback device 110 sets the set state between the state 1 and the state 3, between the state 1 and the state 4, and between the state 2 and the state 3.
  • the BD-J module 1745 causes the virtual machine 1745B to forcibly terminate the application program.
  • the application programs to be terminated are all regardless of title bound, disc bound, and disc unbound. Accordingly, the xlet program and the parameters used by the xlet program are all deleted from the work memory 1745C.
  • the BD-J module 1745 causes the playback unit 1660 to change the memory area for storing image data.
  • the BD-J module 1745 causes the playback unit 1660 to reserve or release a cache area for BD-Live processing. In the cache area, image data such as a browser screen downloaded from the server device 160 on the external network 150 is held.
  • the BD-J module 1745 designates either the offset mode or the 2-plane mode for the playback unit 1660 for the playback processing of the image data in accordance with the image playback state value 620 indicated by the BD-J object. Specifically, when the image playback state value 620 indicates state 2, the BD-J module 1745 designates the offset mode to the playback unit 1660. On the other hand, when the image playback state value 620 indicates state 3 or state 4, the BD-J module 1745 designates the playback unit 1660 which is selected by the application program between the offset mode and the 2-plane mode. To do.
  • the BD-J module 1745 stores the original image reproduction state with the image reproduction state value 620 in the AV reproduction library 1746. Update the value.
  • the AV playback library 1746 instructs AV playback processing or playlist playback processing in accordance with an instruction from the HDMV module 1744 or the BD-J module 1745.
  • the “AV playback process” is a basic process as an optical disk playback apparatus, and follows a playback process performed by a general DVD player and CD player. Specifically, the AV playback process includes start and stop of playback process, pause and release, release of still image function, fast forward and rewind, audio switching, subtitle switching, and angle switching.
  • “playlist playback processing” mainly refers to title playback processing in accordance with the static scenario information SS.
  • the AV playback library 1746 selects the current AV clip according to the current playlist information, and causes the virtual file system 1703 to supply the current AV clip to the playback unit 1660.
  • the play list reproduction process includes a virtual package construction process and a scenario information DS and SS transfer process from the virtual package to each scenario memory 1741 and 1742.
  • Functions necessary for AV playback processing and playlist playback processing are implemented in the AV playback library 1746 as an application program interface (API).
  • the AV playback library 1746 sends an instruction COM to the BD-ROM drive 111, the local storage 1610, the playback unit 1660, and the like through the virtual file system 1703 by executing an API corresponding to the instructed processing.
  • the AV playback library 1746 causes each element to execute the instructed process.
  • the AV playback library 1746 reads the 3D metadata 1103 from the clip information file in the static scenario information SS and sends it to the playback unit 1660.
  • AV playback library 1746 includes a register 1746A.
  • the register 1746A stores a parameter that represents the current setting state of the playback device 110 and the display device 120, a parameter that represents a state that can be set for each device, and a parameter that represents the initial setting of each device.
  • the parameters representing the current setting state include stream selection numbers of audio streams and PG streams to be decoded, identifiers of current playlist information and play item information, and current image playback state values. .
  • the parameters representing the states that can be set include the type of audio / caption language that can be selected and the type of encoding method of audio data.
  • the AV playback library 1746 refers to the register 1746A according to an instruction from the HDMV module 1744 or the BD-J module 1745. Thereby, from the elementary streams registered in the stream selection table of each play item information, those that can be played back by both the playback device 110 and the display device 120 are detected. The AV playback library 1746 further selects the detected elementary stream having the smallest stream selection number and stores the stream selection number in the register 1746A. At the same time, among the attributes of the elementary stream indicated by the stream selection number, the encoding format, language type, etc. are read from the stream attribute information in the clip information file and stored in the register 1746A. The AV playback library 1746 further designates the PID of the selected elementary stream to the playback unit 1660. At that time, the AV playback library 1746 transfers information necessary for decoding the selected elementary stream, such as the type of encoding format, from the register 1746A to the playback unit 1660.
  • FIG. 18 is a functional block diagram of the playback unit 1660.
  • the playback unit 1660 includes a bus interface 1801, a pair of track buffers 1802A and 1802B, a pair of demultiplexers 1803A and 1803B, a primary video decoder 1804A, a secondary video decoder 1804B, and a PG decoder. 1804C, IG decoder 1804D, primary audio decoder 1804E, secondary audio decoder 1804F, image decoder 1804G, rendering engine 1805, primary video plane memory 1806A, secondary video plane memory 1806B, image A memory 1810, an adder 1807, and a mixer 1808 are included.
  • the image memory 1810 includes a PG plane memory 1806C, an IG plane memory 1806D, a background (BG) plane memory 1806E, and an image data area 1811. These functional units are mounted on a single chip. In addition, some functional units may be mounted on different chips.
  • the bus interface 1801 connects each functional unit in the playback unit 1660 through the bus 1640 to the BD-ROM drive 111, the local storage 1610, and the control unit 1650 so that they can communicate with each other.
  • the bus interface 1801 transfers the current AV clips MCL and SCL from the BD-ROM drive 111 or the local storage 1610 to the track buffers 1802A and 1802B in accordance with instructions from the virtual file system 1703.
  • the AV clip defined by the main path information (hereinafter referred to as main path AV clip) MCL is sent to the first track buffer 1802A and is defined by the sub path information (hereinafter referred to as sub path AV clip).
  • SCL is sent to the second track buffer 1802B.
  • the pair of track buffers 1802A and 1802B are first-in first-out (FIFO) memories built in the playback unit 1660.
  • the track buffers 1802A and 1802B read AV clips MCL and SCL from the bus interface 1801 and temporarily hold them.
  • the first demultiplexer 1803A receives the PID of the elementary stream to be decoded from the main path AV clip MCL from the AV playback library 1746. On the other hand, the first demultiplexer 1803A reads the main path AV clip MCL from the first track buffer 1802A in units of source packets, and extracts TS packets from each source packet. The first demultiplexer 1804A further reads the PID from the TS header of the TS packet and compares it with the PID of the elementary stream to be decoded. When the two match, the first demultiplexer 1804A extracts the TS packet.
  • the PES packet is restored from the TS packets collected in this way, and is sent to one of the six types of decoders 1804A-F according to the PID of the elementary stream to be decoded. For example, when the PID of the TS packet is 0x1011, the PES packet restored from the TS packet is sent to the primary video decoder 1804A. When the PID is any of 0x1B00 to 0x1B1F, the PES packet is sent to the secondary video decoder 1804B. When the PID is any of 0x1100 to 0x111F, the PES packet is sent to the primary audio decoder 1804E.
  • the PES packet is sent to the secondary audio decoder 1804F. If the PID is any of 0x1200 to 0x121F, the PES packet is sent to the PG decoder 1804C. If the PID is any of 0x1400 to 0x141F, the PES packet is sent to the IG decoder 1804D.
  • the second demultiplexer 1803B receives from the AV playback library 1746 the PID of the elementary stream to be decoded from the sub-path AV clip SCL.
  • the second demultiplexer 1803B reads the sub-path AV clip SCL from the second track buffer 1802B in units of source packets, and extracts TS packets from each source packet.
  • the second demultiplexer 1803B further restores the PES packet from the TS packet having the same PID as the PID of the elementary stream to be decoded, and to one of the six types of decoders 1804A-F according to the PID. Send it out.
  • the PES packet restored from the TS packet is sent to the primary video decoder 1804A.
  • each AV clip MCL, SCL generally includes information to be used as dynamic scenario information by an application program.
  • information includes, for example, information related to GUI graphic parts such as navigation buttons (Navigation Buttons) included in the IG stream.
  • GUI graphic parts such as navigation buttons (Navigation Buttons) included in the IG stream.
  • the primary video decoder 1804A receives the PES packet of the left-view video stream from the first demultiplexer 1803A, and receives the PES packet of the right-view video stream from the second demultiplexer 1803B. Those PES packets are stored in a buffer memory in the primary video decoder 1804A. In parallel, the primary video decoder 1804A reads the PES packet from its buffer memory, removes the PES header, extracts the picture from the remaining PES payload, and decodes it. The primary video decoder 1804A further writes an uncompressed picture to the primary video plane memory 1806A at the time indicated by the PTS described in the PES header. In the 3D video playback process, the primary video decoder 1804A alternately decodes the left view and right view pictures and writes them to the primary video plane memory 1806A.
  • the secondary video decoder 1804B includes the same configuration as the primary video decoder 1804A. Using the configuration, the secondary video decoder 1804B receives the PES packet of the secondary video stream from each demultiplexer 1803A, 1803B, extracts a picture from the PES packet, and decodes it. The secondary video decoder 1804B further writes an uncompressed picture in the secondary video plane memory 1806B at the time indicated by the PTS described in the PES packet.
  • the PG decoder 1804C receives the PES packet of the PG stream from each of the demultiplexers 1803A and 1803B, extracts the image data from the PES packet, and decodes it. Further, the PG decoder 1804C writes uncompressed image data, that is, a PG plane to the PG plane memory 1806C at the time indicated by the PTS described in the PES packet.
  • the IG decoder 1804D receives the PES packet of the IG stream from each of the demultiplexers 1803A and 1803B, extracts the image data from the PES packet, and decodes it.
  • the IG decoder 1804D further writes uncompressed image data, that is, the IG plane into the IG plane memory 1806D at the time indicated by the PTS described in the PES packet.
  • the IG decoder 1804D is used in the HDMV mode and is not used in the BD-J mode.
  • the primary audio decoder 1804E receives the PES packets of the primary audio stream from the demultiplexers 1803A and 1803B and stores them in the internal buffer memory. In parallel, the primary audio decoder 1804E reads the PES packet from its buffer memory and removes the PES header from the PES packet. The primary audio decoder 1804E further extracts LPCM audio data from the remaining PES payload and decodes it. Subsequently, the primary audio decoder 174E sends uncompressed audio data to the mixer 1808 at the time indicated by the PTS described in the PES packet.
  • the secondary audio decoder 1804F includes the same configuration as the primary video decoder 1804E.
  • the secondary audio decoder 1804F receives the PES packet of the secondary audio stream from each of the demultiplexers 1803A and 1803B using the configuration, extracts the LPCM audio data from the PES packet, and decodes it.
  • the secondary audio decoder 1804F further sends uncompressed audio data to the mixer 1808 at the time indicated by the PTS described in the PES packet.
  • the image decoder 1804G receives the image data GD from the BD-J module 1745 in the control unit 1650 and decodes it. The image decoder 1804G further writes uncompressed image data into the image data area 1811. Further, in the BD-Live processing, the image decoder 1804G uses a part of the image data area 1811 as a cache area. The image decoder 1804G decodes image data such as a browser screen downloaded from the server device 160, and stores it in its cache area. In particular, both the current image data and the immediately preceding image data are stored in the cache area.
  • Each video plane memory 1806A, 1806B is an area secured in a memory element built in the playback unit 1660 and includes a two-dimensional array.
  • the size of the array is equal to the resolution of the video frame.
  • Each element of the array stores a set of pixel data.
  • Pixel data consists of a combination of color coordinate values and alpha values (opacity).
  • the color coordinate value is represented by an RGB value or a YCrCb value. Therefore, one video plane can be stored in the array.
  • two two-dimensional arrays of the same size are secured in the primary video plane memory 1806A. The left-view video plane is written in one of these arrays, and the right-view video plane is written in the other.
  • the image memory 1810 is an area secured in a memory element built in the playback unit 1660. A part of the area is allocated to each of the PG plane memory 1806C, the IG plane memory 1806D, and the BG plane memory 1806E, and the remaining area is allocated to the image data area 1811.
  • Each plane memory 1806C, 1806D, 1806E includes two two-dimensional arrays of the same size. Each element of the array stores a set of pixel data. Pixel data consists of a combination of color coordinate values and alpha values. The color coordinate value is represented by an RGB value or a YCrCb value.
  • each of the plane memories 1806C, 1806D, and 1806E while the current plane is held in one of the two arrays, the next plane is written to the other. As a result, so-called double buffering can be realized, and flickering can be suppressed in video reproduced from each plane.
  • the capacity of the area to be allocated to the IG plane memory 1806D is instructed by the BD-J module 1745, and is changed in particular according to the image reproduction state value 620 indicated by the BD-J object. Specifically, in the state 3 and the state 4 shown in FIG. 7, the capacity of the IG plane memory 1806D is set to double the value in the state 1 and the state 2.
  • the rendering engine 1805 includes an API for graphics processing such as Java 2D or OPEN-GL.
  • the rendering engine 1805 is specifically used for graphics processing by the BD-J module 1745.
  • the BD-J module 1745 first transfers the image data GD to the image data area 1811.
  • the BD-J module 1745 then sends instructions to the rendering engine 1805 according to the application program.
  • the rendering engine 1805 performs graphics processing such as ⁇ composition (Porter-Duff calculation) on the image data GD in the image data area 1811 in accordance with the instruction.
  • ⁇ composition Portable-Duff calculation
  • the rendering engine 1805 further writes the image plane to the IG plane memory 1806D and writes the BG plane to the BG plane memory 1806E. Further, when 3D video playback processing in the 2-plane mode is instructed by the BD-J module 1745, the rendering engine 1805 generates both left-view and right-view image planes from the image data GD. And write them to the IG plane memory 1806D.
  • the adder 1807 combines the plane written in each plane memory 1806A-E as it is into one video frame.
  • the adding unit 1807 first performs a cropping process on at least one of the PG plane, the IG plane, the image plane, and the BG plane. Generate a pair.
  • the adding unit 1807 determines a plane to be subjected to the cropping process in accordance with an instruction from the BD-J module 1745.
  • the offset value indicated by the 3D metadata 1103 is used.
  • the offset value passed from the BD-J module 1745 is used.
  • the adder 1807 combines the left-view video plane, the left-view PG plane, the left-view IG plane or the image plane, and the left-view BG plane into a single left-view video frame. Synthesize.
  • the adding unit 1807 combines the right-view planes into a single right-view video frame.
  • the adder 1807 matches the timing of synthesizing the image plane with the video frame to the timing indicated by the drawing command from the BD-J module 1745. Thereby, each plane of the left view is correctly combined with the left view video frame, and each plane of the right view is correctly combined with the right view video frame.
  • Each video frame thus correctly synthesized is converted into video data VD by the adder 1807 and sent to the HDMI transmitter 1670.
  • the mixer 1808 superimposes uncompressed audio data received from each of the primary audio decoder 1804E and the secondary audio decoder 1804F to create synthesized audio data AD.
  • the mixer 1808 further transmits the audio data AD to the HDMI transmission unit 1670.
  • FIG. 19 is a schematic diagram showing an example of an IG plane memory area, a PG plane memory area, a BG plane memory area, and an image data area secured in the image memory 1810.
  • the total capacity of the image memory 1810 is 81.5 MB.
  • the BD-J module 1745 allocates 16 MB to the IG plane memory area 1901, and the PG plane memory area 1902 and the BG plane memory 2 MB is allocated to the area 1903 and the remaining 61.5 MB is allocated to the image data area 1904.
  • the BD-J module 1745 further secures a BD-Live cache area 1905 in the 16 MB area of the image data area 1904.
  • the BD-J module 1745 allocates 32 MB to the IG plane memory area 1911, and PG plane memory area 1912 and BG plane memory. 2 MB is allocated to the area 1913 and the remaining 45.5 MB is allocated to the image data area 1914.
  • the 2-plane mode has a richer expressiveness than the offset mode, the state 3 and the state 4 can express the surface irregularities and the curved surface of the menu more realistically than the state 2, for example. .
  • the BD-J module 1745 first releases the cache area 1905 from the image data area 1904, for example, when the setting state of the playback device 110 is switched from state 2 to state 4. Next, the BD-J module 1745 allocates the free area generated by the release to the IG plane memory area 1911. Thus, the capacity of the IG plane memory area is doubled from 16 MB to 32 MB. Thus, a 2-plane mode is available. However, since the cache area 1905 disappears, the BD-Live function by network connection cannot be used. On the contrary, when the setting state of the playback device 110 is switched from the state 4 to the state 2, the 16 MB area is first released from the 32 MB IG plane memory area 1911.
  • a free area generated by the release is allocated to the image data area 1904 and secured as a cache area 1905.
  • the BD-Live function by network connection can be used.
  • the capacity of the IG plane memory area is halved from 32 MB to 16 MB, the 2-plane mode cannot be used.
  • the switching between the state 1 and the state 4, the switching between the state 1 and the state 3, and the switching between the state 2 and the state 3 release and secure the 16 MB cache area, and the image data area and the IG plane.
  • a 16 MB area is exchanged with the memory area.
  • the BD-J module 1745 has a BD-Live in a part of the 45.5 MB image data area 1914. Allocate a cache area for use. However, the capacity of the cache area is limited to be smaller than the capacity 16 MB of the cache area 1905 in the state 1 or the state 2. Further, since the cache area is secured, the remaining part of the image data area 1914 is smaller than 45.5 MB. Therefore, in switching between the state 3 and another state, the capacities of the image data area and the cache area are changed.
  • an application program that can operate with an image data area smaller than 45.5 MB and a cache area smaller than 16 MB can realize the BD-Live function and uses the 32 MB IG plane memory area 1911. 2 plane mode can be executed.
  • the application program can display both the GUI screen constructed by itself and the browser screen downloaded from the external network on the display device 120 at the same time. The feeling can be further improved.
  • the playback device 110 causes the application program to dynamically switch between the four states 1-4. Thereby, the playback device 110 can selectively use the two-plane mode and the BD-Live function for the application program while maintaining the total capacity of the image memory constant. Further, the playback apparatus 110 can simultaneously use the BD-Live function and the two-plane mode for an application program that can operate in the image data area and the cache area whose capacity is reduced.
  • FIG. 20 is a schematic diagram showing image planes stored in the IG plane memory area 1911 in each of the offset mode and the 2-plane mode.
  • the rendering engine 1805 writes two 1920 ⁇ 1080 image planes in the IG plane memory area 1911. One of them is the left view image plane 2003, and the other is the right view image plane 2004.
  • the rendering engine 1805 logically concatenates the two image planes 2003 and 2004 in the horizontal direction so that the number of pixels in the horizontal direction is double, that is, an image plane of 3840 ⁇ 1080. Compose 2002 and give it a handle. Accordingly, the rendering engine 1805 causes the application program to operate the left view image plane 2003 and the right view image plane 2004 as the left half and the right half of the single image plane 2002. For example, when an instruction from the BD-J module 1745 indicates drawing to the left half of the image plane 2002, the rendering engine 1805 writes the left view image plane 2003 to the IG plane memory area 1911.
  • the rendering engine 1805 when the instruction from the BD-J module 1745 indicates drawing on the right half of the image plane 2002, the rendering engine 1805 writes the right-view image plane 2004 into the IG plane memory area 1911. Further, when the instruction from the BD-J module 1745 indicates drawing to the entire image plane 2002, the rendering engine 1805 converts both the left view image plane 2003 and the right view image plane 2004 to the IG plane. -You may write in the memory area 1911. Thus, the rendering engine 1805 allows the application program to manipulate the image plane with a single handle, regardless of whether it is in offset mode or 2-plane mode.
  • FIG. 21 is a functional block diagram of the adder 1807 in state 1, that is, 2D video playback processing.
  • the adding unit 1807 includes four adders 2101 to 2104.
  • the first adder 2101 synthesizes the secondary video plane 2111 with the primary video plane 2110 and sends it to the second adder 2102.
  • the second adder 2102 synthesizes the BG plane 2112 with the video plane received from the first adder 2101 and sends it to the third adder 2103.
  • the third adder 2103 combines the PG plane 2113 with the video plane received from the second adder 2102 and sends it to the fourth adder 2104.
  • Fourth adder 2104 combines image plane or IG plane 2114 with the video plane received from third adder 2103.
  • the fourth adder 2104 further converts the combined video plane into video data VD as one video frame, and sends it to the HDMI transmission unit 1670.
  • FIG. 22 is a functional block diagram of the adder 1807 in state 2.
  • the adder 1807 includes a switch 2200, three adders 2201-2203, and three cropping processors 2211-2213.
  • the BD-J mode is assumed for convenience. The same explanation applies to the HDMV mode.
  • the switch 2200 sends the left-view video plane 2220 and the right-view video plane 2221 to the first adder 2201 in the order of PTS.
  • the switch 2200 transmits the left-view video plane 2220 before the right-view video plane 2221.
  • the secondary video plane has two types of a left view and a right view, they are alternately read into the adding unit 1807 by a similar switch, and are switched from the switch 2200. Composite to the outgoing video plane.
  • the first adder 2201 alternately receives the left-view video plane 2220 and the right-view video plane 2221 from the switch 2200.
  • the first cropping processor 2211 alternately receives the left view and right view BG planes.
  • the first adder 2201 combines the left view BG plane with the left view video plane 2220 and combines the right view BG plane with the right view video plane 2221.
  • the combined video planes are alternately sent to the second adder 2202.
  • the second adder 2202 receives the left-view video plane and the right-view video plane alternately from the first adder 2201.
  • the second cropping processor 2212 alternately receives the left view and right view PG planes.
  • the second adder 2202 combines the left view PG plane with the left view video plane and the right view PG plane with the right view video plane.
  • the combined video planes are alternately sent to the third adder 2203.
  • the third adder 2203 receives the left-view video plane and the right-view video plane alternately from the second adder 2202.
  • the third cropping processor 2213 receives the image planes of the left view and the right view alternately.
  • the third adder 2203 synthesizes the left-view image plane with the left-view video plane and synthesizes the right-view image plane with the right-view video plane.
  • the third adder 2203 further converts the combined video plane into video data VD as one video frame, and sends it to the HDMI transmission unit 1670.
  • the first cropping unit 2211 performs a cropping process on the BG plane 2222 using the offset value passed from the BD-J module 1745. As a result, the BG plane 2222 is alternately converted into a left view BG plane and a right view BG plane.
  • the second cropping processor 2212 performs a cropping process on the PG plane 2223 using the offset value indicated by the 3D metadata 1103. Thereby, the PG plane 2223 is alternately converted into a left view PG plane and a right view PG plane.
  • the third cropping processor 2213 performs the cropping process on the image plane 2224 using the offset value passed from the BD-J module 1745. As a result, the image plane 2224 is alternately converted into a left-view image plane and a right-view image plane.
  • FIG. 23 is a schematic diagram showing a cropping process for the PG plane GP by the second cropping processor 2212.
  • the PG plane GP includes a graphics element ST representing a caption “I love you”.
  • the ⁇ value is set to 0, that is, it is transparent.
  • the second cropping processor 2212 accesses the primary video decoder 1804E to determine whether the video plane to be synthesized with the PG plane GPL represents a left view or a right view.
  • the second cropping processor 2212 displaces the graphics element ST in the PG plane GP in the horizontal direction by the number of pixels PX.
  • the number of pixels PX is equal to the offset value 1203.
  • the direction of displacement varies depending on the result of discrimination.
  • the video plane to be synthesized represents a left view
  • the offset value 1203 is positive
  • the graphics element ST is displaced to the right, and if it is negative, it is displaced to the left.
  • a transparent band B1L having a width equal to the number of pixels PX is added to the left side of the original PG plane GP, and the transparent band B1R having the same width is added to the original PG plane. Removed from the right edge of the GP. Thereby, the original PG plane GP is rewritten to the left view PG plane LGP.
  • the distance DL between the left end of the left view PG plane LGP and the graphics element ST is longer by the number of pixels PX than the distance D0 between the left end of the original PG plane GP and the graphics element ST. That is, the position of the graphics element ST moves to the right from the original position. The opposite is true when the offset value 1203 is negative.
  • the graphics element ST is displaced to the left if the offset value 1203 is positive, and to the right if the offset value 1203 is negative.
  • the transparent band B2L having a width equal to the number of pixels PX is removed from the left end portion of the original PG plane GP, and the transparent band B2R having the same width is removed from the original PG.
  • the original PG plane GP is rewritten to the right view PG plane RGP.
  • the distance DR between the left end of the right-view PG plane RGP and the graphics element ST is shorter than the distance D0 between the left end of the original PG plane GP and the graphics element ST by the number of pixels PX. That is, the position of the graphics element ST moves to the left from the original position. The opposite is true when the offset value 1203 is negative.
  • the second cropping processor 2212 generates a left-view PG plane LGP and a right-view PG plane RGP from one PG plane GP, and alternately sends them to the second adder 2202. Between them, the horizontal position of the graphics element ST differs by twice the number of pixels PX, that is, twice the offset value 1203. By perceiving this displacement as binocular parallax, the viewer sees the subtitle “I love you” at a different depth from the screen.
  • the first cropping processor 2211 performs cropping processing on the BG plane 2222 in the same manner, and the third cropping processor 2213 performs cropping processing on the image plane 2224 in the same manner.
  • FIG. 24 is a functional block diagram of the adding unit 1807 in the state 3 and the state 4.
  • the adding unit 1807 includes two mode switches 2411 and 2412 in addition to the functional units shown in FIG.
  • the first mode switch 2411 switches the transmission destination of the left-view image plane 2420 between the offset mode and the 2-plane mode in accordance with the instruction from the BD-J module 1745.
  • the first mode switch 2411 sends the left-view image plane 2420 to the third cropping processor 2213. Accordingly, a left-view and right-view image plane pair is generated from the left-view image plane 2420.
  • the first mode switch 2411 sends the left view image plane 2420 to the second mode switch 2412.
  • the second mode switch 2412 sends the left-view image plane 2420 and the right-view image plane 2421 alternately to the third adder 2203 in conjunction with the switch 2200.
  • second mode switch 2412 sends a left-view image plane 2420
  • switch 2200 sends a right-view video plane 2221
  • the second mode switch 2412 sends out the right-view image plane 2421. Accordingly, the third adder 2203 can correctly combine the video plane and the image plane.
  • FIG. 25 is a flowchart of the switching process of the setting state of the playback device 110 by the BD-J module 1745.
  • a title switching process when a new BD-ROM disc is inserted into the BD-ROM drive 111 is assumed.
  • the title switching process performed in response to a user operation or an application program request while the BD-ROM disc 100 is still inserted in the BD-ROM drive 111 is the same.
  • Step S2501 The operation unit 1620 detects the insertion of the BD-ROM disc 100 into the BD-ROM drive 111, and sends a notification INT indicating that to the user operation detection module 1702.
  • the user operation detection module 1702 sends an operation signal UO to the mode management module 1743 in response to the notification INT.
  • the dispatcher 1743A requests the virtual file system 1703 to read the index file IF through the AV playback library 1746 in response to the operation signal UO.
  • the mode management module 1743 refers to the item “first play” 301 in the index table in the index file IF and identifies the object specified by the item.
  • the object is a BD-J object.
  • the mode management module 1743 sends an instruction to the virtual file system 1703 through the AV playback library 1746 to transfer the BD-J object to the dynamic scenario memory 1741.
  • the mode management module 1743 assigns the current dynamic scenario information DS to the BD-J module 1745.
  • the BD-J module 1745 reads the BD-J object from the dynamic scenario information DS in the dynamic scenario memory 1741.
  • Step S2502 The BD-J module 1745 reads the current image playback state value from the AV playback library 1746 and compares it with the image playback state value 620 indicated by the BD-J object. When the two compared image reproduction state values match, or when their combination indicates switching between state 1 and state 2, the process proceeds to step S2503. When the combination of the two compared image reproduction state values indicates other than switching between state 1 and state 2, the process proceeds to step S2504.
  • Step S2503 The setting state of the playback device 110 requested by the BD-J object and the setting state before the BD-ROM disc 100 is inserted are equal to each other, or the combination of the state 1 and the state 2 is equal. Therefore, the BD-J module 1745 does not change the area in the image memory 1810. On the other hand, when the BD-J object requests to switch between the state 1 and the state 2, the BD-J module 1745 performs 2D video playback processing and 3D video playback from the video stream in response to the request. Any one of the processes is designated to the playback device 110. Thereafter, the BD-J object 1745 performs title reproduction processing as usual.
  • the application manager 1745A instructs the virtual machine 1745B to start or end the application program according to the application management table 410 in the BD-J object.
  • the application manager 1745A determines whether or not to continue its execution.
  • the virtual machine 1745B starts or terminates the application program in accordance with an instruction from the application manager 1745A.
  • the BD-J module 1745 executes the reproduction process of the title corresponding to the item “first play” 303 according to the application program.
  • Step S2504 The two compared image reproduction state values indicate other than the combination of state 1 and state 2. Accordingly, the BD-J module 1745 uses the application manager 1745A to forcibly terminate all application programs in the virtual machine 1745B. Thereafter, processing proceeds to step S2505.
  • Step S2505 The BD-J module 1745 causes the playback unit 1660 to change each area in the image memory 1810. Specifically, the two compared image reproduction state values are switched from state 1 to state 3, from state 2 to state 3, from state 1 to state 4, or from state 2 to state 4. As shown in FIG. 19, the BD-J module 1745 first releases the BD-Live cache area 1905 from the image data area 1904, as shown in FIG. Next, the BD-J module 1745 allocates the free area generated by the release to the IG plane memory area 1911 and doubles the capacity of the IG plane memory area.
  • the BD-J module 1745 first uses half of the IG plane memory area 1911. release. Next, the BD-J module 1745 allocates a free area generated by the release to the image data area 1904 and secures it as a cache area 1905 for BD-Live. Further, when the two image playback state values indicate switching between the state 3 and the state 4, the BD-J module 1745 reserves or releases a cache area for BD-Live processing in the image data area 1911. Thereafter, processing proceeds to step S2506.
  • Step S2506 The BD-J module 1745 causes the AV playback library 1746 to update the current image playback state value to the image playback state value 620 indicated by the BD-J object. Thereafter, processing proceeds to step S2507.
  • Step S2507 The BD-J module 1745 switches the setting state of the playback device 110 to that requested by the BD-J object. Thereafter, the BD-J module 1745 performs the title reproduction process as usual. That is, the application manager 1745A instructs the virtual machine 1745B to start or end the application program according to the application management table 410 in the BD-J object. In particular, when there is a disk unbound application program that is forcibly terminated in step S2504, the application manager 1745A determines whether or not its execution should be resumed. The virtual machine 1745B starts or terminates the application program in accordance with an instruction from the application manager 1745A. Thereby, the BD-J module 1745 executes the reproduction process of the title corresponding to the item “first play” 303 according to the application program.
  • the BD-J module 1745 switches the setting state of the playback device 110 according to the different image playback state value.
  • the state 1 and the state 3, the state 1 and the state 4, the state 2 and the state 3, or the state 2 and the state 4 are switched, the BD-Live is stored in the image memory 1810 as shown in FIG.
  • the cache area 1905 is released or secured, and a part of the area is exchanged between the image data area and the IG plane memory area.
  • the state 3 and the state 4 are switched, the capacities of the BD-Live cache area and the image data area are changed in the image memory 1810.
  • disc-bound or disc-unbound application programs generally do not end with title switching. Accordingly, there remains a risk that these application programs will misaccess the area in the image memory after switching the title as the area before switching.
  • the BD-J module 1745 compares the image playback state value 620 indicated by the BD-J object with the current value. To do. Furthermore, when the two compared image playback state values indicate a combination other than the combination of state 1 and state 2, the BD-J module 1745 uses the application manager 1745A to force all the application programs to the virtual machine 1745B. Terminate. Thereby, when the area in the image memory 1810 needs to be changed, all application programs are terminated prior to that. Therefore, there is no risk that the application program misaccesses the area after the change as a pre-change area.
  • the playback apparatus 110 can cause the application program to selectively use the 2-plane mode and the BD-Live function without causing malfunction.
  • the playback device 110 can play back digital content with a higher stereoscopic effect of graphics images without increasing the capacity of the image memory.
  • Embodiment 1 of the present invention when both left-view and right-view image data exist, the left-view image data is used in the offset mode.
  • right-view image data may be used instead of the left-view image data.
  • the adding unit 1807 alternately sends a pair of video frames of the left view and the right view after synthesis.
  • the adder 1807 uses a built-in buffer memory to further convert the left-view and right-view video frame pairs into one video. -You may combine it into a frame.
  • the adding unit 1807 temporarily stores and holds the previously synthesized left view video plane in its buffer memory. Subsequently, the adder 1807 combines the right-view video plane and further combines it with the left-view video plane held in the buffer memory.
  • each video plane is divided into strip-like small areas elongated in the vertical direction, and the small areas are alternately arranged in the horizontal direction to be reconstructed into one frame.
  • the playback device according to the first embodiment of the present invention can be applied to a display device that uses a lenticular lens to display 3D video.
  • the adder 1807 can switch between the offset mode and the 2-plane mode using the two mode switches 2411 and 2412. Realize.
  • the 3D video reproduction process from the image data may be limited to the 2-plane mode only.
  • state 3 and state 4 can be divided into two states specialized for each mode. Good. For example, with the setting of the original state 3, the state where the playback processing of 3D video from the image data is fixed to the offset mode is “state 3”, and the state where the playback processing is fixed to the 2-plane mode is “state 5”. Good. In that case, the image reproduction state value increases to six types. Furthermore, switching between the offset mode and the two-plane mode is possible only by switching the title.
  • the adding unit 1807 switches between the offset mode and the 2-plane mode according to the instruction of the BD-J module 1745.
  • the register 1746A in the AV playback library 1746 may be used as follows: First, a flag is set in the register 1746A. Next, when the BD-J module 1745 designates the offset mode, the flag is turned off, and when the two-plane mode is designated, the flag is turned on. On the other hand, the adding unit 1807 operates in the offset mode when the flag is off, and operates in the 2-plane mode when the flag is on.
  • the BD-J module 1745 may cause the rendering engine 1805 to copy the left-view image plane to the right-view image plane prior to that.
  • the rendering engine 1805 may cause the rendering engine 1805 to copy the left-view image plane to the right-view image plane prior to that.
  • Embodiment 1 of the present invention 3D video playback processing from either the BG plane or the PG plane is performed in the offset mode.
  • the application program causes the BD-J module 1745 to generate both left view and right view BG planes so that 3D video playback processing from the BG plane is performed in the 2-plane mode. Also good. Further, by reproducing both the left view and right view PG streams in the AV stream file, 3D video playback processing from the PG plane may be performed in the 2-plane mode. As a result, it is possible to further improve the expressiveness of the stereoscopic effect for the graphics image of the background and the caption.
  • the BD-J module 1745 may skip steps S2502 to S2504 in the steps shown in FIG.
  • the BD-Live cache area is limited to be smaller than in state 1 and state 2. Accordingly, when switching from state 1 or state 2 to state 3 is necessary in accordance with the switching of the title, the BD-J module 1745 may display a warning screen on the display device 120 before the switching. Thereby, the playback device 110 can warn the viewer in advance of the danger that the response of the BD-Live process will be reduced.
  • the playback apparatus can allow an application program to select an HDMV mode or a BD-J mode according to a built-in memory resource during 3D video playback processing. Except for this point, the playback apparatus according to the second embodiment has the same configuration and function as the playback apparatus according to the first embodiment. Accordingly, in the following description, of the playback device according to the second embodiment, a changed part and an extended portion from the playback device according to the first embodiment will be described. For the same parts as those of the playback apparatus according to the first embodiment, the description of the first embodiment is cited.
  • the playback device according to Embodiment 2 of the present invention is classified into two types, a low-priced version and a normal version, depending on the size of the built-in memory resource.
  • “Inexpensive playback device” refers to a playback device that can execute 3D video playback processing only in the HDMV mode because it has relatively small memory resources. In the HDMV mode, unlike the BD-J mode, only the 3D video of the content main body on the BD-ROM disc 100 can be played back, and the interactive content graphics video such as a pop-up menu cannot be played back.
  • the “normal version playback device” is a playback device that has sufficient memory resources and can execute 3D video playback processing in either the HDMV mode or the BD-J mode.
  • the BD-J module 1745 notifies the application program read from the BD-ROM disc 100 when the title is switched whether the built-in playback device is the low-cost version or the normal version. Can do.
  • FIG. 26 is a flowchart of event processing by an application program. This event processing is started when the user operation detection module 1702 receives a notification from the operation unit 1620.
  • Step S2601 The user operation detection module 1702 identifies the event type indicated by the notification from the operation unit 1620, and sends an operation signal indicating the event type to the mode management module 1743.
  • the dispatcher 1743A passes the operation signal to the BD-J module 1745.
  • the BD-J module 1745 decodes the operation signal and notifies the application program of the content.
  • the application program determines whether or not the content indicates a 3D video playback request by the user. If the determination is negative, the process proceeds to step S2602. If the determination is affirmative, the process proceeds to step S2603.
  • Step S2602 Since the user's operation is not a 3D video playback request, the application program performs normal event processing.
  • Step S2603 Since the user's operation is a 3D video playback request, the application program inquires of the BD-J module 1745 whether or not the playback device is an inexpensive version. When the answer to the inquiry is negative, the process proceeds to step S2604, and when the answer is affirmative, the process proceeds to step S2605.
  • Step S2604 Since the playback device is a normal version, 3D video playback processing can also be executed in the BD-J mode. Therefore, the application program starts 3D video playback processing in the BD-J mode.
  • Step S2605 Since the playback device is a low-priced version, 3D video playback processing can be executed only in the HDMV mode. Therefore, the application program causes the BD-J module 1745 to switch the title of the BD-J mode to the title of the HDMV mode. By the switching of the title, the main subject of the reproduction process shifts from the BD-J module 1745 to the HDMV module 1744.
  • the 2D video playback process by the 1BD-J object BDJO-2D associated with the item “title 2” is changed to the second movie object MVO associated with the item “title 3”. -Shift to 3D video playback processing in 3D.
  • the title returns to the original BD-J mode title
  • the main player of the playback process returns from the HDMV module 1744 to the BD-J module 1745.
  • the playback apparatus surely causes the application program read from the BD-ROM disc 100 to execute 3D video playback processing, regardless of whether it is a low-priced version or a normal version. be able to. Thereby, it is possible to reduce the burden on the authoring of the application program.
  • the volume area 122 shown in FIG. 2 includes a directory area, a file set descriptor recording area, and a terminal descriptor recording area.
  • the “file set descriptor” indicates a logical block number (LBN) of a sector in which a file entry of the root directory is recorded in the directory area.
  • the “end descriptor” indicates the end of the file set descriptor.
  • Each directory area has a common data structure.
  • Each directory area includes, in particular, recording areas for file entries, directory files, and subordinate files.
  • “File entry” includes a descriptor tag, an ICB tag, and an allocation descriptor.
  • “Descriptor tag” indicates that the data including the descriptor tag is a file entry. For example, when the value of the descriptor tag is “261”, the data is a file entry.
  • the “ICB tag” indicates attribute information of the file entry itself.
  • the “allocation descriptor” indicates the LBN of the sector in which the directory file belonging to the same directory area is recorded.
  • “Directory file” includes a file identification descriptor of a lower directory and a file identification descriptor of a lower file.
  • the “file identifier descriptor of the lower directory” is information for accessing the lower directory directly under the directory recorded in the directory area.
  • This file identification descriptor includes, in particular, identification information of the subordinate directory, the length of the directory name, the file entry address, and the directory name itself.
  • the file entry address indicates the LBN of the sector in which the file entry of the lower directory is recorded.
  • the “file identifier descriptor of the lower file” is information for accessing the lower file immediately under the directory recorded in the directory area.
  • This file identification descriptor includes the identification information of the lower file, the length of the file name, the file entry address, and the file name itself.
  • the file entry address indicates the LBN of the file entry of the lower file.
  • “Subordinate file” includes the file entry and substance of the subordinate file immediately under the directory recorded in the directory area.
  • the “file entry” includes a descriptor tag, an ICB tag, and an allocation descriptor.
  • “Descriptor tag” indicates that the data including the descriptor tag is a file entry.
  • the “ICB tag” indicates attribute information of the file entry itself.
  • the “allocation descriptor” indicates the arrangement of each extent constituting the entity of the lower file.
  • “extent” means a data string in which logical addresses are continuous. One allocation descriptor is provided for each extent. Therefore, when the subordinate file is divided into a plurality of extents, the file entry includes a plurality of allocation descriptors.
  • the allocation descriptor includes the size and LBN of each extent.
  • the upper 2 bits of the allocation descriptor indicate whether or not an extent is actually recorded in the sector of the LBN. That is, when the upper 2 bits are “0”, it indicates that the extent has been allocated and recorded for the sector, and when it is “1”, the extent has been allocated to the sector. Indicates unrecorded.
  • the allocation descriptor of the file entry of each file the logical address of each extent constituting the file can be known.
  • the recording medium according to the embodiment of the present invention includes not only an optical disk but also all removable media that can be used as a package medium, such as a portable semiconductor memory device including an SD memory card.
  • a portable semiconductor memory device including an SD memory card.
  • an optical disk on which data is recorded in advance that is, an existing read-only optical disk such as a BD-ROM or a DVD-ROM is taken as an example.
  • the recording medium according to the embodiment of the present invention is not limited thereto.
  • 3D video content distributed via broadcast or network is written on an existing writable optical disc such as a BD-RE or DVD-RAM by a terminal device, and may be used as a recording medium according to the embodiment.
  • the terminal device may be incorporated in the playback device or may be a device different from the playback device.
  • a data reading unit of a reproducing apparatus when a semiconductor memory card is used as a recording medium according to an embodiment of the present invention instead of an optical disk will be described.
  • the portion of the playback device that reads data from the optical disc is configured by, for example, an optical disc drive.
  • the portion for reading data from the semiconductor memory card is constituted by a dedicated interface (I / F). More specifically, a card slot is provided in the playback device, and the above I / F is mounted therein. When the semiconductor memory card is inserted into the card slot, the semiconductor memory card is electrically connected to the playback device through the I / F. Further, data is read from the semiconductor memory card to the playback device through the I / F.
  • Some data recorded on the BD-ROM disc may be encrypted, for example, from the viewpoint of copyright protection or improvement of data confidentiality.
  • the encrypted data includes, for example, a video stream, an audio stream, or other stream. In that case, the encrypted data is decrypted as follows.
  • the playback apparatus stores in advance a part of data necessary for generating a “key” for decrypting encrypted data on the BD-ROM disc, that is, a device key.
  • a device key On the other hand, in the BD-ROM disc, another part of the data necessary for generating the “key”, that is, the MKB (media key block) and the encrypted data of the “key” itself, that is, the encrypted title key are stored. And are recorded.
  • the device key, MKB, and encrypted title key are associated with each other, and further associated with a specific identifier written in the BCA 201 on the BD-ROM disc 100 shown in FIG. Yes. If the combination of the device key, MKB, encrypted title key, and volume ID is not correct, the encrypted data cannot be decrypted.
  • the above-mentioned “key”, that is, the title key is generated only when these combinations are correct. Specifically, first, the encrypted title key is decrypted using the device key, MKB, and volume ID. Only when the title key can be derived thereby, the encrypted data can be decrypted using the title key as the “key”.
  • the playback device Even if the playback device tries to play back the encrypted data on the BD-ROM disc, for example, the device key previously associated with the encrypted title key, MKB, and volume ID on the BD-ROM disc is stored in the playback device. If it is not stored, the encrypted data cannot be reproduced. This is because the key necessary for decrypting the encrypted data, ie, the title key, cannot be derived unless the encrypted title key is decrypted with the correct combination of the MKB, device key, and volume ID.
  • the protected stream is encrypted with the title key and recorded on the BD-ROM disc.
  • a key is generated from a combination of the MKB, device key, and volume ID, and the title key is encrypted with the key and converted into an encrypted title key.
  • the MKB, the volume ID, and the encrypted title key are recorded on the BD-ROM disc.
  • the encrypted video stream and / or audio stream can be decrypted by the decoder only from the BD-ROM disc with the playback apparatus having the device key used for generating the key. In this way, the copyright of the data recorded on the BD-ROM disc can be protected.
  • the above-described mechanism for protecting the copyright of data on a BD-ROM disc can be applied to other than the BD-ROM disc.
  • the present invention can be applied to a readable / writable semiconductor memory device, particularly a portable semiconductor memory card such as an SD card.
  • Distribution data Data such as an AV stream file of 3D video (hereinafter referred to as distribution data) is transmitted to the playback apparatus according to the embodiment of the present invention using electronic distribution, and the distribution data is further transferred to the playback apparatus to the semiconductor memory card.
  • the recording process will be described below. The following operation may be performed by a terminal device specialized for the processing instead of the above-described playback device. Further, it is assumed that the recording destination semiconductor memory card is an SD memory card.
  • the playback device has a card slot. An SD memory card is inserted in the card slot. In this state, the playback device first sends a transmission request for distribution data to a distribution server on the network. At this time, the playback device reads the identification information from the SD memory card, and sends the identification information together with the transmission request to the distribution server.
  • the identification information of the SD memory card is, for example, an identification number unique to the SD memory card, more specifically, a serial number of the SD memory card. This identification information is used as the volume ID described above.
  • Distribution data is stored in the distribution server.
  • data that needs to be protected by encryption such as a video stream and / or an audio stream, is encrypted using a predetermined title key.
  • the encrypted data can be decrypted with the same title key.
  • the distribution server holds a device key as a secret key shared with the playback device.
  • the distribution server further holds a common MKB with the SD memory card.
  • the distribution server receives the distribution data transmission request and the SD memory card identification information from the playback device, the distribution server first generates a key from the device key, MKB, and the identification information, and encrypts the title key with the key. To generate an encrypted title key.
  • the distribution server generates public key information.
  • the public key information includes, for example, the above-described MKB, encrypted title key, signature information, SD memory card identification number, and device list.
  • the signature information includes, for example, a hash value of public key information.
  • the device list is a list of devices that should be invalidated, that is, devices that have a risk of illegally reproducing encrypted data in distribution data. In the list, for example, a device key of the playback device, an identification number of the playback device, an identification number of various parts such as a decoder built in the playback device, or a function (program) is specified.
  • the distribution server further sends distribution data and public key information to the playback device.
  • the playback device receives them and records them on the SD memory card through the dedicated I / F in the card slot.
  • the encrypted data is decrypted using, for example, public key information as follows.
  • the following three types of checks (1) to (3) are performed as public key information authentication. Note that they may be performed in any order.
  • the playback device stops the decryption process of the encrypted data. Conversely, when all the results of the above checks (1) to (3) are positive, the playback device recognizes the validity of the public key information and uses the identification information of the device key, MKB, and SD memory card. Then, the encrypted title key in the public key information is decrypted into the title key. The playback device further uses the title key to decrypt the encrypted data into, for example, a video stream and / or an audio stream.
  • the above mechanism has the following advantages. If the playback device, parts, and functions (programs) that are at risk of unauthorized use are already known at the time of electronic distribution, these identification information is listed in the device list and distributed as part of public key information. The On the other hand, the playback device that has requested distribution data must always check the identification information in the device list against the identification information of the playback device and its components. As a result, if the playback device or its parts are shown in the device list, even if the combination of the SD memory card identification number, MKB, encrypted title key, and device key is correct, the playback device Public key information cannot be used to decrypt encrypted data in distribution data. Thus, unauthorized use of distribution data can be effectively suppressed.
  • the identification information of the semiconductor memory card is stored in a recording area having a particularly high confidentiality among the recording areas in the semiconductor memory card. This is because in the unlikely event that the identification information, for example, the serial number of an SD memory card is tampered with illegally, illegal copying of the SD memory card can be easily performed. That is, if there are a plurality of semiconductor memory cards having the same identification information as a result of the falsification, the above-mentioned check (1) makes it impossible to distinguish between a genuine product and an illegally copied product. Therefore, the identification information of the semiconductor memory card must be recorded in a highly confidential recording area and protected from unauthorized tampering.
  • means for configuring such a highly confidential recording area in the semiconductor memory card are as follows. First, another recording area (hereinafter referred to as a second recording area) that is electrically separated from a normal data recording area (hereinafter referred to as a first recording area) is provided. Next, a control circuit dedicated to access to the second recording area is provided in the semiconductor memory card. Thereby, the second recording area can be accessed only through the control circuit. For example, only the encrypted data is recorded in the second recording area, and a circuit for decrypting the encrypted data is incorporated only in the control circuit. As a result, access to data in the second recording area is not possible unless the control circuit decrypts the data. In addition, the address of each data in the second recording area may be held only in the control circuit. In that case, the address of the data in the second recording area can be specified only by the control circuit.
  • the application program operating on the playback device acquires data from the distribution server using electronic distribution and records it on the semiconductor memory card
  • the following processing is performed.
  • the application program issues an access request to the identification information of the semiconductor memory card recorded in the second recording area to the control circuit via the memory card I / F.
  • the control circuit first reads the identification information from the second recording area.
  • the control circuit sends the identification information to the application program via the memory card I / F.
  • the application program sends a transmission request for distribution data together with the identification information to the distribution server.
  • the application program further records the public key information and the distribution data received from the distribution server in response to the request in the first recording area in the semiconductor memory card via the memory card I / F.
  • the above application program preferably checks whether or not the application program itself has been tampered with before issuing the above access request to the control circuit in the semiconductor memory card.
  • the control circuit in the semiconductor memory card For example, X.
  • a digital certificate compliant with 509 may be used.
  • the distribution data may be recorded in the first recording area in the semiconductor memory card, and access to the distribution data may not be controlled by the control circuit in the semiconductor memory card.
  • the AV stream file and the playlist file are recorded on the BD-ROM disc by the pre-recording technology in the authoring system and supplied to the user.
  • AV stream files and playlist files are recorded on a writable recording medium such as a BD-RE disc, a BD-R disc, a hard disk, or a semiconductor memory card (hereinafter referred to as a BD-RE disc or the like) by real-time recording. May be recorded and supplied to the user.
  • the AV stream file may be a transport stream obtained by the recording device decoding the analog input signal in real time.
  • a transport stream obtained by partializing a transport stream digitally input by the recording apparatus may be used.
  • a recording device that performs real-time recording includes a video encoder, an audio encoder, a multiplexer, and a source packetizer.
  • the video encoder encodes the video signal and converts it into a video stream.
  • the audio encoder encodes the audio signal and converts it into an audio stream.
  • the multiplexer multiplexes the video stream and the audio stream and converts them into a digital stream in the MPEG2-TS format.
  • the source packetizer converts TS packets in the MPEG2-TS format digital stream into source packets.
  • the recording device stores each source packet in an AV stream file and writes it on a BD-RE disc or the like.
  • the control unit of the recording apparatus In parallel with the AV stream file writing process, the control unit of the recording apparatus generates a clip information file and a playlist file on the memory and writes them on the BD-RE disc or the like. Specifically, when a recording process is requested by the user, the control unit first generates a clip information file in accordance with the AV stream file and writes it on a BD-RE disc or the like. In that case, every time the head of one GOP in the video stream is detected from the transport stream received from the outside, or each time one GOP in the video stream is generated by the video encoder, The control unit obtains the PTS of the I picture located at the head of the GOP and the SPN of the source packet storing the head of the GOP.
  • the control unit further adds the pair of PTS and SPN as one entry point to the entry map of the clip information file.
  • an “is_angle_change flag” is added to the entry point.
  • the is_angle_change flag is set to “ON” when the head of the GOP is an IDR picture, and is set to “OFF” when the head of the GOP is not an IDR picture.
  • stream attribute information is further set according to the attribute of the stream to be recorded.
  • the playback apparatus may further write the digital stream on the BD-ROM disc to another recording medium by managed copy.
  • “Managed copy” means copying a digital stream, a playlist file, a clip information file, and an application program from a read-only recording medium such as a BD-ROM disc to a writable recording medium. This is a technology for permitting only when authentication by communication with is successful.
  • the writable recording media are BD-R, BD-RE, DVD-R, DVD-RW, DVD-RAM and other writable optical disks, hard disks, SD memory cards, Memory Stick (registered trademark), and compact. Including portable semiconductor memory devices such as flash (registered trademark), smart media (registered trademark), and multimedia card (registered trademark).
  • Managed copy makes it possible to limit the number of backups of data recorded on a read-only recording medium and to charge for backup processing.
  • Transcode refers to processing for adapting a digital stream recorded on a copy source disc to an application format of a copy destination recording medium.
  • Transcode includes, for example, a process of converting from MPEG2-TS format to MPEG2 program stream format, and a process of re-encoding by reducing the bit rate assigned to each of the video stream and the audio stream.
  • an AV stream file, a clip information file, and a playlist file must be generated by the above-described real-time recording.
  • the repetition structure “a plurality of information of a predetermined type exists” is defined by describing the initial value of the control variable and the repetition condition in the for statement.
  • the data structure “predetermined information is defined when a predetermined condition is satisfied” is defined by describing the condition and a variable to be set when the condition is satisfied in an if statement. .
  • the data structure according to the embodiment is described in a high-level programming language. Therefore, the data structure is converted into a computer-readable code through a translation process by a compiler such as “syntactic analysis”, “optimization”, “resource allocation”, and “code generation”, and recorded on a recording medium.
  • the data structure is handled as a part other than the method of the class structure in the object-oriented language, specifically, as an array type member variable in the class structure, and a part of the program is handled. Make it. That is, the data structure is substantially equivalent to the program. Therefore, the data structure should be protected as a computer related invention.
  • a reproduction program is recorded on the recording medium as an executable file.
  • the reproduction program causes the computer to reproduce the AV stream file according to the playlist file.
  • the reproduction program is loaded from a recording medium into a memory device in the computer and then executed by the computer.
  • the load process includes a compile process or a link process.
  • the reproduction program is divided into a plurality of sections in the memory device. These sections include a text section, a data section, a bss section, and a stack section.
  • the text section includes a playback program code string, initial values of variables, and non-rewritable data.
  • the data section includes variables having initial values and rewritable data.
  • the data section includes, in particular, files that are recorded on the recording medium and accessed from time to time.
  • the bss section includes a variable having no initial value.
  • the data in the bss section is referred to according to the instruction indicated by the code in the text section.
  • an area for the bss section is secured in the RAM in the computer.
  • the stack section is a memory area that is temporarily reserved as necessary. Local variables are temporarily used in each process by the playback program. The stack section contains those local variables. When execution of the program is started, variables in the bss section are initialized with zeros, and a necessary memory area is secured in the stack section.
  • the playlist file and the clip information file have already been converted into a computer-readable code on the recording medium. Therefore, these files are managed as “non-rewritable data” in the text section or “files accessed at any time” in the data section when the playback program is executed. That is, the playlist file and the clip information file are incorporated in the constituent elements when the playback program is executed. Therefore, the playlist file and the clip information file play a role in the playback program beyond simple data presentation.
  • the playback device includes middleware, a system LSI, and other hardware.
  • the playback apparatus further includes an interface to the middleware, an interface between the middleware and the system LSI, an interface between the middleware and other hardware, and a user interface. These elements cooperate with each other when incorporated in the playback device. Thereby, a function unique to each element is provided to the playback device.
  • the interface to the middleware and the interface between the middleware and the system LSI By appropriately defining the interface to the middleware and the interface between the middleware and the system LSI, the development of the user interface, the middleware, and the system LSI in the playback device can be performed independently, in parallel, and efficiently. Can proceed well. It should be noted that for any interface, such appropriate definitions are generally diverse.
  • the present invention relates to a stereoscopic video reproduction technique, and as described above, the image data area is changed after the application program is forcibly terminated.
  • the present invention is clearly industrially applicable.

Abstract

 読み出し部は記録媒体から、アプリケーション・プログラム、イメージ・データ、ビデオ・ストリーム、及びアプリケーション管理ファイルを読み出す。仮想マシン部はアプリケーション・プログラムを実行する。メモリ部は、イメージ・データを格納するためのイメージ・データ領域を含む。再生部はアプリケーション・プログラムに従い、イメージ・データとビデオ・ストリームとから映像データを再生する。管理部はアプリケーション管理ファイルに従い、仮想マシン部に対してはアプリケーション・プログラムの起動と終了とを指示し、メモリ部に対してはイメージ・データ領域の変更を指示する。管理部はメモリ部に対してイメージ・データ領域の変更を指示するとき、その前に仮想マシン部にアプリケーション・プログラムを、アプリケーション管理ファイル上ではその実行の継続が規定されていても強制的に終了させる。

Description

再生装置、再生方法、再生プログラム、及び集積回路
 本発明は、立体視映像の再生技術に関し、特に立体視映像にグラフィックス映像を重ね合わせて表示する技術に関する。
 近年、読み出し専用のブルーレイ・ディスク(登録商標)(BD:Blu-ray Disc)、すなわちBD-ROMディスクに記録されたデジタル・コンテンツが増加している。それに伴い、BD-ROM規格に準拠の再生装置、すなわちBD-ROM再生装置の普及が急速に進んでいる。BD-ROMディスク上のコンテンツは少なくとも一つのタイトルから構成される。「タイトル」は、アプリケーション・プログラム、ビデオ/オーディオ・ストリーム、及びイメージ・データの組み合わせで表現される。イメージ・データは、字幕及びグラフィックス・ユーザインタフェース(GUI)等のグラフィックス映像、並びに背景映像を表す。ビデオ/オーディオ・ストリームとイメージ・データとはそれぞれ、多様な再生環境に対応すべく、多数の種類を含む。特にビデオ・ストリームの解像度は、NTSC規格による標準画質720×480から、最大1920×1080の高画質まで多様である。BD-ROM再生装置は、例えばユーザによって一つのタイトルが指定されたとき、そのタイトルに対応するアプリケーション・プログラムをBD-ROMディスクから読み出して実行する。そのアプリケーション・プログラムは再生装置に、イメージ・データの中から再生環境に適したものを選択させ、ビデオ、グラフィックス、及び背景の別に異なるプレーン・メモリに書き込ませる。各プレーン・メモリに保持されたデータ、すなわちプレーンはパラレルに処理され、その後、一枚のビデオ・フレームに合成される。こうして、BD-ROM再生装置は多様な表示装置に適切な映像/音声を再現させることができる(例えば特許文献1参照)。
 BD-ROM規格によれば、再生装置がインターネット等の外部ネットワークへ接続可能であるとき、アプリケーション・プログラムはその再生装置に外部ネットワークから新たなデジタル・コンテンツをダウンロードさせることができる。それらのコンテンツは、特典映像及び字幕等、BD-ROMディスク上のコンテンツに対する追加コンテンツ、並びに、ブラウザ画面及びゲーム等のインタラクティブ・コンテンツを含む。アプリケーション・プログラムは更にその再生装置に、外部ネットワークからダウンロードされた字幕をBD-ROMディスクからの再生映像に重ねて表示させること、及び、その映像と同じ画面に、外部ネットワークからダウンロードされたブラウザ画面を併せて表示させることができる。これらの機能を「BD-Live」(登録商標)という。BD-ROM再生装置の普及に伴い、BD-Live機能に対するユーザの関心が高まっている。
 BD-ROM再生装置の普及は更に、立体視映像(三次元(3D)映像ともいう。)の表示技術を各家庭へ普及させる可能性を高めている。立体視映像の表示技術は次世代の表示技術として有望視され、その開発が急速に進められている。その表示技術では基本的に「人は物体の立体的な形及び奥行きを両眼視差から知覚する」という事実が利用される(例えば特許文献1-3及び非特許文献1参照)。具体的には、まず一つのシーンに対して二枚のビデオ・フレーム、すなわちレフトビュー・ビデオ・フレームとライトビュー・ビデオ・フレームとが用意される。それらのフレーム間では、同じ被写体の水平方向での位置及び姿勢がわずかに異なる。次に、レフトビュー・ビデオ・フレームが視聴者の左目に投影され、それとほぼ同時に、ライトビュー・ビデオ・フレームが右目に投影される。そのとき、その視聴者には、各目に映るフレーム間での被写体のわずかな変位及び姿勢の変化、すなわち両眼視差から、その被写体の立体的な形及び奥行きが知覚される。このように、立体視映像の表示技術では各シーンにフレームが二枚ずつ必要である。従って、立体視映像は平面視映像(二次元(2D)映像ともいう。)よりも一定の表示時間当たりのデータ量が大きい。それ故、立体視映像の表示技術にはBD-ROMディスク及びBD-ROM再生装置が有利である。
国際公開第2005/119675号パンフレット 米国特許出願公開第2008/0036854号明細書 米国特許出願公開第2002/0118275号明細書
Lenny Lipton, "Foundations of the Stereoscopic Cinema", Van Nostrand Reinhold, New York, 1982
 BD-ROM再生装置には上記のとおり、プレーン・メモリが多数実装される。更に、各プレーン・メモリは、1920×1080の高画質に対応できるほどの容量を持つ。その上、BD-ROM再生装置に内蔵のメモリ装置にはイメージ・データ領域が設けられている。イメージ・データ領域には、BD-ROMディスクから読み出されたイメージ・データが、復号された状態で格納される。イメージ・データ領域に格納されたイメージ・データは、例えば対話画面と背景との別に異なるプレーン・メモリに書き込まれる。それらに加え、BD-Live機能がBD-ROM再生装置に実装されるとき、内蔵のメモリ装置にはキャッシュ領域が設けられる。キャッシュ領域には、外部ネットワークからダウンロードされるイメージ・データが格納される。このように、BD-ROM再生装置は、イメージ・データの格納・処理に大容量のメモリを必要とする。従って、立体視映像の表示機能がBD-ROM再生装置に追加されるとき、再生装置の製造コストの上昇を可能な限り抑えるには、増設されるべきプレーン・メモリの容量等、追加の必要なメモリの容量は可能な限り削減されることが望ましい。
 従来の立体視映像の表示技術では、レフトビューとライトビューとの二種類のビデオ・ストリームが記録媒体上に用意される。従って、再生装置には通常、ビデオ・ストリーム用のプレーン・メモリが二つ実装される。一方、グラフィックスと背景との各映像については、通常の平面視映像を表すイメージ・データが一種類ずつ記録媒体上に用意される。再生装置はまず、各イメージ・データからイメージ・プレーンを一枚ずつ生成する。再生装置は次に、各平面視映像をそのイメージ・プレーン内で左右に変位させることにより、レフトビューとライトビューとのイメージ・プレーンの対を作成する。それらの処理については、再生装置は例えば、字幕、対話画面、及び背景の各映像用にプレーン・メモリを一つずつ実装していればよい。こうして、再生装置に実装されるべきプレーン・メモリの総量が抑えられている。
 しかし、その反面、上記のように生成されたイメージ・プレーンの対で表現可能なグラフィックスと背景との映像の立体感には限界がある。一方、立体視映像に対するユーザ・エクスペリエンスを更に向上させるには、グラフィックスと背景との映像の立体感を更に高めることが望ましい。従って、それらの映像についても、レフトビューとライトビューとの両方のイメージ・データを記録媒体上に用意することが望ましい。
 再生装置にプレーン・メモリを増設することなく、レフトビューとライトビューとの両方のイメージ・プレーンを保持させるには、イメージ・データを格納するためのメモリ領域を動的に変更させられればよい。特にBD-Live機能の利用頻度は一般に低いので、BD-Live機能に利用されるキャッシュ領域が左右のイメージ・プレーンの保持にも利用可能であればよい。しかし、従来の再生装置では、外部ネットワークとの接続の有無等、ハードウェアの環境に応じて、イメージ・データを格納するためのメモリ領域とキャッシュ領域とがいずれも固定されている。更に、各タイトルに属するアプリケーション・プログラムは、メモリ領域の静的な割り当てを前提として設計されている。特に、BD-Live機能を利用するアプリケーション・プログラムは、固定値と等しい容量のキャッシュ領域を必要とする。従って、それらのアプリケーション・プログラムの起動中にメモリ領域が変更されれば、アプリケーション・プログラムによって外部ネットワークからダウンロードされたイメージ・データがキャッシュ領域とは別のメモリ領域に書き込まれる等、誤作動の危険性が生じる。
 本発明の目的は上記のような課題を解決することにあり、特に、メモリの容量を増大させることなく、グラフィックス映像の立体感が更に高いデジタル・コンテンツを再生可能な再生装置を提供することにある。
 本発明の実施形態による再生装置は、読み出し部、仮想マシン部、メモリ部、再生部、及び管理部を備える。読み出し部は、記録媒体から、アプリケーション・プログラム、イメージ・データ、ビデオ・ストリーム、及びアプリケーション管理ファイルを読み出す。仮想マシン部はそのアプリケーション・プログラムを実行する。メモリ部は、そのイメージ・データを格納するためのイメージ・データ領域を含む。再生部は、そのアプリケーション・プログラムに従ってそのイメージ・データとそのビデオ・ストリームとから映像データを再生する。管理部は、アプリケーション管理ファイルに従って、仮想マシン部に対してはアプリケーション・プログラムの起動と終了とを指示し、メモリ部に対してはイメージ・データ領域の変更を指示する。管理部は特に、メモリ部に対してイメージ・データ領域の変更を指示するとき、その前に仮想マシン部にアプリケーション・プログラムを、アプリケーション管理ファイル上ではその実行の継続が規定されていても強制的に終了させる。
 本発明による上記の再生装置は、記録媒体から読み出されたアプリケーション・プログラムを強制的に終了させてからイメージ・データ領域を変更する。それにより、アプリケーション・プログラムの誤動作が確実に防止されたまま、イメージ・データ領域が動的に変更可能である。その結果、特に、イメージ・データ領域を縮小して、それによって生じた空き領域を、レフトビューとライトビューとの両方のイメージ・プレーンの保持に利用することができる。こうして、本発明による上記の再生装置は、メモリの容量を増大させることなく、グラフィックス映像の立体感が更に高いデジタル・コンテンツを再生することができる。
本発明の実施形態1による再生装置を含むホームシアター・システムを示す模式図 本発明の実施形態1によるBD-ROMディスク100上のデータ構造を示す模式図 図2に示されているインデックス・ファイル231内のインデックス・テーブル310を示す模式図 HDMVモードとBD-Jモードとのそれぞれで表示装置120の画面121に表示される映像を示す模式図 オフセット・モードで2D映像501からレフトビュー502Lとライトビュー502Rとを生成する例を示す模式図 (a)はBD-Jオブジェクトのデータ構造を示す模式図、(b)は六種類のアプリケーション・プログラムA1-A5、A11のライフサイクルを示す模式図 本発明の実施形態1による再生装置の状態1-4を示す状態遷移図 図2に示されているJARファイル237Aのデータ構造を示す模式図 図2に示されている第1AVストリーム・ファイル235Aと第2AVストリーム・ファイル235Bとのそれぞれに多重化されたエレメンタリ・ストリームを示す模式図 図2に示されている第1AVストリーム・ファイル235A内に多重化された各エレメンタリ・ストリーム1001、1004、1007、1010のパケットの配置を表す模式図 図2に示されている第1クリップ情報ファイル234Aのデータ構造を示す模式図 図11に示されている3Dメタデータ1103のデータ構造を示す模式図 図2に示されている第2プレイリスト・ファイル233Bのデータ構造を示す模式図 図13に示されているプレイアイテム情報1400のデータ構造を示す模式図 図13に示されているプレイリスト情報1301と、それに従って再生されるべきAVクリップCL1、CL2、CL4とを示す模式図 本発明の実施形態1による再生装置110のハードウェア構成を示すブロック図 図16に示されている制御部1650の機能ブロック図 図16に示されている再生部1660の機能ブロック図 図18に示されているイメージ・メモリ1810内に確保された、IGプレーン・メモリ領域、PGプレーン・メモリ領域、BGプレーン・メモリ領域、及びイメージ・データ領域の一例を示す模式図 図19に示されているIGプレーン・メモリ領域1911に、オフセット・モードと2プレーン・モードとのそれぞれで格納されたイメージ・プレーンを表す模式図 図18に示されている加算部1807の、状態1における機能ブロック図 図18に示されている加算部1807の、状態2における機能ブロック図 図22に示されている第2クロッピング処理器2212によるPGプレーンGPに対するクロッピング処理を示す模式図 図18に示されている加算部1807の、状態3と状態4とにおける機能ブロック図 図17に示されているBD-Jモジュール1745による再生装置110の設定状態の切り換え処理のフローチャート 本発明の実施形態2による再生装置における、アプリケーション・プログラムによるイベント処理のフローチャート
 以下、本発明の好適な実施形態について、図面を参照しながら説明する。
 《実施形態1》
 図1は、本発明の実施形態1による再生装置を含むホームシアター・システムを示す模式図である。図1を参照するに、このホームシアター・システムは、記録媒体100、再生装置110、表示装置120、シャッター眼鏡130、及びリモコン140を含む。
 記録媒体100はBD-ROMディスクである。記録媒体100はその他の可搬性記録媒体、例えば、DVD等の他方式による光ディスク、光磁気ディスク、フレキシブル・ディスク、リムーバブル・ハードディスクドライブ(HDD)、又はSDメモリカード等の半導体メモリ装置であってもよい。BD-ROMディスク100は3D映像の映画コンテンツを格納している。その映画コンテンツは、レフトビューとライトビューとのビデオ・ストリームの対を含む。
 再生装置110はBD-ROMドライブ111を搭載している。BD-ROMドライブ111はBD-ROM方式に準拠の光ディスクドライブである。再生装置110はBD-ROMドライブ111を利用して、BD-ROMディスク100から映画コンテンツを読み込む。再生装置110は更に、その映画コンテンツを映像データ/音声データに復号する。ここで、再生装置110又は表示装置120が平面視映像(二次元(2D)映像ともいう。)の表示にのみ対応可能であるとき、映像データはレフトビュー又はライトビューのいずれかのビデオ・フレームのみを含む。一方、再生装置110と表示装置120とがいずれも3D映像の表示に対応可能であるとき、映像データはレフトビューとライトビューとの両方のビデオ・フレームを含む。
 再生装置110はHDMI(High-Definition Multimedia Interface)ケーブル112で表示装置120に接続されている。再生装置110は映像データ/音声データをHDMI方式の映像信号/音声信号に変換し、HDMIケーブル112を通して表示装置120に伝送する。再生装置110はその他に、HDMIケーブル112を通して表示装置120とCECメッセージを交換する。それにより、再生装置110は表示装置120に対して、3D映像の表示に対応可能であるか否かを問い合わせる。
 再生装置110はインターネット等の外部ネットワーク150に接続され、その外部ネットワーク150を通してサーバ装置160と通信できる。特に再生装置110はBD-Live機能に対応している。すなわち、再生装置110はサーバ装置160から新たなコンテンツをダウンロードして再生できる。その新たなコンテンツは、BD-ROMディスク100上の映画コンテンツに対する追加コンテンツ、及びインタラクティブ・コンテンツを含む。追加コンテンツは、その映画コンテンツに追加されるべき副音声、字幕、及びアプリケーション・プログラム、並びに、その映画コンテンツに関する特典映像を含む。インタラクティブ・コンテンツはブラウザ画面及びゲームを含む。再生装置110は、BD-ROMディスク100から再生される映像に字幕等、追加コンテンツの映像を重ねて表示し、又は、その映像と同じ画面にブラウザ画面等、インタラクティブ・コンテンツの映像を併せて表示できる。
 表示装置120は液晶ディスプレイである。表示装置120はその他に、プラズマ・ディスプレイ及び有機ELディスプレイ等、他方式のフラットパネル・ディスプレイ又はプロジェクタであってもよい。表示装置120は、映像信号に従って画面121上に映像を再現し、音声信号に従って内蔵のスピーカから音声を発生させる。特に再生装置110と表示装置120とがいずれも3D映像の表示に対応可能であるとき、画面121上にはレフトビュー・ビデオ・フレームとライトビュー・ビデオ・フレームとが交互に表示される。
 表示装置120が3D映像の表示に対応可能であるとき、表示装置120は更に左右信号送信部122を搭載している。左右信号送信部122は左右信号LRを赤外線又は無線でシャッター眼鏡130へ送出する。左右信号LRは、現時点で画面にレフトビューとライトビューとのいずれのビデオ・フレームが表示されるのかを示す。表示装置120は、映像信号に付随する制御信号から両ビデオ・フレームを識別し、それらの切り換えに同期して、左右信号送信部122に左右信号LRを変化させる。
 シャッター眼鏡130は、二枚の液晶表示パネル131L、131Rと左右信号受信部132とを含む。各液晶表示パネル131L、131Rは左右の各レンズ部分を構成している。左右信号受信部132は左右信号LRを受信し、その変化に応じて左右の液晶表示パネル131L、131Rに信号を送る。各液晶表示パネル131L、131Rはその信号に応じて、光をその全体で一様に透過させ、又は遮断する。特に左右信号LRがレフトビュー・ビデオ・フレームを示すとき、左目側の液晶表示パネル131Lは光を透過させ、右目側の液晶表示パネル131Rは光を遮断する。左右信号LRがライトビュー・ビデオ・フレームの表示を示すときはその逆である。このように、二枚の液晶表示パネル131L、131Rは、フレームの切り換えと同期して交互に光を透過させる。その結果、視聴者がシャッター眼鏡130をかけて画面を見たとき、レフトビュー・ビデオ・フレームはその視聴者の左目だけに映り、ライトビュー・ビデオ・フレームはその右目だけに映る。そのとき、その視聴者には、各目に映るフレーム間の違いが一つの仮想的な立体に対する両眼視差として知覚される。すなわち、その視聴者にはそれら二枚のフレームが一つの仮想的な立体として見える。
 リモコン140は操作部と送信部とを含む。操作部は複数のボタンを含む。各ボタンは、電源のオンオフ、又はBD-ROMディスク100からの映像の再生開始/停止等、再生装置110又は表示装置120の各機能に対応付けられている。操作部はユーザによる各ボタンの押下を検出し、そのボタンを特定する信号を送信部に渡す。送信部はその信号を赤外線又は無線による信号IRで再生装置110又は表示装置120へ送出する。それにより、ユーザは再生装置110又は表示装置120を遠隔操作できる。
 <BD-ROMディスク上のデータ構造>
 図2は、BD-ROMディスク100上のデータ構造を示す模式図である。図2を参照するに、BD-ROMディスク100上のデータ記録領域の最内周部にはBCA(Burst Cutting Area)201が設けられている。BCA201に対しては、BD-ROMドライブ111によるアクセスのみが許可され、アプリケーション・プログラムによるアクセスは禁止される。それにより、BCA201は著作権保護技術に利用される。BCA201よりも外側のデータ記録領域にはトラック202がディスク100の内側から外側へ向けて螺旋状に延びている。図2にはトラック202が仮想的に横方向に引き伸ばされて描かれている。そのトラック202の左側がディスク100の内側を表し、右側が外側を表す。図2に示されているように、トラック202はディスク100の内側から順に、リードイン領域211、ボリューム領域212、及びリードアウト領域213を含む。リードイン領域211はBCA201のすぐ外側に設けられている。リードイン領域211は、ボリューム領域212に記録されたデータのサイズ及び物理アドレス等、ボリューム領域212へのアクセスに必要な情報を含む。リードアウト領域213はデータ記録領域の最も外側に設けられ、ボリューム領域212の終端を示す。ボリューム領域212は、映像及び音声等のアプリケーション・データを含む。
 ボリューム領域212は「セクタ」と呼ばれる小領域に分割されている。各セクタにはボリューム領域212の先頭から順に通し番号が振られている。この通し番号のことを論理アドレス(又は論理ブロック番号)という。BD-ROMディスク100からのデータの読み出しは、そのデータが格納されたセクタの論理アドレスを指定することによって実行される。こうして、ボリューム領域212はセクタ単位でアクセス可能である。BD-ROMディスク100では更に、論理アドレスは物理アドレスと実質的に等しい。すなわち、論理アドレスが連続している領域では物理アドレスも実質的に連続している。従って、BD-ROMドライブ111は、論理アドレスが連続しているセクタからデータを、その光ピックアップにシークを行わせることなく連続して読み出すことができる。
 ボリューム領域212に対するファイルシステムにはUDF(Universal Disc Format)が採用されている。そのファイルシステムはその他にISO9660であってもよい。そのファイルシステムにより、ボリューム領域212に記録されたデータはディレクトリ/ファイル形式で表現される。すなわち、それらのデータはディレクトリ単位又はファイル単位でアクセス可能である。
  ≪BD-ROMディスク上のディレクトリ/ファイル構造≫
 図2には更に、BD-ROMディスク100上のディレクトリ/ファイル構造214が示されている。その構造214では、ルート(ROOT)ディレクトリ220の直下にBDムービー(BDMV:BD Movie)ディレクトリ230と証明書(CERTIFICATE)ディレクトリ240とが置かれている。BDMVディレクトリ230には、コンテンツの本体が格納されている。CERTIFICATEディレクトリ240には、そのコンテンツの認証に必要な情報が格納されている。
 BDMVディレクトリ230の直下にはインデックス・ファイル(index.bdmv)231とムービーオブジェクト・ファイル(MovieObject.bdmv)232とが置かれている。インデックス・ファイル231は、BD-ROMディスク100に記録されたコンテンツの全体を管理するための情報である。ムービーオブジェクト・ファイル232は一般に複数のムービーオブジェクトを含む。「ムービーオブジェクト」は、一般的なDVDプレーヤによる再生処理と同様な再生処理を再生装置110に実行させるための命令群を含む。ムービーオブジェクト・ファイル232は特に、再生装置110に2D映像の再生処理を行わせるムービーオブジェクトと、3D映像の再生処理を行わせるムービーオブジェクトとを含む。
 BDMVディレクトリ230は更に、プレイリスト(PLAYLIST)ディレクトリ233、クリップ情報(CLIPINF)ディレクトリ234、ストリーム(STREAM)ディレクトリ235、BD-Jオブジェクト(BDJO:BD Java (登録商標)Object)ディレクトリ236、及びJavaアーカイブ(JAR:Java Archive)ディレクトリ237を含む。
 STREAMディレクトリ235にはAV(Audio Vidual)ストリーム・ファイル(01000.m2ts)235A、(02000.m2ts)235Bが置かれている。「AVストリーム・ファイル」は映像コンテンツの実体であり、映像・音声・字幕等を表す。AVストリーム・ファイルの種類には、2D・AVストリーム・ファイル、レフトビューAVストリーム・ファイル、及びライトビューAVストリーム・ファイルがある。「2D・AVストリーム・ファイル」とは、単独で2D映像の再生に利用可能なAVストリーム・ファイルを意味する。「レフトビューAVストリーム・ファイル」とは、3D映像のレフトビューを表すAVストリーム・ファイルを意味する。「ライトビューAVストリーム・ファイル」とは、3D映像のライトビューを表すAVストリーム・ファイルを意味する。レフトビューAVストリーム・ファイルとライトビューAVストリーム・ファイルとは一対で3D映像の表示に利用される。図2に示されている例では、第1AVストリーム・ファイル(01000.m2ts)235Aは2D・AVストリーム・ファイルであり、かつ、レフトビューAVストリーム・ファイルでもある。第2AVストリーム・ファイル(02000.m2ts)235BはライトビューAVストリーム・ファイルであり、第1AVストリーム・ファイル235Aとの組み合わせで3D映像の再生に利用される。
 CLIPINFディレクトリ234にはクリップ情報ファイル(01000.clpi)234A、(02000.clpi)234Bが置かれている。「クリップ情報ファイル」はAVストリーム・ファイルと一対一に対応付けられ、主にそのAVストリーム・ファイルの表す映像の表示時間とそのAVストリーム・ファイル内の論理アドレスとの間の対応関係を表す。クリップ情報ファイルの種類には、2Dクリップ情報ファイル、レフトビュー・クリップ情報ファイル、及びライトビュー・クリップ情報ファイルがあり、それぞれ、2D・AVストリーム・ファイル、レフトビューAVストリーム・ファイル、及びライトビューAVストリーム・ファイルに対応付けられている。図2に示されている例では、第1クリップ情報ファイル(01000.clpi)234Aは2Dクリップ情報ファイルであり、かつレフトビュー・クリップ情報ファイルでもあり、第1AVストリーム・ファイル(01000.m2ts)235Aに対応付けられている。第2クリップ情報ファイル(02000.clpi)234Bはライトビュー・クリップ情報ファイルであり、第2AVストリーム・ファイル(02000.m2ts)235Bに対応付けられている。
 PLAYLISTディレクトリ233にはプレイリスト・ファイル(00001.mpls)233A、(00002.mpls)233Bが置かれている。「プレイリスト・ファイル」はAVストリーム・ファイルの再生経路、すなわちAVストリーム・ファイルの復号対象の部分とその復号順とを規定する。プレイリスト・ファイルの種類には2Dプレイリスト・ファイルと3Dプレイリスト・ファイルとがある。「2Dプレイリスト・ファイル」は、2D・AVストリーム・ファイルの再生経路を規定するプレイリスト・ファイルをいう。「3Dプレイリスト・ファイル」は、レフトビューAVストリーム・ファイルとライトビューAVストリーム・ファイルとの対の再生経路を規定するプレイリスト・ファイルをいう。図2に示されている例では、第1プレイリスト・ファイル(00001.mpls)233Aは2Dプレイリスト・ファイルであり、第2プレイリスト・ファイル(00002.mpls)233Bは3Dプレイリスト・ファイルである。
 BDJOディレクトリ236にはBD-Jオブジェクト・ファイル(xxxxx.bdjo)236A、(yyyyy.bdjo)236Bが置かれている。「BD-Jオブジェクト・ファイル」はBD-Jオブジェクトを一つだけ含む。「BD-Jオブジェクト」はバイトコード・プログラムであり、再生装置110に実装されたJava仮想マシンによって実行されるべきアプリケーション・プログラムとその実行の時期とを規定する。アプリケーション・プログラムは再生装置110にタイトルの再生処理及びグラフィックス映像の描画処理を実行させる。図2に示されている例では、第1BD-Jオブジェクト・ファイル(xxxxx.bdjo)236A内のBD-Jオブジェクトは再生装置110に2D映像の再生処理を行わせる。一方、第2BD-Jオブジェクト・ファイル(yyyyy.bdjo)236B内のBD-Jオブジェクトは再生装置110に3D映像の再生処理を行わせる。
 JARディレクトリ237にはJARファイル(xxxxx.jar)237A、(yyyyy.jar)237Bが置かれている。「JARファイル」は、BD-Jオブジェクトの示す実行対象のアプリケーション・プログラムの本体を一般に複数含む。
 CERTIFICATEディレクトリ240の直下にはアプリケーション証明書ファイル(app.discroot.crt)241とが置かれている。アプリケーション証明書ファイル241は、BD-ROMディスク100に記録されたコンテンツのプロバイダに固有のものである。「アプリケーション証明書ファイル」はいわゆるデジタル証明書であり、アプリケーション・プログラムの認証に利用される。具体的には、Java仮想マシンがBD-ROMディスク100からアプリケーション・プログラムを読み出したとき、アプリケーション証明書ファイル241はそのアプリケーション・プログラムの署名検証に利用される。署名検証ではアプリケーション・プログラムの改竄の有無が確認され、かつ、その供給元の認証が行われる。署名検証により、コンテンツ・プロバイダの許可したアプリケーション・プログラムのみをJava仮想マシンに起動させること、又はアプリケーション・プログラムに対して再生装置110内の各メモリ装置へのアクセス権限を選択的に付与することができる。
 以下、BDMVディレクトリ230内の各ファイルのデータ構造について個別に説明する。
  ≪インデックス・テーブル≫
 インデックス・ファイル231はBD-ROMディスク100の認識に必要な情報を含む。BD-ROMディスク100がBD-ROMドライブ111に挿入されたとき、インデックス・ファイル231は最初に読み出され、再生装置110の制御部によってBD-ROMディスク100の認識に利用される。インデックス・ファイル231は更にインデックス・テーブルを含む。インデックス・テーブルは、そのコンテンツを構成するタイトルと、ムービーオブジェクト又はBD-Jオブジェクトとの間の対応関係を規定する。
 図3は、インデックス・ファイル231内のインデックス・テーブル310を示す模式図である。インデックス・テーブル310は、ファーストプレイ301、トップメニュー302、及びタイトルk303(k=1、2、…、n:nは1以上の整数)という項目を含む。各項目にはムービーオブジェクトMVO-2D、MVO-3D、…、又はBD-JオブジェクトBDJO-2D、BDJO-3D、…のいずれかが対応付けられている。一方、各項目は再生装置110の制御部によって各種のイベントに対応付けられている。「イベント」は、例えば、BD-ROMドライブ111でのディスクの挿抜、ユーザによるリモコン140の操作、及びアプリケーション・プログラムによる要求を含む。イベントが発生する度に再生装置110の制御部はインデックス・テーブル310を参照し、そのイベントに対応する項目の示すオブジェクトをBD-ROMディスク100から呼び出す。制御部は更に、呼び出されたオブジェクトに従って様々な処理を行う。
 項目「ファーストプレイ」301には、ディスク100がBD-ROMドライブ111へ挿入された時点に呼び出されるべきオブジェクトが割り当てられている。そのオブジェクトは再生装置110に、例えば、視聴者に対する警告文及びコンテンツ・プロバイダのロゴの表示処理を実行させる。項目「トップメニュー」302には、例えばユーザの操作で「メニューに戻れ」というコマンドが入力された時点に呼び出されるべきオブジェクトが割り当てられている。そのオブジェクトは再生装置110にメニューの表示処理を実行させる。項目「タイトルk」303には、映画の本編等、ディスク100上のコンテンツの本体を構成する各タイトルにオブジェクトが個別に割り当てられている。そのオブジェクトは、例えばユーザの操作によってそのタイトルが再生対象に指定された時点に呼び出され、そのタイトルに属するAVストリーム・ファイルの再生処理を再生装置110に実行させる。
 図3に示されている例では、項目「タイトル1」と項目「タイトル2」とがいずれも2D映像のタイトルに割り当てられている。項目「タイトル1」に対応付けられている第1ムービーオブジェクトMVO-2Dは、第1プレイリスト・ファイル233Aを用いた2D映像の再生処理に関する命令群を含む。再生装置110によって項目「タイトル1」が参照されたとき、第1ムービーオブジェクトMVO-2D内の各命令に従い、第1プレイリスト・ファイル233Aがディスク100から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。一方、項目「タイトル2」に対応付けられている第1BD-JオブジェクトBDJO-2Dは、第1プレイリスト・ファイル233Aを用いた2D映像の再生処理に関するアプリケーション・プログラムを指定する。再生装置110によって項目「タイトル2」が参照されたとき、第1BD-JオブジェクトBDJO-2Dに従ってそのアプリケーション・プログラムが実行される。それにより、第1プレイリスト・ファイル233Aがディスク100から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。
 図3に示されている例では更に、項目「タイトル3」と項目「タイトル4」とが3D映像のタイトルに割り当てられている。項目「タイトル3」に対応付けられている第2ムービーオブジェクトMVO-3Dは、第1プレイリスト・ファイル233Aを用いた2D映像の再生処理に関する命令群に加え、第2プレイリスト・ファイル233Bを用いた3D映像の再生処理に関する命令群を含む。項目「タイトル4」に対応付けられている第2BD-JオブジェクトBDJO-3Dは、第1プレイリスト・ファイル233Aを用いた2D映像の再生処理に関するアプリケーション・プログラムに加え、第2プレイリスト・ファイル233Bを用いた3D映像の再生処理に関するアプリケーション・プログラムを規定する。例えばユーザの操作によってタイトル3が選択されたとき、再生装置110は項目「タイトル3」を参照して第2ムービーオブジェクトMVO-3Dを呼び出す。それにより、再生装置110はまず次の三種類の判別処理を行う:(1)再生装置110自身が3D映像の再生に対応しているか否か、(2)ユーザが3D映像の再生を選択しているか否か、及び(3)表示装置120が3D映像の再生に対応しているか否か。再生装置110は次に、それらの判別結果に応じていずれかのプレイリスト・ファイル233A-Bを選択し、それに規定された再生経路に従って3D映像の再生処理を実行する。一方、再生装置110が項目「タイトル4」を参照して第2BD-JオブジェクトBDJO-3Dを呼び出したとき、再生装置110はそのオブジェクトに従って各種のアプリケーション・プログラムを実行する。それにより、再生装置110は、上記の判別、その結果に応じたプレイリスト・ファイルの選択、及びその再生経路に沿った3D映像の再生の各処理を行う。
  ≪ムービーオブジェクト・ファイル≫
 ムービーオブジェクト・ファイル232は一般に複数のムービーオブジェクトを含む。各ムービーオブジェクトはナビゲーション・コマンドの列を含む。ナビゲーション・コマンドは、一般的なDVDプレーヤによる再生処理と同様な再生処理を再生装置に実行させるための制御指令である。ナビゲーション・コマンドの種類には、例えば、タイトルに対応するプレイリスト・ファイルの読み出し命令、プレイリスト・ファイルの示すAVストリーム・ファイルの再生命令、及び別のタイトルへの遷移命令がある。ナビゲーション・コマンドはインタプリタ型言語で記述され、再生装置に組み込まれたインタプリタ、すなわちジョブ制御プログラムによって解読され、その制御部に所望のジョブを実行させる。ナビゲーション・コマンドはオペコードとオペランドとから成る。オペコードは、タイトルの分岐と再生及び演算等、再生装置に実行させるべき操作の内容を示す。オペランドは、タイトル番号等、その操作の対象の識別情報を示す。再生装置110の制御部は、例えばユーザの操作に応じて各ムービーオブジェクトを呼び出し、そのムービーオブジェクトに含まれるナビゲーション・コマンドを列の順に実行する。それにより、再生装置110は、一般的なDVDプレーヤと同様に、まず、表示装置120にメニューを表示してユーザにコマンドを選択させる。再生装置110は次に、選択されたコマンドに応じて、タイトルの再生開始/停止、及び別のタイトルへの切り換え等、再生される映像の進行を動的に変化させる。このように、ムービーオブジェクトに従った再生装置110の動作モードをHDMV(High Definition Movie)モードという。
  ≪BD-Jオブジェクト・ファイル≫
 BD-Jオブジェクト・ファイル236A、236BにはBD-JオブジェクトがJava言語等のコンパイラ型言語で記述されている。再生装置110の制御部はユーザの操作又はアプリケーション・プログラムの要求に応じてBD-Jオブジェクトを呼び出す。そのBD-Jオブジェクトは、制御部内に実装されたJavaプラットフォームによって解釈される。制御部は更に、そのBD-Jオブジェクトに従って種々のアプリケーション・プログラムをJava仮想マシンに実行させる。それにより、再生装置110は、タイトルの再生映像の進行を動的に変化させ、又は表示装置120にグラフィックス映像をタイトルの映像とは独立に表示させる。このように、BD-Jオブジェクトに従った再生装置110の動作モードをBD-Jモードという。
 図4は、HDMVモードとBD-Jモードとのそれぞれで表示装置120の画面121に表示される映像を示す模式図である。図4の(a)は、HDMVモードでの再生映像の一場面を示す。HDMVモードでの再生映像は一般に、DVDから再生される映像と同様、BD-ROMディスク100に記録されたコンテンツ本体の映像、例えば映画の本編の映像が画面121の全体に表示される。一方、図4の(b)は、BD-Jモードでの再生映像の一場面を示す。BD-Jモードでは、コンテンツ本体の映像に併せて、再生装置110内のJava仮想マシンにグラフィックス映像を描画させることができる。例えば図4の(b)に示されているように、一つの画面121の中に、映画の本編の映像SCN、その映画の表題TL、その映画の解説を行うフクロウのアニメーション映像CR、背景映像BG、及びポップアップメニューPPMを同時に表示することができる。
 BD-Jモードでは更に、BD-Live機能が利用可能である。すなわち、アプリケーション・プログラムは再生装置110に、ネットワーク150上のサーバ装置160から、字幕等の追加コンテンツ、及び、ブラウザ画面等のインタラクティブ・コンテンツをダウンロードさせることができる。アプリケーション・プログラムは更に再生装置110に、ダウンロードされたコンテンツを、図4の(b)に示されているように、BD-ROMディスク100に記録されたコンテンツ本体の映像と合わせて表示させることができる。
 BD-Jモードではその上、再生装置110と表示装置120とがいずれも3D映像の表示に対応可能であるとき、コンテンツ本体の3D映像に併せて、Java仮想マシンにグラフィックス映像を3D映像として描画させることができる。グラフィックス映像を3D映像として再生する処理には2プレーン・モードとオフセット・モードとの二種類がある。「2プレーン・モード」では、コンテンツ本体のビデオ・ストリームと同様に、レフトビューとライトビューとの両方のイメージ・データが個別に用意され、それらからレフトビューとライトビューとの各イメージ・プレーンが個別にJava仮想マシンによって描画される。「オフセット・モード」では、通常の2D映像を表すイメージ・データからレフトビューとライトビューとのイメージ・プレーンの対が再生装置110によって生成される。
 図5は、オフセット・モードで2D映像501からレフトビュー502Lとライトビュー502Rとを生成する例を示す模式図である。図5の(a)を参照するに、2D映像501は背景512の中に円板511と字幕513とを含む。再生装置110は、2D映像501を表すイメージ・データを加工して、2D映像501内の各部の表示位置を左右に移動させる。それにより、2D映像501からレフトビュー502Lとライトビュー502Rとが生成される。図5の(b)、(c)に示されている例では、レフトビュー502L内の円板521Lの表示位置が2D映像501内の円板511の表示位置からオフセット値S1だけ右に移動し、ライトビュー502R内の円板521Rの表示位置がオフセット値S1だけ左に移動する。同様に、レフトビュー502L内の字幕523Lの表示位置が2D映像501内の字幕513の表示位置からオフセット値S3だけ右に移動し、ライトビュー502R内の字幕523Rの表示位置がオフセット値S3だけ左に移動する。その場合、図5の(d)に示されているように、視聴者には円板531と字幕533とがいずれも画面503よりも手前に見える。一方、レフトビュー502L内の背景522Lの表示位置が2D映像501内の背景512の表示位置からオフセット値S2だけ左に移動し、ライトビュー502R内の背景522Rの表示位置がオフセット値S2だけ右に移動する。その場合、視聴者には背景532が画面503よりも奥に見える。
 図6の(a)は、BD-Jオブジェクトのデータ構造を示す模式図である。図6の(a)を参照するに、BD-Jオブジェクトはアプリケーション管理テーブル610とイメージ再生状態値620とを含む。
 アプリケーション管理テーブル610は、実行対象のアプリケーション・プログラムとその実行時期、すなわちライフサイクルとのリストである。図6の(a)を参照するに、アプリケーション管理テーブル610は、アプリケーション識別子611、制御コード612、及びアプリケーション詳細情報613の組み合わせを複数含む。アプリケーション識別子611は、実行対象のアプリケーション・プログラムを含むJARファイルのファイル名を示す。制御コード612は、アプリケーション識別子611で特定されるアプリケーション・プログラムの起動モードを示す。起動モードにはオート・スタート(Auto Start)とプリゼント(Present)との二種類がある。「オート・スタート」は、アプリケーション・プログラムをタイトルの再生開始と共に自動的に起動させることを示す。「プリゼント」は、アプリケーション・プログラムを他のアプリケーション・プログラムからの呼び出しに応じて起動させることを示す。アプリケーション詳細情報613は、アプリケーション名631、バインディング情報632、及びアイコン・ロケータ633を含む。アプリケーション名631は、実行対象のアプリケーション・プログラムの名称を示す。バインディング情報632は、アプリケーション名631の示すアプリケーション・プログラムのライフサイクルを示す。ライフサイクルには、タイトル・バウンド、ディスク・バウンド、及びディスク・アンバウンドの三種類がある。「タイトル・バウンド」は、アプリケーション・プログラムの実行期間が一つのタイトルの期間に限られることを示す。「ディスク・バウンド」は、アプリケーション・プログラムの実行期間が、一枚のBD-ROMディスクに含まれるいずれのタイトルの期間にも限られないが、そのディスクがBD-ROMドライブから取り出される時点までには限られることを示す。「ディスク・アンバウンド」は、アプリケーション・プログラムの実行期間が、BD-ROMディスクがBD-ROMドライブから取り出された後も継続されることを示す。アイコン・ロケータ633は、アプリケーション名631の示すアプリケーション・プログラムに対応付けられるべきアイコン・データのJARファイル内でのアドレスを示す。
 図6の(b)は、六種類のアプリケーション・プログラムA1-A5、A11のライフサイクルを示す模式図である。図6の(b)を参照するに、再生装置110はまず、時刻T1から時刻T2までの期間では第1ディスクD1から第1タイトルTL1を再生し、続けて時刻T2から時刻T3までの期間では第2タイトルTL2を再生する。時刻T3では第1ディスクD1が再生装置110から取り出される。その後、時刻T4に第2ディスクD2が再生装置110に挿入されたとき、再生装置110は時刻T4以後の期間に第2ディスクD2から第3タイトルTL3を再生する。各タイトルTL1、TL2、TL3の再生期間ではタイトル・バウンドのアプリケーション・プログラムA1、A2、A3が一つずつ実行される。いずれの起動モードもオート・スタートであるので、各アプリケーション・プログラムA1-A3のライフサイクルは各タイトルTL1-TL3の再生期間と一致する。第1タイトルTL1の再生期間T1-T2ではタイトル・バウンドの別のアプリケーション・プログラムA11も実行される。このアプリケーション・プログラムA11は、その起動モードがプリゼントであるので、同じ期間に実行されているオート・スタートのアプリケーション・プログラムA1からの呼び出しCLに応じて起動する。一方、このアプリケーション・プログラムA11はタイトル・バウンドであるので、第1タイトルTL1の再生期間の終了と同時に終了する。第1ディスクD1が再生装置110に挿入されている期間T1-T3では更に、ディスク・バウンドのアプリケーション・プログラムA4が実行される。このアプリケーション・プログラムA11は、時刻T2に第1タイトルTL1が第2タイトルTL2に切り換えられても、続けて実行される。しかし、このアプリケーション・プログラムA11はディスク・バウンドであるので、時刻T3に第1ディスクD1が再生装置110から取り出されるのに併せて終了する。時刻T1から時刻T4以後にかけてディスク・アンバウンドのアプリケーション・プログラムA5が実行される。このアプリケーション・プログラムA5は、時刻T3に第1ディスクD1が再生装置110から取り出されたときも、時刻T4に第2ディスクD2が再生装置110に挿入されたときも、継続して実行される。
 イメージ再生状態値620は、イメージ・データの再生処理に関する再生装置110の設定状態であって、BD-Jオブジェクトに対応付けられたタイトルの再生期間において実現されるべきものを表す。再生装置110の制御部はBD-Jオブジェクトを呼び出したとき、それの示すイメージ再生状態値620に応じて、メモリ領域の割り当て等、再生装置110の設定状態を変更する。イメージ・データの再生処理に関する再生装置110の設定状態には、状態1から状態4までの四種類がある。それに合わせて、イメージ再生状態値620は0から3までの四種類の整数値を取り得る:イメージ再生状態値620が0、1、2、3に等しいとき、そのタイトルの再生期間では再生装置110の設定状態が状態1、状態2、状態3、状態4に設定される。
 図7は、状態1-4を示す状態遷移図である。図7を参照するに、状態1-4間では、オフセット・モード、2プレーン・モード、及びBD-Live機能のうち、アプリケーション・プログラムによる利用が許可され、又は禁止されたものの組み合わせが異なる。
 状態1では、3D映像の再生処理そのものが禁止されている。従って、イメージ・データは2D映像としてのみ再生可能である。すなわち、オフセット・モードと2プレーン・モードとはいずれも禁止されている。一方、BD-Live機能は許可されている。
 状態2では、ビデオ・ストリームからの3D映像の再生処理は許可されている。しかし、イメージ・データからの3D映像の再生処理については、2プレーン・モードは禁止され、オフセット・モードのみが許可されている。一方、BD-Live機能は許可されている。
 状態3では、ビデオ・ストリームからの3D映像の再生処理に加え、イメージ・データからの3D映像の再生処理について、2プレーン・モードとオフセット・モードとがいずれも許可されている。一方、BD-Live機能は許可されているが、ブラウザ画面等のイメージ・データを保持するためのキャッシュ領域は制限されている。
 状態4では、状態3と同様、ビデオ・ストリームからの3D映像の再生処理、及び、イメージ・データからの2プレーン・モードとオフセット・モードとのいずれによる3D映像の再生処理も許可されている。しかし、状態3とは異なり、BD-Live機能は禁止されている。
  ≪JARファイル≫
 図8は、JARファイル237Aのデータ構造を示す模式図である。JARファイル237AはJavaアーカイブ・ファイルである。Javaアーカイブ・ファイルは、http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準拠して、ZIP形式のファイルをJavaに特化させたものである。従って、Javaアーカイブ・ファイルの内容は市販のZIP展開ソフトウェアによって確認することができる。JARファイル237Aの中には、図8に示されている構造のディレクトリ/ファイル群800が圧縮されている。それらのディレクトリ/ファイル群800はJava仮想マシンにより、JARファイル237AからJava仮想マシン内のヒープ領域(ワークメモリともいう。)の中に展開される。それらのディレクトリ/ファイル群800では、ROOTディレクトリ801の直下にクラス(classes)ディレクトリ810とイメージ(image)ディレクトリ820とが置かれている。
 クラス・ディレクトリ810にはクラス・ファイル(aaa.class)811が置かれている。「クラス・ファイル」811はxletプログラムを含む。xletプログラムはアプリケーション・プログラムの本体であり、その名称がBD-Jオブジェクト内のアプリケーション管理テーブル410に記載されている。xletプログラムはBD-Jオブジェクトと同様に、Java言語等のコンパイラ型言語で記述されたバイトコード・プログラムである。xletプログラムの種類には、Java仮想マシンにタイトルの再生処理を実行させるもの、及び、Java仮想マシンにグラフィックス映像の描画処理を実行させるものが含まれる。
 イメージ・ディレクトリ820には、アプリケーション・プログラムによってGUIに利用されるべきイメージ・データが置かれている。それらのイメージ・データはJPEGファイル(menu.jpg)821とPNGファイル(menu.png)822とを含む。それらのイメージ・データは、メニュー等のGUI用グラフィック部品を表し、欧州デジタル放送端末(DVB-MHP)で利用されるものと同等である。それらのイメージ・データは特に、各グラフィック部品のレフトビューとライトビューとを表すものを含む。
  ≪AVストリーム・ファイル≫
 AVストリーム・ファイル235A、235BはMPEG-2トランスポート・ストリーム(TS)形式のデジタル・ストリームである。各AVストリーム・ファイル235A、235Bの中には一般に複数のエレメンタリ・ストリームが多重化されている。図9の(a)、(b)はそれぞれ、第1AVストリーム・ファイル235A、第2AVストリーム・ファイル235Bに多重化されたエレメンタリ・ストリームを示す模式図である。図9を参照するに、第1AVストリーム・ファイル235Aは、レフトビュー・ビデオ・ストリーム901L、プライマリ・オーディオ・ストリーム902A、902B、プレゼンテーション・グラフィックス(PG)ストリーム903A、903B、インタラクティブ・グラフィックス(IG)ストリーム904、セカンダリ・ビデオ・ストリーム905、及びセカンダリ・オーディオ・ストリーム906を含む。一方、第2AVストリーム・ファイル235Bはライトビュー・ビデオ・ストリーム901Rを含む。
 レフトビュー・ビデオ・ストリーム901Lとライトビュー・ビデオ・ストリーム901Rとはいずれもプライマリ・ビデオ・ストリームであり、それぞれ、映画の主映像のレフトビューとライトビューとを表す。主映像とは、映画の本編の映像等、コンテンツの主要な映像を意味し、HDMVモードにおいて画面全体に表示されるものを指す。一方、セカンダリ・ビデオ・ストリーム905は映画の副映像を表す。副映像とは、例えば主映像の中に小さな画面で表示される映像のように、ピクチャ・イン・ピクチャ方式を利用して主映像と同時に画面に表示される映像を意味する。各ビデオ・ストリームは、MPEG-2、MPEG-4 AVC、又はSMPTE VC-1等の動画圧縮符号化方式で符号化されている。特に、レフトビュー・ビデオ・ストリーム901Lは、自己のピクチャ間での予測符号化によって圧縮されている。一方、ライトビュー・ビデオ・ストリーム901Rは、自己のピクチャ間に加え、レフトビュー・ビデオ・ストリーム901L内のピクチャ間との予測符号によって圧縮されている。
 プライマリ・オーディオ・ストリーム902A、902Bは映画の主音声を表す。それら二つのプライマリ・オーディオ・ストリーム902A、902Bの間では言語又は音声の出力形式が異なる。セカンダリ・オーディオ・ストリーム906は、その主音声とミキシングされるべき副音声を表す。各オーディオ・ストリームは、AC-3、ドルビー・デジタル・プラス(Dolby Digital Plus:「ドルビー・デジタル」は登録商標)、MLP、DTS(Digital Theater System:登録商標)、DTS-HD、又はリニアPCM(Pulse Code Modulation)等の方式で符号化されている。
 PGストリーム903A、903Bは映画の字幕のグラフィックス映像を表す。それら二つのPGストリーム903A、903Bの間では字幕の言語が異なる。IGストリーム904はGUI用のグラフィック部品及びその配置を表す。IGストリーム404は主にHDMVモードにおいて、表示装置120の画面131上に対話画面を構成するのに利用される。
 エレメンタリ・ストリーム901-906はパケットID(PID)によって識別される。例えば、レフトビュー・ビデオ・ストリーム901LにはPIDとして16進数値0x1011が割り当てられ、ライトビュー・ビデオ・ストリーム901RにはPIDとして0x1012が割り当てられる。プライマリ・オーディオ・ストリーム902A、902BにはPIDとして0x1100から0x111Fまでのいずれかの値が割り当てられる。PGストリーム903A、903BにはPIDとして0x1200から0x121Fまでのいずれかの値が割り当てられる。IGストリーム904にはPIDとして0x1400から0x141Fまでのいずれかの値が割り当てられる。セカンダリ・ビデオ・ストリーム905A、905BにはPIDとして0x1B00から0x1B1Fまでのいずれかの値が割り当てられる。セカンダリ・オーディオ・ストリーム906にはPIDとして0x1A00から0x1A1Fまでのいずれかの値が割り当てられる。
 図10は、第1AVストリーム・ファイル235A内に多重化された各エレメンタリ・ストリーム1001、1004、1007、1010のパケットの配置を表す模式図である。第2AVストリーム・ファイル235Bについても同様である。ビデオ・ストリーム1001、オーディオ・ストリーム1004、PGストリーム1007、及びIGストリーム1010はそれぞれ、まずPES(Packetized Elementary Stream)パケットの列1002、1005、1008、1011に変換され、次にTSパケットの列1003、1006、1009、1012に変換される。続いて、各TSパケットに個別にヘッダが付加されてソースパケット1013が生成される。最後に、各ソースパケット1013が時分割で一本のストリームに多重化される。こうして、第1AVストリーム・ファイル235Aが構成される。ここで、図10に示されているように、第1AVストリーム・ファイル235A内でソースパケット1013は先頭から順に番号付けされている。その番号をソースパケット・ナンバ(SPN:Source Packet Number)と呼ぶ。SPNは、第1AVクリップ・ファイル235A内での各ソースパケット1013のアドレスとして利用される。
 例えばビデオ・ストリーム1001からはTSパケットの列1003が次のように得られる。まず、ビデオ・ストリーム1001を構成するビデオ・フレーム1001Aの列がPESパケット1002の列に変換される。ここで、各ビデオ・フレーム1001Aは上記の動画圧縮符号化方式で一つのピクチャに符号化されている。更に、ビデオ・フレーム1001Aの列は複数のGOP(Group Of Pictures)に分割されている。各PESパケット1002はPESヘッダとPESペイロードとを含む。各ビデオ・フレーム1001Aは上記の符号化方式で一つのピクチャに圧縮されて、各PESペイロードに格納される。一方、各PESヘッダには、同じPESパケットのPESペイロードに格納されたピクチャの表示時刻(PTS:Presentation Time-Stamp)が格納される。PTSは、再生装置100内のデコーダによって一つのエレメンタリ・ストリームから復号された一フレームのデータがそのデコーダから出力されるべき時刻をいう。次に、各PESパケット1002が一般に複数のTSパケット1003に変換される。TSパケット1003は固定長のパケットであり、TSヘッダとTSペイロードとを含む。TSヘッダは、対応するTSペイロードに格納されたビデオ・ストリームのPIDを含む。各PESパケットは一般には分割されて複数のTSペイロードに格納される。このようなTSパケットの構成は、他のエレメンタリ・ストリームについても同様である。
 AVストリーム・ファイルに含まれるTSパケットの種類には、図9に示されているエレメンタリ・ストリームから変換されたもの以外にも、PAT(Program Association Table)、PMT(Program Map Table)、及びPCR(Program Clock Reference)がある。PCR、PMT、及びPATは欧州デジタル放送規格で定められたものであり、本来は、一つの番組を構成するパーシャル・トランスポート・ストリームを規定する役割を持つ。PCR、PMT、及びPATを利用することで、AVストリーム・ファイルもそのパーシャル・トランスポート・ストリームと同様に規定される。具体的には、PATは、同じAVストリーム・ファイルに含まれるPMTのPIDを示す。PAT自身のPIDは0である。PMTは、同じAVストリーム・ファイルに含まれる、映像・音声・字幕等を表す各エレメンタリ・ストリームのPIDとその属性情報とを含む。その属性情報は、そのエレメンタリ・ストリームの圧縮に利用されたコーデックの識別情報、及びそのエレメンタリ・ストリームのフレームレートとアスペクト比とを含む。PMTは更に、そのAVストリーム・ファイルに関する各種のディスクリプタ(記述子ともいう。)を含む。ディスクリプタには特に、そのAVストリーム・ファイルのコピーの許可/禁止を示すコピー・コントロール情報が含まれる。PCRは、そのパケットのATSに対応させるべきSTC(System Time Clock)の値を示す情報を含む。STCは、デコーダ内でPTS及びDTSの基準として利用されるクロックである。デコーダはPCRを利用して、ATSの基準であるATC(Arrival Time Clock)にSTCを同期させる。PCR、PMT、及びPATを利用することで、再生装置内のデコーダにAVストリーム・ファイルを、欧州デジタル放送規格に準拠のパーシャル・トランスポート・ストリームと同様に処理させることができる。それにより、BD-ROMディスク100用の再生装置と欧州デジタル放送規格に準拠の端末装置との間の互換性を確保することができる。
 一つのAVストリーム・ファイルの中でシームレス再生が可能な部分を特に「AVクリップ」という。各AVクリップでは、ソースパケットに格納されたデータのPTSが連続している等により、表示時間の全体にわたってシームレス再生が保障されている。
  ≪クリップ情報ファイル≫
 図11は、第1クリップ情報ファイル(01000.clpi)234Aのデータ構造を示す模式図である。図11を参照するに、第1クリップ情報ファイル234Aは、ストリーム属性情報1101、エントリ・マップ1102、及び3Dメタデータ1103を含む。一方、第2クリップ情報ファイル234Bは、3Dメタデータ1103を除き、第1クリップ情報ファイル234Aと同じデータ構造を持つ。
 ストリーム属性情報1101は、図11に示されているように、第1AVストリーム・ファイル235Aに含まれる各エレメンタリ・ストリームのPID1111とその属性情報1112との間の対応表である。属性情報1112に含まれる項目は、ビデオ・ストリーム、オーディオ・ストリーム、PGストリーム、及びIGストリームのそれぞれで異なる。例えば、レフトビュー・ビデオ・ストリームのPID0x1011に対応付けられた属性情報は、そのビデオ・ストリームの圧縮に利用されたコーデックの種類、そのビデオ・ストリームを構成する各ピクチャの解像度、アスペクト比、及びフレームレートを含む。一方、プライマリ・オーディオ・ストリームのPID0x1101に対応付けられた属性情報は、そのオーディオ・ストリームの圧縮に利用されたコーデックの種類、そのオーディオ・ストリームに含まれるチャンネル数、言語、及びサンプリング周波数を含む。これらの属性情報1112は再生装置110により、デコーダの初期化に利用される。
 第2AVストリーム・ファイル235B内のライトビュー・ビデオ・ストリームは、第1AVストリーム・ファイル235A内のレフトビュー・ビデオ・ストリームを利用して圧縮されている。従って、ライトビュー・ビデオ・ストリームはレフトビュー・ビデオ・ストリームと同じビデオ・ストリーム属性を持つ。すなわち、第2クリップ情報ファイル234Bに含まれるライトビュー・ビデオ・ストリーム(PID=0x1012)の属性情報は、第1クリップ情報ファイル234Aに含まれるレフトビュー・ビデオ・ストリーム(PID=0x1011)の属性情報と、コーデックの種類、解像度、アスペクト比、及びフレームレートがいずれも一致する。
 エントリ・マップ1102は、図11に示されているように、第1AVストリーム・ファイル235A内のビデオ・ストリーム別に異なるテーブル1121を含む。各テーブル1211には異なるビデオ・ストリームのPIDが対応付けられている。各テーブル1211は複数のエントリ・ポイント1122を含む。各エントリ・ポイント1122は一対のPTSとSPNとを含む。そのPTSは、割り当て先のビデオ・ストリームに含まれるいずれかのGOPの先頭のピクチャ、すなわちIピクチャのPTSに等しい。一方、同じエントリ・ポイント1122のSPNは、そのIピクチャが格納されたソースパケット群の先頭のSPNに等しい。再生装置110はエントリ・マップ1102を利用して、ビデオ・ストリームからの映像の再生期間中、任意の時点のシーンに対応する第1AVストリーム・ファイル235A内のSPNを特定できる。特に早送り再生及び巻戻し再生等の特殊再生では、再生装置110は各エントリ・ポイント1122のSPNからソースパケットを選択的に抽出して復号する。それにより、Iピクチャが選択的に再生される。こうして、再生装置110は、第1AVストリーム・ファイル235A自体を解析することなく、特殊再生を効率的に処理できる。
 第2クリップ情報ファイル234Bでも同様に、エントリ・マップは、ライトビュー・ビデオ・ストリームに対するエントリ・ポイントを複数含む。各エントリ・ポイントは一対のPTSとSPNとを含む。そのPTSは、ライトビュー・ビデオ・ストリームに含まれるいずれかのGOPの先頭のピクチャ、すなわちPピクチャのPTSに等しい。一方、同じエントリ・ポイントのSPNは、そのPピクチャが格納されたソースパケット群の先頭のSPNに等しい。各エントリ・ポイントのPTSは更に、第1クリップ情報ファイル234Aの示すレフトビュー・ビデオ・ストリームに対する各エントリ・ポイントのPTSに等しい。すなわち、レフトビューとライトビューとのビデオ・ストリーム間では、3D映像の同じシーンを表す一対のピクチャの一方についてエントリ・ポイントが設定されているときは常に、他方にもエントリ・ポイントが設定されている。従って、再生装置は3D映像の飛び込み再生を開始するとき、対応するエントリ・ポイントから、再生されるべきソースパケット群の先頭のSPNを直ちに取得できる。こうして、3D映像の再生においても、飛び込み再生等、ビデオ・ストリームのランダムアクセスを要する処理の応答速度を向上することができる。
 図12は、3Dメタデータ1103のデータ構造を示す模式図である。3Dメタデータ1103は、図9に示されている第1AVストリーム・ファイル235Aに多重化されたPGストリーム903A、903BとIGストリーム904とに対するクロッピング処理に利用される。「クロッピング処理」とは、各ストリームから再生される2D映像に奥行き感を与えるための処理をいう。クロッピング処理では各2D映像を水平方向に変位させることにより、レフトビューとライトビューとの対が生成される。そのときの変位量は、その2D映像に奥行き感を与えるのに必要な両眼視差に相当する。3Dメタデータ1103は特に、その変位量をピクセル数で表した値、すなわち「オフセット値」を含む。
 図12を参照するに、3Dメタデータ1103は、PGストリーム903AのPID=0x1200とIGストリーム904のPID=0x1400との別にテーブル1201を含む。各テーブル1201には一対のPTS1202とオフセット値1203、すなわちオフセット・エントリ1204が一般に複数、記載されている。そのPTS1202は、PGストリーム903AとIGストリーム904とに含まれる一つのピクチャのPTSに等しい。オフセット値1203は、そのPTS1202が割り当てられたピクチャに対するオフセット値を表す。オフセット値1203はマイナス値であってもよい。各オフセット・エントリ1204の有効区間は、そのオフセット・エントリのPTSから次のオフセット・エントリのPTSまでである。図12の例では、最初のオフセット・エントリのPTSが180000であり、二番目のオフセット・エントリのPTSが270000であり、三番目のオフセット・エントリのPTSが360000である。その場合、最初のオフセット・エントリのオフセット値“+5”は、180000から270000までのSTCの範囲で有効であり、二番目のオフセット・エントリのオフセット値“+3”は、270000から360000までのSTCの範囲で有効である。
  ≪プレイリスト・ファイル≫
 図13は、第2プレイリスト・ファイル233Bのデータ構造を示す模式図である。図13を参照するに、第2プレイリスト・ファイル233Bはプレイリスト情報1301を含む。プレイリスト情報1301はメインパス情報1310とサブパス情報1320、1330とを含む。メインパス情報1310は少なくとも一つのプレイアイテム情報1311、1312、1313、…を含む。各プレイアイテム情報1311-1313は、第1AVストリーム・ファイル235Aの再生区間、すなわち、連続して再生されるべき部分を規定する。プレイアイテム情報1311-1313には更に、再生区間の再生順に通し番号#1、#2、#3、…が振られている。サブパス情報1320、1330にはそれぞれ、固有の識別子、すなわちサブパスID“#1”、“#2”が割り当てられている。サブパスID=#1のサブパス情報1320は少なくとも一つのサブプレイアイテム情報1321、1322、1323、…を含む。各サブプレイアイテム情報1321-1323は第2AVストリーム・ファイル235Bの再生区間を規定する。サブプレイアイテム情報1321-1323には更に、再生区間の再生順に通し番号#1、#2、#3、…が振られている。サブパスID=#2のサブパス情報1330は少なくとも一つのサブプレイアイテム情報1331、1332、1333、…を含む。各サブプレイアイテム情報1331-1333は、両AVストリーム・ファイル235A、235Bの別の再生区間、又はそれらとは別のAVストリーム・ファイルの再生経路を規定する。サブプレイアイテム情報1331-1333には更に、再生区間の再生順に通し番号#1、#2、#3、…が振られている。
 図14は、プレイアイテム情報1400のデータ構造を示す模式図である。図14を参照するに、プレイアイテム情報1400は、参照クリップ情報1401、再生開始時刻1402、再生終了時刻1403、及びストリーム選択テーブル1404を含む。サブプレイアイテム情報も、ストリーム選択テーブルを除き、同様なデータ構造を持つ。
 参照クリップ情報1401は、PTSからSPNへの変換に利用すべきクリップ情報ファイルを識別するための情報である。再生開始時刻1402と再生終了時刻1403とは復号対象のAVクリップの先頭と末尾との各PTSを示す。再生装置110は、参照クリップ情報1401の示すクリップ情報ファイルからそのエントリ・マップを参照し、再生開始時刻1402と再生終了時刻1403とのそれぞれに対応するSPNを取得する。それにより、再生装置110は、AVストリーム・ファイルから読み出されるべきAVクリップを特定し、そのAVクリップに対して再生処理を行う。
 ストリーム選択テーブル1404は、再生開始時刻1402から再生終了時刻1403までの間に再生装置110内のデコーダによってAVクリップの中から選択可能なエレメンタリ・ストリームのリストを表す。ストリーム選択テーブル1404は特に複数のストリーム・エントリ1410、1420、…を含む。各ストリーム・エントリ1410、1420は、ストリーム選択番号1411、ストリーム・パス情報1412、及びストリーム識別情報1413を含む。ストリーム識別情報1413は、再生開始時刻1502から再生終了時刻1503までの間に選択可能なエレメンタリ・ストリームのPIDを示す。ストリーム選択番号1411はストリーム・エントリ1410の通し番号であり、再生装置110によって選択対象のエレメンタリ・ストリームの識別に利用される。ストリーム・パス情報1412は、ストリーム識別情報1413によって特定されるエレメンタリ・ストリームの属するAVストリーム・ファイルに対応付けられたクリップ情報ファイルを示す。例えばストリーム・パス情報1412が“メインパス”を示すとき、そのクリップ情報ファイルは参照クリップ情報1401の示すものである。ストリーム・パス情報1412が“サブパスID=#1”を示すとき、そのクリップ情報ファイルは、そのサブパスIDのサブパス情報に含まれるサブプレイアイテム情報の参照クリップ情報が示すものである。ここで、そのサブプレイアイテム情報の示す再生区間は、再生開始時刻1402から再生終了時刻1403までの間に含まれる。特に第2プレイリスト・ファイル233Bは3Dプレイリスト・ファイルであるので、そのプレイアイテム情報には、レフトビュー・ビデオ・ストリームのPID=0x1011を示すストリーム・エントリ1410と、ライトビュー・ビデオ・ストリームのPID=0x1012を示すストリーム・エントリ1420とが必ず含まれる。尚、図14には示されていないが、ストリーム・エントリ1410、1420には各エレメンタリ・ストリームの属性情報も記録されている。例えば、ビデオ・ストリームの属性情報は解像度とフレームレートとを示し、オーディオ・ストリーム、PGストリーム、及びIGストリームの各属性情報は言語の種類を示す。
 図15は、図13に示されているプレイリスト情報1301と、それに従って再生されるべきAVクリップCL1、CL2、CL4とを示す模式図である。図15に示されている三本の時間軸MP、SP1、SP2はそれぞれ、メインパス情報1310、サブパス情報#11320、及びサブパス情報#21330に従って再生されるビデオ・ストリームの再生時間を表す。
 プレイリスト情報1301に従った再生処理では、まず、プレイアイテム情報1311-1313が通し番号#1-3の順に参照される。例えばプレイアイテム情報#11311が参照されるとき、その参照クリップ情報1401の示す第1クリップ情報ファイル234Aのエントリ・マップから、再生開始時刻IN1に等しいPTSを含むエントリ・ポイントが検索される。次に、そのエントリ・ポイントのSPNが開始アドレスSP1として特定される。同様に、再生終了時刻OUT1に等しいPTSを含むエントリ・ポイントのSPNが終了アドレスEP1として特定される。こうして、再生開始時刻IN1から再生終了時刻OUT1までの再生区間PI1では、第1AVストリーム・ファイル235Aの開始アドレスSP1から終了アドレスEP1までの部分、すなわち第1AVクリップCL1が再生対象として特定される。続いて、第1クリップ情報ファイル234Aのストリーム属性情報1101を利用して、プレイアイテム情報#11311のストリーム選択テーブル1404に登録されたエレメンタリ・ストリームの中から、再生装置110と表示装置120との両方で再生可能なものが検出される。更に、検出されたエレメンタリ・ストリームの中でストリーム選択番号1411が最小のものが選択され、そのストリーム選択番号1411の示すストリーム・エントリ1410内のストリーム識別情報1413に記述されたPIDが再生装置110内のデコーダに設定される。その結果、第1AVクリップCL1のうち、そのPIDを持つソースパケットが復号される。同様に、プレイアイテム情報#21312、#31313、…が順番に参照され、それぞれの再生開始時刻から再生終了時刻までの再生区間PI2、PI3、…では、第1AVストリーム・ファイル235Aに属するAVクリップからソースパケットが復号される。
 各プレイアイテム情報1311-1313内のストリーム選択テーブル1404では、ライトビュー・ビデオ・ストリームのPID=0x1012を含むストリーム・エントリ1420が、ストリーム・パス情報として“サブパスID=#1”を示す。それにより、再生装置110は、メインパス情報1310に従った再生処理とパラレルに、サブパス情報#11320内のサブプレイアイテム情報1321-1323を通し番号#1-3の順に参照する。ここで、サブプレイアイテム情報1321-1323はプレイアイテム情報1311-1313と一対一に対応する。更に、各サブプレイアイテム情報1321-1323と、対応するプレイアイテム情報1311-1313とでは、再生開始時刻と再生終了時刻とがいずれも共通である。例えばサブプレイアイテム情報#11321が参照されるとき、まず、その参照クリップ情報の示す第2クリップ情報ファイル234Bのエントリ・マップから、再生開始時刻IN1に等しいPTSを含むエントリ・ポイントが検索される。次に、そのエントリ・ポイントのSPNが開始アドレスSP2として特定される。同様に、再生終了時刻OUT1に等しいPTSを含むエントリ・ポイントのSPNが終了アドレスEP2として特定される。こうして、再生開始時刻IN1から再生終了時刻OUT1までの再生区間PI1では、第2AVストリーム・ファイル235Bの開始アドレスSP2から終了アドレスEP2までの部分、すなわち第2AVクリップCL2が再生対象として特定される。続いて、第2クリップ情報ファイル234Bのストリーム属性情報を利用して、プレイアイテム情報#11311のストリーム選択テーブル1404に登録されたエレメンタリ・ストリームの中から、再生装置110と表示装置120との両方で再生可能なものが検出される。更に、検出されたエレメンタリ・ストリームの中でストリーム選択番号が最小のものが選択され、そのストリーム選択番号の示すストリーム・エントリ内のストリーム識別情報に記述されたPIDが再生装置110内のデコーダに設定される。その結果、第2AVクリップCL2のうち、そのPIDを持つソースパケットがデコーダによって復号される。特にその復号処理は、第1AVクリップCL1からのソースパケットの復号処理とパラレルに行われる。同様に、サブプレイアイテム情報#21322、#31323、…が順番に参照され、対応するプレイアイテム情報#21312、#31313、…の再生区間PI2、PI3、…に併せて、第2AVストリーム・ファイル235Bに属するAVクリップからソースパケットが復号される。
 プレイアイテム情報#11311のストリーム選択テーブル1404の中に、ストリーム・パス情報として“サブパスID=#2”を示すストリーム・エントリが含まれている場合、サブパス情報#21330に含まれるサブプレイアイテム情報#11331が参照される。ここで、そのサブプレイアイテム情報#11331は、「その再生開始時刻IN4から再生終了時刻OUT4までの再生区間SPI4がプレイアイテム情報#1の再生区間PI1に含まれる」という条件から検出される。次に、プレイアイテム情報#11311の再生区間PI1から第1AVクリップCL1が特定されたのと同様にして、サブプレイアイテム情報#11331の再生区間SPI4から第4AVクリップCL4の開始アドレスSP4と終了アドレスEP4とが特定される。それにより、サブプレイアイテム情報#11331の再生区間SPI4では、第1AVクリップCL1と第2AVクリップCL2とに加えて、第4AVクリップCL4からソースパケットが復号される。
 上記のとおり、第2プレイリスト・ファイル233Bでは、メインパス情報1310が第1AVストリーム・ファイル235Aの再生経路をプレイアイテム情報1311-1313の順列として規定し、サブパス情報#11320が第2AVストリーム・ファイル235Bの再生経路をサブプレイアイテム情報1321-1323の順列として規定する。このように、3Dプレイリスト・ファイルはレフトビューとライトビューとのAVストリーム・ファイルの再生経路をメインパス情報とサブパス情報との組み合わせで規定する。プレイリスト・ファイルはその他に、図13に示されているサブパス情報#21330のようなサブパス情報を更に含んでも良い。そのサブパス情報は、メインパス情報1310で規定されるAVストリーム・ファイルの再生経路に併せて再生されるべきAVストリーム・ファイルの別の再生経路、又は別のAVストリーム・ファイルの再生経路を規定する。尚、第1プレイリスト・ファイル233Aは、ライトビューAVストリーム・ファイルの再生経路を規定するサブパス情報を含まない点を除き、第2プレイリスト・ファイル233Bと同様なデータ構造を持つ。
 <再生装置のハードウェア構成>
 図16は再生装置110のハードウェア構成を示すブロック図である。図16を参照するに、再生装置110は、BD-ROMドライブ111、ローカル・ストレージ1610、操作部1620、ネットワーク・インタフェース1630、バス1640、制御部1650、再生部1660、及びHDMI送信部1670を含む。BD-ROMドライブ111、ローカル・ストレージ1610、操作部1620、及びネットワーク・インタフェース1630はバス1640を通して制御部1650及び再生部1660と通信可能である。また、制御部1650と再生部1660とはバス1640を通して互いに通信可能である。制御部1650と再生部1660とは互いに異なる集積回路に実装されている。その他に、両者が単一の集積回路に統合されていてもよい。
 BD-ROMドライブ111の内部にはBD-ROMディスク100が挿入可能である。BD-ROMドライブ111は、制御部1650からの指示に応じて、そのディスク100からデータを読み出す。具体的には、BD-ROMドライブ111は光ピックアップ、すなわち光学ヘッドを備えている。その光学ヘッドは、半導体レーザ、コリメータ・レンズ、ビーム・スプリッタ、対物レンズ、集光レンズ、及び光検出器を含む。半導体レーザから出射された光ビームは、コリメータ・レンズ、ビーム・スプリッタ、及び対物レンズを順に通ってBD-ROMディスク100の記録層に集められる。集められた光ビームはその記録層で反射/回折される。その反射/回折光は、対物レンズ、ビーム・スプリッタ、及び集光レンズを通って光検出器に集められる。光検出器は、その集光量に応じたレベルの再生信号を生成する。更に、その再生信号から、ディスク100に記録されたデータが復調される。BD-ROMドライブ111は特にディスク100のボリューム領域212からデータを読み出して、ローカル・ストレージ1610、制御部1650、又は再生部1660に転送する。
 ローカル・ストレージ1610は、再生装置110に内蔵の書き換え可能な記憶装置である。図16に示されている例では、ローカル・ストレージ1610は、カードリーダ/ライタ1611とHDD1612とを含む。カードリーダ/ライタ1611は、内部にメモリカード1600が挿入可能であり、そのメモリカード1600に対してデータを読み書きできる。HDD1612は再生装置100に内蔵されている。その他に、HDD1612は持ち運び可能であってもよい。更に、図16には示されていないが、外付けのHDDが所定のインタフェースを通してバス1640に接続され、ローカル・ストレージ1610として利用されてもよい。ローカル・ストレージ1610は、BD-Live機能によって外部ネットワーク150上のサーバ装置160からダウンロードされた追加コンテンツ又はブラウザ画面を保存する。ローカル・ストレージ1610はその他に、制御部1650によって利用されるパラメータ及びテーブル等を保存してもよい。
 操作部1620は、各種のイベントを検出して、そのイベントの内容を制御部1650に通知する。例えば操作部1620は、リモコン140から赤外線等の無線で送出されたコマンドを受信し、そのコマンドの内容を解読して制御部1650に通知する。操作部1620は更に、再生装置110のフロント・パネルに設けられた再生開始/停止/早送り/巻戻し等のボタンの押下を検出して、その押下の意味する操作内容を解釈して制御部1650に通知する。操作部1620はその他に、BD-ROMドライブ111におけるBD-ROMディスク100の挿抜を検出して制御部1650に通知する。
 ネットワーク・インタフェース1630は外部ネットワーク150とバス1640との間を通信可能に接続する。制御部1650はネットワーク・インタフェース1630を通して外部ネットワーク150上のサーバ装置160と通信可能である。その通信機能がBD-Live機能に利用される。
 制御部1650はマイクロコンピュータ・システムであり、CPU1651、ROM1652、及びRAM1653を含む。それらは内部バス1654で互いに接続されている。ROM1652は、再生装置110の基本動作を制御するためのプログラム、すなわち、ファームウェアを格納している。ファームウェアは、バス1640に接続された各要素111、1610-1660のデバイス・ドライバを含む。CPU1651は、例えば電源投入に応じてROM1652からファームウェアを読み出して実行する。それにより、各要素111、1610-1660が初期化され、かつJavaプラットフォーム、すなわちBD-Jオブジェクトの実行環境が整備される。RAM1653はCPU1651に対して作業領域を提供する。制御部1650はそれらの要素1651-1653の組み合わせを利用してファームウェアとアプリケーション・プログラムとを実行し、それらに従って他の要素を制御する。
 制御部1650は特に、BD-ROMディスク100又はローカル・ストレージ1610に記録されたコンテンツから所望のタイトルを読み出して再生部1660に再生させる。具体的には、制御部1650はまず、再生対象のタイトルに対応するプレイリスト情報、すなわち、カレント・プレイリスト情報をBD-ROMディスク100又はローカル・ストレージ1610から読み出す。制御部1650はカレント・プレイリスト情報に従って再生対象のAVクリップ、すなわちカレントAVクリップを選択する。制御部1650は次に、BD-ROMドライブ111又はローカル・ストレージ1610にカレントAVクリップを再生部1660へ供給させる。
 制御部1650は更に、BD-Jモードではアプリケーション・プログラムに従い、メニュー等のGUI用グラフィック部品をJPEG形式又はPNG形式のイメージ・データとして生成し、再生部1660へ供給する。制御部1650はその他に、BD-Jモードでは、アプリケーション・プログラムに従ってBD-Live機能を実現させる。すなわち、制御部1650は、ネットワーク・インタフェース1630を通してネットワーク150上のサーバ装置160からブラウザ画面等のイメージ・データをダウンロードし、再生部1660へ供給する。
 再生部1660は、制御部1650の指示に応じて、BD-ROMドライブ111又はローカル・ストレージ1610からカレントAVクリップを読み込む。再生部1660は更に、そのAVクリップから、特定のPIDのエレメンタリ・ストリームを分離して復号する。そのPIDは制御部1650によって予め指定されている。その復号処理の結果、ビデオ・ストリームからはビデオ・プレーンが生成され、オーディオ・ストリームからはオーディオ・データADが生成され、PGストリームからはPGプレーンが生成され、IGストリームからはIGプレーンが生成される。再生部1660は続いて、各プレーンを一枚のビデオ・フレームに合成する。BD-Jモードでは更に、制御部1650から供給されたイメージ・データがビデオ・フレームに合成される。再生部1660は、合成処理後のビデオ・フレームからビデオ・データVDを構成し、オーディオ・データADと共にHDMI送信部1670へ送出する。
 HDMI送信部1670はHDMIケーブル112によって表示装置120に接続されている。HDMI送信部1670は、再生部1660からビデオ・データVDを受けて、それをHDMI形式の映像信号に変換する。特に映像信号にはレフトビューとライトビューとの両方のビデオ・フレームが時分割で多重化される。一方、HDMI送信部1670は、再生部1660からオーディオ・データADを受けて、それをHDMI形式の音声信号に変換する。HDMI送信部1670は更に、変換された映像信号と音声信号とに同期信号と付随データとを多重化して、HDMIケーブル112を通して表示装置120へ送出する。HDMI送信部1670はそのとき、HDCP(High-bandwidth Digital Content Protection)に準拠のプロトコルで送信データを暗号化し、かつ表示装置120と相互認証を行う。尚、HDMI送信部1670は再生部1660に組み込まれていてもよい。また、音声信号は映像信号とは別に、サラウンド・システム等、表示装置120に外付けされたアンプ又はスピーカへ送出されてもよい。
 <制御部1650の構成>
 図17は制御部1650の機能ブロック図である。図17を参照するに、制御部1650は、バス・インタフェース1701、ユーザ操作検知モジュール1702、仮想ファイルシステム1703、及び再生制御部1704を含む。制御部1650は、その内部に組み込まれたファームウェアを実行することにより、各機能部1701-1704を実現する。
 バス・インタフェース1701は、バス1640を通して制御部1650内の各機能部を、図16に示されている各要素111、1610-1640、1660へ通信可能に接続する。バス・インタフェース1701は特に、仮想ファイルシステム1703からの指示に従い、BD-ROMドライブ111から再生対象のシナリオ情報、すなわちカレント・シナリオ情報DS、SSを読み出して再生制御部1704へ渡す。ここで、シナリオ情報は動的シナリオ情報DSと静的シナリオ情報SSとを含む。動的シナリオ情報DSは、ムービーオブジェクト・ファイル、BD-Jオブジェクト・ファイル、及びJARファイルを含む。静的シナリオ情報SSは、プレイリスト・ファイルとクリップ情報ファイルとを含む。
 ユーザ操作検知モジュール1702は、操作部1620からの通知INTを受信して、その通知INTから、ユーザによる操作の内容等、イベントの種類を識別する。ユーザ操作検知モジュール1702は更に、そのイベントの種類を示す操作信号UOを再生制御部1704へ送出する。ここで、イベントの種類には、例えばBD-ROMドライブ111におけるBD-ROMディスク100の挿抜、及び、リモコン140又は再生装置110のフロント・パネルでの再生開始/停止/早送り/巻戻し等のボタンの押下が含まれる。
 仮想ファイルシステム1703は、再生制御部1704によるBD-ROMディスク100及びローカル・ストレージ1610に対するファイル・アクセスを管理する。仮想ファイルシステム1703は特に、BD-ROMディスク100上のコンテンツとローカル・ストレージ1610内の追加コンテンツとから仮想パッケージを構築する。「仮想パッケージ」とは、RAM1653の中に仮想的に構築された、図2に示されているBD-ROMディスク100上のディレクトリ/ファイル構造214と同様なディレクトリ/ファイル構造をいう。アプリケーション・プログラムは仮想ファイルシステム1703を通してBD-ROMディスク100とローカル・ストレージ1610とにアクセスする。それにより、それらに記録されたコンテンツとを互いに区別することなく、同じ仮想パッケージ上のコンテンツとして扱うことができる。
 仮想ファイルシステム1703は更に、再生制御部1704からの命令COMに応じて、仮想パッケージからインデックス・ファイルIFを読み出して再生制御部1704へ渡す。その後、仮想ファイルシステム1703は、再生制御部1704からの命令COM及びユーザ操作検知モジュール1702からの操作信号UOに応じて、仮想パッケージへのファイル・アクセスを管理する。例えば、仮想ファイルシステム1703は仮想パッケージからカレント・シナリオ情報DS、SSを読み出して再生制御部1704へ渡す。その他に、仮想ファイルシステム1703は、再生制御部1704からの命令COMに従って、BD-ROMドライブ111又はローカル・ストレージ1610にカレントAVクリップを再生部1660に供給させる。
 再生制御部1704は、ファームウェアを実行してアプリケーション・プログラムの実行環境を整え、更にその環境下で動的シナリオ情報DSからアプリケーション・プログラムを読み出して実行する。それにより、再生制御部1704は、アプリケーション・プログラムに従って再生装置110内の各要素を制御する。
 図17を参照するに、再生制御部1704は、動的シナリオ・メモリ1741、静的シナリオ・メモリ1742、モード管理モジュール1743、HDMVモジュール1744、BD-Jモジュール1745、及びAV再生ライブラリ1746を含む。
 動的シナリオ・メモリ1741と静的シナリオ・メモリ1742とはいずれも制御部1650に内蔵のバッファ・メモリである。それらのバッファ・メモリ1741、1742としては、RAM1653の異なる領域が利用される。その他に、各バッファ・メモリ1741、1742が独立のメモリ素子であってもよい。動的シナリオ・メモリ1741はカレントの動的シナリオ情報DSを保持し、静的シナリオ・メモリ1742はカレントの静的シナリオ情報SSを保持する。
 モード管理モジュール1743は、仮想ファイルシステム1703からインデックス・ファイルIFを受信して保持する。モード管理モジュール1743は更にそのインデックス・ファイルIFを利用して、タイトルの切り換えに伴う再生装置110の動作モードの切り換えを制御する。具体的には、モード管理モジュール1743はまず、ユーザ操作検知モジュール1702からの操作信号UOに応じてインデックス・ファイルIF内のインデックス・テーブルから一つの項目を選択する。その項目にムービーオブジェクトが指定されているとき、モード管理モジュール1743はカレントの動的シナリオ情報DSをHDMVモジュール1744へ割り当てる。それにより、再生装置110の動作モードがHDMVモードへ移行する。一方、その項目にBD-Jオブジェクトが指定されているとき、モード管理モジュール1743はカレントの動的シナリオ情報DSをBD-Jモジュール1745へ割り当てる。それにより、再生装置110の動作モードがBD-Jモードへ移行する。モード管理モジュール1743はその他に、ユーザ操作検知モジュール1702からの操作信号UOが動作モードの切り換えを示すとき、又は、HDMVモジュール1744若しくはBD-Jモジュール1745から動作モードの切り換えを要求されたとき、動的シナリオ情報DSの割り当て先を両モジュール1744、1745の間で切り換える。
 モード管理モジュール1743はディスパッチャ1743Aを含む。ディスパッチャ1743Aはユーザ操作検知モジュール1702から操作信号UOを受信し、その中から、現在の動作モードに適したものを選択して、動的シナリオ情報DSの割り当て先のモジュール1744又は1745へ渡す。例えば操作信号UOが早送り再生/巻戻し再生を示すとき、ディスパッチャ1743Aはその操作信号UOを、HDMVモードではHDMVモジュール1744へ渡し、BD-JモードではBD-Jモジュール1745へ渡す。一方、操作信号UOがBD-ROMドライブ110へのBD-ROMディスク100の挿入を示すとき、ディスパッチャ1743Aは、AV再生ライブラリ1746を通して仮想ファイルシステム1703に命令COMを送出して、インデックス・ファイルIFの読み出しを指示する。その指示に応じて読み出されたインデックス・ファイルIFはモード管理モジュール1743に保持される。
 HDMVモジュール1744は仮想的なDVDプレーヤであり、BD-ROMディスク100からのタイトルの再生処理を一般的なDVDプレーヤによる再生処理と同様に制御する。具体的には、HDMVモジュール1744は動的シナリオ・メモリ1741内の動的シナリオ情報DSからムービーオブジェクトを読み出し、それに含まれるナビゲーション・コマンドを配列の順に実行する。それにより、HDMVモジュール1744は各ナビゲーション・コマンドの示す処理を順番にAV再生ライブラリ1746に指示する。
 BD-Jモジュール1745はJavaプラットフォームであり、特に、アプリケーション・マネージャ1745Aと仮想マシン1745Bとを含む。
 BD-Jモジュール1745は、モード管理モジュール1743からの指示に応じて動的シナリオ・メモリ1741内の動的シナリオ情報DSからBD-Jオブジェクトを読み出す。アプリケーション・マネージャ1745AはそのBD-Jオブジェクト内のアプリケーション管理テーブル410に従って、仮想マシン1745Bにアプリケーション・プログラムの起動又は終了を指示する。
 仮想マシン1745BはJava仮想マシンであり、ワークメモリ1745Cを内蔵する。ワークメモリ1745CとしてはRAM1653の一領域が利用される。仮想マシン1745Bは、アプリケーション・プログラムの起動をアプリケーション・マネージャ1745Aから指示されたとき、そのアプリケーション・プログラムを含むJARファイルを動的シナリオ情報DSから読み出してワークメモリ1745Cの中に展開する。仮想マシン1745Bは更に、ワークメモリ1745Cの中に展開されたクラス・ファイルの中から起動対象のxletプログラムを読み出して実行する。それにより、xletプログラムに含まれる各メソッドがCPU1651用のネィティブ・コードに変換されてAV再生ライブラリ1746へ渡される。その結果、そのアプリケーション・プログラムに従った処理がAV再生ライブラリ1746に指示される。一方、仮想マシン1745Bは、アプリケーション・プログラムの終了をアプリケーション・マネージャ1745Aから指示されたとき、そのアプリケーション・プログラムの終了プロセスを実行した後、又は強制的に、そのアプリケーション・プログラムの本体であるxletプログラムをワークメモリ1745Cから削除する。
 アプリケーション・プログラムによる処理にはタイトルの再生処理の他、BD-Live処理とグラフィックス処理とが含まれる。
 BD-Live処理では、仮想マシン1745Bはアプリケーション・プログラムに従い、ネットワーク・インタフェース1630にサーバ装置160から追加コンテンツをローカル・ストレージ1610へダウンロードさせ、又はブラウザ画面を再生部1660へダウンロードさせる。
 グラフィックス処理では、仮想マシン1745Bはアプリケーション・プログラムに従ってイメージ・データGDを生成する。イメージ・データGDは、メニュー等のGUI用グラフィック部品、背景、及びアニメーション映像等のグラフィックス映像を表す。その生成処理では特に、動的シナリオ情報DS内のJARファイルからワークメモリ1745Cの中に展開されたJPEGファイル821又はPNGファイル822が利用される。BD-Jモジュール1745は更にアプリケーション・プログラムに従い、イメージ・データGDをバス・インタフェース1701とバス1640とを通して再生部1660へ送出する。
 特に2プレーン・モードによってイメージ・データGDから3D映像が再生されるとき、仮想マシン1745Bはまず、レフトビューとライトビューとの両方のイメージ・データGDを生成して再生部1660へ渡す。仮想マシン1745Bは次に、再生部1660へ描画命令を適切なタイミングで送る。それにより、レフトビュー・イメージ・データGDはレフトビュー・ビデオ・フレームに合成され、ライトビュー・イメージ・データGDはライトビュー・ビデオ・フレームに合成されるように、仮想マシン1745Bは再生部1660を制御する。一方、オフセット・モードによってイメージ・データGDから3D映像が再生されるとき、仮想マシン1745Bは再生部1660に、通常の2D映像を表すイメージ・データGDと共にそのオフセット値を渡す。再生部1660はそのオフセット値に基づいて、イメージ・データGDからレフトビューとライトビューとの各イメージ・データを生成し、レフトビューとライトビューとのビデオ・フレームに合成する。
 BD-Jモジュール1745は動的シナリオ情報DSからBD-Jオブジェクトを読み出す度に、そのBD-Jオブジェクトの示すイメージ再生状態値620を、現時点でのイメージ再生状態値と比較する。ここで、現時点でのイメージ再生状態値はAV再生ライブラリ1746によって保持されている。比較された二つのイメージ再生状態値が異なるとき、BD-Jモジュール1745は、BD-Jオブジェクトの示すイメージ再生状態値620に応じて再生装置110の設定状態を変更する。具体的には次のとおりである:
 イメージ再生状態値620が状態1を示すとき、BD-Jモジュール1745はアプリケーション・プログラムに対して3D映像の再生処理そのものを禁止する。特にオフセット・モードと2プレーン・モードとはいずれも禁止される。一方、BD-Jモジュール1745はアプリケーション・プログラムに対してBD-Live処理を許可する。
 イメージ再生状態値620が状態2を示すとき、BD-Jモジュール1745はアプリケーション・プログラムに対し、2プレーン・モードを禁止する一方、ビデオ・ストリームからの3D映像の再生処理、オフセット・モード、及びBD-Live処理を許可する。
 イメージ再生状態値620が状態3を示すとき、BD-Jモジュール1745はアプリケーション・プログラムに対し、ビデオ・ストリームからの3D映像の再生処理、2プレーン・モード、オフセット・モード、及びBD-Live処理を許可する。但し、BD-Live処理に利用可能なキャッシュ領域は制限される。
 イメージ再生状態620が状態4を示すとき、BD-Jモジュール1745はアプリケーション・プログラムに対し、ビデオ・ストリームからの3D映像の再生処理、2プレーン・モード、及びオフセット・モードを許可する。一方、BD-Jモジュール1745はアプリケーション・プログラムに対し、BD-Live処理、すなわち外部ネットワーク150との接続を禁止する。
 比較された二つのイメージ再生状態値が状態1と状態2との組み合わせ以外を示すとき、BD-Jモジュール1745はアプリケーション・マネージャ1745Aを利用して、仮想マシン1745Bにアプリケーション・プログラムを全て強制終了させる。すなわち、図7に破線の矢印で示されているように、再生装置110が設定状態を状態1と状態2との間で切り換えるときは、BD-Jモジュール1745は仮想マシン1745Bにアプリケーション・プログラムを終了させなくてもよい。一方、図7に実線の矢印で示されているように、再生装置110が設定状態を、状態1と状態3との間、状態1と状態4との間、状態2と状態3との間、状態2と状態4との間、又は状態3と状態4との間で切り換えるとき、BD-Jモジュール1745は仮想マシン1745Bにアプリケーション・プログラムを強制終了させる。そのとき、終了対象のアプリケーション・プログラムは、タイトル・バウンド、ディスク・バウンド、及びディスク・アンバウンドのいずれにかかわらず、全てである。従って、ワークメモリ1745Cからはxletプログラムと、それらの利用するパラメータとが全て削除される。
 更に、比較された二つのイメージ再生状態値が状態3と状態4との組み合わせ以外を示すとき、すなわち、状態1と状態3、状態1と状態4、状態2と状態3、又は状態2と状態4のいずれかの組み合わせを示すとき、BD-Jモジュール1745は再生部1660に、イメージ・データを格納するためのメモリ領域を変更させる。一方、比較された二つのイメージ再生状態値が状態3と状態4との組み合わせを示すとき、BD-Jモジュール1745は再生部1660にBD-Live処理用のキャッシュ領域を確保させ、又は解放させる。そのキャッシュ領域には、外部ネットワーク150上のサーバ装置160からダウンロードされたブラウザ画面等のイメージ・データが保持される。
 BD-Jモジュール1745は、BD-Jオブジェクトの示すイメージ再生状態値620に応じて、イメージ・データの再生処理について、再生部1660にオフセット・モードと2プレーン・モードとのいずれかを指定する。具体的には、イメージ再生状態値620が状態2を示すときは、BD-Jモジュール1745は再生部1660にオフセット・モードを指定する。一方、イメージ再生状態値620が状態3又は状態4を示すとき、BD-Jモジュール1745は、オフセット・モードと2プレーン・モードとのうち、アプリケーション・プログラムによって選択された方を再生部1660に指定する。
 BD-Jモジュール1745は、BD-Jオブジェクトの示すイメージ再生状態値620に応じて上記のように設定状態を変更したとき、AV再生ライブラリ1746に、そのイメージ再生状態値620で元のイメージ再生状態値を更新させる。
 AV再生ライブラリ1746は、HDMVモジュール1744又はBD-Jモジュール1745からの指示に従ってAV再生処理又はプレイリスト再生処理を指示する。「AV再生処理」とは、光ディスクの再生装置として基本的な処理であって、一般的なDVDプレーヤ及びCDプレーヤによる再生処理を踏襲したものをいう。具体的には、AV再生処理は、再生処理の開始と停止、一時停止とその解除、静止画機能の解除、早送りと巻戻し、音声の切り換え、字幕の切り換え、及びアングルの切り換えを含む。一方、「プレイリスト再生処理」は主に、静的シナリオ情報SSに則ったタイトルの再生処理をいう。すなわち、プレイリスト再生処理では、AV再生ライブラリ1746はカレント・プレイリスト情報に従ってカレントAVクリップを選択し、仮想ファイルシステム1703にそのカレントAVクリップを再生部1660へ供給させる。プレイリスト再生処理はその他に、仮想パッケージの構築処理、及び、仮想パッケージから各シナリオ・メモリ1741、1742へのシナリオ情報DS、SSの転送処理を含む。AV再生処理とプレイリスト再生処理とに必要な機能は、アプリケーション・プログラム・インタフェース(API)としてAV再生ライブラリ1746に実装されている。AV再生ライブラリ1746は、指示された処理に応じたAPIを実行することにより、仮想ファイルシステム1703を通して、BD-ROMドライブ111、ローカル・ストレージ1610、及び再生部1660等へ命令COMを送る。それにより、AV再生ライブラリ1746は各要素に、指示された処理を実行させる。
 カレント・プレイリスト情報が3Dプレイリスト・ファイルに属するとき、AV再生ライブラリ1746は、静的シナリオ情報SS内のクリップ情報ファイルから3Dメタデータ1103を読み出して再生部1660へ送出する。
 AV再生ライブラリ1746はレジスタ1746Aを含む。レジスタ1746Aは、再生装置110と表示装置120との現時点での設定状態を表すパラメータ、各装置に設定可能な状態を表すパラメータ、及び各装置の初期設定を表すパラメータを格納する。現時点での設定状態を表すパラメータは、復号対象のオーディオ・ストリームとPGストリームとの各ストリーム選択番号、カレントのプレイリスト情報とプレイアイテム情報との各識別子、及び現時点でのイメージ再生状態値を含む。設定可能な状態を表すパラメータは、選択可能な音声/字幕の言語の種類、及びオーディオ・データの符号化方式の種類を含む。
 AV再生ライブラリ1746はHDMVモジュール1744又はBD-Jモジュール1745からの指示に従ってレジスタ1746Aを参照する。それにより、各プレイアイテム情報のストリーム選択テーブルに登録されたエレメンタリ・ストリームの中から、再生装置110と表示装置120との両方で再生可能なものが検出される。AV再生ライブラリ1746は更に、検出されたエレメンタリ・ストリームの中で最小のストリーム選択番号を持つものを選択し、そのストリーム選択番号をレジスタ1746Aに格納する。それと共に、そのストリーム選択番号の示すエレメンタリ・ストリームの属性のうち、符号化形式及び言語の種類等がクリップ情報ファイル内のストリーム属性情報から読み出されてレジスタ1746Aに格納される。AV再生ライブラリ1746は更に、選択されたエレメンタリ・ストリームのPIDを再生部1660に指定する。そのとき、AV再生ライブラリ1746は、符号化形式の種類等、選択されたエレメンタリ・ストリームの復号処理に必要な情報をレジスタ1746Aから再生部1660へ転送する。
 <再生部1660の構成>
 図18は再生部1660の機能ブロック図である。図18を参照するに、再生部1660は、バス・インタフェース1801、一対のトラック・バッファ1802A、1802B、一対のデマルチプレクサ1803A、1803B、プライマリ・ビデオ・デコーダ1804A、セカンダリ・ビデオ・デコーダ1804B、PGデコーダ1804C、IGデコーダ1804D、プライマリ・オーディオ・デコーダ1804E、セカンダリ・オーディオ・デコーダ1804F、イメージ・デコーダ1804G、レンダリング・エンジン1805、プライマリ・ビデオ・プレーン・メモリ1806A、セカンダリ・ビデオ・プレーン・メモリ1806B、イメージ・メモリ1810、加算部1807、及びミキサ1808を含む。イメージ・メモリ1810は、PGプレーン・メモリ1806C、IGプレーン・メモリ1806D、バックグラウンド(BG)プレーン・メモリ1806E、及びイメージ・データ領域1811を含む。これらの機能部は単一のチップに実装されている。その他に、いくつかの機能部が異なるチップに実装されてもよい。
 バス・インタフェース1801は、バス1640を通して再生部1660内の各機能部を、BD-ROMドライブ111、ローカル・ストレージ1610、及び制御部1650に通信可能に接続する。バス・インタフェース1801は特に、仮想ファイルシステム1703からの指示に従って、カレントAVクリップMCL、SCLをBD-ROMドライブ111又はローカル・ストレージ1610から各トラック・バッファ1802A、1802Bへ転送する。ここで、メインパス情報で規定されるAVクリップ(以下、メインパスAVクリップという。)MCLは第1トラック・バッファ1802Aへ送出され、サブパス情報で規定されるAVクリップ(以下、サブパスAVクリップという。)SCLは第2トラック・バッファ1802Bへ送出される。
 一対のトラック・バッファ1802A、1802Bはいずれも、再生部1660に内蔵の先入れ先出し(FIFO)メモリである。各トラック・バッファ1802A、1802Bはバス・インタフェース1801からAVクリップMCL、SCLを読み込んで一時的に保持する。
 第1デマルチプレクサ1803Aは、メインパスAVクリップMCLから復号されるべきエレメンタリ・ストリームのPIDをAV再生ライブラリ1746から受信する。一方、第1デマルチプレクサ1803Aは第1トラック・バッファ1802AからメインパスAVクリップMCLをソースパケット単位で読み出し、各ソースパケットからTSパケットを取り出す。第1デマルチプレクサ1804Aは更に、そのTSパケットのTSヘッダからPIDを読み取って復号対象のエレメンタリ・ストリームのPIDと照合する。両者が一致したとき、第1デマルチプレクサ1804AはそのTSパケットを抽出する。こうして収集されたTSパケットからPESパケットが復元され、復号対象のエレメンタリ・ストリームのPIDに応じて6種類のデコーダ1804A-Fのいずれかへ送出される。例えばTSパケットのPIDが0x1011であるとき、そのTSパケットから復元されたPESパケットはプライマリ・ビデオ・デコーダ1804Aへ送出される。PIDが0x1B00から0x1B1Fまでのいずれかであるとき、PESパケットはセカンダリ・ビデオ・デコーダ1804Bへ送出される。PIDが0x1100から0x111Fまでのいずれかであるとき、PESパケットはプライマリ・オーディオ・デコーダ1804Eへ送出される。PIDが0x1A00から0x1A1Fまでのいずれかである場合、PESパケットはセカンダリ・オーディオ・デコーダ1804Fへ送出される。PIDが0x1200から0x121Fまでのいずれかである場合、PESパケットはPGデコーダ1804Cへ送出される。PIDが0x1400から0x141Fまでのいずれかである場合、PESパケットはIGデコーダ1804Dへ送出される。
 同様に、第2デマルチプレクサ1803Bは、サブパスAVクリップSCLから復号されるべきエレメンタリ・ストリームのPIDをAV再生ライブラリ1746から受信する。一方、第2デマルチプレクサ1803Bは、第2トラック・バッファ1802BからサブパスAVクリップSCLをソースパケット単位で読み出し、各ソースパケットからTSパケットを取り出す。第2デマルチプレクサ1803Bは更に、TSパケットのうち、復号対象のエレメンタリ・ストリームのPIDと同じPIDを持つものからPESパケットを復元し、そのPIDに応じて6種類のデコーダ1804A-Fのいずれかへ送出する。特にTSパケットのPIDが0x1012であるとき、そのTSパケットから復元されたPESパケットはプライマリ・ビデオ・デコーダ1804Aへ送出される。
 ここで、各AVクリップMCL、SCLは一般に、アプリケーション・プログラムによって動的シナリオ情報として利用されるべき情報を含む。そのような情報には例えば、IGストリームに含まれるナビゲーション・ボタン(Navigation Button)等のGUI用グラフィック部品に関する情報が含まれる。各デマルチプレクサ1803A、1803Bは各AVクリップMCL、SCLからそのような情報を分離したとき、バス・インタフェース1801を通してその情報を制御部1650内の動的シナリオ・メモリ1741へ転送する。
 プライマリ・ビデオ・デコーダ1804Aは、第1デマルチプレクサ1803Aからはレフトビュー・ビデオ・ストリームのPESパケットを受信し、第2デマルチプレクサ1803Bからはライトビュー・ビデオ・ストリームのPESパケットを受信する。それらのPESパケットはプライマリ・ビデオ・デコーダ1804A内のバッファ・メモリに蓄えられる。それと並行して、プライマリ・ビデオ・デコーダ1804Aはそのバッファ・メモリからPESパケットを読み出してPESヘッダを取り除き、残りのPESペイロードからピクチャを取り出して復号する。プライマリ・ビデオ・デコーダ1804Aは更に、そのPESヘッダに記述されたPTSの示す時刻に、非圧縮のピクチャをプライマリ・ビデオ・プレーン・メモリ1806Aに書き込む。3D映像の再生処理では、プライマリ・ビデオ・デコーダ1804Aはレフトビューとライトビューとの各ピクチャを交互に復号してプライマリ・ビデオ・プレーン・メモリ1806Aに書き込む。
 セカンダリ・ビデオ・デコーダ1804Bはプライマリ・ビデオ・デコーダ1804Aと同様な構成を含む。セカンダリ・ビデオ・デコーダ1804Bはその構成を利用して、各デマルチプレクサ1803A、1803Bからセカンダリ・ビデオ・ストリームのPESパケットを受信し、そのPESパケットからピクチャを取り出して復号する。セカンダリ・ビデオ・デコーダ1804Bは更に、そのPESパケットに記述されたPTSの示す時刻に、非圧縮のピクチャをセカンダリ・ビデオ・プレーン・メモリ1806Bに書き込む。
 PGデコーダ1804Cは、各デマルチプレクサ1803A、1803BからPGストリームのPESパケットを受信し、そのPESパケットからイメージ・データを取り出して復号する。PGデコーダ1804Cは更に、そのPESパケットに記述されたPTSの示す時刻に、非圧縮のイメージ・データ、すなわちPGプレーンをPGプレーン・メモリ1806Cに書き込む。
 IGデコーダ1804Dは、各デマルチプレクサ1803A、1803BからIGストリームのPESパケットを受信し、そのPESパケットからイメージ・データを取り出して復号する。IGデコーダ1804Dは更に、そのPESパケットに記述されたPTSの示す時刻に、非圧縮のイメージ・データ、すなわちIGプレーンをIGプレーン・メモリ1806Dに書き込む。IGデコーダ1804DはHDMVモードで利用され、BD-Jモードでは利用されない。
 プライマリ・オーディオ・デコーダ1804Eは、各デマルチプレクサ1803A、1803Bからプライマリ・オーディオ・ストリームのPESパケットを受信して内部のバッファ・メモリに蓄える。それと並行して、プライマリ・オーディオ・デコーダ1804Eはそのバッファ・メモリからPESパケットを読み出して、そのPESパケットからPESヘッダを取り除く。プライマリ・オーディオ・デコーダ1804Eは更に、残りのPESペイロードからLPCM方式のオーディオ・データを取り出して復号する。プライマリ・オーディオ・デコーダ174Eは続いて、そのPESパケットに記述されたPTSの示す時刻に、非圧縮のオーディオ・データをミキサ1808へ送出する。
 セカンダリ・オーディオ・デコーダ1804Fはプライマリ・ビデオ・デコーダ1804Eと同様な構成を含む。セカンダリ・オーディオ・デコーダ1804Fはその構成を利用して各デマルチプレクサ1803A、1803Bからセカンダリ・オーディオ・ストリームのPESパケットを受信し、そのPESパケットからLPCM方式のオーディオ・データを取り出して復号する。セカンダリ・オーディオ・デコーダ1804Fは更に、そのPESパケットに記述されたPTSの示す時刻に、非圧縮のオーディオ・データをミキサ1808へ送出する。
 イメージ・デコーダ1804Gは、制御部1650内のBD-Jモジュール1745からイメージ・データGDを受信して復号する。イメージ・デコーダ1804Gは更に、非圧縮のイメージ・データをイメージ・データ領域1811に書き込む。更にBD-Live処理では、イメージ・デコーダ1804Gはイメージ・データ領域1811の一部をキャッシュ領域に利用する。イメージ・デコーダ1804Gは、サーバ装置160からダウンロードされたブラウザ画面等のイメージ・データを復号して、そのキャッシュ領域に保存する。キャッシュ領域には特に、現時点でのイメージ・データとその直前のイメージ・データとの両方が保存される。
 各ビデオ・プレーン・メモリ1806A、1806Bは、再生部1660に内蔵のメモリ素子に確保された領域であり、二次元配列を含む。その配列のサイズはビデオ・フレームの解像度に等しい。配列の各要素には一組のピクセル・データが格納される。ピクセル・データは色座標値とα値(不透明度)との組み合わせから成る。色座標値はRGB値又はYCrCb値で表される。従って、その配列には一枚のビデオ・プレーンが格納可能である。3D映像の再生処理では、プライマリ・ビデオ・プレーン・メモリ1806Aの中に、同じサイズの二次元配列が二つ確保される。それらの配列の一方にはレフトビュー・ビデオ・プレーンが書き込まれ、他方にはライトビュー・ビデオ・プレーンが書き込まれる。
 イメージ・メモリ1810は、再生部1660に内蔵のメモリ素子に確保された領域である。その領域の一部が、PGプレーン・メモリ1806C、IGプレーン・メモリ1806D、及びBGプレーン・メモリ1806Eのそれぞれに割り当てられ、残りの領域がイメージ・データ領域1811に割り当てられる。各プレーン・メモリ1806C、1806D、1806Eは、同じサイズの二次元配列を二つずつ含む。配列の各要素には一組のピクセル・データが格納される。ピクセル・データは色座標値とα値との組み合わせから成る。色座標値はRGB値又はYCrCb値で表される。各プレーン・メモリ1806C、1806D、1806Eでは、二つの配列の一方に現時点でのプレーンが保持されているうちに、他方にその次のプレーンが書き込まれる。それにより、いわゆるダブル・バッファリングが実現可能であるので、各プレーンから再生される映像ではちらつきが抑えられる。尚、異なるプレーン・メモリ間では配列のサイズは一般に異なる。IGプレーン・メモリ1806Dに割り当てられるべき領域の容量はBD-Jモジュール1745によって指示され、特に、BD-Jオブジェクトの示すイメージ再生状態値620に応じて変更される。具体的には、図7に示されている状態3と状態4とではIGプレーン・メモリ1806Dの容量が、状態1と状態2とでの値の倍に設定される。
 レンダリング・エンジン1805は、Java2D又はOPEN-GL等のグラフィックス処理用のAPIを備えている。レンダリング・エンジン1805は特にBD-Jモジュール1745によってグラフィックス処理に利用される。具体的には、BD-Jモジュール1745はまず、イメージ・データ領域1811にイメージ・データGDを転送する。BD-Jモジュール1745は次に、アプリケーション・プログラムに従ってレンダリング・エンジン1805に指示を送る。レンダリング・エンジン1805はその指示に従い、イメージ・データ領域1811内のイメージ・データGDにα合成(Porter-Duff演算)等のグラフィックス処理を施す。それにより、レンダリング・エンジン1805はイメージ・データGDから、グラフィックス映像を表すイメージ・プレーンと、背景の映像を表すBGプレーンとを生成する。レンダリング・エンジン1805は更に、イメージ・プレーンをIGプレーン・メモリ1806Dに書き込み、BGプレーンをBGプレーン・メモリ1806Eに書き込む。更に、BD-Jモジュール1745によって2プレーン・モードによる3D映像の再生処理が指示されたとき、レンダリング・エンジン1805はイメージ・データGDから、レフトビューとライトビューとの両方のイメージ・プレーンを生成してそれらをIGプレーン・メモリ1806Dに書き込む。
 加算部1807は、2D映像の再生処理では、各プレーン・メモリ1806A-Eに書き込まれたプレーンをそのまま、一枚のビデオ・フレームに合成する。3D映像の再生処理では、加算部1807はまず、PGプレーン、IGプレーン、イメージ・プレーン、又はBGプレーンの少なくともいずれかに対してクロッピング処理を行い、そのプレーンからレフトビューとライトビューとのプレーンの対を生成する。加算部1807はそのとき、BD-Jモジュール1745の指示に従って、クロッピング処理を行うべきプレーンを決定する。PGプレーンとIGプレーンとに対するクロッピング処理では、3Dメタデータ1103の示すオフセット値が利用される。イメージ・プレーンとBGプレーンとに対するクロッピング処理では、BD-Jモジュール1745から渡されたオフセット値が利用される。加算部1807は次に、レフトビュー・ビデオ・プレーンと、レフトビュー・PGプレーンと、レフトビュー・IGプレーン又はイメージ・プレーンと、レフトビュー・BGプレーンとを一枚のレフトビュー・ビデオ・フレームに合成する。同様に、加算部1807はライトビューの各プレーンを一枚のライトビュー・ビデオ・フレームに合成する。ここで、2プレーン・モードでは加算部1807は、イメージ・プレーンをビデオ・フレームに合成するタイミングを、BD-Jモジュール1745からの描画命令の示すタイミングに合わせる。それにより、レフトビューの各プレーンはレフトビュー・ビデオ・フレームに正しく合成され、ライトビューの各プレーンはライトビュー・ビデオ・フレームに正しく合成される。こうして正しく合成された各ビデオ・フレームを、加算部1807はビデオ・データVDに変換してHDMI送信部1670へ送出する。
 ミキサ1808は、プライマリ・オーディオ・デコーダ1804Eとセカンダリ・オーディオ・デコーダ1804Fとのそれぞれから受信される非圧縮のオーディオ・データを重ね合わせて合成音のオーディオ・データADを作成する。ミキサ1808は更に、そのオーディオ・データADをHDMI送信部1670へ送出する。
 <状態1-4間の切り換えに伴うイメージ・メモリ1810内の領域の変更>
 図19は、イメージ・メモリ1810内に確保された、IGプレーン・メモリ領域、PGプレーン・メモリ領域、BGプレーン・メモリ領域、及びイメージ・データ領域の一例を示す模式図である。図19に示されている例では、イメージ・メモリ1810の総容量は81.5MBである。
 BD-Jオブジェクトの示すイメージ再生状態値620が状態1又は状態2を示すとき、BD-Jモジュール1745は、IGプレーン・メモリ領域1901に16MBを割り当て、PGプレーン・メモリ領域1902とBGプレーン・メモリ領域1903とに2MBずつを割り当て、イメージ・データ領域1904に残りの61.5MBを割り当てる。BD-Jモジュール1745は更に、イメージ・データ領域1904のうち、16MBの領域にBD-Live用のキャッシュ領域1905を確保する。特にIGプレーン・メモリ領域1901は、その容量が16MBであるので、解像度1920×1080(=8MB)のイメージ・プレーンを二枚まで格納できる。従って、状態2ではオフセット・モードにより、解像度1920×1080のイメージ・プレーンの表すグラフィックス映像に奥行き感を与えることができる。
 BD-Jオブジェクトの示すイメージ再生状態値620が状態3又は状態4を示すとき、BD-Jモジュール1745は、IGプレーン・メモリ領域1911に32MBを割り当て、PGプレーン・メモリ領域1912とBGプレーン・メモリ領域1913とに2MBずつを割り当て、イメージ・データ領域1914に残りの45.5MBを割り当てる。特にIGプレーン・メモリ領域1901は、その容量が32MBであるので、解像度1920×1080(=8MB)のイメージ・プレーンを四枚まで格納できる。従って、状態3と状態4とでは2プレーン・モードにより、解像度1920×1080のイメージ・プレーンの表すグラフィックス映像に奥行き感と立体感とを与えることができる。特に2プレーン・モードはオフセット・モードよりも立体感の表現力が豊かであるので、状態3と状態4とでは状態2よりも、例えばメニューの表面の凹凸及び曲面が更にリアルに表現可能である。
 BD-Jモジュール1745は、例えば再生装置110の設定状態を状態2から状態4へ切り換えるとき、まず、イメージ・データ領域1904からキャッシュ領域1905を解放する。BD-Jモジュール1745は次に、その解放によって生じた空き領域をIGプレーン・メモリ領域1911に割り当てる。こうして、IGプレーン・メモリ領域の容量が16MBから32MBへ倍増する。従って、2プレーン・モードが利用可能になる。しかし、その反面、キャッシュ領域1905が消失するので、ネットワーク接続によるBD-Live機能が利用不可になる。逆に再生装置110の設定状態が状態4から状態2へ切り換えられるとき、まず、32MBのIGプレーン・メモリ領域1911から16MBの領域が解放される。次に、その解放によって生じた空き領域がイメージ・データ領域1904に割り当てられ、キャッシュ領域1905として確保される。こうして、ネットワーク接続によるBD-Live機能が利用可能になる。しかし、その反面、IGプレーン・メモリ領域の容量が32MBから16MBへ半減するので、2プレーン・モードが利用不可になる。
 状態1と状態4との切り換え、状態1と状態3との切り換え、及び状態2と状態3との切り換えでも同様に、16MBのキャッシュ領域の解放と確保、及び、イメージ・データ領域とIGプレーン・メモリ領域との間での16MBの領域の交換が行われる。それにより、2プレーン・モードとBD-Live機能とが選択的に利用可能になる。
 BD-Jオブジェクトの示すイメージ再生状態値620が状態3を示すとき、図19には示されていないが、BD-Jモジュール1745は45.5MBのイメージ・データ領域1914の一部にBD-Live用のキャッシュ領域を確保する。但し、そのキャッシュ領域の容量は、状態1又は状態2でのキャッシュ領域1905の容量16MBよりも小さく制限される。更に、キャッシュ領域が確保されるので、イメージ・データ領域1914の残りの部分は45.5MBよりも小さい。従って、状態3と他の状態との切り換えでは、イメージ・データ領域とキャッシュ領域との各容量が変更される。それ故、状態1、状態2、又は状態4で利用されるアプリケーション・プログラムのうち、45.5MBのイメージ・データ領域と16MBのキャッシュ領域とを動作条件とするものは、状態3では動作できない。しかし、45.5MBよりも小さいイメージ・データ領域と16MBよりも小さいキャッシュ領域とでも動作可能であるアプリケーション・プログラムは、BD-Live機能を実現でき、かつ、32MBのIGプレーン・メモリ領域1911を利用した2プレーン・モードを実行できる。それにより、そのアプリケーション・プログラムは例えば、自身の構築するGUI画面と、外部ネットワークからダウンロードされたブラウザ画面との両方を同時に表示装置120に表示させることができ、かつ、それら両方の奥行き感と立体感とを更に向上させることができる。
 以上のとおり、再生装置110はアプリケーション・プログラムに四種類の状態1-4を動的に切り換えさせる。それにより、再生装置110はイメージ・メモリの総容量を一定に維持したまま、アプリケーション・プログラムに2プレーン・モードとBD-Live機能とを選択的に利用させることができる。再生装置110は更に、容量の縮小されたイメージ・データ領域とキャッシュ領域とでも動作可能であるアプリケーション・プログラムに対しては、BD-Live機能と2プレーン・モードとを同時に利用させることができる。
 <2プレーン・モードでのレンダリング・エンジン1805の動作>
 図20は、オフセット・モードと2プレーン・モードとのそれぞれでIGプレーン・メモリ領域1911に格納されたイメージ・プレーンを表す模式図である。オフセット・モードでは2D映像の再生処理と同様に、レンダリング・エンジン1805は、1920×1080(=8MB)のイメージ・プレーン2001を一枚、IGプレーン・メモリ領域1911に書き込む。従って、レンダリング・エンジン1805は、イメージ・プレーン2001用のハンドルを一つ備えていればよい。一方、2プレーン・モードでは、レンダリング・エンジン1805は、1920×1080のイメージ・プレーンを二枚、IGプレーン・メモリ領域1911に書き込む。そのうちの一枚はレフトビュー・イメージ・プレーン2003であり、もう一枚はライトビュー・イメージ・プレーン2004である。そのとき、レンダリング・エンジン1805は、二枚のイメージ・プレーン2003、2004を論理的に水平方向に連結して、水平方向のピクセル数が二倍のイメージ・プレーン、すなわち3840×1080のイメージ・プレーン2002を構成し、それに対してハンドルを一つ与える。それにより、レンダリング・エンジン1805はアプリケーション・プログラムにレフトビュー・イメージ・プレーン2003とライトビュー・イメージ・プレーン2004とを、一枚のイメージ・プレーン2002の左半分と右半分として操作させる。例えば、BD-Jモジュール1745からの命令がイメージ・プレーン2002の左半分への描画を示すとき、レンダリング・エンジン1805はレフトビュー・イメージ・プレーン2003をIGプレーン・メモリ領域1911に書き込む。一方、BD-Jモジュール1745からの命令がイメージ・プレーン2002の右半分への描画を示すとき、レンダリング・エンジン1805はライトビュー・イメージ・プレーン2004をIGプレーン・メモリ領域1911に書き込む。更に、BD-Jモジュール1745からの命令がイメージ・プレーン2002の全体への描画を示すとき、レンダリング・エンジン1805はレフトビュー・イメージ・プレーン2003とライトビュー・イメージ・プレーン2004との両方をIGプレーン・メモリ領域1911に書き込んでもよい。こうして、レンダリング・エンジン1805はアプリケーション・プログラムに、オフセット・モードと2プレーン・モードとのいずれにかかわらず、イメージ・プレーンを一つのハンドルで操作させることができる。
 <加算部1807による合成処理>
 図21は、状態1、すなわち2D映像の再生処理における加算部1807の機能ブロック図である。状態1では、加算部1807は四つの加算器2101-2104を含む。第1加算器2101はプライマリ・ビデオ・プレーン2110にセカンダリ・ビデオ・プレーン2111を合成して第2加算器2102へ送出する。第2加算器2102は、第1加算器2101から受けたビデオ・プレーンにBGプレーン2112を合成して第3加算器2103へ送出する。第3加算器2103は、第2加算器2102から受けたビデオ・プレーンにPGプレーン2113を合成して第4加算器2104へ送出する。第4加算器2104は、第3加算器2103から受けたビデオ・プレーンにイメージ・プレーン又はIGプレーン2114を合成する。第4加算器2104は更に、合成後のビデオ・プレーンを一枚のビデオ・フレームとしてビデオ・データVDに変換し、HDMI送信部1670へ送出する。
 図22は、状態2における加算部1807の機能ブロック図である。状態2では、加算部1807は、スイッチ2200、三つの加算器2201-2203、及び三つのクロッピング処理器2211-2213を含む。以下の説明では便宜上、BD-Jモードを想定する。尚、同様な説明はHDMVモードにも当てはまる。
 スイッチ2200はレフトビュー・ビデオ・プレーン2220とライトビュー・ビデオ・プレーン2221とをPTSの順に第1加算器2201へ送出する。レフトビュー・ビデオ・プレーン2220とライトビュー・ビデオ・プレーン2221とでPTSが等しいときは、スイッチ2200はレフトビュー・ビデオ・プレーン2220をライトビュー・ビデオ・プレーン2221よりも先に送出する。尚、図22には示されていないが、セカンダリ・ビデオ・プレーンにもレフトビューとライトビューとの二種類があるとき、同様なスイッチによってそれらが交互に加算部1807に読み込まれ、スイッチ2200から送出されるビデオ・プレーンに合成される。
 第1加算器2201は、スイッチ2200からはレフトビュー・ビデオ・プレーン2220とライトビュー・ビデオ・プレーン2221とを交互に受ける。一方、第1クロッピング処理器2211からはレフトビューとライトビューとのBGプレーンを交互に受ける。第1加算器2201はレフトビュー・ビデオ・プレーン2220にはレフトビューBGプレーンを合成し、ライトビュー・ビデオ・プレーン2221にはライトビューBGプレーンを合成する。合成後の各ビデオ・プレーンは交互に第2加算器2202へ送出される。
 第2加算器2202は、第1加算器2201からはレフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとを交互に受ける。一方、第2クロッピング処理器2212からはレフトビューとライトビューとのPGプレーンを交互に受ける。第2加算器2202はレフトビュー・ビデオ・プレーンにはレフトビューPGプレーンを合成し、ライトビュー・ビデオ・プレーンにはライトビューPGプレーンを合成する。合成後の各ビデオ・プレーンは交互に第3加算器2203へ送出される。
 第3加算器2203は、第2加算器2202からはレフトビュー・ビデオ・プレーンとライトビュー・ビデオ・プレーンとを交互に受ける。一方、第3クロッピング処理器2213からはレフトビューとライトビューとのイメージ・プレーンを交互に受ける。第3加算器2203はレフトビュー・ビデオ・プレーンにはレフトビュー・イメージ・プレーンを合成し、ライトビュー・ビデオ・プレーンにはライトビュー・イメージ・プレーンを合成する。第3加算器2203は更に、合成後のビデオ・プレーンを一枚のビデオ・フレームとしてビデオ・データVDに変換し、HDMI送信部1670へ送出する。
 第1クロッピング処理器2211は、BD-Jモジュール1745から渡されたオフセット値を利用して、BGプレーン2222に対してクロッピング処理を行う。それにより、BGプレーン2222はレフトビューBGプレーンとライトビューBGプレーンとに交互に変換される。
 第2クロッピング処理器2212は、3Dメタデータ1103の示すオフセット値を利用して、PGプレーン2223に対してクロッピング処理を行う。それにより、PGプレーン2223はレフトビューPGプレーンとライトビューPGプレーンとに交互に変換される。
 第3クロッピング処理器2213は、BD-Jモジュール1745から渡されたオフセット値を利用して、イメージ・プレーン2224に対してクロッピング処理を行う。それにより、イメージ・プレーン2224はレフトビュー・イメージ・プレーンとライトビュー・イメージ・プレーンとに交互に変換される。
 図23は、第2クロッピング処理器2212によるPGプレーンGPに対するクロッピング処理を示す模式図である。図23を参照するに、PGプレーンGPは、字幕“I love you”を表すグラフィックス要素STを含む。そのグラフィックス要素ST以外の部分ではα値が0に設定され、すなわち透明である。
 第2クロッピング処理器2212はまず、図12に示されている3Dメタデータ1103の中から、PGストリームのPID=0x1200に対応付けられたテーブル1201を検索する。第2クロッピング処理器2212は次に、そのテーブル1201の中から、現時点で有効なオフセット・エントリ1204を検索して、そのオフセット値1203を取得する。
 第2クロッピング処理器2212は次に、プライマリ・ビデオ・デコーダ1804Eにアクセスして、PGプレーンGPLの合成先のビデオ・プレーンがレフトビューとライトビューとのいずれを表すか、判別する。第2クロッピング処理器2212は続いて、PGプレーンGP内でグラフィックス要素STをピクセル数PXだけ水平方向に変位させる。そのピクセル数PXはオフセット値1203に等しい。一方、変位の向きは判別の結果によって異なる。
 合成先のビデオ・プレーンがレフトビューを表すとき、オフセット値1203が正であればグラフィックス要素STは右に変位し、負であれば左に変位する。具体的には、オフセット値1203が正であるときは、ピクセル数PXに等しい幅の透明な帯B1Lが元のPGプレーンGPの左側に付加され、同じ幅の透明な帯B1Rが元のPGプレーンGPの右端部から除去される。それにより、元のPGプレーンGPはレフトビューPGプレーンLGPに書き換えられる。レフトビューPGプレーンLGPの左端とグラフィックス要素STとの間の距離DLは、元のPGプレーンGPの左端とグラフィックス要素STとの間の距離D0よりもピクセル数PXだけ長い。すなわち、グラフィックス要素STの位置が元の位置よりも右に移動する。オフセット値1203が負であるときはその逆である。
 合成先のビデオ・プレーンがライトビューを表すとき、オフセット値1203が正であればグラフィックス要素STは左に変位し、負であれば右に変位する。具体的には、オフセット値1203が正であるときは、ピクセル数PXに等しい幅の透明な帯B2Lが元のPGプレーンGPの左端部から除去され、同じ幅の透明な帯B2Rが元のPGプレーンGPの右側に付加される。それにより、元のPGプレーンGPはライトビューPGプレーンRGPに書き換えられる。ライトビューPGプレーンRGPの左端とグラフィックス要素STとの間の距離DRは、元のPGプレーンGPの左端とグラフィックス要素STとの間の距離D0よりもピクセル数PXだけ短い。すなわち、グラフィックス要素STの位置が元の位置よりも左に移動する。オフセット値1203が負であるときはその逆である。
 こうして、第2クロッピング処理器2212は一枚のPGプレーンGPからレフトビューPGプレーンLGPとライトビューPGプレーンRGPとを生成し、交互に第2加算器2202へ送出する。それらの間ではグラフィックス要素STの水平方向の位置が、ピクセル数PXの二倍、すなわちオフセット値1203の二倍だけ異なる。この変位が両眼視差として知覚されることにより、視聴者には字幕“I love you”が、画面とは異なる奥行きに見える。第1クロッピング処理器2211はBGプレーン2222に対して同様にクロッピング処理を行い、第3クロッピング処理器2213はイメージ・プレーン2224に対して同様にクロッピング処理を行う。
 図24は、状態3と状態4とにおける加算部1807の機能ブロック図である。状態3と状態4とでは、加算部1807は、図22に示されている機能部に加え、二つのモード・スイッチ2411、2412を含む。
 第1モード・スイッチ2411はBD-Jモジュール1745からの指示に従い、オフセット・モードと2プレーン・モードとでレフトビュー・イメージ・プレーン2420の送出先を切り換える。オフセット・モードでは、第1モード・スイッチ2411はレフトビュー・イメージ・プレーン2420を第3クロッピング処理器2213へ送出する。それにより、レフトビュー・イメージ・プレーン2420からレフトビューとライトビューとのイメージ・プレーンの対が生成される。2プレーン・モードでは、第1モード・スイッチ2411はレフトビュー・イメージ・プレーン2420を第2モード・スイッチ2412へ送出する。
 第2モード・スイッチ2412は、スイッチ2200に連動して、レフトビュー・イメージ・プレーン2420とライトビュー・イメージ・プレーン2421とを交互に第3加算器2203へ送出する。特に、スイッチ2200がレフトビュー・ビデオ・プレーン2220を送出するときは、第2モード・スイッチ2412はレフトビュー・イメージ・プレーン2420を送出し、スイッチ2200がライトビュー・ビデオ・プレーン2221を送出するときは、第2モード・スイッチ2412はライトビュー・イメージ・プレーン2421を送出する。それにより、第3加算器2203はビデオ・プレーンとイメージ・プレーンとを正しく合成できる。
 <BD-Jモジュール1745による再生装置110の設定状態の切り換え処理>
 図25は、BD-Jモジュール1745による再生装置110の設定状態の切り換え処理のフローチャートである。以下の説明では便宜上、BD-ROMドライブ111に新たなBD-ROMディスクが挿入されるときにおけるタイトルの切り換え処理を想定する。尚、BD-ROMドライブ111にBD-ROMディスク100が挿入されたままの状態で、ユーザの操作又はアプリケーション・プログラムの要求に応じて行われるタイトルの切り換え処理も同様である。
 ステップS2501:操作部1620がBD-ROMドライブ111へのBD-ROMディスク100の挿入を検出し、その旨を示す通知INTをユーザ操作検知モジュール1702へ送る。ユーザ操作検知モジュール1702はその通知INTに応じてモード管理モジュール1743へ操作信号UOを送る。モード管理モジュール1743ではディスパッチャ1743Aがその操作信号UOに応じ、AV再生ライブラリ1746を通して仮想ファイルシステム1703にインデックス・ファイルIFの読み出しを要求する。続いて、モード管理モジュール1743はそのインデックス・ファイルIF内のインデックス・テーブルのうち、項目「ファーストプレイ」301を参照して、その項目で指定されているオブジェクトを特定する。ここで、そのオブジェクトがBD-Jオブジェクトである場合を想定する。その場合、モード管理モジュール1743はAV再生ライブラリ1746を通して仮想ファイルシステム1703へ指示を送り、そのBD-Jオブジェクトを動的シナリオ・メモリ1741へ転送させる。一方、モード管理モジュール1743はカレントの動的シナリオ情報DSをBD-Jモジュール1745へ割り当てる。それに応じて、BD-Jモジュール1745は、動的シナリオ・メモリ1741内の動的シナリオ情報DSからBD-Jオブジェクトを読み出す。
 ステップS2502:BD-Jモジュール1745はAV再生ライブラリ1746から現時点でのイメージ再生状態値を読み出し、BD-Jオブジェクトの示すイメージ再生状態値620と比較する。比較された二つのイメージ再生状態値が一致するとき、又は、それらの組み合わせが状態1と状態2との間の切り換えを示すとき、処理はステップS2503へ進む。比較された二つのイメージ再生状態値の組み合わせが状態1と状態2との間の切り換え以外を示すとき、処理はステップS2504へ進む。
 ステップS2503:BD-Jオブジェクトの要求する再生装置110の設定状態と、BD-ROMディスク100が挿入される前の設定状態とは互いに等しく、又は、状態1と状態2との組み合わせに等しい。従って、BD-Jモジュール1745はイメージ・メモリ1810内の領域を変更しない。一方、BD-Jオブジェクトが状態1と状態2との切り換えを要求しているときは、BD-Jモジュール1745はその要求に応じて、ビデオ・ストリームからの2D映像の再生処理と3D映像の再生処理とのいずれかを再生装置110に指定する。その後、BD-Jオブジェクト1745はタイトルの再生処理を通常どおりに行う。すなわち、アプリケーション・マネージャ1745AはBD-Jオブジェクト内のアプリケーション管理テーブル410に従って、仮想マシン1745Bにアプリケーション・プログラムの起動又は終了を指示する。特に、ディスク・アンバウンドのアプリケーション・プログラムが実行中であるとき、アプリケーション・マネージャ1745Aは、その実行を更に継続すべきか否か判断する。仮想マシン1745Bはアプリケーション・マネージャ1745Aの指示に従ってアプリケーション・プログラムを起動させ、又は終了させる。それにより、BD-Jモジュール1745はアプリケーション・プログラムに従って、項目「ファーストプレイ」303に対応するタイトルの再生処理を実行する。
 ステップS2504:比較された二つのイメージ再生状態値は、状態1と状態2との組み合わせ以外を示す。従って、BD-Jモジュール1745はアプリケーション・マネージャ1745Aを利用して、仮想マシン1745Bにアプリケーション・プログラムを全て強制終了させる。その後、処理はステップS2505へ進む。
 ステップS2505:BD-Jモジュール1745は再生部1660にイメージ・メモリ1810内の各領域を変更させる。具体的には、比較された二つのイメージ再生状態値が、状態1から状態3への切り換え、状態2から状態3への切り換え、状態1から状態4への切り換え、又は状態2から状態4への切り換えを示すとき、BD-Jモジュール1745は、図19に示されているように、まず、イメージ・データ領域1904からBD-Live用のキャッシュ領域1905を解放する。BD-Jモジュール1745は次に、その解放によって生じた空き領域をIGプレーン・メモリ領域1911に割り当て、IGプレーン・メモリ領域の容量を倍増させる。一方、二つのイメージ再生状態値が、状態4から状態2への切り換え等、上記とは逆方向の状態の切り換えを示すとき、BD-Jモジュール1745はまず、IGプレーン・メモリ領域1911の半分を解放する。BD-Jモジュール1745は次に、その解放によって生じた空き領域をイメージ・データ領域1904に割り当て、BD-Live用のキャッシュ領域1905として確保する。更に、二つのイメージ再生状態値が状態3と状態4との切り換えを示すとき、BD-Jモジュール1745はイメージ・データ領域1911内にBD-Live処理用のキャッシュ領域を確保させ、又は解放させる。その後、処理はステップS2506へ進む。
 ステップS2506:BD-Jモジュール1745はAV再生ライブラリ1746に現時点のイメージ再生状態値を、BD-Jオブジェクトの示すイメージ再生状態値620に更新させる。その後、処理はステップS2507へ進む。
 ステップS2507:BD-Jモジュール1745は再生装置110の設定状態を、BD-Jオブジェクトの要求するものに切り換える。その後、BD-Jモジュール1745はタイトルの再生処理を通常どおりに行う。すなわち、アプリケーション・マネージャ1745AはBD-Jオブジェクト内のアプリケーション管理テーブル410に従って、仮想マシン1745Bにアプリケーション・プログラムの起動又は終了を指示する。特に、ステップS2504で強制終了されたディスク・アンバウンドのアプリケーション・プログラムが存在したとき、アプリケーション・マネージャ1745Aは、その実行を再開すべきか否か判断する。仮想マシン1745Bはアプリケーション・マネージャ1745Aの指示に従ってアプリケーション・プログラムを起動させ、又は終了させる。それにより、BD-Jモジュール1745はアプリケーション・プログラムに従って、項目「ファーストプレイ」303に対応するタイトルの再生処理を実行する。
 <本発明の実施形態1の利点>
 タイトルの切り換えによってBD-Jオブジェクトが、イメージ再生状態値の異なるものに切り換えられるとき、BD-Jモジュール1745は、その異なるイメージ再生状態値に応じて再生装置110の設定状態を切り換える。状態1と状態3、状態1と状態4、状態2と状態3、又は状態2と状態4とが切り換えられるとき、図19に示されているように、イメージ・メモリ1810内では、BD-Live用キャッシュ領域1905が解放され、又は確保され、イメージ・データ領域とIGプレーン・メモリ領域との間で一部の領域が交換される。状態3と状態4とが切り換えられるとき、イメージ・メモリ1810内ではBD-Live用キャッシュ領域とイメージ・データ領域との各容量が変更される。一方、ディスク・バウンド又はディスク・アンバウンドのアプリケーション・プログラムは一般にタイトルの切り換えでは終了しない。従って、そのままでは、それらのアプリケーション・プログラムがタイトルの切り換え後のイメージ・メモリ内の領域を切り換え前の領域と誤認してアクセスする危険性が残る。
 本発明の実施形態1による再生装置110では上記のとおり、BD-Jオブジェクトが切り換えられる度に、BD-Jモジュール1745がそのBD-Jオブジェクトの示すイメージ再生状態値620を現時点での値と比較する。更に、比較された二つのイメージ再生状態値が状態1と状態2との組み合わせ以外を示すとき、BD-Jモジュール1745はアプリケーション・マネージャ1745Aを利用して、仮想マシン1745Bにアプリケーション・プログラムを全て強制終了させる。それにより、イメージ・メモリ1810内での領域の変更が必要なとき、それに先立って、アプリケーション・プログラムが全て終了する。従って、アプリケーション・プログラムが変更後の領域を変更前と誤認してアクセスする危険性はない。こうして、再生装置110はアプリケーション・プログラムに、誤動作させることなく、2プレーン・モードとBD-Live機能とを選択的に利用させることができる。その結果、再生装置110は、イメージ・メモリの容量を増大させることなく、グラフィックス映像の立体感が更に高いデジタル・コンテンツを再生することができる。
 <変形例>
 (1)本発明の実施形態1では、レフトビューとライトビューとの両方のイメージ・データが存在するとき、オフセット・モードではレフトビュー・イメージ・データが利用される。しかし、レフトビュー・イメージ・データに代えて、ライトビュー・イメージ・データが利用されてもよい。
 (2)加算部1807は、合成後のレフトビューとライトビューとのビデオ・フレームの対を交互に送出する。その他に、表示装置120が3D映像の表示にレンチキュラーレンズを利用するとき、加算部1807は内蔵のバッファ・メモリを利用して、レフトビューとライトビューとのビデオ・フレームの対を更に一つのビデオ・フレームに合成してもよい。具体的には、加算部1807は、先に合成されたレフトビュー・ビデオ・プレーンを一旦、そのバッファ・メモリに格納して保持する。加算部1807は続いて、ライトビュー・ビデオ・プレーンを合成し、バッファ・メモリに保持されたレフトビュー・ビデオ・プレーンと更に合成する。その合成では、各ビデオ・プレーンが縦方向に細長い短冊形の小領域に分割され、各小領域が横方向に交互に並べられて一枚のフレームに再構成される。こうして、本発明の実施形態1による再生装置は、3D映像の表示にレンチキュラーレンズを利用する表示装置にも対応可能である。
 (3)図24に示されている例では、状態3と状態4とにおいて、加算部1807は二つのモード・スイッチ2411、2412を利用して、オフセット・モードと2プレーン・モードとを切り換え可能に実現する。その他に、状態3と状態4とのいずれか又は両方において、イメージ・データからの3D映像の再生処理が2プレーン・モードのみに限られてもよい。更に、3D映像の再生処理中にオフセット・モードと2プレーン・モードとを動的に切り換える必要がない場合、状態3と状態4とをそれぞれ、各モードに特化した二つの状態に分けてもよい。例えば、元の状態3の設定で、イメージ・データからの3D映像の再生処理をオフセット・モードに固定した状態を「状態3」とし、2プレーン・モードに固定した状態を「状態5」としてもよい。その場合、イメージ再生状態値は六種類に増える。更に、オフセット・モードと2プレーン・モードとの切り換えはタイトルの切り換えによってのみ可能である。
 (4)状態3と状態4とにおいて、加算部1807はBD-Jモジュール1745の指示に従ってオフセット・モードと2プレーン・モードとを切り換える。その指示には、AV再生ライブラリ1746内のレジスタ1746Aが次のように利用されてもよい:まず、レジスタ1746Aの中にフラグが設定される。次に、BD-Jモジュール1745が、オフセット・モードを指定するときはそのフラグをオフにし、2プレーン・モードを指定するときはそのフラグをオンにする。一方、加算部1807は、そのフラグがオフであるときはオフセット・モードで動作し、そのフラグがオンであるときは2プレーン・モードで動作する。
 (5)BD-Jモジュール1745は、オフセット・モードを2プレーン・モードへ切り換えるとき、それに先だって、レンダリング・エンジン1805にレフトビュー・イメージ・プレーンをライトビュー・イメージ・プレーンにコピーさせてもよい。それにより、万一、何らかの不具合でライトビュー・イメージ・プレーンにデータが書き込まれなかった場合でも、各プレーンから再生されるグラフィックス映像間に実質的な差が生じない。その結果、視聴者に不快感を与えることを回避することができる。尚、レフトビュー・イメージ・プレーンをライトビュー・イメージ・プレーンにコピーする代わりに、レフトビュー・イメージ・プレーンをクリアしてもよい。
 (6)本発明の実施形態1では、BGプレーンとPGプレーンとのいずれからの3D映像の再生処理もオフセット・モードで行われる。その他に、アプリケーション・プログラムがBD-Jモジュール1745にレフトビューとライトビューとの両方のBGプレーンを生成させることにより、BGプレーンからの3D映像の再生処理が2プレーン・モードで行われるようにしてもよい。また、AVストリーム・ファイルにレフトビューとライトビューとの両方のPGストリームを多重化することにより、PGプレーンからの3D映像の再生処理が2プレーン・モードで行われるようにしてもよい。それにより、背景と字幕とのグラフィックス映像についても、立体感の表現力を更に向上させることができる。
 (7)電源投入直後等の初期起動時、イメージ・メモリ内の割り当ては確定されていない。その場合、BD-Jモジュール1745は再生装置110の設定状態の切り換え処理では、図25に示されているステップのうち、ステップS2502-S2504をスキップしてもよい。
 (8)状態3ではBD-Live用のキャッシュ領域が、状態1、状態2でのものよりも小さく制限されている。従って、タイトルの切り換えに伴って、状態1又は状態2から状態3への切り換えが必要であるとき、BD-Jモジュール1745はその切り換えの前に警告画面を表示装置120に表示させてもよい。それにより、再生装置110は視聴者に予め、BD-Live処理のレスポンスが低下する危険性を警告できる。
 《実施形態2》
 本発明の実施形態2による再生装置は、3D映像の再生処理時、アプリケーション・プログラムに、内蔵のメモリ資源に応じてHDMVモードとBD-Jモードとを選択させることができる。その点を除き、実施形態2による再生装置は実施形態1による再生装置と構成及び機能が等しい。従って、以下では、実施形態2による再生装置のうち、実施形態1による再生装置からの変更部分及び拡張部分について説明する。実施形態1による再生装置と同様な部分については、上記の実施形態1についての説明を援用する。
 本発明の実施形態2による再生装置は、内蔵のメモリ資源の大きさによって、廉価版と通常版との二種類に分類される。「廉価版再生装置」とは、比較的小さいメモリ資源しか備えていないために、3D映像の再生処理をHDMVモードでしか実行できない再生装置をいう。HDMVモードではBD-Jモードとは異なり、BD-ROMディスク100上のコンテンツ本体の3D映像のみが再生可能であり、ポップアップメニュー等、インタラクティブ・コンテンツのグラフィックス映像は再生できない。「通常版再生装置」とは、十分なメモリ資源を備え、3D映像の再生処理をHDMVモードとBD-Jモードとのいずれでも実行可能な再生装置をいう。BD-Jモジュール1745は、タイトルの切り換えに伴ってBD-ROMディスク100から読み込まれたアプリケーション・プログラムに、自身の組み込まれた再生装置が廉価版と通常版とのいずれであるかを通知することができる。
 図26はアプリケーション・プログラムによるイベント処理のフローチャートである。このイベント処理は、ユーザ操作検知モジュール1702が操作部1620からの通知を受信したときに開始される。
 ステップS2601:ユーザ操作検知モジュール1702は、操作部1620からの通知の示すイベントの種類を識別し、そのイベントの種類を示す操作信号をモード管理モジュール1743へ送る。モード管理モジュール1743では、ディスパッチャ1743Aがその操作信号をBD-Jモジュール1745へ渡す。BD-Jモジュール1745はその操作信号を解読して、その内容をアプリケーション・プログラムに通知する。アプリケーション・プログラムはその内容が、ユーザによる3D映像の再生要求を示すか否か判断する。その判断が否定的であるとき、処理はステップS2602へ進み、肯定的であるとき、処理はステップS2603へ進む。
 ステップS2602:ユーザの操作は3D映像の再生要求ではないので、アプリケーション・プログラムは通常のイベント処理を行う。
 ステップS2603:ユーザの操作は3D映像の再生要求であるので、アプリケーション・プログラムはBD-Jモジュール1745に、再生装置が廉価版であるか否かを問い合わせる。その問い合わせに対する返答が否定的であるとき、処理はステップS2604へ進み、肯定的であるとき、処理はステップS2605へ進む。
 ステップS2604:再生装置は通常版であるので、3D映像の再生処理はBD-Jモードでも実行可能である。従って、アプリケーション・プログラムはBD-Jモードで3D映像の再生処理を開始する。
 ステップS2605:再生装置は廉価版であるので、3D映像の再生処理はHDMVモードでのみ実行可能である。従って、アプリケーション・プログラムはBD-Jモジュール1745に、BD-JモードのタイトルをHDMVモードのタイトルへ切り換えさせる。そのタイトルの切り換えによって、再生処理の主体がBD-Jモジュール1745からHDMVモジュール1744へ移行する。図3に示されている例では、項目「タイトル2」に対応付けられた1BD-JオブジェクトBDJO-2Dによる2D映像の再生処理が、項目「タイトル3」に対応付けられた第2ムービーオブジェクトMVO-3Dによる3D映像の再生処理へ移行する。その3D映像の再生処理が終了したとき、タイトルは元のBD-Jモードのタイトルへ戻り、再生処理の主体がHDMVモジュール1744からBD-Jモジュール1745へ戻る。
 本発明の実施形態2による再生装置は上記のとおり、廉価版と通常版とのいずれであっても、BD-ROMディスク100から読み込まれたアプリケーション・プログラムに3D映像の再生処理を確実に実行させることができる。それにより、アプリケーション・プログラムのオーサリングに対する負担を軽減することができる。
 <補足>
  ≪BD-ROMディスク上のファイルシステム≫
 BD-ROMディスク100のファイルシステムとしてUDFが利用されるとき、図2に示されているボリューム領域122は、ディレクトリ領域、ファイルセット記述子の記録領域、及び終端記述子の記録領域を含む。「ディレクトリ領域」は一般に複数であり、それぞれが、一つのディレクトリを構成するデータの記録領域である。「ファイルセット記述子」は、ディレクトリ領域のうち、ルートディレクトリのファイル・エントリが記録されているセクタの論理ブロック番号(LBN)を示す。「終端記述子」はファイルセット記述子の終端を示す。
 各ディレクトリ領域はいずれも共通のデータ構造を持つ。各ディレクトリ領域は特に、ファイル・エントリ、ディレクトリ・ファイル、及び下位ファイルの各記録領域を含む。
 「ファイル・エントリ」は、記述子タグ、ICBタグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータがファイル・エントリであることを示す。例えば記述子タグの値が“261”であるとき、そのデータはファイル・エントリである。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は、同じディレクトリ領域に属するディレクトリ・ファイルが記録されたセクタのLBNを示す。
 「ディレクトリ・ファイル」は、下位ディレクトリのファイル識別記述子と、下位ファイルのファイル識別記述子とを含む。「下位ディレクトリのファイル識別記述子」は、そのディレクトリ領域に記録されたディレクトリの直下にある下位ディレクトリにアクセスするための情報である。このファイル識別記述子は特に、その下位ディレクトリの識別情報、ディレクトリ名の長さ、ファイル・エントリ・アドレス、及びディレクトリ名そのものを含む。ここで、ファイル・エントリ・アドレスは、その下位ディレクトリのファイル・エントリが記録されたセクタのLBNを示す。「下位ファイルのファイル識別記述子」は、そのディレクトリ領域に記録されたディレクトリの直下にある下位ファイルにアクセスするための情報である。このファイル識別記述子は、その下位ファイルの識別情報、ファイル名の長さ、ファイル・エントリ・アドレス、及びファイル名そのものを含む。ここで、ファイル・エントリ・アドレスは、その下位ファイルのファイル・エントリのLBNを示す。下位ディレクトリ/ファイルのファイル識別記述子を辿ってゆけば、ルートディレクトリのファイル・エントリから下位ディレクトリ/下位ファイルのファイル・エントリに順次、到達することができる。
 「下位ファイル」は、そのディレクトリ領域に記録されたディレクトリの直下にある下位ファイルのファイル・エントリと実体とを含む。「ファイル・エントリ」は、記述子タグ、ICBタグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータがファイル・エントリであることを示す。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は、その下位ファイルの実体を構成する各エクステントの配置を示す。ここで、「エクステント」は、論理アドレスが連続しているデータ列を意味する。アロケーション記述子は各エクステントに一つずつ設けられる。従って、下位ファイルが複数のエクステントに分割されているとき、ファイル・エントリはアロケーション記述子を複数含む。より具体的には、アロケーション記述子は各エクステントのサイズとLBNとを含む。更に、アロケーション記述子の上位2ビットは、そのLBNのセクタにエクステントが実際に記録されているか否かを示す。すなわち、その上位2ビットが“0”であるとき、そのセクタにはエクステントが割り付け済みであり、かつ記録済みであることを示し、“1”であるとき、そのセクタにエクステントが割り付け済みではあるが未記録であることを示す。各ファイルのファイル・エントリのアロケーション記述子を参照することにより、そのファイルを構成する各エクステントの論理アドレスを知ることができる。
 UDFを利用した上記のファイルシステムと同様、ボリューム領域122に対するファイルシステムでは一般に、ボリューム領域122に記録された各ファイルが複数のエクステントに分割されているとき、上記のアロケーション記述子のように、各エクステントの配置を示す情報がボリューム領域122に併せて記録される。その情報を参照することにより、各エクステントの配置、特にその論理アドレスを知ることができる。
  ≪放送、通信回路を経由したデータ配信≫
 本発明の実施形態による記録媒体は、光ディスクの他、例えばSDメモリカードを含む可搬性半導体メモリ装置等、パッケージメディアとして利用可能なリムーバブルメディア全般を含む。また、実施形態の説明では、予めデータが記録された光ディスク、すなわちBD-ROM又はDVD-ROM等の既存の読み出し専用の光ディスクが例に挙げられている。しかし、本発明の実施形態による記録媒体はそれらに限定されない。例えば放送又はネットワーク経由で配信された3D映像のコンテンツを端末装置によって、BD-RE又はDVD-RAM等の既存の書き込み可能な光ディスクへ書き込んだものが、実施形態による記録媒体として利用されてもよい。ここで、その端末装置は、再生装置に組み込まれていても、再生装置とは別の装置であってもよい。
  ≪半導体メモリカードの再生≫
 本発明の実施形態による記録媒体として、光ディスクに代えて半導体メモリカードを用いたときにおける、再生装置のデータ読み出し部について説明する。
 再生装置のうち、光ディスクからデータを読み出す部分は、例えば光ディスクドライブによって構成される。それに対し、半導体メモリカードからデータを読み出す部分は、専用のインタフェース(I/F)で構成される。より詳細には、再生装置にカードスロットが設けられ、その内部に上記のI/Fが実装される。そのカードスロットに半導体メモリカードが挿入されるとき、そのI/Fを通してその半導体メモリカードが再生装置と電気的に接続される。更に、半導体メモリカードからデータがそのI/Fを通して再生装置に読み出される。
  ≪BD-ROMディスク上のデータに対する著作権保護技術≫
 ここで、以降の補足事項の前提として、BD-ROMディスクに記録されているデータの著作権を保護するための仕組みについて説明する。
 BD-ROMディスクに記録されたデータの一部が、例えば著作権の保護又はデータの秘匿性の向上の観点から暗号化されている場合がある。その暗号化データは例えば、ビデオ・ストリーム、オーディオ・ストリーム、またはその他のストリームを含む。その場合、暗号化データは以下のように解読される。
 再生装置には予め、BD-ROMディスク上の暗号化データを解読するための「鍵」の生成に必要なデータの一部、すなわちデバイスキーが記憶されている。一方、BD-ROMディスクには、そのその「鍵」の生成に必要なデータの別の一部、すなわちMKB(メディアキーブロック)と、その「鍵」自体の暗号化データ、すなわち暗号化タイトルキーとが記録されている。デバイスキー、MKB、及び暗号化タイトルキーは互いに対応付けられ、更に、図2に示されているBD-ROMディスク100上のBCA201に書き込まれた特定の識別子、すなわちボリュームIDにも対応付けられている。デバイスキー、MKB、暗号化タイトルキー、及びボリュームIDの組み合わせが正しくなければ、暗号化データの解読はできない。すなわち、これらの組み合わせが正しい場合にのみ、上記の「鍵」、すなわちタイトルキーが生成される。具体的には、まず、デバイスキー、MKB、及びボリュームIDを利用して暗号化タイトルキーが復号される。それによってタイトルキーを導き出すことができたときのみ、そのタイトルキーを上記の「鍵」として用いて暗号化データを解読することができる。
 BD-ROMディスク上の暗号化データを再生装置によって再生しようとしても、例えばそのBD-ROMディスク上の暗号化タイトルキー、MKB、及びボリュームIDに予め対応付けられたデバイスキーがその再生装置内に記憶されていなければ、その暗号化データを再生することができない。何故なら、その暗号化データの解読に必要な鍵、すなわちタイトルキーは、MKB、デバイスキー、及びボリュームIDの正しい組み合わせで暗号化タイトルキーを復号しなければ導き出せないからである。
 BD-ROMディスクに記録されるべきビデオ・ストリームとオーディオ・ストリームとの少なくともいずれかの著作権を保護するには、まず、保護対象のストリームをタイトルキーで暗号化して、BD-ROMディスクに記録する。次に、MKB、デバイスキー、及びボリュームIDの組み合わせから鍵を生成し、その鍵で上記のタイトルキーを暗号化して暗号化タイトルキーに変換する。更に、MKB、ボリュームID、及び暗号化タイトルキーをBD-ROMディスクに記録する。そのBD-ROMディスクからは、上述の鍵の生成に利用されたデバイスキーを備えた再生装置でしか、暗号化されたビデオ・ストリーム及び/又はオーディオ・ストリームをデコーダで復号することはできない。こうして、BD-ROMディスクに記録されたデータの著作権を保護することができる。
 以上に述べた、BD-ROMディスクにおけるデータの著作権保護の仕組みは、BD-ROMディスク以外にも適用可能である。例えば読み書き可能な半導体メモリ装置、特にSDカード等の可搬性半導体メモリカードにも適用可能である。
  ≪電子配信を利用した記録媒体へのデータ記録≫
 電子配信を利用して本発明の実施形態による再生装置へ3D映像のAVストリーム・ファイル等のデータ(以下、配信データという。)を伝達し、更にその再生装置にその配信データを半導体メモリカードに記録させる処理について、以下説明する。尚、以下の動作は、上記の再生装置に代えて、その処理に特化した端末装置によって行われてもよい。また、記録先の半導体メモリカードがSDメモリカードである場合を想定する。
 再生装置は上記のとおり、カードスロットを備えている。そのカードスロットにはSDメモリカードが挿入されている。この状態で、再生装置はまず、ネットワーク上の配信サーバへ配信データの送信要求を送出する。このとき、再生装置はSDメモリカードからその識別情報を読み出して、その識別情報を送信要求と共に配信サーバへ送出する。ここで、SDメモリカードの識別情報は、例えばそのSDメモリカード固有の識別番号、より具体的にはそのSDメモリカードのシリアル番号である。この識別情報は上述のボリュームIDとして利用される。
 配信サーバには配信データが格納されている。その配信データのうち、ビデオ・ストリーム及び/又はオーディオ・ストリーム等、暗号化による保護の必要なデータは、所定のタイトルキーを用いて暗号化されている。ここで、その暗号化データは同じタイトルキーで復号が可能である。
 配信サーバは、再生装置と共通の秘密鍵としてデバイスキーを保持している。配信サーバは更に、SDメモリカードと共通のMKBを保持している。配信サーバは、再生装置から配信データの送信要求とSDメモリカードの識別情報とを受け付けたとき、まず、デバイスキー、MKB、及びその識別情報から鍵を生成し、その鍵でタイトルキーを暗号化して暗号化タイトルキーを生成する。
 配信サーバは次に公開鍵情報を生成する。その公開鍵情報は、例えば、上述のMKB、暗号化タイトルキー、署名情報、SDメモリカードの識別番号、及びデバイスリストを含む。署名情報は、例えば公開鍵情報のハッシュ値を含む。デバイスリストは、無効にすべきデバイス、すなわち、配信データ中の暗号化データを不正に再生する危険性のあるデバイスのリストである。そのリストには、例えば、再生装置のデバイスキー、再生装置の識別番号、再生装置に内蔵のデコーダ等、各種部品の識別番号、又は機能(プログラム)が特定されている。
 配信サーバは更に、配信データと公開鍵情報とを再生装置へ送出する。再生装置は、それらを受信して、カードスロット内の専用I/Fを通してSDメモリカードに記録する。
 SDメモリカードに記録された配信データのうち、暗号化データは、例えば公開鍵情報を以下のように利用して復号される。まず、公開鍵情報の認証として次の三種類のチェック(1)-(3)が行われる。尚、それらはどのような順序で行われてもよい。
 (1)公開鍵情報に含まれるSDメモリカードの識別情報が、カードスロットに挿入されているSDメモリカードに記憶されている識別番号と一致するか否か。
 (2)公開鍵情報から算出されるハッシュ値が、署名情報に含まれるハッシュ値と一致するか否か。
 (3)公開鍵情報の示すデバイスリストから当該再生装置が除外されているか否か。具体的には、デバイスリストから当該再生装置のデバイスキーが除外されているか否か。
 上述のチェック(1)~(3)のいずれかの結果が否定的であるとき、再生装置は暗号化データの復号処理を中止する。逆に、上述のチェック(1)~(3)の全ての結果が肯定的であるとき、再生装置は公開鍵情報の正当性を認め、デバイスキー、MKB、及びSDメモリカードの識別情報を利用して、公開鍵情報内の暗号化タイトルキーをタイトルキーに復号する。再生装置は更に、そのタイトルキーを用いて暗号化データを、例えばビデオ・ストリーム及び/又はオーディオ・ストリームに復号する。
 以上の仕組みには次の利点がある。電子配信時に既に、不正使用の危険性がある再生装置、部品、及び機能(プログラム)等が知られている場合、これらの識別情報がデバイスリストに列挙され、公開鍵情報の一部として配信される。一方、配信データを要求した再生装置は必ず、そのデバイスリスト内の識別情報を、その再生装置及びその部品等の識別情報と照合しなければならない。それにより、その再生装置又はその部品等がデバイスリストに示されていれば、たとえ、SDメモリカードの識別番号、MKB、暗号化タイトルキー、及びデバイスキーの組み合わせが正しくても、その再生装置は公開鍵情報を配信データ内の暗号化データの復号には利用できない。こうして、配信データの不正使用を効果的に抑制することができる。
 半導体メモリカードの識別情報は、半導体メモリカード内の記録領域のうち、特に秘匿性の高い記録領域に格納することが望ましい。何故なら、万一、その識別情報、例えばSDメモリカードではそのシリアル番号が不正に改竄された場合、SDメモリカードの違法コピーが容易に実行可能になってしまうからである。すなわち、その改竄の結果、同一の識別情報を持つ半導体メモリカードが複数存在するようになれば、上述のチェック(1)では正規品と違法な複製品との識別ができなくなるからである。従って、半導体メモリカードの識別情報は秘匿性の高い記録領域に記録して、不正な改竄から保護されねばならない。
 半導体メモリカード内にこのような秘匿性の高い記録領域を構成する手段は、例えば次のとおりである。まず、通常のデータ用の記録領域(以下、第1の記録領域と称す。)から電気的に分離された別の記録領域(以下、第2の記録領域と称す。)が設置される。次に、第2の記録領域へのアクセス専用の制御回路が半導体メモリカード内に設けられる。それにより、第2の記録領域へはその制御回路を介してのみアクセスが可能であるようにする。例えば、第2の記録領域には、暗号化されたデータのみが記録され、その暗号化されたデータを復号するための回路が制御回路内にのみ組み込まれる。それにより、第2の記録領域内のデータへのアクセスは、そのデータを制御回路に復号させなければ不可能である。その他に、第2の記録領域内の各データのアドレスを制御回路にのみ保持させてもよい。その場合、第2の記録領域内のデータのアドレスは制御回路にしか特定できない。
 半導体メモリカードの識別情報が第2の記録領域に記録された場合、再生装置上で動作するアプリケーション・プログラムは、電子配信を利用して配信サーバからデータを取得して半導体メモリカードに記録する場合、次のような処理を行う。まず、そのアプリケーション・プログラムは、メモリカードI/Fを介して上記の制御回路に対し、第2の記録領域に記録された半導体メモリカードの識別情報へのアクセス要求を発行する。制御回路はその要求に応じて、まず、第2の記録領域からその識別情報を読み出す。制御回路は次に、メモリカードI/Fを介して上記のアプリケーション・プログラムへその識別情報を送る。そのアプリケーション・プログラムはその後、その識別情報と共に配信データの送信要求を配信サーバに送出する。アプリケーション・プログラムは更に、その要求に応じて配信サーバから受信される公開鍵情報と配信データとを、メモリカードI/Fを介して半導体メモリカード内の第1の記録領域に記録する。
 尚、上記のアプリケーション・プログラムは、半導体メモリカード内の制御回路に対して上記のアクセス要求を発行する前に、そのアプリケーション・プログラム自体の改竄の有無をチェックすることが望ましい。そのチェックには、例えばX.509に準拠のデジタル証明書が利用されてもよい。また、配信データは上記のとおり、半導体メモリカード内の第1の記録領域に記録されればよく、その配信データへのアクセスは半導体メモリカード内の制御回路によって制御されなくてもよい。
  ≪リアルタイム・レコーディングへの適用≫
 本発明の実施形態では、AVストリーム・ファイル及びプレイリスト・ファイルは、オーサリングシステムにおけるプリレコーディング技術によってBD-ROMディスクに記録されてユーザに供給されることを前提とした。しかし、AVストリーム・ファイル及びプレイリスト・ファイルは、リアルタイム・レコーディングによって、BD-REディスク、BD-Rディスク、ハードディスク、又は半導体メモリカード等の書き込み可能な記録媒体(以下、BD-REディスク等と略す。)に記録されてユーザに供給されるものであってもよい。その場合、AVストリーム・ファイルは、アナログ入力信号を記録装置がリアルタイムで復号することによって得られたトランスポート・ストリームであってもよい。その他に、記録装置がデジタル入力したトランスポート・ストリームをパーシャル化することで得られるトランスポート・ストリームであってもよい。
 リアルタイム・レコーディングを実行する記録装置は、ビデオエンコーダ、オーディオエンコーダ、マルチプレクサ、及びソースパケタイザを含む。ビデオエンコーダはビデオ信号を符号化してビデオ・ストリームに変換する。オーディオエンコーダはオーディオ信号を符号化してオーディオ・ストリームに変換する。マルチプレクサは、ビデオ・ストリームとオーディオ・ストリームとを多重化して、MPEG2-TS形式のデジタル・ストリームに変換する。ソースパケタイザは、MPEG2-TS形式のデジタル・ストリーム内のTSパケットをソースパケットに変換する。記録装置は各ソースパケットをAVストリーム・ファイルに格納して、BD-REディスク等に書き込む。
 AVストリーム・ファイルの書き込み処理と並行して、記録装置の制御部はクリップ情報ファイルとプレイリスト・ファイルとをメモリ上で生成してBD-REディスク等に書き込む。具体的には、ユーザによって録画処理が要求されたとき、制御部はまず、AVストリーム・ファイルに合わせてクリップ情報ファイルを生成してBD-REディスク等に書き込む。その場合、外部から受信されるトランスポート・ストリームからビデオ・ストリーム内の一つのGOPの先頭が検出される度に、又は、ビデオエンコーダによってビデオ・ストリーム内の一つのGOPが生成される度に、制御部は、そのGOPの先頭に位置するIピクチャのPTSと、そのGOPの先頭が格納されたソースパケットのSPNとを取得する。制御部は更に、そのPTSとSPNとの対を一つのエントリ・ポイントとしてクリップ情報ファイルのエントリ・マップに追記する。ここで、そのエントリ・ポイントには「is_angle_changeフラグ」が追加される。is_angle_changeフラグは、そのGOPの先頭がIDRピクチャであるときは“オン”に設定され、そのGOPの先頭がIDRピクチャではないときは“オフ”に設定される。クリップ情報ファイル内には更に、ストリーム属性情報が記録対象のストリームの属性に従って設定される。こうして、AVストリーム・ファイルとクリップ情報ファイルとがBD-REディスク等に書き込まれた後、制御部はそのクリップ情報ファイル内のエントリ・マップを利用してプレイリスト・ファイルを生成し、BD-REディスク等に書き込む。
  ≪マネージド・コピー≫
 本発明の実施形態による再生装置は更に、マネージド・コピーによってBD-ROMディスク上のデジタル・ストリームを他の記録媒体へ書き込んでもよい。「マネージド・コピー」とは、BD-ROMディスク等の読み出し専用記録媒体から書き込み可能な記録媒体へ、デジタル・ストリーム、プレイリスト・ファイル、クリップ情報ファイル、及びアプリケーション・プログラムをコピーすることを、サーバとの通信による認証が成功した場合にのみ許可するための技術をいう。その書き込み可能な記録媒体は、BD-R、BD-RE、DVD-R、DVD-RW、及びDVD-RAM等の書き込み可能な光ディスク、ハードディスク、並びに、SDメモリカード、メモリースティック(登録商標)、コンパクトフラッシュ(登録商標)、スマートメディア(登録商標)、及びマルチメディアカード(登録商標)等の可搬性半導体メモリ装置を含む。マネージド・コピーは、読み出し専用記録媒体に記録されたデータのバックアップ回数の制限、及びバックアップ処理に対する課金を可能にする。
 BD-ROMディスクからBD-Rディスク又はBD-REディスクへのマネージド・コピーが行われる場合、両ディスクの記録容量が等しいときは、コピー元のディスクに記録されたビット・ストリームがそのまま、順番にコピーされればよい。
 マネージド・コピーが異種の記録媒体間で行われるときはトランス・コードが必要である。「トランス・コード」とは、コピー元のディスクに記録されているデジタル・ストリームをコピー先の記録媒体のアプリケーション・フォーマットに適合させるための処理をいう。トランス・コードは、例えば、MPEG2-TS形式からMPEG2プログラム・ストリーム形式へ変換する処理、及び、ビデオ・ストリームとオーディオ・ストリームとのそれぞれに割り当てられているビットレートを低くして符号化し直す処理を含む。トランス・コードでは、上述のリアルタイム・レコーディングによって、AVストリーム・ファイル、クリップ情報ファイル、及びプレイリスト・ファイルが生成されねばならない。
  ≪データ構造の記述の仕方≫
 本発明の実施形態によるデータ構造のうち、「所定型の情報が複数存在する」という繰り返し構造は、for文に制御変数の初期値と繰り返し条件とを記述することによって定義される。また、「所定の条件が成立するときに所定の情報が定義される」というデータ構造は、if文にその条件と、その条件の成立時に設定されるべき変数とを記述することによって定義される。このように、実施形態によるデータ構造は高級プログラミング言語によって記述される。従って、そのデータ構造は、「構文解析」、「最適化」、「資源割付」、及び「コード生成」といったコンパイラによる翻訳過程を経て、コンピュータによって読み取り可能なコードに変換され、記録媒体に記録される。高級プログラミング言語での記述により、そのデータ構造は、オブジェクト指向言語におけるクラス構造体のメソッド以外の部分、具体的には、そのクラス構造体における配列型のメンバー変数として扱われ、プログラムの一部を成す。すなわち、そのデータ構造は、プログラムと実質的に同等である。従って、そのデータ構造はコンピュータ関連の発明として保護を受けるべきである。
  ≪再生プログラムによるプレイリスト・ファイル、クリップ情報ファイルの管理≫
 プレイリスト・ファイルとAVストリーム・ファイルとが記録媒体に記録されるとき、その記録媒体には再生プログラムが実行形式のファイルとして記録される。再生プログラムはコンピュータに、プレイリスト・ファイルに従ってAVストリーム・ファイルを再生させる。再生プログラムは記録媒体からコンピュータ内のメモリ装置にロードされた後、そのコンピュータによって実行される。そのロード処理はコンパイル処理又はリンク処理を含む。それらの処理により、再生プログラムはメモリ装置内では複数のセクションに分割される。それらのセクションは、textセクション、dataセクション、bssセクション、及びstackセクションを含む。textセクションは、再生プログラムのコード列、変数の初期値、及び書き換え不可のデータを含む。dataセクションは、初期値を持つ変数、及び書き換え可能なデータを含む。dataセクションは特に、記録媒体上に記録された、随時アクセスされるファイルを含む。bssセクションは、初期値を持たない変数を含む。bssセクション内のデータは、textセクション内のコードの示す命令に応じて参照される。コンパイル処理又はリンク処理では、コンピュータ内のRAMにbssセクション用の領域が確保される。stackセクションは、必要に応じて一時的に確保されるメモリ領域である。再生プログラムによる各処理ではローカル変数が一時的に使用される。stackセクションはそれらのローカル変数を含む。プログラムの実行が開始されるとき、bssセクション内の変数はゼロで初期化され、stackセクションには必要なメモリ領域が確保される。
 プレイリスト・ファイル及びクリップ情報ファイルは上述のとおり、記録媒体上では既に、コンピュータによって読み取り可能なコードに変換されている。従って、それらのファイルは再生プログラムの実行時、textセクション内の「書き換え不可のデータ」、又はdataセクション内の「随時アクセスされるファイル」として管理される。すなわち、プレイリスト・ファイル及びクリップ情報ファイルは、再生プログラムの実行時にその構成要素の中に組み込まれる。それ故、プレイリスト・ファイル及びクリップ情報ファイルは再生プログラムにおいて、単なるデータの提示を超えた役割を果たす。
  ≪システムLSI≫
 本発明の実施形態による再生装置は、ミドルウェア、システムLSI、及びその他のハードウェアを含む。その再生装置は更に、ミドルウェアに対するインタフェース、ミドルウェアとシステムLSIとの間のインタフェース、ミドルウェアとその他のハードウェアとの間のインタフェース、及びユーザインタフェースを含む。それらの要素は、再生装置に組み込まれたときに互いに連携する。それにより、各要素に固有の機能が再生装置に提供される。ミドルウェアに対するインタフェース、及び、ミドルウェアとシステムLSIとの間のインタフェースが適切に定義されることにより、再生装置内のユーザインタフェース、ミドルウェア、及びシステムLSIのそれぞれの開発を、独立に、並列に、かつ効率良く進めることができる。尚、いずれのインタフェースについても、そのような適切な定義は一般に多様である。
 本発明は立体視映像の再生技術に関し、上記のとおり、アプリケーション・プログラムを強制的に終了させてからイメージ・データ領域を変更する。このように、本発明は明らかに産業上利用可能である。
 1810 イメージ・メモリ
 1901 状態1/2でのIGプレーン・メモリ領域
 1902 状態1/2でのPGプレーン・メモリ領域
 1903 状態1/2でのBGプレーン・メモリ領域
 1904 状態1/2でのイメージ・データ領域
 1905 状態1/2でのBD-Live用キャッシュ領域
 1911 状態3/4でのIGプレーン・メモリ領域
 1912 状態3/4でのPGプレーン・メモリ領域
 1913 状態3/4でのBGプレーン・メモリ領域
 1914 状態3/4でのイメージ・データ領域

Claims (9)

  1.  記録媒体から、アプリケーション・プログラム、イメージ・データ、ビデオ・ストリーム、及びアプリケーション管理ファイルを読み出す読み出し部、
     前記アプリケーション・プログラムを実行する仮想マシン部、
     前記イメージ・データを格納するためのイメージ・データ領域を含むメモリ部、
     前記アプリケーション・プログラムに従って前記イメージ・データと前記ビデオ・ストリームとから映像データを再生する再生部、並びに、
     前記アプリケーション管理ファイルに従って、前記仮想マシン部に対しては前記アプリケーション・プログラムの起動と終了とを指示し、前記メモリ部に対しては前記イメージ・データ領域の変更を指示する機能部であって、前記メモリ部に対して前記イメージ・データ領域の変更を指示するとき、その前に前記仮想マシン部に前記アプリケーション・プログラムを、前記アプリケーション管理ファイル上ではその実行の継続が規定されていても強制的に終了させる管理部、
    を備えた再生装置。
  2.  前記イメージ・データ領域に前記イメージ・データを展開するイメージ・デコーダ、及び、
     前記イメージ・データに対するグラフィックス処理に関する演算を行うレンダリング・エンジン、
    を更に備え、
     前記管理部は前記アプリケーション・プログラムに従って、前記イメージ・デコーダには前記イメージ・データの展開を指示し、前記レンダリング・エンジンには前記演算を指示する、
    請求項1に記載の再生装置。
  3.  前記記録媒体が前記読み出し部から取り出された後も前記仮想マシン部が前記アプリケーション・プログラムを継続して実行しているとき、前記読み出し部が新たな記録媒体の挿入を検出した場合、前記管理部は前記読み出し部に前記新たな記録媒体から新たなアプリケーション管理ファイルを読み出させ、前記新たなアプリケーション管理ファイルに従って前記イメージ・データ領域の変更を指示する、
    請求項1に記載の再生装置。
  4.  外部ネットワーク上のサーバ装置からブラウザ画面のデータをダウンロードするネットワーク・インタフェース部、
    を更に備え、
     前記再生部は、前記記録媒体から再生される映像にブラウザ画面を組み合わせるライブ再生モードを備え、
     前記イメージ・データ領域の変更は、現時点とその直前とのブラウザ画面のデータを一時記憶するためのキャッシュ領域を前記イメージ・データ領域の中に確保すること、又は前記イメージ・データ領域から開放することを含む、
    請求項1に記載の再生装置。
  5.  前記イメージ・データが3Dメニューのレフトビュー・イメージ・データとライトビュー・イメージ・データとを含むとき、前記イメージ・データ領域の変更は、前記キャッシュ領域を前記イメージ・データ領域から開放すること、及び、それによって生じた空き領域を前記レフトビュー・イメージ・データと前記ライトビュー・イメージ・データとの格納に利用することを含む、請求項4に記載の再生装置。
  6.  前記管理部は前記アプリケーション・プログラムに従って、
     前記3Dメニューを再生すべきか否かの指示をユーザから受け付け、
     前記3Dメニューの再生が指示されたとき、前記仮想マシン部に前記メモリ部の容量を確認させ、
     前記メモリ部の容量が所定の閾値よりも大きいときは、前記メモリ部に対して、前記キャッシュ領域の開放、及び、前記レフトビュー・イメージ・データと前記ライトビュー・イメージ・データとの格納での前記空き領域の利用を指示し、
     前記メモリ部の容量が前記閾値よりも小さいときは、前記3Dメニューの再生を禁止する、
    請求項5に記載の再生装置。
  7.  読み出し部が記録媒体から、アプリケーション・プログラム、イメージ・データ、ビデオ・ストリーム、及びアプリケーション管理ファイルを読み出すステップ、
     メモリ部が前記イメージ・データをイメージ・データ領域に格納するステップ、
     管理部が前記アプリケーション管理ファイルに従って、仮想マシン部に前記アプリケーション・プログラムを実行させるステップ、
     再生部が前記アプリケーション・プログラムに従って前記イメージ・データと前記ビデオ・ストリームとから映像データを再生するステップ、
     前記管理部が前記アプリケーション・プログラムを、前記アプリケーション管理ファイル上ではその実行の継続が規定されていても強制的に終了させるステップ、並びに、
     前記アプリケーション・プログラムが終了した後、前記管理部が前記メモリ部に前記イメージ・データ領域を変更させるステップ、
    を含む再生方法。
  8.  読み出し部が記録媒体から、アプリケーション・プログラム、イメージ・データ、ビデオ・ストリーム、及びアプリケーション管理ファイルを読み出すステップ、
     メモリ部が前記イメージ・データをイメージ・データ領域に格納するステップ、
     管理部が前記アプリケーション管理ファイルに従って、仮想マシン部に前記アプリケーション・プログラムを実行させるステップ、
     再生部が前記アプリケーション・プログラムに従って前記イメージ・データと前記ビデオ・ストリームとから映像データを再生するステップ、
     前記管理部が前記アプリケーション・プログラムを、前記アプリケーション管理ファイル上ではその実行の継続が規定されていても強制的に終了させるステップ、並びに、
     前記アプリケーション・プログラムが終了した後、前記管理部が前記メモリ部に前記イメージ・データ領域を変更させるステップ、
    を再生装置に実行させるプログラム。
  9.  記録媒体からイメージ・データとビデオ・ストリームとを読み出す読み出し部、及び、
     前記イメージ・データと前記ビデオ・ストリームとから映像データを再生する再生部、
    を備えた再生装置に実装される集積回路であって、
     前記読み出し部によって前記記録媒体から読み出されたアプリケーション・プログラムを実行する仮想マシン部、
     前記イメージ・データを格納するためのイメージ・データ領域を含むメモリ部、及び、
     前記読み出し部によって前記記録媒体から読み出されたアプリケーション管理ファイルを参照し、前記アプリケーション管理ファイルに従って、前記仮想マシン部に対しては前記アプリケーション・プログラムの起動と終了とを指示し、前記メモリ部に対しては前記イメージ・データ領域の変更を指示する機能部であって、前記メモリ部に対して前記イメージ・データ領域の変更を指示するとき、その前に前記仮想マシン部に前記アプリケーション・プログラムを、前記アプリケーション管理ファイル上ではその実行の継続が規定されていても強制的に終了させる管理部、
    を備えた集積回路。
PCT/JP2009/005713 2008-11-06 2009-10-28 再生装置、再生方法、再生プログラム、及び集積回路 WO2010052857A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2009801072184A CN101960862A (zh) 2008-11-06 2009-10-28 再现装置、再现方法、再现程序及集成电路
JP2010536659A JP5368470B2 (ja) 2008-11-06 2009-10-28 再生装置、再生方法、再生プログラム、及び集積回路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11184008P 2008-11-06 2008-11-06
US61/111,840 2008-11-06

Publications (1)

Publication Number Publication Date
WO2010052857A1 true WO2010052857A1 (ja) 2010-05-14

Family

ID=42152670

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/005713 WO2010052857A1 (ja) 2008-11-06 2009-10-28 再生装置、再生方法、再生プログラム、及び集積回路

Country Status (4)

Country Link
US (1) US8165458B2 (ja)
JP (1) JP5368470B2 (ja)
CN (1) CN101960862A (ja)
WO (1) WO2010052857A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011239406A (ja) * 2009-05-25 2011-11-24 Panasonic Corp 記録媒体、再生装置、再生方法、プログラム

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2380105A1 (en) * 2002-04-09 2003-10-09 Nicholas Routhier Process and system for encoding and playback of stereoscopic video sequences
US8335425B2 (en) * 2008-11-18 2012-12-18 Panasonic Corporation Playback apparatus, playback method, and program for performing stereoscopic playback
US8301013B2 (en) * 2008-11-18 2012-10-30 Panasonic Corporation Reproduction device, reproduction method, and program for stereoscopic reproduction
KR20110095128A (ko) * 2008-11-18 2011-08-24 파나소닉 주식회사 특수재생을 고려한 재생장치, 집적회로, 재생방법
JP4984181B2 (ja) * 2009-06-22 2012-07-25 ソニー株式会社 再生装置および再生方法
GB0921831D0 (en) 2009-12-14 2010-01-27 British Telecomm Graphical data delivery
KR101570960B1 (ko) * 2009-12-21 2015-11-27 삼성전자 주식회사 디스플레이장치
GB201000738D0 (en) * 2010-01-18 2010-03-03 British Telecomm Graphical data processing
JP5505637B2 (ja) * 2010-06-24 2014-05-28 ソニー株式会社 立体表示装置および立体表示装置の表示方法
JP5529964B2 (ja) * 2010-07-01 2014-06-25 パナソニック株式会社 再生装置、再生方法、プログラム
WO2012011525A1 (ja) * 2010-07-21 2012-01-26 株式会社プランネット・アソシエイツ 三次元ビデオストリームへの映像変換方法
AU2015204359B2 (en) * 2011-03-11 2017-01-19 Interdigital Madison Patent Holdings Decoder and method at the decoder for synchronizing the rendering of contents received through different networks
EP2498494A1 (en) * 2011-03-11 2012-09-12 Thomson Licensing Decoder and method at the decoder for synchronizing the rendering of contents received through different networks
JP5585721B2 (ja) * 2011-03-22 2014-09-10 富士通株式会社 情報装置、画面切替え方法、及び画面切替えプログラム
TWI450538B (zh) * 2011-03-22 2014-08-21 多媒體串流資料解密系統與方法
EP2506263A1 (en) * 2011-03-31 2012-10-03 Thomson Licensing Stereoscopic scene graph for defining 3D- and 2D-compatible graphical objects
JP4996762B1 (ja) 2011-08-31 2012-08-08 株式会社東芝 電子機器およびコンテンツ転送方法
WO2013097208A1 (zh) * 2011-12-31 2013-07-04 华为技术有限公司 基于虚拟化技术的图形显示方法及系统
US8520018B1 (en) * 2013-01-12 2013-08-27 Hooked Digital Media Media distribution system
US9189067B2 (en) 2013-01-12 2015-11-17 Neal Joseph Edelstein Media distribution system
CN103561062B (zh) * 2013-10-18 2017-04-05 北京奇虎科技有限公司 应用执行方法、设备和系统
US20160307603A1 (en) * 2015-04-15 2016-10-20 Sony Corporation Information processing device, information recording medium, information processing method, and program
WO2020166236A1 (ja) * 2019-02-13 2020-08-20 パナソニックIpマネジメント株式会社 作業効率評価方法、作業効率評価装置、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005036555A1 (ja) * 2003-10-10 2005-04-21 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法
WO2009157159A1 (ja) * 2008-06-24 2009-12-30 パナソニック株式会社 記録媒体、再生装置、集積回路、再生方法、プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004505394A (ja) * 2000-08-04 2004-02-19 ダイナミック ディジタル デプス リサーチ プロプライエタリー リミテッド イメージ変換および符号化技術
CN1867999B (zh) * 2003-10-10 2012-03-21 松下电器产业株式会社 记录方法、再现装置、再现方法
KR20050049924A (ko) * 2003-11-24 2005-05-27 엘지전자 주식회사 고밀도 광디스크의 플레이리스트 구성방법, 관리방법 및재생방법과 기록재생장치
TW200839560A (en) 2004-05-11 2008-10-01 Matsushita Electric Ind Co Ltd Reproducer, program, and reproducing method
EP1699048A4 (en) * 2004-06-03 2009-01-28 Panasonic Corp PLAYBACK DEVICE AND PROGRAM
US7783161B2 (en) * 2004-11-08 2010-08-24 Lg Electronics Inc. Method and apparatus for reproducing data from recording medium using local storage
US20080036854A1 (en) * 2006-08-08 2008-02-14 Texas Instruments Incorporated Method and system of communicating and rendering stereoscopic and dual-view images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005036555A1 (ja) * 2003-10-10 2005-04-21 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法
WO2009157159A1 (ja) * 2008-06-24 2009-12-30 パナソニック株式会社 記録媒体、再生装置、集積回路、再生方法、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011239406A (ja) * 2009-05-25 2011-11-24 Panasonic Corp 記録媒体、再生装置、再生方法、プログラム

Also Published As

Publication number Publication date
JP5368470B2 (ja) 2013-12-18
JPWO2010052857A1 (ja) 2012-04-05
CN101960862A (zh) 2011-01-26
US8165458B2 (en) 2012-04-24
US20100150529A1 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
JP5368470B2 (ja) 再生装置、再生方法、再生プログラム、及び集積回路
JP5351353B1 (ja) 記録媒体、再生装置、及び集積回路
JP5491437B2 (ja) 3d映像を再生するための再生装置
JP5291026B2 (ja) 3d映像を再生する再生装置、および配信装置
JP5457299B2 (ja) 記録媒体、再生装置、及び集積回路
JP5497679B2 (ja) 半導体集積回路
WO2010038409A1 (ja) 再生装置、記録媒体、及び集積回路
JP5491414B2 (ja) 記録媒体、再生装置、及び集積回路
US20120062711A1 (en) Recording medium, playback device, system lsi, playback method, glasses, and display device for 3d images
WO2010143439A1 (ja) 再生装置、集積回路、記録媒体
WO2010113454A1 (ja) 記録媒体、再生装置、及び集積回路
WO2010076846A1 (ja) 記録媒体、再生装置、及び集積回路
KR20110126518A (ko) 기록매체, 재생장치 및 집적회로
WO2010032403A1 (ja) 映像コンテンツを立体視再生する再生装置、再生方法、および再生プログラム
US20110235988A1 (en) Recording medium, reproduction device, integrated circuit, reproduction method, and program

Legal Events

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

Ref document number: 200980107218.4

Country of ref document: CN

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

Ref document number: 09824558

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010536659

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 3094/KOLNP/2010

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09824558

Country of ref document: EP

Kind code of ref document: A1