JP2005332426A - 記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラム - Google Patents

記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP2005332426A
JP2005332426A JP2004147244A JP2004147244A JP2005332426A JP 2005332426 A JP2005332426 A JP 2005332426A JP 2004147244 A JP2004147244 A JP 2004147244A JP 2004147244 A JP2004147244 A JP 2004147244A JP 2005332426 A JP2005332426 A JP 2005332426A
Authority
JP
Japan
Prior art keywords
recording
area
file
recorded
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004147244A
Other languages
English (en)
Inventor
Ryogo Ito
亮吾 伊藤
Takaharu Yamada
崇晴 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004147244A priority Critical patent/JP2005332426A/ja
Publication of JP2005332426A publication Critical patent/JP2005332426A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】記録媒体において、利用可能な記録領域を減少させることなく、所定のデータのバックアップデータを記録する。
【解決手段】動画像ファイル、音声ファイル、およびインデックスファイルに関係する管理情報ファイルのバックアップデータが記録される場合、位置算出部212により、動画像ファイル、音声ファイル、およびインデックスファイルを記録しているクラスタについて、少なくとも1つのクラスタの中のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な空き領域が始まる位置が算出され、記録容量算出部213により、空き領域の記録容量が算出され、記録制御部215により、算出された位置および記録容量を基に、空き領域へのバックアップデータの記録が制御される。本発明は、デジタルビデオカメラに適用することができる。
【選択図】図3

Description

