JP4706530B2 - Playback apparatus, playback method, and playback program - Google Patents
Playback apparatus, playback method, and playback program Download PDFInfo
- Publication number
- JP4706530B2 JP4706530B2 JP2006085856A JP2006085856A JP4706530B2 JP 4706530 B2 JP4706530 B2 JP 4706530B2 JP 2006085856 A JP2006085856 A JP 2006085856A JP 2006085856 A JP2006085856 A JP 2006085856A JP 4706530 B2 JP4706530 B2 JP 4706530B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- index table
- frame
- file
- picture
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Television Signal Processing For Recording (AREA)
Description
この発明は、記録媒体に記録された、特にフレーム毎の情報量が変動するディジタルビデオデータに対するランダムアクセスを効率的に行うことができる再生装置、再生方法および再生プログラムに関する。 The present invention relates to a playback apparatus, a playback method, and a playback program capable of efficiently performing random access to digital video data recorded on a recording medium, and in particular, the amount of information for each frame varies.
ディジタルビデオデータおよびディジタルオーディオデータを記録媒体に記録し、また、記録媒体から再生するようなデータ記録再生装置が知られている。ディジタルビデオデータおよびディジタルオーディオデータを記録するための記録媒体としては、近年では、光ディスク、ハードディスク、半導体メモリなどといった、ランダムアクセス可能な記録媒体が、ディジタルビデオデータおよびディジタルオーディオデータの記録再生に多く用いられるようになってきている。 2. Description of the Related Art A data recording / reproducing apparatus that records digital video data and digital audio data on a recording medium and reproduces the data from the recording medium is known. In recent years, as a recording medium for recording digital video data and digital audio data, a randomly accessible recording medium such as an optical disk, a hard disk, or a semiconductor memory is often used for recording and reproducing digital video data and digital audio data. It is getting to be.
ディジタルビデオデータは、データ容量が膨大となるため、所定の方式で圧縮符号化されて記録媒体に記録されるのが一般的である。近年では、MPEG2(Moving Picture Experts Group 2)方式が圧縮符号化の標準的な方式として知られている。MPEG2では、DCT(Discrete Cosine Transform)と動き補償とを用いてディジタルビデオデータの圧縮符号化を行い、さらに可変長符号を用いてデータの圧縮率を高めている。MPEG2方式では、可変長符号を用いているため、一般的に、フレーム毎のデータサイズが一定とならない。 Since digital video data has a huge data capacity, it is generally compressed and encoded by a predetermined method and recorded on a recording medium. In recent years, MPEG2 (Moving Picture Experts Group 2) system is known as a standard system for compression coding. In MPEG2, digital video data is compression-encoded using DCT (Discrete Cosine Transform) and motion compensation, and further, a data compression rate is increased using a variable-length code. In the MPEG2 system, since a variable length code is used, the data size for each frame is generally not constant.
ここで、例えば撮像装置で撮像され出力されたディジタルビデオデータを、光ディスクといった、ハードディスクドライブなどに比べて比較的アクセス速度が遅い、ディスク状記録媒体に記録する場合について考える。撮像されリアルタイムで出力されるディジタルビデオデータを圧縮符号化し、記録媒体に記録する場合、データの欠落などが発生しないようにするためには、時間的に連続するデータを記録媒体上の連続したアドレスに書き込むことが考えられる。 Here, for example, consider a case where digital video data imaged and output by an imaging device is recorded on a disk-shaped recording medium such as an optical disk, which has a relatively slow access speed compared to a hard disk drive or the like. When digital video data that has been captured and output in real time is compressed and encoded and recorded on a recording medium, continuous data on the recording medium is addressed in order to prevent data loss. It is possible to write in
一例として、ディジタルビデオデータは、例えばクリップ毎や所定の再生時間毎といった比較的長い時間単位で以て、記録媒体上に連続的に書き込まれる。特許文献1には、再生時間帯が対応するディジタルビデオデータおよびディジタルオーディオデータを、トラックの1周分以上のデータサイズを有する、例えば2秒程度といった所定の再生時間単位毎に交互に配置して記録するようにした記録装置が記載されている。
ところで、このようにして記録媒体に記録されたディジタルビデオデータを編集するような場合、記録媒体上のディジタルビデオデータに対して、フレーム単位でアクセスできる必要がある。記録媒体に記録されるディジタルビデオデータが、上述したMPEG2方式のような、フレーム毎にデータサイズが異なる方式で圧縮符号化されている場合、記録媒体上における各フレームの先頭位置を特定できるようにしておく必要がある。 By the way, when editing digital video data recorded on a recording medium in this way, it is necessary to be able to access the digital video data on the recording medium in units of frames. When the digital video data recorded on the recording medium is compression-encoded by a method having a different data size for each frame, such as the MPEG2 method described above, the head position of each frame on the recording medium can be specified. It is necessary to keep.
このような、光ディスクといった記録媒体上に記録されたディジタルビデオデータに対するアクセス性および操作性を向上させることができるようにしたフォーマットの一例として、MXF(Material Exchange Format)がある。MXFに規定されるMXFファイルは、光ディスク上に記録されているディジタルビデオデータと、当該ディジタルビデオデータに対するアクセス情報などからなるインデックステーブルとを組み合わせたファイルであって、MXFファイル内のインデックステーブルを用いて、ディジタルビデオデータのフレーム境界を示すことができる。このインデックステーブルを用いることで、光ディスク上のディジタルビデオデータに対して、フレーム単位でランダムアクセスが可能とされる。 MXF (Material Exchange Format) is an example of a format that can improve the accessibility and operability of digital video data recorded on a recording medium such as an optical disk. An MXF file defined by MXF is a file that is a combination of digital video data recorded on an optical disc and an index table including access information for the digital video data, and uses the index table in the MXF file. Thus, the frame boundary of the digital video data can be indicated. By using this index table, the digital video data on the optical disc can be randomly accessed in units of frames.
より具体的には、光ディスク上のディジタルビデオデータのある位置にアクセスがなされると、アクセスされた部分の近傍のフレーム境界の情報が収集され、収集された情報に基づきインデックステーブルが作成される。作成されたインデックステーブルは、例えば装置のメモリ上にキャッシュされる。光ディスクに対してシーク動作がなされ、光ディスク上のディジタルビデオデータの別の位置にアクセスがなされると、既にキャッシュされているインデックステーブルが破棄され、シーク動作によりアクセスがなされた位置の近傍について、再びフレーム境界の情報が収集され、インデックステーブルが作成される。 More specifically, when a certain position of the digital video data on the optical disc is accessed, information on the frame boundary in the vicinity of the accessed portion is collected, and an index table is created based on the collected information. The created index table is cached on the memory of the device, for example. When a seek operation is performed on the optical disk and another position of the digital video data on the optical disk is accessed, the already cached index table is discarded, and the vicinity of the position accessed by the seek operation is again displayed. Frame boundary information is collected and an index table is created.
従来では、このインデックステーブルの作成を、光ディスクに対するシーク動作が行われる度に行っていたため、例えばシーク動作毎にインデックステーブルを作成するための待ち時間が発生し、ランダムアクセス性や操作性が損なわれてしまうという問題点があった。 Conventionally, since this index table is created every time a seek operation is performed on an optical disc, for example, a waiting time for creating the index table occurs for each seek operation, and random accessibility and operability are impaired. There was a problem that it was.
特に、上述のMPEG2方式のような、フレーム毎にデータサイズが異なるディジタルビデオデータに対して、フレーム境界を示すインデックステーブルの情報を算出してテーブルを構築するのは、装置にとって非常に負荷の大きな処理であるという問題点があった。 In particular, for digital video data having a different data size for each frame, such as the above-described MPEG2, the index table information indicating the frame boundary is calculated to construct the table, which is very heavy on the apparatus. There was a problem of processing.
したがって、この発明の目的は、記録媒体に記録された、フレーム毎にデータサイズが異なるディジタルビデオデータに対するランダムアクセス処理を効率的に行うことができる再生装置、再生方法および再生プログラムを提供することにある。 Accordingly, an object of the present invention is to provide a playback apparatus, a playback method, and a playback program capable of efficiently performing random access processing on digital video data recorded on a recording medium and having different data sizes for each frame. is there.
この発明は、上述した課題を解決するために、記憶部と、インデックステーブル作成部とを有し、記憶部は、インデックステーブル作成部で作成されるインデックステーブルを記録媒体に記録されたクリップがクローズされるまで一時的に記憶し、インデックステーブル作成部は、出力フレームが指定された際に、クリップの複数のフレームの管理情報からなるインデックステーブルを記録媒体上の情報に基づき作成し、次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報がインデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成することを特徴とする再生装置である。 In order to solve the above-described problems, the present invention includes a storage unit and an index table creation unit, and the storage unit closes an index table created by the index table creation unit to a clip recorded on a recording medium. The index table creation unit creates an index table composed of management information of a plurality of frames of a clip based on information on the recording medium when an output frame is designated, and then outputs it. When the frame is specified, if the information of the edit unit corresponding to the specified frame is not described in the index table, an index table for managing the edit unit is further created. Device.
また、この発明は、出力フレームが指定された際に、クリップの複数のフレームの管理情報からなるインデックステーブルを記録媒体上の情報に基づき作成するインデックステーブル作成のステップと、インデックステーブル作成のステップで作成されるインデックステーブルを記録媒体に記録されたクリップがクローズされるまで記憶部に一時的に記憶するステップとを有し、次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報がインデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成することを特徴とする再生方法である。 The present invention also includes an index table creation step for creating an index table comprising management information for a plurality of frames of a clip based on information on a recording medium when an output frame is designated, and an index table creation step. A step of temporarily storing an index table to be created in a storage unit until a clip recorded on a recording medium is closed , and the next time an output frame is designated, it corresponds to the designated frame If the information of the edit unit to be edited is not described in the index table, an index table for managing the edit unit is further created.
また、この発明は、出力フレームが指定された際に、クリップの複数のフレームの管理情報からなるインデックステーブルを記録媒体上の情報に基づき作成するインデックステーブル作成のステップと、インデックステーブル作成のステップで作成されるインデックステーブルを記録媒体に記録されたクリップがクローズされるまで記憶部に一時的に記憶するステップとを有し、次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報がインデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成する再生方法をコンピュータ装置に実行させることを特徴とする再生プログラムである。 The present invention also includes an index table creation step for creating an index table comprising management information for a plurality of frames of a clip based on information on a recording medium when an output frame is designated, and an index table creation step. A step of temporarily storing an index table to be created in a storage unit until a clip recorded on a recording medium is closed , and the next time an output frame is designated, it corresponds to the designated frame If the information of the edit unit to be edited is not described in the index table, the reproduction program causes the computer apparatus to execute a reproduction method for further creating an index table for managing the edit unit .
上述したように、この発明は、出力フレームが指定された際に、記録媒体に記録されたクリップ内の複数のフレームの管理情報からなるインデックステーブルを、記録媒体上の情報に基づき作成し、次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報がインデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成して記憶部に記憶するようにしているため、インデックステーブルを作成する処理を効率的に行うことができる効果がある。 As described above, according to the present invention, when an output frame is specified, an index table including management information of a plurality of frames in a clip recorded on a recording medium is created based on the information on the recording medium. When the output frame is designated in the table, if the information of the edit unit corresponding to the designated frame is not described in the index table, an index table for managing the edit unit is further created and stored in the storage unit. Since the data is stored, there is an effect that the process of creating the index table can be performed efficiently.
また、記録媒体に記録されたクリップ内のフレームに対するアクセスを、インデックステーブルを介して行うことで、クリップに対するランダムアクセスが高速化される効果がある。 Further, by accessing the frames in the clip recorded on the recording medium via the index table, there is an effect that the random access to the clip is speeded up.
以下、この発明の実施の第1の形態について説明する。この発明の実施の第1の形態に先立って、理解を容易とするために、この発明に適用可能なディジタルビデオデータの圧縮符号化方式である、MPEG2方式について概略的に説明する。 The first embodiment of the present invention will be described below. Prior to the first embodiment of the present invention, in order to facilitate understanding, the MPEG2 system, which is a compression encoding system for digital video data applicable to the present invention, will be schematically described.
MPEG2のデータストリーム構造について、概略的に説明する。MPEG2は、動き補償予測符号化と、DCTによる圧縮符号化とを組み合わせたものである。MPEG2のデータ構造は、階層構造をなしており、下位から、ブロック層、マクロブロック層、スライス層、ピクチャ層、GOP層およびシーケンス層となっている。ブロック層は、DCTを行う単位であるDCTブロックからなる。マクロブロック層は、複数のDCTブロックで構成される。スライス層は、ヘッダ部と、1以上のマクロブロックより構成される。ピクチャ層は、ヘッダ部と、1以上のスライスとから構成される。ピクチャは、1画面に対応する。各層の境界は、それぞれ所定の識別符号で識別可能なようになっている。 The data stream structure of MPEG2 will be schematically described. MPEG2 is a combination of motion compensation predictive coding and compression coding by DCT. The data structure of MPEG2 has a hierarchical structure, and from the lower order is a block layer, a macroblock layer, a slice layer, a picture layer, a GOP layer, and a sequence layer. The block layer is composed of DCT blocks that are units for performing DCT. The macroblock layer is composed of a plurality of DCT blocks. The slice layer is composed of a header part and one or more macroblocks. The picture layer is composed of a header part and one or more slices. A picture corresponds to one screen. The boundary of each layer can be identified by a predetermined identification code.
GOP層は、ヘッダ部と、フレーム内符号化に基づくピクチャであるI(Intra-coded)ピクチャと、予測符号化に基づくピクチャであるP(Predictive-coded)ピクチャ、およびB(Bi-directionally predictive coded)ピクチャとから構成される。Iピクチャは、それ自身の情報のみでデコードが可能であり、PおよびBピクチャは、基準画像として前あるいは前後の画像が必要とされ、単独ではデコードされない。例えばPピクチャは、自身より時間的に前のIピクチャまたはPピクチャを基準画像として用いてデコードされる。また、Bピクチャは、自身の前後のIピクチャまたはPピクチャの2枚のピクチャを基準画像として用いてデコードされる。最低1枚のIピクチャを含むそれ自身で完結したグループをGOP(Group Of Picture)と呼び、MPEGのストリームにおいて独立してアクセス可能な最小の単位とされる。 The GOP layer includes a header part, an I (Intra-coded) picture that is a picture based on intra-frame coding, a P (Predictive-coded) picture that is a picture based on predictive coding , and B (Bi-directionally predictive coded). ) Picture. The I picture can be decoded only by its own information, and the P and B pictures require the previous or previous image as a reference image and are not decoded alone. For example, a P picture is decoded using an I picture or a P picture temporally prior to itself as a reference image. In addition, the B picture is decoded using two pictures, an I picture or a P picture before and after itself, as reference pictures. A group completed by itself including at least one I picture is called GOP (Group Of Picture), and is the smallest unit that can be independently accessed in an MPEG stream.
GOPは、1または複数のピクチャから構成される。以下では、便宜上、1枚のIピクチャのみで構成されるGOPをシングルGOPと呼び、Iピクチャと、Pおよび/またはBピクチャとからなる複数のピクチャで構成されるGOPをロングGOPと呼ぶことにする。シングルGOPでは、GOPをIピクチャのみから構成することで、フレーム単位での編集が容易とされると共に、フレーム間の予測符号化を行わないために、より高画質を得ることができる。一方、ロングGOPでは、フレーム間の予測符号化を行うために、圧縮効率がよいという利点がある。 A GOP is composed of one or more pictures. Hereinafter, for convenience, a GOP composed of only one I picture will be referred to as a single GOP, and a GOP composed of a plurality of pictures composed of an I picture and P and / or B pictures will be referred to as a long GOP. To do. In the single GOP, by configuring the GOP only from the I picture, editing in units of frames is facilitated, and since the predictive coding between frames is not performed, higher image quality can be obtained. On the other hand, long GOP has the advantage of good compression efficiency because it performs predictive coding between frames.
なお、ロングGOPにおいて、GOP内で完全にデコードが可能な、GOPで閉じた構造を持つクローズドGOPと、デコードの際に符号化順で1つ前のGOPの情報を用いることができるオープンGOPとの2種類がある。オープンGOPは、クローズドGOPと比較して、より多くの情報を用いてデコードできるため高画質を得られ、一般的に用いられている。 In a long GOP, a closed GOP having a GOP-closed structure that can be completely decoded within the GOP, and an open GOP that can use the information of the previous GOP in the encoding order at the time of decoding There are two types. An open GOP can be decoded using more information than a closed GOP, so that a high image quality can be obtained and is generally used.
ビデオ信号のフォーマットとして、従来から、ビットレートが25Mbps(メガビットパーセカンド)のDVフォーマットが知られている。特に放送局などで使用される映像機器においては、DVフォーマットのビデオ信号を上述したシングルGOPで用い、高画質と高精度の編集環境とを実現していた。 Conventionally, a DV format having a bit rate of 25 Mbps (megabit second) is known as a video signal format. Particularly in video equipment used in broadcasting stations and the like, a DV format video signal is used in the above-mentioned single GOP to realize a high image quality and a highly accurate editing environment.
一方、近年では、ディジタルハイビジョン放送などの実施に伴い、SDフォーマットより高解像度とされた、HD(High Definition)フォーマットが用いられるようになってきた。HDフォーマットは、高解像度に伴いビットレートが高くなっており、シングルGOPでは記録媒体に対して長時間の記録ができない。そこで、HDフォーマットのビデオ信号を上述したロングGOPで圧縮されて用いられることが一般的である。 On the other hand, in recent years, with the implementation of digital high-definition broadcasting and the like, the HD (High Definition) format, which has a higher resolution than the SD format, has come to be used. The HD format has a high bit rate with high resolution, and a single GOP cannot record for a long time on a recording medium. Therefore, it is common to use an HD format video signal after being compressed with the above-mentioned long GOP.
図1を用いて、ロングGOPの場合のデコード処理について説明する。ここでは、オープンGOPで1GOPが1枚のIピクチャ、4枚のPピクチャおよび10枚のBピクチャの、計15枚のピクチャから構成されるものとする。GOP内のI、PおよびBピクチャの表示順は、図1Aに一例が示されるように、「B0B1I2B3B4P5B6B7P8B9B10P11B12B13P14」のようになる。なお、添え字は表示順を示す。 Decoding processing in the case of a long GOP will be described with reference to FIG. Here, it is assumed that 1 GOP is an open GOP and is composed of a total of 15 pictures, one I picture, four P pictures, and 10 B pictures. The display order of the I, P, and B pictures in the GOP is “B 0 B 1 I 2 B 3 B 4 P 5 B 6 B 7 P 8 B 9 B 10 P 11 B as shown in FIG. 1A as an example. is as 12 B 13 P 14 ". The subscript indicates the display order.
この例では、最初の2枚のB0ピクチャおよびB1ピクチャは、1つ前のGOPにおける最後尾のP14ピクチャと、このGOP内のI2ピクチャを用いて予測されデコードされたピクチャである。GOP内の最初のP5ピクチャは、I2ピクチャから予測されデコードされたピクチャである。他のP8ピクチャ、P11ピクチャおよびP14は、それぞれ1つ前のPピクチャを用いて予測されデコードされたピクチャである。また、Iピクチャ以降の各Bピクチャは、それぞれ前後のIおよび/またはPピクチャから予測されデコードされたピクチャである。 In this example, the first two B 0 and B 1 pictures are predicted and decoded using the last P 14 picture in the previous GOP and the I 2 picture in this GOP. . The first P 5 picture in the GOP is a picture predicted and decoded from the I 2 picture. Other P 8 picture, P 11 picture and P 14 are pictures decoded is predicted by using the preceding P-picture, respectively. Each B picture after the I picture is a picture predicted and decoded from the preceding and following I and / or P pictures.
一方、Bピクチャは、時間的に前後のIまたはPピクチャを用いて予測されデコードされるため、ストリームや記録媒体上におけるI、PおよびBピクチャの並び順は、デコーダにおけるデコードの順序を考慮して決める必要がある。すなわち、BピクチャをデコードするためのIおよび/またはPピクチャは、当該Bピクチャよりも常に先にデコードされていなければならない。 On the other hand, since B pictures are predicted and decoded using temporally preceding and following I or P pictures, the arrangement order of I, P, and B pictures on a stream or recording medium takes into account the decoding order in the decoder. It is necessary to decide. That is, an I and / or P picture for decoding a B picture must always be decoded before the B picture.
上述の例では、ストリームや記録媒体上の各ピクチャの配列は、図1Bに例示されるように、「I2B0B1P5B3B4P8B6B7P11B9B10P14B12B13」のようになり、この順でデコーダに入力される。なお、添え字は、図1Aに対応し、表示順を示す。 In the above example, the arrangement of each picture on the stream or the recording medium is “I 2 B 0 B 1 P 5 B 3 B 4 P 8 B 6 B 7 P 11 B 9 B as illustrated in FIG. 1B. 10 P 14 B 12 B 13 ”and are input to the decoder in this order. The subscripts correspond to FIG. 1A and indicate the display order.
デコーダにおけるデコード処理は、図1Cに示されるように、先ずI2ピクチャをデコードし、デコードされたこのI2ピクチャと1つ前のGOPにおける最後尾(表示順)のP14ピクチャとによりB0ピクチャおよびB1ピクチャを予測しデコードする。そして、B0ピクチャおよびB1ピクチャをデコードされた順にデコーダから出力し、次にI2ピクチャを出力する。B1ピクチャが出力されると、次にP5ピクチャがI2ピクチャを用いて予測されデコードされる。そして、I2ピクチャおよびP5ピクチャを用いてB3ピクチャおよびB4ピクチャが予測されデコードされる。そして、デコードされたB3ピクチャおよびB4ピクチャをデコードされた順にデコーダから出力し、次にP5ピクチャを出力する。 In the decoding process in the decoder, as shown in FIG. 1C, the I 2 picture is first decoded, and the decoded I 2 picture and the last P 14 picture in the previous GOP (display order) are B 0. Predict and decode pictures and B 1 pictures. Then, the B 0 picture and the B 1 picture are output from the decoder in the order of decoding, and then the I 2 picture is output. Once the B 1 picture is output, the P 5 picture is then predicted and decoded using the I 2 picture. Then, the B 3 picture and the B 4 picture are predicted and decoded using the I 2 picture and the P 5 picture. The decoded B 3 picture and B 4 picture are output from the decoder in the order of decoding, and then the P 5 picture is output.
以下、同様にして、Bピクチャの予測に用いるPまたはIピクチャをBピクチャより先にデコードし、このデコードされたPまたはIピクチャを用いてBピクチャを予測してデコードし、デコードされたBピクチャを出力してから、当該Bピクチャをデコードするために用いたPまたはIピクチャを出力する処理が繰り返される。記録媒体上やストリームにおける図1Bのようなピクチャ配列は、一般的に用いられるものである。 Hereinafter, similarly, the P or I picture used for prediction of the B picture is decoded before the B picture, the B picture is predicted and decoded using the decoded P or I picture, and the decoded B picture is decoded. Is output, the process of outputting the P or I picture used to decode the B picture is repeated. A picture arrangement as shown in FIG. 1B on a recording medium or in a stream is generally used.
次に、この発明の実施の第1の形態に適用可能なデータ構造について説明する。図2〜図5は、この発明の実施の第1の形態に適用可能な、MXF(Material Exchange Format)と称されるデータフォーマットのMPEG(Moving Pictures Experts Group)ストリームに対するマッピング構造を示す。MXFは、SMPTE(Society of Motion Picture and Television Engineers)に規定されるファイルフォーマット規格で、以下に説明するMPEGストリームに対するマッピング構造は、SMPTEー381Mに規定されるものである。以下、SMPTE−381MなどのMXFの規定に準じ、ビデオデータとオーディオデータとがフレームインターリーブされた構造を持つファイルの一例を、インターリーブMXFファイルと呼ぶ。 Next, a data structure applicable to the first embodiment of the present invention will be described. 2 to 5 show a mapping structure for an MPEG (Moving Pictures Experts Group) stream of a data format called MXF (Material Exchange Format), which can be applied to the first embodiment of the present invention. MXF is a file format standard defined by SMPTE (Society of Motion Picture and Television Engineers), and a mapping structure for an MPEG stream described below is defined by SMPTE-381M. Hereinafter, according to the MXF provisions such as SMPTE-381m, an example of a file having a structure in which video data and audio data are frame-interleaved, it referred to as interleaved MXF file.
インターリーブMXFファイルは、全体的には、図2Aに示されるようにファイルヘッダ(File Header)、ファイルボディ(File Body)およびファイルフッタ(File Footer)とからなる。ファイルヘッダは、ヘッダパーティションパック(HPP)とヘッダメタデータ(Header Metadata)とからなる。ヘッダパーティションパックは、ヘッダを特定するためのデータや、ファイルボディに配置されるデータの形式、ファイルフォーマットを表す情報などが格納される。ヘッダメタデータは、例えば、このファイルの作成日時に関する情報や、ファイルボディに配置されたデータに関する情報といった、ファイル単位のメタデータが格納される。 As shown in FIG. 2A, the interleaved MXF file generally includes a file header, a file body, and a file footer. The file header includes a header partition pack (HPP) and header metadata. The header partition pack stores data for specifying the header, the format of data arranged in the file body, information representing the file format, and the like. The header metadata stores, for example, file unit metadata such as information on the creation date and time of the file and information on data arranged in the file body.
ファイルボディは、ボディパーティションパック(BPP)、エディットユニット(Edit Unit)およびインデックステーブル(Index Table)からなる。ボディパーティションパックには、ボディを特定するためのデータなどが格納される。ボディパーティションパックで区切られる領域に、0または1のインデックステーブルと、1または複数のエディットユニットが配置される。エディットユニットは、フレーム毎のデータが格納される。インデックステーブルは、ボディパーティションパックで区切られる1つ前の領域内に含まれるエディットユニット毎の情報が格納される。エディットユニットおよびインデックステーブルの詳細については、後述する。 The file body includes a body partition pack (BPP), an edit unit (Edit Unit), and an index table (Index Table). The body partition pack stores data for specifying the body. An index table of 0 or 1 and one or a plurality of edit units are arranged in an area delimited by the body partition pack. The edit unit stores data for each frame. The index table stores information for each edit unit included in the previous area divided by the body partition pack. Details of the edit unit and the index table will be described later.
ファイルフッタは、フッタパーティションパック、インデックステーブルおよびランダムインデックスパックからなる。ファイルフッタに関しては、この発明と直接的に関わる部分がないので、繁雑さを避けるために、説明を省略する。 The file footer includes a footer partition pack, an index table, and a random index pack. Since there is no portion directly related to the present invention regarding the file footer, the description thereof will be omitted to avoid complexity.
ボディパーティションパックで区切られる領域毎のエディットユニットの集合体は、エッセンスコンテナ(Essence Container)と呼ばれる(図2Bの左側参照)。すなわち、エッセンスコンテナは、このインターリーブMXFファイルに基づき実際に再生されるビデオおよびオーディオデータに対応する。 An assembly of edit units for each region divided by the body partition pack is called an essence container (see the left side of FIG. 2B). That is, the essence container corresponds to video and audio data that are actually reproduced based on the interleaved MXF file.
ファイルボディおよびファイルフッタに配置される各インデックステーブルセグメントの集合体は、インデックステーブル(Index Table)と呼ばれる(図2Bの右側参照)。例えば、このインターリーブMXFファイルをシステムが読み込んだ際に、各インデックステーブルセグメントをサーチして読み出し、インデックステーブルを構築することで、このインターリーブMXFファイル内の全てのエディットユニットに関する情報を、構築されたインデックステーブルを参照して取得することができる。 A collection of index table segments arranged in the file body and the file footer is called an index table (see the right side of FIG. 2B). For example, when the interleaved MXF file is read by the system, each index table segment is searched and read out, and an index table is constructed, so that information on all edit units in the interleaved MXF file is constructed. It can be obtained by referring to the table.
図2Cは、インデックステーブルの一例の構造を示す。なお、図2Cにおいて、各領域の下部に記される数字は、その領域のサイズをバイトで示す。インデックステーブルは、KLV(Key-Length-Value)符号を用いて符号化される。KLV符号において、「K(Key)」部は、SMPTE 335M/RP210Aに準拠した、KLV符号化されたデータ項目を示す識別子であって、16バイトのデータ長を有する。「L(Length)」部は、4バイトのデータ長を有し、「L」部以降に続くデータ長をバイト単位で表す。「V(Value)」部は、データ本体が格納される領域である。また、「V」部内部にさらに、それぞれ2バイトのデータ長を有する、「T(Local Tag)」部および「L(Length)」部と、可変長のデータ部とからなる構造を定義することができる。 FIG. 2C shows an exemplary structure of the index table. In FIG. 2C, the numbers written at the bottom of each area indicate the size of the area in bytes. The index table is encoded using a KLV (Key-Length-Value) code. In the KLV code, the “K (Key)” portion is an identifier indicating a data item that is KLV encoded in accordance with SMPTE 335M / RP210A, and has a data length of 16 bytes. The “L (Length)” portion has a data length of 4 bytes, and represents the data length following the “L” portion in bytes. The “V (Value)” part is an area in which the data body is stored. In addition, a structure consisting of a “T (Local Tag)” portion and an “L (Length)” portion, each having a data length of 2 bytes, and a variable length data portion is further defined inside the “V” portion. Can do.
インデックステーブルの先頭には、データ長が16バイトでインデックステーブルセグメントキー(Index Table Segment Key)が配置される。続けてデータ長が4バイトで「L」部が配置され、それぞれ2バイトのデータ長を有する「T」部および「L」部が配置された後に、データ長が16バイトのインスタンスID(Instance ID)が配置される。インスタンスIDは、UUID(Universally Unique ID)を用いて記述される。続けて「T」部および「L」部が配置され、その後に、データ長が8バイトでインデックスエディットレート(Index Edit Rate)が配置される。インデックスエディットレートは、ビデオデータのフレームレートが29.97Hz、25Hzおよび23.98Hzの何れであるかを示す。 At the head of the index table, an index table segment key having a data length of 16 bytes is arranged. Subsequently, after an “L” portion is arranged with a data length of 4 bytes, and an “T” portion and an “L” portion each having a data length of 2 bytes, an instance ID (Instance ID) having a data length of 16 bytes is placed. ) Is placed. The instance ID is described using a UUID (Universally Unique ID). Subsequently, a “T” portion and an “L” portion are arranged, and then an index edit rate (Index Edit Rate) is arranged with a data length of 8 bytes. The index edit rate indicates whether the frame rate of the video data is 29.97 Hz, 25 Hz, or 23.98 Hz.
続けて「T」部および「L」部が配置され、その後に、データ長が8バイトでインデックススタートポジション(Index Start Position)が配置される。インデックススタートポジションは、このインデックステーブルが管理するエディットユニットの先頭の番号が示される。続けて「T」部および「L」部が配置され、その後に、データ長が8バイトでインデックスデュレーション(Index Duration)が配置される。インデックスデュレーションは、このインデックステーブルセグメントが管理するエディットユニット全体の長さが、エディットユニットの数で示される。 Subsequently, a “T” portion and an “L” portion are arranged, and then an index start position (Index Start Position) is arranged with a data length of 8 bytes. The index start position indicates the head number of the edit unit managed by this index table. Subsequently, a “T” portion and an “L” portion are arranged, and then an index duration (Index Duration) is arranged with a data length of 8 bytes. In the index duration, the length of the entire edit unit managed by the index table segment is indicated by the number of edit units.
続けて「T」部および「L」部が配置され、その後に、データ長が4バイトでエディットユニットバイトカウント(Edit Unit Byte Count)が配置される。エディットユニットバイトカウントは、ビデオフレームが固定長であれば、ビデオフレームのデータ長が記述され、可変長であれば値"0"が記述される。続けて「T」部および「L」部が配置され、その後に、データ長が4バイトでインデックスSIDが配置され、さらに続けて「T」部および「L」部の後にボディSIDが配置される。これらインデックスSIDおよびボディSIDは、それぞれ値が"1"および"2"の固定値とされる。続けて「T」部および「L」部が配置され、その後にデータ長が1バイトでスライスカウント(Slice Count)が配置される。スライスカウントは、このインデックステーブルで管理されるスライス(後述する)を示す。 Subsequently, a “T” portion and an “L” portion are arranged, and thereafter an edit unit byte count is arranged with a data length of 4 bytes. The edit unit byte count describes the data length of the video frame if the video frame has a fixed length, and describes the value “0” if the video frame has a variable length. Subsequently, a “T” part and an “L” part are arranged, and thereafter an index SID is arranged with a data length of 4 bytes, and a body SID is arranged after the “T” part and the “L” part. . These index SID and body SID are fixed values having values “1” and “2”, respectively. Subsequently, a “T” portion and an “L” portion are arranged, and then a slice count (Slice Count) is arranged with a data length of 1 byte. The slice count indicates a slice (described later) managed by this index table.
続けて「T」部および「L」部が配置され、その後にデータ長が44バイトでデルタエントリアレイ(Delta Entry Array)が配置される。そして、さらに続けて「T」部および「L」部が配置され、その後に可変長でインデックスエントリアレイ(Index Entry Array)が配置される。これらデルタエントリアレイおよびインデックスエントリアレイについては、後述する。 Subsequently, a “T” portion and an “L” portion are arranged, and then a delta entry array (Delta Entry Array) having a data length of 44 bytes is arranged. Subsequently, a “T” portion and an “L” portion are arranged, and thereafter an index entry array (Index Entry Array) having a variable length is arranged. The delta entry array and index entry array will be described later.
インデックスエントリアレイの後ろに、「K」部および「L」部、ならびに、フィラー部が配置される。フィラー部は、インデックステーブルのサイズを所定値に揃えるために設けられる。 The “K” portion, the “L” portion, and the filler portion are arranged behind the index entry array. The filler part is provided to align the size of the index table to a predetermined value.
図3は、エディットユニットおよびデルタエントリアレイの例を示す。図3Cに示すインデックステーブルは、図2Cと同一であるので、説明を省略する。エディットユニットは、1フレーム分のデータからなり、図3Aに一例が示されるように、システムデータ、MPEGビデオデータおよびオーディオデータ(AES)エレメントを含む。システムデータおよび4チャンネル分のオーディオデータエレメントは、それぞれ固定長(CBE:Constant Bytes per Element)であり、ビデオデータエレメントは、可変長(VBE:Variable Bytes per Element)である。1つのエディットユニット内では、可変長データエレメント毎にスライス(Slice)が切られる。図3Aの例では、ビデオデータエレメントが可変長であるので、ビデオデータエレメントの後端でスライスが切られ、前半がスライス0、後半がスライス1とされる。上述のスライスカウントには、(スライスの数−1)が記述される。
FIG. 3 shows an example of an edit unit and a delta entry array. The index table shown in FIG. 3C is the same as FIG. The edit unit is composed of data for one frame, and includes system data, MPEG video data, and audio data (AES) elements as shown in FIG. 3A as an example. The system data and the audio data elements for four channels have a fixed length (CBE: Constant Bytes per Element), and the video data elements have a variable length (VBE: Variable Bytes per Element). Within one edit unit, a slice is cut for each variable length data element. In the example of FIG. 3A, since the video data element has a variable length, the slice is cut at the rear end of the video data element, the first half is
デルタエントリアレイは、図3Bに一例が示されるように、エディットユニットに含まれる各データの、エディットユニット内でのオフセット情報が記述される。なお、デルタエントリアレイにおいて、エディットユニットに含まれる各データエレメント毎の情報をデルタエントリ(Delta Entry)と称する。デルタエントリアレイは、エディットユニットに含まれる各データエレメントのデルタエントリの集合である。デルタエントリの先頭には、4バイトのデータ長を有するデルタエントリ数(Number of Delta Entries)が配置される。エディットユニットが1つのシステムデータエレメント、1つのビデオデータエレメントおよび4つのオーディオデータエレメントの、計6個のデータエレメントからなるこの例では、デルタエントリアレイに6個のデルタエントリが含まれ、デルタエントリ数は、値"6"が記述される。デルタエントリ数の後ろに、デルタエントリのデータ長をバイト数で示すデルタエントリ長(Length of Delta Entries)が配置される。 In the delta entry array, as shown in an example in FIG. 3B, offset information in the edit unit of each data included in the edit unit is described. In the delta entry array, information for each data element included in the edit unit is referred to as a delta entry. The delta entry array is a set of delta entries of each data element included in the edit unit. At the head of the delta entry, a number of delta entries having a data length of 4 bytes is arranged. In this example, the edit unit consists of six data elements, one system data element, one video data element, and four audio data elements. The delta entry array includes six delta entries, and the number of delta entries. Describes the value “6”. After the number of delta entries, a delta entry length (Length of Delta Entries) indicating the data length of the delta entry in bytes is arranged.
デルタエントリのそれぞれは、ポステーブルインデックス(Pos Table Index)、スライス(Slice)およびエレメントデルタ(Element Delta)からなる。ポステーブルインデックスは、各エレメントでデータの表示順と符号化順とが異なり、その差分がインデックスエントリアレイ内のテンポラルオフセット値で決定される場合に値"−1"を取り、データの表示順と符号化順とが一致している場合に値"0"を取る。若し、エレメントのデータの部分毎に表示順と符号化順とが異なる場合は、インデックスエントリアレイ中のポステーブルに各部分毎の差分が記述され、ポステーブルインデックスの値は、差分を記述するテーブルのインデックス値(正の値)を取る。なお、ポステーブルインデックスについては、この発明と関わりが薄いので、これ以上の説明を省略する。スライスは、対応するデータのエディットユニット内でのスライス位置を示す。エレメントデルタは、スライス先頭からのオフセットを示す。 Each delta entry includes a pos table index, a slice, and an element delta. The post table index takes the value “−1” when the data display order and the encoding order are different for each element, and the difference is determined by the temporal offset value in the index entry array. When the encoding order matches, the value “0” is taken. If the display order and the encoding order differ for each part of the element data, the difference for each part is described in the post table in the index entry array, and the value of the post table index describes the difference. Takes the index value (positive value) of the table. Since the post table index is not related to the present invention, further explanation is omitted. The slice indicates the slice position within the edit unit of the corresponding data. The element delta indicates an offset from the top of the slice.
図4は、インデックスエントリアレイおよびエッセンスコンテナストリームの例を示す。図4Aおよび図4Bは、エッセンスコンテナによるデータストリームすなわちエッセンスコンテナストリーム(Essence Container Stream)の例を示す。インターリーブMXFファイルのエディットユニットの集合体として、ストリームが形成される。 FIG. 4 shows an example of an index entry array and an essence container stream. 4A and 4B show an example of a data stream by an essence container, that is, an essence container stream. A stream is formed as an aggregate of edit units of an interleaved MXF file.
図4Cは、インデックスエントリアレイの一例を示す。インデックスエントリ数(Number of Index Entries)は、インデックスエントリアレイに含まれるインデックスエントリの数を示す。インデックスエントリのそれぞれは、エディットユニットに対応しているので、インデックスエントリ数は、換言すれば、このインデックステーブルセグメントで管理しているエディットユニット数を示す。インデックスエントリ数の後ろに、インデックスエントリのデータ長をバイト数で示すインデックスエントリ長(Length of Index Entries)が配置される。 FIG. 4C shows an example of an index entry array. The number of index entries indicates the number of index entries included in the index entry array. Since each index entry corresponds to an edit unit, the number of index entries indicates, in other words, the number of edit units managed by this index table segment. An index entry length (Length of Index Entries) indicating the data length of the index entry in bytes is arranged after the number of index entries.
インデックスエントリのそれぞれは、テンポラルオフセット(Temporal Offset)、キーフレームオフセット(Key-Frame Offset)、フラグ(Flags)、ストリームオフセット(Stream Offset)およびスライスオフセット(Slice Offset)からなる。テンポラルオフセットは、1バイトのデータ長を有し、表示順と符号化順の並べ替えの情報を示す。キーフレームオフセットは、1バイトのデータ長を有し、復号化に用いるキーフレームの位置情報を示す。フラグは、1バイトのデータ長を有し、フレームのタイプを示す。なお、これらテンポラルオフセット、キーフレームオフセットおよびフラグの詳細は、後述する。ストリームオフセットは、8バイトのデータ長を有し、このインターリーブMXFファイル全体のエッセンスコンテナストリームの先頭に対するオフセットを示す。スライスオフセットは、4バイトのデータ長を有し、対応するエディットユニット内でのスライス1のオフセットを示す。
Each index entry includes a temporal offset, a key-frame offset, a flag, a stream offset, and a slice offset. The temporal offset has a data length of 1 byte and indicates information on rearrangement of the display order and the encoding order. The key frame offset has a data length of 1 byte and indicates position information of a key frame used for decoding. The flag has a data length of 1 byte and indicates the frame type. Details of the temporal offset, key frame offset, and flag will be described later. The stream offset has a data length of 8 bytes and indicates an offset with respect to the head of the essence container stream of the entire interleaved MXF file. The slice offset has a data length of 4 bytes, and indicates an offset of
上述したテンポラルオフセット、キーフレームオフセットおよびフラグについて、図5を用いてより詳細に説明する。図5Aは、フレームの表示順(ディスプレイオーダ:Display Order)を示し、図5Bは、フレームの符号化順(コーディングオーダ:Coding Order)をエディットユニット単位で示す。図5Aおよび図5Bにおいて、あるインデックステーブルに対応するディスプレイオーダおよびコーディングオーダを、先頭を#0として順に番号を付して示す。図5Cは、テンポラルオフセット、キーフレームオフセットおよびフラグを、図5Aのディスプレイオーダおよび図5Bのコーディングオーダと対応させて示す。 The temporal offset, key frame offset, and flag described above will be described in more detail with reference to FIG. FIG. 5A shows a frame display order (display order), and FIG. 5B shows a frame coding order (coding order) in units of edit units. In FIG. 5A and FIG. 5B, display orders and coding orders corresponding to a certain index table are shown with numbers assigned in order starting from # 0. FIG. 5C shows temporal offsets, key frame offsets and flags corresponding to the display order of FIG. 5A and the coding order of FIG. 5B.
なお、図5Aおよび図5Bに記される「I」、「P」および「B」は、それぞれIピクチャ、PピクチャおよびBピクチャを示す。また、ディスプレイオーダにおいて、Iピクチャを復号化して得られるフレームをフレーム「I」のように記述し、コーディングオーダにおいて、Iピクチャが格納されるエディットユニットをエディットユニット「I」のように記述する。 “I”, “P”, and “B” shown in FIGS. 5A and 5B indicate an I picture, a P picture, and a B picture, respectively. In the display order, a frame obtained by decoding the I picture is described as a frame “I”, and in the coding order, an edit unit in which the I picture is stored is described as an edit unit “I”.
この図5の例では、説明のため、1GOPが1枚のIピクチャ、1枚のPピクチャ、4枚のBピクチャから構成されている。また、前半の6枚のピクチャからなるGOPはクローズドGOPとし、後半の6枚からなるGOPはオープンGOPとする。また、あるインデックステーブルに対応するディスプレイオーダおよびコーディングオーダに対し、#0から順に番号を付して示す。 In the example of FIG. 5, for explanation, one GOP is composed of one I picture, one P picture, and four B pictures. A GOP consisting of the first six pictures is a closed GOP, and a GOP consisting of the second six pictures is an open GOP. Also, the display order and coding order corresponding to a certain index table are shown by numbering sequentially from # 0.
既に説明したように、クローズドGOPでは、GOP内で復号化が完結するため、この図5に示される構成の場合、ディスプレイオーダにおけるフレーム「B」#0およびフレーム「B」#1は、フレーム「I」#2のみから復号化される。また、フレーム「B」#3およびフレーム「B」#4は、フレーム「I」#2およびフレーム「P」#5を用いて復号化される。 As described above, in the closed GOP, decoding is completed within the GOP. Therefore, in the case of the configuration shown in FIG. 5, the frame “B” # 0 and the frame “B” # 1 in the display order include the frame “ I "# 2 is decoded only. Also, frame “B” # 3 and frame “B” # 4 are decoded using frame “I” # 2 and frame “P” # 5.
一方、オープンGOPでは、一つ前のGOPのピクチャを用いて復号化を行うことが可能とされている。この図5に示される例では、それぞれフレーム「B」#6およびフレーム「B」#7は、フレーム「I」#8と、1つ前のGOPに含まれるフレーム「P」#5とを用いて復号化される。このとき、フレーム「P」#5は、フレーム「I」#2を用いて復号化されるため、フレーム「B」#6およびフレーム「B」#7を復号化するためには、フレーム「I」#8、フレーム「P」#5およびフレーム「I」#2の3枚のフレームが必要とされる。 On the other hand, in open GOP, it is possible to perform decoding using a picture of the previous GOP. In the example shown in FIG. 5, frame “B” # 6 and frame “B” # 7 use frame “I” # 8 and frame “P” # 5 included in the previous GOP, respectively. Decrypted. At this time, since the frame “P” # 5 is decoded using the frame “I” # 2, in order to decode the frame “B” # 6 and the frame “B” # 7, the frame “I” "# 8", frame "P" # 5 and frame "I" # 2 are required.
テンポラルオフセットは、ディスプレイオーダに対してコーディングオーダが何フレーム分、並べ替えられているかを示す。例えば、ディスプレイオーダにおいて3番目に位置するフレーム「I」#2は、コーディングオーダで1番目に位置するエディットユニット「I」#0に対応するので、テンポラルオフセットの値は"−2"である。また、ディスプレイオーダにおいて7番目に位置するフレーム「B」#6は、コーディングオーダで8番目に位置するエディットユニット「B」#7に対応するので、テンポラルオフセットの値は、"+1"である。 The temporal offset indicates how many frames the coding order has been rearranged with respect to the display order. For example, since the frame “I” # 2 located third in the display order corresponds to the edit unit “I” # 0 located first in the coding order, the temporal offset value is “−2”. Further, the frame “B” # 6 located at the seventh position in the display order corresponds to the edit unit “B” # 7 located at the eighth position in the coding order, and therefore the value of the temporal offset is “+1”.
キーフレームオフセットは、対応するエディットユニットに含まれるビデオデータを復号化するために遡る必要のあるエディットユニット数を示す。例えば、フレーム「I」#2が含まれるエディットユニット#0は、それ自身でフレーム「I」#2の復号化が可能であるため、キーフレームオフセットの値は、"0"である。また、フレーム「B」#3が含まれるエディットユニット#4は、フレーム「B」#3を復号化するためにフレーム「I」#2およびフレーム「P」#5が必要とされ、フレーム「I」#2を含むエディットユニット#0まで遡る必要がある。したがって、エディットユニット#4のキーフレームオフセットの値は、"−4"である。
The key frame offset indicates the number of edit units that need to be traced in order to decode the video data included in the corresponding edit unit. For example, since the
さらに、オープンGOPの場合、先頭のフレーム「B」は、1つ前のGOPのフレームを用いて復号化される。例えば、フレーム「B」#7は、フレーム「I」#8と1つ前のGOPのフレーム「P」#5とを用いて復号化され、フレーム「P」#5は、さらにフレーム「I」#2を用いて復号化される。したがって、フレーム「B」#7を含むエディットユニット#8は、フレーム「I」#2を含むエディットユニット#0まで遡る必要がある。したがって、エディットユニット#8のキーフレームオフセットの値は、"−8"である。
Further, in the case of an open GOP, the first frame “B” is decoded using the frame of the previous GOP. For example, the frame “B” # 7 is decoded using the frame “I” # 8 and the frame “P” # 5 of the previous GOP, and the frame “P” # 5 further includes the frame “I”. Decoded using # 2. Therefore, edit
フラグは、1バイトすなわち8ビットのデータ長を有し、8ビットのそれぞれのビットに、そのフラグに対応するエディットユニットに関する所定の情報が割り当てられる。図6は、フラグのビットアサインを示す。第0ビット〜第7ビットの8ビットのうち、上位側から、第7ビットは、対応するエディットユニットがシーケンスヘッダ(Sequence_Header)を含み、且つ、クローズドGOPに属するフレームであることを示す。第6ビットは、対応するエディットユニットがシーケンスヘッダを含むか否かを示す。 The flag has a data length of 1 byte, that is, 8 bits, and predetermined information related to the edit unit corresponding to the flag is assigned to each of the 8 bits. FIG. 6 shows the bit assignment of flags. Of the 8 bits from the 0th bit to the 7th bit, the 7th bit from the upper side indicates that the corresponding edit unit includes a sequence header (Sequence_Header) and belongs to a closed GOP. The sixth bit indicates whether or not the corresponding edit unit includes a sequence header.
第5ビットは、対応するエディットユニットの含むフレームが前方予測(Forward prediction)を用いて復号化されるか否かを示す。第4ビットは、対応するエディットユニットの含むフレームが後方予測(Backward prediction)を用いて復号化されるか否かを示す。第3ビットは、対応するエディットユニットの含むフレームのオフセットが範囲外(Offset out of range)であるか否かを示す。第2ビットは、MPEGのマッピングをされている場合には用いられない(Not used by MPEG mapping)。 The fifth bit indicates whether or not a frame included in the corresponding edit unit is decoded using forward prediction. The fourth bit indicates whether or not a frame included in the corresponding edit unit is decoded using backward prediction. The third bit indicates whether or not the offset of the frame included in the corresponding edit unit is out of range. The second bit is not used when MPEG mapping is performed (Not used by MPEG mapping).
第1ビットおよび第0ビットの2ビットを用いて、対応するエディットユニットの含むフレームのピクチャタイプが示される。第1ビットおよび第0ビットの2ビットが"00"でIピクチャによるフレームを、"10"でPピクチャによるフレームを、"11"でBピクチャによるフレームをそれぞれ示す。 Two bits of the first bit and the 0th bit are used to indicate the picture type of the frame included in the corresponding edit unit. 2 bits of the first bit and the 0th bit are “00”, a frame by I picture is shown by “10”, a frame by P picture is shown by “10”, and a frame by B picture is shown by “11”.
図5から分かるように、ディスプレイオーダであるフレーム#nを指定したときに、インデックスエントリアレイでn番目のインデックスエントリ中のテンポラルオフセットを参照することで、指定されたフレーム#nに対応するコーディングオーダを知ることができる。さらに、そのフレーム#nに対応するコーディングオーダに対応するインデックスエントリ中のキーフレームオフセットを参照することで、当該コーディングオーダのピクチャを復号化するために必要な先頭のピクチャのコーディングオーダを知ることができる。 As can be seen from FIG. 5, when the frame #n which is the display order is designated, the coding order corresponding to the designated frame #n is referred to by referring to the temporal offset in the nth index entry in the index entry array. Can know. Furthermore, by referring to the key frame offset in the index entry corresponding to the coding order corresponding to the frame #n, it is possible to know the coding order of the first picture necessary for decoding the picture of the coding order. it can.
すなわち、テンポラルオフセットおよびキーフレームオフセットを用いることで、ディスプレイオーダでフレーム#nを指定したときに、指定されたフレーム#nを復号化するために必要な先頭のピクチャすなわちエディットユニットのファイル内での位置を、インデックステーブルセグメント単位で知ることができる。したがって、システムは、ファイルにアクセスする際に、先ずファイル中のインデックステーブルを予め全て読み込んでおくことで、ファイル内の任意のフレームに対するアクセス性が向上される。 That is, by using the temporal offset and the key frame offset, when the frame #n is designated in the display order, the first picture necessary for decoding the designated frame #n, that is, the editing unit file, is displayed. The position can be known for each index table segment. Therefore, when the system accesses a file, the index table in the file is first read in advance, thereby improving the accessibility to any frame in the file.
なお、これに限らず、システムは、インデックステーブルをファイルの先頭から、ファイルに対するアクセス順に応じて順次、読み込んでいくこともできる。この場合、予めファイル中のインデックステーブルを全て読み込む例に比べて、インデックステーブルが読み込まれていない部分に対するアクセス性が期待できないことになる。 However, the present invention is not limited to this, and the system can also read the index table sequentially from the top of the file according to the access order of the file. In this case, compared to an example in which all the index tables in the file are read in advance, accessibility to a portion where the index table is not read cannot be expected.
次に、この発明の実施の第1の形態に適用可能な記録フォーマットについて説明する。図7は、ディスク状記録媒体における一例のデータ配置を示す。この図7に一例が示されるデータ配置は、記録可能な光ディスク、ハードディスクといった、ランダムアクセスが可能なディスク状記録媒体における一般的なデータ配置である。論理アドレス空間は、任意のデータを記録再生可能な領域である。 Next, a recording format applicable to the first embodiment of the present invention will be described. FIG. 7 shows an example of data arrangement in the disc-shaped recording medium. The data arrangement shown in FIG. 7 as an example is a general data arrangement in a disc-shaped recording medium that can be randomly accessed, such as a recordable optical disk or hard disk. The logical address space is an area where arbitrary data can be recorded / reproduced.
この実施の第1の形態では、記録媒体を光ディスクとする。なお、この実施の第1の形態に適用可能な記録媒体は、光ディスクに限られない。すなわち、この実施の第1の形態は、ハードディスクドライブや半導体メモリといった、他のランダムアクセス可能な記録媒体にも適用できるものである。上述したインターリーブMXFファイルは、例えばこのような記録媒体に記録されるデータに基づき、仮想的なファイルとして形成される。すなわち、インターリーブMXFファイルは、記録媒体に記録されるデータに対する所定の対応関係が記述され、例えばユーザは、インターリーブMXFファイルを介して記録媒体に実際に記録されるデータに対してアクセスすることになる。 In the first embodiment, the recording medium is an optical disk. Note that the recording medium applicable to the first embodiment is not limited to an optical disk. That is, the first embodiment can be applied to other randomly accessible recording media such as a hard disk drive and a semiconductor memory. The above-described interleaved MXF file is formed as a virtual file based on data recorded on such a recording medium, for example. That is, the interleaved MXF file describes a predetermined correspondence with data recorded on the recording medium. For example, the user accesses the data actually recorded on the recording medium via the interleaved MXF file. .
論理アドレスの先端および後端には、ファイルシステムFSが配置される。任意のデータは、論理アドレス空間内に一般的にファイルと称される所定の形式で記録される。記録媒体上のデータは、基本的にファイル単位で管理される。ファイルの管理情報は、ファイルシステムFSに記録される。記録再生装置のシステム制御部(後述する)のファイルシステム層は、このファイルシステムFSの情報を参照および操作することで、多種多様なデータを一つの記録媒体上で管理することができる。ファイルシステムFSは、例えばUDF(Universal Disk Format)が用いられ、2kB(キロバイト)単位でファイルを管理する。 A file system FS is arranged at the leading and trailing ends of the logical address. Arbitrary data is recorded in a predetermined format generally called a file in the logical address space. Data on the recording medium is basically managed in file units. File management information is recorded in the file system FS. A file system layer of a system control unit (described later) of the recording / reproducing apparatus can manage various kinds of data on one recording medium by referring to and operating information of the file system FS. The file system FS uses, for example, UDF (Universal Disk Format), and manages files in units of 2 kB (kilobytes).
論理アドレス空間の外に、交替領域が配置される。交替領域は、記録媒体の一部が欠陥(ディフェクト)により物理的に読み書きできなくなった場合に代替的に用いることができる領域である。例えば、記録媒体に対するアクセス(特に記録時のアクセス)の際に欠陥領域が認識された場合、通常は交替処理が行われ、当該欠陥領域のアドレスが交替領域内に移動される。 A replacement area is arranged outside the logical address space. The spare area is an area that can be used as an alternative when a part of the recording medium cannot be physically read or written due to a defect. For example, when a defective area is recognized at the time of access to the recording medium (particularly at the time of recording), a replacement process is normally performed, and the address of the defective area is moved into the replacement area.
交替領域の使用状況は、所定領域にディフェクトリストとして記憶され、記録再生装置のドライブ制御部や、システム制御部の下位階層により用いられる。すなわち、後述するドライブ制御部やシステム制御部の下位階層では、記録媒体へのアクセスの際にディフェクトリストを参照することで、交替処理が行われている場合にも、適切な領域へのアクセスを行うことができる。交替領域のこの仕組みにより、上位アプリケーションは、記録媒体上の不良記録領域の有無や位置などを考慮することなく、記録媒体に対するデータの記録再生を行うことができる。 The usage status of the spare area is stored as a defect list in a predetermined area, and is used by a drive control unit of the recording / reproducing apparatus and a lower hierarchy of the system control unit. In other words, in the lower layers of the drive control unit and system control unit described later, by referring to the defect list when accessing the recording medium, even when replacement processing is performed, access to an appropriate area is performed. It can be carried out. By this mechanism of the spare area, the host application can perform data recording / reproduction with respect to the recording medium without considering the presence / absence or position of the defective recording area on the recording medium.
ディスク状記録媒体の場合、交替領域は、ディスクの最内周側または最外周側に配置されることが多い。ディスクの回転制御を、ディスクの半径方向に段階的に回転速度を変更するゾーン制御で行っている場合には、ゾーン毎に交替領域を設ける場合もある。記録媒体が半導体メモリなどディスク状記録媒体ではない場合には、物理アドレスが最も小さい側または最も大きい側に配置されることが多い。 In the case of a disc-shaped recording medium, the replacement area is often arranged on the innermost or outermost side of the disc. When the disk rotation control is performed by zone control in which the rotation speed is changed stepwise in the radial direction of the disk, a replacement area may be provided for each zone. When the recording medium is not a disk-shaped recording medium such as a semiconductor memory, it is often arranged on the side having the smallest physical address or the largest physical address.
オーディオデータおよびビデオデータ(以下、まとめてAVデータと呼ぶ)を扱うアプリケーションにおいては、連続同期再生、すなわち実時間再生が保障された再生が必要な単位となるデータのまとまりを、クリップと呼ぶ。例えば、ビデオカメラにより撮影が開始されてから終了されるまでのひとまとまりのデータがクリップとされる。クリップの実体は、単一のファイルまたは複数のファイルからなる。この発明においては、クリップは、複数のファイルからなる。クリップの詳細については、後述する。 In an application that handles audio data and video data (hereinafter collectively referred to as AV data), a group of data that is a unit that requires continuous synchronous reproduction, that is, reproduction that guarantees real-time reproduction is called a clip. For example, a group of data from the start to the end of shooting by the video camera is used as a clip. The entity of a clip consists of a single file or multiple files. In the present invention, a clip consists of a plurality of files. Details of the clip will be described later.
論理アドレス空間に対して、例えば先頭側にクリップ以外の任意のファイルが記録できるNRT(Non Real Time)領域が配置され、NRT領域の次から、クリップが順に詰め込まれていく。クリップは、光ディスク1上のディフェクト位置を避けて配置され、上述した交替処理が行われないようにされる。各クリップには、ヘッダ(H)およびフッタ(F)が付加される。この例では、ヘッダおよびフッタは、クリップの後端側にまとめて配置されている。
For example, an NRT (Non Real Time) area in which an arbitrary file other than a clip can be recorded is arranged at the head side in the logical address space, and clips are sequentially packed from the next of the NRT area. The clip is arranged avoiding the defect position on the
なお、以下の説明において、光ディスク1に最初に記録されるクリップを、クリップ#1とし、以降、クリップ#2、クリップ#3、・・・とクリップ番号が増加していくものとする。
In the following description, it is assumed that the clip first recorded on the
論理アドレス空間内において、データが記録されていない領域や、過去にデータが記録されていたが現在では不要になった領域は、未使用領域としてファイルシステムFSに管理される。記録媒体上に新たに記録されるファイルに対して、未使用領域に基づき記録領域が割り当てられる。当該ファイルの管理情報は、ファイルシステムFSに追加される。 In the logical address space, an area where no data is recorded or an area where data has been recorded in the past but is no longer needed is managed as an unused area in the file system FS. A recording area is allocated to a file newly recorded on the recording medium based on an unused area. The management information of the file is added to the file system FS.
記録媒体として記録可能な光ディスクを用いた場合、この発明では、クリップを年輪構造によって記録媒体に記録する。図8および図9を用いて、年輪構造について説明する。図8Aは、一つのクリップ50をタイムライン上に示す例である。この例では、クリップ50は、ビデオデータ51、オーディオデータ52A〜52D、補助AVデータ53およびリアルタイムメタデータ54の7ファイルからなる。
When a recordable optical disc is used as the recording medium, the present invention records the clip on the recording medium with an annual ring structure. The annual ring structure will be described with reference to FIGS. 8 and 9. FIG. 8A is an example showing one
ビデオデータ51は、ベースバンドのビデオデータを、例えばビットレートが35Mbps(メガビットパーセカンド)の高ビットレートで圧縮符号化したビデオデータである。圧縮符号化方式としては、例えばMPEG2(Moving Pictures Experts Group 2)ロングGOP方式が用いられる。オーディオデータ52A、52B、52Cおよび52Dは、ベースバンドのオーディオデータが用いられ、それぞれ1チャンネルのオーディオデータである。これに限らず、オーディオデータ52A、52B、52Cおよび52Dは、ベースバンドのオーディオデータを高ビットレートで圧縮符号化したオーディオデータを用いてもよい。ビデオデータ51およびオーディオデータ52A〜52Dは、実際の放送や編集の対象とされるデータであって、本線系のデータと称される。
The
補助AVデータ53は、ベースバンドのビデオデータおよびオーディオデータを、本線系のビデオデータおよびオーディオデータに対してより低ビットレートで圧縮符号化して多重化したデータである。圧縮符号化方式としては、例えばMPEG4方式が用いられ、本線系のAVデータを、ビットレートを例えば数Mbpsまで落とすように圧縮符号化して生成する。補助AVデータ53は、高速サーチ再生を行うために本線系のデータの代理として用いられるデータであって、プロキシ(Proxy)データとも称される。
The
メタデータは、あるデータに関する上位データであり、各種データの内容を表すためのインデックスとして機能する。メタデータには、上述の本線系のAVデータの時系列に沿って発生されるリアルタイムメタデータ54と、本線系のAVデータにおけるシーン毎など、所定の区間に対して発生される非時系列メタデータの2種類がある。非時系列メタデータは、例えば図7で説明したNRT領域に記録される。
Metadata is high-order data related to certain data, and functions as an index for representing the contents of various data. The metadata includes real-
クリップ50は、図8Bに一例が示されるように、所定の再生時間(例えば2秒)を基準として分割され、年輪構造として光ディスクに記録される。一つの年輪は、図8Cに一例が示されるように、ビデオデータ51、オーディオデータ52A〜52D、補助AVデータ53およびリアルタイムメタデータ(RM)54を、それぞれ再生時間帯が対応するように、トラック1周分以上のデータサイズを有する所定の再生時間単位に分割し、分割された再生時間単位毎に順に配置して記録する。すなわち、クリップ50を構成する各データは、年輪構造により所定時間単位でインターリーブされ、光ディスクに記録される。
As shown in an example in FIG. 8B, the
年輪を形成するデータを年輪データと称する。年輪データは、ディスクにおける最小の記録単位の整数倍のデータ量とされる。また、年輪は、その境界がディスクの記録単位のブロック境界と一致するように記録される。 Data forming the annual ring is referred to as annual ring data. The annual ring data has an amount of data that is an integral multiple of the smallest recording unit on the disc. The annual rings are recorded so that the boundaries coincide with the block boundaries of the recording units of the disc.
図9は、光ディスク1に対して年輪データが形成された一例の様子を示す。例えば、図8Bを用いて説明したように、光ディスク1の内周側から外周側に向けて、1つのクリップが所定の再生時間単位に分割された年輪データ#1、#2、#3、・・・が連続的に記録される。すなわち、光ディスク1の内周側から外周側に向けて、再生の時系列が連続するようにデータが配置される。なお、図示しないが、NRT領域は、図9の例では、先頭の年輪データ#1のさらに内周側に配置される。
FIG. 9 shows an example of annual ring data formed on the
図10は、MPEG2のロングGOPにおける一例のデータ構造と、ビデオMXFファイルとの一例の対応関係を示す。例えば、図10Aに示されるように、1つのクリップから1ロングGOPファイルが構成される。ロングGOPファイルは、図10Bに示されるように、図1を用いて既に説明したビデオMXFファイルの構造に対応される。ビデオMXFファイルは、上述のように、先頭からヘッダパーティションパック(HPP)およびヘッダメタデータが配置されてヘッダ13が構成され、その後ろのファイルボディに、ビデオデータの本体が格納されるエッセンスコンテナが配置される。ファイルの末尾には、フッタパーティションパック(FPP)が配置され、ファイルフッタが構成される(図示しない)。
FIG. 10 shows an example of the data structure in the MPEG2 long GOP and an example of the correspondence relationship between the video MXF file. For example, as shown in FIG. 10A, one long GOP file is composed of one clip. As shown in FIG. 10B, the long GOP file corresponds to the structure of the video MXF file already described with reference to FIG. In the video MXF file, as described above, the header partition pack (HPP) and the header metadata are arranged from the top to form the
エッセンスコンテナは、図10Cに示されるように、GOPが並んでいる構成となっている。各GOPの内容は、図10Dに示されるように、ピクチャの集合であり、1つのピクチャの内容は、図10Eに示されるように、先頭にKL(Key,length)情報が配され、次にI、PまたはBピクチャの本体が配され、さらにKL情報が配される。ピクチャの末尾には、必要に応じてフィラーが配され、2048バイト単位で末尾が揃えられる。 The essence container has a configuration in which GOPs are arranged as shown in FIG. 10C. The contents of each GOP are a set of pictures as shown in FIG. 10D, and the contents of one picture are arranged with KL (Key, Length) information at the head, as shown in FIG. The main body of the I, P or B picture is arranged, and further KL information is arranged. A filler is arranged at the end of the picture as necessary, and the end is aligned in units of 2048 bytes.
このような構成において、MPEG2のロングGOPでは、各ピクチャの情報量、すなわち図10Eに示されるI、PおよびBピクチャのサイズの値が不確定となる。したがって、例えばロングGOPビデオMXFファイル中のあるフレームから再生を開始しようとした場合に、ロングGOPビデオMXFファイル中のそのフレームに対応するピクチャの先頭位置を、バイト位置などで指定することができない。 In such a configuration, in the MPEG2 long GOP, the information amount of each picture, that is, the values of the sizes of the I, P, and B pictures shown in FIG. 10E are uncertain. Therefore, for example, when playback is to be started from a certain frame in the long GOP video MXF file, the start position of the picture corresponding to that frame in the long GOP video MXF file cannot be specified by a byte position or the like.
そのため、ロングGOPビデオMXFファイルの先頭位置からバイト単位で示されるファイルアドレス(図10F参照)を基準として、ロングGOPビデオMXFファイルに含まれる各ピクチャそれぞれについて、ファイルアドレス、サイズおよびピクチャタイプ(I、PまたはBピクチャ)と、そのピクチャがGOPの先頭のピクチャであるか否かを示す情報を、ピクチャポインタ情報として用意する。このピクチャポインタ情報は、ロングGOPビデオMXFファイル毎に用意される。 Therefore, with respect to each picture included in the long GOP video MXF file on the basis of the file address (see FIG. 10F) indicated in bytes from the head position of the long GOP video MXF file, the file address, size, and picture type (I, (P or B picture) and information indicating whether the picture is the first picture of the GOP are prepared as picture pointer information. This picture pointer information is prepared for each long GOP video MXF file.
なお、図10Eに示されるピクチャ末尾に配されるフィラーは、各ピクチャの境界がファイルアドレスで見て例えば2048バイトといった所定バイトの倍数になるように調整する。一例として、各ピクチャの境界が光ディスク10のセクタといった最小アクセス単位の境界に一致するように、フィラーを用いて調整すると、各ピクチャ毎のアクセスが容易となり好ましい。
Note that the filler disposed at the end of the picture shown in FIG. 10E is adjusted so that the boundary of each picture is a multiple of a predetermined byte such as 2048 bytes as seen from the file address. As an example, it is preferable to adjust using a filler so that the boundary of each picture coincides with the boundary of the minimum access unit such as a sector of the
図11は、ピクチャポインタ情報が記述されるピクチャポインタテーブルのより具体的な例を示す。この例では、ピクチャポインタテーブルは、8バイト単位でデータが記述される。先頭の8バイトは、予約領域およびこのピクチャポインタテーブルのバージョン情報が格納される。以下、1フレームすなわち1ピクチャに対して8バイトが割り当てられ、この8バイトの情報がロングGOPビデオファイルに含まれるピクチャの数だけ並べられる。各ピクチャは、表示フレーム順に並べられている。 FIG. 11 shows a more specific example of a picture pointer table in which picture pointer information is described. In this example, the picture pointer table describes data in units of 8 bytes. The first 8 bytes store the reserved area and version information of this picture pointer table. Hereinafter, 8 bytes are allocated to one frame, that is, one picture, and this 8-byte information is arranged by the number of pictures included in the long GOP video file. Each picture is arranged in the order of display frames.
各ピクチャ毎のデータについて説明する。先頭の1ビットは、そのピクチャがGOPの先頭のピクチャであるか否かを示すフラグである。例えば、1GOP内にIピクチャが複数枚、存在する場合を想定すると、Iピクチャの位置だけではGOPの境界を特定できない。GOPの境界を特定できないと、MPEG2に規定されるシーケンスヘッダ(Sequence Header)の位置が分からず、デコーダに入力されるストリームの先頭にシーケンスヘッダが無いという状態になるおそれがある。このGOP先頭のピクチャであるか否かを示すフラグをピクチャ毎に持たせることで、このような状態を回避できる。再生時には、このフラグに基づきデコーダにストリームを入力させる。 Data for each picture will be described. The first 1 bit is a flag indicating whether or not the picture is the first picture of the GOP. For example, assuming that there are a plurality of I pictures in one GOP, the boundary of the GOP cannot be specified only by the position of the I picture. If the GOP boundary cannot be specified, the position of the sequence header (Sequence Header) defined in MPEG2 cannot be known, and there is a possibility that there is no sequence header at the head of the stream input to the decoder. Such a state can be avoided by providing each picture with a flag indicating whether or not this is a GOP head picture. At the time of reproduction, a stream is input to the decoder based on this flag.
次の23ビットは、図10Eに示される、ピクチャのサイズ情報が格納される。サイズ情報として23ビットを確保することで、8MB(メガバイト)までのデータサイズに対応でき、MPEGプロファイルの422@HLにも対応可能となる。 The next 23 bits store picture size information as shown in FIG. 10E. By securing 23 bits as size information, it is possible to cope with a data size up to 8 MB (megabytes), and it is also possible to cope with MPEG profile 422 @ HL.
次の2ビットでピクチャのタイプが示される。Bピクチャについては、参照方向の情報も示される。ピクチャのタイプは、より具体的には、例えば次のように記述される。
00:Iピクチャ
10:Pピクチャ
01:未来のフレームのみから後方(Backward)参照されて復元されるBピクチャ。これは、例えばオープンGOPの場合の、ロングGOPビデオファイル先頭のBピクチャ、または、クローズドGOPの場合の各GOPの先頭のBピクチャである。
11:前方および後方のフレームが参照されて復元されるBピクチャ。
The next two bits indicate the picture type. For B pictures, reference direction information is also shown. More specifically, the picture type is described as follows, for example.
00: I picture 10: P picture 01: B picture restored by referring backward from only future frames. This is, for example, a B picture at the beginning of a long GOP video file in the case of an open GOP, or a B picture at the beginning of each GOP in the case of a closed GOP.
11: B picture restored by referring to the front and rear frames.
次の38ビットは、当該ピクチャのロングGOPビデオファイル内におけるファイルアドレスが示される。ファイルアドレスに38ビットを割り当てることで、サイズが256GB(ギガバイト)までのロングGOPビデオファイルに対応可能である。例えば、1層で27GBの記録容量を有する記録層が8層まで形成された光ディスク1に対応可能である。
The next 38 bits indicate a file address in the long GOP video file of the picture. By assigning 38 bits to the file address, a long GOP video file having a size up to 256 GB (gigabytes) can be supported. For example, it is possible to deal with the
このピクチャポインタテーブルは、ピクチャポインタファイルとして、非時系列メタデータと共に例えば記録媒体のNRT領域に記録される。光ディスク1がシステムに装填された際に、このNRT領域に記録された非時系列メタデータとピクチャポインタファイルがシステムにより読み出され、光ディスク1がシステムに対してマウントされる。読み出された非時系列メタデータやピクチャポインタファイルは、例えばシステムの制御部が有するメモリに保持される。システムの制御部は、メモリに保持されるピクチャポインタテーブルを参照することで、光ディスク1に記録されるクリップ中の任意のピクチャにアクセスすることができる。
This picture pointer table is recorded as a picture pointer file in the NRT area of the recording medium, for example, together with non-time series metadata. When the
次に、この発明の実施の第1の形態に適用可能な記録再生装置について説明する。図12は、この発明の実施の第1の形態に適用可能な記録再生装置100の一例の構成を示す。この記録再生装置100は、記録媒体として上述した光ディスク1を用いることができる。
Next, a recording / reproducing apparatus applicable to the first embodiment of the present invention will be described. FIG. 12 shows an example of the configuration of a recording / reproducing
記録側ビデオ信号処理部101は、入力されたベースバンドのディジタルビデオデータに対して所定の信号処理を施す。MPEGエンコーダ102は、記録側ビデオ信号処理部101から供給されたディジタルビデオデータに対して、MPEG2の既定に準じた圧縮符号化処理を施し、MPEG ES(MPEG エレメンタリストリーム)を出力する。すなわち、MPEGエンコーダ102は、供給されたディジタルビデオデータに対して、DCT(Discrete Cosine Transform)によりフレーム内圧縮を行い、予測符号化を用いてフレーム間圧縮を行う。さらに、フレーム内圧縮およびフレーム間圧縮を行ったデータに対して、可変長符号化を施す。
The recording-side video
メモリコントローラ103は、RAM(Random Access Memory)104Aおよび104Bが接続され、記録および再生に関わるビデオデータやオーディオデータのRAM104Aおよび/または104Bに対するバッファリングを制御すると共に、上述した記録側のビデオ処理を行う各部、後述するディスクドライブ部105や全体の制御を行うCPU(Central Processing Unit)121が接続されるバス120、再生側のビデオ処理を行う各部およびオーディオ処理を行う各部などの間でのデータやコマンドのやりとりを制御する。
The
RAM104Aは、例えばSDRAM(Synchronous Dynamic RAM)からなり、例えば光ディスク1の記録フォーマットである年輪イメージで以て、1乃至複数年輪分のビデオデータおよびオーディオデータや、その他のデータを一時的に格納可能とされる。また、RAM104Bは、例えばSRAM(Static RAM)からなり、オーディオデータのバッファリングを行う。メモリコントローラ103は、これらRAM104Aおよび104Bに対するアクセス制御を、後述するCPU121を介さないでDMA(Direct Memory Access)制御により行うことができる。
The
ディスクドライブ部105は、詳細は後述するが、装填された光ディスク1に対するデータの記録や、光ディスク1に記録されたデータの再生を行う。ディスクドライブ部105は、メモリコントローラ103と例えばATA(AT Attachment)といった所定のインターフェイスで接続され、インターフェイスを介して供給されたコマンドやアドレス情報に基づき、光ディスク1の所定のアドレスにアクセスできるようになっている。
As will be described in detail later, the
MPEGデコーダ106は、メモリコントローラ103から供給された、MPEG2の既定に準じた圧縮符号化方式で圧縮符号化されたビデオデータの復号化を行う。MPEGデコーダ106は、復号化後のフレームを複数、溜め込むことが可能なフレームバッファを有し(図示しない)、復号化されたフレームをこのフレームバッファに溜め込むようにされている。MPEGデコーダ106は、例えば、このフレームバッファに溜め込まれたフレームを用いて前方および/または後方参照のピクチャの復号化を行うと共に、所定の出力制御命令に基づき、フレームの出力タイミングなどを制御する。
The
再生側ビデオ処理部108は、MPEGデコーダ106で復号化されたベースバンドのディジタルビデオデータに所定の信号処理を施し、外部に出力する。また、再生側ビデオ処理部108には、補助AVデータにおけるビデオデータ側の処理を行う補助AV(V)部107が接続される。
The playback-side
補助AV(V)部107は、補助AVデータのビデオデータ部分に対する処理を行う。例えば、補助AV(V)部107は、記録側ビデオ処理部101から供給されたビデオデータに対して所定に圧縮符号化処理を施して、補助AVデータのビデオデータ部分を作成する。作成された補助AVデータのビデオデータ部分は、再生側ビデオ処理部108を介してメモリコントローラ103に供給される。また、補助AV(V)部107は、メモリコントローラ103から再生側ビデオ処理部108を介して供給された、補助AVデータのビデオデータ部分を復号化する処理も行う。補助AVデータのビデオデータ部分が復号化されたディジタルビデオデータは、再生側ビデオ処理部108に供給される。
The auxiliary AV (V)
オーディオ処理部109は、ディジタルおよびアナログオーディオ信号に関する入出力処理を行う。例えば、入力されたディジタルオーディオデータに対して所定の信号処理を施して、メモリコントローラ103や後述する補助AV(A)部110に供給する。また、メモリコントローラ103や補助AV(A)部110から供給されたディジタルオーディオデータに対して所定の信号処理を施して外部に出力する。さらに、オーディオ処理部109は、外部から供給されたアナログオーディオ信号をD/A変換してディジタルオーディオデータとし、メモリコントローラ103や補助AV(A)部110に供給する。さらにまた、オーディオ処理部103は、メモリコントローラ103や補助AV(A)部110から供給されたディジタルオーディオデータをA/D変換してアナログオーディオ信号として外部に出力する。
The
補助AV(A)部110は、補助AVデータのオーディオデータ部分の処理を行う。例えば、補助AV(A)部110は、オーディオ処理部109から供給されたディジタルビデオデータに対して所定の圧縮符号化処理を施して補助AVデータのオーディオデータ部分を作成する。作成された補助AVデータのオーディオデータ部分は、メモリコントローラ103に供給される。また、補助AV(A)部110は、メモリコントローラ103から供給された補助AVデータのオーディオデータ部分を復号化し、オーディオ処理部109に供給する。
The auxiliary AV (A)
メモリコントローラ103に対して、バス120が接続される。バス120には、CPU121が接続される。CPU121には、バスを介してRAM122、ROM(Read Only Memory)123およびコネクタ124がさらに接続される。CPU121は、ROM123に予め記憶されたプログラムに従い、RAM122をワークメモリとして用いて、この記録再生装置100の全体を制御する。コネクタ124は、脱着可能とされた不揮発性のメモリ125を装着するためのものである。なお、CPU121と記録再生装置100の各部との間でコマンドやデータのやりとりを行う経路は、繁雑さを避けるため、図12では省略されている。
A
バス120に対して、通信インターフェイス(I/F)126がさらに接続される。通信I/F126は、例えばIEEE(Institute Electrical and Electronics Engineers)1394の規格に準じた通信方式でこの記録再生装置100と外部機器との間で通信を行う。通信I/F126に適用される通信方式は、IEEE1394に限られず、例えばUSB(Universal Serial Bus)などでもよい。
A communication interface (I / F) 126 is further connected to the
さらにまた、バス120は、ブリッジ130を介してバス131に接続される。バス131には、CPU132、メモリ133および通信インターフェイス(I/F)134がさらに接続される。通信I/F134は、例えばLAN(Local Area Network)に接続され、TCP/IP(Transmission Control Protocol/Internet Protocol)を通信プロトコルに用いた通信を行う。CPU132は、図示されないROMに予め格納されたプログラムに従い、RAM133をワークメモリとして用いて、通信インターフェイス(I/F)134による通信を制御する。例えば、CPU132は、通信I/F134によるファイル転送を、FTP(File Transfer Protocol)を用いて行うことができる。
Furthermore, the
なお、例えば上述のROM123を、EEPROM(Electrically Erasable Programmable Read Only Memory)などの書き換え可能なROMとすれば、ROM123に記憶されたプログラムを後から更新することが可能である。更新するためのプログラムデータは、例えばLAN経由でこの記録再生装置100に供給されて通信I/F134で受信され、バス131、ブリッジ130およびバス120を介してCPU121に供給され、CPU121の制御に基づきROM123に書き込まれる。また、更新のためのプログラムデータは、通信I/F126を介して外部から供給されてもよいし、脱着可能なメモリ125に記憶され、メモリ125からインターフェイス124を介して供給されてもよい。
For example, if the above-described
外部からタイミングジェネレータ(TG)140に対して、ビデオデータやオーディオデータの同期を取るための基準同期信号が供給される。タイミングジェネレータ140は、供給された基準同期信号に基づき、この記録再生装置100内部で用いる種々のタイミング信号を生成する。生成されたタイミング信号は、信号の種類などに応じて、記録再生装置100内部の対応する部分に供給される(図示しない)。
A reference synchronization signal for synchronizing video data and audio data is supplied to the timing generator (TG) 140 from the outside. The
なお、この記録再生装置100に対する操作は、例えば通信I/F126や通信I/F134を介して、外部から供給されるコマンドに基づき行うことができる。すなわち、CPU121は、通信I/F126や通信I/F134を介して外部の機器とデータやコマンドのやりとりを行い、外部の機器から操作コマンドを受け取ったり、記録再生装置100のステータス情報を外部の機器に送信する。この外部の機器とのやりとりに基づき、CPU121は、この記録再生装置100の各部を所定に制御する。
The operation on the recording / reproducing
勿論、これに限らず、記録再生装置100に対して操作部を設け、操作部に対する操作に応じて記録再生動作を制御するようにしてもよい。
Of course, the present invention is not limited to this, and an operation unit may be provided for the recording / reproducing
図13は、この記録再生装置100のディスクドライブ部105の一例の構成を示す。記録時には、メモリコントローラ103から供給された記録データが、ECC(Error Correction Coding)部158およびメモリコントローラ156を介してメモリ157に溜め込まれる。メモリコントローラ156は、制御部150の制御に基づきメモリ157に対するアクセスを制御する。なお、制御部150は、マイクロコンピュータからなり、メモリコントローラ156からの制御信号に基づきこのディスクドライブ部105を制御する。
FIG. 13 shows an exemplary configuration of the
メモリ157に溜め込まれた記録データに対して、ECC部158によりエラー訂正単位毎にエラー訂正符号が生成される。ビデオデータおよびオーディオデータに対するエラー訂正符号としては、積符号を使用することができる。積符号は、ビデオデータまたはオーディオデータの2次元配列の縦方向に外符号の符号化を行い、その横方向に内符号の符号化を行い、データシンボルを2重に符号化するものである。外符号および内符号としては、リードソロモンコード(Reed-Solomon code) を使用できる。積符号で完結するデータ単位をECCブロックと称する。ECCブロックは、例えば64kバイト(65536バイト)のサイズを有する。メモリコントローラ156は、メモリ157からECCブロックを読み出し、変調/復調部155に記録データとして供給する。変調/復調部155は、この記録データを変調して記録信号を生成し、ピックアップ部152に供給する。
An error correction code is generated for each error correction unit by the
ピックアップ部152は、変調/復調部155から供給される記録信号に基づきレーザ光の出力を制御して、スピンドルモータ151により回転駆動される光ディスク1に記録信号を記録する。
The
なお、ピックアップ部152は、光ディスク1からの反射光を光電変換して電流信号を生成し、RF(Radio Frequency)アンプ153に供給する。RFアンプ153は、ピックアップ部152からの電流信号に基づいて、フォーカス誤差信号およびトラッキング誤差信号、ならびに、再生信号を生成し、トラッキング誤差信号およびフォーカス誤差信号をサーボ制御部154に供給する。また、RFアンプ153は、再生時に再生信号を変調/復調部155に供給する。
The
レーザ光の照射位置は、サーボ制御部154からピックアップ部152に供給されるサーボ信号により所定の位置に制御される。すなわち、サーボ制御部154は、フォーカスサーボ動作やトラッキングサーボ動作の制御を行う。具体的には、サーボ制御部154は、RFアンプ153からのフォーカス誤差信号とトラッキング誤差信号に基づいてフォーカスサーボ信号とトラッキングサーボ信号をそれぞれ生成し、ピックアップ部152のアクチュエータ(図示しない)に供給する。またサーボ制御部154は、スピンドルモータ151を駆動するスピンドルモータ駆動信号を生成して、光ディスク5を所定の回転速度で回転させるスピンドルサーボ動作の制御を行う。
The irradiation position of the laser light is controlled to a predetermined position by a servo signal supplied from the
さらにサーボ制御部154は、ピックアップ部152を光ディスク1の径方向に移動させてレーザ光の照射位置を変えるスレッド制御を行う。なお、光ディスク5の信号読み出し位置の設定は、メモリコントローラ103から供給される制御信号に基づき、制御部150によって行われ、設定された読み出し位置から信号を読み出すことができるように、ピックアップ部152の位置が制御される。
Further, the
スピンドルモータ151は、サーボ制御部154からのスピンドルモータ駆動信号に基づいて、光ディスク1を線速度一定のCLV(Constant Linear Velocity)、または、角速度一定のCAV(Constant Angler Velocity)で回転駆動する。スピンドルモータ112の駆動方式は、信号処理部3からの制御信号に基づき、CLVおよびCAVとで切り替え可能とされている。
The
再生時には、ピックアップ部152が光ディスク1にレーザ光を集光して照射し、光ディスク1からの反射光を光電変換した電流信号をRFアンプ153に供給する。変調/復調部155は、RFアンプ153から供給された再生信号を復調して再生データを生成し、メモリコントローラ156に供給する。メモリコントローラ156は、供給された再生データをメモリ157に書き込む。メモリ157からECCブロック単位で再生データが読み出され、ECC部158に供給される。
During reproduction, the
ECC部158は、供給されたECCブロック単位の再生データのエラー訂正符号を復号化してエラー訂正を行う。エラー訂正符号の持つエラー訂正能力を超えてエラーが検出されたときは、エラー訂正を行わずに、エラー訂正単位に対してエラーフラグを立てる。ECC部158から出力された再生データは、メモリコントローラ103に供給される。
The
以上のような構成において、記録時には、記録再生装置100に対して、ディジタルビデオデータおよびディジタルオーディオデータが入力される。ディジタルビデオデータは、記録側ビデオ処理部101で所定の信号処理を施され、MPEGエンコーダ102でMPEG2の規格に準じた方式で圧縮符号化され、メモリコントローラ103に供給される。また、ディジタルオーディオデータは、オーディオ処理部109で所定の信号処理を施され、メモリコントローラ103に供給される。
In the above configuration, digital video data and digital audio data are input to the recording / reproducing
一方、記録側ビデオ処理部101から補助AV(V)部107に対してディジタルビデオデータが供給される。補助AV(V)部107は、例えばMPEG4に規定される圧縮符号化方式により、供給されたディジタルビデオデータを、ビットレートが数Mbps程度になるように圧縮符号化し、補助AVデータのビデオデータ部分を得る。この補助AVデータのビデオデータ部分は、メモリコントローラ103に供給される。また、オーディオ処理部109から出力されたディジタルオーディオデータが補助AV(A)部110に供給され、例えば間引きとA−Law符号化を用い、サンプリング周波数および量子化ビット数を落として圧縮符号化し、メモリコントローラ103に供給する。
On the other hand, digital video data is supplied from the recording-side
メモリコントローラ103は、CPU121の命令に基づき、MPEGエンコーダ102で圧縮符号化された供給されたディジタルビデオデータと、オーディオ処理部109から供給されたディジタルオーディオデータと、補助AV(V)部107および補助AV(A)部106から供給されたデータからなる補助AVデータとを、例えばRAM104Aに所定に溜め込む。このとき、メモリコントローラ103は、供給された圧縮ディジタルビデオデータと、ディジタルオーディオデータと、補助AVデータとを、上述した年輪のフォーマットに対応するように、RAM104A上にマッピングする。
The
メモリコントローラ103は、CPU121からの命令に基づき、RAM104A上に所定にデータが溜め込まれたら、RAM104Aからデータを読み出して、読み出したデータを書き込み命令と共にディスクドライブ部105に供給する。ディスクドライブ部105は、供給された記録データを、書き込み命令に基づき、光ディスク1に対して年輪フォーマットで記録する。
The
再生時には、光ディスク1がディスクドライブ部105に装填されると、ディスクドライブ部105は、光ディスク1上のファイルシステムFSが読み込まれる。CPU121は、光ディスク1上のファイルの読み出し命令を、メモリコントローラ103を介してディスクドライブ部105に供給する。ディスクドライブ部105は、この命令に従い、読み込まれたファイルシステムFSに基づき指定されたファイルにアクセスする。ディスクドライブ部105は、光ディスク1から年輪単位でデータを読み込み、メモリコントローラ103に供給する。メモリコントローラ103は、供給されたデータを、年輪イメージで以て例えばRAM104Aに溜め込む。オーディオデータは、RAM104Bに溜め込まれる。
At the time of reproduction, when the
メモリコントローラ103は、RAM104Aの所定量以上のデータが溜め込まれたら、RAM104Aからデータを読み出す。例えばRAM104Aから読み出されたディジタルビデオデータは、メモリコントローラ103からMPEGデコーダ106に供給され、圧縮符号を復号化され、ベースバンドのディジタルビデオデータとされる。このディジタルビデオデータは、再生側ビデオ処理部108に供給され、所定に信号処理を施され、出力される。
The
RAM104Aから読み出されたディジタルオーディオデータも、メモリコントローラ103からオーディオ処理部109に供給され、所定に信号処理されて出力される。
The digital audio data read from the
また、RAM104Aから読み出された補助AVデータは、ビデオデータ部分がメモリコントローラ103から再生側ビデオ処理部108を介して補助AV(V)部107に供給される。補助AVデータのビデオデータ部分は、補助AV(V)107で圧縮符号を復号化され、再生側ビデオ処理部108を介して出力される。また、RAM104Aから読み出された補助AVデータのオーディオデータ部は、メモリコントローラ103から補助AV(A)部110に供給される、補助AVデータのオーディオデータ部は、補助AV(A)部で圧縮符号を復号化され、オーディオ処理部109を介して出力される。
The auxiliary AV data read from the
次に、この発明の実施の第1の形態について説明する。この発明では、例えば光ディスク1といった記録媒体に記録されたディジタルビデオデータを読み出した際に、読み出されたデータ位置を含む所定範囲について、フレーム毎の記録位置などを示す情報からなるインデックステーブルを生成し、メモリに記憶する。この記録媒体にアクセスしてデータを再生する、例えばコンピュータ装置といった外部機器に対しては、このメモリに記憶されたインデックステーブルを、記録媒体の記録内容を示す情報として提示する。すなわち、外部機器側では、このインデックステーブルの情報に基づきアクセス対象の記録媒体がインターリーブMXFファイルとして仮想的に示される。
Next, a first embodiment of the present invention will be described. In the present invention, when digital video data recorded on a recording medium such as the
インデックステーブルは、例えばクリップが閉じられるまでメモリに保持され、次に当該インデックステーブルに記述される位置にアクセスされた際に再び用いられる。インデックステーブルに記述される位置に何度もアクセスするような場合に、処理が効率化される。 For example, the index table is held in the memory until the clip is closed, and is used again when the position described in the index table is accessed next time. When the location described in the index table is accessed many times, the processing becomes efficient.
例えば、上述の例でいうと、光ディスク1からデータが読み出され、RAM104Aに書き込まれると、CPU121は、RAM104Aに書き込まれたデータに基づきインターリーブMXFファイルのイメージを作成し、インデックステーブル、各パーティションテーブルなどのテーブル情報をRAM122上に保持する。例えばCPU121は、光ディスク1から読み出されRAM104Aに書き込まれたピクチャポインタテーブルの情報を参照して、これらインデックステーブル、各パーティションテーブルなどのテーブル情報を作成する。
For example, in the above example, when data is read from the
これに限らず、光ディスクからNRT領域のデータだけを読み出してピクチャポインタテーブルを抽出し、ビデオデータなどの再生を行わずに、このピクチャポインタテーブルからインデックステーブルや各パーティションテーブルなどのテーブル情報を作成するようにしてもよい。 Not limited to this, only the data in the NRT area is read from the optical disk to extract the picture pointer table, and the table information such as the index table and each partition table is created from the picture pointer table without reproducing the video data or the like. You may do it.
CPU121は、このRAM122上に保持された情報に基づきRAM104Aに溜め込まれたデータにアクセスする。このようにすることで、例えば、光ディスク1に対して年輪フォーマットで記録されたデータを、通信I/F134や通信I/F126で接続された外部の機器に対して、インターリーブMXFフォーマットのデータとして見せることができる。すなわち、外部機器は、記録再生装置100にマウントされた光ディスク1または記録再生装置100自体を、外部機器に接続されたストレージ装置として扱うことが可能となる。これにより、外部機器は、光ディスク1に記録されたクリップをファイルとして扱うことができるようになる。記録再生装置100におけるこのような動作モードを、ファイルアクセスモードと呼ぶ。
The
以下、この発明の実施の第1の形態について、より詳細に説明する。図14は、この発明の実施の第1の形態によるインターリーブMXFファイルの構築について、概念的に示す。上述したように、光ディスク1上には、クリップを構成する各データ(ビデオデータと1乃至複数チャンネルのオーディオデータとする)が記録されると共に、NRT領域にピクチャポインタテーブルが記録される。光ディスク1が例えば記録再生装置100に装填されると、ピクチャポインタテーブルやファイルシステムなどがシステムに読み込まれ、光ディスク1がシステムにマウントされる。
Hereinafter, the first embodiment of the present invention will be described in more detail. FIG. 14 conceptually shows the construction of an interleaved MXF file according to the first embodiment of the present invention. As described above, each piece of data (video data and one or more channels of audio data) constituting a clip is recorded on the
光ディスク1に記録されたあるクリップのビデオデータに対するアクセスが指示されると、システムに読み込まれたピクチャポインタテーブルに基づき、アクセスが指示されたアドレスに対して所定範囲についてインデックステーブルが作成され、インデックステーブル用のキャッシュメモリに記憶される。それと共に、作成されたインデックステーブルに対応する範囲の、クリップを構成する各データがフレーム毎にインターリーブされ、エディットユニットが作成される。作成されたエディットユニットは、エディットユニット用のキャッシュメモリに記憶される。
When an access to video data of a clip recorded on the
インデックステーブル用キャッシュメモリに記憶されたインデックステーブルと、エディットユニット用キャッシュメモリに記憶されたエディットユニットは、クリップが閉じられるまで保持される。キャッシュメモリに記憶されたインデックステーブルに記述されるエディットユニットに対してアクセスが指示された際には、キャッシュに記憶されたインデックステーブルやエディットユニットを取り出して提示または出力する。このような処理により、インデックステーブルに関する処理が効率化される。 The index table stored in the index table cache memory and the edit unit stored in the edit unit cache memory are held until the clip is closed. When access is instructed to the edit unit described in the index table stored in the cache memory, the index table or edit unit stored in the cache is taken out and presented or output. By such processing, processing related to the index table is made efficient.
図15を用いてより詳細に説明する。光ディスク1は、上述した年輪フォーマットが適用されているものとする。図15Aに一例が示されるように、光ディスク1に記録されたあるクリップに対して、出力フレームが指示されたら、指示された出力フレーム前後の所定範囲について、クリップを構成する各データ(ビデオデータおよびオーディオデータ)が年輪単位で光ディスク1から読み出されると共に、ピクチャポインタ情報が参照され、対応する範囲のパーティションテーブル200およびボディテーブル201が作成される。パーティションテーブル200およびボディテーブル201については、後述する。
This will be described in more detail with reference to FIG. It is assumed that the above-described annual ring format is applied to the
光ディスク1から読み出されたビデオデータおよびオーディオデータは、フレーム単位でインターリーブされ、エディットユニットが作成される。作成されたエディットユニットは、エディットユニット用のキャッシュメモリ202に記憶される(図15B参照)。
Video data and audio data read from the
一方、ピクチャポインタ情報に基づき作成されたパーティションテーブル200およびボディテーブル201から、インデックステーブル203が作成される。作成されたインデックステーブル203は、インデックステーブル用のキャッシュメモリ204に記憶される(図15B参照)。インデックステーブル203は、アクセスされた部分についてのみ、逐次的に作成される。例えば、次にアクセスが指示されたフレームの情報が既に作成されたインデックステーブル203に記述されていなければ、当該フレームに対応して新たなインデックステーブルが作成される。なお、インデックステーブル用のキャッシュメモリ204は、クリップの全てのインデックステーブルを記憶可能な容量が予め確保される。
On the other hand, an index table 203 is created from the partition table 200 and the body table 201 created based on the picture pointer information. The created index table 203 is stored in the index table cache memory 204 (see FIG. 15B). The index table 203 is created sequentially only for the accessed part. For example, if the information of the frame to which access is instructed next is not described in the already created index table 203, a new index table is created corresponding to the frame. The
キャッシュメモリ202および204に記憶されたエディットユニットおよびインデックステーブルにより、出力インターリーブMXFファイル205が形成される。詳細は後述するが、出力インターリーブMXFファイル205は、インデックステーブルに基づきクリップの内容をディレクトリ構造を用いて表現することができるようになっている。
An output interleaved
例えば、ルートディレクトリの下に、クリップを構成する各データの情報が記述されるインデックスファイルが置かれると共に、クリップのデータが格納されるクリップディレクトリが構成される。クリップディレクトリの下には、クリップを構成する各データ毎に一つのファイルとして置かれる。これは、例えば、このインターリーブMXFファイル205をコンピュータ装置に転送した場合に、インターリーブMXFファイル205に格納されるクリップを、コンピュータ装置上で一つのファイルとして扱うことができることを意味する。すなわち、このようにしてインターリーブMXFファイル205を構成することで、光ディスク1上に年輪フォーマットなどで記録されたクリップを、コンピュータ装置で容易に処理可能とすることができる。
For example, an index file in which information of each piece of data constituting a clip is described is placed under the root directory, and a clip directory in which clip data is stored is formed. Under the clip directory, one file is placed for each piece of data constituting the clip. This means that, for example, when the interleaved
上述したパーティションテーブル200およびボディテーブル201について、より具体的に説明する。先ず、図16を用いてボディテーブル201について説明する。図16Aは、図2Bで説明したエッセンスコンテナの構成を示す。ボディテーブル201は、エッセンスコンテナに含まれる各エディットユニットの情報が、コーディングオーダ順に記述される。 The partition table 200 and the body table 201 described above will be described more specifically. First, the body table 201 will be described with reference to FIG. FIG. 16A shows the configuration of the essence container described in FIG. 2B. In the body table 201, information on each edit unit included in the essence container is described in the order of coding order.
各エディットユニットの情報は、最初の1バイトのうち3ビットおよび5ビットのデータ長でテンポラルオフセットおよびキーフレームオフセットがそれぞれ記述され、次にフラグ(図6参照)が1バイトのデータ長で記述される。さらに、エディットユニットに格納されるピクチャのサイズを示すピクチャアイテムサイズが記述され、次に、エディットユニットのエッセンスコンテナに対するオフセットが記述される。この図16の例では、ピクチャアイテムサイズは、256で除した値が2バイトのデータ長で記述され、エディットユニットのエッセンスコンテナに対するオフセットは、256で除した値が4バイトのデータ長で記述される。 In the information of each edit unit, a temporal offset and a key frame offset are described with a data length of 3 bits and 5 bits in the first 1 byte, respectively, and then a flag (see FIG. 6) is described with a data length of 1 byte. The Furthermore, a picture item size indicating the size of the picture stored in the edit unit is described, and then an offset of the edit unit with respect to the essence container is described. In the example of FIG. 16, the picture item size is described with a data length of 2 bytes divided by 256, and the offset to the essence container of the edit unit is described with a data length of 4 bytes divided by 256. The
これらの、ボディテーブル201に記述される各データは、ピクチャポインタテーブルに記述されたデータから求めることができる。例えば、テンポラルオフセットやキーフレームオフセット、フラグは、ピクチャポインタテーブルの並び順(ディスプレイオーダ)、GOPの先頭であるか否かを示すフラグ、ピクチャタイプなどに基づき求めることができる。また、ピクチャアイテムサイズおよびエディットユニットオフセットは、それぞれ、ピクチャポインタテーブルのピクチャサイズおよびピクチャオフセットなどに基づき求めることができる。 Each data described in the body table 201 can be obtained from the data described in the picture pointer table. For example, the temporal offset, the key frame offset, and the flag can be obtained based on the arrangement order (display order) of the picture pointer table, the flag indicating whether or not the head of the GOP is present, the picture type, and the like. Further, the picture item size and the edit unit offset can be obtained based on the picture size and the picture offset of the picture pointer table, respectively.
次に、図17を用いてパーティションテーブル200について説明する。図17Aは、図2Aなどで説明した、インターリーブMXFファイルの全体構成を示す。パーティションテーブル200は、図17Bに一例が示されるように、ボディパーティションパックのオフセット情報が8バイトのデータ長で記述されると共に、ボディパーティションパックにおけるエディットユニットのオフセットが4バイトのデータ長で記述される。 Next, the partition table 200 will be described with reference to FIG. FIG. 17A shows the overall configuration of the interleaved MXF file described in FIG. 2A and the like. In the partition table 200, as shown in FIG. 17B, the offset information of the body partition pack is described with a data length of 8 bytes, and the offset of the edit unit in the body partition pack is described with a data length of 4 bytes. The
この図17Bの例では、パーティションテーブル200の最初の行である第0行目に、インターリーブMXFファイルの最初のボディパーティションパックから始まるボディパーティション#0について、インターリーブMXFファイルの先頭からのオフセットが記述され、当該ボディパーティション#0の最初のエディットユニット#0のオフセットが記述される。なお、インターリーブMXFファイルの先頭からのオフセットは、ヘッダサイズと同一となる。以降、第1行目から、各ボディパーティションのオフセット情報と、ボディパーティションの最初のエディットユニットのオフセットが記述される。最後の第N行目は、インターリーブMXFファイルのフッタ部の先頭に配置されるフッタパーティションパックのオフセットが記述される。
In the example of FIG. 17B, the offset from the beginning of the interleaved MXF file is described in the 0th line, which is the first line of the partition table 200, for
このパーティションテーブル200に記述される各データは、インターリーブMXFファイルの構造に基づき生成される。すなわち、各ボディパーティションパックで区切られるボディパーティションに格納されるエディットユニット数が決定された時点で、上述したボディテーブル201またはピクチャポインタテーブルに記述されたデータに基づき、パーティションテーブル200に記述するデータが決められる。各ボディパーティションに格納されるエディットユニット数は、例えばシステムにより予め設定される。 Each data described in the partition table 200 is generated based on the structure of the interleaved MXF file. That is, when the number of edit units stored in the body partitions delimited by each body partition pack is determined, the data described in the partition table 200 is based on the data described in the body table 201 or the picture pointer table described above. It is decided. The number of edit units stored in each body partition is preset by the system, for example.
ここで、上述のパーティションテーブル200およびボディテーブル201のデータサイズを計算してみる。一例として、1ボディパーティションは、再生時間で略10sec分のクリップを構成するデータが格納されるものとする。フレーム周波数が30Hz(29.97Hz)であれば、1ボディパーティションには、300フレーム分のビデオデータおよびオーディオデータが格納されることになる。また、光ディスク1には、最大で3時間分のクリップが記録可能であるものとする。すなわち、光ディスク1には、最大で1080個のパーティションが形成され、324,000フレームが記録可能である。
Here, the data sizes of the partition table 200 and the body table 201 described above are calculated. As an example, it is assumed that one body partition stores data constituting a clip for approximately 10 seconds in reproduction time. If the frame frequency is 30 Hz (29.97 Hz), 300 frames of video data and audio data are stored in one body partition. In addition, it is assumed that clips of up to 3 hours can be recorded on the
このような条件において、ボディテーブル201は、1エディットユニット毎すなわち1フレームに付き8バイトのデータ長を有するので、324,000フレーム×8バイト=2,592,000バイトのデータ容量となる。また、パーティションテーブル200は、1パーティションに付き12バイトのデータ長を有するので、1080パーティション×12=12,960バイトのデータ容量となる。したがって、光ディスク1に対してインデックステーブル203を作成する際には、作業領域として、2,592,000バイト+12,960バイト=2,604,960バイトを確保する必要があることになる。
Under such conditions, the body table 201 has a data length of 8 bytes per edit unit, that is, one frame, so that the data capacity is 324,000 frames × 8 bytes = 2,592,000 bytes. Since the partition table 200 has a data length of 12 bytes per partition, the data capacity is 1080 partitions × 12 = 12,960 bytes. Therefore, when creating the index table 203 for the
次に、図18〜図25を用いて、インターリーブMXFファイルの作成手順について説明する。図18は、上述の図12を用いて説明した記録再生装置100において、インターリーブMXFファイルの作成に関わりが深い部分を抜き出して示す。なお、図18において、上述の図12と対応する部分には同一の符号を付し、詳細な説明を省略する。インターリーブMXFファイルの作成においては、メモリコントローラ103により光ディスク1からのデータの読み出し、RAM104Aおよび104Bへのアクセスが所定に制御されると共に、メインCPU121により、RAM104Aおよび104Bに書き込まれたデータに基づきインデックステーブルおよびエディットユニットが作成される。作成されたインデックステーブルは、メインCPU121に接続されるRAM122上に記憶される。また、エディットユニットは、RAM104Aに記憶される。
Next, a procedure for creating an interleaved MXF file will be described with reference to FIGS. FIG. 18 shows a part extracted from the recording / reproducing
メインCPU121は、例えば通信I/F126を介して接続されたコンピュータ装置などの外部機器から、光ディスク1に記録されたクリップに対するアクセス要求が供給されると、RAM122に記憶されているインデックステーブルを通信I/F126を介して外部機器に対して提示する。外部機器は、提示されたインデックステーブルに基づきアクセスするエディットユニットを指示する。メインCPU121は、この指示に応じて、インデックステーブルに基づきエディットユニットをRAM104Aから読み出し、通信I/F126を介して当該外部機器に転送する。
When an access request for a clip recorded on the
以降、図18の構成に基づいて、インターリーブMXFファイルの作成過程を順を追って説明する。図19は、インターリーブMXFファイルを作成する一例の手順を示すフローチャートである。また、図20〜図24は、図19のフローチャートに伴うデータの流れを概略的に示す。また、図25は、図19のフローチャートに伴い形成されるインターリーブMXFファイルの様子を概略的に示す。例えば、この図25に示すようにして、インターリーブMXFファイルが通信I/F126を介して転送される。
Hereinafter, the process of creating an interleaved MXF file will be described step by step based on the configuration of FIG. FIG. 19 is a flowchart showing an exemplary procedure for creating an interleaved MXF file. 20 to 24 schematically show the flow of data accompanying the flowchart of FIG. FIG. 25 schematically shows a state of an interleaved MXF file formed in accordance with the flowchart of FIG. For example, as shown in FIG. 25, the interleaved MXF file is transferred via the communication I /
先ず、図19のフローチャートの処理に先立って、光ディスク1が記録再生装置100に装填され、光ディスク1から、ファイルシステムFSが読み出されると共に、NRT領域に記録されているピクチャポインタを含む非時系列メタデータや、NRT領域の次から記録されているクリップのRTメタデータやヘッダおよびフッタ情報などが読み出される。これらのデータが光ディスク1から読み出されることで、光ディスク1が記録再生装置100のシステムにマウントされ、記録再生装置100のシステムが光ディスク1に記録されたクリップデータなどにアクセス可能な状態となる。
First, prior to the processing of the flowchart of FIG. 19, the
このようにして、光ディスク1が記録再生装置100のシステムにマウントされた後、例えば、通信I/F126を介して接続された外部機器から、光ディスク1に記録されたクリップに対してアクセス要求があると、先ず、ピクチャポインタテーブルに基づき、要求されたアクセス位置が検索される。そして、ステップS10で、メインCPU121により、ピクチャポインタテーブルに基づきアクセス要求がなされた位置の前後の所定範囲について、パーティションテーブル200およびボディテーブル201が作成され、RAM122の所定領域に記憶される(図20のSEQ10)。また、ステップS11で、メインCPU121により、RAM122の所定領域に、インデックステーブルおよびボディパーティションパックの雛形が作成される(図20のSEQ11)。
Thus, after the
次のステップS12で、CPU121は、RAM122上に記憶されたパーティションテーブル200およびボディテーブル201に基づき、インデックステーブルのデータとボディパーティションパックのデータとを作成する。作成されたこれらのデータは、ステップS11で作成された雛形に嵌め込まれ(図21のSEQ12)、所定のフォーマットとされてRAM104Aの所定領域に転送され、記憶される(図21のSEQ13)。ここで、RAM104Aの当該所定領域は、インデックステーブル用のキャッシュメモリ204として用いられる。
In the next step S12, the
この段階では、インターリーブMXFファイルは、図25Aに一例が示されるように、RAM104A上に記憶されているヘッダパーティションパックおよびヘッダメタデータ部分のみが転送される。
At this stage, as shown in FIG. 25A, only the header partition pack and header metadata portion stored on the
次のステップS13で、キャッシュメモリ204に記憶されたインデックステーブルおよびボディパーティションパックが、パーティション毎に、RAM122に対して転送される(図22のSEQ14)。転送されたこれらのデータは、RAM122上に所定に設けられたバンクに記憶される。このRAM122上に設けられたバンクは、例えば通信I/F126を介して接続された外部機器に対して、光ディスク1に記録されたクリップをインデックステーブルを用いて仮想的に提示するためのバンクである。ファイルアクセスモードでは、光ディスク1に記録されたクリップを、このRAM122上のバンクを介して外部に提示する。
In the next step S13, the index table and the body partition pack stored in the
次のステップS14で、バンクに記憶されたインデックステーブルが通信I/F126を介して外部機器に送出される(図22のSEQ15)。すなわち、この段階で通信I/F126を介して転送されるインターリーブMXFファイルは、図25Bに一例が示されるように、ヘッダメタデータと、インデックステーブルの一部となる。
In the next step S14, the index table stored in the bank is sent to the external device via the communication I / F 126 (SEQ15 in FIG. 22). In other words, the interleaved MXF file transferred via the communication I /
次のステップS15で、RAM104Aに記憶されたRTメタデータがメインCPU121に読み込まれ(図23のSEQ16)、メインCPU121により1フレーム分のシステムアイテムが生成される。生成されたシステムアイテムは、RAM104Aの所定領域に記憶される(図23のSEQ17)。
In the next step S15, the RT metadata stored in the
次のステップS16で、光ディスク1から、作成されたインデックステーブルに対応するビデオデータおよびオーディオデータが読み込まれる。読み込まれたビデオデータおよびオーディオデータは、RAM104Aの所定領域に、年輪イメージで以て書き込まれる(図23のSEQ18)。ここで、RAM104Aに書き込まれたオーディオデータは、1乃至複数チャンネルのオーディオデータがインターリーブされている。ステップS17で、RAM104A上に書き込まれた、チャンネルでインターリーブされたオーディオデータが、1フレーム単位でRAM104Bに書き込まれる(図23のSEQ19)。
In the next step S16, video data and audio data corresponding to the created index table are read from the
この段階では、通信I/F126を介して転送されるインターリーブMXFファイルは、図25Cに一例が示されるように、ヘッダメタデータと、インデックステーブルの一部である。
At this stage, the interleaved MXF file transferred via the communication I /
次のステップS18で、メインCPU121により、ピクチャポインタテーブルの情報に基づき、RAM104Aからビデオデータおよびシステムアイテムが読み出されると共に、RAM104Bからオーディオデータが読み出される(図24のSEQ20)。読み出されたビデオデータ、システムアイテムおよびオーディオデータは、ステップS18で、RAM122の、ファイルアクセスモードで用いられるバンクを介して、通信I/F126により外部に送出される(図24のSEQ21)。すなわち、ビデオデータおよびオーディオデータは、それぞれインターリーブMXFファイルにおけるピクチャアイテムおよびオーディオアイテムとして、システムアイテムと共に、RAM122のバンク上で1フレーム単位でエディットユニットを構成し、通信I/F126を介して送出される。
In the next step S18, the
すなわち、この段階のインターリーブMXFファイルでは、図25Dに一例が示されるように、ヘッダメタデータおよびインデックステーブルに続けて、エディットユニットがフレーム単位で順次、送出されることになる。 That is, in the interleaved MXF file at this stage, as shown in FIG. 25D, edit units are sequentially transmitted in units of frames following the header metadata and the index table.
以上の、ステップS10〜ステップS18までの処理が、光ディスク1に記録されたデータの読み出し命令に応じて適宜、実行され、インデックステーブルが逐次的に作成される。例えば、図26に一例が示されるフローチャートのように、処理を制御することが考えられる。なお、記録媒体装置100に対して、外部機器としてコンピュータ装置が通信I/F126を介して接続されているものとする。
The above processing from step S10 to step S18 is appropriately executed according to a read command for data recorded on the
図26のフローチャートにおいて、ステップS30で、記録再生装置100に光ディスク1が装填されると、光ディスク1のファイルシステムやNRT領域の非時系列メタデータ、ピクチャポインタテーブルなどが読み込まれ、光ディスク1が記録再生装置100のシステムにマウントされ、例えば光ディスクに記録されたクリップにアクセス可能な状態となる。
In the flowchart of FIG. 26, when the
例えばユーザが、通信I/F126に外部機器として接続されたコンピュータ装置に対して光ディスク1に記録されたあるクリップを、ある位置から再生するような操作を行うと、コンピュータ装置から記録再生装置100に対して、当該クリップをオープンする指示が送出され、メインCPU121に供給される(ステップS31)。クリップの再生位置の指定は、例えばフレームやタイムコードを用いてなされる。また、これらに限らず、例えばジョグダイヤル操作などを用いて再生位置を前後に自在に移動させる、スクラブ再生によりクリップの再生位置を指定することもできる。
For example, when a user performs an operation of playing a clip recorded on the
メインCPU121は、この指示に基づき指定されたフレームに対応するエディットユニットの情報が記述されたインデックステーブルがキャッシュメモリ204上に存在するか否かを判断する(ステップS32)。若し、インデックステーブルがキャッシュメモリ204上に存在すると判断されれば、処理はステップS34に移行される。
Based on this instruction, the
一方、インデックステーブルがキャッシュメモリ204上に存在しないと判断されれば、処理はステップS33に移行される。ステップS33では、上述した図19のフローチャートに一例を示した処理に従い、光ディスク1から所定にデータが読み出され、メインCPU121によりインデックステーブルおよびエッセンスコンテナが作成される。インデックステーブルおよびエッセンスコンテナは、RAM122にキャッシュされる。
On the other hand, if it is determined that the index table does not exist on the
次のステップS34で、インデックステーブルに基づき、再生が指定された位置に対応するエディットユニットがRAM122から読み出される。読み出されたエディットユニットは、通信I/F126を介して外部機器であるコンピュータ装置に転送される。このとき、対応するインデックステーブルも共に転送される。
In the next step S34, the edit unit corresponding to the position designated for reproduction is read from the
ステップS35で、現在アクセス対象とされているクリップがクローズされたか否かが判断される。若し、当該クリップがクローズされたと判断されたら、処理はステップS35に移行され、キャッシュがクリアされ、RAM122に記憶されたインデックステーブルおよびエッセンスコンテナが破棄される。
In step S35, it is determined whether or not the clip currently being accessed is closed. If it is determined that the clip has been closed, the process proceeds to step S35, the cache is cleared, and the index table and essence container stored in the
一方、ステップS35でクリップがクローズされていないと判断されれば、処理はステップS31に戻され、外部機器であるコンピュータ装置から通信I/F126を介して供給される再生指示に応じて、当該クリップの次の再生位置からの再生がなされる。そして、ステップS32で、再生指示された位置に対応するエディットユニットがRAM122にキャッシュされているか否かが判断される。キャッシュされていると判断されれば、RAM122からキャッシュされているデータが読み出され、キャッシュされていないと判断されれば、新たにインデックステーブルおよびエッセンスコンテナが作成され、RAM122に対して追加してキャッシュされる。
On the other hand, if it is determined in step S35 that the clip is not closed, the process returns to step S31, and the clip is received in accordance with a playback instruction supplied from the computer device, which is an external device, via the communication I /
より具体的な例を用いれば、光ディスク1がシステムにマウントされ、最初に再生位置が指定された場合は、RAM122にキャッシュされたデータが存在しないため、ステップS33でインデックステーブルやエッセンスコンテナが作成され、RAM122にキャッシュされる。例えば、図27に概略的に示されるように、再生が指定されたフレームがエディットユニット300に対応するとき、当該エディットユニット300を含むボディパーティション301が作成されると共に、当該ボディパーティション301を管理するためのインデックステーブル302が作成される。当該ボディパーティション301に含まれる、1つ前のボディパーティションを管理するためのインデックステーブルは、実データが格納されている必要はない。
If a more specific example is used, when the
ステップS35でクリップのクローズがなされずに、ステップS31に処理が戻され、再生が指定されたフレームが既にRAM122にキャッシュされているボディパーティション301に含まれるエディットユニット303に対応するフレームであれば、RAM122にキャッシュされたエディットユニット303が読み出され、転送される(ステップS34)。
If the clip is not closed in step S35, the process returns to step S31, and the frame designated for playback is a frame corresponding to the
一方、ステップS35の後のステップS31で、再生が指定されたフレームが図27のエディットユニット304に対応するフレームであれば、当該エディットユニット304が含まれるボディパーティション305は、RAM122にキャッシュされていないため、ステップS33で、当該ボディパーティション305に含まれるエディットユニットおよび当該ボディパーティション305を管理するためのインデックステーブルが新たに作成され(ステップS33)、RAM122に追加してキャッシュされる。
On the other hand, if the frame designated for reproduction in step S31 after step S35 is a frame corresponding to the
図28は、上述したインターリーブMXFファイルの作成の際の各データの生成を纏めて示す。光ディスク1における記録フォーマットに対応したファイルマネージャ(FM)により、ピクチャポインタが生成される。ピクチャポインタは、ディプレイオーダで並べられ、ピクチャアイテムのみからなる。メタデータ(Meta)により、ファイルオープン時にヘッダ、ならびに、ボディパーティションパックおよびインデックステーブルの雛形がそれぞれ生成される。メタデータは、例えば光ディスク1のNRT領域に記録される非時系列メタデータである。また、ファイルオープン時に、インターリーブMXFファイルに対応したMXFファイルマネージャ(MXFM)により、ピクチャポインタに基づきボディテーブルおよびパーティションテーブルが生成される。ボディテーブルは、コーディングオーダで並べられ、ピクチャ、オーディオなど全てのアイテムを含む。
FIG. 28 collectively shows generation of each data when the above-described interleaved MXF file is created. A picture pointer is generated by a file manager (FM) corresponding to the recording format in the
MXFファイルマネージャにより、パーティションテーブルのボディパーティションオフセットに基づきボディパーティションパックの雛形からボディパーティションパックが生成される。ボディパーティションパックは、MXFファイルマネージャにより、パーティション単位で更新される。また、MXFファイルマネージャにより、パーティションテーブルのボディパーティションオフセット、ならびに、ボディテーブルのテンポラルオフセット、キーフレームオフセット、フラグ、ストリームオフセットおよびスライスオフセットに基づき、インデックステーブルの雛形からインデックステーブルが生成される。インデックステーブルは、パーティション単位およびフレーム単位で更新される。なお、ストリームオフセットは、ボディテーブルのエディットユニットオフセットに基づく。また、スライスオフセットは、ボディテーブルのピクチャアイテムサイズに基づく。 The MXF file manager generates a body partition pack from the body partition pack template based on the body partition offset of the partition table. The body partition pack is updated in units of partitions by the MXF file manager. Further, the MXF file manager generates an index table from the index table template based on the body partition offset of the partition table and the temporal offset, key frame offset, flag, stream offset, and slice offset of the body table. The index table is updated in units of partitions and frames. The stream offset is based on the edit unit offset of the body table. The slice offset is based on the picture item size in the body table.
さらに、MXFファイルマネージャにより、パーティションテーブルの全てのパーティション情報に基づきランダムインデックスパック(RIP:Random Index Pack)が生成される。 Furthermore, a random index pack (RIP) is generated by the MXF file manager based on all pieces of partition information in the partition table.
図29を用いて、上述のようにして作成されるインターリーブMXFファイルの、通信I/F126を介して接続される外部機器に対する提示方法について説明する。図29は、光ディスク1に記録されたデータの一例の管理構造を示す。既に説明したように、光ディスク1上のデータは、ファイルシステムによりディレクトリ構造で管理される。この図29の例では、図示されないルートディレクトリの直下にディレクトリPROAVが設けられ、このディレクトリPROAV以下に、光ディスク1に記録されるクリップデータなどが定義される。
A method for presenting an interleaved MXF file created as described above to an external device connected via the communication I /
一例として、ディレクトリPROAVの直下には、ファイル「INDEX.XML」およびファイル「DISCINFO.XML」が置かれると共に、ディレクトリCLPRが設けられる。 As an example, a file “INDEX.XML” and a file “DISCINFO.XML” are placed immediately below the directory PROAV, and a directory CLPR is provided.
ディレクトリCLPRは、クリップデータを管理する。ここでいうクリップは、例えば撮影が開始されてから停止されるまでの、ひとまとまりのデータであるクリップデータは、上述した本線系のオーディオデータおよびビデオデータと、当該オーディオデータおよびビデオデータから生成された補助AVデータと、当該オーディオデータおよびビデオデータに対応した時系列メタデータと非時系列メタデータとからなる。ディレクトリCLPRの直下に設けられたディレクトリ「C0001」、「C0002」、・・・には、クリップ毎に、クリップを構成するひとまとまりのデータが格納される。 The directory CLPR manages clip data. For example, the clip here is a set of clip data from when shooting is started to when it is stopped. The clip data is generated from the above-mentioned main line audio data and video data, and the audio data and video data. Auxiliary AV data, time series metadata corresponding to the audio data and video data, and non-time series metadata. In the directories “C0001”, “C0002”,... Provided immediately below the directory CLPR, a group of data constituting the clip is stored for each clip.
すなわち、これらクリップ毎の各ディレクトリ「C0001」、「C0002」、・・・がそれぞれ1つのインターリーブMXFファイルに対応すると考えることができる。 That is, it can be considered that each directory “C0001”, “C0002”,... For each clip corresponds to one interleaved MXF file.
ディレクトリCLPRの直下に設けられた、一つのクリップ「C0001」に対応するディレクトリ「C0001」に対して、クリップを構成するデータのそれぞれがファイル名により区別されて格納される。この図29の例では、ファイル名は、12桁で構成され、デリミタ「.」より前の8桁のうち、前側5桁がクリップを識別するために用いられ、デリミタ直前の3桁は、オーディオデータ、ビデオデータ、補助AVデータといった、データのタイプを示すために用いられている。また、デリミタ後の3桁は拡張子であって、データの形式を示している。
With respect to the directory “C0001” corresponding to one clip “C0001” provided immediately below the directory CLPR, each data constituting the clip is stored by being distinguished by a file name. In the example of FIG. 29, the file name is composed of 12 digits, and among the 8 digits before the delimiter “.”, The
より具体的には、この図29の例では、クリップ「C0001」を構成するひとまとまりのファイルとして、クリップ情報を示すクリップインフォメーションファイル「C0001C01.SMI」、本線系ビデオデータファイル「C0001V01.MXF」、本線系の例えば8ch分のオーディオデータファイル「C0001A01.MXF」〜「C0001A08.MXF」、補助AVデータファイル「C0001S01.MXF」、非時系列メタデータファイル「C0001M01.XML」、時系列メタデータファイル「C0001R01.BIM」およびポインタ情報(ピクチャポインタ)ファイル「C0001I01.PPN」が、クリップディレクトリ「C0001」に格納される。 More specifically, in the example of FIG. 29, as a group of files constituting the clip “C0001”, a clip information file “C0001C01.SMI” indicating clip information, a main video data file “C0001V01.MXF”, For example, audio data files “C0001A01.MXF” to “C0001A08.MXF” for 8 channels of the main line system, auxiliary AV data file “C0001S01.MXF”, non-time series metadata file “C0001M01.XML”, time series metadata file “ “C0001R01.BIM” and pointer information (picture pointer) file “C0001I01.PPN” are stored in the clip directory “C0001”.
これらの、ディレクトリCLPRの情報、すなわち、ディレクトリCLPR以下に置かれるクリップを構成する各ファイルの情報は、上述のインデックステーブルに記述された情報に基づき知ることができる。例えば、インデックステーブル内のデルタエントリアレイおよびインデックスエントリアレイなどの情報に基づき、クリップを構成するシステムデータ、ビデオデータおよびオーディオデータの情報を知ることができ、この情報に基づき、ディレクトリCLPR以下の各ファイルのファイルサイズを得ることができる。なお、ファイル名は、システムにより所定の規則に従い自動的に付与することができる。 Information on the directory CLPR, that is, information on each file constituting a clip placed under the directory CLPR can be found based on the information described in the index table. For example, based on information such as the delta entry array and index entry array in the index table, the system data, video data, and audio data information constituting the clip can be known. Based on this information, each file under the directory CLPR File size can be obtained. The file name can be automatically assigned by the system according to a predetermined rule.
ディレクトリPROAV直下に置かれるファイル「INDEX.XML」は、ディレクトリPROAV以下に格納されたクリップ情報を管理するインデックスファイルである。この例では、ファイル「INDEX.XML」は、XML(Extensible Markup Language)形式で記述される。このファイル「INDEX.XML」により、上述した各クリップなどが管理される。例えば、ファイル名とUMID(Unique Material Identifier)の変換テーブル、長さ情報(Duration)、当該光ディスク1全体を再生する際の再生順などが管理される。また、各クリップに属するビデオデータ、オーディオデータ、補助AVデータなどが管理されると共に、クリップディレクトリ内にファイルで管理されるクリップ情報が管理される。ディスクインフォメーションファイル「DISCINFO.XML」は、このディスクに関する情報が管理される。再生位置情報なども、このファイル「DISCINFO.XML」に保存される。これらファイル「DISCINFO.XML」に記述される情報も、上述のインデックステーブルに基づき得ることができる。
A file “INDEX.XML” placed directly under the directory PROAV is an index file for managing clip information stored under the directory PROAV. In this example, the file “INDEX.XML” is described in an XML (Extensible Markup Language) format. Each file described above is managed by this file “INDEX.XML”. For example, a file name and a UMID (Unique Material Identifier) conversion table, length information (Duration), a playback order when the entire
このように管理された光ディスク1上のデータに対して、通信I/F126を介して接続されたコンピュータ装置といった外部機器は、例えば、上述のディレクトリ構造に基づきディレクトリの各階層を所定のデリミタで区切ってファイルを指定することで、ファイルに対応付けられているデータに対するアクセスを記録再生装置100に要求することができる。
For the data on the
このとき、外部機器は、ディレクトリ構造を様々な形式で表示等を行うことができる。例えば、上述した図29のツリー構造でディレクトリ構造を表現することができる。これに限らず、コンピュータ装置のOS(Operating System)によるGUI(Graphical User Interface)で用いられる、フォルダ構造を用いてクリップ構造を提示することもできる。 At this time, the external device can display the directory structure in various formats. For example, the directory structure can be expressed by the tree structure shown in FIG. However, the present invention is not limited to this, and a clip structure can also be presented using a folder structure used in a GUI (Graphical User Interface) by an OS (Operating System) of a computer apparatus.
このように、ディレクトリ構造でクリップを管理することで、例えば通信I/F126を介して接続されたコンピュータ装置などの外部機器において、クリップおよびクリップを構成する各データを一つのファイルとして扱うことができ、クリップおよびクリップを構成する各データに対する操作が容易とされる。
As described above, by managing the clips in the directory structure, for example, in an external device such as a computer device connected via the communication I /
既に説明したように、記録再生装置100は、外部との通信手段として、通信I/F126の他に、TCP/IPによる通信が可能な通信I/F134を有している。上述のインターリーブMXFファイルの提示方法は、この通信I/F134を介して接続された外部機器に対しても、同様にして適用できる。
As already described, the recording / reproducing
上述のように、この発明の実施の第1の形態によれば、光ディスク1へのアクセスに対して、クリップ内のフレーム位置情報が記述されたインデックステーブルを逐次的に作成してキャッシュし、例えば外部の機器には、光ディスク1上の情報をキャッシュされたインデックステーブルを用いて仮想的に提示するようにしている。そして、アクセスが既に作成されたインデックステーブルに含まれる部分に対してなされたものであれば、既に作成されキャッシュされたインデックステーブルを提示するようにしている。
As described above, according to the first embodiment of the present invention, an index table in which frame position information in a clip is described is sequentially created and cached for access to the
そのため、外部の機器は、既にインデックステーブルが作成された部分に対するアクセスであれば、光ディスク1に記録されるクリップ内のフレームに対するランダムアクセスを高速に行うことができる。また、キャッシュされたインデックステーブルは、クリップがクローズされるまで保持されるため、インデックステーブルに基づく処理を効率的に行うことができる。
Therefore, an external device can perform random access to a frame in a clip recorded on the
次に、この発明の実施の第2の形態について説明する。この実施の第2の形態は、この発明によるインデックステーブルの作成方法を、インターリーブMXFファイルに基づきデータを部分的に転送する際に適用した例である。 Next, a second embodiment of the present invention will be described. The second embodiment is an example in which the index table creation method according to the present invention is applied when data is partially transferred based on an interleaved MXF file.
実施の第2の形態の説明に先んじて、理解を容易とするために、インターリーブMXFファイルに基づくデータの部分転送について説明する。先ず、ファイルから部分転送するビデオデータを抽出する処理について説明する。図30および図31を用いて、この発明の実施の一形態によるファイルの部分転送処理について、概略的に説明する。図30Aに一例が示されるファイル400に対して、ディスプレイオーダで先頭フレームから指定フレーム数だけ表示するように、ファイルの部分転送を行う場合について考える。図31は、部分転送ファイルを作成する一例の処理を概略的に示すフローチャートである。
Prior to the description of the second embodiment, partial transfer of data based on an interleaved MXF file will be described in order to facilitate understanding. First, processing for extracting video data to be partially transferred from a file will be described. A partial file transfer process according to an embodiment of the present invention will be schematically described with reference to FIGS. 30 and 31. FIG. Consider the case where partial transfer of a
なお、以下では、この表示開始フレームから開始される表示の長さを示すフレーム数を、デュレーション(Duration)と呼ぶ。また、表示開始フレームおよびデュレーションで指定されるフレーム区間を、指定表示区間と呼ぶ。 In the following, the number of frames indicating the display length starting from the display start frame is referred to as duration. Further, the frame section designated by the display start frame and the duration is referred to as a designated display section.
ステップS40で、図30Aに示されるファイル400に対して、表示開始フレーム401と、表示開始フレーム401に対するデュレーションとを指定して、指定表示区間を設定する。表示開始フレーム401に対してデュレーションで指定されるフレーム数分、先のフレームが表示終了フレーム402となる。指定表示区間が設定されると、次のステップS41で、部分転送を行うために必要な区間が決められる。
In step S40, the
図30Bは、図30Aに示されるファイル400に対して指定表示区間を指定して生成される部分転送ファイルの例を示す。指定表示区間に対して、当該指定表示区間のフレームを復号化するために必要なフレーム(ピクチャ)を含む全てのエディットユニットを、部分転送ファイル内に含める。例えば、指定された先頭フレーム401がBピクチャやPピクチャによるフレームであれば、当該フレームを復号化するために、時間的に前のフレームが必要とされる。この場合、指定された表示開始フレーム401に対応するピクチャよりも時間的に前のピクチャを含むエディットユニットを、部分転送ファイルに含める必要がある。同様に、終了フレーム402がBピクチャによるフレームであれば、当該フレームに対応するピクチャよりも時間的に後のピクチャを含むエディットユニットを部分転送ファイルに含める必要がある。
FIG. 30B shows an example of a partial transfer file generated by designating a designated display section for the
なお、指定表示区間のフレームをデコードするために用いるピクチャを含むエディットユニットからなる、指定表示区間より前の区間を、GOPプリチャージ区間と呼ぶ。また、指定表示区間のフレームをデコードするために用いるピクチャを含むエディットユニットからなる、指定表示区間より後の区間を、GOPオーバーラン区間と呼ぶ。この発明の実施の一形態では、これら指定表示区間に対するGOPプリチャージ区間およびGOPオーバーラン区間を含めて、部分転送ファイルを作成する。 Note that a section before the designated display section, which is composed of edit units including pictures used for decoding the frames in the designated display section, is called a GOP precharge section. Further, a section after the designated display section, which is composed of edit units including pictures used for decoding the frames in the designated display section, is referred to as a GOP overrun section. In one embodiment of the present invention, a partial transfer file is created including the GOP precharge interval and the GOP overrun interval for these designated display intervals.
このように、部分転送ファイルによって転送すべきエディットユニットが決定されたら、ステップS42で、決定内容に応じてインデックステーブルが更新される。例えば、詳細は後述するが、インデックステーブル内のインデックスエントリアレイ中の各エディットユニット毎の情報におけるストリームオフセットが書き換えられる。また、必要に応じて、インデックステーブル内のインデックススタートポジションおよびインデックスデュレーションが書き換えられる。さらに、次のステップS43で、指定された先頭フレーム401およびデュレーションの部分転送ファイル内における値が、ヘッダ403中に、ヘッダメタデータとして記述される。
Thus, when the edit unit to be transferred by the partial transfer file is determined, the index table is updated in accordance with the determined content in step S42. For example, as will be described in detail later, the stream offset in the information for each edit unit in the index entry array in the index table is rewritten. Further, the index start position and index duration in the index table are rewritten as necessary. Further, in the next step S43, the values in the partial transfer file of the designated
ステップS41により決定された部分転送区間と、ステップS42で作成されたインデックステーブルと、ステップS43で作成されたヘッダメタデータとにより、ステップS44で、部分転送ファイルが作成される。 A partial transfer file is created in step S44 based on the partial transfer section determined in step S41, the index table created in step S42, and the header metadata created in step S43.
例えば、ステップS41で決定された部分転送区間のビデオデータを元のファイルから読み出し、メモリ上の所定アドレスに記憶する。ステップS42およびステップS43でそれぞれ作成されたインデックステーブルおよびヘッダメタデータを、既にメモリ上に記憶されている部分転送区間のビデオデータと共に部分転送ファイルのイメージを形成するように、メモリ上に記憶する。 For example, the video data of the partial transfer section determined in step S41 is read from the original file and stored at a predetermined address on the memory. The index table and header metadata created in steps S42 and S43, respectively, are stored on the memory so as to form an image of the partial transfer file together with the video data of the partial transfer section already stored on the memory.
なお、上述した図31のフローチャートにおいて、ステップS42およびステップS43の順序は、入れ替えることが可能である。ステップS42およびステップS43の処理を並列的に行ってもよい。 In the flowchart of FIG. 31 described above, the order of step S42 and step S43 can be interchanged. You may perform the process of step S42 and step S43 in parallel.
次に、上述した図31のフローチャートにおけるステップS41の処理について、図32のフローチャートを用いてより詳細に説明する。ステップS50で、ディスプレイオーダで以てフレームが指定されると、次のステップS51でインデックステーブル中の、指定されたフレームのディスプレイオーダに対応するコーディングオーダのインデックスエントリが参照され、当該インデックスエントリに記述されるテンポラルオフセットが取得される。 Next, the process of step S41 in the flowchart of FIG. 31 described above will be described in more detail using the flowchart of FIG. In step S50, when a frame is designated by the display order, in the next step S51, the index entry of the coding order corresponding to the display order of the designated frame in the index table is referred to and described in the index entry. The temporal offset to be obtained is obtained.
次のステップS52で、ステップS51で取得されたテンポラルオフセットに示される値だけ、参照するインデックスエントリを移動する。指定表示区間の表示終了フレームを復号化するために必要なエディットユニットを求める場合には(ステップS53)、このステップS52で移動された移動先のインデックスエントリに対応するエディットユニットが、求めるエディットユニットとなる(ステップS54)。 In the next step S52, the index entry to be referred to is moved by the value indicated by the temporal offset acquired in step S51. When obtaining an edit unit necessary for decoding the display end frame of the designated display section (step S53), the edit unit corresponding to the index entry of the movement destination moved in step S52 is the edit unit to be obtained. (Step S54).
一方、指定表示区間の表示開始フレームを復号化するために必要なエディットユニットを求める場合には(ステップS53)、処理はステップS55に移行され、ステップS52で移動された移動先のインデックスエントリで、キーフレームオフセットを取得する。そして、次のステップS56で、取得されたキーフレームオフセットに示される値だけ、参照するインデックスエントリを移動し、移動先のインデックスエントリに対応するエディットユニットを、ステップS50で指定された指定表示区間の表示開始フレームを復号化するために必要な先頭のエディットユニットとする(ステップS57)。 On the other hand, when an edit unit necessary for decoding the display start frame of the designated display section is obtained (step S53), the process proceeds to step S55, and the index entry of the movement destination moved in step S52, Get keyframe offset. Then, in the next step S56, the index entry to be referred to is moved by the value indicated by the acquired key frame offset, and the edit unit corresponding to the destination index entry is moved to the designated display section designated in step S50. The first editing unit necessary for decoding the display start frame is set (step S57).
より具体的な例を、図33〜図36を用いて説明する。図33および図34は、オープンGOP構造のビデオデータについて、部分転送ファイルに格納するエディットユニットを求める例を示す。ディスプレイオーダおよびコーディングオーダは、番号#0から開始され、図33から図34にかけて連続しているものとする。
A more specific example will be described with reference to FIGS. FIGS. 33 and 34 show an example in which an edit unit to be stored in a partial transfer file is obtained for video data having an open GOP structure. It is assumed that the display order and the coding order are started from the
図33は、オープンGOP構造のビデオデータにおいて、表示開始フレームを復号化するために必要なエディットユニットを求める例である。この図33の例では、表示開始フレームを、オープンGOP構造のGOPに含まれるフレーム「B」#7に指定している。このフレーム「B」#7は、オープンGOP構造においては、復号化の際に、自身が属するGOPに対して1つ前のGOPに属するフレームが必要とされる。なお、オープンGOP構造であっても、全体の先頭のGOPは、図33に示されるように、必ずクローズドGOPの構造となる。 FIG. 33 shows an example of obtaining an edit unit necessary for decoding a display start frame in video data having an open GOP structure. In the example of FIG. 33, the display start frame is designated as frame “B” # 7 included in the GOP having the open GOP structure. In the open GOP structure, this frame “B” # 7 requires a frame belonging to the previous GOP with respect to the GOP to which the frame “B” # 7 belongs. Even in the open GOP structure, the top GOP of the whole is always a closed GOP structure as shown in FIG.
表示開始フレームを、オープンGOP構造のGOPに含まれるフレーム「B」#7に指定した場合、当該フレーム「B」#7のディスプレイオーダに対応するコーディングオーダ#7のインデックスエントリが参照され、テンポラルオフセットの値"+1"が取得される。そして、このテンポラルオフセット値"+1"だけインデックスエントリを移動し、移動先である、コーディングオーダ#8に対応するインデックスエントリのキーフレームオフセット値"−8"が取得される。このコーディングオーダ#8に対応するインデックスエントリから、キーフレームオフセット値"−8"だけ移動したインデックスエントリに示される、コーディングオーダ#0に対応するエディットユニット#0が、開始フレームを復号化するために必要な先頭のエディットユニットとなる。
When the display start frame is designated to the frame “B” # 7 included in the GOP having the open GOP structure, the index entry of the
図34は、オープンGOP構造のビデオデータにおいて、表示終了フレームを復号化するために必要なエディットユニットを求める例である。この図34の例では、表示終了フレームがフレーム「B」#19とされている。終了フレームであるフレーム「B」#19のディスプレイオーダに対応するコーディングオーダ#18のインデックスエントリが参照され、テンポラルオフセットの値"+1"が取得される。そして、このテンポラルオフセット値"+1"だけインデックスエントリを移動し、移動先であるインデックスエントリに示される、コーディングオーダ#20に対応するエディットユニット#20が、終了フレームを復号化するために必要なエディットユニットとなる。
FIG. 34 is an example of obtaining an edit unit necessary for decoding a display end frame in video data having an open GOP structure. In the example of FIG. 34, the display end frame is frame “B” # 19. The index entry of
図35および図36は、クローズドGOP構造のビデオデータについて、部分転送ファイルに格納するエディットユニットを求める例を示す。ディスプレイオーダおよびコーディングオーダは、番号#0から開始され、図35から図36にかけて連続しているものとする。
FIGS. 35 and 36 show an example in which edit units to be stored in a partial transfer file are obtained for video data having a closed GOP structure. The display order and the coding order are assumed to start from the
図35は、クローズドGOP構造のビデオデータにおいて、表示開始フレームを復号化するために必要なエディットユニットを求める例である。この図35の例では、表示開始フレームをフレーム「B」#7に指定している。クローズドGOP構造の場合には、ディスプレイオーダで最初のフレーム「I」の前に位置するフレーム「B」は、前方参照が行われず、フレーム「B」の後に位置するフレーム「I」のみによる後方参照で、復号化がなされる。 FIG. 35 is an example of obtaining an edit unit necessary for decoding a display start frame in video data having a closed GOP structure. In the example of FIG. 35, the display start frame is designated as frame “B” # 7. In the case of the closed GOP structure, the frame “B” positioned before the first frame “I” in the display order is not forward-referenced, and is only backward-referenced by the frame “I” positioned after the frame “B”. Thus, decryption is performed.
表示開始フレームをフレーム「B」#7に指定した場合、当該フレーム「B」#7のディスプレイオーダに対応するコーディングオーダのインデックスエントリが参照され、テンポラルオフセット値"+1"が取得される。そして、このテンポラルオフセット値"+1"だけインデックスエントリを移動し、移動先である、コーディングオーダ#8に対応するキーフレームオフセット値"−2"が取得される。このコーディングオーダ#8に対応するインデックスエントリから、キーフレームオフセット値"−2"だけ移動したインデックスエントリに示される、コーディングオーダ#6に対応するエディットユニット#6が、開始フレームを復号化するために必要な先頭のエディットユニットとなる。
When the display start frame is designated as the frame “B” # 7, the index entry of the coding order corresponding to the display order of the frame “B” # 7 is referred to, and the temporal offset value “+1” is acquired. Then, the index entry is moved by this temporal offset value “+1”, and the key frame offset value “−2” corresponding to the
図36は、クローズドGOP構造のビデオデータにおいて、表示終了フレームを復号化するために必要なエディットユニットを求める例である。この図36の例では、表示終了フレームがフレーム「B」#19とされている。終了フレームであるフレーム「B」#19のディスプレイオーダに対応するコーディングオーダ#18のインデックスエントリが参照され、テンポラルオフセットの値"+1"が取得される。そして、このテンポラルオフセット値"+1"だけインデックスエントリを移動し、移動先であるインデックスエントリに示される、コーディングオーダ#20に対応するエディットユニット#20が、終了フレームを復号化するために必要なエディットユニットとなる。このように、表示終了フレームに関しては、オープンGOP構造とクローズドGOP構造とで同一の結果が得られる。
FIG. 36 shows an example of obtaining an edit unit necessary for decoding a display end frame in video data having a closed GOP structure. In the example of FIG. 36, the display end frame is frame “B” # 19. The index entry of
上述のようにして表示開始フレームを復号化するために必要なエディットユニットと、終了フレームを復号化するために必要なエディットユニットとが求められると、これらのエディットユニットが属するGOPの情報がそれぞれ取得される。そして、表示開始フレームを復号化するために必要なエディットユニットが属するGOPから、表示終了フレームを復号化するために必要なエディットユニットが属するGOPまでを、元のファイルからGOP単位で取り出して、部分転送ファイルを作成する。 When the edit unit necessary for decoding the display start frame and the edit unit necessary for decoding the end frame are obtained as described above, information on GOPs to which these edit units belong is acquired. Is done. Then, from the GOP to which the edit unit necessary for decoding the display start frame belongs to the GOP to which the edit unit necessary for decoding the display end frame belongs is extracted from the original file in GOP units, Create a transfer file.
例えば、オープンGOP構造における表示開始フレーム側を示す図33の例では、表示開始フレームを先頭から2番目のGOPに属するフレーム「B」#7とした場合、上述したように、復号化に必要な先頭のエディットユニットは、当該フレーム「B」#7が属するGOPの1つ前のGOPにおけるフレーム「I」#2となる。フレーム「B」#7は、このフレーム「I」#2を用いて復号化されたフレーム「P」#5と、フレーム「B」#7が属するGOPのフレーム「I」#8とを用いて復号化される。したがって、フレーム「B」#7が属するGOPの1つ前のGOPにおけるBピクチャによるフレームは、実際には不要である。 For example, in the example of FIG. 33 showing the display start frame side in the open GOP structure, if the display start frame is the frame “B” # 7 belonging to the second GOP from the top, as described above, it is necessary for decoding. The first editing unit is the frame “I” # 2 in the GOP immediately before the GOP to which the frame “B” # 7 belongs. The frame “B” # 7 uses the frame “P” # 5 decoded using the frame “I” # 2 and the frame “I” # 8 of the GOP to which the frame “B” # 7 belongs. Decrypted. Therefore, the frame by the B picture in the GOP immediately before the GOP to which the frame “B” # 7 belongs is actually unnecessary.
ここで、表示開始フレーム側において、この不要なBピクチャも含めて、GOP単位で部分転送ファイルに格納する。 Here, on the display start frame side, this unnecessary B picture is also stored in the partial transfer file in GOP units.
また、表示終了フレーム側を示す図34の例において、例えば表示終了フレームを、対応するIピクチャのみで復号化が可能なフレーム「I」#20に指定したとする。この場合、上述した図32のフローチャートの処理によれば、表示終了フレームを復号化するために必要なエディットユニットは、対応するIピクチャのデータが格納されるエディットユニットである、コーディングオーダ#18に対応するエディットユニット#18となる。しかしながら、ディスプレイオーダでフレーム「I」#20の前に、同じGOP内のフレーム「B」#18およびフレーム「B」#19が存在するため、コーディングオーダにおいてフレーム「I」#20(コーディングオーダで18番目)の後に位置する、これらフレーム「B」#18およびフレーム「B」#19(コーディングオーダでそれぞれ19番目および20番目)も共に復号化する必要がある。これは、表示終了フレームが後方参照を必要としないPピクチャによるフレーム「P」である場合にも同様である。
Further, in the example of FIG. 34 showing the display end frame side, for example, it is assumed that the display end frame is designated as a frame “I” # 20 that can be decoded only with the corresponding I picture. In this case, according to the processing of the flowchart of FIG. 32 described above, the editing unit necessary for decoding the display end frame is the
上述のように、GOP単位でデータを取り出して部分転送ファイルを作成するため、表示終了フレーム側における、ディスプレイオーダとコーディングオーダとでIピクチャまたはPピクチャと順番が入れ替わるBピクチャも含めて、部分転送ファイルに格納することができる。 As described above, in order to create a partial transfer file by extracting data in units of GOPs, partial transfer including B pictures in which the order of I picture or P picture is switched between display order and coding order on the display end frame side Can be stored in a file.
なお、これに限らず、元のファイルからビデオデータをピクチャ単位で取り出し、取り出されたピクチャにより部分転送ファイルを作成することもできる。この場合には、上述した表示開始フレーム側で不要になるBピクチャが格納されたエディットユニットの除去や、表示終了フレーム側における、IピクチャまたはPピクチャとディスプレイオーダおよびコーディングオーダで順序が入れ替わるBピクチャが格納されたエディットユニットの追加などを、適宜、行う必要がある。 However, the present invention is not limited to this, and video data can be extracted from the original file in units of pictures, and a partial transfer file can be created using the extracted pictures. In this case, the edit unit storing the B picture that is unnecessary on the display start frame side is removed, or the B picture whose order is switched between the I picture or P picture, the display order, and the coding order on the display end frame side. It is necessary to appropriately add an edit unit in which is stored.
次に、上述した図31のフローチャートにおけるステップS42の、インデックステーブルの更新処理について、より詳細に説明する。インデックステーブル内のインデックスエントリアレイ中の各インデックスエントリにおいて、フラグは、各エディットユニット毎に固有の値であるので、不変である。スライスオフセットも、部分転送ファイルは、デコードおよび再エンコード処理を介さないで作成され、エディットユニットに格納されるピクチャのデータには変化がないので、不変である。また、テンポラルオフセットおよびキーフレームオフセットは、部分転送ファイルにGOP単位でデータを格納する場合、不変である。 Next, the index table update processing in step S42 in the flowchart of FIG. 31 described above will be described in more detail. In each index entry in the index entry array in the index table, since the flag is a unique value for each edit unit, it is unchanged. The slice offset is also unchanged because the partial transfer file is created without the decoding and re-encoding process, and the picture data stored in the edit unit does not change. The temporal offset and key frame offset are unchanged when data is stored in GOP units in the partial transfer file.
ストリームオフセットは、部分転送ファイルに格納されるエッセンスコンテナストリームの構造に応じて、各インデックスエントリ毎に更新される。すなわち、部分転送を行うGOPの先頭を基準として、各エディットユニットのオフセットが求められ、新たなストリームオフセットの値とされる。 The stream offset is updated for each index entry according to the structure of the essence container stream stored in the partial transfer file. That is, the offset of each edit unit is obtained with reference to the head of the GOP that performs partial transfer, and is set as a new stream offset value.
インデックステーブルにおけるインデックススタートポジションは、部分転送ファイルにおいて、元のファイルに対して当該インデックステーブルより前に存在するエディットユニット数が変化した場合、当該エディットユニット数に応じて、更新される。 In the partial transfer file, the index start position in the index table is updated according to the number of edit units when the number of edit units existing before the index table changes with respect to the original file.
例えば、元のファイルから、あるインデックステーブルが管理する領域を含む後ろ側が取り出されて部分転送ファイルに格納され、当該インデックステーブルが管理する領域より前の領域が部分転送ファイルに含まれないような場合、エディットユニット番号が変更される。このような場合に、変更されたエディットユニット番号に応じてインデックススタートポジションが更新される。 For example, when the back side including the area managed by an index table is extracted from the original file and stored in the partial transfer file, and the area before the area managed by the index table is not included in the partial transfer file The edit unit number is changed. In such a case, the index start position is updated according to the changed edit unit number.
また、インデックスデュレーションは、当該インデックステーブルで管理するエディットユニット数に変化が生じた場合、当該エディットユニット数に応じて更新される。例えば、あるインデックステーブルが管理する領域の途中から、エディットユニットが取り出されて部分転送ファイルに格納される場合、当該インデックステーブルが管理するエディットユニット数が変化する。このような場合に、当該インデックステーブルが管理するエディット数を示すように、当該インデックステーブル内のインデックスデュレーションが更新される。 The index duration is updated according to the number of edit units when a change occurs in the number of edit units managed in the index table. For example, when an edit unit is extracted from the middle of an area managed by an index table and stored in a partial transfer file, the number of edit units managed by the index table changes. In such a case, the index duration in the index table is updated so as to indicate the number of edits managed by the index table.
次に、上述した図31のフローチャートにおけるステップS43の、ヘッダメタデータの更新処理について、より詳細に説明する。上述したように、ヘッダ403中に、ヘッダメタデータとして、表示開始フレームおよびデュレーションが記述される。表示開始フレームは、部分転送ファイル内におけるディスプレイオーダで以て記述される。
Next, the header metadata update process in step S43 in the flowchart of FIG. 31 described above will be described in more detail. As described above, in the
上述した図33を用いて、ヘッダメタデータに表示開始フレームおよびデュレーションを記述しておくことの効果について説明する。既に説明したように、図33の例では、オープンGOP構造において、表示開始フレームをディスプレイオーダでGOPの先頭のフレーム「B」#7に指定した際に、当該フレーム「B」#7が属するGOPの1つ前のGOPのフレーム「I」#2が、表示開始フレーム「B」#7を復号化するために必要な先頭のフレームとされている。このフレーム「I」#2は、コーディングオーダでは、GOPの先頭のエディットユニットに対応する。また、部分転送ファイルには、GOP単位でデータが格納されるので、この例では、表示開始フレーム「B」#7が属するGOPの1つ前のGOPから、部分転送ファイルに格納されることになる。 The effect of describing the display start frame and duration in the header metadata will be described using FIG. 33 described above. As already described, in the example of FIG. 33, when the display start frame is designated as the first frame “B” # 7 of the GOP in the display order in the open GOP structure, the GOP to which the frame “B” # 7 belongs is specified. The frame “I” # 2 of the previous GOP is the first frame necessary for decoding the display start frame “B” # 7. This frame “I” # 2 corresponds to the first edit unit of the GOP in the coding order. In addition, since data is stored in the GOP unit in the partial transfer file, in this example, the GOP immediately before the GOP to which the display start frame “B” # 7 belongs is stored in the partial transfer file. Become.
ヘッダ403中にこのような指定表示区間に対する情報が記述されていないと、再生システムは、上述のようにして作成した部分転送ファイルを再生する際に、表示可能な先頭のフレームから表示するしかなく、表示開始フレームから表示しようとする場合、改めて表示開始フレームの頭出しをする必要があった。例えば、図9の例では、表示開始フレーム「B」#7が属するGOPの1つ前のGOPの、ディスプレイオーダで先頭のフレーム「B」#0から再生が開始されてしまう。
If the information for such a designated display section is not described in the
そこでこのように、ヘッダ403中に指定表示区間に対する情報を記述することで、再生システムは、部分転送ファイルを再生する際に、ヘッダ403を予め読み込んでおくことで、ヘッダメタデータに記述された表示開始フレームおよびデュレーションの情報に基づき、部分転送ファイル内にける、表示すべき区間を知ることができる。これにより、部分転送ファイルを再生する際に、この表示開始フレームより前のフレームを再生せずに、表示開始フレームから直接的に再生を開始することができ、指定された区間のみの表示を容易に行うことができる。
Thus, by describing the information for the designated display section in the
この発明の実施の第2の形態では、上述のようにして部分転送ファイルを作成する際に、インデックステーブルを、上述した実施の第1の形態で説明したようにして作成する。すなわち、上述した図31のフローチャートにおけるステップS42のインデックステーブルの更新処理を、指定表示区間の指定に応じて逐次的に行うようにする。 In the second embodiment of the present invention, when the partial transfer file is created as described above, the index table is created as described in the first embodiment. That is, the index table update process in step S42 in the flowchart of FIG. 31 described above is sequentially performed according to the designation of the designated display section.
より具体的には、指定表示区間を指定されて生成される部分転送ファイルに含まれるインデックステーブルがRAM122にキャッシュされていれば、当該キャッシュされているインデックステーブルに対して更新処理を行う。一方、指定表示区間を指定されて生成される部分転送ファイルに含まれるインデックステーブルがRAM122にキャッシュされていなければ、図19のフローチャートおよび図20〜図24を用いて説明した手順に従い、新たなインデックステーブルを生成し、RAM122に追加してキャッシュする。
More specifically, if the index table included in the partial transfer file generated by designating the designated display section is cached in the
このように、部分転送ファイルを作成する際にインデックステーブルを逐次的に生成することで、部分転送ファイルの作成処理にかかる負担が軽減され、より高速に処理を行うことができるようになる。 In this way, by sequentially generating the index table when creating the partial transfer file, the burden on the partial transfer file creation processing is reduced, and processing can be performed at higher speed.
上述では、記録再生装置100が光ディスク1に記録されたビデオデータを再生する専用的なハードウェアであるように説明したが、これはこの例に限らず、例えばパーソナルコンピュータといった汎用的なコンピュータ装置(図示しない)を、記録再生装置100として用いることもできる。この場合、コンピュータ装置に搭載されるプログラムによって、記録再生装置100の機能を実現させることができる。
In the above description, the recording / reproducing
また、上述では、この発明が記録媒体として光ディスクを用い、年輪構造でクリップが記録されている場合に適用されるように説明したが、これはこの例に限定されない。例えば、記録媒体上の記録フォーマットは、年輪構造に限られず、他のフォーマットであってもよい。また、記録媒体は、光ディスクに限られず、ハードディスクドライブや、半導体メモリであってもよい。 In the above description, the present invention has been described as being applied when an optical disk is used as a recording medium and a clip is recorded with an annual ring structure, but this is not limited to this example. For example, the recording format on the recording medium is not limited to the annual ring structure, and may be another format. Further, the recording medium is not limited to an optical disk, and may be a hard disk drive or a semiconductor memory.
さらに、上述では、この発明がインターリーブMXFフォーマットに適用可能であるように説明したが、これはこの例に限定されない。すなわち、この発明は、ある記録媒体に固有のフォーマットを、他のフォーマットとして仮想的に提示するようなシステムに適用することができる。 Further, in the above description, the present invention has been described as being applicable to the interleaved MXF format, but this is not limited to this example. In other words, the present invention can be applied to a system that virtually presents a format unique to a certain recording medium as another format.
1 光ディスク
10 ファイル
11 表示開始ファイル
12 表示終了フレーム
13 ヘッダ
100 記録再生装置
102 MPEGエンコーダ
103 メモリコントローラ
104 RAM
105 ディスクドライブ部
106 MPEGデコーダ
121 CPU
122 RAM
123 ROM
126 通信インターフェイス
132 CPU
133 RAM
134 通信インターフェイス
200 パーティションテーブル
201 ボディテーブル
DESCRIPTION OF
105
122 RAM
123 ROM
126
133 RAM
134
Claims (5)
インデックステーブル作成部と
を有し、
上記記憶部は、上記インデックステーブル作成部で作成されるインデックステーブルを記録媒体に記録されたクリップがクローズされるまで一時的に記憶し、
上記インデックステーブル作成部は、出力フレームが指定された際に、上記クリップの複数のフレームの管理情報からなるインデックステーブルを上記記録媒体上の情報に基づき作成し、
次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報が上記インデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成する
ことを特徴とする再生装置。 A storage unit;
An index table creation unit ,
The storage unit temporarily stores the index table created by the index table creation unit until the clip recorded on the recording medium is closed,
The index table creation unit creates an index table composed of management information of a plurality of frames of the clip based on information on the recording medium when an output frame is designated,
Next, when the output frame is designated, if the information of the edit unit corresponding to the designated frame is not described in the index table, an index table for managing the edit unit is further created. A playback device.
ことを特徴とする請求項1に記載の再生装置。 The playback apparatus according to claim 1, wherein information based on the index table is presented for access to the clip recorded on the recording medium .
上記記録媒体に記録された上記クリップの所定区間を転送する命令に応じて、該所定期間に対応する上記インデックステーブルを更新し、部分転送ファイルを作成する
ことを特徴とする請求項1に記載の再生装置。 The index table creation unit
2. The partial transfer file is created according to claim 1, wherein the index table corresponding to the predetermined period is updated in accordance with an instruction to transfer a predetermined section of the clip recorded on the recording medium. Playback device.
上記インデックステーブル作成のステップで作成されるインデックステーブルを上記記録媒体に記録されたクリップがクローズされるまで記憶部に一時的に記憶するステップと
を有し、
次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報が上記インデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成する
ことを特徴とする再生方法。 An index table creation step of creating an index table composed of management information of a plurality of frames of a clip based on information on a recording medium when an output frame is designated ;
Temporarily storing the index table created in the index table creating step in the storage unit until the clip recorded on the recording medium is closed ,
Next, when the output frame is designated, if the information of the edit unit corresponding to the designated frame is not described in the index table, an index table for managing the edit unit is further created. A characteristic reproduction method.
上記インデックステーブル作成のステップで作成されるインデックステーブルを上記記録媒体に記録されたクリップがクローズされるまで記憶部に一時的に記憶するステップと
を有し、
次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報が上記インデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成する再生方法をコンピュータ装置に実行させる
ことを特徴とする再生プログラム。 An index table creation step of creating an index table composed of management information of a plurality of frames of a clip based on information on a recording medium when an output frame is designated ;
Temporarily storing the index table created in the index table creating step in the storage unit until the clip recorded on the recording medium is closed ,
Next, when an output frame is designated, if the information of the edit unit corresponding to the designated frame is not described in the index table, a reproduction method for further creating an index table for managing the edit unit A reproduction program for causing a computer device to execute the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006085856A JP4706530B2 (en) | 2006-03-27 | 2006-03-27 | Playback apparatus, playback method, and playback program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006085856A JP4706530B2 (en) | 2006-03-27 | 2006-03-27 | Playback apparatus, playback method, and playback program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007265467A JP2007265467A (en) | 2007-10-11 |
JP4706530B2 true JP4706530B2 (en) | 2011-06-22 |
Family
ID=38638314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006085856A Expired - Fee Related JP4706530B2 (en) | 2006-03-27 | 2006-03-27 | Playback apparatus, playback method, and playback program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4706530B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4679609B2 (en) * | 2008-06-05 | 2011-04-27 | 株式会社東芝 | Video recording / reproducing apparatus, video recording method and video reproducing method |
JP5541668B2 (en) * | 2009-10-21 | 2014-07-09 | キヤノン株式会社 | Recording device |
JP2013206489A (en) * | 2012-03-27 | 2013-10-07 | Nec Corp | Image acquisition device, image acquisition method, and image acquisition program |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006524410A (en) * | 2003-04-21 | 2006-10-26 | ティヴォ インク | Method and apparatus for creating a digital video disc with enhanced functionality |
-
2006
- 2006-03-27 JP JP2006085856A patent/JP4706530B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006524410A (en) * | 2003-04-21 | 2006-10-26 | ティヴォ インク | Method and apparatus for creating a digital video disc with enhanced functionality |
Also Published As
Publication number | Publication date |
---|---|
JP2007265467A (en) | 2007-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4720543B2 (en) | Data processing device, data processing method and data processing program, recording medium, and playback device, playback method and playback program | |
JP4682759B2 (en) | Playback apparatus, playback method, and playback program | |
CA2247601C (en) | Optical disc recording apparatus, computer-readable recording medium recording a file management program, and optical disc | |
US20060133223A1 (en) | Recording medium, recording device usint the same, and reproduction device | |
US7103262B2 (en) | Optical disc recording apparatus, computer-readable recording medium recording a file management program, and optical disc | |
JP3695581B2 (en) | Recording apparatus, recording method, recording medium, and electronic camera | |
US8295673B2 (en) | Apparatus, method, and computer program for processing information | |
JPWO2005020572A1 (en) | Playback apparatus and method, and program | |
KR20040064215A (en) | Information recording method and apparatus, information reproducing method and apparatus, information recording medium, program storage medium and program | |
JP4656021B2 (en) | Information processing apparatus, information processing method, and computer program | |
JP4706530B2 (en) | Playback apparatus, playback method, and playback program | |
JP4079100B2 (en) | Playback apparatus and method | |
JP2004178788A (en) | Recording device and recording method | |
US7509030B2 (en) | Reproducing apparatus, reproducing method, driving apparatus and driving method for selecting video clips at a high speed | |
CN101356809B (en) | Information processing device, information processing method | |
WO2004093074A1 (en) | Recording device and method | |
JP2007180670A (en) | Reproducing device, reproduction method, and reproduction program | |
JP4013161B2 (en) | RECORDING DEVICE, RECORDING METHOD, RECORDING MEDIUM, IMAGING DEVICE, AND REPRODUCING METHOD | |
JP4100375B2 (en) | RECORDING DEVICE, RECORDING METHOD, PROGRAM, RECORDING MEDIUM, AND IMAGING DEVICE | |
JP4860592B2 (en) | Information recording apparatus and method, information reproducing apparatus and method, information recording medium, program storage medium, and program | |
JP2006031744A (en) | Device for recording and reproducing av data | |
JP2007323803A (en) | Reproducing device, reproduction method, and program storing medium | |
JP2006033028A (en) | Av data recording/reproducing device | |
JP2006031745A (en) | Device for recording and reproducing av data | |
JP2006033029A (en) | Av data recording/reproducing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100510 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110228 |
|
LAPS | Cancellation because of no payment of annual fees |