説明

記録制御装置

【課題】ライトワンス型の記憶媒体に記録されるファイルのファイル情報を記録する領域を、予め設定されたファイル数のファイル情報サイズ分確保する記録制御装置を提供する。
【解決手段】クラスタ単位に管理されたデータ記憶領域を備え、前記データ記憶領域の容量に関する記憶容量情報を記憶するライトワンス型の記憶媒体30の前記データ記憶領域に各ファイル及び当該ファイルのファイル情報を記録する記録制御部10と、前記記憶媒体30から前記記憶容量情報を取得する取得部10と、設定されたファイル数、前記ファイル情報のサイズ、及び前記記憶容量情報を用いて、前記ファイル数分の前記ファイル情報を前記データ記憶領域に記録するために必要なクラスタ数を算出する算出部10と、前記ファイル情報の記憶領域を設定する際に、前記算出部10により算出されたクラスタ数分の前記データ記憶領域を前記ファイル情報の記録領域として前記記憶媒体30に設定する設定部10とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ライトワンス型の記憶媒体にデータを記録する記録制御装置に関する。
【背景技術】
【0002】
従来、メモリーカードやメモリスティック等の記憶媒体を装着可能なデジタルカメラ等の機器が普及している。このような記憶媒体の種類には、書き換え可能な記憶媒体、1度だけ書き込み可能なライトワンス型記憶媒体等がある。尚、下記の特許文献1及び特許文献2には、ライトワンス型の記憶媒体のファイル管理技術が開示されている。
【特許文献1】特開2007−18528号公報
【特許文献2】特開2003−196142号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、上述のメモリーカード等の記憶媒体は、FAT(File Allocation Tables)ファイルシステムを適用してフォーマットされていることが多い。FATファイルシステムは、クラスタ単位の各データ記憶領域に対応するFATエントリで構成されたFAT、ルートディレクトリ、サブディレクトリ及びサブディレクトリのディレクトリエントリ領域情報、サブディレクトリに記録されるファイルのファイル情報を保持している。
【0004】
ディレクトリエントリ領域は、サブディレクトリの生成時に割り当てられたデータ記憶領域の所定クラスタであり、そのサブディレクトリに記憶されるファイルのファイル名とファイルが記憶されているクラスタの情報を含むファイル情報を記憶しており、ファイルが記憶される毎に例えば32バイトのファイル情報が記憶される。
【0005】
FATエントリは、データの読み出し順序を示すクラスタ番号又はデータの読み出し終了を示す終端記号を記憶し、データ記憶領域に記憶される画像や音声等のファイルデータ、ファイル情報等のリンク情報を保持している。
【0006】
PCやデジタルカメラ等の機器は、このようなFATファイルシステムが適用された記憶媒体にファイルを記録する場合、ファイルを記録する毎に、ディレクトリエントリ領域に各ファイルのファイル情報を順次書き込むことになるが、ディレクトリエントリ領域としてサブディレクトリ生成時に設定したクラスタの記憶容量が足りなくなった場合には、ファイル情報を記録するための新たなクラスタを確保し、そのクラスタと新たに確保したクラスタのFATエントリを書き換えれば、サブディレクトリ生成時に設定したディレクトリエントリ領域を拡張して、新たに確保したクラスタのデータ記憶領域にファイル情報を書き込むことができる。
【0007】
しかしながら、ライトワンス型の記憶媒体の場合には、サブディレクトリ生成時にサブディレクトリエントリ領域として設定したクラスタの容量が足りなくなったとしても、そのクラスタのFATエントリを書き換えることができない。従って、サブディレクトリ生成時に設定したディレクトリエントリ領域を拡張してファイル情報を書き込むことができず、同じサブディレクトリにファイルを記録することができないという問題が生じる。つまり、1つのディレクトリに記録できるファイル数がメモリーカードに設定されているクラスタサイズによって左右されるという問題が生じる。
【0008】
本発明は、ライトワンス型の記憶媒体に記録されるファイルのファイル情報を記録する領域を、予め設定されたファイル数のファイル情報サイズ分確保する記録制御装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の記録制御装置は、クラスタ単位に管理されたデータ記憶領域を備え、前記データ記憶領域の容量に関する記憶容量情報を記憶するライトワンス型の記憶媒体の前記データ記憶領域に各ファイル及び当該ファイルのファイル情報を記録する記録制御部と、前記記憶媒体から前記記憶容量情報を取得する取得部と、設定されたファイル数、前記ファイル情報のサイズ、及び前記記憶容量情報を用いて、前記ファイル数分の前記ファイル情報を前記データ記憶領域に記録するために必要なクラスタ数を算出する算出部と、前記ファイル情報の記憶領域を設定する際に、前記算出部により算出されたクラスタ数分の前記データ記憶領域を前記ファイル情報の記録領域として前記記憶媒体に設定する設定部とを備える。
【発明の効果】
【0010】
本発明によれば、ライトワンス型の記憶媒体に記録されるファイルのファイル情報を記録する領域を、予め設定されたファイル数のファイル情報サイズ分確保する記録制御装置を提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施形態に係る記録制御装置を含むカメラについて説明する。図1は、本実施形態のカメラの構成を示すブロック図である。同図に示す様に、カメラ1は、撮影レンズ11、CCD12、CCDドライバ13、プリプロセス回路14、A/D変換回路15、ASIC(Application Specific Integrated Circuit)16、メモリ17、カラーモニタ18、操作部19、メモリーカードI/F20、外部I/F21、及びCPU10を備えて構成されている。
【0012】
CCD12は、撮影レンズ11を介した被写体光を撮像して被写体の明るさに応じた電荷を蓄積し、CCDドライバ13の制御の下、蓄積した電荷のアナログ信号をプリプロセス回路14に出力する。プリプロセス回路14は、CCD11から出力されたアナログ信号を増幅し、雑音除去や黒レベル調整等のアナログ処理を行い、A/D変換回路15は、プリプロセス回路14でアナログ処理されたアナログ信号をデジタル信号に変換する。また、ASIC16は、A/D変換回路15によって変換されたデジタル信号に対して輪郭補償やガンマ補正等の画像処理を行い、Exif(Exchangeable Image File Format)規格に従って、画像データの撮影日時、シャッタースピード、圧縮情報等を含むヘッダ情報と、画像処理後の画像データを所定サイズに縮小したサムネイル画像データを生成し、ヘッダ情報、サムネイル画像データ、及び画像処理後の画像データをJPEG等の方式で圧縮して画像ファイルを生成する。
【0013】
メモリ17は、DRAM(Dynamic Random Access Memory)で構成され、CPU10がプログラムを実行する際に用いられるワーク用メモリであり、画像処理後の画像データ等を一時的に記憶する。カラーモニタ18は、液晶ディスプレイで構成され、画像やカメラの設定情報等を表示する。操作部19は、電源スイッチ、レリーズボタン等の操作ボタンを含んで構成されており、ユーザ操作を受付ける。
【0014】
メモリーカードI/F20は、着脱可能なメモリーカードとの接続インタフェースであり、装着されたメモリーカードとカメラ1との間のリード/ライトコマンドやデータ等の送受信を中継する。外部I/F21は、PC等の機器を接続するUSB等の接続インタフェースであり、接続された機器とカメラ1との間の通信を中継する。
【0015】
メモリーカード30は、ライトワンス型のメモリーカードであり、データを記憶するフラッシュメモリと、メモリーカードI/F20を介してカメラ1から送信されるリード/ライトコマンドに応じて、データ書き込み又は読み出しの制御を行うメモリコントローラ、データ書き込み単位、メモリーカード30の記憶容量、ライトワンス型媒体であることを示す情報等のカード属性情報を記憶するレジスタを含んで構成されており、FATファイルシステムを適用してフォーマットされている。
【0016】
CPU10は、図示しないROMに記憶されたプログラムを実行することによりカメラ1を構成する各部を制御する。また、CPU10は、メモリーカード30のFATファイルシステムを用いて、画像ファイル等のデータをメモリーカード30に書き込むライトコマンドやメモリーカード30に記憶されている画像ファイル等を読み出すリードコマンドの発行を行い、メモリーカード30との間でデータ転送を行う。また、CPU10は、メモリーカードI/F20にメモリーカード30が装着された際に、メモリーカード30からメモリーカードの容量に関する情報として、メモリーカード30の記憶容量、1クラスタのセクタ数及び1セクタのバイト数を取得する。
【0017】
図2は、FATファイルシステムの構成図である。FATファイルシステムは、BPB(BIOS Parameter Block)210、FAT(File Allocation Table)220、ROOT230を含むファイル管理領域と、複数セクタを含むクラスタ単位に管理されているデータ記憶領域240で構成されている。BPB210は、1クラスタに含まれるセクタ数、1セクタのバイト数、ルートディレクトリのサイズ、FAT16やFAT32のFATタイプ等の情報が記憶されている。
【0018】
ROOT230には、図2に示すように、ルートディレクトリとして、DCF規格に従って生成された“DCIM”フォルダと、ルートディレクトリ直下のDCF規格に従って生成されたサブディレクトリ“100NIKON”を記憶するクラスタ“2”が記憶されている。
【0019】
FAT220の各FATエントリは、データ記憶領域240の各クラスタと対応しており、クラスタ番号の順に並んでいる。例えば、クラスタ2に対応するのはFATエントリ220aであり、クラスタ3に対応するのはFATエントリ220bである。また、各FATエントリは、そのクラスタの次に読み出すべきクラスタ番号又は読み出し終了を示す終端記号を記憶する。
【0020】
データ記憶領域240は、クラスタ番号“2”の先頭クラスタから順にクラスタ番号が付与された複数のクラスタで構成され、各クラスタはJPEGファイル等の画像データや画像ファイルのファイル情報を記憶する。尚、クラスタへの画像データの書き込みはセクタ単位に行われるが、セクタ内の追記は可能であるものとする。
【0021】
この例において、ROOT230はDCIMのサブディレクトリを記憶するクラスタとしてクラスタ番号“2”を記憶し、クラスタ2のFATエントリ220aは終端記号“E”を記憶している。また、クラスタ2のデータ記憶領域241には、サブディレクトリ“100NIKON”と、100NIKONに記録する画像ファイルのファイル情報を記憶するディレクトリエントリ領域としてクラスタ番号“3”を記憶し、クラスタ3のFATエントリ220bは終端記号“E”を記憶している。そして、クラスタ3のデータ記憶領域242は、100NIKONに記憶する画像ファイルのファイル情報を記憶している。ファイル情報は、例えば32バイト等の所定サイズに決められており、DCF規格に従って生成されたJPEGファイル名とJPEGファイルのデータが記憶されている開始クラスタ番号である。
【0022】
次に、カメラ1の動作について、図3のフローチャートを用いて説明する。CPU10は、操作部19を用いたユーザ操作により電源がONに設定されると(ステップS10)、メモリーカードI/F20にメモリーカード30が装着されているか否か判断する(ステップS11)。CPU10は、メモリーカードI/F20にメモリーカード30が装着されていると判断した場合(ステップS11:Y)、メモリーカード30からカード属性情報とFATファイルシステムを取得し、カード属性情報からライトワンス型のメモリーカードであることを認識し、カード属性情報とFATファイルシステムをメモリ17に記憶する(ステップS12)。
【0023】
CPU10は、ステップS12で取得したFATファイルシステムのルートディレクトリを参照し(ステップS13)、ルートディクトリ直下にサブディレクトリが作成されているか否か判断する(ステップS14)。CPU10は、ルートディクトリ直下にサブディレクトリが作成されていないと判断した場合には(ステップS14:N)、サブディレクトリのディレクトリエントリ領域を確保するディレクトリエントリ領域確保処理を行う(ステップS15)。
【0024】
以下、ディレクトリエントリ領域確保処理を、図4のフローチャートを用いて説明する。CPU10は、メモリ17からFATファイルシステムを読み出し(ステップS153)、BPB210に記憶されている1クラスタのセクタ数と1セクタのバイト数を読み出して、1クラスタのセクタ数に1セクタのバイト数を乗算し、1クラスタ当たりのバイト数を算出する。なお、メモリ17から読み出した容量に関する情報に1クラスタのバイト数が含まれる場合は、該バイト数をそのまま1クラスタのサイズとする。
【0025】
そして、CPU10は、予め製造時又はユーザにより任意に設定された1ディレクトリに記録可能な最大記録枚数に、1ファイル情報当たりのバイト数(例えば32バイト)を乗算し、1クラスタ当たりのバイト数で除算してディレクトリエントリ領域のクラスタ数を算出する(ステップS154)。なお、この除算により余りが出る(小数点以下が出る)場合は繰り上げる。CPU10は、ステップS154で算出したクラスタ数分のクラスタをFAT220上で確保する(ステップS155)。
【0026】
図3に戻り、CPU10は、操作部19のレリーズボタンがユーザにより全押しされた場合(ステップS16:Y)、CPU10は、ステップS155において確保した最後尾以外のクラスタのFATエントリに読み出し順序、確保した最後尾のクラスタのFATエントリに終端記号を書き込む。そして、FATファイルシステムのROOT230とFAT220を参照して、DCIMのサブディレクトリを記憶するクラスタのデータ記憶領域に、DCF規格に従って生成したサブディレクトリと、ステップS155において確保したクラスタのうちの開始クラスタ番号を書き込むライトコマンドを発行し、メモリーカード30によりFATエントリ、サブディレクトリ、及びディレクトリエントリ領域の開始クラスタ番号の書き込みを行う(ステップS17)。また、CPU10は、被写体光を撮像してCCD12から出力した撮像信号に基づく画像ファイルを生成し、画像ファイルの画像データをメモリ17に記憶する(ステップS18)。
【0027】
ステップS18に続いて、CPU10は、メモリ17から画像データを読み出し、FAT220上で読み出した画像データを記録するクラスタを確保し、DCF規格に従って生成したファイル名と画像ファイルを記録する開始クラスタ番号を、ディレクトリエントリ領域として設定したクラスタのデータ記憶領域に書き込むライトコマンドを発行し、そのライトコマンドに従って、メモリーカード30により画像ファイルのファイル名と開始クラスタ番号を書き込む。そして、CPU10は、確保したクラスタのFATエントリに読み出し順序と終端記号を書き込み、確保したクラスタのデータ記憶領域に画像データを書き込むライトコマンドを発行し、そのライトコマンドに従って、メモリーカード30によりFATエントリ及びデータ記憶領域の書き込みを行う(ステップS19)。
【0028】
また、CPU10は、ステップS11において、メモリーカード30が装着されていないと判断した場合(ステップS11:N)、及び、ステップS14において、ルートディクトリ直下にサブディレクトリが作成されていると判断し(ステップS14:Y)、ステップS20においてユーザによりレリーズボタンが全押しされなかった場合には(ステップS20:N)、処理を終了する。
【0029】
また、CPU10は、ステップS14において、ルートディクトリ直下にサブディレクトリが作成されていると判断した場合において(ステップS14:Y)、ユーザによりレリーズボタンが全押しされたときには(ステップS20:Y)、上述したステップS18以下の処理を行い、ステップS16において、ユーザによりレリーズボタンが全押しされなかったときには(ステップS16:N)、上述したステップS16以下の処理を行う。
【0030】
図5は、ディレクトリエントリ領域確保処理を行い、ディレクトリエントリ領域として確保したクラスタのFATエントリの書き込みを行ったFATファイルシステムの例を示している。同図は、サブディレクトリ“100NIKON”のディレクトリエントリ領域としてクラスタ3及びクラスタ4を確保した場合である。この場合、クラスタ3のFATエントリ220bに、クラスタ3の次に読み出すクラスタ番号4が記録され、クラスタ4のFATエントリ220cに“100NIKON”のディレクトリエントリ領域の終端を示す終端記号“E”が記録される。
【0031】
従って、このFATファイルシステムを用いて画像ファイルを順次記録する場合、各画像ファイルのファイル情報はクラスタ3のデータ記憶領域242の先頭セクタから順次記録され、クラスタ3のデータ記憶領域242にファイル情報が記録できなくなったときに、クラスタ4のデータ記憶領域243の先頭セクタから順次記録される。
【0032】
上述した実施形態では、ライトワンス型のメモリーカードが装着された際、ディレクトリエントリ領域を確保するために、設定された最大記録可能ファイル数分のファイル情報を記録できるクラスタ数を算出し、そのクラスタ数分のクラスタをFAT上で確保しておくことができるので、最大記録枚数未満であるにもかかわらず、ディレクトリにファイル情報が記録できなくなるということを防止することができる。
【0033】
尚、上述した実施形態では、記録制御装置としてカメラを用いて説明したが、ライトワンス型の記憶媒体を装着可能な携帯電話、PDA、PC等の情報機器であってもよい。
【0034】
また、上述した実施形態では、各ファイル情報のデータサイズが32バイトであるものして説明したが、16バイト等のデータサイズであってもよい。
【0035】
また、上述した実施形態では、メモリーカードに記録可能な最大記録ファイル数分のファイル情報を記録するディレクトリエントリ領域のクラスタ数を算出するものとして説明したが、メモリーカード30に記録可能なファイル数分のファイル情報を記憶可能なクラスタ数を算出し、そのクラスタ数分のクラスタを確保するとしてもよい。尚、この場合は、メモリーカード30にはファイルデータが記録されていない場合における記録可能ファイル数を算出する。CPU10は、メモリ17からカード属性情報を読み出し、カード属性情報に含まれているメモリーカード30の記憶容量を、予め定めた1ファイル当たりの平均データサイズで除算し、メモリーカード30に記録可能なファイル数を算出する。そして、算出した記録可能なファイル数分のファイル情報を記録するディレクトリエントリ領域のクラスタ数を算出する。これにより、所定の1ファイル当たりの平均データサイズでファイルを記録する設定において、全ての記録ファイルを1ディクトリ内に記録可能とすることができる。また、データが既に記録されているメモリーカードの場合には、メモリーカードの記憶容量とデータが記憶されているクラスタのクラスタサイズからメモリーカードの記憶残量を算出し、その記憶残量において記録可能なファイル数を算出してもよい。
【図面の簡単な説明】
【0036】
【図1】実施形態に係るカメラのブロック図である。
【図2】実施形態におけるFATファイルシステムの構成図である。
【図3】実施形態に係るカメラの全体動作を示すフローチャートである。
【図4】実施形態に係るカメラのディレクトリエントリ領域確保処理のフローチャートである。
【図5】実施形態におけるディレクトリエントリ領域を設定した後のFATファイルシステムの例を示す図である。
【符号の説明】
【0037】
10・・・CPU、11・・・撮影レンズ、12・・・CCD、13・・・CCDドライバ、14・・・プリプロセス回路、15・・・A/D変換回路、16・・・ASIC、17・・・メモリ、18・・・カラーモニタ、19・・・操作部、20・・・メモリーカードI/F、21・・・外部I/F、30・・・メモリーカード

