(57)【要約】【課題】記録媒体において、利用可能な記録領域を減少させることなく、所定のデータを記録する。【解決手段】  ハードディスクのデータ領域に記録されている実データを格納するファイルに関係するディレクトリエントリがハードディスクにおける、ルートディレクトリエントリ領域に記録されると共に、データ領域における記録単位であるクラスタ毎に実データが記録される場合、余り領域検出部５０１により、ハードディスクのパーティションにおいて、クラスタとして確保されていない領域であり、ファイルシステムの管理の対象外とされる余り領域が検出され、データ書き込み部５０３により、余り領域への所定のデータ、例えば、ルートディレクトリエントリ領域に格納されているディレクトリエントリのバックアップデータの記録が制御される。本発明は、デジタルビデオカメラに適用することができる。【選択図】図２６
2005339628.tif 000002
【特許請求の範囲】
【請求項１】
ファイル記録媒体の第１の記録領域に記録されている第１のデータを格納する第１のファイルに関係する第２のデータを前記ファイル記録媒体の第２の記録領域に記録すると共に、前記第１の記録領域における記録単位である第３の記録領域毎に前記第１のデータを記録する記録装置において、
前記ファイル記録媒体の前記第１の記録領域において、前記第３の記録領域として確保されていない領域である第４の記録領域を検出する検出手段と、
前記第４の記録領域への所定の第３のデータの記録を制御する記録制御手段と
を含むことを特徴とする記録装置。
【請求項２】
前記検出手段は、前記第４の記録領域が始まる位置を示す位置情報を算出することによって、前記第４の記録領域を検出する
ことを特徴とする請求項１に記載の記録装置。
【請求項３】
前記第３のデータは、前記第２のデータのバックアップデータである
ことを特徴とする請求項１に記載の記録装置。
【請求項４】
１つの空き領域をなす１または複数の前記第３の記録領域のうちの、先頭の前記第３の記録領域の位置を示す第１のアドレス情報と、前記ファイル記録媒体における最小の記録単位である第５の記録領域からなる前記第３の記録領域のそれぞれの第１のデータの配置を示すファイル配置情報であって、前記第１のアドレス情報で位置が示される前記第３の記録領域についての前記ファイル配置情報を格納する前記第５の記録領域の位置を示す第２のアドレス情報との記憶を制御する記憶制御手段と、
記憶されている前記第２のアドレス情報を基に、前記ファイル記録媒体からの前記ファイル配置情報の読み出しを制御する読み出し制御手段と
をさらに含み、
前記記録制御手段は、前記第１のアドレス情報および読み出された前記ファイル配置情報を基に、記録しようとするファイルの、前記空き領域への記録を制御する
ことを特徴とする請求項１に記載の記録装置。
【請求項５】
前記記録制御手段は、前記記憶制御手段によって記憶される前記第１のアドレス情報および前記第２のアドレス情報が格納されるリストを前記第３のデータとして記録するように記録を制御する
ことを特徴とする請求項４に記載の記録装置。
【請求項６】
前記リストには、前記第１のアドレス情報および前記第２のアドレス情報に対応して、前記空き領域の記録容量を示す情報がさらに格納されている
ことを特徴とする請求項５に記載の記録装置。
【請求項７】
それぞれの前記第１のファイルに格納されている前記第１のデータを記録している前記第３の記録領域であるクラスタのうちの、最後のクラスタの中の前記第１のデータの記録に利用されていない領域であって、さらにデータを記録することが可能な記録可能領域が始まる位置を算出する位置算出手段と、
前記記録可能領域の記録容量を算出する記録容量算出手段と
前記最後のクラスタのアドレスと前記位置を示す情報とを対応して格納するリストを生成する生成手段と
をさらに含み、
前記記録制御手段は、算出された前記位置および前記記録容量を基に、前記記録可能領域への、複数の前記第１のファイルに関係する第２のファイルのバックアップデータの記録を制御すると共に、前記リストを前記第３のデータとして記録するように、さらに記録を制御する
ことを特徴とする請求項１に記載の記録装置。
【請求項８】
ファイル記録媒体の第１の記録領域に記録されている第１のデータを格納するファイルに関係する第２のデータを前記ファイル記録媒体の第２の記録領域に記録すると共に、前記第１の記録領域における記録単位である第３の記録領域毎に前記第１のデータを記録する記録装置の記録方法であって、
前記ファイル記録媒体の前記第１の記録領域において、前記第３の記録領域として確保されていない領域である第４の記録領域を検出する検出ステップと、
前記第４の記録領域への所定の第３のデータの記録を制御する記録制御ステップと
を含むことを特徴とする記録方法。
【請求項９】
ファイル記録媒体の第１の記録領域に記録されている第１のデータを格納するファイルに関係する第２のデータを前記ファイル記録媒体の第２の記録領域に記録すると共に、前記第１の記録領域における記録単位である第３の記録領域毎に前記第１のデータを記録する記録処理用のプログラムであって、
前記ファイル記録媒体の前記第１の記録領域において、前記第３の記録領域として確保されていない領域である第４の記録領域を検出する検出ステップと、
前記第４の記録領域への所定の第３のデータの記録を制御する記録制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１０】
ファイル記録媒体の第１の記録領域に記録されている第１のデータを格納するファイルに関係する第２のデータを前記ファイル記録媒体の第２の記録領域に記録すると共に、前記第１の記録領域における記録単位である第３の記録領域毎に前記第１のデータを記録する記録処理をコンピュータに行わせるプログラムであって、
前記ファイル記録媒体の前記第１の記録領域において、前記第３の記録領域として確保されていない領域である第４の記録領域を検出する検出ステップと、
前記第４の記録領域への所定の第３のデータの記録を制御する記録制御ステップと
を含むことを特徴とするプログラム。
【請求項１１】
ファイルに格納される第１のデータが記録される第１の記録領域のうちの、ファイルシステムにおけるファイル記録媒体の記録単位である第２の記録領域として確保されていない領域である第３の記録領域に記録された第２のデータを前記ファイル記録媒体から読み出す読み出し装置において、
前記第３の記録領域が始まる位置を示す位置情報を取得する取得手段と、
取得された前記位置情報を基に、前記第３の記録領域に記録されている前記第２のデータの読み出しを制御する読み出し制御手段と
を含むことを特徴とする読み出し装置。
【請求項１２】
ファイルに格納される第１のデータが記録される第１の記録領域のうちの、ファイルシステムにおけるファイル記録媒体の記録単位である第２の記録領域として確保されていない領域である第３の記録領域に記録された第２のデータを前記ファイル記録媒体から読み出す読み出し装置の読み出し方法であって、
前記第３の記録領域が始まる位置を示す位置情報を取得する取得ステップと、
取得された前記位置情報を基に、前記第３の記録領域に記録されている前記第２のデータの読み出しを制御する読み出し制御ステップと
を含むことを特徴とする記録方法。
【請求項１３】
ファイルに格納される第１のデータが記録される第１の記録領域のうちの、ファイルシステムにおけるファイル記録媒体の記録単位である第２の記録領域として確保されていない領域である第３の記録領域に記録された第２のデータを前記ファイル記録媒体から読み出す読み出し処理用のプログラムであって、
前記第３の記録領域が始まる位置を示す位置情報を取得する取得ステップと、
取得された前記位置情報を基に、前記第３の記録領域に記録されている前記第２のデータの読み出しを制御する読み出し制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１４】
ファイルに格納される第１のデータが記録される第１の記録領域のうちの、ファイルシステムにおけるファイル記録媒体の記録単位である第２の記録領域として確保されていない領域である第３の記録領域に記録された第２のデータを前記ファイル記録媒体から読み出す読み出し処理をコンピュータに行わせるプログラムであって、
前記第３の記録領域が始まる位置を示す位置情報を取得する取得ステップと、
取得された前記位置情報を基に、前記第３の記録領域に記録されている前記第２のデータの読み出しを制御する読み出し制御ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラムに関し、特に、ファイルを記録するファイル記録媒体に、ファイルを記録する記録領域を減少させることなく、所定のデータを記録することができるようにした記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
従来、例えば、デジタルビデオカメラやデジタルスチルカメラ、PC(Personal Computer)や携帯電話機、および据え置き型ビデオレコーダなどにおいては、ハードディスクなどのランダムアクセス可能な記録媒体に、静止画像、動画像、または音声(または音楽)といった各種データが、FAT（File Allocation Tables）などのファイルシステムによって、ファイルとして記録されていた。
【０００３】
FAT32などのファイルシステムにおいては、１つのクラスタに、ファイルの名前やファイルに格納される実際のデータ（以下、適宜、実データと称する）へのエントリポイントなどを示すディレクトリエントリが記録され、論理フォーマット上のアドレスにおいて、ディレクトリエントリが記録されたクラスタの後のクラスタに、ディレクトリエントリに対応するファイルの実データが記録される。
【０００４】
ここで、FATなどのファイルシステムを利用した技術が種々提案されている。
【０００５】
例えば、特許文献１には、ファイルシステムにおいて、ディスクの記録領域およびディスクの空き領域をセクタ単位およびクラスタ単位の２つの単位を基に、管理することが開示されている。
【０００６】
特許文献２には、ハードディスクにおいて、データを記録または再生する場合に、データが記録される（または記録されている）領域にアクセスするためのアドレス情報（システムエントリーエリアに記録されている情報）を、不揮発性メモリであるシステムエントリーメモリに記録することが開示されている。
【０００７】
特許文献３には、ホスト装置より発行される１回の読み出し、または１回の書き込みコマンドを基に、ハードディスク装置が、ハードディスクの空き領域を検出し、順次、ビデオデータなどのファイルを記録することが開示されている。
【０００８】
また、FATなどのファイルシステムを基に、所定のデータをバックアップする技術も種々提案されている。
【０００９】
例えば、特許文献４には、記録される画像データの量などを基に、HDD（Hard Disk Drive）やHDDに挿入されたディスクにバックアップ領域を設け、そのバックアップ領域に、画像データのFATやディレクトリのバックアップを記録または更新することが開示されている。
【特許文献１】特開昭６４−３５６２４号公報
【特許文献２】特開２０００−３２４４３５号公報
【特許文献３】特開２００３−１１５１６１号公報
【特許文献４】特開平１０−５１７２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
特許文献１乃至特許文献３に記載の技術のように、ファイルシステムに関する技術は、種々提案されている。しかしながら、ハードディスクなどの記録媒体の記録領域のサイズは、例えば、パーティションのサイズは、ディレクトリエントリおよび実データなどが記録される、クラスタのサイズの整数倍になっていないことが多い。従って、記録領域のサイズ（パーティションのサイズ）がクラスタのサイズの整数倍になっていない場合、パーティション内に、ファイルシステムの管理対象外の記録領域（余り領域）が存在することになり、その管理対象外の記録領域が、有効活用されていないという課題があった。
【００１１】
また、特許文献４に記載の技術においては、所定のデータのバックアップデータを記録するために、ハードディスクなどの記録媒体の未使用の記録領域を、新たに消費してしまう。このため、バックアップデータを記録することで、利用可能な記録領域を減少させてしまうという課題があった。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、例えば、ハードディスクなどのファイル記録媒体において、ファイルシステムの管理対象外の記録領域を有効活用し、ファイルを記録するための記録領域を減少させることなく、所定のデータを記録することができるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の記録装置は、ファイル記録媒体の第１の記録領域において、第３の記録領域として確保されていない領域である第４の記録領域を検出する検出手段と、第４の記録領域への所定の第３のデータの記録を制御する記録制御手段とを含むことを特徴とする。
【００１４】
記録装置は、検出手段が、第４の記録領域が始まる位置を示す位置情報を算出することによって、第４の記録領域を検出するようにすることができる。
【００１５】
記録装置は、第３のデータが、第２のデータのバックアップデータであるようにすることができる。
【００１６】
記録装置は、１つの空き領域をなす１または複数の第３の記録領域のうちの、先頭の第３の記録領域の位置を示す第１のアドレス情報と、ファイル記録媒体における最小の記録単位である第５の記録領域からなる第３の記録領域のそれぞれの第１のデータの配置を示すファイル配置情報であって、第１のアドレス情報で位置が示される第３の記録領域についてのファイル配置情報を格納する第５の記録領域の位置を示す第２のアドレス情報との記憶を制御する記憶制御手段と、記憶されている第２のアドレス情報を基に、ファイル記録媒体からのファイル配置情報の読み出しを制御する読み出し制御手段とをさらに設け、記録制御手段は、第１のアドレス情報および読み出されたファイル配置情報を基に、記録しようとするファイルの、空き領域への記録を制御するようにすることができる。
【００１７】
記録装置は、記録制御手段が、記憶制御手段によって記憶される第１のアドレス情報および第２のアドレス情報が格納されるリストを第３のデータとして記録するように記録を制御するようにすることができる。
【００１８】
記録装置は、リストには、第１のアドレス情報および第２のアドレス情報に対応して、空き領域の記録容量を示す情報がさらに格納されているようにすることができる。
【００１９】
記録装置は、それぞれの第１のファイルに格納されている第１のデータを記録している第３の記録領域であるクラスタのうちの、最後のクラスタの中の第１のデータの記録に利用されていない領域であって、さらにデータを記録することが可能な記録可能領域が始まる位置を算出する位置算出手段と、記録可能領域の記録容量を算出する記録容量算出手段と最後のクラスタのアドレスと位置を示す情報とを対応して格納するリストを生成する生成手段とをさらに設け、記録制御手段は、算出された位置および記録容量を基に、記録可能領域への、複数の第１のファイルに関係する第２のファイルのバックアップデータの記録を制御すると共に、リストを第３のデータとして記録するように、さらに記録を制御するようにすることができる。
【００２０】
本発明の記録方法は、ファイル記録媒体の第１の記録領域において、第３の記録領域として確保されていない領域である第４の記録領域を検出する検出ステップと、第４の記録領域への所定の第３のデータの記録を制御する記録制御ステップとを含むことを特徴とする。
【００２１】
本発明の記録媒体のプログラムは、ファイル記録媒体の第１の記録領域において、第３の記録領域として確保されていない領域である第４の記録領域を検出する検出ステップと、第４の記録領域への所定の第３のデータの記録を制御する記録制御ステップとを含むことを特徴とする。
【００２２】
本発明のプログラムは、ファイル記録媒体の第１の記録領域において、第３の記録領域として確保されていない領域である第４の記録領域を検出する検出ステップと、第４の記録領域への所定の第３のデータの記録を制御する記録制御ステップとを実行させることを特徴とする。
【００２３】
本発明の読み出し装置は、第３の記録領域が始まる位置を示す位置情報を取得する取得手段と、取得された位置情報を基に、第３の記録領域に記録されている第２のデータの読み出しを制御する読み出し制御手段とを含むことを特徴とする。
【００２４】
本発明の読み出し方法は、第３の記録領域が始まる位置を示す位置情報を取得する取得ステップと、取得された位置情報を基に、第３の記録領域に記録されている第２のデータの読み出しを制御する読み出し制御ステップとを含むことを特徴とする。
【００２５】
本発明の記録媒体のプログラムは、第３の記録領域が始まる位置を示す位置情報を取得する取得ステップと、取得された位置情報を基に、第３の記録領域に記録されている第２のデータの読み出しを制御する読み出し制御ステップとを含むことを特徴とする。
【００２６】
本発明のプログラムは、第３の記録領域が始まる位置を示す位置情報を取得する取得ステップと、取得された位置情報を基に、第３の記録領域に記録されている第２のデータの読み出しを制御する読み出し制御ステップとを実行させることを特徴とする。
【００２７】
第１の本発明によれば、ファイル記録媒体の第１の記録領域において、第３の記録領域として確保されていない領域である第４の記録領域が検出され、第４の記録領域への所定の第３のデータの記録が制御される。
【００２８】
第２の本発明によれば、第３の記録領域が始まる位置を示す位置情報が取得され、取得された位置情報を基に、第３の記録領域に記録されている第２のデータの読み出しが制御される。
【発明の効果】
【００２９】
本発明によれば、所定のデータを記録することができる。特に、例えば、ハードディスクなどのファイル記録媒体において、ファイルシステムの管理対象外の記録領域を有効活用し、ファイルを記録するための記録領域を減少させることなく、所定のデータを記録することができる。
【発明を実施するための最良の形態】
【００３０】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００３１】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００３２】
本発明によれば、記録装置が提供される。この記録装置（例えば、図１のデジタルビデオカメラ１００）は、ファイル記録媒体（例えば、図２７のハードディスク５３０）の第１の記録領域（例えば、図２７のデータ領域５４５）に記録されている第１のデータを格納する第１のファイルに関係する第２のデータをファイル記録媒体の第２の記録領域（例えば、図２７のルートディレクトリエントリ領域５４４）に記録すると共に、第１の記録領域における記録単位である第３の記録領域（例えば、図２７のクラスタ５６１−１乃至５６１−ｎ）毎に第１のデータを記録する記録装置であって、ファイル記録媒体の第１の記録領域において、第３の記録領域として確保されていない領域である第４の記録領域（例えば、図２７の余り領域５６２）を検出する検出手段（例えば、図２６の余り領域検出部５０１）と、第４の記録領域への所定の第３のデータの記録を制御する記録制御手段（例えば、図２６のデータ書き込み部５０３）とを含む。
【００３３】
この記録装置は、検出手段が、第４の記録領域が始まる位置を示す位置情報を算出する（例えば、図２９のステップＳ４３４）ことによって、第４の記録領域を検出するようにすることができる。
【００３４】
この記録装置は、１つの空き領域をなす１または複数の第３の記録領域のうちの、先頭の第３の記録領域の位置を示す第１のアドレス情報（例えば、図１１の削除したファイルの先頭クラスタ番号Ａ1）と、ファイル記録媒体における最小の記録単位である第５の記録領域からなる第３の記録領域のそれぞれの第１のデータの配置を示すファイル配置情報（例えば、図１９の「FAT」３０２a）であって、第１のアドレス情報で位置が示される第３の記録領域についてのファイル配置情報を格納する第５の記録領域の位置を示す第２のアドレス情報（例えば、図１１の先頭クラスタ番号Ａ1のクラスタについてのエントリが記録されているセクタのアドレス）との記憶を制御する記憶制御手段（例えば、図３のリスト生成更新部２０２）と、記憶されている第２のアドレス情報を基に、ファイル記録媒体からのファイル配置情報の読み出しを制御する読み出し制御手段（例えば、図３のFAT読み出し手段２０１）とをさらに設け、記録制御手段（例えば、図３の記録制御部２０６）は、第１のアドレス情報および読み出されたファイル配置情報を基に、記録しようとするファイルの、空き領域への記録を制御するようにすることができる。
【００３５】
この記録装置は、記録制御手段が、記憶制御手段によって記憶される第１のアドレス情報および第２のアドレス情報が格納されるリスト（例えば、図３および図１１のページリスト２１１）を第３のデータとして記録するように記録を制御するようにすることができる。
【００３６】
この記録装置は、リストには、第１のアドレス情報および第２のアドレス情報に対応して、空き領域の記録容量を示す情報（例えば、図１１の“種別”）がさらに格納されているようにすることができる。
【００３７】
この記録装置は、それぞれの第１のファイル（例えば、図２２の動画像ファイル）に格納されている第１のデータを記録している第３の記録領域であるクラスタのうちの、最後のクラスタ（例えば、図２２のクラスタ４６１−２−ｎ）の中の第１のデータの記録に利用されていない領域であって、さらにデータを記録することが可能な記録可能領域（例えば、図２２の空き領域４６３−２）が始まる位置を算出する位置算出手段（例えば、図３の位置算出手段２０３）と、記録可能領域の記録容量を算出する記録容量算出手段（例えば、図３の記録容量算出部２０４）と最後のクラスタのアドレス（例えば、図２３のクラスタ番号４７１−１）と位置を示す情報（例えば、図２３のオフセット位置４７２−１）とを対応して格納するリスト（例えば、図３および図２３のオフセット情報リスト２１２）を生成する生成手段（例えば、図３のリスト生成更新部２０２）とをさらに設け、記録制御手段は、算出された位置および記録容量を基に、記録可能領域への、複数の第１のファイルに関係する第２のファイルのバックアップデータの記録を制御すると共に、リストを第３のデータとして記録するように、さらに記録を制御するようにすることができる。
【００３８】
本発明によれば、記録方法が提供される。この記録方法は、ファイル記録媒体（例えば、図２７のハードディスク５３０）の第１の記録領域（例えば、図２７のデータ領域５４５）に記録されている第１のデータを格納する第１のファイルに関係する第２のデータをファイル記録媒体の第２の記録領域（例えば、図２７のルートディレクトリエントリ領域５４４）に記録すると共に、第１の記録領域における記録単位である第３の記録領域（例えば、図２７のクラスタ５６１−１乃至５６１−ｎ）毎に第１のデータを記録する記録装置（例えば、図１のデジタルビデオカメラ１００）の記録方法であって、ファイル記録媒体の第１の記録領域において、第３の記録領域として確保されていない領域である第４の記録領域（例えば、図２７の余り領域５６２）を検出する検出ステップ（例えば、図２９のステップＳ４３１）と、第４の記録領域への所定の第３のデータの記録を制御する記録制御ステップ（例えば、図３０のステップＳ４５３）とを含む。
【００３９】
本発明によれば、プログラムが提供される。このプログラムは、ファイル記録媒体（例えば、図２７のハードディスク５３０）の第１の記録領域（例えば、図２７のデータ領域５４５）に記録されている第１のデータを格納する第１のファイルに関係する第２のデータをファイル記録媒体の第２の記録領域（例えば、図２７のルートディレクトリエントリ領域５４４）に記録すると共に、第１の記録領域における記録単位である第３の記録領域（例えば、図２７のクラスタ５６１−１乃至５６１−ｎ）毎に第１のデータを記録する記録処理をコンピュータに行わせるプログラムであって、ファイル記録媒体の第１の記録領域において、第３の記録領域として確保されていない領域である第４の記録領域（例えば、図２７の余り領域５６２）を検出する検出ステップ（例えば、図２９のステップＳ４３１）と、第４の記録領域への所定の第３のデータの記録を制御する記録制御ステップ（例えば、図３０のステップＳ４５３）とを実行させる。
【００４０】
このプログラムは、記録媒体（例えば、図１の磁気ディスク１４１）に記録することができる。
【００４１】
本発明によれば、読み出し装置が提供される。この読み出し装置（例えば、図１のデジタルビデオカメラ１００）は、ファイルに格納される第１のデータが記録される第１の記録領域（例えば、図２７のデータ領域５４５）のうちの、ファイルシステムにおけるファイル記録媒体（例えば、図２７のハードディスク５３０）の記録単位である第２の記録領域（例えば、図２７のクラスタ５６１−１乃至５６１−ｎ）として確保されていない領域である第３の記録領域（例えば、図２７の余り領域５６２）に記録された第２のデータをファイル記録媒体から読み出す読み出し装置において、第３の記録領域が始まる位置を示す位置情報を取得する取得手段（例えば、図２６のデータ書き込み部５０３）と、取得された位置情報を基に、第３の記録領域に記録されている第２のデータの読み出しを制御する読み出し制御手段（例えば、図２６のデータ読み出し部５０４）とを含む。
【００４２】
本発明によれば、プログラムが提供される。このプログラムは、ファイルに格納される第１のデータが記録される第１の記録領域（例えば、図２７のデータ領域５４５）のうちの、ファイルシステムにおけるファイル記録媒体（例えば、図２７のハードディスク５３０）の記録単位である第２の記録領域（例えば、図２７のクラスタ５６１−１乃至５６１−ｎ）として確保されていない領域である第３の記録領域（例えば、図２７の余り領域５６２）に記録された第２のデータをファイル記録媒体から読み出す読み出し処理をコンピュータに行わせるプログラムであって、第３の記録領域が始まる位置を示す位置情報を取得する取得ステップ（例えば、図３１のステップＳ４７２）と、取得された位置情報を基に、第３の記録領域に記録されている第２のデータの読み出しを制御する読み出し制御ステップ（例えば、図３１のステップＳ４７３）とを実行させる。
【００４３】
このプログラムは、記録媒体（例えば、図１の磁気ディスク１４１）に記録することができる。
【００４４】
以下に、本発明の実施の形態について図面を参照して説明する。
【００４５】
図１は、本発明が適用したデジタルビデオカメラ１００の構成例を示すブロック図である。
【００４６】
CPU（Central Processing Unit）１１１は、例えば、組込型の汎用マイクロプロセッサなどからなり、デジタルビデオカメラ１００の全体を制御する。CPU１１１には、ROM（Read Only Memory）１１２およびRAM（Random Access Memory）１１３が接続されている。例えば、CPU１１１は、ROM１１２に記憶されているプログラム、または、ハードディスクドライブ（以下、HDDと称する）１１４および後述するドライブ１２５に装着された磁気ディスク１４１、光ディスク１４２、光磁気ディスク１４３、および半導体メモリ１４４などからRAM１１３にロードしたプログラムを実行して、デジタルビデオカメラ１００の全体の動作を制御する。RAM１１３にはまた、CPU１１１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【００４７】
CPU１１１にはまた、カメラ機能部１１５および画像信号処理部１１６が接続されている。カメラ機能部１１５は、専用のIC(Integrated Circuit)などからなり、CPU１１１の制御を基に、光学レンズ部１１７を制御し、駆動する。例えば、カメラ機能部１１５は、CPU１１１の制御を基に、光学レンズ部１１７による被写体１５１の撮影動作を開始させたり、終了させたりする他、光学レンズ部１１７のズーム率、取り込む光量などを適宜制御する。
【００４８】
光学レンズ部１１７は、光学レンズおよび絞りなどからなり、被写体１５１の画像を光電変換部１１８（の受光部）に結像させる。
【００４９】
CCD（Charge Coupled Device）またはC-MOS（Complementary Metal-Oxide Semiconductor）センサなどの撮像素子により構成される光電変換部１１８は、光学レンズ部１１７によって結像された画像を電気信号に変換して、変換により生成したアナログの電気信号（被写体１５１の画像に対応する電気信号）を画像信号処理部１１６に供給する。画像信号処理部１１６は、CPU１１１の制御を基に、光電変換部１１８より供給された被写体１５１の画像に対応する電気信号に、所定の画像処理を適用する。
【００５０】
以下、電気信号を単に信号と称する。
【００５１】
具体的には、例えば、デジタルビデオカメラ１００の画像信号処理部１１６は、被写体１５１の画像に対応するアナログの信号を、A/D（Analog to Digital）変換して、デジタルの画像データとし、その画像データに対して、例えば、ホワイトバランスの調整、欠陥画素の補間などの画像処理を適用した後、必要に応じてMPEG（Moving Picture Experts Group）方式等で圧縮符号化する。
【００５２】
画像信号処理部１１６は、圧縮符号化した画像データをCPU１１１に供給する。
【００５３】
すなわち、画像信号処理部１１６は、光電変換部１１８より供給された被写体１５１の画像に対応する信号を、所定のフォーマットの画像データに変換させて、CPU１１１に供給する。
【００５４】
CPU１１１は、画像信号処理部１１６より供給された画像データを、HDD１１４またはドライブ１２５に装着されている磁気ディスク１４１、光ディスク１４２、光磁気ディスク１４３、および半導体メモリ１４４などに記録させる。
【００５５】
また、画像信号処理部１１６は、ホワイトバランスを調整し、または欠陥画素を補間した画像データを液晶ディスプレイ１１９および画像入出部１２０に供給する。より具体的には、画像信号処理部１１６は、画像データを、液晶ディスプレイ１１９の入力方式である、例えば、RGB（Red,Green,Blue）信号に変換して、RGB信号を液晶ディスプレイ１１９に供給する。液晶ディスプレイ１１９は、画像信号処理部１１６より供給された信号に対応する画像（例えば、被写体１５１の撮像により取得された画像）を表示させる。
【００５６】
同様に、例えば、画像信号処理部１１６は、RGB信号を画像入出部１２０に供給する。
【００５７】
さらに、画像信号処理部１１６は、CPU１１１を介して、HDD１１４および磁気ディスク１４１、光ディスク１４２、光磁気ディスク１４３、および半導体メモリ１４４に記録されている画像データを読み出して、読み出した画像データに対応する信号を液晶ディスプレイ１１９または画像入出力部１２０に供給する。
【００５８】
画像入出力部１２０は、例えばテレビジョン受像器などの外部の画像表示装置または画像記録再生装置などの機器に画像信号である信号を入力または出力するためのインタフェースである。
【００５９】
CPU１１１にはまた、音声処理部１２１が接続されている。音声処理部１２１は、CPU１１１から供給された、HDD１１４および磁気ディスク１４１、光ディスク１４２、光磁気ディスク１４３、および半導体メモリ１４４に記録され、読み出された音声データに対して、所定の音声処理を適用する。また、音声処理部１２１は、音声入出力部１２２から供給された音声信号または音声データに音声処理を適用する。
【００６０】
音声処理部１２１は、音声処理を適用した結果得られた音声データまたは音声信号をCPU１１１または音声入出力部１２２に供給する。
【００６１】
音声入出力部１２２は、マイクロフォン、スピーカ、および外部の機器とのインタフェースである。例えば、音声入出力部１２２は、音声処理部１２１より供給された電気信号を図示せぬテレビジョン受像器などの外部の機器に供給する。また、音声入出力部１２２は、図示せぬ機器から供給される音声信号を取得して、取得した音声信号を音声処理部１２１に供給する。
【００６２】
また、音声入出力部１２２は、例えば、光学レンズ部１１７や光電変換部１１８が被写体１５１を撮影している場合、その被写体１５１自身またはその周辺で発生された音声を取得し、音声信号に変換して音声処理部１２１に供給する。
【００６３】
音声信号処理部１２１は、音声入出力部１２２から供給された音声信号に、所定の音声処理を行い、所定の音声処理を行った音声データをCPU１１１の制御の基、HDD１１４および磁気ディスク１４１、光ディスク１４２、光磁気ディスク１４３、および半導体メモリ１４４に供給し、記録させる。
【００６４】
CPU１１１にはさらにまた、操作入力部１２３、および通信部１２４が接続されている。
【００６５】
操作入力部１２３は、ボタン、スイッチ、もしくはリモートコントローラなどにより構成され、ユーザにより、所定の指令に対応する操作入力が行われた場合、その操作入力に対応する信号をCPU１１１に供給する。CPU１１１は、操作入力部１２３より供給された信号に対応する処理を実行する。
【００６６】
通信部１２４は、CPU１１１の制御を基に、図示せぬ他の情報処理装置との通信処理を実行する。すなわち、通信部１２４は、画像信号処理部１１６より出力された画像データ等の様々な情報を他の情報処理装置に送信するとともに、他の情報処理装置より送信された画像データ、またはプログラム等の様々な情報を受信する。例えば、通信部１２４が画像データを受信した場合、CPU１１１は、それをRAM１１３やドライブ１２５に装着された磁気ディスク１４１、光ディスク１４２、光磁気ディスク１４３、および半導体メモリ１４４に記憶させる。また、例えば、通信部１２４がプログラムを受信した場合、CPU１１１は、それをRAM１１３にロードする。
【００６７】
なお、通信部１２４は、無線または有線による通信を行うものでもよいし、無線と有線の両方の通信が可能なものでもよい。さらに、その通信方式も特に限定されず、例えば、無線の場合、IEEE(The Institute of Electrical and Electronic Engineers)802.11a，802.11b、および802.11gなどの無線LAN（Local Area Network）、またはBluetooth等様々な無線通信方式が利用可能である。同様に、有線の場合も、Ethernet（登録商標）やUSB（Universal Serial Bus）等様々な有線通信方式が利用可能である。
【００６８】
ドライブ１２５は、CPU１１１の制御を基に、装着されている磁気ディスク１４１、光ディスク１４２、光磁気ディスク１４３、および半導体メモリ１４４に記録されているプログラムまたはデータを読み出し、読み出したプログラムまたはデータをCPU１１１に供給する。また、CPU１１１より供給されたデータを、ドライブ１２５に装着される磁気ディスク１４１、光ディスク１４２、光磁気ディスク１４３、および半導体メモリ１４４に記録させる。
【００６９】
電源１２６は、デジタルビデオカメラ１００の各部に必要な電力を供給する。
【００７０】
図２は、CPU１１１により実行されるアプリケーションプログラム１７１、オペレーティングシステム（以下、OSと称する）１７２、およびハードディスク１７３の関係を示す図である。OS１７２には、ファイルシステム１８１およびデバイスドライバ１８２を含む。
【００７１】
アプリケーションプログラム１７１は、各種の処理を実行して、ファイルの記録およびファイルの読み出しをオペレーティングシステム１７２に要求する。オペレーティングシステム１７２は、いわゆる基本プログラムであり、例えば、デジタルビデオカメラ１００のハードウェアなどのリソースの取り扱いを制御する。
【００７２】
ハードディスク１７３は、HDD１１４に内蔵されている磁気ディスクである記録媒体である。
【００７３】
ファイルシステム１８１は、例えば、FATファイルシステム（FAT32）であり、クラスタの連鎖情報を保持し、ハードディスク１７３に記録されているデータを管理する。デバイスドライバ１８２は、HDD１１４の動作に必要な情報をOS１７２に供給し、ハードディスク１７３へのデータの記録またはハードディスク１７３に記録されているデータの読み出しなど、HDD１１４の動作を制御する。
【００７４】
アプリケーションプログラム１７１は、OS１７２のファイルシステム１８１に対して、ファイル単位（レベル）でのアクセス（読み出しまたは書き込み）を要求（指示）する。ファイルシステム１８１は、アプリケーションプログラム１７１からファイルへのアクセスが要求された場合、デバイスドライバ１８２に対して、ファイルの実データが記録されているクラスタ単位のアクセスを要求する。デバイスドライバ１８２は、ファイルシステム１８１からクラスタ単位のアクセスが要求された場合、HDD１１４に対して、セクタ（ハードディスク１７３の記録単位）単位のアクセスを要求する。このとき、ハードディスク１７３において、クラスタは、ファイルシステム１８１（FAT32）におけるデータを管理可能な最小単位であり、セクタのサイズ＝５１２バイトをｎ（ｎ＝１，２，４，・・・，６４，１２８）個集めた構成となる。
【００７５】
HDD１１４は、デバイスドライバ１８２からセクタ単位のアクセスが要求された場合、デバイスドライバ１８２に対し、セクタ単位でのアクセスの要求に対する応答を行う。例えば、HDD１１４は、デバイスドライバ１８２からセクタ単位の読み出しが要求された場合、セクタ毎に記録されているデータをデバイスドライバ１８２に供給する。
【００７６】
デバイスドライバ１８２は、ファイルシステム１８１に対し、クラスタ単位でのアクセスの要求に対する応答を行う。例えば、デバイスドライバ１８２は、ファイルシステム１８１に対し、クラスタ毎に記録されている実データをファイルシステム１８１に供給する。ファイルシステム１８１は、アプリケーションプログラム１７１に対して、ファイル単位でのアクセスの要求に対する応答を行う。例えば、ファイルシステム１８１は、ファイルをアプリケーションプログラム１７１に供給する。
【００７７】
図３は、ファイルシステム１８１のより詳細な構成を説明するブロック図である。ファイルシステム１８１には、空き領域管理プログラム１９１が含まれている。
【００７８】
空き領域管理プログラム１９１は、さらに、FAT読み出し部２０１、リスト生成更新部２０２、位置算出部２０３、記録容量算出部２０４、判定部２０５、記録制御部２０６、記録クラスタ検索部２０７、記録位置検出部２０８、記録位置算出部２０９、ページリスト２１１、およびオフセット情報リスト２１２を含む。
【００７９】
ページリスト２１１には、空いている領域の先頭に配置されているクラスタのアドレスと、このアドレスに対応する、図８を参照して後述するエントリ３２１が格納されているセクタのアドレスとが対応して格納されている。なお、ページリスト２１１の詳細は、図１１を参照して後述する。
【００８０】
オフセット情報リスト２１２は、オフセット情報として、バックアップデータが記録されるクラスタのクラスタ番号と、そのクラスタにおけるバックアップデータの記録が開始される位置（オフセット位置）とが対応して格納されている。なお、オフセット情報リスト２１２の詳細は、図２３を参照して後述する。
【００８１】
FAT読み出し部２０１は、記録容量算出部２０４より供給された記録容量およびページリスト２１１の空き領域情報を基に、空き領域を有するFATをページ単位で読み出す。FAT読み出し部２０１は、ページの空き領域を示す情報を記録容量算出部２０４に出力する。
【００８２】
リスト生成更新部２０２は、ページリスト２１１に格納されているFATの空き領域情報および記録制御部２０６より供給された格納状況の情報を基に、ページリスト２１１を生成するか、または更新する。リスト生成更新部２０２は、生成または更新したページリスト２１１を出力（格納）する。
【００８３】
記録容量算出部２０４は、FAT読み出し部２０１より供給された空き領域を示す情報を基に、空き領域の記録容量を算出する処理を実行し、算出した記録容量を判定部２０５に出力する。
【００８４】
判定部２０５は、記録容量算出部２０４より供給された記録容量が、記録されるファイルのデータ量より大きいか否かを判定する処理を実行し、判定結果をFAT読み出し部２０１および記録制御部２０６に出力する。
【００８５】
記録制御部２０６は、判定部２０５より供給された判定結果を基に、ファイルの記録を制御する。記録制御部２０６は、FATにおけるクラスタ番号の格納状況をリスト生成更新部２０２に出力する。
【００８６】
また、リスト生成更新部２０２は、判定部２０５より供給された判定結果、および記録制御部２０６より供給された記録状況を基に、オフセット情報リスト２１２を生成または更新する処理を実行し、バックアップデータを記録するクラスタを示す情報を位置算出部２０３および記録制御部２０６に出力する。
【００８７】
位置算出部２０３は、リスト生成更新部２０２より供給されたクラスタを示す情報を基に、バックアップデータを記録しようとするクラスタにおける空き領域が開始される位置を算出し、算出した位置を示す情報（オフセット位置）をリスト生成更新部２０２および記録容量算出部２０４に出力する。
【００８８】
記録容量算出部２０４は、位置算出部２０３より供給された情報を基に、バックアップデータを記録しようとするクラスタにおける、空き領域の記録容量を算出し、算出した記録容量を判定部２０５に出力する。
【００８９】
判定部２０５は、記録容量算出部２０４より供給された記録容量が、バックアップデータのデータ量より大きいか否かを判定し、その判定結果をリスト生成更新部２０２に出力する。
【００９０】
記録制御部２０６は、リスト生成更新部２０２より供給されたクラスタを示す情報を基に、HDD１１４を制御し、所定のクラスタにバックアップデータを記録し、バックアップデータの記録状況をリスト生成更新部２０２に出力する。
【００９１】
記録クラスタ検索部２０７は、記録制御部２０６より供給された出力状況を示す情報を基に、バックアップデータが記録されているクラスタを予備のFAT領域から検索し、検索結果を記録位置検出部２０８に出力する。
【００９２】
記録位置検出部２０８は、記録クラスタ検索部２０７より供給された検索結果を基に、バックアップデータが記録されているクラスタにおいて、バックアップデータの記録が開始されている位置（境界）（オフセット位置）を、オフセット情報リスト２１２から検出する。記録位置検出部２０８は、検出したオフセット位置を記録制御部２０６に供給する。また、記録位置検出部２０８は、オフセット位置を検出することができなかった場合、オフセット位置を検出することができなかったことを示す情報を記録位置算出部２０９に出力する。
【００９３】
記録位置算出部２０９は、記録位置検出部２０８より供給された情報を基に、オフセット情報リスト２１２のオフセット情報を利用せずに、バックアップデータが記録されているクラスタに対するオフセット位置を算出し、算出したオフセット位置を記録制御部２０６に出力する。
【００９４】
記録制御部２０６は、記録位置検出部２０８または記録位置算出部２０９より供給されたオフセット位置を基に、所定のクラスタからバックアップデータを読み出す（出力）する処理を実行し、出力状況を示す情報を記録クラスタ検索部２０７に供給する。
【００９５】
次に、図４乃至図９を参照して、FAT方式によりフォーマットされているハードディスク１７３について説明する。
【００９６】
図４は、MBR(Master Boot Record)およびパーティションを説明する図である。ハードディスク１７３の先頭のセクタ２２１(LBA(Logical Block Addressing)＝0のセクタ)は、デジタルビデオカメラ１００を起動させる場合、ハードディスク１７３に記録されているオペレーティングシステム１７２を実行させるためのMBR２３１とされる。
【００９７】
MBR２３１には、いわゆる、アクティブであるパーティションを示すコードなどを含む起動コード領域２５１、並びに各パーティションの先頭のLBA（図中の矢印で示す位置）および各パーティションのサイズなどを示すパーティションテーブル２５２が配置される。
【００９８】
先頭セクタ２２１に続いて、所定の数のセクタからなる空き領域２２２が配置される。
【００９９】
さらに、空き領域２２２に続いて、ファイルなどが記録されるデータ領域２２３が配置される。データ領域２２３は、最大で４個のパーティション（パーティション２４１乃至パーティション２４４）に区分可能とされている。
【０１００】
なお、以下、パーティションテーブル２５２に、１つのパーティション（パーティション２４１のみ）が登録されたハードディスク１７３、すなわち、データ領域２２３が、１つのパーティション（パーティション２４１）のみから構成されるハードディスク１７３を例に説明する。
【０１０１】
図５に示されるように、MBR２３１である５１２バイトからなる先頭クラスタには、４４６バイトの起動コード領域２５１、６４バイトのパーティションテーブル２５２、および２バイトの情報２６１が配置される。起動コード領域２５１は、クラスタの先頭の０バイト目から始まる４４５バイト目までの領域であり、アクティブなパーティションから起動用のプログラムを読み込むためのマスタブートコード（Master Boot Code(Initial Program Loaderとも呼ばれる)）が記録されている。４４６バイト目から始まる６４バイト分の領域からなるパーティションテーブル２５２、および最後の２バイトの情報２６１から構成されている。
【０１０２】
パーティションテーブル２５２は、クラスタの先頭から４４６バイト目から始まり、個々のパーティションに対応するパーティション情報（パーティションの開始アドレスとサイズ）を記録する。すなわち、例えば、１個のパーティションが登録されている場合、図６に示されるように、１６バイトのパーティション情報（パーティションテーブル２５２のエントリ）２７１が、パーティションテーブル２５２に保存される。具体的には、パーティション情報２７１には、先頭から順に、１バイトのフラグ２８１，３バイトの開始セクタ（CHS（Cylinder/Head/Sector））２８２，１バイトのタイプ２８３，３バイトの終了セクタ（CHS）２８４，４バイトの開始セクタ（LBA）２８５、および４バイトのパーティションサイズ２８６が格納されている。
【０１０３】
フラグ２８１は、パーティションがアクティブであるか否かを示す、いわゆる起動フラグである。例えば、“00h”であるフラグ２８１は、そのパーティションがノンアクティブである（いわゆる起動パーティションでない）ことを示し、“80h”であるフラグ２８１は、そのパーティションがアクティブである（いわゆる起動パーティションである）ことを示す。なお、“00h”や“80h”の「h（hexadecimal number）」は、“00”や“80”が１６進数で表現されていることを示している。以下、同様に、「h」が付加されている値は、１６進数で表現されていることを示す。
【０１０４】
開始セクタ２８２は、シリンダ／ヘッド／セクタという３つのパラメータで、パーティションの先頭のセクタのアドレスを示す。タイプ２８３は、そのパーティションがフォーマットされているファイルシステムの方式を示す。例えば、“80h”であるタイプ２８３は、FAT32であることを示す。
【０１０５】
終了セクタ２８４は、シリンダ／ヘッド／セクタという３つのパラメータで、パーティションの最後のセクタのアドレスを示す。開始セクタ２８５は、LBAによる、パーティションの先頭のセクタのアドレスを示す。パーティションサイズ２８６は、パーティションに含まれるセクタの総数を示す。
【０１０６】
MBR２３１の最後の２バイトの情報２６１、すなわち「55h」、および「AAh」は、パーティションテーブル２５２の終端を示す情報である。
【０１０７】
次に、図７を参照して、データ領域２２３のパーティション２４１の詳細な構成例について説明する。図７に示されるように、パーティション２４１は、BPB（BIOS（Basic Input Output System） Parameter Block）３０１，FAT領域３０２，FAT領域３０３、およびデータ領域３０４から構成されている。
【０１０８】
BPB３０１には、パーティション２４１における１クラスタあたりのセクタ数など、パーティション２４１の論理的な属性が記録されている。
【０１０９】
FAT領域３０２は、ハードディスク１７３に記録される実データのクラスタの配列が記録される領域であり、FAT領域３０３は、FAT領域３０２のバックアップなどのために利用されるFAT領域３０２の予備の領域である。
【０１１０】
データ領域３０４は、各ファイルのそれぞれのデータ（ディレクトリエントリや実データ）が実際に記録される領域である。
【０１１１】
図８は、FAT領域３０２に格納されている、FAT32であるFATの例を示す図である。なお、FAT32の詳細は、「Microsoft Extensible Firmware Initiative FAT32 File System Specification」に開示されている。図８において、上から２行目乃至５行目における、左から２列目乃至１７列目の個々の四角は、１つのエントリ３２１を示す。FAT32のエントリ３２１の中の数字は、次のFATエントリの番号を表している。なお、図８において、「00000000h」または「00000001h」のアドレスのエントリ３２１に格納されている「RSV」は、「00000000h」または「00000001h」のクラスタ番号のクラスタがWindows（登録商標）において使用される領域であることを示す。EOF(End Of File)は、ファイルの終点を表し、「−」は、「00000000h」を意味し、「未使用」を表している。
【０１１２】
図８で示されるFATの例において、４つのファイルが格納される実データが記録されているクラスタのアドレスが示されている。詳細は後述するが、ディレクトリエントリにおいて、先頭クラスタ番号として、「00000007h」が示されている場合、「00000007h」のアドレスのエントリ３２１には「00000008h」が格納され、「00000008h」のアドレスのエントリ３２１には「00000009h」が格納され、「00000009h」のアドレスのエントリ３２１には「EOF」が格納されているので、「00000007h」のクラスタ番号のクラスタ、「00000008h」のクラスタ番号のクラスタ、および「00000009h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「00000007h」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
【０１１３】
ディレクトリエントリにおいて、先頭クラスタ番号として、「0000000Ah」が示されている場合、「0000000Ah」のアドレスのエントリ３２１には「0000001Fh」が格納され、「0000001Fh」のアドレスのエントリ３２１には「00000025h」が格納され、「00000025h」のアドレスのエントリ３２１には「00000031h」が格納され、「00000031h」のアドレスのエントリ３２１には「00000030h」が格納され、「00000030h」のアドレスのエントリ３２１には「EOF」が格納されているので、「0000000Ah」のクラスタ番号のクラスタ、「0000001Fh」のクラスタ番号のクラスタ、「00000025h」のクラスタ番号のクラスタ、「00000031h」のクラスタ番号のクラスタ、および「00000030h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000000Ah」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
【０１１４】
ディレクトリエントリにおいて、先頭クラスタ番号として、「0000001Bh」が示されている場合、「0000001Bh」のアドレスのエントリ３２１には「00000011h」が格納され、「00000011h」のアドレスのエントリ３２１には「00000012h」が格納され、「00000012h」のアドレスのエントリ３２１には「00000013h」が格納され、「00000013h」のアドレスのエントリ３２１には「00000014h」が格納され、「00000014h」のアドレスのエントリ３２１には「00000003h」が格納され、「00000003h」のアドレスのエントリ３２１には、「EOF」が格納されているので、「0000001Bh」のクラスタ番号のクラスタ、「00000011h」のクラスタ番号のクラスタ、「00000012h」のクラスタ番号のクラスタ、「00000013h」のクラスタ番号のクラスタ、「00000014h」のクラスタ番号のクラスタ、および「00000003h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000001Bh」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
【０１１５】
さらに、また、ディレクトリエントリにおいて、先頭クラスタ番号として、「0000002Ch」が示されている場合、「0000002Ch」のアドレスのエントリ３２１には「0000002Dh」が格納され、「0000002Dh」のアドレスのエントリ３２１には「0000002Eh」が格納され、「0000002Eh」のアドレスのエントリ３２１には「0000002Fh」が格納され、「0000002Fh」のアドレスのエントリ３２１には「00000038h」が格納され、「00000038h」のアドレスのエントリ３２１には「00000039h」が格納され、「00000039h」のアドレスのエントリ３２１には、「0000003Ah」が格納され、「0000003Ah」のアドレスのエントリ３２１には「0000003Bh」が格納され、「0000003Bh」のアドレスのエントリ３２１には「EOF」が格納されているので、「0000002Ch」のクラスタ番号のクラスタ、「0000002Dh」のクラスタ番号のクラスタ、「0000002Eh」のクラスタ番号のクラスタ、「0000002Fh」のクラスタ番号のクラスタ、「00000038h」のクラスタ番号のクラスタ、「00000039h」のクラスタ番号のクラスタ、「0000003Ah」のクラスタ番号のクラスタ、および「0000003Bh」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000002Ch」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
【０１１６】
図９は、FAT32におけるファイルに関係するディレクトリエントリの構造の例を示す図である。なお、図中の０乃至１Ｆは、０を始点としてディレクトリエントリにおけるバイト数を表わす１６進数である。なお、ディレクトリエントリにおけるバイト数を、１を始点とする１０進数で表わした場合、０乃至１Ｆは、それぞれ、１乃至３２で表わされる。
【０１１７】
ディレクトリエントリの先頭に配置される、７バイトの名前３３１は、ファイル名を示す。名前３３１に続く、３バイトの拡張名３３２は、いわゆる、ファイルの拡張子（例えば、MPEG2（Moving Picture Experts Group phase 2）フォーマットの場合は「mpg」、MP3（MPEG Audio Layer-3）フォーマットの場合は「mp3」)を示す。また、拡張名３３２に続く、１バイトの属性３３３は、ファイルの属性を示す。ファイルの属性は、例えば、読み取り専用ファイルまたは隠しファイルなどを示す。属性３３３に続く、１バイトの予約領域３３４は、未使用の領域である。
【０１１８】
予約領域３３４に続く、３バイトの作成時刻３３５は、ファイルが作成された時刻を示す。作成時刻３３５に続く、２バイトの作成日付３３６は、ファイルが作成された日付を示す。作成日付３３６に続く、２バイトの最終アクセス日付３３７は、ファイルにアクセスされた最終の日付を示す。
【０１１９】
先頭クラスタの番号(位置)は、先頭クラスタの番号の上位を示す２バイトの先頭クラスタ番号(High)３３８と、先頭クラスタの番号の下位を示す２バイトの先頭クラスタ番号（Low）３４１とに、分けて配置される。すなわち、先頭クラスタの番号（位置）は、３２ビットで示される。そのファイルのサイズは、４バイトのファイルサイズ３４２に記憶される。
【０１２０】
２バイトの記録時刻３３９は、ファイルが記録された時刻、すなわち、ファイルが最後に更新された時刻（最後に書き込まれた時刻）を示す。２バイトの記録日付３４０は、ファイルが記録された日付、すなわち、ファイルが最後に更新された日付（最後に書き込まれた日付）を示す。
【０１２１】
ディレクトリエントリにおいて、最終アクセス日付３３７に続いて、先頭クラスタ番号（High）３３８、記録時刻３３９、記録日付３４０、先頭クラスタ番号（Low）３４１、およびファイルサイズ３４２が順に配置される。
【０１２２】
次に、図１０のフローチャートを参照して、オペレーティングシステム１７２を実行するデジタルビデオカメラ１００による、ページリスト２１１の作成の処理を説明する。なお、このページリスト２１１の作成の処理は、デジタルビデオカメラ１００が初めて起動される場合、またはハードディスク１７３のフォーマットがユーザによって指示された場合に開始される。
【０１２３】
ステップＳ３１において、OS１７２は、デジタルビデオカメラ１００のデータ記録方式を基に、ハードディスク１７３に対してフォーマットを実行する。
【０１２４】
ステップＳ３２において、リスト生成更新部２０２は、最終クラスタのクラスタ番号（以下、最終クラスタ番号とも称する）を読み出す。すなわち、BPB３０１内の「FSInfo」が格納されているセクタから、データ領域３０４における最終クラスタ番号が読み出される。なお、最終クラスタとは、ファイルに対応する実データが記録されたデータ領域３０４におけるクラスタの中で、最後に実データが記録されたクラスタをいう。なお、この場合、ハードディスク１７３にはファイル（実データ）がまだ記録されていないので、読み出される最終クラスタのクラスタ番号は、データ領域３０４の先頭のクラスタの１つ前のクラスタの番号である。
【０１２５】
さらに、リスト生成更新部２０２は、読み出した最終クラスタ番号に１を加算して、データ領域３０４の先頭のクラスタを示す先頭クラスタ番号を算出する。
【０１２６】
ステップＳ３３において、リスト生成更新部２０２は、最終クラスタ番号に１を足したクラスタ番号（最終クラスタ番号＋１）、すなわち先頭クラスタ番号のクラスタについてのエントリ３２１が記録されている、FAT領域３０２におけるセクタのアドレスを検出する。例えば、先頭クラスタ番号で示されるクラスタについてのエントリ３２１が記録されているセクタのアドレスは、LBAを基に検出される。
【０１２７】
ステップＳ３４において、リスト生成更新部２０２は、種別に「３」を設定する。詳細は後述するが、種別は、空き領域の記録容量の大きさを示す情報である。なお、ステップＳ３４において、デフォルト値としての「３」が種別に設定される。
【０１２８】
ステップＳ３５において、リスト生成更新部２０２は、ステップＳ３２の処理で読み出した最終クラスタ番号に１を加算して求めた空き領域の先頭クラスタ番号、ステップＳ３３の処理で検出したセクタのアドレス、およびステップＳ３４の処理で設定した種別を基に、ページリスト２１１を作成し、処理は終了する。作成されたページリスト２１１は、RAM１１３に保持される。
【０１２９】
ステップＳ３５の処理により、データ領域３０４の先頭のクラスタを示す先頭クラスタ番号、先頭クラスタ番号で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレス、および先頭クラスタ番号で示されるクラスタを先頭クラスタとする空き領域（データ領域３０４）の記録容量の大きさを示す種別を１組として含むページリスト２１１が作成される。
【０１３０】
後述するページリスト２１１の更新の処理によって、ページリスト２１１が更新される。
【０１３１】
図１１は、図１０のフローチャートで示される処理によって作成され、さらに更新されたページリスト２１１の例を示す図である。図１１で示されるページリスト２１１の例において、１つの空き領域に対して、先頭クラスタ番号とセクタのアドレスと種別とが１行に（図中の横方向に）、先頭クラスタ番号順に配置されている。以下、１つの空き領域に対する、先頭クラスタ番号とセクタのアドレスと種別とからなる情報の組を空き領域情報とも称する。
【０１３２】
図１１のページリスト２１１の例において、左側の列には、空き領域の先頭のクラスタ（のアドレス）を示す先頭クラスタ番号が配置され、左から２番目の列には、セクタのアドレス（LBA）が配置され、左から３番目の列には、種別が配置されている。
【０１３３】
例えば、種別には、０乃至３のうちのいずれか１つの値が設定される。より大きい種別の値は、空き領域の記録容量がより大きいことを示す。すなわち、“０”である種別で示される空き領域の記録容量は、“１”である種別で示される空き領域の記録容量より小さく、“１”である種別で示される空き領域の記録容量は、“２”である種別で示される空き領域の記録容量より小さく、“２”である種別で示される空き領域の記録容量は、“３”である種別で示される空き領域の記録容量より小さい。
【０１３４】
図１１で示されるページリスト２１１における、先頭クラスタ番号は、空き領域の先頭のクラスタの位置を示す。図１１で示されるページリスト２１１における、セクタのアドレスは、先頭クラスタ番号で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレスを示す。また、図１１で示されるページリスト２１１における、種別は、先頭クラスタ番号で示されるクラスタを先頭クラスタとする空き領域の記録容量の大きさを示す。
【０１３５】
図１１のページリスト２１１の最も下の行には、データ領域３０４の後側に配置されている、まだファイルの記録に利用されていない空き領域についての、先頭クラスタ番号とセクタのアドレスと種別とが１行に（図中の横方向に）、先頭クラスタ番号順に配置されている。すなわち、図１１のページリスト２１１の最も下の行には、「使用済みクラスタ番号＋１」である先頭クラスタ番号、「使用済みクラスタ番号＋１」である先頭クラスタ番号で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレス、および「使用済みクラスタ番号＋１」以降のクラスタ番号のクラスタの空き領域の記録容量の大きさを示す「３」である種別が配置される。使用済みクラスタ番号は、データ領域３０４において、ファイルの実データが格納されたクラスタのアドレスのうち、最大のアドレスを示す。
【０１３６】
図１１のページリスト２１１の上から１行目乃至上からｎ行目には、先頭クラスタ番号順に、１つの空き領域毎に、その空き領域についての、先頭クラスタ番号とセクタのアドレスと種別とが１行に配置されている。例えば、図１１のページリスト２１１の上から１行目には、先頭クラスタ番号Ａ1乃至Ａnの中で最も小さい値である先頭クラスタ番号Ａ1、先頭クラスタ番号Ａ1で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレス、および先頭クラスタ番号Ａ1以降のクラスタの空き領域の記録容量の大きさを示す「２」である種別が配置される。図１１のページリスト２１１の上から２行目には、先頭クラスタ番号Ａ1の次に大きい値である先頭クラスタ番号Ａ2、先頭クラスタ番号Ａ2で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレス、および先頭クラスタ番号Ａ2以降のクラスタの空き領域の記録容量の大きさを示す「１」である種別が配置される。
【０１３７】
同様に、空き領域の先頭のクラスタのアドレスが先頭クラスタ番号Ａ3乃至Ａ(n-1)である空き領域について、１つの空き領域毎に、その空き領域についての、先頭クラスタ番号とセクタのアドレスと種別とが１行に配置される。
【０１３８】
そして、図１１のページリスト２１１の下から２行目には、先頭クラスタ番号Ａ1乃至Ａnの中で最も大きい値である先頭クラスタ番号Ａn、先頭クラスタ番号Ａnで示されるクラスタについてのエントリ３２１が格納されているセクタのアドレス、および先頭クラスタ番号Ａn以降のクラスタの空き領域の記録容量の大きさを示す「１」である種別が配置される。
【０１３９】
次に、図１２のフローチャートを参照してページリスト２１１の記録の処理を説明する。
【０１４０】
ステップＳ５１において、OS１７２は、操作入力部１２３からのユーザの操作に対応した信号を基に、デジタルビデオカメラ１００の停止（電源のオフ）が指示されたか否かを判定する。ステップＳ５１において、デジタルビデオカメラ１００の停止が指示されていないと判定された場合、ステップＳ５１に戻り、停止が指示されるまで判定の処理が繰り返される。
【０１４１】
ステップＳ５１において、デジタルビデオカメラ１００の停止が指示されたと判定された場合（電源がオフにされた場合）、ステップＳ５２に進み、記録制御部２０６は、図１０のステップＳ３５の処理により作成され、RAM１１３に保持されているページリスト２１１をハードディスク１７３に記録し、ページリスト２１１の記録の処理は終了する。
【０１４２】
なお、ハードディスク１７３における、ページリスト２１１の記録場所としては、例えば、図７で示されるBPB３０１とFAT領域３０２との間に、数セクタまたは数十セクタの領域を設けることが可能であるため、その領域（BPB３０１が記録されているセクタの次のセクタ以降のセクタ）にページリスト２１１が記録される。
【０１４３】
図１３のフローチャートを参照して、ハードディスク１７３に記録されているページリスト２１１の読み出しの処理を説明する。このページリスト２１１の読み出しの処理は、デジタルビデオカメラ１００が起動された場合、実行される。
【０１４４】
FAT読み出し部２０１は、ステップＳ６１において、ハードディスク１７３に記録されているページリスト２１１を読み出して、メモリであるRAM１１３に記憶させる。例えば、FAT読み出し部２０１は、ページリスト２１１が記録されている、予め決められている記録先のセクタにおける先頭のセクタへアクセスし、記録されているページリスト２１１を読み出す。
【０１４５】
すなわち、例えば、図７で示されるハードディスク１７３のパーティション２４１において、上述したように、BPB３０１とFAT領域３０２との間にページリスト２１１が記録されている場合、ステップＳ６１において、BPB３０１が記録されているセクタの次のセクタにアクセスされ、ページリスト２１１が読み出され、読み出されたページリスト２１１がRAM１１３に供給される。
【０１４６】
ステップＳ６３において、FAT読み出し部２０１は、ページリスト２１１に格納されている空き領域情報の数を求めて、処理は終了する。
【０１４７】
ここで、図１４のフローチャートを参照して、ページリスト２１１の更新の処理を説明する。この処理は、ユーザによって、ファイルの削除または記録が指示された場合に開始される。
【０１４８】
ステップＳ８１において、OS１７２は、ユーザの操作に対応した操作入力部１２３からの信号を基に、ファイルの削除が指示されたか否かを判定する。ステップＳ８１において、ファイルの削除が指示されたと判定された場合、ステップＳ８２に進み、リスト生成更新部２０２は、削除されるファイルのディレクトリエントリから先頭のクラスタの番号を読み出す。すなわち、図９で示されるディレクトリエントリの先頭クラスタ番号（High）３３８および先頭クラスタ番号（Low）３４１が読み出される。
【０１４９】
ステップＳ８３において、リスト生成更新部２０２は、FAT領域３０２において、ステップＳ８２の処理により読み出されたファイルの先頭のクラスタの番号で示されるクラスタについてのエントリ３２１が記録されている、セクタのアドレス（例えば、LBAに基づく、セクタのアドレス（番号））を検出する。
【０１５０】
ステップＳ８４において、リスト生成更新部２０２は、データ領域３０４において、ファイルを削除することによりできる（空く）、空き領域のクラスタの数を算出する。図７で示されるデータ領域３０４において、削除の対象とされているファイルの実データが記録されているクラスタの数が算出される。
【０１５１】
ステップＳ８５において、空き領域の記録容量に対する、種別の設定の処理が実行される。この種別の設定の処理は、図１５のフローチャートを参照して後述するが、この処理により、種別が設定される。例えば、削除されるファイルの実データが記録されているクラスタの数を基に、そのクラスタの数の大きさ、すなわち、ファイルを削除することによって生じる空き領域の記録容量の大きさを識別するための種別（を示す符号）が設定される。
【０１５２】
ステップＳ８６において、リスト生成更新部２０２は、ページリスト２１１に、ステップＳ８２の処理により読み出された先頭クラスタ番号、ステップＳ８３の処理により検出されたセクタのアドレス（番号）、およびステップＳ８５の処理により設定された種別（空き領域情報）を記録する。
【０１５３】
なお、種別は、削除されたファイル（データ）の種類に応じて、例えば、動画像ファイル、静止画像ファイル、および音声ファイルなどのファイルの種類に応じて設定されるようにしてもよい。
【０１５４】
ステップＳ８７において、記録制御部２０６は、ファイルを削除し、ページリスト２１１の更新の処理は終了する。すなわち、削除が指示されたファイルのディレクトリエントリが削除され、処理は終了する。
【０１５５】
一方、ステップＳ８１において、ファイルの削除が指示されていないと判定された場合、すなわち、ファイルの記録が指示された場合、手続きは、ステップＳ８８に進み、ファイルのデータ量に対する閾値の設定の処理が実行される。その詳細は、図１６のフローチャートを参照して後述するが、この処理により、記録されるファイルのデータ量に応じた閾値が設定される。
【０１５６】
ステップＳ８８の処理の後、手続きは、ステップＳ８９に進み、ステップＳ８８の処理で設定された閾値を使用した、ファイルの記録の処理が実行され、処理は終了する。このファイルの記録の処理は、図１７および図１８のフローチャートを参照して後述するが、この処理により、ファイルがハードディスク１７３に記録される。
【０１５７】
なお、ファイルの移動は、移動されるファイルのコピーであるファイルが記録されてから、元のファイルが削除されるので、ファイルを移動した場合、ステップＳ８２乃至ステップＳ８６の処理が実行され、移動されるファイルに対応した空き領域情報がページリスト２１１に格納される。
【０１５８】
図１５のフローチャートを参照して、図１４のステップＳ８５に対応する、空き領域の記録容量に対する種別の設定の処理を説明する。なお、ステップＳ１０１、ステップＳ１０３、およびステップＳ１０５のそれぞれの処理で使用される閾値ＴＨａ、閾値ＴＨｂ、および閾値ＴＨｃは、閾値ＴＨａ＞閾値ＴＨｂ＞閾値ＴＨｃの関係を満たす。
【０１５９】
ステップＳ１０１において、リスト生成更新部２０２は、図１４のステップＳ８４の処理で算出したクラスタの数が、予め定められた閾値ＴＨａ以上であるか否かを判定する。ステップＳ１０１において、クラスタの数が、閾値ＴＨａ以上であると判定された場合、ステップＳ１０２に進み、リスト生成更新部２０２は、種別に「３」を設定し、処理は終了する。
【０１６０】
ステップＳ１０１において、クラスタの数が、閾値ＴＨａ以上ではない（閾値ＴＨａ未満である）と判定された場合、ステップＳ１０３に進み、リスト生成更新部２０２は、クラスタの数が、予め定められた閾値ＴＨｂ以上であるか否かを判定する。ステップＳ１０３において、クラスタの数が、閾値ＴＨｂ以上であると判定された場合、ステップＳ１０４に進み、リスト生成更新部２０２は、種別に「２」を設定し、処理は終了する。
【０１６１】
ステップＳ１０３において、クラスタの数が、閾値ＴＨｂ以上ではない（閾値ＴＨｂ未満である）と判定された場合、ステップＳ１０５に進み、リスト生成更新部２０２は、クラスタの数が、予め定められた閾値ＴＨｃ以上であるか否かを判定する。ステップＳ１０５において、クラスタの数が、閾値ＴＨｃ以上であると判定された場合、ステップＳ１０６に進み、リスト生成更新部２０２は、種別に「１」を設定し、処理は終了する。
【０１６２】
ステップＳ１０５において、クラスタの数が、予め定められた閾値ＴＨｃ以上ではない（閾値ＴＨｃ未満である）と判定された場合、ステップＳ１０７に進み、リスト生成更新部２０２は、種別に「０」を設定し、処理は終了する。
【０１６３】
以上の処理により、削除されるファイルに対し、ファイルの実データが記録されているクラスタの数が大きい順（ファイルが削除されることによって生成される空き領域の記録容量が大きい順）に、種別に「３」，「２」，「１」、または「０」が設定される。
【０１６４】
次に、図１６のフローチャートを参照して、図１４のステップＳ８８に対応する、閾値の設定の処理を説明する。なお、ステップＳ１２１、ステップＳ１２３、およびステップＳ１２５のそれぞれの処理で使用される閾値ＴＨｄ、閾値ＴＨｅ、および閾値ＴＨｆは、閾値ＴＨｄ＞閾値ＴＨｅ＞閾値ＴＨｆの関係を満たす。また、閾値ＴＨｄ、閾値ＴＨｅ、および閾値ＴＨｆのそれぞれは、閾値ＴＨａ、閾値ＴＨｂ、および閾値ＴＨｃのそれぞれに対応する値である。例えば、閾値ＴＨｄは、閾値ＴＨａに、１つのクラスタの記録容量を掛け算した値とすることができる。同様に、閾値ＴＨｅは、閾値ＴＨｂに、１つのクラスタの記録容量を掛け算した値とすることができ、閾値ＴＨｆは、閾値ＴＨｃに、１つのクラスタの記録容量を掛け算した値とすることができる。
【０１６５】
ステップＳ１２１において、リスト生成更新部２０２は、記録されるファイルのデータ量が、予め定められた閾値ＴＨｄ以上であるか否かを判定する。ステップＳ１２１において、データ量が、閾値ＴＨｄ以上であると判定された場合、ステップＳ１２２に進み、リスト生成更新部２０２は、閾値に「３」を設定して、処理は終了する。
【０１６６】
ステップＳ１２１において、データ量が、予め定められた閾値ＴＨｄ以上ではない（閾値ＴＨｄ未満である）と判定された場合、ステップＳ１２３に進み、リスト生成更新部２０２は、データ量が、閾値ＴＨｅ以上であるか否かを判定する。ステップＳ１２３において、データ量が、閾値ＴＨｅ以上であると判定された場合、ステップＳ１２４に進み、リスト生成更新部２０２は、閾値に「２」を設定して、処理は終了する。
【０１６７】
ステップＳ１２３において、データ量が、閾値ＴＨｅ以上ではない（閾値ＴＨｅ未満である）と判定された場合、ステップＳ１２５に進み、リスト生成更新部２０２は、データ量が、予め定められた閾値ＴＨｆ以上であるか否かを判定する。ステップＳ１２５において、データ量が、閾値ＴＨｆ以上であると判定された場合、ステップＳ１２６に進み、リスト生成更新部２０２は、閾値に「１」を設定して、処理は終了する。
【０１６８】
ステップＳ１２５において、データ量が、予め定められた閾値ＴＨｆ以上ではない（閾値ＴＨｆ未満である）と判定された場合、ステップＳ１２７に進み、リスト生成更新部２０２は、閾値に「０」を設定して、処理は終了する。
【０１６９】
以上の処理により、記録しようとするファイルに対し、ファイルのデータ量が大きい順に、閾値に「３」，「２」，「１」、または「０」が設定される。
【０１７０】
次に、図１７および図１８のフローチャートを参照して、図１４のステップＳ８９に対応する、ファイルの記録の処理を説明する。ステップＳ１４１において、FAT読み出し部２０１は、ページリスト２１１から、最初の空き領域情報を読み出す。例えば、図１１で示される、先頭クラスタ番号Ａ1、先頭クラスタ番号Ａ1で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレス、および先頭クラスタ番号Ａ1以降のクラスタの空き領域の記録容量の大きさ示す「２」である種別からなる空き領域情報が読み出される。
【０１７１】
ステップＳ１４２において、FAT読み出し部２０１は、ステップＳ１４１の処理において読み出された空き領域情報の種別が、図１４のステップＳ８８の処理において設定された閾値以上であるか否かが判定される。ステップＳ１４１の処理で読み出された“種別”が「２」である場合、ステップＳ８８の処理により設定された閾値が「２」以上であるか否かが判定される。
【０１７２】
ステップＳ１４２において、空き領域の種別は、設定された閾値以上であると判定された場合、空き領域情報で示される空き領域にファイルを記録できる可能性があるので、ステップＳ１４３に進み、FAT読み出し部２０１は、空き領域情報のセクタのアドレスを基に、読み出そうとするFATのページの先頭のセクタのアドレスを決定する。例えば、FAT読み出し部２０１は、読み出そうとするFATのページの先頭のセクタのアドレスを、先頭クラスタ番号Ａ1で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレスに決定する。
【０１７３】
ステップＳ１４４において、FAT読み出し部２０１は、ステップＳ１４３の処理において決定したセクタのアドレスを基に、FAT領域３０２から１ページ分のFATを読み出して、メモリに記憶させる。例えば、図１９で示されるように、図７のFAT領域３０２に配置される「FAT」３０２aのページＰ1-1がRAM１１３に読み出される。
【０１７４】
図１９は、「FAT」３０２ａにおける、ページングを説明する図である。図１９において、１つの四角は、１つのエントリ３２１を示す。図１９において、白い四角は、対応するクラスタが空きであることを示すエントリ３２１を表す。斜線が付されている四角は、対応するクラスタにファイルが記録されていることを示すエントリ３２１を表す。
【０１７５】
また、「FAT」３０２ａに対するページングにおいては、例えば、図７で示される、ハードディスク１７３のパーティション２４１が１８．６ギガバイト（＝３９，０５３，９５２セクタ）であり、クラスタのサイズが３２キロバイト（＝６４セクタ）である場合、FAT領域３０２に配置される「FAT」３０２aのサイズは、約２．３メガバイト（＝４，７６７セクタ）とされる。なお、ここで１セクタは５１２バイトである。
【０１７６】
このとき、約２．３メガバイトの「FAT」３０２ａがページングされる場合、１つのページのサイズ（ページＰ1-1乃至Ｐ1-mのそれぞれのサイズ）が３２キロバイト（＝６４セクタ）とされる。ページＰ1-1乃至Ｐ1-mには、図１１に示される種別に対応した空き領域に対応するエントリ３２１が配置される。例えば、図１１の上から１行目の空き領域情報における、先頭クラスタ番号Ａ1で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレスで示されるセクタには、図１９で示されるように、閾値ＴＨｂ以上の数の連続しているエントリ３２１であって、空きであることを示すエントリ３２１が配置される。
【０１７７】
例えば、ステップＳ１４４において、図１９で示されるように、閾値ＴＨｂ以上の数の連続している、空きを示すエントリ３２１を含むページＰ1-1がFAT領域３０２から１ページ分のFATが読み出される。
【０１７８】
同様に、図１１の上から２行目の空き領域情報における、先頭クラスタ番号Ａ2で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレスで示されるセクタには、図１９で示されるように、閾値ＴＨｃ以上の数の連続しているエントリ３２１であって、空きであることを示すエントリ３２１が配置される。また、図１１の上からｍ行目の空き領域情報における、先頭クラスタ番号Ａmで示されるクラスタについてのエントリ３２１が格納されているセクタのアドレスで示されるセクタには、図１９で示されるように、閾値ＴＨａ以上の数の連続しているエントリ３２１であって、空きであることを示すエントリ３２１が配置される。
【０１７９】
ステップＳ１４５において、記録容量算出部２０４は、ステップＳ１４４の処理で読み出されたページを基に、データ領域３０４における空き領域の記録容量を求める。例えば、図１９で示されるページＰ1-1の連続している、空きを示すエントリ３２１の数に、クラスタあたりの記録容量を掛け算することにより、空き領域の記録容量が求められる（算出される）。
【０１８０】
ステップＳ１４６において、判定部２０５は、ステップＳ１４５の処理により求められた空き領域の記録容量が、記録しようとするファイルのデータ量以上であるか否かを判定する。例えば、判定部２０５は、バイト数で表される、記録しようとするファイルのデータ量と、バイト数で表される空き領域の記録容量を比較することにより、空き領域の記録容量が、記録しようとするファイルのデータ量以上であるか否かを判定する。なお、判定部２０５は、記録しようとするファイルのデータ量をクラスタの数に換算して、ファイルの記録に必要なクラスタの数と、空き領域のクラスタの数とを比較することにより、空き領域の記録容量が、記録しようとするファイルのデータ量以上であるか否かを判定するようにしてもよい。
【０１８１】
ステップＳ１４６において、空き領域の記録容量が、記録されるファイルのデータ量以上であると判定された場合、ステップＳ１４７に進み、記録制御部２０６は、空き領域情報に含まれる先頭クラスタ番号を基に、データ領域３０４における、ファイルの実データを記録するクラスタを決定する。例えば、図１１で示される先頭クラスタ番号Ａ1が先頭のクラスタとされ、これに続くクラスタが実データを記録するクラスタとされる。
【０１８２】
ステップＳ１４８において、記録制御部２０６は、ステップＳ１４７の処理で決定されたクラスタに、ファイルを記録する。ファイルが記録されると、FATが更新されるので、FAT読み出し部２０１は、更新されたFATから、ステップＳ１４４で読み出されたページと同じページを読み出す。
【０１８３】
ファイルを記録した後、ステップＳ１４９乃至ステップＳ１６０において、ファイルの記録に対応したページリスト２１１を更新する処理が実行される。
【０１８４】
すなわち、図１８のステップＳ１４９において、リスト生成更新部２０２は、ステップＳ１４８において、ファイルを記録する前の時点において、ファイルの実データが格納されたクラスタのアドレスのうち、最大のアドレスを示す使用済みクラスタ番号より、ファイルを記録した最終（最後）のクラスタである最終クラスタのクラスタ番号が大きいか否かを判定する。
【０１８５】
ステップＳ１４９において、使用済みクラスタ番号より、ファイルを記録した最終クラスタのクラスタ番号が大きくはないと判定された場合、ファイルが削除されることによって生じた空き領域にファイルが記録されたので、ステップＳ１５０に進み、リスト生成更新部２０２は、ファイルの記録に利用した、空き領域情報（ファイルが記録された空き領域に関係する空き領域情報）をページリスト２１１から削除する。例えば、図１１で示される、先頭クラスタ番号Ａ1、先頭クラスタ番号Ａ1で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレス、および先頭クラスタ番号Ａ1以降のクラスタの空き領域の記録容量の大きさを示す「２」である種別からなる空き領域情報をページリスト２１１から削除する。
【０１８６】
ステップＳ１５１において、リスト生成更新部２０２は、ステップＳ１４８の処理において更新されたFATからFAT読み出し部２０１により読み出されたページを基に、ファイルを書き込んだ空き領域にまだ空き領域がある（空き領域が残っている）か否かを判定する。
【０１８７】
ステップＳ１５１において、まだ空き領域があると判定された場合、ステップＳ１５２に進み、リスト生成更新部２０２は、更新されたFATからFAT読み出し部２０１により読み出されたページから、ステップＳ１４５の処理で記録容量が求められた空き領域と重複する空き領域の先頭のクラスタのアドレスを示す先頭クラスタ番号を読み出す。
【０１８８】
ステップＳ１５３において、リスト生成更新部２０２は、FAT領域３０２において、ステップＳ１５２の処理により読み出された先頭クラスタ番号で示されるクラスタについてのエントリ３２１が記録されている、セクタのアドレス（LBAに基づいたセクタのアドレス（番号））を検出する。
【０１８９】
ステップＳ１５４において、空き領域の記録容量に対する、種別の設定の処理が実行される。ステップＳ１５４における、空き領域の記録容量に対する、種別の設定の処理は、図１５のフローチャートを参照して説明した処理と同様なので、その説明は省略する。
【０１９０】
ステップＳ１５５において、リスト生成更新部２０２は、ページリスト２１１に、ステップＳ１５２の処理により読み出された先頭クラスタ番号、ステップＳ１５３の処理により検出されたセクタのアドレス（番号）、およびステップＳ１５４の処理により設定された種別（空き領域情報）を記録して、処理は終了する。
【０１９１】
また、ステップＳ１４４の処理で読み出されたページの次のページに空き領域がある場合、ステップＳ１５５の処理の後、ページにまたがった空き領域を検出し、その空き領域を１つの空き領域としてページリスト２１１の空き領域情報を更新するようにしてもよい。
【０１９２】
ステップＳ１５１において、もう空き領域がないと判定された場合、空き領域情報をページリスト２１１に加える必要はないので、ステップＳ１５２乃至ステップＳ１５５の処理はスキップされ、処理は終了する。
【０１９３】
ステップＳ１４９において、使用済みクラスタ番号より、ファイルを記録した最終クラスタのクラスタ番号が大きいと判定された場合、ステップＳ１５６に進み、リスト生成更新部２０２は、最終クラスタのクラスタ番号である最終クラスタ番号を読み出す。例えば、リスト生成更新部２０２は、BPB３０１内の「FSInfo」が格納されているセクタから、データ領域３０４における最終クラスタ番号を読み出す。
【０１９４】
ステップＳ１５７において、リスト生成更新部２０２は、FAT領域３０２において、最終クラスタ番号で示されるクラスタの次のクラスタについてのエントリ３２１が記録されている、セクタのアドレス（LBAに基づいたセクタのアドレス（番号））を検出する。
【０１９５】
ステップＳ１５８において、リスト生成更新部２０２は、最終クラスタ番号で示されるクラスタの次のクラスタからの空き領域についての、ページリスト２１１に格納されている空き領域情報を更新して、処理は終了する。
【０１９６】
一方、図１７のステップＳ１４２において、空き領域情報の種別は、設定した閾値以上ではないと判定された場合、またはステップＳ１４６において、空き領域の記録容量は、ファイルのデータ量以上ではない（データ量未満である）と判定された場合、ステップＳ１５９に進み、FAT読み出し部２０１は、ページリスト２１１から読み出された空き領域情報が最後の空き領域情報であるか否かを判定する。すなわち、ページリスト２１１から読み出された空き領域情報が、「使用済みクラスタ番号＋１」である先頭クラスタ番号、「使用済みクラスタ番号＋１」である先頭クラスタ番号で示されるクラスタについてのエントリ３２１が格納されているセクタのアドレス、および種別を含む空き領域情報であるか否かが判定される。
【０１９７】
ステップＳ１５９において、最後の空き領域情報ではないと判定された場合、ステップＳ１６０に進み、FAT読み出し部２０１は、ページリスト２１１から次の空き領域情報を読み出して、ステップＳ１４２に戻り、上述した処理が繰り返される。
【０１９８】
ステップＳ１５９において、最後の空き領域情報であると判定された場合、ファイルを記録することができる空き領域がなかったので、ファイルを記録しないので、処理は終了する。
【０１９９】
以上のように、FAT内の空き領域の情報をテーブル（ページリスト２１１）として、保持し、ページリスト内の情報を基に、FATのページングが行われるため、ページングの回数、すなわち、ハードディスクなどの記録媒体へのアクセスの回数を低減することができる。また、フラグメントを低減させることができる。さらに、ページリスト２１１は、FAT内の空き領域の情報を基に作成および更新されるため、空き領域が既に存在しないFATをページとして、メモリに読み出されることはない。これにより、ページングの回数が最小１回で済むことが可能となる。従って、ファイルシステムの処理までを含めた、データをハードディスクなどの記録媒体へ書き込む際の実質的な転送速度（またはアクセスタイム）を向上させることができる。
【０２００】
さらに、記録媒体へのアクセスの回数を低減できることにより、消費電力を低く抑えることができる。
【０２０１】
図２０のフローチャートを参照して、所定のファイルのバックアップデータを管理（記録、読み出し、および削除）する、バックアップデータの管理の処理を説明する。なお、バックアップデータの管理の処理は、デジタルビデオカメラ１００の起動と共に開始される。
【０２０２】
ステップＳ３０１において、OS１７２は、操作入力部１２３からの信号を基に、ファイルの記録が指示されたか否かを判定する。ステップＳ３０１において、ファイルの記録が指示されたと判定された場合、ステップＳ３０２に進み、記録制御部２０６は、ファイルを記録する。すなわち、図７で示されるFAT領域３０２に配置される、FAT（図８参照）に、ファイルの実データが記録されるクラスタのクラスタ番号が格納され、データ領域３０４に、ファイルのディレクトリエントリおよび実データが記録される。
【０２０３】
ステップＳ３０３において、記録制御部２０６は、バックアップデータの記録の処理を実行する。その詳細は、図２１のフローチャートを参照して後述するが、この処理により、記録が指示されたファイルを管理するデータ（ファイル）のバックアップデータを記録する処理が実行される。
【０２０４】
ステップＳ３０４において、OS１７２は、操作入力部１２３の信号を基に停止が指示されたか否かを判定する。すなわち、ユーザにより操作入力部１２３が操作されることにより、デジタルビデオカメラ１００の電源がオフにされたか否かが判定される。
【０２０５】
ステップＳ３０４において、停止が指示されたと判定された場合（電源がオフにされた場合）、バックアップデータの管理の処理は終了する。ステップＳ３０４において、停止が指示されていないと判定された場合（電源がオンの状態の場合）、手続きは、ステップＳ３０１に戻り、上述した処理が繰り返される。
【０２０６】
一方、ステップＳ３０１において、ファイルの記録が指示されていないと判定された場合、ステップＳ３０５に進み、OS１７２は、操作入力部１２３からの信号を基に、ファイルの読み出しが指示されたか否かを判定する。ユーザが操作入力部１２３を操作することにより、動画像データや静止画像データなどに対応するファイルを読み出すこと、すなわちファイルを開くことが指示されたか否かが判定される。
【０２０７】
ステップＳ３０５において、ファイルの読み出しが指示されたと判定された場合、ステップＳ３０６に進み、記録制御部２０６は、ファイルを読み出す。すなわち、図７で示されるデータ領域３０４に格納されているディレクトリエントリ（図９参照）の先頭クラスタ番号（図９の先頭クラスタ番号（High）３３８および先頭クラスタ番号（Low）３４１）が検出され、FAT領域３０２に配置されるFAT（図８参照）のクラスタ番号が検索され、データ領域３０４に格納されている実データが読み出される。
【０２０８】
ステップＳ３０７において、記録制御部２０６は、読み出されるファイルにエラーがあるか否かを判定する。
【０２０９】
ステップＳ３０７において、読み出されるファイルにエラーがあると判定された場合、ステップＳ３０８に進み、記録制御部２０６は、読み出しが指示されたファイルのバックアップデータが記録されているか否かを判定する。なお、バックアップデータが記録されているか否かは、図２１のステップＳ３４１を参照して後述する、フラグを基に判定される。
【０２１０】
ステップＳ３０８において、バックアップデータが記録されていると判定された場合、ステップＳ３０９に進み、記録制御部２０６は、バックアップデータの読み出しの処理を実行する。その詳細は、図２４のフローチャートを参照して後述するが、この処理により、読み出しにおいて、エラーが生じたファイルのバックアップデータを読み出す処理が実行される。
【０２１１】
ステップＳ３１０において、記録制御部２０６は、ステップＳ３０９の処理により読み出されたバックアップデータを、ステップＳ３０７の処理によりエラーがあったと判定された、ファイルが記録されているクラスタ上に上書き（記録）する。
【０２１２】
その後、手続きは、ステップＳ３０４に進み、上述した処理が実行される。
【０２１３】
なお、バックアップデータを上書きせずに、そのまま利用するようにしてもよい。バックアップデータが、上書きされずに利用される場合、ステップＳ３１０の処理は省略される。
【０２１４】
一方、ステップＳ３０８において、バックアップデータが記録されているファイルがないと判定された場合、ステップＳ３０９およびステップＳ３１０の処理はスキップされ、手続きはステップＳ３０４に進み、上述した処理が実行される。
【０２１５】
ステップＳ３０７において、読み出されたファイルにエラーがないと判定された場合、ステップＳ３０８乃至ステップＳ３１０の処理はスキップされ、手続きは、ステップＳ３０４に進む。
【０２１６】
一方、ステップＳ３０５において、ファイルの読み出しが指示されていないと判定された場合、ステップＳ３１１に進み、OS１７２は、ファイルの削除が指示されたか否かを判定する。ステップＳ３１１において、ファイルの削除が指示されたと判定された場合、ステップＳ３１２に進み、記録制御部２０６は、ファイルの削除の処理を実行する。その詳細は、図２５のフローチャートを参照して後述するが、この処理により、削除が指示されたファイルと、バックアップデータに関するデータとが削除される。
【０２１７】
ステップＳ３１２の処理の後、手続きは、ステップＳ３０４に進み、上述した処理が実行される。
【０２１８】
また、ステップＳ３１１の処理において、ファイルの削除が指示されていないと判定された場合、手続きは、ステップＳ３０４に進む。
【０２１９】
図２１のフローチャートを参照して、図２０のステップＳ３０３に対応する、バックアップデータの記録の処理を説明する。ステップＳ３３１において、リスト生成更新部２０２は、複数回の図２０のステップＳ３０２の処理においてそれぞれ記録されたファイルのうち、バックアップしない、複数のファイルの最終クラスタのクラスタ番号（以下、最終クラスタ番号と称する）を読み出す。最終クラスタとは、ハードディスク１７３において、ファイルの実データが記録されたクラスタの中で、実データが記録された最後のクラスタのことである。ここで、最後とは、ファイルの実データが記録されたクラスタの連鎖において、最後であることをいう。最後のクラスタに対する、FATのエントリ３２１には「EOF」が格納される。
【０２２０】
図２２は、ハードディスク１７３に記録されているファイルおよびファイルが記録されているクラスタを説明する図である。以下に説明するファイルは、FAT32方式のファイルシステムにより、ハードディスク１７３に記録される。また、例えば、ハードディスク１７３における、１つのクラスタの記録容量は、３２キロバイトである。
【０２２１】
例えば、図２０のステップＳ３０２の処理において、動画が記録された場合、図２２で示されるように、管理情報ファイル、動画像ファイル、音声ファイル、およびインデックスファイルの４つのファイルが記録される。
【０２２２】
管理情報ファイルには、記録時の情報（記録した日時、録画モードなどの情報）、再生時に用いる情報（動画像ファイル、音声ファイル、およびインデックスファイルのためのメタデータ、プレイリストなど）が格納され、動画像ファイルには、動画像データのみが格納され、音声ファイルには音声（音楽）データのみが格納され、インデックスファイルには、シーンチェンジにおける（各シーンの先頭の）画像（フレーム）を縮小した画像である、インデックス画像としてのサムネイル画像からなるフレームリストなどが格納される。
【０２２３】
例えば、動画像ファイルのファイル名は、“file0001.vid”とされ、音声ファイルのファイル名は、“file0001.aud”とされ、インデックスファイルのファイル名は、“file0001.abc”とされる。さらに、管理情報ファイルのファイル名は、“file0001.xyz”とされる。
【０２２４】
すなわち、同時に再生されるか、再生する時に利用されるなどの相互に関連するファイルのファイル名は、拡張子以外の部分が共通とされる。管理情報ファイル、動画像ファイル、音声ファイル、インデックスファイルのそれぞれのファイル名の拡張子は、格納されているデータによって異なる、予め定められた文字列とされる。例えば、管理情報ファイルは、バックアップされ、動画像ファイル、音声ファイル、インデックスファイルはバックアップされない。
【０２２５】
図２２で示されるクラスタ４６１−１−１には、管理情報ファイルが格納されている。また、クラスタ４６１−１−１には、実際に管理情報ファイル（データ）が格納されている格納済領域４６２−１および管理情報ファイルが記録されていない未使用の領域である空き領域４６３−１の２つの領域が存在している。
【０２２６】
クラスタ４６１−２−１乃至４６１−２−ｎ（ｎ＝２，３，・・・）のｎ個のクラスタには、動画像ファイルが格納されている。最終クラスタであるクラスタ４６１−２−ｎには、動画像ファイル（データ）が格納されている格納済領域４６２−２および動画像ファイルが記録されていない未使用の領域である空き領域４６３−２の２つの領域が存在している。
【０２２７】
クラスタ４６１−３−１乃至４６１−３−ｍ（ｍ＝２，３，・・・）のｍ個のクラスタには、音声ファイルが格納されている。最終クラスタであるクラスタ４６１−３−ｍには、音声ファイル（データ）が格納されている格納済領域４６２−３および音声ファイルが記録されていない未使用の領域である空き領域４６３−３の２つの領域が存在している。
【０２２８】
クラスタ４６１−４−１乃至４６１−４−ｐ（ｐ＝２，３，・・・）のｐ個のクラスタには、インデックスファイルが格納されている。最終クラスタであるクラスタ４６１−４−ｐには、インデックスファイル（データ）が格納されている格納済領域４６２−４およびインデックスファイルが格納されていない未使用の領域である空き領域４６３−４の２つの領域が存在している。
【０２２９】
すなわち、図２１のステップＳ３３１の処理においては、最終クラスタであるクラスタ４６１−２−ｎ、クラスタ４６１−３−ｍ、およびクラスタ４６１−４−ｐのクラスタ番号が読み出される。
【０２３０】
以下、クラスタ４６１−２−１乃至４６１−４−ｐを特に区別する必要がないとき、単にクラスタ４６１と称する。また、格納済領域４６２−２乃至４６２−４を特に区別する必要がないとき、単に格納済領域４６２と称する。さらに、空き領域４６３−２乃至４６３−４を特に区別する必要がないとき、単に空き領域４６３と称する。
【０２３１】
換言すれば、ステップＳ３３１において、リスト生成更新部２０２は、バックアップしない複数のファイルであって、空き領域４６３の存在するクラスタ４６１にその一部が記録されているファイルの最後のクラスタのクラスタ番号を読み出す。
【０２３２】
ステップＳ３３２において、位置算出部２０３は、ステップＳ３３１の処理において読み出された複数のファイルにおける、最終クラスタのオフセット情報のオフセット位置を算出する。オフセット情報とは、例えば、最終クラスタであるクラスタ４６１−２−ｎのクラスタ番号およびクラスタ４６１−２−ｎのオフセット位置を示す情報の２つの情報である。また、オフセット位置とは、例えば、クラスタ４６１−２−ｎの先頭のセクタアドレスと、データを格納することが可能な空き領域４６３−２の先頭のセクタアドレスとの差を示す。すなわち、オフセット位置は、そのクラスタ４６１において、格納済領域４６２として使用されているセクタの数を示す。
【０２３３】
位置算出部２０３は、ステップＳ３３２の処理において、上述したオフセット位置を算出する。オフセット位置は、例えば、クラスタ４６１−２−ｎの格納済領域４６２−２に格納されているデータが何セクタを利用することで格納されているかが算出される。
【０２３４】
なお、オフセット位置は、セクタ単位ではなく、ビット単位で算出されるようにしてもよい。
【０２３５】
ステップＳ３３３において、記録容量算出部２０４は、個々の空き領域４６３の記録容量を算出する。例えば、記録容量算出部２０４は、オフセット位置を基に、空き領域４６３のセクタの数を求めて、セクタの数にセクタの記録容量を乗算することにより、空き領域４６３の記録容量を算出する。
【０２３６】
さらに、記録容量算出部２０４は、ステップＳ３３３において、ステップＳ３３１の処理で読み出された最終クラスタ番号で示されるクラスタ４６１における空き領域４６３の記録容量の総和を算出する。すなわち、例えば、図２２で示されるように、ファイル（データ）の記録に利用されていない未使用の領域である、空き領域４６３−２乃至４６３−４の３つの領域の記録容量の総和が算出される。
【０２３７】
ステップＳ３３４において、判定部２０５は、バックアップデータを記録する管理情報ファイルのデータ量が、ステップＳ３３３の処理で算出された空き領域の記録容量の総和以下であるか否かを判定する。例えば、図２２で示される管理情報ファイルに対してバックアップデータが記録される場合、管理情報ファイルのデータ量、すなわち、格納済領域４６２−１のデータ量が、空き領域４６３−２乃至４６３−４の記録容量の総和以下であるか否かが判定される。
【０２３８】
ステップＳ３３４において、管理情報ファイルのデータ量が、ステップＳ３３３の処理で算出された空き領域の記録容量の総和以下であると判定された場合、ステップＳ３３５に進み、リスト生成更新部２０２は、管理情報ファイルのバックアップデータを記録する、最初の最終クラスタを選択する。例えば、図２２で示される空き領域４６３−２、空き領域４６３−３、および空き領域４６３−４のそれぞれを含む最終クラスタ（クラスタ４６１−２−ｎ，４６１−３−ｍ、および４６１−４−ｐ）の中から、クラスタ４６１−２−−ｎが選択される。
【０２３９】
なお、ステップＳ３３５または後述するステップＳ３４２の処理における、最終クラスタの選択方法としては、例えば、空き領域の記録容量の大きい最終クラスタから順に選択される。また、リスト生成更新部２０２は、そのクラスタに記録されている実データが格納されるファイルのファイル名の拡張子を基に、予め定めた拡張子の順に最終クラスタを選択するようにしてもよい。
【０２４０】
ステップＳ３３６において、記録制御部２０６は、ステップＳ３３５の処理により選択された最終クラスタのクラスタ番号を、図７で示されるFAT領域３０２の予備の領域であるFAT領域３０３に、バックアップデータの始点として格納する。例えば、FAT領域３０３に配置されているFAT（図８参照）において、データ領域３０４に記録されている管理情報ファイルのディレクトリエントリに含まれる先頭クラスタ番号（クラスタ４６１−１−１のクラスタ番号）で示されるアドレスのエントリ３２１に、クラスタ４６１−２−ｎのクラスタ番号が格納される。
【０２４１】
なお、FAT領域３０３が、FAT領域３０２に配置されているFATのバックアップデータが記録される領域として利用される場合には、BPB３０１に記録され、FAT領域の個数を示す「BPB_NumFATs」に、予め３以上の値を設定して、３つ目以降のFAT領域に配置されるFATに、ステップＳ３３６の処理において、記録制御部２０６が、クラスタ番号（バックアップデータ）を格納するようにしてもよい。
【０２４２】
ステップＳ３３７において、記録制御部２０６は、オフセット情報リスト２１２に、ステップＳ３３２の処理により算出されたオフセット位置であって、ステップＳ３３５の処理により選択された最終クラスタのオフセット位置を記録する。
【０２４３】
図２３は、オフセット位置が記録されるオフセット情報リスト２１２の例を示す図である。オフセット情報リスト２１２においては、４バイトに、ステップＳ３３５の処理または後述するステップＳ３４２の処理により選択された、最終クラスタのクラスタ番号が記録される。また、クラスタ番号が記録された４バイトに対応した４バイトに、その最終クラスタのオフセット位置が記録される。すなわち、例えば、バックアップデータが記録される最終クラスタのクラスタ番号４７１−１およびその最終クラスタのオフセット位置４７２−１が、２つ１組で、オフセット情報リスト２１２に記録される。なお、図２３で示されるように、１セクタが５１２バイトである場合、１セクタで管理される８バイトのオフセット情報（クラスタ番号４７１−１乃至４７１−６４、およびクラスタ番号４７１−１乃至４７１−６４のそれぞれに対応するオフセット位置４７２−１乃至４７２−６４）の個数は、６４個とされる。
【０２４４】
なお、ハードディスク１７３における、オフセット情報リスト２１２の記録場所としては、例えば、図７で示されるBPB３０１とFAT領域３０２との間に、数セクタまたは数十セクタの領域を設けることが可能であるため、その場所（BPB３０１が記録されているセクタの次のセクタ以降のセクタ）にオフセット情報リスト２１２が格納される。また、オフセット情報リスト２１２は、データ領域３０４の終端に格納されるようにしてもよい。
【０２４５】
ステップＳ３３８において、記録制御部２０６は、ステップＳ３３５の処理により選択された最終クラスタの空き領域、例えば、図２２で示されるクラスタ４６１−１−ｎの空き領域４６３−２に、管理情報ファイルのバックアップデータを記録する。例えば、ステップＳ３３８において、記録制御部２０６は、選択された最終クラスタの空き領域４６３に、空き領域４６３の記録容量以内のデータ量のバックアップデータ（管理情報ファイルのバックアップデータ）の一部または全てを記録させる。
【０２４６】
ステップＳ３３９において、リスト生成更新部２０２は、バックアップデータを全て記録することができたか否かを判定する。すなわち、リスト生成更新部２０２は、図２２で示される格納済領域４６２−１に格納される管理情報ファイルに対応する、バックアップデータが全て空き領域４６３に記録されたか否かを判定する。
【０２４７】
ステップＳ３３９において、バックアップデータが全て記録できたと判定された場合、ステップＳ３４０に進み、記録制御部２０６は、予備のFAT領域であるFAT領域３０３のFATの、バックアップデータが記録された最終クラスタのクラスタ番号で示されるアドレスのエントリ３２１に、「EOF（End Of File）」を格納する。
【０２４８】
ステップＳ３４１において、リスト生成更新部２０２は、バックアップデータを記録したことを示すフラグを設定する。例えば、フラグを設定するとは、バックアップデータが記録されたファイル名に対応するフラグに、バックアップデータを記録したことを示す“１”を設定することをいう。また、例えば、図２２で示される、バックアップデータが記録された、管理情報ファイルの拡張子のみを特定の拡張子に設定するようにしても良い。この場合、管理情報ファイルの拡張子に、例えば、バックアップデータを記録したことを示す拡張子として“xyb”が設定される。
【０２４９】
また、フラグが設定される場合、管理情報ファイルのディレクトリエントリの１３バイト目の領域（図９で示される予約領域３３４）などに、例えば、バックアップデータが記録されていることを示す“１”やバックアップデータが記録されていないことを示す“０”である値を設定したフラグが格納されるようにしてもよい。
【０２５０】
一方、ステップＳ３３９において、バックアップデータを全て記録できていないと判定された場合、図２２で示される管理情報ファイル（格納済領域４６２−１に格納されているファイル）がクラスタ４６１−２−ｎの空き領域４６３−２に格納しきれなかった場合、手続きは、ステップＳ３４２に進み、リスト生成更新部２０２は、バックアップデータを記録する、すなわち、空き領域４６３−２に格納しきれなかった管理情報ファイルを格納する、次の最終クラスタを選択する。例えば、音声ファイルの最終クラスタであるクラスタ４６１−３−ｍが選択される。
【０２５１】
ステップＳ３４３において、記録制御部２０６は、ステップＳ３４２の処理で選択された最終クラスタのクラスタ番号を、図７で示されるFAT領域３０２の予備の領域であるFAT領域３０３に、バックアップデータの連鎖情報の次点として格納する。すなわち、ステップＳ３３６の処理で格納されたクラスタ番号（ステップＳ３３５の処理で選択されたクラスタ４６１−２−ｎのクラスタ番号）で示されるアドレスのエントリ３２１に、次のクラスタを示す位置として、ステップＳ３４２の処理で選択されたクラスタ番号、例えば、クラスタ４６１−３−ｍのクラスタ番号が格納される。
【０２５２】
その後、手続きは、ステップＳ３３７に戻り、上述したステップＳ３３７乃至Ｓ３３９の処理が、管理情報ファイルのバックアップデータを、他のファイルの最終クラスタに全て格納されるまで繰り返し実行される。
【０２５３】
すなわち、例えば、ステップＳ３３７の処理において、再び、オフセット情報リスト２１２にクラスタ４６１−３−ｍのオフセット情報が記録され、ステップＳ３３８において、クラスタ４６１−３−ｍの空き領域４６３−３に、管理情報ファイルのバックアップデータが記録され、ステップＳ３３９において、バックアップデータが全て記録されたか否かが判定される。
【０２５４】
一方、ステップＳ３３４の処理において、管理情報ファイルのデータ量が、ステップＳ３３３の処理により算出された空き領域の記録容量の総和より大きいと判定された場合、ステップＳ３３５乃至Ｓ３４１の処理がスキップされ、管理情報ファイルのバックアップデータを記録することなく、手続きは、図２０のステップＳ３０４に戻り、上述した処理が実行される。
【０２５５】
なお、図２２で示される管理情報ファイルのバックアップデータが記録される場合に、動画像ファイルのクラスタ４６１−２−ｎの空き領域４６３−２、音声ファイルのクラスタ４６１−３−ｍの空き領域４６３−３、およびインデックスファイルのクラスタ４６１−４−ｐの空き領域４６３−４の記録容量によっては、管理情報ファイルのバックアップデータを複数記録するようにしてもよい、例えば、管理情報ファイルのバックアップデータが、空き領域４６３−２，４６３−３、および４６３−４の３箇所に、３つ記録されるようにしてもよい。
【０２５６】
また、管理情報ファイルのディレクトリエントリとは別に、管理情報ファイルのバックアップデータのディレクトリエントリを記録するようにしてもよい。バックアップデータのディレクトリエントリは、例えば、オフセット情報リスト２１２と共に、BPB３０１とFAT領域３０２との間の領域に記録される。この場合、バックアップデータのディレクトリエントリに格納される先頭クラスタ番号として、例えば、クラスタ４６１−２−ｎのクラスタ番号が記録され、FAT領域３０３のFATにおける連鎖情報として、クラスタ４６１−２−ｎのクラスタ番号で示されるアドレスのエントリ３２１に、クラスタ４６１−３−ｍのクラスタ番号が格納され、クラスタ４６１−３−ｍのクラスタ番号で示されるアドレスのエントリ３２１に、クラスタ４６１−４−ｐのクラスタ番号が格納される。
【０２５７】
次に、図２４のフローチャートを参照して、図２０のステップＳ３０９に対応する、バックアップデータの読み出しの処理を説明する。ステップＳ３６１において、記録クラスタ検索部２０７は、図２２で示される管理情報ファイルのディレクトリエントリに格納されている先頭クラスタ番号（クラスタ４６１−１−１のクラスタ番号）を読み出す。
【０２５８】
ステップＳ３６２において、記録クラスタ検索部２０７は、ステップＳ３６１の処理により読み出した先頭クラスタ番号を基に、FAT領域３０２の予備のFAT領域であるFAT領域３０３を検索し、バックアップデータの記録先のクラスタのクラスタ番号を読み出す。すなわち、例えば、FAT領域３０３に配置されているFATにおいて、バックアップデータが記録されている管理情報ファイルのディレクトリエントリに格納されている、先頭クラスタ番号（クラスタ４６１−１−１のクラスタ番号）で示されるアドレスのエントリ３２１に格納されている、クラスタ４６１−２−ｎのクラスタ番号が読み出される。
【０２５９】
なお、管理情報ファイルのディレクトリエントリとは別に、管理情報ファイルのバックアップデータのディレクトリエントリを記録するようにした場合、ステップＳ３６１において、バックアップデータのディレクトリエントリから、例えば、クラスタ４６１−２−ｎを示す先頭クラスタ番号が読み出され、ステップＳ３６２の処理はスキップされる。
【０２６０】
ステップＳ３６３において、記録位置検出部２０８は、ステップＳ３６２の処理により読み出されたクラスタ番号を基に、オフセット情報リスト２１２を検索し、オフセット位置を読み出す。例えば、ステップＳ３６２の処理により読み出されたクラスタ番号が、図２３で示されるクラスタ番号４７１−１である場合、オフセット位置４７２−１が読み出される。
【０２６１】
ステップＳ３６４において、記録位置検出部２０８は、オフセット位置が読み出せたか否かを判定する。ステップＳ３６４において、オフセット位置が読み出せなかったと判定された場合、手続きは、ステップＳ３６５に進む。
【０２６２】
ステップＳ３６５において、記録位置算出部２０９は、ステップＳ３６２の処理で読み出されたクラスタ番号のクラスタにおける、オフセット位置を算出する。例えば、図２２で示されるクラスタ４６１−２−ｎが管理情報ファイルのバックアップデータの記録先である場合、格納済領域４６２−２のセクタの数が算出され、オフセット位置が算出される。例えば、記録位置算出部２０９は、セクタの記録容量およびファイルのデータ量を基に、オフセット位置を算出する。
【０２６３】
これに対して、ステップＳ３６４において、オフセット位置が読み出せたと判定された場合、ステップＳ３６５の処理はスキップされ、手続きは、ステップＳ３６６に進む。
【０２６４】
ステップＳ３６６において、記録制御部２０６は、ステップＳ３６３またはステップＳ３６５の処理により読み出された（または算出された）オフセット位置を基に、ステップＳ３６２の処理で読み出されたクラスタ番号、または後述するステップＳ３６８の処理で読み出されたクラスタ番号のクラスタからバックアップデータを読み出す。
【０２６５】
ステップＳ３６７において、記録クラスタ検索部２０７は、バックアップデータを全て読み出せたか否かを判定する。すなわち、FAT領域３０３に配置されているFATにおいて、「EOF」が検出されたか否かが判定される。
【０２６６】
ステップＳ３６７において、バックアップデータを全て読み出せていないと判定された場合、ステップＳ３６８に進み、記録クラスタ検索部２０７は、予備のFAT領域であるFAT領域３０３を検索し、次のバックアップデータの記録先のクラスタのクラスタ番号を読み出す。すなわち、例えば、ステップＳ３６２の処理により、クラスタ４６１−２−ｎのクラスタ番号が読み出されている場合、FAT領域３０３に配置されるFATにおいて、クタスタ４６１−２−ｎのクラスタ番号で示されるアドレスのエントリ３２１に格納されている、クラスタ４６１−３−ｍのクラスタ番号が読み出される。
【０２６７】
ステップＳ３６８の処理の後、手続きは、ステップＳ３６３に戻り、ステップＳ３６３乃至Ｓ３６７の処理が、バックアップデータが全て読み出されるまで（FAT領域３０３のFATにおいて「EOF」が読み出されるまで）、繰り返し実行される。
【０２６８】
ステップＳ３６７において、バックアップデータを全て読み出せたと判定された場合、手続きは、図２０のステップＳ３１０に戻り、上述した処理が実行される。
【０２６９】
次に、図２５のフローチャートを参照して、図２０のステップＳ３１２に対応する、ファイルの削除の処理を説明する。ステップＳ３８１において、リスト生成更新部２０２は、バックアップデータが記録されているファイルがあるか否かを判定する。すなわち、図２１のステップＳ３４１の処理で設定されたフラグを基に、削除が指示されたファイルにおいて、バックアップデータが記録されているファイルがあるか否かが判定される。
【０２７０】
ステップＳ３８２において、記録制御部２０６は、オフセット情報リスト２１２のオフセット情報を削除する。図２３で示されるオフセット情報リスト２１２のクラスタ番号およびオフセット位置に対して特定の値が上書きされる。例えば、削除されるファイルのオフセット情報が、クラスタ番号４７１−１およびオフセット位置４７２−１である場合、クラスタ番号４７１−１に、“00000000h”が上書きされ、オフセット位置４７２−１に“FFFFFFFFh”が上書きされる。
【０２７１】
また、クラスタ番号４７１−１およびオフセット位置４７２−１に、“0000000000000000h”が上書きされるようにしてもよい。
【０２７２】
ステップＳ３８３において、記録制御部２０６は、ファイルを削除する。すなわち、データ領域３０４に記録されている、ディレクトリエントリが削除される。また、上述したように、例えば、管理情報ファイルのバックアップデータのディレクトリエントリが記録されている場合、ステップＳ３８３の処理においては、管理情報ファイルのディレクトリエントリおよび管理情報ファイルのバックアップデータのディレクトリエントリが削除されることになる。
【０２７３】
その後、手続きは、図２０のステップＳ３０４に戻り、上述した処理が実行される。
【０２７４】
以上のように、所定のファイルが記録される場合に、複数の種類のファイルが記録されるとき、その複数のファイルの最終クラスタの空き領域が、データ量の小さいファイルのバックアップデータの記録場所として利用される。これにより、バックアップデータが記録される場合に、ハードディスク１７３などの記録媒体における未使用の記録領域が、新たに消費されることを回避することができ、記録媒体の利用可能な記録領域を減少させてしまうことを回避することができる。
【０２７５】
なお、本発明は、従来のFAT32で必要とされるデータ構造を崩すものではなく、互換性が保たれているものである。
【０２７６】
図２６は、図３で示される、記録制御部２０６の構成の例を示すブロック図である。すなわち、記録制御部２０６は、余り領域検出部５０１、判定部５０２、データ書き込み部５０３、およびデータ読み出し部５０４を含む。
【０２７７】
余り領域検出部５０１は、ハードディスク１７３のパーティションにおける、ファイルシステム１８１によって管理の対象外とされる余り領域を検出する。また、余り領域検出部５０１は、余り領域の記録容量を算出する。
【０２７８】
判定部５０２は、余り領域の記録容量が所定のデータ量以上であるか否かを判定する。
【０２７９】
データ書き込み部５０３は、検出または算出された余り領域の最初のセクタのLBAなどをRAM１１３またはROM１１２に保持する。また、データ書き込み部５０３は、所定のデータをハードディスク１７３に書き込む処理を行う。
【０２８０】
データ読み出し部５０４は、RAM１１３またはROM１１２に保持された余り領域の最初のセクタのLBAなどの所定のデータを読み出す。データ読み出し部５０４は、余り領域に記録されているデータを読み出す。
【０２８１】
次に、図２７に示す、FAT16であるファイルシステムが使用される（FAT16でフォーマットされている）ハードディスク５３０のパーティション５３３における、余り領域５６２の管理の処理を説明する。なお、余り領域５６２の管理の処理は、デジタルビデオカメラ１００の起動とともに実行される。
【０２８２】
ハードディスク５３０は、HDD１１４に内蔵されている磁気ディスクである記録媒体である。
【０２８３】
図２８は、余り領域の管理の処理を説明するフローチャートである。
【０２８４】
ステップＳ４０１において、パーティション５３３における、余り領域５６２の検出の処理が実行される。その詳細は、図２９のフローチャートを参照して後述するが、この処理により、ファイルシステム（FAT16）の管理の対象外とされる、パーティション５３３の余り領域５６２が検出される。
【０２８５】
ステップＳ４０２において、OS１７２は、操作入力部１２３からの信号を基に、停止（電源のオフ）が指示されたか否かを判定する。ステップＳ４０２において、停止が指示されたと判定された場合、ステップＳ４０３に進み、パーティション５３３の余り領域５６２への、バックアップデータの記録の処理が実行される。その詳細は、図３０のフローチャートを参照して後述するが、この処理により、パーティション５３３の余り領域５６２に、所定のデータに対するバックアップデータが記録される。
【０２８６】
ステップＳ４０３の処理の後、処理は終了する。
【０２８７】
ステップＳ４０２において、停止が指示されていないと判定された場合、ステップＳ４０４に進み、OS１７２は、操作入力部１２３からの信号を基に、ファイルの読み出しが指示されたか否かを判定する。
【０２８８】
ステップＳ４０４において、ファイルの読み出しが指示されたと判定された場合、ステップＳ４０５に進み、記録制御部２０６は、ファイルを読み出す。
【０２８９】
ステップＳ４０６において、記録制御部２０６は、読み出しが指示されたファイルに対応するルートディレクトリエントリが読み出せなかったか否かを判定する。ステップＳ４０６において、ルートディレクトリエントリが読み出せなかったと判定された場合、ステップＳ４０７に進み、パーティション５３３の余り領域５６２からの、バックアップデータの読み出しの処理が実行される。このバックアップデータの読み出しの処理は、図３１のフローチャートを参照して後述するが、この処理により、パーティション５３３の余り領域５６２に記録されている、ルートディレクトリエントリのバックアップデータが読み出される。
【０２９０】
ステップＳ４０７において、バックアップデータを読み出すことができた場合、ルートディレクトリエントリのバックアップデータが読み出され、このルートディレクトリエントリのバックアップデータを基に、読み出しが指示されたファイルを読み出すことができるので、手続きは、ステップＳ４０５に戻り、ファイルが読み出される。
【０２９１】
なお、ステップＳ４０７において、バックアップデータを読み出しができなかった場合、指示されたファイルを読み出すことはできないので、手続きは、ステップＳ４０２に進み、上述した処理が繰り返される。
【０２９２】
一方、ステップＳ４０４において、ファイルの読み出しが指示されていないと判定された場合、ステップＳ４０２に戻り、上述した処理が実行される。
【０２９３】
ステップＳ４０６において、指示されたルートディレクトリエントリが読み出せたと判定された場合、手続きは、ステップＳ４０２に進み、上述した処理が繰り返し実行される。
【０２９４】
図２９のフローチャートを参照して、図２８のステップＳ４０１に対応する、パーティション５３３における、余り領域５６２の検出の処理を説明する。ステップＳ４３１において、余り領域検出部５０１は、パーティション５３３の余り領域５６２の記録容量を算出する。
【０２９５】
ここで、図２７を参照して、ファイルシステムとして、FAT16が利用されているハードディスク５３０について説明する。
【０２９６】
ハードディスク５３０には、ハードディスク５３０を構成するパーティションの位置やサイズなどが記録されているパーティションテーブルやアクティブなパーティションから起動用のプログラムを読み込むためのマスタブートコードなどが記録されているMBR５３１、空き領域５３２、およびパーティション５３３が配置されている。
【０２９７】
パーティション５３３には、１クラスタあたりのセクタ数など、ハードディスク５３０の物理的な属性が記録されているBPB５４１、ファイルのクラスタ（データの記録単位）の配列が記録されているFAT領域５４２，FAT領域５４２のバックアップなどのために利用される予備の領域であるFAT領域５４３が設けられている。
【０２９８】
また、パーティション５３３には、ルートディレクトリエントリ領域５４４およびデータ領域５４５が設けられている。ルートディレクトリエントリ領域５４４には、ハードディスク５３０のルートディレクトリに記録されるファイル（実データ）に対応するディレクトリエントリが格納される。例えば、ハードディスク５３０のルートディレクトリに複数のファイルが記録される場合、ルートディレクトリエントリ領域５４４には、個々のファイルに関係する情報からなるディレクトリエントリが、複数のファイルのそれぞれに対して形成される。ディレクトリエントリのそれぞれには、対応するファイルの名称、そのファイルの作成日、そのファイルのサイズ、および、そのファイルの先頭クラスタ番号などの情報が格納される。
【０２９９】
データ領域５４５は、各ファイルのそれぞれの実データが記録される領域であり、実データが記録されるクラスタ５６１−１乃至５６１−ｎが配置されている。
【０３００】
また、データ領域５４５においては、ハードディスク５３０のフォーマット時に、余り領域５６２が生成される。余り領域５６２は、データ領域５４５の記録容量が、データ領域５４５におけるクラスタの記録容量の整数倍にはなっていない（データ領域５４５の記録容量≠クラスタ５６１−１乃至５６１−ｎの記録容量）ことが多いことから生じ、FAT16により、実データを記録可能な領域として管理されない領域である。
【０３０１】
図２９のステップＳ４３１の処理において、余り領域検出部５０１は、FAT16において、総セクタ数が16ビット空間で表現可能な場合、次の式（１）により、余り領域５６２の記録容量を算出する。なお、式（１）においては、余り領域５６２の記録容量は、セクタ数で算出される。
【０３０２】
余り領域５６２の記録容量（セクタ数）＝(BPB_TotSec16−BPB_RsvdSecCnt−BPB_FATSz16×BPB_NumFATs−BPB_RootEntCnt×32÷BPB_BytsPerSec)%BPB_SecPerClus      ・・・（１）
【０３０３】
式（１）における、“BPB_TotSec16”，“BPB_RsvdSecCnt”，“BPB_FATSz16”，“BPB_NumFATs”，“BPB_RootEntCnt”，“BPB_BytsPerSec”、および“BPB_SecPerClus”のそれぞれは、BPB５４１に配置されている値である。なお、式（１）における“％”は、“％”の前の値を、“％”の値で割り算した場合の「余り」を求める演算子である。
【０３０４】
“BPB_TotSec16”には、管理対象となるパーティションの総セクタ数(１６ビット)、すなわち、パーティション５３０を構成するセクタの数が格納されている。“BPB_RsvdSecCnt”には、管理対象となるパーティションの前に予約されているセクタの数、すなわち、BPB５４１の前に予約されているセクタの数が格納されている。例えば、MBR５３１および空き領域５３２の次のパーティション５３０における、“BPB_RsvdSecCnt”には、MBR５３１および空き領域５３２として使用されるセクタの数が格納される。
【０３０５】
“BPB_FATSz16”には、FATのサイズが格納されている。例えば、“BPB_FATSz16”には、FAT領域５４２を構成するセクタの数が格納されている。“BPB_NumFATs”には、FATの数（例えば、FAT領域５４２とFAT領域５４３とを合わせた数）が格納される。図２７に示す例では、ハードディスク５３０においては、FAT領域５４２およびFAT領域５４３が配置されているため“BPB_NumFATs”には、“２”が格納されている。
【０３０６】
すなわち、式（１）の右辺における「BPB_FATSz16×BPB_NumFATs」は、FATを格納する領域として使用されるセクタの数を示す。
【０３０７】
“BPB_SecPerClus”には、1クラスタあたりのセクタの数が格納されている。すなわち、“BPB_SecPerClus”は、１つのクラスタを構成するセクタの数を示す。“BPB_RootEntCnt”には、ルートディレクトリエントリ領域５４４におけるルートディレクトリエントリの数が格納されている。“３２”は、１エントリあたり３２バイトであることを示している。“BPB_BytsPerSec”は、１セクタあたりのバイトを単位とした記録容量（例えば、1セクタは、５１２バイトの記録容量）が格納されている。
【０３０８】
すなわち、式（１）の右辺における「BPB_RootEntCnt×32÷BPB_BytsPerSec」は、ルートディレクトリエントリ領域５４４として使用されるセクタの数を示す。
【０３０９】
また、FAT16において、総セクタ数が１６ビット空間で表現不可能な場合には、次の式（２）により、余り領域５６２の記録容量が算出される。
【０３１０】
余り領域５６２の記録容量（セクタ数）＝(BPB_TotSec32−BPB_RsvdSecCnt−BPB_FATSz32×BPB_NumFATs−BPB_RootEntCnt×32÷BPB_BytsPerSec)%BPB_SecPerClus      ・・・（２）
【０３１１】
“BPB_TotSec32”には、管理対象とされるパーティション５３３の総セクタ数（３２ビット）が格納されている。すなわち、“BPB_TotSec32”には、パーティション５３３を構成するセクタの数が格納されている。“BPB_TotSec32”には、FATのサイズが格納されている。例えば、“BPB_TotSec32”には、FAT領域５４２を構成するセクタの数が格納されている。
【０３１２】
図２９に戻り、ステップＳ４３２において、余り領域検出部５０１は、余り領域５６２が検出できたか否かを判定する。余り領域検出部５０１は、ステップＳ４３１の処理により、余り領域５６２の記録容量が算出できたか否かを判定する。
【０３１３】
ステップＳ４３２において、余り領域５６２が検出できたと判定された場合、すなわち、ステップＳ４３１の処理において、余り領域５６２の記録容量が算出された場合、ステップＳ４３３に進み、データ書き込み部５０３は、余り領域５６２の記録容量をメモリであるRAM１１３に保持する。
【０３１４】
ステップＳ４３４において、余り領域検出部５０１は、余り領域５６２の最初のセクタのLBAを算出する。余り領域５６２の最初のセクタのLBAは、次の式（３）により算出される。
【０３１５】
余り領域５６２の最初のセクタのLBA＝BPB_HiddSec＋BPB_RsvdSecCnt＋BPB_FATSz16×BPB_NumFATs＋BPB_RootEntCnt×32÷BPB_BytsPerSec＋BPB_SecPerClus×クラスタ数      ・・・（３）
【０３１６】
式（３）において、“BPB_HiddSec”は、隠し領域を構成するセクタの数を示す。
【０３１７】
“BPB_RsvdSecCnt”には、パーティション５３３の前のセクタの数、すなわち、MBR５３１および空き領域５３２のセクタの数が格納されている。“BPB_SecPerClus”には、データ領域５４５のクラスタの数が格納されている。式（３）におけるクラスタ数は、１クラスタあたりのセクタの数をいう。
【０３１８】
すなわち、式（３）によれば、MBR５３１として利用されるセクタ乃至データ領域５４５を構成するクラスタとして確保されたセクタの数を求めることができる。LBAが０から始まるとすれば、式（３）により算出される、MBR５３１として利用されるセクタ乃至データ領域５４５を構成するクラスタとして確保されたセクタの数は、余り領域５６２の先頭のLBAに等しい。
【０３１９】
ステップＳ４３５において、データ書き込み部５０３は、余り領域の最初のセクタのLBAをメモリ（RAM１１３）に保持する。
【０３２０】
ステップＳ４３５の処理の後、手続きは、図２８のステップＳ４０２に戻り、上述した処理が実行される。
【０３２１】
ステップＳ４３２において、余り領域５６２が検出できていないと判定された場合、すなわち、ステップＳ４３１の処理で余り領域５６２の記録容量が算出されなかった場合、ステップＳ４３３乃至ステップ４３５の処理はスキップされ、余り領域５６２の記録容量をRAM１１３に記憶することなく、手続きは、図２８のステップＳ４０２に戻り、上述した処理が実行される。
【０３２２】
次に、図３０のフローチャートを参照して、図２８のステップＳ４０３に対応する、パーティションの余り領域５６２への、バックアップデータの記録の処理を説明する。ステップＳ４５１において、判定部５０２は、図２９のステップＳ４３１の処理により算出された余り領域５６２が、２０セクタ（＝１６キロバイト）以上であるか否かを判定する。
【０３２３】
なお、ステップＳ４５１において、余り領域５６２におけるセクタの数が“BPB_RootEntCnt×３２÷BPB_BytsPerSec”の値（ルートディレクトリエントリ領域５４４として使用されるセクタの数）以上であるか否かを判定するようにしてもよい。また、ステップＳ４５１において、余り領域５６２における記録容量がルートディレクトリエントリ領域５４４の記録容量以上であるか否かを判定するようにしてもよい。
【０３２４】
ステップＳ４５１において、余り領域５６２の記録容量が２０セクタ以上であると判定された場合、余り領域５６２にバックアップデータを記録することができるので、ステップＳ４５２に進み、データ読み出し部５０４は、図２９のステップＳ４３５の処理によりRAM１１３に保持されている、余り領域５６２の最初のセクタのLBAを読み出す。
【０３２５】
ステップＳ４５３において、データ書き込み部５０３は、余り領域５６２に、ルートディレクトリエントリ領域５４４に格納されているルートディレクトリエントリのバックアップデータを記録し、処理は終了する。なお、データ書き込み部５０３は、余り領域５６２にバックアップデータを記録する場合、各ファイルの拡張子を、バックアップデータを記録したことを示す拡張子に変更し、バックアップデータが記録されていることを示すフラグを設定するようにしてもよい。
【０３２６】
一方、ステップＳ４５１において、余り領域５６２の記録容量が、２０セクタ以上ではないと判定された場合、ステップＳ４５２およびステップＳ４５３の処理はスキップされ、余り領域５６２にバックアップデータを記録することなく、処理は終了する。
【０３２７】
図３１のフローチャートを参照して、図２８のステップＳ４０７に対応する、パーティション５３３の余り領域５６２からの、バックアップデータの読み出しの処理を説明する。ステップＳ４７１において、データ読み出し部５０４は、読み出しが指示されたファイルのルートディレクトリエントリのバックアップデータが記録されているか否かを判定する。
【０３２８】
ステップＳ４７１において、読み出しが指示されたファイルのルートディレクトリエントリのバックアップデータが記録されていると判定された場合、ステップＳ４７２に進み、データ読み出し部５０４は、図２９のステップＳ４３５の処理によりRAM１１３に保持されている、余り領域５６２の最初のセクタのLBAを読み出す。
【０３２９】
ステップＳ４７３において、データ読み出し部５０４は、余り領域５６２に記録されているバックアップデータを読み出す。ステップＳ４７３の処理により、ルートディレクトリエントリ領域５４４に格納されている全てのルートディレクトリエントリに対応するバックアップデータが読み出される。
【０３３０】
ステップＳ４７４において、データ読み出し部５０４は、ステップＳ４７３の処理により読み出された、ルートディレクトリエントリ領域５４４に格納されている全てのルートディレクトリエントリに対応するバックアップデータから、読み出しが指示されたファイルのルートディレクトリエントリのバックアップデータを検索する。
【０３３１】
ステップＳ４７５において、データ読み出し部５０４は、読み出しが指示されたファイルのルートディレクトリエントリのバックアップデータを見つけたか否かを判定する。
【０３３２】
ステップＳ４７５において、バックアップデータを見つけたと判定された場合、ステップＳ４７６に進み、データ書き込み部５０３は、バックアップデータをルートディレクトリエントリ領域５４４に上書きする。
【０３３３】
ステップＳ４７６の処理の後、手続きは、図２８のステップＳ４０５に戻り、上述した処理が実行される。
【０３３４】
これに対して、ステップＳ４７５において、バックアップデータを見つけられなかったと判定された場合、手続きは、図２８のステップＳ４０２に戻り、上述した処理が実行される。すなわち、読み出しが指示されたファイルは、読み出されない。
【０３３５】
また、ステップＳ４７１において、読み出しが指示されたファイルのルートディレクトリエントリのバックアップデータが記録されていないと判定された場合、ステップＳ４７２乃至ステップＳ４７６の処理はスキップされ、図２８のステップＳ４０２に戻り、上述した処理が実行される。すなわち、読み出しが指示されたファイルは、読み出されない。
【０３３６】
図３２は、FAT32を利用しているハードディスク１７３の余り領域５８２を説明する図である。図７に示す場合と同様の部分には、同じ符号が付してあり、その説明は省略する。
【０３３７】
FAT32においては、総セクタ数が１６ビットで表現可能な場合、余り領域５８２の記録容量（セクタの数）は、次の式（４）によって算出される。
【０３３８】
余り領域５８２の記録容量＝(BPB_TotSec32 − BPB_RsvdSecCnt −BPB_FATSz32 × BPB_NumFATs) ％ BPB_SecPerClus      ・・・（４）
【０３３９】
式（４）においては、“BPB_RsvdSecCnt”には、パーティションの前に予約されているセクタの数、すなわち、BPB３０１の前に存在するセクタの数が格納されている。“BPB_FATSz32”には、FATのサイズ（FAT領域３０２またはFAT領域３０３のセクタの数）が格納されている。“BPB_NumFATs”には、FATの数が格納される。図３２で示す場合、FAT領域３０２およびFAT領域３０３が配置されているので、“BPB_NumFATs”には、“２”が格納されている。“BPB_SecPerClus”には、１クラスタあたりのセクタの数が格納されている。
【０３４０】
従って、ハードディスク１７３の記録容量が約１８．６ギガバイト（＝３９，０５３，９５２セクタ）である場合、ハードディスク１７３のフォーマットにより、１クラスタの記録容量は、３２キロバイト（＝６４セクタ）とされる。すなわち、この場合、式（４）においては、余り領域５８２が３２セクタ（＝１６キロバイト）と算出される。
【０３４１】
FAT32においては、余り領域５８２の最初のセクタのLBAは、次の式（５）によって算出される。
【０３４２】
余り領域５８２の最初のセクタのLBA＝BPB_HiddSec＋BPB_RsvdSecCnt＋BPB_FATSz32×BPB_NumFATs＋BPB_SecPerClus×クラスタ数      ・・・（５）
【０３４３】
式（５）において、“BPB_HiddSec”は、隠し領域を構成するセクタの数を示す。“BPB_RsvdSecCnt”には、パーティション２４１の前のセクタの数、すなわち、MBR２３１および空き領域２２２のセクタの数が格納されている。
【０３４４】
余り領域５８２には、BPB３０１に格納されている「FSinfo」のバックアップデータなどを記録することが可能である。
【０３４５】
また、余り領域５６２または余り領域５８２には、上述したページリスト２１１、またはオフセット情報リスト２１２が記録されるようにしてもよい。
【０３４６】
以上のように、パーティションにおける、FATの管理対象外である余り領域に所定のデータを記録するようにすることにより、所定のデータが記録される場合に、ハードディスク１７３などの記録媒体における未使用の記録領域が、新たに消費されることを回避することができ、記録媒体の利用可能な記録領域を減少させてしまうことを回避することができる。
【０３４７】
本発明は、FAT32のファイルシステムを用いたハードディスク１７３（またはHDD１１４のようなビルトインタイプの記録媒体に限らず、FAT32のファイルシステムを用いたリムーバブルタイプの記録媒体、例えば、磁気ディスク、光ディスク、光磁気ディスクなどにおいても適用することが可能である。
【０３４８】
図３３は、本発明を適用したパーソナルコンピュータ６０１の構成例を示すブロック図である。CPU６１１は、ROM６１２に記憶されているプログラム、またはHDD６１９からRAM６１３にロードされたプログラムに従って各種の処理を実行する。RAM６１３にはまた、CPU６１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３４９】
CPU６１１，ROM６１２、およびRAM６１３は、バス６１４を介して相互に接続されている。このバス６１４にはまた、入出力インタフェース６１５も接続されている。
【０３５０】
入出力インタフェース６１５には、ユーザが操作して、テキストを入力するキーボード６３１、ポインティングデバイスの一例であるマウス６３２、画像を入力するスキャナ６３３、音声を入力するマイクロフォン６３４等の入力デバイスで構成される入力部６１６、ディスプレイなどの表示部６４１、音声を出力するスピーカ６４２、紙に文字または画像を印刷して、いわゆるハードコピーを出力するプリンタ６４３、紙に文字または画像を描画するプロッタ６４４等の出力デバイスで構成される出力部６１７が接続されている。さらに、入出力インタフェース６１５には、プログラムや各種データを記録するHDD６１９、およびLAN（Local Area Network）またはインターネットを含むネットワークを介してデータを通信する、USB（Universal Serial Bus）インタフェース６５１,IEEE（Institute of Electrical and Electronic Engineers）1394インタフェース６５２、ブルートゥースインタフェース６５３,IEEE802.11インタフェース６５４などの通信部６１８が接続される。
【０３５１】
USBインタフェース６５１は、USBの規格に基づき、ケーブルを介して（有線通信で）、他の機器と通信する。IEEE1394インタフェース６５２は、IEEE1394の規格に基づき、ケーブルを介して、他の機器と通信する。同様に、ブルートゥースインタフェース６５３は、ブルートゥースの規格に基づき、他の機器と無線通信する。IEEE802.11インタフェース６５４は、IEEE802.11a，IEEE802.11b、またはIEEE802.11gなどの規格に基づき、他の機器と無線通信する。
【０３５２】
入出力インタフェース６１５にはまた、必要に応じてドライブ６２０が接続され、磁気ディスク６６１、光ディスク６６２、光磁気ディスク６６３、或いは半導体メモリ６６４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じてHDD６１９にインストールされる。
【０３５３】
ドライブ６２０は、CPU６１１の制御に基づいて、装着されている磁気ディスク６６１、光ディスク６６２、光磁気ディスク６６３、或いは半導体メモリ６６４などの記録媒体に記録されているデータを読み出し、読み出したデータをCPU６１１に供給する。また、CPU６１１より供給されたデータを、ドライブ６２０に装着される磁気ディスク６６１、光ディスク６６２、光磁気ディスク６６３、或いは半導体メモリ６６４などに記憶させる。
【０３５４】
なお、本明細書ではハードディスクを例に挙げて説明したが、本発明はこれに限定されることなく、MO(Magneto Optical disk)、PD(Phase change rewritable Disk)，Zip，SuperDiskといったZCAV(Zone Constant Angular Velocity)方式を採用し、ランダムアクセス可能な他の記録媒体にも適用可能である。また、ファイルシステムに関しても、UDF（Universal Disk Format）などであってもよく、FAT32に限定されるものではない。
【０３５５】
また、本発明が適用される情報処理装置の実施の形態は、図１に示されるデジタルビデオカメラ１００および図３３に示されるパーソナルコンピュータ６０１に限定されず、所定のファイルシステムを利用して、記録媒体の記録および読み出しの制御が可能な情報処理装置であれば構わない。具体的には、例えば、PDA（Personal Digital Assistants）、携帯電話機、または、デジタル電化製品（例えば、テレビジョン受像機やハードディスク録画装置）等様々な実施の形態が可能である。
【０３５６】
このように、所定のファイルのバックアップデータを記録した場合、誤操作などによるファイルなどの破壊や誤った更新により、所望のファイルにエラーが生じても、通常通りにファイルを読み出すことができる。位置検出手段が、ファイル記録媒体の第１の記録領域において、第３の記録領域として確保されていない領域である第４の記録領域を検出し、記録制御手段が、第４の記録領域への所定の第３のデータの記録を制御するようにした場合には、記録媒体の記録領域を減少させることなくバックアップデータを記録することができる。
【０３５７】
この記録媒体は、図１または図３３に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１４１および６６１（フレキシブルディスクを含む）、光ディスク１４２および６６２（CD-ROM（Compact Disk Read-Only Memory），DVD（Digital Versatile Disc）を含む）、光磁気ディスク１４３および６６３（MD（Mini Disc）（商標）を含む）、若しくは半導体メモリ１４４および６６４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１１２および６１２、もしくはハードディスク１７３、ハードディスク５３０およびHDD６１９などで構成される。
【０３５８】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０３５９】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくても、並列的あるいは個別に実行される処理を含むものである。
【図面の簡単な説明】
【０３６０】
【図１】本発明を適用したデジタルビデオカメラの構成例を示すブロック図である。
【図２】アプリケーションプログラム、ファイルシステム、デバイスドライバ、およびハードディスクの関係を説明する図である。
【図３】デジタルビデオカメラのCPUが実行する空き領域管理プログラムの機能の構成の例を説明するブロック図である。
【図４】FATファイルシステムを用いるハードディスクの領域の配置を示す図である。
【図５】図４のMBRの詳細な構成例を示す図である。
【図６】図５のMBR内のパーティションテーブルに格納されるパーティション情報の詳細な構成例を示す図である。
【図７】ハードディスクのパーティションの構成例を示す図である。
【図８】FAT32であるFATの例を示す図である。
【図９】ディレクトリエントリの構成例を示す図である。
【図１０】ページリストの作成の処理を説明するフローチャートである。
【図１１】ページリストの例を示す図である。
【図１２】ページリストの記録の処理を説明するフローチャートである。
【図１３】ページリストの読み出しの処理を説明するフローチャートである。
【図１４】ページリストの更新の処理を説明するフローチャートである。
【図１５】空き領域の記録容量に対する種別の設定の処理を説明するフローチャートである。
【図１６】ファイルのデータ量に対する閾値の設定の処理を説明するフローチャートである。
【図１７】ファイルの記録の処理を説明するフローチャートである。
【図１８】ファイルの記録の処理を説明するフローチャートである。
【図１９】FATにおける、ページングを説明する図である。である。
【図２０】バックアップデータの管理の処理を説明するフローチャートである。
【図２１】バックアップデータの記録の処理を説明するフローチャートである。
【図２２】最終クラスタの空き領域を説明する図である。
【図２３】オフセット情報リストの例を示す図である。
【図２４】バックアップデータの読み出しの処理を説明するフローチャートである。
【図２５】ファイルの削除の処理を説明するフローチャートである。
【図２６】図３の記録制御部の構成の例を示すブロック図である。
【図２７】余り領域を説明する図である。
【図２８】パーティションにおける、余り領域の管理の処理を説明するフローチャートである。
【図２９】パーティションにおける、余り領域の検出の処理を説明するフローチャートである。
【図３０】パーティションの余り領域への、バックアップデータの記録の処理を説明するフローチャートである。
【図３１】パーティションの余り領域からの、バックアップデータの読み出しの処理を説明するフローチャートである。
【図３２】余り領域を説明する図である。
【図３３】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０３６１】
１００  デジタルビデオカメラ，  １１１  CPU，  １１４  ハードディスクドライブ，  １４１  磁気ディスク，  １４２  光ディスク，  １４３  光磁気ディスク，  １４４  半導体メモリ，  １７３  ハードディスク，  １８１  ファイルシステム，  １８２  デバイスドライバ，  ２０１  FAT読み出し部，２０２  リスト生成更新部，  ２０３  位置算出部，  ２０４  記録容量算出部，  ２０５  判定部，  ２０６  記録制御部，  ２０７  記録クラスタ検索部，  ２０８  記録位置検出部，  ２０９  記録位置算出部，  ２１１  ページリスト，  ２１２  オフセット情報リスト，  ３０２  FAT領域，  ３０２ａ  FAT，  ４６１−１−１乃至４６１−４−ｐ  クラスタ，  ４６２−１乃至４６２−４  格納済領域，  ４６３−１乃至４６３−４  空き領域，  ４７１−１乃至４７１−６４  クラスタ番号，  ４７２−１乃至４７２−６４  オフセット位置，  ５０１  余り領域検出部，  ５０２  判定部，  ５０３  データ書き込み部，  ５０４  データ読み出し部，  ５６２  余り領域，  ５８２  余り領域，  ６１１  CPU，  ６１９  HDD，  ６６１  磁気ディスク，  ６６２  光ディスク，  ６６３  光磁気ディスク，  ６６４  半導体メモリ
【図１】
2005339628.tif 000003
【図２】
2005339628.tif 000004
【図３】
2005339628.tif 000005
【図４】
2005339628.tif 000006
【図５】
2005339628.tif 000007
【図６】
2005339628.tif 000008
【図７】
2005339628.tif 000009
【図８】
2005339628.tif 000010
【図９】
2005339628.tif 000011
【図１０】
2005339628.tif 000012
【図１１】
2005339628.tif 000013
【図１２】
2005339628.tif 000014
【図１３】
2005339628.tif 000015
【図１４】
2005339628.tif 000016
【図１５】
2005339628.tif 000017
【図１６】
2005339628.tif 000018
【図１７】
2005339628.tif 000019
【図１８】
2005339628.tif 000020
【図１９】
2005339628.tif 000021
【図２０】
2005339628.tif 000022
【図２１】
2005339628.tif 000023
【図２２】
2005339628.tif 000024
【図２３】
2005339628.tif 000025
【図２４】
2005339628.tif 000026
【図２５】
2005339628.tif 000027
【図２６】
2005339628.tif 000028
【図２７】
2005339628.tif 000029
【図２８】
2005339628.tif 000030
【図２９】
2005339628.tif 000031
【図３０】
2005339628.tif 000032
【図３１】
2005339628.tif 000033
【図３２】
2005339628.tif 000034
【図３３】
2005339628.tif 000035