説明

ファイル記録装置およびその制御方法、プログラム、記憶媒体

【課題】装着された記録媒体の種別によらず、統一したDCFファイルの作成規則を有したディジタルカメラを提供する。
【解決手段】ファイル記録装置は、装着部に装着された記録媒体がライトワンス型記録媒体の場合には、新規にディレクトリを生成する場合に、あらかじめ決められた複数のクラスタを、当該ディレクトリに記録するファイルに対応したディレクトリエントリを記録するための領域に割り当てる。書き換え可能型記録媒体の場合には、新規にディレクトリを生成するときに、1つのクラスタを、当該ディレクトリに記録するファイルに対応したディレクトリエントリを記録するための領域に割り当てるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば画像ファイルを扱うデジタルカメラのように、データファイルを記録するためのファイルシステムを有するファイル記録装置およびその制御方法に関する。
【背景技術】
【0002】
従来CCDなどの固体撮像素子を用いて撮像した画像をデジタル画像に変換し、静止画像や動画像を固体メモリ素子を有するメモリカードに記録・再生するデジタルカメラが普及している。このようなデジタルカメラでは、撮像レンズを通過した被写体光束がCCD等の固体撮像素子に到達して形成される被写体像を電気信号に変換して画像信号として出力する。そして、固体撮像素子から出力された画像信号に画像処理回路内でさまざまな変換処理を施し、最終的にはメモリカード等の記録媒体に画像ファイルとして保存する。
【0003】
デジタルカメラの記録媒体上の画像ファイルを、FATファイルシステムを用いて管理する規格として、DCF(CIPA規格:Design rule for Camera File system)が現在広く用いられている。一般的にデジタルカメラではDCF規格に則り、ファイルを番号付きのファイル名で管理する。すなわち、記録媒体にあるディレクトリ名やファイル名は重複しない番号で管理され、記録順にファイル番号やディレクトリ番号を一つずつ増やしてファイル名やディレクトリを作成していく。DCF規格では、ディレクトリ名は xxxyyyy(xxx:100〜999 までの数値、y: 任意の文字)、ファイル名は YYYYXXXX(XXXX: 0001〜9999 までの数値、Y: 自由文字)から構成される。またDCF規格ではDCFファイル名と同一番号を持つDCFオブジェクトが定義されており、複数ファイルで1つのオブジェクトを構成する仕組みが用意されている。
【0004】
このようなDCF規格を記録媒体に記録する場合、DCFディレクトリ作成時にその中に格納されるファイル数を予測することが困難である。そこで通常の書き換え可能な記録媒体にDCFディレクトリを生成する場合、ディレクトリとして成立する最低限のクラスタ数(=1)を確保してディレクトリを生成する。このように最低限のクラスタ数(=1)で作成したディレクトリにDCFファイルのエントリ情報を追加し続けていき、エントリが1クラスタ内に確保できなくなったところで、新規にもう1クラスタをエントリに割り当てる方法でディレクトリを拡張していた。
【0005】
なお、一方のメディアに記録されているデータを他方のメディアにコピーするときに、コピー先のメディアにサブディレクトリを作成する技術に関し、コピー先メディアの残容量に応じてサブディレクトリのサイズを設定する技術が開示されている。(特許文献1を参照)
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平07−271638号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで近年FATファイルシステムを搭載したライトワンス型の記録媒体が開発されている。このライトワンス型の記録媒体は、データの書き込みが1度だけ可能であり、記録済データの変更や消去が出来ない。
【0008】
このライトワンス型の記録媒体を用いて前記DCFディレクトリを作成する場合、従来のようにディレクトリ拡張を行うときにFATのクラスタチェーンの情報を書き換えることが出来ない。つまり、ライトワンス型の記録媒体を用いる場合、ファイルを追加記録していき、ディレクトリエントリが1クラスタ内に確保できなくなったところで、新規にもう1クラスタを追加で割り当てる為のクラスタチェーンの更新が出来ない。そのため、ディレクトリ作成時に割り当てた1クラスタ分に割り当て可能な数しかDCFディレクトリ内にファイルを作成することができない。
【0009】
記録する画像ファイル等のデータファイルをディレクトリ単位に仕分ける手法は、画像ファイルの管理手段として有効である。この時ライトワンス型記録媒体使用時に、ディレクトリ内に格納できるファイル数が1つのクラスタサイズで制限されてしまうと、これまでよりはるかに多くのディレクトリが生成されることになり、画像管理上は不都合が生じる。さらに書き換え可能型の記録媒体と併用する場合、記録媒体毎に1ディレクトリ内に記録可能なファイル数が異なることとなり、同様に画像管理上の不都合が発生してしまう。
【0010】
本発明の課題は上記不都合を解消し、装着された記録媒体の種別等によらず統一したDCFファイルの作成規則を有したデジタルカメラを提供することである。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明のファイル記録装置は、FATファイルシステムを用いて、データファイルを記録媒体に記録するファイル記録装置であって、記録媒体を装着する装着部と、装着部に装着された記録媒体が、ライトワンス型記録媒体か、書き換え可能型記録媒体化を判定する判定手段と、判定手段によりライトワンス型記録媒体と判定した場合には、新規にディレクトリを生成する場合に、あらかじめ決められた複数のクラスタを、当該ディレクトリに記録するファイルに対応したエントリを記録するための領域に割り当て、判定手段により書き換え可能型記録媒体と判定した場合には、新規にディレクトリを生成する場合に、1つのクラスタを、当該ディレクトリに記録するファイルに対応したエントリを記録するための領域に割り当てるようにFATを記録する記録手段とを有することを特徴とする。
【発明の効果】
【0012】
本発明によれば、FATファイルシステムでファイルを記録する場合に、ライトワンス型の記録媒体を用いた場合に、書き換え可能型記録媒体を用いた場合のディレクトリ作成規則を保証することが可能になる。特に1つのディレクトリに記録可能なデータファイルの戸数に上限を設定してある場合には、ライトワンス型の記録媒体を用いた場合でも、書き換え可能型記録媒体を用いた場合と同じ上限値を適用することが可能になる。
【図面の簡単な説明】
【0013】
【図1】実施形態に係る画像記録装置全体のシステム構成を示す図である。
【図2】実施形態に係る画像記録装置の主処理動作を示すフローチャート図である。
【図3】実施形態に係る画像記録装置の新規記録可能判定処理動作を示すフローチャート図である。
【図4】実施形態に係る画像記録装置の撮影処理動作を示すフローチャート図である。
【図5】実施形態に係る画像記録装置の音声記録動作を示すフローチャート図である。
【図6】実施形態に係る画像記録装置に装填される記録媒体に記録されたディレクトリ構造を示す模式図である。
【図7】実施形態に係る画像記録装置に書き換え型記録媒体が装填された場合のディレクトリ作成を示す模式図である。
【図8】実施形態に係る画像記録装置にライトワンス型記録媒体が装填された場合のディレクトリ作成を示す模式図である。
【図9】実施形態に係る画像記録装置で、音声記録処理を行う場合のフロー図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の好適な実施形態を説明する。
【実施例1】
【0015】
図1は、本実施形態によるデジタルカメラ100の構成例を示すブロック図である。図1において、100はデジタルカメラである。21は撮影レンズからなる光学系である。22は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像部である。23はアナログ信号をデジタル信号に変換するA/D変換器であり、撮像部22から出力されるアナログ信号をデジタル信号に変換する場合に用いられる。
【0016】
31はマイクで、音声制御部32と接続され、音声制御部32の出力は前記A/D変換器23に入力され、アナログ信号がデジタル信号に変換される。
【0017】
12はタイミング発生部であり、撮像部22、A/D変換器23、D/A変換器13、音声制御部32にクロック信号や制御信号を供給する。タイミング発生部12はメモリ制御部15及びシステム制御部17により制御される。
【0018】
24は画像処理部であり、A/D変換器23からのデータ、又は、メモリ制御部15からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理等を行う。画像処理部24ではまた、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてシステム制御部17が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部24では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理といった現像処理も行っている。
【0019】
A/D変換器23からの出力データは、画像処理部24及びメモリ制御部15を介して、或いは、直接メモリ制御部15を介して、30のメモリに書き込まれる。メモリ30は、撮影した静止画像を格納するためのメモリである。
【0020】
16は圧縮・伸長部であり、適応離散コサイン変換(ADCT)等により画像データを非可逆な圧縮伸張や可逆な圧縮・伸張処理を行う。またシャッターボタン11の操作をトリガに、メモリ30に格納された撮影画像データを読み込んで圧縮処理を行い、処理を終えたデータをメモリ30に書き込む。圧縮・伸張部16によりメモリ30に書き込まれた画像データは、システム制御部17においてファイル化され、インタフェース18を介して記録媒体200に記録される。
【0021】
また、メモリ30は画像表示用のメモリを兼ねている。13はD/A変換器、14はLCD等からなる画像表示部であり、メモリ30に書き込まれた表示用の画像データはD/A変換器13を介して画像表示部14により表示される。
【0022】
17はデジタルカメラ100全体を制御するシステム制御部であり、29はシステム制御部17の動作用の定数、変数、プログラム等を記憶するシステムメモリである。
【0023】
11はシャッターボタンであり、第1シャッタースイッチSW1(10)と第2シャッタースイッチSW2(11)とを含む。
【0024】
25はユーザがデジタルカメラ100の記録画質を決定するための記録画質設定部であり、JPEG記録時の圧縮率や画像サイズを設定することが出来る。さらに記録画質設定部25は、A/D変換後メモリ30に保持された画像をそのまま記録するRAW記録モードや、映像と音声の記録を行う動画記録モード等の他の記録形式を記録するモードを設定することもできる。
【0025】
第1シャッタースイッチSW1(10)は、デジタルカメラ100に設けられたシャッターボタン61の操作途中(半押し)でONとなる。これによりデジタルカメラ100に対して、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の動作開始を指示する。
【0026】
第2シャッタースイッチSW2(11)は、シャッターボタン11の操作完了(全押し)でONとなる。これによりデジタルカメラ100に対して、撮像部22からの信号読み出しから記録媒体200に画像データを書き込むまでの一連の撮像処理の動作開始を指示する。
【0027】
録音ボタン(31)は、マイク31から入力される音声データを記録部19に記録するための指示部材である。システム制御部17は録音ボタン(31)からの録音開始指示を受け取り、記録部19に記録されたDCFオブジェクトの構成ファイルとして音声ファイルを生成する。
【0028】
20はファイル管理部で、圧縮・伸張部16で圧縮処理されメモリ30に保持された画像データを記録部19に記録する際のファイル化を行う。さらに、記録部19に記録されたディレクトリおよびファイルを解析して、前記ファイル化する際に用いるファイル名やディレクトリ名を決定する処理等を行う。そしてシステム制御部17は、ファイル管理部25で決定したファイル名やディレクトリ名を用いて、インタフェース18を介して記録媒体200に画像ファイル等のデータファイルを記録する。
【0029】
18はメモリカードやハードディスク等の記録媒体200とのインタフェースであり、25は該記録媒体200とインタフェース18との接続のためのコネクタである。28は記録媒体を装着する装着部として機能するコネクタ25に記録媒体200が装着されているか否かを検知する記録媒体着脱検知部である。
【0030】
200はメモリカードやハードディスク等の記録媒体である。記録媒体200は、半導体メモリや磁気ディスク等から構成される記録部19、デジタルカメラ100とのインタフェース27、及び記録媒体200とデジタルカメラ100とを接続するためのコネクタ26を備えている。
【0031】
続いて図6を用いてDCF規格に即したディレクトリ構造を説明する。記録部(19)はFATファイルシステムでフォーマットされたデータが記録されている。記録部(19)は、通常MBR(Master Boot Record)領域、BOOT セクタ領域、FAT(File Allocation Table)領域、ディレクトリエントリ領域、データ領域から構成されている。FATファイルシステムではディレクトリエントリおよびデータ領域はFATと呼ばれるクラスタの連結情報に基づいてデータの記録位置および空き容量が管理される。記録部(19)には図6のようなディレクトリ構造が記録されている。ルートディレクトリ(601:最上位ディレクトリ)にはDCIMディレクトリ(602)が記録される。DCIMディレクトリ(602)内には、XXXYYYYY (XXX: 0−9 数字で構成されるファイル番号, Y: 自由文字)で構成されるDCFディレクトリが記録される(603,604,605)。DCFディレクトリ100IMAGE(603)内には、DCF基本ファイルと呼ばれるJPEGファイルが記録される(606、608、610、611)。DCF基本ファイルは同一のファイル番号を有するファイルと共にDCFオブジェクトを構成する。例えば、DCF基本ファイルIMG_0002.JPG(608)はRAW画像ファイルIMG_0002.CR2(607)と共にDCFオブジェクトを構成することが可能である。同様にDCF基本ファイルIMG_0003.JPG(610)は動画記録されたファイルIMG_0003.MOV(609)と、DCFオブジェクトを構成することが可能である。さらに前記録音ボタン(31)からの指示による音声記録処理(S208)においてDCF基本ファイルIMG_0004.JPG(611)と音声ファイルIMG_0004.WAVとでDCFオブジェクトを構成することができる。
【0032】
本実施例記載のデジタルカメラでは1ディレクトリに記録可能なDCFオブジェクト数を2000と定めている。前述したようにDCFディレクトリ中にはDCFオブジェクトを構成することにより、1オブジェクト複数ファイル有することが可能であり、かつファイル番号仕様から9999オブジェクト所有することが可能である。一般に1つのディレクトリに格納されるファイル数が増えるとディレクトリサーチ処理に時間がかかる。ディレクトリサーチ処理に時間がかかると、後述する撮影画像に対しファイル名を生成する処理や、記録部19に記録された画像ファイルをメモリ30に読み込んで画像表示部14に表示する再生機能実行時の応答速度に影響が生じる。一般的にデジタルカメラではDCF規則とは別にデジタルカメラが1ディレクトリ中に生成可能なDCFオブジェクト数を制限することで、上記応答速度維持している。
【0033】
例えば、1つのディレクトリに2000枚の画像を記録するように設計したデジタルカメラを考える。そして、デジタルカメラ100ではDCFディレクトリ101IMAGE(604)内にIMG_0001.JPG(613)からIMG_2000.JPG(615)までの静止画が記録された状態で、次の撮影処理を行った場合を考える。すると、後述するディレクトリ新規作成機能を用いて新規のDCFディレクトリ102IMAGE(605)を作成し、そのディレクトリに新規ファイルIMG_0001.JPG(616)を作成し、記録部19に記録することになる。
【0034】
続いて図2を用いて本デジタルカメラの動作フローを説明する。電源ON(S201) するとシステム制御部(17)では、記録媒体200の初期化を行うとともに、記録媒体種別判定部(28)において記録媒体判定処理を実行する(S202)。記録媒体判定は、記録媒体からその種類情報を読み出し、記録媒体200の種別として読み込み専用のリードオンリー型記録媒体、ライトワンス型記録媒体、書き換え可能型記録媒体の種別判定を行う。さらに続けて、システム制御部(17)は、記録部19に記録されているFATデータを読み出し、空きクラスタ数を検索することで、空き容量の算出をおこなう。
【0035】
次にディレクトリ生成部(31)において新規記録判定処理(S203)を行う。新規記録判定処理の内容は、後述する。ここで新規記録不可と判断した場合、電源オフの指示待ち(S209)となる。新規記録判定(S203)の結果新規記録可と判断した場合(S204)、前述したシャッタースイッチSW2(11)押下指示に基づく撮影開始指示(S205)を受けると、図4を用いて後述する撮影処理(S206)を実行する。システム制御部17は録音ボタン(31)からの録音開始指示を受け取ると(S207)、図5を用いて後述する録音記録処理(S208)を実行する。システム制御部17は電源オフ指示を検出するまで(S209)上記処理を繰り返し、電源オフ指示を受け取ると(S209)、終了する(S210)。
【0036】
図3ではディレクトリ生成部(31)において実行される、新規記録可能判定処理(S203)の処理フローについて説明する。ディレクトリ生成部(31)ではシステムメモリ(29)に最大ディレクトリ番号(M)、新規ディレクトリ番号(M‘)、最大ファイル番号(m)、新規ファイル番号(m’)、ファイル数(fc)、記録部19に記録されたFATの空きクラスタ数を保持する。新規記録可能判定処理(S203)は処理開始時に新規ディレクトリ番号(M’)を0で初期化する(S301)。
【0037】
続いてルートディレクトリをサーチする(S302)。図6のようなディレクトリ構成の場合ルートディレクトリサーチ(S302)をすることで、DCIMディレクトリ(602)を検出することができる。ここでDCIMディレクトリが存在する場合(S303)、DCIMディレクトリサーチを行う(S304)。図6ではDCIMディレクトリ(602)をサーチすることで、DCFディレクトリ100IMAGE(603)、101IMAGE(604)、102IMAGE(605)を検出できる。ここでディレクトリ生成部31はDCIMディレクトリから検出したDCFディレクトリのうち最大ディレクトリ番号を有するディレクトリを特定し(S305)、そのディレクトリ番号を変数Mとしてシステムメモリ29に記憶する。図6の場合102IMAGE(605)が該当する。続いてディレクトリ生成部(31)は最大ディレクトリをサーチする(S306)。
【0038】
最大ディレクトリをサーチすることで、DCFオブジェクトを構成するファイルを列挙することが可能である。例えば102IMAGE(605)をサーチするとIMG_0001.JPG(616)を検出することができる。ここでディレクトリ中に格納されたDCFファイル数をfcという変数でシステムメモリ29に記憶するとともに、DCFオブジェクト数をOcという変数名で記憶する。図6の100IMAGEディレクトリ(603)が最大ディレクトリの場合、fcは7であるが、Ocは4となる。またこのときDCFファイルに記録されたファイル番号のうち最大ファイル番号をmという変数名でシステムメモリ29に記録する。続いて前述したファイル数(fc)の比較処理を行う(S310)。
【0039】
ここで比較対象となる数値は記録媒体判定処理(S202)で判定された記録媒体の種別に応じて変更することができる。本実施例のデジタルカメラでは最大ファイル数はライトワンス型記録媒体の場合上限値として2000を制限し、書き換え可能型記録媒体の場合ファイル数上限値を設けない。ファイル数(fc)が上限値より少ない場合(S310)、最大ファイル番号の次の番号(m+1)が作成可能な数値であるかの判断を行う(S311)。例えばm=9999の場合次の番号は生成できない。最大ファイル番号の次の番号(m+1)が生成可能な場合、現在の最大ディレクトリ番号(M)および最大ファイル番号(m)をシステムメモリ(29)に記録する。
【0040】
一方ファイル数(fc)が上限値以上の場合(本実施系では2000以上)新規ディレクトリに新規ファイルを作成可能するために、最大ディレクトリ番号(M)の次のディレクトリ(M+1)の作成可能判定(S313)を行う。次のディレクトリが作成可能な場合新規ディレクトリ番号(M‘)を現在の最大ディレクトリ番号(M)から1つ増やし(M=M+1)、新規作成ファイル番号(m‘)を1に設定する。続いて最大ディレクトリ番号(M)に対し次のディレクトリ番号が生成できない場合(S313)、最大ディレクトリ番号(M)および最大ファイル番号(m)に−1を設定する。記録部(19)にDCIMディレクトリが存在しない場合最大ディレクトリ番号(M)および最大ファイル番号(m)は共に0で設定する。この状態で最大ディレクトリ番号(M)および最大ファイル番号(m)をシステムメモリ(29)に記憶する(S312)。続いてシステムメモリ(29)に記憶された最大ファイル番号(M)および最大ファイル番号(m)がマイナスの場合(S317)、画像表示部(14)に「ファイル名が作れません」等の警告表示を行う(S318)。最大ファイル番号(M)および最大ファイル番号(m)が0以上の場合、新規記録可能判定処理(S203)を終了する(S319)。
【0041】
図4では本実施例を搭載したデジタルカメラ100の撮影処理(S206)について説明する。撮影処理を開始すると(S401)、システム制御部17は前記記録媒体判定処理(S202)で判定した記録媒体種別を参照する。書き換え可能型記録媒体の場合(S402)、シャッター開閉を伴う露光処理(S405)を行い、続いて撮像部22からメモリ(30)に読み出した画像の現像および圧縮処理(S406)を行い記録媒体(19)に記録できるデータ形式としてメモリ(30)に格納する。メモリ(30)に格納された記録前のデータは後述する記録処理(S407)を通して、記録部(19)に記録され、撮影処理(S206)を終了する。
【0042】
一方記録媒体判定処理(S202)においてライトワンス型記録媒体であると判断した場合(S402)、現在の撮影モード判定を行う(S403)。撮影モード判定では例えば、取り直し機能を有するような撮影モードでは、取り直し処理を記録部(19)に記録されたディレクトリエントリを書き換えることで実現する場合、ライトワンス型記録媒体ではこの書き換え処理ができないために実現できない機能となる。
【0043】
なお、RAWファイル記録時にJPEGファイルを同時に記録したり、動画記録と同時に静止画ファイルを同時に記録するような、一度に複数ファイルを記録するような記録モードを実行できないように制御している。
【0044】
なぜなら、1つのディレクトリに作成可能な上限数(例えば2000)を設定してあるが、一度に複数ファイルを記録するモードの場合には2000回の撮影よりも少ない回数で上限数2000に達してしまう。1階の撮影で高速連射画像を記録するようなモードの場合は、数回の撮影で2000枚を超えてしまう設計もあり、この様な場合にはディレクトリが過剰に生成されてしまう可能性がある。つまり、撮影時にさしあたり複数の画像を記録しておき、後に記録部(19)の書き換え処理を前提とした撮影モードは、ライトワンス型記録媒体のように書き換えが出来ないメディアを使用しているときには不向きである。このため、撮影モード判定(S403)でNG判定を行い、画像表示部(14)に「記録できません」等の警告表示(S404)を行い、撮影処理(S206)を終了する(S408)。
【0045】
続いて図5〜8を用いて記録処理(S407)について説明する。ここで図6では本画像記録装置を用いて記録媒体200に記録されるファイル構成を示す。
【0046】
記録処理を開始すると(S501)、システムメモリ(29)に記録された新規ディレクトリ番号(M‘)が0より大きいの場合、最大ファイル番号(m)を用いて新規ファイル名を作成する(S507)。ここで、新規ディレクトリ番号(M’)が0より以下の場合、記録媒体判定処理(S202)において判定した記録媒体(200)の種別を参照する。(S503)その結果、ライトワンス型記録媒体の場合(S505)、1ディレクトリに作成可能なファイル数上限値(本実施例では2000)と記録部(19)がフォーマットされているクラスタサイズ(CS)とファイルシステムで特定されるエントリサイズ(DS)を用いて新規に作成するディレクトリに必要なクラスタ数(NC)を以下の式を用いて算出する(S505)。なお1つのファイルに対応するエントリサイズDSは32byteの場合を想定する。
NC=ROUNDUP(2000/(CS/DS))。
【0047】
このときのFAT構成を図8に示す。クラスタサイズCS=16KBでのFATファイルシステムの場合、1ディレクトリに2000ファイル作成するには、NC=4が必要となり、0x0Bクラスタから0x0Eクラスタまでの連続4クラスタをFAT上に確保するようにFATを記録する(801)。このように、1つのディレクトリに記録可能なファイルの最大数に基づく複数のクラスタを一括してFATに確保するためのクラスタチェーンの情報を記録する。
【0048】
なお、1つのディレクトリに記録可能なファイルの最大数は上記の2000に限定されるものではなく、設計や規格の都合などにより適宜変更可能である。また、記録媒体のクラスタサイズやエントリサイズに応じて、新規にディレクトリを作成するときに確保すべきクラスタの数も変更しなければならないことは言うまでもない。
【0049】
一方記録媒体(200)が書き換え可能型記録媒体である場合、新規に作成するディレクトリのクラスタ数として1クラスタを確保する(S504)。クラスタサイズ16KBでFATファイルシステムの場合、“.”と“..”ディレクトリ用に2エントリ消費するため、S504にて確保したディレクトリエントリで作成可能なファイル数は510個となる。
【0050】
このときのFAT構成を図7に示す。この場合0xBの1クラスタのみが確保される(701)。
【0051】
上記記録媒体(200)の種別により確保したクラスタ数をもってディレクトリを作成する(S506)。続いて現像処理(S406)によって作成された撮影画像データのファイル名を最大ファイル番号mを用いて作成する(S507)。
【0052】
次に記録媒体判定処理(S202)で記録媒体(200)がライトワンス型記録媒体の場合、ファイルエントリを作成するためのエントリ領域はステップ505の計算において確保される。そして新規に作成したファイル名を用いてファイル記録を行い(S512)終了する(S513)。一方書き換え可能型記録媒体の場合(S508)、新規ファイルを新クラスタに記録する必要があると判断した場合(S509)、追加するクラスタとしてクラスタ数を1と設定し(S510)、ディレクトリを拡張する(S511)。 “/DCIM/101IMAGE/IMG_0511.JPG”を作成する場合を例に説明する。直前に記録媒体200に記録した“IMG_0510.JPG”に対応するエントリはクラスタ0x0208まで消費し、そのディレクトリエントリでS504で確保したクラスタ(0x0B)を消費してしまう。そこで“IMG_0511.JPG”ファイルを作成するためには新たにディレクトリ用のクラスタを割り当てる必要がある。ファイル管理部20はFATの空きクラスタの中から最小番号の0x0209クラスタを用いてこのディレクトリ拡張(S511)を行う。このとき0x0Bクラスタの終端コード0xFFFFを新規に割り当てられた0x0209クラスタ番号に書き換えてFATのクラスタチェーンを更新する。拡張用に割り当てられるクラスタ数はS510にて1と決定するため0x0209クラスタは終端コード0xFFFFで記録されFATは702の状態になるように記録する。このまま割り当てられた0x0209クラスタを用いて“IMG_1022.JPG”まで記録し、クラスタを0x0406まで消費したとする。この状態で“IMG_1023.JPG”を記録する場合も同様にS510にて0x0209クラスタの終端コードを0x0407に変更し、0x0407クラスタに対し終端コードを記録することでディレクトリを拡張する(703)。さらに静止画記録を継続し、“IMG_1533.JPG”を作成する際に再度ディレクトリが0x0605クラスタを用いてディレクトリ拡張を行う(704)。このように記録媒体200が書き換え可能型記録媒体の場合、ディレクトリ拡張時に必要なクラスタを1つずつ消費することで101IMAGEディレクトリに2000ファイルを作成することを可能とし、かつクラスタの消費を最小限に抑制することが可能である。
【0053】
一方記録媒体200がライトワンス型記録媒体の場合、上記FAT上のクラスタ書き換え処理が行うことができず、事前に撮影可能枚数に応じた複数のクラスタをディレクトリ作成時に確保する。
【0054】
新ファイルをディレクトリ拡張を伴わず記録可能な場合(S509)、そのままメモリ(30)に格納してある画像データのファイル記録(S512)し、本記録処理を終了する(S513)。
【0055】
上記の実施例では画像ファイルを扱うデジタルカメラで説明したが、FATを扱うファイルシステムであれば、画像ファイル以外のデータファイルを扱うファイル記録装置に適用可能である。
【0056】
特に、1つのディレクトリに記録するファイルの数に上限数を設けてある装置において、書き換え可能型記録媒体を使用する場合に1つのディレクトリに記録可能な不データファイルの上限数を保証することも出来る。
【0057】
図9は録音ボタン(31)を用いて音声記録処理(S208)を行う場合のフローを示している。音声記録処理(S208)を実行するとDCFディレクトリ内のファイル数を保証することができなくなることから、ライトワンス型記録媒体(S502)では音声記録を制限する。このとき画像表示部(14)に「記録できません」等の警告表示を行う(S506)。一方書き換え可能型記録媒体の場合、最大ディレクトリ番号(M)および最大ファイル番号(m)を用いて音声記録用ファイル名を生成し(S503)、録音終了まで(S505)、音声を記録する(S504)。録音終了指示を受け取ったところで録音処理を終了する(S507)。
【0058】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0059】
またコンピュータ可読の記憶媒体から読み出されたプログラムコードが前述した実施の形態の機能を実現することにより、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。

