以下、図を参照しながらこの発明による装置、方法、プログラムの一実施の形態について説明する。以下に説明する実施の形態においては、記録媒体として着脱可能なハードディスクと、半導体メモリーが利用されて形成されたメモリーカードとの利用が可能な撮像装置であって、静止画データ、動画データ、音声データなどの情報信号を記録媒体に記録することができると共に、記録媒体に記録されている静止画データ、動画データ、音声データを再生することが可能なデジタルビデオカメラ(カメラ一体型ビデオテープレコーダ)に適用した場合を例にして説明する。
[デジタルビデオカメラの構成と基本的な動作について]
まず、この実施の形態のデジタルビデオカメラについて説明する。図1は、この実施の形態のデジタルビデオカメラについて説明するためのブロック図である。この実施の形態のデジタルビデオカメラは、画像を撮像して、撮像することにより得た画像データを記録媒体に記録する撮像モードと、画像入出力部16や音声入出力部17あるいは通信部19を通じて供給を受けたデータを記録媒体に記録したり、記録媒体に記録されているデータを再生したりするVTRモードとを備えたものである。
また、撮像モードは、動画を撮像すると共に、これと同時に収音するようにした音声とを記録媒体に記録する動画撮像モードと、静止画を撮像する静止画撮像モードとを備えている。また、VTRモード時においては、記録ボタンスイッチを操作することにより、外部から供給されるデータの記録が行われるようにされ、再生ボタンスイッチを操作することにより記録媒体に記録されている目的とするデータを再生することができるものである。
図1に示すように、この実施の形態のデジタルビデオカメラは、光学レンズ部11、光電変換部12、カメラ機能制御部13、画像信号処理部14、LCD(Liquid Crystal Display)15、画像入出力部16、音声入出力部17、音声信号処理部18、通信部19、制御部20、操作入力部31、ハードディスクドライブ(ハードディスク装置)32、メモリーカード34を備えたものである。
制御部20は、この実施の形態のデジタルビデオカメラの各部を制御するものであり、CPU(Central Processing Unit)21、ROM(Read Only Memory)22、RAM(Random Access Memory)23、EEPROM(Electrical Erasable and Programmable ROM)24がシステムバス25を通じて接続され、マイクロコンピュータの構成とされたものである。
ここで、ROM22は、このデジタルビデオカメラのCPU21により実行される各種の処理プログラムや各種の処理に用いられる情報等が予め記録されたものである。RAM23は、各処理において途中結果を一時記憶するなど、主に作業領域として用いられるものである。EEPROM24は、いわゆる不揮発性メモリーであり、このデジタルビデオカメラの電源が落とされた場合にも保持しておく必要のあるデータ、例えば各種の設定パラメータなどを記憶保持するものである。
また、操作入力部31は、動画撮影モード、静止画撮影モード、VTRモードなどの動作モードを切り換えるモード切り換えキー、静止画の撮影のためのシャッターキー、動画を撮影するための撮影開始キー、録画キー、再生キー、停止キー、早送りキー、早戻しキーなどの種々の操作キーや機能キーなどを備え、ユーザーからの操作入力を受け付けて、受け付けた操作入力に応じた電気信号を制御部20に供給することができるものである。
これにより制御部20は、ユーザーからの操作入力に応じて、目的とする処理を行うためのプログラムをROM22から読み出して実行し、各部を制御することによって、この実施の形態のデジタルビデオカメラがユーザーからの指示に応じた処理を行うことができるようにしている。
そして、この実施の形態のデジタルビデオカメラは、記録媒体として、ハードディスクドライブ32とメモリーカード34との利用ができるものである。ハードディスクドライブ32は、デジタルビデオカメラに対して着脱可能に構成されたものであり、制御部20の制御に応じて、内蔵されたハードディスク33にデータを書き込んだり、内蔵されたハードディスク33からデータを読み出したりすることができるものである。
ここで用いられるハードディスクドライブ32においては、回転制御方式として、ZCAV(Zone Constant Angular Velocity)方式を採用している。ZCAV方式は、ディスク媒体の記録面を同心円状のゾーン(複数のセクタからなる領域)に分割するが、外周に行くほどゾーンを形成するセクタ数を増やすようにすると共に、データの書き込み/読み出しのデータ転送速度を上げることによって、外周部においてもデータの記録密度を高密度に保つことができるようにしたものである。
したがって、ZCAV方式は、ゾーン毎に、書き込み/読み出しのデータ転送速度(以下、転送レートという。)は異なるが、ディスク媒体の回転速度は一定であるので、CLV(Constant Linear Velocity)のように、アクセス時において、ハードディスクドライブの読み出し/書き込みヘッドをハードディスク上の目的とする位置に位置付けるようにするいわゆるシーク動作に時間がかかることもなく、かつ、上述したように、データの高密度記録をも実現することができるものである。
また、ハードディスクドライブ32においては、ハードディスク33上に形成されるファイルを管理するため、ファイルシステムとしてFAT(File Allocation Table)システムが用いられ、ハードディスク33の記録領域を複数の区画(パーティション)に分割し、各パーティションを独立したドライブのように扱うことができるものである。なお、FATの詳細については、例えば、「Microsoft Extensible Firmware Initiative FAT32 File System Specification」などに詳細に説明されている。
メモリーカード34もまた、デジタルビデオカメラに対して着脱可能とされたものであり、制御部20の制御に応じて、内蔵された半導体メモリーにデータを書き込んだり、内蔵された半導体メモリーからデータを読み出したりすることができるものである。
したがって、この実施の形態のデジタルビデオカメラは、ハードディスクドライブ32、メモリーカード34の着脱口を備え、簡単にハードディスクドライブ32やメモリーカード34を装着したり、取り外したりすることができるようにして、複数のハードディスクドライブやメモリーカードを使い分けることができるようにしている。
そして、ハードディスクドライブ32には、動画データと音声データとを記録し、また、メモリーカード34には静止画データを記録するというように、使い分けることも可能であるし、ユーザーの指示に応じて、データの記録先をハードディスクドライブ32にするかメモリーカード34にするかを選択することもできるようにしている。
また、この実施の形態において、デジタルビデオカメラ本体と、ハードディスクドライブ32との間のインターフェースとしては、ATA/ATAPI(AT Attachment/Advanced Technology Attachment Packet Interface)が用いられている。ATA/ATAPIについての詳細は、例えば、米国規格協会のWebページ(http://www.t13.org/)等を通じて公表されている。
なお、ATA/ATAPIにも種々のものがあり、近年においては、ATA/ATAPI−6が提供されている。このATA/ATAPI−6は、LBA(Logical Block Address)により表現可能なの対応エリアが、28ビット空間から48ビット空間に拡張され、LBAが28ビットを超える大容量のハードディスクにも対応することができるものである。
そして、この実施の形態においては、例えば、ATA/ATAPI−6等の既存のATA/ATAPIを用いるものとして説明するが、利用可能なインターフェースはこれに限るものではない。例えばATA/ATAPI−7等の既存のインターフェースの後継インターフェースや、その他の種々のインターフェースを用いることが可能である。
そして、操作入力部31の所定の操作キーさ操作され、このデジタルビデオカメラが動画撮影モードにされ、動画を撮影するようにする撮影開始キーが操作された場合、あるいは、静止画撮影モードにされ、静止画を撮影するようにするシャッターキーが操作された場合には、カメラ機能制御部13が、制御部20からの制御に応じて、光学レンズ部11と光電変換部12とのそれぞれを動作させるようにする駆動信号やタイミング信号を形成し、これらを光学レンズ部11、光電変換部12に供給して、光学レンズ部11、光電変換部12を動作させる。
光学レンズ部11は、レンズ、フォーカス機構、絞り機構、シャッター機構、ズーム機構などを備え、カメラ機能制御部13からの駆動信号に応じて、フォーカス機構、絞り機構、シャッター機構、ズーム機構を制御し、目的とする被写体の画像を取り込んで、光電変換部12の所定の部分に結像させるようにする。
光電変換部12は、CCD(Charge Coupled Device)、前処理回路などを備えたものであり、光学レンズ部11によって取り込まれた被写体の画像をCCDよって電気信号(画像信号)に変換するとともに、得られた画像信号に対して、光電変換部12の前処理回路において必要な前処理を施す。
光電変換部12の前処理回路においては、例えば、CDS(Correlated Double Sampling)処理を行うなどしてS/N比を良好に保つようにするとともに、AGC(Automatic Gain Control)処理を行って利得を制御するなどの処理を行う。そして、所定の前処理が施された画像信号は、A/D(Analog/Digital)変換されて、これが画像信号処理部14に供給される。
画像信号処理部14は、DSP(Digital Signal Processor)の構成とされたものであり、制御部20からの制御に応じて、光電変換部12からの画像データに対して、AF(Auto Focus)、AE(Auto Exposure)、AWB(Auto White Balance)などのカメラ信号処理を施す。
そして、カメラ信号処理後の画像データからLCD15に供給するためのアナログ画像信号を形成し、これをLCD15に供給することにより、被写体の画像をLCD15を通じて確認することができるようにされる。また、この実施の形態のデジタルビデオカメラの場合には、同時に、画像信号処理部14からのアナログ画像信号を画像入出力部16を通じて、他の記録再生機器やモニタ受像機などの外部機器に供給することもできるようにしている。
そして、画像信号処理部14は、カメラ信号処理が行われた画像データを、予め決められた圧縮方式でデータ圧縮し、これを制御部20を通じてハードディスクドライブ32のハードディスク33に記録する。このようにして、撮影した被写体の画像をハードディスクドライブ32のハードディスク33に記録することができるようにしている。
なお、この実施の形態のデジタルビデオカメラにおいて、動画の撮影時には、再度、撮影スタートキーが操作され、動画の撮影の停止指示が与えられるまで、上述のように被写体の画像が順次に取り込まれ、動画データとしてハードディスク33に記録される。また、シャッターキーが操作された時には、シャッターキーが操作されたときに、光電変換部12に結像している画像が静止画として取り込まれ、静止画データとしてハードディスクに記録される。
また、動画の撮影時においては、図示しないマイクロホンを通じて収音して電気信号に変換することにより得た音声信号をデジタル信号に変換し、これを所定の圧縮方式でデータ圧縮して、動画データとともに、ハードディスクドライブ32のハードディスク33に記録することもできるようにしている。
また、この実施の形態のデジタルビデオカメラは、音声入出力部17を備えている。このため、画像入出力部16を通じて出力されるアナログ画像信号とともに、上述したように、撮影時に取り込まれた音声信号が、音声信号処理部18、音声入力端子17を通じて出力され、他の記録再生機器やスピーカー装置等に供給することもできるようにしている。この場合、音声信号処理部18は、D/A変換処理や所定の圧縮方式でデータ圧縮された音声データの圧縮解凍処理等を行うことになる。
そして、この実施の形態のデジタルビデオカメラにおいては、ビデオテープレコーダなどの外部機器から供給される情報であって、画像入出力部16を通じて受け付けたアナログ画像信号と、音声入出力部17を通じて受け付けたアナログ音声信号とを、ハードディスクドライブ32のハードディスク33に記録することもできるようにしている。
すなわち、画像入出力部16、音声入出力部17に外部機器が接続されており、操作入力部31の所定の操作キーが操作され、このデジタルビデオカメラがVTRモードにされている場合であって、その外部機器からアナログ画像信号、アナログ音声信号が供給されている場合に、操作入力部31の録画キーが操作された場合には、画像入出力部16、音声入出力部17を通じて受け付けたアナログ画像信号、アナログ音声信号の記録を行う。
この場合、画像入出力部16を通じて受け付けたアナログ画像信号は、画像信号処理部14に供給され、ここで、A/D変換されるとともに、所定の圧縮方式でデータ圧縮された後に、制御部20を通じてハードディスクドライブ32のハードディスク33に記録することができるようにされる。
また、音声入出力部17を通じて受け付けたアナログ音声信号は、音声信号処理部18に供給され、ここで、A/D変換されるとともに、所定の圧縮方式でデータ圧縮された後に、制御部20を通じてハードディスクドライブ32のハードディスク33に記録することができるようにされる。このように、外部機器から供給されるアナログ画像信号やアナログ音声信号をハードディスクドライブ32のハードディスクに記録することができるようにされる。
この場合、供給されたアナログ画像信号は、画像信号処理部14を介してLCD15にも供給され、供給されたアナログ画像信号による画像をLCD15の表示画面に表示してこれを観視することができる。また、供給されたアナログ音声信号は、この実施の形態のデジタルビデオカメラに設けられた図示しないスピーカーに供給して、当該スピーカーから供給されたアナログ音声信号に応じた音声を放音し、これを聴取することもできるようにされる。
同様に、この実施の形態のデジタルビデオカメラにおいては、通信部19を通じて受信した動画データ、静止画データ、音楽などの音声データ、その他種々のデータをハードディスクドライブ32のハードディスク33に記録することもできるようにしている。通信部19は、イーサネット(登録商標)やUSB(Universal Serial Bus)などの有線インターフェースを通じてデータの送受を行うようにしたり、また、IEEE(Institute of Electrical and Electronics Engineers)802.11a/b/gやBlueToothなどの無線インターフェースを通じてデータの送受を行うようにしたりするものである。
したがって、通信部19を通じてネットワークに接続するようにされている場合に、操作入力部31の所定の操作キーが操作され、このデジタルビデオカメラがVTRモードにされている場合であって、操作入力部31の録画キーが操作された場合には、通信部19を通じて供給されたデジタル信号をハードディスクドライブ32のハードディスク33に記録することができるようにしている。
ネットワークを通じてデジタルデータとして供給される画像データや音声データなどは既にデータ圧縮されている場合が多いので、通信部19を通じて取得されたデジタルデータは、制御部20を通じてハードディスクドライブ32のハードディスク33に記録されることになる。
この場合、供給されたデジタル画像信号は、例えば、画像信号処理部14に供給され、ここで圧縮解凍され、アナログ映像信号に変換された後に、LCD15に供給されることにより、このアナログ映像信号に応じた画像をLCD15の表示画面に表示して観視することができるようにされる。
また、供給されたデジタル音声信号は、例えば、音声信号処理部18において圧縮解凍され、アナログ音声信号に変換された後に、この実施の形態のデジタルビデオカメラに設けられた図示しないスピーカーに供給されることにより、このアナログ音声信号に応じた音声を当該スピーカーから放音して、これを聴取することができるようにされる。
また、通信部19を通じて、この実施の形態のデジタルビデオカメラの例えばハードディスク33などの記録されているデジタルデータをネットワークに接続された外部機器に供給するようにすることもできるようにされる。
なお、画像入出力部16、音声入出力部17に外部機器が接続されていると共に、通信部19を通じてネットワークにも接続されている場合には、例えば、ユーザーによる指示により、どちらの入出力端部を通じて情報の入力あるいは出力を行うかを切り換えることができるようにされる。
次に、上述したように、ハードディスクドライブ32のハードディスク33に記録された画像データ、音声データの再生時の動作について説明する。操作入力部31を通じて、VTRモードにされた後、目的とする画像データ、音声データの再生指示を入力すると、制御部20は、ハードディスクドライブ32のハードディスク33から目的とする画像データと音声データとを読み出す。そして、読み出された画像データは、画像信号処理部14に供給され、読み出された音声データは、音声信号処理部18に供給される。
画像信号処理部14は、制御部20を通じて供給される画像データについて、データ圧縮時に用いた圧縮方式にしたがって、圧縮解凍処理を行い、データ圧縮前の画像データを復元し、これをD/A変換してアナログ画像信号を形成し、これをLCD15と画像入出力部16とに供給する。
また、音声信号処理部18は、制御部20を通じて供給される音声データについて、データ圧縮字に用いた圧縮方式にしたがって、圧縮解凍処理を行い、データ圧縮前の音声データを復元し、これをD/A変換してアナログ音声信号を形成し、これを音声入出力部17、あるいは、このデジタルビデオカメラに設けられたスピーカーに供給される。
このようにして、ハードディスクドライブ32のハードディスク33に記録された画像データ、音声データを再生して利用することができるようにされる。また、上述もしたように、再生するようにしたアナログ画像信号、アナログ音声信号を、画像入出力部16、音声入出力部17を通じてこれらに接続された外部機器に出力するようにすることもできるし、ハードディスク33などに記録されているデジタルデータを通信部19を通じて外部に出力することもできる。
なお、上述もしたように、この実施の形態のデジタルビデオカメラは、メモリーカード34も利用できるようにされており、例えば、操作入力部31を通じて静止画の撮影が指示された場合には、光学レンズ部11、光電変換部12を通じて取り込まれた静止画データが、画像信号処理部14において、上述した種々の調整処理が行われた後、データ圧縮され、これが制御部20を通じてメモリーカード34に記録される。
また、操作入力部31を通じて記録先を指示することにより、ハードディスクドライブ32、または、メモリーカード34のいずれかを指定するようにすることにより、静止画データをハードディスクドライブ32に記録したり、動画データと音声データとをメモリーカードに記録したりすることもできるようにされる。
[ハードディスク、メモリーカードの初期化処理や全ファイル消去処理等]
上述のように、この実施の形態のデジタルビデオカメラは、光学レンズ部11や光電変換部12などからなるカメラ部を通じて撮像することにより得た静止画データや動画データ、あるいは、画像入出力部16を通じて外部機器から供給を受けた静止画データや動画データ、さらには、通信部19を通じて供給を受けた静止画データや動画データなどをハードディスク33やメモリーカード34にファイルとして記録することができるものである。
同様に、図示しないマイクロホンにより収音されて得た音声データ、音声入出力部17を通じて外部機器から供給を受けた音声データ、さらには、通信部19を通じて供給を受けた音声データについても、ハードディスク33やメモリーカード34にファイルとして記録することができるものである。
また、これら静止画データ、動画データ、音声データの他にも、例えば、プログラムデータやテキストデータなどをハードディスク33やメモリーカード34にファイルとして記録することができるものである。このように、この実施の形態のデジタルビデオカメラは、属性(種類)の異なる種々のデータをファイルとして記録媒体に記録することができるものである。
この実施の形態のデジタルビデオカメラを通じてハードディスク33やメモリーカード34に記録されたデータは、通常、家庭に設置されたレコーダやパーソナルコンピュータなどのハードディスクやDVDなどの別の記録媒体に移し替えられて保持され、ハードディスク33やメモリーカード34は、記録媒体自体が初期化されたり、ファイルの全消去がされたりして繰り返し利用されることになる。
しかし、記録媒体の初期化やファイルの全消去を行う毎に常に予め決められた位置に、詳しくは後述するように、MBR(Master Boot Record)などの管理領域を設け、初期化やファイルの全消去前と同じアクセス方向をデータの記録方向となるようにしてデータを記録するのでは、初期化やファイルの全消去前に使用されていた同じ記録領域を繰り返し使用することになる。これでは、記録媒体の繰り返し使用される一部の記録領域だけが劣化してしまう。
つまり、ハードディスクの場合には、ハードディスクの最外周側から管理領域を設け、外周側から内周側に向かってデータ記録することになる。しかし、初期化やファイルの全消去を繰り返す毎に、ハードディスクの最外周から内周側に向かってデータを記録するようにしていたのでは、最外周側の記録領域が常に使用されることとなるのに対して、最内周側の記録領域はいつまでたっても使用されないので、ハードディスク上で使用領域と未使用領域のムラが生じてしまう。
そこで、この実施の形態のデジタルビデオカメラにおいては、以下に詳述するように、ハードディスク33やメモリーカード34において、記録媒体の初期化やファイルの全消去がされた場合には、記録媒体上の管理領域を設ける位置を変更したり、データの記録方向を変更したりすることによって、記録媒体の記録領域の全体をムラなく使用することができるようにしている。換言すれば、記録媒体の記録領域の全体の使用頻度ができるだけ均一になるようにしている。
以下においては、ハードディスクレコーダ32のハードディスク33を用いる場合を例にして、記録媒体の初期化やファイルの全消去を行う毎に、記録媒体上の管理領域を設ける位置と記録媒体に対するアクセス方向(具体的にはデータの記録方向)との一方または両方が異なる複数の処理モード(LBA変換モード)を使い分けることにより、記録領域の均一使用を実現するようにするための処理について説明する。
[ハードディスクドライブ32およびハードディスク33について]
まず、複数の処理モードを使い分けて、ハードディスクの初期化やハードディスクへのデータの記録を行うこの実施の形態のデジタルビデオカメラの詳細について説明する前に、種々のデータが記録されることになる大容量で、かつ、ランダムアクセスが可能な記録媒体であるハードディスク33について説明する。
上述もしたように、この実施の形態のハードディスクドライブ32においては、ファイルシステムとして、FATシステムを用いており、ハードディスク33は、FATシステムにしたがって初期化等されるものである。
図2は、FATシステムに応じて初期化されることにより利用可能となるハードディスク33の状態を説明するための図である。FATシステムには、FAT32、FAT16などのものがあるが、ここでは、ファイルを管理するデータが32ビット化されたFAT32を用いる場合を例にして説明する。
図2に示すように、ハードディスクの先頭セクタ(LBA=0セクタ)には、詳しくは後述もするが、システム起動用領域であるMBR(Master Boot Record)が設けられる。このMBRの次には、予備的な空き領域が設けられ、その空き領域の次には、パーティション領域が設けられる。
図2に示すように、パーティション領域内には、BPB(BIOS Parameter Block)と、FSInfo領域と、空き領域と、FAT1と、予備のFAT2とが設けられる。図2においては、FAT1の予備として設けられたFAT2より後の部分が実際にクラスタ単位にデータが記録されるデータ領域となる。
なお、図2においては、パーティション領域は1つしか示していないが、後述もするように、形成しようとするパーティション領域の数に応じて、MBRのパーティションテーブルを複数個用意することにより、複数個のパーティション領域を形成して、そのそれぞれを独立した個々のディスク(記憶領域)として扱うことができるようにされる。
次に、ハードディスク33上に複数個形成可能なパーティション領域について説明する。図3、図4は、ハードディスク33上に形成されるパーティション領域とこれを管理するパーティションテーブルについて説明するための図である。図2にも示し、また、図3にも示すように、ハードディスク33の先頭セクタ(LBA=0セクタ)に設けられるMBRは、起動コード領域331とパーティションテーブル領域332とからなっている。
起動時においては、まず、MBRの起動コード領域331から起動コード(プログラム)が読み出される。この読み出されたMBRの起動コードは、図3に示すように、起動コードの直後に形成されるパーティションテーブル領域332のパーティションテーブルを参照し、目的とするパーティションのブートセクタの情報を読み出し、このブートセクタのコード(プログラム)によって、OS(Operating System)が起動される。
パーティションテーブルは複数個(例えば4個)設けることができるようにされる。各パーティションテーブルは、上述もしたように、ハードディスク33の記録領域が分割されて形成される各パーティション領域の位置(開始アドレス)と大きさ(パーティションサイズ)を示す情報を保持し、図3において矢印で示したように、目的とするパーティション領域にアクセスして、そこに記録されている情報を参照することができるようにしている。
次に、先頭セクタのMBR中に形成されるパーティションテーブルについて具体的に説明する。上述もし、また、図4Aにも示すように、ハードディスク33の先頭セクタ(ハードディスク33の先頭から512バイト分の領域)のMBRは、起動コード領域331と、パーティションテーブル領域332とからなっている。
この実施の形態において、パーティションテーブル領域332は、16バイトのデータ長のパーティションテーブルを4エントリ分格納可能な大きさの領域、すなわち、64バイト分の領域である。しかし、常に4エントリ分のパーティションテーブルが形成されるわけではなく、設けるパーティションの数に応じて、少なくとも1つ、最大で4つ形成することができるようにしている。
なお、パーティションテーブル領域332に続く2バイトは、パーティションテーブルに付けられた署名(マジックナンバー)で、順に“55h”、“AAh”でないと、パーティションテーブルがない、若しくは、破壊されていると判断されることになる。また、この明細書、図面においては、上述の“55h”、“AAh”のように、数字、A〜Fまでのアルファベット、これらの組み合わせで表された文字列の直後の文字hは、それ以前の文字列が16進数表現されたものであることを示している。
そして、16バイト(128ビット)のデータ長のパーティションテーブルのデータ構造は、図4Bに示すようになっている。0バイト目から7バイト目までの8バイト分のエリアがCHS方式でアドレスを指定する場合に用いる情報の格納エリアであり、8バイト目から15バイト目までの8バイト分のエリアがLBA方式でアドレスを指定する場合に用いる情報の格納エリアである。
ここで、CHS方式は、シリンダ(Cylinder)、ヘッド(Head)、セクタ(Sector)の3つのパラメータを1組として用いて、ハードディスク33上のアドレス(位置)を指定するようにするものである。また、LBA方式は、ハードディスクの記録領域上のアクセス可能な単位ブロック(例えば、1セクタ単位)それぞれについて、例えば0番から順番に数字(ブロックアドレス(論理アドレス))を割り当てておき、その数字を指定することにより、ハードディスクの記録領域上のアドレス(位置)を指定するようにするものである。
そして、図4Bに示すように、CHS方式でアクセスする場合に用いる情報の格納エリアは、0バイト目がアクティブフラグ情報(以下、単にフラグ情報という。)の格納エリア、1バイト目から3バイト目までの3バイト分がCHS方式でアクセスする場合に用いる開始セクタ情報の格納アリア、4バイト目がパーティションタイプ情報(以下、単にタイプ情報という。)の格納エリア、5バイト目から7バイト目までの3バイト分がCHS方式でアクセスする場合に用いる終了セクタ情報の格納エリアである。
また、図4Bに示すように、LBA方式でアクセスする場合に用いる情報の格納エリアは、8バイト目から11バイト目までの4バイト分がLBA方式で用いられる開始セクタ情報の格納エリア、12バイト目から15バイト目までの4バイト分がLBA方式で用いられるパーティションサイズの格納エリアである。
なお、CHS方式は、ハードディスクの物理的構造をそのまま流用しており、上述もしたように、シリンダ、ヘッド、セクタというアドレス指定のためのパラメータが3つもあることから、ソフトウェア的には扱いが複雑になってしまう。これに対し、LBA方式の場合には、ブロックアドレスという単一のパラメータで指定するので、アクセス時のアドレス指定が極めて簡単である。
このため、ハードディスクにおけるアドレス指定方式としてはLBA方式が主流になっており、その他の記録媒体、例えば、いわゆるリムーバブルメディアとして広く用いられるようになってきている種々のメモリーカードなどにおいても、LBA方式でアドレス指定ができるものが多くなってきている。この実施の形態のデジタルビデオカメラで用いられるハードディスクもまたアドレス指定方式はLBA方式を用いるものである。
また、この実施の形態のハードディスクドライブ32においては、EBR(Extended Boot Record)を用いることもできるようにされている。MBRが、1つのシステムに必ず1つ存在することになる基本領域に対するものであるのに対し、EBRは、基本領域以外に確保される拡張領域に対するものである。
このEBRもまた、図4Aを用いて上述したMBRと同様に形成されるものであり、起動コード領域とパーティションテーブル領域とからなり、パーティションテーブル領域に形成される各パーティションのデータ構成も図4Bを用いて説明したMBRのパーティションテーブルと同様に構成されるものである。なお、このEBRは必ず存在するものではく、システムやユーザーによるパーティションの作成方針に従って設けられる。
このように、この実施の形態のデジタルビデオカメラにおいては、ハードディスク33上に複数のパーティション領域を形成するようにし、各パーティション領域のそれぞれを独立した記憶領域として用いることができるようにしている。
[利用可能な処理モードについて]
このように、この実施の形態のデジタルビデオカメラのハードディスクレコーダは、FATシステムが適用されたものである。そして、上述もしたように、この実施の形態のデジタルビデオカメラにおいては、ハードディスクレコーダ32のハードディスク33の初期化が指示されたり、ハードディスク33に形成されているファイルの全消去が指示されたりした場合には、記録媒体上の管理領域を設ける位置を変更したり、記録媒体に対するアクセス方向(データの記録方向)を変更したりして、記録媒体の初期化(フォーマット)やデータの記録を行うようにすることによって、記録媒体の記録領域の全体をムラなく使用することができるようにしている。なお、以下においては、説明を簡単にするため、ハードディスク33においては、パーティション領域は1つであるものとして説明する。
この実施の形態のデジタルビデオカメラは、記録媒体上の管理領域を設ける位置や、記録媒体上におけるデータのアクセス方向(データの記録方向)が異なる複数の処理モード(この実施の形態においては4つの処理モード)を有している。図5、図6は、この実施の形態のデジタルビデオカメラにおいて利用可能な処理モードを説明するための図であり、図5は管理領域の位置を固定とする処理モードを、図6は管理領域の位置を可変とする処理モードを説明するための図である。
第1の処理モードは、図5Aに示すように、ハードディスク33の最外周から内周側に向かって、MBR、空き領域、BPB、FSInfo、空き領域、FAT1、FAT2、多数のクラスタからなるデータ領域というように各領域を形成し、データの記録は図5Aにおいて矢印で示したように、基本的に外周側から内周側に向かう方向をアクセス方向(記録方向)とするものである。なお、図5Aにおいて、BPB領域から内周側の領域がパーティション領域であり、クラスタ2から内周側の領域がデータ領域となっている。したがって、最外周がLBA(論理的ブロックアドレス)=0であり、最内周がLBA(論理的ブロックアドレス)=MAX(最大)となっている。
第2の処理モードは、図5Bに示すように、ハードディスク33の最内周から外周側に向かって、MBR、空き領域、BPB、FSInfo、空き領域、FAT1、FAT2、多数のクラスタからなるデータ領域となるように各領域を形成し、データの記録は図5Bにおいて矢印で示したように、基本的に内周側から外周側に向かう方向をアクセス方向(記録方向)とするものである。なお、図5Bにおいて、BPB領域から外周側の領域がパーティション領域であり、クラスタ2から外周側の領域がデータ領域となっている。したがって、最内周がLBA(論理的ブロックアドレス)=0であり、最外周がLBA(論理的ブロックアドレス)=MAX(最大)となっている。
第3の処理モードは、図6Cに示すように、初期化あるいはファイルの全消去がされるまでにデータが記録されて利用されていた領域を避け、初期化あるいはファイルの全消去がされる直前においても未使用であった領域の先頭位置から内周方向にMBR、空き領域、BPB、FSInfo、空き領域、FAT1、FAT2、多数のクラスタからなるデータ領域となるように各領域を形成し、データの記録は図6Cにおいて矢印で示したように、基本的に外周側から内周側に向かう方向をアクセス方向(記録方向)とするものである。
なお、図6Cにおいて、BPB領域から内周側に向かう方向の領域であって、クラスタnまでがパーティション領域であり、クラスタ2から内周側に向かう方向の領域であって、クラスタnまでがデータ領域となっている。したがって、図6Cに示した第3の処理モードの場合には、初期化あるいはファイルの全消去がされる直前において未使用であった領域の先頭位置がLBA(論理的ブロックアドレス)=0であり、初期化あるいはファイルの全消去がされる直前においてデータが記録されていた領域の終端がLBA(論理的ブロックアドレス)=MAX(最大)となるようにされている。
第4の処理モードは、図6Dに示すように、初期化あるいはファイルの全消去がされる直前において、データが記録されて利用されていた領域を避け、初期化あるいはファイルの全消去がされる直前において未使用であった領域の先頭位置から外周方向にMBR、空き領域、BPB、FSInfo、空き領域、FAT1、FAT2、多数のクラスタからなるデータ領域となるように各領域を形成し、データの記録は図6Dにおいて矢印で示したように、基本的に内周側から外周側に向かう方向がアクセス方向(記録方向)とするものである。
なお、図6Dにおいて、BPB領域から外周側に向かう方向の領域であって、クラスタnまでがパーティション領域であり、クラスタ2から外周側に向かう方向の領域であって、クラスタnまでがデータ領域となっている。したがって、図6Dに示した第4の処理モードの場合には、初期化あるいはファイルの全消去がされる直前において未使用であった領域の先頭位置がLBA(論理的ブロックアドレス)=0であり、初期化あるいはファイルの全消去がされる直前においてデータが記録されていた領域の終端がLBA(論理的ブロックアドレス)=MAX(最大)となるようにされている。
このように、図5Aに示した第1の処理モード、および、図5Bに示した第2の処理モードは、MBRなどの管理領域を形成する記録媒体上の位置が、最外周か最内周に予めきめられたものであり、最終端が記録媒体の最内周か最外周となるものである。一方、図6Cに示した第3の処理モード、および、図6Dに示した第4の処理モードは、MBRなどの管理領域を形成する記録媒体上の位置が、初期化あるいはファイルの全消去がされる直前において未使用であった領域の先頭位置となるものであり、初期化あるいはファイルの全消去がされるまでにデータが記録された領域に応じて可変となり、記録媒体全体をいわゆるリングメモリーとして使用するものである。したがって、図6Cに示した第3の処理モード、および、図6Dに示した第4の処理モードの場合、最終端の位置も可変となる。
[処理モードの変更に用いる情報の管理について]
そして、この実施の形態のデジタルビデオカメラにおいては、図5、図6を用いて説明した第1から第4までの4つの処理モードの利用を想定しており、ハードディスク33の初期化やファイルの全消去を行うように指示される毎に、処理モードを変更するようにしている。
処理モードの変更を行う場合に複雑な処理を行うことがないように、この実施の形態のデジタルビデオカメラにおいては必要となる情報を別途管理するようにしている。処理モードの変更に際して必要な情報としては、例えば、(1)ハードディスク33における現在の処理モードを示す情報、(2)ハードディスク33において利用可能な処理モードを示す情報、(3)第3、第4の処理モードが利用可能な場合にあっては、実際にデータを記録した領域の終端位置(データ記録終了位置)を示す情報が必要になる。
ここで、(3)の実際にデータを記録した領域の終端位置を示す情報は、データが記録された使用領域とデータが記録されていない未使用領域との境界を示す情報であり、具体的には論理的ブロックアドレスが用いられる。したがって、以下においては、実際にデータを記録した領域の終端位置であるデータ記録終了位置を示す情報を境界LBAと呼ぶことにする。
そして、この実施の形態においては、(1)ハードディスク33における現在の処理モードを示す情報、(2)ハードディスク33において利用可能な処理モードを示す情報、(3)境界LBAのそれぞれを、ハードディスク33のMBR直後の空き領域、あるいは、FSInfo直後の空き領域を利用して管理するようにしている。
もちろん、(1)ハードディスク33における現在の処理モードを示す情報、(2)ハードディスク33において利用可能な処理モードを示す情報、(3)境界LBAのそれぞれを、デジタルビデオカメラが備える例えばEEPROM24にハードディスク33の識別情報と関連付けて記憶保持しておくようにすることも考えられる。しかし、ハードディスク33が交換されることを考慮すると管理が煩雑になることも考えられるため、記録媒体自身、すなわち、ハードディスク33の空き領域において管理するようにしている。
図7は、(1)ハードディスク33における現在の処理モードを示す情報、(2)ハードディスク33において利用可能な処理モードを示す情報、(3)境界LBAをハードディスク33において管理する場合の具体例を説明するための図である。上述もしたように、ハードディスク33の例えばMBRの直後の空き領域あるいはFSInfo直後の空き領域において、例えば512バイトの情報保持領域を設けて管理する場合を説明するための図である。
この実施の形態においては、図5Aを用いて説明した第1の処理モードを値「0」で表し、図5Bを用いて説明した第2の処理モードを値「1」で表し、図6Cを用いて説明した第3の処理モードを値「2」で表し、図6Dを用いて説明した第4の処理モードを値「3」で表すものとする。
そして、この実施の形態においては、図7に示すように、512バイトの情報保持領域の最初の12バイトの内の1バイト単位の必要なエリアを用いて、ハードディスク33に対して用いることが可能な処理モードは何かを示すようにしている。図7の例の場合には、第1バイト目が値「0」であり、第2バイト目が値「1」であり、3バイト目以降が空きエリアとなっているので、ハードディスク33においては、図5Aを用いて説明した第1の処理モードと図5Bを用いて説明した第2の処理モードとの利用が可能であることが分かる。
また、512バイトの情報保持領域の13バイト目〜16バイト目までの4バイトで、境界LBAを記憶保持するようにしている。そして、512バイトの情報保持領域の17バイト目以降のエリアにおいて、1バイト単位でこれまでの処理モードの変更履歴が管理される。この17バイト目以降のエリアにおいて、0〜3までの値が入った部分が現在までの処理モードの変更履歴である。図7に示した例の場合には、現在までに7回の処理モードの変更が行われ、現在の処理モードは値「0」で示されるモード、すなわち第1処理モードであることが示されている。
このように、ハードディスク33の空き領域に形成される情報保持領域に保持される(1)ハードディスク33における現在の処理モードを示す情報、(2)ハードディスク33において利用可能な処理モードを示す情報、(3)境界LBAが用いられて、新たに用いる処理モードの選択やLBAの変換が行われることになる。
[ソフトウェア構成例について]
図8は、この実施の形態のデジタルビデオカメラにおいて、処理モードに応じたLBA変換を行うソフトウェアについて説明するための図である。図8において、アプリケーション201は、この実施の形態のデジタルビデオカメラの制御部20において実行されるアプリケーションソフトウェアである。
また、ファイルシステム202は、アプリケーション201からの要求に応じてハードディスク33にアクセスする場合に機能する部分であり、図5Aに示した第1の処理モードを基準処理モードとし、この基準処理モードにしたがって、ハードディスク33上の記録位置を示すLBA1(開始LBA)を算出する処理を行う部分である。
また、デバイスドライバ205は、ファイルシステム202からの要求に応じて、ハードディスク33に対して実際にアクセスを行うようにする部分であり、以下に説明するように、用いる処理モードやハードディスク33の情報保持領域に保持されている情報に基づいて、ファイルシステム202からのLBA1を、実際にハードディスクをアクセスする際に用いるLBA2に変換する処理を行う部分である。
そして、データの記録を行うアプリケーション201が実行されると、実行されたアプリケーション201とファイルシステム202との間で、種々の情報の送受が行われる。ファイルシステム202は、図8に示すように、記録制御部203とメディア制御部204とからなっている。記録制御部203は、ディレクトリエントリ制御部203a、クラスタ制御部203b、FAT制御部203cを備えたものであり、メディア制御部204は、位置算出部204aの機能を有するものである。
アプリケーション201からのハードディスク33の所定のファイルへのデータの記録指示は、記録制御部203のディレクトリエントリ制御部203aに通知される。ディレクトリエントリ制御部203aは、ハードディスク33に記録されているディレクトリエントリの指示されたファイルの情報を参照し、指示されたファイルの開始クラスタ番号を取得する。
ディレクトリエントリ制御部203aは、取得したファイルの開始クラスタ番号をFAT制御部203cに通知する。FAT制御部203cは、指示されたファイルの先頭から各クラスタをたどり、空きクラスタを検出して、この空きクラスタ番号を、ディレクトリエントリ制御部203aを通じてクラスタ制御部203bに通知する。
クラスタ制御部203bは、ディレクトリエントリ制御部203aを通じて指示される空きクラスタ番号に基づいて、データの記録位置を示すLBAを算出する指示を、メディア制御部204の位置算出部204aに供給する。
位置算出部204aは、クラスタ制御部203bから供給されたクラスタ番号に対応する論理的ブロックアドレスLBA1を算出し、この算出したLBA1で示されるハードディスク33上の位置にデータを記録することをデバイスドライバ205に指示する。ここで、LBA1は、位置算出部204aからデバイスドライバ205に指示する論理的ブロックアドレスである。
このように、アプリケーション201、ファイルシステム202においては、図24に示した記録装置において用いられる従来のソフトウェアのアプリケーション101、ファイルシステム102と同様の処理を行うことになる。しかし、この実施の形態のデジタルビデオカメラで実行されるソフトウェアの場合には、デバイスドライバ205は、LBA変換部205aとしての機能を有し、メディア制御部204の位置算出部204aからのLBA1を、選択された処理モードと、ハードディスク33に形成される情報保持領域(図7に示した領域)に保持されている情報に基づいて、実際にハードディスク33をアクセスする場合に用いるLBA2に変換する。
したがって、デバイスドライバ205は、位置算出部204aからのLBA1を、ハードディスク33の情報保持領域に保持されている(1)ハードディスク33における現在の処理モードを示す情報、(2)ハードディスク33において利用可能な処理モードを示す情報、(3)境界LBAを用いて、ハードディスク33を実際にアクセスする際の論理的物理アドレスLBA2に変換する。そして、このLBA2により指定される記録媒体上の位置によりハードディスク33の記録領域にアクセスし、管理領域を形成してデータの記録をできるようにする初期化処理や、実際にデータを記録する処理を行うことになる。
[処理モードの変更パターンについて]
図9は、処理モードの変更パターンを説明するための図である。上述もし、また、図9にも示すように、この実施の形態においては、第1の処理モード(外周→内周(図5A))、第2の処理モード(内周→外周(図5B))、第3の処理モード(ある位置→内周(リング状)(図6C))、第4の処理モード(ある位置→外周(リング状)(図6D))の4つの処理モードの利用ができるようにされている。
そして、これら4つの処理モードの変更順は、例えば、図9において、パターン1〜パターン4に示したように、種々のパターンが考えられる。図9において、パターン1は、ハードディスク33の初期化やファイルの全消去が行われる毎に、第1の処理モードと第2の処理モードとを交互に変更するようにするものである。パターン2は、ハードディスク33の初期化やファイルの全消去が行われる毎に、第3の処理モードと第4の処理モードとを交互に変更するようにするものである。
また、パターン3は、最初に第1の処理モードを用いてハードディスク33を使い始め、以後、ハードディスク33の初期化やファイルの全消去が行われる毎に、第3の処理モードと第4の処理モードとを交互に変更するようにするものである。パターン4は、最初に第2の処理モードを用いてハードディスク33を使い始め、以後、ハードディスク33の初期化やファイルの全消去が行われる毎に、第4の処理モードと第3の処理モードとを交互に変更するようにするものである。
この他、最初に第1の処理モードを用いてハードディスク33を使い始め、最初にハードディスク33の初期化やファイルの全消去が行われた場合には、第3の処理モードに変更するようにし、以後、ハードディスク33の初期化やファイルの全消去が行われる毎に、第3の処理モードを用いることには変わりないが、開始LBA1を変更するようにすることも考えられる。
同様に、最初に第2の処理モードを用いてハードディスク33を使い始め、最初にハードディスク33の初期化やファイルの全消去が行われた場合には、第4の処理モードに変更するようにし、以後、ハードディスク33の初期化やファイルの全消去が行われる毎に、第4の処理モードを用いることには変わりないが、開始LBA1を変更するようにすることも考えられる。
そして、上述もしたように、ハードディスク33に対する初期化やファイルの全消去が行われる毎に、処理モードを変更することによって、ハードディスク33の全領域の使用頻度を均一になるようにする。
しかし、処理モードの変更パターンはその一例を図9にも示したように種々のものがある。このため、処理モードの変更順を予め決めておき、これに従って新たに用いる処理モードを選択するようにしたり、予め決められた処理プログラムにしたがって新たに用いる処理モードを選択するようにしたりすることになる。
なお、処理モードの変更順を予め決めておく場合には、例えば、図7に示したハードディスク33の情報保持領域において、先頭の12バイト分の領域で、使用する処理モードとその変更パターン(変更順序)を示すようにしておく。そして、処理パターンを変更する場合には、まず、図7に示した情報格納領域の17バイト目以降の情報によって、現在の処理モードを把握し、現在の処理モードの次に選択すべき処理モードはないかを情報保持領域の先頭の12バイト分の領域の情報で示される変更パターンに応じて把握するようにすることによって実現できる。
例えば、第1の処理モード→第2の処理モード→第3の処理モード→第4の処理モードと順次に変更していく場合には、図7に示した情報格納領域の先頭から4バイト目までのエリアを用い、「0123」というように、利用可能な処理モードとその変更パターン(変更順序)を示すようにしておけばよい。
また、例えば、図9に示したパターン3のように、初めは第1の処理モードで以降第3の処理モードと第4の処理モードとを交互に変更する場合には、図7に示した情報格納領域の先頭から3バイト目までのエリアを用い、「023」というように、利用可能な処理モードとその変更パターン(変更順序)を示すようにしておき、第1の処理モードから第3の処理モードに変更した後においては、例えば、図7に示した情報格納領域の先頭から2バイト目までのエリアを用い、「23」というように、利用可能な処理モードとその変更パターン(変更順序)を変えることにより、以降は第3の処理モードと第4の処理モードとを交互に変更するようにすることができる。
[処理モードの変更処理の具体例について]
次に、処理モードをソフトウェアによって変更する場合の具体例について、図10、図11のフローチャートを用いて説明する。
[第1、第2の処理モードの切り換え処理の一例]
図10は、利用可能な処理モードは、第1の処理モード(外周→内周)と第2の処理モード(内周→外周)の2つのモードであり、変更パターンは、図9に示したパターン1である場合(第1の処理モードと第2の処理モードとを交互に変更する場合)の処理を説明するためのフローチャートである。
図10に示す処理は、操作部31を通じて初期化(フォーマット)やファイルの全消去が指示された場合、あるいは、有線や無線によって接続される例えばPC(パーソナルコンピュータ)などの外部機器との間でデータの送受がなく、かつ、PCなどの外部機器から初期化(フォーマット)やファイルの全消去が指示された場合などにおいて、この実施の形態のデジタルビデオカメラの制御部20において実行される。まず、制御部20は、ハードディスク33の情報保持領域を参照し、17バイト目以降の処理モードの変更履歴に基づいて、現在の処理モードを確認する(ステップS101)。
そして、制御部20は、現状は、記録パターン1(外周→内周)が用いられているか、記録パターン2(内周→外周)が用いられているかを判断する(ステップS102)。ステップS102の判断処理において、第1の処理モードが用いられていると判断したときには、制御部20は、第2の記録パターンを用いるように、ハードディスク33の情報保持領域の履歴情報を最新の状態に更新することになる(ステップS103)。
また、ステップS102の判断処理において、第2の処理モードが用いられていると判断したときには、制御部20は、第2の記録パターンを用いるように、ハードディスク33の情報保持領域の履歴情報を最新の状態に更新することになる(ステップS104)。ステップS103の処理、または、ステップS104の処理の後、この図10に示す処理を終了する。
この図10に示す処理により、ハードディスク33に対する初期化やファイルの全消去を行うように指示される毎に、第1の処理モードと第2の処理モードとを交互に変更し、変更した処理モードに従って、初期化を行うとともに、データの記録を行うようにするので、ハードディスク33を最外周側から用いたり、最内周側から用いたりすることができるようにされる。これによりハードディスク33の記録領域の各部分の使用頻度ができるだけ均一となるようにして使用することができるようにされる。
また、ここでは、第1の処理モードと第2の処理モードとを初期化等のタイミングで交互に変更する場合を例にして説明したが、これに限るものではない。例えば、第3の処理モードと第4の処理モードとを初期化等のタイミングで交互に変更する場合など、種々の2つの異なる処理モードを交互に用いるようにする場合において同じように処理することができる。
[第3、第4の処理モードの切り換え処理の一例]
図11は、利用可能な処理モードは、第3の処理モード(ある位置→内周方向へ(リング状に))と第4の処理モード(ある位置→外周方向へ(リング状に))の2つのモードである場合であって、初期化などのタイミングにおいて、記録メディアであるハードディスク33の使用状況に応じて、第3の処理モードと第4の処理モードとを切り換えて用いるようにする場合の処理を説明するためのフローチャートである。
すなわち、この図11に示す処理は、現在の使用済み領域の直後に位置するLBAを、次回の始点として用いて、この始点から図6C、図6Dを用いて説明したように、MBR等の管理領域やデータ領域を形成してデータの記録を行うようにするものである。そして、この図11に示す例の場合には、ハードディスク33上の境界LBAの位置に基づいて、ハードディスク33の内周方向にLBAを割り当てるのか(内周方向にデータを記録していくのか)、ハードディスク33の外周方向にLBAを割り当てるのか(外周方向にデータを記録していくのか)を判定するようにしている。
そして、図11に示す処理は、図10に示した処理と同様に、操作部31を通じて初期化やファイルの全消去が指示された場合、あるいは、有線や無線によって接続される例えばPC(パーソナルコンピュータ)などの外部機器との間でデータの送受がなく、かつ、PCなどの外部機器から初期化(フォーマット)やファイルの全消去が指示された場合などにおいて、この実施の形態のデジタルビデオカメラの制御部20において実行される。
まず、制御部20は、ハードディスク33に記録されている情報を参照してハードディスク33の使用状況を確認する(ステップS201)。そして、制御部20はステップS201で確認したハードディスク33の使用状況に基づいて、使用済み領域と未使用領域との境界を示す境界LBAを算出する(ステップS202)。
具体的には、ステップS201の処理においては、ハードディスク33に形成されているFATをスキャンしたり、用いられているファイルシステムがFAT32である場合には、BPB直後に設けられているFSInfoの「FSI_Nxt_Free」の値を参照したり、あるいは、境界LBAをデジタルビデオカメラの不揮発性メモリーなどにより管理するようにしこの管理している値を参照したりすることによって、ハードディスク33の使用状況をクラスタ単位で確認することができる。
また、ステップS202の処理においては、ディスクの最外周を開始LBAとし、内周側に向かってデータを記録する標準基準モードにおける境界LBAである境界LBA1と、第3の処理モードあるいは第4の処理モードによってデータを記録する場合であって、ディスクドライバ205がハードディスク33をアクセスする場合に用いる場合における境界LBAである境界LBA2とを算出する。
なお、この実施の形態のデジタルビデオカメラにおいては、図7を用いて説明したように、ハードディスク33の空き領域に設けられる情報保持領域の13バイト目から16バイト目の4バイトで境界LBAを管理するようにしているので、ステップS202においては、ハードディスク33の空き領域に設けられる情報保持領域の13バイト目から16バイト目において管理されている境界LBAを境界LBA2として用いることが可能である。
そして、制御部20は、ステップS202で算出した境界LBA2が、その時点において用いられている処理モードで考えた場合に、ハードディスク33の記録領域の前半部分に位置するか、後半部分に位置するかを判断する(ステップS203)。
ステップS203の判断処理において、その時点において用いられている処理モードで考えた場合に、境界LBA2がハードディスク33の記録領域の前半部分に位置すると判断した場合には、境界LBA2を基準処理モードにおける境界LBA1として、内周側に向かってデータを記録する第3の処理モードを用いるように選択(設定)し、選択した処理モードを示す情報や境界LBA(境界LBA2)をハードディスク33の図7に示した情報保持領域の該当エリアに更新し(ステップS204)、この図11に示す処理を終了する。
また、ステップS203の判断処理において、その時点において用いられている処理モードで考えた場合に、境界LBA2がハードディスク33の記録領域の後半部分に位置すると判断した場合には、境界LBA2を基準処理モードにおける境界LBA1として、外周側に向かってデータを記録する第4の処理モードを用いるように選択(設定)し、選択した処理モードを示す情報や境界LBA(境界LBA2)をハードディスク33の図7に示した情報保持領域の該当エリアに更新し(ステップS205)、この図11に示す処理を終了する。
この図11の処理により、初期化やファイルの全消去のタイミングにおいて、第3の処理モードと第4の処理モードとを切り換えて利用することができる。この図11に示した処理の場合には、切り換え前における処理モード時における境界LBAのハードディスク33の記録領域全体における位置が、その処理モードにおける領域の前半にあるか後半にあるかに応じて、次に用いる処理モードを選択することができる。
この図11に示す処理により、ハードディスク33に対する初期化やファイルの全消去を行うように指示される毎に、第3の処理モードと第4の処理モードとをハードディスクの利用状況に応じて切り換えて用いることができるので、MBR等の管理領域を形成する位置やアクセス方向を変更することが可能となり、ハードディスク33の記録領域の各部分の使用頻度ができるだけ均一となるようにして使用することができるようにされる。
すなわち、初期化やファイルの全消去のタイミング毎に、常にハードディスク上の同じ領域を使用することを回避し、ハードディスク33の記録領域の各部分の使用頻度が均一となるように対処することができる。
なお、図10は、図9に示したパターン1、パターン2のように、2つの異なる処理モードを初期化やファイルの全消去を行うタイミングで切り換える場合の処理を、また、図11は、開始LBAを可変とするモードであって、データの記録方向が内周側に向かう方向である第3の処理モードと、データの記録方向が外周側に向かう方向である第4の処理モードとを、切り換え直前の処理モードにおける境界LBAに基づいて切り換える場合の処理を説明した。しかし、処理モードの切り換え処理は、図10、図11に示した処理に限るものではない。
例えば、初めは第1の処理モードを用い、ハードディスク33の初期化やファイルの全削除を行うようにされた場合には、第3の処理モードを用いるように処理モードを変更するが、これ以降、ハードディスク33の初期化やファイルの全削除を行うように指示された場合であっても、用いる処理モードは変更しないようにしてもしてもよい。
しかし、第3の処理モードは、上述したように、境界LBAを開始LBAとして初期化を行うことが可能なモードであるので、ハードディスク33の初期化やファイルの全削除を行うように指示された場合には、MBRなどの管理領域を設ける位置を境界LBMの次のクラスタからにして初期化が行われることにより、ハードディスク33の記憶領域における使用済み領域を繰り返し用いることを回避し、ハードディスクの記録領域の全体をできるだけ均一に使用するようにされる。すなわち、処理モードを変更することなく、開始LBMだけを変更するようにするなどのことも可能であり、このような開始LBAの変更も狭義の処理モードの変更といえる。
また、ハードディスク33の初期化やファイルの全消去のタイミングで処理モードを変更するようにするが、例えば乱数などを用いることにより処理モードの変更順をランダムにするなどのことも可能である。また、種々のプログラムによって、処理パターンの変更順序を様々なパターンで変更させることが可能である。
また、図11を用いて説明した処理においては、既にデータを記録した領域に対して、逆方向からデータを記録するいわゆる折り返し記録を行う場合も発生する。しかし、折り返し記録を行う場合であっても、フォーマット毎に書き込むデータサイズが全く同じでない限りは、全く同じ領域のクラスタ単位(記録単位)にデータ記録することにはならないので、ハードディスク全体として、ハードディスクの効率的な利用がされていることになる。
[メディア(記録媒体)の種別をも考慮した処理モードの切り換えについて]
しかしながら、メディアによっては、境界LBAのメディア上の位置に応じて処理モードを切り換えることなく、メディアに対して常に同一方向であってリング状にデータを記録するようにした方が、記録媒体の利用効率のみを考慮した場合によい場合がある。例えば、半導体メモリーを記録媒体として用いる種々のメモリーカードに対しては、常に同一方向であってリング状にデータを記録するようにしていれば、メモリーの全体をほぼ均一に効率よく使用することができる。
その一方で、メディアによっては、常に同一方向であってリング状にデータを記録していくことによって、アクセス効率が落ちる場合もある。例えば、DVDなどのディスク記録媒体において、最内周から最外周へ、あるいは、最外周から最内周へシーク動作を行う場合に、ピックアップ(書き込み/読み出しヘッド)の移動(シーク動作)の距離が大きくなるために、シーク動作に時間がかかり、ディスク記録媒体に対するアクセス効率が落ちることになる。
そこで、メディア種別をも考慮して、処理モードの切り換えを行うことが考えられる。図12は、ディスク種別をも考慮した処理モードの切り換え処理(処理モードの変更処理)を説明するためのフローチャートである。
この図12に示す処理もまた、図10に示した処理と同様に、操作部31を通じて初期化やファイルの全消去が指示された場合、あるいは、有線や無線によって接続される例えばPC(パーソナルコンピュータ)などの外部機器との間でデータの送受がなく、かつ、PCなどの外部機器から初期化(フォーマット)やファイルの全消去が指示された場合などにおいて、この実施の形態のデジタルビデオカメラの制御部20において実行される。
まず、制御部20は、詳しくは後述もするが、例えばRAM23やEEPROM24に設けられる使用メディアを管理するメディア種別レジスタの情報を参照し、データの記録先として使用するようにされているメディアの種別を取得する(ステップS301)。そして、制御部20は、データの記録先のメディアがディスク記録媒体であるか否かを判断する(ステップS302)。
ステップS302の判断処理において、データの記録先のメディアがディスク記録媒体でないと判断した場合には、処理モードの変更は行うことなく、この図12に示す処理を終了し、メディアをリング状に用い同一方向にデータを記録していく処理を維持するようにする。
一方、ステップS302の判断処理において、データの記録先のメディアがディスク記録媒体であると判断した場合には、メディアの使用状況に応じた処理モードの変更処理を実行して(ステップS303)、この図12に示す処理を終了する。そして、ステップS303の処理においては、ディスク記録媒体、この実施の形態においては、ハードディスク33の使用状況に応じて、処理モードの変更を行うようにしている。
図13は、ステップS303において行われるハードディスクの使用状況についての閾値について説明するための図である。制御部20は、ハードディスク33の管理情報領域の情報に基づいて境界LBAを算出し、これに基づいて使用状況を把握することになる。
そして、ハードディスク33において、その時の処理モードにおける使用開始位置から境界LBAまでの使用量が、(1)記憶容量全体(MAX)の1/2(2分の1)、すなわちハードディスクの記憶容量の5割まで使用されている場合、(2)記憶容量全体(MAX)の2/3(3分の2)、すなわちハードディスクの記憶容量の7割近くまで使用されている場合、(3)記憶容量全体(MAX)の4/5(5分の4)、すなわちハードディスクの記憶容量の8割まで使用されている場合のように、使用状況についての閾値を設定し、この閾値を基準として処理モードの変更を行うか否かを選択する。
図14は、図12に示したステップS303において実行されるメディア(ディスク記録媒体)の使用状況に応じた処理モードの変更処理について説明するためのフローチャートである。
まず、制御部20は、図11を用いて説明した処理の場合と同様に、ハードディスク33に記録されている情報を参照してハードディスク33の使用状況を確認する(ステップS401)。そして、制御部20はステップS401で確認したハードディスク33の使用状況に基づいて、使用済み領域と未使用領域との境界を示す境界LBAを算出する(ステップS402)。
具体的には、ステップS401の処理においては、ハードディスク33に形成されているFATをスキャンしたり、用いられているファイルシステムがFAT32である場合には、BPB直後に設けられているFSInfoの「FSI_Nxt_Free」の値を参照したり、あるいは、境界LBAをデジタルビデオカメラの不揮発性メモリーなどにより管理するようにしこの管理している値を参照したりすることによって、ハードディスク33の使用状況をクラスタ単位で確認することができる。
また、ステップS402の処理においては、ディスクの最外周を開始LBAとし、内周側に向かってデータを記録する標準基準モードにおける境界LBAである境界LBA1と、第3の処理モードあるいは第4の処理モードによってデータを記録する場合であって、ディスクドライバ205がハードディスク33をアクセスする場合に用いる場合における境界LBAである境界LBA2とを算出する。
なお、この実施の形態のデジタルビデオカメラにおいては、図7を用いて説明したように、ハードディスク33の空き領域に設けられる情報保持領域の13バイト目から16バイト目の4バイトで境界LBAを管理するようにしているので、ステップS202においては、ハードディスク33の空き領域に設けられる情報保持領域の13バイト目から16バイト目において管理されている境界LBAを境界LBA2として用いることが可能である。
そして、制御部20は、ステップS202で算出した境界LBA2が、その時点において用いられている処理モードで考えた場合に、ハードディスク33の記録領域の所定の閾値未満か否かを判断する(ステップS403)。ここで記録領域の所定の閾値は、図13に示した(3)の場合、すなわち、記憶容量全体(MAX)の4/5(記憶容量全体の8割)であるものとする。
ステップS403の判断処理において、その時点において用いられている処理モードで考えた場合に、境界LBA2がハードディスク33の記録領域の8割未満に位置すると判断した場合には、境界LBA2を基準処理モードにおける境界LBA1として、処理モードは現状を維持するようにし、処理モードを示す情報や境界LBA(境界LBA2)をハードディスク33の図7に示した情報保持領域の該当エリアに更新し(ステップS404)、この図14に示す処理を終了する。
また、ステップS403の判断処理において、その時点において用いられている処理モードで考えた場合に、境界LBA2がハードディスク33の記録領域の8割以上に位置すると判断した場合には、境界LBA2を基準処理モードにおける境界LBA1として、処理モードを現状の処理モードとは記録方向が逆向きとなる処理モードを選択し、選択した処理モードを示す情報や境界LBA(境界LBA2)をハードディスク33の図7に示した情報保持領域の該当エリアに更新し(ステップS405)、この図14に示す処理を終了する。
なお、ステップS405の処理において、現状とは記録方向が逆向きとなる処理モードの選択は、例えば、現状の処理モードの記録方向が外周側から内周側へ向かう方向である場合には、記録方向が内周側から外周側へ向かう方向である処理モードを選択し、現状の処理モードの記録方向が内周側から外周側へ向かう方向である場合には、記録方向が外周側から内周側へ向かう方向である処理モードを選択することを意味する。
そして、ステップS405の処理においては、境界LBA2を基準処理モードにおける境界LBA1とするので、境界LBA基準にしてハードディスクの記録領域を折り返すようにしてデータの記録を行うように処理モードが変更されることになる。
この図11の処理により、ハードディスク33の初期化が行うようにされた場合などにおいて、その時点において用いられている処理モードで考えた場合に、境界LBA2がハードディスク33の記録領域の8割以上に位置すると判断した場合には、例えハードディスク33をリング状に使用する処理モードが選択されている場合であっても、記録領域を折り返しての記録が行うようにされる。この場合、シーク動作は発生することはないので、ハードディスク33に対するアクセス効率を低下させることがないようにすることができる。
しかも、上述もしたように、ハードディスク33の記録領域の8割以上を使用した段階で、ハードディスク33に対して初期化などの所定の処理が行われた場合に記録領域を折り返しての記録を行うようにしているので、短期間の間に同じ記録領域に対して、前回と同じクラスタ単位に、同じ記録方向でデータを記録することを防止することができるので、ハードディスク33の効率的な利用が可能になる。
なお、ディスク記録媒体についての使用状況の閾値としては、図13を用いて説明したように種々の値を用いるようにすることが可能である。しかし、使用状況の閾値を決めるにあたっては、メディア種別や管理情報ファイルのデータ量などに応じて最適なものを用いるようにすることができる。
この場合、管理情報ファイのデータ量を考慮するようにするのは、データの読み出し時のシーク時間を考えるためである。すなわち、MBR等の管理情報ファイルと、実データとが、それぞれ内周側と外周側とに離れている場合には、データの読み出し時には常に大きなシーク時間が発生することになってしまうため、実データのデータ量を用いるよりも、管理情報ファイルのデータ量を用いるようにした方が効率的であるためである。
これにより、ハードディスクの場合にはDVDなどの光ディスクに比べ記憶容量が大きいので、使用状況の閾値はDVDの場合の閾値に比べ大きくなるように設定したり、また、管理情報ファイルのデータ量が多い場合には、使用状況の閾値を大きく取るようにしたりするなどのことが可能になる。
もちろん、使用状況の閾値については、予め設定しておくようにしてもよいし、例えば、操作入力部31を通じてユーザーが設定したり、変更したりできるようにすることも可能である。
[記録メディアの判別について]
なお、図12に示したステップS301の処理において、データの記録先として用いるメディアの種別を判別するが、その判別方法の一例について説明する。図15、図16、図17の図面を参照しながら説明する。
図15は、制御部20が、データの記録先となっているメディアを判別するための情報が格納されるメディア種別レジスタを説明するための図である。このメディア種別レジスタは、上述もしたように、RAM23やEEPROM24に設けられるものである。この例のメディア種別レジスタは、8ビットのものであり、LSB(Last Significant Bit)側から1ビットづつのエリアが、メモリースティック(MEMORYSTICK(登録商標))用、コンパクトフラッシュ(登録商標)用、ハードディスク用、SDメモリーカード用、…というように予め決められているものとする。メモリースティック(登録商標)、コンパクトフラッシュ(登録商標)、SDメモリーカードは、種類の異なるいわゆるメモリーカードである。
そして、上述したメディアが挿入(装填)された場合には、これが制御部20によって検出され、メディア種別レジスタの該当エリアが「オン「1」」にされる。また、挿入されたメディアが取り出された場合には、メディア種別レジスタの該当エリアは「オフ「0」」に戻される。したがって、挿入されていないメディアの該当エリアは、「オフ「0」」となるようにされる。
なお、挿入されたメディアの検出は、メディアが挿入されるデジタルビデオカメラのメディアコントローラ側とメディア側との接続状態に基づいて行うことができる。例えば、メモリースティック(登録商標)の場合、複数の接続端子の内の6番ピンが挿抜検出端子として用いられるようにされている。このため、図16に示すように、メディアコントローラ側の6番ピン(XIN)がプルアップ(接続状態)とされ、メモリースティック(登録商標)側の6番ピン(INS)は内部でVSS(=GND)に接続されている。
したがって、メモリースティック(登録商標)の場合には、6番ピンの電位をチェック(VCCまたはGND)し、電位がGNDの場合(接続状態が確認できた場合)には、メディア種別レジスタの該当エリアを「オン「1」」にする。なお、VCC(接続機器側からの供給電圧)は、2.7ボルトから3.6ボルトである。
また、コンパクトフラッシュ(登録商標)の場合、図17に示すように、メディアが挿入されるデジタルビデオカメラのメディアコントローラ側の25番ピン(CD2)、26番ピン(CD1)がプルアップされ、コンパクトフラッシュ(登録商標)側の25番ピン(CD2)、26番ピン(CD1)は内部でGNDに接続されている。
したがって、コンパクトフラッシュ(登録商標)の場合には、25番ピンおよび26番ピンの電位をチェック(VCCまたはGND)し、電位がGNDの場合(接続状態が確認できた場合)には、メディア種別レジスタの該当エリアを「オン「1」」にする。なお、VCC(接続機器側からの供給電圧)は、2.7ボルトから3.6ボルトである。
その他のメディア、例えば、ハードディスクやSDメモリーカードなどについても、接続された場合に電位が変化する接続端をチェックするなどして、接続状態を確認し、接続されている場合には、メディア種別レジスタの該当エリアを「オン「1」」にする。挿入されたメディアが取り外された場合には、同様にして取り外されたことを検出することができるので、メディア種別レジスタの該当エリアを「オフ「0」」にすることになる。
そして、上述のようにして、制御部20は、自己へのメディアの接続状況を確認し、メモリースティック(登録商標)が挿入されていれば、図15に示したメディア種別レジスタの内容は、「00000001」となるし、コンパクトフラッシュ(登録商標)が挿入されている場合には、メディア種別レジスタの内容は、「00000010」となる。また、ハードディスクが利用可能な状態になっている場合には、メディア種別レジスタは、「00000100」となる。もちろん、複数のメディアが利用可能な場合には、メディア種別レジスタの複数のビットが「オン「1」」になる。
このようにして、メディアの接続状態が把握できる。そして、挿入(接続)されているメディアが1つだけである場合には、図15に示したメディア種別レジスタを参照するだけで、データの記録先のメディア種別を特定することが可能である。また、この実施の形態のデジタルビデオカメラのように、メモリーカード34とハードディスク33との利用が可能であり、その両方が接続されている場合には、どちらをデータの記録先とするかをユーザーが選択することになり、その選択情報がRAM23またはEEPROM24などに格納されて利用されるので、この情報を参照することによって、データの記録先のメディア種別を正確に判別することができるようにされる。
図12〜図17を用いて説明した方式を用いることによって、初期化やファイルの全消去のタイミングにおいて、データの記録先のメディアの種別をも考慮して、処理モードを変更できるようにし、メディアを効率的に利用できるようにすることができる。
[処理モードの選択処理のまとめ]
次に、処理モードを切り換える場合の処理について、図18のフローチャートを参照しながらまとめる。図10〜図17を用いて説明したように、処理モードの切り換えは、利用可能な処理モード等に応じて異なる処理となるが、一般化すると図18に示すフローチャートのように表すことができる。
図18は、操作部31を通じて初期化(フォーマット)やファイルの全消去が指示された場合、あるいは、有線や無線によって接続される例えばPC(パーソナルコンピュータ)などの外部機器との間でデータの送受がなく、かつ、PCなどの外部機器から初期化(フォーマット)やファイルの全消去が指示された場合などにおいて、この実施の形態のデジタルビデオカメラの制御部20において実行される処理モードの変更処理を一般化して表したものである。
初期化やファイルの全消去などを行うようにする指示入力を受け付けた場合、制御部200は、図18に示す処理を実行し、まず、ハードディスク33に記録されている情報であって、必要になる情報(情報格納領域の情報等)を確認し(ステップS501)、ここで確認した情報や処理モードの変更を行うプログラムに応じて、次に用いるべき処理モードを選択する(ステップS502)。そして、選択した処理モードを示す情報等をハードディスク33の情報格納領域に設定し(ステップS503)、この図18に示す処理を終了する。
このように、初期化の実行指示やファイルの全消去の実行指示などを受け付けた場合であって、処理モードを変更する場合には、データを記録する記録媒体から、利用可能な処理モード、記録媒体に対して、現在どのような処理モードでどこからどこまでデータが記録されており、空き領域がどこからどこまでであるかを示す情報を確認する。そして、確認した現在の記録状態などを示す情報に基づいて、次に用いるべき処理モードを選択し、新たに選択した処理モードを示す情報を情報格納領域に更新することになる。
そして、ステップS502の処理においては、利用することが可能な処理モードや予め用いることが定められた処理モードの変更ロジック、利用可能な処理モードの変更順序を示す情報などに応じて、次に用いるべき処理モードを選択することになる。このように、処理モードの変更処理は、記録媒体の現在の利用状況、予め決められた処理モードの変更ロジック、利用可能な処理モードの変更順序に基づいて、変更することができるようにされる。
そして、処理モードが変更されると、新たに用いるようにされた処理モードにしたがって、初期化処理が行われ、新たな開始LBAからMBR、BPBなどの管理領域が形成され、初期化後においては、新たに用いるようにされた処理モードに従ってLBA1がLBA2に変換されることになるので、新たに用いるようにされた処理モードに応じた位置に対してデータを記録するようにされ、その処理モードに応じたアクセス方向にデータを記録することができるようにされる。
[処理モード選択後にける記録処理について]
次に、上述のようにして、初期化やファイルの全消去を行うタイミングにおいて処理モードの選択(変更)を行った後においては、ハードディスク33の空き領域に形成される図7に示した情報保持領域の17バイト目以降の情報を確認することにより、最新の処理モードは何かを知り、その最新の処理モードに従ってデータの記録を行うことになる。
図19は、選択された処理モードに応じてデータの記録を行う場合のデバイスドライバ205の処理を説明するためのフローチャートである。図19に示す処理は、デバイスドライバ205のLBA変換部205aの処理を説明するためのフローチャートであり、データの記録を開始する直前に行う処理を説明するためのものである。
デバイスドライバ205は、制御部20からデータの記録処理を開始する旨の通知を受け付けると、ハードディスク33の図7を用いて説明した情報格納領域の17バイト目以降の領域であって、終端(FFh)の直前の現在の処理モードを確認し(ステップS601)、確認した現状の処理モードを特定して、その特定した処理モードに応じたLBA変換情報を制御部20の例えばEEPROM24から取得(ロード)して(ステップS602)、この図18に示す処理を終了する。
これによって、選択されている処理モードにしたがって、メディア制御部204の位置算出部204aからの記録位置を示すLBA1を、選択されている処理モードに応じた記録位置に応じたLBA2に変換することができるようにされる。なお、デバイスドライバ205が取得するLBA変換情報は、以下に説明するように、メディア制御部204からのLBA1をハードディスク33の位置を指定するLBA2に変換するために必要になる情報であって、例えば変換情報テーブルやLBAからLBA2への変換式などの情報である。
このようにして、データの実際の記録処理に際しては、ハードディスク33の情報格納領域の現在選択されている処理モードに応じて、メディア制御部204の位置算出部204aから供給されるLBA1をLBA2に変換し、処理モードに応じて態様でデータをハードディスク33に記録することができるようにされる。
[LBA1の計算方法、LBA2への変換方法について]
次に、図8に示したメディア制御部204の位置算出部204aにおいて算出されるLBA1の算出方法と、図8に示したデバイスドライバ205のLBA変換部205aにおいて、選択された処理モードに応じた、LBA1からLBA2への変換方法について、図20、図21を用いて具体的に説明する。
[LBA1の変換方法について]
図20は、図8に示したデバイスドライバ205のLBA変換部205aにおいて行われるLBA1の計算方法を説明するための図である。上述モしたように、この実施の形態のデジタルビデオカメラのハードディスクドライブ32においては、ファイルシステムとしてFAT32を用いている。
FAT32の場合において、最外周からMBR等の管理領域やデータ領域を内周方向に形成すると共に、データを外周から内周方向に記録していく標準の処理モード(第1の処理モード)時におけるハードディスク33上の位置を指定するためのLBA1は、MBR中の情報やBPB中の情報に基づいて算出することができる。
すなわち、FAT32を用いている場合であって、第1の処理モード時におけるLBA1は、図20にも示すように、MBR中のパーティションテーブル中の「開始セクタ(LBA)」、BPB中の「BPB_RsvdSecCnt(FATの開始セクタ番号)」、「BPB_FATSz32(1つのFATあたりのセクタ数)」、「BPB_NumFATs(FATの数)」、「BPB_RootClus(ルートディレクトリの開始クラスタ番号)」、「BPB_SecPerClus(1クラスタあたりのセクタ数)」といった各値を用いることにより算出することができる。
具体的には、図20の(1)式に従って、パーティションの開始LBMと、FATの開始セクタ番号と、1つのFAT当たりのセクタ番号(セクタ数)にFATの数を掛けたものとを加算することにより、データ領域の開始LBA(セクタ)を算出する。この図20の(1)式で求めたデータ領域の開始LBAに対して、図20の(2)式に示すように、終了クラスタ番号nからFAT32では用いられていないルートディレクトリ分の開始クラスタ番号(クラスタ数)を引いたものである使用クラスタ総数と1クラスタ当たりのセクタ数を掛けたものを加算することにより、ハードディスク33上の次にアクセスすべき位置を示すLBA1(クラスタnの開始LBA)を求めることができる。
このように、データ領域の開始LBAを求め、これにデータ領域の現状の最終クラスタnまでのセクタ数を加算することにより、LBA1を求めることができる。そして、選択された処理モードが、第1の処理モード(標準の処理モード)以外の第2の処理モード、第3の処理モード、第4の処理モードである場合には、図20の(1)式、(2)式により求めたLBA1はそのまま用いることはできず、LBA2に変換することになる。
[LBA2への変換方法について]
図21は、メディア制御部204の位置算出部204aから供給されるLBA1をLBA2に変換する方法を説明するための図である。図21において、MAXは、この実施の形態のハードディスク33のLBAの最大値であり、ATA/ATAPI−6(AT Attachment with Packet Interface-6)などで規定されているコマンドの1つである「IDENTIFY DEVICE」を実行したときの戻り値の中の「Total number of user addressable sectors(0から数えて60〜61ワード目)」を1減算した値である。また、記号「X」は、その時点においてデータが記録された使用済み領域とデータが記録されていない未使用領域との境界を示す境界LBMを示すものである。
そして、選択された処理モードが第1の処理モードである場合には、図20を用いて説明したように求められるLBA1をLBA2として用いてハードディスク33をアクセスすることになる。すなわち、第1の処理モードにおいては、LBA1=LBA2という関係が成立する。
しかし、選択された処理モードが第2の処理モードである場合には、位置算出部204aからのLBA1をそのまま用いてハードディスク33をアクセスすることはできないので、図21の(3)式にしたがって、LBA1を実際のハードディスクのアクセスに用いるLBA2に変換することになる。第2の処理モード時において、図21の(3)式にしたがってLBA2への変換を行うことにより、ハードディスク33の最内周から管理領域やデータ領域を順次作成していき、内周から外周に向かう方向にLBAを指定してデータを記録することができるようにされる。
また、選択された処理モードが第3の処理モードである場合にも、位置算出部204aからのLBA1をそのまま用いてハードディスク33をアクセスすることはできないので、LBA1を実際のハードディスクのアクセスに用いるLBA2に変換することになる。第3の処理モード時においては、図21の(4)式に従ってLBA2への変換を行うことにより、境界LBAを起点よりLBA1分だけ内周側にずらした位置を示すようにLBA2を形成することができる。この場合、LBA1+Xによって求めたLBA2が、ハードディスク33のLBAの最大値MAXより大きい場合には、LBA2=既に求めたLBA2−X−LBA1なる演算を行うことによって、最終的なLBA2を求める。
このように、図21の(4)式に従うことによって、MBR等の管理領域を形成する位置を可変にし、データの記録方向を外周から内周に向かう方向として、ハードディスク33をいわゆるリング状に使用することができる。
また、選択された処理モードが第4の処理モードである場合にも、位置算出部204aからのLBA1をそのまま用いてハードディスク33をアクセスすることはできないので、LBA1を実際のハードディスクのアクセスに用いるLBA2に変換することになる。第4の処理モード時においては、図21の(5)式に従ってLBA2への変換を行うことにより、境界LBAを起点よりLBA1分だけ外周側にずらした位置を示すようにLBA2を形成することができる。この場合、X−LBA1によって求めたLBA2が、ハードディスク33のLBAの最小値「0(零)」より小さい場合には、LBA2=MAX+LBA2+LBA1なる演算を行うことによって、最終的なLBA2を求める。
このように、図21の(5)式に従うことによって、MBR等の管理領域を形成する位置を可変にし、データの記録方向を内周から外周に向かう方向として、ハードディスク33をいわゆるリング状に使用することができる。
そして、上述の説明からも分かるように、ハードディスク33上のアクセス位置を示すLBA1は従来通り求めるが、用いている処理モードが第1の処理モード以外の第2の処理モード、第3の処理モード、第4の処理モードである場合には、図21に示した計算式に従って、位置計算部204aからのLBA1を選択された処理モードに応じたLBA22変換し、選択された処理モードに従って、ハードディスク33をアクセスし、データを記録することができる。
そして、図5A、B、図6C、Dに示した4つの処理モードを使い分けることによって、ハードディスク33の記録領域の使用頻度が均一になるように制御し、ハードディスク33の記録領域の一部の部分だけが劣化してしまうなどのことを防止し、用いるハードディスクの信頼性を向上させることができる。
[FAT16を用いる場合について]
上述もしたように、この実施の形態のデジタルビデオカメラのハードディスクレコーダ32においては、ファイルシステムとしてFAT32を用いているものとして説明したが、これに限るものではない。ファイルシステムとして、例えば、FAT16を用いる場合にも、この発明を適用することが可能である。
そして、FAT16を用いたハードディスクを利用する場合であって、基本的には、FAT32を用いたハードディスクを利用する場合と同様にして、この発明を適用することが可能である。しかし、最内周からMBRなどの管理領域やデータ領域を順位に形成し、外周から内周にデータを記録していくモードである第1の処理モード時と同じ用にして求めるLBA1の求めかたが、FAT32の場合とは異なることになる。これは、FAT32の領域構造とFAT16の領域構造とが異なることに起因するものである。
図22は、FAT16が用いられたハードディスクの記録エリアを説明するための図である。図22と図2に示したFAT32を用いた場合のハードディスクの記録エリアを説明するための図とを比較すると分かるように、FAT16を用いた場合には、FAT32におけるFSInfo領域部分は空き領域となり、データ領域の最初のクラスタの直前に、データ領域に形成されるファイル毎の詳細情報を管理するディレクトリエントリが格納される例えば2クラスタ分のディレクトリ領域が設けられる構造とされる。このため、ルートディレクトリエントリ分の領域を考慮する必要が生じることになる。
そして、ファイルシステムとしてFAT16を用いた場合のハードディスクにおいて、標準の処理モードすなわち第1の処理モード時におけるハードディスク上のアドレスを示すLBA1は、FAT32を用いたハードディスクの場合の場合と同様に、MBR中の情報やBPB中の情報に基づいて算出することができる。
すなわち、FAT16を用いている場合であって、第1の処理モード時におけるLBA1は、図23にも示すように、MBR中のパーティションテーブル中の「開始セクタ(LBA)」、BPB中の「BPB_RsvdSecCnt(FATの開始セクタ番号)」、「BPB_FATSz16(16ビット空間における1つのFATあたりのセクタ数)」、「BPB_FATSz32(32ビット空間における1つのFATあたりのセクタ数)」、「BPB_NumFATs(FATの数)」、「BPB_RootEntCnt(ルートディレクトリエントリのセクタ数)」、「BPB_BytsPerSec(1セクタ当たりのバイト数)」、
「BPB_RootClus(ルートディレクトリの開始クラスタ番号)」、「BPB_SecPerClus(1クラスタあたりのセクタ数)」といった各値を用いることにより算出することができる。
そして、具体的には、「BPB_RootEntCnt(ルートディレクトリエントリのセクタ数)」、「BPB_BytsPerSec(1セクタ当たりのバイト数)」、を考慮する点を除けば、図20に示したFAT32を用いるハードディスク上のLBA1の求め方と同様に求めることができる。
すなわち、ハードディスク33の総セクタ数が16ビット空間で収まる場合においては、図23の(6)式に従って、パーティションの開始LBMと、FATの開始セクタ番号と、1つのFAT当たりのセクタ番号(セクタ数)にFATの数を掛けたものと、ルートディレクトリエントリのセクタ数とを加算することにより、データ領域の開始LBA(セクタ)を算出する。
この図23の(6)式で求めたデータ領域の開始LBAに対して、図23の(8)式に示すように、終了クラスタ番号nからFATシステムでは管理されないルートディレクトリ分の開始クラスタ番号(クラスタ数)を引いたものである使用クラスタ総数と1クラスタ当たりのセクタ数を掛けたものを加算することにより、ハードディスク33上の次にアクセスすべき位置を示すLBA1(クラスタnの開始LBA)を求めることができる。
また、ハードディスク33の総セクタ数が16ビット空間で収まらない場合においては、図23の(7)式に従って、データ領域の開始LBA(セクタ)を算出する。図23の(7)式は、図23の(6)式において用いていた「BPB_FATSz16」を「BPB_FATSz32」に変更したものが図23の(7)式に相当する。そして、図23の(7)式で求めたデータ領域の開始LBAを図23の(8)式で用いることにより、32ビット空間におけるハードディスク33上の次にアクセスすべき位置を示すLBA1(クラスタnの開始LBA)を求めることができる。
このようにして求めたLBA1を図21を用いて説明したLBA2への変換式に代入することによって、ファイルシステムとしてFAT16が用いられたハードディスク33においても、初期化やファイルの全消去のタイミングで処理モードを変更し、処理モードに応じてハードディスク上の位置を指定してアクセスすることが可能である。
したがって、FAT16を用いた場合にも、初期化やファイルの全消去が行われる毎に、常にハードディスクの最外周から内周方向に使用されることにより、最外周側の記録領域が頻繁に使用されることにより劣化し、最内周側の記憶領域は全く使用されないために劣化していないといった使用領域の不均一な状態を回避し、ハードディスクの寿命が短くなることを防止することができると共に、信頼性の高いハードディスクドライバを実現することが可能となる。
[処理モードの変更処理の他の例]
上述した実施の形態のデジタルビデオカメラにおいては、ハードディスク33の初期化やファイルの全削除のタイミングで処理モードを変更する場合、現在の処理モードや記録媒体のデータ記録終了位置を示す境界LBAに基づいて、新たに用いる処理モードを変更する例について説明したが、これに限るものではない。
例えば、記録媒体の最終端の値をも考慮し、データ記録終了位置から記録媒体の最終端までの距離が、所定値以下である場合には、現時点の処理モードとアクセス方向が同じになる処理モードは選択しないようにするなど、記録媒体の最終端の値をも考慮して、新たに用いる処理モードを選択するようにしてももちろんよい。
従って、ハードディスクの初期化やファイルの全消去のタイミングにおいて行う新たに用いる処理モードの選択は、利用可能な処理モード、現時点において用いている処理モード、現時点の処理モードにおけるデータ記録終了位置、記録媒体の最終端の値(記録媒体上の最終アドレス)などの情報の内の1つ以上に基づいて行うことが可能である。また、これら以外の情報、例えば、予め決められる処理モードの変更パターン(変更順序)を示す情報や用いる記録媒体の種類、あるいは、乱数などの種々の情報を用いることにより、様々なパターンで処理モードを変更させることが可能である。
また、上述の実施の形態においては、操作入力部31、通信部19が記録媒体の初期化やファイルの全消去の指示を受け付ける受付手段としての機能を実現し、制御部20が、処理モードを選択する選択手段、基準アドレス(LBA1)を算出する算出手段、基準アドレスを処理モード(LBA変換モード)に応じたLBA2に変換する変換手段としての機能を実現するようにしている。
また、現在の処理モードを検出する検出手段、データ記録終了位置を取得する位置取得手段、記録媒体の最終端の値を取得する最終端検出手段としての機能は、制御部20が実現するようにしている。
また、この実施の形態においては、図8を用いて説明した各部の機能を有するソフトウェアを制御部20において実行することにより、処理モードに応じたLBA変換(LBA1から処理モードに応じたLBA2への変換)を行うようにした。しかし、これに限るものではない。ファイルシステム202、デバイスドライバ205の機能を有する回路を構成し、これらを制御部20とハードディスクドライブ32との間に設けるようにしてもよい。
また、ファイルシステム202としての機能は、制御部20において実行されるプログラムによって実現し、LBA変換機能を有するデバイスドライバ205の機能を制御部20とハードディスクドライバ32との間に設けるデバイスドライバ装置部(あるいはデバイスドライバ回路)などのハードウェアによって実現することも可能である。
また、上述もしたように、記録媒体の初期化やファイルの全削除の指示入力を受け付ける受付ステップと、指示入力を受け付けた場合に、新たに用いる処理モードを選択する選択ステップと、基準アドレス情報を算出する算出ステップと、算出ステップで算出された基準アドレス情報を、選択ステップで選択した処理モードに応じたアドレス情報に変換する変換ステップを実行する記録制御プログラムを形成し、これをデジタルビデオカメラなどの記録装置に搭載することによって、記録装置に対してこの発明を簡単に適用することができる。
この場合、選択ステップにおいては、現在の処理モード、データ記録終了位置、記録媒体の最終端の値などを考慮して、新たに用いる処理モードを選択するようにすることが可能であり、これらの情報を取得したり算出したりするためのステップを設けるようにしてももちろんよい。
そして、上述もしたように、従来は、データの書き換え可能な記録媒体を常にフルに使用しない場合であっても、初期化やファイルの全消去などが行われ、全くデータが記録されていない状態から記録媒体を繰り返し使用するようにする場合に、記録媒体上の常に同じ位置から管理領域を形成し、同じ方向にデータを記録するようにしていたので、部分によって使用頻度に著しい差が生じていた。
しかし、この発明を適用することによって、初期化やファイルの全消去などが行われるタイミングにおいて、記録媒体上の記録開始位置や記録媒体に対するアクセス方向を変えることにより、記録領域の各部分の使用頻度が均一となるように対処することが可能となる。これにより、書き換え可能な記録媒体上の各部分において、使用頻度が異なるために劣化スピードが著しく異なる、といった問題を解消でき、記録媒体およびその記録媒体を用いる装置の信頼性を向上させることが可能となる。
また、上述した実施の形態のデジタルビデオカメラにおいて説明したように、デバイスドライバ205より上位の部分、すなわち、アプリケーションソフトウェア201やファイルシステム202の段階においてのLBA1を特定する処理は何ら変更はなく、特定(算出)したLBA1を選択した処理モード(LBA変換モード)にしたがってLBA2に変更するので、デバイスドライバ205より上位の部分に大きな変更を行うことがない。
また、同じ情報を記録するにしても、記録媒体の使用状況に応じて記録媒体上の記録位置を変化させるようにすることも可能である。
なお、上述の実施の形態においては、この発明をハードディスクを記録媒体として用いるデジタルビデオカメラに適用した場合を例にして説明したが、これに限るものではない。記録媒体は、例えば、データの書き換えが可能な記録媒体であって、例えば、DVDやCD、あるいは、ブルーレイディスク(Blu-ray Disc)等の光ディスク、MD(Mini Disc(登録商標))などの光磁気ディスク、半導体メモリーなどのファイルシステムが用いられて、記録されたデータの管理を行う種々の記録媒体を用いる装置にこの発明を適用することが可能である。
したがって、上述したデジタルビデオカメラの他、上述したようにファイルシステムが適用される記録媒体を用いる記録装置、記録再生装置、パーソナルコンピュータ、情報処理端末、デジタルスチルカメラ、ビデオレコーダ、携帯型のAV(Audio/Visual)情報のプレーヤやレコーダなどにおいて、この発明を適用することができる。
また、ファイルシステムは、FAT32やFAT16に限るものではない。UDF(Universal Disk Format)など、その他の種々のファイルシステムを用いる場合であっても、この発明を適用することが可能である。
11…光学レンズ部、12…光電変換部、13…カメラ機能制御部、14…画像信号処理部、15…LCD(Liquid Crystal Display)、16…画像入出力部、17…音声入出力部、18…音声信号処理部、19…通信部、20…制御部、21…CPU、22…ROM、23…RAM、24…EEPROM、25…システムバス、31…操作入力部、32…ハードディスクドライブ(ハードディスク装置)、33…ハードディスク、34…メモリーカード、201…アプリケーション、202…ファイルシステム、203…記録制御部、203a…ディレクトリエントリ制御部、203b…クラスタ制御部、203c…FAT制御部、204…メディア制御部、204a…位置算出部、205…デバイスドライバ、205a…LBA変換部