本発明は、記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラムに関し、特に、例えば、ハードディスクなどの記録媒体において、記録領域の未使用領域を利用することなく、所定のデータのバックアップデータを記録することができるようにした記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラムに関する。
従来、例えば、デジタルビデオカメラやデジタルスチルカメラ、PC(Personal Computer)や携帯電話機、および据え置き型ビデオレコーダなどにおいては、ハードディスクなどのランダムアクセス可能な記録媒体に、静止画像、動画像、または音声(または音楽)といった各種データが、FAT(File Allocation Tables)などのファイルシステムによって、ファイルとして記録されていた。
FAT32などのファイルシステムにおいては、1つのクラスタに、ファイルの名前やファイルに格納される実際のデータ(以下、適宜、実データと称する)へのエントリポイントなどを示すディレクトリエントリが記録され、論理フォーマット上のアドレスにおいて、ディレクトリエントリが記録されたクラスタの後のクラスタに、ディレクトリエントリに対応するファイルの実データが記録される。
FATなどのファイルシステムにおいて、所定のデータのバックアップデータを記録する技術が種々提案されている。
例えば、特許文献1には、記録される画像データの量などを基に、HDD(Hard Disk Drive)やHDDに挿入されたディスクにバックアップ領域を設け、そのバックアップ領域に、画像データのFATやディレクトリのバックアップを記録または更新することが開示されている。
特開平10−51722号公報
しかしながら、特許文献1に記載の技術においては、データのバックアップデータを記録するために、記録媒体における未使用の記録領域(ファイルが記録されていない領域)を、新たに消費してしまう。このため、バックアップデータが記録されることで、記録媒体の利用可能な記録領域を減少させてしまうという課題があった。
また、記録媒体におけるクラスタにおいては、1バイトまたは1ビットでもデータが記録されてしまった場合、そのクラスタは、まだデータを記録することが可能であっても、ファイルシステムによって、使用済み(データを記録済み)のクラスタであると認識されてしまっていた。すなわち、ファイル(データ)が記録されているクラスタにおいて、最後にファイルが記録される最終のクラスタにおいては、クラスタ全体に有効なデータが記録されないことが多く、充分にデータを記録することが可能であっても、利用されることがなく、クラスタ内の記録領域に無駄がでる(記録領域が有効活用されていない)という課題があった。
本発明は、このような状況に鑑みてなされたものであり、記録媒体において、今まで有効活用されていなかった記録領域を利用し、ファイルの記録に利用可能な記録領域を減少させることなく、所定のファイルのバックアップデータを記録することができるようにするものである。
本発明の記録装置は、それぞれの第1のファイルを記録している記録領域について、少なくとも1つの記録領域の中の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出手段と、記録可能領域の記録容量を算出する記録容量算出手段と、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御手段とを含むことを特徴とする。
記録装置は、記録容量がバックアップデータのデータ量より大きいか否か判定する判定手段をさらに設け、記録制御手段が、記録容量がデータ量より大きいと判定された場合、記録可能領域へのバックアップデータの記録を制御するようにすることができる。
記録装置は、記録容量算出手段が、1つの第1のファイルを記録している1つの記録領域の中の記録可能領域の記録容量と、他の第1のファイルを記録している他の記録領域における、他の記録領域の中の他の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な他の記録可能領域の他の記録容量とを加算することによって総記録容量を算出し、判定手段は、総記録容量がデータ量より大きいか否かを判定し、記録制御手段は、総記録容量がデータ量より大きいと判定された場合、記録可能領域と他の記録可能領域とにバックアップデータを分けて記録するように記録を制御するようにすることができる。
記録装置は、位置算出手段が、第1のファイルが記録されている記録領域であるクラスタであって、最後のクラスタにおける位置を算出し、クラスタのアドレスと位置を示す情報とを対応して格納するリストを生成する生成手段をさらに設けることができる。
記録装置は、記録制御手段が、FAT(File Allocation Tables)ファイルシステムが適用されているデータ記録媒体に第1のファイルおよび第2のファイルが記録されている場合、データ記録媒体における、BPB(BIOS(Basic Input/Output System) Parameter Block)と、FATが格納される領域との間に設けられる領域にリストを記録するように、さらに記録を制御するようにすることができる。
本発明の記録方法は、それぞれの第1のファイルを記録している記録領域について、少なくとも1つの記録領域の中の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、記録可能領域の記録容量を算出する記録容量算出ステップと、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御ステップとを含むことを特徴とする。
本発明の記録媒体のプログラムは、それぞれの第1のファイルを記録している記録領域について、少なくとも1つの記録領域の中の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、記録可能領域の記録容量を算出する記録容量算出ステップと、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御ステップとを含むことを特徴とする。
本発明のプログラムは、それぞれの第1のファイルを記録している記録領域について、少なくとも1つの記録領域の中の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、記録可能領域の記録容量を算出する記録容量算出ステップと、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御ステップとを実行させる。
本発明の読み出し装置は、第1の記録領域における第2の記録領域の位置を示す位置情報を取得する取得手段と、取得された位置情報を基に、第2の記録領域からバックアップデータの読み出しを制御する読み出し制御手段とを含むことを特徴とする。
読み出し装置は、位置情報を第1の記録領域から算出する算出手段をさらに設け、算出手段は、取得手段が位置情報を取得することができなかった場合、位置情報を算出するようにすることができる。
本発明の読み出し方法は、第1の記録領域における第2の記録領域の位置を示す位置情報を取得する取得ステップと、取得された位置情報を基に、第2の記録領域からバックアップデータの読み出しを制御する読み出し制御ステップとを含むことを特徴とする。
本発明の記録媒体のプログラムは、第1の記録領域における第2の記録領域の位置を示す位置情報を取得する取得ステップと、取得された位置情報を基に、第2の記録領域からバックアップデータの読み出しを制御する読み出し制御ステップとを含むことを特徴とする。
本発明のプログラムは、第1の記録領域における第2の記録領域の位置を示す位置情報を取得する取得ステップと、取得された位置情報を基に、第2の記録領域からバックアップデータの読み出しを制御する読み出し制御ステップとを実行させる。
第1の本発明においては、それぞれの第1のファイルを記録している記録領域について、少なくとも1つの記録領域の中の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置が算出され、記録可能領域の記録容量が算出され、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録が制御される。
第2の本発明においては、第1の記録領域における第2の記録領域の位置を示す位置情報が取得され、取得された位置情報を基に、第2の記録領域からバックアップデータの読み出しが制御される。
本発明によれば、所定のデータのバックアップデータを記録することができる。特に、例えば、ハードディスクなどの記録媒体において、記録媒体の未使用の記録領域を、新たに消費することなく、バックアップデータを記録することができる。
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
本発明によれば、記録装置が提供される。この記録装置(例えば、図1のデジタルビデオカメラ100)は、複数の第1のファイル(例えば、図12の動画像ファイル)に関係する第2のファイル(例えば、図12の管理情報ファイル)のバックアップデータを記録する記録装置であって、それぞれの第1のファイルを記録している記録領域(例えば、図12のクラスタ461−2−n)について、少なくとも1つの記録領域の中の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域(例えば、図12の空き領域463−2)が始まる位置を算出する位置算出手段(例えば、図3の位置算出部212)と、記録可能領域の記録容量を算出する記録容量算出手段(例えば、図3の記録容量算出部213)と、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御手段(例えば、図3の記録制御部215)とを含む。
この記録装置は、記録容量がバックアップデータのデータ量より大きいか否か判定する判定手段(例えば、図3のデータ量判定部214)をさらに含み、記録制御手段は、記録容量がデータ量より大きいと判定された場合、記録可能領域へのバックアップデータの記録を制御するようにすることができる。
この記録装置は、記録容量算出手段は、1つの第1のファイルを記録している1つの記録領域の中の記録可能領域の記録容量と、他の第1のファイル(例えば、図12の音声ファイル)を記録している他の記録領域(例えば、図12のクラスタ461−3−m)における、他の記録領域の中の他の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な他の記録可能領域(例えば、図12の空き領域463−3)の他の記録容量とを加算することによって総記録容量を算出し、判定手段は、総記録容量がデータ量より大きいか否かを判定し、記録制御手段は、総記録容量がデータ量より大きいと判定された場合、記録可能領域と他の記録可能領域とにバックアップデータを分けて記録するように記録を制御するようにすることができる。
この記録装置は、位置算出手段が、第1のファイルが記録されている記録領域であるクラスタであって、最後のクラスタにおける位置を算出し、クラスタのアドレスと位置を示す情報とを対応して格納するリストを生成する生成手段(例えば、図3のリスト生成更新部211)をさらに設けることができる。
この記録装置は、記録制御手段が、FAT(File Allocation Tables)ファイルシステムが適用されている記録媒体(例えば、図7のハードディスク173)に第1のファイルおよび第2のファイルが記録されている場合、記録媒体における、BPB(BIOS(Basic Input/Output System) Parameter Block)(例えば、図7のBPB301)と、FATが格納される領域(例えば、図7のFAT領域302)との間に設けられる領域にリストを記録するように、さらに記録を制御するようにすることができる。
本発明によれば、記録方法が提供される。この記録方法は、複数の第1のファイル(例えば、図12の動画像ファイル)に関係する第2のファイル(例えば、図12の管理情報ファイル)のバックアップデータを記録する記録装置(例えば、図1のデジタルビデオカメラ100)の記録方法であって、それぞれの第1のファイルを記録している記録領域(例えば、図12のクラスタ461−2−n)について、少なくとも1つの記録領域の中の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域(例えば、図12の空き領域463−2)が始まる位置を算出する位置算出ステップ(例えば、図11のステップS332)と、記録可能領域の記録容量を算出する記録容量算出ステップ(例えば、図11のステップS333)と、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御ステップ(例えば、図11のステップS338)とを含む。
本発明によれば、プログラムが提供される。このプログラムは、複数の第1のファイル(例えば、図12の動画像ファイル)に関係する第2のファイル(例えば、図12の管理情報ファイル)のバックアップデータを記録する記録処理をコンピュータに行わせるプログラムであって、それぞれの第1のファイルを記録している記録領域(例えば、図12のクラスタ461−2−n)について、少なくとも1つの記録領域の中の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域(例えば、図12の空き領域463−2)が始まる位置を算出する位置算出ステップ(例えば、図11のステップS332)と、記録可能領域の記録容量を算出する記録容量算出ステップ(例えば、図11のステップS333)と、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御する記録制御ステップ(例えば、図11のステップS338)とを実行させる。
このプログラムは、記録媒体(例えば、図1の磁気ディスク141)に記録することができる。
本発明によれば、読み出し装置が提供される。この読み出し装置(例えば、図1のデジタルビデオカメラ100)は、複数の第1のファイル(例えば、図12の動画像ファイル、音声ファイル、およびインデックスファイル)を記録している第1の記録領域(例えば、図12のクラスタ461−2−n)の中の第1のファイルの記録に利用されていない第2の記録領域(例えば、図12の空き領域463−2)に、複数の第1のファイルに関係する第2のファイル(例えば、図12の管理情報ファイル)のバックアップデータが記録されているデータ記録媒体(例えば、図7のハードディスク173)からバックアップデータを読み出す読み出し装置であって、第1の記録領域における第2の記録領域の位置を示す位置情報を取得する取得手段(例えば、図3の記録位置検出部222)と、取得された位置情報を基に、第2の記録領域からバックアップデータの読み出しを制御する読み出し制御手段(例えば、図3の読み出し制御部224)とを含む。
この読み出し装置は、取得手段が、第1のファイルが記録されているクラスタであって、最後のクラスタにおける第2の記録領域の位置を示す位置情報(例えば、図13のオフセット位置472−1)とクラスタのアドレス(例えば、図13のクラスタ番号471−1)とを対応して格納するリスト(例えば、図13のオフセット情報リスト204)から、位置情報を取得するようにすることができる。
この読み出し装置は、位置情報を第1の記録領域から算出する算出手段(例えば、図3の記録位置算出部223)をさらに設け、算出手段は、取得手段が位置情報を取得することができなかった場合、位置情報を算出するようにすることができる。
本発明によれば、読み出し方法が提供される。複数の第1のファイル(例えば、図12の動画像ファイル、音声ファイル、およびインデックスファイル)を記録している第1の記録領域(例えば、図12のクラスタ461−2−n)の中の第1のファイルの記録に利用されていない第2の記録領域(例えば、図12の空き領域463−2)に、複数の第1のファイルに関係する第2のファイル(例えば、図12の管理情報ファイル)のバックアップデータが記録されているデータ記録媒体(例えば、図7のハードディスク173)からバックアップデータを読み出す読み出し装置(例えば、図1のデジタルビデオカメラ100)の読み出し方法であって、第1の記録領域における第2の記録領域の位置を示す位置情報を取得する取得ステップ(例えば、図14のステップS363)と、取得された位置情報を基に、第2の記録領域からバックアップデータの読み出しを制御する読み出し制御ステップ(例えば、図14のステップS366)とを含む。
本発明によればプログラムが提供される。このプログラムは、複数の第1のファイル(例えば、図12の動画像ファイル、音声ファイル、およびインデックスファイル)を記録している第1の記録領域(例えば、図12のクラスタ461−2−n)の中の第1のファイルの記録に利用されていない第2の記録領域(例えば、図12の空き領域463−2)に、複数の第1のファイルに関係する第2のファイル(例えば、図12の管理情報ファイル)のバックアップデータが記録されているデータ記録媒体(例えば、図7のハードディスク173)からバックアップデータを読み出す読み出し処理をコンピュータに行わせるプログラムであって、第1の記録領域における第2の記録領域の位置を示す位置情報を取得する取得ステップ(例えば、図14のステップS363)と、取得された位置情報を基に、第2の記録領域からバックアップデータの読み出しを制御する読み出し制御ステップ(例えば、図14のステップS366)とを実行させる。
このプログラムは、記録媒体(例えば、図1の磁気ディスク141)に記録することができる。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明が適用したデジタルビデオカメラ100の構成例を示すブロック図である。
CPU(Central Processing Unit)111は、例えば、組込型の汎用マイクロプロセッサなどからなり、デジタルビデオカメラ100の全体を制御する。CPU111には、ROM(Read Only Memory)112およびRAM(Random Access Memory)113が接続されている。例えば、CPU111は、ROM112に記憶されているプログラム、または、ハードディスクドライブ(以下、HDDと称する)114および後述するドライブ125に装着された磁気ディスク141、光ディスク142、光磁気ディスク143、および半導体メモリ144などからRAM113にロードしたプログラムを実行して、デジタルビデオカメラ100の全体の動作を制御する。RAM113にはまた、CPU111が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU111にはまた、カメラ機能部115および画像信号処理部116が接続されている。カメラ機能部115は、専用のIC(Integrated Circuit)などからなり、CPU111の制御を基に、光学レンズ部117を制御し、駆動する。例えば、カメラ機能部115は、CPU111の制御を基に、光学レンズ部117による被写体151の撮影動作を開始させたり、終了させたりする他、光学レンズ部117のズーム率、取り込む光量などを適宜制御する。
光学レンズ部117は、光学レンズおよび絞りなどからなり、被写体151の画像を光電変換部118(の受光部)に結像させる。
CCD(Charge Coupled Device)またはC-MOS(Complementary Metal-Oxide Semiconductor)センサなどの撮像素子により構成される光電変換部118は、光学レンズ部117によって結像された画像を電気信号に変換して、変換により生成したアナログの電気信号(被写体151の画像に対応する電気信号)を画像信号処理部116に供給する。画像信号処理部116は、CPU111の制御を基に、光電変換部118より供給された被写体151の画像に対応する電気信号に、所定の画像処理を適用する。
以下、電気信号を単に信号と称する。
具体的には、例えば、デジタルビデオカメラ100の画像信号処理部116は、被写体151の画像に対応するアナログの信号を、A/D(Analog to Digital)変換して、デジタルの画像データとし、その画像データに対して、例えば、ホワイトバランスの調整、欠陥画素の補間などの画像処理を適用した後、必要に応じてMPEG(Moving Picture Experts Group)方式等で圧縮符号化する。
画像信号処理部116は、圧縮符号化した画像データをCPU111に供給する。
すなわち、画像信号処理部116は、光電変換部118より供給された被写体151の画像に対応する信号を、所定のフォーマットの画像データに変換させて、CPU111に供給する。
CPU111は、画像信号処理部116より供給された画像データを、HDD114またはドライブ125に装着されている磁気ディスク141、光ディスク142、光磁気ディスク143、および半導体メモリ144などに記録させる。
また、画像信号処理部116は、ホワイトバランスを調整し、または欠陥画素を補間した画像データを液晶ディスプレイ119および画像入出部120に供給する。より具体的には、画像信号処理部116は、画像データを、液晶ディスプレイ119の入力方式である、例えば、RGB(Red,Green,Blue)信号に変換して、RGB信号を液晶ディスプレイ119に供給する。液晶ディスプレイ119は、画像信号処理部116より供給された信号に対応する画像(例えば、被写体151の撮像により取得された画像)を表示させる。
同様に、例えば、画像信号処理部116は、RGB信号を画像入出部120に供給する。
さらに、画像信号処理部116は、CPU111を介して、HDD114および磁気ディスク141、光ディスク142、光磁気ディスク143、および半導体メモリ144に記録されている画像データを読み出して、読み出した画像データに対応する信号を液晶ディスプレイ119または画像入出力部120に供給する。
画像入出力部120は、例えばテレビジョン受像器などの外部の画像表示装置または画像記録再生装置などの機器に画像信号である信号を入力または出力するためのインタフェースである。
CPU111にはまた、音声処理部121が接続されている。音声処理部121は、CPU111から供給された、HDD114および磁気ディスク141、光ディスク142、光磁気ディスク143、および半導体メモリ144に記録され、読み出された音声データに対して、所定の音声処理を適用する。また、音声処理部121は、音声入出力部122から供給された音声信号または音声データに音声処理を適用する。
音声処理部121は、音声処理を適用した結果得られた音声データまたは音声信号をCPU111または音声入出力部122に供給する。
音声入出力部122は、マイクロフォン、スピーカ、および外部の機器とのインタフェースである。例えば、音声入出力部122は、音声処理部121より供給された電気信号を図示せぬテレビジョン受像器などの外部の機器に供給する。また、音声入出力部122は、図示せぬ機器から供給される音声信号を取得して、取得した音声信号を音声処理部121に供給する。
また、音声入出力部122は、例えば、光学レンズ部117や光電変換部118が被写体151を撮影している場合、その被写体151自身またはその周辺で発生された音声を取得し、音声信号に変換して音声処理部121に供給する。
音声信号処理部121は、音声入出力部122から供給された音声信号に、所定の音声処理を行い、所定の音声処理を行った音声データをCPU111の制御の基、HDD114および磁気ディスク141、光ディスク142、光磁気ディスク143、および半導体メモリ144に供給し、記録させる。
CPU111にはさらにまた、操作入力部123、および通信部124が接続されている。
操作入力部123は、ボタン、スイッチ、もしくはリモートコントローラなどにより構成され、ユーザにより、所定の指令に対応する操作入力が行われた場合、その操作入力に対応する信号をCPU111に供給する。CPU111は、操作入力部123より供給された信号に対応する処理を実行する。
通信部124は、CPU111の制御を基に、図示せぬ他の情報処理装置との通信処理を実行する。すなわち、通信部124は、画像信号処理部116より出力された画像データ等の様々な情報を他の情報処理装置に送信するとともに、他の情報処理装置より送信された画像データ、またはプログラム等の様々な情報を受信する。例えば、通信部124が画像データを受信した場合、CPU111は、それをRAM113やドライブ125に装着された磁気ディスク141、光ディスク142、光磁気ディスク143、および半導体メモリ144に記憶させる。また、例えば、通信部124がプログラムを受信した場合、CPU111は、それをRAM113にロードする。
なお、通信部124は、無線または有線による通信を行うものでもよいし、無線と有線の両方の通信が可能なものでもよい。さらに、その通信方式も特に限定されず、例えば、無線の場合、IEEE(The Institute of Electrical and Electronic Engineers)802.11a,802.11b、および802.11gなどの無線LAN(Local Area Network)、またはBluetooth等様々な無線通信方式が利用可能である。同様に、有線の場合も、Ethernet(登録商標)やUSB(Universal Serial Bus)等様々な有線通信方式が利用可能である。
ドライブ125は、CPU111の制御を基に、装着されている磁気ディスク141、光ディスク142、光磁気ディスク143、および半導体メモリ144に記録されているプログラムまたはデータを読み出し、読み出したプログラムまたはデータをCPU111に供給する。また、CPU111より供給されたデータを、ドライブ125に装着される磁気ディスク141、光ディスク142、光磁気ディスク143、および半導体メモリ144に記録させる。
電源126は、デジタルビデオカメラ100の各部に必要な電力を供給する。
図2は、CPU111により実行されるアプリケーションプログラム171、オペレーティングシステム(以下、OSと称する)172、およびハードディスク173の関係を示す図である。OS172には、ファイルシステム181およびデバイスドライバ182を含む。
アプリケーションプログラム171は、各種の処理を実行して、ファイルの記録およびファイルの読み出しをオペレーティングシステム172に要求する。オペレーティングシステム172は、いわゆる基本プログラムであり、例えば、デジタルビデオカメラ100のハードウェアなどのリソースの取り扱いを制御する。
ハードディスク173は、HDD114に内蔵されている磁気ディスクである記録媒体である。
ファイルシステム181は、例えば、FATファイルシステム(FAT32)であり、クラスタの連鎖情報を保持し、ハードディスク173に記録されているデータを管理する。デバイスドライバ182は、HDD114の動作に必要な情報をOS172に供給し、ハードディスク173へのデータの記録またはハードディスク173に記録されているデータの読み出しなど、HDD114の動作を制御する。
アプリケーションプログラム171は、OS172のファイルシステム181に対して、ファイル単位(レベル)でのアクセス(読み出しまたは書き込み)を要求(指示)する。ファイルシステム181は、アプリケーションプログラム171からファイルへのアクセスが要求された場合、デバイスドライバ182に対して、ファイルの実データが記録されているクラスタ単位のアクセスを要求する。デバイスドライバ182は、ファイルシステム181からクラスタ単位のアクセスが要求された場合、HDD114に対して、セクタ(ハードディスク173の記録単位)単位のアクセスを要求する。このとき、ハードディスク173において、クラスタは、ファイルシステム181(FAT32)におけるデータを管理可能な最小単位であり、セクタのサイズ=512バイトをn(n=1,2,4,・・・,64,128)個集めた構成となる。
HDD114は、デバイスドライバ182からセクタ単位のアクセスが要求された場合、デバイスドライバ182に対し、セクタ単位でのアクセスの要求に対する応答を行う。例えば、HDD114は、デバイスドライバ182からセクタ単位の読み出しが要求された場合、セクタ毎に記録されているデータをデバイスドライバ182に供給する。
デバイスドライバ182は、ファイルシステム181に対し、クラスタ単位でのアクセスの要求に対する応答を行う。例えば、デバイスドライバ182は、ファイルシステム181に対し、クラスタ毎に記録されている実データをファイルシステム181に供給する。ファイルシステム181は、アプリケーションプログラム171に対して、ファイル単位でのアクセスの要求に対する応答を行う。例えば、ファイルシステム181は、ファイルをアプリケーションプログラム171に供給する。
図3は、ファイルシステム181のより詳細な構成を説明するブロック図である。ファイルシステム181には、バックアップデータ管理プログラム191が含まれている。バックアップデータ管理プログラム191は、ハードディスク173における、例えば、FAT32のファイルシステムにおいて、所定のファイルのバックアップデータの記録また読み出しを行うプログラムである。
バックアップ管理プログラム191は、さらに、ユーザ指示取得部201、バックアップデータ記録部202、バックアップデータ読み出し部203、およびオフセット情報リスト204を含む。オフセット情報リスト204は、オフセット情報として、バックアップデータが記録されるクラスタのクラスタ番号と、そのクラスタにおけるバックアップデータの記録が開始される位置(オフセット位置)とが対応して格納されている。なお、オフセット情報リスト204の詳細は、図13を参照して後述する。
ユーザ指示取得部201は、ユーザが操作入力部123を操作することにより入力される、入力情報(ユーザからの指示)を取得し、取得した入力情報を基に、所定の判定の処理を行う。また、ユーザ指示取得部201は、取得した入力情報をバックアップデータ記録部202およびバックアップデータ読み出し部203に出力する。
バックアップデータ記録部202は、リスト生成更新部211、位置算出部212、記録容量算出部213、データ量判定部214、および記録制御部215により構成される。
リスト生成更新部211は、ユーザ指示取得部201より供給された入力情報、後述するデータ量判定部214より供給された判定結果、および記録制御部215より供給された記録状況を基に、オフセット情報リスト204を生成または更新する処理を実行し、バックアップデータを記録するクラスタを示す情報を位置算出部212および記録制御部215に出力する。
位置算出部212は、リスト生成更新部211より供給されたクラスタを示す情報を基に、バックアップデータを記録しようとするクラスタにおける空き領域が開始される位置を算出し、算出した位置を示す情報(オフセット位置)をリスト生成更新部211および記録容量算出部213に出力する。
記録容量算出部213は、位置算出部212より供給された情報を基に、バックアップデータを記録しようとするクラスタにおける、空き領域の記録容量を算出し、算出した記録容量をデータ量判定部214に出力する。
データ量判定部214は、記録容量算出部213より供給された記録容量が、バックアップデータのデータ量より大きいか否かを判定し、その判定結果をリスト生成更新部211に出力する。
記録制御部215は、リスト生成更新部211より供給されたクラスタを示す情報を基に、HDD114を制御し、所定のクラスタにバックアップデータを記録し、バックアップデータの記録状況をリスト生成更新部211に出力する。
バックアップデータ読み出し部203は、記録クラスタ検索部221、記録位置検出部222、記録位置算出部223、および読み出し制御部224により構成される。
記録クラスタ検索部221は、ユーザ指示取得部201より供給された入力情報および後述する読み出し制御部224より供給された出力状況を示す情報を基に、バックアップデータが記録されているクラスタを予備のFAT領域から検索し、検索結果を記録位置検出部222に出力する。
記録位置検出部222は、記録クラスタ検索部221より供給された検索結果を基に、バックアップデータが記録されているクラスタにおいて、バックアップデータの記録が開始されている位置(境界)(オフセット位置)を、オフセット情報リスト204から検出する。記録位置検出部222は、検出したオフセット位置を読み出し制御部224に供給する。また、記録位置検出部222は、オフセット位置を検出することができなかった場合、オフセット位置を検出することができなかったことを示す情報を記録位置算出部223に出力する。
記録位置算出部223は、記録位置検出部222より供給された情報を基に、オフセット情報リスト204のオフセット情報を利用せずに、バックアップデータが記録されているクラスタに対するオフセット位置を算出し、算出したオフセット位置を読み出し制御部224に出力する。
読み出し制御部224は、記録位置検出部222または記録位置算出部223より供給されたオフセット位置を基に、所定のクラスタからバックアップデータを読み出す(出力)する処理を実行し、出力状況を示す情報をクラスタ検索部221に供給する。
次に、図4乃至図9を参照して、FAT方式によりフォーマットされているハードディスク173について説明する。
図4は、MBR(Master Boot Record)およびパーティションを説明する図である。ハードディスク173の先頭のセクタ221(LBA(Logical Block Addressing)=0のセクタ)は、デジタルビデオカメラ100を起動させる場合、ハードディスク173に記録されているオペレーティングシステム172を実行させるためのMBR231とされる。
MBR231には、いわゆる、アクティブであるパーティションを示すコードなどを含む起動コード領域251、並びに各パーティションの先頭のLBA(図中の矢印で示す位置)および各パーティションのサイズなどを示すパーティションテーブル252が配置される。
先頭セクタ221に続いて、所定の数のセクタからなる空き領域222が配置される。
さらに、空き領域222に続いて、ファイルなどが記録されるデータ領域223が配置される。データ領域223は、最大で4個のパーティション(パーティション241乃至パーティション244)に区分可能とされている。
なお、以下、パーティションテーブル252に、1つのパーティション(パーティション241のみ)が登録されたハードディスク173、すなわち、データ領域223が、1つのパーティション(パーティション241)のみから構成されるハードディスク173を例に説明する。
図5で示されるように、MBR231である512バイトからなる先頭クラスタには、446バイトの起動コード領域251、64バイトのパーティションテーブル252、および2バイトの情報261が配置される。起動コード領域251は、クラスタの先頭の0バイト目から始まる445バイト目までの領域であり、アクティブなパーティションから起動用のプログラムを読み込むためのマスタブートコード(Master Boot Code(Initial Program Loaderとも呼ばれる))が記録されている。446バイト目から始まる64バイト分の領域からなるパーティションテーブル252、および最後の2バイトの情報261から構成されている。
パーティションテーブル252は、クラスタの先頭から446バイト目から始まり、個々のパーティションに対応するパーティション情報(パーティションの開始アドレスとサイズ)を記録する。すなわち、例えば、1個のパーティションが登録されている場合、図6で示されるように、16バイトのパーティション情報(パーティションテーブル252のエントリ)271が、パーティションテーブル252に保存される。具体的には、パーティション情報271には、先頭から順に、1バイトのフラグ281,3バイトの開始セクタ(CHS(Cylinder/Head/Sector))282,1バイトのタイプ283,3バイトの終了セクタ(CHS)284,4バイトの開始セクタ(LBA)285、および4バイトのパーティションサイズ286が格納されている。
フラグ281は、パーティションがアクティブであるか否かを示す、いわゆる起動フラグである。例えば、“00h”であるフラグ281は、そのパーティションがノンアクティブである(いわゆる起動パーティションでない)ことを示し、“80h”であるフラグ281は、そのパーティションがアクティブである(いわゆる起動パーティションである)ことを示す。なお、“00h”や“80h”の「h(hexadecimal number)」は、“00”や“80”が16進数で表現されていることを示している。以下、同様に、「h」が付加されている値は、16進数で表現されていることを示す。
開始セクタ282は、シリンダ/ヘッド/セクタという3つのパラメータで、パーティションの先頭のセクタのアドレスを示す。タイプ283は、そのパーティションがフォーマットされているファイルシステムの方式を示す。例えば、“80h”であるタイプ283は、FAT32であることを示す。
終了セクタ284は、シリンダ/ヘッド/セクタという3つのパラメータで、パーティションの最後のセクタのアドレスを示す。開始セクタ285は、LBAによる、パーティションの先頭のセクタのアドレスを示す。パーティションサイズ286は、パーティションに含まれるセクタの総数を示す。
MBR231の最後の2バイトの情報261、すなわち「55h」、および「AAh」は、パーティションテーブル252の終端を示す情報である。
次に、図7を参照して、データ領域223のパーティション241の詳細な構成例について説明する。図7で示されるように、パーティション241は、BPB(BIOS(Basic Input Output System) Parameter Block)301、FAT領域302,FAT領域303、およびデータ領域304から構成されている。
BPB301には、パーティション241における1クラスタあたりのセクタ数など、パーティション241の論理的な属性が記録されている。
FAT領域302は、ハードディスク173に記録される実データのクラスタの配列が記録される領域であり、FAT領域303は、FAT領域302のバックアップデータなどのために利用されるFAT領域302の予備の領域である。
データ領域304は、各ファイルのそれぞれのデータ(ディレクトリエントリや実データ)が実際に記録される領域である。
図8は、FAT領域302に格納されている、FAT32であるFATの例を示す図である。なお、FAT32の詳細は、「Microsoft Extensible Firmware Initiative FAT32 File System Specification」に開示されている。図8において、上から2行目乃至5行目における、左から2列目乃至17列目の個々の四角は、1つのエントリ321を示す。FAT32のエントリ321の中の数字は、次のFATエントリの番号を表している。なお、図8において、「00000000h」または「00000001h」のアドレスのエントリ321に格納されている「RSV」は、「00000000h」または「00000001h」のクラスタ番号のクラスタがWindows(登録商標)において使用される領域であることを示す。EOF(End Of File)は、ファイルの終点を表し、「−」は、「00000000h」を意味し、「未使用」を表している。
図8で示されるFATの例において、4つのファイルが格納される実データが記録されているクラスタのアドレスが示されている。詳細は後述するが、ディレクトリエントリにおいて、先頭クラスタ番号として、「00000007h」が示されている場合、「00000007h」のアドレスのエントリ321には「00000008h」が格納され、「00000008h」のアドレスのエントリ321には「00000009h」が格納され、「00000009h」のアドレスのエントリ321には「EOF」が格納されているので、「00000007h」のクラスタ番号のクラスタ、「00000008h」のクラスタ番号のクラスタ、および「00000009h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「00000007h」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
ディレクトリエントリにおいて、先頭クラスタ番号として、「0000000Ah」が示されている場合、「0000000Ah」のアドレスのエントリ321には「0000001Fh」が格納され、「0000001Fh」のアドレスのエントリ321には「00000025h」が格納され、「00000025h」のアドレスのエントリ321には「00000031h」が格納され、「00000031h」のアドレスのエントリ321には「00000030h」が格納され、「00000030h」のアドレスのエントリ321には「EOF」が格納されているので、「0000000Ah」のクラスタ番号のクラスタ、「0000001Fh」のクラスタ番号のクラスタ、「00000025h」のクラスタ番号のクラスタ、「00000031h」のクラスタ番号のクラスタ、および「00000030h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000000Ah」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
ディレクトリエントリにおいて、先頭クラスタ番号として、「0000001Bh」が示されている場合、「0000001Bh」のアドレスのエントリ321には「00000011h」が格納され、「00000011h」のアドレスのエントリ321には「00000012h」が格納され、「00000012h」のアドレスのエントリ321には「00000013h」が格納され、「00000013h」のアドレスのエントリ321には「00000014h」が格納され、「00000014h」のアドレスのエントリ321には「00000003h」が格納され、「00000003h」のアドレスのエントリ321には、「EOF」が格納されているので、「0000001Bh」のクラスタ番号のクラスタ、「00000011h」のクラスタ番号のクラスタ、「00000012h」のクラスタ番号のクラスタ、「00000013h」のクラスタ番号のクラスタ、「00000014h」のクラスタ番号のクラスタ、および「00000003h」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000001Bh」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
さらに、また、ディレクトリエントリにおいて、先頭クラスタ番号として、「0000002Ch」が示されている場合、「0000002Ch」のアドレスのエントリ321には「0000002Dh」が格納され、「0000002Dh」のアドレスのエントリ321には「0000002Eh」が格納され、「0000002Eh」のアドレスのエントリ321には「0000002Fh」が格納され、「0000002Fh」のアドレスのエントリ321には「00000038h」が格納され、「00000038h」のアドレスのエントリ321には「00000039h」が格納され、「00000039h」のアドレスのエントリ321には、「0000003Ah」が格納され、「0000003Ah」のアドレスのエントリ321には「0000003Bh」が格納され、「0000003Bh」のアドレスのエントリ321には「EOF」が格納されているので、「0000002Ch」のクラスタ番号のクラスタ、「0000002Dh」のクラスタ番号のクラスタ、「0000002Eh」のクラスタ番号のクラスタ、「0000002Fh」のクラスタ番号のクラスタ、「00000038h」のクラスタ番号のクラスタ、「00000039h」のクラスタ番号のクラスタ、「0000003Ah」のクラスタ番号のクラスタ、および「0000003Bh」のクラスタ番号のクラスタに、先頭クラスタ番号として、「0000002Ch」が示されているディレクトリエントリに関係するファイルの実データが順に記録されている。
図9は、FAT32におけるファイルに関係するディレクトリエントリの構造の例を示す図である。なお、図中の0乃至1Fは、0を始点としてディレクトリエントリにおけるバイト数を表わす16進数である。なお、ディレクトリエントリにおけるバイト数を、1を始点とする10進数で表わした場合、0乃至1Fは、それぞれ、1乃至32で表わされる。
ディレクトリエントリの先頭に配置される、7バイトの名前331は、ファイル名を示す。名前331に続く、3バイトの拡張名332は、いわゆる、ファイルの拡張子(例えば、MPEG2(Moving Picture Experts Group phase 2)フォーマットの場合は「mpg」、MP3(MPEG Audio Layer-3)フォーマットの場合は「mp3」)を示す。また、拡張名332に続く、1バイトの属性333は、ファイルの属性を示す。ファイルの属性は、例えば、読み取り専用ファイルまたは隠しファイルなどを示す。属性333に続く、1バイトの予約領域334は、未使用の領域である。
予約領域334に続く、3バイトの作成時刻335は、ファイルが作成された時刻を示す。作成時刻335に続く、2バイトの作成日付336は、ファイルが作成された日付を示す。作成日付336に続く、2バイトの最終アクセス日付337は、ファイルにアクセスされた最終の日付を示す。
先頭クラスタの番号(位置)は、先頭クラスタの番号の上位を示す2バイトの先頭クラスタ番号(High)338と、先頭クラスタの番号の下位を示す2バイトの先頭クラスタ番号(Low)341とに、分けて配置される。すなわち、先頭クラスタの番号(位置)は、32ビットで示される。そのファイルのサイズは、4バイトのファイルサイズ342に記憶される。
2バイトの記録時刻339は、ファイルが記録された時刻、すなわち、ファイルが最後に更新された時刻(最後に書き込まれた時刻)を示す。2バイトの記録日付340は、ファイルが記録された日付、すなわち、ファイルが最後に更新された日付(最後に書き込まれた日付)を示す。
ディレクトリエントリにおいて、最終アクセス日付337に続いて、先頭クラスタ番号(High)338、記録時刻339、記録日付340、先頭クラスタ番号(Low)341、およびファイルサイズ342が順に配置される。
図10のフローチャートを参照して、所定のファイルのバックアップデータを管理(記録、読み出し、および削除)する、バックアップデータの管理の処理を説明する。なお、バックアップデータの管理の処理は、デジタルビデオカメラ100の起動と共に開始される。
ステップS301において、ユーザ指示取得部201は、操作入力部123からの信号を基に、ファイルの記録が指示されたか否かを判定する。ステップS301において、ファイルの記録が指示されたと判定された場合、ステップS302に進み、記録制御部215は、ファイルを記録する。すなわち、図7で示されるFAT領域302に配置される、FAT(図8参照)に、ファイルの実データが記録されるクラスタのクラスタ番号が格納され、データ領域304に、ファイルのディレクトリエントリおよび実データが記録される。
ステップS303において、バックアップデータ記録部202は、バックアップデータの記録の処理を実行する。その詳細は、図11のフローチャートを参照して後述するが、この処理により、記録が指示されたファイルを管理するデータ(ファイル)のバックアップデータを記録する処理が実行される。
ステップS304において、ユーザ指示取得部201は、操作入力部123の信号を基に停止が指示されたか否かを判定する。すなわち、ユーザにより操作入力部123が操作されることにより、デジタルビデオカメラ100の電源がオフにされたか否かが判定される。
ステップS304において、停止が指示されたと判定された場合(電源がオフにされた場合)、バックアップデータの管理の処理は終了する。ステップS304において、停止が指示されていないと判定された場合(電源がオンの状態の場合)、手続きは、ステップS301に戻り、上述した処理が繰り返される。
一方、ステップS301において、ファイルの記録が指示されていないと判定された場合、ステップS305に進み、ユーザ指示取得部201は、操作入力部123からの信号を基に、ファイルの読み出しが指示されたか否かを判定する。ユーザが操作入力部123を操作することにより、動画像データや静止画像データなどに対応するファイルを読み出すこと、すなわちファイルを開くことが指示されたか否かが判定される。
ステップS305において、ファイルの読み出しが指示されたと判定された場合、ステップS306に進み、読み出し制御部224は、ファイルを読み出す。すなわち、図7で示されるデータ領域304に格納されているディレクトリエントリ(図9参照)の先頭クラスタ番号(図9の先頭クラスタ番号(High)338および先頭クラスタ番号(Low)341)が検出され、FAT領域302に配置されるFAT(図8参照)のクラスタ番号が検索され、データ領域304に格納されている実データが読み出される。
ステップS307において、バックアップデータ読み出し部203は、読み出されるファイルにエラーがあるか否かを判定する。
ステップS307において、読み出されるファイルにエラーがあると判定された場合、ステップS308に進み、バックアップデータ読み出し部203は、読み出しが指示されたファイルのバックアップデータが記録されているか否かを判定する。なお、バックアップデータが記録されているか否かは、図11のステップS341を参照して後述する、フラグを基に判定される。
ステップS308において、バックアップデータが記録されていると判定された場合、ステップS309に進み、バックアップデータ読み出し部203は、バックアップデータの読み出しの処理を実行する。その詳細は、図14のフローチャートを参照して後述するが、この処理により、読み出しにおいて、エラーが生じたファイルのバックアップデータを読み出す処理が実行される。
ステップS310において、バックアップデータ読み出し部203は、ステップS309の処理により読み出されたバックアップデータを、ステップS307の処理によりエラーがあったと判定された、ファイルが記録されているクラスタ上に上書き(記録)する。
その後、手続きは、ステップS304に進み、上述した処理が実行される。
なお、バックアップデータを上書きせずに、そのまま利用するようにしてもよい。バックアップデータが、上書きされずに利用される場合、ステップS310の処理は省略される。
一方、ステップS308において、バックアップデータが記録されているファイルがないと判定された場合、ステップS309およびステップS310の処理はスキップされ、手続きはステップS304に進み、上述した処理が実行される。
ステップS307において、読み出されたファイルにエラーがないと判定された場合、ステップS308乃至ステップS310の処理はスキップされ、手続きは、ステップS304に進む。
一方、ステップS305において、ファイルの読み出しが指示されていないと判定された場合、ステップS311に進み、ユーザ指示取得部201は、ファイルの削除が指示されたか否かを判定する。ステップS311において、ファイルの削除が指示されたと判定された場合、ステップS312に進み、バックアップデータ記録部202は、ファイルの削除の処理を実行する。その詳細は、図15のフローチャートを参照して後述するが、この処理により、削除が指示されたファイルと、バックアップデータに関するデータとが削除される。
ステップS312の処理の後、手続きは、ステップS304に進み、上述した処理が実行される。
また、ステップS311の処理において、ファイルの削除が指示されていないと判定された場合、手続きは、ステップS304に進む。
図11のフローチャートを参照して、図10のステップS303に対応する、バックアップデータの記録の処理を説明する。ステップS331において、リスト生成更新部211は、複数回の図10のステップS302の処理においてそれぞれ記録されたファイルのうち、バックアップしない、複数のファイルの最終クラスタのクラスタ番号(以下、最終クラスタ番号と称する)を読み出す。最終クラスタとは、ハードディスク173において、ファイルの実データが記録されたクラスタの中で、実データが記録された最後のクラスタのことである。ここで、最後とは、ファイルの実データが記録されたクラスタの連鎖において、最後であることをいう。最後のクラスタに対する、FATのエントリ321には「EOF」が格納される。
図12は、ハードディスク173に記録されているファイルおよびファイルが記録されているクラスタを説明する図である。以下に説明するファイルは、FAT32方式のファイルシステムにより、ハードディスク173に記録される。また、例えば、ハードディスク173における、1つのクラスタの記録容量は、32キロバイトである。
例えば、図10のステップS302の処理において、動画が記録された場合、図12で示されるように、管理情報ファイル、動画像ファイル、音声ファイル、およびインデックスファイルの4つのファイルが記録される。
管理情報ファイルには、記録時の情報(記録した日時、録画モードなどの情報)、再生時に用いる情報(動画像ファイル、音声ファイル、およびインデックスファイルのためのメタデータ、プレイリストなど)が格納され、動画像ファイルには、動画像データのみが格納され、音声ファイルには音声(音楽)データのみが格納され、インデックスファイルには、シーンチェンジにおける(各シーンの先頭の)画像(フレーム)を縮小した画像である、インデックス画像としてのサムネイル画像からなるフレームリストなどが格納される。
例えば、動画像ファイルのファイル名は、“file0001.vid”とされ、音声ファイルのファイル名は、“file0001.aud”とされ、インデックスファイルのファイル名は、“file0001.abc”とされる。さらに、管理情報ファイルのファイル名は、“file0001.xyz”とされる。
すなわち、同時に再生されるか、再生する時に利用されるなどの相互に関連するファイルのファイル名は、拡張子以外の部分が共通とされる。管理情報ファイル、動画像ファイル、音声ファイル、インデックスファイルのそれぞれのファイル名の拡張子は、格納されているデータによって異なる、予め定められた文字列とされる。例えば、管理情報ファイルは、バックアップされ、動画像ファイル、音声ファイル、インデックスファイルはバックアップされない。
図12で示されるクラスタ461−1−1には、管理情報ファイルが格納されている。また、クラスタ461−1−1には、実際に管理情報ファイル(データ)が格納されている格納済領域462−1および管理情報ファイルが記録されていない未使用の領域である空き領域463−1の2つの領域が存在している。
クラスタ461−2−1乃至461−2−n(n=2,3,・・・)のn個のクラスタには、動画像ファイルが格納されている。最終クラスタであるクラスタ461−2−nには、動画像ファイル(データ)が格納されている格納済領域462−2および動画像ファイルが記録されていない未使用の領域である空き領域463−2の2つの領域が存在している。
クラスタ461−3−1乃至461−3−m(m=2,3,・・・)のm個のクラスタには、音声ファイルが格納されている。最終クラスタであるクラスタ461−3−mには、音声ファイル(データ)が格納されている格納済領域462−3および音声ファイルが記録されていない未使用の領域である空き領域463−3の2つの領域が存在している。
クラスタ461−4−1乃至461−4−p(p=2,3,・・・)のp個のクラスタには、インデックスファイルが格納されている。最終クラスタであるクラスタ461−4−pには、インデックスファイル(データ)が格納されている格納済領域462−4およびインデックスファイルが格納されていない未使用の領域である空き領域463−4の2つの領域が存在している。
すなわち、図11のステップS331の処理においては、最終クラスタであるクラスタ461−2−n、クラスタ461−3−m、およびクラスタ461−4−pのクラスタ番号が読み出される。
以下、クラスタ461−2−1乃至461−4−pを特に区別する必要がないとき、単にクラスタ461と称する。また、格納済領域462−2乃至462−4を特に区別する必要がないとき、単に格納済領域462と称する。さらに、空き領域463−2乃至463−4を特に区別する必要がないとき、単に空き領域463と称する。
換言すれば、ステップS331において、リスト生成更新部211は、バックアップしない複数のファイルであって、空き領域463の存在するクラスタ461にその一部が記録されているファイルの最後のクラスタのクラスタ番号を読み出す。
ステップS332において、位置算出部212は、ステップS331の処理において読み出された複数のファイルにおける、最終クラスタのオフセット情報のオフセット位置を算出する。オフセット情報とは、例えば、最終クラスタであるクラスタ461−2−nのクラスタ番号およびクラスタ461−2−nのオフセット位置を示す情報の2つの情報である。また、オフセット位置とは、例えば、クラスタ461−2−nの先頭のセクタアドレスと、データを格納することが可能な空き領域463−2の先頭のセクタアドレスとの差を示す。すなわち、オフセット位置は、そのクラスタ461において、格納済領域462として使用されているセクタの数を示す。
位置算出部212は、ステップS332の処理において、上述したオフセット位置を算出する。オフセット位置は、例えば、クラスタ461−2−nの格納済領域462−2に格納されているデータが何セクタを利用することで格納されているかが算出される。
なお、オフセット位置は、セクタ単位ではなく、ビット単位で算出されるようにしてもよい。
ステップS333において、記録容量算出部213は、個々の空き領域463の記録容量を算出する。例えば、記録容量算出部213は、オフセット位置を基に、空き領域463のセクタの数を求めて、セクタの数にセクタの記録容量を乗算することにより、空き領域463の記録容量を算出する。
さらに、記録容量算出部213は、ステップS333において、ステップS331の処理で読み出された最終クラスタ番号で示されるクラスタ461における空き領域463の記録容量の総和を算出する。すなわち、例えば、図12で示されるように、ファイル(データ)の記録に利用されていない未使用の領域である、空き領域463−2乃至463−4の3つの領域の記録容量の総和が算出される。
ステップS334において、データ量判定部214は、バックアップデータを記録する管理情報ファイルのデータ量が、ステップS333の処理で算出された空き領域の記録容量の総和以下であるか否かを判定する。例えば、図12で示される管理情報ファイルに対してバックアップデータが記録される場合、管理情報ファイルのデータ量、すなわち、格納済領域462−1のデータ量が、空き領域463−2乃至463−4の記録容量の総和以下であるか否かが判定される。
ステップS334において、管理情報ファイルのデータ量が、ステップS333の処理で算出された空き領域の記録容量の総和以下であると判定された場合、ステップS335に進み、リスト生成更新部211は、管理情報ファイルのバックアップデータを記録する、最初の最終クラスタを選択する。例えば、図12で示される空き領域463−2、空き領域463−3、および空き領域463−4のそれぞれを含む最終クラスタ(クラスタ461−2−n,461−3−m、および461−4−p)の中から、クラスタ461−2−−nが選択される。
なお、ステップS335または後述するステップS342の処理における、最終クラスタの選択方法としては、例えば、空き領域の記録容量の大きい最終クラスタから順に選択される。また、リスト生成更新部211は、そのクラスタに記録されている実データが格納されるファイルのファイル名の拡張子を基に、予め定めた拡張子の順に最終クラスタを選択するようにしてもよい。
ステップS336において、記録制御部215は、ステップS335の処理により選択された最終クラスタのクラスタ番号を、図7で示されるFAT領域302の予備の領域であるFAT領域303に、バックアップデータの始点として格納する。例えば、FAT領域303に配置されているFAT(図8参照)において、データ領域304に記録されている管理情報ファイルのディレクトリエントリに含まれる先頭クラスタ番号(クラスタ461−1−1のクラスタ番号)で示されるアドレスのエントリ321に、クラスタ461−2−nのクラスタ番号が格納される。
なお、FAT領域303が、FAT領域302に配置されているFATのバックアップデータが記録される領域として利用される場合には、BPB301に記録され、FAT領域の個数を示す「BPB_NumFATs」に、予め3以上の値を設定して、3つ目以降のFAT領域に配置されるFATに、ステップS336の処理において、記録制御部215が、クラスタ番号(バックアップデータ)を格納するようにしてもよい。
ステップS337において、記録制御部215は、オフセット情報リスト204に、ステップS332の処理により算出されたオフセット位置であって、ステップS335の処理により選択された最終クラスタのオフセット位置を記録する。
図13は、オフセット位置が記録されるオフセット情報リスト204の例を示す図である。オフセット情報リスト204においては、4バイトに、ステップS335の処理または後述するステップS342の処理により選択された、最終クラスタのクラスタ番号が記録される。また、クラスタ番号が記録された4バイトに対応した4バイトに、その最終クラスタのオフセット位置が記録される。すなわち、例えば、バックアップデータが記録される最終クラスタのクラスタ番号471−1およびその最終クラスタのオフセット位置472−1が、2つ1組で、オフセット情報リスト204に記録される。なお、図13で示されるように、1セクタが512バイトである場合、1セクタで管理される8バイトのオフセット情報(クラスタ番号471−1乃至471−64、およびクラスタ番号471−1乃至471−64のそれぞれに対応するオフセット位置472−1乃至472−64)の個数は、64個とされる。
なお、ハードディスク173における、オフセット情報リスト204の記録場所としては、例えば、図7で示されるBPB301とFAT領域302との間に、数セクタまたは数十セクタの領域を設けることが可能であるため、その場所(BPB301が記録されているセクタの次のセクタ以降のセクタ)にオフセット情報リスト204が格納される。また、オフセット情報リスト204は、データ領域304の終端に格納されるようにしてもよい。
ステップS338において、記録制御部215は、ステップS335の処理により選択された最終クラスタの空き領域、例えば、図12で示されるクラスタ461−1−nの空き領域463−2に、管理情報ファイルのバックアップデータを記録する。例えば、ステップS338において、記録制御部215は、選択された最終クラスタの空き領域463に、空き領域463の記録容量以内のデータ量のバックアップデータ(管理情報ファイルのバックアップデータ)の一部または全てを記録させる。
ステップS339において、リスト生成更新部211は、バックアップデータを全て記録することができたか否かを判定する。すなわち、リスト生成更新部211は、図12で示される格納済領域462−1に格納される管理情報ファイルに対応する、バックアップデータが全て空き領域463に記録されたか否かを判定する。
ステップS339において、バックアップデータが全て記録できたと判定された場合、ステップS340に進み、記録制御部215は、予備のFAT領域であるFAT領域303のFATの、バックアップデータが記録された最終クラスタのクラスタ番号で示されるアドレスのエントリ321に、「EOF(End Of File)」を格納する。
ステップS341において、リスト生成更新部211は、バックアップデータを記録したことを示すフラグを設定する。例えば、フラグを設定するとは、バックアップデータが記録されたファイル名に対応するフラグに、バックアップデータを記録したことを示す“1”を設定することをいう。また、例えば、図12で示される、バックアップデータが記録された、管理情報ファイルの拡張子のみを特定の拡張子に設定するようにしても良い。この場合、管理情報ファイルの拡張子に、例えば、バックアップデータを記録したことを示す拡張子として“xyb”が設定される。
また、フラグが設定される場合、管理情報ファイルのディレクトリエントリの13バイト目の領域(図9で示される予約領域334)などに、例えば、バックアップが記録されていることを示す“1”やバックアップが記録されていないことを示す“0”である値を設定したフラグが格納されるようにしてもよい。
一方、ステップS339において、バックアップデータを全て記録できていないと判定された場合、図12で示される管理情報ファイル(格納済領域462−1に格納されているファイル)がクラスタ461−2−nの空き領域463−2に格納しきれなかった場合、手続きは、ステップS342に進み、リスト生成更新部211は、バックアップデータを記録する、すなわち、空き領域463−2に格納しきれなかった管理情報ファイルを格納する、次の最終クラスタを選択する。例えば、音声ファイルの最終クラスタであるクラスタ461−3−mが選択される。
ステップS343において、記録制御部215は、ステップS342の処理で選択された最終クラスタのクラスタ番号を、図7で示されるFAT領域302の予備の領域であるFAT領域303に、バックアップデータの連鎖情報の次点として格納する。すなわち、ステップS336の処理で格納されたクラスタ番号(ステップS335の処理で選択されたクラスタ461−2−nのクラスタ番号)で示されるアドレスのエントリ321に、次のクラスタを示す位置として、ステップS342の処理で選択されたクラスタ番号、例えば、クラスタ461−3−mのクラスタ番号が格納される。
その後、手続きは、ステップS337に戻り、上述したステップS337乃至S339の処理が、管理情報ファイルのバックアップデータを、他のファイルの最終クラスタに全て格納されるまで繰り返し実行される。
すなわち、例えば、ステップS337の処理において、再び、オフセット情報リスト204にクラスタ461−3−mのオフセット情報が記録され、ステップS338において、クラスタ461−3−mの空き領域463−3に、管理情報ファイルのバックアップデータが記録され、ステップS339において、バックアップデータが全て記録されたか否かが判定される。
一方、ステップS334の処理において、管理情報ファイルのデータ量が、ステップS333の処理により算出された空き領域の記録容量の総和より大きいと判定された場合、ステップS335乃至S341の処理がスキップされ、管理情報ファイルのバックアップデータを記録することなく、手続きは、図10のステップS304に戻り、上述した処理が実行される。
なお、図12で示される管理情報ファイルのバックアップデータが記録される場合に、動画像ファイルのクラスタ461−2−nの空き領域463−2、音声ファイルのクラスタ461−3−mの空き領域463−3、およびインデックスファイルのクラスタ461−4−pの空き領域463−4の記録容量によっては、管理情報ファイルのバックアップデータを複数記録するようにしてもよい、例えば、管理情報ファイルのバックアップデータが、空き領域463−2,463−3、および463−4の3箇所に、3つ記録されるようにしてもよい。
また、管理情報ファイルのディレクトリエントリとは別に、管理情報ファイルのバックアップデータのディレクトリエントリを記録するようにしてもよい。バックアップデータのディレクトリエントリは、例えば、オフセット情報リスト204と共に、BPB301とFAT領域302との間の領域に記録される。この場合、バックアップデータのディレクトリエントリに格納される先頭クラスタ番号として、例えば、クラスタ461−2−nのクラスタ番号が記録され、FAT領域303のFATにおける連鎖情報として、クラスタ461−2−nのクラスタ番号で示されるアドレスのエントリ321に、クラスタ461−3−mのクラスタ番号が格納され、クラスタ461−3−mのクラスタ番号で示されるアドレスのエントリ321に、クラスタ461−4−pのクラスタ番号が格納される。
次に、図14のフローチャートを参照して、図10のステップS309に対応する、バックアップデータの読み出しの処理を説明する。ステップS361において、記録クラスタ検索部221は、図12で示される管理情報ファイルのディレクトリエントリに格納されている先頭クラスタ番号(クラスタ461−1−1のクラスタ番号)を読み出す。
ステップS362において、記録クラスタ検索部221は、ステップS361の処理により読み出した先頭クラスタ番号を基に、FAT領域302の予備のFAT領域であるFAT領域303を検索し、バックアップデータの記録先のクラスタのクラスタ番号を読み出す。すなわち、例えば、FAT領域303に配置されているFATにおいて、バックアップデータが記録されている管理情報ファイルのディレクトリエントリに格納されている、先頭クラスタ番号(クラスタ461−1−1のクラスタ番号)で示されるアドレスのエントリ321に格納されている、クラスタ461−2−nのクラスタ番号が読み出される。
なお、管理情報ファイルのディレクトリエントリとは別に、管理情報ファイルのバックアップデータのディレクトリエントリを記録するようにした場合、ステップS361において、バックアップデータのディレクトリエントリから、例えば、クラスタ461−2−nを示す先頭クラスタ番号が読み出され、ステップS362の処理はスキップされる。
ステップS363において、記録位置検出部222は、ステップS362の処理により読み出されたクラスタ番号を基に、オフセット情報リスト204を検索し、オフセット位置を読み出す。例えば、ステップS362の処理により読み出されたクラスタ番号が、図13で示されるクラスタ番号471−1である場合、オフセット位置472−1が読み出される。
ステップS364において、記録位置検出部222は、オフセット位置が読み出せたか否かを判定する。ステップS364において、オフセット位置が読み出せなかったと判定された場合、手続きは、ステップS365に進む。
ステップS365において、記録位置算出部223は、ステップS362の処理で読み出されたクラスタ番号のクラスタにおける、オフセット位置を算出する。例えば、図12で示されるクラスタ461−2−nが管理情報ファイルのバックアップデータの記録先である場合、格納済領域462−2のセクタの数が算出され、オフセット位置が算出される。例えば、記録位置算出部223は、セクタの記録容量およびファイルのデータ量を基に、オフセット位置を算出する。
これに対して、ステップS364において、オフセット位置が読み出せたと判定された場合、ステップS365の処理はスキップされ、手続きは、ステップS366に進む。
ステップS366において、読み出し制御部224は、ステップS363またはステップS365の処理により読み出された(または算出された)オフセット位置を基に、ステップS362の処理で読み出されたクラスタ番号、または後述するステップS368の処理で読み出されたクラスタ番号のクラスタからバックアップデータを読み出す。
ステップS367において、記録クラスタ検索部221は、バックアップデータを全て読み出せたか否かを判定する。すなわち、FAT領域303に配置されているFATにおいて、「EOF」が検出されたか否かが判定される。
ステップS367において、バックアップデータを全て読み出せていないと判定された場合、ステップS368に進み、記録クラスタ検索部221は、予備のFAT領域であるFAT領域303を検索し、次のバックアップデータの記録先のクラスタのクラスタ番号を読み出す。すなわち、例えば、ステップS362の処理により、クラスタ461−2−nのクラスタ番号が読み出されている場合、FAT領域303に配置されるFATにおいて、クタスタ461−2−nのクラスタ番号で示されるアドレスのエントリ321に格納されている、クラスタ461−3−mのクラスタ番号が読み出される。
ステップS368の処理の後、手続きは、ステップS363に戻り、ステップS363乃至S367の処理が、バックアップデータが全て読み出されるまで(FAT領域303のFATにおいて「EOF」が読み出されるまで)、繰り返し実行される。
ステップS367において、バックアップデータを全て読み出せたと判定された場合、手続きは、図10のステップS310に戻り、上述した処理が実行される。
次に、図15のフローチャートを参照して、図10のステップS312に対応する、ファイルの削除の処理を説明する。ステップS381において、リスト生成更新部211は、バックアップデータが記録されているファイルがあるか否かを判定する。すなわち、図11のステップS341の処理で設定されたフラグを基に、削除が指示されたファイルにおいて、バックアップデータが記録されているファイルがあるか否かが判定される。
ステップS382において、記録制御部215は、オフセット情報リスト204のオフセット情報を削除する。図13で示されるオフセット情報リスト204のクラスタ番号およびオフセット位置に対して特定の値が上書きされる。例えば、削除されるファイルのオフセット情報が、クラスタ番号471−1およびオフセット位置472−1である場合、クラスタ番号471−1に、“00000000h”が上書きされ、オフセット位置472−1に“FFFFFFFFh”が上書きされる。
また、クラスタ番号471−1およびオフセット位置472−1に、“0000000000000000h”が上書きされるようにしてもよい。
ステップS383において、記録制御部215は、ファイルを削除する。すなわち、データ領域304に記録されている、ディレクトリエントリが削除される。また、上述したように、例えば、管理情報ファイルのバックアップデータのディレクトリエントリが記録されている場合、ステップS383の処理においては、管理情報ファイルのディレクトリエントリおよび管理情報ファイルのバックアップデータのディレクトリエントリが削除されることになる。
その後、手続きは、図10のステップS304に戻り、上述した処理が実行される。
以上のように、所定のファイルが記録される場合に、複数の種類のファイルが記録されるとき、その複数のファイルの最終クラスタの空き領域が、データ量の小さいファイルのバックアップデータの記録場所として利用される。これにより、バックアップデータが記録される場合に、ハードディスク173などの記録媒体における未使用の記録領域が、新たに消費されることを回避することができ、記録媒体の利用可能な記録領域を減少させてしまうことを回避することができる。
なお、本発明は、従来のFAT32で必要とされるデータ構造を崩すものではなく、互換性が保たれているものである。
図16は、本発明を適用したパーソナルコンピュータ601の構成例を示すブロック図である。CPU611は、ROM612に記憶されているプログラム、またはHDD619からRAM613にロードされたプログラムに従って各種の処理を実行する。RAM613にはまた、CPU611が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU611,ROM612、およびRAM613は、バス614を介して相互に接続されている。このバス614にはまた、入出力インタフェース615も接続されている。
入出力インタフェース615には、ユーザが操作して、テキストを入力するキーボード631、ポインティングデバイスの一例であるマウス632、画像を入力するスキャナ633、音声を入力するマイクロフォン634等の入力デバイスで構成される入力部616、ディスプレイなどの表示部641、音声を出力するスピーカ642、紙に文字または画像を印刷して、いわゆるハードコピーを出力するプリンタ643、紙に文字または画像を描画するプロッタ644等の出力デバイスで構成される出力部617が接続されている。さらに、入出力インタフェース615には、プログラムや各種データを記録するHDD619、およびLAN(Local Area Network)またはインターネットを含むネットワークを介してデータを通信する、USB(Universal Serial Bus)インタフェース651,IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース652、ブルートゥースインタフェース653,IEEE802.11インタフェース654などの通信部618が接続される。
USBインタフェース651は、USBの規格に基づき、ケーブルを介して(有線通信で)、他の機器と通信する。IEEE1394インタフェース652は、IEEE1394の規格に基づき、ケーブルを介して、他の機器と通信する。同様に、ブルートゥースインタフェース653は、ブルートゥースの規格に基づき、他の機器と無線通信する。IEEE802.11インタフェース654は、IEEE802.11a,IEEE802.11b、またはIEEE802.11gなどの規格に基づき、他の機器と無線通信する。
入出力インタフェース615にはまた、必要に応じてドライブ620が接続され、磁気ディスク661、光ディスク662、光磁気ディスク663、或いは半導体メモリ664などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じてHDD619にインストールされる。
ドライブ620は、CPU611の制御に基づいて、装着されている磁気ディスク661、光ディスク662、光磁気ディスク663、或いは半導体メモリ664などの記録媒体に記録されているデータを読み出し、読み出したデータをCPU611に供給する。また、CPU611より供給されたデータを、ドライブ620に装着される磁気ディスク661、光ディスク662、光磁気ディスク663、或いは半導体メモリ664などに記憶させる。
なお、本明細書ではハードディスクを例に挙げて説明したが、本発明はこれに限定されることなく、MO(Magneto Optical disk)、PD(Phase change rewritable Disk),Zip,SuperDiskといったZCAV(Zone Constant Angular Velocity)方式を採用し、ランダムアクセス可能な他の記録媒体にも適用可能である。また、ファイルシステムに関しても、UDF(Universal Disk Format)などであってもよく、FAT32に限定されるものではない。
また、本発明が適用される情報処理装置の実施の形態は、図1に示されるデジタルビデオカメラ100および図16に示されるパーソナルコンピュータ601に限定されず、所定のファイルシステムを利用して、記録媒体の記録および読み出しの制御が可能な情報処理装置であれば構わない。具体的には、例えば、PDA(Personal Digital Assistants)、携帯電話機、または、デジタル電化製品(例えば、テレビジョン受像機やハードディスク録画装置)等様々な実施の形態が可能である。
このように、所定のファイルのバックアップデータを記録した場合、誤操作などによるファイルなどの破壊や誤った更新により、所望のファイルにエラーが生じても、通常通りにファイルを読み出すことができる。位置算出手段が、それぞれの第1のファイルを記録している記録領域について、少なくとも1つの記録領域の中の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出し、記録容量算出手段が、記録可能領域の記録容量を算出し、記録制御手段が、算出された位置および記録容量を基に、記録可能領域へのバックアップデータの記録を制御するようにした場合には、記録媒体の記録領域を減少させることなくバックアップデータを記録することができる。
この記録媒体は、図1または図16に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク141および661(フレキシブルディスクを含む)、光ディスク142および662(CD-ROM(Compact Disk Read-Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク143および663(MD(Mini Disc)(商標)を含む)、若しくは半導体メモリ144および664などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM112および612、もしくはハードディスク173およびHDD619などで構成される。
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくても、並列的あるいは個別に実行される処理を含むものである。
本発明を適用したデジタルビデオカメラの構成例を示すブロック図である。 アプリケーションプログラム、ファイルシステム、デバイスドライバ、およびハードディスクの関係を説明する図である。 デジタルビデオカメラのCPUが実行するバックアップデータ管理プログラムの機能の構成の例を説明するブロック図である。 FATファイルシステムを用いるハードディスクの領域の配置を示す図である。 図4のMBRの詳細な構成例を示す図である。 図5のMBR内のパーティションテーブルに格納されるパーティション情報の詳細な構成例を示す図である。 ハードディスクのパーティションの構成例を示す図である。 FAT32であるFATの例を示す図である。 ディレクトリエントリの構成例を示す図である。 バックアップデータの管理の処理を説明するフローチャートである。 バックアップデータの記録の処理を説明するフローチャートである。 最終クラスタの空き領域を説明する図である。 オフセット情報リストの例を示す図である。 バックアップデータの読み出しの処理を説明するフローチャートである。 ファイルの削除の処理を説明するフローチャートである。 本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
符号の説明
100 デジタルビデオカメラ, 111 CPU, 114 ハードディスクドライブ, 173 ハードディスク, 181 ファイルシステム, 182 デバイスドライバ, 141 磁気ディスク, 142 光ディスク, 143 光磁気ディスク, 144 半導体メモリ, 191 バックアップデータ管理プログラム, 202 バックアップデータ記録部, 203 バックアップデータ読み出し部, 204 オフセット情報リスト, 211 リスト生成更新部, 212 位置算出部, 213 記録容量算出部, 214 データ量判定部, 215 記録制御部, 221 記録クラスタ検索部, 222 記録位置検出部, 223 記録位置算出部, 224 読み出し制御部, 461−1−1乃至461−4−p クラスタ, 462−1乃至462−4 格納済領域, 463−1乃至463−4 空き領域, 471−1乃至471−64 クラスタ番号, 472−1乃至472−64 オフセット位置, 601 パーソナルコンピュータ, 611 CPU, 619 HDD, 661 磁気ディスク, 662 光ディスク, 663 光磁気ディスク, 664 半導体メモリ

Claims (14)

  1. 複数の第1のファイルに関係する第2のファイルのバックアップデータを記録する記録装置において、
    それぞれの前記第1のファイルを記録している記録領域について、少なくとも1つの前記記録領域の中の前記第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出手段と、
    前記記録可能領域の記録容量を算出する記録容量算出手段と、
    算出された前記位置および前記記録容量を基に、前記記録可能領域への前記バックアップデータの記録を制御する記録制御手段と
    を含むことを特徴とする記録装置。
  2. 前記記録容量が前記バックアップデータのデータ量より大きいか否か判定する判定手段をさらに含み、
    前記記録制御手段は、前記記録容量が前記データ量より大きいと判定された場合、前記記録可能領域への前記バックアップデータの記録を制御する
    ことを特徴とする請求項1に記載の記録装置。
  3. 前記記録容量算出手段は、1つの第1のファイルを記録している1つの前記記録領域の中の前記記録可能領域の記録容量と、他の第1のファイルを記録している他の記録領域における、前記他の記録領域の中の前記他の第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な他の記録可能領域の他の記録容量とを加算することによって総記録容量を算出し、
    前記判定手段は、前記総記録容量が前記データ量より大きいか否かを判定し、
    前記記録制御手段は、前記総記録容量が前記データ量より大きいと判定された場合、前記記録可能領域と前記他の記録可能領域とに前記バックアップデータを分けて記録するように記録を制御する
    ことを特徴とする請求項2に記載の記録装置。
  4. 前記位置算出手段は、前記第1のファイルが記録されている前記記録領域であるクラスタであって、最後のクラスタにおける前記位置を算出し、
    前記クラスタのアドレスと前記位置を示す情報とを対応して格納するリストを生成する生成手段をさらに含む
    ことを特徴とする請求項3に記載の記録装置。
  5. 前記記録制御手段は、FAT(File Allocation Tables)ファイルシステムが適用されているデータ記録媒体に前記第1のファイルおよび前記第2のファイルが記録されている場合、前記データ記録媒体における、BPB(BIOS(Basic Input/Output System) Parameter Block)と、FATが格納される領域との間に設けられる領域に前記リストを記録するように、さらに記録を制御する
    ことを特徴とする請求項4に記載の記録装置。
  6. 複数の第1のファイルに関係する第2のファイルのバックアップデータを記録する記録装置の記録方法であって、
    それぞれの前記第1のファイルを記録している記録領域について、少なくとも1つの前記記録領域の中の前記第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、
    前記記録可能領域の記録容量を算出する記録容量算出ステップと、
    算出された前記位置および前記記録容量を基に、前記記録可能領域への前記バックアップデータの記録を制御する記録制御ステップと
    を含むことを特徴とする記録方法。
  7. 複数の第1のファイルに関係する第2のファイルのバックアップデータを記録する記録処理用のプログラムであって、
    それぞれの前記第1のファイルを記録している記録領域について、少なくとも1つの前記記録領域の中の前記第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、
    前記記録可能領域の記録容量を算出する記録容量算出ステップと、
    算出された前記位置および前記記録容量を基に、前記記録可能領域への前記バックアップデータの記録を制御する記録制御ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  8. 複数の第1のファイルに関係する第2のファイルのバックアップデータを記録する記録処理をコンピュータに行わせるプログラムであって、
    それぞれの前記第1のファイルを記録している記録領域について、少なくとも1つの前記記録領域の中の前記第1のファイルの記録に利用されていない領域であって、さらにデータを記録することが可能な領域である記録可能領域が始まる位置を算出する位置算出ステップと、
    前記記録可能領域の記録容量を算出する記録容量算出ステップと、
    算出された前記位置および前記記録容量を基に、前記記録可能領域への前記バックアップデータの記録を制御する記録制御ステップと
    を含むことを特徴とするプログラム。
  9. 複数の第1のファイルを記録している第1の記録領域の中の前記第1のファイルの記録に利用されていない第2の記録領域に、複数の前記第1のファイルに関係する第2のファイルのバックアップデータが記録されているデータ記録媒体から前記バックアップデータを読み出す読み出し装置において、
    前記第1の記録領域における前記第2の記録領域の位置を示す位置情報を取得する取得手段と、
    取得された前記位置情報を基に、前記第2の記録領域から前記バックアップデータの読み出しを制御する読み出し制御手段と
    を含むことを特徴とする読み出し装置。
  10. 前記取得手段は、前記第1のファイルが記録されているクラスタであって、最後のクラスタにおける前記第2の記録領域の位置を示す前記位置情報と前記クラスタのアドレスとを対応して格納するリストから、前記位置情報を取得する
    ことを特徴とする請求項9に記載の読み出し装置。
  11. 前記位置情報を前記第1の記録領域から算出する算出手段をさらに含み、
    前記算出手段は、前記取得手段が前記位置情報を取得することができなかった場合、前記位置情報を算出する
    ことを特徴とする請求項10に記載の読み出し装置。
  12. 複数の第1のファイルを記録している第1の記録領域の中の前記第1のファイルの記録に利用されていない第2の記録領域に、複数の前記第1のファイルに関係する第2のファイルのバックアップデータが記録されているデータ記録媒体から前記バックアップデータを読み出す読み出し装置の読み出し方法であって、
    前記第1の記録領域における前記第2の記録領域の位置を示す位置情報を取得する取得ステップと、
    取得された前記位置情報を基に、前記第2の記録領域から前記バックアップデータの読み出しを制御する読み出し制御ステップと
    を含むことを特徴とする読み出し方法。
  13. 複数の第1のファイルを記録している第1の記録領域の中の前記第1のファイルの記録に利用されていない第2の記録領域に、複数の前記第1のファイルに関係する第2のファイルのバックアップデータが記録されているデータ記録媒体から前記バックアップデータを読み出す読み出し処理用のプログラムであって、
    前記第1の記録領域における前記第2の記録領域の位置を示す位置情報を取得する取得ステップと、
    取得された前記位置情報を基に、前記第2の記録領域から前記バックアップデータの読み出しを制御する読み出し制御ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  14. 複数の第1のファイルを記録している第1の記録領域の中の前記第1のファイルの記録に利用されていない第2の記録領域に、複数の前記第1のファイルに関係する第2のファイルのバックアップデータが記録されているデータ記録媒体から前記バックアップデータを読み出す読み出し処理をコンピュータに行わせるプログラムであって、
    前記第1の記録領域における前記第2の記録領域の位置を示す位置情報を取得する取得ステップと、
    取得された前記位置情報を基に、前記第2の記録領域から前記バックアップデータの読み出しを制御する読み出し制御ステップと
    を含むことを特徴とするプログラム。
JP2004147244A 2004-05-18 2004-05-18 記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラム Withdrawn JP2005332426A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004147244A JP2005332426A (ja) 2004-05-18 2004-05-18 記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004147244A JP2005332426A (ja) 2004-05-18 2004-05-18 記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2005332426A true JP2005332426A (ja) 2005-12-02

Family

ID=35486992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004147244A Withdrawn JP2005332426A (ja) 2004-05-18 2004-05-18 記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2005332426A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515136A (ja) * 2006-12-28 2010-05-06 トムソン ライセンシング Pvrの故障したhddを復元する方法
US10169165B2 (en) 2014-08-26 2019-01-01 International Business Machines Corporation Restoring data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515136A (ja) * 2006-12-28 2010-05-06 トムソン ライセンシング Pvrの故障したhddを復元する方法
US10169165B2 (en) 2014-08-26 2019-01-01 International Business Machines Corporation Restoring data
US10261866B2 (en) 2014-08-26 2019-04-16 International Business Machines Corporation Restoring data

Similar Documents

Publication Publication Date Title
JP2007013574A (ja) ファイルアクセス手法および特定の画像ファイルを再生する方法およびその画像ファイルの再生が可能なカメラ装置
US20030174219A1 (en) Image pickup and recording apparatus for recording a certain image separately from other image, and an image picking up and recording method
US20120102076A1 (en) Information processing apparatus, information processing method, and program
KR20050042149A (ko) 기록 장치 및 방법, 기록 매체, 및 프로그램
JP2005332426A (ja) 記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラム
JP4577050B2 (ja) 記録装置および方法、並びにプログラム
JP5990055B2 (ja) 撮像装置及びその制御方法
JP2005339628A (ja) 記録装置および方法、読み出し装置および方法、記録媒体、並びにプログラム
JP2007059004A (ja) 情報処理装置および方法、プログラム並びに記録媒体
JP4455177B2 (ja) 情報記録装置及びその制御方法
US7424573B2 (en) Information processing apparatus, method, and program for formatting multiple recording media integrated as one
JP4356011B2 (ja) 記録装置および方法、撮像装置、記録媒体、並びにプログラム
JP2008009754A (ja) 情報処理装置および方法、並びにプログラム
JP2005332481A (ja) 記録装置および方法、記録媒体、並びにプログラム
JP4206872B2 (ja) 情報編集装置、撮像装置および情報編集方法
JP4561323B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP4734898B2 (ja) 情報処理装置、情報処理方法、プログラム
JP4318040B2 (ja) 情報編集装置、撮像装置および情報編集方法
JP4636592B2 (ja) ビデオカメラ
JP4058120B2 (ja) データ処理装置およびデータ処理方法
JP4277291B2 (ja) 撮影装置、撮影データのコピー方法
JP2006146812A (ja) 情報処理装置、情報処理方法、プログラム
JP3329339B2 (ja) 再生方法、再生装置、およびコンピュータ読み取り可能な記録媒体
JP2007264870A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2006133855A (ja) 情報処理装置、情報処理方法、プログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070807