(57)【特許請求の範囲】
【請求項１】
記憶部と、
インデックステーブル作成部と
を有し、
上記記憶部は、上記インデックステーブル作成部で作成されるインデックステーブルを記録媒体に記録されたクリップがクローズされるまで一時的に記憶し、
上記インデックステーブル作成部は、出力フレームが指定された際に、上記クリップの複数のフレームの管理情報からなるインデックステーブルを上記記録媒体上の情報に基づき作成し、
次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報が上記インデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成する
ことを特徴とする再生装置。
【請求項２】
上記記録媒体に記録された上記クリップに対するアクセスに対して、上記インデックステーブルに基づく情報を提示する
ことを特徴とする請求項１に記載の再生装置。
【請求項３】
上記インデックステーブル作成部は、
上記記録媒体に記録された上記クリップの所定区間を転送する命令に応じて、該所定期間に対応する上記インデックステーブルを更新し、部分転送ファイルを作成する
ことを特徴とする請求項１に記載の再生装置。
【請求項４】
出力フレームが指定された際に、クリップの複数のフレームの管理情報からなるインデックステーブルを記録媒体上の情報に基づき作成するインデックステーブル作成のステップと、
上記インデックステーブル作成のステップで作成されるインデックステーブルを上記記録媒体に記録されたクリップがクローズされるまで記憶部に一時的に記憶するステップと
を有し、
次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報が上記インデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成する
ことを特徴とする再生方法。
【請求項５】
出力フレームが指定された際に、クリップの複数のフレームの管理情報からなるインデックステーブルを記録媒体上の情報に基づき作成するインデックステーブル作成のステップと、
上記インデックステーブル作成のステップで作成されるインデックステーブルを上記記録媒体に記録されたクリップがクローズされるまで記憶部に一時的に記憶するステップと
を有し、
次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報が上記インデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成する再生方法をコンピュータ装置に実行させる
ことを特徴とする再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記録媒体に記録された、特にフレーム毎の情報量が変動するディジタルビデオデータに対するランダムアクセスを効率的に行うことができる再生装置、再生方法および再生プログラムに関する。
【背景技術】
【０００２】
ディジタルビデオデータおよびディジタルオーディオデータを記録媒体に記録し、また、記録媒体から再生するようなデータ記録再生装置が知られている。ディジタルビデオデータおよびディジタルオーディオデータを記録するための記録媒体としては、近年では、光ディスク、ハードディスク、半導体メモリなどといった、ランダムアクセス可能な記録媒体が、ディジタルビデオデータおよびディジタルオーディオデータの記録再生に多く用いられるようになってきている。
【０００３】
ディジタルビデオデータは、データ容量が膨大となるため、所定の方式で圧縮符号化されて記録媒体に記録されるのが一般的である。近年では、ＭＰＥＧ２(Moving Picture Experts Group 2)方式が圧縮符号化の標準的な方式として知られている。ＭＰＥＧ２では、ＤＣＴ(Discrete Cosine Transform)と動き補償とを用いてディジタルビデオデータの圧縮符号化を行い、さらに可変長符号を用いてデータの圧縮率を高めている。ＭＰＥＧ２方式では、可変長符号を用いているため、一般的に、フレーム毎のデータサイズが一定とならない。
【０００４】
ここで、例えば撮像装置で撮像され出力されたディジタルビデオデータを、光ディスクといった、ハードディスクドライブなどに比べて比較的アクセス速度が遅い、ディスク状記録媒体に記録する場合について考える。撮像されリアルタイムで出力されるディジタルビデオデータを圧縮符号化し、記録媒体に記録する場合、データの欠落などが発生しないようにするためには、時間的に連続するデータを記録媒体上の連続したアドレスに書き込むことが考えられる。
【０００５】
一例として、ディジタルビデオデータは、例えばクリップ毎や所定の再生時間毎といった比較的長い時間単位で以て、記録媒体上に連続的に書き込まれる。特許文献１には、再生時間帯が対応するディジタルビデオデータおよびディジタルオーディオデータを、トラックの１周分以上のデータサイズを有する、例えば２秒程度といった所定の再生時間単位毎に交互に配置して記録するようにした記録装置が記載されている。
【特許文献１】特開２００４−３１０８３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、このようにして記録媒体に記録されたディジタルビデオデータを編集するような場合、記録媒体上のディジタルビデオデータに対して、フレーム単位でアクセスできる必要がある。記録媒体に記録されるディジタルビデオデータが、上述したＭＰＥＧ２方式のような、フレーム毎にデータサイズが異なる方式で圧縮符号化されている場合、記録媒体上における各フレームの先頭位置を特定できるようにしておく必要がある。
【０００７】
このような、光ディスクといった記録媒体上に記録されたディジタルビデオデータに対するアクセス性および操作性を向上させることができるようにしたフォーマットの一例として、ＭＸＦ(Material Exchange Format)がある。ＭＸＦに規定されるＭＸＦファイルは、光ディスク上に記録されているディジタルビデオデータと、当該ディジタルビデオデータに対するアクセス情報などからなるインデックステーブルとを組み合わせたファイルであって、ＭＸＦファイル内のインデックステーブルを用いて、ディジタルビデオデータのフレーム境界を示すことができる。このインデックステーブルを用いることで、光ディスク上のディジタルビデオデータに対して、フレーム単位でランダムアクセスが可能とされる。
【０００８】
より具体的には、光ディスク上のディジタルビデオデータのある位置にアクセスがなされると、アクセスされた部分の近傍のフレーム境界の情報が収集され、収集された情報に基づきインデックステーブルが作成される。作成されたインデックステーブルは、例えば装置のメモリ上にキャッシュされる。光ディスクに対してシーク動作がなされ、光ディスク上のディジタルビデオデータの別の位置にアクセスがなされると、既にキャッシュされているインデックステーブルが破棄され、シーク動作によりアクセスがなされた位置の近傍について、再びフレーム境界の情報が収集され、インデックステーブルが作成される。
【０００９】
従来では、このインデックステーブルの作成を、光ディスクに対するシーク動作が行われる度に行っていたため、例えばシーク動作毎にインデックステーブルを作成するための待ち時間が発生し、ランダムアクセス性や操作性が損なわれてしまうという問題点があった。
【００１０】
特に、上述のＭＰＥＧ２方式のような、フレーム毎にデータサイズが異なるディジタルビデオデータに対して、フレーム境界を示すインデックステーブルの情報を算出してテーブルを構築するのは、装置にとって非常に負荷の大きな処理であるという問題点があった。
【００１１】
したがって、この発明の目的は、記録媒体に記録された、フレーム毎にデータサイズが異なるディジタルビデオデータに対するランダムアクセス処理を効率的に行うことができる再生装置、再生方法および再生プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
この発明は、上述した課題を解決するために、記憶部と、インデックステーブル作成部とを有し、記憶部は、インデックステーブル作成部で作成されるインデックステーブルを記録媒体に記録されたクリップがクローズされるまで一時的に記憶し、インデックステーブル作成部は、出力フレームが指定された際に、クリップの複数のフレームの管理情報からなるインデックステーブルを記録媒体上の情報に基づき作成し、次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報がインデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成することを特徴とする再生装置である。
【００１３】
また、この発明は、出力フレームが指定された際に、クリップの複数のフレームの管理情報からなるインデックステーブルを記録媒体上の情報に基づき作成するインデックステーブル作成のステップと、インデックステーブル作成のステップで作成されるインデックステーブルを記録媒体に記録されたクリップがクローズされるまで記憶部に一時的に記憶するステップとを有し、次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報がインデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成することを特徴とする再生方法である。
【００１４】
また、この発明は、出力フレームが指定された際に、クリップの複数のフレームの管理情報からなるインデックステーブルを記録媒体上の情報に基づき作成するインデックステーブル作成のステップと、インデックステーブル作成のステップで作成されるインデックステーブルを記録媒体に記録されたクリップがクローズされるまで記憶部に一時的に記憶するステップとを有し、次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報がインデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成する再生方法をコンピュータ装置に実行させることを特徴とする再生プログラムである。
【発明の効果】
【００１６】
上述したように、この発明は、出力フレームが指定された際に、記録媒体に記録されたクリップ内の複数のフレームの管理情報からなるインデックステーブルを、記録媒体上の情報に基づき作成し、次に出力フレームが指定された際に、該指定されたフレームに対応するエディットユニットの情報がインデックステーブルに記述されていなければ、該エディットユニットを管理するためのインデックステーブルをさらに作成して記憶部に記憶するようにしているため、インデックステーブルを作成する処理を効率的に行うことができる効果がある。
【００１７】
また、記録媒体に記録されたクリップ内のフレームに対するアクセスを、インデックステーブルを介して行うことで、クリップに対するランダムアクセスが高速化される効果がある。
【発明を実施するための最良の形態】
【００１８】
以下、この発明の実施の第１の形態について説明する。この発明の実施の第１の形態に先立って、理解を容易とするために、この発明に適用可能なディジタルビデオデータの圧縮符号化方式である、ＭＰＥＧ２方式について概略的に説明する。
【００１９】
ＭＰＥＧ２のデータストリーム構造について、概略的に説明する。ＭＰＥＧ２は、動き補償予測符号化と、ＤＣＴによる圧縮符号化とを組み合わせたものである。ＭＰＥＧ２のデータ構造は、階層構造をなしており、下位から、ブロック層、マクロブロック層、スライス層、ピクチャ層、ＧＯＰ層およびシーケンス層となっている。ブロック層は、ＤＣＴを行う単位であるＤＣＴブロックからなる。マクロブロック層は、複数のＤＣＴブロックで構成される。スライス層は、ヘッダ部と、１以上のマクロブロックより構成される。ピクチャ層は、ヘッダ部と、１以上のスライスとから構成される。ピクチャは、１画面に対応する。各層の境界は、それぞれ所定の識別符号で識別可能なようになっている。
【００２０】
ＧＯＰ層は、ヘッダ部と、フレーム内符号化に基づくピクチャであるＩ(Intra-coded)ピクチャと、予測符号化に基づくピクチャであるＰ(Predictive-coded)ピクチャ、およびＢ(Bi-directionally predictive coded)ピクチャとから構成される。Ｉピクチャは、それ自身の情報のみでデコードが可能であり、ＰおよびＢピクチャは、基準画像として前あるいは前後の画像が必要とされ、単独ではデコードされない。例えばＰピクチャは、自身より時間的に前のＩピクチャまたはＰピクチャを基準画像として用いてデコードされる。また、Ｂピクチャは、自身の前後のＩピクチャまたはＰピクチャの２枚のピクチャを基準画像として用いてデコードされる。最低１枚のＩピクチャを含むそれ自身で完結したグループをＧＯＰ(Group Of Picture)と呼び、ＭＰＥＧのストリームにおいて独立してアクセス可能な最小の単位とされる。
【００２１】
ＧＯＰは、１または複数のピクチャから構成される。以下では、便宜上、１枚のＩピクチャのみで構成されるＧＯＰをシングルＧＯＰと呼び、Ｉピクチャと、Ｐおよび／またはＢピクチャとからなる複数のピクチャで構成されるＧＯＰをロングＧＯＰと呼ぶことにする。シングルＧＯＰでは、ＧＯＰをＩピクチャのみから構成することで、フレーム単位での編集が容易とされると共に、フレーム間の予測符号化を行わないために、より高画質を得ることができる。一方、ロングＧＯＰでは、フレーム間の予測符号化を行うために、圧縮効率がよいという利点がある。
【００２２】
なお、ロングＧＯＰにおいて、ＧＯＰ内で完全にデコードが可能な、ＧＯＰで閉じた構造を持つクローズドＧＯＰと、デコードの際に符号化順で１つ前のＧＯＰの情報を用いることができるオープンＧＯＰとの２種類がある。オープンＧＯＰは、クローズドＧＯＰと比較して、より多くの情報を用いてデコードできるため高画質を得られ、一般的に用いられている。
【００２３】
ビデオ信号のフォーマットとして、従来から、ビットレートが２５Ｍｂｐｓ（メガビットパーセカンド）のＤＶフォーマットが知られている。特に放送局などで使用される映像機器においては、ＤＶフォーマットのビデオ信号を上述したシングルＧＯＰで用い、高画質と高精度の編集環境とを実現していた。
【００２４】
一方、近年では、ディジタルハイビジョン放送などの実施に伴い、ＳＤフォーマットより高解像度とされた、ＨＤ(High Definition)フォーマットが用いられるようになってきた。ＨＤフォーマットは、高解像度に伴いビットレートが高くなっており、シングルＧＯＰでは記録媒体に対して長時間の記録ができない。そこで、ＨＤフォーマットのビデオ信号を上述したロングＧＯＰで圧縮されて用いられることが一般的である。
【００２５】
図１を用いて、ロングＧＯＰの場合のデコード処理について説明する。ここでは、オープンＧＯＰで１ＧＯＰが１枚のＩピクチャ、４枚のＰピクチャおよび１０枚のＢピクチャの、計１５枚のピクチャから構成されるものとする。ＧＯＰ内のＩ、ＰおよびＢピクチャの表示順は、図１Ａに一例が示されるように、「Ｂ0Ｂ1Ｉ2Ｂ3Ｂ4Ｐ5Ｂ6Ｂ7Ｐ8Ｂ9Ｂ10Ｐ11Ｂ12Ｂ13Ｐ14」のようになる。なお、添え字は表示順を示す。
【００２６】
この例では、最初の２枚のＢ0ピクチャおよびＢ1ピクチャは、１つ前のＧＯＰにおける最後尾のＰ14ピクチャと、このＧＯＰ内のＩ2ピクチャを用いて予測されデコードされたピクチャである。ＧＯＰ内の最初のＰ5ピクチャは、Ｉ2ピクチャから予測されデコードされたピクチャである。他のＰ8ピクチャ、Ｐ11ピクチャおよびＰ14は、それぞれ１つ前のＰピクチャを用いて予測されデコードされたピクチャである。また、Ｉピクチャ以降の各Ｂピクチャは、それぞれ前後のＩおよび／またはＰピクチャから予測されデコードされたピクチャである。
【００２７】
一方、Ｂピクチャは、時間的に前後のＩまたはＰピクチャを用いて予測されデコードされるため、ストリームや記録媒体上におけるＩ、ＰおよびＢピクチャの並び順は、デコーダにおけるデコードの順序を考慮して決める必要がある。すなわち、ＢピクチャをデコードするためのＩおよび／またはＰピクチャは、当該Ｂピクチャよりも常に先にデコードされていなければならない。
【００２８】
上述の例では、ストリームや記録媒体上の各ピクチャの配列は、図１Ｂに例示されるように、「Ｉ2Ｂ0Ｂ1Ｐ5Ｂ3Ｂ4Ｐ8Ｂ6Ｂ7Ｐ11Ｂ9Ｂ10Ｐ14Ｂ12Ｂ13」のようになり、この順でデコーダに入力される。なお、添え字は、図１Ａに対応し、表示順を示す。
【００２９】
デコーダにおけるデコード処理は、図１Ｃに示されるように、先ずＩ2ピクチャをデコードし、デコードされたこのＩ2ピクチャと１つ前のＧＯＰにおける最後尾（表示順）のＰ14ピクチャとによりＢ0ピクチャおよびＢ1ピクチャを予測しデコードする。そして、Ｂ0ピクチャおよびＢ1ピクチャをデコードされた順にデコーダから出力し、次にＩ2ピクチャを出力する。Ｂ1ピクチャが出力されると、次にＰ5ピクチャがＩ2ピクチャを用いて予測されデコードされる。そして、Ｉ2ピクチャおよびＰ5ピクチャを用いてＢ3ピクチャおよびＢ4ピクチャが予測されデコードされる。そして、デコードされたＢ3ピクチャおよびＢ4ピクチャをデコードされた順にデコーダから出力し、次にＰ5ピクチャを出力する。
【００３０】
以下、同様にして、Ｂピクチャの予測に用いるＰまたはＩピクチャをＢピクチャより先にデコードし、このデコードされたＰまたはＩピクチャを用いてＢピクチャを予測してデコードし、デコードされたＢピクチャを出力してから、当該Ｂピクチャをデコードするために用いたＰまたはＩピクチャを出力する処理が繰り返される。記録媒体上やストリームにおける図１Ｂのようなピクチャ配列は、一般的に用いられるものである。
【００３１】
次に、この発明の実施の第１の形態に適用可能なデータ構造について説明する。図２〜図５は、この発明の実施の第１の形態に適用可能な、ＭＸＦ(Material Exchange Format)と称されるデータフォーマットのＭＰＥＧ(Moving Pictures Experts Group)ストリームに対するマッピング構造を示す。ＭＸＦは、ＳＭＰＴＥ(Society of Motion Picture and Television Engineers)に規定されるファイルフォーマット規格で、以下に説明するＭＰＥＧストリームに対するマッピング構造は、ＳＭＰＴＥー３８１Ｍに規定されるものである。以下、ＳＭＰＴＥ−３８１ＭなどのＭＸＦの規定に準じ、ビデオデータとオーディオデータとがフレームインターリーブされた構造を持つファイルの一例を、インターリーブＭＸＦファイルと呼ぶ。
【００３２】
インターリーブＭＸＦファイルは、全体的には、図２Ａに示されるようにファイルヘッダ(File Header)、ファイルボディ(File Body)およびファイルフッタ(File Footer)とからなる。ファイルヘッダは、ヘッダパーティションパック（ＨＰＰ）とヘッダメタデータ(Header Metadata)とからなる。ヘッダパーティションパックは、ヘッダを特定するためのデータや、ファイルボディに配置されるデータの形式、ファイルフォーマットを表す情報などが格納される。ヘッダメタデータは、例えば、このファイルの作成日時に関する情報や、ファイルボディに配置されたデータに関する情報といった、ファイル単位のメタデータが格納される。
【００３３】
ファイルボディは、ボディパーティションパック（ＢＰＰ）、エディットユニット(Edit Unit)およびインデックステーブル(Index Table)からなる。ボディパーティションパックには、ボディを特定するためのデータなどが格納される。ボディパーティションパックで区切られる領域に、０または１のインデックステーブルと、１または複数のエディットユニットが配置される。エディットユニットは、フレーム毎のデータが格納される。インデックステーブルは、ボディパーティションパックで区切られる１つ前の領域内に含まれるエディットユニット毎の情報が格納される。エディットユニットおよびインデックステーブルの詳細については、後述する。
【００３４】
ファイルフッタは、フッタパーティションパック、インデックステーブルおよびランダムインデックスパックからなる。ファイルフッタに関しては、この発明と直接的に関わる部分がないので、繁雑さを避けるために、説明を省略する。
【００３５】
ボディパーティションパックで区切られる領域毎のエディットユニットの集合体は、エッセンスコンテナ(Essence Container)と呼ばれる（図２Ｂの左側参照）。すなわち、エッセンスコンテナは、このインターリーブＭＸＦファイルに基づき実際に再生されるビデオおよびオーディオデータに対応する。
【００３６】
ファイルボディおよびファイルフッタに配置される各インデックステーブルセグメントの集合体は、インデックステーブル(Index Table)と呼ばれる（図２Ｂの右側参照）。例えば、このインターリーブＭＸＦファイルをシステムが読み込んだ際に、各インデックステーブルセグメントをサーチして読み出し、インデックステーブルを構築することで、このインターリーブＭＸＦファイル内の全てのエディットユニットに関する情報を、構築されたインデックステーブルを参照して取得することができる。
【００３７】
図２Ｃは、インデックステーブルの一例の構造を示す。なお、図２Ｃにおいて、各領域の下部に記される数字は、その領域のサイズをバイトで示す。インデックステーブルは、ＫＬＶ(Key-Length-Value)符号を用いて符号化される。ＫＬＶ符号において、「Ｋ(Key)」部は、ＳＭＰＴＥ  ３３５Ｍ／ＲＰ２１０Ａに準拠した、ＫＬＶ符号化されたデータ項目を示す識別子であって、１６バイトのデータ長を有する。「Ｌ(Length)」部は、４バイトのデータ長を有し、「Ｌ」部以降に続くデータ長をバイト単位で表す。「Ｖ(Value)」部は、データ本体が格納される領域である。また、「Ｖ」部内部にさらに、それぞれ２バイトのデータ長を有する、「Ｔ(Local Tag)」部および「Ｌ(Length)」部と、可変長のデータ部とからなる構造を定義することができる。
【００３８】
インデックステーブルの先頭には、データ長が１６バイトでインデックステーブルセグメントキー(Index Table Segment Key)が配置される。続けてデータ長が４バイトで「Ｌ」部が配置され、それぞれ２バイトのデータ長を有する「Ｔ」部および「Ｌ」部が配置された後に、データ長が１６バイトのインスタンスＩＤ(Instance ID)が配置される。インスタンスＩＤは、ＵＵＩＤ(Universally Unique ID)を用いて記述される。続けて「Ｔ」部および「Ｌ」部が配置され、その後に、データ長が８バイトでインデックスエディットレート(Index Edit Rate)が配置される。インデックスエディットレートは、ビデオデータのフレームレートが２９．９７Ｈｚ、２５Ｈｚおよび２３．９８Ｈｚの何れであるかを示す。
【００３９】
続けて「Ｔ」部および「Ｌ」部が配置され、その後に、データ長が８バイトでインデックススタートポジション(Index Start Position)が配置される。インデックススタートポジションは、このインデックステーブルが管理するエディットユニットの先頭の番号が示される。続けて「Ｔ」部および「Ｌ」部が配置され、その後に、データ長が８バイトでインデックスデュレーション(Index Duration)が配置される。インデックスデュレーションは、このインデックステーブルセグメントが管理するエディットユニット全体の長さが、エディットユニットの数で示される。
【００４０】
続けて「Ｔ」部および「Ｌ」部が配置され、その後に、データ長が４バイトでエディットユニットバイトカウント(Edit Unit Byte Count)が配置される。エディットユニットバイトカウントは、ビデオフレームが固定長であれば、ビデオフレームのデータ長が記述され、可変長であれば値"０"が記述される。続けて「Ｔ」部および「Ｌ」部が配置され、その後に、データ長が４バイトでインデックスＳＩＤが配置され、さらに続けて「Ｔ」部および「Ｌ」部の後にボディＳＩＤが配置される。これらインデックスＳＩＤおよびボディＳＩＤは、それぞれ値が"１"および"２"の固定値とされる。続けて「Ｔ」部および「Ｌ」部が配置され、その後にデータ長が１バイトでスライスカウント(Slice Count)が配置される。スライスカウントは、このインデックステーブルで管理されるスライス（後述する）を示す。
【００４１】
続けて「Ｔ」部および「Ｌ」部が配置され、その後にデータ長が４４バイトでデルタエントリアレイ(Delta Entry Array)が配置される。そして、さらに続けて「Ｔ」部および「Ｌ」部が配置され、その後に可変長でインデックスエントリアレイ(Index Entry Array)が配置される。これらデルタエントリアレイおよびインデックスエントリアレイについては、後述する。
【００４２】
インデックスエントリアレイの後ろに、「Ｋ」部および「Ｌ」部、ならびに、フィラー部が配置される。フィラー部は、インデックステーブルのサイズを所定値に揃えるために設けられる。
【００４３】
図３は、エディットユニットおよびデルタエントリアレイの例を示す。図３Ｃに示すインデックステーブルは、図２Ｃと同一であるので、説明を省略する。エディットユニットは、１フレーム分のデータからなり、図３Ａに一例が示されるように、システムデータ、ＭＰＥＧビデオデータおよびオーディオデータ（ＡＥＳ）エレメントを含む。システムデータおよび４チャンネル分のオーディオデータエレメントは、それぞれ固定長（ＣＢＥ：Constant Bytes per Element)であり、ビデオデータエレメントは、可変長（ＶＢＥ：Variable Bytes per Element)である。１つのエディットユニット内では、可変長データエレメント毎にスライス(Slice)が切られる。図３Ａの例では、ビデオデータエレメントが可変長であるので、ビデオデータエレメントの後端でスライスが切られ、前半がスライス０、後半がスライス１とされる。上述のスライスカウントには、（スライスの数−１）が記述される。
【００４４】
デルタエントリアレイは、図３Ｂに一例が示されるように、エディットユニットに含まれる各データの、エディットユニット内でのオフセット情報が記述される。なお、デルタエントリアレイにおいて、エディットユニットに含まれる各データエレメント毎の情報をデルタエントリ(Delta Entry)と称する。デルタエントリアレイは、エディットユニットに含まれる各データエレメントのデルタエントリの集合である。デルタエントリの先頭には、４バイトのデータ長を有するデルタエントリ数(Number of Delta Entries)が配置される。エディットユニットが１つのシステムデータエレメント、１つのビデオデータエレメントおよび４つのオーディオデータエレメントの、計６個のデータエレメントからなるこの例では、デルタエントリアレイに６個のデルタエントリが含まれ、デルタエントリ数は、値"６"が記述される。デルタエントリ数の後ろに、デルタエントリのデータ長をバイト数で示すデルタエントリ長(Length of Delta Entries)が配置される。
【００４５】
デルタエントリのそれぞれは、ポステーブルインデックス(Pos Table Index)、スライス(Slice)およびエレメントデルタ(Element Delta)からなる。ポステーブルインデックスは、各エレメントでデータの表示順と符号化順とが異なり、その差分がインデックスエントリアレイ内のテンポラルオフセット値で決定される場合に値"−１"を取り、データの表示順と符号化順とが一致している場合に値"０"を取る。若し、エレメントのデータの部分毎に表示順と符号化順とが異なる場合は、インデックスエントリアレイ中のポステーブルに各部分毎の差分が記述され、ポステーブルインデックスの値は、差分を記述するテーブルのインデックス値（正の値）を取る。なお、ポステーブルインデックスについては、この発明と関わりが薄いので、これ以上の説明を省略する。スライスは、対応するデータのエディットユニット内でのスライス位置を示す。エレメントデルタは、スライス先頭からのオフセットを示す。
【００４６】
図４は、インデックスエントリアレイおよびエッセンスコンテナストリームの例を示す。図４Ａおよび図４Ｂは、エッセンスコンテナによるデータストリームすなわちエッセンスコンテナストリーム(Essence Container Stream)の例を示す。インターリーブＭＸＦファイルのエディットユニットの集合体として、ストリームが形成される。
【００４７】
図４Ｃは、インデックスエントリアレイの一例を示す。インデックスエントリ数(Number of Index Entries)は、インデックスエントリアレイに含まれるインデックスエントリの数を示す。インデックスエントリのそれぞれは、エディットユニットに対応しているので、インデックスエントリ数は、換言すれば、このインデックステーブルセグメントで管理しているエディットユニット数を示す。インデックスエントリ数の後ろに、インデックスエントリのデータ長をバイト数で示すインデックスエントリ長(Length of Index Entries)が配置される。
【００４８】
インデックスエントリのそれぞれは、テンポラルオフセット(Temporal Offset)、キーフレームオフセット(Key-Frame Offset)、フラグ(Flags)、ストリームオフセット(Stream Offset)およびスライスオフセット(Slice Offset)からなる。テンポラルオフセットは、１バイトのデータ長を有し、表示順と符号化順の並べ替えの情報を示す。キーフレームオフセットは、１バイトのデータ長を有し、復号化に用いるキーフレームの位置情報を示す。フラグは、１バイトのデータ長を有し、フレームのタイプを示す。なお、これらテンポラルオフセット、キーフレームオフセットおよびフラグの詳細は、後述する。ストリームオフセットは、８バイトのデータ長を有し、このインターリーブＭＸＦファイル全体のエッセンスコンテナストリームの先頭に対するオフセットを示す。スライスオフセットは、４バイトのデータ長を有し、対応するエディットユニット内でのスライス１のオフセットを示す。
【００４９】
上述したテンポラルオフセット、キーフレームオフセットおよびフラグについて、図５を用いてより詳細に説明する。図５Ａは、フレームの表示順（ディスプレイオーダ：Display Order）を示し、図５Ｂは、フレームの符号化順（コーディングオーダ：Coding Order）をエディットユニット単位で示す。図５Ａおよび図５Ｂにおいて、あるインデックステーブルに対応するディスプレイオーダおよびコーディングオーダを、先頭を＃０として順に番号を付して示す。図５Ｃは、テンポラルオフセット、キーフレームオフセットおよびフラグを、図５Ａのディスプレイオーダおよび図５Ｂのコーディングオーダと対応させて示す。
【００５０】
なお、図５Ａおよび図５Ｂに記される「Ｉ」、「Ｐ」および「Ｂ」は、それぞれＩピクチャ、ＰピクチャおよびＢピクチャを示す。また、ディスプレイオーダにおいて、Ｉピクチャを復号化して得られるフレームをフレーム「Ｉ」のように記述し、コーディングオーダにおいて、Ｉピクチャが格納されるエディットユニットをエディットユニット「Ｉ」のように記述する。
【００５１】
この図５の例では、説明のため、１ＧＯＰが１枚のＩピクチャ、１枚のＰピクチャ、４枚のＢピクチャから構成されている。また、前半の６枚のピクチャからなるＧＯＰはクローズドＧＯＰとし、後半の６枚からなるＧＯＰはオープンＧＯＰとする。また、あるインデックステーブルに対応するディスプレイオーダおよびコーディングオーダに対し、＃０から順に番号を付して示す。
【００５２】
既に説明したように、クローズドＧＯＰでは、ＧＯＰ内で復号化が完結するため、この図５に示される構成の場合、ディスプレイオーダにおけるフレーム「Ｂ」＃０およびフレーム「Ｂ」＃１は、フレーム「Ｉ」＃２のみから復号化される。また、フレーム「Ｂ」＃３およびフレーム「Ｂ」＃４は、フレーム「Ｉ」＃２およびフレーム「Ｐ」＃５を用いて復号化される。
【００５３】
一方、オープンＧＯＰでは、一つ前のＧＯＰのピクチャを用いて復号化を行うことが可能とされている。この図５に示される例では、それぞれフレーム「Ｂ」＃６およびフレーム「Ｂ」＃７は、フレーム「Ｉ」＃８と、１つ前のＧＯＰに含まれるフレーム「Ｐ」＃５とを用いて復号化される。このとき、フレーム「Ｐ」＃５は、フレーム「Ｉ」＃２を用いて復号化されるため、フレーム「Ｂ」＃６およびフレーム「Ｂ」＃７を復号化するためには、フレーム「Ｉ」＃８、フレーム「Ｐ」＃５およびフレーム「Ｉ」＃２の３枚のフレームが必要とされる。
【００５４】
テンポラルオフセットは、ディスプレイオーダに対してコーディングオーダが何フレーム分、並べ替えられているかを示す。例えば、ディスプレイオーダにおいて３番目に位置するフレーム「Ｉ」＃２は、コーディングオーダで１番目に位置するエディットユニット「Ｉ」＃０に対応するので、テンポラルオフセットの値は"−２"である。また、ディスプレイオーダにおいて７番目に位置するフレーム「Ｂ」＃６は、コーディングオーダで８番目に位置するエディットユニット「Ｂ」＃７に対応するので、テンポラルオフセットの値は、"＋１"である。
【００５５】
キーフレームオフセットは、対応するエディットユニットに含まれるビデオデータを復号化するために遡る必要のあるエディットユニット数を示す。例えば、フレーム「Ｉ」＃２が含まれるエディットユニット＃０は、それ自身でフレーム「Ｉ」＃２の復号化が可能であるため、キーフレームオフセットの値は、"０"である。また、フレーム「Ｂ」＃３が含まれるエディットユニット＃４は、フレーム「Ｂ」＃３を復号化するためにフレーム「Ｉ」＃２およびフレーム「Ｐ」＃５が必要とされ、フレーム「Ｉ」＃２を含むエディットユニット＃０まで遡る必要がある。したがって、エディットユニット＃４のキーフレームオフセットの値は、"−４"である。
【００５６】
さらに、オープンＧＯＰの場合、先頭のフレーム「Ｂ」は、１つ前のＧＯＰのフレームを用いて復号化される。例えば、フレーム「Ｂ」＃７は、フレーム「Ｉ」＃８と１つ前のＧＯＰのフレーム「Ｐ」＃５とを用いて復号化され、フレーム「Ｐ」＃５は、さらにフレーム「Ｉ」＃２を用いて復号化される。したがって、フレーム「Ｂ」＃７を含むエディットユニット＃８は、フレーム「Ｉ」＃２を含むエディットユニット＃０まで遡る必要がある。したがって、エディットユニット＃８のキーフレームオフセットの値は、"−８"である。
【００５７】
フラグは、１バイトすなわち８ビットのデータ長を有し、８ビットのそれぞれのビットに、そのフラグに対応するエディットユニットに関する所定の情報が割り当てられる。図６は、フラグのビットアサインを示す。第０ビット〜第７ビットの８ビットのうち、上位側から、第７ビットは、対応するエディットユニットがシーケンスヘッダ(Sequence_Header)を含み、且つ、クローズドＧＯＰに属するフレームであることを示す。第６ビットは、対応するエディットユニットがシーケンスヘッダを含むか否かを示す。
【００５８】
第５ビットは、対応するエディットユニットの含むフレームが前方予測(Forward prediction)を用いて復号化されるか否かを示す。第４ビットは、対応するエディットユニットの含むフレームが後方予測(Backward prediction)を用いて復号化されるか否かを示す。第３ビットは、対応するエディットユニットの含むフレームのオフセットが範囲外(Offset out of range)であるか否かを示す。第２ビットは、ＭＰＥＧのマッピングをされている場合には用いられない(Not used by MPEG mapping)。
【００５９】
第１ビットおよび第０ビットの２ビットを用いて、対応するエディットユニットの含むフレームのピクチャタイプが示される。第１ビットおよび第０ビットの２ビットが"００"でＩピクチャによるフレームを、"１０"でＰピクチャによるフレームを、"１１"でＢピクチャによるフレームをそれぞれ示す。
【００６０】
図５から分かるように、ディスプレイオーダであるフレーム＃ｎを指定したときに、インデックスエントリアレイでｎ番目のインデックスエントリ中のテンポラルオフセットを参照することで、指定されたフレーム＃ｎに対応するコーディングオーダを知ることができる。さらに、そのフレーム＃ｎに対応するコーディングオーダに対応するインデックスエントリ中のキーフレームオフセットを参照することで、当該コーディングオーダのピクチャを復号化するために必要な先頭のピクチャのコーディングオーダを知ることができる。
【００６１】
すなわち、テンポラルオフセットおよびキーフレームオフセットを用いることで、ディスプレイオーダでフレーム＃ｎを指定したときに、指定されたフレーム＃ｎを復号化するために必要な先頭のピクチャすなわちエディットユニットのファイル内での位置を、インデックステーブルセグメント単位で知ることができる。したがって、システムは、ファイルにアクセスする際に、先ずファイル中のインデックステーブルを予め全て読み込んでおくことで、ファイル内の任意のフレームに対するアクセス性が向上される。
【００６２】
なお、これに限らず、システムは、インデックステーブルをファイルの先頭から、ファイルに対するアクセス順に応じて順次、読み込んでいくこともできる。この場合、予めファイル中のインデックステーブルを全て読み込む例に比べて、インデックステーブルが読み込まれていない部分に対するアクセス性が期待できないことになる。
【００６３】
次に、この発明の実施の第１の形態に適用可能な記録フォーマットについて説明する。図７は、ディスク状記録媒体における一例のデータ配置を示す。この図７に一例が示されるデータ配置は、記録可能な光ディスク、ハードディスクといった、ランダムアクセスが可能なディスク状記録媒体における一般的なデータ配置である。論理アドレス空間は、任意のデータを記録再生可能な領域である。
【００６４】
この実施の第１の形態では、記録媒体を光ディスクとする。なお、この実施の第１の形態に適用可能な記録媒体は、光ディスクに限られない。すなわち、この実施の第１の形態は、ハードディスクドライブや半導体メモリといった、他のランダムアクセス可能な記録媒体にも適用できるものである。上述したインターリーブＭＸＦファイルは、例えばこのような記録媒体に記録されるデータに基づき、仮想的なファイルとして形成される。すなわち、インターリーブＭＸＦファイルは、記録媒体に記録されるデータに対する所定の対応関係が記述され、例えばユーザは、インターリーブＭＸＦファイルを介して記録媒体に実際に記録されるデータに対してアクセスすることになる。
【００６５】
論理アドレスの先端および後端には、ファイルシステムＦＳが配置される。任意のデータは、論理アドレス空間内に一般的にファイルと称される所定の形式で記録される。記録媒体上のデータは、基本的にファイル単位で管理される。ファイルの管理情報は、ファイルシステムＦＳに記録される。記録再生装置のシステム制御部（後述する）のファイルシステム層は、このファイルシステムＦＳの情報を参照および操作することで、多種多様なデータを一つの記録媒体上で管理することができる。ファイルシステムＦＳは、例えばＵＤＦ(Universal Disk Format)が用いられ、２ｋＢ（キロバイト）単位でファイルを管理する。
【００６６】
論理アドレス空間の外に、交替領域が配置される。交替領域は、記録媒体の一部が欠陥（ディフェクト）により物理的に読み書きできなくなった場合に代替的に用いることができる領域である。例えば、記録媒体に対するアクセス（特に記録時のアクセス）の際に欠陥領域が認識された場合、通常は交替処理が行われ、当該欠陥領域のアドレスが交替領域内に移動される。
【００６７】
交替領域の使用状況は、所定領域にディフェクトリストとして記憶され、記録再生装置のドライブ制御部や、システム制御部の下位階層により用いられる。すなわち、後述するドライブ制御部やシステム制御部の下位階層では、記録媒体へのアクセスの際にディフェクトリストを参照することで、交替処理が行われている場合にも、適切な領域へのアクセスを行うことができる。交替領域のこの仕組みにより、上位アプリケーションは、記録媒体上の不良記録領域の有無や位置などを考慮することなく、記録媒体に対するデータの記録再生を行うことができる。
【００６８】
ディスク状記録媒体の場合、交替領域は、ディスクの最内周側または最外周側に配置されることが多い。ディスクの回転制御を、ディスクの半径方向に段階的に回転速度を変更するゾーン制御で行っている場合には、ゾーン毎に交替領域を設ける場合もある。記録媒体が半導体メモリなどディスク状記録媒体ではない場合には、物理アドレスが最も小さい側または最も大きい側に配置されることが多い。
【００６９】
オーディオデータおよびビデオデータ（以下、まとめてＡＶデータと呼ぶ）を扱うアプリケーションにおいては、連続同期再生、すなわち実時間再生が保障された再生が必要な単位となるデータのまとまりを、クリップと呼ぶ。例えば、ビデオカメラにより撮影が開始されてから終了されるまでのひとまとまりのデータがクリップとされる。クリップの実体は、単一のファイルまたは複数のファイルからなる。この発明においては、クリップは、複数のファイルからなる。クリップの詳細については、後述する。
【００７０】
論理アドレス空間に対して、例えば先頭側にクリップ以外の任意のファイルが記録できるＮＲＴ(Non Real Time)領域が配置され、ＮＲＴ領域の次から、クリップが順に詰め込まれていく。クリップは、光ディスク１上のディフェクト位置を避けて配置され、上述した交替処理が行われないようにされる。各クリップには、ヘッダ（Ｈ）およびフッタ（Ｆ）が付加される。この例では、ヘッダおよびフッタは、クリップの後端側にまとめて配置されている。
【００７１】
なお、以下の説明において、光ディスク１に最初に記録されるクリップを、クリップ＃１とし、以降、クリップ＃２、クリップ＃３、・・・とクリップ番号が増加していくものとする。
【００７２】
論理アドレス空間内において、データが記録されていない領域や、過去にデータが記録されていたが現在では不要になった領域は、未使用領域としてファイルシステムＦＳに管理される。記録媒体上に新たに記録されるファイルに対して、未使用領域に基づき記録領域が割り当てられる。当該ファイルの管理情報は、ファイルシステムＦＳに追加される。
【００７３】
記録媒体として記録可能な光ディスクを用いた場合、この発明では、クリップを年輪構造によって記録媒体に記録する。図８および図９を用いて、年輪構造について説明する。図８Ａは、一つのクリップ５０をタイムライン上に示す例である。この例では、クリップ５０は、ビデオデータ５１、オーディオデータ５２Ａ〜５２Ｄ、補助ＡＶデータ５３およびリアルタイムメタデータ５４の７ファイルからなる。
【００７４】
ビデオデータ５１は、ベースバンドのビデオデータを、例えばビットレートが３５Ｍｂｐｓ（メガビットパーセカンド）の高ビットレートで圧縮符号化したビデオデータである。圧縮符号化方式としては、例えばＭＰＥＧ２(Moving Pictures Experts Group 2)ロングＧＯＰ方式が用いられる。オーディオデータ５２Ａ、５２Ｂ、５２Ｃおよび５２Ｄは、ベースバンドのオーディオデータが用いられ、それぞれ１チャンネルのオーディオデータである。これに限らず、オーディオデータ５２Ａ、５２Ｂ、５２Ｃおよび５２Ｄは、ベースバンドのオーディオデータを高ビットレートで圧縮符号化したオーディオデータを用いてもよい。ビデオデータ５１およびオーディオデータ５２Ａ〜５２Ｄは、実際の放送や編集の対象とされるデータであって、本線系のデータと称される。
【００７５】
補助ＡＶデータ５３は、ベースバンドのビデオデータおよびオーディオデータを、本線系のビデオデータおよびオーディオデータに対してより低ビットレートで圧縮符号化して多重化したデータである。圧縮符号化方式としては、例えばＭＰＥＧ４方式が用いられ、本線系のＡＶデータを、ビットレートを例えば数Ｍｂｐｓまで落とすように圧縮符号化して生成する。補助ＡＶデータ５３は、高速サーチ再生を行うために本線系のデータの代理として用いられるデータであって、プロキシ(Proxy)データとも称される。
【００７６】
メタデータは、あるデータに関する上位データであり、各種データの内容を表すためのインデックスとして機能する。メタデータには、上述の本線系のＡＶデータの時系列に沿って発生されるリアルタイムメタデータ５４と、本線系のＡＶデータにおけるシーン毎など、所定の区間に対して発生される非時系列メタデータの２種類がある。非時系列メタデータは、例えば図７で説明したＮＲＴ領域に記録される。
【００７７】
クリップ５０は、図８Ｂに一例が示されるように、所定の再生時間（例えば２秒）を基準として分割され、年輪構造として光ディスクに記録される。一つの年輪は、図８Ｃに一例が示されるように、ビデオデータ５１、オーディオデータ５２Ａ〜５２Ｄ、補助ＡＶデータ５３およびリアルタイムメタデータ（ＲＭ）５４を、それぞれ再生時間帯が対応するように、トラック１周分以上のデータサイズを有する所定の再生時間単位に分割し、分割された再生時間単位毎に順に配置して記録する。すなわち、クリップ５０を構成する各データは、年輪構造により所定時間単位でインターリーブされ、光ディスクに記録される。
【００７８】
年輪を形成するデータを年輪データと称する。年輪データは、ディスクにおける最小の記録単位の整数倍のデータ量とされる。また、年輪は、その境界がディスクの記録単位のブロック境界と一致するように記録される。
【００７９】
図９は、光ディスク１に対して年輪データが形成された一例の様子を示す。例えば、図８Ｂを用いて説明したように、光ディスク１の内周側から外周側に向けて、１つのクリップが所定の再生時間単位に分割された年輪データ＃１、＃２、＃３、・・・が連続的に記録される。すなわち、光ディスク１の内周側から外周側に向けて、再生の時系列が連続するようにデータが配置される。なお、図示しないが、ＮＲＴ領域は、図９の例では、先頭の年輪データ＃１のさらに内周側に配置される。
【００８０】
図１０は、ＭＰＥＧ２のロングＧＯＰにおける一例のデータ構造と、ビデオＭＸＦファイルとの一例の対応関係を示す。例えば、図１０Ａに示されるように、１つのクリップから１ロングＧＯＰファイルが構成される。ロングＧＯＰファイルは、図１０Ｂに示されるように、図１を用いて既に説明したビデオＭＸＦファイルの構造に対応される。ビデオＭＸＦファイルは、上述のように、先頭からヘッダパーティションパック（ＨＰＰ）およびヘッダメタデータが配置されてヘッダ１３が構成され、その後ろのファイルボディに、ビデオデータの本体が格納されるエッセンスコンテナが配置される。ファイルの末尾には、フッタパーティションパック（ＦＰＰ）が配置され、ファイルフッタが構成される（図示しない）。
【００８１】
エッセンスコンテナは、図１０Ｃに示されるように、ＧＯＰが並んでいる構成となっている。各ＧＯＰの内容は、図１０Ｄに示されるように、ピクチャの集合であり、１つのピクチャの内容は、図１０Ｅに示されるように、先頭にＫＬ(Key,length)情報が配され、次にＩ、ＰまたはＢピクチャの本体が配され、さらにＫＬ情報が配される。ピクチャの末尾には、必要に応じてフィラーが配され、２０４８バイト単位で末尾が揃えられる。
【００８２】
このような構成において、ＭＰＥＧ２のロングＧＯＰでは、各ピクチャの情報量、すなわち図１０Ｅに示されるＩ、ＰおよびＢピクチャのサイズの値が不確定となる。したがって、例えばロングＧＯＰビデオＭＸＦファイル中のあるフレームから再生を開始しようとした場合に、ロングＧＯＰビデオＭＸＦファイル中のそのフレームに対応するピクチャの先頭位置を、バイト位置などで指定することができない。
【００８３】
そのため、ロングＧＯＰビデオＭＸＦファイルの先頭位置からバイト単位で示されるファイルアドレス（図１０Ｆ参照）を基準として、ロングＧＯＰビデオＭＸＦファイルに含まれる各ピクチャそれぞれについて、ファイルアドレス、サイズおよびピクチャタイプ（Ｉ、ＰまたはＢピクチャ）と、そのピクチャがＧＯＰの先頭のピクチャであるか否かを示す情報を、ピクチャポインタ情報として用意する。このピクチャポインタ情報は、ロングＧＯＰビデオＭＸＦファイル毎に用意される。
【００８４】
なお、図１０Ｅに示されるピクチャ末尾に配されるフィラーは、各ピクチャの境界がファイルアドレスで見て例えば２０４８バイトといった所定バイトの倍数になるように調整する。一例として、各ピクチャの境界が光ディスク１０のセクタといった最小アクセス単位の境界に一致するように、フィラーを用いて調整すると、各ピクチャ毎のアクセスが容易となり好ましい。
【００８５】
図１１は、ピクチャポインタ情報が記述されるピクチャポインタテーブルのより具体的な例を示す。この例では、ピクチャポインタテーブルは、８バイト単位でデータが記述される。先頭の８バイトは、予約領域およびこのピクチャポインタテーブルのバージョン情報が格納される。以下、１フレームすなわち１ピクチャに対して８バイトが割り当てられ、この８バイトの情報がロングＧＯＰビデオファイルに含まれるピクチャの数だけ並べられる。各ピクチャは、表示フレーム順に並べられている。
【００８６】
各ピクチャ毎のデータについて説明する。先頭の１ビットは、そのピクチャがＧＯＰの先頭のピクチャであるか否かを示すフラグである。例えば、１ＧＯＰ内にＩピクチャが複数枚、存在する場合を想定すると、Ｉピクチャの位置だけではＧＯＰの境界を特定できない。ＧＯＰの境界を特定できないと、ＭＰＥＧ２に規定されるシーケンスヘッダ(Sequence Header)の位置が分からず、デコーダに入力されるストリームの先頭にシーケンスヘッダが無いという状態になるおそれがある。このＧＯＰ先頭のピクチャであるか否かを示すフラグをピクチャ毎に持たせることで、このような状態を回避できる。再生時には、このフラグに基づきデコーダにストリームを入力させる。
【００８７】
次の２３ビットは、図１０Ｅに示される、ピクチャのサイズ情報が格納される。サイズ情報として２３ビットを確保することで、８ＭＢ（メガバイト）までのデータサイズに対応でき、ＭＰＥＧプロファイルの４２２＠ＨＬにも対応可能となる。
【００８８】
次の２ビットでピクチャのタイプが示される。Ｂピクチャについては、参照方向の情報も示される。ピクチャのタイプは、より具体的には、例えば次のように記述される。
００：Ｉピクチャ
１０：Ｐピクチャ
０１：未来のフレームのみから後方(Backward)参照されて復元されるＢピクチャ。これは、例えばオープンＧＯＰの場合の、ロングＧＯＰビデオファイル先頭のＢピクチャ、または、クローズドＧＯＰの場合の各ＧＯＰの先頭のＢピクチャである。
１１：前方および後方のフレームが参照されて復元されるＢピクチャ。
【００８９】
次の３８ビットは、当該ピクチャのロングＧＯＰビデオファイル内におけるファイルアドレスが示される。ファイルアドレスに３８ビットを割り当てることで、サイズが２５６ＧＢ（ギガバイト）までのロングＧＯＰビデオファイルに対応可能である。例えば、１層で２７ＧＢの記録容量を有する記録層が８層まで形成された光ディスク１に対応可能である。
【００９０】
このピクチャポインタテーブルは、ピクチャポインタファイルとして、非時系列メタデータと共に例えば記録媒体のＮＲＴ領域に記録される。光ディスク１がシステムに装填された際に、このＮＲＴ領域に記録された非時系列メタデータとピクチャポインタファイルがシステムにより読み出され、光ディスク１がシステムに対してマウントされる。読み出された非時系列メタデータやピクチャポインタファイルは、例えばシステムの制御部が有するメモリに保持される。システムの制御部は、メモリに保持されるピクチャポインタテーブルを参照することで、光ディスク１に記録されるクリップ中の任意のピクチャにアクセスすることができる。
【００９１】
次に、この発明の実施の第１の形態に適用可能な記録再生装置について説明する。図１２は、この発明の実施の第１の形態に適用可能な記録再生装置１００の一例の構成を示す。この記録再生装置１００は、記録媒体として上述した光ディスク１を用いることができる。
【００９２】
記録側ビデオ信号処理部１０１は、入力されたベースバンドのディジタルビデオデータに対して所定の信号処理を施す。ＭＰＥＧエンコーダ１０２は、記録側ビデオ信号処理部１０１から供給されたディジタルビデオデータに対して、ＭＰＥＧ２の既定に準じた圧縮符号化処理を施し、ＭＰＥＧ  ＥＳ（ＭＰＥＧ  エレメンタリストリーム）を出力する。すなわち、ＭＰＥＧエンコーダ１０２は、供給されたディジタルビデオデータに対して、ＤＣＴ(Discrete Cosine Transform)によりフレーム内圧縮を行い、予測符号化を用いてフレーム間圧縮を行う。さらに、フレーム内圧縮およびフレーム間圧縮を行ったデータに対して、可変長符号化を施す。
【００９３】
メモリコントローラ１０３は、ＲＡＭ(Random Access Memory)１０４Ａおよび１０４Ｂが接続され、記録および再生に関わるビデオデータやオーディオデータのＲＡＭ１０４Ａおよび／または１０４Ｂに対するバッファリングを制御すると共に、上述した記録側のビデオ処理を行う各部、後述するディスクドライブ部１０５や全体の制御を行うＣＰＵ(Central Processing Unit)１２１が接続されるバス１２０、再生側のビデオ処理を行う各部およびオーディオ処理を行う各部などの間でのデータやコマンドのやりとりを制御する。
【００９４】
ＲＡＭ１０４Ａは、例えばＳＤＲＡＭ(Synchronous Dynamic RAM)からなり、例えば光ディスク１の記録フォーマットである年輪イメージで以て、１乃至複数年輪分のビデオデータおよびオーディオデータや、その他のデータを一時的に格納可能とされる。また、ＲＡＭ１０４Ｂは、例えばＳＲＡＭ(Static RAM)からなり、オーディオデータのバッファリングを行う。メモリコントローラ１０３は、これらＲＡＭ１０４Ａおよび１０４Ｂに対するアクセス制御を、後述するＣＰＵ１２１を介さないでＤＭＡ(Direct Memory Access)制御により行うことができる。
【００９５】
ディスクドライブ部１０５は、詳細は後述するが、装填された光ディスク１に対するデータの記録や、光ディスク１に記録されたデータの再生を行う。ディスクドライブ部１０５は、メモリコントローラ１０３と例えばＡＴＡ(AT Attachment)といった所定のインターフェイスで接続され、インターフェイスを介して供給されたコマンドやアドレス情報に基づき、光ディスク１の所定のアドレスにアクセスできるようになっている。
【００９６】
ＭＰＥＧデコーダ１０６は、メモリコントローラ１０３から供給された、ＭＰＥＧ２の既定に準じた圧縮符号化方式で圧縮符号化されたビデオデータの復号化を行う。ＭＰＥＧデコーダ１０６は、復号化後のフレームを複数、溜め込むことが可能なフレームバッファを有し（図示しない）、復号化されたフレームをこのフレームバッファに溜め込むようにされている。ＭＰＥＧデコーダ１０６は、例えば、このフレームバッファに溜め込まれたフレームを用いて前方および／または後方参照のピクチャの復号化を行うと共に、所定の出力制御命令に基づき、フレームの出力タイミングなどを制御する。
【００９７】
再生側ビデオ処理部１０８は、ＭＰＥＧデコーダ１０６で復号化されたベースバンドのディジタルビデオデータに所定の信号処理を施し、外部に出力する。また、再生側ビデオ処理部１０８には、補助ＡＶデータにおけるビデオデータ側の処理を行う補助ＡＶ（Ｖ）部１０７が接続される。
【００９８】
補助ＡＶ（Ｖ）部１０７は、補助ＡＶデータのビデオデータ部分に対する処理を行う。例えば、補助ＡＶ（Ｖ）部１０７は、記録側ビデオ処理部１０１から供給されたビデオデータに対して所定に圧縮符号化処理を施して、補助ＡＶデータのビデオデータ部分を作成する。作成された補助ＡＶデータのビデオデータ部分は、再生側ビデオ処理部１０８を介してメモリコントローラ１０３に供給される。また、補助ＡＶ（Ｖ）部１０７は、メモリコントローラ１０３から再生側ビデオ処理部１０８を介して供給された、補助ＡＶデータのビデオデータ部分を復号化する処理も行う。補助ＡＶデータのビデオデータ部分が復号化されたディジタルビデオデータは、再生側ビデオ処理部１０８に供給される。
【００９９】
オーディオ処理部１０９は、ディジタルおよびアナログオーディオ信号に関する入出力処理を行う。例えば、入力されたディジタルオーディオデータに対して所定の信号処理を施して、メモリコントローラ１０３や後述する補助ＡＶ（Ａ）部１１０に供給する。また、メモリコントローラ１０３や補助ＡＶ（Ａ）部１１０から供給されたディジタルオーディオデータに対して所定の信号処理を施して外部に出力する。さらに、オーディオ処理部１０９は、外部から供給されたアナログオーディオ信号をＤ／Ａ変換してディジタルオーディオデータとし、メモリコントローラ１０３や補助ＡＶ（Ａ）部１１０に供給する。さらにまた、オーディオ処理部１０３は、メモリコントローラ１０３や補助ＡＶ（Ａ）部１１０から供給されたディジタルオーディオデータをＡ／Ｄ変換してアナログオーディオ信号として外部に出力する。
【０１００】
補助ＡＶ（Ａ）部１１０は、補助ＡＶデータのオーディオデータ部分の処理を行う。例えば、補助ＡＶ（Ａ）部１１０は、オーディオ処理部１０９から供給されたディジタルビデオデータに対して所定の圧縮符号化処理を施して補助ＡＶデータのオーディオデータ部分を作成する。作成された補助ＡＶデータのオーディオデータ部分は、メモリコントローラ１０３に供給される。また、補助ＡＶ（Ａ）部１１０は、メモリコントローラ１０３から供給された補助ＡＶデータのオーディオデータ部分を復号化し、オーディオ処理部１０９に供給する。
【０１０１】
メモリコントローラ１０３に対して、バス１２０が接続される。バス１２０には、ＣＰＵ１２１が接続される。ＣＰＵ１２１には、バスを介してＲＡＭ１２２、ＲＯＭ(Read Only Memory)１２３およびコネクタ１２４がさらに接続される。ＣＰＵ１２１は、ＲＯＭ１２３に予め記憶されたプログラムに従い、ＲＡＭ１２２をワークメモリとして用いて、この記録再生装置１００の全体を制御する。コネクタ１２４は、脱着可能とされた不揮発性のメモリ１２５を装着するためのものである。なお、ＣＰＵ１２１と記録再生装置１００の各部との間でコマンドやデータのやりとりを行う経路は、繁雑さを避けるため、図１２では省略されている。
【０１０２】
バス１２０に対して、通信インターフェイス（Ｉ／Ｆ）１２６がさらに接続される。通信Ｉ／Ｆ１２６は、例えばＩＥＥＥ(Institute Electrical and Electronics Engineers)１３９４の規格に準じた通信方式でこの記録再生装置１００と外部機器との間で通信を行う。通信Ｉ／Ｆ１２６に適用される通信方式は、ＩＥＥＥ１３９４に限られず、例えばＵＳＢ(Universal Serial Bus)などでもよい。
【０１０３】
さらにまた、バス１２０は、ブリッジ１３０を介してバス１３１に接続される。バス１３１には、ＣＰＵ１３２、メモリ１３３および通信インターフェイス（Ｉ／Ｆ）１３４がさらに接続される。通信Ｉ／Ｆ１３４は、例えばＬＡＮ(Local Area Network)に接続され、ＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol)を通信プロトコルに用いた通信を行う。ＣＰＵ１３２は、図示されないＲＯＭに予め格納されたプログラムに従い、ＲＡＭ１３３をワークメモリとして用いて、通信インターフェイス（Ｉ／Ｆ）１３４による通信を制御する。例えば、ＣＰＵ１３２は、通信Ｉ／Ｆ１３４によるファイル転送を、ＦＴＰ(File Transfer Protocol)を用いて行うことができる。
【０１０４】
なお、例えば上述のＲＯＭ１２３を、ＥＥＰＲＯＭ(Electrically Erasable Programmable Read Only Memory)などの書き換え可能なＲＯＭとすれば、ＲＯＭ１２３に記憶されたプログラムを後から更新することが可能である。更新するためのプログラムデータは、例えばＬＡＮ経由でこの記録再生装置１００に供給されて通信Ｉ／Ｆ１３４で受信され、バス１３１、ブリッジ１３０およびバス１２０を介してＣＰＵ１２１に供給され、ＣＰＵ１２１の制御に基づきＲＯＭ１２３に書き込まれる。また、更新のためのプログラムデータは、通信Ｉ／Ｆ１２６を介して外部から供給されてもよいし、脱着可能なメモリ１２５に記憶され、メモリ１２５からインターフェイス１２４を介して供給されてもよい。
【０１０５】
外部からタイミングジェネレータ（ＴＧ）１４０に対して、ビデオデータやオーディオデータの同期を取るための基準同期信号が供給される。タイミングジェネレータ１４０は、供給された基準同期信号に基づき、この記録再生装置１００内部で用いる種々のタイミング信号を生成する。生成されたタイミング信号は、信号の種類などに応じて、記録再生装置１００内部の対応する部分に供給される（図示しない）。
【０１０６】
なお、この記録再生装置１００に対する操作は、例えば通信Ｉ／Ｆ１２６や通信Ｉ／Ｆ１３４を介して、外部から供給されるコマンドに基づき行うことができる。すなわち、ＣＰＵ１２１は、通信Ｉ／Ｆ１２６や通信Ｉ／Ｆ１３４を介して外部の機器とデータやコマンドのやりとりを行い、外部の機器から操作コマンドを受け取ったり、記録再生装置１００のステータス情報を外部の機器に送信する。この外部の機器とのやりとりに基づき、ＣＰＵ１２１は、この記録再生装置１００の各部を所定に制御する。
【０１０７】
勿論、これに限らず、記録再生装置１００に対して操作部を設け、操作部に対する操作に応じて記録再生動作を制御するようにしてもよい。
【０１０８】
図１３は、この記録再生装置１００のディスクドライブ部１０５の一例の構成を示す。記録時には、メモリコントローラ１０３から供給された記録データが、ＥＣＣ(Error Correction Coding)部１５８およびメモリコントローラ１５６を介してメモリ１５７に溜め込まれる。メモリコントローラ１５６は、制御部１５０の制御に基づきメモリ１５７に対するアクセスを制御する。なお、制御部１５０は、マイクロコンピュータからなり、メモリコントローラ１５６からの制御信号に基づきこのディスクドライブ部１０５を制御する。
【０１０９】
メモリ１５７に溜め込まれた記録データに対して、ＥＣＣ部１５８によりエラー訂正単位毎にエラー訂正符号が生成される。ビデオデータおよびオーディオデータに対するエラー訂正符号としては、積符号を使用することができる。積符号は、ビデオデータまたはオーディオデータの２次元配列の縦方向に外符号の符号化を行い、その横方向に内符号の符号化を行い、データシンボルを２重に符号化するものである。外符号および内符号としては、リードソロモンコード(Reed-Solomon code) を使用できる。積符号で完結するデータ単位をＥＣＣブロックと称する。ＥＣＣブロックは、例えば６４ｋバイト（６５５３６バイト）のサイズを有する。メモリコントローラ１５６は、メモリ１５７からＥＣＣブロックを読み出し、変調／復調部１５５に記録データとして供給する。変調／復調部１５５は、この記録データを変調して記録信号を生成し、ピックアップ部１５２に供給する。
【０１１０】
ピックアップ部１５２は、変調／復調部１５５から供給される記録信号に基づきレーザ光の出力を制御して、スピンドルモータ１５１により回転駆動される光ディスク１に記録信号を記録する。
【０１１１】
なお、ピックアップ部１５２は、光ディスク１からの反射光を光電変換して電流信号を生成し、ＲＦ(Radio Frequency)アンプ１５３に供給する。ＲＦアンプ１５３は、ピックアップ部１５２からの電流信号に基づいて、フォーカス誤差信号およびトラッキング誤差信号、ならびに、再生信号を生成し、トラッキング誤差信号およびフォーカス誤差信号をサーボ制御部１５４に供給する。また、ＲＦアンプ１５３は、再生時に再生信号を変調／復調部１５５に供給する。
【０１１２】
レーザ光の照射位置は、サーボ制御部１５４からピックアップ部１５２に供給されるサーボ信号により所定の位置に制御される。すなわち、サーボ制御部１５４は、フォーカスサーボ動作やトラッキングサーボ動作の制御を行う。具体的には、サーボ制御部１５４は、ＲＦアンプ１５３からのフォーカス誤差信号とトラッキング誤差信号に基づいてフォーカスサーボ信号とトラッキングサーボ信号をそれぞれ生成し、ピックアップ部１５２のアクチュエータ（図示しない）に供給する。またサーボ制御部１５４は、スピンドルモータ１５１を駆動するスピンドルモータ駆動信号を生成して、光ディスク５を所定の回転速度で回転させるスピンドルサーボ動作の制御を行う。
【０１１３】
さらにサーボ制御部１５４は、ピックアップ部１５２を光ディスク１の径方向に移動させてレーザ光の照射位置を変えるスレッド制御を行う。なお、光ディスク５の信号読み出し位置の設定は、メモリコントローラ１０３から供給される制御信号に基づき、制御部１５０によって行われ、設定された読み出し位置から信号を読み出すことができるように、ピックアップ部１５２の位置が制御される。
【０１１４】
スピンドルモータ１５１は、サーボ制御部１５４からのスピンドルモータ駆動信号に基づいて、光ディスク１を線速度一定のＣＬＶ(Constant Linear Velocity)、または、角速度一定のＣＡＶ(Constant Angler Velocity)で回転駆動する。スピンドルモータ１１２の駆動方式は、信号処理部３からの制御信号に基づき、ＣＬＶおよびＣＡＶとで切り替え可能とされている。
【０１１５】
再生時には、ピックアップ部１５２が光ディスク１にレーザ光を集光して照射し、光ディスク１からの反射光を光電変換した電流信号をＲＦアンプ１５３に供給する。変調／復調部１５５は、ＲＦアンプ１５３から供給された再生信号を復調して再生データを生成し、メモリコントローラ１５６に供給する。メモリコントローラ１５６は、供給された再生データをメモリ１５７に書き込む。メモリ１５７からＥＣＣブロック単位で再生データが読み出され、ＥＣＣ部１５８に供給される。
【０１１６】
ＥＣＣ部１５８は、供給されたＥＣＣブロック単位の再生データのエラー訂正符号を復号化してエラー訂正を行う。エラー訂正符号の持つエラー訂正能力を超えてエラーが検出されたときは、エラー訂正を行わずに、エラー訂正単位に対してエラーフラグを立てる。ＥＣＣ部１５８から出力された再生データは、メモリコントローラ１０３に供給される。
【０１１７】
以上のような構成において、記録時には、記録再生装置１００に対して、ディジタルビデオデータおよびディジタルオーディオデータが入力される。ディジタルビデオデータは、記録側ビデオ処理部１０１で所定の信号処理を施され、ＭＰＥＧエンコーダ１０２でＭＰＥＧ２の規格に準じた方式で圧縮符号化され、メモリコントローラ１０３に供給される。また、ディジタルオーディオデータは、オーディオ処理部１０９で所定の信号処理を施され、メモリコントローラ１０３に供給される。
【０１１８】
一方、記録側ビデオ処理部１０１から補助ＡＶ（Ｖ）部１０７に対してディジタルビデオデータが供給される。補助ＡＶ（Ｖ）部１０７は、例えばＭＰＥＧ４に規定される圧縮符号化方式により、供給されたディジタルビデオデータを、ビットレートが数Ｍｂｐｓ程度になるように圧縮符号化し、補助ＡＶデータのビデオデータ部分を得る。この補助ＡＶデータのビデオデータ部分は、メモリコントローラ１０３に供給される。また、オーディオ処理部１０９から出力されたディジタルオーディオデータが補助ＡＶ（Ａ）部１１０に供給され、例えば間引きとＡ−Ｌａｗ符号化を用い、サンプリング周波数および量子化ビット数を落として圧縮符号化し、メモリコントローラ１０３に供給する。
【０１１９】
メモリコントローラ１０３は、ＣＰＵ１２１の命令に基づき、ＭＰＥＧエンコーダ１０２で圧縮符号化された供給されたディジタルビデオデータと、オーディオ処理部１０９から供給されたディジタルオーディオデータと、補助ＡＶ（Ｖ）部１０７および補助ＡＶ（Ａ）部１０６から供給されたデータからなる補助ＡＶデータとを、例えばＲＡＭ１０４Ａに所定に溜め込む。このとき、メモリコントローラ１０３は、供給された圧縮ディジタルビデオデータと、ディジタルオーディオデータと、補助ＡＶデータとを、上述した年輪のフォーマットに対応するように、ＲＡＭ１０４Ａ上にマッピングする。
【０１２０】
メモリコントローラ１０３は、ＣＰＵ１２１からの命令に基づき、ＲＡＭ１０４Ａ上に所定にデータが溜め込まれたら、ＲＡＭ１０４Ａからデータを読み出して、読み出したデータを書き込み命令と共にディスクドライブ部１０５に供給する。ディスクドライブ部１０５は、供給された記録データを、書き込み命令に基づき、光ディスク１に対して年輪フォーマットで記録する。
【０１２１】
再生時には、光ディスク１がディスクドライブ部１０５に装填されると、ディスクドライブ部１０５は、光ディスク１上のファイルシステムＦＳが読み込まれる。ＣＰＵ１２１は、光ディスク１上のファイルの読み出し命令を、メモリコントローラ１０３を介してディスクドライブ部１０５に供給する。ディスクドライブ部１０５は、この命令に従い、読み込まれたファイルシステムＦＳに基づき指定されたファイルにアクセスする。ディスクドライブ部１０５は、光ディスク１から年輪単位でデータを読み込み、メモリコントローラ１０３に供給する。メモリコントローラ１０３は、供給されたデータを、年輪イメージで以て例えばＲＡＭ１０４Ａに溜め込む。オーディオデータは、ＲＡＭ１０４Ｂに溜め込まれる。
【０１２２】
メモリコントローラ１０３は、ＲＡＭ１０４Ａの所定量以上のデータが溜め込まれたら、ＲＡＭ１０４Ａからデータを読み出す。例えばＲＡＭ１０４Ａから読み出されたディジタルビデオデータは、メモリコントローラ１０３からＭＰＥＧデコーダ１０６に供給され、圧縮符号を復号化され、ベースバンドのディジタルビデオデータとされる。このディジタルビデオデータは、再生側ビデオ処理部１０８に供給され、所定に信号処理を施され、出力される。
【０１２３】
ＲＡＭ１０４Ａから読み出されたディジタルオーディオデータも、メモリコントローラ１０３からオーディオ処理部１０９に供給され、所定に信号処理されて出力される。
【０１２４】
また、ＲＡＭ１０４Ａから読み出された補助ＡＶデータは、ビデオデータ部分がメモリコントローラ１０３から再生側ビデオ処理部１０８を介して補助ＡＶ（Ｖ）部１０７に供給される。補助ＡＶデータのビデオデータ部分は、補助ＡＶ（Ｖ）１０７で圧縮符号を復号化され、再生側ビデオ処理部１０８を介して出力される。また、ＲＡＭ１０４Ａから読み出された補助ＡＶデータのオーディオデータ部は、メモリコントローラ１０３から補助ＡＶ（Ａ）部１１０に供給される、補助ＡＶデータのオーディオデータ部は、補助ＡＶ（Ａ）部で圧縮符号を復号化され、オーディオ処理部１０９を介して出力される。
【０１２５】
次に、この発明の実施の第１の形態について説明する。この発明では、例えば光ディスク１といった記録媒体に記録されたディジタルビデオデータを読み出した際に、読み出されたデータ位置を含む所定範囲について、フレーム毎の記録位置などを示す情報からなるインデックステーブルを生成し、メモリに記憶する。この記録媒体にアクセスしてデータを再生する、例えばコンピュータ装置といった外部機器に対しては、このメモリに記憶されたインデックステーブルを、記録媒体の記録内容を示す情報として提示する。すなわち、外部機器側では、このインデックステーブルの情報に基づきアクセス対象の記録媒体がインターリーブＭＸＦファイルとして仮想的に示される。
【０１２６】
インデックステーブルは、例えばクリップが閉じられるまでメモリに保持され、次に当該インデックステーブルに記述される位置にアクセスされた際に再び用いられる。インデックステーブルに記述される位置に何度もアクセスするような場合に、処理が効率化される。
【０１２７】
例えば、上述の例でいうと、光ディスク１からデータが読み出され、ＲＡＭ１０４Ａに書き込まれると、ＣＰＵ１２１は、ＲＡＭ１０４Ａに書き込まれたデータに基づきインターリーブＭＸＦファイルのイメージを作成し、インデックステーブル、各パーティションテーブルなどのテーブル情報をＲＡＭ１２２上に保持する。例えばＣＰＵ１２１は、光ディスク１から読み出されＲＡＭ１０４Ａに書き込まれたピクチャポインタテーブルの情報を参照して、これらインデックステーブル、各パーティションテーブルなどのテーブル情報を作成する。
【０１２８】
これに限らず、光ディスクからＮＲＴ領域のデータだけを読み出してピクチャポインタテーブルを抽出し、ビデオデータなどの再生を行わずに、このピクチャポインタテーブルからインデックステーブルや各パーティションテーブルなどのテーブル情報を作成するようにしてもよい。
【０１２９】
ＣＰＵ１２１は、このＲＡＭ１２２上に保持された情報に基づきＲＡＭ１０４Ａに溜め込まれたデータにアクセスする。このようにすることで、例えば、光ディスク１に対して年輪フォーマットで記録されたデータを、通信Ｉ／Ｆ１３４や通信Ｉ／Ｆ１２６で接続された外部の機器に対して、インターリーブＭＸＦフォーマットのデータとして見せることができる。すなわち、外部機器は、記録再生装置１００にマウントされた光ディスク１または記録再生装置１００自体を、外部機器に接続されたストレージ装置として扱うことが可能となる。これにより、外部機器は、光ディスク１に記録されたクリップをファイルとして扱うことができるようになる。記録再生装置１００におけるこのような動作モードを、ファイルアクセスモードと呼ぶ。
【０１３０】
以下、この発明の実施の第１の形態について、より詳細に説明する。図１４は、この発明の実施の第１の形態によるインターリーブＭＸＦファイルの構築について、概念的に示す。上述したように、光ディスク１上には、クリップを構成する各データ（ビデオデータと１乃至複数チャンネルのオーディオデータとする）が記録されると共に、ＮＲＴ領域にピクチャポインタテーブルが記録される。光ディスク１が例えば記録再生装置１００に装填されると、ピクチャポインタテーブルやファイルシステムなどがシステムに読み込まれ、光ディスク１がシステムにマウントされる。
【０１３１】
光ディスク１に記録されたあるクリップのビデオデータに対するアクセスが指示されると、システムに読み込まれたピクチャポインタテーブルに基づき、アクセスが指示されたアドレスに対して所定範囲についてインデックステーブルが作成され、インデックステーブル用のキャッシュメモリに記憶される。それと共に、作成されたインデックステーブルに対応する範囲の、クリップを構成する各データがフレーム毎にインターリーブされ、エディットユニットが作成される。作成されたエディットユニットは、エディットユニット用のキャッシュメモリに記憶される。
【０１３２】
インデックステーブル用キャッシュメモリに記憶されたインデックステーブルと、エディットユニット用キャッシュメモリに記憶されたエディットユニットは、クリップが閉じられるまで保持される。キャッシュメモリに記憶されたインデックステーブルに記述されるエディットユニットに対してアクセスが指示された際には、キャッシュに記憶されたインデックステーブルやエディットユニットを取り出して提示または出力する。このような処理により、インデックステーブルに関する処理が効率化される。
【０１３３】
図１５を用いてより詳細に説明する。光ディスク１は、上述した年輪フォーマットが適用されているものとする。図１５Ａに一例が示されるように、光ディスク１に記録されたあるクリップに対して、出力フレームが指示されたら、指示された出力フレーム前後の所定範囲について、クリップを構成する各データ（ビデオデータおよびオーディオデータ）が年輪単位で光ディスク１から読み出されると共に、ピクチャポインタ情報が参照され、対応する範囲のパーティションテーブル２００およびボディテーブル２０１が作成される。パーティションテーブル２００およびボディテーブル２０１については、後述する。
【０１３４】
光ディスク１から読み出されたビデオデータおよびオーディオデータは、フレーム単位でインターリーブされ、エディットユニットが作成される。作成されたエディットユニットは、エディットユニット用のキャッシュメモリ２０２に記憶される（図１５Ｂ参照）。
【０１３５】
一方、ピクチャポインタ情報に基づき作成されたパーティションテーブル２００およびボディテーブル２０１から、インデックステーブル２０３が作成される。作成されたインデックステーブル２０３は、インデックステーブル用のキャッシュメモリ２０４に記憶される（図１５Ｂ参照）。インデックステーブル２０３は、アクセスされた部分についてのみ、逐次的に作成される。例えば、次にアクセスが指示されたフレームの情報が既に作成されたインデックステーブル２０３に記述されていなければ、当該フレームに対応して新たなインデックステーブルが作成される。なお、インデックステーブル用のキャッシュメモリ２０４は、クリップの全てのインデックステーブルを記憶可能な容量が予め確保される。
【０１３６】
キャッシュメモリ２０２および２０４に記憶されたエディットユニットおよびインデックステーブルにより、出力インターリーブＭＸＦファイル２０５が形成される。詳細は後述するが、出力インターリーブＭＸＦファイル２０５は、インデックステーブルに基づきクリップの内容をディレクトリ構造を用いて表現することができるようになっている。
【０１３７】
例えば、ルートディレクトリの下に、クリップを構成する各データの情報が記述されるインデックスファイルが置かれると共に、クリップのデータが格納されるクリップディレクトリが構成される。クリップディレクトリの下には、クリップを構成する各データ毎に一つのファイルとして置かれる。これは、例えば、このインターリーブＭＸＦファイル２０５をコンピュータ装置に転送した場合に、インターリーブＭＸＦファイル２０５に格納されるクリップを、コンピュータ装置上で一つのファイルとして扱うことができることを意味する。すなわち、このようにしてインターリーブＭＸＦファイル２０５を構成することで、光ディスク１上に年輪フォーマットなどで記録されたクリップを、コンピュータ装置で容易に処理可能とすることができる。
【０１３８】
上述したパーティションテーブル２００およびボディテーブル２０１について、より具体的に説明する。先ず、図１６を用いてボディテーブル２０１について説明する。図１６Ａは、図２Ｂで説明したエッセンスコンテナの構成を示す。ボディテーブル２０１は、エッセンスコンテナに含まれる各エディットユニットの情報が、コーディングオーダ順に記述される。
【０１３９】
各エディットユニットの情報は、最初の１バイトのうち３ビットおよび５ビットのデータ長でテンポラルオフセットおよびキーフレームオフセットがそれぞれ記述され、次にフラグ（図６参照）が１バイトのデータ長で記述される。さらに、エディットユニットに格納されるピクチャのサイズを示すピクチャアイテムサイズが記述され、次に、エディットユニットのエッセンスコンテナに対するオフセットが記述される。この図１６の例では、ピクチャアイテムサイズは、２５６で除した値が２バイトのデータ長で記述され、エディットユニットのエッセンスコンテナに対するオフセットは、２５６で除した値が４バイトのデータ長で記述される。
【０１４０】
これらの、ボディテーブル２０１に記述される各データは、ピクチャポインタテーブルに記述されたデータから求めることができる。例えば、テンポラルオフセットやキーフレームオフセット、フラグは、ピクチャポインタテーブルの並び順（ディスプレイオーダ）、ＧＯＰの先頭であるか否かを示すフラグ、ピクチャタイプなどに基づき求めることができる。また、ピクチャアイテムサイズおよびエディットユニットオフセットは、それぞれ、ピクチャポインタテーブルのピクチャサイズおよびピクチャオフセットなどに基づき求めることができる。
【０１４１】
次に、図１７を用いてパーティションテーブル２００について説明する。図１７Ａは、図２Ａなどで説明した、インターリーブＭＸＦファイルの全体構成を示す。パーティションテーブル２００は、図１７Ｂに一例が示されるように、ボディパーティションパックのオフセット情報が８バイトのデータ長で記述されると共に、ボディパーティションパックにおけるエディットユニットのオフセットが４バイトのデータ長で記述される。
【０１４２】
この図１７Ｂの例では、パーティションテーブル２００の最初の行である第０行目に、インターリーブＭＸＦファイルの最初のボディパーティションパックから始まるボディパーティション＃０について、インターリーブＭＸＦファイルの先頭からのオフセットが記述され、当該ボディパーティション＃０の最初のエディットユニット＃０のオフセットが記述される。なお、インターリーブＭＸＦファイルの先頭からのオフセットは、ヘッダサイズと同一となる。以降、第１行目から、各ボディパーティションのオフセット情報と、ボディパーティションの最初のエディットユニットのオフセットが記述される。最後の第Ｎ行目は、インターリーブＭＸＦファイルのフッタ部の先頭に配置されるフッタパーティションパックのオフセットが記述される。
【０１４３】
このパーティションテーブル２００に記述される各データは、インターリーブＭＸＦファイルの構造に基づき生成される。すなわち、各ボディパーティションパックで区切られるボディパーティションに格納されるエディットユニット数が決定された時点で、上述したボディテーブル２０１またはピクチャポインタテーブルに記述されたデータに基づき、パーティションテーブル２００に記述するデータが決められる。各ボディパーティションに格納されるエディットユニット数は、例えばシステムにより予め設定される。
【０１４４】
ここで、上述のパーティションテーブル２００およびボディテーブル２０１のデータサイズを計算してみる。一例として、１ボディパーティションは、再生時間で略１０ｓｅｃ分のクリップを構成するデータが格納されるものとする。フレーム周波数が３０Ｈｚ（２９．９７Ｈｚ）であれば、１ボディパーティションには、３００フレーム分のビデオデータおよびオーディオデータが格納されることになる。また、光ディスク１には、最大で３時間分のクリップが記録可能であるものとする。すなわち、光ディスク１には、最大で１０８０個のパーティションが形成され、３２４，０００フレームが記録可能である。
【０１４５】
このような条件において、ボディテーブル２０１は、１エディットユニット毎すなわち１フレームに付き８バイトのデータ長を有するので、３２４，０００フレーム×８バイト＝２，５９２，０００バイトのデータ容量となる。また、パーティションテーブル２００は、１パーティションに付き１２バイトのデータ長を有するので、１０８０パーティション×１２＝１２，９６０バイトのデータ容量となる。したがって、光ディスク１に対してインデックステーブル２０３を作成する際には、作業領域として、２，５９２，０００バイト＋１２，９６０バイト＝２，６０４，９６０バイトを確保する必要があることになる。
【０１４６】
次に、図１８〜図２５を用いて、インターリーブＭＸＦファイルの作成手順について説明する。図１８は、上述の図１２を用いて説明した記録再生装置１００において、インターリーブＭＸＦファイルの作成に関わりが深い部分を抜き出して示す。なお、図１８において、上述の図１２と対応する部分には同一の符号を付し、詳細な説明を省略する。インターリーブＭＸＦファイルの作成においては、メモリコントローラ１０３により光ディスク１からのデータの読み出し、ＲＡＭ１０４Ａおよび１０４Ｂへのアクセスが所定に制御されると共に、メインＣＰＵ１２１により、ＲＡＭ１０４Ａおよび１０４Ｂに書き込まれたデータに基づきインデックステーブルおよびエディットユニットが作成される。作成されたインデックステーブルは、メインＣＰＵ１２１に接続されるＲＡＭ１２２上に記憶される。また、エディットユニットは、ＲＡＭ１０４Ａに記憶される。
【０１４７】
メインＣＰＵ１２１は、例えば通信Ｉ／Ｆ１２６を介して接続されたコンピュータ装置などの外部機器から、光ディスク１に記録されたクリップに対するアクセス要求が供給されると、ＲＡＭ１２２に記憶されているインデックステーブルを通信Ｉ／Ｆ１２６を介して外部機器に対して提示する。外部機器は、提示されたインデックステーブルに基づきアクセスするエディットユニットを指示する。メインＣＰＵ１２１は、この指示に応じて、インデックステーブルに基づきエディットユニットをＲＡＭ１０４Ａから読み出し、通信Ｉ／Ｆ１２６を介して当該外部機器に転送する。
【０１４８】
以降、図１８の構成に基づいて、インターリーブＭＸＦファイルの作成過程を順を追って説明する。図１９は、インターリーブＭＸＦファイルを作成する一例の手順を示すフローチャートである。また、図２０〜図２４は、図１９のフローチャートに伴うデータの流れを概略的に示す。また、図２５は、図１９のフローチャートに伴い形成されるインターリーブＭＸＦファイルの様子を概略的に示す。例えば、この図２５に示すようにして、インターリーブＭＸＦファイルが通信Ｉ／Ｆ１２６を介して転送される。
【０１４９】
先ず、図１９のフローチャートの処理に先立って、光ディスク１が記録再生装置１００に装填され、光ディスク１から、ファイルシステムＦＳが読み出されると共に、ＮＲＴ領域に記録されているピクチャポインタを含む非時系列メタデータや、ＮＲＴ領域の次から記録されているクリップのＲＴメタデータやヘッダおよびフッタ情報などが読み出される。これらのデータが光ディスク１から読み出されることで、光ディスク１が記録再生装置１００のシステムにマウントされ、記録再生装置１００のシステムが光ディスク１に記録されたクリップデータなどにアクセス可能な状態となる。
【０１５０】
このようにして、光ディスク１が記録再生装置１００のシステムにマウントされた後、例えば、通信Ｉ／Ｆ１２６を介して接続された外部機器から、光ディスク１に記録されたクリップに対してアクセス要求があると、先ず、ピクチャポインタテーブルに基づき、要求されたアクセス位置が検索される。そして、ステップＳ１０で、メインＣＰＵ１２１により、ピクチャポインタテーブルに基づきアクセス要求がなされた位置の前後の所定範囲について、パーティションテーブル２００およびボディテーブル２０１が作成され、ＲＡＭ１２２の所定領域に記憶される（図２０のＳＥＱ１０）。また、ステップＳ１１で、メインＣＰＵ１２１により、ＲＡＭ１２２の所定領域に、インデックステーブルおよびボディパーティションパックの雛形が作成される（図２０のＳＥＱ１１）。
【０１５１】
次のステップＳ１２で、ＣＰＵ１２１は、ＲＡＭ１２２上に記憶されたパーティションテーブル２００およびボディテーブル２０１に基づき、インデックステーブルのデータとボディパーティションパックのデータとを作成する。作成されたこれらのデータは、ステップＳ１１で作成された雛形に嵌め込まれ（図２１のＳＥＱ１２）、所定のフォーマットとされてＲＡＭ１０４Ａの所定領域に転送され、記憶される（図２１のＳＥＱ１３）。ここで、ＲＡＭ１０４Ａの当該所定領域は、インデックステーブル用のキャッシュメモリ２０４として用いられる。
【０１５２】
この段階では、インターリーブＭＸＦファイルは、図２５Ａに一例が示されるように、ＲＡＭ１０４Ａ上に記憶されているヘッダパーティションパックおよびヘッダメタデータ部分のみが転送される。
【０１５３】
次のステップＳ１３で、キャッシュメモリ２０４に記憶されたインデックステーブルおよびボディパーティションパックが、パーティション毎に、ＲＡＭ１２２に対して転送される（図２２のＳＥＱ１４）。転送されたこれらのデータは、ＲＡＭ１２２上に所定に設けられたバンクに記憶される。このＲＡＭ１２２上に設けられたバンクは、例えば通信Ｉ／Ｆ１２６を介して接続された外部機器に対して、光ディスク１に記録されたクリップをインデックステーブルを用いて仮想的に提示するためのバンクである。ファイルアクセスモードでは、光ディスク１に記録されたクリップを、このＲＡＭ１２２上のバンクを介して外部に提示する。
【０１５４】
次のステップＳ１４で、バンクに記憶されたインデックステーブルが通信Ｉ／Ｆ１２６を介して外部機器に送出される（図２２のＳＥＱ１５）。すなわち、この段階で通信Ｉ／Ｆ１２６を介して転送されるインターリーブＭＸＦファイルは、図２５Ｂに一例が示されるように、ヘッダメタデータと、インデックステーブルの一部となる。
【０１５５】
次のステップＳ１５で、ＲＡＭ１０４Ａに記憶されたＲＴメタデータがメインＣＰＵ１２１に読み込まれ（図２３のＳＥＱ１６）、メインＣＰＵ１２１により１フレーム分のシステムアイテムが生成される。生成されたシステムアイテムは、ＲＡＭ１０４Ａの所定領域に記憶される（図２３のＳＥＱ１７）。
【０１５６】
次のステップＳ１６で、光ディスク１から、作成されたインデックステーブルに対応するビデオデータおよびオーディオデータが読み込まれる。読み込まれたビデオデータおよびオーディオデータは、ＲＡＭ１０４Ａの所定領域に、年輪イメージで以て書き込まれる（図２３のＳＥＱ１８）。ここで、ＲＡＭ１０４Ａに書き込まれたオーディオデータは、１乃至複数チャンネルのオーディオデータがインターリーブされている。ステップＳ１７で、ＲＡＭ１０４Ａ上に書き込まれた、チャンネルでインターリーブされたオーディオデータが、１フレーム単位でＲＡＭ１０４Ｂに書き込まれる（図２３のＳＥＱ１９）。
【０１５７】
この段階では、通信Ｉ／Ｆ１２６を介して転送されるインターリーブＭＸＦファイルは、図２５Ｃに一例が示されるように、ヘッダメタデータと、インデックステーブルの一部である。
【０１５８】
次のステップＳ１８で、メインＣＰＵ１２１により、ピクチャポインタテーブルの情報に基づき、ＲＡＭ１０４Ａからビデオデータおよびシステムアイテムが読み出されると共に、ＲＡＭ１０４Ｂからオーディオデータが読み出される（図２４のＳＥＱ２０）。読み出されたビデオデータ、システムアイテムおよびオーディオデータは、ステップＳ１８で、ＲＡＭ１２２の、ファイルアクセスモードで用いられるバンクを介して、通信Ｉ／Ｆ１２６により外部に送出される（図２４のＳＥＱ２１）。すなわち、ビデオデータおよびオーディオデータは、それぞれインターリーブＭＸＦファイルにおけるピクチャアイテムおよびオーディオアイテムとして、システムアイテムと共に、ＲＡＭ１２２のバンク上で１フレーム単位でエディットユニットを構成し、通信Ｉ／Ｆ１２６を介して送出される。
【０１５９】
すなわち、この段階のインターリーブＭＸＦファイルでは、図２５Ｄに一例が示されるように、ヘッダメタデータおよびインデックステーブルに続けて、エディットユニットがフレーム単位で順次、送出されることになる。
【０１６０】
以上の、ステップＳ１０〜ステップＳ１８までの処理が、光ディスク１に記録されたデータの読み出し命令に応じて適宜、実行され、インデックステーブルが逐次的に作成される。例えば、図２６に一例が示されるフローチャートのように、処理を制御することが考えられる。なお、記録媒体装置１００に対して、外部機器としてコンピュータ装置が通信Ｉ／Ｆ１２６を介して接続されているものとする。
【０１６１】
図２６のフローチャートにおいて、ステップＳ３０で、記録再生装置１００に光ディスク１が装填されると、光ディスク１のファイルシステムやＮＲＴ領域の非時系列メタデータ、ピクチャポインタテーブルなどが読み込まれ、光ディスク１が記録再生装置１００のシステムにマウントされ、例えば光ディスクに記録されたクリップにアクセス可能な状態となる。
【０１６２】
例えばユーザが、通信Ｉ／Ｆ１２６に外部機器として接続されたコンピュータ装置に対して光ディスク１に記録されたあるクリップを、ある位置から再生するような操作を行うと、コンピュータ装置から記録再生装置１００に対して、当該クリップをオープンする指示が送出され、メインＣＰＵ１２１に供給される（ステップＳ３１）。クリップの再生位置の指定は、例えばフレームやタイムコードを用いてなされる。また、これらに限らず、例えばジョグダイヤル操作などを用いて再生位置を前後に自在に移動させる、スクラブ再生によりクリップの再生位置を指定することもできる。
【０１６３】
メインＣＰＵ１２１は、この指示に基づき指定されたフレームに対応するエディットユニットの情報が記述されたインデックステーブルがキャッシュメモリ２０４上に存在するか否かを判断する（ステップＳ３２）。若し、インデックステーブルがキャッシュメモリ２０４上に存在すると判断されれば、処理はステップＳ３４に移行される。
【０１６４】
一方、インデックステーブルがキャッシュメモリ２０４上に存在しないと判断されれば、処理はステップＳ３３に移行される。ステップＳ３３では、上述した図１９のフローチャートに一例を示した処理に従い、光ディスク１から所定にデータが読み出され、メインＣＰＵ１２１によりインデックステーブルおよびエッセンスコンテナが作成される。インデックステーブルおよびエッセンスコンテナは、ＲＡＭ１２２にキャッシュされる。
【０１６５】
次のステップＳ３４で、インデックステーブルに基づき、再生が指定された位置に対応するエディットユニットがＲＡＭ１２２から読み出される。読み出されたエディットユニットは、通信Ｉ／Ｆ１２６を介して外部機器であるコンピュータ装置に転送される。このとき、対応するインデックステーブルも共に転送される。
【０１６６】
ステップＳ３５で、現在アクセス対象とされているクリップがクローズされたか否かが判断される。若し、当該クリップがクローズされたと判断されたら、処理はステップＳ３５に移行され、キャッシュがクリアされ、ＲＡＭ１２２に記憶されたインデックステーブルおよびエッセンスコンテナが破棄される。
【０１６７】
一方、ステップＳ３５でクリップがクローズされていないと判断されれば、処理はステップＳ３１に戻され、外部機器であるコンピュータ装置から通信Ｉ／Ｆ１２６を介して供給される再生指示に応じて、当該クリップの次の再生位置からの再生がなされる。そして、ステップＳ３２で、再生指示された位置に対応するエディットユニットがＲＡＭ１２２にキャッシュされているか否かが判断される。キャッシュされていると判断されれば、ＲＡＭ１２２からキャッシュされているデータが読み出され、キャッシュされていないと判断されれば、新たにインデックステーブルおよびエッセンスコンテナが作成され、ＲＡＭ１２２に対して追加してキャッシュされる。
【０１６８】
より具体的な例を用いれば、光ディスク１がシステムにマウントされ、最初に再生位置が指定された場合は、ＲＡＭ１２２にキャッシュされたデータが存在しないため、ステップＳ３３でインデックステーブルやエッセンスコンテナが作成され、ＲＡＭ１２２にキャッシュされる。例えば、図２７に概略的に示されるように、再生が指定されたフレームがエディットユニット３００に対応するとき、当該エディットユニット３００を含むボディパーティション３０１が作成されると共に、当該ボディパーティション３０１を管理するためのインデックステーブル３０２が作成される。当該ボディパーティション３０１に含まれる、１つ前のボディパーティションを管理するためのインデックステーブルは、実データが格納されている必要はない。
【０１６９】
ステップＳ３５でクリップのクローズがなされずに、ステップＳ３１に処理が戻され、再生が指定されたフレームが既にＲＡＭ１２２にキャッシュされているボディパーティション３０１に含まれるエディットユニット３０３に対応するフレームであれば、ＲＡＭ１２２にキャッシュされたエディットユニット３０３が読み出され、転送される（ステップＳ３４）。
【０１７０】
一方、ステップＳ３５の後のステップＳ３１で、再生が指定されたフレームが図２７のエディットユニット３０４に対応するフレームであれば、当該エディットユニット３０４が含まれるボディパーティション３０５は、ＲＡＭ１２２にキャッシュされていないため、ステップＳ３３で、当該ボディパーティション３０５に含まれるエディットユニットおよび当該ボディパーティション３０５を管理するためのインデックステーブルが新たに作成され（ステップＳ３３）、ＲＡＭ１２２に追加してキャッシュされる。
【０１７１】
図２８は、上述したインターリーブＭＸＦファイルの作成の際の各データの生成を纏めて示す。光ディスク１における記録フォーマットに対応したファイルマネージャ（ＦＭ）により、ピクチャポインタが生成される。ピクチャポインタは、ディプレイオーダで並べられ、ピクチャアイテムのみからなる。メタデータ（Ｍｅｔａ）により、ファイルオープン時にヘッダ、ならびに、ボディパーティションパックおよびインデックステーブルの雛形がそれぞれ生成される。メタデータは、例えば光ディスク１のＮＲＴ領域に記録される非時系列メタデータである。また、ファイルオープン時に、インターリーブＭＸＦファイルに対応したＭＸＦファイルマネージャ（ＭＸＦＭ）により、ピクチャポインタに基づきボディテーブルおよびパーティションテーブルが生成される。ボディテーブルは、コーディングオーダで並べられ、ピクチャ、オーディオなど全てのアイテムを含む。
【０１７２】
ＭＸＦファイルマネージャにより、パーティションテーブルのボディパーティションオフセットに基づきボディパーティションパックの雛形からボディパーティションパックが生成される。ボディパーティションパックは、ＭＸＦファイルマネージャにより、パーティション単位で更新される。また、ＭＸＦファイルマネージャにより、パーティションテーブルのボディパーティションオフセット、ならびに、ボディテーブルのテンポラルオフセット、キーフレームオフセット、フラグ、ストリームオフセットおよびスライスオフセットに基づき、インデックステーブルの雛形からインデックステーブルが生成される。インデックステーブルは、パーティション単位およびフレーム単位で更新される。なお、ストリームオフセットは、ボディテーブルのエディットユニットオフセットに基づく。また、スライスオフセットは、ボディテーブルのピクチャアイテムサイズに基づく。
【０１７３】
さらに、ＭＸＦファイルマネージャにより、パーティションテーブルの全てのパーティション情報に基づきランダムインデックスパック(ＲＩＰ：Random Index Pack)が生成される。
【０１７４】
図２９を用いて、上述のようにして作成されるインターリーブＭＸＦファイルの、通信Ｉ／Ｆ１２６を介して接続される外部機器に対する提示方法について説明する。図２９は、光ディスク１に記録されたデータの一例の管理構造を示す。既に説明したように、光ディスク１上のデータは、ファイルシステムによりディレクトリ構造で管理される。この図２９の例では、図示されないルートディレクトリの直下にディレクトリＰＲＯＡＶが設けられ、このディレクトリＰＲＯＡＶ以下に、光ディスク１に記録されるクリップデータなどが定義される。
【０１７５】
一例として、ディレクトリＰＲＯＡＶの直下には、ファイル「INDEX.XML」およびファイル「DISCINFO.XML」が置かれると共に、ディレクトリＣＬＰＲが設けられる。
【０１７６】
ディレクトリＣＬＰＲは、クリップデータを管理する。ここでいうクリップは、例えば撮影が開始されてから停止されるまでの、ひとまとまりのデータであるクリップデータは、上述した本線系のオーディオデータおよびビデオデータと、当該オーディオデータおよびビデオデータから生成された補助ＡＶデータと、当該オーディオデータおよびビデオデータに対応した時系列メタデータと非時系列メタデータとからなる。ディレクトリＣＬＰＲの直下に設けられたディレクトリ「C0001」、「C0002」、・・・には、クリップ毎に、クリップを構成するひとまとまりのデータが格納される。
【０１７７】
すなわち、これらクリップ毎の各ディレクトリ「C0001」、「C0002」、・・・がそれぞれ１つのインターリーブＭＸＦファイルに対応すると考えることができる。
【０１７８】
ディレクトリＣＬＰＲの直下に設けられた、一つのクリップ「C0001」に対応するディレクトリ「C0001」に対して、クリップを構成するデータのそれぞれがファイル名により区別されて格納される。この図２９の例では、ファイル名は、１２桁で構成され、デリミタ「．」より前の８桁のうち、前側５桁がクリップを識別するために用いられ、デリミタ直前の３桁は、オーディオデータ、ビデオデータ、補助ＡＶデータといった、データのタイプを示すために用いられている。また、デリミタ後の３桁は拡張子であって、データの形式を示している。
【０１７９】
より具体的には、この図２９の例では、クリップ「C0001」を構成するひとまとまりのファイルとして、クリップ情報を示すクリップインフォメーションファイル「C0001C01.SMI」、本線系ビデオデータファイル「C0001V01.MXF」、本線系の例えば８ｃｈ分のオーディオデータファイル「C0001A01.MXF」〜「C0001A08.MXF」、補助ＡＶデータファイル「C0001S01.MXF」、非時系列メタデータファイル「C0001M01.XML」、時系列メタデータファイル「C0001R01.BIM」およびポインタ情報（ピクチャポインタ）ファイル「C0001I01.PPN」が、クリップディレクトリ「C0001」に格納される。
【０１８０】
これらの、ディレクトリＣＬＰＲの情報、すなわち、ディレクトリＣＬＰＲ以下に置かれるクリップを構成する各ファイルの情報は、上述のインデックステーブルに記述された情報に基づき知ることができる。例えば、インデックステーブル内のデルタエントリアレイおよびインデックスエントリアレイなどの情報に基づき、クリップを構成するシステムデータ、ビデオデータおよびオーディオデータの情報を知ることができ、この情報に基づき、ディレクトリＣＬＰＲ以下の各ファイルのファイルサイズを得ることができる。なお、ファイル名は、システムにより所定の規則に従い自動的に付与することができる。
【０１８１】
ディレクトリＰＲＯＡＶ直下に置かれるファイル「INDEX.XML」は、ディレクトリＰＲＯＡＶ以下に格納されたクリップ情報を管理するインデックスファイルである。この例では、ファイル「INDEX.XML」は、ＸＭＬ(Extensible Markup Language)形式で記述される。このファイル「INDEX.XML」により、上述した各クリップなどが管理される。例えば、ファイル名とＵＭＩＤ(Unique Material Identifier)の変換テーブル、長さ情報(Duration)、当該光ディスク１全体を再生する際の再生順などが管理される。また、各クリップに属するビデオデータ、オーディオデータ、補助ＡＶデータなどが管理されると共に、クリップディレクトリ内にファイルで管理されるクリップ情報が管理される。ディスクインフォメーションファイル「DISCINFO.XML」は、このディスクに関する情報が管理される。再生位置情報なども、このファイル「DISCINFO.XML」に保存される。これらファイル「DISCINFO.XML」に記述される情報も、上述のインデックステーブルに基づき得ることができる。
【０１８２】
このように管理された光ディスク１上のデータに対して、通信Ｉ／Ｆ１２６を介して接続されたコンピュータ装置といった外部機器は、例えば、上述のディレクトリ構造に基づきディレクトリの各階層を所定のデリミタで区切ってファイルを指定することで、ファイルに対応付けられているデータに対するアクセスを記録再生装置１００に要求することができる。
【０１８３】
このとき、外部機器は、ディレクトリ構造を様々な形式で表示等を行うことができる。例えば、上述した図２９のツリー構造でディレクトリ構造を表現することができる。これに限らず、コンピュータ装置のＯＳ(Operating System)によるＧＵＩ(Graphical User Interface)で用いられる、フォルダ構造を用いてクリップ構造を提示することもできる。
【０１８４】
このように、ディレクトリ構造でクリップを管理することで、例えば通信Ｉ／Ｆ１２６を介して接続されたコンピュータ装置などの外部機器において、クリップおよびクリップを構成する各データを一つのファイルとして扱うことができ、クリップおよびクリップを構成する各データに対する操作が容易とされる。
【０１８５】
既に説明したように、記録再生装置１００は、外部との通信手段として、通信Ｉ／Ｆ１２６の他に、ＴＣＰ／ＩＰによる通信が可能な通信Ｉ／Ｆ１３４を有している。上述のインターリーブＭＸＦファイルの提示方法は、この通信Ｉ／Ｆ１３４を介して接続された外部機器に対しても、同様にして適用できる。
【０１８６】
上述のように、この発明の実施の第１の形態によれば、光ディスク１へのアクセスに対して、クリップ内のフレーム位置情報が記述されたインデックステーブルを逐次的に作成してキャッシュし、例えば外部の機器には、光ディスク１上の情報をキャッシュされたインデックステーブルを用いて仮想的に提示するようにしている。そして、アクセスが既に作成されたインデックステーブルに含まれる部分に対してなされたものであれば、既に作成されキャッシュされたインデックステーブルを提示するようにしている。
【０１８７】
そのため、外部の機器は、既にインデックステーブルが作成された部分に対するアクセスであれば、光ディスク１に記録されるクリップ内のフレームに対するランダムアクセスを高速に行うことができる。また、キャッシュされたインデックステーブルは、クリップがクローズされるまで保持されるため、インデックステーブルに基づく処理を効率的に行うことができる。
【０１８８】
次に、この発明の実施の第２の形態について説明する。この実施の第２の形態は、この発明によるインデックステーブルの作成方法を、インターリーブＭＸＦファイルに基づきデータを部分的に転送する際に適用した例である。
【０１８９】
実施の第２の形態の説明に先んじて、理解を容易とするために、インターリーブＭＸＦファイルに基づくデータの部分転送について説明する。先ず、ファイルから部分転送するビデオデータを抽出する処理について説明する。図３０および図３１を用いて、この発明の実施の一形態によるファイルの部分転送処理について、概略的に説明する。図３０Ａに一例が示されるファイル４００に対して、ディスプレイオーダで先頭フレームから指定フレーム数だけ表示するように、ファイルの部分転送を行う場合について考える。図３１は、部分転送ファイルを作成する一例の処理を概略的に示すフローチャートである。
【０１９０】
なお、以下では、この表示開始フレームから開始される表示の長さを示すフレーム数を、デュレーション(Duration)と呼ぶ。また、表示開始フレームおよびデュレーションで指定されるフレーム区間を、指定表示区間と呼ぶ。
【０１９１】
ステップＳ４０で、図３０Ａに示されるファイル４００に対して、表示開始フレーム４０１と、表示開始フレーム４０１に対するデュレーションとを指定して、指定表示区間を設定する。表示開始フレーム４０１に対してデュレーションで指定されるフレーム数分、先のフレームが表示終了フレーム４０２となる。指定表示区間が設定されると、次のステップＳ４１で、部分転送を行うために必要な区間が決められる。
【０１９２】
図３０Ｂは、図３０Ａに示されるファイル４００に対して指定表示区間を指定して生成される部分転送ファイルの例を示す。指定表示区間に対して、当該指定表示区間のフレームを復号化するために必要なフレーム（ピクチャ）を含む全てのエディットユニットを、部分転送ファイル内に含める。例えば、指定された先頭フレーム４０１がＢピクチャやＰピクチャによるフレームであれば、当該フレームを復号化するために、時間的に前のフレームが必要とされる。この場合、指定された表示開始フレーム４０１に対応するピクチャよりも時間的に前のピクチャを含むエディットユニットを、部分転送ファイルに含める必要がある。同様に、終了フレーム４０２がＢピクチャによるフレームであれば、当該フレームに対応するピクチャよりも時間的に後のピクチャを含むエディットユニットを部分転送ファイルに含める必要がある。
【０１９３】
なお、指定表示区間のフレームをデコードするために用いるピクチャを含むエディットユニットからなる、指定表示区間より前の区間を、ＧＯＰプリチャージ区間と呼ぶ。また、指定表示区間のフレームをデコードするために用いるピクチャを含むエディットユニットからなる、指定表示区間より後の区間を、ＧＯＰオーバーラン区間と呼ぶ。この発明の実施の一形態では、これら指定表示区間に対するＧＯＰプリチャージ区間およびＧＯＰオーバーラン区間を含めて、部分転送ファイルを作成する。
【０１９４】
このように、部分転送ファイルによって転送すべきエディットユニットが決定されたら、ステップＳ４２で、決定内容に応じてインデックステーブルが更新される。例えば、詳細は後述するが、インデックステーブル内のインデックスエントリアレイ中の各エディットユニット毎の情報におけるストリームオフセットが書き換えられる。また、必要に応じて、インデックステーブル内のインデックススタートポジションおよびインデックスデュレーションが書き換えられる。さらに、次のステップＳ４３で、指定された先頭フレーム４０１およびデュレーションの部分転送ファイル内における値が、ヘッダ４０３中に、ヘッダメタデータとして記述される。
【０１９５】
ステップＳ４１により決定された部分転送区間と、ステップＳ４２で作成されたインデックステーブルと、ステップＳ４３で作成されたヘッダメタデータとにより、ステップＳ４４で、部分転送ファイルが作成される。
【０１９６】
例えば、ステップＳ４１で決定された部分転送区間のビデオデータを元のファイルから読み出し、メモリ上の所定アドレスに記憶する。ステップＳ４２およびステップＳ４３でそれぞれ作成されたインデックステーブルおよびヘッダメタデータを、既にメモリ上に記憶されている部分転送区間のビデオデータと共に部分転送ファイルのイメージを形成するように、メモリ上に記憶する。
【０１９７】
なお、上述した図３１のフローチャートにおいて、ステップＳ４２およびステップＳ４３の順序は、入れ替えることが可能である。ステップＳ４２およびステップＳ４３の処理を並列的に行ってもよい。
【０１９８】
次に、上述した図３１のフローチャートにおけるステップＳ４１の処理について、図３２のフローチャートを用いてより詳細に説明する。ステップＳ５０で、ディスプレイオーダで以てフレームが指定されると、次のステップＳ５１でインデックステーブル中の、指定されたフレームのディスプレイオーダに対応するコーディングオーダのインデックスエントリが参照され、当該インデックスエントリに記述されるテンポラルオフセットが取得される。
【０１９９】
次のステップＳ５２で、ステップＳ５１で取得されたテンポラルオフセットに示される値だけ、参照するインデックスエントリを移動する。指定表示区間の表示終了フレームを復号化するために必要なエディットユニットを求める場合には（ステップＳ５３）、このステップＳ５２で移動された移動先のインデックスエントリに対応するエディットユニットが、求めるエディットユニットとなる（ステップＳ５４）。
【０２００】
一方、指定表示区間の表示開始フレームを復号化するために必要なエディットユニットを求める場合には（ステップＳ５３）、処理はステップＳ５５に移行され、ステップＳ５２で移動された移動先のインデックスエントリで、キーフレームオフセットを取得する。そして、次のステップＳ５６で、取得されたキーフレームオフセットに示される値だけ、参照するインデックスエントリを移動し、移動先のインデックスエントリに対応するエディットユニットを、ステップＳ５０で指定された指定表示区間の表示開始フレームを復号化するために必要な先頭のエディットユニットとする（ステップＳ５７）。
【０２０１】
より具体的な例を、図３３〜図３６を用いて説明する。図３３および図３４は、オープンＧＯＰ構造のビデオデータについて、部分転送ファイルに格納するエディットユニットを求める例を示す。ディスプレイオーダおよびコーディングオーダは、番号＃０から開始され、図３３から図３４にかけて連続しているものとする。
【０２０２】
図３３は、オープンＧＯＰ構造のビデオデータにおいて、表示開始フレームを復号化するために必要なエディットユニットを求める例である。この図３３の例では、表示開始フレームを、オープンＧＯＰ構造のＧＯＰに含まれるフレーム「Ｂ」＃７に指定している。このフレーム「Ｂ」＃７は、オープンＧＯＰ構造においては、復号化の際に、自身が属するＧＯＰに対して１つ前のＧＯＰに属するフレームが必要とされる。なお、オープンＧＯＰ構造であっても、全体の先頭のＧＯＰは、図３３に示されるように、必ずクローズドＧＯＰの構造となる。
【０２０３】
表示開始フレームを、オープンＧＯＰ構造のＧＯＰに含まれるフレーム「Ｂ」＃７に指定した場合、当該フレーム「Ｂ」＃７のディスプレイオーダに対応するコーディングオーダ＃７のインデックスエントリが参照され、テンポラルオフセットの値"＋１"が取得される。そして、このテンポラルオフセット値"＋１"だけインデックスエントリを移動し、移動先である、コーディングオーダ＃８に対応するインデックスエントリのキーフレームオフセット値"−８"が取得される。このコーディングオーダ＃８に対応するインデックスエントリから、キーフレームオフセット値"−８"だけ移動したインデックスエントリに示される、コーディングオーダ＃０に対応するエディットユニット＃０が、開始フレームを復号化するために必要な先頭のエディットユニットとなる。
【０２０４】
図３４は、オープンＧＯＰ構造のビデオデータにおいて、表示終了フレームを復号化するために必要なエディットユニットを求める例である。この図３４の例では、表示終了フレームがフレーム「Ｂ」＃１９とされている。終了フレームであるフレーム「Ｂ」＃１９のディスプレイオーダに対応するコーディングオーダ＃１８のインデックスエントリが参照され、テンポラルオフセットの値"＋１"が取得される。そして、このテンポラルオフセット値"＋１"だけインデックスエントリを移動し、移動先であるインデックスエントリに示される、コーディングオーダ＃２０に対応するエディットユニット＃２０が、終了フレームを復号化するために必要なエディットユニットとなる。
【０２０５】
図３５および図３６は、クローズドＧＯＰ構造のビデオデータについて、部分転送ファイルに格納するエディットユニットを求める例を示す。ディスプレイオーダおよびコーディングオーダは、番号＃０から開始され、図３５から図３６にかけて連続しているものとする。
【０２０６】
図３５は、クローズドＧＯＰ構造のビデオデータにおいて、表示開始フレームを復号化するために必要なエディットユニットを求める例である。この図３５の例では、表示開始フレームをフレーム「Ｂ」＃７に指定している。クローズドＧＯＰ構造の場合には、ディスプレイオーダで最初のフレーム「Ｉ」の前に位置するフレーム「Ｂ」は、前方参照が行われず、フレーム「Ｂ」の後に位置するフレーム「Ｉ」のみによる後方参照で、復号化がなされる。
【０２０７】
表示開始フレームをフレーム「Ｂ」＃７に指定した場合、当該フレーム「Ｂ」＃７のディスプレイオーダに対応するコーディングオーダのインデックスエントリが参照され、テンポラルオフセット値"＋１"が取得される。そして、このテンポラルオフセット値"＋１"だけインデックスエントリを移動し、移動先である、コーディングオーダ＃８に対応するキーフレームオフセット値"−２"が取得される。このコーディングオーダ＃８に対応するインデックスエントリから、キーフレームオフセット値"−２"だけ移動したインデックスエントリに示される、コーディングオーダ＃６に対応するエディットユニット＃６が、開始フレームを復号化するために必要な先頭のエディットユニットとなる。
【０２０８】
図３６は、クローズドＧＯＰ構造のビデオデータにおいて、表示終了フレームを復号化するために必要なエディットユニットを求める例である。この図３６の例では、表示終了フレームがフレーム「Ｂ」＃１９とされている。終了フレームであるフレーム「Ｂ」＃１９のディスプレイオーダに対応するコーディングオーダ＃１８のインデックスエントリが参照され、テンポラルオフセットの値"＋１"が取得される。そして、このテンポラルオフセット値"＋１"だけインデックスエントリを移動し、移動先であるインデックスエントリに示される、コーディングオーダ＃２０に対応するエディットユニット＃２０が、終了フレームを復号化するために必要なエディットユニットとなる。このように、表示終了フレームに関しては、オープンＧＯＰ構造とクローズドＧＯＰ構造とで同一の結果が得られる。
【０２０９】
上述のようにして表示開始フレームを復号化するために必要なエディットユニットと、終了フレームを復号化するために必要なエディットユニットとが求められると、これらのエディットユニットが属するＧＯＰの情報がそれぞれ取得される。そして、表示開始フレームを復号化するために必要なエディットユニットが属するＧＯＰから、表示終了フレームを復号化するために必要なエディットユニットが属するＧＯＰまでを、元のファイルからＧＯＰ単位で取り出して、部分転送ファイルを作成する。
【０２１０】
例えば、オープンＧＯＰ構造における表示開始フレーム側を示す図３３の例では、表示開始フレームを先頭から２番目のＧＯＰに属するフレーム「Ｂ」＃７とした場合、上述したように、復号化に必要な先頭のエディットユニットは、当該フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰにおけるフレーム「Ｉ」＃２となる。フレーム「Ｂ」＃７は、このフレーム「Ｉ」＃２を用いて復号化されたフレーム「Ｐ」＃５と、フレーム「Ｂ」＃７が属するＧＯＰのフレーム「Ｉ」＃８とを用いて復号化される。したがって、フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰにおけるＢピクチャによるフレームは、実際には不要である。
【０２１１】
ここで、表示開始フレーム側において、この不要なＢピクチャも含めて、ＧＯＰ単位で部分転送ファイルに格納する。
【０２１２】
また、表示終了フレーム側を示す図３４の例において、例えば表示終了フレームを、対応するＩピクチャのみで復号化が可能なフレーム「Ｉ」＃２０に指定したとする。この場合、上述した図３２のフローチャートの処理によれば、表示終了フレームを復号化するために必要なエディットユニットは、対応するＩピクチャのデータが格納されるエディットユニットである、コーディングオーダ＃１８に対応するエディットユニット＃１８となる。しかしながら、ディスプレイオーダでフレーム「Ｉ」＃２０の前に、同じＧＯＰ内のフレーム「Ｂ」＃１８およびフレーム「Ｂ」＃１９が存在するため、コーディングオーダにおいてフレーム「Ｉ」＃２０（コーディングオーダで１８番目）の後に位置する、これらフレーム「Ｂ」＃１８およびフレーム「Ｂ」＃１９（コーディングオーダでそれぞれ１９番目および２０番目）も共に復号化する必要がある。これは、表示終了フレームが後方参照を必要としないＰピクチャによるフレーム「Ｐ」である場合にも同様である。
【０２１３】
上述のように、ＧＯＰ単位でデータを取り出して部分転送ファイルを作成するため、表示終了フレーム側における、ディスプレイオーダとコーディングオーダとでＩピクチャまたはＰピクチャと順番が入れ替わるＢピクチャも含めて、部分転送ファイルに格納することができる。
【０２１４】
なお、これに限らず、元のファイルからビデオデータをピクチャ単位で取り出し、取り出されたピクチャにより部分転送ファイルを作成することもできる。この場合には、上述した表示開始フレーム側で不要になるＢピクチャが格納されたエディットユニットの除去や、表示終了フレーム側における、ＩピクチャまたはＰピクチャとディスプレイオーダおよびコーディングオーダで順序が入れ替わるＢピクチャが格納されたエディットユニットの追加などを、適宜、行う必要がある。
【０２１５】
次に、上述した図３１のフローチャートにおけるステップＳ４２の、インデックステーブルの更新処理について、より詳細に説明する。インデックステーブル内のインデックスエントリアレイ中の各インデックスエントリにおいて、フラグは、各エディットユニット毎に固有の値であるので、不変である。スライスオフセットも、部分転送ファイルは、デコードおよび再エンコード処理を介さないで作成され、エディットユニットに格納されるピクチャのデータには変化がないので、不変である。また、テンポラルオフセットおよびキーフレームオフセットは、部分転送ファイルにＧＯＰ単位でデータを格納する場合、不変である。
【０２１６】
ストリームオフセットは、部分転送ファイルに格納されるエッセンスコンテナストリームの構造に応じて、各インデックスエントリ毎に更新される。すなわち、部分転送を行うＧＯＰの先頭を基準として、各エディットユニットのオフセットが求められ、新たなストリームオフセットの値とされる。
【０２１７】
インデックステーブルにおけるインデックススタートポジションは、部分転送ファイルにおいて、元のファイルに対して当該インデックステーブルより前に存在するエディットユニット数が変化した場合、当該エディットユニット数に応じて、更新される。
【０２１８】
例えば、元のファイルから、あるインデックステーブルが管理する領域を含む後ろ側が取り出されて部分転送ファイルに格納され、当該インデックステーブルが管理する領域より前の領域が部分転送ファイルに含まれないような場合、エディットユニット番号が変更される。このような場合に、変更されたエディットユニット番号に応じてインデックススタートポジションが更新される。
【０２１９】
また、インデックスデュレーションは、当該インデックステーブルで管理するエディットユニット数に変化が生じた場合、当該エディットユニット数に応じて更新される。例えば、あるインデックステーブルが管理する領域の途中から、エディットユニットが取り出されて部分転送ファイルに格納される場合、当該インデックステーブルが管理するエディットユニット数が変化する。このような場合に、当該インデックステーブルが管理するエディット数を示すように、当該インデックステーブル内のインデックスデュレーションが更新される。
【０２２０】
次に、上述した図３１のフローチャートにおけるステップＳ４３の、ヘッダメタデータの更新処理について、より詳細に説明する。上述したように、ヘッダ４０３中に、ヘッダメタデータとして、表示開始フレームおよびデュレーションが記述される。表示開始フレームは、部分転送ファイル内におけるディスプレイオーダで以て記述される。
【０２２１】
上述した図３３を用いて、ヘッダメタデータに表示開始フレームおよびデュレーションを記述しておくことの効果について説明する。既に説明したように、図３３の例では、オープンＧＯＰ構造において、表示開始フレームをディスプレイオーダでＧＯＰの先頭のフレーム「Ｂ」＃７に指定した際に、当該フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰのフレーム「Ｉ」＃２が、表示開始フレーム「Ｂ」＃７を復号化するために必要な先頭のフレームとされている。このフレーム「Ｉ」＃２は、コーディングオーダでは、ＧＯＰの先頭のエディットユニットに対応する。また、部分転送ファイルには、ＧＯＰ単位でデータが格納されるので、この例では、表示開始フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰから、部分転送ファイルに格納されることになる。
【０２２２】
ヘッダ４０３中にこのような指定表示区間に対する情報が記述されていないと、再生システムは、上述のようにして作成した部分転送ファイルを再生する際に、表示可能な先頭のフレームから表示するしかなく、表示開始フレームから表示しようとする場合、改めて表示開始フレームの頭出しをする必要があった。例えば、図９の例では、表示開始フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰの、ディスプレイオーダで先頭のフレーム「Ｂ」＃０から再生が開始されてしまう。
【０２２３】
そこでこのように、ヘッダ４０３中に指定表示区間に対する情報を記述することで、再生システムは、部分転送ファイルを再生する際に、ヘッダ４０３を予め読み込んでおくことで、ヘッダメタデータに記述された表示開始フレームおよびデュレーションの情報に基づき、部分転送ファイル内にける、表示すべき区間を知ることができる。これにより、部分転送ファイルを再生する際に、この表示開始フレームより前のフレームを再生せずに、表示開始フレームから直接的に再生を開始することができ、指定された区間のみの表示を容易に行うことができる。
【０２２４】
この発明の実施の第２の形態では、上述のようにして部分転送ファイルを作成する際に、インデックステーブルを、上述した実施の第１の形態で説明したようにして作成する。すなわち、上述した図３１のフローチャートにおけるステップＳ４２のインデックステーブルの更新処理を、指定表示区間の指定に応じて逐次的に行うようにする。
【０２２５】
より具体的には、指定表示区間を指定されて生成される部分転送ファイルに含まれるインデックステーブルがＲＡＭ１２２にキャッシュされていれば、当該キャッシュされているインデックステーブルに対して更新処理を行う。一方、指定表示区間を指定されて生成される部分転送ファイルに含まれるインデックステーブルがＲＡＭ１２２にキャッシュされていなければ、図１９のフローチャートおよび図２０〜図２４を用いて説明した手順に従い、新たなインデックステーブルを生成し、ＲＡＭ１２２に追加してキャッシュする。
【０２２６】
このように、部分転送ファイルを作成する際にインデックステーブルを逐次的に生成することで、部分転送ファイルの作成処理にかかる負担が軽減され、より高速に処理を行うことができるようになる。
【０２２７】
上述では、記録再生装置１００が光ディスク１に記録されたビデオデータを再生する専用的なハードウェアであるように説明したが、これはこの例に限らず、例えばパーソナルコンピュータといった汎用的なコンピュータ装置（図示しない）を、記録再生装置１００として用いることもできる。この場合、コンピュータ装置に搭載されるプログラムによって、記録再生装置１００の機能を実現させることができる。
【０２２８】
また、上述では、この発明が記録媒体として光ディスクを用い、年輪構造でクリップが記録されている場合に適用されるように説明したが、これはこの例に限定されない。例えば、記録媒体上の記録フォーマットは、年輪構造に限られず、他のフォーマットであってもよい。また、記録媒体は、光ディスクに限られず、ハードディスクドライブや、半導体メモリであってもよい。
【０２２９】
さらに、上述では、この発明がインターリーブＭＸＦフォーマットに適用可能であるように説明したが、これはこの例に限定されない。すなわち、この発明は、ある記録媒体に固有のフォーマットを、他のフォーマットとして仮想的に提示するようなシステムに適用することができる。
【図面の簡単な説明】
【０２３０】
【図１】ロングＧＯＰの場合のデコード処理について説明するための略線図である。
【図２】インターリーブＭＸＦファーマットについて説明するための略線図である。
【図３】インターリーブＭＸＦファーマットについて説明するための略線図である。
【図４】インターリーブＭＸＦファーマットについて説明するための略線図である。
【図５】インターリーブＭＸＦファーマットについて説明するための略線図である。
【図６】インデックスエントリ中のフラグの一例のビットアサインを示す略線図である。
【図７】ディスク状記録媒体における一例のデータ配置を示す略線図である。
【図８】クリップについて説明するための略線図である。
【図９】光ディスクに対して年輪データが形成された一例の様子を示す略線図である。
【図１０】ＭＰＥＧ２のロングＧＯＰにおける一例のデータ構造を示す略線図である。
【図１１】ピクチャポインタ情報が記述されるピクチャポインタテーブルのより具体的な例を示す略線図である。
【図１２】この発明の実施の一形態に適用可能な記録再生装置の一例の構成を示すブロック図である。
【図１３】ディスクドライブ部の一例の構成を示すブロック図である。
【図１４】この発明の実施の第１の形態によるインターリーブＭＸＦファイルの構築について概念的に示す略線図である。
【図１５】この発明の実施の第１の形態によるインターリーブＭＸＦファイルの構築についてより詳細に示す略線図である。
【図１６】ボディテーブルの一例の構成を示す略線図である。
【図１７】パーティションテーブルの一例の構成を示す略線図である。
【図１８】インターリーブＭＸＦファイルの作成手順について説明するための記録再生装置のブロック図である。
【図１９】インターリーブＭＸＦファイルを作成する一例の手順を示すフローチャートである。
【図２０】インターリーブＭＸＦファイルを作成する際の一例のデータの流れを概略的に示す略線図である。
【図２１】インターリーブＭＸＦファイルを作成する際の一例のデータの流れを概略的に示す略線図である。
【図２２】インターリーブＭＸＦファイルを作成する際の一例のデータの流れを概略的に示す略線図である。
【図２３】インターリーブＭＸＦファイルを作成する際の一例のデータの流れを概略的に示す略線図である。
【図２４】インターリーブＭＸＦファイルを作成する際の一例のデータの流れを概略的に示す略線図である。
【図２５】インターリーブＭＸＦファイルの作成に伴い通信Ｉ／Ｆを介して転送されるインターリーブＭＸＦファイルの様子を概略的に示す略線図である。
【図２６】インデックステーブルの一例の作成制御を示すフローチャートである。
【図２７】インデックステーブルの作成を説明するための略線図である。
【図２８】インターリーブＭＸＦファイルの作成の際の各データの生成を纏めて示す略線図である。
【図２９】光ディスクに記録されたデータの一例の管理構造を示す略線図である。
【図３０】ファイルの部分転送処理について説明するための略線図である。
【図３１】部分転送ファイルを作成する一例の処理を概略的に示すフローチャートである。
【図３２】部分転送する区間を決定するための一例の処理を示すフローチャートである。
【図３３】オープンＧＯＰ構造のビデオデータについて部分転送ファイルに格納するエディットユニットを求める例を示す略線図である。
【図３４】オープンＧＯＰ構造のビデオデータについて部分転送ファイルに格納するエディットユニットを求める例を示す略線図である。
【図３５】クローズドＧＯＰ構造のビデオデータについて部分転送ファイルに格納するエディットユニットを求める例を示す略線図である。
【図３６】クローズドＧＯＰ構造のビデオデータについて部分転送ファイルに格納するエディットユニットを求める例を示す略線図である。
【符号の説明】
【０２３１】
１  光ディスク
１０  ファイル
１１  表示開始ファイル
１２  表示終了フレーム
１３  ヘッダ
１００  記録再生装置
１０２  ＭＰＥＧエンコーダ
１０３  メモリコントローラ
１０４  ＲＡＭ
１０５  ディスクドライブ部
１０６  ＭＰＥＧデコーダ
１２１  ＣＰＵ
１２２  ＲＡＭ
１２３  ＲＯＭ
１２６  通信インターフェイス
１３２  ＣＰＵ
１３３  ＲＡＭ
１３４  通信インターフェイス
２００  パーティションテーブル
２０１  ボディテーブル
【図１】
0004706530.tif 000002
【図２】
0004706530.tif 000003
【図３】
0004706530.tif 000004
【図４】
0004706530.tif 000005
【図５】
0004706530.tif 000006
【図６】
0004706530.tif 000007
【図７】
0004706530.tif 000008
【図８】
0004706530.tif 000009
【図９】
0004706530.tif 000010
【図１０】
0004706530.tif 000011
【図１１】
0004706530.tif 000012
【図１２】
0004706530.tif 000013
【図１３】
0004706530.tif 000014
【図１４】
0004706530.tif 000015
【図１５】
0004706530.tif 000016
【図１６】
0004706530.tif 000017
【図１７】
0004706530.tif 000018
【図１８】
0004706530.tif 000019
【図１９】
0004706530.tif 000020
【図２０】
0004706530.tif 000021
【図２１】
0004706530.tif 000022
【図２２】
0004706530.tif 000023
【図２３】
0004706530.tif 000024
【図２４】
0004706530.tif 000025
【図２５】
0004706530.tif 000026
【図２６】
0004706530.tif 000027
【図２７】
0004706530.tif 000028
【図２８】
0004706530.tif 000029
【図２９】
0004706530.tif 000030
【図３０】
0004706530.tif 000031
【図３１】
0004706530.tif 000032
【図３２】
0004706530.tif 000033
【図３３】
0004706530.tif 000034
【図３４】
0004706530.tif 000035
【図３５】
0004706530.tif 000036
【図３６】
0004706530.tif 000037