(57)【要約】【課題】記録媒体において、利用可能な記録領域を減少させることなく、所定のデータのバックアップデータを記録する。【解決手段】動画像ファイル、音声ファイル、およびインデックスファイルに関係する管理情報ファイルのバックアップデータが記録される場合、位置算出部２１２により、動画像ファイル、音声ファイル、およびインデックスファイルを記録しているクラスタについて、少なくとも１つのクラスタの中のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な空き領域が始まる位置が算出され、記録容量算出部２１３により、空き領域の記録容量が算出され、記録制御部２１５により、算出された位置および記録容量を基に、空き領域へのバックアップデータの記録が制御される。本発明は、デジタルビデオカメラに適用することができる。【選択図】図３
2005332426.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１のファイルに関係する第２のファイルのバックアップデータを記録する記録装置において、
それぞれの前記第１のファイルを記録している記録領域について、少なくとも１つの前記記録領域の中の前記第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出手段と、
前記記録可能領域の記録容量を算出する記録容量算出手段と、
算出された前記位置および前記記録容量を基に、前記記録可能領域への前記バックアップデータの記録を制御する記録制御手段と
を含むことを特徴とする記録装置。
【請求項２】
前記記録容量が前記バックアップデータのデータ量より大きいか否か判定する判定手段をさらに含み、
前記記録制御手段は、前記記録容量が前記データ量より大きいと判定された場合、前記記録可能領域への前記バックアップデータの記録を制御する
ことを特徴とする請求項１に記載の記録装置。
【請求項３】
前記記録容量算出手段は、１つの第１のファイルを記録している１つの前記記録領域の中の前記記録可能領域の記録容量と、他の第１のファイルを記録している他の記録領域における、前記他の記録領域の中の前記他の第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な他の記録可能領域の他の記録容量とを加算することによって総記録容量を算出し、
前記判定手段は、前記総記録容量が前記データ量より大きいか否かを判定し、
前記記録制御手段は、前記総記録容量が前記データ量より大きいと判定された場合、前記記録可能領域と前記他の記録可能領域とに前記バックアップデータを分けて記録するように記録を制御する
ことを特徴とする請求項２に記載の記録装置。
【請求項４】
前記位置算出手段は、前記第１のファイルが記録されている前記記録領域であるクラスタであって、最後のクラスタにおける前記位置を算出し、
前記クラスタのアドレスと前記位置を示す情報とを対応して格納するリストを生成する生成手段をさらに含む
ことを特徴とする請求項３に記載の記録装置。
【請求項５】
前記記録制御手段は、FAT（File Allocation Tables）ファイルシステムが適用されているデータ記録媒体に前記第１のファイルおよび前記第２のファイルが記録されている場合、前記データ記録媒体における、BPB（BIOS（Basic Input/Output System） Parameter Block）と、FATが格納される領域との間に設けられる領域に前記リストを記録するように、さらに記録を制御する
ことを特徴とする請求項４に記載の記録装置。
【請求項６】
複数の第１のファイルに関係する第２のファイルのバックアップデータを記録する記録装置の記録方法であって、
それぞれの前記第１のファイルを記録している記録領域について、少なくとも１つの前記記録領域の中の前記第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、
前記記録可能領域の記録容量を算出する記録容量算出ステップと、
算出された前記位置および前記記録容量を基に、前記記録可能領域への前記バックアップデータの記録を制御する記録制御ステップと
を含むことを特徴とする記録方法。
【請求項７】
複数の第１のファイルに関係する第２のファイルのバックアップデータを記録する記録処理用のプログラムであって、
それぞれの前記第１のファイルを記録している記録領域について、少なくとも１つの前記記録領域の中の前記第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、
前記記録可能領域の記録容量を算出する記録容量算出ステップと、
算出された前記位置および前記記録容量を基に、前記記録可能領域への前記バックアップデータの記録を制御する記録制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項８】
複数の第１のファイルに関係する第２のファイルのバックアップデータを記録する記録処理をコンピュータに行わせるプログラムであって、
それぞれの前記第１のファイルを記録している記録領域について、少なくとも１つの前記記録領域の中の前記第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、
前記記録可能領域の記録容量を算出する記録容量算出ステップと、
算出された前記位置および前記記録容量を基に、前記記録可能領域への前記バックアップデータの記録を制御する記録制御ステップと
を含むことを特徴とするプログラム。
【請求項９】
複数の第１のファイルを記録している第１の記録領域の中の前記第１のファイルの記録に利用されていない第２の記録領域に、複数の前記第１のファイルに関係する第２のファイルのバックアップデータが記録されているデータ記録媒体から前記バックアップデータを読み出す読み出し装置において、
前記第１の記録領域における前記第２の記録領域の位置を示す位置情報を取得する取得手段と、
取得された前記位置情報を基に、前記第２の記録領域から前記バックアップデータの読み出しを制御する読み出し制御手段と
を含むことを特徴とする読み出し装置。
【請求項１０】
前記取得手段は、前記第１のファイルが記録されているクラスタであって、最後のクラスタにおける前記第２の記録領域の位置を示す前記位置情報と前記クラスタのアドレスとを対応して格納するリストから、前記位置情報を取得する
ことを特徴とする請求項９に記載の読み出し装置。
【請求項１１】
前記位置情報を前記第１の記録領域から算出する算出手段をさらに含み、
前記算出手段は、前記取得手段が前記位置情報を取得することができなかった場合、前記位置情報を算出する
ことを特徴とする請求項１０に記載の読み出し装置。
【請求項１２】
複数の第１のファイルを記録している第１の記録領域の中の前記第１のファイルの記録に利用されていない第２の記録領域に、複数の前記第１のファイルに関係する第２のファイルのバックアップデータが記録されているデータ記録媒体から前記バックアップデータを読み出す読み出し装置の読み出し方法であって、
前記第１の記録領域における前記第２の記録領域の位置を示す位置情報を取得する取得ステップと、
取得された前記位置情報を基に、前記第２の記録領域から前記バックアップデータの読み出しを制御する読み出し制御ステップと
を含むことを特徴とする読み出し方法。
【請求項１３】
複数の第１のファイルを記録している第１の記録領域の中の前記第１のファイルの記録に利用されていない第２の記録領域に、複数の前記第１のファイルに関係する第２のファイルのバックアップデータが記録されているデータ記録媒体から前記バックアップデータを読み出す読み出し処理用のプログラムであって、
前記第１の記録領域における前記第２の記録領域の位置を示す位置情報を取得する取得ステップと、
取得された前記位置情報を基に、前記第２の記録領域から前記バックアップデータの読み出しを制御する読み出し制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１４】
複数の第１のファイルを記録している第１の記録領域の中の前記第１のファイルの記録に利用されていない第２の記録領域に、複数の前記第１のファイルに関係する第２のファイルのバックアップデータが記録されているデータ記録媒体から前記バックアップデータを読み出す読み出し処理をコンピュータに行わせるプログラムであって、
前記第１の記録領域における前記第２の記録領域の位置を示す位置情報を取得する取得ステップと、
取得された前記位置情報を基に、前記第２の記録領域から前記バックアップデータの読み出しを制御する読み出し制御ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラムに関し、特に、例えば、ハードディスクなどの記録媒体において、記録領域の未使用領域を利用することなく、所定のデータのバックアップデータを記録することができるようにした記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
従来、例えば、デジタルビデオカメラやデジタルスチルカメラ、PC(Personal Computer)や携帯電話機、および据え置き型ビデオレコーダなどにおいては、ハードディスクなどのランダムアクセス可能な記録媒体に、静止画像、動画像、または音声(または音楽)といった各種データが、FAT（File Allocation Tables）などのファイルシステムによって、ファイルとして記録されていた。
【０００３】
FAT32などのファイルシステムにおいては、１つのクラスタに、ファイルの名前やファイルに格納される実際のデータ（以下、適宜、実データと称する）へのエントリポイントなどを示すディレクトリエントリが記録され、論理フォーマット上のアドレスにおいて、ディレクトリエントリが記録されたクラスタの後のクラスタに、ディレクトリエントリに対応するファイルの実データが記録される。
【０００４】
FATなどのファイルシステムにおいて、所定のデータのバックアップデータを記録する技術が種々提案されている。
【０００５】
例えば、特許文献１には、記録される画像データの量などを基に、HDD（Hard Disk Drive）やHDDに挿入されたディスクにバックアップ領域を設け、そのバックアップ領域に、画像データのFATやディレクトリのバックアップを記録または更新することが開示されている。
【特許文献１】特開平１０−５１７２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術においては、データのバックアップデータを記録するために、記録媒体における未使用の記録領域（ファイルが記録されていない領域）を、新たに消費してしまう。このため、バックアップデータが記録されることで、記録媒体の利用可能な記録領域を減少させてしまうという課題があった。
【０００７】
また、記録媒体におけるクラスタにおいては、１バイトまたは１ビットでもデータが記録されてしまった場合、そのクラスタは、まだデータを記録することが可能であっても、ファイルシステムによって、使用済み（データを記録済み）のクラスタであると認識されてしまっていた。すなわち、ファイル（データ）が記録されているクラスタにおいて、最後にファイルが記録される最終のクラスタにおいては、クラスタ全体に有効なデータが記録されないことが多く、充分にデータを記録することが可能であっても、利用されることがなく、クラスタ内の記録領域に無駄がでる（記録領域が有効活用されていない）という課題があった。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、記録媒体において、今まで有効活用されていなかった記録領域を利用し、ファイルの記録に利用可能な記録領域を減少させることなく、所定のファイルのバックアップデータを記録することができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の記録装置は、それぞれの第１のファイルを記録している記録領域について、少なくとも１つの記録領域の中の第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出手段と、記録可能領域の記録容量を算出する記録容量算出手段と、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御手段とを含むことを特徴とする。
【００１０】
記録装置は、記録容量がバックアップデータのデータ量より大きいか否か判定する判定手段をさらに設け、記録制御手段が、記録容量がデータ量より大きいと判定された場合、記録可能領域へのバックアップデータの記録を制御するようにすることができる。
【００１１】
記録装置は、記録容量算出手段が、１つの第１のファイルを記録している１つの記録領域の中の記録可能領域の記録容量と、他の第１のファイルを記録している他の記録領域における、他の記録領域の中の他の第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な他の記録可能領域の他の記録容量とを加算することによって総記録容量を算出し、判定手段は、総記録容量がデータ量より大きいか否かを判定し、記録制御手段は、総記録容量がデータ量より大きいと判定された場合、記録可能領域と他の記録可能領域とにバックアップデータを分けて記録するように記録を制御するようにすることができる。
【００１２】
記録装置は、位置算出手段が、第１のファイルが記録されている記録領域であるクラスタであって、最後のクラスタにおける位置を算出し、クラスタのアドレスと位置を示す情報とを対応して格納するリストを生成する生成手段をさらに設けることができる。
【００１３】
記録装置は、記録制御手段が、FAT（File Allocation Tables）ファイルシステムが適用されているデータ記録媒体に第１のファイルおよび第２のファイルが記録されている場合、データ記録媒体における、BPB（BIOS（Basic Input/Output System） Parameter Block）と、FATが格納される領域との間に設けられる領域にリストを記録するように、さらに記録を制御するようにすることができる。
【００１４】
本発明の記録方法は、それぞれの第１のファイルを記録している記録領域について、少なくとも１つの記録領域の中の第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、記録可能領域の記録容量を算出する記録容量算出ステップと、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御ステップとを含むことを特徴とする。
【００１５】
本発明の記録媒体のプログラムは、それぞれの第１のファイルを記録している記録領域について、少なくとも１つの記録領域の中の第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、記録可能領域の記録容量を算出する記録容量算出ステップと、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御ステップとを含むことを特徴とする。
【００１６】
本発明のプログラムは、それぞれの第１のファイルを記録している記録領域について、少なくとも１つの記録領域の中の第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、記録可能領域の記録容量を算出する記録容量算出ステップと、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御ステップとを実行させる。
【００１７】
本発明の読み出し装置は、第１の記録領域における第２の記録領域の位置を示す位置情報を取得する取得手段と、取得された位置情報を基に、第２の記録領域からバックアップデータの読み出しを制御する読み出し制御手段とを含むことを特徴とする。
【００１８】
読み出し装置は、位置情報を第１の記録領域から算出する算出手段をさらに設け、算出手段は、取得手段が位置情報を取得することができなかった場合、位置情報を算出するようにすることができる。
【００１９】
本発明の読み出し方法は、第１の記録領域における第２の記録領域の位置を示す位置情報を取得する取得ステップと、取得された位置情報を基に、第２の記録領域からバックアップデータの読み出しを制御する読み出し制御ステップとを含むことを特徴とする。
【００２０】
本発明の記録媒体のプログラムは、第１の記録領域における第２の記録領域の位置を示す位置情報を取得する取得ステップと、取得された位置情報を基に、第２の記録領域からバックアップデータの読み出しを制御する読み出し制御ステップとを含むことを特徴とする。
【００２１】
本発明のプログラムは、第１の記録領域における第２の記録領域の位置を示す位置情報を取得する取得ステップと、取得された位置情報を基に、第２の記録領域からバックアップデータの読み出しを制御する読み出し制御ステップとを実行させる。
【００２２】
第１の本発明においては、それぞれの第１のファイルを記録している記録領域について、少なくとも１つの記録領域の中の第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置が算出され、記録可能領域の記録容量が算出され、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録が制御される。
【００２３】
第２の本発明においては、第１の記録領域における第２の記録領域の位置を示す位置情報が取得され、取得された位置情報を基に、第２の記録領域からバックアップデータの読み出しが制御される。
【発明の効果】
【００２４】
本発明によれば、所定のデータのバックアップデータを記録することができる。特に、例えば、ハードディスクなどの記録媒体において、記録媒体の未使用の記録領域を、新たに消費することなく、バックアップデータを記録することができる。
【発明を実施するための最良の形態】
【００２５】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２６】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００２７】
本発明によれば、記録装置が提供される。この記録装置（例えば、図１のデジタルビデオカメラ１００）は、複数の第１のファイル（例えば、図１２の動画像ファイル）に関係する第２のファイル（例えば、図１２の管理情報ファイル）のバックアップデータを記録する記録装置であって、それぞれの第１のファイルを記録している記録領域（例えば、図１２のクラスタ４６１−２−ｎ）について、少なくとも１つの記録領域の中の第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域（例えば、図１２の空き領域４６３−２）が始まる位置を算出する位置算出手段（例えば、図３の位置算出部２１２）と、記録可能領域の記録容量を算出する記録容量算出手段（例えば、図３の記録容量算出部２１３）と、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御手段（例えば、図３の記録制御部２１５）とを含む。
【００２８】
この記録装置は、記録容量がバックアップデータのデータ量より大きいか否か判定する判定手段（例えば、図３のデータ量判定部２１４）をさらに含み、記録制御手段は、記録容量がデータ量より大きいと判定された場合、記録可能領域へのバックアップデータの記録を制御するようにすることができる。
【００２９】
この記録装置は、記録容量算出手段は、１つの第１のファイルを記録している１つの記録領域の中の記録可能領域の記録容量と、他の第１のファイル（例えば、図１２の音声ファイル）を記録している他の記録領域（例えば、図１２のクラスタ４６１−３−ｍ）における、他の記録領域の中の他の第１のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な他の記録可能領域（例えば、図１２の空き領域４６３−３）の他の記録容量とを加算することによって総記録容量を算出し、判定手段は、総記録容量がデータ量より大きいか否かを判定し、記録制御手段は、総記録容量がデータ量より大きいと判定された場合、記録可能領域と他の記録可能領域とにバックアップデータを分けて記録するように記録を制御するようにすることができる。
【００３０】
この記録装置は、位置算出手段が、第１のファイルが記録されている記録領域であるクラスタであって、最後のクラスタにおける位置を算出し、クラスタのアドレスと位置を示す情報とを対応して格納するリストを生成する生成手段（例えば、図３のリスト生成更新部２１１）をさらに設けることができる。
【００３１】
この記録装置は、記録制御手段が、FAT（File Allocation Tables）ファイルシステムが適用されている記録媒体（例えば、図７のハードディスク１７３）に第１のファイルおよび第２のファイルが記録されている場合、記録媒体における、BPB（BIOS（Basic Input/Output System） Parameter Block）（例えば、図７のBPB３０１）と、FATが格納される領域（例えば、図７の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１１４は、デバイスドライバ１８２からセクタ単位の読み出しが要求された場合、セクタ毎に記録されているデータをデバイスドライバ１８２に供給する。
【００７３】
デバイスドライバ１８２は、ファイルシステム１８１に対し、クラスタ単位でのアクセスの要求に対する応答を行う。例えば、デバイスドライバ１８２は、ファイルシステム１８１に対し、クラスタ毎に記録されている実データをファイルシステム１８１に供給する。ファイルシステム１８１は、アプリケーションプログラム１７１に対して、ファイル単位でのアクセスの要求に対する応答を行う。例えば、ファイルシステム１８１は、ファイルをアプリケーションプログラム１７１に供給する。
【００７４】
図３は、ファイルシステム１８１のより詳細な構成を説明するブロック図である。ファイルシステム１８１には、バックアップデータ管理プログラム１９１が含まれている。バックアップデータ管理プログラム１９１は、ハードディスク１７３における、例えば、FAT32のファイルシステムにおいて、所定のファイルのバックアップデータの記録また読み出しを行うプログラムである。
【００７５】
バックアップ管理プログラム１９１は、さらに、ユーザ指示取得部２０１、バックアップデータ記録部２０２、バックアップデータ読み出し部２０３、およびオフセット情報リスト２０４を含む。オフセット情報リスト２０４は、オフセット情報として、バックアップデータが記録されるクラスタのクラスタ番号と、そのクラスタにおけるバックアップデータの記録が開始される位置（オフセット位置）とが対応して格納されている。なお、オフセット情報リスト２０４の詳細は、図１３を参照して後述する。
【００７６】
ユーザ指示取得部２０１は、ユーザが操作入力部１２３を操作することにより入力される、入力情報（ユーザからの指示）を取得し、取得した入力情報を基に、所定の判定の処理を行う。また、ユーザ指示取得部２０１は、取得した入力情報をバックアップデータ記録部２０２およびバックアップデータ読み出し部２０３に出力する。
【００７７】
バックアップデータ記録部２０２は、リスト生成更新部２１１、位置算出部２１２、記録容量算出部２１３、データ量判定部２１４、および記録制御部２１５により構成される。
【００７８】
リスト生成更新部２１１は、ユーザ指示取得部２０１より供給された入力情報、後述するデータ量判定部２１４より供給された判定結果、および記録制御部２１５より供給された記録状況を基に、オフセット情報リスト２０４を生成または更新する処理を実行し、バックアップデータを記録するクラスタを示す情報を位置算出部２１２および記録制御部２１５に出力する。
【００７９】
位置算出部２１２は、リスト生成更新部２１１より供給されたクラスタを示す情報を基に、バックアップデータを記録しようとするクラスタにおける空き領域が開始される位置を算出し、算出した位置を示す情報（オフセット位置）をリスト生成更新部２１１および記録容量算出部２１３に出力する。
【００８０】
記録容量算出部２１３は、位置算出部２１２より供給された情報を基に、バックアップデータを記録しようとするクラスタにおける、空き領域の記録容量を算出し、算出した記録容量をデータ量判定部２１４に出力する。
【００８１】
データ量判定部２１４は、記録容量算出部２１３より供給された記録容量が、バックアップデータのデータ量より大きいか否かを判定し、その判定結果をリスト生成更新部２１１に出力する。
【００８２】
記録制御部２１５は、リスト生成更新部２１１より供給されたクラスタを示す情報を基に、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）３４１、およびファイルサイズ３４２が順に配置される。
【０１１５】
図１０のフローチャートを参照して、所定のファイルのバックアップデータを管理（記録、読み出し、および削除）する、バックアップデータの管理の処理を説明する。なお、バックアップデータの管理の処理は、デジタルビデオカメラ１００の起動と共に開始される。
【０１１６】
ステップＳ３０１において、ユーザ指示取得部２０１は、操作入力部１２３からの信号を基に、ファイルの記録が指示されたか否かを判定する。ステップＳ３０１において、ファイルの記録が指示されたと判定された場合、ステップＳ３０２に進み、記録制御部２１５は、ファイルを記録する。すなわち、図７で示されるFAT領域３０２に配置される、FAT（図８参照）に、ファイルの実データが記録されるクラスタのクラスタ番号が格納され、データ領域３０４に、ファイルのディレクトリエントリおよび実データが記録される。
【０１１７】
ステップＳ３０３において、バックアップデータ記録部２０２は、バックアップデータの記録の処理を実行する。その詳細は、図１１のフローチャートを参照して後述するが、この処理により、記録が指示されたファイルを管理するデータ（ファイル）のバックアップデータを記録する処理が実行される。
【０１１８】
ステップＳ３０４において、ユーザ指示取得部２０１は、操作入力部１２３の信号を基に停止が指示されたか否かを判定する。すなわち、ユーザにより操作入力部１２３が操作されることにより、デジタルビデオカメラ１００の電源がオフにされたか否かが判定される。
【０１１９】
ステップＳ３０４において、停止が指示されたと判定された場合（電源がオフにされた場合）、バックアップデータの管理の処理は終了する。ステップＳ３０４において、停止が指示されていないと判定された場合（電源がオンの状態の場合）、手続きは、ステップＳ３０１に戻り、上述した処理が繰り返される。
【０１２０】
一方、ステップＳ３０１において、ファイルの記録が指示されていないと判定された場合、ステップＳ３０５に進み、ユーザ指示取得部２０１は、操作入力部１２３からの信号を基に、ファイルの読み出しが指示されたか否かを判定する。ユーザが操作入力部１２３を操作することにより、動画像データや静止画像データなどに対応するファイルを読み出すこと、すなわちファイルを開くことが指示されたか否かが判定される。
【０１２１】
ステップＳ３０５において、ファイルの読み出しが指示されたと判定された場合、ステップＳ３０６に進み、読み出し制御部２２４は、ファイルを読み出す。すなわち、図７で示されるデータ領域３０４に格納されているディレクトリエントリ（図９参照）の先頭クラスタ番号（図９の先頭クラスタ番号（High）３３８および先頭クラスタ番号（Low）３４１）が検出され、FAT領域３０２に配置されるFAT（図８参照）のクラスタ番号が検索され、データ領域３０４に格納されている実データが読み出される。
【０１２２】
ステップＳ３０７において、バックアップデータ読み出し部２０３は、読み出されるファイルにエラーがあるか否かを判定する。
【０１２３】
ステップＳ３０７において、読み出されるファイルにエラーがあると判定された場合、ステップＳ３０８に進み、バックアップデータ読み出し部２０３は、読み出しが指示されたファイルのバックアップデータが記録されているか否かを判定する。なお、バックアップデータが記録されているか否かは、図１１のステップＳ３４１を参照して後述する、フラグを基に判定される。
【０１２４】
ステップＳ３０８において、バックアップデータが記録されていると判定された場合、ステップＳ３０９に進み、バックアップデータ読み出し部２０３は、バックアップデータの読み出しの処理を実行する。その詳細は、図１４のフローチャートを参照して後述するが、この処理により、読み出しにおいて、エラーが生じたファイルのバックアップデータを読み出す処理が実行される。
【０１２５】
ステップＳ３１０において、バックアップデータ読み出し部２０３は、ステップＳ３０９の処理により読み出されたバックアップデータを、ステップＳ３０７の処理によりエラーがあったと判定された、ファイルが記録されているクラスタ上に上書き（記録）する。
【０１２６】
その後、手続きは、ステップＳ３０４に進み、上述した処理が実行される。
【０１２７】
なお、バックアップデータを上書きせずに、そのまま利用するようにしてもよい。バックアップデータが、上書きされずに利用される場合、ステップＳ３１０の処理は省略される。
【０１２８】
一方、ステップＳ３０８において、バックアップデータが記録されているファイルがないと判定された場合、ステップＳ３０９およびステップＳ３１０の処理はスキップされ、手続きはステップＳ３０４に進み、上述した処理が実行される。
【０１２９】
ステップＳ３０７において、読み出されたファイルにエラーがないと判定された場合、ステップＳ３０８乃至ステップＳ３１０の処理はスキップされ、手続きは、ステップＳ３０４に進む。
【０１３０】
一方、ステップＳ３０５において、ファイルの読み出しが指示されていないと判定された場合、ステップＳ３１１に進み、ユーザ指示取得部２０１は、ファイルの削除が指示されたか否かを判定する。ステップＳ３１１において、ファイルの削除が指示されたと判定された場合、ステップＳ３１２に進み、バックアップデータ記録部２０２は、ファイルの削除の処理を実行する。その詳細は、図１５のフローチャートを参照して後述するが、この処理により、削除が指示されたファイルと、バックアップデータに関するデータとが削除される。
【０１３１】
ステップＳ３１２の処理の後、手続きは、ステップＳ３０４に進み、上述した処理が実行される。
【０１３２】
また、ステップＳ３１１の処理において、ファイルの削除が指示されていないと判定された場合、手続きは、ステップＳ３０４に進む。
【０１３３】
図１１のフローチャートを参照して、図１０のステップＳ３０３に対応する、バックアップデータの記録の処理を説明する。ステップＳ３３１において、リスト生成更新部２１１は、複数回の図１０のステップＳ３０２の処理においてそれぞれ記録されたファイルのうち、バックアップしない、複数のファイルの最終クラスタのクラスタ番号（以下、最終クラスタ番号と称する）を読み出す。最終クラスタとは、ハードディスク１７３において、ファイルの実データが記録されたクラスタの中で、実データが記録された最後のクラスタのことである。ここで、最後とは、ファイルの実データが記録されたクラスタの連鎖において、最後であることをいう。最後のクラスタに対する、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で必要とされるデータ構造を崩すものではなく、互換性が保たれているものである。
【０１９０】
図１６は、本発明を適用したパーソナルコンピュータ６０１の構成例を示すブロック図である。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の例を示す図である。
【図９】ディレクトリエントリの構成例を示す図である。
【図１０】バックアップデータの管理の処理を説明するフローチャートである。
【図１１】バックアップデータの記録の処理を説明するフローチャートである。
【図１２】最終クラスタの空き領域を説明する図である。
【図１３】オフセット情報リストの例を示す図である。
【図１４】バックアップデータの読み出しの処理を説明するフローチャートである。
【図１５】ファイルの削除の処理を説明するフローチャートである。
【図１６】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２０３】
１００  デジタルビデオカメラ，  １１１  CPU，  １１４  ハードディスクドライブ，  １７３  ハードディスク，  １８１  ファイルシステム，  １８２  デバイスドライバ，  １４１  磁気ディスク，  １４２  光ディスク，  １４３  光磁気ディスク，  １４４  半導体メモリ，  １９１  バックアップデータ管理プログラム，  ２０２  バックアップデータ記録部，  ２０３  バックアップデータ読み出し部，  ２０４  オフセット情報リスト，  ２１１  リスト生成更新部，  ２１２  位置算出部，  ２１３  記録容量算出部，  ２１４  データ量判定部，  ２１５  記録制御部，  ２２１  記録クラスタ検索部，  ２２２  記録位置検出部，  ２２３  記録位置算出部，  ２２４  読み出し制御部，  ４６１−１−１乃至４６１−４−p  クラスタ，  ４６２−１乃至４６２−４  格納済領域，  ４６３−１乃至４６３−４  空き領域，  ４７１−１乃至４７１−６４  クラスタ番号，  ４７２−１乃至４７２−６４  オフセット位置，  ６０１  パーソナルコンピュータ，  ６１１  CPU，  ６１９  HDD，  ６６１  磁気ディスク，  ６６２  光ディスク，  ６６３  光磁気ディスク，  ６６４  半導体メモリ
【図１】
2005332426.tif 000003
【図２】
2005332426.tif 000004
【図３】
2005332426.tif 000005
【図４】
2005332426.tif 000006
【図５】
2005332426.tif 000007
【図６】
2005332426.tif 000008
【図７】
2005332426.tif 000009
【図８】
2005332426.tif 000010
【図９】
2005332426.tif 000011
【図１０】
2005332426.tif 000012
【図１１】
2005332426.tif 000013
【図１２】
2005332426.tif 000014
【図１３】
2005332426.tif 000015
【図１４】
2005332426.tif 000016
【図１５】
2005332426.tif 000017
【図１６】
2005332426.tif 000018