【特許請求の範囲】
【請求項1】
FATファイルシステムを用いて、データファイルを記録媒体に記録するファイル記録装置であって、
前記記録媒体を装着する装着部と、
前記装着部に装着された前記記録媒体が、ライトワンス型記録媒体か、書き換え可能型記録媒体かを判定する判定手段と、
前記判定手段によりライトワンス型記録媒体と判定した場合には、新規にディレクトリを生成する場合に、あらかじめ決められた複数のクラスタを、当該ディレクトリに記録するファイルに対応したエントリを記録するための領域に割り当て、前記判定手段により書き換え可能型記録媒体と判定した場合には、新規にディレクトリを生成する場合に、1つのクラスタを、当該ディレクトリに記録するファイルに対応したエントリを記録するための領域に割り当てるようにFATを記録する記録手段とを有することを特徴とするファイル記録装置。
【請求項2】
前記判定手段により書き換え可能型記録媒体と判定した場合には、前記記録手段は、記録するデータファイルの追加に伴い、前記ディレクトリに割り当て済みのクラスタに対して新たなクラスタを追加するようにFATを更新することを特徴とする請求項1に記載のデータ記録装置。
【請求項3】
1つのディレクトリに記録可能なデータファイルの数には上限数が定められており、前記判定手段によりライトワンス型記録媒体と判定した場合には、当該上限数のデータファイルを記録可能なように、新規にディレクトリを生成する場合のクラスタ数を設定することを特徴とする請求項1または2に記載のデータ記録装置。
【請求項4】
前記データ記録装置はデジタルカメラであり、
前記判定手段によりライトワンス型記録媒体と判定した場合には、1度の撮影で複数の画像ファイルを生成して記録媒体に記録する撮影モードでの撮影が出来ないように制御する制御手段をさらに有することを特徴とする請求項1〜3のいずれか1項に記載のファイル記録装置。
【請求項5】
前記記録媒体を装着する装着部を有し、FATファイルシステムを用いて、データファイルを記録媒体に記録するファイル記録装置の制御方法であって、
前記装着部に装着された前記記録媒体が、ライトワンス型記録媒体か、書き換え可能型記録媒体化を判定する判定工程と、
前記判定工程によりライトワンス型記録媒体と判定した場合には、新規にディレクトリを生成する場合に、あらかじめ決められた複数のクラスタを、当該ディレクトリに記録するファイルに対応したエントリを記録するための領域に割り当て、前記判定工程により書き換え可能型記録媒体と判定した場合には、新規にディレクトリを生成する場合に、1つのクラスタを、当該ディレクトリに記録するファイルに対応したエントリを記録するための領域に割り当てるようにFATを記録する記録工程とを有することを特徴とするファイル記録装置の制御方法。
【請求項6】
コンピュータに読み込まれて実行することにより、FATファイルシステムを用いて、データファイルを記録媒体に記録するファイル記録方法を実行するプログラムであって、当該ファイル記録方法は、
データファイルが記録される記録媒体が、ライトワンス型記録媒体か、書き換え可能型記録媒体化を判定する判定工程と、
前記判定工程によりライトワンス型記録媒体と判定した場合には、新規にディレクトリを生成する場合に、あらかじめ決められた複数のクラスタを、当該ディレクトリに記録するファイルに対応したエントリを記録するための領域に割り当て、前記判定工程により書き換え可能型記録媒体と判定した場合には、新規にディレクトリを生成する場合に、1つのクラスタを、当該ディレクトリに記録するファイルに対応したエントリを記録するための領域に割り当てるようにFATを記録する記録工程とを有することを特徴とするプログラム。
【請求項7】
請求項6に記載のプログラムを格納するコンピュータ可読の記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate