(58)【調査した分野】(Int.Cl.,DB名)
前記転送手段は、前記書き込み手段によって前記第1記憶エリアに格納された電子画像に基づいて前記電子画像と異なる形式の電子画像を生成する画像生成手段、および前記画像生成手段によって生成された電子画像を格納するファイルを前記第2記憶エリアに作成するファイル作成手段を含む、請求項1ないし2のいずれかに記載の電子カメラ。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、背景技術では、連写続行の可否の判定についてはメモリカードの空き容量に基づいた記述しかなく、画像が1次的に取り込まれる記憶領域の空き容量に基づいた連写の一時停止および再開の動作については不明である。このため、予期せず連写が停止する可能性があり、操作性が低下する恐れがある。
【0005】
それゆえに、この発明の主たる目的は、操作性を高めることができる、電子カメラを提供することである。
【課題を解決するための手段】
【0006】
この発明に従う電子カメラ(10:実施例で相当する参照符号。以下同じ)は、撮像手段から出力された電子画像を取得操作が検知される毎に第1記憶エリアに書き込む書き込み手段(S91, S119)、書き込み手段によって第1記憶エリアに格納された電子画像を第2記憶エリアに転送する転送手段(S31, S37, S47, S53, S63)、第1記憶エリアの空き容量が基準以上の容量を示す第1期間に取得操作を第1頻度で検出する第1検出手段(S23, S99)、第1記憶エリアの空き容量が基準を下回る容量を示す第2期間に取得操作を第1頻度よりも少ない第2頻度で検出する第2検出手段(S43)、および第1記憶エリアの空き容量を繰り返し報知する報知手段(S13, S69, S75, S93, S121)を備える。
【0007】
好ましくは、第1検出手段による取得操作の検知に関連して転送手段の処理を制限する制限手段(S97, S99)をさらに備える。
【0008】
好ましくは、報知手段は取得可能なフレーム数を単位として空き容量を報知する。
【0009】
好ましくは、転送手段は、書き込み手段によって第1記憶エリアに格納された電子画像に基づいて電子画像と異なる形式の電子画像を生成する画像生成手段(S31, S47, S63)、および画像生成手段によって生成された電子画像を格納するファイルを第2記憶エリアに作成するファイル作成手段(S37, S53)を含む。
【0010】
好ましくは、第1記憶エリアは主記憶装置(32)に相当し、第2記憶エリアは記録媒体(42)に相当する。
【0011】
この発明に従う撮像制御プログラムは、電子カメラ(10)のプロセッサ(26)に、撮像手段から出力された電子画像を取得操作が検知される毎に第1記憶エリアに書き込む書き込みステップ(S91, S119)、書き込みステップによって第1記憶エリアに格納された電子画像を第2記憶エリアに転送する転送ステップ(S31, S37, S47, S53, S63)、第1記憶エリアの空き容量が基準以上の容量を示す第1期間に取得操作を第1頻度で検出する第1検出ステップ(S23, S99)、第1記憶エリアの空き容量が基準を下回る容量を示す第2期間に取得操作を第1頻度よりも少ない第2頻度で検出する第2検出ステップ(S43)、および第1記憶エリアの空き容量を繰り返し報知する報知ステップ(S13, S69, S75, S93, S121)を実行させるための、撮像制御プログラムである。
【0012】
この発明に従う撮像制御方法は、電子カメラ(10)によって実行される撮像制御方法であって、撮像手段から出力された電子画像を取得操作が検知される毎に第1記憶エリアに書き込む書き込みステップ(S91, S119)、書き込みステップによって第1記憶エリアに格納された電子画像を第2記憶エリアに転送する転送ステップ(S31, S37, S47, S53, S63)、第1記憶エリアの空き容量が基準以上の容量を示す第1期間に取得操作を第1頻度で検出する第1検出ステップ(S23, S99)、第1記憶エリアの空き容量が基準を下回る容量を示す第2期間に取得操作を第1頻度よりも少ない第2頻度で検出する第2検出ステップ(S43)、および第1記憶エリアの空き容量を繰り返し報知する報知ステップ(S13, S69, S75, S93, S121)を備える。
【0013】
この発明に従う外部制御プログラムは、メモリ(44)に保存された内部制御プログラムに従う処理を実行するプロセッサ(26)を備える電子カメラ(10)に供給される外部制御プログラムであって、撮像手段から出力された電子画像を取得操作が検知される毎に第1記憶エリアに書き込む書き込みステップ(S91, S119)、書き込みステップによって第1記憶エリアに格納された電子画像を第2記憶エリアに転送する転送ステップ(S31, S37, S47, S53, S63)、第1記憶エリアの空き容量が基準以上の容量を示す第1期間に取得操作を第1頻度で検出する第1検出ステップ(S23, S99)、第1記憶エリアの空き容量が基準を下回る容量を示す第2期間に取得操作を第1頻度よりも少ない第2頻度で検出する第2検出ステップ(S43)、および第1記憶エリアの空き容量を繰り返し報知する報知ステップ(S13, S69, S75, S93, S121)を内部制御プログラムと協働してプロセッサに実行させるための、外部制御プログラムである。
【0014】
この発明に従う電子カメラ(10)は、外部制御プログラムを受信する受信手段(60)、および受信手段によって受信された外部制御プログラムとメモリ(44)に保存された内部制御プログラムとに従う処理を実行するプロセッサ(26)を備える電子カメラ(10)であって、外部制御プログラムは、撮像手段から出力された電子画像を取得操作が検知される毎に第1記憶エリアに書き込む書き込みステップ(S91, S119)、書き込みステップによって第1記憶エリアに格納された電子画像を第2記憶エリアに転送する転送ステップ(S31, S37, S47, S53, S63)、第1記憶エリアの空き容量が基準以上の容量を示す第1期間に取得操作を第1頻度で検出する第1検出ステップ(S23, S99)、第1記憶エリアの空き容量が基準を下回る容量を示す第2期間に取得操作を第1頻度よりも少ない第2頻度で検出する第2検出ステップ(S43)、および第1記憶エリアの空き容量を繰り返し報知する報知ステップ(S13, S69, S75, S93, S121)を内部制御プログラムと協働して実行するプログラムに相当する。
【発明の効果】
【0015】
連写速度は第1記憶エリアの空き容量に応じて変化するところ、第1記憶エリアの空き容量が繰り返し報知される。これによって、操作性が向上する。
【0016】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0017】
【
図1】この発明の一実施例の基本的構成を示すブロック図である。
【
図2】この発明の一実施例の構成を示すブロック図である。
【
図3】撮像面における評価エリアの割り当て状態の一例を示す図解図である。
【
図4】この発明のカメラにおいて実行される処理のタイミング図の一部を示す図解図である。
【
図5】この発明のカメラにおいて実行される処理のタイミング図の他の一部を示す図解図である。
【
図6】(A)はLCDモニタの表示およびバッファの状態の一例を示す図解図であり、(B)はLCDモニタの表示およびバッファの状態の他の一例を示す図解図である。
【
図7】(A)はLCDモニタの表示およびバッファの状態のその他の一例を示す図解図であり、(B)はLCDモニタの表示およびバッファの状態のさらにその他の一例を示す図解図である。
【
図8】(A)はLCDモニタの表示およびバッファの状態の他の一例を示す図解図であり、(B)はLCDモニタの表示およびバッファの状態のその他の一例を示す図解図である。
【
図9】(A)はLCDモニタの表示およびバッファの状態のさらにその他の一例を示す図解図であり、(B)はLCDモニタの表示およびバッファの状態の他の一例を示す図解図である。
【
図10】(A)はLCDモニタの表示およびバッファの状態のその他の一例を示す図解図であり、(B)はLCDモニタの表示およびバッファの状態のさらにその他の一例を示す図解図である。
【
図11】
図2実施例に適用されるCPUの動作の一部を示すフロー図である。
【
図12】
図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【
図13】
図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【
図14】
図2実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【
図15】
図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【
図16】
図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【
図17】
図2実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【
図18】
図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【
図19】
図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【
図20】
図2実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【
図21】
図2実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【
図22】
図2実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【
図23】この発明の他の実施例の構成を示すブロック図である。
【
図24】この発明のその他の実施例に適用されるCPUの動作の一部を示すフロー図である。
【
図25】この発明のその他の実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【
図26】この発明のさらにその他の実施例の構成を示すブロック図である。
【
図27】この発明の他の実施例に適用されるCPUの動作の一部を示すフロー図である。
【
図28】この発明の他の実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【
図29】この発明の他の実施例に適用されるCPUの動作のその他の一部を示すフロー図である。
【
図30】この発明の他の実施例に適用されるCPUの動作のさらにその他の一部を示すフロー図である。
【
図31】この発明の他の実施例に適用されるCPUの動作の他の一部を示すフロー図である。
【発明を実施するための形態】
【0018】
以下、この発明の実施の形態を図面を参照しながら説明する。
[基本的構成]
【0019】
図1を参照して、この実施例の電子カメラは、基本的に次のように構成される。書き込み手段1は、撮像手段から出力された電子画像を取得操作が検知される毎に第1記憶エリアに書き込む。転送手段2は、書き込み手段1によって第1記憶エリアに格納された電子画像を第2記憶エリアに転送する。第1検出手段3は、第1記憶エリアの空き容量が基準以上の容量を示す第1期間に取得操作を第1頻度で検出する。第2検出手段4は、第1記憶エリアの空き容量が基準を下回る容量を示す第2期間に取得操作を第1頻度よりも少ない第2頻度で検出する。報知手段5は、第1記憶エリアの空き容量を繰り返し報知する。
【0020】
連写速度は第1記憶エリアの空き容量に応じて変化するところ、第1記憶エリアの空き容量が繰り返し報知される。これによって、操作性が向上する。
[実施例]
【0021】
図2を参照して、この実施例のディジタルカメラ10は、ドライバ18aおよび18bによってそれぞれ駆動されるフォーカスレンズ12および絞りユニット14を含む。これらの部材を経たシーンを表す光学像は、イメージセンサ16の撮像面に照射され、光電変換を施される。これによって、シーンを表す電荷が生成される。
【0022】
電源が投入されると、CPU26は、動画取り込み処理を実行するべく、撮像メインタスクの下で露光動作および電荷読み出し動作の繰り返しをドライバ18cに命令する。ドライバ18cは、図示しないSG(Signal Generator)から周期的に発生する垂直同期信号Vsyncに応答して、撮像面を露光し、かつ撮像面で生成された電荷をラスタ走査態様で読み出す。イメージセンサ16からは、読み出された電荷に基づくRAW画像データ(=生画像データ)が周期的に出力される。
【0023】
信号処理回路20は、イメージセンサ16から出力されたRAW画像データにディジタルクランプおよびゲイン制御などの処理を施す。これらの処理を施されたRAW画像データは、メモリ制御回路30を通してSDRAM32に書き込まれる。信号処理回路20はさらに、SDRAM32に格納されたRAW画像データをメモリ制御回路30を通して読み出し、読み出されたRAW画像データに色分離処理,白バランス調整処理,YUV変換処理などの処理を施し、YUV形式に従う表示画像データを作成する。表示画像データは、メモリ制御回路30を通してSDRAM32に書き込まれる。
【0024】
LCDドライバ36は、SDRAM32に格納された表示画像データをメモリ制御回路30を通して繰り返し読み出し、読み出された画像データに基づいてLCDモニタ38を駆動する。この結果、シーンを表すリアルタイム動画像(スルー画像)がLCDモニタ38に表示される。
【0025】
また、イメージセンサ16から出力されたRAW画像データをキー入力装置28に設けられたシャッタボタン28shの操作に基づいて取り込むためのバッファBFが、SDRAM32に用意される。バッファBFは、複数の領域に分割され、これらの複数の領域に複数のRAW画像データをそれぞれ取り込むことができる。このようにしてRAW画像データを取り込み可能なバッファBFの領域の数を、CPU26は、連続して撮影可能なフレーム数を示す連写可能枚数としてスルー画像に重ねてLCDモニタ38に表示する。
【0026】
図3を参照して、撮像面の中央には評価エリアEVAが割り当てられる。評価エリアEVAは水平方向および垂直方向の各々において16分割され、256個の分割エリアが評価エリアEVAを形成する。また、信号処理回路20は、上述した処理に加えて、RAW画像データを簡易的にRGBデータに変換する簡易RGB変換処理を実行する。
【0027】
AE評価回路22は、信号処理回路20によって生成されたRGBデータのうち評価エリアEVAに属するRGBデータを、垂直同期信号Vsyncが発生する毎に積分する。これによって、256個の積分値つまり256個のAE評価値が、垂直同期信号Vsyncに応答してAE評価回路22から出力される。AF評価回路24は、信号処理回路20によって生成されたRGBデータのうち評価エリアEVAに属するRGBデータの高周波成分を、垂直同期信号Vsyncが発生する毎に積分する。これによって、256個の積分値つまり256個のAF評価値が、垂直同期信号Vsyncに応答してAF評価回路24から出力される。
【0028】
シャッタボタン28shが非操作状態のとき、CPU26は、AE評価回路22からの出力に基づく簡易AE処理を実行し、適正EV値を算出する。簡易AE処理は動画取り込み処理と並列して実行され、算出された適正EV値を定義する絞り量および露光時間はドライバ18bおよび18cにそれぞれ設定される。この結果、スルー画像の明るさが適度に調整される。
【0029】
シャッタボタン28shが半押しされると(=S1状態)、CPU26は、AE評価回路22からの出力に基づく厳格AE処理を実行する。厳格AE処理によって算出された最適EV値を定義する絞り量および露光時間は、ドライバ18bおよび18cにそれぞれ設定される。この結果、スルー画像の明るさが厳密に調整される。
【0030】
厳格AE処理が完了すると、CPU26は、AF評価回路24からの出力に基づくAF処理を実行する。この結果、フォーカスレンズ12が合焦点に配置され、スルー画像の鮮鋭度が向上する。
【0031】
シャッタボタン28shが全押しされると(=S2状態)、スルー画像の表示が停止し、RAW画像の取り込み,フリーズ画像の作成および表示,RAW画像データからDNG(Digital Negative)画像データへの変換,DNG形式の画像ファイルの書き込み,RAW画像データからJPEG(Joint Photographic Experts Group)画像データへの変換,ならびにJPEG形式の画像ファイルの書き込みの各処理が、1つのフレーム画像に対して実行される。また、シャッタボタン28shの全押し状態が継続されると、
図4および5のタイミング図に示すように、各処理の一部が並列して実行される。
【0032】
図4を参照して、シャッタボタン28shの全押しによって、厳格AE処理およびAF処理の完了後にRAW取込タスクが起動される。また、LCDモニタ38に表示された連写可能枚数の表示が、“1”減じられた値に更新される。
【0033】
CPU26は、RAW取込タスクの下で、厳格AE処理によって決定された期間の露光動作をドライバ18cに命令する。露光処理が完了すると、CPU26は、露光処理によって生成されたRAW画像データをバッファBFに取り込むべく、DMA(Direct Memory Access)転送の開始を命令する。
【0034】
RAW画像データの取り込みが完了した時点でシャッタボタン28shの全押し状態が継続していた場合、CPU26は、2フレーム目のRAW画像データを取り込むべく、RAW取込タスクを起動する。また、LCDモニタ38に表示された連写可能枚数の表示が、“1”減じられた値に更新される。
【0035】
2フレーム目のRAW画像データのDMA転送が開始されると、CPU26は、RAW画像データの取り込みと並列してフリーズ画像の作成および表示を実行するべく、フリーズ画像タスクを起動する。CPU26は、フリーズ画像タスクの下で、バッファBFに取り込まれた1フレーム目のRAW画像データにズーム処理等を施して、フリーズ画像を作成する。作成されたフリーズ画像は、スルー画像に代えてLCDモニタ38に表示される。
【0036】
図4に示す例によると、3フレーム目のRAW画像データの取り込み中にシャッタボタン28shの全押し状態が解除されている(=S2〜S1〜OFF)。この場合、3フレーム目のRAW画像データの取り込みが完了すると、3フレーム目のフリーズ画像の作成および表示が実行される。
【0037】
次にCPU26は、撮像メインタスクの下で、1フレーム目のRAW画像データからDNG画像データへの変換処理および画素欠陥補正処理を実行する。この結果、1フレーム目に対応するDNG形式の画像データがSDRAM32に作成される。
【0038】
作成されたDNG画像データに基づいてDNG形式の画像ファイルの書き込みを実行するべく、CPU26は、ファイル書込タスクを起動する。CPU26は、ファイル書込タスクの下で、SDRAM32に格納されたDNG画像データに基づいて、DNG画像ファイルの記録媒体42への書き込みを開始する。
【0039】
DNG画像ファイルの書き込みが完了すると、CPU26は、撮像メインタスクの下で、1フレーム目のRAW画像データからJPEG画像データへの変換処理を実行する。この結果、1フレーム目に対応するJPEG形式の画像データがSDRAM32に作成される。
【0040】
作成されたJPEG画像データに基づいてJPEG形式の画像ファイルの書き込みを実行するべく、CPU26は、ファイル書込タスクを起動する。CPU26は、ファイル書込タスクの下で、SDRAM32に格納されたJPEG画像データに基づいて、JPEG画像ファイルの記録媒体42への書き込みを開始する。
【0041】
CPU26はまた、1フレーム目のJPEG画像ファイルの書き込みと並列して、2フレーム目のRAW画像データからDNG画像データへの変換処理および画素欠陥補正処理を撮像メインタスクの下で実行する。この結果、2フレーム目に対応するDNG形式の画像データがSDRAM32に作成される。
【0042】
JPEG画像ファイルの書き込みが完了すると、1フレーム目のRAW画像データがバッファBFからクリアされる。つまり、バッファBFの空き領域が1つ増加するので、LCDモニタ38に表示された連写可能枚数の表示が、“1”加えられた値に更新される。
【0043】
また、DNG画像データの作成が完了すると、CPU26は、ファイル書込タスクを起動して、2フレーム目に対応するDNG画像ファイルの記録媒体42への書き込みを開始する。
【0044】
図5を参照して、DNG画像ファイルの書き込み中に、シャッタボタン28shが再び全押しされた場合、つまりいわゆる継ぎ足し連写撮影の操作が行われた場合、新たなフレームのRAW画像データの取り込みとフリーズ画像の作成および表示とが行われる。
【0045】
ここで、RAW画像データを取り込み可能なバッファBFの領域の数を“4”とした場合、最初のシャッタボタン28shの全押し操作によって3フレームのRAW画像データがバッファBFに取り込まれた時点で、空き領域は1つである。その後JPEG画像ファイルの書き込み完了によって1フレーム目のRAW画像データがバッファBFからクリアされたので、継ぎ足し連写撮影の開始時点で、バッファBFの空き領域は2つである。
【0046】
したがって、
図5に示すように、シャッタボタン28shの全押しが継続された場合であっても、RAW画像データの取り込みは2回で終了する。なお、2フレーム目に対応するJPEG画像ファイルの書き込み完了までシャッタボタン28shの全押しが継続された場合は、バッファBFに新たに空き領域が生じるので、その時点でRAW画像データの取り込みがさらに1回行われる。
【0047】
連写可能枚数の表示は、以下に述べる態様で変遷する。
図6(A)を参照して、RAW画像データを取り込み可能なバッファBFの領域の数を“4”とした場合、シャッタボタン28shが非操作状態の間は、LCDモニタ38の枚数表示領域ARにスルー画像に重ねて連写可能枚数“4”が表示される。
【0048】
図6(B)を参照して、シャッタボタン28shが全押しされると、スルー画像の表示が停止し、1フレーム目のRAW画像データがバッファBFの1番目の領域に取り込まれる。これによって、連写可能枚数の表示が“1”減じられて“3”に変化する。
【0049】
図7(A)を参照して、シャッタボタン28shの全押し状態が継続すると、2フレーム目のRAW画像データがバッファBFの2番目の領域に取り込まれる。これによって、連写可能枚数の表示が“1”減じられて“2”に変化する。また、1フレーム目のフリーズ画像が作成されてLCDモニタ38に表示される。
【0050】
図7(B)を参照して、シャッタボタン28shの全押し状態が継続すると、3フレーム目のRAW画像データがバッファBFの3番目の領域に取り込まれる。これによって、連写可能枚数の表示が“1”減じられて“1”に変化する。また、2フレーム目のフリーズ画像が作成されてLCDモニタ38に表示される。
【0051】
図8(A)を参照して、3フレーム目のRAW画像データの取り込み開始後から取り込み完了までの間にシャッタボタン28shの全押し状態が解除されると、RAW画像データの取り込みは3フレーム目で停止する。よって、連写可能枚数の表示は変化しない。また、3フレーム目のフリーズ画像が作成されてLCDモニタ38に表示される。
【0052】
図8(B)を参照して、1フレーム目のJPEG画像ファイルの書き込みが完了すると、1フレーム目のRAW画像データがバッファBFの1番目の領域からクリアされる。これによって、連写可能枚数の表示が“1”加えられて“2”に変化する。また、3フレーム目のフリーズ画像の表示は継続する。
【0053】
図9(A)を参照して、
図8(B)に示す状態のときにシャッタボタン28shが再び全押しされると、4フレーム目のRAW画像データがバッファBFの4番目の領域に取り込まれる。これによって、連写可能枚数の表示が“1”減じられて“1”に変化する。また、3フレーム目のフリーズ画像の表示は継続する。
【0054】
図9(B)を参照して、シャッタボタン28shの全押し状態が継続すると、5フレーム目のRAW画像データがバッファBFの1番目の領域に取り込まれる。これによって、連写可能枚数の表示が“1”減じられて“0”に変化する。また、4フレーム目のフリーズ画像が作成されてLCDモニタ38に表示される。
【0055】
図10(A)を参照して、シャッタボタン28shの全押し状態が継続した場合であっても、バッファBFの全ての領域にRAW画像データが取り込まれているので、新たなRAW画像データの取り込みは行われない。また、5フレーム目のフリーズ画像が作成されてLCDモニタ38に表示される。連写可能枚数の表示は、2,3,および4フレーム目のJPEG画像ファイルの書き込みがそれぞれ完了する毎に“1”加えられて、“1”,“2”,および“3”に変化する。
【0056】
図10(B)を参照して、シャッタボタン28shの新たな全押し操作が行われないまま5フレーム目のJPEG画像ファイルの書き込みが完了すると、連写可能枚数の表示が“1”加えられて“4”に変化する。また、スルー画像の表示が再開される。
【0057】
CPU26は、
図11〜15に示す撮像メインタスク,
図20に示すRAW取込タスク,
図21に示すフリーズ画像タスク,および
図22に示すファイル書込タスクを含む複数のタスクを並列的に実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ44に記憶される。
【0058】
なお、以下のフロー図の説明では、次のように定義した変数を用いる。
図11を参照して、変数“N”はバッファBFの領域のうち使用中の領域数を示す。この変数Nの最大値を“Nmax”に設定し、つまりNmaxはバッファBFに用意された領域数に相当する。
【0059】
変数“M”は、バッファBFの領域番号を示し、特にDNG形式またはJPEG形式への変換処理を施す対象を指定する。
【0060】
変数“P”は、バッファBFの領域番号を示し、特にRAW画像データを取り込む領域を指定する。
【0061】
変数“Q”は、バッファBFの領域番号を示し、特にフリーズ画像を作成する対象を指定する。
【0062】
ステップS1では変数Nに“0”を初期設定し、ステップS3では変数Nの最大値Nmaxに“4”を設定し、ステップS5では変数Mに“1”を初期設定し、ステップS7では変数Pに“0”を初期設定する。
【0063】
ステップS9では、動画取り込み処理を実行するべく、撮像メインタスクの下で露光動作および電荷読み出し動作の繰り返しをドライバ18cに命令する。この結果、イメージセンサ16からは、読み出された電荷に基づく生画像データが周期的に出力される。
【0064】
ステップS11ではLCDモニタ38へのスルー画像の表示を開始し、ステップS13では連写可能枚数Nmaxをスルー画像に重ねてLCDモニタ38に表示する。
【0065】
ステップS15ではシャッタボタン28shが半押しされたか否かを判別し、判別結果がNOであれば、ステップS17で簡易AE処理を実行する。この結果、スルー画像の明るさが適度に調整される。
【0066】
ステップS15の判別結果がNOからYESに更新されると、ステップS19で厳格AE処理を実行する。この結果、スルー画像の明るさが厳密に調整される。ステップS21ではAF処理を実行する。この結果、合焦点にフォーカスレンズ12が配置され、スルー画像の鮮鋭度が向上する。
【0067】
ステップS23ではシャッタボタン28shが全押しされたか否かを繰り返し判別し、判別結果がNOであれば、ステップS25でシャッタボタン28shが解除されたか否かを判別する。ステップS25の判別結果がNOであればステップS23に戻る一方、ステップS25の判別結果がYESであればステップS15に戻る。
【0068】
ステップS23の判別結果がYESであれば、ステップS27でLCDモニタ38へのスルー画像の表示を停止する。ステップS29では連写制御処理を実行する。ステップS29の処理が完了すると、ステップS31では、ステップS29の処理によってバッファBFのM番目の領域に取り込まれたRAW画像データに対して、DNG形式に変換する処理および画素欠陥補正処理を施す。この結果、DNG形式の画像データがSDRAM32に作成される。
【0069】
作成されたDNG画像データに基づく画像ファイルを記録媒体42に書き込むべく、ステップS33でフラグFLG_jpegに“0”を設定した上で、ステップS35でフラグFLG_fileに“0”を設定し、ステップS37でファイル書込タスクを起動する。
【0070】
ステップS39では、ステップS37で起動したファイル書込タスクの終了を判別するべく、フラグFLG_fileに“1”が設定されているか否かを判別する。判別結果がYESであればステップS47に進む一方、判別結果がNOであればステップS41に進む。
【0071】
ステップS41では変数NがNmax未満を示すか否かを判別し、判別結果がNOであればステップS39に戻る一方、判別結果がYESであればステップS43に進む。ステップS43ではシャッタボタン28shが全押し状態であるか否かを判別し、判別結果がNOであればステップS39に戻る一方、判別結果がYESであればステップS45に進む。
【0072】
ステップS45では連写制御処理を実行し、連写制御処理の完了後にステップS39に戻る。
【0073】
ステップS47では、ステップS29またはS43の処理によってバッファBFのM番目の領域に取り込まれたRAW画像データに対して、JPEG形式に変換する処理を施す。この結果、JPEG形式の画像データがSDRAM32に作成される。
【0074】
作成されたJPEG画像データに基づく画像ファイルを記録媒体42に書き込むべく、ステップS49でフラグFLG_jpegに“1”を設定した上で、ステップS51でフラグFLG_fileに“0”を設定し、ステップS53でファイル書込タスクを起動する。
【0075】
ステップS55では変数Nが“2”以上を示すか否かを判別し、判別結果がNOであればステップS71に進む一方、判別結果がYESであればステップS57に進む。ステップS57では変数Mをインクリメントし、この結果変数MがNmaxを超えたか否かをステップS59で判別する。判別結果がNOであればステップS63に進み、判別結果がYESであればステップS61の処理を経てステップS63に進む。
【0076】
ステップS61では変数Mに“1”を設定し、ステップS63では、ステップS29またはS43の処理によってバッファBFのM番目の領域に取り込まれたRAW画像データに対して、DNG形式に変換する処理および画素欠陥補正処理を施す。この結果、DNG形式の画像がSDRAM32に作成される。
【0077】
ステップS65では、ステップS53で起動したファイル書込タスクの終了を判別するべく、フラグFLG_fileに“1”が設定されているか否かを繰り返し判別する。判別結果がNOからYESに更新されるとステップS67に進む。
【0078】
ステップS67では変数Nをデクリメントし、ステップS69ではLCDモニタ38の連写可能枚数の表示を“Nmax−N”に更新し、その後にステップS33に戻る。
【0079】
ステップS71では、ステップS53で起動したファイル書込タスクの終了を判別するべく、フラグFLG_fileに“1”が設定されているか否かを繰り返し判別する。判別結果がNOからYESに更新されるとステップS73に進む。
【0080】
ステップS73では変数Nをデクリメントし、ステップS75ではLCDモニタ38の連写可能枚数の表示を“Nmax−N”に更新する。ステップS77ではLCDモニタ38へのスルー画像の表示を開始し、その後にステップS15に戻る。
【0081】
ステップS29およびS43の連写制御処理は、
図16〜
図19に示すサブルーチンに従って実行される。ステップS81では変数Nをインクリメントし、ステップS83では変数Pをインクリメントする。
【0082】
ステップS85では変数Pが示す値がNmaxを超えたか否かを判別し、判別結果がNOであればステップS89に進む一方、判別結果がYESであればステップS87の処理を経てステップS89に進む。ステップS87では変数Pに“1”を設定する。
【0083】
ステップS89ではフラグFLG_rawに“0”を設定し、ステップS91ではRAW取込タスクを起動する。ステップS93ではLCDモニタ38の連写可能枚数の表示を“Nmax−N”に更新する。
【0084】
ステップS95では、ステップS91で起動したRAW取込タスクの終了を判別するべく、フラグFLG_rawに“1”が設定されているか否かを繰り返し判別する。判別結果がNOからYESに更新されるとステップS97に進む。
【0085】
ステップS97では変数NがNmax未満を示すか否かを判別し、判別結果がNOであればステップS101に進む一方、判別結果がYESであればステップS99に進む。ステップS99ではシャッタボタン28shが全押し状態であるか否かを判別し、判別結果がNOであればステップS101に進む一方、判別結果がYESであればステップS109に進む。ステップS109では変数Pが示す値を変数Qに設定する。
【0086】
バッファBFへ取り込まれたRAW画像データに基づいてフリーズ画像を作成するべく、ステップS103でフラグFLG_frzに“0”を設定し、ステップS105でフリーズ画像タスクを起動する。起動されたフリーズ画像タスクの終了を判別するべく、フラグFLG_frzに“1”が設定されているか否かをステップS107で判別する。判別結果がNOからYESに更新されると上階層のルーチンに復帰する。
【0087】
ステップS109では変数Nをインクリメントし、ステップS111では変数Pをインクリメントする。
【0088】
ステップS113では変数Pが示す値がNmaxを超えたか否かを判別し、判別結果がNOであればステップS117に進む一方、判別結果がYESであればステップS115の処理を経てステップS117に進む。ステップS115では変数Pに“1”を設定する。
【0089】
ステップS117ではフラグFLG_rawに“0”を設定し、ステップS119ではRAW取込タスクを起動する。ステップS121ではLCDモニタ38の連写可能枚数の表示を“Nmax−N”に更新する。
【0090】
ステップS123では、ステップS119で起動したRAW取込タスクにおいてDMAによるRAW画像データの転送処理が開始されたか否かを判別するべく、フラグFLG_dmaに“1”が設定されたか否かを繰り返し判別する。判別結果がNOからYESに更新されると、ステップS125に進む。
【0091】
ステップS125では変数Pが示す値から“1”を減じた値を変数Qに設定し、この結果変数Qが“1”未満となったか否かをステップS127で判別する。判別結果がNOであればステップS131に進む一方、判別結果がYESであればステップS129の処理を経てステップS131に進む。ステップS129ではNmaxが示す値を変数Qに設定する。
【0092】
バッファBFへ取り込まれたRAW画像データに基づいてフリーズ画像を作成するべく、ステップS131でフラグFLG_frzに“0”を設定し、ステップS133でフリーズ画像タスクを起動する。その後、ステップS95に戻る。
【0093】
図20を参照して、ステップS141ではフラグFLG_dmaに“0”を設定し、ステップS19の厳格AE処理によって決定された期間の露光動作をステップS143でドライバ18cに命令する。露光処理が完了すると、露光処理によって生成されたRAW画像データをバッファBFのP番目の領域に取り込むべく、ステップS145でDMA転送の開始を命令する。また、DMA転送の開始を表明するべく、ステップS147ではフラグFLG_dmaに“1”を設定する。
【0094】
ステップS149ではDMA転送が完了したか否かを繰り返し判別する。判別結果がNOからYESに更新されると、RAW取込タスクの終了を表明するべく、ステップS151でフラグFLG_rawに“1”を設定する。その後、RAW取込タスクを終了する。
【0095】
図21を参照して、ステップS161ではバッファBFのQ番目の領域に取り込まれたRAW画像データを読み込み、読み込まれたRAW画像データに基づいてステップS163でフリーズ画像を作成する。作成されたフリーズ画像は、スルー画像または前回のフリーズ画像に代えて、ステップS165でLCDモニタ38に表示される。
【0096】
ステップS167では、フリーズ画像タスクの終了を表明するべく、フラグFLG_frzに“1”を設定する。その後、フリーズ画像タスクを終了する。
【0097】
図22を参照して、ステップS171ではフラグFLG_jpegに“0”が設定されているか否かを判別し、判別結果がYESであればステップS173およびS175の処理を経てステップS183に進む一方、判別結果がNOであればステップS177〜S181の処理を経てステップS183に進む。
【0098】
ステップS173では、SDRAM32に格納されたDNG画像データに基づいて、DNG画像ファイルの記録媒体42への書き込みを開始する。書き込みが完了したか否かをステップS175で繰り返し判別し、判別結果がNOからYESに更新されるとステップS183に進む。
【0099】
ステップS177では、SDRAM32に格納されたJPEG画像データに基づいて、JPEG画像ファイルの記録媒体42への書き込みを開始する。書き込みが完了したか否かをステップS179で繰り返し判別し、判別結果がNOからYESに更新されると、バッファBFのM番目の領域の書き込み内容をステップS181でクリアする。
【0100】
ステップS183では、ファイル書込タスクの終了を表明するべく、フラグFLG_fileに“1”を設定する。その後、ファイル書込タスクを終了する。
【0101】
以上の説明から分かるように、CPU26は、イメージセンサ16から出力された電子画像をシャッタボタン28shの全押しが検知される毎にバッファBFに書き込み、バッファBFに格納された電子画像を記録媒体42に転送する。CPU26はまた、バッファBFの空き容量が基準以上の容量を示す第1期間にシャッタボタン28shの全押しを第1頻度で検出し、バッファBFの空き容量が基準を下回る容量を示す第2期間にシャッタボタン28shの全押しを第1頻度よりも少ない第2頻度で検出する。CPU26はまた、バッファBFの空き容量を繰り返し報知する。
【0102】
連写速度はバッファBFの空き容量に応じて変化するところ、バッファBFの空き容量が繰り返し報知される。これによって、操作性が向上する。
【0103】
なお、この実施例では、RAW画像データを取り込み可能なバッファBFの領域の数を“4”とした。しかし、“4”以外の数の領域をバッファBFに設けてもよい。
【0104】
また、この実施例では、DNGおよびJPEG形式の画像ファイルを記録媒体42に作成するようにした。しかし、これら以外の形式の画像ファイルを作成するようにしてもよい。
【0105】
また、この実施例では、シャッタボタンの全押し状態の継続によって実行される連写における連写可能枚数の表示を、例に挙げた。しかし、断続的なシャッタボタンの全押し操作によって実行されるいわゆる“速写”の場合にもこの発明を適用することができる。
【0106】
この場合、厳格AE処理,AF処理,RAW画像の取り込み,ならびにフリーズ画像の作成および表示の各処理が、速写操作に応じて各々のフレーム画像に対して実行される。速写操作が終了した時点で、RAW画像データからDNG画像データへの変換,DNG形式の画像ファイルの書き込み,RAW画像データからJPEG画像データへの変換,およびJPEG形式の画像ファイルの書き込みの各処理が、各々のフレーム画像に対して実行される。このような各処理の実行に関連して、バッファの空き領域の増減に応じて速写可能枚数の表示が更新される。
【0107】
また、この実施例では、マルチタスクOSおよびこれによって実行される複数のタスクに相当する制御プログラムは、フラッシュメモリ44に予め記憶される。しかし、外部サーバに接続するための通信I/F60を
図23に示す要領でディジタルカメラ10に設け、一部の制御プログラムを内部制御プログラムとしてフラッシュメモリ44に当初から準備する一方、他の一部の制御プログラムを外部制御プログラムとして外部サーバから取得するようにしてもよい。この場合、上述の動作は、内部制御プログラムおよび外部制御プログラムの協働によって実現される。
【0108】
また、この実施例では、CPU26によって実行される処理を、
図11〜15に示す撮像メインタスク,
図20に示すRAW取込タスク,
図21に示すフリーズ画像タスク,および
図22に示すファイル書込タスクを含む複数のタスクに区分するようにした。しかし、これらのタスクをさらに複数の小タスクに区分してもよく、さらには区分された複数の小タスクの一部を統合するようにしてもよい。また、転送タスクを複数の小タスクに区分する場合、その全部または一部を外部サーバから取得するようにしてもよい。
【0109】
また、この実施例では、RAW取込タスクの起動直後に、連写動作中に減少する連写可能枚数の表示を更新するようにした。しかし、これ以外のタイミングで表示を更新するようにしてもよい。例えば、フリーズ画像の作成完了後に連写可能枚数の表示を更新するようにしてもよい。
【0110】
この場合、
図16のステップS93および
図18のS121に代えて、以下の処理が実行される。
【0111】
図24を参照して、ステップS107の判別結果がNOからYESに更新されると、ステップS191を実行する。ステップS191では、ステップS93およびS121と同様の処理が実行される。
【0112】
図25を参照して、ステップS133の処理の完了後、ステップS193およびS195を実行する。ステップS193ではステップS107と同様の処理が実行され、ステップS195では、ステップS93およびS121と同様の処理が実行される。
【0113】
また、この実施例では、ディジタルスチルカメラを用いて説明したが、本発明は、ディジタルビデオカメラ,タブレット型コンピュータ,携帯電話端末またはスマートフォンなどにも適用することができる。
【0114】
また、この実施例では、LCDモニタ38の表示によって連写可能枚数を操作者に通知するようにした。しかし、ディジタルカメラ10以外の外部装置において、連写可能枚数や連写の可否を操作者に通知するようにしてもよい。
【0115】
例えば、
図26に示す例のように、LED72を有する外付けの光学式ファインダ70がディジタルカメラ10に取り付けられた場合に、CPU26とLED72とが接続されるようにすればよい。この場合、
図9(B)に示す例のようにバッファBFの全ての領域にRAW画像データが取り込まれた時にLED72を発光させ、光学式ファインダ70を覗く操作者に、連写可能枚数が“0”であることを通知すればよい。
【0116】
また、この実施例では、RAW画像データを取り込み可能なバッファBFの領域の数を、連写可能枚数としてLCDモニタ38に表示するようにした。しかし、記録媒体42の空き容量を考慮して連写可能枚数を表示することも可能である。この場合、以下の要領で連写可能枚数を算出して表示するようにすればよい。
【0117】
図27を参照して、
図11のステップS3の処理の完了後ステップS5の実行前に、ステップS201を実行する。ステップS201では、
図28に示す空き容量確認タスクを起動する。
【0118】
図28を参照して、ステップS211では、I/F40を通して記録媒体42にアクセスし、記録媒体42の空き容量を取得する。
【0119】
ステップS211で取得された空き容量に基づいて、ステップS213ではRAW画像データとしてバッファBFに取り込み可能な枚数を算出する。この実施例では、1つのRAW画像データに基づいてDNG形式の画像ファイルとJPEG形式の画像ファイルとが記録媒体42に作成される。したがって、DNG画像ファイルの想定サイズおよびJPEG画像ファイルの想定サイズの合計で記録媒体42の空き容量を除することによって、バッファBFに取り込み可能な枚数が求められる。
【0120】
ステップS213で算出された取り込み可能な枚数が変数Nの最大値Nmax以下となったか否かを、ステップS215で判別する。判別結果がNOであればステップS219の処理を経てステップS221に進み、判別結果がYESであればステップS217の処理を経てステップS221に進む。
【0121】
ステップS217ではフラグFLG_diskに“1”を設定し、ステップS219ではフラグFLG_diskに“0”を設定する。
【0122】
ステップS221では記録媒体42の記録内容が更新されたか否かを繰り返し判別し、判別結果がNOからYESに更新されるとステップS211に戻る。
【0123】
また、
図29を参照して、
図15のステップS65でYESと判別された場合、ステップS67の処理の前にステップS231を実行する。ステップS231では、フラグFLG_diskに“0”が設定されているか否かを判別し、判別結果がYESであればステップS67の処理を経てステップS69に進む一方、判別結果がNOであればステップS67を実行することなくステップS69に進む。
【0124】
同様に、
図30を参照して、
図15のステップS71でYESと判別された場合、ステップS73の処理の前にステップS233を実行する。ステップS233では、フラグFLG_diskに“0”が設定されているか否かを判別し、判別結果がYESであればステップS73の処理を経てステップS75に進む一方、判別結果がNOであればステップS73を実行することなくステップS75に進む。
【0125】
このように、記録媒体42の空き容量に基づいて算出された取り込み可能枚数が変数Nの最大値Nmax以下となった場合、RAW画像データのクリアによってバッファBFの空き領域が増加しても、連写可能枚数の表示は更新されない。また、記録媒体42の空き容量がなくなると、シャッタボタン28shの全押し状態が継続した場合であっても、新たなRAW画像データの取り込みは行われない。
【0126】
また、
図31を参照して、
図11のステップS23でYESと判別された場合、ステップS27の処理の前にステップS241を実行する。ステップS241では変数NがNmax未満を示すか否かを判別し、判別結果がYESであればステップS27に進む一方、判別結果がNOであればステップS25に進む。
【0127】
このように、DNG画像ファイルおよびJPEG画像ファイルの書き込みによって記録媒体42の空き容量がなくなった場合、継ぎ足し連写撮影の操作が行われたとしても、撮影のための各処理は実行されない。