(57)【要約】撮像装置において、連写動作が不規則に停止する等、安定した連写動作が実現できないという課題を解決するために、撮像装置は、画像データを生成する撮像手段と、画像データを蓄積する第１のバッファと、撮像手段による撮影間隔を、第１のバッファの残量に対して一定もしくは単調に減少する連続関数にしたがって制御する制御手段とを備える。
2009104776.tif 000002
【特許請求の範囲】
【請求項１】
画像データを生成する撮像手段と、
前記画像データを蓄積する第１のバッファと、
前記撮像手段による撮影間隔を、前記第１のバッファの残量に対して一定もしくは単調に減少する連続関数にしたがって制御する制御手段と
を備えることを特徴とする撮像装置。
【請求項２】
前記制御手段は、前記残量がしきい値未満である期間は、前記撮影間隔を前記残量の減少にしたがって増加するように制御することを特徴とする請求の範囲第１項記載の撮像装置。
【請求項３】
前記制御手段は、前記残量が１画像の最大データ量未満である期間は、前記撮影間隔を無限大とし、前記残量が１画像の最大データ量以上となったときに、前記撮影間隔を前記最大データ量に対応する値に設定するように制御することを特徴とする請求の範囲第１項または第２項に記載の撮像装置。
【請求項４】
前記撮像手段が生成した画像データを順次交互に格納する複数の第２のバッファと、
前記複数の第２のバッファが格納した順に、前記画像データを読み出して、該画像データを符号化し、該符号化した画像データを前記第１のバッファに蓄積する画像処理手段と
を備えたことを特徴とする請求の範囲第１項ないし第３項のいずれか１項記載の撮像装置。
【請求項５】
前記制御手段は、前記撮像手段による処理と、前記画像処理手段による処理とを同時に開始するように制御することを特徴とする請求の範囲第４項記載の撮像装置。
【請求項６】
画像データを生成し、
前記画像データを第１のバッファに蓄積し、
前記画像データが生成される撮影間隔を、前記第１のバッファの残量に対して一定もしくは単調に減少する連続関数にしたがって制御することを特徴とする撮像方法。
【請求項７】
前記残量がしきい値未満である期間は、前記撮影間隔を前記残量の減少にしたがって増加するように制御することを特徴とする請求の範囲第６項記載の撮像方法。
【請求項８】
前記残量が１画像の最大データ量未満である期間は、前記撮影間隔を無限大とし、前記残量が１画像の最大データ量以上となったときに、前記撮影間隔を前記最大データ量に対応する値に設定するように制御することを特徴とする請求の範囲第６項または第７項記載の撮像方法。
【請求項９】
前記生成した画像データを順次交互に複数の第２のバッファに格納し、
前記複数の第２のバッファが格納した順に、前記画像データを読み出して、該画像データを符号化し、該符号化した画像データを前記第１のバッファに蓄積することを特徴とする請求の範囲第６項ないし第８項のいずれか１項記載の撮像方法。
【請求項１０】
前記画像データを生成することと、前記複数の第２のバッファが格納した順に、前記画像データを読み出して、該画像データを符号化し、該符号化した画像データを前記第１のバッファに蓄積することとを、同時に開始するように制御することを特徴とする請求の範囲第９項記載の撮像方法。
【請求項１１】
画像データを生成する処理と、
前記画像データを第１のバッファに蓄積する処理と、
前記画像データが生成される撮影間隔を、前記第１のバッファの残量に対して一定もしくは単調に減少する連続関数にしたがって制御する処理とを、コンピュータに実行させることを特徴とする撮像プログラム。
【請求項１２】
前記残量がしきい値未満である期間は、前記撮影間隔を前記残量の減少にしたがって増加するように制御する処理を含むことを特徴とする請求の範囲第１１項記載の撮像プログラム。
【請求項１３】
前記残量が１画像の最大データ量未満である期間は、前記撮影間隔を無限大とし、前記残量が１画像の最大データ量以上となったときに、前記撮影間隔を前記最大データ量に対応する値に設定するように制御する処理を含むことを特徴とする請求の範囲第１１項または第１２項記載の撮像プログラム。
【請求項１４】
前記生成した画像データを順次交互に複数の第２のバッファに格納する処理と、
前記複数の第２のバッファが格納した順に、前記画像データを読み出して、該画像データを符号化し、該符号化した画像データを前記第１のバッファに蓄積する処理とを含むことを特徴とする請求の範囲第１１項ないし第１３項のいずれか１項記載の撮像プログラム。
【請求項１５】
前記画像データを生成することと、前記複数の第２のバッファが格納した順に、前記画像データを読み出して、該画像データを符号化し、該符号化した画像データを前記第１のバッファに蓄積することとを、同時に開始するように制御する処理を含むことを特徴とする請求の範囲第１４項記載の撮像プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、撮像方法及びプログラムに関し、特に連写撮影機能を備えた撮像装置、およびそれによる撮像方法、プログラムに関する。
【背景技術】
【０００２】
連写撮影機能を備える撮像装置に関して、以下のような技術が知られている。すなわち、撮像装置は、撮像素子からの出力データを一旦バッファメモリへ取り込み、そのデータに対して圧縮処理等を施した後、再度バッファメモリへ格納する。その後、撮像装置は、バッファメモリに格納されたデータを、取り外し可能な記録媒体等へ書き込む。このような技術が、例えば特開２００２−１９９３２８号公報、特開２００３−８７６１９号公報および特開平０３−２５２２８２号公報等に開示される。
特開２００２−１９９３２８号公報に記載の撮像装置は、撮影素子の出力データを第１のメモリ領域へ格納する第１の処理機能と、第１のメモリ領域に格納されたデータに対して圧縮処理を施したのち、第２のメモリ領域に格納する第２の処理機能を備える。また、この撮像装置は、第２のメモリ領域に格納されたデータを格納する記録媒体を備える。この撮像装置は、第２のメモリ領域の圧縮処理済の画像データに、新たに処理された画像データを上書きしないように、第２のメモリ領域の空き領域が処理後のデータの容量より大きいかどうかを調べる。処理後のデータを格納できる空き領域がなければ、撮像装置は、第２のメモリ領域へのデータの書き込みを止める。そして、撮像装置は、第２のメモリ領域に格納されるデータを、記録媒体に書き込むことによって、第２のメモリ領域の空き領域を確保する。そのあと、撮像装置は、第２のメモリ領域に書き込む画像データの圧縮処理を開始する。
また、特開２００３−８７６１９号公報には、未処理画像データ用のＲＡＷバッファ領域と、処理済画像データ用の圧縮画像バッファ領域と記録媒体とを備えた撮像装置が開示される。この撮像装置は、ＲＡＷバッファのデータの圧縮処理の後、圧縮画像バッファが満杯になっているか否かを検査する。圧縮画像バッファが満杯になっている場合は、撮像装置は、バッファへの書き込みを中止する。そして、撮像装置は、既にバッファにたまっている圧縮画像データを、古い順に記録媒体へ書き込む。その後、撮像装置は、圧縮画像バッファの空きが発生したら、中断した圧縮等の処理を再開する。
また、特開２００７−２２１２１４号公報には、以下のようなカメラが開示される。すなわち、このカメラの制御回路が、撮影した未処理のままのデジタル画像をバッファメモリに書き込みを行うことと並行して、前記デジタル画像の処理を行う。そして、制御回路は、処理が行われたデジタル画像をバッファメモリから読み出して、それを恒久的なメモリに書き込みを行う。制御回路は、あらかじめ、連写中のバッファメモリの未処理画像の処理時間を判定し、連写コマ速をどのくらいにすれば、一定間隔で連続撮影をできるのかを算出しておく。制御回路は、未処理画像を格納するバッファメモリが、画像データによりあふれそうになったことを検出したときに、上記算出した一定間隔の連写コマ速に切り替える。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述したように特開２００２−１９９３２８号公報および特開２００３−８７６１９号公報に記載のカメラは、圧縮等の処理後のデータを格納するバッファメモリに空きがなくなるまで連写撮影を連続して行い、処理後のデータをバッファメモリに書き込む。そして、カメラは、空きがなくなると前記バッファメモリへの書き込みを中止する。そして、カメラは、前記バッファメモリから記録媒体へ、処理後のデータを書き込むことによって、前記バッファメモリに空き領域を造る。その後、カメラは撮影処理を再開する。
また、特開２００７−２２１２１４号公報に記載のカメラは、連写中のバッファメモリの未処理画像の処理時間に基づいて、あらかじめ低速度の連写コマ速度を算出しておく。カメラは、バッファメモリの空きが少なくなった後、連写コマ速度を、不連続に、一定速度（時間的に等間隔）での連写撮影に切り替える。
特開２００２−１９９３２８号公報および特開２００３−８７６１９号公報記載のカメラは、バッファメモリの空きがある間は連写速度が向上するものの、空きがなくなると連写撮影及び処理が直ちに停止する。したがって、記録媒体側の書き込み速度が、予測不可能であったり、一定速度以上であることが保証できなかったりする場合には、連写動作が不規則に停止する等、安定した連写動作が実現できないという問題点がある。
また、特開２００７−２２１２１４号公報記載のカメラは、バッファメモリが画像データであふれそうになると、連写速度が急に低速度に切り替わる。したがって、やはり安定した連写動作が実現できないという問題点がある。
本発明の目的は、上記課題を解決する撮像装置、撮像方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００４】
本発明の第１の撮像装置は、画像データを生成する撮像手段と、画像データを蓄積する第１のバッファと、撮像手段による撮影間隔を、第１のバッファの残量に対して一定もしくは単調に減少する連続関数にしたがって制御する制御手段とを備える。
本発明の第１の撮像方法は、画像データを生成し、画像データを第１のバッファに蓄積し、画像データが生成される撮影間隔を、第１のバッファの残量に対して一定もしくは単調に減少する連続関数にしたがって制御する。
本発明の第１のプログラムは、画像データを生成する処理と、画像データを第１のバッファに蓄積する処理と、画像データが生成される撮影間隔を、第１のバッファの残量に対して一定もしくは単調に減少する連続関数にしたがって制御する処理とを、コンピュータに実行させる。
【発明の効果】
【０００５】
本発明によれば、撮像装置において、安定した連写動作を実現できる効果が得られる。
【図面の簡単な説明】
【０００６】
図１は、本発明の実施形態１に係る撮像装置の構成を示すブロック図である。
図２は、実施形態１に係る撮像装置のバッファ量監視部の動作を示すグラフである。
図３Ａ、Ｂは、実施形態１に係る撮像装置の基本的な動作を示すタイムチャートである。
図４は、実施形態１に係る撮像装置による連写の撮影間隔を説明するタイムチャートである。
図５は、実施形態１に係る撮像装置の動作を示すフローチャートである。
図６は、本発明の実施形態２に係る撮像装置の構成を示すブロック図である。
図７は、実施形態２に係る撮像装置の蓄積バッファへのデータの書き込み動作を示すフローチャートである。
図８は、実施形態に係る撮像装置のファイルシステムへの書き込み動作を示すフローチャートである。
図９は、本発明の実施形態３に係る撮像装置の構成を示すブロック図である。
【符号の説明】
【０００７】
１、３２  カメラモジュール
２、２２  中間バッファ
３、２３  画像エンコーダ
４、２４、３１  蓄積バッファ
５、２５  ファイルシステム
６  反復タイマ
７  バッファ量監視部
１０、２０、３０  撮像装置
２６  制御部（ＣＰＵ）
２７  操作部
２８  ＲＯＭ
３２  制御手段
【発明を実施するための最良の形態】
【０００８】
実施形態１．
図１は本発明の実施形態１に係る撮像装置１０の構成を示すブロック図である。図１に示すように、撮像装置１０は、カメラモジュール１、中間バッファ（第２のバッファ）２、画像エンコーダ３、蓄積バッファ（第１のバッファ）４、ファイルシステム５、反復タイマ６、およびバッファ量監視部７を備える。各部の機能は次のとおりである。
カメラモジュール１は、被写体を静止画として撮影し、画像データ（デジタルデータ）を生成する。連写撮影時には、カメラモジュール１は、反復タイマ６からの指示に応答して、個々の撮影動作を開始する。
中間バッファ２は、カメラモジュール１が生成した画像データを一時的に格納するメモリである。中間バッファ２は、２枚のメモリを有する。２枚のメモリが、連続する画像データを交互に格納することが可能である。
画像エンコーダ３は、中間バッファ２に格納されている画像データを所定のコーデックによりエンコードし、それを圧縮ストリームとして出力する。コーデックの符号化方式としては、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）などが使用可能である。画像エンコーダ３も、反復タイマ６からの指示に応じて個々のエンコード動作を開始する。
蓄積バッファ４は、画像エンコーダ３から出力された画像データの圧縮ストリームを格納する。蓄積バッファ４は、先入れ先出し（ＦＩＦＯ：Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）式によりデータを格納する。一般に圧縮ストリームはサイズが一定ではないので、蓄積バッファ４はリングバッファを実装すると好適である。
ファイルシステム５は、蓄積バッファ４に蓄積されている圧縮ストリームを、ファイルとして外部記憶装置等に順次格納する。ファイルシステム５は、蓄積バッファ４に圧縮ストリームが格納されることにより、動作を開始する。
反復タイマ６は、設定されたタイムアウト値までクロック等のカウント動作を行うことにより、カメラモジュール１及び画像エンコーダ３に対する所定の間隔（連写間隔）の処理タイミングを生成する。ここで、タイムアウト値とは、カメラモジュール１が連写撮影を行う際の連写間隔を意味する。反復タイマ６は、カメラモジュール１及び画像エンコーダ３に対し、タイムアウト値に対応する間隔で、各処理を開始する指示信号を出力する。
バッファ量監視部７は、蓄積バッファ４に蓄積されている圧縮ストリームのデータ量を監視し、蓄積バッファ４の残量、すなわち残バッファ量に応じて、反復タイマ６が生成する信号の出力タイミングを一意に決定するタイムアウト値を生成する。バッファ量監視部７は、前記残バッファ量に対するしきい値を予め保持する。バッファ量監視部７は、蓄積バッファ４のデータ量を常時監視し、蓄積バッファ４の残バッファ量と前記しきい値とを比較する。比較の結果、前記残バッファ量が前記しきい値未満となると、バッファ量監視部７は、前記残バッファ量の減少に応じて、増加させたタイムアウト値を反復タイマ６に設定する。
また、バッファ量監視部７は、画像１枚分の圧縮ストリームのうち最大データ量、すわなち、最大符号量を予め保持する。バッファ量監視部７は、蓄積バッファ４の残バッファ量と前記最大符号量とを比較する。比較の結果、前記残バッファ量が前記最大符号量未満となると、バッファ量監視部７は、反復タイマ６のタイマ動作を停止させる（タイムアウト値∞）。そして、前記残バッファ量が前記最大符号量以上となると、バッファ量監視部７は、前記最大符号量に対応するタイムアウト値を反復タイマ６に供給して、反復タイマ６のタイマ動作を再開するように制御する。なお、反復タイマ６とバッファ量監視部７は、カメラモジュール１からファイルシステム５までを制御する本発明の主要制御機能を実現するものである。
図２は本実施形態のバッファ量監視部７の制御動作を示すグラフである。図２に示すグラフにおいて、横軸は各時刻における残バッファ量、縦軸は残バッファ量に応じて決められるタイムアウト値である。
タイムアウト値は、ユーザが設定した目標間隔、すなわち最高速度の連写間隔が下限値であり、あらかじめ決められた最大間隔、すなわち、最低速度の連写間隔が上限値である。残バッファ量の最大値は、バッファ容量である。
バッファ量監視部７は、残バッファ量に対する任意のしきい値を予め保持する。このしきい値は、バッファ容量より小さく、１枚の画像の最大符号量より大きい値である。図２に示すように、バッファ量監視部７は、残バッファ量がしきい値以上である期間は、タイムアウト値を一定の値、すなわち、目標間隔に設定する。一方、バッファ量監視部７は、残バッファ量がしきい値未満である期間は、タイムアウト値を目標間隔以上の値に設定する。つまり、タイムアウト値は、残バッファ量の減少に伴って連続的に増加するという連写間隔の制御特性を有する。
蓄積バッファ４の残バッファ量がしきい値以上の場合は、ファイルシステム５による書き込み速度は、蓄積バッファ４へのデータの蓄積速度を十分に上回っていると考えられる。したがって、連写速度を落とす必要はないので、バッファ量監視部７は、目標間隔を維持するようにタイムアウト値を設定する。
一方、蓄積バッファ４の残バッファ量がしきい値未満になった場合、ファイルシステム５の書き込み速度が、蓄積バッファ４へのデータの蓄積速度を下回っていると考えられる。したがって、バッファ量監視部７は、残バッファ量が少なくなることに伴って、徐々に連写間隔を大きくする。
さらに、残バッファ量が１枚の画像の最大符号量を下回った場合、更に１枚の画像でも追加されればバッファが枯渇する恐れがある。したがって、この場合、バッファ量監視部７は反復タイマ６の動作を停止する。
次に、本実施形態の撮像装置の動作を説明する。
最初に、蓄積バッファ４に充分な残量がある場合の撮像装置１０による連写動作について説明する。
図３は本実施形態の基本的な動作を示すタイムチャートである。図１、図３Ａ、図３Ｂを参照して連写動作を説明する。
図３Ａには、反復タイマ６による撮影指示の各タイミングと、カメラモジュール１による撮影動作から、画像エンコーダ３によるエンコード動作までが示されている。
反復タイマ６は、一定の間隔、すなわち目標間隔でカメラモジュール１に対して撮影開始を指示する信号を供給するとともに、画像エンコーダ３に対して符号化処理の開始を指示する信号を供給する。これらの信号に応答して、カメラモジュール１と画像エンコーダ３は、同時に動作を開始する。カメラモジュール１は、静止画を撮影して、画像データを生成する。そして、カメラモジュール１は、中間バッファ２が有する中間バッファ（１）と中間バッファ（２）のうちの空いている一方に画像データを書き込む。画像エンコーダ３は、その時点で、他方の中間バッファ２に格納済みの画像データを読み出して、それに対してエンコードする。両者は同時に動作を開始する。そのため、画像エンコーダ３は必ず１回前に撮影された画像データに対してエンコードする。
このように、撮像装置１０は、撮影処理とエンコード処理とを平行して行う、すなわち両処理をパイプライン化する。この動作により、撮像装置１０は、通常は撮影に要する時間とエンコードに要する時間の合計値以下には短縮できない連写間隔を、どちらか長い方の処理時間まで短縮することができる。
画像エンコーダ３は、エンコードした画像データ、すなわち圧縮ストリームを蓄積バッファ４に格納する。図３Ｂには、画像エンコーダ３により生成された圧縮ストリームが、蓄積バッファ４およびファイルシステム５に書き込まれる動作が示されている。
画像エンコーダ３は、生成した圧縮ストリームを蓄積バッファ４に書き込む。ファイルシステム５は、蓄積バッファ４に１枚でも圧縮ストリームが格納されると、それをファイルとして外部記憶装置に格納する動作を開始する。ファイルシステム５は、蓄積バッファ４に圧縮ストリームが残っている間は連続的に動作する。なお、撮影動作中、バッファ量監視部７は、蓄積バッファ４の残バッファ量を常時監視し、反復タイマ６に対するタイムアウト値を制御している。
図３Ｂに示す蓄積バッファ４に関するグラフにおいて、縦軸はデータ量を示す。実線５１は、蓄積バッファ４のバッファ容量を示す。図３Ｂは、生成された圧縮ストリームが蓄積バッファ４に格納されてから、ファイルシステム５に書き込まれ、その後蓄積バッファ４から消去されるまでの動作を示す。
図３Ｂに示す例では、圧縮ストリームの蓄積量が蓄積バッファ４のバッファ容量に充分収まっている。よって、バッファ量監視部７は、タイムアウト値を変更することなく、一定の間隔、すなわち目標間隔をタイムアウト値として反復タイマ６に供給している。カメラモジュール１は、この目標間隔で連写動作を行う。
次に、本実施形態の図２に示す制御特性が実現される動作を説明する。
図４は連写速度が変化する場合の動作を示すタイムチャートである。図４は、蓄積バッファ４の残バッファ量とバッファ量監視部７の動作について説明している。
図４に示すグラフは、縦軸が残バッファ量を示し、横軸が時間を示す。図４は、時刻ｔ１以降に、蓄積バッファ４へ圧縮ストリームが書き込まれる様子と、蓄積バッファ４に格納された圧縮ストリームがファイルシステム５へ書き込まれる様子を示す。また図４は、蓄積バッファ４から書き込み済みの圧縮ストリームが消去される様子を示す残バッファ量の推移も示す。
但し、図４は、蓄積バッファ４に書き込まれた圧縮ストリームが書き込み直後から減少することを示す鋸状の残バッファ量の推移を示す。ファイルシステム５への書き込み済みの圧縮ストリームに関する蓄積バッファ４の消去動作が、１画像分の書き込み終了毎に行われる場合は、残バッファ量の推移は図３と同様に階段状となる。
また、図４に示す例では、ファイルシステム５の書き込み動作の速度が、一定でなく、時刻ｔ５の前後で変化することを想定している。すなわち、ファイルシステム５の書き込み動作の速度は、期間ｐでは低く、期間ｑでは高いことを想定している。書き込み動作の速度が、右下がりの傾斜（及び細線の傾斜）により表されている。
図５は、この実施形態に係る撮像装置１の動作を示すフローチャートである。図４、図５を参照して、撮像装置１の動作について説明する。
蓄積バッファ４の残バッファ量が最大の状態（時刻ｔ０−ｔ１）である時刻ｔ１に、ユーザがカメラモジュール１の連写ボタンを押下した場合について説明する（ステップＳ１００）。
この押下に応答して、バッファ量監視部７は、残バッファ量がしきい値以上であるか否かを判定する（ステップＳ１０１）。ここでは、残バッファ量はしきい値以上であるため、バッファ量監視部７は、タイムアウト値に目標間隔である最高速度での連写間隔を設定し（ステップＳ１０２）、それを反復タイマ６に供給する（ステップＳ１０３）。
反復タイマ６は、撮影を指示する信号とエンコードを指示する信号を、目標間隔で、それぞれカメラモジュール１と画像エンコーダ３に供給する（ステップＳ１０４）。上記信号に応答して、カメラモジュール１は、高速連写の動作を開始し、生成した画像データを中間バッファ２に格納する（ステップＳ１０５）。また、画像エンコーダ３は、上記信号に応答して、中間バッファ２に格納されている画像データをエンコードし、それを圧縮ストリームとして出力する（ステップＳ１０５）。出力された圧縮ストリームは、蓄積バッファ４に格納される（ステップＳ１０６）。ファイルシステム５は、蓄積バッファ４に圧縮ストリームが格納されると、それを読み出してそれを外部記憶装置に格納する（ステップＳ１０７）。ユーザから連写撮影の終了指示があれば（ステップＳ１０８）、カメラモジュール１は連写動作を終了する（ステップＳ１０９）。連写撮影の終了指示がなければ、ステップＳ１０１に戻る。図４に示す例では、時刻ｔ１から時刻ｔ２まで、カメラモジュール１は、目標間隔、すなわち本来の速度で、連写を行う。
ここで、ファイルシステム５による書き込み速度は低速である。よって、蓄積バッファ４の圧縮ストリームの蓄積量が次第に増加し、残バッファ量は次第に減少する。そして、残バッファ量は、時刻ｔ２においてしきい値を下回る。
バッファ量監視部７は、残バッファ量を前記しきい値に基づいて監視している。バッファ量監視部７は、ステップＳ１０１で残バッファ量が前記しきい値を下回ったことを検出すると、続いて、残バッファ量が１枚の画像の最大符号量を下回ったか否かを調べる（ステップＳ１１０）。ここでは、残バッファ量は１枚の画像の最大符号量を下回っていない。また、上述したように、ここでは残バッファ量は減少している（ステップＳ１１１）。したがって、バッファ量監視部７は、その時点の残バッファ量等に応じてタイムアウト値を増加させ（ステップＳ１１２）、増加させたタイムアウト値を反復タイマ６に供給する（ステップＳ１０３）。バッファ量監視部７は、図２に示す制御特性にしたがって増加量を決定してもよい。反復タイマ６は、増加されたタイムアウト値にしたがって、カメラモジュール１に撮影を指示する信号を供給するとともに、画像エンコーダ３に符号化処理を指示する信号を供給する（ステップＳ１０４）。カメラモジュール１は、上記信号に応答して、連写動作を継続する。
図４に示す例では、時刻ｔ２以降も残バッファ量が減少している。この間、バッファ量監視部７は、各時点での残バッファ量に応じて、順次タイムアウト値を増加し、増加したタイムアウト値を反復タイマ６に供給する。反復タイマ６は、増加されたタイムアウト値にしたがって、カメラモジュール１に撮影を指示する信号を供給する。カメラモジュール１は、上記信号に応答して、連写動作を継続する。連写速度は、連続的に低下することになる。矢印Ａで示す期間は、残バッファ量の減少に伴って、撮影間隔が大きくなっていることを示す。
続いて、時刻ｔ３では、圧縮ストリームの書き込みにより、蓄積バッファ４の残バッファ量が、１枚の画像の最大符号量を下回っている。バッファ量監視部７は、１枚の画像の最大符号量未満であることを検出して（ステップＳ１１０でＹｅｓ）、最大符号量未満の期間、すなわち時刻ｔ３から時刻ｔ４までの期間、反復タイマ６を停止する（タイムアウト値∞）（ステップＳ１１４）。時刻ｔ３以降、蓄積バッファ４への圧縮ストリームの書き込みが停止されるとともに、蓄積バッファ４から圧縮ストリームがファイルシステム５に書き込まれる。したがって、徐々に蓄積バッファ４の残バッファ量が増加する。そして、時刻ｔ４のＢ時点において、残バッファ量として最大符号量が確保される。バッファ量監視部７は、時刻ｔ４において、残バッファ量として最大符号量が確保されたことを検出し（ステップＳ１１５）、反復タイマ６の動作を再開させる（ステップＳ１１６）。ここで反復タイマ６を再開させた時のタイムアウト値は、前記最大符号量に対応する値である。
バッファ量監視部７は、時刻ｔ４以降も残バッファ量を監視する。バッファ量監視部７は、蓄積バッファ４の残バッファ量が、しきい値未満である期間、すなわちタイムアウト値の連続的な制御を行う期間では、各時点の残バッファ量に応じたタイムアウト値を反復タイマ６に設定する。このように、変更されるタイムアウト値にしたがって、カメラモジュール１は、連写動作を継続する。
ここで、反復タイマ６が再開した後の時刻ｔ５以降、期間ｑにおいて、ファイルシステム５による書き込み動作が高速化している。このため、蓄積バッファ４の残バッファ量が次第に増加に転じている。
したがって、ステップＳ１１１において、バッファ量監視部７は、蓄積バッファ４の残バッファ量が増加していることを検出し、反復タイマ６のタイムアウト値を減少させる（ステップＳ１１３）。これにより、矢印Ｃで示す期間は、連写間隔は次第に減少し、連写速度は連続的に増加する。時刻ｔ１から時刻ｔ６までの期間は、残バッファ量がしきい値を下回っているため、カメラモジュール１は、目標間隔よりも大きい間隔、すなわち最高速度よりも低い速度で連写を行うことになる。
そして、時刻ｔ６では残バッファ量がしきい値以上となる（ステップＳ１０１でＹｅｓ）。バッファ量監視部７は、反復タイマ６のタイムアウト値を目標間隔に設定する。これにより、カメラモジュール１は、本来の高速連写に復帰する。
上記動作により、バッファ量監視部７はタイムアウト値を制御する。
以上のように、この実施形態１による撮像装置１０では、バッファ量監視部７が、蓄積バッファ４の残バッファ量を常時監視し、残バッファ量に応じて撮影間隔を少なくとも一部連続的に制御する。すなわち、残バッファ量がしきい値以上の場合は、バッファ量監視部７は、タイムアウト値を変更せず、最高速度、すなわち目標間隔に設定する。これにより、カメラモジュール１は、目標間隔で連写を行うことが可能である。これは、蓄積バッファ４からファイルシステム５へのデータの書き込み速度が一定値以下であることが保証できないような低い場合や、書き込み速度を予測できない場合でも、実現できる。
また、残バッファ量がしきい値未満の場合は、バッファ量監視部７は、残バッファ量の減少または増加に応じて、タイムアウト値を変更する。すなわち、バッファ量監視部７は、最高速度から、最低速度の間で、連写間隔を連続的に増加させたり減少させたりする。これにより、カメラモジュール１は、安定した連写動作を行うことができる。
更に、蓄積バッファ４の残バッファ量が１枚の画像の最大符号量未満となった場合、バッファ量監視部７は、この期間は、反復タイマ６のタイマ動作を停止する。これにより、蓄積バッファ４への圧縮ストリームの蓄積も停止するので、残バッファ量が増加する。したがって、残バッファ量が１枚の画像の最大符号量以上となったとき以降、カメラモジュール１は、引き続き連写動作を行うことができる。
このように、蓄積バッファ４の残バッファ量に応じて、連写間隔が高速から連続的に低速まで自然に変化し、撮像装置１０において、安定した連写動作を実現できる効果が得られる。
また、上記制御により、ファイルシステム５の性能が低い場合、バッファ量監視部７が連写間隔を大きくすることにより、ファイルシステム５の書き込み速度と連写間隔とが釣り合い、連写動作を安定させることができる。また、瞬間的にファイルシステム５の書き込み速度が落ちた場合でも、バッファ量監視部７が一時的に当該速度に応じて連写間隔を大きくし、書き込み速度が戻れば連写間隔を元に戻すことができるので、同様に連写動作を安定させることができる。
このように、ファイルシステムの動作が低速になると連写速度も低下させ、ファイルシステムの動作が高速になると連写速度も増加させるという制御が実現できる。これにより、蓄積バッファ４に格納されるデータを外部記憶装置等に書き込むファイルシステム５及び外部記憶装置等に要求される動作速度を低減することも可能になる。
ここで、近年の撮像装置に対する機能の増加に伴い、撮影可能な画像サイズは増加の一途を辿っている。これにより、撮影、エンコード、およびファイルへの書き込みの速度は低下している。このため、撮像装置が、連写機能を実現するにあたっては、極めて大容量のメモリを搭載するか、各部を高速な部品により構成する必要があった。これらはいずれも高価であり、実現にあたっては大きな課題を持っていた。本実施形態に係る撮像装置１０は、一般的に処理時間が安定しないファイルシステム処理と画像処理とを分離し、これらの間に設けた蓄積バッファ４の残量に応じて撮影間隔を可変に、連続的に制御する。この構成により、撮像装置に高価な部品を用いなくても、高速で安定した連写を実現することが可能である。
また、撮像装置１０は、２枚のメモリを含む中間バッファ４を備え、連続する画像データを交互に格納する。そして、この中間バッファ４を使用することにより、カメラモジュール１と画像エンコーダ３は、それぞれ撮像処理と符号化処理を同時に開始することができる。この構成により、通常は撮影に要する時間とエンコードに要する時間の合計値以下には短縮できない連写間隔を、撮像装置１０は、どちらか長い方の処理時間まで短縮することができる。したがって、撮像装置１０は、上述したバッファ量監視部７によるタイムアウト値の制御に加えて、撮影処理とエンコード処理とをパイプライン化することによって、それぞれを構成する部品の性能が低い場合であっても、短い連写間隔で安定した連写動作を行うことが可能である。
さらに、撮像装置１０は、蓄積バッファ４が圧縮ストリームを格納する構成を有するので、非圧縮の画像データを蓄積バッファ４が保持する場合に比べて、該バッファ用のメモリに低容量のメモリを用いることが可能となる。
実施形態２．
前述の実施形態１で示した各機能ブロック及び処理動作は、前述のようなハードウエアにより構成できるとともに、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を用いてコンピュータ制御により実現可能である。
図６はかかるコンピュータ制御による撮像装置２０の構成を示すブロック図である。撮像装置２０は、カメラモジュール２１、中間バッファ２２、画像エンコーダ２３、蓄積バッファ２４、ファイルシステム２５、制御部（ＣＰＵ）２６、操作部２７およびＲＯＭ２８を備える。カメラモジュール２１は、連写機能を有する。中間バッファ２２および蓄積バッファ２４は、それぞれＲＡＭの記憶領域等により構成可能である。画像エンコーダ２３は、画像データを圧縮する。ファイルシステム２５は、外部記憶装置等に対して圧縮ストリームをファイルとして書き込む。制御部（ＣＰＵ）２６は、各部を制御する。操作部２７は、ユーザからの撮影操作等を受け付ける。ＲＯＭ２８は、制御プログラム等を格納する。
本実施形態においては、制御部（ＣＰＵ）２６はＲＯＭ２８に格納された制御プログラムを読み込み、読み込んだプログラムに基づいて制御されるとともに、各部を制御する。制御部（ＣＰＵ）２６は、図１に示す実施形態１のバッファ量監視部７及び反復タイマ６に関連して説明した各制御機能及び図２に示すグラフの制御特性を、前記プログラムにしたがって実現する。
次に本実施形態に係る撮像装置２０の処理手順を説明する。
図７は蓄積バッファ２４に対するデータの書き込み動作を示すフローチャートである。制御部（ＣＰＵ）２６は、カメラモジュール２１の連写撮影による画像データを一旦中間バッファ２２に書き込む制御を行う（ステップＳ２０１）。また、直前に書き込んだ画像データを読み出して、それを画像エンコーダ２３によりエンコードする制御を行う（ステップＳ２０２）。そして、エンコードした画像データを、蓄積バッファ２４に書き込む制御を行う（ステップＳ２０３）。次に、制御部（ＣＰＵ）２６は、カメラモジュール２１による撮影動作が連写の継続か否かを判断する（ステップＳ２０４）。連写継続であれば、制御部（ＣＰＵ）２６は、蓄積バッファ２４の画像データの蓄積による残バッファ量を監視し、残バッファ量に応じて図２に示すグラフにしたがって、撮影間隔を少なくとも一部連続的に制御する（ステップＳ２０５）。
図８はファイルシステム２５による書き込み動作を示すフローチャートである。制御部（ＣＰＵ）２６は、蓄積バッファ２４に画像処理後の画像データが書き込まれると（ステップＳ３０１）、ファイルシステム２５にその画像データを画像データ単位で書き込む（ステップＳ３０２）。次に、蓄積バッファ２４に画像データが有るか否かを判断し（ステップＳ３０３）、画像データがあれば、ステップＳ３０１に戻り、ファイルシステム２５への書き込みを繰り返す。この書き込み動作速度はファイルシステム２５やファイルシステム２５が扱う外部記憶装置の特性等に依存する。
以上のように、本実施形態２に係る撮像装置２０も、上記実施形態１に係る撮像装置１０と同様に、中間バッファ２２、画像エンコーダ２３を含む画像処理部と、ファイルシステム２５とを分離する。そして、それらの間に設けた蓄積バッファ２４の残バッファ量に応じて、制御部（ＣＰＵ）２６が撮影間隔を連続的に制御する。この構成により、撮像装置２０は、ファイルシステム２５の書き込み速度が一定速度以上であることが保証できないような低い場合、または予測できない場合であっても、安定した連写動作を実現できる。
実施形態３．
図９は、本発明の実施形態３に係る撮像装置３０の構成を示すブロック図である。図９に示すように、実施形態３に係る撮像装置３０は、蓄積バッファ３１と制御手段３２とを備える。
蓄積バッファ３１は、データを蓄積する。制御手段３２は、蓄積バッファ３１の残量に応じて、撮影間隔を少なくとも一部連続的に制御する。
この構成により、撮像装置３０において、安定した連写動作を実現できる効果が得られる。
以上の各実施形態では、連写間隔を制御するために残バッファ量を監視するバッファとして、画像処理済みの画像データを格納するバッファを対象とした構成例を示したが、この構成に限らない。すなわち、本発明の他の実施形態として、圧縮処理前である未処理の画像データを蓄積するバッファを、監視対象とするように構成を変更してもよい。
この場合、図１に示す実施形態の中間バッファ２を、カメラモジュール１から出力する所望数の画像データを蓄積可能な蓄積バッファとして用い、該蓄積バッファの残バッファ量をバッファ量監視部７が監視するように構成を変更する。また、ファイルシステム５が、前記蓄積バッファの出力を画像エンコーダ３、および必要に応じて蓄積バッファ４を介して、画像処理後の画像データを外部記憶装置等に書き込むように構成する。
この実施形態においても、連写間隔の制御動作を図１に示す実施形態で説明した動作と同様の手順で行うことにより、図２に示すグラフのように、連写間隔を連続的に変更する制御を行うことが可能である。
更に、以上の各実施形態の撮像装置は、図２に示すグラフのように、残バッファ量の最大値、すなわちバッファ容量と１枚の画像の最大符号量との間の任意のしきい値を保持する。そして、バッファ量監視部７が、残バッファ量がしきい値と１枚の画像の最大符号量との間となる期間は、前記残バッファ量の減少にしたがって連続的に増加するように連写間隔を制御することを想定しているが、これに限らない。すなわち、図２に示すグラフは一例であり、本発明の残バッファ量とタイムアウト値との関係は図２と異なっていてもよい。例えば、図２のグラフのしきい値を、バッファ容量に限りなく近づけてもよい。また、バッファ容量からしきい値までは固定値でもよいし、僅かに増加するようにしてもよい。また、残バッファ量の減少にしたがって連写間隔が連続的に増加する特性は、所望の曲線を描くように任意に設定されてもよい。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【産業上の利用可能性】
【０００９】
本発明は、ファイルシステムの前段に設けたバッファのデータの残量に応じて撮影間隔を制御するものであり、書き込み速度が低い又は書き込み速度が予測できない等のファイルシステムへの適用が可能である。したがって、本発明は、カメラ、カメラ付き携帯端末等、カメラ機能を備える各種の電子機器に適用可能である。
この出願は、２００８年２月２０日に出願された日本出願特願２００８−０３９４１６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2009104776.tif 000003
【図２】
2009104776.tif 000004
【図３】
2009104776.tif 000005
【図４】
2009104776.tif 000006
【図５】
2009104776.tif 000007
【図６】
2009104776.tif 000008
【図７】
2009104776.tif 000009
【図８】
2009104776.tif 000010
【図９】
2009104776.tif 000011
【国際調査報告】
2009104776.tif 000012
2009104776.tif 000013
2009104776.tif 000014
2009104776.tif 000015