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