(第1実施形態)
本発明に係る第1実施形態としての撮像装置であるデジタルカメラ(以下、単にカメラと称す)100の基本構成について図1を参照して説明する。図1は、本発明を実施した撮像装置の第1実施形態であるカメラ100の構成を説明するブロック図である。
撮像レンズ群101は、ズームレンズ102、フォーカスレンズ103、防振レンズ104、絞り105から構成される撮像レンズ群である。ズームレンズ102は焦点距離を調節することで光学的に画角を変更する撮像レンズである。
フォーカスレンズ103は焦点位置を調節する撮像レンズである。本実施形態では、フォーカスレンズ103のレンズ位置を光軸方向に動作させることによって、焦点位置を変更することができる。
防振レンズ104は手ぶれなどの種々の要因によって生じる像振れを補正する撮像レンズである。絞り105は、後述する撮像素子106に入射する光量を調節する光量調節部材である。本実施形態では、絞り105に機械的なシャッタ(不図示)が設けられており、当該シャッタの駆動を制御することで、撮像素子106に光を露光する時間(露光時間)を制御することができる。なお、複数の撮像レンズが設けられていない場合は、上述した各撮像レンズが有する、ズームやフォーカス、防振などの機能を一つの撮像レンズによって実現するような構成であってもよい。
撮像素子106は、電荷を蓄積することで画像を生成することが可能なCCDやCMOSなどの固体撮像素子からなる電荷蓄積型の撮像素子であって、2次元的に撮像用の画素が配列されている。撮像レンズ群101を透過した被写体の光学像が撮像素子106に結像すると、当該被写体の光学像に応じた電気信号(画像データ)が出力される。
画像処理部107は、撮像素子106から出力された画像データに対して画素補間処理や色変換処理や、当該画像データに基づいて被写体の輝度値(輝度情報)を取得する画像処理手段である。なお、画像処理部107には不図示のAFE(Analog Front End)が設けられており、画像データに対するゲイン量の調整や、レンズの収差補正やサンプリングをおこなうことができる。また、画像処理部107に出入力される画像データは、適宜、デジタル画像データに変換されるものとする。
メモリ108は、電気的に消去や記憶が可能な記憶手段であり、例えば、フラッシュメモリ等に代表されるEEPROMなどである。メモリ108には、本実施形態において使用される種々のデータが格納されている。例えば、カメラ100において実行されるプログラムや動作用の定数、種々の露出条件、カメラ100内の処理で使用する算出式などがメモリ108に予め格納されている。なお、カメラ100において実行されるプログラムとは、後述する図2に示すフローと同様の動作を指示するためのプログラムである。また、メモリ108には、RAM(Random Access Memory)などの記録素子によって構成された画像データの記録領域を有している。当該RAMは、所定枚数の静止画や所定時間の動画、音声データを記録することができる記憶容量を備え、取得されたデジタル画像データの記録ができる。
さらに、メモリ108は、画像表示用メモリ(ビデオメモリ)、カメラ100の各部の作業領域や、後述する記録メモリ111の記録用バッファとしても使用される。
表示部109は、TFT型LCD(薄膜トランジスタ駆動型液晶表示器)などで構成され、表示用にアナログ画像データに変換された画像データを表示する表示手段である。本実施形態では、当該画像データを表示部109に逐次表示することで、被写体を撮像した画像データのライブビュー表示をおこなうことができる。なお、電子ビューファインダ(不図示)を用いてライブビュー表示をおこなうような構成であってもよい。
圧縮伸長処理部110は、メモリ108に記録されている画像データを、画像フォーマットに応じて圧縮伸長する処理部である。記録メモリ111は、圧縮伸長処理部110によって圧縮伸長された画像データの記録が可能なメモリーカードやハードディスクなどの不揮発性の記録媒体である。なお、本実施形態では記録メモリ111として、カメラ100に対して挿抜可能なものを採用するが、DVD−RWディスク等の光学ディスクやハードディスク等の磁気ディスクを採用するような構成であってもよい。また、記録メモリ111を予めカメラ100に内蔵するような構成であってもよい。
絞り駆動部112は、設定された絞り値および露光時間に基づいて絞り105およびシャッタ(不図示)を駆動する駆動手段である。なお、絞り値および露光時間は、画像処理部107によって取得された被写体の輝度情報(輝度値)に基づいて、後述するシステム制御部120によって設定される。すなわち、本実施形態における自動露出(AE)制御は、システム制御部120からの指示に応じて、絞り駆動部112が絞り105やシャッタを駆動することでおこなわれる。なお、AE制御としては、画像処理部107においてゲイン量を調整することでもおこなわれる。
防振レンズ駆動部113は、角速度センサ130やジャイロセンサ131の情報に基づいてカメラ100に加わる振れの量を演算し、その振れを打ち消すように防振レンズ104を駆動する駆動制御手段である。なお、カメラ100に加わる振れの量の演算は、システム制御部120によって演算するような構成であってもよい。
フォーカスレンズ駆動部114はフォーカスレンズ103を駆動するレンズ駆動手段である。本実施形態では、後述するコントラスト評価値取得部121によって取得する焦点検出用の評価値(コントラスト評価値)に基づいて、フォーカスレンズ駆動部114がフォーカスレンズ103の駆動を制御する。このフォーカスレンズ駆動部114によってフォーカスレンズ103を駆動することによって、フォーカスレンズ103のレンズ位置を異ならせて連続して被写体を撮像することができる。すなわち、後述するフォーカスブラケット撮影が可能となる。なお、位相差方式や他の方式のフォーカス制御と組み合わせてフォーカスレンズ103の駆動制御をおこなうような構成であってもよい。
ズームレンズ駆動部115は、ユーザによるズーム操作指示に従ってズームレンズ102を駆動する駆動手段である。
操作部116は、カメラ100に対して、ユーザが各種の指示や設定を行うためのスイッチ、ボタン、ダイヤルなどの操作部材によって構成される入力デバイス群であって、レリーズスイッチ117、メニュー操作ボタン118を含む。
ユーザの操作によって、レリーズスイッチ117がSW1状態(例えば、半押し状態)になると、測光演算や露出制御、フォーカス制御などの撮像前準備が指示される。また、レリーズスイッチ117がSW2状態(例えば、全押状態)になると被写体の本撮像が指示される。
ユーザは、メニュー操作ボタン(モード設定手段)118を操作することによって、被写体を撮像する際の撮像モードや動作モード、被写体を撮像して取得する画像の画質やサイズなどを設定することができる。また、ユーザは、メニュー操作ボタン118を操作することによって、フォーカスブラケット撮影をおこなう際の被写体の撮像回数を設定することもできる。
なお、上述した撮像モードとしては、フォーカスブラケット撮影をおこなうフォーカスブラケットモードの他のモードを設定することもできる。また、カメラ100の動作モードとして、通常モード(第1のモード)と、当該通常モードよりも電力の消費が少ない省電力モード(第2のモード)などを設定することができる。
例えば、通常モードでは、カメラ100の状態が、電源をオンした状態から約1分間の無操作を検知すると待機状態に変更されるのに対して、省電力モードでは、電源をオンした状態から約10秒間の無操作を検知すると待機状態に変更される。また、省電力モードでは、カメラ100の内部処理によって生じる負荷が通常モードよりも常に小さくなるように設定されている。
システム制御部(CPU)120は、カメラ100の全体的な動作を統括的に制御する制御手段である。CPU120は、ユーザの操作指示に応じてカメラ100の各部に動作を指示することでカメラ100全体を制御することができる。なお、CPU120は、メモリ108に格納されているプログラムを実行し、当該プログラムの処理に応じたカメラ100の動作や処理を制御することもできる。例えば、撮像素子106の制御や露出制御、フォーカス制御、ズーム制御などをおこなうためのプログラムを実行する。
また、CPU120には、特徴検出部122、コントラスト評価値取得部121、被写体検出部123、フォーカスブラケット制御部124、合成部125が設けられている。以下、この詳細を説明する。
コントラスト評価値取得部(評価値取得手段)121は、画像のコントラスト情報に基づいて、焦点検出用の評価値(以下、コントラスト評価値と称す)を取得するための取得部である。具体的には、コントラスト評価値取得部121は、フォーカスレンズ103を駆動しながら画像データを所定の間隔で取得し、当該取得した画像に基づいて一画面中におけるコントラス評価値の推移に関する情報を取得する。
特徴検出部122は、取得した画像を複数のブロックに分割し、ブロックごとに顔や人物に関わる特徴量を抽出する。そして、特徴検出部122は、抽出した特徴量と予めメモリ108に格納されている顔、人体検出用の特徴量との差異が一定の閾値を超える領域を、人物が存在する領域として判定する。この判定を、分割したブロックのサイズ、配置、配置角度の組み合わせを様々に変更しながら繰り返せば、一画面に含まれる人物を検出することができる。
なお、特徴検出部122は、上述した人物検出以外にも、画像の色情報輝度情報や先に取得したコントラスト評価値などを用いて、人物以外の被写体を検出することもできる。また、特徴検出部122は、検出した被写体の動きベクトルを算出することにより、被写体の移動量や移動速度を算出することもできる。
被写体検出部123は、コントラスト評価値取得部121で取得したコントラスト評価値に基づいて、被写体までの距離(以下、被写体距離と称す)に関する情報を検出する距離検出手段である。この際、コントラスト評価値の他に、特徴検出部122で検出した被写体に関する情報を用いて、被写体距離に関する情報を検出するような構成であってもよい。
また、被写体検出部123は、先に算出した被写体距離に関する情報と特徴検出部122で検出した被写体に関する情報に基づいて、フォーカスブラケット撮影をおこなう領域(以下、被写体領域)を算出する。本実施形態では、この被写体領域の全領域に合焦した状態の画像を取得するために、当該被写体距離に合わせてフォーカスブラケット撮影をおこなう。
なお、本実施形態では、撮像素子106から被写体までの距離に関する情報を被写体距離とするが、これに限定されるものではない。例えば、撮像レンズ群101から被写体までの距離に関する情報を被写体距離とするような構成であってもよい。また、測距センサ用いた位相差方式など、上述した方法以外の公知の方法で被写体距離を検出するような構成であってもよい。
フォーカスブラケット制御部124は、取得する画像のデータ量とメモリ108の容量に基づいて、フォーカスブラケット撮影における、一度の連続した撮像で被写体を撮像する撮像回数を設定する。撮像回数の設定方法についての詳細は後述する。
また、フォーカスブラケット制御部124は、コントラスト評価値や被写体距離(または被写体領域)や撮像回数などの情報に基づいて、フォーカスブラケット撮影をおこなう際の撮影条件を設定する。撮影条件の設定方法についての詳細は後述する。
本実施形態では、設定した撮像回数と撮像条件に関する情報に基づき、フォーカスレンズ103や絞り105およびシャッタを駆動することで、複数の被写体に対して合焦した状態の画像をそれぞれ取得することができる。
合成部125は、取得した複数の画像を合成し、被写体領域の全領域に合焦した状態の画像データ(以下、全焦点画像と称す)を生成する合成手段である。具体的に、合成部125は、フォーカスブラケット処理によって取得した複数の画像をメモリ108から読み出す。次に、合成部125は、コントラスト評価値取得部121で取得した各画像のコントラスト評価値を比較し、各画像の画素単位で最も鮮明な画素部分を抽出する。そして、抽出した各画像の画素部分を合成することで全焦点画像を生成する。以上説明した、被写体距離の検出から全焦点画像の取得までの一連の処理を、本実施形態ではフォーカスブラケット処理と称す。以上が、カメラ100の基本的な構成である。
以下、上述したフォーカスブラケット処理の詳細について図2を参照して説明する。図2は、本発明を実施した撮像装置の第1実施形態であるカメラ100のフォーカスブラケット処理を説明するフローチャートである。なお、本実施形態では、ユーザがメニュー操作ボタン118を操作することによって、事前にフォーカスブラケットモードが設定されている場合について説明する。また、以下に説明する各ステップで取得する情報は、適宜、メモリ108への記録と、メモリ108からの読み出しがおこなわれるものとする。
ユーザによってレリーズスイッチ117がSW1状態にされると、フォーカスブラケット処理が開始され、CPU120は撮像素子106を用いてスルー画像を取得する。当該スルー画像は画像処理部107において上述した種々の処理を施した後にメモリ108に一時的に記録される。
また、画像処理部107は、当該スルー画像に基づいて測光演算をおこない、スルー画像の輝度値(輝度情報)を取得する。本実施形態では、取得したスルー画像(一画面分)を複数のブロックに分割し、これらのブロックごとに平均輝度値を算出する。そして、全ブロックの平均輝度値を積分して代表輝度値を算出し、当該代表輝度値を被写体の輝度値として以降の処理に用いる。なお、測光演算の方法としてはこれに限定されるものではなく、その他の公知の方法によって輝度値を算出するような構成であってもよい。
ステップS101でコントラスト評価値取得部121は、スルー画像に基づいて、一画面中のコントラスト評価値を取得する。また、特徴検出部122は、スルー画像に基づいて、一画面中に存在する被写体を検出する。
なお、人物のみをフォーカスブラケット撮影の撮像対象とするような場合は、特徴検出部122によって、一画面中の人物領域を特定し、当該人物領域に基づいてフォーカスブラケット撮影をおこなう。
次に、ステップS102で被写体検出部123は、先に取得したコントラスト評価値に基づいて被写体距離に関する情報を検出する。そして、ステップS103で被写体検出部123は、被写体距離に関する情報と特徴検出部122で検出した被写体に関する情報に基づいて被写体領域を設定する。
次に、ステップS104でフォーカスブラケット制御部(第1の設定手段)124は、取得する画像のデータ量とメモリ108の容量に関する情報に基づいて撮像回数を設定する。
ここで、撮像回数の設定方法について詳細を説明する。一般的に、取得する画像のデータ量(例えば、サイズや画質など)に応じて、メモリ(記憶手段)108のバッファメモリに一時的な記憶ができる画像の数には限度がある。例えば、本実施形態のバッファメモリであるメモリ108のRAMの容量が1メガバイト(1024バイト)であって、取得する画像1枚あたりのデータ量が約220キロバイトの場合を仮定する。この場合、フォーカスブラケット処理における一度の連続した撮像が可能な回数(以下、撮像可能回数と称す)は4回となる(RAMの容量を画像一つあたりデータ容量で割ると1024÷220≒4.65となるので)。
そこで、フォーカスブラケット(データ量検出手段)制御部124は、取得する画像のデータ量に関する情報と、メモリ108のRAMの容量を検出する。そして、フォーカスブラケット制御部(算出手段)124は、検出した取得する画像のデータ量に関する情報とメモリ108のRAMの容量に基づいて撮像可能回数を算出する。
本実施形態で、フォーカスブラケット制御部124は、当該撮像可能回数以下の回数を、フォーカスブラケット処理における一度の連続した撮像回数として設定する。なお、以下の説明では、撮像可能回数が4回であって、撮像回数を4回に設定する場合を想定する。
なお、画像のデータ量に関する情報は、取得する画像のサイズ(記録画素数)と画質に基づいてフォーカスブラケット制御部(算出部)124が検出する。たとえば、取得する画像の画質は、通常の画質(例示的にノーマル画質と称す)よりも高い画質(ファイン画質)が設定されている場合に、画像のデータ量が大きくなる。
また、取得する画像のサイズが、通常のサイズ(例示的にミドルサイズと称す)よりも大きいサイズ(例示的にラージサイズと称す)が設定されている場合に、画像のデータ量が大きくなる。
以上説明したように、本実施形態では、上述した画像の画質とサイズに基づいて画像のデータ量を検出する。なお、画像のデータ量に関する情報は、上述した画像のサイズや画質以外のパラメータに基づいて検出するような構成であってもよい。
また、本実施形態では、撮像可能回数をフォーカスブラケット処理における撮像回数として設定するような構成であるが、少なくとも、撮像可能回数以下の数を撮像回数として設定するような構成であればよい。
以下、図3を参照して、フォーカスブラケット撮影時の絞り値について説明する。図3は、本発明を実施した撮像装置の第1実施形態であるカメラ100のフォーカスブラケット処理における撮像回数と被写界深度の関係を例示的に説明する図である。なお、同一の絞り値であっても、被写体距離に応じて被写界深度は変化するため、図3の横軸は対数に換算した被写体距離を示している。
図3(a)は、撮像対象とする被写体として、画面中(画角内)に人物1、人物2、木が存在する場合の、コントラスト評価値と被写体距離との関係を例示的に説明した図である。それぞれの被写体距離は、人物1が約0.5mの位置、人物2が約3mの位置、木が約50mの位置に存在しており、被写体距離L1は、カメラ100から最も近い被写体である人物1の被写体距離を示している。また、L2は、カメラ100から最も遠い被写体である木の被写体距離を示している。
本実施形態では、人物1から木までの領域を、前述した被写体領域Dとして設定する。そして、被写体領域Dの全域に合焦するようにフォーカスレンズ103のレンズ位置を変更してフォーカスブラケット撮影をおこない、取得した画像を合成することで全焦点画像を生成する。
ここで、被写体領域Dに合わせてフォーカスブラケット撮影をおこなう場合は、先に設定されている撮像回数と被写体領域Dに基づいて、絞り値を設定する。以下、この詳細について図4を参照して説明する。図4は、被写界深度と画像の解像度との関係を例示的に説明した図であって、図4(a)は、小絞り側の絞り値としてF10を設定した場合を示している。また、図4(b)は、開放側の絞り値としてF3.5を設定した場合を示している。さらに、図4において、フォーカスレンズの焦点310と、撮像素子が位置する面311は、図4(a)と図4(b)でそれぞれ同じ位置に存在し、図4(a)、(b)の右図はそれぞれの絞り値で取得した画像を例示している。
一般的に、開放側の絞り値を設定して被写体を撮像した場合は、被写界深度が浅く解像度の高い画像が取得される。また、小絞り側の絞り値を設定して被写体を撮像した場合は、被写界深度が深く解像度が低い画像が取得される。
例えば、図4に図示するように、絞り値F10と絞り値F3.5のどちらも、錯乱円径(312a、312b)が撮像素子の許容錯乱円径313よりも小さいため、被写体に合焦した状態の画像317が取得できる。
また、図4(a)、(b)に図示するように、同一の被写体距離において、絞り値F10は絞り値F3.5より焦点深度が深くなる(316a>316b)。この焦点深度を被写体側に換算して置き換えたものが被写界深度となるので、同一の被写体距離において、絞り値F10は絞り値F3.5より被写界深度が深くなる。したがって、絞り値F10の場合は、絞り値F3.5の場合よりも、1度の撮像で広い範囲に合焦させることができる。
この場合、被写体側では1回の撮像で取得できる画像の被写界深度が深くなるので、同一の被写体領域に対してフォーカスブラケット撮影をおこなう場合に、絞り値F10の方が絞り値F3.5よりも、撮像回数を減らすことができる。
しかしながら、絞り値F10の場合は、絞り値F3.5の場合よりも、絞り105の絞り径が小さいので、光の回折現象の影響により、取得した画像の解像度が低くなってしまう(図4(a)、(b)の右図を参照)。この場合、取得した画像同士を合成して生成した全焦点画像の品質は低下してしまう。すなわち、同一の被写体領域に対してフォーカスブラケット撮影をおこなう場合に、絞り値F3.5の方が絞り値F10よりも、品質の高い画像を取得することができる。
例えば、比較的開放側の絞り値かつ少ない撮像回数が設定されている場合、被写体領域の大きさによっては、設定された撮像回数で被写体領域の全域に合焦した状態の画像を取得できない場合がある。この場合、被写体領域の全域に合焦させた状態の全焦点画像を生成することができない。
そこで、本実施形態では、撮像対象とする被写体の被写体距離に関する情報と撮像回数に応じて絞り値を設定することで、限られた撮像回数であっても、取得する画像の品質が低下することを抑制しつつ、複数の被写体に対して合焦した状態の画像を取得する。
図2に戻り、ステップS105でフォーカスブラケット制御部(第2の設定手段)124は、先に設定された撮像回数に基づいて、フォーカスブラケット処理における絞り値Fを算出する。まず、先に求めた撮像枚数をn、被写体領域をDとすると、被写界深度Kは式(1)を用いて、
を満たす条件であればよい。
被写界深度Kは、前方被写界深度をKf、後方被写界深度をKrとして式(2)を用いて、
K=Kf+Kr ・・・(2)
を満たせばよい。前方被写界深度Kf、後方被写界深度Krは、許容錯乱円をδ、被写体距離をL、フォーカスレンズ103の焦点距離をfとすると、式(3)〜(4)を用いて、
として算出できる。そして、式(2)に式(3)及び式(4)を代入して、絞り値Fを算出する。
なお、同一の絞り値の場合、カメラ100から近いほど被写界深度は浅くなるので、式(3)〜(4)で用いる被写体距離Lは、カメラ100から最も近い被写体に対応したものを用いる。本実施形態では、図3(a)に図示する人物1に対応した被写体距離L1を用いる。この構成によって、設定された撮像回数と被写体領域Dに基づいて設定できる、最も小さい絞り値を算出することができる。
例えば、被写体距離や被写体領域、輝度値が同一の条件下であって、撮像回数が多い方から順に20回(第2の回数)、10回(第1の回数)、5回(第3の回数)に、それぞれ設定した場合を想定する。この場合、上述した式(1)〜(4)によれば、撮像回数が10回(第1の回数)の場合は、撮像回数が20回(第2の回数)の場合に設定される絞り値よりも小絞り側の絞り値が設定される。また、撮像回数が10回(第1の回数)の場合は、撮像回数が5回(第3の回数)の場合よりも開放側の絞り値を設定する。
次にステップS106でフォーカスブラケット制御部124は、先に算出した撮像回数と被写体領域Dに関する情報に基づいて、フォーカスブラケット処理におけるフォーカスレンズ103のレンズ位置(以下、フォーカス位置と称す)Pnを設定する。
本実施形態では、先に設定された撮像回数に応じて設定できる最も小さい絞り値が設定されるため、当該絞り値と被写体距離とに応じた被写界深度の深さに基づいてフォーカス位置Pnの位置を決定することができる。
具体的にフォーカスブラケット制御部124は、先に算出された絞り値と撮像回数に基づき、取得した複数の画像の被写界深度の範囲で被写体領域Dの全域をカバーできるような位置をフォーカス位置Pnとして設定する。すなわち、複数の画像の少なくとも一つの被写界深度内に被写体が含まれるようにフォーカス位置Pnを設定する。
例えば、図3(b)に図示するように、4回の撮像をおこなうフォーカスブラケット処理では、設定された絞り値で4回の撮像をおこなう際の被写界深度の何れかに、人物1、人物2、木が含まれるようにフォーカス位置P1〜P4を設定する。図3(b)は、図3(a)の被写体領域Dに対応したフォーカス位置Pnを例示的に説明する図である。
図2に戻り、ステップS107でCPU120は、先に算出した絞り値Fに基づいて、絞り駆動部112を介して絞り105を駆動する。そして、ステップS108でCPU120は、レリーズスイッチ117がSW2状態にされたか否かを判定する。ステップS117の処理は、レリーズスイッチ117がSW2状態となるまで繰り返される。
次に、ステップS109でフォーカスブラケット制御部124は、先に設定されたフォーカス位置に基づいて、順次被写体を撮像し、取得した画像をメモリ108にそれぞれ記録する。
次に、ステップS110で合成部(合成手段)125は、メモリ108から先に取得した複数の画像を読み出し、当該複数の画像の画素単位で最も鮮明な画素部分を抽出する。そして、合成部125は、抽出した各画像の画素部分を合成することで、複数枚の画像データから複数の被写体に合焦した状態の全焦点画像を生成し、メモリ108に当該全焦点画像を記録し、フォーカスブラケット処理を終了する。なお、生成した全焦点画像は、表示部109にレビュー表示するような構成でもよい。
以上説明したように、本実施形態のカメラ100は、被写体距離と撮像回数に基づいてフォーカスブラケット処理で用いる絞り値を設定するため、設定した撮像回数で、被写体領域に含まれる被写体に合焦した状態の画像を取得することができる。
この際、取得する画像のデータ量とメモリ108の容量とに応じて撮像回数として設定するため、一度の連続した撮像で設定できる絞り値のうち、できるだけ小さな絞り値を設定することができる。本実施形態のカメラ100は、この構成によって、一度の連続した撮像によって、品質の低下を抑制しつつ、被写体領域の全域に合焦した全焦点画像を生成することができる複数の画像を取得することができる。したがって、本実施形態のカメラ100は、限られた撮像回数であっても、複数の被写体に対して合焦した状態の画像を取得することができる。
なお、本実施形態において、フォーカスブラケット処理の撮像可能回数は、取得する画像のデータ量とメモリ108の容量とに基づいて設定するような構成であるが、これに限定されるものではない。例えば、設定されている動作モードに基づいて撮像可能回数を設定するような構成であってもよい。この場合、カメラ100の動作モードが省電力モードである場合は、カメラ100の動作モードが通常モードである場合よりも撮像可能回数が少なくなる。
また、本実施形態では、カメラ100に設けられた合成部125によって全焦点画像を取得するような構成であるが、これ限定されるものではない。例えば、カメラ100で、全焦点画像を生成するための複数の画像を取得し、当該複数の画像の合成をカメラ100の外部に設けられた装置(不図示)で実行するような構成であってもよい。
また、本実施形態では全焦点画像を生成するためにフォーカスブラケット撮影をおこなう場合について説明したが、これに限定されるものではない。例えば、全焦点画像を生成することを目的とせずにフォーカスブラケット撮影をおこなうような構成であってもよい。
また、本実施形態では、フォーカスブラケット処理に用いる絞り値を、前述した式(1)〜(4)に基づいて算出するような構成であったが、これに限定されるものではない。例えば、撮像可能回数と被写体距離領域に基づいて絞り値を算出できるテーブルデータをメモリ108に予め格納しておき、当該テーブルデータに基づいて絞り値を算出するような構成であってもよい。この他、撮像回数と被写体距離に関する情報に基づいて、被写体領域の全域で合焦した状態の全焦点画像を生成することができる絞り値の算出方法であれば、どの様な方法で絞り値を算出してもよい。
(第2実施形態)
前述した実施形態では、被写体距離に基づいて被写体領域を算出し、当該被写体領域の全域に合焦した状態の複数の画像を取得する場合について説明した。本実施形態では、撮像する被写体間の距離が離れている場合に、被写体が存在する領域を撮像する際と被写体が存在しない領域を撮像する際の絞り値をそれぞれ変更するデジタルカメラ(以下、単にカメラと称す)100について図5〜7を参照して説明する。
なお、カメラ100の構成について、前述した第1実施形態と同様のものは説明を省略し、前述した第1実施形態と異なる構成についてのみ説明する。また、メモリ108に後述する図6に示すフローと同様の動作を指示するためのプログラムが予め格納されているものとする。
本実施形態のコントラスト評価値取得部121は、一画面中におけるコントラス評価値の推移に関する情報を取得した後に、当該コントラス評価値が予め設定されておる所定の閾値よりも大きいか否かを判定する。
そして、被写体検出部123は、一画面中において、コントラスト評価値が閾値よりも大きいと判定された位置に被写体が存在すると判定する。その後、被写体検出部(距離検出手段)123は、検出した被写体に基づく被写体距離に関する情報を検出する。なお、特徴検出部122によって被写体の特徴を検出し、当該検出結果に基づいて、撮像する被写体を検出するような構成であってもよい。
図5は、本発明を実施した撮像装置の第2実施形態であるカメラ100のフォーカスブラケット処理で撮像する被写体と撮影条件との関係を例示的に説明する図であって、カメラ100から遠ざかる方向に人物1、2が順に存在する場合を説明している。図5において、被写体距離L3は人物3に対応する被写体距離であって、被写体距離L4は人物4に対応する被写体距離を示している。以降の説明では、検出された撮像可能回数が3回であって、人物3と人物4との被写体間の距離は十分に距離が離れている場合を想定する。
図5に図示するように、人物3と人物4との距離が十分に離れて位置している場合、人物3から人物4までの領域を同じ絞り値で撮像すると、被写体が存在しない領域に対して無駄な撮像が行われてしまう。特に、検出した被写体の数が多い、または撮像可能回数が少ない場合は、できるだけ無駄な撮像が行われることを抑制して、被写体に合焦した画像を取得することが望ましい。
そこで、本実施形態では、一画面中に複数の被写体が存在する場合であって被写体間の距離が十分に離れている場合は、被写体が存在しない領域の絞り値を、被写体が存在する領域の絞り値よりも小絞り側に設定する。
例えば、図5に図示するように、人物3と人物4との間であって、被写体が存在しない領域を撮像する際の絞り値は、人物3および人物4を撮像する歳の絞り値よりも小絞り側のものを設定する。この構成によって、前述した第1実施形態よりも撮像回数を抑制することができる。以下この詳細について図6を参照して説明する。
図6は、本発明を実施した撮像装置の第2実施形態であるカメラ100のフォーカスブラケット処理を説明するフローチャートである。なお、本実施形態では、ユーザがメニュー操作ボタン118を操作することによって、事前にフォーカスブラケットモードが設定されている場合について説明する。また、以下に説明する各ステップで取得する情報は、適宜、メモリ108への記録と、メモリ108からの読み出しがおこなわれるものとする。
ユーザによってレリーズスイッチ117がSW1状態にされると、フォーカスブラケット処理が開始され、CPU120は撮像素子106を用いてスルー画像の取得と記録をおこない、画像処理部107は当該スルー画像の輝度値(輝度情報)を取得する。
ステップS201でコントラスト評価値取得部(評価値取得手段)121は、スルー画像に基づいて、一画面中のコントラスト評価値を取得する。また、特徴検出部122は、スルー画像に基づいて、一画面中に存在する被写体を検出する。
次に、ステップS202で被写体検出部(距離情報検出手段)123は、先に取得したコントラスト評価値と特徴検出部122からの検出結果に応じて被写体距離に関する情報を検出する。
次に、ステップS203でフォーカスブラケット制御部(算出手段)124は、取得する画像のデータ量と、メモリ108の容量に関する情報に基づいて撮像可能回数Nmaxを算出する。撮像可能回数Nmaxの検出方法は前述した第1実施形態と同様なので説明は省略する。
次に、ステップS204で被写体検出部123は、取得したコントラスト評価値が、予め設定された閾値よりも大きくなる位置に撮像する被写体が存在すると判定する。そして、当該判定に基づいて、被写体検出部(被写体検出手段)123は、一画面中に存在する被写体数Mを検出する。
以下、ステップS203で撮像可能数Nmaxが3回、ステップS204で被写体数Mが2つと検出された場合について、この詳細を説明する。前述したように、本実施形態では、無駄な撮像を抑制するために、一画面中で被写体が存在すると判定された領域と被写体が存在しないと判定された領域とで、フォーカスブラケット撮影時の絞り値を変更する。
この際、被写体が存在しない被写体間の領域は、無駄な撮像を抑制するために、一度の撮像で当該領域の全域に対して合焦した状態の画像を取得することが望ましい。すなわち、被写体が存在する領域(第1の領域)と、被写体間の領域(第2の領域)に対して、それぞれ1回ずつ撮像をおこなうようなフォーカスブラケット撮影が望ましい。
しかしながら、撮像可能回数Nmaxが少ない、または被写体数Mが多い場合は、上述したような回数でフォーカスブラケット撮影ができない場合がある。そこで、本実施形態では、撮像可能回数Nmaxと被写体数Mとに基づいて、第1の領域と第2の領域に対して、それぞれ1回ずつ撮像をおこなうことができるか否かをステップS205〜S206で判定する。
図6に戻り、ステップS205でフォーカスブラケット制御部124は、先に取得した撮像可能回数Nmaxが被写体数Mよりも少ないか否かを判定する。
撮像可能回数Nmaxが被写体数M以上の数である(ステップS205でYES)と判定された場合はステップS206に進む。そして、ステップS206でフォーカスブラケット制御部124は、撮像可能数Nmaxが、被写体数Mを2倍した数から1を減算した数(2M−1の数)以上であるか否かを判定する。
撮像可能数Nmaxが2M−1の数以上である(ステップS206でYES)と判定された場合は、第1の領域と第2の領域に対してそれぞれ1回ずつ撮像をおこなうことが可能な撮像回数を設定できる。この場合は、撮像回数を2M−1以下に仮決定しステップS207に進む。
次に、ステップS207でフォーカスブラケット制御部(第2の設定手段)124は、第1の領域を撮像する際の絞り値(第1の絞り値)Faを設定する。この際、第1の絞り値Faは、設定可能な絞り値の中で、最も開放側の絞り値を設定する。
次に、ステップS208でフォーカスブラケット制御部124は、撮像対象とする被写体が存在する領域において、先に設定した第1の絞り値Faで検出した被写体を撮像した場合の被写界深度に含まれない領域を判定する。なお、撮像対象とする被写体が存在する領域とは、検出した被写体の内、カメラ100に対して最も至近側に存在する被写体と最も無限遠側に存在する被写体との間の領域である。そして、ステップS209でフォーカスブラケット制御部124は、第2の領域を撮像する際の絞り値(第2の絞り値)Fbを設定する。
前述したように、本実施形態では、第2の領域に撮像対象とする被写体が存在しないため、取得する画像の解像度が低下しても影響は小さい。すなわち、第2の領域を撮像する場合は、小絞り側の絞り値を設定して被写体を撮像しても影響が小さい。そこで、第2の絞り値Fbとしては、少なくとも、第1の絞り値Faで被写体を撮像した際に、当該第1の絞り値Faに対応した被写界深度に含まれない範囲をカバーするように設定すればよい。
したがって、少なくとも2M−1回の撮像回数が確保されている状況でha、第1の絞り値Faとしてできるだけ開放側の絞り値を設定し、第1の絞り値Faで被写体を撮像した際に被写界深度に含まれない領域をカバーするように第2の絞り値Fbを設定する。
この際、第1の絞り値Faで被写体を撮像した際に当該第1の絞り値Faに対応した被写界深度に第2の領域が含まれるような場合は、当該第2の領域に対して新たに撮像を行う必要はない。したがって、本実施形態では、第1の絞り値Faで被写体を撮像した際の被写界深度に含まれない第2の領域に対してのみ、第2の絞り値Fbで新たに撮像をおこなう。
ステップS210でフォーカスブラケット制御部(第1の設定手段)124は、撮像対象とする被写体と、ステップS208で判定された第2の領域に合わせて撮像回数を設定する。前述したように、2M−1回以下の撮像回数が設定される。
次にステップS211でフォーカスブラケット制御部124は、先に算出した撮像回数、被写体数M、第1の絞り値Faと第2の絞り値Fbなどに関する情報に基づいて、フォーカス位置Pnを設定する。なお、フォーカス位置Pnの設定方法は、カメラ100からの距離と第1の絞り値Faおよび第2の絞り値Fbに応じた被写界深度の深さに基づいてフォーカス位置Pnの位置を設定することができる。
次に、撮像可能数Nmaxが2M−1の数よりも少ない(ステップS206でNO)と判定された場合は、ステップS212でフォーカスブラケット(第1の設定手段)制御部124は、撮像回数を被写体数Mと同じ回数(M回)に設定する。
ステップS212に進む場合は、被写体数Mが撮像可能回数Nmaxよりも少ないため、第1の領域に合わせて撮像することができる。しかし、撮像可能数Nmaxが2M−1の数よりも少ないため、第2の領域に対して撮像をおこなうことができない。
そこで、ステップS213でフォーカスブラケット制御部(第2の設定手段)124は、第1の領域に合わせて撮像をおこない、その際の絞り値(第3の絞り値)Fcは前述した第1の絞り値Faよりも小絞り側の絞り値を設定する。なお、第3の絞り値Fcの設定方法は、前述した第1実施形態の式(1)〜(4)を用いて算出する。ステップS214の処理は、前述した第1実施形態のステップS106と同様なので説明は省略する。
次に、撮像可能回数Nmaxが被写体数Mよりも少ない(ステップS205でNO)と判定された場合は、ステップS215でフォーカスブラケット制御部(第1の設定手段)124は、撮像回数を撮像可能回数Nmaxと同じ回数(Nmax回)に設定する。
ステップS215に進む場合は、被写体数Mが撮像可能回数以上の場合である。したがって、ステップS216でフォーカスブラケット制御部(第2の設定手段)124は、Nmax回の撮像で、検出した被写体に合焦するような第4の絞り値Fdを設定する。なお、第4の絞り値Fdは、前述した第1実施形態の式(1)〜(4)を用いて算出する。また、第4の絞り値は、第1の絞り値Faと第3の絞り値Fcよりも小絞り側の絞り値を設定する。ステップS217の処理は、前述した第1実施形態のステップS106と同様なので説明は省略する。
次に、ステップS218でCPU120は、ステップS205とステップS206の判定の結果と、先に算出した絞り値Fa〜Fbに基づいて、絞り駆動部112を介して絞り105を駆動する。以降のステップS219〜S221の処理は、前述した第1実施形態のステップS108〜S110と同様の処理なので説明は省略する。
なお、撮像回数が2M−1回に設定されている場合は、ステップS218で第1の絞り値Faとなるように絞り105を駆動する。その後、設定されたフォーカス位置に合わせて適宜絞り105を駆動しつつ、順番に被写体を撮像する。この構成によって、第1の領域と第2の領域とで絞り値を変更してフォーカスブラケット撮影をおこなうことができる。以上が、本実施形態のフォーカスブラケット処理の説明である。
以上説明したように、本実施形態のカメラ100は、一画面中で被写体が存在すると判定された領域と被写体が存在しないと判定された領域とで、フォーカスブラケット撮影時の絞り値を変更する。すなわち、被写体が存在する領域と被写体が存在しない被写体間の領域に対して、それぞれ1回ずつ撮像をおこなう。
また、被写体が存在する領域と被写体が存在しない被写体間の領域に対してそれぞれ1回ずつ撮像をおこなうことができない場合であっても、被写体数が撮像可能回数よりも少ない場合は、被写体数を撮像回数として設定する。
さらに、被写体が存在する領域と被写体が存在しない被写体間の領域に対してそれぞれ1回ずつ撮像をおこなうことができない場合であって、被写体数が撮像可能回数以上の場合は、撮像可能回数を撮像回数として設定する。
本実施形態のカメラ100は、以上説明したような構成によって、無駄な撮像が行われることを抑制してフォーカスブラケット撮影をおこなうことができるため、被写体に合焦した画像を取得することができる。したがって、本実施形態のカメラ100は、限られた撮像回数であっても、複数の被写体に対して合焦した状態の画像を取得することができる。
なお、本実施形態では、図5に図示するように被写体間の領域を撮像するような構成であったが、これに限定されるものではない。例えば、図7に図示する変形例ように、検出した被写体が存在する領域以外を撮像しないような構成であってもよい。図7は、本発明を実施した撮像装置の第2実施形態であるカメラ100のフォーカスブラケット処理における撮像をおこなう位置の変形例を説明する図である。
この構成であれば、被写体を撮像する回数を更に少なくすることができるので、フォーカスブラケット撮影をおこなう際に更に開放側の絞り値を設定することができる。したがって、被写体が存在する領域の解像度を更に向上させた全焦点画像を生成することができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、前述した実施形態では、カメラ100が自動的に撮像回数を設定するような構成であったが、メニュー操作ボタン118を用いてユーザが事前に設定するような構成であってもよい。
この際、ユーザによって設定された撮像回数が撮像可能回数よりも多い場合は、撮像可能回数で撮像をおこない、その際の絞り値は、撮像する領域をカバーできるような小絞り側の絞り値を設定する。すなわち、ユーザによって設定された撮像回数が撮像可能回数よりも多い場合は、当該撮像回数が撮像可能回数よりも少ない場合よりも小絞り側の絞り値を設定する。
なお、前述した実施形態では、カメラ100の内部に設けられた制御部や処理部などが互いに連携して動作することによって、カメラ100の動作を制御するような構成であるが、これに限定されるものではない。前述した図2や図6のフローに従ったプログラムを予めメモリ108に格納しておき、当該プログラムをCPU120が実行することで、カメラ100の動作を制御するような構成であってもよい。
また、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。また、プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記録媒体でもあってもよい。
なお、前述した実施形態では、本発明を実施する撮像装置の一例としてデジタルカメラを採用した場合について説明したが、これに限定されるものではない。例えば、デジタルビデオカメラやスマートフォンなどの可搬型デバイスなど、本発明はその要旨の範囲内で種々の撮像装置に適用することができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記録媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。