以下、図を参照しながらこの発明による装置、方法の一実施の形態について説明する。以下に説明する実施の形態においては、記録媒体として着脱可能なハードディスクと、半導体メモリーが利用されて形成されたメモリーカードとの利用が可能な撮像装置であって、静止画データ、動画データ、音声データなどの情報信号を記録媒体に記録することができると共に、記録媒体に記録されている静止画データ、動画データ、音声データを再生することが可能なデジタルビデオカメラ(カメラ一体型ビデオテープレコーダ)に適用した場合を例にして説明する。
[デジタルビデオカメラの構成と基本的な動作について]
まず、この実施の形態のデジタルビデオカメラについて説明する。図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にファイルとして記録することができるものである。このように、この実施の形態のデジタルビデオカメラは、属性(種類)の異なる種々のデータをファイルとして記録媒体に記録することができるものである。
そして、記録媒体に記録したファイルについては、編集したい場合が発生する。例えば、撮影した動画像データを分割するようにして、目的とするシーンだけを別ファイルとして扱えるようにしたり、また、複数の画像データのファイルを結合して、これを1つのファイルと扱えるようにしたりしたい場合などである。
この実施の形態のデジタルビデオカメラは、操作入力部31を通じて受け付けた使用者からの指示入力に応じて、記録媒体に記録されたファイルについての編集を行うことができるものである。この場合、この実施の形態のデジタルビデオカメラは、基本的に、編集用の参照情報等を新たに形成するなどのことなく、また、既に記録されているデータを別の記憶領域に物理的に移動させるデータの再配置処理を伴うことなく、記録媒体にファイル管理用として設けられている情報を利用することによって、種々の編集を行うことができるようにしている。
すなわち、この実施の形態のデジタルビデオカメラにおいては、既に記録媒体に記録されているデータについて、不要なデータは削除するようにして当該削除データが記録されていた記録領域は開放するが、必要なデータについては別の記録領域に移動したりコピーしたりして記録しなおすことなく、必要なデータのみからなるファイルを論理的な編集修理によって形成するようにするものであり、ファイルとして記録されたデータを、再配置処理を伴うことのないいわば非破壊的に編集することができるようにしている。
以下においては、ハードディスクドライブ32のハードディスク33に記録された種々のファイルを編集する場合を例にして説明する。
[ハードディスクドライブ32およびハードディスク33について]
まず、この実施の形態のデジタルビデオカメラにおいてのハードディスク33に記録されたファイルの編集について詳細に説明する前に、種々のデータが記録されることになる大容量で、かつ、ランダムアクセスが可能な記録媒体であるハードディスク33について説明する。
上述もしたように、この実施の形態のハードディスクドライブ32においては、ファイルシステムとして、FATシステムを用いており、ハードディスク33は、FATシステムにしたがって初期化される。
図2は、FATシステムに応じて初期化されることにより利用可能となるハードディスク33の状態を説明するための図である。FATシステムには、FAT16、FAT32などがあるが、図2は、ファイルを管理するデータが16ビット化されたFAT16の場合の領域構造を示している。
図2に示すように、ハードディスクの先頭セクタ(LBA=0セクタ)には、詳しくは後述もするが、システム起動用領域であるMBR(Master Boot Record)が設けられる。このMBRの次には、予備的な空き領域が設けられ、その空き領域の次には、パーティション領域が設けられる。
図2に示すように、パーティション領域内には、BPB(BIOS Parameter Block)と、空き領域と、FAT1と、予備のFATであるFAT2と、ディレクトリ領域が設けられ、このディレクトリ領域の後の部分が実際にクラスタ単位にデータが記録されるデータ領域となる。なお、ディレクトリ領域は、図2に示したように、データ領域の最初のクラスタの直前に設けられ、データ領域に形成されるファイル毎に形成される情報であって、各ファイルの詳細情報を管理するルートディレクトリエントリが格納される。
そして、図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について]
上述したように、この実施の形態のデジタルビデオカメラにおいては、ハードディスク33を複数のパーティション領域に区切ることができ、各パーティション領域を独立した記録媒体として扱うことができるようにされている。そして、各パーティション領域に形成される種々のファイルは、そのパーティション領域に形成されるディレクトリ領域とFATとの情報によって管理され、ユーザーが利用できるようにされる。
この実施の形態のデジタルビデオカメラにおいては、ハードディスクに形成されたファイルを管理し、ユーザーが利用しようとする場合に必要になるディレクトリとFATとのそれぞれを利用することによって、ファイルの編集を行うようにしている。以下においては、ディレクトリとFATとのそれぞれについて説明した後に、FATとディレクトリとを用いたファイルの編集について説明する。
[ディレクトリについて]
図5は、図2に示したように各パーティションに設けられるディレクトリ領域に格納される情報であって、ファイル毎に形成されるディレクトリエントリの情報構造を説明するための図である。この図5に示すディレクトリエントリは、パーティション内にファイルが形成された場合に、その形成されたファイルに応じてディレクトリ領域に形成される情報であり、形成されたファイルの詳細情報を管理するものである。すなわち、ディレクトリエントリは、この実施の形態において、個々のファイルの詳細情報を管理するための詳細情報管理表である。
そして、各ファイルのディレクトリエントリは、図5に示すように、名前(ファイル名)欄、拡張名欄、属性欄、予約欄、作成時刻欄、作成日欄、最終アクセス日付欄、先頭クラスタ番号の指示情報(High)欄、記録時刻欄、記録日付欄、先頭クラスタ番号の指示情報(Low)欄、ファイルサイズ欄を備え、それぞれ対応する情報、すなわち、ファイル名、拡張名、属性、作成時刻、作成日、最終アクセス日付、先頭クラスタ番号(High)、記録時刻、記録日付、先頭クラスタ番号(Low)、ファイルサイズを管理する。
このディレクトリエントリの情報を用いることにより、ファイル名によって特定されるファイルは、(1)どのような属性のものであり、(2)開始(先頭)クラスタはどこで、(3)どの位の大きさのファイルであり、(4)いつ作成され、(5)最終アクセスはいつで、(6)データの記録はいつ行われたか等について管理することができるものである。
ここで開始(先頭)クラスタ番号は、当該ファイルのデータの記録が開始された当該パーティションのデータ領域のクラスタ単位の記憶領域を特定する情報である。換言すれば、開始クラスタ番号は、当該パーティションのデータ領域をクラスタ単位に分割した各記憶領域の内の何番目の記憶領域から当該ファイルのデータの記録が行われたかを示している。そして、この例の場合には、図5に示したように、先頭クラスタ番号は、上位側(high側)の2バイトと、下位側(Low側)の2バイトとに分けて管理するようにしている。
なお、クラスタは、複数のセクタをまとめた、1ファイル当たりの最小記録単位を意味するものである。ハードディスクの最小単位であるセクタは、ファイルを管理するための単位としては小さすぎるので、複数のセクタをまとめたクラスタという単位領域を用いることによって、ファイルの管理が容易となるようにしている。クラスタの具体的な大きさは、例えば、FAT16の場合には32キロバイト、FAT32の場合には4キロバイトである。そして、この明細書においては、クラスタ単位に分割された記憶領域自体をクラスタと呼ぶ場合もある。
[FATについて]
図6、図7は、この実施の形態のデジタルビデオカメラのハードディスク33において用いられるFATについて説明するための図である。この実施の形態において、FATは、以下に説明するように、個々のファイルの記憶領域の使用の状態をクラスタ単位に管理する記憶領域管理表としての機能を有するものである。なお、図6、図7の8桁の数字、および、図7Aの2桁の数字は、16進数表現されたものである。
図2を用いて説明したように、ハードディスク33に形成される各パーティション領域には、FATが設けられる。このFATが破壊された場合には、ファイルの記録情報が利用できなくなってしまうため、複数のFATを用意することでトラブルを防止するようにしている。
この実施の形態においても、図2に示すように、各パーティション領域には、FAT1とFAT2との2つのFATが用意される。これらは全く同じ内容を有するものであり、FAT1が破壊された場合に、FAT2の情報を用いることによって、データが利用できなくなるのを防止するようにしている。すなわち、FAT2は、FAT1の予備として設けられているものである。
FAT1、FAT2のそれぞれは、図6(A)、(B)に示すように、クラスタ番号等を格納するための複数の格納領域(FATエントリ領域)を備えており、これらの格納領域のそれぞれは、図6において、16進数で示したFATエントリ番号によって、指示することができるようにされている。なお、FATエントリ番号は、FAT1、FAT2が設けられたパーティション内のクラスタに1対1に対応するものである。
そして、FAT1、FAT2のクラスタ番号等の格納領域は、4バイト(32ビット)の領域であり、主に、これらFAT1、FAT2が属するパーティションに設けられた各ファイルの記憶領域をクラスタ単位の記憶領域の連鎖(繋がり)として指示するためのクラスタ番号等(FATエントリ)が格納される。
また、FAT1、FAT2のクラスタ番号等の格納領域に、クラスタ番号が格納されていない場合には、例えば、予約クラスタ、未使用クラスタ、欠陥クラスタ、ファイルの最終クラスタ(End Of Fileのクラスタ)等のそのクラスタの状態を示す情報が格納される。なお、FATエントリ番号「00000000h」、「00000001h」で示される格納領域は、決められた用途に使用されている。
そして、図6に示した例は、当該パーティションのデータ領域全体に1つのファイルを形成するようにした場合であって、図6(C)の格納例に示すように、FAT1、FAT2のクラスタ番号等の格納領域に対して、FATエントリ番号で示される順番に、「00000002h」から1づつ歩進するようにされるクラスタ番号を順番に格納するようにした場合を示している。
この図6からも分かるように、FAT1、FAT2のクラスタ番号等の格納領域に格納されたクラスタ番号は、図6(D)に示すように、データ領域を構成するクラスタ単位の領域に1対1に対応するようにされる。したがって、FAT1あるいはFAT2のクラスタ番号で示されるクラスタ(データ領域のクラスタ単位の領域)をたどることによって、データ領域に形成されたファイルの先頭から終端までのデータの全部を正確に参照することができるなど、ファイル全体のデータを扱うことができるようにされる。
図7は、複数のファイルが形成されたパーティションに設けられるFATの例を説明するための図であり、図7AはFAT内の各FATエントリ領域に格納されるFATエントリの状態を、図7Bは各ファイルを構成するクラスタの連鎖の状態を説明するための図である。なお、この図7に示した例は、所定のパーティション内に4つのファイルが形成された場合の例を示している。
上述もしたように、ファイルの開始(先頭)クラスタ番号は、図5を用いて説明したように、そのファイルのディレクトリエントリの情報によってわかる。図7Aにおいては、斜線で示したFATエントリが、各ファイルの先頭クラスタであることが、各ファイルのディレクトリエントリの開始クラスタ番号によって特定されているものとする。
すなわち、この図7に示した例は、1つ目のファイルの開始クラスタは、クラスタ番号が「00000007h」のクラスタであり、2つ目のファイルの開始クラスタは、クラスタ番号が「0000000Ah」のクラスタであり、3つ目のファイルの開始クラスタは、クラスタ番号が「0000001Bh」のクラスタであり、4つ目のファイルの開始クラスタは、クラスタ番号が「0000002Ch」のクラスタである場合を示している。
そして、1つ目のファイルについて、当該ファイルの開始クラスタ「00000007h」からクラスタの連鎖を図7AのFAT上で追うと、図7Bの1つ目のファイルの欄に示すように、「00000007h」→「00000008h」→「00000009h」のようにクラスタを追うことができ、「00000009h」番目のクラスタが当該1つ目のファイルの最終クラスタであることが分かる。
すなわち、当該1つ目のファイルが形成されたパーティションの記憶領域において、「00000007h」番目のクラスタから「00000009h」番目のクラスタまでのデータを読み出すことにより、当該1つ目のファイルの全てのデータを読み出して利用することが可能となる。
同様に、2つ目のファイルについて、当該ファイルの開始クラスタ「0000000Ah」からクラスタの連鎖を図7AのFAT上で追うと、図7Bの2つ目のファイルの欄に示すように、クラスタの連鎖を追うことができる。この2つ目のファイルの場合には、「0000000Ah」→「0000001Fh」→「00000025h」→というように、飛び飛びのクラスタを含む記憶領域にデータが記録されており、「00000030h」番目のクラスタが当該2番目のファイルの最終クラスタである。
また、3つ目のファイルについて、当該ファイルの開始クラスタ「0000001Bh」からクラスタの連鎖を図7AのFAT上で追うと、図7Bの3つ目のファイルの欄に示すように、クラスタの連鎖を追うことができる。この3つ目のファイルの場合には、開始クラスタと最終クラスタとが飛び飛びのクラスタとなるものの、その間のクラスタは連続したクラスタを確保することができ、比較的に効率よくデータ領域が確保されている。
また、4つ目のファイルについて、当該ファイルの開始クラスタ「0000002Ch」からクラスタの連鎖を図7AのFAT上で追うと、図7Bの4つ目のファイルの欄に示すように、クラスタの連鎖を追うことができる。この4つ目のファイルの場合には、一部でクラスタが連続しなくなるが、ほぼ連続するクラスタをデータ領域として確保されている。
このように、目的とするファイルのデータを利用する場合には、そのファイルのディレクトリエントリによって、開始クラスタ番号を特定し、この特定した開始クラスタ番号を基準として、FATで管理されるクラスタの連鎖をたどることによって、目的とするファイルのデータの全てを利用することが可能になる。
[FATとディレクトリとを用いたファイルの論理的編集処理について]
そして、この実施の形態のデジタルビデオカメラにおいては、ディレクトリエントリとFAT1、FAT2の情報を操作することにより、目的とするファイルを対象とする編集(いわゆる非破壊的編集)を行うことができるようにしている。具体的には、以下に説明するように、FAT上におけるクラスタの連結、分割、部分削除、中抜きなどの各編集処理を行うことによって、必要なデータのみからなるファイルを必要なデータを移動したりコピーしたりするなどのことなく、ファイルの編集を行うことができるようにしている。ファイルの編集は、ファイルの分割、ファイルの結合、ファイル内のデータの部分削除として、ファイルの先頭部分や後尾部分のデータの削除やファイル内の中間部分のデータの削除(いわゆる中抜き削除)および、これらの組み合わせによって種々の態様の編集を行うことが可能である。
そして、ファイルの分割の場合には、1つのファイルが少なくとも2つ以上になるのであるから、新たなファイルについてのディレクトリエントリを形成すると共に、元のファイルのディレクトリエントリのファイルサイズなどの必要な情報を変更する必要が生じる。
また、ファイルの結合の場合には、少なくとも、2つ以上のファイルが1つのファイルになるのであるから、不要となるディレクトリエントリが生じると共に、結合した後のディレクトリエントリを結合したいずれかのファイルのディレクトリエントリを用いるものとすれば、そのディレクトリエントリの開始クラスタ番号やファイルサイズなどの変更が生じることになる。
ファイルの部分削除は、新たに形成されるファイルや消滅するファイルは発生しないが、必要なデータが記録されている領域の開始位置や終了位置、ファイルサイズなどの変更が生じることになる。
さらに、この実施の形態のデジタルビデオカメラにおいては、上述もしたように、既に記録されているファイルのデータを移動することにより、ファイル自体を物理的に分割したり、結合したりするのではなく、論理的に編集を行うようにするいわゆる非破壊的編集を行うようにしている。このため、ファイルの分割部分のクラスタやファイルの結合部分のクラスタ、あるいは、ファイルの削除部分のクラスタにおいて、データの「読み飛ばし」処理が必要になる。
データの「読み飛ばし」処理は、例えば、ファイル1とファイル2とを結合する場合で説明すると、ファイル1の最終クラスタとファイル2の開始クラスタをつなげる処理を行うようにした後に、ファイル1の最終クラスタ中に存在する無効とすべきデータを読み飛ばすようにする処理である。
また、ファイル1を2つのファイル2a、2bに分割する場合には、ファイル1の目的とするクラスタの目的とする位置において、当該位置よりも前のデータの集まりをファイル2aとし、当該位置よりも後のデータの集合をファイル2bとする処理を行った後、ファイル2aにおいては、最終クラスタとなったクラスタにおいて、不要なデータ(ファイル2bとなった部分のデータ)を読み飛ばす処理が必要になり、また、ファイル2bにおいては、開始クラスタとなったクラスタにおいて、先頭側の不要なデータ(ファイル2aとなったのデータ)を読み飛ばす処理が必要になる。
ファイルの部分削除の場合であって、ファイルの先頭部分のデータを削除した場合には、削除後の開始クラスタにおいて不要となったデータ部分を読み飛ばす必要が生じるし、ファイルの後尾部分のデータを削除した場合には、削除後の最終クラスタにおいて、不要になったデータを読み飛ばす必要が生じる。また、ファイルの中抜きの場合には、削除されたデータの先頭部分のクラスタと後尾部分のクラスタにおいて、不要になったデータの読み飛ばしが必要になる場合が生じる。
そこで、この実施の形態のデジタルビデオカメラにおいては、ファイルの論理的な編集(非破壊的編集)を行う場合、編集後のファイルの詳細は、ディレクトリエントリによって管理し、データの読み飛ばしについては、FAT1およびFAT2への編集の態様を示す情報を更新するようにし、この情報によってデータの読み飛ばしを行うことができるようにしている。
具体的には、以下に説明するように、読み飛ばしが発生するクラスタに対応するFAT1のデータ(FATエントリ)にデータの読み飛ばしの態様を示す情報を付加するとともに、読み飛ばしが発生するクラスタに対応するFAT2のデータ(FATエントリ)に当該クラスタの読み飛ばしの開始あるいは終了の位置を示す情報を付加するようにする。
そして、FAT1、FAT2に付加される情報に基づいて、データの読み飛ばしを適切に行うことにより、編集後のファイルを適正に使用することができるようにすることができると共に、編集後のファイルの外部機器等への出力も容易に行うことができるようにしている。
この実施の形態において、FAT1に付加される読み飛ばしの態様を示す情報と、FAT2に付加される読み飛ばしの開始あるいは終了の位置を示す情報とが、編集の態様に関する情報である。
データの「読み飛ばし」の態様としては、次のようなものがある。
(1)目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにする。
(2)目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。
(3)目的クラスタが開始クラスタの場合には、当該目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにし、目的クラスタが最終クラスタである場合には、当該目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。
の3つが基本的な読み飛ばしの態様である。
そして、例えば、(1)は、ファイルを分割した場合の後側のファイルの開始クラスタにおいて行われるデータの読み飛ばしの態様であり、(2)は、ファイルを結合した場合の結合部分のクラスタにおいて行われるデータの読み飛ばしの態様である。また、(3)は、例えば、ファイルを分割した場合には、前側のファイルの最終クラスタと、後側のファイルの開始クラスタとは同じクラスタになるが、この場合において、両方のファイルについての読み飛ばしに対応できるようにする場合に用いられる読み飛ばしの態様である。
また、ファイルの部分削除の場合であって、ファイルの先頭部分のデータを削除した場合には、削除後の開始クラスタにおいて、上述した(1)の態様で読み飛ばしを行うことになり、ファイルの後尾部分のデータを削除した場合には、削除後の終了クラスタにおいて、上述した(2)の態様で読み飛ばしを行うことになる。
また、ファイルの中抜きの場合には、削除されたデータの先頭部分のクラスタにおいては、上述の(2)の態様で読み飛ばしを行う必要が生じる場合があり、削除されたデータの後尾部分のクラスタにおいては、上述の(2)の態様で読み飛ばしを行う必要が生じる場合がある。また、中抜きの場合には、削除されたデータを含むクラスタにおいて、削除されたデータ部分である所定位置から所定位置までの読み飛ばしを行う必要が生じる場合もある。
なお、後述もするが、ファイルを分割するようにした場合において、前側のファイルの最終クラスタに対するデータの読み飛ばし処理は、通常行われるファイルサイズとクラスタサイズとから算出されるクラスタ内の端数処理を行うことにより対処することも可能であるため、(3)に示した態様でデータの読み飛ばし処理を行う必要はない。しかし、(3)に示した態様でデータの読み飛ばしを行うようにする場合には、分割後のいずれのファイルに対しても読み飛ばしの指示を与えることができる。
そして、この実施の形態のデジタルビデオカメラにおいては、上述した(1)の読み飛ばし態様は、「1h」、(2)の読み飛ばし態様は、「2h」、(3)の読み飛ばし態様は、「3h」というように、4ビット程度の情報として表現し、これを読み飛ばしの発生するクラスタに対応するFAT1のFATエントリに付加すると共に、読み飛ばしの開始あるいは終了の位置を示す情報を読み飛ばしの発生するクラスタに対応するFAT2のFATエントリに付加するようにする。
このように、ディレクトリエントリの更新と、FAT1およびFAT2への編集の態様を示す情報を付加することによって、編集対象のファイル自体をコピーしたり、移動したりするなどのことなく、論理的な編集であって、非破壊的な編集を行うことができるようにしている。
[ファイルの結合とファイルの分割の具体例について]
次に、この実施の形態のデジタルビデオカメラにおいて、ハードディスク33に記録されているファイルについて行われるファイルの結合処理(結合編集処理)とファイルの分割処理(分割編集処理)について、具体例を示して説明する。図8〜図11は、この実施の形態のデジタルビデオカメラにおいて行われるファイルの論理的編集処理の一例を説明するための図である。この内、図8、図9はファイルの結合処理を、図10、図11はファイルの分割処理を説明するための図である。なお、図8〜図11において、8桁の数字は16進数表現されたものである。
[ファイルの結合の具体例]
まず、図8、図9を参照しながらファイルの結合処理について説明する。図8は、結合処理前のファイルについて説明するためのものであり、図9は、結合処理後のファイルについて説明するためのものである。図8Aに示すように、ファイル1とファイル2とを結合する場合を例にする。なお、この例においては、図8Aに示すように、1クラスタのサイズ(クラスタサイズ)を32KB(キロバイト)として説明する。
この例の場合、ファイル1、ファイル2のディレクトリエントリの情報から、図8Bに示すように、ファイル1の開始クラスタ番号は00001008h、ファイルサイズは100KBであり、ファイル2の開始クラスタ番号は00022001h、ファイルサイズは150KBである。そして、この実施の形態においては、上述もしたように、クラスタサイズは32KBであるので、図8Aに示すように、ファイル1は4つのクラスタから構成され、ファイル2は5つのクラスタから構成されている。
そして、ディレクトリエントリの情報から把握されるファイル1、ファイル2の各開始クラスタを始点として、FAT1において、ファイル1、ファイル2のそれぞれのクラスタの連鎖をたどれば、図8Cに示すように、ファイル1を構成するクラスタ、ファイル2を構成するクラスタをたどることができる。この場合、ファイル1の最終クラスタ(End OF File)は、0000100Bhであり、ファイル2の最終クラスタ(End OF File)は、00022005hである。
この図8を用いて説明したようにハードディスク33に形成されているファイル1とファイル2とを結合させ、図9Aに示すように、結合後のファイルを新たなファイル1とする場合には、元のファイル1の最終クラスタと元のファイル2の開始クラスタとを接続するようにする。この場合、図9Bに示すように、新たなファイル1のディレクトリエントリにおいて、開始クラスタ番号は変更しないが、ファイルサイズは、100KBから250KBに変更することになる。また、ファイル2のディレクトリエントリは不要になるため、ディレクトリから削除する。
さらに、図9Cに示すように、元のファイル1とファイル2との結合部分のクラスタのうち読み飛ばしが必要となるクラスタに対応するFAT1のFATエントリに対して、読み飛ばしの態様を示す情報を付加する。この例の場合には、図9Aにも示したように、元のファイル1の最終クラスタが、元のファイル2の開始クラスタと結合(連結)するので、元のファイル1の最終クラスタ(0000100Bh)に対応するFAT1のFATエントリの最上位バイトに、データの読み飛ばしの態様を示す情報を付加する。
この例の場合には、上述した「(2)目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。」ことを示す情報「2h」が、図9Cに示したように、クラスタ(0000100Bh)に対応するFAT1のエントリの最上位バイトに付加することになる。したがって、FAT1のFATエントリを確認することより、どのクラスタで、どのような態様のデータの読み飛ばしが必要であるかを示すことが可能になる。
そして、データの読み飛ばしが必要なクラスタと読み飛ばしの態様とが分かっても、そのクラスタのどこからどこまでのデータを読み飛ばすのかを明確に示すことができなければ、不要なデータのみを適切に読み飛ばすことはできない。そこで、読み飛ばしの態様に応じて決まることになる読み飛ばしの開始あるいは終了の位置を示す情報を、データの読み飛ばしの発生するクラスタに対応するFAT2のFATエントリに付加するようにする。
この図8、図9に示したファイルの結合の例の場合、元のファイル1のファイルサイズは100KBであり、1クラスタは32KBであるので、最終クラスタである「0000100Bh」番目のクラスタには、その先頭から4KB分のデータが記録されているのみで、当該クラスタの4KBより後の記憶領域にはファイル1のデータとして必要なデータは存在しない。そこで、この例の場合には、図9Dに示したように、読み飛ばしの開始の位置X2を指示する情報として、4KBを示す値「1000h」をクラスタ「0000100Bh」に対応するFAT2のFATエントリの下位2バイトに記録する。
これにより、この例の場合には、FAT1のFATエントリにより、どのクラスタにおいて、どのような態様のデータの読み飛ばしが必要であるかが分かり、当該クラスタに対応するFAT2のFATエントリ(この結合処理の場合には当該FATエントリの下位2バイトのデータ)により、実際にどこからどの位のデータを読み飛ばせばよいかが分かり、これに応じて、データの適正な読み飛ばし制御を行うことができるようにされる。
このように、ディレクトリエントリの更新と、FAT1への読み飛ばしの態様を示すデータの付加と、FAT2へのどれ位データを読み飛ばすかを示すデータの付加とを行うことにより、ハードディスク33に記録されているファイル1とファイル2とを、これらを移動したりコピーしたりするなどのことなく、結合するようにして新たなファイル1を形成することができるようにしている。
[ファイルの分割の具体例]
次に、図10、図11を参照しながらファイルの分割処理について説明する。図10は、分割処理前のファイルについて説明するためのものであり、図11は、分割処理後のファイルについて説明するためのものである。ここでは、図10A、Bに示すように、ハードディスク33上に形成されたファイルサイズが150KBのファイル2を、矢印が示す位置で分割し、ファイルサイズが100KBのファイル2aとファイルサイズが50KBのファイル2bとに分割する場合を例にする。なお、この例においても、クラスタサイズは、32KBである。
この例の場合、ファイル2のディレクトリエントリの情報から、開始クラスタ番号は、00022001hであることが分かっているとする。この場合、FAT1において、開始クラスタである00022001hから、このファイル2のクラスタの連鎖をたどると、図10Cに示すように、5つのクラスタをたどり、ファイル2のデータを利用することができるようにされる。
そして、図10Aに示したファイル2を、図11Aに示すように、ファイル2aとファイル2bとに分割するようにする場合には、図10Aに示したように、クラスタ番号00022004hのクラスタにおいて分割部分が生じることになる。すなわち、分割後のファイル2aの開始クラスタは、元のファイル2の開始クラスタと同じ00022001hであり、当該ファイル2の最終クラスタは、00022004hのクラスタとなる。また、分割後のファイル2bの開始クラスタは、00022004hのクラスタであり、当該ファイル2bの最終クラスタは、元のファイル2の最終クラスタと同じ00022005hとなる。
このため、図11Bに示すように、開始クラスタ番号を00022001hとし、ファイルサイズを100KBとするファイル2aのディレクトリエントリと、開始クラスタ番号を00022004hとし、ファイルサイズを50KBとするファイル2bのディレクトリエントリとをディレクトリに作成すると共に、元のファイル2のディレクトリエントリは不要なので削除する。
そして、この例においては、上述のように、ファイル2aの最終クラスタと、ファイル2bの開始クラスタとは、同じ00022004h番目のクラスタとなり、ファイル2aのデータを読み出す場合と、ファイル2bのデータを読み出す場合とでは、読み飛ばすデータの範囲が異なる。
そこで、ファイル2aの最終クラスタである00022004h番目のクラスタについては、上述もしたように、最終クラスタのデータを処理する場合に通常行われるファイルサイズとクラスタサイズとから算出されるクラスタ内の端数処理を行うことにより、ファイル2bのデータとなった不要なデータについては読み出さないようにする。
また、ファイル2bの場合には、ファイル2bの開始クラスタである00022004h番目のクラスタにおいては、当該クラスタの先頭から4KB分のデータは、ファイル2aのデータであるのでこの部分のデータは読み飛ばさなければならない。そこで、この例の場合には、00022004h番目のクラスタに対応するFAT1のFATエントリに対して、読み飛ばしの態様を示す情報を付加する。
この例の場合には、図11Cにも示したように、ファイル2bの開始クラスタである00022004h番目のクラスタにおいて、当該クラスタの先頭から4KB分のデータを読み飛ばさなければならないので、開始クラスタである00022004hに対応するFAT1のFATエントリの最上位バイトに、データの読み飛ばしの態様を示す情報を付加する。
この例の場合には、上述した「(1)目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにする。」ことを示す情報「1h」が、図11Cに示したように、クラスタ(00022004h)に対応するFAT1のエントリの最上位バイトに付加されることになる。したがって、FAT1のFATエントリを確認することより、どのクラスタで、どのような態様のデータの読み飛ばしが必要であるかを示すことが可能になるが、最上位バイトが「1h」であるFATエントリの場合には、そのFATエントリが開始クラスタである場合にのみ有効となるようにされる。
すなわち、最上位バイトが「1h」であるFATエントリが存在しても、それが最終クラスタに対応する場合には、クラスタの先頭からデータを読み飛ばすということは発生し得ないので無視することになる。したがって、分割されて形成されたファイル2aのデータを利用するようにする場合には、クラスタ00022004hは、開始クラスタではなく最終クラスタであるので、例え最上位バイトが「1h」であっても無視することになる。
そして、クラスタ00022004hにおいて、読み飛ばしの終了の位置を示す情報として、4KBを示す値「1000h」をクラスタ「00022004h」に対応するFAT2のFATエントリの上位2バイトに記録する。
これ により、この例の場合には、FAT1のFATエントリにより、どのクラスタにおいて、どのような態様のデータの読み飛ばしが必要であるかが分かり、当該クラスタに対応するFAT2のFATエントリ(この分割処理の場合には当該FATエントリの上位2バイトのデータ)により、実際にクラスタの先頭からどこまでデータを読み飛ばせばよいかが分かり、これに応じて、データの適正な読み飛ばし制御を行うことができるようにされる。
このように、ディレクトリエントリの更新と、FAT1への読み飛ばしの態様を示すデータの付加と、FAT2へのどれ位データを読み飛ばすかを示すデータの付加とを行うことにより、ハードディスク33に記録されているファイル1とファイル2とを、これらを移動したりコピーしたりするなどのことなく、分割するようにして新たなファイルを形成することができるようにしている。
なお、上述もしたように、クラスタ00022004hに対応するFAT1の最上位バイトに、「(3)目的クラスタが開始クラスタの場合には、当該目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにし、目的クラスタが最終クラスタである場合には、当該目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。」ことを示す情報「3h」を付加するようにしてもよい。
この場合、FAT2の該当FATエントリには、4KBを示す16進数「1000h」を保持するようにしておく。これにより、処理対象のクラスタである0002004h番目のクラスタが最終クラスタである場合には、00022004h番目のクラスタの先頭から4KB分のデータを読み出し、先頭から4KB分より後、当該クラスタの終端までのデータを読み飛ばすようにし、処理対象のクラスタである0002004h番目のクラスタが開始クラスタである場合には、00022004h番目のクラスタの先頭から4KB分を読み飛ばし、以降を読み出すようにすることが可能である。
このように、この実施の形態のデジタルビデオカメラにおいては、ハードディスク33上に形成したファイルの編集を行う場合には、新たに形成するファイルに応じて図5に示したディレクトリエントリを形成する。この場合、ディレクトリエントリの追加が必要な場合、変更で済む場合、さらに、削除が必要な場合があり、これら追加、変更、削除を必要に応じて行うことにより、編集後のファイルに対応したディレクトリエントリが形成するようにしている。
さらに、図12Aに示すように、データの読み飛ばしが必要になるクラスタに対応するFAT1におけるFATエントリの最上位バイトに対して、「1h」、「2h」、「3h」等の予め決められた読み飛ばしの態様を示す情報を付加すると共に、図12Bに示すように、データの読み飛ばしが必要になるクラスタに対応するFAT2におけるFATエントリとして、データの読み飛ばしの終了の位置を示す情報X1、開始の位置を示す情報X2を保持するようにする。
なお、この実施の形態においては、上述もしたように、終了の位置を示す情報X1、開始の位置を示す情報X2は、データの読み飛ばしが発生するクラスタの先頭からのデータ量で示すようにしている。また、この実施の形態において、1クラスタは、32KBであるので、情報X1、X2が取り得る値は、1〜65である。
これら、FAT1、FAT2に付加するようにされる編集の態様に関する情報と、ディレクトリエントリとによって、元のファイルについて、移動やコピーを行うことなく、ファイルの分割や結合といった編集を行うようにすることができる。そして、この実施の形態のデジタルビデオカメラにおいて、ハードディスク33に記録されているファイルの編集は、操作入力部31を通じて受け付けたユーザーからの指示に応じて、制御部20がハードディスクドライブ32を制御することにより行われる。
[デジタルビデオカメラの結合処理、分割処理時の動作について]
上述したこの実施の形態のデジタルビデオカメラにおける結合処理時、分割処理時の動作について、従来の結合処理時の動作、分割処理時の動作と対比しながら説明する。図13は結合処理時の動作を、図14は、分割処理時の動作を説明するためのものである。
まず、図13を参照しながら、ファイル1とファイル2とを結合し、新しいファイル1を形成する場合の動作について説明する。図13において、図13Aは、従来方式によるファイルの結合処理を説明するためのフローチャートであり、図13Bはハードディスクにおける結合処理前のファイルの状態を、図13Cは、ハードディスクにおける従来方式による結合処理後のファイルの状態を、それぞれ示すものである。
また、図13において、図13Dは、この発明にかかる方式によるファイルの結合処理を説明するためのフローチャートであり、図13Eはハードディスクにおける結合処理前のファイルの状態を、図13Fは、ハードディスクにおけるこの発明にかかる方式による結合処理後のファイルの状態を、それぞれ示すものである。
図13Bに示すように、ハードディスクに存在するファイル1、ファイル2を結合し、新たなファイル1(新ファイル1)を従来方式で形成する場合、まず、仮の名前(ファイル名)をつけてディレクトリエントリを作成することによりハードディスク上に新ファイル1ようのデータ格納エリアを確保する(ステップS11)。
そして、仮の名前で確保したデータ格納エリアにファイル1のデータ(内容)をコピーし、コピー終了後に、ファイル1のディレクトリエントリとファイル1のデータを削除することにより、元のファイル1を削除する(ステップS12)。この状態のときに、元のファイル1のデータは仮の名前で設けたデータ格納エリアに存在する。
次に、仮の名前で確保したデータ格納エリアにファイル2のデータ(内容)をコピーし、コピー終了後に、ファイル2のディレクトリエントリとファイル2のデータを削除することにより、元のファイル2を削除する(ステップS13)。この状態のときに、元のファイル1のデータと元のファイル2のデータとが仮の名前で設けたデータ格納エリアに存在する。
この後、仮の名前で確保したデータ格納エリアの名前(ファイル名)をファイル1に変更することにより(ステップS14)、図13Cに示すように、ファイル1とファイル2とを結合し、新たなファイル1を形成する処理が終了する。
この従来方式の場合には、図13Bと図13Cとを比較すると分かるように、図13Bにもともと存在したファイル1とファイル2とは、図13Cには存在せず、それらを結合することにより形成した結合処理後の新たなファイル1が存在するのみである。この従来方式の場合には、結合処理前において、ファイル1、ファイル2とのデータを格納可能な仮の名前で確保するデータ格納エリア分の空き容量がなければならず、しかも、ファイル1、ファイル2の実データを実際に移動させているので、処理時間がかかったり、図13Cに示したように、ハードディスク上に飛び飛びの空き領域が形成されてしまったりするなど、データの再配置が非効率的である。
これに対し、この発明の方式の場合には、図13Eのようにディスク上に存在するファイル1とファイル2とを結合する場合、この実施の形態のデジタルビデオカメラの制御部20は、まず、ファイル1の最終クラスタからファイル2の開始クラスタへとつづくようにFATを編集するようにする(ステップS21)。
次に、制御部20は、元のファイル1の最終クラスタに対応するFAT1のFATエントリにデータの読み飛ばしの態様を示す情報を付加すると共に、元のファイル1の最終クラスタに対応するFAT2のFATエントリに、データの読み飛ばしの開始位置情報を格納するようにする(ステップS22)。
そして、制御部20は、ハードディスクドライブ32を制御して、ファイル2のディレクトリエントリを削除し(ステップS23)、ファイル1のディレクトリエントリのファイルサイズ情報などを結合処理に形成した新たなファイル1に応じたものとなるように更新し(ステップS24)、ファイルの結合処理を終了する。
この発明にかかる方式の場合には、図13E、図13Fを比較すると分かるように、元のファイル1、ファイル2については、コピーや削除処理を行うことなく、同じ記録位置にファイル1とファイル2とを結合した新しいファイル1(新ファイル1)を形成することが可能である。すなわち、ファイル間のクラスタの連結処理とディレクトリエントリの編集という比較的に簡単な処理により、ファイルの結合を行うようにすることができる。
次に、図14を参照しながら、ファイル2を分割して、ファイル2aとファイル2bとを形成する場合の動作について説明する。図14において、図14Aは、従来方式によるファイルの分割処理を説明するためのフローチャートであり、図14Bはハードディスクにおける分割処理前のファイルの状態を、図14Cは、ハードディスクにおける従来方式による分割処理後のファイルの状態を、それぞれ示すものである。
また、図14において、図14Dは、この発明にかかる方式によるファイルの分割処理を説明するためのフローチャートであり、図14Eはハードディスクにおける分割処理前のファイルの状態を、図14Fは、ハードディスクにおけるこの発明にかかる方式による分割処理後のファイルの状態を、それぞれ示すものである。
図14Bに示すように、ハードディスクに存在するファイル2を分割し、新たなファイル2a、ファイル2bを従来方式で形成する場合、まず、新たに形成することになるファイル2a用のディレクトリエントリを作成することにより、ファイル2aのデータの格納エリアを確保し(ステップS31)、この確保したファイル2a用のデータ格納エリアに、元のファイル2から抽出するファイル2aのデータとなるべきデータをコピーする(ステップS32)。
次に、新たに形成することになるファイル2b用のディレクトリエントリを作成することにより、ファイル2bのデータの格納エリアを確保し(ステップS33)、この確保したファイル2b用のデータ格納エリアに、元のファイル2から抽出するファイル2bのデータとなるべきデータをコピーする(ステップS34)。そして、元のファイル2を削除し、ファイルの分割処理を終了する。
この従来方式の場合には、図14B、図14Cから分かるように、図14Bにもともと存在したファイル2は、図14Cには存在せず、ファイル2を分割することにより形成した分割処理後のファイル2a、ファイル2bが存在するのみである。この従来方式の場合には、分割処理前において、ファイル2aとファイル2bとのそれぞれのデータの格納エリアが確保できなければならず、しかも、ファイル2の実データを実際に移動させているので、処理時間がかかったり、図14Cに示したように、ハードディスク上に飛び飛びの空き領域が形成されてしまったりするなど、データの再配置が非効率的である。
これに対し、この発明の方式の場合には、図14Eのようにディスク上に存在するファイル2をファイル2a、ファイル2bに分割する場合、この実施の形態のデジタルビデオカメラの制御部20は、ハードディスクドライブ32を制御して、まず、元のファイル2のディレクトリエントリの名前(ファイル名)をファイル2aに変更する(ステップS41)。
次に、制御部20は、ハードディスクドライブ32を制御して、ファイル2b用のディレクトリエントリを新たに作成する(ステップS42)。そして、ステップS41の処理で設けるようにしたファイル2a用のディレクトリエントリのファイルサイズやその他の情報を書き換えるなどの編集を行って、目的とするファイル2aに合致するディレクトリエントリを整える(ステップS43)。
そして、制御部20は、ファイル2bの開始クラスタ(先頭クラスタ)に対応するFAT1、FAT2の情報に読み飛ばしのための情報を加えるようにし(ステップS44)、ファイルの分割処理を終了する。
この発明にかかる方式の場合には、図14E、図14Fを比較すると分かるように、元のファイル2のデータについては、コピーや削除処理を行うことなく、元のファイル2と同じ記録位置にファイル2aとファイル2bとを形成することが可能である。すなわち、ファイル間のクラスタの連結処理とディレクトリエントリの編集という比較的に簡単な処理により、ファイルの分割を行うようにすることができる。
[編集処理後のファイルの利用について]
次に、図9、図11、図13D、E、F、図14D、E、Fを用いて説明した、この実施の形態のデジタルビデオカメラで行われる編集処理後のデータの利用について説明する。図15は、この実施の形態のデジタルビデオカメラにおいて、編集後のファイルのデータを読み出して再生するなどして利用する場合の処理を説明するためのフローチャートである。
編集後のファイルの再生が指示された場合には、この実施の形態のデジタルビデオカメラの制御部20は、ハードディスクドライブ32を制御して、ハードディスク33に記録されているファイルを読み出す処理を開始する。
この場合、制御部20は、図5を用いて説明したように、ハードディスク33に記録されている目的とするファイルのディレクトリエントリを読み出し、開始クラスタ番号やファイルサイズなどの必要な情報を取得する。そして、図7を用いて説明したように、開始クラスタ番号に対応するFAT1のFATエントリから順にクラスタの連鎖をたどるようにして、再生が指示されたファイルのデータをクラスタ単位で読み出すようにする。
このとき、制御部20は、FAT1のFATエントリの最上位バイトの情報に基づいて、読み出しの対象とするクラスタが読み飛ばしの必要なクラスタか否かを判断する(ステップS51)。ステップS51の判断処理において、FATエントリの最上位バイトに読み飛ばしの態様を示す情報は付加されておらず、読み飛ばしの必要のないクラスタであると判断したときには、制御部20は、通常通りクラスタの内容を読み出す(ステップS52)。
ステップS51の判断処理において、データの読み飛ばしが必要なクラスタであると判断したときには、制御部20は、当該クラスタに対応するFAT2のFATエントリの情報を参照して保持するようにする(ステップS53)。そして、制御部20は、ステップS51において確認したFAT1のFATエントリの最上位バイトの情報に基づいて、データの読み飛ばしの態様を判断する(ステップS54)。
ステップS54の判断処理において、FAT1の読み飛ばしの態様を示す情報が、「1h」であり、上述もしたように、「(1)目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにする。」ことを指示するものであるときには、ステップS53において保持したFAT2のFATエントリの上位2バイトの情報を読み飛ばしの終了の位置を示す情報X1とし、当該クラスタの先頭からX1までデータを読み飛ばし、X1以降、当該クラスタの終端までデータを読み出すようにする。(ステップS55)。
ステップS54の判断処理において、FAT1の読み飛ばしの態様を示す情報が、「2h」であり、上述もしたように、「(2)目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。」ことを指示するものであるときには、ステップS53において保持したFAT2のFATエントリの下位2バイトの情報を読み飛ばしの開始の位置を示す情報X2とし、当該クラスタの先頭からX2までデータを読み出し、X2以降、当該クラスタの終端までのデータを読み飛ばすようにする。(ステップS55)。
ステップS54の判断処理において、FAT1の読み飛ばしの態様を示す情報が、「3h」であり、上述もしたように、「(3)目的クラスタが開始クラスタの場合には、当該目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにし、目的クラスタが最終クラスタである場合には、当該目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。」ことを指示するものであるときには、制御部20はディレクトリエントリの開始クラスタ番号に基づいて、読み出し処理の対象としているクラスタが、開始クラスタか最終クラスタかを判断し、これをも考慮したデータの読み飛ばしを行う(ステップS57)。
具体的にステップS57の処理は、読み出し対象のクラスタが、開始クラスタである場合には、当該読み出し対象のクラスタの先頭からステップS53において取得したFAT2のFATエントリの上位2バイトの情報X1が示す位置までのデータの読み飛ばし、以降のデータを読み出すようにする。一方、読み出し対象のクラスタが、終了クラスタである場合には、当該読み出し対象のクラスタの先頭からステップS53において取得したFAT2のFATエントリの下位2バイトの情報X2が示す位置までのデータを読み出し、以降のデータを読み飛ばすようにする。
そして、ステップS52、ステップS55、ステップS56、ステップS57の処理により読み出されたデータは、通信部19を通じて外部に出力するようにしたり、あるいは、読み出したデータが画像データであれば画像信号処理部14に供給したり、読み出したデータが音声データであれば音声信号処理部18に供給したりして処理される。そして、次のクラスタについての処理に移行し、繰り返し、この図15に示す処理が行われるようにされる。
このように、この実施の形態のデジタルビデオカメラにおいて編集されたファイルを利用する場合であっても、通常通りにディレクトリエントリとFATの情報によって再生することができる。
また、外部に出力する場合には、編集後のファイルのデータのみが出力するようにされるので、出力先の外部機器においては、FATに付加された情報が必要になることもなく、従来通りのファイルとして利用することができるようにされる。
[ファイルの部分削除の具体例について]
次に、この実施の形態のデジタルビデオカメラにおいて、ハードディスク33に記録されているファイルについて行われるファイルの部分削除について、具体例を示して説明する。図16〜図19は、この実施の形態のデジタルビデオカメラにおいて行われるファイルの論理的編集処理の一例を説明するための図である。この内、図16、図17はファイルの先頭部分のデータを部分的に削除する部分削除(1)処理(部分削除編集処理)を、図18、図19はファイルの中間部分のデータを削除する部分削除(2)である中抜き処理(中抜き編集処理)を説明するための図である。なお、図16〜図19において、8桁の数字は16進数表現されたものである。
[ファイルの部分削除(1)の具体例]
まず、図16、図17を参照しながらファイルの先頭部分のデータを削除する部分削除(1)について説明する。以下においては、部分削除(1)を単に部分削除と呼ぶこととする。図16は、部分削除処理前のファイルについて説明するためのものであり、図17は、部分削除処理後のファイルについて説明するためのものである。
ここでは、図16Aに示すファイル3の先頭部分を削除する場合を例にして説明する。この例においても、図16Aに示すように、1クラスタのサイズ(クラスタサイズ)は32KB(キロバイト)であるものとして説明する。
この例の場合、ファイル3のディレクトリエントリの情報から、図16Bに示すように、ファイル3の開始クラスタ番号は00033001hであり、ファイルサイズは150KBであることが分かっている。そして、この実施の形態においては、上述もしたように、クラスタサイズは32KBであるので、図16Aに示したように、ファイル3は5つのクラスタから構成されている。
そして、ディレクトリエントリの情報から把握されるファイル3の開始クラスタを始点として、FAT1において、ファイル3のクラスタの連鎖をたどれば、図16Cに示すように、ファイル3を構成するクラスタをたどることができる。この場合、ファイル3の最終クラスタ(End OF File)は、00033005hである。
図16を用いて説明したようにハードディスク33に形成されているファイル3の先頭から50KB分のデータを削除し、図17Aに示すように、部分削除処理後のファイルを新たなファイル3とする。この場合、図17Bに示すように、新たなファイル3のディレクトリエントリにおいて、元のファイル3の先頭から50KB分のデータが削除されることにより、開始クラスタ番号は00033002hとなり、ファイルサイズは150KBから100KBに変更することになる。
さらに、データ削除後のファイル3の開始クラスタにおいては、その先頭から18KB分の領域は削除データ部分に相当するので、読み飛ばしが必要になる。このため、図17Cに示すように、部分削除後の新たなファイル3の開始クラスタに対応するFAT1のFATエントリに対して、読み飛ばしの態様を示す情報を付加する。
この例の場合には、図17Aにも示したように、部分削除後の開始クラスタにおいて、その先頭から18KB分を削除することになるので、開始クラスタ(00033002h)に対応するFAT1のFATエントリの最上位バイトに、データの読み飛ばしの態様を示す情報を付加する。
この例の場合には、上述した「(1)目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにする。」ことを示す情報「1h」が、図17Cに示したように、クラスタ(00033002h)に対応するFAT1のエントリの最上位バイトに付加することになる。したがって、FAT1のFATエントリを確認することより、どのクラスタで、どのような態様のデータの読み飛ばしが必要であるかを示すことが可能になる。
そして、データの読み飛ばしが必要なクラスタと読み飛ばしの態様とが分かっても、そのクラスタのどこからどこまでのデータを読み飛ばすのかを明確に示すことができなければ、不要なデータのみを適切に読み飛ばすことはできない。そこで、読み飛ばしの態様に応じて決まることになる読み飛ばしの開始あるいは終了の位置を示す情報を、データの読み飛ばしの発生するクラスタに対応するFAT2のFATエントリに付加する。
この図16、図17に示したファイルの部分削除の例の場合、元のファイル3のファイルサイズは150KBであるので、このファイル3の先頭から50KBを削除した場合には、削除後のファイル3の開始クラスタにおいて、その先頭から18KB分は不要なデータということになる。そこで、この例の場合には、図17Dに示したように、読み飛ばしの終了の位置X1を指示する情報として、18KBを示す値「4800h」をクラスタ「00033002h」に対応するFAT2のFATエントリの上位2バイトに記録する。
なお、部分削除処理前のファイル3の開始クラスタ(00033001h)は、不要なデータが記録されたクラスタとなるので、この00033001hのクラスタは未使用クラスタ(空きクラスタ)に戻すように、ゼロクリアされる。
これにより、この例の場合には、FAT1のFATエントリにより、どのクラスタにおいて、どのような態様のデータの読み飛ばしが必要であるかが分かり、当該クラスタに対応するFAT2のFATエントリ(この部分削除(1)の処理の場合には当該FATエントリの上位2バイトのデータ)により、実際にどこからどの位のデータを読み飛ばせばよいかが分かり、これに応じて、データの適正な読み飛ばし制御を行うことができるようにされる。
このように、ディレクトリエントリの更新と、FAT1への読み飛ばしの態様を示すデータの付加と、FAT2へのどれ位データを読み飛ばすかを示すデータの付加とを行うことにより、ハードディスク33に記録されているファイル3の一部分を移動したりコピーしたりするなどのことなく、部分的に削除して新たなファイル3を形成することができるようにしている。
なお、この場合に、クラスタ0003302hに対応するFAT1の最上位バイトに、「(3)目的クラスタが開始クラスタの場合には、当該目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにし、目的クラスタが最終クラスタである場合には、当該目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。」ことを示す情報「3h」を付加するようにしてもよい。
この場合、FAT2の該当FATエントリには、18KBを示す16進数「4800h」を保持するようにしておく。これにより、処理対象のクラスタである00044002h番目のクラスタが開始クラスタである場合には、00033002h番目のクラスタの先頭から18KB分のデータを読み飛ばし、以降のデータを読み出すことができるようにされる。
[ファイルの部分削除(2)の具体例]
次に、図18、図19を参照しながらファイルの中間の一部分を削除する部分削除(2)について説明する。この部分削除(2)は、中間の一部分を削除し、その前後のデータから新たなファイルを作るようにするいわゆる中抜き処理を行うようにするものである。このため、以下においては、ファイルの中間の一部分を削除する部分削除(2)の処理を中抜き処理と呼ぶこととする。
図18は、中抜き処理前のファイルについて説明するためのものであり、図19は、中抜き処理後のファイルについて説明するためのものである。ここでは、図18A、Bに示すように、ハードディスク33上に形成されたファイルであって、開始クラスタ番号が00044001hで、ファイルサイズが150KBのファイル4の中間部分を削除し、新たなファイル4とする場合を例にして説明する。なお、この例においても、クラスタサイズは、32KBである。
この例の場合、ファイル4のディレクトリエントリの情報から、開始クラスタ番号は、00044001hであることが分かっているとする。この場合、FAT1において、開始クラスタである00044001hから、このファイル4のクラスタの連鎖をたどると、図18Cに示すように、5つのクラスタをたどり、ファイル4のデータを利用することができるようにされる。
そして、図18Aに示したファイル4を、図19Aに示すように、その先頭から数えて50KBから96KBまでの46KB分のデータを削除するようにして、新たなファイル4を形成するようにしている。この場合、新たなファイル4は、図19Bに示すように、その開始クラスタ番号は、00044001hであり変わりはないが、ファイルサイズは100KBとなるので、図19Bに示すように、ファイル4のディレクトリエントリにおいて、ファイルサイズを100KBに変更することになる。
そして、この例の場合、ファイル4の先頭から数えて50KBから96KBまでの46KB分のデータを削除するようにしているので、00044002h番目のクラスタの終端側の一部分のデータ(終端側の14KB分データ)と、00044003h番目のクラスタの全部のデータ(32KB分のデータ)とが不要になる。
すなわち、ファイル4の00044002h番目のクラスタの途中から当該クラスタの最後までのデータが読み飛ばしの対象になるとともに、クラスタ00044003hは未使用クラスタ(空きクラスタ)として解放する必要が生じる。
そこで、図19Cに示すように、新たなファイル4のクラスタである00044002h番目のクラスタに対応するFAT1のFATエントリに対して、読み飛ばしの態様を示す情報を付加する。この例の場合には、図19Cにも示したように、ファイル4のクラスタである00044002h番目のクラスタにおいて、当該クラスタの先頭から18KB目以降、当該クラスタの終端までのデータを読み飛ばさなければならないので、00044002h番目のクラスタに対応するFAT1のFATエントリの最上位バイトに、データの読み飛ばしの態様を示す情報を付加する。
この例の場合には、上述した「(2)目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。」ことを示す情報「2h」が、図19Cに示したように、00044002h番目のクラスタに対応するFAT1のエントリの最上位バイトに付加されることになる。したがって、FAT1のFATエントリを確認することより、どのクラスタで、どのような態様のデータの読み飛ばしが必要であるかを示すことが可能になる。
そして、図19Dに示すように、00044002h番目のクラスタにおいて、読み飛ばしの開始の位置X2を示す情報として、00044002h番目のクラスタの先頭からの値である18KBを示す値「4800h」をクラスタ「00044002h」に対応するFAT2のFATエントリの下位2バイトに記録する。また、00044003h番目のクラスタのデータは全て必要なくなるので、00044003h番目のクラスタは未使用クラスタ(空きクラスタ)とするように、ゼロクリアする。
これにより、この例の場合には、FAT1のFATエントリにより、どのクラスタにおいて、どのような態様のデータの読み飛ばしが必要であるかが分かり、当該クラスタに対応するFAT2のFATエントリ(この中抜き処理の場合には当該FATエントリの下位2バイトのデータ)により、実際にクラスタのどの位置から当該クラスタの終端までデータを読み飛ばせばよいかが分かり、これに応じて、データの適正な読み飛ばし制御を行うことができるようにされる。
このように、ディレクトリエントリの更新と、FAT1への読み飛ばしの態様を示すデータの付加と、FAT2へのどれ位データを読み飛ばすかを示すデータの付加とを行うことにより、ハードディスク33に記録されているファイル4について、データを移動したりコピーしたりするなどのことなく、ファイル4の中間の一部分のデータを削除するようにして、新たなファイル4を形成することができるようにしている。
なお、このファイルの部分削除処理、ファイルの中抜き処理においても、終了の位置を示す情報X1、開始の位置を示す情報X2は、データの読み飛ばしが発生するクラスタの先頭からのデータ量で示すようにしている。また、この実施の形態において、1クラスタは、32KBであるので、情報X1、X2が取り得る値は、1〜65である。
これら、FAT1、FAT2に付加するようにされる編集の態様に関する情報と、ディレクトリエントリとによって、元のファイルについて、実際にデータの移動やコピーを行うことなく、ファイルの部分削除や中抜きといった編集を行うようにすることができる。そして、この実施の形態のデジタルビデオカメラにおいて、ハードディスク33に記録されているファイルの編集は、操作入力部31を通じて受け付けたユーザーからの指示に応じて、制御部20がハードディスクドライブ32を制御することにより行われる。
また、この例においては、中抜きされて接続される2つのクラスタのうち、前のクラスタである00044002h番目のクラスタにおいて後半部分の読み飛ばしが発生し、後のクラスタである00044004h番目のクラスタにおいては読み飛ばしが発生しない場合であった。しかし、中抜きされて接続される2つのクラスタの双方において読み飛ばしが必要になる場合も発生する。
この場合、前のクラスタに対応するFAT1の情報には、後半部分の読み飛ばしが必要であることを示す情報「2h」を付加し、これに対応するFAT2の情報にはその読み飛ばしのデータ量を示す情報を付加するようにするとともに、後のクラスタに対応するFAT1の情報には、前半部分の読み飛ばしが必要であることを示す情報「1h」を付加し、これに対応するFAT2の情報にはその読み飛ばしのデータ量を示す情報を付加するようにすることによって、接続部分の2つのクラスタの双方において読み飛ばしを行うようにすることが可能である。
もちろん、前のクラスタに対応するFAT1の情報には、開始クラスタである場合には前半部分の読み飛ばしが、終了クラスタの場合には後半部分の読み飛ばしが必要であることを示す情報「3h」を付加し、これに対応するFAT2の情報にはその読み飛ばしのデータ量を示す情報を付加するようにするとともに、後のクラスタに対応するFAT1の情報には、同じく、開始クラスタである場合には前半部分の読み飛ばしが、終了クラスタの場合には後半部分の読み飛ばしが必要であることを示す情報「3h」を付加し、これに対応するFAT2の情報にはその読み飛ばしのデータ量を示す情報を付加するようにすることによって、接続部分の2つのクラスタの双方において読み飛ばしを行うようにすることが可能である。
この場合には、接続部分の前のクラスタを終了クラスタとみなし、後のクラスタを開始クラスタとみなすようにすればよい。具体的には、FAT1の情報の先頭に「3h」を有するクラスタが2つ連続した場合に、前のクラスタを終了クラスタと、後のクラスタを開始クラスタとみなすようにすることによって対応することができる。
[デジタルビデオカメラの部分削除処理時、中抜き処理時の動作について]
上述したこの実施の形態のデジタルビデオカメラにおける部分削除処理時、中抜き処理時の動作について、従来の部分削除処理時、中抜き処理時の動作と対比しながら説明する。図20は部分削除処理時の動作を、図21は、中抜き処理時の動作を説明するためのものである。
まず、図20を参照しながら、図16、図17を用いて説明したように、ファイル3の先頭部分を削除し、新しいファイル3を形成する場合の動作について説明する。図20において、図20Aは、従来方式によるファイルの部分削除処理を説明するためのフローチャートであり、図20Bはハードディスクにおける部分削除処理前のファイルの状態を、図20Cは、ハードディスクにおける従来方式による部分部削除処理後のファイルの状態を、それぞれ示すものである。
また、図20において、図20Dは、この発明にかかる方式によるファイルの部分削除処理を説明するためのフローチャートであり、図20Eはハードディスクにおける部分削除処理前のファイルの状態を、図20Fは、ハードディスクにおけるこの発明にかかる方式による部分削除処理後のファイルの状態を、それぞれ示すものである。
図20Bに示すように、ハードディスクに存在するファイル3の先頭部分の例えば50KB分を削除し、残りの部分を新たなファイル3(新ファイル3)とする場合の従来の編集方式について考える。この場合には、まず、新ファイル3の内容を旧ファイル3の先頭から再配置を開始するようにし、先頭の50KB分のデータを除いたデータのみからなる新ファイル3を形成するようにする(ステップS61)。
この後、再配置した結果、使用されなかった部分、すなわち元のファイル3の先頭50KB分についてのFAT情報をクリアし(ステップS62)、新ファイル3のディレクトリエントリのサイズなどを編集して(ステップS63)、ファイルの部分削除処理を終了する。これにより、図20Cに示すように、元のファイル3からその先頭50KB分のデータが削除された新ファイル3が形成される。
この従来方式の場合には、図20Bと図20Cとを比較すると分かるように、編集後の新ファイル3においては、元のファイル3の先頭50KB分のデータは物理的に存在しなくなる。そして、この従来方式の場合には、ステップS61のデータの再配置処理が行われるため、全体として非効率な処理となっている。
これに対し、この発明の方式の場合には、図20Eのようにディスク上に存在するファイル3の先頭50KB分のデータを削除し、新たなファイル3(新ファイル3)とする場合には、まず、削除される先頭50KB分のデータのFAT情報をクリアし(ステップS71)、ファイル3の開始クラスタを編集する(ステップS72)。このステップS72の処理が、FAT1の該当部分にどのような読み飛ばしを行うかの情報を付加したり、FAT2の該当部分に読み飛ばしのデータ量を示す情報を付加したりするなどの処理となる。
そして、ファイル3のディレクトリエントリのサイズなどを編集して(ステップS73)、ファイルの部分削除処理を終了する。
この発明にかかる方式の場合には、図20E、図20Fを比較すると分かるように、元のファイル3のうちの必要なデータについては、移動したりコピーしたりするなどの再配置、すなわち物理的な移動は全く行うことなく、不要となったデータ部分のみを削除していることがわかる。この場合、不要となって削除したデータ部分は空き領域となり、再使用が可能となる。
この発明にかかる方式の場合には、FATとディレクトリエントリの編集を行うのみで、データの再配置を行うことはないので、効率的に部分削除を行うことができる。そして、必要なデータとして残すデータ部分については、なんらの変更も生じないので、データの信頼性も高く確保することができる。
次に、図21を参照しながら、図18、図19を用いて説明したように、ファイル4の中間部分のデータを削除して新たなファイル4(新ファイル4)を形成するファイルの中抜き処理を行う場合の動作について説明する。図21において、図21Aは、従来方式によるファイルの中抜き処理を説明するためのフローチャートであり、図21Bはハードディスクにおける中抜き処理前のファイルの状態を、図21Cは、ハードディスクにおける従来方式による中抜き処理後のファイルの状態を、それぞれ示すものである。
また、図21において、図21Dは、この発明にかかる方式によるファイルの中抜き処理を説明するためのフローチャートであり、図21Eはハードディスクにおける中抜き処理前のファイルの状態を、図21Fは、ハードディスクにおけるこの発明にかかる方式による中抜き処理後のファイルの状態を、それぞれ示すものである。
図21Bに示すように、ハードディスクに存在するファイル4について、その先頭から数えて50KBから96KBまでの46KB分のデータ、すなわち、ファイル4の中間部分のデータを削除し、残りの部分を新たなファイル4(新ファイル4)とする場合の従来の編集方式について考える。この場合には、まず、新ファイル4の内容を旧ファイル3の先頭から再配置を開始するようにし、中間部分の46KB分のデータを除いたデータのみからなる新ファイル4を形成するようにする(ステップS81)。
この後、再配置した結果、使用されなかった部分、すなわち元のファイル4の中間部分46KB分についてのFAT情報をクリアし(ステップS82)、新ファイル4のディレクトリエントリのサイズなどを編集して(ステップS83)、ファイルの中抜き処理を終了する。これにより、図21Cに示すように、元のファイル4からその中間部分46KB分のデータが削除された新ファイル4が形成される。
この従来方式の場合には、図21Bと図21Cとを比較すると分かるように、編集後の新ファイル4においては、元のファイル4の中間部分46KB分のデータは物理的に存在しなくなる。そして、この従来方式の場合には、ステップS81のデータの再配置処理が行われるため、全体として非効率な処理となっている。
これに対し、この発明の方式の場合には、図21Eのようにディスク上に存在するファイル4について、その先頭から数えて50KBから96KBまでの46KB分のデータ、すなわち、ファイル4の中間部分のデータを削除し、残りの部分を新たなファイル4(新ファイル4)とする場合、中抜きされる直前のクラスタから中抜きされる直後のクラスタに続くように、ファイル4についてのFAT情報を編集する(ステップS91)。
このステップS92の処理が、FAT1の該当部分にどのような読み飛ばしを行うかの情報を付加したり、FAT2の該当部分に読み飛ばしのデータ量を示す情報を付加したりするなどの処理となる。そして、ファイル4のディレクトリエントリのサイズなどを編集して(ステップS93)、ファイルの中抜き処理を終了する。
この発明にかかる方式の場合には、図20を用いて説明した部分削除処理の場合と同様に、図21E、図21Fを比較すると分かるように、元のファイル4のうちの必要なデータについては、移動したりコピーしたりするなどの再配置、すなわち物理的な移動は全く行うことなく、不要となったデータ部分のみを削除していることがわかる。この場合、不要となって削除したデータ部分は空き領域となり、再使用が可能となる。
また、この発明にかかる方式の場合には、FATとディレクトリエントリの編集を行うのみで、データの再配置を行うことはないので、効率的に部分削除を行うことができる。そして、必要なデータとして残すデータ部分については、なんらの変更も生じないので、データの信頼性も高く確保することができる。
[ファイルの後尾部分の部分削除について]
上述したファイルの部分削除は、ファイルの先頭部分を削除する場合を例にして説明したが、もちろん、ファイルの後尾部分の部分削除をファイルの先頭部分の部分削除と同様にして行うことが可能である。ここでは、ファイルの後尾部分の部分削除とファイルの先頭部分の部分削除とを組み合わせて、ファイルの中間部分のデータを残して新たなファイルに編集する場合について説明する。
図22、図23は、ファイルの後尾部分の部分削除とファイルの先頭部分の部分削除とを組み合わせたファイルの両端の部分削除を行うことにより、ファイルの中間部分のデータを残して新たなファイルを形成する場合の編集処理を説明するための図である。なお、図22、図23において、8桁の数字は16進数表現されたものである。
ここでは、図22Aに示すファイル5の先頭部分と後尾部分とを削除し、ファイル5の中間部分のみからなる新たなファイル5(新ファイル5)を形成する場合を例にして説明する。この例においても、図22Aに示すように、1クラスタのサイズ(クラスタサイズ)は32KB(キロバイト)であるものとして説明する。
この例の場合、ファイル5のディレクトリエントリの情報から、図22Bに示すように、ファイル5の開始クラスタ番号は00055001hであり、ファイルサイズは256KBであることが分かっている。そして、この実施の形態においては、上述もしたように、クラスタサイズは32KBであるので、図22Aに示したように、ファイル5は8つのクラスタから構成されている。
そして、ディレクトリエントリの情報から把握されるファイル5の開始クラスタを始点として、FAT1において、ファイル5のクラスタの連鎖をたどれば、図22Cに示すように、ファイル5を構成するクラスタをたどることができる。この場合、ファイル5の最終クラスタ(End OF File)は、00055008hである。
そして、図22を用いて説明したようにハードディスク33に形成されているファイル5の先頭から50KB分のデータと、最後尾部分の50KB分のデータとを削除し、図23Aに示すように、部分削除処理後のファイルを新たなファイル5とする。この場合、図22Bに示すように、新たなファイル5のディレクトリエントリにおいて、元のファイル3の先頭から50KB分のデータが削除されることにより、開始クラスタ番号は00055002hとなり、最終クラスタ番号は00055007hとなり、ファイルサイズは256KBから156KBに変更されることになる。
さらに、データ削除後のファイル5の開始クラスタにおいては、その先頭から18KB分の領域は削除データ部分に相当するので、読み飛ばしが必要になる。また、データ削除後のファイル5の開始クラスタにおいては、その先頭から14KB分の領域以降の18KB分の領域は削除データ部分に相当するので、読み飛ばしが必要になる。
このため、図17Cに示すように、部分削除後の新たなファイル5の開始クラスタに対応するFAT1のFATエントリに対して、読み飛ばしの態様を示す情報を付加するとともに、部分削除後の新たなファイル5の終了クラスタに対応するFAT1のFATエントリに対して、読み飛ばしの態様を示す情報を付加する。
この例の場合には、図23Aにも示したように、部分削除後の開始クラスタにおいて、その先頭から18KB分を削除することになるので、開始クラスタ(00055002h)に対応するFAT1のFATエントリの最上位バイトに、データの読み飛ばしの態様を示す情報を付加するとともに、部分削除後の終了クラスタにおいて、その先頭から14KB分の領域以降のデータを削除することになるので、終了クラスタ(00055007h)に対応するFAT1のFATエントリの最上位バイトに、データの読み飛ばしの態様を示す情報を付加する。
この例の場合には、開始クラスタである00055002h番目のクラスタには、上述した「(1)目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにする。」ことを示す情報「1h」を、図23Cに示したように、開始クラスタである00055002h番目のクラスタに対応するFAT1のエントリの最上位バイトに付加する。
また、終了クラスタである00055007h番目のクラスタには、上述した「(2)目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。」ことを示す情報「2h」を、図23Cに示したように、終了クラスタである00033007h番目のクラスタに対応するFAT1のエントリの最上位バイトに付加する。これにより、FAT1のFATエントリを確認することより、どのクラスタで、どのような態様のデータの読み飛ばしが必要であるかを示すことが可能になる。
そして、データの読み飛ばしが必要なクラスタと読み飛ばしの態様とが分かっても、そのクラスタのどこからどこまでのデータを読み飛ばすのかを明確に示すことができなければ、不要なデータのみを適切に読み飛ばすことはできない。そこで、読み飛ばしの態様に応じて決まることになる読み飛ばしの開始あるいは終了の位置を示す情報を、データの読み飛ばしの発生するクラスタに対応するFAT2のFATエントリに付加する。
この図22、図23に示したファイルの両端の部分削除の例の場合、元のファイル5のファイルサイズは256KBであるので、このファイル5の先頭から50KBを削除した場合には、削除後のファイル5の開始クラスタにおいて、その先頭から18KB分は不要なデータということになる。また、このファイル5の最後尾部分の50KBを削除した場合には、削除後のファイル5の終了クラスタにおいて、その先頭から14KB分以降の18KB分は不要なデータということになる。
そこで、この例の場合には、図23Dに示したように、読み飛ばしの終了の位置X1を指示する情報として、18KBを示す値「4800h」を開始クラスタ「00055002h」に対応するFAT2のFATエントリの上位2バイトに記録するとともに、読み飛ばしの開始の位置X2を指示する情報として、14KBを示す値「3800h」を終了クラスタ「00055007h」に対応するFAT2のFATエントリの下位2バイトに記録する
なお、部分削除処理前のファイル5の開始クラスタ(00055001h)と、終了クラスタ(00055008h)とは、不要なデータが記録されたクラスタとなるので、この00055001hと00055008hのクラスタは未使用クラスタ(空きクラスタ)に戻すように、ゼロクリアする。
これにより、この例の場合には、FAT1のFATエントリにより、どのクラスタにおいて、どのような態様のデータの読み飛ばしが必要であるかが分かり、当該クラスタに対応するFAT2のFATエントリにより、実際にどこからどの位のデータを読み飛ばせばよいかが分かり、これに応じて、データの適正な読み飛ばし制御を行うことができるようにされる。
このように、ディレクトリエントリの更新と、FAT1への読み飛ばしの態様を示すデータの付加と、FAT2へのどれ位データを読み飛ばすかを示すデータの付加とを行うことにより、ハードディスク33に記録されているファイル5データを移動したりコピーしたりするいわゆるデータの再配置を行うことなく、ファイル5の両端部分を削除して新たなファイル5を形成することができる。
なお、この場合に、開始クラスタ(00055002h)と終了クラスタ(00055007h)とに対応するFAT1の最上位バイトに、「(3)目的クラスタが開始クラスタの場合には、当該目的クラスタの先頭から当該目的クラスタの目的位置までのデータの読み飛ばしを行うようにし、目的クラスタが最終クラスタである場合には、当該目的クラスタの目的位置から当該目的クラスタの終端までデータの読み飛ばしを行うようにする。」ことを示す情報「3h」を付加することによっても、同様に、ファイルの両端の部分削除を行うことができる。
このように、ファイルの両端部分を削除し、ファイルの中間部分のデータのみを残した新たなファイルを形成する場合にも、データの移動やコピーなどのデータ再配置処理をまったく行うことなく、FATの編集と、ディレクトリエントリの編集だけで、目的とするデータのみからなるファイルを形成(編集)することができる。
[ファイルの結合処理や中抜き処理に伴うシークのオーバーヘッドの問題について]
ところで、上述したこの発明により、ファイルの結合処理やファイルの中抜き処理を行うことにより、これら編集処理後のファイルのデータを読み出す場合に、読み取りヘッド(磁気ヘッド)のシーク時間が大きくなり、データの読み出しに時間がかかるなどの不都合を生じる場合が発生する可能性がある。このような場合には、この発明の編集方式を用いるよりも、従来の編集方式を用いた方がシーク時間を短縮できる場合もある。
例えば、図24に示すように、多数のファイル(ファイルa、b、c、d、…)が存在するなどして、ハードディスク33上の記録位置が離れているファイル1とファイル2とをこの発明の編集方式を用いて編集した場合、データの再配置は行わないためにファイル1とファイル2とのメディア上の位置は変わらない。したがって、ファイル1とファイル2とがメディア上で離れている場合には、ファイル1からファイル2への読み取りヘッドの移動(シーク)に時間がかかり、データの読み取りが途中で中断してしまうような状態を発生させることが考えられる。
同様に、図25に示すように、ファイルサイズの大きなファイル3の中間部分の比較的に多くのデータを中抜きした場合にも、データの再配置は行わないために中抜き後のファイルの前半部分と後半部分とのメディア上の位置は変わらず、当該前半部分から当該後半部分への読み取りヘッドの移動(シーク)に時間がかかり、データの読み取りが途中で中断してしまうような状態を発生させることが考えられる。
このように、1つのファイル内でメディア上の距離が隔たってしまうデータ領域が発生し、読み取りヘッドのシークに時間がかかってしまうような場合には、データの再配置を行ってファイルを編集する従来の編集方式を用いてファイルの結合処理や中抜き処理を行うようにしたほうが好ましい場合もある。
しかし、従来の編集方式の場合には、上述もしたように、データの再配置を行うために、メディア上に十分な連続する空き領域がなくてはならない。そこで、この発明のデジタルビデオカメラにおいては、ファイルの結合処理や中抜き処理を行う場合に、結合するファイルの距離や中抜き後に残った、離れた位置にあるデータ領域間の距離、さらには、メディア上の連続する空き領域をも考慮して、この発明の方式を用いてファイルの結合処理や中抜き処理を行うか、従来の編集方式でファイルの結合処理や中抜き処理を行うかを自動的に選択し、切り換えて用いることができるようにしている。
図26は、この実施の形態のデジタルビデオカメラにおいて行われるファイルの編集方式の選択処理を説明するためのフローチャートである。この図26に示すフローチャートの処理は、操作入力部31を通じて編集処理を行うことの指示入力を受け付けた場合に、制御部20において実行される。
編集処理を行うことの指示入力を受け付けると、制御部20は、まず、受け付けた指示入力は、どのような編集を行うことの指示入力であるかを判断する(ステップS101)。ステップS101の判断処理において、受け付けた指示入力が、ファイルの分割処理である場合またはファイルの部分削除処理である場合には、必要なデータ領域部分が大きく離れることはないので、上述したこの発明の編集方式を用いて、指示されたファイルの編集処理を実行し(ステップS102)、この図26に示す処理を終了する。
ステップS101の判断処理において、受け付けた指示入力が、ファイルの中抜き処理や結合処理である場合には、上述もしたように、必要なデータ領域部分が大きく離れる可能性があるので、ハードディスク33の情報を参照し、ハードディスク33の空き容量を把握する(ステップS103)。
そして、編集対象のファイルの情報を参照し、ステップS103において把握したハードディスク33の空き容量が、ファイルの中抜き処理や結合処理を行う従来の編集方式に従って行う場合に十分な連続する空き領域を確保することができるか否かを判断する(ステップS104)。すなわち、ステップS104の判断処理においては、中抜き処理や結合処理を行った場合に、編集後のファイルの容量以上の容量の連続した空き領域を確保できるか否かを判断する。
ステップS104の判断処理において、十分な連続する空き領域を確保することができないと判断したときには、従来の編集方式を用いては、中抜き処理や結合処理を行うことはできないので、この発明の変数方式を用いて、指示されたファイルの編集を実行するようにし(ステップS102)、この図26の処理を終了する。
また、ステップS104の判断処理において、十分な連続する空き領域を確保することができると判断したときには、中抜きされる、または、結合される距離を算出する(ステップS105)。このステップS105の処理においては、同一ファイルにも関わらず、メディア上の位置が離れるデータ領域間の距離を算出する。したがって、ファイルの中抜き処理の場合には、データが中抜きされることにより分断される前側のデータ領域の後尾から後側のデータ領域の先頭までの距離を算出することになるし、ファイル結合の場合には、結合される2つのファイル間の距離(前のファイルの後尾から後のファイルの先頭までの距離)を算出することになる。
そして、ステップS105において求めた距離が、予め決められた閾値Yよりも小さいか否かを判断する(ステップS106)。このステップS106において用いられる閾値Yは、これ以上、距離が大きくなった場合には、読み取りヘッドのシークに時間がかかり、読み取りに支障をきたす可能性のある距離とされる。
ステップS106の判断処理において、ステップS105で求めた距離が、閾値Yよりも小さいと判断した場合には、読み取りヘッドのシークに時間がかかることもないので、上述したこの発明の編集方式を用いて、指示されたファイルの編集処理を実行するようにし(ステップS102)、この図26に示す処理を終了する。
また、ステップS106の判断処理において、ステップS105で求めた距離が、閾値Y以上である判断した場合には、読み取りヘッドのシークに時間がかかる可能性があるので、上述もしたように、従来の編集方式を用いて、指示されたファイルの編集処理を実行するようにし(ステップS107)、この図26に示す処理を終了する。
このように、この発明の編集方式と従来の編集方式を使い分けることにより、この発明の編集方式を用いた場合であって、ファイルの中抜き処理やファイルの結合処理を行った場合にシークに時間がかかってしまう場合が発生することを防止し、効率よくアクセスすることが可能なように、ファイルの中抜き処理や結合処理を行うようにすることができる。
[MPEG(Motion Picture Expert Group)ストリームへの適用について]
例えば、図27に示すように、MPEG方式でデータ圧縮されて形成された画像データや音声データからなるMPEGストリームをメディアへファイルとして記録する場合にも、この発明を適用することができる。MPEGストリームは、図27(A)に示すように、データ圧縮されることにより、Iピクチャ、Bピクチャ、Pピクチャからなる15ピクチャ単位のGOP(Group Of Picture)単位に処理されることになる。
この場合、上述したような読み飛ばしを考慮しなくてもすむように、MPEGストリームは、例えば、図27(B)に示すように、パディングデータを挿入することによって各GOP内において、各GOPを構成するクラスタが完結するように(GOP間でクラスタがまたがることがないように)アライメントされているか、あるいは、図27(C)に示すように、GOP内においてデータ量を調整することによって、各GOPを構成するクラスタが完結するように(GOP間でクラスタがまたがることがないように)アライメントされているものとする。なお、このクラスタをアライメントする方法の詳細については、特開2004−079087号公報に開示されている。
そして、図27(B)、図27(C)のように、GOP内においてクラスタアライメントされたMPEGストリームであって、図28(A)に示すように、GOP1−1〜GOP1−5からなるファイル1およびGOP2−1〜GOP2−5からなるファイル2を結合して、GOP1−1〜GOP1−5およびGOP2−1〜GOP2−5からなる新ファイル1を形成する場合にも、上述したこの発明の編集方式により結合処理をすることができる。
この場合には、図13Dを用いて説明したように、ファイル1のFAT情報に、GOP2−1〜GOP2−5分のファイル2のFAT情報を追加し(ステップS21)、ファイル2のディレクトリエントリを削除し(ステップS23)、そして、ファイル1のディレクトリエントリのサイズなどを編集する(ステップS24)ことによって、図28(A)に示したようにGOP1−1〜GOP1−5およびGOP2−1〜GOP2−5からなる新ファイル1を形成することができる。
この場合、GOP単にクラスタアライメントされており、GOP単に処理されるので、クラスタにおける読み飛ばしは発生しない。このため、図13DにおけるステップS22の読み飛ばし処理は省略することができる。
同様に、図27(B)、図27(C)のように、GOP内においてクラスタアライメントされたMPEGストリームであって、図28(B)に示すようにGOP2−1〜GOP2−10からなるファイル2を分割して、GOP2−1〜GOP2−5からなるファイル2aと、GOP2−6〜GOP2−10からなるファイル2bとの2つのファイルを形成する場合にも、上述したこの発明の編集方式により分割処理をすることができる。
この場合には、図14Dを用いて説明したように、まず、元のファイル2のディレクトリエントリの名前(ファイル名)をファイル2aに変更する(ステップS41)。次に、制御部20は、ハードディスクドライブ32を制御して、ファイル2b用のディレクトリエントリを新たに作成する(ステップS42)。そして、ステップS41の処理で設けるようにしたファイル2a用のディレクトリエントリのファイルサイズやその他の情報を書き換えるなどの編集を行って、目的とするファイル2aに合致するディレクトリエントリを整える(ステップS43)。
これにより、図28(B)に示すように、ファイル2を分割して、ファイル2aとファイル2bとを形成することができる。この場合、GOP単にクラスタアライメントされており、GOP単に処理されるので、クラスタにおける読み飛ばしは発生しない。このため、図14DにおけるステップS44の読み飛ばし処理は省略することができる。
また、図27(B)、図27(C)のように、GOP内においてクラスタアライメントされたMPEGストリームであって、図29(A)に示すようにGOP3−1〜GOP3−10からなるファイル3の後尾部分を削除して、GOP3−1〜GOP3−5からなる新たなファイル3を形成したり、図29(A)に示すようにGOP3−1〜GOP3−10からなるファイル3の先頭部分を削除して、GOP3−6〜GOP3−10からなる新たなファイル3を形成したりする場合にも、上述したこの発明の編集方式により部分削除処理をすることができる。
この場合には、図20Dを用いて説明したように、まず、削除される部分のFAT情報をクリアし(ステップS71)、ファイル3のディレクトリエントリのサイズなどを編集することにより、GOP3−1〜GOP3−5からなる新たなファイル3を形成したり、GOP3−6〜GOP3−10からなる新たなファイル3を形成したりすることができる。
この場合においても、GOP単にクラスタアライメントされており、GOP単に処理されるので、クラスタにおける読み飛ばしは発生しない。このため、図20DにおけるステップS72の読み飛ばし処理は省略することができる。
また、図27(B)、図27(C)のように、GOP内においてクラスタアライメントされたMPEGストリームであって、図29(B)に示すようにGOP4−1〜GOP4−10からなるファイル4のGOP4−4〜GOP4−6を削除して、GOP4−1〜GOP3とGOP4−7〜GOP4−10からなる新たなファイル4を形成する場合にも、上述したこの発明の編集方式により中抜き処理をすることができる。
この場合には、図21Dを用いて説明したように、まず、中抜きされる直前のクラスタから中抜きされる直後のクラスタに続くようにFATを編集し(ステップS91)、中抜きされて削除される部分のFAT情報をクリアし(ステップS92)、ファイル4のディレクトリエントリのサイズなどを編集することにより、GOP4−1〜GOP3とGOP4−7〜GOP4−10からなる新たなファイル4を形成することができる。
この場合においても、GOP単にクラスタアライメントされており、GOP単に処理されるので、クラスタにおける読み飛ばしは発生しない。このため、図21DにおけるステップS71において、読み飛ばしのための処理を省略することができる。
このように、この発明は、GOP単位に処理されることになるMPEGストリームを編集する場合にも適用でき、効率的に種々の編集処理を行うことができる。しかも、この発明においては、データの移動やコピーなどのデータの再配置を伴う処理を一切行うことがないので、メディア上の空き領域を気にすることがなく、また、データの信頼性を高く確保することができる。
[AV管理情報の利用について]
ハードディスクなどの大容量記録媒体に対して、動画データ、静止画データ、音声データなどの種々の属性のデータを数多く記録して利用する場合に、それらのデータを効率よく管理し、効率よく利用できるようにするために、管理情報のみを別ファイルにまとめて一括管理することが考えられる。このようなファイルの管理情報のみを別ファイルにまとめて管理する機器やシステムにおいてもこの発明を適用することができる。
図30は、この一括管理方式の概要について説明するための図である。図30に示すように、記録媒体10には、AV(Audio/Visual)管理情報101、静止画ファイルA、静止画ファイルB、動画ファイルCが記録されているものとする。この一括管理方式の場合には、図30において、AV管理情報101が示すように、各画像データの管理情報は、画像データファイルA、B、Cとは別ファイルにおいて管理され、AV管理情報と画像データファイルとは予め決められるポインタによって結びつけられるようにしている。
図31は、AV管理情報の一例を説明するための図である。この例の場合には、AV管理情報は、タイトルファイル101aと、サムネイルファイル101bと、プロパティファイル101cとを含んでいる。これらの各ファイルには、ファイルとして記録されている画像データに対する種々の情報がエントリ情報(登録情報)として保持するようにされている。
タイトルファイル101aに登録されているタイトルエントリ0、1、2、…のそれぞれは、ファイルとして記憶されている画像データのそれぞれについてのコメント、メモ、注記などといった例えばユーザーにより入力するようにされたテキストデータを保持する。
また、サムネイルファイル101bに登録されているサムネイルエントリ0、1、2、…のそれぞれは、ファイルとして記憶されている画像データにより形成される画像の縮小画像データであり、1種類に限らず複数の縮小画像を持つようにすることも可能なものである。
また、プロパティファイル101cに登録されているプロパティエントリ0、1、2、…のそれぞれは、ファイルとして記憶されている画像データのそれぞれについての種々の管理情報を保持するものである。そして、各プロパティエントリのそれぞれには、図31において、プロパティエントリn部分に示したように、少なくとも、ファイルポインタPt、オリジナル記録ファイルフラグaa、撮影日時情報bb、修正日時情報ccが含まれるようにされる。
ファイルポインタPtは、当該プロパティエントリに対応する画像データファイルを特定するための情報である。また、オリジナル記録ファイルフラグaaは、この実施の形態のデジタルビデオカメラにおいて撮影されて記録媒体に記録された画像データか否かを示すものである。この例の場合、オリジナル記録ファイルフラグaaが、「1」の場合には、この実施の形態のデジタルビデオカメラにより撮影された画像データのファイルであることを示し、「0」の場合には、この実施の形態のデジタルビデオカメラにより撮影されたのではない画像データのファイルであることを示す。
また、撮影日時情報bbは、この実施の形態のデジタルビデオカメラにおいて撮影することにより取り込まれ、記録媒体に記録された画像データの撮影日時を示すものである。修正日時情報ccは、その画像データの修正処理が行われた日時を示すものである。しかし、後述もするが、外部から提供された画像データの場合には、修正日時情報ccは、その画像データをこのデジタルビデオカメラが取得した日時である取得日時を示すものとして用いるようにされる。
そして、画像データファイルや音声データファイルなどの各コンテンツファイル1つに対しては、AV管理情報として、タイトルエントリとサムネイルエントリとプロパティエントリとを設けることができるようにされる。各画像データファイルのそれぞれと、タイトルエントリ、サムネイルエントリとは、プロパティエントリを介して間接的に関連付けられている。
したがって、図31に示した例の場合には、静止画ファイルAに対しては、AV管理情報として、タイトルエントリn、サムネイルエントリn、プロパティエントリnが設けられ、静止画ファイルBに対しては、タイトルエントリ2、サムネイルエントリ2、プロパティエントリ2が設けられている。同様に、動画ファイルCに対しては、タイトルエントリn+1、サムネイルエントリn+1、プロパティエントリn+1が設けられている。
また、例えば、プロパティファイル101cには、再生順序などについての定義を記録しておくこともできるようにされ、アプリケーションにより、AV管理情報のプロパティファイル101cの内容が解釈され、定義された内容にしたがって、目的とする画像データや音声データを再生することができるようにされる。これにより、例えば、静止画を連続して再生するようにするスライドショー再生などもできるようにされる。
このように、記録媒体に記録した画像データや音声データについての管理情報を、画像データファイルや音声データファイルとは別個に設けることにより、画像データファイルや音声データファイルの検索やサーチの時間が格段に短縮することができるなどのメリットがある他、スライドショー再生など従来にない種々の態様で再生を行うようにするなどのこともできるようにされる。
したがって、例えば、撮影日時を検索キーとして、AV管理情報のプロパティファイルの情報を参照することにより、目的する静止画ファイルなどを迅速に見つけ出すことができる。また、予め決められた順番で、静止画データのスライドショー再生を行うようにする場合を考えると、上述したように、プロパティファイル101cの情報に基づいて目的とする静止画ファイルを迅速に特定することが可能である。
しかし、図30、図31に示したように、画像データファイルや音声データファイルなどに対してAV管理情報が設けられている場合には、これらのファイルを分割したり、編集したりする場合に、AV管理ファイルについては、作り直す必要が生じることになる。このような場合であっても、上述したように、ディレクトリエントリの情報と、FATの情報とを用いることによって、ファイルの結合や分割を行った場合には、実データの移動は発生しないので、元のディレクトリエントリやFATの情報、および、元のAV管理情報に基づいて、結合されて形成されたファイルのAV管理情報や分割されて形成されたAV管理情報を比較的に簡単に作成することができる。
すなわち、ファイルの編集に伴うAV管理ファイルの情報の追加、変更、削除は、上述した実施の形態のデジタルビデオカメラにおいて行われる編集時のディレクトリエントリの追加、変更、削除の場合と同様にして、既存の情報に基づいて、編集後のファイルについてのAV管理情報を形成することができる。この発明による方式を用いた場合には、図 13A、図14Aに示したような従来方式の編集を行うことにより、データの記録位置が変わり、ディレクトリエントリ、FAT、AV管理情報の全てを初めから作り直すようなことはなく、AV管理ファイルのような画像データファイルなどに付随する管理ファイルが存在する場合にもそれらの付随性、関連性を壊すことなく、容易に保つようにすることが可能になる。
なお、この発明は、上述もしたように、デジタルビデオカメラの主に制御部20の機能により実現されるものであり、その位置付けは、制御部20において動作するようにされるソフトウエアである「ファイルシステム」および「デバイスドライバ」に関連して動作するものである。
すなわち、図32に示すように、記録媒体(この実施の形態においては、ハードディスク33)に対してデータを記録したり、記録媒体に記録されているデータを読み出して利用したりする場合には、ユーザーとの窓口となるアプリケーションプログラム51の下層に記録媒体上のファイルを管理するためのファイルシステム(ファイル管理プログラム)52とファイルシステムからの情報に基づいて記録媒体を制御するデバイスドライバ53とが存在する。
そして、種々のデータを記録する場合には、ファイルシステム52、デバイスドライバ53の機能によりデータを書き込むことになるが、データの書き込み/読み出しを制御することになるファイルシステム52、デバイスドライバ53については変更することなく、そのまま利用するようにし、単に、ファイルシステムやデバイスドライバで作成され、管理するようにされる情報を更新したり、必要な情報を付加するようにしたりすることによって、データの移動やコピーなどの再配置を行うことのないファイルの非破壊的な編集(論理的な編集)を行うようにすることができる。
すなわち、本発明の実装については、ソフトウエアで実装可能であり、従来の技術と同様にして、ファイルシステム⇔デバイスドライバ⇔記録媒体(ハードディスク)といった構成で、ファイルシステムに対して、上述したように、データの再配置などを避けてクラスタ連鎖の連結・分割処理を行う、といった各処理を追加すればよいことになる。
なお、上述した実施の形態においては、デジタルビデオカメラの制御部20とハードディクスドライバ32とが協働することにより、付加手段、更新手段を実現するようにしており、主に制御部20の制御により、非破壊的な編集を実現するようにしている。
また、上述した実施の形態、例えばDVデータなどと呼ばれるヘッダやフッタの存在しないファイルの場合にはそのまま適用できる。しかし、ヘッダやフッタの付加されたファイルの場合には、ヘッダやフッタについての対処が必要になる。
そこで、分割の場合には、前段のファイルにはフッタを、後段のファイルにはヘッダを付加する必要が生じるが、この場合には、もともと同じファイルを分割したのであるから、それぞれに残存するヘッダやフッタを共有するようにしたり、あるいは、ヘッダやフッタを無視したりするようにすればよい。また、結合の場合には、前段のファイルのフッタと後段のファイルのヘッダは不要になるので、これを読み飛ばすようにすればよい。
また、編集後のファイルを外部に出力する場合には、必要に応じて、残存するヘッダやフッタの情報から新たなヘッダやフッタを形成し、これを付加して出力するようにしたり、結合により作成されたファイルの場合には、不要になったフッタやヘッダを削除したりしてから、外部に出力するようにすることもできる。これらのヘッダ、フッタにかかる処理についても、制御部20の機能により、あるいは、制御部20で実行されるプログラムにより実現することができる。
また、上述した実施の形態においては、記録媒体としてハードディスクを用いる場合を例に挙げて説明したが、これに限るものではない。例えば、MO(Magneto Optical disk)、PD(Phase change rewritable Disk)、Zip、SuperDisk、メモリーカード等、個々のファイルを管理するために、ディレクトリなどの詳細情報管理表とFATなどの記憶領域管理とを用いる種々の記録媒体を用いる場合にこの発明を適用することができる。
また、上述した実施の形態において、記録媒体に記録するデータは、動画データ、静止画データ、音楽などの音声データを記録する場合を例にして説明したが、これに限るものではない。例えば、テキストデータ、プログラムデータ、その他の種々のデータを記録する場合にもこの発明を適用することができる。
また、上述した実施の形態においては、ファイルシステムとしてFATを用いるものとして説明したが、これに限るものではない。FAT以外の種々のファイルシステムを用いる場合にこの発明を適用することができる。
また、上述の実施の形態においては、編集の態様に関する情報として、読み飛ばしの態様を示す情報をFAT1に付加し、読み飛ばしの開始あるいは終了の位置を示す情報をFAT2に付加するものとして説明したが、これに限るものではない。例えば、ディレクトリエントリの開始クラスタ番号欄の上位側のビットなどの通常時において有効な数字が入力されない部分に、読み飛ばしの態様を示す情報と読み飛ばしの開始あるいは終了の位置を示す情報とを分離可能なように付加し、これを用いて非破壊的な編集を行うようにすることも可能である。
また、上述した実施の形態においては、この発明をデジタルビデオカメラに適用した場合を例にして説明したが、これに限るものではない。例えば、ハードディスクドライブなどを記録装置として用いるパーソナルコンピュータ、ハードディスク装置、その他、ハードディスクやMOなどの記録媒体に対してデータを記録することが可能な電子機器にこの発明を適用することができる。
また、この発明をMPEGストリームの編集に適用できることを説明したが、この発明によって編集可能なデータは、MPEGストリームのほか、種々のデータ圧縮方式でデータ圧縮されたものや、データ圧縮されていないものなど、種々のデータが記録されたファイについて適用することが可能である。
11…光学レンズ部、12…光電変換部、13…カメラ機能制御部、14…画像信号処理部、15…LCD(Liquid Crystal Display)、16…画像入出力部、17…音声入出力部、18…音声信号処理部、19…通信部、20…制御部、21…CPU、22…ROM、23…RAM、24…EEPROM、31…操作入力部、32…ハードディスクドライブ(ハードディスク装置)、33…ハードディスク、34…メモリーカード