(57)【特許請求の範囲】
【請求項１】
予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出する復号化区間検出部と、
上記復号化区間検出部で検出された上記第２の区間のビデオデータを格納するファイルを作成するファイル作成部と
を備え、
上記ビデオデータは、該ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と、１フレーム分のデータからなるエディットユニットの先頭の番号と、エディットユニット数とが記述されるテーブルを有し、
上記ファイル作成部は、
上記第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報を上記ファイルに付加するようにし、
上記復号化区間検出部で検出された上記第２の区間に応じて上記テーブルに記述される内容を更新し、上記更新したテーブルを上記ファイルに格納するデータ処理装置。
【請求項２】
上記ファイル作成部は、上記第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報を、上記ファイルのヘッダ部に格納する請求項１に記載のデータ処理装置。
【請求項３】
上記ビデオデータは、独立的にデコード可能な少なくとも１枚の第１のタイプのフレームと、時間的に前および／または後の他のフレームを基準としてデコードされる１または複数の第２のタイプのフレームとからなり、独立的にアクセス可能とされたグループを単位として符号化され、
上記ファイル作成部は、上記復号化区間検出部で検出された上記第２の区間を含む上記グループ単位で上記ビデオデータを上記ファイルに格納する請求項１または２に記載のデータ処理装置。
【請求項４】
上記復号化区間検出部は、上記第１の区間の端のフレームの予測符号化のタイプに基づき上記第２の区間を検出する請求項１乃至３のいずれか１項に記載のデータ処理装置。
【請求項５】
上記ビデオデータは、独立的にデコード可能な少なくとも１枚の第１のタイプのフレームと、時間的に前および／または後の他のフレームを基準としてデコードされる１または複数の第２のタイプのフレームとからなり、独立的にアクセス可能とされたグループを単位として符号化され、
上記復号化区間検出部は、さらに、上記グループが該グループの１つ前の上記グループのフレームを用いて符号化されたか否かに基づき上記第２の区間を検出する請求項４に記載のデータ処理装置。
【請求項６】
予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出する復号化区間検出ステップと、
上記復号化区間検出ステップで検出された上記第２の区間のビデオデータを格納するファイルを作成するファイル作成ステップと
を有し、
上記ビデオデータは、該ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と、１フレーム分のデータからなるエディットユニットの先頭の番号と、エディットユニット数とが記述されるテーブルを有し、
上記ファイル作成ステップは、
上記第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報を上記ファイルに付加するようにし、
上記復号化区間検出ステップで検出された上記第２の区間に応じて上記テーブルに記述される内容を更新し、上記更新したテーブルを上記ファイルに格納するデータ処理方法。
【請求項７】
予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出する復号化区間検出ステップと、
上記復号化区間検出ステップで検出された上記第２の区間のビデオデータを格納するファイルを作成するファイル作成ステップと
を有し、
上記ビデオデータは、該ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と、１フレーム分のデータからなるエディットユニットの先頭の番号と、エディットユニット数とが記述されるテーブルを有し、
上記ファイル作成ステップは、
上記第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報を上記ファイルに付加するようにし、
上記復号化区間検出ステップで検出された上記第２の区間に応じて上記テーブルに記述される内容を更新し、上記更新したテーブルを上記ファイルに格納する、コンピュータに実行させるためのデータ処理プログラム。
【請求項８】
予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出する復号化区間検出ステップと、
上記復号化区間検出ステップで検出された上記第２の区間のビデオデータを格納するファイルを作成するファイル作成ステップと
を有し、
上記ビデオデータは、該ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と、１フレーム分のデータからなるエディットユニットの先頭の番号と、エディットユニット数とが記述されるテーブルを有し、
上記ファイル作成ステップは、
上記第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報を上記ファイルに付加するようにし、
上記復号化区間検出ステップで検出された上記第２の区間に応じて上記テーブルに記述される内容を更新し、上記更新したテーブルを上記ファイルに格納する、コンピュータに実行させるためのデータ処理プログラムが記録された記録媒体。
【請求項９】
予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間のビデオデータと、上記第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報と、上記ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と１フレーム分のデータからなるエディットユニットの先頭の番号とエディットユニット数とが記述されるテーブルとが記録された記録媒体を再生する再生部を備える再生装置であって、
上記再生部は、上記テーブルに記述された先頭の番号のエディットユニットに対応するフレームから復号化処理を行い、
上記復号化処理において、上記表示開始フレームが出力可能となった場合に、上記表示開始フレームを出力する再生装置。
【請求項１０】
上記再生部は、上記フレーム数分のフレームを出力したときに、上記復号化処理を停止する請求項９に記載の再生装置。
【請求項１１】
予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間のビデオデータと、上記第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報と、上記ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と１フレーム分のデータからなるエディットユニットの先頭の番号とエディットユニット数とが記述されるテーブルとが記録された記録媒体を再生する再生ステップを有する再生方法であって、
上記再生ステップは、上記テーブルに記述された先頭の番号のエディットユニットに対応するフレームから復号化処理を行い、
上記復号化処理において、上記表示開始フレームが出力可能となった場合に、上記表示開始フレームを出力する再生方法。
【請求項１２】
予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間のビデオデータと、上記第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報と、上記ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と１フレーム分のデータからなるエディットユニットの先頭の番号とエディットユニット数とが記述されるテーブルとが記録された記録媒体を再生する再生ステップをコンピュータに実行させるための再生プログラムであって、
上記再生ステップは、上記テーブルに記述された先頭の番号のエディットユニットに対応するフレームから復号化処理を行い、
上記復号化処理において、上記表示開始フレームが出力可能となった場合に、上記表示開始フレームを出力する再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フレーム間圧縮を用いて圧縮符号化されたビデオデータを部分的に転送する際に用いて好適なデータ処理装置、データ処理方法およびデータ処理プログラム、記録媒体、ならびに、再生装置、再生方法および再生プログラムに関する。
【背景技術】
【０００２】
ディジタルビデオ信号およびディジタルオーディオ信号を記録媒体に記録し、また、記録媒体から再生するようなデータ記録再生装置が知られている。ディジタルビデオ信号およびディジタルオーディオ信号を記録するための記録媒体としては、近年では、光ディスク、ハードディスク、半導体メモリなどといった、ランダムアクセス可能な記録媒体が、ディジタルビデオ信号およびディジタルオーディオ信号の記録再生に多く用いられるようになってきている。
【０００３】
ディジタルビデオ信号は、データ容量が膨大となるため、所定の方式で圧縮符号化されて記録媒体に記録されるのが一般的である。近年では、ＭＰＥＧ２(Moving Picture Experts Group 2)方式が圧縮符号化の標準的な方式として知られている。ＭＰＥＧ２では、ＤＣＴ(Discrete Cosine Transform)と動き補償とを用いてディジタルビデオ信号の圧縮符号化を行い、さらに可変長符号を用いてデータの圧縮率を高めている。
【０００４】
ＭＰＥＧ２のデータストリーム構造について、概略的に説明する。ＭＰＥＧ２は、動き補償予測符号化と、ＤＣＴによる圧縮符号化とを組み合わせたものである。ＭＰＥＧ２のデータ構造は、階層構造をなしており、下位から、ブロック層、マクロブロック層、スライス層、ピクチャ層、ＧＯＰ層およびシーケンス層となっている。ブロック層は、ＤＣＴを行う単位であるＤＣＴブロックからなる。マクロブロック層は、複数のＤＣＴブロックで構成される。スライス層は、ヘッダ部と、１以上のマクロブロックより構成される。ピクチャ層は、ヘッダ部と、１以上のスライスとから構成される。ピクチャは、１画面に対応する。各層の境界は、それぞれ所定の識別符号で識別可能なようになっている。
【０００５】
ＧＯＰ層は、ヘッダ部と、フレーム内符号化に基づくピクチャであるＩ(Intra-coded)ピクチャと、予測符号化に基づくピクチャであるＰ(Predictive-coded)ピクチャＢ(Bi-directionally predictive coded)ピクチャとから構成される。Ｉピクチャは、それ自身の情報のみでデコードが可能であり、ＰおよびＢピクチャは、基準画像として前あるいは前後の画像が必要とされ、単独ではデコードされない。例えばＰピクチャは、自身より時間的に前のＩピクチャまたはＰピクチャを基準画像として用いてデコードされる。また、Ｂピクチャは、自身の前後のＩピクチャまたはＰピクチャの２枚のピクチャを基準画像として用いてデコードされる。最低１枚のＩピクチャを含むそれ自身で完結したグループをＧＯＰ(Group Of Picture)と呼び、ＭＰＥＧのストリームにおいて独立してアクセス可能な最小の単位とされる。
【０００６】
ＧＯＰは、１または複数のピクチャから構成される。以下では、便宜上、１枚のＩピクチャのみで構成されるＧＯＰをシングルＧＯＰと呼び、Ｉピクチャと、Ｐおよび／またはＢピクチャとからなる複数のピクチャで構成されるＧＯＰをロングＧＯＰと呼ぶことにする。シングルＧＯＰでは、ＧＯＰをＩピクチャのみから構成することで、フレーム単位での編集が容易とされると共に、フレーム間の予測符号化を行わないために、より高画質を得ることができる。一方、ロングＧＯＰでは、フレーム間の予測符号化を行うために、圧縮効率がよいという利点がある。
【０００７】
なお、ロングＧＯＰにおいて、ＧＯＰ内で完全にデコードが可能な、ＧＯＰで閉じた構造を持つクローズドＧＯＰと、デコードの際に符号化順で１つ前のＧＯＰの情報を用いることができるオープンＧＯＰとの２種類がある。オープンＧＯＰは、クローズドＧＯＰと比較して、より多くの情報を用いてデコードできるため高画質を得られ、一般的に用いられている。
【０００８】
ＳＤ(Standard Definition)フォーマットのビデオ信号を圧縮符号化する方法として、例えばビットレートが２５Ｍｂｐｓ（メガビットパーセカンド）のＤＶフォーマットや、ＭＰＥＧ２のＩピクチャのみを用いる、ビットレートが５０ＭｂｐｓのＩＭＸフォーマットが知られている。特に放送局などで使用される映像機器においては、ＳＤフォーマットのビデオ信号を上述したシングルＧＯＰで用い、高画質と高精度の編集環境とを実現していた。
【０００９】
一方、近年では、ディジタルハイビジョン放送などの実施に伴い、ＳＤフォーマットより高解像度とされた、ＨＤ(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ピクチャを出力する。
【００１５】
以下、同様にして、Ｂピクチャの予測に用いるＰまたはＩピクチャをＢピクチャより先にデコードし、このデコードされたＰまたはＩピクチャを用いてＢピクチャを予測してデコードし、デコードされたＢピクチャを出力してから、当該Ｂピクチャをデコードするために用いたＰまたはＩピクチャを出力する処理が繰り返される。記録媒体上やストリームにおける図２１Ｂのようなピクチャ配列は、一般的に用いられるものである。
【００１６】
ところで、近年では、コンピュータ装置、特に、パーソナルコンピュータといった小型且つ安価なコンピュータ装置において、処理能力の向上が著しい。そのため、上述したようなビデオデータをパーソナルコンピュータなどで処理することが頻繁に行われている。例えば、上述したようなランダムアクセス可能な記録媒体を記録媒体として用いた記録再生装置で記録されたビデオデータを、当該記録再生装置で再生し、所定のインターフェイスを介してコンピュータ装置に転送する。コンピュータ装置は、基本的にファイル単位でデータを扱うので、転送されたデータを所定のファイル形式に変換して、ハードディスクドライブなどの記録媒体に格納する。
【００１７】
また、ランダムアクセス可能な記録媒体をビデオデータの記録に用いる記録再生装置では、ビデオデータを予めファイル形式で記録媒体に記録するのが一般的である。例えば、光ディスクを記録媒体として用いる場合、光ディスクをＵＤＦ(Universal Disk Format)といったコンピュータ装置に対応した形式のフォーマットで用い、ビデオデータをこのＵＤＦのフォーマットに従ったファイルとして記録する。
【００１８】
このように、記録再生装置においてコンピュータ装置に対応した形式でフォーマットされた記録媒体にビデオデータを記録すれば、例えば記録再生装置とコンピュータ装置とを所定のインターフェイスで接続した際に、コンピュータ装置からこの記録媒体上のファイルに直接的にアクセスしてビデオデータを読み出すことができる。
【００１９】
また、通信ネットワークも、近年になって通信速度の大幅な向上が見られ、ビデオデータを通信ネットワークで転送することが可能なようになってきている。また、コンピュータ装置を用いて通信ネットワークを介してファイル転送を行う場合は、ＦＴＰ(File Transfer Protocol)と呼ばれるファイル転送のプロトコルを用いるのが一般的である。特許文献１には、ＦＴＰを用いてビデオファイルを転送する技術が記載されている。
【特許文献１】特開平９−２８２２１７号
【発明の開示】
【発明が解決しようとする課題】
【００２０】
ここで、記録媒体にファイルとして記録されたビデオデータを、例えば通信ネットワークを介して送信する場合について考える。例えば、報道現場などでビデオカメラで撮影され記録媒体に記録されたビデオデータを、放送局などのスタジオに送信するような場合が考えられる。
【００２１】
この場合、１つのビデオファイルの全体を送信する方法が考えられるが、この方法ではデータ量が多くなり、特にインターネットなどの通信ネットワークでデータを送信する場合には、１つのファイルの送信を完了するまでに、多大な時間を要してしまう。
【００２２】
そこで、ビデオファイルに格納されたビデオデータから必要な部分だけを取り出し、取り出された部分をファイルとして転送することが考えられる。この、全体のファイルから部分的にビデオデータを取り出して転送することを、以下、部分転送と呼ぶ。例えば、撮影を行った現場側で、撮影されたビデオデータに対して簡易的にＩＮ点およびＯＵＴ点といった編集点を指定し、指定されたＩＮ点およびＯＵＴ点間のビデオデータをファイルとして転送する。
【００２３】
従来から用いられているシングルＧＯＰのＳＤフォーマットにおいては、ビデオデータがフレーム毎に圧縮符号化されているので、全体のファイルからビデオデータを部分的に取り出す処理は、容易であった。
【００２４】
一方、ロングＧＯＰのＨＤフォーマットでは、上述したようにフレーム間の相関を用いて圧縮符号化がなされ、時間的に前および／または後のピクチャを用いて復号化がなされるＰピクチャやＢピクチャをビデオデータに含んでいる。そのため、ビデオデータを部分転送する際には、ＧＯＰの構造を意識して、必要なデータを転送する必要がある。
【００２５】
例えば、ロングＧＯＰを用いて圧縮符号化されたビデオデータのある範囲を抽出し転送する際には、転送先で転送されたビデオデータの復号化が可能なように、範囲を指定されたピクチャを復号化するために用いるピクチャを含めて部分転送を行う必要がある。
【００２６】
また、転送が指定されたピクチャに対して指定範囲外のピクチャも共に転送されるため、指定範囲を示す情報も、部分転送されたビデオデータと共に転送する必要がある。さらに、ロングＧＯＰでは、ピクチャ毎のデータサイズが一定でなく、ビデオフレーム境界が変動するので、部分転送したファイルについても、この境界を認識できるような仕組みが必要となる。
【００２７】
しかしながら、従来では、このロングＧＯＰにより圧縮符号化されたビデオデータを部分転送する際の仕組みが提供されていなかったという問題点があった。
【００２８】
したがって、この発明の目的は、ロングＧＯＰを用いて圧縮符号化されたビデオデータが格納されたファイルから、ビデオデータを部分的に取り出して転送する処理を、容易に行うことができるようなデータ処理装置、データ処理方法およびデータ処理プログラム、記録媒体、ならびに、再生装置、再生方法および再生プログラムを提供することにある。
【課題を解決するための手段】
【００２９】
この発明は、上述した課題を解決するために、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出する復号化区間検出部と、復号化区間検出部で検出された第２の区間のビデオデータを格納するファイルを作成するファイル作成部とを備え、ビデオデータは、該ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と、１フレーム分のデータからなるエディットユニットの先頭の番号と、エディットユニット数とが記述されるテーブルを有し、ファイル作成部は、第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報をファイルに付加するようにし、復号化区間検出部で検出された第２の区間に応じてテーブルに記述される内容を更新し、更新したテーブルをファイルに格納するデータ処理装置である。
【００３０】
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出する復号化区間検出ステップと、復号化区間検出ステップで検出された第２の区間のビデオデータを格納するファイルを作成するファイル作成ステップとを有し、ビデオデータは、該ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と、１フレーム分のデータからなるエディットユニットの先頭の番号と、エディットユニット数とが記述されるテーブルを有し、ファイル作成ステップは、第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報をファイルに付加するようにし、復号化区間検出ステップで検出された第２の区間に応じてテーブルに記述される内容を更新し、更新したテーブルをファイルに格納するデータ処理方法である。
【００３１】
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出する復号化区間検出ステップと、復号化区間検出ステップで検出された第２の区間のビデオデータを格納するファイルを作成するファイル作成ステップとを有し、ビデオデータは、該ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と、１フレーム分のデータからなるエディットユニットの先頭の番号と、エディットユニット数とが記述されるテーブルを有し、ファイル作成ステップは、第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報をファイルに付加するようにし、復号化区間検出ステップで検出された第２の区間に応じてテーブルに記述される内容を更新し、更新したテーブルをファイルに格納する、コンピュータに実行させるためのデータ処理プログラムである。
【００３３】
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出する復号化区間検出ステップと、復号化区間検出ステップで検出された第２の区間のビデオデータを格納するファイルを作成するファイル作成ステップとを有し、ビデオデータは、該ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と、１フレーム分のデータからなるエディットユニットの先頭の番号と、エディットユニット数とが記述されるテーブルを有し、ファイル作成ステップは、第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報をファイルに付加するようにし、復号化区間検出ステップで検出された第２の区間に応じてテーブルに記述される内容を更新し、更新したテーブルをファイルに格納する、コンピュータに実行させるためのデータ処理プログラムが記録された記録媒体である。
【００３４】
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間のビデオデータと、第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報と、ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と１フレーム分のデータからなるエディットユニットの先頭の番号とエディットユニット数とが記述されるテーブルとが記録された記録媒体を再生する再生部を備える再生装置であって、再生部は、テーブルに記述された先頭の番号のエディットユニットに対応するフレームから復号化処理を行い、復号化処理において、表示開始フレームが出力可能となった場合に、表示開始フレームを出力する再生装置である。
【００３５】
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間のビデオデータと、第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報と、ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と１フレーム分のデータからなるエディットユニットの先頭の番号とエディットユニット数とが記述されるテーブルとが記録された記録媒体を再生する再生ステップを有する再生方法であって、再生ステップは、テーブルに記述された先頭の番号のエディットユニットに対応するフレームから復号化処理を行い、復号化処理において、表示開始フレームが出力可能となった場合に、表示開始フレームを出力する再生方法である。
【００３６】
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間のビデオデータと、第１の区間における表示開始フレームと該表示開始フレームから開始される表示の長さを示すフレーム数とを示す情報と、ビデオデータを構成する各フレームの該ビデオデータ内での位置を示す位置情報と１フレーム分のデータからなるエディットユニットの先頭の番号とエディットユニット数とが記述されるテーブルとが記録された記録媒体を再生する再生ステップをコンピュータに実行させるための再生プログラムであって、再生ステップは、テーブルに記述された先頭の番号のエディットユニットに対応するフレームから復号化処理を行い、復号化処理において、表示開始フレームが出力可能となった場合に、表示開始フレームを出力する再生プログラムである。
【００３７】
この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出し、検出された第２の区間のビデオデータを格納するファイルを作成するようにされ、第１の区間をフレームの表示順で示す情報をファイルに付加するようにしているため、ファイルに格納されたビデオデータの第１の区間のみを再生する処理を、転送先などで容易に行えるようなファイルを作成することができる。
【００４０】
また、この発明は、記録媒体に記録された、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間のビデオデータと、第１の区間をフレームの表示順で示す情報とが少なくとも含まれるデータ構造を備えるファイルを再生し、再生されたファイルに含まれるビデオデータを復号化する際に、ファイルに含まれる第１の区間をフレームの表示順で示す情報に基づき、第１の区間の先頭のフレームからビデオデータを出力するように制御するため、外部からこのファイルが転送されたような場合でも、ファイルに格納されたビデオデータの第１の区間のみを再生する処理を、容易に行える。
【発明の効果】
【００４１】
上述したように、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオデータの、フレームの表示順で指定される第１の区間を復号化するために必要な、フレームの符号化順による第２の区間を検出し、検出された第２の区間のビデオデータを格納するファイルを作成するようにされ、第１の区間をフレームの表示順で示す情報をファイルに付加するようにしているため、ファイルに格納されたビデオデータの第１の区間のみを再生する処理を、転送先などで容易に行えるようなファイルを作成することができる効果がある。
【発明を実施するための最良の形態】
【００４２】
以下、この発明の実施の一形態を、図面を参照しながら説明する。先ず、この発明の実施の一形態に適用可能なデータ構造について説明する。図１〜図４は、この発明の実施の一形態に適用可能な、ＭＸＦ(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 Segments)全体は、インデックステーブルと呼ばれる（図１Ｂの右側参照）。例えば、このＭＸＦファイルをシステムが読み込んだ際に、各インデックステーブルセグメントをサーチして読み出し、インデックステーブルを構築することで、このＭＸＦファイル内の全てのエディットユニットに関する情報を、構築されたインデックステーブルを参照して取得することができる。
【００４８】
図１Ｃは、インデックステーブルの一例の構造を示す。なお、図１Ｃにおいて、各領域の下部に記される数字は、その領域のサイズをバイトで示す。インデックステーブルは、ＫＬＶ(Key-Length-Value)符号を用いて符号化される。ＫＬＶ符号において、「Ｋ(Key)」部は、ＳＭＰＴＥ  ３３５Ｍ／ＲＰ２１０Ａに準拠した、ＫＬＶ符号化されたデータ項目を示す識別子であって、１６バイトのデータ長を有する。「Ｌ(Length)」部は、例えば４バイトのデータ長を有し、「Ｌ」部以降に続くデータ長をバイト単位で表す。「Ｖ(Value)」部は、データ本体が格納される領域である。また、「Ｖ」部内部にさらに、それぞれ２バイトのデータ長を有する、「Ｔ(Local Tag)」部および「Ｌ(Length)」部と、可変長のデータ部とからなる構造を定義することができる。
【００４９】
インデックステーブルの先頭には、データ長が１６バイトでインデックステーブルセグメントキー(Index Table Segment Key)が配置される。この例では、続けてデータ長が４バイトで「Ｌ」部が配置され、それぞれ２バイトのデータ長を有する「Ｔ」部および「Ｌ」部が配置された後に、データ長が１６バイトのインスタンスＩＤ(Instance ID)が配置される。なお、インデックステーブル内の各項目の順序は、この例に限られるものではない。インスタンスＩＤは、ＵＵＩＤ(Univaesally 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）をエディットユニット単位で示す。図４Ａおよび図４Ｂにおいて、あるインデックステーブルに対応するディスプレイオーダおよびコーディングオーダを、先頭を＃０として順に番号を付して示す。図４Ｃは、テンポラルオフセット、キーフレームオフセットおよびフラグを、図４Ａのディスプレイオーダおよび図４Ｂのコーディングオーダと対応させて示す。
【００６１】
なお、図４Ａおよび図４Ｂに記される「Ｉ」、「Ｐ」および「Ｂ」は、それぞれＩピクチャ、ＰピクチャおよびＢピクチャを示す。また、ディスプレイオーダにおいて、Ｉピクチャを復号化して得られるフレームをフレーム「Ｉ」のように記述し、コーディングオーダにおいて、Ｉピクチャが格納されるエディットユニットをエディットユニット「Ｉ」のように記述する。
【００６２】
この図４の例では、説明のため、１ＧＯＰが１枚のＩピクチャ、１枚のＰピクチャ、４枚のＢピクチャから構成されている。また、前半の６枚のピクチャからなるＧＯＰはクローズドＧＯＰとし、後半の６枚からなるＧＯＰはオープンＧＯＰとする。また、あるインデックステーブルに対応するディスプレイオーダおよびコーディングオーダに対し、＃０から順に番号を付して示す。
【００６３】
従来技術で既に説明したように、クローズドＧＯＰでは、ＧＯＰ内で復号化が完結するため、この図４に示される構成の場合、ディスプレイオーダにおけるフレーム「Ｂ」＃０およびフレーム「Ｂ」＃１は、フレーム「Ｉ」＃２のみから復号化される。また、フレーム「Ｂ」＃３およびフレーム「Ｂ」＃４は、フレーム「Ｉ」＃２およびフレーム「Ｐ」＃５を用いて復号化される。
【００６４】
一方、オープンＧＯＰでは、他のＧＯＰのピクチャを用いて復号化を行うことが可能とされている。この図４に示される例では、それぞれフレーム「Ｂ」＃６およびフレーム「Ｂ」＃７は、フレーム「Ｉ」＃８と、１つ前のＧＯＰに含まれるフレーム「Ｐ」＃５とを用いて復号化される。このとき、フレーム「Ｐ」＃５は、フレーム「Ｉ」＃２を用いて復号化されるため、フレーム「Ｂ」＃６およびフレーム「Ｂ」＃７を復号化するためには、フレーム「Ｉ」＃８、フレーム「Ｐ」＃５およびフレーム「Ｉ」＃２の３枚のフレームが必要とされる。
【００６５】
テンポラルオフセットは、ディスプレイオーダに対してコーディングオーダが何フレーム分、並べ替えられているかを示す。例えば、ディスプレイオーダにおいて３番目に位置するフレーム「Ｉ」＃２は、コーディングオーダで１番目に位置するエディットユニット「Ｉ」＃０に対応するので、テンポラルオフセットの値は"−２"である。また、ディスプレイオーダにおいて７番目に位置するフレーム「Ｂ」＃６は、コーディングオーダで８番目に位置するエディットユニット「Ｂ」＃７に対応するので、テンポラルオフセットの値は、"＋１"である。
【００６６】
キーフレームオフセットは、対応するエディットユニットに含まれるビデオデータを復号化するために遡る必要のあるエディットユニット数を示す。例えば、フレーム「Ｉ」＃２が含まれるエディットユニット＃０は、それ自身でフレーム「Ｉ」＃２の復号化が可能であるため、キーフレームオフセットの値は、"０"である。また、フレーム「Ｂ」＃３が含まれるエディットユニット＃４は、フレーム「Ｂ」＃３を復号化するためにフレーム「Ｉ」＃２およびフレーム「Ｐ」＃５が必要とされ、フレーム「Ｉ」＃２を含むエディットユニット＃０まで遡る必要がある。したがって、エディットユニット＃４のキーフレームオフセットの値は、"−４"である。
【００６７】
さらに、オープンＧＯＰの場合、先頭のフレーム「Ｂ」は、１つ前のＧＯＰのフレームを用いて復号化される。例えば、フレーム「Ｂ」＃７は、フレーム「Ｉ」＃８と１具前のＧＯＰのフレーム「Ｐ」＃５とを用いて復号化され、フレーム「Ｐ」＃５は、さらにフレーム「Ｉ」＃２を用いて復号化される。したがって、フレーム「Ｂ」＃７を含むエディットユニット＃８は、フレーム「Ｉ」＃２を含むエディットユニット＃０まで遡る必要がある。したがって、エディットユニット＃８のキーフレームオフセットの値は、"−８"である。
【００６８】
フラグは、１バイトすなわち８ビットのデータ長を有し、８ビットのそれぞれのビットに、そのフラグに対応するエディットユニットに関する所定の情報が割り当てられる。図５は、フラグの一例のビットアサインを示す。第０ビット〜第７ビットの８ビットのうち、上位側から、第７ビットは、対応するエディットユニットがランダムアクセス(Random Access)可能なフレームを含むか否かを示す。ランダムアクセス可能なフレームは、シーケンスヘッダ(Sequence_Header)であって、且つ、クローズドＧＯＰに属するフレームである。なお、シーケンスヘッダは、常にフレーム「Ｉ」である。第６ビットは、対応するエディットユニットがシーケンスヘッダを含むか否かを示す。
【００６９】
第５ビットは、対応するエディットユニットの含むフレームが前方予測(Forward prediction)を用いて復号化されるか否かを示す。第４ビットは、対応するエディットユニットの含むフレームが後方予測(Backward prediction)を用いて復号化されるか否かを示す。第３ビットは、対応するエディットユニットの含むフレームのオフセットが範囲外(Offset out of range)であるか否かを示す。第２ビットは、ＭＰＥＧのマッピングでは使用されないビットである。
【００７０】
第１ビットおよび第０ビットの２ビットを用いて、対応するエディットユニットの含むフレームのピクチャタイプが示される。第１ビットおよび第０ビットの２ビットが"００"でＩピクチャによるフレームを、"１０"でＰピクチャによるフレームを、"１１"でＢピクチャによるフレームをそれぞれ示す。
【００７１】
図４から分かるように、ディスプレイオーダであるフレーム＃ｎを指定したときに、インデックスエントリアレイでｎ番目のインデックスエントリ中のテンポラルオフセットを参照することで、指定されたフレーム＃ｎに対応するコーディングオーダを知ることができる。さらに、そのフレーム＃ｎに対応するコーディングオーダに対応するインデックスエントリ中のキーフレームオフセットを参照することで、当該コーディングオーダのピクチャを復号化するために必要な先頭のピクチャのコーディングオーダを知ることができる。
【００７２】
すなわち、テンポラルオフセットおよびキーフレームオフセットを用いることで、ディスプレイオーダでフレーム＃ｎを指定したときに、指定されたフレーム＃ｎを復号化するために必要な先頭のピクチャすなわちエディットユニットのファイル内での位置を、インデックステーブル単位で知ることができる。したがって、システムは、ファイルにアクセスする際に、先ずファイル中のインデックステーブルを予め全て読み込んでおくことで、ファイル内の任意のフレームに対するアクセス性が向上される。
【００７３】
なお、これに限らず、システムは、インデックステーブルをファイルの先頭から、ファイルに対するアクセス順に応じて順次、読み込んでいくこともできる。この場合、予めファイル中のインデックステーブルを全て読み込む例に比べて、インデックステーブルが読み込まれていない部分に対するアクセス性が期待できないことになる。
【００７４】
次に、この発明の実施の一形態について説明する。この発明では、ファイルに格納されたビデオデータに対して指定されたフレーム区間を再生可能なようにファイルからビデオデータを抽出し、抽出されたビデオデータを新たなファイルとして転送する部分転送を行う際に、当該新たなファイルを、表示はされないが指定されたフレーム区間を復号化するために必要なフレームも含めて作成し、それと共に、インデックステーブルを、新たなファイルに含まれるビデオデータに合わせて書き換える。また、部分転送するビデオデータを新たなファイルに格納する際に、ファイルヘッダに含まれるヘッダメタデータに、表示を開始する表示開始フレームおよび表示開始フレームからのフレーム数を記述する。
【００７５】
先ず、ファイルから部分転送するビデオデータを抽出する処理について説明する。図６および図７を用いて、この発明の実施の一形態によるファイルの部分転送処理について、概略的に説明する。図６Ａに一例が示されるファイル１０に対して、ディスプレイオーダで先頭フレームから指定フレーム数だけ表示するように、ファイルの部分転送を行う場合について考える。図７は、部分転送ファイルを作成する一例の処理を概略的に示すフローチャートである。
【００７６】
なお、以下では、この表示開始フレームから開始される表示の長さを示すフレーム数を、デュレーション(Duration)と呼ぶ。また、表示開始フレームおよびデュレーションで指定されるフレーム区間を、指定表示区間と呼ぶ。
【００７７】
ステップＳ１で、図６Ａに示されるファイル１０に対して、表示開始フレーム１１と、表示開始フレーム１１に対するデュレーションとを指定して、指定表示区間を設定する。表示開始フレーム１１に対してデュレーションで指定されるフレーム数分、先のフレームが表示終了フレーム１２となる。指定表示区間が設定されると、次のステップＳ２で、部分転送を行うために必要な区間が決められる。
【００７８】
図６Ｂは、図６Ａに示されるファイル１０に対して指定表示区間を指定して生成される部分転送ファイルの例を示す。指定表示区間に対して、当該指定表示区間のフレームを復号化するために必要なフレーム（ピクチャ）を含む全てのエディットユニットを、部分転送ファイル内に含める。例えば、指定された先頭フレーム１１がＢピクチャやＰピクチャによるフレームであれば、当該フレームを復号化するために、時間的に前のフレームが必要とされる。この場合、指定された先頭フレーム１１に対応するピクチャよりも時間的に前のピクチャを含むエディットユニットを、部分転送ファイルに含める必要がある。同様に、終了フレーム１２がＢピクチャによるフレームであれば、当該フレームに対応するピクチャよりも時間的に後のピクチャを含むエディットユニットを部分転送ファイルに含める必要がある。
【００７９】
なお、指定表示区間のフレームをデコードするために用いるピクチャを含むエディットユニットからなる、指定表示区間より前の区間を、ＧＯＰプリチャージ区間と呼ぶ。また、指定表示区間のフレームをデコードするために用いるピクチャを含むエディットユニットからなる、指定表示区間より後の区間を、ＧＯＰオーバーラン区間と呼ぶ。この発明の実施の一形態では、これら指定表示区間に対するＧＯＰプリチャージ区間およびＧＯＰオーバーラン区間を含めて、部分転送ファイルを作成する。
【００８０】
このように、部分転送ファイルによって転送すべきエディットユニットが決定されたら、ステップＳ３で、決定内容に応じてインデックステーブルが更新される。例えば、詳細は後述するが、インデックステーブル内のインデックスエントリアレイ中の各エディットユニット毎の情報におけるストリームオフセットが書き換えられる。また、必要に応じて、インデックステーブル内のインデックススタートポジションおよびインデックスデュレーションが書き換えられる。さらに、次のステップＳ４で、指定された先頭フレーム１１およびデュレーションの部分転送ファイル内における値が、ヘッダ１３中に、ヘッダメタデータとして記述される。
【００８１】
ステップＳ２により決定された部分転送区間と、ステップＳ３で作成されたインデックステーブルと、ステップＳ４で作成されたヘッダメタデータとにより、ステップＳ５で、部分転送ファイルが作成される。
【００８２】
例えば、ステップＳ２で決定された部分転送区間のビデオデータを元のファイルから読み出し、メモリ上の所定アドレスに記憶する。ステップＳ３およびステップＳ４でそれぞれ作成されたインデックステーブルおよびヘッダメタデータを、既にメモリ上に記憶されている部分転送区間のビデオデータと共に部分転送ファイルのイメージを形成するように、メモリ上に記憶する。
【００８３】
なお、上述した図７のフローチャートにおいて、ステップＳ３およびステップＳ４の順序は、入れ替えることが可能である。ステップＳ３およびステップＳ４の処理を並列的に行ってもよい。
【００８４】
次に、上述した図７のフローチャートにおけるステップＳ２の処理について、図８のフローチャートを用いてより詳細に説明する。ステップＳ１０で、ディスプレイオーダで以てフレームが指定されると、次のステップＳ１１でインデックステーブル中の、指定されたフレームのディスプレイオーダに対応するコーディングオーダのインデックスエントリが参照され、当該インデックスエントリに記述されるテンポラルオフセットが取得される。
【００８５】
次のステップＳ１２で、ステップＳ１１で取得されたテンポラルオフセットに示される値だけ、参照するインデックスエントリを移動する。指定表示区間の表示終了フレームを復号化するために必要なエディットユニットを求める場合には（ステップＳ１３）、このステップＳ１２で移動された移動先のインデックスエントリに対応するエディットユニットが、求めるエディットユニットとなる（ステップＳ１４）。
【００８６】
一方、指定表示区間の表示開始フレームを復号化するために必要なエディットユニットを求める場合には（ステップＳ１３）、処理はステップＳ１５に移行され、ステップＳ１２で移動された移動先のインデックスエントリで、キーフレームオフセットを取得する。そして、次のステップＳ１６で、取得されたキーフレームオフセットに示される値だけ、参照するインデックスエントリを移動し、移動先のインデックスエントリに対応するエディットユニットを、ステップＳ１０で指定された指定表示区間の表示開始フレームを復号化するために必要な先頭のエディットユニットとする（ステップＳ１７）。
【００８７】
より具体的な例を、図９〜図１２を用いて説明する。図９および図１０は、オープンＧＯＰ構造のビデオデータについて、部分転送ファイルに格納するエディットユニットを求める例を示す。ディスプレイオーダおよびコーディングオーダは、番号＃０から開始され、図９から図１０にかけて連続しているものとする。
【００８８】
図９は、オープンＧＯＰ構造のビデオデータにおいて、表示開始フレームを復号化するために必要なエディットユニットを求める例である。この図９の例では、表示開始フレームを、オープンＧＯＰ構造のＧＯＰに含まれるフレーム「Ｂ」＃７に指定している。このフレーム「Ｂ」＃７は、オープンＧＯＰ構造においては、復号化の際に、自身が属するＧＯＰに対して１つ前のＧＯＰに属するフレームが必要とされる。なお、オープンＧＯＰ構造であっても、全体の先頭のＧＯＰは、図９に示されるように、必ずクローズドＧＯＰの構造となる。
【００８９】
表示開始フレームを、オープンＧＯＰ構造のＧＯＰに含まれるフレーム「Ｂ」＃７に指定した場合、当該フレーム「Ｂ」＃７のディスプレイオーダに対応するコーディングオーダ＃７のインデックスエントリが参照され、テンポラルオフセットの値"＋１"が取得される。そして、このテンポラルオフセット値"＋１"だけインデックスエントリを移動し、移動先である、コーディングオーダ＃８に対応するインデックスエントリのキーフレームオフセット値"−８"が取得される。このコーディングオーダ＃８に対応するインデックスエントリから、キーフレームオフセット値"−８"だけ移動したインデックスエントリに示される、コーディングオーダ＃０に対応するエディットユニット＃０が、開始フレームを復号化するために必要な先頭のエディットユニットとなる。
【００９０】
図１０は、オープンＧＯＰ構造のビデオデータにおいて、表示終了フレームを復号化するために必要なエディットユニットを求める例である。この図１０の例では、表示終了フレームがフレーム「Ｂ」＃１９とされている。終了フレームであるフレーム「Ｂ」＃１９のディスプレイオーダに対応するコーディングオーダ＃１８のインデックスエントリが参照され、テンポラルオフセットの値"＋１"が取得される。そして、このテンポラルオフセット値"＋１"だけインデックスエントリを移動し、移動先であるインデックスエントリに示される、コーディングオーダ＃２０に対応するエディットユニット＃２０が、終了フレームを復号化するために必要なエディットユニットとなる。
【００９１】
図１１および図１２は、クローズドＧＯＰ構造のビデオデータについて、部分転送ファイルに格納するエディットユニットを求める例を示す。ディスプレイオーダおよびコーディングオーダは、番号＃０から開始され、図１１から図１２にかけて連続しているものとする。
【００９２】
図１１は、クローズドＧＯＰ構造のビデオデータにおいて、表示開始フレームを復号化するために必要なエディットユニットを求める例である。この図１１の例では、表示開始フレームをフレーム「Ｂ」＃７に指定している。クローズドＧＯＰ構造の場合には、ディスプレイオーダで最初のフレーム「Ｉ」の前に位置するフレーム「Ｂ」は、前方参照が行われず、フレーム「Ｂ」の後に位置するフレーム「Ｉ」のみによる後方参照で、復号化がなされる。
【００９３】
表示開始フレームをフレーム「Ｂ」＃７に指定した場合、当該フレーム「Ｂ」＃７のディスプレイオーダに対応するコーディングオーダのインデックスエントリが参照され、テンポラルオフセット値"＋１"が取得される。そして、このテンポラルオフセット値"＋１"だけインデックスエントリを移動し、移動先である、コーディングオーダ＃８に対応するキーフレームオフセット値"−２"が取得される。このコーディングオーダ＃８に対応するインデックスエントリから、キーフレームオフセット値"−２"だけ移動したインデックスエントリに示される、コーディングオーダ＃６に対応するエディットユニット＃６が、開始フレームを復号化するために必要な先頭のエディットユニットとなる。
【００９４】
図１２は、クローズドＧＯＰ構造のビデオデータにおいて、表示終了フレームを復号化するために必要なエディットユニットを求める例である。この図１２の例では、表示終了フレームがフレーム「Ｂ」＃１９とされている。終了フレームであるフレーム「Ｂ」＃１９のディスプレイオーダに対応するコーディングオーダ＃１８のインデックスエントリが参照され、テンポラルオフセットの値"＋１"が取得される。そして、このテンポラルオフセット値"＋１"だけインデックスエントリを移動し、移動先であるインデックスエントリに示される、コーディングオーダ＃２０に対応するエディットユニット＃２０が、終了フレームを復号化するために必要なエディットユニットとなる。このように、表示終了フレームに関しては、オープンＧＯＰ構造とクローズドＧＯＰ構造とで同一の結果が得られる。
【００９５】
上述のようにして表示開始フレームを復号化するために必要なエディットユニットと、終了フレームを復号化するために必要なエディットユニットとが求められると、これらのエディットユニットが属するＧＯＰの情報がそれぞれ取得される。そして、表示開始フレームを復号化するために必要なエディットユニットが属するＧＯＰから、表示終了フレームを復号化するために必要なエディットユニットが属するＧＯＰまでを、元のファイルからＧＯＰ単位で取り出して、部分転送ファイルを作成する。
【００９６】
例えば、オープンＧＯＰ構造における表示開始フレーム側を示す図９の例では、表示開始フレームを先頭から２番目のＧＯＰに属するフレーム「Ｂ」＃７とした場合、上述したように、復号化に必要な先頭のエディットユニットは、当該フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰにおけるフレーム「Ｉ」＃２となる。フレーム「Ｂ」＃７は、このフレーム「Ｉ」＃２を用いて復号化されたフレーム「Ｐ」＃５と、フレーム「Ｂ」＃７が属するＧＯＰのフレーム「Ｉ」＃８とを用いて復号化される。したがって、フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰにおけるＢピクチャによるフレームは、実際には不要である。
【００９７】
この実施の一形態では、表示開始フレーム側において、この不要なＢピクチャも含めて、ＧＯＰ単位で部分転送ファイルに格納する。
【００９８】
また、表示終了フレーム側を示す図１０の例において、例えば表示終了フレームを、対応するＩピクチャのみで復号化が可能なフレーム「Ｉ」＃２０に指定したとする。この場合、上述した図８のフローチャートの処理によれば、表示終了フレームを復号化するために必要なエディットユニットは、対応するＩピクチャのデータが格納されるエディットユニットである、コーディングオーダ＃１８に対応するエディットユニット＃１８となる。しかしながら、ディスプレイオーダでフレーム「Ｉ」＃２０の前に、同じＧＯＰ内のフレーム「Ｂ」＃１８およびフレーム「Ｂ」＃１９が存在するため、コーディングオーダにおいてフレーム「Ｉ」＃２０（コーディングオーダで１８番目）の後に位置する、これらフレーム「Ｂ」＃１８およびフレーム「Ｂ」＃１９（コーディングオーダでそれぞれ１９番目および２０番目）も共に復号化する必要がある。これは、表示終了フレームが後方参照を必要としないＰピクチャによるフレーム「Ｐ」である場合にも同様である。
【００９９】
この実施の一形態では、ＧＯＰ単位でデータを取り出して部分転送ファイルを作成するため、表示終了フレーム側における、ディスプレイオーダとコーディングオーダとでＩピクチャまたはＰピクチャと順番が入れ替わるＢピクチャも含めて、部分転送ファイルに格納することができる。
【０１００】
なお、これに限らず、元のファイルからビデオデータをピクチャ単位で取り出し、取り出されたピクチャにより部分転送ファイルを作成することもできる。この場合には、上述した表示開始フレーム側で不要になるＢピクチャが格納されたエディットユニットの除去や、表示終了フレーム側における、ＩピクチャまたはＰピクチャとディスプレイオーダおよびコーディングオーダで順序が入れ替わるＢピクチャが格納されたエディットユニットの追加などを、適宜、行う必要がある。
【０１０１】
次に、上述した図７のフローチャートにおけるステップＳ３の、インデックステーブルの更新処理について、より詳細に説明する。インデックステーブル内のインデックスエントリアレイ中の各インデックスエントリにおいて、フラグは、各エディットユニット毎に固有の値であるので、不変である。スライスオフセットも、部分転送ファイルは、デコードおよび再エンコード処理を介さないで作成され、エディットユニットに格納されるピクチャのデータには変化がないので、不変である。また、テンポラルオフセットおよびキーフレームオフセットは、部分転送ファイルにＧＯＰ単位でデータを格納する場合、不変である。
【０１０２】
ストリームオフセットは、部分転送ファイルに格納されるエッセンスコンテナストリームの構造に応じて、各インデックスエントリ毎に更新される。すなわち、部分転送を行うＧＯＰの先頭を基準として、各エディットユニットのオフセットが求められ、新たなストリームオフセットの値とされる。
【０１０３】
インデックステーブルにおけるインデックススタートポジションは、部分転送ファイルにおいて、元のファイルに対して当該インデックステーブルより前に存在するエディットユニット数が変化した場合、当該エディットユニット数に応じて、更新される。
【０１０４】
例えば、元のファイルから、あるインデックステーブルが管理する領域を含む後ろ側が取り出されて部分転送ファイルに格納され、当該インデックステーブルが管理する領域より前の領域が部分転送ファイルに含まれないような場合、エディットユニット番号が変更される。このような場合に、変更されたエディットユニット番号に応じてインデックススタートポジションが更新される。
【０１０５】
また、インデックスデュレーションは、当該インデックステーブルで管理するエディットユニット数に変化が生じた場合、当該エディットユニット数に応じて更新される。例えば、あるインデックステーブルが管理する領域の途中から、エディットユニットが取り出されて部分転送ファイルに格納される場合、当該インデックステーブルが管理するエディットユニット数が変化する。このような場合に、当該インデックステーブルが管理するエディット数を示すように、当該インデックステーブル内のインデックスデュレーションが更新される。
【０１０６】
次に、上述した図７のフローチャートにおけるステップＳ４の、ヘッダメタデータの更新処理について、より詳細に説明する。上述したように、ヘッダ１３中に、ヘッダメタデータとして、表示開始フレームおよびデュレーションが記述される。表示開始フレームは、部分転送ファイル内におけるディスプレイオーダで以て記述される。
【０１０７】
上述した図９を用いて、ヘッダメタデータに表示開始フレームおよびデュレーションを記述しておくことの効果について説明する。既に説明したように、図９の例では、オープンＧＯＰ構造において、表示開始フレームをディスプレイオーダでＧＯＰの先頭のフレーム「Ｂ」＃７に指定した際に、当該フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰのフレーム「Ｉ」＃２が、表示開始フレーム「Ｂ」＃７を復号化するために必要な先頭のフレームとされている。このフレーム「Ｉ」＃２は、コーディングオーダでは、ＧＯＰの先頭のエディットユニットに対応する。また、部分転送ファイルには、ＧＯＰ単位でデータが格納されるので、この例では、表示開始フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰから、部分転送ファイルに格納されることになる。
【０１０８】
従来では、ヘッダ１３中にこのような指定表示区間に対する情報を記述するようにはしていなかった。そのため、再生システムは、上述のようにして作成した部分転送ファイルを再生する際に、表示可能な先頭のフレームから表示するしかなく、表示開始フレームから表示しようとする場合、改めて表示開始フレームの頭出しをする必要があった。例えば、図９の例では、表示開始フレーム「Ｂ」＃７が属するＧＯＰの１つ前のＧＯＰの、ディスプレイオーダで先頭のフレーム「Ｂ」＃０から再生が開始されてしまう。
【０１０９】
この発明の実施の一形態によれば、再生システムは、部分転送ファイルを再生する際に、ヘッダ１３を予め読み込んでおくことで、ヘッダメタデータに記述された表示開始フレームおよびデュレーションの情報に基づき、部分転送ファイル内にける、表示すべき区間を知ることができる。これにより、部分転送ファイルを再生する際に、この表示開始フレームより前のフレームを再生せずに、表示開始フレームから直接的に再生を開始することができ、指定された区間のみの表示を容易に行うことができる。
【０１１０】
次に、この発明の実施の一形態に適用可能なシステムについて、より具体的に説明する。先ず、この発明の実施の一形態に適用可能な記録媒体について説明する。図１３は、ディスク状記録媒体における一例のデータ配置を示す。この図１３に一例が示されるデータ配置は、記録可能な光ディスク、ハードディスクといった、ランダムアクセスが可能なディスク状記録媒体における一般的なデータ配置である。論理アドレス空間は、任意のデータを記録再生可能な領域である。
【０１１１】
この実施の一形態では、記録媒体を光ディスクとする。なお、この実施の一形態に適用可能な記録媒体は、光ディスクに限られない。すなわち、この実施の一形態は、ハードディスクドライブや半導体メモリといった、他のランダムアクセス可能な記録媒体にも適用できるものである。上述したＭＸＦファイルは、例えばこのような記録媒体に記録されて提供される。また、この実施の一形態による、ＭＸＦファイルから表示開始フレームおよびデュレーションに基づき取り出されたデータからなる部分転送ファイルを、このような記録媒体に記録することができる。
【０１１２】
論理アドレスの先端および後端には、ファイルシステムＦＳが配置される。任意のデータは、論理アドレス空間内に一般的にファイルと称される所定の形式で記録される。記録媒体上のデータは、基本的にファイル単位で管理される。ファイルの管理情報は、ファイルシステムＦＳに記録される。記録再生装置のシステム制御部（後述する）のファイルシステム層は、このファイルシステムＦＳの情報を参照および操作することで、多種多様なデータを一つの記録媒体上で管理することができる。ファイルシステムＦＳは、例えばＵＤＦ(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)からなり、例えば光ディスク１の記録フォーマットである年輪イメージで以て、１乃至複数年輪分のビデオデータ、オーディオデータおよび他のデータを一時的に格納可能とされる。メモリコントローラ１０３は、このＲＡＭ１０４に対するアクセス制御を、後述するＣＰＵ１２１を介さないでＤＭＡ(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)で回転駆動する。スピンドルモータ１１２の駆動方式は、信号処理部３からの制御信号に基づき、ＣＬＶおよびＣＡＶとで切り替え可能とされている。
【０１６２】
再生時には、ピックアップ部１５２が光ディスク１にレーザ光を集光して照射し、光ディスク１からの反射光を光電変換した電流信号をＲＦアンプ１５３に供給する。変調／復調部１５５は、ＲＦアンプ１５３から供給された再生信号を復調して再生データを生成し、メモリコントローラ１５６に供給する。メモリコントローラ１５６は、供給された再生データをメモリ１５７に書き込む。メモリ１５７からＥＣＣブロック単位で再生データが読み出され、ＥＣＣ部１５８に供給される。
【０１６３】
ＥＣＣ部１５８は、供給されたＥＣＣブロック単位の再生データのエラー訂正符号を復号化してエラー訂正を行う。エラー訂正符号の持つエラー訂正能力を超えてエラーが検出されたときは、エラー訂正を行わずに、エラー訂正単位に対してエラーフラグを立てる。ＥＣＣ部１５８から出力された再生データは、メモリコントローラ１０３に供給される。
【０１６４】
以上のような構成において、記録時には、記録再生装置１００に対して、ディジタルビデオ信号およびディジタルオーディオ信号が入力される。ディジタルビデオ信号は、記録側ビデオ処理部１０１で所定の信号処理を施され、ＭＰＥＧエンコーダ１０２でＭＰＥＧ２の規格に準じた方式で圧縮符号化され、メモリコントローラ１０３に供給される。また、ディジタルオーディオ信号は、オーディオ処理部１０９で所定の信号処理を施され、メモリコントローラ１０３に供給される。
【０１６５】
一方、記録側ビデオ処理部１０１から補助ＡＶ（Ｖ）部１０７に対してディジタルビデオ信号が供給される。補助ＡＶ（Ｖ）部１０７は、例えばＭＰＥＧ４に規定される圧縮符号化方式により、供給されたディジタルビデオ信号を、ビットレートが数Ｍｂｐｓ程度になるように圧縮符号化し、補助ＡＶデータのビデオデータ部分を得る。この補助ＡＶデータのビデオデータ部分は、メモリコントローラ１０３に供給される。また、オーディオ処理部１０９から出力されたディジタルオーディオ信号が補助ＡＶ（Ａ）部１１０に供給され、例えば間引きとＡ−Ｌａｗ符号化を用い、サンプリング周波数および量子化ビット数を落として圧縮符号化し、メモリコントローラ１０３に供給する。
【０１６６】
メモリコントローラ１０３は、ＣＰＵ１２１の命令に基づき、ＭＰＥＧエンコーダ１０２で圧縮符号化された供給されたディジタルビデオ信号と、オーディオ処理部１０９から供給されたディジタルオーディオ信号と、補助ＡＶ（Ｖ）部１０７および補助ＡＶ（Ａ）部１０６から供給されたデータからなる補助ＡＶデータとを、ＲＡＭ１０４に所定に溜め込む。このとき、メモリコントローラ１０３は、供給された圧縮ディジタルビデオ信号と、ディジタルオーディオ信号と、補助ＡＶデータとを、上述した年輪のフォーマットに対応するように、ＲＡＭ１０４上にマッピングする。
【０１６７】
メモリコントローラ１０３は、ＣＰＵ１２１からの命令に基づき、ＲＡＭ１０４上に所定にデータが溜め込まれたら、ＲＡＭ１０４からデータを読み出して、読み出したデータを書き込み命令と共にディスクドライブ部１０５に供給する。ディスクドライブ部１０５は、供給された記録データを、書き込み命令に基づき、光ディスク１に対して年輪フォーマットで記録する。
【０１６８】
再生時には、光ディスク１がディスクドライブ部１０５に装填されると、ディスクドライブ部１０５は、光ディスク１上のファイルシステムＦＳが読み込まれる。ＣＰＵ１２１は、光ディスク１上のファイルの読み出し命令を、メモリコントローラ１０３を介してディスクドライブ部１０５に供給する。ディスクドライブ部１０５は、この命令に従い、読み込まれたファイルシステムＦＳに基づき指定されたファイルにアクセスする。ディスクドライブ部１０５は、光ディスク１から年輪単位でデータを読み込み、メモリコントローラ１０３に供給する。メモリコントローラ１０３は、供給されたデータを、年輪イメージで以てＲＡＭ１０４に溜め込む。
【０１６９】
メモリコントローラ１０３は、ＲＡＭ１０４の所定量以上のデータが溜め込まれたら、ＲＡＭ１０４からデータを読み出す。ＲＡＭ１０４から読み出されたディジタルビデオ信号は、メモリコントローラ１０３からＭＰＥＧデコーダ１０６に供給され、圧縮符号を復号化され、ベースバンドのディジタルビデオ信号とされる。このディジタルビデオ信号は、再生側ビデオ処理部１０８に供給され、所定に信号処理を施され、出力される。
【０１７０】
ＲＡＭ１０４から読み出されたディジタルオーディオ信号も、メモリコントローラ１０３からオーディオ処理部１０９に供給され、所定に信号処理されて出力される。
【０１７１】
また、ＲＡＭ１０４から読み出された補助ＡＶデータは、ビデオデータ部分がメモリコントローラ１０３から再生側ビデオ処理部１０８を介して補助ＡＶ（Ｖ）部１０７に供給される。補助ＡＶデータのビデオデータ部分は、補助ＡＶ（Ｖ）１０７で圧縮符号を復号化され、再生側ビデオ処理部１０８を介して出力される。また、ＲＡＭ１０４から読み出された補助ＡＶデータのオーディオデータ部は、メモリコントローラ１０３から補助ＡＶ（Ａ）部１１０に供給される、補助ＡＶデータのオーディオデータ部は、補助ＡＶ（Ａ）部で圧縮符号を復号化され、オーディオ処理部１０９を介して出力される。
【０１７２】
一方、光ディスク１からデータが読み出され、ＲＡＭ１０４に書き込まれると、ＣＰＵ１２１は、ＲＡＭ１０４に書き込まれたデータに基づきＭＸＦファイルのイメージを作成し、インデックステーブル、各パーティションテーブルなどのテーブル情報をＲＡＭ１２２上に保持する。例えばＣＰＵ１２１は、光ディスク１から読み出されＲＡＭ１０４に書き込まれたピクチャポインタテーブルの情報を参照して、これらインデックステーブル、各パーティションテーブルなどのテーブル情報を作成する。
【０１７３】
また、例えば、光ディスクからＮＲＴ領域のデータだけを読み出してピクチャポインタテーブルを抽出し、ビデオデータなどの再生を行わずに、このピクチャポインタテーブルからインデックステーブルや各パーティションテーブルなどのテーブル情報を作成するようにしてもよい。
【０１７４】
ＣＰＵ１２１は、このＲＡＭ１２２上に保持された情報に基づきＲＡＭ１０４に溜め込まれたデータにアクセスする。これにより、ＣＰＵ１２１は、光ディスク１上のデータに仮想的にアクセスすることができる。このようにすることで、例えば、光ディスク１に対して年輪フォーマットで記録されたデータを、通信インターフェイス１３４や通信インターフェイス１２６で接続された外部の機器に対して、ＭＸＦフォーマットのデータとして見せることができる。
【０１７５】
次に、上述の構成において、光ディスク１に記録されたファイルに対して、表示開始フレームおよびデュレーションを指定し、指定された区間のフレームからなる部分転送ファイルを作成する処理について説明する。一例として、ＬＡＮを介して接続される外部機器から、通信インターフェイス１３４を介して部分転送指示を受信し、この指示に応じて作成された部分転送ファイルを、通信インターフェイス１３４からＬＡＮを介して当該外部機器に送信する場合について考える。
【０１７６】
光ディスク１がディスクドライブ部１０５に装填されると、上述したようにして光ディスク１から年輪単位でデータが読み出され、ＲＡＭ１０４に溜め込まれる。ＣＰＵ１２１は、ＲＡＭ１０４に溜め込まれた例えばピクチャポインタテーブルの情報に基づき、インデックステーブルやヘッダ情報、各パーティション情報などを生成し、光ディスク１に年輪単位で記録されているデータのＭＸＦフォーマットによるイメージを作成する。このＭＸＦフォーマットによるファイルイメージが、通信インターフェイス１３４を介して接続された外部機器に対して送信される。
【０１７７】
外部機器において、このイメージに基づき、対象のファイルに対して表示開始フレームおよびデュレーションが指定され、表示開始フレームからデュレーションの長さだけ表示するような部分転送ファイルを作成するように命令が出される。この命令は、外部機器からＬＡＮに対して送信され、通信インターフェイス１３４に受信される。受信されたこの命令は、通信インターフェイス１３４からＣＰＵ１２１に渡される。
【０１７８】
ＣＰＵ１２１は、渡された命令に基づき、図７のフローチャートを用いて説明した処理に従い、部分転送ファイルのイメージを作成する。例えば、部分転送ファイルを作成するために必要な区間を決定し、対応するインデックステーブルやヘッダメタデータを作成する。そして、光ディスク１から、部分転送ファイルを作成するために必要な区間に対応するリアルタイムデータを読み出してエディットユニットを形成し、作成されたインデックステーブルやヘッダメタデータなどと共に、部分転送ファイルを作成する。
【０１７９】
通信インターフェイス１３４を解して部分転送ファイルを外部に転送する場合、ＣＰＵ１２１は、ＣＰＵ１３２に対して部分転送ファイルを通信インターフェイス１３４から送信するように命令すると共に、ＲＡＭ１２２に記憶された、これらインデックステーブル、ヘッダメタデータおよび所定区間のエディットユニットを、ＲＡＭ１２２から読み出してバス１２０、ブリッジ１３０およびバス１３１を介してＣＰＵ１３２に渡す。ＣＰＵ１３２は、渡されたこれらのデータを、部分転送ファイルのファイルイメージにマッピングしてメモリ１３３に一旦格納する。ＣＰＵ１３２が通信インターフェイス１３４に対して、メモリ１３３に格納されたデータを送信するように命令すると、通信インターフェイス１３４は、メモリ１３３に部分転送ファイルのイメージにマッピングされて格納されたデータを所定に読み出して、ＬＡＮに対して送信する。
【０１８０】
なお、部分転送ファイルは、通信インターフェイス１３４から外部に転送するのに限らず、例えば通信インターフェイス１２６から外部に転送することもできる。この場合、部分転送ファイルの作成および転送要求は、例えば外部機器から通信インターフェイス１２６に対して送信される。また、ＣＰＵ１２１によってＲＡＭ１２２に記憶されたインデックステーブル、ヘッダメタデータおよび所定区間のエディットユニットは、ＲＡＭ１２２から部分転送ファイルのイメージで読み出され、直接的に通信インターフェイス１２６に供給される。
【０１８１】
また、部分転送ファイルをメモリ１２５に対して転送することも可能である。この場合も、上述の部分転送ファイルを通信インターフェイス１２６を介して送信する場合と同様に、ＲＡＭ１２２に記憶されたインデックステーブル、ヘッダメタデータおよび所定区間のエディットユニットは、ＲＡＭ１２２から部分転送ファイルのイメージで読み出され、コネクタ１２４を介してメモリ１２５に転送される。
【０１８２】
なお、部分転送ファイルの転送先では、転送された部分転送ファイルを所定の記録媒体に記録することができる。例えば、転送先にこの記録再生装置１００と同等の機器を接続し、当該機器に装填された光ディスク１に対して、当該機器に転送された部分転送ファイルを記録することができる。
【０１８３】
次に、上述したようにして作成された部分転送ファイルを再生する処理の例について、図２０のフローチャートを用いて概略的に説明する。一例として、光ディスク１に対して部分転送ファイルが記録され、この光ディスク１を記録再生装置１００に装填して記録されている部分転送ファイルを再生する場合について考える。
【０１８４】
光ディスク１がディスクドライブ部１０５に装填されると、ディスクドライブ部１０５により光ディスク１のファイルシステムが読み込まれる。読み込まれたファイルシステムは、ＣＰＵ１２１により所定に取得され、例えばＲＡＭ１２２に記憶される。ＣＰＵ１２１は、ファイルシステムに基づき、光ディスク１に記録されたファイルに関して、ファイル名やアドレス情報などの、ファイルにアクセスするために必要な情報を知ることができる。また、このファイル情報は、通信インターフェイス１３４や通信インターフェイス１２６で接続された外部の機器に送信することができる。これら外部の機器は、このファイル情報に基づき、光ディスク１に記録されたファイルに対するアクセスを、記録再生装置１００に要求することができる。
【０１８５】
例えばＬＡＮを介して接続された外部の機器から、光ディスク１に記録された部分転送ファイルの再生要求が送信される。このファイル再生要求は、通信インターフェイス１３４により受信され、所定にＣＰＵ１２１に渡される。ＣＰＵ１２１は、この部分転送ファイル再生要求に基づきメモリコントローラ１０３に対して命令を出し、光ディスク１に記録されている指定の部分転送ファイルの読み出しを行う（ステップＳ２０）。
【０１８６】
なお、光ディスク１上に記録されたデータの読み出しは、例えば、ＣＰＵ１２１からメモリコントローラ１０３に対して出された読み出し命令に応じて、メモリコントローラ１０３によりディスクドライブ部１０５が制御されてなされるものとする。以下の説明では、繁雑さを避けるため、光ディスク１に記録されたデータの読み出し処理を、例えば「光ディスク１からＣＰＵ１２１がデータを読み出す」、といったように簡略的に記述する。
【０１８７】
ＣＰＵ１２１は、ステップＳ２１で、光ディスク１に記録されている指定の部分転送ファイルのヘッダ１３およびインデックステーブルを読み出す。読み出されたヘッダ１３およびインデックステーブルは、メモリコントローラ１０３からＣＰＵ１２１に渡され、ＲＡＭ１２２に記憶される。ＣＰＵ１２１は、ヘッダ１３内のヘッダメタデータに基づき、当該部分転送ファイルの表示開始フレームおよびデュレーションを知ることができる。また、インデックステーブルに基づき、部分転送ファイルに格納されるデータ構造や、各データの位置を知ることができる。
【０１８８】
次に、ＣＰＵ１２１は、インデックステーブルに基づき、部分転送ファイルの先頭のピクチャから読み出しを開始する（ステップＳ２２）。実際には、部分転送ファイル中のエディットユニットがコーディングオーダに従って読み出される。読み出されたピクチャは、ＲＡＭ１０４に溜め込まれる。
【０１８９】
また、ＣＰＵ１２１からメモリコントローラ１０３を介して、ＭＰＥＧデコーダ１０６に対して、ＲＡＭ１０４に溜め込まれたピクチャの復号化命令が出される。ＭＰＥＧデコーダ１０６は、ＣＰＵ１２１から出された復号化命令に応じてＲＡＭ１０４に溜め込まれたピクチャをコーディングオーダ順に読み出し、所定に復号化する（ステップＳ２３）。復号化されて得られたフレームは、ＭＰＥＧデコーダ１０６に内蔵されるフレームバッファに所定に溜め込まれる。
【０１９０】
一方、ＣＰＵ１２１は、ＭＰＥＧデコーダ１０６に内蔵されるフレームバッファの状態を監視し、ヘッダ内のヘッダメタデータに記述された表示開始フレームに基づき、フレームバッファ内の復号化後のフレーム格納状態が表示開始フレームを出力可能な状態になっているか否かを判断する（ステップＳ２４）。若し、表示開始フレームを出力可能な状態になっていないと判断されれば、処理はステップＳ２２に戻され、部分転送ファイルからのピクチャの読み出し処理などが行われる。
【０１９１】
一方、フレームバッファの状態が表示開始フレームを出力可能な状態になっていると判断されれば、ＭＰＥＧデコーダ１０６に対して、フレームバッファに溜め込まれたフレームを、表示開始フレームからディスプレイオーダ順に出力するように命令を出す（ステップＳ２５）。フレームバッファから読み出されたフレームは、再生側ビデオ処理部１０８を介して出力される。
【０１９２】
次のステップＳ２６で、ＣＰＵ１２１は、ヘッダ１３のヘッダメタデータに記述されたデュレーションに示されるフレーム数だけ、フレームが出力されたか否かが判断される。デュレーションに示されるフレーム数の出力が完了されたと判断されれば、一連の部分転送ファイルの再生が終了される。一方、デュレーションに示されるフレーム数分の出力が完了されていないと判断されれば、処理はステップＳ２２に戻され、ピクチャの読み出し、復号化などの処理が順次、行われる。
【０１９３】
なお、ここでは、この発明の実施の一形態による部分転送ファイルが光ディスク１に記録され、この光ディスク１から部分転送ファイルを再生する場合について説明したが、これはこの例に限定されない。すなわち、記録再生装置１００で作成され、通信インターフェイス１３４や通信インターフェイス１２６を介して転送された部分転送ファイルを受信してメモリ上に記憶したような場合にも、上述の再生方法を適用することができる。
【０１９４】
上述では、記録再生装置１００が光ディスク１に記録されたビデオデータを再生する専用的なハードウェアであるように説明したが、これはこの例に限らず、例えばパーソナルコンピュータといった汎用的なコンピュータ装置（図示しない）を、記録再生装置１００として用いることもできる。この場合、コンピュータ装置に搭載されるプログラムによって、記録再生装置１００の機能を実現させることができる。またこの場合、ビデオデータのデコード処理は、ソフトウェア処理によりＣＰＵで行ってもよいし、専用的なハードウェアをコンピュータ装置に搭載することもできる。
【０１９５】
また、上述では、この発明が記録媒体として光ディスクを用い、年輪構造でクリップが記録されている場合に適用されるように説明したが、これはこの例に限定されない。例えば、記録媒体上の記録フォーマットは、年輪構造に限られず、他のフォーマットであってもよい。また、記録媒体は、光ディスクに限られず、ハードディスクドライブや、半導体メモリであってもよい。
【０１９６】
さらに、上述では、この発明がＭＸＦフォーマットに適用可能であるように説明したが、これはこの例に限定されない。すなわち、この発明は、ヘッダ部分のような、ファイルに関する属性情報が記述可能で、ファイルのアクセス時にファイルの本体部分とは別に読み込まれる部分を有し、ファイルの本体部分に格納された各ピクチャにそれぞれアクセス可能なようにされたファイルフォーマットであれば、他のフォーマットにも適用可能なものである。
【０１９７】
さらにまた、上述では、作成した部分転送ファイルを外部に転送するように説明したが、これはこの例に限定されない。例えば、ハードディスクドライブなどのノンリニア記録媒体を用いたビデオ編集装置などにおいて、編集過程や編集結果を保持する内部ファイルを、この発明の実施によるファイル作成方法で以て作成することもできる。
【０１９８】
また、上述では、元のファイルに格納されたビデオデータに対して指定された区間について、部分転送ファイルを作成するように説明したが、これはこの例に限定されない。例えば、ビデオストリームに対してこの発明によるファイル作成方法を適用することも可能である。
【図面の簡単な説明】
【０１９９】
【図１】ＭＸＦファーマットについて説明するための略線図である。
【図２】ＭＸＦファーマットについて説明するための略線図である。
【図３】ＭＸＦファーマットについて説明するための略線図である。
【図４】ＭＸＦファーマットについて説明するための略線図である。
【図５】インデックスエントリ中のフラグの一例のビットアサインを示す略線図である。
【図６】この発明の実施の一形態によるファイルの部分転送処理について説明するための略線図である。
【図７】部分転送ファイルを作成する一例の処理を概略的に示すフローチャートである。
【図８】部分転送する区間を決定するための一例の処理を示すフローチャートである。
【図９】オープンＧＯＰ構造のビデオデータについて部分転送ファイルに格納するエディットユニットを求める例を示す略線図である。
【図１０】オープンＧＯＰ構造のビデオデータについて部分転送ファイルに格納するエディットユニットを求める例を示す略線図である。
【図１１】クローズドＧＯＰ構造のビデオデータについて部分転送ファイルに格納するエディットユニットを求める例を示す略線図である。
【図１２】クローズドＧＯＰ構造のビデオデータについて部分転送ファイルに格納するエディットユニットを求める例を示す略線図である。
【図１３】ディスク状記録媒体における一例のデータ配置を示す略線図である。
【図１４】クリップについて説明するための略線図である。
【図１５】光ディスクに対して年輪データが形成された一例の様子を示す略線図である。
【図１６】ＭＰＥＧ２のロングＧＯＰにおける一例のデータ構造を示す略線図である。
【図１７】ピクチャポインタ情報が記述されるピクチャポインタテーブルのより具体的な例を示す略線図である。
【図１８】この発明の実施の一形態に適用可能な記録再生装置の一例の構成を示すブロック図である。
【図１９】ディスクドライブ部の一例の構成を示すブロック図である。
【図２０】部分転送ファイルを再生する一例の処理を示すフローチャートである。
【図２１】ロングＧＯＰの場合のデコード処理について説明するための略線図である。
【符号の説明】
【０２００】
１  光ディスク
１０  ファイル
１１  表示開始ファイル
１２  表示終了フレーム
１３  ヘッダ
１００  記録再生装置
１０２  ＭＰＥＧエンコーダ
１０３  メモリコントローラ
１０４  ＲＡＭ
１０５  ディスクドライブ部
１０６  ＭＰＥＧデコーダ
１２１  ＣＰＵ
１２２  ＲＡＭ
１２３  ＲＯＭ
１２６  通信インターフェイス
１３２  ＣＰＵ
１３３  ＲＡＭ
１３４  通信インターフェイス
【図１】
0004720543.tif 000002
【図２】
0004720543.tif 000003
【図３】
0004720543.tif 000004
【図４】
0004720543.tif 000005
【図５】
0004720543.tif 000006
【図６】
0004720543.tif 000007
【図７】
0004720543.tif 000008
【図８】
0004720543.tif 000009
【図９】
0004720543.tif 000010
【図１０】
0004720543.tif 000011
【図１１】
0004720543.tif 000012
【図１２】
0004720543.tif 000013
【図１３】
0004720543.tif 000014
【図１４】
0004720543.tif 000015
【図１５】
0004720543.tif 000016
【図１６】
0004720543.tif 000017
【図１７】
0004720543.tif 000018
【図１８】
0004720543.tif 000019
【図１９】
0004720543.tif 000020
【図２０】
0004720543.tif 000021
【図２１】
0004720543.tif 000022