# Patent

## Title
Reproduction and recording apparatus and method for playing back and recording data encoded according to a predetermined standard

## Abstract

The present invention relates to a recoding device, a recording method, a playback device, a playback method, a program, and a recording medium, whereby synchronization between a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method to be recoded in a recording medium such as a BD or the like using a predetermined encoding method can be secured.
The same point-in-time information with PCR synchronization being secured at the time of encoding is set to a packet storing the data of a certain picture of a Base view video, and a packet storing the data of the picture of the corresponding Dependent view video. Even in the event that a Base view video stream and a Dependent view video stream are each included in a different TS, the same point-in-time information is set to a packet storing the data of the corresponding picture. The present invention may be applied to a playback device compatible with the BD-ROM standard.

## Background
TECHNICAL FIELD
The present invention relates to a recoding device, a recording method, a playback device, a playback method, a program, and a recording medium, and specifically relates to a recoding device, a recording method, a playback device, a playback method, a program, and a recording medium, whereby synchronization between a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method can be secured.
BACKGROUND ART
Two-dimensional image contents are the mainstream as contents, such as movies and so forth, but recently, stereoscopic image contents enabling stereoscopic vision have attracted attention.
A dedicated device is necessary for display of a stereoscopic image, and as an example of such a stereoscopic device there is an IP (Integral Photography) stereoscopic image system developed by NHK (Japan Broadcasting Corporation).
The image data of a stereoscopic image is made up of the image data of multiple view points (the image data of an image shot from multiple view points), the greater the number of view points, and also the wider the range that the view points cover, a subject can be viewed from more various directions, and accordingly, as sort of “television which can be looked into” can be realized.
Of stereoscopic images, the least number of view points is a stereo image (so-called 3D image) of which the number view points is two. The image data of a stereo image is made up of the data of a left image that is an image observed by the left eye, and the data of a right image that is an image observed by the right eye.
On the other hand, a high-resolution image content has great data amount, and accordingly, in order to record such a great data amount content, a large capacity recording medium is necessary.
As such a large capacity recording medium, there is Blu-Ray (registered trademark) Disc (hereafter, also referred to as BD) such as BD (Blu-Ray (registered trademark))-ROM (Read Only Memory) or the like.
CITATION LIST
Patent Literature


    PTL 1: Japanese Unexamined Patent Application Publication No. 2005-348314


SUMMARY OF INVENTION
Technical Problem
Incidentally, with the BD standard, it has not been stipulated how to record the image data of a stereoscopic image including a stereo image in a BD, or how to play it.
For example, the image data of a stereo image is made up of two data streams of the data stream of a left image, and the data stream of a right image. Therefore, it is necessary to record these two data streams in a BD such that playback can be performed with synchronization secured.
The present invention has been made in light of such a situation, and enables securing of synchronization of a basic stream and a basic stream obtained by encoding multiple video data with a predetermined encoding method.
Solution to Problem
A recording device according to an aspect of the present invention includes: encoding means configured to perform encoding, in the event of a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method each being included in different transport streams to be recorded in a recording medium, by setting the same DTS with the same PCR as a reference to a packet storing of a first picture making up the basic stream, and a second picture making up the extended stream, each data of the first picture and the second picture which exist in the same position in decoding sequence, and setting the same PTS with the same PCR as a reference to a packet storing each data of the first picture and the second picture which exist in the same position in display sequence.
A recording method according to an aspect of the present invention includes the step of: performing encoding, in the event of a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method each being included in different transport streams to be recorded in a recording medium, by setting the same DTS with the same PCR as a reference to a packet storing of a first picture making up the basic stream, and a second picture making up the extended stream, each data of the first picture and the second picture which exist in the same position in decoding sequence, and setting the same PTS with the same PCR as a reference to a packet storing each data of the first picture and the second picture which exist in the same position in display sequence.
A program according to an aspect of the present invention causes a computer to execute processing including the step of: performing encoding, in the event of a basic stream and an extended stream obtained by with a predetermined encoding method being included in different transport streams to be recorded in a recording medium, by setting the same DTS with the same PCR as a reference to a packet storing of a first picture making up the basic stream, and a second picture making up the extended stream, each data of the first picture and the second picture which exist in the same position in decoding sequence, and setting the same PTS with the same PCR as a reference to a packet storing each data of the first picture and the second picture which exist in the same position in display sequence.
A recording medium according to an aspect of the present invention, with the same DTS with the same PCR as a reference being set to a packet storing, of a first picture making up a basic stream obtained by encoding a plurality of video data using a predetermined encoding method, and a second picture making up an extended stream, each data of the first picture and the second picture which exist in the same position in decoding sequence, the same PTS with the same PCR as a reference being set to a packet storing each data of the first picture and the second picture which exist in the same position in display sequence, and the basic stream and the extended stream being recorded in the recording medium.
A playback device according to another aspect of the present invention includes: decoding means configured to obtain a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method, included in a different transport stream recorded in a recording medium, to perform decoding based on the same DTS with the same PCR as a reference, set to a packet storing, of a first picture making up the basic stream, and a second picture making up the extended stream, each data of the first picture and the second picture which exist in the same position in decoding sequence, and to output the data of decoding results based on the same PTS with the same PCR as a reference, set to a packet storing each data of the first picture and the second picture which exist in the same position in display sequence.
A playback method according to another aspect of the present invention includes the step of: obtaining a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method, included in a different transport stream recorded in a recording medium, performing decoding based on the same DTS with the same PCR as a reference, set to a packet storing, of a first picture making up the basic stream, and a second picture making up the extended stream, each data of the first picture and the second picture which exist in the same position in decoding sequence; and outputting the data of decoding results based on the same PTS with the same PCR as a reference, set to a packet storing each data of the first picture and the second picture which exist in the same position in display sequence.
A program according to another aspect of the present invention causes a computer to execute processing including the step of: obtaining a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method, included in a different transport stream recorded in a recording medium, performing decoding based on the same DTS with the same PCR as a reference, set to a packet storing, of a first picture making up the basic stream, and a second picture making up the extended stream, each data of the first picture and the second picture which exist in the same position in decoding sequence; and outputting the data of decoding results based on the same PTS with the same PCR as a reference, set to a packet storing each data of the first picture and the second picture which exist in the same position in display sequence.
With an aspect of the present invention, in the event of a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method each being included in different transport streams to be recorded in a recording medium, encoding is performed by setting the same DTS with the same PCR as a reference to a packet storing of a first picture making up the basic stream, and a second picture making up the extended stream, each data of the first picture and the second picture which exist in the same position in decoding sequence, and setting the same PTS with the same PCR as a reference to a packet storing each data of the first picture and the second picture which exist in the same position in display sequence.
With another aspect of the present invention, a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method using a predetermined encoding method, included in a different transport stream recorded in a recording medium are obtained, decoding is performed based on the same DTS with the same PCR as a reference, set to a packet storing, of a first picture making up the basic stream, and a second picture making up the extended stream, each data of the first picture and the second picture which exist in the same position in decoding sequence; and the data of decoding results is output based on the same PTS with the same PCR as a reference, set to a packet storing each data of the first picture and the second picture which exist in the same position in display sequence.
Advantageous Effects of Invention
According to the present invention, synchronization can be secured between a basic stream and an extended stream obtained by encoding a plurality of video data using a predetermined encoding method.



BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a diagram illustrating a configuration example of a playback system including a playback device to which the present invention has been applied.
FIG. 2 is a diagram illustrating a shooting example.
FIG. 3 is a block diagram illustrating a configuration example of a MVC encoder.
FIG. 4 is a diagram illustrating an example of reference image.
FIG. 5 is a diagram illustrating a configuration example of a TS.
FIG. 6 is a diagram illustrating another configuration example of the TS.
FIG. 7 is a diagram illustrating yet another configuration example of the TS.
FIG. 8 is a diagram illustrating an example of AV stream management.
FIG. 9 is a diagram illustrating the structures of a Main Path and Sub Paths.
FIG. 10 is a diagram illustrating an example of the management structure of files to be recorded in an optical disc.
FIG. 11 is a diagram illustrating the syntax of a PlayList file.
FIG. 12 is a diagram illustrating an example of how to use the reserved_for_future_use in FIG. 11.
FIG. 13 is a diagram illustrating the meaning of the value of a 3D_PL_type
FIG. 14 is a diagram illustrating the meaning of the value of a view_type.
FIG. 15 is a diagram illustrating the syntax of the PlaylList( ) in FIG. 11.
FIG. 16 is a diagram illustrating the syntax of the SubPath( ) in FIG. 15.
FIG. 17 is a diagram illustrating the syntax of the SubPlayItem(i) in FIG. 16.
FIG. 18 is a diagram illustrating the syntax of the PlayItem( ) in FIG. 15.
FIG. 19 is a diagram illustrating the syntax of the STN_table( ) in FIG. 18.
FIG. 20 is a block diagram illustrating a configuration example of a playback device.
FIG. 21 is a diagram illustrating a configuration example of the decoder unit in FIG. 20.
FIG. 22 is a diagram illustrating a configuration for performing video stream processing.
FIG. 23 is a diagram illustrating a configuration for performing video stream processing.
FIG. 24 is a diagram illustrating another configuration for performing video stream processing.
FIG. 25 is a diagram illustrating an example of an Access Unit.
FIG. 26 is a diagram illustrating yet another configuration for performing video stream processing.
FIG. 27 is a diagram illustrating the configuration of a synthesizing unit and the previous stage thereof.
FIG. 28 is another diagram illustrating the configuration of a synthesizing unit and the previous stage thereof.
FIG. 29 is a block diagram illustrating a configuration example of a software fabrication processing unit.
FIG. 30 is a diagram illustrating an example of each configuration including the software fabrication processing unit.
FIG. 31 is a diagram illustrating a configuration example of a 3D video TS generating unit to be provided to a recording device.
FIG. 32 is a diagram illustrating another configuration example of the 3D video TS generating unit to be provided to the recording device.
FIG. 33 is a diagram illustrating yet another configuration example of the 3D video TS generating unit to be provided to the recording device.
FIG. 34 is a diagram illustrating the configuration of the playback device side for decoding an Access Unit.
FIG. 35 is a diagram illustrating decoding processing.
FIG. 36 is a diagram illustrating a Close GOP structure.
FIG. 37 is a diagram illustrating an Open GOP structure.
FIG. 38 is a diagram illustrating the maximum number of frames/fields within a GOP.
FIG. 39 is a diagram illustrating a Close GOP structure.
FIG. 40 is a diagram illustrating an Open GOP structure.
FIG. 41 is a diagram illustrating an example of a decoding start position set to an EP_map.
FIG. 42 is a diagram illustrating a problem caused in the event that the GOP structure of Dependent view video is not defined.
FIG. 43 is a diagram illustrating the conception of picture search.
FIG. 44 is a diagram illustrating the structure of an AV stream recorded on an optical disc.
FIG. 45 is a diagram illustrating an example of a Clip AV stream.
FIG. 46 is a diagram conceptually illustrating the EP_map corresponding to the Clip AV stream in FIG. 45.
FIG. 47 is a diagram illustrating an example of the data structure of a source packet indicated by an SPN_EP_start.
FIG. 48 is a block diagram illustrating a configuration example of the hardware of a computer.



