WO2004043065A1 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
WO2004043065A1
WO2004043065A1 PCT/JP2003/014041 JP0314041W WO2004043065A1 WO 2004043065 A1 WO2004043065 A1 WO 2004043065A1 JP 0314041 W JP0314041 W JP 0314041W WO 2004043065 A1 WO2004043065 A1 WO 2004043065A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
sample
information
frame
stream
Prior art date
Application number
PCT/JP2003/014041
Other languages
French (fr)
Japanese (ja)
Inventor
Yasuyuki Kurosawa
Yoshinori Matsui
Yoji Notoya
Tadamasa Toma
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to AU2003280705A priority Critical patent/AU2003280705A1/en
Publication of WO2004043065A1 publication Critical patent/WO2004043065A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/216Rewritable discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • G11B2220/2575DVD-RAMs

Definitions

  • the present invention relates to an apparatus and a method for recording a moving image stream related to video and audio on a recording medium such as an optical disk and reproducing the moving image stream recorded on the recording medium.
  • the MP4 file format specified in the MPEG4 system standard (ISO / IEC144696-1) as a file format that can handle stream data and has high compatibility with PCs Mats are widely known.
  • a data stream of a system stream including MPEG 2 video or MPEG 4 video and ancillary information is specified as an MP4 file.
  • the MP4 file format is defined based on the QuickTime (TM) file format of Apple (registered trademark), and has a promising future in that it has been supported by various PC applications in recent years. It is a format.
  • the QuickTime file format, based on it, is now widely used as a file format for video and audio in PC applications.
  • FIG. 1 shows the structure of the MP4 file 1.
  • MP4 file 1 Includes auxiliary information 2 and video stream data 3.
  • the moving picture stream 3 is encoded video data and audio data such as MPEG 2 video or MPEG 4 video. These are arranged in units of one or more frames.
  • Auxiliary information 2 includes the video and audio frame size (hereinafter referred to as “frame size”), video storage address, storage address, and frame unit specified in video stream 3. , Etc. of the playback time.
  • the data reproducing apparatus can specify the storage position of the moving picture stream 3 based on the attached information 2 and read out and reproduce the moving picture stream data 3.
  • FIG. 2 shows another configuration of the MP4 file.
  • the attachment information 2 of the MP4 file and the video stream 3 are configured as separate files.
  • the auxiliary information 2 includes link information L for controlling reading of the video stream 3.
  • the QuickTime file format standard can also have the same file structure as the MP4 standard shown in Figs. In the following, the description of the MP4 file is applicable to the QuickTime file as well, unless otherwise specified, and is not limited to the MP4 file.
  • FIG. 3 shows the specific data structure of MP4 file 1.
  • sample is a minimum unit of stream management in an MP4 file, and corresponds to, for example, encoded frame data of a video frame and encoded frame data of an audio frame.
  • the figure shows a video sample (Video Sample) 4 representing frame data of a video frame and an audio sample (Audio Sample) 5 representing frame data of an audio frame.
  • audio sample Audio Sample
  • chunk refers to a set of one or more samples. Even when there is only one sample in a chunk, the data is managed as one chunk containing only that sample.
  • FIG. 3 shows an audio track 6 and a video track 7.
  • Tracks 6 and 7 describe information such as the size of each sample and its display time, the start position of each chunk, and the number of samples included in that chunk.
  • the overnight playback device can read out each track of the attached information and access all the samples, and can control reading and the like for each sample and chunk.
  • the storage location information for specifying each sample and each chunk, which is specified in the accessory information of the MP4 file is also referred to as “access data”. However, because the access data is described in detail, the data size of the attached information is very large, reaching about 1 MB yte per hour for the video stream.
  • the access data of the DVD video recording standard is about 70 kilobytes per hour. That is, the size of the access data of the DVD video recording standard is less than one tenth of the size of the access data included in the accessory information of the MP4 file.
  • FIG. 4 shows a configuration of functional blocks of a conventional reproducing apparatus 400.
  • the playback device 400 reproduces a moving image stream (a video stream, an audio stream, or a stream in which a video stream and an audio stream are multiplexed) recorded on a DVD-RAM disk 1331.
  • This moving image stream is, for example, moving image data constituting the MP4 file described with reference to FIGS. 1 to 3.
  • the process of playing back a moving image stream performed by the playback device 400 will be specifically described.
  • the stream data of the moving image stream is transmitted through a pickup 407 and a playback unit 404 to a DVD-RAM as a playback signal. Read from disk 131.
  • a series of read processing is performed based on designation of a read position by a control unit (not shown), generation of a reproduction signal, and the like. Then, the reproduced signal is decoded into a video signal and an audio signal by the video stream decoding unit 403 and output to the video signal output unit 401 and the audio signal output unit 402.
  • playlist information is recorded on a DVD-RAM disk.
  • the playback device 400 performs playback according to the playlist information. It has a playlist playback function for playing back video streams in a predetermined order.
  • the “playlist information” is information that defines a reproduction order of a part or all of one or more video streams.
  • the playlist information is generated in the recording device when a user designates an arbitrary position, a section, and the like.
  • an access data for specifying the video stream specified by the playlist information can be stored in the attached information.
  • the playback device 400 reads out the attached information of the MP4 file in advance and stores it in the attached information holding memory 406. This allows the playback device 400 to continuously play back the moving picture stream according to the play list information.
  • the playlist playback function can be used when playlist information is recorded on the DVD-RAM disc 131, and can be said to be a function that makes use of the features of the DVD-RAM disc that can be accessed randomly.
  • the attached information should be DVD_RAM. It is desirable that they are arranged collectively on the disk 13 1.
  • FIG. 5 shows the areas 1 3 2 and 1 3 3 of the DVD-RAM disk 13 1 on which the MP4 file 1 is recorded.
  • DVD The recording area of the RAM disk 13 1 is managed by being divided into a management information area 13 2 and an AV data area 13 3. Usually, the attached information 2 of the MP4 file 1 is The moving image stream 3 is recorded in the management information area 132, and the moving image stream 3 is recorded in the AV stream area 133.
  • DVD RAM disk 1 3 1 management
  • the playback device corresponding to the MP4 file needs to have the attached information holding memory 406 with a large capacity.
  • the attached information holding memory 406 with a large capacity.
  • a considerably large capacity of the auxiliary information holding memory 406 is required.
  • FIG. 6 shows a data structure of an MP4 file 11 in which a plurality of frames (for example, GOP (Group Of Picture) 14) correspond to one sample.
  • Ancillary information 1 and 2 describe the access data for identifying each video sample in the same way as in the previous example, but each video sample corresponds to multiple video frames that compose GOP 14 It is attached.
  • the total number of video samples is reduced, so that the data size of the access data can be reduced. Therefore, it is possible to reduce the attached information per hour of the video stream to about 10 in the previous example.
  • FIGS. 7 (a) to 7 (d) show the hierarchical data structure of the MPEG2 video stream.
  • Figure 7 (a) shows the sequence at the top of the hierarchical structure.
  • a sequence contains at least one GOP.
  • Figure 7 (b) shows the data structure of each GOP. In the example of FIG. 6, it corresponds to a video sample.
  • the GOP includes one or more frame data, and stores, for example, one I-frame and P-frames and B-frames that require the I-frame as a reference frame.
  • Fig. 7 (c) shows the data structure of each frame (or "picture").
  • Each frame contains multiple slices.
  • FIG. 7D shows the data structure of each slice.
  • Each slice is a set of macroblocks, which are coding units of the MPEG2 video, and the MPPEG2 video stream is byte-aligned in slice units.
  • a sequence code, a GOP, a frame, and a slice that form the hierarchical structure of the MPEG2 stream are each preceded by a 32 bit stream code.
  • sequence header code Sequence Header Code
  • GOP Start Code 13 02 Picture Start Code 13 0 3 at the beginning of the frame
  • Slice Start Code 13 0 4 at the beginning of the slice
  • the start code consists of a 24-bit start code prefix and an 8-bit start code ID.
  • the start code-do prefix is common to all start codes, but the start code-ID has a unique ID for each type.
  • the start code is specified to be unique in the MPEG2 video stream. For example, if the value of 32 bits in the stream matches the value of the picture start code 133, , It can be immediately interpreted as the beginning of the frame. In the following, a code that is unique in the stream is referred to as a “unique code”.
  • FIGS. 8 (a) to 8 (d) show the state of error propagation when an error occurs in the MPEG-2 video stream. Since the MPEG2 video stream is composed of variable-length codes, for example, if an error occurs in the slice data with the slice start code 13044-1, the subsequent It cannot be decrypted. However, by detecting the next slice start code 13044-2 and synchronizing the streams, the subsequent streams can be decoded. In this way, the unique code is used in the MPEG2 video stream to suppress the error propagation range when there is an error in the stream during decoding. While the above-mentioned unique code is useful for error recovery, it also increases redundancy in terms of coding efficiency. In the future, it is expected that a stream without a unique code will appear in order to increase the coding efficiency. If such a stream is recorded by the conventional method, the following problems will occur.
  • FIGS. 9 (a) to 9 (d) show how error propagation occurs when a decoding error occurs in a video stream having no unique code.
  • access data is provided so that a plurality of frames (for example, GOP) correspond to one sample, and the data size of the attached information is reduced.
  • the accompanying information includes the key of each sample. It describes not only access data but also information such as decoding time and display time of each sample. However, if one sample is composed of a plurality of frames, the attached information does not describe the decoding time, display time, frame-by-frame data, etc. of each frame required for reproducing the moving image stream. Therefore, it is necessary for the playback device to obtain such information by calculation. For example, the reproducing apparatus 400 obtains a difference value between the decoding time of a certain sample and the decoding time of the next sample, and divides the difference value by the number of frames in the sample. The reproducing device 400 adopts the obtained division value as a difference value of the decoding time per frame.
  • the correct decoding time, display time, frame-by-frame data, and the like of each frame may not be obtained by the calculation procedure preset in the playback device 400.
  • FIG. 10 (a) schematically shows a sample (G ⁇ P) in which a frame skip has occurred.
  • Frame skip occurs after frame 2.
  • the display time length of each frame is 1 second.
  • this sample should consist of five frames from frame 1 to frame 5 (display time length: 5 seconds), but the sample actually contains four frames from frame 1 to frame 4. It is a sheet.
  • the display time difference value of one sample obtained based on the auxiliary information is 5 s.
  • Figure 10 (b) shows the sample display time length. Indicates the display time length of each frame evenly allocated to.
  • the correct display time in this case is 2 seconds only for frame 2 to account for the display time of the skipped frame, and 1 second for other frames.
  • Figure 10 (c) shows the correct display time length of each frame with respect to the sample display time length.
  • the reproducing apparatus determines the display time of the frame included in the sample.
  • the problem arises that cannot be obtained correctly. It can be said that this problem is caused by the processing of the recording device in which the display time length and the like of each frame are not recorded as a result of recording one sample composed of a plurality of frames.
  • the video stream does not include information (unique code) for identifying the start or end of each frame, there is a problem that data cannot be obtained for each frame.
  • MPEG-4 Visua 1 uses a start command in a video stream.
  • the frame boundary can be detected by an identifier called the video code.
  • MP EG-4 Advanced Video Coding (AVC) uses the video stream information to identify the frame boundary when storing it in an MP4 file. Therefore, if two or more frames encoded by MPEG-4AVC are stored in one sample, the frame boundaries cannot be detected, and the data of each frame is not included. Can not get. Disclosure of the invention
  • a data recording apparatus includes: a receiving unit that receives at least one of a video signal and an audio signal; encoding the signal in a predetermined encoding format; A stream generation unit that generates an encoded stream including a plurality of reproduction data that is a frame data for the audio signal, and an extension information generation that generates extension information for identifying each reproduction data. And an access data for accessing a group unit including one or more data for reproduction, and ancillary information including the access data is generated. A multiplexing unit that multiplexes the coded stream and the extended information to generate a data stream, and a recording unit that records the data stream and the additional information on a recording medium. You.
  • the additional information generation unit may further generate access data for accessing a group consisting of a plurality of pieces of reproduction data.
  • the additional information generation unit generates an access data for each first sample when the group unit is a first sample, and the second sample when the extended information is a second sample. Access data may be generated for each.
  • the multiplexing unit may generate the data stream by multiplexing the coded stream and the extended information for each of the first and second samples.
  • the accessory information generation unit may generate an access data for each sample when the group unit and the extended information regarding one or more pieces of reproduction data included in the m group are taken as one sample. .
  • the multiplexing unit may generate the data stream by multiplexing the encoded stream and the extension information for each sample.
  • the receiving unit receives a video signal and an audio signal, and the stream generation unit outputs the video signal and the audio signal respectively. And generating a coded stream including picture data of a plurality of videos and frame data of a plurality of audio frames, wherein the extended information generation unit includes at least each picture data.
  • the additional information generation unit generates at least one of the picture data, the frame data of the plurality of audio frames, and each of the extension information.
  • Access data for accessing a group consisting of two or more picture data may be generated, and additional information including the access data may be generated.
  • the extended information generation unit may further generate extended information for specifying each frame data of the plurality of audio frames.
  • the recording unit may record the data stream and the attached information as one data file on the recording medium.
  • the extended information generation unit may generate at least one of information indicating a data size, a display time, and a decoding time of each of the reproduction data as the extended information.
  • the additional information generation unit may generate the additional information further including a default value of the extension information, and the extension information generation unit may generate the extension information having a value different from the default value.
  • the extended information generating unit may generate extended information for specifying reference destination picture data referred to for decoding each picture data of the video signal.
  • the additional information generation unit may include the additional information further including link information.
  • the recording unit records the data stream on the recording medium as a first data file specified by the link information, and records the attached information as a second data file. May be recorded on the recording medium.
  • the data recording method includes a step of receiving at least one of a video signal and an audio signal; encoding the signal in a predetermined encoding format; Generating an encoded stream including a plurality of reproduction data as frame data for the audio signal; generating extension information for identifying each reproduction data; and performing one or more reproductions.
  • Access data for accessing the group unit composed of the access data, and including the access data.
  • the step of generating the ancillary information further includes an access data for accessing a group of a plurality of reproduction data.
  • the step of generating the additional information includes:
  • the step of generating the data stream may include generating the data stream by multiplexing the encoded stream and the extension information for each of the first samples and for each of the second samples. .
  • the step of generating the accessory information includes: setting an access data for each sample when the group unit and the extended information regarding one or more pieces of reproduction data included in the group are defined as one sample. May be generated.
  • the step of generating the data stream may include generating the data stream by multiplexing the encoded stream and the extension information with the sample.
  • the receiving step includes receiving a video signal and a sound signal, and generating the coded stream includes coding the video signal and the audio signal in a predetermined coding format, respectively, Generating an encoded stream including picture data of video and frame data of a plurality of audio frames, and generating the extended information, at least generating extended information for identifying each picture data;
  • the step of generating the additional information includes an access for accessing the picture data, the frame data of the plurality of audio frames, and each of the extension information in a unit of at least two or more picture data. Data may be generated to generate additional information including the access data.
  • the step of generating the extended information may further include generating extended information for specifying each frame data of the plurality of audio frames.
  • the recording step may record the data stream and the additional information on the recording medium as one data file.
  • the step of generating the extended information may include generating at least one of information indicating a data size, a display time, and a decoding time of each of the reproduction data as the extended information.
  • the step of generating the additional information includes generating the additional information further including a default value of the extended information, and the step of generating the extended information includes generating the extended information having a value different from the predetermined value. You may.
  • the step of generating the extended information may include generating extended information for specifying reference destination picture data referred to for decoding each picture data of the video signal.
  • the step of generating the additional information includes the step of generating the additional information further including link information, and the step of recording includes setting the data stream as a first data file specified by the link information on the recording medium. And the additional information may be recorded on the recording medium as a second data file.
  • a data reproducing device reproduces data recorded on a recording medium.
  • the recording medium stores a data stream and additional information.
  • the data stream includes a video signal and an audio signal.
  • a reproduction data in which at least one of the signals is encoded in a predetermined encoding format, wherein the video signal is a picture data and the audio signal is frame data.
  • a coded stream including a plurality of data and extension information for specifying each data for reproduction are multiplexed.
  • the additional information includes access data for accessing a group consisting of one or more playback data.
  • a reproducing unit that reads the data stream and the additional information from the recording medium and separates the data stream into the encoded stream and the extended information; and decodes the encoded stream. And a stream decoding unit.
  • the stream decoding unit analyzes the access data of the additional information to identify the group unit, and, based on the extended information, identifies each picture data in the group unit.
  • a data reproducing method reproduces data recorded on a recording medium.
  • the recording medium stores a data stream and additional information.
  • the data stream is reproduction data in which at least one of a video signal and an audio signal is encoded in a predetermined encoding format, and the video stream is picture data and the audio signal is audio data.
  • a coded stream including a plurality of reproduction data, which is frame data, and extended information for specifying each reproduction data are multiplexed.
  • the auxiliary information includes an access data for accessing a group of one or more data for reproduction. Contains. Reading the data stream and the additional information from the recording medium, and separating the data stream into the encoded stream and the extended information; and Decoding the data.
  • the step of decoding the encoded stream includes a step of analyzing the access data of the additional information to identify the group unit, and identifying each reproduction data in the group unit based on the extended information. And a step of decoding the specified reproduction data.
  • the data structure according to the present invention includes a data stream and additional information.
  • the data stream is a reproduction data in which at least one of a video signal and an audio signal is encoded in a predetermined encoding format, and is a picture data for the video signal and a video data for the audio signal.
  • an encoded stream including a plurality of pieces of reproduction data as frame data, and extended information for specifying each reproduction data are multiplexed.
  • the additional information includes access data for accessing a group consisting of one or more pieces of reproduction data.
  • a data stream and additional information are recorded.
  • the data stream is a playback data in which at least one of a video signal and an audio signal is encoded in a predetermined encoding format, and is a picture data and an audio signal for the video signal.
  • multiple playback data that is frame data
  • the coded stream including the information and the extended information for specifying each data for reproduction are multiplexed.
  • the additional information includes an access data for accessing a group of one or more data for reproduction.
  • FIG. 1 is a diagram showing a configuration of the MP4 file 1.
  • FIG. 2 is a diagram showing another configuration of the MP4 file.
  • FIG. 3 is a diagram showing the data structure of the MP4 file 1.
  • FIG. 4 is a block diagram of a conventional reproducing apparatus 400.
  • FIG. 5 is a diagram showing the areas 1 3 2 and 1 3 3 of the DVD-RAM disk 13 1 where the MP4 file 1 is recorded.
  • FIG. 6 is a diagram showing a data structure of an MP4 file 11 in which GOPs 14 of a plurality of frames correspond to one sample.
  • FIGS. 7A to 7D are diagrams showing a hierarchical data structure of the MPEG2 video stream.
  • FIGS. 8 (a) to 8 (d) are diagrams showing the state of error propagation when an error occurs in the MPEG2 video stream.
  • FIGS. 9 (a) to 9 (d) are diagrams showing the state of error propagation when a decoding error occurs in a video stream having no unique code.
  • Figure 10 (a) is a diagram schematically showing a sample (GOP) in which frame skipping has occurred, and Figure 10 (b) shows the sample display time length.
  • FIG. 10C is a diagram showing the display time length of each frame equally allocated, and
  • FIG. 10C is a diagram showing the correct display time length of each frame with respect to the sample display time length.
  • FIG. 11 is a block diagram of the data processing device 10 according to the first embodiment.
  • FIG. 12 is a diagram showing the configuration of the MP4 file 21 recorded by the data processing device 10.
  • FIG. 13 is a flowchart showing the procedure of the recording process of the overnight processing device 10.
  • FIGS. 14 (a) to 14 (d) are diagrams showing the state of error propagation when a decoding error occurs in the moving picture stream constituting the MP4 file 21.
  • FIG. 14 (a) to 14 (d) are diagrams showing the state of error propagation when a decoding error occurs in the moving picture stream constituting the MP4 file 21.
  • FIG. 15 is a diagram showing an example of extended information describing information on the number of slices constituting each video frame and the data size of each slice.
  • Figs. 16 (a) to 16 (d) are diagrams showing how error propagation when a decoding error occurs in a video stream falls within a slice.
  • FIG. 17 is a diagram showing an example of extended information describing the display duration of each video frame.
  • Figure 18 (a) is a diagram schematically showing a group of video frames in which frame skipping has occurred.
  • Figure 18 (b) is a group of video frames when the display time is set to be uniform for all frames.
  • FIG. 19 is a diagram showing a data structure of the box 40.
  • FIG. 20 (a) is a diagram showing a data structure of the basic unit 50
  • FIG. 20 (b) is a diagram showing a data structure of moov52.
  • FIG. 21 (a) is a diagram showing the data structure of ak53, and FIG.
  • FIG. 22 is a diagram showing a data structure of an MP4 file including a basic part 50 and an extended part 60.
  • FIG. 23 is a diagram showing the data structure of moof 61.
  • FIG. 24 is a block diagram related to a recording function of the data processing device 170 according to the second embodiment.
  • FIG. 25 is a flowchart showing a procedure in which the header generation unit 175 determines the difference value of the decoding start time and the number of frames forming the sample.
  • FIG. 26 is a flowchart showing a procedure of determining a frame forming a sample in the header generation unit 175.
  • FIG. 27 is a diagram showing the relationship between the determined sample and the frame.
  • FIG. 28 is a diagram illustrating another example showing the relationship between the determined sample and the frame.
  • FIG. 29 is a flowchart showing a procedure for multiplexing frames in encoded data into samples.
  • FIG. 30 is a diagram showing a sample in which a frame in a GOP is stored.
  • FIG. 31 is a block diagram of a data processing device 200 according to the fourth embodiment.
  • FIGS. 32 (a) to 32 (c) are diagrams showing examples of the structure of a sample and the difference between the decoding time of the next frame and each frame included in the sample.
  • FIGS. 33 (a) to 33 (c) show sample structures of the MP4 file.
  • Fig. 34 (a) is a diagram showing a sample in which the display time and the access unit are stored together
  • Fig. 34 (b) is a diagram showing an example of syntax for realizing the sample structure of Fig. 34 (a).
  • FIG. 34 (c) is a diagram showing an example in which a field indicating the size of the access unit is added next to the display time information.
  • FIG. 35 is a block diagram illustrating a configuration of a data processing device 300 according to the fifth embodiment.
  • FIG. 36 is a flowchart showing a procedure of a process in which the sample analysis unit 307 acquires picture data from a sample.
  • FIG. 37 is a diagram showing the data structure of the access unit.
  • Figure 38 shows a Multi AU header box (Multi AU header box).
  • FIG. 38 (b) is a diagram showing a data structure of a sample header.
  • FIG. 39 is a diagram showing an example when the sample header is arranged as the last data in the sample.
  • FIG. 40 (a) is a diagram showing the data structure of mtsz
  • FIG. 40 (b) is a diagram showing the data structure of mdta
  • FIG. 40 (c) is a diagram showing the data structure of mcta .
  • Figure 41 (a) shows an example of the syntax of the initial value setting part of the sample header when a box is used.
  • Figure 41 () shows the initial value of the sample header when no box is used. It is a figure showing the example of a syntax of a setting part.
  • FIGS. 42 (a) to (d) show examples of the respective syntaxes of mahd, mtsz, mdta, and mcta.
  • FIGS. 43 (a) to (c) are diagrams showing a first example for storing data in a sample header.
  • FIGS. 44 (a) and (b) are diagrams showing a second example for storing data in the sample header.
  • Fig. 45 (a) is a diagram showing an example in which a sample header is added to each of the access units in one sample
  • Fig. 45 (b) is a diagram showing one sample to multiple access units less than N.
  • FIG. 14 is a diagram showing an example in which a character is added.
  • FIGS. 46 (a) and (b) are diagrams showing a sample structure and a syntax example when the box structure is not used.
  • FIG. 47 is a flowchart showing the procedure of a process in which the sample analysis unit 307 acquires picture data from a sample.
  • FIG. 48 is a flowchart showing the operation of acquiring the size of the access unit constituting the sample.
  • FIG. 49 is a diagram showing a series of pictures and the coding type of each picture.
  • FIGS. 50 (a) to (c) are diagrams showing a video stream and layers 0 and 1 constituting the video stream.
  • Fig. 51 (a) to (c) are diagrams showing the syntax of subsequences and layer-related SEIs.
  • FIGS. 52 (a) to (d) are diagrams showing a video stream and layers 0, 1, and 2 constituting the video stream.
  • FIG. 53 (a) is a diagram showing table data of sbgp for layers
  • FIG. 53 (b) is a diagram showing table data of sbgp for subsequences.
  • FIGS. 54 (a) to (c) are diagrams showing the structure of AVC-G0P.
  • 55 (a) to 55 (d) are diagrams showing a video stream and layers 0, 1, and 2 constituting the video stream.
  • FIGS. 56 (a) to 56 (c) are diagrams showing the field values of each SEI of SSL and SS SSI stored in the AVC-G0P shown in FIG. 55 (a).
  • FIGS. 57 (a) and (b) are diagrams showing a sample structure when the AVC-G0P data of FIG. 55 is stored in MP 4 samples.
  • Fig. 58 (a) is a diagram showing an example of the syntax of the sample, layer, subsequence box stls, and Fig. 58 (b) shows the case where the AVC-G0P in Fig. 55 is stored in one sample. Table structure of stls FIG.
  • FIG. 59 is a flowchart showing the processing procedure of the sample analyzer 307 and the decoding display 308 when only the selected picture is reproduced.
  • Fig. 60 (a) is a diagram showing an example of the physical format of a flexible disk (FD) as an example of a recording medium
  • Fig. 60 (b) is the appearance, cross-sectional structure, and flexible structure of a flexible disk viewed from the front.
  • FIG. 60 (c) is a diagram showing a disk
  • FIG. 60 (c) is a diagram showing a device configuration for writing and reading a program to and from a flexible disk FD.
  • FIG. 11 shows a configuration of functional blocks of the data processing device 10 according to the present embodiment.
  • the data processing apparatus 10 is described as having both a recording function and a reproducing function of an MP4 file.
  • the MP4 file is a file of the MPEG4 system standard (IS OZ IEC 1449 6-1) format.
  • the data processing device 10 can generate an MP4 file and write it to the recording medium 131, and can play back the MP4 stream written to the recording medium 131.
  • the recording medium 1 3 1 is, for example, a DVD_RAM disk (Hereinafter referred to as “DVD—RAM disk 13 1”).
  • the data processing device 10 is realized, for example, as a DVD recorder.
  • the data structure of the MP4 file will be described later with reference to FIG.
  • components and operations related to the recording function of the data processing device 10 will be described, and then components and operations related to the reproduction function will be described.
  • the data processing device 10 includes a video signal receiving unit 100, a video stream generating unit 101, an audio signal receiving unit 102, and an auxiliary information generating unit 10. 3, an extension information generating unit 104, a multiplexing unit 105, a recording unit 120, and an optical pickup 130.
  • the video signal receiving unit 100 is a video signal input terminal, and receives a video signal representing a video image.
  • the audio signal receiving unit 102 is an audio signal input terminal, and receives an audio signal representing an audio signal.
  • the video signal receiving section 100 and the audio signal receiving section 102 are connected to a video output section and an audio output section of a tuner section (not shown) for receiving a broadcast radio wave, and the video signal receiving section 100 and the audio signal receiving section 102 respectively receive the video signal. And receive audio signals.
  • the video stream generation unit 101 receives a video signal and an audio signal, and outputs, for example, an MP EG 2 or an MP EG 4 (MP EG_4 Visual, MP EG-4 AVC (Advanced Video Coding)). Performs encoding based on the standard and generates a video stream (encoded stream).
  • the additional information generation unit 103 generates additional information of the MP4 file standard.
  • the ancillary information includes an access data for accessing the sample unit of the encoded stream. “Sample” is the minimum management unit in the attached information, and records information such as data size, decoding time, and playback time for each sample. One sample is a data unit that can be accessed at random. The details of the additional information will be described later.
  • the extended information generation unit 104 generates extended information indicating an attribute for specifying each frame data in the sample.
  • the “attribute” here indicates, for example, the data size, decoding time, and display time of each frame data.
  • the sample may be a video sample (Video Sample) representing frame data of a video frame, or an audio sample (Audio Sample) representing frame data of an audio frame.
  • the multiplexing unit 105 multiplexes the coded stream and the extension information to generate a moving image stream.
  • This stream stores a video stream and / or an audio stream, and the extended information generated by the extended information generating unit 104.
  • the recording unit 120 controls the pickup 130 and records data at a specific position (address) of the DVD-RAM disk 131. More specifically, the recording unit 120 records the video stream generated in the multiplexing unit 105 as an MP4 file in the AV data area 133, and generates the video stream in the auxiliary information generation unit 103. Attached information to MP 4 files are recorded in the management information area 1 3 2.
  • the recording unit 120 may record the moving picture stream and the attached information as one MP4 file, instead of a separate MP4 file, on the DVD-RAM disc 131. Further, the recording unit 120 may record the attached information in the AV data area 133.
  • FIG. 12 shows the configuration of the MP4 file 21 recorded by the data processing device 10.
  • the MP4 file 21 includes additional information 22 and a video stream 23.
  • the auxiliary information 22 indicates the size, storage address, playback time, etc. of each sample when a predetermined number of video frame data and / or audio frame data in the video stream 23 is taken as one sample. Information.
  • the video stream 23 includes a plurality of video samples and a plurality of video size samples.
  • the video sample is defined by the additional information 22 as a set of a plurality of video frame data.
  • one video sample (video sa immediate le) is matched with one group of picture (Group Of Picture; GOP) 25, but regardless of the presence or absence of the G ⁇ P structure,
  • a set of predetermined frame data may be one video sample.
  • the video size sample contains extension information for the corresponding video sample.
  • each of the video frames of video sample # 0 is The frame sizes of frames # 0 to #M are described.
  • a video sample corresponding to the video size sample is recorded after the video size sample, but this is an example, and other arrangements can be taken.
  • the samples in a chunk can be stored in ascending order with respect to the decoding time and continuously. At this time, recording and reproduction of the MP4 file having the data structure according to the present embodiment are not limited.
  • One of the main features of the present embodiment is that a plurality of video frame data are managed as one video sample, and attributes (frame size, display duration, etc.) for specifying each frame in the sample are set. Is provided in the video stream as a separate sample.
  • the access data of the sample describing the extended information as well as the access data of the video sample is individually managed in the additional information 22, and random access to each is enabled. explain in detail.
  • the first video sample (video sample # 0) of the video stream stores (M + 1) video frame data.
  • the first video size sample (video size sample # 0) of the video stream contains the same as the first video sample.
  • the information of (M + 1) frame sizes, which is the same number, is stored.
  • the (N + 1) th video sample (video sa immediately le # N) counted from the beginning of the video stream stores (L + 1) video frame data.
  • (L + 1) frame size information is stored in the (N + 1) th video size sample (video size sample # N) counted from the beginning of the video stream.
  • the frame size information and the corresponding Video frames can be easily associated.
  • access data for each video sample is stored in the video track of the auxiliary information, and access data for each video size sample is stored in the video size track. Therefore, the frame size information of a specific video frame can be obtained from the moving picture stream at the time of reproduction using the additional information and the extended information included in the video size sample.
  • audio frame data can be stored in the sample.
  • a set of a predetermined number of audio frame data may be handled as one audio sample.
  • the additional information 22 describes an audio track that describes access data of each audio sample and an audio size track that specifies access data for each audio size sample.
  • Audio size The sample describes the frame size of each audio frame.
  • FIG. 13 shows a procedure of a recording process of the data processing device 10.
  • the moving picture stream generator 101 encodes each frame of the video according to a predetermined encoding procedure.
  • the extension information generation unit 104 generates extension information indicating the frame size of each encoded frame. Since encoding is performed by the video stream generator 101, the extended information generator 104 uses the encoding result of the video stream generator 101 to encode information such as each frame size. Generate as extended information.
  • step S13 when the auxiliary information generation unit 103 determines that the frame data constituting one GOP corresponds to one video sample, the multiplexing unit 105 determines based on the determination. Obtains extended information (video size samples) in video sample units. Then, in step S14, the multiplexing unit 105 multiplexes each video sample and each corresponding extended information to generate moving image stream data. Next, the additional information generation unit 103 generates additional information including access to each video size sample and access data to each video sample. Then, the recording unit 120 generates a video stream based on the encoded stream data and the attached information, and outputs the MP4 file. DVD-RAM disk 1 3 1
  • the data processing device 10 can reproduce and decode the moving picture stream recorded on the DVD-RAM disc 131, according to a user's instruction.
  • the data processing device 10 includes a video signal output unit 110, a video stream decoding unit 111, an audio signal output unit 112, and a playback unit 113. And an auxiliary information holding memory 118 and a pickup 130.
  • the playback unit 113 controls the operation of the pickup 130, reads the attached information 22 from the management information area 132 of the DVD-RAM disk 131, and acquires the attached information.
  • the playback unit 113 outputs the acquired attached information 22 to the attached information holding memory 118 to hold it.
  • the playback unit 113 reads a video stream 23 including a video sample and extended information (video size sample) from the AV data area 133 of the DVD-RAM disc 131.
  • the data processing device 10 can also acquire a moving image stream via a network.
  • a signal line connecting the pickup 130 and the reproducing unit 113 in FIG. 11 corresponds to a network line.
  • the reproduction unit 113 can acquire the moving image stream 23 recorded on the recording medium 13 1 of the remote server via a transmission medium called a network line, and reproduce the moving image stream 23 in the data processing device 10.
  • the video stream decoding unit 111 Upon receiving the video stream 23, the video stream decoding unit 111 refers to the video size track of the auxiliary information 22 stored in the auxiliary information storage memory 118, and Obtain information such as sample access data, data size, decoding time, and playback time. Then, the moving picture stream decoding unit 111 extracts each video sample and each video size sample from the moving picture stream based on the information. In addition, if an audio track exists in the attribute information, the audio data is extracted from the video stream using the access data. Then, the video stream decoding unit 111 decodes the video data and the audio data.
  • the video signal output unit 110 is a video signal output terminal, and outputs the decoded video data as a video signal.
  • the audio signal output unit 112 is an audio signal output terminal, and outputs decoded audio data as an audio signal.
  • the data processing device 10 can reproduce the MP4 file recorded on the DVD-RAM disk 13 1.
  • the playback unit 113 reads out the attached information recorded in the management information area 132 of the DVD-RAM disk 131 and stores it in the attached information holding memory 118.
  • the playback unit 113 refers to the accessory information stored in the accessory information holding memory 118, and picks up the pickup 130 from the AV data area 133 of the DVD-RAM disk 131.
  • the video stream decoding section 111 decodes the read video stream into a video signal and / or an audio signal, and outputs the video signal output section 110 and / or the audio signal output section 112 Output to
  • FIGS. 14 (a) to 14 (d) show the state of error propagation when a decoding error occurs in the video stream constituting the MP4 file 21.
  • This video stream does not need to have a unique code (unique code) in the stream.
  • Each video sample in Fig. 12 corresponds to each GOP in the sequence in Fig. 14 (a).
  • the access data for each GOP shown in FIG. 14 (a) is stored in the video track of the additional information 22.
  • the video stream decoding unit 111 detects an error while playing a video frame #Y (video frame #Y) in a video sample #X (video sample #X). Then, the moving picture stream decoding unit 111 notifies the reproducing unit 113 of the occurrence of the error.
  • the playback unit 113 reads the access data of the video size track of the accessory information 22 stored in the accessory information holding memory 118, and reads the video from the AV data area 133 of the DVD-RAM disk 131.
  • the video size sample #X (video size sample # X) in the stream is W
  • the video stream decoder 1 1 1 refers to the read video size sample #X and extracts frame size information from the first frame # 0 of the sample #X to the error occurrence frame #Y. Then, the start position of the next video frame # (Y + 1) (video frame # (Y + D) is identified and decoding is resumed from that position.
  • the start position of the next Y-th video frame is It can be obtained by calculating the sum of the frame sizes from frame # 0 to error occurrence frame # Y.After that, the playback unit 113 determines the next video frame # (Y + 1) ( The video stream data is read out sequentially from the frame of video frame # ( ⁇ + 1)), and the playback is continued.As described above, the size of each frame is stored in the video size sample. See video size sample This makes it possible to obtain the size of each frame in the video stream, so that even if an error occurs in a video stream that does not have a unique code, the start position of the next frame can be easily specified. This allows the extent of error propagation to be completed within the frame where the error exists.
  • the reproduction operation according to the present embodiment is applicable regardless of whether an error occurs. For example, even when multiple GOs are managed as one sample, random access to each frame is possible.
  • the storage position of each frame can be specified by the playback unit 113 adding the frame sizes from the beginning to the frame immediately before the desired frame.
  • Figure 12 shows As shown, if video samples and the corresponding video size samples are arranged consecutively, it is possible to reduce the extra shake operation of the pickup 130. The reason is that the playback unit 113 refers to the access data of both the video track and the video size track, and reads out the video samples and the video size samples that are continuously arranged from the DVD-RAM disk 131 at a time. This is because
  • the present embodiment it is possible to reduce the data size of the attached information as compared with the case where one frame of the video stream in the moving image stream corresponds to the video sample. This makes it possible to prevent an increase in the memory size for holding the attached information even when playing the MP4 file.
  • the data size of ancillary information (including the video track and the video size track) when a GOP and a video sample are associated and a video stream including a video size sample is recorded for one hour is about 100 kilobytes. is there.
  • the data size of the accessory information when recording a video stream for one hour by associating one frame with a video sample is about 1 megabyte. Therefore, according to the present embodiment, the memory size for holding the attached information can be significantly reduced. In other words, according to the present embodiment, it is possible to have room for storing about 10 times the additional information in the same memory size.
  • the data structure of the MP4 file 21 shown in FIG. 12 defines a unique structure according to the present embodiment.
  • Video tracks and video samples can be played as usual even on playback devices that do not support the data structure.
  • the reason is that the MPEG-4 system standard specifies that the data size of each track is described at the beginning of each track in the attached information, so that a video size track that cannot be processed can be skipped. .
  • the processing according to the present embodiment is applicable even if the above-mentioned moving image stream includes a video stream encoded by an encoding method that does not use inter-frame compression.
  • the smaller the number of frames corresponding to one video sample the larger the number of access data of the video samples to be stored in the video track of the accompanying information, and the larger the data size of the attached information. is necessary.
  • the video size sample storing the information on the frame size of each video frame is the extended information, but the extended information is not limited to this.
  • FIG. 15 shows an example of extended information describing information on the number of slices constituting each video frame and the data size of each slice. With this configuration, the data storage position of each slice can be specified by the same operation as described above, so that any slice can be accessed and the effect of error propagation when an error occurs. Can be made smaller.
  • Figures 16 (a) to 16 (d) show how error propagation can be accommodated within a slice when a decoding error occurs in the video stream.
  • FIG. 17 shows an example of extended information describing the display duration of each video frame.
  • the video stream 33 includes a plurality of video duration samples 36 and video samples 37.
  • the video duration sample 36 stores the display duration information (frame duration) of each frame of the corresponding video sample as extended information.
  • the access data of the video duration sample 36 is managed in the video duration track 34 of the auxiliary information 32.
  • the point that the access data of the video sample 37 is managed in the video track 35 of the auxiliary information 32 is the same as the previous example.
  • FIG. 18 (a) schematically shows a video frame group in which a frame skip has occurred.
  • display time information that specifies twice the display time of the immediately preceding frame is generated. That is, in the example of Fig. 18 (a), the display time of the immediately preceding frame # 4 (frame # 4) is set to ⁇ 2T, and the display time of the other frames is set to ⁇ .
  • the value of each frame duration of the video duration sample 36 is described. As a result, this video 00
  • FIG. 18 (b) schematically shows a video frame group when the display time is set uniformly for all frames. If the display time of each frame is set as shown in Fig. 18 (b), each frame of the video stream will be displayed at a different timing from the recording time.
  • the number of video frames in a video sample and the number of corresponding frame size information in a video size sample have been described as being the same, but they need not be the same. Even if the numbers differ, information indicating the correspondence between the video sample and the video size sample is stored in the auxiliary information, etc., and finally a specific video frame can be associated with the frame size information Is good enough.
  • the MP4 file format has been described as an example, but the present invention is not limited to this.
  • the present invention is composed of a video stream and additional information. If the configuration is such that the access data is stored, it can be applied to other file formats.
  • An example of another file format is the QuickTime file format, which was the basis for the MP4 file format Is applicable.
  • the recording medium is described as a DVD-RAM disk, but the present invention is not particularly limited to this.
  • the recording medium may be an optical recording medium such as MO, DVD-R, DVD-RW, DVD + RW, CD-R, CD-RW, a magnetic recording medium such as a hard disk, or a semiconductor recording medium such as a semiconductor memory. You may.
  • information on the frame size and the like is stored in another sample (video size sample) independent of the video sample.
  • TS 26.23 is a standard of 3GPP (Third Generation Partnership Project), an international standardization organization that defines standards for receiving terminals in wireless networks. 4 (Transparent end-to-end packet switched streaming service), etc., is expected to expand the video distribution service for mobile terminals.
  • 3GPP Third Generation Partnership Project
  • 4 Transparent end-to-end packet switched streaming service
  • MP4 which was mentioned in connection with the first embodiment, is a multiplexed file format for achieving multiplexing, and is based on ISO / IECJ TC1 / SC29 / WG11 (International Standardization).
  • FIG. 19 shows the data structure of box 40.
  • Box 40 has a size field 41, a type field 42, a version field 43, a flag (nags) field 44 and a data field 45.
  • the content of the information stored in each field is as follows.
  • Size (size) field The overall size of the pox, including the size field
  • Type field The identifier of the box, usually represented by four alphabetic characters.
  • the field length is 4 bytes, and a box is detected in an MP4 file by determining whether or not 4 consecutive bytes of data match the type field identifier. It becomes possible to search.
  • Version (version) field Box version number Flag (flags) field: Flag information set for each box
  • Data header information, media data, etc.
  • MP4 allows the use of extensions in addition to the basic parts that must be included in the file.
  • FIG. 20 (a) shows the data structure of the basic unit 50.
  • An MP4 file is composed of three basic boxes, ftyp51 and moov52, which are basic headers, and mdat53, which stores media data.
  • ftyp51 is placed at the beginning of the MP4 file.
  • ftyp51 contains information for identifying an MP4 file.
  • mdat 53 stores media data in units called samples.
  • a sample is a minimum unit when handling media data in MP4, and is equivalent to one or more audio frames or a VOPP (Video Object Plane) of MPEG-4Visual.
  • VOPP Video Object Plane
  • the MP4 file format defines the format in which audio or video frame data is stored in the mdat 53. Data is stored according to their format.
  • the data of each medium included in the mdat 53 is called a track, and each track is identified by a track ID.
  • FIG. 20 (b) shows the data structure of moov 52.
  • moov is a required box, and its number is one. Boxes are arranged hierarchically in moov52, and header information of samples included in mdat53 is stored. This header information corresponds to the additional information in the first embodiment. In other words, the moov 52 stores the additional information according to the first embodiment.
  • Header information common to the entire file is stored in mvhd. Also,
  • Head information for each track is stored in a separate trak53. Note that which track the trak 53 contains information for is identified by the track ID shown in the box tkhd (not shown) in the trak 53.
  • mvex is present. mvex exists only when the extension is used, and indicates that the extension is stored after the basic part 50. mvex contains trex, and sets the default value of header information in the extension for each track.
  • FIG. 21 (a) shows the data structure of trak53.
  • trak 53 contains stbl 54
  • stbl 54 contains boxes stts 55, stsd 56, stsc 57.
  • the box in stbl 54 stores information such as the decoding time of the sample, the display start time, and the size.
  • the decoding time of the sample is stored in stts 55.
  • stts 5 to 5 Stores the difference value of the decoding time between two consecutive samples. Therefore, by integrating the difference values, the decoding time of each sample can be obtained.
  • information on the difference between the decoding time and the display start time is stored in a box ctts (not shown). For example, since the decoding time and the display start time are different for frames encoded using bidirectional prediction, ctts is used to determine the display start time.
  • the sample size is stored in a box called stsz (not shown).
  • the stsd 56 stores, as an entry, initialization information necessary for decoding of the track data and the display size of the track. The contents of the entry are referenced when each sample is decoded.
  • a plurality of entries may exist. For example, when the display size is changed in the middle of a track, two entries are prepared before and after the change.
  • the size of the access data varies according to the number of frames included in one sample, so that a plurality of video frames are collectively reduced to one sample.
  • the data size of the auxiliary information that is, the data size of Pox moov
  • a field frame_count indicating the number of frames included in one sample is introduced in one entry of pox stsd56.
  • FIG. 21 (b) shows the field frame—count set for a number of entries in box stsd 56. As shown in FIG. 21 (), there are 10 entries 1 to 10 in stsd. Lead Entry 1 has a frame count of 10, indicating that one sample contains 10 frames. Similarly, the second and third entries show that each sample contains 9, 8 frames.
  • stsc 57 indicates how many frames are included in each sample.
  • the playback device can know the entry number in the stsd 56 by referring to the stsc 57 when decoding each sample. For example, if stsc 57 indicates that the first sample corresponds to entry 1 of stsd 56, the playback device can know that the first sample includes 10 frames.
  • header information for the entire track is stored together in a moov.
  • an extension has been standardized as a means for dividing a track and adding header information for each divided unit.
  • header information is added to each unit obtained by dividing the track.
  • f typ and moov are also required when using the extension, and information that is commonly used in all samples in the track, such as information necessary for decoding samples, is always stored in moov.
  • FIG. 22 shows a data structure of an MP4 file including a basic part 50 and an extended part 60.
  • the header information of the sample included in the divided unit is stored in the extension header 61 (moof), and the data of the sample in which the header information is stored in the moof is sample data. 6 2 Stored in (mdat).
  • the box mvex exists in the pox moov of the basic part 50.
  • FIG. 23 shows the data structure of mooi 61. Similar to moov, boxes are arranged hierarchically in moof 61, and mfhd immediately below moof stores index information of moof, and one or more traf 62 storing header information in track units. Is arranged.
  • the traf 62 stores the header information of the samples included in each track in order from the sample with the earliest decoding time, like the ak in the moov. Note that header information for each track may be stored using a plurality of traf 62.
  • traf 62 includes tfhd 63 and one or more truns 64.
  • trun64 stores header information in sample units such as sample size and playback time length.
  • Tfhd63 uses the track ID (track—ID) of the track in which traf62 stores information, and the number of the entry in stsd56 when decoding the sample included in traf62. Stores information such as whether to refer.
  • moov and mdat exist in the same file. However, mdat can be stored as a data file different from moov, and the file of mdat can be referenced from moov.
  • FIG. 24 shows a configuration of a recording function block of the data processing device 170 according to the present embodiment.
  • the data processing device 170 can receive a video signal, multiplex video data, header data, and the like, and generate an MP4 file.
  • the data processing device 170 is connected to an encoding unit 171, memories 172 and 174, an analysis unit 173, a header generation unit 175, and a data generation unit 176. Parts 1 and 7 are provided.
  • the encoding unit 171 receives the video signal, encodes the video signal in a predetermined encoding format, and outputs encoded data.
  • video is encoded frame by frame or field by field.
  • the term "picture” is used as a concept encompassing both "frame” and "field”.
  • the memories 1722 and 174 are recording media for storing encoded data, analysis information, and the like, and are, for example, semiconductor memories, optical disks, and hard disks. Both need not be the same type of recording medium.
  • the analysis unit 173 obtains the encoded data, and analyzes information on the encoded data, for example, the data size for each sample including one or more picture data and audio frame data, the display start time, or the like. Acquires information indicating the decoding time, initialization information necessary for decoding encoded data, and the like. In addition, the analysis unit 173 outputs a moov generation signal instructing generation of the above-described box moov.
  • the header generation unit 175 acquires the analysis information of the encoded data based on the moov generation signal, and generates the box moov. Further, the header generator 175 outputs arrangement information regarding the arrangement of the sample data in the mdat.
  • the data generator 176 creates the md at in accordance with the format defined by the MP4 standard based on the encoded data and the arrangement information.
  • the linking unit 177 links or multiplexes the box moov and the data mdat specified in the MP4 standard to generate an MP4 file.
  • the encoding unit 1771 encodes the input video signal, and stores the encoded data d102 in the memory 1702.
  • the analysis unit 173 obtains the coded data d103 from the memory 172, and is necessary for decoding information of a sample unit such as a frame size, display start time or decoding time, and coded data. Obtain the necessary initialization information.
  • the analysis unit 173 stores the analysis result d105 in the memory 174.
  • the analysis unit 173 sends the moov generation signal d104 to the header generation unit 175.
  • the header generation unit 17 5 starts generation of moov using the moov generation signal d 104 as a trigger.
  • the header generator 175 obtains the analysis information d106 from the memory 174 and generates each pox in the moov.
  • the header generation unit 175 inputs the arrangement information d107 of the sample data in the mdat to the data generation unit 176, and connects the created moov data d109 to the connection unit. Enter in 1 7 7.
  • the data generator 176 obtains the input video data d108 from the memory 172, and creates mdat in accordance with the arrangement information d107 and the format specified by the MP4 standard.
  • the data generation unit 176 inputs the generated data d 107 (mdat) to the connection unit 177.
  • the coupling unit 1177 links the data d109 (moov) and the data d107 (mdat), and outputs an MP4 file d110.
  • the output MP The four files are recorded on an optical disk, a hard disk, or the like by a drive device (not shown) or the like, or are recorded on a semiconductor memory card or the like via a PC drive slot.
  • FIG. 25 shows a procedure in which the header generation unit 175 determines the difference value of the decoding start time and the number of frames forming a sample. This decision is made based on the analysis result d106.
  • the difference value of the decoding start time indicates a difference value between the decoding start time of each sample and the decoding start time of the next sample. It is assumed that the data processing device 170 of the present embodiment also handles a plurality of video frames as one sample.
  • sample_dur "num-frame”
  • i the difference between the decoding time between the i-th sample and the (i + 1) -th sample and the i-th sample, respectively. It indicates the number of frames included and the sample number.
  • the initial value of sample-dur and num-frame is 0, and the initial value of i is 1.
  • step S21 the header generation unit 175 inputs an analysis result for one frame, and then in step S22, a frame value which is a difference value of the decoding time between the next frame and the current frame is input. — Get the dur.
  • step S23 add frame-dur to sample-dur and add 1 to num-frame.
  • the header generator 175 determines whether the frame processed in step S24 is the last frame of the GOP by comparing the sample-dur with the playback time length of the GOP. If it is not the last frame, the process returns to step S21, and repeats the processing of steps S21 to S24 until the processing of the last sample included in the GOP is completed.
  • step S25 the sa immediately le—dur indicating the difference between the decoding time of the i-th sample and the i + 1st sample, and the number of frames included in the i-th sample Is stored in the analysis result table.
  • step S26 the header generation unit 1775 determines whether or not the i-th GOP is the last GOP in the input data. If the result of the determination is that it is not the final GOP, the header generator 175 adds 1 to i in step S27, immediately sets le—dur and frame—dur to 0, and then proceeds to step S27. 2 Repeat the processing from 1 to step S26. This process continues until the final GOP is reached.
  • the basic operation when the data processing device 170 generates the MP4 file has been described above.
  • the encoding method of the video signal is MP EG-2 Visual.
  • MP EG-4 AVC or MP EG-4 Visual may be used, and may include not only video data but also audio and text data.
  • the criterion for the header generation unit 175 to determine a sample is whether or not the difference value of the decoding time is constant between two consecutive frames. If the difference value is constant, the header generation unit 175 determines that those frames belong to the same sample, and if not, determines that those frames belong to different samples.
  • the target sample generation unit may be a group of VOP (Video Object Plane; GOP) in MPEG-4 Visual or a sub-sequence in MPEG-4 AVC.
  • VOP Video Object Plane
  • the target sample generation unit may be from the I (intra-coded) frame in MP EG-4 Visual to the frame immediately before the next I frame, or an IDR (Instant aneous decoder refresh) picture in MP EG-4 AV To the picture immediately before the next IDR picture.
  • the video data included in the sample is not limited to frame-structured data, but may be field-structured data.
  • FIG. 26 shows the procedure of determining the frames that make up the sample in the header generation unit 175.
  • the header generation unit 175 acquires the display start time CTS (1) and the decoding time DTS (1) of the first frame of the encoded data, and sets the variable i to 1.
  • the value of "Temporal Reference" in the frame data is used to obtain the display start time
  • the decoding time is determined according to the type of frame (1, P, B frame) that composes the GOP and the display order. Calculated from time.
  • step S32 the header generation unit 115 calculates the display start times CTS (i + 1) and CTS (i + 2) of the (i + 1) and (i + 2) th frames. get.
  • step S33 the header generating unit 17 5 calculates the (i + 1) and (i + 2) th frames from the acquired values of CTS (i + 1) and CTS (i + 2). Calculate the values of the decoding times DTS (i + 1) and DTS (i + 2), and in the next step S34, DTS (i), DTS (i + 1), DTS (i + 2) Calculate delta (i) and delta (i + 1) from the value of.
  • delta (i) the difference between the decoding time of the i-th frame and the (i + 1) -th frame is denoted as delta (i).
  • step S35 the header generation unit 1775 determines whether or not delta (delta and delta (i + 1) are equal. Proceed to step S37, and if they are equal, proceed to step S36.
  • the initial value of j is 1.
  • step S37 the header generator 175 determines a frame constituting the j-th sample, and adds 1 to j.
  • the first frame of the j-th sample is the frame immediately after the last frame in the (j-1) -th sample, and the last frame is the i-th frame.
  • step S36 the header generation unit 175 determines whether or not the i-th frame is the last frame of the GOP. If it is not the last frame, the process proceeds to step S39. If it is the last frame, the process proceeds to step S37.
  • step S39 the header generation unit 175 determines whether or not the (i + 2) -th frame is the last frame of the encoded data. If it is not the last frame, the process proceeds to step S40, and if it is the last frame, the j-th sample is determined and the process ends.
  • step S40 the header generation unit 1775 adds 1 to i, and repeats the processing from step S32 to step S36.
  • the first frame of the j-th sample is the frame immediately after the last frame in the (j-1) -th sample, and the last frame is the (i + 2) -th frame.
  • step S36 the ith frame is the last of G0P If it is determined that the frame is a frame, the process of step S37 is performed.
  • step S38 the header generation unit 1775 determines whether or not the (i + 2) -th frame is the last frame of the encoded data. At 0, 1 is added to i, and the processing from step S32 to step S38 is repeated. This process is repeated until the last frame is determined.
  • step S38 when it is determined that the frame is the last frame, the first frame of the ⁇ th sample is set to the frame immediately after the last frame in the (j -1) th sample, and the last frame is (i + 2) The frame is determined and the process ends.
  • Figure 27 shows the relationship between the determined sample and the frame.
  • this GOP one I frame and nine P (forward prediction) frames are arranged in order of decoding time.
  • "I” indicates an I frame and "P” indicates a P frame.
  • the value of "Temporal Reference” is used as the display start time of each frame.
  • the decoding time is calculated based on the display start time of the frame.
  • the information is calculated. May be used.
  • FIG. 28 shows another example showing the relationship between the determined sample and the frame.
  • frames are arranged in the order of ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ 'in order of decoding time.
  • B indicates B (bidirectional prediction) frame.
  • the decoding time of the I and P frames is calculated by subtracting 3 from the display start time, and the decoding time of the B frame is equal to the display start time.
  • the header generation unit 17 5 generates a sample 1 from frame I-1 to frame B-3, a sample 2 including only frame P-4, and a frame 1 from frame B-6 to frame P-10. Generate sample 3.
  • the playback device decodes the current frame without analyzing the sample data by dividing the difference between the decoding times of two consecutive samples by the number of frames constituting the sample. Then, the time from decoding to decoding the next frame can be obtained by uniform calculation.
  • the frames that make up the sample The number of frames is specified by the frame-count field in the st sd 56 entry shown in FIGS. 21 (a) and (b). Samples that contain different numbers of frames refer to different stsd entries, each with a corresponding frame-count value.
  • the data processing device receives video data and encodes the video data according to MPEG-2Visual.
  • the data processing device keeps the number of frames included in each sample as constant as possible, so that the stsd referenced by the sample is Generate MP4 files to prevent frequent switching of entries.
  • the video data processed by the data processing apparatus may be MPEG-4AVC or MPEG-4Visual.
  • the video data included in the sample is not limited to frame-structured data, but may be field-structured data.
  • FIG. 29 shows a procedure executed by the header generation unit 175 to multiplex a frame in an encoded data into a sample. The decision on a sample-by-sample basis is made so that one sample includes all frames in one GOP.
  • i represents the sample number
  • sample—dur represents the difference between the decoding times of the i-th and (i + 1) th samples
  • num—frame represents the number of frames contained in the i-th sample. I do.
  • the initial values of sample—dur and num—frame are 0, and the initial value of i is 1.
  • step S41 the header generation unit 175 obtains the display time of the current frame and the next frame based on the value of the Temporal Reference, calculates the decoding time of each frame, and then calculates the current frame and the next frame. The difference value of the decoding time of the frame is calculated.
  • step S42 the header generator 175 adds frame-dur to sample-dur, and adds 1 to num-frame.
  • the header generation unit 1775 compares the frame-dur of the current frame with the display time length calculated from the frame rate at the time of encoding in step S43, and determines whether a frame skip has occurred. Is determined.
  • the header generation unit 1775 adds a value to num-frame by the number of skipped frames. For example, if the frame rate of the encoded data is 10 Hz, the difference between the decoding times in each frame is 10 Hz. 0 ms.
  • step S45 the header generation unit 1775 determines whether or not the current frame is the last frame of the GOP. If it is not the last frame, the header generation unit 1775 returns to step S41, and repeats the processing from step S41 to step S45 until the processing of the last sample included in the GOP is completed. .
  • step S46 the difference between the decoding time of the i-th and (i + 1) -th samples is obtained. Get num—frame indicating the number of frames.
  • step S47 the header generator 175 determines whether or not the current frame is the last frame of the encoded data. If the frame is not the last frame, 1 is added to i in step S48, sample—dur and frame—dur are set to 0, and then the processing from step S41 to step S47 is repeated. The process ends when it reaches. When the frequency of frame skipping reaches a certain value or more, the addition processing of num-frame in step S44 may not be performed.
  • FIG. 30 shows a sample in which the frames in the GOP are stored.
  • frames forming two GOPs GOP 1 and GOP 2 are stored in samples 1 and 2.
  • four frames included in G ⁇ P 2 are processed.
  • GOP 2 a frame skip occurs in frame 7, and the display time length of frame 7 is twice as long as other frames.
  • the header generator 175 determines that one frame has been skipped in step S43, proceeds to step S44, and adds 1 to num-frame.
  • the value of num_frame is 3, which is the same value as when no frame skip has occurred. That is, the frame count corresponding to sample 2 is not 4, but 5 as in sample 1.
  • the count is kept constant, the switching frequency of the referenced stsd entry is reduced, and the data processing device's regeneration load can be reduced. Furthermore, when using the MP4 extension, the entry to be referred to is not switched, so there is no need to switch the traf that stores the sample information, and no increase in overhead occurs.
  • the unit of the sample is determined so that one sample includes all frames in one GOP.
  • the sample unit is GO V or MP in MP EG—4 Visual It may be a subsequence in EG-4A VC. Alternatively, it can be from the I-frame in MPEG-4 Visual to the frame immediately before the next I-frame, or the MPR-EG4 AVC's IDR (Instantaneous decoder refresh) picture power, etc., immediately before the next IDR picture May be used.
  • the data processing device receives and analyzes the MP4 file generated according to the procedure shown in FIG. 29, and decodes and displays the encoded data.
  • video data in the present embodiment is video data that does not depend on the encoding method.
  • video data is MPEG-4AVC, MPEG-4Visual or MPEG-2Visual.
  • encoding using bidirectional prediction is not performed.
  • FIG. 31 shows a functional block configuration of the data processing device 200 according to the present embodiment.
  • the video stream decoding unit 200 performs a so-called demultiplexing process to decode the encoded stream.
  • the data processing unit 200 includes a reception unit 201, memories 202, 204, 205, a separation unit 203, an analysis unit 206, and a decoding display unit 2. 07.
  • the receiving unit 201 receives the MP4 file data read out via the pickup 130 and reads the MP4 file data. Input to memory 202 as 202 You.
  • the receiving unit 201 is an interface unit for securing connection with an optical disk drive (not shown).
  • the separation unit 203 obtains the MP4 file data d203 from the memory 202, and separates the MP4 header part composed of moov or moof from the MP4 data part composed of mdat. Separate and input the header data d200 to memory 204 and the data data d205 to memory 205.
  • the memory 205 may be a semiconductor memory or a drive device having a recording medium such as a hard disk or an optical disk.
  • the analysis unit 206 obtains the header data d 206 from the memory 204 and analyzes it, and analyzes the sample or the size of the frame included in the sample, decoding time, storage location, etc. After acquiring the information, the result of the analysis is input to the decoding display unit 207 as the data d207.
  • the decoding display unit 2007 obtains the sample data from the memory 205 based on the analysis result data d207, extracts a frame included in the sample, and then decodes and displays the frame. Note that the video data does not need to be composed of frames, but may be composed of fields.
  • the analysis unit 206 determines the decoding time of each frame included in the sample. The method for obtaining the value will be described.
  • the input MP4 file is generated based on the processing according to the third embodiment. That is, even when a frame skip occurs in the sample, the frame count value is the same as the frame count value of the sample when no frame skip occurs.
  • the sample includes the first to Nth frames, and the decoding time and display time are equal in each frame.
  • the analysis unit 206 calculates the difference value of the decoding time between two consecutive frames for the 1st to N—1st frames. Specifically, the analysis unit 206 obtains the difference value between the decoding time of the current sample and the next sample from the stts 55 or the trun 64, and divides the difference by the frame-count to obtain a continuous value. Calculate the difference value of decoding time between two frames.
  • the analysis unit 206 calculates a difference value between the decoding time of the Nth frame and the next frame. That is, the analysis unit 206 obtains the decoding time difference value by subtracting the sum of the decoding time difference values from the first frame to the (N ⁇ 1) th frame from the sample decoding time difference value. According to this calculation, when the frame skip occurs, the decoding time difference value of the last frame and the frame in which the skip occurs cannot be obtained accurately, but the decoding time difference value of the other frames is obtained accurately. can do.
  • Fig. 32 (a) to (c) show the relationship between the frame data constituting the encoded data and the decoding time.
  • Fig. 32 (a) shows the relationship between the frames included in the encoded data and the decoding time.
  • the sample contains four frames, Frame 1, Frame 2, Frame 3, and Frame 4. Since a skip occurred in Frame 2, the difference between the decoding times of Frame 2 was 2 seconds, Other frames are 1 second.
  • FIG. 32 (b) shows the decoding time of the frame obtained by the analysis unit 206.
  • the difference between the decoding times of frames 1, 2, and 3 is obtained by dividing the difference between the decoding times of the sample and the next sample by frame count.
  • the decoding time difference value of the sample is 5 seconds, and the frame count value is 5. Therefore, the decoding time difference value of these three frames is 1 second.
  • the decoding time difference value of frame 4 which is the last frame of the sample, is calculated as 2 seconds by subtracting the sum of the decoding time difference values of frames 1 to 3 from the decoding time difference value of the sample. Can be As shown in FIG.
  • the analysis unit 206 divides the decoding time difference value of the sample obtained from s Us or t run by the frame count to obtain the second to Nth frames.
  • the display time length may be calculated, and the decoding time difference value of the first frame may be calculated by subtracting the sum of the decoding time difference values of the second to Nth frames from the decoding time difference value of the sample.
  • the data processing device receives and analyzes an MP4 file in which one sample includes a plurality of video frames, decodes and displays encoded data. It is assumed that the video data processed by the present data processing apparatus is MPEG-4 AVC, but the video data processed may be MPEG-4 Visua1 or MPEG-2 Visua1.
  • an extended sample structure is adopted for the MP4 file input to the data processing device according to the present embodiment, so that the display start time of the frame or field constituting the sample can be obtained.
  • MP4 specifies a format for storing video or audio frame or field data in a sample, and as long as that format is used, the frame or field data is stored in the sample. Can be stored. However, depending on the format, the frame data or field data is not always stored as it is in the sample. For example, when storing encoded data of MP EG-4 AVC in an MP4 file, it is suggested that the size of the NAL (Network A daptation Layer) unit be added to the NAL unit and stored. Is not stored continuously as it is.
  • NAL Network A daptation Layer
  • FIGS. 33 (a) to 33 (c) show sample structures of MP4 files to be demultiplexed.
  • Figure 33 (a) shows the structure of a sample when N frames (N: an integer equal to or greater than 2) are included in one sample, and display time information is added before each access unit .
  • the “access unit” indicates data obtained by converting one frame of data into a storage format in MP4. More generally, an “access unit” is one frame or one file. Is a unit that stores data of one picture that represents a picture.
  • PC is a parameter indicating the display order of frames.
  • the field length of the display time information is defined by providing a new field in the stsd entry. However, it is assumed that the newly created field exists only when frame-count is greater than 1. Note that a fixed value may be used as the field length of the display time information, or may be specified for each frame.
  • an access unit indicating data of one or more frames and display time information indicating a display time of the frames are alternately provided in one sample.
  • FIG. 33 (b) shows a sample in which access units for one frame are stored.
  • access units for one frame are stored.
  • Figure 33 (c) shows an example of the syntax of the sample structure.
  • the FrameCount, Timelnfo, and access-unit-data ports indicate the frame-count value, display time information, and access unit data in the stsd entry, respectively, and LengthSize indicates the field length of the display time information. , Indicated by newly defined fields in the stsd entry.
  • Fig. 34 (a) shows a sample that stores the display time and access unit together.
  • Fig. 34 (b) shows an example of the syntax that implements the sample structure of Fig. 34 (a).
  • information indicating the data size of the access unit can be included in the data stream together with or instead of the display time information.
  • FIG. 34 (c) shows an example in which a field indicating the size of the access unit is added next to the display time information. Regarding the presence or absence of the size field and the setting method of the field length, the same method as the display time information can be used.
  • the display time and data size information all indicate attributes for specifying each frame.
  • FIG. 35 shows a configuration of a functional block of the data processing device 300 according to the present embodiment.
  • the video stream decoding unit 200 performs a so-called demultiplexing process to decode the encoded stream.
  • the data processing device 300 includes a receiving unit 301, memories 302, 304, and 305, a separating unit 303, an analyzing unit 306, and a sample analyzing unit 307. And a decryption display unit 308.
  • the correspondence between the data processing device 300 and the data processing device 10 shown in FIG. 11 is as follows. That is, the receiving unit 301, the memory 302, and the separating unit 303 correspond to the reproducing unit 113 of the data processing device 10.
  • Memory 304 is equivalent to attached information storage memory 118 W
  • the memory 305, the analyzing unit 306, the sample analyzing unit 307, and the decoding display unit 308 which correspond to the moving image stream decoding unit 111 of the data processing device 10.
  • the display function of the decoding display unit 308 corresponds to the video signal output unit 110 of the data processing device 10.
  • the separating unit 303 obtains the MP4 file data d303 from the memory 302, and outputs the MP4 header portion composed of moov or moof, and the MP4 data portion composed of mdat.
  • the header data d 304 is input to the memory 304
  • the data d 305 is input to the memory 305.
  • the memory 305 may be a recording means such as a hard disk or an optical disk.
  • the analysis unit 300 acquires the header data d306 from the memory 304, analyzes it, obtains information such as the sample size, decoding time, and storage location, and then analyzes the analysis result.
  • the data is input to the sample analyzer 307 as data d307.
  • the sample analysis unit 307 obtains sample data from the memory 305 based on the analysis result d 307, obtains picture data d 309 from the sample, and inputs it to the decoding display unit 308. .
  • the decoding display unit 308 decodes and displays the input picture data d309.
  • FIG. 36 shows a procedure of a process in which the sample analyzer 307 acquires picture data from a sample.
  • AU_size Indicates the field length of the display time information and the size of the access unit, respectively.
  • the initial value of both the variable data read pointer Ptr is 0.
  • step S51 the entry number of the stsd corresponding to the sample is obtained, and in step S52, the frame-count of the entry having the entry number obtained in step S51 is obtained.
  • frame-count is greater than 1, field-length is also obtained.
  • step S53 it is determined whether or not the acquired frame count value is greater than 1, and if it is greater than 1, display time information is acquired and read in step S54. Move the pointer forward by field—length bytes.
  • step S55 the access unit data is acquired, and the read-in operation is advanced by AU_size.
  • step S56 picture data is obtained from the access unit data based on the access unit structure of the MP4.
  • step S57 1 is added to i.
  • step S58 it is determined whether or not i is smaller than the frame count, and if it is smaller, the processing from step S53 to step S58 is performed. repeat.
  • the display start time may be specified directly, or the difference between the display start time and the decoding time, or the difference between the decoding time of the first frame in the sample and the display start time of each frame. May be.
  • the data size of each access unit may be specified.
  • decryption time and display start time, or decryption time and display start The difference value from the time and the decoding time may be specified, or only the decoding time of each frame may be specified.
  • the display time of a frame can be obtained from the value of "Modulo Time Base” and the value of "VOP Time Increment”. Therefore, the display time can be specified or a difference value between the display start time and the decoding time can be used.
  • the data processing device receives and analyzes an MP4 file in which one sample includes a plurality of video frames or fields, decodes and displays encoded data. Since the following description can be applied to both frames and fields, the concept including these is described using the term “picture”. It is assumed that at least one of the display time and the decoding time is different between two different video pictures.
  • the video data processed by the data processing apparatus is encoded in the MPEG-4 AVC format, but the MP-EG-4 Visual, MPEG-2 Visual or H.263 It may be. Also, multiple frames of audio or text data may be stored in one sample.
  • moov and moo f only contain information on a sample basis, so to obtain the decoding time or display start time on a picture basis, the picture data must be analyzed.
  • MP EG—4 AVC stored in MP4 In this case, the start code is not used, so not only the analysis of the picture data is necessary to obtain the picture boundaries, but also if a bit error occurs in the sample data, an error occurs in the sample. Picture data stored after the position may not be obtained.
  • an extended sample structure is adopted for the MP4 file input to the data processing device according to the present embodiment that performs the demultiplexing process, and the decoding of the pictures constituting the sample is performed without analyzing the picture data.
  • Display time and size can be acquired.
  • a random accessible unit such as a GOP (Group of Picture) in MPEG-2 can be used as a sample.
  • header information is stored for each sample and for each access unit constituting the sample.
  • header information can be efficiently stored in units smaller than a sample.
  • MP4 defines a format for storing video and audio frame data as samples.
  • MPEG-4 AVC it has been proposed to use a format in which the size of the NAL unit is added to the NAL (Network Adaptation Layer) unit in MP EG-4 AVC. ing.
  • NAL Network Adaptation Layer
  • the data unit after converting one picture data into the storage format specified in MP4 is called an access unit.
  • Figure 37 shows the data structure of the access unit.
  • This MP4 file specifies a sample that contains two or more access units.
  • the sample includes N (N is an integer of 2 or more) access units, as well as the decoding time, display time, size, etc. of each access unit in the sample.
  • a header indicating information indicating an attribute is added.
  • this header is referred to as a sample header in this specification.
  • the sample header has a box structure, and in this specification, the highest-order box is referred to as a Multi AU header Box ('mahd').
  • one or more frame data are And extended information indicating the size of each frame data is defined as another sample.
  • one or more frame data (access unit) and its extended information are stored in the same sample.
  • the access data described in the first embodiment is set for each sample.
  • Figure 38 (b) shows the data structure of the sample header.
  • the decoding time, display time, and size information are stored separately in the boxes in mahd.
  • the decoding time is stored in Multi Decoding Time To AU Box ('mdta')
  • the display time is stored in Multi Composition Time To AU Box ('mcta')
  • the size is stored in Multi iAUSizeBox ('mtsz').
  • mdta, mcta, and mtsz exist only when the decoding time, display time, and size are different from the default values, respectively, and the values shown in the respective boxes are overwritten by the default values. You. If no default value is set, the necessary information must be set in the sample header.
  • the default value and the size of the field included in each box are set in the initial value setting part of the sample header.
  • the initial value setting portion of the sample information will be described later. For example, if mtsz does not exist in mahd, it indicates that the size of the access unit in the sample matches the default value. To get.
  • access units that can be accessed randomly are shown.
  • a box may be added to store information necessary for decryption of data included in the access unit, or identifiers of information required for decryption. For example, a box for storing information used during special playback such as double-speed playback can be added, and the following information can be stored.
  • N (N is an integer of 1 or more) Stores the index number of the access unit to be decoded or displayed under specific playback conditions such as double-speed playback.
  • the index number indicates the identification number of the access unit such as the order of decoding time of the access unit in the sample.
  • information on specific playback conditions in the access unit for the entire video track referenced by moov or moo f can be stored in moov or moo n.
  • the GOP is composed of 15 access units whose GOPs are I, B, B, P, B, B, P, B, and B-.
  • On 1 Stores the encoding type of the five access units.
  • the encoding types of the pictures in the access unit are all the same. This makes it possible to determine the access unit to be referred to when reproducing only I, reproducing only I and P, or reproducing all I, B, and P pictures.
  • FIG. 38 (a) shows an example in which the sample header is placed at the head of the sample. However, it may be placed after the last access unit in the sample or as the last data in the sample.
  • Figure 39 shows an example of placing a sample header as the last data in a sample.
  • the sample consists only of the access unit.
  • the sample consists of N access units.
  • the last access unit in the sample includes an extension area in addition to the M NAL units, and the sample header is stored in the extension area.
  • header information is created for each of the sample and the access unit included in the sample, and the header information regarding the access unit is stored in md at as a part of the sample, so that all of the contents in the moov This also has the effect of reducing the size of the moov as compared to the case where header information about the access unit is stored.
  • sample header summarizes information on decoding time, display time, size, etc. for all access units that make up the sample.
  • information about one or more access units may be stored. For example, a sample header may be added for each access unit. Note that information on the structure of a randomly accessible unit such as G0P is effective even when the sample header is not used, and may be indicated in, for example, an entry of stsd.
  • a size specification box for indicating the size of the mahd may be provided in the mahd.
  • the start position of mahd can be easily obtained by using the size specification box as follows. That is, the size specification box is searched from the end of the sample to the beginning of the sample. If the size specification box is found, the mahd size can be obtained. By moving the mahd size from the end of the sample by the mahd size, the mahd start position can be obtained.
  • FIG. 40 (a) shows the data structure of mtsz
  • FIG. 40 (b) shows the data structure of mdta
  • FIG. 40 (c) shows the data structure of mcta. Note that box size, type, version, and flag information are not shown in any of the figures because they are provided in common for all boxes.
  • mtsz has the same structure as stsz in stbl, and is composed of the following three fields.
  • AU Defaults ize field: Indicates the size of all access units whose size information is indicated by mtsz if they are the same size In other cases, it is set to 0.
  • AU—count field Indicates the number of access units whose size information is indicated by mtsz. When mtsz indicates the size of all access units in the sample, this field value is equal to the frame-count value. When mtsz indicates the size of each access unit, this field value is 1.
  • the table contains the number of entries indicated by AU-count, and one entry is AU_size. In each entry, the size of the access unit is stored in decoding time order.
  • the size of the i-th access unit in the sample is indicated by AU-Defaultsize if AU-DefaultSize is not 0, and when it is 0, it is indicated by the AU-size of the i-th entry.
  • the table size is reduced by setting the default value of the access unit size in units of streams or samples and storing the difference between the default value and the actual size. You may. Also, the table size can be reduced by encoding the access unit size so that it is an integral multiple of a preset constant and storing how many times the size is the set value as size information. For example, set the value to 4. At this time, assuming that there are three access units whose sizes are 12 bytes, 16 bytes, and 20 bytes, respectively, the value obtained by dividing each size by 4 is 3, 4, and 5, respectively. Access unit size information W
  • mdta has the same structure as stts in stbl, and is composed of an entry-count field and a table field.
  • entry_count field Indicates the number of entries contained in the table.
  • Table field Shows data for each access unit related to decoding time.
  • Each entry in the table consists of an AU-count and a DecodingTimeDelta field.
  • DecodngTimeDe 11a indicates the difference between the decoding time of the i-th (i is a positive integer) and the decoding time of the (i + 1) -th access unit.
  • AU—count indicates the number of consecutive access units having the difference value of the decoding time indicated in the DecodingTimeDelta field. In other words, a new entry is added each time an access unit with a different decoding time difference value appears.
  • auxiliary information for decoding called SEI (Supplemental Enhancement Information) can be included in the stream of video data. What is SEI? Although it is not necessary directly, it indicates information that assists in decoding. Decoding time and display time information can also be indicated using SEI called Pictre timing SEI.
  • POC Picture Order Count
  • Time information provided separately may be used. Instead of directly storing the difference value of the decoding time, the relative value of the difference value may be stored as in Temporal Reference of MPEG-2 Visual.
  • mcta has the same structure as ctts in stbl and consists of the following fields.
  • entry—count Indicates the number of entries included in the table.
  • ComposionTimeOffset indicates the difference between the decoding time and the display time of the access unit. That is, the display time can be obtained by adding the value of ComposionTimeOf fset to the decoding time.
  • AU_count indicates the number of consecutive access units having the same CompositionTimeOfset. As with md ta, a new entry is added each time an access unit with a different CompositionTimeOf fset appears.
  • mcta does not exist when the decoding time and the display time are equal in all the access units in the sample.
  • the sample header contains two or more access Only present if configured from nits.
  • the number of access units stored in one sample is obtained as follows. First, referring to stsc, obtain the index number of the stsd entry corresponding to the sample, and then obtain the frame-count value of the stsd entry corresponding to the obtained index number. That is, a sample header exists only if the frame—count value corresponding to the sample is greater than 1. Note that, even when the frame count is 1, if it is effective to indicate the header information as data in the sample, the sample header may be used.
  • the initial value setting portion of the sample header will be described.
  • the initialization part is stored in the stsd entry only if the frame count value in the stsd entry is greater than one.
  • the field length in each box included in mahd and the default value of the sample header are set, and consist of the following fields.
  • AUSizeLengthMinusOne Indicates the size of the AU one size field in mt sz.
  • DecodingTimeCountLength hMinus One Indicates the size of mtdaOAU-count field.
  • DecodingTimeDel taLengthMinusOne Indicates the size of the mtda DecodingTimeDe 1 ta field.
  • DefaultHeaderBox Stores mahd to indicate default value of sample header.
  • the size of the above field may be fixed, and the above field may be omitted. Also, mtsz, mdta, and mcta do not necessarily need to exist, and if they do not exist, it is assumed that no default value is set. When the sample header is used even when the frame count is 1, even if the frame count is 1, the initial value setting portion may be stored.
  • a field indicating the field size of the newly added box may be added.
  • the information of the access units that make up the samples is the same as the initial value (default value) in all samples, there is no box stored in mahd, so mahd is stored in each sample. You may not.
  • whether or not mahd is included in the sample header is determined by setting the flag information in the initial value setting portion of the sample header or in the entry of stsd.
  • the flag information may be set in another part of the moov.
  • the flag indicates that the sample header, ie, mahd, is included in the sample; when the flag is not set, it indicates that mahd is not included.
  • a randomly accessible unit such as MPEG-2 GOP is specified. If one sample is specified for each specified unit, mahd may not be included in the sample.
  • the presence / absence of a box may be used as flag information.
  • the initial value setting part is realized by a box, and the use / non-use of mahd can be identified by the presence or absence of the box in the initial value setting part.
  • Figure 41 (a) shows an example of the syntax of the initial value setting part of the sample header when the box is used.
  • Figure 41 (b) shows the syntax of the initial value setting part of the sample header when the box is not used.
  • FIGS. 42 (a) to (d) show examples of the respective syntaxes of mahd, mtsz, mdta, and mcta.
  • Figs. 43 (a) to (c) show a first example for storing data in the sample header.
  • a sample is composed of 15 access units that are consecutive with IBBPBBBPBB in order of decoding time.
  • I, P, and B indicate the access units of I-picture, P-picture, and B-picture, respectively, and the decoding time, display time, and size of each access unit are shown in Fig. 43 (a). It is.
  • mdta and mcta exist in the DefaultHeaderBox in the initial value setting part of the sample header, as shown in Fig. 43 (b). Since the size of each access unit is random and the default value of the size information is not set, mtsz does not exist.
  • Figure 43 (c) shows the data stored in the sample header.
  • the difference in decoding time between two consecutive access units in the sample is 100 ms, and the default value can be used as is, so mdta is not required.
  • the difference value of the decoding time with the next access unit is 100 ms for B-15 which is the last access unit.
  • the difference between the decoding time and the display time is 300 ms for the access unit of the I and P-pictures, and the decoding time and the display time of the B-picture match. Therefore, since the default value can be used as the display time information, cdta is not required.
  • the default value can be used as the decoding time information of the picture included in the sample. For example, if the rate of all pictures included in the track is constant, only the default value needs to be set as the decoding time information, and there is no need to indicate the decoding time information by mdta in the sample header.
  • the display time information about the picture in the sample is used. Only the default value needs to be set. For example, if the encoded video data consists of only three different G0P structures, prepare three stsd entries and set the default value of the display time information corresponding to each G0P structure. However, if the stsd entry to be changed for each sample is changed, it is not necessary to indicate the display time information by met a in the sample header.
  • the GOP structure indicates the number of pictures constituting the GOP and the coding type of each picture (I, B, or P). Finally, the size information will be described.
  • the size of 15 access units included in the sample is stored using mtsz. After all, the sample header contains only mtsz to store the size information, and the decoding time and display time use the default values, so 111 (113 and 111 (; 1 & are not included).
  • Figures 44 (a) and (b) show a second example for storing data in the sample header.
  • the sample header contains three boxes: mdta, mcta, and mtsz. It is assumed that the default value of the sample header is the same as the first example shown in Fig. 43 (b).
  • Fig. 44 (a) the configuration of the access unit in the sample is the same as in the first example (Fig. 43 (a)). As shown in FIG. 44 (a), a frame skip occurs in the first access unit B-12, which is the second access unit. Therefore, since the default value cannot be used for both the decoding time and the display time, it is necessary to set mdta and mcta in the sample header.
  • the decoding time information is set. As shown in (1) of FIG. 44 (b), the difference between the decoding time of the next access unit and that of the one access unit from I-1 to B-11 is 100. ms, and the difference value of only B_12 is 2000 ms. And P—1 3 Mdta will need three entries each, since to 100 ms again from to B—15.
  • the display time is the same as the default value except that the difference from the decoding time at P-10 is 400 ms. Therefore, each mcta entry set in the sample header is set as shown in (2) of Fig. 44 (b).
  • the sample header When storing information of all access units in a sample in one sample header, the sample header is not completed unless information on all access units in the sample is acquired. Assuming that the sample header is placed at the beginning of the sample, the sample data is written to the optical disk after the sample header is completed, and the writing is performed until the information of the last access unit in the sample is obtained. Can't start.
  • a memory is required to temporarily store the access unit data in the sample. For example, when a randomly accessible unit such as a GOP is used as one sample, it is necessary to have enough memory to hold all the access units included in the randomly accessible unit.
  • the sample header if the information for each access unit is stored in the sample header, if the information for one access unit can be obtained, the sample header is completed, so that the sample data can be written sequentially. It has excellent real-time performance and can reduce the memory size required to hold the access unit.
  • sample structure when a sample header is added to one or more access units in the sample will be described below.
  • whether one or more sample headers exist in a sample is determined by the number of access units whose header information is indicated by each box in the sample header. If the box does not exist in the sample header, it is determined by referring to the default box defined in the initial value setting part of the sample header. If the number of access units whose header information is indicated by the first sample header in the sample matches the frame_count value, the first sample header uses the header of all access units in the sample. There is only one sample header because the header information is shown.
  • one or more sample headers are used to indicate the header information of the remaining access units. Stored separately in the sample.
  • one sample is composed of N access units (N is an integer of 1 or more).
  • Fig. 45 (a) shows an example in which a sample header is added to each access unit in one sample.
  • the header information of the first access unit is stored in sample header 1, and mdta and mtsz are stored in sample header 1.
  • entry-count is set to 1, indicating that the mdta is information on the access unit 1.
  • this mdta indicates that this mdta is information about one unit.
  • this mdta shows only information about access unit 1.
  • mtsz indicates only information on access unit 1.
  • i-th (i is an integer less than or equal to N) sample header indicates the header information of the i-th access unit.
  • FIG. 45 (b) shows an example in which one sample header is added to a plurality of access units less than N.
  • sample header 1 indicates information of the first to third access units
  • sample header 2 indicates the fourth and fifth access units
  • sample header M (M is an integer less than N) is N Indicates the information of the th access unit.
  • mdta is set from 1 to 3 by setting entry-count of mdta to 1 and AU-count of entry to 3.
  • the information of the third access unit is shown.
  • 3 is set to AU-count of mtsz, indicating that mtsz is information on the first to third access units.
  • the sample header 2 indicates the information of the fourth and fifth access units. If mtsz, mdta or mcta is not present in the sample header, use the default pox set in the initial value setting part of the sample header.
  • the start position of the next sample header may be obtained without adding the size of the access unit by adding information indicating the storage position of the next sample header to the sample header.
  • flag information for determining whether there is one or more sample headers present in the sample may be set in the initial value setting portion of the sample header, or the sample header may be set in the sample header.
  • a header may be added for each access unit.
  • the sample header has a box structure, necessary fields may be stored in order without using the box structure.
  • the sample header includes a field indicating whether or not each information of the size, the decoding time, and the display time is set, and a field for setting each information.
  • Figures 46 (a) and (b) show the sample structure and the example of syntax when the box structure is not used.
  • the Multi-AU header corresponds to the sample header.
  • This data structure consists of one or more frame data (access unit) and its extended information (sample header). This is the same as the data structure shown in Fig. 38 (a) in that the information is defined as one sample.
  • Fig. 46 (b) shows an example of the syntax of a multi-AU header.
  • the AUSizePresent field, DecodingT L meDe 1 taP resent field, and ComposionTimeOf fset field are "AUSize” and "AUSize", respectively. This is flag information indicating whether the "DecodingTimeDelta” and "ComposionTimeOffset" fields are present.
  • Frame-- The count field is the frame shown in the entry in the stsd referenced by the sample. Equal to count value.
  • ComposionTimeOf fset is the same as in the case of Figs. 40 (a) to (c).
  • “DecodingTimeDelta” and “CompositionTimeOffset” are stored for each access unit even when consecutive access units with the same "DecodingTimeDelta” and “CompositionTimeOf fset” are consecutive.
  • the field value may be omitted by indicating the number of consecutive access units.
  • information indicating the size of each field of AUSize, DecodingTimeDelta, and Composi- tionTimeOfset is set, and the default value of the sample header is set.
  • Figure 41 (b) shows a syntax example of the initial value setting part.
  • the configuration of the data processing device according to the present embodiment is the same as the configuration of the data processing device shown in FIG. 35, and its basic operation is also as described above. Therefore, the following describes the components related to the processing according to the present embodiment.
  • the analysis unit 303 shown in FIG. 35 acquires the header data d306 from the memory 304 and analyzes it to obtain information such as the sample size, decoding time, and storage location.
  • the analysis result is input to the sample analyzer 307 as data d307.
  • the sample analyzer 307 obtains sample data d 308 from the memory 305 based on the analysis result d 307, obtains picture data d 309 from the sample, and decodes and displays the data. Enter 8
  • the decoding display unit 308 decodes the input picture data d 309 and displays it.
  • FIG. 47 shows a procedure of a process in which the sample analysis unit 307 acquires picture data from a sample.
  • the initial value of the variable i is 0.
  • the stsd entry corresponding to the sample frame — get count value If frame_count is greater than 1, obtain the default value of the size, decoding time or display time information from the initial value setting part of the sample header included in the stsd entry, and obtain the default value of the sample header. Get the size of the field in the box.
  • the initial value information is stored for each sample in step S61. You do not need to obtain it.
  • step S63 it is determined whether or not the frame count is greater than 1. If it is greater than 1, a sample header is present, so the sample header is analyzed in step S63. At the time of sample header analysis, mahd searches for each box of mtsz, mtda or mcta, and if it exists, obtains its contents and overwrites it with the default value to access unit. Get the size, decryption time or display time information of the event. When frame—count is 1, the process of step S64 is performed after step S62. In step S64, data of the access unit is obtained from the sample based on the size of the access unit obtained in step S63, and in step S65, picture data is separated from the access unit.
  • step S63 The decoding time and the display time acquired in step S63 are used when decoding and displaying picture data in the decoding display unit 308 in FIG. Also, when starting playback from the middle of a track Alternatively, the display time of the access unit in the sample may be obtained and used to determine the access unit to start playback.
  • step S66 1 is added to i.
  • step S67 it is determined whether or not i is smaller than frame-count. If smaller than i, the processing from step S63 to step S67 is performed. repeat.
  • Figure 48 shows the procedure for obtaining the size of the access units that make up the sample.
  • the initial value of both the variable i and the data read pointer data_ptr is set to 0. It is also assumed that the number of bytes of the AU-size field length in nit sz is FieldSize.
  • step S71 a box whose box type is 'mtsz' is searched in mahd.
  • step S72 the search result is determined. If mtsz exists, in step S73, the data read pointer data—ptr is set to the AU—Default Size field in mtsz in the sample header. Set to start position. If it is determined in step S72 that mtsz does not exist in mahd, in step S74, the default mtsz included in the initial value setting portion of the sample header is obtained, and the data read pointer data — Set ptr to the start of the AU—DefaultSize field in the default mtsz.
  • step S75 the value of AU—DefaultSize is acquired, and 4 is added to the data—p data read-out data-p. Then, in step S76, whether AU DefaultSize is 0 If it is not 0, in step S78, the size indicated in AU-DeiaultSize is set as the size of all access units constituting the sample. If the value is 0, the size of each access unit is obtained by obtaining the AU-size from the table entry. First, in step S77, the value of AU_count is obtained, and 4 is added to the data-ptr data read / write command. Here, the value of AU-count indicates the number of access units included in the sample.
  • step S79 the size of the (i + 1) th access unit in the sample is obtained, 4 is added to the data read pointer, and 1 is added to i in step S810.
  • step S811 i is compared with AU-count, and if i is smaller than AU-count, the processing of steps S79, S80 and step S81 is repeated to obtain a sample. It is possible to obtain the sizes of all the access units constituting
  • the data processing device receives and analyzes an MP4 file in which one sample includes a plurality of video pictures, decodes and displays encoded data.
  • an MP4 data structure and a demultiplexing process thereof for the purpose of efficiently performing special reproduction such as double-speed reproduction are provided.
  • the configuration of the data processing device according to the present embodiment is the same as the configuration of the data processing device according to the sixth embodiment. It is assumed that the video data is encoded in the MPEG-4 AVC format, but may be MPEG-4 Visual, MPEG_2 Visual or H.263. Also, multiple frames of audio or text data may be stored in one sample. When a plurality of pictures are included in one sample, the sample header described in the sixth embodiment is used.
  • MP EG-4 AVC allows flexible setting of the reference relationship between the pictures that make up a video stream, but on the other hand, when selectively playing back a specific picture such as double-speed playback, the picture to be decoded is determined. Have difficulty.
  • the reference relationship between pictures will be described with reference to FIG. Figure 49 shows a series of pictures and the encoding evening of each picture.
  • the picture coding type is I-3, B-1, B-2, P-6, B_4, B-5, P-9, B-7, B-
  • the number added to the encoding type of each picture indicates the display order. For example, in order to play such a series of pictures at 3x speed, I and P pictures should be played in the order of 1-1, P-6, P-9.
  • P-6 can refer to only I-1 and P-9 can refer to only P-6 for decoding.
  • P_6 may be decoded with reference to B_2. Therefore, if the reference relationship between pictures is not known in advance, the pictures that need to be decoded during Unable to determine char. Which picture each picture refers to can be obtained by analyzing the slice header for all slices constituting the picture. However, analyzing all slices during trick play is inefficient.
  • MPEI—4 AVC SEI Supplemental Enhancement Information
  • AVC SEI Supplemental Enhancement Information
  • a structure called a subsequence and a layer is used to indicate a reference relationship between pictures.
  • these structures are described using the Sample To Group Box (sbgp) in the stbl.
  • sbgp Sample To Group Box
  • the size of the sbgp becomes very large. Therefore, there is a problem that the size of moov also increases as a result. According to the present embodiment described below, this problem is solved by using an MP4 file.
  • SEI is additional information introduced for the purpose of improving the convenience of decoding a picture, and is used by adding it to picture data.
  • SEI is not directly related to the decoding operation, and it is possible to decode picture data without SEI.
  • MP EG-4 AVC introduces a concept called sub-sequence and layer to achieve temporal scalability. SEI for that is prepared.
  • FIGS. 50 (a) to (c) show layers 0 and 1 constituting a video stream and a video stream.
  • FIG. 50 (a) shows fifteen pictures making up a video stream. Each picture is numbered from 1 to 15 in decoding order.
  • the video stream is divided into two layers, Layer 0 and Layer 1.
  • FIG. 50 (b) shows layer 0 of the video stream
  • FIG. 50 (c) shows layer 1 of the video stream.
  • Layer 0 can be decoded independently, and Layer 1 is decoded with reference to Layer 0 or Layer 1 pictures.
  • each layer is divided into units called subsequences, and layer 0 and layer 1 are each divided into two subsequences as shown in the figure.
  • pictures in the sub-sequence belonging to the N-th (N is an integer of 1 or more) layer can refer only to the pictures belonging to the sub-sequence of the N-th or less layer.
  • the subsequence and the layer-related SEI indicate the layer number to which the picture belongs, the number to which the subsequence belongs in the layer, and the subsequence to be referred to when decoding the subsequence to which the picture belongs.
  • the subsequence and the layer-related SEI indicate which sub-sequence to refer to when decoding the data of the sub-sequence to which the picture belongs.
  • FIGS 51 (a) to (c) show the syntax of subsequence and layer-related SEI.
  • Subsequence information (SSI) SEI, Sub-sequence layer characteristics (SSL) SEI, Sub-sequence characteristics (SSC) Three SEIs are defined. The main fields in each SEI are described below.
  • sub_seq_layer_num the number of the layer to which the subsequence belongs.
  • num-sub-seq-layers-minusl The number of layers that make up the stream.
  • average-frame-rate The average frame rate of the layer.
  • sub_seq_layer_num Number of the layer to which the subsequence belongs.
  • average-frame-per-rate The average frame rate of the subsequence. nuin one referenced one subseqs: The number of referenced subsequences.
  • Seq Layer number that includes the reference picture of the picture making up the subsequence indicated by id.
  • ref-sub-seq-id Index number of the sub-sequence that includes the picture referenced by the picture constituting the sub-sequence indicated by sub-seq-layer-num and sub-seq-id.
  • the layer to which the subsequence indicated by this field belongs is indicated by ref—sub—seq—layer—num.
  • the information indicated by the SSL SEI and SSC SEI is It is stored in the Releg J-rape description box (sgpd).
  • the structure of sgpd is similar to the structure of stsd, and the information of each SEI is stored in the entry in sgpd so that the initialization information of the decoder required when decoding video data is stored in the entry in stsd.
  • Is stored in The bit rate and frame rate information of SSL SEI is stored in an entry called AVCLayerEntry. Since the AVCLayerEntry contains information of one layer, setting the information of all layers requires AVCLayerEntry of the number of layers, and each entry is described by the index number of the entry determined by the appearance order.
  • FIGS. 52 (a) to (d) show a video stream and layers 0, 1, and 2 constituting the video stream.
  • Figure 52 (a) shows the structure of a video stream. 15 pictures to be formed, and the coding types are I, B, B, P, B, B, P,..., P, B, B in decoding order. The frame rate for decoding all pictures is 30 Hz. Note that the number added after the encoding type indicates the order of the display time. 15 pictures are divided into three layers according to the coding type.
  • FIG. 52 (b) shows layer 0 of the video stream
  • FIG. 52 (c) shows layer 1 of the video stream
  • FIG. 52 (d) shows layer 2 of the video stream. Layer 0 is composed of I pictures
  • layer 1 is composed of P pictures
  • layer 2 is composed of B pictures.
  • Pictures belonging to layer 0 to layer 2 are stored in subsequence 0-1, subsequence 11 and subsequence 2-1, respectively.
  • sub-sequence 0_1 is decoded independently
  • sub-sequence 1-1 is decoded with reference to sub-sequence 0-1
  • sub-sequence 2-1 is sub-sequence 0-1 and sub-sequence 1-1. Decoded with reference to 1. It is assumed that the video sequence has the same structure as the 15 pictures repeated.
  • the overhead when the video sequence shown in Fig. 52 (a) is stored in the MP4 file is calculated.
  • Information on layers from layer 0 to layer 2 is stored in the first to third AVCLayerEntry in the sgpd for AVCLayerEntry.
  • FIG. 53 (a) shows the table data of the sbgp for the layer
  • FIG. 53 (b) shows the table data of the sbgp for the subsequence.
  • the index of the sbgp for the layer indicates the entry number in the sgpd for the AVCLayerEntry
  • the index of the sbgp for the subsequence indicates the index number in the sgpd for the AVCSubSequenceEntry.
  • sample—count indicates the number of consecutive samples with the same index value.
  • the size of the layer and subsequence tables increases because entries are updated frequently. In addition, since one entry having the same structure is repeated, the table becomes redundant. Since the size of the sample—count and index fields are both 4 bytes, the data size for indicating information about 15 pictures (for 0.5 seconds) shown in Figure 52 is the spgp for the layer and the sub sequence.
  • the MP4 file according to the present embodiment includes the above-described sub-sequence,
  • the key structure is used to indicate the reference relationship between pictures required for trick play.
  • subsequence and layer-related SEI can be used as video track data, and that sbgp is not used to indicate subsequence and layer-related information.
  • AVC-G0P randomly accessible units
  • one access unit will be described as being composed of data of one picture, but one access unit may be composed of data of a plurality of pictures. In that case, the same structure as that described later is used. Can be adopted.
  • Fig. 54 (a) to (c) show the structure of AVC-G0P.
  • AVC-G0P the first picture can be decoded independently.
  • AVC-G0P is composed of L (L is an integer of 1 or more) layers, M (M is an integer of 1 or more) pictures, and each picture is composed of N (N is an integer of 1 or more) slices, It is assumed that one layer has one subsequence in AVC-G0P.
  • the SSL SE I placed at the top indicates information on L layers and the like that constitute the video stream, the L SSC SE I placed subsequently indicates information for each layer, and then M sheets Minute picture data follows.
  • SSISEI is placed at the head of each picture data, followed by N slice data.
  • each layer in AVC-G0P is composed of one subsequence
  • each layer may be composed of a plurality of subsequences. All you need to do is place the SSC SE I for the required subsequence.
  • the order and location of SSL, SSC, and SSI SEIs are not limited to the structure shown in Fig. 49 (a).
  • the SSC SEI may be omitted by preliminarily defining a reference relationship between subsequences. For example, when each layer in AVC-G0P is composed of one sub-sequence, the picture included in layer N should be defined as referring to the picture belonging to the Nth or lower layer in the same AVC-G0P. If so, SSC SEI can be omitted.
  • the AVC-G0P structure does not limit the use of SEIs other than the subsequence and layer-related SEIs. For example, a Random access point SEI may be placed at the beginning of the AVC-GOP.
  • the SSL SEI may not be provided to all AVC-G0Ps but may be added only to the first G0P in the video stream, or may be added periodically.
  • a picture that can be decoded independently may be arranged as a picture other than the first picture of AVC-G0P.
  • the use of the AVC-G0P structure is not limited to MP4, but may be used in other multiplexing formats such as MPEG-2 TS (Transport Stream) and PS (Program Stream).
  • the SSL SEI and SSC SEI may be added for each picture, not for each randomly accessible unit.
  • the reference relationship may be indicated using SSL, SS SSI at any position without setting the unit of AVC-G0P.
  • Figures 54 (b) and (c) show the subsequence and layer-related SEI 2 shows a sample structure defined by using. A sample header is added to each sample, but is omitted here. When frame—count is 1, one picture contains data for one picture, so the sample is determined according to the structure shown in Figure 54 (b).
  • Sample 1 is a sample that stores the data of the first picture in AVC-G0P, and also stores a subsequence in AVC-G0P and SSL SEI and SSC SEI, which are SEIs indicating layer information. Data of the 2nd to Mth pictures in AVC-G0P are stored in sample 2 to sample M, respectively.
  • FIGS. 55 (a) to 55 (d) show how subsequences and layers are used in AVC-G0P.
  • Fig. 55 (a) shows 15 pictures in AVC-G0P constituting a video stream, and the coding types are I, B, B, P, B, B, P, ⁇ , P, B, B.
  • the frame rate when all pictures are decoded is 30 Hz.
  • the 15 pictures are divided into three layers according to the coding type.
  • FIG. 55 (b) shows layer 0 of the video stream
  • FIG. 55 (c) shows layer 1 of the video stream
  • FIG. 55 (d) shows layer 2 of the video stream.
  • Layer 0 is composed of I pictures
  • layer 1 is composed of P pictures
  • layer 2 is composed of B pictures.
  • Subsequence 0_1 is decoded independently
  • subsequence 1-1 is decoded with reference to subsequence 0_1
  • subsequence 2-1 is subsequence 0-1 and subsequence 11 Decoded with reference to 1.
  • FIGS. 56 (a) to (c) show SSL, SSC and SSI field values stored in the AVC-GOP shown in FIG. 55 (a).
  • Figure 56 (a) stores the average bit rate and the average frame rate for the Nth layer (N is an integer from 0 to 2) when all the Nth layers are summed. Indicates SSL SEI.
  • Figure 56 (b) shows the Nth (N is an integer from 0 to 2) layer Indicates the SSC SEI in which the information of the sub-sequence referenced by the sub-sequence included in is stored. For example, it is shown that subsequence 1 of layer 2 refers to subsequence 1 of layer 0 and subsequence 1 of layer 1. Further, FIG. 56 (c) shows the SSI SEI added for each picture. The SSI SEI stores information on the layer to which each picture belongs and the subsequence. For example, picture I-3 is included in subsequence 1 of layer 0, and picture B-4 is included in subsequence 1 of layer 2.
  • FIGS. 57 (a) and (b) show the sample structure when the AVC-G0P data of FIG. 55 is stored in MP4 samples.
  • frame-count 1 that is, when one sample contains data of one picture
  • SSL SEI and SSC SEI are provided for the sample containing the picture I_3 data, and the subsequent samples Includes only picture data.
  • frame-count is greater than 1, that is, when one sample contains data of multiple pictures, all the data of AVC-G0P is stored in one sample. It is assumed that SSI SEI is included in each picture data.
  • Embodiment 6 has described that a new box can be introduced in the sample header to add new information.
  • the subsequence and the layer A new sample-to-layer subsequence box (SampleToLayerSubSequenceBox; stls) is used to store the information to be stored.
  • s 11 s indicates the AVCLayerEntry and AVCSubSequenceEntry referenced by the picture in the sample, and the reference information to both entries is stored in the same box to reduce overhead.
  • AVCLayerEntry and AVCSubSequenceEntry are stored in sgpd in stbl as in the case of conventional MP4.
  • Fig. 58 (a) shows an example of the syntax of the sample * one layer subsequence box stls.
  • Figure 58 (a) [Here, layer_description_index t subsequence-description-index indicates the entry number of the AVCLayerEntry and AVCSubSequenceEntry referenced by the picture, respectively, and the picture-count is the same. Indicates the number of consecutive pictures that refer to AVCLayerEntry and AVCSubSequenceEntry.
  • the picture—count, layer—description—index, and sub—sequence—description—index fields are collectively referred to as a picture level entry, a picture with the same subsequence and layer-related information appears periodically. , The same picture level entry is repeated periodically. For this reason, when the picture level entry has a periodic structure, the table size is reduced by indicating the number of consecutive same periodic structures using the entry count.
  • FIG. 58 (b) shows the table structure of st Is when the AVC-G0P of FIG. 55 is stored in one sample.
  • the information for the fourth and subsequent pictures is Due to the periodicity, the table size has been significantly reduced by using the en-count. Note that the number of bits in each field and the arrangement of the fields are examples, and a different number of bits / field arrangement may be used.
  • a box that can describe a relationship between a picture and a plurality of groups to which the picture belongs without being limited to a subsequence or a layer may be defined.
  • Each group has an independent st sd, and a picture is associated with an entry in the stsd.
  • such a box is defined as a sample-to-multi-group box (SampleToMultiGroupBox; stmg).
  • Fig. 58 (c) shows an example of the syntax of a sample multi-group box (SampleToMultiGroupBox; stmg).
  • num—of—related—grouping—type indicates the number of groups associated with the picture.
  • grouping-type is an identifier of a group, for example, an identifier indicating a subsequence or a layer is stored.
  • the definitions of total-entry-count, entry-count, and picture-count are the same as for stls.
  • the picture—index field stores the index number of the entry in the stsd referenced by the picture for all the groups to which the picture belongs. For example, when storing layer and subsequence information using stmg, num-of-related-grouping-type is 2, and grouping_type stores each identifier in order.
  • the picture referenced by the grouping index field The index numbers of AVCLayerEntry and AVCSubSequenceEntry are stored in order.
  • stls can set the default value in the initial value setting part of the sample header like other boxes in the sample header. You do not need to set stls in the sample header.
  • information of each picture may be stored sequentially without expressing a periodic structure using an entry-count field or the like.
  • the subsequence and layer information may be stored using separate and independent boxes. Note that stls and stmg are not limited to use in the sample header, but may be used in moov or moof.
  • subseq-flag When flag is set, indicates the reference relationship between pictures using the subsequence and layer-related SEI set in the video track. The sample header stls is not used. Next, if subseq—flag is not set, use the sample header stls. On the other hand, the inclusion of subsequences and layer-related SEIs in video tracks is prohibited. That is, when acquiring the reference relationship between pictures, first check the value of the subseq flag.
  • subseq If f 1 ag is set, the reference relation is obtained from the SEI of SSL, SSC, and SSI added to the picture data in the sample, and subseq—sample header if flag is not set. Get the reference relation of picture from stls of.
  • the subseq-flag may be set in a location other than the stsd entry if it is within moov, or a box structure may be used instead of the flag.
  • subseq—Even if the flag is not set, the inclusion of subsequence and layer related SEI in the video track may not be prohibited.
  • a different format such as a transport stream (TS)
  • the subsequence and the subsequence in the converted format are used. Even when using layer-related SEI, the video track can be used as it is.
  • the subseq-flag may not be used, and may be used depending on the value of frame-count. For example, if the frame—count is greater than 1, the sample header is used, so the reference relationship is set using st Is, and if the frame—count is 1, SEI is used.
  • the SEI may be used.
  • the reference relationship may be indicated by using sbgp as before.
  • the subsequence and layer-related SEI may not be used, and the conventional method using sbgp and the method using st Is of the sample header may be switched by the value of subseq-flag.
  • One of subsequence, layer related SEI, or stls may be used in advance.
  • the MP4 file of the present embodiment it is possible to easily acquire the reference relation of the picture in the video track. Therefore, the picture to be decoded or displayed at the time of special reproduction such as double-speed reproduction can be efficiently determined. In addition, even when the value of frame-coun- ter is greater than 1 and one sample includes a plurality of pictures, the reference relation in a picture unit can be indicated. Furthermore, since the information about the picture reference relationship can be stored in the mdat using the sample header or SEI, the size of the moov can be reduced.
  • the configuration of the data processing device according to the present embodiment is the same as the configuration of the data processing device shown in FIG. 35, and its basic operation is also as described above. Therefore, hereinafter, the operation of the data processing device according to the present embodiment, specifically, the operation of the sample analysis unit 307 and the decoding display unit 308 during trick play will be described.
  • the data processing device displays only the selected picture at the time of trick play, but it may be necessary to decode a picture other than the selected picture in order to decode the picture to be played. Therefore, the data processing apparatus must distinguish between a picture that performs only decoding and a picture that performs both decoding and display. Therefore, the operation of the data processing apparatus during trick play will be described below.
  • the sample analysis unit 307 obtains the reference relationship between the pictures included in the video track, decodes the picture, and displays the picture. Determine the key. After that, the sample analysis section 307 decodes the identification signal for identifying whether to decode and display the picture data d 309 together with the picture data d 309 or to perform only decoding. Output to 308. Decoding display section 308 decodes picture data d 309, and performs display when display is instructed by the received identification signal, and does not perform display when not instructed.
  • FIG. 59 shows a procedure of processing of the sample analysis unit 307 and the decoding display unit 308 when only the selected picture is reproduced.
  • step S91 the value of subseq-flag stored in the entry of stsd is obtained.
  • subseq — ⁇ If ag is set, the picture reference relationship is obtained from the subsequence and layer-related SEI included in the video track data, and if not set, it is obtained from st Is in the sample header. It is decided to do.
  • step S92 the sub-sequence to be displayed is determined based on the frame rate divided by the bit rate of the layer or the reference relation of the sub-sequence.
  • step S93 a sub-sequence to be referred to when decoding the picture of the sub-sequence determined to be displayed in step S92 is specified, and in step S94, the sub-sequence included in these referenced sub-sequences is included. Decode the picture. Finally, in step S95, the picture to be displayed is decoded and displayed.
  • the processing up to step S93 is performed in the sample analysis section 307, and the subsequent processing is performed in the decoding display section 308.
  • the multiplexing processing and the demultiplexing processing of the data processing device are realized based on a combination program that defines the procedure of such processing.
  • the computer program is recorded on a recording medium such as a flexible disk or a CD-ROM and distributed to the market, or transmitted through a telecommunication line such as the Internet. Alternatively, it can be operated as a playback device.
  • FIG. 60 (a) shows an example of a physical format of a flexible disk (FD) as an example of a recording medium.
  • FD flexible disk
  • a plurality of tracks Tr are formed concentrically from the outer circumference toward the inner circumference, and each track is divided into 16 sectors Se in the angular direction.
  • the above-described program is recorded in a predetermined area allocated on the flexible disk FD.
  • Figure 60 (b) shows the appearance, cross-sectional structure, and flexible disk of the flexible disk viewed from the front.
  • the flexible disk FD is built in the case F.
  • FIG. 60 (c) shows a device configuration for writing and reading a program to and from the flexible disk FD.
  • the program for multiplexing and demultiplexing in the data processing device is transferred from the computer system Cs, and the flexible disk F (FDD) is used by the flexible disk drive (FDD).
  • FDD flexible disk drive
  • D the flexible disk drive
  • the computer system CS reads and executes the program, thereby realizing the multiplexing process and / or the demultiplexing process.
  • the recording medium is not limited to a flexible disk, but may be an optical disk such as a CD-ROM, a semiconductor recording medium such as an IC card, a ROM cassette, or the like.
  • the decoding time of each frame can be obtained by dividing the difference between the decoding start times of the current sample and the next sample by the number of frames forming the sample.
  • the data processing device does not analyze the access unit even if the decoding time and display start time of the access unit constituting the sample are different or the access unit does not include a start code.
  • time information and size of each access unit can be acquired at high speed and with low load.
  • the access configuring the sample Since the decoding, display time information, or size of the unit is stored in the sample as information separate from the access unit, information per access unit can be obtained without analyzing the access unit. Even when the decoding time and the display start time are different in each frame, the correct display time of the frame can be obtained. Also, since the time information in the encoded data can be used as it is as the display time information of the frames constituting the sample, the load on the data processing device for acquiring the time information can be reduced.
  • the decoding time information of the sample when the frame rate of the moving image data is fixed, only the default value is set as the decoding time information of the sample, whereby the decoding of the frame constituting the sample is performed. Time information can be easily obtained, and overhead can be reduced.
  • the structure of a sample such as 1 G0P as one sample
  • the overhead of the sample is obtained by acquiring information on each frame constituting the sample from the encoded data in the sample. Can be reduced.
  • information about the frame can be stored efficiently.
  • special playback such as double-speed playback is performed by including in the sample header information necessary for identifying a reference frame to be referred to when decoding a frame constituting a sample.
  • the video stream itself contains the information necessary to specify the reference frame to be referenced by the frame to be decoded at the time of decoding, it is easy to identify the frame that needs to be decoded during special playback such as double-speed playback. The effect is obtained.
  • identification information indicating the location where the information necessary to identify the reference frame to be referred to during decoding by the frames making up the sample, information about the reference relationship between the frames used for trick play is included. The storage location can be specified.
  • a video stream for example, a video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A data recording device includes reception sections (100, 102) for receiving at least one of a video signal and an audio signal, a stream generation section (101) for encoding a signal by a predetermined encoding format and generating an encoded stream including a plurality of picture data for the video signal and a plurality of reproduction data as frame data for the audio signal, an extension information generation section (104) for generating extension information for specifying each reproduction data, an auxiliary information generation section (103) for generating access data for accessing group unit consisting of one or more reproduction data and generating auxiliary information including the access data, a multiplexing section for multiplexing an encoded stream and extension information to generate a data stream, and a recording section (120) for recording the data stream and the auxiliary information on a recording medium (131).

Description

データ処理装置 技術分野  Data processing equipment Technical field
本発明は、 映像および音声に関する動画ストリームを光ディスク 等の記録媒体に記録し、 記録媒体に記録された動画ストリームを再 生する装置および方法等に関する。 背景技術  The present invention relates to an apparatus and a method for recording a moving image stream related to video and audio on a recording medium such as an optical disk and reproducing the moving image stream recorded on the recording medium. Background art
ストリームデータを扱うことが可能であり、 かつ、 P Cとの親和 性の高いファイルフォーマツ トとして、 MP E G 4システム規格 ( I S O/ I E C 1 44 9 6 - 1 ) において規定される M P 4フ アイルフォーマツ 卜が広く知られている。 MP E G 4システム規格 では、 M P E G 2映像または M P E G 4映像を含むシステムストリ ームおよび付属情報のデータ構造が MP 4ファイルとして規定され ている。 なお、 M P 4ファイルフォーマッ トは Apple (登録商標) 社の QuickTime (TM)ファイルフォーマツ トをベースにして規定され、 近年、 様々な P Cアプリケ一ションでサポートされている点におい て将来性のあるフォーマツ トである。 ベースにされた QuickTimeフ アイルフォーマッ トは、 現在、 P Cアプリケーションの分野で映像 および音声を扱うファイルフォーマッ トとして幅広く使われている。 図 1は、 MP 4ファイル 1の構成を示す。 MP 4ファイル 1は、 付属情報 2と動画ストリームデータ 3とを含んでいる。 動画ストリ ームデ一夕 3は、 M P E G 2映像または M P E G 4映像等の符号化 されたビデオデータおよびオーディオデータである。 これらは、 1 つ以上のフレームを単位として配置されている。 付属情報 2は、 動 画ストリ一ムデ一夕 3において規定される映像および音声の各フレ 一ムのデ一夕サイズ (以下 「フレームサイズ」 と称する) 、 デ一夕 の格納先アドレス、 フレーム単位の再生時間等の情報である。 デ一 夕再生装置は、 付属情報 2に基づいて動画ストリーム 3の格納位置 等を特定し、 動画ストリームデータ 3を読み出し、 再生することが できる。 The MP4 file format specified in the MPEG4 system standard (ISO / IEC144696-1) as a file format that can handle stream data and has high compatibility with PCs Mats are widely known. In the MPEG4 system standard, a data stream of a system stream including MPEG 2 video or MPEG 4 video and ancillary information is specified as an MP4 file. The MP4 file format is defined based on the QuickTime (TM) file format of Apple (registered trademark), and has a promising future in that it has been supported by various PC applications in recent years. It is a format. The QuickTime file format, based on it, is now widely used as a file format for video and audio in PC applications. FIG. 1 shows the structure of the MP4 file 1. MP4 file 1 Includes auxiliary information 2 and video stream data 3. The moving picture stream 3 is encoded video data and audio data such as MPEG 2 video or MPEG 4 video. These are arranged in units of one or more frames. Auxiliary information 2 includes the video and audio frame size (hereinafter referred to as “frame size”), video storage address, storage address, and frame unit specified in video stream 3. , Etc. of the playback time. The data reproducing apparatus can specify the storage position of the moving picture stream 3 based on the attached information 2 and read out and reproduce the moving picture stream data 3.
図 2は、 M P 4ファイルの他の構成を示す。 MP 4ファイルの付 属情報 2と動画ストリ一ム 3とはそれぞれ別のフアイルとして構成 されている。 このような MP 4ファイルでは、 付属情報 2は、 動画 ス トリーム 3の読み出しを制御するリンク情報 Lを含んでいる。 QuickTimeファイルフォーマツ ト規格においても、 図 1および 2に 示す MP 4規格と同じファイル構成をとることができる。 以下では、 M P 4フアイルに関する説明は特に限定しない限り QuickTimeファ ィルに対しても同様に適用可能であって、 MP 4ファイルに限定さ れるものではない。  FIG. 2 shows another configuration of the MP4 file. The attachment information 2 of the MP4 file and the video stream 3 are configured as separate files. In such an MP4 file, the auxiliary information 2 includes link information L for controlling reading of the video stream 3. The QuickTime file format standard can also have the same file structure as the MP4 standard shown in Figs. In the following, the description of the MP4 file is applicable to the QuickTime file as well, unless otherwise specified, and is not limited to the MP4 file.
以下、 図 1に示す MP 4ファイル 1を例にして、 MP 4ファイル 1のより具体的な構成を説明する。 図 3は、 MP 4ファイル 1の具 体的なデータ構造を示す。 まず、 動画ストリーム部分を説明する。 M P 4ファイル 1 では、 動画ス トリ一ム中のデータをサンプル (sample) およびチャンク (chunk) 単位で管理する。 「サンプル (sample) 」 とは、 M P 4ファイルにおけるストリーム管理の最小 単位であり、 例えば、 ビデオフレームの符号化されたフレームデー タおよびオーディオフレームの符号化されたフレームデータに対応 する。 図にはビデオフレームのフレームデータを表すビデオサンプ ル (Video Sample) 4およびオーディオフレームのフレームデータ を表すオーディオサンプル (Audio Sample) 5を示す。 一方、 「チ ヤンク (chunk) 」 とは、 1以上のサンプルの集合を表す。 チャン ク内にサンプルが 1つしか存在しないときでも、 そのサンプルのみ を含む 1つのチャンクとしてデータが管理される。 Hereinafter, a more specific configuration of the MP4 file 1 will be described using the MP4 file 1 shown in FIG. 1 as an example. FIG. 3 shows the specific data structure of MP4 file 1. First, the video stream part will be described. For MP4 file 1, sample the data in the video stream (sample) and chunk (chunk). The “sample” is a minimum unit of stream management in an MP4 file, and corresponds to, for example, encoded frame data of a video frame and encoded frame data of an audio frame. The figure shows a video sample (Video Sample) 4 representing frame data of a video frame and an audio sample (Audio Sample) 5 representing frame data of an audio frame. On the other hand, "chunk" refers to a set of one or more samples. Even when there is only one sample in a chunk, the data is managed as one chunk containing only that sample.
付属情報では、 ビデオサンプルに関する情報とオーディオサンプ ルに関する情報は、 それぞれトラック単位で管理される。 図 3には、 オーディオトラック 6およびビデオトラック 7を示している。 トラ ック 6および 7には、 各サンプルのサイズとその表示時間、 各チヤ ンクの先頭位置およびそのチャンクに含まれるサンプルの数等の情 報が記述される。 デ一夕再生装置は、 付属情報の各トラックを読み 出して全てのサンプルへアクセスすることができ、 また、 サンプル およびチャンク毎に読み出し等の制御が可能である。 なお、 MP 4 ファイルの付属情報中に規定される、 各サンプルおよび各チャンク を特定するための格納位置情報は 「アクセスデータ」 とも称される。 しかしながら、 アクセスデータが詳細に記述されているという理 由から、 付属情報全体のデータサイズ非常に大きく、 動画ストリー ム 1時間当たり約 1 MB y t eに達してしまう。 一方、 例えば 「リ ライタブル/再記録可能なディスクのための DVD規格パート 3 ビ デォレコーディング規格 バージョン 1.1」 , DVDフォーラム発行 VR4, p.31〜35 によれば、 D VDビデオレコーディ ング規格のァ クセスデータに必要なデータサイズは 1時間当たり約 7 0キロバイ トである。 すなわち、 DVDビデオレコーディング規格のアクセス データのサイズは、 MP 4ファイルの付属情報に含まれるアクセス データのサイズの 1 0分の 1以下である。 In the auxiliary information, information on video samples and information on audio samples are managed on a track-by-track basis. FIG. 3 shows an audio track 6 and a video track 7. Tracks 6 and 7 describe information such as the size of each sample and its display time, the start position of each chunk, and the number of samples included in that chunk. The overnight playback device can read out each track of the attached information and access all the samples, and can control reading and the like for each sample and chunk. Note that the storage location information for specifying each sample and each chunk, which is specified in the accessory information of the MP4 file, is also referred to as “access data”. However, because the access data is described in detail, the data size of the attached information is very large, reaching about 1 MB yte per hour for the video stream. On the other hand, for example, According to the DVD standard for rewritable / rewritable discs, Part 3 Video recording standard, Version 1.1 ", published by the DVD Forum VR4, pp. 31-35, it is necessary for the access data of the DVD video recording standard. The data size is about 70 kilobytes per hour. That is, the size of the access data of the DVD video recording standard is less than one tenth of the size of the access data included in the accessory information of the MP4 file.
図 4は、 従来の再生装置 40 0の機能ブロックの構成を示す。 再 生装置 4 0 0は、 DVD— RAMディスク 1 3 1に記録された動画 ストリーム (ビデオストリーム、 オーディオストリーム、 またはビ デォストリームとオーディォストリームとが多重されたストリーム 等) を再生する。 この動画ストリームは、 例えば図 1から図 3を参 照しながら説明した MP 4ファイルを構成する動画データである。 再生装置 4 0 0において行われる動画ストリームの再生処理を具 体的に説明すると、 まず、 動画ストリームのストリームデ一夕は、 ピックアップ 40 7および再生部 4 04を介して、 再生信号として DVD— RAMディスク 1 3 1から読み出される。 一連の読み出し 処理は、 制御部 (図示せず) による読み出し位置の指定、 再生信号 の生成等に基づいて行われる。 そして、 再生信号は動画ストリーム 復号部 40 3において映像信号と音声信号に復号され、 映像信号出 力部 40 1および音声信号出力部 40 2へと出力される。  FIG. 4 shows a configuration of functional blocks of a conventional reproducing apparatus 400. The playback device 400 reproduces a moving image stream (a video stream, an audio stream, or a stream in which a video stream and an audio stream are multiplexed) recorded on a DVD-RAM disk 1331. This moving image stream is, for example, moving image data constituting the MP4 file described with reference to FIGS. 1 to 3. The process of playing back a moving image stream performed by the playback device 400 will be specifically described. First, the stream data of the moving image stream is transmitted through a pickup 407 and a playback unit 404 to a DVD-RAM as a playback signal. Read from disk 131. A series of read processing is performed based on designation of a read position by a control unit (not shown), generation of a reproduction signal, and the like. Then, the reproduced signal is decoded into a video signal and an audio signal by the video stream decoding unit 403 and output to the video signal output unit 401 and the audio signal output unit 402.
また、 DVD— RAMディスクにはプレイリスト情報が記録され ている場合もある。 再生装置 40 0は、 プレイリスト情報に従って 所定の順序で動画ストリームを再生するプレイリスト再生機能を有 する。 ここで、 「プレイリスト情報」 とは、 1以上の動画ストリー ムの一部または全部の再生順序を規定した情報である。 プレイリス ト情報は、 ユーザが任意の位置および区間等を指定することによつ て記録装置において生成される。 In some cases, playlist information is recorded on a DVD-RAM disk. The playback device 400 performs playback according to the playlist information. It has a playlist playback function for playing back video streams in a predetermined order. Here, the “playlist information” is information that defines a reproduction order of a part or all of one or more video streams. The playlist information is generated in the recording device when a user designates an arbitrary position, a section, and the like.
先に説明した MP 4フアイルフォーマツ トでは、 プレイリスト情 報によって指定される動画ストリームを特定するためのアクセスデ 一夕を付属情報に格納することができる。 そのときには、 再生装置 4 0 0は、 MP 4ファイルの付属情報を予め読み出し、 付属情報保 持メモリ 40 6に保持しておく。 これにより、 再生装置 40 0はプ レイリスト情報に従って動画ストリームを連続的に再生することが できる。 プレイリスト再生機能は、 D VD— R AMディスク 1 3 1 にプレイリスト情報が記録されている場合に利用することができ、 ランダムアクセスが可能な DVD— RAMディスクの特徴を活かし た機能といえる。  In the MP4 file format described above, an access data for specifying the video stream specified by the playlist information can be stored in the attached information. At that time, the playback device 400 reads out the attached information of the MP4 file in advance and stores it in the attached information holding memory 406. This allows the playback device 400 to continuously play back the moving picture stream according to the play list information. The playlist playback function can be used when playlist information is recorded on the DVD-RAM disc 131, and can be said to be a function that makes use of the features of the DVD-RAM disc that can be accessed randomly.
さらに、 DVD— RAMディスク 1 3 1に格納されている全ての MP 4ファイルの付属情報を、 可能な限り早く付属情報保持メモリ 4 0 6に格納するためには、 付属情報は D VD _ R AMディスク 1 3 1上でまとめて配置されていることが望ましい。  Furthermore, in order to store the attached information of all the MP4 files stored on the DVD-RAM disk 13 1 in the attached information holding memory 406 as soon as possible, the attached information should be DVD_RAM. It is desirable that they are arranged collectively on the disk 13 1.
図 5は、 MP 4ファイル 1が記録される DVD— RAMディスク 1 3 1の領域 1 3 2、 1 3 3を示す。 DVD— RAMディスク 1 3 1の記録領域は、 管理情報領域 1 3 2と A Vデータ領域 1 3 3とに 分けて管理されている。 通常は、 MP 4ファイル 1の付属情報 2は 管理情報領域 1 3 2に記録され、 動画ス トリーム 3は A Vス トリー ム領域 1 3 3に記録される。 DVD— RAMディスク 1 3 1の管理 情報領域 1 3 2に、 MP 4ファイルの全ての付属情報をまとめて配 置することにより、 再生装置 40 0は高速に全ての付属情報を読み 出し、 付属情報保持メモリ 40 6に保存することができる。 FIG. 5 shows the areas 1 3 2 and 1 3 3 of the DVD-RAM disk 13 1 on which the MP4 file 1 is recorded. DVD—The recording area of the RAM disk 13 1 is managed by being divided into a management information area 13 2 and an AV data area 13 3. Usually, the attached information 2 of the MP4 file 1 is The moving image stream 3 is recorded in the management information area 132, and the moving image stream 3 is recorded in the AV stream area 133. DVD—RAM disk 1 3 1 management By placing all the additional information of the MP4 file in the information area 13 2 collectively, the playback device 400 can read out all the additional information at high speed and add the additional information. It can be stored in the holding memory 406.
ただし、 付属情報のアクセスデータのデータサイズが非常に大き いため、 MP 4ファイルに対応する再生装置は大きい容量の付属情 報保持メモリ 4 0 6を備える必要がある。 特に、 DVD— RAMデ イスク 1 3 1の管理情報領域 1 3 2に多くの管理情報が記録されて いるときには、 相当に大きな容量の付属情報保持メモリ 40 6が必 要になる。  However, since the data size of the access data of the attached information is very large, the playback device corresponding to the MP4 file needs to have the attached information holding memory 406 with a large capacity. In particular, when a large amount of management information is recorded in the management information area 132 of the DVD-RAM disk 131, a considerably large capacity of the auxiliary information holding memory 406 is required.
そこで、 MP 4フアイルの付属情報のデ一夕サイズを小さくする ために、 例えば、 日本国特開 2 0 0 1— 9 49 3 3号公報に記載さ れた技術が知られている。 図 6は、 複数フレーム (例えば GO P (Group Of Picture) 1 4) を 1サンプルに対応させた M P 4フ アイル 1 1のデータ構造を示す。 付属情報 1 2において、 各ビデオ サンプルを特定するためのアクセスデ一夕が記述される点は先の例 と同じであるが、 各ビデオサンプルは GO P 1 4を構成する複数の ビデオフレームに対応付けられている。 このようなデータ構造を採 用することにより、 ビデオサンプルの総数が減るので、 アクセスデ 一夕のデータサイズを低減することができる。 よって、 動画ストリ ーム 1時間当たりの付属情報を、 先の例の約 1ノ 1 0に削減するこ とが可能であ.る。 MP 4フアイルの付属情報のデータサイズを小さくするために、 さらに他の技術が知られている。 当該他の技術では、 1チャンクを 複数のフレームに対応させ、 アクセスデ一夕として、 サンプルのサ ィズではなくチャンクのサイズのみを格納する。 これにより、 付属 情報サイズを削減することができる。 Therefore, a technique described in, for example, Japanese Patent Application Laid-Open No. 2001-94933 is known in order to reduce the size of the accompanying information of the MP4 file. FIG. 6 shows a data structure of an MP4 file 11 in which a plurality of frames (for example, GOP (Group Of Picture) 14) correspond to one sample. Ancillary information 1 and 2 describe the access data for identifying each video sample in the same way as in the previous example, but each video sample corresponds to multiple video frames that compose GOP 14 It is attached. By adopting such a data structure, the total number of video samples is reduced, so that the data size of the access data can be reduced. Therefore, it is possible to reduce the attached information per hour of the video stream to about 10 in the previous example. Still other techniques are known for reducing the data size of the information attached to the MP4 file. In this other technology, one chunk corresponds to a plurality of frames, and only the size of the chunk, not the size of the sample, is stored as an access data. As a result, the size of the attached information can be reduced.
上述した技術では、 映像データは以下のように配列され、 映像ス トリームを構成していた。 図 7 ( a) 〜 (d) は、 MP EG 2映像 ス トリームの階層化されたデータ構造を示す。 図 7 ( a) は階層構 造の最上位であるシーケンスを示す。 シーケンスは少なくとも 1つ 以上の GOPを格納する。 図 7 (b) は各 GO Pのデータ構造を示 す。 図 6の例ではビデオサンプルに対応する。 GOPは 1つ以上の フレームデータを含んでおり、 例えば 1つの I フレームとその I フ レームを参照フレームとして必要とする Pフレームおよび Bフレー ムが格納される。 図 7 ( c ) は各フレーム (または 「ピクチャ」 と もいう) のデータ構造を示す。 各フレームは、 複数のスライスを含 む。 図 7 (d) は各スライスのデータ構造を示す。 各スライスは M P E G 2映像の符号化単位であるマクロブロックの集合であり、 M P E G 2映像ス トリームはスライス単位でバイ トァラインされてい る。  In the above-described technique, the video data is arranged as follows, and forms a video stream. FIGS. 7 (a) to 7 (d) show the hierarchical data structure of the MPEG2 video stream. Figure 7 (a) shows the sequence at the top of the hierarchical structure. A sequence contains at least one GOP. Figure 7 (b) shows the data structure of each GOP. In the example of FIG. 6, it corresponds to a video sample. The GOP includes one or more frame data, and stores, for example, one I-frame and P-frames and B-frames that require the I-frame as a reference frame. Fig. 7 (c) shows the data structure of each frame (or "picture"). Each frame contains multiple slices. FIG. 7D shows the data structure of each slice. Each slice is a set of macroblocks, which are coding units of the MPEG2 video, and the MPPEG2 video stream is byte-aligned in slice units.
MP E G 2ス トリームの階層構造を構成するシーケンス、 GO P、 フレーム、 スライスの先頭には、 それぞれ 3 2ビッ トのス夕一トコ ードが付される。 具体的には、 シーケンスの先頭にはシーケンスへ ッダコード (Sequence Header Code) 1 3 0 1、 GO Pの先頭には GO Pスタートコード (GOP Start Code) 1 3 0 2、 フレームの先 頭にはピクチャスタートコード (Picture Start Code) 1 3 0 3、 スライスの先頭にはスライススタートコード (Slice Start Code) 1 3 0 4がそれぞれ設けられる。 A sequence code, a GOP, a frame, and a slice that form the hierarchical structure of the MPEG2 stream are each preceded by a 32 bit stream code. Specifically, at the beginning of the sequence, the sequence header code (Sequence Header Code) 1301, and at the beginning of the GOP, GOP Start Code 13 02, Picture Start Code 13 0 3 at the beginning of the frame, Slice Start Code 13 0 4 at the beginning of the slice Are respectively provided.
スタートコードは、 24ビッ 卜のスタートコードプリフィ ックス と、 8ビッ トのスタートコード I Dで構成されている。 スタートコ —ドプリフィ ックスは全てのスタートコードで共通であるが、 ス夕 —トコード I Dはそれぞれの種類別に固有の I Dが規定されている。 また、 スタートコ一ドは、 M P E G 2映像ス トリーム中で一意であ ることが規定されており、 例えばス トリーム中の 3 2ビッ トの値が ピクチャスタートコード 1 3 0 3の値に一致したら、 即座にそれが フレームの先頭であると解釈することができる。 以下では、 ストリ ーム中で一意なコードを 「ユニークコード」 と称する。  The start code consists of a 24-bit start code prefix and an 8-bit start code ID. The start code-do prefix is common to all start codes, but the start code-ID has a unique ID for each type. The start code is specified to be unique in the MPEG2 video stream. For example, if the value of 32 bits in the stream matches the value of the picture start code 133, , It can be immediately interpreted as the beginning of the frame. In the following, a code that is unique in the stream is referred to as a “unique code”.
図 8 (a) 〜 (d) は、 M P E G 2映像ストリームでエラーが発 生したときのエラー伝播の様子を示している。 MP E G 2映像ス ト リームは可変長符号で構成されているため、 例えば、 スライススタ 一トコ一ド 1 3 04— 1が付されたスライスデータにおいてエラ一 が発生すると、 それ以降のストリームが正しく復号できなくなって しまう。 しかし、 次のスライススタートコード 1 3 04— 2を検出 してス トリームの同期を取ることにより、 以降のストリ一ムの復号 が可能になる。 このように MP E G 2映像ストリ一ムではユニーク コードを用いることにより、 復号時にス トリ一ム中にエラーがあつ た場合のエラーの伝播範囲を抑制している。 上述のユニークコードは、 エラーからの回復に役立つ反面、 符号 化効率という観点からは冗長度を上げる要因になる。 今後、 符号化 効率を上げるためにユニークコードを持たないス トリームが登場す ることも予測され、 そのようなス トリームを従来の方式で記録する と、 以下のような問題が発生する。 FIGS. 8 (a) to 8 (d) show the state of error propagation when an error occurs in the MPEG-2 video stream. Since the MPEG2 video stream is composed of variable-length codes, for example, if an error occurs in the slice data with the slice start code 13044-1, the subsequent It cannot be decrypted. However, by detecting the next slice start code 13044-2 and synchronizing the streams, the subsequent streams can be decoded. In this way, the unique code is used in the MPEG2 video stream to suppress the error propagation range when there is an error in the stream during decoding. While the above-mentioned unique code is useful for error recovery, it also increases redundancy in terms of coding efficiency. In the future, it is expected that a stream without a unique code will appear in order to increase the coding efficiency. If such a stream is recorded by the conventional method, the following problems will occur.
図 9 ( a ) 〜 ( d ) は、 ユニークコードを持たない動画ス トリー ムにおいて復号エラーが発生したときのエラ一伝播の様子を示して いる。 この動画ス トリームは、 図 6に示すように複数フレーム (例 えば G O P ) を 1サンプルに対応させてァクセスデータが設けられ ており、 付属情報のデータサイズが削減されている。  FIGS. 9 (a) to 9 (d) show how error propagation occurs when a decoding error occurs in a video stream having no unique code. In this video stream, as shown in FIG. 6, access data is provided so that a plurality of frames (for example, GOP) correspond to one sample, and the data size of the attached information is reduced.
各スライス、 フレームおよび G O Pにはユニークコ一ドが存在し ないため、 スライス 9 0において復号エラーが発生すると、 そのェ ラーはスライス 9 0の次のスライス 9 1以降に伝播し、 フレーム 9 2内の最終スライスまで復号ができない。 さらにエラ一は、 そのフ レーム 9 2の次のフレーム 9 3にも伝播し、 フレーム 9 2を含む G 0 P 9 4の最後のフレームまで復号ができなくなる。 この説明から 理解されるように、 ユニークコードを持たないス トリームで一度ェ ラーが発生すると、 ス トリーム中の情報だけでは復号可能な状態に 戻すことができないため、 付属情報に格納しているアクセスデータ によってデ一夕位置を特定できる次の G O P 9 5の先頭までエラー が伝播してしまう。  Since there is no unique code in each slice, frame, and GOP, if a decoding error occurs in slice 90, the error propagates to slice 91 and subsequent slices 90, and Decoding cannot be performed until the last slice. Further, the error propagates to the frame 93 next to the frame 92, and decoding cannot be performed until the last frame of G0P94 including the frame 92. As can be understood from this explanation, once an error occurs in a stream that does not have a unique code, it is not possible to return to a decryptable state using only the information in the stream. The error propagates to the beginning of the next GOP 95 where the data can be used to identify the location.
続いて、 1サンプルを複数のフレームによって構成することに起 因するさらに別の問題を説明する。 付属情報には、 各サンプルのァ クセスデータのみならず、 各サンプルの復号時間、 表示時間等の情 報も記述されている。 しかし、 1サンプルを複数のフレームによつ て構成すると、 付属情報には、 動画ストリームの再生に必要な各フ レームの復号時間、 表示時間、 フレーム単位のデータ等が記述され ていない。 そこで、 再生装置はそれらの情報を計算によって求める 必要がある。 例えば、 再生装置 4 0 0は、 あるサンプルの復号時間 と次のサンプルの復号時間の差分値を求め、 その差分値をサンプル 内のフレーム数によって除算する。 再生装置 4 0 0は、 得られた除 算値を、 1フレームあたりの復号時間の差分値として採用する。 Next, another problem caused by forming one sample by a plurality of frames will be described. The accompanying information includes the key of each sample. It describes not only access data but also information such as decoding time and display time of each sample. However, if one sample is composed of a plurality of frames, the attached information does not describe the decoding time, display time, frame-by-frame data, etc. of each frame required for reproducing the moving image stream. Therefore, it is necessary for the playback device to obtain such information by calculation. For example, the reproducing apparatus 400 obtains a difference value between the decoding time of a certain sample and the decoding time of the next sample, and divides the difference value by the number of frames in the sample. The reproducing device 400 adopts the obtained division value as a difference value of the decoding time per frame.
しかし、 動画ストリームによっては、 再生装置 4 0 0に予め設定 された計算手順では各フレームの正しい復号時間、 表示時間、 フレ —ム単位のデータ等が取得できない場合がある。  However, depending on the moving image stream, the correct decoding time, display time, frame-by-frame data, and the like of each frame may not be obtained by the calculation procedure preset in the playback device 400.
ここで、 図 1 0を参照しながら、 全てのフレームにおいて復号時 間と表示開始時間が等しい場合の問題点を説明する。 図 1 0 ( a ) は、 フレームスキップが発生したサンプル (G〇 P ) を模式的に示 す。 フレームスキップはフレーム 2の後で発生している。 各フレ一 ムの表示時間長を 1秒とする。 本来、 このサンプルではフレーム 1 からフレーム 5までの 5枚のフレーム (表示時間長: 5秒) から構 成されるはずであるが、 実際にサンプルに含まれるのはフレーム 1 からフレーム 4までの 4枚である。 一方、 付属情報に基づいて得ら れる 1サンプルの表示時間差分値は 5 sである。 その結果、 再生装 置 4 0 0は、 通常、 各フレームの表示時間長を、 5秒 Z 4フレーム = 1 . 2 5秒と計算する。 図 1 0 ( b ) は、 サンプルの表示時間長 に対して均等に割り当てられた各フレームの表示時間長を示す。 Here, a problem in the case where the decoding time and the display start time are equal in all frames will be described with reference to FIG. FIG. 10 (a) schematically shows a sample (G〇P) in which a frame skip has occurred. Frame skip occurs after frame 2. The display time length of each frame is 1 second. Originally, this sample should consist of five frames from frame 1 to frame 5 (display time length: 5 seconds), but the sample actually contains four frames from frame 1 to frame 4. It is a sheet. On the other hand, the display time difference value of one sample obtained based on the auxiliary information is 5 s. As a result, the reproducing apparatus 400 normally calculates the display time length of each frame as 5 seconds Z 4 frames = 1.25 seconds. Figure 10 (b) shows the sample display time length. Indicates the display time length of each frame evenly allocated to.
ところが、 この場合における正しい表示時間は、 スキップされた フレームの表示時間を加味するためにフレーム 2のみが 2秒になり、 他のフレームは 1秒になる。 図 1 0 ( c ) は、 サンプルの表示時間 長に対する各フレームの正しい表示時間長を示す。  However, the correct display time in this case is 2 seconds only for frame 2 to account for the display time of the skipped frame, and 1 second for other frames. Figure 10 (c) shows the correct display time length of each frame with respect to the sample display time length.
このように、 記録時において動画ストリ一ムにフレームスキップ 等が発生して、 あるフレームとその次フレームとの表示時間の差分 値が一定でなくなると、 再生装置はサンプルに含まれるフレームの 表示時間が正しく取得できないという問題が生じる。 この問題は、 1サンプルを複数のフレームによって構成して記録した結果、 各フ レームの表示時間長等が記録されないという記録装置の処理にも起 因して発生しているといえる。  As described above, when a frame skip or the like occurs in the moving image stream during recording and the difference value of the display time between a certain frame and the next frame becomes inconsistent, the reproducing apparatus determines the display time of the frame included in the sample. The problem arises that cannot be obtained correctly. It can be said that this problem is caused by the processing of the recording device in which the display time length and the like of each frame are not recorded as a result of recording one sample composed of a plurality of frames.
次に、 サンプルに含まれるフレームが双方向予測を用いたフレ一 ムから構成されており、 各フレームの復号時間と表示開始時間とが 異なる場合の問題点を説明する。 双方向予測に基づく符号化が行わ れると、 各フレームの表示開始時間は、 サンプルの復号時間または 表示開始時間から算出することができない。 その結果、 先に説明し た再生装置 4 0 0の表示時間の計算方法では、 各フレームの表示時 間が取得できないという問題が生じる。  Next, the problem when the frame included in the sample is composed of frames using bidirectional prediction and the decoding time and the display start time of each frame are different will be described. When encoding based on bidirectional prediction is performed, the display start time of each frame cannot be calculated from the sample decoding time or the display start time. As a result, in the method of calculating the display time of the playback device 400 described above, there is a problem that the display time of each frame cannot be obtained.
さらに、 動画ストリームに各フレームの開始または終了を識別す るための情報 (ユニークコード) が含まれない場合には、 フレーム ごとにそのデータを取得できないという問題も存在する。 例えば、 M P E G— 4 V i s u a 1では、 動画ストリーム内のスタートコ ―ドと呼ばれる識別子によってフレームの境界を検出できるが、 M P EG— 4 AVC (Ad v a n c e d V i d e o C o d i n g) では、 MP 4ファイルに格納する際には、 フレーム境界を識別 するための情報が動画ストリーム内のフレームデータに含まれなレ このため、 MP E G— 4 AV Cで符号化された 2枚以上のフレー ムを 1サンプルに格納すると、 フレームの境界が検出できず、 各フ レームのデータを取得することができない。 発明の開示 Furthermore, if the video stream does not include information (unique code) for identifying the start or end of each frame, there is a problem that data cannot be obtained for each frame. For example, MPEG-4 Visua 1 uses a start command in a video stream. The frame boundary can be detected by an identifier called the video code. However, MP EG-4 Advanced Video Coding (AVC) uses the video stream information to identify the frame boundary when storing it in an MP4 file. Therefore, if two or more frames encoded by MPEG-4AVC are stored in one sample, the frame boundaries cannot be detected, and the data of each frame is not included. Can not get. Disclosure of the invention
本発明の目的は、 アクセスデータのデータサイズを低減するとと もに、 動画ス トリ一ムの復号エラーが発生してもエラーの伝播を抑 えることのできるデータ構造を提供することである。 本発明の他の 目的は、 動画ストリームのフレームを複数まとめて 1サンプルとし て扱う際に、 サンプル毎の復号時間、 表示時間、 フレーム単位のデ 一夕を確実に取得できるようにすることである。  An object of the present invention is to provide a data structure capable of reducing the data size of access data and suppressing propagation of an error even if a decoding error of a moving picture stream occurs. Another object of the present invention is to ensure that when decoding a plurality of frames of a video stream as one sample, the decoding time, display time, and data of each frame can be reliably obtained. .
本発明によるデータ記録装置は、 映像信号および音声信号の少な く とも一方の信号を受け取る受信部と、 前記信号を所定の符号化形 式で符号化して、 前記映像信号に対してはピクチャデータおよび前 記音声信号に対してはフレームデ一夕である再生用データを複数含 む符号化ストリームを生成するストリーム生成部と、 各再生用デー 夕を特定するための拡張情報を生成する拡張情報生成部と、 1以上 の再生用デー夕からなるグループ単位にアクセスするためのァクセ スデ一夕を生成して、 前記アクセスデータを含む付属情報を生成す る付属情報生成部と、 前記符号化ストリームおよび前記拡張情報を 多重化してデータス トリームを生成する多重化部と、 前記デ一タス トリームおよび前記付属情報を記録媒体に記録する記録部とを有す る。 A data recording apparatus according to the present invention includes: a receiving unit that receives at least one of a video signal and an audio signal; encoding the signal in a predetermined encoding format; A stream generation unit that generates an encoded stream including a plurality of reproduction data that is a frame data for the audio signal, and an extension information generation that generates extension information for identifying each reproduction data. And an access data for accessing a group unit including one or more data for reproduction, and ancillary information including the access data is generated. A multiplexing unit that multiplexes the coded stream and the extended information to generate a data stream, and a recording unit that records the data stream and the additional information on a recording medium. You.
前記付属情報生成部は、 さ らに、 複数の再生用データからな るグループ単位にアクセスするためのァクセスデータを生成し てもよい。  The additional information generation unit may further generate access data for accessing a group consisting of a plurality of pieces of reproduction data.
前記付属情報生成部は、 前記グループ単位を第 1サンプルと したときの前記第 1サンプルごとのアクセスデ一夕を生成し、 かつ、 前記拡張情報を第 2サンプルとしたときの前記第 2サン プルごとのアクセスデータを生成してもよい。  The additional information generation unit generates an access data for each first sample when the group unit is a first sample, and the second sample when the extended information is a second sample. Access data may be generated for each.
前記多重化部は、 前記符号化ス ト リームおよび育 u記拡張情報 を、 前記第 1サンプルごとおよび前記第 2サンプルごとに多重 化して前記データス ト リ一ムを生成してもよレ  The multiplexing unit may generate the data stream by multiplexing the coded stream and the extended information for each of the first and second samples.
前記付属情報生成部は、 前記グループ単位と 、 m記グループ に含まれる 1 以上の再生用データに関する前記拡張情報とを 1 サンプルとしたときの、 前記サンプルごとのァクセスデ一夕を 生成してもよい。  The accessory information generation unit may generate an access data for each sample when the group unit and the extended information regarding one or more pieces of reproduction data included in the m group are taken as one sample. .
前記多重化部は、 前記符号化ス ト リームおよび前記拡張情報 を、 前記サンプルごとに多重化して前記データス 卜 リ一ムを生 成してもよい。  The multiplexing unit may generate the data stream by multiplexing the encoded stream and the extension information for each sample.
前記受信部は、 映像信号および音声信号を受け取り、 記ス ト リ一ム生成部は、 前記映像信号および前記音声信号をそれぞ れ所定の符号化形式で符号化して、 複数の映像のピクチャデー 夕および複数の音声フ レームのフレームデータを含む符号化ス ト リームを生成し、 前記拡張情報生成部は、 少なく とも各ピク チヤデータを特定するための拡張情報を生成し、 前記付属情報 生成部は、 前記ピクチャデ一夕、 前記複数の音声フレームのフ レームデータおよび前記拡張情報の各々について、 少なく ともThe receiving unit receives a video signal and an audio signal, and the stream generation unit outputs the video signal and the audio signal respectively. And generating a coded stream including picture data of a plurality of videos and frame data of a plurality of audio frames, wherein the extended information generation unit includes at least each picture data. The additional information generation unit generates at least one of the picture data, the frame data of the plurality of audio frames, and each of the extension information.
2以上のピクチャデータからなるグループ単位にアクセスする ためのアクセスデータを生成して、 前記アクセスデータを含む 付属情報を生成してもよい。 Access data for accessing a group consisting of two or more picture data may be generated, and additional information including the access data may be generated.
前記拡張情報生成部は、 さ らに前記複数の音声フレームの各 フレームデータを特定するための拡張情報を生成してもよい。 前記記録部は、 前記データス ト リームおよび前記付属情報を 1つのデータファイルとして前記記録媒体に記録してもよい。 前記拡張情報生成部は、 前記各再生用デ一夕のデータサイズ、 表示時間、 復号時間を示す情報の少なく とも 1 つを前記拡張情 報として生成してもよい。  The extended information generation unit may further generate extended information for specifying each frame data of the plurality of audio frames. The recording unit may record the data stream and the attached information as one data file on the recording medium. The extended information generation unit may generate at least one of information indicating a data size, a display time, and a decoding time of each of the reproduction data as the extended information.
前記付属情報生成部は、 前記拡張情報の既定値をさらに含む前記 付属情報を生成し、 前記拡張情報生成部は、 前記既定値と異なる値 を有する前記拡張情報を生成してもよい。  The additional information generation unit may generate the additional information further including a default value of the extension information, and the extension information generation unit may generate the extension information having a value different from the default value.
前記拡張情報生成部は、 前記映像信号の各ピクチャデータを復号 するために参照される参照先ピクチャデータを特定するための拡張 情報を生成してもよい。  The extended information generating unit may generate extended information for specifying reference destination picture data referred to for decoding each picture data of the video signal.
前記付属情報生成部は、 リ ンク情報をさらに含む前記付属情 報を生成し、 前記記録部は、 前記前記データス ト リームを、 前 記リ ンク情報によって指定される第 1 デ一夕ファイルとして前 記記録媒体に記録し、 前記付属情報を第 2データファイルとし て前記記録媒体に記録してもよい。 The additional information generation unit may include the additional information further including link information. The recording unit records the data stream on the recording medium as a first data file specified by the link information, and records the attached information as a second data file. May be recorded on the recording medium.
本発明によるデータ記録方法は、 映像信号および音声信号の 少なく とも一方の信号を受け取るステップと、 前記信号を所定 の符号化形式で符号化して、 前記映像信号に対してはピクチャ デ一夕および前記音声信号に対してはフ レームデータである再 生用データを複数含む符号化ス ト リームを生成するステップと、 各再生用データを特定するための拡張情報を生成するステップ と、 1以上の再生用データからなるグループ単位 にアクセスす るためのァクセスデータを生成して 、 前記ァクセスデー夕を含  The data recording method according to the present invention includes a step of receiving at least one of a video signal and an audio signal; encoding the signal in a predetermined encoding format; Generating an encoded stream including a plurality of reproduction data as frame data for the audio signal; generating extension information for identifying each reproduction data; and performing one or more reproductions. Access data for accessing the group unit composed of the access data, and including the access data.
 ,
む付属情報を生成するステップと 、 記符号化ス ト リーム よ び前記拡張情報を多重化してデー夕ス 卜 リ一ムを生成するステ Generating ancillary information, and multiplexing the encoded stream and the extended information to generate a data stream.
一、ム  One, mu
ップと、 HU記デ一夕ス ト リームお び ηη ή付属情報を記録媒体 に記録するステップとを包含する。 And recording the HU data stream and ηηή additional information on a recording medium.
刖記付属情報を生成するステツプは 、 さらに、 複数の再生用 テ―タからなるグループ単位にァクセスするためのァクセスデ The step of generating the ancillary information further includes an access data for accessing a group of a plurality of reproduction data.
—夕を生成してもよい。 —May produce evenings.
前記付属情報を生成するステップは、 前記グループ単位を第 The step of generating the additional information includes:
1 サンプルとしたときの前記第 1 サンプルごとのアクセスデー 夕を生成し、 かつ、 前記拡張情報を第 2サンプルとしたときの 前記第 2サンプルごとのアクセスデータを生成してもよい。 前記データス ト リ一ムを生成するステップは、 記符号化ス ト リームおよび前記拡張情報を、 前記第 1サンプルごとおよび 前記第 2サンプルごとに多重化して前記データス 卜 リームを生 成してもよい。 It is also possible to generate access data for each first sample when one sample is used, and to generate access data for each second sample when the extended information is used as a second sample. The step of generating the data stream may include generating the data stream by multiplexing the encoded stream and the extension information for each of the first samples and for each of the second samples. .
前記付属情報を生成するステップは、 前記グル一プ単位と、 前記グループに含まれる 1以上の再生用データに関する前記拡 張情報とを 1 サンプルとしたときの、 前記サンプルごとのァク セスデ一夕を生成してもよい。  The step of generating the accessory information includes: setting an access data for each sample when the group unit and the extended information regarding one or more pieces of reproduction data included in the group are defined as one sample. May be generated.
前記データス ト リ一ムを生成するステップは 、 記符号化ス ト リームおよび前記拡張情報を、 前記サンプルしとに多重化し て前記データス ト リームを生成してもよい。  The step of generating the data stream may include generating the data stream by multiplexing the encoded stream and the extension information with the sample.
前記受信するステップは、 映像信号および音尸信号を受け取 り、 前記符号化ス ト リームを生成するステップは 、 前記映像信 号および前記音声信号をそれぞれ所定の符号化形式で符号化し て、 複数の映像のピクチャデータおよび複数の音声フレームの フレームデータを含む符号化ス ト リームを生成し、 前記拡張情 報を生成するステップは、 少なく とも各ピクチャデ一夕を特定 するための拡張情報を生成し、 前記付属情報を生成するステツ プは、 前記ピクチャデータ、 前記複数の音声フレームのフレー ムデ一夕および前記拡張情報の各々について、 少なく とも 2以 上のピクチャデータからなるグループ単位にアクセスするため のアクセスデータを生成して、 前記アクセスデータを含む付属 情報を生成してもよい。 前記拡張情報を生成するステップは、 さ らに前記複数の音声 フレームの各フレームデータを特定するための拡張情報を生成 してもよい。 The receiving step includes receiving a video signal and a sound signal, and generating the coded stream includes coding the video signal and the audio signal in a predetermined coding format, respectively, Generating an encoded stream including picture data of video and frame data of a plurality of audio frames, and generating the extended information, at least generating extended information for identifying each picture data; The step of generating the additional information includes an access for accessing the picture data, the frame data of the plurality of audio frames, and each of the extension information in a unit of at least two or more picture data. Data may be generated to generate additional information including the access data. The step of generating the extended information may further include generating extended information for specifying each frame data of the plurality of audio frames.
前記記録するステツプは、 前記データス ト リームおよび前記 付属情報を 1 つのデータファイルと して前記記録媒体に記録し てもよい。  The recording step may record the data stream and the additional information on the recording medium as one data file.
前記拡張情報を生成するステップは、 前記各再生用データの デ一夕サイズ、 表示時間、 復号時間を示す情報の少なく とも 1 つを前記拡張情報として生成してもよい。  The step of generating the extended information may include generating at least one of information indicating a data size, a display time, and a decoding time of each of the reproduction data as the extended information.
前記付属情報を生成するステップは、 前記拡張情報の既定値をさ らに含む前記付属情報を生成し、 前記拡張情報を生成するステツプ は、 前記既定値と異なる値を有する前記拡張情報を生成してもよい。 前記拡張情報を生成するステツプは、 前記映像信号の各ピクチャ データを復号するために参照される参照先ピクチャデータを特定す るための拡張情報を生成してもよい。  The step of generating the additional information includes generating the additional information further including a default value of the extended information, and the step of generating the extended information includes generating the extended information having a value different from the predetermined value. You may. The step of generating the extended information may include generating extended information for specifying reference destination picture data referred to for decoding each picture data of the video signal.
前記付属情報を生成するステツプは、 リンク情報をさらに含む前 記付属情報を生成し、 前記記録するステップは、 前記前記データス トリームを、 前記リンク情報によって指定される第 1データフアイ ルとして前記記録媒体に記録し、 前記付属情報を第 2データフアイ ルとして前記記録媒体に記録してもよい。  The step of generating the additional information includes the step of generating the additional information further including link information, and the step of recording includes setting the data stream as a first data file specified by the link information on the recording medium. And the additional information may be recorded on the recording medium as a second data file.
本発明によるデータ再生装置は、 記録媒体に記録されたデータを 再生する。 前記記録媒体には、 データス トリームおよび付属情報が 記録されている。 前記データス トリームは、 映像信号および音声信 号の少なくとも一方の信号が所定の符号化形式で符号化された再生 用デ一夕であって、 前記映像信号に対してはピクチャデ一夕および 前記音声信号に対してはフレームデータである再生用データを複数 含む符号化ストリーム、 および、 各再生用データを特定するための 拡張情報が多重化されている。 前記付属情報は、 1以上の再生用デ 一夕からなるグループ単位にアクセスするためのアクセスデータを 含んでいる。 前記データ再生装置は、 前記記録媒体から前記データ ストリームおよび前記付属情報を読み出して、 前記データス卜リー ムを前記符号化ストリームと前記拡張情報とに分離する再生部と、 前記符号化ストリームを復号化するス卜リーム復号部とを有する。 前記ストリーム復号部は、 前記付属情報のアクセスデータを解析し て前記グループ単位を特定し、 前記拡張情報に基づいて、 前記ダル ープ単位の各ピクチャデータを特定する解析部と、 特定された前記 各再生用データを復号する復号部とを備えている。 A data reproducing device according to the present invention reproduces data recorded on a recording medium. The recording medium stores a data stream and additional information. The data stream includes a video signal and an audio signal. A reproduction data in which at least one of the signals is encoded in a predetermined encoding format, wherein the video signal is a picture data and the audio signal is frame data. A coded stream including a plurality of data and extension information for specifying each data for reproduction are multiplexed. The additional information includes access data for accessing a group consisting of one or more playback data. A reproducing unit that reads the data stream and the additional information from the recording medium and separates the data stream into the encoded stream and the extended information; and decodes the encoded stream. And a stream decoding unit. The stream decoding unit analyzes the access data of the additional information to identify the group unit, and, based on the extended information, identifies each picture data in the group unit. A decoding unit for decoding each reproduction data.
本発明によるデータ再生方法は、 記録媒体に記録されたデータを 再生する。 前記記録媒体には、 データストリームおよび付属情報が 記録されている。 前記データストリームは、 映像信号および音声信 号の少なくとも一方の信号が所定の符号化形式で符号化された再生 用データであって、 前記映像信号に対してはピクチャデータおよび 前記音声信号に対してはフレームデータである再生用データを複数 含む符号化ストリーム、 および、 各再生用データを特定するための 拡張情報が多重化されている。 前記付属情報は、 1以上の再生用デ 一夕からなるグループ単位にアクセスするためのアクセスデ一夕を 含んでいる。 前記データ再生方法は、 前記記録媒体から前記デ一夕 ス トリームおよび前記付属情報を読み出して、 前記データス トリー ムを前記符号化ス トリームと前記拡張情報とに分離するステップと、 前記符号化ス トリームを復号化するステップとを有する。 前記符号 化ストリームを復号化するステップは、 前記付属情報のアクセスデ 一夕を解析して前記グループ単位を特定するステツプと、 前記拡張 情報に基づいて、 前記グループ単位の各再生用データを特定するス テツプと、 特定された前記各再生用データを復号するステツプとを 包含している。 A data reproducing method according to the present invention reproduces data recorded on a recording medium. The recording medium stores a data stream and additional information. The data stream is reproduction data in which at least one of a video signal and an audio signal is encoded in a predetermined encoding format, and the video stream is picture data and the audio signal is audio data. A coded stream including a plurality of reproduction data, which is frame data, and extended information for specifying each reproduction data are multiplexed. The auxiliary information includes an access data for accessing a group of one or more data for reproduction. Contains. Reading the data stream and the additional information from the recording medium, and separating the data stream into the encoded stream and the extended information; and Decoding the data. The step of decoding the encoded stream includes a step of analyzing the access data of the additional information to identify the group unit, and identifying each reproduction data in the group unit based on the extended information. And a step of decoding the specified reproduction data.
本発明によるデータ構造は、 データス トリームおよび付属情報を 含んでいる。 前記データス トリームは、 映像信号および音声信号の 少なくとも一方の信号が所定の符号化形式で符号化された再生用デ 一夕であって、 前記映像信号に対してはピクチャデータおよび前記 音声信号に対してはフレームデータである再生用データを複数含む 符号化ストリーム、 および、 各再生用デ一夕を特定するための拡張 情報が多重化されている。 前記付属情報は、 1以上の再生用データ からなるグループ単位にアクセスするためのアクセスデータを含ん でいる。  The data structure according to the present invention includes a data stream and additional information. The data stream is a reproduction data in which at least one of a video signal and an audio signal is encoded in a predetermined encoding format, and is a picture data for the video signal and a video data for the audio signal. In other words, an encoded stream including a plurality of pieces of reproduction data as frame data, and extended information for specifying each reproduction data are multiplexed. The additional information includes access data for accessing a group consisting of one or more pieces of reproduction data.
本発明による記録媒体には、 データス卜リームおよび付属情報が 記録されている。 前記データス トリームは、 映像信号および音声信 号の少なくとも一方の信号が所定の符号化形式で符号化された再生 用デ一夕であって、 前記映像信号に対してはピクチャデータおよび 前記音声信号に対してはフレームデータである再生用データを複数 含む符号化ストリーム、 および、 各再生用データを特定するための 拡張情報が多重化されている。 前記付属情報は、 1以上の再生用デ —夕からなるグループ単位にアクセスするためのアクセスデ一夕を 含んでいる。 図面の簡単な説明 In the recording medium according to the present invention, a data stream and additional information are recorded. The data stream is a playback data in which at least one of a video signal and an audio signal is encoded in a predetermined encoding format, and is a picture data and an audio signal for the video signal. In contrast, multiple playback data that is frame data The coded stream including the information and the extended information for specifying each data for reproduction are multiplexed. The additional information includes an access data for accessing a group of one or more data for reproduction. BRIEF DESCRIPTION OF THE FIGURES
図 1は、 MP 4ファイル 1の構成を示す図である。  FIG. 1 is a diagram showing a configuration of the MP4 file 1.
図 2は、 MP 4ファイルの他の構成を示す図である。  FIG. 2 is a diagram showing another configuration of the MP4 file.
図 3は、 MP 4ファイル 1のデ一夕構造を示す図である。  FIG. 3 is a diagram showing the data structure of the MP4 file 1.
図 4は、 従来の再生装置 40 0のブロック図である。  FIG. 4 is a block diagram of a conventional reproducing apparatus 400.
図 5は、 MP 4ファイル 1が記録される D VD— RAMディスク 1 3 1の領域 1 3 2、 1 3 3を示す図である。  FIG. 5 is a diagram showing the areas 1 3 2 and 1 3 3 of the DVD-RAM disk 13 1 where the MP4 file 1 is recorded.
図 6は、 複数フレームの GO P 1 4を 1サンプルに対応させた M P 4ファイル 1 1のデ一夕構造を示す図である。  FIG. 6 is a diagram showing a data structure of an MP4 file 11 in which GOPs 14 of a plurality of frames correspond to one sample.
図 7 ( a) 〜 (d) は、 MP E G 2映像ストリームの階層化され たデータ構造を示す図である。  FIGS. 7A to 7D are diagrams showing a hierarchical data structure of the MPEG2 video stream.
図 8 ( a) 〜 (d) は、 MP E G 2映像ストリームでエラ一が発 生したときのエラー伝播の様子を示す図である。  FIGS. 8 (a) to 8 (d) are diagrams showing the state of error propagation when an error occurs in the MPEG2 video stream.
図 9 ( a) 〜 (d) は、 ユニークコードを持たない動画ストリー ムにおいて復号エラーが発生したときのエラー伝播の様子を示す図 である。  FIGS. 9 (a) to 9 (d) are diagrams showing the state of error propagation when a decoding error occurs in a video stream having no unique code.
図 1 0 (a) はフレームスキップが発生したサンプル (GOP) を模式的に示す図であり、 図 1 0 (b) はサンプルの表示時間長に 対して均等に割り当てられた各フレームの表示時間長を示す図であ り、 図 1 0 (c ) はサンプルの表示時間長に対する各フレームの正 しい表示時間長を示す図である。 Figure 10 (a) is a diagram schematically showing a sample (GOP) in which frame skipping has occurred, and Figure 10 (b) shows the sample display time length. FIG. 10C is a diagram showing the display time length of each frame equally allocated, and FIG. 10C is a diagram showing the correct display time length of each frame with respect to the sample display time length.
図 1 1は、 実施形態 1によるデータ処理装置 1 0のブロック図で ある。  FIG. 11 is a block diagram of the data processing device 10 according to the first embodiment.
図 1 2は、 データ処理装置 1 0によって記録される MP 4フアイ ル 2 1の構成を示す図である。  FIG. 12 is a diagram showing the configuration of the MP4 file 21 recorded by the data processing device 10.
図 1 3は、 デ一夕処理装置 1 0の記録処理の手順を示すフローチ ヤー卜である。  FIG. 13 is a flowchart showing the procedure of the recording process of the overnight processing device 10.
図 1 4 (a) 〜 (d) は、 MP 4ファイル 2 1を構成する動画ス トリームにおいて、 復号エラ一が発生したときのエラー伝播の様子 を示す図である。  FIGS. 14 (a) to 14 (d) are diagrams showing the state of error propagation when a decoding error occurs in the moving picture stream constituting the MP4 file 21. FIG.
図 1 5は、 各ビデオフレームを構成するスライスの数および各ス ライスのデータサイズの情報を記述した拡張情報の例を示す図であ る。  FIG. 15 is a diagram showing an example of extended information describing information on the number of slices constituting each video frame and the data size of each slice.
図 1 6 (a) 〜 (d) は、 動画ストリームにおいて復号エラーが 発生したときのエラ一伝播がスライス内で収まる様子を示す図であ る。  Figs. 16 (a) to 16 (d) are diagrams showing how error propagation when a decoding error occurs in a video stream falls within a slice.
図 1 7は、 各ビデオフレームの表示持続時間を記述した拡張情報 の例を示す図である 。  FIG. 17 is a diagram showing an example of extended information describing the display duration of each video frame.
図 1 8 (a) はフレームスキップが発生したビデオフレーム群を 模式的に示す図であり、 図 1 8 ( b) は表示時間をすベてのフレー ムで均一に設定したときのビデオフレーム群を模式的に示す図であ る。 Figure 18 (a) is a diagram schematically showing a group of video frames in which frame skipping has occurred.Figure 18 (b) is a group of video frames when the display time is set to be uniform for all frames. FIG. You.
図 1 9は、 ボックス 4 0のデータ構造を示す図である。  FIG. 19 is a diagram showing a data structure of the box 40.
図 2 0 ( a) は基本部 5 0のデータ構造を示す図であり、 図 2 0 ( b) は moov5 2のデータ構造を示す図である。  FIG. 20 (a) is a diagram showing a data structure of the basic unit 50, and FIG. 20 (b) is a diagram showing a data structure of moov52.
図 2 1 ( a) は ak5 3のデ一夕構造を示す図であり、 図 2 1 FIG. 21 (a) is a diagram showing the data structure of ak53, and FIG.
( ) はボックス stsd 5 6内の複数のエントリーに設定されたフ ィールド frame— count を示す図である。 () Is a figure which shows the field frame_count set to several entries in the box stsd56.
図 2 2は、 基本部 5 0と拡張部 6 0とを含む M P 4ファイルのデ 一夕構造を示図である。  FIG. 22 is a diagram showing a data structure of an MP4 file including a basic part 50 and an extended part 60.
図 2 3は、 moof 6 1のデ一夕構造を示す図である。  FIG. 23 is a diagram showing the data structure of moof 61. FIG.
図 2 4は、 実施形態 2によるデータ処理装置 1 7 0の記録機能に 関するブロック図である。  FIG. 24 is a block diagram related to a recording function of the data processing device 170 according to the second embodiment.
図 2 5は、 ヘッダ生成部 1 7 5が復号開始時間の差分値、 および、 サンプルを構成するフレーム数の決定手順を示すフローチヤ一トで ある。  FIG. 25 is a flowchart showing a procedure in which the header generation unit 175 determines the difference value of the decoding start time and the number of frames forming the sample.
図 2 6は、 ヘッダ生成部 1 7 5における、 サンプルを構成するフ レームの決定手順を示すフローチヤ一トである。  FIG. 26 is a flowchart showing a procedure of determining a frame forming a sample in the header generation unit 175.
図 2 7は、 決定されたサンプルとフレームとの関係を示す図であ る。  FIG. 27 is a diagram showing the relationship between the determined sample and the frame.
図 2 8は、 決定されたサンプルとフレームとの関係を示す他の例 を示す図である。  FIG. 28 is a diagram illustrating another example showing the relationship between the determined sample and the frame.
図 2 9は、 符号化データ内のフレームをサンプルに多重化する手 順を示すフローチャートである。 図 3 0は、 GO P内のフレームが格納されたサンプルを示す図で ある。 FIG. 29 is a flowchart showing a procedure for multiplexing frames in encoded data into samples. FIG. 30 is a diagram showing a sample in which a frame in a GOP is stored.
図 3 1は、 実施形態 4によるデータ処理装置 2 0 0のブロック図 である。  FIG. 31 is a block diagram of a data processing device 200 according to the fourth embodiment.
図 3 2 (a) 〜 (c ) は、 サンプルの構造、 およびサンプルに含 まれる各フレームに関しての、 次フレームとの復号時間の差分値の 例を示す図である。  FIGS. 32 (a) to 32 (c) are diagrams showing examples of the structure of a sample and the difference between the decoding time of the next frame and each frame included in the sample.
図 3 3 (a) 〜 (c ) は、 M P 4ファイルのサンプル構造を示す 図である。  FIGS. 33 (a) to 33 (c) show sample structures of the MP4 file.
図 34 (a) は表示時間およびアクセスユニッ トをまとめて格納 したサンプルを示す図であり、 図 34 ( b ) は図 34 (a) のサン プル構造を実現するシンタックス例を示す図であり、 図 34 ( c ) は表示時間情報の次にアクセスュニッ 卜のサイズを示すフィ一ルド を追加した例を示す図である。  Fig. 34 (a) is a diagram showing a sample in which the display time and the access unit are stored together, and Fig. 34 (b) is a diagram showing an example of syntax for realizing the sample structure of Fig. 34 (a). FIG. 34 (c) is a diagram showing an example in which a field indicating the size of the access unit is added next to the display time information.
図 3 5は、 第 5の実施形態によるデータ処理装置 3 0 0の構成を 示すブロック図である。  FIG. 35 is a block diagram illustrating a configuration of a data processing device 300 according to the fifth embodiment.
図 3 6は、 サンプル解析部 3 0 7がサンプルからピクチャデ一夕 を取得する処理の手順を示すフローチヤ一トである。  FIG. 36 is a flowchart showing a procedure of a process in which the sample analysis unit 307 acquires picture data from a sample.
図 3 7は、 アクセスュニッ卜のデータ構造を示す図である。  FIG. 37 is a diagram showing the data structure of the access unit.
図 3 8 ( a ) はマルチ A Uヘッダボックス (Multi AU header Figure 38 (a) shows a Multi AU header box (Multi AU header box).
Box) および複数のアクセスュニッ トを格納したサンプルのデータ 構造を示す図であり、 図 3 8 (b) はサンプルヘッダのデ一夕構造 を示す図である。 図 3 9は、 サンプルヘッダをサンプル内の最終データとして配置 する際の例を示す図である。 Box) and a sample data structure storing a plurality of access units. FIG. 38 (b) is a diagram showing a data structure of a sample header. FIG. 39 is a diagram showing an example when the sample header is arranged as the last data in the sample.
図 4 0 ( a ) は mtsz のデータ構造を示す図であり、 図 4 0 (b) は mdta のデータ構造を示す図であり、 図 4 0 ( c ) は mcta のデータ構造を示す図である。  FIG. 40 (a) is a diagram showing the data structure of mtsz, FIG. 40 (b) is a diagram showing the data structure of mdta, and FIG. 40 (c) is a diagram showing the data structure of mcta .
図 4 1 ( a) はボックスを使用したときのサンプルヘッダの初期 値設定部分のシンタックス例を示す図であり、 図 4 1 ( ) はポッ クスを使用しないときのサンプルへッダの初期値設定部分のシン夕 ックス例を示す図である。  Figure 41 (a) shows an example of the syntax of the initial value setting part of the sample header when a box is used.Figure 41 () shows the initial value of the sample header when no box is used. It is a figure showing the example of a syntax of a setting part.
図 4 2 ( a) 〜 (d) は、 それぞれ mahd、 mtsz, mdta, および mctaの各シンタックスの例を示す図である。  FIGS. 42 (a) to (d) show examples of the respective syntaxes of mahd, mtsz, mdta, and mcta.
図 4 3 (a) 〜 (c ) は、 サンプルヘッダにデータを格納するた めの第 1の例を示す図である。  FIGS. 43 (a) to (c) are diagrams showing a first example for storing data in a sample header.
図 44 (a) および (b) は、 サンプルヘッダにデータを格納す るための第 2の例を示す図である。  FIGS. 44 (a) and (b) are diagrams showing a second example for storing data in the sample header.
図 4 5 ( a) は 1サンプル内のアクセスユニッ トの各々にサンプ ルヘッダを付加した例を示す図であり、 図 4 5 (b) は N未満の複 数のアクセスュニッ トに 1つのサンプルへッダを付加した例を示す 図である。  Fig. 45 (a) is a diagram showing an example in which a sample header is added to each of the access units in one sample, and Fig. 45 (b) is a diagram showing one sample to multiple access units less than N. FIG. 14 is a diagram showing an example in which a character is added.
図 4 6 ( a) および (b) は、 ボックス構造を用いないときのサ ンプル構造およびシンタツクス例を示す図である。  FIGS. 46 (a) and (b) are diagrams showing a sample structure and a syntax example when the box structure is not used.
図 4 7は、 サンプル解析部 3 0 7がサンプルからピクチャデータ を取得する処理の手順を示すフローチヤ一卜である。 図 4 8は、 サンプルを構成するアクセスュニッ トのサイズを取得 する動作を示すフローチヤ一トである。 FIG. 47 is a flowchart showing the procedure of a process in which the sample analysis unit 307 acquires picture data from a sample. FIG. 48 is a flowchart showing the operation of acquiring the size of the access unit constituting the sample.
図 4 9は、 一連のピクチャと各ピクチャの符号化タイプを示す図 である。  FIG. 49 is a diagram showing a series of pictures and the coding type of each picture.
図 5 0 ( a) 〜 (c ) は、 ビデオストリームとビデオストリーム を構成するレイヤ 0および 1を示す図である。  FIGS. 50 (a) to (c) are diagrams showing a video stream and layers 0 and 1 constituting the video stream.
図 5 1 ( a) 〜 (c ) は、 サブシーケンス、 レイヤ関連 SEIのシ ンタックスを示す図である。  Fig. 51 (a) to (c) are diagrams showing the syntax of subsequences and layer-related SEIs.
図 5 2 ( a) 〜 (d) は、 ビデオストリームとビデオストリーム を構成するレイヤ 0、 1、 2を示す図である。  FIGS. 52 (a) to (d) are diagrams showing a video stream and layers 0, 1, and 2 constituting the video stream.
図 5 3 ( a) はレイヤ用 sbgp のテーブルデータを示す図であり、 図 5 3 (b) はサブシーケンス用 sbgp のテーブルデータを示す図 である。  FIG. 53 (a) is a diagram showing table data of sbgp for layers, and FIG. 53 (b) is a diagram showing table data of sbgp for subsequences.
図 5 4 ( a) 〜 ( c ) は、 AVC- G0Pの構造を示す図である。  FIGS. 54 (a) to (c) are diagrams showing the structure of AVC-G0P.
図 5 5 ( a ) 〜 ( d ) は、 ビデオストリームとビデオストリーム を構成するレイヤ 0、 1、 2を示す図である。  55 (a) to 55 (d) are diagrams showing a video stream and layers 0, 1, and 2 constituting the video stream.
図 5 6 ( a) 〜 (c ) は、 図 5 5 ( a) に示す AVC- G0Pに格納さ れる SSL、 SS SSIの各 SEIのフィールド値を示す図である。  FIGS. 56 (a) to 56 (c) are diagrams showing the field values of each SEI of SSL and SS SSI stored in the AVC-G0P shown in FIG. 55 (a).
図 5 7 ( a) および (b) は、 図 5 5の AVC- G0Pデータを M P 4 サンプルに格納したときのサンプル構造を示す図である。  FIGS. 57 (a) and (b) are diagrams showing a sample structure when the AVC-G0P data of FIG. 55 is stored in MP 4 samples.
図 5 8 ( a) はサンプル · ッ一 · レイヤ ·サブシーケンスボック ス stls のシンタックス例を示す図であり、 図 5 8 (b) は図 5 5 の AVC- G0P を 1サンプルに格納したときの stls のテーブル構造を 示す図である。 Fig. 58 (a) is a diagram showing an example of the syntax of the sample, layer, subsequence box stls, and Fig. 58 (b) shows the case where the AVC-G0P in Fig. 55 is stored in one sample. Table structure of stls FIG.
図 5 9は、 選択したピクチャのみを再生する際のサンプル解析部 3 0 7および復号表示部 308の処理の手順を示すフローチヤ一ト である。  FIG. 59 is a flowchart showing the processing procedure of the sample analyzer 307 and the decoding display 308 when only the selected picture is reproduced.
図 6 0 ( a) は記録媒体の例としてフレキシブルディスク (F D) の物理フォーマットの例を示す図であり、 図 6 0 ( b) はフレ キシブルディスクの正面からみた外観、 断面構造、 及びフレキシブ ルディスクを示す図であり、 図 6 0 ( c ) はフレキシブルディスク F Dにプログラムの書き込みおよび読み出しを行うための機器構成 を示す図である。 発明を実施するための最良の形態  Fig. 60 (a) is a diagram showing an example of the physical format of a flexible disk (FD) as an example of a recording medium, and Fig. 60 (b) is the appearance, cross-sectional structure, and flexible structure of a flexible disk viewed from the front. FIG. 60 (c) is a diagram showing a disk, and FIG. 60 (c) is a diagram showing a device configuration for writing and reading a program to and from a flexible disk FD. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 添付の図面を参照しながら、 本発明によるデータ処理装置 の実施形態を説明する。  Hereinafter, an embodiment of a data processing device according to the present invention will be described with reference to the accompanying drawings.
(実施形態 1 )  (Embodiment 1)
図 1 1は、 本実施形態によるデータ処理装置 1 0の機能ブロック の構成を示す。 本明細書では、 データ処理装置 1 0は MP 4フアイ ルの記録機能と再生機能の両方を有するとして説明する。 M P 4フ アイルは、 MP EG 4システム規格 ( I S OZ I E C 1449 6 - 1 ) 形式のファイルであるとする。 データ処理装置 1 0は、 MP 4ファイルを生成して記録媒体 1 3 1に書き込むことができ、 かつ、 記録媒体 1 3 1に書き込まれた MP 4ストリームを再生することが できる。 記録媒体 1 3 1は例えば DVD _ RAMディスクである (以下、 「 DVD— RAMディスク 1 3 1」 と称する) 。 データ処 理装置 1 0は、 例えば DVDレコーダとして実現される。 なお、 M P 4ファイルのデータ構造は、 図 1 2を参照しながら後に説明する。 以下、 データ処理装置 1 0の記録機能に関連する構成要素および 動作を説明し、 その後、 再生機能に関連する構成要素および動作を 説明する。 FIG. 11 shows a configuration of functional blocks of the data processing device 10 according to the present embodiment. In this specification, the data processing apparatus 10 is described as having both a recording function and a reproducing function of an MP4 file. It is assumed that the MP4 file is a file of the MPEG4 system standard (IS OZ IEC 1449 6-1) format. The data processing device 10 can generate an MP4 file and write it to the recording medium 131, and can play back the MP4 stream written to the recording medium 131. The recording medium 1 3 1 is, for example, a DVD_RAM disk (Hereinafter referred to as “DVD—RAM disk 13 1”). The data processing device 10 is realized, for example, as a DVD recorder. The data structure of the MP4 file will be described later with reference to FIG. Hereinafter, components and operations related to the recording function of the data processing device 10 will be described, and then components and operations related to the reproduction function will be described.
まず、 データ処理装置 1 0の MP 4ファイルの記録機能を説明す る。 この機能に関連する構成要素として、 データ処理装置 1 0は、 映像信号受信部 1 0 0と、 動画ストリーム生成部 1 0 1と、 音声信 号受信部 1 0 2と、 付属情報生成部 1 0 3と、 拡張情報生成部 1 0 4と、 多重化部 1 0 5と、 記録部 1 2 0と、 光ピックアップ 1 3 0 とを備えている。  First, the MP4 file recording function of the data processing device 10 will be described. As the components related to this function, the data processing device 10 includes a video signal receiving unit 100, a video stream generating unit 101, an audio signal receiving unit 102, and an auxiliary information generating unit 10. 3, an extension information generating unit 104, a multiplexing unit 105, a recording unit 120, and an optical pickup 130.
映像信号受信部 1 0 0は映像信号入力端子であり、 映像デ一夕を 表す映像信号を受け取る。 音声信号受信部 1 0 2は音声信号入力端 子であり、 音声デ一夕を表す音声信号を受け取る。 例えば、 映像信 号受信部 1 0 0および音声信号受信部 1 0 2は、 放送電波を受信す るチューナ部 (図示せず) の映像出力部および音声出力部と接続さ れ、 それぞれから映像信号および音声信号を受け取る。  The video signal receiving unit 100 is a video signal input terminal, and receives a video signal representing a video image. The audio signal receiving unit 102 is an audio signal input terminal, and receives an audio signal representing an audio signal. For example, the video signal receiving section 100 and the audio signal receiving section 102 are connected to a video output section and an audio output section of a tuner section (not shown) for receiving a broadcast radio wave, and the video signal receiving section 100 and the audio signal receiving section 102 respectively receive the video signal. And receive audio signals.
動画ストリーム生成部 1 0 1は、 映像信号および音声信号を受け 取り、 例えば MP EG 2や、 MP E G 4 (MP E G_ 4 V i s u a l、 MP E G— 4 AVC (Ad v a n c e d V i d e o C o d i n g ) 等の規格に基づいた符号化を行い、 動画ストリーム (符号化ストリーム) を生成する。 付属情報生成部 1 0 3は、 MP 4ファイル規格の付属情報を生成 する。 付属情報は、 符号化ストリームのサンプル単位にアクセスす るためのアクセスデ一夕を含む。 「サンプル」 とは、 付属情報にお ける最小管理単位であり、 サンプルごとのデータサイズ、 復号時間、 再生時間等の情報を記録している。 1サンプルは、 ランダムにァク セスすることが可能なデータ単位である。 付属情報のより詳しい内 容は後述する。 The video stream generation unit 101 receives a video signal and an audio signal, and outputs, for example, an MP EG 2 or an MP EG 4 (MP EG_4 Visual, MP EG-4 AVC (Advanced Video Coding)). Performs encoding based on the standard and generates a video stream (encoded stream). The additional information generation unit 103 generates additional information of the MP4 file standard. The ancillary information includes an access data for accessing the sample unit of the encoded stream. “Sample” is the minimum management unit in the attached information, and records information such as data size, decoding time, and playback time for each sample. One sample is a data unit that can be accessed at random. The details of the additional information will be described later.
拡張情報生成部 1 04は、 サンプル内の各フレームデータを特定 するための属性を示す拡張情報を生成する。 ここでいう 「属性」 と は、 例えば各フレームデータのデータサイズ、 復号時間、 表示時間 を表す。 サンプルは、 ビデオフレームのフレームデータを表すビデ オサンプル (Video Sample) であってもよいし、 オーディオフレー ムのフレームデータを表すオーディオサンプル (Audio Sample) で あってもよい。  The extended information generation unit 104 generates extended information indicating an attribute for specifying each frame data in the sample. The “attribute” here indicates, for example, the data size, decoding time, and display time of each frame data. The sample may be a video sample (Video Sample) representing frame data of a video frame, or an audio sample (Audio Sample) representing frame data of an audio frame.
多重化部 1 0 5は、 符号化ストリームおよび拡張情報を多重化し て動画ストリームを生成する。 このストリームには、 映像ストリー ムおよび または音声ストリーム、 および、 拡張情報生成部 1 04 で生成された拡張情報が格納されている。  The multiplexing unit 105 multiplexes the coded stream and the extension information to generate a moving image stream. This stream stores a video stream and / or an audio stream, and the extended information generated by the extended information generating unit 104.
記録部 1 2 0は、 ピックアップ 1 3 0を制御し、 DVD- RAM ディスク 1 3 1の特定の位置 (アドレス) にデータを記録する。 よ り具体的には、 記録部 1 2 0は、 多重化部 1 0 5において生成され た動画ストリームを MP 4ファイルとして A Vデータ領域 1 3 3に 記録し、 付属情報生成部 1 0 3において生成された付属情報を MP 4ファイルとして管理情報領域 1 3 2に記録する。 The recording unit 120 controls the pickup 130 and records data at a specific position (address) of the DVD-RAM disk 131. More specifically, the recording unit 120 records the video stream generated in the multiplexing unit 105 as an MP4 file in the AV data area 133, and generates the video stream in the auxiliary information generation unit 103. Attached information to MP 4 files are recorded in the management information area 1 3 2.
なお、 記録部 1 2 0は、 動画ストリームおよび付属情報を別個の M P 4フアイルではなく、 1つの MP 4ファイルにして DVD— R AMディスク 1 3 1に記録してもよい。 また、 記録部 1 2 0は付属 情報を A Vデータ領域 1 3 3に記録してもよい。  The recording unit 120 may record the moving picture stream and the attached information as one MP4 file, instead of a separate MP4 file, on the DVD-RAM disc 131. Further, the recording unit 120 may record the attached information in the AV data area 133.
図 1 2は、 データ処理装置 1 0によって記録される MP 4フアイ ル 2 1の構成を示す。 MP 4ファイル 2 1は、 付属情報 2 2および 動画ストリーム 2 3を含んでいる。  FIG. 12 shows the configuration of the MP4 file 21 recorded by the data processing device 10. The MP4 file 21 includes additional information 22 and a video stream 23.
付属情報 2 2は、 動画ストリーム 2 3内の所定数のビデオフレー ムデータおよび またはオーディオフレームデータのまとまり (集 合) を 1サンプルとしたときの、 各サンプルのサイズ、 格納先アド レス、 再生時間等の情報である。  The auxiliary information 22 indicates the size, storage address, playback time, etc. of each sample when a predetermined number of video frame data and / or audio frame data in the video stream 23 is taken as one sample. Information.
動画ストリーム 2 3は、 複数のビデオサンプル (video sample) および複数のビデオサイズサンプル (video size sample) を含む。  The video stream 23 includes a plurality of video samples and a plurality of video size samples.
ビデオサンプルは、 複数のビデオフレームデータの集合として付 属情報 2 2によって規定されている。 本実施形態では例として 1 ビ デオサンプル (video sa即 le) を 1つのグループォブピクチャ (Group Of Picture ; GOP) 2 5に一致させているが、 G〇 P 構造の有無とは無関係に、 所定のフレームデータの集合を 1 ビデオ サンプルにしてもよい。  The video sample is defined by the additional information 22 as a set of a plurality of video frame data. In the present embodiment, for example, one video sample (video sa immediate le) is matched with one group of picture (Group Of Picture; GOP) 25, but regardless of the presence or absence of the G〇P structure, A set of predetermined frame data may be one video sample.
ビデオサイズサンプルは、 対応するビデオサンプルに対する拡張 情報を含んでいる。 図 1 2では、 0番目のビデオサイズサンプル 2 4に規定される拡張情報として、 ビデオサンプル # 0の各ビデオフ レーム # 0〜#Mのフレームサイズが記述されている。 The video size sample contains extension information for the corresponding video sample. In FIG. 12, each of the video frames of video sample # 0 is The frame sizes of frames # 0 to #M are described.
なお、 図 1 2では、 ビデオサイズサンプルに続いてそれに対応す るビデオサンプルが記録されているが、 これは例であり、 他の配置 をとることもできる。 また、 ここでは 1サンプル == 1チャンク (図 3) としているため、 特にチャンクには言及しない。 しかし、 従来 の M P 4フアイルのような複数のサンプルを 1チャンクとして取り 扱うことは可能である。 例えば、 チャンク内のサンプルは復号時間 に関して昇順に、 かつ、 連続的に格納することができる。 このとき でも、 本実施形態によるデータ構造を有する MP 4ファイルの記録 および再生は制限されることはない。  In FIG. 12, a video sample corresponding to the video size sample is recorded after the video size sample, but this is an example, and other arrangements can be taken. Here, 1 sample == 1 chunk (Fig. 3), so we do not mention chunks in particular. However, it is possible to treat multiple samples like a conventional MP4 file as one chunk. For example, the samples in a chunk can be stored in ascending order with respect to the decoding time and continuously. At this time, recording and reproduction of the MP4 file having the data structure according to the present embodiment are not limited.
本実施形態の主要な特徴の一つは、 複数のビデオフレームデータ を 1 ビデオサンプルとして管理するとともに、 サンプル内の各フレ 一ムデ一夕を特定するための属性 (フレームサイズ、 表示持続期間 等) を示す拡張情報を、 別個のサンプルとして動画ストリーム中に 設けたことにある。 付属情報 2 2には、 ビデオサンプルのアクセス データとともに、 拡張情報を記述したサンプルも個別にアクセスデ 一夕が付属情報 2 2において管理され、 それぞれに対するランダム アクセスが可能になる。 詳しく説明する。 図 1 2において動画ストリームの最初のビデオサ ンプル (video sample# 0 ) には (M + 1 ) 個のビデオフレームデ —夕が格納されている。 動画ストリームの最初のビデオサイズサン プル (video size sample# 0 ) には、 最初のビデオサンプルと同 じ数である (M+ 1 ) 個のフレームサイズの情報が格納されている。 同様に動画ストリームの先頭から数えて (N+ 1 ) 番目のビデオサ ンプル (video sa即 le#N) には (L + 1 ) 個のビデオフレームデ 一夕が格納されている。 動画ス トリームの先頭から数えて (N + 1 ) 番目のビデオサイズサンプル (video size sample#N) には (L + 1 ) 個のフレームサイズの情報が格納されている。 One of the main features of the present embodiment is that a plurality of video frame data are managed as one video sample, and attributes (frame size, display duration, etc.) for specifying each frame in the sample are set. Is provided in the video stream as a separate sample. In the additional information 22, the access data of the sample describing the extended information as well as the access data of the video sample is individually managed in the additional information 22, and random access to each is enabled. explain in detail. In FIG. 12, the first video sample (video sample # 0) of the video stream stores (M + 1) video frame data. The first video size sample (video size sample # 0) of the video stream contains the same as the first video sample. The information of (M + 1) frame sizes, which is the same number, is stored. Similarly, the (N + 1) th video sample (video sa immediately le # N) counted from the beginning of the video stream stores (L + 1) video frame data. (L + 1) frame size information is stored in the (N + 1) th video size sample (video size sample # N) counted from the beginning of the video stream.
上述のように、 動画ストリーム中にビデオサンプルとビデオサイ ズサンプルを同じ数だけ配置し、 それぞれビデオフレームに対する フレームデータとフレームサイズ情報とを同じ数だけ格納すること により、 フレームサイズ情報とそれに対応するビデオフレームの関 連付けが容易に実現できる。 また、 付属情報のビデオトラックには 各ビデオサンプルに対するアクセスデータが格納され、 ビデオサイ ズトラックには各ビデオサイズサンプルに対するアクセスデータが 格納される。 従って、 付属情報とビデオサイズサンプルに含まれる 拡張情報とを利用して、 再生時に特定のビデオフレームのフレーム サイズ情報を動画ストリ一ムから取得することができる。  As described above, by arranging the same number of video samples and video size samples in the video stream and storing the same number of frame data and frame size information for each video frame, the frame size information and the corresponding Video frames can be easily associated. In addition, access data for each video sample is stored in the video track of the auxiliary information, and access data for each video size sample is stored in the video size track. Therefore, the frame size information of a specific video frame can be obtained from the moving picture stream at the time of reproduction using the additional information and the extended information included in the video size sample.
なお、 説明を簡単にするため映像に関する説明に限っているが、 サンプル内にはオーディオフレームデータを格納することもできる。 このときも同様に、 所定数のオーディオフレームデータの集合を 1 オーディオサンプルとして取り扱えばよい。 付属情報 2 2には、 各 オーディオサンプルのアクセスデータを記述したオーディオトラッ クと、 各オーディォサイズサンプルに対するアクセスデータを規定 するォ一ディォサイズトラックとが記述される。 オーディォサイズ サンプルには、 各オーディオフレームのフレームサイズが記述され る。 For simplicity, the explanation is limited to video, but audio frame data can be stored in the sample. At this time, similarly, a set of a predetermined number of audio frame data may be handled as one audio sample. The additional information 22 describes an audio track that describes access data of each audio sample and an audio size track that specifies access data for each audio size sample. Audio size The sample describes the frame size of each audio frame.
次に、 図 1 3を参照しながら、 データ処理装置 1 0の記録動作を 説明する。 以下の記録動作によって、 上述のデータ構造を有する M P 4ファイル 2 1が D V D— R A Mディスク 1 3 1に記録される。 図 1 3は、 データ処理装置 1 0の記録処理の手順を示す。 まず、 ステップ S 1 1において、 映像信号が受信されると、 動画ストリー ム生成部 1 0 1は映像の各フレームを所定の符号化手順によって符 号化する。 ステップ S 1 2では、 拡張情報生成部 1 0 4は、 符号化 された各フレームのフレームサイズを示す拡張情報を生成する。 符 号化は動画ス トリーム生成部 1 0 1 によって実行されるため、 拡張 情報生成部 1 0 4は、 動画ストリーム生成部 1 0 1の符号化結果を 利用して、 各フレームサイズ等の情報を拡張情報として生成する。 ステップ S 1 3では、 付属情報生成部 1 0 3が、 1 G O Pを構成 するフレームデ一夕を 1 ビデオサンプルに対応させることを決定す ると、 その決定に基づいて、 多重化部 1 0 5はビデオサンプル単位 の拡張情報 (ビデオサイズサンプル) を取得する。 そしてステップ S 1 4において、 多重化部 1 0 5は、 各ビデオサンプルおよび対応 する各拡張情報を多重化して動画ス卜リームデータを生成する。 次 に、 付属情報生成部 1 0 3は、 各ビデオサイズサンプルへのァクセ スデ一夕と、 各ビデオサンプルへのアクセスデータとを含む付属情 報を生成する。 そして、 記録部 1 2 0は、 符号化ストリームデ一夕 および付属情報に基づいて動画ストリームを生成し、 M P 4フアイ ルとして DVD— RAMディスク 1 3 1に記録する。 Next, the recording operation of the data processing device 10 will be described with reference to FIG. By the following recording operation, the MP4 file 21 having the above data structure is recorded on the DVD-RAM disk 131. FIG. 13 shows a procedure of a recording process of the data processing device 10. First, in step S11, when a video signal is received, the moving picture stream generator 101 encodes each frame of the video according to a predetermined encoding procedure. In step S12, the extension information generation unit 104 generates extension information indicating the frame size of each encoded frame. Since encoding is performed by the video stream generator 101, the extended information generator 104 uses the encoding result of the video stream generator 101 to encode information such as each frame size. Generate as extended information. In step S13, when the auxiliary information generation unit 103 determines that the frame data constituting one GOP corresponds to one video sample, the multiplexing unit 105 determines based on the determination. Obtains extended information (video size samples) in video sample units. Then, in step S14, the multiplexing unit 105 multiplexes each video sample and each corresponding extended information to generate moving image stream data. Next, the additional information generation unit 103 generates additional information including access to each video size sample and access data to each video sample. Then, the recording unit 120 generates a video stream based on the encoded stream data and the attached information, and outputs the MP4 file. DVD-RAM disk 1 3 1
再び図 1 1を参照しながら、 次に、 デ一夕処理装置 1 0の再生機 能を説明する。 D VD— RAMディスク 1 3 1には、 上述した MP 4ファイル 2 1が記録されているとする。 データ処理装置 1 0は、 ユーザの指示により、 D VD— R AMディスク 1 3 1に記録された 動画ストリームを再生し、 復号化することができる。  Next, the reproducing function of the data processing device 10 will be described with reference to FIG. 11 again. It is assumed that the MP4 file 21 described above is recorded on the D VD—RAM disk 13 1. The data processing device 10 can reproduce and decode the moving picture stream recorded on the DVD-RAM disc 131, according to a user's instruction.
再生機能に関連する構成要素として、 データ処理装置 1 0は、 映 像信号出力部 1 1 0と、 動画ス トリーム復号部 1 1 1と、 音声信号 出力部 1 1 2と、 再生部 1 1 3と、 付属情報保持メモリ 1 1 8と、 ピックアップ 1 3 0とを備えている。  As the components related to the playback function, the data processing device 10 includes a video signal output unit 110, a video stream decoding unit 111, an audio signal output unit 112, and a playback unit 113. And an auxiliary information holding memory 118 and a pickup 130.
まず、 再生部 1 1 3はピックアップ 1 3 0の動作を制御し、 D V D - RAMディスク 1 3 1の管理情報領域 1 3 2から付属情報 2 2 を読み出して付属情報を取得する。 再生部 1 1 3は、 取得した付属 情報 2 2を付属情報保持メモリ 1 1 8に出力して保持させる。 また、 再生部 1 1 3は、 D VD— R AMディスク 1 3 1の A Vデータ領域 1 3 3からビデオサンプルと拡張情報 (ビデオサイズサンプル) と を含む動画ストリーム 2 3を読み出す。 なお、 デ一夕処理装置 1 0 はネッ トワークを介して動画ス トリームを取得することも可能であ る。 このとき、 図 1 1におけるピックアップ 1 3 0と再生部 1 1 3 とを結ぶ信号線がネッ 卜ワーク回線に相当する。 再生部 1 1 3は、 遠隔のサーバの記録媒体 1 3 1に記録された動画ストリーム 2 3を、 ネッ トワーク回線という伝送媒体を介して取得し、 データ処理装置 1 0において再生することができる。 動画ストリ一ム復号部 1 1 1は、 動画ストリ一ム 2 3を受け取つ て、 付属情報保持メモリ 1 1 8に保持されている付属情報 2 2のビ デォサイズトラックを参照して、 各サンプルのアクセスデータ、 デ 一夕サイズ、 復号時間、 再生時間等の情報を取得する。 そして動画 ストリーム復号部 1 1 1は、 それらの情報に基づいて動画ストリ一 ムから各ビデオサンプルおよび各ビデオサイズサンプルを抽出する。 さらに、 付属情報にオーディオトラックが存在する場合は、 そのァ クセスデータを使用して動画ストリームからオーディオサンプルを 抽出する。 そして、 動画ストリーム復号部 1 1 1は映像データおよ び音声デ一夕を復号する。 First, the playback unit 113 controls the operation of the pickup 130, reads the attached information 22 from the management information area 132 of the DVD-RAM disk 131, and acquires the attached information. The playback unit 113 outputs the acquired attached information 22 to the attached information holding memory 118 to hold it. The playback unit 113 reads a video stream 23 including a video sample and extended information (video size sample) from the AV data area 133 of the DVD-RAM disc 131. It should be noted that the data processing device 10 can also acquire a moving image stream via a network. At this time, a signal line connecting the pickup 130 and the reproducing unit 113 in FIG. 11 corresponds to a network line. The reproduction unit 113 can acquire the moving image stream 23 recorded on the recording medium 13 1 of the remote server via a transmission medium called a network line, and reproduce the moving image stream 23 in the data processing device 10. Upon receiving the video stream 23, the video stream decoding unit 111 refers to the video size track of the auxiliary information 22 stored in the auxiliary information storage memory 118, and Obtain information such as sample access data, data size, decoding time, and playback time. Then, the moving picture stream decoding unit 111 extracts each video sample and each video size sample from the moving picture stream based on the information. In addition, if an audio track exists in the attribute information, the audio data is extracted from the video stream using the access data. Then, the video stream decoding unit 111 decodes the video data and the audio data.
映像信号出力部 1 1 0は映像信号出力端子であり、 復号化された 映像データを映像信号として出力する。 音声信号出力部 1 1 2は音 声信号出力端子であり、 復号化された音声データを音声信号として 出力する。  The video signal output unit 110 is a video signal output terminal, and outputs the decoded video data as a video signal. The audio signal output unit 112 is an audio signal output terminal, and outputs decoded audio data as an audio signal.
データ処理装置 1 0は、 D V D— R A Mディスク 1 3 1に記録さ れた M P 4ファイルを再生することができる。 以下、 データ処理装 置 1 0の基本的な再生処理を説明する。 再生の開始前に、 再生部 1 1 3は、 D V D— R A Mディスク 1 3 1の管理情報領域 1 3 2に記 録された付属情報を読み出し、 付属情報保持メモリ 1 1 8に格納す る。 次に、 再生部 1 1 3は、 付属情報保持メモリ 1 1 8に格納され た付属情報を参照しながら、 D V D— R A Mディスク 1 3 1の A V デ一夕領域 1 3 3からピックアップ 1 3 0を介して動画ストリ一ム を読み出す。 付属情報には動画ストリームの各サンプルにアクセス するためのアクセスデータが格納されているので、 そのアクセスデ 一夕に基づいて、 再生部 1 1 3は任意のサンプルにアクセスできる。 動画ストリ一ム復号部 1 1 1は、 読み出された動画ストリ一ムを映 像信号および または音声信号に復号し、 映像信号出力部 1 1 0お よび/ "または音声信号出力部 1 1 2へと出力する。 The data processing device 10 can reproduce the MP4 file recorded on the DVD-RAM disk 13 1. Hereinafter, a basic reproduction process of the data processing device 10 will be described. Before starting playback, the playback unit 113 reads out the attached information recorded in the management information area 132 of the DVD-RAM disk 131 and stores it in the attached information holding memory 118. Next, the playback unit 113 refers to the accessory information stored in the accessory information holding memory 118, and picks up the pickup 130 from the AV data area 133 of the DVD-RAM disk 131. Read the video stream via Access each sample of the video stream for additional information Since the access data for the reproduction is stored, the reproducing unit 113 can access any sample based on the access data. The video stream decoding section 111 decodes the read video stream into a video signal and / or an audio signal, and outputs the video signal output section 110 and / or the audio signal output section 112 Output to
次に、 図 1 4を参照しながら、 データ処理装置 1 0のより具体的 な再生処理を説明する。 上述のデータ構造を採用した利点を説明す るため、 動画ス トリーム中に復号エラーが発生した場合を想定する。 図 1 4 ( a) 〜 (d) は、 MP 4フアイソレ 2 1を構成する動画ス トリ一ムにおいて、 復号エラーが発生したときのエラー伝播の様子 を示している。 なお、 この動画ス トリームは、 ス トリーム中で一意 なコード (ユニークコ一ド) を持っていなくてもよい。 図 1 2の各 ビデオサンプルは、 図 1 4 ( a) のシーケンス中の各 GO Pに対応 する。 付属情報 2 2のビデオトラックには、 図 1 4 ( a) の各 GO Pに対するアクセスデータが格納されている。  Next, a more specific reproduction process of the data processing device 10 will be described with reference to FIG. In order to explain the advantage of adopting the above data structure, it is assumed that a decoding error occurs during a moving image stream. FIGS. 14 (a) to 14 (d) show the state of error propagation when a decoding error occurs in the video stream constituting the MP4 file 21. This video stream does not need to have a unique code (unique code) in the stream. Each video sample in Fig. 12 corresponds to each GOP in the sequence in Fig. 14 (a). The access data for each GOP shown in FIG. 14 (a) is stored in the video track of the additional information 22.
いま、 動画ス ト リーム復号部 1 1 1が、 ビデオサンプル # X (video sample #X) 中のビデオフレーム # Y (video frame #Y) を再生している途中でエラーを検出したとする。 すると動画ス トリ 一ム復号部 1 1 1は、 再生部 1 1 3にエラー発生を通知する。  Now, it is assumed that the video stream decoding unit 111 detects an error while playing a video frame #Y (video frame #Y) in a video sample #X (video sample #X). Then, the moving picture stream decoding unit 111 notifies the reproducing unit 113 of the occurrence of the error.
再生部 1 1 3は、 付属情報保持メモリ 1 1 8に格納された付属情 報 2 2のビデオサイズトラックのアクセスデータを読み出して、 D V D - RAMディスク 1 3 1の A Vデータ領域 1 3 3から動画ス ト リーム中のビデオサイズサンプル # X (video size sample#X) を W The playback unit 113 reads the access data of the video size track of the accessory information 22 stored in the accessory information holding memory 118, and reads the video from the AV data area 133 of the DVD-RAM disk 131. The video size sample #X (video size sample # X) in the stream is W
読み出す。 そして、 動画ストリーム復号部 1 1 1は読み出されたビ デォサイズサンプル # Xを参照して、 そのサンプル # Xの先頭フレ —ム # 0からエラー発生フレーム #Yまでのフレームサイズ情報を 抽出して、 次のビデオフ レーム # ( Y + 1 ) ( video frame #(Y+D) の先頭位置を特定してその位置から復号を再開する。 次の Y番目のビデオフレームの先頭位置は、 先頭フレーム # 0からエラ 一発生フレーム #Yまでのフレームサイズの和を計算することによ つて得られる。 その後、 再生部 1 1 3は、 格納位置を特定した次の ビデオフレーム # (Y+ 1 ) (video frame #(Υ+1)) のフレームデ 一夕から順次動画ストリームデータを読み出し、 再生を継続する。 上述のように、 ビデオサイズサンプルに各フレームデ一夕のサイ ズが格納されているので、 ビデオサイズサンプルを参照すると映像 ストリームの各フレームのサイズを取得することができる。 これに より、 ユニークコードを持たない映像ストリーム中にエラーが発生 しても、 その次のフレームの先頭位置を容易に特定することが可能 になり、 それによりエラ一伝播の範囲をエラーが存在するフレーム 内で完結させることができる。 read out. Then, the video stream decoder 1 1 1 refers to the read video size sample #X and extracts frame size information from the first frame # 0 of the sample #X to the error occurrence frame #Y. Then, the start position of the next video frame # (Y + 1) (video frame # (Y + D) is identified and decoding is resumed from that position. The start position of the next Y-th video frame is It can be obtained by calculating the sum of the frame sizes from frame # 0 to error occurrence frame # Y.After that, the playback unit 113 determines the next video frame # (Y + 1) ( The video stream data is read out sequentially from the frame of video frame # (Υ + 1)), and the playback is continued.As described above, the size of each frame is stored in the video size sample. See video size sample This makes it possible to obtain the size of each frame in the video stream, so that even if an error occurs in a video stream that does not have a unique code, the start position of the next frame can be easily specified. This allows the extent of error propagation to be completed within the frame where the error exists.
なお、 本実施形態による再生動作は、 エラーが発生するか否かに かかわらず適用可能である。 例えば、 複数の GO Ρを 1サンプルと して管理している場合であっても、 各フレームへのランダムァクセ スが可能になる。 各フレームの格納位置は、 再生部 1 1 3が先頭か ら所望のフレームの直前のフレームまでのフレームサイズを合計す ることによって特定することができる。 なお、 そのとき、 図 1 2に 示すようにビデオサンプルとそれに対応するビデオサイズサンプル とが連続的に配置されていると、 ピックアップ 1 3 0の余分なシ一 ク動作を減らすことが可能である。 その理由は、 再生部 1 1 3がビ デォトラックおよびビデオサイズトラック両方のアクセスデ一夕を 参照して、 連続配置されたビデオサンプルとビデオサイズサンプル を D V D— R A Mディスク 1 3 1から一度に読み出すことができる からである。 Note that the reproduction operation according to the present embodiment is applicable regardless of whether an error occurs. For example, even when multiple GOs are managed as one sample, random access to each frame is possible. The storage position of each frame can be specified by the playback unit 113 adding the frame sizes from the beginning to the frame immediately before the desired frame. At that time, Figure 12 shows As shown, if video samples and the corresponding video size samples are arranged consecutively, it is possible to reduce the extra shake operation of the pickup 130. The reason is that the playback unit 113 refers to the access data of both the video track and the video size track, and reads out the video samples and the video size samples that are continuously arranged from the DVD-RAM disk 131 at a time. This is because
本実施形態によれば、 動画ス卜リーム中の映像ストリームの 1フ レームをビデオサンプルに対応させた場合と比較して付属情報のデ 一夕サイズを小さくすることが可能である。 これにより M P 4ファ ィルを再生する際にも、 付属情報を保持するためのメモリサイズの 増大を防ぐことが可能になる。 例えば、 G O Pとビデオサンプルを 対応させ、 さらにビデオサイズサンプルを含む動画ス トリームを 1 時間記録したときの付属情報 (ビデオトラックおよびビデオサイズ トラックを含む) のデータサイズは約 1 0 0キロバイ ト程度である。 これに対し、 1フレームとビデオサンプルを対応させて動画ストリ —ムを 1時間記録したときの付属情報のデータサイズは約 1メガバ イ トである。 よって本実施形態によれば、 付属情報を保持するため のメモリサイズを大幅に低減できる。 換言すれば、 本実施形態によ れば、 同じメモリサイズに従来の 1 0倍程度の付属情報を格納する 余裕ができる。  According to the present embodiment, it is possible to reduce the data size of the attached information as compared with the case where one frame of the video stream in the moving image stream corresponds to the video sample. This makes it possible to prevent an increase in the memory size for holding the attached information even when playing the MP4 file. For example, the data size of ancillary information (including the video track and the video size track) when a GOP and a video sample are associated and a video stream including a video size sample is recorded for one hour is about 100 kilobytes. is there. On the other hand, the data size of the accessory information when recording a video stream for one hour by associating one frame with a video sample is about 1 megabyte. Therefore, according to the present embodiment, the memory size for holding the attached information can be significantly reduced. In other words, according to the present embodiment, it is possible to have room for storing about 10 times the additional information in the same memory size.
なお、 図 1 2に示す M P 4ファイル 2 1のデータ構造は、 本実施 形態による独自の構造を規定している。 しかし、 本実施形態による データ構造に対応していない再生装置であっても、 ビデオトラック およびビデオサンプルは通常通り再生可能である。 その理由は、 M P E G 4システム規格では付属情報中の各トラックの先頭にそのト ラックのデータサイズを記述することが規定されているため、 処理 ができないビデオサイズトラックを読み飛ばすことができるからで ある。 Note that the data structure of the MP4 file 21 shown in FIG. 12 defines a unique structure according to the present embodiment. However, according to this embodiment Video tracks and video samples can be played as usual even on playback devices that do not support the data structure. The reason is that the MPEG-4 system standard specifies that the data size of each track is described at the beginning of each track in the attached information, so that a video size track that cannot be processed can be skipped. .
本実施形態による処理は、 上述の動画ス トリームが、 フレーム間 圧縮を用いない符号化方式によって符号化された映像ス トリームを 含んでいても適用可能である。 ただし、 1つのビデオサンプルに対 応させるフレームの数が少なくなるほど、 付属情報のビデオトラッ クで保持すべきビデオサンプルのアクセスデータ数が増加するので、 付属情報のデータサイズが大きくなる点に留意が必要である。  The processing according to the present embodiment is applicable even if the above-mentioned moving image stream includes a video stream encoded by an encoding method that does not use inter-frame compression. However, keep in mind that the smaller the number of frames corresponding to one video sample, the larger the number of access data of the video samples to be stored in the video track of the accompanying information, and the larger the data size of the attached information. is necessary.
上述の説明では、 各ビデオフレームのフレームサイズの情報を格 納したビデオサイズサンプルが拡張情報であるとしたが、 拡張情報 はこれに限られない。 図 1 5は、 各ビデオフレームを構成するスラ イスの数および各スライスのデータサイズの情報を記述した拡張情 報の例を示す。 このように構成することにより、 上述と同様の演算 によって各スライスのデータ格納位置が特定できるので、 任意のス ライスにアクセスすることが可能になるとともに、 エラーが発生し たときのエラー伝播の影響をより小さくすることができる。 図 1 6 ( a ) 〜 (d ) は、 動画ス トリームにおいて復号エラーが発生した ときの、 エラ一伝播がスライス内で収まる様子を示す。 スライスの データサイズの情報を記述した拡張情報を規定することにより、 ェ ラーが発生してもその次のスライスから復号が可能になるので、 ェ ラーの伝播をスライス内に抑えることができる。 In the above description, the video size sample storing the information on the frame size of each video frame is the extended information, but the extended information is not limited to this. FIG. 15 shows an example of extended information describing information on the number of slices constituting each video frame and the data size of each slice. With this configuration, the data storage position of each slice can be specified by the same operation as described above, so that any slice can be accessed and the effect of error propagation when an error occurs. Can be made smaller. Figures 16 (a) to 16 (d) show how error propagation can be accommodated within a slice when a decoding error occurs in the video stream. By specifying extended information that describes information on the data size of slices, Even if an error occurs, decoding can be performed from the next slice, so that error propagation can be suppressed within the slice.
また、 図 1 7は、 各ビデオフレームの表示持続時間を記述した拡 張情報の例を示す。 動画ストリーム 3 3は、 ビデオデュレーシヨン サンプル 3 6およびビデオサンプル 3 7を複数含んでいる。 ビデオ デュレーションサンプル 3 6は、 対応するビデオサンプルの各フレ ームの表示時間情報 (frame duration) を拡張情報として格納して いる。 ビデオデュレ一ションサンプル 3 6のアクセスデータは付属 情報 3 2のビデオデュレーシヨントラック 3 4において管理されて いる。 ビデオサンプル 3 7のアクセスデータが付属情報 3 2のビデ オトラック 3 5において管理される点は先の例と同じである。  FIG. 17 shows an example of extended information describing the display duration of each video frame. The video stream 33 includes a plurality of video duration samples 36 and video samples 37. The video duration sample 36 stores the display duration information (frame duration) of each frame of the corresponding video sample as extended information. The access data of the video duration sample 36 is managed in the video duration track 34 of the auxiliary information 32. The point that the access data of the video sample 37 is managed in the video track 35 of the auxiliary information 32 is the same as the previous example.
図 1 7に示す構成を採用する利点は以下のとおりである。 まず、 動画ストリームの記録時にフレームスキップが発生していないとき は、 ビデオデュレーションサンプルにはすべてのフレームに対して 同じ時間 ΔΤを表す情報が記述される。 ここで、 図 1 8 (a) に示 すような 1フレーム分のフレームスキップが発生した場合を考える。 図 1 8 (a) は、 フレームスキップが発生したビデオフレーム群 を模式的に示す。 フレームスキップが発生したときは、 その直前の フレームの表示時間を 2倍に指定する表示時間情報を生成する。 す なわち 図 1 8 ( a ) の例では、 その直前のフ レーム # 4 (frame#4) の表示時間を Δ 2 Tに設定し、 他のフレームの表示時 間は Δ Τに設定するように、 ビデオデュレーションサンプル 3 6の 各フレームデュレーシヨンの値が記述される。 その結果、 この動画 00 The advantages of adopting the configuration shown in Fig. 17 are as follows. First, when no frame skip occurs during recording of a moving image stream, information representing the same time ΔΤ is described for all frames in the video duration sample. Here, consider the case where a frame skip of one frame occurs as shown in FIG. 18 (a). FIG. 18 (a) schematically shows a video frame group in which a frame skip has occurred. When a frame skip occurs, display time information that specifies twice the display time of the immediately preceding frame is generated. That is, in the example of Fig. 18 (a), the display time of the immediately preceding frame # 4 (frame # 4) is set to Δ2T, and the display time of the other frames is set to ΔΤ. In the table, the value of each frame duration of the video duration sample 36 is described. As a result, this video 00
ストリームを再生する時には、 フレーム # 4を除いては記録時と同 じタイミングで各フレームを表示することができる。 一方、 図 1 8 ( b ) は表示時間をすベてのフレームで均一に設定したときのビデ オフレーム群を模式的に示す。 図 1 8 ( b ) に示すように各フレー ムの表示時間を設定すると、 動画ストリームの各フレームは、 記録 時とは違う夕イミングで表示されるという不具合が生じる。 When playing the stream, each frame can be displayed at the same timing as when recording, except for frame # 4. On the other hand, FIG. 18 (b) schematically shows a video frame group when the display time is set uniformly for all frames. If the display time of each frame is set as shown in Fig. 18 (b), each frame of the video stream will be displayed at a different timing from the recording time.
なお、 各フレームの表示時間情報および各フレームサイズ情報を 同じサンプルに格納して、 付属情報内の 1つのトラックのアクセス デ一夕から参照する構成をとることもできる。 このように構成する と、 アクセスデータサイズを増加することなく両方の情報を管理す ることができる。  It is also possible to store the display time information and the frame size information of each frame in the same sample and to refer to them from the access data of one track in the attached information. With this configuration, both information can be managed without increasing the access data size.
本実施形態では、 ビデオサンプル内の映像フレーム数とそれに対 応するビデオサイズサンプル内のフレームサイズ情報数が同じであ るとして説明したが、 同じでなくてもよい。 それらの数が異なる場 合でも、 ビデオサンプルとビデオサイズサンプルとの対応関係を示 す情報が付属情報等に格納され、 最終的に特定のビデオフレームと そのフレームサイズ情報とを対応させることが可能であればよい。 なお、 本実施形態では、 M P 4ファイル形式を例に説明を行った が、 本発明はこれに限定するものではなく、 動画ストリームと付属 情報から構成され、 付属情報に動画ストリーム中の映像ストリーム へのアクセスデ一夕が格納されているような構成であれば他のファ ィル形式にも適用可能である。 他のファイル形式の一例としては、 M P 4ファイル形式のベースとなったクイックタイムファイル形式 が該当する。 In the present embodiment, the number of video frames in a video sample and the number of corresponding frame size information in a video size sample have been described as being the same, but they need not be the same. Even if the numbers differ, information indicating the correspondence between the video sample and the video size sample is stored in the auxiliary information, etc., and finally a specific video frame can be associated with the frame size information Is good enough. In the present embodiment, the MP4 file format has been described as an example, but the present invention is not limited to this. The present invention is composed of a video stream and additional information. If the configuration is such that the access data is stored, it can be applied to other file formats. An example of another file format is the QuickTime file format, which was the basis for the MP4 file format Is applicable.
本実施の形態では、 記録媒体が DVD— RAMディスクであると して説明したが、 特にこれに限定されることはない。 例えば記録媒 体として、 MO、 DVD- R, DVD— RW、 DVD + RW、 C D 一 R、 C D— RW等の光記録媒体やハードディスク等の磁性記録媒 体、 半導体メモリ等の半導体記録媒体であってもよい。  In the present embodiment, the recording medium is described as a DVD-RAM disk, but the present invention is not particularly limited to this. For example, the recording medium may be an optical recording medium such as MO, DVD-R, DVD-RW, DVD + RW, CD-R, CD-RW, a magnetic recording medium such as a hard disk, or a semiconductor recording medium such as a semiconductor memory. You may.
(実施形態 2)  (Embodiment 2)
上述の第 1の実施形態では、 フレームサイズ等に関する情報をビ デオサンプルとは独立した他のサンプル (ビデオサイズサンプル) に格納するとした。  In the first embodiment described above, information on the frame size and the like is stored in another sample (video size sample) independent of the video sample.
本発明の第 2の実施形態以降では、 フレームサイズ等に関する情 報をビデオサンプル内に格納する例を説明する。 以下では、 まず本 実施形態に関連するデータ構造を説明し、 その後、 本実施形態によ るデータ処理装置の構成および動作を説明する。  In the second and subsequent embodiments of the present invention, an example will be described in which information on a frame size and the like is stored in a video sample. Hereinafter, the data structure related to the present embodiment will be described first, and then the configuration and operation of the data processing device according to the present embodiment will be described.
本発明の背景技術としても説明したように、 近年、 通信ネッ トヮ 一クの大容量化および伝送技術の進歩により、 インターネッ ト上で の P C向け動画配信サービスが普及してきている。 さらに、 無線端 末上での動画配信に関しても、 無線網における受信端末の規格を定 め る 国 際標準化 団体 で あ る 3 G P P (Third Generation Partnership Project)における規格と して T S 2 6 . 2 3 4 (Transparent end-to-end packet switched streaming service)が 定められるなど、 携帯端末においても動画配信サービスの拡大が見 込まれる。 音声、 動画、 静止画およびテキストなどのメディアデータを蓄積 し、 配信する際には、 メディアデータの再生に必要なヘッダ情報と メディアデ一夕とを多重化することが一般的である。 第 1の実施形 態に関連して言及した MP 4は、 多重化を実現するための多重化フ アイルフォーマッ トであり、 I S O/ I E C J TC 1 /S C 2 9 / W G 1 1 (International StandardisationAs described as the background art of the present invention, in recent years, a moving image distribution service for PCs on the Internet has become widespread due to an increase in the capacity of a communication network and progress in transmission technology. In addition, with regard to video distribution on wireless terminals, TS 26.23 is a standard of 3GPP (Third Generation Partnership Project), an international standardization organization that defines standards for receiving terminals in wireless networks. 4 (Transparent end-to-end packet switched streaming service), etc., is expected to expand the video distribution service for mobile terminals. When storing and distributing media data such as audio, video, still images, and text, it is common to multiplex the header information necessary for playback of the media data with the media data. MP4, which was mentioned in connection with the first embodiment, is a multiplexed file format for achieving multiplexing, and is based on ISO / IECJ TC1 / SC29 / WG11 (International Standardization).
Organization/International Engineering Consor t i um)におレ て標 準化されている。 そして、 3 GP Pの T S 2 6. 2 3 4においても 採用されていることから、 今後普及していくと考えられる。 Organization / International Engineering Contract). And since it has been adopted in 3GPP TS26.234, it is expected that it will spread in the future.
ここで、 M P 4ファイルのデータ構造を説明する。 MP 4フアイ ルでは、 ヘッダ情報やメディアデータはボックス (Box) と呼ばれ るォブジェク ト単位で格納される。 図 1 9は、 ボックス 4 0のデ一 夕構造を示す。 ボックス 4 0は、 サイズ (size) フィールド 4 1、 タイプ ( type) フィ一ルド 4 2、 パージョン (version) フィ一ル ド 4 3、 フラグ (nags) フィールド 44およびデータフィールド 4 5を有する。 各フィールドに格納される情報の内容は以下のとお りである。  Here, the data structure of the MP4 file will be described. In MP4 files, header information and media data are stored in objects called boxes. FIG. 19 shows the data structure of box 40. Box 40 has a size field 41, a type field 42, a version field 43, a flag (nags) field 44 and a data field 45. The content of the information stored in each field is as follows.
サイズ (size) フィールド : サイズフィールドも含めたポックス 全体のサイズ  Size (size) field: The overall size of the pox, including the size field
タイプ (type) フィ一ルド : ボックスの識別子であり、 通常はァ ルフアベッ ト 4文字で表される。 フィ一ルド長は 4バイ トであり、 連続する 4バイ ト分のデータがタイプフィールドの識別子と一致す るか否かを判定することにより、 MP 4ファイル内でボックスを検 索することが可能になる。 Type field: The identifier of the box, usually represented by four alphabetic characters. The field length is 4 bytes, and a box is detected in an MP4 file by determining whether or not 4 consecutive bytes of data match the type field identifier. It becomes possible to search.
バージョン (version) フィールド : ボックスのバージョン番号 フラグ (flags) フィールド : ボックス毎に設定されるフラグ情 報  Version (version) field: Box version number Flag (flags) field: Flag information set for each box
データ : ヘッダ情報、 メディアデータ等  Data: header information, media data, etc.
なお、 バージョンフィールドおよびフラグフィールドは必須では ないため、 これらのフィールドが存在しないボックスも存在する。 本明細書では、 ボックスの参照にはタイプフィールドの識別子を 使用するとし、 例えばタイプが "moov"であるボックスは、 "moov"ま たは"ボックス moov"などと称する。  Since the version field and flag field are not mandatory, some boxes do not have these fields. In this specification, it is assumed that an identifier of a type field is used to refer to a box. For example, a box whose type is "moov" is referred to as "moov" or "box moov".
MP 4では、 フアイル内に含まれることが必須である基本部に加 えて拡張部を使用することができる。  MP4 allows the use of extensions in addition to the basic parts that must be included in the file.
以下では、 まず基本部の構造を説明する。 図 2 0 ( a) は、 基本 部 5 0のデータ構造を示す。 MP 4ファイルは、 基本ヘッダである ftyp5 1および moov 5 2と、 メディアデータを格納する mdat 5 3の 3つの基本ボックスから構成される。 ftyp5 1は MP 4ファイルの 先頭に配置される。 ftyp5 1は、 MP 4ファイルを識別するための 情報を含む。 mdat 5 3には、 サンプルと呼ばれる単位でメディアデ —夕が格納される。 サンプルとは、 M P 4でメディアデータを扱う 際の最小単位であり、 1つ以上のオーディオフレームまたは MP E G - 4 V i s u a l の VO P (Video Object Plane) に相当する。  Hereinafter, the structure of the basic unit will be described first. FIG. 20 (a) shows the data structure of the basic unit 50. An MP4 file is composed of three basic boxes, ftyp51 and moov52, which are basic headers, and mdat53, which stores media data. ftyp51 is placed at the beginning of the MP4 file. ftyp51 contains information for identifying an MP4 file. mdat 53 stores media data in units called samples. A sample is a minimum unit when handling media data in MP4, and is equivalent to one or more audio frames or a VOPP (Video Object Plane) of MPEG-4Visual.
MP 4ファイルフォーマットはオーディォまたはビデオフレーム のデータを mdat 5 3に格納する際の形式を規定しており、 フレーム データはそれらの形式に従って格納される。 mdat 5 3に含まれる各 メディアのデータはトラックと呼ばれ、 各トラックはトラック I D により識別される。 The MP4 file format defines the format in which audio or video frame data is stored in the mdat 53. Data is stored according to their format. The data of each medium included in the mdat 53 is called a track, and each track is identified by a track ID.
図 2 0 ( b) は、 moov 5 2のデ一夕構造を示す。 M P 4ファイル では moovは必須のボックスであり、 その個数は 1つである。 moov5 2内ではボックスが階層的に配置されており、 mdat 5 3に含まれる サンプルのヘッダ情報が格納される。 このヘッダ情報は、 実施形態 1における付属情報に対応する。 換言すれば、 moov5 2には、 実施 形態 1による付属情報が格納される。  FIG. 20 (b) shows the data structure of moov 52. In the MP4 file, moov is a required box, and its number is one. Boxes are arranged hierarchically in moov52, and header information of samples included in mdat53 is stored. This header information corresponds to the additional information in the first embodiment. In other words, the moov 52 stores the additional information according to the first embodiment.
ファイル全体に共通なヘッダ情報は mvhdに格納される。 また、 ォ Header information common to the entire file is stored in mvhd. Also,
—ディォ、 ビデオなど各トラックのヘッダ情報はそれぞれ別々の trak5 3に格納される。 なお、 trak 5 3がどのトラックに対する情 報を含むかは、 trak5 3内のボックス tkhd (図示せず) に示される トラック I Dによって識別される。 MP 4ファイルにおいて拡張部 が使用される際には、 mvexが存在する。 mvexは拡張部使用時にのみ 存在し、 基本部 5 0のあとに拡張部が格納されていることを示す。 mvexには t rexが含まれ、 拡張部におけるへッダ情報のデフオルト値 をトラック毎に設定する。 —Head information for each track, such as video and video, is stored in a separate trak53. Note that which track the trak 53 contains information for is identified by the track ID shown in the box tkhd (not shown) in the trak 53. When an extension is used in an MP4 file, mvex is present. mvex exists only when the extension is used, and indicates that the extension is stored after the basic part 50. mvex contains trex, and sets the default value of header information in the extension for each track.
図 2 1 ( a) は、 trak5 3のデータ構造を示す。 trak5 3は stbl 5 4を含み、 さらに stbl 5 4はボックス stts 5 5、 stsd5 6、 stsc 5 7を含む。 stbl 5 4内のボックスには、 サンプルの復号時間、 表 示開始時間、 サイズ等の情報が格納される。  FIG. 21 (a) shows the data structure of trak53. trak 53 contains stbl 54, and stbl 54 contains boxes stts 55, stsd 56, stsc 57. The box in stbl 54 stores information such as the decoding time of the sample, the display start time, and the size.
まず、 サンプルの復号時間は stts 5 5に格納される。 stts 5 5に は、 連続する 2つのサンプル間における復号時間の差分値が格納さ れている。 よってこの差分値を積算することにより、 各サンプルの 復号時間を取得することができる。 なお、 復号時間と表示開始時間 が異なる際には、 ボックス ctts (図示せず) に復号時間と表示開始 時間との差分の情報が格納される。 例えば、 双方向予測を用いて符 号化されたフレームでは復号時間と表示開始時間が異なるため、 表 示開始時間を求めるために cttsが使用される。 サンプルのサイズは stsz (図示せず) と呼ばれるボックスに格納される。 First, the decoding time of the sample is stored in stts 55. stts 5 to 5 Stores the difference value of the decoding time between two consecutive samples. Therefore, by integrating the difference values, the decoding time of each sample can be obtained. If the decoding time and the display start time are different, information on the difference between the decoding time and the display start time is stored in a box ctts (not shown). For example, since the decoding time and the display start time are different for frames encoded using bidirectional prediction, ctts is used to determine the display start time. The sample size is stored in a box called stsz (not shown).
次に、 ボックス stsd5 6および stsc 5 7を説明する。 stsd 5 6に は、 トラックデ一夕の復号に必要な初期化情報やトラックの表示サ ィズ等がェントリーとして格納される。 エントリーの内容は各サン プルのデコード時に参照される。 ェントリーは複数存在してもよく、 例えばトラックの途中で表示サイズを変更する際には、 変更前と変 更後 2つのエントリ一が用意される。  Next, the boxes stsd56 and stsc57 will be described. The stsd 56 stores, as an entry, initialization information necessary for decoding of the track data and the display size of the track. The contents of the entry are referenced when each sample is decoded. A plurality of entries may exist. For example, when the display size is changed in the middle of a track, two entries are prepared before and after the change.
第 1の実施形態に関連して説明したように、 一般に、 アクセスデ —夕のサイズは 1サンプルに含まれるフレーム数に応じて変化する ため、 複数のビデオフレームをまとめて 1サンプルとすることによ り付属情報のデータサイズ、 すなわちポックス moovのデ一夕サイズ を低減できる。 そこで、 1サンプルに含まれるフレーム数を示すフ ィールド frame— countがポックス stsd5 6のエントリ一内に導入さ れている。 図 2 1 ( b) は、 ボックス stsd 5 6内の複数のエントリ 一に設定されたフィールド frame— countを示す。 図 2 1 ( ) に示 すように、 stsdには 1 0個のェントリー 1〜 1 0が存在する。 先頭 エントリ一は frame— countが 1 0であるため、 1サンプルに 1 0枚 のフレームが含まれることを示す。 同様に、 2番目、 3番目のェン トリーはそれぞれ 1サンプルあたり 9、 8枚のフレームを含むこと を示している。 As described in connection with the first embodiment, in general, the size of the access data varies according to the number of frames included in one sample, so that a plurality of video frames are collectively reduced to one sample. Thus, the data size of the auxiliary information, that is, the data size of Pox moov, can be reduced. Therefore, a field frame_count indicating the number of frames included in one sample is introduced in one entry of pox stsd56. FIG. 21 (b) shows the field frame—count set for a number of entries in box stsd 56. As shown in FIG. 21 (), there are 10 entries 1 to 10 in stsd. lead Entry 1 has a frame count of 10, indicating that one sample contains 10 frames. Similarly, the second and third entries show that each sample contains 9, 8 frames.
さらに、 M P 4ファイルを復号または再生する際には、 stsc 5 7 によって各サンプルに何枚のフレームが含まれるかが示される。 再 生装置は、 各サンプルの復号時に stsc 5 7を参照することにより、 stsd 5 6内の何番目のェントリーを参照するのかを知ることができ る。 例えば、 stsc 5 7において、 1番目のサンプルは stsd 5 6のェ ントリー 1に対応することが示されると、 再生装置は、 1番目のサ ンプルが 1 0枚のフレームを含むことを把握できる。  In addition, when decoding or playing an MP4 file, stsc 57 indicates how many frames are included in each sample. The playback device can know the entry number in the stsd 56 by referring to the stsc 57 when decoding each sample. For example, if stsc 57 indicates that the first sample corresponds to entry 1 of stsd 56, the playback device can know that the first sample includes 10 frames.
基本部のみから構成されるトラックにおいては、 トラック全体に 対するヘッダ情報が moovにまとめて格納される。 一方、 トラックを 分割し、 分割した単位毎にヘッダ情報を付加するための手段として、 拡張部が規格化された。 拡張部においては、 トラックを分割したそ れぞれの単位に対してヘッダ情報が付加される。 ただし、 拡張部を 使用する際にも f typと moovは必須であり、 サンプルの復号に必要な 情報など、 トラック内の全てのサンプルにおいて共通に使用される 情報は必ず moovに格納される。  For a track consisting of only the basic part, header information for the entire track is stored together in a moov. On the other hand, an extension has been standardized as a means for dividing a track and adding header information for each divided unit. In the extension section, header information is added to each unit obtained by dividing the track. However, f typ and moov are also required when using the extension, and information that is commonly used in all samples in the track, such as information necessary for decoding samples, is always stored in moov.
図 2 2は、 基本部 5 0と拡張部 6 0とを含む M P 4ファイルのデ 一夕構造を示す。 拡張部 6 0では、 分割された単位に含まれるサン プルのヘッダ情報は拡張ヘッダ 6 1 (moof) に格納され、 moofにへ ッダ情報が格納されているサンプルのデ一夕は、 サンプルデータ 6 2 (mdat) に格納される。 なお、 拡張部 6 0が存在するため、 基本 部 5 0のポックス moovにはボックス mvexが存在する。 FIG. 22 shows a data structure of an MP4 file including a basic part 50 and an extended part 60. In the extension unit 60, the header information of the sample included in the divided unit is stored in the extension header 61 (moof), and the data of the sample in which the header information is stored in the moof is sample data. 6 2 Stored in (mdat). In addition, since the extension part 60 exists, the box mvex exists in the pox moov of the basic part 50.
図 2 3は、 mooi 6 1のデータ構造を示す。 moovと同様に、 moof 6 1においてもボックスが階層的に配置され、 moof直下には moofのィ ンデックス情報を格納する mfhdと、 ヘッダ情報をトラック単位で格 納する 1つ以上の traf 6 2とが配置される。 traf 6 2は、 moovにお ける akと同様に、 復号時間の早いサンプルから順に各トラックに 含まれるサンプルのヘッダ情報を格納する。 なお、 各トラックに関 するヘッダ情報は、 複数の traf 6 2を使用して格納してもよい。 traf 6 2は、 tfhd 6 3と 1つ以上の trun 6 4を含む。 trun6 4は、 サンプルのサイズや再生時間長などサンプル単位のヘッダ情報が格 納される。 Tfhd6 3は、 traf 6 2が情報を格納しているトラックの トラック ID (track— ID) 、 t raf 6 2に含まれるサンプルをデコ一 ドする際に st sd 5 6内の何番目のェントリーを参照するか等の情報 を格納する。 上述した説明では、 moovと mdatが同一ファイル内に存 在することとしたが、 mdatを moovとは異なるデータファイルとして 格納し、 moovから mdatのデ一夕フアイルを参照することもできる。 以下、 図 2 4および図 2 5を参照しながら、 本実施形態によるデ 一夕処理装置が M P 4ファイルを生成する基本的な動作を説明する。 図 2 4は、 本実施形態によるデータ処理装置 1 7 0の記録機能の ブロックの構成を示す。 データ処理装置 1 7 0は、 映像信号を受け 取り、 ビデオデータ、 ヘッダデータ等を多重化して MP 4ファイル を生成することができる。 W FIG. 23 shows the data structure of mooi 61. Similar to moov, boxes are arranged hierarchically in moof 61, and mfhd immediately below moof stores index information of moof, and one or more traf 62 storing header information in track units. Is arranged. The traf 62 stores the header information of the samples included in each track in order from the sample with the earliest decoding time, like the ak in the moov. Note that header information for each track may be stored using a plurality of traf 62. traf 62 includes tfhd 63 and one or more truns 64. trun64 stores header information in sample units such as sample size and playback time length. Tfhd63 uses the track ID (track—ID) of the track in which traf62 stores information, and the number of the entry in stsd56 when decoding the sample included in traf62. Stores information such as whether to refer. In the above description, moov and mdat exist in the same file. However, mdat can be stored as a data file different from moov, and the file of mdat can be referenced from moov. Hereinafter, the basic operation in which the data processing device according to the present embodiment generates an MP4 file will be described with reference to FIGS. 24 and 25. FIG. 24 shows a configuration of a recording function block of the data processing device 170 according to the present embodiment. The data processing device 170 can receive a video signal, multiplex video data, header data, and the like, and generate an MP4 file. W
データ処理装置 1 7 0は、 符号化部 1 7 1と、 メモリ 1 7 2 、 1 7 4と、 解析部 1 7 3と、 ヘッダ生成部 1 7 5と、 データ生成部 1 7 6と、 連結部 1 7 7とを備えている。 The data processing device 170 is connected to an encoding unit 171, memories 172 and 174, an analysis unit 173, a header generation unit 175, and a data generation unit 176. Parts 1 and 7 are provided.
各構成要素の機能は以下のとおりである。 符号化部 1 7 1は、 映 像信号を受け取って所定の符号化形式で符号化し、 符号化データを 出力する。 例えば、 映像はフレーム単位またはフィ一ルド単位で符 号化される。 本明細書では、 「フレーム」 および 「フィールド」 の 両方を包含する概念として、 「ピクチャ」 という語が用いられる。 メモリ 1 7 2および 1 7 4は、 符号化データ、 解析情報等を格納 する記録媒体であり、 例えば半導体メモリ、 光ディスク、 ハードデ イスクである。 両者は同じ種類の記録媒体でなくてもよい。  The function of each component is as follows. The encoding unit 171 receives the video signal, encodes the video signal in a predetermined encoding format, and outputs encoded data. For example, video is encoded frame by frame or field by field. In this specification, the term "picture" is used as a concept encompassing both "frame" and "field". The memories 1722 and 174 are recording media for storing encoded data, analysis information, and the like, and are, for example, semiconductor memories, optical disks, and hard disks. Both need not be the same type of recording medium.
解析部 1 7 3は、 符号化デ一夕を取得して、 符号化データに関す る解析情報、 例えば、 1以上のピクチャデータや音声フレームデー 夕を含むサンプルごとのデータサイズ、 表示開始時間あるいは復号 時間を示す情報、 符号化データの復号に必要な初期化情報等を取得 する。 また、 解析部 1 7 3は、 上述したボックス moovの生成を指示 する moov生成信号を出力する。  The analysis unit 173 obtains the encoded data, and analyzes information on the encoded data, for example, the data size for each sample including one or more picture data and audio frame data, the display start time, or the like. Acquires information indicating the decoding time, initialization information necessary for decoding encoded data, and the like. In addition, the analysis unit 173 outputs a moov generation signal instructing generation of the above-described box moov.
ヘッダ生成部 1 7 5は、 moov生成信号に基づいて、 符号化データ の解析情報を取得してボックス moovを生成する。 さらに、 ヘッダ生 成部 1 7 5は、 md a t内におけるサンプルデータの配置に関する配置 情報を出力する。  The header generation unit 175 acquires the analysis information of the encoded data based on the moov generation signal, and generates the box moov. Further, the header generator 175 outputs arrangement information regarding the arrangement of the sample data in the mdat.
データ生成部 1 7 6は、 符号化データおよび配置情報に基づいて、 M P 4規格で規定された形式に従って md a tを作成する。 連結部 1 7 7は、 ボックス moovと M P 4規格で規定されたデ一夕 mdatとを連結または多重化して M P 4フアイルを生成する。 The data generator 176 creates the md at in accordance with the format defined by the MP4 standard based on the encoded data and the arrangement information. The linking unit 177 links or multiplexes the box moov and the data mdat specified in the MP4 standard to generate an MP4 file.
以下、 データ処理装置 1 7 0の動作を説明する。 まず、 符号化部 1 7 1は、 入力された映像信号を符号化し、 符号化データ d 1 0 2 をメモリ 1 7 2に格納する。 次に、 解析部 1 7 3は、 メモリ 1 7 2 より符号化データ d 1 0 3を取得し、 フレームサイズ、 表示開始時 間または復号時間などサンプル単位の情報、 および符号化データの 復号に必要な初期化情報を取得する。 その後、 解析部 1 7 3は、 解 析結果 d 1 0 5をメモリ 1 7 4に格納する。 moovの生成に必要な情 報が揃うと、 解析部 1 7 3は、 moov生成信号 d 1 0 4をヘッダ生成 部 1 7 5に送る。  Hereinafter, the operation of the data processing device 170 will be described. First, the encoding unit 1771 encodes the input video signal, and stores the encoded data d102 in the memory 1702. Next, the analysis unit 173 obtains the coded data d103 from the memory 172, and is necessary for decoding information of a sample unit such as a frame size, display start time or decoding time, and coded data. Obtain the necessary initialization information. After that, the analysis unit 173 stores the analysis result d105 in the memory 174. When the information necessary for generating the moov is obtained, the analysis unit 173 sends the moov generation signal d104 to the header generation unit 175.
へッダ生成部 1 7 5は、 moov生成信号 d 1 0 4をトリガとして moovの生成を開始する。 このとき、 ヘッダ生成部 1 7 5はメモリ 1 7 4からの解析情報 d 1 0 6を取得し、 moov内に各ポックスを生成 する。 moov作成終了後、 ヘッダ生成部 1 7 5は、 mdat内におけるサ ンプルデ一夕の配置情報 d 1 0 7をデータ生成部 1 7 6に入力し、 作成した moovのデータ d 1 0 9を連結部 1 7 7に入力する。 データ 生成部 1 7 6は、 メモリ 1 7 2から入力ビデオデータ d 1 0 8を取 得し、 配置情報 d 1 0 7および M P 4規格で規定された形式に従つ て mdatを作成する。 そして、 データ生成部 1 7 6は、 生成したデー 夕 d 1 0 7 (mdat) を連結部 1 7 7に入力する。 最後に、 連結部 1 7 7は、 データ d 1 0 9 (moov) とデータ d 1 0 7 (mdat) とを連 結して M P 4ファイル d 1 1 0を出力する。 なお、 出力された M P 4ファイルは、 例えばドライブ装置 (図示せず) 等によって光ディ スク、 ハードディスク等に記録され、 または、 P C力一ドスロット を介して半導体メモリカード等に記録される。 The header generation unit 17 5 starts generation of moov using the moov generation signal d 104 as a trigger. At this time, the header generator 175 obtains the analysis information d106 from the memory 174 and generates each pox in the moov. After the creation of the moov, the header generation unit 175 inputs the arrangement information d107 of the sample data in the mdat to the data generation unit 176, and connects the created moov data d109 to the connection unit. Enter in 1 7 7. The data generator 176 obtains the input video data d108 from the memory 172, and creates mdat in accordance with the arrangement information d107 and the format specified by the MP4 standard. Then, the data generation unit 176 inputs the generated data d 107 (mdat) to the connection unit 177. Finally, the coupling unit 1177 links the data d109 (moov) and the data d107 (mdat), and outputs an MP4 file d110. The output MP The four files are recorded on an optical disk, a hard disk, or the like by a drive device (not shown) or the like, or are recorded on a semiconductor memory card or the like via a PC drive slot.
図 2 5は、 ヘッダ生成部 1 7 5が復号開始時間の差分値、 および、 サンプルを構成するフレーム数の決定手順を示す。 この決定は、 解 析結果 d 1 0 6に基づいて行われる。 復号開始時間の差分値とは、 各サンプルの復号開始時間と、 その次のサンプルの復号開始時間と の差分値を表している。 本実施形態のデータ処理装置 1 7 0も、 複 数のビデオフレームを 1サンプルとして取り扱うとする。  FIG. 25 shows a procedure in which the header generation unit 175 determines the difference value of the decoding start time and the number of frames forming a sample. This decision is made based on the analysis result d106. The difference value of the decoding start time indicates a difference value between the decoding start time of each sample and the decoding start time of the next sample. It is assumed that the data processing device 170 of the present embodiment also handles a plurality of video frames as one sample.
以下では、 MP E G— 2 V i s u a l のデータが入力された際 に 1 GO Pを 1サンプルとして格納する動作を説明する。 この動作 に際し、 ヘッダ生成部 1 7 5は、 1 GO Pに含まれるフレームの再 生時間長の総和に関する情報を予め取得しているとする。 なお、 以 下の説明および図面では、 "sample_dur"、 "num— frame"および" i" は、 それぞれ、 i番目のサンプルと i + 1番目のサンプルにおける復 号時間の差分値、 i番目サンプルに含まれるフレーム数、 およびサ ンプル番号を示すものとし、 sample— dur、 および num— frameの初 期値は 0、 iの初期値は 1とする。  In the following, the operation of storing one GOP as one sample when MPEG-2Visual data is input will be described. At the time of this operation, it is assumed that the header generation unit 175 has previously acquired information on the total playback time length of the frames included in one GOP. In the following description and drawings, "sample_dur", "num-frame", and "i" are the difference between the decoding time between the i-th sample and the (i + 1) -th sample and the i-th sample, respectively. It indicates the number of frames included and the sample number. The initial value of sample-dur and num-frame is 0, and the initial value of i is 1.
まず、 へッダ生成部 1 7 5は、 ステツプ S 2 1において 1フレー ム分の解析結果を入力し、 続いてステップ S 2 2で次フレームと現 フレームとの復号時間の差分値である frame— durを取得する。 ステ ップ S 2 3において、 sample— durに frame— durを加算し、 num— frameに 1を加算する。 次に、 ヘッダ生成部 1 7 5は、 sample— durと GO Pの再生時間長 とを比較することにより、 ステップ S 24において処理したフレー ムが GO Pの最終フレームであるか否かを判定し、 最終フレームで ない場合には、 ステップ S 2 1に戻り、 GOPに含まれる最終サン プルの処理が完了するまでステツプ S 2 1からステツプ S 24の処 理を繰り返す。 1 GO P分のフレームの処理が完了すると、 ステツ プ S 2 5において i番目サンプルと i + 1番目サンプルの復号時間の 差分値を示す sa即 le— durと、 i番目サンプルに含まれるフレーム数 を示す num— frameとを解析結果のテーブルに格納する。 次に、 へッ ダ生成部 1 7 5は、 ステップ S 2 6において、 i番目の GO Pが入 力データにおける最終 GO Pであるか否かを判定する。 判定の結果、 最終 GO Pでない場合には、 ヘッダ生成部 1 7 5は、 ステップ S 2 7において iに 1を加算し、 s a即 le— durと frame— durを 0にセッ ト した後にステツプ S 2 1からステップ S 2 6までの処理を繰り返す。 この処理は、 最終 GO Pに達するまで継続される。 以上、 データ処 理装置 1 7 0が MP 4ファイルを生成する際の基本的な動作を説明 した。 First, in step S21, the header generation unit 175 inputs an analysis result for one frame, and then in step S22, a frame value which is a difference value of the decoding time between the next frame and the current frame is input. — Get the dur. In step S23, add frame-dur to sample-dur and add 1 to num-frame. Next, the header generator 175 determines whether the frame processed in step S24 is the last frame of the GOP by comparing the sample-dur with the playback time length of the GOP. If it is not the last frame, the process returns to step S21, and repeats the processing of steps S21 to S24 until the processing of the last sample included in the GOP is completed. When the processing of one GOP frame is completed, in step S25, the sa immediately le—dur indicating the difference between the decoding time of the i-th sample and the i + 1st sample, and the number of frames included in the i-th sample Is stored in the analysis result table. Next, in step S26, the header generation unit 1775 determines whether or not the i-th GOP is the last GOP in the input data. If the result of the determination is that it is not the final GOP, the header generator 175 adds 1 to i in step S27, immediately sets le—dur and frame—dur to 0, and then proceeds to step S27. 2 Repeat the processing from 1 to step S26. This process continues until the final GOP is reached. The basic operation when the data processing device 170 generates the MP4 file has been described above.
次に、 データ処理装置 1 7 0が MP 4ファイルを生成する際のさ らに他の動作を説明し、 生成された MP 4ファイルのデータ構造を 説明する。 得られた MP 4ファイルを用いることにより、 符号化デ 一夕における各フレームの表示時間長が一定でない際にも、 サンプ ルに含まれる複数のフレームの復号時間を正しく示すことができる。 なお、 映像信号の符号化方式は、 MP E G— 2 V i s u a lであ るとして説明するが、 例えば MP EG— 4 AVC、 MP E G— 4 V i s u a lであってもよいし、 ビデオデータのみならずオーディ ォ、 テキスト等のデ一夕を含んでいてもよい。 Next, another operation when the data processing device 170 generates the MP4 file will be described, and the data structure of the generated MP4 file will be described. By using the obtained MP4 file, the decoding time of a plurality of frames included in the sample can be correctly indicated even when the display time length of each frame in the encoded data is not constant. The encoding method of the video signal is MP EG-2 Visual. For example, MP EG-4 AVC or MP EG-4 Visual may be used, and may include not only video data but also audio and text data.
まず、 本実施形態によるデータ処理装置 1 7 0の特徴的な動作を 説明する。 この動作と図 2 5に示す動作とを比較すると、 ヘッダ生 成部 1 7 5においてサンプルを構成するフレームを決定する手順が 相違する。 したがって、 以下ではその相違する処理を説明する。  First, the characteristic operation of the data processing device 170 according to the present embodiment will be described. Comparing this operation with the operation shown in FIG. 25, the procedure for determining a frame forming a sample in the header generation unit 1775 is different. Therefore, the different processing will be described below.
ヘッダ生成部 1 7 5がサンプルを決定する基準は、 連続する 2枚 のフレーム間で復号時間の差分値が一定であるか否かである。 へッ ダ生成部 1 7 5は、 差分値が一定であればそれらのフレームが同じ サンプルに属すると決定し、 一定でなければそのそれらのフレーム を異なるサンプルに属すると決定する。  The criterion for the header generation unit 175 to determine a sample is whether or not the difference value of the decoding time is constant between two consecutive frames. If the difference value is constant, the header generation unit 175 determines that those frames belong to the same sample, and if not, determines that those frames belong to different samples.
なお、 本実施形態においては、 フレームスキップが発生していな い場合には差分値が全て一定になり、 1 GO Pの全てのフレームは 1サンプルとして管理される。 一方、 フレームスキップの発生等に より差分値が一定でない場合には 1 GO Pのフレームは複数のサン プルとして管理される。 ただし、 目標とするサンプルの生成単位は、 MP E G— 4 V i s u a l におけるグループォブ V〇 P (Group of V0P (Video Object Plane) ; G O P )または M P E G— 4 A VCにおけるサブシーケンスであってもよい。 または、 MP E G - 4 V i s u a l における I (画面内符号化) フレームから、 次 の I フレームの直前のフレームまでとしてもよいし、 MP E G— 4 A Vしにおける I D R (Ins tant aneous decoder refresh)ピクチャ から、 次の I DRピクチャの直前のピクチャまでとしてもよい。 な お、 サンプルに含まれるビデオデータは、 フレーム構造のデータに 限定されるものではなく、 フィールド構造のデータであってもよい。 図 2 6は、 ヘッダ生成部 1 7 5における、 サンプルを構成するフ レームの決定手順を示す。 ヘッダ生成部 1 7 5は、 まず、 ステップ S 3 1において符号化データの先頭フレームの表示開始時間 C T S ( 1 ) および復号時間 DT S ( 1 ) を取得し、 変数 iを 1にセッ ト する。 このとき、 表示開始時間の取得には、 フレームデータ内の "Temporal Reference" の値が使用され、 復号時間は GO Pを構成 するフレームのタイプ (1、 P、 Bフレーム) および配置順に従って 表示開始時間から計算される。 In the present embodiment, when no frame skip has occurred, all the difference values are constant, and all frames of one GOP are managed as one sample. On the other hand, if the difference value is not constant due to the occurrence of a frame skip or the like, one GOP frame is managed as a plurality of samples. However, the target sample generation unit may be a group of VOP (Video Object Plane; GOP) in MPEG-4 Visual or a sub-sequence in MPEG-4 AVC. Alternatively, it may be from the I (intra-coded) frame in MP EG-4 Visual to the frame immediately before the next I frame, or an IDR (Instant aneous decoder refresh) picture in MP EG-4 AV To the picture immediately before the next IDR picture. The video data included in the sample is not limited to frame-structured data, but may be field-structured data. FIG. 26 shows the procedure of determining the frames that make up the sample in the header generation unit 175. First, in step S31, the header generation unit 175 acquires the display start time CTS (1) and the decoding time DTS (1) of the first frame of the encoded data, and sets the variable i to 1. At this time, the value of "Temporal Reference" in the frame data is used to obtain the display start time, and the decoding time is determined according to the type of frame (1, P, B frame) that composes the GOP and the display order. Calculated from time.
次にステップ S 3 2において、 へッダ生成部 1 1 5は (i + 1) お よび (i + 2) 番目フレームの表示開始時間 C T S (i + 1) および CT S (i + 2) を取得する。 続いて、 ヘッダ生成部 1 7 5は、 ステップ S 3 3において、 取得した CT S (i + 1) および CT S (i + 2) の値 から (i + 1) および (i + 2) 番目フレームの復号時間 D T S (i + 1) および D T S (i+2) の値を算出し、 次のステップ S 3 4では、 D T S (i) 、 DT S (i + 1) 、 DT S (i + 2) の値から delta (i) 、 および delta (i + 1) を計算する。 なお、 ここでは i番目フレームと (i + 1) 番目フレームの復号時間の差分値を delta (i) と表記して いる。  Next, in step S32, the header generation unit 115 calculates the display start times CTS (i + 1) and CTS (i + 2) of the (i + 1) and (i + 2) th frames. get. Subsequently, in step S33, the header generating unit 17 5 calculates the (i + 1) and (i + 2) th frames from the acquired values of CTS (i + 1) and CTS (i + 2). Calculate the values of the decoding times DTS (i + 1) and DTS (i + 2), and in the next step S34, DTS (i), DTS (i + 1), DTS (i + 2) Calculate delta (i) and delta (i + 1) from the value of. Here, the difference between the decoding time of the i-th frame and the (i + 1) -th frame is denoted as delta (i).
ヘッダ生成部 1 7 5は、 ステップ S 3 5において、 delta (Π と delta (i + 1) が等しいか否かを判定する。 等しくないときはステツ プ S 3 7に進み、 等しいときはステップ S 3 6に進む。 ここで、 j の初期値は 1 とする。 ステップ S 3 7において、 ヘッダ生成部 1 7 5は、 j番目サンプルを構成するフレームを決定し、 jに 1を加算す る。 このとき、 j番目のサンプルの先頭フレームは、 (j- 1) 番目の サンプルにおける最終フレームの直後のフレームとし、 最終フレー ムを i番目フレームとする。 ただし、 先頭サンプル (j= l ) は符号 化データの先頭フレームから開始するとしている。 このように、 delta (i) に不連続が生じた際には新たなサンプルを作成すること により、 サンプルを構成する各フレームにおいて、 次フレームと現 フレームとの復号時間の差分値を等しくすることができる。 In step S35, the header generation unit 1775 determines whether or not delta (delta and delta (i + 1) are equal. Proceed to step S37, and if they are equal, proceed to step S36. Here, the initial value of j is 1. In step S37, the header generator 175 determines a frame constituting the j-th sample, and adds 1 to j. At this time, the first frame of the j-th sample is the frame immediately after the last frame in the (j-1) -th sample, and the last frame is the i-th frame. Note that the first sample (j = l) starts from the first frame of the encoded data. In this way, when a discontinuity occurs in delta (i), a new sample is created, so that the difference between the decoding time of the next frame and the current frame is equal in each frame constituting the sample. Can be.
次に、 ステップ S 3 6において、 へッダ生成部 1 7 5は、 i番目 フレームが GO Pの最終フレームであるか否かを判定する。 最終フ レームではないときはステップ S 3 9に進み、 最終フレームである ときは上述のステツプ S 3 7に進む。  Next, in step S36, the header generation unit 175 determines whether or not the i-th frame is the last frame of the GOP. If it is not the last frame, the process proceeds to step S39. If it is the last frame, the process proceeds to step S37.
ステップ S 3 9では、 へッダ生成部 1 7 5は (i+2) 番目フレー ムが符号化データの最終フレームであるか否かを判定する。 最終フ レームでないときにはステップ S 40に進み、 最終フレームである ときは、 j番目サンプルを決定して処理を終了する。 ステップ S 4 0において、 ヘッダ生成部 1 7 5は iに 1を加算して、 ステップ S 3 2からステップ S 3 6までの処理を繰り返す。 ここで、 j番目サ ンプルの先頭フレームは、 (j-1) 番目サンプルにおける最終フレ ームの直後のフレームとし、 最終フレームは (i + 2) 番目フレーム とする。 ステップ S 3 6において、 i番目フレームが G 0 Pの最終 フレームであると判定された際には、 ステップ S 3 7の処理を行う。 続いて、 ヘッダ生成部 1 7 5は、 ステップ S 3 8 において、 ( i + 2) 番目フレームが符号化データの最終フレームであるか否か を判定し、 最終フレームではない場合にはステツプ S 4 0において iに 1を加算し、 ステップ S 3 2からステップ S 3 8までの処理を 繰り返す。 この処理は、 最終フレームであると判定されるまで繰り 返される。 ステップ S 3 8において、 最終フレームであると判定さ れた際には、 〗番目サンプルの先頭フレームを (j -1 ) 番目サンプル における最終フレームの直後のフレームとし、 最終フレームを ( i +2) 番目フレームと決定し、 処理を終了する。 In step S39, the header generation unit 175 determines whether or not the (i + 2) -th frame is the last frame of the encoded data. If it is not the last frame, the process proceeds to step S40, and if it is the last frame, the j-th sample is determined and the process ends. In step S40, the header generation unit 1775 adds 1 to i, and repeats the processing from step S32 to step S36. Here, the first frame of the j-th sample is the frame immediately after the last frame in the (j-1) -th sample, and the last frame is the (i + 2) -th frame. In step S36, the ith frame is the last of G0P If it is determined that the frame is a frame, the process of step S37 is performed. Subsequently, in step S38, the header generation unit 1775 determines whether or not the (i + 2) -th frame is the last frame of the encoded data. At 0, 1 is added to i, and the processing from step S32 to step S38 is repeated. This process is repeated until the last frame is determined. In step S38, when it is determined that the frame is the last frame, the first frame of the〗 th sample is set to the frame immediately after the last frame in the (j -1) th sample, and the last frame is (i + 2) The frame is determined and the process ends.
図 2 7は、 決定されたサンプルとフレームとの関係を示す。 この G O Pでは復号時間順に 1枚の I フレームと 9枚の P (順方向予 測) フレームが配列されている。 図において、 " I " は I フレーム、 " P " は P フ レームを示す。 各フ レームの表示開始時間に は、 "Tempora l Re f e rence"の値が使用される。 なお、 ここではフレ ームの表示開始時間に基づいて復号時間を計算する例を説明したが、 ビデオの符号化データ内に各フレームの復号時間を示す情報が含ま れる場合には、 その情報を使用してもよい。  Figure 27 shows the relationship between the determined sample and the frame. In this GOP, one I frame and nine P (forward prediction) frames are arranged in order of decoding time. In the figure, "I" indicates an I frame and "P" indicates a P frame. The value of "Temporal Reference" is used as the display start time of each frame. Here, an example has been described in which the decoding time is calculated based on the display start time of the frame. However, when the information indicating the decoding time of each frame is included in the encoded video data, the information is calculated. May be used.
図 2 7に示す0〇?は、 I フレームと Pフレームのみから構成さ れるため、 全てのフレームの表示開始時間と復号時間とは等しい。 ここで、 フレーム P— 8の表示開始時間と復号時間とが一時的に変 更された場合を考える。 例えば、 他のフレーム間では復号時間の差 分値は全て 1であるのに対し、 フレーム P— 7とフレーム P— 8の 復号時間の差分値は 2にされているとする。 すると、 ヘッダ生成部 1 7 5は、 フレーム I — 1からフレーム P— 6までのサンプル 1 、 フレーム P _ 7のみを含むサンプル 2およびフレーム P— 8からフ レーム P— 1 0までのサンプル 3を生成する。 0〇 shown in Figure 27? Since is composed only of I and P frames, the display start time and decoding time of all frames are equal. Here, let us consider a case where the display start time and the decoding time of frame P-8 are temporarily changed. For example, the difference in decoding time between all other frames is 1, whereas the difference between frames P-7 and P-8 is It is assumed that the decoding time difference value is 2. Then, the header generation unit 1 75 5 generates sample 1 from frame I-1 to frame P-6, sample 2 including only frame P_7, and sample 3 from frame P-8 to frame P-10. Generate.
図 2 8は、 決定されたサンプルとフレームとの関係を示す他の例 を示す。 この G O Pでは復号時間順に Ι Β Β Ρ Β Β Ρ Β Β Ρ · ' の 順序で各フレームが配列されている。 Bは B (双方向予測) フレー ムを示す。 この例では、 Iおよび Pフレームの復号時間は、 表示開 始時間から 3を減算することにより計算され、 Bフレームの復号時 間は表示開始時間と等しい。 ここで、 符号化時にフレーム B— 5の 部分でフレームスキップが発生した場合を考える。 すると、 フレー ム P _ 4において次フレームと現フレームとの復号時間の差分値が 不連続になる。 そこで、 へッダ生成部 1 7 5は、 フレーム I — 1か らフレーム B— 3までのサンプル 1、 フレーム P— 4のみを含むサ ンプル 2およびフレーム B— 6からフレーム P— 1 0までのサンプ ル 3を生成する。  FIG. 28 shows another example showing the relationship between the determined sample and the frame. In this GOP, frames are arranged in the order of 復 号 Ι Β Ρ Β Β Ρ Β Β Ρ Ρ 'in order of decoding time. B indicates B (bidirectional prediction) frame. In this example, the decoding time of the I and P frames is calculated by subtracting 3 from the display start time, and the decoding time of the B frame is equal to the display start time. Here, let us consider a case where a frame skip occurs in the portion of frame B-5 during encoding. Then, in frame P_4, the difference value of the decoding time between the next frame and the current frame becomes discontinuous. Therefore, the header generation unit 17 5 generates a sample 1 from frame I-1 to frame B-3, a sample 2 including only frame P-4, and a frame 1 from frame B-6 to frame P-10. Generate sample 3.
上述の処理によってサンプルを構成するフレームを決定し、 それ らのフレームを含むサンプルを生成することにより以下の利点があ る。 すなわち、 再生装置側では、 連続する 2つのサンプルの復号時 間の差分値を、 サンプルを構成するフレーム数で除算することによ り、 サンプルデ一夕を解析することなしに、 現フレームを復号して から次フレームを復号するまでの時間を画一的な計算によって取得 することができる。 なお、 M P 4では、 サンプルを構成するフレー ム数は、 図 2 1 (a) および (b) に記載された st sd 5 6のェント リ一中の frame— countフィールドによって特定される。 含まれるフ レームの数が異なるサンプルは、 それぞれ対応する frame— count値 を持った異なる stsdエントリ一を参照する。 例えば、 サンプルを構 成するフレーム数が 5, 6, 7の 3種類である場合には、 frame_ count値がそれぞれ 5, 6 , 7である 3つのエントリ一を stsd 5 6 に生成し、 参照すればよい。 なお、 必要となりそうな frame一 count 値を予め予想し、 それらの frame— count値を網羅した stsdェントリ 一群を予め生成しておいてもよい。 The following advantages are obtained by determining the frames constituting the sample by the above-described processing and generating the sample including the frames. In other words, the playback device decodes the current frame without analyzing the sample data by dividing the difference between the decoding times of two consecutive samples by the number of frames constituting the sample. Then, the time from decoding to decoding the next frame can be obtained by uniform calculation. In MP4, the frames that make up the sample The number of frames is specified by the frame-count field in the st sd 56 entry shown in FIGS. 21 (a) and (b). Samples that contain different numbers of frames refer to different stsd entries, each with a corresponding frame-count value. For example, if the number of frames constituting the sample is 5, 6, and 7, three entries with frame_count values of 5, 6, and 7 are generated in stsd 56 and referenced. Just fine. Note that a frame-count value that may be required may be predicted in advance, and a group of stsd entries covering those frame-count values may be generated in advance.
(実施形態 3 )  (Embodiment 3)
第 3の実施形態によるデータ処理装置は、 ビデオデータを受け取 つて MP E G— 2 V i s u a l に従って符号化する。 データ処理 装置は、 符号化データにおいて連続する 2つのフレームの復号時間 の差分値が不連続となったときには、 各サンプルが含むフレーム数 を可能な限り一定に保つことにより、 サンプルが参照する stsdのェ ントリ一が頻繁に切り替わることを防止する MP 4ファイルを生成 する。 なお、 本データ処理装置が処理するビデオデ一夕は、 MP E G— 4 AV Cまたは MP E G— 4 V i s u a lであってもよい。 なお、 サンプルに含まれるビデオデータは、 フレーム構造のデータ に限定されるものではなく、 フィールド構造のデ一夕であってもよ い。  The data processing device according to the third embodiment receives video data and encodes the video data according to MPEG-2Visual. When the difference between the decoding times of two consecutive frames in the coded data becomes discontinuous, the data processing device keeps the number of frames included in each sample as constant as possible, so that the stsd referenced by the sample is Generate MP4 files to prevent frequent switching of entries. The video data processed by the data processing apparatus may be MPEG-4AVC or MPEG-4Visual. The video data included in the sample is not limited to frame-structured data, but may be field-structured data.
本実施形態によるデータ処理装置の構成は、 実施形態 2にかかる データ処理装置の構成と同一であり、 ヘッダ生成部 1 7 5以外の各 構成要素の動作は同一である。 よって、 以下ではデータ処理装置の 各構成要素の説明は省略し、 ヘッダ生成部 1 7 5の動作を説明する。 図 2 9は、 へッダ生成部 1 7 5によって実行される、 符号化デ一 夕内のフレームをサンプルに多重化する手順を示す。 サンプル単位 の決定は、 1サンプルが 1 GO P内の全てのフレームを含むように することを目標として行う。 図 2 9では、 iはサンプル番号を表し、 sample— durは i番目と(i+ 1 )番目のサンプルの復号時間の差分値 を表し、 num— frameは i番目サンプルに含まれるフレーム数を表す とする。 sample— dur、 および num— frameの初期値は 0、 iの初期値 は 1 とする。 The configuration of the data processing device according to the present embodiment is the same as the configuration of the data processing device according to the second embodiment. The operation of the components is identical. Therefore, in the following, description of each component of the data processing device will be omitted, and the operation of the header generation unit 175 will be described. FIG. 29 shows a procedure executed by the header generation unit 175 to multiplex a frame in an encoded data into a sample. The decision on a sample-by-sample basis is made so that one sample includes all frames in one GOP. In FIG. 29, i represents the sample number, sample—dur represents the difference between the decoding times of the i-th and (i + 1) th samples, and num—frame represents the number of frames contained in the i-th sample. I do. The initial values of sample—dur and num—frame are 0, and the initial value of i is 1.
ステップ S 4 1 において、 ヘッダ生成部 1 7 5は、 Temporal Referenceの値に基づいて現フレームおよび次フレームの表示時間 を取得し、 それぞれのフレームの復号時間を算出した後に、 現フレ 一ムと次フレームの復号時間の差分値を計算する。  In step S41, the header generation unit 175 obtains the display time of the current frame and the next frame based on the value of the Temporal Reference, calculates the decoding time of each frame, and then calculates the current frame and the next frame. The difference value of the decoding time of the frame is calculated.
次に、 ステップ S 4 2において、 ヘッダ生成部 1 7 5は、 sample — durに frame— durを加算し、 num— frameに 1を加算する。 その後、 ヘッダ生成部 1 7 5は、 ステップ S 4 3において現フレームの frame— durと符号化時のフレームレ一トから算出した表示時間長と を比較し、 フレームスキップが発生しているか否かを判定する。 フ レームスキップが発生したことを判定すると、 ステップ S 44にお いて、 ヘッダ生成部 1 7 5はスキップしたフレーム数分だけ num— frameに値を加算する。 例えば、 符号化データのフレームレ一卜が 1 0 H zである場合、 各フレームにおける復号時間の差分値は 1 0 0m s となる。 ここで、 N番目フレームの frame— durが 30 0 m s であるとすると、 N+ l番目、 N + 2番目の 2枚のフレームはスキ ップされたと判定できるため、 ヘッダ生成部 1 7 5は num— frameに 2を加算する。 続いて、 へッダ生成部 1 7 5は、 ステップ S 45に おいて現フレームが GO Pの最終フレームであるか否かを判定する。 最終フレームでない場合には、 へッダ生成部 1 7 5はステツプ S 4 1に戻り、 GO Pに含まれる最終サンプルの処理が完了するまでス テツプ S 4 1からステップ S 4 5の処理を繰り返す。 1 GO P分の フレームの処理が完了すると、 ステップ S 4 6において i番目およ び i+ 1番目サンプルの復号時間の差分値を示す sa即 le— dur、 およ び、 i番目サンプルに含まれるフレーム数を示す num— frameを取得 する。 Next, in step S42, the header generator 175 adds frame-dur to sample-dur, and adds 1 to num-frame. After that, the header generation unit 1775 compares the frame-dur of the current frame with the display time length calculated from the frame rate at the time of encoding in step S43, and determines whether a frame skip has occurred. Is determined. When it is determined that a frame skip has occurred, in step S44, the header generation unit 1775 adds a value to num-frame by the number of skipped frames. For example, if the frame rate of the encoded data is 10 Hz, the difference between the decoding times in each frame is 10 Hz. 0 ms. Here, assuming that the frame—dur of the Nth frame is 300 ms, the two frames N + l and N + 2 can be determined to have been skipped. — Add 2 to frame. Subsequently, in step S45, the header generation unit 1775 determines whether or not the current frame is the last frame of the GOP. If it is not the last frame, the header generation unit 1775 returns to step S41, and repeats the processing from step S41 to step S45 until the processing of the last sample included in the GOP is completed. . When the processing of the frame for one GOP is completed, in step S46, the difference between the decoding time of the i-th and (i + 1) -th samples is obtained. Get num—frame indicating the number of frames.
次に、 ステップ S 47において、 ヘッダ生成部 1 7 5は、 現フレ ームが符号化データの最終フレームであるか否かを判定する。 最終 フレームでない場合には、 ステップ S 4 8において iに 1を加算し、 sample— durと frame— durを 0にセッ トした後にステツプ S 4 1か らステップ S 47までの処理を繰り返し、 最終フレームに達した時 点で処理を終了する。 なお、 フレームスキップの頻度が、 ある一定 値以上に達した際には、 ステップ S 44における num— frameの加算 処理を行わないとしてもよい。  Next, in step S47, the header generator 175 determines whether or not the current frame is the last frame of the encoded data. If the frame is not the last frame, 1 is added to i in step S48, sample—dur and frame—dur are set to 0, and then the processing from step S41 to step S47 is repeated. The process ends when it reaches. When the frequency of frame skipping reaches a certain value or more, the addition processing of num-frame in step S44 may not be performed.
図 3 0は、 GO P内のフレームが格納されたサンプルを示す。 こ の例では、 GOP 1と GO P 2の 2つの GOPを構成するフレーム をサンプル 1および 2に格納する。 まず、 GO P 1に含まれるフレ ーム 1からフレーム 5までの 5枚のフレームをサンプル 1にマツピ ングする。 次に、 G〇P 2に含まれる 4枚のフレームを処理する。 GO P 2では、 フレーム 7においてフレームスキップが発生し、 フ レーム 7の表示時間長が他のフレームの 2倍となっている。 このフ レームの処理において、 ヘッダ生成部 1 7 5は、 ステップ S 4 3に おいてフレームが 1枚分スキップされたと判定し、 ステップ S 44 に進んで、 num— frameに 1を加算する。 その結果、 フレーム 7の処 理終了時点で num_frameの値は 3となり、 フレームスキップが発生 していない場合と同一の値をとる。 すなわち、 サンプル 2に対応す る frame— countは 4ではなく、 サンプル 1 と同様に 5となる。 FIG. 30 shows a sample in which the frames in the GOP are stored. In this example, frames forming two GOPs, GOP 1 and GOP 2, are stored in samples 1 and 2. First, the frame included in GO P 1 Map 5 frames from frame 1 to frame 5 to sample 1. Next, four frames included in G〇P 2 are processed. In GOP 2, a frame skip occurs in frame 7, and the display time length of frame 7 is twice as long as other frames. In the processing of this frame, the header generator 175 determines that one frame has been skipped in step S43, proceeds to step S44, and adds 1 to num-frame. As a result, at the end of the processing of frame 7, the value of num_frame is 3, which is the same value as when no frame skip has occurred. That is, the frame count corresponding to sample 2 is not 4, but 5 as in sample 1.
M P 4フアイルの moov 5 2では、 サンプルが参照する s t sd 5 6の エントリー (図 2 1 ( b ) ) は st sc 5 7によって示される。 stsc5 7には、 サンプルが参照する stsdのェントリーが切り替わるたびに、 stsc内のデータテーブルのェントリ一が追加される。  In moov 52 of the MP4 file, the st sd 56 entry referenced by the sample (Figure 21 (b)) is indicated by st sc 57. Each time the stsd entry referenced by the sample is switched, the entry of the data table in stsc is added to stsc57.
本実施形態によれば、 フレームスキップが発生した際にも frame According to the present embodiment, even when a frame skip occurs,
— countが一定に保たれるので、 参照する stsdのエントリーの切り 替わり頻度が減少し、 データ処理装置の再生負荷も削減できる。 さ らに、 MP 4の拡張部を使用する際にも、 参照するエントリーが切 り替わらないので、 サンプル情報を格納する trafを切り替える必要 はなく、 オーバーヘッドの増大は発生しない。 — Since the count is kept constant, the switching frequency of the referenced stsd entry is reduced, and the data processing device's regeneration load can be reduced. Furthermore, when using the MP4 extension, the entry to be referred to is not switched, so there is no need to switch the traf that stores the sample information, and no increase in overhead occurs.
本実施形態では、 1サンプルが 1 GO P内の全てのフレームを含 むことを目標としてサンプルの単位を決定した。 しかし、 サンプル の単位は、 MP E G— 4 V i s u a l における GO Vまたは MP E G— 4 A VCにおけるサブシーケンスであってもよい。 または、 MPEG— 4 Visualにおける I フレームから、 次の Iフレームの直前 のフレームまでとしてもよいし、 MP E G— 4 AV Cにおける IDR (Instantaneous decoder refresh) ピクチャ力、ら、 次の IDRピ クチャの直前のピクチャまでとしてもよい。 In the present embodiment, the unit of the sample is determined so that one sample includes all frames in one GOP. However, the sample unit is GO V or MP in MP EG—4 Visual It may be a subsequence in EG-4A VC. Alternatively, it can be from the I-frame in MPEG-4 Visual to the frame immediately before the next I-frame, or the MPR-EG4 AVC's IDR (Instantaneous decoder refresh) picture power, etc., immediately before the next IDR picture May be used.
(実施形態 4)  (Embodiment 4)
第 4の実施形態によるデータ処理装置は、 図 2 9に示す手順によ つて生成された MP 4ファイルを受け取って解析し、 符号化デ一夕 を復号して表示する。 本実施形態における 「ビデオデータ」 は符号 化方式に依存しない映像のデータであるとする。 例えば、 「ビデオ データ」 は M P E G— 4 AVC、 MP EG— 4 V i s u a l ま たは M P EG— 2 V i s u a l である。 ただし、 双方向予測を用 いた符号化は行わないとする。  The data processing device according to the fourth embodiment receives and analyzes the MP4 file generated according to the procedure shown in FIG. 29, and decodes and displays the encoded data. It is assumed that “video data” in the present embodiment is video data that does not depend on the encoding method. For example, "video data" is MPEG-4AVC, MPEG-4Visual or MPEG-2Visual. However, it is assumed that encoding using bidirectional prediction is not performed.
図 3 1は、 本実施形態によるデータ処理装置 2 0 0の機能ブロッ クの構成を示す。 動画ストリーム復号部 2 0 0は、 いわゆる逆多重 化処理を行って、 符号化ストリームを復号化する。 デ一夕処理装置 2 0 0は、 受信部 2 0 1と、 メモリ 2 0 2、 2 0 4、 2 0 5と、 分 離部 2 0 3と、 解析部 2 0 6と、 復号表示部 2 0 7とを有する。  FIG. 31 shows a functional block configuration of the data processing device 200 according to the present embodiment. The video stream decoding unit 200 performs a so-called demultiplexing process to decode the encoded stream. The data processing unit 200 includes a reception unit 201, memories 202, 204, 205, a separation unit 203, an analysis unit 206, and a decoding display unit 2. 07.
以下、 データ処理装置 2 0 0の各構成要素を説明しながらデータ 処理装置 2 0 0の処理の流れを説明する。 例えば MP 4ファイルが C D— R OMに記録されているとすると、 受信部 20 1は、 ピック アップ 1 3 0を介して読み出された M P 4ファイルデータを受け取 つて、 MP 4ファイルデ一夕 d 2 0 2としてメモリ 2 0 2に入力す る。 このとき、 受信部 2 0 1は、 光ディスクドライブ (図示せず) との接続を確保するインタ一フェース部である。 分離部 2 0 3は、 メモリ 2 0 2から MP 4フアイルデータ d 2 0 3を取得し、 moovま たは moofから構成される MP 4のヘッダ部分と、 mdatから成る MP 4のデータ部分とを分離し、 へッダ部分のデ一夕 d 2 0 4をメモリ 2 0 4に入力し、 データ部分のデータ d 2 0 5をメモリ 2 0 5に入 力する。 ここで、 メモリ 2 0 5は半導体メモリであってもよいし、 ハードディスクや光ディスク等の記録媒体を備えたドライブ装置で あってもよい。 Hereinafter, the processing flow of the data processing device 200 will be described while describing the components of the data processing device 200. For example, if an MP4 file is recorded on a CD-ROM, the receiving unit 201 receives the MP4 file data read out via the pickup 130 and reads the MP4 file data. Input to memory 202 as 202 You. At this time, the receiving unit 201 is an interface unit for securing connection with an optical disk drive (not shown). The separation unit 203 obtains the MP4 file data d203 from the memory 202, and separates the MP4 header part composed of moov or moof from the MP4 data part composed of mdat. Separate and input the header data d200 to memory 204 and the data data d205 to memory 205. Here, the memory 205 may be a semiconductor memory or a drive device having a recording medium such as a hard disk or an optical disk.
解析部 2 0 6は、 メモリ 2 0 4よりへッダ部デ一夕 d 2 0 6を取 得し、 解析してサンプル、 または、 サンプルに含まれるフレームの サイズ、 復号時間、 格納場所等に関する情報を取得した後、 解析結 果をデ一夕 d 2 0 7として復号表示部 2 0 7に入力する。 復号表示 部 2 0 7は、 解析結果データ d 2 0 7を元に、 メモリ 2 0 5からサ ンプルデ一夕を取得し、 サンプルに含まれるフレームを取り出した 後、 復号して表示する。 なお、 ビデオデータは、 フレーム単位で構 成されていなくてもよく、 フィールド単位で構成されていてもよレ^ 次に、 解析部 2 0 6が、 サンプルに含まれる各フレームの復号時 間を求める方法を説明する。 入力される MP 4ファイルは、 第 3の 実施形態による処理に基づいて生成されたとする。 すなわち、 サン プル内でフレームスキップが発生しているときであっても、 その frame— countの値は、 フレームスキップが発生していないときのサ ンプルと同一の frame countの値と同じである。 いま、 サンプルに は 1から N番目までのフレームが含まれ、 各フレームにおいて復号 時間と表示時間は等しいとする。 The analysis unit 206 obtains the header data d 206 from the memory 204 and analyzes it, and analyzes the sample or the size of the frame included in the sample, decoding time, storage location, etc. After acquiring the information, the result of the analysis is input to the decoding display unit 207 as the data d207. The decoding display unit 2007 obtains the sample data from the memory 205 based on the analysis result data d207, extracts a frame included in the sample, and then decodes and displays the frame. Note that the video data does not need to be composed of frames, but may be composed of fields. Next, the analysis unit 206 determines the decoding time of each frame included in the sample. The method for obtaining the value will be described. It is assumed that the input MP4 file is generated based on the processing according to the third embodiment. That is, even when a frame skip occurs in the sample, the frame count value is the same as the frame count value of the sample when no frame skip occurs. Now, in the sample Includes the first to Nth frames, and the decoding time and display time are equal in each frame.
まず、 解析部 2 0 6は、 1から N— 1番目のフレームについて、 連続する 2フレーム間の復号時間の差分値を計算する。 具体的には、 解析部 2 0 6は、 現サンプルと次サンプルとの復号時間の差分値を s t t s 5 5または t run 6 4から取得し、 f r ame— coun tで除算すること により、 連続する 2フレーム間の復号時間の差分値を計算する。  First, the analysis unit 206 calculates the difference value of the decoding time between two consecutive frames for the 1st to N—1st frames. Specifically, the analysis unit 206 obtains the difference value between the decoding time of the current sample and the next sample from the stts 55 or the trun 64, and divides the difference by the frame-count to obtain a continuous value. Calculate the difference value of decoding time between two frames.
次に、 解析部 2 0 6は、 N番目フレームと次フレームとの復号時 間の差分値を計算する。 すなわち、 解析部 2 0 6は、 1番目フレー ムから N— 1番目フレームまでの復号時間差分値の総和を、 サンプ ルの復号時間差分値から減算して、 復号時間の差分値を求める。 こ の計算によれば、 フレームスキップ発生時には最終フレームおよび スキップが発生しているフレームの復号時間差分値は正確に得られ ないが、 それら以外のフレームに対しては正確な復号時間差分値を 取得することができる。  Next, the analysis unit 206 calculates a difference value between the decoding time of the Nth frame and the next frame. That is, the analysis unit 206 obtains the decoding time difference value by subtracting the sum of the decoding time difference values from the first frame to the (N−1) th frame from the sample decoding time difference value. According to this calculation, when the frame skip occurs, the decoding time difference value of the last frame and the frame in which the skip occurs cannot be obtained accurately, but the decoding time difference value of the other frames is obtained accurately. can do.
図 3 2 ( a ) 〜 (c ) は、 符号化データを構成するフレームデー 夕とその復号時間の関係を示す。 図 3 2 ( a ) は、 符号化データに 含まれるフレームと復号時間との関係を示す。 サンプルには、 フレ —ム 1, フレーム 2、 フレーム 3、 フレーム 4の 4枚のフレームが 含まれており、 フレーム 2においてスキップが発生したため、 フレ —ム 2の復号時間の差分値が 2秒、 他のフレームは 1秒となってい る。  Fig. 32 (a) to (c) show the relationship between the frame data constituting the encoded data and the decoding time. Fig. 32 (a) shows the relationship between the frames included in the encoded data and the decoding time. The sample contains four frames, Frame 1, Frame 2, Frame 3, and Frame 4. Since a skip occurred in Frame 2, the difference between the decoding times of Frame 2 was 2 seconds, Other frames are 1 second.
次に、 解析部 2 0 6により得られる各フレームの復号時間の差分 値を説明する。 図 3 2 (b) は、 解析部 2 0 6により得られるフレ 一ムの復号時間を示す。 フレーム 1、 フレーム 2、 フレーム 3の復 号時間差分値は、 そのサンプルと次のサンプルとの復号時間の差分 値を frame— countで除算して得られる。 図 3 2 ( b ) の例では、 サ ンプルの復号時間差分値は 5秒、 frame— count値は 5である。 よつ て、 これら 3枚のフレームの復号時間差分値は 1秒である。 一方、 サンプルの最終フレームであるフレーム 4の復号時間差分値は、 サ ンプルの復号時間差分値から、 フレーム 1からフレーム 3までの復 号時間差分値の総和を減算することにより、 2秒と求められる。 なお、 図 3 2 ( c ) に示すように、 解析部 2 0 6は、 s Usまたは t runから得られるサンプルの復号時間差分値を frame— countで除算 することにより 2番目から N番目フレームの表示時間長を計算し、 1番目のフレームの復号時間差分値をサンプルの復号時間差分値か ら、 2番目から N番目フレームの復号時間差分値の総和を減算する ことにより計算してもよい。 Next, the difference between the decoding time of each frame obtained by the analysis unit 206 Explain the values. FIG. 32 (b) shows the decoding time of the frame obtained by the analysis unit 206. The difference between the decoding times of frames 1, 2, and 3 is obtained by dividing the difference between the decoding times of the sample and the next sample by frame count. In the example of Fig. 32 (b), the decoding time difference value of the sample is 5 seconds, and the frame count value is 5. Therefore, the decoding time difference value of these three frames is 1 second. On the other hand, the decoding time difference value of frame 4, which is the last frame of the sample, is calculated as 2 seconds by subtracting the sum of the decoding time difference values of frames 1 to 3 from the decoding time difference value of the sample. Can be As shown in FIG. 32 (c), the analysis unit 206 divides the decoding time difference value of the sample obtained from s Us or t run by the frame count to obtain the second to Nth frames. The display time length may be calculated, and the decoding time difference value of the first frame may be calculated by subtracting the sum of the decoding time difference values of the second to Nth frames from the decoding time difference value of the sample.
(実施形態 5)  (Embodiment 5)
第 5の実施形態によるデータ処理装置は、 1サンプルに複数ビデ オフレームが含まれる MP 4ファイルを受け取って解析し、 符号化 データを復号して表示する。 本データ処理装置が処理するビデオデ 一夕は、 MP E G— 4 AVCであるとするが、 処理するビデオデ 一夕は、 MP E G— 4 V i s u a l または MP E G— 2 V i s u a 1であってもよい。  The data processing device according to the fifth embodiment receives and analyzes an MP4 file in which one sample includes a plurality of video frames, decodes and displays encoded data. It is assumed that the video data processed by the present data processing apparatus is MPEG-4 AVC, but the video data processed may be MPEG-4 Visua1 or MPEG-2 Visua1.
1サンプルに複数ビデオフレームが含まれる際には、 各フレーム において復号時間と表示開始時間が異なると、 m o o vまたは m o o Πこは フレーム単位の時間情報が含まれないため、 各フレームの表示開始 時間を取得することができない。 When one sample contains multiple video frames, If the decoding time and the display start time are different in, the display start time of each frame cannot be obtained because moov or moo does not include time information in frame units.
そこで、 本実施形態によるデータ処理装置に入力される MP 4フ アイルには拡張したサンプル構造を採用し、 サンプルを構成するフ レームまたはフィールドの表示開始時間を取得できるようにした。  Therefore, an extended sample structure is adopted for the MP4 file input to the data processing device according to the present embodiment, so that the display start time of the frame or field constituting the sample can be obtained.
MP 4では、 ビデオやォ一ディォのフレームまたはフィ.一ルドの データをサンプル内に格納するための形式が規定されており、 その 形式にしたがう限り、 フレームまたはフィ一ルドのデータをサンプ ル内に格納することが可能である。 しかしその形式によっては、 フ レームデータまたはフィールドデ一夕がそのままサンプルに格納さ れるとは限らない。 例えば、 MP E G— 4 AVCの符号化データ を MP 4ファイルに格納する際には、 NAL (N e t wo r k A d a p t a t i o n L a y e r ) ユニッ トに、 NALユニットの サイズを付加して格納することが提案されており、 フレームデ一夕 等がそのまま連続的に格納されていない。  MP4 specifies a format for storing video or audio frame or field data in a sample, and as long as that format is used, the frame or field data is stored in the sample. Can be stored. However, depending on the format, the frame data or field data is not always stored as it is in the sample. For example, when storing encoded data of MP EG-4 AVC in an MP4 file, it is suggested that the size of the NAL (Network A daptation Layer) unit be added to the NAL unit and stored. Is not stored continuously as it is.
図 3 3 (a) 〜 ( c ) は、 逆多重化処理を行う対象となる MP 4 ファイルのサンプル構造を示す。 図 3 3 (a) は、 N枚 (N : 2以 上の整数) のフレームが 1サンプルに含まれるときのサンプルの構 造を示し、 各アクセスユニッ トの前に表示時間情報が付与される。  FIGS. 33 (a) to 33 (c) show sample structures of MP4 files to be demultiplexed. Figure 33 (a) shows the structure of a sample when N frames (N: an integer equal to or greater than 2) are included in one sample, and display time information is added before each access unit .
「アクセスユニッ ト」 とは、 この例では 1フレームのデ一夕を M P 4における格納形式に変換した後のデータを表す。 より一般的に いえば、 「アクセスユニッ ト」 とは、 1フレームまたは 1フィ一ル ドを表す 1 ピクチャのデータを格納する単位である。 In this example, the “access unit” indicates data obtained by converting one frame of data into a storage format in MP4. More generally, an “access unit” is one frame or one file. Is a unit that stores data of one picture that represents a picture.
MP E G— 4 AVCを使用する際には、 表示時間情報として P MP E G—When using 4 AVC, P
0 C (P i c t u r e O r d e r C o u n t ) の値を使用する。 ここで、 P〇Cとは、 フレームの表示順序を示すパラメータである。 表示時間情報のフィールド長は、 stsdのエントリー内に新たにフ ィールドを設けることにより定義する。 ただし、 新たに設けられる フィールドは、 frame— countが 1より大きい場合にのみ存在すると する。 なお、 表示時間情報のフィールド長としては固定値を使用し てもよいし、 フレーム毎に指定してもよい。 Use the value of 0 C (Pict u r e O r d e r C o u n t). Here, PC is a parameter indicating the display order of frames. The field length of the display time information is defined by providing a new field in the stsd entry. However, it is assumed that the newly created field exists only when frame-count is greater than 1. Note that a fixed value may be used as the field length of the display time information, or may be specified for each frame.
図 3 3 ( a) に示すデータ構造では、 1以上のフレームのデータ を表すアクセスュニッ トおよびそのフレームの表示時間を表す表示 時間情報が、 交互に 1つのサンプル内に設けられている。  In the data structure shown in FIG. 33 (a), an access unit indicating data of one or more frames and display time information indicating a display time of the frames are alternately provided in one sample.
一方、 図 3 3 ( b ) は、 1フレーム分のアクセスユニッ トが格納 されたサンプルを示す。 サンプル内に 1フレーム分のアクセスュニ ッ トが格納される際には、 図 3 3 (b) に示すように、 従来通りァ クセスユニッ トのみが格納される。 図 3 3 ( c ) はサンプル構造の シンタックス例を示す。  On the other hand, FIG. 33 (b) shows a sample in which access units for one frame are stored. When one frame of access unit is stored in the sample, only the access unit is stored as before, as shown in Fig. 33 (b). Figure 33 (c) shows an example of the syntax of the sample structure.
なお、 FrameCount , Timelnf o, access― unit― data口はそれぞれ stsdのエントリーにおける frame— count値と、 表示時間情報、 ァク セスユニッ トのデータを示し、 LengthSizeは、 表示時間情報のフィ ールド長を表し、 stsdのェントリーにおいて新たに定義したフィ一 ルドにより示される。  The FrameCount, Timelnfo, and access-unit-data ports indicate the frame-count value, display time information, and access unit data in the stsd entry, respectively, and LengthSize indicates the field length of the display time information. , Indicated by newly defined fields in the stsd entry.
なお、 図 3 3 ( a ) に示したサンプル構造では表示時間情報とァ クセスュニッ トを対にして格納したが、 表示時間およびアクセスュ ニットをそれぞれまとめて格納することもできる。 図 34 ( a) は、 表示時間およびアクセスュニッ 卜をまとめて格納したサンプルを示 す。 図 34 ( b) は、 図 34 (a) のサンプル構造を実現するシン タックス例を示す。 In the sample structure shown in Fig. 33 (a), the display time information and the error Although the access units are stored in pairs, the display time and the access unit can be stored together. Fig. 34 (a) shows a sample that stores the display time and access unit together. Fig. 34 (b) shows an example of the syntax that implements the sample structure of Fig. 34 (a).
さらに、 第 1の実施形態と同様、 表示時間情報とともに、 または、 表示時間情報に代えて、 アクセスュニッ トのデータサイズを表す情 報をデ一夕ストリームに含めることも可能である。 図 34 ( c ) は、 表示時間情報の次にアクセスュニッ 卜のサイズを示すフィ一ルドを 追加した例を示す。 サイズフィールドの有無、 およびフィールド長 の設定方法に関しては、 表示時間情報と同様の方法を使用すること ができる。 表示時間およびデータサイズの情報は、 いずれも各フレ ームを特定するための属性を示している。  Further, similarly to the first embodiment, information indicating the data size of the access unit can be included in the data stream together with or instead of the display time information. FIG. 34 (c) shows an example in which a field indicating the size of the access unit is added next to the display time information. Regarding the presence or absence of the size field and the setting method of the field length, the same method as the display time information can be used. The display time and data size information all indicate attributes for specifying each frame.
図 3 5は、 本実施形態によるデータ処理装置 3 0 0の機能ブロッ クの構成を示す。 動画ストリーム復号部 2 0 0は、 いわゆる逆多重 化処理を行って、 符号化ストリームを復号化する。 データ処理装置 3 0 0は、 受信部 3 0 1と、 メモリ 3 0 2、 3 04、 3 0 5と、 分 離部 3 0 3と、 解析部 3 0 6と、 サンプル解析部 3 0 7と、 復号表 示部 3 0 8とを有する。  FIG. 35 shows a configuration of a functional block of the data processing device 300 according to the present embodiment. The video stream decoding unit 200 performs a so-called demultiplexing process to decode the encoded stream. The data processing device 300 includes a receiving unit 301, memories 302, 304, and 305, a separating unit 303, an analyzing unit 306, and a sample analyzing unit 307. And a decryption display unit 308.
データ処理装置 3 0 0と、 図 1 1に示すデータ処理装置 1 0との 対応関係は、 以下のとおりである。 すなわち、 受信部 3 0 1、 メモ リ 3 0 2および分離部 3 0 3は、 データ処理装置 1 0の再生部 1 1 3に相当する。 メモリ 3 04は、 付属情報保持メモリ 1 1 8に相当 W The correspondence between the data processing device 300 and the data processing device 10 shown in FIG. 11 is as follows. That is, the receiving unit 301, the memory 302, and the separating unit 303 correspond to the reproducing unit 113 of the data processing device 10. Memory 304 is equivalent to attached information storage memory 118 W
するメモリ 3 0 5、 解析部 3 0 6、 サンプル解析部 3 0 7、 復号表 示部 3 0 8は、 データ処理装置 1 0の動画ストリーム復号部 1 1 1 に相当する。 なお、 復号表示部 3 0 8における表示機能は、 データ 処理装置 1 0の映像信号出力部 1 1 0に相当する。 The memory 305, the analyzing unit 306, the sample analyzing unit 307, and the decoding display unit 308 which correspond to the moving image stream decoding unit 111 of the data processing device 10. The display function of the decoding display unit 308 corresponds to the video signal output unit 110 of the data processing device 10.
以下、 データ処理装置 3 0 0の各構成要素を説明する。 受信部 3 Hereinafter, each component of the data processing device 300 will be described. Receiver 3
0 1は、 入力される MP 4フアイルデータを、 MP 4フアイルデ一 夕 d 3 0 2としてメモリ 3 0 2に入力する。 分離部 3 0 3は、 メモ リ 3 0 2から MP 4ファイルデータ d 3 0 3を取得し、 moovまたは moofから構成される M P 4のヘッダ部分と、 mdatから構成される M P 4のデータ部分とを分離し、 ヘッダ部分のデータ d 3 04をメモ リ 3 0 4に入力し、 データ部分のデータ d 3 0 5をメモリ 3 0 5に 入力する。 ここで、 メモリ 3 0 5はハードディスクや光ディスクな どの記録手段であってもよい。 0 1 inputs the input MP4 file data to the memory 302 as an MP4 file file d302. The separating unit 303 obtains the MP4 file data d303 from the memory 302, and outputs the MP4 header portion composed of moov or moof, and the MP4 data portion composed of mdat. Are separated, the header data d 304 is input to the memory 304, and the data d 305 is input to the memory 305. Here, the memory 305 may be a recording means such as a hard disk or an optical disk.
解析部 3 0 6は、 メモリ 3 04よりへッダ部デ一夕 d 3 0 6を取 得し、 解析してサンプルのサイズ、 復号時間、 格納場所等の情報を 取得した後、 解析結果をデータ d 3 0 7としてサンプル解析部 3 0 7に入力する。 サンプル解析部 3 0 7は、 解析結果 d 3 0 7を元に、 メモリ 3 0 5からサンプルデータを取得し、 サンプルからピクチャ データ d 3 0 9を取得し、 復号表示部 3 0 8に入力する。 復号表示 部 3 0 8は、 入力されたピクチャデータ d 3 0 9を復号し、 表示す る。  The analysis unit 300 acquires the header data d306 from the memory 304, analyzes it, obtains information such as the sample size, decoding time, and storage location, and then analyzes the analysis result. The data is input to the sample analyzer 307 as data d307. The sample analysis unit 307 obtains sample data from the memory 305 based on the analysis result d 307, obtains picture data d 309 from the sample, and inputs it to the decoding display unit 308. . The decoding display unit 308 decodes and displays the input picture data d309.
図 3 6は、 サンプル解析部 3 0 7がサンプルからピクチャデータ を取得する処理の手順を示す。 ここで、 field length, AU_ size は、 それぞれ表示時間情報のフィールド長、 アクセスユニッ トのサ ィズを示す。 変数し データ読み出しポインタ Ptrの初期値はともに 0とする。 まず、 ステップ S 5 1 において、 サンプルに対応する stsdのエントリ一番号を取得し、 ステップ S 5 2において、 ステツ プ S 5 1で取得したェントリ一番号をもつェントリ一の frame— countを取得する。 ここで、 frame— countが 1より大きい場合には、 field— lengthも取得する。 FIG. 36 shows a procedure of a process in which the sample analyzer 307 acquires picture data from a sample. Where field length, AU_size Indicates the field length of the display time information and the size of the access unit, respectively. The initial value of both the variable data read pointer Ptr is 0. First, in step S51, the entry number of the stsd corresponding to the sample is obtained, and in step S52, the frame-count of the entry having the entry number obtained in step S51 is obtained. Here, if frame-count is greater than 1, field-length is also obtained.
次に、 ステップ S 5 3において、 取得した frame— count値が 1よ り大きいか否かを判定し、 1より大きい場合にはステツプ S 5 4に おいて、 表示時間情報を取得して、 読み出しポインタを field— lengthバイ ト分進める。 次に、 ステップ S 5 5において、 アクセス ュニッ トデ一夕を取得し、 読み出しボイン夕を AU_size分進める。 続いて、 ステップ S 5 6においてアクセスユニッ トデータから、 M P 4のアクセスュニッ ト構造に基づいてピクチャデータを取得する。 ステップ S 5 7では iに 1を加算し、 ステップ S 5 8において、 iが frame— countより小さいか否かを判定し、 小さい場合には、 ステツ プ S 5 3からステップ S 5 8の処理を繰り返す。  Next, in step S53, it is determined whether or not the acquired frame count value is greater than 1, and if it is greater than 1, display time information is acquired and read in step S54. Move the pointer forward by field—length bytes. Next, in step S55, the access unit data is acquired, and the read-in operation is advanced by AU_size. Subsequently, in step S56, picture data is obtained from the access unit data based on the access unit structure of the MP4. In step S57, 1 is added to i. In step S58, it is determined whether or not i is smaller than the frame count, and if it is smaller, the processing from step S53 to step S58 is performed. repeat.
本実施形態では、 表示時間情報として P OCを利用して説明した。 しかし、 表示開始時間を直接指定してもよいし、 表示開始時間と復 号時間との差分値、 または、 サンプル内における先頭フレームの復 号時間と各フレームの表示開始時間との差分値を指定してもよい。 さらに、 各アクセスユニッ トのデータサイズを指定してもよい。 ま たは、 復号時間および表示開始時間、 または、 復号時間と表示開始 時間との差分値および復号時間を指定してもよいし、 各フレームの 復号時間のみを指定してもよい。 In the present embodiment, the description has been made using the PAC as the display time information. However, the display start time may be specified directly, or the difference between the display start time and the decoding time, or the difference between the decoding time of the first frame in the sample and the display start time of each frame. May be. Further, the data size of each access unit may be specified. Or, decryption time and display start time, or decryption time and display start The difference value from the time and the decoding time may be specified, or only the decoding time of each frame may be specified.
なお、 M P E G— 4 V i s u a 1規格では、 "Modulo Time Base" の値および "VOP Time Increment" の値からフレームの表示 時間を取得できる。 よって表示時間の指定または表示開始時間と復 号時間との差分値などを用いることができる。  According to the MPEG-4Visua1 standard, the display time of a frame can be obtained from the value of "Modulo Time Base" and the value of "VOP Time Increment". Therefore, the display time can be specified or a difference value between the display start time and the decoding time can be used.
(実施形態 6)  (Embodiment 6)
第 6の実施形態によるデータ処理装置は、 1サンプルに複数ビデ オフレームまたはフィールドが含まれる MP 4ファイルを受け取つ て解析し、 符号化データを復号して表示する。 以下の説明は、 フレ ームおよびフィールドのいずれにも適用できるので、 これらを含む 概念として 「ピクチャ」 という語を用いて説明する。 異なる 2つの ビデオピクチャでは、 表示時間、 復号時間の少なくとも一方が異な るとする。  The data processing device according to the sixth embodiment receives and analyzes an MP4 file in which one sample includes a plurality of video frames or fields, decodes and displays encoded data. Since the following description can be applied to both frames and fields, the concept including these is described using the term “picture”. It is assumed that at least one of the display time and the decoding time is different between two different video pictures.
なお、 本データ処理装置が処理するビデオデータは、 MP EG— 4 A V C形式で符号化されているとするが、 他に MP E G— 4 V i s u a l 、 MP E G— 2 V i s u a l または H. 2 6 3であ つてもよい。 また、 オーディオまたはテキストデ一夕の複数フレー ムを 1サンプルに格納してもよい。  It is assumed that the video data processed by the data processing apparatus is encoded in the MPEG-4 AVC format, but the MP-EG-4 Visual, MPEG-2 Visual or H.263 It may be. Also, multiple frames of audio or text data may be stored in one sample.
1サンプルに複数ビデオピクチャが含まれる際には、 moovおよび moo fはサンプル単位の情報しか含まれないため、 ピクチャ単位の復 号時間または表示開始時間を取得するには、 ピクチャデータを解析 しなければならない。 また、 MP E G— 4 AVCをMP 4に格納 する際には、 スタートコードを使用しないため、 ピクチャの境界を 取得する際にもピクチャデータの解析が必要になるばかりでなく、 サンプルデータにビット誤りが発生した際には、 サンプルにおいて、 誤り発生位置以降に格納されるピクチャデータを取得できなくなる 可能性がある。 When one sample includes multiple video pictures, moov and moo f only contain information on a sample basis, so to obtain the decoding time or display start time on a picture basis, the picture data must be analyzed. Must. MP EG—4 AVC stored in MP4 In this case, the start code is not used, so not only the analysis of the picture data is necessary to obtain the picture boundaries, but also if a bit error occurs in the sample data, an error occurs in the sample. Picture data stored after the position may not be obtained.
そこで、 逆多重化処理を行う本実施形態によるデータ処理装置に 入力される MP 4ファイルには拡張したサンプル構造を採用し、 ピ クチャデータを解析することなしに、 サンプルを構成するピクチャ の復号、 表示時間、 およびサイズを取得できるようにした。 例えば、 MPEG- 2における GOP (Group of Picture) のようにランダムァクセ ス可能な単位をサンプルとすることができる。 つまり、 本 MP 4フ アイルでは、 サンプル単位と、 サンプルを構成するアクセスュニッ ト単位のそれぞれのヘッダ情報を格納する。 このように、 ヘッダ情 報を階層的にもつことで、 サンプルよりも細かい単位についてへッ ダ情報を効率的に格納することができる。  Therefore, an extended sample structure is adopted for the MP4 file input to the data processing device according to the present embodiment that performs the demultiplexing process, and the decoding of the pictures constituting the sample is performed without analyzing the picture data. Display time and size can be acquired. For example, a random accessible unit such as a GOP (Group of Picture) in MPEG-2 can be used as a sample. In other words, in this MP4 file, header information is stored for each sample and for each access unit constituting the sample. Thus, by having header information hierarchically, header information can be efficiently stored in units smaller than a sample.
MP 4では、 ビデオやオーディォのフレームデ一夕をサンプルと して格納する際の形式を規定している。 MP E G— 4 AVCを格 納する際には、 MP E G— 4 AV Cにおける NAL (N e t wo r k A d a p t a t i o n L a y e r ) ユニッ トに、 NALュニッ 卜のサイズを付加した形式とすることが提案されている。 ここで、 1 ピクチャのデータを MP 4において規定された格納形式に変換し た後のデータ単位は、 アクセスユニッ トと呼ばれる。  MP4 defines a format for storing video and audio frame data as samples. When storing MP EG-4 AVC, it has been proposed to use a format in which the size of the NAL unit is added to the NAL (Network Adaptation Layer) unit in MP EG-4 AVC. ing. Here, the data unit after converting one picture data into the storage format specified in MP4 is called an access unit.
図 3 7は、 アクセスユニッ トのデ一夕構造を示す。 まず、 ァクセ スユニッ トは N個の NALユニッ トを含む。 さらに、 アクセスュニ ッ 卜の最後にはユーザーが自由に使用できる拡張領域を格納するこ とが可能である。 拡張領域が存在するか否かは、 NALユニッ トのサ ィズフィールドが 0であるか否かによって判定することができる。 NALユニッ トのサイズフィールドが 0であれば、 サンプル内の以降 の領域にはユーザーの定義した独自デ一夕が含まれることを示す。 NALュニットのサイズフィ一ルドが 0でなければ、 その NALュニッ ト にはアクセスユニッ トが格納されている。 図 3 7では、 NALュニッ 卜 1 、 2、 Nのサイズフィールド "length" ( = L 1 , L 2、 L n) は 0ではない。 Figure 37 shows the data structure of the access unit. First, Axe The unit contains N NAL units. Furthermore, at the end of the access unit, it is possible to store an extended area that can be used freely by the user. Whether or not an extended area exists can be determined based on whether or not the size field of the NAL unit is 0. If the size field of the NAL unit is 0, it indicates that subsequent areas in the sample will contain user-defined proprietary data. If the size field of the NAL unit is not 0, the access unit is stored in that NAL unit. In Figure 37, the size fields "length" (= L1, L2, Ln) of NAL units 1, 2, and N are not zero.
次に、 図 3 8 ( a) および (b) を参照しながら、 本実施形態に よる逆多重化処理を行うデータ処理装置に入力される MP 4フアイ ルのデ一夕構造を説明する。 この MP 4ファイルでは、 2つ以上の アクセスユニットを格納したサンプルが規定されている。  Next, with reference to FIGS. 38 (a) and (b), a description will be given of a data structure of an MP4 file input to a data processing device that performs demultiplexing processing according to the present embodiment. This MP4 file specifies a sample that contains two or more access units.
図 3 8 ( a) に示されるように、 サンプルには N (Nは 2以上の整 数) 個のアクセスユニッ トに加えて、 サンプル内の各アクセスュニ ットの復号時間、 表示時間、 サイズ等に関する属性を示す情報 (第 1の実施形態による拡張情報に相当する) を示すヘッダが付加され る。 以下、 本明細書ではこのヘッダをサンプルヘッダと呼ぶ。 サン プルヘッダはボックス構造を有しており、 本明細書ではその最上位 のボックスをマルチ A Uへッダボックス (Multi AU header Box; 'mahd') と呼ぶ。  As shown in Fig. 38 (a), the sample includes N (N is an integer of 2 or more) access units, as well as the decoding time, display time, size, etc. of each access unit in the sample. A header indicating information indicating an attribute (corresponding to the extended information according to the first embodiment) is added. Hereinafter, this header is referred to as a sample header in this specification. The sample header has a box structure, and in this specification, the highest-order box is referred to as a Multi AU header Box ('mahd').
第 1の実施形態においては、 1以上のフレームデータを 1つのサ ンプルとし、 各フレームデータのサイズ等を示す拡張情報を別のサ ンプルとして規定した。 一方、 本実施形態においては、 1以上のフ レームデータ (アクセスユニッ ト) と、 その拡張情報 (サンプルへ ッダ内の情報) とを同一サンプルに格納している。 そして、 各サン プルに対しては、 第 1の実施形態において説明したアクセスデータ が設定される。 In the first embodiment, one or more frame data are And extended information indicating the size of each frame data is defined as another sample. On the other hand, in the present embodiment, one or more frame data (access unit) and its extended information (information in the sample header) are stored in the same sample. The access data described in the first embodiment is set for each sample.
図 3 8 ( b ) は、 サンプルヘッダのデータ構造を示す。 復号時間、 表示時間、 およびサイズ情報は、 それぞれ別々に、 mahd内のボック スに格納される。 復号時間は Mult i Decoding Time To AU Box ( ' mdta' ) 、 表示時間は Multi Composition Time To AU Box (' mcta' ) 、 サイズは Mul t iAUSizeBox (' mtsz' ) に格納される。 こ こで、 mdta、 mcta, および mtszは、 それぞれ復号時間、 表示時間、 およびサイズが既定のデフオルト値と異なる場合にのみ存在し、 そ れぞれのボックスに示される値がデフオルト値に上書きされる。 デ フオルト値が設定されていない場合には、 サンプルヘッダにおいて 必ず必要な情報を設定するとする。  Figure 38 (b) shows the data structure of the sample header. The decoding time, display time, and size information are stored separately in the boxes in mahd. The decoding time is stored in Multi Decoding Time To AU Box ('mdta'), the display time is stored in Multi Composition Time To AU Box ('mcta'), and the size is stored in Multi iAUSizeBox ('mtsz'). Here, mdta, mcta, and mtsz exist only when the decoding time, display time, and size are different from the default values, respectively, and the values shown in the respective boxes are overwritten by the default values. You. If no default value is set, the necessary information must be set in the sample header.
ここで、 デフォルト値、 および各ボックスに含まれるフィールド のサイズは、 サンプルヘッダの初期値設定部分で設定する。 なお、 サンプル情報の初期値設定部分は後述する。 例えば、 mahdに mtszが 存在しなければ、 サンプル内のアクセスュニッ 卜のサイズはデフォ ルト値と一致することを示し、 存在する際には、 mtszに示される値 を参照して各アクセスユニッ トのサイズを取得する。 なお、 上記の ボックス以外にも、 ランダムアクセス可能なアクセスュニッ トを示 す情報や、 アクセスュニッ 卜に含まれるデ一夕の復号に必要な情報 または復号に必要な情報の識別子を格納するためのボックスを追加 してもよい。 例えば、 倍速再生などの特殊再生時に使用する情報を 格納するボックスを追加することができ、 以下のような情報を格納 できる。 Here, the default value and the size of the field included in each box are set in the initial value setting part of the sample header. The initial value setting portion of the sample information will be described later. For example, if mtsz does not exist in mahd, it indicates that the size of the access unit in the sample matches the default value. To get. In addition to the above boxes, access units that can be accessed randomly are shown. A box may be added to store information necessary for decryption of data included in the access unit, or identifiers of information required for decryption. For example, a box for storing information used during special playback such as double-speed playback can be added, and the following information can be stored.
( 1 ) N ( Nは 1以上の整数) 倍速再生など、 特定の再生条件時に 復号化するアクセスュニッ トまたは表示するアクセスュニッ トのィ ンデックス番号を格納する。 ここで、 インデックス番号とは、 サン プル内でのアクセスュニッ トの復号時間順などアクセスュニッ 卜の 識別番号を示す。 なお、 アクセスユニッ トに複数ピクチャのデ一夕 が格納される際には、 そのうちの 1つのみを復号化し、 表示する。 なお、 サンプルヘッダを使わずに、 moovまたは moo fが参照するビデ ォトラック全体に関して、 アクセスユニッ トにおける特定再生条件 時の情報を moovまたは moo nこ格納することもできる。  (1) N (N is an integer of 1 or more) Stores the index number of the access unit to be decoded or displayed under specific playback conditions such as double-speed playback. Here, the index number indicates the identification number of the access unit such as the order of decoding time of the access unit in the sample. When multiple pictures are stored in the access unit, only one of them is decoded and displayed. Instead of using the sample header, information on specific playback conditions in the access unit for the entire video track referenced by moov or moo f can be stored in moov or moo n.
( 2 ) サンプル内の各アクセスュニッ 卜の優先度情報を格納する。 例えば、 優先度が 1から Nまで指定されているとき、 優先度 i ( iは 1以上 N以下の整数) のアクセスユニッ トを復号するには、 優先度 が i以下のアクセスュニッ 卜を復号化しなければならないことを示 す。 なお、 サンプルヘッダを使わずに、 moovまたは moo fが参照する ビデオトラック全体のアクセスュニッ 卜に関する優先度情報を格納 するボックスを、 moovまたは moo fに配置することもできる。  (2) Store priority information of each access unit in the sample. For example, when the priority is specified from 1 to N, to decode the access unit with priority i (i is an integer from 1 to N), the access unit with priority i or less must be decoded. Indicates that it must be done. Instead of using the sample header, a box that stores priority information about the access unit of the entire video track referenced by moov or moo f can be placed in moov or moo f.
( 3 ) ランダムアクセス可能な単位を構成するアクセスュニッ ト の符号化タイプの並びを格納する。 例えば、 ランダムアクセス可能 00 (3) Stores the sequence of the encoding types of the access units that make up the randomly accessible unit. For example, random access 00
な単位を MPEG— 2における GOPとし、 GOPが I、 B、 B、 P、 B、 B、 P、 B、 B - ·である 1 5枚のアクセスユニッ トから構成される際に、 G0Pを 構成する 1 5枚のアクセスュニッ 卜の符号化タイプを格納する。 こ こで、 アクセスュニッ 卜に複数のピクチャデータが含まれる際には、 アクセスュニッ ト内のピクチャの符号化タイプは全て同一であると する。 これにより、 Iのみの再生、 Iおよび Pのみの再生、 または、 I、 B、 P全てのピクチャの再生に際して参照するアクセスュニッ トを決 定できる。 The GOP is composed of 15 access units whose GOPs are I, B, B, P, B, B, P, B, and B-. On 1 Stores the encoding type of the five access units. Here, when a plurality of picture data are included in the access unit, it is assumed that the encoding types of the pictures in the access unit are all the same. This makes it possible to determine the access unit to be referred to when reproducing only I, reproducing only I and P, or reproducing all I, B, and P pictures.
図 3 8 ( a ) ではサンプルヘッダをサンプルの先頭に配置する例 を示しているが、 サンプル内の最終アクセスュニッ 卜の後に配置し てもよいし、 サンプル内の最終データとして配置してもよい。 図 3 9は、 サンプルへッダをサンプル内の最終データとして配置する際 の例を示す。 サンプルはアクセスュニットのみから構成されている。 サンプルは N個のアクセスユニッ トから構成される。 ここで、 サン プル内の最終アクセスュニッ トには M個の NALュニッ トに加えて、 拡 張領域が含まれ、 サンプルヘッダは拡張領域に格納される。 このよ うに、 サンプルと、 サンプルに含まれるアクセスユニッ トのそれぞ れに対してヘッダ情報を作成し、 アクセスユニットに関するヘッダ 情報をサンプルの一部として md a tに格納することにより、 moov内に 全てのアクセスユニッ トに関するへッダ情報を格納する場合に比べ て、 moovのサイズを削減できるという効果もある。  FIG. 38 (a) shows an example in which the sample header is placed at the head of the sample. However, it may be placed after the last access unit in the sample or as the last data in the sample. Figure 39 shows an example of placing a sample header as the last data in a sample. The sample consists only of the access unit. The sample consists of N access units. Here, the last access unit in the sample includes an extension area in addition to the M NAL units, and the sample header is stored in the extension area. In this way, header information is created for each of the sample and the access unit included in the sample, and the header information regarding the access unit is stored in md at as a part of the sample, so that all of the contents in the moov This also has the effect of reducing the size of the moov as compared to the case where header information about the access unit is stored.
また、 サンプルへッダはサンプルを構成する全てのアクセスュニ ッ トに関する復号時間、 表示時間、 サイズに関する情報等をまとめ て格納するのではなく、 1つ以上のアクセスュニッ トに関する情報 を格納してもよい。 例えば、 サンプルヘッダはアクセスユニッ ト毎 に付加されてもよい。 なお、 G0Pなどランダムアクセス可能な単位 の構造に関する情報は、 サンプルヘッダを使用しない場合にも有効 であり、 例えば stsdのエントリー内に示すとしてもよい。 In addition, the sample header summarizes information on decoding time, display time, size, etc. for all access units that make up the sample. Instead of storing the information, information about one or more access units may be stored. For example, a sample header may be added for each access unit. Note that information on the structure of a randomly accessible unit such as G0P is effective even when the sample header is not used, and may be indicated in, for example, an entry of stsd.
サンプルへッダをサンプル内の最終アクセスュニッ 卜の拡張領域 に格納するときは、 mahd内に、 mahdのサイズを示すためのサイズ指 定用ボックスを設けてもよい。 サイズ指定用ボックスを次のように 使用することにより、 mahdの開始位置を容易に取得できる。 すなわ ち、 サンプルの終端から、 サンプルの先頭に向かってサイズ指定用 ボックスを検索する。 サイズ指定用ボックスが見つかれば、 mahdの サイズを取得できるため、 サンプル終端から mahdのサイズ分だけ移 動することにより、 mahdの開始位置が取得できる。  When the sample header is stored in the extension area of the last access unit in the sample, a size specification box for indicating the size of the mahd may be provided in the mahd. The start position of mahd can be easily obtained by using the size specification box as follows. That is, the size specification box is searched from the end of the sample to the beginning of the sample. If the size specification box is found, the mahd size can be obtained. By moving the mahd size from the end of the sample by the mahd size, the mahd start position can be obtained.
次に、 マルチ AUヘッダボックス (mahd) に格納される各ボック スのデ一夕構造を説明する。 図 4 0 ( a ) は mtszのデ一夕構造を示 し、 図 4 0 ( b ) は mdtaのデータ構造を示し、 図 4 0 ( c ) は mcta のデータ構造を示す。 なお、 ボックスのサイズ、 タイプ、 バージョ ン、 フラグ情報は全てのボックスに共通に設けられるため、 いずれ の図にも示していない。 図 4 0 ( a ) に示すように、 mtszは、 stbl 内の stszと同様の構造をもち、 以下の 3つのフィールドから構成さ れる。  Next, the data structure of each box stored in the multi-AU header box (mahd) will be described. FIG. 40 (a) shows the data structure of mtsz, FIG. 40 (b) shows the data structure of mdta, and FIG. 40 (c) shows the data structure of mcta. Note that box size, type, version, and flag information are not shown in any of the figures because they are provided in common for all boxes. As shown in Fig. 40 (a), mtsz has the same structure as stsz in stbl, and is composed of the following three fields.
AU— Defaults izeフィ一ルド : mtszによりサイズ情報が示される 全てのアクセスュニッ 卜のサイズが等しければ、 そのサイズを示す その他の場合は 0とする。 AU—Defaults ize field: Indicates the size of all access units whose size information is indicated by mtsz if they are the same size In other cases, it is set to 0.
AU— countフィ一ルド : mtszによりサイズ情報が示されるァクセ スュニッ 卜の数を示す。 mtszがサンプル内の全てのアクセスュニッ トのサイズを示す際には、 本フィ一ルド値は frame— count値と等し くなる。 また、 mtszがアクセスユニッ ト毎のサイズを示す際には本 フィ一ルド値は 1となる。  AU—count field: Indicates the number of access units whose size information is indicated by mtsz. When mtsz indicates the size of all access units in the sample, this field value is equal to the frame-count value. When mtsz indicates the size of each access unit, this field value is 1.
テーブルフィールド : AU— Defaul tSizeが 0である場合にのみ存 在する。 テーブルには、 AU— countで示される数のエントリーが含 まれ、 エントリ一名は AU_sizeとする。 各エントリーには、 ァク セスュニッ 卜のサイズが復号時間順に格納される。 サンプル内の i 番目アクセスュニッ 卜のサイズは、 AU— DefaultSizeが 0でなけれ ば AU— Defaults izeにより示され、 0である際には、 i番目エントリ —の AU— sizeにより示される。  Table field: AU—present only if DefaultSize is 0. The table contains the number of entries indicated by AU-count, and one entry is AU_size. In each entry, the size of the access unit is stored in decoding time order. The size of the i-th access unit in the sample is indicated by AU-Defaultsize if AU-DefaultSize is not 0, and when it is 0, it is indicated by the AU-size of the i-th entry.
なお、 ここではアクセスュニッ卜のサイズを直接格納するとした が、 ストリーム単位またはサンプル単位でアクセスュニッ トサイズ のデフォルト値を設定し、 デフォルト値と実際のサイズとの差分値 を格納することによりテーブルサイズを削減してもよい。 また、 ァ クセスユニッ トのサイズが予め設定した定数の整数倍となるように 符号化し、 サイズが設定値の何倍であるかをサイズ情報として格納 してもテーブルサイズが削減できる。 例えば、 設定値を 4とする。 このとき、 サイズがそれぞれ 1 2バイ ト、 1 6バイ ト、 2 0バイ ト である 3つのアクセスュニットがあるとすると、 それぞれのサイズ を 4で割った値である 3、 4、 5を各アクセスユニッ トのサイズ情 W Although the size of the access unit is stored directly here, the table size is reduced by setting the default value of the access unit size in units of streams or samples and storing the difference between the default value and the actual size. You may. Also, the table size can be reduced by encoding the access unit size so that it is an integral multiple of a preset constant and storing how many times the size is the set value as size information. For example, set the value to 4. At this time, assuming that there are three access units whose sizes are 12 bytes, 16 bytes, and 20 bytes, respectively, the value obtained by dividing each size by 4 is 3, 4, and 5, respectively. Access unit size information W
報として使用する。 Use as information.
なお、 これらのテーブルサイズ削減方法はサンプルサイズを格納 するテーブルのサイズを削減する際にも有効である。 例えば、 後者 の削減方法を使用する際には、 符号化時にはアクセスュニッ トのサ ィズを考慮せずに、 サンプル全体としてのサイズが設定値の整数倍 となるようにサンプルに対してバイ トス夕ッフイングを行うとして もよい。 図 4 0 ( b ) に示すように、 mdtaは stbl内の sttsと同様の 構造をもち、 entry— countフィールドとテーブルフィ一ルドとから 構成される。  These table size reduction methods are also effective when reducing the size of the table that stores the sample size. For example, when using the latter reduction method, the size of the sample as a whole is a multiple of the set value without regard to the size of the access unit during encoding. You may do the job. As shown in FIG. 40 (b), mdta has the same structure as stts in stbl, and is composed of an entry-count field and a table field.
entry_countフィ一ルド : テ一ブルに含まれるェントリ一の数を 示す。  entry_count field: Indicates the number of entries contained in the table.
テーブルフィールド :復号時間に関連するアクセスユニッ トごと のデータを示す。 テーブルの各エン ト リ一は、 AU— countと DecodingTimeDel taフィ一ルドから構成される。 Decod i ngTimeDe 11 a は i番目 (iは正の整数) と i +1番目アクセスユニッ トの復号時間の 差分値を示す。 AU— countは、 DecodingTimeDel taフィールドに示さ れる復号時間の差分値をもつ、 連続したアクセスュニッ 卜の数を示 す。 つまり、 復号時間の差分値が異なるアクセスユニッ トが現れる たびに、 新規エントリーが追加される。  Table field: Shows data for each access unit related to decoding time. Each entry in the table consists of an AU-count and a DecodingTimeDelta field. DecodngTimeDe 11a indicates the difference between the decoding time of the i-th (i is a positive integer) and the decoding time of the (i + 1) -th access unit. AU—count indicates the number of consecutive access units having the difference value of the decoding time indicated in the DecodingTimeDelta field. In other words, a new entry is added each time an access unit with a different decoding time difference value appears.
ここで、 復号時間、 および表示時間の取得方法を説明する。 MP E G— 4 AV Cにおいては、 ビデオデ一夕のストリーム内に、 SEI ( Supplemental Enhancement Information) と呼ばれる復号化 のための補助情報を入れることができる。 SEIとは、 復号化におい て直接必要はないが、 復号化を行う際の手助けとなる情報を示すも のであり、 復号時間、 および表示時間情報も Pictre timing SEIと 呼ばれる S E Iを用いて示すことができる。 本 S E Iがビデオデー 夕内に存在しない際には、 P O C (Picture Order Count) と呼ば れるピクチャ毎の表示順序を示すパラメ一夕から時間情報を取得す るとしてもよいし、 ビデオデ一夕とは別に提供される時間情報を使 用してもよい。 なお、 復号時間の差分値を直接格納せずに、 MPEG— 2 Visualの Temporal Re f erenceのように、 差分値の相対的な値 を格納するとしてもよい。 Here, a method of obtaining the decoding time and the display time will be described. In MP EG-4 AVC, auxiliary information for decoding called SEI (Supplemental Enhancement Information) can be included in the stream of video data. What is SEI? Although it is not necessary directly, it indicates information that assists in decoding. Decoding time and display time information can also be indicated using SEI called Pictre timing SEI. When the SEI does not exist in the video data, the time information may be obtained from a parameter called POC (Picture Order Count) indicating the display order for each picture. Time information provided separately may be used. Instead of directly storing the difference value of the decoding time, the relative value of the difference value may be stored as in Temporal Reference of MPEG-2 Visual.
次に、 mctaは、 stbl内の cttsと同様の構造をもち、 以下のフィ一 ルドから構成される。  Next, mcta has the same structure as ctts in stbl and consists of the following fields.
entry— count : テーブルに含まれるェントリーの数を示す。  entry—count: Indicates the number of entries included in the table.
テ一ブルの各ェントリ一は、 AU— countと CompositionTimeOf fset フィールドから構成される。 Composi tionTimeOf fsetは、 アクセス ユニッ トの復号時間と表示時間の差分値を示す。 つまり、 復号時間 に Composi tionTimeOf fsetの値を加算することにより、 表示時間が 取得できる。 AU_countは、 同一の CompositionTimeOf fsetをもつ連 続したアクセスユニッ トの数を示す。 md taと同様に、 異なる CompositionTimeOf fsetをもつアクセスュニッ 卜が現れるたびに、 新規エントリーが追加される。 ここで、 サンプル内の全てのァクセ スュニッ トにおいて復号時間と表示時間が等しい際には、 mctaは存 在しない。  Each entry in the table consists of an AU-count and a CompositionTimeOf fset field. ComposionTimeOffset indicates the difference between the decoding time and the display time of the access unit. That is, the display time can be obtained by adding the value of ComposionTimeOf fset to the decoding time. AU_count indicates the number of consecutive access units having the same CompositionTimeOfset. As with md ta, a new entry is added each time an access unit with a different CompositionTimeOf fset appears. Here, mcta does not exist when the decoding time and the display time are equal in all the access units in the sample.
ここで、 サンプルヘッダは、 1サンプルに 2つ以上のアクセスュ ニッ トから構成される場合にのみ存在する。 1サンプルに格納され るアクセスユニット数の取得は、 次のように行う。 まず、 stscを参 照して、 サンプルに対応する stsdのェントリーのィンデックス番号 を取得し、 次に、 取得したインデックス番号に対応する stsdェント リーの frame— count値を取得する。 つまり、 サンプルに対応する frame— count値が 1より大きい場合にのみ、 サンプルへッダが存在 する。 なお、 frame— countが 1である際も、 サンプル内のデータと してヘッダ情報を示すことが有効である際には、 サンプルヘッダを 使用するとしてもよい。 Here, the sample header contains two or more access Only present if configured from nits. The number of access units stored in one sample is obtained as follows. First, referring to stsc, obtain the index number of the stsd entry corresponding to the sample, and then obtain the frame-count value of the stsd entry corresponding to the obtained index number. That is, a sample header exists only if the frame—count value corresponding to the sample is greater than 1. Note that, even when the frame count is 1, if it is effective to indicate the header information as data in the sample, the sample header may be used.
次に、 サンプルヘッダの初期値設定部分を説明する。 初期値設定 部分は、 stsdのェントリ一内の frame— count値が 1より大きい場合 にのみ、 stsdのエントリー内に格納される。 初期値設定部分では、 mahdに含まれる各ボックス内のフィールド長、 およびサンプルへッ ダのデフォルト値が設定され、 以下のフィールドから構成される。  Next, the initial value setting portion of the sample header will be described. The initialization part is stored in the stsd entry only if the frame count value in the stsd entry is greater than one. In the initial value setting part, the field length in each box included in mahd and the default value of the sample header are set, and consist of the following fields.
AUSizeLengthMinusOne: mt sz内の AU一 s i zeフィールドのサイズを 示す。  AUSizeLengthMinusOne: Indicates the size of the AU one size field in mt sz.
Decod ingTimeCoun tLengt hMinus One: mtdaOAU― countフィールド、 のサイズを示す。  DecodingTimeCountLength hMinus One: Indicates the size of mtdaOAU-count field.
DecodingTimeDel taLengthMinusOne: mtdaの Decod ingTimeDe 1 taフ ィールドのサイズを示す。  DecodingTimeDel taLengthMinusOne: Indicates the size of the mtda DecodingTimeDe 1 ta field.
Compos i t ionTimeC oun tLengt hMinus One : ctda( AU― countフィ一 ルドのサイズを示す。  Compo sionTimeC oun tLeng t hMinus One: ctda (AU-count Indicates the size of the count field.
Compos i t ionTimeOf f se tLengthMi nusOne ctda の Composi t ionTimeOf fsetフィールドのサイズを示す。 Compos it ionTimeOf f se tLengthMinusOne ctda Indicates the size of the IntegrationTimeOf fset field.
DefaultHeaderBox:サンプルへッダのデフオルト値を示すための mahdを格納する。  DefaultHeaderBox: Stores mahd to indicate default value of sample header.
なお、 上記フィールドのサイズは固定として、 上記フィールドを 省略してもよい。 また、 mtsz、 mdta, および mctaは、 必ずしも存在 する必要はなく、 存在しない場合には、 デフォルト値が設定されて いないとする。 なお、 frame— countが 1である際にもサンプルへッ ダを使用する際には、 frame— countが 1であっても初期値設定部分 を格納するとしてもよい。  The size of the above field may be fixed, and the above field may be omitted. Also, mtsz, mdta, and mcta do not necessarily need to exist, and if they do not exist, it is assumed that no default value is set. When the sample header is used even when the frame count is 1, even if the frame count is 1, the initial value setting portion may be stored.
さらに、 mtsz、 mtda、 c tda以外のボックスを mahdに格納する際に は、 新規に追加したボックスのフィールドサイズを示すフィ一ルド を追加してもよい。 なお、 全てのサンプルにおいて、 サンプルを構 成するアクセスユニットの情報が初期値 (デフォルト値) と同一で ある際には、 mahd内に格納されるボックスが存在しないため、 各サ ンプルにおいて mahdを格納しないとしてもよい。 ここで、 mahdがサ ンプルへッダに含まれるか否かはサンプルへッダの初期値設定部分 または stsdのェントリ内にフラグ情報を設定することにより判別す る。  When storing a box other than mtsz, mtda, and ctda in mahd, a field indicating the field size of the newly added box may be added. When the information of the access units that make up the samples is the same as the initial value (default value) in all samples, there is no box stored in mahd, so mahd is stored in each sample. You may not. Here, whether or not mahd is included in the sample header is determined by setting the flag information in the initial value setting portion of the sample header or in the entry of stsd.
なお、 フラグ情報は moov内の他の部分において設定してもよい。 フラグがセッ トされている際にはサンプル内にサンプルヘッダ、 つ まり mahdが含まれることを示し、 フラグがセットされていない際に は、 mahdが含まれないことを示す。 例えば、 MP E G— 4 A V C においても MPEG-2の GOPのようなランダムアクセス可能な単位を規 定し、 規定した単位毎に 1サンプルとする際にはサンプルに mahdを 含めないとしてもよい。 なお、 ボックスの有無をフラグ情報として 使用するとしてもよく、 初期値設定部分をボックスにより実現する とし、 初期値設定部分のボックスが存在するかしないかにより mahd の使用有無を識別できる。 Note that the flag information may be set in another part of the moov. When the flag is set, it indicates that the sample header, ie, mahd, is included in the sample; when the flag is not set, it indicates that mahd is not included. For example, even in MP EG-4 AVC, a randomly accessible unit such as MPEG-2 GOP is specified. If one sample is specified for each specified unit, mahd may not be included in the sample. The presence / absence of a box may be used as flag information. The initial value setting part is realized by a box, and the use / non-use of mahd can be identified by the presence or absence of the box in the initial value setting part.
図 4 1 ( a) は、 ボックスを使用したときのサンプルヘッダの初 期値設定部分のシンタックス例を示し、 図 4 1 ( b) はボックスを 使用しないときのサンプルヘッダの初期値設定部分のシンタックス 例を示す。 また、 図 4 2 ( a) 〜 (d) は、 それぞれ mahd、 mtsz、 mdta、 および mc t aの各シンタックスの例を示す。  Figure 41 (a) shows an example of the syntax of the initial value setting part of the sample header when the box is used.Figure 41 (b) shows the syntax of the initial value setting part of the sample header when the box is not used. Here is an example of the syntax: FIGS. 42 (a) to (d) show examples of the respective syntaxes of mahd, mtsz, mdta, and mcta.
次に、 図 4 3 ( a) 〜 ( c ) は、 サンプルヘッダにデ一夕を格納 するための第 1の例を示す。 第 1の例では、 サンプルが、 復号時間 順に I B B P B B P B B · · と連続する 1 5個のアクセスュニッ ト から構成される。 ここで、 I、 P、 Bはそれぞれ Iーピクチャ、 P—ピ クチャ、 B—ピクチャのアクセスユニッ トを示し、 各アクセスュニ ッ トの復号時間、 表示時間、 およびサイズは図 4 3 ( a) に示すと おりである。  Next, Figs. 43 (a) to (c) show a first example for storing data in the sample header. In the first example, a sample is composed of 15 access units that are consecutive with IBBPBBBPBB in order of decoding time. Here, I, P, and B indicate the access units of I-picture, P-picture, and B-picture, respectively, and the decoding time, display time, and size of each access unit are shown in Fig. 43 (a). It is.
ま ず、 サ ン プル ヘ ッ ダ の 初期 値設定部分 に お け る Defaul tHeaderBoxには、 図 4 3 ( b ) に示すように mdtaと mctaが存 在する。 アクセスユニット毎のサイズがランダムであり、 サイズ情 報のデフオルト値は設定しないとしたため、 mtszは存在しない。  First, mdta and mcta exist in the DefaultHeaderBox in the initial value setting part of the sample header, as shown in Fig. 43 (b). Since the size of each access unit is random and the default value of the size information is not set, mtsz does not exist.
次に、 サンプルヘッダを設定する。 図 4 3 ( c ) は、 サンプルへ ッダに格納されるデータを示す。 まず、 復号時間情報を説明すると、 サンプル内の連続する 2つのアクセスュニッ トにおける復号時間の 差分値は全て 1 0 0m sであり、 デフォルト値をそのまま使用でき るため、 mdtaは必要ない。 ここで、 最終アクセスユニッ トである B — 1 5に関しても、 次アクセスュニッ 卜との復号時間の差分値は 1 0 0m sであるとする。 次に、 表示時間は、 Iおよび P—ピクチャ のアクセスュニッ トは復号時間と表示時間の差分値が 3 0 0 m sで あり、 B—ピクチャは復号時間と表示時間とがー致する。 よって、 表示時間情報としても、 デフォルト値がそのまま使用できるため、 cdtaも必要ない。 Next, set the sample header. Figure 43 (c) shows the data stored in the sample header. First, the decoding time information will be described. The difference in decoding time between two consecutive access units in the sample is 100 ms, and the default value can be used as is, so mdta is not required. Here, it is also assumed that the difference value of the decoding time with the next access unit is 100 ms for B-15 which is the last access unit. Next, as for the display time, the difference between the decoding time and the display time is 300 ms for the access unit of the I and P-pictures, and the decoding time and the display time of the B-picture match. Therefore, since the default value can be used as the display time information, cdta is not required.
ピクチャのレ一卜-が固定である際には、 サンプルに含まれるピク チヤの復号時間情報としてデフォルト値を使用することができる。 例えば、 トラックに含まれる全ピクチャのレー卜が一定であれば、 復号時間情報としてはデフォルト値のみを設定すればよく、 サンプ ルヘッダ内で mdtaにより復号時間情報を示す必要がなくなる。  When the picture rate is fixed, the default value can be used as the decoding time information of the picture included in the sample. For example, if the rate of all pictures included in the track is constant, only the default value needs to be set as the decoding time information, and there is no need to indicate the decoding time information by mdta in the sample header.
また、 MPEG— 2における G0Pのようなランダムアクセス可能な単 位をサンプルとして扱う際には、 固定ピクチャレー卜、 かつ G0P構 造が固定であれば、 サンプル内のピクチャに関する表示時間情報と してもデフォルト値のみを設定すればよいことになる。 例えば、 ビ デォの符号化データが 3つの異なる G0P構造のみから構成される際 には、 stsdのエントリ一を 3つ用意してそれぞれの G0P構造に対応 する表示時間情報のデフォルト値を設定し、 サンプル毎に参照する stsdのェントリーを変更するとすれば、 サンプルへッダ内で met aに より表示時間情報を示す必要がなぐなる。 ここで、 GOP構造とは、 GOPを構成するピクチャの枚数、 および各 ピクチャの符号化タイプ (I, B, Pのいずれのピクチャであるか) を示すものである。 最後に、 サイズ情報を説明する。 サイズ情報に はデフオルト値が設定されていないため、 mtszを使用してサンプル に含まれる 1 5個のアクセスュニッ 卜のサイズを格納する。 結局、 サンプルへッダは、 サイズ情報を格納するための mtszのみを含み、 復号時間と表示時間はデフオルト値を使用するため、 111(113と111(;1&は 含まない。 In addition, when a randomly accessible unit such as G0P in MPEG-2 is treated as a sample, if the fixed picture rate and the G0P structure are fixed, the display time information about the picture in the sample is used. Only the default value needs to be set. For example, if the encoded video data consists of only three different G0P structures, prepare three stsd entries and set the default value of the display time information corresponding to each G0P structure. However, if the stsd entry to be changed for each sample is changed, it is not necessary to indicate the display time information by met a in the sample header. Here, the GOP structure indicates the number of pictures constituting the GOP and the coding type of each picture (I, B, or P). Finally, the size information will be described. Since no default value is set in the size information, the size of 15 access units included in the sample is stored using mtsz. After all, the sample header contains only mtsz to store the size information, and the decoding time and display time use the default values, so 111 (113 and 111 (; 1 & are not included).
図 44 ( a) および (b) は、 サンプルヘッダにデータを格納す るための第 2の例を示す。 以下に説明するように、 サンプルヘッダ には、 mdta、 mcta、 および mtszの 3つのボックスが格納される。 サ ンプルヘッダのデフォルト値は図 4 3 ( b ) に示す第 1の例と同一 であるとする。  Figures 44 (a) and (b) show a second example for storing data in the sample header. As described below, the sample header contains three boxes: mdta, mcta, and mtsz. It is assumed that the default value of the sample header is the same as the first example shown in Fig. 43 (b).
図 44 ( a) に示すように、 サンプル内のアクセスユニッ トの構 成は第 1の例 (図 4 3 ( a) ) と同じである。 図 44 (a) に示す ように、 1 2番目のアクセスュニッ トである B— 1 2においてフレ 一ムスキップが発生している。 よって、 復号時間、 表示時間ともに デフオルト値は使用できないため、 サンプルヘッダにおいて md ta、 mctaを設定する必要がある。  As shown in Fig. 44 (a), the configuration of the access unit in the sample is the same as in the first example (Fig. 43 (a)). As shown in FIG. 44 (a), a frame skip occurs in the first access unit B-12, which is the second access unit. Therefore, since the default value cannot be used for both the decoding time and the display time, it is necessary to set mdta and mcta in the sample header.
まず、 復号時間情報の設定を行う。 図 44 (b) の ( 1 ) に示す ように、 I ― 1から B— 1 1までの 1 1個のアクセスュニッ 卜に関 しては次のアクセスュニッ 卜との復号時間の差分値は 1 0 0 m sで あり、 B _ 1 2のみ差分値が 2 0 0 m sである。 そして、 P— 1 3 から B— 1 5までは再び 1 0 0m sになることから、 mdtaには 3つ のエントリ一が必要になる。 First, the decoding time information is set. As shown in (1) of FIG. 44 (b), the difference between the decoding time of the next access unit and that of the one access unit from I-1 to B-11 is 100. ms, and the difference value of only B_12 is 2000 ms. And P—1 3 Mdta will need three entries each, since to 100 ms again from to B—15.
次に、 表示時間を説明する。 表示時間は、 P— 1 0において復号 時間との差分値が 4 00 m s となる他はデフォルト値と同一である。 従って、 サンプルヘッダにおいて設定する mctaの各ェントリーは、 図 44 (b) の (2) に示すように設定される。  Next, the display time will be described. The display time is the same as the default value except that the difference from the decoding time at P-10 is 400 ms. Therefore, each mcta entry set in the sample header is set as shown in (2) of Fig. 44 (b).
最後に、 mtszを説明する。 図 44 ( b ) の ( 3 ) に示すように、 DltSZは第 1の例と同じである。  Finally, mtsz is explained. As shown in (3) of FIG. 44 (b), DltSZ is the same as in the first example.
以上の説明では、 サンプルへッダがサンプル内に 1つだけ存在し、 1つのサンプルへッダ内にサンプルを構成する全てのアクセスュニ ットの情報を格納するとした。 しかし、 サンプルヘッダはサンプル 内に複数存在してもよい。 その理由の 1つは、 サンプルデータの記 録方法によっては、 サンプル内のアクセスュニッ トの情報をまとめ て記録するよりもアクセスュニッ ト毎の情報を順次記録するほうが 効率的であることがあるためである。 その一例として、 サンプルデ 一夕をリアルタイムで光ディスクに記録する場合を説明する。  In the above description, it is assumed that there is only one sample header in a sample, and information on all access units constituting the sample is stored in one sample header. However, there may be more than one sample header in a sample. One of the reasons is that, depending on the recording method of sample data, it may be more efficient to record the information of each access unit sequentially rather than collectively recording the information of the access units in the sample. . As an example, a case where the sample data is recorded on an optical disk in real time will be described.
サンプル内の全てのアクセスュニッ トの情報を 1つのサンプルへ ッダにまとめて格納する際には、 サンプル内の全てのアクセスュニ ッ トに関する情報を取得しなければサンプルへッダが完成しない。 サンプルへッダをサンプルの先頭に配置すると仮定すると、 サンプ ルへッダが完成してからサンプルデータを光ディスクに書き込むこ とになり、 サンプル内の最後のアクセスュニッ 卜の情報を取得する まで書き込みを開始できない。 また、 サンプル内のアクセスュニッ トデータを一時的に記憶して おくためのメモリが必要になる。 例えば、 G O Pのようなランダム アクセス可能な単位を 1サンプルとする際には、 ランダムアクセス 可能な単位に含まれる全アクセスュニッ トを保持できるだけのメモ リが必要になる。 一方、 サンプルヘッダにアクセスユニッ ト毎の情 報を格納するとすれば、 1アクセスュニッ ト分の情報が取得できれ ばサンプルへッダが完成するため、 順次サンプルデー夕の書き込み を行うことができ、 リアルタイム性に優れると共に, アクセスュニ ッ トを保持するために必要なメモリサイズも削減できる。 When storing information of all access units in a sample in one sample header, the sample header is not completed unless information on all access units in the sample is acquired. Assuming that the sample header is placed at the beginning of the sample, the sample data is written to the optical disk after the sample header is completed, and the writing is performed until the information of the last access unit in the sample is obtained. Can't start. In addition, a memory is required to temporarily store the access unit data in the sample. For example, when a randomly accessible unit such as a GOP is used as one sample, it is necessary to have enough memory to hold all the access units included in the randomly accessible unit. On the other hand, if the information for each access unit is stored in the sample header, if the information for one access unit can be obtained, the sample header is completed, so that the sample data can be written sequentially. It has excellent real-time performance and can reduce the memory size required to hold the access unit.
以下に、 サンプル内の 1つまたは複数のアクセスュニッ 卜に対し てサンプルヘッダが付加される際のサンプル構造を説明する。 ここ で、 サンプルへッダがサンプル内に 1つ存在するか複数存在するか 否かは、 サンプルヘッダ内の各ボックスによりヘッダ情報が示され るアクセスュニッ 卜の個数により判別する。 サンプルヘッダ内にポ ックスが存在しない際には、 サンプルへッダの初期値設定部分に定 義されたデフォルトのボックスを参照することにより判定する。 サ ンプル内で先頭のサンプルへッダによりへッダ情報が示されるァク セスュニッ 卜の個数が f r ame_c oun t値と一致する際には、 先頭のサ ンプルヘッダにより、 サンプル内の全アクセスュニッ 卜のヘッダ情 報が示されるため、 サンプルへッダは 1つのみである。  The sample structure when a sample header is added to one or more access units in the sample will be described below. Here, whether one or more sample headers exist in a sample is determined by the number of access units whose header information is indicated by each box in the sample header. If the box does not exist in the sample header, it is determined by referring to the default box defined in the initial value setting part of the sample header. If the number of access units whose header information is indicated by the first sample header in the sample matches the frame_count value, the first sample header uses the header of all access units in the sample. There is only one sample header because the header information is shown.
一方、 先頭のサンプルヘッダによりヘッダ情報が示されるァクセ スュニッ 卜の個数が f r ame— coun tよりも小さければ、 残りのァクセ スュニッ 卜のヘッダ情報を示すため、 1つ以上のサンプルヘッダが サンプル内に別途格納される。 On the other hand, if the number of access units whose header information is indicated by the first sample header is smaller than fr ame-count, one or more sample headers are used to indicate the header information of the remaining access units. Stored separately in the sample.
図 4 5 ( a) および (b) を参照しながら、 その例を説明する。 本例では、 1サンプルが N個 (Nは 1以上の整数) のアクセスュニ ッ トから構成される。 図 4 5 ( a) は、 1サンプル内のアクセスュ ニッ トの各々にサンプルヘッダを付加した例を示す。 1番目のァク セスュニッ 卜のへッダ情報はサンプルへッダ 1に格納され、 サンプ ルヘッダ 1 には mdtaと mtszが格納される。 ここで、 mdtaでは、 entry— countに 1が設定されているため、 この mdtaはアクセスュニ ッ ト 1 に関する情報であることを示す。 また、 エントリの AU— countに 1が設定されることにより、 この mdtaは 1つのユニッ トに 関する情報であることを示す。 その結果、 この mdtaはアクセスュニ ッ ト 1に関する情報のみを示している。  An example is described with reference to FIGS. 45 (a) and (b). In this example, one sample is composed of N access units (N is an integer of 1 or more). Fig. 45 (a) shows an example in which a sample header is added to each access unit in one sample. The header information of the first access unit is stored in sample header 1, and mdta and mtsz are stored in sample header 1. Here, in the mdta, entry-count is set to 1, indicating that the mdta is information on the access unit 1. Also, by setting AU-count of the entry to 1, this mdta indicates that this mdta is information about one unit. As a result, this mdta shows only information about access unit 1.
同様に、 mtszにおいても、 AU— countが 1であるため mtszがァク セスユニッ ト 1に関する情報のみを示す。 同様に、 後続のサンプル ヘッダもまた、 i (iは N以下の整数) 番目のサンプルヘッダが i番目 のアクセスユニッ トのヘッダ情報を示すことが分かる。  Similarly, also in mtsz, since AU-count is 1, mtsz indicates only information on access unit 1. Similarly, in the subsequent sample header, it can be seen that the i-th (i is an integer less than or equal to N) sample header indicates the header information of the i-th access unit.
図 4 5 ( b ) は、 N未満の複数のアクセスユニッ トに 1つのサン プルヘッダを付加した例を示す。 ここでは、 サンプルヘッダ 1は、 1番目から 3番目までのアクセスュニッ 卜の情報を示し、 サンプル ヘッダ 2は、 4番目と 5番目のアクセスユニッ ト、 サンプルヘッダ M (Mは N未満の整数) は N番目のアクセスユニッ トの情報を示す。 サ ンプルヘッダ 1では、 mdtaの entry— countに 1が設定され、 ェント リの AU— countに 3が設定されることにより、 mdtaは 1番目から 3 番目の 3つのアクセスュニッ トの情報を示す。 FIG. 45 (b) shows an example in which one sample header is added to a plurality of access units less than N. Here, sample header 1 indicates information of the first to third access units, sample header 2 indicates the fourth and fifth access units, and sample header M (M is an integer less than N) is N Indicates the information of the th access unit. In sample header 1, mdta is set from 1 to 3 by setting entry-count of mdta to 1 and AU-count of entry to 3. The information of the third access unit is shown.
同様に、 mtszの AU— countに 3が設定されて、 mtszが 1番目から 3番目のアクセスユニットに関する情報であることを示している。 次に、 サンプルヘッダ 2における mtszと md から、 サンプルヘッダ 2が 4番目と 5番目のアクセスユニッ トの情報を示すことが分かる。 mtsz, mdtaまたは mctaがサンプルヘッダ内に存在しない際には、 サ ンプルヘッダの初期値設定部分において設定されたデフォルトのポ ックスを使用する。 なお、 サンプルヘッダ内に、 次のサンプルへッ ダの格納位置を示す情報を付加することにより、 アクセスュニッ ト のサイズを加算することなしに、 次のサンプルヘッダの開始位置を 取得できるとしてもよい。 また、 サンプル内に存在するサンプルへ ッダが 1つであるか複数であるかを判別するためのフラグ情報を、 サンプルへッダの初期値設定部分に設定するとしてもよいし、 サン プルへッダはアクセスュニッ ト毎に付加するとしてもよい。  Similarly, 3 is set to AU-count of mtsz, indicating that mtsz is information on the first to third access units. Next, it can be seen from the mtsz and md in the sample header 2 that the sample header 2 indicates the information of the fourth and fifth access units. If mtsz, mdta or mcta is not present in the sample header, use the default pox set in the initial value setting part of the sample header. The start position of the next sample header may be obtained without adding the size of the access unit by adding information indicating the storage position of the next sample header to the sample header. Also, flag information for determining whether there is one or more sample headers present in the sample may be set in the initial value setting portion of the sample header, or the sample header may be set in the sample header. A header may be added for each access unit.
さらに、 サンプルヘッダはボックス構造を有するとしたが、 ポッ クス構造を用いずに、 必要なフィールドを順に格納してもよい。 こ のとき、 サンプルヘッダは、 サイズ、 復号時間、 表示時間の各情報 が設定されているか否かを示すフィールド、 および各情報を設定す るためのフィールドから構成される。 図 4 6 ( a) および (b) は、 ボックス構造を用いないときのサンプル構造およびシン夕ックス例 を示す。 図 4 6 ( a) ではマルチ AUヘッダ (Multi— AU header) がサンプルヘッダに相当する。 このデータ構造は、 1以上のフレー ムデ一夕 (アクセスユニッ ト) と、 その拡張情報 (サンプルヘッダ 内の情報) とを 1つのサンプルとして規定している点において、 図 3 8 ( a) に示すデータ構造と同じである。 Furthermore, although the sample header has a box structure, necessary fields may be stored in order without using the box structure. At this time, the sample header includes a field indicating whether or not each information of the size, the decoding time, and the display time is set, and a field for setting each information. Figures 46 (a) and (b) show the sample structure and the example of syntax when the box structure is not used. In Fig. 46 (a), the Multi-AU header corresponds to the sample header. This data structure consists of one or more frame data (access unit) and its extended information (sample header). This is the same as the data structure shown in Fig. 38 (a) in that the information is defined as one sample.
図 4 6 ( b ) はマルチ AUヘッダのシンタックス例を示す。 図 4 6 ( b ) に お け る 、 AUSizePresent フ ィ ー ル ド 、 Dec od i ngT L meDe 1 taP resent フ ィ ー ル ド お よ び Composi tionTimeOf fsetフ ィ ール ドは、 それぞれ " AUSize" 、 "DecodingTimeDel ta" 、 "Compos i t ionTimeOf fset" の各フィ一ル ドが存在するか否かを示すフラグ情報であり、 frame— countフィー ルドは、 サンプルが参照する stsd内のェントリーに示される frame —count値と等しい。  Fig. 46 (b) shows an example of the syntax of a multi-AU header. In Fig. 46 (b), the AUSizePresent field, DecodingT L meDe 1 taP resent field, and ComposionTimeOf fset field are "AUSize" and "AUSize", respectively. This is flag information indicating whether the "DecodingTimeDelta" and "ComposionTimeOffset" fields are present. Frame-- The count field is the frame shown in the entry in the stsd referenced by the sample. Equal to count value.
ま /こ 、 AUSize 、 DecodingTimeDel ta 、 Ma / ko, AUSize, DecodingTimeDelta,
"Composi tionTimeOf fset" の定義は図 4 0 ( a ) 〜 ( c ) の場合 と 同 じである。 こ の例では、 " DecodingTimeDel ta " および "CompositionTimeOf fset" が同一のアクセスュニッ 卜が連続する ときも、 各アクセスユニッ トに関して "DecodingTimeDel ta" およ び " CompositionTimeOffset" を格納するとしている。 しかし、 ポ ックス構造使用時と同様に、 同一の値が連続する際には、 連続する アクセスュニッ 卜の個数を示すことにより、 フィールド値を省略す るとしてもよい。 また、 サンプルヘッダの初期値設定部分では AUSize、 DecodingTimeDel ta, および Compos itionT imeOf fsetの各フ ィ一ルドのサイズを示す情報、 およびサンプルへッダのデフオルト 値を設定する。 初期値設定部分のシンタックス例を図 4 1 (b) に 示す。 このように、 サンプルヘッダを使用することにより、 アクセスュ ニッ トのデ一夕を解析することなしに、 アクセスュニッ 卜の復号時 間、 表示時間、 およびサイズを取得することができる。 また、 M P E G— 4 A V Cのように、 M P 4格納時にはアクセスユニットに スタートコードを含まない符号化方式においても、 サンプルへッダ を参照することにより容易にアクセスュニッ 卜の境界を取得するこ とができる。 The definition of "ComposionTimeOf fset" is the same as in the case of Figs. 40 (a) to (c). In this example, "DecodingTimeDelta" and "CompositionTimeOffset" are stored for each access unit even when consecutive access units with the same "DecodingTimeDelta" and "CompositionTimeOf fset" are consecutive. However, as in the case of using the pox structure, when the same value continues, the field value may be omitted by indicating the number of consecutive access units. In the initial value setting section of the sample header, information indicating the size of each field of AUSize, DecodingTimeDelta, and Composi- tionTimeOfset is set, and the default value of the sample header is set. Figure 41 (b) shows a syntax example of the initial value setting part. Thus, by using the sample header, the decoding time, display time, and size of the access unit can be obtained without analyzing the data of the access unit. In addition, even in an encoding method that does not include a start code in the access unit when storing MP4, such as MPEG-4 AVC, the boundary of the access unit can be easily obtained by referring to the sample header. .
以下、 本実施形態によるデータ処理装置を説明する。 本実施形態 によるデータ処理装置の構成は、 図 3 5に示すデータ処理装置の構 成と同じであり、 その基本的な動作もまた既に説明したとおりであ る。 よって以下では本実施形態による処理に関連する搆成を説明す る。  Hereinafter, the data processing device according to the present embodiment will be described. The configuration of the data processing device according to the present embodiment is the same as the configuration of the data processing device shown in FIG. 35, and its basic operation is also as described above. Therefore, the following describes the components related to the processing according to the present embodiment.
図 3 5に示す解析部 3 0 6は、 メモリ 3 0 4よりヘッダ部データ d 3 0 6を取得し、 解析することによりサンプルのサイズ、 復号時 間、 格納場所等の情報を取得した後、 解析結果をデータ d 3 0 7と してサンプル解析部 3 0 7に入力する。 サンプル解析部 3 0 7は、 解析結果 d 3 0 7を元に、 メモリ 3 0 5からサンプルデータ d 3 0 8を取得し、 サンプルからピクチャデータ d 3 0 9を取得し、 復号 表示部 3 0 8に入力する。 復号表示部 3 0 8は、 入力されたピクチ ャデ一夕 d 3 0 9を復号し、 表示する。  The analysis unit 303 shown in FIG. 35 acquires the header data d306 from the memory 304 and analyzes it to obtain information such as the sample size, decoding time, and storage location. The analysis result is input to the sample analyzer 307 as data d307. The sample analyzer 307 obtains sample data d 308 from the memory 305 based on the analysis result d 307, obtains picture data d 309 from the sample, and decodes and displays the data. Enter 8 The decoding display unit 308 decodes the input picture data d 309 and displays it.
図 4 7は、 サンプル解析部 3 0 7がサンプルからピクチャデ一夕 を取得する処理の手順を示す。 変数 iの初期値は 0とする。 まず、 ステップ S 6 1において、 サンプルに対応する s t s dのェントリーの frame— count値を取得する。 frame_countが 1より大きければ、 stsdのェン卜リー内に含まれるサンプルヘッダの初期値設定部分か ら、 サイズ、 復号時間または表示時間情報のデフォルト値を取得す るとともに、 サンプルへッダ内のボックスにおけるフィールドのサ ィズを取得する。 ここで、 stsdのエントリー番号と、 エントリ一番 号に対応する frame— countおよびサンプルへッダの初期値情報を予 め記憶しておけば、 ステップ S 6 1においてサンプル毎に初期値情 報を取得しなくてもよい。 FIG. 47 shows a procedure of a process in which the sample analysis unit 307 acquires picture data from a sample. The initial value of the variable i is 0. First, in step S61, the stsd entry corresponding to the sample frame — get count value If frame_count is greater than 1, obtain the default value of the size, decoding time or display time information from the initial value setting part of the sample header included in the stsd entry, and obtain the default value of the sample header. Get the size of the field in the box. Here, if the entry number of the stsd, the frame count and the initial value information of the sample header corresponding to the first entry are stored in advance, the initial value information is stored for each sample in step S61. You do not need to obtain it.
次に、 ステップ S 6 2において frame— countが 1より大きいか否 かを判定し、 1より大きい場合には、 サンプルヘッダが存在するた め、 ステップ S 6 3においてサンプルヘッダを解析する。 サンプル ヘッダ解析時には、 mahd内に mtsz、 mtdaまたは mctaの各ボックスが 存在するか否かを検索し、 ボックスが存在する際には、 その内容を 取得してデフオル卜値に上書きして、 アクセスユニッ トのサイズ、 復号時間または表示時間情報を取得する。 frame— countが 1である 際には、 ステップ S 6 2に続いて、 ステップ S 6 4の処理を行う。 ステップ S 6 4では、 ステップ S 6 3から得られたアクセスュニッ 卜のサイズを元に、 サンプルからアクセスュニッ トのデ一夕を取得 し、 ステップ S 6 5においてアクセスユニッ トからピクチャデータ を分離する。  Next, in step S63, it is determined whether or not the frame count is greater than 1. If it is greater than 1, a sample header is present, so the sample header is analyzed in step S63. At the time of sample header analysis, mahd searches for each box of mtsz, mtda or mcta, and if it exists, obtains its contents and overwrites it with the default value to access unit. Get the size, decryption time or display time information of the event. When frame—count is 1, the process of step S64 is performed after step S62. In step S64, data of the access unit is obtained from the sample based on the size of the access unit obtained in step S63, and in step S65, picture data is separated from the access unit.
なお、 ステップ S 6 3で取得した復号時間、 および表示時間は、 図 3 5の復号表示部 3 0 8においてピクチャデータを復号、 表示す る際に使用される。 また、 トラックの途中から再生を開始する場合 に、 サンプル内のアクセスユニッ トの表示時間を取得して、 再生を 開始するアクセスュニッ トを決定する際に使用してもよい。 ステツ プ S 6 6では iに 1を加算し、 ステップ S 6 7において、 iが frame — countより小さいか否かを判定し、 小さい場合には、 ステップ S 6 3からステップ S 6 7の処理を繰り返す。 The decoding time and the display time acquired in step S63 are used when decoding and displaying picture data in the decoding display unit 308 in FIG. Also, when starting playback from the middle of a track Alternatively, the display time of the access unit in the sample may be obtained and used to determine the access unit to start playback. In step S66, 1 is added to i. In step S67, it is determined whether or not i is smaller than frame-count. If smaller than i, the processing from step S63 to step S67 is performed. repeat.
次に、 ステップ S 6 3においてアクセスュニッ 卜のサイズ情報を 取得する手順の例を詳しく説明する。 図 4 8は、 サンプルを構成す るアクセスユニッ トのサイズを取得する手順を示す。 ここで、 変数 i、 およびデータ読み出しボインタ data_ptrの初期値はともに 0と する。 また、 nit szにおける AU— sizeフィールド長のバイ ト数は、 FieldSizeであるとする。  Next, an example of a procedure for acquiring the size information of the access unit in step S63 will be described in detail. Figure 48 shows the procedure for obtaining the size of the access units that make up the sample. Here, the initial value of both the variable i and the data read pointer data_ptr is set to 0. It is also assumed that the number of bytes of the AU-size field length in nit sz is FieldSize.
まず、 ステップ S 7 1 において、 mahd内でボックスのタイプが 'mtsz'であるボックスを検索する。 ステップ S 7 2において検索結 果を判定し、 mtszが存在する際には、 ステップ S 7 3において、 デ 一夕読み出しポインタ data— ptrを、 サンプルヘッダ内の mtszにお ける AU— Default Sizeフィールドの開始位置にセッ トする。 ステツ プ S 7 2において、 mahd内に mtszが存在しないと判定された際には、 ステップ S 7 4において、 サンプルヘッダの初期値設定部分に含ま れるデフォルトの mtszを取得して、 データ読み出しボインタ data— ptrを、 デフォルト mtszにおける AU—DefaultSizeフィールドの開始 位置にセッ トする。 ステップ S 7 5において、 AU— Defaul tSizeの 値を取得し、 デ一夕読み出しボイン夕 data— p に 4を加算する。 続いて、 ステップ S 7 6において AU DefaultSizeが 0であるか 否かを判定し、 0でない際には、 ステップ S 7 8において、 サンプ ルを構成する全てのアクセスュニッ トのサイズとして、 AU— DeiaultSizeに示されるサイズを設定する。 0である際には、 テー ブルのェントリ一から AU— sizeを取得することにより、 各アクセス ユニットのサイズを取得する。 まず、 ステップ S 7 7において、 A U_countの値を取得し、 デ一夕読み出しボイン夕 data— ptrに 4を 加算する。 ここで、 AU— countの値は、 サンプルに含まれるァクセ スュニッ 卜の数を示す。 First, in step S71, a box whose box type is 'mtsz' is searched in mahd. In step S72, the search result is determined. If mtsz exists, in step S73, the data read pointer data—ptr is set to the AU—Default Size field in mtsz in the sample header. Set to start position. If it is determined in step S72 that mtsz does not exist in mahd, in step S74, the default mtsz included in the initial value setting portion of the sample header is obtained, and the data read pointer data — Set ptr to the start of the AU—DefaultSize field in the default mtsz. In step S75, the value of AU—DefaultSize is acquired, and 4 is added to the data—p data read-out data-p. Then, in step S76, whether AU DefaultSize is 0 If it is not 0, in step S78, the size indicated in AU-DeiaultSize is set as the size of all access units constituting the sample. If the value is 0, the size of each access unit is obtained by obtaining the AU-size from the table entry. First, in step S77, the value of AU_count is obtained, and 4 is added to the data-ptr data read / write command. Here, the value of AU-count indicates the number of access units included in the sample.
次に、 ステップ S 7 9において、 サンプル内の i+ 1番目ァクセ スユニッ トのサイズを取得し、 データ読み出しポインタに 4を加算 した後に、 ステップ S 8 1 0において iに 1を加算する。 ステップ S 8 1 1において、 iと AU— countを比較し、 iが A U— countより小 さい場合には、 ステップ S 7 9、 S 8 0およびステツプ S 8 1まで の処理を繰り返すことにより、 サンプルを構成する全てのアクセス ュニッ卜のサイズを取得することができる。  Next, in step S79, the size of the (i + 1) th access unit in the sample is obtained, 4 is added to the data read pointer, and 1 is added to i in step S810. In step S811, i is compared with AU-count, and if i is smaller than AU-count, the processing of steps S79, S80 and step S81 is repeated to obtain a sample. It is possible to obtain the sizes of all the access units constituting
(実施形態 7)  (Embodiment 7)
第 7の実施形態によるデータ処理装置は、 1サンプルに複数ビデ ォピクチャが含まれる MP 4ファイルを受け取って解析し、 符号化 データを復号して表示する。 ここで、 異なる 2つのビデオピクチャ においては、 表示時間、 復号時間の少なくとも一方が異なるとする。 本実施形態においては、 倍速再生などの特殊再生を効率よく行うこ とを目的とした MP 4データ構造およびその逆多重化処理を提供す る。 なお、 本実施形態によるデータ処理装置の構成は、 実施形態 6に おけるデータ処理装置の構成と同じである。 ビデオデータは、 MP E G— 4 A V C形式で符号化されているとするが、 他に MP EG — 4 V i s u a l、 MP E G_ 2 V i s u a l または H. 2 6 3であってもよい。 また、 オーディオまたはテキストデ一夕の複数 フレームを 1サンプルに格納してもよい。 なお、 1サンプルに複数 のピクチャが含まれる際には、 実施形態 6において説明したサンプ ルヘッダを使用するとする。 The data processing device according to the seventh embodiment receives and analyzes an MP4 file in which one sample includes a plurality of video pictures, decodes and displays encoded data. Here, it is assumed that at least one of the display time and the decoding time is different between two different video pictures. In the present embodiment, an MP4 data structure and a demultiplexing process thereof for the purpose of efficiently performing special reproduction such as double-speed reproduction are provided. The configuration of the data processing device according to the present embodiment is the same as the configuration of the data processing device according to the sixth embodiment. It is assumed that the video data is encoded in the MPEG-4 AVC format, but may be MPEG-4 Visual, MPEG_2 Visual or H.263. Also, multiple frames of audio or text data may be stored in one sample. When a plurality of pictures are included in one sample, the sample header described in the sixth embodiment is used.
MP E G— 4 AVCでは、 ビデオストリームを構成するピクチ ャ間の参照関係を柔軟に設定できる反面、 倍速再生など特定のピク チヤを選択的に再生する際には復号化するピクチャを決定すること が困難である。 ここで、 図 49を参照しながらピクチャ間の参照関 係を説明する。 図 4 9は、 一連のピクチャと各ピクチャの符号化夕 イブを示す。 図 4 9に示すように、 ピクチャの符号化タイプは復号 順に I — 3、 B— 1、 B— 2、 P— 6、 B _ 4、 B— 5、 P— 9、 B— 7、 B - 8 · · であるものとし、 各ピクチャの符号化タイプに 付加された数字は表示順を示す。 例えば、 このような一連のピクチ ャを 3倍速で再生するためには、 1 — 1、 P— 6、 P— 9というよ うに Iおよび Pピクチャを再生すればよい。 このとき、 P— 6が I - 1のみを参照し、 P— 9が P— 6のみを参照して復号化すること ができれば問題ない。 しかし、 MP E G— 4 AVCでは、 B _ 2 を参照して P _ 6を復号する場合がある。 そのため、 予めピクチャ 間の参照関係が既知でなければ、 倍速再生時に復号化が必要なピク チヤを決定することができない。 各ピクチャがどのピクチャを参照 しているかは、 ピクチャを構成する全てのスライスついて、 スライ スヘッダを解析することにより取得できる。 しかし、 特殊再生時に 全スライスを解析するのでは効率が悪い。 MP EG-4 AVC allows flexible setting of the reference relationship between the pictures that make up a video stream, but on the other hand, when selectively playing back a specific picture such as double-speed playback, the picture to be decoded is determined. Have difficulty. Here, the reference relationship between pictures will be described with reference to FIG. Figure 49 shows a series of pictures and the encoding evening of each picture. As shown in Fig. 49, the picture coding type is I-3, B-1, B-2, P-6, B_4, B-5, P-9, B-7, B- The number added to the encoding type of each picture indicates the display order. For example, in order to play such a series of pictures at 3x speed, I and P pictures should be played in the order of 1-1, P-6, P-9. At this time, there is no problem as long as P-6 can refer to only I-1 and P-9 can refer to only P-6 for decoding. However, in MP EG-4 AVC, P_6 may be decoded with reference to B_2. Therefore, if the reference relationship between pictures is not known in advance, the pictures that need to be decoded during Unable to determine char. Which picture each picture refers to can be obtained by analyzing the slice header for all slices constituting the picture. However, analyzing all slices during trick play is inefficient.
本実施形態における MP 4ファイルでは、 ピクチャ間の参照関係 を示すために、 ( 1 ) MP E G— 4 A V C の SEI (Supplemental Enhancement Information) を使用する。 または、 ( 2 ) サンプル へッダ内に、 サンプルを構成するピクチャ間の参照関係を記述する。  In the MP4 file according to the present embodiment, (1) MPEI—4 AVC SEI (Supplemental Enhancement Information) is used to indicate the reference relationship between pictures. Or, (2) In the sample header, describe the reference relationship between the pictures that make up the sample.
ここで、 ピクチャ間の参照関係を示すためにサブシーケンス、 お よびレイヤと呼ばれる構造を使用する。 従来の MP 4ファイルでは stbl内のサンプルツーグループボックス (Sample To Group Box; sbgp) を用いてこれらの構造を記述するが、 サブシーケンスおよび レイャ構造を sbgpにより記述すると、 sbgpのサイズが非常に大きく なり、 結果として moovのサイズも増大するという問題がある。 以下 に説明する本実施形態によれば、 MP 4ファイルを使用することに よりこの課題も解決される。  Here, a structure called a subsequence and a layer is used to indicate a reference relationship between pictures. In the conventional MP4 file, these structures are described using the Sample To Group Box (sbgp) in the stbl. However, when the subsequence and the layer structure are described by sbgp, the size of the sbgp becomes very large. Therefore, there is a problem that the size of moov also increases as a result. According to the present embodiment described below, this problem is solved by using an MP4 file.
まず、 SEIを使用してピクチャ間の参照関係を示す方法を説明す る。 SEIとは、 ピクチャを復号化する際の利便性を向上させる目的 で導入された付加情報であり、 ピクチャデータに付加することによ り使用する。 ただし、 SEIは復号化動作に直接関係するものではな く、 SEIがなくてもピクチャデータを復号化することは可能である。 MP E G— 4 AVCでは、 時間的なスケ一ラビリティを実現する ために、 サブシーケンス、 およびレイヤと呼ばれる概念が導入され、 そのための SE Iが用意されている。 First, a method for indicating the reference relationship between pictures using SEI will be described. SEI is additional information introduced for the purpose of improving the convenience of decoding a picture, and is used by adding it to picture data. However, SEI is not directly related to the decoding operation, and it is possible to decode picture data without SEI. MP EG-4 AVC introduces a concept called sub-sequence and layer to achieve temporal scalability. SEI for that is prepared.
最初に、 図 5 0 ( a ) 〜 (c ) を例に、 サブシーケンスおよびレ ィャを説明する。 図 5 0 ( a ) 〜 (c ) は、 ビデオストリームとビ デォストリームを構成するレイヤ 0および 1を示す。 図 5 0 ( a ) は、 ビデオストリームを構成する 1 5枚のピクチャを示す。 各ピク チヤにはデコード順に 1から 1 5までの番号が付与されている。 ビ デォストリームはレイヤ 0とレイヤ 1の 2つのレイヤに分けられて いる。 図 5 0 ( b ) はビデオストリームのレイヤ 0を示し、 図 5 0 ( c ) はビデオストリームのレイヤ 1を示す。 レイヤ 0は独立に復 号化することができ、 レイヤ 1はレイヤ 0またはレイヤ 1のピクチ ャを参照して復号化される。 さらに、 各レイヤはサブシーケンスと 呼ばれる単位に分割され、 レイヤ 0とレイヤ 1は図示するようにそ れぞれ 2つのサブシーケンスに分割される。 このように、 N番目 (N は 1以上の整数) のレイヤに属するサブシーケンス内のピクチャは、 N番目以下のレイヤのサブシーケンスに属するピクチャのみを参照 できる。  First, the subsequences and layers will be described with reference to FIGS. 50 (a) to (c) as an example. FIGS. 50 (a) to (c) show layers 0 and 1 constituting a video stream and a video stream. FIG. 50 (a) shows fifteen pictures making up a video stream. Each picture is numbered from 1 to 15 in decoding order. The video stream is divided into two layers, Layer 0 and Layer 1. FIG. 50 (b) shows layer 0 of the video stream, and FIG. 50 (c) shows layer 1 of the video stream. Layer 0 can be decoded independently, and Layer 1 is decoded with reference to Layer 0 or Layer 1 pictures. Further, each layer is divided into units called subsequences, and layer 0 and layer 1 are each divided into two subsequences as shown in the figure. In this way, pictures in the sub-sequence belonging to the N-th (N is an integer of 1 or more) layer can refer only to the pictures belonging to the sub-sequence of the N-th or less layer.
サブシーケンス、 レイヤ関連 SE Iには、 ピクチャが属するレイヤ 番号、 レイヤ内においてどのサブシーケンスに属するかを示す番号、 およびピクチャが属するサブシ一ケンスの復号化時に参照されるサ ブシーケンスを示される。 ストリームにおいては、 ピクチャ毎にサ ブシーケンス、 レイヤ関連の SE Iを付加することにより、 ピクチャ が属するサブシーケンスのデータを復号化する際に、 どのサブシー ケンスを参照すればよいかが示される。 例えば、 レイヤ 0とレイヤ 1を共に復号化した際のフレームレートが 3 0 H z、 レイヤ 0のみ 復号化した際のフレームレートが 1 5 H zであるとすると、 ビッ ト レートを低く抑えたいような場合にはレイヤ 0のみ復号化して 1 5 H z再生し、 ビッ トレートの制約がない場合にはレイャ 0とレイヤ 1を共に復号化して 3 0 H zで再生するようなことができる。 図 5 1 ( a ) 〜 ( c ) は、 サブシーケンス、 レイヤ関連 SEIのシンタツ クスを示す。 サブシーケンス、 レイヤ関連の SEIとして、 サブシー ケンス情報 (Sub- sequence informat ion; SSI) SEI、 サブシ一ケン スレイャ特性 ( Sub-sequence layer characteristics ; SSL) SEI , サブシーケンス特性 (Sub-sequence characteristics ; SSC) SEIの 3つが定義されている。 以下に、 各 SEIにおける主要なフィールド を説明する。 The subsequence and the layer-related SEI indicate the layer number to which the picture belongs, the number to which the subsequence belongs in the layer, and the subsequence to be referred to when decoding the subsequence to which the picture belongs. In the stream, by adding a sub-sequence and layer-related SEI for each picture, it indicates which sub-sequence to refer to when decoding the data of the sub-sequence to which the picture belongs. For example, layer 0 and layer Assuming that the frame rate when decoding 1 together is 30 Hz and the layer rate is only layer 0 If the frame rate when decoding is 15 Hz, only layer 0 is needed to reduce the bit rate If the bit rate is not restricted, it is possible to decode both Layer 0 and Layer 1 and reproduce them at 30 Hz. Figures 51 (a) to (c) show the syntax of subsequence and layer-related SEI. Subsequence information (SSI) SEI, Sub-sequence layer characteristics (SSL) SEI, Sub-sequence characteristics (SSC) Three SEIs are defined. The main fields in each SEI are described below.
( 1 ) SSI SEI  (1) SSI SEI
ピクチャが属するレイヤ、 およびサブシーケンスを示す。  Indicates the layer and sub-sequence to which the picture belongs.
sub_seq_layer_num:サブシーケンスが属するレイャの番号。 sub— seq— id: レイヤ内でのサブシーケンスのインデックス番号, sub_seq_layer_num: the number of the layer to which the subsequence belongs. sub—seq—id: index number of the subsequence in the layer,
( 2 ) SSL SEI (2) SSL SEI
複数レイヤの各々の情報を示す。  The information of each of a plurality of layers is shown.
num― sub— seq一 layers― minusl : ス トリームを構成するレイヤ の個数。  num-sub-seq-layers-minusl: The number of layers that make up the stream.
average一 bi t― rate: レイャの平均ビッ 卜レ一卜。  average bit rate—Layer's average bit rate.
average― frame― rate: レイャの平均フレームレート。  average-frame-rate: The average frame rate of the layer.
( 3 ) SSC SEI サブシーケンス毎の情報を示す。 (3) SSC SEI Shows information for each subsequence.
sub_seq_layer_num: サブシーケンスが属するレイヤの番号。 sub— seq— id: レイヤ内でのサブシーケンスのィンデックス番号。 average— bi t— rate :サブシーケンスの平均ビットレ一ト。  sub_seq_layer_num: Number of the layer to which the subsequence belongs. sub—seq—id: Index number of the subsequence in the layer. average—bit—rate: The average bit rate of the subsequence.
average― frame一 rate: サブシーケンスの平均フレームレート。 nuin一 referenced一 subseqs:参照するサブシーケンスの個数。  average-frame-per-rate: The average frame rate of the subsequence. nuin one referenced one subseqs: The number of referenced subsequences.
ref― sub― seq― layer一 num: su 一 seq― layer― num および sub ref-sub-seq-layer-num: su-seq-layer-num and sub
— seq— idにより示されるサブシーケンスを構成するピクチャの参 照先ピクチャが含まれるレイヤ番号。 — Seq—Layer number that includes the reference picture of the picture making up the subsequence indicated by id.
ref一 sub一 seq― id: sub― seq― layer一 num および sub一 seq― id により示されるサブシーケンスを構成するピクチャの参照先ピクチ ャが含まれるサブシーケンスのインデックス番号。 なお、 本フィー ルドにより示されるサブシーケンスが属するレイヤは、 ref— sub— seq一 layer— numにより示される。  ref-sub-seq-id: Index number of the sub-sequence that includes the picture referenced by the picture constituting the sub-sequence indicated by sub-seq-layer-num and sub-seq-id. The layer to which the subsequence indicated by this field belongs is indicated by ref—sub—seq—layer—num.
ref— sub— seq— direct ion:参照先のサブシーケンスが、 デコー ド順で参照元サブシーケンスより前にあるか後にあるかを示すフラ グ情報。  ref—sub—seq—direct ion: Flag information indicating whether the referenced subsequence precedes or follows the referencing subsequence in decoding order.
ここで、 従来の一般的な MP 4フアイルにおいてサブシーケンス およびレイヤ構造を記述する方法を説明する。 まず、 従来の MP 4 ファイルにおいては、 サブシーケンスおよびレイヤ関連の SEIをビ デォトラックのデ一夕として格納することは禁止されており、 stbl 内のボックスを使用してこれら SEIの情報を格納していた。  Here, a method of describing a subsequence and a layer structure in a conventional general MP4 file will be described. First, in conventional MP4 files, it is prohibited to store SEIs related to subsequences and layers as video track data, and the information in these SEIs is stored using boxes in stbl. Was.
次に、 SSL SEIと SSC SEIにより示される情報は、 stbl内のサンプ リレグ Jレープ記述ボックス (Sample Group Description Box; sgpd) 内に格納される。 sgpdの構造は stsdの構造と類似しており、 ビデオ データの復号時に必要となるデコーダの初期化情報が stsd内のェン トリ一に格納されるように、 各 SEIの情報が sgpd内のェントリーに 格納される。 SSL SEIのビッ トレートおよびフレームレート情報は、 AVCLayerEntryと呼ばれるェントリ一に格納される。 AVCLayerEntry は 1レイヤの情報を含むため、 全てのレイヤの情報を設定するには レイャの個数分の AVCLayerEntryが必要となり、 各ェントリ一は出 現順序により決定されるェントリーのィンデックス番号により記述 される。 Next, the information indicated by the SSL SEI and SSC SEI is It is stored in the Releg J-rape description box (sgpd). The structure of sgpd is similar to the structure of stsd, and the information of each SEI is stored in the entry in sgpd so that the initialization information of the decoder required when decoding video data is stored in the entry in stsd. Is stored in The bit rate and frame rate information of SSL SEI is stored in an entry called AVCLayerEntry. Since the AVCLayerEntry contains information of one layer, setting the information of all layers requires AVCLayerEntry of the number of layers, and each entry is described by the index number of the entry determined by the appearance order.
これらの内容は、 stsd内のエントリーと同一である。 同様に、 SSC SEIの内容は、 AVCSubSequenceEnt ryに格納されるため、 結局 AVCLayerEntry用と AVCSubSequenceEnt ry用の 2つの sgpdが必要とな る。 さらに、 AVCLayerEntry, および AVCSubSequenceEn t ryとサンプ ルとを関連付けるために、 Sample To Group Box (' sbgp' )を使用す る。 sbgpは、 サンプルが参照する sgpd内のエントリーを示すフィー ルドを持つが、 1つの sbgpあたり 1種類のェントリ一しか参照できな い。 このため、 AVCLayerEntryおよび AVCSubSequenceEn yとサンプ ルを関連付けるには、 2つの sbgp Boxを使用することになる。  These contents are the same as the entries in stsd. Similarly, since the contents of SSC SEI are stored in AVCSubSequenceEntry, two sgpds for AVCLayerEntry and AVCSubSequenceEntry are eventually required. In addition, use the Sample To Group Box ('sbgp') to associate AVCLayerEntry and AVCSubSequenceEntry with the sample. sbgp has a field indicating the entry in sgpd that the sample refers to, but only one type of entry per sbgp can be referenced. For this reason, two sbgp Boxes are used to associate AVCLayerEntry and AVCSubSequenceEny with the sample.
図 5 2および図 5 3を参照しながら、 サブシーケンス関連ボック スを使用した際のオーバ一へッ ドの見積もりを説明する。 図 5 2 ( a ) 〜 (d) は、 ビデオストリームとビデオストリームを構成す るレイヤ 0、 1 、 2を示す。 図 5 2 ( a ) はビデオストリームを構 成する 1 5枚のピクチャを示しており、 復号順に符号化タイプは I 、 B、 B 、 P、 B 、 B 、 P 、 · · · 、 P 、 B、 Bである。 全てのピク チヤを復号化した際のフレームレートは 3 0 H zである。 なお、 符 号化タイプの後に付加されている数字は、 表示時間の順序を示して いる。 1 5枚のピクチャは、 符号化タイプにより 3つのレイヤに分 割されている。 図 5 2 ( b ) はビデオス トリームのレイヤ 0を示し、 図 5 2 ( c ) はビデオストリームのレイヤ 1 を示し、 図 5 2 ( d ) はビデオストリームのレイヤ 2を示す。 レイヤ 0は I ピクチャ、 レ ィャ 1は Pピクチヤ、 レイヤ 2は Bピクチヤから構成される。 With reference to FIGS. 52 and 53, estimation of overhead when using the subsequence-related box will be described. FIGS. 52 (a) to (d) show a video stream and layers 0, 1, and 2 constituting the video stream. Figure 52 (a) shows the structure of a video stream. 15 pictures to be formed, and the coding types are I, B, B, P, B, B, P,..., P, B, B in decoding order. The frame rate for decoding all pictures is 30 Hz. Note that the number added after the encoding type indicates the order of the display time. 15 pictures are divided into three layers according to the coding type. FIG. 52 (b) shows layer 0 of the video stream, FIG. 52 (c) shows layer 1 of the video stream, and FIG. 52 (d) shows layer 2 of the video stream. Layer 0 is composed of I pictures, layer 1 is composed of P pictures, and layer 2 is composed of B pictures.
レイヤ 0からレイヤ 2に属するピクチャは、 それぞれサブシーケ ンス 0 — 1、 サブシーケンス 1 一 1、 サブシーケンス 2— 1 に格納 される。 ここで、 サブシーケンス 0 _ 1は単独で復号化され、 サブ シーケンス 1— 1はサブシーケンス 0— 1を参照して復号化され、 サブシーケンス 2— 1はサブシーケンス 0— 1およびサブシーケン ス 1 一 1 を参照して復号化される。 なお、 ビデオシーケンスは、 こ れら 1 5枚のピクチヤと同一の構造が繰り返されたものであるとす る。 次に、 図 5 2 ( a ) に示すビデオシーケンスを M P 4ファイル に格納したときのオーバーへッ ドを計算する。 レイヤ 0からレイヤ 2までのレイヤに関する情報は、 それぞれ AVCLayerEn t ry用 sgpd内 の 1から 3番目の AVCLaye rEn t ryに格納される。  Pictures belonging to layer 0 to layer 2 are stored in subsequence 0-1, subsequence 11 and subsequence 2-1, respectively. Here, sub-sequence 0_1 is decoded independently, sub-sequence 1-1 is decoded with reference to sub-sequence 0-1, and sub-sequence 2-1 is sub-sequence 0-1 and sub-sequence 1-1. Decoded with reference to 1. It is assumed that the video sequence has the same structure as the 15 pictures repeated. Next, the overhead when the video sequence shown in Fig. 52 (a) is stored in the MP4 file is calculated. Information on layers from layer 0 to layer 2 is stored in the first to third AVCLayerEntry in the sgpd for AVCLayerEntry.
また、 サブシーケンス 0— 1、 サブシーケンス 1— 1、 およびサ ブシーケンス 2— 1の 3つのサブシーケンスに関する情報は、 それ ぞ れ AVCSubSequenceEn t ry 用 sgpd の 1 か ら 3 番 目 の AVCSubSequenceEntryに格納される。 図 5 3 ( a) はレイヤ用 sbgp のテーブルデータを示し、 図 5 3 (b) はサブシーケンス用 sbgpの テーブルデータ を示す。 こ こで、 レイ ヤ用 sbgpの indexは AVCLayerEntry用 sgpdにおけるェントリ一番号を示し、 サブシーケ ンス用 sbgpの indexは AVCSubSequenceEntry用 sgpdにおけるィンデッ クス番号を示す。 sample— countは、 同一の i ndex値をもつ連続した サンプルの個数を示す。 レイヤ、 サブシーケンス用のテーブルとも に、 エントリーの更新が頻繁に発生するため、 サイズが大きくなる。 また、 同一の構造をもつエントリ一が繰り返されるため、 テープ ルが冗長となっている。 sample— countと indexフィールドのサイズ は共に 4バイ 卜であるため、 図 5 2 に示した 1 5枚のピクチャ (0.5秒分) に関する情報を示すためのデータサイズは、 レイヤ用 spgp, サブシーケンス用 sbgp共に 8 * 2 * 1 0 = 1 6 0バイ トと なる。 例えば、 1時間分のデータを記録する場合には、 2つの sbgp Boxを合わせたサイズは、 2 * 1 6 0 * ( 1 /0.5) * 3 6 0 0 = 2304000バイ トにも達する。 sbgpは moovに含まれるため、 結果とし て moovのサイズが非常に大きくなつてしまい、 MP 4フアイル再生 時に必要なメモリのサイズが増大するという問題がある。 また、 sbgpを用いた従来の方法ではサブシーケンスおよびレイヤに関する 情報をサンプル単位でしか記述できないため、 サンプルに複数ピク チヤのデータが格納される際には、 ピクチャ毎のサブシーケンス関 連情報を記述できないという問題もある。 Information on the three subsequences, subsequence 0—1, subsequence 1-1, and subsequence 2-1 are respectively stored in the first to third sgpd for AVCSubSequenceEntry. Stored in AVCSubSequenceEntry. FIG. 53 (a) shows the table data of the sbgp for the layer, and FIG. 53 (b) shows the table data of the sbgp for the subsequence. Here, the index of the sbgp for the layer indicates the entry number in the sgpd for the AVCLayerEntry, and the index of the sbgp for the subsequence indicates the index number in the sgpd for the AVCSubSequenceEntry. sample—count indicates the number of consecutive samples with the same index value. The size of the layer and subsequence tables increases because entries are updated frequently. In addition, since one entry having the same structure is repeated, the table becomes redundant. Since the size of the sample—count and index fields are both 4 bytes, the data size for indicating information about 15 pictures (for 0.5 seconds) shown in Figure 52 is the spgp for the layer and the sub sequence. 8 * 2 * 10 = 16 bytes for both sbgp. For example, when recording one hour of data, the combined size of the two sbgp boxes can be as large as 2 * 160 * (1 / 0.5) * 360 = 2304000 bytes. Since sbgp is included in moov, the size of moov becomes extremely large as a result, and there is a problem in that the required memory size increases when playing MP4 files. In addition, in the conventional method using sbgp, information about subsequences and layers can be described only in units of samples. There is also the problem that it cannot be done.
本実施形態による MP 4ファイルは、 上述のサブシーケンス、 レ ィャ構造を、 特殊再生時に必要となるピクチャ間の参照関係を示す ために使用される。 さらに、 ビデオトラックのデ一夕としてサブシ ーケンス、 レイヤ関連 SE Iを使用できるものとし, s bgpを用いてサ ブシーケンス、 レイヤ関連情報を示すことはしないとする。 以下に、 各 SE Iの使用方法を説明する。 本 M P 4ファイルでは、 ビデオスト リームをランダムァクセス可能な複数の単位に分割し、 ランダムァ クセス可能な単位 (以降、 AVC-G0Pと呼ぶ。 ) に基づいてピクチャ 間の参照関係を示すとする。 なお、 以下では、 1アクセスユニッ ト は 1 ピクチャのデータから構成されるとして説明するが、 1ァクセ スュニッ 卜が複数ピクチャのデータから構成されていてもよく、 そ のときも後述する構造と同じ構造を採用できる。 The MP4 file according to the present embodiment includes the above-described sub-sequence, The key structure is used to indicate the reference relationship between pictures required for trick play. In addition, it is assumed that subsequence and layer-related SEI can be used as video track data, and that sbgp is not used to indicate subsequence and layer-related information. The following describes how to use each SEI. In this MP4 file, the video stream is divided into a plurality of randomly accessible units, and the reference relationship between pictures is shown based on the randomly accessible units (hereinafter referred to as AVC-G0P). In the following, one access unit will be described as being composed of data of one picture, but one access unit may be composed of data of a plurality of pictures. In that case, the same structure as that described later is used. Can be adopted.
図 5 4 ( a ) 〜 ( c ) は AVC-G0Pの構造を示す。 AVC - G0Pにおいて は、 先頭ピクチャは独立に複号化できるとする。 AVC-G0Pは、 L ( L は 1以上の整数) 個のレイヤ、 M (Mは 1以上の整数) 枚のピクチャ、 各ピクチャは N ( Nは 1以上の整数) 個のスライスから構成され、 AVC-G0P内では 1 レイヤあたり 1つのサブシーケンスを持つとする。 先頭に配置される SSL SE Iは、 ビデオストリームを構成する L個のレ ィャ等の情報を示し、 続いて配置される L個の SSC SE Iはレイヤ毎の 情報を示し、 その後に M枚分のピクチャデータが続く。 各ピクチャ データの先頭には SS I SE Iが配置され、 その後に N個のスライスデー 夕が格納される。 なお、 ここでは AVC-G0P内の各レイヤは 1つのサ ブシーケンスから構成されるとしているが、 各レイヤが複数のサブ シーケンスから構成されていてもよく、 そのときは、 レイヤ内の全 てまたは必要なサブシーケンスに関しての SSC SE Iを配置すればよ い。 Fig. 54 (a) to (c) show the structure of AVC-G0P. In AVC-G0P, the first picture can be decoded independently. AVC-G0P is composed of L (L is an integer of 1 or more) layers, M (M is an integer of 1 or more) pictures, and each picture is composed of N (N is an integer of 1 or more) slices, It is assumed that one layer has one subsequence in AVC-G0P. The SSL SE I placed at the top indicates information on L layers and the like that constitute the video stream, the L SSC SE I placed subsequently indicates information for each layer, and then M sheets Minute picture data follows. SSISEI is placed at the head of each picture data, followed by N slice data. Although it is assumed here that each layer in AVC-G0P is composed of one subsequence, each layer may be composed of a plurality of subsequences. All you need to do is place the SSC SE I for the required subsequence.
なお、 SSL、 SSC、 SSIの各 SEIの配置順、 および配置位置は図 4 9 ( a) の構造に限るものではない。 また、 SSC SEIは、 予めサブシ 一ケンス間の参照関係を規定しておくことにより省略するとしても よい。 例えば、 AVC- G0P内の各レイヤが 1つのサブシーケンスから 構成される際に、 レイヤ Nに含まれるピクチャは、 同一 AVC- G0P内の N番目以下のレイヤに属するピクチャを参照すると規定しておけば、 SSC SEIを省略することができる。 また、 本 AVC— G0P構造はサブシ ーケンス、 レイヤ関連 SEI以外の SEIの使用を制限するものではなく、 例えば、 Random access point SEIを AVC- GOPの先頭に配置するとし てもよい。 さらに、 SSL SEIは全ての AVC-G0Pに付与せずに、 ビデオ ストリームにおける先頭 G0Pにのみ付加するものとしてもよいし、 周期的に付加するものとしてもよい。  The order and location of SSL, SSC, and SSI SEIs are not limited to the structure shown in Fig. 49 (a). Also, the SSC SEI may be omitted by preliminarily defining a reference relationship between subsequences. For example, when each layer in AVC-G0P is composed of one sub-sequence, the picture included in layer N should be defined as referring to the picture belonging to the Nth or lower layer in the same AVC-G0P. If so, SSC SEI can be omitted. The AVC-G0P structure does not limit the use of SEIs other than the subsequence and layer-related SEIs. For example, a Random access point SEI may be placed at the beginning of the AVC-GOP. Furthermore, the SSL SEI may not be provided to all AVC-G0Ps but may be added only to the first G0P in the video stream, or may be added periodically.
また、 独立に復号化できるピクチャを AVC-G0Pの先頭以外のピク チヤとして配置するとしてもよい。 また、 AVC-G0P構造の使用は M P 4 に制限されるものではな く 、 MPEG— 2 TS ( Transport Stream) や PS (Program Stream) など他の多重化フォーマツ トにお いて使用してもよい。 また、 ランダムアクセス可能な単位毎でなく ても、 ピクチャ毎に SSL SEIおよび SSC SEIを付加するとしてもよい。 また、 AVC-G0Pという単位を設定せずに任意の位置で SSL,SS SSIを 使用して参照関係を示すとしてもよい。  A picture that can be decoded independently may be arranged as a picture other than the first picture of AVC-G0P. The use of the AVC-G0P structure is not limited to MP4, but may be used in other multiplexing formats such as MPEG-2 TS (Transport Stream) and PS (Program Stream). Also, the SSL SEI and SSC SEI may be added for each picture, not for each randomly accessible unit. Also, the reference relationship may be indicated using SSL, SS SSI at any position without setting the unit of AVC-G0P.
図 5 4 ( b) および ( c ) は、 サブシーケンス、 レイヤ関連 SEI を利用して規定したサンプル構造を示す。 各サンプルにはサンプル ヘッダも付加されるが、 ここでは省略している。 frame— countが 1 である際は、 1サンプルに 1 ピクチャ分のデータが格納されるため、 図 5 4 (b) に示される構造にしたがってサンプルが決定される。 サンプル 1は、 AVC- G0Pにおける先頭ピクチャのデ一タを格納する サンプルであり、 AVC-G0P内でのサブシーケンス、 および、 レイヤ 情報を示す SEIである SSL SEIと SSC SEIも同時に格納する。 AVC- G0P 内での 2番目から M番目までのピクチャのデータは、 それぞれサン プル 2からサンプル Mに格納される。 Figures 54 (b) and (c) show the subsequence and layer-related SEI 2 shows a sample structure defined by using. A sample header is added to each sample, but is omitted here. When frame—count is 1, one picture contains data for one picture, so the sample is determined according to the structure shown in Figure 54 (b). Sample 1 is a sample that stores the data of the first picture in AVC-G0P, and also stores a subsequence in AVC-G0P and SSL SEI and SSC SEI, which are SEIs indicating layer information. Data of the 2nd to Mth pictures in AVC-G0P are stored in sample 2 to sample M, respectively.
frame— countが 1より大きい際には、 1サンプルには AVC-G0Pを 構成する全てのピクチャのデータを格納するとし、 サンプルは図 5 4 ( c ) に示すように、 AVC-G0Pと同一の構造をとる。 なお、 frame _countが 1より大きい際にも、 AVC-G0Pのデータを複数のサンプル に分割して格納するとしてもよい。  When frame—count is greater than 1, one sample stores the data of all the pictures that make up the AVC-G0P, and the sample is the same as the AVC-G0P, as shown in Fig. 54 (c). Take the structure. Note that even when frame_count is greater than 1, the AVC-G0P data may be divided into a plurality of samples and stored.
以下に、 MP E G— 4 A V Cのストリームに対してサブシーケ ンス、 およびレイヤを適用する際の具体例を示す。 図 5 5 ( a) 〜 (d) は、 ビデオストリームとビデオストリームを構成するレイヤ 0 , 1 , 2を示す。 この図 5 5 ( a) 〜 (d ) は、 AVC-G0P内でど のようにサブシーケンス、 およびレイヤが使用されるかを示してい る。 図 5 5 ( a) は、 ビデオストリームを構成する AVC- G0P内の 1 5枚のピクチャを示しており、 復号順に符号化タイプは I 、 B、 B、 P、 B、 B、 P、 · · · 、 P、 B、 Bである。 全てのピクチャを復 号化した際のフレームレートは 3 0 H zである。 1 5枚のピクチャは、 符号化タイプにより 3つのレイヤに分割さ れている。 図 5 5 (b) はビデオス トリームのレイヤ 0を示し、 図 5 5 ( c ) はビデオストリームのレイヤ 1を示し、 図 5 5 ( d ) は ビデオス トリームのレイヤ 2を示す。 レイヤ 0は I ピクチャ、 レイ ャ 1は Pピクチヤ、 レイヤ 2は Bピクチヤから構成される。 The following is a specific example of applying the subsequence and layer to the MPEG-4 AVC stream. 55 (a) to 55 (d) show a video stream and layers 0, 1, and 2 constituting the video stream. FIGS. 55 (a) to 55 (d) show how subsequences and layers are used in AVC-G0P. Fig. 55 (a) shows 15 pictures in AVC-G0P constituting a video stream, and the coding types are I, B, B, P, B, B, P, ·, P, B, B. The frame rate when all pictures are decoded is 30 Hz. The 15 pictures are divided into three layers according to the coding type. FIG. 55 (b) shows layer 0 of the video stream, FIG. 55 (c) shows layer 1 of the video stream, and FIG. 55 (d) shows layer 2 of the video stream. Layer 0 is composed of I pictures, layer 1 is composed of P pictures, and layer 2 is composed of B pictures.
AVC-G0P内のレイヤ 0からレイヤ 2に属するピクチャは、 それぞ れサブシーケンス 0— 1、 サブシーケンス 1— 1、 サブシーケンス 2— 1に格納される。 ここで、 サブシーケンス 0 _ 1は単独で復号 化され、 サブシーケンス 1 — 1はサブシーケンス 0 _ 1を参照して 復号化され、 サブシーケンス 2— 1はサブシーケンス 0— 1および サブシーケンス 1一 1を参照して復号化される。  Pictures belonging to layer 0 to layer 2 in AVC-G0P are stored in subsequence 0-1, subsequence 1-1, and subsequence 2-1 respectively. Here, subsequence 0_1 is decoded independently, subsequence 1-1 is decoded with reference to subsequence 0_1, and subsequence 2-1 is subsequence 0-1 and subsequence 11 Decoded with reference to 1.
各ピクチャの表示時間間隔は固定であるため、 レイヤ 0のみ復号 化する際のフレームレートは 2 H z、 レイヤ 0とレイヤ 1を復号化 する際のフレームレートは 1 0 H z、 レイヤ 0からレイヤ 2まで全 てを復号化する際のフレームレートは 3 0 H zになる。 ビッ トレー トは、 レイヤ 0のみでは 6 4 k b p s、 レイヤ 0とレイヤ 1の合計 で 9 6 k b p s、 レイヤ 0からレイヤ 2までの合計で 1 2 8 k b p s とする。 図 5 6 ( a) 〜 ( c ) は、 図 5 5 ( a) に示す AVC- GOP に格納される SSL、 SSC、 SSIの各 SEIのフィールド値を示す。 図 5 6 ( a) は、 N (Nは 0から 2までの整数) 番目レイヤに関して、 N番 目までの全てのレイヤを合計した際の平均ビッ トレ一ト、 および平 均フレームレートを格納する SSL SEIを示す。  Since the display time interval of each picture is fixed, the frame rate when decoding only Layer 0 is 2 Hz, the frame rate when decoding Layer 0 and Layer 1 is 10 Hz, and Layer 0 to Layer 0 The frame rate when decoding up to 2 is 30 Hz. The bit rate is 64 kbps for layer 0 only, 96 kbps for the sum of layer 0 and layer 1, and 128 kbps for the total from layer 0 to layer 2. FIGS. 56 (a) to (c) show SSL, SSC and SSI field values stored in the AVC-GOP shown in FIG. 55 (a). Figure 56 (a) stores the average bit rate and the average frame rate for the Nth layer (N is an integer from 0 to 2) when all the Nth layers are summed. Indicates SSL SEI.
次に、 図 5 6 ( b) は、 N (Nは 0から 2までの整数) 番目レイヤ に含まれるサブシーケンスが参照するサブシーケンスの情報が格納 される SSC SEIを示す。 例えば、 レイヤ 2のサブシーケンス 1は、 レイヤ 0のサブシーケンス 1、 およびレイヤ 1のサブシーケンス 1 を参照することが示される。 さらに、 図 5 6 ( c ) は、 ピクチャ毎 に付加される SSI SEIを示す。 SSI SEIには、 各ピクチャが属するレ ィャ、 およびサブシーケンスの情報が格納される。 例えば、 ピクチ ャ I — 3はレイヤ 0のサブシーケンス 1に、 ピクチャ B— 4は、 レ ィャ 2のサブシーケンス 1に含まれることが示される。 Next, Figure 56 (b) shows the Nth (N is an integer from 0 to 2) layer Indicates the SSC SEI in which the information of the sub-sequence referenced by the sub-sequence included in is stored. For example, it is shown that subsequence 1 of layer 2 refers to subsequence 1 of layer 0 and subsequence 1 of layer 1. Further, FIG. 56 (c) shows the SSI SEI added for each picture. The SSI SEI stores information on the layer to which each picture belongs and the subsequence. For example, picture I-3 is included in subsequence 1 of layer 0, and picture B-4 is included in subsequence 1 of layer 2.
上述の説明は、 レイヤ、 サブシーケンスの設定例であり、 レイヤ とサブシーケンスの定義を満たしていれば自由に設定することがで きる。 続いて、 図 5 7 ( a) および (b) は、 図 5 5の AVC-G0Pデ 一夕を MP 4サンプルに格納したときのサンプル構造を示す。 まず、 frame— countが 1であるとき、 すなわち 1サンプルに 1 ピクチャの データが含まれるときは、 ピクチャ I _ 3のデ一夕を含むサンプル に SSL SEI、 SSC SEIが設けられ、 それ以降のサンプルはピクチャデ 一夕のみを含む。 また、 frame— countが 1より大きいとき、 すなわ ち 1サンプルに複数ピクチヤのデータが含まれるときは、 AVC-G0P の全てのデータが 1サンプルに格納される。 なお、 SSI SEIは各ピ クチャデータに含まれるとする。  The above description is an example of setting a layer and a subsequence, and can be set freely as long as the definition of the layer and the subsequence is satisfied. Next, FIGS. 57 (a) and (b) show the sample structure when the AVC-G0P data of FIG. 55 is stored in MP4 samples. First, when frame-count is 1, that is, when one sample contains data of one picture, SSL SEI and SSC SEI are provided for the sample containing the picture I_3 data, and the subsequent samples Includes only picture data. Also, when frame-count is greater than 1, that is, when one sample contains data of multiple pictures, all the data of AVC-G0P is stored in one sample. It is assumed that SSI SEI is included in each picture data.
次に、 サンプルヘッダを利用して、 サンプルを構成するピクチャ 間の参照関係を記述する例を説明する。 実施形態 6では、 サンプル ヘッダ内に新たなボックスを導入して新規の情報を追加できること を説明した。 本実施形態においては、 サブシーケンスとレイヤに関 する情報を格納するためにサンプル · ツー · レイヤ ·サブシ一ケン スボックス (SampleToLayerSubSequenceBox ; stls) を新たに追加 して使用する。 s 11 sは、 サンプル内のピクチャが参照する AVCLayerEntryと AVCSubSequenceEntryを示しており、 オーバ一へッ ドを削減するために両ェントリへの参照情報は同一のボックスに格 納される。 Next, an example of using a sample header to describe a reference relationship between pictures constituting a sample will be described. Embodiment 6 has described that a new box can be introduced in the sample header to add new information. In this embodiment, the subsequence and the layer A new sample-to-layer subsequence box (SampleToLayerSubSequenceBox; stls) is used to store the information to be stored. s 11 s indicates the AVCLayerEntry and AVCSubSequenceEntry referenced by the picture in the sample, and the reference information to both entries is stored in the same box to reduce overhead.
なお、 AVCLayerEntryと AVCSubSequenceEntryは従来の M P 4と同 様に、 stbl内の sgpdに格納される。 図 5 8 ( a) は、 サンプル * ッ 一 · レイヤ ·サブシーケンスボックス stlsのシンタックス例を示す。 図 5 8 ( a ) 【こおレ て、 layer _ description _ index t subsequence一 descr ipt ion— indexは、 それぞれピクチャが参照する AVCLayerEntryと AVCSubSequenceEnt ryのェン トリー番号を示し、 picture― countは同一の AVCLayerEntryと AVCSubSequenceEntryを参 照する連続したピクチャの個数を示す。 picture— count, layer— description― index, および sub― sequence― descr ipt ion― index フィールドをまとめてピクチャレベルエントリと称すると、 同一の サブシーケンス、 レイヤ関連情報をもつピクチャが周期的に現れる ような場合には、 同一のピクチャレベルエントリが周期的に繰り返 す。 このため、 ピクチャレベルエントリが周期構造をもっときは、 entry— countを用いて同一の周期構造が連続する個数を示すことに より、 テーブルサイズを削減する。  AVCLayerEntry and AVCSubSequenceEntry are stored in sgpd in stbl as in the case of conventional MP4. Fig. 58 (a) shows an example of the syntax of the sample * one layer subsequence box stls. Figure 58 (a) [Here, layer_description_index t subsequence-description-index indicates the entry number of the AVCLayerEntry and AVCSubSequenceEntry referenced by the picture, respectively, and the picture-count is the same. Indicates the number of consecutive pictures that refer to AVCLayerEntry and AVCSubSequenceEntry. If the picture—count, layer—description—index, and sub—sequence—description—index fields are collectively referred to as a picture level entry, a picture with the same subsequence and layer-related information appears periodically. , The same picture level entry is repeated periodically. For this reason, when the picture level entry has a periodic structure, the table size is reduced by indicating the number of consecutive same periodic structures using the entry count.
図 5 8 ( b ) は、 図 5 5の AVC- G0Pを 1サンプルに格納したとき の st Isのテーブル構造を示す。 4枚目以降のピクチャの情報には周 期性があるため、 en y— countを使用することによってテ一ブルサ ィズが大幅に削減されている。 なお、 各フィールドのビッ ト数およ びフィ一ルドの並びは例であり、 異なるビッ ト数ゃフィールドの並 びを使用してもよい。 FIG. 58 (b) shows the table structure of st Is when the AVC-G0P of FIG. 55 is stored in one sample. The information for the fourth and subsequent pictures is Due to the periodicity, the table size has been significantly reduced by using the en-count. Note that the number of bits in each field and the arrangement of the fields are examples, and a different number of bits / field arrangement may be used.
なお、 サブシーケンスまたはレイヤに限定せずに、 ピクチャと、 ピクチャの属する複数のグループとの関係を記述できるボックスを 定義してもよい。 複数のグループにはそれぞれ独立の st sdが存在し、 ピクチャはこれら stsd内エントリと関連付けられる。 本明細書では、 そのようなボックスをサンプル · ツー · マルチグループボックス (SampleToMul t iGroupBox ; stmg) として定義する。 図 5 8 ( c ) は 、 サ ン プ ル · ッ 一 · マ ル チ グ ル ー プ ボ ッ ク ス (SampleToMul t iGroupBox; stmg) のシンタックス例を示 。 num― of— related— grouping— typeは、 ピクチャと関連付けられるグル —プの個数を示す。 grouping— typeはグループの識別子であり、 例 えばサブシーケンスやレイヤを示す識別子が格納される。 total— entry― count, entry― count, およひ picture― countの定義は、 stlsと同様である。 picture— indexフィールドには、 ピクチャが属 するグループ全てに関し、 ピクチャが参照する stsd内のェントリー のインデックス番号が格納される。 例えば、 stmgを用いてレイヤと サブシーケンスの情報を格納する際には、 num— of— related— grouping— typeが 2となり、 grouping_typeには、 それぞれの識別 子を順に格納する。  Note that a box that can describe a relationship between a picture and a plurality of groups to which the picture belongs without being limited to a subsequence or a layer may be defined. Each group has an independent st sd, and a picture is associated with an entry in the stsd. In the present specification, such a box is defined as a sample-to-multi-group box (SampleToMultiGroupBox; stmg). Fig. 58 (c) shows an example of the syntax of a sample multi-group box (SampleToMultiGroupBox; stmg). num—of—related—grouping—type indicates the number of groups associated with the picture. grouping-type is an identifier of a group, for example, an identifier indicating a subsequence or a layer is stored. The definitions of total-entry-count, entry-count, and picture-count are the same as for stls. The picture—index field stores the index number of the entry in the stsd referenced by the picture for all the groups to which the picture belongs. For example, when storing layer and subsequence information using stmg, num-of-related-grouping-type is 2, and grouping_type stores each identifier in order.
さらに、 grouping indexフィールドには、 ピクチャが参照する AVCLayerEntryと AVCSubSequenceEntryのィンデックス番号を順に格 納する。 また、 stlsにも、 サンプルヘッダにおける他のボックスと 同様に、 サンプルヘッダの初期値設定部分においてデフオルト値を 設定することができるため、 st Isの内容がデフオルト値と同一であ れば、 サンプル内のサンプルヘッダにおいては stlsを設定しなくて もよい。 また、 entry— countフィールドなどを用いて周期構造を表 現せずに各ピクチャの情報を順次格納するとしてもよい。 また、 サ ブシーケンスとレイヤの情報を別々の独立したボックスを使用して 格納するとしてもよい。 なお、 stlsおよび stmgはサンプルヘッダ内 における使用に限定されるものではなく、 moovまたは moof内で使用 するとしてもよい。 In addition, the picture referenced by the grouping index field The index numbers of AVCLayerEntry and AVCSubSequenceEntry are stored in order. Also, stls can set the default value in the initial value setting part of the sample header like other boxes in the sample header. You do not need to set stls in the sample header. Also, information of each picture may be stored sequentially without expressing a periodic structure using an entry-count field or the like. Also, the subsequence and layer information may be stored using separate and independent boxes. Note that stls and stmg are not limited to use in the sample header, but may be used in moov or moof.
続いて、 ピクチャ間の参照関係を記述するときの、 ( 1 ) SEIの 使用と (2 ) サンプルヘッダの stlsの使用とを使い分ける基準を説 明する。  Next, a description will be given of criteria for selectively using (1) using SEI and (2) using stls in the sample header when describing a reference relationship between pictures.
使い分けは、 s dのエントリ内に新規に定義するフラグにより行 う。 本明細書では、 このフラグを subseq— flagと称する。 subseq— flagがセッ トされているときは、 ビデオトラック内に設定されるサ ブシーケンスおよびレイヤ関連 SEIを用いてピクチャ間の参照関係 を示す。 サンプルヘッダの stlsは使用されない。 次に、 subseq— flagがセッ トされていないときは、 サンプルヘッダの stlsを使用す る。 一方、 サブシーケンス、 およびレイヤ関連 SEIをビデオトラッ ク内に含めることは禁止される。 すなわち、 ピクチャ間の参照関係 を取得する際にはまず subseq flagの値を調べる。 そして、 subseq — f 1 agがセッ トされていればサンプル内のピクチャデー夕に付加さ れた SSL, SSC, および SSIの各 SEIから参照関係を取得し、 subseq— flagがセッ トされていなければサンプルヘッダの stlsからピクチャ の参照関係を取得する。 なお、 subseq— flagは moov内であれば stsd のェントリ以外の場所で設定するとしてもよいし、 フラグとする代 わりにボックス構造を用いるとしてもよい。 The usage is determined by the newly defined flag in the sd entry. In this specification, this flag is called a subseq-flag. subseq—When flag is set, indicates the reference relationship between pictures using the subsequence and layer-related SEI set in the video track. The sample header stls is not used. Next, if subseq—flag is not set, use the sample header stls. On the other hand, the inclusion of subsequences and layer-related SEIs in video tracks is prohibited. That is, when acquiring the reference relationship between pictures, first check the value of the subseq flag. And subseq — If f 1 ag is set, the reference relation is obtained from the SEI of SSL, SSC, and SSI added to the picture data in the sample, and subseq—sample header if flag is not set. Get the reference relation of picture from stls of. The subseq-flag may be set in a location other than the stsd entry if it is within moov, or a box structure may be used instead of the flag.
subseq— flagがセットされていないときであっても、 サブシ一ケ ンス、 レイヤ関連 SEIをビデオトラック内に含めることを禁止しな いとしてもよい。 これにより、 M P 4ファイルのビデオトラックに 格納された MP E G— 4 AVCデータを取り出して、 トランスポ 一トストリーム (T S) 等の異なるフォーマッ トに変換するときに、 変換後のフォーマツ 卜においてサブシーケンス、 レイヤ関連 S E I を使用するような場合においても、 ビデオトラックのデ一夕をその まま利用できる。  subseq—Even if the flag is not set, the inclusion of subsequence and layer related SEI in the video track may not be prohibited. As a result, when the MPEG-4 AVC data stored in the video track of the MP4 file is taken out and converted into a different format such as a transport stream (TS), the subsequence and the subsequence in the converted format are used. Even when using layer-related SEI, the video track can be used as it is.
また、 subseq— flagを使用せずに frame— countの値によつて使い 分けるとしてもよい。 例えば、 frame— countが 1より大きい際には サンプルへッダが使用されるため、 参照関係も st Isを用いて設定す るとし、 frame— countが 1である際には SEIを用いるとしてもよレ 。 さらに、 subseq— flagが設定されている際には SEIを用いるとし、 設定されていない際には従来通り sbgpを用いて参照関係を示すとし てもよい。 また、 サブシーケンス、 レイヤ関連 SEIは使用せずに、 従来通りの sbgpを用いる方法と、 サンプルヘッダの st Isを用いる方 法を subseq— flagの値により切り替えるとしてもよい。 さらにまた、 予めサブシーケンス、 レイヤ関連 SE I、 または、 s t l sのどちらか一 方を使用するとしてもよい。 Also, the subseq-flag may not be used, and may be used depending on the value of frame-count. For example, if the frame—count is greater than 1, the sample header is used, so the reference relationship is set using st Is, and if the frame—count is 1, SEI is used. Yeah. Further, when the subseq-flag is set, the SEI may be used. When the subseq-flag is not set, the reference relationship may be indicated by using sbgp as before. Also, the subsequence and layer-related SEI may not be used, and the conventional method using sbgp and the method using st Is of the sample header may be switched by the value of subseq-flag. Furthermore, One of subsequence, layer related SEI, or stls may be used in advance.
以上説明したように、 本実施形態の M P 4ファイルを使用するこ とにより、 ビデオトラック内のピクチヤの参照関係を容易に取得で きる。 よって、 倍速再生等の特殊再生時に復号または表示するピク チヤを効率的に決定できる。 また、 f r ame— c oun t値が 1より大きく、 1サンプルに複数ピクチャが含まれる際にもピクチャ単位での参照 関係を示すことできる。 さらに、 ピクチャの参照関係に関する情報 をサンプルヘッダまたは SE Iを使用して md a t内に格納することがで きるため、 moovのサイズを削減できる。  As described above, by using the MP4 file of the present embodiment, it is possible to easily acquire the reference relation of the picture in the video track. Therefore, the picture to be decoded or displayed at the time of special reproduction such as double-speed reproduction can be efficiently determined. In addition, even when the value of frame-coun- ter is greater than 1 and one sample includes a plurality of pictures, the reference relation in a picture unit can be indicated. Furthermore, since the information about the picture reference relationship can be stored in the mdat using the sample header or SEI, the size of the moov can be reduced.
以下、 本実施形態によるデータ処理装置を説明する。 本実施形態 によるデータ処理装置の構成は、 図 3 5に示すデ一夕処理装置の構 成と同じであり、 その基本的な動作もまた既に説明したとおりであ る。 よって、 以下では本実施形態によるデータ処理装置の動作、 具 体的には、 特殊再生時における、 サンプル解析部 3 0 7および復号 表示部 3 0 8の動作を説明する。 データ処理装置は、 特殊再生時に は選択したピクチャのみを表示するが、 再生するピクチャを復号化 するためには選択したピクチャ以外のピクチャの復号化が必要にな ることがある。 よって、 データ処理装置は、 復号のみ行うピクチャ と復号および表示の両方を行うピクチャとを区別しなければならな レ そこで、 以下、 データ処理装置の特殊再生時の動作を説明する。 サンプル解析部 3 0 7は、 ビデオトラックに含まれるピクチャ間 の参照関係を取得し、 復号化するピクチャ、 および表示するピクチ ャを決定する。 その後、 サンプル解析部 3 0 7は、 ピクチャデータ d 3 0 9とともに、 ピクチャデ一夕 d 3 0 9を復号化して表示する のか、 または、 復号のみ行うのかを識別するための識別信号を復号 表示部 3 0 8に出力する。 復号表示部 3 0 8は、 ピクチャデ一夕 d 3 0 9を復号化し、 受け取った識別信号によって表示が指示されて いるときは表示を行い、 指示されていないときは表示を行わない。 図 5 9は、 選択したピクチャのみを再生する際のサンプル解析部 3 0 7および復号表示部 3 0 8の処理の手順を示す。 Hereinafter, the data processing device according to the present embodiment will be described. The configuration of the data processing device according to the present embodiment is the same as the configuration of the data processing device shown in FIG. 35, and its basic operation is also as described above. Therefore, hereinafter, the operation of the data processing device according to the present embodiment, specifically, the operation of the sample analysis unit 307 and the decoding display unit 308 during trick play will be described. The data processing device displays only the selected picture at the time of trick play, but it may be necessary to decode a picture other than the selected picture in order to decode the picture to be played. Therefore, the data processing apparatus must distinguish between a picture that performs only decoding and a picture that performs both decoding and display. Therefore, the operation of the data processing apparatus during trick play will be described below. The sample analysis unit 307 obtains the reference relationship between the pictures included in the video track, decodes the picture, and displays the picture. Determine the key. After that, the sample analysis section 307 decodes the identification signal for identifying whether to decode and display the picture data d 309 together with the picture data d 309 or to perform only decoding. Output to 308. Decoding display section 308 decodes picture data d 309, and performs display when display is instructed by the received identification signal, and does not perform display when not instructed. FIG. 59 shows a procedure of processing of the sample analysis unit 307 and the decoding display unit 308 when only the selected picture is reproduced.
まず、 ステップ S 9 1において、 stsdのエントリー内に格納され た subseq— flagの値を取得する。 subseq— Π agがセットされていれ ば、 ピクチャの参照関係はビデオトラックのデ一夕に含まれるサブ シーケンス、 レイヤ関連 SEIから取得し、 セッ トされていなければ、 サンプルヘッダ内の st Isから取得することが決定される。 続いて、 ステップ S 9 2において、 レイヤのフレームレートゃビッ 卜レート、 またはサブシーケンスの参照関係に基づいて、 表示するサブシーケ ンスを決定する。  First, in step S91, the value of subseq-flag stored in the entry of stsd is obtained. subseq — Π If ag is set, the picture reference relationship is obtained from the subsequence and layer-related SEI included in the video track data, and if not set, it is obtained from st Is in the sample header. It is decided to do. Subsequently, in step S92, the sub-sequence to be displayed is determined based on the frame rate divided by the bit rate of the layer or the reference relation of the sub-sequence.
なお、 サブシーケンスに含まれるピクチャの全てを表示せずに、 特定のピクチャのみを表示するとしてもよい。 ステップ S 9 3にお いては、 ステップ S 9 2において表示すると決定したサブシーゲン スのピクチャを復号化する際に参照するサブシーケンスを特定し、 ステップ S 9 4において、 これら参照先サブシーケンスに含まれる ピクチャを復号化する。 最後に、 ステップ S 9 5において、 表示す るピクチャを復号化して表示する。 ここで、 ステップ S 9 1からス テツプ S 9 3までの処理がサンプル解析部 3 0 7において行われ、 以降の処理は復号表示部 3 0 8において行われる。 Note that only a specific picture may be displayed without displaying all of the pictures included in the subsequence. In step S93, a sub-sequence to be referred to when decoding the picture of the sub-sequence determined to be displayed in step S92 is specified, and in step S94, the sub-sequence included in these referenced sub-sequences is included. Decode the picture. Finally, in step S95, the picture to be displayed is decoded and displayed. Here, the steps from step S 91 The processing up to step S93 is performed in the sample analysis section 307, and the subsequent processing is performed in the decoding display section 308.
本明細書で説明した各実施形態によるデータ処理装置の多重化処 理および逆多重化処理は、 そのような処理の手順を規定するコンビ ユー夕プログラムに基づいて実現される。 コンピュータプログラム は、 フレキシブルディスク、 C D— R O M等の記録媒体に記録して 市場に流通させ、 または、 インタ一ネッ ト等の電気通信回線を通じ て伝送することにより、 例えば、 コンピュータシステムを記録装置 および/または再生装置として動作させることができる。  The multiplexing processing and the demultiplexing processing of the data processing device according to each embodiment described in this specification are realized based on a combination program that defines the procedure of such processing. The computer program is recorded on a recording medium such as a flexible disk or a CD-ROM and distributed to the market, or transmitted through a telecommunication line such as the Internet. Alternatively, it can be operated as a playback device.
図 6 0 ( a ) は、 記録媒体の例としてフレキシブルディスク (F D ) の物理フォーマッ トの例を示す。 フレキシブルディスク F Dの 表面には、 同心円状に外周からは内周に向かって複数のトラック T rが形成され、 各トラックは角度方向に 1 6のセクタ S eに分割さ れている。 上述のプログラムは、 フレキシブルディスク F D上に割 り当てられた所定の領域に記録されている。 図 6 0 ( b ) は、 フレ キシブルディスクの正面からみた外観、 断面構造、 及びフレキシブ ルディスクを示す。 フレキシブルディスク F Dはケース F内に内蔵 されている。  FIG. 60 (a) shows an example of a physical format of a flexible disk (FD) as an example of a recording medium. On the surface of the flexible disk FD, a plurality of tracks Tr are formed concentrically from the outer circumference toward the inner circumference, and each track is divided into 16 sectors Se in the angular direction. The above-described program is recorded in a predetermined area allocated on the flexible disk FD. Figure 60 (b) shows the appearance, cross-sectional structure, and flexible disk of the flexible disk viewed from the front. The flexible disk FD is built in the case F.
また、 図 6 0 ( c ) は、 フレキシブルディスク F Dにプログラム の書き込みおよび読み出しを行うための機器構成を示す。 データ処 理装置における多重化処理およびノまたは逆多重化処理を実現する プログラムは、 コンピュータシステム C sから転送され、 フレキシ ブルディスク ドライブ (F D D ) によってフレキシブルディスク F Dに書き込まれる。 また、 プログラムが格納されたフレキシブルデ イスク FDが FDDに装填されると、 コンピュータシステム C sは そのプログラムを読み出して実行し、 多重化処理および/または逆 多重化処理を実現することができる。 FIG. 60 (c) shows a device configuration for writing and reading a program to and from the flexible disk FD. The program for multiplexing and demultiplexing in the data processing device is transferred from the computer system Cs, and the flexible disk F (FDD) is used by the flexible disk drive (FDD). Written to D. When the flexible disk FD in which the program is stored is loaded into the FDD, the computer system CS reads and executes the program, thereby realizing the multiplexing process and / or the demultiplexing process.
なお、 記録媒体はフレキシブルディスクに限らず、 CD— ROM 等の光ディスク、 I Cカード、 R OMカセッ ト等の半導体記録媒体 等であってもよい。  The recording medium is not limited to a flexible disk, but may be an optical disk such as a CD-ROM, a semiconductor recording medium such as an IC card, a ROM cassette, or the like.
本発明の各実施形態においては、 主として MP 4ファイルに関し て説明した。 しかし、 μΡ 4規格の大部分の仕様は Apple (登録商 標) 社の QuickTime (TM)ファイルフォーマットをベースにして規定 され、 一部において規定、 名称が異なるが、 その仕様の内容は両者 の間でほぼ同様である。 上述の説明は、 一般的には、 フィールド名 に付される" Box" (ボックス) を" Atom" (アトム) に置換すること によって、 QuickTime規格に対応できる。  In the embodiments of the present invention, the description has mainly been made with respect to the MP4 file. However, most of the specifications of the μ 規格 4 standard are defined based on the QuickTime (TM) file format of Apple (registered trademark), and the specifications and names differ in some cases. Is almost the same. The above description is generally compliant with the QuickTime standard by replacing "Box" in field names with "Atom".
本発明のデータ処理装置によれば、 現サンプルと次サンプルにお ける復号開始時間の差分値を、 サンプルを構成するフレーム数で割 ることにより、 各フレームの復号時間が得られる。 また、 サンプル を構成するアクセスユニッ トの復号時間と表示開始時間が異なる場 合や、 アクセスユニッ トにスタートコ一ドが含まれない場合にも、 データ処理装置は、 アクセスユニッ トを解析せずに、 高速にかつ低 負荷でアクセスュニッ ト毎の時間情報やサイズを取得することがで さる。  According to the data processing device of the present invention, the decoding time of each frame can be obtained by dividing the difference between the decoding start times of the current sample and the next sample by the number of frames forming the sample. The data processing device does not analyze the access unit even if the decoding time and display start time of the access unit constituting the sample are different or the access unit does not include a start code. In addition, time information and size of each access unit can be acquired at high speed and with low load.
また、 上述のデータ構造によれば、 サンプルを構成するアクセス ユニッ トの復号、 表示時間情報、 あるいはサイズを、 アクセスュニ ッ 卜とは別の情報としてサンプル内に格納するため、 アクセスュニ ッ トを解析せずにアクセスュニッ ト単位の情報を取得できる。 また、 各フレームにおいて復号時間と表示開始時間とが異なる際にも、 フ レームの正しい表示時間を取得することができる。 また、 サンプル を構成するフレームの表示時間情報として、 符号化データ内の時間 情報をそのまま使用することができるので、 時間情報を取得するた めのデータ処理装置の負荷が削減できる。 Also, according to the above data structure, the access configuring the sample Since the decoding, display time information, or size of the unit is stored in the sample as information separate from the access unit, information per access unit can be obtained without analyzing the access unit. Even when the decoding time and the display start time are different in each frame, the correct display time of the frame can be obtained. Also, since the time information in the encoded data can be used as it is as the display time information of the frames constituting the sample, the load on the data processing device for acquiring the time information can be reduced.
さらに、 上述のデータ構造によれば、 動画像データのフレームレ 一卜が固定である際には、 サンプルの復号時間情報としてデフオル ト値のみを設定することにより、 サンプルを構成するフレームの復 号時間情報が容易に取得できるとともに、 オーバ一へッ ドも削減で きる。 また、 1 G0Pを 1サンプルとするなどサンプルの構造が既知 である際には、 サンプル内の符号化データから、 サンプルを構成す る各フレームの情報を取得することにより、 サンプルにおけるォー バーヘッ ドを削減できる。 また、 サンプルを構成するフレームに関 する情報がデフォルト値と異なる際にのみ、 フレームに関する情報 をサンプル内に格納することにより、 フレームに関する情報を効率 よく格納できる。  Further, according to the data structure described above, when the frame rate of the moving image data is fixed, only the default value is set as the decoding time information of the sample, whereby the decoding of the frame constituting the sample is performed. Time information can be easily obtained, and overhead can be reduced. When the structure of a sample is known, such as 1 G0P as one sample, the overhead of the sample is obtained by acquiring information on each frame constituting the sample from the encoded data in the sample. Can be reduced. Also, by storing information about a frame in a sample only when the information about the frame constituting the sample is different from the default value, information about the frame can be stored efficiently.
さらに、 上述のデ一夕構造によれば、 サンプルを構成するフレー ムが復号時に参照する参照先フレームを特定するために必要な情報 をサンプルへッダが含むことにより、 倍速再生などの特殊再生時に、 復号する必要のあるフレームを容易に特定できる。 サンプルを構成 するフレームが復号時に参照する参照先フレームを特定するために 必要な情報を、 ビデオストリーム自体が含んでいるので、 倍速再生 などの特殊再生時に、 復号する必要のあるフレームを容易に特定で きるという効果が得られる。 サンプルを構成するフレームが復号時 に参照する参照先フレームを特定するために必要な情報が格納され る場所を示す識別情報を含むことにより、 特殊再生時に使用するフ レーム間の参照関係に関する情報の格納場所を特定できる。 産業上の利用可能性 Furthermore, according to the above-described data structure, special playback such as double-speed playback is performed by including in the sample header information necessary for identifying a reference frame to be referred to when decoding a frame constituting a sample. Sometimes you can easily identify the frames that need to be decoded. Configure Sample Since the video stream itself contains the information necessary to specify the reference frame to be referenced by the frame to be decoded at the time of decoding, it is easy to identify the frame that needs to be decoded during special playback such as double-speed playback. The effect is obtained. By including identification information indicating the location where the information necessary to identify the reference frame to be referred to during decoding by the frames making up the sample, information about the reference relationship between the frames used for trick play is included. The storage location can be specified. Industrial applicability
本発明によれば、 例えば、 動画ストリーム中の映像ストリームの According to the present invention, for example, a video stream
1フレームと 1 ビデオサンプルを対応させた場合と比較して、 付属 情報のサイズを小さくすることができ、 かつ、 エラーが発生した場 合でもエラーの伝播を抑制できるデータ構造が提供される。 Compared to a case where one frame corresponds to one video sample, a data structure that can reduce the size of the attached information and suppress the propagation of an error even when an error occurs is provided.

Claims

1 . 映像信号および音声信号の少なく とも一方の信号を受け取る 受信部と、 前記信号を所定の符号化形式で符号化して、 前記映像信号に対し 青 1. A receiving unit that receives at least one of a video signal and an audio signal, and encodes the signal in a predetermined encoding format so that the video signal is blue.
てはピクチャデータおよび前記音声信号に対してはフレームデータ である再生用データを複数含む符号化ス トリ一ムを生成するス トリ —ム生成部と、 A stream generation unit for generating an encoding stream including a plurality of reproduction data, which is picture data and frame data for the audio signal;
 Example
各再生用データを特定するための拡張情報を生成する拡張情報生 成部と、  An extended information generating unit for generating extended information for identifying each reproduction data;
1以上の再生用データからなるグループ単位にアクセスするため のアクセスデ一夕を生成して、 前記アクセスデータを含む付属情報 を生成する付属情報生成部と、 前記符号化ス トリームおよび前記拡張情報を多重化してデータス トリームを生成する多重化部と、 前記データス 卜リームおよび前記付属情報を記録媒体に記録する 記録部と を備えたデータ記録装置。 An additional information generation unit that generates an access data for accessing a group unit of one or more reproduction data, and generates additional information including the access data; and stores the encoded stream and the extended information. A data recording device, comprising: a multiplexing unit that multiplexes to generate a data stream; and a recording unit that records the data stream and the attached information on a recording medium.
2 . 前記付属情報生成部は、 さらに、 複数の再生用データからな るグループ単位にアクセスするためのアクセスデータを生成する、 請求項 1 に記載のデータ記録装置。 2. The data recording device according to claim 1, wherein the additional information generation unit further generates access data for accessing a group unit including a plurality of pieces of reproduction data.
3 . 前記付属情報生成部は、 前記グループ単位を第 1サンプルと したときの前記第 1サンプルごとのアクセスデ一夕を生成し、 かつ、 前記拡張情報を第 2サンプルとしたときの前記第 2サンプルごとの アクセスデータを生成する、 請求項 1に記載のデータ記録装置。 3. The additional information generation unit generates an access data for each first sample when the group unit is a first sample, and generates the second data when the extended information is a second sample. The data recording device according to claim 1, wherein the data recording device generates access data for each sample.
4 . 前記多重化部は、 前記符号化ストリームおよび前記拡張情報 を、 前記第 1サンプルごとおよび前記第 2サンプルごとに多重化し て前記データストリームを生成する、 請求項 3に記載のデータ記録 装置。 4. The data recording apparatus according to claim 3, wherein the multiplexing unit generates the data stream by multiplexing the coded stream and the extension information on a first sample basis and a second sample basis.
5 . 前記付属情報生成部は、 前記グループ単位と、 前記グループ に含まれる 1以上の再生用データに関する前記拡張情報とを 1サン プルとしたときの、 前記サンプルごとのアクセスデータを生成する、 請求項 1に記載のデータ記録装置。 5. The accessory information generation unit generates access data for each sample when the group unit and the extended information relating to one or more pieces of reproduction data included in the group are one sample. Item 2. The data recording device according to Item 1.
6 . 前記多重化部は、 前記符号化ストリームおよび前記拡張情報 を、 前記サンプルごとに多重化して前記データストリームを生成す る、 請求項 5に記載のデータ記録装置。 6. The data recording device according to claim 5, wherein the multiplexing unit generates the data stream by multiplexing the coded stream and the extension information for each sample.
7 . 前記受信部は、 映像信号および音声信号を受け取り、 7. The receiving unit receives a video signal and an audio signal,
前記ストリーム生成部は、 前記映像信号および前記音声信号をそ れぞれ所定の符号化形式で符号化して、 複数の映像のピクチャデー 夕および複数の音声フレームのフレームデータを含む符号化ストリ ームを生成し、 The stream generating unit encodes the video signal and the audio signal in a predetermined encoding format, respectively, and encodes an encoded stream including picture data of a plurality of videos and frame data of a plurality of audio frames. Generate a
前記拡張情報生成部は、 少なく とも各ピクチャデータを特定する ための拡張情報を生成し、  The extended information generating unit generates extended information for identifying at least each picture data,
前記付属情報生成部は、 前記ピクチャデータ、 前記複数の音声フ レームのフレームデータおよび前記拡張情報の各々について、 少な くとも 2以上のピクチャデータからなるグループ単位にアクセスす るためのアクセスデータを生成して、 前記アクセスデータを含む付 属情報を生成する、 請求項 1に記載のデータ記録装置。  The additional information generation unit generates access data for accessing each of the picture data, the frame data of the plurality of audio frames, and the extension information in a group unit including at least two or more picture data. 2. The data recording apparatus according to claim 1, wherein the data recording apparatus generates additional information including the access data.
8 . 前記拡張情報生成部は、 さらに前記複数の音声フレームの各 フレームデータを特定するための拡張情報を生成する、 請求項 7に 記載のデータ記録装置。 8. The data recording device according to claim 7, wherein the extended information generating unit further generates extended information for specifying each frame data of the plurality of audio frames.
9 . 前記記録部は、 前記データストリームおよび前記付属情報を 1つのデータファイルとして前記記録媒体に記録する、 請求項 1 に 記載のデータ記録装置。 9. The data recording device according to claim 1, wherein the recording unit records the data stream and the additional information as one data file on the recording medium.
1 0 . 前記拡張情報生成部は、 前記各再生用データのデ一夕サイ ズ、 表示時間、 復号時間を示す情報の少なく とも 1つを前記拡張情 報として生成する、 請求項 1に記載のデータ記録装置。 10. The extended information generating unit according to claim 1, wherein the extended information generating unit generates at least one piece of information indicating a data size, a display time, and a decoding time of each of the reproduction data as the extended information. Data recording device.
1 1 . 前記付属情報生成部は、 前記拡張情報の既定値をさらに含 む前記付属情報を生成し、 前記拡張情報生成部は、 前記既定値と異なる値を有する前記拡張 情報を生成する、 請求項 1に記載のデータ記録装置。 11. The additional information generation unit generates the additional information further including a default value of the extended information, The data recording device according to claim 1, wherein the extension information generation unit generates the extension information having a value different from the predetermined value.
1 2 . 前記拡張情報生成部は、 前記映像信号の各ピクチャデータ を復号するために参照される参照先ピクチャデータを特定するため の拡張情報を生成する、 請求項 1に記載のデータ記録装置。 12. The data recording device according to claim 1, wherein the extension information generation unit generates extension information for specifying reference destination picture data referred to for decoding each picture data of the video signal.
1 3 . 前記付属情報生成部は、 リンク情報をさらに含む前記付属 情報を生成し、 1 3. The additional information generation unit generates the additional information further including link information,
前記記録部は、 前記前記データス トリームを、 前記リンク情報に よって指定される第 1データファイルとして前記記録媒体に記録し、 前記付属情報を第 2データファイルとして前記記録媒体に記録する、 請求項 1に記載のデータ記録装置。  2. The recording unit, wherein the data stream is recorded on the recording medium as a first data file specified by the link information, and the attached information is recorded on the recording medium as a second data file. 3. A data recording device according to claim 1.
1 4 . 映像信号および音声信号の少なくとも一方の信号を受け取 るステップと、 1 4. receiving a video signal and / or an audio signal;
前記信号を所定の符号化形式で符号化して、 前記映像信号に対し てはピクチャデータおよび前記音声信号に対してはフレームデータ である再生用デ一夕を複数含む符号化ス トリームを生成するステツ プと、  A step of encoding the signal in a predetermined encoding format to generate an encoded stream including a plurality of reproduction data which is picture data for the video signal and frame data for the audio signal. And
各再生用データを特定するための拡張情報を生成するステツプと、 1以上の再生用データからなるグループ単位 にアクセスするた めのアクセスデータを生成して、 前記アクセスデータを含む付属情 報を生成するステツプと、 A step of generating extended information for identifying each piece of reproduction data; and generating access data for accessing a group of one or more pieces of reproduction data, and ancillary information including the access data. Generating a report;
前記符号化ストリームおよび前記拡張情報を多重化してデータス トリ一ムを生成するステツプと、  Multiplexing the encoded stream and the extended information to generate a data stream;
前記データストリームおよび前記付属情報を記録媒体に記録する ステップと  Recording the data stream and the attached information on a recording medium; and
を包含するデータ記録方法。  A data recording method including:
1 5 . 前記付属情報を生成するステップは、 さらに、 複数の再生 用デ一夕からなるグループ単位にアクセスするためのアクセスデー 夕を生成する、 請求項 1 4に記載のデータ記録方法。 15. The data recording method according to claim 14, wherein the step of generating the additional information further generates an access data for accessing a group unit including a plurality of reproduction data.
1 6 . 前記付属情報を生成するステップは、 前記グループ単位を 第 1サンプルとしたときの前記第 1サンプルごとのアクセスデ一夕 を生成し、 かつ、 前記拡張情報を第 2サンプルとしたときの前記第 2サンプルごとのアクセスデータを生成する、 請求項 1 4に記載の データ記録方法。 16. The step of generating the additional information includes: generating an access data for each first sample when the group unit is a first sample; and generating the access information when the extended information is a second sample. 15. The data recording method according to claim 14, wherein access data for each of said second samples is generated.
1 7 . 前記データストリームを生成するステップは、 前記符号化 ス トリームおよび前記拡張情報を、 前記第 1サンプルごとおよび前 記第 2サンプルごとに多重化して前記データス トリームを生成する、 請求項 1 6に記載のデータ記録方法。 17. The step of generating the data stream, comprising: multiplexing the encoding stream and the extension information for each of the first samples and for each of the second samples to generate the data stream. Data recording method described in 1.
1 8 . 前記付属情報を生成するステップは、 前記グループ単位と、 前記グループに含まれる 1以上の再生用データに関する前記拡張情 報とを 1サンプルとしたときの、 前記サンプルごとのアクセスデー 夕を生成する、 請求項 1 4に記載のデータ記録方法。 1 8. The step of generating the accessory information includes: 15. The data recording method according to claim 14, wherein the access data for each sample is generated when the extended information on one or more pieces of reproduction data included in the group is defined as one sample.
1 9 . 前記データストリームを生成するステップは、 前記符号化 ストリームおよび前記拡張情報を、 前記サンプルごとに多重化して 前記データストリームを生成する、 請求項 1 8に記載のデータ記録 方法。 19. The data recording method according to claim 18, wherein, in the step of generating the data stream, the data stream is generated by multiplexing the encoded stream and the extension information for each sample.
2 0 . 前記受信するステップは、 映像信号および音声信号を受け 取り、 20. The receiving step includes receiving a video signal and an audio signal,
前記符号化ストリームを生成するステップは、 前記映像信号およ び前記音声信号をそれぞれ所定の符号化形式で符号化して、 複数の 映像のピクチャデータおよび複数の音声フレームのフレ一ムデータ を含む符号化ス卜リームを生成し、  The step of generating the encoded stream includes encoding the video signal and the audio signal in a predetermined encoding format, respectively, and includes encoding including picture data of a plurality of videos and frame data of a plurality of audio frames. Generate a stream,
前記拡張情報を生成するステップは、 少なく とも各ピクチャデー 夕を特定するための拡張情報を生成し、  The step of generating the extended information includes generating extended information for identifying at least each picture data,
前記付属情報を生成するステップは、 前記ピクチャデ一夕、 前記 複数の音声フレームのフレームデータおよび前記拡張情報の各々に ついて、 少なくとも 2以上のピクチャデータからなるグループ単位 にアクセスするためのアクセスデータを生成して、 前記アクセスデ —夕を含む付属情報を生成する、 請求項 1 4に記載のデータ記録方 法。 The step of generating the additional information includes generating, for each of the picture data, the frame data of the plurality of audio frames, and the extension information, access data for accessing a group of at least two or more picture data. The data recording method according to claim 14, further comprising: generating additional information including the access data.
2 1 . 前記拡張情報を生成するステップは、 さらに前記複数の音 声フレームの各フレームデータを特定するための拡張情報を生成す る、 請求項 2 0に記載のデ一夕記録方法。 21. The overnight recording method according to claim 20, wherein the step of generating the extended information further comprises generating extended information for specifying each frame data of the plurality of voice frames.
2 2 . 前記記録するステップは、 前記データストリームおよび前 記付属情報を 1つのデータファイルとして前記記録媒体に記録する、 請求項 1 4に記載のデータ記録方法。 22. The data recording method according to claim 14, wherein, in the recording step, the data stream and the additional information are recorded as one data file on the recording medium.
2 3 . 前記拡張情報を生成するステップは、 前記各再生用データ のデータサイズ、 表示時間、 復号時間を示す情報の少なくとも 1つ を前記拡張情報として生成する、 請求項 1 4に記載のデータ記録方 法。 23. The data recording according to claim 14, wherein the step of generating the extended information includes generating at least one of information indicating a data size, a display time, and a decoding time of each of the reproduction data as the extended information. Method.
2 4 . 前記付属情報を生成するステップは、 前記拡張情報の既定 値をさらに含む前記付属情報を生成し、 24. The step of generating the additional information includes generating the additional information further including a default value of the extended information,
前記拡張情報を生成するステツプは、 前記既定値と異なる値を有 する前記拡張情報を生成する、 請求項 1 4に記載のデータ記録方法。  15. The data recording method according to claim 14, wherein the step of generating the extension information generates the extension information having a value different from the default value.
2 5 . 前記拡張情報を生成するステップは、 前記映像信号の各ピ クチャデータを復号するために参照される参照先ピクチャデ一夕を 特定するための拡張情報を生成する、 請求項 1 4に記載のデータ記 録方法。 25. The method according to claim 14, wherein the step of generating the extended information includes generating extended information for identifying a reference destination picture to be referred to for decoding each picture data of the video signal. Data recording method.
2 6 . 前記付属情報を生成するステップは、 リンク情報をさらに 含む前記付属情報を生成し、 26. The step of generating the additional information includes generating the additional information further including link information;
前記記録するステップは、 前記前記データス トリームを、 前記リ ンク情報によって指定される第 1データファイルとして前記記録媒 体に記録し、 前記付属情報を第 2データファイルとして前記記録媒 体に記録する、 請求項 1 4に記載のデータ記録方法。  In the recording, the data stream is recorded on the recording medium as a first data file specified by the link information, and the attached information is recorded on the recording medium as a second data file. 15. The data recording method according to claim 14.
PCT/JP2003/014041 2002-11-05 2003-10-31 Data processing device WO2004043065A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003280705A AU2003280705A1 (en) 2002-11-05 2003-10-31 Data processing device

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2002320909 2002-11-05
JP2002-320909 2002-11-05
JP2002-321462 2002-11-05
JP2002321462 2002-11-05
JP2002348331 2002-11-29
JP2002-348331 2002-11-29

Publications (1)

Publication Number Publication Date
WO2004043065A1 true WO2004043065A1 (en) 2004-05-21

Family

ID=32314770

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/014041 WO2004043065A1 (en) 2002-11-05 2003-10-31 Data processing device

Country Status (2)

Country Link
AU (1) AU2003280705A1 (en)
WO (1) WO2004043065A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160946A (en) * 1999-09-20 2001-06-12 Matsushita Electric Ind Co Ltd System stream generator, recorder system, system stream generating method and recording medium
JP2002191025A (en) * 2001-09-28 2002-07-05 Mitsubishi Electric Corp Optical disk and method for recording video on optical disk
JP2002197808A (en) * 1999-02-18 2002-07-12 Toshiba Corp Stream information processing system
JP2002232844A (en) * 2001-02-02 2002-08-16 Matsushita Electric Ind Co Ltd Information recording medium, device and method for recording picture, device and method for reproducing picture, and program storage medium
JP2002530800A (en) * 1998-11-16 2002-09-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and apparatus for recording real-time information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530800A (en) * 1998-11-16 2002-09-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and apparatus for recording real-time information
JP2002197808A (en) * 1999-02-18 2002-07-12 Toshiba Corp Stream information processing system
JP2001160946A (en) * 1999-09-20 2001-06-12 Matsushita Electric Ind Co Ltd System stream generator, recorder system, system stream generating method and recording medium
JP2002232844A (en) * 2001-02-02 2002-08-16 Matsushita Electric Ind Co Ltd Information recording medium, device and method for recording picture, device and method for reproducing picture, and program storage medium
JP2002191025A (en) * 2001-09-28 2002-07-05 Mitsubishi Electric Corp Optical disk and method for recording video on optical disk

Also Published As

Publication number Publication date
AU2003280705A1 (en) 2004-06-07

Similar Documents

Publication Publication Date Title
US8442382B2 (en) Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof
US8897376B2 (en) Data recording device, method, and program, data reproduction device, method, and program, recording medium, and data structure
JP4614991B2 (en) Moving picture stream generation apparatus, moving picture stream generation method, moving picture decoding apparatus, moving picture decoding method, and recording method
US7706662B2 (en) Picture coding apparatus and picture decoding apparatus
KR100750520B1 (en) Encoded stream generating device and method, data transmission system and method, and editing system and method
JP4071812B2 (en) Multiplexer and demultiplexer
JP4541962B2 (en) Multiplexer, playback device
KR20060136399A (en) Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof
US8189665B2 (en) Editing apparatus, editing method, editing program, and editing system
JP2004282703A (en) Data processor
WO2004043065A1 (en) Data processing device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase