以下、本発明の一実施の形態を図にしたがって説明する。
(実施形態1)
図1は、本発明の撮像装置であるデジタルカメラの電気的構成の概略を示とともに、以下に述べる各実施形態に共通するブロック図である。なお、図示しないが本実施形態のデジタルカメラは図示しないが光学ファインダを備えている。
図示したように本実施形態のデジタルカメラは固体撮像素子としてCCD1を有している。CCD1は、図示しない光学系によって被写体の光学像が結像される感光面にベイヤー配列の原色フィルターが設けられたものであり、CPU2の命令に従いTG(タイミング発生器)3が生成するタイミング信号に基づき垂直/水平ドライバ4により駆動され、被写体の光学像に応じたアナログの撮像信号をAFE(アナログ・フロント・エンド)回路5へ出力する。
前記CCD1は、信号電荷を読み出す際の読み出しモードとして、全画素読み出しモードと、2画素加算読み出しモードと、4画素加算読み出しモードとの3種類に対応しており、前記TG3はCPU2の命令に従い所定のタイミング信号を生成することにより、前記垂直/水平ドライバ4によって上記3種類の読み出しモードのいずれかに対応する駆動モードでCCD1を駆動する。すなわちTG3及び垂直/水平ドライバ4とが本発明の読み出し手段に相当する。ここで、全画素読み出しモードは、通常の駆動モードであって全画素の信号電荷を個別に読み出すモードである。また、2画素加算読み出しモードは、同色の画素の信号電荷を縦(垂直)方向に2画素ずつ加算して読み出すモードであり、4画素加算読み出しモードは、同色の画素の信号電荷を縦(垂直)方向と縦(垂直)方向に4画素ずつ加算して読み出すモードである。なお、2画素加算読み出しモードや、4画素加算読み出しモードでの信号電荷の具体的な加算方法については任意であり、公知の方法を適宜使用するものとする。
前記AFE回路5は相関二重サンプリング回路やA/D変換器を含み、入力した撮像信号をデジタル信号に変換しカメラI/F6に出力する。カメラI/F6は入力したデジタル信号を決められたビット幅のベイヤーデータ(撮影画像データ)に変換し、変換後の撮影画像データは、DRAM等からなるバッファメモリ7に順に格納される。
バッファメモリ7は本発明の一時記憶手段であり、バッファメモリ7に格納された(一時記憶された)1フレーム分の撮影画像データは、YUV変換部8において画素毎のR,G,Bの色成分データ(RGBデータ)にいったん変換され、さらに輝度(Y)及び色差(UV)データからなるYUVデータに変換された後、画像処理部9においてホワイトバランス調整や輪郭強調等の画質に関する種々の処理(現像処理)を施される。係る現像処理後のYUVデータは表示制御部10によって読み出されビデオ信号に変換され、係るビデオ信号がLCD(液晶表示器)11に送出されることによって、撮影モードでの撮影準備(待機)期間には、撮像された画像がLCD11にスルー画像として表示される。
また、撮影モードにおいて撮影指示に応じた撮像動作に伴いバッファメモリ7に格納されるとともに、現像処理を施されたYUVデータは、拡大・縮小回路12によって読み出されるとともに、必要に応じて拡大又は縮小され、予めユーザによって設定されている規定の画像サイズを確保された後、CODEC13においてJPEG方式によって圧縮符号化される。そして、圧縮後の画像データはCPU2によって所定の属性情報が付加され、最終的にはメモリカード制御部14により静止画ファイルとしてメモリカード15に記録される。なお、以下の説明では、撮影モードにおいて撮影指示に応じてバッファメモリ7に格納された撮影画像データ(ベイヤーデータ)に対する前述した現像処理、拡大又は縮小処理、及びメモリカード15への記録までの一連の処理を記録処理という。
また、上述したようにメモリカード15に記録された静止画ファイルは、再生モードにおいてユーザのキー操作に応じてメモリカード制御部14により選択的に読み出され、CPU2において符号化データ部分が取り出された後、前記CODEC13へ送られるとともに、そこで復号されてバッファメモリ7にYUVデータとして展開された後、表示制御部10によりビデオ信号に変換され、LCD11において静止画像として表示される。
CPU2は、プログラムメモリ16に記憶されている所定のプログラムに従い上述した各部を制御するとともに、各種の操作キーからなるキー入力部17におけるキー操作状態を逐次検出し、所定のキー操作に応じた制御を行う。なお、CPU2には内部のクロック信号に基づき現在時刻をカウントするためのレジスタが含まれており、時計としても機能する。キー入力部17には、ユーザが、デジタルカメラを撮影モードと再生モードとに切り替えるモード切替キーや、撮影指示に使用されるシャッタキー等の種々の操作キーにより構成される。
前記プログラムメモリ16はフラッシュメモリ等の書き換え可能な不揮発性メモリであって、前述した所定のプログラム、すなわちAE制御AWB制御等を行わせるプログラム、及びそれらの制御に際して使用される各種データが格納されている。特に、プログラムメモリ16には、撮影モードにおいてCPU2に後述する処理を実行させるとともに、CPU2を本発明の判断手段、撮像動作制御手段として機能させるためのプログラムが格納されている。なお、プログラムメモリ16には、前記各種データ以外にもユーザにより設定、又は変更された装置の各機能に関する他の設定データ、例えば記録画像の画素サイズ等が記憶されている。
次に、以上の構成からなるデジタルカメラにおいて動作モードとして撮影モードが設定されたときのCPU2の処理内容を図2のフローチャートに従い説明する。
撮影モードが設定されるとCPU2は、直ちにプログラムメモリ16に記憶されているプログラムに従い動作を開始する。動作開始当初においては、前述した記録処理が行われていないため(ステップSA1でNO)、直ちにCCD1により所定のフレームレート(例えば30fps)で駆動するとともに、周期的に取り込んだ画像すなわちバッファメモリ7に格納された画像データ(以後、撮影画像データという。)に基づく被写体画像をCLD11にスルー画像として逐次表示させるライブビューを開始し撮影待機状態に入る(ステップSA2)。
以後、撮影待機状態においてはユーザにおけるシャッタキーの操作による撮影指示の有無を逐次検出するとともに、いずれかの時点でユーザによりシャッタキーが操作され撮影指示を検出したら(ステップSA3でYES)、直ちにAE処理を行い被写体の明るさに応じた撮影条件を決定するとともに(ステップ4)、その時点の現在時刻を取得し、それを撮影時刻として内部メモリに記憶する(ステップSA5)。さらに、それ以前にステップSA5において記憶しておいた1又は複数の撮影時刻(撮影時刻情報)に基づいて、今回の撮影を除いた過去(直近)2秒間の撮影回数を確認する(ステップSA6)。
引き続き、CPU2は、上記撮影回数に応じてCCD1の駆動モードを以下のように設定する。例えば撮影モードが設定されてから最初に撮影指示があったときのように上記撮影回数が0回であれば(ステップSA7で「0回」)、全画素読み出しモードに設定し(ステップSA8)、また上記撮影回数が1回であれば(ステップSA7で「1回」)、2画素加算読み出しモードに設定し(ステップSA9)、また撮影回数が2回以上であれば(ステップSA8で「2回以上」)、4画素加算読み出しモードに設定する(ステップSA10)。
次に、CPU2は、バッファメモリ7に、上記のように設定した駆動モードに応じた空き容量であって、CCD1の出力データ(撮影画像データ)の書き込みと、現像及び圧縮処理に必要な空き容量があるか否かを確認する(ステップSA11)。すなわち駆動モードが全画素読み出しモードであったときには、空き容量としてCCD1の有効画素数に応じたサイズの撮影画像データの処理に必要な容量(以下、最大容量という。)があるか否かを確認し、駆動モードが2画素加算読み出しモードであれば上記最大容量の1/2に相当する空き容量があるか否かを確認し、駆動モードが4画素加算読み出しモードであれば上記最大容量の1/4に相当する空き容量があるか否かを確認する。
そして、バッファメモリ7に上記空き容量があれば(ステップSA11でYES)、先に設定した駆動モードでCCD1を駆動して撮影画像データを取得(バッファメモリ7に格納)した後(ステップSA12)、取得した撮影画像データの記録処理(現像、圧縮、メモリカード15ヘの記録)を開始し(ステップSA13)、ステップSA1へ戻る。
また、バッファメモリ7に上記空き容量がなかったときには(ステップSA11でNO)、直前のステップSA5で記憶した今回の撮影時刻を削除し(ステップSA14)、さらに撮影不可を報知する処理(例えばLCD11における所定のメッセージの表示)を行った後(ステップSA15)、ステップSA1へ戻る。
以後、ステップSA13で開始した記録処理が完了するまでの間は(ステップSA1でYES)、ライブビューを中止したまま撮影待機状態となって撮影指示の検出を繰り返し、その間に撮影指示を検出したら(ステップSA3でYES)、ステップSA4以降の処理を繰り返す。また、上記撮影待機状態にある間にステップSA13で開始した記録処理が完了したら(ステップSA1でNO)、その時点でライブビューを再開した後(ステップSA2)、撮影指示の検出を繰り返し(ステップSA3)、その後、撮影指示を検出したら(ステップSA3でYES)、ステップSA4以降の処理を繰り返す。
以上のように撮影モードにおいては、ユーザからの撮影指示があったときには、今回の撮影を除いた過去(直近)2秒間の撮影回数に応じてCCD1の駆動モード(CCD1から撮像信号を読み出す際の読み出しモード)を変化させることにより、バッファメモリ7に一時記憶する撮影画像データのデータ量を、直前の一定時間内における撮像動作の頻度に反比例して減少させる。
ここで、撮影モードでの動作中には、CCD1からバッファメモリ7への撮影画像データの読み出し時間(データ書き込み時間)はCCD1の駆動モードに関係なく一定であるが、上記撮影画像データのデータ量が駆動モードに応じて変化するため、現像、圧縮、メモリカード15ヘの記録に要する記録処理時間は以下のように変化する。
図3は、CCD1からの撮影画像データの読み出し時間と、CCD1の駆動モードに対応する撮影画像データ量、及び記録処理時間の例を示した図である。同図において撮影画像データ量は、CCD1の駆動モードが「全画素読み出し」のときのデータ量(1M)を基準としたときの相対的なデータ量である(「M」は便宜上の単位)。図示したように撮影画像データの読み出し時間は0.3秒で各駆動モードに共通であり、記録処理時間は、通常時の駆動モードである「全画素読み出し」のとき2.0秒である場合には、「2画素読み出し」では撮影画像データ量が2分の1(0.5M)となるため1.0秒となり、かつ「4画素読み出し」では撮影画像データ量が4分の1(0.25M)となるため0.5秒となる。
図4は、上記の処理時間等を前提とするとともに、前記バッファメモリ7に、撮影時に使用可能なメモリ領域、すなわちCCD1から読み出した撮影画像データの一時記憶、及びその撮影画像データの記録処理に使用可能なメモリ領域として最大で1.75Mの撮影画像データを記憶した状態での記録処理が可能なメモリ領域が確保されている場合における、前述した撮影モードでの動作中におけるバッファメモリ7の撮影画像データのデータ量の変化と処理時間との関係、及びユーザがシャッタキーを押して連続撮影を行うとき実施可能な最小間隔での撮影タイミングを示した図である。なお、同図に丸付き数字(1〜6)で示した範囲は、連続撮影に際して各回(1回目から6回目)の撮影時に一時記憶される撮影画像データを模式的に示したものであって、縦軸方向がデータ量、横軸方向が記録処理時間、及び記録処理の待ち時間である。
この場合、例えば撮影モードが設定された直後のようにバッファメモリ7に撮影画像データが記録されていなければ、1回目の撮影から3回目の撮影までは、CCD1からの撮影画像データの読み出し時間に相当する0.3秒間隔での連続撮影が可能である。なお、その間における駆動モードが、1回目の撮影時は「全画素読み出し」であり、続く2回目の撮影時には、1回目の撮影からの経過時間が0.3秒であってステップSA6で確認される今回の撮影を除いた過去(直近)2秒間の撮影回数が1回となるため「2画素加算読み出し」に変化し、さらに3回目の撮影時には、1回目の撮影からの経過時間が0.6秒であってステップSA6で確認される撮影回数が2回となるため「4画素加算読み出し」に変化することとなる。
一方、その間においては、撮影画像データの記録処理が並行して順次行われ、1回目の撮影タイミングから2.3秒後、すなわち1回目の撮像動作に伴う撮影画像データの読み出し時間(0.3秒)と、その撮影画像データに対する記録処理時間(2.0秒)とが経過した時点で1回目の撮影で記憶(取得)された撮影画像データの記録処理が終了し、その1秒後に2回目の撮影時の撮影画像データの記録処理が終了し、さらに0.5秒後に3回目の撮影時の撮影画像データの記録処理が終了する。
その後、1回目の撮影時の撮影画像データの記録処理が終了した時点であって、最初の撮影タイミングから2.3秒が経過した時点では、ステップSA6で確認されるステップSA6で確認される今回の撮影を除いた過去(直近)2秒間の撮影回数が1回となり、係る撮影回数に応じて設定される駆動モードに応じた空き容量、すなわちCCD1から2画素加算読み出しで読み出される撮影画像データの書き込みと、現像及び圧縮処理に必要な空き容量がバッファメモリ7に生じるため(ステップSA11でYESとなるため)、その時点で4回目の撮影が可能となる。
引き続き、4回目の撮影時の撮影画像データの読み込み時間が経過した0.3秒後には、ステップSA6で確認される撮影回数が1回となり、かつそれに応じた空き容量がバッファメモリ7に残存しているため、5回目の撮影が可能となる。さらに、2回目の撮影時の撮影画像データの記録処理が終了した0.7秒後には、ステップSA6で確認される撮影回数が2回となり、かつそれに応じた空き容量がバッファメモリ7に生じるため、6回目の撮影が可能となる。なお、5回目の撮影時における駆動モードは2画素加算読み出しとなり、6回目の撮影時における駆動モードは4画素加算読み出しとなる。
以上のように本実施形態においては、バッファメモリ7に、CCD1から読み出した撮影画像データの一時記憶、及びその撮影画像データの記録処理に使用可能なメモリ領域として1.75M分の撮影画像データに相当するメモリ領域を確保しておくだけで、上記のように極めて短い時間間隔での連続撮影を行うことができる。
すなわち、シャッタキーを1回押す毎に1回の撮影を行う撮影モード(単写撮影モード)においては、一定時間内における撮影枚数はユーザの意思に左右される。例えば、ユーザが風景等をじっくりと撮影しようとした場合には、一定時間内にシャッタキーを操作する回数(撮影回数)が少ないが、ユーザが決定的瞬間の画像を数多く撮影しようとした場合には、一定時間内にシャッタキーを操作する回数(撮影回数)が多くなる。これに対し、本実施形態においては、ユーザによりシャッタキーの操作がなされる都度、過去一定時間内の撮影回数を特定するようにした。したがって、ユーザの手動による連続撮影がなされる際に、ユーザの気分次第で一定時間内の撮影回数(シャッタ操作回数)が不規則に変化しても、その都度特定した一定時間内の撮影回数に応じて、バッファに新たに格納する画像データのデータ量を調整することができ、一定時間内の撮影回数が不規則に変化した場合に備えてバッファメモリ7に多くのメモリ領域を確保する必要がない。
よって、記録処理等の撮影画像データの処理能力を上げたり、CCD1の出力データ(撮影画像データ)の書き込み、及び現像及び圧縮処理を行うためにバッファメモリ7に多大な領域を確保せずとも、より短い撮影間隔での連続撮影が可能である。その結果、コスト増を招くことなく、連続撮影時における撮影間隔の短縮化を図ることができる。
(実施形態2)
次に、本発明の第2の実施形態について説明する。本実施形態は、図1に示した構成において、前記CCD1が複数の駆動モードに対応したものでなく駆動時には常に全画素の信号電荷を出力し、かつ前記カメラI/F6が前記AFE回路5から入力したデジタル信号をCPU2の命令に応じて異なるビット幅のベイヤーデータ(撮影画像データ)に変換する、つまり本発明のビット幅調整手段として機能する構成である一方、プログラムメモリ16に、撮影モードにおいてCPU2に後述する処理を実行させるためのプログラムが格納されたデジタルカメラに関するものである。
図5は、本実施形態において撮影モードが設定されたときのCPU2の処理内容を示したフローチャートである。図から明らかなようにステップSB1〜SB7は、図2のステップSA1〜SA7と同一であり、第1の実施形態においては、CPU2が今回の撮影を除いた過去(直近)2秒間の撮影回数に応じてCCD1の駆動モードを設定したが、本実施形態においてCPU2は、上記撮影回数を確認した後(ステップSB6)、その撮影回数に応じて撮影画像データのビット幅、つまりカメラI/F6が、CCD1から出力された後、デジタル信号に変換された撮像信号をベイヤーデータに変換するときのビット幅(階調幅)を以下のように設定する(ステップSB7〜SB10)。
すなわち撮影画像データのビット幅を、上記撮影回数が0回であれば(ステップSB7で「0回」)、16ビットに設定し(ステップSB8)、また上記撮影回数が1回であれば(ステップSB7で「1回」)、8ビットに設定し(ステップSB9)、また撮影回数が2回以上であれば(ステップSB8で「2回以上」)、4ビットに設定する(ステップSB10)。
しかる後、CPU2は、バッファメモリ7に、上記のように設定したビット幅に応じた空き容量であって、CCD1の出力データ(撮影画像データ)の書き込みと、現像及び圧縮処理に必要な容量があるか否かを確認する(ステップSB11)。すなわちビット幅が16ビットであったときには、空き容量として16ビットの撮影画像データの処理に必要な容量(以下、最大容量という。)があるか否かを確認し、ビット幅が8ビットであれば上記最大容量の1/2に相当する空き容量があるか否かを確認し、ビット幅が4ビットであれば上記最大容量の1/4に相当する空き容量があるか否かを確認する。
そして、バッファメモリ7に上記空き容量があれば(ステップSB11でYES)、CCD1を駆動して設定したビット幅の撮影画像データを取得し(ステップSB12)、取得した撮影画像データの記録処理を開始し(ステップSB13)、ステップSB1へ戻る。また、バッファメモリ7に上記空き容量がなかったときには(ステップSB11でNO)、直前のステップSB5で記憶した今回の撮影時刻を削除し(ステップSB14)、さらに撮影不可を報知する処理を行った後(ステップSB15)、ステップSB1へ戻る。
以上のように本実施形態においては、ユーザからの撮影指示があったときには、今回の撮影を除いた過去(直近)2秒間の撮影回数に応じて撮影画像データのビット幅を変化させることにより、バッファメモリ7に一時記憶する撮影画像データのデータ量を、直前の一定時間内における撮像動作の頻度に反比例して減少させる。
ここで撮影モードでの動作中においては、CCD1からバッファメモリ7への撮影画像データの読み出し時間(データ書き込み時間)は一定であるが、そのデータ量は前述したビット幅に応じて変化するため、現像、圧縮、メモリカード15ヘの記録に要する記録処理時間は以下のように変化する。
図6は、CCD1からの撮影画像データの読み出し時間と、撮影画像データのビット幅に対応する撮影画像データ量、及び記録処理時間の例を示した図である。同図において撮影画像データ量は、ビット幅が最大の「16ビット」のときのデータ量(1M)を基準としたときの相対的なデータ量である(「M」は便宜上の単位)。また、図示したように撮影画像データの読み出し時間は0.3秒でビット幅に関係なく共通であり、記録処理時間は、撮影画像データ量が通常の「16ビット」のとき2.0秒である場合には、「8ビット」では撮影画像データ量が2分の1(0.5M)となるため1.0秒となり、かつ「4ビット」では撮影画像データ量が4分の1(0.25M)となるため0.5秒となる。
このため、上記の処理時間等を前提とするとともに、前記バッファメモリ7に、撮影時に使用可能なメモリ領域として最大で1.75Mの撮影画像データを記憶した状態での記録処理が可能なメモリ領域が確保されている場合には、本実施形態においても、前述した撮影モードにおけるバッファメモリ7における撮影画像データ量と処理時間との関係、及びユーザがシャッタキーを押して連続撮影を行うとき実施可能な最小間隔での撮影タイミングは、第1の実施形態と同様となる(図4参照)。
すなわち、1回目の撮影から3回目の撮影までは0.3秒間隔での連続撮影が可能であり、その後、4回目の撮影は、1回目の撮影時の撮影画像データの記録処理が終了した直後、すなわち最初の撮影タイミングから2.3秒が経過した時点で可能となり、引き続き、0.3秒後には5回目の撮影が、さらに、0.7秒後には5回目の撮影が可能となる。なお、各撮影時における撮影画像データのビット幅は、1回目が16ビット、2回目が8ビット、3回目が4ビットであり、4回目及び5回目の撮影時が8ビット、6回目の撮影時が4ビットである。
つまり本実施形態においてもバッファメモリ7に、CCD1から読み出した撮影画像データの一時記憶、及びその撮影画像データの記録処理に使用可能なメモリ領域として1.75M分の撮影画像データに相当するメモリ領域を確保しておくだけで、上記のように極めて短い時間間隔での連続撮影を行うことができる。
したがって、本実施形態においても、第1の実施形態と同様、記録処理等の撮影画像データの処理能力を上げたり、CCD1の出力データ(撮影画像データ)の書き込み、及び現像及び圧縮処理を行うためにバッファメモリ7に多大な領域を確保せずとも、より短い撮影間隔での連続撮影が可能である。その結果、コスト増を招くことなく、連続撮影時における撮影間隔の短縮化を図ることができる。
(実施形態3)
次に、本発明の第3の実施形態について説明する。本実施形態は第1の実施形態と同様にCCD1が信号電荷を読み出す際の読み出しモードとして3種類の読み出しモード(全画素読み出しモード、2画素加算読み出しモード、4画素加算読み出しモード)に対応した構成であるとともに、プログラムメモリ16に、撮影モードにおいてCPU2に後述する処理を実行させるためのプログラムが格納されたデジタルカメラに関するものである。
図7は、本実施形態において撮影モードが設定されたときのCPU2の処理内容を示したフローチャートである。図から明らかなようにステップSC1〜SC4は図2のステップSA1〜SA4と同一であるが、本実施形態においてCPU2は、撮影指示の検出に伴いAE処理によって撮影条件を決定した後には(ステップSC4)、その時点で、バッファメモリ7の空き容量を確認する(ステップSC5)。
そして、バッファメモリ7の空き容量が、CCD1を4画素読み出しモードで駆動したときの撮影画像データ量である0.25M(「M」は前述した便宜上の単位)以上であるか否かを確認し、空き容量が0.25M未満であったときには(ステップSC6でNO)、撮影不可を報知する処理(例えばLCD11における所定のメッセージの表示)を行った後(ステップSC7)、直ちにステップSC1へ戻る。
一方、例えば撮影モードが設定されてから最初に撮影指示があったときのように、バッファメモリ7の空き容量Aが0.25M以上であったとき(ステップSC6でYES)、CPU2は空き容量に応じてCCD1の駆動モードを以下のように設定する。すなわち空き容量Aが1M以上であれば(ステップSC8で「1M≦A」)、全画素読み出しモードに設定し(ステップSC9)、また空き容量Aが0.5M以上で1M未満であれば(ステップSC8で「0.5M≦A<1M」)、2画素加算読み出しモードに設定し(ステップSC10)、また空き容量Aが0.25M以上で0.5M未満であれば(ステップSC8で「0.25M≦A<0.5M」)、4画素加算読み出しモードに設定する(ステップSC11)。
そして、設定した駆動モードでCCD1を駆動して被写体の撮影画像データを取得した後(ステップSC12)、取得した撮影画像データの記録処理を開始し(ステップSC13)、ステップSC1へ戻る。以後、ステップSC13で開始した記録処理が完了するまでの間は(ステップSC1でYES)、ライブビューを中止したまま撮影待機状態となって撮影指示の検出を繰り返し、その間に撮影指示を検出したら(ステップSC3でYES)、ステップSC4以降の処理を繰り返す。また、上記撮影待機状態にある間にステップSC13で開始した記録処理が完了したら(ステップSC1でNO)、その時点でライブビューを再開した後(ステップSC2)、撮影指示の検出を繰り返し(ステップSC3)、その後、撮影指示を検出したら(ステップSC3でYES)、ステップSC4以降の処理を繰り返す。
以上のように本実施形態においては、ユーザからの撮影指示があったときには、その時点におけるバッファメモリ7の空き容量から、直前の一定時間内における撮像動作の頻度を間接的に判断し、その頻度に応じてCCD1の駆動モード(CCD1から撮像信号を読み出す際の読み出しモード)を変化させることにより、バッファメモリ7に一時記憶する撮影画像データのデータ量を、直前の一定時間内における撮像動作の頻度に反比例して減少させる。
また、撮影モードでの動作中においては、第1の実施形態と同様、CCD1からバッファメモリ7への撮影画像データの読み出し時間(データ書き込み時間)はCCD1の駆動モードに関係なく一定であるが、上記撮影画像データ量が駆動モードに応じて変化するため、現像、圧縮、メモリカード15ヘの記録に要する記録処理時間は変化する。また、CCD1からの撮影画像データの読み出し時間と、CCD1の駆動モードに対応する撮影画像データ量、及び記録処理時間は、例えば図3に示したようになる。
図8は、図4に対応する図であって、上記の処理時間等を前提とするとともに、前記バッファメモリ7に、撮影時に使用可能なメモリ領域、すなわちCCD1から読み出した撮影画像データの一時記憶、及びその撮影画像データの記録処理に使用可能なメモリ領域として最大で1.75Mの撮影画像データを記憶した状態での記録処理が可能なメモリ領域が確保されている場合における、前述した撮影モードにおけるバッファメモリ7における撮影画像データ量と処理時間との関係、及びユーザがシャッタキーを押して連続撮影を行うとき実施可能な最小間隔での撮影タイミングを示した図である。
すなわち、第1の実施形態と同様に、例えば撮影モードが設定された直後のようにバッファメモリ7に撮影画像データが記録されていなければ、1回目の撮影から3回目の撮影までは、CCD1からの撮影画像データの読み出し時間に相当する0.3秒間隔での連続撮影が可能である。なお、その間における駆動モードが、1回目の撮影時は「全画素読み出し」であり、続く2回目の撮影時には、ステップSC5で確認されるバッファメモリ7の空き容量Aが「0.5M≦A<1M」となるため「2画素加算読み出し」に変化し、さらに3回目の撮影時には、ステップSC5で確認されるバッファメモリ7の空き容量Aが「0.25M≦A<0.5M」となるため「4画素加算読み出し」に変化することとなる。
一方、その間においては、撮影画像データの記録処理が並行して順次行われ、1回目の撮影タイミングから2.3秒後、すなわち1回目の撮像動作に伴う撮影画像データの読み出し時間(0.3秒)と、その撮影画像データに対する記録処理時間(2.0秒)とが経過した時点で1回目の撮影で記憶(取得)された撮影画像データの記録処理が終了し、その1秒後に2回目の撮影時の撮影画像データの記録処理が終了し、さらに0.5秒後に3回目の撮影時の撮影画像データの記録処理が終了する。
その後、1回目の撮影時の撮影画像データの記録処理が終了した時点であって、最初の撮影タイミングから2.3秒が経過した時点では、ステップSC5で確認されるバッファメモリ7の空き容量Aが「1M≦A」となるため(ステップSC6でYESとなるため)、その時点で4回目の撮影が可能となる。但し、第1の実施形態とは異なり4回目の撮影時の駆動モードは全画素読み出しとなる。
これに伴い、5回目の撮影は、2回目の撮影時に取得した撮影画像データの記録処理が終了し、ステップSC5で確認されるバッファメモリ7の空き容量Aが「0.25M≦A」で、かつ「0.5M≦A<1M」となる時点であって、4回目の撮影タイミングから1秒が経過した時点(1回目の撮影タイミングから3.3秒後)において可能となる。さらに0.5秒後であって、3回目の撮影時に取得した撮影画像データの記録処理が終了する時点には、ステップSC5で確認されるバッファメモリ7の空き容量Aが「0.25M≦A」で、かつ「0.25M≦A<0.5M」となるため、6回目の撮影が可能となる。なお、5回目の撮影時の駆動モードは2画素加算読み出しとなり、かつ6回目の撮影時の駆動モードは4画素加算読み出しとなる。
以上のように本実施形態においてもバッファメモリ7に、CCD1から読み出した撮影画像データの一時記憶、及びその撮影画像データの記録処理に使用可能なメモリ領域として1.75M分の撮影画像データに相当するメモリ領域を確保しておくだけで、上記のように極めて短い時間間隔での連続撮影を行うことができる。
すなわち、既に述べたようにシャッタキーを1回押す毎に1回の撮影を行う撮影モード(単写撮影モード)においては、一定時間内における撮影枚数はユーザの意思に左右され、ユーザが決定的瞬間の画像を数多く撮影しようとした場合には、一定時間内にシャッタキーを操作する回数(撮影回数)が多くなるが、本実施形態においては、ユーザのシャッタ操作がなされる都度、バッファメモリ7の空き容量を検知するようにした。したがって、ユーザの手動による連続撮影がなされる際に、ユーザの気分次第で一定時間内の撮影回数(シャッタ操作回数)が不規則に変化しても、その都度検知したバッファメモリ7の空き容量に応じて、バッファに新たに格納する画像データのデータ量を調整することができ、一定時間内の撮影回数が不規則に変化した場合に備えてバッファメモリ7に多くのメモリ領域を確保する必要がない。
よって、第1及び第2の実施形態と同様、記録処理等の画像データの処理能力を上げたり、CCD1の出力データ(撮影画像データ)の書き込み、及び現像及び圧縮処理を行うためにバッファメモリ7に多大な領域を確保せずとも、より短い撮影間隔での連続撮影が可能である。その結果、コスト増を招くことなく、連続撮影時における撮影間隔の短縮化を図ることができる。
(実施形態4)
次に、本発明の第4の実施形態について説明する。本実施形態は、図1に示した構成において、第2の実施形態と同様に前記CCD1が複数の駆動モードに対応したものでなく駆動時には常に全画素の信号電荷を出力し、また、前記カメラI/F6が、前記AFE回路5から入力したデジタル信号をCPU2の命令に応じて異なるビット幅のベイヤーデータ(撮影画像データ)に変換する機能を有する一方、プログラムメモリ16に、撮影モードにおいてCPU2に後述する処理を実行させるためのプログラムが格納されたデジタルカメラに関するものである。
図9は、本実施形態において撮影モードが設定されたときのCPU2の処理内容を示したフローチャートである。図から明らかなように、ステップSD1〜SD8は、図7のステップSC1〜SC8と同一であり、第3の実施形態においては、CPU2がバッファメモリ7の空き容量Aに応じてCCD1の駆動モードを設定したが、本実施形態においてCPU2は、上記空き容量Aに応じて撮影画像データのビット幅、つまりカメラI/F6が、CCD1から出力された後、デジタル信号に変換された撮像信号をベイヤーデータに変換するときのビット幅(階調幅)を以下のように設定する(ステップSD9〜SD11)。
すなわち撮影画像データのビット幅を、上記空き容量Aが1M以上であれば(ステップSD8で「1M≦A」)、16ビットに設定し(ステップSD9)、また空き容量Aが0.5M以上で1M未満であれば(ステップSD8で「0.5M≦A<1M」)、8ビットに設定し(ステップSD10)、また空き容量Aが0.25M以上で0.5M未満であれば(ステップSD8で「0.25M≦A<0.5M」)、4ビットに設定する(ステップSD11)。
しかる後、CPU2は、CCD1を駆動して設定したビット幅の撮影画像データを取得し(ステップSD12)、取得した撮影画像データの記録処理を開始し(ステップSD13)、ステップSD1へ戻る。以後、ステップSD13で開始した記録処理が完了するまでの間は(ステップSD1でYES)、ライブビューを中止したまま撮影待機状態となって撮影指示の検出を繰り返し、その間に撮影指示を検出したら(ステップSCDでYES)、ステップSD4以降の処理を繰り返す。また、上記撮影待機状態にある間にステップSD13で開始した記録処理が完了したら(ステップSD1でNO)、その時点でライブビューを再開した後(ステップSD2)、撮影指示の検出を繰り返し(ステップSD3)、その後、撮影指示を検出したら(ステップSD3でYES)、ステップSD4以降の処理を繰り返す。
以上のように本実施形態においては、ユーザからの撮影指示があったときには、その時点におけるバッファメモリ7の空き容量から、直前の一定時間内における撮像動作の頻度を間接的に判断し、その頻度に応じて撮影画像データのビット幅を変化させることにより、バッファメモリ7に一時記憶する撮影画像データのデータ量を、直前の一定時間内における撮像動作の頻度に反比例して減少させる。
また、撮影モードでの動作中においては、第2の実施形態と同様、CCD1からバッファメモリ7への撮影画像データの読み出し時間(データ書き込み時間)は一定であるが、そのデータ量は前述したビット幅に応じて変化するため、現像、圧縮、メモリカード15ヘの記録に要する記録処理時間は、例えば図6に示したようになる。
このため、上記の処理時間等を前提とするとともに、前記バッファメモリ7に、撮影時に使用可能なメモリ領域として最大で1.75Mの画像データを記憶した状態での記録処理が可能なメモリ領域が確保されている場合には、本実施形態においても、前述した撮影モードにおけるバッファメモリ7における画像データ量と処理時間との関係、及びユーザがシャッタキーを押して連続撮影を行うとき実施可能な最小間隔での撮影タイミングは、第3の実施形態と同様となる(図8参照)。
すなわち、1回目の撮影から3回目の撮影までは0.3秒間隔での連続撮影が可能であり、その後、4回目の撮影は、1回目の撮影時の画像データの記録処理が終了した直後、すなわち最初の撮影タイミングから2.3秒が経過した時点で可能となる。引き続き、1.0秒後には5回目の撮影が、さらに、0.3秒後には6回目の撮影が可能となる。なお、各撮影時における撮影画像データのビット幅は、1回目の撮影時が16ビット、2回目の撮影時が8ビット、3回目の撮影時が4ビットとなり、また4回目の撮影時が16ビット、5回目の撮影時が8ビット、6回目の撮影時が4ビットとなる。
つまり本実施形態においてもバッファメモリ7に、CCD1から読み出した撮影画像データの一時記憶、及びその撮影画像データの記録処理に使用可能なメモリ領域として1.75M分の撮影画像データに相当するメモリ領域を確保しておくだけで、上記のように極めて短い時間間隔での連続撮影を行うことができる。
したがって、第1〜第3の実施形態と同様、記録処理等の画像データの処理能力を上げたり、CCD1の出力データ(撮影画像データ)の書き込み、及び現像及び圧縮処理を行うためにバッファメモリ7に多大な領域を確保せずとも、より短い撮影間隔での連続撮影が可能である。その結果、コスト増を招くことなく、連続撮影時における撮影間隔の短縮化を図ることができる。
(他の実施形態)
ここで、上述した第1〜第4の実施形態においては、本発明を光学ファインダを備えたデジタルカメラに適用するとともに、撮影画像データ(CCD1の出力データ)のバッファメモリ7への書き込み後、撮影画像データの記録処理(現像、圧縮、メモリカード15ヘの記録)が終了するまでの間にライブビュー動作を停止するものについて説明したが、本発明は、光学ファインダを有していないデジタルカメラにも適用することができる。また、その場合には、例えば撮影画像データの記録処理中にも所定のフレームレートでCCD1を駆動して、新たな撮影画像データを逐次取得するとともに、それに基づくライブビュー動作を行わせるようにしてもよい。
また、本発明は、前述したような一般的なデジタルカメラに限らず、例えば静止画撮影機能を有するデジタルビデオカメラや、携帯電話端末に内蔵されたデジタルカメラ等の他の撮像装置にも適用することができる。