DESCRIPTION OF EMBODIMENTS
First Embodiment
Configuration Example of the Playback System
FIG. 1 is a diagram illustrating a configuration example of a playback system including a playback device 1 to which the present invention has been applied.
As illustrated in FIG. 1, this playback system is configured by the playback device 1 and a display device 3 being connected by an HDMI (High Definition Multimedia Interface) cable or the like. An optical disc 2 such as BD or the like is mounted on the playback device 1.
Streams necessary for displaying a stereo image (so-called a 3D image) of which the number of view points is two are recorded in the optical disc 2.
The playback device 1 is a player compatible with 3D playback of streams recorded in the optical disc 2. The playback device 1 plays streams recorded in the optical disc 2, and displays a 3D image obtained by playback on the display device 3 made up of a television receiver or the like. Audio is also played by the playback device 1 in the same way, and is output from a speaker or the like to be provided to the display device 3.
Various methods have been proposed as a 3D image display method. Now, as a 3D image display method, the following type-1 display method and type-2 display method will be employed.
The type-1 display method is a method wherein the data of a 3D image is made up of the data of an image (L image) observed by the left eye, and the data of an image (R image) observed by the right eye, and a 3D image is displayed by alternately displaying the L image and the R image.
The type-2 display method is a method for displaying a 3D image by displaying the L image and the R image to be generated using the data of an original image that is an image serving as the origin for generating a 3D image, and the data of Depth. The data of a 3D image to be used by the type-2 display method is made up of the data of the original image, and the data of Depth that can generate the L image and R image by the original image being provided thereto.
The type-1 display method is a display method wherein glasses are necessary at the time of viewing and listening. The type-2 display method is a display method wherein a 3D image can be viewed and listened to without glasses.
Streams are recorded in the optical disc 2 whereby a 3D image can be displayed by one of the type-1 and type-2 display methods.
As an encoding method for recording such streams in the optical disc 2, for example, the H.264 AVC (Advanced Video Coding)/MVC (Multi-view Video coding) is employed.
H.264 AVC/MVC Profile
With the H.264 AVC/MVC, an image stream called as Base view video, and an image stream called as Dependent view video are defined. Hereafter, the H.264 AVC/MVC is simply referred to as MVC as appropriate.
FIG. 2 is a diagram illustrating a shooting example.
As illustrated in FIG. 2, shooting is performed by a camera for L image, and a camera for R image with the same subject as an object. The elementary stream of video shot by the camera for L image, and the camera for R image is input to an MVC encoder.
FIG. 3 is a block diagram illustrating a configuration example of the MVC encoder.
As illustrated in FIG. 3, an MVC encoder 11 is configured of an H.264/AVC encoder 21, an H.264/AVC decoder 22, a Depth calculating unit 23, a Dependent view video encoder 24, and a multiplexer 25.
The stream of video #1 shot by the camera for L image is input to the H.264/AVC encoder 21 and the Depth calculating unit 23. Also, the stream of video #2 shot by the camera for R image is input to the Depth calculating unit 23 and the Dependent view video encoder 24. An arrangement may be made wherein the stream of the video #2 is input to the H.264/AVC encoder 21 and the Depth calculating unit 23, and the stream of the video #1 is input to the Depth calculating unit 23 and the Dependent view video encoder 24.
The H.264/AVC encoder 21 encodes the stream of the video #1, for example, as a H.264 AVC/High Profile video stream. The H.264/AVC encoder 21 outputs the encoded and obtained AVC video stream to the H.264/AVC decoder 22 and the multiplexer 25 as a Base view video stream.
The H.264/AVC decoder 22 decodes the AVC video stream supplied from the H.264/AVC encoder 21, and outputs the decoded and obtained stream of the video #1 to the Dependent view video encoder 24.
The Depth calculating unit 23 calculates Depth based on the stream of the video #1, and the stream of the video #2, and outputs the calculated Depth data to the multiplexer 25.
The Dependent view video encoder 24 encodes the stream of the video #1 supplied from the H.264/AVC decoder 22, and the stream of the video #2 externally input, and outputs the Dependent view video stream.
With regard to Base view video, predictive coding with another stream as a reference image is not allowed, but as illustrated in FIG. 4, with regard to Dependent view video, predictive coding with Base view video as a reference image is allowed. For example, in the event that encoding has been performed with an L image as Base view video and with an R image as Dependent view video, the data amount of the Dependent view video stream obtained as a result thereof is less than the data amount of the Base view video stream.
Note that, according to encoding with H.264/AVC, prediction in the time direction has been performed regarding Base view video. Also, with regard to Dependent view video as well, prediction in the time direction has been performed along with prediction between views. In order to decode Dependent view video, decoding of the corresponding Base view video, which has been taken as a reference destination at the time of encoding, needs to have previously been completed.
The Dependent view video encoder 24 outputs the Dependent view video stream obtained by encoding using such prediction between views to the multiplexer 25.
The multiplexer 25 multiplexes the Base view video stream supplied from the H.264/AVC encoder 21, the Dependent view video stream (data of Depth) supplied from the Depth calculating unit 23, and the Dependent view video stream supplied from the Dependent view video encoder 24, for example, as MPEG2 TS. The Base view video stream, and the Dependent view video stream may be multiplexed in a single MPGE2 TS, or may be included in a separate MPEG2 TS.
The multiplexer 25 outputs the generated TS (MPEG2 TS). The TS output from the multiplexer 25 is recorded in an optical disc 2 at the recording device along with other management data, and is provided to the playback device 1 in a manner recorded in the optical disc 2.
In the event that Dependent view video to be used along with Base view video in the type-1 display method needs to be distinguished from Dependent view video (Depth) to be used along with Base view video in the type-2 display method, the former will be referred to as D1 view video, and the latter will be referred to as D2 view video.
Also, 3D playback in the type-1 display method to be performed using Base view video and D1 view video will be referred to as B-D1 playback. 3D playback in the type-2 display method to be performed using Base view video and D2 view video will be referred to as B-D2 playback.
In the event of performing B-D1 playback according to an instruction by the user, or the like, the playback device 1 reads out and plays the Base view video stream, and the D1 view video stream from the optical disc 2.
Also, in the event of performing B-D2 playback, the playback device 1 reads out and plays the Base view video stream and the D2 view video stream from the optical disc 2.
Further, in the event of performing playback of a usual 2D image, the playback device 1 reads out and plays the Base view video stream alone from the optical disc 2.
The Base view video stream is an AVC video stream encoded by H.264/AVC, and accordingly, as long as the playback device 1 is a player compatible with the BD format, the playback device 1 can play the Based view video stream thereof to display a 2D image.
Hereafter, description will be made principally regarding a case where the Dependent view video is the D1 view video. When simply being referred to as Dependent view video, it represents D1 view video. D2 view video is also recorded in the optical disc 2 in the same way as with D1 view video, and is played.
Configuration Example of TS
FIG. 5 is a diagram illustrating a configuration example of a TS.
The streams of each of Base view video, Dependent view video, Primary audio, Base PG, Dependent PG, Base IG, and Dependent IG, are multiplexed in a Main TS in FIG. 5. As described above, the Dependent view video stream may be included in the Main TS along with the Base view video stream.
The Main TS and a Sub TS are recorded in the optical disc 2. The Main TS is a TS including at least the Base view video stream. The Sub TS is a TS including a stream other than the Base view video stream, to be used along with the Main TS.
Each of the streams of the Base view and Dependent view is prepared regarding later-described PG and IG so that display in 3D is available in the same way as with video.
The plane of Base view of PG and IG obtained by decoding each of the streams is displayed by being synthesized with the plane of Base view video obtained by decoding the Base view video stream. Similarly, the plane of Dependent view of PG and IG is displayed by being synthesized with the plane of Dependent view video obtained by decoding the Dependent view video stream.
For example, in the event that the Base view video stream is a stream of an L image, and the Dependent view video stream is a stream of an R image, with regard to PG and IG as well, the stream of the Base view thereof becomes a graphics stream of the L image. Also, a PG stream and an IG stream of Dependent view become a graphics stream of the R image.
On the other hand, in the event that the Base view video stream is a stream of an R image, and the Dependent view video stream is a stream of an L image, with regard to PG and IG as well, the stream of the Base view thereof becomes a graphics stream of the R image. Also, a PG stream and an IG stream of Dependent view become a graphics stream of the L image.
FIG. 6 is a diagram illustrating another configuration example of the TS.
Each stream of Base view video and Dependent view video is multiplexed in the Main TS in FIG. 6.
On the other hand, each stream of Primary audio, Base PG, Dependent PG, Base IG, and Dependent IG is multiplexed in the Sub TS.
Thus, an arrangement may be made wherein a video stream is multiplexed in the Main TS, and the streams of PG and IG, and so forth are multiplexed in the Sub TS.
FIG. 7 is a diagram illustrating yet another configuration example of the TS.
Each stream of Base view video, Primary audio, Base PG, Dependent PG, Base IG, and Dependent IG is multiplexed in the Main TS in FIG. 7A.
On the other hand, the Dependent view video stream is included in the Sub TS.
Thus, the Dependent view video stream may be included in another TS different from the Base view video stream.
Each stream of Base view video, Primary audio, PG, and IG is multiplexed in the Main TS in FIG. 7B. On the other hand, each stream of Dependent view video, Base PG, Dependent PG, Base IG, and Dependent IG is multiplexed in the Sub TS.
The PG and IG included in the Main TS are streams for 2D playback. The streams included in the Sub TS are streams for 3D playback.
Thus, a stream of PG, and a stream of IG may not be shared for 2D playback and 3D playback.
As described above, the Base view video stream and the Dependent view video stream may be included in a different MPEG2 TS. Description will be made regarding an advantage in the event that the Base view video stream and the Dependent view video stream are included in a different MPEG2 TS, and are recorded.
For example, let us consider a case where a bit rate whereby multiplexing can be performed as a single MPEG2 TS is restricted. In this case, when both of the Base view video stream and the Dependent view video stream are included in a single MPEG2 TS, the bit rate of each stream needs to be reduced to satisfy the constraint thereof. As a result thereof, the image quality deteriorates.
The bit rate does not need to be reduced due to each stream being included in different MPEG2 TSs, so the image quality can be prevented from deteriorating.
Application Format
FIG. 8 is a diagram illustrating an example of AV stream management by the playback device 1.
The AV stream management is performed using two layers of PlayList and Clip, such as illustrated in FIG. 8. An AV stream may be recorded in a local storage of the playback device 1, not just the optical disc 2.
Here, a pair of one AV stream, and Clip Information that is information accompanied therewith is conceived as one object, and these will be referred to as Clip collectively. Hereafter, a file storing an AV stream will be referred to as an AV stream file. Also, a file storing Clip Information will also be referred to as a Clip Information file.
An AV stream is mapped on the time axis, and the access point of each Clip is specified principally by a time stamp in a PlayList. A Clip Information file is used for finding an address for starting decoding within an AV stream, and so forth.
A PlayList is a group of playback sections of an AV stream. One playback section within an AV stream will be referred to as a PlayItem. A PlayItem is represented with a pair of an In point and an Out point of a playback section on the time axis. As illustrated in FIG. 8, a PlayList is made up of a single or multiple PlayItems.
The first PlayList from the left of FIG. 8 is made up of two PlayItems, a first-half portion and a second-half portion of an AV stream included in a Clip on the left side are referenced by the two PlayItems thereof, respectively.
The second PlayList from the left is made up of one PlayItem, and according to this, the whole AV stream included in the Clip on the right side is referenced.
The third PlayList from the left is made up of two PlayItems, and according to these two PlayItems, a certain portion of the AV stream included in the Clip on the left side, and a certain portion of the AV stream included in the Clip on the right side are referenced.
For example, in the event that the PlayItem on the left side included in the first PlayList from the left has been specified by a disc navigation program as a playback object, playback of the first-half portion of the AV stream included in the Clip on the left side, which is referenced by the PlayItem thereof, is performed. Thus, PlayLists are employed as playback management information for managing playback of an AV stream.
A playback path created by an array of one or more PlayItems within a PlayList will be referred to as a Main Path.
Also, a playback path created by an array of one or more SubPlayItems within a PlayList in parallel with the Main Path will be referred to as a Sub Path.
FIG. 9 is a diagram illustrating the structures of the Main Path and the Sub Path.
A PlayList can have one Main Path and one or more Sub Paths.
The above-mentioned Base view video stream is managed as a stream that a PlayItem making up the Main Path references. Also, the Dependent view video stream is managed as a stream that a SubPlayItem making up a Sub Path references.
The PlayList in FIG. 9 has one Main Path made up of an array of three PlayItems, and three Sub Paths.
An ID is set to each of the PlayItems making up the Main Path in order from the head. The IDs of the Subpath_id=0, Subpath_id=1, and Subpath_id=2 are also set to the Sub Paths in order from the head, respectively.
With the example in FIG. 9, one SubPlayItem is included in the Sub Path of the Subpath_id=0, and two SubPlayItems are included in the Sub Path of the Subpath_id=1. Also, one SubPlayItem is included in the Sub Path of the Subpath_id=2.
The Clip AV stream referenced by one PlayItem includes at least a video stream (main image data).
Also, the Clip AV stream may include or may not include one or more audio streams to be played at the same timing as (in sync) with a video stream included in the Clip AV stream.
The Clip AV stream may include or may not include one or more bit-mapped caption data (PG (Presentation Graphic)) streams to be played in sync with the video stream included in the Clip AV stream.
The Clip AV stream may include or may not include one or more IG (Interactive Graphic) streams to be played in sync with a video stream included in a Clip AV stream file. The IG streams are used for displaying a graphic such as a button to be operated by a user, or the like.
With the Clip AV stream referenced by one PlayItem, the video stream, zero or more audio streams to be played in sync therewith, zero or more PG streams, and zero or more IG streams are multiplexed.
Also, one SubPlayItem references a video stream, audio stream, PG stream, or the like that is a stream different from the Clip AV stream referenced by the PlayItem.
The management of an AV stream using such a PlayList, PlayItem, and SubPlayItem has been described in Japanese Unexamined Patent Application Publication No. 2008-252740, and Japanese Unexamined Patent Application Publication No. 2005-348314.
Directory Structure
FIG. 10 is a diagram illustrating an example of a management structure of files to be recorded in the optical disc 2.
As illustrated in FIG. 10, files are managed by a directory structure in a hierarchical manner. One root directory is created on the optical disc 2. The underneath of the root directory becomes a range to be managed by one recording/playback system.
A BDMV directory is disposed underneath the root directory.
An Index file that is a file to which the name of “Index.bdmv” is set, and a MovieObject file that is a file to which the name of “MovieObject.bdmv” are stored immediately underneath the BDMV directory.
A BACKUP directory, a PLAYLIST directory, a CLIPINF directory, a STREAM directory, and so forth are provided underneath the BDMV directory.
A PlayList file in which a PlayList is described is stored in the PLAYLIST directory. A name in which a five-digit number and an extension “.mpls” are combined is set to each PlayList file. The file name of “00000.mpls” is set to one PlayList file illustrated in FIG. 10.
A Clip Information file is stored in the CLIPINF directory. A name in which a five-digit number and an extension “.clpi” are combined is set to each Clip Information file.
The file names of “00001.clpi”, “00002.clpi”, and “00003.clpi” are set to three Clip Information files in FIG. 10, respectively. Hereafter, Clip Information files will be referred to as clpi files as appropriate.
For example, the clpi file of “00001.clpi” is a file in which information relating to Clip of Base view video is described.
The clpi file of “00002.clpi” is a file in which information relating to Clip of D2 view video is described.
The clpi file of “00003.clpi” is a file in which information relating to Clip of D1 view video is described.
A stream file is stored in the STREAM directory. A name in which a five-digit number and an extension “.m2ts” are combined or a name in which a five-digit number and an extension “.ilvt” is set to each stream file. Hereafter, a file to which the extension “.m2ts” is set will be referred to as an m2ts file as appropriate. Also, a file to which the extension “.ilvt” is set will be referred to as an ilvt file.
The m2ts file of “00001.m2ts” is a file for 2D playback, and readout of the Base view video stream is performed by specifying this file.
The m2ts file of “00002.m2ts” is a D2 view video stream file, and the m2ts file of “00003.m2ts” is a D1 view video stream file.
The ilvt file of “10000.ilvt” is a file for B-D1 playback, and readout of the Base view video stream and the D1 view video stream is performed by specifying this file.
The ilvt file of “20000.ilvt” is a file for B-D2 playback, and readout of the Base view video stream and the D2 view video stream is performed by specifying this file.
In addition to the directories illustrated in FIG. 10, a directory storing an audio stream file, and so forth are provided underneath the BDMV directory.
Syntax of Each Data
FIG. 11 is a diagram illustrating the syntax of a PlayList file.
A PlayList file is a file to which the extension “.mpls” is set, which is stored in the PLAYLIST directory in FIG. 10.
type_indicator in FIG. 11 represents the type of a “xxxxx.mpls” file.
version_number represents the version number of “xxxxx.mpls”. The version_number is made up of a four-digit number. For example, “0240” representing that this is “3D Spec version” is set to a PlayList file for 3D playback.
PlayList_start_address represents the head address of PlayList( ) with the number of relative bytes from the head byte of the PlayList file as units.
PlayListMark_start_address represents the head address of PlayListMark( ) with the number of relative bytes from the head byte of the PlayList file as units.
ExtensionData_start_address represents the head address of ExtensionData( ) with the number of relative bytes from the head byte of the PlayList file as units.
reserved_for_future_use of 160 bits is included after the ExtensionData_start_address.
Parameters relating to playback control of a PlayList such as playback restrictions and so forth are stored in AppInfoPlayList( )
Parameters relating to the Main Path, Sub Path, and so forth are stored in PlayList( ). The content of PlayList( ) will be described later.
PlayList mark information, i.e., information relating to a mark that is a jump destination (jump point) of a user operation or a command for instructing chapter jump or the like is stored in PlayListMark( ).
Private data may be inserted in ExtensionData( ).
FIG. 12 is a diagram illustrating a specific example of the description of the PlayList file.
As illustrated in FIG. 12, a 3D_PL_type of 2 bits, and the view_type of 1 bit are described in the PlayList file.
The 3D_PL_type represents the type of a PlayList.
The view_type represents whether the Base view video stream of which the playback is managed by a PlayList is an L image (L view) stream or an R image (R view) stream.
FIG. 13 is a diagram illustrating the meaning of the value of the 3D_PL_type.
The value 00 of the 3D_PL_type represents that this is a PlayList for 2D playback.
The value 01 of the 3D_PL_type represents that this is a PlayList for B-D1 playback of 3D playback.
The value 10 of the 3D_PL_type represents that this is a PlayList for B-D2 playback of 3D playback.
For example, in the event that the value of the 3D_PL_type is 01 or 10, 3DPlayList information is registered in ExtensitionData( ) of the PlayList file. For example, information relating to readout from the optical disc 2 of the Base view video stream and the Dependent view video stream is registered as the 3DPlayList information.
FIG. 14 is a diagram illustrating the meaning of the value of the view_type.
In the event of performing 3D playback, the value 0 of the view_type represents that the Base view video stream is an L view stream. In the event of performing 2D playback, the value 00 of the view_type represents that the Base view video stream is an AVC video stream.
The value 1 of the view_type represents that the Base view video stream is an R view stream.
The playback device 1 can identify whether the Base view video stream is an L view stream or an R view stream by the view_type being described in the PlayList file.
For example, in the event that a video signal is output to the display device 3 via an HDMI cable, it can be conceived that the playback device 1 is required to output the L view signal and the R view signal after each of the signals is distinguished.
The playback device 1 can distinguish and output an L view signal and an R view signal by enabling it to be identified whether the Base view video stream is an L view stream or an R view stream.
FIG. 15 is a diagram illustrating the syntax of the PlayList( ) in FIG. 11.
length is a 32-bit integer including no sign, indicating the number of bytes from immediately after this length field to the last of the PlayList( ). That is to say, length represents the number of bytes from reserved_for_future_use to the last of the PlayList.
16-bit reserved_for_future_use is prepared after the length.
number_of_PlayItems is a 16-bit field indicating the number of PlayItems within a PlayList. In the case of the example in FIG. 9, the number of PlayItems is 3. The value of a PlayItem_id is assigned from 0 in order wherein PlayItem( ) appears within the PlayList. For example, the PlayItem_id=0, 1, 2 in FIG. 9 is assigned thereto.
number_of_SubPaths is a 16-bit field indicating the number of Sub Paths within a PlayList. In the case of the example in FIG. 9, the number of Sub Paths is 3. The value of the SubPath_id is assigned from 0 in order wherein SubPath( ) appears within a PlayList. For example, Subpath_id=0, 1, 2 in FIG. 9 is assigned thereto. With the subsequent for sentence, the PlayItem( ) is referenced by the number of PlayItems, and the SubPath( ) is referenced by the number of Sub Paths.
FIG. 16 is a diagram illustrating the syntax of the SubPath( ) in FIG. 15.
length is a 32-bit integer including no sign, indicating the number of bytes from immediately after this length field to the last of the Sub Path( ). That is to say, the length represents the number of bytes from reserved_for_future_use to the last of the PlayList.
16-bit reserved_for_future_use is prepared after the length.
SubPath_type is a 8-bit field indicating the type of the application of a Sub Path. The SubPath_type is used, for example, in the event of indicating whether the type of a Sub Path is audio, bitmap caption, or text caption.
15-bit reserved_for_future_use is prepared after the SubPath_type.
is_repeat_SubPath is a one-bit field specifying the playback method of a Sub Path, which indicates whether playback of the Sub Path is repeatedly performed during playback of the Main Path, or playback of the Sub Path is performed only once. For example, in the event that the playback timing of the Clip referenced by the Main Path, and the playback timing of the Clip referenced by the Sub Path differ (in the event that the Main Path is taken as the path of slide show of still images, and the Sub Path is taken as the path of audio serving as BGM, etc.), this field is used.
8-bit reserved_for_future_use is prepared after the is_repeat_SubPath.
number_of_SubPlayItems is a 8-bit field indicating the number of SubPlayItems (number of entries) within one Sub Path. For example, the number_of_SubPlayItems of the SubPlayItem of the SubPath_id=0 in FIG. 9 is 1, and the number_of_SubPlayItems of the SubPlayItem of the SubPath_id=1 is 2. With the subsequent for sentence, SubPlayItem( ) is referenced by the number of SubPlayItems.
FIG. 17 is a diagram illustrating the syntax of the SubPlayItem(i) in FIG. 16.
length is a 16-bit integer including no sign, indicating the number of bytes from immediately after this length field to the last of Sub playItem( ).
SubPlayItem(i) in FIG. 17 is described in a manner divided into a case where the SubPlayItem references one Clip, and a case where the SubPlayItem references multiple Clips.
Description will be made regarding a case where the SubPlayItem references one Clip.
Clip_Information_file_name[0] represents a Clip to be referenced.
Clip_codec_identifier[0] represents a Clip codec method. reserved_for_future_use is included after the Clip_codec_identifier[0].
is_multi_Clip_entries is a flag indicating presence/absence of registration of multiple Clips. In the event of the flag of the is_multi_Clip_entries being on, the syntax in the event that SubPlayItem references multiple Clips is referenced.
ref_to_STC_id[0] is information relating to a STC discontinuous point (a discontinuous point of system time basis).
SubPlayItem_IN_time represents the start position of a playback section of a Sub Path, and SubPlayItem_OUT_time represents the end position.
sync_PlayItem_id and sync_start_PTS_of_PlayItem represent point-in-time when the Sub Path starts playback on the time axis of the Main Path.
SubPlayItem_IN_time, SubPlayItem_OUT_time, sync_PlayItem_id, and sync_start_PTS_of_PlayItem are commonly used at the Clip referenced by the SubPlayItem.
Description will be made regarding a case where “If (is_multi_Clip_entries==1b”, and the SubPlayItem reference multiple Clips.
num_of_Clip_entries represents the number of Clips to be referenced. The number of Clip_Information_file_name[SubClip_entry_id] specifies the number of Clips excluding Clip_Information_file_name[0].
Clip_codec_identifier[SubClip_entry_id] represents a Clip codec method.
ref_to_STC_id[SubClip_entry_id] is information relating to a STC discontinuous point (a discontinuous point of system time basis). reserved_for_future_use is included after the ref_to_STC_id[SubClip_entry_id].
FIG. 18 is a diagram illustrating the syntax of the PlayItem( ) in FIG. 15.
length is a 16-bit integer including no sign, indicating the number of bytes from immediately after this length field to the last of the PlayItem( ).
Clip_Information_filename[0] represents the file name of the Clip Information file of the Clip referenced by the PlayItem. Note that the same 5-digit number is included in the file name of a mt2s file including a Clip, and the file name of the Clip Information file corresponding thereto.
Clip_codec_identifier[0] represents a Clip codec method. reserved_for_future_use is included after the Clip_codec_identifier[0]. is_multi_angle, and connection_condition are included after the reserved_for_future_use.
ref_to_STC_id[0] is information relating to a STC discontinuous point (a discontinuous point of system time basis).
IN_time represents the start position of a playback section of a PlayItem, and OUT_time represents the end position.
UO_mask_table( ), PlayItem_random_access_mode, and still_mode are included after the OUT_time.
STN_table( ) includes the information of an AV stream referenced by an object PlayItem. Also, in the event that there is a Sub Path to be played in a manner correlated with the object PlayItem, the information of an AV stream referenced by the SubPlayItem making up the Sub Path thereof is also included.
FIG. 19 is a diagram illustrating the syntax of the STN_table( ) in FIG. 18.
The STN_table( ) is set as the attribute of a PlayItem.
length is a 16-bit integer including no sign, indicating the number of bytes from immediately after this length field to the last of the STN_table( ). 16-bit reserved_for_future_use is prepared after the length.
number_of_video_stream_entries represents the number of streams to which video_stream_id to be entered (registered) within the STN_table( ) is provided.
video_stream_id is information for identifying a video stream. For example, the Base view video stream is determined by this video_stream_id.
The ID of the Dependent view video stream may be defined within the STN_table( ), or may be obtained by calculation such as adding a predetermined value to the ID of the Base view video stream, or the like.
video_stream_number is a video stream number as viewed from the user, which is used for video switching.
number_of_audio_stream_entries represents the number of streams of the first audio streams to which audio_stream_id is provided, which is entered within the STN_table( ). The audio_stream_id is information for identifying an audio stream, and audio_stream_number is an audio stream number as viewed from the user, which is used for audio switching.
number_of audio_stream2_entries represents the number of streams of the second audio streams to which audio_stream_id2 is provided, which is entered within the STN_table( ). The audo_stream_id2 is information for identifying an audio stream, and audio_stream_number is an audio stream number as viewed from the user, which is used for audio switching. With this example, audio to be played is arranged to be switched.
number_of_PG_txtST_stream_entries represents the number of streams to which PG_txtST_stream_id is provided, which is entered within the STN_table( ). Among of these, a PG stream obtained by subjecting bitmap caption to run length coding, and a text caption file (txtST) are entered. PG_txtST_stream_id is information for identifying a caption stream, and PG_txtST_stream_number is a caption stream number as viewed from the user, which is used for caption switching.
number_of_IG stream_entries represents the number of streams to which IG_stream_id is provided, which is entered within the STN_table( ). Among of these, IG streams are entered. IG_stream_id is information for identifying an IG stream, and IG_stream_number is a graphics stream number as viewed from the user, which is used for graphics switching.
The IDs of the Main TS and Sub TS are also registered in the STN_table( ). It is described in stream_attribute( ) that the ID thereof is not an elementary stream but the ID of a TS.
Configuration Example of the Playback Device 1
FIG. 20 is a block diagram illustrating a configuration example of the playback device 1.
A controller 51 executes a prepared control program to control the whole operation of the playback device 1.
For example, the controller 51 controls a disk drive 52 to read out a PlayList file for 3D playback. Also, the controller 51 controls the disk drive 52 to read out the Main TS and Sub Ts based on IDs registered in STN_table and to supply these to a decoder unit 56.
The disk drive 52 reads out data from the optical disc 2 in accordance with the control by the controller 51, and outputs the readout data to the controller 51, memory 53, and decoder unit 56.
The memory 53 stores data necessary for the controller 51 executing various types of processing, as appropriate.
A local storage 54 is configured of, for example, an HDD (Hard Disk Drive). The Dependent view video stream or the like downloaded from a server 72 is recorded in the local storage 54. The stream recorded in the local storage 54 is also supplied to the decoder unit 56 as appropriate.
An internet interface 55 performs communication with the server 72 via a network 71 in accordance with the control from the controller 51, and supplies the data downloaded from the server 72 to the local storage 54.
Data for updating data recorded in the optical disc 2 is downloaded from the server 72. 3D playback of the content different from the content of the optical disc 2 can be realized by enabling the downloaded Dependent view video stream to be used along with the Base view video stream recorded in the optical disc 2. When the Dependent view video stream is downloaded, the content of a PlayList is also updated as appropriate.
The decoder unit 56 decodes the stream supplied from the disk drive 52 or local storage 54, and outputs the obtained video signal to the display device 3. An audio signal is also output to the display device 3 via a predetermined route.
The operation input unit 57 is configured of an input device such as a button, key, touch panel, jog dial, mouse, and so forth, and a receiving unit for receiving a signal such as an infrared ray transmitted from a predetermined remote commander. The operation input unit 57 detects the user's operation to supply a signal representing the content of the detected operation to the controller 51.
FIG. 21 is a diagram illustrating a configuration example of the decoder unit 56.
FIG. 21 illustrates a configuration wherein processing of a video signal is performed. With the decoder unit 56, decoding processing of an audio signal is also performed. The results of the decoding processing performed with an audio signal as an object are output to the display device 3 via an unshown route.
A PID filter 101 identifies whether the TS supplied from the disk drive 52 or local storage 54 is the Main TS or Sub TS, based on the PID of a packet, and the ID of a stream, making up the TS. The PID filter 101 outputs the Main TS to a buffer 102, and outputs the Sub TS to a buffer 103.
The PID filter 104 sequentially reads out the packet of the Main TS stored in the buffer 102 to distribute this based on the PID.
For example, the PID filter 104 outputs a packet making up the Base view video stream included in the Main TS to a B video buffer 106, and outputs a packet making up the Dependent view video stream to a switch 107.
Also, the PID filter 104 outputs a packet making up the Base IG stream included in the Main TS to a switch 114, and outputs a packet making up the Dependent IG stream to a switch 118.
The PID filter 104 outputs a packet making up the Base PG stream included in the Main TS to a switch 122, and outputs a packet making up the Dependent PG stream to a switch 126.
As described with reference to FIG. 5, the stream of each of Base view video, Dependent view video, Base PG, Dependent PG, Base IG, and Dependent IG may be multiplexed in the Main TS.
A PID filter 105 sequentially reads out the packet of the Sub TS stored in the buffer 103 to distribute this based on the PID.
For example, the PID filter 105 outputs a packet making up the Dependent view video stream included in the Sub TS to the switch 107.
Also, the PID filter 105 outputs a packet making up the Base IG stream included in the Sub TS to the switch 114, and outputs a packet making up the Dependent IG stream to the switch 118.
The PID filter 105 outputs a packet making up the Base PG stream included in the Sub TS to the switch 122, and outputs a packet making up the Dependent PG stream to the switch 126.
As described with reference to FIG. 7, the Dependent view video stream may be included in the Sub TS. Also, as described with reference to FIG. 6, each of the streams of Base PG, Dependent PG, Base IG, and Dependent IG may be multiplexed in the Sub TS.
The switch 107 outputs a packet making up the Dependent view video stream supplied from the PID filter 104 or PID filter 105 to a D video buffer 108.
A switch 109 sequentially reads out a Base view video packet stored in a B video buffer 106, and a Dependent view video packet stored in the D video buffer 108 in accordance with point-in-time information that stipulates decoding timing. For example, the same point-in-time information is set to a packet which stores the data of a certain picture of the base view video, and a packet which stores the data of the picture of the corresponding Dependent view video.
The switch 109 outputs the packet read out from the B video buffer 106 or D video buffer 108 to a video decoder 110.
The video decoder 110 decodes the packet supplied from the switch 109 to output the Base view video or Dependent view video obtained by decoding to a switch 111.
The switch 111 outputs data obtained by decoding a Base view video packet to a B video plane generating unit 112, and outputs data obtained by decoding a Dependent view video packet to a D video plane generating unit 113.
The B video plane generating unit 112 generates a Base view video plane based on the data supplied from the switch 111 to output this to a synthesizing unit 130.
The D video plane generating unit 113 generates a Dependent view video plane based on the data supplied from the switch 111 to output this to the synthesizing unit 130.
The switch 114 outputs a packet making up the Base IG stream supplied from the PID filter 104 or PID filter 105 to a B IG buffer 115.
A B IG decoder 116 decodes a packet making up the Base IG stream stored in the B IG buffer 115 to output the data obtained by decoding to a B IG plane unit 117.
The B IG plane generating unit 117 generates a Base IG plane based on the data supplied from the B IG decoder 116 to output this to the synthesizing unit 130.
The switch 118 outputs a packet making up the Dependent IG stream supplied from the PID filter 104 or PID filter 105 to a D IG buffer 119.
A D IG decoder 120 decodes a packet making up the Dependent IG stream stored in the D IG buffer 119 to output the data obtained by decoding to a D IG plane generating unit 121.
The D IG plane generating unit 121 generates a Dependent IG plane based on the data supplied from the D IG decoder 120 to output this to the synthesizing unit 130.
The switch 122 outputs a packet making up the Base PG stream supplied from the PID filter 104 or PID filter 105 to a B PG buffer 123.
A B PG decoder 124 decodes a packet making up the Base PG stream stored in the B PG buffer 123 to output the data obtained by decoding to a B PG plane generating unit 125.
The B PG plane generating unit 125 generates a Base PG plane based on the data supplied from the B PG decoder 124 to output this to the synthesizing unit 130.
The switch 126 outputs a packet making up the Dependent PG stream supplied from the PID filter 104 or PID filter 105 to a D PG buffer 127.
A D PG decoder 128 decodes a packet making up the Dependent PG stream stored in the D PG buffer 127 to output the data obtained by decoding to a D PG plane generating unit 129.
The D PG plane generating unit 129 generates a Dependent PG plane based on the data supplied from the D PG decoder 128 to output this to the synthesizing unit 130.
The synthesizing unit 130 synthesizes the Base view video plane supplied from the B video plane generating unit 112, the Base IG plane supplied from the B IG plane generating unit 117, and the Base PG plane supplied from the B PG plane generating unit 125 by overlaying these in a predetermined order to generate a Base view plane.
Also, the synthesizing unit 130 synthesizes the Dependent view video plane supplied from the D video plane generating unit 113, the Dependent IG plane supplied from the D IG plane generating unit 121, and the Dependent PG plane supplied from the D PG plane generating unit 129 by overlaying these in a predetermined order to generate a Dependent view plane.
The synthesizing unit 130 outputs the data of a Base view plane and a Dependent view plane. The video data output from the synthesizing unit 130 is output to the display device 3, and 3D display is performed by the Base view plane and the Dependent view plane being alternately displayed.
First Example of T-STD (Transport Stream-System Target Decoder)
Now, of the configurations shown in FIG. 21, the configuration of the decoder and the surroundings thereof will be described.
FIG. 22 is a diagram illustrating a configuration wherein processing of a video stream is performed.
In FIG. 22, the same configuration as the configuration illustrated in FIG. 21 is denoted with the same reference numeral. FIG. 22 illustrates the PID filter 104, B video buffer 106, switch 107, D video buffer 108, switch 109, video decoder 110, and a DPB (Decoded Picture Buffer) 151. Though not illustrated in FIG. 21, the DPB 151 in which the data of a decoded picture is stored is provided to the subsequent stage of the video decoder 110.
The PID filter 104 outputs a packet making up the Base view video stream included in the Main TS to the B video buffer 106, and outputs a packet making up the Dependent view video stream to the switch 107.
For example, PID=0 has been assigned to a packet making up the Base view video stream as the fixed value of the PID. Also, a fixed value other than 0 has been assigned to a packet making up the Dependent view video stream as the PID.
The PID filter 104 outputs a packet of which the header is described with PID=0 to the B video buffer 106, and outputs a packet of which the header is described with a PID other than 0 to the switch 107.
The packet output to the B video buffer 106 is stored in a VSB1 via a TB (Transport Buffer)1 and an MB (Multiplexing Buffer)1. The data of the elementary stream of the Base view video is stored in the VSB1.
Not only the packet output from the PID filter 104 but also a packet making up the Dependent view video stream extracted from the Sub TS at the PID filter 105 in FIG. 21 are also supplied to the switch 107.
In the event that a packet making up the Dependent view video stream has been supplied from the PID filter 104, the switch 107 outputs this to the D video buffer 108.
Also, in the event that a packet making up the Dependent view video stream has been supplied from the PID filter 105, the switch 107 outputs this to the D video buffer 108.
The packet output to the D video buffer 108 is stored in a VSB2 via a TB2 and an MB2. The data of the elementary stream of the Dependent view video is stored in the VSB2.
The switch 109 sequentially reads out the Base view video packet stored in the VSB1 of the B video buffer 106, and the Dependent view video packet stored in the VSB2 of the D video buffer 108, and outputs these to the video decoder 110.
For example, the switch 109 continuously outputs a Base view video packet and a Dependent view video packet at the same point-in-time to the video decoder 110 so as to output, immediately after outputting a Base view video packet at a certain point-in-time, a Dependent view video packet at the same point-in-time as the point-in-time thereof.
With a packet storing the data of a certain picture of Base view video, and a packet storing the data of a picture of the Dependent view video corresponding thereto, at the time encoding thereof, the same point-in-time information with PCR (Program Clock Reference) synchronization being ensured is set. Even in the event that a Base view video stream and a Dependent view video stream are each included in a different TS, the same point-in-time information is set to a packet storing the data of the corresponding picture.
The point-in-time information is a DTS (Decoding Time Stamp), and a PTS (Presentation Time Stamp), and is set to each PES (Packetized Elementary Stream) packet.
That is to say, the picture of Base view video, and the picture of Dependent view video, positioned at the same point-in-time when arraying the picture of each stream in encoding sequence/decoding sequence become the corresponding pictures. The same DTS is set to a PES packet storing the data of a certain Base view video picture, and a PES packet storing the data of the Dependent view video picture corresponding to the picture thereof in decoding sequence.
Also, a Base view video picture and a Dependent view picture positioned at the same point-in-time when arraying the picture of each of the streams in display sequence also become the corresponding pictures. The same PTS is set to a PES packet storing the data of a certain Base view video picture, and a PES packet storing the data of the Dependent view video picture corresponding to that picture in display sequence.
In the event that the GOP structure of a Base view video stream, and the GOP structure of a Dependent view video stream are the same structure, pictures corresponding in decoding sequence also become pictures corresponding in display sequence, which will be described later.
In the event that transfer of a packet is performed serially, the DTS1 of a packet read out from the VSB1 of the B video buffer 106 at a particular timing, and the DTS2 of a packet read out from the VSB2 f the D video buffer 108 at timing immediately thereafter, represent the same point-in-time, as illustrated in FIG. 22.
The switch 109 outputs a Base view video packet read out from the VSB1 of the B video buffer 106, or a Dependent view video packet read out from the VSB2 of the D video buffer 108 to the video decoder 110.
The video decoder 110 sequentially decodes the packet supplied from the switch 109 to store the data of a Base view video picture, or the data of a Dependent view video picture obtained by decoding in the DPB 151.
The data of a decoded picture stored in the DPB 151 is read out by the switch 111 at predetermined timing. Also, the data of the decoded picture stored in the DPB 151 is used for prediction of another picture by the video decoder 110.
In the event that transfer of data is performed serially, the PTS of the data of a Base view video picture output at certain timing, and the PTS of the data of a Dependent view video picture output at timing immediately after represent the same point-in-time.
A Base view video stream and a Dependent view video stream may be multiplexed in a single TS such as described with reference to FIG. 5 and so forth, or may be each included in a different TS as described with reference to FIG. 7.
Even in the case that a Base view video stream and a Dependent view video stream are multiplexed in a single TS, or may be each included in a different TS, the playback device 1 can handle such a case by implementing the decoder model in FIG. 22.
For example, as illustrated in FIG. 23, in the event that only a situation in which a single TS is supplied is assumed, the playback device 1 cannot handle a case where a Base view video stream and a Dependent view video stream are each included in a different TS, or the like.
Also, according to the decoder model in FIG. 22, even in the event that a Base view video stream and a Dependent view video stream are each included in a different TS, both have the same DTS, and accordingly, a packet can be supplied to the video decoder 110 at correct timing.
A decoder for Base view video, and a decoder for Dependent view video may be each provided in parallel. In this case, a packet at the same point-in-time is supplied to each of the decoder for Base view video and the decoder for Dependent view video at the same timing.
Second Example
FIG. 24 is a diagram illustrating another configuration for performing processing of a video stream.
FIG. 24 illustrates, in addition to the configuration in FIG. 22, the switch 111, an L video plane generating unit 161, and an R video plane generating unit 162. Also, the PID filter 105 is illustrated on the previous stage of the switch 107. Redundant description will be omitted as appropriate.
The L video plane generating unit 161 generates an L view video plane, and is provided instead of the B video plane generating unit 112 in FIG. 21.
The R video plane generating unit 162 generates an R view video plane, and is provided instead of the D video plane generating unit 113 in FIG. 21.
With this example, the switch 111 needs to identify and output L view video data and R view video data.
That is to say, the switch 111 needs to identify whether the data obtained by decoding a Base view video packet is any video data of L view or R view.
Also, the switch 111 needs to identify whether the data obtained by decoding a Dependent view video packet is any video data of L view or R view.
The view_type described with reference to FIG. 12 and FIG. 14 is employed for identification of L view and R view. For example, the controller 51 outputs the view_type described in a PlayList file to the switch 111.
In the event that the value of the view_type is 0, the switch 111 outputs, of the data stored in the DPB 151, the data obtained by decoding the Base view video packet identified by PID=0 to the L video plane generating unit 161. As described above, the value 0 of the view_type represents that the Base view video stream is an L view stream.
In this case, the switch 111 outputs the data obtained by decoding the Dependent view video packet identified by a PID other than 0 to the R video plane generating unit 162.
On the other hand, in the event that the value of the view_type is 1, the switch 111 outputs, of the data stored in the DPB 151, the data obtained by decoding the Base view video packet identified by PID=0 to the R video plane generating unit 162. The value 1 of the view_type represents that the Base view video stream is an R view stream.
In this case, the switch 111 outputs the data obtained by decoding the Dependent view video packet identified by a PID other than 0 to the L video plane generating unit 161.
The L video plane generating unit 161 generates an L view video plane based on the data supplied from the switch 111, and outputs this to the synthesizing unit 130.
The R video plane generating unit 162 generates an R view video plane based on the data supplied from the switch 111, and outputs this to the synthesizing unit 130.
There is no information (field) representing whether the stream is L view or R view within the elementary streams of Base view video and Dependent view video encoded by the H.264 AVC/MVC.
Accordingly, the recording device can identify whether each of the Base view video stream and the Dependent view video stream is L view or R view by setting the view_type to a PlayList file.
The playback device 1 identifies whether each of the Base view video stream and the Dependent view video stream is either L view or R view, and can switch an output destination according to the identification results.
In the event that L view and R view are also prepared regarding each of the IG and PG planes, the L view and R view of a video stream can be distinguished, whereby the playback device 1 can readily perform synthesis of L view planes, and R view planes.
As described above, in the event of outputting a video signal via the HDMI cable, it is requested that each of an L view signal and an R view signal is distinguished and is then output, but the playback device 1 can handle the request thereof.
Identification of the data obtained by decoding the Base view video packet stored in the DPB 151, and the data obtained by decoding the Dependent view video packet may be performed based on view_id instead of the PID.
At the time of encoding by the H.264 AVC/MVC, the view_id is set to an Access Unit making up the stream of the encoding results. It can be identified according to the view_id which view component unit each Access Unit is.
FIG. 25 is a diagram illustrating an example of an Access Unit.
Access Unit #1 in FIG. 25 is a unit including the data of Base view video. Access Unit #2 is a unit including the data of Dependent view video. An Access Unit is, for example, a unit collecting the data of one picture so as to access in increments of pictures.
The data of each picture of Base view video and Dependent view video is stored in such an Access unit by performing encoding conforming to the H.264 AVC/MVE. At the time of encoding conforming to the H.264 AVC/MVC, as illustrated within the Access Unit #2, an MVC header is added to each of the view components. The view_id is included in the MVC header.
In the case of the example in FIG. 25, with regard to the Access Unit #2, it can be identified from the view_id that a view component to be stored in the Access unit thereof is Dependent view video.
On the other hand, as illustrated in FIG. 25, no MVC header is added to Base view video that is a view component stored in the Access Unit #1.
As described above, the Base view video stream is data to be also used for 2D playback. Accordingly, in order to ensure compatibility therewith, no MVC header is added to Base view video at the time of encoding. Alternatively, the MVC header once added is removed. Encoding by the recording device will be described later.
With the playback device 1, a view component to which no MVC header is added is defined (set) such that the view_id thereof is 0, and the view component is recognized to be Base view video. A value other than 0 is set to Dependent view video as the view_id at the time of encoding.
Thus, the playback device 1 can identify Base view video based on the view_id recognized to be 0, and can identify Dependent view video based on the view_id other than 0, which is actually set.
With the switch 111 in FIG. 24, identification of the data obtained by decoding a Base view video packet, and the data obtained by decoding a Dependent view video packet may be performed based on such a view_id.
Third Example
FIG. 26 is a diagram illustrating yet another configuration wherein processing of a video stream is performed.
With the example in FIG. 26, the B video plane generating unit 112 is provided instead of the L video plane generating unit 161 in FIG. 24, and the D video plane generating unit 113 is provided instead of the R video plane generating unit 162. A switch 171 is provided on the subsequent stage of the B video plane generating unit 112 and the D video plane generating unit 113. With the configuration illustrated in FIG. 26 as well, a data output destination is arranged to be switched based on the view_type.
The switch 111 outputs, of the data stored in the DPB 151, the data obtained by decoding a Base view video packet to the B video plane generating unit 112. Also, the switch 111 outputs the data obtained by decoding a Dependent view video packet to the D video plane generating unit 113.
The data obtained by decoding a Base view video packet, and the data obtained by decoding a Dependent view video packet are identified based on the PID or view_id such as described above.
The B video plane generating unit 112 generates a Base view video plane based on the data supplied from the switch 111, and outputs this.
The D video plane generating unit 113 generates a Dependent view video plane based on the data supplied from the switch 111, and outputs this.
The view_type described in a PlayList file is supplied from the controller 51 to the switch 171.
In the event that the value of the view_type is 0, the switch 171 outputs the Base view video plane supplied from the B video plane generating unit 112 to the synthesizing unit 130 as an L view video plane. The value 0 of the view_type represents that the Base view video stream is an L view stream.
Also, in this case, the switch 171 outputs the Dependent view video plane supplied from the D video plane generating unit 113 to the synthesizing unit 130 as an R view video plane.
On the other hand, in the event that the value of the view_type is 1, the switch 171 outputs the Dependent view video plane supplied from the D video plane generating unit 113 to the synthesizing unit 130 as an L view video plane. The value 1 of the view_type represents that the Base view video stream is an R view stream.
Also, in this case, the switch 171 outputs the Base view video plane supplied from the B video plane generating unit 112 to the synthesizing unit 130 as an R view video plane.
According to the configuration in FIG. 26 as well, the playback device 1 identifies L view and R view, and can switch an output destination according to the identification results.
First Example of a Plane Synthesizing Model
FIG. 27 is a diagram illustrating, of the configuration illustrated in FIG. 21, the configuration of the synthesizing unit 130 and the subsequent stage thereof.
In FIG. 27 as well, the same configuration as the configuration illustrated in FIG. 21 is denoted with the same reference numeral.
Packets making up an IG stream included in the Main TS or Sub TS is input to a switch 181. The packets making up an IG stream to be input to the switch 181 include a Base view packet, and a Dependent view packet.
Packets making up a PG stream included in the Main TS or Sub TS is input to a switch 182. The packets making up a PG stream to be input to the switch 182 include a Base view packet, and a Dependent view packet.
As described with reference to FIG. 5 and so forth, with regard IG and PG as well, a Base view stream and a Dependent view stream for performing 3D display are prepared.
The IG of Base view is displayed in a manner synthesized with Base view video, and the IG of Dependent view is displayed in a manner synthesized with Dependent view video, whereby the user views not only video but also a button, icon, and so forth as 3D.
The PG of Base view is displayed in a manner synthesized with Base view video, and the PG of Dependent view is displayed in a manner synthesized with Dependent view video, whereby the user views not only video but also caption text, and so forth as 3D.
The switch 181 outputs packets making up a Base IG stream to the B IG decoder 116, and outputs packets making up a Dependent IG stream to the D IG decoder 120. The switch 181 includes the functions of the switch 114 and the switch 118 in FIG. 21. In FIG. 27, drawing of each buffer is omitted.
The B IG decoder 116 decodes the packets making up the Base IG stream supplied from the switch 181 to output the data obtained by decoding to the B IG plane generating unit 117.
The B IG plane generating unit 117 generates a Base IG plane based on the data supplied from the B IG decoder 116 to output this to the synthesizing unit 130.
The D IG decoder 120 decodes the packets making up the Dependent IG stream supplied from the switch 181 to output the data obtained by decoding to the D IG plane generating unit 121. The Base IG stream and the Dependent IG stream may be arranged to be decoded by one decoder.
The D IG plane generating unit 121 generates a Dependent IG plane based on the data supplied from the D IG decoder 120 to output this to the synthesizing unit 130.
A switch 182 outputs packets making up a Base PG stream to the B PG decoder 124, and outputs packets making up a Dependent PG stream to the D PG decoder 128. The switch 182 includes the functions of the switch 122 and the switch 126 in FIG. 21.
The B PG decoder 124 decodes the packets making up the Base PG stream supplied from the switch 182 to output the data obtained by decoding to the B PG plane generating unit 125.
The B PG plane generating unit 125 generates a Base PG plane based on the data supplied from the B PG decoder 124 to output this to the synthesizing unit 130.
The D PG decoder 128 decodes the packets making up the Dependent PG stream supplied from the switch 182 to output the data obtained by decoding to the D PG plane generating unit 129. The Base PG stream and the Dependent PG stream may be arranged to be decoded by one decoder.
The D PG plane generating unit 129 generates a Dependent PG plane based on the data supplied from the D PG decoder 128 to output this to the synthesizing unit 130.
The video decoder 110 sequentially decodes the packets supplied from the switch 109 (FIG. 22 and so forth) to output the data of Base view video, and the data of Dependent view video obtained by decoding to the switch 111.
The switch 111 outputs the data obtained by decoding the packets of Base view video to the B video plane generating unit 112, and outputs the data obtained by decoding the packets of Dependent view video to the D video plane generating unit 113.
The B video plane generating unit 112 generates a Base view video plane based on the data supplied from the switch 111, and outputs this.
The D video plane generating unit 113 generates a Dependent view video plane based on the data supplied from the switch 111, and outputs this.
The synthesizing unit 130 is configured of adding units 191 through 194, and a switch 195.
The adding unit 191 synthesizes the Dependent PG plane supplied from the D PG plane generating unit 129 on the Dependent view video plane supplied from the D video plane generating unit 113 in an overlaid manner, and outputs the synthesis results to the adding unit 193. The Dependent PG plane supplied from the D PG plane generating unit 129 to the adding unit 191 is subjected to color information conversion processing (CLUT (Color Look Up Table) processing).
The adding unit 192 synthesizes the Base PG plane supplied from the B PG plane generating unit 125 on the Base view video plane supplied from the B video plane generating unit 112 in an overlaid manner, and outputs the synthesis results to the adding unit 194. The Base PG plane supplied from the B PG plane generating unit 125 to the adding unit 192 is subjected to color information conversion processing or correction processing using an offset value.
The adding unit 193 synthesizes the Dependent IG plane supplied from the D IG plane generating unit 121 on the synthesis result by the adding unit 191 in an overlaid manner, and outputs the synthesis results as a Dependent view plane. The Dependent IG plane supplied from the D IG plane generating unit 121 to the adding unit 193 is subjected to color information conversion processing.
The adding unit 194 synthesizes the Base IG plane supplied from the B IG plane generating unit 117 on the synthesis result by the adding unit 192 in an overlaid manner, and outputs the synthesis results as a Base view plane. The Base IG plane supplied from the D IG plane generating unit 121 to the adding unit 194 is subjected to color information conversion processing or correction processing using an offset value.
An image to be displayed based on the Base view plane and the Dependent view plane thus generated becomes an image such that a button and an icon are viewed in front, a caption text is viewed underneath thereof (depth direction), and video is viewed underneath thereof.
In the event that the value of the view_type is 0, the switch 195 outputs the Base view plane as an L view plane, and outputs the Dependent view plane as an R view plane. The view_type is supplied from the controller 51 to the switch 195.
Also, in the event that the value of the view_type is 1, the switch 195 outputs the Base view plane as an R view plane, and outputs the Dependent view plane as an L view plane. Which plane is the Base view plane or Dependent view plane of the supplied planes is identified based on the PID and the view_id.
Thus, with the playback device 1, synthesis of Base view planes, Dependent view planes, and each plane of video, IG, and PG is performed.
At a stage wherein synthesis of all the planes of video, IG, and PG has been completed, whether the synthesis results of the Base view planes is L view or R view is determined based on the view_type, and the R view plane and L view plane are each output.
Also, at the stage wherein synthesis of all the planes of video, IG, and PG has been completed, whether the synthesis results of the Dependent view planes is L view or R view is determined based on the view_type, and the R view plane and L view plane are each output.
Second Example
FIG. 28 is a diagram illustrating the configuration of the synthesizing unit 130 and the previous stage thereof.
Of the configuration illustrated in FIG. 28, the same configuration as the configuration illustrated in FIG. 27 is denoted with the same reference numeral. In FIG. 28, the configuration of the synthesizing unit 130 differs from the configuration in FIG. 27. Also, the operation of the switch 111 differs from the operation of the switch 111 in FIG. 27. An L video plane generating unit 161 is provided instead of the B video plane generating unit 112, and an R video plane generating unit 162 is provided instead of the D video plane generating unit 113. Redundant description will be omitted.
The same value of the view_type is supplied from the controller 51 to the switch 111, and the switch 201 and switch 202 of the synthesizing unit 130.
The switch 111 switches the output destinations of the data obtained by decoding the packets of Base view video, and the data obtained by decoding the packets of Dependent view video based on the view_type in the same way as the switch 111 in FIG. 24.
For example, in the event that the value of the view_type is 0, the switch 111 outputs the data obtained by decoding the packets of Base view video to the L video plane generating unit 161. In this case, the switch 111 outputs the data obtained by decoding the packets of Dependent view video to the R video plane generating unit 162.
On the other hand, in the event that the value of the view_type is 1, the switch 111 outputs the data obtained by decoding the packets of Base view video to the R video plane generating unit 162. In this case, the switch 111 outputs the data obtained by decoding the packets of Dependent view video to the L video plane generating unit 161.
The L video plane generating unit 161 generates an L view video plane based on the data supplied from the switch 111 to output this to the synthesizing unit 130.
The R video plane generating unit 162 generates an R view video plane based on the data supplied from the switch 111 to output this to the synthesizing unit 130.
The synthesizing unit 130 is configured of the switch 201, switch 202, adding units 203 through 206.
The switch 201 switches the output destinations of the Base IG plane supplied from the B IG plane generating unit 117, and the Dependent IG plane supplied from the D IG plane generating unit 121 based on the view_type.
For example, in the event that the value of the view_type is 0, the switch 201 outputs the Base IG plane supplied from the B IG plane generating unit 117 to the adding unit 206 as an L view plane. In this case, the switch 201 outputs the Dependent IG plane supplied from the D IG plane generating unit 121 to the adding unit 205 as an R view plane.
On the other hand, in the event that the value of the view_type is 1, the switch 201 outputs the Dependent IG plane supplied from the D IG plane generating unit 121 to the adding unit 206 as an L view plane. In this case, the switch 201 outputs the Base IG plane supplied from the B IG plane generating unit 117 to the adding unit 205 as an R view plane.
The switch 202 switches the output destinations of the Base PG plane supplied from the B PG plane generating unit 125, and the Dependent PG plane supplied from the D PG plane generating unit 129 based on the view_type.
For example, in the event that the value of the view_type is 0, the switch 202 outputs the Base PG plane supplied from the B PG plane generating unit 125 to the adding unit 204 as an L view plane. In this case, the switch 202 outputs the Dependent PG plane supplied from the D PG plane generating unit 129 to the adding unit 203 as an R view plane.
On the other hand, in the event that the value of the view_type is 1, the switch 202 outputs the Dependent PG plane supplied from the D PG plane generating unit 129 to the adding unit 204 as an L view plane. In this case, the switch 202 outputs the Base PG plane supplied from the B PG plane generating unit 125 to the adding unit 203 as an R view plane.
The adding unit 203 synthesizes the PG plane of the R view supplied from the switch 202 on the R view video plane supplied from the R video plane generating unit 162 in an overlaid manner, and outputs the synthesis results to the adding unit 205.
The adding unit 204 synthesizes the PG plane of the L view supplied from the switch 202 on the L view video plane supplied from the L video plane generating unit 161 in an overlaid manner, and outputs the synthesis results to the adding unit 206.
The adding unit 205 synthesizes the IG plane of the R view supplied from the switch 201 on the plane of the synthesis results by the adding unit 203 in an overlaid manner, and outputs the synthesis results as an R view plane.
The adding unit 206 synthesizes the IG plane of the L view supplied from the switch 201 on the plane of the synthesis results by the adding unit 204 in an overlaid manner, and outputs the synthesis results as an L view plane.
In this way, with the playback device 1, determination is made before synthesis with another plane which plane is L view or R view regarding the Base view plane and Dependent view plane of each of the video, IG, and PG.
After this determination is performed, synthesis of each plane of the video, IG, and PG is performed so as to synthesize L view planes, and R view planes.
Configuration Example of the Recording Device
FIG. 29 is a block diagram illustrating a configuration example of a software fabrication processing unit 301.
A video encoder 311 has the same configuration as with the MVC encoder 11 in FIG. 3. The video encoder 311 generates a Base view video stream and a Dependent view video stream by encoding a plurality of video data in accordance with the H.264 AVC/MVC, and outputs these to a buffer 312.
For example, the video encoder 311 sets the DTS and PTS with the same PCR as a reference at the time of encoding. That is to say, the video encoder 311 sets the same DTS to a PES packet for storing the data of a certain Base view video picture, and a PES packet for storing the data of a Dependent view video picture corresponding to the picture thereof in decoding sequence.
Also, the video encoder 311 sets the same PTS to a PES packet for storing the data of a certain Base view video picture, and a PES packet for storing the data of a Dependent view video picture corresponding to the picture thereof in display sequence.
The video encoder 311 sets, as described later, the same information to each of a Base view video picture and a Base view video picture which correspond in decoding sequence as additional information that is secondarily information relating to decoding.
Further, the video encoder 311 sets, as described later, the same value to each of a Base view video picture and a Base view video picture which correspond in display sequence as the value of a POC representing the output sequence of pictures.
Also, the video encoder 311 performs, as described later, encoding so as to match the GOP structure of a Base view video stream and the GOP structure of a Dependent view video stream.
An audio encoder 313 encodes an input audio stream, and outputs the obtained data to a buffer 314. An audio stream to be recorded in a disc is input to the audio encoder 313 along with a Base view video stream and a Dependent view video stream.
A data encoder 315 encodes the above-mentioned various types of data other than video and audio, such as a PlayList file or the like, and outputs the data obtained by encoding to a buffer 316.
The data encoder 315 sets the view_type representing whether the Base view video stream is an L view stream or an R view stream to a PlayList file according to encoding by the video encoder 311. Information representing whether the Depending view video stream is an L view steam or an R view steam may be set instead of the type of the Base view video stream.
Also, the data encoder 315 sets a later-described EP_map to each of a Clip Information file of a Base view video stream, and a Clip Information file of a Dependent view video stream. The picture of a Base view video stream, and the picture of a Dependent view video stream, set to the EP_map serving as a decoding start position, become corresponding pictures.
A multiplexing unit 317 multiplexes the video data and audio data stored in each of the buffers, and data other than streams along with a synchronizing signal, and outputs this to an error correction encoding unit 318.
The error correction encoding unit 318 adds code for error correction to the data multiplexed by the multiplexing unit 317.
A modulation unit 319 subjects the data supplied from the error correction encoding unit 318 to modulation, and outputs this. The output of the modulation unit 319 becomes software to be recorded in the optical disc 2 which can be played at the playback device 1.
The software fabrication processing unit 301 having such a configuration is provided to the recording device.
FIG. 30 is a diagram illustrating a configuration example including the software fabrication processing unit 301.
A portion of the configuration illustrated in FIG. 30 may be provided to the inside of the recording device.
The record signal generated by the software fabrication processing unit 301 is subjected to mastering processing at a premastering processing unit 331, and a format signal to be recorded in the optical disc 2 is generated. The generated signal is supplied to a mastering recording unit 333.
With a mastering for recording fabrication unit 332, a mastering made up of glass or the like is prepared, on which a recording material made up of photo resist is applied. Thus, a mastering for recording is fabricated.
With a mastering recording unit 333, a laser beam is modulated in response to a record signal supplied from the premastering processing unit 331, and is irradiated on the photo resist on the mastering. Thus, the photo resist on the mastering is exposed in response to the record signal. Subsequently, this mastering is developed, and emergence of a pit is performed on the mastering.
With a metal mastering fabrication unit 334, the mastering is subjected to processing such as electroforming or the like, and thus, a metal mastering to which the pits on the glass mastering are transferred is fabricated. Further, a metal stamper is fabricated from this metal mastering, and this is taken as a molding die.
With a molding processing unit 335, a material such as PMMA (acrylic), PC (polycarbonate), or the like is injected into the molding die, thereby fixing the molding die. Alternatively, after 2P (ultraviolet curing resin) or the like is applied on the metal stamper, an ultraviolet ray is irradiated thereupon, thereby hardening the molding die. Thus, pits on the metal stamper can be transferred onto a replica made of resin.
With a film formation processing unit 336, a reflection film is formed on the replica by vapor deposition or sputtering. Alternatively, a reflection film is formed on the replica by spin coating.
With a post-process processing unit 337, this disc is subjected to diameter process, thereby being subjected to necessary measures such that two discs are pasted together. Further, after a label is pasted thereupon or a hub is attached thereto, the disc is inserted into a cartridge. Thus, the optical disc 2 in which data that can be played by the playback device 1 is recorded is completed.
Second Embodiment
Operation 1 of H.264 AVC/MVC Profile Video Stream
With the BD-ROM standard that is the standard of the optical disc 2, as described above, encoding of 3D video is realized by employing H.264 AVC/MVC Profile.
Also, with the BD-ROM standard, the Base view video stream is taken as an L view video stream, and the Dependent view video stream is taken as an R view video stream.
The Base view video is encoded as a H.264 AVC/High Profile video stream, whereby the optical disc 2 which is a 3D-compatible disc can be played even at the past player, or a player compatible with 2D playback alone. That is to say, lower-compatibility can be secured.
Specifically, the Base view video stream alone can be decoded (played) even at a decoder nonconforming to the H.264 AVC/MVC. That is to say, the Base view video stream becomes a stream which can necessarily be played even at an existing 2D BD player.
Also, the Base view video stream is commonly used with 2D playback and 3D playback, whereby reduction of load at the time of authoring can be realized. With regard to AV streams, the authoring side can fabricate a 3D-compatible disc by preparing the Dependent view video stream in addition to conventional work.
FIG. 31 is a diagram illustrating a configuration example of a 3D video TS generating unit to be provided to the recording device.
The 3D video TS generating unit in FIG. 31 is configured of an MVC encoder 401, an MVC header removing unit 402, and a multiplexer 403. The data of L view video #1, and the data of R view video #2, which are shot as described with reference to FIG. 2, are input to the MVC encoder 401.
The MVC encoder 401 encodes, in the same way as with the MVC encoder 11 in FIG. 3, the data of the L view video #1 by H.264/AVC to output the AVC video data obtained by encoding as the Base view video stream. Also, the MVC encoder 401 generates the Dependent view video stream based on the data of the L view video #1 and the data of the R view video #2, and outputs this.
The Base view video stream output from the MVC encoder 401 is made up of Access Units in which the data of each picture of the Base view video is stored. Also, the Dependent view video stream output from the MVC encoder 401 is made up of Access Units in which the data of each picture of the Dependent view video is stored.
Each Access Unit making up the Base view video stream, and each Access Unit making up the Dependent view video stream include an MVC header in which the view_id for identifying a stored view component is described.
A fixed value equal to or greater than 1 is employed as the value of the view_id to be described in the MVC header of the Dependent view video. This is true for the examples in FIG. 32 and FIG. 33.
That is to say, the MVC encoder 401, which differs from the MVC encoder 11 in FIG. 3, is an encoder for generating each stream of the Base view video and Dependent view video in a form to which an MVC header is added, and outputting this. With the MVC encoder 11 in FIG. 3, an MVC header is added to the Dependent view video alone encoded by the H.264 AVC/MVC.
The Base view video stream output from the MVC encoder 401 is supplied to the MVC header removing unit 402, and the Dependent view video stream is supplied to the multiplexer 403.
The MVC header removing unit 402 removes an MVC header included in each Access Unit making up the Base view video stream. The MVC header removing unit 402 outputs the Base view video stream made up of an Access Unit of which the MVC header has been removed to the multiplexer 403.
The multiplexer 403 generates a TS including the Base view video stream supplied from the MVC header removing unit 402, and the Dependent view video stream supplied from the MVC encoder 401, and outputs this. With the example in FIG. 31, a TS including the Base view video stream, and a TS including the Dependent view video stream are each output, but these streams may be output by being multiplexed in the same TS as described above.
Thus, an MVC encoder can be conceived wherein depending on mounting methods, L view video and R view video are taken as input, and each stream of the Base view video and the Dependent view video to which an MVC header is added is output.
Note that the whole configuration illustrated in FIG. 31 may be included in the MVC encoder as illustrated in FIG. 3. This is true for the configurations illustrated in FIG. 32 and FIG. 33.
FIG. 32 is a diagram illustrating another configuration example of the 3D video TS generating unit to be provided to the recording device.
The 3D video TS generating unit in FIG. 32 is configured of a mixing processing unit 411, an MVC encoder 412, a separating unit 413, an MVC header removing unit 414, and a multiplexer 415. The data of the L view video #1, and the data of the R view video #2 are input to the mixing processing unit 411.
The mixing processing unit 411 arrays each picture of L view, and each picture of R view in encoding sequence. Each picture of the Dependent view video is encoded with reference to the corresponding picture of the Base view video, and accordingly, the results arrayed in encoding sequence are the pictures of L view and the pictures of R view being alternately arrayed.
The mixing processing unit 411 outputs the pictures of L view and the pictures of R view arrayed in encoding sequence to the MVC encoder 412.
The MVC encoder 412 encodes each picture supplied from the mixing processing unit 411 in accordance with the H.264 AVC/MVC, and outputs the stream obtained by encoding to the separating unit 413. The base view stream and the Dependent view video stream are multiplexed in the stream output from the MVC encoder 412.
The Base view video stream included in the stream output from the MVC encoder 412 is made up of Access Units in which the data of each picture of the Base view video is stored. Also, the Dependent view video stream included in the stream output from the MVC encoder 412 is made up of Access Units in which the data of each picture of the Dependent view video is stored.
An MVC header in which the view_id for identifying a stored view component is described is included in each Access Unit making up the Base view video stream, and each Access Unit making up the Dependent view video stream.
The separating unit 413 separates the Base view video stream and the Dependent view video stream multiplexed in the stream supplied from the MVC encoder 412, and outputs these. The Base view video stream output from the separating unit 413 is supplied to the MVC header removing unit 414, and the Dependent view video stream is supplied to the multiplexer 415.
The MVC header removing unit 414 removes an MVE header included in each Access Unit making up the Base view video stream supplied from the separating unit 413. The MVC header removing unit 414 outputs the Base view video stream made up of an Access Unit of which the MVC header has been removed to the multiplexer 415.
The multiplexer 415 generates a TS including the Base view video stream supplied from the MVC header removing unit 414, and the Dependent view video stream supplied from the separating unit 413, and outputs this.
FIG. 33 is a diagram illustrating yet another configuration example of the 3D video TS generating unit to be provided to the recording device.
The 3D video TS generating unit in FIG. 33 is configured of an AVC encoder 421, an MVC encoder 422, and a multiplexer 423. The data of the L view video #1 is input to the AVC encoder 421, and the data of the R view video #2 is input to the MVC encoder 422.
The AVC encoder 421 encodes the data of the L view video #1 in accordance with H.264/AVC, and outputs the AVC video stream obtained by encoding to the MVC encoder 422 and the multiplexer 423 as the Base view video stream. Each Access Unit making up the Base view video stream output from the AVC encoder 421 includes no MVC header.
The MVC encoder 422 decodes the Base view video stream (AVC video stream) supplied from the AVC encoder 421 to generate the data of the L view video #1.
Also, the MVC encoder 422 generates a Dependent view video stream based on the data of the L view video #1 obtained by decoding, and the data of the R view video #2 externally input, and outputs this to the multiplexer 423. Each Access Unit making up the Dependent view video stream output from the MVC encoder 422 includes an MVC header.
The multiplexer 423 generates a TS including the Base view video stream supplied from the AVC encoder 421, and the Dependent view video stream supplied from the MVC encoder 422, and outputs this.
The AVC encoder 421 in FIG. 33 has the function of the H.264/AVC encoder 21 in FIG. 3, and the MVC encoder 422 has the functions of the H.264/AVC encoder 22 and the Dependent view video encoder 24 in FIG. 3. Also, the multiplexer 423 has the function of the multiplexer 25 in FIG. 3.
The 3D video TS generating unit having such a configuration is provided within the recording device, whereby encoding of the MVC header as to an Access Unit storing the data of the Base view video can be prohibited. Also, an MVC header of which the view_id equal to or greater than 1 is set may be included in an Access Unit storing the data of the Dependant view video.
FIG. 34 is a diagram illustrating the configuration of the playback device 1 side for decoding an Access Unit.
FIG. 34 illustrates the switch 109 and the video decoder 110 described with reference to FIG. 22 and so forth. An Access Unit #1 including the data of Base view video, and a Access Unit #2 including the data of Dependent view video are read out from the buffer, and are supplied to the switch 109.
Encoding is performed with reference to the Base view video, and accordingly, in order to correctly decode the Dependent view video, first, the corresponding Base view video needs to have been decoded.
With the H.264/MVC standard, the decoding side is arranged to calculate the decoding sequence of each Access Unit using the view_id included in an MVC header. Also, the minimum value is always arranged to be set to the Base view video as the value of the view_id at the time of encoding. The decoder is arranged to be able to decode the Base view video and the Dependent view video in correct sequence by starting decoding from an Access Unit including an MVC header to which the minimum view_id is set.
Incidentally, encoding of an MVC header is prohibited as to an Access Unit storing the Base view video, to be supplied to the video decoder 110 of the playback device 1.
Therefore, with the playback device 1, a view component stored in an Access Unit having no MVC header is defined so as to recognize the view_id thereof to be 0.
Thus, the playback device 1 can identify the Base view video based on the view_id recognized to be 0, and can identify the Dependent view video based on the view_id actually set other than 0.
The switch 109 in FIG. 34 first outputs the Access Unit #1 recognized that the minimum value 0 is set as the view_id to the video decoder 110 to perform decoding.
Also, after decoding of the Access Unit #1 is completed, the switch 109 outputs the Access Unit #2 to which Y that is a fixed value greater than 0 is set as the view_id to the video decoder 110 to perform decoding. The picture of the Dependent view video stored in the Access Unit #2 is a picture corresponding to the picture of the Base view video stored in Access Unit #1.
In this way, encoding of an MVC header as to an Access Unit storing the Base view video is prohibited, whereby the Base view video stream recorded in the optical disc 2 can be handled as a playable stream even at a conventional player.
As a condition of the Base view video stream of the BD-ROM 3D standard expanded from the BD-ROM standard, even in the event that a condition is determined wherein the Base view video stream is a playable stream even at a conventional player, the condition thereof can be satisfied.
For example, as illustrated in FIG. 35, in the event that an MVC header is added to each of the Base view video and the Dependent view video beforehand, and decoding is performed previously from the Base view video, the Base view video thereof is not played at a conventional player. The MVC header is undefined data as to an H.264/AVC decoder which is mounted on a conventional player. In the event that such undefined data is input, this cannot be ignored depending on decoders, and the processing may fail.
Note that, in FIG. 35, the view_id of the Base view video is X, and the view_id of the Dependent view video is Y greater than X.
Also, even in the event that encoding of an MVC header has been prohibited, the playback device 1 can be caused to first perform decoding of the Base view video, and subsequently to perform decoding of the corresponding Dependent view video by defining the view_id of the Base view video so as to be regarded as 0. That is to say, decoding can be performed in correct sequence.
Operation 2
About GOP Structure
With the H.264/AVC standard, the GOP (Group Of Picture) structure according to the MPEG-2 video standard is not defined.
Therefore, with the BD-ROM standard for handling a H.264/AVC video stream, the GOP structure of an H.264/AVC video stream is defined, and various types of functions using a GOP structure such as random access are realized.
The Base view video stream and the Dependent view video stream that are video streams obtained by encoding conforming to the H.264 AVC/MVC have no definition regarding the GOP structure, in the same way as with the H.264/AVC video stream.
The Base view video stream is an H.264/AVC video stream. Accordingly, the GOP structure of the Base view video stream has the same structure as the GOP structure of the H.264/AVC video stream defined in the BD-ROM standard.
The GOP structure of the Dependent view video stream is also defined as the same structure as the GOP structure of the Base view video stream, i.e., the GOP structure of the H.264/AVC video stream defined in the BD-ROM standard.
The GOP structure of the H.264/AVC video stream defined in the BD-ROM standard has the following features.
1. Features Regarding the Stream Structure
(1) Open GOP/Closed GOP structure
FIG. 36 is a diagram illustrating a Closed GOP structure.
Each picture in FIG. 36 is a picture making up the H.264/AVC video stream. The Closed GOP includes an IDR (Instantaneous Decording Refresh) picture.
The IDR picture is an I picture, and is first decoded in a GOP including an IDR picture. At the time of decoding the IDR picture, all of the information relating to decoding such as the state of a reference picture buffer (DPB 151 in FIG. 22), frame numbers managed so far, POC (Picture Order Count) and so forth is reset.
As illustrated in FIG. 36, with the current GOP that is a Closed GOP, of the pictures of the current GOP thereof, pictures having display sequence earlier than (older than) the IDR picture are prevented from referencing the pictures of the last GOP.
Also, of the pictures of the current GOP, pictures having display sequence later than (younger than) the IDR picture are prevented from referencing the pictures of the last GOP exceeding the IDR picture. With the H.264/AVC, a P picture after an I picture in display sequence is allowed to reference a picture before the I picture thereof.
FIG. 37 is a diagram illustrating an Open GOP structure.
Such as illustrate in FIG. 37, with the current GOP that is an Open GOP, of the pictures of the current GOP thereof, a picture having display sequence earlier than (older than) an non-IDR I picture (I picture other than the IDR picture) is allowed to reference the pictures of the last GOP.
Also, of the pictures of the current GOP, a picture later than a non-IDR I picture in the display sequence is forbidden from referencing pictures of the last GOP beyond the non-IDR I picture.
(2) SPS and PPS are necessarily encoded with the top Access Unit of a GOP.
An SPS (Sequence Parameter Set) is the header information of a sequence, including information relating to encoding of the whole sequence. At the time of decoding of a certain sequence, an SPS including the identification information of the sequence, and so forth is first necessary. A PPS (Picture Parameter Set) is the header information of a picture, including information relating to encoding of the whole picture.
(3) The maximum 30 PPSs can be encoded with the top Access Unit of a GOP. In the event that multiple PPSs are encoded with the top Access Unit, the id (pic parameter_set_id) of each PPS should not be the same.
(4) Up to the maximum one PPS can be encoded with an Access Unit other than the top of a GOP.
2. Features Regarding a Reference Structure
(1) I, P, and B pictures are required to be pictures configured of I, P, B slice alone, respectively.
(2) A B picture immediately before a reference picture (I or P picture) in display sequence is required to be necessarily encoded immediately after the reference picture thereof in encoding sequence.
(3) The encoding sequence and display sequence of a reference picture (I or P picture) are required to be maintained (the same).
(4) It is prohibited to reference a B picture from a P picture.
(5) In the event that a non-reference B picture (B1) is earlier than a non-reference picture (B2) in encoding sequence, the B1 is also required to be earlier than the B2 in display sequence.
A non-reference B picture is a B picture not referenced by another picture later in display sequence.
(6) A reference B picture can reference the last or next reference picture (I or P picture) in display sequence.
(7) A non-reference B picture can reference the last or next reference picture (I or P picture) in display sequence, or a reference B picture.
(8) The number of continuous B pictures is required to be 3 at the maximum.
3. Features Regarding the Maximum Number of Frames or Fields within a GOP
The maximum number of frames or fields within a GOP is stipulated according to the frame rate of video, as illustrated in FIG. 38.
As illustrated in FIG. 38, for example, in the event that interlace display is performed with a frame rate of 29.97 frames per second, the maximum number of fields that can be displayed with the pictures of 1 GOP is 60. Also, in the event that progressive display is performed with a frame rate of 59.94 frames per second, the maximum number of frames that can be displayed with the pictures of 1 GOP is 60.
A GOP structure having the features mentioned above is also defined as the GOP structure of the Dependent view video stream.
Also, it is stipulated as a constraint that the structure of a certain GOP of the Base view video stream is matched with the structure of the GOP of the corresponding Dependent view video stream.
FIG. 39 illustrates the Closed GOP structure of the Base view video stream or Dependent view video stream defined as described above.
As illustrated in FIG. 39, with the current GOP that is a Closed GOP, of the pictures of the current GOP thereof, it is prohibited for a picture having display sequence anterior to (older than) an IDR picture or anchor picture to reference the pictures of the last GOP. The anchor picture will be described later.
Also, of the pictures of the current GOP, it is prohibited for a picture having display sequence later than (younger than) an IDR picture or anchor picture to reference the pictures of the last GOP exceeding the IDR picture or anchor picture.
FIG. 40 is a diagram illustrating the Open GOP structure of the Base view video stream or Dependent view video stream.
As illustrated in FIG. 40, with the current GOP that is an Open GOP, of the pictures of the current GOP thereof, a picture having display sequence anterior to a non-IDR anchor picture (anchor picture that is not an IDR picture) is allowed to reference the pictures of the last GOP.
Also, of the pictures of the current GOP, it is prohibited for a picture having display sequence later than a non-IDR anchor picture to reference the pictures of the last GOP exceeding the non-IDR anchor picture.
A GOP structure is defined as described above, whereby a certain GOP of the Base view video stream, and the GOP of the corresponding Dependent view video stream are matched in the features of stream structure such as an Open GOP or Closed GOP, for example.
Also, the features of a picture reference structure are matched such that the picture of the Dependent view video corresponding to a non-reference B picture of the Base view video necessarily becomes a non-reference B picture.
Further, the number of frames, and the number of fields are also matched between a certain GOP of the Base view video stream, and the GOP of the corresponding Dependent view video stream.
In this way, the GOP structure of the Dependent view video stream is defined as the same structure as the GOP structure of the Base view video stream, whereby the corresponding GOPs between streams can have the same features.
Also, even in the event that decoding is performed from the middle of a stream, this can be performed without problems. Decoding from the middle of a stream is performed, for example, at the time of trick play or random access.
In the event that the structures of corresponding GOPs between streams differ, such as the number of frames differing, there is a concern with occurrence of a situation wherein one of the streams can normally be played, but the other stream cannot be played, but this can be prevented.
In the event that decoding is started from the middle of a stream assuming that the structures of the corresponding GOPs between streams differ, there is a concern with occurrence of a situation wherein the Base view video picture necessary for decoding of the Dependent view video has not been decoded. In this case, as a result thereof, the Dependent view video picture cannot be decoded, and 3D display cannot be performed. Also, the image of the Base view video may not be output depending on mounting methods, but such an inconvenience can be prevented.
About EP_map
The start position of decoding at the time of random access or trick play can be set to an EP_map by taking advantage of the GOP structures of the Base view video stream and the Dependent view video stream. The EP_map is included in a Clip Information file.
The following two constraints are stipulated as the constraints of a picture that can be set to the EP_map as a decoding start position.
1. The positions of anchor pictures continuously disposed in a SubsetSPS, or the position of IDR pictures continuously disposed in the SubsetSPS is taken as the position that can be set to the Dependent view video stream.
The anchor pictures are pictures stipulated by the H.264 AVC/MVC, and are the pictures of the Dependent view video stream encoded by performing reference between views instead of reference in the time direction.
2. In the event that a certain picture of the Dependent view video stream is set to the EP_map as a decoding start position, the picture of the corresponding Base view video stream is also set to the EP_map as a decoding start position.
FIG. 41 is a diagram illustrating an example of a decoding start position set to the EP_map satisfying the above two constraints.
In FIG. 41, pictures making up the Base view video stream, and pictures making up the Dependent view video streams are illustrated in decoding sequence.
A picture P1 indicated with a color of the pictures of the Dependent view video stream is an anchor picture or IDR picture. An Access Unit immediately before an Access Unit including the data of the picture P1 includes a SubsetSPS.
With the example in FIG. 41, as illustrated with a white arrow #11, the picture P1 is set to the EP_map of the Dependent view video stream as a decoding start position.
A picture P11 that is a picture of the Base view video stream corresponding to the picture P1 is an IDR picture. As illustrated in a white arrow #12, the picture P11 that is an IDR picture is also set to the EP_map of the Base view video stream as a decoding start position.
In the event of starting decoding from the picture P1 and the picture P11 in response to random access or trick play being instructed, first, decoding of the picture P11 is performed. The picture P11 is an IDR picture, and accordingly, the picture P11 can be decoded without reference to another picture.
At the time of decoding of the picture P11 being completed, next, the picture P1 is decoded. The decoded picture P11 is referenced at the time of decoding of the picture P1. The picture P1 is an IDR picture or anchor picture, and accordingly, decoding of the picture P1 can be performed if decoding of the picture P11 is completed.
Subsequently, decoding is performed in a manner such as the picture following the picture P1 of the Base view video, the picture following the picture P11 of the Dependent view video, and so on.
The structures of the corresponding GOPs are the same, and also decoding is started from the corresponding positions, and accordingly, the picture set to the EP_map, and the subsequent pictures can be decoded without problems regarding the Base view video and the Dependent view video. Thus, random access can be realized.
Pictures arrayed on more left side than a dotted line indicated in the vertical direction in FIG. 41 become pictures not subjected to decoding.
FIG. 42 is a diagram illustrating a problem to be caused in the event that the GOP structure of the Dependent view video is not defined.
With the example in FIG. 42, a picture P21 that is an IDR picture of the Base view video indicated with a color is set to the EP_map as a decoding start position.
Let us consider a case where a picture P31 that is a picture of the Dependent view video corresponding to the picture P21 is not an anchor picture, in the event that decoding is started from the picture P21 of the Base view video. In the event that no GOP structure is defined, it is not assured that the picture of the Dependent view video corresponding to the IDR picture of the Base view video is an IDR picture or anchor picture.
In this case, even at the time of decoding of the picture P21 of the Base view video ending, the picture P31 cannot be decoded. Reference in the time direction is also necessary for decoding of the picture P31, but a picture on more left side than the dotted line indicated in the vertical direction is not decoded.
The picture P31 cannot be decoded, and consequently, other pictures of the Dependent view video that reference the picture P31 cannot be decoded.
Such a situation can be prevented by defining the GOP structure of the Dependent view video stream.
With regard to not only the Base view video but also the Dependent view video, a decoding start position is set to the EP_map, whereby the playback device 1 can readily determine the decoding start position.
In the event that a certain picture alone of the Base view video has been set to the EP_map as a decoding start position, the playback device 1 needs to determine the picture of the Dependent view video corresponding to the picture of the decoding start position by calculation, and the processing becomes complicated.
Even if the corresponding pictures of the Base view video and the Dependent view video have the same DTS/PTS, in the event that the bit rates of the videos differ, up to the byte arrays in a TS are not matched, and accordingly, in this case, the processing becomes complicated.
FIG. 43 is a diagram illustrating the conception of picture search necessary for performing random access or trick play with an MVC stream made up of the Base view video stream and the Dependent view video stream as an object.
As illustrated in FIG. 43, at the time of performing random access or trick play, a non-IDR anchor picture or IDR picture is searched, and the decoding start position is determined.
Now, the EP_map will be described. Description will be made regarding a case where the decoding start position of the Base view video is set to the EP_map, but the decoding start position of the Dependent view video is also set to the EP_map of the Dependent view video in the same way.
FIG. 44 is a diagram illustrating the structure of an AV stream recorded on the optical disc 2.
A TS including the Base view video stream is configured of an integer number of aligned units (Aligned Units) having a size of 6144 bytes.
The Aligned Units are made up of 32 source packets (Source Packets). The source packets have 192 byes. One source packet is made up of a 4-byte transport packet extra header (TP_extra header), and 188-byte transport packet (Transport Packet).
The data of the Base view video is packetized in a MPEG2 PES packet. A PES packet is formed by a PES packet header being added to the data portion of the PES packet. The PES packet includes a stream ID for determining the type of an elementary stream to be transmitted by the PES packet.
The PES packet is further packetized in a transport packet. That is to say, the PES packet is divided in the size of the payload of a transport packet, a transport packet header is added to the payload, and a transport packet is formed. The transport packet header includes a PID that is the identification information of data to be stored in the payload.
Note that a source packet number, which is incremented by one for each source packet with the head of a Clip AV stream as 0 for example, is provided to a source packet. Also, an aligned unit starts from the first byte of a source packet.
The EP_map is employed for searching a data address to start readout of data within a Clip AV stream file when the time stamp of the access point of a Clip is given. The EP_map is a list of entry points extracted from an elementary stream and a transport stream.
The EP_map has address information for searching an entry point to start decoding within an AV stream. One EP data within the EP_map is configured of a pair of a PTS, an address within the AV stream of an Access Unit corresponding to the PTS. With AVC/H.264, one picture worth of data is stored in one Access Unit.
FIG. 45 is a diagram illustrating an example of a Clip AV stream.
The Clip AV stream in FIG. 45 is a video stream (Base view video stream) made up of a source packet to be identified by PID=x. The video stream is distinguished by a PID included in the header of a transport packet within a source packet for each source packet.
In FIG. 45, of the source packets of the video stream, a source packet including the head byte of an IDR picture is appended with a color. A square without a color indicates a source packet including data not serving as a random access point, or a source packet including the data of another stream.
For example, a source packet having a source packet number X1 including the head byte of a random-accessible IDR picture of the video stream distinguished by PID=x is disposed in a position of PTS=pts(x1) on the time axis of the Clip AV stream.
Similarly, the next source packet including the head byte of a random-accessible IDR picture is taken as a source packet having a source packet number X2, and is disposed in a position of PTS=pts(x2).
FIG. 46 is a diagram conceptually illustrating an example of the EP_map corresponding to the Clip AV stream in FIG. 45.
As illustrated in FIG. 46, the EP_map is configured of a stream_PID, PTS_EP_start, and SPN_EP_start.
The stream_PID represents the PID of a transport packet for transmitting a video stream.
The PTS_EP_start represents the PTS of an Access Unit starting from a random-accessible IDR picture.
The SPN_EP_start represents the address of a source packet including the first byte of an Access Unit to be referenced by the value of the PTS_EP_start.
The PID of a video stream is stored in the stream_PID, and EP_map_for_one_stream_PID( ) that is table information representing a correlation between the PTS_EP_start and the SPN_EP_start is generated.
For example, PTS=pts(x1) and the source packet number X1, PTS=pts(x2) and the source packet number X2, . . . , and PTS=pts(xk) and the source packet number Xk are each described in EP_map_for_one_stream_PID[0] of a video stream of PID=x in a correlated manner.
Such a table is also generated regarding each of the video streams multiplexed in the same Clip AV stream. The EP_map including the generated table is stored in the Clip Information file corresponding to this Clip AV stream.
FIG. 47 is a diagram illustrating an example of the data structure of the source packet specified by the SPN_EP_start.
As described above, a source packet is configured of a form in which a 4-byte header is added to a 188-byte transport packet. The transport packet portion is made up of a header portion (TP header) and a payload portion. The SPN_EP_start represents the source packet number of a source packet including the first byte of an Access Unit starting from an IDR picture.
With AVC/H.264, an Access Unit, i.e., picture is started from an AU delimiter (Access Unit Delimiter). After the AU delimiter, an SPS and a PPS are continued. Thereafter, the head portion or the whole of the data of slice of an IDR picture is stored.
The value 1 of payload_unit_start_indicator of the TP header of a transport packet represents that a new PES packet starts from the payload of this transport packet. An Access Unit starts from this source packet.
Such an EP_map is prepared regarding each of the Base view video stream and the Dependent view video stream.
Operation 3
POC is set to each picture making up the Base view video stream and the Dependent view video stream at the time of setting. The POC is a value representing the display sequence of a picture.
With the AVC/H.264, the POC is stipulated as “A variable having a value that is non-decreasing with increasing picture position in output order relative to the previous IDR picture in decoding order or relative to the previous picture containing the memory management control operation that marks all reference pictures as “unused for reference””.
At the time of encoding, the POC to be set to a picture of the Base view video stream, and the POC to be set to a picture of the Dependent view video stream are operated in a unified manner.
For example, the POC=1 is set to the first picture in the display sequence of the Base view video stream, and thereafter, the POC is set to each picture by being incremented by one.
Also, the same POC=1 as the POC set to the first picture of the Base view video stream is set to the first picture in the display sequence of the Dependent view video stream, and thereafter, the POC is set to each picture by being incremented by one.
As described above, the GOP structure of the Base view video stream, and the GOP structure of the Dependent view video stream are the same, and accordingly, the same POC is set to the corresponding pictures in display sequence regarding each picture of the Base view video stream and the Dependent view video stream.
Thus, the playback device 1 can process view components to which the same POC is set as the corresponding view components in display sequence.
For example, the playback device 1 can process a picture to which the POC=1 is set of the pictures of the Base view video stream, and a picture to which the POC=1 is set of the pictures of the Dependent view video stream as the corresponding pictures.
Also, Picture Timing SEI (Supplemental Enhancement Information) is set to each picture making up the Base view video stream and the Dependent view video stream. The SEI is additional information including secondary information relating to decoding, stipulated by H.264/AVC.
Picture Timing SEI, which is one of the SEI, includes readout point-in-time from a CPB (Coded Picture Buffer) at the time of encoding, readout point-in-time from a DPB (DPB 151 in FIG. 22), and so forth. Also, the information of display point-in-time, the information of a picture structure, and so forth are included in the Picture Timing SEI.
At the time of encoding, Picture Timing SEI to be set to a picture of the Base view video stream, and Picture Timing SEI to be set to a picture of the Dependent view video stream are operated in a unified manner.
For example, in the event that T1 has been set the first picture in encoding sequence of the Base view video stream as the readout point-in-time from the CPB, T1 is also set to the first picture in encoding sequence of the Dependent view video stream as the readout point-in-time from the CPB.
That is to say, the Picture Timing SEI having the same content regarding the corresponding pictures in encoding sequence or decoding sequence is set to each picture of the Base view video stream and the Dependent view video stream.
Thus, the playback device 1 can process view components to which the same Picture Timing SEI is set as the corresponding view components in decoding sequence.
The POC and Picture Timing SEI are included in the elementary streams of the Base view video and the Dependent view video, and are referenced by the video decoder 110 at the playback device 1.
The video decoder 110 can identify the corresponding view components based on information included in the elementary streams. Also, the video decoder 110 can perform decoding processing in correct decoding sequence based on the Picture Timing SEI, and also in correct display sequence based on the POC.
There is no need to reference a PlayList and so forth to identify the corresponding view components, whereby handling in the event that a problem occurs regarding a System Layer, and a Layer thereupon can be realized. Also, decoder mounting not depending on a Layer where a problem occurs can be realized.
The above-mentioned series of processing may be executed by hardware or may be executed by software. In the event of executing the series of processing by software, a program making up the software thereof is installed from a program recorded medium to a computer housed in dedicated hardware, a general-purpose personal computer, or the like.
FIG. 48 is a block diagram illustrating a configuration example of the hardware of a computer which executes the above-mentioned series of processing by a program.
A CPU (Central Processing Unit) 501, ROM (Read Only Memory) 502, and RAM (Random Access Memory) 503 are mutually connected by a bus 504.
The bus 504 is further connected with an input/output interface 505. The input/output interface 505 is connected with an input unit 506 made up of a keyboard, mouse, and so forth, and an output unit 507 made up of a display, speaker, and so forth. Also, the bus 504 is connected with a storage unit 508 made up of a hard disk, nonvolatile memory, and so forth, a communication unit 509 made up of a network interface and so forth, and a drive 510 for driving a removable medium 511.
With the computer thus configured, the above-mentioned series of processing is performed, for example, by the CPU 501 loading a program stored in the storage unit 508 to the RAM 503 via the input/output interface 505 and bus 504 and executing this.
The program that the CPU 501 executes is recorded in, for example, the removable medium 511, provided via a cable or wireless transmission medium such as a local area network, the Internet, digital broadcasting, or the like, and installed in the storage unit 508.
Note that the program that the computer executes may be a program for performing processing in time sequence in accordance with the sequence described in the present Specification, or may be a program for performing processing in parallel or at necessary timing such as call-up being performed, or the like.
Embodiments of the present invention are not restricted to the above embodiments, and various types of modifications can be made without departing from the essence of the present invention.
REFERENCE SIGNS LIST


    
    
        1 playback device
        2 optical disc
        3 display device
        11 MVC encoder
        21 H.264/AVC encoder
        22 H.264/AVC decoder
        23 Depth calculating unit
        24 Dependent view video encoder
        25 multiplexer
        51 controller
        52 disk drive
        53 memory
        54 local storage
        55 internet interface
        56 decoder unit
        57 operation input unit

## Claims

1. A reproduction apparatus comprising:
a reading unit which reads a first transport stream and a second transport stream from a recording medium, the first transport stream and the second transport stream being obtained by encoding a plurality of items of movie data by H.264 AVC/MVC, the first transport stream including a Base view video stream as a stream of picture data to which an MVC header including a view ID has not been added, the second transport stream including a Dependent view video stream as a stream of picture data to which the MVC header including the ID has been added;
a first buffer which stores thereon a packet storing data of a first picture configuring the Base view video stream included in the first transport stream;
a second buffer which stores thereon a packet storing data of a second picture configuring the Dependent view video stream included in the second transport stream;
a selection unit which reads the packets storing the data of the first picture and the second picture, for which same DTS on the basis of same PCR has been set, respectively, from the first buffer and the second buffer; and
a decoding unit which decodes the packet storing the data of the first picture, which has been read from the first buffer, to which the MVC header has not been added, and then decodes the packet storing the data of the second picture, which has been read from the second buffer, to which the MVC header has been added, after the decoding of the first picture.

2. The reproduction apparatus according to claim 1, further comprising:
a first separation unit which separates a packet configuring the Base view video stream from the first transport stream read from the recording medium based on a first PID allocated as a fixed value; and
a second separation unit which separates a packet configuring the Dependent view video stream from the second transport stream read from the recording medium based on a second PID allocated as a fixed value,
wherein the first buffer stores therein a packet storing the data of the first picture configuring the Base view video stream, which has been separated by the first separation unit, and
wherein the second buffer stores therein a packet storing the data of the second picture configuring the Dependent view video stream, which has been separated by the second separation unit.

3. The reproduction apparatus according to claim 2, further comprising:
a third buffer which stores therein the data of the first picture configuring the Base view video stream and the data of the second picture configuring the Dependent view video stream, which have been obtained by the decoding; and
an output unit which outputs the data of the first picture stored in the third buffer as data of one of pictures for a left eye and a right eye and outputs the data of the second picture stored in the third buffer as data of the other of the pictures for the left eye and the right eye.

4. A reproduction method comprising the steps of:
reading a first transport stream and a second transport stream from a recording medium, the first transport stream and the second transport stream being obtained by encoding a plurality of items of movie data by H.264 AVC/MVC, the first transport stream including a Base view video stream as a stream of picture data to which an MVC header including a view ID has not been added, the second transport stream including a Dependent view video stream as a stream of picture data to which the MVC header including the ID has been added;
storing in a first buffer a packet which stores data of a first picture configuring the Base view video stream included in the first transport stream;
storing in a second buffer a packet which stores data of a second picture configuring the Dependent view video stream included in the second transport stream;
reading the packets storing the data of the first picture and the second picture, for which same DTS on the basis of same PCR has been set, respectively, from the first buffer and the second buffer;
decoding the packet storing the data of the first picture, which has been read from the first buffer, to which the MVC header has not been added; and
decoding the packet storing the data of the second picture, which has been read from the second buffer, to which the MVC header has been added, after the decoding of the first picture.

5. A recording method comprising the steps of:
creating a Base view video stream as a stream of picture data, to which an MVC header including a view ID has not been added, and a Dependent view video stream as a stream of picture data, to which the MVC header including the ID has been added, by encoding a plurality of items of movie data using H.264 AVC/MVC; and
recording a first transport stream including the Base view video stream and a second transport stream including the Dependent view video stream, in which identical DTSs on the basis of identical PCRs are set in packets for storing data on corresponding pictures, in a recording medium.

6. A reproduction apparatus comprising:
a reading unit which reads from a recording medium a first transport stream including a Base view video stream as a stream of picture data, to which an MVC header including a view ID has not been added, and a second transport stream including a Dependent view video stream as a stream of picture data, to which the MVC header including the ID has been added, which have been obtained by encoding a plurality of items of movie data using H.264 AVC/MVC;
a first buffer which stores a packet storing data on a first picture configuring the Base view video stream included in the first transport stream;
a second buffer which stores a packet storing data on a second picture configuring the Dependent view video stream included in the second transport stream;
a selection unit which reads the packets storing data on the first picture and the second picture at identical positions in a decoding order from the first buffer and the second buffer, respectively;
a decoding unit which decodes the packet storing the data on the first picture, which has been read from the first buffer, to which the MVC header has not been added, and after the decoding of the first picture, decodes the packet storing the data on the second picture, which has been read from the second buffer, to which the MVC header has been added;
a third buffer which stores the data on the first picture and the data on the second picture, which have been obtained by the decoding; and
an output unit which reads and outputs the data on the first picture and the data on the second picture, which are stored in the third buffer, based on identical PTSs on the basis of identical PCRs set for packets storing the data on the first picture and the second picture, respectively.

7. The reproduction apparatus according to claim 6, further comprising:
a first separation unit which separates the packet configuring the Base view video stream from the first transport stream read from the recording medium based on a first PID allocated as a fixed value; and
a second separation unit which separates the packet configuring the Dependent view video stream from the second transport stream read from the recording medium based on a second PID allocated as a fixed value,
wherein the first buffer stores the packet storing the data on the first picture configuring the Base view video stream, which has been separated by the first separation unit, and
wherein the second buffer stores the packet storing the data on the second picture configuring the Dependent view video stream, which has been separated by the second separation unit.

8. A reproduction method comprising the steps of:
reading from a recording medium a first transport stream including a Base view video stream as a stream of picture data, to which an MVC header including a view ID has not been added, and a second transport stream including a Dependent view video stream as a stream of picture data, to which the MVC header including the ID has been added, which have been obtained by encoding a plurality of items of movie data using H.264 AVC/MVC;
storing in a first buffer a packet storing data on a first picture configuring the Base view video stream included in the first transport stream;
storing in a second buffer a packet storing data on a second picture configuring the Dependent view video stream included in the second transport stream;
reading the packets storing data on the first picture and the second picture at identical positions in a decoding order from the first buffer and the second buffer, respectively;
decoding the packet storing the data on the first picture, which has been read from the first buffer, to which the MVC header has not been added,
after the decoding of the first picture, decoding the packet storing the data on the second picture, which has been read from the second buffer, to which the MVC header has been added;
storing in a third buffer the data on the first picture and the data on the second picture, which have been obtained by the decoding; and
reading and outputting the data on the first picture and the data on the second picture, which are stored in the third buffer, based on identical PTSs on the basis of identical PCRs set for packets storing the data on the first picture and the second picture, respectively.

9. A recording method comprising the steps of:
creating a Base view video stream as a stream of picture data, to which an MVC header including a view ID has not been added, and a Dependent view video stream as a stream of picture data, to which the MVC header including the ID has been added, by encoding a plurality of items of movie data using H.264 AVC/MVC; and
recording in a recording medium a first transport stream including the Base view video stream and a second transport stream including the Dependent view video stream, in which identical PTSs on the basis of identical PCRs are set in packets storing data on corresponding pictures.