以下、この発明の実施の一形態を、図面を参照しながら説明する。先ず、理解を容易とするために、この発明に適用可能な記録媒体および記録再生装置について説明する。図1は、ディスク状記録媒体における一例のデータ配置を示す。この図1に一例が示されるデータ配置は、記録可能な光ディスク、ハードディスクといった、ランダムアクセスが可能なディスク状記録媒体における一般的なデータ配置である。論理アドレス空間は、任意のデータを記録再生可能な領域である。
この実施の一形態では、記録媒体を光ディスクとし、この光ディスクの最小記録単位のブロックサイズを64kB(キロバイト)とする。この光ディスクの最小記録単位をRUB(Read Unit Block)と呼ぶ。
論理アドレスの先端および後端には、ファイルシステムFSが配置される。任意のデータは、論理アドレス空間内に一般的にファイルと称される所定の形式で記録される。記録媒体上のデータは、基本的にファイル単位で管理される。ファイルの管理情報は、ファイルシステムFSに記録される。記録再生装置のシステム制御部(後述する)のファイルシステム層は、このファイルシステムFSの情報を参照および操作することで、多種多様なデータを一つの記録媒体上で管理することができる。ファイルシステムFSは、例えばUDF(Universal Disk Format)が用いられ、2kB単位でファイルを管理する。
論理アドレス空間の外に、交替領域が配置される。交替領域は、記録媒体の一部が欠陥(ディフェクト)により物理的に読み書きできなくなった場合に代替的に用いることができる領域である。例えば、記録媒体に対するアクセス(特に記録時のアクセス)の際に欠陥領域が認識された場合、通常は交替処理が行われ、当該欠陥領域のアドレスが交替領域内に移動される。
交替領域の使用状況は、所定領域にディフェクトリストとして記憶され、記録再生装置のドライブ制御部や、システム制御部の下位階層により用いられる。すなわち、後述するドライブ制御部やシステム制御部の下位階層では、記録媒体へのアクセスの際にディフェクトリストを参照することで、交替処理が行われている場合にも、適切な領域へのアクセスを行うことができる。交替領域のこの仕組みにより、上位アプリケーションは、記録媒体上の不良記録領域の有無や位置などを考慮することなく、記録媒体に対するデータの記録再生を行うことができる。
ディスク状記録媒体の場合、交替領域は、ディスクの最内周側または最外周側に配置されることが多い。ディスクの回転制御を、ディスクの半径方向に段階的に回転速度を変更するゾーン制御で行っている場合には、ゾーン毎に交替領域を設ける場合もある。記録媒体が半導体メモリなどディスク状記録媒体ではない場合には、物理アドレスが最も小さい側または最も大きい側に配置されることが多い。
AVデータを扱うアプリケーションにおいては、連続同期再生、すなわち実時間再生が保障された再生が必要な単位となるデータのまとまりを、クリップと呼ぶ。例えば、ビデオカメラにより撮影が開始されてから終了されるまでのひとまとまりのデータがクリップとされる。クリップの実体は、単一のファイルまたは複数のファイルからなる。この発明においては、クリップは、複数のファイルからなる。クリップの詳細については、後述する。
論理アドレス空間に対して、例えば先頭側にクリップ以外の任意のファイルが記録できるNRT(Non Real Time)領域が配置され、NRT領域の次から、クリップが順に詰め込まれていく。クリップは、光ディスク100上のディフェクト位置を避けて配置され、上述した交替処理が行われないようにされる。各クリップには、ヘッダ(H)およびフッタ(F)が付加される。この例では、ヘッダおよびフッタは、クリップの後端側にまとめて配置されている。
なお、以下の説明において、光ディスク100に最初に記録されるクリップを、クリップ#1とし、以降、クリップ#2、クリップ#3、・・・とクリップ番号が増加していくものとする。
論理アドレス空間内において、データが記録されていない領域や、過去にデータが記録されていたが現在では不要になった領域は、未使用領域としてファイルシステムFSに管理される。記録媒体上に新たに記録されるファイルに対して、未使用領域に基づき記録領域が割り当てられる。当該ファイルの管理情報は、ファイルシステムFSに追加される。
記録媒体として記録可能な光ディスクを用いた場合、この発明では、クリップを年輪構造によって記録媒体に記録する。図2および図3を用いて、年輪構造について説明する。図2Aは、一つのクリップ20をタイムライン上に示す例である。この例では、クリップ20は、ビデオデータ21、オーディオデータ22A〜22D、補助AVデータ23およびリアルタイムメタデータ24の7ファイルからなる。
ビデオデータ21は、ベースバンドのビデオデータを高ビットレートで圧縮符号化したビデオデータである。圧縮符号化方式としては、例えばMPEG2(Moving Pictures Experts Group 2)方式が用いられる。オーディオデータ22A、22B、22Cおよび22Dは、ベースバンドのオーディオデータが用いられ、それぞれ2チャンネルのオーディオデータである。これに限らず、オーディオデータ22A、22B、22Cおよび22Dは、ベースバンドのオーディオデータを高ビットレートで圧縮符号化したオーディオデータを用いてもよい。ビデオデータ21およびオーディオデータ22A〜22Dは、実際の放送や編集の対象とされるデータであって、本線系のデータと称される。
この実施の一形態では、本線系のAVビデオデータとして、ビットレートが50Mbps(メガビットパーセカンド)のビデオデータ(HD(High Definition)フォーマットと呼ぶ)および/またはビットレートが25Mbpsのデータ(SD(Standard Definition)フォーマットと呼ぶ)が用いられる。
補助AVデータ23は、ベースバンドのビデオデータおよびオーディオデータを、本線系のビデオデータおよびオーディオデータに対してより低ビットレートで圧縮符号化して多重化したデータである。圧縮符号化方式としては、例えばMPEG4方式が用いられ、本線系のAVデータを、ビットレートを例えば数Mbps(Mega bits per second)まで落とすように圧縮符号化して生成する。補助AVデータ23は、編集点などを決める際に本線系のデータの代理として用いられるデータであって、プロキシ(Proxy)データとも称される。なお、この実施の一形態では、補助AVデータにおけるオーディオデータのチャンネル数が8チャンネルに固定的とされる。
メタデータは、あるデータに関する上位データであり、各種データの内容を表すためのインデックスとして機能する。メタデータには、上述の本線系のAVデータの時系列に沿って発生されるリアルタイムメタデータ24と、本線系のAVデータにおけるシーン毎など、所定の区間に対して発生される非時系列メタデータの2種類がある。非時系列メタデータは、例えば図1で説明したNRT領域に記録される。
クリップ20は、図2Bに一例が示されるように、所定の再生時間を基準として分割され、年輪構造として光ディスクに記録される。一つの年輪は、図2Cに一例が示されるように、ビデオデータ21、オーディオデータ22A〜22D、補助AVデータ23およびリアルタイムメタデータ(RM)24を、それぞれ再生時間帯が対応するように、トラック1周分以上のデータサイズを有する所定の再生時間単位に分割し、分割された再生時間単位毎に順に配置して記録する。すなわち、クリップ20を構成する各データは、年輪構造により所定時間単位でインターリーブされ、光ディスクに記録される。
年輪を形成するデータを年輪データと称する。年輪データは、ディスクにおける最小の記録単位の整数倍のデータ量とされる。また、年輪は、その境界がディスクの記録単位のブロック境界と一致するように記録される。
図3は、光ディスク100に対して年輪データが形成された一例の様子を示す。この図3の例では、光ディスク100の内周側から順に、補助AV年輪データ#1、リアルタイムメタ年輪データ#1、チャンネル数分のオーディオ年輪データ#1、ビデオ年輪データ#1が記録されており、この周期で年輪データが扱われる。ビデオ年輪データ#1の外周側には、さらに、次の周期の年輪データの一部が補助AV年輪データ#2として示されている。
この図3の例は、リアルタイムメタ年輪データの1年輪データ分の再生時間帯と補助AV年輪データの1年輪データ分の再生時間帯とが対応し、リアルタイムメタ年輪データの1年輪データ分の再生時間帯とオーディオ年輪データの2周期分の再生時間帯が対応することを示している。同様に、リアルタイムメタ年輪データの1年輪データ分の再生時間帯とビデオ年輪データの4周期分の再生時間帯が対応することを示している。このような、各年輪データの再生時間帯および周期の対応付けは、例えばそれぞれのデータレートなどに基づき設定される。以下では、1年輪データ分の再生時間を2秒とする。
なお、クリップに対するヘッダやフッタも、図2Dに一例が示されるように、年輪構造によって記録される。
図4は、上述の図3のように年輪が形成された光ディスク100に対するデータの読み書きが行われる一例の様子を示す。光ディスク100に十分な大きさの連続した空き領域が存在し、その空き領域に欠陥が無い場合、オーディオデータ、ビデオデータ、補助AVデータ時系列メタデータの各データ系列から、再生時間帯に基づきそれぞれ生成されたオーディオ年輪データ、ビデオ年輪データ、補助AV年輪データおよび時系列メタ年輪データは、図4Aに一例が示されるように、光ディスク100の空き領域に対して、恰も一筆書きをするように書き込まれる。このとき、何れのデータの境界も、光ディスク100のセクタの境界と一致するように書き込まれる。光ディスク100からのデータの読み出しも、書き込み時と同様にして行われる。
一方、光ディスク100からある特定のデータ系列を読み出す場合には、読み出しデータ系列の記録位置にシークしてそのデータを読み出すという動作が繰り返される。図4Bは、このようにして補助AVデータの系列を選択的に読み出す様子を示す。例えば図3も参照し、補助AV年輪データ#1が読み出されたら、続いて記録されている時系列メタ年輪データ#1、オーディオ年輪データ#3およびビデオ年輪データ#3、ならびに、オーディオ年輪データ#4およびビデオ年輪データ#4(図示しない)をシークにより飛び越し、次の周期の補助AV年輪データ#2が読み出される。
このように、データの光ディスク100への記録を、再生時間を単位とし、再生時間帯に応じた年輪データとして周期的に行うことで、同じような再生時間帯のオーディオ年輪データとビデオ年輪データとが光ディスク100上の近い位置に配置されるので、光ディスク100から、再生時刻が対応するオーディオデータとビデオデータとを迅速に読み出して再生することが可能となる。また、年輪の境界とセクタの境界とが一致するように記録されるので、光ディスク100からオーディオデータまたはビデオデータだけを読み出すことが可能となり、オーディオデータまたはビデオデータだけの編集を迅速に行うことが可能となる。
また、上述したように、オーディオ年輪データ、ビデオ年輪データ、補助AV年輪データおよび時系列メタ年輪データは、光ディスク100のセクタの整数倍のデータ量を有し、さらに、年輪データの境界とセクタの境界とが一致するように記録されている。そのため、オーディオ年輪データ、ビデオ年輪データ、補助AV年輪データおよび時系列メタ年輪データのうち何れか1系列のデータだけが必要な場合に、他のデータの読み出しを行うことなく、必要なデータだけを読み出すことができる。
上述したような、年輪によるデータ配置の利便性を活かすためには、光ディスク100に対するデータの記録を、年輪の連続性が保証されるように行う必要がある。このことについて、図5を用いて説明する。例えば補助AV年輪データ(図5では「LR」と表示)だけ読み出すことを考える。
例えば記録時に連続した十分に大きな空き領域が確保されていれば、複数周期の年輪を連続的に記録することができる。この場合、図5Aに示されるように、時間的に連続する補助AV年輪データを、最小のトラックジャンプで読み出すことができる。すなわち、補助AV年輪データを読み出したら、次の周期の年輪における補助AV年輪データを読み出すという動作を繰り返すことが可能となり、ピックアップがジャンプする距離が最短となる。
これに対して、例えば記録時に連続した空き領域が確保できず、時間的に連続する補助AVデータを光ディスク100上の飛び飛びの領域に記録した場合、図5Bに一例が示されるように、最初の補助AV年輪データを読み出したら、例えば年輪の複数周期分に相当する距離をピックアップがジャンプして、次の補助AV年輪データを読み出さなければならない。この動作が繰り返されるため、図5Aに示される場合に比べて、補助AV年輪データの読み出し速度が低下してしまう。また、本線系のAVデータにおいては、図5Cに一例が示されるように、未編集AVデータ(AVクリップ)の再生が滞る可能性がある。
そこで、この発明の実施の一形態では、年輪の連続性を保証するために、年輪の複数周期分の長さを持つアロケーションユニットを定義し、年輪でデータを記録する際に、このアロケーションユニットで定義されたアロケーションユニット長を越える長さの、連続した空き領域を確保する。
図6を用いてより具体的に説明する。アロケーションユニット長は、予め設定される。アロケーションユニット長を、年輪で1周期に記録される各データの合計再生時間の複数倍に設定する。例えば、年輪の1周期に対応する再生時間が2秒であるとした場合、アロケーションユニット長を10秒に設定する。このアロケーションユニット長は、光ディスク100の空き領域の長さを計測する物差しとして用いられる(図6右上参照)。初期状態を、図6Aに一例が示されるように、使用済み領域が光ディスク100に対して飛び飛びに3箇所、配置されているものとし、使用済み領域に挟まれた部分を空き領域とする。
この光ディスク100に対してある程度の長さを有するAVデータと、当該AVデータに対応する補助AVデータとを記録する場合、先ず、アロケーションユニット長と空き領域の長さとを比較して、アロケーションユニット長以上の長さを有する空き領域を予約領域として確保する(図6B)。この図6の例では、2つの空き領域のうち、右側の空き領域がアロケーションユニット長より長いとされ、予約領域として確保される。次に、この予約領域に対して、予約領域の先頭から年輪データを順次連続的に記録する(図6C)。このように年輪データを記録していき、予約領域の空き領域の長さが次に記録する年輪データの1周期分の長さに満たないときは(図6D)、予約領域を開放し、図6Aのように、光ディスク100上のさらに他の空き領域に対してアロケーションユニット長を適用させながら、予約領域にできる空き領域を探す。
このように、複数周期分の年輪が記録できるだけの空き領域を探して、当該空き領域に年輪を記録することで、ある程度の年輪の連続性が保証され、年輪データの再生をスムースに行うことが可能とされる。なお、アロケーションユニット長は、上述では10秒に設定したが、これはこの例に限定されず、さらに長い再生時間に対応する長さをアロケーションユニット長として設定することができる。実際的には、10秒〜30秒の間でアロケーションユニット長を設定すると好ましい。
次に、この発明の実施の一形態に適用可能なデータの管理構造について、図7、図8および図9を用いて説明する。この発明の実施の一形態では、データは、ファイルシステムによりディレクトリ構造で管理される。図7に一例が示されるように、ルートディレクトリ(root)の直下にディレクトリPAVが設けられる。この実施の一形態では、このディレクトリPAV以下を定義する。
すなわち、上述した、複数信号種のオーディオデータおよびビデオデータの1枚のディスク上への混在記録は、このディレクトリPAVの配下において定義される。この発明の実施の一形態におけるデータ管理が及ばないディレクトリPAVに対するデータの記録は、任意である。
ディレクトリPAVの直下には、4つのファイル(INDEX.XML、INDEX.BUP、DISCINFO.XMLおよびDISCINFO.BUP)が置かれると共に、2つのディレクトリ(CLPRおよびEDTR)が設けられる。
ディレクトリCLPRは、クリップデータを管理する。ここでいうクリップは、例えば撮影が開始されてから停止されるまでの、ひとまとまりのデータである。例えば、ビデオカメラの操作において、操作開始ボタンが押されてから操作停止ボタンが押される(操作開始ボタンが解放される)までが1つのクリップとされる。
このひとまとまりのデータとは、上述した本線系のオーディオデータおよびビデオデータと、当該オーディオデータおよびビデオデータから生成された補助AVデータと、当該オーディオデータおよびビデオデータに対応した時系列メタデータと非時系列メタデータとからなる。ディレクトリCLPRの直下に設けられたディレクトリ「C0001」、「C0002」、・・・には、クリップ毎に、クリップを構成するひとまとまりのデータが格納される。
図8は、ディレクトリCLPRの直下に設けられた、一つのクリップ「C0001」に対応するディレクトリ「C0001」の一例の構造を示す。以下、ディレクトリCLPRの直下の一つのクリップに対応するディレクトリを、適宜、クリップディレクトリと称する。クリップディレクトリ「C0001」に対して、上述のひとまとまりのデータのそれぞれがファイル名により区別されて格納される。この図8の例では、ファイル名は、12桁で構成され、デリミタ「.」より前の8桁のうち、前側5桁がクリップを識別するために用いられ、デリミタ直前の3桁は、オーディオデータ、ビデオデータ、補助AVデータといった、データのタイプを示すために用いられている。また、デリミタ後の3桁は拡張子であって、データの形式を示している。
より具体的には、この図8の例では、クリップ「C0001」を構成するひとまとまりのファイルとして、クリップ情報を示すクリップインフォメーションファイル「C0001C01.SMI」、本線系ビデオデータファイル「C0001V01.MXF」、本線系の8ch分のオーディオデータファイル「C0001A01.MXF」〜「C0001A08.MXF」、補助AVデータファイル「C0001S01.MXF」、非時系列メタデータファイル「C0001M01.XML」、時系列メタデータファイル「C0001R01.BIM」およびポインタ情報(ピクチャポインタ)ファイル「C0001I01.PPN」が、クリップディレクトリ「C0001」に格納される。
この発明の実施の一形態では、ディレクトリCLPR内におけるクリップディレクトリ間での上述のデータ信号種の混在は、許可される。例えば、本線系のビデオデータの信号種について、クリップディレクトリ「C0001」にシングルGOP、ビットレート50Mbpsのビデオデータを格納し、クリップディレクトリ「C0002」にロングGOP、ビットレート25Mbpsのビデオデータを格納することは可能である。一方、クリップディレクトリ内における各データ内でのデータ信号種の混在は、許可されない。例えば、ビデオデータにおいて、先頭からある時点まではビットレートモード50Mbpsで記録されており、その時点以降から末尾まではビットレートモード25Mbpsで記録されたようなビデオデータファイルは、格納できないものとされる。
なお、シングルGOPは、全てのフレームがIピクチャで構成され、1GOP=1フレームの構造となっているものであり、フレーム単位の編集に対して高画質を維持できる。ロングGOPは、フレームがIピクチャ、PピクチャおよびBピクチャにより構成され、Iピクチャで完結する複数フレームにより1GOPが形成される構造である。ロングGOPでは、Bピクチャを用いない構成とすることもできる。
説明は図7に戻り、ディレクトリEDTRは、編集情報が管理される。この発明の実施の一形態では、編集結果は、エディットリストやプレイリストとして記録される。ディレクトリEDTRの直下に設けられたディレクトリ「E0001」、「E0002」、・・・には、編集結果毎に、編集結果を構成するひとまとまりのデータが格納される。
エディットリストは、クリップに対する編集点(IN点、OUT点など)や再生順序などが記述されるリストであって、クリップに対する非破壊の編集結果と、後述するプレイリストとからなる。エディットリストの非破壊の編集結果を再生すると、リストの記述に従いクリップディレクトリに格納されたファイルを参照し、恰も編集された1本のストリームを再生するかのように、複数のクリップからの連続した再生映像が得られる。しかしながら、非破壊編集の結果では、ファイルの光ディスク100上での位置とは無関係にリスト中のファイルが参照されるため、再生時の連続性が保証されない。
プレイリストは、編集結果に基づき、リストにより参照されるファイルやファイルの部分が連続的に再生するのが困難であると判断された場合に、当該ファイルやファイルの一部を光ディスク100上の所定の領域に再配置することで、エディットリストの再生時の連続性を保証するようにしたものである。
編集作業により上述のエディットリストを作成した結果に基づき、編集に用いられるファイルの管理情報(例えば後述するインデックスファイル「INDEX.XML」)を参照し、編集作業に基づき非破壊で、すなわち、編集結果に基づき参照されるファイルが各クリップディレクトリに置かれたままの状態で、連続的な再生が可能か否かを、見積もる。その結果、連続的な再生が困難であると判断されると、該当するファイルを光ディスク100の所定領域にコピーする。この所定領域に再配置されたファイルを、ブリッジエッセンスファイルと称する。また、編集結果にブリッジエッセンスファイルを反映させたリストを、プレイリストと称する。
例えば、編集結果が複雑なクリップの参照を行うようにされている場合、編集結果に基づく再生の際に、クリップからクリップへの移行の際にピックアップのシークが間に合わない事態が発生する可能性がある。このような場合に、プレイリストが作成され、ブリッジエッセンスファイルが光ディスク100の所定領域に記録される。
図9は、ディレクトリEDTRの直下に設けられた、一つの編集結果「E0002」に対応するディレクトリ「E0002」の一例の構造を示す。以下、ディレクトリEDTRの直下の一つの編集結果に対応するディレクトリを、適宜、エディットディレクトリと称する。エディットディレクトリ「E0002」に対して、上述の編集結果により生成されたデータがそれぞれファイル名により区別されて格納される。ファイル名は、12桁で構成され、デリミタ「.」より前の8桁のうち、前側5桁がエディット作業を識別するために用いられ、デリミタ直前の3桁は、データのタイプを示すために用いられる。また、デリミタ後の3桁は拡張子であって、データの形式を示している。
より具体的には、この図9の例では、編集結果「E0002」を構成するファイルとして、エディットリストファイル「E0002E01.SMI」時系列および非時系列メタデータの情報が記述されるファイル「E0002M01.XML」、プレイリストファイル「E0002P01.SMI」、本線系データによるブリッジエッセンスファイル「E0002V01.BMX」および「E0002A01.BMX」〜「E0002A04.BMX」、補助AVデータによるブリッジエッセンスファイル「E0002S01.BMX」および時系列、非時系列メタデータによるブリッジエッセンスファイル「E0002R01.BMX」が、エディットディレクトリ「E0002」に格納される。
エディットディレクトリ「E0002」に格納されるこれらのファイルのうち影を付して示したファイル、すなわち本線系データによるブリッジエッセンスファイル「E0002V01.BMX」および「E0002A01.BMX」〜「E0002A04.BMX」、補助AVデータによるブリッジエッセンスファイル「E0002S01.BMX」および時系列、非時系列メタデータによるブリッジエッセンスファイル「E0002R01.BMX」は、プレイリストに属するファイルである。
なお、上述したように、エディットリストによりクリップディレクトリに格納された例えばビデオデータが参照される。クリップディレクトリ間では、異なるデータ信号種の混在が可能なので、結果的に、エディットリスト上では、異なるデータ信号種の混在が可能とされる。
説明は図7に戻り、ファイル「INDEX.XML」は、ディレクトリPAV以下に格納された素材情報を管理するインデックスファイルである。この例では、ファイル「INDEX.XML」は、XML(Extensible Markup Language)形式で記述される。このファイル「INDEX.XML」により、上述した各クリップおよびエディットリストが管理される。例えば、ファイル名とUMIDの変換テーブル、長さ情報(Duration)、当該光ディスク100全体を再生する際の各素材の再生順などが管理される。また、各クリップに属するビデオデータ、オーディオデータ、補助AVデータなどが管理されると共に、クリップディレクトリ内にファイルで管理されるクリップ情報が管理される。
ディスクインフォメーションファイル「DISCINFO.XML」は、このディスクに関する情報が管理される。再生位置情報なども、このファイル「DISCINFO.XML」に保存される。
光ディスク100をドライブ装置に装填して記録再生を行う際には、光ディスク100のファイルシステムをドライブ装置やアプリケーションのシステムに対してソフトウェア的に接続する、マウント処理が必要となる。このマウント処理の際には、光ディスク100上のファイルシステムFS領域がシステムに読み込まれると共に、上述の管理構造で管理されるファイルのうち、インデックスファイル「INDEX.XML」およびインデックスファイルのバックアップファイル「INDEX.BUP」、ディスクインフォメーションファイル「DISCINFO.XML」およびディスクインフォメーションファイルのバックアップファイル「DISCINFO.BUP」、ディスクメタファイル(図示しない)、クリップインフォメーションファイル「CxxxxC01.SMI」、クリップに関する非時系列メタデータファイル「CxxxxM01.XML」、ピクチャポインタファイル「CxxxxI01.PPN」、エディットリストファイル「ExxxxE01.SMI」、エディットリストに関する非時系列メタデータ「ExxxxM01.XML」が光ディスク100の装填時にシステム読み込まれる。
なお、上述の各データにおいて、インデックスファイルおよびインデックスファイルのバックアップファイル、ならびに、ディスクインフォメーションファイルおよびインデックスファイルのバックアップファイルは、それぞれ本体ファイルまたはバックアップファイルの何れか一方がマウント時に読み出される。ディスクメタデータファイルは、1つのみが読み出される。クリップに関する非時系列メタデータファイルおよびピクチャポインタファイルは、光ディスク100上に存在する全てのファイルが例えばマウント時に読み出される。
また、マウント処理の際に読み込まれるこれらのデータは、データサイズが例えば数kBとされ、RUBよりもデータサイズの小さいデータである。
図10は、この発明に適用可能な記録再生装置の一例の構成を概略的に示す。この記録再生装置は、例えばビデオカメラと接続され、ビデオカメラで撮影され得られたAVデータを信号処理して光ディスク100に記録する。また、光ディスク100に記録されたAVデータなどを再生し、所定に信号処理して出力する。さらに、装置に付属するコントロールパネルや、図示されないRS−422インターフェイスを介して接続される入力装置などからの指示に基づき、光ディスク100に記録されたAVデータに対して編集作業を行うことができる。
システム制御部17は、1または複数のCPU(Central Processing Unit)と、プログラムやデータが予め記憶されるROM(Read Only Memory)、CPUのワークメモリとして用いられるRAM(Random Access Memory)などを有し、ROMから読み出されたプログラムに従い、制御入出力端から入力された制御信号に応じて、この記録再生装置の全体を制御する。例えば、システム制御部17は、ファイルシステム層のプログラムを実行させ、光ディスク100のファイルシステムFS内の情報に基づき、光ディスク100に対するデータの読み書きの制御を行う。制御入力端には、例えば上述したコントロールパネルや、RS−422インターフェイスを介して入力装置が接続される。
記録系の構成について説明する。制御入出力端からシステム制御部17に対して記録動作が指示される。システム制御部17は、この記録動作指示に基づき、この記録再生装置の各部に対して、記録動作を開始できるように命令を出す。
例えばビデオカメラや外部の装置から、記録すべきベースバンドのAVデータが記録信号処理部13に供給される。記録信号処理部13は、入力されたベースバンドのAVデータに対して所定の信号処理や圧縮符号化処理を施し、記録するための本線系AVデータおよび補助AVデータを生成する。
例えば、ベースバンドのビデオデータがMPEG2方式により、少なくとも1枚のIピクチャと、複数枚のPピクチャとからなる複数フレームで1GOP(Group Of Picture)が構成されるようにし、さらに、全体として所定のビットレートになるように制御されて圧縮符号化され、本線系のビデオデータが生成される。オーディオデータに関しては、例えばPCM(Pulse Code Modulation)データのまま、圧縮符号化されずに本線系のオーディオデータとして用いられる。
また、ベースバンドのビデオデータおよびオーディオデータが例えばMPEG4方式により、ビットレートが数Mbpsにて圧縮符号化され、補助AVデータが生成される。ビデオデータに関して、補助AVデータでは、所定数のフレームを単位として符号化が行われる。この実施の一形態では、補助AVデータのビデオデータは、1枚のIピクチャおよび9枚のPピクチャの10フレームで、1GOV(Group Of Video Object Plane)が形成されてなる。
補助AVデータにおけるオーディオデータは、本線系のオーディオデータを、例えば時間軸方向を圧縮するサンプリング周波数変換と、語長を圧縮する対数圧縮とを組み合わせて瞬時圧縮することにより、生成している。サンプリング周波数変換は、例えばサンプリング周波数が48kHzの本線系のオーディオデータを、サンプリング周波数が8kHzのオーディオデータにダウンサンプリングして行う。語長圧縮の方式としては、データの小振幅時には量子化ステップを小さく設定し、大振幅時には量子化ステップを大きく設定することで語長の圧縮を行う、A−Law方式を用いることができる。また、圧縮符号化を行う前に、本線系のオーディオデータを、ローパスフィルタにより予め帯域制限することで、圧縮符号化による音質劣化を最小限とすることができる。この実施の一形態では、ローパスフィルタとして、512タップのFIR(Finite Impulse Response)フィルタを用いている。
記録信号処理部13から出力された本線系AVデータおよび補助AVデータは、フォーマッタ/アンフォーマッタ部12に供給される。この記録信号処理部13から出力される本線系AVデータおよび補助AVデータと、後述するメタデータ処理部15から出力されるリアルタイムメタデータにより、クリップが構成される。
メタデータ処理部15は、システム制御部17の制御に基づき、本線系AVデータおよび補助AVデータと共に光ディスク100に記録されるリアルタイムメタデータや、クリップを所定の形式に整えるためのデータ(ヘッダおよびフッタ)を生成する。メタデータ処理部15では、非時系列系メタデータも生成される。メタデータ処理部15で生成されたこれらのデータは、フォーマッタ/アンフォーマッタ部12に供給される。
フォーマッタ/アンフォーマッタ部12は、記録信号処理部13およびメタデータ処理部15から供給された各データを、上述した年輪構造に配置する。例えば、フォーマッタ/アンフォーマッタ部12は、メモリを有し、供給された各データを、メモリ上に年輪構造に対応したアドレス配置で以て溜め込む。そして、メモリから、年輪単位でデータを読み出すように、読み出し制御を行う。年輪構造に配置されたクリップは、年輪単位でドライブ制御部11に供給される。
また、フォーマッタ/アンフォーマッタ部12は、メタデータ処理部15から供給された非時系列メタデータに対しても、年輪構造への配置処理を行う。詳細は後述するが、光ディスク100のマウント処理時に光ディスク100上に記録された全てのファイルが読み出されるべき非時系列メタデータファイルについて、奇数番目のクリップと偶数番目のクリップとでなる対においてRUB単位で読み出しが連続的に行えるように、ファイルの配置がなされる。
ドライブ制御部11は、例えばRUB単位でデータの読み書きを行うことができるバッファメモリを有し、供給されたデータは、一旦このバッファメモリに書き込まれ、光ディスク100に対してRUB単位で記録される。すなわち、このバッファメモリは、データの伝送速度と記録再生速度との整合をとったり、キャッシュの際に用いて記録データなどを一時的に記憶したりできる。
また、ドライブ制御部11は、記録時には、供給されたデータに対して所定の記録信号処理を施すと共に、後述するリード/ライト部10およびサーボ部14から得られる信号に基づきリード/ライト部10およびサーボ制御部14を制御することにより、記録データが光ディスク100の所定のアドレスに書き込まれるように、書き込み動作を制御する。例えば、次に書き込みが行われる位置を、光ディスク100におけるRUB単位で示す書き込みポインタを指定し、書き込み位置を制御する。
フォーマッタ/アンフォーマッタ部12からドライブ制御部11に供給された本線系AVデータ、補助AVデータ、リアルタイムメタデータおよび非時系列メタデータ、ならびに、ヘッダおよびフッタは、それぞれ所定サイズのECC(Error Correction Coding)ブロック単位でエラー訂正符号化される。エラー訂正符号化されたデータは、所定に記録符号化され、記録信号とされてリード/ライト部10に供給される。
リード/ライト部10は、例えばレーザダイオードからなる光ピックアップと、光ピックアップのレーザパワーを、記録再生の動作モードに応じて所定に制御するレーザ駆動回路を有する。また、リード/ライト部10は、ディスク100の半径方向に対する光ピックアップの位置を、サーボ制御部14から供給されるスレッド制御信号に基づき制御するスレッド駆動部を有する。サーボ制御部14は、ドライブ制御部11およびシステム制御部17からそれぞれ供給される制御信号に基づき、スレッド駆動部の制御と、光ディスク100を回転駆動するための図示されないスピンドルモータの制御とを行う。
リード/ライト部10は、ドライブ制御部11から供給された記録信号に基づき光ピックアップを駆動し、光ディスク100に対して記録信号に基づく記録を行う。記録位置は、記録動作に先立って光ディスク100から予め読み込まれたファイルシステムFSの情報などに基づく、光ディスク100の領域使用状況を示す情報や、制御入出力端からの指示に基づき、システム制御部17およびドライブ制御部11により指定される。
なお、この実施の一形態では、光ディスク100に対する記録動作は、年輪単位毎に連続的に行われる。また、この実施の一形態では、光ディスク100の最小記録単位のブロックサイズとECCブロックのサイズとが同一とされ、光ディスク100の最小記録単位とECCブロックとが一致するように記録される。すなわち、この実施の一形態においては、ECCブロックは、記録信号処理の単位であると共に、実際に光ディスク100におけるデータの読み書きの単位となるブロックである。
さらに、年輪単位毎に、例えば1乃至数ECCブロック分の所定データ列からなるマーカブロックが記録される。このマーカブロックは、1年輪分を記録中に記録エラーなどが生じた場合に、直前の年輪までの記録データを再生可能とするために用いられる。したがって、1年輪分の記録が完了する毎に、当該年輪のマーカブロックは、不要となる。
再生系の構成について説明する。制御入出力端からシステム制御部17に対して再生動作が指示される。システム制御部17は、この再生動作指示に基づき、この記録再生装置の各部に、再生動作を開始できるように命令を出す。リード/ライト部10が所定に制御され、光ディスク100の指定されたアドレスから、記録単位毎に読み出しがなされる。読み出された再生信号は、リード/ライト部10からドライブ制御部11に供給される。
ドライブ制御部11は、供給された再生信号の記録符号を復号化して再生データとし、さらに、再生データのエラー訂正符号を復号化してエラー訂正を行う。エラー訂正された再生データは、フォーマッタ/アンフォーマッタ部12に供給される。フォーマッタ/アンフォーマッタ部12は、供給された再生データを、本線系AVデータ、補助AVデータおよびリアルタイムメタデータといったデータ種類毎に分離する。例えば、供給された再生データは、フォーマッタ/アンフォーマッタ部12が有するメモリに溜め込まれる。1年輪分が溜め込まれると、年輪を構成する各データが読み出され、それぞれ対応する処理部に供給される。本線系AVデータおよび補助AVデータは、再生信号処理部16に供給される。また、リアルタイムメタデータは、メタデータ処理部15に供給される。
メタデータ処理部は、供給されたリアルタイムメタデータを解読し、解読された情報をシステム制御部17に供給する。
再生信号処理部16は、供給された本線系AVデータと、補助AVデータとに所定の信号処理を施す。例えば、本線系AVデータと補助AVデータとがそれぞれまたは何方か一方が復号化される。復号化せずに出力することもできる。なお、補助AVデータについて、ビデオデータは、10フレームで1GOVが形成されているため、1GOV単位で復号化がなされる。また、オーディオデータは、A−Law方式による語長圧縮を瞬時伸長され、ダウンサンプリングされたサンプリング周波数が48kHzにアップサンプリングされる。アップサンプリングの際に、記録時と同様の、512タップのFIRフィルタがローパスフィルタとして用いられ、音質劣化が最小限に抑えられる。
ネットワークインターフェイス(I/F)18は、例えばインターネットやLAN(Local Area Network)といったネットワークと接続され、ネットワークを介した通信を制御する。例えばこの記録再生装置は、ネットワークを介して送信されたAVデータを受信し、光ディスク100に記録することができる。
例えば、ネットワークを介して送信され、ネットワークI/F18により受信されたAVデータは、フォーマッタ/アンフォーマッタ部12に供給される。この場合、ネットワークI/F18から記録信号処理部13に供給するようにしてもよい。また、ネットワークI/F18から直接的にドライブ制御部11に供給することも考えられる。例えば、システム制御部17は、ネットワークI/F18にAVデータが受信されると、受信されたAVデータの形式を判断し、必要に応じて記録信号処理、フォーマッタ/アンフォーマッタ部12による処理、メタデータ処理などを行う。処理後のAVデータは、ドライブ制御部11に供給され、所定の処理を施された後、光ディスク100に記録される。
光ディスク100から読み出されたAVデータや補助AVデータをフォーマッタ/アンフォーマッタ部12を介してネットワークI/F18に供給し、ネットワークに向けて送信することもできる。この場合、補助AVデータは、低ビットレートで以て圧縮符号化されているため、ネットワークで送信するのに用いて好適である。
次に、この実施の一形態に適用可能な、光ディスク100に対する非時系列メタデータの書き込み処理について説明する。図11および図12は、SDフォーマットにおける非時系列メタデータの書き込み処理を概略的に示す。ここでは、インデックスファイル(図中「I」で示す)、インデックスファイルのバックアップファイル(図中「B」で示す)、クリップインフォメーションファイル(図中「C」で示す)およびクリップに関する非時系列メタデータファイル(図中「M」で示す)の書き込みについて説明する。
ファイルシステムは、2kB単位でファイルの管理が可能である。一方、光ディスク100の最小記録単位(RUB)は、サイズが64kBとされる。非時系列メタデータは、図1を用いて既に説明したように、光ディスク100の論理アドレス空間内において、クリップ本体とは別の、NRT領域に対して、クリップ本体と対応してクリップ毎に書き込まれる。
図11Aに一例が示されるように、クリップ#1では、インデックスファイルI、インデックスファイルのバックアップファイルB(以下、バックアップファイルBと略称する)、クリップインフォメーションファイルCおよびクリップに関する非時系列メタデータファイルMの順で、例えば1RUBに対して1ファイルが書き込まれる。
次のクリップ#2では、図11Bに一例が示されるように、非時系列メタデータの順番がクリップ#1とは異ならされ、クリップに関する非時系列メタデータファイルM、クリップインフォメーションファイルC、インデックスファイルおよびIバックアップファイルBの順に、それぞれ1RUBに付1ファイルが書き込まれる。
また、インデックスファイルIおよびバックアップファイルBは、クリップ#2が書き込まれた際にクリップ#2に関する情報が追加されて、クリップ#2の領域に記録される。それと共に、クリップ#1に書き込まれたインデックスファイルIおよびバックアップファイルBは、必要なくなったため消去される。このように、変更されたファイルを未記録領域に書き込み、以前に書き込まれた対応するファイルを消去することを、循環記録と称する。
さらに次のクリップ#3は、図11Cに一例が示されるように、各データの記録順がクリップ#1の場合と同様とされると共に、インデックスファイルIおよびバックアップファイルBに対してクリップ#3の情報が追加されて記録され、クリップ#2の領域に記録されたインデックスファイルIおよびバックアップファイルBが消去される。
このように、奇数番目のクリップと偶数番目のクリップとを組とし、組とされたクリップ同士でファイルの配置順を入れ替えることで、この光ディスク100を後にマウントした際、クリップに関する非時系列メタデータファイルMを読み出すためのシーク回数が少なくなり、読み出し速度が向上される。図12は、その様子を示す。既に説明したように、マウント時には、光ディスク100上のクリップに関する非時系列メタデータファイルMが全て読み込まれる。上述のようにしてクリップに関する非時系列メタデータファイルMの記録順を奇数および偶数番目のクリップ毎に入れ替えているので、2クリップ毎にクリップに関する非時系列メタデータファイルMが記録されるRUBが隣接し、これら2ファイルの読み出しの際にシークが発生せず、マウント処理が高速化される。
次に、図13および図14を用いて、HDフォーマットにおける非時系列メタデータの書き込み処理を概略的に説明する。HDフォーマットでは、可変長ビットレートでの圧縮符号化が可能とされているため、ピクチャポインタファイル(図中「P」で示す)を用いて所望の位置へのアクセスを実現する。
ピクチャポインタは、クリップ内の各フレーム位置のオフセット情報である。すなわち、例えばMPEG2においては、フレーム毎にデータの圧縮率を変える可変ビットレートが可能とされている。例えば、平坦な画面のフレームは、より高圧縮率で圧縮符号化し、粗い画面のフレームは、より低圧縮率で圧縮符号化する。このように、フレームの性質に応じて圧縮率を変えることで、より高解像度のビデオデータをより低いビットレートで伝送および記録することができる。また、MPEG2においては、可変長符号による圧縮符号化もなされる。
このような、ビットレートを可変として圧縮符号化されたビデオデータは、フレーム位置や複数フレームで再生が完結されるGOP(Group Of Picture)の位置がフレーム毎やGOP毎に異なり、所望の位置へのジャンプなどが難しい。そこで、可変長ビットレートのアクセスを容易とするために、クリップ内の各フレーム位置のオフセット情報をピクチャポイントとしてテーブル化して非時系列メタデータファイルとし、クリップにそれぞれ対応して配置する。例えばドライブにディスクを挿入した際にこのピクチャポイントを所定に読み込んでおくことで、クリップ内の所望位置へのアクセスを高速に行うことができるようになる。
このピクチャポインタファイルPの読み込み方法として、ディスクマウント時に光ディスク100上に記録された全てのピクチャポイントファイルPを読み込む第1の方法と、光ディスク100のマウント時には読み込まずに、光ディスク100からクリップを再生する際に、再生されるクリップに応じて逐次的に読み込む第2の方法とが考えられる。
第2の方法では、クリップのジャンプの度毎に、ピクチャポインタファイルPを読み込む必要がある。図1を用いて説明したように、非時系列メタデータファイルは、光ディスク100の内周側にクリップ本体が書き込まれる領域とは別に設けられたNRT領域に書き込まれる。そのため、クリップにアクセスする度にピクチャポインタファイルPを読みに行くようにすると、そのためのNRT領域に対するアクセスが必要となるのでシーク時間がかかり、場合によってはクリップの再生が間に合わなくなってしまうおそれがある。
一方、ピクチャポインタファイルPを例えばマウント処理時やマウント処理後に全て、独立的に読み込むとした場合、図13に一例が示されるように、光ディスク100上に記録されているクリップ数分だけ、シークが繰り返されることになり、読み込みに多大な時間を要してしまう。
そこで、図11および図12を用いて既に説明した方法を適用し、図14に一例が示されるように、ディスクマウント時に必ず読み込まれる、クリップに関する非時系列メタデータファイルMとピクチャポインタファイルPとを、奇数番目のクリップと偶数番目のクリップとで交互に順番を入れ替えて、これらのファイルが記録されたRUBが連続するように、記録を行う。なお、クリップインフォメーションファイルCは、読み出しを省略することができるファイルである。
図14の例では、奇数番目のクリップ(クリップ#1、クリップ#3およびクリップ#5)では、インデックスファイルI、バックアップファイルB、クリップインフォメーションファイルC、クリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPの順に、RUB毎に配置されて記録される。一方、偶数番目のクリップ(クリップ#2、クリップ#4およびクリップ#6)では、クリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPの順序が逆にされると共にクリップ領域の先頭側のRUBにそれぞれ配置されて記録される。
上述のようにして、奇数および偶数番目のクリップ毎にクリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPの記録順を入れ替えると共に、クリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPと、インデックスファイルIおよびバックアップファイルBとの記録順を入れ替えている。奇数番目および偶数番目のクリップの対からなる2クリップ毎に、クリップに関する非時系列メタデータファイルMが記録されるRUBが隣接し、これら4ファイルの読み出しの際にシークが発生せず、マウント処理が高速化される。
ここで、非時系列メタデータファイルのマウント時の読み込みをさらに高速に行う方法について考える。上述では、1RUBに付き1個の非時系列メタデータファイルを書き込んでいたが、これを、1RUBに複数の非時系列メタデータファイルを書き込むと、マウント時に読み込むべきRUBの数が減り、マウント処理が高速化できることが期待される。
例えば、ファイルシステムに基づく制御により、複数ファイルを1RUB内に書き込めるようにし、クリップ毎の非時系列メタデータを1RUB内に順に詰め込んで記録する。1クリップ分の非時系列メタデータファイルのデータサイズの合計が1RUB分(この例では64kB)を越えた場合、1RUBを越えた分のデータは、隣接するRUBに連続的に記録する。
このような処理は、上述したキャッシュ機能を用いて行われる。例えば、ドライブ制御部11が有するバッファメモリを、書き込みをファイルシステムの管理単位(2kB)で行い、読み出しをRUB単位(64kB)で行うように制御し、このバッファメモリを用いて記録時のキャッシュを行う。キャッシュによりバッファメモリにファイルシステムの管理単位で溜め込まれたデータは、RUB単位で吐き出され、光ディスク100の対応するRUBに書き込まれる。
より具体的な処理の例として、ファイルシステムに基づく制御により、非時系列メタデータファイルのクリップインフォメーションファイルC、クリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPと、インデックスファイルIまたはバックアップファイルBとをキャッシュし、バッファメモリ上の、書き込みポインタのあるRUBに対応する領域に連続的に書き込む。合計のデータサイズがRUBのデータサイズを越える場合、越えた分のデータを、当該RUBに隣接するRUBに対応する、バッファメモリ上の領域に書き込む。
これらのデータのキャッシュへの書き込みが完了したら、キャッシュに溜め込まれたデータが吐き出され、光ディスク100の対応するRUBにそれぞれ書き込まれる。1RUBに書き込みきれなかったデータは、隣接するRUBに書き込まれる。実際には、例えばキャッシュのデータはRUB単位で光ディスク100に書き込まれる。すなわち、キャッシュのRUBに対応する領域に一部しかデータが書き込まれていない場合でも、キャッシュ上のその領域全体の内容が光ディスク100に書き込まれる。
通常、このように、記録媒体に対して、記録媒体の最小記録単位よりも小さいデータサイズを管理単位として管理されるファイルを書き込む際には、従来技術でも説明したように、リードモディファイライトを用いる。以下に、この発明に適用可能なファイル構造に対してリードモディファイライトを適用した場合の例について、図15および図16を用いて説明する。
図15は、リードモディファイライトによる一例の記録を示す。図15Aに示されるように、新規のディスクに対してクリップ5#まで記録が行われ、非時系列メタデータファイルのうちピクチャポインタファイルP200の一部がRUB201に書ききれず、次のRUB202にその書ききれなかったピクチャポインタファイルP200の一部が書き込まれているディスクを装填した場合について説明する。
このとき、RUB202は、このRUB201に書ききれなかったピクチャポインタファイルP200の一部が既に書き込まれているため、書き換え回数が1とされている。RUB202以降のRUBは、未だデータが書き込まれたことがないので、書き換え回数が0とされている。
このディスクに対してクリップ#6を記録した場合、対応する非時系列メタデータがNRT領域に所定に書き込まれる。このとき、RUB202に書き込まれる各データがキャッシュされ、バッファメモリのRUB202に対応する領域に連続的に配置されて書き込まれる。すなわち、図15Bに示されるように、ピクチャポインタファイルPのうち、RUB202に書き込まれた分の、ピクチャポインタファイルP200Aの一部がバッファメモリ上のRUB202に対応する領域に格納される。そして、図15Cに示されるように、クリップ#6のピクチャポインタファイルP203がバッファメモリに格納され、既にバッファメモリに格納されているピクチャポインタファイルP200Aの一部に接続されるように、配置される。
以下順に、クリップ#6の非時系列メタデータファイルであるクリップに関する非時系列メタデータM204がバッファメモリのRUB202に対応する領域に、ピクチャポインタファイルP203に接続されるように格納され(図16A)、さらに続けて、クリップインフォメーションファイルC205が格納される(図16B)。
次に、インデックスファイルI206がクリップインフォメーションファイルC205に続けてバッファメモリに格納される(図16C)。インデックスファイルI206をバッファメモリに格納し終えた時点で、バッファメモリ上の1RUB分の領域が未記録データで埋められたので、このバッファメモリ上のデータがディスクのRUB202に書き込まれ、キャッシュにより溜め込まれたデータと、光ディスク100の当該記録領域(RUB202)とで同期がとられる。RUB202には、上述したように、既にクリップ#5の記録の時点でピクチャポインタファイルPの一部200Aの書き込みがなされており、このキャッシュの同期動作により書き換え回数が2となり、書き換え回数の不均一を招く。
この発明では、メモリにキャッシュされたデータをディスクに書き込む動作に伴い、このデータが書き込まれたディスク上のRUBをクローズし、次の書き込みを、当該クローズされたRUBの次のRUBから開始する。この処理を行うことにより、記録媒体の最小記録単位に対して当該最小記録単位より小さい単位でデータを書き込む際に発生する、上述したような書き換え回数の不均一や、リードモディファイライトによる読み込み回数の増加による処理速度の低下を回避することができる。
この発明の実施の一形態に適用可能な非時系列メタデータファイルの記録方法について、図17を用いて説明する。なお、図17において、非時系列メタデータファイルの並び順は、図14で説明した順番と同一とする。すなわち、奇数番目のクリップ(図17ではクリップ#1、クリップ#3およびクリップ#5)では、インデックスファイルI、バックアップファイルB、クリップインフォメーションファイルC、クリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPの順とされる。また、偶数番目のクリップ(図17ではクリップ#2、クリップ#4およびクリップ#6)では、奇数番目のクリップに対して、クリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPの順番が入れ替えられると共に、クリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPと、インデックスファイルIおよびバックアップファイルBとの順番が入れ替えられる。
また、奇数番目のクリップと偶数番目のクリップとが組とされ、マウント時に光ディスク100上に記録される全ファイルが読み出されるべき、クリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPがRUBを連続して読み込むことができるように、各ファイルが配置される。
すなわち、奇数番目のクリップについては、インデックスファイルIが最初のRUBに書き込まれ、書き込み可能な次のRUBにバックアップファイルB、クリップインフォメーションファイルC、クリップに関する非時系列メタデータファイルMおよびピクチャポインタファイルPが書き込まれる。偶数番目のクリップについては、ピクチャポインタファイルP、クリップに関する非時系列メタデータファイルM、クリップインフォメーションファイルCおよびインデックスファイルIが最初のRUBに書き込まれ、書き込み可能な次のRUBにバックアップファイルBが書き込まれる。
ここで、非時系列メタデータファイルを連続的にRUBに書き込む際に、連続された非時系列メタデータファイルのファイルサイズの合計がRUBのサイズを超えた場合の処理について説明する。なお、以下の処理は、例えば、システム制御17が図示されないROMに格納されたプログラムに従い、ドライブ制御部11を制御することでなされる。
図17の例では、クリップ#4〜クリップ#6において、クリップの記録に伴いインデックスファイルIのサイズとバックアップファイルBのサイズとが増大し、このような状態が発生している。
クリップ#4の例では、インデックスファイルI210がRUB211に書き込みきれず、その一部がRUB212に書き込まれている。このときの処理について説明する。ピクチャポインタファイルP、クリップに関する非時系列メタデータM、クリップインフォメーションファイルCおよびインデックスファイルI210がバッファメモリにキャッシュされる。このとき、インデックスファイルI210の一部が1RUB分のデータサイズを越えるので、この部分のデータが隣接するRUB212に対応するバッファメモリ上の領域にキャッシュされる。
1RUB分のデータがキャッシュされたので、キャッシュされたデータがバッファメモリから吐き出される。RUB211に対応するデータが吐き出され、光ディスク100のRUB211に書き込まれる。書き込みが完了したRUB211をクローズし、書き込みポインタを次のRUB212の先頭に移動する。続けて、インデックスファイルI210のRUB211に書ききれなかった部分をバッファメモリから吐き出し光ディスク100のRUB212に記録してRUB212をクローズし、書き込みポインタを次のRUB213の先頭に移動する。バックアップファイルBがRUB213に書き込まれる。
クリップ#5の例も同様に、ピクチャポインタファイルP214がRUB215に書き込みきれず、その一部がRUB216に書き込まれている。このときの処理も、クリップ#4の場合と同様である。すなわち、バックアップファイルB、クリップインフォメーションファイルC、クリップに関する非時系列メタデータMおよびピクチャポインタファイルP214がバッファメモリにキャッシュされる。このとき、ピクチャポインタファイルP214の一部が1RUB分のデータサイズを越えるので、この部分のデータが隣接するRUB216に対応するバッファメモリ上の領域にキャッシュされる。
1RUB分のデータがキャッシュされたので、キャッシュされたデータがバッファメモリから吐き出される。RUB215に対応するデータが吐き出され、光ディスク100のRUB215に書き込まれる。書き込みが完了したRUB215をクローズし、書き込みポインタを次のRUB216の先頭に移動する。続けて、ピクチャポインタファイルP214のRUB215に書ききれなかった部分をバッファメモリから吐き出し光ディスク100のRUB216に記録してRUB216をクローズし、書き込みポインタを次のRUB217の先頭に移動する。クリップ#6の非時系列メタデータファイルがRUB217に書き込まれる。
クリップ#6の例は、上述してクリップ#4の場合と略同一の処理となるので、詳細な説明を省略する。
この方法によれば、ファイルシステムによるファイルの管理単位が記録媒体の最小記録単位よりも小さい場合でも、リードモディファイライト処理を行わないので、データ書き込みの速度が向上される。また、一度データが書き込まれた記録単位をクローズするので、記録媒体全体にわたって書き換え回数を均一化することができる。
次に、この発明の実施の一形態による記録方法について、図18および図19を用いて説明する。図18は、循環記録が適用されるシステムにおいて、既に光ディスク100上に記録されている非時系列メタデータを書き換える場合の問題点について説明するための図である。なお、図18および図19では、図17を用いて説明した、キャッシュされたデータを光ディスク100のRUBに記録すると共に当該RUBをクローズし、書き込みポイントを次のRUBに移動させる方法で、非時系列メタデータの記録がなされている。
また、図18および図19において、ファイルGは、一般データを示す。光ディスク100にはこのように、コンピュータ装置などにより一般データを記録することもできる。一般のコンピュータ装置は、オペレーションシステムがファイルシステムに基づき光ディスク100上の空き領域に適宜、データを配置していくので、未記録のRUBも、分散化される。
図18は、ディスクマウント時に読み出されるべき非時系列メタデータファイルの一つである、クリップに関する非時系列メタデータファイルMが、クリップ#1〜クリップ#6にわたって書き換えられた例を示す。循環記録のルールに従い、書き換えられた非時系列メタデータファイルMは、光ディスク100上の空き領域に書き込まれ、元の位置にある非時系列メタデータファイルMは、消去される。
なお、この実施の一形態では、既に説明したように、AVデータが年輪構造で記録される。したがって、光ディスク100の空き領域は、既に記録されたデータに対してより後方にあることになる。
この図18の例では、クリップ#1の非時系列メタデータファイルM220が書き換えられたファイルM220’が、光ディスク100上で物理的に離れた位置にある空き領域のRUB222に書き込まれる。同様に、クリップ#2の非時系列メタデータファイルM221が書き換えられたファイルM221’が、光ディスク100上で物理的に離れた位置にある空き領域のRUB223に書き込まれている。この例では、RUB222およびRUB223は、一般データGが散在して書き込まれた領域にある。
図示しないが、クリップ#3〜クリップ#6のクリップに関する非時系列メタデータファイルMも、ファイルM221’が書き込まれた位置のさらに後ろに書き込まれている。
このように記録がなされた光ディスク100のマウント処理について考える。クリップ毎に存在する非時系列メタデータファイルのうち、クリップに関する非時系列メタデータファイルMとピクチャポインタファイルPとがマウント処理時に読み込まれる。この図18の例では、クリップに関する非時系列メタデータファイルMが書き換えられ、元のクリップ#1〜クリップ#6とは物理的に離れた位置に記録されている。そのため、マウント時には、元のクリップ#1〜クリップ#6の位置にあるピクチャポインタファイルPをそれぞれ読み込んだ後、クリップに関する非時系列メタデータファイルM220、221が書き換えられたファイルM220、221などが書き込まれた位置までシークさせ、これらのファイルをさらに読み込む必要がある。
例えば光ディスク100が記録可能なクリップ数(例えば300クリップとする)について、全てのクリップに関する非時系列メタデータファイルMに対して書き換えが行われると、300クリップ分のピクチャポインタファイルPを読み込んだ後、さらに、書き換えられたクリップに関する非時系列メタデータファイルMを300クリップ分、読み込む必要があり、マウント処理に多大な時間を要してしまうことになる。
この発明では、マウント時に読み込むべき非時系列メタデータファイルに書き換えがなされた場合、当該非時系列メタデータファイルと同一クリップに対応する、マウント時に読み込むべき他の非時系列メタデータファイルを、書き換えられた非時系列メタデータファイルと共に、循環記録に基づく処理を行う。マウント時に、書き換えられた、クリップに関する非時系列メタデータファイルM(以下、ファイルMと略称する)と、ピクチャポインタファイルP(以下、ファイルPと略称する)とを連続的に読み出すことができ、マウント処理を高速化できる。
図19を用いてより具体的に説明する。既に説明したように、マウント時の処理を高速化するために、奇数番目のクリップではファイルMとファイルPとがクリップの後尾側に連続的に書き込まれ、偶数番目のクリップではこれらファイルPとファイルMとが先頭のRUBに書き込まれ、奇数番目のクリップのファイルPおよびファイルMと、偶数番目のクリップのファイルMおよびファイルPとが、RUBを連続して読み出せるように配置される。
この発明の実施の一形態では、奇数番目のクリップおよび偶数番目のクリップからなる組において、書き込まれるRUBが連続するように配置された、奇数番目のクリップのファイルMおよびファイルPと、偶数番目のクリップのファイルPおよびファイルMとからなる4ファイルのうち1ファイルでも書き換えがなされたら、循環記録のルールに従い、光ディスク100上のより後方の空き領域に、これら4ファイルをまとめてRUB単位で書き込む。
図19の例では、上述の図18と同様に、クリップ#1およびクリップ#2、クリップ#3およびクリップ#4、ならびに、クリップ#5およびクリップ#6のそれぞれの組において、少なくとも何れか一方のファイルMが書き換えられているものとする。これらを代表し、クリップ#1およびクリップ#2について説明する。
クリップ#1およびクリップ#2において、クリップ#2のファイルM233が書き換えられているものとする。この書き換えに伴い、実際には書き換えが行われていない、クリップ#2においてファイルM233と隣接して配置されるクリップP232と、クリップ#2のこれらファイルP232およびファイルM233に対してRUBが連続するように配置された、クリップ#1のファイルM230およびファイル231Pとが、循環記録のルールに従い、光ディスク上のより後方の空き領域に、RUB単位で書き込まれる。
すなわち、図19の例において、クリップ#1のファイルM230およびファイルP231が例えばバッファメモリにコピーされる。バッファメモリから、コピーされたこれらファイルM230およびファイルP231が読み出され、光ディスク100上の、より後方にあるRUB235に書き込まれる。同様に、クリップ#2のファイルP232およびファイルM233が例えばバッファメモリにコピーされ、ファイルM233については書き換え内容がバッファメモリに反映され、バッファメモリからこれらファイルP232および書き換えられたファイルM233’が読み出され、光ディスク100上の、より後方にあるRUB236に書き込まれる。
なお、この場合、クリップ#1のファイルM230およびファイルP231が書き込まれたRUB235の次のRUBから、一般データGが書き込まれている。そのため、クリップ#2のファイルP232およびファイルM233’は、RUB235に書き込まれたクリップ#1のファイルM230およびファイルP231と、RUBが連続するように配置できない。
なお、移動された元のファイルM230およびファイルP231、ならびに、ファイルP232およびファイルM233は、消去される。
以下同様にして、クリップ#3およびクリップ#4の組や、クリップ#5およびクリップ#6の組においても、奇数番目のクリップのファイルMおよびファイルP、ならびに、偶数番目のクリップのファイルPおよびファイルMがそれぞれバッファメモリにコピーされると共に、ファイルの書き換え内容が反映される。そして、バッファメモリから読み出されたファイルが、それぞれ所定に、より後方にあるRUBに書き込まれる。また、元のクリップ#1〜クリップ#6の奇数番目のクリップのファイルMおよびファイルP、ならびに、偶数番目のクリップのファイルPおよびファイルMは、消去される。
このように、非時系列メタデータファイルの書き込み制御を行うことで、マウント時のファイルMおよびファイルPの読み出しの際のシーク時間が短くなり、処理が高速化される。
すなわち、元のクリップ#1〜クリップ#6では、既に奇数番目のクリップのファイルMおよびファイルP、ならびに、偶数番目のクリップのファイルPおよびファイルMがそれぞれ削除されていると共に、インデックスファイルIおよびバックアップファイルBも、新たなクリップの追加と共に削除されている。そのため、元のクリップ#1〜クリップ#6は、マウント処理時に読み込むべきデータが無い。
したがって、この例では、マウント処理時には、図示されない位置に書き込まれたインデックスファイルIおよびバックアップファイルBが読み込まれた後、シーク動作がなされ、より後方のRUB235がアクセスされて非時系列メタデータファイルの読み出しが開始されることになる。上述した図18の例に比べて、シーク距離およびシーク回数が減少され、シーク動作に要する時間が低減される。
なお、上述では、この発明がAVデータに関する非時系列メタデータの記録の際に適用されるように説明したが、これはこの例に限定されない。すなわち、この発明は、循環記録を行うシステムであれば、一般的なデータを扱う他のシステムにも適用することができる。例えば、コンピュータ装置などの、汎用的なデータを扱う機器における記録処理に対してこの発明を適用することも可能である。また、記録媒体も、光ディスクに限られず、光磁気ディスク、ハードディスクなど他の記録方式によるディスク状記録媒体に対しても、この発明による記録方法を適用することができる。