(57)【特許請求の範囲】
【請求項１】
記憶媒体に記録すべきデータとして、１回のデータ書込要求ごとに応じて記憶媒体に書き込むべきデータの単位である要求応答書込データを取得する記録データ取得手段と、
記憶媒体の記憶領域において連続的に形成した所定容量の単位領域にデータを書き込むようにして上記記憶媒体に対するデータ記録を実行するもので、１回のデータ書込要求に対応する要求応答書込データが、２以上の上記単位領域を使用して書き込まれ、かつ、その先頭及び／又は終端が上記単位領域における中途位置に書き込まれる場合には、上記中途位置を含む単位領域に対して格納すべき要求応答書込データ部分を書き込む部分書込処理と、上記中途位置を含まずに書込要求データを成すデータのみを格納する論理的に連続した1以上の単位領域に対して格納すべき要求応答書込データ部分を書き込む部分書込処理とを行うことにより、データ記録を実行するようにされたデータ記録手段と、
ファイルのデータが記憶されるのと同じ上記記憶媒体に記憶され、上記単位領域によりファイルを形成するデータを管理するようにされた管理情報を利用して、ファイルの管理を行うファイル管理手段と、
２以上の上記部分書込処理により上記要求応答書込データを上記記憶媒体に記録するときには、部分書込処理の完了ごとに応じたタイミングでの上記管理情報の更新処理を挿入させることなく、順次的な部分書込処理による要求応答書込データの記録を上記データ記録手段に実行させる記録制御手段と、
上記順次的な部分書込処理による要求応答書込データの記録が完了した後のタイミングにおいて、これらの部分書込処理の全ての結果が反映されるようにして、上記ファイル管理手段に上記管理情報を更新させるファイル更新制御手段と、
上記記録制御手段の制御により実行される順次的な部分書込処理と、これに続くファイル更新制御手段によるファイル管理情報を更新する処理とを順次的に実行するシーケンス処理の進行に応じた進捗状況が示されるようにして、不揮発性の記憶手段に記憶される進捗情報の内容の書き換えを制御する進捗情報制御手段と、
上記シーケンス処理の完了結果に応じた上記ファイル管理情報及び／又は要求応答書込データ部分に関連する所定の内容を有するバックアップ用情報を、上記シーケンス処理の進行に応じた所定のタイミングで不揮発性の記憶手段に対して書き込み、又は消去するための制御を実行するバックアップ用情報制御手段と、
最後のデータ書込要求に応じた要求応答書込データの書き込みについての実際の結果に対応して、上記ファイル管理情報により適正に管理された状態が得られるようにするために、上記不揮発性の記憶手段に記憶されている進捗情報を参照し、この参照した進捗情報が示す進捗状況に基づいて、上記ファイル管理情報における所定の情報を変更するための制御、又は、必要に応じて上記不揮発性の記憶手段に記憶されている所定の上記バックアップ用情報を利用した記憶媒体への書き込み処理を制御する整合性復帰手段と、
を備え、
上記バックアップ用情報制御手段は、
最後のデータ書込要求に応じた要求応答書込データの書き込みが正常に終了した結果が反映されたファイル管理情報に基づく所定内容のファイル管理関連情報と、最後のデータ書込要求に応じた要求応答書込データ部分のデータ内容を有する補完用実データと、この補完用実データとしての内容を有する要求応答書込データ部分が書き込まれるべき位置を示すデータ部分書込位置情報とを少なくともバックアップ用情報として不揮発性の記憶手段に書き込むようにされるとともに、
上記シーケンス処理において、所定の要求応答書込データ部分を書き込む前のタイミングにて、この所定の要求応答書込データ部分のデータ内容を有する補完用実データと、この所定の要求応答書込データ部分が書き込まれるべき位置を示すデータ部分書込位置情報を不揮発性の記憶手段に書き込むとともに、
上記所定の要求応答書込データ部分の書き込みが終了したタイミングで、上記補完用実データと上記データ部分書込位置情報を上記不揮発性の記憶手段から消去し、
上記整合性復帰手段は、
参照した進捗情報が、最後のデータ書込要求に応じた要求応答書込データを形成する全ての要求応答書込データ部分の書き込みを完了していないタイミングで、かつ、上記補完用実データとしての要求応答書込データ部分を併せて要求応答書込データが完成できるまでの要求応答書込データ部分についての記憶媒体への書き込みが終了しているタイミングでの上記シーケンス処理の中途となる進捗状況を示している場合には、
上記バックアップ用情報における上記補完用実データを、上記データ部分書込位置情報が示す記憶媒体上の位置に書き込む制御を実行するとともに、バックアップ用情報におけるファイル管理関連情報を利用して、最後のデータ書込要求に応じた要求応答書込データが記憶媒体に記憶されているものとして適正に管理されるようにファイル管理情報を書き換える
データ記録装置。
【請求項２】
上記記録データ取得手段は、
上記要求応答書込データとして、１つの所定形式のファイルを形成するデータの全て又は一部であって、この形式のファイルを形成するものとして所定の意義を持つデータ単位が１以上連続して形成されるデータを取得するようにされている、
ことを特徴とする請求項１に記載のデータ記録装置。
【請求項３】
上記記録データ取得手段は、
所定方式により圧縮符号化されたデータを有する形式のファイルの上記要求応答書込データを取得するものとされており、
この要求応答書込データにおける上記所定の意義を持つデータ単位は、圧縮符号化に対する復号処理に必要な最小単位とされる、
ことを特徴とする請求項２に記載のデータ記録装置。
【請求項４】
記憶媒体に記録すべきデータとして、１回のデータ書込要求ごとに応じて記憶媒体に書き込むべきデータの単位である要求応答書込データを取得する記録データ取得手順と、
記憶媒体の記憶領域において連続的に形成した所定容量の単位領域にデータを書き込むようにして上記記憶媒体に対するデータ記録を実行するもので、１回のデータ書込要求に対応する要求応答書込データが、２以上の上記単位領域を使用して書き込まれ、かつ、その先頭及び／又は終端が上記単位領域における中途位置に書き込まれる場合には、上記中途位置を含む単位領域に対して格納すべき要求応答書込データ部分を書き込む部分書込処理と、上記中途位置を含まずに書込要求データを成すデータのみを格納する論理的に連続した1以上の単位領域に対して格納すべき要求応答書込データ部分を書き込む部分書込処理とを行うことにより、データ記録を実行するようにされたデータ記録手順と、
ファイルのデータが記憶されるのと同じ上記記憶媒体に記憶され、上記単位領域によりファイルを形成するデータを管理するようにされた管理情報を利用して、ファイルの管理を行うファイル管理手順と、
２以上の上記部分書込処理により上記要求応答書込データを上記記憶媒体に記録するときには、部分書込処理の完了ごとに応じたタイミングでの上記管理情報の更新処理を挿入させることなく、順次的な部分書込処理による要求応答書込データの記録が上記データ記録手順により実行されるように制御する記録制御手順と、
上記順次的な部分書込処理による要求応答書込データの記録が完了した後のタイミングにおいて、これらの部分書込処理の全ての結果が反映されるようにして、上記ファイル管理手順により上記管理情報が更新されるように制御するファイル更新制御手順と、
上記記録制御手順において実行される順次的な部分書込処理と、これに続くファイル更新制御手順におけるファイル管理情報を更新する処理とを順次的に実行するシーケンス処理の進行に応じた進捗状況が示されるようにして、不揮発性の記憶手段に記憶される進捗情報の内容の書き換えを制御する進捗情報制御手順と、
上記シーケンス処理の完了結果に応じた上記ファイル管理情報及び／又は要求応答書込データ部分に関連する所定の内容を有するバックアップ用情報を、上記シーケンス処理の進行に応じた所定のタイミングで不揮発性の記憶手段に対して書き込み、又は消去するための制御を実行するバックアップ用情報制御手順と、
最後のデータ書込要求に応じた要求応答書込データの書き込みについての実際の結果に対応して、上記ファイル管理情報により適正に管理された状態が得られるようにするために、上記不揮発性の記憶手段に記憶されている進捗情報を参照し、この参照した進捗情報が示す進捗状況に基づいて、上記ファイル管理情報における所定の情報を変更するための制御、又は、必要に応じて上記不揮発性の記憶手段に記憶されている所定の上記バックアップ用情報を利用した記憶媒体への書き込み処理を制御する整合性復帰手順と、
を実行し、
上記バックアップ用情報制御手順においては、
最後のデータ書込要求に応じた要求応答書込データの書き込みが正常に終了した結果が反映されたファイル管理情報に基づく所定内容のファイル管理関連情報と、最後のデータ書込要求に応じた要求応答書込データ部分のデータ内容を有する補完用実データと、この補完用実データとしての内容を有する要求応答書込データ部分が書き込まれるべき位置を示すデータ部分書込位置情報とを少なくともバックアップ用情報として不揮発性の記憶手段に書き込むようにされるとともに、
上記シーケンス処理において、所定の要求応答書込データ部分を書き込む前のタイミングにて、この所定の要求応答書込データ部分のデータ内容を有する補完用実データと、この所定の要求応答書込データ部分が書き込まれるべき位置を示すデータ部分書込位置情報を不揮発性の記憶手段に書き込むとともに、
上記所定の要求応答書込データ部分の書き込みが終了したタイミングで、上記補完用実データと上記データ部分書込位置情報を上記不揮発性の記憶手段から消去し、
上記整合性復帰手順においては、
参照した進捗情報が、最後のデータ書込要求に応じた要求応答書込データを形成する全ての要求応答書込データ部分の書き込みを完了していないタイミングで、かつ、上記補完用実データとしての要求応答書込データ部分を併せて要求応答書込データが完成できるまでの要求応答書込データ部分についての記憶媒体への書き込みが終了しているタイミングでの上記シーケンス処理の中途となる進捗状況を示している場合には、
上記バックアップ用情報における上記補完用実データを、上記データ部分書込位置情報が示す記憶媒体上の位置に書き込む制御を実行するとともに、バックアップ用情報におけるファイル管理関連情報を利用して、最後のデータ書込要求に応じた要求応答書込データが記憶媒体に記憶されているものとして適正に管理されるようにファイル管理情報を書き換える
データ記録方法。
【請求項５】
記憶媒体に記録すべきデータとして、１回のデータ書込要求ごとに応じて記憶媒体に書き込むべきデータの単位である要求応答書込データを取得する記録データ取得手順と、
記憶媒体の記憶領域において連続的に形成した所定容量の単位領域にデータを書き込むようにして上記記憶媒体に対するデータ記録を実行するもので、１回のデータ書込要求に対応する要求応答書込データが、２以上の上記単位領域を使用して書き込まれ、かつ、その先頭及び／又は終端が上記単位領域における中途位置に書き込まれる場合には、上記中途位置を含む単位領域に対して格納すべき要求応答書込データ部分を書き込む部分書込処理と、上記中途位置を含まずに書込要求データを成すデータのみを格納する論理的に連続した1以上の単位領域に対して格納すべき要求応答書込データ部分を書き込む部分書込処理とを行うことにより、データ記録を実行するようにされたデータ記録手順と、
ファイルのデータが記憶されるのと同じ上記記憶媒体に記憶され、上記単位領域によりファイルを形成するデータを管理するようにされた管理情報を利用して、ファイルの管理を行うファイル管理手順と、
２以上の上記部分書込処理により上記要求応答書込データを上記記憶媒体に記録するときには、部分書込処理の完了ごとに応じたタイミングでの上記管理情報の更新処理を挿入させることなく、順次的な部分書込処理による要求応答書込データの記録が上記データ記録手順により実行されるように制御する記録制御手順と、
上記順次的な部分書込処理による要求応答書込データの記録が完了した後のタイミングにおいて、これらの部分書込処理の全ての結果が反映されるようにして、上記ファイル管理手順により上記管理情報が更新されるように制御するファイル更新制御手順と、
上記記録制御手順において実行される順次的な部分書込処理と、これに続くファイル更新制御手順におけるファイル管理情報を更新する処理とを順次的に実行するシーケンス処理の進行に応じた進捗状況が示されるようにして、不揮発性の記憶手段に記憶される進捗情報の内容の書き換えを制御する進捗情報制御手順と、
上記シーケンス処理の完了結果に応じた上記ファイル管理情報及び／又は要求応答書込データ部分に関連する所定の内容を有するバックアップ用情報を、上記シーケンス処理の進行に応じた所定のタイミングで不揮発性の記憶手段に対して書き込み、又は消去するための制御を実行するバックアップ用情報制御手順と、
最後のデータ書込要求に応じた要求応答書込データの書き込みについての実際の結果に対応して、上記ファイル管理情報により適正に管理された状態が得られるようにするために、上記不揮発性の記憶手段に記憶されている進捗情報を参照し、この参照した進捗情報が示す進捗状況に基づいて、上記ファイル管理情報における所定の情報を変更するための制御、又は、必要に応じて上記不揮発性の記憶手段に記憶されている所定の上記バックアップ用情報を利用した記憶媒体への書き込み処理を制御する整合性復帰手順と、
をデータ記録装置に実行させ、
上記バックアップ用情報制御手順においては、
最後のデータ書込要求に応じた要求応答書込データの書き込みが正常に終了した結果が反映されたファイル管理情報に基づく所定内容のファイル管理関連情報と、最後のデータ書込要求に応じた要求応答書込データ部分のデータ内容を有する補完用実データと、この補完用実データとしての内容を有する要求応答書込データ部分が書き込まれるべき位置を示すデータ部分書込位置情報とを少なくともバックアップ用情報として不揮発性の記憶手段に書き込むようにされるとともに、
上記シーケンス処理において、所定の要求応答書込データ部分を書き込む前のタイミングにて、この所定の要求応答書込データ部分のデータ内容を有する補完用実データと、この所定の要求応答書込データ部分が書き込まれるべき位置を示すデータ部分書込位置情報を不揮発性の記憶手段に書き込むとともに、
上記所定の要求応答書込データ部分の書き込みが終了したタイミングで、上記補完用実データと上記データ部分書込位置情報を上記不揮発性の記憶手段から消去し、
上記整合性復帰手順においては、
参照した進捗情報が、最後のデータ書込要求に応じた要求応答書込データを形成する全ての要求応答書込データ部分の書き込みを完了していないタイミングで、かつ、上記補完用実データとしての要求応答書込データ部分を併せて要求応答書込データが完成できるまでの要求応答書込データ部分についての記憶媒体への書き込みが終了しているタイミングでの上記シーケンス処理の中途となる進捗状況を示している場合には、
上記バックアップ用情報における上記補完用実データを、上記データ部分書込位置情報が示す記憶媒体上の位置に書き込む制御を実行するとともに、バックアップ用情報におけるファイル管理関連情報を利用して、最後のデータ書込要求に応じた要求応答書込データが記憶媒体に記憶されているものとして適正に管理されるようにファイル管理情報を書き換える
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定形式のファイルとして管理されるべきデータを記録するデータ記録装置とその方法に関する。また、このようなデータ記録装置が実行するプログラムに関する。
【背景技術】
【０００２】
デジタルビデオカメラなどの動画撮影が可能なデジタル撮像機器においては、メディア（記憶媒体）に記録すべきデータとして、撮像により得られる動画ファイルを扱うことになるので、使用するメディアとしては相応の大容量が必要となる。以前では、このような要求に応えることのできるメディアとしてテープメディアが主流であった。しかしながら近年では、ビット単価の低下などによる大幅なコストダウンや、耐衝撃性の向上などを背景として、ＨＤＤ(ハードディスクドライブ)も採用されるようになってきている。
【０００３】
元来、ＨＤＤは、コンピュータシステムの補助記憶装置として使用されてきたという経緯から、記録データの管理には、所定フォーマットのファイルシステムを採用することが一般的である。周知のようにして、ファイルシステムは、メディアに記憶されるデータを、ファイル単位により管理するようにされている。そして、このようなファイルシステムの１フォーマットとしては、ＦＡＴファイルシステムが知られている。
【０００４】
ＦＡＴファイルシステムでは、メディアの記憶領域をクラスタといわれる単位領域に分割する。従って、メディアへのファイルの記録は、このクラスタに対してデータを書き込んでいくようにして行われるものとなる。そして、メディアに記録済みとされたファイルは、そのデータの実体が書き込まれたクラスタの連結として管理されるようになっている。周知のように、ＦＡＴファイルシステムでは、上記のようにしてファイルを管理するための管理情報として、ディレクトリエントリと、ＦＡＴ(File Allocation Table)といわれるテーブル情報を使用する。
【０００５】
【特許文献１】特開２００５−６３０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
デジタルビデオカメラのメディアとしてＨＤＤを備える場合においても、これまでと同様のフォーマットのファイルシステムを採用するほうが、新たなファイル管理形式を開発しなくてもよいなど、効率的であり、また順当であることになる。現実のＨＤＤ内蔵デジタルビデオカメラにおいても、例えば上記したＦＡＴファイルシステムなど、これまでに既知とされているファイルシステムのフォーマットが採用されている。
しかしながら、先に述べたように、ＦＡＴなどのファイルシステムは、古くからあるコンピュータシステムのもとで開発されてきたことなどの事情で、ファイルシステムが行うとされる制御のいくつかは、文書ファイルなどの静的なファイルの管理に適したものとなっており、これをそのまま、動画ファイルなどのストリーム的なデータをリアルタイム的に記録していくような場合の制御に適用した場合には、かえって不具合を生じるような場合がある。
上記のようなことを考慮すると、デジタルビデオカメラに対して、ファイルシステムを採用することが順当とされるような記憶媒体を実装するような場合には、基本的にはこれまでと同様のファイルシステムなどのデータ管理フォーマットを採用したうえで、必要な部分については動画などのストリーム的なデータの記録に適化して、信頼性、性能などの向上が図られるようにすることが好ましいといえる。
【課題を解決するための手段】
【０００７】
このために、本発明は上記した課題を考慮して、データ記録装置として次のように構成する。
つまり、記憶媒体に記録すべきデータとして、１回のデータ書込要求ごとに応じて記憶媒体に書き込むべきデータの単位である要求応答書込データを取得する記録データ取得手段と、記憶媒体の記憶領域において連続的に形成した所定容量の単位領域にデータを書き込むようにして記憶媒体に対するデータ記録を実行するもので、１回のデータ書込要求に対応する要求応答書込データが、２以上の上記単位領域を使用して書き込まれ、かつ、その先頭及び／又は終端が単位領域における中途位置に書き込まれる場合には、中途位置を含む単位領域に対して格納すべき要求応答書込データ部分を書き込む部分書込処理と、中途位置を含まずに書込要求データを成すデータのみを格納する論理的に連続した１以上の単位領域に対して格納すべき要求応答書込データ部分を書き込む部分書込処理とを行うことにより、データ記録を実行するようにされたデータ記録手段と、ファイルのデータが記憶されるのと同じ記憶媒体に記憶され、上記単位領域によりファイルを形成するデータを管理するようにされた管理情報を利用して、ファイルの管理を行うファイル管理手段と、２以上の上記部分書込処理により要求応答書込データを記憶媒体に記録するときには、部分書込処理の完了ごとに応じたタイミングでの管理情報の更新処理を挿入させることなく、順次的な部分書込処理による要求応答書込データの記録をデータ記録手段に実行させる記録制御手段と、順次的な部分書込処理による要求応答書込データの記録が完了した後のタイミングにおいて、これらの部分書込処理の全ての結果が反映されるようにしてファイル管理手段に上記管理情報を更新させるファイル更新制御手段と、上記記録制御手段の制御により実行される順次的な部分書込処理と、これに続くファイル更新制御手段によるファイル管理情報を更新する処理とを順次的に実行するシーケンス処理の進行に応じた進捗状況が示されるようにして、不揮発性の記憶手段に記憶される進捗情報の内容の書き換えを制御する進捗情報制御手段と、上記シーケンス処理の完了結果に応じた上記ファイル管理情報及び／又は要求応答書込データ部分に関連する所定の内容を有するバックアップ用情報を、上記シーケンス処理の進行に応じた所定のタイミングで不揮発性の記憶手段に対して書き込み、又は消去するための制御を実行するバックアップ用情報制御手段と、最後のデータ書込要求に応じた要求応答書込データの書き込みについての実際の結果に対応して、上記ファイル管理情報により適正に管理された状態が得られるようにするために、上記不揮発性の記憶手段に記憶されている進捗情報を参照し、この参照した進捗情報が示す進捗状況に基づいて、上記ファイル管理情報における所定の情報を変更するための制御、又は、必要に応じて上記不揮発性の記憶手段に記憶されている所定の上記バックアップ用情報を利用した記憶媒体への書き込み処理を制御する整合性復帰手段と、を備え、上記バックアップ用情報制御手段は、最後のデータ書込要求に応じた要求応答書込データの書き込みが正常に終了した結果が反映されたファイル管理情報に基づく所定内容のファイル管理関連情報と、最後のデータ書込要求に応じた要求応答書込データ部分のデータ内容を有する補完用実データと、この補完用実データとしての内容を有する要求応答書込データ部分が書き込まれるべき位置を示すデータ部分書込位置情報とを少なくともバックアップ用情報として不揮発性の記憶手段に書き込むようにされるとともに、上記シーケンス処理において、所定の要求応答書込データ部分を書き込む前のタイミングにて、この所定の要求応答書込データ部分のデータ内容を有する補完用実データと、この所定の要求応答書込データ部分が書き込まれるべき位置を示すデータ部分書込位置情報を不揮発性の記憶手段に書き込むとともに、上記所定の要求応答書込データ部分の書き込みが終了したタイミングで、上記補完用実データと上記データ部分書込位置情報を上記不揮発性の記憶手段から消去し、上記整合性復帰手段は、参照した進捗情報が、最後のデータ書込要求に応じた要求応答書込データを形成する全ての要求応答書込データ部分の書き込みを完了していないタイミングで、かつ、上記補完用実データとしての要求応答書込データ部分を併せて要求応答書込データが完成できるまでの要求応答書込データ部分についての記憶媒体への書き込みが終了しているタイミングでの上記シーケンス処理の中途となる進捗状況を示している場合には、上記バックアップ用情報における上記補完用実データを、上記データ部分書込位置情報が示す記憶媒体上の位置に書き込む制御を実行するとともに、バックアップ用情報におけるファイル管理関連情報を利用して、最後のデータ書込要求に応じた要求応答書込データが記憶媒体に記憶されているものとして適正に管理されるようにファイル管理情報を書き換えることとした。
【０００８】
上記構成では、記憶媒体の記憶領域は、所定容量の単位領域が連続するようにされたものとして形成されている。このような記憶媒体のフォーマット構造に応じて、１回のデータ書込要求に応じて書き込むべきデータ（書込要求データ）が２以上の上記単位領域を使用して書き込まれ、かつ、その先頭及び／又は終端が上記単位領域における中途位置に書き込まれるものである場合、この書込要求データの記録は、中途位置を含む単位領域に対してデータを書き込む部分書込処理と、中途位置を含まずに書込要求データを成すデータのみを格納する論理的に連続した1以上の単位領域に対してデータを書き込む部分書込処理とを実行させて行うようにされる。
そのうえで、本願発明にあっては、上記のようにして、２以上の部分書込処理により書込要求データの記録を行う場合には、この部分書込処理を順次的に実行させるのにあたり、その途中過程において、部分書込処理の完了ごとに応じたタイミングでの管理情報の更新は行わないようにされ、部分書込処理のシーケンスをすべて完了したタイミングで、これらの部分書込処理の全ての結果が反映されるようにして管理情報の更新を行うようにされる。
１つの書込要求データを記録するのにあたり、部分書込処理の完了ごとに応じたタイミングで管理情報を更新することとした場合、例えば、或る後半の部分書込処理が失敗したとしても、これより前半の部分書込処理により失敗無く記録されたデータは管理情報に反映され、有効な記録済みデータとして管理される。しかしながら、前半の部分書込処理により失敗無くデータが記録されたとしても、このデータの少なくとも一部分と、後半の部分書込処理により記録が失敗したデータの少なくとも一部分とが、書込要求データ内において分離不可な関係性を持っていた場合には、かえって、例えば正常な再生結果が得られないなどの不都合を生むことになる。
これに対して本願発明であれば、或る後半の部分書込処理が失敗した場合には、対応する書込要求データそのものが管理情報には反映されなくなる。これにより、上記のようにして、本来は分離不可な関係性を持つデータの一部のみが管理情報に反映されるようにして記録済みとなるような結果を生じることがない。
【発明の効果】
【０００９】
このようにして本発明は、本来は分離不可な関係性を持つデータの一部のみが管理情報に反映されるようにして記録済みとなるような結果を生じることがない。これにより、例えば記録データについて正常な再生結果が保証されるなど、機器の信頼性、性能の向上が図られる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態（以下、実施の形態という）について説明する。本実施の形態としては、本発明としての情報処理装置の構成をデジタルビデオカメラに適用した場合を例に挙げることとする。
【００１１】
図１は、本実施の形態としてのデジタルビデオカメラ１の構成例を示すブロック図である。
この図に示すデジタルビデオカメラ１において、光学系部２は、撮像レンズ、絞りなどを備えて成り、入射された光を撮像光として、光電変換部３に結像させる。また、光学系部２においては、フォーカス（焦点）調整のためのフォーカス調整機構や、絞り値に応じて絞りを可変する絞り可変機構などを備えているものとされ、このような機構部の駆動は、カメラ機能部６から出力される駆動信号によって行われる。カメラ機能部６は、ＣＰＵ１０の制御に応じて、しかるべきフォーカス状態や絞りの状態等が得られるように所要の駆動信号を出力するようにされている。
また、例えば光学ズーム機能を与えることとした場合には、光学系部２においてズームレンズを移動させるズーム機構を設けると共に、上記と同様にして、ＣＰＵ１０の制御に応じて上記ズーム機構を移動させる駆動部を設けるようにすればよい。さらに、カメラ機能部６として、ストロボを設けたうえで、ストロボ発光機能を与えるように構成することもできる。
【００１２】
光電変換部３は、例えば光電変換素子であるＣＣＤ(Charge Coupled Device)を備えて構成され、光学系部２から入射されて受光面にて結像された撮像光を光電変換することで撮像信号を生成してビデオ信号処理部４に出力する。撮影時においては、例えば露出設定結果に応じて決定されるシャッター速度の指示が、ＣＰＵ１０からビデオ信号処理部４に通知される。ビデオ信号処理部４では、通知されたシャッター速度に対応する走査タイミング信号を光電変換部３に出力する。光電変換部３は、この走査タイミング信号に応じて走査を行うようにして、光電変換処理を実行して映像信号を出力するようにされる。
【００１３】
ビデオ信号処理部４は、光電変換部３から入力されたアナログのビデオ信号（撮像画像信号）について、例えばゲイン調整、サンプルホールド処理を施すことによって波形整形を行ったうえで、Ａ／Ｄ変換を行うことで、デジタルとしてのビデオ信号データに変換する。そして、この変換処理によって得られたデジタルビデオ信号について、例えば、表示用輝度データの生成処理などをはじめ、表示部７にて表示が行われるようにするためのビデオ信号処理を実行する。これに伴い、ビデオ信号処理部４では、ＣＰＵ１０の制御に応じてキャラクタ画像なども撮像画像に重畳して表示可能なように、いわゆるオンスクリーンディスプレイのための信号処理も実行可能とされている。
表示部７として採用される実際のディスプレイデバイスについては特に限定されるべきものではないが、現状においては、広く液晶ディスプレイパネルが採用されている。
【００１４】
また、ビデオ信号処理部４は、光電変換部３から入力されたアナログビデオ信号を変換して得たデジタルビデオ信号について、例えば所定方式による圧縮符号化処理を施して、圧縮ビデオデータを生成することが可能とされている。
また、本実施の形態のデジタルビデオカメラは、スチルカメラ機能も備える。つまり、撮像画像信号について、写真としての所定形式による静止画データファイルを生成することが可能とされているが、このような画像処理も、ビデオ信号処理部４によって行われる。
【００１５】
また、ビデオ信号処理部４では、光電変換部３から入力された画像（映像）信号や、後述するメディアから読み出された動画、静止画、音声のファイルなどを、所定方式のアナログビデオ信号又はデジタルビデオ信号に変換して、画像入出力部５を介して外部機器などに出力可能とされている。
画像入出力部５は、外部から所定方式のビデオ信号を入力可能ともされており、この入力したビデオ信号をビデオ信号処理部４の処理を経て表示部７に表示させることが可能とされる。また、ビデオ信号処理部４は、画像入出力部５が入力したビデオ信号について、光電変換部３から入力されたアナログビデオ信号と同様にして、記録用データに変換してメディアコントローラ１３に転送することもできる。
これに対応して、画像入出力部５は、例えば所定方式に従った映像（画像）信号出力端子／映像信号入力端子を備える。
【００１６】
また、本実施の形態のデジタルビデオカメラ１は、音声処理部８及び音声入出力部９を備えることで、音声信号の入出力も可能とされている。
先ず、音声入力については、音声入出力部９としてマイクロフォンなどを備え、外部音声の収音を行って音声信号に変換して音声を入力するようにされる。そして、このようにして入力した音声信号を音声処理部８に出力する。音声処理部８は、例えば、撮像画像の圧縮符号化に対応する音声圧縮符号化方式により符号化された圧縮オーディオデータに変換するなどの音声信号処理を施す。
【００１７】
ＣＰＵ１０は、ビデオ信号処理部４により得られた撮像画像についての圧縮ビデオデータと、音声処理部８により得られた収音音声についての圧縮オーディオデータとにより、所定形式の動画ファイルを形成するための制御処理を実行するようにされる。この動画ファイルは、圧縮ビデオデータを再生して出力される動画像に対して、圧縮オーディオデータを再生して出力される音声の再生時間軸が同期したものとなっている。なお、実際に動画ファイルを形成するための構成としては、ＣＰＵ１０がプログラムを実行して得られるデジタル信号処理となるソフトウェア構成とされてもよいし、あるいは、動画ファイルを形成するためのハードウェアを備えるとともに、ＣＰＵ１０がこのハードウェアについての動作を制御する構成としてもよい。
上記動画ファイルとしてのデータは、記録用データとして、例えばＣＰＵ１０の制御によってメディアコントローラ１３に転送される。また、ＣＰＵ１０は、ビデオ信号処理部４によって生成された写真画像としての所定形式の静止画データファイルについても、記録用データとしてメディアコントローラ１３に転送することができる。
【００１８】
音声入出力部９としては、音声信号入力端子などを備えて外部のオーディオ機器などからオーディオ信号を入力するようにも構成することができる。上記音声信号入力端子から入力されたオーディオ信号については、音声処理部８は、所定形式によるデジタルオーディオデータファイルに変換するようにされる。ＣＰＵ１０は、このようなデジタルオーディオデータファイルのデータについても、記録用データとしてメディアコントローラ１３に転送することができる。
【００１９】
メディアコントローラ１３は、ＣＰＵ１０との連携により、所定の異なる種別の外部のメディア（記憶媒体）、外部記憶デバイス（記憶装置）に対応して、これらのメディアに対するデータ処理に関する制御処理を実行可能に構成される。ここでいうメディアに対するデータ処理とは、メディアのフォーマット処理や、メディアの記憶領域に対するファイル及びファイル管理のための情報（ファイル管理情報）などの書き込み／読み出し処理など、メディアに記憶されるべきデータに関連する何らかの処理をいう。
【００２０】
本実施の形態では、メディアコントローラ１３に対しては、ＨＤＤ（ハードディスクドライブ）が接続されている。ＨＤＤは、周知のようにしてハードディスクといわれる、記憶媒体として磁気ディスクを備える記憶デバイスであり、現状においては、比較的低コストでギガバイトクラスの大容量が得られる。また、周知のようにして、記憶媒体である磁気ディスクに対する物理的なデータの読み出し／書き込みは、磁気ヘッドにより、磁気ディスク上に形成されるトラックをトレースしながら磁界印加、磁界検出を行うことによって実現される。
また、この場合のＨＤＤとしては、例えばデジタルビデオカメラ１に固定的に内蔵されるものとしてもよいし、デジタルビデオカメラ１（ホスト）に対して装脱可能な、所定の規格に従ったリムーバブル形態とされてもよい。
【００２１】
また、この図では、メディアコントローラ１３は、所定方式の光ディスク、光磁気ディスク、及び半導体メモリ素子を備える記憶デバイスである半導体記憶装置などにも対応してデータ処理が可能であることとされている。
光ディスク及び光磁気ディスクなどに対応する場合の実際としては、これらの記録（記憶）媒体に対応してデータの書き込み／読み出しが可能に構成されたドライブとしてのデバイスを備え、これらのデバイスとメディアコントローラ１３とを接続することになる。
また、半導体記憶装置に対応する場合は、半導体記憶装置の実際の規格に従って、この半導体記憶装置が装脱されるスロットを、デジタルビデオカメラ１の本体に備える。このスロットに対して半導体記憶装置が適正に装填されると、半導体記憶装置のピン端子がスロットのコネクタ部位の電極と接続され、これにより、半導体記憶装置は、メディアコントローラ１３との間で通信が可能に接続されることになる。
このようにして、本実施の形態のデジタルビデオカメラ１としては、多様なメディアに対応したデータ処理が可能とされてはいるが、説明を簡単にすることの便宜上、本実施の形態のデジタルビデオカメラ１が撮像により得られたデータを記録再生するためのメディアとしては、ＨＤＤであるものとする。
【００２２】
メディアコントローラ１３は、先に説明したようにして、記録用データが転送されてくるのに応じて、この記録用データを、メディアコントローラ１３と接続されているメディア（記憶媒体、記憶装置）のうちから対象として選択されているメディアに対してさらに転送する。データが転送されたメディアでは、メディアコントローラ１３側からの指示に応じて記憶領域に対してデータを書き込んで記憶させる。このようにしてメディアに記憶されるデータがファイルとして記憶管理されることになる。なお、メディアに記憶されるファイルの管理は所定方式のファイルシステムによって行われる。
【００２３】
また、例えばメディアに記憶されているファイルについての再生として、動画ファイルを再生するときには、ＣＰＵ１０及びメディアコントローラ１３は、指定された動画ファイルにアクセスして読み出しを行う。このようにして読み出される動画ファイルは、例えばＣＰＵ１０の処理により、圧縮ビデオデータと圧縮オーディオデータとに分離され、圧縮ビデオデータについてはビデオ信号処理部４に受け渡し、圧縮オーディオ信号については、音声処理部８に受け渡すようにされる。
この場合のビデオ信号処理部４及び音声処理部８は、それぞれ、上記のようにして転送されてきた圧縮ビデオデータ、圧縮オーディオデータについて、復調処理を含む所要の再生信号処理を実行する。これにより、圧縮ビデオデータを再生した画像を表示部７にて表示するとともに、この画像の再生時間に同期して、圧縮オーディオデータを再生して得られる音声信号を、音声入出力部９が有するとされるスピーカにより音声として出力させたり、ヘッドフォン端子から出力させることができる。
【００２４】
また、例えばメディアから再生されたオーディオデータファイルは、音声処理部８の音声信号処理を経た後に、音声入出力部９を介して、外部に対して所定形式のオーディオ信号、オーディオデータとして出力することも可能とされている。この場合、音声入出力部９としては、音声処理部８から出力される所定のオーディオ信号、オーディオデータの形式に対応するオーディオ出力端子を備えることになる。
【００２５】
ＣＰＵ(Central Processing Unit)１０は、プログラムを実行することでデジタルビデオカメラ１についての各種制御処理を実行する。ＲＯＭ１１は、ＣＰＵ１０が実行する各種プログラムのほか、ＣＰＵ１０が処理を実行するのに使用する各種設定情報などが記憶されている。ＲＡＭ１２は、ＣＰＵ１０がプログラムに従った処理を実行するときの作業領域として使用されるもので、各種の演算処理結果などのデータが保持される。
また、不揮発性メモリ１２ａは、例えばフラッシュメモリなどをはじめとした、電源供給が停止しても記憶内容が消去されない性質のメモリ素子により形成され、ＣＰＵ１０の制御によって、データの書き込み／読み出しが実行される。この不揮発性メモリ１２ａに記憶されるべきデータ（情報）としては、適宜内容の変更が行われる設定情報などが一般的であるが、特に限定されるものではなく、実際のデジタルビデオカメラ１の仕様などに応じて所要の各種の情報を記憶することとされればよい。
【００２６】
この場合の操作入力部１５は、デジタルビデオカメラ１に備えられる各種操作子を一括して示しているものとされる。例えば、この操作入力部１５における操作子としては、写真撮影時に操作されるシャッターボタン、撮影モードなどを選択する操作子、パラメータのアップ／ダウンを行うための操作子などが含まれる。
さらに、この場合の操作入力部１５としては、例えば表示部７の表示画面を利用したＧＵＩとしての入力操作を実現するための構成を備える。
【００２７】
通信部１６は、ＣＰＵ１０の制御に応じて、所定のデータ通信方式により外部デバイスと通信を行うためのハードウェア、ソフトウェアを実装して構成される部位である。この通信部１６が対応するデータ通信方式としては、有線、無線を問わず特に限定されるべきものではなく、また、対応するデータ通信方式の数も限定されるべきものでない。現状であれば、データ通信方式としては、有線ではEthernet（商標）などのネットワーク、USB(Universal Serial Bus)、IEEE(the Institute of Electrical and Electronic Engineers)1394などのデータバス規格などを挙げることができる。また、無線であれば、Bluetooth（商標）などのデバイス間近距離無線通信、IEEE802.11a/b/gなどの無線ＬＡＮ(Local Area Network)規格を挙げることができる。
【００２８】
電源部１７は、デジタルビデオカメラ１における各種のハードウェアデバイスに対して動作電源を供給するもので、例えばバッテリや電源アダプタからの電力供給を受けて動作する電源回路などを備えて構成される。
【００２９】
上記のようにして、本実施の形態のデジタルビデオカメラ１では、主としては、撮像／収音により得られる映像／音声ファイルを、ＨＤＤ、各種光学ディスク状記録媒体（光磁気ディスクを含む）、半導体記憶装置などのメディア（記憶媒体）に対して記憶させることができるようになっている。
上記のようにしてメディアに記憶されるファイルは、通常は、所定フォーマットによるファイルシステムにより管理されることになるのであるが、本実施の形態としては、ＦＡＴ(File Allocation Table)ファイルシステムにより管理されるものとしている。ＦＡＴファイルシステムは、周知のようにして、ツリー型のディレクトリ構造によりファイルを管理するようにされており、また、データの書き込み／読み出しについては、クラスタといわれる論理的な最小データ管理単位により行うものとされている。クラスタは、メディアにおける物理的なデータ書き込み／読み出しの最小単位であるセクタを所定数にまとめたものが１単位となる。
【００３０】
図２は、ＦＡＴファイルシステムの一般的なシステム構成を階層モデルにより示している。
先ず、この階層モデルとしては、ソフトウェア層と、その下層となるハードウェア層に大別される。
ソフトウェア層は、この場合には、メディアに対してホスト（実施の形態ではデジタルビデオカメラ１）となるデバイスにおいて、ＣＰＵが実行するプログラム、及び各種ファームウェア、ミドルウェアなどにより実現されるソフトウェア処理が対応するものとされる。この場合のソフトウェア層は、図示するように、上層から下層にかけて、アプリケーション１００、ファイルシステム１０１、デバイスドライバ１０２の各層が位置する。
ハードウェア層には、メディアそのものの物理的な記憶領域が位置するものとして考えることができる。
【００３１】
アプリケーション１００は、例えばファイルの記録／再生機能などを有して、メディアを使用するアプリケーションソフトウェアが対応し、ファイルレベルでのアクセス要求（あるいはデータ書き込む要求）をファイルシステム１０１に対して行う。
【００３２】
ファイルシステム１０１は、ファイルシステムとしての機能を実現するソフトウェアが対応する。本実施の形態では、ＦＡＴファイルシステムを採用することとしているので、ファイルシステム１０１の機能を提供するソフトウェアとしても、ＦＡＴファイルシステムに対応して構成されるものとなる。
このファイルシステム１０１では、アプリケーション１００からのファイルレベルによるアクセス要求を、ＦＡＴファイルシステムのフォーマットにおけるデータの管理単位となるクラスタのレベルに変換して、デバイスドライバ１０２に対してアクセス要求を行う。
【００３３】
デバイスドライバ１０２は、コントロール対象のデバイスとなるメディアをコントロールするためのソフトウェアが対応し、上記ファイルシステム１０１からのＦＡＴファイルシステムフォーマットに従ったクラスタレベルによるアクセス要求を、メディア１０３上におけるデータの記録再生単位であるセクタのレベルに変換して、メディア１０３へのアクセス要求を行う。
【００３４】
この場合のメディア１０３は、論理的にはＦＡＴファイルシステムに従ってフォーマット（初期化）されたものとなる。図１では、ＨＤＤ、光学ディスク状記録媒体、半導体記憶装置など、メディアコントローラ１３と接続されている記憶媒体、記憶装置がここでのメディア１０３に相当する。そして、メディア１０３は、デバイスドライバ１０２からのセクタレベルのアクセス要求に応答して、指定されたセクタアドレスからデータを読み出して、デバイスドライバ１０２に返す。つまり、セクタレベルでのアクセス応答を実行する。
デバイスドライバ１０２は、メディア１０３からのセクタレベルでのアクセス応答、つまりセクタ単位でのデータの受け取りを行い、この受け取ったデータについて、クラスタ単位によるデータとして扱ってファイルシステム１０１に受け渡す（クラスタレベルでのアクセス応答）。
ファイルシステム１０１は、デバイスドライバ１０２から受け取ったデータを、ファイルレベルのデータとしてアプリケーション１００に受け渡すようにされる。アプリケーション１００は、ファイルとして受け取ったデータについて、例えばユーザによる操作入力などに応じたアプリケーションレベルでの所要の処理を実行する。
【００３５】
また、ＦＡＴファイルシステムは、記憶ファイルをツリー型のディレクトリ構造により管理し、また、ファイルをクラスタ単位の集合として管理するようにされている。このようなファイル管理、データ管理は、周知のようにしてディレクトリエントリ、及びＦＡＴといわれるテーブル情報を備えることにより実現されるものとなる。ディレクトリエントリは、メディア上におけるファイル、ディレクトリ（サブディレクトリ）の所在をクラスタレベルで示す情報であり、ＦＡＴは、ディレクトリ、ファイルを成すクラスタレベルでのチェイン（リンク、連結）を示す情報である。
【００３６】
図３は、ＦＡＴの規格に従ったメディアのフォーマット構造を示している。
ＦＡＴの形式としては複数が規定されているのであるが、ここでは、ＦＡＴ１６及びＦＡＴ３２の各形式に対応するフォーマット構造を示すこととする。
先ず、図３の左側に示されるＦＡＴ１６に対応するフォーマット構造から説明する。
この図に示す構造は、ＬＢＡ(Logical Block Addressing)に従った論理的なものとなっている。つまり、最も上を先頭セクタ（LBA=0）として、以降、下に向かってブロック（セクタ）の番号が進んでいくものとなる。
また、ＦＡＴのファイルシステムでは、１つの物理的記憶領域を複数のパーティションに分割可能とされているが、ここでは説明の便宜上、１パーティションとした場合のフォーマット構造を示している。
【００３７】
先ず、LBA=0として表される先頭セクタは、ＭＢＲ(Master Boot Recorder) といわれる、ブート領域となっている。
【００３８】
ＭＢＲの構造を図４（ａ）に示す。
１セクタは５１２バイトのサイズであり、従って、ＭＢＲとしても５１２バイトとなる。図４（ａ）では、このＭＢＲの領域における５１２バイトについて、先頭から最終のバイト位置を、0000h〜01FFhまでの１６進法による番号を振って表現したうえで、１６バイト単位を１列として配列して示している。なお、１６進法の表記を行うのにあたっては、上記0000h、或いは01FFhのようにして、数値の最後尾に１６進法表記であることを示すhを付すこととする。
先ず、バイト位置0000h〜01BDhまでの４４６バイトの領域は、ＯＳ(Operating System)起動用のメディアとして使用される場合において、その起動（ブート：boot）のためのコード（起動コード）が格納される領域である。
【００３９】
ＭＢＲにおけるバイト位置01BEh〜01FDhまでの６４バイトの領域は、パーティションテーブルとされており、起動時において必要とされるパーティションごとに関する所定の情報が格納される。このパーティションテーブルの領域は、さらに１６バイト単位で４つの領域に分割されることになっており、これらの４分割された領域は、先頭から順に、パーティション１、パーティション２、パーティション３、パーティション４に対応する領域となっている。これらのこれらのパーティションごとに対応する各領域は、パーティションごとのエントリの領域となる。
【００４０】
また、ＭＢＲにおける最終の２バイトの領域には、現セクタがＭＢＲであることの識別子として55AAhが格納される。
【００４１】
上記パーティションのエントリは、図４（ｂ）に示す構造を有するものとされる。先ず、最上位のバイト位置00hは、該当パーティションについての、起動ドライブとしての指定の有無を示すフラグを格納する領域とされる。
また、続くバイト位置01h〜03hによる３バイトの領域は、該当パーティションの開始セクタをＣＨＳ（Cylinder/Head/Sector）により表現した値が格納される。バイト位置05h〜07hから成る３バイトの領域により、該当パーティションの終了セクタをＣＨＳにより表現した値が格納される。
また、バイト位置08h〜0Bhによる４バイトの領域により、該当パーティションの開始セクタをＬＢＡにより示す値を格納することとしている。
【００４２】
バイト位置0Ch〜0Fhから成る４バイトの領域は、該当パーティションのデータサイズ（パーティションサイズ）を示す値を格納する。
【００４３】
バイト位置04hが示す１バイトの領域は、システム識別子ともいわれる、該当パーティションが対応するプラットフォーム、ファイルシステムなどのタイプを示す値を格納する。
【００４４】
説明を図３に戻す。
ＭＢＲとしての先頭セクタに続けては所定セクタ数による空き領域を設けることとしている。そして、この空き領域より後となるセクタ領域により、パーティション単位の領域を形成する。
【００４５】
１パーティション内における先頭セクタから所定のバイト数までによる領域は、システム関連の情報を格納するシステム領域となる。
このシステム領域において先頭セクタから開始される所定バイト数の領域は、ＢＰＢ(BIOS Parameter Block/Boot Parameter Block)とされ、ここでは現パーティションに関して、例えばホスト側のＢＩＯＳ(Basic Input/Output System)などのように、ブロックデバイスコントロールのためのプログラムが利用すべき所要のデータが格納される。ＢＰＢに格納する情報においては、次に説明するＦＡＴ領域の数、メインのＦＡＴ領域の開始セクタ、ＦＡＴ領域のセクタ数などの情報を含む。
【００４６】
ＢＰＢに続けてはＦＡＴ１、ＦＡＴ２のＦＡＴ領域が順に配置される。通常は、ＦＡＴ１，２のいずれか一方の領域がメインのＦＡＴ領域として使用される。他方のＦＡＴ領域は、一般的には、メインのＦＡＴ領域の内容をコピーしたミラー領域として使用するなど、例えばメインのＦＡＴ領域の予備領域、バックアップ用領域として使用される。
【００４７】
これらのＦＡＴ領域は、ＦＡＴエントリが、データ領域内のクラスタ番号順に配列されて形成される領域とされる。ＦＡＴエントリと、データ領域内のクラスタとは１対１で対応しており、ＦＡＴエントリには、ディレクトリ、ファイルの記憶結果に応じて、該当クラスタについての情報として、例えば、未使用、該当ファイルにおいて現クラスタの次にチェインされるクラスタ番号、不良クラスタ、EOF(End Of File：ファイルにおける最終クラスタ)などのうちから、何れかを示す情報が格納される。
ＦＡＴ１６フォーマットでは、クラスタ番号を２バイト（１６ビット）により表すこととしており、これに応じて、ＦＡＴエントリの個々のサイズも２バイトとされている。
【００４８】
ＦＡＴ１，ＦＡＴ２の領域に続けては、所定サイズのルートディレクトリエントリが配置される。このルートディレクトリエントリには、ルートディレクトリにおけるディレクトリ、ファイルなどについてのディレクトリエントリが格納される。
【００４９】
ルートディレクトリより下位のセクタ領域が、データ領域となる。このデータ領域に対するデータの書き込み／読み出しは、ＦＡＴファイルシステムにより管理される。従って、図示するようにして、ファイルシステムのフォーマット構造としては、１以上の所定数のセクタの連続から成るクラスタ単位によりデータ領域を管理することになる。上記もしたように、ＦＡＴ領域は、原則として、このデータ領域を形成する全クラスタに対応するＦＡＴエントリを有して形成されるものとなる。
【００５０】
続いては図３の右側に示されるＦＡＴ３２に対応するフォーマット構造について説明する。
ＦＡＴ３２対応のフォーマット構造としても、LBA=0で表される先頭セクタにＭＢＲを配置している。そして、このＭＢＲに続けて配置する所定セクタ数の空き領域に続けて、パーティション単位の領域を配置していくようにされる。
【００５１】
ＦＡＴ３２対応のフォーマット構造のパーティション領域にけるシステム領域としては、ＢＰＢに続けてＦＳｉｎｆｏの領域を設けることとしている。
ＦＳｉｎｆｏは、該当パーティションにおける空き容量を計算するのに利用する所定の情報を格納する領域である。ＦＡＴ１，ＦＡＴ２のＦＡＴ領域は、ＦＳｉｎｆｏに続けて順次配置される。
【００５２】
ＦＡＴ３２のフォーマットの場合のＦＡＴ領域も、クラスタと１対１で対応するＦＡＴエントリがクラスタ番号順に配列されて形成され、ＦＡＴエントリには、ディレクトリ、ファイルの記憶結果に応じて、該当クラスタについての所定の情報が格納される。ただし、ＦＡＴ３２のフォーマットでは、クラスタ番号を４バイト（３２ビット）で表現することから、ＦＡＴエントリの個々のサイズも４バイトで区切られることになる。
【００５３】
また、ＦＡＴ３２のフォーマット構造では、ＦＡＴ１６のフォーマット構造においてシステム領域内に設けられていたルートディレクトリエントリの領域が省略されている。
ＦＡＴ３２のフォーマット構造では、ルートディレクトリはデータ領域内におかれることとなっている。データ領域におけるルートディレクトリの開始クラスタ番号は、ＢＰＢにおける所定領域（RootClus）に格納される値により示されており、ルートディレクトリにアクセスするときには、上記RootClusを参照して認識したクラスタ番号にアクセスするようにされる。RootClusが示すルートディレクトリの開始クラスタ番号は、通常、２である。
【００５４】
データ領域は、この場合においても、ＦＡＴ３２のファイルシステムによりクラスタ単位でデータの書き込み／読み出しが管理される領域となる。
【００５５】
図５に、ＦＡＴのファイルシステムにおいて規定されるディレクトリエントリの構造を示す。なお、ここでは、ＦＡＴ３２に対応するディレクトリエントリの構造を示している。
この場合、ディレクトリエントリは３２バイトとされている。この図においては、上位バイトから下位バイトまでの各バイト位置を、0h〜1Fhまでの値により示している。
ディレクトリエントリを形成する３２バイトにおいて、最上位のバイト位置0hからバイト位置7hまでの８バイトの領域は、現ディレクトリエントリが示す現ファイル又は現ディレクトリの名称を格納する。
続く下位のバイト位置8hからバイト位置Ahまでの３バイトの領域は、現ファイルのファイル形式に応じた拡張子が格納される。
【００５６】
続く下位のバイト位置Bhには、現ファイル／現ディレクトリについての属性を示す値が格納される。
バイト位置Chは、ここでは予約領域とされている。
バイト位置Dh〜Fhまでの３バイトの領域は、現ファイル／現ディレクトリの作成時刻を示す値を格納する。
バイト位置10h−11hによる２バイトの領域は、現ファイル／現ディレクトリの作成日付を示す値を格納する。
バイト位置12h−13hによる２バイトの領域は、現ファイル／現ディレクトリに対するアクセスが最後に行われた日（最終アクセス日付）を示す値を格納する。
【００５７】
また、バイト位置14h−15hによる２バイト領域とバイト位置1Ah−1Bhによる２バイト領域との計４バイトの領域によっては、現ファイル／現ディレクトリが記憶されるメディア上の先頭位置をクラスタ番号により示すようにされる。つまり、この計４バイトの領域には現ファイル／現ディレクトリについての先頭クラスタ番号の値が格納される。バイト位置14h−15hによる２バイト領域に対しては、先頭クラスタ番号についての上位４バイトの値を格納する。バイト位置1Ah−1Bhによる２バイト領域に対しては、先頭クラスタ番号についての下位４バイトの値を格納する。
【００５８】
バイト位置16h−17hによる２バイト領域は、現ファイル／現ディレクトリについての記録（最後の更新）が実行された時刻（記録時刻）を示す値を格納する。
バイト位置18h−19hによる２バイト領域は、現ファイル／現ディレクトリについての記録（最後の更新）が実行された日付（記録日付）を示す値を格納する。
バイト位置1Ch〜1Fhまでの４バイトの領域は、現ファイル／現ディレクトリについてのサイズ（容量）を示す値を格納する。
【００５９】
図６は、ＦＡＴファイルシステムによるファイル管理例を示している。なお、この図においては、ＦＡＴ３２に従ってフォーマットされた場合を示している。
ここでは、データ領域において、少なくともファイルＡ、ファイルＢ、ファイルＣ、ファイルＤが記憶されているものとしたうえで、ファイルＡ，Ｂ，Ｃ，Ｄのディレクトリエントリを、それぞれ図６（ａ）（ｂ）（ｃ）（ｄ）に示す。なお、この図における説明としては、ディレクトリエントリにおける先頭クラスタ番号(バイト位置14h-15h/1Ah-1Bh)
の情報が主要であることから、他の領域の情報については省略している箇所がある。
【００６０】
また、図６（ｅ）は、ＦＡＴ領域の一部を示すもので、ファイルＡ，Ｂ，Ｃ，Ｄの記憶結果に対応するＦＡＴエントリの内容を有している。なお、この図６（ｅ）においては、図示が簡略でわかりやすくなることを考慮して、ほぼファイルＡ，Ｂ，Ｃ，Ｄのみに対応したＦＡＴエントリ内容のみを抜き出したものとなっている。なお、前述もしたように、ＦＡＴ３２では、個々のＦＡＴエントリは３２ビットのサイズを有する。
また、この図６（ｅ）に示すＦＡＴ領域におけるＦＡＴエントリは、00000000h、00000010h、00000020h、00000030h・・・として示されるように、ＦＡＴエントリに対応するクラスタ番号の値が１桁ごとにインクリメントされる行と、各行が示すクラスタ番号の値に対して足し合わせる最下位桁の値である、＋00h〜＋0Fhが示される列とのマトリクスにより配列されている。例えば、00000000hの行と＋07hの列が交差する位置のＦＡＴエントリは、クラスタ番号00000007hに対応する。
【００６１】
ＦＡＴファイルシステムにおいては、クラスタ番号00000000h、00000001hで表される先頭クラスタとこれに続く２番目のクラスタの２クラスタは予約領域（RSV）となる。これに応じて、クラスタ番号00000000h、00000001hに対応する各ＦＡＴエントリも予約領域として規定されている。
そして、上記ＦＡＴエントリに格納する値として、現クラスタの次にチェインするクラスタ番号は、00000002h〜0FFFFFF6hで表すこととしている。また、EOF（該当クラスタを含むファイルにおける最終クラスタ（ファイルの終端クラスタ））については、EOF＝0FFFFFFFhにより表すこととしている。また、図６（ｅ）においては、未使用クラスタであることを「−」で示しているが、例えば実際には00000000hの値により表すこととしている。
【００６２】
ファイルＡにアクセスするためには、先ず、図６（ａ）に示すファイルＡのディレクトリエントリにアクセスすることになるが、このファイルＡのディレクトリエントリそのものに対するアクセスは例えば次のようにして行われる。
ファイルアクセスのコマンドが絶対パスによるものである場合を例に挙げると、ファイルＡのディレクトリエントリに対するアクセスのためには、先ず、ルートディレクトリにアクセスし、ここからパスに従ってディレクトリエントリをたどっていくようにされる。また、ディレクトリエントリを辿っていく過程において、或るカレントディレクトリのサブディレクトリを辿ることになる場合があるが、周知のようにして、親ディレクトリと子ディレクトリの親子関係についても、ディレクトリエントリにより表現される。このためには、例えば親ディレクトリ側のディレクトリエントリには、名称として子ディレクトリを示すものを設けておき、この親ディレクトリ側のディレクトリエントリにより示される子ディレクトリのディレクトリエントリには、親ディレクトリが存在することを示す情報を名称の領域に格納したディレクトリエントリを設けるようにされる。これにより、親から子、及び子から親の両方向に対してディレクトリを辿っていくことができる。
そして、上記のようにしてパスに従ってディレクトリエントリをたどる結果、アクセス先として、最終的にはファイルＡのディレクトリエントリに到達することになる。
【００６３】
ファイルＡのディレクトリエントリへのアクセスが行われると、続いては、このファイルＡのディレクトリエントリを起点として、ファイルＡそのものへのアクセスが行われることになる。
ファイルＡそのものへのアクセスとしては、概念的には次のようなものとなる。
ファイルＡにアクセスするためには、ファイルＡのディレクトリエントリにおける先頭（開始）クラスタ番号を取得する。この先頭クラスタ番号は、データ領域においてファイルＡのデータが記憶される開始クラスタ番号を示しており、この場合には、図６（ａ）に示すようにして00000007hとなっている。つまり、この段階で、ファイルＡの開始クラスタ番号が00000007hであることが認識される。
そこで、ファイルシステムは、図６（ｅ）に示すＦＡＴ領域において、クラスタ番号00000007hに対応するＦＡＴエントリにアクセスして、このＦＡＴエントリに格納される値を参照する。この場合、クラスタ番号00000007hに対応するＦＡＴエントリには、00000008hを格納している。これにより、ファイルシステムは、ファイルＡのデータは、クラスタ番号00000007hのクラスタのデータに続けて、クラスタ番号00000008hのクラスタのデータが連結されていることを認識する。そこで、次にクラスタ番号00000008hに対応するＦＡＴエントリにアクセスして参照すると、ここには、00000009hが格納されているので、ファイルＡのデータは、さらにクラスタ番号00000008hのクラスタのデータに続けて、クラスタ番号00000009hのクラスタのデータを連結することが認識される。そこでまた、クラスタ番号00000009hのＦＡＴエントリを参照すると、ここにはEOFを示す値が格納されているので、ファイルＡは、クラスタ番号00000009hのクラスタが終端であることが認識される。
このことから、ファイルＡは、図６（ｆ）のクラスタチェインに示すようにして、クラスタ番号00000007h-00000008h-00000009hの順によるクラスタのデータの連結により形成されることが認識されることになる。ファイルシステムは、クラスタ番号00000007h-00000008h-00000009hのクラスタにアクセスしていくようにされ、これにより、ファイルＡに対するアクセスが行われることになる。
【００６４】
上記説明から分かるように、データ領域に記憶されるファイルのデータの位置は、ディレクトリエントリに格納される先頭クラスタ番号と、この先頭クラスタ番号を起点として参照するＦＡＴ領域のＦＡＴエントリの内容によって示されており、これらの情報を参照することで、ファイルへのアクセスが可能となっている。
また、データ領域に記憶されるファイルについての、ツリー型ディレクトリ構造による管理は、ディレクトリエントリにより表現されているものであることも分かる。
【００６５】
そして、残るファイルＢ，Ｃ，Ｄの記憶位置については、上記ディレクトリエントリ及びＦＡＴ領域から成るファイル管理情報により、次のようにして管理されている。
先ず、ファイルＢについては、図６（ｂ）のディレクトリエントリに示すようにして、ファイルの先頭（開始）クラスタのクラスタ番号が0000000Ahであることが示されている。そこで、図６（ｅ）に示すＦＡＴ領域のクラスタ番号0000000Ahに対応するＦＡＴエントリを参照すると、次のクラスタを示すチェイン情報としてクラスタ番号0000001Fhが示されている。そこで、さらにＦＡＴエントリを辿って、クラスタ番号0000001Fhに対応するＦＡＴエントリを参照すると、チェイン情報としてクラスタ番号00000025hが格納されている。クラスタ番号00000025hに対応するＦＡＴエントリには、クラスタ番号00000031hが格納されている。クラスタ番号00000031hに対応するＦＡＴエントリにはクラスタ番号00000030hが格納されている。クラスタ番号00000030hに対応するＦＡＴエントリにはEOFであることを示す値が格納されている。
このようにして、ファイルＢは、ディレクトリエントリ及びＦＡＴ領域により、図６（ｇ）に示すようにして、クラスタ番号0000000Ah-0000001Fh-00000025h-00000031h-00000030hの順に従ったクラスタに記憶されるデータの連結により形成されることが表現される。
【００６６】
また、ファイルＣについては、図６（ｃ）に示すようにして、先ず、ファイルＣのディレクトリエントリにおいて、ファイルの先頭（開始）クラスタとしてクラスタ番号0000001Bhが示されている。このことに基づき、図６（ｅ）に示すＦＡＴ領域におけるクラスタ番号0000001BのＦＡＴエントリを起点として参照した内容によっては、ファイルＣは、図６（ｈ）に示すように、クラスタ番号0000001Bh-00000011h-00000012h-00000013h-00000014h-00000003hの順に従ったクラスタに記憶されるデータの連結により形成される。
【００６７】
ファイルＤについては、図６（ｄ）に示すファイルＤのディレクトリエントリにおいて、ファイルの先頭（開始）クラスタとしてクラスタ番号0000002Chが示されている。これに基づいて、図６（ｅ）に示すＦＡＴ領域におけるクラスタ番号0000002CのＦＡＴエントリを起点として参照した内容としては、ファイルＤは、図６（ｉ）に示すように、クラスタ番号0000002Ch-0000002Dh-0000002Eh-0000002Fh-00000038h-00000039h-0000003Ah-0000003Bhの順に従ったクラスタに記憶されるデータの連結により形成される。
【００６８】
これまでに説明したＦＡＴファイルシステムのフォーマット内容をふまえて、先ず、本発明に至った背景について説明しておく。
これまでの説明によれば、本実施の形態のデジタルビデオカメラ１は、撮像により得られた動画、静止画の映像データや音声データを、例えばＨＤＤとされるメディア（記憶媒体）に記録可能とされている。また、ＨＤＤに記録されるデータは、ファイルシステムを採用することによりファイル単位で管理されるようになっており、本実施の形態では、ファイルシステムとして、ＦＡＴファイルシステムを採用することとしている。
【００６９】
そこで、本実施の形態のデジタルビデオカメラ１によりＨＤＤに動画ファイルを記録する場合において、ＨＤＤの記憶領域をクラスタ単位の連続としてみた場合の記録データの書き込み状態例を図７に示す。
この図において、ＦＡＴファイルシステムの制御によりＨＤＤに記録すべき１つの動画ファイルのデータは、要求応答書込データの連結として形成されるものとして示されている。ここで示される要求応答書込データは、下記のようなものとなる。
【００７０】
ここで、デジタルビデオカメラ１が撮像記録する動画ファイルの形式は、例えばＭＰＥＧ２あるいはＭＰＥＧ４などのＭＰＥＧ方式に準拠したものとする。これに応じて、デジタルビデオカメラ１は、図１の構成との対応では、例えばビデオ信号処理部４において、入力されるビデオ、オーディオ信号について、ＭＰＥＧ方式に対応する圧縮符号化処理を実行可能な構成部分を有するようにされる。また、ここでは、このようにして圧縮符号化処理により生成されるデータを、一時蓄積するバッファ（例えばリングバッファ形式を採る）を備えることとしている。
ビデオ信号処理部４においては、圧縮符号化処理を進行させていくのに応じて、圧縮符号化されたデータを蓄積させていくことになる。そして、例えばＣＰＵ１０が図２に対応するシステムのプログラムを実行して実現されるアプリケーション１００の機能としては、このバッファにおけるデータの蓄積量が一定以上になったとすると、或るまとまったサイズのデータをバッファから読み出して、この読み出したデータをＨＤＤに書き込んで記録させるための要求（データ書込要求）をファイルシステム１０１に対して行う。図７に示される要求応答書込データは、このようにして、一回のデータ書込要求に応じてＨＤＤに記録すべきとしてアプリケーション１００からファイルシステム１０１に渡されるデータのまとまり（単位）をいうものである。
ファイルシステム１０１では、アプリケーション１００からのデータ書込要求ごとに応答したタイミングで、要求と共に渡される要求応答書込データを、先の図２の説明に従って、デバイスドライバ１０２を制御するようにしてＨＤＤ（メディア）に書き込んで記録していく。そして、ファイル終端の要求応答書込データまでの書き込みの終了を以て、１つの動画ファイルについてのＨＤＤへの書き込みが完了する。
【００７１】
また、この場合の要求応答書込データは、ＭＰＥＧ方式により圧縮符号化されたデータであることから、図９の上段に示すようにして、１以上のＧＯＰ(Group Of Picture)を連結したものとして形成される。周知のようにして、ＧＯＰは少なくとも１枚のＩピクチャといわれる１枚のフレーム画像として完結した画像データを含むと共に、画像内容などに応じて、必要なＢピクチャ、Ｐピクチャのデータを含んで形成されるもので、再生時における復号処理が完結して行われるための最小のデータ単位としての意義を持つ。また、ＧＯＰのサイズは、符号化した画像の内容などに応じて異なってくる。従って、要求応答書込データも固定長ではなく可変長の単位データとなる。また、要求応答書込データは、例えばアプリケーション１００の階層レベルにて扱われるデータであり、この点で、ファイルシステムが管理するクラスタ（単位領域）のサイズとの整合などは特に考慮されているものではない。確認のために述べておくと、クラスタは、例えばセクタのサイズなどに応じた所定の固定長として規定される。
このようにして、要求応答書込データが可変長であり、かつ、クラスタのサイズには特に関係性が無いことで、要求応答書込データのサイズがクラスタのサイズ以上である場合には、要求応答書込データサイズは、必ずしもクラスタサイズの整数倍にはならない、ということになる。
【００７２】
上記したことをふまえて図７に示される動画ファイルの記録結果例について説明する。先ず、最初の要求応答書込データ１については、動画ファイルの先頭であることから、クラスタの先頭位置から書き込みを行うようにされる（もちろん、ファイルの先頭であっても、クラスタの途中から書込を開始するようなデータ書込制御が行われてもよいものである）。そして、この要求応答書込データ１は、全部で４つのクラスタを使用して書き込みが行われ、最後の４つ目のクラスタについては、その終了位置がクラスタの中途に在る状態の書き込み結果となっている。
次の要求応答書込データ２は、要求応答書込データ１の終了位置に続けて書き込みを開始するようにされる。つまり、要求応答書込データは、あくまでもひとつのファイルを形成するデータ部分であることから、前の要求応答書込データの終了位置がクラスタの途中であるときには、その後の要求応答書込データについては、別のクラスタの先頭から書き込みを開始させるようなことはせずに、前の要求応答書込データの終了位置に続けてクラスタ内を詰めていくようにして書き込みを開始させるものである。なお、この場合においては、要求応答書込データ２の終了位置は、クラスタの終端と一致するようにして記録が行われた状態となっている。以降、このような要領で、順次、データ書込要求が行われるごとに、クラスタを詰めていくようにして要求応答書込データの書き込みが実行されていく。なお、確認のためにのべておくと、図７に示されるクラスタの配列は、先に説明したクラスタチェインにより論理的に連結されているものである。
【００７３】
上記説明から理解されるように、メディア（ＨＤＤ）に記録される動画ファイルを要求応答書込データのレベルでみた場合においては、ＦＡＴファイルシステムとの関係では、要求応答書込データの境界は、必ずしも、クラスタの境界とは一致するものではない。
そして、１つの要求応答書込データのサイズが１クラスタのサイズ以上である場合には、要求応答書込データが書き込まれるクラスタの使用結果として、図７の要求応答書込データ１、２、Ｎ、Ｘの例と、図８に示されるようにして、パターン１〜４として示す４つのパターンがあることになる。
つまり、パターン１は、要求応答書込データの開始位置がクラスタの先頭となり、要求応答書込データの終了位置がクラスタの途中となるパターンである。
また、パターン２は、要求応答書込データの開始位置がクラスタの途中となり、要求応答書込データの終了位置がクラスタの終端となるパターンである。
また、パターン３は、要求応答書込データの開始位置がクラスタの途中となり、要求応答書込データの終了位置もクラスタの途中となるパターンである。
また、パターン４は、要求応答書込データの開始位置がクラスタの先頭となり、要求応答書込データの終了位置はクラスタの終端となるパターンである。
【００７４】
そして、ファイルシステムが要求応答書込データの書き込みを制御するのにあたっては、上記クラスタの使用結果に関する４つのパターンに応じて、要求応答書込データをさらにファイルシステムのレベル階層に適合したデータ処理単位に細分化するようにされる。このデータ処理単位は、ここではファイルボディということにする。
このファイルボディは、先ず１つには、要求応答書込データの開始位置または終了位置がクラスタの途中となる場合において、このクラスタに格納される要求応答書込データのデータ部分から成るものとされる。また、もう１つは、同じ要求応答書込データのデータ部分のみが格納される１以上の連結されたクラスタがある場合に、これらのクラスタに格納される要求応答書込データのデータ部分とされる。ここでは、前者を１クラスタ未満となるデータ部分であることに由来して未満型ということにし、後者を、1以上のクラスタにデータが完全に埋め込まれる（格納される）ことに由来して完全埋込型ということにする。
例えば図７に示す要求応答書込データ１については、その開始位置がクラスタの開始位置と一致し、終了位置はクラスタの途中となっている。このために、要求応答書込データ１は、前方のファイルボディ（１）と後方のファイルボディ（２）の２つのファイルボディに分割されることになる。この場合には、ファイルボディ（１）が完全埋込型で、ファイルボディ（２）が未満型となる。なお、ファイルボディについての（  ）内の数は、要求応答書込データにおけるファイルボディの論理的な配列順を示す。
また、要求応答書込データ２については、その開始位置がクラスタの途中で、終了位置がクラスタの終端（クラスタ境界）と一致するので、未満型のファイルボディ（１）と、完全埋込型のファイルボディ（２）に分割される。
要求応答書込データ３については、要求応答書込データの開始位置と終了位置の何れもがクラスタの途中となっているので、未満型のファイルボディ（１）と、完全埋込型のファイルボディ（２）と、さらに未満型のファイルボディ（３）との３つのファイルボディに分割される。
要求応答書込データ４は、要求応答書込データの開始位置と終了位置の何れもがクラスタ境界に対応しているので、完全埋込型のファイルボディ（１）のみであることになる。
【００７５】
また、図１０により、メディア（ＨＤＤ）に静止画ファイルを記録する場合における、ＨＤＤの記憶領域をクラスタ単位でみた場合の記録データの書き込み状態例を示す。なお、この図に示される静止画ファイルはＪＰＥＧ形式であることとしている。このことに応じては、例えば本実施の形態のデジタルビデオカメラ１のビデオ信号処理部４における静止画処理部分は、ＪＰＥＧ形式に対応した符号化、復号処理などが可能なようにして構成すべきことになる。
【００７６】
例えばＪＰＥＧなどの静止画ファイル自体としても、そのサイズは解像度や画像の内容などに応じて可変であり、また、ファイルシステム側のクラスタのサイズとの関係性も特に考慮されてはいない。また、撮像により得られた静止画ファイルに関しては、通常、１回のデータ書込要求により静止画ファイルとしての全てのデータをメディアに書き込むことが行われる。つまり、静止画ファイルにあっては、そのデータ全体が、１つの要求応答書込データとなる。
そして、或る静止画ファイルのサイズが、クラスタサイズの整数倍でないような場合には、図１０に示すようにして、例えばファイルのデータ開始位置からはじまる完全埋込型のファイルボディ（１）と、これに続く未満型のファイルボディ（２）とに分割されることになる。
また、図示はしていないが、先の図７の説明に準じて、静止画ファイルのサイズが、クラスタサイズの整数倍であれば、その静止画ファイルは、１つの完全埋込型のファイルボディから成るということになる。
さらに、ファイルの開始位置を、クラスタの途中から記録することが可能なデータ書き込み制御としたのであれば、未満型のファイルボディ（１）と、これに続く完全埋込型のファイルボディ（２）に分割されるパターンと、未満型のファイルボディ（１）と、これに続く完全埋込型のファイルボディ（２）と、これに続く未満型のファイルボディに分割されるパターン（３）とが加わる。
【００７７】
そして、上記したような要求応答書込データを対象とするファイルボディの分割は、例えばＦＡＴファイルシステムにおいて図１１に示すようなデータ書込制御を前提として行われていたものである。図１１のフローチャートには、図７の要求応答書込データＮとして例示されるパターン３となる要求応答書込データをメディアに書き込むときの制御手順例を示している。
【００７８】
例えば、ファイルシステムは、上位処理層のアプリケーションからのデータ書込要求を受けると、この要求と共に受け渡された新規の要求応答書込データのサイズなどと、これまでのデータ書込結果などに基づいて、この新規の要求応答書込データをメディアに書き込んだ結果として、パターン１〜パターン４のうちで、どのクラスタ使用結果のパターンとなるのかを判定する。そして、その判定結果がパターン３とされると、図１１に示す手順を実行するようにされる。
【００７９】
先に説明したように、パターン３の要求応答書込データは、未満型のファイルボディ（１）、完全埋込型のファイルボディ（２）、及び未満型のファイルボディ（３）とに分割される。そこで先ず、図１１のステップＳ１０１では、ファイルボディ（１）をメディアに書き込むための制御を実行する。そして、次のステップＳ１０２において、ステップＳ１０１によるファイルボディ（１）の書込結果が成功（ＯＫ）、失敗（ＮＧ）の何れであったのかについて判別する。例えばファイルシステムのデータ書込制御としては、下位のデバイスドライバを制御することになるのであるが、デバイスドライバでは、ファイルシステムから要求されるデータ書き込みに応じてメディアにデータ書き込みを実行した結果がＯＫ、ＮＧのいずれであったのかを返してくる。このステップＳ１０２としての判定処理は、このデバイスドライバから返されるデータ書き込み結果の情報に基づいて行うようにされる。なお、この点については、以降におけるデータ書き込み結果、あるいは管理情報（ＦＡＴ、ディレクトリエントリ）の更新としてのデータ書き込み結果についてＯＫ、ＮＧの判別をする場合においても同様である。
このステップＳ１０２において、データ書き込み結果がＮＧであると判別されたのであれば、ステップＳ１１５に進むようにされる。ステップＳ１１５では、データ書き込みが失敗（ＮＧ）であったことを、例えば上位アプリケーションなどに通知するための処理を実行する。例えばアプリケーションは、ステップＳ１１５によりデータ書き込み失敗が通知されたのであれば、今回のファイルの記録を強制終了させる、あるいは、可能であればリライト（再度書き込みの試行）などの、所定のエラー対応処理を実行する。
【００８０】
なお、例えば、ステップＳ１１５による通知に応じたアプリケーションのエラー対応処理として、今回のファイルの記録を強制終了させるという処理を実行させることとした場合には、エラーメッセージなどとしてユーザに通知することが好ましい。特にエラーメッセージを出力することなく、単にこれまでの記録動作を強制終了させただけでは、ユーザが故障であると誤解したりするなど、余計な混乱を招く可能性があるからである。
エラーメッセージの出力態様としては、例えば表示によるものや音声によるものを考えることができるが、ここで、表示部７に対する表示によりエラーメッセージを出力する場合の態様例を図１３に示しておく。
この図に示されるエラーメッセージとしては、表示部７の表示画面部７ａに対して、「ドライブエラーが発生しました、電源を入れ直してください」という、ユーザ向けの表現を用いてエラーメッセージを表示させた例が示されている。
【００８１】
これに対してステップＳ１０２においてＯＫの書き込み結果が得られたのであれば、ステップＳ１０３に進んでファイルボディ（２）を書き込むための制御を実行し、次のステップＳ１０４により、ステップＳ１０３によるファイルボディ（２）の書き込み結果がＯＫ、ＮＧのいずれであるのかを判別する。
このステップＳ１０４の判別結果がＯＫである場合には、ステップＳ１０５に進んでファイルボディ（３）を書き込むための制御を実行するのであるが、ＮＧの判別結果が得られた場合には、ステップＳ１０７以降のファイル管理情報（ＦＡＴ、ディレクトリエントリ）を更新するための手順を実行する。なお、ステップＳ１０７以降の手順については後述する。
【００８２】
また、ステップＳ１０５によりファイルボディ（３）の書き込み制御を実行した後においても、ステップＳ１０６により、ステップＳ１０５によるファイルボディ（３）の書き込み結果がＯＫとＮＧの何れであるのかを判別するようにされる。
なお、この図では、ステップＳ１０６における判別結果がＯＫとＮＧのいずれの場合にも、ステップＳ１０７以降の管理情報更新の手順に進むこととなっているが、ステップＳ１０６の判別結果がＯＫである場合とＮＧである場合とで、ステップＳ１０７以降で更新するべき管理情報の内容は異なってくる。
【００８３】
ステップＳ１０７においては、これまでのファイルボディの書き込み結果に応じてＦＡＴ１の領域の内容を更新するためのデータ書き込み制御を実行する。先に図３により説明したように、ＦＡＴファイルシステムが利用するファイル管理情報であるＦＡＴは、ＦＡＴ１，ＦＡＴ２のＦＡＴ領域を設けることとしている。このステップＳ１０７では、ＦＡＴ１、ＦＡＴ２のうち、ＦＡＴ１を対象として更新を行うようにされる。そして、次のステップＳ１０７により、上記ステップＳ１０６によるＦＡＴ１の更新としてのデータ書き込み結果がＯＫ，ＮＧのいずれであるのかを判別して、ＯＫであれば、ステップＳ１０９に進む。これに対して、ＮＧであれば、ステップＳ１１５の書き込み失敗の通知を行う。
【００８４】
ステップＳ１０９では、ＦＡＴ２を更新するためのデータ書き込み制御を実行する。そして、次のステップＳ１１０により、このデータ書き込み結果のＯＫ，ＮＧについての判別を行い、ＯＫであれば、ステップＳ１１１に進み、ＮＧであればｍステップＳ１１５に進む。
【００８５】
ステップＳ１１１においては、ＦＡＴ領域のテーブル情報と共にＦＡＴファイルシステムのファイル管理情報を成す、ディレクトリエントリを更新するためのデータ書き込み制御を実行し、次のステップＳ１１２により、その書き込み結果についての判別を行う。ステップＳ１１２にてＯＫの判別結果が得られたのであればステップＳ１１３に進むが、ＮＧの判別結果が得られた場合にはステップＳ１１５に進む。
【００８６】
ステップＳ１１３では、これまでの手順を実行した結果として、ファイルボディ（１）（２）（３）の３つ全てのファイルボディのデータの書き込みが成功（ＯＫ）であったか否かについて判別する。そして、肯定の判別結果を得た場合には、ステップＳ１１４により、要求応答書込データの書き込みが成功（ＯＫ）であったことを上位アプリケーションに通知するようにされる。例えばこの通知を受けたアプリケーションでは、まだ記録すべきデータが残っているのであれば、そのデータをメディアに記録していくための制御を継続するようにされる。
【００８７】
ところで、ステップＳ１０７〜Ｓ１１１までによるファイル管理情報の更新処理を開始する場合としては、ステップＳ１０４にてＮＧの判定結果を得た場合と、ステップＳ１０６にてＮＧの判定結果を得た場合と、さらに同じステップＳ１０６にてＯＫの判定結果を得た場合との３つの場合があることになる。
先ず、ステップＳ１０４にてＮＧの判定結果を得た場合とは、ステップＳ１０１によるファイルボディ（１）の書き込みは成功したが、ステップＳ１０３によるファイルボディ（２）の書き込みは失敗した場合であることになる。そこで、ステップＳ１０７〜ステップＳ１１１のファイル管理情報の更新処理としては、ファイルボディ（１）の書き込み結果のみが反映されるようにして、ファイル管理情報の更新を行うようにされる。また、この場合に対応するステップＳ１１３の判定結果は否定となるので、ステップＳ１１５により要求応答書込データの書き込み失敗を通知することになる。
また、ステップＳ１０６にてＮＧの判定結果を得た場合というのは、ステップＳ１０１によるファイルボディ（１）の書き込みと、ステップＳ１０３によるファイルボディ（２）の書き込みは成功したが、ステップＳ１０５によるファイルボディ（３）の書き込みは失敗した場合であることになる。そこで、この場合のステップＳ１０７〜ステップＳ１１１としては、ファイルボディ（１）（２）までの書き込み結果が反映されるようにするためのファイル管理情報の更新が行われることになる。また、この場合も、ステップＳ１１３の判定結果は否定となって、ステップＳ１１５の書き込み失敗の通知を行う。
そして、ステップＳ１０６にてＯＫの判定結果が得られた場合には、ファイルボディ（１）（２）（３）の全てのファイルボディの書き込みが成功していることになるので、ステップＳ１０７〜ステップＳ１１１としては、ファイルボディ（１）（２）（３）までの書き込み結果が反映されるようにするためのファイル管理情報の更新を行う。この場合には、ステップＳ１１３では肯定の判別結果が得られるので、ステップＳ１１４による書き込み成功の通知を行う。
【００８８】
このような手順では、書き込みが成功したファイルボディについて、その書き込み結果が反映されるようにしてファイル管理情報を更新するようにされている、ということがいえる。この場合のファイルボディは、アプリケーションがファイルレベルで処理する書き込みデータ単位である要求応答書込データを、ＦＡＴファイルシステムの書き込み制御に適合するようにして、クラスタを境界として区切るようにして形成された単位データである。従って、図１１のようにして、ファイルボディの書き込みが成功する都度、ファイル管理情報を逐次更新していくという制御手順の構成とすれば、ＦＡＴファイルシステムが管理するクラスタ単位により、書き込みが成功したデータを残すことなく管理可能な状態にしていくことができるわけであり、本来的には、それが順当、合理的であるということになる。
【００８９】
このような図１１に示すデータ書き込み制御の手順は、例えば一般的なコンピュータシステムの下でＦＡＴファイルシステムを採用する場合においては、特に問題もなく、また、相応に有効なものではある。しかしながら、例えば本実施の形態のデジタルビデオカメラ１は、一般のコンピュータシステムとの比較では、例えばメディア（ＨＤＤ）に記録するファイルのほとんどが動画としてのストリームデータの形式（より具体的には圧縮符号化形式）であり、また、可搬型でバッテリ駆動されるものであることから、不用意な操作などが原因で記録が不正に中断される事態を生じる可能性を排除することが難しいなど、特殊な事情を抱える。このようなことを考慮した場合、例えば図１１に示したような要求応答書込データの書き込み制御手順では、次のような不都合を生じることになる。
【００９０】
ここでも、ＭＰＥＧ方式により圧縮符号化された形式の動画ファイルを例に挙げる。
ＭＰＥＧ方式による動画ファイルは、先にも述べたように、ＧＯＰ（Group Of Picture）単位のシーケンス（連続）により形成されるものとなる
これに応じて、要求応答書込データの構造としても、図９の記録データとして示したように、ＧＯＰのシーケンスにより形成されるものとなる。つまり、動画ファイルを記録するときには、ファイルシステムの上位のアプリケーションは、ビデオ信号処理部４における圧縮符号化処理によってＧＯＰ単位の記録データが形成される都度、バッファに書き込んで蓄積していくようにしており、その蓄積状態として、ＧＯＰ単位のシーケンスとしてのデータのまとまりが一定以上のサイズとなったときに、このひとまとまりのＧＯＰ単位のシーケンスによるデータを要求応答書込データとして読み出してファイルシステムに渡すようにされる。
このようにして、要求応答書込データは或る数のＧＯＰの連続から成るデータとされるのであるが、従って、先にも説明したように、要求応答書込データは可変長で、クラスタのサイズとの関連性も特に無いということが分かる。
また、このことは、要求応答書込データを形成するＧＯＰの境界と、メディア上に形成されるクラスタの境界とは必ずしも一致しないということであり、従って、ＧＯＰは、クラスタの境界により分割される状態になる、ということも示している。この点について、図９を参照して確認してみる。
図９の例では、クラスタ１の先頭から要求応答書込データの書き込みが開始されていることから、要求応答書込データの書き込み開始位置は、クラスタ１の先頭に対応するクラスタ境界Ｃdv0と一致しているが、要求応答書込データ内におけるクラスタ境界Cdv1は、要求応答書込データにおけるＧＯＰの途中に位置している。つまり、この位置においては、クラスタ境界とＧＯＰの境界とは不一致である。また、クラスタ境界Cdv2はＧＯＰの境界と一致した場合が示されているが、クラスタＭ＋１の終端が対応するクラスタ境界Cdv3もＧＯＰの途中に位置する。そして、この場合の要求応答書込データの終端は、クラスタ境界Cdv3が開始位置となるクラスタＭ＋１の途中位置にあるようにして書き込みが行われるものとなる。
つまり、図７の場合には、要求応答書込データはパターン１のクラスタとの関係を有した上で、ファイルボディ（１）とファイルボディ（２）の境界に対応するクラスタ境界（Cdv3）の位置にて、ＧＯＰが分割される状態となっているものである。
【００９１】
ここで、上記図９に示されるパターン１の要求応答書込データを、先に図１１により説明した手順に従ってメディアに記録していくとする。なお、図１１は、パターン３とされて３つのファイルボディに分割された要求応答書込データを記録する場合の手順とされていたが、今回は、パターン１とされてファイルボディは２つとなるので、実際には、図１１からステップＳ１０５及びステップＳ１０６を省略した手順により要求応答書込データの記録を行うことになる。
【００９２】
そして、図１１に準じた手順により図９の要求応答書込データを記録していったときにおいて、例えば、ファイルボディ（１）の書き込みは成功したのであるが、続くファイルボディ（２）の書き込みに失敗したとする。この場合、図１１の手順によっては、ステップＳ１０７以降の処理により、ファイルボディ（１）の書き込み結果が正常に反映されるようにして、ファイル管理情報（ＦＡＴ１、ＦＡＴ２、及びディレクトリエントリ）の更新が行われることになる。そのうえで、例えば書き込み失敗の通知が行われ、例えばデジタルビデオカメラ１のリセットなどが行われることになる。
【００９３】
そして、例えば上記のようにしてデジタルビデオカメラ１のリセットが行われた後に、最後に記録した動画ファイルを再生しようとしたとする。すると、このときには、最後に記録された動画ファイルは、ＦＡＴファイルシステムによっては、図９のクラスタ境界Cdv3まで記録されているものとして管理されていることになる。つまり、ファイルの終端クラスタはクラスタＭ＋１であるものとしてＦＡＴファイルシステムにより管理されている。
【００９４】
この最後の動画ファイルの再生にあたり、ファイルシステムは、動画ファイルの再生要求に応じて、クラスタレベルでの読み出しを実行してデータをアプリケーションに渡し、アプリケーションでは、受け渡されたデータをファイルレベルで処理して再生出力させることになる。そして、このときには、例えばアプリケーションは、ファイルシステムから受け渡されたクラスタレベルのデータを、ＧＯＰ単位のデータのシーケンスとして扱い、ビデオ信号処理部４によりＭＰＥＧのフォーマットに準じた復号処理を実行させることになる。
【００９５】
しかしながら、この場合の動画ファイルのデータは、上記のようにして、図９のクラスタ境界Cdv3まで埋め込まれて記録されているものとして管理されているので、実際においては、この動画ファイルの終端位置は、或るＧＯＰの途中位置となっている。
このようにしてＧＯＰが正常に完結していないＭＰＥＧ形式の圧縮符号化データについて復号処理を実行して再生出力しようとした場合には、再生エラーとなる可能性が高い。先にも説明したように、ＧＯＰは、双方向予測による復号処理のための最小単位であるために、例えばＧＯＰにおける前半のデータのみが存在していても、後半のデータが消失していると、前半のデータが復調のために利用するデータも消失している場合があり、この場合には、正常な復調処理ができなくなる。つまり、ＧＯＰとしてのデータ単位は、途中位置にて分離された場合においては、その分離されたデータ部分のみでは意味を成さないものであり、本来は、このようにして分離された一方のデータ部分のみが独立して存在すべきものではない、ということがいえる。
そして、正常な復調処理が実行できない場合には再生エラーとなることがあり、これにより、システムが異常な動作に陥る、あるいは動作の異常停止（フリーズ）などの不都合を生じることがあり、例えば機器の信頼性を低下させるおそれがある。
ちなみに、このような不都合は、動画ファイルのみではなく、例えば図１０などに示したような静止画ファイルについても生じ得るものである。この図に示される静止画ファイルはＪＰＥＧ形式とされているが、ここでは１つのＪＰＥＧ形式のファイルを形成するデータ単位が、動画ファイルのＧＯＰに相当するとみることができる。すると、図１０の例では、１つの静止画ファイルとしてのＪＰＥＧ形式により圧縮符号化されたデータが、パターン１としてメディアに記録される結果を示していることになる。この場合において、例えばファイルボディ（１）のみの書き込みが成功して、ファイルボディ（２）の書き込みが失敗したとすれば、その後に再生を行おうとしたときに、ファイルボディ（２）のデータを復号処理に利用できないことで再生エラーが生じる可能性がある。
【００９６】
そこで、本実施の形態としては、上記したような再生エラーが回避されるようにして要求応答書込データを記録するための手順を、次のようにして提案する。
図１２のフローチャートは、本実施の形態としての要求応答書込データ記録のための手順例を示している。なお、この図においても、図１１と同様にして、例示されるパターン３となる要求応答書込データ（図７の要求応答書込データＮ）をメディアに書き込むときの制御手順例を示している。
図１２においては、先ず、図１１のステップＳ１０１と同様にして、ステップＳ２０１によりファイルボディ（１）をメディアに書き込むための制御を実行する。そして、次のステップＳ２０２により、上記ステップＳ２０１によるファイルボディ（１）の書込結果が成功（ＯＫ）と失敗（ＮＧ）の何れであったのかについて判別し、ＮＧとの結果が得られたのであれば、ステップＳ２１４に進み、図１１のステップＳ１１５と同様にして今回の要求応答書込データの書き込みが失敗したことをアプリケーションに通知するようにされる。
【００９７】
一方、ステップＳ２０２により、ファイルボディ（１）の書き込み結果がＯＫであるとの判別結果が得られた場合には、ステップＳ２０３に進んでファイルボディ（２）の書き込み制御を実行し、続くステップＳ２０４により、ファイルボディ（２）の書き込み結果についての判別を行う。ステップＳ２０４において書き込み結果はＮＧであるとの判別結果が得られたのであればステップＳ２１４に進むが、ＯＫの判別結果が得られたのであればステップＳ２０５に進み、ファイルボディ（３）の書き込み制御を実行する。そして、ステップＳ２０６において、ファイルボディ（３）についての書き込み結果がＮＧであるとの判別結果が得られたのであればステップＳ２１４に進むが、ＯＫの判別結果が得られたのであればステップＳ２０７〜Ｓ２１２によるファイル管理情報（ＦＡＴ１，２、及びディレクトリエントリ）を更新するための手順を実行する。なお、ステップＳ２０７〜Ｓ２１２までの手順は、図１１のステップＳ１０７〜Ｓ１１２と同様となる。ただし、図１２の手順においては、ステップＳ２０７に至ったということは、ファイルボディ（１）（２）（３）の全ての書き込みが成功しているということになるので、図１１のステップＳ１１３の手順は省略される。
【００９８】
上記図１２に示した手順によると、例えばパターン３の要求応答書込データをメディアに記録するのにあたり、ファイルボディ（１）（２）（３）を書き込んでいく段階において、１つでも書き込み結果がＮＧとなった場合には、直ちにステップＳ２１４としての要求応答書込データ書き込み失敗を通知する手順に移行することとしている。つまり、例えばファイルボディ（１）の書き込みが成功して、ファイルボディ（２）の書き込みが失敗したとすれば、ファイルボディ（１）の新規記録を反映したファイル管理情報の更新処理を実行することなく、書き込み失敗通知に移行するものである。換言すれば、本実施の形態においては、要求応答書込データの記録手順として、その要求応答書込データを形成するファイルボディの書き込みが全て成功した場合においてのみ、ファイル管理情報の更新を行うようにされる。つまり、要求応答書込データを成すデータの書き込みが完全に成功した場合においてのみ、その書き込み結果に応じたファイル管理情報の更新を実行するようにされる。なお、ファイルボディが２つとなる要求応答書込データの場合には、図１２においてステップＳ２０５，Ｓ２０６の手順を省略すればよい。
【００９９】
上記図１２に示す手順とすることで、本実施の形態としては、１つの要求応答書込データの記録にあたり、その要求応答書込データを形成する全てのファイルボディの書き込みが成功した場合には、その要求応答書込データがメディアに記憶されているものとして管理されることとなる一方、ファイルボディの書き込みが一度でも失敗したのであれば、その要求応答書込データはメディアには記録されていないものとして管理されることになる。このことは、本実施の形態では、メディアに記録される動画ファイルのデータは、常に要求応答書込データを最小単位とする構造で、そのファイル終端位置も、要求応答書込データの終端位置と一致した状態が維持されるということになる。そして、図９との対応であれば、動画ファイルは、常に正常なＧＯＰの連結により形成されることが保証される。これに対して、図１１の手順により記録を行った場合には、ファイルとしての全データの書き込みが完了した場合には、要求応答書込データを最小単位とする構造で、そのファイル終端位置も、要求応答書込データの終端位置と一致した状態とすることができるが、要求応答書込データの途中で失敗（２つ目以降のファイルボディ書き込みが失敗）した場合には、最後のデータ部分は、要求応答書込データ未満となってしまう。そして、このことは、図９との対応では、先にも説明したように、ファイルの終端が、ＧＯＰの途中となってしまう状態となり得るものである。
【０１００】
このようにして、本実施の形態では、動画ファイルを例にとれば、ファイルのデータの書き込みが最後まで成功した場合と、途中で失敗したときとに関わらず、ＧＯＰの単位が連続するようにして完結したファイルの構造とすることが保証される。これにより本実施の形態としては、再生エラーとなってしまう可能性のあるファイルが無駄に記録されてしまうことが防止される。
なお、例えば図１０に示したような静止画ファイルに関しては、データの書き込みが途中で失敗すれば、そのファイル自体がメディアに記録されなかったものとしてファイルシステム上で管理されることになる。つまり、この場合においては、書き込みが失敗したファイルについては存在しないものとすることで再生エラーが回避されることになる。
【０１０１】
先の説明のようにして、ファイルの記録について、ファイルシステムにより管理することを前提とすると、例えばその管理単位であるクラスタごとに記録結果を更新していく（図１１の手順である）ことが順当であるが、この手順では、動画ファイルや静止画ファイル（特に圧縮符号化された形式のもの）では、ファイルとして再生に必要なデータ部分が欠落して再生エラーとなる可能性が高い。
そこで、本実施の形態としては、クラスタ単位にまで細分化して有効なデータを残そうとしなくとも、動画ファイルであれば、最後に正常に記録された最小再生単位（ＧＯＰ）のデータまでを残すことのできる手順をとればよい、という考えかたをとり、静止画ファイルであれば、ファイルが存在する、あるいは存在しないのいずれかの結果が最終的に得られるような手順とすればよい、という考え方をとろうとしたものである。このような考え方に立脚して、本実施の形態では、図１２に示すようにして、要求応答書込データを形成する全ファイルボディの書き込みが成功しない限りはファイル管理情報を更新しない、という概念に基づいた手順を構成した。
【０１０２】
また、図１２に示されるような手順によりデータの書き込みが行われるということは、ファイルボディとファイル管理情報（ＦＡＴ１，２、ディレクトリエントリ）は同時的にメディアに書き込まれるのではなく、処理時間の経過に応じて順次的に書き込まれていくということでもある。
このようにして、データと管理情報とが時系列に従って順次的に書き込まれる場合において、書き換え途中のときに電源が遮断されるなどの障害が発生して処理が中断されたとすると、例えば実際にメディアに記録されたデータの内容と、ファイル管理情報の管理内容との間に何らかの不整合が生じる可能性がでてくる。このような不整合によっては、例えば、実際にメディアに記録された有効な記録データのサイズと、ファイルシステムが管理する記録データのサイズとが相違したり、また、場合によっては正常にファイルにアクセスできなくなるなどの不都合を招くことになる。このために、例えば上記のような不整合が発生した場合に対応して、整合のとれた状態に復帰できるようにすることが好ましい。
【０１０３】
そこで、以降においては、図１２により説明した本実施の形態の要求応答書込データの書込手順によりメディアへのファイルの記録を実行する場合に応じた、記録データ管理の整合性復帰のための構成について説明する。
【０１０４】
先ず、図１４により、図１２に示した要求応答書込データ（ファイルボディ）、及びファイル管理情報（ＦＡＴ１，ＦＡＴ２、ディレクトリエントリ）の書き込み制御手順を、時間軸に従って模式的に示す。
この図に示すようにして、図１２に示した書き込み制御手順によっては、時間経過に従って、ファイルボディ（１）、ファイルボディ（２）、ファイルボディ（３）、ＦＡＴ１、ＦＡＴ２、ディレクトリエントリ、の順でメディアへの書き込みが行われることになる。すると、このような書き込み手順のシーケンスは、図示するようにして、ｔｍ０〜ｔｍ６までの７つの処理タイミングにより区分できるものとして考えることができる。
【０１０５】
処理タイミングｔｍ０は、１つの要求応答書込データの書き込みを開始する前のタイミング、つまり、要求応答書込データとして最初にファイルボディ（１）の書き込みを開始する前のタイミングである。
処理タイミングｔｍ１は、ファイルボディ（１）の書き込みが終了し、ファイルボディ（２）の書き込みが開始される前のタイミングである。
処理タイミングｔｍ２は、ファイルボディ（２）の書き込みが終了し、ファイルボディ（３）の書き込みが開始される前のタイミングである。
処理タイミングｔｍ３は、ファイルボディ（３）の書き込みが終了し、ファイル管理情報として最初に書き込むべきＦＡＴ１の書き込みが開始される前のタイミングである。
処理タイミングｔｍ４は、ＦＡＴ１の書き込みが終了し、ＦＡＴ２の書き込みが開始される前のタイミングである。
処理タイミングｔｍ５は、ＦＡＴ２の書き込みが終了し、ディレクトリエントリの書き込みが開始される前のタイミングである。
処理タイミングｔｍ６は、ディレクトリエントリの書き込み、つまり１要求応答書込データの書き込み終了したタイミングである。
【０１０６】
上記図１４のようにして１要求応答書込データ書き込みにおける処理タイミングを設定した上で、本実施の形態では、図１５に示される内容のバックアップ情報を用意し、このバックアップ情報を、例えば不揮発性メモリ１２ａなどの電源供給が遮断されても、その記憶内容が消去されない記憶領域（記憶デバイス）に記憶させるようにする。
先ず、図１５（ａ）には、バックアップ情報の構造例が示されている。
この図に示すバックアップ情報としては、処理タイミング（進捗情報）、開始クラスタ番号、終了クラスタ番号、ディレクトリエントリ格納セクタ、及びこのディレクトリエントリ格納セクタが実際に書き込まれるべきメディア上のＬＢＡから成るものとしている。なお、本実施の形態では、このバックアップ情報における上記ディレクトリエントリ格納セクタと、これに対応するＬＢＡの情報とをまとめて、「ディレクトリエントリ関連バックアップ情報（ファイル管理関連情報）」ともいうことにする。
【０１０７】
先ず、この場合の処理タイミング領域のサイズは２バイトとされ、この処理タイミング領域に対して格納する値は、例えば図１５（ｂ）に示されるようにして、処理タイミングｔｍ０〜ｔｍ６ごとに応じて定義されている。この場合には、
tm0＝0x10
tm1＝0x21
tm2＝0x22
tm3＝0x23
tm4＝0x30
tm5＝0x40
tm6＝0x00
であるとして定義している。この領域に格納される処理タイミングは、実際に要求応答書込データを書き込み制御のシーケンスを実行しているときに逐次更新される。なお、ここで示される処理タイミングｔｍ０〜ｔｍ６に対応する値は、あくまでも一例であってほかにも考えられるものである。
【０１０８】
開始クラスタ番号の領域には、今回書き込むべき要求応答書込データの開始位置を含むメディア上のクラスタの番号(アドレス)が格納される。終了クラスタ番号の領域には、今回書き込むべき要求応答書込データの終了位置を含むメディア上のクラスタの番号が格納される。ここで、要求応答書込データは、連続した番号のクラスタに書き込まれることとすれば、開始クラスタ番号と終了クラスタ番号（単位領域使用情報）によっては、今回書き込むべき要求応答書込データの書き込みに使用するクラスタを表現していることになる。
【０１０９】
ディレクトリエントリ格納セクタには、有効なデータとして、今回の要求応答書込データの書き込みを完了(成功)した結果となった場合に対応した更新内容を有するディレクトリエントリのデータが格納される。そして、このディレクトリエントリのデータを、１セクタのサイズに格納したものが、ここでのディレクトリエントリ格納セクタとなる。なお、ここでは1セクタは５１２バイトであることとしており、これに応じてディレクトリエントリ格納セクタも５１２バイトのサイズを有するものとされている。
図５に示したようにディレクトリエントリは３２バイトとされているが、メディアから書き込み／読み出しが行われるデータの最小単位は、デバイスドライバの層が対応するセクタ単位となる。この場合において、セクタが５１２バイトであるとすると、３２バイトのディレクトリエントリは、セクタサイズに余裕で収まる。従って、ディレクトリエントリの書き込み時には、この１セクタのサイズにディレクトリエントリのデータを埋め込んで、このセクタ単位のデータをメディアに書き込むようにし、読み出し時には、ディレクトリエントリのデータを埋め込んだセクタをメディアから読み出して、この読み出したセクタから、ディレクトリエントリのデータを抜き出すようにされる。
このことに対応して、本実施の形態では、バックアップ情報に対してディレクトリエントリのデータを格納するのにあたり、このディレクトリエントリをメディアに記録するときの１セクタ分のデータを格納することとしている。これにより、後述するようにして、ファイル管理の整合性復帰のためにバックアップ情報のディレクトリエントリをメディアに書き込む必要のあるときには、バックアップ情報からディレクトリエントリを読み出すときに１セクタのサイズにより読み出しを行い、例えばデバイスドライバにそのまま渡すことができる。換言すれば、例えばバックアップ情報から３２バイトのサイズのディレクトリエントリの情報を読み出した後に、例えばファイルシステムが、セクタにディレクトリエントリのデータを埋め込むような処理を実行する必要がない。このようにして、本実施の形態としては、バックアップ情報のディレクトリエントリの書き込みなどに関して、ファイルシステム、デバイスドライバ間でのデータの受け渡しが効率的なものとなって、例えば処理負担の軽減が図られるように配慮している。
また、同じバックアップ情報に格納されるＬＢＡは、上記ディレクトリエントリ格納セクタが実際に記録されるべきメディア上の位置を示すようにされる。
【０１１０】
続いては、図１６のフローチャートにより、１つの要求応答書込データの書き込みを開始するときの準備処理としての手順について説明する。つまり、実際において、アプリケーションからのデータ書込要求に応じて図１２に示した手順により１つの要求応答書込データの書き込みを実行するときには、その開始に先立って、図１６に示す手順が、ファイルシステムにより実行されるものである。
【０１１１】
例えばファイルシステムは、例えばアプリケーションからのデータ書き込み要求を受けると、先ず、ステップＳ３１０により、このデータ書き込み要求に応じて書き込むべき要求応答書込データを全て記録可能なだけの空き領域（クラスタ単位の領域となる）を検索し、次のステップＳ３０２により、空き領域が存在するか否かについて判別する。この処理のためには、現段階における最新のファイル管理情報の内容を参照すればよく、より具体的には、今回書き込むべき要求応答書込データのサイズを格納可能なだけの数の未使用クラスタが残っているかどうかを、ＦＡＴに登録されている未使用クラスタを示すＦＡＴエントリを検索して判定するようにされる。
【０１１２】
ステップＳ３０２において、今回の要求応答書込データを書き込み可能なだけの空き領域が存在しないことが判別された場合には、例えばステップＳ３０８に進んで、アプリケーションに対して今回書き込むべき要求応答書込データのための空き領域が無いことを通知する。この通知を受けたアプリケーションは、例えば、動画ファイルの記録中だったのであれば、これまでの記録動作を停止させると共に、空き容量がなくなって記録動作を停止させたことをユーザに通知するためのメッセージを所定の態様により出力する。また、静止画ファイルの記録を行おうとしていた場合には、この静止画ファイルの記録を実行しないようにするとともに、上記と同じようにして、ファイルを記録できるだけの容量が不足している状態にあることを通知するメッセージを出力するようにされる。
これに対して、ステップＳ３０２において空き領域が存在するとして、ステップＳ３０２にて肯定の判別結果が得られた場合には、ステップＳ３０３〜Ｓ３０７までにより、要求応答書込データを書き込むにあたっての準備処理を実行する。
【０１１３】
準備処理として、先ず、ステップＳ３０３においては、今回の要求応答書込データをメディアに書き込むときの書き込み開始位置として、その開始位置を含むクラスタを決定する。この決定は、クラスタ番号により行う。つまり、ここでは、要求応答書込データを書き込むためのメディア上の先頭クラスタ番号を決定する。また、次のステップＳ３０４により、今回の要求応答書込データの書き込み終了位置を含む終了クラスタ番号を決定する。この場合において、少なくとも要求応答書込データごとの書き込みはクラスタ番号が連続した記憶領域を使用することとすれば、今回の要求応答書込データのクラスタ内における書き込み開始位置と、この要求応答書込データのサイズと、クラスタサイズとに基づいて、開始クラスタ番号を必要数インクリメントしていくことで、終了クラスタ番号を特定できる。
【０１１４】
また、次のステップＳ３０５においては、今回の要求応答書込データの書き込みが完了（成功）したとする場合に応じたディレクトリエントリの内容を形成する情報項目の内容を取得する。
ディレクトリエントリを構成する情報は、先に図５に示したとおりであり、従ってステップＳ３０５においては、ディレクトリエントリを形成する情報である、名称、拡張子、属性、作成時刻、作成日付、最終アクセス日付、先頭クラスタ番号、記録時刻、記録日付、サイズの情報を生成することになる。ただし、これらの情報項目のうち、名称、拡張子、属性、作成時刻、作成日付、及び先頭クラスタ番号については、ファイルのデータの記録途中において特に変化する情報ではないので、記録対象のファイルにおける最初の要求応答書込データを記録するときのステップＳ３０５により取得して保持しておきさえすれば、後のステップＳ３０５においては特に取得し直す必要はない。また、最終アクセス日付、記録時刻、記録日付などの情報項目も、ファイルが最初に記録されたときには、作成時刻、作成日付と同じでよいことから、これも、最初のステップＳ３０５により取得したものを、以降において利用すればよい。これに対して、サイズの情報項目については、メディアに要求応答書込データを書き込むごとに、そのサイズに応じて増加させた値を生成して取得する必要があることになる。そして、このようにして生成した情報項目を利用してディレクトリエントリを生成するようにされる。なお、ここでのディレクトリエントリとしては、バックアップ情報に対して格納することに対応して、３２バイトのディレクトリエントリの実体のデータを１セクタ分の５１２バイトのサイズに埋め込むようにした、セクタ単位のデータとして生成されるものとする。
【０１１５】
次のステップＳ３０６においては、ステップＳ３０３により決定した開始クラスタ番号と、ステップＳ３０４により決定した終了クラスタ番号と、ステップＳ３０５により生成したディレクトリエントリを含む１セクタのデータと、このディレクトリエントリを含むセクタに対応するＬＢＡの情報を、バックアップ情報に格納するようにされる。なお、このバックアップ情報は本実施の形態では不揮発性メモリ１２ａに記憶されるものとしているので、ステップＳ３０５としは、不揮発性メモリ１２ａにアクセスして上記した情報を、バックアップ情報におけるしかるべき位置に書き込む処理を実行することになる。
【０１１６】
そして、ステップＳ３０６としてのバックアップ情報に対する所定の情報項目の格納の手順が終了したとされると、ステップＳ３０７により、今回のデータ書き込み要求に応じた要求応答書込データの書き込み手順を開始するようにされる。
【０１１７】
図１７のフローチャートは、上記図１６のステップＳ３０７により開始される、要求応答書込データの書き込み手順を示している。なお、この手順としても、例えばファイルシステムが実行するものとしてみることができる。また、この図においては、図１２の場合と同様にパターン３の構造の要求応答書込データを書き込む場合を示している。また、実際においては、図１２に示しているように、ファイルボディ（１）（２）（３）、ＦＡＴ１、ＦＡＴ２、及びディレクトリエントリの書き込みを実行するごとにその書き込み結果がＯＫであるかＮＧであるかの判定を行うのであるが、ここでは、このような書き込み結果の判定手順を省略し、ファイルボディ（１）（２）（３）、ＦＡＴ１、ＦＡＴ２、及びディレクトリエントリが正常に書き込まれることを前提とした場合の手順を示している。
【０１１８】
この図に示す手順としては、要求応答書込データを書き込んでいくのあたり、先に図１４に示した処理タイミングｔｍ０〜ｔｍ６を、実際の処理経過に応じて、バックアップ情報に反映させていくものとなる。
つまり、先ずステップＳ４０１により、不揮発性メモリ１２ａのバックアップ情報の処理タイミング領域に対して、ｔｍ０を示す値（0x10）を格納したうえで、次のステップＳ４０２によりファイルボディ（１）の書き込み制御を実行する。そして、このステップＳ４０２の手順を終了したとされると、バックアップ情報の処理タイミング領域に格納する値を、上記ステップＳ４０１により格納されたｔｍ０（0x10）から、ｔｍ１（0x21）に書き換え、ステップＳ４０４によりファイルボディ（２）の書き込み制御を行う。
ファイルシステムは、ファイルボディ（２）の書き込みが終了すると、ステップＳ４０５によりバックアップ情報の処理タイミング領域について、ｔｍ１（0x21）からｔｍ２(0x22)に書き換え、ステップＳ４０６によりファイルボディ（３）の書き込み制御を実行する。
ファイルボディ（３）の書き込みが終了したのであれば、次のステップＳ４０７により、バックアップ情報の処理タイミング領域について、ｔｍ２(0x22)からｔｍ３（0x23）に書き換え、ステップＳ４０８によりＦＡＴ１の書き込み制御を実行する。
ＦＡＴ１の書き込みが終了すると、ステップＳ４０９により、バックアップ情報の処理タイミング領域について、ｔｍ３（0x23）からｔｍ４(0x30)に書き換え、ステップＳ４１０によりＦＡＴ２の書き込み制御を実行する。ＦＡＴ２の書き込みが終了すると、ステップＳ４１１によりバックアップ情報の処理タイミング領域について、ｔｍ４(0x30)からｔｍ５（0x40）に書き換え、ステップＳ４１２によりディレクトリエントリの書き込み制御を実行する。
上記ステップＳ４１２によるディレクトリエントリの書き込みが終了(成功)したことで、今回の要求応答書込データの書き込みは正常に完了したことになるが、これに応じて、ステップＳ４１３により、バックアップ情報の処理タイミング領域については、ｔｍ５(0x40)からｔｍ６（0x00）に書き換える。また、不揮発性メモリ１２ａのバックアップ情報から開始クラスタ番号、終了クラスタ番号、及びディレクトリエントリ関連バックアップ情報の内容を削除する。このステップＳ４１３により得られるバックアップ情報の内容は、要求応答書込データの書き込み開始前に対応した初期値を格納したものとなる。
【０１１９】
上記図１７に示した要求応答書込データの書き込み手順によっては、ファイルボディ（１）（２）（３）、ＦＡＴ１、ＦＡＴ２、ディレクトリエントリの書き込みが進行していくごとに、処理タイミング領域に格納する内容が変化していくことになる。このことから、処理タイミング領域に格納される値は、例えば図１２のフローチャートや図１４に示される本実施の形態の要求応答書込データの書き込み手順の段階についての進捗状況を示しているということになる。そして、例えば電源が不意に遮断されるなどの原因でデータ記録が中途終了してしまったような場合を考えてみると、このようなときの不揮発性メモリ１２ａにおけるバックアップ情報の処理タイミング領域の内容としては、最後の要求応答書込データの書き込みシーケンスにおいて、どの段階まで正常に終了しているのかが示されていることになる。つまり、例えば電源の起動時において、不揮発性メモリ１２ａに記憶されている処理タイミング領域を参照すれば、最後に記録された要求応答書込データが正常に書き込みを完了しているのか、あるいは中途で不正終了しているのかが判定できると共に、不正終了している場合には、要求応答書込データの書き込みシーケンスにおいて、どこまでの段階が正常に終了しているのかを特定できるということになる。
【０１２０】
続いて、図１８のフローチャートにより、ファイル管理の整合性復帰のために、本実施の形態のファイルシステムが実行するとされる手順例について説明する。
この図に示す処理は、例えば、デジタルビデオカメラ１のメイン電源がオンとなって、メディア（ＨＤＤ）のマウント処理を実行する必要が生じたときに先立って行われるべきものとなる。また、この図に示す処理は、ファイルシステムが実行するものとしてみることができる。また、この図に示す手順としても、
【０１２１】
この図においては、先ずステップＳ５０１により、不揮発性メモリ１２ａのバックアップ情報にアクセスして読み出しを行い、このバックアップ情報における処理タイミング領域に格納されている値（処理タイミング）を参照する。そして、次のステップＳ５０２により、その参照した値が処理タイミングｔｍ０〜ｔｍ６のいずれを示しているのかを判別する。
【０１２２】
ステップＳ５０２により判別した値が処理タイミングｔｍ０に対応するものであった場合には、ステップＳ５０３の手順に進む。
処理タイミングｔｍ０は、図１４に示すように、要求応答書込データの書き込みを開始する前の段階を示している。つまり、ステップＳ５０２にて判別された値が処理タイミングｔｍ０であった場合は、最後のデータ書込要求に応じた要求応答書込データの書き込みシーケンスは失敗であり、その結果としては、要求応答書込データ書き込みシーケンスの最初の段階のファイルボディ（１）の書き込みを開始しようとする前のタイミングでデータ書込処理が中途終了した場合となる。
この場合には、最後のデータ書き込み要求に応じた要求応答書込データは、メディアには全く記録されていないが、この最後の１つ前のデータ書き込み要求に応じた要求応答書込データの書き込みシーケンスは、正常に完了していることになる。この場合、最後の要求応答書込データとしての実体は、全く書き込まれていないので、この要求応答書込データが正常に記録された状態のファイル管理内容を得るのは不可能である。
そこで、ステップＳ５０３としては、不揮発性メモリ１２ａに保持されるバックアップ情報の処理タイミング領域について初期値のｔｍ０とする以外は、特に処理を実行することなく、この図に示す手順を抜ける。これにより、最後の１つ前のデータ書き込み要求に応じた要求応答書込データまでが正常に管理されるようにして、ファイル管理の整合性が維持されることになる。
【０１２３】
また、ステップＳ５０２において、処理タイミングｔｍ１を示すことが判別された場合としては、最後の要求応答書込データの書き込みシーケンスは失敗であり、その結果としては、ファイルボディ（１）までの書き込みのみが正常終了しており、次のファイルボディ（２）については全く書き込まれていない、あるいはその中途までしか書き込まれていない状態とされて、ファイルボディ（２）以降のデータの正常な記録結果は保証されていない、ということになる。この場合には、ステップＳ５０４の手順に進む。
【０１２４】
上記のようにしてファイルボディ（１）のみが正常に書き込まれた結果となった場合にも、残る書き込み単位データの実体であるファイルボディ（２）（３）は、この時点では存在していないので、この要求応答書込データが正常に記録された状態のファイル管理内容を得るのは不可能である。
そこで、ステップＳ５０４としては、上記ステップＳ５０３と同様にして、バックアップ情報の処理タイミング領域について初期値のｔｍ０として、その内容を初期化する処理のみを実行する。
【０１２５】
また、ステップＳ５０２において、処理タイミングｔｍ２を示すことが判別された場合としては、最後の要求応答書込データの書き込みシーケンスが失敗になった結果として、ファイルボディ（１）（２）までの書き込みのみが正常終了しており、ファイルボディ(３)以降のデータの正常な書込結果は保証されていないことになる。この場合においても、残る要求応答書込データの実体であるファイルボディ（３）は現時点で存在していないので、この要求応答書込データが正常に記録された状態のファイル管理内容は得られない。そこで、この場合においても、ステップＳ５０５により、上記ステップＳ５０３、Ｓ５０４と同様にして、バックアップ情報の処理タイミング領域について初期値のｔｍ０を示す値を格納して初期化する処理のみを実行する。
【０１２６】
また、ステップＳ５０２において、処理タイミングｔｍ３を示すことが判別された場合としては、最後の要求応答書込データの書き込みシーケンスが失敗になった結果として、ファイルボディ（１）（２）（３）までの書き込みは正常に終了しているが、以降のＦＡＴ１，ＦＡＴ２，及びディレクトリエントリのデータの正常な書き込みは保証されていない状態であるということになる。
この結果は、最後の要求応答書込データの実体（ファイルボディ（１）（２）（３））についてはメディアに書き込まれているが、ファイル管理情報によっては、その書き込み結果が反映されていない、ファイル管理内容に関して不整合が生じている状態に相当する。しかしながら、このようにして、最後の要求応答書込データの実体がメディアに記録されている状態であれば、この最後の要求応答書込データについて、バックアップ情報を利用してファイルシステム上で正常に記録済みとされたものとして管理されるようにすることができる。つまり、整合性の復帰をはかることができる。このために、ステップＳ５０６としての手順を実行する。
【０１２７】
ステップＳ５０６においては、先のステップＳ５０１に応じて読み込んだとされるバックアップ情報の開始クラスタ番号と、終了クラスタ番号を参照し、先ず、ＦＡＴ１について、この開始クラスタ番号から終了クラスタ番号に至るまでのクラスタについてのクラスタチェインが形成されるようにして、ＦＡＴエントリの編集を行う。バックアップ情報の開始クラスタ番号と終了クラスタ番号は、それぞれ、最後の要求応答書込データが書き込まれたクラスタ群における最初のクラスタと最後のクラスタの各クラスタ番号を示しているから、上記のようにしてＦＡＴエントリの編集を行ったことで、ＦＡＴ１においては、最後の要求応答書込データが、メディア上に記録されているものとして管理されることになる。また、ＦＡＴ領域としては、ＦＡＴ１とともにＦＡＴ２も存在するので、このＦＡＴ２についてもＦＡＴ１と同様の編集を行う。
なお、この場合におけるＦＡＴエントリの編集は、最後の要求応答書込データが書き込まれる開始クラスタ番号と、終了クラスタ番号のみに基づいて行われ、これら開始クラスタ番号と終了クラスタ番号の間のクラスタ番号の情報は存在しないことから、最後の要求応答書込データの書き込みに使用するクラスタは、クラスタ番号が連続していることが前提になる。しかしながら、現実においては、単位書込要求データ程度のサイズのデータは、連続するクラスタ番号の領域（物理的にも連続した領域となる）に記録されることがほとんどである。従って、このようなＦＡＴエントリの編集であっても、実用上は問題を生じない。もし、単位書込要求データが、クラスタ番号の連続した領域に記録されずに離散的に記録された場合にも対応しようとすれば、開始クラスタ番号と終了クラスタ番号に加えて、使用したクラスタ同士の連結を示す情報もバックアップ情報に格納することとすればよい。
【０１２８】
そしてステップＳ５０６における次の手順として、バックアップ情報におけるディレクトリエントリ関連バックアップ情報（ディレクトリエントリ格納セクタとＬＢＡ）を利用して、最後の要求応答書込データが書き込み完了した結果に応じた内容のディレクトリエントリをメディアに書き込んで記録するための制御処理を実行する。
このためには、バックアップ情報のＬＢＡを参照する。このＬＢＡは、最後の要求応答書込データをデータとして含んで形成されるファイルのディレクトリエントリが記録されているメディア上の位置(セクタ)を示している。そして、ファイルシステムは、デバイスドライバに対する制御を行って、例えばこのＬＢＡが示すセクタに対して、バックアップ情報に格納していたディレクトリエントリ格納セクタのデータを書き込むための制御を行うようにされる。ディレクトリエントリ格納セクタにおいて格納されるディレクトリエントリは、最後の要求応答書込データの書き込みが成功を以て完了した場合に対応する内容を有している。
【０１２９】
ステップＳ５０６として、上記の処理が実行されることで、ファイル管理情報としては、最後の要求応答書込データの書き込み結果が反映された内容を有するようにして更新されたことになる。つまり、ステップＳ５０６の処理が実行される以前は、最後の要求応答書込データの実データはメディアに書き込まれているが、ファイル管理情報によってはその書き込み結果が反映されていない不整合の状態から、最後の要求応答書込データの書き込み結果が反映された状態となるようにして、整合性の復帰が図られたものである。
上記のようにしてファイル管理の整合性の復帰を図ったうえで、ステップＳ５０６としては、先のステップＳ５０３，Ｓ５０４，Ｓ５０５と同様にして、バックアップ情報の処理タイミング領域についてｔｍ０を示す値を書き込んで初期化をしておくようにされる。
【０１３０】
また、ステップＳ５０２により、処理タイミングｔｍ４を示すことが判別された場合は、最後の要求応答書込データの書き込みシーケンスが失敗になった結果として、ファイルボディ（１）（２）（３）の書き込みが完了し、ファイル管理情報については、ＦＡＴ１のみの書き込みが完了しているが、残るＦＡＴ２，及びディレクトリエントリのデータの書き込みは保証されていない状態であることになる。
【０１３１】
この場合には、ステップＳ５０２の判定結果が処理タイミングｔｍ２とされた場合と同様に、最後の要求応答書込データの実データの書き込みが完了しているので、この書き込み結果が反映されるようにして整合性の復帰を図ることが可能であることになる。そして、この場合の整合性復帰のための処理としては、ステップＳ５０７の手順を実行する。
【０１３２】
この場合においては、最後の要求応答書込データの実データだけではなく、ファイル管理情報におけるＦＡＴ１も、最後の要求応答書込データの書き込み結果が反映された内容により、メディアに正常に記録されている。従って、この場合には、ＦＡＴ１については、特に編集を行う必要性はない。また、ＦＡＴ２の編集についても、ＦＡＴ２が、ＦＡＴ１のコピー内容を有するものであるとして規定されていれば、ＦＡＴ２の編集は、ＦＡＴ１の内容をＦＡＴ２に対してコピーする処理により行えばよいということになる。つまり、ステップＳ５０６のようにして、バックアップ情報の開始クラスタ番号、終了クラスタ番号を参照してＦＡＴエントリを編集する必要性は特にないものであり、それだけ軽く、効率の良い処理とすることができるものである。
また、ステップＳ５０７においては、整合性復帰のための処理として、さらに、最後の要求応答書込データの書き込み結果が反映された内容のディレクトリエントリをメディアに記録する処理も実行する。この処理については、ステップＳ５０６の場合と同様にして、バックアップ情報におけるディレクトリエントリ関連バックアップ情報（ディレクトリエントリ格納セクタのデータと、ＬＢＡ）を利用して行う。そして、この場合にも、バックアップ情報の処理タイミング領域を初期化するためにｔｍ０を示す値を格納しておくようにされる。
【０１３３】
また、ステップＳ５０２により、処理タイミングｔｍ５を示すことが判別された場合は、最後の要求応答書込データの書き込みシーケンスが失敗になった結果として、ファイルボディ（１）（２）（３）の書き込みが完了し、ファイル管理情報については、ＦＡＴ１、ＦＡＴ２の書き込みが完了しているが、残るディレクトリエントリのデータの正常な書き込みは保証されていない状態であることになる。
【０１３４】
この場合には、整合性復帰のための処理としてステップＳ５０８の手順を実行するようにされる。先ず、この場合においては、ファイル管理情報としてＦＡＴ１，ＦＡＴ２の記録が完了しているので、ステップＳ５０８として必要な整合性復帰の処理としては、ＦＡＴ領域の編集は省略して、最後の要求応答書込データの書き込み結果が反映されたディレクトリエントリをメディアに記録すればよいことになる。そして、バックアップ情報の処理タイミング領域にｔｍ０を示す値を格納して初期化を行っておくようにもされる。
【０１３５】
また、ステップＳ５０２により、処理タイミングｔｍ６を示すことが判別された場合は、最後の要求応答書込データにおける最初のファイルボディ（１）の書き込みから最後のディレクトリエントリの書き込みまでが正常に終了していることになる。つまり、最後の要求応答書込データの書き込みシーケンスは成功しており、すでに最後の要求応答書込データの書き込み結果が適正に反映された状態でファイル管理が為されている。そこで、この場合には、特に整合性復帰の処理を実行することなく、このまま図１８の処理を抜けるようにされる。
なお、この図１８に示す整合性復帰の手順を終了した後に、例えばメディアをマウントするなどの処理が実行され、例えば図２に示したようなアーキテクチャによるファイル操作、データ処理が可能になる。
【０１３６】
続いては、ファイル管理の整合性復帰のための処理手順の変形例について説明していくこととする。
上記図１８に示した整合性復帰のための手順は、可能な限りは最後の要求応答書込データを有効に管理できるように復帰させようとするものであるが、これとは別に、最後の要求応答書込データの書き込みシーケンスが失敗しているのであれば、この最後の要求応答書込データについて復帰させることは一切行わず、はじめから無かったものとして扱うようにしてしまおうとする、より単純な考え方を採ることも本願発明においては有効である。このような考え方に立脚した場合にも、最後に記録していたファイルは、最後の要求応答書込データより以前に記録された要求応答書込データ群から成るものとして適正に管理されることになる。また、このような考えかたに基づいたアルゴリズムとした場合には、例えば図１８の場合よりも単純なものとなって、処理負担が軽減されるなどの利点が得られる可能性もある。
【０１３７】
そこで、図１９により、最後の要求応答書込データの書き込みシーケンスが失敗した場合には、この最後の要求応答書込データについては無かったものとして管理するための整合性復帰の手順例について説明する。
この図においては、先ず、ステップＳ６０１、Ｓ６０２により、先の図１８のステップＳ５０１、Ｓ５０２と同様にして、バックアップ情報の処理タイミング領域に格納している値を参照し、この値が、処理タイミングｔｍ０〜ｔｍ６までのいずれを示しているのかを判別する。
【０１３８】
そして、ステップＳ６０２の判別結果として、処理タイミングｔｍ０、ｔｍ１、ｔｍ２、ｔｍ３、ｔｍ４であることが判別された場合に応じた整合性復帰のための手順ステップＳ６０３、Ｓ６０４、Ｓ６０５、Ｓ６０６としては、何れも、バックアップ情報の処理タイミング領域にｔｍ０を格納して初期化する処理のみを実行することとしている。図１８との比較では、処理タイミングｔｍ３であることが判別された場合において、図１８のようにしてファイル管理情報の操作を行うことをしていないことが分かる。つまり、図１９の場合には、最後の要求応答書込データの実データが完全にメディアに書き込まれているとしても、特に管理情報の操作を行うことなく、記録されていないものとして管理されるようにしている。
【０１３９】
また、ステップＳ６０２の判別結果として、処理タイミングｔｍ４であることが判別された場合には、ステップＳ６０７の整合性復帰の処理として、ＦＡＴ２の内容をＦＡＴ１にコピーしたうえで、バックアップ情報の処理タイミング領域を初期化するようにされる。
処理タイミングｔｍ４とされる場合、最後の要求応答書込データの実データの書き込みと、ＦＡＴ１の書き込みまでが正常終了していることになる。従って、ＦＡＴ１は、最後の要求応答書込データの書き込み結果が反映された内容を有している。その一方で、ＦＡＴ２は、最後の要求応答書込データの書き込み結果が反映される以前の内容、つまり最後の前の要求応答書込データまでの書き込み結果が反映された内容を有している。そこで、上記ステップＳ６０７のようにして、ＦＡＴ２の内容をＦＡＴ１にコピーすれば、ＦＡＴ１，ＦＡＴ２は、いずれも、最後の前の要求応答書込データまでの書き込み結果が反映されており、最後の要求応答書込データについては記録されていないものとして管理する内容で一致することになる。
また、この場合においては、最後にメディアに記録したファイルのディレクトリエントリは、最後の前の要求応答書込データまでの書き込み結果を反映した内容のままであることから、特にディレクトリエントリについての操作をステップＳ６０７により行う必要はない。
【０１４０】
また、ステップＳ６０２の判別結果として、処理タイミングｔｍ５であることが判別された場合には、ステップＳ６０８としての整合性復帰の処理を行う。
処理タイミングがｔｍ５である場合には、最後の要求応答書込データの書き込みシーケンスとして、要求応答書込データの実データの記録が終了し、ファイル管理情報におけるＦＡＴ１、ＦＡＴ２までが更新されているが、ディレクトリエントリについては更新されていない状態である。
このような記録結果の状態の下で、最後の要求応答書込データについては記録が行われなかったものとして管理するためには、ＦＡＴ１，ＦＡＴ２について更新前の状態に戻す必要がある。このために、ステップＳ６０８においては、ＦＡＴ１，ＦＡＴ２について、バックアップ情報を参照して得た開始クラスタ番号から終了クラスタ番号までのクラスタ番号に対応するＦＡＴエントリについて未使用を示す値が格納されるように書き換えを行う。これにより、ＦＡＴ１，ＦＡＴ２の内容としては、最後の要求応答書込データは存在しないことを示すことになる。
また、この場合においても、最後にメディアに記録したファイルのディレクトリエントリは、最後の前の要求応答書込データまでの書き込み結果を反映した内容のままなので、ディレクトリエントリについての操作を行う必要はない。
【０１４１】
また、ステップＳ６０２により、処理タイミングｔｍ６を示すことが判別された場合には、最後の要求応答書込データの書き込みシーケンスは正常に終了(成功)して下り、正常に管理されていることになるので、特に整合性復帰の処理を実行することなく、このまま図１９の処理を抜ける。
【０１４２】
なお、これまでに説明した図１９の手順により整合性の復帰を図るのにあたっては、バックアップ情報におけるディレクトリエントリ関連バックアップ情報は利用していない。従って、この図１９の手順を採用する構成とした場合には、バックアップ情報についてディレクトリエントリ関連バックアップ情報を省略した構成とすることができる。
【０１４３】
続いて、ファイル管理の整合性復帰のための処理手順についての、他の変形例について説明する。
先ず、この他の変形例に対応しては、バックアップ情報について、図２０に示す構造のものを採用することとする。
この図に示すバックアップ情報において、処理タイミング、開始クラスタ番号、終了クラスタ番号、ディレクトリエントリ格納セクタ、及びディレクトリエントリ格納セクタのＬＢＡまでの領域は、図１５と同様となる。そのうえで、この場合には、ファイルボディ（３）の開始ＬＢＡ、ファイルボディ（３）のサイズ、及びファイルボディ（３）の実データ(書き込みデータ)を格納する領域が追加される。
【０１４４】
ファイルボディ（３）の開始ＬＢＡ（データ部分書込位置情報）は、例えば２バイト程度のサイズとされ、最後の要求応答書込データがパターン３の構造である場合を前提にしたとして、この最後の要求応答書込データを形成するファイルボディのうち、最後のファイルボディ（３）の開始位置を書き込むべきメディア上のＬＢＡを示す。
また、ファイルボディ（３）のサイズも２バイト程度の領域が割り当てられ、実際におけるファイルボディ（３）のデータサイズを示す。
ファイルボディ（３）の書き込みデータの領域には、最後の要求応答書込データにおけるファイルボディ（３）としての実データと同一内容のデータ（補完用実データ）を格納する。要求応答書込データのサイズは可変であり、これを形成するファイルボディのサイズも可変となる。従って、このバックアップ情報に格納されるファイルボディ（３）の書き込みデータの領域も、そのサイズは可変となる。この領域のサイズが、上記ファイルボディ（３）のサイズにより示されることになる。例えばファイルシステムなどがバックアップ情報からファイルボディ（３）の書き込みデータを読み出す場合には、上記ファイルボディ（３）のサイズの情報を利用して、適正に読み出しを実行するようにされる。
なお、以降の説明においては、ファイルボディ（３）の開始ＬＢＡ、ファイルボディ（３）のサイズ、ファイルボディ（３）の書き込みデータをまとめてファイルボディ関連バックアップ情報ということにする。
【０１４５】
図２１は、上記図２０のバックアップ情報の構造に対応した要求応答書込データ（パターン３の構造）の書き込み手順例を示している。
図２１に示す手順は、基本的には、図１７に示した手順と同じになる。そこで、ここでは、図１７と同様となる事柄に関しての説明は省略し、主に相違点についての説明を行うこととする。
【０１４６】
図２１におけるステップＳ７０５は、図１７のステップＳ４０５と同様に、ファイルボディ（２）の書き込みが終了した次のタイミングで行うものとされるが、バックアップ情報の処理タイミング領域に対してｔｍ２を示す値を格納することに加えて、同じバックアップ情報に対して、ファイルボディ関連バックアップ情報（ファイルボディ（３）の開始ＬＢＡ、ファイルボディ（３）のサイズ、ファイルボディ（３）の書き込みデータ）を格納するという処理を実行する。
【０１４７】
このステップＳ７０５の段階は、例えばステップＳ７０４によりファイルボディ（２）のメディアへの書き込みを終了して、次のファイルボディ（３）の書き込みに移行する期間に対応するが、このタイミングにおいては、ファイルボディ（３）の書き込み開始位置としてのセクタアドレス（つまりＬＢＡである）と、書き込みを行うべきファイルボディ（３）の実データのサイズなどの情報は、すでにファイルシステムにおいて把握している状態にあるのが通常である。
このために、ステップＳ７０５としては、上記のようにしてファイルシステムが把握している情報を用いて４バイトのファイルボディ（３）のＬＢＡ、及びファイルボディ（３）のサイズの情報を生成し、これをバックアップ情報における対応の各領域に格納するようにされる。また、ファイルボディ（３）の書き込みデータについては、実際にメディアに書き込むために用意しているファイルボディ（３）のデータを、バックアップ情報における対応の領域にコピーするようにして書き込んで保持させればよい。
【０１４８】
また、ステップＳ７０６によるファイルボディ（３）の書き込みが完了した次のステップＳ７０７においては、例えば図１７のステップＳ４０７と同様にしてバックアップ情報の処理タイミング領域にｔｍ３を格納する処理を実行すると共に、ここではさらに、先のステップＳ７０５にてバックアップ情報に格納したファイルボディ関連バックアップ情報（ファイルボディ（３）の開始ＬＢＡ、ファイルボディ（３）のサイズ、ファイルボディ（３）の書き込みデータ）を、そのバックアップ情報から削除するという処理を実行するようにされる。
次に図２２により後述する処理から理解されることであるが、この場合のファイル管理の整合性復帰のための処理において、ファイルボディ関連バックアップ情報が必要になるのは、最後の要求応答書込データの書き込みシーケンスが失敗した場合として、バックアップ情報の処理タイミング領域に格納される値がｔｍ３を示した場合のみとなる。そこで、このステップＳ７０６においては、ファイルボディ（３）の書き込みが完了したのに応じて、その関連情報をバックアップ情報から削除しているものである。これは、例えばバックアップ情報としてのサイズができるだけ小さくしようとするもので、これにより、不揮発性メモリ１２ａの容量を節約して使用できるなどの効果が得られるものである。
【０１４９】
図２２は、図２０に示したバックアップ情報構造と、図２１の要求応答書込データの書き込み処理に応じて実行されるべき、整合性復帰のための手順例を示している。
この図においても、先の図１８のステップＳ５０１、Ｓ５０２などと同様に、先ず、ステップＳ８０１、Ｓ８０２により、バックアップ情報の処理タイミング領域に格納している値を参照し、この値が、処理タイミングｔｍ０〜ｔｍ６までのいずれを示しているのかを判別し、その判別結果ごとに応じた処理を実行する。
【０１５０】
ステップ８０２の判別結果に応じた処理として、処理タイミングｔｍ０、ｔｍ１、ｔｍ３、ｔｎ４、ｔｍ５の何れかであると判別された場合のステップＳ８０３、Ｓ８０４、Ｓ８０６、Ｓ８０７、Ｓ８０８の処理内容は、図１８のステップＳ５０３、Ｓ５０４、Ｓ５０６、Ｓ５０７、Ｓ５０８と同様であり、また、処理タイミングｔｍ６であると判別された場合において特に復帰処理を実行しない点も、図１８の場合と同様である。
【０１５１】
ただし、ステップＳ８０２にて処理タイミングｔｍ２であると判別された場合のステップＳ８０５の復帰処理としては、図１８のステップＳ５０５とは異なる次のような手順を実行する。
先ず、ステップＳ８０３にて処理タイミングｔｍ２であると判別された場合というのは、最後の要求応答書込データの書き込みシーケンスとして、ファイルボディ（１）（２）の書き込みまでが終了しており、ファイルボディ（３）とファイル管理情報については書き込みがされていない結果となった場合である。図１８の場合においては、ファイルボディ（３）のデータがメディアに記録されていないことから、最後の要求応答書込データの実体が完全にメディアに記録された状態とすることは不可能となっていた。
これに対して、本変形例の場合においては、図２０に示されるようにして、ファイルボディ（３）についての関連バックアップ情報を有する。既にメディアにはファイルボディ（１）（２）が記録されているので、バックアップ情報に格納されるファイルボディ（３）のデータをしかるべき位置に書き込めば、メディアにおいては、ファイルボディ（１）（２）（３）からなる要求応答書込データが完全に書き込まれたこととなる。このことから、バックアップ情報におけるファイルボディ（３）の書込データは、メディアに対して要求応答書込データを書き込むための補完に用いられるデータであるということがいえる。そこで、ステップＳ８０５としては、このファイルボディ関連バックアップ情報を利用して、実際にメディアに対してファイルボディ（３）を書き込むための制御を実行する。
つまり、ファイルシステムは、ファイルボディ関連バックアップ情報における開始ＬＢＡを、ファイルボディ（３）の書き込み開始位置として指定した上で、同じファイルボディ関連バックアップ情報としてバックアップ情報に格納されるファイルボディ（３）の書き込みデータを読み出して、このデータがメディアに対して書き込まれるように、デバイスドライバを制御するものである。ここまでの処理により、メディアにおいては、最後の要求応答書込データを形成するファイルボディ（１）（２）（３）の全てがメディア上のしかるべき位置に書き込まれた状態を得ることができる。そのうえで、ステップＳ８０５としては、ステップＳ８０６と同じ手順を実行するようにされる。これにより、ファイル管理情報としては、最後の要求応答書込データの書き込み結果が反映された内容を有することになる。
【０１５２】
例えば、先の図１８の手順としては、できる限り、最後の要求応答書込データの書き込みシーケンスが失敗した場合にも、この最後の要求応答書込データの書き込み結果が反映されたファイル管理が行われるように整合性を復帰させることを目的としている。しかしながら、図１８の手順によっては、最後の要求応答書込データのシーケンスにおいて、実データ（ファイルボディ（１）（２）（３））の書き込みが全て完了した結果になっていなければ、最後の要求応答書込データが反映されたファイル管理状態に整合性を復帰させることはできない。
これに対して、図２０〜図２２により説明した変形例によっては、最後の要求応答書込データの書き込みシーケンスが失敗した場合において、ファイルボディ（１）（２）まで(最後のファイルボディより１つ前のファイルボディまで)の書き込みが終了している処理結果なのであれば、ファイルボディ（３）を書き込んだ上でファイル管理情報を更新することで、最後の要求応答書込データが反映されたファイル管理状態での整合性復帰が図られるようにされる。つまり、できる限り、最後の要求応答書込データの書き込み結果が反映されるようにして整合性復帰を図るという点では、この他の変形例のほうが有利であることになる。
ただし、実際においては、図１８の手順も有効である。例えば図１８の場合には、バックアップ情報においてファイルボディのような比較的大きなサイズのデータを格納するための処理は行わないことから、処理が単純で軽く、その分の処理の高速化も期待できる。また、不揮発性メモリ１２ａの記憶可能容量も抑えることができる。現状において、不揮発性メモリ１２ａとして採用されるフラッシュメモリなどの半導体メモリ素子は、例えばＨＤＤなどと比較すれば未だビット単価が高く、コストなどの問題で大きな容量のものを実装することが難しい。従って、例えば図１８と、この他の変形例の何れの手順を採用するのかについては、この機能を実装する機器に要求される各種の条件などを勘案して決定されるべきものである。
【０１５３】
なお、上記図２０〜図２２により説明した変形例では、ファイルボディ（１）（２）を書き込んでいる段階で失敗した場合には、最後の要求応答書込データを復活させるような救済的な処理は行わず、最後の要求応答書込データについては記録されなかったものとして管理することとしている。しかしながら、バックアップ情報に対して、ファイルボディ（３）とともにファイルボディ（２）についてのバックアップ関連情報を格納することとすれば、ファイルボディ（２）の書き込み段階で失敗した結果となった場合にも、最後の要求応答書込データを復活させるようにして整合性を復帰させることが可能になる。同様に、ファイルボディ（３）（２）とともに、ファイルボディ（２）についてのバックアップ関連情報を格納することとすれば、ファイルボディ（１）の書き込み段階で失敗した場合にも、最後の要求応答書込データを復活可能となる。ただし、この場合には、ファイルボディ（３）の書き込みデータとともに、ファイルボディ（２）、さらにはファイルボディ（１）の書き込みデータもバックアップ情報に格納する必要があり、バックアップ情報のサイズも相当におおきくなり、例えば上記したような処理速度や不揮発性メモリ１２ａの記憶可能容量などを考慮する必要が出てくる場合があると考えられる。
【０１５４】
また、これまでの説明にあっては、３つのファイルボディに分かれるパターン３の要求応答書込データを処理対象とした場合について説明してきている。このパターン３は、図７からもわかるように、要求応答書込データをファイルボディから成る構造としてみた場合において、最も複雑なパターンである。従って、これまでに説明した要求応答書込データの書き込み手順、及び整合性復帰のための手順などについては、要求応答書込データが２以下のファイルボディにより形成される場合（パターン１、パターン２，パターン４）についても、適用可能とされるものである。
【０１５５】
また、実施の形態におけるファイル管理についてはＦＡＴファイルシステムを採用することとしているが、例えばＨＦＳ(Hierarchical File System)などをはじめとする他のファイルシステムに対応しても本発明は適用可能であり、ファイルシステムやファイル管理方式の規格に関しては特に限定されるべきものではない。また、本願発明の構成によりファイルが記憶されるメディアとしても、実施の形態において例に挙げているＨＤＤ以外のものとされてよい。
また、要求応答書込データ（書込要求データ）により形成されるファイルの形式は、実施の形態では、動画又は静止画などの画像ファイルであることとしている。特に圧縮符号化されたデータファイルの場合は、ＭＰＥＧ形式におけるＧＯＰなどの最小復号単位の中途位置が、クラスタ境界に対応するような状態となるものであり、このことにより生じる不都合が本発明により回避されるという点で有効であることは先に述べたとおりである。しかしながら、これ以外のファイル形式で、例えば音声データのみで画像データを含まないような構造のファイル形式も対象とすることができるものであり、特に圧縮符号化がされた形式である場合には動画ファイルと同様に有効になる。また、画像音声以外の文書ファイルなどを対象とすることも本願発明としては妨げられるものではなく、そのファイルの構造などによっては、充分に有効になると考えられる。
また、本発明のデータ記録装置としても、実施の形態に挙げたデジタルスチルカメラに限定されるべきものではなく、例えば、デジタルスチルカメラ、テレビジョン放送番組の予約録画機器、さらにはパーソナルコンピュータをはじめ、これに準じた各種情報処理機器など、各種の記憶媒体に対応してデータ書き込み／読み出しなどのデータ処理が可能な機器であれば、本発明が適用できる。
【図面の簡単な説明】
【０１５６】
【図１】本発明の実施の形態のデジタルビデオカメラの構成例を示すブロック図である。
【図２】ＦＡＴファイルシステムのシステム構成を階層モデルにより示す図である。
【図３】ＦＡＴファイルシステムにおけるメディアのフォーマット構造を示す図である。
【図４】ＦＡＴファイルシステムにおけるＭＢＲの構造を示す図である。
【図５】ＦＡＴファイルシステムにおけるディレクトリエントリの構造を示す図である。
【図６】ＦＡＴファイルシステムによるファイル記録位置の管理例を示す図である。
【図７】ＭＰＥＧストリーム形式の動画ファイルをＦＡＴファイルシステムにより管理されるメディアに記録する場合の、記録データとセクタとの関係例を示す図である。
【図８】動画ファイルを形成する要求応答書込データがＦＡＴファイルシステムにより管理されるメディアに記録される場合のセクタとの対応関係のパターンごとの特徴を示した図である。
【図９】ＧＯＰの連結から成るものとされた１要求応答書込データが、ＦＡＴファイルシステムにより管理されるメディアに記録される場合のセクタとの対応関係を示す図である。
【図１０】１静止画ファイル（ＪＰＥＧ形式）としての１要求応答書込データが、ＦＡＴファイルシステムにより管理されるメディアに記録される場合のセクタとの対応関係を示す図である。
【図１１】ＦＡＴファイルシステムを採用した場合における、１要求応答書込データをメディアに書き込むための手順例を示すフローチャートである。
【図１２】本実施の形態における、１要求応答書込データをメディアに書き込むための手順例を示すフローチャートである。
【図１３】本実施の形態において、要求応答書込データの書き込みに失敗した場合に応じて表示するエラーメッセージの態様例を示す図である。
【図１４】要求応答書込データの書き込みシーケンスに対して処理タイミングｔｍ０〜ｔｍ６を対応させたものを示す図である。
【図１５】実施の形態におけるバックアップ情報の構造例を示す図である。
【図１６】実施の形態において、要求応答書込データの書き込み前に実行される準備処理の手順例を示すフローチャートである。
【図１７】バックアップ情報の処理を含めた要求応答書込データの書き込み手順例を示すフローチャートである。
【図１８】図１７の手順により得られる内容のバックアップ情報を利用した整合性復帰のための手順例を示すフローチャートである。
【図１９】整合性復帰のための手順の変形例であり、図１７の手順により得られる内容のバックアップ情報を利用した場合の他の例を示すフローチャートである。
【図２０】整合性復帰処理についての他の変形例に対応するバックアップ情報の構造例を示す図である。
【図２１】他の変形例に対応する、バックアップ情報の処理を含めた要求応答書込データの書き込み手順例を示すフローチャートである。
【図２２】他の変形例に対応する整合性復帰のための手順例を示すフローチャートである。
【符号の説明】
【０１５７】
１  デジタルビデオカメラ、２  光学系部、３  光電変換部、４  ビデオ信号処理部、５  画像入出力部、６  カメラ機能部、７  表示部、８  音声処理部、９  音声入出力部、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１２ａ  不揮発性メモリ、１３  メディアコントローラ、１５  操作入力部、１６  通信部、１００  アプリケーション、１０１  ファイルシステム、１０２  デバイスドライバ
【図１】
0004487954.tif 000002
【図２】
0004487954.tif 000003
【図３】
0004487954.tif 000004
【図４】
0004487954.tif 000005
【図５】
0004487954.tif 000006
【図６】
0004487954.tif 000007
【図７】
0004487954.tif 000008
【図８】
0004487954.tif 000009
【図９】
0004487954.tif 000010
【図１０】
0004487954.tif 000011
【図１１】
0004487954.tif 000012
【図１２】
0004487954.tif 000013
【図１３】
0004487954.tif 000014
【図１４】
0004487954.tif 000015
【図１５】
0004487954.tif 000016
【図１６】
0004487954.tif 000017
【図１７】
0004487954.tif 000018
【図１８】
0004487954.tif 000019
【図１９】
0004487954.tif 000020
【図２０】
0004487954.tif 000021
【図２１】
0004487954.tif 000022
【図２２】
0004487954.tif 000023