(57)【要約】【課題】ライトワンス型の記憶媒体に記録されるファイルのファイル情報を記録する領域を、予め設定されたファイル数のファイル情報サイズ分確保する記録制御装置を提供する。【解決手段】クラスタ単位に管理されたデータ記憶領域を備え、前記データ記憶領域の容量に関する記憶容量情報を記憶するライトワンス型の記憶媒体３０の前記データ記憶領域に各ファイル及び当該ファイルのファイル情報を記録する記録制御部１０と、前記記憶媒体３０から前記記憶容量情報を取得する取得部１０と、設定されたファイル数、前記ファイル情報のサイズ、及び前記記憶容量情報を用いて、前記ファイル数分の前記ファイル情報を前記データ記憶領域に記録するために必要なクラスタ数を算出する算出部１０と、前記ファイル情報の記憶領域を設定する際に、前記算出部１０により算出されたクラスタ数分の前記データ記憶領域を前記ファイル情報の記録領域として前記記憶媒体３０に設定する設定部１０とを備える。【選択図】図１
2010009206.tif 000002
【特許請求の範囲】
【請求項１】
クラスタ単位に管理されたデータ記憶領域を備え、前記データ記憶領域の容量に関する記憶容量情報を記憶するライトワンス型の記憶媒体の前記データ記憶領域に各ファイル及び当該ファイルのファイル情報を記録する記録制御部と、
前記記憶媒体から前記記憶容量情報を取得する取得部と、
設定されたファイル数、前記ファイル情報のサイズ、及び前記記憶容量情報を用いて、前記ファイル数分の前記ファイル情報を前記データ記憶領域に記録するために必要なクラスタ数を算出する算出部と、
前記ファイル情報の記憶領域を設定する際に、前記算出部により算出されたクラスタ数分の前記データ記憶領域を前記ファイル情報の記録領域として前記記憶媒体に設定する設定部と
を備えることを特徴とする記録制御装置。
【請求項２】
前記記憶容量情報は、前記クラスタのクラスタサイズ、又は、前記クラスタに含まれるセクタ数及び該セクタサイズを含むことを特徴とする請求項１記載の記録制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライトワンス型の記憶媒体にデータを記録する記録制御装置に関する。
【背景技術】
【０００２】
従来、メモリーカードやメモリスティック等の記憶媒体を装着可能なデジタルカメラ等の機器が普及している。このような記憶媒体の種類には、書き換え可能な記憶媒体、１度だけ書き込み可能なライトワンス型記憶媒体等がある。尚、下記の特許文献１及び特許文献２には、ライトワンス型の記憶媒体のファイル管理技術が開示されている。
【特許文献１】特開２００７−１８５２８号公報
【特許文献２】特開２００３−１９６１４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上述のメモリーカード等の記憶媒体は、ＦＡＴ(File Allocation Tables)ファイルシステムを適用してフォーマットされていることが多い。ＦＡＴファイルシステムは、クラスタ単位の各データ記憶領域に対応するＦＡＴエントリで構成されたＦＡＴ、ルートディレクトリ、サブディレクトリ及びサブディレクトリのディレクトリエントリ領域情報、サブディレクトリに記録されるファイルのファイル情報を保持している。
【０００４】
ディレクトリエントリ領域は、サブディレクトリの生成時に割り当てられたデータ記憶領域の所定クラスタであり、そのサブディレクトリに記憶されるファイルのファイル名とファイルが記憶されているクラスタの情報を含むファイル情報を記憶しており、ファイルが記憶される毎に例えば３２バイトのファイル情報が記憶される。
【０００５】
ＦＡＴエントリは、データの読み出し順序を示すクラスタ番号又はデータの読み出し終了を示す終端記号を記憶し、データ記憶領域に記憶される画像や音声等のファイルデータ、ファイル情報等のリンク情報を保持している。
【０００６】
ＰＣやデジタルカメラ等の機器は、このようなＦＡＴファイルシステムが適用された記憶媒体にファイルを記録する場合、ファイルを記録する毎に、ディレクトリエントリ領域に各ファイルのファイル情報を順次書き込むことになるが、ディレクトリエントリ領域としてサブディレクトリ生成時に設定したクラスタの記憶容量が足りなくなった場合には、ファイル情報を記録するための新たなクラスタを確保し、そのクラスタと新たに確保したクラスタのＦＡＴエントリを書き換えれば、サブディレクトリ生成時に設定したディレクトリエントリ領域を拡張して、新たに確保したクラスタのデータ記憶領域にファイル情報を書き込むことができる。
【０００７】
しかしながら、ライトワンス型の記憶媒体の場合には、サブディレクトリ生成時にサブディレクトリエントリ領域として設定したクラスタの容量が足りなくなったとしても、そのクラスタのＦＡＴエントリを書き換えることができない。従って、サブディレクトリ生成時に設定したディレクトリエントリ領域を拡張してファイル情報を書き込むことができず、同じサブディレクトリにファイルを記録することができないという問題が生じる。つまり、１つのディレクトリに記録できるファイル数がメモリーカードに設定されているクラスタサイズによって左右されるという問題が生じる。
【０００８】
本発明は、ライトワンス型の記憶媒体に記録されるファイルのファイル情報を記録する領域を、予め設定されたファイル数のファイル情報サイズ分確保する記録制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の記録制御装置は、クラスタ単位に管理されたデータ記憶領域を備え、前記データ記憶領域の容量に関する記憶容量情報を記憶するライトワンス型の記憶媒体の前記データ記憶領域に各ファイル及び当該ファイルのファイル情報を記録する記録制御部と、前記記憶媒体から前記記憶容量情報を取得する取得部と、設定されたファイル数、前記ファイル情報のサイズ、及び前記記憶容量情報を用いて、前記ファイル数分の前記ファイル情報を前記データ記憶領域に記録するために必要なクラスタ数を算出する算出部と、前記ファイル情報の記憶領域を設定する際に、前記算出部により算出されたクラスタ数分の前記データ記憶領域を前記ファイル情報の記録領域として前記記憶媒体に設定する設定部とを備える。
【発明の効果】
【００１０】
本発明によれば、ライトワンス型の記憶媒体に記録されるファイルのファイル情報を記録する領域を、予め設定されたファイル数のファイル情報サイズ分確保する記録制御装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態に係る記録制御装置を含むカメラについて説明する。図１は、本実施形態のカメラの構成を示すブロック図である。同図に示す様に、カメラ１は、撮影レンズ１１、ＣＣＤ１２、ＣＣＤドライバ１３、プリプロセス回路１４、Ａ／Ｄ変換回路１５、ＡＳＩＣ(Application Specific Integrated Circuit)１６、メモリ１７、カラーモニタ１８、操作部１９、メモリーカードＩ／Ｆ２０、外部Ｉ／Ｆ２１、及びＣＰＵ１０を備えて構成されている。
【００１２】
ＣＣＤ１２は、撮影レンズ１１を介した被写体光を撮像して被写体の明るさに応じた電荷を蓄積し、ＣＣＤドライバ１３の制御の下、蓄積した電荷のアナログ信号をプリプロセス回路１４に出力する。プリプロセス回路１４は、ＣＣＤ１１から出力されたアナログ信号を増幅し、雑音除去や黒レベル調整等のアナログ処理を行い、Ａ／Ｄ変換回路１５は、プリプロセス回路１４でアナログ処理されたアナログ信号をデジタル信号に変換する。また、ＡＳＩＣ１６は、Ａ／Ｄ変換回路１５によって変換されたデジタル信号に対して輪郭補償やガンマ補正等の画像処理を行い、Ｅｘｉｆ(Exchangeable Image File Format)規格に従って、画像データの撮影日時、シャッタースピード、圧縮情報等を含むヘッダ情報と、画像処理後の画像データを所定サイズに縮小したサムネイル画像データを生成し、ヘッダ情報、サムネイル画像データ、及び画像処理後の画像データをＪＰＥＧ等の方式で圧縮して画像ファイルを生成する。
【００１３】
メモリ１７は、ＤＲＡＭ(Dynamic Random Access Memory)で構成され、ＣＰＵ１０がプログラムを実行する際に用いられるワーク用メモリであり、画像処理後の画像データ等を一時的に記憶する。カラーモニタ１８は、液晶ディスプレイで構成され、画像やカメラの設定情報等を表示する。操作部１９は、電源スイッチ、レリーズボタン等の操作ボタンを含んで構成されており、ユーザ操作を受付ける。
【００１４】
メモリーカードＩ／Ｆ２０は、着脱可能なメモリーカードとの接続インタフェースであり、装着されたメモリーカードとカメラ１との間のリード／ライトコマンドやデータ等の送受信を中継する。外部Ｉ／Ｆ２１は、ＰＣ等の機器を接続するＵＳＢ等の接続インタフェースであり、接続された機器とカメラ１との間の通信を中継する。
【００１５】
メモリーカード３０は、ライトワンス型のメモリーカードであり、データを記憶するフラッシュメモリと、メモリーカードＩ／Ｆ２０を介してカメラ１から送信されるリード／ライトコマンドに応じて、データ書き込み又は読み出しの制御を行うメモリコントローラ、データ書き込み単位、メモリーカード３０の記憶容量、ライトワンス型媒体であることを示す情報等のカード属性情報を記憶するレジスタを含んで構成されており、ＦＡＴファイルシステムを適用してフォーマットされている。
【００１６】
ＣＰＵ１０は、図示しないＲＯＭに記憶されたプログラムを実行することによりカメラ１を構成する各部を制御する。また、ＣＰＵ１０は、メモリーカード３０のＦＡＴファイルシステムを用いて、画像ファイル等のデータをメモリーカード３０に書き込むライトコマンドやメモリーカード３０に記憶されている画像ファイル等を読み出すリードコマンドの発行を行い、メモリーカード３０との間でデータ転送を行う。また、ＣＰＵ１０は、メモリーカードＩ／Ｆ２０にメモリーカード３０が装着された際に、メモリーカード３０からメモリーカードの容量に関する情報として、メモリーカード３０の記憶容量、１クラスタのセクタ数及び１セクタのバイト数を取得する。
【００１７】
図２は、ＦＡＴファイルシステムの構成図である。ＦＡＴファイルシステムは、ＢＰＢ(BIOS Parameter Block)２１０、ＦＡＴ(File Allocation Table)２２０、ＲＯＯＴ２３０を含むファイル管理領域と、複数セクタを含むクラスタ単位に管理されているデータ記憶領域２４０で構成されている。ＢＰＢ２１０は、1クラスタに含まれるセクタ数、1セクタのバイト数、ルートディレクトリのサイズ、ＦＡＴ１６やＦＡＴ３２のＦＡＴタイプ等の情報が記憶されている。
【００１８】
ＲＯＯＴ２３０には、図２に示すように、ルートディレクトリとして、ＤＣＦ規格に従って生成された“ＤＣＩＭ”フォルダと、ルートディレクトリ直下のＤＣＦ規格に従って生成されたサブディレクトリ“１００ＮＩＫＯＮ”を記憶するクラスタ“２”が記憶されている。
【００１９】
ＦＡＴ２２０の各ＦＡＴエントリは、データ記憶領域２４０の各クラスタと対応しており、クラスタ番号の順に並んでいる。例えば、クラスタ２に対応するのはＦＡＴエントリ２２０ａであり、クラスタ３に対応するのはＦＡＴエントリ２２０ｂである。また、各ＦＡＴエントリは、そのクラスタの次に読み出すべきクラスタ番号又は読み出し終了を示す終端記号を記憶する。
【００２０】
データ記憶領域２４０は、クラスタ番号“２”の先頭クラスタから順にクラスタ番号が付与された複数のクラスタで構成され、各クラスタはＪＰＥＧファイル等の画像データや画像ファイルのファイル情報を記憶する。尚、クラスタへの画像データの書き込みはセクタ単位に行われるが、セクタ内の追記は可能であるものとする。
【００２１】
この例において、ＲＯＯＴ２３０はＤＣＩＭのサブディレクトリを記憶するクラスタとしてクラスタ番号“２”を記憶し、クラスタ２のＦＡＴエントリ２２０ａは終端記号“Ｅ”を記憶している。また、クラスタ２のデータ記憶領域２４１には、サブディレクトリ“１００ＮＩＫＯＮ”と、１００ＮＩＫＯＮに記録する画像ファイルのファイル情報を記憶するディレクトリエントリ領域としてクラスタ番号“３”を記憶し、クラスタ３のＦＡＴエントリ２２０ｂは終端記号“Ｅ”を記憶している。そして、クラスタ３のデータ記憶領域２４２は、１００ＮＩＫＯＮに記憶する画像ファイルのファイル情報を記憶している。ファイル情報は、例えば３２バイト等の所定サイズに決められており、ＤＣＦ規格に従って生成されたＪＰＥＧファイル名とＪＰＥＧファイルのデータが記憶されている開始クラスタ番号である。
【００２２】
次に、カメラ１の動作について、図３のフローチャートを用いて説明する。ＣＰＵ１０は、操作部１９を用いたユーザ操作により電源がＯＮに設定されると(ステップＳ１０)、メモリーカードＩ／Ｆ２０にメモリーカード３０が装着されているか否か判断する(ステップＳ１１)。ＣＰＵ１０は、メモリーカードＩ／Ｆ２０にメモリーカード３０が装着されていると判断した場合(ステップＳ１１：Ｙ)、メモリーカード３０からカード属性情報とＦＡＴファイルシステムを取得し、カード属性情報からライトワンス型のメモリーカードであることを認識し、カード属性情報とＦＡＴファイルシステムをメモリ１７に記憶する(ステップＳ１２)。
【００２３】
ＣＰＵ１０は、ステップＳ１２で取得したＦＡＴファイルシステムのルートディレクトリを参照し(ステップＳ１３)、ルートディクトリ直下にサブディレクトリが作成されているか否か判断する(ステップＳ１４)。ＣＰＵ１０は、ルートディクトリ直下にサブディレクトリが作成されていないと判断した場合には(ステップＳ１４：Ｎ)、サブディレクトリのディレクトリエントリ領域を確保するディレクトリエントリ領域確保処理を行う(ステップＳ１５)。
【００２４】
以下、ディレクトリエントリ領域確保処理を、図４のフローチャートを用いて説明する。ＣＰＵ１０は、メモリ１７からＦＡＴファイルシステムを読み出し(ステップＳ１５３)、ＢＰＢ２１０に記憶されている１クラスタのセクタ数と１セクタのバイト数を読み出して、１クラスタのセクタ数に１セクタのバイト数を乗算し、１クラスタ当たりのバイト数を算出する。なお、メモリ１７から読み出した容量に関する情報に１クラスタのバイト数が含まれる場合は、該バイト数をそのまま１クラスタのサイズとする。
【００２５】
そして、ＣＰＵ１０は、予め製造時又はユーザにより任意に設定された１ディレクトリに記録可能な最大記録枚数に、１ファイル情報当たりのバイト数(例えば３２バイト)を乗算し、１クラスタ当たりのバイト数で除算してディレクトリエントリ領域のクラスタ数を算出する(ステップＳ１５４)。なお、この除算により余りが出る(小数点以下が出る)場合は繰り上げる。ＣＰＵ１０は、ステップＳ１５４で算出したクラスタ数分のクラスタをＦＡＴ２２０上で確保する(ステップＳ１５５)。
【００２６】
図３に戻り、ＣＰＵ１０は、操作部１９のレリーズボタンがユーザにより全押しされた場合(ステップＳ１６:Ｙ)、ＣＰＵ１０は、ステップＳ１５５において確保した最後尾以外のクラスタのＦＡＴエントリに読み出し順序、確保した最後尾のクラスタのＦＡＴエントリに終端記号を書き込む。そして、ＦＡＴファイルシステムのＲＯＯＴ２３０とＦＡＴ２２０を参照して、ＤＣＩＭのサブディレクトリを記憶するクラスタのデータ記憶領域に、ＤＣＦ規格に従って生成したサブディレクトリと、ステップＳ１５５において確保したクラスタのうちの開始クラスタ番号を書き込むライトコマンドを発行し、メモリーカード３０によりＦＡＴエントリ、サブディレクトリ、及びディレクトリエントリ領域の開始クラスタ番号の書き込みを行う(ステップＳ１７)。また、ＣＰＵ１０は、被写体光を撮像してＣＣＤ１２から出力した撮像信号に基づく画像ファイルを生成し、画像ファイルの画像データをメモリ１７に記憶する(ステップＳ１８)。
【００２７】
ステップＳ１８に続いて、ＣＰＵ１０は、メモリ１７から画像データを読み出し、ＦＡＴ２２０上で読み出した画像データを記録するクラスタを確保し、ＤＣＦ規格に従って生成したファイル名と画像ファイルを記録する開始クラスタ番号を、ディレクトリエントリ領域として設定したクラスタのデータ記憶領域に書き込むライトコマンドを発行し、そのライトコマンドに従って、メモリーカード３０により画像ファイルのファイル名と開始クラスタ番号を書き込む。そして、ＣＰＵ１０は、確保したクラスタのＦＡＴエントリに読み出し順序と終端記号を書き込み、確保したクラスタのデータ記憶領域に画像データを書き込むライトコマンドを発行し、そのライトコマンドに従って、メモリーカード３０によりＦＡＴエントリ及びデータ記憶領域の書き込みを行う(ステップＳ１９)。
【００２８】
また、ＣＰＵ１０は、ステップＳ１１において、メモリーカード３０が装着されていないと判断した場合(ステップＳ１１:Ｎ)、及び、ステップＳ１４において、ルートディクトリ直下にサブディレクトリが作成されていると判断し(ステップＳ１４:Ｙ)、ステップＳ２０においてユーザによりレリーズボタンが全押しされなかった場合には(ステップＳ２０:Ｎ)、処理を終了する。
【００２９】
また、ＣＰＵ１０は、ステップＳ１４において、ルートディクトリ直下にサブディレクトリが作成されていると判断した場合において(ステップＳ１４:Ｙ)、ユーザによりレリーズボタンが全押しされたときには(ステップＳ２０:Ｙ)、上述したステップＳ１８以下の処理を行い、ステップＳ１６において、ユーザによりレリーズボタンが全押しされなかったときには(ステップＳ１６:Ｎ)、上述したステップＳ１６以下の処理を行う。
【００３０】
図５は、ディレクトリエントリ領域確保処理を行い、ディレクトリエントリ領域として確保したクラスタのＦＡＴエントリの書き込みを行ったＦＡＴファイルシステムの例を示している。同図は、サブディレクトリ“１００ＮＩＫＯＮ”のディレクトリエントリ領域としてクラスタ３及びクラスタ４を確保した場合である。この場合、クラスタ３のＦＡＴエントリ２２０ｂに、クラスタ３の次に読み出すクラスタ番号４が記録され、クラスタ４のＦＡＴエントリ２２０ｃに“１００ＮＩＫＯＮ”のディレクトリエントリ領域の終端を示す終端記号“Ｅ”が記録される。
【００３１】
従って、このＦＡＴファイルシステムを用いて画像ファイルを順次記録する場合、各画像ファイルのファイル情報はクラスタ３のデータ記憶領域２４２の先頭セクタから順次記録され、クラスタ３のデータ記憶領域２４２にファイル情報が記録できなくなったときに、クラスタ４のデータ記憶領域２４３の先頭セクタから順次記録される。
【００３２】
上述した実施形態では、ライトワンス型のメモリーカードが装着された際、ディレクトリエントリ領域を確保するために、設定された最大記録可能ファイル数分のファイル情報を記録できるクラスタ数を算出し、そのクラスタ数分のクラスタをＦＡＴ上で確保しておくことができるので、最大記録枚数未満であるにもかかわらず、ディレクトリにファイル情報が記録できなくなるということを防止することができる。
【００３３】
尚、上述した実施形態では、記録制御装置としてカメラを用いて説明したが、ライトワンス型の記憶媒体を装着可能な携帯電話、ＰＤＡ、ＰＣ等の情報機器であってもよい。
【００３４】
また、上述した実施形態では、各ファイル情報のデータサイズが３２バイトであるものして説明したが、１６バイト等のデータサイズであってもよい。
【００３５】
また、上述した実施形態では、メモリーカードに記録可能な最大記録ファイル数分のファイル情報を記録するディレクトリエントリ領域のクラスタ数を算出するものとして説明したが、メモリーカード３０に記録可能なファイル数分のファイル情報を記憶可能なクラスタ数を算出し、そのクラスタ数分のクラスタを確保するとしてもよい。尚、この場合は、メモリーカード３０にはファイルデータが記録されていない場合における記録可能ファイル数を算出する。ＣＰＵ１０は、メモリ１７からカード属性情報を読み出し、カード属性情報に含まれているメモリーカード３０の記憶容量を、予め定めた１ファイル当たりの平均データサイズで除算し、メモリーカード３０に記録可能なファイル数を算出する。そして、算出した記録可能なファイル数分のファイル情報を記録するディレクトリエントリ領域のクラスタ数を算出する。これにより、所定の1ファイル当たりの平均データサイズでファイルを記録する設定において、全ての記録ファイルを1ディクトリ内に記録可能とすることができる。また、データが既に記録されているメモリーカードの場合には、メモリーカードの記憶容量とデータが記憶されているクラスタのクラスタサイズからメモリーカードの記憶残量を算出し、その記憶残量において記録可能なファイル数を算出してもよい。
【図面の簡単な説明】
【００３６】
【図１】実施形態に係るカメラのブロック図である。
【図２】実施形態におけるＦＡＴファイルシステムの構成図である。
【図３】実施形態に係るカメラの全体動作を示すフローチャートである。
【図４】実施形態に係るカメラのディレクトリエントリ領域確保処理のフローチャートである。
【図５】実施形態におけるディレクトリエントリ領域を設定した後のＦＡＴファイルシステムの例を示す図である。
【符号の説明】
【００３７】
１０・・・ＣＰＵ、１１・・・撮影レンズ、１２・・・ＣＣＤ、１３・・・ＣＣＤドライバ、１４・・・プリプロセス回路、１５・・・Ａ／Ｄ変換回路、１６・・・ＡＳＩＣ、１７・・・メモリ、１８・・・カラーモニタ、１９・・・操作部、２０・・・メモリーカードＩ／Ｆ、２１・・・外部Ｉ／Ｆ、３０・・・メモリーカード
【図１】
2010009206.tif 000003
【図２】
2010009206.tif 000004
【図３】
2010009206.tif 000005
【図４】
2010009206.tif 000006
【図５】
2010009206.tif 000007