(57)【要約】      （修正有）【課題】記憶媒体の物理的制約の影響を受けず、高速で記憶媒体へ書き込みを行うライトコマンドを発行するカメラを提供する。【解決手段】メモリカード２８に対して未送信の分割データが残っていない場合には、メモリに書き込み単位である１２８ＫＢ未満のサイズのデータが記憶されているか否かを確認する。書き込み単位未満のデータが記憶されている場合には、当該データのサイズに相当するクラスタを確保し、ＦＡＴエントリに読み出し順序を書き込むための指示をメモリカード２８に対して行う。そして、書き込み単位である１２８ＫＢ未満のデータをメモリカード２８に対して送信する。ここで、１２８ＫＢ未満のデータがブロックサイズである５１２ｂｙｔｅの整数倍でない場合には、５１２ｂｙｔｅ未満となる端数データはブロック単位で書き込むことができないため、メモリカード２８においてはキャッシュ３７に一時的に記憶される。【選択図】図２
2010193275.tif 000002
【特許請求の範囲】
【請求項１】
ファイルデータを記憶するデータ記憶領域と前記データ記憶領域に記憶された前記データの管理情報を記憶するデータ管理領域を備える記憶媒体に対して、１のファイルデータを所定のサイズ単位に分割し、所定個の分割データとして前記データ記憶領域に記憶させると共に、前記所定のサイズ単位に分割された前記データに対応する管理情報を前記データ管理領域に記憶させる第１のライトコマンドと、前記１のファイルデータを所定のサイズ単位に分割した際に前記所定のサイズ未満である端数データが発生した場合に、前記端数データに対して所定の付加データを加え前記所定のサイズ単位とし、前記所定個の分割データとして、または、前記所定個の分割データと共に前記データ記憶領域に記憶させると共に、前記所定の付加データを含まない前記１のファイルデータ長に対応する管理情報を前記データ管理領域に記憶させる第２のライトコマンドを発行する書込指示部を備えることを特徴とするカメラ。
【請求項２】
前記書込指示部は、１フレームの撮像を行う単写モードにおいては、前記第１のライトコマンドを発行し、連続して複数フレームの撮像を行う連写モードにおいては、前記第２のライトコマンドを発行することを特徴とする請求項１記載のカメラ。
【請求項３】
前記所定のサイズ単位は２ｎＫＢ（ｎは自然数）であることを特徴とする請求項１または２記載のカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラに関するものである。
【背景技術】
【０００２】
従来、カメラにおいては、撮像を行った場合にアプリケーションにより撮像画像データを所定のサイズに分割し、メモリカード等の記憶媒体に対して所定のサイズ毎にデータを記憶させるライトコマンドと共に当該データに対応する管理情報を記憶させるライトコマンドを発行している。従って、記憶媒体においては、データ記憶領域に所定のサイズ毎にデータを記憶すると共に、管理情報記憶領域にＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）ファイルシステムにおける管理情報を記憶している。
【０００３】
なお、記憶媒体に記憶するデータのサイズが１ブロックのサイズ未満であるときに、１ブロックのサイズを、記憶するデータのサイズよりも小さくするフォーマットを行い、カメラから記憶媒体へのアクセス速度の低下を回避することが、例えば、特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６ー５９１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のカメラにおいては、ファイルデータのサイズが所定のサイズ単位の整数倍ではない場合、即ちファイルデータを所定のサイズ単位に分割した際に所定のサイズ未満の端数データが発生する場合には、記憶媒体の一時メモリに端数データをキャッシュし、このキャッシュしたデータをクローズコマンドによりデータ記憶領域に書き込むためアクセス速度が遅くなっていた。
【０００６】
本発明の目的は、記憶媒体の物理的制約の影響を受けず、高速で記憶媒体へ書き込みを行うライトコマンドを発行するカメラを提供することである。
【課題を解決するための手段】
【０００７】
本発明のカメラは、ファイルデータを記憶するデータ記憶領域と前記データ記憶領域に記憶された前記データの管理情報を記憶するデータ管理領域を備える記憶媒体に対して、１のファイルデータを所定のサイズ単位に分割し、所定個の分割データとして前記データ記憶領域に記憶させると共に、前記所定のサイズ単位に分割された前記データに対応する管理情報を前記データ管理領域に記憶させる第１のライトコマンドと、前記１のファイルデータを所定のサイズ単位に分割した際に前記所定のサイズ未満である端数データが発生した場合に、前記端数データに対して所定の付加データを加え前記所定のサイズ単位とし、前記所定個の分割データとして、または、前記所定個の分割データと共に前記データ記憶領域に記憶させると共に、前記所定の付加データを含まない前記１のファイルデータ長に対応する管理情報を前記データ管理領域に記憶させる第２のライトコマンドを発行する書込指示部を備えることを特徴とする。
【発明の効果】
【０００８】
本発明のカメラによれば、記憶媒体の物理的制約の影響を受けず、高速で記憶媒体へ書き込みを行うライトコマンドを発行することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係るカメラのシステム構成を示すブロック図である。
【図２】本発明の実施の形態に係るメモリカードのＦＡＴファイルシステムの構成を示す図である。
【図３】本発明の実施の形態に係るカメラのライトコマンド発行処理を示すフローチャートである。
【図４】本発明の実施の形態に係るカメラの第１のライトコマンド発行処理を示すフローチャートである。
【図５】本発明の実施の形態に係るカメラの第２のライトコマンド発行処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態に係るカメラについて説明する。図１は、実施の形態に係るカメラのシステム構成を示すブロック図である。カメラ２は、ＣＰＵ４、撮影レンズ６、ＣＣＤ８、ＣＣＤドライバ１０、プリプロセス回路１２、Ａ／Ｄ変換回路１４、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１６、メモリ１８、カラーモニタ２０、操作部２２、メモリカードＩ／Ｆ２４、外部Ｉ／Ｆ２６を備えて構成されている。
【００１１】
ＣＰＵ４は、図示しないＲＯＭに格納されたアプリケーションプログラムを実行することによりカメラ２を構成する各部を制御する。このアプリケーションプログラムには、ユーザが図示しないレリーズボタンを操作することにより撮像した画像データを後述するメモリカード２８に記憶させるプログラムも含まれる。
【００１２】
ＣＣＤ８は、撮影レンズ６を介した被写体光を撮像して被写体の明るさに応じた電荷を蓄積する撮像素子であり、ＣＣＤドライバ１０の制御の下、蓄積した電荷のアナログ信号をプリプロセス回路１２に出力する。なお、単写モードの撮影操作の場合には、撮影操作毎に１フレームを撮像し、連写モードの撮影操作の場合には、所定の連写速度で複数フレームの撮像を行う。
【００１３】
プリプロセス回路１２は、ＣＣＤ８から出力されたアナログ信号を増幅し、雑音除去や黒レベル調整等のアナログ処理を行い、Ａ／Ｄ変換回路１４は、プリプロセス回路１２でアナログ処理されたアナログ信号をデジタル信号に変換する。また、ＡＳＩＣ１６は、Ａ／Ｄ変換回路１４によって変換されたデジタル信号に対して輪郭補償やガンマ補正等の画像処理を行い、Ｅｘｉｆ（Ｅｘｃｈａｎｇａｂｌｅ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）規格に従って、画像データの撮影日時、シャッタスピード、圧縮情報等を含むヘッダ情報データ、画像処理後の画像データをＪＰＥＧ等の方式で圧縮し画像ファイルを生成する。
【００１４】
メモリ１８は、ＣＰＵ４がプログラムを実行する際に用いられるワーク用メモリであり、画像処理後の画像データ等を一時的に記憶する。カラーモニタ２０は、ＬＣＤで構成され画像やカメラの設定情報等を表示する。操作部２２は、電源スイッチ、レリーズボタン、単写モードと連写モードとの切り替えを行うモード切替ボタン、撮像する画像を記憶する画質を設定する画質設定ボタン等の操作ボタンを含んで構成される。
【００１５】
メモリカードＩ／Ｆ２４は、着脱可能なメモリカード２８との接続インタフェースであり、装着されたメモリカード２８とカメラ２との間のリード／ライトコマンドやデータ等の送受信を中継する。外部Ｉ／Ｆ２６は、ＰＣ等の外部機器をＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）接続するインタフェースであり、接続された外部機器とカメラ２との間の通信を中継する。
【００１６】
メモリカード２８は、データを記憶するフラッシュメモリ、一時メモリであるＤＲＡＭ、メモリカードＩ／Ｆ２４を介してカメラ２から送信されるリード／ライトコマンドに応じて、データの書き込み又は読み出しの制御を行うメモリコントローラ、データの書き込み単位情報を示す情報等のカード属性情報を記憶するレジスタを含んで構成されている。また、フラッシュメモリは、ＦＡＴファイルシステムに基づいてフォーマットされ、フォーマットされたデータ記憶領域は、５１２ｂｙｔｅのサイズのブロックを所定数記憶可能なクラスタの単位で管理されている。
【００１７】
図２は、上述したＦＡＴファイルシステムの構成図である。ＦＡＴファイルシステムはＢＰＢ（ＢＩＯＳ  Ｐａｒａｍｅｔｅｒ  Ｂｌｏｃｋ）３２、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）３４を含むファイル管理領域３５、クラスタ単位に管理されているデータ記憶領域３６、１ブロック未満のデータの読み書きを行うためのＤＲＡＭ等で構成されるキャッシュ３７で構成されている。ＢＰＢ３２は、１クラスタに含まれるブロック数、１ブロックのバイト数、ルートディレクトリのサイズ等の情報が記憶されている。
【００１８】
ＲＯＯＴ３８には、ルートディレクトリのフォルダ名とルートディレクトリ直下のサブディレクトリを記憶するクラスタのクラスタ番号が記憶されている。ＦＡＴ３４の各ＦＡＴエントリ４０は、データ記憶領域３６の各クラスタと対応し、クラスタ番号の順に並んでいる。例えば、クラスタ２に対応するのはＦＡＴエントリ４２であり、クラスタ３に対応するのはＦＡＴエントリ４４である。また、各ＦＡＴエントリ４０は、そのクラスタの次に読み出すクラスタ番号を記憶する。
【００１９】
なお、ファイルシステム上は、ファイルサイズに応じてブロック単位にファイルを記憶させるように管理するが、ファイルデータはバイト単位で記憶させることが可能である。ファイルを記憶した記録済クラスタにおいてはデータを記憶していないブロックやブロック内のデータを記憶していない領域が未記録領域となる。
【００２０】
次に、図３に示すフローチャートを参照して実施の形態に係るカメラのメモリカードに対するコマンド発行処理について説明する。本実施の形態に係るカメラ２においては、画像データを５１２ｂｙｔｅのブロックに分割し、２５６ブロックに相当するサイズである１２８ＫＢを書き込み単位とし、メモリカード２８に記憶する。
【００２１】
カメラ２のレリーズボタンが操作されると、被写体光を撮像しＣＣＤ８から１フレーム分の撮像信号を出力し（ステップＳ１）、出力した撮像信号に基づく画像データに対してＡＳＩＣ１６において画像処理を行い、ＪＰＥＧ方式で圧縮した画像データを生成する（ステップＳ２）。ＣＰＵ４は、１フレームの画像データをメモリ１８に記憶する（ステップＳ３）。そして、モード切替ボタンにより設定されている撮影モードが単写モードであるか連写モードであるかの判定を行う（ステップＳ４）。
【００２２】
単写モードである場合には、第１のライトコマンド発行処理を行い（ステップＳ５）、連写モードである場合には、第２のライトコマンド発行処理を行う（ステップＳ６）。
【００２３】
図４は、実施の形態に係るカメラの第１のライトコマンド発行処理を示すフローチャートである。第１のライトコマンドを発行する場合には、メモリ１８に記憶された画像データを書き込み単位に相当するサイズ毎の分割データ（２５６ブロック分のサイズである１２８ＫＢ毎に分割した分割データ）とする（ステップＳ１１）。
【００２４】
ＣＰＵ４は、ＦＡＴ上で１の分割データのサイズに相当するクラスタを確保し、確保したクラスタに読み出した画像を順次割り当て、クラスタｎ（ｎは自然数）のＦＡＴエントリにはクラスタｎ＋１、クラスタｎ＋１のＦＡＴエントリにはクラスタｎ＋２の読み出し順序を設定し、確保した最後尾のクラスタを除くクラスタのＦＡＴエントリに読み出し順序を書き込むための指示をメモリカード２８に対して行う（ステップＳ１２）。ここで、１つのクラスタのサイズが例えば３２ＫＢである場合には、１２８ＫＢの分割データを書き込むために４つのクラスタを確保する。そして、メモリ１８に記憶されている分割データのうち、読み出し順序が最先の１の分割データをメモリカード２８に対して送信する（ステップＳ１３）。
【００２５】
ＣＰＵ４は、メモリカード２８に対して未だ送信されていない分割データがメモリ１８に残っているか否かを確認する（ステップＳ１４）。メモリカード２８に対して未送信の分割データが残っている場合には、ステップＳ１２及びＳ１３の処理を再度行う。
【００２６】
メモリカード２８に対して未送信の分割データが残っていない場合には（ステップＳ１４：Ｎｏ）、メモリ１８に書き込み単位である１２８ＫＢ未満のサイズのデータが記憶されているか否かを確認する（ステップＳ１５）。書き込み単位未満のデータが記憶されている場合には、当該データのサイズに相当するクラスタをステップＳ１２と同様に確保し、ＦＡＴエントリに読み出し順序を書き込むための指示をメモリカード２８に対して行う（ステップＳ１６）。そして、書き込み単位である１２８ＫＢ未満のデータをメモリカード２８に対して送信する（ステップＳ１７）。ここで、１２８ＫＢ未満のデータがブロックサイズである５１２ｂｙｔｅの整数倍でない場合には、５１２ｂｙｔｅ未満となる端数データはブロック単位で書き込むことができないため、メモリカード２８においてはキャッシュ３７に一時的に記憶される。
【００２７】
ＣＰＵ４は、クローズ処理として、確保したＦＡＴエントリの最後尾のクラスタにおいてデータの終端位置に相当する位置に終端記号を書き込むための指示をメモリカード２８に対して行う（ステップＳ１８）。この処理によりメモリカード２８のキャッシュ３７に一時的に記憶された端数データが存在する場合には、メモリコントローラは、ＦＡＴエントリにおいて終端記号を書き込む位置に対応するクラスタに端数データを記憶させる。
【００２８】
メモリ１８に書き込み単位である１２８ＫＢ未満のサイズのデータが記憶されていない場合には（ステップＳ１５：Ｎｏ）、ステップＳ１８の処理を行う。
【００２９】
図５は、実施の形態に係るカメラの第２のライトコマンド発行処理を示すフローチャートである。第２のライトコマンドを発行する場合には、メモリ１８に記憶された画像データがメモリカード等の記憶媒体に一般的にブロックサイズとして用いられている５１２ｂｙｔｅの整数倍であるか否かを判定する（ステップＳ２１）。ブロックサイズの整数倍でない場合には、画像データに対してダミーデータを付加し、ダミーデータを付加した画像データがブロックサイズの整数倍となるようにする（ステップＳ２２）。そして、ダミーデータを付加した画像ファイルのデータを所定のサイズのデータ（２５６ブロック分のサイズである記憶させる１２８ＫＢ毎に分割した分割データ）とする（ステップＳ２３）。ステップＳ２１において画像データがブロックサイズの整数倍である場合には、そして、生成した画像データを書き込み単位に相当する所定のサイズのデータ（２５６ブロック分のサイズである１２８ＫＢ毎に分割した分割データ）とする（ステップＳ２４）。
【００３０】
ＣＰＵ４は、ＦＡＴ上で分割データのサイズに相当するクラスタを確保し、確保したクラスタに読み出した画像を順次割り当て、クラスタｎ（ｎは自然数）のＦＡＴエントリにはクラスタｎ＋１、クラスタｎ＋１のＦＡＴエントリにはクラスタｎ＋２の読み出し順序を設定し、確保した最後尾のクラスタを除くクラスタのＦＡＴエントリに読み出し順序を書き込むための指示をメモリカード２８に対して行う（ステップＳ２５）。そして、メモリ１８に記憶されている分割データのうち、読み出し順序が最先の１の分割データをメモリカード２８に対して送信する（ステップＳ２６）。
【００３１】
ＣＰＵ４は、メモリカード２８に対して未だ送信されていない分割データがメモリ１８に複数残っているか否かを確認する（ステップＳ２７）。メモリカード２８に対して未送信の分割データが複数残っている場合には、ステップＳ２５及びＳ２６の処理を再度行う。
【００３２】
分割データが１つのみ残っている場合（当該データが読み出し順序として最後の分割データである。）には、メモリ１８に書き込み単位である１２８ＫＢ未満のサイズのデータが記憶されているか否かを確認する（ステップＳ２８）。書き込み単位未満のデータが記憶されている場合には、ＦＡＴ上で最後の分割データ及び書き込み単位未満のデータに相当するクラスタを確保し、確保したクラスタに読み出した画像をステップＳ２５と同様に順次割り当てると共に、確保した最後尾のクラスタのダミーデータを含まない画像データの終端に相当する位置に終端記号を書き込むための指示をメモリカード２８に対して行う（ステップＳ２９）。そして、最後の分割データ及び書き込み単位未満のデータをメモリカード２８へ送信する（ステップＳ３０）。
【００３３】
メモリ１８に書き込み単位未満のデータが記憶されていない場合には（ステップＳ２８：Ｎｏ）、ＦＡＴ上で最後の分割データに相当するクラスタを確保し、確保したクラスタに読み出した画像をステップＳ２５と同様に順次割り当てると共に、確保した最後尾のクラスタのダミーデータを含まない画像データの終端に相当する位置に終端記号を書き込むための指示をメモリカード２８に対して行う（ステップＳ３１）。そして、最後の分割データをメモリカード２８へ送信する（ステップＳ３２）。
【００３４】
上述の第２のライトコマンドが発行された場合には分割データのサイズ及び書き込み単位未満のデータのサイズはブロックサイズの整数倍となっているため、キャッシュ３７に記憶することなく画像データを記憶することができる。
【００３５】
本実施の形態に係るカメラによれば、連写モードにおいてメモリカードのキャッシュを用いないため、高画質で撮像を行った場合であっても高速で連写を行うことができる。
【００３６】
また、単写モードにおいて端数データについてはキャッシュを用いるため、データが一部のみに記憶されているブロックを有効に利用することができる。
【００３７】
また、連写モードにおいて、ＦＡＴ上ではダミーデータを含まない画像データのデータ長を書き込むため、ブロックを有効に利用することができる。
【００３８】
なお、上述の実施の形態において、カメラのメモリカードに対する書き込み単位を１２８ＫＢとして説明したが、６４ＫＢや２５６ＫＢ等２ｎＫＢ（ｎは自然数）であればよい。この場合であっても、上述のブロックサイズが５１２ｂｙｔｅであるため書き込み単位はブロックサイズの整数倍であり、メモリカードの物理的制約を受けることなく高速でメモリカードへの書き込みを行うことができる。
【００３９】
また、上述の実施の形態において、第２のライトコマンドを発行する際にブロックサイズの整数倍となるようにダミーデータを付加する構成を例に説明したが、書き込み単位の整数倍となるようにダミーデータを付加してもよい。
【００４０】
また、上述の実施の形態において、第２のライトコマンドを発行した際に書き込み単位未満のデータを記憶している場合に、最後の分割データと共に書き込み単位未満のデータをメモリカードに送信する構成としたが、最後の分割データと書き込み単位未満のデータをそれぞれ別個に送信する構成としてもよい。
【符号の説明】
【００４１】
２…カメラ、４…ＣＰＵ、８…ＣＣＤ、１８…メモリ、２２…操作部、２８…メモリカード、３４…ＦＡＴ、３５…データ管理領域、３６…データ記憶領域、３７…キャッシュ。
【図１】
2010193275.tif 000003
【図２】
2010193275.tif 000004
【図３】
2010193275.tif 000005
【図４】
2010193275.tif 000006
【図５】
2010193275.tif 000007