(57)【特許請求の範囲】
【請求項１】
複数のクラスタを有する記録媒体に対し、ファイルと、前記ファイルのファイルサイズを示すディレクトリ情報と、前記記録媒体における各クラスタの使用状態を示す管理テーブルとを記録し、前記記録媒体から前記ディレクトリ情報及び前記管理テーブルを読み出し、読み出した前記ディレクトリ情報及び前記管理テーブルに基づき前記記録媒体から前記ファイルを読み出して再生する記録媒体制御手段と、
前記記録媒体から読み出された前記ディレクトリ情報及び前記管理テーブルを記憶するメモリと、
前記記録媒体に記録されたファイルの削除指示に応じて、前記メモリに記憶されたディレクトリ情報及び管理テーブルを変更し、該変更したディレクトリ情報及び管理テーブルを前記記録媒体制御手段により前記記録媒体に記録させる制御部とを備え、
前記制御部は、前記削除指示に係るファイルのディレクトリ情報を前記記録媒体から読み出して前記メモリに記憶させた後に、前記削除指示に係るファイルの管理テーブルの一部を前記メモリに記憶することができない場合、該管理テーブルのうち前記メモリに記憶可能な部分のサイズに基づいて前記メモリに記憶されたディレクトリ情報が示すファイルサイズを変更して前記記録媒体に記録させると共に、前記削除指示に係るファイルの管理テーブルのうち前記メモリに記憶可能な部分を前記記録媒体から読み出して前記メモリに記憶させ、前記メモリに記憶した当該部分の管理テーブルを未使用状態に変更して前記記録媒体に記録させることを特徴とする記録再生装置。
【請求項２】
前記制御部は、前記削除指示に係るファイルのディレクトリ情報を前記記録媒体から読み出して前記メモリに記憶させた後に、前記削除指示に係るファイルの管理テーブルの一部を前記メモリに記憶することができない場合、
前記管理テーブルのうち前記メモリに記憶可能なサイズに基づいて前記メモリに記憶されたディレクトリ情報が示すファイルサイズを変更して前記記録媒体に記録させ、
前記記録媒体から、前記削除指示に係るファイルの管理テーブルのうち当該ファイル末尾の管理テーブルエントリから前記メモリに記憶可能なサイズ分を読み出して前記メモリに記憶させ、
前記メモリに記憶した部分の管理テーブルの先頭の管理テーブルエントリをファイル末尾を示す値に変更し、その他の管理テーブルエントリを未使用を示す値に変更して、当該変更後の管理テーブルを前記記録媒体に記録させる
ことを特徴とする請求項１に記載の記録再生装置。
【請求項３】
前記制御部は、前記削除指示に係るファイルのディレクトリ情報を前記記録媒体から読み出して前記メモリに記憶させた後に、前記削除指示に係るファイルの管理テーブルの一部を前記メモリに記憶することができない場合、
前記管理テーブルのうち前記メモリに記憶可能なサイズに基づいて前記メモリに記憶されたディレクトリ情報が示すファイルサイズを変更すると共に、前記削除指示に係るファイルの管理テーブルから、先頭クラスタから前記メモリに記憶可能な管理テーブルエントリの数だけ後のクラスタ番号を検出し、前記ディレクトリ情報が示す先頭クラスタ番号を該検出したクラスタ番号に変更し、該変更後のディレクトリ情報を前記記録媒体に記録させ、
前記記録媒体から、前記削除指示に係るファイルの管理テーブルのうち、変更前の先頭クラスタから、前記変更後の先頭クラスタ番号を含む管理テーブルエントリまでを読み出して前記メモリに記憶させ、
前記メモリに記憶した部分の管理テーブルの各管理テーブルエントリを未使用を示す値に変更して、当該変更後の管理テーブルを前記記録媒体に記録させる
ことを特徴とする請求項１に記載の記録再生装置。
【請求項４】
記録媒体制御手段が、複数のクラスタを有する記録媒体に対し、ファイルと、前記ファイルのファイルサイズを示すディレクトリ情報と、前記記録媒体における各クラスタの使用状態を示す管理テーブルとを記録し、前記記録媒体から前記ディレクトリ情報及び前記管理テーブルを読み出し、読み出した前記ディレクトリ情報及び前記管理テーブルに基づき前記記録媒体から前記ファイルを読み出して再生する記録媒体制御ステップと、
制御部が、前記記録媒体から読み出された前記ディレクトリ情報及び前記管理テーブルをメモリに格納する格納ステップと、
前記制御部が、前記記録媒体に記録されたファイルの削除指示に応じて、前記メモリに記憶されたディレクトリ情報及び管理テーブルを変更し、該変更したディレクトリ情報及び管理テーブルを前記記録媒体制御手段により前記記録媒体に記録させる制御ステップとを有し、
前記制御ステップにおいて、前記制御部は、前記削除指示に係るファイルのディレクトリ情報を前記記録媒体から読み出して前記メモリに記憶させた後に、前記削除指示に係るファイルの管理テーブルの一部を前記メモリに記憶することができない場合、該管理テーブルのうち前記メモリに記憶可能な部分のサイズに基づいて前記メモリに記憶されたディレクトリ情報が示すファイルサイズを変更して前記記録媒体に記録させると共に、前記削除指示に係るファイルの管理テーブルのうち前記メモリに記憶可能な部分を前記記録媒体から読み出して前記メモリに記憶させ、前記メモリに記憶した当該部分の管理テーブルを未使用状態に変更して前記記録媒体に記録させることを特徴とする記録再生装置の制御方法。
【請求項５】
コンピュータに請求項４に記載の記録再生装置の制御方法における各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録再生装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、メモリカードやディスク媒体などのランダムアクセス記録媒体に対し、データをファイルとして記録する記録装置が知られている。記録装置においては、記録媒体に記録されたファイルを、ＦＡＴ（File Allocation Table）ファイルシステム等のファイルシステムに従って管理している。
【０００３】
ＦＡＴファイルシステムでは、管理情報を用いて記録媒体に記録したファイルを管理している。そして、従来、記録装置においては、一旦、管理情報を記録媒体から読み出して内部の管理情報用のメモリ（キャッシュメモリ）に保持する。そして、記録媒体に対するファイルの記録や削除の際に、メモリに保持しておいた管理情報を変更した後、記録媒体に書き込むことにより、管理情報を更新している（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０７−１２１３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、ビデオカメラなど、動画などの大きなサイズのファイルを扱う記録装置が登場している。ファイルのサイズが大きくなると、管理情報のサイズも比例して大きくなる。例えば、サイズが大きいファイルを削除する際には、管理情報を記憶するために大容量のメモリが必要になり、装置のコストの上昇、或いは、回路規模の増大を招く。
【０００６】
本発明はかかる問題を解決することを目的とする。また、本発明は、大容量のメモリを用意することなく、大きなサイズのファイルを管理することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、複数のクラスタを有する記録媒体に対し、ファイルと、前記ファイルのファイルサイズを示すディレクトリ情報と、前記記録媒体における各クラスタの使用状態を示す管理テーブルとを記録し、前記記録媒体から前記ディレクトリ情報及び前記管理テーブルを読み出し、読み出した前記ディレクトリ情報及び前記管理テーブルに基づき前記記録媒体から前記ファイルを読み出して再生する記録媒体制御手段と、前記記録媒体から読み出された前記ディレクトリ情報及び前記管理テーブルを記憶するメモリと、前記記録媒体に記録されたファイルの削除指示に応じて、前記メモリに記憶されたディレクトリ情報及び管理テーブルを変更し、該変更したディレクトリ情報及び管理テーブルを前記記録媒体制御手段により前記記録媒体に記録させる制御部とを備え、前記制御部は、前記削除指示に係るファイルのディレクトリ情報を前記記録媒体から読み出して前記メモリに記憶させた後に、前記削除指示に係るファイルの管理テーブルの一部を前記メモリに記憶することができない場合、該管理テーブルのうち前記メモリに記憶可能な部分のサイズに基づいて前記メモリに記憶されたディレクトリ情報が示すファイルサイズを変更して前記記録媒体に記録させると共に、前記削除指示に係るファイルの管理テーブルのうち前記メモリに記憶可能な部分を前記記録媒体から読み出して前記メモリに記憶させ、前記メモリに記憶した当該部分の管理テーブルを未使用状態に変更して前記記録媒体に記録させることを特徴とする記録再生装置が提供される。
【発明の効果】
【０００８】
本発明によれば、大容量のメモリを用いることなく、大きなサイズのファイルを確実に消去、或いは管理することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態におけるビデオカメラの構成を示すブロック図。
【図２】実施形態における管理情報の様子を示す図。
【図３】実施形態におけるファイル削除処理を示すフローチャート。
【図４】実施形態における短縮削除処理を示すフローチャート。
【図５】実施形態における短縮削除処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決のために必須のものであるとは限らない。
【００１１】
図１は本発明の実施形態における記録再生装置の一例であるビデオカメラ１００の構成を示すブロック図である。図１において、撮像部１０１は被写体を撮影して動画信号を出力する。バッファメモリ１０２はビデオカメラ１００の各部で処理される動画信号を記憶するためのメモリである。信号処理部１０３は、記録時においては、撮影された動画信号に対してＭＰＥＧ等の公知の符号化処理を施して圧縮する他、必要な処理を施す。また、信号処理部１０３は、再生時においては、再生された動画信号を復号する他、必要な処理を施す。表示制御部１０４は、撮影時には撮影された動画信号による動画像を表示部１０５に表示し、再生時には再生された動画信号による動画像を表示部１０５に表示する。また、表示制御部１０４は、ＣＰＵ１０７からの指示により、メニュー画面や各種の必要な情報を表示部１０５に表示する。表示部１０５は、液晶パネルとその駆動回路等を含み、動画像や各種の情報を表示する。出力部１０６は、撮像部１０１により撮影された動画信号や再生された動画信号を外部の表示装置などに出力する。
【００１２】
ＣＰＵ１０７は操作部１０８から受け付けた指示に従い、ビデオカメラ１００の各部を制御する。操作部１０８は、電源ボタンやモード切り替えボタン、メニューボタンなど、各種の操作スイッチを備えている。ユーザは操作部１０８を操作することにより、動画の撮影や再生、削除等を指示する。管理情報メモリ１０９は、後述のように、記録媒体１１３から読み出した管理情報を一時的に記憶するメモリである。ファイルシステム部１１０は、記録媒体１１３に記録するデータを管理する。転送制御部１１１は、ＣＰＵ１０７或いはファイルシステム部１１０からの指示に従い、記録媒体制御部１１２に対して記録すべきデータを送信すると共に、記録媒体制御部１１２から読み出されたデータを各部に出力する。記録媒体制御部１１２は、ＣＰＵ１０７或いはファイルシステム部１１０からの指示に従い、記録媒体１１３に対して管理情報やデータを書き込み、また、読み出す。本実施形態では、記録媒体制御部１１２はＡＴＡ等の公知のインターフェイスに従い、コマンドやデータを送受信する。記録媒体１１３は、フラッシュメモリなどのランダムアクセス記録媒体である。なお、本実施形態においては、記録媒体１１３はフラッシュメモリカードであり、不図示の装着、排出機構により、ビデオカメラ１００に対して記録媒体１１３が自由に装着、排出できるものとする。バス１１４は、各部の間で動画信号や各種の必要なデータを送受信する。
【００１３】
次に、ビデオカメラ１００における記録再生処理について説明する。
まず、記録時の処理を説明する。ユーザが操作部１０８を操作してビデオカメラ１００の電源を投入すると、ＣＰＵ１０７はビデオカメラ１００を撮影モードに設定し、撮像部１０１に対して動画の撮影を開始するよう指示する。撮像部１０１は動画信号を出力し、バッファメモリ１０２に順次記憶する。また、ＣＰＵ１０７は、表示制御部１０４に対し、バッファメモリ１０２から動画信号を読み出して、表示部１０５に表示させる。このような撮影待機状態において、ユーザが操作部１０８を操作して記録開始を指示すると、ＣＰＵ１０７は、信号処理部１０３に対して動画信号の符号化処理を実行させる。信号処理部１０３は、バッファメモリ１０２から動画信号を読み出して符号化し、再びバッファメモリ１０２に記憶する。
【００１４】
ＣＰＵ１０７は、バッファメモリ１０２に記憶された、符号化動画信号のデータ量を監視している。ここで、所定量の符号化動画信号がバッファメモリ１０２に記憶されると、ファイルシステム部１１０及び記録媒体制御部１１２に対して、バッファメモリ１０２から符号化動画信号を読み出して記録するよう指示する。本実施形態では、記録媒体１１３に対して記録可能なデータレートは、符号化動画信号のデータレートよりも大きい。そのため、記録媒体制御部１１２により符号化動画信号の記録を開始した後、バッファメモリ１０２に記憶された符号化動画信号のデータ量が閾値以下となると、いったん記録媒体１１３に対する符号化動画信号の書き込みを停止する。その後、再度所定量の符号化動画信号がバッファメモリ１０２に記憶されると、記録媒体１１３に対する書き込みを開始する。このように、記録媒体１１３に対して間欠的に動画信号を記録する。そして、操作部１０８により記録停止の指示があると、ＣＰＵ１０７は、ファイルシステム部１１０と記録媒体制御部１１２に対して動画信号の記録停止を指示すると共に、信号処理部１０３による符号化処理を停止する。本実施形態では、ファイルシステム部１１０が、記録開始から記録停止までの間に記録された動画信号を一つのファイルとして管理する。記録時におけるファイルシステム部１１０の処理については後述する。
【００１５】
次に、再生時の処理を説明する。ユーザが操作部１０８を操作して、再生モードを指示すると、ＣＰＵ１０７はビデオカメラ１００を再生モードに設定する。そして、ファイルシステム部１１０と記録媒体制御部１１２に対して、記録媒体１１３に記録された動画ファイルのうち、指定された動画ファイルを再生させ、動画信号をバッファメモリ１０２に蓄積させる。そして、信号処理部１０３は、再生された動画信号をバッファメモリ１０２に蓄積から読み出して復号し、再度、バッファメモリ１０２に蓄積する。表示制御部１０４は、バッファメモリ１０２に蓄積された動画信号を読み出して、表示部１０５に表示する。操作部１０８から再生停止の指示があると、ＣＰＵ１０７はファイルシステム部１１０と記録媒体制御部１１２に対して、再生停止を指示し、記録媒体制御部１１２は動画ファイルの再生を停止する。再生時におけるファイルシステム部１１０の処理については後述する。
【００１６】
次に、ファイルシステム部１１０について説明する。本実施形態では、ファイルシステム部１１０は、ＦＡＴ１６やＦＡＴ３２などのファイルシステムに従い、記録媒体１１３に記録したファイルを管理する。ファイルシステム部１１０は、管理するデータをファイルという論理単位で管理し、記録媒体１１３は所定数のビットで構成される複数のクラスタを有する。従って、ファイルシステム部１１０は、記録媒体１１３上での記録位置（アドレス）については、クラスタ単位で管理する。
【００１７】
また、ファイルシステム部１１０は、管理情報を用いて記録媒体１１３に記録されたファイルを管理する。管理情報は、図２（ａ）に示すように、ディレクトリ情報２０１と管理テーブル２０２とを含む。
【００１８】
ファイルシステム部１１０は、ファイルをディレクトリという階層型のデータ構造で管理する。各ディレクトリには、更に別のディレクトリとファイルとを格納することができる。ファイルシステム部１１０は、ディレクトリ、或いはファイル毎にディレクトリエントリを生成する。各ディレクトリエントリには、ファイル名、ディレクトリ名やファイルサイズ、位置情報などを含む。位置情報には、ファイルの先頭クラスタ番号、ディレクトリに格納されたファイルやディレクトリのディレクトリエントリが記録されたクラスタ番号が記述されている。ファイルシステム部１１０は、最上位のディレクトリエントリから辿っていくことで、記録媒体１１３におけるディレクトリの構成や、各ディレクトリに格納されるファイルを検出することができる。また、最上位の階層に位置するディレクトリはルートディレクトリと呼ばれ、ルートディレクトリのエントリ情報は記録媒体１１３上の特定の位置に記録される。
【００１９】
また、ファイルシステム部１１０は、記録媒体１１３の全てのクラスタの使用状態を表す管理テーブルを作成する。管理テーブルは複数の管理テーブルエントリを含む。各管理テーブルエントリは１クラスタに対応しており、一つの管理テーブルエントリが所定数のビットで表現される（例えばＦＡＴ３２では３２ビット）。そして、空きクラスタの管理テーブルエントリには、未使用を示す所定値が記述される。また、データが記録されているクラスタの管理テーブルエントリには、ファイル内で次のデータが記録されたクラスタの番号が記述される。また、ファイルを構成する最後のデータが記録されたクラスタに対応した管理テーブルエントリには、ファイルの最終クラスタを示す所定値が記述される。このようにして一つのファイルを表す管理テーブル上のクラスタの連なりをクラスタチェーンという。また、各クラスタ番号に対応した管理テーブルエントリは、記録媒体１１３における決められた位置に、クラスタ順に記録される。
【００２０】
次に、記録再生に伴うファイルシステム部１１０の処理について説明する。まず、再生時の処理について説明する。ファイルシステム部１１０は、ＣＰＵ１０７から指定されたファイルの読み出し要求があった場合、まずルートディレクトリのディレクトリエントリが記録されたクラスタからデータを読み出すよう記録媒体制御部１１２に指示する。記録媒体制御部１１２は、記録媒体１１３の指定されたクラスタからルートディレクトリのディレクトリエントリデータを読み出し、転送制御部１１１に送る。転送制御部１１１は、読み出されたルートディレクトリのディレクトリエントリデータを管理情報メモリ１０９に記憶する。ただし、既に同じディレクトリエントリのデータが管理情報メモリ１０９に格納されていた場合、記録媒体１１３からデータを読み出す必要はない。
【００２１】
次に、ファイルシステム部１１０は、管理情報メモリ１０９に格納されたディレクトリエントリの情報に基づき、下の階層のディレクトリのディレクトリエントリを記録媒体１１３から読み出させ、管理情報メモリ１０９に格納させる。このように、ファイルシステム部１１０は、指定されたファイルのディレクトリエントリが管理情報メモリ１０９に格納されるまで、ディレクトリ情報の読み出し処理を繰り返す。
【００２２】
そして、指定されたファイルのディレクトリエントリのデータが管理情報メモリ１０９に格納されると、ファイルシステム部１１０は、ディレクトリエントリに記述されたファイルの先頭クラスタ番号を検出する。そして、ファイルシステム部１１０は、検出したクラスタ番号のクラスタから管理テーブルエントリのデータを読み出すよう記録媒体制御部１１２に指示する。記録媒体制御部１１２は指定されたクラスタから管理テーブルエントリを読み出し、転送制御部１１１に送る。転送制御部１１１は、読み出された管理テーブルエントリのデータを管理情報メモリ１０９に格納する。但し、既に同じ管理テーブルエントリが管理情報メモリ１０９に格納されていた場合、記録媒体１１３から読み出す必要はない。
【００２３】
また、ファイルシステム部１１０は、ファイルの先頭クラスタを検出すると、クラスタを論理ブロックアドレス（ＬＢＡ）に変換し、セクタ単位でファイルの実データ、ここでは動画信号を読み出すよう、記録媒体制御部１１２に指示する。ここで、セクタは、クラスタよりさらに小さい単位であり、複数のセクタにより一つのクラスタが構成される。そして、ファイルシステム部１１０は、ＬＢＡによりアクセスすべきセクタを指定する。記録媒体制御部１１２は、指定されたセクタからデータを読み出し、転送制御部１１１に送る。転送制御部１１１は、読み出されたデータ（動画信号）をバッファメモリ１０２に記憶する。再生された動画信号がバッファメモリ１０２に記憶されると、ＣＰＵ１０７は、信号処理部１０３に対して再生された動画信号を復号するよう指示し、前述のように動画信号を復号する。
【００２４】
このように、先頭のクラスタからの動画信号の読み出しを開始すると、次に、ファイルシステム部１１０は、管理情報メモリ１０９に格納された先頭クラスタの管理テーブルエントリによって、ファイルを構成する次のクラスタ番号を検出する。そして、次のクラスタ番号の管理テーブルエントリが管理情報メモリ１０９に格納されていない場合、ファイルシステム部１１０は、次のクラスタ番号の管理テーブルエントリを読み出すよう記録媒体制御部１１２に指示する。記録媒体制御部１１２は指定されたクラスタ番号の管理テーブルエントリを読み出し、転送制御部１１１に送る。転送制御部１１１は、読み出された管理テーブルエントリを管理情報メモリ１０９に記憶する。この際、既に動画信号の読み出しを開始したクラスタに関する管理テーブルエントリを管理情報メモリ１０９に残しておいてもよい。或いは、管理情報メモリ１０９の空き領域が無い場合には、先に記憶された管理テーブルエントリを消去してから、新たに読み出した管理テーブルエントリを記憶するようにしてもよい。
【００２５】
このように、順次管理テーブルエントリを読み出しながら、動画信号の読み出しを続ける。そして、ＣＰＵ１０７が操作部１０８から再生停止の指示があるか、或いは、ファイルシステム部１１０により、ファイルの最終クラスタのデータの読み出しが終了すると、ＣＰＵ１０７は記録媒体制御部１１２に対して再生停止を指示する。
【００２６】
次に記録時の処理について説明する。操作部１０８により記録開始の指示があると、ＣＰＵ１０７はファイルシステム部１１０に対して動画の記録開始を指示する。ファイルシステム部１１０は、記録指示があると、新たに記録する動画ファイルを格納するためのディレクトリを指定する。そして、このディレクトリに関するディレクトリエントリのデータを読み出すよう、記録媒体制御部１１２に指示する。記録媒体制御部１１２は、前述のように、指定されたディレクトリのディレクトリエントリを記録媒体１１３から読み出す。読み出されたディレクトリエントリのデータが転送制御部１１１により管理情報メモリ１０９に記憶される。また、ファイルシステム部１１０は、新たに記録する動画ファイルのディレクトリエントリを作成し、管理情報メモリ１０９に記憶する。
【００２７】
次に、ファイルシステム部１１０は、管理テーブルのうち、空きクラスタとなっているクラスタの一つをファイルの先頭クラスタに指定する。そして、指定したクラスタの管理テーブルエントリを読み出すように記録媒体制御部１１２に指示する。記録媒体制御部１１２は、指定された空きクラスタの管理テーブルエントリを読み出し、転送制御部１１１に送る。転送制御部１１１は読み出された管理テーブルエントリを管理情報メモリ１０９に記憶する。ファイルシステム部１１０は、ファイルの先頭クラスタのクラスタ番号を、管理情報メモリ１０９に記憶されたディレクトリエントリに記述する。
【００２８】
ＣＰＵ１０７から、前述のように符号化された動画信号の書き込み要求があると、ファイルシステム部１１０は、転送制御部１１１に対してバッファメモリ１０２から記録媒体１１３に対して動画信号を転送させる。そして、ファイルシステム部１１０は記録媒体１１３の空きクラスタに対して動画信号を書き込むよう、記録媒体制御部１１２に指示する。
【００２９】
一つのクラスタに対する動画信号の書き込みが完了すると、ファイルシステム部１１０は、次の空きクラスタを検出して、その管理テーブルエントリを管理情報メモリ１０９に記憶させる。そして、同じように、空きクラスタに対して動画信号を記録させる。また、ファイルシステム部１１０は、動画信号の書き込みに従い、管理情報メモリ１０９に記憶された各クラスタの管理テーブルエントリに対して、次のクラスタ番号を記述していく。
【００３０】
このように、記録媒体１１３に対して順次、動画信号の書き込みが行われる。動画信号の記録中にＣＰＵ１０７から管理情報の更新指示があると、ファイルシステム部１１０は、その時点で管理情報メモリ１０９に記憶されているディレクトリ情報と管理テーブルとを記録媒体１１３に記録するよう、記録媒体制御部１１２に指示する。転送制御部１１１は、ファイルシステム部１１０からの更新指示に従って管理情報メモリ１０９に記憶されたディレクトリ情報と管理テーブルとを読み出し、記録媒体制御部１１２送信する。記録媒体制御部１１２は、ディレクトリ情報と管理テーブルとを、それぞれ記録媒体１１３の決められたセクタに記録することにより、その時点までに記録された動画ファイルに関する管理情報を更新する。本実施形態では、動画信号の記録開始後、一定の時間間隔でＣＰＵ１０７が管理情報の更新を指示している。
【００３１】
このように、記録媒体１１３の管理情報が更新されると、その時点までに管理情報メモリ１０９に記憶されていた管理テーブルの記憶領域を空き領域として、新たに記録媒体１１３から読み出した管理テーブルを記憶するために用いる。また、ディレクトリ情報については、一つの動画ファイルの書き込みが完了するまで、管理情報メモリ１０９に保持しておく。
【００３２】
そして、操作部１０８より記録停止の指示があると、ＣＰＵ１０７はファイルシステム部１１０と記録媒体制御部１１２に対して、動画信号の記録停止を指示する。ファイルシステム部１１０は、記録停止の指示に応じて、バッファメモリ１０２から記録媒体制御部１１２に対する動画信号の送信を停止させる。そして、記録媒体制御部１１２は、記録媒体１１３に対する動画信号の記録を停止する。
【００３３】
ファイルシステム部１１０は、動画信号の記録が停止すると、管理情報メモリ１０９に記憶された、動画ファイルの最後のクラスタの管理テーブルエントリに対し、ファイル末尾を示す値を記述する。また、ファイルシステム部１１０は、記録された動画ファイルのサイズを検出し、管理情報メモリ１０９に記憶されたディレクトリエントリに対してファイルのサイズを記述する。そして、ファイルシステム部１１０は、管理情報メモリ１０９に記憶されたディレクトリ情報と管理テーブルとを記録媒体１１３に記録するよう、記録媒体制御部１１２に指示する。転送制御部１１１は、ファイルシステム部１１０からの更新指示に従って管理情報メモリ１０９に記憶されたディレクトリ情報と管理テーブルとを読み出し、記録媒体制御部１１２送信する。記録媒体制御部１１２は、ディレクトリ情報と管理テーブルとを、それぞれ記録媒体１１３の決められたセクタに記録することにより、今回の記録指示によって記録された動画ファイルに関する管理情報を更新する。
【００３４】
また、ファイルシステム部１１０は、記録中の動画ファイルのサイズを監視している。そして、記録中の動画ファイルのサイズがファイルシステムにより規定された上限のサイズに近くなると、ファイルシステム部１１０は記録中のファイルを一旦クローズし、新たにファイルを作成して動画信号の記録を続ける。ファイルクローズ時には、記録停止時と同様に、管理情報メモリ１０９に記憶されたディレクトリ情報と管理テーブルを変更し、記録媒体１１３に書き込む。また、新たなファイルの作成については、記録開始時と同様に、新たにディレクトリエントリを作成し、管理情報メモリ１０９に記憶する。
【００３５】
このように、本実施形態のビデオカメラ１００で記録可能な動画ファイルの最大のサイズは、ファイルシステムにより規定された上限のサイズとなる。前述のように、ファイルのサイズが大きくなるのに比例して、このファイルに関する管理テーブルのサイズも大きくなる。しかし、ファイルの記録時には、一定の時間間隔で記録媒体１１３上の管理テーブルを更新しているので、更新後は管理情報メモリ１０９における記憶領域を空き領域として使うことができる。また、再生時には、読み出し対象となるクラスタに関する管理テーブルエントリだけを管理情報メモリ１０９に記憶すればよい。このように、動画の記録再生のために、上限サイズの動画ファイルの管理テーブルを全て管理情報メモリ１０９に記憶する必要はない。そのため、本実施形態では、管理情報メモリ１０９の記憶容量を、上限サイズの動画ファイルの管理テーブルのサイズよりも小さい、記録再生処理のために必要なサイズとしている。
【００３６】
次に、ファイルの削除動作について説明する。図３はファイル削除処理を示すフローチャートである。なお、以下に説明するファイル削除処理は、ＣＰＵ１０７が各部を制御することにより実行される。ユーザが操作部１０８を操作して、記録媒体１１３に記録された動画ファイルの一覧表示を指示すると、ＣＰＵ１０７はファイルシステム部１１０に対して、ファイル一覧情報の取得を指示する。ファイルシステム部１１０は、記録媒体制御部１１２に対して、記録媒体１１３に記録された全てのファイルのディレクトリエントリを読み出すよう指示する。そして、記録媒体制御部１１２より読み出された各ファイルのディレクトリエントリが管理情報メモリ１０９に記憶されると、ＣＰＵ１０７は各ファイルのファイル名の情報を示す一覧画面を表示制御部１０４により表示部１０５に表示させる。ユーザは、操作部１０８を操作して、表示された一覧画面から、削除対象のファイルを指定し、ファイルの削除を指示する。
【００３７】
このファイルの削除指示に応じて、図３のフローが開始する。まず、ファイルシステム部１１０は、削除指示に係るファイル（削除対象ファイル）に関するディレクトリ情報を読み出すよう、記録媒体制御部１１２に指示する（Ｓ３０１）。ここでは、削除対象ファイルのディレクトリエントリと、削除対象ファイルが格納されている全ての階層のディレクトリに関するディレクトリエントリを読み出す。ただし、既にこのファイルに関するディレクトリエントリが管理情報メモリ１０９に記憶されていた場合は、読み出す必要はない。
【００３８】
前述のように、ファイルの一覧画面からユーザが削除対象ファイルを指定した場合には、指定されたファイルのディレクトリエントリは既に管理情報メモリ１０９に記憶されているので、これ以外のディレクトリ情報を管理情報メモリ１０９から消去する。そして、新たに、削除対象ファイルが格納されている全ての階層のディレクトリに関するディレクトリエントリを読み出す。
【００３９】
次に、ファイルシステム部１１０は、管理情報メモリ１０９に記憶された削除対象ファイルのディレクトリエントリに基づいて、削除対象ファイルのファイルサイズを検出する。そして、ファイルシステム部１１０は、削除対象ファイルのファイルサイズに基づいて、このファイルの管理テーブルのサイズを検出して、ＣＰＵ１０７に知らせる（Ｓ３０２）。具体的には、ファイルシステム部１１０は、ファイルサイズと１クラスタあたりのサイズに基づいてこのファイルに関する管理テーブルエントリの数を求める。そして、管理テーブルエントリの数に一つの管理テーブルエントリのビット数を乗算することで、管理テーブルのサイズを算出する。
【００４０】
上述のように、現在、削除対象ファイルのディレクトリ情報が管理情報メモリ１０９に記憶されている。この状態で、削除対象ファイルに関する管理テーブルを全て管理情報メモリ１０９に記憶することができるかを判定する。そのためにＣＰＵ１０７は、削除対象ファイルに関するディレクトリ情報のサイズと管理テーブルのサイズの合計と、管理情報メモリ１０９の容量とを比較する。そして、合計サイズが管理情報メモリ１０９の容量以下であるかどうかを判別する（Ｓ３０３）。
【００４１】
判別の結果、合計サイズが管理情報メモリ１０９の容量以下である場合、ファイルシステム部１１０は、管理情報メモリ１０９に格納されている削除対象ファイルのディレクトリエントリに記述されたファイルの先頭クラスタ番号を検出する。そして、先頭のクラスタから、削除対象ファイルに関する全ての管理テーブルエントリを読み出すよう記録媒体制御部１１２に指示し、読み出された全ての管理テーブルエントリを管理情報メモリ１０９に記憶させる（Ｓ３０４）。
【００４２】
次に、ファイルシステム部１１０は、管理情報メモリ１０９に記憶された削除対象ファイルのディレクトリエントリを消去する。また、削除対象ファイルを格納しているディレクトリに関するディレクトリエントリの内容を変更する。更に、削除対象ファイルに関する全ての管理テーブルエントリを、空きクラスタを示す所定値に変更する（Ｓ３０５）。管理情報メモリ１０９に記憶されたディレクトリ情報と管理テーブルの変更が完了すると、ファイルシステム部１１０は、管理情報メモリ１０９に記憶されているディレクトリ情報と管理テーブルの記録制御を行う。具体的には、ファイルシステム部１１０は、管理情報メモリ１０９に記憶されているディレクトリ情報と管理テーブルとを、記録媒体１１３の規定されたクラスタに記録するよう、記録媒体制御部１１２に指示する（Ｓ３０６）。転送制御部１１１は、管理情報メモリ１０９からディレクトリ情報と管理テーブルを読み出して記録媒体制御部１１２に送る。記録媒体制御部１１２は、ディレクトリ情報と管理テーブルを、それぞれ記録媒体１１３における規定されたクラスタに記録する。
【００４３】
一方、Ｓ３０３において、ディレクトリ情報と管理テーブルの合計サイズが管理情報メモリ１０９の容量よりも大きいと判別された場合、ファイル短縮削除処理を実行する（Ｓ３０７）。
【００４４】
図４は、Ｓ３０７のファイル短縮削除処理を示すフローチャートである。まず、ファイルシステム部１１０は、管理情報メモリ１０９に削除対象ファイルディレクトリ情報が蓄積されているかどうか判別する（Ｓ４０１）。管理情報メモリ１０９に削除対象ファイルのディレクトリ情報が格納されていないと判別された場合、ファイルシステム部１１０は削除対象ファイルのディレクトリ情報を読み出させる。読み出されたディレクトリ情報は管理情報メモリ１０９に記憶される（Ｓ４０２）。
【００４５】
次に、ファイルシステム部１１０は、管理情報メモリ１０９に格納された削除対象ファイルのディレクトリエントリに記述されているファイル先頭クラスタ番号を検出し、管理情報メモリ１０９に保存する（Ｓ４０３）。そして、ファイルシステム部１１０は、管理情報メモリ１０９に記憶可能な管理テーブルのデータ量に基づいて、管理情報メモリ１０９に記憶された削除対象ファイルのディレクトリエントリにおけるファイルサイズを変更する（Ｓ４０４）。ここで、ファイルシステム部１１０は、管理情報メモリ１０９のうち、削除対象ファイルの管理テーブルを記憶可能な容量を求める。この記憶可能な容量とは、管理情報メモリ１０９の容量のうち、Ｓ４０３で記憶した開始クラスタ番号の情報を記憶するのに必要な容量を除いた容量とする。そして、管理情報メモリ１０９に記憶可能な管理テーブルエントリの数を算出する。この算出された管理テーブルエントリの数と１クラスタあたりのデータ量とを乗算した値を、削除対象ファイルのファイルサイズから減算する。そして、ディレクトリエントリに記述されたファイルサイズを、減算の結果得られた値に変更する。
【００４６】
このようにディレクトリ情報を変更すると、ファイルシステム部１１０は、変更されたディレクトリ情報を記録媒体１１３に記録するよう、記録媒体制御部１１２に指示する。記録媒体制御部１１２は転送制御部１１１により管理情報メモリ１０９から送信されたディレクトリ情報を記録媒体１１３の規定されたセクタに記録する（Ｓ４０５）。ディレクトリ情報を記録した後は、管理情報メモリ１０９におけるディレクトリ情報を記憶していた領域を空き領域すなわち未使用状態にする。
【００４７】
次に、ファイルシステム部１１０は、削除対象ファイルの管理テーブルが管理情報メモリ１０９に格納されているかどうか判別する（Ｓ４０６）。管理情報メモリ１０９に管理テーブルが記憶されていないと判別された場合、削除対象ファイルの管理テーブルのうちファイル末尾の管理テーブルエントリから管理情報メモリ１０９に記憶可能なサイズ分を読み出して管理情報メモリ１０９に記憶させる。この処理は具体的には例えば以下のようにして行う。ファイルシステム部１１０は記録媒体制御部１１２に対して、削除対象ファイルの管理テーブルを先頭の管理テーブルエントリからクラスタチェーンの順に読み出させる（Ｓ４０７）。読み出された管理テーブルエントリは、転送制御部１１１によって順次、管理情報メモリ１０９に記憶される。ファイルシステム部１１０は、管理情報メモリ１０９に管理テーブルエントリが記憶されると、管理情報メモリ１０９に記憶された管理テーブルエントリがクラスタチェーンの末尾を示す値を含んでいるかどうかを判別する（Ｓ４０８）。管理情報メモリ１０９上の管理テーブルエントリがファイル末尾を示す値ではない場合、Ｓ４０７に戻って引き続き管理テーブルエントリを読み出す。このように、ファイル末尾の管理テーブルエントリが管理情報メモリ１０９に記憶されるまで処理を繰り返す。ここで、先頭の管理テーブルエントリから読み出して管理情報メモリ１０９に記憶している際に、管理情報メモリ１０９の空きが無くなった場合には、先頭の管理テーブルエントリから順に上書きしていく。そのため、最終クラスタの管理テーブルエントリが管理情報メモリ１０９に記憶された段階では、ファイルの末尾から、管理情報メモリ１０９に対応した容量の管理テーブルエントリが記憶されていることになる。
【００４８】
ファイル末尾の管理テーブルエントリが管理情報メモリ１０９に記憶されると、ファイルシステム部１１０は、管理情報メモリ１０９に記憶された短縮対象ファイルの各管理テーブルエントリの値を空き領域を示す値に変更する（Ｓ４０９）。こうして、管理情報メモリ１０９に記憶した部分の管理テーブルを未使用状態に変更する。ただし、管理情報メモリ１０９に記憶された管理テーブルエントリのうち、クラスタチェーンの先頭の管理テーブルエントリに対しては、ファイル末尾を示す値に変更する。
【００４９】
このように、管理情報メモリ１０９に記憶された各管理テーブルエントリを変更すると、ファイルシステム部１１０は、転送制御部１１１に指示して、変更された管理テーブルを記録媒体制御部１１２に転送させる。そして、ファイルシステム部１１０は、記録媒体制御部１１２に対して変更後の管理テーブルを記録媒体１１３に記録するよう指示する（Ｓ４１０）。このようにファイル短縮削除処理を実行した後、再度、図３のＳ３０１−Ｓ３０３の処理を繰り返す。
【００５０】
ファイル短縮削除処理の際の管理情報の様子を図２（ｂ）、（ｃ）に示す。図２（ｂ）は、削除対象ファイルのディレクトリ情報２０３と管理テーブル２０４を示している。そして、２０５は削除対象ファイルのディレクトリ情報２０３のデータ量を示し、２０６はＳ３０２において算出された、管理情報メモリ１０９に記憶可能な管理テーブル２０４のサイズ（エントリ数）を示している。
【００５１】
図２（ｂ）に示すように、ディレクトリ情報を記憶した管理情報メモリ１０９に、削除対象ファイルの管理テーブルの一部を記憶することができない。そのため、管理テーブル２０４のエントリ数から、データ量２０６に対応するエントリ数を除いた管理テーブルエントリに対応したファイルサイズとなるように、ディレクトリ情報を変更する。
【００５２】
更に、図２（ｃ）に示すように、ファイル末尾の管理テーブルを管理情報メモリ１０９に記憶する。図２（ｃ）において、２０７が、Ｓ４０７、Ｓ４０８の処理により管理情報メモリ１０９に記憶される管理テーブルのデータ量である。そして、Ｓ４０９において、２０７で示されるデータ量の管理テーブルにおける各エントリを空きクラスタに変更する。なお、データ量２０７はデータ量２０６よりも多いが、これは、Ｓ４０５でディレクトリ情報を記録媒体１１３に書き込んだ後は、このディレクトリ情報の記憶領域を管理テーブルの記憶用に用いているためである。また、２０８は、ファイル短縮削除処理の後、新たにファイル末尾となる管理テーブルエントリである。この管理テーブルエントリ２０８を、ファイル末尾を示す値に変更する。
【００５３】
このように、本実施形態では、ファイルを削除する際に、削除対象ファイルの管理テーブルの一部を管理情報メモリに記憶できない場合、ディレクトリ情報が示すファイルサイズを変更する。そして、変更後のファイルサイズ以上の管理テーブルエントリをメモリに記憶して空き領域に変更する。この処理を繰り返すことで、管理情報メモリの容量を小さくした場合でも、正常にファイルを削除することができる。また、ファイル削除処理中にビデオカメラの電源が遮断した場合にも、記録媒体１１３に記録されたデータと管理情報とが不一致となることを防ぐことができる。そのため、記録媒体１１３に記録されたファイルが読み出せなくなるのを防ぐことができる。
【００５４】
なお、本実施形態では、Ｓ３０３において、削除対象ファイルに関するディレクトリ情報のサイズと管理テーブルのサイズの合計と、管理情報メモリ１０９の容量とを比較していた。しかし、管理情報メモリ１０９を別の用途に用いることも可能であり、この場合、管理情報メモリ１０９の領域のうち、ディレクトリ情報と管理テーブルを記憶するために使用できる容量をメモリ容量として比較することも可能である。
【００５５】
また、図２に示す例では、１回のファイル短縮削除処理により、ディレクトリ情報と管理テーブルの合計サイズが管理情報メモリ１０９の容量以下となった場合を示した。しかし、１回のファイル短縮削除処理ではディレクトリ情報と管理テーブルの合計サイズが管理情報メモリ１０９の容量以下とならない場合も考えられる。その場合には、図４の処理を繰り返し実行する。
【００５６】
次に、第２の実施形態について説明する。本実施形態におけるビデオカメラ１００の構成、並びに基本的な動作は第１の実施形態と同様である。第２の実施形態では、Ｓ３０７のファイル短縮削除処理が異なる。以下、本実施形態のファイル短縮削除処理について説明する。
【００５７】
図５は、Ｓ３０７のファイル短縮削除処理を示すフローチャートである。まず、ファイルシステム部１１０は、管理情報メモリ１０９に削除対象ファイルディレクトリ情報が蓄積されているかどうか判別する（Ｓ５０１）。管理情報メモリ１０９に削除対象ファイルのディレクトリ情報が格納されていないと判別された場合、ファイルシステム部１１０は削除対象ファイルのディレクトリ情報を読み出させる。読み出されたディレクトリ情報は管理情報メモリ１０９に記憶される（Ｓ５０２）。
【００５８】
次に、ファイルシステム部１１０は、管理情報メモリ１０９に格納された削除対象ファイルのディレクトリエントリに記述されているファイル先頭クラスタ番号を検出し、管理情報メモリ１０９に保存する（Ｓ５０３）。そして、ファイルシステム部１１０は、管理情報メモリ１０９に記憶可能な管理テーブルのデータ量に基づいて、管理情報メモリ１０９に記憶された削除対象ファイルのディレクトリエントリが示すファイルサイズを変更する（Ｓ５０４）。ここで、ファイルシステム部１１０は、上述したＳ４０４と同様の処理を行うことができる。すなわち、管理情報メモリ１０９に記憶可能な管理テーブルエントリの数を算出し、算出された管理テーブルエントリの数と１クラスタあたりのデータ量とを乗算した値を、削除対象ファイルのファイルサイズから減算する。そして、ディレクトリエントリに記述されたファイルサイズを、減算の結果得られた値に変更する。
【００５９】
次に、ファイルシステム部１１０は、削除対象ファイルの管理テーブルから、先頭クラスタからクラスタチェーンの順に、管理情報メモリ１０９に記憶可能な管理テーブルエントリの数だけ後のクラスタ番号を検出する。そして、管理情報メモリ１０９に記憶された削除対象ファイルのディレクトリエントリに記述された先頭クラスタ番号を、ここで検出したクラスタ番号に変更する（Ｓ５０５）。また、変更後の先頭クラスタ番号を管理情報メモリ１０９に記憶する。
【００６０】
このようにディレクトリ情報を変更すると、ファイルシステム部１１０は、変更されたディレクトリ情報を記録媒体１１３に記録するよう、記録媒体制御部１１２に指示する。記録媒体制御部１１２は転送制御部１１１により管理情報メモリ１０９から送信されたディレクトリ情報を記録媒体１１３の規定されたセクタに記録する（Ｓ５０６）。ディレクトリ情報を記録した後は、管理情報メモリ１０９におけるディレクトリ情報を記憶していた領域を空き領域とする。
【００６１】
次に、ファイルシステム部１１０は、Ｓ５０３で保存した、変更前の削除対象ファイルの先頭クラスタから、クラスタチェーンの順に管理テーブルを読み出すよう、記録媒体制御部１１２に指示する（Ｓ５０７）。読み出された管理テーブルは、転送制御部１１１によって順次、管理情報メモリ１０９に記憶される。ファイルシステム部１１０は、管理情報メモリ１０９に管理テーブルエントリが記憶されると、管理情報メモリ１０９に記憶された管理テーブルエントリが、Ｓ５０５で保存した変更後の先頭クラスタ番号を含んでいるかどうかを判別する（Ｓ５０８）。管理情報メモリ１０９上の管理テーブルエントリが、変更後の先頭クラスタ番号を含んでいない場合、Ｓ５０７に戻って引き続き管理テーブルエントリを読み出す。
【００６２】
変更後の先頭クラスタ番号を含む管理テーブルエントリが管理情報メモリ１０９に記憶されると、ファイルシステム部１１０は、管理情報メモリ１０９に記憶された短縮対象ファイルの各管理テーブルエントリの値を空き領域に変更する（Ｓ５０９）。このように、管理情報メモリ１０９に記憶された各管理テーブルエントリを変更すると、ファイルシステム部１１０は、転送制御部１１１に指示して、変更された管理テーブルを記録媒体制御部１１２に転送させる。そして、ファイルシステム部１１０は、記録媒体制御部１１２に対して変更後の管理テーブルを記録媒体１１３に記録するよう指示する（Ｓ５１０）。このようにファイル短縮削除処理を実行した後、再度、図３のＳ３０１−Ｓ３０３の処理を繰り返す。
【００６３】
本実施形態におけるファイル短縮削除処理の際の管理情報の様子を図２（ｄ）に示す。図２（ｂ）に示すように、ディレクトリ情報を記憶した管理情報メモリ１０９に、削除対象ファイルの管理テーブルの一部を記憶することができない。そのため、管理テーブル２０４のエントリ数から、データ量２０６に対応するエントリ数を除いた管理テーブルエントリに対応したファイルサイズとなるように、ディレクトリ情報を変更する。
【００６４】
更に、図２（ｄ）に示すように、管理テーブルの先頭から、クラスタチェーンの順に、管理情報メモリ１０９に記憶する。図２（ｄ）において、２０９が、Ｓ５０７、Ｓ５０８の処理により管理情報メモリ１０９に記憶される管理テーブルのデータ量である。そして、Ｓ５０９において、２０９で示されるデータ量の管理テーブルにおける各エントリを空きクラスタに変更する。また、２１０は、ファイル短縮削除処理の後、新たにファイルの先頭クラスタとなる管理テーブルエントリである。そこで、Ｓ５０５において、この管理テーブルエントリ２１０のクラスタ番号を検出し、先頭クラスタ番号を変更する。
【００６５】
このように、本実施形態では、ファイルを削除する際に、削除対象ファイルの管理テーブルの一部を管理情報メモリに記憶できない場合、ディレクトリ情報が示すファイルサイズを変更する。そして、変更後のファイルサイズ以上の管理テーブルエントリをメモリに記憶して空き領域に変更する。この処理を繰り返すことで、管理情報メモリの容量を小さくした場合でも、正常にファイルを削除することができる。また、ファイル削除処理中にビデオカメラの電源が遮断した場合にも、記録媒体１１３に記録されたデータと管理情報とが不一致となることを防ぐことができる。そのため、記録媒体１１３に記録されたファイルが読み出せなくなるのを防ぐことができる。更に、第２の実施形態では、ファイルを前方から短縮することによって、読み出したクラスタチェーンを削除しながらファイル末尾までクラスタチェーンを一度辿れば良いため、実行速度を速くすることができる。
【００６６】
（他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005489818.tif 000002
【図２】
0005489818.tif 000003
【図３】
0005489818.tif 000004
【図４】
0005489818.tif 000005
【図５】
0005489818.tif 000006