WO2010113730A1 - 情報処理装置、情報処理方法、及び、プログラム - Google Patents

情報処理装置、情報処理方法、及び、プログラム Download PDF

Info

Publication number
WO2010113730A1
WO2010113730A1 PCT/JP2010/055134 JP2010055134W WO2010113730A1 WO 2010113730 A1 WO2010113730 A1 WO 2010113730A1 JP 2010055134 W JP2010055134 W JP 2010055134W WO 2010113730 A1 WO2010113730 A1 WO 2010113730A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
video
graphics
plane
mode
Prior art date
Application number
PCT/JP2010/055134
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 US12/993,417 priority Critical patent/US8866885B2/en
Priority to EP10758504.4A priority patent/EP2273797A4/en
Priority to CN2010800016955A priority patent/CN102301726B/zh
Publication of WO2010113730A1 publication Critical patent/WO2010113730A1/ja
Priority to HK12104571.5A priority patent/HK1164001A1/xx

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/139Format conversion, e.g. of frame-rate or size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/183On-screen display [OSD] information, e.g. subtitles or menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • 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
    • H04N5/85Television signal recording using optical recording on discs or drums

Definitions

  • the present invention relates to an information processing device, an information processing method, and a program, and more particularly, for example, an information processing device and an information processing method capable of appropriately reproducing content of a 3D (Dimension) image from a recording medium. And related to the program.
  • two-dimensional (2D) image content is the mainstream as content for movies and the like, but recently, three-dimensional (3D) image (graphic) content capable of stereoscopic viewing has attracted attention.
  • 3D images There are various methods for displaying 3D images (hereinafter, also referred to as stereo images). Regardless of which method is used, the amount of 3D images is greater than the amount of 2D images. Become big.
  • high-resolution image content such as movies may have a large capacity, and in order to record such a large-capacity image content as a 3D image with a large amount of data, a large-capacity recording medium is required.
  • Examples of such a large-capacity recording medium include Blu-Ray® Disc (hereinafter also referred to as BD) such as BD (Blu-Ray®) -ROM (Read Only Memory).
  • BD Blu-Ray® Disc
  • BD Blu-Ray® Disc
  • ROM Read Only Memory
  • BD can handle BD-J (BD Java (registered trademark)), and can provide advanced interactive functions with BD-J (Patent Document 1).
  • BD-J BD Java (registered trademark)
  • Patent Document 1 BD Document 1
  • the current BD standard does not stipulate how to record and play back 3D image content on a BD.
  • the 3D image content may not be played back properly.
  • the present invention has been made in view of such a situation, and makes it possible to appropriately reproduce 3D image content from a recording medium such as a BD.
  • An information processing apparatus or program is such that a video plane that stores a video image includes an L region that is a storage region for an image that stores a left-eye image, and a right-eye image.
  • the API for L Application Programming Interface
  • One of the APIs sets the same size and position as the size and position of the image set by the other API, gives disparity to the graphics image, and uses the original image for the left eye Graphic spray, which is data for generating images and right-eye images
  • An offset value and a PG plane offset value that is data for generating a left-eye image and a right-eye image from the original image by giving parallax to the PG (Presentation Graphics)
  • a video plane that stores a video image stores an L area that is a storage area for an image that stores a left-eye image, and a right-eye image.
  • This is a storage area in which two areas of image storage areas are arranged side by side with the R area, which is the image storage area of the area, and sets the size and position of the image stored in the L area.
  • One of the API for L (Application Programming Interface) and the R API for setting the size and position of the image stored in the R area is the size of the image set by the other API.
  • a graphics plane which is data for setting the same size and position as the position, giving parallax to the graphics image, and generating a left-eye image and a right-eye image from the original image
  • the PG plane offset value which is data for generating the left-eye image and the right-eye image, from the original image
  • the L API and the R API are added to the video plane.
  • a video plane that stores video images includes an L area that is an image storage area for one surface that stores an image for the left eye, and an area for one surface that stores an image for the right eye.
  • An image storage area is a storage area in which two areas of image storage areas are arranged side by side, and one of the API for L and the API for R is the other API Set the same size and position as the size and position of the image to be set.
  • the API for L is an API for setting the size and position of an image stored in the L area
  • the API for R is an API for setting the size and position of an image stored in the R area. is there.
  • the disparity from the original image to the graphics plane offset value which is data for generating the left eye image and the right eye image
  • the PG (Presentation Graphics) image PG plane offset value which is data for generating a left eye image and a right eye image from the original image
  • the image is scaled at the scaling ratio when scaling is performed to set the size of the video image.
  • the information processing apparatus may be an independent apparatus or an internal block constituting one apparatus.
  • the program can be provided by being transmitted through a transmission medium or by being recorded on a recording medium.
  • 3D image content can be appropriately reproduced.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of a BD player. It is a figure explaining the outline
  • FIG. 3 is a diagram for describing drawing of a graphics 3D image on a graphics plane 11 by a BD-J application. 3 is a diagram illustrating a graphics mode in which a BD-J application reproduces a graphics image by drawing a graphics 3D image on the graphics plane 11.
  • FIG. It is a block diagram which shows the functional structural example of a 3D corresponding
  • FIG. 4 is a diagram for describing switching between 3D image playback and 2D image playback in a 3D-compatible player. It is a figure explaining the setting of the position and size of the video by the author, and the correction of the position and size of the video by the 3D-compatible player. It is a block diagram which shows the functional structural example of a 3D corresponding
  • FIG. 14 is a figure which shows the 1st focus system and the 2nd focus system. It is a flowchart explaining the management of the focus of a 3D-compatible player. It is a figure which shows the position on the display screen where the 3D image of a cursor can be seen, and the position of the cursor on the graphics plane.
  • BD-ROM which is a read-only type BD, defined by “Blu-ray Disc Read-Only Format Ver1.0 part3 Audio Visual Specifications”, that is, AV ( A management structure (hereinafter also referred to as BDMV format) of audio / video data and the like will be described.
  • a bit stream encoded by an encoding method such as MPEG (Moving Picture Experts Group) video or MPEG audio and multiplexed according to the MPEG2 system is called a clip AV stream (or AV stream).
  • the clip AV stream is recorded on the BD as a file by a file system defined by "Blu-ray Disc Read-Only Format part2", which is one of the BD standards.
  • a clip AV stream file is called a clip AV stream file (or AV stream file).
  • the clip AV stream file is a management unit on the file system, and information necessary for reproducing the clip AV stream file (the clip AV stream) is recorded on the BD as a database.
  • This database is defined by "Blu-ray Disc Read-Only Format part3", one of the BD standards.
  • FIG. 1 is a diagram for explaining the outline of the BDMV format.
  • BDMV format consists of 4 layers.
  • the lowest layer is a layer to which the clip AV stream belongs, and is hereinafter also referred to as a clip layer as appropriate.
  • the layer one layer above the clip layer is a layer to which a playlist (Movie PlayList) belongs for designating a playback position for the clip AV stream, and is also referred to as a playlist layer hereinafter.
  • a playlist Media PlayList
  • the layer immediately above the playlist layer is a layer to which a movie object (Movie Object) composed of a command for designating a playback order or the like belongs to the playlist, and is also referred to as an object layer hereinafter.
  • a movie object Movie Object
  • the layer above the object layer (the highest layer) is a layer to which an index table for managing titles stored in the BD belongs, and is also referred to as an index layer hereinafter.
  • the clip layer, playlist layer, object layer, and index layer will be further described.
  • a clip AV stream is a stream in which video data or audio data as content data is in the form of TS (MPEG2 TS (Transport Stream)).
  • Clip Information is information about the clip AV stream, and is recorded on the BD as a file.
  • the clip AV stream includes graphics streams such as subtitles and menus as necessary.
  • the subtitle (graphics) stream is called a presentation graphics (PG (Presentation Graphics)) stream
  • the menu (graphics) stream is called an interactive graphics (IG (Interactive Graphics)) stream.
  • PG Presentation Graphics
  • IG Interactive Graphics
  • a set of a clip AV stream file and a file (clip information file) of corresponding clip information (clip information related to the clip AV stream of the clip AV stream file) is called a clip.
  • a clip is one object composed of a clip AV stream and clip information.
  • a plurality of positions including the first and last positions (time) when the content corresponding to the clip AV stream constituting the clip is expanded on the time axis are set as access points.
  • An access point is mainly designated by a time-stamp and a higher layer playlist (PlayList).
  • the clip information constituting the clip includes the address (logical address) of the position of the clip AV stream represented by the access point designated by the time stamp in the playlist.
  • the playlist layer (Movie PlayList) belongs to the playlist layer.
  • the playlist is composed of a play item (PlayItem) including an AV stream file to be played, a playback start point (IN point) for specifying a playback position of the AV stream file, and a playback end point (OUT point).
  • a play item including an AV stream file to be played
  • a playback start point for specifying a playback position of the AV stream file
  • a playback end point OUT point
  • a playlist is composed of a set of play items.
  • playback of a play item means playback of a section of a clip AV stream specified by an IN point and an OUT point included in the play item.
  • Movie objects (Movie Objects) and BD-J objects (Blu-ray Discs Java (registered trademark) Objects) belong to the object layer.
  • the movie object includes terminal information that links the HDMV (High Definition Movie) navigation command program (navigation command) and the movie object.
  • HDMV High Definition Movie
  • the navigation command is a command for controlling playback of the playlist.
  • the terminal information includes information for permitting a user's interactive operation on a BD player that plays BD.
  • user operations such as menu call and title search are controlled based on terminal information.
  • BD-J object is a Java (registered trademark) program and can provide a user with a more advanced (sophisticated) interactive function than a navigation command.
  • the index table belongs to the index layer.
  • the index table is a top-level table that defines the title of the BD-ROM disc.
  • An entry (column) in the index table corresponds to a title, and each entry is linked to an object (movie object, BD-J object) of a title (HDMV title, BD-J title) corresponding to the entry. .
  • Fig. 2 is a diagram for explaining the BD file management structure defined by "Blu-ray Disc Read-Only Format part 3".
  • a file under a directory means a file immediately under the directory, and a file included in the directory is a file under the directory or the directory. Means a file under a so-called subdirectory.
  • the top level directory of BD is the root directory.
  • the directory “BDMV” and the directory “CERTIFICATE” exist immediately under the root directory.
  • the directory “CERTIFICATE” stores copyright information (files).
  • the directory “BDMV” stores the files in the BDMV format described in FIG.
  • the file “index.bdmv” includes the index table described with reference to FIG. 1 as information related to the menu for playing the BD.
  • the BD player for example, displays an initial menu (screen) including items such as playing all BD contents, playing only specific chapters, repeatedly playing, displaying a predetermined menu, etc. Play based on "index.bdmv”.
  • a movie object (Movie Object) to be executed when each item is selected can be set.
  • the BD The player executes the Movie Object command set in the file “index.bdmv”.
  • the file “MovieObject.bdmv” is a file including information about Movie Object.
  • Movie Object includes a command for controlling playback of the PlayList recorded on the BD.
  • the BD player records one on the BD by selecting and executing one of the MovieObjects recorded on the BD. Play the content (title) that has been played.
  • the directory “PLAYLIST” stores a playlist database. That is, the playlist file “xxxxx.mpls” is stored in the directory “PLAYLIST”.
  • the file name of the file “xxxxx.mpls” a file name composed of a 5-digit number “xxxxx” and an extension “mpls” is used.
  • the directory “CLIPINF” stores a database of clips. That is, the directory CLIPINF "stores the clip information file" xxxxx.clpi "for each of the clip AV stream files. The file name of the clip information file” xxxxx.clpi " The file name consisting of the extension "clpi" is used.
  • the directory “STREAM” stores the clip AV stream file “xxxxx.m2ts”.
  • TS is stored in the clip AV stream file “xxxxx.m2ts”.
  • the file names of the clip information file “xxxxx.clpi” and the clip AV stream file “xxxxx.m2ts” constituting a certain clip are the same file names except for the extension. Thereby, the clip information file “xxxxx.clpi” and the clip AV stream file “xxxxx.m2ts” constituting a certain clip can be easily specified.
  • the directory “AUXDATA” stores sound files, font files, font index files, bitmap files, and the like that are used for displaying menus.
  • the file “sound.bdmv” stores predetermined sound data (audio data).
  • “sound.bdmv” is fixedly used.
  • the file with the extension “otf” stores subtitle display and font data used in BD-J objects (applications).
  • a 5-digit number is used for a portion other than the extension in the file name of the file having the extension “otf”.
  • the directory “META” stores metadata files.
  • the directory “BDJO” and the directory “JAR” store files of BD-J objects.
  • the directory “BACKUP” stores backups of files recorded on the BD.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of a BD player that plays BDs.
  • the BD player in FIG. 3 can play back a BD on which 3D image content is recorded.
  • the BD player has a built-in processor (computer) such as a CPU (Central Processing Unit) 102.
  • a built-in processor such as a CPU (Central Processing Unit) 102.
  • An input / output interface 110 is connected to the CPU 102 via the bus 101.
  • the CPU 102 executes a program stored in a ROM (Read Only Memory) 103 accordingly. .
  • the CPU 102 loads a program recorded on the hard disk 105 or the disk 100 mounted in the drive 109 into a RAM (Random Access Memory) 104 and executes it.
  • the CPU 102 performs various processes described later. Then, the CPU 102 outputs the processing result as necessary, for example, via the input / output interface 110, from the output unit 106, transmitted from the communication unit 108, and further recorded in the hard disk 105.
  • the input unit 107 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 106 includes an LCD (Liquid Crystal Display), a speaker, and the like.
  • the communication unit 108 includes a network card or the like.
  • the program executed by the CPU 102 can be recorded in advance on a hard disk 105 or a ROM 103 as a recording medium built in the BD player.
  • the program can be stored (recorded) in a removable recording medium such as the disk 100.
  • a removable recording medium can be provided as so-called package software.
  • examples of the removable recording medium include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disc, a DVD (Digital Versatile Disc), a magnetic disc, and a semiconductor memory.
  • the program can be installed on the BD player from the removable recording medium as described above, or can be downloaded to the BD player via the communication network or the broadcast network and installed on the built-in hard disk 105. That is, for example, the program is transferred from a download site to a BD player wirelessly via a digital satellite broadcasting artificial satellite, or wired to a BD player via a network such as a LAN (Local Area Network) or the Internet. Can be transferred.
  • LAN Local Area Network
  • a disc 100 is, for example, a BD, in which 3D image content is recorded in a form that maintains compatibility with a BD that is played back by a legacy player.
  • the disc 100 can be played back by a legacy player, and can also be played back by the BD player of FIG. 3 which is a BD player (hereinafter also referred to as a 3D-compatible player) capable of playing back 3D image content. it can.
  • the legacy player is a BD player that can reproduce a BD on which a 2D image content is recorded, but cannot reproduce a 3D image content.
  • the legacy player can play back 2D image content from the disc 100, but cannot play back 3D image content.
  • the BD player of FIG. 3 which is a 3D-compatible player
  • 2D image content can be reproduced from the disc 100, and 3D image content can also be reproduced.
  • the CPU 102 controls the drive 109 to reproduce the disc 100.
  • BD-J application (BD-J title) (BD-J object) is recorded as one of 3D image contents.
  • the CPU 102 executes a Java (registered trademark) virtual machine, and a BD-J application is executed on the Java (registered trademark) virtual machine.
  • FIG. 4 is a diagram for explaining the outline of 3D image processing (outline of BD-J stereoscopic graphics) by a 3D-compatible player.
  • the 3D-compatible player draws a 3D image on the logical plane 10, the PG plane 12, or the video plane 13.
  • the entities of the logical plane 10, the PG plane 12, and the video plane 13 are, for example, a partial storage area of the RAM 104 in FIG.
  • 3D images drawn by a 3D compatible player include BD-J graphics, PG (Presentation Graphics), TextST (Text subtitle), video, and background defined in the BD standard.
  • graphics 3D images are an image observed with the left eye (L (Left) -view) and an image observed with the right eye. It consists of an image for the right eye (R (Right) -view).
  • the 3D image of PG (stereo PG source), the video 3D image (stereo video source), and the background 3D image (stereo ⁇ background source) are composed of a left eye image and a right eye image.
  • left-eye image and the right-eye image constituting the video 3D image or the like can be encoded by, for example, H.264 AVC (Advanced Video Coding) / MVC (Multi-view Video coding) or the like. it can.
  • H.264 AVC Advanced Video Coding
  • MVC Multi-view Video coding
  • an image stream called a base view and an image stream called a dependent view are defined.
  • the base view does not allow predictive coding using another stream as a reference image, but the dependent view allows predictive coding using the base view as a reference image.
  • the left-eye image and the right-eye image for example, the left-eye image can be a base view, and the right-eye image can be a dependent view.
  • the 3D-compatible player draws the 3D image drawn on the logical plane 10 on the graphics plane 11 or the background plane 14.
  • the graphics plane 11 includes an L graphics plane (L (Left) graphics plane) 11L that stores an image for the left eye, and an R graphics plane (R (Right) graphics plane) 11R that stores an image for the right eye. .
  • the left-eye image constituting the graphics 3D image drawn on the logical plane 10 is drawn on the L graphics plane 11L, and the right-eye image is drawn on the R graphics plane 11R.
  • the L graphics plane 11L is a storage area (L area) of an image for one surface that stores an L (Left) image (left eye image) observed with the left eye.
  • the R graphics plane 11 ⁇ / b> R is a storage area (R area) of an image for one surface that stores an R (Right) image (right eye image) observed with the right eye.
  • the entity of the L graphics plane 11L and the R graphics plane 11R, that is, the graphics plane 11 is a storage area of a part of the RAM 104 in FIG.
  • the PG plane 12 includes an L-PG plane (L (Left) PG plane) 12L that stores an image for the left eye and an R-PG plane (R (Right) PG plane) 12R that stores an image for the right eye. Is done.
  • L-PG plane L (Left) PG plane
  • R-PG plane R (Right) PG plane
  • the 3D-compatible player draws the left-eye image constituting the PG 3D image on the L-PG plane 12L, and draws the right-eye image on the R-PG plane 12R.
  • the video plane 13 includes an L video plane (L (Left) video plane) 13L that stores an image for the left eye, and an R video plane (R (Right) video plane) 13R that stores an image for the right eye. .
  • the 3D-compatible player draws the left-eye image constituting the video 3D image on the L video plane 13L, and draws the right-eye image on the R video plane 13R.
  • the background plane 14 includes an L background plane (L (Left) background plane) 14L that stores an image for the left eye and an R background plane (R (Right) background plane) 14R that stores an image for the right eye. Composed.
  • L background plane L (Left) background plane
  • R background plane R (Right) background plane
  • the image for the left eye constituting the background 3D image drawn on the logical plane 10 is drawn on the L background plane 14L, and the image for the right eye is drawn on the R background plane 14R.
  • the left-eye image and the right-eye image drawn (stored) on the graphics plane 11, the PG plane 12, the video plane 13, and the background plane 14 are supplied to the mixer 15.
  • the mixer 15 is a graphics left-eye image from the graphics plane 11, a PG left-eye image from the PG plane 12, a video left-eye image from the video plane 13, and a background from the background plane 14.
  • the left-eye image is blended (mixed) (synthesized), and the left-eye image as a result of the synthesis is output.
  • the mixer 15 is a graphics right-eye image from the graphics plane 11, a PG right-eye image from the PG plane 12, a video right-eye image from the video plane 13, and a background plane 14.
  • the background image for the right eye is blended and synthesized, and the image for the right eye that is the result of the synthesis is output.
  • the left-eye image output from the mixer 15 is supplied to a display (not shown) as a left display output (L (Left) display output).
  • the right-eye image output from the mixer 15 is supplied to a display (not shown) as a right display output (R (Right) display output).
  • the left eye image and the right eye image from the mixer 15 are displayed alternately or simultaneously, thereby displaying a 3D image.
  • the BD-J application can draw an image on the graphics plane 11 and the background plane 14 among the graphics plane 11, the PG plane 12, the video plane 13, and the background plane 14.
  • the BD-J application can only access the logical plane 10 and cannot directly access the graphics plane 11 and the background plane 14.
  • the BD-J application can only perform image drawing on the logical plane 10 and not directly on the graphics plane 11 and the background plane 14. Therefore, the BD-J application indirectly draws an image on the graphics plane 11 or the background plane 14 by drawing an image on the logical plane 10.
  • drawing of an image on the graphics plane 11 and the background plane 14 via the logical plane 10 by the BD-J application is simply performed on the graphics plane 11 and the background plane 14. Also described as drawing an image on
  • a 3D-compatible player can be configured without the logical plane 10.
  • the BD-J application directly draws an image on the graphics plane 11 or the background plane 14.
  • the BD-J application can perform video and PG playback control such as video and PG scaling and position (display position) control in addition to drawing images on the graphics plane 11 and the background plane 14. it can.
  • the BD-J application video and PG are handled as a set (collectively). That is, the BD-J application does not distinguish (cannot distinguish) video and PG.
  • FIG. 5 is a diagram for explaining the drawing of a graphics 3D image on the graphics plane 11 (Stereoscopic graphics planes) by the BD-J application.
  • the first drawing method and the second drawing method can be adopted.
  • FIG. 5A is a diagram for explaining the first drawing method.
  • the author of the BD-J application draws on the stereo plane.
  • graphics 3D image data is composed of left-eye image data and right-eye image data
  • the BD-J application uses the left-eye image and right-eye image.
  • the work image is drawn on the logical plane 10.
  • the image for the left eye and the image for the right eye drawn on the logical plane 10 are drawn on the graphics plane 11 as they are. That is, the image for the left eye drawn on the logical plane 10 is directly drawn on the L graphics plane 11L, and the image for the right eye drawn on the logical plane 10 is drawn on the R graphics plane 11R as it is. .
  • FIG. 5B is a diagram for explaining the second drawing method.
  • the author of the BD-J application draws on a monoplane.
  • the author supplies an offset value (graphics plane offset value).
  • the 3D-compatible player generates a stereo plane from the mono plane based on the offset value.
  • the 3D image data generates a 3D image, that is, the original original image data, and the original image is given parallax, and the left image and the right eye are converted from the original image. And parallax data for generating an image for use.
  • BD-J application draws the original image on the logical plane 10.
  • the 3D-compatible player draws an image for the left eye and an image for the right eye generated by giving parallax to the original image drawn on the logical plane 10 on the L graphics plane 11L and the R graphics plane 11R, respectively. To do.
  • the parallax data is an offset value (offset)
  • the number of pixels (number of pixels) by which the position of the original image is shifted in the horizontal direction (x direction) can be employed as the offset value.
  • the original image drawn on the logical plane 10 is drawn at a position shifted in the horizontal direction by the offset value, with the right direction from the left as the positive direction. That is, an image obtained as a result of shifting the horizontal position of the original image drawn on the logical plane 10 by the offset value is drawn on the L graphics plane 11L as the left-eye image.
  • the original image drawn on the logical plane 10 is drawn at a position shifted in the horizontal direction by the offset value. That is, an image obtained as a result of shifting the horizontal position of the original image drawn on the logical plane 10 by the offset value is drawn on the R graphics plane 11R as the right-eye image.
  • the offset value when the offset value is positive, the 3D image displayed by the left-eye image and the right-eye image is lifted to the near side in the depth direction perpendicular to the display screen of the display (not shown). Looks. On the other hand, when the offset value is negative, the 3D images displayed by the left-eye image and the right-eye image appear to be recessed on the far side in the depth direction.
  • FIG. 6 is a diagram illustrating a graphics mode in which a BD-J application reproduces a graphics image by drawing a graphics 3D image on the graphics plane 11.
  • the 3D-compatible player always has a 2-plane (L graphics plane 11L and R graphics plane 11R), and the BD-J application is designed to draw on the logical plane 10.
  • the graphics left-eye image (L graphics plane) drawn on the L graphics plane 11L is the video (and PG) left-eye image (L video plane) drawn on the L video plane 13L.
  • the graphics right-eye image (R graphics plane) drawn on the R graphics plane 11R is blended with the video right-eye image (R video plane) drawn on the R video plane 13R.
  • FIG. 6A shows a mono-logical-plane + offset value mode (hereinafter also referred to as an offset graphics mode) which is one mode Mode # 1 of the graphics mode.
  • the BD-J application draws a mono image that is a graphics 2D image on the logical plane 10. Further, the BD-J application gives an offset value to the 3D-compatible player.
  • the 3D-compatible player generates a stereo image, which is a graphics 3D image, from the mono image drawn on the logical plane 10 and the offset value given from the BD-J application. Further, the BD player draws (stores) the image for the left eye constituting the stereo image on the L graphics plane 11L (L region), and also converts the image for the right eye constituting the stereo image to the R graphics plane 11R. Draw (store) in (R area).
  • the mixer 15 blends the graphics image for the left eye drawn (stored) on the L graphics plane 11L with the video (and PG) image for the left eye drawn on the L video plane 13L, and outputs the blended image. Furthermore, the mixer 15 blends the graphics right-eye image drawn on the R graphics plane 11R with the video right-eye image drawn on the R video plane 13R, and outputs the blended result.
  • FIG. 6B shows a stereo-logical-plane mode (hereinafter also referred to as stereo graphics mode) which is one mode Mode # 2 of the graphics mode.
  • the BD-J application draws the left-eye image and the right-eye image constituting the stereo image, which is a graphics 3D image, on the logical plane 10.
  • the 3D-compatible player draws the left-eye image drawn on the logical plane 10 on the L graphics plane 11L, and draws the right-eye image drawn on the logical plane 10 on the R graphics plane 11R.
  • the mixer 15 blends the graphics image for the left eye drawn on the L graphics plane 11L with the video image for the left eye drawn on the L video plane 13L, and outputs the blended image. Furthermore, the mixer 15 blends the graphics right-eye image drawn on the R graphics plane 11R with the video right-eye image drawn on the R video plane 13R, and outputs the blended result.
  • 6C shows a forced-mono-logical-plane mode (hereinafter also referred to as forced mono graphics mode) which is one mode Mode # 3 of the graphics mode.
  • forced mono graphics mode a forced-mono-logical-plane mode
  • the BD-J application draws a stereo image, which is a graphics 3D image, on the logical plane 10.
  • the 3D-compatible player is one of the L graphics image and the R graphics image among the stereo images drawn on the logical plane 10, for example, only the L graphics image is converted into the L graphics plane 11L and the R graphics plane. For example, the drawing is performed only on the L graphics plane 11L.
  • the mixer 15 blends the graphics mono image drawn on the L graphics plane 11L with the video image drawn on the L video plane 13L and outputs the blended image.
  • 6D shows a flattened-stereo-logical-plane mode (hereinafter also referred to as a flat stereo graphics mode) which is one mode Mode # 4 of the graphics mode.
  • a flat stereo graphics mode the BD-J application draws a left-eye image and a right-eye image that form a stereo image that is a graphics 3D image on the logical plane 10.
  • the 3D-compatible player is one of the left-eye image and the right-eye image drawn on the logical plane 10, for example, only the left-eye image is converted into the L graphics plane 14L and the R graphics plane 14R. Draw both images and discard the other image for the right eye.
  • the graphics left-eye image drawn on the L graphics plane 14L is supplied to the mixer 15, and the graphics left-eye image drawn on the graphics plane 14R is either (as the right-eye image). Is also supplied to the mixer 15.
  • 6E shows a mono-logical-plane mode (hereinafter also referred to as a mono graphics mode) which is one mode Mode # 5 of the graphics mode.
  • the BD-J application draws a mono image that is a graphics 2D image on the logical plane 10.
  • the 3D-compatible player draws the mono image drawn on the logical plane 10 only on the L graphics plane 11L, for example, one of the L graphics plane 11L and the R graphics plane 11R.
  • the mixer 15 blends the graphics mono image drawn on the L graphics plane 11L with the video image drawn on the L video plane 13L and outputs the blended image.
  • the offset value can be applied to the graphic plane 11 and the PG plane 12.
  • the offset value applied to the graphic plane 11 (data that gives a parallax to a graphics image) is also referred to as a graphics plane offset value.
  • an offset value (data that gives parallax to a PG image) applied to the PG plane 12 is also referred to as a PG plane offset (PG plane offset) value.
  • the following API for reading and writing offset values is defined, and the graphics plane offset value can be set and obtained by the dedicated API.
  • the setOffset () method is a method for storing (setting) the graphics plane offset value in an internal storage area that is a storage area provided inside the BD player, and getOffset () is an internal storage of the BD player. This method acquires the graphics plane offset value stored in the area.
  • the BD player also has a PSR (Player Setting Register) that stores information related to BD playback, and the graphics plane offset value and PG plane offset value are reserved in the legacy player of the PSR. For example, it can be stored in PSR # 21.
  • PSR Player Setting Register
  • the substance of the internal storage area and the PSR is a partial storage area of the RAM 104 and the hard disk 105 in FIG.
  • 3D-compatible players can indirectly write to PSR by defining an offset value as General ⁇ ⁇ ⁇ ⁇ ⁇ Preference.
  • the 3D-compatible player stores information related to BD playback, using the BD standard graphics and the offset value, which is data that gives disparity to the PG image, as one of the general preferences of the BD standard (General Preference). It has a general preference API (Application Programming Interface) that reads and writes offset values for PSR # 21.
  • PSR # 21 is mapped to General Preference of BD standard part3-2 Annex L, and the value can be set and obtained with org.dvb.user. GeneralPreference API.
  • the general preference name (General Preference name) for accessing the PSR with the General Preference API can be defined as follows.
  • the general preference name of the graphics plane offset value can be defined as, for example, “graphics offset”.
  • the general preference name of the PG plane offset value can be defined as, for example, “subtitle ⁇ ⁇ ⁇ offset”.
  • the following dedicated API can be defined, and the graphics plane offset value can be set and obtained by the dedicated API.
  • the setOffset () method is a method for storing the graphics plane offset value in the internal storage area of the BD player (in this case, for example, PSR), and getOffset () is stored in the internal storage area of the BD player. This method obtains the graphics plane offset value.
  • FIG. 7 shows the functional configuration of the BD player in FIG. 3 as a 3D-compatible player that reads and writes BD standard graphics and offset values of PG (hereinafter, including TextST unless otherwise specified) as described above. It is a block diagram which shows an example.
  • a in FIG. 7 is a diagram as a 3D-compatible player having an API dedicated to read / write offset values, in which the BD standard graphics and PG offset values are read / written from / to the internal storage area of the 3D-compatible player.
  • 3 is a block diagram illustrating a functional configuration example of a BD player 3; FIG.
  • the BD-J application requests the offset value reading / writing (setting or acquisition) to the API for reading / writing the offset value (General Preference API).
  • the API for reading / writing the offset value sets the offset value (graphics plane offset value, PG plane offset value) in the internal storage area of the 3D-compatible player in response to a request from the BD-J application, or Get the offset value from the internal storage area of the 3D-compatible player and return it to the BD-J application.
  • the playback control engine (Playback Control Engine) is an image (original) drawn on the logical plane 10 by the BD-J application in accordance with the offset value set in the internal storage area of the 3D-compatible player. Control for generating (reproducing) an image for the left eye and an image for the right eye from the image).
  • an API for reading and writing offset values is defined, and the API for reading and writing offset values gives disparity to BD standard graphics and PG images in response to requests from BD-J applications.
  • the offset value which is data
  • the offset value that gives the parallax to the image can be indirectly set and acquired from the BD-J application.
  • FIG. 7 is a 3D-compatible player having a general preference API for reading and writing an offset value to / from PSR # 21, using BD standard graphics and PG offset values as one of the general preferences of the BD standard.
  • FIG. 4 is a block diagram illustrating a functional configuration example of the BD player in FIG. 3.
  • the BD-J application requests the general preference API (General Preference API) to read / write (set or acquire) the offset value.
  • general preference API General Preference API
  • the BD-J application calls the general preference API with the general preference name (General Preference name) as “graphics offset”.
  • the BD-J application calls the general preference API with the general preference name as “subtitlesuboffset”.
  • the General Preferences API sets an offset value in PSR # 21 of PSR (Player Setting Register) or obtains an offset value from PSR # 21 in response to a request from the BD-J application. Return to BD-J application.
  • the playback control engine uses an image (original image) drawn on the logical plane 10 by the BD-J application in accordance with the offset value set in PSR # 21. Control for generating (reproducing) a left-eye image and a right-eye image is performed.
  • the General Preference API uses the BD standard graphics and the offset value, which is data that gives parallax to the PG image, as one of the BD standard General Preference.
  • the offset value which is data that gives parallax to the PG image
  • an offset value that gives parallax to an image can be indirectly set and acquired from a BD-J application.
  • FIG. 8 is a diagram showing a video mode for reproducing a video image, which is one of the configurations of the video plane 13.
  • a mono-video mode (hereinafter also referred to as a mono video mode) which is one mode Mode # 1 of the video mode.
  • the 3D-compatible player converts a mono image, which is a 2D image of video, into one of the L video plane 13L (L region) and the R video plane 13R (R region), for example, L video. Draw (store) only on the plane 13L.
  • the video mono image drawn (stored) only on the L video plane 13L is supplied to the mixer 15.
  • FIG. 8B shows a dual-mono-video mode (hereinafter also referred to as a dual mono video mode) which is one mode Mode # 2 of the video mode.
  • the 3D-compatible player draws (stores) a mono image that is a 2D image of a video on the L video plane 13L (L region) (as an image for the left eye) and displays the mono image. , (As an image for the right eye), is drawn (stored) on the R video plane 13R (R region).
  • the video mono image drawn (stored) on the L video plane 13L and the video mono image drawn on the R video plane 13R are both supplied to the mixer 15.
  • stereo video mode 8C shows a stereo-video mode (hereinafter also referred to as stereo video mode) which is one mode Mode # 3 of the video mode.
  • the 3D-compatible player draws the left-eye image constituting the stereo image that is the 3D image of the video on the L video plane 13L, and the right-eye image constituting the stereo image is rendered as the R video. Draw on the plane 13R.
  • the video image for the left eye drawn (stored) on the L video plane 13L and the video image for the right eye drawn on the R video plane 13R are both supplied to the mixer 15.
  • FIG. 8D shows a flattened-stereo-video mode (hereinafter also referred to as a flat stereo video mode) which is one mode Mode # 4 of the video mode.
  • the 3D-compatible player selects one of the left-eye image and the right-eye image constituting the stereo image that is a 3D image of the video, for example, only the left-eye image, Drawing is performed on both the video plane 13L and the R video plane 13R, and the other right-eye image is discarded.
  • the video image for the left eye drawn (stored) on the L video plane 13L is supplied to the mixer 15, and the video image for the left eye drawn on the R video plane 13R is (the image for the right eye). ) To the mixer 15.
  • 8E shows a forced-mono-video mode (hereinafter also referred to as forced mono video mode) which is one mode Mode # 5 of the video mode.
  • the 3D-compatible player selects one of the left-eye image and the right-eye image that form a stereo image that is a 3D image of the video, for example, only the left-eye image.
  • the drawing is performed only on the L video plane 13L, which is one of the video plane 13L and the R video plane 13R, and the other right-eye image is discarded.
  • FIG. 9 is a diagram showing a background mode in which a background image is reproduced, which is one of the configurations of the background plane 14.
  • FIG. 9A shows a dual-mono-background mode (hereinafter also referred to as dual mono background mode) which is one mode Mode # 1 of the background mode.
  • the BD-J application draws a mono image, which is a background 2D image, on the logical plane 10 as an image for the left eye and an image for the right eye.
  • the 3D-compatible player draws (stores) the image for the left eye drawn on the logical plane 10 on the L background plane 14L (L region), and the image for the right eye drawn on the logical plane 10 , R is drawn (stored) on the R background plane 14R (R region).
  • the background image for the left eye drawn (stored) on the L background plane 14L and the image for the right eye background drawn on the R background plane 14R are both supplied to the mixer 15.
  • FIG. 9B shows a stereo-background mode (hereinafter also referred to as a stereo background mode) which is one mode Mode # 2 of the background mode.
  • the BD-J application draws the left-eye image and the right-eye image constituting the stereo image that is the background 3D image on the logical plane 10.
  • the 3D-compatible player draws the image for the left eye drawn on the logical plane 10 on the L background plane 14L, and draws the image for the right eye drawn on the logical plane 10 on the R background plane 14R. To do.
  • the background left-eye image drawn on the L background plane 14L and the background right-eye image drawn on the R background plane 14R are both supplied to the mixer 15.
  • FIG. 9C shows a flattened-stereo-background mode (hereinafter also referred to as flat stereo background mode) which is one mode Mode # 3 of the background mode.
  • the BD-J application draws the image for the left eye and the image for the right eye constituting the stereo image that is the background 3D image on the logical plane 10.
  • the 3D-compatible player selects one of the left-eye image and the right-eye image drawn on the logical plane 10, for example, only the left-eye image, the L background plane 14L, and R Drawing on both of the background planes 14R, discarding the other right-eye image.
  • the background image for the left eye drawn on the L background plane 14L is supplied to the mixer 15, and the image for the left eye drawn on the R background plane 14R is (as the image for the right eye). ,) Are supplied to the mixer 15.
  • FIG. 9D shows a mono-background mode (hereinafter also referred to as a mono background mode) which is one mode Mode # 4 of the background mode.
  • the BD-J application draws a mono image that is a background 2D image on the logical plane 10.
  • the 3D-compatible player draws the mono image drawn on the logical plane 10 only on the L background plane 14L, for example, one of the L background plane 14L and the R background plane 14R.
  • the background mono image drawn on the L background plane 14L is supplied to the mixer 15.
  • 9E shows a forced-mono-background mode (hereinafter also referred to as a forced mono background mode) that is one mode Mode # 5 of the background mode.
  • the BD-J application draws the image for the left eye and the image for the right eye constituting the stereo image that is the background 3D image on the logical plane 10.
  • the 3D-compatible player selects one of the left-eye image and the right-eye image drawn on the logical plane 10, for example, only the left-eye image, the L background plane 14L, and R Drawing is performed only on one of the background planes 14R, for example, the L background plane 14L, and the other image for the right eye is discarded.
  • the background image for the left eye drawn on the L background plane 14 ⁇ / b> L is supplied to the mixer 15.
  • the graphics plane 11 for storing graphics the video plane 13 for storing video (and the PG plane 12 for storing PG), and the background plane 14 for storing background shown in FIG. 4 are summarized. Also referred to as a device plane.
  • the device plane configuration is (1) image frame and color depth, (2) video mode (Video mode), and (3) graphics mode (BD-J Graphics). mode), and (4) background mode (Background mode).
  • FIG. 10 shows the relationship among the graphics plane 11, the PG plane 12, the video plane 13, and the background plane 14, which are device planes.
  • the graphics plane 11 includes an L graphics plane 11L as an L area that is a storage area for storing a left-eye image and an R graphics plane 11R as an R area that is a storage area for storing a right-eye image. .
  • the L graphics plane 11L and the R graphics plane 11R are arranged side by side.
  • the L graphics plane 11L and the R graphics plane 11R are moved up and down so that the L graphics plane 11L that is the L region is on the upper side and the R graphics plane 11R that is the R region is on the lower side.
  • the graphics plane 11 is configured by arranging them side by side.
  • Images drawn on the graphics plane 11, the PG plane 12, the video plane 13, and the background plane 14 are superimposed in this order from the front side in the order of the graphics plane 11, the PG plane 12, the video plane 13, and the background plane 14. (Blend), the L region image and the R region image obtained as a result are alternately drawn (stored) on the logical screen 21 that abstracts the display screen of the display, for example.
  • the substance of the logical screen 21 is a partial storage area of the RAM 104.
  • the device plane is a storage area in which an L area and an R area, which are storage areas for one image, are arranged one above the other, and is therefore a storage area for two images.
  • the screen 21 is a storage area for one image.
  • the configuration of the device plane is defined for the entire device plane, which is a storage area for two images, for 3D images.
  • FIG. 11 shows (1) image frame (Resolution) and color depth (color-depth), which is one of the device plane configurations.
  • the image frame of 5 lines from the top (the width of the device plane ⁇ the number of vertical pixels) (resolution) and the color depth indicate the image frame and color depth of the 3D image, and the remaining 5
  • the image frame and color depth of the row (5 rows from the bottom) indicate the image frame and color depth of the 2D image.
  • the 3D image is composed of an image for the left eye and an image for the right eye, so it becomes an image for two surfaces.
  • the device plane is a storage area in which an L area and an R area, which are storage areas for one image, are arranged vertically, a 3D image stored in such a device plane
  • the image frame has a size obtained by doubling the number of pixels in the vertical direction of the corresponding 2D image (a 2D image having the same size as the left-eye image (or right-eye image)).
  • graphics (images) stored in the graphics plane 11 and background (images) stored in the background plane 14 are both In principle, it matches the image frame of the video stored in the video plane 13.
  • the background frame stored in the background plane 14 is stored in the video plane 13.
  • the image frame is 1920 ⁇ 1080 pixels
  • the graphics image frame stored in the graphics plane 11 is 1/2 in the horizontal and vertical directions of the video image frame stored in the video plane 13, respectively.
  • 2 960 ⁇ 540 pixels
  • the graphics of 960 ⁇ 540 pixels stored in the graphics plane 11 is 1920 ⁇ 1080 which is a video image frame stored in the video plane 13 by doubling the horizontal and vertical dimensions. Displayed after matching the pixels.
  • 3D image mismatch cases there are cases corresponding to 2D image mismatch cases (hereinafter also referred to as 3D image mismatch cases).
  • the background frame stored in the background plane 14 is stored in the video plane 13.
  • the image frame is 1920 ⁇ 2160 pixels
  • the graphics image frame stored in the graphics plane 11 is 1/2 in the horizontal and vertical directions of the video image frame stored in the video plane 13, respectively. It becomes 960 ⁇ 1080 pixels set to 2 (in FIG. 11, the third row from the top).
  • FIG. 12 is a diagram for explaining a method of drawing a 3D image by the second drawing method (B in FIG. 5) in the case of mismatching 3D images.
  • the original image from which the 3D image is generated is drawn on the logical plane 10, and then the original image is moved in the horizontal direction by an offset value.
  • the left-eye image and the right-eye image generated by sliding are drawn on the graphics plane 11.
  • each of an upper half and a lower half of a vertically long image obtained by arranging two images of an original image and a copy of the original image in the horizontal direction is horizontal according to an offset value. It can be said that this is a method of drawing two images obtained by shifting in the direction on the graphics plane 11 as an image for the left eye and an image for the right eye.
  • 960 ⁇ 1080 pixel graphics in the case of mismatching 3D images can be obtained by sliding each of the upper half and the lower half horizontally according to the offset value.
  • the image for the left eye and the image for the right eye of ⁇ 540 pixels are drawn on the graphics plane 11, and then the horizontal and vertical images of the left eye image and the right eye image on the graphics plane 11 are respectively doubled,
  • the resulting left-eye image and right-eye image are images in which the amount of shift in the horizontal direction is twice the offset value.
  • the position in the depth direction of the 3D image displayed by the left-eye image and the right-eye image is different from the position intended by the author.
  • the position in the depth direction of the 3D image displayed by the image for the left eye and the image for the right eye is the position intended by the author.
  • FIG. 13 is a diagram for explaining the device plane.
  • an image storage area for one screen is assumed as the logical screen 21, and an image for the left eye (Left / Left is stored in the logical screen 21 that is the image storage area for one screen.
  • -eye and right-eye images are not supposed to be drawn alternately.
  • the current BD standard assumes that there is a one-to-one relationship between the configuration of the device plane and the logical screen 21. Under this premise, the processing of 3D images requires two separate logical screens, that is, a logical screen for drawing a left-eye image and a logical screen for drawing a right-eye image. .
  • the device configuration for L / R is defined on one side by doubling the definition of resolution in the vertical direction.
  • the logical screen itself is one surface as before, and a drawing model that simultaneously draws the output for L / R is defined there.
  • the BD player in FIG. 3 includes device planes (graphics plane 11, video plane 13 (PG plane 12), and background plane 14) that store BD-standard graphics, video, or background images. .
  • device planes graphics plane 11, video plane 13 (PG plane 12), and background plane 14 that store BD-standard graphics, video, or background images.
  • the device plane has two planes, an L area that is an area for storing one image for storing an image for the left eye and an R area that is an area for storing one image for storing an image for the right eye.
  • the storage areas of the image planes are arranged side by side, and the configuration of the device plane is defined for the entire device plane, which is the storage area of the image for two planes.
  • the image for the left eye and the image for the right eye stored in the device plane are drawn on the logical screen 21 alternately, for example.
  • a logical screen for storing a left-eye image (L image) and a logical screen for storing a right-eye image (R image) are not separately provided as logical screens. It will end.
  • Configuration can be specified (set) by providing a bit field for specifying the configuration in the BD-J object (Object) file.
  • FIG. 14 shows bit fields provided in the BD-J object file to specify the configuration.
  • initial_configuration_id In the BD-J object file, four fields of initial_configuration_id, initial_graphics_mode, initial_video_mode, and initial_background_mode can be provided to specify the configuration.
  • Initial_configuration_id is a field for specifying (1) image frame and color depth. Assuming that the value taken by initial_configuration_id is configuration id, the following value is defined as configuration id.
  • HD_1920_1080 is the image frame and color depth of the sixth line from the top of FIG. 11
  • HD_1280_720 is the image frame and color depth of the eighth line from the top of FIG. 11
  • SD_720_576 is 10 lines from the top of FIG.
  • the image frame and color depth of the eye SD_720_480 is the image frame and color depth of the ninth line from the top in FIG. 11
  • QHD_960_540 is the image frame and color depth of the seventh line from the top of FIG.
  • HD_1920_2160 is 11 shows the image frame and color depth of the first line from the top
  • HD_1280_1440 shows the image frame and color depth of the second line from the top of FIG.
  • SD_720_1152 shows the image frame and color depth of the fifth line from the top of FIG.
  • SD_720_960 represents the image frame and color depth in the fourth row from the top in FIG. 11
  • QHD_960_1080 represents the image frame and color depth in the third row from the top in FIG. 11, respectively.
  • “Initial_graphics_mode” is a field for specifying (3) graphics mode.
  • initial_graphics_mode that specifies the graphics mode.
  • GRAPHICS_MONO_VIEW represents the mono-brax mode
  • GRAPHICS_STEREO_VIEW represents the stereo graphics mode
  • GRAPHICS_PLANE_OFFSET represents the offset graphics mode
  • GRAPHICS_DUAL_MONO_VIEW represents the flat stereo graphics mode
  • GRAPHICS_FORCED_MONO_VIEW represents the forced mono graphics mode
  • initial_configuration_id is set to 1, 2, 3, 4, or 5
  • initial_graphics_mode is ignored.
  • Initial_video_mode is a field for specifying (2) video mode.
  • the video mode Video mode
  • the dual mono video mode dual-mono
  • stereo video mode stereo
  • flat stereo video mode flattened-stereo
  • mono video mode mono Legacy playback mode
  • forced mono video mode forced-mono
  • initial_video_mode that specifies the video mode.
  • VIDEO_MONO_VIEW represents the mono video mode
  • VIDEO_STEREO_VIEW represents the stereo video mode
  • VIDEO_FLATTENED_STEREO_VIEW represents the flat stereo video mode
  • VIDEO_DUAL_MONO_VIEW represents the dual mono video mode
  • VIDEO_FORCED_MONO_VIEW represents the forced mono video mode
  • initial_configuration_id is set to any one of 1, 2, 3, 4 and 5
  • initial_video_mode is ignored.
  • Initial_background_mode is a field for specifying (4) background mode.
  • the background mode the dual mono background mode (dual-mono), stereo background mode (stereo), flat stereo background mode (flattened-stereo) described in FIG.
  • ground mode monoochrome (Legacy playback ⁇ mode)
  • forced mono background mode forced-mono
  • initial_background_mode that specifies the background mode.
  • the background_mono_view is a mono background mode
  • the background_stereo_view is a stereo background mode
  • the background_flattened_stereo_view is a flat stereo background mode
  • the background_dual_mono_view is a dual mono background mode
  • the background_forced_mono_view is a forced mono background mode
  • initial_configuration_id is set to 1, 2, 3, 4, or 5
  • initial_background_mode is ignored.
  • initial_configuration_id When only initial_configuration_id is specified in the BD-J Object file, initial default values of initial_video_mode, initial_graphics_mode, and initial_background_mode are required.
  • FIG. 15 shows default specified values of initial_video_mode, initial_graphics_mode, and initial_background_mode.
  • STEREO_VIEW of the video mode represents the above-mentioned VIDEO_STEREO_VIEW or VIDEO_FLATTENED_STEREO_VIEW
  • MONO_VIEW represents the above-mentioned VIDEO_MONO_VIEW or VIDEO_DUAL_MONO_VIEW.
  • STEREO_VIEW of the graphics mode represents the above GRAPHICS_STEREO_VIEW or GRAPHICS_PLANE_OFFSET
  • MONO_VIEW represents the above GRAPHICS_MONO_VIEW or GRAPHICS_DUAL_MONO_VIEW.
  • STEREO_VIEW in the background mode represents the above-mentioned BACKGROUND_STEREO_VIEW or BACKGROUND_FLATTENED_STEREO_VIEW
  • MONO_VIEW represents the above-mentioned BACKGROUND_MONO_VIEW or BACKGROUND_DUAL_MONO_VIEW.
  • the configuration is the timing when BD-J title is activated, when auto-reset is performed during PlayList playback (dynamic change), and when API is called by the BD-J application (dynamic change). It can be changed.
  • the plane configuration can be changed even during AV playback.
  • the configuration can be changed while an AV stream (video) is being played.
  • the image frame is aligned (when BD-J title is activated, video / background is aligned with the graphics image frame, and during PlayList playback, graphics / background is Change the configuration so that when the API is called by the BD-J application, the plain image frame set by the API is aligned with the other non-configured plain image frames so that the video image frame is aligned.
  • This process is performed by a 3D-compatible player. Also, error processing when changing the configuration depends on the 3D-compatible player.
  • KEEP_RESOLUTION playback is a playback mode that synthesizes SD (Standard definition) video, HD (High Definition) graphics, and HD background, 1920 ⁇ 1080 pixel Graphics, 720 ⁇ 480 pixel Video + PG.
  • a background of 1920 ⁇ 1080 pixels is combined, and in some cases, a Graphics of 1920 ⁇ 1080 pixels, a Video + PG of 720 ⁇ 576 pixels, and a background of 1920 ⁇ 1080 pixels are combined.
  • playback of an image of 1280 ⁇ 720 pixels, which is an HD image is not included in KEEP_RESOLUTION playback.
  • FIG. 16 and 17 show combinations of resolutions (image frames) of Video + PG, BD-J graphics, and background for playback other than KEEP_RESOLUTION playback.
  • FIG. 17 is a figure following FIG.
  • FIG. 18 shows an example of configuration change processing.
  • FIG. 18A shows an example of processing of a 3D-compatible player when the configuration (video mode) of graphics (graphics plane 11) is changed from STEREO_VIEW to MONO_VIEW.
  • the graphics plane 11L and the R graphics plane 11R constituting the graphics plane 11 of 1920 ⁇ 2160 pixels the graphics plane Suppose that the video mode is changed from STEREO_VIEW to MONO_VIEW without resetting 11 (as a storage area).
  • the 3D-compatible player may forcibly terminate as an error (image playback).
  • FIG. 18B shows an example of processing of a 3D-compatible player when the video mode is changed from MONO_VIEW to STEREO_VIEW.
  • the graphics drawn on the L graphics plane 11L are copied to the R graphics plane 11R, and the graphics drawn on the L graphics plane 11L are supplied to the logical screen 21 as an image for the left eye.
  • graphics copied to the R graphics plane 11R are supplied to the logical screen 21 as an image for the right eye.
  • the 3D-compatible player may forcibly terminate as an error (image playback).
  • rule # 1-1 is a rule that the resolution (image frame) of the three images of Graphics, Video, and Background must always be the same in the configuration (of the device plane). is there.
  • rule # 1-2 when PlayList playback is performed in addition to KEEP_RSOLUTION playback, the resolution (image frame) of the three images, Graphics, Video, and Background, must match the video resolution in the configuration. This is the rule.
  • Rule # 1-3 is a rule that, when the graphics is QHD graphics in the configuration, the resolution after scaling by 2 times in the vertical direction and 2 times in the horizontal direction is used as the resolution of the configuration. .
  • videoinitialmode, graphics mode, and background mode are determined according to the default values specified by the initial_configuration_id of the BD-J object file (video mode, graphics mode, and background mode are determined) .
  • rule # 2-1 is a rule that in the (device plane) configuration, the resolution (image frame) of the three images of Graphics, Video, and Background must always be the same resolution. is there.
  • rule # 2-2 when PlayList playback is performed in addition to KEEP_RSOLUTION playback, the resolution (image frame) of the three images Graphics, Video, and Background must match the video resolution in the configuration. This is the rule.
  • Rule # 2-3 is a rule that, when the graphics is QHD graphics in the configuration, the resolution after scaling by 2 times in the vertical direction and 2 times in the horizontal direction is used as the resolution of the configuration. .
  • the video plane configuration is automatically aligned with the video attribute of the PlayList.
  • the current BD standard specifies that graphics plane and background plane should also automatically align with the video plane attribute as an essential function on the BD player side. Yes.
  • the mode of graphics and background are set to predetermined initial values (predetermined initial values).
  • FIG. 19 shows predetermined initial values of the graphics mode and the background mode.
  • FIG. 20 shows graphics and background images that are played back when a 3D image (stereo image) of 1920 ⁇ 2160 pixels is played back.
  • a 1920 ⁇ 2160 pixel 3D image is played back, and as a background, a 1920 ⁇ 2160 pixel 3D image is played back.
  • rule # 3-1 is a rule that in the configuration (device plane), the resolution (image frame) of the three images of Graphics, Video, and Background must always be the same resolution. is there.
  • Rule # 3-3 is a rule that when the graphics is QHD graphics in the configuration, the resolution after scaling by 2 times in the vertical direction and 2 times in the horizontal direction is set as the resolution of the configuration. .
  • FIG. 21 is a diagram for explaining a change in resolution (image frame) as a configuration by calling an API by a BD-J application.
  • the 3D-compatible BD player automatically changes the resolution of the video 3D image and the background 3D image in accordance with the rules # 3-1, # 3-2, and # 3-3 described above.
  • the resolution of the background 3D image is changed by calling an API.
  • the 3D-compatible BD player automatically changes the resolution of the graphics 3D image and video 3D image according to the rules # 3-1, # 3-2, and # 3-3 described above. To do.
  • the resolution of the video 3D image is changed by calling an API.
  • the 3D-compatible BD player automatically changes the resolution of the graphics 3D image and background 3D image according to the rules # 3-1, # 3-2, and # 3-3 described above. To do.
  • the 3D-compatible player can seamlessly change (switch) the graphics mode between the stereo graphics mode (stereo graphics) and the offset graphics mode (offset graphics).
  • FIG. 22 is a diagram for explaining the change of the graphics mode.
  • FIG. 22A shows playback of graphics 3D images (plane (offset gfx (graphics)), video (and PG) 3D images (stereo video + PG), and background 3D images (stereo background) in the offset graphics mode.
  • the graphics mode is changed from the offset graphics mode to the stereo graphics mode.
  • graphics 3D image plane offset gfx
  • video (and PG) 3D image stereo video + PG
  • background 3D image stereo background
  • the graphics 3D image (stereo gfx (graphics)), video (and PG) 3D image (stereo video + PG), and background 3D image (stereo background) are switched to playback. Can be done seamlessly.
  • Offset graphics from reverse switching ie, playback of graphics 3D images (stereo gfx), video (and PG) 3D images (stereo video + PG), background 3D images (stereo background) in stereo graphics mode
  • 3D graphics plane offset ⁇ gfx
  • video (and PG) 3D images stereo video + PG
  • background 3D images stereo background
  • FIG. 22 shows graphics during playback of a graphics 3D image (stereo gfx), video (and PG) 3D image (stereo video + PG), and background 2D image (mono background). This shows a case where the mode is changed from the stereo graphics mode to the offset graphics mode.
  • FIG. 23 shows a change of the graphics mode from the stereo graphics mode to the offset graphics mode.
  • the playback target is switched from the graphics 3D image (stereo gfx) in the stereo graphics mode to the graphics 3D image (plane offset gfx) in the offset graphics mode.
  • blackout may occur if the resolution is changed when the graphics mode is changed.
  • the 3D-compatible player can seamlessly change (switch) the background mode between the stereo background mode (stereo background) and the mono background mode (mono background).
  • FIG. 24 is a diagram for explaining the change of the background mode.
  • FIG. 24A shows a graphics 3D image (stereo gfx), a video (and PG) 3D image (stereo video + PG), and a background 3D image (stereo background) in stereo background mode. This shows a case where the background mode is changed from the stereo background mode to the mono background mode.
  • the reverse switching can be performed seamlessly.
  • FIG. 24 shows during playback of a graphics 3D image (plane offset gfx), video (and PG) 3D image (stereo video + PG), and background 2D image (mono ⁇ ⁇ background) in mono background mode.
  • This shows a case where the background mode is changed from the mono background mode to the stereo background mode.
  • the reverse switching can be performed seamlessly.
  • the 3D-compatible player changes (switches) the video mode among the stereo video mode (stereo video), the flat stereo video mode (flattened-stereo video), and the dual mono video mode (dual-mono video). Can be done seamlessly.
  • FIG. 25 is a diagram for explaining the change of the video mode.
  • FIG. 25A is a diagram for explaining the change of the video mode when a video image is reproduced together with a graphics 3D image (stereo gfx) and a background 3D image (stereo background).
  • the video mode is the stereo video mode and the 3D image (stereo3video ⁇ + PG) of the video (and PG) in the stereo video mode is being played back
  • the video mode is changed from the stereo video mode to the flat stereo video mode.
  • the video image is changed from a 3D image (stereo video + PG) in stereo video mode to a 3D image (and PG) in flat stereo video mode (flattened video + PG) is switched, but this switching can be performed seamlessly.
  • the reverse switching can be performed seamlessly.
  • the video mode is the flat stereo video mode and a 3D image (flattenedDvideo + PG) of the video (and PG) in the flat stereo video mode is being played back
  • the video mode is changed from the flat stereo video mode.
  • the video image will change from 3D image (flattened3video + PG) in flat stereo video mode to video (and PG) in dual mono video mode
  • Switching to a 3D image (dual-mono video + PG) is possible, but this switching can be performed seamlessly.
  • the reverse switching can be performed seamlessly.
  • FIG. 25 is a diagram for explaining the change of the video mode when a video image is reproduced together with a graphics 3D image (plane offset) gfx) and a background 2D image (mono background). .
  • the video mode is a dual mono video mode and a 3D image (dual-mono video + PG) of a video (and PG) in the dual mono video mode is being played back
  • the video mode is changed from the dual mono video mode.
  • the video image is from video (and PG) in dual video mode (from dual-mono video ⁇ ⁇ ⁇ ⁇ + PG) to video (and PG) in flat stereo video mode
  • the 3D image flattened video + PG
  • the reverse switching can be performed seamlessly.
  • the video mode is the flat stereo video mode and a 3D image (flattenedDvideo + PG) of the video (and PG) in the flat stereo video mode is being played back
  • the video mode is changed from the flat stereo video mode.
  • the video image will change from 3D image of video (and PG) in flat stereo video mode (flattened video + PG) to 3D image of video (and PG) in stereo video mode Switching to (stereo video + PG) is possible, but this switching can be done seamlessly.
  • the reverse switching can be performed seamlessly.
  • the configuration is defined by resolution (image frame) and color depth. For this reason, changing the configuration changes the resolution. However, when the resolution is changed, playback is temporarily stopped and the display screen is blacked out.
  • the playback mode of Graphics plane mono-logical-plane + offset value can be specified as a 1920 ⁇ 1080 / 32bpp configuration, but in this case, for example, mono-logical-plane + offset value There is a possibility that blackout is induced by switching from stereo to logical-plane.
  • the plane configuration is unified into two plane definitions (1920 x 2160 pixels, 1280 x 1440 pixels, (960 x 1080 pixels), 720 x 960 pixels, 720 x 1152 pixels), and resolution / color Define attributes other than depth as mode values. Then, when only the mode is changed without changing the resolution, the configuration can be changed without setting the display screen in a blackout state. Further, like the legacy player, the configuration can be changed by calling the Configuration Preference setting API.
  • FIG. 26 is a block diagram showing a functional configuration example of the BD player in FIG. 3 as such a 3D-compatible player.
  • an L area that is a storage area for one image that stores an image for the left eye and an R area that is a storage area for one image that stores an image for the right eye A configuration of a device plane, which is a storage area in which storage areas for two image planes are arranged side by side, is defined for the entire device plane.
  • five modes of a mono graphics mode, a stereo graphics mode, an offset graphics mode, a forced mono graphics mode, and a flat stereo graphics mode are defined as graphics modes.
  • five modes of a mono video mode, a dual mono video mode, a stereo video mode, a forced mono video mode, and a flat stereo video mode are defined as video modes.
  • the background mode five modes of a mono background mode, a dual mono background mode, a stereo background mode, a forced mono background mode, and a flat stereo background mode are defined.
  • the configuration of the device plane includes (1) image frame (resolution) and color depth, (2) video mode, (3) graphics mode, and (4) background mode.
  • the setting (change) of the video mode, (3) graphics mode, and (4) background mode can be performed by the configuration mode setting API.
  • the BD-J application when changing the video mode, the graphics mode, or the background mode, the BD-J application calls the configuration mode (configuration mode) setting API, and the video mode, the graphics mode, or Request background mode change (setting).
  • the configuration mode setting API directly selects the necessary ones from the presentation engine (Presentation Engine), video decoder (video decoder), and display processor (Display processor).
  • the video mode, the graphics mode, or the background mode is changed (set) by controlling indirectly.
  • the BD-J application calls the resolution setting API and requests the change (setting) of the resolution and the like.
  • the resolution setting API controls the necessary ones of the presentation engine, video decoder, and display processor directly or indirectly according to the request from the BD-J application. And change (set) the color depth.
  • a presentation engine is a playback control engine (Playback (not shown)) that controls playback of BDs, with a decoding function and presentation function (Presentation functions) for audio, video, and HDMV graphics. Provide to Control Engine).
  • a video decoder decodes an image. Furthermore, the display processor (Display processor) superimposes each of the graphics plane, video (video + PG) plane, and ⁇ ⁇ ⁇ ⁇ background ⁇ ⁇ ⁇ ⁇ plane, and then displays the image obtained by the overlaying on the display connected to the BD player. The hardware to output.
  • Display processor superimposes each of the graphics plane, video (video + PG) plane, and ⁇ ⁇ ⁇ ⁇ background ⁇ ⁇ ⁇ ⁇ plane, and then displays the image obtained by the overlaying on the display connected to the BD player.
  • the hardware to output.
  • the device plane configuration is defined for the entire device plane, which is an image storage area for two surfaces, and the resolution (image frame) and color depth are defined in the device plane configuration.
  • graphics mode etc. are included.
  • the 3D-compatible player sets the graphics mode and the like by calling the configuration mode setting API. In this way, the graphics mode and the like can be changed without changing the resolution.
  • BD-J application handles Video + PG / TextST (Text subtitle) all together (without distinction). Further, the BD-J application cannot control the PG plane 12 individually, but can control the position and scaling (size) of the video. In the current BD standard, when video position and scaling are controlled from a BD-J application, PG / TextST is aligned with video.
  • the PG plane offset value is scaled by a scaling ratio (enlargement ratio or reduction ratio) for scaling the video.
  • a 3D image PG is generated by a mode (2-planes) for reproducing a PG image of a certain stereo image, and a left eye image and a right eye image (with parallax) generated from a 2D image and an offset value. It is desirable to be able to set the mode (1-plane + offset) for playing
  • a 3D-compatible player indirectly performs PG plane control (configuration switching between 1-plane (legacy playback), 1-plane + offset, and 2-planes) by selecting a PG stream. .
  • a PG stream of a PG image of a BD standard a mono PG stream of a PG image of a mono image that is a 2D image, and a PG stream of a PG image of a stereo image that is a 3D image
  • a stereo PG stream, and an offset PG stream that is a PG stream of a mono image PG used to generate a stereo image together with an offset value that gives parallax to the mono image (e.g., a mono image PG Stream including the image and the offset value).
  • the mono 1-stream (legacy content) mode, L / R 2 stream mode, and 1-stream + plane-offset mode are defined as PG playback modes for playing PG images.
  • the PG playback mode is the mono 1-stream mode
  • a 2D PG image is played back using the mono PG stream.
  • a 3D PG image is played by playing back a left-eye image and a right-eye image using a stereo PG stream.
  • a left-eye image and a right-eye image are generated based on the offset value using the offset PG stream, and the left-eye image And the right-eye image are reproduced, and the 3D PG image is reproduced.
  • a TextST stream of a BD standard TextST image As a TextST stream of a BD standard TextST image, a mono TextST stream that is a TextST image of a TextST image of a mono image that is a 2D image, and a TextST stream of a TextST image of a stereo image that is a 3D image A stereo TextST stream, and an offset TextST stream that is a TextST stream of a mono image TextST image used to generate a stereo image, together with an offset value that gives parallax to the mono image (e.g., a mono image TextST stream Stream including the image and the offset value).
  • an offset value that gives parallax to the mono image
  • the mono 1-stream (legacy content) mode, L / R 2 stream mode, and 1-stream + plane-offset mode are defined as TextST playback modes for playing TextST images.
  • the TextST playback mode is the mono 1-stream mode
  • a 2D TextST image is played back using the mono TextST stream.
  • a 3D TextST image is played by playing back a left-eye image and a right-eye image using a stereo TextST stream.
  • the TextST playback mode is the 1-stream + plane-offset mode
  • the left-eye image and right-eye image are generated based on the offset value using the offset TextST stream, and the left-eye image By replaying the right eye image, the 3D image TextST image is replayed.
  • -3P compatible players can switch (set) the PG / TextST configuration through the API for selecting a stream.
  • FIG. 27 shows a PG playback mode and a TextST playback mode that can be selected in each video mode.
  • the video mode is mono video mode (mono), flat stereo video mode (flattened stereo), dual mono video mode (dual-mono), forced mono video mode (forced-mono), and
  • stereo video mode stereo
  • the offset PG stream can be selected regardless of whether the video mode is a mono video mode, a flat stereo video mode, a dual mono video mode, a forced mono video mode, or a stereo video mode. is there.
  • the video modes are flat stereo video mode (flattened stereo), dual mono video mode (dual-mono), forced mono video mode (forced-mono), and stereo video mode (stereo). In either case, it is possible to select the L / R 2 stream mode (stereo) (stereo PG stream).
  • the stereo PG stream can be selected regardless of whether the video mode is any of the flat stereo video mode, the dual mono video mode, the forced mono video mode, and the stereo video mode.
  • the offset PG When the stream (mono + offset) is selected, the mono image of the offset PG stream is reproduced ignoring the offset value (with the offset value set to 0).
  • stereo PG stream stereo
  • the video mode is mono video mode (mono) or forced mono video mode (forced-mono)
  • a stereo image corresponding to the stereo PG stream is configured. For example, only the left-eye image (L PG stream) that is one of the left-eye image and the right-eye image is reproduced.
  • the video mode is the flat stereo video mode or the dual mono video mode
  • the stream number that is a number assigned to the stream matches the selected stereo PG stream. If there is an offset PG stream (if it is recorded on the BD), instead of the selected stereo PG stream, the mono image of the offset PG stream having the same stream number as the stereo PG stream has an offset value. Ignored and played.
  • the video mode is mono video mode (mono), flat stereo video mode (flattened stereo), forced mono video mode (forced-mono), and dual mono video mode (dual- In any case of mono), it is possible to select the 1-stream + plane-offset mode (mono + offset) (Text subtitle stream for offset).
  • the offset TextST stream (offset Text subtitle stream) should be selected when the video mode is one of the mono video mode, flat stereo video mode, forced mono video mode, or dual mono video mode. Is possible.
  • the video mode is flat stereo video mode (flattened stereo), dual mono video mode (dual-mono), forced mono video mode (forced-mono), and stereo video mode (stereo). In either case, it is possible to select the L / R 2 stream mode (stereo) (stereo text subtitle stream).
  • a stereo TextST stream (stereo Text subtitle stream) should be selected regardless of whether the video mode is a flat stereo video mode, a dual mono video mode, a forced mono video mode, or a stereo video mode. Is possible.
  • stereo stereo TextST stream
  • L TextST stream left-eye image
  • the stream number which is the number assigned to the stream, matches the selected stereo TextST stream. If there is an offset TextST stream, instead of the selected stereo TextST stream, a mono image of the offset TextST stream having the same stream number as that stereo TextST stream is reproduced while ignoring the offset value.
  • FIG. 28 is a block diagram illustrating a functional configuration example of the BD player in FIG. 3 as a 3D-compatible player that plays back PG and TextST images as described above.
  • the 3D-compatible player includes a BD-J application, a PG / TextST stream selection API, a video control API, a PG selection engine (Playback Control Function), a TextST selection engine (Playback Control Function), and a video control engine (Playback Control Function). ), A playback control engine (Playback Control Engine), a presentation engine (Presentation Engine), and the like.
  • BD-J application calls PG / TextST stream selection API and requests selection of PG stream.
  • the PG / TextST stream selection API selects a PG stream requested from the BD-J application.
  • the PG / TextST stream selection API can select the PG stream requested from the BD-J application for the current video mode, Control the PG selection engine to select.
  • the PG selection engine selects a PG stream in accordance with the control of the PG / TextST stream selection API from the PG streams recorded on the disc 100 (FIG. 3), which is a BD, and is not shown in FIG. This is supplied to a PG decoder (stereo PG decoder) or a mono PG decoder (mono PG decoder).
  • the stereo PG stream selected by the PG selection engine is a stereo PG stream
  • the stereo PG stream is supplied to the stereo PG decoder.
  • the offset PG stream is supplied to the mono PG decoder.
  • the stereo PG decoder decodes the PG stream supplied from the PG selection engine into a left-eye image and a right-eye image that form a stereo image, and an L-PG plane 12L and an R-PG plane 12R of the PG plane 12. Draw each.
  • the mono PG decoder decodes the offset PG stream supplied from the PG selection engine into a mono image and draws it on the logical plane 10.
  • the PG generation API uses an offset value (for example, an offset value included in the offset PG stream, an internal storage area of a 3D-compatible player, or an offset stored in PSR # 21 from a mono image drawn on the logical plane 10. Value) is used to generate a left-eye image and a right-eye image.
  • the PG generation API draws the left-eye image and the right-eye image on the L-PG plane 12L and the R-PG plane 12R of the PG plane 12, respectively.
  • a stereo image corresponding to the stereo PG stream is displayed.
  • One of the left-eye image and the right-eye image for example, only the left-eye image is reproduced or the offset value is ignored, and the mono image corresponding to the offset PG stream Only may be played.
  • a mono PG stream that is a PG stream of a mono image that is a 2D image and a PG stream of a stereo image that is a 3D image
  • a stereo PG stream that is a PG stream of an image
  • an offset PG stream that is a PG stream of a mono PG image
  • an offset value that is data that gives parallax to the mono image Is defined.
  • the PG / TextST stream selection API selects a mono PG stream, a stereo PG stream, or an offset PG stream in accordance with a request from the BD-J application.
  • PG image playback (PG configuration) can be controlled indirectly from the BD-J application.
  • FIG. 30 is a diagram for explaining switching between 3D image reproduction and 2D image reproduction in a 3D-compatible player.
  • the operation mode of the 3D-compatible player is a 3D playback mode (3D playback mode) for playing back 3D images.
  • the graphics mode is stereo graphics mode (stereo gfx (graphics)), the video mode is stereo video mode (stereo video), the background mode is mono background mode (mono background), respectively. .
  • the graphics mode has been changed to the offset graphics mode (plane offset gfx), and the video mode has been changed to dual mono video mode (dual-mono video).
  • the operation mode is changed from the 3D playback mode to the 2D playback mode (Legacy playback mode) for playing back 2D images in the same manner as the legacy player.
  • the graphics mode has been changed from the offset graphics mode (plane gfx) to the mono graphics mode (mono (gfx). Further, the video mode is changed from the dual-mono video mode (dual-mono video) to the mono video mode (mono video). Note that the background mode remains the mono background mode (mono background).
  • the operation mode is changed again from the 2D playback mode to the 3D playback mode.
  • the graphics mode is changed from the mono graphics mode (mono ⁇ ⁇ ⁇ gfx) to the stereo graphics mode (stereo gfx) according to the change of the operation mode. Furthermore, the video mode is changed from the mono video mode (mono video) to the flat stereo video mode (flattened stereo video). Note that the background mode remains the mono background mode (mono background).
  • the background mode is changed from the mono background mode (mono background) to the stereo background mode (stereo background).
  • the display screen when the operation mode is changed from the 3D playback mode to the 2D playback mode, when the resolution (image frame) is changed, the display screen may be blacked out.
  • JMF Java (registered trademark) Media Framework
  • control such as "javax.tv.media.AWTVideoSizeControl” or "org.dvb.media.BackgroundVideoPRsentationControl” Can be used.
  • the 3D-compatible player must correct the position and size of each of the left-eye image (L video source) and the right-eye image (R video source).
  • L video source left-eye image
  • R video source right-eye image
  • the display coordinate system is a coordinate system having a size of 1920 ⁇ 1080 pixels whose vertical direction is 1 ⁇ 2.
  • the author must set the position and size of the video as follows, for example.
  • FIG. 31 is a diagram for explaining the setting of the video position and size by the author, and the correction of the video position and size by the 3D-compatible player.
  • the author sets the position and size of the video image for the left eye.
  • the position and size of the video image for the left eye are set for a display coordinate system having a size of 1920 ⁇ 1080 pixels.
  • the 3D-compatible player sets the position and size of the video image for the left eye relative to the display coordinate system to the L video plane 13L of the video plane 13 as they are.
  • the 3D-compatible player applies the settings of the video position and size of the L video plane 13L to the R video plane 13R as they are.
  • the video producer should produce a video image so that the intended 3D image is displayed. Therefore, in a 3D-compatible player, for example, a video image (left-eye image and left-eye image) drawn on the video plane 13 by externally applied information such as an offset value stored in PSR # 21 (FIG. 7). If processing such as shifting the position of the image for the right eye) is performed, an image unintended by the video producer may be displayed.
  • L / R video plane is defined on the configuration, but the author of the BD-J application is restricted so that only the L video plane can be handled. That is, the 3D-compatible player must apply the API call of L video scaling / L video positioning by the BD-J application to R video scaling / R video positioning as it is.
  • the PG plane offset value is the scaling that scales the video, as described in [Switching PG / Text] subtitle configuration. Although scaled by a ratio (magnification or reduction), the graphics plane offset value is similarly scaled by the video scaling ratio.
  • FIG. 32 is a block diagram illustrating a functional configuration example of the BD player in FIG. 3 as a 3D-compatible player that performs video position setting (correction) and size setting (scaling) as described above.
  • the 3D-compatible player in FIG. 32 has an image size stored in the L video plane 13L (L area), an L API for setting the position, and an image size stored in the R video plane 13R (R area). And an R API for setting the position.
  • One API of the L API and the R API sets the same size and position as the image size and position set by the other API.
  • the video decoder (Video decoder) decodes the video, and the resulting left-eye image and right-eye image are converted into the L API and the R API. Supply.
  • the L API consists of the L video scaling (L (Left) video scaling) API and the L video positioning (L (Left) positioning) API, and requests for setting the position and size of the video from the BD-J application. Is set to the position and size of the left-eye image from the video decoder.
  • the L video scaling API performs scaling for controlling the size of the image for the left eye from the video decoder to a size in accordance with a request from the BD-J application, and supplies it to the L video positioning API.
  • the L video positioning API controls the position of the image for the left eye from the L video scaling API to a position according to the request from the BD-J application, and the resulting image for the left eye is transferred to the L video plane 13L.
  • Draw draw the image for the left eye from the L video scaling API at a position on the L video plane 13L in response to a request from the BD-J application).
  • the L video scaling API calls the R video scaling API described later and makes the same request as the BD-J application. Further, the L video positioning API calls an R video positioning API, which will be described later, and makes a request similar to the request from the BD-J application.
  • the L video scaling API sets the scaling ratio (enlargement ratio or reduction ratio) S when the video image (the image for the left eye) is scaled in response to a call for setting the video size.
  • the R API consists of the R video scaling (R (Right) video scaling) API and the R video positioning (R (Right) positioning) API, which can be used to request video position and size settings from the L API. In response, the position and size of the right-eye image from the video decoder are set.
  • the R video scaling API controls the size of the right-eye image from the video decoder to a size according to the request from the L video scaling API, and supplies it to the R video positioning API.
  • the R video positioning API controls the position of the right eye image from the R video scaling API to a position according to the request from the L video positioning API, and the resulting right eye image is transferred to the R video plane 13R. draw.
  • the size of the image stored in the L video plane 13L (L region) and the API for L for setting the position, the size of the image stored in the R video plane 13R (R region), and The API for R that sets the position is one API, for example, the API for R is the size of the image that the API for L that is the other API sets in response to a request from the BD-J application, The same size and position as the position are set.
  • the author can handle only the L video plane 13L, which is one of the L video plane 13L (L region) and the R video plane 13R (R region), for the video plane 13 that stores the BD standard video image. It is possible to prevent a video image unintended by the video producer from being displayed.
  • the processing described in FIG. 29 is further performed for PG.
  • the PG plane offset value (for example, the offset value included in the offset PG stream, the internal storage area of the 3D-compatible player, or PSR # 21 is used with the scaling ratio S from the L video scaling API.
  • the stored offset value is scaled (the PG plane offset value is multiplied by the scaling ratio S).
  • a left-eye image and a right-eye image are generated from the mono image drawn on the logical plane 10 using the scaled PG plane offset value.
  • the configuration mode change API selects a graphics mode image in response to a request from the BD-J application from graphics images recorded on the disc 100 (FIG. 3) as a BD, Draw on the graphics plane 11.
  • a left-eye image and a right-eye image of a graphics that is a stereo image are respectively an L graphics plane 11L and an R graphics plane 11R of the graphics plane 11. Drawn on.
  • the video mode is, for example, the offset graphics mode
  • a graphics image that is a mono image is drawn on the logical plane 10
  • the graphics generation API has a scaling ratio S from the L video scaling API.
  • the graphics plane offset value (for example, the internal storage area of the 3D-compatible player or the offset value stored in PSR # 21) is scaled.
  • the graphics generation API generates an image for the left eye and an image for the right eye from the mono image drawn on the logical plane 10 using the scaled graphics plane offset value, and the L graphics plane 11L and the R graphics plane. Each is drawn on 11R.
  • the effective pixel coordinate system for stereo graphics configuration (configuration for displaying graphics 3D images) is (0, 0)-(1920, 2160) (0, 0)-(1280, 1440) (0, 0)-(720, 960) (0, 0)-(720, 1152) (0, 0)-(960, 1080) One of them.
  • Top-half is assigned to L graphics view and bottom-half is assigned to R graphics view.
  • FIG. 33 shows the graphics plane 11 having 1920 ⁇ 2160 pixels.
  • An image drawn on the L graphics plane 11L which is an upper storage area (top-half) of the graphics plane 11, becomes a left-eye image (L (Left) graphics view) observed with the left eye.
  • An image drawn on the R graphics plane 11R which is the lower storage area (bottom-half), is an image for the right eye (R (Right) graphics view) observed with the right eye.
  • FIG. 33 one container (Root ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ container) and two components (Components) that are children of the container are drawn on the graphics plane 11.
  • the coordinates of a component are expressed as relative coordinates based on the container that is the parent of the component.
  • a buffer area for guard purposes should not be provided at the edge of the graphics plane 11.
  • 3D-compatible players must introduce a mechanism to prevent inconsistencies with L-view / R-view.
  • the BD player which is a legacy player, does not have a mechanism for detecting completion of drawing by the BD-J application and transferring it to the monitor after completion.
  • output mismatch may occur between L / R graphics.
  • some API call is defined as a signal indicating the completion of drawing by the BD-J application. Conversely, if the BD-J application does not call the corresponding drawing completion notification API, nothing is output to the screen. The author must use this method.
  • the drawing contents of the graphics plane 11 are the same as the left-eye image and the right-eye.
  • the left-eye image and the right-eye image are not aligned so that they can be viewed as a 3D image (in this case, the right-eye image Since the drawing of the image is incomplete, the user who sees the image on the display screen feels uncomfortable.
  • the 3D-compatible player has a function of suppressing inconsistency between the left-eye image and the right-eye image, that is, to be viewed as a 3D image. It has a function of preventing the left-eye image and the right-eye image that are not in a matched state from being displayed on the display screen.
  • the 3D-compatible player displays the left-eye image and the right-eye image for display after the drawing of both the left-eye image and the right-eye image on the graphics plane 11 is completed. Output to.
  • the 3D-compatible player needs to recognize that drawing of both the left-eye image and the right-eye image on the graphics plane 11 has been completed.
  • a 3D-compatible player In Direct-drawing, a 3D-compatible player has no way of knowing whether or not a drawing command for drawing a graphics image from a BD-J application has been completed.
  • the BD-J application issues drawing commands # 1, # 2,..., #N and the image is drawn on the graphics plane 11 according to the drawing commands # 1 to #N. Thereafter, the 3D-compatible player cannot recognize whether or not a drawing command is further issued from the BD-J application, that is, whether or not the drawing command has been issued by the BD-J application.
  • the rendering integrity guarantee API call that guarantees the graphics rendering integrity is obligatory as signaling to the 3D-compatible player.
  • a call for a drawing completion notification API for notifying completion of drawing of an image on the graphics plane 11 is obligated as signaling to a 3D-compatible player.
  • a drawing start notification API for notifying that drawing of an image on the graphics plane 11 is started, and subsequent drawing of the image on the graphics plane 11 are performed. Is called as a signaling to the 3D-compatible player.
  • the 3D-compatible player calls the graphics plane by calling the drawing integrity guarantee API by the BD-J application, calling the drawing completion notification API, or calling the drawing start notification API, and then calling the drawing completion notification API.
  • 11 that the drawing of the image with respect to 11 has been completed, that is, the issue of the drawing command has been completed.
  • drawing integrity guarantee API a dedicated API that takes a drawing command string as an argument can be defined.
  • the drawing completion notification API for example, the java.awt.Toolkit # sync () method can be adopted.
  • the 3D-compatible player does not output the image drawn on the graphics plane 11 unless the java.awt.Toolkit # sync () method is called, and therefore the graphics plane 11 is displayed on the display screen. The image drawn on is not displayed.
  • drawing start notification API for example, a predetermined method of Java (registered trademark) or a dedicated API can be defined.
  • the graphics-frame may drop frames. Therefore, do not call the java.awt.Toolkit # sync () method more than once in succession or continuously with a small amount of drawing.
  • the repaint () method of the root container as a part constituting a graphics image calls the update () method of each component as a part constituting the graphics image.
  • the 3D-compatible player can completely control (full control) the graphics image drawing process, and the 3D-compatible player has finished drawing the image on the graphics plane 11. I can recognize that.
  • a 3D-compatible player is mounted so that the left-eye image and the right-eye image are displayed in an aligned state without calling the drawing completion notification API described above. be able to.
  • FIG. 34 shows the drawing integrity guarantee API call by the BD-J application, the drawing completion notification API call, or the drawing start notification API call, and the subsequent drawing completion notification API call.
  • FIG. 4 is a block diagram showing an example of a functional configuration of the BD player in FIG. 3 as a 3D-compatible player that recognizes that the recording has been completed.
  • the BD-J application calls the drawing completion notification API.
  • the 3D-compatible player has buffers 201L and 201R as the graphics plane 11 and buffers 202L and 202R.
  • the buffers 201L and 202L correspond to the L graphics plane 11L
  • the buffers 201R and 202R correspond to the R graphics plane 11R.
  • the set of buffers 201L and 201R and the set of buffers 202L and 202R alternately function as a back buffer (hidden buffer) and a front buffer.
  • the back buffer is a buffer in which graphics images are drawn from the BD-J application, and the front buffer is displayed on the display screen (logical screen 21) while the image is being drawn in the back buffer.
  • This is a buffer for storing displayed images.
  • 34A shows a 3D-compatible player in a state in which the set of buffers 201L and 201R serves as a back buffer, and the set of buffers 202L and 202R serves as a front buffer.
  • graphics images (left eye image and right eye image) are drawn by the BD-J application in the buffers 201L and 201R as back buffers, and the buffers as front buffers are drawn. Images (left-eye image and right-eye image) stored in 202L and 202R are output as output to the display screen.
  • the BD-J application calls the drawing completion notification API when drawing of graphics images is finished with respect to the buffers 201L and 201R serving as back buffers.
  • the 3D-compatible player starts outputting the image stored in the back buffer to the display screen instead of the front buffer.
  • FIG. 34B shows the 3D-compatible player immediately after the drawing completion notification API is called.
  • the 3D-compatible player stores the images stored in the buffers 201L and 201R serving as the back buffer instead of the images stored in the buffers 202L and 202R serving as the front buffer. Starts outputting the image to the display screen.
  • the 3D-compatible player copies the images stored in the buffers 201L and 201R serving as back buffers to the buffers 202L and 202R serving as front buffers.
  • the 3D-compatible player swaps the back buffer and the front buffer.
  • the 3D-compatible player sets the buffers 201L and 201R serving as back buffers as front buffers and the buffers 202L and 202R serving as front buffers as back buffers.
  • FIG. 34C shows a 3D-compatible player in which the set of buffers 201L and 201R is a front buffer and the set of buffers 202L and 202R is a back buffer.
  • the BD-J application starts drawing graphics images to the buffers 202L and 202R serving as back buffers, and the same processing is repeated thereafter.
  • FIG. 35 is a flowchart for explaining graphics processing by the 3D-compatible player in FIG. 34 when the BD-J application calls the drawing integrity assurance API.
  • step S11 the 3D-compatible player determines whether or not the drawing integrity guarantee API has been called from the BD-J application. If it is determined that there is no call, the process returns to step S11.
  • step S11 If it is determined in step S11 that the drawing integrity guarantee API has been called, the process proceeds to step S12, and the 3D-compatible player sequentially executes the drawing command sequence that is an argument of the drawing integrity guarantee API, The graphics image obtained as a result of the execution is drawn in the back buffer, and the graphics image stored in the front buffer is output to the display screen (output for display).
  • the 3D-compatible player outputs the graphics image stored in the back buffer on the display screen instead of the front buffer (output for display) in step S13. To do).
  • step S14 the 3D-compatible player copies the graphics image stored in the back buffer to the front buffer.
  • step S15 the 3D-compatible player switches the back buffer and the front buffer, returns to step S11, and thereafter the same processing is repeated.
  • a BD-J application calls a rendering integrity guarantee API that guarantees the rendering integrity of graphics images for the graphics plane 11 (which is a back buffer).
  • a rendering integrity guarantee API that guarantees the rendering integrity of graphics images for the graphics plane 11 (which is a back buffer).
  • an image drawn on the graphics plane 11 is output for display.
  • the image drawn on the graphics plane 11 can be displayed after waiting for the graphics image drawing by the 3D-compatible player to be completed. It is possible to prevent the ophthalmic image from being displayed on the display screen.
  • FIG. 36 is a flowchart for explaining graphics processing by the 3D-compatible player in FIG. 34 when the BD-J application calls the drawing completion notification API.
  • the 3D-compatible player waits for a drawing command issued from the BD-J application, and executes the drawing command in step S21.
  • step S22 the 3D-compatible player draws the graphics image obtained as a result of executing the drawing command in the back buffer, and outputs the graphics image stored in the front buffer to the display screen (display). Output for).
  • step S23 the 3D-compatible player determines whether or not the drawing completion notification API is called from the BD-J application.
  • step S23 If it is determined in step S23 that the drawing completion notification API has not been called, the process returns to step S21 after issuing a drawing command from the BD-J application, and the same processing is repeated thereafter.
  • step S23 If it is determined in step S23 that the drawing completion notification API has been called, the 3D-compatible player proceeds to step S24, and displays the graphics image stored in the back buffer instead of the front buffer. Output to (output for display).
  • step S25 the 3D-compatible player copies the graphics image stored in the back buffer to the front buffer.
  • step S26 the 3D-compatible player switches the back buffer and the front buffer, waits for the issuance of a drawing command from the BD-J application, returns to step S21, and thereafter the same processing is repeated.
  • the BD-J application calls the drawing completion notification API that notifies the graphics plane 11 (that is, the back buffer) that drawing of the graphics image has ended.
  • the drawing completion notification API that notifies the graphics plane 11 (that is, the back buffer) that drawing of the graphics image has ended.
  • an image drawn on the graphics plane 11 is output for display.
  • the image drawn on the graphics plane 11 can be displayed after the notification that the drawing of the graphics image by the BD-J application has been completed, the left that is not in a consistent state is displayed. It is possible to prevent the image for the eye and the image for the right eye from being displayed on the display screen.
  • FIG. 37 is a flowchart for explaining graphics processing by the 3D-compatible player in FIG. 34 when the BD-J application calls the drawing start notification API and then calls the drawing completion notification API.
  • step S31 the 3D-compatible player determines whether or not the drawing start notification API is called from the BD-J application. If it is determined that the drawing start notification API has not been received, the process returns to step S31.
  • step S31 If it is determined in step S31 that the drawing start API has been read, the 3D-compatible player waits for a drawing command issued from the BD-J application, proceeds to step S32, and executes the drawing command.
  • step S33 the 3D-compatible player determines whether the drawing completion notification API is called from the BD-J application.
  • step S33 If it is determined in step S33 that the drawing completion notification API has not been called, the process returns to step S32 after issuing a drawing command from the BD-J application, and the same processing is repeated thereafter.
  • step S33 If it is determined in step S33 that the drawing completion notification API has been called, the 3D-compatible player proceeds to step S34 to draw the graphics image obtained as a result of the execution of the drawing command in the back buffer.
  • the graphics image stored in the front buffer is output to the display screen (output for display).
  • step S35 the 3D-compatible player outputs the graphics image stored in the back buffer on the display screen instead of the front buffer (outputs for display).
  • step S36 the 3D-compatible player copies the graphics image stored in the back buffer to the front buffer.
  • the 3D-compatible player switches the back buffer and the front buffer in step S37, returns to step S31, and thereafter the same processing is repeated.
  • the calling of the drawing start notification API for starting the drawing of the graphics image to the graphics plane 11 (that is, the back buffer) and the subsequent drawing of the graphics image are completed.
  • the drawing completion notification API that notifies this is called from the BD-J application, an image drawn on the graphics plane 11 is output for display.
  • the image drawn on the graphics plane 11 can be displayed after the notification that the drawing of the graphics image by the BD-J application has been completed, the left that is not in a consistent state is displayed. It is possible to prevent the image for the eye and the image for the right eye from being displayed on the display screen.
  • the effective pixel coordinate system in the stereo background configuration is (0, 0)-(1920, 2160) (0, 0)-(1280, 1440) (0, 0)-(720, 960) (0, 0)-(720, 1152) One of them.
  • ⁇ top-half is assigned to L background view and bottom-half is assigned to R background view.
  • the background image format (Contents format) is one of single-color, JPEG (JFIF), or MPEG2 drip-feed, and the format is MPEG2 drip-feed.
  • the background image must be an SD image (SD video only).
  • JPEG JPEG
  • GUI GraphicGraphUser Interface
  • a container is a component (part) of a graphics image and can have a parent (upper layer) and a child (lower layer).
  • a container that has no children and only children is called a root container.
  • a component is a kind of container and can have a parent but cannot have children.
  • each of the left-eye image and the right-eye image constituting the 3D image has a focus on the corresponding container, and the focus transition is the same ( Equivalent).
  • a container constituting one of the left-eye image and right-eye image is focused, but the container constituting the other image corresponding to that container is not focused.
  • the user who sees the 3D image displayed by the left-eye image and the right-eye image feels uncomfortable.
  • the 3D-compatible player ensures that the focus transition is the same between the container for the left eye image and the container for the right eye image. , Manage focus.
  • FIG. 38 shows an example of a GUI drawn on the graphics plane 11.
  • the GUI in FIG. 38 is composed of one root container and two corresponding components # 1, # 2, and # 3 that are children of the root container.
  • components # 1, # 2, and # 3 drawn on the L graphics plane 11L constitute a left-eye image
  • components # 1, # drawn on the R graphics plane 11R. 2 and # 3 constitute a right-eye image.
  • the component #i of the image for the left eye when the component #i of the image for the left eye is focused, the component #i that is the corresponding component of the image for the right eye must also be focused.
  • ⁇ 3D-compatible players support by allowing two containers or components to have focus at the same time in order to make widget state transition / management symmetrical between L / R. For this purpose, it is necessary to make a container or component instance have a flag representing whether the focus is held or not so that it can be managed.
  • the third focus request must fail. That is, the number of containers or components that hold the focus is limited to zero or two.
  • first focus method and a second focus method as a focus method for focusing two corresponding containers (components) of the left-eye image and the right-eye image.
  • FIG. 39 shows the first focus method and the second focus method.
  • 39A shows the first focus method (1-root-container across L / R graphics plane).
  • a container (component) on the L graphics plane 11L which is a child of a container (Root Container) straddling the L graphics plane 11L and the R graphics plane 11R, and the R graphics plane 11R
  • the two corresponding containers with the container (component) are given focus at the same time.
  • 39B shows the second focus method (2-root-containers (one for L graphics plane, another for R graphics plane)).
  • a root container is drawn on each of the L graphics plane 11L and the R graphics plane 11R, and the respective root containers are simultaneously activated (in a focused state).
  • FIG. 40 is a flowchart for explaining the focus management of the BD player in FIG. 3 as a 3D-compatible player that gives focus to two corresponding containers (components) of the left-eye image and the right-eye image. .
  • the container (component) constituting the GUI drawn on the graphics plane 11 has a focus flag indicating whether or not the focus is set.
  • the 3D-compatible player sets 0 as an initial value to a variable i for counting the number of containers in step S51.
  • step S52 the 3D-compatible player selects a focused component (hereinafter also referred to as a focus holding component) among the components (containers) that are children of the container c (i) on the graphics plane 11. However, it is determined based on the focus flag of the component whether or not two already exist.
  • a focused component hereinafter also referred to as a focus holding component
  • step S52 If it is determined in step S52 that two focus holding components are not present among the components that are children of the container c (i), the 3D-compatible player proceeds to step S53, and a request (request) is made. The corresponding focus is given to the two corresponding components. Further, in step S53, the 3D-compatible player sets a value indicating that the focus is set to the focus flag of each of the two components having the focus, and the process proceeds to step S54.
  • step S52 determines whether two focus holding components are present among the components that are children of the container c (i). If it is determined in step S52 that two focus holding components are present among the components that are children of the container c (i), the 3D-compatible player skips step S53 and proceeds to step S54. Then, the variable i is incremented by 1, and the process proceeds to step S55.
  • step S55 the 3D-compatible player determines whether the variable i is less than the number N of containers on the graphics plane 11. If it is determined in step S55 that the variable i is less than the number N of containers on the graphics plane 11, the process returns to step S22 and the same processing is repeated.
  • step S55 If it is determined in step S55 that the variable i is not less than the number N of containers on the graphics plane 11, the process ends.
  • the container of the L graphics plane 11L (L region) that stores the left-eye image, and the container The container of the R graphics plane 11R (R region) that stores the image for the right eye corresponding to is brought into a focused state.
  • the focus transition can be made similar in the container for the left eye image and the container for the right eye image.
  • FIG. 41 shows, for example, the position on the display screen where the 3D image of the cursor of a pointing device such as a mouse can be seen, and the position of the cursor on the graphics plane 11.
  • the cursor is displayed by a BD player, but in a 3D-compatible player, the 3D image of the cursor is displayed (so that it can be seen) at a position in front of the graphics 3D image (3D image reproduced from the disc 100). Is desirable.
  • the cursor of the image for the left eye on the logical screen 21 is shifted by a predetermined offset value ⁇ x from the position (x, y) of the display screen where the 3D image of the cursor can be seen.
  • the right eye image cursor on the logical screen 21 is also shifted by a predetermined offset value ⁇ x from the display screen position (x, y) at which the 3D image of the cursor can be seen. At the position (x ⁇ x, y).
  • the position of the 3D image cursor in the depth direction changes according to a predetermined offset value ⁇ x.
  • the value max-depth is recorded on the disc 100 (FIG. 3) which is a BD, and the 3D-compatible player sets the value max-depth to PSR (FIG. 7) (for example, PSR # 21). Can be set (stored).
  • the value max-depth stored in the PSR is referred to, and the cursor is positioned in front of the position represented by the value max-depth.
  • the offset value ⁇ x for displaying can be obtained.
  • the 3D image of the cursor can be displayed at a position in front of the graphics 3D image.
  • OSD On Screen Display
  • 3D-compatible player can also be displayed at a position in front of the graphics 3D image in the same manner as the cursor.
  • a value min-depth that represents the position in the depth direction of the 3D image reproduced from the disc 100 that is a BD is recorded together with the value max-depth.
  • the value max-depth and the value min-depth can be set.
  • playback from a BD is performed by setting, in the PSR, a value max-depth or the like that represents the position in the depth direction of the 3D image recorded on the disc 100 that is a BD.
  • the cursor and OSD can be displayed in front of the 3D image.
  • the 3D-compatible player can arbitrarily set the offset value ⁇ x for displaying the 3D image of the cursor.
  • the offset value ⁇ x does not need to be constant, and can be changed (set) for each frame, for example.
  • the display screen position (x, y) is used as the cursor position.
  • the application must obtain the position (x + ⁇ x, y) (or (x ⁇ x, y)) of the cursor on the graphics plane 11 by performing coordinate conversion of the position (x, y) of the display screen. I must.
  • the coordinate system of mouse events is limited to the L graphics plane.
  • BD players are obliged to adopt coordinates on L graphics plane as two-dimensional position information when issuing mouse events.
  • a 3D image of a cursor of a pointing device such as a mouse is composed of an image for the left eye and an image for the right eye, but when issuing an event with the cursor position as an argument
  • the cursor position is one of the L graphics plane 11L (L region) and the R graphics plane 11R (R region) of the graphics plane 11 of the 3D image of the cursor, for example, the L graphics plane 11L.
  • the position on (L region) is used.
  • the BD-J application can know (recognize) the position on the L graphics plane 11L as the cursor position of the 3D image, so that the author of the BD-J application uses the L graphics as the cursor position.
  • the position on the plane 11L a process for an event (such as a mouse event) having the cursor position as an argument can be described.
  • ⁇ 3D compatible players must ensure the consistency of L-view / R-view. That is, the graphics left-eye image and right-eye image are displayed on the display screen after being rendered in a state of being consistent with the graphics plane 11 (so that it can be viewed as a 3D image). Must be guaranteed.
  • the initialization (reset) of the graphics plane 11 is the same. That is, when one of the L graphics plane 11L and the R graphics plane 11R of the graphics plane 11 is initialized, the other must also be initialized.
  • FIG. 42 is a diagram for explaining the consistency between the graphics image for the left eye and the image for the right eye.
  • FIG. 42A the drawing of the image for the left eye on the L graphics plane 11L and the drawing of the image for the right eye on the R graphics plane 11R have been completed, and the 3D-compatible player has thus finished drawing.
  • the left-eye image and the right-eye image must be displayed on the display screen.
  • the drawing integrity guarantee API described in FIG. 35 uses a drawing command string as an argument, but the drawing command string that is an argument of the drawing integrity guarantee API is consistent (so that it can be seen as a 3D image).
  • the drawing command sequence for drawing the left-eye image and the right-eye image in a state of being in a state of being in accordance with the drawing integrity guarantee API, the graphics left-eye image and right-eye image are It is guaranteed that the image is drawn in a consistent state.
  • the 3D-compatible player must not display the left-eye image and the right-eye image in the state of B in FIG. 42 on the display screen.
  • the consistency between the graphics left-eye image and right-eye image can be ensured, for example, by adopting triple buffering in a 3D-compatible player.
  • FIG. 43 is a block diagram showing a functional configuration example of the BD player in FIG. 3 as a 3D-compatible player adopting triple buffering.
  • the 3D-compatible player has a back buffer (hidden buffer) 211 as a graphics plane 11, and front buffers 212 and 213.
  • the back buffer 211 includes buffers 211L and 211R.
  • the front buffer 212 includes buffers 212L and 212R, and the front buffer 213 includes buffers 213L and 213R.
  • buffers 211L, 212L, and 213L correspond to the L graphics plane 11L, and store an image for the left eye.
  • the buffers 211R, 212R, and 213R correspond to the R graphics plane 11R and store an image for the right eye.
  • the BD-J application issues a drawing command, and graphics 3D images (left-eye image and right-eye image) as a result of executing the drawing command are drawn in the back buffer 211.
  • the front buffers 212 and 213 are alternately selected, and the left-eye image and the right-eye image stored in the selected buffer (hereinafter also referred to as a selection buffer) are displayed on the display screen. (Supplied to Display processor).
  • the left buffer for the left eye stored (drawn) in the back buffer 211 after the drawing of the left eye image and the right eye image in the back buffer 211 is completed.
  • the image and the right eye image are copied.
  • the switching of the selection to alternately select the front buffers 212 and 213 as the selection buffer is performed by reading (copying) the left-eye image and the right-eye image from the back buffer. It is executed at the timing of VBI (Vertical Blanking Interval) after completion to the last horizontal line.
  • VBI Very Blanking Interval
  • FAA Framework Accurate Animation
  • Image Frame Accurate Animation and Sync Frame Accurate Animation.
  • the left eye image and right eye image for animation are operated in synchronization.
  • Image ⁇ Frame Accurate Animation or Sync Frame Accurate Animation draws the image for the left eye for animation and the right eye for animation It is desirable that the image drawing is performed separately (animation is simultaneously operated at two locations).
  • animation works only in one place. If an image or buffer that straddles L / R is used, animation can be simulated in two places, but due to the performance requirements of the BD player, a sufficient animation frame rate cannot be achieved.
  • FIG. 44 is a diagram for explaining animation by images straddling L / R.
  • one image of w ⁇ (h + 1080) pixels is drawn across the L graphics plane 11L of the graphics plane 11 of 1920 ⁇ 2160 pixels and the R graphics plane 11R.
  • a portion (center portion) of the w ⁇ (h + 1080) pixel image except the upper w ⁇ h pixel image and the lower w ⁇ h pixel image is represented by a transparent pixel ( By painting with a transparent color), the upper w ⁇ h pixel image becomes the left eye image for animation, and the lower w ⁇ h pixel image becomes the right eye image for animation. be able to.
  • the appearance of the one image is the same for the L graphics plane 11L and the R graphics plane 11R. It can be in a state drawn at a position. Therefore, it is possible to realize an animation of a 3D image in which a w ⁇ h pixel image on the L graphics plane 11L and a w ⁇ h pixel image on the R graphics plane 11R are operated in synchronization.
  • FIG. 45 is a diagram illustrating drawing of an image for the left eye for animation and drawing of an image for the right eye for animation.
  • an image for the left eye for animation is drawn on the L graphics plane 11L (L region). Further, in the 3D-compatible player, the right-eye image for animation is displayed on the R graphics plane 11R (R region) separately from the drawing of the left-eye image for animation on the L graphics plane 11L (L region). Drawn.
  • FIG. 46 is a diagram of a 3D-compatible player that separately performs drawing of the left-eye image for animation on the L graphics plane 11L and drawing of the right-eye image for animation on the R graphics plane 11R.
  • 3 is a block diagram illustrating a functional configuration example of a BD player 3;
  • 46A shows a configuration example of a 3D-compatible player that draws an animation as Image Accurate Animation.
  • An image buffer (Image buffer) 231 is a buffer that functions as a cache memory for a BD-J application to load and save resources from the disc 100 (FIG. 3) that is a BD.
  • a list of images for the left eye (a list of images for L) and a list of images for the right eye for animation (a list of images for R) are stored.
  • the pixel transfer unit 232L sequentially reads out images for the left eye for animation from the image buffer 231 in units of pixels (pixels), and draws them on the L graphics plane 11L.
  • the pixel transfer device 232R sequentially reads out images for the right eye for animation from the image buffer 231 in units of pixels (pixels) and draws them on the R graphics plane 11R.
  • FIG. 46B shows a configuration example of a 3D-compatible player that draws an animation as Sync FrameAccurate Animation.
  • the graphics memory 241 is a work memory of a 3D-compatible player, and stores a left eye image buffer for animation (L image buffer) and a right eye image for animation (R use). Image buffer).
  • the pixel transfer unit 242L sequentially reads out images for the left eye for animation from the graphics memory 241 in units of pixels and draws them on the L graphics plane 11L.
  • the pixel transfer unit 242R sequentially reads out images for the right eye for animation from the graphics memory 241 in units of pixels and draws them on the R graphics plane 11R.
  • FIG. 47 shows the definition of the extended API of Image Accurate Animation.
  • Fig. 48 shows the definition of the extension API of Sync Frame Accurate Animation.
  • FIG. 49 and 50 show sample codes of Image Accurate Animation.
  • FIG. 50 is a diagram following FIG. 49.
  • FIG. 51 and 52 show sample codes for Sync Accurate Animation.
  • FIG. 52 is a diagram following FIG.
  • the 3D-compatible player in FIG. 3 performs processing for the content of the 3D image recorded on the disc 100 and the Java (registered trademark) application.
  • the 3D image content and Java (registered trademark) application to be processed in the player are data supply means other than the recording medium such as the disc 100, specifically, for example, an object carousel or data carousel that is a digital broadcasting application. Therefore, the 3D-compatible player can process the 3D image content and Java (registered trademark) application supplied from the object carousel and data carousel.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Processing Or Creating Images (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

 本発明は、左眼用画像を記憶するL領域と、右眼用画像を記憶するR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、ビデオの画像を記憶するビデオプレーンについて、オーサが、L領域、及び、R領域のうちの一方しか扱えないようにすることができる情報処理装置、情報処理方法、及び、プログラムに関する。 L領域に記憶される画像のサイズ、及び、位置を設定するL用APIと、R領域に記憶される画像のサイズ、及び、位置を設定するR用APIとのうちの、一方のAPIは、他方のAPIが設定する前記画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定する。また、ビデオプレーンに記憶される画像のスケーリング比率で、グラフィクスプレーンオフセット値、及び、PGプレーンオフセット値もスケーリングされる。本発明は、BDを再生するBDプレーヤ等に適用できる。

Description

情報処理装置、情報処理方法、及び、プログラム
 本発明は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、例えば、記録媒体から、3D(Dimension)画像のコンテンツを適切に再生することができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。
 例えば、映画等のコンテンツとしては、2次元(2D)画像のコンテンツが主流であるが、最近では、立体視が可能な3次元(3D)画像(グラフィック)のコンテンツが注目を集めている。
 3D画像(以下、ステレオ画像ともいう)の表示の方式としては、種々の方式があるが、いずれの方式を採用する場合であっても、3D画像のデータ量は、2D画像のデータ量よりも大になる。
 また、映画等の、高解像度の画像のコンテンツは、大容量であることもあり、そのような大容量の画像のコンテンツを、データ量の多い3D画像として記録するには、大容量の記録媒体が必要である。
 そのような大容量の記録媒体としては、例えば、BD(Blu-Ray(R))-ROM(Read Only Memory)等のBlu-Ray(R) Disc(以下、BDともいう)がある。
 BDでは、BD-J(BD Java(登録商標))を扱うことが可能であり、BD-Jによって、高度なインタラクティブ機能を提供することができる(特許文献1)。
国際公開第2005/052940号
 ところで、現行のBDの規格では、3D画像のコンテンツを、BDに、どのように記録し、また、再生するかは、規定されていない。
 しかしながら、3D画像のコンテンツの記録や再生の仕方を、3D画像のコンテンツのオーサリングを行うオーサ(author)に委ねてしまうと、3D画像のコンテンツを適切に再生することができなくなるおそれがある。
 本発明は、このような状況に鑑みてなされたものであり、BD等の記録媒体から、3D画像のコンテンツを適切に再生することができるようにするものである。
 本発明の一側面の情報処理装置、又は、プログラムは、ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、前記L領域に記憶される画像のサイズ、及び、位置を設定するL用API(Application Programming Interface)と、前記R領域に記憶される画像のサイズ、及び、位置を設定するR用APIとを備え、前記L用API、及び、前記R用APIのうちの一方のAPIは、他方のAPIが設定する前記画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定し、グラフィクスの画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるグラフィクスプレーンオフセット値、及び、PG(Presentation Graphics) の画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるPGプレーンオフセット値を、前記L用API、及び、前記R用APIが前記ビデオプレーンに記憶されるビデオの画像のサイズを設定するスケーリングを行うときのスケーリング比率でスケーリングする情報処理装置、又は、情報処理装置として、コンピュータを機能させるためのプログラムである。
 本発明の一側面の情報処理方法は、ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、前記L領域に記憶される画像のサイズ、及び、位置を設定するL用API(Application Programming Interface)と、前記R領域に記憶される画像のサイズ、及び、位置を設定するR用APIとのうちの、一方のAPIは、他方のAPIが設定する前記画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定し、グラフィクスの画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるグラフィクスプレーンオフセット値、及び、PG(Presentation Graphics) の画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるPGプレーンオフセット値を、前記L用API、及び、前記R用APIが前記ビデオプレーンに記憶されるビデオの画像のサイズを設定するスケーリングを行うときのスケーリング比率でスケーリングする情報処理方法である。
 本発明の一側面においては、ビデオの画像を記憶するビデオプレーンが、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、L用API、及び、R用APIのうちの一方のAPIが、他方のAPIが設定する前記画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定する。L用APIは、前記L領域に記憶される画像のサイズ、及び、位置を設定するAPIであり、R用APIは、前記R領域に記憶される画像のサイズ、及び、位置を設定するAPIである。また、グラフィクスの画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるグラフィクスプレーンオフセット値、及び、PG(Presentation Graphics) の画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるPGプレーンオフセット値は、前記L用API、及び、前記R用APIが前記ビデオプレーンに記憶されるビデオの画像のサイズを設定するスケーリングを行うときのスケーリング比率でスケーリングされる。
 情報処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 本発明によれば、3D画像のコンテンツを適切に再生することができる。
BDMVフォーマットの概要を説明する図である。 BDのファイルの管理構造を説明する図である。 BDプレーヤのハードウェアの構成例を示すブロック図である。 3D対応プレーヤによる3D画像の処理の概要を説明する図である。 BD-Jアプリケーションによる、グラフィックスプレーン11への、グラフィクスの3D画像の描画を説明する図である。 BD-Jアプリケーションが、グラフィックスプレーン11に、グラフィクスの3D画像を描画することにより、グラフィクスの画像を再生するグラフィクスモードを示す図である。 3D対応プレーヤの機能的構成例を示すブロック図である。 コンフィグレーションの1つである、ビデオの画像を再生するビデオモードを示す図である。 コンフィグレーションの1つである、バックグラウンドの画像を再生するバックグラウンドモードを示す図である。 デバイスプレーンであるグラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14の関係を示す図である。 コンフィグレーションの1つである、画枠(Resolution)、及び、色深度(color-depth)を示す図である。 3D画像の不一致ケースにおいて、第2の描画方式で、3D画像を描画する方法を説明する図である。 デバイスプレーンを説明する図である。 BD-Jオブジェクトのファイル中に、コンフィグレーションを指定するために設けるビットフィールドを示す図である。 initial_video_mode,initial_graphics_mode、及び、initial_background_modeのデフォルトの規定値を示す図である。 KEEP_RESOLUTION再生以外の再生の、Video+PG,BD-J graphics、及び、backgroundの解像度(画枠)の組み合わせを示す図である。 KEEP_RESOLUTION再生以外の再生の、Video+PG,BD-J graphics、及び、backgroundの解像度(画枠)の組み合わせを示す図である。 コンフィグレーションの変更の処理の例を示す図である。 グラフィクスモード、及び、バックグラウンドモードの所定の初期値を示す図である。 1920×2160画素の3D画像(ステレオ画像)を再生する場合に再生されるグラフィクス、及び、バックグラウンドモードを示す図である。 BD-JアプリケーションによるAPIの呼び出しによる、コンフィグレーションとしての解像度(画枠)の変更を説明する図である。 グラフィクスモードの変更を説明する図である。 ステレオグラフィクスモードから、オフセットグラフィクスモードへのグラフィクスモードの変更を示す図である。 バックグラウンドモードの変更を説明する図である。 ビデオモードの変更を説明する図である。 3D対応プレーヤの機能的構成例を示すブロック図である。 各ビデオモードで選択することができるPG再生モード、及び、TextST再生モードを示す図である。 3D対応プレーヤの機能的構成例を示すブロック図である。 PGについての、3D対応プレーヤの処理を説明する図である。 3D対応プレーヤにおける、3D画像の再生と、2D画像の再生との切り替えを説明する図である。 オーサによるビデオの位置とサイズの設定と、3D対応プレーヤによるビデオの位置とサイズの補正とを説明する図である。 3D対応プレーヤの機能的構成例を示すブロック図である。 1920×2160画素のグラフィクスプレーン11を示す図である。 3D対応プレーヤの機能的構成例を示すブロック図である。 3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。 3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。 3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。 グラフィクスプレーン11に描画されたGUIの例を示す図である。 第1のフォーカス方式と、第2のフォーカス方式とを示す図である。 3D対応プレーヤのフォーカスの管理を説明するフローチャートである。 カーソルの3D画像が見える表示画面上の位置と、グラフィクスプレーン11上のカーソルの位置とを示す図である。 グラフィクスの左眼用画像と右眼用画像との整合性を説明する図である。 3D対応プレーヤの機能的構成例を示すブロック図である。 Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとをまたぐ画像を示す図である。 アニメーションのための左眼用画像の描画と、アニメーションのための右眼用画像の描画とを示す図である。 3D対応プレーヤの機能的構成例を示すブロック図である。 Image Frame Accurate Animation の拡張APIの定義を示す図である。 Sync Frame Accurate Animation の拡張APIの定義を示す図である。 Image Frame Accurate Animation のサンプルコードを示す図である。 Image Frame Accurate Animation のサンプルコードを示す図である。 Sync Frame Accurate Animation のサンプルコードを示す図である。 Sync Frame Accurate Animation のサンプルコードを示す図である。
 以下、本発明の実施の形態を、BDに適用した場合を例に説明する。
 [BDの管理構造]
 まず、現行のBDに関し、"Blu-ray Disc Read-Only Format Ver1.0 part3 Audio Visual Specifications"で規定されている、読み出し専用タイプのBDであるBD-ROMに記録されたコンテンツ、すなわち、AV(Audio/Video)データ等の管理構造(以下、BDMVフォーマットともいう)について説明する。
 例えば、MPEG(Moving Picture Experts Group)ビデオや、MPEGオーディオ等の符号化方式で符号化され、MPEG2システムに従って多重化されたビットストリームは、クリップAVストリーム(またはAVストリーム)と呼ばれる。クリップAVストリームは、BDに関する規格の一つである"Blu-ray Disc Read-Only Format part2"で定義されたファイルシステムにより、ファイルとしてBDに記録される。クリップAVストリームのファイルは、クリップAVストリームファイル(またはAVストリームファイル)と呼ばれる。
 クリップAVストリームファイルは、ファイルシステム上での管理単位であり、クリップAVストリームファイル(のクリップAVストリーム)を再生に必要な情報等は、データベースとしてBDに記録される。このデータベースについては、BD規格の一つである"Blu-ray Disc Read-Only Format part3"で規定されている。
 図1は、BDMVフォーマットの概要を説明する図である。
 BDMVフォーマットは、4層のレイヤから構成される。
 最下位のレイヤは、クリップAVストリームが属するレイヤであり、以下、適宜、クリップレイヤともいう。
 クリップレイヤの1つ上のレイヤは、クリップAVストリームに対する再生箇所を指定するための、プレイリスト(Movie PlayList)が属するレイヤで、以下、プレイリストレイヤともいう。
 プレイリストレイヤの1つ上のレイヤは、プレイリストに対して再生順等を指定するコマンドからなるムービーオブジェクト(Movie Object)等が属するレイヤで、以下、オブジェクトレイヤともいう。
 オブジェクトレイヤの1つ上のレイヤ(最上位のレイヤ)は、BDに格納されるタイトル等を管理するインデックステーブルが属するレイヤで、以下、インデクスレイヤともいう。
 クリップレイヤ、プレイリストレイヤ、オブジェクトレイヤ、及び、インデクスレイヤについて、さらに説明する。
 クリップレイヤには、クリップAVストリームや、クリップ情報(Clip Information)等が属する。
 クリップAVストリームは、コンテンツのデータとしてのビデオデータやオーディオデータ等をTS(MPEG2 TS(Transport Stream))の形にしたストリームである。
 クリップ情報(Clip Information)は、クリップAVストリームに関する情報であり、ファイルとして、BDに記録される。
 なお、クリップAVストリームには、字幕やメニュー等のグラフィクスのストリームも、必要に応じて含まれる。
 字幕(のグラフィクス)のストリームは、プレゼンテーショングラフィクス(PG(Presentation Graphics))ストリームと呼ばれ、メニュー(のグラフィクス)のストリームは、インタラクティブグラフィクス(IG(Interactive Graphics))ストリームと呼ばれる。
 また、クリップAVストリームファイルと、対応するクリップ情報(そのクリップAVストリームファイルのクリップAVストリームに関するクリップ情報)のファイル(クリップ情報ファイル)とのセットは、クリップ(Clip)と呼ばれる。
 クリップは、クリップAVストリームとクリップ情報とから構成される、1つのオブジェクトである。
 クリップを構成するクリップAVストリームに対応するコンテンツを時間軸上に展開したときの最初と最後の位置(時刻)を含む複数の位置は、アクセスポイントに設定される。アクセスポイントは、主に、タイムスタンプで、上位のレイヤのプレイリスト(PlayList)により指定される。
 クリップを構成するクリップ情報は、プレイリストがタイムスタンプで指定したアクセスポイントが表す、クリップAVストリームの位置のアドレス(論理アドレス)を含む。
 プレイリストレイヤには、プレイリスト(Movie PlayList)が属する。
 プレイリストは、再生を行うAVストリームファイルと、そのAVストリームファイルの再生箇所を指定する再生開始点(IN点)、及び、再生終了点(OUT点)とを含むプレイアイテム(PlayItem)から構成される。
 したがって、プレイリストは、プレイアイテムの集合で構成される。
 ここで、プレイアイテムの再生とは、そのプレイアイテムに含まれるIN点とOUT点とによって特定される、クリップAVストリームの区間の再生を意味する。
 オブジェクトレイヤには、ムービーオブジェクト(Movie Object)や、BD-Jオブジェクト(Blu-ray Disc Java(登録商標) Object)が属する。
 ムービーオブジェクトは、HDMV(High Definition Movie)ナビゲーションコマンドプログラム(ナビコマンド)と、ムービーオブジェクトとを連携するターミナルインフォメーションを含む。
 ナビコマンドは、プレイリストの再生を制御するためのコマンドである。ターミナルインフォメーションは、BDを再生するBDプレーヤに対するユーザのインタラクティブな操作を許可するための情報を含む。BDプレーヤでは、ターミナルインフォメーションに基づき、メニューの呼び出しや、タイトルサーチといったユーザオペレーションが制御される。
 BD-Jオブジェクトは、Java(登録商標)プログラムであり、ナビコマンドよりも、より高度な(洗練された)インタラクティブ機能を、ユーザに提供することができる。
 インデクスレイヤには、インデクステーブル(Index table)が属する。
 インデクステーブルは、BD-ROMディスクのタイトルを定義する、トップレベルのテーブルである。
 インデクステーブルのエントリ(欄)は、タイトルに対応し、各エントリからは、そのエントリに対応するタイトル(HDMVタイトル、BD-Jタイトル)のオブジェクト(ムービーオブジェクト、BD-Jオブジェクト)にリンクがはられる。
 図2は、"Blu-ray Disc Read-Only Format part3"で規定された、BDのファイルの管理構造を説明する図である。
 BDでは、ファイルは、ディレクトリ構造により階層的に管理される。
 ここで、図2では、ディレクトリの下のファイル(ディレクトリを含む)とは、そのディレクトリの直下にあるファイルを意味し、ディレクトリに含まれるファイルとは、そのディレクトリの直下にあるファイルや、そのディレクトリの、いわゆるサブディレクトリの下にあるファイルを意味する。
 BDの最上位階層のディレクトリは、ルート(root)ディレクトリになっている。
 ルートディレクトリの直下には、ディレクトリ"BDMV"と、ディレクトリ"CERTIFICATE"とが存在する。
 ディレクトリ"CERTIFICATE"には、著作権に関する情報(ファイル)が格納される。
 ディレクトリ"BDMV"には、図1で説明したBDMVフォーマットのファイルが格納される。
 ディレクトリ"BDMV"の直下には、ファイル"index.bdmv"、及び"MovieObject.bdmv"の2つのファイルが格納される。なお、ディレクトリ"BDMV"の直下には、ファイル"index.bdmv"、及び"MovieObject.bdmv"以外のファイル(ディレクトリを除く)は、格納することができない。
 ファイル"index.bdmv"は、BDを再生するメニューに関する情報としての、図1で説明したインデクステーブルを含む。
 BDプレーヤは、例えば、BDのコンテンツを全て再生する、特定のチャプタのみを再生する、繰り返し再生をする、所定のメニューを表示する等の内容の項目を含む初期メニュー(の画面)を、ファイル"index.bdmv"に基づいて再生する。
 また、ファイル"index.bdmv"には、各項目が選択されたときに実行するムービーオブジェクト(Movie Object)を設定することができ、ユーザにより初期メニュー画面から1つの項目が選択された場合、BDプレーヤは、ファイル"index.bdmv"に設定されているMovie Objectのコマンドを実行する。
 ファイル"MovieObject.bdmv"は、Movie Objectの情報を含むファイルである。Movie Objectは、BDに記録されているPlayListの再生を制御するコマンドを含み、例えば、BDプレーヤは、BDに記録されているMovieObjectの中から1つを選択して実行することにより、BDに記録されているコンテンツ(タイトル)を再生する。
 ディレクトリ"BDMV"の直下には、ディレクトリ"PLAYLIST","CLIPINF","STREAM","AUXDATA","META","BDJO","JAR"、及び"BACKUP"が設けられる。
 ディレクトリ"PLAYLIST"には、プレイリストのデータベースが格納される。すなわち、ディレクトリ"PLAYLIST"には、プレイリストのファイル"xxxxx.mpls"が格納される。ファイル"xxxxx.mpls"のファイル名には、5桁の数字"xxxxx"と、拡張子"mpls"とからなるファイル名が用いられる。
 ディレクトリ"CLIPINF"は、クリップのデータベースが格納される。すなわち、ディレクトリCLIPINF"には、クリップAVストリームファイルのそれぞれに対するクリップインフォメーションファイル"xxxxx.clpi"が格納される。クリップインフォメーションファイル"xxxxx.clpi"のファイル名には、5桁の数字"xxxxx"と、拡張子"clpi"とからなるファイル名が用いられる。
 ディレクトリ"STREAM"には、クリップAVストリームファイル"xxxxx.m2ts"が格納される。クリップAVストリームファイル"xxxxx.m2ts"には、TSが格納される。クリップAVストリームファイル"xxxxx.m2ts"のファイル名には、5桁の数字"xxxxx"と、拡張子"m2ts"とからなるファイル名が用いられる。
 なお、あるクリップを構成するクリップインフォメーションファイル"xxxxx.clpi"と、クリップAVストリームファイル"xxxxx.m2ts"のファイル名としては、拡張子を除き、一致するファイル名が用いられる。これにより、あるクリップを構成するクリップインフォメーションファイル"xxxxx.clpi"と、クリップAVストリームファイル"xxxxx.m2ts"とを、容易に特定することができる。
 ディレクトリ"AUXDATA"には、メニューの表示等に用いられる、サウンドファイル、フォントファイル、フォントインデクスファイル及びビットマップファイル等が格納される。
 図2では、ディレクトリ"AUXDATA"に、ファイル"sound.bdmv"や、拡張子が"otf"のファイルが格納されている。
 ファイル"sound.bdmv"には、所定のサウンドデータ(オーディオデータ)が格納される。ファイル"sound.bdmv"のファイル名は、"sound.bdmv"が固定的に用いられる。
 拡張子が"otf"のファイルには、字幕の表示や、BD-Jオブジェクト(アプリケーション)等で用いられるフォントのデータが格納される。拡張子が"otf"のファイルのファイル名のうちの拡張子以外の部分には、5桁の数字が用いられる。
 ディレクトリ"META"には、メタデータのファイルが格納される。ディレクトリ"BDJO"及びディレクトリ"JAR"は、BD-Jオブジェクトのファイルが格納される。ディレクトリ"BACKUP"は、BDに記録されたファイルのバックアップが格納される。
 [BDプレーヤのハードウェアの構成例]
 図3は、BDを再生するBDプレーヤのハードウェアの構成例を示すブロック図である。
 図3のBDプレーヤは、3D画像のコンテンツが記録されたBDの再生を行うことができるようになっている。
 BDプレーヤは、CPU(Central Processing Unit)102等の、プロセッサ(コンピュータ)を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されている。
 CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105や、ドライブ109に装着されたディスク100に記録されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
 これにより、CPU102は、後述する各種の処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
 なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。通信部108は、ネットワークカード等で構成される。
 ここで、CPU102が実行するプログラムは、BDプレーヤに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
 あるいはまた、プログラムは、ディスク100等のリムーバブル記録媒体に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
 なお、プログラムは、上述したようなリムーバブル記録媒体からBDプレーヤにインストールする他、通信網や放送網を介して、BDプレーヤにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、BDプレーヤに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、BDプレーヤに有線で転送することができる。
 図3において、ディスク100は、例えば、BDであり、そこには、3D画像のコンテンツが、レガシープレーヤで再生されるBDとの互換性を維持する形で記録されている。
 したがって、ディスク100は、レガシープレーヤでも再生することができるし、3D画像のコンテンツの再生を行うことができるBDプレーヤ(以下、3D対応プレーヤともいう)である図3のBDプレーヤでも再生することができる。
 ここで、レガシープレーヤとは、現行の、2D画像のコンテンツが記録されたBDの再生をすることはできるが、3D画像のコンテンツを再生することができないBDプレーヤである。
 レガシープレーヤでは、ディスク100から、2D画像のコンテンツを再生することはできるが、3D画像のコンテンツを再生することはできない。
 一方、3D対応プレーヤである図3のBDプレーヤでは、ディスク100から、2D画像のコンテンツを再生することもできるし、3D画像のコンテンツを再生することもできる。
 図3のBDプレーヤでは、BDであるディスク100がドライブ109に装着されると、CPU102が、ドライブ109を制御することにより、ディスク100の再生を行う。
 [BD-Jアプリケーションの説明]
 ディスク100(図3)には、3D画像のコンテンツの1つとして、BD-Jアプリケーション(BD-Jタイトル)(BD-Jオブジェクト)が記録されている。
 3D対応プレーヤである図3のBDプレーヤでは、CPU102が、Java(登録商標)仮想マシンを実行し、そのJava(登録商標)仮想マシン上で、BD-Jアプリケーションが実行される。
 図4は、3D対応プレーヤによる3D画像の処理の概要(BD-J stereoscopic graphicsの概要)を説明する図である。
 3D対応プレーヤは、3D画像を、論理プレーン10、PGプレーン12、又は、ビデオプレーン13に描画する。なお、論理プレーン10、PGプレーン12、及び、ビデオプレーン13の実体は、例えば、図3のRAM104の一部の記憶領域である。
 3D対応プレーヤが描画する3D画像には、BD規格に規定されたBD-Jのグラフィクス、PG(Presentation Graphics)、TextST(Text subtitle)、ビデオ、及び、バックグラウンドがある。
 ここで、図4では、グラフィクスの3D画像(stereo graphics source)は、左眼で観察される画像である左眼用画像(L(Left)-view)と、右眼で観察される画像である右眼用画像(R(Right)-view)とから構成される。
 PGの3D画像(stereo PG source)、ビデオの3D画像(stereo video source)、及び、バックグラウンドの3D画像(stereo background source)も、同様に、左眼用画像と右眼用画像とから構成される。
 なお、ビデオの3D画像等を構成する左眼用画像、及び、右眼用画像は、例えば、H.264 AVC(Advanced Video Coding)/MVC(Multi-view Video coding)等で符号化することができる。
 ここで、H.264 AVC/MVCでは、ベースビュー(Base View)と呼ばれる画像ストリームと、ディペンデントビュー(Dependent View)と呼ばれる画像ストリームとが定義されている。
 ベースビューには、他のストリームを参照画像とする予測符号化が許されていないが、ディペンデントビューには、ベースビューを参照画像とする予測符号化が許されている。左眼用画像、及び右眼用画像のうちの、例えば、左眼用画像は、ベースビューとし、右眼用画像は、ディペンデントビューとすることができる。
 3D対応プレーヤは、論理プレーン10に描画された3D画像を、グラフィクスプレーン11や、バックグラウンドプレーン14に描画する。
 グラフィクスプレーン11は、左眼用画像を記憶するLグラフィクスプレーン(L(Left) graphics plane)11Lと、右眼用画像を記憶するRグラフィクスプレーン(R(Right) graphics plane)11Rとから構成される。
 論理プレーン10に描画されたグラフィクスの3D画像を構成する左眼用画像は、Lグラフィクスプレーン11Lに描画され、右眼用画像は、Rグラフィクスプレーン11Rに描画される。
 ここで、Lグラフィクスプレーン11Lは、左眼で観察されるL(Left)用の画像(左眼用画像)を記憶する1面分の画像の記憶領域(L領域)である。また、Rグラフィクスプレーン11Rは、右眼で観察されるR(Right)用の画像(右眼用画像)を記憶する1面分の画像の記憶領域(R領域)である。
 Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11R、すなわち、グラフィクスプレーン11の実体は、論理プレーン10とは別の、図3のRAM104の一部の記憶領域である。
 PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14も同様である。
 PGプレーン12は、左眼用画像を記憶するL-PGプレーン(L(Left) PG plane)12Lと、右眼用画像を記憶するR-PGプレーン(R(Right) PG plane)12Rとから構成される。
 3D対応プレーヤは、PGの3D画像を構成する左眼用画像を、L-PGプレーン12Lに描画し、右眼用画像を、R-PGプレーン12Rに描画する。
 ビデオプレーン13は、左眼用画像を記憶するLビデオプレーン(L(Left) video plane)13Lと、右眼用画像を記憶するRビデオプレーン(R(Right) video plane)13Rとから構成される。
 3D対応プレーヤは、ビデオの3D画像を構成する左眼用画像を、Lビデオプレーン13Lに描画し、右眼用画像を、Rビデオプレーン13Rに描画する。
 バックグラウンドプレーン14は、左眼用画像を記憶するLバックグラウンドプレーン(L(Left) background plane)14Lと、右眼用画像を記憶するRバックグラウンドプレーン(R(Right) background plane)14Rとから構成される。
 論理プレーン10に描画されたバックグラウンドの3D画像を構成する左眼用画像は、Lバックグラウンドプレーン14Lに描画され、右眼用画像は、Rバックグラウンドプレーン14Rに描画される。
 グラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14に描画(記憶)された左眼用画像、及び、右眼用画像は、ミキサ15に供給される。
 ミキサ15は、グラフィクスプレーン11からのグラフィクスの左眼用画像、PGプレーン12からのPGの左眼用画像、ビデオプレーン13からのビデオの左眼用画像、及び、バックグラウンドプレーン14からのバックグラウンドの左眼用画像をブレンディング(ミキシング)(合成)し、その合成結果である左眼用画像を出力する。
 また、ミキサ15は、グラフィクスプレーン11からのグラフィクスの右眼用画像、PGプレーン12からのPGの右眼用画像、ビデオプレーン13からのビデオの右眼用画像、及び、バックグラウンドプレーン14からのバックグラウンドの右眼用画像をブレンディング合成し、その合成結果である右眼用画像を出力する。
 ミキサ15が出力する左眼用画像は、左用のディスプレイ出力(L(Left) display output)として、図示せぬディスプレイに供給される。また、ミキサ15が出力する右眼用画像は、右用のディスプレイ出力(R(Right) display output)として、図示せぬディスプレイに供給される。
 図示せぬディスプレイでは、ミキサ15からの左眼用画像と右眼用画像とが、交互、又は、同時に表示されることで、3D画像が表示される。
 BD-Jアプリケーションは、グラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14のうちの、グラフィクスプレーン11、及び、バックグラウンドプレーン14に、画像の描画を行うことができる。
 なお、本実施の形態では、BD-Jアプリケーションは、論理プレーン10にしかアクセスすることはできず、グラフィクスプレーン11、及び、バックグラウンドプレーン14には、直接アクセスすることはできないこととする。
 したがって、BD-Jアプリケーションは、画像の描画を、論理プレーン10に対して行うことができるだけで、グラフィクスプレーン11、及び、バックグラウンドプレーン14に対して直接的に行うことはできない。このため、BD-Jアプリケーションは、論理プレーン10に、画像を描画することで、間接的に、グラフィクスプレーン11や、バックグラウンドプレーン14に、画像を描画する。
 但し、以下では、説明の便宜上、BD-Jアプリケーションによる、論理プレーン10を介しての、グラフィクスプレーン11や、バックグラウンドプレーン14への画像の描画を、単に、グラフィクスプレーン11や、バックグラウンドプレーン14への画像の描画とも記載する。
 なお、3D対応プレーヤは、論理プレーン10なしで構成することができる。この場合、BD-Jアプリケーションは、画像を、グラフィクスプレーン11や、バックグラウンドプレーン14に、直接描画する。
 BD-Jアプリケーションは、グラフィクスプレーン11、及び、バックグラウンドプレーン14への画像の描画の他、ビデオとPGのスケーリングや位置(表示位置)の制御等の、ビデオとPGの再生制御を行うことができる。
 なお、BD-Jアプリケーションは、ビデオとPGとは、1組で(まとめて)扱われる。すなわち、BD-Jアプリケーションは、ビデオとPGとを区別しない(区別することができない)。
 [BD-Jアプリケーションによるグラフィクスの画像の描画]
 図5は、BD-Jアプリケーションによる、グラフィックスプレーン11(Stereoscopic graphics planes)への、グラフィクスの3D画像の描画を説明する図である。
 3D画像の描画方式としては、第1の描画方式と、第2の描画方式とを採用することができる。
 図5のAは、第1の描画方式を説明する図である。
 第1の描画方式では、BD-Jアプリケーションのオーサ(author)は、ステレオプレーンに描画を行う。
 すなわち、第1の描画方式では、グラフィクスの3D画像のデータが、左眼用画像のデータと、右眼用画像のデータとで構成され、BD-Jアプリケーションは、その左眼用画像と右眼用画像とを、論理プレーン10に描画する。
 そして、論理プレーン10に描画された左眼用画像と右眼用画像とが、そのまま、グラフィックスプレーン11に描画される。すなわち、論理プレーン10に描画された左眼用画像が、そのまま、Lグラフィックスプレーン11Lに描画され、論理プレーン10に描画された右眼用画像が、そのまま、Rグラフィックスプレーン11Rに描画される。
 図5のBは、第2の描画方式を説明する図である。
 第2の描画方式では、BD-Jアプリケーションのオーサは、モノプレーンに描画する。また、オーサは、同時に、オフセット値(graphics plane offset値)を供給する。3D対応プレーヤは、オフセット値に基づき、モノプレーンからステレオプレーンを生成する。
 すなわち、第2の描画方式では、3D画像のデータが、3D画像を生成する、いわば元となる元画像のデータと、元画像に視差を与えて、元画像から、左眼用画像と右眼用画像とを生成するための視差のデータとで構成される。
 BD-Jアプリケーションは、元画像を、論理プレーン10に描画する。3D対応プレーヤは、論理プレーン10に描画された元画像に、視差を与えることで生成される左眼用画像と右眼用画像を、それぞれ、Lグラフィックスプレーン11LとRグラフィックスプレーン11Rに描画する。
 ここで、視差のデータを、オフセット値(offset)ということとすると、オフセット値としては、元画像の位置を、水平方向(x方向)にずらす画素数(ピクセル数)を採用することができる。
 Lグラフィックスプレーン11Lにおいては、左から右方向を正の方向として、論理プレーン10に描画された元画像が、水平方向の位置を、オフセット値だけずらした位置に描画される。すなわち、論理プレーン10に描画された元画像の水平方向の位置を、オフセット値だけずらした結果得られる画像が、左眼用画像として、Lグラフィクスプレーン11Lに描画される。
 Rグラフィックスプレーン11Rにおいては、右から左方向を正の方向として、論理プレーン10に描画された元画像が、水平方向の位置を、オフセット値だけずらした位置に描画される。すなわち、論理プレーン10に描画された元画像の水平方向の位置を、オフセット値だけずらした結果得られる画像が、右眼用画像として、Rグラフィクスプレーン11Rに描画される。
 なお、Lグラフィックスプレーン11Lには、論理プレーン10に描画された元画像が、水平方向の位置をずらして描画されるため、描画を行うべき領域(水平方向の位置をずらさない場合に描画がされる領域)の中に、描画が行われない領域(画素)が生じる。Lグラフィックスプレーン11Lの、元の画像の描画が行われない領域は、透明色が描画される。Rグラフィクスプレーン11Rについても、同様である。
 ここで、オフセット値が、正である場合には、左眼用画像と右眼用画像とで表示される3D画像は、図示せぬディスプレイの表示画面に垂直な奥行き方向の手前側に、浮き上がって見える。一方、オフセット値が、負である場合には、左眼用画像と右眼用画像とで表示される3D画像は、奥行き方向の奥側に、へこんで見える。
 図6は、BD-Jアプリケーションが、グラフィックスプレーン11に、グラフィクスの3D画像を描画することにより、グラフィクスの画像を再生するグラフィクスモードを示す図である。
 Reference Decoder Model上では、3D対応プレーヤは、常に2-plane(Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11R)を有し、BD-Jアプリケーションは、論理プレーン10に対して描画する仕様とする。
 そして、最終的には、Lグラフィクスプレーン11Lに描画されたグラフィクスの左眼用画像(L graphics plane)は、Lビデオプレーン13Lに描画されたビデオ(及びPG)の左眼用画像(L video plane)とブレンディングされる。また、Rグラフィクスプレーン11Rに描画されたグラフィクスの右眼用画像(R graphics plane)は、Rビデオプレーン13Rに描画されたビデオの右眼用画像(R video plane)とブレンディングされる。
 図6のAは、グラフィクスモードの1つのモードMode#1であるmono-logical-plane + offset valueモード(以下、オフセットグラフィクスモードともいう)を示している。
 オフセットグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの2D画像であるモノ画像を、論理プレーン10に描画する。また、BD-Jアプリケーションは、オフセット値を、3D対応プレーヤに与える。
 3D対応プレーヤは、論理プレーン10描画されたモノ画像と、BD-Jアプリケーションから与えられたオフセット値とから、グラフィクスの3D画像であるステレオ画像を生成する。さらに、BDプレーヤは、ステレオ画像を構成する左眼用画像を、Lグラフィクスプレーン11L(L領域)に描画する(記憶させる)とともに、そのステレオ画像を構成する右眼用画像を、Rグラフィクスプレーン11R(R領域)に描画する(記憶させる)。
 そして、ミキサ15は、Lグラフィクスプレーン11Lに描画(記憶)されたグラフィクスの左眼用画像を、Lビデオプレーン13Lに描画されたビデオ(及びPG)の左眼用画像とブレンディングして出力する。さらに、ミキサ15は、Rグラフィクスプレーン11Rに描画されたグラフィクスの右眼用画像を、Rビデオプレーン13Rに描画されたビデオの右眼用画像とブレンディングして出力する。
 図6のBは、グラフィクスモードの1つのモードMode#2であるstereo-logical-planeモード(以下、ステレオグラフィクスモードともいう)を示している。
 ステレオグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの3D画像であるステレオ画像を構成する左眼用画像と右眼用画像を、論理プレーン10に描画する。
 3D対応プレーヤは、論理プレーン10に描画された左眼用画像を、Lグラフィクスプレーン11Lに描画するとともに、論理プレーン10に描画された右眼用画像を、Rグラフィクスプレーン11Rに描画する。
 そして、ミキサ15は、Lグラフィクスプレーン11Lに描画されたグラフィクスの左眼用画像を、Lビデオプレーン13Lに描画されたビデオの左眼用画像とブレンディングして出力する。さらに、ミキサ15は、Rグラフィクスプレーン11Rに描画されたグラフィクスの右眼用画像を、Rビデオプレーン13Rに描画されたビデオの右眼用画像とブレンディングして出力する。
 図6のCは、グラフィクスモードの1つのモードMode#3であるforced-mono-logical-planeモード(以下、強制モノグラフィクスモードともいう)を示している。
 強制モノグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの3D画像であるステレオ画像を、論理プレーン10に描画する。
 3D対応プレーヤは、論理プレーン10に描画されたステレオ画像のうちLグラフィクス画像、及び、Rグラフィクス画像のうちの一方である、例えば、Lグラフィクス画像だけを、Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rのうちの一方である、例えば、Lグラフィクスプレーン11Lだけに描画する。
 そして、ミキサ15は、Lグラフィクスプレーン11Lに描画されたグラフィクスのモノ画像を、Lビデオプレーン13Lに描画されたビデオの画像とブレンディングして出力する。
 図6のDは、グラフィクスモードの1つのモードMode#4であるflattened-stereo-logical-planeモード(以下、フラットステレオグラフィクスモードともいう)を示している。
 フラットステレオグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像を、論理プレーン10に描画する。
 3D対応プレーヤは、論理プレーン10に描画された左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lグラフィクスプレーン14L、及び、Rグラフィクスプレーン14Rの両方に描画し、他方の右眼用画像を捨てる。
 そして、Lグラフィクスプレーン14Lに描画されたグラフィクスの左眼用画像が、ミキサ15に供給されるとともに、グラフィクスプレーン14Rに描画されたグラフィクスの左眼用画像が、(右眼用画像として、)いずれも、ミキサ15に供給される。
 図6のEは、グラフィクスモードの1つのモードMode#5であるmono-logical-planeモード(以下、モノグラフィクスモードともいう)を示している。
 モノグラフィクスモードでは、BD-Jアプリケーションは、グラフィクスの2D画像であるモノ画像を、論理プレーン10に描画する。
 3D対応プレーヤは、論理プレーン10に描画されたモノ画像を、Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rのうちの一方である、例えば、Lグラフィクスプレーン11Lだけに描画する。
 そして、ミキサ15は、Lグラフィクスプレーン11Lに描画されたグラフィクスのモノ画像を、Lビデオプレーン13Lに描画されたビデオの画像とブレンディングして出力する。
 [オフセット値の設定と取得]
 3D対応プレーヤにおいて、オフセット値は、グラフィックプレーン11と、PGプレーン12に適用することができる。
 ここで、グラフィックプレーン11に適用されるオフセット値(グラフィクスの画像に、視差を与えるデータ)を、グラフィクスプレーンオフセット(Graphics plane offset)値ともいう。また、PGプレーン12に適用されるオフセット値(PGの画像に、視差を与えるデータ)を、PGプレーンオフセット(PG plane offset)値ともいう。
 グラフィクスプレーンオフセット値の設定、取得には、以下のようなオフセット値の読み書き専用のAPIを定義し、その専用のAPIによって、グラフィクスプレーンオフセット値の設定、取得を行うことができる。
 org.bluray.ui.3D
 public void setOffset(int offset)
 デフォルト値は、0
 public int getOffset()
 デフォルト値は、0
 なお、setOffset()メソッドが、グラフィクスプレーンオフセット値を、BDプレーヤの内部に設けられた記憶領域である内部記憶領域に記憶させる(設定する)メソッドであり、getOffset()が、BDプレーヤの内部記憶領域に記憶されているグラフィクスプレーンオフセット値を取得するメソッドである。
 また、BDプレーヤは、BDの再生に関する情報を記憶するPSR(Player Setting Register)を有し、グラフィクスプレーンオフセット値、及び、PGプレーンオフセット値は、PSRのうちの、レガシープレーヤで予約(reserved)になっている、例えば、PSR#21に保存することができる。
 ここで、内部記憶領域、及び、PSRの実体は、図3のRAM104やハードディスク105の一部の記憶領域である。
 ところで、現行のBD規格(BD-ROM規格)では、BD-Jアプリケーションからの、BDプレーヤのPSRへの書き込みが禁止されている。
 3D対応プレーヤである図3のBDプレーヤに、BD-JアプリケーションからのPSRへの書き込みを許してしまうと、現行のBD規格の大規模な改定が必要となる。
 そこで、3D対応プレーヤでは、General Preferenceとして、オフセット値を定義することで、間接的に、PSRへの書き込みが可能なようになっている。
 すなわち、3D対応プレーヤは、BD規格のグラフィクスや、PGの画像に視差を与えるデータであるオフセット値を、BD規格のジェネラルプリファレンス(General Preference)の1つとして、BDの再生に関する情報を記憶するPSR#21に対するオフセット値の読み書きを行うジェネラルプリファレンスAPI(Application Programming Interface)を備える。
 ここで、PSR#21は、BD規格part3-2 Annex Lの General Preferenceにマッピングされ、org.dvb.user. GeneralPreference APIで、値の設定、取得を行うことができる。
 ジェネラルプリファレンスAPIで、PSRにアクセスするためのジェネラレルプリファレンスネーム(General Preference name)は、以下のように定義することができる。
 すなわち、グラフィクスプレーンオフセット値のジェネラレルプリファレンスネームは、例えば、"graphics offset"と定義することができる。また、PGプレーンオフセット値のジェネラレルプリファレンスネームは、例えば、"subtitle offset"と定義することができる。
 なお、"graphics offset" General Preference、及び、"subtitle offset" General Preferenceのデフォルト値は、例えば、いずれも0とする。
 また、グラフィクスプレーンオフセット値の設定、取得には、以下のような専用のAPIを定義し、その専用のAPIによって、グラフィクスプレーンオフセット値の設定、取得を行うこともできる。
 org.bluray.ui.3D
 public void setOffset(int offset)
 デフォルト値は、0
 public int getOffset()
 デフォルト値は、0
 なお、setOffset()メソッドが、グラフィクスプレーンオフセット値を、BDプレーヤの内部記憶領域(ここでは、例えば、PSR)に記憶させるメソッドであり、getOffset()が、BDプレーヤの内部記憶領域に記憶されているグラフィクスプレーンオフセット値を取得するメソッドである。
 図7は、以上のように、BD規格のグラフィクス、及び、PG(以下、特に断らない限り、TextSTを含む)のオフセット値の読み書きを行う3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
 すなわち、図7のAは、BD規格のグラフィクス、及び、PGのオフセット値の読み書きを、3D対応プレーヤの内部記憶領域に対して行う、オフセット値の読み書き専用のAPIを備える3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
 図7のAの3D対応プレーヤにおいて、BD-Jアプリケーションは、オフセット値の読み書き専用のAPI(General Preference API)に対して、オフセット値の読み書き(設定、又は取得)を要求する。
 オフセット値の読み書き専用のAPIは、BD-Jアプリケーションからの要求に応じて、3D対応プレーヤの内部記憶領域に、オフセット値(グラフィックスプレーンオフセット値、PGプレーンオフセット値)を設定するか、又は、3D対応プレーヤの内部記憶領域から、オフセット値を取得し、BD-Jアプリケーションに返す。
 なお、図7のAにおいて、プレイバックコントロールエンジン(Playback Control Engine)は、3D対応プレーヤの内部記憶領域に設定されたオフセット値に応じて、BD-Jアプリケーションが論理プレーン10に描画した画像(元画像)から、左眼用画像と右眼用画像を生成(再生)するための制御を行う。
 以上のように、オフセット値の読み書き専用のAPIを定義し、そのオフセット値の読み書き専用のAPIが、BD-Jアプリケーションからの要求に応じて、BD規格のグラフィクスと、PGの画像に視差を与えるデータであるオフセット値の読み書きを、3D対応プレーヤの内部記憶領域に対して行うことで、BD-Jアプリケーションから、画像に視差を与えるオフセット値を、間接的に、設定、取得することができる。
 図7のBは、BD規格のグラフィクス、及び、PGのオフセット値を、BD規格のジェネラルプリファレンスの1つとして、PSR#21に対するオフセット値の読み書きを行うジェネラルプリファレンスAPIを備える3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
 図7のBの3D対応プレーヤにおいて、BD-Jアプリケーションは、ジェネラルプリファレンスAPI(General Preference API)に対して、オフセット値の読み書き(設定、又は取得)を要求する。
 すなわち、読み書きを要求するオフセット値が、グラフィックスプレーンオフセット値である場合、BD-Jアプリケーションは、ジェネラレルプリファレンスネーム(General Preference name)を、"graphics offset"として、ジェネラルプリファレンスAPIを呼び出す。
 また、読み書きを要求するオフセット値が、PGプレーンオフセット値である場合、BD-Jアプリケーションは、ジェネラレルプリファレンスネームを、"subtitle offset"として、ジェネラルプリファレンスAPIを呼び出す。
 ジェネラルプリファレンスAPIは、BD-Jアプリケーションからの要求に応じて、PSR(Player Setting Register)のうちのPSR#21に、オフセット値を設定するか、又は、PSR#21から、オフセット値を取得し、BD-Jアプリケーションに返す。
 なお、図7のBにおいて、プレイバックコントロールエンジン(Playback Control Engine)は、PSR#21に設定されたオフセット値に応じて、BD-Jアプリケーションが論理プレーン10に描画した画像(元画像)から、左眼用画像と右眼用画像を生成(再生)するための制御を行う。
 以上のように、General Preference APIが、BD-Jアプリケーションからの要求に応じて、BD規格のグラフィクスと、PGの画像に視差を与えるデータであるオフセット値を、BD規格のGeneral Preferenceの1つとして、BDの再生に関する情報を記憶するPSR#21に対するオフセット値の読み書きを行うことで、BD-Jアプリケーションから、画像に視差を与えるオフセット値を、間接的に、設定、取得することができる。
 [コンフィグレーション]
 図8は、ビデオプレーン13のコンフィグレーション(configration)の1つである、ビデオの画像を再生するビデオモードを示す図である。
 図8のAは、ビデオモードの1つのモードMode#1であるmono-videoモード(以下、モノビデオモードともいう)を示している。
 モノビデオモードでは、3D対応プレーヤは、ビデオの2D画像であるモノ画像を、Lビデオプレーン13L(L領域)、及び、Rビデオプレーン13R(R領域)のうちの一方である、例えば、Lビデオプレーン13Lのみに描画する(記憶させる)。
 そして、Lビデオプレーン13Lのみに描画(記憶)されたビデオのモノ画像は、ミキサ15に供給される。
 図8のBは、ビデオモードの1つのモードMode#2であるdual-mono-videoモード(以下、デュアルモノビデオモードともいう)を示している。
 デュアルモノビデオモードでは、3D対応プレーヤは、ビデオの2D画像であるモノ画像を、(左眼用画像として、)Lビデオプレーン13L(L領域)に描画する(記憶させる)とともに、そのモノ画像を、(右眼用画像として、)Rビデオプレーン13R(R領域)に描画する(記憶させる)。
 そして、Lビデオプレーン13Lに描画(記憶)されたビデオのモノ画像、及び、Rビデオプレーン13Rに描画されたビデオのモノ画像は、いずれも、ミキサ15に供給される。
 図8のCは、ビデオモードの1つのモードMode#3であるstereo-videoモード(以下、ステレオビデオモードともいう)を示している。
 ステレオビデオモードでは、3D対応プレーヤは、ビデオの3D画像であるステレオ画像を構成する左眼用画像を、Lビデオプレーン13Lに描画するとともに、そのステレオ画像を構成する右眼用画像を、Rビデオプレーン13Rに描画する。
 そして、Lビデオプレーン13Lに描画(記憶)されたビデオの左眼用画像、及び、Rビデオプレーン13Rに描画されたビデオの右眼用画像は、いずれも、ミキサ15に供給される。
 図8のDは、ビデオモードの1つのモードMode#4であるflattened-stereo-videoモード(以下、フラットステレオビデオモードともいう)を示している。
 フラットステレオビデオモードでは、3D対応プレーヤは、ビデオの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lビデオプレーン13L、及び、Rビデオプレーン13Rの両方に描画し、他方の右眼用画像を捨てる。
 そして、Lビデオプレーン13Lに描画(記憶)されたビデオの左眼用画像が、ミキサ15に供給されるとともに、Rビデオプレーン13Rに描画されたビデオの左眼用画像が、(右眼用画像として、)ミキサ15に供給される。
 図8のEは、ビデオモードの1つのモードMode#5であるforced-mono-videoモード(以下、強制モノビデオモードともいう)を示している。
 強制モノビデオモードでは、3D対応プレーヤは、ビデオの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lビデオプレーン13L、及び、Rビデオプレーン13Rのうちの一方である、例えば、Lビデオプレーン13Lにだけ描画し、他方の右眼用画像を捨てる。
 そして、Lビデオプレーン13Lに描画(記憶)されたビデオの左眼用画像だけが、ミキサ15に供給される。
 図9は、バックグラウンドプレーン14のコンフィグレーション(configuration)の1つである、バックグラウンドの画像を再生するバックグラウンドモードを示す図である。
 図9のAは、バックグラウンドモードの1つのモードMode#1であるdual-mono-backgroundモード(以下、デュアルモノバックグラウンドモードともいう)を示している。
 デュアルモノバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの2D画像であるモノ画像を、左眼用画像、及び、右眼用画像として、論理プレーン10に描画する。
 そして、3D対応プレーヤは、論理プレーン10に描画された左眼用画像を、Lバックグラウンドプレーン14L(L領域)に描画する(記憶させる)とともに、論理プレーン10に描画された右眼用画像を、Rバックグラウンドプレーン14R(R領域)に描画する(記憶させる)。
 Lバックグラウンドプレーン14Lに描画(記憶)されたバックグラウンドの左眼用画像、及び、Rバックグラウンドプレーン14Rに描画されたバックグラウンドの右眼用画像は、いずれも、ミキサ15に供給される。
 図9のBは、バックグラウンドモードの1つのモードMode#2であるstereo-backgroundモード(以下、ステレオバックグラウンドモードともいう)を示している。
 ステレオバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像を、論理プレーン10に描画する。
 そして、3D対応プレーヤは、論理プレーン10に描画された左眼用画像を、Lバックグラウンドプレーン14Lに描画するとともに、論理プレーン10に描画された右眼用画像を、Rバックグラウンドプレーン14Rに描画する。
 Lバックグラウンドプレーン14Lに描画されたバックグラウンドの左眼用画像、及び、Rバックグラウンドプレーン14Rに描画されたバックグラウンドの右眼用画像は、いずれも、ミキサ15に供給される。
 図9のCは、バックグラウンドモードの1つのモードMode#3であるflattened-stereo-backgroundモード(以下、フラットステレオバックグラウンドモードともいう)を示している。
 フラットステレオバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像を、論理プレーン10に描画する。
 そして、3D対応プレーヤは、論理プレーン10に描画された左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lバックグラウンドプレーン14L、及び、Rバックグラウンドプレーン14Rの両方に描画し、他方の右眼用画像を捨てる。
 Lバックグラウンドプレーン14Lに描画されたバックグラウンドの左眼用画像は、ミキサ15に供給されるとともに、Rバックグラウンドプレーン14Rに描画されたバックグラウンドの左眼用画像は、(右眼用画像として、)いずれも、ミキサ15に供給される。
 図9のDは、バックグラウンドモードの1つのモードMode#4であるmono-backgroundモード(以下、モノバックグラウンドモードともいう)を示している。
 モノバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの2D画像であるモノ画像を、論理プレーン10に描画する。
 そして、3D対応プレーヤは、論理プレーン10に描画されたモノ画像を、Lバックグラウンドプレーン14L、及び、Rバックグラウンドプレーン14Rのうちの一方である、例えば、Lバックグラウンドプレーン14Lにだけ描画する。
 Lバックグラウンドプレーン14Lに描画されたバックグラウンドのモノ画像は、ミキサ15に供給される。
 図9のEは、バックグラウンドモードの1つのモードMode#5であるforced-mono-backgroundモード(以下、強制モノバックグラウンドモードともいう)を示している。
 強制モノバックグラウンドモードでは、BD-Jアプリケーションは、バックグラウンドの3D画像であるステレオ画像を構成する左眼用画像、及び、右眼用画像を、論理プレーン10に描画する。
 そして、3D対応プレーヤは、論理プレーン10に描画された左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけを、Lバックグラウンドプレーン14L、及び、Rバックグラウンドプレーン14Rの一方である、例えば、Lバックグラウンドプレーン14Lだけに描画し、他方の右眼用画像を捨てる。
 Lバックグラウンドプレーン14Lに描画されたバックグラウンドの左眼用画像は、ミキサ15に供給される。
 ここで、図4に示した、グラフィクスを記憶するグラフィクスプレーン11、ビデオを記憶するビデオプレーン13(と、PGを記憶するPGプレーン12)、及び、バックグラウンドを記憶するバックグラウンドプレーン14を、まとめて、デバイスプレーンとも呼ぶこととする。
 3D対応プレーヤである図3のBDプレーヤでは、デバイスプレーンのコンフィグレーションが、(1)画枠、及び、色深度、(2)ビデオモード(Video mode)、(3)グラフィクスモード(BD-J Graphics mode)、並びに、(4)バックグラウンドモード(Background mode)、の4つの属性によって表現されるように定義されている。
 図10は、デバイスプレーンであるグラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14の関係を示している。
 グラフィクスプレーン11は、左眼用画像を記憶する記憶領域であるL領域としてのLグラフィクスプレーン11Lと、右眼用画像を記憶する記憶領域であるR領域としてのRグラフィクスプレーン11Rとから構成される。そして、グラフィクスプレーン11では、Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとが並んで配置されている。
 すなわち、図10では、L領域であるLグラフィクスプレーン11Lを上側にし、かつ、R領域であるRグラフィクスプレーン11Rを下側にする形で、Lグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rを上下に並べて配置することにより、グラフィクスプレーン11が構成されている。
 他のデバイスプレーン、すなわち、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14も、グラフィクスプレーン11と同様に構成されている。
 グラフィクスプレーン11、PGプレーン12、ビデオプレーン13、及び、バックグラウンドプレーン14に描画された画像は、手前側から、グラフィクスプレーン11、PGプレーン12、ビデオプレーン13、バックグラウンドプレーン14の順番で重ねられ(ブレンディングされ)、その結果得られるL領域の画像と、R領域の画像とが、例えば、交互に、ディスプレイの表示画面を抽象化した論理スクリーン21に描画(記憶)される。
 ここで、論理スクリーン21の実体は、RAM104の一部の記憶領域である。
 また、デバイスプレーンは、いずれも1面分の画像の記憶領域であるL領域とR領域とを、上下に並べた記憶領域であり、したがって、2面分の画像の記憶領域であるが、論理スクリーン21は、1面分の画像の記憶領域である。
 デバイスプレーンのコンフィグレーションは、3D画像については、2面分の画像の記憶領域であるデバイスプレーン全体に対して定義される。
 図11は、デバイスプレーンのコンフィグレーションの1つである(1)画枠(Resolution)、及び、色深度(color-depth)を示している。
 図11において、上から5行の画枠(デバイスプレーンの横×縦の画素数)(解像度)、及び、色深度は、3D画像の画枠、及び、色深度を示しており、残りの5行(下から5行)の画枠、及び、色深度は、2D画像の画枠、及び、色深度を示している。
 2D画像の1面分を、1面分の画像とすると、3D画像は、左眼用画像と右眼用画像で構成されるため、2面分の画像となる。また、デバイスプレーンは、いずれも1面分の画像の記憶領域であるL領域とR領域とを、上下に並べた記憶領域になっているため、そのようなデバイスプレーンに記憶される3D画像の画枠は、対応する2D画像(左眼用画像(、又は、右眼用画像)と同一のサイズの2D画像)の画枠の垂直方向の画素数を2倍にしたサイズになっている。
 なお、現行のBD規格において、2D画像については、グラフィクスプレーン11に記憶されるグラフィクス(の画像)、及び、バックグラウンドプレーン14に記憶されるバックグラウンド(の画像)の画枠は、いずれも、ビデオプレーン13に記憶されるビデオ(の画像)の画枠と、原則、一致する。
 但し、2D画像については、ビデオプレーン13に記憶されるビデオの画枠が、1920×1080画素である場合に、バックグラウンドプレーン14に記憶されるバックグラウンドの画枠は、ビデオプレーン13に記憶されるビデオの画枠と同様に、1920×1080画素であるが、グラフィクスプレーン11に記憶されるグラフィクスの画枠が、ビデオプレーン13に記憶されるビデオの画枠の横及び縦のそれぞれを1/2にした960×540画素であるケース(図11において、下から4行目)(以下、2D画像の不一致ケースともいう)がある。
 この場合、グラフィクスプレーン11に記憶される960×540画素のグラフィクスは、横及び縦のそれぞれを2倍にすることで、サイズを、ビデオプレーン13に記憶されるビデオの画枠である1920×1080画素に一致させてから表示される。
 3D画像についても、2D画像の不一致ケースに対応するケース(以下、3D画像の不一致ケースともいう)が存在する。
 3D画像の不一致ケースでは、ビデオプレーン13に記憶されるビデオの画枠が、1920×2160画素である場合に、バックグラウンドプレーン14に記憶されるバックグラウンドの画枠が、ビデオプレーン13に記憶されるビデオの画枠と同様に、1920×2160画素であるが、グラフィクスプレーン11に記憶されるグラフィクスの画枠が、ビデオプレーン13に記憶されるビデオの画枠の横及び縦のそれぞれを1/2にした960×1080画素となる(図11において、上から3行目)。
 3D画像の不一致ケースでも、960×1080画素のグラフィクスは、横及び縦のそれぞれを2倍にすることで、サイズを、ビデオプレーン13に記憶されるビデオの画枠である1920×2160画素に一致させてから表示される。
 図12は、3D画像の不一致ケースにおいて、第2の描画方式(図5のB)で、3D画像を描画する方法を説明する図である。
 第2の描画方式では、図5のBで説明したように、3D画像を生成する元となる元画像が、論理プレーン10に描画され、その後、元画像を、オフセット(offset)値だけ水平方向にすらすことで生成される左眼用画像と右眼用画像が、グラフィクスプレーン11に描画される。
 ここで、第2の描画方式は、元画像と、元画像のコピーとの2つの画像を上下に並べた縦長の画像の、上側の半分と下側の半分とのそれぞれを、オフセット値に従って水平方向にずらすことにより得られる2つの画像を、左眼用画像と右眼用画像として、グラフィクスプレーン11に描画する方式であるともいえる。
 いま、第2の描画において、3D画像の不一致ケースにおける、960×1080画素のグラフィクスの、上側の半分と下側の半分とのそれぞれを、オフセット値に従って水平方向にすらすことで得られる、960×540画素の左眼用画像と右眼用画像を、グラフィクスプレーン11に描画し、その後、グラフィクスプレーン11の左眼用画像と右眼用画像の横及び縦のそれぞれを2倍にすると、その結果得られる左眼用画像と右眼用画像は、水平方向のずれ量が、オフセット値の2倍になっている画像となる。
 したがって、この場合、左眼用画像と右眼用画像によって表示される3D画像の奥行き方向の位置が、オーサが意図していた位置と異なる位置となる。
 そこで、3D画像の不一致ケースにおいて、第2の描画方式で、3D画像を描画する場合には、3D画像を生成する元となる元画像の横及び縦のそれぞれを2倍にした画像を、論理プレーン10に描画し、その後、論理プレーン10に描画された画像を、オフセット値だけ水平方向にすらすことで生成される左眼用画像と右眼用画像を、グラフィクスプレーン11に描画する必要がある。
 このようにすることで、左眼用画像と右眼用画像によって表示される3D画像の奥行き方向の位置は、オーサが意図していた位置となる。
 図13は、デバイスプレーンを説明する図である。
 現行のBD規格では、論理スクリーン21としては、1面分の画像の記憶領域を想定しており、その1面分の画像の記憶領域である論理スクリーン21に、左眼用画像(Left/Left-eye)と右眼用画像(Right/Right-eye)を、交互に描画することは、想定されていない。
 そして、現行のBD規格は、デバイスプレーンのコンフィグレーションと、論理スクリーン21との間に、1対1の関係があることを前提としている。この前提の下では、3D画像の処理に、論理スクリーン21として、左眼用画像を描画する論理スクリーンと、右眼用画像を描画する論理スクリーンとの、2つの別個の論理スクリーンが必要となる。
 そこで、3D対応プレーヤである図3のBDプレーヤでは、解像度の定義を縦方向に2倍にすることで、L/R用のデバイス・コンフィグレーションを1面で定義する。論理スクリーン自体は従来どおりの1面とし、そこにL/R用の出力を同時に描画する描画モデルを定義する。
 すなわち、図3のBDプレーヤは、BD規格のグラフィクス、ビデオ、又は、バックグラウンドの画像を記憶するデバイスプレーン(グラフィクスプレーン11、ビデオプレーン13(PGプレーン12)、及び、バックグラウンドプレーン14)を備える。
 デバイスプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、デバイスプレーンのコンフィグレーションは、2面分の画像の記憶領域であるデバイスプレーン全体に対して定義される。
 そして、デバイスプレーンに記憶された左眼用画像と右眼用画像は、例えば、交互に、論理スクリーン21に描画される。
 このようにすることで、論理スクリーンとして、左眼用画像(L用の画像)を記憶する論理スクリーンと、右眼用画像(R用の画像)を記憶する論理スクリーンとを、別個に設けずに済む。
 [ビデオモード、グラフィクスモード、バックグラウンドモード]
 コンフィグレーションは、BD-Jオブジェクト(Object)のファイル中に、コンフィグレーションを指定するためのビットフィールドを設けて、そのビットフィールドによって指定(設定)することができる。
 図14は、BD-Jオブジェクトのファイル中に、コンフィグレーションを指定するために設けるビットフィールドを示している。
 BD-Jオブジェクトのファイル中には、コンフィグレーションを指定するために、initial_configuration_id,initial_graphics_mode,initial_video_mode、及び、initial_background_modeの4つのフィールドを設けることができる。
 initial_configuration_idは、(1)画枠、及び、色深度を指定するフィールドである。initial_configuration_idがとる値を、configuration idとすると、configuration idとしては、以下の値を定義することとする。
 HD_1920_1080 = 1
 HD_1280_720 = 2
 SD_720_576 = 3
 SD_720_480 = 4
 QHD_960_540 = 5
 HD_1920_2160 = 6
 HD_1280_1440 = 7
 SD_720_1152 = 8
 SD_720_960 = 9
 QHD_960_1080 = 10
 なお、HD_1920_1080は、図11の上から6行目の画枠及び色深度を、HD_1280_720は、図11の上から8行目の画枠及び色深度を、SD_720_576は、図11の上から10行目の画枠及び色深度を、SD_720_480は、図11の上から9行目の画枠及び色深度を、QHD_960_540は、図11の上から7行目の画枠及び色深度を、HD_1920_2160は、図11の上から1行目の画枠及び色深度を、HD_1280_1440は、図11の上から2行目の画枠及び色深度を、SD_720_1152は、図11の上から5行目の画枠及び色深度を、SD_720_960は、図11の上から4行目の画枠及び色深度を、QHD_960_1080は、図11の上から3行目の画枠及び色深度を、それぞれ表す。
 initial_graphics_modeは、(3)グラフィクスモードを指定するフィールドである。
 ここで、グラフィクスモード(BD-J Graphics mode)としては、図6で説明したオフセットグラフィクスモード(offset)、ステレオグラフィクスモード(stereo)、モノグラフィクスモード(mono (Legacy playback mode))、強制モノグラフィクスモード(forced mono (Legacy playback mode))、及び、フラットステレオグラフィクスモード(flattened-stereo)の、合計で5つのモードがある。
 グラフィクスモードを指定するinitial_graphics_modeとしては、以下の値を定義することとする。
 GRAPHICS_MONO_VIEW = 22
 GRAPHICS_STEREO_VIEW = 23
 GRAPHICS_PLANE_OFFSET = 24
 GRAPHICS_DUAL_MONO_VIEW = 25
 GRAPHICS_FORCED_MONO_VIEW = 26
 なお、GRAPHICS_MONO_VIEWは、モノブラフィクスモードを、GRAPHICS_STEREO_VIEWは、ステレオグラフィクスモードを、GRAPHICS_PLANE_OFFSETは、オフセットグラフィクスモードを、GRAPHICS_DUAL_MONO_VIEWは、フラットステレオグラフィクスモードを、GRAPHICS_FORCED_MONO_VIEWは、強制モノグラフィクスモードを、それぞれ表す。
 また、initial_configuration_idが、1,2,3,4,5のいずれかに設定されている場合、initial_graphics_modeは、無視される。
 initial_video_modeは、(2)ビデオモードを指定するフィールドである。
 ここで、ビデオモード(Video mode)としては、図8で説明したデュアルモノビデオモード(dual-mono)、ステレオビデオモード(stereo)、フラットステレオビデオモード(flattened-stereo)、モノビデオモード(mono (Legacy playback mode))、及び、強制モノビデオモード(forced-mono)の、合計で5つのモードがある。
 ビデオモードを指定するinitial_video_modeとしては、以下の値を定義することとする。
 VIDEO_MONO_VIEW = 27
 VIDEO_STEREO_VIEW = 28
 VIDEO_FLATTENED_STEREO_VIEW = 29
 VIDEO_DUAL_MONO_VIEW = 30
 VIDEO_FORCED_MONO_VIEW = 31
 なお、VIDEO_MONO_VIEWは、モノビデオモードを、VIDEO_STEREO_VIEWは、ステレオビデオモードを、VIDEO_FLATTENED_STEREO_VIEWは、フラットステレオビデオモードを、VIDEO_DUAL_MONO_VIEWは、デュアルモノビデオモードを、VIDEO_FORCED_MONO_VIEWは、強制モノビデオモードを、それぞれ表す。
 また、initial_configuration_idが、1,2,3,4,5のいずれかに設定されている場合、initial_video_modeは、無視される。
 initial_background_modeは、(4)バックグラウンドモードを指定するフィールドである。
 ここで、バックグラウンドモード(Background mode)としては、図9で説明したデュアルモノバックグラウンドモード(dual-mono)、ステレオバックグラウンドモード(stereo)、フラットステレオバックグラウンドモード(flattened-stereo)、モノバックグラウンドモード(mono (Legacy playback mode))、及び、強制モノバックグラウンドモード(forced-mono)の、合計で5つのモードがある。
 バックグラウンドモードを指定するinitial_background_modeとしては、以下の値を定義することとする。
 BACKGROUND_MONO_VIEW = 17
 BACKGROUND_STEREO_VIEW = 18
 BACKGROUND_FLATTENED_STEREO_VIEW = 19
 BACKGROUND_DUAL_MONO_VIEW = 20
 BACKGROUND_FORCED_MONO_VIEW = 21
 なお、BACKGROUND_MONO_VIEWは、モノバックグラウンドモードを、BACKGROUND_STEREO_VIEWは、ステレオバックグラウンドモードを、BACKGROUND_FLATTENED_STEREO_VIEWは、フラットステレオバックグラウンドモードを、BACKGROUND_DUAL_MONO_VIEWは、デュアルモノバックグラウンドモードを、BACKGROUND_FORCED_MONO_VIEWは、強制モノバックグラウンドモードを、それぞれ表す。
 また、initial_configuration_idが、1,2,3,4,5のいずれかに設定されている場合、initial_background_modeは、無視される。
 ここで、BD-J Object ファイルでは、initial_configuration_id,initial_graphics_mode,initial_video_mode、及び、initial_background_modeのうちの、initial_configuration_idのみを指定する仕様を採用することができる。
 BD-J Object ファイルにおいて、initial_configuration_idのみを指定する場合、initial_video_mode,initial_graphics_mode、及び、initial_background_modeのデフォルトの規定値が必要となる。
 図15は、initial_video_mode,initial_graphics_mode、及び、initial_background_modeのデフォルトの規定値を示している。
 なお、ビデオモード(initial_video_mode)のSTEREO_VIEWは、上述のVIDEO_STEREO_VIEW 、又は、VIDEO_FLATTENED_STEREO_VIEWを表し、MONO_VIEWは、上述のVIDEO_MONO_VIEW、又は、VIDEO_DUAL_MONO_VIEWを表す。
 また、グラフィクスモード(initial_graphics_mode)のSTEREO_VIEWは、上述のGRAPHICS_STEREO_VIEW、又は、GRAPHICS_PLANE_OFFSETを表し、MONO_VIEWは、上述のGRAPHICS_MONO_VIEW、又は、GRAPHICS_DUAL_MONO_VIEWを表す。
 さらに、バックグラウンドモード(initial_background_mode)のSTEREO_VIEWは、上述のBACKGROUND_STEREO_VIEW、又は、BACKGROUND_FLATTENED_STEREO_VIEWを表し、MONO_VIEWは、上述のBACKGROUND_MONO_VIEW、又は、BACKGROUND_DUAL_MONO_VIEWを表す。
 [コンフィグレーションの変更]
 次に、コンフィグレーションの変更について説明する。
 コンフィグレーションは、BD-Jタイトル起動時、PlayList再生時のオートリセットが行われるとき(動的変更)、及び、BD-JアプリケーションによるAPIの呼び出しが行われるとき(動的変更)のそれぞれのタイミングで、変更することができる。
 従来のmono video + mono graphicsの再生時とは異なり、AV再生中であってもplane configurationの変更は可能である。
 すなわち、3D対応プレーヤでは、AVストリーム(ビデオ)を再生しているときに、コンフィグレーションを変更することができる。
 Mono-viewと同様にKEEP_RESOLUTION再生以外の再生では、画枠が揃うように(BD-Jタイトル起動時は、video/backgroundがgraphicsの画枠に揃うように、PlayList再生時は、graphics/backgroundがvideoの画枠に揃うように、BD-JアプリケーションによるAPI呼び出し時は、APIで設定したプレーンの画枠に、それ以外の設定されていないプレーンの画枠が揃うように)、コンフィグレーションの変更の処理を、3D対応プレーヤが行う。また、コンフィグレーションの変更時のエラー処理は、3D対応プレーヤに依存する。
 ここで、KEEP_RESOLUTION再生とは、SD(Standard definition)ビデオとHD(High Definition)グラフィックス、HDバックグラウンドの合成をする再生モードであり、1920×1080画素のGraphics、720×480画素のVideo+PG、及び、1920×1080画素のBackgroundが合成される場合と、1920×1080画素のGraphics、720×576画素のVideo+PG、及び、1920×1080画素のBackgroundが合成される場合とがある。なお、HD画像ではあるが、1280×720画素の画像の再生は、KEEP_RESOLUTION再生には含まれない。
 図16及び図17に、KEEP_RESOLUTION再生以外の再生の、Video+PG,BD-J graphics、及び、backgroundの解像度(画枠)の組み合わせを示す。なお、図17は、図16に続く図である。
 図18は、コンフィグレーションの変更の処理の例を示している。
 図18のAは、グラフィクス(グラフィクスプレーン11)のコンフィグレーション(ビデオモード)が、STEREO_VIEWからMONO_VIEWに変更された場合の、3D対応プレーヤの処理の例を示している。
 例えば、3D対応プレーヤにおいて、ビデオモードが、STEREO_VIEWであり、1920×2160画素のグラフィクスプレーン11を構成するLグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rに、グラフィクスが描画されている場合に、グラフィクスプレーン11(としての記憶領域)をリセットすることなしに、ビデオモードが、STEREO_VIEWから、MONO_VIEWに変更されたとする。
 この場合、3D対応プレーヤでは、グラフィクスプレーン11を構成するLグラフィクスプレーン11L、及び、Rグラフィクスプレーン11Rのうちの一方である、例えば、Lグラフィクスプレーン11Lに記憶(描画)された画像だけが、論理スクリーン21に供給されて表示され、他方であるRグラフィクスプレーン11Rに記憶された画像は、捨てられる。
 なお、この場合、3D対応プレーヤは、エラーとして(画像の再生を)強制終了しても良い。
 図18のBは、ビデオモードが、MONO_VIEWからSTEREO_VIEWに変更された場合の、3D対応プレーヤの処理の例を示している。
 例えば、3D対応プレーヤにおいて、ビデオモードが、MONO_VIEWであり、1920×1080画素のグラフィクスプレーン11を構成するLグラフィクスプレーン11Lだけに、グラフィクスが描画されている場合に、グラフィクスプレーン11をリセットすることなしに、ビデオモードが、MONO_VIEWから、STEREO_VIEWに変更されたとする。
 この場合、3D対応プレーヤでは、Lグラフィクスプレーン11Lに描画されたグラフィクスが、Rグラフィクスプレーン11Rにコピーされ、Lグラフィクスプレーン11Lに描画されたグラフィクスが、左眼用画像として、論理スクリーン21に供給されるとともに、Rグラフィクスプレーン11Rにコピーされたグラフィクスが、右眼用画像として、論理スクリーン21に供給される。
 なお、この場合、3D対応プレーヤは、エラーとして(画像の再生を)強制終了しても良い。
 [BD-Jタイトル起動時のコンフィグレーションの変更]
 BD-Jタイトル起動時のコンフィグレーションの変更には、以下の3つのルール#1-1,#1-2、及び、#1-3が、原則として適用される。
 すなわち、ルール#1-1は、(デバイスプレーンの)コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、常に、同一の解像度でなければならない、というルールである。
 ルール#1-2は、KEEP_RSOLUTION再生以外でPlayList再生を行う場合は、コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、ビデオの解像度に揃っていなければならない、というルールである。
 ルール#1-3は、コンフィグレーションにおいて、グラフィクスが、QHD graphicsである場合、縦方向に2倍、横方向に2倍でスケーリングされた後の解像度をコンフィグレーションの解像度とする、というルールである。
 なお、BD-Jオブジェクトのファイルのinitial_configuration_idによりデフォルト値の規定にしたがって、video mode, graphics mode, background modeそれぞれの値が決定される(ビデオモード、グラフィクスモード、及び、バックグラウンドモードが決定される)。
 また、BD-Jオブジェクトのファイルのautostart_first_PlayList_flagが1bに設定されていた場合、video plane のコンフィグレーションについては、デフォルト値ではなく、PlayList再生時のオートリセット(動的変更)のルールにしたがう。
 [PlayList再生時のオートリセットが行われるときのコンフィグレーションの変更(動的変更)]
 PlayList再生時のオートリセットが行われるときのコンフィグレーションの変更には、以下の3つのルール#2-1,#2-2、及び、#2-3が、原則として適用される。
 すなわち、ルール#2-1は、(デバイスプレーンの)コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、常に、同一の解像度でなければならない、というルールである。
 ルール#2-2は、KEEP_RSOLUTION再生以外でPlayList再生を行う場合は、コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、ビデオの解像度に揃っていなければならない、というルールである。
 ルール#2-3は、コンフィグレーションにおいて、グラフィクスが、QHD graphicsである場合、縦方向に2倍、横方向に2倍でスケーリングされた後の解像度をコンフィグレーションの解像度とする、というルールである。
 PlayList再生開始時にvideo plane configurationは、PlayListのビデオ属性に自動的に揃えられる。
 コンフィグレーションが、PlayListのビデオ属性に自動的に揃えられる場合、現行のBD規格では、graphics plane及びbackground planeも、自動的にvideo planeの属性に揃えることがBDプレーヤ側の必須機能として規定されている。しかしながら、3D対応プレーヤでは、stereo PlayList(3D画像を再生するプレイリスト)からmono PlayList(2D画像を再生するプレイリスト)、又は、mono PlayListからstereo PlayListへの切り替え時においては、graphics及びbackgroundのmode(グラフィクスモード、及び、バックグラウンドモード)は、所定のinitial values(所定の初期値)に設定される。
 図19に、グラフィクスモード、及び、バックグラウンドモードの所定の初期値を示す。
 図20は、1920×2160画素の3D画像(ステレオ画像)を再生する場合に再生されるグラフィクス、及び、バックグラウンドの画像を示している。
 グラフィクスとしては、1920×2160画素の3D画像が再生され、バックグラウンドとしては、1920×2160画素の3D画像が再生される。
 [BD-JアプリケーションによるAPIの呼び出しが行われるときのコンフィグレーションの変更(動的変更)]
 BD-JアプリケーションによるAPIの呼び出しが行われるときのコンフィグレーションの変更には、以下の3つのルール#3-1,#3-2、及び、#3-3が、原則として適用される。
 すなわち、ルール#3-1は、(デバイスプレーンの)コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、常に、同一の解像度でなければならない、というルールである。
 ルール#3-2は、KEEP_RSOLUTION再生以外でPlayList再生を行う場合は、コンフィグレーションにおいて、Graphics,Video、及び、Backgroundの3つの画像の解像度(画枠)は、ビデオの解像度に揃っていなければならない、というルールである。
 ルール#3-3は、コンフィグレーションにおいて、グラフィクスが、QHD graphicsである場合、縦方向に2倍、横方向に2倍でスケーリングされた後の解像度をコンフィグレーションの解像度とする、というルールである。
 図21は、BD-JアプリケーションによるAPIの呼び出しによる、コンフィグレーションとしての解像度(画枠)の変更を説明する図である。
 グラフィクスの3D画像(stereo G)、ビデオの3D画像(stereo V)、及び、バックグラウンドの3D画像(stereo B)の再生中に、APIの呼び出しによって、グラフィクスの3D画像の解像度が変更された場合、3D対応BDプレーヤは、ビデオの3D画像、及び、バックグラウンドの3D画像の解像度を、上述のルール#3-1,#3-2、及び、#3-3に従って、自動的に変更する。
 また、グラフィクスの3D画像(stereo G)、ビデオの3D画像(stereo V)、及び、バックグラウンドの3D画像(stereo B)の再生中に、APIの呼び出しによって、バックグラウンドの3D画像の解像度が変更された場合、3D対応BDプレーヤは、グラフィクスの3D画像、及び、ビデオの3D画像の解像度を、上述のルール#3-1,#3-2、及び、#3-3に従って、自動的に変更する。
 さらに、グラフィクスの3D画像(stereo G)、ビデオの3D画像(stereo V)、及び、バックグラウンドの3D画像(stereo B)の再生中に、APIの呼び出しによって、ビデオの3D画像の解像度が変更された場合、3D対応BDプレーヤは、グラフィクスの3D画像、及び、バックグラウンドの3D画像の解像度を、上述のルール#3-1,#3-2、及び、#3-3に従って、自動的に変更する。
 [plane configuration のmode の変更(グラフィクスモード、ビデオモード、及び、バックグラウンドモードの変更)]
 3D対応プレーヤは、ステレオグラフィクスモード(stereo graphics)と、オフセットグラフィクスモード(offset graphics)との間のグラフィクスモードの変更(切り替え)を、シームレスに行うことができる。
 図22は、グラフィクスモードの変更を説明する図である。
 図22のAは、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx(graphics))、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生中に、グラフィクスモードが、オフセットグラフィクスモードから、ステレオグラフィクスモードに変更された場合を示している。
 この場合、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生から、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx(graphics))、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生に切り替えが行われるが、この切り替えは、シームレスに行うことができる。
 逆の切り替え、すなわち、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生から、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの3D画像(stereo background)の再生への切り替えも、シームレスに行うことができる。
 図22のBは、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生中に、グラフィクスモードが、ステレオグラフィクスモードから、オフセットグラフィクスモードに変更された場合を示している。
 この場合、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生から、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生に切り替えが行われるが、この切り替えは、シームレスに行うことができる。
 逆の切り替え、すなわち、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生から、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、バックグラウンドの2D画像(mono background)の再生への切り替えも、シームレスに行うことができる。
 図23は、ステレオグラフィクスモードから、オフセットグラフィクスモードへのグラフィクスモードの変更を示している。
 グラフィクスモードが、ステレオグラフィクスモード(stereo gfx)から、オフセットグラフィクスモード(Plane offset gfx)に変更された場合、ビデオ(L/R(Left/Right) video)、及び、バックグラウンド(L/R(Left/Right) background)の再生は、そのまま続行される。
 一方、グラフィクスについては、ステレオグラフィクスモードでのグラフィクスの3D画像(stereo gfx)から、オフセットグラフィクスモードでのグラフィクスの3D画像(plane offset gfx)に、再生の対象が切り替えられる。
 この再生対象の切り替え方の実装は、個々の3D対応プレーヤに依存する。但し、再生対象の切り替え時に、いわゆるブラックアウト(black-out)や、AV(ビデオ)の再生の中断が生じることは避けるべきである。
 なお、グラフィクスモードの変更時に、解像度も変更される場合には、ブラックアウトが生じるおそれがある。
 次に、3D対応プレーヤは、ステレオバックグラウンドモード(stereo background)と、モノバックグラウンドモード(mono background)との間のバックグラウンドモードの変更(切り替え)を、シームレスに行うことができる。
 図24は、バックグラウンドモードの変更を説明する図である。
 図24のAは、グラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、ステレオバックグラウンドモードでのバックグラウンドの3D画像(stereo background)の再生中に、バックグラウンドモードが、ステレオバックグラウンドモードから、モノバックグラウンドモードに変更された場合を示している。
 この場合、グラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、ステレオバックグラウンドモードでのバックグラウンドの3D画像(stereo background)の再生から、グラフィクスの3D画像(stereo gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、モノバックグラウンドモードでのバックグラウンドの2D画像(mono background)の再生に切り替えが行われるが、この切り替えは、シームレスに行うことができる。
 逆の切り替えも、シームレスに行うことができる。
 図24のBは、グラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、モノバックグラウンドモードでのバックグラウンドの2D画像(mono background)の再生中に、バックグラウンドモードが、モノバックグラウンドモードから、ステレオバックグラウンドモードに変更された場合を示している。
 この場合、グラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、モノバックグラウンドモードでのバックグラウンドの2D画像(mono background)の再生から、グラフィクスの3D画像(plane offset gfx)、ビデオ(及びPG)の3D画像(stereo video + PG)、ステレオバックグラウンドモードでのバックグラウンドの3D画像(stereo background)の再生に切り替えが行われるが、この切り替えは、シームレスに行うことができる。
 逆の切り替えも、シームレスに行うことができる。
 次に、3D対応プレーヤは、ステレオビデオモード(stereo video)、フラットステレオビデオモード(flattened-stereo video)、及び、デュアルモノビデオモード(dual-mono video)の間のビデオモードの変更(切り替え)を、シームレスに行うことができる。
 図25は、ビデオモードの変更を説明する図である。
 図25のAは、グラフィクスの3D画像(stereo gfx)、及び、バックグラウンドの3D画像(stereo background)とともに、ビデオの画像が再生されている場合の、ビデオモードの変更を説明する図である。
 ビデオモードが、ステレオビデオモードであり、ステレオビデオモードでのビデオ(及びPG)の3D画像(stereo video + PG)が再生されている場合において、ビデオモードが、ステレオビデオモードから、フラットステレオビデオモードに変更されたとき、ビデオの画像は、ステレオビデオモードでのビデオ(及びPG)の3D画像(stereo video + PG)から、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)に切り替えがされるが、この切り替えは、シームレスに行うことができる。
 逆の切り替えも、シームレスに行うことができる。
 また、ビデオモードが、フラットステレオビデオモードであり、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)が再生されている場合において、ビデオモードが、フラットステレオビデオモードから、デュアルモノビデオモードに変更されたとき、ビデオの画像は、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)から、デュアルモノビデオモードでのビデオ(及びPG)の3D画像(dual-mono video + PG)に切り替えがされるが、この切り替えは、シームレスに行うことができる。
 逆の切り替えも、シームレスに行うことができる。
 図25のBは、グラフィクスの3D画像(plane offset gfx)、及び、バックグラウンドの2D画像(mono background)とともに、ビデオの画像が再生されている場合の、ビデオモードの変更を説明する図である。
 ビデオモードが、デュアルモノビデオモードであり、デュアルモノビデオモードでのビデオ(及びPG)の3D画像(dual-mono video + PG)が再生されている場合において、ビデオモードが、デュアルモノビデオモードから、フラットステレオビデオモードに変更されたとき、ビデオの画像は、デュアルビデオモードでのビデオ(及びPG)の3D画像(dual-mono video + PG)から、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)に切り替えがされるが、この切り替えは、シームレスに行うことができる。
 逆の切り替えも、シームレスに行うことができる。
 また、ビデオモードが、フラットステレオビデオモードであり、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)が再生されている場合において、ビデオモードが、フラットステレオビデオモードから、ステレオビデオモードに変更されたとき、ビデオの画像は、フラットステレオビデオモードでのビデオ(及びPG)の3D画像(flattened video + PG)から、ステレオビデオモードでのビデオ(及びPG)の3D画像(stereo video + PG)に切り替えがされるが、この切り替えは、シームレスに行うことができる。
 逆の切り替えも、シームレスに行うことができる。
 [コンフィグレーションを変更する3D対応プレーヤ]
 現行のBD規格では、コンフィグレーションが、解像度(画枠)、及び、色深度で規定されている。このため、コンフィグレーションの変更は、解像度を変更することになる。しかしながら、解像度の変更時には、一時的に、再生が停止し、表示画面がブラックアウトの状態になる。
 一方、例えば、Graphics planeのmono-logical-plane + offset valueの再生モードなどを、1920×1080/32bppのコンフィグレーションとして規定することができるが、この場合、例えば、mono-logical-plane + offset valueからstereo-logical-planeへのスイッチングなどでブラックアウトを誘発してしまう可能性がある。
 そこで、3D対応プレーヤでは、plane configurationを2面定義(1920×2160画素、1280×1440画素、(960×1080画素、)720×960画素、720×1152画素のconfiguration)に統一し、解像度/色深度以外の属性をmode値として定義する。すると、解像度を変更せずにmodeのみを変更する場合は、表示画面をブラックアウトの状態とすることなく、コンフィグレーションを変更することが可能となる。さらに、レガシープレーヤと同様に、Configuration Preference設定APIを呼び出すことにより、コンフィグレーションの変更を行うことができる。
 図26は、そのような3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
 図26の3D対応プレーヤでは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であるデバイスプレーンのコンフィグレーションが、そのデバイスプレーン全体に対して定義されている。
 また、グラフィクスモードとして、モノグラフィクスモード、ステレオグラフィクスモード、オフセットグラフィクスモード、強制モノグラフィクスモード、及び、フラットステレオグラフィクスモードの5つのモードが定義されている。さらに、ビデオモードとして、モノビデオモード、デュアルモノビデオモード、ステレオビデオモード、強制モノビデオモード、及び、フラットステレオビデオモードの5つのモードが定義されている。そして、バックグラウンドモードとして、モノバックグラウンドモード、デュアルモノバックグラウンドモード、ステレオバックグラウンドモード、強制モノバックグラウンドモード、及び、フラットステレオバックグラウンドモードの5つのモードが定義されている。
 また、デバイスプレーンのコンフィグレーションは、(1)画枠(解像度)、及び、色深度の他、(2)ビデオモード、(3)グラフィクスモード、並びに、(4)バックグラウンドモードを含み、(2)ビデオモード、(3)グラフィクスモード、及び、(4)バックグラウンドモードの設定(変更)は、コンフィグレーションモード設定APIによって行うことができる。
 図26の3D対応プレーヤでは、ビデオモード、グラフィクスモード、又は、バックグラウンドモードを変更する場合、BD-Jアプリケーションは、コンフィグレーションモード(configuration mode)設定APIを呼び出し、ビデオモード、グラフィクスモード、又は、バックグラウンドモードの変更(設定)を要求する。
 コンフィグレーションモード設定APIは、BD-Jアプリケーションからの要求に応じて、プレゼンテーションエンジン(Presentation Engine)、ビデオデコーダ(video decoder)、ディスプレイプロセッサ(Display processor)のうちの必要なものを、直接的に、又は間接的に制御することで、ビデオモード、グラフィクスモード、又は、バックグラウンドモードを変更(設定)する。
 一方、画枠(解像度)、及び、色深度を変更する場合、BD-Jアプリケーションは、解像度設定APIを呼び出し、解像度等の変更(設定)を要求する。
 解像度設定APIは、BD-Jアプリケーションからの要求に応じて、プレゼンテーションエンジン、ビデオデコーダ、ディスプレイプロセッサのうちの必要なものを、直接的に、又は間接的に制御することで、画枠(解像度)、及び、色深度を変更(設定)する。
 なお、図26において、プレゼンテーションエンジン(Presentation Engine)は、オーディオ、ビデオ、及び、HDMVグラフィクスのデコード機能とプレゼンテーション機能(Presentation functions)を、BDの再生を制御する、図示せぬプレイバックコントロールエンジン(Playback Control Engine)に提供する。
 また、図26において、ビデオデコーダ(Video decoder)は、画像のデコードを行う。さらに、ディスプレイプロセッサ(Display processor)は、Graphics plane, video(video + PG) plane, background planeの各プレーンを重ね合わせた後で、その重ね合わせによって得られる画像を、BDプレーヤに接続されたディスプレイに出力するハードウェアである。
 以上のように、デバイスプレーンのコンフィグレーションを、2面分の画像の記憶領域であるデバイスプレーン全体に対して定義し、デバイスプレーンのコンフィグレーションに、解像度(画枠)、及び、色深度とは別に、グラフィクスモード等を含める。そして、3D対応プレーヤでは、コンフィグレーションモード設定APIの呼び出しによって、グラフィクスモード等を設定する。このようにすることで、解像度を変更しないで、グラフィクスモード等を変更することができる。
 [PG / Text subtitleコンフィグレーションの切り替え]
 BD-Jアプリケーションからは、Video+PG/TextST(Text subtitle)は、ひとまとめで(区別なく)扱われる。また、BD-Jアプリケーションは、PGプレーン12を個別に制御することはできないが、ビデオの位置やスケーリング(サイズ)の制御を行うことができる。なお、現行のBD規格では、BD-Jアプリケーションから、ビデオの位置やスケーリングの制御を行った場合、PG/TextSTは、ビデオにアラインすることになっている。
 したがって、ビデオのスケーリングの制御が行われる場合、PGプレーンオフセット値は、ビデオをスケーリングするスケーリング比率(拡大率、又は、縮小率)でスケーリングされる。
 一方、3D対応プレーヤでは、PG(TextSTを含む)について、PGを再生する再生モードとして、2D画像であるモノ画像のPGの画像を再生するモード(1-plane(legacy playback))、3D画像であるステレオ画像のPGの画像を再生するモード(2-planes)、及び、2D画像とオフセット値とから生成される(視差がある)左眼用画像と右眼用画像とによって、3D画像のPGを再生するモード(1-plane+offset)を設定することできることが望ましい。
 そこで、3D対応プレーヤでは、PGストリームの選択にて、PGプレーン制御(1-plane(legacy playback)と1-plane+offset と2-planesとの間のコンフィグレーションの切り替え)を、間接的に行う。
 そのため、HDMV PGについては、BD規格のPGの画像のPGストリームとして、2D画像であるモノ画像のPGの画像のPGストリームであるモノPGストリーム、3D画像であるステレオ画像のPGの画像のPGストリームであるステレオPGストリーム、及び、モノ画像に視差を与えるオフセット値とともに、ステレオ画像を生成するのに用いられる、モノ画像のPGの画像のPGストリームであるオフセット用PGストリーム(例えば、モノ画像のPGの画像とオフセット値とを含むストリーム)を定義する。
 さらに、HDMV PGについては、mono 1-stream(legacy content)モード、L/R 2 streamモード、及び、1-stream + plane-offsetモードを、PGの画像を再生するPG再生モードとして定義する。
 ここで、PG再生モードが、mono 1-streamモードである場合には、モノPGストリームを用いて、2D画像のPGの画像が再生される。
 PG再生モードが、L/R 2 streamモードである場合には、ステレオPGストリームを用いて、左眼用画像と右眼用画像を再生することで、3D画像のPGの画像が再生される。
 PG再生モードが、1-stream + plane-offsetモードである場合には、オフセット用PGストリームを用いて、オフセット値に基づき、左眼用画像と右眼用画像を生成し、その左眼用画像と右眼用画像を再生することで、3D画像のPGの画像が再生される。
 また、HDMV TextSTについては、BD規格のTextSTの画像のTextSTストリームとして、2D画像であるモノ画像のTextSTの画像のTextSTストリームであるモノTextSTストリーム、3D画像であるステレオ画像のTextSTの画像のTextSTストリームであるステレオTextSTストリーム、及び、モノ画像に視差を与えるオフセット値とともに、ステレオ画像を生成するのに用いられる、モノ画像のTextSTの画像のTextSTストリームであるオフセット用TextSTストリーム(例えば、モノ画像のTextSTの画像とオフセット値とを含むストリーム)を定義する。
 さらに、HDMV TextSTについては、mono 1-stream(legacy content)モード、L/R 2 streamモード、及び、1-stream + plane-offsetモードを、TextSTの画像を再生するTextST再生モードとして定義する。
 ここで、TextST再生モードが、mono 1-streamモードである場合には、モノTextSTストリームを用いて、2D画像のTextSTの画像が再生される。
 TextST再生モードが、L/R 2 streamモードである場合には、ステレオTextSTストリームを用いて、左眼用画像と右眼用画像を再生することで、3D画像のTextSTの画像が再生される。
 TextST再生モードが、1-stream + plane-offsetモードである場合には、オフセット用TextSTストリームを用いて、オフセット値に基づき、左眼用画像と右眼用画像を生成し、その左眼用画像と右眼用画像を再生することで、3D画像のTextSTの画像が再生される。
 3D対応プレーヤでは、ストリームを選択するAPIを通して、PG/TextSTのコンフィグレーションを切り替える(設定する)ことができる。
 図27は、各ビデオモードで選択することができるPG再生モード、及び、TextST再生モードを示している。
 HDMV PGについては、ビデオモード(コンフィグレーション)が、モノビデオモード(mono)、フラットステレオビデオモード(flattened stereo)、デュアルモノビデオモード(dual-mono)、強制モノビデオモード(forced-mono)、及び、ステレオビデオモード(stereo)のいずれの場合であっても、1-stream + plane-offsetモード(mono + offset)(オフセット用PGストリーム)を選択することが可能である。
 したがって、オフセット用PGストリームは、ビデオモードが、モノビデオモード、フラットステレオビデオモード、デュアルモノビデオモード、強制モノビデオモード、及び、ステレオビデオモードのいずれの場合であっても選択することが可能である。
 また、HDMV PGについては、ビデオモードが、フラットステレオビデオモード(flattened stereo)、デュアルモノビデオモード(dual-mono)、強制モノビデオモード(forced-mono)、及び、ステレオビデオモード(stereo)のうちのいずれの場合であっても、L/R 2 streamモード(stereo)(ステレオPGストリーム)を選択することが可能である。
 したがって、ステレオPGストリームは、ビデオモードが、フラットステレオビデオモード、デュアルモノビデオモード、強制モノビデオモード、及び、ステレオビデオモードのうちのいずれの場合であっても選択することが可能である。
 但し、ビデオモードが、モノビデオモード(mono)、フラットステレオビデオモード(flattened stereo)、強制モノビデオモード(forced-mono)、又は、デュアルモノビデオモード(dual-mono)の場合に、オフセット用PGストリーム(mono + offset)が選択されたとき、オフセット用PGストリームのモノ画像が、オフセット値を無視して(オフセット値を0にセットして)、再生される。
 また、ビデオモードが、モノビデオモード(mono)、又は、強制モノビデオモード(forced-mono)の場合に、ステレオPGストリーム(stereo)が選択されたとき、ステレオPGストリームに対応するステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像(L PG stream)だけが再生される。
 さらに、ビデオモードが、フラットステレオビデオモード、又は、デュアルモノビデオモードの場合に、ステレオPGストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択されたステレオPGストリームに一致するオフセット用PGストリームが存在すれば(BDに記録されていれば)、選択されたステレオPGストリームに代えて、そのステレオPGストリームとストリーム番号が同一のオフセット用PGストリームのモノ画像が、オフセット値を無視して、再生される。
 一方、HDMV TextSTについては、ビデオモード(コンフィグレーション)が、モノビデオモード(mono)、フラットステレオビデオモード(flattened stereo)、強制モノビデオモード(forced-mono)、及び、デュアルモノビデオモード(dual-mono)のうちのいずれの場合であっても、1-stream + plane-offsetモード(mono + offset)(オフセット用Text subtitleストリーム)を選択することが可能である。
 したがって、オフセット用TextSTストリーム(オフセット用Text subtitleストリーム)は、ビデオモードが、モノビデオモード、フラットステレオビデオモード、強制モノビデオモード、及び、デュアルモノビデオモードのうちのいずれかの場合に選択することが可能である。
 また、HDMV TextSTについては、ビデオモードが、フラットステレオビデオモード(flattened stereo)、デュアルモノビデオモード(dual-mono)、強制モノビデオモード(forced-mono)、及び、ステレオビデオモード(stereo)のうちのいずれの場合であっても、L/R 2 streamモード(stereo)(ステレオText subtitleストリーム)を選択することが可能である。
 したがって、ステレオTextSTストリーム(ステレオText subtitleストリーム)は、ビデオモードが、フラットステレオビデオモード、デュアルモノビデオモード、強制モノビデオモード、及び、ステレオビデオモードのうちのいずれの場合であっても選択することが可能である。
 但し、ビデオモードが、モノビデオモード(mono)、フラットステレオビデオモード(flattened stereo)、強制モノビデオモード(forced-mono)、又は、デュアルモノビデオモード(dual-mono)の場合に、オフセット用TextSTストリーム(mono + offset)が選択されたとき、オフセット用TextSTストリームのモノ画像が、オフセット値を無視して、再生される。
 また、ビデオモードが、モノビデオモード(mono)、又は、強制モノビデオモード(forced-mono)の場合に、ステレオTextSTストリーム(stereo)が選択されたとき、ステレオTextSTストリームに対応するステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像(L TextST stream)だけが再生される。
 さらに、ビデオモードが、フラットステレオビデオモード、又は、デュアルモノビデオモードの場合に、ステレオTextSTストリームが選択されたとき、ストリームに割り当てられる番号であるストリーム番号が、選択されたステレオTextSTストリームに一致するオフセット用TextSTストリームが存在すれば、選択されたステレオTextSTストリームに代えて、そのステレオTextSTストリームとストリーム番号が同一のオフセット用TextSTストリームのモノ画像が、オフセット値を無視して、再生される。
 図28は、以上のような、PGやTextSTの画像の再生を行う3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
 図28において、3D対応プレーヤは、BD-Jアプリケーション、PG/TextSTストリーム選択API、ビデオ制御API、PG選択エンジン(Playback Control Function)、TextST選択エンジン(Playback Control Function)、ビデオ制御エンジン(Playback Control Function)、プレイバックコントロールエンジン(Playback Control Engine)、及び、プレゼンテーションエンジン(Presentation Engine)等から構成される。
 図29を参照し、PGについての処理を例に、図28の3D対応プレーヤの処理を説明する。
 BD-Jアプリケーションは、PG/TextSTストリーム選択APIを呼び出し、PGストリームの選択を要求する。PG/TextSTストリーム選択APIは、BD-Jアプリケーションから要求されたPGストリームを選択する。
 すなわち、PG/TextSTストリーム選択APIは、図27で説明したように、現在のビデオモードに対して、BD-Jアプリケーションから要求されたPGストリームを選択することが可能であれば、そのPGストリームを選択するように、PG選択エンジンを制御する。
 PG選択エンジンは、BDであるディスク100(図3)に記録されたPGストリームの中から、PG/TextSTストリーム選択APIの制御に従ったPGストリームを選択し、図28には図示していないステレオPGデコーダ(stereo PG decoder)、又は、モノPGデコーダ(mono PG decoder)に供給する。
 ここで、PG選択エンジンが選択したPGストリームが、ステレオPGストリームである場合、そのステレオPGストリームは、ステレオPGデコーダに供給される。
 また、PG選択エンジンが選択したPGストリームが、オフセット用PGストリームである場合、そのオフセット用PGストリームは、モノPGデコーダに供給される。
 ステレオPGデコーダは、PG選択エンジンから供給されるPGストリームを、ステレオ画像を構成する左眼用画像と右眼用画像とにデコードし、PGプレーン12のL-PGプレーン12LとR-PGプレーン12Rに、それぞれ描画する。
 一方、モノPGデコーダは、PG選択エンジンから供給されるオフセット用PGストリームを、モノ画像にデコードし、論理プレーン10に描画する。
 PG生成APIは、論理プレーン10に描画されたモノ画像から、オフセット値(例えば、オフセット用PGストリームに含まれるオフセット値や、3D対応プレーヤの内部記憶領域、又は、PSR#21に記憶されたオフセット値)を用いて、左眼用画像と右眼用画像を生成する。そして、PG生成APIは、その左眼用画像と右眼用画像を、PGプレーン12のL-PGプレーン12LとR-PGプレーン12Rに、それぞれ描画する。
 なお、3D対応BDプレーヤでは、図27で説明したように、現在のビデオモードと、PG選択エンジンが選択したPGストリーム(PG再生モード)との組み合わせによっては、ステレオPGストリームに対応するステレオ画像を構成する左眼用画像、及び、右眼用画像のうちの一方である、例えば、左眼用画像だけが再生されるか、又は、オフセット値が無視され、オフセット用PGストリームに対応するモノ画像だけが再生されることがある。
 以上のように、3D対応プレーヤでは、BD規格のPGの画像のPGストリームとして、2D画像であるモノ画像のPGの画像のPGストリームであるモノPGストリームと、3D画像であるステレオ画像のPGの画像のPGストリームであるステレオPGストリームと、モノ画像に視差を与えるデータであるオフセット値とともに、ステレオ画像を生成するのに用いられる、モノ画像のPGの画像のPGストリームであるオフセット用PGストリームとが定義されている。そして、PG/TextSTストリーム選択APIは、BD-Jアプリケーションからの要求に従い、モノPGストリーム、ステレオPGストリーム、又は、オフセット用PGストリームを選択する。
 したがって、BD-Jアプリケーションから、間接的に、PGの画像の再生(PGのコンフィグレーション)を制御することができる。
 [3D画像の再生と、2D画像の再生との切り替え]
 図30は、3D対応プレーヤにおける、3D画像の再生と、2D画像の再生との切り替えを説明する図である。
 図30では、最初に、3D対応プレーヤの動作モードが、3D画像を再生する3D再生モード(3D playback mode)になっている。
 そして、グラフィクスモードが、ステレオグラフィクスモード(stereo gfx(graphics))に、ビデオモードが、ステレオビデオモード(stereo video)に、バックグラウンドモードが、モノバックグラウンドモード(mono background)に、それぞれなっている。
 その後、グラフィクスモードが、オフセットグラフィクスモード(plane offset gfx)に、ビデオモードが、デュアルモノビデオモード(dual-mono video)に、それぞれ変更されている。
 さらに、その後、図30では、動作モードが、3D再生モードから、レガシープレーヤと同様にして、2D画像を再生する2D再生モード(Legacy playback mode)に変更されている。
 動作モードの変更に伴い、グラフィクスモードは、オフセットグラフィクスモード(plane offset gfx)から、モノグラフィクスモード(mono gfx)に変更されている。さらに、ビデオモードは、デュアルモノビデオモード(dual-mono video)から、モノビデオモード(mono video)に変更されている。なお、バックグラウンドモードは、モノバックグラウンドモード(mono background)のままになっている。
 そして、図30では、動作モードが、2D再生モードから、3D再生モードに、再び変更されている。
 動作モードの変更に従い、グラフィクスモードは、モノグラフィクスモード(mono gfx)から、ステレオグラフィクスモード(stereo gfx)に変更されている。さらに、ビデオモードは、モノビデオモード(mono video)から、フラットステレオビデオモード(flattened stereo video)に変更されている。なお、バックグラウンドモードは、モノバックグラウンドモード(mono background)のままになっている。
 図30では、その後、バックグラウンドモードが、モノバックグラウンドモード(mono background)から、ステレオバックグラウンドモード(stereo background)に変更されている。
 図30において、例えば、動作モードが、3D再生モードから2D再生モードに変更される場合に、解像度(画枠)の変更が伴うときには、表示画面がブラックアウトするおそれがある。
 [Pixel coordinate system for video]
 BD-Jアプリケーションからの、ビデオの位置やサイズの制御には、"javax.tv.media.AWTVideoSizeControl"や、"org.dvb.media.BackgroundVideoPRsentationControl"等のJMF(Java(登録商標) Media Framework) controlを使用することができる。
 なお、BD-Jアプリケーションのオーサは、ビデオの位置、及び、サイズは、プレーン(ビデオプレーン13)上の座標ではなく、ディスプレイ座標で設定する。
 また、3D対応プレーヤは、左眼用画像(L video source)、及び、右眼用画像(R video source)のそれぞれに対して、位置とサイズの補正を行わなければならない。
 例えば、1920×2160画素のビデオプレーン13に対し、ディスプレイ座標系は、垂直方向が1/2の、1920×1080画素のサイズの座標系となる。この場合、オーサは、例えば、以下のように、ビデオの位置とサイズを設定しなければならない。
 RctangL src = new RctangL(0,0,1920,1080);
 RctangL dest = new RctangL(100,100,960,540);
 AWTVideoSizeControl videoSizeControl = (AWTVideoSizeControl)player.getControl("javax.tv.media.AWTVideoSizeControl");
 videoSizeControl.setSize(new AWTVideoSize(src, dest));
 図31は、オーサによるビデオの位置とサイズの設定と、3D対応プレーヤによるビデオの位置とサイズの補正とを説明する図である。
 オーサは、ビデオの左眼用画像の位置とサイズを設定する。図31では、1920×1080画素のサイズのディスプレイ座標系に対して、ビデオの左眼用画像の位置とサイズが設定されている。
 3D対応プレーヤは、ディスプレイ座標系に対するビデオの左眼用画像の位置とサイズの設定を、そのまま、ビデオプレーン13のLビデオプレーン13Lに設定する。
 さらに、3D対応プレーヤは、Lビデオプレーン13Lのビデオの位置とサイズの設定を、そのまま、Rビデオプレーン13Rに適用する。
 したがって、オーサから見れば、Lビデオプレーン13Lに対して、ビデオの位置とサイズを設定することで、そのビデオの位置とサイズと同一の位置とサイズが、Rビデオプレーン13Rにも設定される。
 ここで、ビデオに関しては、深さ情報を外部から与えるわけではない。したがって、オフセットを付与する仕組みは無駄であるばかりでなく、ビデオ製作者の意図しない出力を引き起こす原因ともなる。
 すなわち、ビデオ製作者は、意図した3D画像が表示されるように、ビデオの画像を製作するはずである。したがって、3D対応プレーヤにおいて、例えば、PSR#21(図7)に保存されたオフセット値等の、外部から与えられる情報によって、ビデオプレーン13に描画されるビデオの画像(左眼用画像、及び、右眼用画像)の位置をずらす等の加工を施すと、ビデオ製作者が意図しない画像が表示されるおそれがある。
 そこで、3D対応プレーヤでは、コンフィグレーション上は、L/R video planeが定義されるが、BD-Jアプリケーションのオーサには、L video planeのみしか扱えないように制約をかける。すなわち、3D対応プレーヤは、BD-JアプリケーションによるL video scaling / L video positioningのAPI呼び出しをそのままR video scaling / R video positioningへも適用しなければならない。
 なお、ビデオのサイズが設定されることにより、ビデオが、そのサイズにスケーリングされる場合、[PG / Text subtitleコンフィグレーションの切り替え]で説明したように、PGプレーンオフセット値は、ビデオをスケーリングするスケーリング比率(拡大率、又は、縮小率)でスケーリングされるが、グラフィックスプレーンオフセット値も、同様に、ビデオのスケーリング比率でスケーリングされる。
 図32は、以上のように、ビデオの位置の設定(補正)とサイズの設定(スケーリング)を行う3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
 図32の3D対応プレーヤは、Lビデオプレーン13L(L領域)に記憶される画像のサイズ、及び、位置を設定するL用APIと、Rビデオプレーン13R(R領域)に記憶される画像のサイズ、及び、位置を設定するR用APIとを備える。そして、L用API、及び、R用APIのうちの一方のAPIは、他方のAPIが設定する画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定する。
 すなわち、図32の3D対応プレーヤでは、ビデオデコーダ(Video decoder)が、ビデオをデコードし、その結果得られるビデオの左眼用画像と右眼用画像を、L用APIと、R用APIとに供給する。
 L用APIは、Lビデオスケーリング(L(Left) video scaling)APIと、Lビデオポジショニング(L(Left) positioning)APIとからなり、BD-Jアプリケーションからの、ビデオの位置とサイズの設定の要求の呼び出しに応じて、ビデオデコーダからの左眼用画像の位置とサイズを設定する。
 すなわち、LビデオスケーリングAPIは、ビデオデコーダからの左眼用画像のサイズを、BD-Jアプリケーションからの要求に応じたサイズに制御するスケーリングを行い、LビデオポジショニングAPIに供給する。
 LビデオポジショニングAPIは、LビデオスケーリングAPIからの左眼用画像の位置を、BD-Jアプリケーションからの要求に応じた位置に制御し、その結果得られる左眼用画像を、Lビデオプレーン13Lに描画する(LビデオスケーリングAPIからの左眼用画像を、BD-Jアプリケーションからの要求に応じた、Lビデオプレーン13L上の位置に描画する)。
 また、LビデオスケーリングAPIは、後述するRビデオスケーリングAPIを呼び出し、BD-Jアプリケーションと同様の要求をする。さらに、LビデオポジショニングAPIは、後述するRビデオポジショニングAPIを呼び出し、BD-Jアプリケーションからの要求と同様の要求をする。
 また、LビデオスケーリングAPIは、ビデオのサイズの設定の要求の呼び出しに応じて、ビデオの画像(左眼用画像)をスケーリングしたときのスケーリング比率(拡大率、又は、縮小率)Sを、PG生成API、及び、グラフィクス生成APIに供給する。
 R用APIは、Rビデオスケーリング(R(Right) video scaling)APIと、Rビデオポジショニング(R(Right) positioning)APIとからなり、L用APIからの、ビデオの位置とサイズの設定の要求に応じて、ビデオデコーダからの右眼用画像の位置とサイズを設定する。
 すなわち、RビデオスケーリングAPIは、ビデオデコーダからの右眼用画像のサイズを、LビデオスケーリングAPIからの要求に応じたサイズに制御し、RビデオポジショニングAPIに供給する。
 RビデオポジショニングAPIは、RビデオスケーリングAPIからの右眼用画像の位置を、LビデオポジショニングAPIからの要求に応じた位置に制御し、その結果得られる右眼用画像を、Rビデオプレーン13Rに描画する。
 以上のように、Lビデオプレーン13L(L領域)に記憶される画像のサイズ、及び、位置を設定するL用APIと、Rビデオプレーン13R(R領域)に記憶される画像のサイズ、及び、位置を設定するR用APIとのうちの、一方のAPIである、例えば、R用APIは、他方のAPIであるL用APIがBD-Jアプリケーションからの要求に応じて設定する画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定する。
 したがって、BD規格のビデオの画像を記憶するビデオプレーン13について、オーサが、Lビデオプレーン13L(L領域)、及び、Rビデオプレーン13R(R領域)のうちの一方であるLビデオプレーン13Lしか扱えないようにすることができ、ビデオ製作者が意図しないビデオの画像が表示されることを防止することができる。
 3D対応プレーヤでは、さらに、PGについて、図29で説明した処理が行われる。
 但し、PG生成APIでは、LビデオスケーリングAPIからのスケーリング比率Sで、PGプレーンオフセット値(例えば、オフセット用PGストリームに含まれるオフセット値や、3D対応プレーヤの内部記憶領域、又は、PSR#21に記憶されたオフセット値)がスケーリングされる(PGプレーンオフセット値が、スケーリング比率S倍される)。
 そして、PG生成APIでは、論理プレーン10に描画されたモノ画像から、スケーリング後のPGプレーンオフセット値を用いて、左眼用画像と右眼用画像が生成される。
 また、3D対応プレーヤは、コンフィグレーションモード変更APIが、BD-Jアプリケーションからの要求に応じたグラフィクスモードの画像を、BDであるディスク100(図3)に記録されたグラフィクスの画像から選択し、グラフィクスプレーン11に描画する。
 すなわち、ビデオモードが、例えば、ステレオグラフィクスモードである場合には、ステレオ画像であるグラフィクスの左眼用画像と右眼用画像とが、それぞれ、グラフィクスプレーン11のLグラフィクスプレーン11LとRグラフィクスプレーン11Rに描画される。
 また、ビデオモードが、例えば、オフセットグラフィクスモードである場合には、モノ画像であるグラフィクスの画像が、論理プレーン10に描画され、さらに、グラフィクス生成APIが、LビデオスケーリングAPIからのスケーリング比率Sで、グラフィクスプレーンオフセット値(例えば、3D対応プレーヤの内部記憶領域、又は、PSR#21に記憶されたオフセット値)をスケーリングする。
 そして、グラフィクス生成APIは、論理プレーン10に描画されたモノ画像から、スケーリング後のグラフィクスプレーンオフセット値を用いて、左眼用画像と右眼用画像を生成し、Lグラフィクスプレーン11LとRグラフィクスプレーン11Rに、それぞれ描画する。
 [Pixel coordinate system for graphics]
 stereo graphicsコンフィグレーション(グラフィクスの3D画像を表示するコンフィグレーション)で有効なピクセル座標系は、
 (0, 0)-(1920, 2160)
 (0, 0)-(1280, 1440)
 (0, 0)-(720, 960)
 (0, 0)-(720, 1152)
 (0, 0)-(960, 1080)
 のいずれかである。
 top-halfがL graphics viewに、bottom-halfがR graphics viewに割り当てられる。
 図33は、1920×2160画素のグラフィクスプレーン11を示している。
 グラフィクスプレーン11の上側の記憶領域(top-half)であるLグラフィクスプレーン11Lに描画された画像が、左眼で観察される左眼用画像(L(Left) graphics view)となり、グラフィクスプレーン11の下側の記憶領域(bottom-half)であるRグラフィクスプレーン11Rに描画された画像が、右眼で観察される右眼用画像(R(Right) graphics view)となる。
 図33では、グラフィクスプレーン11に、1つのコンテナ(Root container)と、そのコンテナの子になっている2つのコンポーネント(Components)とが描画されている。
 コンポーネントの座標は、そのコンポーネントの親になっているコンテナを基準とする相対的な座標で表現される。
 なお、3D対応プレーヤでは、グラフィクスプレーン11のエッジに、ガード目的の緩衝領域を設けてはならない。
 また、3D対応プレーヤは、L-view/R-viewとの不整合を抑止する仕組みを導入しなければならない。
 ここで、レガシープレーヤであるBDプレーヤには、BD-Jアプリケーションによる描画の完了を検知して完了後にモニターへ転送するような機構がない。L/Rビデオ出力の場合、L/R graphics間で出力の不整合が発生する可能性がある。
 そこで、3D対応プレーヤでは、何らかのAPI呼び出しをBD-Jアプリケーションによる描画の完了を示すシグナルとして定義する。逆に、BD-Jアプリケーションが、該当する描画完了通知APIを呼び出さないと画面には何も出力されない。オーサーは本手法を必ず使わなければならなくなる。
 すなわち、Lグラフィクスプレーン11Lに画像(左眼用画像)が描画された後、Rグラフィクスプレーン11Rへの画像の描画が完了する前に、グラフィクスプレーン11の描画内容が、左眼用画像と右眼用画像として、表示画面に表示されると、その左眼用画像と右眼用画像とは、3D画像として見えるように、整合がとれた画像になっていないため(いまの場合、右眼用画像の描画が不完全であるため)、表示画面の画像を見たユーザに、不快感を感じさせることになる。
 このように、ユーザに不快感を感じさせることを防止するために、3D対応プレーヤは、左眼用画像と右眼用画像との不整合を抑止する機能、つまり、3D画像として見えるように、整合がとれた状態となっていない左眼用画像と右眼用画像が表示画面に表示されることを防止する機能を有する。
 具体的には、3D対応プレーヤは、グラフィクスプレーン11に対する、左眼用画像と右眼用画像との両方の描画が完了してから、その左眼用画像と右眼用画像を、表示のために出力する。
 したがって、3D対応プレーヤは、グラフィクスプレーン11に対する、左眼用画像と右眼用画像との両方の描画が完了したことを認識する必要がある。
 [Direct-drawing model]
 Direct-drawingでは、3D対応プレーヤは、BD-Jアプリケーションからの、グラフィクスの画像を描画する描画コマンドの発行が完了したかどうかを知る術がない。
 すなわち、BD-Jアプリケーションが、描画コマンド#1,#2,・・・,#Nを発行し、その描画コマンド#1ないし#Nに従って、グラフィクスプレーン11への画像の描画が行われた場合に、その後、BD-Jアプリケーションから、さらに、描画コマンドが発行されるかどうか、つまり、BD-Jアプリケーションによる描画コマンドの発行が完了したのかどうかを、3D対応プレーヤは、認識することができない。
 そこで、BD-Jアプリケーションのオーサには、描画コマンドによるグラフィクスプレーン11への画像の描画を行う場合に、グラフィクスプレーン11に対する画像の描画が完了するまでは処理をBD-Jアプリケーションに戻さないような、グラフィクスの描画の完全性を保証する描画完全性保証API呼び出しを、3D対応プレーヤに対するシグナリングとして義務づける。
 又は、描画コマンドによるグラフィクスプレーン11への画像の描画を行う場合に、グラフィクスプレーン11に対する画像の描画が終了したことを通知する描画完了通知APIの呼び出しを、3D対応プレーヤに対するシグナリングとして義務づける。
 又は、描画コマンドによるグラフィクスプレーン11への画像の描画を行う場合に、グラフィクスプレーン11に対する画像の描画を開始することを通知する描画開始通知APIの呼び出し、及び、その後のグラフィクスプレーン11に対する画像の描画を終了したことを通知する描画完了通知APIの呼び出しを、3D対応プレーヤに対するシグナリングとして義務づける。
 この場合、3D対応プレーヤは、BD-Jアプリケーションによる描画完全性保証APIの呼び出し、描画完了通知APIの呼び出し、又は、描画開始通知APIの呼び出しと、その後の描画完了通知APIの呼び出しによって、グラフィクスプレーン11に対する画像の描画が終了したこと、つまり、描画コマンドの発行が完了したことを認識することができる。そして、その結果、(3D画像として見えるように、)整合がとれた状態となっている左眼用画像と右眼用画像を表示することができる。
 ここで、描画完全性保証APIとしては、描画コマンド列を引数にとる専用APIを定義することができる。
 また、描画完了通知APIとしては、例えば、java.awt.Toolkit#sync()メソッドを採用することができる。この場合、3D対応プレーヤでは、java.awt.Toolkit#sync()メソッドの呼び出しが行われない限りは、グラフィクスプレーン11に描画された画像は出力されず、したがって、表示画面には、グラフィクスプレーン11に描画された画像が表示されない。
 さらに、描画開始通知APIとしては、例えば、java(登録商標)の所定のメソッド、又は、専用のAPIを定義することができる。
 なお、1フレームの間(1-video-frame間)に、java.awt.Toolkit#sync()メソッドの呼び出しが、複数回行われると、graphics-frameがコマ落ちする可能性がある。したがって、java.awt.Toolkit#sync()メソッドの呼び出しを、連続で複数回行うことや、少ない描画をはさんで連続で行うことは、してはならない。
 [Repaint model]
 AWT(Abstract Windowing toolkit)ペイントモデルでは、グラフィクスの画像を構成する部品としてのルートコンテナのrepaint()メソッドが、グラフィクスの画像を構成する部品としての各コンポーネントのupdate()メソッドを呼び出す。
 そして、AWTペイントモデルでは、3D対応プレーヤにおいて、グラフィクスの画像の描画プロセスを、完全に制御すること(フルコントロールすること)ができるので、3D対応プレーヤは、グラフィクスプレーン11に対する画像の描画が終了したことを認識することができる。
 したがって、上述の描画完了通知APIの呼び出しを行うようにしなくても、整合がとれた状態となっている左眼用画像と右眼用画像が表示されるように、3D対応プレーヤの実装を行うことができる。
 図34は、BD-Jアプリケーションによる描画完全性保証APIの呼び出し、描画完了通知APIの呼び出し、又は、描画開始通知APIの呼び出しと、その後の描画完了通知APIの呼び出しを義務づけて、描画コマンドの発行が完了したことを認識する3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
 なお、ここでは、BD-Jアプリケーションが、グラフィクスプレーン11に対する画像の描画が終了した場合に、描画完了通知APIを呼び出すこととする。
 3D対応プレーヤは、グラフィクスプレーン11としてのバッファ201L及び201R、並びに、バッファ202L及び202Rを有する。
 なお、図34では、バッファ201L及び202Lが、Lグラフィクスプレーン11Lに相当し、バッファ201R及び202Rが、Rグラフィクスプレーン11Rに相当する。
 また、バッファ201L及び201Rのセットと、バッファ202L及び202Rのセットとは、交互に、バックバッファ(隠しバッファ)とフロントバッファとして機能する。
 ここで、バックバッファは、BD-Jアプリケーションからのグラフィクスの画像の描画がされるバッファであり、フロントバッファは、バックバッファに画像の描画がされている間に、表示画面(論理スクリーン21)に表示される画像を記憶するバッファである。
 図34のAは、バッファ201L及び201Rのセットが、バックバッファとなり、バッファ202L及び202Rのセットが、フロントバッファとなっている状態の3D対応プレーヤを示している。
 図34のAでは、バックバッファとしてのバッファ201L及び201Rに対して、BD-Jアプリケーションによるグラフィクスの画像(左眼用画像、及び、右眼用画像)の描画が行われ、フロントバッファとしてのバッファ202L及び202Rに記憶されている画像(左眼用画像、及び、右眼用画像)が、表示画面への出力として出力されている。
 BD-Jアプリケーションは、バックバッファとしてのバッファ201L及び201Rに対して、グラフィクスの画像の描画が終了すると、描画完了通知APIを呼び出す。
 3D対応プレーヤは、描画完了通知APIの呼び出しが行われると、フロントバッファに代えて、バックバッファに記憶されている画像の、表示画面への出力を開始する。
 すなわち、図34のBは、描画完了通知APIの呼び出しが行われた直後の3D対応プレーヤを示している。
 3D対応プレーヤは、描画完了通知APIの呼び出しが行われると、フロントバッファになっているバッファ202L及び202Rに記憶された画像に代えて、バックバッファになっているバッファ201L及び201Rに記憶されている画像の、表示画面への出力を開始する。
 さらに、3D対応プレーヤは、バックバッファになっているバッファ201L及び201Rに記憶されている画像を、フロントバッファになっているバッファ202L及び202Rにコピーする。
 その後、3D対応プレーヤは、バックバッファとフロントバッファとを入れ替える。
 すなわち、3D対応プレーヤは、バックバッファになっているバッファ201L及び201Rを、フロントバッファとするとともに、フロントバッファになっているバッファ202L及び202Rを、バックバッファとする。
 すなわち、図34のCは、バッファ201L及び201Rのセットが、フロントバッファとなり、バッファ202L及び202Rのセットが、バックバッファとなっている状態の3D対応プレーヤを示している。
 BD-Jアプリケーションは、バックバッファとなったバッファ202L及び202Rに対するグラフィクスの画像の描画を開始し、以下、同様の処理が繰り返される。
 図35は、BD-Jアプリケーションが描画完全性保証APIを呼び出す場合の、図34の3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。
 ステップS11において、3D対応プレーヤは、BD-Jアプリケーションから、描画完全性保証APIの呼び出しがあったかどうかを判定し、なかったと判定した場合、ステップS11に戻る。
 また、ステップS11において、描画完全性保証APIの呼び出しがあったと判定された場合、ステップS12に進み、3D対応プレーヤは、描画完全性保証APIの引数となっている描画コマンド列を順次実行し、その実行の結果得られるグラフィクスの画像を、バックバッファに描画するとともに、フロントバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
 その後、3D対応プレーヤは、バックバッファへの描画が完了した後に、ステップS13において、フロントバッファに代えて、バックバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
 そして、3D対応プレーヤは、ステップS14において、バックバッファに記憶されたグラフィクスの画像を、フロントバッファにコピーする。
 その後、3D対応プレーヤは、ステップS15において、バックバッファとフロントバッファとを入れ替え、ステップS11に戻り、以下、同様の処理が繰り返される。
 以上のように、3D対応プレーヤでは、グラフィクスプレーン11(であるバックバッファ)に対する、グラフィックスの画像の描画の完全性を保証する描画完全性保証APIの呼び出しが、BD-Jアプリケーションからあった場合に、グラフィクスプレーン11に描画された画像が、表示のために出力される。
 したがって、3D対応プレーヤによるグラフィクスの画像の描画の完了を待ってから、グラフィクスプレーン11に描画がされた画像を表示することができるので、整合がとれた状態となっていない左眼用画像と右眼用画像が、表示画面に表示されることを防止することができる。
 図36は、BD-Jアプリケーションが描画完了通知APIを呼び出す場合の、図34の3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。
 3D対応プレーヤは、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS21において、その描画コマンドを実行する。
 そして、3D対応プレーヤは、ステップS22において、描画コマンドの実行の結果得られるグラフィクスの画像を、バックバッファに描画するとともに、フロントバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
 その後、ステップS23において、3D対応プレーヤは、BD-Jアプリケーションから、描画完了通知APIの呼び出しがあったかどうかを判定する。
 ステップS23において、描画完了通知APIの呼び出しがなかったと判定された場合、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS21に戻り、以下、同様の処理が繰り返される。
 また、ステップS23において、描画完了通知APIの呼び出しがあったと判定された場合、3D対応プレーヤは、ステップS24に進み、フロントバッファに代えて、バックバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
 そして、3D対応プレーヤは、ステップS25において、バックバッファに記憶されたグラフィクスの画像を、フロントバッファにコピーする。
 その後、3D対応プレーヤは、ステップS26において、バックバッファとフロントバッファとを入れ替え、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS21に戻り、以下、同様の処理が繰り返される。
 以上のように、3D対応プレーヤでは、グラフィクスプレーン11(であるバックバッファ)に対する、グラフィックスの画像の描画が終了したことを通知する描画完了通知APIの呼び出しが、BD-Jアプリケーションからあった場合に、グラフィクスプレーン11に描画された画像が、表示のために出力される。
 したがって、BD-Jアプリケーションによるグラフィクスの画像の描画が完了したことの通知があってから、グラフィクスプレーン11に描画がされた画像を表示することができるので、整合がとれた状態となっていない左眼用画像と右眼用画像が、表示画面に表示されることを防止することができる。
 図37は、BD-Jアプリケーションが、描画開始通知APIの呼び出しと、その後の描画完了通知APIの呼び出しとを行う場合の、図34の3D対応プレーヤによるグラフィクスの処理を説明するフローチャートである。
 ステップS31において、3D対応プレーヤは、BD-Jアプリケーションから、描画開始通知APIの呼び出しがあったかどうかを判定し、なかったと判定された場合、ステップS31に戻る。
 また、ステップS31において、描画開始APIの読み出しがあったと判定された場合、3D対応プレーヤは、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS32に進み、その描画コマンドを実行する。
 その後、ステップS33において、3D対応プレーヤは、BD-Jアプリケーションから、描画完了通知APIの呼び出しがあったかどうかを判定する。
 ステップS33において、描画完了通知APIの呼び出しがなかったと判定された場合、BD-Jアプリケーションからの描画コマンドの発行を待って、ステップS32に戻り、以下、同様の処理が繰り返される。
 また、ステップS33において、描画完了通知APIの呼び出しがあったと判定された場合、3D対応プレーヤは、ステップS34に進み、描画コマンドの実行の結果得られるグラフィクスの画像を、バックバッファに描画するとともに、フロントバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
 その後、3D対応プレーヤは、ステップS35において、フロントバッファに代えて、バックバッファに記憶されているグラフィクスの画像を、表示画面に出力する(表示のために出力する)。
 そして、3D対応プレーヤは、ステップS36において、バックバッファに記憶されたグラフィクスの画像を、フロントバッファにコピーする。
 その後、3D対応プレーヤは、ステップS37において、バックバッファとフロントバッファとを入れ替え、ステップS31に戻り、以下、同様の処理が繰り返される。
 以上のように、3D対応プレーヤでは、グラフィクスプレーン11(であるバックバッファ)に対する、グラフィックスの画像の描画を開始する描画開始通知APIの呼び出し、及び、その後のグラフィックスの画像の描画が終了したことを通知する描画完了通知APIの呼び出しが、BD-Jアプリケーションからあった場合に、グラフィクスプレーン11に描画された画像が、表示のために出力される。
 したがって、BD-Jアプリケーションによるグラフィクスの画像の描画が完了したことの通知があってから、グラフィクスプレーン11に描画がされた画像を表示することができるので、整合がとれた状態となっていない左眼用画像と右眼用画像が、表示画面に表示されることを防止することができる。
 [Pixel coordinate system for background]
 stereo backgroundコンフィグレーション(バックグラウンドの3D画像を表示するコンフィグレーション)で有効なピクセル座標系は、
 (0, 0)-(1920, 2160)
 (0, 0)-(1280, 1440)
 (0, 0)-(720, 960)
 (0, 0)-(720, 1152)
 のいずれかである。
 top-halfがL background viewに、bottom-halfがR background viewに割り当てられる。
 なお、バックグラウンドの画像のフォーマット(Contents format)は、単一色(Single-color),JPEG(JFIF)、又は、MPEG2 drip-feedのうちのいずれかであり、フォーマットが、MPEG2 drip-feedである場合には、バックグラウンドの画像は、SD画像(SD video only)でなければならない。
 また、バックグラウンドの画像としては、1920×2160画素、1280×1440画素、720×960画素、又は、720×1152画素のJPEG(JFIF)イメージ(image)を使用することができる。
 [フォーカス管理]
 グラフィクスの画像として、例えば、ウィジェット・ベースのGUI(Graphical User Interface)等を採用する場合に、レガシープレーヤでは、GUIを構成する、ある1つのコンテナの子となっている複数のコンポーネントは、一度にフォーカスを持つことはできない。
 また、レガシープレーヤでは、GUIを構成する複数のルートコンテナを、一度に、アクティブ(フォーカスを持った状態)にすることができない。
 ここで、コンテナは、グラフィクスの画像の構成要素(部品)であり、親(上位層)と子(下位層)を持つことができる。親を持たずに、子のみを持つコンテナは、ルートコンテナと呼ばれる。
 コンポーネントは、コンテナの一種であり、親を持つことはできるが、子を持つことはできない。
 グラフィクスの画像としてのGUIが、3D画像である場合、その3D画像を構成する左眼用画像と右眼用画像とのそれぞれで、対応するコンテナにフォーカスを持たせ、そのフォーカスの遷移を同様(同等)に行う必要がある。
 すなわち、左眼用画像と右眼用画像とのうちの、一方の画像を構成するあるコンテナがフォーカスされているが、そのコンテナに対応する、他方の画像を構成するコンテナがフォーカスされていない場合には、そのような左眼用画像と右眼用画像とによって表示される3D画像を見たユーザに、不快感を感じさせることになる。
 このように、ユーザに不快感を感じさせることを防止するために、3D対応プレーヤは、左眼用画像のコンテナと、右眼用画像のコンテナとにおいて、フォーカスの遷移が、同様になるように、フォーカスの管理を行う。
 図38は、グラフィクスプレーン11に描画されたGUIの例を示している。
 図38のGUIは、1個のルートコンテナと、そのルートコンテナの子になっている、対応する2個ずつのコンポーネント#1,#2、及び、#3とから構成される。
 なお、図38において、Lグラフィクスプレーン11Lに描画されているコンポーネント#1,#2、及び、#3は、左眼用画像を構成し、Rグラフィクスプレーン11Rに描画されているコンポーネント#1,#2、及び、#3は、右眼用画像を構成する。
 例えば、左眼用画像のコンポーネント#iがフォーカスされている場合、右眼用画像の、対応するコンポーネントであるコンポーネント#iもフォーカスされていなければならない。
 3D対応プレーヤは、ウィジェットの状態遷移/管理をL/R 間で対称になれるようにするために、同時に二つのコンテナーまたはコンポーネントがフォーカスを持てるようにすることで対応する。そのためには、コンテナーまたはコンポーネントのインスタンスには、フォーカスを保持している/していないを表現するフラグを持たせ管理可能なようにする必要がある。また、三つ目のフォーカス・リクエストは失敗させなければならない。すなわち、フォーカスを保持したコンテナーまたはコンポーネントは、0個または2個のいずれかに限定される。
 左眼用画像と右眼用画像との、対応する2個のコンテナ(コンポーネント)がフォーカスされるようにするフォーカス方式としては、第1のフォーカス方式と、第2のフォーカス方式とがある。
 図39は、第1のフォーカス方式と、第2のフォーカス方式とを示している。
 図39のAは、第1のフォーカス方式(1-root-container across L/R graphics plane)を示している。
 第1のフォーカス方式では、Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとをまたぐコンテナ(Root Container)の子となっている、Lグラフィクスプレーン11L上のコンテナ(コンポーネント)と、Rグラフィクスプレーン11R上のコンテナ(コンポーネント)との、対応する2つのコンテナに、同時に、フォーカスを持たせる。
 図39のBは、第2のフォーカス方式(2-root-containers (one for L graphics plane, another for R graphics plane))を示している。
 第2のフォーカス方式では、Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとのそれぞれに、ルートコンテナを描画し、それぞれのルートコンテナを、同時に、アクティブ(フォーカスを持った状態)にする。
 図40は、左眼用画像と右眼用画像との、対応する2個のコンテナ(コンポーネント)にフォーカスを持たせる3D対応プレーヤとしての図3のBDプレーヤのフォーカスの管理を説明するフローチャートである。
 なお、グラフィクスプレーン11に描画されるGUIを構成するコンテナ(コンポーネント)は、フォーカスがされているか否かを表すフォーカスフラグを有することとする。
 3D対応プレーヤは、フォーカスの要求(リクエスト)があると、ステップS51において、コンテナの数をカウントする変数iに、初期値としての0をセットする。
 そして、3D対応プレーヤは、ステップS52において、グラフィクスプレーン11上のコンテナc(i)の子となっているコンポーネント(コンテナ)の中に、フォーカスされた状態のコンポーネント(以下、フォーカス保持コンポーネントともいう)が、既に、2個存在するかどうかを、コンポーネントが有するフォーカスフラグに基づいて判定する。
 ステップS52において、コンテナc(i)の子となっているコンポーネントの中に、2個のフォーカス保持コンポーネントが存在しないと判定された場合、3D対応プレーヤは、ステップS53に進み、要求(リクエスト)があったフォーカスを、対応する2個のコンポーネントに持たせる。さらに、ステップS53では、3D対応プレーヤは、フォーカスを持たせた2個のコンポーネントそれぞれのフォーカスフラグに、フォーカスを持っている旨の値をセットし、ステップS54に進む。
 一方、ステップS52において、コンテナc(i)の子となっているコンポーネントの中に、2個のフォーカス保持コンポーネントが存在すると判定された場合、3D対応プレーヤは、ステップS53をスキップして、ステップS54に進み、変数iを1だけインクリメントして、ステップS55に進む。
 ステップS55では、3D対応プレーヤは、変数iが、グラフィクスプレーン11上のコンテナの数N未満であるかどうかを判定する。ステップS55において、変数iが、グラフィクスプレーン11上のコンテナの数N未満であると判定された場合、ステップS22に戻り、同様の処理が繰り返される。
 また、ステップS55において、変数iが、グラフィクスプレーン11上のコンテナの数N未満でないと判定された場合、処理は終了する。
 以上のようにして、3D対応プレーヤでは、フォーカスの要求に対し、2個のコンテナがフォーカスされていない場合に、左眼用画像を記憶するLグラフィクスプレーン11L(L領域)のコンテナと、そのコンテナに対応する、右眼用画像を記憶するRグラフィクスプレーン11R(R領域)のコンテナとを、フォーカスされている状態にする。
 したがって、例えば、3D画像のウィジェットを構成するコンテナのうちの、左眼用画像のコンテナと、右眼用画像のコンテナとにおいて、フォーカスの遷移が、同様になるようにすることができる。
 [マウスイベントの扱い]
 Stereo graphicsの場合、マウス・カーソルの画面上の2次元座標は、L/R graphics plane上で、それぞれ別の座標であってもよい。そのため、BD-Jアプリケーションは、マウス・イベントに依存した処理を記述するにあたり座標変換を必要とするが、座標変換のためのオフセット値がBDプレーヤの実装ごとに異なってよいために、不明である。
 すなわち、図41は、例えば、マウス等のポインティングデバイスのカーソルの3D画像が見える表示画面上の位置と、グラフィクスプレーン11上のカーソルの位置とを示している。
 カーソルは、BDプレーヤによって表示されるが、3D対応プレーヤでは、カーソルの3D画像を、グラフィクスの3D画像(ディスク100から再生される3D画像)よりも手前の位置に(見えるように)表示させることが望ましい。
 一方、カーソルを、3D画像で表示する場合、論理スクリーン21上の左眼用画像のカーソルは、カーソルの3D画像が見える表示画面の位置(x,y)から、所定のオフセット値△xだけずれた位置(x+△x,y)にあり、論理スクリーン21上の右眼用画像のカーソルも、カーソルの3D画像が見える表示画面の位置(x,y)から、所定のオフセット値△xだけずれた位置(x-△x,y)にある。
 ここで、所定のオフセット値△xによって、3D画像のカーソルの奥行き方向の位置が変化する。
 3D対応プレーヤにおいて、カーソルの3D画像を、グラフィクスの3D画像よりも手前の位置に表示させる場合、グラフィクスの3D画像の奥行き方向(Z方向)の、最も手前側の位置を表す値max-depthが必要である。しかしながら、3D対応プレーヤにおいて、値max-depthを、グラフィクスの3D画像から計算することは難しい。
 そこで、例えば、BDであるディスク100(図3)に、値max-depthを記録しておき、3D対応プレーヤでは、その値max-depthを、PSR(図7)(例えば、PSR#21)に設定する(記憶させる)ことができる。
 この場合、3D対応プレーヤ(又は、3D対応プレーヤが出力する3D画像を表示するディスプレイ)では、PSRに記憶された値max-depthを参照し、値max-depthが表す位置よりも手前側にカーソルを表示するオフセット値△xを求めることができる。そして、カーソルの3D画像を、グラフィクスの3D画像よりも手前の位置に表示させることができる。
 なお、3D対応プレーヤが表示するOSD(On Screen display)も、カーソルと同様にして、グラフィクスの3D画像よりも手前の位置に表示させることができる。
 また、BDであるディスク100(図3)には、値max-depthとともに、BDであるディスク100から再生される3D画像の奥行き方向の、最も奥側の位置を表す値min-depthを記録しておき、PSR(図7)には、値max-depth、及び、値min-depthを設定することが可能である。
 以上のように、3D対応プレーヤにおいて、PSRに、BDであるディスク100に記録された3D画像の奥行き方向の、最も手前側の位置を表す値max-depth等を設定することで、BDから再生される3D画像よりも手前側に、カーソルや、OSDを表示することができる。
 ところで、カーソルの3D画像を表示するためのオフセット値△xは、3D対応プレーヤが任意に設定することができる。また、オフセット値△xは、一定である必要はなく、例えば、フレームごとに変更(設定)することができる。
 したがって、3D対応プレーヤが、BD-Jアプリケーションに対して、カーソルの位置を引数とするイベントを発行するときの、カーソルの位置として、表示画面の位置(x,y)を採用すると、BD-Jアプリケーションは、その表示画面の位置(x,y)の座標変換を行って、グラフィクスプレーン11上のカーソルの位置(x+△x,y)(又は、(x-△x,y))を求めなければならない。
 しかしながら、BD-Jアプリケーションが、表示画面の位置(x,y)の座標変換を行うには、オフセット値△xを認識する必要があり、3D対応プレーヤが任意に設定することが可能なオフセット値△xを、BD-Jアプリケーションが認識することは難しい。
 そこで、マウス・イベントの座標系をL graphics plane上のみに限定する。BDプレーヤに対して、マウス・イベントを発行する際の2次元の位置情報としては、L graphics plane上の座標を採用するように義務付ける。
 すなわち、3D対応プレーヤにおいて、例えば、マウス等のポインティングデバイスのカーソルの3D画像は、左眼用画像、及び、右眼用画像で構成されるが、カーソルの位置を引数とするイベントを発行するときの、カーソルの位置としては、カーソルの3D画像の、グラフィクスプレーン11のLグラフィクスプレーン11L(L領域)、及び、Rグラフィクスプレーン11R(R領域)のうちの一方である、例えば、Lグラフィクスプレーン11L(L領域)上の位置が用いられる。
 これにより、BD-Jアプリケーションは、3D画像のカーソルの位置として、Lグラフィクスプレーン11L上の位置を知る(認識する)ことができるので、BD-Jアプリケーションのオーサは、カーソルの位置として、Lグラフィクスプレーン11L上の位置を用いて、カーソルの位置を引数とするイベント(マウスイベント等)に対する処理を記述することができる。
 [Drawing operations}
 3D対応プレーヤは、L-view/R-viewの整合性を保証しなければならない。すなわち、グラフィクスの左眼用画像と右眼用画像とが、グラフィクスプレーン11に対して、(3D画像として見えるように、)整合がとれた状態に描画された後に、表示画面に表示されることを保証しなければならない。
 グラフィクスプレーン11の初期化(リセット)も同様である。すなわち、グラフィクスプレーン11のLグラフィクスプレーン11LとRグラフィクスプレーン11Rのうちの一方を初期化する場合には、他方も初期化しなければならない。
 但し、L-view/R-view間の意味的な整合性、すなわち、グラフィクスの左眼用画像と右眼用画像とにおける、画像の内容の一致性は、BD-Jアプリケーションのオーサの責任(オーサリング責任)である。
 図42は、グラフィクスの左眼用画像と右眼用画像との整合性を説明する図である。
 図42のAは、整合がとれた状態に描画されたグラフィクスの左眼用画像と右眼用画像とを示している。
 図42のAでは、Lグラフィクスプレーン11Lに対する左眼用画像の描画と、Rグラフィクスプレーン11Rに対する右眼用画像の描画とが終了しており、3D対応プレーヤは、このように描画が終了した後に、左眼用画像と右眼用画像とを、表示画面に表示しなければならない。
 なお、図35で説明した描画完全性保証APIは、描画コマンド列を引数とするが、その描画完全性保証APIの引数である描画コマンド列は、(3D画像として見えるように、)整合がとれた状態となっている左眼用画像と右眼用画像を描画する描画コマンド列でなければならず、かかる描画完全性保証APIによれば、グラフィクスの左眼用画像と右眼用画像とが整合がとれた状態に描画されることが保証される。
 図42のBは、整合がとれていない状態のグラフィクスの左眼用画像と右眼用画像とを示している。
 図42のBでは、Lグラフィクスプレーン11Lに対する左眼用画像の描画は終了しているが、Rグラフィクスプレーン11Rに対する右眼用画像の描画は終了していない。
 3D対応プレーヤは、図42のBの状態の左眼用画像と右眼用画像とを、表示画面に表示してはならない。
 グラフィクスの左眼用画像と右眼用画像との整合性は、例えば、3D対応プレーヤにおいて、トリプルバッファリングを採用することで保証することができる。
 図43は、トリプルバッファリングを採用する3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
 3D対応プレーヤは、グラフィクスプレーン11としてのバックバッファ(隠しバッファ)211、並びに、フロントバッファ212、及び、213を有する。
 バックバッファ211は、バッファ211L及び211Rから構成される。フロントバッファ212は、バッファ212L及び212Rから構成され、フロントバッファ213は、バッファ213L及び213Rから構成される。
 なお、図43において、バッファ211L,212L、及び、213Lは、Lグラフィクスプレーン11Lに相当し、左眼用画像を記憶する。バッファ211R,212R、及び、213Rは、Rグラフィクスプレーン11Rに相当し、右眼用画像を記憶する。
 BD-Jアプリケーションは、描画コマンドを発行し、その描画コマンドの実行の結果としてのグラフィクスの3D画像(左眼用画像と右眼用画像)が、バックバッファ211に描画される。
 一方、フロントバッファ212と213とは、交互に選択され、選択された方のバッファ(以下、選択バッファともいう)に記憶された左眼用画像と右眼用画像は、表示画面に表示される(Display processorに供給される)。
 フロントバッファ212と213のうちの、選択バッファでない方には、バックバッファ211に対する左眼用画像と右眼用画像の描画が終了した後に、そのバックバッファ211に記憶(描画)された左眼用画像と右眼用画像とがコピーされる。
 フロントバッファ212と213を、交互に、選択バッファに選択する選択の切り替えは、tearing artifactsの発生を防止するために、バックバッファからの左眼用画像と右眼用画像の読み出し(コピー)が、最後の水平ラインまで完了した後のVBI(Vertical Blanking Interval)のタイミングで実行される。
 [Frame Accurate Animation]
 FAA(Frame Accurate Animation)には、Image Frame Accurate Animationと、Sync Frame Accurate Animationの2つがあるが、3D対応プレーヤにおいて、アニメーションのための左眼用画像と右眼用画像とを同期して動作させるためには(L/R同期のためには)、Image Frame Accurate Animationと、Sync Frame Accurate Animationのいずれであっても、アニメーションのための左眼用画像の描画と、アニメーションのための右眼用画像の描画とを、別個に行うこと(二箇所で同時にアニメーションが動作させること)が望ましい。
 すなわち、レガシープレーヤでは、1箇所でしかアニメーションが動作しない。L/Rをまたぐような画像やバッファーを使用すれば、擬似的に2箇所でアニメーション動作が可能であるが、BDプレーヤー側のパフォーマンス要件により、充分なアニメーション・フレームレートを出せない。
 図44は、L/Rをまたぐ画像によるアニメーションを説明する図である。
 図44では、1920×2160画素のグラフィクスプレーン11のLグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとをまたいで、w×(h+1080)画素の1つの画像が描画されている。
 図44において、w×(h+1080)画素の画像のうちの、上部のw×h画素の画像と、下部のw×h画素の画像とをのぞいた部分(中央部分)を、透過ピクセル(透明色)で塗りつぶすことで、上部のw×h画素の画像を、アニメーションのための左眼用画像とするとともに、下部のw×h画素の画像を、アニメーションのための右眼用画像とすることができる。
 すなわち、図44の1つの画像の中央部分を、透明色で塗りつぶすことで、その1つの画像の見た目を、w×h画素の画像が、Lグラフィクスプレーン11Lと、Rグラフィクスプレーン11Rとで同一の位置に描画された状態とすることができる。したがって、Lグラフィクスプレーン11L上のw×h画素の画像と、Rグラフィクスプレーン11R上のw×h画素の画像とを同期して動作させた3D画像のアニメーションを実現することができる。
 しかしながら、図44では、アニメーションのための左眼用画像、及び、右眼用画像が、w×h画素の画像であるのにもかかわらず、w×(h+1080)画素の、巨大な1つの画像の描画を行う必要がある。
 その結果、BDプレーヤの性能(パフォーマンス)によっては、画像の描画に時間を要し、十分なフレームレートで、3D画像のアニメーションを表示することが困難となる。
 そこで、3D対応プレーヤでは、アニメーションのための左眼用画像の描画と、アニメーションのための右眼用画像の描画とを、別個に行う。
 図45は、アニメーションのための左眼用画像の描画と、アニメーションのための右眼用画像の描画とを示す図である。
 3D対応プレーヤでは、アニメーションのための左眼用画像が、Lグラフィクスプレーン11L(L領域)に描画される。さらに、3D対応プレーヤでは、Lグラフィクスプレーン11L(L領域)に対するアニメーションのための左眼用画像の描画とは別個に、アニメーションのための右眼用画像が、Rグラフィクスプレーン11R(R領域)に描画される。
 これにより、アニメーションのための左眼用画像と右眼用画像の描画を迅速に行うことができ、その結果、十分なフレームレートで、3D画像のアニメーションを表示することが可能となる。
 図46は、Lグラフィクスプレーン11Lに対する、アニメーションのための左眼用画像の描画と、Rグラフィクスプレーン11Rに対する、アニメーションのための右眼用画像の描画とを、別個に行う3D対応プレーヤとしての図3のBDプレーヤの機能的構成例を示すブロック図である。
 図46のAは、Image Frame Accurate Animationとしてのアニメーションを描画する3D対応プレーヤの構成例を示している。
 イメージバッファ(Image buffer)231は、BD-Jアプリケーションが、BDであるディスク100(図3)からリソースをロードして保存しておくための、キャッシュメモリとして機能するバッファであり、アニメーションのための左眼用画像のリスト(L用の画像のリスト)と、アニメーションのための右眼用画像のリスト(R用の画像のリスト)とを記憶する。
 ピクセル転送器232Lは、イメージバッファ231からアニメーションのための左眼用画像を、画素(ピクセル)単位で、順次読み出し、Lグラフィクスプレーン11Lに描画する。
 ピクセル転送器232Rは、イメージバッファ231からアニメーションのための右眼用画像を、画素(ピクセル)単位で、順次読み出し、Rグラフィクスプレーン11Rに描画する。
 図46のBは、Sync Frame Accurate Animationとしてのアニメーションを描画する3D対応プレーヤの構成例を示している。
 グラフィクスメモリ241は、3D対応プレーヤのワークメモリであり、アニメーションのための左眼用画像を記憶するバッファ(L用の画像のbuffer)と、アニメーションのための右眼用画像を記憶する(R用の画像のbuffer)とから構成される。
 ピクセル転送器242Lは、グラフィクスメモリ241からアニメーションのための左眼用画像を、画素単位で、順次読み出し、Lグラフィクスプレーン11Lに描画する。
 ピクセル転送器242Rは、グラフィクスメモリ241からアニメーションのための右眼用画像を、画素単位で、順次読み出し、Rグラフィクスプレーン11Rに描画する。
 ここで、図47に、Image Frame Accurate Animation の拡張APIの定義を示す。
 また、図48に、Sync Frame Accurate Animation の拡張APIの定義を示す。
 さらに、図49及び図50に、Image Frame Accurate Animation のサンプルコードを示す。なお、図50は、図49に続く図である。
 また、図51及び図52に、Sync Frame Accurate Animation のサンプルコードを示す。なお、図52は、図51に続く図である。
 ここで、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 すなわち、本実施の形態では、3D対応プレーヤである図3のBDプレーヤにおいて、ディスク100に記録された3D画像のコンテンツやJava(登録商標)アプリケーションを対象として処理を行うこととしたが、3D対応プレーヤにおいて処理の対象とする3D画像のコンテンツやJava(登録商標)アプリケーションは、ディスク100等の記録媒体以外のデータ供給手段、具体的には、例えば、ディジタル放送のアプリケーションであるオブジェクトカルーセルやデータカルーセルから、3D対応プレーヤに供給し、3D対応プレーヤでは、その、オブジェクトカルーセルやデータカルーセルから供給される3D画像のコンテンツやJava(登録商標)アプリケーションを対象として、処理を行うことができる。
 10 論理プレーン, 11 グラフィクスプレーン, 11L Lグラフィクスプレーン, 11R Rグラフィクスプレーン, 12 PGプレーン, 12L L-PGプレーン, 12R R-PGプレーン, 13 ビデオプレーン, 13L Lビデオプレーン, 13R Rビデオプレーン, 14 バックグラウンドプレーン, 14L Lバックグラウンドプレーン, 14R Rバックグラウンドプレーン, 15 ミキサ, 21 論理スクリーン, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体, 201L,201R,202L,202R バッファ, 211 バックバッファ, 211L,211R, 212 フロントバッファ, 212L,212R バッファ, 213 フロントバッファ, 213L,213R バッファ, 231 イメージバッファ, 232L,232R ピクセル転送器, 241 グラフィクスメモリ, 242L,242R ピクセル転送器

Claims (3)

  1.  ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、
     前記L領域に記憶される画像のサイズ、及び、位置を設定するL用API(Application Programming Interface)と、
     前記R領域に記憶される画像のサイズ、及び、位置を設定するR用APIと
     を備え、
     前記L用API、及び、前記R用APIのうちの一方のAPIは、他方のAPIが設定する前記画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定し、
     グラフィクスの画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるグラフィクスプレーンオフセット値、及び、PG(Presentation Graphics) の画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるPGプレーンオフセット値を、前記L用API、及び、前記R用APIが前記ビデオプレーンに記憶されるビデオの画像のサイズを設定するスケーリングを行うときのスケーリング比率でスケーリングする
     情報処理装置。
  2.  ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、
     前記L領域に記憶される画像のサイズ、及び、位置を設定するL用API(Application Programming Interface)と、
     前記R領域に記憶される画像のサイズ、及び、位置を設定するR用APIと
     のうちの、一方のAPIは、他方のAPIが設定する前記画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定し、
     グラフィクスの画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるグラフィクスプレーンオフセット値、及び、PG(Presentation Graphics) の画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるPGプレーンオフセット値を、前記L用API、及び、前記R用APIが前記ビデオプレーンに記憶されるビデオの画像のサイズを設定するスケーリングを行うときのスケーリング比率でスケーリングする
     情報処理方法。
  3.  ビデオの画像を記憶するビデオプレーンは、左眼用画像を記憶する1面分の画像の記憶領域であるL領域と、右眼用画像を記憶する1面分の画像の記憶領域であるR領域との、2面分の画像の記憶領域が並んで配置された記憶領域であり、
     前記L領域に記憶される画像のサイズ、及び、位置を設定するL用API(Application Programming Interface)と、
     前記R領域に記憶される画像のサイズ、及び、位置を設定するR用APIと
     であるプログラムであり、
     前記L用API、及び、前記R用APIのうちの一方のAPIは、他方のAPIが設定する前記画像のサイズ、及び、位置と同一のサイズ、及び、位置を設定し、
     グラフィクスの画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるグラフィクスプレーンオフセット値、及び、PG(Presentation Graphics) の画像に視差を与えて、元の画像から、左眼用画像と右眼用画像とを生成するためのデータであるPGプレーンオフセット値を、前記L用API、及び、前記R用APIが前記ビデオプレーンに記憶されるビデオの画像のサイズを設定するスケーリングを行うときのスケーリング比率でスケーリングする
     プログラム。
PCT/JP2010/055134 2009-04-03 2010-03-24 情報処理装置、情報処理方法、及び、プログラム WO2010113730A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/993,417 US8866885B2 (en) 2009-04-03 2010-03-24 Information processing device, information processing method, and program
EP10758504.4A EP2273797A4 (en) 2009-04-03 2010-03-24 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND CORRESPONDING PROGRAM
CN2010800016955A CN102301726B (zh) 2009-04-03 2010-03-24 信息处理设备、信息处理方法
HK12104571.5A HK1164001A1 (en) 2009-04-03 2012-05-10 Information processing device, information processing method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009091162 2009-04-03
JP2009-091162 2009-04-03
JP2010046030A JP4915458B2 (ja) 2009-04-03 2010-03-03 情報処理装置、情報処理方法、及び、プログラム
JP2010-046030 2010-03-03

Publications (1)

Publication Number Publication Date
WO2010113730A1 true WO2010113730A1 (ja) 2010-10-07

Family

ID=42828025

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/055134 WO2010113730A1 (ja) 2009-04-03 2010-03-24 情報処理装置、情報処理方法、及び、プログラム

Country Status (7)

Country Link
US (1) US8866885B2 (ja)
EP (1) EP2273797A4 (ja)
JP (1) JP4915458B2 (ja)
CN (3) CN103167297B (ja)
HK (1) HK1164001A1 (ja)
MY (1) MY156833A (ja)
WO (1) WO2010113730A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4915456B2 (ja) 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP2010244245A (ja) * 2009-04-03 2010-10-28 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP4915459B2 (ja) * 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP5510700B2 (ja) * 2009-04-03 2014-06-04 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP4915457B2 (ja) 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP4919122B2 (ja) 2009-04-03 2012-04-18 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP2010245761A (ja) * 2009-04-03 2010-10-28 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP7392374B2 (ja) * 2019-10-08 2023-12-06 ヤマハ株式会社 無線送信装置、無線受信装置、無線システム及び無線送信方法
CN110996124B (zh) * 2019-12-20 2022-02-08 北京百度网讯科技有限公司 原创视频确定方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005049668A (ja) * 2003-07-30 2005-02-24 Sharp Corp データ変換装置、表示装置、データ変換方法、プログラム及び記録媒体
JP2006115198A (ja) * 2004-10-14 2006-04-27 Canon Inc 立体画像生成プログラム、立体画像生成システムおよび立体画像生成方法
WO2009090868A1 (ja) * 2008-01-17 2009-07-23 Panasonic Corporation 3d映像が記録された記録媒体、3d映像を記録する記録装置、並びに3d映像を再生する再生装置及び再生方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02305291A (ja) 1989-05-19 1990-12-18 Sharp Corp 立体画像通信装置
JPH08191463A (ja) 1994-11-11 1996-07-23 Nintendo Co Ltd 立体画像表示装置およびそれに用いられる記憶装置
US20050146521A1 (en) * 1998-05-27 2005-07-07 Kaye Michael C. Method for creating and presenting an accurate reproduction of three-dimensional images converted from two-dimensional images
JP2004191745A (ja) 2002-12-12 2004-07-08 Toshiba Corp 画像表示方法、コンピュータ、およびディスプレイドライバ
US7173635B2 (en) * 2003-03-25 2007-02-06 Nvidia Corporation Remote graphical user interface support using a graphics processing unit
JP4251907B2 (ja) * 2003-04-17 2009-04-08 シャープ株式会社 画像データ作成装置
CN101841728B (zh) * 2003-04-17 2012-08-08 夏普株式会社 三维图像处理装置
EP1720352A4 (en) 2004-02-23 2009-01-07 Panasonic Corp DISPLAY PROCESSING DEVICE
CN101814310B (zh) * 2004-07-22 2012-11-28 松下电器产业株式会社 重放装置和重放方法
JP4523368B2 (ja) * 2004-09-10 2010-08-11 株式会社マーキュリーシステム 立体視画像生成装置およびプログラム
JP2007295391A (ja) 2006-04-26 2007-11-08 Sharp Corp 撮影機能付き携帯情報端末
JP2010505174A (ja) * 2006-09-28 2010-02-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メニューディスプレイ
KR101377736B1 (ko) * 2006-10-11 2014-03-24 코닌클리케 필립스 엔.브이. 3차원 그래픽 데이터의 생성
KR20080057940A (ko) * 2006-12-21 2008-06-25 삼성전자주식회사 축소 화면을 표시하는 영상 디스플레이 장치 및 그 방법
US8301013B2 (en) 2008-11-18 2012-10-30 Panasonic Corporation Reproduction device, reproduction method, and program for stereoscopic reproduction
JP5510700B2 (ja) 2009-04-03 2014-06-04 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP4915459B2 (ja) 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP4915457B2 (ja) 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP2010244245A (ja) 2009-04-03 2010-10-28 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP4915456B2 (ja) 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP4919122B2 (ja) 2009-04-03 2012-04-18 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP2010245761A (ja) 2009-04-03 2010-10-28 Sony Corp 情報処理装置、情報処理方法、及び、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005049668A (ja) * 2003-07-30 2005-02-24 Sharp Corp データ変換装置、表示装置、データ変換方法、プログラム及び記録媒体
JP2006115198A (ja) * 2004-10-14 2006-04-27 Canon Inc 立体画像生成プログラム、立体画像生成システムおよび立体画像生成方法
WO2009090868A1 (ja) * 2008-01-17 2009-07-23 Panasonic Corporation 3d映像が記録された記録媒体、3d映像を記録する記録装置、並びに3d映像を再生する再生装置及び再生方法

Also Published As

Publication number Publication date
CN103179422A (zh) 2013-06-26
US8866885B2 (en) 2014-10-21
CN102301726A (zh) 2011-12-28
CN102301726B (zh) 2013-03-20
CN103179422B (zh) 2015-04-29
CN103167297A (zh) 2013-06-19
US20120075416A1 (en) 2012-03-29
JP2010259054A (ja) 2010-11-11
JP4915458B2 (ja) 2012-04-11
MY156833A (en) 2016-03-31
EP2273797A1 (en) 2011-01-12
CN103167297B (zh) 2015-06-10
EP2273797A4 (en) 2013-07-10
HK1164001A1 (en) 2012-09-14

Similar Documents

Publication Publication Date Title
JP4919122B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
WO2010113728A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
WO2010113729A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4915458B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4915456B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4962825B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4962670B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4962674B1 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4962814B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4998649B2 (ja) 情報処理装置、情報処理方法、及び、プログラム

Legal Events

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

Ref document number: 201080001695.5

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2010758504

Country of ref document: EP

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

Ref document number: 10758504

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 7674/CHENP/2010

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12993417

Country of ref document: US