(57)【要約】【課題】ＡＶファイルを記録するための連続空き領域をすばやく検出する。【解決手段】ファイルを記録可能なデータ領域とファイルの管理情報を記録可能な特定領域とを含む記録媒体に、データ列をファイルとして記録し、データ領域上に予約領域を確保し、予約領域を所定の仮想ファイル名をもつ仮想ファイルとするような管理情報を、特定領域に記録し、データ列の記録開始時に、管理情報に含まれる仮想ファイル名を、仮想ファイル名とは異なるファイル名に変更し、データ列を予約領域に順次記録し、データ列の記録終了時に、予約領域のうちデータ列の未記録領域を新たに予約領域とし、新たな予約領域を仮想ファイルとするような管理情報を特定領域に記録する。【選択図】図１
2010250638.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを記録可能なデータ領域と前記ファイルの管理情報を記録可能な特定領域とを含む記録媒体に、データ列をファイルとして記録する記録装置であって、
前記データ領域上に予約領域を確保し、前記予約領域を所定の仮想ファイル名をもつ仮想ファイルとするような管理情報を、前記特定領域に記録し、
前記データ列の記録開始時に、前記管理情報に含まれる前記仮想ファイル名を、前記仮想ファイル名とは異なるファイル名に変更し、
前記データ列を前記予約領域に順次記録し、
前記データ列の記録終了時に、前記予約領域のうち前記データ列の未記録領域を新たに予約領域とし、前記新たな予約領域を前記仮想ファイルとするような管理情報を前記特定領域に記録する、
記録装置。
【請求項２】
ファイルを記録可能なデータ領域と前記ファイルの管理情報を記録可能な特定領域とを含む記録媒体に、データ列をファイルとして記録する記録方法であって、
前記データ領域上に予約領域を確保し、前記予約領域を所定の仮想ファイル名をもつ仮想ファイルとするような管理情報を、前記特定領域に記録する仮想ファイル生成ステップと、
前記データ列の記録開始時に、前記管理情報に含まれる前記仮想ファイル名を、前記仮想ファイル名とは異なるファイル名に変更する記録開始ステップと、
前記データ列を前記予約領域に順次記録する記録ステップと、
前記データ列の記録終了時に、前記予約領域のうち前記データ列の未記録領域を新たに予約領域とし、前記新たな予約領域を前記仮想ファイルとするような管理情報を前記特定領域に記録する記録終了ステップと
を備える記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に対するファイル記録装置およびファイル記録方法に関する。
【背景技術】
【０００２】
近年、ビデオカメラなどの記録装置で撮影した映像データをパーソナルコンピュータ（以下、ＰＣと呼ぶ）等へ取り込み、ノンリニア編集を行われている。そのため、記録媒体として、記録装置とＰＣの両方で使用できる光ディスクや半導体メモリのようなリムーバブルメディアが採用されている。ＰＣへ取り込まれた映像データは、記録媒体から削除することにより、次の撮影用に新たな空き領域を作る。これらの作業を繰り返すことで、記録媒体にはフラグメンテーションが発生する。フラグメンテーションが発生すると、光ディスクの場合、シークが多発するため転送レートの劣化につながる。また、半導体メモリにおいても、消去ブロック単位での書き込みが最速となるという特徴を持つ一方で、消去ブロックサイズは拡大する傾向にあるため、フラグメンテーションが発生すると転送レートの劣化につながる。
【０００３】
このような問題に対処するために、連続した領域（以下、アロケーションと呼ぶ）に記録することが行われる。ここで、一般に記録装置とＰＣなど複数の機器で使用する記録媒体はファイルシステムにより管理される。例えば、ＳＤカードではＦＡＴファイルシステムが一般的に用いられる。空きアロケーションを検出するには、ファイルの配置情報をもとに検出を行う。ＦＡＴファイルシステムでは、ブートセクタ領域とＦＡＴテーブル、及びデータ領域とで構成される。ブートセクタ領域には、論理的なセクタ長、セクタ数などの記録媒体の論理構造情報などが記録される。データ領域には、ファイルやディレクトリ情報を示すディレクトリエントリや各ファイルのデータ本体が分割されて格納され、幾つかの物理セクタをひとまとめにしたクラスタと呼ばれる単位で管理される。ＦＡＴテーブルには、データ領域上の一連のクラスタの構成を示す情報、すなわちクラスタの使用状況が記録されている。したがって、空きアロケーションを検出するには、ＦＡＴテーブルを先頭エントリから順に使用状況を確認し、連続している未使用クラスタを検出することで行う。しかし、空きアロケーション数をカウントするにはＦＡＴテーブルのすべてのエントリを確認する必要があり、処理時間がかかってしまう。特に報道向けに使用される業務用ビデオカメラでは、電源をオンしてから、すばやく撮影を開始できる必要があり、空きアロケーションの検出に時間がかかると撮影可能になるまでの時間が長くなる。
空き領域を探すための処理時間を短縮する手法として以下のような手法がある。空き領域のクラスタに対応する複数個のＦＡＴエントリをリンクさせ、これらのＦＡＴエントリのうち、先頭のＦＡＴエントリに対するポインタを管理領域上のスーパーブロックに設け、ファイルのデータのクラスタに対応するＦＡＴエントリのうち、末尾のＦＡＴエントリに対するポインタをディレクトリエントリ領域に設ける（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−５６７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記手法は、管理領域上に独自の領域を設けるため、ＰＣ等の上記発明に対応していない機器では使用することが出来ない。
【課題を解決するための手段】
【０００６】
上記課題は、以下の本発明によって解決される。すなわち、ファイルを記録可能なデータ領域と前記ファイルの管理情報を記録可能な特定領域とを含む記録媒体に、データ列をファイルとして記録する記録方法であって、前記データ領域上に予約領域を確保し、前記予約領域を所定の仮想ファイル名をもつ仮想ファイルとするような管理情報を、前記特定領域に記録する仮想ファイル生成ステップと、前記データ列の記録開始時に、前記管理情報に含まれる前記仮想ファイル名を、前記仮想ファイル名とは異なるファイル名に変更する記録開始ステップと、前記データ列を前記予約領域に順次記録する記録ステップと、前記データ列の記録終了時に、前記予約領域のうち前記データ列の未記録領域を新たに予約領域とし、前記新たな予約領域を前記仮想ファイルとするような管理情報を前記特定領域に記録する記録終了ステップと、を備えることで実現する。
【発明の効果】
【０００７】
本発明の記録装置および記録方法によれば、仮想ファイルのディレクトリエントリに記載のファイルサイズを参照することで容易に連続空き領域数を知ることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態における記録装置の構成を表す図
【図２】本発明の実施の形態におけるフォーマット後のファイルシステム構成を説明するための図
【図３】本発明の実施の形態におけるフォーマット後のファイル管理情報構成を説明するための図
【図４】本発明の実施の形態に係るクリップ記録処理のフローチャート
【図５】本発明の実施の形態に係る記録開始処理のフローチャート
【図６】本発明の実施の形態におけるクリップファイルオープン時のファイル管理情報状態を説明するための図
【図７】本発明の実施の形態におけるクリップ管理ファイル記録開始時のファイル管理情報構成を説明するための図
【図８】本発明の実施の形態における映像ファイル記録開始時のファイル管理情報構成を説明するための図
【図９】本発明の実施の形態における音声ファイル記録開始時のファイル管理情報構成を説明するための図
【図１０】本発明の実施の形態に係る記録処理のフローチャート
【図１１】本発明の実施の形態における記録するファイルが切り替わる際のファイル管理情報構成を説明するための図
【図１２】本発明の実施の形態に係る記録停止処理のフローチャート
【図１３】本発明の実施の形態におけるクリップ記録停止時のファイル管理情報構成を説明するための図
【図１４】本発明の実施の形態に係るクリップの配置確認のフローチャート
【図１５】本発明の実施の形態に係るクリップ削除のフローチャート
【図１６】本発明の実施の形態におけるＦＡＴチェーン更新処理を説明するための図
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【実施例１】
【００１０】
図１は、記録装置１００の構成を示すブロック図である。この記録装置１００は、システム制御部１１０と、映像データのサムネイル等を表示するＬＣＤモニタ１２０と、映像信号や音声信号の符号化を行うエンコーダ１３０と、映像信号や音声信号を入力する映像・音声入力手段１４０と、ユーザーによる指示を受け付ける入力手段１５０、記録媒体１６０とを含む。システム制御部１１０は、例えば、図示しないＣＰＵとメモリとを含むコンピュータによって実現される。このシステム制御部１１０には、フォーマット処理手段１１１、クリップ記録処理手段１１２、ファイルシステム１１３を備えている。システム制御部１１０に含まれる各手段は、ＣＰＵで各種のプログラムを実行することによって実現される。
【００１１】
記録媒体１６０は映像や音声を記録するための記録媒体であり、小型で耐久性のあるＳＤメモリカードなどが好ましい。
【００１２】
映像・音声入力手段１４０から入力される映像信号は、エンコーダ１３０により順次圧縮されて符号化データとされる。符号化データは図示しない記録バッファメモリに蓄積される。記録バッファメモリに蓄積された符号化データは、クリップ記録処理手段１１２により読み込まれ、ＭＸＦ（Ｍａｔｅｒｉａｌ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）形式にファイル化され、記録媒体１６０に記録される。
【００１３】
また、映像・音声入力手段１４０から入力される音声信号は、エンコーダ１３０によって圧縮されてオーディオデータとされる。オーディオデータは、クリップ記録処理手段１１２によりＷａｖｅ形式にファイル化され、記録媒体１６０に記録される。
このとき、クリップ記録処理手段１１２は、符号化データの先頭フレームのデータをビットマップ形式の画像ファイルであるサムネイル画像として作成し、記録媒体１６０に記録する。このサムネイル画像データは、ＬＣＤモニタ１２０にサムネイル一覧として表示される。サムネイル画像データは、所望の映像を記録媒体１６０から探しやすくしたりするものである。したがって、画像サイズは大きい必要はなく縦８０ピクセル、横６０ピクセル、１ピクセルあたり２４ビットの画像データに圧縮される。
【００１４】
なお、映像データと音声データを別ファイルとするのは、放送局などの業務用途の編集作業では、映像と音声とを独立して編集作業を行うことが多く、業務用途のノンリニア編集機では映像と音声とを別ファイルとするのが一般的なためである。上記映像ファイルと音声ファイルとの組み合わせをクリップと呼ぶ。
【００１５】
ファイルシステム１１３はファイルをブロック単位で管理し、このファイルのブロックの配置情報を有しているものである。例えばＦＡＴファイルシステムが好ましい。
【００１６】
記録媒体１６０はＦＡＴでフォーマットされており、記録媒体へのファイルの書き出しは、ファイルシステム１１３によりＦＡＴテーブルの更新と、データの書き出し動作により行われる。
【００１７】
フォーマット処理手段１１１は、記録媒体１６０をＦＡＴ形式にフォーマットすると同時に、データ記録のための予約領域として、アロケーションサイズの倍数のサイズの仮想ファイルを作成する。すなわち、仮想ファイルのサイズをアロケーションサイズで割ったものが、アロケーション領域数となる。なお、ＦＡＴでは最大ファイルサイズが４ＧＢに規定されているため、仮想ファイルのサイズが４ＧＢに達する場合には、複数のファイルに分ける。図２に、フォーマットを行った後の記録媒体１６０のファイルシステム構成を示す。管理情報２００は、パーティション情報やＦＡＴテーブルが記録される。データ領域２０１は、ディレクトリエントリやファイルデータを記録するための領域で、クラスタ単位で管理される。ディレクトリエントリ用領域２０２はディレクトリエントリを記録するために用意する領域で、想定される作成ファイル分の領域を確保しておく。例えば、クラスタサイズが３２ＫＢの場合、ディレクトリエントリのサイズは３２バイトであるから１クラスタあたり、１０２４個のディレクトリエントリが作成できる（カレントディレクトリおよび上位ディレクトリのディレクトリエントリを含む）。ここで、機器の仕様として、一つの記録媒体に記録できるクリップ数の上限を１０００クリップと規定している場合、１クリップあたり、クリップ管理ファイル、サムネイルファイル、映像ファイル、８チャンネル分の音声ファイルの１１ファイルで構成されているとすると、１０００クリップ記録した場合、１１０００個のファイルが作成される。したがって、ディレクトリエントリ用領域として１１クラスタ以上確保しておけばよい。なお、ディレクトリエントリ用領域２０１を確保するとは、仮想ファイル２０２の開始クラスタ番号として、データ領域２０１の先頭からディレクトリエントリ用に確保するクラスタ数分空けた以降を指定する。図３に、このときの仮想ファイルのディレクトリエントリ、ＦＡＴテーブルおよびクラスタ状態を示す。ディレクトリエントリ３００および３０１はそれぞれ仮想ファイル２０３および２０４のディレクトリエントリであり、ファイル属性として、「読み込み専用」と「隠しファイル」を指定している。これは、ＰＣ等の他の機器において、ユーザーにより削除されることを防ぐためである。なお、記録装置１００では、仮想ファイルに対するこれらの属性は無視する。すなわち、仮想ファイルに対しても書き込み処理を行う。また、ディレクトリエントリ３００および３０１のファイルサイズはアロケーションサイズの倍数である。また、ＦＡＴテーブル３０２および３０３はそれぞれ仮想ファイル２０３および２０４のＦＡＴテーブルであり、シーケンシャルにＦＡＴチェーンがつながれている。なお、領域３０４は、アロケーションサイズに満たない余った領域であり、未使用領域としている。
【００１８】
クリップ記録処理手段１１２は、映像データや音声データのフレームレートやフレーム数、データのサイズをフレーム数で表したデュレーション等の情報を管理したり関連付けを行ったりするためのクリップ管理情報を作成し、ＸＭＬ形式にファイル化する。クリップ管理情報もファイルシステム１１３により記録媒体１６０に記録される。クリップには、クリップ管理ファイルも含まれる。
【００１９】
クリップの記録開始および記録停止は、撮影者が入力手段１５０を使用することで行う。クリップの記録開始から記録停止までの処理の概要について図４のフローチャートを用いて説明する。
【００２０】
ステップＳ４００では、記録開始処理を行う。ここではクリップ管理ファイル、映像ファイルおよび音声ファイルを記録するための領域を検出し、ファイルの作成を行う。記録するための領域がないなどのエラーが発生した場合はステップＳ４０５に進みＬＣＤモニタ１２０にエラーが発生したことを知らせるエラーメッセージを表示し処理を終了する。記録開始処理が成功した場合はステップＳ４０１へ進む。
【００２１】
ステップＳ４０１では、記録処理を行う。図示しない記録バッファに蓄積された符号化データをクリップ記録処理手段１１２により、所定のフォーマット形式に変換し記録媒体に記録する。記録媒体の異常などのエラーが発生した場合には、エラーの内容を示すエラーコードを図示しないメモリに保持しておきステップＳ４０３へ進み記録停止処理を行う。記録処理が成功した場合は、ステップＳ４０２へ進む。
ステップＳ４０２において撮影者が入力手段１５０により記録停止を指示していないか確認し、記録停止指示がない場合はステップＳ４０１へ進み記録処理を繰り返す。記録停止指示がある場合はステップＳ４０３進み記録停止処理を行う。
【００２２】
ステップＳ４０３では、記録停止処理を行う。ここではクリップ管理ファイル、映像ファイルおよび音声ファイルのクローズ処理を行う。エラーが発生した場合、または図示しないメモリにエラーコードが保持されている場合にはステップＳ４０５に進みエラーメッセージを表示し処理を終了する。成功した場合は、ステップＳ４０４へ進む。
ステップＳ４０４では、またぎ記録が必要であるか確認する。なお、またぎ記録とは、撮影開始してから撮影停止するまでに、記録するクリップを複数に分割することである。例えば、映像ファイルのファイルサイズがファイルシステムの最大ファイルサイズに達した場合などに、ユーザーの指示がなくとも、新たなクリップを作成し撮影を継続させる。なお、またぎ記録が必要か否かは、ステップＳ４０１の戻り値により判定する。詳細は後述する。またぎ記録が必要な場合にはステップＳ４００へ進み記録を継続する。必要ない場合は処理を終了する。
【００２３】
次に各ステップについて詳細に説明する。
【００２４】
まず、ステップＳ４００の記録開始処理について図５のフローチャートを用いて説明する。ステップＳ５００では、仮想ファイルのファイルサイズから空きアロケーション数を計算する。このとき、空きアロケーション数を図示しないメモリに保持しておく。仮想ファイルが一つもない場合や空きアロケーションがない場合には、エラーコードを設定し処理を終了する。空きアロケーションがある場合にはステップＳ５０１へ進む。
【００２５】
ステップＳ５０１では、クリップ管理ファイル、映像ファイルおよび音声ファイルのオープン処理を行う。オープン処理では、各ファイルのディレクトリエントリを作成する。
図６にこのときのディレクトリエントリ、ＦＡＴテーブルおよびクラスタ状態を示す。ディレクトリエントリ６００、６０１、６０２、６０３はそれぞれ仮想ファイル２０３、クリップ管理ファイル、映像ファイルおよび音声ファイルのディレクトリエントリであり、仮想ファイル以外のファイルは、まだデータを記録していないため、先頭クラスタおよびファイルサイズは０となっている。メモリ不足などのエラーが発生した場合にはエラーコードを設定し処理を終了する。成功した場合にはステップＳ５０２へ進む。
【００２６】
ステップＳ５０２では、記録するデータが蓄積されているか確認する。すなわち、図示しない記録バッファを監視し、符号化データが蓄積されるか、エンコーダ１３０により圧縮されたオーディオデータを図示しないメモリに蓄積し、一定量蓄積されるまで待機する。データが蓄積されたらクリップ記録処理手段１１２により、所定のフォーマット形式に変換し、ステップＳ５０３へ進み記録処理を行う。
【００２７】
ステップＳ５０３では、記録するデータがアロケーションに対して初めての書込みであるか確認する。初めての書込みである場合はステップＳ５０４へ進む。そうでない場合はステップＳ５０５へ進む。なお、クリップ記録では、まずクリップ管理データを記録し、その後、映像データおよび音声データを順次記録する。したがって、クリップ管理データを記録する場合はステップＳ５０４へ進み、映像データおよび音声データを記録する場合はステップＳ５０５へ進む。
【００２８】
ステップＳ５０４では、記録するファイルのディレクトリエントリと仮想ファイルのディレクトリエントリを差し替える。ディレクトリエントリの差し替え処理について図７を用いて説明する。
図７では、クリップ管理データの書込み要求に対し、まず仮想ファイルの先頭クラスタに、クリップ管理データを記録する。次に、ディレクトリエントリ７００が示すように仮想ファイルのディレクトリエントリ６００の先頭クラスタを０にする。その後、ディレクトリエントリ７０１が示すようにクリップ管理ファイルのディレクトリエントリ６０１の先頭クラスタを仮想ファイルの先頭クラスタにする。またファイルサイズには書込みしたデータサイズを記載する。このようにすることで、これまで、仮想ファイルのデータ領域であったクラスタは、すべてクリップ管理ファイルとして扱われる。なお、アロケーションに対する初めての書込みであるため、図示しないメモリに保持しておいた空きアロケーション数を１つ減らす。このとき、記録媒体の異常などのエラーが発生した場合にはエラーコードを設定し処理を終了する。成功した場合にはステップＳ５０６へ進む。
【００２９】
ステップＳ５０５では、すでにＦＡＴテーブルの事前確保を行っている場合でのデータ記録を行う。映像データのデータ記録について図８を、音声データのデータ記録について図９を用いて説明する。
図８では映像データの書込み要求に対し、まずＦＡＴテーブル６０４のようにクリップ管理ファイルのＦＡＴテーブルの終端を“ＥＯＦ”とする。次に、ディレクトリエントリ８０２に示すように、映像ファイルのディレクトリエントリ６０２に、ファイルの開始クラスタ番号としてクリップ管理ファイルの終端クラスタの次のクラスタを記録し、ファイルサイズに記録するデータのサイズを記録する。次に、クリップ管理ファイルの終端クラスタの次のクラスタから、映像データを記録する。このようにすることで、領域８０５はすべて、映像ファイルとして扱われる。
同様にして、図９では音声データの書込み要求に対し、まずＦＡＴテーブル９０４のように映像ファイルのＦＡＴテーブルの終端を“ＥＯＦ”とする。次に、ディレクトリエントリ９０３に示すように、音声ファイルのディレクトリエントリ６０３に、ファイルの開始クラスタ番号として映像ファイルの終端クラスタの次のクラスタを記録し、ファイルサイズに記録するデータのサイズを記録する。次に、映像ファイルの終端クラスタの次のクラスタから、音声データを記録する。このようにすることで、領域９０５はすべて、音声ファイルとして扱われる。このとき、記録媒体の異常などのエラーが発生した場合にはエラーコードを設定し処理を終了する。成功した場合にはステップＳ５０６へ進む。
【００３０】
ステップＳ５０６では、クリップ管理ファイル、映像ファイルおよび音声ファイルの記録開始処理がすべて完了したか確認する。完了した場合は処理を終了する。完了していない場合はステップＳ５０３へ進み、処理を継続する。
【００３１】
次に、ステップＳ４０１の記録処理について図１０のフローチャートを用いて説明する。ステップＳ１０００では、記録するデータが蓄積されているか確認する。データが蓄積されたらクリップ記録処理手段１１２により、所定のフォーマット形式に変換し、ステップＳ１００１へ進み記録処理を行う。
【００３２】
ステップＳ１００１では、仮想ファイルのファイルサイズから空きアロケーション数を算出する。空きアロケーションがある場合はステップＳ１００２へ進む。空きアロケーションがない場合はステップＳ１００３へ進む。
【００３３】
ステップＳ１００２では、記録しているファイルのサイズを確認する。記録しているファイルのサイズがＦＡＴファイルシステムの最大ファイルサイズである４ＧＢ未満であることを確認する。４ＧＢを超える場合には、またぎ記録が必要であることを示す戻り値を返し処理を終了する。４ＧＢ未満の場合にはステップＳ１００４へ進む。
【００３４】
ステップＳ１００３では、別の仮想ファイルの確認を行う。仮想ファイルが一つもない場合は、空き領域がないこと示すエラーコードを設定し処理を終了する。仮想ファイルが存在する場合には、またぎ記録が必要であることを示す戻り値を返し処理を終了する。
【００３５】
ステップＳ１００４では、記録するデータのファイルが、前回記録したデータのファイルと同じであるか確認する。同じファイルである場合は、すでにＦＡＴチェーンは確保済みであるので、ステップＳ１００５へ進み、データ記録を行った後、ステップＳ１００７へ進む。データ記録において記録媒体の異常などのエラーが発生した場合にはエラーコードを設定し処理を終了する。異なるファイルである場合は、ステップＳ１００６へ進む。
【００３６】
ステップＳ１００６では、ＦＡＴチェーンの切り替え処理を行う。成功した場合には、ステップＳ１００５へ進み、データ記録を行った後、ステップＳ１００７へ進む。ＦＡＴチェーンの切り替え処理またはデータ記録において記録媒体の異常などのエラーが発生した場合にはエラーコードを設定し処理を終了する。ここでＦＡＴチェーンの切り替え処理について図１１を用いて説明する。図１１では、音声データの書込み要求に対し、まずＦＡＴテーブル１１００ｂに示すように、前回記録したデータのファイルである映像ファイルのＦＡＴチェーンの終端１１００ａをファイルの終端を示す“ＥＯＦ”に置き換える。次にＦＡＴテーブル１１０１ｃに示すように、音声ファイルのＦＡＴチェーンの終端１１０１ｂを領域１１０２ｂの先頭を示すように置き換える。このことで、領域１１０２ｃは音声ファイルとして参照することができる。次に領域１１０３に示すように、領域１１０２ｃの先頭クラスタから順次音声データを記録する。
【００３７】
次に、ステップＳ４０３の記録停止処理について図１２のフローチャートを用いて説明する。ステップＳ１２００では、クリップ管理ファイルの更新を行う。具体的には、クリップのフレーム数を示すデュレーションを設定し、記録停止日時を設定し、ファイルクローズを行う。このとき、クリップ管理ファイルは上書き記録を行うため、ＦＡＴテーブルの更新は行わない。ディレクトリエントリの更新日時は変更するため、ディレクトリエントリの記録を行う。このとき、記録媒体の異常などのエラーが発生した場合にはエラーコードを設定し処理を終了する。成功した場合は、ステップＳ１２０１へ進む。
【００３８】
ステップＳ１２０１では、これからファイルクローズを行うファイルのＦＡＴテーブルのチェーンが予約領域を含むものであるか確認する。予約領域を含む場合はステップＳ１２０２へ進む。そうでない場合はステップＳ１２０４へ進む。
【００３９】
ステップＳ１２０２では、他にオープンされているファイルが存在するか確認する。他にもファイルがオープンされている場合にはステップＳ１２０３へ進む。他にファイルがオープンされていない場合はステップＳ１２０５へ進む。
【００４０】
ステップＳ１２０３では、ＦＡＴチェーンの挿げ替え処理を行う。ＦＡＴチェーンの挿げ替え処理について図１３（（ａ），（ｂ），（ｃ））を用いて説明する。図１３では、音声ファイルのクローズ要求に対し、まずＦＡＴテーブル１３０１ｂに示すように、音声データを実際に記録した最終クラスタのＦＡＴテーブル１３０１ａを“ＥＯＦ”とする。
次にＦＡＴテーブル１３０２ｃに示すように、他のオープンされているファイル、ここでは映像ファイルの終端クラスタのＦＡＴテーブル１３０２ｂを領域１３０３ｂの先頭を示すように置き換える。このことで、領域１３０３ｃは映像ファイルとして扱われ、映像データを継続して記録することができる。なお、他に複数のファイルがオープンされている場合には、オープンされた順番など優先順位を決めておく。このとき、エラーが発生した場合にはエラーコードを設定し処理を終了する。成功した場合にはステップＳ１２０４へ進む。
【００４１】
ステップＳ１２０４ではディレクトリエントリの更新を行う。ここでは、実際に記録したデータのサイズをファイルサイズとして記録し、また変更日時を更新する。このとき、エラーが発生した場合にはエラーコードを設定し処理を終了する。成功した場合は、別のファイルのクローズ処理を行うためステップＳ１２０１へ進む。
【００４２】
ステップＳ１２０５では、またぎ記録が必要であるか確認する。なお、またぎ記録が必要か否かは、ステップＳ４０１の戻り値により判定する。またぎ記録が必要な場合には、ステップＳ１２０７へ進み、ファイルクローズ処理を行った後、記録を継続する。またぎ記録が必要でない場合は、ステップＳ１２０６へ進む。
ステップＳ１２０６では、ＦＡＴチェーンの分離処理を行う。ＦＡＴチェーンの分離処理について図１３（（ｃ），（ｄ），（ｅ））を用いて説明する。図１３では、映像ファイルのクローズ要求に対し、まずＦＡＴテーブル１３０２ｄに示すように、映像データを実際に記録した最終クラスタのＦＡＴテーブル１３０２ｃを“ＥＯＦ”とする。次にＦＡＴテーブル１３０３に示すように、領域１３０３ｄのＦＡＴチェーンを順にたどり、アロケーションの末端まで未使用に設定する。なお、境界１３００はアロケーションの境界である。また、仮想ファイルのディレクトリエントリ１３０６の先頭クラスタ番号を領域１３０５の先頭クラスタを示すようにする。ファイルサイズは、図示しないメモリ上に保持している空きアロケーション数とアロケーションサイズの積とする。このとき、エラーが発生した場合にはエラーコードを設定し処理を終了する。成功した場合はステップＳ１２０７へ進む。
ステップＳ１２０７では記録したファイルのディレクトリエントリの更新を行う。実際に記録したデータのサイズをファイルサイズとして記録し、また変更日時を更新する。このとき、エラーが発生した場合にはエラーコードを設定し処理を終了する。成功した場合は処理を正常終了する。
【００４３】
以上のことにより、ＦＡＴテーブルのすべてのエントリの使用状況を調べなくとも空きアロケーションをすばやく検出することが出来、クリップの記録を行うことが出来る。
【００４４】
ここで、空き領域が少なくなった場合には、不要なクリップを削除することで空き領域を確保することが行われる。すなわち、ＬＣＤモニタ１２０にクリップのサムネイル一覧を表示し、ユーザーは入力手段１５０により、不要なクリップを選択し、削除を実行する。
【００４５】
クリップの削除処理ではまず、そのクリップがアロケーションにまとまって記録されているか確認する。すなわち、そのクリップがＰＣ等の機器でファイルコピー等により作成されたものではなく、記録装置１００により記録されたものであることを確認する。アロケーションにまとまって記録されている場合には、削除することで出来た空き領域を仮想ファイルに割り当てる。
【００４６】
クリップがアロケーションにまとまって記録されているかを確認する処理について図１４のフローチャートを用いて説明する。ステップＳ１４００では、クリップを構成するすべてのファイルの開始クラスタ番号を読み込み図示しないメモリに保持しておく。次にステップＳ１４０１では、読み込んだ開始クラスタ番号のうち、一番若い開始クラスタ番号がアロケーションの先頭に位置するか確認する。なお、アロケーションの先頭に位置するかどうかは、開始クラスタ番号をアロケーション番号で割った余りが０であることにより確認する。アロケーションの先頭でない場合は他の機器で作成されたクリップと判定し、処理を終了する。アロケーションの先頭に位置する場合は、一番若い開始クラスタ番号をカレントクラスタ番号としてメモリに保持しておくとともに、このカレントクラスタ番号のＦＡＴエントリをメモリに読み込みステップＳ１４０２へ進む。
【００４７】
ステップＳ１４０２では、メモリに読み込んでいる各ファイルのクラスタ番号のうちカレントクラスタの次のクラスタ番号があるか確認する。すなわち、アロケーション内にクリップファイルがシーケンシャルに記録されているか確認する。シーケンシャルに記録されていない場合は、他の機器で作成されたクリップと判定し、処理を終了する。シーケンシャルに記録されている場合は、カレントクラスタ番号の次のクラスタ番号を新たなカレントクラスタ番号としてメモリに保持しておくとともに、このカレントクラスタ番号のＦＡＴエントリをメモリに読み込みステップＳ１４０３へ進む。
【００４８】
ステップＳ１４０３では、すべてのファイルがファイル終端まで達したか確認する。終端まで達していない場合はステップＳ１４０２へ進む。終端まで達した場合はステップＳ１４０４へ進む。
【００４９】
ステップＳ１４０４では、ファイル終端のアロケーションの内、残りの領域がすべて空き領域であることを確認する。空き領域でない場合は、他の機器でファイル記録されたと判定し、処理を終了する。すべて空きである場合は、クリップがアロケーションにまとまって記録されていると判定し処理を終了する。
【００５０】
以上の処理により、クリップがアロケーションにまとまって記録されていると判定された場合には、削除によりできた空き領域を仮想ファイルに割り当てる。そうでない場合は、クリップファイルを削除する。
【００５１】
削除によりできた空き領域を仮想ファイルに割り当てる処理について、図１５のフローチャートを用いて説明する。ステップＳ１５００では、クリップを構成するファイルをすべて削除する。このとき、各ファイルが配置されていたアロケーション番号とアロケーション数を図示しないメモリ上に保持しておく。なお、アロケーション番号はクラスタ番号をアロケーションサイズで割ることにより求まる。次にステップＳ１５０１では、仮想ファイルが存在するか確認する。存在しない場合はステップＳ１５０３へ進む。存在する場合はステップＳ１５０２へ進む。
【００５２】
ステップＳ１５０２では、削除によりできた空き領域を仮想ファイルに割り当てたときに仮想ファイルのファイルサイズがファイルシステムの最大ファイルサイズを超えないか確認する。すなわち、仮想ファイルのファイルサイズに、アロケーション数とアロケーションサイズの積を加えたものがファイルシステムの最大ファイルサイズである４ＧＢを超えないか確認する。４ＧＢを超える場合はステップＳ１５０３へ進む。超えない場合はステップＳ１５０５へ進む。
【００５３】
ステップＳ１５０３では、新たに仮想ファイルを作成する。すなわち、仮想ファイルのディレクトリエントリを作成し、ステップＳ１５００でメモリ上に保持したアロケーション番号の先頭クラスタを開始クラスタ番号とする。また、ファイルサイズはアロケーション数とアロケーションサイズの積とする。その後、ステップＳ１５０４へ進み、ステップＳ１５００でメモリ上に保持しているすべてのアロケーションに対しシーケンシャルにＦＡＴチェーンをつなぐ。その後、処理を終了する。
【００５４】
ステップＳ１５０５では、削除したクリップファイルの開始クラスタ番号が仮想ファイルの開始クラスタ番号よりも後であるか確認する。仮想ファイルの開始クラスタ番号よりも後の場合はステップＳ１５０７へ進む。後でない場合はステップＳ１５０６へ進む。
【００５５】
ステップＳ１５０６では、仮想ファイルの開始クラスタ番号をステップＳ１５００でメモリ上に保持したアロケーション番号のうち、一番若いアロケーションの先頭クラスタに置き換える。その後、ステップＳ１５０７へ進む。
【００５６】
ステップＳ１５０７では、ステップＳ１５００でメモリ上に保持しているすべてのアロケーションに対しシーケンシャルにＦＡＴチェーンをつなぐとともに、仮想ファイルのＦＡＴチェーンと結合する。仮想ファイルのＦＡＴチェーンとの結合処理について図１６を用いて説明する。図１６（ａ）に示す境界１６００はアロケーションの境界であり、領域１６０１および領域１６０４は仮想ファイルを構成する領域である。領域１６０１と領域１６０４の間に挟まれているアロケーションには領域１６０２に示すクリップファイルが記録されている。また領域１６０３はアロケーション内に残った余分な空き領域である。クリップファイルを削除すると図１６（ｂ）に示すように領域１６０１と領域１６０４の間に挟まれているアロケーションはすべて空き領域になる。その後、図１６（ｃ）の領域１６０６に示すように、このアロケーションに対しシーケンシャルにＦＡＴチェーンをつなぐとともに、仮想ファイルの領域１６０５のＦＡＴチェーンを領域１６０６の先頭を指すようにする。仮想ファイルのＦＡＴチェーンと結合が完了したら、仮想ファイルのファイルサイズにステップＳ１５００でメモリ上に保持しているアロケーション数とアロケーションサイズの積を加算し、処理を終了する。
【００５７】
以上のことにより、クリップ削除によりできた空き領域を仮想ファイルに割り当てることが出来る。
【産業上の利用可能性】
【００５８】
本発明にかかる記録装置および記録方法では、ＦＡＴテーブルをサーチせずとも、仮想ファイルのサイズおよび先頭クラスタを参照することで、連続空き領域の容量および位置を知ることが出来、ビデオカメラなどのような大容量の映像、音声データを連続した領域に記録するような記録装置において有効である。
【符号の説明】
【００５９】
１００    記録装置
１１０    システム制御部
１１１    フォーマット処理手段
１１２    クリップ記録処理手段
１１３    ファイルシステム
１２０    ＬＣＤモニタ
１３０    エンコーダ
１４０    映像・音声入力手段
１５０    入力手段
１６０    記録媒体
【図１】
2010250638.tif 000003
【図２】
2010250638.tif 000004
【図３】
2010250638.tif 000005
【図４】
2010250638.tif 000006
【図５】
2010250638.tif 000007
【図６】
2010250638.tif 000008
【図７】
2010250638.tif 000009
【図８】
2010250638.tif 000010
【図９】
2010250638.tif 000011
【図１０】
2010250638.tif 000012
【図１１】
2010250638.tif 000013
【図１２】
2010250638.tif 000014
【図１３】
2010250638.tif 000015
【図１４】
2010250638.tif 000016
【図１５】
2010250638.tif 000017
【図１６】
2010250638.tif 000018