WO2006059661A1 - 再生装置、画像合成方法、画像合成プログラム及び集積回路 - Google Patents

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

Info

Publication number
WO2006059661A1
WO2006059661A1 PCT/JP2005/022022 JP2005022022W WO2006059661A1 WO 2006059661 A1 WO2006059661 A1 WO 2006059661A1 JP 2005022022 W JP2005022022 W JP 2005022022W WO 2006059661 A1 WO2006059661 A1 WO 2006059661A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
plane
storing
application
gui
Prior art date
Application number
PCT/JP2005/022022
Other languages
English (en)
French (fr)
Inventor
Satoshi Hashimoto
Masahiro Oashi
Tomoyuki Okada
Wataru Ikeda
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2006547988A priority Critical patent/JP4949853B2/ja
Priority to KR1020077012832A priority patent/KR101193397B1/ko
Priority to US11/720,531 priority patent/US8306386B2/en
Priority to EP05811752A priority patent/EP1818907A4/en
Publication of WO2006059661A1 publication Critical patent/WO2006059661A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal

Definitions

  • Playback apparatus image composition method, image composition program, and integrated circuit
  • the present invention relates to a playback device that executes an application while playing back a moving image, and relates to a method of utilizing a memory bus when combining images.
  • video playback devices such as DVD (Digital Versatile Disc) players and BD (Blu-ray Disc) players have been developed. These players can read moving picture stream data from a recording medium such as a DVD or BD to play a moving picture.
  • the application recorded on the recording medium may be executed while the movie is played, and an image related to the application may be displayed separately from the movie.
  • the display of a menu GUI (Graphical User Interface) related to the moving image or the display of subtitles is the horizontal position of the moving image.
  • the player generates image data to be displayed by combining the moving image and the image controlled by the application, and displays the image data on the display.
  • the data to be synthesized is sequentially read out from the recording medium and written in the corresponding areas of the player's memory.
  • the player then reads the image data from the memory, combines it, and outputs it.
  • the area corresponding to each of the player's memory is a video plane for storing moving image data, an IG (Interactive Graphics) plane for storing GUI menu image data displayed together with the moving image, etc. in the memory. is there.
  • Players need to access each plane when compositing images.
  • Patent Document 1 A technique related to writing to a memory is described in Patent Document 1. According to this technique, an area that needs to be restored when a redraw occurs in a certain GUI object. By using the checking means to determine and the generation means to determine the objects that need to be redrawn, unnecessary writing to the memory is suppressed, so the memory bus bandwidth is effectively utilized as much as writing is suppressed. can do.
  • Patent Document 1 Japanese Patent Publication No. 2004-102343
  • the player performs writing and reading to the plane, but the memory bus used for writing to and reading from the memory is shared due to problems of cost and installation space.
  • the memory bus bandwidth used for moving image writing is about 120 MB / sec (1920 x 1080 x 2), assuming 2B / pixel, 30ft) s. X 30), the performance of about 120MB / sec is also required for reading.
  • an object of the present invention is to provide a new playback device that can contribute to the effective use of the memory bus bandwidth used for reading image data.
  • a playback device includes a video plane for storing a moving image, an image plane for storing a GUI image that is an image to be displayed as a GUI, and a background image.
  • Memory having a memory area with a still plane for storing Means, moving image storage means for storing a moving image in the video plane, image storage means for storing the GUI image in the image plane, background image storage means for storing the background image in the still plane,
  • the moving image has a predetermined size that can block the background image
  • the image signal representing the combined image obtained by reading and superimposing the moving image and the G UI image without reading the background image is superimposed.
  • the combined image is output to read out the moving image, the GUI image, and the background image, and output an image signal representing a combined image that is superimposed and combined. It is characterized by comprising means.
  • the playback device having the above configuration does not need to synthesize the background image when the background image is not needed, that is, when the moving image covers the background image, so it is necessary to read from the memory. At this time, the background image data is not read out.
  • a moving image is displayed in a predetermined size that covers the background image, for example, the full screen size, the load on the playback device is reduced by not reading the background image, and the memory bus bandwidth used for reading is reduced. Will be.
  • the memory bus used for reading the background images can be used for other purposes, for example, writing GUI images into the memory.
  • the memory bus bandwidth can be used effectively, and the display delay and other problems can be reduced.
  • the dynamic image that combines the planes of the same size will be displayed when the size is changed from the original full screen size, that is, the background image may not be covered or hidden. Since the background image is necessary, it is synthesized.
  • the playback device uses a memory bus bandwidth of 120 MB / sec for reading a background image, for example, for writing a movie
  • the writing speed of the movie is doubled.
  • the predetermined size is a size at which the moving image is displayed in full screen on the display screen
  • the playback device further includes an application related to the moving image.
  • the composite output means receives the reduction instruction for the video plane of the application and combines the background image. If there is no reduction instruction, the combination output means combines the background image. Shina, as a matter of fact.
  • the full screen is a size that covers the entire display screen in a display device typified by a television of an external device connected to the playback device, or a built-in monitor.
  • the playback device changes the size of the moving image based on the instruction of the application being executed, and the change instruction is a force that is normally applied only to the video plane. Judge whether or not to read the data. With this configuration, it is possible to easily determine the necessity of data output from the still plane.
  • the still plane is for storing an image that switches according to a time different from that of the moving image
  • the playback device further stores the image according to the time in the still plane.
  • Image storage means for storing an image to be switched
  • the composite output means has a moving image stored in the video plane when the moving image is a size that can be displayed in full screen on a display screen.
  • An image, a GUI image stored in the image plane, and an image switched according to the time stored in the still plane are read out, and an image signal representing a composite image synthesized by superposition is output, and the moving image is full. If the image size is not displayed on the screen, the moving image stored in the video plane, the GUI image stored in the image plane, and the still plane It is also possible to read out the background image stored in, and output an image signal representing a combined image that is superimposed and combined.
  • the image switched according to time is an image different from the moving image stored in the moving image storage means, and the display content differs according to time.
  • a subtitle is displayed. This is an image to do.
  • the storage means the memory area prepared separately for the conventional normal plane and the subtitle plane for storing the subtitles is shared, so that the memory area for one plane is freed. Allocate memory area for other data storage Memory can be used effectively.
  • the number of planes is reduced by one plane compared to the conventional case where there are still planes and subtitle planes.
  • the memory bus bandwidth to be accessed is reduced by the amount of one plane reduced.
  • the composite output unit and each storage unit share a memory bus connected to the storage unit, and the image storage unit does not read the still plane by the composite output unit. If it is determined that the memory plane bandwidth or time allocated for reading the still plane is used for writing to the image plane.
  • the playback apparatus can use the memory bus bandwidth effectively by using the memory bus bandwidth allocated for reading the background image for writing to the image plane.
  • the GUI image is of higher quality than the moving image and the background image, so the time required for the writing is increased and the memory bus band width is increased. It is possible to increase the speed by using the memory bus that was planned to be used for reading the data for writing to the image plane.
  • a memory area includes a video plane for storing a moving image, an image plane for storing a G UI image that is an image to be displayed as a GUI, and a still plane for storing a background image.
  • An image synthesis method for synthesizing images in a playback device including a storage unit, the moving image storing step for storing a moving image in the video plane, and the image storing step for storing the GUI image in the image plane; A background image storing step of storing the background image in the still plane; and when the moving image has a predetermined size that can completely block the background image, the background image is not read and the moving image
  • the video image, the GUI image, and the background image may be read out, and a synthesis output step of outputting an image signal representing a synthesized image obtained by superimposing them may be included.
  • a storage means having memory areas of a video plane for storing moving images, an image plane for storing G UI images that are images displayed as a GUI, and a still plane for storing background images is provided.
  • An image synthesis program showing a processing procedure for synthesizing an image in a computer of a playback device provided with a moving image storing step of storing a moving image in the video plane, and storing the GUI image in the image plane
  • the background image storing step of storing the background image in the still plane, and the moving image having a predetermined size capable of completely blocking the background image
  • the background image is not read out
  • Reading the moving image and the GUI image outputting an image signal representing a combined image obtained by superimposing and combining the moving image and the moving image
  • the playback device When the computer of the playback device executes this program, the playback device does not read data from the still plane when it is not necessary, so that the memory bus band width can be increased accordingly. .
  • an integrated circuit mounted on a playback device that synthesizes and outputs images, a video plane for storing moving images, an image plane for storing GUI images that are displayed as a GUI,
  • a storage unit having a memory area with a still plane for storing a background image, a moving image storage unit for storing a moving image in the video plane, an image storage unit for storing the GUI image in the image plane, Background image storage means for storing the background image in the still plane, and when the moving image has a predetermined size capable of completely shielding the background image, the moving image and the GUI are not read without reading the background image.
  • An image signal representing a combined image obtained by reading and superimposing the image is output, and when the moving image is not the predetermined size, the moving image and the previous image are output.
  • the playback device By mounting this integrated circuit, the playback device can Since this data is not read, the memory bus bandwidth can be increased accordingly.
  • ⁇ 1 It is a diagram showing a usage act of the playback device according to the present invention.
  • FIG. 2 is a block diagram showing a functional configuration of playback apparatus 100 according to Embodiment 1.
  • FIG. 3 This is a diagram depicting the software and hardware parts replaced with a layer configuration.
  • FIG. 5 is a diagram showing a directory structure of data stored in BD-R0M110.
  • FIG. 6 A diagram schematically showing how a file with the extension .m2ts is structured.
  • FIG. 7 shows the structure of Clip information.
  • FIG. 8 is a diagram showing an EPjnap setting for a movie video stream.
  • FIG. 9 is a diagram showing a data structure of Playlist information.
  • FIG. 10 is a diagram showing the relationship between AVClip and PlayList information.
  • FIG. Ll is a diagram showing an STN table included in Playlist information.
  • FIG. 12] (a) to (d) are diagrams showing details of entry-attribute.
  • FIG. 13 is a diagram showing an internal structure of PlayListMark information in PlayList information.
  • FIG. 14 is a diagram showing specification of a chapter position by PlayListMark information in PlayList information.
  • FIG. 15 is a diagram showing an internal configuration of a BD-J Object.
  • FIG. 16 is a diagram showing programs and data stored in an archive file.
  • FIG. 17A is a diagram showing an internal configuration of an application management table.
  • (b) is a diagram showing the semantic contents of the information elements constituting the application management table.
  • FIG. 18 is a diagram showing state transition in disc content.
  • FIG. 19 (a) is a diagram showing a time axis of the entire BD-ROM.
  • (B) is a diagram showing a configuration on the time axis of the entire BD-ROM.
  • FIG.20 (a) (b) Title specified from BD-J Object on the time axis of the entire BD-ROM It is a figure which shows a reproduction
  • FIG. 22 A diagram showing disc contents including three titles of a main title, an online shopping title, and a game title.
  • FIG. 23 shows an example of an application management table and a life cycle.
  • FIG. 24 A diagram showing combinations of three possible modes of activation attributes (Present, AutoRun, Suspend) and three aspects of application status in the immediately preceding title (not activated, activated, Suspend) .
  • FIG. 25 (a) is a diagram showing an internal structure of a playlist management table.
  • (B) is a figure which shows the meaning content of the information element which comprises a playlist management table.
  • FIG.26 A specific example of the title defined by the playlist management table and application management table is shown.
  • FIG. 6 is a diagram showing six possible combinations of a reproduction state and a reproduction state).
  • FIG. 28 (a) is a diagram showing a description example of a playlist management table and an application management table.
  • FIG. 27B is a diagram showing how playlist reproduction and application execution proceed according to the application management table and playlist management table described as shown in FIG. 27A.
  • FIG. 29 (a) is a diagram showing another description example of the playlist management table.
  • FIG. 28B is a diagram showing the progress of application execution and playlist playback based on the case of FIG.
  • FIG. 30 is a flowchart showing an operation of the playback device 100 for determining whether to synthesize a still plane.
  • FIG. 31 is a block diagram showing a functional configuration of playback apparatus 100 in the second embodiment.
  • FIG. 32 is a flowchart showing the flow of output control of data from the Still plane and the PG plane based on the video scaling instruction in the application instruction in the second embodiment. A description of the symbols that are charts
  • Fig. 1 shows the form of usage of the playback device.
  • the playback apparatus 100 plays back a moving image recorded on the BD-ROM 110 with the BD-ROM 110 attached, and displays it on a television 130 connected by wire or wirelessly. Further, the playback device 100 executes a Java (registered trademark) application recorded on the BD-ROM 110 and displays an image based on the application.
  • a Java registered trademark
  • a remote controller 120 for receiving user operations
  • the remote controller 130 is equipped with various keys for controlling the playback device 100.
  • These keys include playback start (Play playback stop (Stop), pause (Pause On), release of pause (Pause 011), release of Still function (still off), fast forward with speed specification (Forward Play ( speed)), reversing with speed designation (Backward Play (speed)), audio change (Audio Change), sub-picture change (Subtitle Change), angle change (Angle Change) keys and menu operations.
  • the playback apparatus 100 according to the present invention is industrially produced based on the internal configuration shown in the figure.
  • the playback device 100 according to the present invention mainly comprises two parts, a system LSI (Large Scale Integration) and a drive device. These parts are used as a cabinet and a base of the device. It can be industrially produced by mounting on a board.
  • a system LSI is an integrated circuit with various processing units that perform the functions of a playback device.
  • the playback device 100 produced in this way is BD-ROM drive 1, read buffer 2, demultiplexer 3, video decoder 4, video plane 5, sound processor 6, sound processor 7, mixer 8, sound controller 9, D / A.
  • the BD-ROM drive 1 has a function of performing loading / ejecting of the BD-ROM and executing access to the BD-ROM.
  • Read buffer 2 is a FIFO (First In First Out) memory, which has the function of sequentially outputting TS packets read from the BD-ROM in order from the first stored packet.
  • Demultiplexer (De-MUX) 3 has a function of taking a Source packet from the read buffer 2 and converting a TS packet constituting the Source packet into a PES packet.
  • the one with the PID (Packet IDentifier) in the STN_Table is one of the video decoder 4, the audio decoder 6, the Interactive Graphics decoder 11, and the Presentation Graphics decoder 13. It also has a function to output to Details of the Source packet and STN_Table will be described later.
  • the video decoder 4 has a function of decoding a plurality of PES packets output from the demultiplexer 3 to obtain an uncompressed picture and writing it to the video plane 5.
  • the video plane 5 is a plane for storing uncompressed pictures.
  • a plane is a memory area for storing pixel data for one screen in the playback apparatus 100.
  • the video plane has the function of storing and outputting data written by the coder in video.
  • the resolution in video plane 5 is 1920 x 1080, and the picture data stored in this video plane 5 is expressed as a 16-bit YUV value. It consists of the pixel data.
  • the playback video for each frame in the video stream can be scaled. Scaling is to change the playback image of each frame to either 1/4 (referred to as quota) or 1/1 (referred to as full scale) of the entire video plane 5. Since such scaling is executed in accordance with the instruction from the CPU 25 in the BD-J mode, it is possible to produce a screen effect in which the playback image of the video stream is driven to the corner of the screen or is fully displayed.
  • the sound processor 6 includes an audio buffer 6a having a function of storing the PES packet when the PES filter 3 outputs the PES packet constituting the audio stream, and a decoder for the PES packet stored in the buffer. And an audio decoder 6b having a function of outputting audio data in a PCM (Pulse Code Modulation) state.
  • the sound processor 7 is instructed by the CPU 25 from among the preload buffer 7a having a function of preloading the file sound.bdmv read from the BD-ROM and a plurality of sound data in the preloaded file sound.bdmv. And an audio decoder 7b having a function of decoding audio data and outputting audio data in the PCM state.
  • preload buffer 7a it is desirable to preload the preload buffer 7a when loading a BD-ROM or switching titles. This is because when the file sound.bdmv is read during playback of an AVClip, the seek of an optical pickup to read a file other than the AVClip is generated. On the other hand, when loading BD-ROM or switching titles, it is rare that AVClip playback continues, so it is guaranteed that AVClip playback will not be interrupted by reading the file sound.bdmv at a powerful timing. Can do.
  • the sound mixer 8 has a function of mixing the sound data in the PCM state output from the sound processor 6 and the sound processor 7.
  • the sound controller 9 has a function of switching between outputting the expanded audio data output from the sound mixer 8 and the compressed audio data without going through the sound processor 6. When outputting compressed audio data, it is decoded by the output destination device (television).
  • the D / A converter 10 has a function of D / A converting digital audio data output from the sound mixer 8 and outputting analog audio.
  • the graphics decoder (IG decoder) 11 has a function of decoding the IG stream read from the BD-ROM or the local storage 21 and writing the uncompressed graphics to the Interactive Graphics plane 12.
  • the P-Graphics decoder 13 has a function of decoding the PG stream read from the BD-ROM or the local storage 21 and writing the uncompressed graphics to the Presentation Graphics (PG) plane 11. Subtitles appear on the screen by combining the data decoded by the P-Graphics decoder 13 and written in the Presentation Graphics plane 11.
  • the Presentation Graphics plane 14 is a memory having an area for one screen, and can store uncompressed graphics for one screen.
  • the JPEG decoder 15 has a function of decoding JPEG data recorded on the BD-ROM or the local storage 21 and writing it to the still plane 16.
  • Still plane 16 is a plane in which uncompressed graphics data obtained by expanding JPEG data is stored. This graphics data is used as a GUI framework! /, A so-called “wallpaper” drawn by a Java (registered trademark) application.
  • the still plane control unit 17 has a function of controlling output of data from the still plane 16. Specifically, when the CPU 25 receives a scaling instruction for the video plane 5 and the scaling instruction is full scale scaling, which is a display instruction for the entire television 130, the data is read from the still plane 16. Deter. When the scaling instruction is quarter scaling which is 1/4 of full scale, the still data stored in the still plane 16 force synthesis unit 18c is output.
  • the compositing units 18a, b, and c include data stored in the Interactive Graphics plane 12, data stored in the Presentation Graphics plane 11, data stored in the video plane 5, and Still plane. 16 has a function of synthesizing the data stored in 16 and outputting an image signal of the obtained synthesized image. The image signal is output from the plane. If not input, the output signal is output as it is without being synthesized.
  • the STC_delta-added card unit 18 has a function of generating an STC (System Time Clock).
  • STC System Time Clock
  • an STC_Sequence STC value (STC2) is obtained by adding an offset value called STC_delta to the STC value (STC1) in the previous STC_Sequence, and the STC_Sequence in the previous STC_Sequence.
  • STC1 and the new STC_Sequence STC value (STC2) are made consecutive.
  • STC — delta PTS l (lstEND) + Tpp-PTS2 (2ndSTART)
  • the STC_delta is obtained as described above, and the count value of the clock obtained by adding the STC_delta is output to each decoder. This allows each decoder to play back the streams corresponding to the two STC_Sequences without interruption. As described above, even if two or more STC_Sequences exist in one AVClip, or even if two or more AVClips to be played back continuously have different STC_Sequences, these STC_Sequences This decoding process can be executed seamlessly.
  • the ATC_delta-added card section 19 has a function of generating an ATC (Arrival Time Clock). And At the time of ATC_Sequence switching, by adding an offset value called ATC_delta to the ATC value (ATC1) in the previous ATC_Sequence, the new ATC value (ATC1) in the AT C_Sequence and the new ATC_Sequence! /, ATC_Sequence Set the ATC value (ATC2) to the continuous value.
  • ATC2 ATCl + ATC_delta.
  • ATC_delta is the input time T2 of the first TS packet of the newly read transport stream (TS2) from the input time T1 of the last TS packet of the transport stream (TS1) read so far. Offset values up to,,, "ATC_delta ⁇ Nl / TS_recording_rate" and! /, are given by the following formula.
  • the input time point T2 means the time point when the input time point of the first TS packet of TS2 is projected on the time axis of TS1.
  • N1 is the number of TS packets that follow the last video PES packet of TS1. Since ATC_delta that works in BD-ROM is described in Cli P information, ATC_delta can be calculated by using this.
  • the ATC value (ATC1) that the previous ATC_Sequence has and the ATC value (ATC2) that the new ATC_Sequence has can be made continuous.
  • the clock count value with ATC_delta added together to the demultiplexer (De_MUX) 3 seamless buffer control can be realized.
  • the local storage 21 is a hard disk having a function of storing content supplied from a recording medium other than a BD-ROM, such as content downloaded from a website, and communication media, together with metadata.
  • This metadata is information for binding download contents to the local storage 21 and managing them.
  • the instruction ROM 22 stores software for defining the control of the playback device.
  • the user event processing unit 23 outputs a user event for performing the operation to the CPU 25 in response to a key operation on the remote control or the front panel of the playback device.
  • the PSR (Player Status Register) set 24 is a register built in the playback device, and is composed of 64 PSRs and 4096 GPRs (General Purpose Registers). Of the Player Status Register setting values (PSR), PSR4 to PSR8 are used to represent the current playback point.
  • PSR4 is set to a value of 1 to 100 to indicate the title to which the current playback point belongs, and is set to 0 to indicate that the current playback point is the top menu.
  • PSR5 indicates a chapter number to which the current playback point belongs by being set to a value from 1 to 999, and indicates that the chapter number is invalid in the playback device by being set to OxFFFF .
  • PSR6 is set to a value between 0 and 999 to indicate the number of the playlist (powerful PL) to which the current playback point belongs.
  • PSR7 is set to a value of 0 to 255, and indicates the number of Playltem (current Play Item) to which the current playback time point belongs.
  • PSR8 is set to a value between 0 and OxFFFFFF, indicating the current playback time point (current PTM (Presentation TiMe) using 45 KHz time accuracy.
  • the CPU 25 has a function of executing the software stored in the instruction ROM 22 and executing control of the entire playback device. The contents of this control change dynamically according to the user event output from the user event processing unit 23 and the set value of each PSR in the PSR set 24.
  • the scenario memory 26 is a memory having a function of storing current PL information and current Clip information.
  • Current PL information refers to information currently being processed among multiple playlist information recorded on the BD-ROM.
  • Current clip information refers to the information that is currently being processed among multiple clip information recorded on the BD-ROM.
  • the local memory 27 is a cache memory for temporarily storing the recorded content of the BD-ROM because reading from the BD-ROM is slow. Due to the presence of such local memory 27, application execution in BD-J mode can be made more efficient. It becomes.
  • the above is the hardware configuration of the playback apparatus according to the present embodiment.
  • Fig. 3 is a diagram in which a part composed of software and hardware stored in the ROM 24 is replaced with a layer configuration.
  • the layer configuration of the playback device is as follows: a), b), c). That means
  • the hardware configuration of the playback device shown in FIG. 3 belongs to the first layer.
  • the second hierarchy "BD Player Model” is composed of the following layers bl) and b2). That means
  • the third hierarchy "Application Runtime Environment” consists of the following cl) and c2). In other words,
  • Virtual File System 30 is a download content stored in local storage 21. Is a virtual file system that can be used as an integral part of the BD-ROM disc content.
  • the download content stored in the local storage 21 includes SubClip, Clip information, and playlist information.
  • the playlist information in this download content is different from the playlist information on the BD-ROM in that it can be specified regardless of whether it is Clip information existing in the BD-ROM or the local storage 21.
  • the playlist information on the Virtual File System 30 does not need to specify the full path of the file on the BD-ROM or Locatorless Storage 21! /. This is because the file system on the BD-ROM and the file system on the local storage 21 are recognized as one virtual file system (Virtual File System 30).
  • Clip_Information_file_name in Playltem information can specify AVClip on Virtual File System 30 and BD-ROM by specifying a 5-digit numerical value in the file body of the file storing Clip information.
  • the BD-ROM includes the combination of the local storage 21 + BD-ROM.
  • the virtual recording medium is also included.
  • the Presentation Engine 31 executes an AV playback function.
  • the AV playback function of the playback device is a group of traditional functions that follow the power of DVD players and CD players. Playback start (Play), playback stop (Stop), pause (Pause On), and release of pause (Pause) (Oil), Still function release (still off), Fast forward with specified speed (Forward Play (speed)), Rewind with specified speed (Backward Play (speed)), Audio change (Audio Change), Sub video change ( Functions such as Subtitle Change and Angle Change.
  • the presentation engine 31 should realize the AV playback function.
  • the Video Engine 4, the P-Graphics Decoder 13, and the I-Graphics Decoder 10 are used to decode the portion of the AVClip read out on the read buffer 2 at the desired time.
  • the audio decoder 6 is controlled. By decoding the portion indicated by PSR8 (current PTM) as the desired time, it is possible to reproduce any time point in the AVClip.
  • a playback control engine (Playback Control Engine (PCE)) 32 executes various functions such as a playback control function (0, state acquisition Z setting function GO in PSR set 23) for a playlist.
  • the control function refers to causing the playback start / stop of the AV playback function performed by Presentation Engine 31 to be performed according to the current PL information and Clip information (0 and G0 are HDMV modules 33 to 33). Executes in response to a function call from BD-J platform 35.
  • the module manager 34 holds Index.bdmv read from the BD-ROM and performs branching control. This branch control is performed by issuing a Terminate event to the dynamic scenario that constitutes the current title and an Activate event to the dynamic scenario that constitutes the branch destination title.
  • the BD-J platform 35 is a so-called Java (registered trademark) platform, and is configured with a Java (registered trademark) virtual machine 36 as a core.
  • the BD-J platform 35 includes the above-mentioned Java (registered trademark) 2Micro—Edition (J2ME) Personal Basis Profile (PBP 1.0) and Globally Executable MHP specification (GEM [1.0.2]) for package media targets.
  • J Extension is implemented.
  • BD-J Extension includes various packages specialized to give BD-J platform functionality beyond GEM [1.0.2].
  • Java (registered trademark) virtual machine 36 which is the core of the BD-J platform 35 will be described.
  • FIG. 4 is a diagram showing an internal configuration of the Java (registered trademark) virtual machine 36.
  • the Java (registered trademark) virtual machine 36 includes the CPU 24, user class loader 52, method area 53, work memory 54, threads 55a, b ' Trademark) Stack 56 a, b- ⁇ ⁇ .
  • the user class loader 52 reads out the class file in the Java (registered trademark) archive file in the BDJA directory, and also stores it in the method area 53 with the local memory 26 isotropic. When reading a class file by this user class loader 52, specify the file path. The application manager 37 instructs the user class loader 52 to read the data. If the file path indicates the local memory 26, the user class loader 52 reads the class file in the Java (registered trademark) archive file constituting the application from the local memory 26 to the work memory 54. If the file path indicates a directory on the Virtual File System 30, the user class loader 52 transfers the class file in the Java (registered trademark) archive file that constitutes the application from the BD-ROM or the local storage 20 to the work memory 54. read out. Application startup control is realized by class file reading by the user class loader 52. If the class file to be read is not in the local memory 26, the user class loader 52 notifies the application manager 37 of the read failure.
  • the method area 53 stores the class file read from the local memory 27 by the user class loader 52.
  • the work memory 54 is a so-called heap area in which various class file instances are stored.
  • the application manager 37 shown in FIG. 3 is a resident application that resides in the work memory 54.
  • an instance corresponding to the class file read out in the method area 53 is stored.
  • This instance is the xlet program that makes up the application. By placing a powerful xlet program in work memory 54, the application is ready to run.
  • the application manager 37 on the work memory 54 is drawn on the Java (registered trademark) virtual machine 36, but this is intended to be easy to use. Not too much.
  • the application manager 37 and the application are executed by the threads 55a, b '.
  • Thread 55a, b ' ⁇ ⁇ is a logical execution subject that executes a method stored in work memory 54, and performs an operation using local variables or arguments stored in the operand stack as operands. Are stored in a local variable or operand stack.
  • the arrows kyl, ky2, and kyn in the figure symbolically indicate the method supply from the work memory 54 to the threads 55a, b ′ ⁇ ⁇ .
  • the physical execution power is only one CPU, the logical execution owner
  • a maximum of 64 threads can exist in the Java virtual machine 36. Within this number of 64, it is possible to create a new thread or delete an existing thread. The number of thread operations is the same as that during the operation of the Java virtual machine 36. May increase or decrease.
  • the correspondence between CPU 24 and threads is a one-to-many relationship. If there are multiple CPUs, the correspondence between CPUs and threads can be a many-to-many relationship.
  • Method execution by the threads 55a, b ′ ⁇ ⁇ is performed by converting the byte code forming the method into the native code of the CPU 24 and issuing it to the CPU 24.
  • Java (registered trademark) stack 56a, b ' ⁇ ⁇ exists in a ratio of 1: 1 to threads 55a, b' ⁇ ⁇ , and a program counter (PC in the figure) and one It has the above frame inside.
  • the “program counter” indicates what part of the instance is currently being executed.
  • a “frame” is a stack expression area allocated for a single call to a method.
  • the “operand stack” that stores the arguments for that single call and the “local” used by the called method.
  • Variable stack local variables in the figure) ". Since a frame is stacked on the Java (registered trademark) stack 56a, b ' ⁇ ⁇ each time a call is made, even if a method calls itself recursively, this frame will be Will be raised.
  • the application manager 37 is system software that operates on the work memory in the Java (registered trademark) virtual machine 36. Whenever a title branch occurs, it is not executed in the title before the branch. Instructs the Java virtual machine 36 to start an application having the AutoRun start attribute. At the same time, the application that was executed in the title before branching but does not use the new title as the life cycle is terminated. These start control and end control are performed with reference to the application management table in the current BD-J Object. ⁇ BD-ROM configuration>
  • the BD-ROM 110 has a BDMV directory under the Root directory.
  • BDMV directory In the BDMV directory, there are files (index.bdmv, MovieObject.bdmv) with the extension bdmv. Under the BDMV directory, there are also six subdirectories called PLAYLIST directory, CLIPINF directory, STREAM directory, BDBJ directory, BDJA directory, and AUXDATA directory.
  • the CLIPINF directory contains files with the extension clpi (00001.clpi, 00002.clpi, 00003.clpi).
  • the STREAM directory contains files (00001.m2ts, 00002.m2 ts, 00003.m2ts) with the extension m2ts.
  • FIG. 6 is a diagram schematically showing how the file with the extension .m2ts is structured
  • AVClip is stored.
  • AVClip is an MPEG2-Transport Stream format digital stream.
  • This digital stream is a film video, NTSC (National Television Sta ndards Committee) Digitize video, digital video obtained by digitizing PAL (Phase Alternation by Line) processing, LPCM (Linear Pulse Code Modulation) sound source, AC-3 sound source, DTS (Digital Surround) sound source
  • PAL Phase Alternation by Line
  • LPCM Linear Pulse Code Modulation
  • AC-3 sound source AC-3 sound source
  • DTS Digital Surround
  • the digital audio obtained from the above is converted into an elementary stream consisting of PES packets (upper second stage), and further converted into TS packets (upper third stage), and the same caption
  • the presentation graphics stream (Presentatiion Graphics (PG) stream) and the interactive interactive graphics stream (Interactive Graphics (IG) stream) are converted to the PES packet sequence (bottom 2). Furthermore, it is composed by converting to TS packets (lower 3rd stage
  • the PG stream is an elementary list that realizes subtitle display as the playback of a moving image progresses
  • the IG stream is an elementary list that realizes a GUI as the playback of a moving image progresses. Since these IG stream and PG stream are not the main point of the present invention, description thereof will be omitted.
  • a playback unit (picture, etc.) played in one PTS in a video stream is called a “Video Presentation Unit”.
  • One of the audio streams, the playback unit played in one PTS, is Audio Presentation Unit '.
  • the PES packets constituting the AVClip constitute one or more "STC_Sequence".
  • STC_Sequence is an array of PES packets, and there is no system clock (Dase discontinuity) in the system clock (STC no. Since it is a requirement of STC_Sequence that there is no STC discontinuity point, it is a PES packet located immediately after the STC discontinuity in the PES packet sequence that constitutes one STC_Sequence, and PCR ( One STC_Sequence extends from the one containing the Program Clock Reference) to just before the next STC discontinuity point.
  • FIG. 7 shows the internal structure of Clip information. As shown on the left side of this figure, Clip information is “ClipInfo ()”, which stores information about OAVClip,
  • Sequence Info is information on one or more STC-sequences and ATC-sequences included in the AVClip. The significance of providing such information is to notify the playback device in advance of STC and ATC discontinuities. In other words, if such discontinuities exist, PTS and PCR with the same value may appear in the AV Clip, causing inconvenience during playback. Sequence Info is provided to indicate where the STC and ATC are continuous from where in the transport stream.
  • Program Info is information indicating a section (Program Sequence) in which Program content is constant.
  • a program is a collection of elementary streams that share the time axis for synchronized playback.
  • the significance of providing Program Sequence information is to notify the playback device in advance of changes in Program content.
  • the change point of the program content here means that the PID of the video stream has changed, or that the type of video stream has changed from DTV (Standard Definition Television) to HDTV (High-Definition Television).
  • Leader line cu2 in Fig. 7 is a close-up of the CPI configuration.
  • the CPI consists of Ne EP_maps—for—one—stream—PID (EP—map—for—one—stream—PID (0) to EP—map—for—one—stream— PID (Ne -1)).
  • EP_map_for_one_stream_PIDs are EP_maps for individual elementary streams belonging to the AVClip.
  • EP_map is information indicating the packet number (SPN_EP_start) at the entry position where the Access Unit Delimiter exists on one elementary stream in association with the entry time (PTS_EP_start).
  • Lead line cu 3 in the figure closes up the internal structure of EP_map_for_one_stream_PID.
  • the EP—map—for—one—stream—PID is Nc EP—High (EP—High (0) ⁇ EP—High (Nc-1)) and Nf EP ⁇ ow ( EP ⁇ ow (0) to EP ⁇ ow (Nf-l >> are included, where EP_ High has a role to represent the upper bits of SPN_EP_start and PTS_EP_sart of Access Unit (Non-IDR I picture, IDR picture), and EP ⁇ ow is SPN_EP_start and PTS_EP_start of Access Unit (Non-IDR I picture, IDR picture) It has a role to indicate the lower bits of.
  • EP_High (i) is the reference value for EP ⁇ ow “ref_to_EP ⁇ ow_id [i]” and the upper bits of PTS of Access Unit (Non-IDR I picture, IDR picture) “PTS_EP_High [i]” indicating “SPN_EP_High [i]” indicating the upper bits of the SPN of the Access Unit (Non-IDR I picture, IDR picture).
  • i is an identifier for identifying any EP_High.
  • leader line cu5 in FIG. 7 closes up the configuration of EP ⁇ ow.
  • EP ⁇ ow is “is_angle—change—point (EP—Low—id)” indicating whether or not the corresponding Access Unit is an IDR picture, and the corresponding Access Unit.
  • EP ⁇ owjd is an identifier for identifying an arbitrary EP ⁇ ow.
  • Fig. 8 shows the EPjnap settings for the movie video stream.
  • the first row shows multiple pictures arranged in the display order (B picture, IDR picture, P picture specified in MPEG4-AVC), and the second stage shows the time axis of the picture.
  • the fourth row shows the TS packet sequence on the BD-ROM, and the third row shows the EPjnap setting.
  • PlayList information is a file storing PlayList (PL) information.
  • the PlayList information is information that defines a playback path called MainPath and playback information corresponding to this as a playlist (PL).
  • FIG. 9 is a diagram showing the data structure of PlayList information.
  • PlayList information includes MainPath information (MainPathO) that defines MainPath, PlayList Mark information (PlayListMarkO) that defines chapters, and Consists of.
  • MainPathO MainPath information
  • PlayListMarkO PlayList Mark information
  • MainPath is a playback path defined on the main AVClip.
  • Subpath is a playback path defined on Sub Clip.
  • the SubClip is an AVClip that does not include a video stream as a moving image.
  • MainPath is a playback path defined for the video stream that is the main video.
  • MainPath is defined from multiple Playltem information # 1 ⁇ '#m as indicated by arrow mpl.
  • Playltem information defines one or more logical playback sections that make up the MainPath.
  • the structure of the Playltem information is highlighted by the lead line hsl.
  • the Playltem information includes “ClipJnformation_file_name” indicating the file name of the playback section information of the AVClip to which the IN point and Out point of the playback section belong, “Clip_codec_identifier” indicating the encoding method of the AVClip, It consists of time information “IN_time” indicating the start point of the playback section, time information “OUT_time” indicating the end point of the playback section, and “STN_table”.
  • FIG. 10 is a diagram showing the relationship between AVClip and PlayList information.
  • the first level shows the time axis of the PlayList information.
  • Levels 2 to 5 show the video streams (same as those shown in Fig. 6) that are referenced in EPjnap.
  • PlayList information includes Playltem information # 1, # 2 and! 2 and other Playltem information, and two playback sections are defined by the In_time and Out_time of these Platform information # 1, # 2. .
  • a time axis different from the AVClip time axis is defined. This is the Playltem time axis shown in the first row. In this way, by defining Playltem information, it becomes possible to define a time axis that is different from AVClip.
  • the STN_table is a table indicating a reproducible element stream among a plurality of elementary streams specified by the PlayItem Clip_Information_file_name and multiplexed in the AVClip. Specifically, STN_table is configured by associating entry for each of a plurality of elementary streams with attribute.
  • FIG. 11 is a diagram showing the internal structure of the STN_table. As shown in this figure, STN_table contains multiple entry-attributes with entries and attributes in ST N_table, and the number of entries—attributes (number—of—video—stream—entnes') number—of—audio—stream—en structure.
  • entry-attribute corresponds to each of a video stream, an audio stream, a PG_textST_stream, and an IG stream that can be played back in the Play Item, as indicated by parentheses " ⁇ " in the figure.
  • FIG. 11 shows the details of entry-attribute.
  • FIG. 12 (a) is a diagram showing entry-attribute combinations corresponding to video streams.
  • the entry in the video stream includes “ref_to_stream_PID_of_mainClip” indicating the PID used to extract the video stream when the AVClip is demultiplexed.
  • the attribute in the video stream includes “stream_coding_type” set to 0x02, “Frame_rate” indicating the display rate of the video stream, and the like.
  • FIG. 12 (b) is a diagram showing entry-attribute combinations corresponding to audio streams.
  • the entry in the audio stream includes “remu_stream_PID_of_mainClip” indicating the PID used to extract the audio stream when the AVClip is demultiplexed.
  • the attribute in the audio stream corresponds to "stream_coding_type” indicating the coding type of the audio stream by setting any of 0x80 (LinearPCM), 0x81 (AC-3), and 0x82 (DTS) Indicates the channel configuration of the audio stream, “audio_presentation_type” indicating whether multi-channel output is possible, and the corresponding audio stream It consists of “audio_language code” indicating the language attribute.
  • multi-channel includes stereo sound as well as 5.1CH surround sound.
  • multi-channel means only 5.1CH surround sound.
  • FIG. 12 (c) is a diagram showing entry-attribute combinations corresponding to PG streams.
  • the entry in the PG stream “re-” indicates the PID used to extract the PG stream when demultiplexing the AVClip.
  • _stream_PID_of_mainClip ” is included.
  • FIG. 12 (d) shows entry-attribute combinations corresponding to the IG stream.
  • the entry in the IG stream includes “remu o_stream_PID_of_mainClip” indicating the PID used for extracting the IG stream when demultiplexing the AVClip.
  • the attribute in the IG stream consists of "stream_coding_type” indicating the IG stream coding by being set to 0x91 and "language code” indicating the language attribute of the corresponding IG stream.
  • Playltem information The above is the description of Playltem information according to the present embodiment. Next, PlayListMark information will be described.
  • FIG. 13 shows the internal structure of PlayListMark information in PlayList information.
  • the PlayListMark information is composed of a plurality of PLMark information (#l to #n).
  • PLmark information (PLmarkO) is information that designates an arbitrary section of the PL time axis as a chapter point.
  • the PLmark information includes “ref_to_PlayItem_Id” indicating the Playltem to be designated as a chapter and “mark_time_stamp” indicating the chapter position in the Playltem in time notation.
  • FIG. 14 is a diagram showing designation of chapter positions by PLMark information in PlayList information.
  • the second to fifth tiers in this figure show the EPjnap and AVClip shown in FIG.
  • the first level in the figure shows PLMark information and the PL time axis.
  • This first tier has two P LMark information # 1 to # 2 exist.
  • Arrow ktl, 2 indicates the specification by ref_to_PlayItem_Id of PLMark information.
  • the ref_to_PlayItem_Id of the PLMark information specifies each of the Playlt em information.
  • Mark_time_Stamp indicates the point in time of Chapter #l, # 2 on the Playltem time axis. In this way, the PLMark information can define chapter points on the time axis of the planet.
  • AVClip The ability to define a synchronization section in which SubClip can be synchronized. This is a feature of playlist information in BD-ROM.
  • the above clip information and playlist information are classified as “static scenarios”. This is because the above clip information and playlist information can define a playlist that is a static playback unit. This completes the explanation of the static scenario.
  • a dynamic scenario is scenario data that dynamically defines playback control of AVClip. “Dynamically” means that the content of playback control is changed by a state change in the playback device or a key event generated by the user!
  • BD-ROM assumes two modes as the operating environment for this playback control. The first is an operating environment that is very similar to the operating environment of a DV D playback device, and is a command-based execution environment. The second is the operating environment of the Java (registered trademark) virtual machine. The first of these two operating environments is called HDMV mode. The second is called BD-J mode. Because there are these two operating environments, the dynamic scenario is described assuming either operating environment. A dynamic scenario assuming HDMV mode is called Movie Object. On the other hand, the dynamic scenario assuming the BD-J mode is called BD-J Object.
  • Movie Object is stored in a file called MovieObject.bdmv shown in FIG. 5 and includes a navigation command string.
  • the navigation command string is composed of command strings that realize conditional branching, setting of the status register in the playback device, acquisition of setting values of the status register, and the like.
  • the commands that can be described in Movie Object are shown below.
  • PlayPL command Format PlayPL (first argument, second argument)
  • the first argument is the playlist number, which can specify the playlist to be played.
  • the second argument can specify the playback start position using the Playltem included in the playlist, any time in the playlist, Chapter, Mark.
  • PlayPLatPlayltem0 A PlayPL function that specifies a playback start position on the PL time axis by Playltem is called PlayPLatPlayltem0
  • the PlayPL function specifying the playback start position on the PL time axis according to Chapter PlayPLatChapter (),
  • PlayPLatSpecifiedTimeO is a PlayPL function that specifies the playback start position on the PL time axis based on time information.
  • the JMP command is a branch that discards the current dynamic scenario and executes the branch destination dynamic scenario as an argument.
  • the description of the navigation command in the Movie Object is very similar to the description method of the navigation command in the DVD, so that the task of porting the disc content on the DVD to the BD-ROM can be performed efficiently. it can.
  • Movie Object there is a prior art described in the following international publications. Please refer to this International Publication for details.
  • BD-J Object is a BD-J mode written in Java (registered trademark) programming environment. It is a dynamic scenario and is stored in the file 00001-00003.bobj.
  • FIG. 15 shows the internal structure of the BD-J Object.
  • An application management table (AMT) and a playlist management table (PLMT) are included.
  • the difference from Movie Object is that commands are not directly described in BD-J Object.
  • the control procedure in the Movie Object is directly described by the navigation command.
  • the control procedure is indirectly defined by describing the specification for the Java (registered trademark) application in the application management table. With such indirect rules, it is possible to efficiently share the control procedure of sharing the control procedure in multiple dynamic scenarios.
  • Java (registered trademark) application in the BD-J mode will be described.
  • BD-J mode assumes that the Java (registered trademark) platform is Java (registered trademark) 2 Micro— Edition (J2ME) Personal Basis Profile (PBP 1.0) and Globally Executable MHP specification (GEM 1.0. 2) A full implementation of for package media targets.
  • the Java (registered trademark) application in the BD-J mode is controlled by the Application Manager through the xlet interface.
  • the xlet interface has seven states: "loaded”, paused ', active and destroyed.
  • Java (registered trademark) platform described above includes a standard Java (registered trademark) library for displaying JFIF0PEG), PNG, and other image data. For this reason, Java (registered trademark) applications can implement a GUI framework that is different from the GUI implemented by the IG stream in HDMV mode.
  • the GUI framework in Java (registered trademark) application includes the HAVi (Home Audio / Video interoperability) framework specified in GEM1.0.2, and includes the remote control lunapilation mechanism in GEM1.0.2.
  • a Java (registered trademark) application is a button based on the HAVi framework.
  • Screen display, text display, and online display (BBS content) can be combined with the display of moving images, and operations can be performed on this screen display using a remote control. .
  • Java (registered trademark) application is a Java (registered trademark) archive file (000 01.jar, 00002.jar) stored in the BDJA directory under the BDMV directory in FIG.
  • Java (registered trademark) archive files will be described with reference to FIG.
  • Java (registered trademark) archive files (00001.jar, 00002.jar in Fig. 2) are files obtained by combining one or more class files, one or more data files, etc. into one, BD- Configure a Java (registered trademark) application that should run in J mode.
  • Fig. 16 shows the programs and data stored in the archive file.
  • the program and data in this figure are a collection of multiple files with the directory structure shown in the frame, using the java (registered trademark) archiver.
  • the directory structure shown in the frame is Root directory, Java (registered trademark) 1,2,3 directory, Imagel, 2,3 directory, and common.pkg power Java (registered trademark) 1 Java (registered) Trademarks) 2 Java (registered trademark) 3 Class files (00001. class to 00007.class) are stored in the directory, Imagel, Image2, and Image3 directories are 00001.JPEG to 00003.JPEG and 00004.PNG to 0006.PNG It is in place.
  • a java (registered trademark) archive file can be obtained by combining these with a java (registered trademark) keyword.
  • the class files and data that are output are expanded when they are cached from the BD-ROM, and are handled as multiple files placed in a directory on the cache.
  • the five-digit numerical value such as “zzzzz” in the file name of a Java (registered trademark) archive indicates the application ID (applicationlD).
  • this Java (registered trademark) archive file is read into the cache, it is possible to retrieve the program and data that make up any Java (registered trademark) application by referring to the numerical value in this file name. it can.
  • the program and data constituting the application may be a force LZH file or a zip file collected in a Java (registered trademark) archive file. Good.
  • Index.bdmv is a table indicating Movie Object or BD-J Object that constitutes the title.
  • Title it defines which force is a MovieObject that is a component of a certain Title, or which is a BD-J Object that is a component of a certain Title.
  • the application management table (AMT) will be described.
  • the application management table (AMT) is a table that implements “application signaling” in GEM1.0.2 for package media targets described above.
  • “Application signaling” refers to “control for starting and executing an application using a service, as a live section in the MHP (Multimedia Home Platform) defined by GEM1.0.2.
  • Application management table in this embodiment Instead of this “service”, the “title” in the BD-ROM is used as the life cycle, and the activation and execution control of the application is realized.
  • FIG. 17A shows the internal structure of the application management table.
  • the application management table consists of “life—cycle”, “apli—id—ref”, “run—attribute”, and “run_priority”.
  • Figure 17 (b) shows the meaning of the information elements that make up the application management table.
  • “life_cycle” indicates the "life cycle” of the application.
  • “Apli_id_ref” indicates which application has the life cycle shown on the left by describing the reference value for “application identifier”.
  • the application identifier is expressed by a 5-digit numerical value zzzzz given as the file name in the Java (registered trademark) archive file. “Apli_id_ref” describes this 5-digit number.
  • run_attribute describes the "startup attribute" of the application in the life cycle.
  • the activation attribute has types such as AutoRun, Present, and Susped.
  • “Run_pri 0 rity” describes the “launch priority” of the application in the life cycle.
  • BD-J Object uses this information to control application behavior
  • the live range is a range in which the application can live on the work memory of the virtual machine on the time axis of the entire content recorded on the BD-ROM.
  • "Survival" in work memory means that the xlet program power that constitutes the application is read into the work memory in the Java (registered trademark) virtual machine and can be executed by the Java (registered trademark) virtual machine. The state that is.
  • the service start point and end point are where the application service starts and where the application service ends on the time axis. It is important to clearly define “ The ability to define the starting point and ending point of this service is the life span in the application management table.
  • FIG. 18 is a diagram showing state transitions in the disc content.
  • the square frame in this figure is Title.
  • a Title is a playback unit that corresponds to one “state” in a state transition specific to disc content. It is treated as the life cycle of the application.
  • Title includes "FirstPlayTitle” that is played first when BD-ROM is loaded, “Top_menuTitle” that constitutes Top-Menu, and general “Title” other than these.
  • arrows jhl, 2,3,4,5,6,7,8 in the figure symbolically indicate the branching between Titles. The state transition shown in this figure means that during BD-ROM loading, “FirstPlayTitle” is played, branching to “Top_menuTitle” occurs, and selection for the top menu is awaited.
  • branches are made in the numerical order of the reference symbols indicated by arrows jhl, 2,3,4.
  • the continuous time period from when the BD-ROM is loaded until it is ejected can be regarded as one time axis.
  • This time axis is the time axis of the entire disc.
  • FIG. 19A shows the time axis of the entire disk
  • FIG. 19B shows the configuration on this time axis.
  • the time axis of the entire disk also includes the section in which FirstPlay Title is played, the section in which TopMenu Title is played, and the section in which title # l is played.
  • Title is composed of the only BD-J Object power, so the period during which any MovieObject or BD-J Object is valid is displayed. It can be thought of as a title regeneration zone.
  • FIG. 20 (a) is a diagram showing the title playback section specified by the BD-J Object power specified by the identifier bobjjd on the time axis of the entire BD-ROM.
  • the BD-J Object specified by the identifier bobjjd consists of a single Title
  • the BD-J Object specified by the identifier bobjjd is valid.
  • One section on the inter-axis can be considered as the Title playback section.
  • the end of the period in which the BD-J Object is activated is until the Title branch is made.
  • the dynamic scenario that is the target of execution until the Title branch is taken is treated as a powerful BD-J Object, so one section until the JumpTitle occurs in that BD-J Object Treat as interval.
  • a playlist playback procedure can be described as one processing procedure. If there is a description of the playlist playback procedure, all or part of the PL time axis described above belongs to the Title section. Assume that the playlist management table is described in 80 Object in the example of Fig. 20 (&). In this case, the PL time axis belongs to the Title section corresponding to the BD-J Object, as shown in FIG. 20 (b).
  • FIG. 21 is a diagram showing a typical life span defined on the time axis of FIG. 20 (b).
  • the application includes “Title boundary rearition” with Title as the life cycle, “Chapter Boundary Predication” with the chapter within the title as the life cycle, and the time axis of the entire BD-R0M as the life cycle. There are three typical "title unboundary applications”.
  • the lifetime of the title boundary application can be defined using the identifier of the title.
  • the life cycle of a chapter boundary application can be defined using a combination of the identifier of the title to which the chapter belongs and the identifier of the chapter. Even if the platform is running, resources can be recovered from the application after the life cycle of Title and Chapter ends. Since the resource recovery opportunity is guaranteed, the operation of the platform can be stabilized.
  • the disc description that will be implemented in the near future is selected as the subject, and the life cycle description in the application management table is explained with a specific example.
  • the disc content used here is the main title (title # l) that makes up the main video, the online shopping title (title # 2) that makes up online shopping, and the game title (title # 3) that makes up the game application. It includes three titles with different personalities.
  • FIG. 22 is a diagram showing a disc content including three titles, a main title, an online shopping title, and a game title. In the figure, Index.bd mv is described on the right side, and three titles are described on the left side! /.
  • title # l consists of three applications: applications, application # 2, and applicati on # 3.
  • title # 2 includes two applications, application # 3 and application ⁇ , and title # 3 includes applications.
  • ap plication # 3 is activated on both title # l and title # 2.
  • Fig. 23 (a) when the life span of each application is graphed.
  • the horizontal axis is the title playback section, and the live sections of each application are arranged in the vertical axis direction.
  • applications and application ⁇ belong only to title # l, so their life spans remain in title # l. Since applications belong to title # 2 only, these lives remain in title # 2. Since application ⁇ belongs only to title # 3, these life spans remain in title # 3. Since applications belong to title # l and title # 2, their life span spans title # l—title # 2.
  • the startup attribute includes “AutoRun” indicating automatic startup, “Present” indicating that it is not the target of automatic startup, but can be placed in the virtual machine work memory, and the power stored in the virtual machine work memory C There is a “Suspend” that disables PU power allocation.
  • AutoRun is an attribute indicating that the application is read into the work memory and executed simultaneously with the branching of the corresponding title.
  • the management entity application manager
  • the management entity that manages the application is alive at the branch destination title and the application whose startup attribute is set to AutoRun Read into work memory and execute.
  • the application is automatically activated along with the title branch.
  • the start attribute "Present” is a continuation attribute, and indicates that the state of the application at the branch source title is continued. This attribute indicates that the corresponding application should be executed.
  • the activation attribute power S is “Pre Sent ”
  • an application with this activation attribute is permitted to be called from another application.
  • a management entity application manager
  • it is described in the application management table of that application and whether the startup attribute is “Present”. judge. "Present” If so, load the application into work memory.
  • the application ID of the call destination application is described in the application management table !, NA! /, The application is not loaded into the work memory.
  • the call by the application is limited to the application to which this “Present” is given. Since “Present” is a default start attribute that is given when the start attribute is not explicitly specified, if the start attribute of an application is unspecified “one-”, the start attribute of that application The activation attribute means this Present.
  • Suspend means that the application is placed in a state where resources are allocated and CPU power is not allocated. Suspend, which is powerful, is meaningful for realizing a process of passing through a side path during the execution of a game title, for example.
  • FIG. 24 is a diagram showing combinations that can take three modes (Present, AutoRun, Suspend) that the start attribute can take and three modes of application status in the immediately preceding title (non-start, active, Suspend). If the previous state is "not activated”, if the activation attribute is ⁇ 'AutoRun ", the application is activated in the branch destination title.
  • the application state will be suspended.
  • Suspend is maintained if the start attribute of the branch destination title is “Suspend”. If it is "Present” or "AutoRun”, the application will resume in the branch title.
  • startup priority takes a value between 0 and 255, indicating which application is forced to terminate when memory resources are exhausted or when the CPU load is high, and from which application the resource is deprived. ! /, It will be a judgment material when the application manager performs the processing. In this case, the application manager performs a process of ending the operation of the application having a low activation priority and continuing the operation of the application having a high activation priority.
  • the activation priority is also used in mediation between applications when requests for the playlist being played compete. It is assumed that a playlist with a certain application power is fast-forwarded. If another application makes a pause request for the same playlist, the activation priorities assigned to these applications are compared. If the start priority of the application that ordered fast-forwarding is high, fast-forwarding by such an application is continued. Conversely, if the priority of the application that ordered the pause is high, pause the playlist during fast-forwarding.
  • the playlist management table is a table indicating playback control that should be performed simultaneously with the execution of each application in the lifetime of the application.
  • the application behavior is unstable, and there may be a startup failure or abnormal termination. Therefore, as a Fail Safe mechanism in case of startup failure or abnormal termination, a playlist management table is provided for each application life cycle in this embodiment.
  • the playlist management table is information that specifies the playback control that should be performed at the same time as the life cycle of an application starts. This playback control is AVClip playback based on playlist information. By performing playback control based on playlist information at the same time, Application execution and playlist playback are performed simultaneously.
  • the playlist management table is provided for each life cycle of the application.
  • the application with the playlist management table is limited to the title boundary application. This is because the title unboundary application keeps all titles in the life cycle, so the control to play the playlist at the same time as the application execution is not applicable.
  • the chapter boundary application is defined as the life cycle under the assumption that the application execution is started from the chapter in one playlist, so it is not necessary to regulate the playlist playback.
  • a playlist management table is defined as a life cycle that also has one or more titles.
  • FIG. 25A shows the internal structure of the playlist management table. As shown in the figure, the playlist management table includes “PL_id_ref” and “Playback_Attribute”.
  • FIG. 25 (b) shows the meaning content of the information elements that make up the playlist management table.
  • “PL_id_ref” indicates which playlist can be played in the lifetime of the application by describing a “reference value” for the playlist identifier.
  • the playlist identifier is expressed in the file YYYYY.MPLS as a 5-digit number YYYYY given as the file name. By describing this YYYYY, “PL_id_ref” indicates which playlist can be played back in the corresponding Title.
  • Playback_Attribute is an attribute that follows the startup attribute in the application management table, and is a playback attribute that specifies how to play the playlist described in "PL_id_ref" at the start of the title.
  • the playback attributes for playlists include “Au toPlay”, “Present”, and!
  • “AutoPlay” is an attribute indicating that the playlist is played at the same time as the branch of the corresponding title.
  • the management entity application manager
  • the playback attribute is set to AutoPlay. Start playing the list.
  • a playlist whose activation attribute is set to AutoPlay is automatically activated along with the title branch.
  • "Present” is a continuation attribute like Present in the start attribute, and indicates that the playlist state at the branch source title is continued. This attribute indicates that the corresponding playlist can be played. For example, there are two titles that are played back in succession.
  • the playback attribute of a playlist is set to AutoPlay
  • the playlist management table on the current title side the playlist Assume that the playback attribute of is set to Present.
  • the playback time power of the playlist is three hours long, and a branch occurs when one hour has elapsed.
  • the playlist will be played back immediately after the played section of 1 hour in the current title. If the playback attribute is set to Present in this way, even if there is a branch between Titles, playlist playback can be started from the remaining part.
  • playlist playback is interrupted before and after branching. It is permissible.
  • the playback attribute is "Pre Se nt" playlists this playback attribute is assigned, it will be reproduced by a reproduction request from another application.
  • the management entity application manager
  • the management entity that manages the application receives a playlist playback request from the running application, it is described in the PLjd_rel3 ⁇ 4 playlist management table of the playlist that received the request and played back. Determine whether the attribute is “AutoPlay” or “Present”! If “AutoPlay“ Present ”is selected, the playlist is played. On the other hand, if it is not described in the PLjcLrel ⁇ playlist management table of the requested playlist, the playlist is not played back. Play list playback at the request of the application is limited to playlists with “AutoPlay” or “Present”!
  • Pre Se nt is, de applied if you do not explicitly specify a playback attribute Since it is the default playback attribute, if the playback attribute of a certain playlist is unspecified “1”, it means that the playback attribute of that playlist is this Present.
  • FIG. 26 shows a specific example of titles defined by the playlist management table and application management table.
  • the first level in FIG. 26 shows the playback video of the title, and the second level shows the time axis of the title.
  • the third row shows playlists that are specified for playback by PLMT, and the fourth row shows application execution.
  • application # l is activated at the same time as the start of Title, and then enters the operating state at time tl.
  • PlayList # l starts to play with the start of Title.
  • Playback of Playlist # l starts at the same time as the start of the title, so as shown on the left side of the first row, the start-up delay from the start of the playback of the title until the application becomes operational
  • the playlist playback image gjl is displayed in full screen.
  • An execution image of the application is a GUI framework for a game in which a Start button, a continue button, and a POWER indicator are arranged, and the Java (registered trademark) application executes drawing processing of the GUI framework.
  • FIG. 6 is a diagram showing six combinations of play list states (non-playback state, playback state) and force S.
  • Start of playlist playback based on the playlist management table is in the non-playback state at the branch source title, and is limited to the case where the AutoPlay attribute is assigned to the branch destination title. There is no need to start play list every time. Even if there are many branches between titles, the number of times that playlist playback can be started can be reduced to the required minimum.
  • FIG. 28 (b) is a diagram showing how playlist reproduction and application execution proceed according to the application management table and playlist management table described as shown in FIG. 28 (a).
  • title # l the application management table and playlist management table are set as described above, so when title # l starts, application # l and application ⁇ are automatically started and PlayList # l Playback starts automatically.
  • PlayList # 2 and application ⁇ which are described in title # l, are automatically started to be played and executed. If there is a title branch, the playlist to be played can be switched to another playlist, triggered by the branch. In this way, by using the application management table and the playlist management table, it is possible to prescribe the processing to be performed at the authoring stage when switching the playlist playback when triggered by a branch.
  • activation priorities of 200, 128, and 200 are given to applications, application # 2, and application ⁇ , respectively.
  • arbitration can be performed when control requests for PlayList # l and PlayList # 2 compete.
  • applications commands PlayList # l to fast forward.
  • applicati on # 2 makes a pause request.
  • the activation priority for each application is defined in the application management table, arbitration is performed for both applications according to the activation priority.
  • the activation priority in combination with the playlist management table, it is possible to cause the playback device to even perform arbitration when control over the playlist competes.
  • FIG. 29 (a) is a diagram showing another description example of the playlist management table. This figure assumes that there are two consecutive titles (title # l, title # 2)! /, And the playlist management table on the title # l side has PlayList # as an AutoPlay playlist.
  • l Power PlayList # 2 is described as a playable playlist
  • the application management table on title # l describes applications that are AutoPlay applications and application ⁇ as executable applications.
  • P1 ayList # 2 and PlayList # 3 are described as playable playlists in the playlist management table on the title # 2 side, and applications are described as AutoRun applications in the application management table.
  • FIG. 29 (a) is a diagram showing another description example of the playlist management table. This figure assumes that there are two consecutive titles (title # l, title # 2)! /, And the playlist management table on the title # l side has PlayList # as an AutoPlay playlist.
  • l Power PlayList # 2 is described as a playable playlist
  • the application management table on title # l describes
  • 29 (b) is a diagram showing the progress of application execution and playlist playback based on the case of FIG. 29 (a).
  • applications are listed as AutoRun applications. As described, applications are automatically started when title # l starts.
  • application ⁇ 2 is described as an executable application in the application management table of title # 1, so application ⁇ is started by calling ydl of applications force.
  • Application # l, application ⁇ are non-living in the application management table on the title # 2 side, and applications are described as AutoRun applications instead. Therefore, at the border between title # l and title # 2, application # l and application ⁇ are stopped and application ⁇ is automatically started.
  • the playlist management table on the title # l side describes that PlayList # l and PlayList # 2 can be played, and PlayList # l has the AutoPlay attribute. Therefore, PlayList # l is automatically played when title # l starts.
  • PlayList # 2 is playable in addition to PlayList # l, so applications stops playing PlayList # l, and instead PlayList # l A playlist change can be performed by requesting playback of # 2.
  • PlayList # 2 and PlayList # 3 are described as playable playlists. There is no playlist with the AutoPlay attribute. Therefore, even if PlayList # l played automatically at the start of title # l continues until title, playback of PlayList # l will automatically end.
  • PlayList # 2 playback continues after title # 2 starts.
  • PlayList # 2 and PlayList # 3 are described as playable playlists. Therefore, appl ication # 3 that is running on title # 2 can stop playing PlayList # 2 and instead play PlayList # 3 to switch the currently playing playlist. .
  • the playback attribute of the playlist management table is set to "AutoPlay” as described above, even if it takes 5-10 seconds to start the Java (registered trademark) application, While starting up, it will be in a state where something is reflected.
  • step Sl it is first determined whether or not a Title jump has been made.
  • step S7 title switching is executed (step S7), and then whether or not a PLMT exists in the BD-JObject corresponding to the current title is checked (step S8).
  • step S8 If PLMT exists (YES in step S8), it was not described in PLMT in the previous title, but it is described in PLMT in the current title, and the play with the Auto Play attribute is given. Start playing the list. If PLMT does not exist (step S8 NO), play the playlist that has Auto Play attribute that is not listed in PL MT in the current title. Stop.
  • step S11 it is determined whether or not there is an application management table corresponding to the current title.
  • step S11 If there is an application management table (YES in step S11), the Auto Run attribute of the Java (registered trademark) application with the previous title as the life span and the current title as the life span Start the application that has been granted. If the application management table is weak (NO in step S11), the application that has the previous title as the life span but does not have the current title as the life span is terminated.
  • step S 14 it is determined whether or not the application has been successfully started. A If the pre-start is successful (YES in step S14), the Auto Play attribute is assigned to the video plane 5 and video plane control unit 17! Execute the instructions. In response to the instruction, the still plane control unit 17 outputs still data from the still plane 16 (step S15). The television 130 displays an image in which still data of the Still plane 16 is also synthesized. If the application fails to start (NO in step S14), the process proceeds to step S23 and the subsequent processing is executed.
  • step SI If Title Jump does not occur (NO in step SI), it is detected whether or not the main application ends and is V (step S2).
  • step S2 If the main application has been terminated (YES in step S2), it is determined whether or not the application has successfully terminated (step S5). If completed normally (YES in step S5), return to step S1 and execute the subsequent processing.
  • step S21 If the main application has terminated abnormally (NO in step S5), it is checked whether Au to Play PL was being played (step S21). If playback is in progress (YES in step S21), the CPU 25 outputs the data of the video plane 5 in full screen size so that the playback image of Auto Play PL is full screen. Further, the same instruction is issued to the Still plane control unit 17, and upon receiving the instruction, the Still plane control unit 17 suppresses the output of the still data stored in the Still plane 16 (step S22). The television 130 displays a composite image in which still data is not combined.
  • the restart counter is a control variable for specifying the number of restarts of the application. If the restart counter is 0 (YES in step S23), the process returns to step SI and the subsequent processing is executed. If the restart counter is not 0 (NO in step S23), the restart counter is decremented and the process proceeds to step S12 to execute the subsequent processing. Application startup is guaranteed by following the steps S23 and S24. The restart counter is reset at the start of this flowchart.
  • step S3 it is determined whether or not playback of the playlist with the Auto Play attribute has been completed. If playback of the playlist with the Auto Play attribute has been completed (YES in step S3), the process returns to step S1 and the subsequent processing is executed. If playback of a playlist with the Auto Play attribute is not finished (step S3 NO), it is detected whether the BD-ROM is present in the BD driver 1 (step S4).
  • step S4 If the BD-ROM still exists in the BD driver 1 (YES in step S4), the process returns to step S1 to execute the subsequent processing. If BD-ROM does not exist in BD driver 1 (NO in step S4), execute the termination instruction for all applications (step S6), and terminate the process.
  • BD-ROM 110 is installed in playback device 100. This is the operation until the force is taken out. As described herein, whether to output data from the still plane 16 is determined depending on whether the reproduced image is a full screen or a quota. In the case of full screen, synthesis of the still plane 16 data is not necessary and is not output. By doing so, the memory bus bandwidth used for reading the Stil 1 plane 16 can be increased.
  • a BD application introduces a programming environment such as Java (registered trademark) in order to realize richer interactivity.
  • Java registered trademark
  • the PG plane control unit 28 is additionally recorded.
  • the function of the PG plane control unit 28 will be described.
  • the other parts are the same as those shown in the first embodiment.
  • the PG plane control unit 28 has a function of controlling the output of data from the PG plane 14. Specifically, the CPU 25 receives a scaling instruction for video plane 5 When the scaling instruction is full scaling, which is a display instruction for the entire television 130, the data from the PG plane 14 is output. When the scaling instruction is quarter scaling, which is 1/4 of full scaling, data reading from the PG plane 14 is suppressed.
  • FIG. 32 is a flowchart showing that output control of data from the PG plane 14 and the Still plane 16 is performed based on an application request in the second embodiment.
  • step S101 the application requests video scaling
  • the CPU 25 instructs the video processor (not shown) to perform video scaling
  • step S101 the video processor succeeds in video scaling. Is notified to the CPU 25 (step S102). If the video scaling is successful (YES in step S102), it is determined whether or not the scaling instruction power is a full scaling instruction that is a display instruction on the entire display screen of the television 130 (step S103).
  • step S103 If the instruction is a full scaling instruction (YES in step S103), the CPU 25 instructs the still plane control unit 17 to suppress the output of data from the still plane 16 (step S104). ). In addition, the CPU 25 instructs the PG plane control unit 28 to execute output of data of 14 PG planes (step S106), and the process ends.
  • step S103 If the instruction is not a full scaling instruction (NO in step S103), that is, if the video scaling instruction is quarter scaling that is 1/4 of the full scaling, the CPU 25 controls the Still plane control unit. 17 is instructed to execute data output from Still plane 16 (step S 105). Further, the CPU 25 instructs the PG plane control unit 28 to suppress the output of data from the PG plane 14 (step S107), and ends.
  • the application successfully scales video to full screen as described above In this case, reading of data from the Still plane 16 can be suppressed and reading of data from the PG plane 14 can be executed. If the application successfully scales video to 1/4 size of the full screen, it can read data from the Still plane 16 and suppress data reading from the PG plane 14.
  • the output control of the Still plane 16 is performed, and when the output of the data of the Still plane 16 is not necessary, it is shown that the memory bus bandwidth can be increased accordingly.
  • data output from the Still plane 16 suppresses data output from the Still plane 16 when the video scaling is full scale, and when the video scaling is a quota size.
  • Data output from Still plane 16 is executed.
  • the execution of output control based on video scaling for the PG plane 14 has been described in the second embodiment.
  • the PG plane 14 outputs data when the video scaling is full scale, contrary to the still plane 16, and outputs data when the video scaling is the quota size. Suppress.
  • the output of data from the PG plane 14 and the Still plane 16 is exclusive, but when one executes the output, the other does not execute the output.
  • the PG plane 16 and the still plane 16 share the memory area used.
  • the video from the application When the instruction regarding scaling is full scale, the memory area is used as a memory area for the PG plane 14. If the instruction regarding video scaling is the quota size, the memory area is used as the Still plane 16. Specifically, the PG plane 14 and the Still plane 16 share the same address area in the memory.
  • a memory area of one plane can be substantially opened, and the memory area can be used for other purposes. For example, if J PEG data that should be displayed on the Still plane 16 is stored in a compressed state, and data output from the Still plane 16 is required, compress it and decompress the JPEG data. It may be configured to write to the Still plane.
  • the memory area to be accessed is substantially the same as that of one plane, and it can be said that the memory bus bandwidth is also freed.
  • the playback device has been described as a BD-ROM playback device. This is not limited to a BD-ROM playback device, and may be a DVD player or the like.
  • the Still plane control unit 17 determines whether to read still data from the Still plane based on whether the scale of the video plane is changed. Judgment may be made based on whether there is data to be combined in the PG plane for storing caption data.
  • Subtitle data is basically stored in BD-ROM110 with the font size for full screen display, and characters may be crushed when the scale is changed and reduced.
  • a PG plane is synthesized, a full screen display is always performed. Therefore, the still plane control unit 17 performs a full script when there is a PG plane. In this case, do not read the still data from the Still plane!
  • the Still plane instead of reading the Still plane, it can be used for writing image data for moving images to the video plane, or for writing GUI images to the IG plane.
  • the playback device can speed up the writing and reading cycles, and the display delay of the image on the television can be minimized.
  • the video stream is an AVClip of the BD-ROM standard, but is a VOB (VideoOBject) of the DVD-Video standard or the DVD-Video Recording standard. Also good.
  • VOB is an ISO / IEC13818-1 standard compliant program stream obtained by multiplexing video and audio streams.
  • the video stream in AVClip may be MPEG4 or WMV format.
  • the audio stream may be in the Li near-PCM format, the Dolby-AC3 format, the MP3 format, the MPEG-AAC format, or the dts format.
  • the still plane is not synthesized only when the video plane is full screen! This is because both the still plane and the video plane are usually prepared in full screen size. Because. However, even if the video plane and still plane are not full-screen size, if the video plane data covers and hides all of the still plane data, do not combine the still plane! Also good.
  • the data of the still plane 16 is changed depending on whether the video plane, that is, the moving image is scaled to full scale or quota. Force that controls output Output control of data from the Still plane 16 may be performed not during video scaling.
  • the application is provided with a function of suppressing or executing data output to the Still plane control unit 17. By doing this, it is possible to execute output control of 16 still plane data as well as during video scaling.
  • the force BD-ROM that performs the output control of the data of the Still plane 16 based on the instruction of the application is provided with a flag related to the output control of the still data, Do output control based on the flag.
  • the present invention executes the processing procedure shown in the method, which may be the method shown in the still plane synthesis data synthesis control shown in the above embodiment, on the computer of the playback device. It may be a computer program.
  • the computer program may be recorded on a flexible disk, hard disk, CD (Compact Disc), MO (Magneto Optical disc), DVD, BD, semiconductor memory, or the like.
  • playback device 100 is realized by a system LSI.
  • each function of playback device 100 may be realized by a plurality of LSIs.
  • the playback device according to the present invention can be used as a playback device with no display delay in the playback device while executing the application by reading out the data from the BD-ROM power.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

 記録媒体に記録されているアプリケーションを実行しながら、当該記録媒体に記録されている動画を再生する再生装置において、アプリケーションに関連する画像と動画像を合成する際のメモリバスの利用効率を高めることを目的とする。アプリケーションによって使用される動画やメニューなどのGUIのグラフィックの背景に用いる背景画像を合成するかどうかを動画像が背景画像全体を覆うかどうかの判断によって決定する。動画像が背景画像を覆う場合に背景画像を合成する必要がなくなるので、背景画像を読み出すために用いるメモリバスを、記録媒体から読み出された動画データをメモリへに書き込む事などに用いることができ、メモリバスバンド幅を有効活用できる。

Description

明 細 書
再生装置、画像合成方法、画像合成プログラム及び集積回路
技術分野
[0001] 本発明は、動画を再生しながらアプリケーションを実行する再生装置に関し、画像 を合成する際におけるメモリバスの活用方法に関する発明である。
背景技術
[0002] 近年 DVD (Digital Versatile Disc)プレーヤ、 BD (Blu- ray Disc)プレーヤなどの映 像再生装置が開発されている。これらのプレーヤでは、 DVD、 BDなどの記録媒体か ら動画ストリームデータを読み出して動画を再生することができる。このとき動画を再 生しながら、記録媒体に記録されているアプリケーションを実行することもあり、動画と は別にアプリケーションに関連する画像も表示することがある。例えば、動画の横位 置に動画に係るメニュー GUI (Graphical User Interface)などの表示、あるいは字幕 の表示などがこれにあたる。
[0003] このとき、プレーヤは動画と、アプリケーションにより表示制御される画像とを合成し て表示すべき画像データを生成してディスプレイに表示させて ヽる。この合成される 基となるデータは逐次、記録媒体から読み出され、ー且プレーヤのメモリのそれぞれ 対応する領域に書き込まれる。そしてプレーヤは、そのメモリから画像データを読み 出し、合成して出力するということを行っている。ここで、プレーヤのメモリのそれぞれ に対応する領域とは、メモリにおいて、動画の画像データを格納するビデオプレーン 、動画と共に表示する GUIメニューの画像データを格納する IG (Interactive Graphics )プレーンなどのことである。プレーヤは画像を合成する際には各プレーンにアクセス する必要がある。
[0004] プレーヤにおいては合成画像を生成する際に高速で各プレーンにアクセスする必 要があり、遅延することなく動画を再生するためには当該アクセスにおけるメモリバス の有効活用は重要な課題となる。
メモリへの書き込みに係る技術が特許文献 1に記載されており、この技術によれば、 ある GUIオブジェクトにお 、て再描画が発生した場合に、修復する必要がある領域を 決定するチェック手段、及び、再描画する必要があるオブジェクトを決定する生成手 段とによって、メモリへの不必要な書き込みを抑制するので、書き込みが抑制された 分だけメモリバスバンド幅を有効に活用することができる。
特許文献 1:日本国特許公開 2004— 102343号公報
発明の開示
発明が解決しょうとする課題
[0005] ところで上述したようにプレーヤはプレーンへの書き込みと読み出しを行って 、るが 、メモリへの書き込みと読み出しに用いるメモリバスは、コストや設置スペースの問題 から共有化されている。例えば HD画質(1920 X 1080ピクセル)の画像を表示しょう とする場合において、動画像の書き込みにおいて用いるメモリバスバンド幅は、 2B/ ピクセノレ、 30ft)sとすると約 120MB/sec (1920 X 1080 X 2 X 30)、読み出しの場合 にも同様に約 120MB/secの性能を要求されることになる。また、背景画像の書き込 みや読み出しについては夫々約 120MB/sec、 GUIなどのメニューなどのグラフィック スの書き込みや読み出しについては、 4B/ピクセル、 30ftsとすると夫々約 240MB/se c (1920 X 1080 X 4 X 30)のメモリバスバンド幅を要求される。また、字幕がある場合 には、このデータもメモリに書き込んで読み出す必要があり、やはり夫々約 120MB/S ecのメモリバス幅を要求される。動画再生時には、読み出しと書き込みが平行して行 われるので、これらのプレーンの画像データを合成するために 2GB/sec近くの帯域が 必要となってくる。これからも画質の高品質ィ匕によって更なるメモリバスバンド幅が必 要となることが見込まれている力 同時にこれはプレーヤの低価格ィ匕を妨げる一要因 にもなつている。
[0006] そこで本発明においては、画像データの読み出しに用いられるメモリバスバンド幅 の有効活用を図るために資することができる新たな再生装置を提供することを目的と する。
課題を解決するための手段
[0007] 上記課題を解決するため、本発明に係る再生装置は、動画像を格納するためのビ デォプレーンと、 GUIとして表示する画像である GUI画像を格納するためのイメージ プレーンと、背景画像を格納するためのスチルプレーンとのメモリ領域を有する記憶 手段と、前記ビデオプレーンに動画像を格納する動画像格納手段と、前記イメージ プレーンに前記 GUI画像を格納するイメージ格納手段と、前記スチルプレーンに前 記背景画像を格納する背景画像格納手段と、前記動画像が前記背景画像を遮蔽で きる所定のサイズである場合に、前記背景画像を読み出さず、前記動画像と前記 G UI画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動 画像が前記所定のサイズでな!ヽ場合に、前記動画像と前記 GUI画像と前記背景画 像とを読み出し、重畳して合成した合成画像を表す画像信号を出力する合成出力手 段とを備えることを特徴として 、る。
発明の効果
[0008] 上記の構成を備えた再生装置は、背景画像を必要としないとき、即ち、動画像が背 景画像を覆ってしまうときには背景画像を合成する必要がないためメモリから読み出 す必要がなくなるので、そのときには背景画像のデータは読み出さないようにする。 動画像が背景画像を覆う所定のサイズ例えばフルスクリーンサイズで表示されるとき には、背景画像を読み出さないようにすることで再生装置の負担は軽くなり、また読 み出しに用いるメモリバスバンド幅があくことになる。
[0009] こうして、必要のない背景画像の読み出しを制限することで、背景画像の読み出し に用いていたメモリバスを他の目的、例えば GUI画像のメモリへの書き込みなどに用 いることができるので、メモリバスバンド幅を有効活用でき、ディスプレイへの表示の 遅延と 、つた問題も軽減できるようになる。
通常、合成するプレーンは同サイズのプレーンを重畳して合成する力 動画像は元 のフルスクリーンサイズからサイズを変更して表示する場合、即ち背景画像を覆 、隠 さない場合もあり、このときには背景画像は必要になるので合成する。
[0010] 上述したような HD画質の場合において、再生装置が背景画像の読み出しに用い る 120MB/sec分のメモリバスバンド幅を、例えば動画の書き込みに用いれば動画の 書き込みの速度が倍になると言え、読み出し時に動画のデータが書き込まれておら ず読出しができな力つたために動画の再生が遅延するといつた事態を防げる。 また、前記所定のサイズとは前記動画像が表示画面にお!、てフルスクリーンで表示 されるサイズのことであり、前記再生装置は更に、前記動画像に係るアプリケーション を実行する仮想マシン部を備え、前記合成出力手段は、前記アプリケーションの前 記ビデオプレーンに対する縮小指示を受けて、前記背景画像を合成し、縮小指示が な 、場合には、前記背景画像を合成しな 、こととしてよ 、。
[0011] ここでフルスクリーンとは、再生装置に接続されている外部機器のテレビなどに代表 される表示装置、若しくは内蔵されているモニターなどにおいて、その表示画面全体 を覆うサイズのことである。
再生装置は、実行しているアプリケーションの指示に基づき動画像のサイズ変更を 行っており、当該変更指示は通常ビデオプレーンに対してのみなされる力 この指示 を受けて合成出力手段は、スチルプレーンからのデータの読み出しを実行するかどう かを判断する。この構成を備えることでスチルプレーンからのデータの出力の必要性 の判断を容易に行うことができる。
[0012] また、前記スチルプレーンは、更に、前記動画像とは異なる時間に応じて切り替わ る画像を格納するためのものであって、前記再生装置は更に、前記スチルプレーン に前記時間に応じて切り替わる画像を格納する画像格納手段を備え、前記合成出 力手段は、前記動画像が表示画面にぉ 、てフルスクリーンで表示されるサイズであ る場合に、前記ビデオプレーンに格納された動画像と前記イメージプレーンに格納さ れた GUI画像と前記スチルプレーンに格納された時間に応じて切り替わる画像とを 読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像がフル スクリーンで表示されるサイズでな ヽ場合に、前記ビデオプレーンに格納された動画 像と前記イメージプレーンに格納された GUI画像と前記スチルプレーンに格納され た背景画像とを読み出し、重畳し合成した合成画像を表す画像信号を出力すること としてよい。
[0013] ここで、時間に応じて切り替わる画像とは、動画像格納手段で格納する動画とは異 なる画像であって、かつ時間に応じて表示内容が異なるものであり、例えば字幕を表 示するための画像などのことをいう。
これにより、記憶手段において、従来通常スチルプレーンと字幕を格納するための 字幕プレーンとに別々に用意されたメモリ領域が共用されることによってプレーン一 つ分のメモリ領域が空くことになり、空いたメモリ領域は他のデータの記憶に割り当て ることができるようになるので、メモリを有効に活用できる。また、従来のようにスチルプ レーンと字幕プレーンがある場合に比べてプレーン一つ分減少しており、当然にプレ ーン一つ減少した分だけアクセスするメモリバスバンド幅も少なくてすむ。
[0014] また、前記合成出力手段及び前記各格納手段は、前記記憶手段に接続されてい るメモリバスを共有しており、前記イメージ格納手段は、前記合成出力手段がスチル プレーンの読み出しを行わないと判断した場合に、スチルプレーンの読み出しに割り 当てられている前記メモリバスの帯域又は時間を、イメージプレーンへの書き込みに 用いることとしてよい。
[0015] これにより、再生装置は、背景画像の読み出しにあてられていたメモリバスバンド幅 をイメージプレーンへの書き込みに用い、有効にメモリバスバンド幅を利用できると言 える。イメージプレーンへの書き込みに関しては、 GUI画像は動画像や背景画像と 比して高品質であるため、その書き込みに要する時間が長くなつたり、メモリバスバン ド幅が広くなつたりする力 スチルプレーンからのデータの読み出しに用いる予定で あったメモリバスをイメージプレーンへの書き込みに用いることで高速ィ匕することがで きる。
[0016] また、動画像を格納するためのビデオプレーンと、 GUIとして表示する画像である G UI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプ レーンとのメモリ領域を有する記憶手段を備える再生装置における、画像を合成する 画像合成方法であって、前記ビデオプレーンに動画像を格納する動画像格納ステツ プと、前記イメージプレーンに前記 GUI画像を格納するイメージ格納ステップと、前 記スチルプレーンに前記背景画像を格納する背景画像格納ステップと、前記動画像 が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記背景画像を読 み出さず、前記動画像と前記 GUI画像とを読み出し、重畳して合成した合成画像を 表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画 像と前記 GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す 画像信号を出力する合成出力ステップとを含むこととしてよい。
[0017] この方法を実行することで、再生装置は、必要でない場合にスチルプレーン力 の データの読み出しを行わないのでメモリバスバンド幅をその分だけ開けることができる また、動画像を格納するためのビデオプレーンと、 GUIとして表示する画像である G UI画像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプ レーンとのメモリ領域を有する記憶手段を備える再生装置のコンピュータに画像を合 成させるための処理手順を示した画像合成プログラムであって、前記ビデオプレーン に動画像を格納する動画像格納ステップと、前記イメージプレーンに前記 GUI画像 を格納するイメージ格納ステップと、前記スチルプレーンに前記背景画像を格納する 背景画像格納ステップと、前記動画像が前記背景画像を完全に遮蔽できる所定のサ ィズである場合に、前記背景画像を読み出さず、前記動画像と前記 GUI画像とを読 み出し、重畳して合成した合成画像を表す画像信号を出力し、前記動画像が前記所 定のサイズでな 1ヽ場合に、前記動画像と前記 GUI画像と前記背景画像とを読み出し 、重畳して合成した合成画像を表す画像信号を出力する合成出力ステップとを含む こととしてよ 、。
[0018] このプログラムを再生装置のコンピュータが実行することで、再生装置は、必要でな い場合にスチルプレーンからのデータの読み出しを行わなくなるのでメモリバスバン ド幅をその分だけ開けることができる。
また、画像を合成して出力する再生装置に搭載される集積回路であって、動画像 を格納するためのビデオプレーンと、 GUIとして表示する画像である GUI画像を格納 するためのイメージプレーンと、背景画像を格納するためのスチルプレーンとのメモリ 領域を有する記憶手段と、前記ビデオプレーンに動画像を格納する動画像格納手 段と、前記イメージプレーンに前記 GUI画像を格納するイメージ格納手段と、前記ス チルプレーンに前記背景画像を格納する背景画像格納手段と、前記動画像が前記 背景画像を完全に遮蔽できる所定のサイズである場合に、前記背景画像を読み出さ ず、前記動画像と前記 GUI画像とを読み出し、重畳して合成した合成画像を表す画 像信号を出力し、前記動画像が前記所定のサイズでない場合に、前記動画像と前記 GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像を表す画像信号 を出力する合成出力手段とを備えることとしてよ!/、。
[0019] この集積回路を搭載することで再生装置は、必要でない場合にスチルプレーンから のデータの読み出しを行わないのでメモリバスバンド幅をその分だけ開けることがで きる。
図面の簡単な説明
圆 1]本発明に係る再生装置の使用行為を示す図である。
[図 2]実施の形態 1に係る再生装置 100の機能構成を示したブロック図である。
[図 3]ソフトウェアとハードウェアとからなる部分をレイァ構成に置き換えて描いた図で ある。
[04]Java (登録商標)仮想マシン 36の機能構成を示した図である。
[図 5]BD-R0M110に格納されているデータのディレクトリ構造を示した図である。
[図 6]拡張子. m2tsが付与されたファイルがどのように構成されているかを模式的に示 した図である。
[図 7]Clip情報の構成を示した図である。
[図 8]映画のビデオストリームに対する EPjnap設定を示す図である。
[図 9]Playlist情報のデータ構造を示した図である。
[図 10]AVClipと、 PlayList情報との関係を示す図である。
[図 ll]Playlist情報に含まれる STNテーブルを示した図である。
[図 12] (a)〜(d)は、 entry— attributeの詳細を示す図である。
[図 13]PlayList情報の、 PlayListMark情報の内部構成を示す図である。
[図 14]PlayList情報の、 PlayListMark情報によるチャプター位置の指定を示す図であ る。
[図 15]BD-J Objectの内部構成を示す図である。
[図 16]アーカイブファイルにより収められているプログラム、データを示す図である。
[図 17] (a)は、アプリケーション管理テーブルの内部構成を示す図である。 (b)は、ァ プリケーシヨン管理テーブルを構成する情報要素の意味内容を示す図である。
[図 18]ディスクコンテンツにおける状態遷移を示す図である。
[図 19] (a)は、 BD- ROM全体の時間軸を示す図である。(b)は、 BD- ROM全体の時 間軸における構成を示す図である。
[図 20] (a) (b) BD- ROM全体の時間軸において、 BD-J Objectから特定されるタイトル 再生区間を示す図である。
圆 21]図 20 (b)の時間軸上に規定される、生存区間の典型を示す図である。
[図 22]本編タイトル、オンラインショッピングタイトル、ゲームタイトルという 3つのタイト ルを含むディスクコンテンツを示す図である。
[図 23] (a) (b)アプリケーション管理テーブル、生存区間の一例を示す図である。
[図 24]起動属性がとり得る三態様 (Present, AutoRun、 Suspend)と、直前タイトルにお けるアプリケーション状態の三態様 (非起動、起動中、 Suspend)とがとりうる組合せを示 す図である。
[図 25] (a)は、プレイリスト管理テーブルの内部構成を示す図である。(b)は、プレイリ スト管理テーブルを構成する情報要素の意味内容を示す図である。
[図 26]プレイリスト管理テーブル、アプリケーション管理テーブルにより規定されるタイ トルの具体例を示す。
[図 27]カレントタイトルがとり得る三態様 (プレイリスト管理テーブル無し、プレイリスト管 理テーブル有りで尚且つ無指定、プレイリスト管理テーブル有りで尚且つ AutoPlay)と 、直前タイトルにおける PLの状態 (非再生状態、再生中状態)とがとりうる 6通りの組合 せを示す図である。
[図 28] (a)は、プレイリスト管理テーブル及びアプリケーション管理テーブルの記述例 を示す図である。(b)は、図 27 (a)のように記述されたアプリケーション管理テーブル 、プレイリスト管理テーブルによりプレイリスト再生、アプリケーション実行がどのように 進行するかを示す図である。
[図 29] (a)は、プレイリスト管理テーブルの他の記述例を示す図である。(b)は、図 28 (a)のケースに基づくアプリケーション実行及びプレイリスト再生の進行を示す図であ る。
[図 30]スチルプレーンを合成するかどうかを判断する再生装置 100の動作を示すフ ローチャートである。
[図 31]実施の形態 2における再生装置 100の機能構成を示したブロック図である。
[図 32]実施の形態 2においてアプリケーションの指示にビデオスケーリングの指示に 基づいて Stillプレーン並びに PGプレーンからのデータの出力制御の流れを示したフ ローチャートである 符号の説明
1 BD— ROMドライブ
2 リードバッファ
3 デマルチプレクサ
4 ビデオデコーダ
5 ビデオプレーン
6 サウンドプロセッサ
7 サウンドプロセッサ
8 ミキサー
9 サウンド、コントローラ
10 D/Aコンバータ
1丄 Interactive Graphicsアコ ~~タ 12 Interactive Graphicsプレ ~~ン I d Presentation (graphicsアコ ~~タ
14 Presentation uraphicsフレ ~~ン
15 JPEGデコーダ
16 Stillプレーン
17 Stillプレーン制御部
18a, 18b、 18c 合成部
19 STC— DELTA付加部
20 ATC— DELTA付カロ部 21 ローカルストレージ
22 命令 ROM
23 ユーザイベント処理部
24 PSRセット
25 CPU
26 シナリオメモリ 27 ローカルメモリ
28 PGプレーン制御部
100 再生装置
発明を実施するための最良の形態
[0022] <実施の形態 1 >
以下、本発明の一実施形態である再生装置について図面を用いて説明する。
<構成>
<使用形態の構成 >
まず、図 1には再生装置の使用行為につ 、ての形態を示した。
[0023] 図 1に示すように、再生装置 100は、 BD- ROM110を装着して BD- ROM110に記録 されている動画を再生して、有線若しくは無線で接続しているテレビ 130に表示させ る。また、再生装置 100は、 BD-ROM110に記録されている Java (登録商標)アプリケ ーシヨンを実行し、当該アプリケーションに基づく画像も表示させる。
ユーザ操作を受けるためにリモコン 120があり、当該リモコン 130には、再生装置 1 00を制御するための各種キーが搭載されている。この各種キーには、再生開始 (Play 再生停止 (Stop)、一時停止 (Pause On)、一時停止の解除 (Pause 011)、 Still機能の 解除 (still off),速度指定付きの早送り (Forward Play(speed))、速度指定付きの卷戻し( Backward Play(speed))、音声切り換え (Audio Change),副映像切り換え (Subtitle Cha nge)、アングル切り換え (Angle Change)を受け付けるキーや、メニュー操作時にあたつ てのフォーカス移動操作を受け付ける MoveUpキー、 MoveDownキー、 MoveRightキ 一、 MoveLeftキー、メニュー表示操作を受け付ける Pop-upキー、数値入力を受け付 ける Numericキーが含まれる。
[0024] 以上が、本発明に係る再生装置 100の使用行為の形態についての説明である。
く再生装置 100のハードウェア構成 >
次に、図 2を用いて、再生装置 100の機能構成について説明する。
本発明に係る再生装置 100は、本図に示す内部構成に基づき、工業的に生産され る。本発明に係る再生装置 100は、主としてシステム LSI (Large Scale Integration)と、 ドライブ装置という 2つのパーツからなり、これらのパーツを装置のキャビネット及び基 板に実装することで工業的に生産することができる。システム LSIは、再生装置の機能 を果たす様々な処理部魏積した集積回路である。こうして生産される再生装置 100 は、 BD- ROMドライブ 1、リードバッファ 2、デマルチプレクサ 3、ビデオデコーダ 4、ビ デォプレーン 5、サウンドプロセッサ 6、サウンドプロセッサ 7、ミキサー 8、サウンドコン トローラ 9、 D/Aコンノ ータ 10、 Interactive Graphicsテコーダ 11、 Interactive Graphic sプレ ~~ン 12、 Presentation (graphicsアコ ~~タ 13、 Presentation Graphicsフレ ~~ン丄 4 、 JPEGデコーダ 15、 Stillプレーン 16、 Stillプレーン制御部 17、合成部 18a、 18b、 18 c、 STC— DELTA付カ卩部 19、 ATC— DELTA付カ卩部 20、ローカルストレージ 21、 命令 ROM22、ユーザイベント処理部 23、 PSRセット 24、 CPU25、シナリオメモリ 26 、ローカルメモリ 27を含んで構成される。
[0025] BD— ROMドライブ 1は、 BD— ROMのローデイング/イジェクトを行い、 BD— ROMに対 するアクセスを実行する機能を有する。
リードバッファ 2は、 FIFO (First In First Out)メモリであり、 BD- ROMから読み出され た TSパケットを順に格納した先に格納されたパケットから順次出力する機能を有する デマルチプレクサ (De- MUX)3は、リードバッファ 2から Sourceパケットを取り出して、 この Sourceパケットを構成する TSパケットを PESパケットに変換する機能を有する。そ して変換により得られた PESパケットのうち、 STN_Tableに記載されたものの中力も PID (Packet IDentifier)をもつものをビデオデコーダ 4、オーディオデコーダ 6、 Interactive Graphicsデコーダ 11、 Presentation Graphicsデコーダ 13のいずれかに出力する機 能も有する。 Sourceパケット及び、 STN_Tableの詳細に関しては後述する。
[0026] ビデオデコーダ 4は、デマルチプレクサ 3から出力された複数 PESパケットを復号し て非圧縮形式のピクチャを得てビデオプレーン 5に書き込む機能を有する。
ビデオプレーン 5は、非圧縮形式のピクチャを格納しておくためのプレーンである。 プレーンとは、再生装置 100において一画面分の画素データを格納しておくための メモリ領域である。ビデオプレーンはビデオでコーダによって書き込まれたデータを 格納し出力する機能を有する。ビデオプレーン 5における解像度は 1920 X 1080であ り、このビデオプレーン 5に格納されたピクチャデータは、 16ビットの YUV値で表現さ れた画素データにより構成される。ビデオプレーン 5では、ビデオストリームにおける 一フレーム毎の再生映像を、スケーリングすることができる。スケーリングとは、ーフレ ーム毎の再生画像をビデオプレーン 5全体の 1/4(クォータという)、 1/1(フルスケール という)のどちらかに変化させることである。かかるスケーリングを、 BD-Jモードにおい て CPU25からの指示に従い実行するので、ビデオストリームの再生画像を、画面の 隅に追いやったり、全面的に出すという画面演出が可能になる。
[0027] サウンドプロセッサ 6は、オーディオストリームを構成する PESパケットを PIDフィルタ 3 が出力した際、この PESパケットを格納しておく機能を有するオーディオバッファ 6aと、 このバッファに格納された PESパケットをデコーダして、 PCM (Pulse Code Modulation) 状態のオーディオデータを出力する機能を有するオーディオデコーダ 6bとを含む。 サウンドプロセッサ 7は、 BD- ROMから読み出されたファイル sound.bdmvをプリロー ドしておく機能を有するプリロードバッファ 7aと、プリロードされたファイル sound.bdmv における複数のサウンドデータのうち、 CPU25により指示されたものをデコードして、 PCM状態のオーディオデータを出力する機能を有するオーディオデコーダ 7bとを含 む。プリロードバッファ 7aへのプリロードは、 BD- ROMの装填時やタイトル切替時に行 うことが望ましい。何故なら、 AVClipの再生中にファイル sound.bdmvを読み出そうとす ると、 AVClipとは別のファイルを読み出すための光ピックアップのシークが発生する 力もである。一方、 BD-ROMの装填時やタイトル切替時には、 AVClipの再生が継続 していることは希なので、力かるタイミングにファイル sound.bdmvを読み出すことにより 、 AVClip再生が途切れないことを、保証することができる。
[0028] サウンドミキサ 8は、サウンドプロセッサ 6、及び、サウンドプロセッサ 7から出力される PCM状態のサウンドデータをミキシングする機能を有する。
サウンドコントローラ 9は、サウンドミキサ 8から出力された展開された状態のオーデ ィォデータ、及び、サウンドプロセッサ 6を介さずに圧縮された状態のオーディオデー タのうち、どちらを出力するか切り換える機能を有する。圧縮された状態のオーディオ データを出力する場合は、その出力先の機器 (テレビ)においてデコードされる。
[0029] D/A変換部 10は、サウンドミキサ 8から出力されるディジタルのオーディオデータを D/A変換して、アナログ音声を出力する機能を有する。 ト Graphicsデコーダ (IGデコーダ) 11は、 BD- ROM又はローカルストレージ 21から読 み出された IGストリームをデコードして、非圧縮グラフィクスを Interactive Graphicsプ レーン 12に書き込む機能を有する。
[0030] Interactive Graphics(IG)プレーン 12には、 HDMVモードにおいて I- Graphicsデコー ダ 11によるデコードで得られた非圧縮グラフィクスが書き込まれる。また BD-Jモード にお 、て、アプリケーションにより描画された文字やグラフィクスが書き込まれる。
P- Graphicsデコーダ 13は、 BD- ROM又はローカルストレージ 21から読み出された P Gストリームをデコードして、非圧縮グラフィクスを Presentation Graphics (PG)プレーン 11に書き込む機能を有する。 P-Graphicsデコーダ 13によってデコードされ、 Prensen tation Graphicsプレーン 11に書き込まれたデータが合成されることにより字幕が画面 上に現れることになる。
[0031] Presentation Graphicsプレーン 14は、一画面分の領域をもったメモリであり、一画 面分の非圧縮グラフィクスを格納することができる。
JPEGデコーダ 15は、 BD- ROM又はローカルストレージ 21に記録されている JPEG データをデコードして、 Stillプレーン 16に書き込む機能を有する。
Stillプレーン 16は、 JPEGデータを展開することで得られた非圧縮のグラフィクスデ ータが格納されるプレーンである。このグラフィクスデータは、 Java (登録商標)アプリ が描画する、 GUIフレームワークの!/、わゆる"壁紙"として用いられる。
[0032] Stillプレーン制御部 17は、 Stillプレーン 16からのデータの出力を制御する機能を 有する。具体的には、 CPU25から Videoプレーン 5に対するスケーリング指示を受け て、当該スケーリング指示がテレビ 130の全体への表示指示であるフルスケールスケ 一リングである場合に、 Stillプレーン 16からのデータの読み出しを抑止する。そして 、スケーリング指示がフルスケールの 1/4であるクォータスケーリングである場合には、 Stillプレーン 16力 合成部 18cに対して格納しているスチルデータを出力させる。
[0033] 合成部 18a、 b、 cは、 Interactive Graphicsプレーン 12に格納されているデータと、 P resentation Graphicsプレーン 11に格納されているデータと、ビデオプレーン 5に格納 されているデータと、 Stillプレーン 16に格納されているデータとを夫々合成し、得られ た合成画像の画像信号を出力する機能を有する。なお、プレーンから画像信号が出 力されなかった場合には合成せずに出力されてきた信号をそのまま出力する。
[0034] STC_delta付カ卩部 18は、 STC (System Time Clock)を生成する機能を有する。そし て STC_Sequenceの切り換わり時において、それまでの STC_Sequenceにおける STC値 (STC1)に、 STC_deltaと呼ばれるオフセット値を加算することにより、新しい STC_Seque nceの STC値 (STC2)を求めて、それまでの STC_Sequenceにおける STC値 (STC1)と、新 しい STC_Sequenceの STC値 (STC2)とを連続した値にする。
[0035] 先行 STC_Sequenceにおいて最後に再生されるピクチャの表示開始時刻を PTSKlst END),ピクチャの表示期間を Tppとし、後続 STC_Sequenceにおいて最初に表示され るピクチャの開始時刻を PTS2(2ndSTART)とした場合、 STC_deltaは、
STC— delta = PTS l(lstEND) + Tpp - PTS2(2ndSTART) として表現される。以上のように STC_deltaを求め、これが足し合わされたクロックの 計数値を各デコーダに出力する。これにより各デコーダは、 2つの STC_Sequenceにあ たるストリームを途切れなく再生してゆくことができる。以上のにより、 1つの AVClipの 中に、 2以上の STC_Sequenceが存在したとしても、また、連続して再生されるべき 2以 上の AVClipのそれぞれ力 異なる STC_Sequenceをもっていたとしても、これらの STC_ Sequence間のデコード処理を、シームレスに実行することができる。
[0036] なお、ノ ッファリングの連続性をみたすには、以下の条件 1)、 2)を満たせば良い。
1) STC2(2ndSTART)>STC2(lstEND)をみたすこと。
2) TS1からの TSパケットの取り出しと、 TS2からの TSパケットの取り出しと力 同じ時 間軸に投影された STC1と、 STC2とにより定義され、ノ ッファのアンダーフローや、ォ 一バーフローをもたらさな 、こと。
[0037]
なお、 1)において STC2(lstEND)は、 STCl(lstEND)を、 STC2の時間軸に投影した 値であり、 STC2(lstEND)=STCl(lstEND)- STC_deltaという計算式で与えられる。
ATC_delta付カ卩部 19は、 ATC (Arrival Time Clock)を生成する機能を有する。そし て ATC_Sequenceの切り換わり時において、それまでの ATC_Sequenceにおける ATC 値 (ATC1)に、 ATC_deltaと呼ばれるオフセット値を加算することにより、それまでの AT C_Sequenceにおける ATC値 (ATC1)と、新し!/、ATC_Sequenceの ATC値 (ATC2)とを連 続した値にする。このカロ算により、 ATC2=ATCl+ATC_deltaになる。 ATC_deltaとは、こ れまで読み出されているトランスポートストリーム (TS1)の最後の TSパケットの入力時点 T1から、新たに読み出されたトランスポートストリーム (TS2)の最初の TSパケットの入力 時点 T2までのオフセット値を 、 、、 "ATC_delta≥Nl/TS_recording_rate "と!/、う計算式 で与えられる。ここで入力時点 T2は、 TS2の最初の TSパケットの入力時点を、 TS1の 時間軸上に投影した時点を意味する。また N1は、 TS1の最後のビデオ PESパケットに 後続する、 TSパケットのパケット数である。 BD- ROMにおいて力かる ATC_deltaは、 Cli P情報に記述されるので、これを用いることにより、 ATC_deltaを計算することができる。 以上の計算により、これまでの ATC_Sequenceがもっている ATC値 (ATC1)と、新たな A TC_Sequenceがもっている ATC値 (ATC2)とを、連続した値にすることができる。 ATC_d eltaが足し合わされたクロックの計数値をデマルチプレクサ (De_MUX)3に出力するこ とで、シームレスなバッファ制御を実現することができる。
[0038] 以上が AVClipの再生に係る構成要素である。続いて BD-Jモードでの動作に係る構 成要素 (ローカルストレージ 21〜ローカルメモリ 27)について説明する。
ローカルストレージ 21は、 webサイトからダウンロードされたコンテンツ等、 BD- ROM 以外の記録媒体、通信媒体から供給されたコンテンツを、メタデータと共に格納して おく機能を有するハードディスクである。このメタデータは、ダウンロードコンテンツを ローカルストレージ 21にバインドして管理するための情報であり、このローカルストレ ージ 21をアクセスすることで、 BD-Jモードにおけるアプリケーションは、ダウンロードコ ンテンッ長さを利用した様々な処理を行うことができる。
[0039] 続いて、再生装置における統合制御を実現する構成要素 (命令 ROM22〜ロー力 ルメモリ 26)について説明する。
命令 ROM22は、再生装置の制御を規定するソフトウェアを記憶して 、る。 ユーザイベント処理部 23は、リモコンや再生装置のフロントパネルに対するキー操 作に応じて、その操作を行うユーザイベントを CPU25に出力する。 [0040] PSR (Player Status Register)セット 24は、再生装置に内蔵されるレジスタであり、 6 4個の PSRと、 4096個の GPR (General Purpose Register)とからなる。 Player Status Reg isterの設定値 (PSR)のうち、 PSR4〜PSR8は、現在の再生時点を表現するのに用いら れる。
PSR4は、 1〜100の値に設定されることで、現在の再生時点が属するタイトルを示し 、 0に設定されることで、現在の再生時点がトップメニューであることを示す。
[0041] PSR5は、 1〜999の値に設定されることで、現在の再生時点が属するチャプター番 号を示し、 OxFFFFに設定されることで、再生装置においてチャプター番号が無効で あることを示す。
PSR6は、 0〜999の値に設定されることで、現在の再生時点が属するプレイリスト (力 レント PL)の番号を示す。
[0042] PSR7は、 0〜255の値に設定されることで、現在の再生時点が属する Playltem (カレ ント Play Item)の番号を示す。
PSR8は、 0〜OxFFFFFFFFの値に設定されることで、 45KHzの時間精度を用いて現 在の再生時点 (カレント PTM(Presentation TiMe》を示す。以上の PSR4〜PSR8により、 図 18 (a)における BD-ROM全体の時間軸において、現在の再生時点はどこであるか を特定することができる。
[0043] CPU25は、命令 ROM22に格納されて!、るソフトウェアを実行して、再生装置全体 の制御を実行する機能を有する。この制御の内容は、ユーザイベント処理部 23から 出力されたユーザイベント、及び、 PSRセット 24における各 PSRの設定値に応じて動 的に変化する。
シナリオメモリ 26は、カレントの PL情報やカレントの Clip情報を格納しておく機能を 有するメモリである。カレント PL情報とは、 BD- ROMに記録されている複数プレイリスト 情報のうち、現在処理対象になっているものをいう。カレント Clip情報とは、 BD-ROM に記録されて 、る複数 Clip情報のうち、現在処理対象になって!/、るものを 、う。
[0044] ローカルメモリ 27は、 BD- ROMからの読み出しは低速である故、 BD- ROMの記録 内容を一時的に格納しておくためのキャッシュメモリである。かかるローカルメモリ 27 が存在することにより、 BD-Jモードにおけるアプリケーション実行は、効率化されるこ とになる。
以上が、本実施形態に係る再生装置のハードウェア構成である。
く再生装置 100のソフトウェア構成 >
続いて本実施形態に係る再生装置のソフトウェア構成について説明する。
[0045] 図 3には、 ROM24に格納されたソフトウェアと、ハードウェアとからなる部分を、レイ ァ構成に置き換えて描いた図である。本図に示すように、再生装置のレイァ構成は、 以下の a),b),c)力 なる。つまり、
a) BD Player Deviceの第 1階層、
b) BD Player Modelの第 2階層、
c) Application Runtime Enviromentの第 3階層からなる。
[0046] これらの階層のうち図 3に示した再生装置のハードウェア構成は、第 1階層に属する ことになる。本図の第 1階層" BD Player Device"には、図 2に示したハードウェア構成 のうちビデオデコーダ 4、 I-Graphicsデコーダ 11、オーディオデコーダ 6等にあたる" デコーダ"と、ビデオプレーン 5、 Interactive Graphicsプレーン 12等にあたる,,プレー ン"、 BD-ROM110及びそのファイルシステム、ローカルストレージ 21及びそのフアイ ルシステムを含む。
[0047] 第 2階層" BD Player Model"は、以下の bl),b2)の層からなる。つまり、
bl)Virtual File System30及び Presentation Engine31の層
b2)Playback Control Engine32の層
からなり、自身より上位の階層に対し、ファンクション APIを提供する。
第 3階層" Application Runtime Enviroment"は、以下の cl),c2)の階層からなる。つま り、
cl)モジュールマネージャ 34が存在する層、
c2)BD-Jプラットフォーム 35が存在する層
からなる。
[0048] 先ず初めに、第 2層に属する Virtual File System30〜モジュールマネージャ 34に ついて説明する。
Virtual File System30は、ローカルストレージ 21に格納されたダウンロードコンテン ッを、 BD-ROMにおけるディスクコンテンツと一体的に取り扱うための仮想的なフアイ ルシステムである。ここでローカルストレージ 21に格納されたダウンロードコンテンツ は、 SubClip、 Clip情報、プレイリスト情報を含む。このダウンロードコンテンツにおける プレイリスト情報は BD- ROM及びローカルストレージ 21のどちらに存在する Clip情報 であっても、指定できる点で、 BD-ROM上のプレイリスト情報と異なる。この指定にあ たって、 Virtual File System30上のプレイリスト情報は、 BD- ROMやローカノレストレー ジ 21におけるファイルをフルパスで指定する必要はな!/、。 BD- ROM上のファイルシス テムやローカルストレージ 21上のファイルシステムは、仮想的な 1つのファイルシステ ム (Virtual File System30)として、認識されるからである。故に、 Playltem情報におけ る Clip_Information_file_nameは、 Clip情報の格納したファイルのファイルボディにあた る 5桁の数値を指定することにより、 Virtual File System30、 BD- ROM上の AVClipを 指定することができる。 Virtual File System30を介してローカルストレージ 21の記録 内容を読み出し、 BD-ROMの記録内容と動的に組み合わせることにより、様々な再 生のバリエーションを産み出すことができる。ローカルストレージ 21と、 BD- ROMとを 組合せてなるディスクコンテンツは、 BD-ROMにおけるディスクコンテンツと対等に扱 われるので、本発明において BD- ROMには、ローカルストレージ 21 + BD- ROMの組 合せからなる仮想的な記録媒体をも含むことにする。
Presentation Engine31は、 AV再生ファンクションを実行する。再生装置の AV再生 ファンクションとは、 DVDプレーヤ、 CDプレーヤ力 踏襲した伝統的な機能群であり、 再生開始 (Play)、再生停止 (Stop)、一時停止 (Pause On)、一時停止の解除 (Pause Oil) 、 Still機能の解除 (still off),速度指定付きの早送り (Forward Play(speed))、速度指定 付きの巻戻し (Backward Play(speed))、音声切り換え (Audio Change),副映像切り換え (Subtitle Change),アングル切り換え (Angle Change)といった機能である。 AV再生フ アンクシヨンを実現するべぐ Presentation Engine31は、リードバッファ 2上に読み出さ れた AVClipのうち、所望時刻にあたる部分のデコードを行うよう、ビデオデコーダ 4、 P -Graphicsデコーダ 13、 I-Graphicsデコーダ 10、オーディオデコーダ 6を制御する。 所望の時刻として PSR8(カレント PTM)に示される箇所のデコードを行わせることにより 、 AVClipにおいて、任意の時点を再生を可能することができる。 [0050] 再生制御エンジン (Playback Control Engine(PCE))32は、プレイリストに対する再生 制御ファンクション (0、 PSRセット 23における状態取得 Z設定ファンクション GOと 、つ た諸機能を実行する。プレイリストに対する再生制御ファンクションとは、 Presentation Engine31が行う AV再生ファンクションのうち、再生開始や再生停止を、カレント PL情 報及び Clip情報に従って行わせることをいう。これらの機能 (0、 G0は、 HDMVモジユー ル 33〜BD-Jプラットフォーム 35からのファンクションコールに応じて実行する。
[0051] モジュールマネージャ 34は、 BD- ROMから読み出された Index.bdmvを保持して、分 岐制御を行う。この分岐制御は、カレントタイトルを構成する動的シナリオに Terminat eイベントを発行し、分岐先タイトルを構成する動的シナリオに Activateイベントを発行 することでなされる。
以上が Presentation Engine31〜モジュールマネージャ 34についての説明である。 続、て BD- Jプラットフォーム 35につ 、て説明する。
[0052] BD-Jプラットフォーム 35は、いわゆる Java (登録商標)プラットフォームであり、 Java ( 登録商標)仮想マシン 36を中核にした構成になっている。 BD-Jプラットフォーム 35は 、上述した Java (登録商標) 2Micro—Edition(J2ME) Personal Basis Profile(PBP 1.0)と、 Globally Executable MHP specification(GEM[1.0.2])for package media targetsに加え 、 BD-J Extentionを実装している。 BD- J Extentionは、 GEM[1.0.2]を越えた機能を、 B D-Jプラットフォームに与えるために特化された、様々なパッケージを含んで 、る。
[0053] 先ず初めに、 BD-Jプラットフォーム 35の中核となる Java (登録商標)仮想マシン 36 について説明する。
< Java (登録商標)仮想マシン 36 >
図 4は、 Java (登録商標)仮想マシン 36の内部構成を示す図である。本図に示すよ うに Java (登録商標)仮想マシン 36は、図 33に示した CPU24と、ユーザクラスローダ 5 2、メソッドエリア 53、ワークメモリ 54、スレッド 55a,b ' · ·η、 Java (登録商標)スタック 56 a,b - · ·ηとから構成される。
[0054] ユーザクラスローダ 52は、 BDJAディレクトリの Java (登録商標)アーカイブファイルに おけるクラスファイルをローカルメモリ 26等力も読み出してメソッドエリア 53に格納す る。このユーザクラスローダ 52によるクラスファイル読み出しは、ファイルパスを指定し た読み出しをアプリケーションマネージャ 37がユーザクラスローダ 52に指示すること でなされる。ファイルパスがローカルメモリ 26を示しているなら、ユーザクラスローダ 5 2は、アプリケーションを構成する Java (登録商標)アーカイブファイルにおけるクラス ファイルを、ローカルメモリ 26からワークメモリ 54に読み出す。ファイルパスが Virtual File System30上のディレクトリを示しているなら、ユーザクラスローダ 52は、アプリケ ーシヨンを構成する Java (登録商標)アーカイブファイルにおけるクラスファイルを、 BD -ROM又はローカルストレージ 20からワークメモリ 54に読み出す。アプリケーションの 起動制御は、このユーザクラスローダ 52によるクラスファイル読み出しにより実現され る。読み出しが指示されたクラスファイルがローカルメモリ 26にない場合、ユーザクラ スローダ 52は読み出し失敗をアプリケーションマネージャ 37に通知することになる。
[0055] メソッドエリア 53は、ユーザクラスローダ 52によりローカルメモリ 27から読み出された クラスファイルが格納される。
ワークメモリ 54は、いわゆるヒープエリアであり、様々なクラスファイルのインスタンス が格納される。図 3に示したアプリケーションマネージャ 37は、このワークメモリ 54に 常駐するレジデントアプリケーションである。ワークメモリ 54には、これらレジデント型 のインスタンスの他に、メソッドエリア 53に読み出されたクラスファイルに対応するイン スタンスが格納される。このインスタンスが、アプリケーションを構成する xletプログラム である。力かる xletプログラムをワークメモリ 54に配置することによりアプリケーションは 実行可能な状態になる。
[0056] 図 3のレイァモデルでは、このワークメモリ 54上のアプリケーションマネージャ 37を、 Java (登録商標)仮想マシン 36上に描 ヽて 、たが、これはわ力り易すさを意図した配 慮に過ぎない。アプリケーションマネージャ 37及びアプリケーションはインスタンスとし てスレッド 55a,b ' · ·ηにより実行されるというの力 現実的な記述になる。
スレッド 55a,b ' · ·ηは、ワークメモリ 54に格納されたメソッドを実行する論理的な実行 主体であり、ローカル変数や、オペランドスタックに格納された引数をオペランドにし て演算を行い、演算結果を、ローカル変数又はオペランドスタックに格納する。図中 の矢印 kyl,ky2,kynは、ワークメモリ 54からスレッド 55a,b ' · ·ηへのメソッド供給を象徴 的に示している。物理的な実行主体力 CPU唯 1つであるのに対し、論理的な実行主 体たるスレッドは、最大 64個 Java (登録商標)仮想マシン 36内に存在し得る。この 64 個という数値内において、スレッドを新規に作成することも、既存のスレッドを削除す ることも可能であり、スレッドの動作数は、 Java (登録商標)仮想マシン 36の動作中に おいて増減し得る。スレッドの数は適宜増やすことができるので、複数スレッドにより 1 つのインスタンスの並列実行を行い、インスタンスの高速ィ匕を図ることもできる。本図 では CPU24と、スレッドとの対応関係は、 1対多の関係にしている力 CPUが複数ある 場合、 CPUとスレッドとの対応関係は多対多の関係になりうる。スレッド 55a,b ' · ·ηによ るメソッド実行は、メソッドをなすバイトコードを、 CPU24のネイティブコードに変換した 上、 CPU24に発行することでなされる。
[0057] Java (登録商標)スタック 56a,b ' · ·ηは、スレッド 55a,b ' · ·ηと 1対 1の比率で存在して おり、プログラムカウンタ (図中の PC)と、 1つ以上のフレームとを内部に持つ。 "プログ ラムカウンタ"は、インスタンスにおいて、現在どの部分が実行されているかを示す。 " フレーム"はメソッドに対する 1回のコールに対して割り当てられたスタック式の領域で あり、その 1回のコール時の引数が格納される"オペランドスタック"と、コールされたメ ソッドが用いる"ローカル変数スタック (図中のローカル変数)"とからなる。フレームは、 コール力 1回なされる度に Java (登録商標)スタック 56a,b ' · ·η上に積み上げられるの だから、あるメソッドが自身を再帰的に呼び出す場合も、このフレームは、 1つ積み上 げられることになる。
[0058] 以上が Java (登録商標)仮想マシンにつ!、ての説明である。
<アプリケーションマネージャ 37 >
続いてアプリケーションマネージャ 37について、説明する。アプリケーションマネー ジャ 37は、 Java (登録商標)仮想マシン 36内のワークメモリ上で動作するシステムソフ トウ アであり、タイトル分岐が発生する度に、分岐前タイトルでは実行されていない 力 新たなタイトルでは AutoRunの起動属性を有するアプリケーションを起動するよう J ava (登録商標)仮想マシン 36に指示する。それと共に、分岐前タイトルでは実行され ていたが、新たなタイトルを生存区間としないアプリケーションを終了させる。これら起 動制御及び終了制御は、カレント BD-J Objectにおけるアプリケーション管理テープ ルを参照した上でなされる。 < BD- ROMの構成 >
次に BD-ROM 110に記録されて 、るデータに関して説明する。
[0059] まず、図 5を用いて BD-ROM110のデータのファイルディレクトリ構造について説明 する。
図 5に示すように、 BD- ROM110には、 Rootディレクトリの下に、 BDMVディレクトリが ある。
BDMVディレクトリには、拡張子 bdmvが付与されたファイル (index.bdmv,MovieObjec t.bdmv)がある。そしてこの BDMVディレクトリの配下には、更に PLAYLISTディレクトリ 、 CLIPINFディレクトリ、 STREAMディレクトリ、 BDBJディレクトリ、 BDJAディレクトリ、 AU XDATAディレクトリと呼ばれる 6つのサブディレクトリが存在する。
[0060] PLAYLISTディレクトリには、拡張子 mplsが付与されたファイル (00001.mpls,00002.m pls,00003mpls)がある。
CLIPINFディレクトリには、拡張子 clpiが付与されたファイル (00001.clpi,00002.clpi,0 0003.clpi)がある。
STREAMディレクトリには、拡張子 m2tsが付与されたファイル (00001.m2ts,00002.m2 ts,00003.m2ts)がある。
[0061] BDBJディレクトリには、拡張子 BOBJが付与されたファイル (00001.BOBJ,00002.bobj ,00003.bobj)が存在する。
BDJAディレクトリには、拡張子 jarが付与されたファイル (00001.jar,00002.jar,00003.j ar)がある。以上のディレクトリ構造により、互いに異なる種別の複数ファイル力 BD-R OM上に配置されて!、ることがわ力る。
[0062] AUXDATAディレクトリには、ファイル sound.bdmvが格納される。
< BD- ROMの構成その 1.AVClip >
先ず初めに、拡張子. m2tsが付与されたファイルについて説明する。図 6は、拡張子 .m2tsが付与されたファイルがどのように構成されているかを模式的に示した図である
。拡張子. m2tsが付与されたファイル (00001.m2ts、 00002.m2ts、 00003.m2ts )は
、 AVClipを格納している。 AVClipは MPEG2-Transport Stream形式のデジタルストリ ームである。このデジタルストリームは、フィルム映像、 NTSC (National Television Sta ndards Committee)映像、 PAL (Phase Alternation by Line)処理をデジタル化するこ とにより得られたデジタルビデオ、 LPCM (Linear Pulse Code Modulation)音源、 AC- 3音源、 DTS (Digital Surround)音源をデジタル化することにより得られたデジタルォ 一ディォを (上 1段目)、 PESパケットからなるエレメンタリストリームに変換し (上 2段目)、 更に TSパケットに変換して (上 3段目)、同じく字幕系のプレゼンテーショングラフィクス ストリーム (Presentatiion Graphics(PG)ストリーム)及び対話系のインタラクティブグラフ イクスストリーム (Interactive Graphics(IG)ストリーム)を (下 1段目)を、 PESパケット列に 変換し (下 2段目)、更に TSパケットに変換して (下 3段目)、これらを多重化することで 構成される。
[0063] PGストリームとは、動画の再生進行に伴った字幕表示を実現するエレメンタリストリ ームであり、 IGストリームは、動画の再生進行に伴った GUIを実現するエレメンタリスト リームである。これら IGストリーム、及び PGストリームについては、本発明の主眼では ないので、説明を省略する。
ビデオストリームのうち、 1つの PTSで再生される再生単位 (ピクチャ等)を、 "Video Pr esentation Unit"という。オーディオストリームのうち、 1つの PTSで再生される再生単位 、 Audio Presentation Unit'と ヽつ。
[0064] ここで AVClipを構成する PESパケットは、 1つ以上の" STC_Sequence"を構成する。 " STC_Sequence"とは、 PESパケットの配列であって、その PTS、 DTSが参照している Sys tem ime Clock(STCノの値に、 ¾ rC,F連 、 (system time— Dase discontinuity)力存在 しないものをいう。 STC不連続点がないことが STC_Sequenceの要件であるので、 1つ の STC_Sequenceを構成する PESパケット列のうち、 STC不連続点の直後に位置する P ESパケットであって、 PCR(Program Clock Reference)を包含したものから、次の STC不 連続点の直前までが 1つの STC_Sequenceになる。
[0065] < Clip情報 >
続 、て拡張子 .clpiが付与されたファイルにつ 、て説明する。拡張子 .clpiが付与され たファイル (0000 l.clpi,00002. clpi,00003. clpi )は、 Clip情報を格納して!/、る。 Clip 情報は、個々の AVClipについての管理情報である。図 7は、 Clip情報の内部構成を 示す図である。本図の左側に示すように Clip情報は、 OAVClipについての情報を格納した『ClipInfo()』、
ii) ATC Sequence'STC Sequenceに関する情報を格納した『Sequence InfoO』 iii) Program Sequenceに関する情報を格納した『Program InfoO』
lv)『し haractenstic Point Info (し PlO)』
を含んで構成される。
[0066] Sequence Infoは、 AVClipに含まれる、 1つ以上の STC- Sequence, ATC- Sequenceに ついての情報である。これらの情報を設けておくことの意義は、 STC、 ATCの不連続 点を、予め再生装置に通知するためである。つまりかかる不連続点が存在すると、 AV Clip内において同じ値の PTS,PCRが出現する可能性があり、再生時に不都合が生じ る。 STC,ATCが連続しているのは、トランスポートストリームのうち、どこからどこまでで あるかを示すため、 Sequence Infoは設けられている。
[0067] Program Infoとは、 Program内容が一定である区間 (Program Sequence)を示す情報 である。 Programとは、同期再生のための時間軸を共有し合うエレメンタリーストリーム 同士の集まりである。 Program Sequence情報を設けておくことの意義は、 Program内 容の変化点を、予め再生装置に通知するためである。ここでの Program内容の変化 点とは、ビデオストリームの PIDが変化したり、ビデオストリームの種類力 DTV(Standa rd Definition Television)から HDTV (High- Definition Television)に変化している点 等をいう。
[0068] 続いて Characteristic Point Infoについて説明する。図 7中の引き出し線 cu2は、 CPI の構成をクローズアップしている。引き出し線 cu2に示すように、 CPIは、 Ne個の EP_ma p— for— one— stream— PID(EP— map— for— one— stream— PID(0)〜EP— map— for— one— stream— PID(Ne -1))からなる。これら EP_map_for_one_stream_PIDは、 AVClipに属する個々のエレメンタ リストリームについての EP_mapである。 EP_mapは、 1つのエレメンタリストリーム上にお いて、 Access Unit Delimiterが存在するエントリー位置のパケット番号 (SPN_EP_start) を、エントリー時刻 (PTS_EP_start)と対応づけて示す情報である。図中の引き出し線 cu 3は、 EP_map_for_one_stream_PIDの内部構成をクローズアップして 、る。
[0069] 同図から EP— map— for— one— stream— PIDは、 Nc個の EP— High(EP— High(0)〜EP— High(Nc- 1》と、 Nf個の EP丄 ow(EP丄 ow(0)〜EP丄 ow(Nf-l》とが含まれることがわかる。ここで EP_ Highは、 Access Unit(Non- IDR Iピクチャ、 IDRピクチャ)の SPN_EP_start及び PTS_EP_s tartの上位ビットを表す役割をもち、 EP丄 owは、 Access Unit(Non- IDR Iピクチャ、 IDR ピクチャ)の SPN_EP_start及び PTS_EP_startの下位ビットを示す役割をもつ。
[0070] 図 7中の引き出し線 cu4は、 EP_Highの内部構成をクローズアップしている。この引き 出し線に示すように、 EP_High(i)は、 EP丄 owに対する参照値である『ref_to_EP丄 ow_id[i ]』と、 Access Unit(Non-IDR Iピクチャ、 IDRピクチャ)の PTSの上位ビットを示す『PTS_E P_High[i]』と、 Access Unit(Non- IDR Iピクチャ、 IDRピクチャ)の SPNの上位ビットを示 す『SPN_EP_High[i]』と力もなる。ここで iとは、任意の EP_Highを識別するための識別子 である。
[0071] 図 7中の引き出し線 cu5は、 EP丄 owの構成をクローズアップしている。引き出し線 cu 5に示すように、 EP丄 owは、対応する Access Unitが IDRピクチャか否かを示す『is_angl e— change— point(EP— Low— id)』と、对 J iす Access Unitのサイスを^:す『1— end— position— o ffset(EP丄 ow_id)』と、対応する Access Unit(Non- IDR Iピクチャ、 IDRピクチャ)の PTSの 下位ビットを示す『PTS_EP丄 ow(EP丄 owjd)』と、対応する Access Unit(Non- IDR Iピク チヤ、 IDRピクチャ)の SPNの下位ビットを示す『SPN_EP丄 ow(EP丄 ow_id)』とからなる。こ こで EP丄 owjdとは、任意の EP丄 owを識別するための識別子である。
[0072] < Clip情報の説明その 2.EP_map>
以下、具体例を通じて、 EPjnapについて説明する。図 8は、映画のビデオストリーム に対する EPjnap設定を示す図である。第 1段目は、表示順序に配置された複数のピ クチャ (MPEG4-AVCに規定された Bピクチヤ、 IDRピクチャ、 Pピクチャ)を示し、第 2段 目は、そのピクチヤにおける時間軸を示す。第 4段目は、 BD-ROM上の TSパケット列 を示し、第 3段目は、 EPjnapの設定を示す。
[0073] 第 2段目の時間軸において、時点 tl〜t7に、 Access Unitとなる IDRピクチャが存在 するものとする。そしてこれらの tl〜t7の時間間隔が、 1秒程度であるとすると、映画に 用いられるビデオストリームにおける EPjnapは、 tl〜t7をエントリー時刻 (PTS_EP_start )として示し、これに対応づけてエントリー位置 (SPN_EP_start)を示すよう、設定される。
< PlayList情報 >
続いて、 PlayList情報について説明する。拡張子" mpls"が付与されたファイル (0000 l.mpls)は、 PlayList(PL)情報を格納したファイルである。 PlayList情報は、 MainPathと 呼ばれる再生経路と、これに対応する再生情報とをプレイリスト (PL)として定義する情 報である。
[0074] 図 9は、 PlayList情報のデータ構造を示す図であり、本図に示すように PlayList情報 は、 MainPathを定義する MainPath情報 (MainPathO)と、チャプターを定義する PlayList Mark情報 (PlayListMarkO)とからなる。
MainPathとは、主たる AVClip上に定義される再生経路である。一方 Subpathは、 Sub Clip上に定義される再生経路である。ここで SubClipとは、動画像たるビデオストリーム を含まな 、AVClipである。
[0075] < PlayList情報の説明その 1.MainPath情報 >
先ず MainPathについて説明する。 MainPathは、主映像たるビデオストリームゃォー ディォストリームに対して定義される再生経路である。
MainPathは、矢印 mplで示すように複数の Playltem情報 #1 · · · '#mから定義される。 Playltem情報は、 MainPathを構成する 1つ以上の論理的な再生区間を定義する。 Pla yltem情報の構成は、引き出し線 hslによりクローズアップされている。この引き出し線 に示すように Playltem情報は、再生区間の IN点及び Out点が属する AVClipの再生区 間情報のファイル名を示す『ClipJnformation_file_name』と、 AVClipの符号化方式を示 す『Clip_codec_identifier』と、再生区間の始点を示す時間情報『IN_time』と、再生区間 の終点を示す時間情報『OUT_time』と、『STN_table』とから構成される。
[0076] 図 10は、 AVClipと、 PlayList情報との関係を示す図である。第 1段目は、 PlayList情 報がもつ時間軸を示す。第 2段目から第 5段目は、 EPjnapにて参照されているビデオ ストリーム (図 6に示したものと同じ)を示す。
PlayList情報は、 Playltem情報 #1, #2と!、う 2つの Playltem情報を含んでおり、これら P layltem情報 #1,#2の In_time,Out_timeにより、 2つの再生区間が定義されることになる。 これらの再生区間を配列させると、 AVClip時間軸とは異なる時間軸が定義されること になる。これが第 1段目に示す Playltem時間軸である。このように、 Playltem情報の定 義により、 AVClipとは異なる時間軸の定義が可能になる。
[0077] < STN— table > STN_tableは、 Play Itemの Clip_Information_file_nameで指定されて 、る AVClipに多 重化された複数エレメンタリストリームのうち、再生可能なものを示すテーブルである。 具体的にいうと STN_tableは、複数エレメンタリストリームのそれぞれについての entry を、 attributeと対応付けることで構成される。
[0078] 図 11は、 STN_tableの内部構成を示す図である。本図に示すように STN_tableは、 ST N_tableにおける entryと、 attributeとの糸且み (entry-attribute)を複数含み、これら entry — attributeの糸且 の個数 (number— of— video— stream— entnes'number— of— audio— stream— en 構造になっている。
[0079] entry- attributeの組みは、図中の括弧記号" { "に示すように、 Play Itemにおいて再 生可能なビデオストリーム、オーディオストリーム、 PG_textST_stream、 IGストリームの それぞれに対応している。
entry— attributeの詳細について説明する。図 11は、 entry— attributeの詳細を示 す図である。
[0080] 図 12 (a)は、ビデオストリームに対応した entry— attributeの組みを示す図である。
ビデオストリームにおける entryは、 AVClipを多重分離するにあたって、当該ビデオ ストリームの抽出に用いられる PIDを示す『ref_to_stream_PID_of_mainClip』を含む。 ビデオストリームにおける attributeは、 0x02に設定された『stream_coding_type』と、ビ デォストリームの表示レートを示す『Frame_rate』等を含む。
[0081] 図 12 (b)は、オーディオストリームに対応した entry— attributeの組みを示す図であ る。
オーディオストリームにおける entryは、 AVClipを多重分離するにあたって、当該ォ 一ディォストリームの抽出に用いられる PIDを示す『reむ o_stream_PID_of_mainClip』を 含む。
[0082] オーディオストリームにおける attributeは、 0x80(LinearPCM) , 0x81 (AC-3) , 0x82(DTS )の何れか〖こ設定されることによりオーディオストリームのコーディングタイプを示す『st ream_coding_type』と、対応するオーディオストリームのチャネル構成を示し、マルチチ ャネノレ出力の可否を示す『audio_presentation_type』と、対応するオーディオストリーム の言語属性を示す『audio_language code』等からなる。
[0083] マルチチャネルには、 5.1CHのサラウンド音声の他、ステレオ音声も含まれる力 以 降の説明では、マルチチャネルは、 5.1CHのサラウンド音声のみを意味するとして説 明を進める。
図 12 (c)は、 PGストリームに対応した entry— attributeの組みを示す図である。 PGストリームにおける entryは、 AVClipを多重分離するにあたって、当該 PGストリー ムの抽出に用いられる PIDを示す『reむ。 _stream_PID_of_mainClip』を含む。
[0084] PGストリームにおける attributeは、 0x90に設定されることにより PGストリームのコーデ イツクを示す『stream_coding_type』と、対応する PGストリームの言語属性を示す『PG_la nguage code』と;^りなる。
図 12 (d)は、 IGストリームに対応した entry— attributeの組みを示す図である。
IGストリームにおける entryは、 AVClipを多重分離するにあたって、当該 IGストリーム の抽出に用いられる PIDを示す『reむ o_stream_PID_of_mainClip』を含む。
[0085] IGストリームにおける attributeは、 0x91に設定されることにより IGストリームのコーデ イツクを示す『stream_coding_type』と、対応する IGストリームの言語属性を示す『langua ge code』とからなる。
< PlayList情報の説明その 2.PlayListMark>
以上が、本実施形態に係る Playltem情報についての説明である。続いて PlayListM ark情報について説明する。
[0086] 図 13は、 PlayList情報の、 PlayListMark情報の内部構成を示す図である。本図の図 中の引き出し線 pmOに示すように、 PlayListMark情報は、複数の PLMark情報 (#l〜#n )からなる。 PLmark情報 (PLmarkO)は、 PL時間軸のうち、任意の区間を、チャプター点 として指定する情報である。引き出し線 pmlに示すように PLmark情報は、チャプター 指定の対象たる Playltemを示す『ref_to_PlayItem_Id』と、その Playltemにおける、チヤ プター位置を時間表記により示す『mark_time_stamp』とを含む。
[0087] 図 14は、 PlayList情報の、 PLMark情報によるチャプター位置の指定を示す図であ る。本図の第 2段目から第 5段目は、図 10に示した、 EPjnapと、 AVClipとを示す。 本図の第 1段目は、 PLMark情報と、 PL時間軸とを示す。この第 1段目には、 2つの P LMark情報 #1〜#2が存在する。矢印 ktl,2は、 PLMark情報の ref_to_PlayItem_Idによる 指定を示す。この矢印からもわかるように、 PLMark情報の ref_to_PlayItem_Idは、 Playlt em情報のそれぞれを指定していることがわかる。また、 Mark_time_Stampは、 Playltem 時間軸のうち、 Chapter#l,#2になるべき時点を示す。このように、 PLMark情報は、 Pla yltem時間軸上に、チャプター点を定義することができる。
[0088] AVClip— SubClipを同期させ得る同期区間の定義を可能とするの力 BD- ROMに おけるプレイリスト情報の特徴である。以上の Clip情報及びプレイリスト情報は、 "静的 シナリオ"に分類される。何故なら、以上の Clip情報及びプレイリスト情報により、静的 な再生単位であるプレイリストが定義される力もである。以上で静的シナリオにつ 、て の説明を終わる。
[0089] 続いて"動的なシナリオ"について説明する。動的シナリオとは、 AVClipの再生制御 を動的に規定するシナリオデータである。 "動的に"というのは、再生装置における状 態変化やユーザ力ものキーイベントにより再生制御の中身がかわることを!、う。 BD-R OMでは、この再生制御の動作環境として 2つのモードを想定している。 1つ目は、 DV D再生装置の動作環境と良く似た動作環境であり、コマンドベースの実行環境である 。 2つ目は、 Java (登録商標)仮想マシンの動作環境である。これら 2つの動作環境の うち 1つ目は、 HDMVモードと呼ばれる。 2つ目は、 BD- Jモードと呼ばれる。これら 2つ の動作環境があるため、動的シナリオはこのどちらかの動作環境を想定して記述され る。 HDMVモードを想定した動的シナリオは Movie Objectと呼ばれる。一方 BD- Jモー ドを想定した動的シナリオは BD-J Objectと呼ばれる。
[0090] 先ず初めに Movie Objectについて説明する。
< Movie Object >
Movie Objectは、図 5に示した MovieObject.bdmvというファイルに格納され、ナビゲ ーシヨンコマンド列を含む。
ナビゲーシヨンコマンド列は、条件分岐、再生装置における状態レジスタの設定、 状態レジスタの設定値取得等を実現するコマンド列からなる。 Movie Objectにおいて 記述可能なコマンドを以下に示す。
D PlayPLコマンド 書式: PlayPL (第 1引数,第 2引数)
第 1引数は、プレイリストの番号で、再生すべきプレイリストを指定することができる。 第 2引数は、そのプレイリストに含まれる Playltemや、そのプレイリストにおける任意の 時刻、 Chapter, Markを用いて再生開始位置を指定することができる。
[0091] Playltemにより PL時間軸上の再生開始位置を指定した PlayPL関数を PlayPLatPlayl tem0、
Chapterにより PL時間軸上の再生開始位置を指定した PlayPL関数を PlayPLatChapt er()、
時刻情報により PL時間軸上の再生開始位置を指定した PlayPL関数を PlayPLatSpe cified TimeOと ヽつ。
2) コマンド
書式: JMP引数
JMPコマンドは、現在の動的シナリオを途中で廃棄し (discard),引数たる分岐先動 的シナリオを実行するという分岐である。 JMP命令の形式には、分岐先動的シナリオ を直接指定している直接参照のものと、分岐先動的シナリオを間接参照している間 接参照のものがある。
[0092] Movie Objectにおけるナビゲーシヨンコマンドの記述は、 DVDにおけるナビゲーショ ンコマンドの記述方式と良く似ているので、 DVD上のディスクコンテンツを、 BD-ROM に移植するという作業を効率的に行うことができる。 Movie Objectについては、以下 の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開 公報を参照されたい。
[0093]
国際公開公報 W0 2004/074976 以上で Movie Objectについての説明を終える。続いて BD- J Objectについて説明 する。
< BD-J Object >
BD-J Objectは、 Java (登録商標)プログラミング環境で記述された、 BD-Jモードの 動的シナリオであり、 00001〜00003.bobjというファイルに格納される。
[0094] 図 15は、 BD-J Objectの内部構成を示す図である。アプリケーション管理テーブル( AMT)、プレイリスト管理テーブル (PLMT)とを含んで構成される。 Movie Objectとの違 いは、 BD-J Objectにコマンドが直接記述されていない点である。つまり Movie Object において制御手順は、ナビゲーシヨンコマンドにより直接記述されていた。これに対し BD-J Objectでは、 Java (登録商標)アプリケーションに対する指定をアプリケーション 管理テーブルに記載することにより、間接的に制御手順を規定している。このような間 接的な規定により、複数動的シナリオにおいて制御手順を共通化するという、制御手 順の共通化を効率的に行うことができる。
[0095] また MovieObjectにおけるプレイリスト再生は、プレイリスト再生を命じるナビゲーショ ンコマンド (Playpiコマンド)の記述によりなされるが、 BD- J Objectにおけるプレイリスト 再生は、プレイリスト再生手順を示すプレイリスト管理テーブルを BD-J Objectに組み 込むことで記述が可能になる。
この BD- Jモードにおける Java (登録商標)アプリケーションについて説明する。ここ で BD-Jモードが想定して 、る Java (登録商標)プラットフォームは、 Java (登録商標) 2 Micro— Edition(J2ME) Personal Basis Profile(PBP 1.0)と、 Globally Executable MHP sp ecification(GEM 1.0.2)for package media targetsとをフル実装したものである。
[0096] この BD-Jモードにおける Java (登録商標)アプリケーションは、 xletインターフェイス を通じて、 Application Managerにより、制御される。 xletインターフェイスは、 "loaded", paused'、 active , destroyed と ヽっ 7こ 4つの状 Is もつ。
上述した Java (登録商標)プラットフォームは、 JFIF0PEG)や PNG,その他のイメージ データを表示するためのスタンダード Java (登録商標)ライブラリを含む。このため、 Ja va (登録商標)アプリケーションは、 HDMVモードにおいて IGストリームにより実現され る GUIとは異なる GUIフレームワークを実現することができる。 Java (登録商標)アプリケ ーシヨンにおける GUIフレームワークは、 GEM1.0.2にて規定された HAVi (Home Audi o/Video interoperability)フレームワークを含み、 GEM1.0.2におけるリモートコント口 一ルナピゲーシヨン機構を含む。
[0097] これにより、 Java (登録商標)アプリケーションは、 HAViフレームワークに基づくボタ ン表示、テキスト表示、オンライン表示 (BBSの内容)といった表示を、動画像の表示と 組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画 面表示に対する操作を行うことができる。
この Java (登録商標)アプリケーションの実体にあたるのが、図 2における BDMVディ レクトリ配下の BDJAディレクトリに格納された Java (登録商標)アーカイブファイル (000 01.jar,00002.jar)である。以降、 Java (登録商標)アーカイブファイルについて、図 16を 参照しながら説明する。
[0098] < Java (登録商標)アーカイブファイル >
Java (登録商標)アーカイブファイル (図 2の 00001.jar,00002.jar)は、 1つ以上のクラス ファイル、 1つ以上のデータファイル等を 1つにまとめることで得られるファイルであり、 BD-Jモードにおいて動作すべき Java (登録商標)アプリケーションを構成する。
図 16は、アーカイブファイルにより収められているプログラム、データを示す図であ る。本図におけるプログラム、データは、枠内に示すディレクトリ構造が配置された複 数ファイルを、 java (登録商標)アーカイバでまとめたものである。枠内に示すディレク トリ構造は、 Rootディレクトリ、 Java (登録商標) 1,2,3ディレクトリ、 Imagel,2,3ディレクトリ と力 なり、 Rootディレクトリに common.pkg力 Java (登録商標) 1 Java (登録商標) 2 Ja va (登録商標) 3ディレクトリにクラスファイル (00001. class〜00007.class)が、 Imagel,Ima ge2,Image3ディレクトリに、 00001. JPEG〜00003.JPEG、 00004.PNG〜00006.PNGが配 置されている。 java (登録商標)アーカイブファイルは、これらを java (登録商標)ァ一力 ィバでまとめることで得られる。力かるクラスファイル及びデータは、 BD-ROMからキヤ ッシュに読み出されるにあたって展開され、キャッシュ上で、ディレクトリに配置された 複数ファイルとして取り扱われる。 Java (登録商標)アーカイブファイルのファイル名に おける" zzzzz"と 、う 5桁の数値は、アプリケーションの ID(applicationlD)を示す。本 Jav a (登録商標)アーカイブファイルがキャッシュに読み出された際、このファイル名にお ける数値を参照することにより、任意の Java (登録商標)アプリケーションを構成するプ ログラム,データを取り出すことができる。
[0099] 尚、本実施形態にぉ 、てアプリケーションを構成するプログラム、データは、 Java ( 登録商標)アーカイブファイルにまとめられた力 LZHファイル、 zipファイルであっても よい。
以上力 BD-Jモードにおける動的シナリオについての説明である。
< Index.bdmv>
Index.bdmvは、タイトルを構成する、 Movie Object又は BD- J Objectを示すテープ ルである。
[0100] Titleにおいて、ある Titleの構成要素となる MovieObjectはどれである力、又は、ある Titleの構成要素となる BD-J Objectはどれであるのかを定義する。
Index.bdmvについては、以下の国際公開公報に詳細が記載されている。詳細につ いては、本公報を参照されたい。 国際公開公報 WO 2004/025651 A1公報 以降、図 15に示したアプリケーション管理テーブル、プレイリスト管理テーブルのそ れぞれについてより詳しく説明する。
[0101] くアプリケーション管理テーブル >
アプリケーション管理テーブル (AMT)につ 、て説明する。アプリケーション管理テー ブル (AMT)とは、上述した GEM1.0.2for package media targetsにおける"アプリケーシ ヨン シグナリング"を実装するテーブルである。 "アプリケーション シグナリング"とは 、 GEM1.0.2が規定する MHP(Multimedia Home Platform)において、 "サービス,,を生 存区間としてアプリケーションの起動、実行を行う制御をいう。本実施形態におけるァ プリケーシヨン管理テーブルは、この"サービス"の代わりに、 BD- ROMにおける"タイ トル"を生存区間にして、アプリケーションの起動、実行の制御を実現する。
[0102] 図 17 (a)は、アプリケーション管理テーブルの内部構成を示す図である。本図に示 すようにアプリケーション管理テーブルは、『life— cycle』と、『apli— id— ref』と、『run— attribu te』と、『run_priority』力らなる。
図 17 (b)は、アプリケーション管理テーブルを構成する情報要素の意味内容を示 す。
[0103] 『life_cycle』は、アプリケーションの"生存区間"を示す。 『apli_id_ref』は、 "アプリケーション識別子"に対する参照値が記述されることにより、 左記の生存区間をもつアプリケーションがどれであるかを示す。アプリケーション識別 子は、 Java (登録商標)アーカイブファイルにおいて、ファイル名として付与された 5桁 の数値 zzzzzで表現される。『apli_id_ref』には、この 5桁の数値が記述される。
[0104] 『run_attribute』は、当該生存区間におけるアプリケーションの"起動属性"が記述さ れる。起動属性には、 AutoRun、 Present, Suspedといった種別がある。
『run_pri0rity』は、当該生存区間におけるアプリケーションの"起動優先度"が記述 される。 BD-J Objectでは、これらの情報を用いてアプリケーションの挙動を制御する
<生存区間 >
ここでアプリケーション管理テーブルに規定される情報のうち、生存区間について 説明する。
[0105] 生存区間とは、 BD-ROMに記録されたコンテンツ全体の時間軸において、仮想マ シンのワークメモリ上でアプリケーションが生存し得る区間を示す。ワークメモリにおけ る"生存"とは、そのアプリケーションを構成する xletプログラム力 Java (登録商標)仮 想マシン内のワークメモリに読み出され、 Java (登録商標)仮想マシンによる実行が可 能になっている状態をいう。
Java (登録商標)仮想マシンにお!、てアプリケーションを動作させる場合、時間軸の 何処からアプリケーションによるサービスを開始し、時間軸の何処でアプリケーション によるサービスを終えるかという"サービスの開始点 ·終了点"を明確に規定すること が重要になる。このサービスの開始点.終了点を規定するの力 アプリケーション管理 テーブルにおける生存区間である。
[0106] 一方、 DVD-Videoのような読出専用ディスクで供給されるディスクコンテンツは、トツ プメニュータイトルを中核とした構造になっている。そのトップメニュータイトルから、個 々の著作物へと分岐して再生を行い、その後再び、トップメニュータイトルに戻るとい う独特の状態遷移をなす。図 18は、ディスクコンテンツにおける状態遷移を示す図で ある。本図における四角枠は、 Titleである。 Titleとは、ディスクコンテンツ特有の状態 遷移において、 1つの"状態"にあたる再生単位であり、このタイトル力 Java (登録商 標)アプリケーションの生存区間として取り扱われる。
[0107] Titleには、 BD- ROMのローデイング時に最初に再生される『FirstPlayTitle』、 Top- M enuを構成する『Top_menuTitle』、これら以外の一般的な『Title』がある。また、図中の 矢印 jhl, 2,3,4,5,6,7,8は、 Title間の分岐を象徴的に示す。本図に示される状態遷移 とは、 BD- ROMローデイング時に、『FirstPlayTitle』が再生され、『Top_menuTitle』へ の分岐が発生して、トップメニューに対する選択待ちになるというものである。
[0108] トップメニューに対する選択操作がユーザによりなされれば、選択に従って該当 Titl eの再生を行い、再び TopMenu Titleに戻るとの処理を、 BD- ROMのイジェタトがなさ れるまで延々と繰り返すというの力 ディスクコンテンツ特有の状態遷移である。
それでは、図 18のような状態遷移をなすディスクコンテンツにおいて、 Titleは、どの ように生存区間として規定されるのであろうか。 BD-ROMのローデイングがなされた後
、図 18において矢印 jhl,2,3,4 に示された参照符号の数値順に分岐がなされ、
BD- ROMがイジェタトされたものとする。そうすると、 BD- ROMがローデイングされてか ら、イジェタトされるまでの連続時間帯を一本の時間軸と同視することができる。この 時間軸を、ディスク全体の時間軸とする。図 19 (a)は、ディスク全体の時間軸を示す 図であり、図 19 (b)は、この時間軸における構成を示す。図 19 (b)に示すように、ディ スク全体の時間軸は、 FirstPlay Titleが再生されている区間、 TopMenu Titleが再生さ れている区間、 title#lが再生されている区間等力もなる。これら Titleの再生区間はど のように規定されているかというと、 Titleは、唯一の BD- J Object力 構成されるから、 どれかの MovieObject又は BD-J Objectが、有効になっている期間を Titleの再生区 間と考えることができる。
[0109] つまり FirstPlay Title, TopMenu Title,その他の Titleは、何れも動的シナリオから構 成されるから、 Titleを構成する BD-J Objectのうち、どれかカレント BD-J Objectとして Activatedされ、再生装置内において解読.実行に供されている期間を、 Titleの再生 区間と定義することができる。図 20 (a)は、 BD-ROM全体の時間軸において、識別子 bobjjdにより特定される BD-J Object力 特定されるタイトル再生区間を示す図である 。ここで識別子 bobjjdにより特定される BD-J Object力 1つの Titleを構成しているな ら、その識別子 bobjjdにより特定される BD-J Objectが有効になっている BD-ROM時 間軸上の一区間を、 Titleの再生区間と考えることができる。
[0110] ここで BD-J Objectが Activateされている期間の終期は、 Title分岐がなされるまでで ある。つまり、 Title分岐がなされるまで、実行の対象になつている動的シナリオは、力 レント BD-J Objectとして扱われるから、その BD-J Objectにおいて JumpTitleが発生 するまでの 1つの区間を、 Title区間として扱う。
続いて Title区間と、 PL時間軸との関係について説明する。上述したように MovieObj ect、 BD-J Objectでは、 1つの処理手順としてプレイリスト再生手順を記述することが できる。プレイリスト再生手順の記述があれば、上述した PL時間軸の全部又は一部が Title区間に帰属することになる。図 20 (&)のー例にぉぃて80 Objectに、プレイリス ト管理テーブルが記述されているとする。この場合、 BD-J Objectに対応する Title区 間には、図 20 (b)に示すように、 PL時間軸が帰属する。この PL時間軸には更に、複 数チャプター (Chapter#l,#2,#3)が定義され得るため、 BD- ROM上の時間軸には、 BD -ROM全体 - Title -プレイリスト一チャプターというドメインが存在することになる。こ れらのドメインを用いて、アプリケーションの生存区間を記述することができる。尚、プ レイリスト再生は、アプリケーション実行と同時になされため、プレイリスト再生の途中 で、 Title分岐が発生することがある。この場合、 1つの Title再生区間内にはプレイリス ト時間軸全体ではなぐプレイリスト時間軸の一部分のみが帰属することになる。つま り 1つの Titleの再生区間において、プレイリスト時間軸の全体が帰属する力、その一 部分が帰属するかは、 Title分岐が何時発生するかによって変わる。
[0111] 図 21は、図 20 (b)の時間軸上に規定される、生存区間の典型を示す図である。本 図に示すようにアプリケーションには、 Titleを生存区間にした"タイトルバウンダリアブ リケーシヨン"、 Title内におけるチャプターを生存区間にした"チャプターバウンダリア プリケーシヨン"、 BD-R0M全体の時間軸を生存区間にした"タイトルアンバウンダリー アプリケーション"という 3つの典型がある。
[0112] このうちタイトルバウンダリアプリケーションの生存区間は、そのタイトルの識別子を 用いて定義することができる。またチャプターバウンダリアプリケーションの生存区間 は、チャプターが属するタイトルの識別子と、そのチャプターの識別子との組みを用 いて定義することができる。 プラットフォームが動作していたとしても、 Titleやチャプターという生存区間が終わ れば、リソースをアプリケーションから回収することができる。リソース回収の機会を保 証するので、プラットフォームの動作を安定ィ匕させることができる。
[0113] 近い将来、実施されるであろうディスクコンテンツを題材に選んで、アプリケーション 管理テーブルにおける生存区間記述について、具体例を交えて説明する。ここで題 材にするディスクコンテンツは、映像本編を構成する本編タイトル (title#l)、オンライン ショッピングを構成するオンラインショッピングタイトル (title#2)、ゲームアプリケーショ ンを構成するゲームタイトル (title#3)と!、う、性格が異なる 3つのタイトルを含むもので ある。図 22は、本編タイトル、オンラインショッピングタイトル、ゲームタイトルという 3つ のタイトルを含むディスクコンテンツを示す図である。本図における右側には Index.bd mvを記述しており、左側には 3つのタイトルを記述して!/、る。
[0114] 右側における破線枠は、各アプリケーションがどのタイトルに属しているかという帰 属関係を示す。 3つのタイトルのうち title#lは、 applications、 application#2、 applicati on#3という 3つのアプリケーションからなる。 title#2は、 application#3、 application^と いう 2つのアプリケーション、 title#3は、 applicationsを含む。図 22の一例において ap plication#3は、 title#l、 title#2の双方で起動される。
[0115] 図 22の破線に示される帰属関係力も各アプリケーションの生存区間をグラフ化する と、図 23 (a)のようになる。本図において横軸は、タイトル再生区間であり、縦軸方向 に各アプリケーションの生存区間を配置している。ここで applications、 application^ は、 title#lのみに帰属しているので、これらの生存区間は、 title#l内に留まっている。 applicationsは、 title#2のみに帰属しているので、これらの生存区間は、 title#2内に 留まっている。 application^は、 title#3のみに帰属しているので、これらの生存区間 は、 title#3内に留まっている。 applicationsは、 title#l及び title#2に帰属しているので 、これらの生存区間は、 title#l— title#2にわたる。この生存区間に基づき、アプリケー シヨン管理テーブルを記述すると、 title#l,#2,#3のアプリケーション管理テーブルは図 23 (b)のようになる。このようにアプリケーション管理テーブルが記述されれば、 title# 1の再生開始時にぉ 、て application#l、 application#2、 application^をワークメモリに ロードしておく。そして title#2の開始時に application#l、 application^をワークメモリか ら削除して applicationsのみにするという制御を行う。これと同様に title#2の再生開 始時にお 、て applicationsをワークメモリにロードしておき、 title#3の開始時に applica tion#3,#4をワークメモリから削除すると!/、う制御を行 、うる。
[0116] 更に、 title#3の再生中において applicationsをワークメモリにロードしておき、 title# 3の再生終了時に applicationsをワークメモリから削除するという制御を行いうる。 タイトル間分岐があった場合でも、分岐元 分岐先において生存しているアプリケ ーシヨンはワークメモリ上に格納しておき、分岐元にはなぐ分岐先にのみ存在するァ プリケーシヨンをワークメモリに読み込めば良 、から、アプリケーションをワークメモリに 読み込む回数は必要最低数になる。このように、読込回数を少なくすることにより、タ ィトルの境界を意識させな!/、アプリケーション、つまりアンバウンダリなアプリケーショ ンを実現することができる。
[0117] 続いてアプリケーションの起動属性についてより詳しく説明する。起動属性には、自 動的な起動を示す「AutoRun」、自動起動の対象ではないが、仮想マシンのワークメ モリに置いて良いことを示す「Present」、仮想マシンのワークメモリにはおかれる力 C PUパワーの割り当ては不可となる「Suspend」がある。
「AutoRun」は、対応するタイトルの分岐と同時に、そのアプリケーションをワークメモ リに読み込み、且つ実行する旨を示す属性である。あるタイトルから、別のタイトルへ の分岐があると、アプリケーション管理を行う管理主体 (アプリケーションマネージャ)は 、その分岐先タイトルにおいて生存しており、かつ起動属性が AutoRunに設定された アプリケーションを仮想マシンのワークメモリに読み込み実行する。これによりそのァ プリケーシヨンは、タイトル分岐と共に自動的に起動されることになる。
[0118] 起動属性「Present」は、継続属性であり、分岐元 titleにおけるアプリケーションの状 態を継続することを示す。また対応するアプリケーションを実行してょ ヽことを示す属 性である。起動属性力 S「PreSent」である場合、この起動属性が付与されたアプリケー シヨンは、他のアプリケーションからの呼び出しが許可されることになる。アプリケーシ ヨン管理を行う管理主体 (アプリケーションマネージャ)は、起動中のアプリケーション から呼出があると、そのアプリケーションの applicationID力 アプリケーション管理テー ブルに記述されていて、起動属性が「Present」であるか否かを判定する。「Present」 であれば、そのアプリケーションをワークメモリにロードする。一方、その呼出先アプリ ケーシヨンの applicationIDがアプリケーション管理テーブルに記述されて!、な!/、場合 、そのアプリケーションはワークメモリにロードされない。アプリケーションによる呼出は 、この「Present」が付与されたアプリケーションに限られることになる。「Present」は、起 動属性を明示的に指定しない場合に付与されるデフォルトの起動属性であるから、あ るアプリケーションの起動属性が無指定「一-」である場合、そのアプリケーションの 起動属性の起動属性はこの Presentであることを意味する。
[0119] 「Suspend」とは、リソースは割り付けられている力 CPUパワーは割り当てられない状 態にアプリケーションが置かれることをいう。力かる Suspendは、例えばゲームタイトル の実行中に、サイドパスを経由するという処理の実現に有意義である。
図 24は、起動属性がとり得る三態様 (Present, AutoRun, Suspend)と、直前タイトル におけるアプリケーション状態の三態様 (非起動、起動中、 Suspend)とがとりうる組合 せを示す図である。直前状態が"非起動"である場合、起動属性力 ^'AutoRun"である なら、分岐先タイトルにおいてそのアプリケーションは、起動されることになる。
[0120] 直前状態が"非起動"であり、起動属性が" Present"、 "Suspend"であるなら、分岐先 タイトルにおいてそのアプリケーションは、何もせず、状態を継続することになる。 直前状態が"起動中"である場合、起動属性が" Present"、 "AutoRun"であるなら、 分岐先タイトルにおいてそのアプリケーションは、何もせず、状態を継続することにな る。
[0121] 起動属性が" Suspend"であるなら、アプリケーションの状態は Suspendされることにな る。直前状態が" Suspend"である場合、分岐先タイトルの起動属性が" Suspend"なら S uspendを維持することになる。 "Present"又は" AutoRun"であるなら、分岐先タイトル においてそのアプリケーションは、レジュームすることになる。アプリケーション管理テ 一ブルにおいて生存区間及び起動属性を定義することにより、タイトル再生区間の進 行に沿って、 Java (登録商標)アプリケーションを動作させるという同期制御が可能に なり、映像再生と、プログラム実行とを伴った、様々なアプリケーションを世に送り出す ことができる。
[0122] 尚、直前状態が" Suspend"であり、分岐先タイトルの起動属性が" Present"の場合は 、直前状態、すなわちサスペンド状態を維持しても良い。
最後に、各アプリケーションに対する"起動優先度"について説明する。 この起動優先度は、 0〜255の値をとり、メモリリソース枯渴時や、 CPU負荷が高まつ た時に、どのアプリケーションを強制的に終了させる力、また、どちらのアプリケーショ ンからリソースを奪うかと!/、う処理をアプリケーションマネージャが行うにあたっての判 断材料になる。この場合、アプリケーションマネージャは、起動優先度が低いアプリケ ーシヨンの動作を終了し、起動優先度が高いアプリケーションの動作を継続させると の処理を行う。
[0123] また起動優先度は、再生中プレイリストに対する要求が競合した場合のアプリケー シヨン間の調停でも利用される。ここであるアプリケーション力 あるプレイリストの早送 りしているものとする。ここで別のアプリケーションが同じプレイリストに対するポーズ要 求を行ったとすると、これらのアプリケーションに付与された起動優先度を比較する。 そして早送りを命じたアプリケーションの起動優先度が高いなら、かかるアプリケーシ ヨンによる早送りを継続して行う。逆にポーズを命じたアプリケーションの起動優先度 が高いなら、早送り中プレイリストのポーズを行う。
[0124] 以上の生存区間'起動属性'起動優先度により、仮想マシン上で動作し得るアプリ ケーシヨンの数を所定数以下に制限するよう規定しておくことがォーサリング時に可 能なる。そのため、アプリケーションの安定動作を保証することができる。
<プレイリスト管理テーブル >
以上がアプリケーション管理テーブルにつ 、ての説明である。続 、てプレイリスト管 理テーブル (PLMT)について説明する。プレイリスト管理テーブルとは、アプリケーショ ンの生存区間において、各アプリケーション実行と同時に行うべき再生制御を示すテ 一ブルである。アプリケーションの動作というのは不安定であり、起動の失敗や異常 終了がありうる。そこで起動失敗、異常終了があった場合の Fail Safe機構として、本実 施形態ではアプリケーションの生存区間毎に、プレイリスト管理テーブルを設けてい る。プレイリスト管理テーブルは、あるアプリケーションの生存区間が開始した際、これ と同時に行うべき再生制御を規定する情報である。この再生制御とは、プレイリスト情 報に基づく AVClip再生であり、プレイリスト情報による再生制御を同時に行うことで、 アプリケーション実行と、プレイリスト再生とが同時になされることになる。プレイリスト 管理テーブルは、アプリケーションの生存区間毎に設けられるとした力 プレイリスト 管理テーブルが設けられるアプリケーションは、タイトルバウンダリのアプリケーション に限られる。何故ならタイトルアンバウンダリーアプリケーションは、全タイトルを生存 区間にしているため、アプリケーション実行と同時にプレイリスト再生を行うという制御 は、適合しないからである。
[0125] チャプターバウンダリアプリケーションは、 1つのプレイリスト内のチャプターからァプ リケーシヨン実行を開始するという前提の下で生存区間が規定されているため、プレ イリスト再生を規定する必要はな 、からである。以上のことからプレイリスト管理テープ ルは、 1つ以上の Title力もなる生存区間に定義されることになる。
図 25 (a)は、プレイリスト管理テーブルの内部構成を示す図である。本図に示すよう にプレイリスト管理テーブルは、『PL_id_ref』と、『Playback_Attribute』とからなる。
[0126] 図 25 (b)は、プレイリスト管理テーブルを構成する情報要素の意味内容を示す。
『PL_id_ref』は、プレイリスト識別子に対する"参照値"が記述されることにより、アプリ ケーシヨンの生存区間において再生可能となるプレイリストがどれであるかを示す。プ レイリスト識別子は、ファイル YYYYY.MPLSにおいて、ファイル名として付与された 5桁 の数値 YYYYYで表現される。この YYYYYが記述されることにより、『PL_id_ref』は、対 応する Titleにおいて再生可能となるプレイリストがどれであるかを示す。
[0127] 『Playback_Attribute』は、アプリケーション管理テーブルにおける起動属性に倣った 属性であり、『PL_id_ref』に記述されたプレイリストを、タイトル開始時において、どのよ うに再生するかを規定する再生属性である。プレイリストに対する再生属性には、『Au toPlay』、『Present』と!、つた種別がある。
『AutoPlay』とは、対応するタイトルの分岐と同時に、そのプレイリストを再生させる旨 を示す属性である。あるタイトルから、別のタイトルへの分岐があると、アプリケーショ ン管理を行う管理主体 (アプリケーションマネージャ)は、その分岐先タイトルにお 、て 再生可能であり、かつ再生属性が AutoPlayに設定されたプレイリストの再生を開始す る。これにより起動属性が AutoPlayに設定されたプレイリストは、タイトル分岐と共に自 動的に起動されることになる。 [0128] 『Present』とは、起動属性における Present同様、継続属性であり、分岐元 titleにお けるプレイリストの状態を継続することを示す。また対応するプレイリストを再生してよ いことを示す属性である。例えば連続して再生される 2つの Titleがあり、前のタイトル 側のプレイリスト管理テーブルでは、あるプレイリストの再生属性が AutoPlayに設定さ れ、カレントタイトル側のプレイリスト管理テーブルでは、そのプレイリストの再生属性 が Presentに設定されているものとする。ここでプレイリストの再生時間力 ¾時間長であ り、このうち 1時間が経過した時点で分岐が発生したとする。この場合カレントタイトル では、再生属性が Presentに設定されているので、カレントタイトルにおいて、そのプレ イリストは、 1時間という再生済み区間の直後から、再生されることになる。このように再 生属性を Presentに設定しておけば、 Title間の分岐があった場合でも、プレイリスト再 生をその残りの部分から開始することができる。これにより分岐し合う一連の Titleにお いて、共通のプレイリストを再生するという"タイトル間におけるプレイリスト再生の共通 ィ匕"を容易に実現することができる。また分岐先タイトルが複数ある場合、これら複数 タイトルの再生属性を何れも Presentにしておけば、複数のうちどれに分岐したとして も、 1つの共通のプレイリスト再生を継続させることができる。
[0129] 尚 Titleの境界は、シームレス再生を保証しなくてもよ!、ので、上述したように複数 Ti tie間で 1つのプレイリストを再生しょうとする場合、分岐前後でプレイリスト再生を中断 させることは許容される。
また、再生属性が「PreSent」である場合、この再生属性が付与されたプレイリストは、 他のアプリケーションからの再生要求により再生されることになる。アプリケーション管 理を行う管理主体 (アプリケーションマネージャ)は、起動中のアプリケーションから、プ レイリストの再生要求があると、要求を受けたプレイリストの PLjd_rel¾ プレイリスト管 理テーブルに記述されて 、て、再生属性が「AutoPlay」か「Present」の!、ずれかか否 かを判定する。「AutoPlay 「Present」のいずれかであれば、そのプレイリストを再生 する。一方、要求を受けたプレイリストの PLjcLrel^プレイリスト管理テーブルに記述さ れていない場合、そのプレイリストを再生しない。アプリケーションの要求によるプレイ リスト再生は、この「AutoPlay」か「Present」の!、ずれかが付与されたプレイリストに限ら れることになる。「PreSent」は、再生属性を明示的に指定しない場合に付与されるデ フォルトの再生属性であるから、あるプレイリストの再生属性が無指定「一一」であると そのプレイリストの再生属性はこの Presentであることを意味する。
[0130] 図 26は、プレイリスト管理テーブル、アプリケーション管理テーブルにより規定され るタイトルの具体例を示す。図 26の第 1段目は、 Titleの再生映像を示し、第 2段目は 、 Titleの時間軸を示す。第 3段目は PLMTにより再生が規定されるプレイリスト、第 4段 目は、アプリケーション実行を示す。第 4段目において application#lは、 Titleの開始と 共に起動されており、その後、時点 tlにおいて動作状態になる。一方 PlayList#lは、 Titleの開始と共に再生が開始されている。 Playlist#lの再生は、 Titleの開始と同じ時 点に開始されているので、第 1段目の左側に示すように、 Titleの再生開始直後から、 アプリケーションが動作状態になるまでのスタートアップディレイにお 、て、プレイリス トの再生画像 gjlがフルスクリーン表示される。プレイリスト管理テーブルの再生属性を 、 "AutoPlay"に設定しておくことにより、 Java (登録商標)アプリケーションが動作状態 になるまで 5〜10秒という時間が力かったとしても、その間、 "とりあえず何かが写って いる状態"になる。この"とりあえず何かが写っている状態"によりタイトル実行開始時 のスタートアップディレイを補うことができる。
[0131] 一方、 application#lは、時点 tlで動作状態になるので、プレイリスト再生画像を子画 面、アプリケーションの実行画像を親画面にした合成画像 gj2が時点 tlにお 、て表示 されることになる。アプリケーションの実行画像は、 Startボタン, continueボタン、 POW ERインディケータを配置したゲーム用の GUIフレームワークであり、かかる GUIフレー ムワークの描画処理を Java (登録商標)アプリケーションが実行することでなされる。
[0132] こうした、プレイリストの再生映像と、 Java (登録商標)アプリケーションの GUIフレーム ワークとを組み合わせた再生映像をなすタイトルを構成することができるの力 PLMT の特徴である。
図 27は、カレントタイトルがとり得る三態様 (プレイリスト管理テーブル無し (0、プレイ リスト管理テーブル有りで尚且つ AutoPlay(ii)、プレイリスト管理テーブル有りで尚且つ 無指定 GiO)と、直前タイトルにおけるプレイリストの状態 (非再生状態、再生中状態)と 力 Sとりうる 6通りの組合せを示す図である。
[0133] 本図における 6通りの組合せのうち、 "直前状態 =非再生状態"と、 "カレントタイトル =プレイリスト管理テーブル有り、尚且つ、カレントタイトルの再生属性 =AutoPlay"と の組合せにおいて、分岐先タイトルにおけるプレイリストの再生は、 自動的に開始す ることになる。
また"直前状態 =再生中状態"と、 "カレントタイトル =プレイリスト管理テーブル無し "との糸且合せにおいて、分岐先タイトルでのプレイリストの再生は、自動的に停止する ことになる。
[0134] そしてこれら 2つの組合せ以外は全て、前のタイトルの状態を継続することになる。
プレイリスト管理テーブルに基づくプレイリスト再生の開始は、分岐元タイトルにおい て非再生状態であり、分岐先タイトルにお 、て AutoPlay属性が付与されて 、る場合 に限られるので、タイトルの分岐発生する毎に、プレイリスト再生を開始させる必要は ない。タイトル間の分岐が多数発生したとしても、プレイリスト再生を開始させる回数を 必要最低数にすることができる。
[0135] プレイリスト管理テーブル及びアプリケーション管理テーブルの記述例について図 2 8 (a)を参照しながら説明する。ここで想定する具体例は、 2つの連続する Title(title#l 、 title#2)であリ、そのうち title#lでは、 AutoRunアプリケーションとして application#l、 a pplication#2が記述されている。 title#2では AutoRunアプリケーションとして application #2、 applicationsが記述されている。一方、 title#lのプレイリスト管理テーブルには、 AutoPlayプレイリストとして PlayList#l力 title#2のプレイリスト管理テーブルには、 Aut oPlayプレイリストとして PlayList#2が記述されているものとする。図 28 (b)は、図 28 (a) のように記述されたアプリケーション管理テーブル、プレイリスト管理テーブルによりプ レイリスト再生、アプリケーション実行がどのように進行するかを示す図である。
[0136] title#lにおいてアプリケーション管理テーブル、プレイリスト管理テーブルは上述し たように設定されているので、 title#lの開始時には application#l、 application^が自 動的に起動され、 PlayList#lの再生が自動的に開始される。
title#2にお!/、てアプリケーション管理テーブル、プレイリスト管理テーブルは上述し たように設定されて 、るので、 title#l側に記載はある力 titled側には記載がな!、app lication#lの実行は停止させられる。同じく title#l側に記載があるが、 title#2側に記載 がな!/ヽ PlayList#lの再生も停止させられる。 [0137] title#l側に記載はな!/、が、 title#2側に記載がある PlayList#2、 application^は再生 及び実行が自動的に開始することになる。タイトル分岐があれば、その分岐を契機に 、再生すべきプレイリストを他のプレイリストに切り換えることができる。このようにアプリ ケーシヨン管理テーブル、プレイリスト管理テーブルを用いることで分岐を契機にして 、プレイリスト再生を切り換えると!/、う処理をォーサリング段階にぉ 、て規定しておくこ とがでさる。
[0138] また図 28では、 applications、 application#2、 application^にはそれぞれ 200, 128,2 00の起動優先度が与えられている。これらの起動優先度を付与することにより、 PlayL ist#l、PlayList#2に対する制御要求が競合した場合の調停を行わせることができる。 ここで applicationsが PlayList#lに対し早送りを命じているものとする。一方、 applicati on#2がポーズ要求を行ったとする。この場合、アプリケーション管理テーブルに各ァ プリケーシヨンに対する起動優先度が規定されているため、この起動優先度に従って 、両アプリケーションに対する調停がなされることになる。その結果、 applicationsによ る要求を退け、 application#lによる制御を継続するという処理をォーサリング時に規 定しておくことができる。起動優先度をプレイリスト管理テーブルと併せて利用するこ とにより、プレイリストに対する制御が競合した場合の調停さえも再生装置に行わせる ことができる。
[0139] プレイリスト管理テーブル記述の他の具体例について説明する。図 29 (a)は、プレ イリスト管理テーブルの他の記述例を示す図である。本図で想定しているのは、 2つ の連続するタイトル (title#l、 title#2)にお!/、て、 title#l側のプレイリスト管理テーブルに は、 AutoPlayプレイリストとして PlayList#l力 再生可能なプレイリストとして PlayList#2 が記述され、 title#l側のアプリケーション管理テーブルには、 AutoPlayアプリケーショ ンである applicationsと、実行可能なアプリケーションとして application^が記述され て 、る。一方 title#2側のプレイリスト管理テーブルには再生可能なプレイリストとして P1 ayList#2、 PlayList#3が記述され、アプリケーション管理テーブルには、 AutoRunァプ リケーシヨンとして applicationsが記述されている。図 29 (b)は、図 29 (a)のケースに 基づくアプリケーション実行及びプレイリスト再生の進行を示す図である。 title#lのァ プリケーシヨン管理テーブルには、 AutoRunアプリケーションとして applicationsが記 述されているので、 title#lの開始時には applicationsが自動起動される。一方、 title# 1のアプリケーション管理テーブルには、実行可能アプリケーションとして application^ 2が記述されて!、るので、 applications力らの呼出 ydlにより application^が起動され る。
[0140] title#2側のアプリケーション管理テーブルにお!/、て application#l、 application^が 非生存になっており、代わりに AutoRunアプリケーションとして applicationsが記述さ れている。そのため title#l—title#2の境界部では、 application#l、 application^を停 止し、 application^を自動的に起動するとの処理がなされる。プレイリスト管理テープ ルを参照すると、 title#l側のプレイリスト管理テーブルは、 PlayList#l、 PlayList#2が再 生可能と記述されており、そのうち PlayList#lは AutoPlay属性になっている。そのため PlayList#lは、 title#lの開始時において自動的に再生される。
[0141] title#l側のプレイリスト管理テーブルには、 PlayList#lの他、 PlayList#2が再生可能 であると記述されているので、 applicationsは PlayList#lの再生を停止させ、代わりに PlayList#2の再生を要求することにより、プレイリスト交代を実行することができる。 title#2側のプレイリスト管理テーブルには、再生可能なプレイリストとして PlayList#2 、 PlayList#3が記述されている。そして AutoPlay属性が付与されたプレイリストはない 。そのため、仮に title#l開始時において自動再生された PlayList#lの再生が titledま で継続したとしても、 PlayList#lの再生は自動的に終了することになる。
[0142] しかし PlayList#2再生が継続したまま title#2に至れば、 PlayList#2再生は title#2開 始以降も継続する。 title#2のプレイリスト管理テーブルには、再生可能なプレイリスト として PlayList#2、 PlayList#3が記述されている。そのため、 title#2で実行中となる appl ication#3は、 PlayList#2の再生を停止し、代わりに PlayList#3の再生を要求することに より、再生中のプレイリストを交代させることができる。
[0143] 以上のようにプレイリスト管理テーブルの再生属性を、 "AutoPlay"に設定しておけ ば、 Java (登録商標)アプリケーションの起動に、 5〜10秒という時間が力かったとして も、その起動がなされている間、 "とりあえず何かが写っている状態"になる。タイトル 実行開始時において、アプリケーション起動に時間が力かったとしても、画面は、 "と りあえず何かが写っている状態"になる。これにより、アプリケーション起動に時間がか 力ることによるスタートアップディレイの長期化を補うことができる。
[0144] アプリケーション管理テーブル及びプレイリスト管理テーブルを定義することにより、 タイトル再生区間の進行に沿って、 Java (登録商標)アプリケーションを動作させると いう同期制御が可能になり、映像再生と、プログラム実行とを伴った、様々なアプリケ ーシヨンを世に送り出すことができる。
<動作 >
次に、本実施の形態の再生装置 100の BD-ROM110をロードして動画が再生され たり、メニュー表示されるまでの動作を図 30に示すフローチャートを用いて説明する 。当該動作はアプリケーションマネージャ 37による処理でもある。
[0145] 図 30に示すように、まず、 Title jumpがなされたかどうかを判定する(ステップ Sl)。
Title jumpがあった場合 (ステップ SIの YES)には、タイトル切替を実行し (ステップ S7)、次にカレントタイトルに対応する BD-JObjectに PLMTが存在するかどうかをみる (ステップ S8)。
[0146] PLMTが存在する場合には(ステップ S8の YES)、前のタイトルでは PLMTに記載さ れていなかったが、カレントタイトルでは PLMTに記載されており、 Auto Play属性が 付与されているプレイリストの再生を開始する。 PLMTが存在しな力つた場合には (ス テツプ S8の NO)、前タイトルでは PLMTに記載されていた力 カレントタイトルでは PL MTに記載されていない Auto Play属性が付与されているプレイリストの再生を停止す る。
[0147] 次に、カレントタイトルに対応するアプリケーション管理テーブルがあるかどうかを判 断する (ステップ S 11)。
アプリケーション管理テーブルがあった場合 (ステップ S 11の YES)には、前タイトル を生存区間として 、な 、が、カレントタイトルを生存区間として 、る Java (登録商標)ァ プリケーシヨンのうち、 Auto Run属性を付与されているアプリケーションを起動する。 アプリケーション管理テーブルがな力つた場合 (ステップ S 11の NO)には、前タイトル を生存区間としているがカレントタイトルを生存区間としていないアプリケーションを終 了する。
[0148] 続いて、アプリケーションの起動に成功したかどうかを判断する (ステップ S 14)。ァ プリの起動に成功していた場合 (ステップ S 14の YES)には、ビデオプレーン 5及びビ デォプレーン制御部 17に対して Auto Play属性を付与されて!、るプレイリストの再生 画像のクォーター化の指示を実行する。また、当該指示を受けた Stillプレーン制御部 17は、 Stillプレーン 16からのスチルデータの出力を実行する(ステップ S15)。そして テレビ 130には Stillプレーン 16のスチルデータも合成された画像が表示される。ァプ リケーシヨンの起動に失敗した場合 (ステップ S 14の NO)には、ステップ S23に移行 して以降の処理を実行する。
[0149] Title Jumpが発生しなかった場合 (ステップ SIの NO)には、メインアプリが終了して V、るかどうかを検出する (ステップ S2)。
メインとなるアプリケーションが終了していた場合 (ステップ S2の YES)には、当該ァ プリケーシヨンが正常に終了した力どうかを判断する (ステップ S5)。正常に終了して いた場合 (ステップ S5の YES)には、ステップ S1に戻り、以降の処理を実行する。
[0150] メインとなるアプリケーションが異常終了していた場合 (ステップ S5の NO)には、 Au to Play PLの再生中であったかどうかをみる(ステップ S21)。再生中であった場合 (ス テツプ S21の YES)には、 CPU25は、 Auto Play PLの再生画像をフルスクリーン化 するようにビデオプレーン 5のデータをフルスクリーンサイズで出力させる。また、 Still プレーン制御部 17に、対しても同じ指示をだし、当該指示を受けて Stillプレーン制御 部 17は、 Stillプレーン 16に格納されているスチルデータの出力を抑止する(ステップ S22)。そしてテレビ 130には、スチルデータが合成されていない合成画像が表示さ れる。
[0151] そして再起動カウンタが 0であるかどうかを判定する (ステップ S23)。ここで再起動 カウンタとはアプリケーションの再起動回数を規定するための制御変数である。再起 動カウンタが 0である場合 (ステップ S23の YES)にはステップ SIに戻り、以降の処理 を実行する。再起動カウンタが 0でな力つた場合 (ステップ S23の NO)には、再起動 カウンタをデクリメントしてステップ S12に移行して以降の処理を実行する。ステップ S 23、 S24の手順を踏むことでアプリケーションの起動を保証する。なお再起動カウン タは本フローチャートの起動時においてリセットされる。
[0152] メインとなるアプリケーションが終了していなかった場合 (ステップ S2の NO)には、 次に、 Auto Play属性が付与されているプレイリストの再生が終了しているかどうかを 判断する(ステップ S3)。 Auto Play属性が付与されているプレイリストの再生が終了 していた場合 (ステップ S3の YES)には、ステップ S1に戻り以降の処理を実行する。 Auto Play属性が付与されているプレイリストの再生が終了していな力つた場合 (ステ ップ S3の NO)には、 BDドライバ 1に BD- ROMがあるかどうかを検出する(ステップ S4
) o
[0153] BDドライバ 1にまだ BD- ROMが存在する場合 (ステップ S4の YES)には、ステップ S 1に戻り以降の処理を実行する。 BDドライバ 1に BD- ROMが存在しな 、場合 (ステツ プ S4の NO)には、全アプリケーションの終了指示を実行し (ステップ S6)、終了する 以上が、 BD-ROM110が再生装置 100に装着されて力も取り出されるまでの動作 である。ここに述べたように、再生画像がフルスクリーンの場合と、クォータの場合とで 、 Stillプレーン 16からのデータの出力の可否を決定する。フルスクリーンの場合にお いては、 Stillプレーン 16のデータの合成は必要ないため出力せず、こうすることで Stil 1プレーン 16の読み出しに用いられるメモリバスバンド幅を開けることができる。
<実施の形態 2 >
次に本発明に係る実施の形態 2について図面を参照しながら説明する。
[0154] 実施の形態 2においては、 BDアプリケーションにおいて、より豊かなインタラタティ ブ性を実現するために Java (登録商標)のようなプログラミング環境を導入すると伴に
、 Stillプレーン又は PGプレーンからのデータの出力を制御することでメモリバスバンド 幅を有効活用する内容を示す。基本的には実施の形態 1に基づく内容であり、拡張 または異なる部分についての説明を行う。
く再生装置 100のハードウェア構成 >
再生装置 100については、実施の形態 1と異なり更に、 PGプレーン制御部 28が追 カロされている。ここでは PGプレーン制御部 28の機能について説明する。その他の各 部につ 、ては、実施の形態 1に示したものと変わらな 、。
[0155] PGプレーン制御部 28は、 PGプレーン 14からのデータの出力を制御する機能を有 する。具体的には、 CPU25からビデオプレーン 5に対するスケーリング指示を受けて 、当該スケーリング指示がテレビ 130の全体への表示指示であるフルスケーリングで ある場合に、 PGプレーン 14からのデータを出力させる。そしてスケーリング指示がフ ルスケーリングの 1/4であるクォータスケーリングである場合に、 PGプレーン 14からの データの読み出しを抑制する。
<動作 >
図 32は、実施の形態 2においてアプリケーションの要求に基づいて、 PGプレーン 1 4並びに Stillプレーン 16からのデータの出力制御を行うことを示したフローチャートで ある。
[0156] 図 32に示すように、まずアプリケーションからビデオスケーリングを要求されて CPU 25はビデオプロセッサ(図示せず)へビデオスケーリングを指示する(ステップ S101) 次いで、ビデオプロセッサは、ビデオスケーリングが成功したかどうかを CPU25に 通知する(ステップ S 102)。ビデオスケーリングが成功した場合 (ステップ S 102の YE S)には、当該スケーリング指示力 テレビ 130の表示画面全体への表示指示である フルスケーリング指示であるかどうかを判定する (ステップ S 103)。
[0157] フルスケーリング指示であった場合 (ステップ S 103の YES)には、 CPU25は、 Still プレーン制御部 17に対して Stillプレーン 16からのデータの出力を抑制するように指 示する(ステップ S104)。また、 CPU25は、 PGプレーン制御部 28に対して PGプレ ーン 14力ものデータの出力を実行するように指示し (ステップ S 106)、終了する。
[0158] フルスケーリング指示でなかった場合 (ステップ S 103の NO)、即ちビデオスケーリ ングの指示がフルスケーリングの 1/4であるクォータスケーリングであった場合には、 C PU25は、 Stillプレーン制御部 17に対して Stillプレーン 16からのデータの出力を実 行するように指示する(ステップ S 105)。また、 CPU25は、 PGプレーン制御部 28に 対して PGプレーン 14からのデータの出力を抑制するよう指示し (ステップ S107)、終 了する。
[0159] なお、ステップ S102にお!/、て、ビデオスケーリングに失敗して 、た場合 (ステップ S 102の NO)においても、本フローチャートを終了する。
以上のようにアプリケーションによる全画面へのビデオスケーリングが成功した場合 には、 Stillプレーン 16からのデータの読み出しを抑制し、 PGプレーン 14からのデー タの読み出しを実行することができる。またアプリケーションによる全画面の 1/4サイズ へのビデオスケーリングが成功した場合には、 Stillプレーン 16からのデータの読み出 しを実行し、 PGプレーン 14からのデータの読み出しを抑制することができる。
[0160] PGプレーン 14に関してもここに示したようにビデオスケーリングに基づく読み出しの 制御を行い、ビデオスケーリングがクォータスケーリングである場合にはデータの出力 を抑制することで、当該出力に用いるはずだったメモリバスバンド幅を空けることがで きる。
<実施の形態 3 >
実施の形態 1においては Stillプレーン 16の出力制御を行い、 Stillプレーン 16のデ ータの出力が必要ない場合にはメモリバスバンド幅をその分だけ開けることができる ことを示した。
[0161] 実施の形態 3においては、メモリバスバンド幅並びにメモリ領域を有効活用できる別 の手法を示す。ここでは実施の形態 1とは異なる部分についてのみ記述する。
実施の形態 1及び 2に示したように Stillプレーン 16からのデータの出力はビデオス ケーリングがフルスケールの場合には Stillプレーン 16からのデータの出力を抑制し、 ビデオスケーリングがクォータサイズの場合には Stillプレーン 16からのデータの出力 を実行する。
[0162] また、 PGプレーン 14に関してもビデオスケーリングに基づく出力制御を実行するこ とを実施の形態 2において記述した。上述したように PGプレーン 14に関しては、 Still プレーン 16の場合とは逆にビデオスケーリングがフルスケールの場合においてはデ ータの出力を実行し、ビデオスケーリングがクォータサイズの場合においてはデータ の出力を抑制する。
[0163] つまり、 PGプレーン 14並びに Stillプレーン 16からのデータの出力に関しては排他 的であるといえ、一方が出力を実行して 、るともう一方は出力を実行しな 、構成にな る。
よって実施の形態 3においては、実施の形態 1とは異なり、 PGプレーン 16と Stillプレ ーン 16とで使用するメモリ領域を共有する。この場合、アプリケーションからのビデオ スケーリングに関する指示がフルスケールである場合には、当該メモリ領域は、 PGプ レーン 14用のメモリ領域として使用される。そしてビデオスケーリングに関する指示が クォータサイズである場合には、当該メモリ領域は Stillプレーン 16として用いる。具体 的には、 PGプレーン 14と Stillプレーン 16とはメモリの同じアドレスの領域を共有する ことになる。
[0164] こうすることで実質的に 1つ分のプレーンのメモリ領域を開けることができ、そのメモ リ領域を他の用途に用いることができる。例えば、 Stillプレーン 16に表示するはずの J PEGデータを圧縮した状態で格納しておき、 Stillプレーン 16からのデータの出力が 必要な場合には、圧縮してぉ ヽ^ JPEGデータを展開して Stillプレーンに書き込む構 成にしてもよい。
[0165] また、データの読み出しの際についても実質的にアクセスするメモリ領域がプレー ン一つ分減っているのと同じであり、メモリバスバンド幅もその分だけ空くことになると 言える。
<補足 >
上記実施の形態に基づ 、て本発明に係る再生装置に関して説明してきたが、本発 明の実施の形態は上述のものに限るものではない。以下、その変形例について説明 していく。
[0166] (1)上記実施の形態においては再生装置を BD-ROM再生装置として説明してきた 力 これは特に BD-ROM再生装置に限定するものではなぐ DVDプレーヤなどであ つてもよい。
(2)上記実施の形態にお!ヽては Stillプレーン制御部 17はビデオプレーンのスケー ル変更がなされるかどうかに基づいて Stillプレーンからのスチルデータの読み出しを 行うかどうかを判断していた力 字幕データを格納するための PGプレーンに合成す べきデータがあるかどうかによって判断しても良い。
[0167] 字幕データは、基本的にフルスクリーン表示を行うときのためのフォントサイズで BD -ROM110に記憶されており、スケールを変更して縮小した場合に字がつぶれてしま うことがあるため、 PGプレーンを合成する場合には必ず、フルスクリーンでの表示が 行われる。よって、 Stillプレーン制御部 17は、 PGプレーンがある場合にはフルスクリ ーンでの表示が行われると判断し、このときには、 Stillプレーンからのスチルデータの 読み出しを行わな 、ようにしてもよ!、。
[0168] (3)上記実施の形態 1においては、動画像がフルスクリーン表示の場合には、 Still プレーンの読み出しに用いられる予定であったメモリバスバンド幅があくことを記載し た。このあいたメモリバスバンド幅は当然にその他の用途に用いられて良い。
例えば、 Stillプレーンの読み出しに換えて、ビデオプレーンへの動画用の画像デー タの書き込みに用いたり、あるいは、 IGプレーンへの GUI画像の書き込みの用いたり することも可能である。当該構成を備えることにより、再生装置は書き込みと読み出し のサイクルを早めることができると言え、テレビでの画像の表示の遅延をなるベく抑え ることがでさるよう〖こなる。
[0169] (4)上記実施の形態にお!、ては、ビデオストリームは、 BD- ROM規格の AVClipであ つたが、 DVD- Video規格、 DVD- Video Recording規格の VOB(VideoOBject)であって もよい。 VOBは、ビデオストリーム、オーディオストリームを多重化することにより得られ た ISO/IEC13818-1規格準拠のプログラムストリームである。また AVClipにおけるビデ ォストリームは、 MPEG4や WMV方式であってもよい。更にオーディオストリームは、 Li near- PCM方式、 Dolby- AC3方式、 MP3方式、 MPEG- AAC方式、 dts方式であっても よい。
[0170] (5)上記実施の形態においては、 MPEG4-AVC .264ゃ1^丁とも呼ばれる)をもと に説明したが、 MPEG2ビデオストリームであってもよぐまた、その他の形式 (VC-1等) の画像の場合でも単独でデコード可能な画像であれば、容易に応用可能である。
(6)上記実施の形態においては、ビデオプレーンが、フルスクリーンの場合につい てのみ Stillプレーンを合成しな!、こととした力 これは Stillプレーンとビデオプレーン が共に通常フルスクリーンサイズで用意されるからである。しかし、ビデオプレーン及 び Stillプレーンが共にフルスクリーンサイズでなくとも、ビデオプレーンのデータが、 St illプレーンのデータの全てを覆 、隠すならば、 Stillプレーンの合成を実行しな!、構成 にしてもよい。
[0171] (7)上記実施の形態においては、ビデオプレーン、即ち動画のスケーリングを行う 際にフルスケールにするかクォータにするかによつて Stillプレーン 16からのデータの 出力を制御した力 ビデオスケーリング時でなくとも Stillプレーン 16からのデータの出 力制御を行ってもよい。
この場合、アプリケーションに Stillプレーン制御部 17に対してのデータの出力の抑 制あるいは実行の機能を持たせる。こうすることで、ビデオスケーリング時のみならず 、 Stillプレーン 16力ものデータの出力制御を実行することができるようになる。
[0172] また、実施の形態 2において、 PGプレーン 14からのデータの出力制御に関しても ビデオスケーリング時だけでなぐアプリケーションに PGプレーン制御部 28に対して の出力の制御あるいは実行の機能を持たせてもよい。こうすることでビデオスケーリン グ時のみならず、 PGプレーン 14からのデータの出力制御を実行することができるよう になる。
[0173] (8)上記実施の形態においては、 Stillプレーン 16のデータの出力制御をアプリケ ーシヨンの指示に基づく形で行った力 BD-ROMにスチルデータの出力制御に関す るフラグを持たせ、当該フラグに基づく出力制御を行ってもょ 、。
(9)上記実施の形態においては、 PGプレーン 14には、字幕のみを格納することとし たが、字幕の画像データだけでなぐビデオプレーンに格納されている動画とは別の 動画を格納してもよい。こうすると、例えば表示画面を 2つの領域に分割してそれぞ れ別の動画を表示できるようになる。
[0174] (10)本発明は、上記実施の形態において示した Stillプレーンのスチルデータの合 成制御に示す方法であってもよぐ当該方法に示される処理手順を再生装置のコン ピュータに実行させるコンピュータプログラムであってもよい。また、当該コンピュータ プログラムは、フレキシブルディスク、ハードディスク、 CD (Compact Disc)、 MO (Magn eto Optical disc) , DVD, BD、半導体メモリなどに記録されたものであってもよい。
[0175] (11)上記実施の形態において再生装置 100は、システム LSIによって実現すると したが、再生装置 100の各機能は、複数の LSIによって実現されても良い。
産業上の利用可能性
[0176] 本発明に係る再生装置は、 BD-ROM力もデータを読み出しアプリケーションを実行 しながら画像を再生装置において表示の遅延がない再生装置として活用することが できる。

Claims

請求の範囲
[1] 動画像を格納するためのビデオプレーンと、 GUIとして表示する画像である GUI画 像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーン とのメモリ領域を有する記憶手段と、
前記ビデオプレーンに動画像を格納する動画像格納手段と、
前記イメージプレーンに前記 GUI画像を格納するイメージ格納手段と、 前記スチルプレーンに前記背景画像を格納する背景画像格納手段と、 前記動画像が前記背景画像を遮蔽できる所定のサイズである場合に、前記背景画 像を読み出さず、前記動画像と前記 GUI画像とを読み出し、重畳して合成した合成 画像を表す画像信号を出力し、前記動画像が前記所定のサイズでない場合に、前 記動画像と前記 GUI画像と前記背景画像とを読み出し、重畳して合成した合成画像 を表す画像信号を出力する合成出力手段とを備える
ことを特徴とする再生装置。
[2] 前記所定のサイズとは前記動画像が表示画面にぉ 、てフルスクリーンで表示され るサイズのことであり、
前記再生装置は更に、
前記動画像に係るアプリケーションを実行する仮想マシン部を備え、
前記合成出力手段は、前記アプリケーションの前記ビデオプレーンに対する縮小 指示を受けて、前記背景画像を合成し、縮小指示がない場合には、前記動前記背 景画像を合成しない
ことを特徴とする請求の範囲第 1項記載の再生装置。
[3] 前記スチルプレーンは更に、前記動画像とは異なる時間に応じて切り替わる画像を 格納するためのものであって、
前記再生装置は更に、
前記スチルプレーンに前記時間に応じて切り替わる画像を格納する画像格納手段 を備え、
前記合成出力手段は、前記動画像が表示画面においてフルスクリーンで表示され るサイズである場合に、前記ビデオプレーンに格納された動画像と前記イメージプレ ーンに格納された GUI画像と前記スチルプレーンに格納された時間に応じて切り替 わる画像とを読み出し、重畳して合成した合成画像を表す画像信号を出力し、前記 動画像がフルスクリーンで表示されるサイズでな ヽ場合に、前記ビデオプレーンに格 納された動画像と前記イメージプレーンに格納された GUI画像と前記スチルプレー ンに格納された背景画像とを読み出し、重畳し合成した合成画像を表す画像信号を 出力する
ことを特徴とする請求の範囲第 1項記載の再生装置。
[4] 前記合成出力手段及び前記各格納手段は、前記記憶手段に接続されて!ヽるメモリ バスを共有しており、
前記イメージ格納手段は、前記合成出力手段がスチルプレーンの読み出しを行わ な 、と判断した場合に、スチルプレーンの読み出しに割り当てられて!/、る前記メモリ バスの帯域又は時間を、イメージプレーンへの書き込みに用いる
ことを特徴とする請求の範囲第 1項記載の再生装置。
[5] 動画像を格納するためのビデオプレーンと、 GUIとして表示する画像である GUI画 像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーン とのメモリ領域を有する記憶手段を備える再生装置における、画像を合成する画像 合成方法であって、
前記ビデオプレーンに動画像を格納する動画像格納ステップと、
前記イメージプレーンに前記 GUI画像を格納するイメージ格納ステップと、 前記スチルプレーンに前記背景画像を格納する背景画像格納ステップと、 前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記 背景画像を読み出さず、前記動画像と前記 GUI画像とを読み出し、重畳して合成し た合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでな 、場合 に、前記動画像と前記 GUI画像と前記背景画像とを読み出し、重畳して合成した合 成画像を表す画像信号を出力する合成出力ステップとを含む
ことを特徴とする画像合成方法。
[6] 前記合成出力ステップ及び前記各格納ステップにお 、て、読み出し及び格納に用 V、る前記記憶手段に接続されて!、るメモリバスを共有しており、 前記イメージ格納ステップでは、前記合成出力ステップにお 、てスチルプレーンの 読み出しを行わないと判断した場合に、スチルプレーンの読み出しに割り当てられて いる前記メモリバスの帯域又は時間を、イメージプレーンへの書き込みに用いる ことを特徴とする請求の範囲第 5項記載の画像合成方法。
[7] 動画像を格納するためのビデオプレーンと、 GUIとして表示する画像である GUI画 像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーン とのメモリ領域を有する記憶手段を備える再生装置のコンピュータに画像を合成させ るための処理手順を示した画像合成プログラムであって、
前記ビデオプレーンに動画像を格納する動画像格納ステップと、
前記イメージプレーンに前記 GUI画像を格納するイメージ格納ステップと、 前記スチルプレーンに前記背景画像を格納する背景画像格納ステップと、 前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記 背景画像を読み出さず、前記動画像と前記 GUI画像とを読み出し、重畳して合成し た合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでな 、場合 に、前記動画像と前記 GUI画像と前記背景画像とを読み出し、重畳して合成した合 成画像を表す画像信号を出力する合成出力ステップとを含む
ことを特徴とする画像合成プログラム。
[8] 前記合成出力ステップ及び前記各格納ステップにお 、ては、読み出し及び格納に 用いる前記記憶手段に接続されて 、るメモリバスを共有しており、
前記イメージ格納ステップでは、前記合成出力ステップにお 、てスチルプレーンの 読み出しを行わないと判断した場合に、スチルプレーンの読み出しに割り当てられて いる前記メモリバスの帯域又は時間を、イメージプレーンへの書き込みに用いる ことを特徴とする請求の範囲第 7項記載の画像合成プログラム。
[9] 画像を合成して出力する再生装置に搭載される集積回路であって、
動画像を格納するためのビデオプレーンと、 GUIとして表示する画像である GUI画 像を格納するためのイメージプレーンと、背景画像を格納するためのスチルプレーン とのメモリ領域を有する記憶手段と、
前記ビデオプレーンに動画像を格納する動画像格納手段と、 前記イメージプレーンに前記 GUI画像を格納するイメージ格納手段と、
前記スチルプレーンに前記背景画像を格納する背景画像格納手段と、
前記動画像が前記背景画像を完全に遮蔽できる所定のサイズである場合に、前記 背景画像を読み出さず、前記動画像と前記 GUI画像とを読み出し、重畳して合成し た合成画像を表す画像信号を出力し、前記動画像が前記所定のサイズでな 、場合 に、前記動画像と前記 GUI画像と前記背景画像とを読み出し、重畳して合成した合 成画像を表す画像信号を出力する合成出力手段とを備える
ことを特徴とする集積回路。
前記合成出力手段及び前記各格納手段は、前記記憶手段に接続されているメモリ バスを共有しており、
前記イメージ格納手段は、前記合成出力手段がスチルプレーンの読み出しを行わ な 、と判断した場合に、スチルプレーンの読み出しに割り当てられて!/、る前記メモリ バスの帯域又は時間を、イメージプレーンへの書き込みに用いる
ことを特徴とする請求の範囲第 9項記載の集積回路。
PCT/JP2005/022022 2004-12-01 2005-11-30 再生装置、画像合成方法、画像合成プログラム及び集積回路 WO2006059661A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006547988A JP4949853B2 (ja) 2004-12-01 2005-11-30 再生装置、画像合成方法、画像合成プログラム及び集積回路
KR1020077012832A KR101193397B1 (ko) 2004-12-01 2005-11-30 재생장치, 화상합성방법, 컴퓨터 판독 가능한 기록매체 및 집적회로
US11/720,531 US8306386B2 (en) 2004-12-01 2005-11-30 Reproduction device, image synthesis method, image synthesis program, and integrated circuit
EP05811752A EP1818907A4 (en) 2004-12-01 2005-11-30 PLAYING DEVICE, IMAGE SYNTHESIS PROCEDURE, IMAGE SYNTHESIS PROGRAM AND INTEGRATED CIRCUIT

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-349143 2004-12-01
JP2004349143 2004-12-01

Publications (1)

Publication Number Publication Date
WO2006059661A1 true WO2006059661A1 (ja) 2006-06-08

Family

ID=36565094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/022022 WO2006059661A1 (ja) 2004-12-01 2005-11-30 再生装置、画像合成方法、画像合成プログラム及び集積回路

Country Status (6)

Country Link
US (1) US8306386B2 (ja)
EP (1) EP1818907A4 (ja)
JP (1) JP4949853B2 (ja)
KR (1) KR101193397B1 (ja)
CN (2) CN101600122B (ja)
WO (1) WO2006059661A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010032801A (ja) * 2008-07-29 2010-02-12 Canon Inc 表示装置、表示制御方法
WO2011007416A1 (ja) * 2009-07-14 2011-01-20 パイオニア株式会社 再生装置及び方法、並びにコンピュータプログラム
JP4809922B2 (ja) * 2007-01-03 2011-11-09 マイクロソフト コーポレーション モーションデスクトップ
WO2017061434A1 (ja) * 2015-10-09 2017-04-13 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US10719909B2 (en) 2016-09-30 2020-07-21 Alibaba Group Holding Limited Image loading method and device

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055744A1 (en) * 2006-04-13 2009-02-26 Taiji Sawada Recording medium, reproducing device, recording device, system lsi, method, and program
KR100897849B1 (ko) 2007-09-07 2009-05-15 한국전자통신연구원 비정상 프로세스 탐지 방법 및 장치
JP5544863B2 (ja) * 2009-12-17 2014-07-09 富士通株式会社 受信装置、受信方法及び受信プログラム
WO2011155099A1 (ja) * 2010-06-11 2011-12-15 三菱電機株式会社 映像表示装置
US9154797B2 (en) 2010-09-20 2015-10-06 Onecodec, Limited Systems and methods for encoding and decoding
US10129556B2 (en) 2014-05-16 2018-11-13 Bevara Technologies, Llc Systems and methods for accessing digital data
US10025787B2 (en) 2011-08-17 2018-07-17 Bevara Technologies, Llc Systems and methods for selecting digital data for archival
JP5857636B2 (ja) * 2011-11-02 2016-02-10 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US9202522B2 (en) * 2013-05-08 2015-12-01 Adobe Systems Incorporated Method and apparatus for subtitle display
TWI530169B (zh) * 2013-08-23 2016-04-11 晨星半導體股份有限公司 處理影音資料之方法以及相關模組
WO2015176009A1 (en) 2014-05-16 2015-11-19 Bevara Technologies, Llc Systems and methods for selecting digital data for archival
JP2018022370A (ja) * 2016-08-04 2018-02-08 キヤノン株式会社 アプリケーション実行装置及びその制御方法、並びにプログラム
US10895954B2 (en) * 2017-06-02 2021-01-19 Apple Inc. Providing a graphical canvas for handwritten input
WO2019143808A1 (en) 2018-01-18 2019-07-25 Bevara Technologies, Llc Browser navigation for facilitating data access
KR20210074880A (ko) 2019-12-12 2021-06-22 삼성전자주식회사 디스플레이 장치 및 그 동작 방법

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010542A (ja) * 1998-06-24 2000-01-14 Canon Inc 画像表示装置と画像データの表示方法
US6538656B1 (en) 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data transport processor
EP1328114A1 (en) 2002-01-10 2003-07-16 Canal+ Technologies Société Anonyme Image resolution management in a receiver/decoder
JP2003298938A (ja) * 2002-04-01 2003-10-17 Canon Inc マルチ画面合成装置及びマルチ画面合成装置の制御方法及びマルチ画面合成装置の制御プログラム及び記憶媒体
JP2003348444A (ja) * 2002-05-23 2003-12-05 Sony Corp 画像信号の処理装置および処理方法
JP2004007518A (ja) * 2002-03-27 2004-01-08 Matsushita Electric Ind Co Ltd パッケージメディア、再生装置、および再生方法
WO2004025651A1 (ja) * 2002-09-12 2004-03-25 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法、記録方法
WO2004030356A1 (ja) * 2002-09-25 2004-04-08 Matsushita Electric Industrial Co., Ltd. 再生装置、光ディスク、記録媒体、プログラム、再生方法
WO2004082274A1 (ja) * 2003-03-13 2004-09-23 Matsushita Electric Industrial Co., Ltd. データ処理装置
JP2004304767A (ja) * 2003-01-30 2004-10-28 Sony Corp 再生装置、再生方法、再生プログラムおよび記録媒体
JP2004334058A (ja) 2003-05-12 2004-11-25 Hitachi Ltd 表示装置および表示制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0421077A (ja) * 1990-05-15 1992-01-24 Oki Electric Ind Co Ltd 画像重ね合わせ装置
JPH0773287A (ja) * 1993-06-15 1995-03-17 Nec Corp 画像合成回路
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6636222B1 (en) * 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
JP2005501310A (ja) * 2001-05-02 2005-01-13 ビットストリーム インコーポレーティッド スケーリング方法及び/又は特定方向で情報媒体を表示する方法及びシステム
JP4829443B2 (ja) * 2001-09-20 2011-12-07 キヤノン株式会社 受信装置、受信方法および記録媒体
JP4136383B2 (ja) * 2002-01-28 2008-08-20 キヤノン株式会社 テレビ受信装置及びその制御方法
US20040047588A1 (en) 2002-03-27 2004-03-11 Tomoyuki Okada Package medium, reproduction apparatus, and reproduction method
JP4158462B2 (ja) 2002-09-04 2008-10-01 ソニー株式会社 画面表示処理装置及び画面表示処理方法、並びにコンピュータ・プログラム
CN100466713C (zh) 2002-11-28 2009-03-04 索尼株式会社 再现装置和再现方法
KR101027249B1 (ko) 2003-02-21 2011-04-06 파나소닉 주식회사 기록매체, 재생장치, 기록방법, 재생방법

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010542A (ja) * 1998-06-24 2000-01-14 Canon Inc 画像表示装置と画像データの表示方法
US6538656B1 (en) 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data transport processor
EP1328114A1 (en) 2002-01-10 2003-07-16 Canal+ Technologies Société Anonyme Image resolution management in a receiver/decoder
JP2004007518A (ja) * 2002-03-27 2004-01-08 Matsushita Electric Ind Co Ltd パッケージメディア、再生装置、および再生方法
JP2003298938A (ja) * 2002-04-01 2003-10-17 Canon Inc マルチ画面合成装置及びマルチ画面合成装置の制御方法及びマルチ画面合成装置の制御プログラム及び記憶媒体
JP2003348444A (ja) * 2002-05-23 2003-12-05 Sony Corp 画像信号の処理装置および処理方法
WO2004025651A1 (ja) * 2002-09-12 2004-03-25 Matsushita Electric Industrial Co., Ltd. 記録媒体、再生装置、プログラム、再生方法、記録方法
WO2004030356A1 (ja) * 2002-09-25 2004-04-08 Matsushita Electric Industrial Co., Ltd. 再生装置、光ディスク、記録媒体、プログラム、再生方法
JP2004304767A (ja) * 2003-01-30 2004-10-28 Sony Corp 再生装置、再生方法、再生プログラムおよび記録媒体
WO2004082274A1 (ja) * 2003-03-13 2004-09-23 Matsushita Electric Industrial Co., Ltd. データ処理装置
JP2004334058A (ja) 2003-05-12 2004-11-25 Hitachi Ltd 表示装置および表示制御方法
US20050162337A1 (en) 2003-05-12 2005-07-28 Toshiaki Ohashi Display device and a method of controlling the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IMAI J.: "Digital Television Jushinki no Kaihatsu", 15 April 2002 (2002-04-15), pages 2 - 56, XP002998054, Retrieved from the Internet <URL:http://www.mtl.t.u-tokyo.ac.jp/~sakai/toku1/JEITA020415.pdf> *
See also references of EP1818907A4 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4809922B2 (ja) * 2007-01-03 2011-11-09 マイクロソフト コーポレーション モーションデスクトップ
JP2010032801A (ja) * 2008-07-29 2010-02-12 Canon Inc 表示装置、表示制御方法
US8411203B2 (en) 2008-07-29 2013-04-02 Canon Kabushiki Kaisha Display apparatus and display control method
US8675135B2 (en) 2008-07-29 2014-03-18 Canon Kabushiki Kaisha Display apparatus and display control method
WO2011007416A1 (ja) * 2009-07-14 2011-01-20 パイオニア株式会社 再生装置及び方法、並びにコンピュータプログラム
WO2017061434A1 (ja) * 2015-10-09 2017-04-13 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US10719909B2 (en) 2016-09-30 2020-07-21 Alibaba Group Holding Limited Image loading method and device

Also Published As

Publication number Publication date
US20080089660A1 (en) 2008-04-17
JPWO2006059661A1 (ja) 2008-06-05
CN101600122B (zh) 2011-10-05
CN100514441C (zh) 2009-07-15
CN101600122A (zh) 2009-12-09
JP4949853B2 (ja) 2012-06-13
EP1818907A4 (en) 2008-06-25
US8306386B2 (en) 2012-11-06
KR101193397B1 (ko) 2012-10-24
CN101069229A (zh) 2007-11-07
EP1818907A1 (en) 2007-08-15
KR20070090906A (ko) 2007-09-06

Similar Documents

Publication Publication Date Title
JP4949853B2 (ja) 再生装置、画像合成方法、画像合成プログラム及び集積回路
US8107788B2 (en) Recording medium, playback device, recording method and playback method
KR100840851B1 (ko) 기록매체, 재생장치, 재생방법, 시스템 집적회로
JP4410253B2 (ja) 読出装置、プログラム、読出方法
KR101076198B1 (ko) 기록매체, 재생장치, 기록방법, 재생방법
JP4664346B2 (ja) 記録媒体、再生装置、プログラム、再生方法
JP4084833B2 (ja) 記録媒体、再生装置、プログラム、再生方法、集積回路

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2005811752

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006547988

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580041501.3

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 1020077012832

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 11720531

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2005811752

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11720531

Country of ref document: US