【特許請求の範囲】
【請求項1】
クラスタ単位に管理されたデータ記憶領域を備え、前記データ記憶領域の容量に関する記憶容量情報を記憶するライトワンス型の記憶媒体の前記データ記憶領域に各ファイル及び当該ファイルのファイル情報を記録する記録制御部と、
前記記憶媒体から前記記憶容量情報を取得する取得部と、
設定されたファイル数、前記ファイル情報のサイズ、及び前記記憶容量情報を用いて、前記ファイル数分の前記ファイル情報を前記データ記憶領域に記録するために必要なクラスタ数を算出する算出部と、
前記ファイル情報の記憶領域を設定する際に、前記算出部により算出されたクラスタ数分の前記データ記憶領域を前記ファイル情報の記録領域として前記記憶媒体に設定する設定部と
を備えることを特徴とする記録制御装置。
【請求項2】
前記記憶容量情報は、前記クラスタのクラスタサイズ、又は、前記クラスタに含まれるセクタ数及び該セクタサイズを含むことを特徴とする請求項1記載の記録制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−9206(P2010−9206A)
【公開日】平成22年1月14日(2010.1.14)
【国際特許分類】
【出願番号】特願2008−165938(P2008−165938)
【出願日】平成20年6月25日(2008.6.25)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】